From c8f063f89843fd9981d33de2ccd73d37d4534699 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Tue, 22 Mar 2022 15:05:06 -0600 Subject: [PATCH 001/143] Added initial ByteRangeProvider functionality. --- ApacheOrcDotNet.sln | 7 ++++ .../ApacheOrcDotNet.OptimizedReader.csproj | 7 ++++ .../ByteRangeProviderFactory.cs | 14 +++++++ .../FileByteRangeProvider.cs | 37 +++++++++++++++++++ .../IByteRangeProvider.cs | 9 +++++ .../IByteRangeProviderFactory.cs | 8 ++++ 6 files changed, 82 insertions(+) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs diff --git a/ApacheOrcDotNet.sln b/ApacheOrcDotNet.sln index e40d6fc..3b66605 100644 --- a/ApacheOrcDotNet.sln +++ b/ApacheOrcDotNet.sln @@ -29,6 +29,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.WriterTest. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.ReaderTest.App", "src\ApacheOrcDotNet.ReaderTest.App\ApacheOrcDotNet.ReaderTest.App.csproj", "{F3C9D56A-913A-453D-9C42-B9F467748413}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApacheOrcDotNet.OptimizedReader", "src\ApacheOrcDotNet.OptimizedReader\ApacheOrcDotNet.OptimizedReader.csproj", "{6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -51,6 +53,10 @@ Global {F3C9D56A-913A-453D-9C42-B9F467748413}.Debug|Any CPU.Build.0 = Debug|Any CPU {F3C9D56A-913A-453D-9C42-B9F467748413}.Release|Any CPU.ActiveCfg = Release|Any CPU {F3C9D56A-913A-453D-9C42-B9F467748413}.Release|Any CPU.Build.0 = Release|Any CPU + {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -60,6 +66,7 @@ Global {D43761A7-6270-4C43-A2CE-2C244117F30A} = {40D373E1-A120-41E0-9D3D-1BACC719BB38} {8FC4EFCA-35E9-4965-A2F8-52974F29E4DA} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {F3C9D56A-913A-453D-9C42-B9F467748413} = {58463841-CD45-4229-9E70-A0B74E70ADD7} + {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD} = {58463841-CD45-4229-9E70-A0B74E70ADD7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BAAC5D9A-83A0-432F-9987-90C49734F761} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj new file mode 100644 index 0000000..f208d30 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj @@ -0,0 +1,7 @@ + + + + net5.0 + + + diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs new file mode 100644 index 0000000..1d64bbf --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs @@ -0,0 +1,14 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public sealed class FileByteRangeProviderFactory : IByteRangeProviderFactory + { + public string Prefix => "file://"; + + public IByteRangeProvider Create(string location) + { + return new FileByteRangeProvider(location[Prefix.Length..]); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs new file mode 100644 index 0000000..4c09740 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public sealed class FileByteRangeProvider : IByteRangeProvider + { + readonly FileStream _stream; + + internal FileByteRangeProvider(string path) + { + _stream = File.OpenRead(path); + } + + public void Dispose() + { + _stream.Dispose(); + } + + public void GetRange(Span buffer, int position) + { + _stream.Seek(position, SeekOrigin.Begin); + int start = 0; + int remaining = buffer.Length; + while (remaining > 0) + { + int count = _stream.Read(buffer[start..]); + start += count; + remaining -= count; + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs new file mode 100644 index 0000000..2f15165 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs @@ -0,0 +1,9 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public interface IByteRangeProvider : IDisposable + { + void GetRange(Span buffer, int position); + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs new file mode 100644 index 0000000..55463d1 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs @@ -0,0 +1,8 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public interface IByteRangeProviderFactory + { + string Prefix { get; } + IByteRangeProvider Create(string location); + } +} From d9ae6105600cb297fba93e0743c973caba663fed Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Tue, 22 Mar 2022 17:46:07 -0600 Subject: [PATCH 002/143] Adjust our target to .net 5. --- src/ApacheOrcDotNet/ApacheOrcDotNet.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj index e53e1f8..61e429e 100644 --- a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj +++ b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj @@ -1,7 +1,7 @@  - netstandard2.0 + net5.0 From 97a5b9a039eb87ab6a45b8a5a9282ea69734295e Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Tue, 22 Mar 2022 17:48:19 -0600 Subject: [PATCH 003/143] Added infrastructure for a Span-based file-tail reader. --- .../ApacheOrcDotNet.OptimizedReader.csproj | 4 ++ .../FileByteRangeProvider.cs | 11 +++ .../IByteRangeProvider.cs | 1 + .../OrcReader.cs | 60 ++++++++++++++++ .../OrcReaderResultSet.cs | 16 +++++ .../SpanFileTail.cs | 68 +++++++++++++++++++ src/ApacheOrcDotNet/ApacheOrcDotNet.csproj | 1 + .../Compression/OrcCompressedBlock.cs | 62 +++++++++++++++++ 8 files changed, 223 insertions(+) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs create mode 100644 src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj index f208d30..b756cef 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj +++ b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj @@ -4,4 +4,8 @@ net5.0 + + + + diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs index 4c09740..8cc58bb 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs @@ -24,6 +24,17 @@ public void Dispose() public void GetRange(Span buffer, int position) { _stream.Seek(position, SeekOrigin.Begin); + DoRead(buffer); + } + + public void GetRangeFromEnd(Span buffer, int positionFromEnd) + { + _stream.Seek(positionFromEnd, SeekOrigin.End); + DoRead(buffer); + } + + private void DoRead(Span buffer) + { int start = 0; int remaining = buffer.Length; while (remaining > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs index 2f15165..d46205c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs @@ -5,5 +5,6 @@ namespace ApacheOrcDotNet.OptimizedReader public interface IByteRangeProvider : IDisposable { void GetRange(Span buffer, int position); + void GetRangeFromEnd(Span buffer, int positionFromEnd); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs new file mode 100644 index 0000000..250e517 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -0,0 +1,60 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class ColumnDescriptor + { + public string ColumnName { get; set; } + public string Min { get; set; } + public string Max { get; set; } + } + + public class OrcReaderConfiguration + { + public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; + } + + public sealed class OrcReader + { + readonly OrcReaderConfiguration _configuration; + readonly IByteRangeProvider _byteRangeProvider; + SpanFileTail _fileTail = null; + + public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + { + _configuration = configuration; + _byteRangeProvider = byteRangeProvider; + } + + public IEnumerable> Search(params ColumnDescriptor[] columns) where T : struct + { + throw new NotImplementedException(); + } + + void EnsureFileTailRead() + { + if (_fileTail != null) + return; + + int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; + while (true) + { + var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); + _byteRangeProvider.GetRangeFromEnd(buffer, lengthToReadFromEnd); + var success = SpanFileTail.TryRead(buffer, out _fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(buffer); + + if (success) + break; + + lengthToReadFromEnd += additionalBytesRequired; + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs new file mode 100644 index 0000000..9280672 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public sealed class OrcReaderResultSet where T : struct + { + public bool CopyTo(Span destination) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs new file mode 100644 index 0000000..791c283 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs @@ -0,0 +1,68 @@ +using ApacheOrcDotNet.Compression; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public sealed class SpanFileTail + { + public Protocol.PostScript PostScript { get; private init; } + public Protocol.Footer Footer { get; private init; } + + public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, out int additionalBytesRequired) + { + int accumulatedLength = 1; + + if (buffer.Length < accumulatedLength) + { + additionalBytesRequired = accumulatedLength - buffer.Length; + fileTail = null; + return false; + } + + byte postScriptLength = buffer[^1]; //Last byte + accumulatedLength += postScriptLength; + if (buffer.Length < accumulatedLength) + { + additionalBytesRequired = accumulatedLength - buffer.Length; + fileTail = null; + return false; + } + + int postScriptStart = buffer.Length - accumulatedLength; + var postScript = Serializer.Deserialize(buffer.Slice(postScriptStart, postScriptLength)); + if (postScript.Magic != "ORC") + throw new InvalidDataException("Postscript didn't contain magic bytes"); + + accumulatedLength += (int)postScript.FooterLength; + if (buffer.Length < accumulatedLength) + { + additionalBytesRequired = accumulatedLength - buffer.Length; + fileTail = null; + return false; + } + + int footerStart = buffer.Length - accumulatedLength; + int decompressedBufferLength = OrcCompressedBlock.PeekLength(postScript.Compression, buffer[footerStart..]); + var compressedFooter = buffer.Slice(footerStart, (int)postScript.FooterLength); + var decompressedFooter = ArrayPool.Shared.Rent(decompressedBufferLength); + OrcCompressedBlock.DecompressBlock(postScript.Compression, compressedFooter, decompressedFooter); + var footer = Serializer.Deserialize(decompressedFooter.AsSpan()[..decompressedBufferLength]); + ArrayPool.Shared.Return(decompressedFooter); + + fileTail = new SpanFileTail + { + PostScript = postScript, + Footer = footer + }; + additionalBytesRequired = 0; + return true; + } + } +} diff --git a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj index 61e429e..c4d11ae 100644 --- a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj +++ b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj @@ -2,6 +2,7 @@ net5.0 + true diff --git a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs new file mode 100644 index 0000000..f6228eb --- /dev/null +++ b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs @@ -0,0 +1,62 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Text; + +namespace ApacheOrcDotNet.Compression +{ + public static class OrcCompressedBlock + { + public static int PeekLength(CompressionKind compressionKind, ReadOnlySpan input) + { + if (compressionKind == CompressionKind.None) + return input.Length; + + ReadBlockHeader(input, out var blockLength, out _); + return blockLength; + } + + private static void ReadBlockHeader(ReadOnlySpan input, out int blockLength, out bool isCompressed) + { + if (input.Length < 3) + throw new InvalidDataException("Compression block header requires three bytes"); + + var rawValue = input[0] | input[1] << 8 | input[2] << 16; + blockLength = rawValue >> 1; + isCompressed = (rawValue & 1) == 0; + } + + public unsafe static int DecompressBlock(CompressionKind compressionKind, ReadOnlySpan input, Span output) + { + if (compressionKind == CompressionKind.None) + { + input.CopyTo(output); + return input.Length; + } + + ReadBlockHeader(input, out var blockLength, out var isCompressed); + if (!isCompressed) + { + input.Slice(3, blockLength).CopyTo(output); + return blockLength; + } + + if (compressionKind != CompressionKind.Zlib) + throw new NotSupportedException("Only Zlib compression is currently supported"); + + //.Net 5 only provides a stream-based ZLib inflator. .Net 7 will likely introduce low-level calls to make this more optimized + //https://github.com/dotnet/runtime/issues/62113 + fixed (byte* pBuffer = &input[0]) + { + using var stream = new UnmanagedMemoryStream(pBuffer, input.Length); + using var deflateStream = new DeflateStream(stream, CompressionMode.Decompress); + deflateStream.Read(output.Slice(blockLength)); + } + + return blockLength; + } + } +} From 2fab36faf0139101543a2bbe9a25a2d2a299f260 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sat, 26 Mar 2022 04:17:40 -0600 Subject: [PATCH 004/143] Corrected class to interface. --- src/ApacheOrcDotNet/Statistics/IBooleanStatistics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ApacheOrcDotNet/Statistics/IBooleanStatistics.cs b/src/ApacheOrcDotNet/Statistics/IBooleanStatistics.cs index 3da48c4..d2b9705 100644 --- a/src/ApacheOrcDotNet/Statistics/IBooleanStatistics.cs +++ b/src/ApacheOrcDotNet/Statistics/IBooleanStatistics.cs @@ -5,7 +5,7 @@ namespace ApacheOrcDotNet.Statistics { - public class IBooleanStatistics + public interface IBooleanStatistics { ulong FalseCount { get; } ulong TrueCount { get; } From 45b6d16b74560d0717a91d4eb67198ffc6afa647 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sat, 26 Mar 2022 04:18:11 -0600 Subject: [PATCH 005/143] Added a statistics comparison for various data types. --- .../StatsExtensions.cs | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs new file mode 100644 index 0000000..ff99218 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -0,0 +1,65 @@ +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public static class StatsExtensions + { + public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) + { + switch (columnType) + { + case ColumnTypeKind.Boolean: + { + if (min != max) + return true; + if (min == "false" && stats.BooleanStatistics.FalseCount > 0) + return true; + if (min == "true" && stats.BooleanStatistics.TrueCount > 0) + return true; + return false; + } + case ColumnTypeKind.Byte: + case ColumnTypeKind.Short: + case ColumnTypeKind.Int: + case ColumnTypeKind.Long: + { + var minVal = long.Parse(min); + var maxVal = long.Parse(max); + return minVal <= stats.IntStatistics.Maximum && maxVal >= stats.IntStatistics.Minimum; + } + case ColumnTypeKind.Float: + case ColumnTypeKind.Double: + { + var minVal = double.Parse(min); + var maxVal = double.Parse(max); + return minVal <= stats.DoubleStatistics.Maximum && maxVal >= stats.DoubleStatistics.Minimum; + } + case ColumnTypeKind.String: + case ColumnTypeKind.Varchar: + case ColumnTypeKind.Char: + { + return min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; + } + case ColumnTypeKind.Decimal: + { + var minVal = decimal.Parse(min); + var maxVal = decimal.Parse(max); + //TODO it would be better to do a numeric string comparison in the future + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMinVal)) + throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) + throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); + return minVal <= statsMinVal && maxVal >= statsMaxVal; + } + default: + throw new NotImplementedException($"Range check for {columnType} not implemented"); + } + } + } +} From 3e64abaa03f01b622204c21e152a46f117cd1adb Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sat, 26 Mar 2022 04:18:39 -0600 Subject: [PATCH 006/143] Initial work on index search. --- .../OrcReader.cs | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 250e517..9289a38 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -1,4 +1,5 @@ using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; using System; using System.Buffers; using System.Collections.Generic; @@ -24,12 +25,15 @@ public sealed class OrcReader { readonly OrcReaderConfiguration _configuration; readonly IByteRangeProvider _byteRangeProvider; - SpanFileTail _fileTail = null; + readonly SpanFileTail _fileTail; + readonly Dictionary _stripeIndices = new(); public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { _configuration = configuration; _byteRangeProvider = byteRangeProvider; + + _fileTail = ReadFileTail(); } public IEnumerable> Search(params ColumnDescriptor[] columns) where T : struct @@ -37,24 +41,53 @@ public IEnumerable> Search(params ColumnDescriptor[] co throw new NotImplementedException(); } - void EnsureFileTailRead() + bool FileContainsData(params ColumnDescriptor[] columns) { - if (_fileTail != null) - return; + foreach (var descriptor in columns) + { + var (columnId, columnType) = LookUpColumn(descriptor); + var stats = _fileTail.Footer.Statistics[columnId]; + if (!stats.InRange(columnType, descriptor.Min, descriptor.Max)) + return false; + } + return true; + } + + (int columnId, ColumnTypeKind columnType) LookUpColumn(ColumnDescriptor descriptor) + { + var columnId = _fileTail.Footer.Types[0].FieldNames.FindIndex(fn => fn.ToLower() == descriptor.ColumnName.ToLower()) + 1; + if (columnId == -1) + throw new KeyNotFoundException($"'{descriptor.ColumnName}' not found in ORC data"); + var columnType = _fileTail.Footer.Types[columnId].Kind; + return (columnId, columnType); + } + + SpanFileTail ReadFileTail() + { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; while (true) { var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); _byteRangeProvider.GetRangeFromEnd(buffer, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(buffer, out _fileTail, out var additionalBytesRequired); + var success = SpanFileTail.TryRead(buffer, out var fileTail, out var additionalBytesRequired); ArrayPool.Shared.Return(buffer); if (success) - break; + return fileTail; lengthToReadFromEnd += additionalBytesRequired; } } + + void EnsureStripeIndexRead(int stripeId) + { + if (_stripeIndices.ContainsKey(stripeId)) + return; + + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeIndexStart = stripe.Offset; + var stripIndexLength = stripe.IndexLength; + } } } From 34346518c67312d0ff7ed654c6f2c88db4ec8c48 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sun, 27 Mar 2022 10:18:08 -0600 Subject: [PATCH 007/143] Clarified that `GetChunkLength` returns the compressed block length and not the decompressed length. --- src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs index f6228eb..44f9a1e 100644 --- a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs +++ b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs @@ -10,13 +10,14 @@ namespace ApacheOrcDotNet.Compression { public static class OrcCompressedBlock { - public static int PeekLength(CompressionKind compressionKind, ReadOnlySpan input) + /// Length of next (optionally compressed) block including any header + public static int GetChunkLength(CompressionKind compressionKind, ReadOnlySpan input) { if (compressionKind == CompressionKind.None) return input.Length; ReadBlockHeader(input, out var blockLength, out _); - return blockLength; + return blockLength + 3; //Include the block header length } private static void ReadBlockHeader(ReadOnlySpan input, out int blockLength, out bool isCompressed) @@ -53,10 +54,8 @@ public unsafe static int DecompressBlock(CompressionKind compressionKind, ReadOn { using var stream = new UnmanagedMemoryStream(pBuffer, input.Length); using var deflateStream = new DeflateStream(stream, CompressionMode.Decompress); - deflateStream.Read(output.Slice(blockLength)); + return deflateStream.Read(output); //TODO ensure we don't need to loop here } - - return blockLength; } } } From 5c8e5433c16dccf29ea43d3bf04333242318cd85 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sun, 27 Mar 2022 10:18:44 -0600 Subject: [PATCH 008/143] Added support for parsing Stripes and initial support for indexes. --- .../ByteRangeProviderExtensions.cs | 40 +++++++ .../DecompressingMemorySequence.cs | 57 ++++++++++ .../OrcReader.cs | 102 ++++++++++++------ .../SpanFileTail.cs | 14 +-- .../SpanRowGroupIndex.cs | 42 ++++++++ .../SpanStripeFooter.cs | 47 ++++++++ .../StatsExtensions.cs | 15 +++ 7 files changed, 271 insertions(+), 46 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs new file mode 100644 index 0000000..bb41167 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs @@ -0,0 +1,40 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public static class ByteRangeProviderExtensions + { + /// + /// Retrieves data from byte range, decompresses it, provides it to the parser, and then releases it + /// + /// + /// Any data returned from the parser must be a copy and not a reference to the input bytes + /// + public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int length, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) + { + var buffer = ArrayPool.Shared.Rent(length); + TResult result; + try + { + var bufferSpan = buffer.AsSpan()[..length]; + provider.GetRange(bufferSpan, (int)offset); //TODO support > 2TB files + using (var decompressed = new DecompressingMemorySequence(buffer, compressionKind, compressionBlockSize)) + { + result = parser(decompressed.Sequence); + } + } + finally + { + ArrayPool.Shared.Return(buffer); + } + + return result; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs new file mode 100644 index 0000000..42a23e3 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class DecompressingMemorySequence : IDisposable + { + readonly SequenceNode _begin; + readonly SequenceNode _end; + + public DecompressingMemorySequence(ReadOnlySpan compressedBuffer, CompressionKind compressionKind, int compressionBlockSize) + { + int position = 0; + while (position < compressedBuffer.Length) + { + var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, compressedBuffer[position..]); + var decompressedSegment = ArrayPool.Shared.Rent(compressionBlockSize); + var decompressedLength = OrcCompressedBlock.DecompressBlock(compressionKind, compressedBuffer.Slice(position, compressedChunkLength), decompressedSegment); + + _end = new SequenceNode(decompressedSegment, decompressedLength, _end); + if (_begin == null) + _begin = _end; + + position += compressedChunkLength; + } + } + + public void Dispose() + { + var cur = _begin; + while (cur != null) + { + ArrayPool.Shared.Return(cur.LeasedMemory); + cur = (SequenceNode)cur.Next; + } + } + + public ReadOnlySequence Sequence => new(_begin, 0, _end, _end.Memory.Length); + } + + sealed class SequenceNode : ReadOnlySequenceSegment + { + public byte[] LeasedMemory { get; private set; } + + internal SequenceNode(byte[] leasedMemory, int length, SequenceNode previous) + { + Memory = leasedMemory.AsMemory(0, length); + if (previous != null) + { + previous.Next = this; + RunningIndex = previous.RunningIndex + previous.Memory.Length; + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 9289a38..e0d8b8b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -1,24 +1,32 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using System; using System.Buffers; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { - public class ColumnDescriptor + public class OrcReaderConfiguration { - public string ColumnName { get; set; } - public string Min { get; set; } - public string Max { get; set; } + public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } - public class OrcReaderConfiguration + public class ColumnDetail { - public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; + public int ColumnId { get; set; } + public string Name { get; set; } + public ColumnTypeKind ColumnType { get; set; } + } + + public class StripeDetail + { + public int StripeId { get; set; } + public long RowCount { get; set; } } public sealed class OrcReader @@ -26,7 +34,7 @@ public sealed class OrcReader readonly OrcReaderConfiguration _configuration; readonly IByteRangeProvider _byteRangeProvider; readonly SpanFileTail _fileTail; - readonly Dictionary _stripeIndices = new(); + readonly Dictionary> _sliceStreams = new(); public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { @@ -34,33 +42,66 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _byteRangeProvider = byteRangeProvider; _fileTail = ReadFileTail(); + if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) + throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); + + ColumnDetails = _fileTail.Footer.Types[0].FieldNames + .Select((name, i) => { + var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; + var subTypeKind = _fileTail.Footer.Types[subType].Kind; + return new ColumnDetail { ColumnId = i, Name = name, ColumnType = subTypeKind }; + }) + .ToList(); + + StripeDetails = _fileTail.Footer.Stripes + .Select((stripe, i) => new StripeDetail { StripeId = i, RowCount = (long)stripe.NumberOfRows }) + .ToList(); } + + public IEnumerable ColumnDetails { get; } + public IReadOnlyCollection StripeDetails { get; } - public IEnumerable> Search(params ColumnDescriptor[] columns) where T : struct + public ColumnStatistics GetFileColumnStatistics(int columnId) { - throw new NotImplementedException(); + return _fileTail.Footer.Statistics[columnId]; } - bool FileContainsData(params ColumnDescriptor[] columns) + public SpanRowGroupIndex ReadRowGroupIndex(int columnId, int stripeId) { - foreach (var descriptor in columns) + if(!_sliceStreams.TryGetValue(stripeId, out var streamDetails)) { - var (columnId, columnType) = LookUpColumn(descriptor); - var stats = _fileTail.Footer.Statistics[columnId]; - if (!stats.InRange(columnType, descriptor.Min, descriptor.Max)) - return false; + streamDetails = ReadStripeFooter(stripeId).ToList(); + _sliceStreams.Add(stripeId, streamDetails); } - return true; + + var matchingStreamDetail = streamDetails.Single(s => s.ColumnId == columnId && s.StreamKind == StreamKind.RowIndex); + + var result = _byteRangeProvider.DecompressAndParseByteRange( + matchingStreamDetail.FileOffset, + matchingStreamDetail.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => new SpanRowGroupIndex(sequence) + ); + + return result; } - (int columnId, ColumnTypeKind columnType) LookUpColumn(ColumnDescriptor descriptor) + IEnumerable ReadStripeFooter(int stripeId) { - var columnId = _fileTail.Footer.Types[0].FieldNames.FindIndex(fn => fn.ToLower() == descriptor.ColumnName.ToLower()) + 1; - if (columnId == -1) - throw new KeyNotFoundException($"'{descriptor.ColumnName}' not found in ORC data"); - var columnType = _fileTail.Footer.Types[columnId].Kind; + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here + var stripeFooterLength = (int)stripe.FooterLength; - return (columnId, columnType); + var result = _byteRangeProvider.DecompressAndParseByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) + ); + + return result; } SpanFileTail ReadFileTail() @@ -69,8 +110,9 @@ SpanFileTail ReadFileTail() while (true) { var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - _byteRangeProvider.GetRangeFromEnd(buffer, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(buffer, out var fileTail, out var additionalBytesRequired); + var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); + var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); ArrayPool.Shared.Return(buffer); if (success) @@ -79,15 +121,5 @@ SpanFileTail ReadFileTail() lengthToReadFromEnd += additionalBytesRequired; } } - - void EnsureStripeIndexRead(int stripeId) - { - if (_stripeIndices.ContainsKey(stripeId)) - return; - - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeIndexStart = stripe.Offset; - var stripIndexLength = stripe.IndexLength; - } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs index 791c283..13416f0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs @@ -1,12 +1,7 @@ -using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ProtoBuf; using System; -using System.Buffers; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -49,12 +44,9 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, } int footerStart = buffer.Length - accumulatedLength; - int decompressedBufferLength = OrcCompressedBlock.PeekLength(postScript.Compression, buffer[footerStart..]); var compressedFooter = buffer.Slice(footerStart, (int)postScript.FooterLength); - var decompressedFooter = ArrayPool.Shared.Rent(decompressedBufferLength); - OrcCompressedBlock.DecompressBlock(postScript.Compression, compressedFooter, decompressedFooter); - var footer = Serializer.Deserialize(decompressedFooter.AsSpan()[..decompressedBufferLength]); - ArrayPool.Shared.Return(decompressedFooter); + using var decompressedMemorySequence = new DecompressingMemorySequence(compressedFooter, postScript.Compression, (int)postScript.CompressionBlockSize); + var footer = Serializer.Deserialize(decompressedMemorySequence.Sequence); fileTail = new SpanFileTail { diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs new file mode 100644 index 0000000..b94da0e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -0,0 +1,42 @@ +using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class RowGroupDetail + { + public ColumnStatistics Statistics { get; set; } + public StreamPosition Position { get; set; } + } + + public class StreamPosition + { + public long ChunkFileOffset { get; set; } + public int? DecompressedOffset { get; set; } + public int ValueOffset { get; set; } + public int? ValueOffset2 { get; set; } //Used for bitstreams + } + + public sealed class SpanRowGroupIndex + { + readonly RowIndex _rowIndex; + + public SpanRowGroupIndex(ReadOnlySequence inputSequence) + { + _rowIndex = Serializer.Deserialize(inputSequence); + } + + public int Count => _rowIndex.Entry.Count; + + public ColumnStatistics GetColumnStatistics(int rowGroupId) => _rowIndex.Entry[rowGroupId].Statistics; + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs new file mode 100644 index 0000000..7f5be8b --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs @@ -0,0 +1,47 @@ +using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class StreamDetail + { + public int ColumnId { get; set; } + public long FileOffset { get; set; } + public int Length { get; set; } + public ColumnTypeKind ColumnType { get; set; } + public StreamKind StreamKind { get; set; } + public ColumnEncodingKind EncodingKind { get; set; } + } + + public static class SpanStripeFooter + { + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, IEnumerable columnDetails, long stripeOffset) + { + var stripeFooter = Serializer.Deserialize(inputSequence); + + foreach (var stream in stripeFooter.Streams) + { + yield return new StreamDetail + { + ColumnId = (int)stream.Column, + FileOffset = stripeOffset, + Length = (int)stream.Length, + ColumnType = columnDetails.Single(c => c.ColumnId == stream.Column).ColumnType, + StreamKind = stream.Kind, + EncodingKind = stripeFooter.Columns[(int)stream.Column].Kind + }; + + stripeOffset += (long)stream.Length; + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs index ff99218..47a953d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -10,6 +10,21 @@ namespace ApacheOrcDotNet.OptimizedReader { public static class StatsExtensions { + public static int GetNumValuesInPositionListForStream(this StreamDetail streamDetail, bool compressionEnabled) => + (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind, compressionEnabled) switch + { + (StreamKind.Present, _, _, true) => 4, + (StreamKind.Present, _, _, false) => 3, + (StreamKind.Data, ColumnTypeKind.Int, _, true) => 3, + (StreamKind.Data, ColumnTypeKind.Int, _, false) => 2, + (StreamKind.Length, _, _, true) => throw new NotImplementedException(), + (StreamKind.Length, _, _, false) => throw new NotImplementedException(), + (StreamKind.Secondary, _, _, true) => throw new NotImplementedException(), + (StreamKind.Secondary, _, _, false) => throw new NotImplementedException(), + //TODO This will need some work to fill in completely + _ => throw new ArgumentException() + }; + public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { switch (columnType) From ddb62da42f06a60994ea260e66528e0a8dd6c09f Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sun, 27 Mar 2022 17:13:07 -0600 Subject: [PATCH 009/143] Completed initial iteration of the index parser. --- .../OrcReader.cs | 11 ++-- .../SpanRowGroupIndex.cs | 54 ++++++++++++++++--- .../SpanStripeFooter.cs | 10 ++-- .../StatsExtensions.cs | 41 ++++++++++---- 4 files changed, 91 insertions(+), 25 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index e0d8b8b..e99d663 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -66,7 +66,7 @@ public ColumnStatistics GetFileColumnStatistics(int columnId) return _fileTail.Footer.Statistics[columnId]; } - public SpanRowGroupIndex ReadRowGroupIndex(int columnId, int stripeId) + public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) { if(!_sliceStreams.TryGetValue(stripeId, out var streamDetails)) { @@ -74,14 +74,15 @@ public SpanRowGroupIndex ReadRowGroupIndex(int columnId, int stripeId) _sliceStreams.Add(stripeId, streamDetails); } - var matchingStreamDetail = streamDetails.Single(s => s.ColumnId == columnId && s.StreamKind == StreamKind.RowIndex); + var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); + var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); var result = _byteRangeProvider.DecompressAndParseByteRange( - matchingStreamDetail.FileOffset, - matchingStreamDetail.Length, + rowIndexStream.FileOffset, + rowIndexStream.Length, _fileTail.PostScript.Compression, (int)_fileTail.PostScript.CompressionBlockSize, - sequence => new SpanRowGroupIndex(sequence) + sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) ); return result; diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs index b94da0e..c1f56bb 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -12,6 +12,12 @@ namespace ApacheOrcDotNet.OptimizedReader { + public class StreamIndexDetail + { + public StreamDetail StreamDetail { get; set; } + public List RowGroupDetails { get; } = new(); + } + public class RowGroupDetail { public ColumnStatistics Statistics { get; set; } @@ -26,17 +32,51 @@ public class StreamPosition public int? ValueOffset2 { get; set; } //Used for bitstreams } - public sealed class SpanRowGroupIndex + public static class SpanRowGroupIndex { - readonly RowIndex _rowIndex; - - public SpanRowGroupIndex(ReadOnlySequence inputSequence) + public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) { - _rowIndex = Serializer.Deserialize(inputSequence); + bool compressionEnabled = compressionKind != CompressionKind.None; + + var rowIndex = Serializer.Deserialize(inputSequence); + var result = new List(); + foreach(var stream in streamDetails) + { + result.Add(new StreamIndexDetail { StreamDetail = stream }); + } + + foreach(var entry in rowIndex.Entry) + { + var positions = entry.Positions.ToArray().AsSpan(); + for (int i = 0; i < streamDetails.Count; i++) + { + var stream = streamDetails[i]; + var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); + var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); + + result[i].RowGroupDetails.Add(new RowGroupDetail + { + Position = streamPosition, + Statistics = entry.Statistics + }); + positions = positions[numConsumedPositions..]; + } + } + + return result; } - public int Count => _rowIndex.Entry.Count; + static int GetPositionsToSkip(int streamId, IEnumerable streamDetails, bool compressionEnabled) + { + int positionsToSkip = 0; + foreach(var stream in streamDetails) + { + if (stream.StreamId >= streamId) + break; + positionsToSkip += stream.GetNumValuesInPositionListForStream(compressionEnabled); + } - public ColumnStatistics GetColumnStatistics(int rowGroupId) => _rowIndex.Entry[rowGroupId].Statistics; + return positionsToSkip; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs index 7f5be8b..ffb944d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs @@ -14,6 +14,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class StreamDetail { + public int StreamId { get; set; } public int ColumnId { get; set; } public long FileOffset { get; set; } public int Length { get; set; } @@ -28,10 +29,11 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence { var stripeFooter = Serializer.Deserialize(inputSequence); - foreach (var stream in stripeFooter.Streams) + return stripeFooter.Streams.Select((stream, i) => { - yield return new StreamDetail + var result = new StreamDetail { + StreamId = i, ColumnId = (int)stream.Column, FileOffset = stripeOffset, Length = (int)stream.Length, @@ -41,7 +43,9 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence }; stripeOffset += (long)stream.Length; - } + + return result; + }).ToList(); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs index 47a953d..9f8f404 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -10,21 +10,42 @@ namespace ApacheOrcDotNet.OptimizedReader { public static class StatsExtensions { - public static int GetNumValuesInPositionListForStream(this StreamDetail streamDetail, bool compressionEnabled) => - (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind, compressionEnabled) switch + public static int GetNumValuesInPositionListForStream(this StreamDetail streamDetail, bool compressionEnabled) + { + int count = 2; //All streams have a chunk offset and a value offset + if (compressionEnabled) + count++; //If compression is enabled, an offset into the decompressed chunk is also included + if (streamDetail.StreamHasSecondValuePosition()) + count++; //Some streams include an additional offset + + return count; + } + + public static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => + (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch { - (StreamKind.Present, _, _, true) => 4, - (StreamKind.Present, _, _, false) => 3, - (StreamKind.Data, ColumnTypeKind.Int, _, true) => 3, - (StreamKind.Data, ColumnTypeKind.Int, _, false) => 2, - (StreamKind.Length, _, _, true) => throw new NotImplementedException(), - (StreamKind.Length, _, _, false) => throw new NotImplementedException(), - (StreamKind.Secondary, _, _, true) => throw new NotImplementedException(), - (StreamKind.Secondary, _, _, false) => throw new NotImplementedException(), + (StreamKind.Present, _, _) => true, + (StreamKind.Data, ColumnTypeKind.Int, _) => false, + (StreamKind.Length, _, _) => throw new NotImplementedException(), + (StreamKind.Secondary, _, _) => throw new NotImplementedException(), //TODO This will need some work to fill in completely _ => throw new ArgumentException() }; + public static StreamPosition GetStreamPositionFromStreamType(this StreamDetail stream, bool compressionEnabled, ReadOnlySpan positions) + { + int positionIndex = 0; + var result = new StreamPosition(); + result.ChunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; + if (compressionEnabled) + result.DecompressedOffset = (int)positions[positionIndex++]; + result.ValueOffset = (int)positions[positionIndex++]; + if (stream.StreamHasSecondValuePosition()) + result.ValueOffset2 = (int)positions[positionIndex++]; + + return result; + } + public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { switch (columnType) From 48dbd778ab332ea8b00ef968f8a65c9199b42f52 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Sun, 27 Mar 2022 22:55:27 -0600 Subject: [PATCH 010/143] Added unit tests. Fixed bugs discovered by testing. Converted POCOs into records. Made DataFileHelper usable in other assemblies. --- ApacheOrcDotNet.sln | 9 +- .../ByteRangeProviderExtensions.cs | 2 +- .../DecompressingMemorySequence.cs | 1 + .../OrcReader.cs | 21 +--- .../SpanRowGroupIndex.cs | 46 +++---- .../SpanStripeFooter.cs | 37 ++---- .../StatsExtensions.cs | 38 +++--- .../Compression/OrcCompressedBlock.cs | 2 +- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 16 +++ .../Data/orctest_fromEnd_16384_16384.orc | Bin 0 -> 16384 bytes .../Data/orctest_fromEnd_1942_1942.orc | Bin 0 -> 1942 bytes .../Data/orctest_fromEnd_1_1.orc | 1 + .../Data/orctest_fromEnd_27_27.orc | Bin 0 -> 27 bytes .../Data/orctest_fromStart_35804041_322.orc | Bin 0 -> 322 bytes .../Data/orctest_fromStart_37_704.orc | Bin 0 -> 704 bytes .../OrcReader_Test.cs | 68 +++++++++++ .../TestByteRangeProvider.cs | 113 ++++++++++++++++++ .../ColumnTypes/DecimalReader_Test.cs | 2 +- .../ColumnTypes/LongReader_Test.cs | 2 +- .../Protocol/ProtocolHelper.cs | 2 +- .../TestHelpers/DataFileHelper.cs | 4 +- 21 files changed, 269 insertions(+), 95 deletions(-) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_16384_16384.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1942_1942.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1_1.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_27_27.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromStart_35804041_322.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromStart_37_704.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs diff --git a/ApacheOrcDotNet.sln b/ApacheOrcDotNet.sln index 3b66605..e7ca668 100644 --- a/ApacheOrcDotNet.sln +++ b/ApacheOrcDotNet.sln @@ -29,7 +29,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.WriterTest. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.ReaderTest.App", "src\ApacheOrcDotNet.ReaderTest.App\ApacheOrcDotNet.ReaderTest.App.csproj", "{F3C9D56A-913A-453D-9C42-B9F467748413}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApacheOrcDotNet.OptimizedReader", "src\ApacheOrcDotNet.OptimizedReader\ApacheOrcDotNet.OptimizedReader.csproj", "{6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReader", "src\ApacheOrcDotNet.OptimizedReader\ApacheOrcDotNet.OptimizedReader.csproj", "{6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReader.Test", "test\ApacheOrcDotNet.OptimizedReader.Test\ApacheOrcDotNet.OptimizedReader.Test.csproj", "{AE3C0606-2210-40ED-AE93-67DBD06461BE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -57,6 +59,10 @@ Global {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Debug|Any CPU.Build.0 = Debug|Any CPU {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD}.Release|Any CPU.Build.0 = Release|Any CPU + {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -67,6 +73,7 @@ Global {8FC4EFCA-35E9-4965-A2F8-52974F29E4DA} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {F3C9D56A-913A-453D-9C42-B9F467748413} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD} = {58463841-CD45-4229-9E70-A0B74E70ADD7} + {AE3C0606-2210-40ED-AE93-67DBD06461BE} = {40D373E1-A120-41E0-9D3D-1BACC719BB38} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BAAC5D9A-83A0-432F-9987-90C49734F761} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs index bb41167..0d4202d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs @@ -24,7 +24,7 @@ public static TResult DecompressAndParseByteRange(this IByteRangeProvid { var bufferSpan = buffer.AsSpan()[..length]; provider.GetRange(bufferSpan, (int)offset); //TODO support > 2TB files - using (var decompressed = new DecompressingMemorySequence(buffer, compressionKind, compressionBlockSize)) + using (var decompressed = new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize)) { result = parser(decompressed.Sequence); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index 42a23e3..2d34f34 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -46,6 +46,7 @@ sealed class SequenceNode : ReadOnlySequenceSegment internal SequenceNode(byte[] leasedMemory, int length, SequenceNode previous) { + LeasedMemory = leasedMemory; Memory = leasedMemory.AsMemory(0, length); if (previous != null) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index e99d663..00a2860 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -16,18 +16,8 @@ public class OrcReaderConfiguration public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } - public class ColumnDetail - { - public int ColumnId { get; set; } - public string Name { get; set; } - public ColumnTypeKind ColumnType { get; set; } - } - - public class StripeDetail - { - public int StripeId { get; set; } - public long RowCount { get; set; } - } + public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); + public record StripeDetail(int StripeId, long RowCount); public sealed class OrcReader { @@ -46,15 +36,16 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); ColumnDetails = _fileTail.Footer.Types[0].FieldNames - .Select((name, i) => { + .Select((name, i) => + { var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; var subTypeKind = _fileTail.Footer.Types[subType].Kind; - return new ColumnDetail { ColumnId = i, Name = name, ColumnType = subTypeKind }; + return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); }) .ToList(); StripeDetails = _fileTail.Footer.Stripes - .Select((stripe, i) => new StripeDetail { StripeId = i, RowCount = (long)stripe.NumberOfRows }) + .Select((stripe, i) => new StripeDetail(StripeId: i, RowCount: (long)stripe.NumberOfRows)) .ToList(); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs index c1f56bb..a19851b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -1,36 +1,16 @@ -using ApacheOrcDotNet.Compression; -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using ProtoBuf; using System; using System.Buffers; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.IO; namespace ApacheOrcDotNet.OptimizedReader { - public class StreamIndexDetail - { - public StreamDetail StreamDetail { get; set; } - public List RowGroupDetails { get; } = new(); - } - - public class RowGroupDetail - { - public ColumnStatistics Statistics { get; set; } - public StreamPosition Position { get; set; } - } - - public class StreamPosition - { - public long ChunkFileOffset { get; set; } - public int? DecompressedOffset { get; set; } - public int ValueOffset { get; set; } - public int? ValueOffset2 { get; set; } //Used for bitstreams - } + public record StreamIndexDetail(StreamDetail StreamDetail, List RowGroupDetails); + public record RowGroupDetail(ColumnStatistics Statistics, StreamPosition Position); + public record StreamPosition(long ChunkFileOffset, int? DecompressedOffset, int ValueOffset, int? ValueOffset2); public static class SpanRowGroupIndex { @@ -42,7 +22,7 @@ public static IEnumerable ReadRowGroupDetails(ReadOnlySequenc var result = new List(); foreach(var stream in streamDetails) { - result.Add(new StreamIndexDetail { StreamDetail = stream }); + result.Add(new StreamIndexDetail(StreamDetail: stream, RowGroupDetails: new())); } foreach(var entry in rowIndex.Entry) @@ -51,16 +31,20 @@ public static IEnumerable ReadRowGroupDetails(ReadOnlySequenc for (int i = 0; i < streamDetails.Count; i++) { var stream = streamDetails[i]; - var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); + if (numConsumedPositions == 0) + continue; + var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); result[i].RowGroupDetails.Add(new RowGroupDetail - { - Position = streamPosition, - Statistics = entry.Statistics - }); + ( + Position: streamPosition, + Statistics: entry.Statistics + )); positions = positions[numConsumedPositions..]; } + if (positions.Length != 0) + throw new InvalidDataException($"Some position records were not consumed. ColumnType={streamDetails[0].ColumnType} StreamId={streamDetails[0].StreamId}"); } return result; diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs index ffb944d..f1bbf0a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs @@ -1,27 +1,12 @@ -using ApacheOrcDotNet.Compression; -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; +using ApacheOrcDotNet.Protocol; using ProtoBuf; -using System; using System.Buffers; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { - public class StreamDetail - { - public int StreamId { get; set; } - public int ColumnId { get; set; } - public long FileOffset { get; set; } - public int Length { get; set; } - public ColumnTypeKind ColumnType { get; set; } - public StreamKind StreamKind { get; set; } - public ColumnEncodingKind EncodingKind { get; set; } - } + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind); public static class SpanStripeFooter { @@ -32,15 +17,15 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence return stripeFooter.Streams.Select((stream, i) => { var result = new StreamDetail - { - StreamId = i, - ColumnId = (int)stream.Column, - FileOffset = stripeOffset, - Length = (int)stream.Length, - ColumnType = columnDetails.Single(c => c.ColumnId == stream.Column).ColumnType, - StreamKind = stream.Kind, - EncodingKind = stripeFooter.Columns[(int)stream.Column].Kind - }; + ( + StreamId: i, + ColumnId: (int)stream.Column, + FileOffset: stripeOffset, + Length: (int)stream.Length, + ColumnType: columnDetails.FirstOrDefault(c => c.ColumnId == stream.Column)?.ColumnType, + StreamKind: stream.Kind, + EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind + ); stripeOffset += (long)stream.Length; diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs index 9f8f404..57d6997 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -1,10 +1,6 @@ using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -12,6 +8,9 @@ public static class StatsExtensions { public static int GetNumValuesInPositionListForStream(this StreamDetail streamDetail, bool compressionEnabled) { + if (!streamDetail.StreamHasAnyPositions()) + return 0; + int count = 2; //All streams have a chunk offset and a value offset if (compressionEnabled) count++; //If compression is enabled, an offset into the decompressed chunk is also included @@ -21,29 +20,38 @@ public static int GetNumValuesInPositionListForStream(this StreamDetail streamDe return count; } - public static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => + static bool StreamHasAnyPositions(this StreamDetail streamDetail) => + (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch + { + (StreamKind.Present, _, _) => true, + (StreamKind.Data, _, _) => true, + (StreamKind.Secondary, _, _) => true, + //TODO this will need some work to fill in completely + _ => false, + }; + + + static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch { (StreamKind.Present, _, _) => true, (StreamKind.Data, ColumnTypeKind.Int, _) => false, - (StreamKind.Length, _, _) => throw new NotImplementedException(), + (StreamKind.Data, ColumnTypeKind.String, _) => false, + (StreamKind.Length, _, ColumnEncodingKind.DictionaryV2) => false, (StreamKind.Secondary, _, _) => throw new NotImplementedException(), //TODO This will need some work to fill in completely - _ => throw new ArgumentException() + _ => throw new NotSupportedException() }; public static StreamPosition GetStreamPositionFromStreamType(this StreamDetail stream, bool compressionEnabled, ReadOnlySpan positions) { int positionIndex = 0; - var result = new StreamPosition(); - result.ChunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; - if (compressionEnabled) - result.DecompressedOffset = (int)positions[positionIndex++]; - result.ValueOffset = (int)positions[positionIndex++]; - if (stream.StreamHasSecondValuePosition()) - result.ValueOffset2 = (int)positions[positionIndex++]; + var chunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; + var decompressedOffset = compressionEnabled ? (int?)positions[positionIndex++] : null; + var valueOffset = (int)positions[positionIndex++]; + var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int?)positions[positionIndex++] : null; - return result; + return new StreamPosition(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); } public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) diff --git a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs index 44f9a1e..7998826 100644 --- a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs +++ b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs @@ -50,7 +50,7 @@ public unsafe static int DecompressBlock(CompressionKind compressionKind, ReadOn //.Net 5 only provides a stream-based ZLib inflator. .Net 7 will likely introduce low-level calls to make this more optimized //https://github.com/dotnet/runtime/issues/62113 - fixed (byte* pBuffer = &input[0]) + fixed (byte* pBuffer = &input[3]) //Skip the header { using var stream = new UnmanagedMemoryStream(pBuffer, input.Length); using var deflateStream = new DeflateStream(stream, CompressionMode.Decompress); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj new file mode 100644 index 0000000..2cff8c7 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_16384_16384.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_16384_16384.orc new file mode 100644 index 0000000000000000000000000000000000000000..9c66d73e296117297519e184745ab13f381dbb8f GIT binary patch literal 16384 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 O0Wb%G^aBG=QbQWVo>Hp- literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1942_1942.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1942_1942.orc new file mode 100644 index 0000000000000000000000000000000000000000..95701c17bf819c985445b4f63327f91c364e2fb7 GIT binary patch literal 1942 zcmV;H2Wj~54gh6TYfw|^8Rnea4w02Fsmq+rw9~V6JGJgK6GA}AuUc1Una)~9aHY1> zP8QB0BM=+F+D?B&ZXp<8xnGv+0wuD@O%ekrC@cu-0%8pcg2-+0f|v!dE)n{kbBIl+ znK^S#p6~gd_j#Z1J%`|-}yMtP`&tWefpnd?-Do98ztzO6DNla zPZ0GlfM0wH@cowc_mTA}PPSOA5~>a0(W3x6?lk+O-bI|8OsU{tJp*68Hu@3Dd4iL- zt!4?;4sh`?fbH`eN72w@oUD3to@1L?k#EgW==CyAn(d%{5#T|lWPkqb8Fb@2ocwmA z<}KTY$Qn-1z)(4;^j6hNs8$zVG12xVhVq`{q<*ZJD+$DIQX z43$DO*;g{%{PZo@lW=4LKY7o~xwcrHf^S~s;m83x_uH~LoaN`v8S8Ll06%vdinxAR zewDMvilb`K8S64|ey$z^e8}8%9Y+_z=Yxg|oc~cq$J94{4@YN#-`bKSp)6eZKE&$W z++!RqfPSvC?ClZy5M?9D8#ro%oGoUfTh5k8*(M$u0R8IrdN=zW0w?ENw`YX)Q)w={%|jO8>&H{waxgrto#mmr zC7jGDf}AZbo$sGjukuh4^wnQeAfZ}ZI-B~=6h0cA!^wqW3#Z=_#+>_>qX2O5f6GzI z`B^%~^;OSD#W1s7-LDawCtJ5W-DKmVfms;Cs#Xbg3GkUvz~?fr4uKB%$t;@Y&YjKQ zkzGB(M|BH0S#&dLu+-t?qqcKAaye%ZQ8$@+`vaq6 zNX-nlZMH1H$26>^hAi3 z!GE?L-rp`4-nE$L6e1(|OwO+1`eNsEbGjo_goZ#Tr>T~kTh`APYcmxhGz&gW=ZiT$ zdybZ5XR`>MpMmd2LzQ52WO6zzK9{~xNT5ZiYcFhY1hT+f4No<4epr1y{5(+$ycb^%UFPy<`$}u?$?-(?B#hiRw9`2`aANFdv`!}d zgpQBbL@|GZ<3cnMC+P$kKP)Pqi_Lv9vEvh~VPE z#b@tAV(0Fi3eW$$b375tV=ym;aC?sn_t?Jpd)^n5T3wV}b4n9&f|kdh(&$dgPt&@1 zFew%I%N24zMeT@Ht`-r@EyP3pbN0daJu&Y$$HS#wN5eikbeK-~t5$dN0Qps=ty&!7 z5uUeC?ZeWfVgg5p$fZfsIuG#lU^T_zQsOxuIj8R0_@s4ne5-3{QV8qzl=6S5N!Lyf zWWvaM88cq6GTv$zs6Sv=l<$fKL2~~frPOP$Qlavb?^Ol_1gL=2|IfZYOzp?9e8t{= z$^eBzzE|b1RQfAbN~!l-zDgCaFDMYUjP@^%Fwo&iclV1P=l3Y1Cxm`7z`kjmd*u2KXlSo3qa zTfc<3atF499`0KnH+=sy@HoFB^*qZd z0@hG%RxJi6^0KhxLtm+wPr*;hKXQnoNb{wk`#4ZGm%4n^yV!X42*vz~k|G4C<9a(^ z?MLNsw= ze6|P%y+uNTpNNp+Y>JTKeB8%kw?W9UHAkr6ut{(@nJ0McctRC#<37a%YUoc}lLiuO zSyYP}(U6*mukp~ZnLvoE_1D0rf)T!-3z{+d?GG(xEI7DuG!5>qUqYG&PupJlDS1MZ za}p@gm^$i}VsISDBrPp0J&#d#h%Ggr&ZRc2Q5YvX+(`%$wR?vM6@x=vL+ U8hx3N{&U50db{xNB~>o{3zvGE=l}o! literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromStart_37_704.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromStart_37_704.orc new file mode 100644 index 0000000000000000000000000000000000000000..f8e77403626bbaa4d0de21c1393da4a0cfb393d0 GIT binary patch literal 704 zcmV;x0zdtF1ps~6uUi^%9Ki8IQ1RwZ2J^>68Pn->I_9tGoDP4?>2!+I`Ge{6>`&OA zaDhM|Tp$n#7YGEx1pzEt%Ka?vD zt7G1NJIf*2sLyxHcACd}6zt1AD)#AK4f{r~j(x#tVlVeu*qeP)$NjX=UKNMw^IM{V zdFfez@{Bii`-aQv z*tgHN@Vq1YHVxU$?oBtk&v@8<%Y*KVFW7xz6x~-x*?o45-Am)_ULR-o$q9B}pJ4a7 zm+U?|$?lCwcAxUH`-T_YYg6oAo<{eTX?CCSq5Gzf-4|b>`?#OoSN-f>ea-Hr8FpWq zVfV>dc3+!i_qjLhK01f)jX8Fonn(B6JiFK4qWjnayRR&u`}88aZ!WU?!aH^!Ut;&> z61!KI*?nu7-Iw08`$T}<*8=Q5_W|8UR@l9kOWcTtWyEix4eP)Z@x3<`Q=@Yt7Y_t2?HoDJ#X7`aDbg%EQdu12h*LT@{{tLU0 z2HAZ%$nH~n?7p$b?zMe(FCVb`$^pC29J2e?A-XSqW%r3AbYDGU_t|ggUOHy?`Z2ms zp0NA+3A@jIXZO)lc5j@r`_vh`x6atT_JiHa=jgt2&h9f8=)QTu?u#LGAHQVx)k}1* z{$%&k6}vB8vHRpTyRTid``j;fAGu-o#tpkyZrQzc%kH&1bRWBC_mz8epANJ8W*FTU mezW`d1G+aK*uDDL*}eDa0^E9ha_@GUPXEAv|HZVmknj%$P>Lu3 literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs new file mode 100644 index 0000000..0058384 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -0,0 +1,68 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcReader_Test + { + readonly IByteRangeProvider _byteRangeProvider; + public OrcReader_Test() + { + _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); + } + + [Fact] + public void FileTail_DefaultOptomisticSize() + { + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); + var expectedColumns = new[] + { + new ColumnDetail(1, "Source", ColumnTypeKind.String), + new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), + new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), + }; + Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); + } + + [Fact] + public void FileTail_MinimumInitialReadSize() + { + var reader = new OrcReader(new OrcReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); + var expectedColumns = new[] + { + new ColumnDetail(1, "Source", ColumnTypeKind.String), + new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), + new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), + }; + Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); + } + + [Fact] + public void FileColumnStatistics() + { + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); + Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); + Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); + Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); + Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); + Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); + Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); + Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); + Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); + } + + [Fact] + public void RowGroupStatistics() + { + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); + var indexDetails = reader.ReadRowGroupIndex(1, 0).ToList(); + var indexDetail = indexDetails[1]; + Assert.Equal("BZX", indexDetail.RowGroupDetails[0].Statistics.StringStatistics.Minimum); + Assert.Equal("BZX", indexDetail.RowGroupDetails[0].Statistics.StringStatistics.Maximum); + Assert.Equal(0, indexDetail.RowGroupDetails[0].Position.DecompressedOffset); + Assert.Equal(0, indexDetail.RowGroupDetails[0].Position.ValueOffset); + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs new file mode 100644 index 0000000..f0c3fd7 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -0,0 +1,113 @@ +using ApacheOrcDotNet.Test.TestHelpers; +using System; +using System.Collections.Generic; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class TestByteRangeProvider : IByteRangeProvider + { + readonly bool _writeRequestedRangesToFile; + readonly bool _readRequestedRangesFromFile; + readonly Dictionary<(bool isFromEnd, int position, int length), Stream> _openFiles = new(); + readonly static object _fileLock = new(); + + public TestByteRangeProvider(bool writeRequestedRangesToFile, bool readRequestedRangesFromFile) + { + _writeRequestedRangesToFile = writeRequestedRangesToFile; + _readRequestedRangesFromFile = readRequestedRangesFromFile; + } + + public void Dispose() + { + foreach (var file in _openFiles.Values) + file.Dispose(); + } + + public void GetRange(Span buffer, int position) + { + var reader = GetOpenStreamForRange(false, position, buffer.Length); + if (!_readRequestedRangesFromFile) + reader.Seek(position, SeekOrigin.Begin); + ReadAllBytes(reader, buffer); + if (_writeRequestedRangesToFile) + { + var filename = GetRangeFilename(false, position, buffer.Length); + var path = Path.Combine(Path.GetTempPath(), filename); + lock (_fileLock) + { + using var outputStream = File.Create(path); + outputStream.Write(buffer); + } + } + } + + public void GetRangeFromEnd(Span buffer, int positionFromEnd) + { + var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); + if (!_readRequestedRangesFromFile) + reader.Seek(-positionFromEnd, SeekOrigin.End); + ReadAllBytes(reader, buffer); + if (_writeRequestedRangesToFile) + { + var filename = GetRangeFilename(true, positionFromEnd, buffer.Length); + var path = Path.Combine(Path.GetTempPath(), filename); + lock (_fileLock) + { + using var outputStream = File.Create(path); + outputStream.Write(buffer); + } + } + } + + Stream GetOpenStreamForRange(bool isFromEnd, int position, int length) + { + if (_openFiles.TryGetValue((isFromEnd, position, length), out var existingStream)) + return existingStream; + + lock (_fileLock) + { + if (_openFiles.TryGetValue((isFromEnd, position, length), out var existingStreamSecondTry)) + return existingStreamSecondTry; + + Stream newStream; + if (_readRequestedRangesFromFile) + { + var filename = GetRangeFilename(isFromEnd, position, length); + var helper = new DataFileHelper(typeof(TestByteRangeProvider), filename); + newStream = helper.GetStream(); + } + else + { + var filename = "/data/2022-03-18/trade.orc"; //TODO remove this when all test ranges are loadable from small files + newStream = File.OpenRead(filename); + } + + _openFiles.Add((isFromEnd, position, length), newStream); + + return newStream; + } + } + + string GetRangeFilename(bool isFromEnd, int position, int length) + { + string fromEnd = isFromEnd ? "fromEnd" : "fromStart"; + return $"orctest_{fromEnd}_{position}_{length}.orc"; + } + + void ReadAllBytes(Stream stream, Span buffer) + { + var remaining = buffer.Length; + var pos = 0; + while (remaining > 0) + { + var count = stream.Read(buffer[pos..]); + if (count == 0) + throw new InvalidOperationException(); + + remaining -= count; + pos += count; + } + } + } +} diff --git a/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs b/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs index 985f57f..889c4c2 100644 --- a/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs +++ b/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs @@ -13,7 +13,7 @@ public class DecimalReader_Test { StripeStreamReaderCollection GetStripeStreamCollection() { - var dataFile = new DataFileHelper("decimal.orc"); + var dataFile = new DataFileHelper(typeof(DecimalReader_Test), "decimal.orc"); var stream = dataFile.GetStream(); var fileTail = new FileTail(stream); var stripes = fileTail.Stripes; diff --git a/test/ApacheOrcDotNet.Test/ColumnTypes/LongReader_Test.cs b/test/ApacheOrcDotNet.Test/ColumnTypes/LongReader_Test.cs index 727260e..e46e949 100644 --- a/test/ApacheOrcDotNet.Test/ColumnTypes/LongReader_Test.cs +++ b/test/ApacheOrcDotNet.Test/ColumnTypes/LongReader_Test.cs @@ -13,7 +13,7 @@ public class LongReader_Test { StripeStreamReaderCollection GetStripeStreamCollection() { - var dataFile = new DataFileHelper("demo-12-zlib.orc"); + var dataFile = new DataFileHelper(typeof(LongReader_Test), "demo-12-zlib.orc"); var stream = dataFile.GetStream(); var fileTail = new FileTail(stream); var stripes = fileTail.Stripes; diff --git a/test/ApacheOrcDotNet.Test/Protocol/ProtocolHelper.cs b/test/ApacheOrcDotNet.Test/Protocol/ProtocolHelper.cs index 28ceed9..612d9d3 100644 --- a/test/ApacheOrcDotNet.Test/Protocol/ProtocolHelper.cs +++ b/test/ApacheOrcDotNet.Test/Protocol/ProtocolHelper.cs @@ -16,7 +16,7 @@ public class ProtocolHelper public ProtocolHelper(string dataFileName) { - _dataFileHelper = new DataFileHelper(dataFileName); + _dataFileHelper = new DataFileHelper(typeof(ProtocolHelper), dataFileName); } public ProtocolHelper(Stream inputStream) diff --git a/test/ApacheOrcDotNet.Test/TestHelpers/DataFileHelper.cs b/test/ApacheOrcDotNet.Test/TestHelpers/DataFileHelper.cs index 49f551b..2237d79 100644 --- a/test/ApacheOrcDotNet.Test/TestHelpers/DataFileHelper.cs +++ b/test/ApacheOrcDotNet.Test/TestHelpers/DataFileHelper.cs @@ -12,11 +12,11 @@ namespace ApacheOrcDotNet.Test.TestHelpers public class DataFileHelper : IDisposable { readonly Stream _dataStream; - public DataFileHelper(string dataFileName) + public DataFileHelper(Type typeInDataAssembly, string dataFileName) { var embeddedFileName = $"Data.{dataFileName}"; - var fileProvider = new EmbeddedFileProvider(typeof(DataFileHelper).GetTypeInfo().Assembly); + var fileProvider = new EmbeddedFileProvider(typeInDataAssembly.Assembly); var fileInfo = fileProvider.GetFileInfo(embeddedFileName); if (!fileInfo.Exists) throw new ArgumentException("Requested data file doesn't exist"); From f91b2dc98028522f1fc3b508adf8fc94e1db32cd Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Mon, 28 Mar 2022 06:38:40 -0600 Subject: [PATCH 011/143] Adjusted the layout of RowGroupStatistics. --- .../OrcReader.cs | 2 +- .../SpanRowGroupIndex.cs | 24 +++++++------------ .../StatsExtensions.cs | 4 ++-- .../OrcReader_Test.cs | 12 +++++----- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 00a2860..6785348 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -57,7 +57,7 @@ public ColumnStatistics GetFileColumnStatistics(int columnId) return _fileTail.Footer.Statistics[columnId]; } - public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) + public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) { if(!_sliceStreams.TryGetValue(stripeId, out var streamDetails)) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs index a19851b..5a064ad 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -8,25 +8,21 @@ namespace ApacheOrcDotNet.OptimizedReader { - public record StreamIndexDetail(StreamDetail StreamDetail, List RowGroupDetails); - public record RowGroupDetail(ColumnStatistics Statistics, StreamPosition Position); - public record StreamPosition(long ChunkFileOffset, int? DecompressedOffset, int ValueOffset, int? ValueOffset2); + public record RowGroupDetail(ColumnStatistics Statistics, List StreamPositions); + public record StreamPosition(int StreamId, Position Position); + public record Position(long ChunkFileOffset, int? DecompressedOffset, int ValueOffset, int? ValueOffset2); public static class SpanRowGroupIndex { - public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) + public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) { bool compressionEnabled = compressionKind != CompressionKind.None; var rowIndex = Serializer.Deserialize(inputSequence); - var result = new List(); - foreach(var stream in streamDetails) - { - result.Add(new StreamIndexDetail(StreamDetail: stream, RowGroupDetails: new())); - } foreach(var entry in rowIndex.Entry) { + var streamPositions = new List(); var positions = entry.Positions.ToArray().AsSpan(); for (int i = 0; i < streamDetails.Count; i++) { @@ -36,18 +32,14 @@ public static IEnumerable ReadRowGroupDetails(ReadOnlySequenc continue; var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); - result[i].RowGroupDetails.Add(new RowGroupDetail - ( - Position: streamPosition, - Statistics: entry.Statistics - )); + streamPositions.Add(new StreamPosition(StreamId: i, Position: streamPosition)); positions = positions[numConsumedPositions..]; } if (positions.Length != 0) throw new InvalidDataException($"Some position records were not consumed. ColumnType={streamDetails[0].ColumnType} StreamId={streamDetails[0].StreamId}"); - } - return result; + yield return new RowGroupDetail(Statistics: entry.Statistics, StreamPositions: streamPositions); + } } static int GetPositionsToSkip(int streamId, IEnumerable streamDetails, bool compressionEnabled) diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs index 57d6997..a1ccd2a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -43,7 +43,7 @@ static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => _ => throw new NotSupportedException() }; - public static StreamPosition GetStreamPositionFromStreamType(this StreamDetail stream, bool compressionEnabled, ReadOnlySpan positions) + public static Position GetStreamPositionFromStreamType(this StreamDetail stream, bool compressionEnabled, ReadOnlySpan positions) { int positionIndex = 0; var chunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; @@ -51,7 +51,7 @@ public static StreamPosition GetStreamPositionFromStreamType(this StreamDetail s var valueOffset = (int)positions[positionIndex++]; var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int?)positions[positionIndex++] : null; - return new StreamPosition(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); + return new Position(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); } public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 0058384..831dd94 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -57,12 +57,12 @@ public void FileColumnStatistics() public void RowGroupStatistics() { var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var indexDetails = reader.ReadRowGroupIndex(1, 0).ToList(); - var indexDetail = indexDetails[1]; - Assert.Equal("BZX", indexDetail.RowGroupDetails[0].Statistics.StringStatistics.Minimum); - Assert.Equal("BZX", indexDetail.RowGroupDetails[0].Statistics.StringStatistics.Maximum); - Assert.Equal(0, indexDetail.RowGroupDetails[0].Position.DecompressedOffset); - Assert.Equal(0, indexDetail.RowGroupDetails[0].Position.ValueOffset); + var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); + var rowGroupDetail = rowGroupDetails[0]; + Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); + Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); + Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); + Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); } } } From 4941f490a8375441eddff40ef3d623f3a72c29ed Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Wed, 30 Mar 2022 02:15:32 -0600 Subject: [PATCH 012/143] Include stubs for next development steps. --- .../Encodings/SpanIntegerRunLengthEncodingV2.cs | 15 +++++++++++++++ src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs | 11 ++++++++--- .../SpanRowGroupIndex.cs | 7 +++---- 3 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs new file mode 100644 index 0000000..01f55ae --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs @@ -0,0 +1,15 @@ +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.Encodings +{ + public static class SpanIntegerRunLengthEncodingV2 + { + enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } + + public static int ReadValues(ReadOnlySequence input, Position position, bool isSigned, Span values) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 6785348..eaf5543 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -24,7 +24,7 @@ public sealed class OrcReader readonly OrcReaderConfiguration _configuration; readonly IByteRangeProvider _byteRangeProvider; readonly SpanFileTail _fileTail; - readonly Dictionary> _sliceStreams = new(); + readonly Dictionary> _stripeStreams = new(); public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { @@ -59,10 +59,10 @@ public ColumnStatistics GetFileColumnStatistics(int columnId) public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) { - if(!_sliceStreams.TryGetValue(stripeId, out var streamDetails)) + if(!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) { streamDetails = ReadStripeFooter(stripeId).ToList(); - _sliceStreams.Add(stripeId, streamDetails); + _stripeStreams.Add(stripeId, streamDetails); } var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); @@ -79,6 +79,11 @@ public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) return result; } + public int ReadLongValues(Span output, StreamPosition position) + { + throw new NotImplementedException(); + } + IEnumerable ReadStripeFooter(int stripeId) { var stripe = _fileTail.Footer.Stripes[stripeId]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs index 5a064ad..5bb70e4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -9,7 +9,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public record RowGroupDetail(ColumnStatistics Statistics, List StreamPositions); - public record StreamPosition(int StreamId, Position Position); + public record StreamPosition(StreamDetail Stream, Position Position); public record Position(long ChunkFileOffset, int? DecompressedOffset, int ValueOffset, int? ValueOffset2); public static class SpanRowGroupIndex @@ -24,15 +24,14 @@ public static IEnumerable ReadRowGroupDetails(ReadOnlySequence(); var positions = entry.Positions.ToArray().AsSpan(); - for (int i = 0; i < streamDetails.Count; i++) + foreach(var stream in streamDetails) { - var stream = streamDetails[i]; var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); if (numConsumedPositions == 0) continue; var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); - streamPositions.Add(new StreamPosition(StreamId: i, Position: streamPosition)); + streamPositions.Add(new StreamPosition(Stream: stream, Position: streamPosition)); positions = positions[numConsumedPositions..]; } if (positions.Length != 0) From 84cec81b8e896983149b4113f9edcf70afdd1467 Mon Sep 17 00:00:00 2001 From: Douglas Drinka Date: Wed, 30 Mar 2022 05:35:04 -0600 Subject: [PATCH 013/143] Added StripeColumnStatistics from Metadata section. --- .../OrcReader.cs | 5 +++++ .../SpanFileTail.cs | 17 +++++++++++++---- .../Data/orctest_fromEnd_1942_1942.orc | Bin 1942 -> 0 bytes .../Data/orctest_fromEnd_20178_20178.orc | Bin 0 -> 20178 bytes .../OrcReader_Test.cs | 14 ++++++++++++++ .../TestByteRangeProvider.cs | 3 +++ 6 files changed, 35 insertions(+), 4 deletions(-) delete mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1942_1942.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_20178_20178.orc diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index eaf5543..5b2f550 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -57,6 +57,11 @@ public ColumnStatistics GetFileColumnStatistics(int columnId) return _fileTail.Footer.Statistics[columnId]; } + public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + { + return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + } + public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) { if(!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs index 13416f0..db0d34c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs @@ -9,6 +9,7 @@ public sealed class SpanFileTail { public Protocol.PostScript PostScript { get; private init; } public Protocol.Footer Footer { get; private init; } + public Protocol.Metadata Metadata { get; private init; } public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, out int additionalBytesRequired) { @@ -36,6 +37,10 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, throw new InvalidDataException("Postscript didn't contain magic bytes"); accumulatedLength += (int)postScript.FooterLength; + int footerStart = buffer.Length - accumulatedLength; + accumulatedLength += (int)postScript.MetadataLength; + int metadataStart = buffer.Length - accumulatedLength; + if (buffer.Length < accumulatedLength) { additionalBytesRequired = accumulatedLength - buffer.Length; @@ -43,15 +48,19 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, return false; } - int footerStart = buffer.Length - accumulatedLength; var compressedFooter = buffer.Slice(footerStart, (int)postScript.FooterLength); - using var decompressedMemorySequence = new DecompressingMemorySequence(compressedFooter, postScript.Compression, (int)postScript.CompressionBlockSize); - var footer = Serializer.Deserialize(decompressedMemorySequence.Sequence); + using var decompressedFooterSequence = new DecompressingMemorySequence(compressedFooter, postScript.Compression, (int)postScript.CompressionBlockSize); + var footer = Serializer.Deserialize(decompressedFooterSequence.Sequence); + + var compressedMetadata = buffer.Slice(metadataStart, (int)postScript.MetadataLength); + using var decompressedMetadataSequence = new DecompressingMemorySequence(compressedMetadata, postScript.Compression, (int)postScript.CompressionBlockSize); + var metadata = Serializer.Deserialize(decompressedMetadataSequence.Sequence); fileTail = new SpanFileTail { PostScript = postScript, - Footer = footer + Footer = footer, + Metadata = metadata }; additionalBytesRequired = 0; return true; diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1942_1942.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/orctest_fromEnd_1942_1942.orc deleted file mode 100644 index 95701c17bf819c985445b4f63327f91c364e2fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1942 zcmV;H2Wj~54gh6TYfw|^8Rnea4w02Fsmq+rw9~V6JGJgK6GA}AuUc1Una)~9aHY1> zP8QB0BM=+F+D?B&ZXp<8xnGv+0wuD@O%ekrC@cu-0%8pcg2-+0f|v!dE)n{kbBIl+ znK^S#p6~gd_j#Z1J%`|-}yMtP`&tWefpnd?-Do98ztzO6DNla zPZ0GlfM0wH@cowc_mTA}PPSOA5~>a0(W3x6?lk+O-bI|8OsU{tJp*68Hu@3Dd4iL- zt!4?;4sh`?fbH`eN72w@oUD3to@1L?k#EgW==CyAn(d%{5#T|lWPkqb8Fb@2ocwmA z<}KTY$Qn-1z)(4;^j6hNs8$zVG12xVhVq`{q<*ZJD+$DIQX z43$DO*;g{%{PZo@lW=4LKY7o~xwcrHf^S~s;m83x_uH~LoaN`v8S8Ll06%vdinxAR zewDMvilb`K8S64|ey$z^e8}8%9Y+_z=Yxg|oc~cq$J94{4@YN#-`bKSp)6eZKE&$W z++!RqfPSvC?ClZy5M?9D8#ro%oGoUfTh5k8*(M$u0R8IrdN=zW0w?ENw`YX)Q)w={%|jO8>&H{waxgrto#mmr zC7jGDf}AZbo$sGjukuh4^wnQeAfZ}ZI-B~=6h0cA!^wqW3#Z=_#+>_>qX2O5f6GzI z`B^%~^;OSD#W1s7-LDawCtJ5W-DKmVfms;Cs#Xbg3GkUvz~?fr4uKB%$t;@Y&YjKQ zkzGB(M|BH0S#&dLu+-t?qqcKAaye%ZQ8$@+`vaq6 zNX-nlZMH1H$26>^hAi3 z!GE?L-rp`4-nE$L6e1(|OwO+1`eNsEbGjo_goZ#Tr>T~kTh`APYcmxhGz&gW=ZiT$ zdybZ5XR`>MpMmd2LzQ52WO6zzK9{~xNT5ZiYcFhY1hT+f4No<4epr1y{5(+$ycb^%UFPy<`$}u?$?-(?B#hiRw9`2`aANFdv`!}d zgpQBbL@|GZ<3cnMC+P$kKP)Pqi_Lv9vEvh~VPE z#b@tAV(0Fi3eW$$b375tV=ym;aC?sn_t?Jpd)^n5T3wV}b4n9&f|kdh(&$dgPt&@1 zFew%I%N24zMeT@Ht`-r@EyP3pbN0daJu&Y$$HS#wN5eikbeK-~t5$dN0Qps=ty&!7 z5uUeC?ZeWfVgg5p$fZfsIuG#lU^T_zQsOxuIj8R0_@s4ne5-3{QV8qzl=6S5N!Lyf zWWvaM88cq6GTv$zs6Sv=l<$fKL2~~frPOP$Qlavb?^Ol_1gL=2|IfZYOzp?9e8t{= z$^eBzzE|b1RQfAbN~!l-zDgCaFDMYUjP@^%Fwo&iclV1P=l3Y1Cxm`7z`kjmd*u2KXlSo3qa zTfc<3atF499`0KnH+=sy@HoFB^*qZd z0@hG%RxJi6^0KhxLtm+wPr*;hKXQnoNb{wk`#4ZGm%4n^yV!X42*vz~k|G4C<9a(^ z?Mc zT5H#1mlU)~JSH8}yY^SL_x}ESy}q^9XL=T73JJ4E{d&&#Oh3TC-=Am-n!0qc1^^{d~fmJn_kC{EMvn0%`=!iCDRNCt6np`Lr2YFUBTw2oQD%xW=3>kT=*FH@Z`!n z0j4)xgT80B2e2*MKY`r(F>*nFZx>xY-KMpble2?zl=U?8U`4z;rZAb;IICzAETJ&Hnqn2P6_9FS4|K0R``e+<}gs3#`MI@dUys3||yaKlq@nlOd%gGri351W@>gKpE z_(!HO@Y{lB2~%a6w`!6!$;?R-Ϝ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 Date: Mon, 4 Apr 2022 18:10:35 -0300 Subject: [PATCH 014/143] Add initial integer RLE V2 optimized reader infrastructure. Add initial test app. --- ApacheOrcDotNet.sln | 11 +- .../SpanIntegerRunLengthEncodingV2.cs | 183 +++++++++++++++++- .../FileByteRangeProvider.cs | 6 +- ...heOrcDotNet.OptimizedReaderTest.App.csproj | 23 +++ .../OptimizedORCApp.cs | 34 ++++ .../Program.cs | 72 +++++++ .../Encodings/BitManipulation.cs | 70 ++++++- .../OrcReader_Test.cs | 59 +++++- 8 files changed, 444 insertions(+), 14 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs diff --git a/ApacheOrcDotNet.sln b/ApacheOrcDotNet.sln index e7ca668..11593e9 100644 --- a/ApacheOrcDotNet.sln +++ b/ApacheOrcDotNet.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31129.286 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32319.34 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{58463841-CD45-4229-9E70-A0B74E70ADD7}" ProjectSection(SolutionItems) = preProject @@ -33,6 +33,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedRe EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReader.Test", "test\ApacheOrcDotNet.OptimizedReader.Test\ApacheOrcDotNet.OptimizedReader.Test.csproj", "{AE3C0606-2210-40ED-AE93-67DBD06461BE}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApacheOrcDotNet.OptimizedReaderTest.App", "src\ApacheOrcDotNet.OptimizedReaderTest.App\ApacheOrcDotNet.OptimizedReaderTest.App.csproj", "{E8C6F47D-51EE-4488-AF63-2898C01A6515}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -63,6 +65,10 @@ Global {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Release|Any CPU.Build.0 = Release|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -74,6 +80,7 @@ Global {F3C9D56A-913A-453D-9C42-B9F467748413} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {AE3C0606-2210-40ED-AE93-67DBD06461BE} = {40D373E1-A120-41E0-9D3D-1BACC719BB38} + {E8C6F47D-51EE-4488-AF63-2898C01A6515} = {58463841-CD45-4229-9E70-A0B74E70ADD7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BAAC5D9A-83A0-432F-9987-90C49734F761} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs index 01f55ae..d81ff91 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs @@ -1,5 +1,6 @@ -using System; -using System.Buffers; +using ApacheOrcDotNet.Encodings; +using System; +using System.IO; namespace ApacheOrcDotNet.OptimizedReader.Encodings { @@ -7,9 +8,183 @@ public static class SpanIntegerRunLengthEncodingV2 { enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } - public static int ReadValues(ReadOnlySequence input, Position position, bool isSigned, Span values) + public static int ReadValues(ReadOnlySpan input, Position position, bool isSigned, Span values) { - throw new NotImplementedException(); + int numValues = 0; + int firstByte = input[0]; + + if (firstByte < 0) + return 0; + + var encodingType = (EncodingType)((firstByte >> 6) & 0x3); + switch (encodingType) + { + case EncodingType.ShortRepeat: + numValues += ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values); + break; + case EncodingType.Direct: + numValues += ReadDirectValues(firstByte, isSigned, input.Slice(1), values); + break; + case EncodingType.PatchedBase: + numValues += ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values); + break; + case EncodingType.Delta: + numValues += ReadDeltaValues(firstByte, isSigned, input.Slice(1), values); + break; + } + + return numValues; + } + + private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var width = ((firstByte >> 3) & 0x7) + 1; + var repeatCount = (firstByte & 0x7) + 3; + var value = input.ReadLongBE(width); + + if (isSigned) + value = value.ZigzagDecode(); + + for (int i = 0; i < repeatCount; i++) + values[i] = value; + + return repeatCount; + } + + private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var offset = 0; + var encodedWidth = (firstByte >> 1) & 0x1f; + var width = encodedWidth.DecodeDirectWidth(); + int length = (firstByte & 0x1) << 8; + + length |= input[offset++]; + length += 1; + + return input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); + } + + private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var offset = 0; + var encodedWidth = (firstByte >> 1) & 0x1f; + var width = encodedWidth.DecodeDirectWidth(); + int length = (firstByte & 0x1) << 8; + length |= input[offset++]; + length += 1; + + var thirdByte = input[offset++]; + var baseValueWidth = ((thirdByte >> 5) & 0x7) + 1; + var encodedPatchWidth = thirdByte & 0x1f; + var patchWidth = encodedPatchWidth.DecodeDirectWidth(); + + var fourthByte = input[offset++]; + var patchGapWidth = ((fourthByte >> 5) & 0x7) + 1; + var patchListLength = fourthByte & 0x1f; + + long baseValue = input.Slice(offset).ReadLongBE(baseValueWidth); + long msbMask = (1L << ((baseValueWidth * 8) - 1)); + if ((baseValue & msbMask) != 0) + { + baseValue = baseValue & ~msbMask; + baseValue = -baseValue; + } + + //Buffer all the values so we can patch them + offset += baseValueWidth; + Span dataValues = stackalloc long[length]; + var numDataValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, dataValues); + + if (patchGapWidth + patchWidth > 64) + throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); + + offset += numDataValues; + Span patchListValues = stackalloc long[patchListLength]; + var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); + var numPatchListValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); + + int patchIndex = 0; + long gap = 0; + long patch; + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + + for (int i = 0; i < length; i++) + { + if (i == gap) + { + var patchedValue = dataValues[i] | (patch << width); + values[i] = baseValue + patchedValue; + + if (patchIndex < patchListLength) + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + } + else + values[i] = baseValue + dataValues[i]; + } + + return length; + } + + private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var offset = 0; + var valueIndex = 0; + var encodedWidth = (firstByte >> 1) & 0x1f; + int width = 0; + if (encodedWidth != 0) //EncodedWidth 0 means Width 0 for Delta + width = encodedWidth.DecodeDirectWidth(); + int length = (firstByte & 0x1) << 8; + length |= input[offset++]; + //Delta lengths start at 0 + + if (isSigned) + values[valueIndex++] = input.ReadVarIntSigned(ref offset); + else + values[valueIndex++] = input.ReadVarIntUnsigned(ref offset); + + var deltaBase = input.ReadVarIntSigned(ref offset); + if (width == 0) + { + //Uses a fixed delta base for every value + for (int i = 0; i < length; i++) + { + values[valueIndex++] = values[valueIndex - 2] + deltaBase; + } + } + else + { + values[valueIndex++] = values[valueIndex - 2] + deltaBase; + + Span deltaValues = stackalloc long[length - 1]; + var numDeltaValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); + + for (int index = 0; index < numDeltaValues; index++) + { + if (deltaBase > 0) + values[valueIndex++] = values[valueIndex - 2] + deltaValues[index]; + else + values[valueIndex++] = values[valueIndex - 2] - deltaValues[index]; + } + } + + return length; + } + + private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) + { + var raw = patchListValues[patchIndex]; + patchIndex++; + long curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + while (curGap == 255 && patch == 0) + { + gap += 255; + raw = patchListValues[patchIndex]; + patchIndex++; + curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + } + gap += curGap; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs index 8cc58bb..a083ae3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs @@ -1,9 +1,5 @@ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -29,7 +25,7 @@ public void GetRange(Span buffer, int position) public void GetRangeFromEnd(Span buffer, int positionFromEnd) { - _stream.Seek(positionFromEnd, SeekOrigin.End); + _stream.Seek(-positionFromEnd, SeekOrigin.End); DoRead(buffer); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj new file mode 100644 index 0000000..643b745 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj @@ -0,0 +1,23 @@ + + + + net5.0 + Exe + false + + + + + + + + + + + + + + + + + diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs new file mode 100644 index 0000000..7622554 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -0,0 +1,34 @@ +using ApacheOrcDotNet.OptimizedReader; +using System; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class OptimizedORCAppConfituration + { + public DateTime Date { get; set; } + public string Source { get; set; } + public string Symbol { get; set; } + public TimeSpan BeginTime { get; set; } + public TimeSpan EndTime { get; set; } + } + + public class OptimizedORCApp + { + private readonly OptimizedORCAppConfituration _confituration; + private readonly IByteRangeProviderFactory _byteRangeProviderFactory; + + public OptimizedORCApp(OptimizedORCAppConfituration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + { + _confituration = confituration; + _byteRangeProviderFactory = byteRangeProviderFactory; + } + + public void Run() + { + var byteRangeProvider = _byteRangeProviderFactory.Create(_confituration.Source); + var optimizedOrcReader = new OptimizedReader.OrcReader(new OrcReaderConfiguration(), byteRangeProvider); + + var rowGroupIndex = optimizedOrcReader.ReadRowGroupIndex(columnId: 0, stripeId: 0); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs new file mode 100644 index 0000000..ffa62f6 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -0,0 +1,72 @@ +using ApacheOrcDotNet.OptimizedReader; +using Microsoft.Extensions.Configuration; +using System; +using System.Diagnostics; +using System.Globalization; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + internal class Program + { + static void Main(string[] args) + { + var cultureInfo = CultureInfo.GetCultureInfo("en-US"); + + CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; + CultureInfo.DefaultThreadCurrentCulture = cultureInfo; + + var config = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: true) + .AddEnvironmentVariables("apacheorc_app_") + .AddCommandLine(args) + .Build() + ; + + var date = config.GetValue("date", DateTime.Now.ToString("d")); + var source = config.GetValue("source", string.Empty); + var symbol = config.GetValue("symbol", string.Empty); + var beginTime = config.GetValue("beginTime", "00:00:00"); + var endTime = config.GetValue("endTime", "23:45:00"); + + var isValidDate = DateTime.TryParse(date, out var parsedDate); + var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); + var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); + + if (!isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + { + Console.WriteLine("Usage: --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Environment.Exit(-1); + } + + Console.WriteLine("Running.. CTRL+C to exit."); + Console.WriteLine(); + Console.WriteLine($"Pid: {Environment.ProcessId}"); + Console.WriteLine($"date: '{date}'"); + Console.WriteLine($"source: '{source}'"); + Console.WriteLine($"symbol: '{symbol}'"); + Console.WriteLine($"beginTime: '{beginTime}'"); + Console.WriteLine($"endTime: '{endTime}'"); + + var configs = new OptimizedORCAppConfituration + { + Date = parsedDate, + Source = source, + Symbol = symbol, + BeginTime = parsedBeginTime, + EndTime = parsedEndTime + }; + + var fileByteRangeProviderFactory = new FileByteRangeProviderFactory(); + var optimizedORCApp = new OptimizedORCApp(configs, fileByteRangeProviderFactory); + var stopWatch = new Stopwatch(); + + stopWatch.Start(); + optimizedORCApp.Run(); + stopWatch.Stop(); + + Console.WriteLine(); + Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); + Console.WriteLine(); + } + } +} diff --git a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs index 3fc9d02..39cdf33 100644 --- a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs +++ b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs @@ -3,11 +3,10 @@ using System.IO; using System.Linq; using System.Numerics; -using System.Threading.Tasks; namespace ApacheOrcDotNet.Encodings { - public static class BitManipulation + public static class BitManipulation { public static byte CheckedReadByte(this Stream stream) { @@ -28,6 +27,20 @@ public static long ReadLongBE(this Stream stream, int numBytes) return result; } + public static long ReadLongBE(this ReadOnlySpan buffer, int numBytes) + { + if (buffer.Length < numBytes) + throw new InvalidOperationException("Attempt to read past end of stream"); + + long result = 0; + for (int i = numBytes - 1; i >= 0; i--) + { + long nextByte = buffer[numBytes - i - 1]; + result |= nextByte << (i * 8); + } + return result; + } + public static float ReadFloat(this byte[] buffer, int startIndex) { return BitConverter.ToSingle(buffer, startIndex); @@ -234,6 +247,37 @@ public static IEnumerable ReadBitpackedIntegers(this Stream stream, int bi } } + public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isSigned, int bitWidth, int count, Span values) + { + byte currentByte = 0; + int bitsAvailable = 0; + int currentByteIndex = 0; + for (int i = 0; i < count; i++) + { + ulong result = 0; + int neededBits = bitWidth; + while (neededBits > bitsAvailable) + { + result <<= bitsAvailable; //Make space for incoming bits + result |= currentByte & ((1u << bitsAvailable) - 1); //OR in the bits + neededBits -= bitsAvailable; + currentByte = stream[currentByteIndex++]; + bitsAvailable = 8; + } + + if (neededBits > 0) //Left over bits + { + result <<= neededBits; + bitsAvailable -= neededBits; + result |= ((ulong)currentByte >> bitsAvailable) & ((1ul << neededBits) - 1); + } + + values[i] = isSigned ? ((long)result).ZigzagDecode() : (long)result; + } + + return count; + } + public static void WriteBitpackedIntegers(this Stream stream, IEnumerable values, int bitWidth) { byte currentByte = 0; @@ -279,6 +323,22 @@ public static long ReadVarIntUnsigned(this Stream stream) return result; } + public static long ReadVarIntUnsigned(this ReadOnlySpan buffer, ref int offset) + { + long result = 0; + long currentByte; + int bitCount = 0; + do + { + currentByte = buffer[offset++]; + result |= (currentByte & 0x7f) << bitCount; + bitCount += 7; + } + while (currentByte >= 0x80); //Done when the high bit is not set + + return result; + } + public static void WriteVarIntUnsigned(this Stream stream, long value) { while (true) @@ -304,6 +364,12 @@ public static long ReadVarIntSigned(this Stream stream) return unsigned.ZigzagDecode(); } + public static long ReadVarIntSigned(this ReadOnlySpan buffer, ref int offset) + { + var unsigned = ReadVarIntUnsigned(buffer, ref offset); + return unsigned.ZigzagDecode(); + } + public static void WriteVarIntSigned(this Stream stream, long value) { var encodedValue = value.ZigzagEncode(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 7d9b326..023bfca 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.Protocol; using System; using System.Linq; using Xunit; @@ -78,5 +79,61 @@ public void RowGroupStatistics() Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); } + + [Fact] + public void IntegerRunLengthEncoding_Read_ShortRepeat() + { + Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; + Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; + Span output = stackalloc long[5]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRunLengthEncoding_Read_Direct() + { + Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; + Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; + Span output = stackalloc long[4]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRunLengthEncoding_Read_PatchedBase() + { + Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; + Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; + Span output = stackalloc long[20]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRunLengthEncoding_Read_Delta() + { + Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; + Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; + Span output = stackalloc long[10]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } } } From b01192358a908a3ee238f9e683e0436121c6c4ea Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Apr 2022 10:05:17 -0300 Subject: [PATCH 015/143] Fix tracking of bytes read and offsets. --- .../SpanIntegerRunLengthEncodingV2.cs | 57 +++++++------------ .../OrcReader.cs | 9 +-- .../Encodings/BitManipulation.cs | 6 +- .../OrcReader_Test.cs | 8 +-- 4 files changed, 32 insertions(+), 48 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs index d81ff91..2b5b471 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs @@ -10,30 +10,17 @@ enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } public static int ReadValues(ReadOnlySpan input, Position position, bool isSigned, Span values) { - int numValues = 0; - int firstByte = input[0]; - - if (firstByte < 0) - return 0; - + var firstByte = input[0]; var encodingType = (EncodingType)((firstByte >> 6) & 0x3); - switch (encodingType) - { - case EncodingType.ShortRepeat: - numValues += ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values); - break; - case EncodingType.Direct: - numValues += ReadDirectValues(firstByte, isSigned, input.Slice(1), values); - break; - case EncodingType.PatchedBase: - numValues += ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values); - break; - case EncodingType.Delta: - numValues += ReadDeltaValues(firstByte, isSigned, input.Slice(1), values); - break; - } - return numValues; + return encodingType switch + { + EncodingType.ShortRepeat => ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values), + EncodingType.Direct => ReadDirectValues(firstByte, isSigned, input.Slice(1), values), + EncodingType.PatchedBase => ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values), + EncodingType.Delta => ReadDeltaValues(firstByte, isSigned, input.Slice(1), values), + _ => throw new InvalidOperationException($"Invalid encoding type: {encodingType}") + }; } private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -48,7 +35,7 @@ private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlyS for (int i = 0; i < repeatCount; i++) values[i] = value; - return repeatCount; + return width; } private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -61,7 +48,9 @@ private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -89,19 +78,17 @@ private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlyS baseValue = baseValue & ~msbMask; baseValue = -baseValue; } + offset += baseValueWidth; //Buffer all the values so we can patch them - offset += baseValueWidth; - Span dataValues = stackalloc long[length]; - var numDataValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, dataValues); + offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); if (patchGapWidth + patchWidth > 64) throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); - offset += numDataValues; Span patchListValues = stackalloc long[patchListLength]; var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); - var numPatchListValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); + offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); int patchIndex = 0; long gap = 0; @@ -112,17 +99,17 @@ private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlyS { if (i == gap) { - var patchedValue = dataValues[i] | (patch << width); + var patchedValue = values[i] | (patch << width); values[i] = baseValue + patchedValue; if (patchIndex < patchListLength) GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); } else - values[i] = baseValue + dataValues[i]; + values[i] = baseValue + values[i]; } - return length; + return offset; } private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -156,9 +143,9 @@ private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan deltaValues = stackalloc long[length - 1]; - var numDeltaValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); + offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); - for (int index = 0; index < numDeltaValues; index++) + for (int index = 0; index < deltaValues.Length; index++) { if (deltaBase > 0) values[valueIndex++] = values[valueIndex - 2] + deltaValues[index]; @@ -167,7 +154,7 @@ private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 5b2f550..8e83d73 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -1,13 +1,10 @@ -using ApacheOrcDotNet.Compression; -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using System; using System.Buffers; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -48,7 +45,7 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa .Select((stripe, i) => new StripeDetail(StripeId: i, RowCount: (long)stripe.NumberOfRows)) .ToList(); } - + public IEnumerable ColumnDetails { get; } public IReadOnlyCollection StripeDetails { get; } @@ -64,7 +61,7 @@ public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) { - if(!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) + if (!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) { streamDetails = ReadStripeFooter(stripeId).ToList(); _stripeStreams.Add(stripeId, streamDetails); diff --git a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs index 39cdf33..187dd91 100644 --- a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs +++ b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs @@ -249,9 +249,9 @@ public static IEnumerable ReadBitpackedIntegers(this Stream stream, int bi public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isSigned, int bitWidth, int count, Span values) { + var bytesRead = 0; byte currentByte = 0; int bitsAvailable = 0; - int currentByteIndex = 0; for (int i = 0; i < count; i++) { ulong result = 0; @@ -261,7 +261,7 @@ public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isS result <<= bitsAvailable; //Make space for incoming bits result |= currentByte & ((1u << bitsAvailable) - 1); //OR in the bits neededBits -= bitsAvailable; - currentByte = stream[currentByteIndex++]; + currentByte = stream[bytesRead++]; bitsAvailable = 8; } @@ -275,7 +275,7 @@ public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isS values[i] = isSigned ? ((long)result).ZigzagDecode() : (long)result; } - return count; + return bytesRead; } public static void WriteBitpackedIntegers(this Stream stream, IEnumerable values, int bitWidth) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 023bfca..48a2f1d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -88,7 +88,7 @@ public void IntegerRunLengthEncoding_Read_ShortRepeat() Span output = stackalloc long[5]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); @@ -102,7 +102,7 @@ public void IntegerRunLengthEncoding_Read_Direct() Span output = stackalloc long[4]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); @@ -116,7 +116,7 @@ public void IntegerRunLengthEncoding_Read_PatchedBase() Span output = stackalloc long[20]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); @@ -130,7 +130,7 @@ public void IntegerRunLengthEncoding_Read_Delta() Span output = stackalloc long[10]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); From efcc0f2fa0eb56817ee84182c2058c95c590d096 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Sun, 10 Apr 2022 11:14:33 -0300 Subject: [PATCH 016/143] Add raw optimized column readers infrastructure. --- ApacheOrcDotNet.sln | 11 +- ...nchmarks.SwitchStatements-report-github.md | 14 + ...icroBenchmarks.SwitchStatements-report.csv | 3 + ...croBenchmarks.SwitchStatements-report.html | 31 ++ perf/MicroBenchmarks/MicroBenchmarks.csproj | 12 + perf/MicroBenchmarks/Program.cs | 12 + perf/MicroBenchmarks/ReaderBenchmarks.cs | 12 + .../ApacheOrcDotNet.OptimizedReader.csproj | 1 + .../ByteRangeProviderExtensions.cs | 30 +- .../ColumTypes/OptimizedColumnReader.cs | 313 ++++++++++++++ .../ColumTypes/OptimizedDecimalReader.cs | 188 +++++++++ .../ColumTypes/OptimizedLongReader.cs | 95 +++++ .../ColumTypes/OptimizedStringReader.cs | 194 +++++++++ .../Specialized/BaseColumnReader.cs | 378 +++++++++++++++++ .../ColumTypes/Specialized/BinaryReader.cs | 85 ++++ .../ColumTypes/Specialized/BooleanReader.cs | 57 +++ .../ColumTypes/Specialized/ByteReader.cs | 57 +++ .../ColumTypes/Specialized/DateReader.cs | 59 +++ .../DecimalAsDoubleDirectV2Reader.cs | 71 ++++ .../Specialized/DecimalDirectV2Reader.cs | 71 ++++ .../ColumTypes/Specialized/DoubleReader.cs | 64 +++ .../Specialized/IntegerDirectV2Reader.cs | 57 +++ .../ColumTypes/Specialized/ReaderContext.cs | 35 ++ .../Specialized/StringDictionaryV2Reader.cs | 98 +++++ .../Specialized/StringDirectV2Reader.cs | 86 ++++ .../ColumTypes/Specialized/TimestampReader.cs | 94 +++++ .../OptimizedByteRunLengthEncodingReader.cs | 40 ++ .../OptimizedIntegerRunLengthEncodingV2.cs | 286 +++++++++++++ .../Encodings/OptimizedStrings.cs | 184 +++++++++ .../SpanIntegerRunLengthEncodingV2.cs | 177 -------- .../FileByteRangeProvider.cs | 26 +- .../IByteRangeProvider.cs | 4 +- .../DecompressingMemorySequence.cs | 14 +- .../OrcOptimizedReader.cs | 387 ++++++++++++++++++ .../OrcReader.cs | 219 ++++++++-- .../SpanRowGroupIndex.cs | 13 +- .../SpanStripeFooter.cs | 5 +- .../StatsExtensions.cs | 58 ++- .../OptimizedORCApp.cs | 61 ++- .../Program.cs | 10 +- src/ApacheOrcDotNet/ApacheOrcDotNet.csproj | 2 +- .../Encodings/BitManipulation.cs | 70 +--- src/ApacheOrcDotNet/Protocol/RowIndex.cs | 5 +- src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs | 5 +- src/Directory.Build.props | 2 +- .../OrcReader_Test.cs | 274 ++++++------- .../TestByteRangeProvider.cs | 12 +- 47 files changed, 3479 insertions(+), 503 deletions(-) create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html create mode 100644 perf/MicroBenchmarks/MicroBenchmarks.csproj create mode 100644 perf/MicroBenchmarks/Program.cs create mode 100644 perf/MicroBenchmarks/ReaderBenchmarks.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs diff --git a/ApacheOrcDotNet.sln b/ApacheOrcDotNet.sln index 11593e9..07dfd63 100644 --- a/ApacheOrcDotNet.sln +++ b/ApacheOrcDotNet.sln @@ -33,7 +33,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedRe EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReader.Test", "test\ApacheOrcDotNet.OptimizedReader.Test\ApacheOrcDotNet.OptimizedReader.Test.csproj", "{AE3C0606-2210-40ED-AE93-67DBD06461BE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApacheOrcDotNet.OptimizedReaderTest.App", "src\ApacheOrcDotNet.OptimizedReaderTest.App\ApacheOrcDotNet.OptimizedReaderTest.App.csproj", "{E8C6F47D-51EE-4488-AF63-2898C01A6515}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReaderTest.App", "src\ApacheOrcDotNet.OptimizedReaderTest.App\ApacheOrcDotNet.OptimizedReaderTest.App.csproj", "{E8C6F47D-51EE-4488-AF63-2898C01A6515}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "perf", "perf", "{23793296-3A05-4668-8967-364E6F73EE78}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MicroBenchmarks", "perf\MicroBenchmarks\MicroBenchmarks.csproj", "{F03F6A0D-A431-4A8A-9ED3-FF4690051713}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -69,6 +73,10 @@ Global {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Debug|Any CPU.Build.0 = Debug|Any CPU {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.ActiveCfg = Release|Any CPU {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.Build.0 = Release|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -81,6 +89,7 @@ Global {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {AE3C0606-2210-40ED-AE93-67DBD06461BE} = {40D373E1-A120-41E0-9D3D-1BACC719BB38} {E8C6F47D-51EE-4488-AF63-2898C01A6515} = {58463841-CD45-4229-9E70-A0B74E70ADD7} + {F03F6A0D-A431-4A8A-9ED3-FF4690051713} = {23793296-3A05-4668-8967-364E6F73EE78} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BAAC5D9A-83A0-432F-9987-90C49734F761} diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md new file mode 100644 index 0000000..0a127ca --- /dev/null +++ b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md @@ -0,0 +1,14 @@ +``` ini + +BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2) +Intel Core i7-10750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores +.NET SDK=6.0.300 + [Host] : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT + DefaultJob : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT + + +``` +| Method | Mean | Error | StdDev | Rank | Allocated | +|---------------- |---------:|----------:|----------:|-----:|----------:| +| Standard | 1.770 ns | 0.0102 ns | 0.0090 ns | 2 | - | +| PatternMatching | 1.688 ns | 0.0584 ns | 0.0738 ns | 1 | - | diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv new file mode 100644 index 0000000..372d078 --- /dev/null +++ b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv @@ -0,0 +1,3 @@ +Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;Platform;PowerPlanMode;Runtime;AllowVeryLargeObjects;Concurrent;CpuGroups;Force;HeapAffinitizeMask;HeapCount;NoAffinitize;RetainVm;Server;Arguments;BuildConfiguration;Clock;EngineFactory;NuGetReferences;Toolchain;IsMutator;InvocationCount;IterationCount;IterationTime;LaunchCount;MaxIterationCount;MaxWarmupIterationCount;MemoryRandomization;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;Mean;Error;StdDev;Rank;Allocated +Standard;DefaultJob;False;Default;Default;Default;Default;Default;Default;111111111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 5.0;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1.770 ns;0.0102 ns;0.0090 ns;2;0 B +PatternMatching;DefaultJob;False;Default;Default;Default;Default;Default;Default;111111111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 5.0;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1.688 ns;0.0584 ns;0.0738 ns;1;0 B diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html new file mode 100644 index 0000000..d872424 --- /dev/null +++ b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html @@ -0,0 +1,31 @@ + + + + +MicroBenchmarks.SwitchStatements-20220517-160420 + + + + +

+BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2)
+Intel Core i7-10750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores
+.NET SDK=6.0.300
+  [Host]     : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT
+  DefaultJob : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT
+
+
+ + + + + + +
MethodMeanErrorStdDevRankAllocated
Standard1.770 ns0.0102 ns0.0090 ns2-
PatternMatching1.688 ns0.0584 ns0.0738 ns1-
+ + diff --git a/perf/MicroBenchmarks/MicroBenchmarks.csproj b/perf/MicroBenchmarks/MicroBenchmarks.csproj new file mode 100644 index 0000000..3e276d4 --- /dev/null +++ b/perf/MicroBenchmarks/MicroBenchmarks.csproj @@ -0,0 +1,12 @@ + + + + Exe + net5.0 + + + + + + + diff --git a/perf/MicroBenchmarks/Program.cs b/perf/MicroBenchmarks/Program.cs new file mode 100644 index 0000000..3e46cbc --- /dev/null +++ b/perf/MicroBenchmarks/Program.cs @@ -0,0 +1,12 @@ +using BenchmarkDotNet.Running; + +namespace MicroBenchmarks +{ + internal class Program + { + static void Main(string[] args) + { + _ = BenchmarkRunner.Run(); + } + } +} diff --git a/perf/MicroBenchmarks/ReaderBenchmarks.cs b/perf/MicroBenchmarks/ReaderBenchmarks.cs new file mode 100644 index 0000000..2fb03d8 --- /dev/null +++ b/perf/MicroBenchmarks/ReaderBenchmarks.cs @@ -0,0 +1,12 @@ +using BenchmarkDotNet.Attributes; + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class ReaderBenchmarks + { + [Benchmark] + public int Standard() => default; // TODO: Add Benchmarks. + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj index b756cef..bbaa48e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj +++ b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj @@ -2,6 +2,7 @@ net5.0 + true diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs index 0d4202d..8e84dde 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs @@ -1,29 +1,43 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Buffers; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { public static class ByteRangeProviderExtensions { + public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) + { + var buffer = ArrayPool.Shared.Rent(compressedLength); + + try + { + var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); + + provider.GetRange(bufferSpan, offset); + + return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); + } + finally + { + ArrayPool.Shared.Return(buffer); + } + } + /// /// Retrieves data from byte range, decompresses it, provides it to the parser, and then releases it /// /// /// Any data returned from the parser must be a copy and not a reference to the input bytes /// - public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int length, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) + public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) { - var buffer = ArrayPool.Shared.Rent(length); + var buffer = ArrayPool.Shared.Rent(compressedLength); TResult result; try { - var bufferSpan = buffer.AsSpan()[..length]; - provider.GetRange(bufferSpan, (int)offset); //TODO support > 2TB files + var bufferSpan = buffer.AsSpan()[..compressedLength]; + provider.GetRange(bufferSpan, offset); //TODO support > 2TB files using (var decompressed = new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize)) { result = parser(decompressed.Sequence); diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs new file mode 100644 index 0000000..1bbfadc --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs @@ -0,0 +1,313 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public abstract class OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedColumnReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + protected ColumnEncodingKind? GetColumnEncodingKind(StreamKind streamKind) + { + var stripeStream = GetStripeStream(streamKind); + if (stripeStream == null) + return null; + return stripeStream.EncodingKind; + } + + protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) + { + var stream = _readContext.Streams.SingleOrDefault(stream => + stream.ColumnId == _readContext.Column.ColumnId + && stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + [SkipLocalsInit] + protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) + throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); + + int skippedValues = 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( + ref dataReader, + isSigned, + valuesBufferSpan + ); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)valuesBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + protected void ReadByteStream(StreamKind streamKind, Span outputValues, out int numValuesRead) + { + numValuesRead = 0; + + var stream = GetStripeStream(streamKind); + if (stream == null) + return; + + int skippedValues = 0; + int rowGroupOffset = streamKind switch + { + StreamKind.Secondary => _readContext.GetRowEntryPosition(2), + StreamKind.Length => _readContext.GetRowEntryPosition(0), + StreamKind.Data => _readContext.GetRowEntryPosition(0), + _ => throw new NotImplementedException() + }; + int rowEntryOffset = (streamKind, _readContext.Column.ColumnType) switch + { + (StreamKind.Length, ColumnTypeKind.String) => 0, + (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(3), + (StreamKind.Data, _) => _readContext.GetRowEntryPosition(1), + _ => throw new NotImplementedException() + }; + int valuesToSkip = (streamKind, _readContext.Column.ColumnType) switch + { + (StreamKind.Length, ColumnTypeKind.String) => 0, + (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(4), + (StreamKind.Data, _) => _readContext.GetRowEntryPosition(2), + _ => throw new NotImplementedException() + }; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + rowGroupOffset, + compressedLength: stream.Length - rowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var dataReader = new SequenceReader(dataBuffer.Sequence); + + dataReader.Advance(rowEntryOffset); + + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < valuesToSkip) + continue; + + outputValues[numValuesRead++] = valuesBufferSpan[idx]; + + if (numValuesRead >= outputValues.Length) + return; + } + } + } + + [SkipLocalsInit] + protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + int skippedValues = 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = bigInt.Value; + + if (numValuesRead >= outputValues.Length) + break; + } + + return numValuesRead; + } + + private static BigInteger? ReadBigVarInt(ref SequenceReader stream) + { + var value = BigInteger.Zero; + long currentLong = 0; + int bitCount = 0; + + while (true) + { + if (!stream.TryRead(out var currentByte)) + return null; // Reached the end of the stream + + currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); + bitCount += 7; + + if (bitCount % 63 == 0) + { + if (bitCount == 63) + value = new BigInteger(currentLong); + else + value |= new BigInteger(currentLong) << (bitCount - 63); + + currentLong = 0; + } + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + if (currentLong != 0) // Some bits left to add to result + { + var shift = (bitCount / 63) * 63; + value |= new BigInteger(currentLong) << shift; + } + + // Un zig-zag + return ((long)value).ZigzagDecode(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs new file mode 100644 index 0000000..2a4686c --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs @@ -0,0 +1,188 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedDecimalReader : OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedDecimalReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Secondary + var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream: null, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Secondary + var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + var secondaryIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + secondaryIndex++; + } + else + outputValues[numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + [SkipLocalsInit] + public int ReadAsDouble(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Secondary + var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + if (presentStreamRequired) + { + var secondaryIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[secondaryIndex++]); + else + outputValues[numValuesRead++] = double.NaN; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + private double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); + + private decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs new file mode 100644 index 0000000..2980557 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs @@ -0,0 +1,95 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedLongReader : OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedLongReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var dataStream = GetStripeStream(StreamKind.Data); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Data + var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataStreamPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + for (int idx = 0; idx < numDataValuesRead; idx++) + outputValues[numValuesRead++] = dataBuffer[idx]; + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(dataBuffer); + } + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var dataIndex = 0; + var numValuesRead = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + outputValues[numValuesRead++] = dataBuffer[dataIndex++]; + else + outputValues[numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + outputValues[numValuesRead++] = dataBuffer[idx]; + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs new file mode 100644 index 0000000..353f534 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs @@ -0,0 +1,194 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedStringReader : OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + [SkipLocalsInit] + public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch + { + ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), + ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), + _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") + }; + + [SkipLocalsInit] + private int ReadDirectV2(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Length + var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + var numValuesRead = 0; + if (presentStreamRequired) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + outputValues[numValuesRead++] = null; + + if (numValuesRead >= outputValues.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + + if (numValuesRead >= outputValues.Length) + break; + } + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); + } + } + + [SkipLocalsInit] + private int ReadDictionaryV2(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); + + var dictionarySize = lengthStream.DictionarySize; + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Length + var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Dictionary Data + var dictionaryDataPositions = _readContext.GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _byteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + var numValuesRead = 0; + if (presentStreamRequired) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + outputValues[numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + outputValues[numValuesRead++] = null; + + if (numValuesRead >= outputValues.Length) + break; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + + if (numValuesRead >= outputValues.Length) + break; + } + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(dataBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthBuffer, clearArray: false); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs new file mode 100644 index 0000000..b08689e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs @@ -0,0 +1,378 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public readonly record struct StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); + + public abstract class BaseColumnReader : IDisposable + { + private protected readonly ReaderContext _readerContext; + private protected readonly TOutput[] _outputValuesRaw; + private protected readonly int _numMaxValuesToRead; + private protected int _numValuesRead; + + public BaseColumnReader(ReaderContext readerContext) + { + _readerContext = readerContext; + _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); + _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; + } + + public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); + + public virtual void Dispose() + { + ArrayPool.Shared.Return(_outputValuesRaw); + } + + public abstract void FillBuffer(); + + protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) + { + var stream = _readerContext.Streams.SingleOrDefault(stream => + stream.ColumnId == _readerContext.Column.ColumnId + && stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + [SkipLocalsInit] + private protected int ReadByteStream(StreamDetail stream, in StreamPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = valuesBufferSpan[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) + { + if (stream == null) + return 0; + + if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) + throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( + ref dataReader, + isSigned, + valuesBufferSpan + ); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)valuesBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + int skippedValues = 0; + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = bigInt.Value; + + if (numValuesRead >= outputValues.Length) + break; + } + + return numValuesRead; + } + + private protected StreamPositions GetPresentStreamPositions(StreamDetail presentStream) + { + if (presentStream == null) + return new(); + + return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); + } + + private protected StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) + { + var positionStep = presentStream == null ? 0 : 4; + + int rowGroupOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), + + _ => throw new NotImplementedException() + }; + int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), + + _ => throw new NotImplementedException() + }; + int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), + + _ => throw new NotImplementedException() + }; + + return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); + } + + private protected double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); + + private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; + } + + private int GetRowEntryPosition(int positionIndex) => (int)_readerContext.RowIndexEntry.Positions[positionIndex]; + + private BigInteger? ReadBigVarInt(ref SequenceReader stream) + { + var value = BigInteger.Zero; + long currentLong = 0; + int bitCount = 0; + + while (true) + { + if (!stream.TryRead(out var currentByte)) + return null; // Reached the end of the stream + + currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); + bitCount += 7; + + if (bitCount % 63 == 0) + { + if (bitCount == 63) + value = new BigInteger(currentLong); + else + value |= new BigInteger(currentLong) << (bitCount - 63); + + currentLong = 0; + } + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + if (currentLong != 0) // Some bits left to add to result + { + var shift = (bitCount / 63) * 63; + value |= new BigInteger(currentLong) << shift; + } + + // Un zig-zag + return ((long)value).ZigzagDecode(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs new file mode 100644 index 0000000..7b29739 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs @@ -0,0 +1,85 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class BinaryReader : BaseColumnReader + { + public BinaryReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStreamRequired) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs new file mode 100644 index 0000000..ed8170e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class BooleanReader : BaseColumnReader + { + public BooleanReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs new file mode 100644 index 0000000..b34ec65 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class ByteReader : BaseColumnReader + { + public ByteReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs new file mode 100644 index 0000000..6f5eeac --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs @@ -0,0 +1,59 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DateTimeReader : BaseColumnReader + { + readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + public DateTimeReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + if (presentStreamRequired) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[dataIndex++] * TimeSpan.TicksPerDay); + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[idx] * TimeSpan.TicksPerDay); + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs new file mode 100644 index 0000000..8fd400d --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs @@ -0,0 +1,71 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DecimalAsDoubleDirectV2Reader : BaseColumnReader + { + public DecimalAsDoubleDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var secondaryIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _outputValuesRaw[_numValuesRead++] = double.NaN; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs new file mode 100644 index 0000000..81eaf2a --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs @@ -0,0 +1,71 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DecimalDirectV2Reader : BaseColumnReader + { + public DecimalDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var secondaryIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs new file mode 100644 index 0000000..c053244 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs @@ -0,0 +1,64 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DoubleReader : BaseColumnReader + { + public DoubleReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + dataIndex += 8; + } + else + _outputValuesRaw[_numValuesRead++] = double.NaN; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + dataIndex += 8; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs new file mode 100644 index 0000000..a7b9103 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class IntegerDirectV2Reader : BaseColumnReader + { + public IntegerDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs new file mode 100644 index 0000000..bf6c208 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs @@ -0,0 +1,35 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class ReaderContext + { + public ReaderContext(IByteRangeProvider byteRangeProvider, SpanFileTail fileTail, ColumnDetail columnDetails, IEnumerable columnStreams, RowIndex rowGroup, int rowEntryIndex) + { + ByteRangeProvider = byteRangeProvider ?? throw new ArgumentNullException(nameof(byteRangeProvider)); + FileTail = fileTail ?? throw new ArgumentNullException(nameof(fileTail)); + Streams = columnStreams ?? throw new ArgumentNullException(nameof(Stream)); + Column = columnDetails ?? throw new ArgumentNullException(nameof(columnDetails)); + Row = rowGroup ?? throw new ArgumentNullException(nameof(rowGroup)); + RowEntryIndex = rowEntryIndex; + + RowIndexEntry = Row.Entry[RowEntryIndex]; + CompressionKind = FileTail.PostScript.Compression; + CompressionBlockSize = (int)FileTail.PostScript.CompressionBlockSize; + } + + public IByteRangeProvider ByteRangeProvider { get; } + public SpanFileTail FileTail { get; } + public IEnumerable Streams { get; } + public ColumnDetail Column { get; } + public RowIndex Row { get; } + public int RowEntryIndex { get; } + public int StripeId { get; } + + public RowIndexEntry RowIndexEntry { get; } + public CompressionKind CompressionKind { get; } + public int CompressionBlockSize { get; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs new file mode 100644 index 0000000..3697dc5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs @@ -0,0 +1,98 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class StringDictionaryV2Reader : BaseColumnReader + { + public StringDictionaryV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + [SkipLocalsInit] + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); + + var dictionarySize = lengthStream.DictionarySize; + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Dictionary Data + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + if (presentStreamRequired) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(dataBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthBuffer, clearArray: false); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs new file mode 100644 index 0000000..9c3a83f --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs @@ -0,0 +1,86 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class StringDirectV2Reader : BaseColumnReader + { + public StringDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStreamRequired) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs new file mode 100644 index 0000000..73417ea --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs @@ -0,0 +1,94 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class TimestampReader : BaseColumnReader + { + readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + public TimestampReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + if (presentStreamRequired) + { + var secondaryIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var seconds = dataBuffer[idx]; + var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + secondaryIndex++; + } + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + { + var seconds = dataBuffer[idx]; + var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + private long EncodedNanosToTicks(long encodedNanos) + { + var scale = (int)(encodedNanos & 0x7); + var nanos = encodedNanos >> 3; + + if (scale == 0) + return nanos; + + while (scale-- >= 0) + nanos *= 10; + + return nanos / 100; //100 nanoseconds per tick + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs new file mode 100644 index 0000000..eca2056 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs @@ -0,0 +1,40 @@ +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.Encodings +{ + public static class OptimizedByteRunLengthEncodingReader + { + public static int ReadValues(ref SequenceReader reader, Span outputValues) + { + var numReadValues = 0; + + if (!reader.TryRead(out var firstByte)) + return numReadValues; + + if (firstByte < 0x80) // A run + { + numReadValues = firstByte + 3; + + if (!reader.TryRead(out var repeatedByte)) + throw new InvalidOperationException("Read past end of stream"); + + for (int i = 0; i < numReadValues; i++) + outputValues[i] = repeatedByte; + } + else // Literals + { + numReadValues = 0x100 - firstByte; + for (int i = 0; i < numReadValues; i++) + { + if (!reader.TryRead(out var value)) + throw new InvalidOperationException("Read past end of stream"); + + outputValues[i] = value; + } + } + + return numReadValues; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs new file mode 100644 index 0000000..7ee5c44 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs @@ -0,0 +1,286 @@ +using ApacheOrcDotNet.Encodings; +using System; +using System.Buffers; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader.Encodings +{ + public static class OptimizedIntegerRunLengthEncodingV2 + { + enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } + + public static int ReadValues(ref SequenceReader reader, bool isSigned, Span outputValues) + { + var numReadValues = 0; + + if (!reader.TryRead(out var firstByte)) + return numReadValues; + + var encodingType = (EncodingType)((firstByte >> 6) & 0x3); + + switch (encodingType) + { + case EncodingType.ShortRepeat: + ReadShortRepeatValues(firstByte, isSigned, ref reader, outputValues, ref numReadValues); + break; + case EncodingType.Direct: + ReadDirectValues(firstByte, isSigned, ref reader, outputValues, ref numReadValues); + break; + case EncodingType.PatchedBase: + ReadPatchedBaseValues(firstByte, isSigned: false, ref reader, outputValues, ref numReadValues); + break; + case EncodingType.Delta: + ReadDeltaValues(firstByte, isSigned, ref reader, outputValues, ref numReadValues); + break; + default: + throw new InvalidOperationException($"Invalid encoding type: {encodingType}"); + }; + + return numReadValues; + } + + private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + var width = ((firstByte >> 3) & 0x7) + 1; + numReadValues = (firstByte & 0x7) + 3; + + var repeatingValue = ReadLongBE(ref reader, width, isSigned); + + for (int i = 0; i < numReadValues; i++) + outputValues[i] = repeatingValue; + + return width; + } + + private static void ReadDirectValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + var encodedWidth = (firstByte >> 1) & 0x1f; + var width = encodedWidth.DecodeDirectWidth(); + numReadValues = (firstByte & 0x1) << 8; + + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + + numReadValues |= nextByte; + numReadValues += 1; + + ReadBitpackedIntegers(ref reader, isSigned, width, numReadValues, outputValues); + } + + private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + var encodedWidth = (firstByte >> 1) & 0x1f; + var directBitWidth = encodedWidth.DecodeDirectWidth(); + numReadValues = (firstByte & 0x1) << 8; + + Span nextBytes = stackalloc byte[3]; + if (!reader.TryCopyTo(nextBytes)) + throw new InvalidOperationException("Read past end of stream"); + reader.Advance(3); + + numReadValues |= nextBytes[0]; + numReadValues += 1; + + var baseValueWidth = ((nextBytes[1] >> 5) & 0x7) + 1; + var encodedPatchWidth = nextBytes[1] & 0x1f; + var patchWidth = encodedPatchWidth.DecodeDirectWidth(); + + var patchGapWidth = ((nextBytes[2] >> 5) & 0x7) + 1; + var patchListLength = nextBytes[2] & 0x1f; + + long baseValue = ReadLongBE(ref reader, baseValueWidth); + long msbMask = (1L << ((baseValueWidth * 8) - 1)); + if ((baseValue & msbMask) != 0) + { + baseValue = baseValue & ~msbMask; + baseValue = -baseValue; + } + + //Buffer all the values so we can patch thems + ReadBitpackedIntegers(ref reader, isSigned, directBitWidth, numReadValues, outputValues); + + if (patchGapWidth + patchWidth > 64) + throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); + + var patchListValues = ArrayPool.Shared.Rent(patchListLength); + var patchListValuesSpan = patchListValues.AsSpan().Slice(0, patchListLength); + + try + { + var gap = 0L; + var patch = 0L; + var patchIndex = 0; + var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); + ReadBitpackedIntegers(ref reader, isSigned, patchListWidth, patchListLength, patchListValuesSpan); + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + + for (int i = 0; i < numReadValues; i++) + { + if (i == gap) + { + var patchedValue = outputValues[i] | (patch << directBitWidth); + outputValues[i] = baseValue + patchedValue; + + if (patchIndex < patchListLength) + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + } + else + outputValues[i] = baseValue + outputValues[i]; + } + } + finally + { + ArrayPool.Shared.Return(patchListValues, clearArray: false); + } + } + + private static void ReadDeltaValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + int index = 0; + int bitWidth = 0; + int encodedWidth = (firstByte >> 1) & 0x1f; + if (encodedWidth != 0) // EncodedWidth 0 means Width 0 for Delta + bitWidth = encodedWidth.DecodeDirectWidth(); + numReadValues = (firstByte & 0x1) << 8; + + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + numReadValues |= nextByte; + + if (isSigned) + outputValues[index++] = ReadVarIntSigned(ref reader); + else + outputValues[index++] = ReadVarIntUnsigned(ref reader); + + var deltaBase = ReadVarIntSigned(ref reader); + if (bitWidth == 0) + { + // Uses a fixed delta base for every value + for (int i = 0; i <= numReadValues; i++) + { + outputValues[index++] = outputValues[index - 2] + deltaBase; + } + } + else + { + outputValues[index++] = outputValues[index - 2] + deltaBase; + + var deltaValues = ArrayPool.Shared.Rent(numReadValues - 1); + var deltaValuesSpan = deltaValues.AsSpan().Slice(0, numReadValues - 1); + + try + { + ReadBitpackedIntegers(ref reader, isSigned: false, bitWidth, numReadValues - 1, deltaValuesSpan); + + for (int i = 0; i < deltaValues.Length; i++) + { + outputValues[index++] = deltaBase > 0 + ? outputValues[index - 2] + deltaValues[i] + : outputValues[index - 2] - deltaValues[i]; + } + } + finally + { + ArrayPool.Shared.Return(deltaValues, clearArray: false); + } + } + + numReadValues++; // Delta lengths start at 0 + } + + private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) + { + var raw = patchListValues[patchIndex]; + patchIndex++; + long curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + while (curGap == 255 && patch == 0) + { + gap += 255; + raw = patchListValues[patchIndex]; + patchIndex++; + curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + } + gap += curGap; + } + + private static void ReadBitpackedIntegers(ref SequenceReader reader, bool isSigned, int bitWidth, int count, Span outputValues) + { + byte currentByte = 0; + int bitsAvailable = 0; + for (int i = 0; i < count; i++) + { + ulong result = 0; + int neededBits = bitWidth; + while (neededBits > bitsAvailable) + { + result <<= bitsAvailable; // Make space for incoming bits + result |= currentByte & ((1u << bitsAvailable) - 1); // OR in the bits + neededBits -= bitsAvailable; + + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + currentByte = nextByte; + + bitsAvailable = 8; + } + + if (neededBits > 0) // Left over bits + { + result <<= neededBits; + bitsAvailable -= neededBits; + result |= ((ulong)currentByte >> bitsAvailable) & ((1ul << neededBits) - 1); + } + + outputValues[i] = isSigned + ? ((long)result).ZigzagDecode() + : (long)result; + } + } + + private static long ReadLongBE(ref SequenceReader reader, int numBytes, bool isSigned = false) + { + long result = 0; + + for (int i = numBytes - 1; i >= 0; i--) + { + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + + result |= (long)nextByte << (i * 8); + } + + return isSigned + ? result.ZigzagDecode() + : result; + } + + private static long ReadVarIntSigned(ref SequenceReader reader) + { + var unsigned = ReadVarIntUnsigned(ref reader); + return unsigned.ZigzagDecode(); + } + + private static long ReadVarIntUnsigned(ref SequenceReader reader) + { + long result = 0; + int bitCount = 0; + + while (true) + { + if (!reader.TryRead(out var currentByte)) + throw new InvalidOperationException("Read past end of stream"); + + result |= ((long)currentByte & 0x7f) << bitCount; + bitCount += 7; + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + return result; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs new file mode 100644 index 0000000..477aeb7 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs @@ -0,0 +1,184 @@ +//using System; +//using System.Buffers; +//using System.Runtime.CompilerServices; + +//namespace ApacheOrcDotNet.OptimizedReader.Encodings +//{ +// public static class OptimizedStrings +// { +// [SkipLocalsInit] +// public static void ReadDirectV2(Span outputValues) +// { +// var numValuesRead = 0; +// var maxValuesToRead = outputValues.Length; +// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + +// try +// { +// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); +// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); + +// ReadBinaryStream( +// StreamKind.Data, +// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), +// lengthsBuffer.AsSpan().Slice(0, numLengthValuesRead), +// outputValues, +// ref numValuesRead +// ); +// } +// finally +// { +// ArrayPool.Shared.Return(presentBuffer, clearArray: false); +// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); +// } +// } +// } +//} + + +//using ApacheOrcDotNet.Protocol; +//using System; +//using System.Buffers; +//using System.IO; +//using System.Runtime.CompilerServices; + +//namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +//{ +// public class OptimizedStringReader : OptimizedColumnReader +// { +// public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReadContext readContext) : base(fileTail, byteRangeProvider, readContext) +// { +// } + +// [SkipLocalsInit] +// public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch +// { +// ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), +// ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), +// _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") +// }; + +// [SkipLocalsInit] +// private int ReadDirectV2(Span outputValues) +// { +// var numValuesRead = 0; +// var maxValuesToRead = outputValues.Length; +// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + +// try +// { +// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); +// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); + +// ReadBinaryStream(StreamKind.Data, presentBuffer, lengthsBuffer, outputValues, ref numValuesRead); + +// //if (numValuesRead != numLengthValuesRead) +// // throw new InvalidDataException("DATA and LENGTH streams must be available"); + +// //int stringOffset = 0; +// //if (numPresentValuesRead <= 0) +// //{ +// // for (int idx = 0; idx < numLengthValuesRead; idx++) +// // { +// // var length = (int)lengthsBuffer[idx]; +// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); +// // stringOffset += length; +// // } +// //} +// //else +// //{ +// // for (int idx = 0; idx < numPresentValuesRead; idx++) +// // { +// // var isPresent = presentBuffer[idx]; +// // if (isPresent) +// // { +// // if (idx + stringOffset >= numLengthValuesRead) +// // throw new InvalidDataException("The PRESENT data stream's length didn't match the LENGTH stream's length"); +// // var length = (int)lengthsBuffer[idx]; +// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); +// // stringOffset += length; +// // } +// // else +// // outputValues[numValuesRead++] = null; +// // } +// //} + +// return numValuesRead; +// } +// finally +// { +// ArrayPool.Shared.Return(presentBuffer, clearArray: false); +// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); +// } +// } + +// [SkipLocalsInit] +// private int ReadDictionaryV2(Span outputValues) +// { +// var numValuesRead = 0; +// var maxValuesToRead = outputValues.Length; +// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var lengthBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + +// try +// { +// if (!IsDataStreamAvailable || !IsDictionaryDataStreamAvailable || !IsLengthStreamAvailable) +// throw new InvalidDataException("DATA, DICTIONARY_DATA, and LENGTH streams must be available"); + +// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); +// ReadNumericStream(StreamKind.Data, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead), out var numDataValuesRead); +// ReadNumericStream(StreamKind.Length, isSigned: false, lengthBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); + +// ReadBinaryStream( +// StreamKind.DictionaryData, +// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), +// lengthBuffer.AsSpan().Slice(0, numLengthValuesRead), +// outputValues, +// ref numValuesRead +// ); + +// //int stringOffset = 0; +// //List stringsList = new(); +// //for (int idx = 0; idx < numLengthValuesRead; idx++) +// //{ +// // var length = (int)lengthBuffer[idx]; +// // var value = Encoding.UTF8.GetString(dictionaryBufferSpan.Slice(stringOffset, length)); +// // stringOffset += length; +// // stringsList.Add(value); +// //} + +// //if (numPresentValuesRead <= 0) +// //{ +// // for (int idx = 0; idx < numDataValuesRead; idx++) +// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; +// //} +// //else +// //{ +// // for (int idx = 0; idx < numPresentValuesRead; idx++) +// // { +// // var isPresent = presentBuffer[idx]; +// // if (isPresent) +// // { +// // if (idx >= numDataValuesRead) +// // throw new InvalidDataException("The PRESENT data stream's length didn't match the DATA stream's length"); +// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; +// // } +// // else +// // outputValues[numValuesRead++] = null; +// // } +// //} + +// return numValuesRead; +// } +// finally +// { +// ArrayPool.Shared.Return(presentBuffer, clearArray: false); +// ArrayPool.Shared.Return(dataBuffer, clearArray: false); +// ArrayPool.Shared.Return(lengthBuffer, clearArray: false); +// } +// } +// } +//} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs deleted file mode 100644 index 2b5b471..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs +++ /dev/null @@ -1,177 +0,0 @@ -using ApacheOrcDotNet.Encodings; -using System; -using System.IO; - -namespace ApacheOrcDotNet.OptimizedReader.Encodings -{ - public static class SpanIntegerRunLengthEncodingV2 - { - enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } - - public static int ReadValues(ReadOnlySpan input, Position position, bool isSigned, Span values) - { - var firstByte = input[0]; - var encodingType = (EncodingType)((firstByte >> 6) & 0x3); - - return encodingType switch - { - EncodingType.ShortRepeat => ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values), - EncodingType.Direct => ReadDirectValues(firstByte, isSigned, input.Slice(1), values), - EncodingType.PatchedBase => ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values), - EncodingType.Delta => ReadDeltaValues(firstByte, isSigned, input.Slice(1), values), - _ => throw new InvalidOperationException($"Invalid encoding type: {encodingType}") - }; - } - - private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var width = ((firstByte >> 3) & 0x7) + 1; - var repeatCount = (firstByte & 0x7) + 3; - var value = input.ReadLongBE(width); - - if (isSigned) - value = value.ZigzagDecode(); - - for (int i = 0; i < repeatCount; i++) - values[i] = value; - - return width; - } - - private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var offset = 0; - var encodedWidth = (firstByte >> 1) & 0x1f; - var width = encodedWidth.DecodeDirectWidth(); - int length = (firstByte & 0x1) << 8; - - length |= input[offset++]; - length += 1; - - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); - - return offset; - } - - private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var offset = 0; - var encodedWidth = (firstByte >> 1) & 0x1f; - var width = encodedWidth.DecodeDirectWidth(); - int length = (firstByte & 0x1) << 8; - length |= input[offset++]; - length += 1; - - var thirdByte = input[offset++]; - var baseValueWidth = ((thirdByte >> 5) & 0x7) + 1; - var encodedPatchWidth = thirdByte & 0x1f; - var patchWidth = encodedPatchWidth.DecodeDirectWidth(); - - var fourthByte = input[offset++]; - var patchGapWidth = ((fourthByte >> 5) & 0x7) + 1; - var patchListLength = fourthByte & 0x1f; - - long baseValue = input.Slice(offset).ReadLongBE(baseValueWidth); - long msbMask = (1L << ((baseValueWidth * 8) - 1)); - if ((baseValue & msbMask) != 0) - { - baseValue = baseValue & ~msbMask; - baseValue = -baseValue; - } - offset += baseValueWidth; - - //Buffer all the values so we can patch them - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); - - if (patchGapWidth + patchWidth > 64) - throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); - - Span patchListValues = stackalloc long[patchListLength]; - var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); - - int patchIndex = 0; - long gap = 0; - long patch; - GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); - - for (int i = 0; i < length; i++) - { - if (i == gap) - { - var patchedValue = values[i] | (patch << width); - values[i] = baseValue + patchedValue; - - if (patchIndex < patchListLength) - GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); - } - else - values[i] = baseValue + values[i]; - } - - return offset; - } - - private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var offset = 0; - var valueIndex = 0; - var encodedWidth = (firstByte >> 1) & 0x1f; - int width = 0; - if (encodedWidth != 0) //EncodedWidth 0 means Width 0 for Delta - width = encodedWidth.DecodeDirectWidth(); - int length = (firstByte & 0x1) << 8; - length |= input[offset++]; - //Delta lengths start at 0 - - if (isSigned) - values[valueIndex++] = input.ReadVarIntSigned(ref offset); - else - values[valueIndex++] = input.ReadVarIntUnsigned(ref offset); - - var deltaBase = input.ReadVarIntSigned(ref offset); - if (width == 0) - { - //Uses a fixed delta base for every value - for (int i = 0; i < length; i++) - { - values[valueIndex++] = values[valueIndex - 2] + deltaBase; - } - } - else - { - values[valueIndex++] = values[valueIndex - 2] + deltaBase; - - Span deltaValues = stackalloc long[length - 1]; - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); - - for (int index = 0; index < deltaValues.Length; index++) - { - if (deltaBase > 0) - values[valueIndex++] = values[valueIndex - 2] + deltaValues[index]; - else - values[valueIndex++] = values[valueIndex - 2] - deltaValues[index]; - } - } - - return offset; - } - - private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) - { - var raw = patchListValues[patchIndex]; - patchIndex++; - long curGap = (long)((ulong)raw >> patchWidth); - patch = raw & patchMask; - while (curGap == 255 && patch == 0) - { - gap += 255; - raw = patchListValues[patchIndex]; - patchIndex++; - curGap = (long)((ulong)raw >> patchWidth); - patch = raw & patchMask; - } - gap += curGap; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs index a083ae3..788da32 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs @@ -17,28 +17,32 @@ public void Dispose() _stream.Dispose(); } - public void GetRange(Span buffer, int position) + public int GetRange(Span buffer, long position) { _stream.Seek(position, SeekOrigin.Begin); - DoRead(buffer); + return DoRead(buffer); } - public void GetRangeFromEnd(Span buffer, int positionFromEnd) + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { _stream.Seek(-positionFromEnd, SeekOrigin.End); - DoRead(buffer); + return DoRead(buffer); } - private void DoRead(Span buffer) + private int DoRead(Span buffer) { - int start = 0; - int remaining = buffer.Length; - while (remaining > 0) + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) { - int count = _stream.Read(buffer[start..]); - start += count; - remaining -= count; + int count = _stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; } + return bytesRead; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs index d46205c..71e6bd8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs @@ -4,7 +4,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public interface IByteRangeProvider : IDisposable { - void GetRange(Span buffer, int position); - void GetRangeFromEnd(Span buffer, int positionFromEnd); + int GetRange(Span buffer, long position); + int GetRangeFromEnd(Span buffer, long positionFromEnd); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index 2d34f34..ed355bd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -17,13 +17,21 @@ public DecompressingMemorySequence(ReadOnlySpan compressedBuffer, Compress { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, compressedBuffer[position..]); var decompressedSegment = ArrayPool.Shared.Rent(compressionBlockSize); - var decompressedLength = OrcCompressedBlock.DecompressBlock(compressionKind, compressedBuffer.Slice(position, compressedChunkLength), decompressedSegment); - - _end = new SequenceNode(decompressedSegment, decompressedLength, _end); + var decompressedSegmentSpan = decompressedSegment.AsSpan().Slice(0, compressionBlockSize); + + var chunkToDecompress = (position + compressedChunkLength) > compressedBuffer.Length + ? compressedBuffer.Slice(position) + : compressedBuffer.Slice(position, compressedChunkLength); + + var decompressedLength = OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, decompressedSegmentSpan); + + _end = new SequenceNode(decompressedSegmentSpan.ToArray(), decompressedLength, _end); if (_begin == null) _begin = _end; position += compressedChunkLength; + + ArrayPool.Shared.Return(decompressedSegment); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs new file mode 100644 index 0000000..2e73b29 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -0,0 +1,387 @@ +using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcOptimizedReaderConfiguration + { + public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; + } + + public record ReaderContextOld(IEnumerable Streams, ColumnDetail Column, RowIndex Row, int RowEntryIndex) + { + public RowIndexEntry RowIndexEntry => Row.Entry[RowEntryIndex]; + + public int GetRowEntryPosition(int positionIndex) => (int)RowIndexEntry.Positions[positionIndex]; + + public StreamPositions GetPresentStreamPositions(StreamDetail presentStream) + { + if (presentStream == null) + return new(); + + return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); + } + + public StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) + { + var positionStep = presentStream == null ? 0 : 4; + + int rowGroupOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), + + _ => throw new NotImplementedException() + }; + int rowEntryOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), + + _ => throw new NotImplementedException() + }; + int valuesToSkip = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), + + _ => throw new NotImplementedException() + }; + + return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); + } + } + + public sealed class OrcOptimizedReader + { + private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly SpanFileTail _fileTail; + private readonly List _columnDetails = new(); + private readonly Dictionary> _stripeStreams = new(); + private readonly Dictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly Dictionary<(int columnId, int stripeId), ColumnEncodingKind> _columnEncodings = new(); + private readonly Dictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); + + public OrcOptimizedReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + { + _configuration = configuration; + _byteRangeProvider = byteRangeProvider; + + _fileTail = ReadFileTail(); + if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) + throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); + + _columnDetails = _fileTail.Footer.Types[0].FieldNames.Select((name, i) => + { + var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; + var subTypeKind = _fileTail.Footer.Types[subType].Kind; + return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); + }).ToList(); + } + + public IEnumerable GetStripeIds(string columnName, string min, string max) + => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), columnName, min, max); + + public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, string columnName, string min, string max) + { + var column = GetColumnDetails(columnName); + var columnStats = GetFileColumnStatistics(column.ColumnId); + + if (!columnStats.InRange(column.ColumnType, min, max)) + return Enumerable.Empty(); + + return lookupStripeIds.Where(stripeId => + { + var stripeColumnStats = GetStripeColumnStatistics(column.ColumnId, stripeId); + return stripeColumnStats.InRange(column.ColumnType, min, max); + }); + } + + public IEnumerable GetRowGroupIndexes(int stripeId, string columnName, string min, string max) + { + var column = GetColumnDetails(columnName); + var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); + return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, columnName, min, max); + } + + public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, string columnName, string min, string max) + { + var column = GetColumnDetails(columnName); + var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); + + return lookupIndexes.Where(index => + { + var rowIndexEntry = rowIndex.Entry[index]; + return rowIndexEntry.Statistics.InRange(column.ColumnType, min, max); + }); + } + + public BaseColumnReader CreateBinaryReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new ColumTypes.Specialized.BinaryReader(readerContext); + } + + public BaseColumnReader CreateBooleanReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new BooleanReader(readerContext); + } + + public BaseColumnReader CreateByteReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new ByteReader(readerContext); + } + + public BaseColumnReader CreateDateTimeReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DateTimeReader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateDecimalReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DecimalDirectV2Reader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateDecimalAsDoubleReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DecimalAsDoubleDirectV2Reader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateDoubleReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateFloatReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateIntegerReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new IntegerDirectV2Reader(readerContext); + } + + public BaseColumnReader CreateStringReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DictionaryV2 => new StringDictionaryV2Reader(readerContext), + ColumnEncodingKind.DirectV2 => new StringDirectV2Reader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + + + + + + + + + + + + + + + + private SpanFileTail ReadFileTail() + { + int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; + while (true) + { + var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); + var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(buffer); + + if (success) + return fileTail; + + lengthToReadFromEnd += additionalBytesRequired; + } + } + + private ReaderContext GetReaderContext(int stripeId, int rowEntryIndex, string columnName) + { + var column = GetColumnDetails(columnName); + var streams = GetColumnStreams(column.ColumnId, stripeId); + var rowGroup = GetRowGroupIndex(column.ColumnId, stripeId); + + return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex); + } + + private IEnumerable GetStripeStreams(int stripeId) + { + if (!_stripeStreams.ContainsKey(stripeId)) + { + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); + var stripeFooterLength = (int)stripe.FooterLength; + + var streams = _byteRangeProvider.DecompressAndParseByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanStripeFooter.ReadStreamDetails(sequence, _columnDetails, (long)stripe.Offset) + ).ToList(); + + _stripeStreams.Add(stripeId, streams); + } + + return _stripeStreams[stripeId]; + } + + private ColumnDetail GetColumnDetails(string columnName) + => _columnDetails.Single(colDetail => colDetail.Name.ToLower() == columnName.ToLower()); + + private ColumnStatistics GetFileColumnStatistics(int columnId) + => _fileTail.Footer.Statistics[columnId]; + + private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + + private RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + if (!_rowGroupIndexes.ContainsKey(key)) + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + var index = _byteRangeProvider.DecompressAndParseByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => Serializer.Deserialize(sequence) + ); + + _rowGroupIndexes.Add(key, index); + } + + return _rowGroupIndexes[key]; + } + + private IEnumerable GetColumnStreams(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + if (!_columnStreams.ContainsKey(key)) + { + var stripeStreams = GetStripeStreams(stripeId); + var columnStreams = stripeStreams.Where(s => + s.ColumnId == columnId + ).ToList(); + + _columnStreams.Add(key, columnStreams); + } + + return _columnStreams[key]; + } + + private ColumnEncodingKind GetColumnEncodingKind(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + if (!_columnEncodings.ContainsKey(key)) + { + var firstColumnStream = GetColumnStreams(columnId, stripeId).First(); + + _columnEncodings.Add(key, firstColumnStream.EncodingKind); + } + + return _columnEncodings[key]; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 8e83d73..a450528 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; +using ApacheOrcDotNet.Stripes; using System; using System.Buffers; using System.Collections.Generic; @@ -8,22 +9,20 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcReaderConfiguration - { - public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; - } - + public record FilterArg(string ColumnName, string MinValue, string MaxValue); + public record Filter(int ColumnId, ColumnTypeKind ColumnType, string MinValue, string MaxValue); public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); public record StripeDetail(int StripeId, long RowCount); + public record FilterCriteria(string ColumnName, string minValue, string maxValue); public sealed class OrcReader { - readonly OrcReaderConfiguration _configuration; - readonly IByteRangeProvider _byteRangeProvider; - readonly SpanFileTail _fileTail; - readonly Dictionary> _stripeStreams = new(); + private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly SpanFileTail _fileTail; + private readonly Dictionary> _stripeStreams = new(); - public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { _configuration = configuration; _byteRangeProvider = byteRangeProvider; @@ -46,50 +45,36 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa .ToList(); } - public IEnumerable ColumnDetails { get; } - public IReadOnlyCollection StripeDetails { get; } + public int GetColumnId(string columnName) => ColumnDetails.SingleOrDefault(colDetail => + colDetail.Name.ToLower() == columnName.ToLower() + ).ColumnId; - public ColumnStatistics GetFileColumnStatistics(int columnId) + IEnumerable GetStripeStreams(int stripeId) { - return _fileTail.Footer.Statistics[columnId]; - } - - public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - { - return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - } - - public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) - { - if (!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) + if (!_stripeStreams.ContainsKey(stripeId)) { - streamDetails = ReadStripeFooter(stripeId).ToList(); - _stripeStreams.Add(stripeId, streamDetails); + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here + var stripeFooterLength = (int)stripe.FooterLength; + + var streams = _byteRangeProvider.DecompressAndParseByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) + ).ToList(); + + _stripeStreams.Add(stripeId, streams); } - var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); - var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); - - var result = _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) - ); - - return result; - } - - public int ReadLongValues(Span output, StreamPosition position) - { - throw new NotImplementedException(); + return _stripeStreams[stripeId]; } IEnumerable ReadStripeFooter(int stripeId) { var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here + var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); var stripeFooterLength = (int)stripe.FooterLength; var result = _byteRangeProvider.DecompressAndParseByteRange( @@ -120,5 +105,151 @@ SpanFileTail ReadFileTail() lengthToReadFromEnd += additionalBytesRequired; } } + + + + + + + + + + #region Old Implementation / Tests + + public IEnumerable ColumnDetails { get; } + public IReadOnlyCollection StripeDetails { get; } + + public List ReadOldSource(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 1); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + public List ReadOldSymbol(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 8); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + public List ReadOldTime(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.DecimalReader(stripeStreamReaderCollection, 5); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + public List ReadOldSize(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.LongReader(stripeStreamReaderCollection, 10); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + private IEnumerable GetFilteredStripeIds(List filters) + { + var filteredStripeIds = new List(); + + for (int stripeIndex = 0; stripeIndex < _fileTail.Metadata.StripeStats.Count; stripeIndex++) + { + var isMatch = true; + + for (int colIndex = 0; colIndex < filters.Count; colIndex++) + { + var filter = filters[colIndex]; + var lookupStripeCol = GetStripeColumnStatistics(filter.ColumnId, stripeIndex); + + if (!lookupStripeCol.InRange(filter.ColumnType, filter.MinValue, filter.MaxValue)) + { + isMatch = false; + break; + } + } + + if (isMatch) + filteredStripeIds.Add(stripeIndex); + } + + return filteredStripeIds; + } + + public ColumnStatistics GetFileColumnStatistics(int columnId) + { + return _fileTail.Footer.Statistics[columnId]; + } + + public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + { + return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + } + + public RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + return _byteRangeProvider.DecompressAndParseByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanRowGroupIndex.ReadRowGroupIndex(sequence) + ); + } + + public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) + { + var streamDetails = GetStripeStreams(stripeId); + var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); + var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); + + var result = _byteRangeProvider.DecompressAndParseByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) + ); + + return result; + } + + #endregion } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs index 5bb70e4..3443118 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -10,21 +10,25 @@ namespace ApacheOrcDotNet.OptimizedReader { public record RowGroupDetail(ColumnStatistics Statistics, List StreamPositions); public record StreamPosition(StreamDetail Stream, Position Position); - public record Position(long ChunkFileOffset, int? DecompressedOffset, int ValueOffset, int? ValueOffset2); + public record Position(long ChunkFileOffset, int DecompressedOffset, int ValueOffset, int ValueOffset2); public static class SpanRowGroupIndex { + public static RowIndex ReadRowGroupIndex(ReadOnlySequence inputSequence) + => Serializer.Deserialize(inputSequence); + public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) { bool compressionEnabled = compressionKind != CompressionKind.None; var rowIndex = Serializer.Deserialize(inputSequence); - foreach(var entry in rowIndex.Entry) + foreach (var entry in rowIndex.Entry) { var streamPositions = new List(); var positions = entry.Positions.ToArray().AsSpan(); - foreach(var stream in streamDetails) + + foreach (var stream in streamDetails) { var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); if (numConsumedPositions == 0) @@ -34,6 +38,7 @@ public static IEnumerable ReadRowGroupDetails(ReadOnlySequence ReadRowGroupDetails(ReadOnlySequence streamDetails, bool compressionEnabled) { int positionsToSkip = 0; - foreach(var stream in streamDetails) + foreach (var stream in streamDetails) { if (stream.StreamId >= streamId) break; diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs index f1bbf0a..b731f6e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs @@ -6,7 +6,7 @@ namespace ApacheOrcDotNet.OptimizedReader { - public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind); + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); public static class SpanStripeFooter { @@ -24,7 +24,8 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence Length: (int)stream.Length, ColumnType: columnDetails.FirstOrDefault(c => c.ColumnId == stream.Column)?.ColumnType, StreamKind: stream.Kind, - EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind + EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind, + DictionarySize: (int)stripeFooter.Columns[(int)stream.Column].DictionarySize ); stripeOffset += (long)stream.Length; diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs index a1ccd2a..b134fbf 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -36,9 +36,11 @@ static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => { (StreamKind.Present, _, _) => true, (StreamKind.Data, ColumnTypeKind.Int, _) => false, + (StreamKind.Data, ColumnTypeKind.Long, _) => false, + (StreamKind.Data, ColumnTypeKind.Decimal, _) => false, (StreamKind.Data, ColumnTypeKind.String, _) => false, (StreamKind.Length, _, ColumnEncodingKind.DictionaryV2) => false, - (StreamKind.Secondary, _, _) => throw new NotImplementedException(), + (StreamKind.Secondary, _, _) => false, // Already secondary. //TODO This will need some work to fill in completely _ => throw new NotSupportedException() }; @@ -47,9 +49,9 @@ public static Position GetStreamPositionFromStreamType(this StreamDetail stream, { int positionIndex = 0; var chunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; - var decompressedOffset = compressionEnabled ? (int?)positions[positionIndex++] : null; + var decompressedOffset = compressionEnabled ? (int)positions[positionIndex++] : 0; var valueOffset = (int)positions[positionIndex++]; - var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int?)positions[positionIndex++] : null; + var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int)positions[positionIndex++] : 0; return new Position(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); } @@ -59,15 +61,7 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp switch (columnType) { case ColumnTypeKind.Boolean: - { - if (min != max) - return true; - if (min == "false" && stats.BooleanStatistics.FalseCount > 0) - return true; - if (min == "true" && stats.BooleanStatistics.TrueCount > 0) - return true; - return false; - } + return InRangeBoolean(stats, min == "true", max == "true"); case ColumnTypeKind.Byte: case ColumnTypeKind.Short: case ColumnTypeKind.Int: @@ -75,21 +69,19 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp { var minVal = long.Parse(min); var maxVal = long.Parse(max); - return minVal <= stats.IntStatistics.Maximum && maxVal >= stats.IntStatistics.Minimum; + return InRangeNumeric(stats, minVal, maxVal); } case ColumnTypeKind.Float: case ColumnTypeKind.Double: { var minVal = double.Parse(min); var maxVal = double.Parse(max); - return minVal <= stats.DoubleStatistics.Maximum && maxVal >= stats.DoubleStatistics.Minimum; + return InRangeDouble(stats, minVal, maxVal); } case ColumnTypeKind.String: case ColumnTypeKind.Varchar: case ColumnTypeKind.Char: - { - return min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; - } + return InRangeString(stats, min, max); case ColumnTypeKind.Decimal: { var minVal = decimal.Parse(min); @@ -99,11 +91,41 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); - return minVal <= statsMinVal && maxVal >= statsMaxVal; + return InRangeDecimal(stats, minVal, maxVal); } default: throw new NotImplementedException($"Range check for {columnType} not implemented"); } } + + public static bool InRangeBoolean(this ColumnStatistics stats, bool min, bool max) + { + if (min != max) + return true; + if (!min && stats.BooleanStatistics.FalseCount > 0) + return true; + if (min && stats.BooleanStatistics.TrueCount > 0) + return true; + return false; + } + + public static bool InRangeNumeric(this ColumnStatistics stats, long min, long max) + => min <= stats.IntStatistics.Maximum && max >= stats.IntStatistics.Minimum; + + public static bool InRangeDouble(this ColumnStatistics stats, double min, double max) + => min <= stats.DoubleStatistics.Maximum && max >= stats.DoubleStatistics.Minimum; + + public static bool InRangeString(this ColumnStatistics stats, string min, string max) + => min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; + + public static bool InRangeDecimal(this ColumnStatistics stats, decimal min, decimal max) + { + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMin)) + throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMax)) + throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); + + return min <= statsMax && max >= statsMin; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 7622554..8da49f6 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -3,7 +3,7 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { - public class OptimizedORCAppConfituration + public class OptimizedORCAppConfiguration { public DateTime Date { get; set; } public string Source { get; set; } @@ -14,21 +14,68 @@ public class OptimizedORCAppConfituration public class OptimizedORCApp { - private readonly OptimizedORCAppConfituration _confituration; + private readonly string _orcFileName; + private readonly OptimizedORCAppConfiguration _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public OptimizedORCApp(OptimizedORCAppConfituration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + public OptimizedORCApp(string orcFileName, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) { - _confituration = confituration; + _orcFileName = orcFileName; + _configuration = confituration; _byteRangeProviderFactory = byteRangeProviderFactory; } public void Run() { - var byteRangeProvider = _byteRangeProviderFactory.Create(_confituration.Source); - var optimizedOrcReader = new OptimizedReader.OrcReader(new OrcReaderConfiguration(), byteRangeProvider); + // + var reader = new OrcOptimizedReader( + new OrcOptimizedReaderConfiguration() { OptimisticFileTailReadLength = 1 }, + _byteRangeProviderFactory.Create(_orcFileName) + ); - var rowGroupIndex = optimizedOrcReader.ReadRowGroupIndex(columnId: 0, stripeId: 0); + // + var lookupSource = _configuration.Source; + var lookupSymbol = _configuration.Symbol; + var beginTime = (decimal)_configuration.BeginTime.TotalSeconds; + var endTime = (decimal)_configuration.EndTime.TotalSeconds; + + // + var stripeIds = reader.GetStripeIds("source", lookupSource, lookupSource); + stripeIds = reader.GetStripeIds(stripeIds, "symbol", lookupSymbol, lookupSymbol); + stripeIds = reader.GetStripeIds(stripeIds, "time", $"{beginTime}", $"{endTime}"); + + foreach (var stripeId in stripeIds) + { + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, "source", lookupSource, lookupSource); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "symbol", lookupSymbol, lookupSymbol); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "time", $"{beginTime}", $"{endTime}"); + + foreach (var rowEntryIndex in rowGroupIndexes) + { + var sourceReader = reader.CreateStringReader(stripeId, rowEntryIndex, "source"); + var symbolReader = reader.CreateStringReader(stripeId, rowEntryIndex, "symbol"); + var timeReader = reader.CreateDecimalAsDoubleReader(stripeId, rowEntryIndex, "time"); + var sizeReader = reader.CreateIntegerReader(stripeId, rowEntryIndex, "size"); + + sourceReader.FillBuffer(); + symbolReader.FillBuffer(); + timeReader.FillBuffer(); + sizeReader.FillBuffer(); + + for (int idx = 0; idx < sizeReader.Values.Length; idx++) + { + var source = sourceReader.Values[idx]; + var symbol = symbolReader.Values[idx]; + var time = timeReader.Values[idx]; + var size = sizeReader.Values[idx]; + + if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) + { + Console.WriteLine($"{source},{symbol},{time.ToString().PadRight(15, '0')},{size}"); + } + } + } + } } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index ffa62f6..541e0cb 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -22,6 +22,7 @@ static void Main(string[] args) .Build() ; + var fileName = config.GetValue("fileName", string.Empty); var date = config.GetValue("date", DateTime.Now.ToString("d")); var source = config.GetValue("source", string.Empty); var symbol = config.GetValue("symbol", string.Empty); @@ -32,9 +33,9 @@ static void Main(string[] args) var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); - if (!isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + if (fileName.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) { - Console.WriteLine("Usage: --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine("Usage: --fileName orcFileName --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); Environment.Exit(-1); } @@ -46,8 +47,9 @@ static void Main(string[] args) Console.WriteLine($"symbol: '{symbol}'"); Console.WriteLine($"beginTime: '{beginTime}'"); Console.WriteLine($"endTime: '{endTime}'"); + Console.WriteLine(); - var configs = new OptimizedORCAppConfituration + var configs = new OptimizedORCAppConfiguration { Date = parsedDate, Source = source, @@ -57,7 +59,7 @@ static void Main(string[] args) }; var fileByteRangeProviderFactory = new FileByteRangeProviderFactory(); - var optimizedORCApp = new OptimizedORCApp(configs, fileByteRangeProviderFactory); + var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); stopWatch.Start(); diff --git a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj index c4d11ae..1c678f1 100644 --- a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj +++ b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs index 187dd91..3fc9d02 100644 --- a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs +++ b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs @@ -3,10 +3,11 @@ using System.IO; using System.Linq; using System.Numerics; +using System.Threading.Tasks; namespace ApacheOrcDotNet.Encodings { - public static class BitManipulation + public static class BitManipulation { public static byte CheckedReadByte(this Stream stream) { @@ -27,20 +28,6 @@ public static long ReadLongBE(this Stream stream, int numBytes) return result; } - public static long ReadLongBE(this ReadOnlySpan buffer, int numBytes) - { - if (buffer.Length < numBytes) - throw new InvalidOperationException("Attempt to read past end of stream"); - - long result = 0; - for (int i = numBytes - 1; i >= 0; i--) - { - long nextByte = buffer[numBytes - i - 1]; - result |= nextByte << (i * 8); - } - return result; - } - public static float ReadFloat(this byte[] buffer, int startIndex) { return BitConverter.ToSingle(buffer, startIndex); @@ -247,37 +234,6 @@ public static IEnumerable ReadBitpackedIntegers(this Stream stream, int bi } } - public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isSigned, int bitWidth, int count, Span values) - { - var bytesRead = 0; - byte currentByte = 0; - int bitsAvailable = 0; - for (int i = 0; i < count; i++) - { - ulong result = 0; - int neededBits = bitWidth; - while (neededBits > bitsAvailable) - { - result <<= bitsAvailable; //Make space for incoming bits - result |= currentByte & ((1u << bitsAvailable) - 1); //OR in the bits - neededBits -= bitsAvailable; - currentByte = stream[bytesRead++]; - bitsAvailable = 8; - } - - if (neededBits > 0) //Left over bits - { - result <<= neededBits; - bitsAvailable -= neededBits; - result |= ((ulong)currentByte >> bitsAvailable) & ((1ul << neededBits) - 1); - } - - values[i] = isSigned ? ((long)result).ZigzagDecode() : (long)result; - } - - return bytesRead; - } - public static void WriteBitpackedIntegers(this Stream stream, IEnumerable values, int bitWidth) { byte currentByte = 0; @@ -323,22 +279,6 @@ public static long ReadVarIntUnsigned(this Stream stream) return result; } - public static long ReadVarIntUnsigned(this ReadOnlySpan buffer, ref int offset) - { - long result = 0; - long currentByte; - int bitCount = 0; - do - { - currentByte = buffer[offset++]; - result |= (currentByte & 0x7f) << bitCount; - bitCount += 7; - } - while (currentByte >= 0x80); //Done when the high bit is not set - - return result; - } - public static void WriteVarIntUnsigned(this Stream stream, long value) { while (true) @@ -364,12 +304,6 @@ public static long ReadVarIntSigned(this Stream stream) return unsigned.ZigzagDecode(); } - public static long ReadVarIntSigned(this ReadOnlySpan buffer, ref int offset) - { - var unsigned = ReadVarIntUnsigned(buffer, ref offset); - return unsigned.ZigzagDecode(); - } - public static void WriteVarIntSigned(this Stream stream, long value) { var encodedValue = value.ZigzagEncode(); diff --git a/src/ApacheOrcDotNet/Protocol/RowIndex.cs b/src/ApacheOrcDotNet/Protocol/RowIndex.cs index f70808d..20a3692 100644 --- a/src/ApacheOrcDotNet/Protocol/RowIndex.cs +++ b/src/ApacheOrcDotNet/Protocol/RowIndex.cs @@ -1,12 +1,9 @@ using ProtoBuf; -using System; using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; namespace ApacheOrcDotNet.Protocol { - [ProtoContract] + [ProtoContract] public class RowIndex { [ProtoMember(1)] diff --git a/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs b/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs index 83788d5..be5cf57 100644 --- a/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs +++ b/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs @@ -1,13 +1,10 @@ using ApacheOrcDotNet.Statistics; using ProtoBuf; -using System; using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; namespace ApacheOrcDotNet.Protocol { - [ProtoContract] + [ProtoContract] public class RowIndexEntry { [ProtoMember(1, IsPacked = true)] diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b949448..195788a 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 48a2f1d..60e2cfc 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,139 +1,135 @@ -using ApacheOrcDotNet.OptimizedReader.Encodings; -using ApacheOrcDotNet.Protocol; -using System; -using System.Linq; -using Xunit; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class OrcReader_Test - { - readonly IByteRangeProvider _byteRangeProvider; - public OrcReader_Test() - { - _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); - } - - [Fact] - public void FileTail_DefaultOptomisticSize() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var expectedColumns = new[] - { - new ColumnDetail(1, "Source", ColumnTypeKind.String), - new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), - new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), - }; - Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); - } - - [Fact] - public void FileTail_MinimumInitialReadSize() - { - var reader = new OrcReader(new OrcReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); - var expectedColumns = new[] - { - new ColumnDetail(1, "Source", ColumnTypeKind.String), - new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), - new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), - }; - Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); - } - - [Fact] - public void FileColumnStatistics() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); - Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); - Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); - Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); - Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); - Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); - Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); - Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); - } - - [Fact] - public void StripeColumnStatistics() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); - Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); - Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); - Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); - Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); - Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); - Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum)); - Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum)); - } - - [Fact] - public void RowGroupStatistics() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); - var rowGroupDetail = rowGroupDetails[0]; - Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); - Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); - Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); - Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_ShortRepeat() - { - Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; - Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; - Span output = stackalloc long[5]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_Direct() - { - Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; - Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; - Span output = stackalloc long[4]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_PatchedBase() - { - Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; - Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; - Span output = stackalloc long[20]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_Delta() - { - Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; - Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; - Span output = stackalloc long[10]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - } -} +//using ApacheOrcDotNet.OptimizedReader.Encodings; +//using ApacheOrcDotNet.Protocol; +//using System; +//using System.Linq; +//using Xunit; + +//namespace ApacheOrcDotNet.OptimizedReader +//{ +// public class OrcReader_Test +// { +// readonly IByteRangeProvider _byteRangeProvider; +// public OrcReader_Test() +// { +// _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); +// } + +// [Fact] +// public void FileTail_DefaultOptomisticSize() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// var expectedColumns = new[] +// { +// new ColumnDetail(1, "Source", ColumnTypeKind.String), +// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), +// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), +// }; +// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); +// } + +// [Fact] +// public void FileTail_MinimumInitialReadSize() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); +// var expectedColumns = new[] +// { +// new ColumnDetail(1, "Source", ColumnTypeKind.String), +// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), +// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), +// }; +// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); +// } + +// [Fact] +// public void FileColumnStatistics() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); +// Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); +// Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); +// Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); +// Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); +// Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); +// Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); +// Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); +// } + +// [Fact] +// public void StripeColumnStatistics() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); +// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); +// Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); +// Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); +// Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); +// Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); +// Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum)); +// Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum)); +// } + +// [Fact] +// public void RowGroupStatistics() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); +// var rowGroupDetail = rowGroupDetails[0]; +// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); +// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); +// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); +// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_ShortRepeat() +// { +// Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; +// Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; +// Span output = stackalloc long[5]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_Direct() +// { +// Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; +// Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; +// Span output = stackalloc long[4]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_PatchedBase() +// { +// Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; +// Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; +// Span output = stackalloc long[20]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_Delta() +// { +// Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; +// Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; +// Span output = stackalloc long[10]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } +// } +//} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index b4bde64..a9d96fd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -9,7 +9,7 @@ public class TestByteRangeProvider : IByteRangeProvider { readonly bool _writeRequestedRangesToFile; readonly bool _readRequestedRangesFromFile; - readonly Dictionary<(bool isFromEnd, int position, int length), Stream> _openFiles = new(); + readonly Dictionary<(bool isFromEnd, long position, int length), Stream> _openFiles = new(); readonly static object _fileLock = new(); public TestByteRangeProvider(bool writeRequestedRangesToFile, bool readRequestedRangesFromFile) @@ -27,7 +27,7 @@ public void Dispose() file.Dispose(); } - public void GetRange(Span buffer, int position) + public int GetRange(Span buffer, long position) { var reader = GetOpenStreamForRange(false, position, buffer.Length); if (!_readRequestedRangesFromFile) @@ -43,9 +43,10 @@ public void GetRange(Span buffer, int position) outputStream.Write(buffer); } } + return buffer.Length; } - public void GetRangeFromEnd(Span buffer, int positionFromEnd) + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); if (!_readRequestedRangesFromFile) @@ -61,9 +62,10 @@ public void GetRangeFromEnd(Span buffer, int positionFromEnd) outputStream.Write(buffer); } } + return buffer.Length; } - Stream GetOpenStreamForRange(bool isFromEnd, int position, int length) + Stream GetOpenStreamForRange(bool isFromEnd, long position, int length) { if (_openFiles.TryGetValue((isFromEnd, position, length), out var existingStream)) return existingStream; @@ -92,7 +94,7 @@ Stream GetOpenStreamForRange(bool isFromEnd, int position, int length) } } - string GetRangeFilename(bool isFromEnd, int position, int length) + string GetRangeFilename(bool isFromEnd, long position, int length) { string fromEnd = isFromEnd ? "fromEnd" : "fromStart"; return $"orctest_{fromEnd}_{position}_{length}.orc"; From bfd11df0595e230d67ce407450aa448f04d88804 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 18 May 2022 19:35:35 -0300 Subject: [PATCH 017/143] Add missing readers for ints, dates, doubles, etc.. --- .gitignore | 3 + perf/MicroBenchmarks/NullableBenchmarks.cs | 48 +++ perf/MicroBenchmarks/Program.cs | 2 +- perf/MicroBenchmarks/ReaderBenchmarks.cs | 12 - .../ByteRangeProviderExtensions.cs | 54 --- .../{Specialized => }/BaseColumnReader.cs | 269 ++++++++------- ...naryReader.cs => OptimizedBinaryReader.cs} | 66 ++-- ...eanReader.cs => OptimizedBooleanReader.cs} | 12 +- .../ByteReader.cs => OptimizedByteReader.cs} | 12 +- .../ColumTypes/OptimizedColumnReader.cs | 313 ------------------ .../DateReader.cs => OptimizedDateReader.cs} | 12 +- .../ColumTypes/OptimizedDecimalReader.cs | 153 +-------- ...V2Reader.cs => OptimizedDecimalReader2.cs} | 12 +- ...ubleReader.cs => OptimizedDoubleReader.cs} | 16 +- ...tV2Reader.cs => OptimizedIntegerReader.cs} | 12 +- .../ColumTypes/OptimizedLongReader.cs | 95 ------ .../ColumTypes/OptimizedStringReader.cs | 202 ++++++----- ...pReader.cs => OptimizedTimestampReader.cs} | 12 +- .../Specialized/DecimalDirectV2Reader.cs | 71 ---- .../Specialized/StringDictionaryV2Reader.cs | 98 ------ .../Specialized/StringDirectV2Reader.cs | 86 ----- .../ColumnDetail.cs | 6 + .../OptimizedByteRunLengthEncodingReader.cs | 3 +- .../Encodings/OptimizedStrings.cs | 184 ---------- .../ByteRangeProviderExtensions.cs | 26 ++ .../FileByteRangeProvider.cs | 2 +- .../FileByteRangeProviderFactory.cs} | 4 +- .../IByteRangeProvider.cs | 2 +- .../IByteRangeProviderFactory.cs | 2 +- .../MemoryMappedFileRangeProvider.cs | 57 ++++ .../MemoryMappedFileRangeProviderFactory.cs | 12 + .../{ => Infrastructure}/SpanFileTail.cs | 5 +- .../{ => Infrastructure}/SpanStripeFooter.cs | 2 +- .../{ => Infrastructure}/StatsExtensions.cs | 62 +--- .../OrcOptimizedReader.cs | 211 +++--------- .../OrcReader.cs | 255 -------------- .../OrcReaderResultSet.cs | 16 - .../Specialized => }/ReaderContext.cs | 7 +- .../SpanRowGroupIndex.cs | 62 ---- .../OptimizedORCApp.cs | 22 +- .../Program.cs | 4 +- .../TestByteRangeProvider.cs | 1 + 42 files changed, 574 insertions(+), 1931 deletions(-) create mode 100644 perf/MicroBenchmarks/NullableBenchmarks.cs delete mode 100644 perf/MicroBenchmarks/ReaderBenchmarks.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized => }/BaseColumnReader.cs (62%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/BinaryReader.cs => OptimizedBinaryReader.cs} (54%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/BooleanReader.cs => OptimizedBooleanReader.cs} (83%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/ByteReader.cs => OptimizedByteReader.cs} (83%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/DateReader.cs => OptimizedDateReader.cs} (84%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/DecimalAsDoubleDirectV2Reader.cs => OptimizedDecimalReader2.cs} (87%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/DoubleReader.cs => OptimizedDoubleReader.cs} (78%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/IntegerDirectV2Reader.cs => OptimizedIntegerReader.cs} (82%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/TimestampReader.cs => OptimizedTimestampReader.cs} (91%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/FileByteRangeProvider.cs (95%) rename src/ApacheOrcDotNet.OptimizedReader/{ByteRangeProviderFactory.cs => Infrastructure/FileByteRangeProviderFactory.cs} (82%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/IByteRangeProvider.cs (78%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/IByteRangeProviderFactory.cs (70%) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/SpanFileTail.cs (96%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/SpanStripeFooter.cs (96%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/StatsExtensions.cs (54%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs rename src/ApacheOrcDotNet.OptimizedReader/{ColumTypes/Specialized => }/ReaderContext.cs (88%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs diff --git a/.gitignore b/.gitignore index c60110b..8fd7c57 100644 --- a/.gitignore +++ b/.gitignore @@ -251,3 +251,6 @@ paket-files/ .idea/ *.sln.iml launchSettings.json + +# Benchamarks +**/BenchmarkDotNet.Artifacts/results diff --git a/perf/MicroBenchmarks/NullableBenchmarks.cs b/perf/MicroBenchmarks/NullableBenchmarks.cs new file mode 100644 index 0000000..703c96d --- /dev/null +++ b/perf/MicroBenchmarks/NullableBenchmarks.cs @@ -0,0 +1,48 @@ +using BenchmarkDotNet.Attributes; + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class NullableBenchmarks + { + [Benchmark] + public int IntAllocation() + { + return int.MaxValue; + } + + [Benchmark] + public int? IntAllocationNullable() + { + int? value = null; + return value; + } + + [Benchmark] + public decimal DecimalAllocation() + { + return decimal.MaxValue; + } + + [Benchmark] + public decimal? DecimalAllocationNullable() + { + decimal? value = null; + return value; + } + + [Benchmark] + public double DoubleAllocation() + { + return double.MaxValue; + } + + [Benchmark] + public double? DoubleAllocationNullable() + { + double? value = null; + return value; + } + } +} diff --git a/perf/MicroBenchmarks/Program.cs b/perf/MicroBenchmarks/Program.cs index 3e46cbc..6ed0b6e 100644 --- a/perf/MicroBenchmarks/Program.cs +++ b/perf/MicroBenchmarks/Program.cs @@ -6,7 +6,7 @@ internal class Program { static void Main(string[] args) { - _ = BenchmarkRunner.Run(); + _ = BenchmarkRunner.Run(); } } } diff --git a/perf/MicroBenchmarks/ReaderBenchmarks.cs b/perf/MicroBenchmarks/ReaderBenchmarks.cs deleted file mode 100644 index 2fb03d8..0000000 --- a/perf/MicroBenchmarks/ReaderBenchmarks.cs +++ /dev/null @@ -1,12 +0,0 @@ -using BenchmarkDotNet.Attributes; - -namespace MicroBenchmarks -{ - [RankColumn] - [MemoryDiagnoser] - public class ReaderBenchmarks - { - [Benchmark] - public int Standard() => default; // TODO: Add Benchmarks. - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs deleted file mode 100644 index 8e84dde..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs +++ /dev/null @@ -1,54 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public static class ByteRangeProviderExtensions - { - public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) - { - var buffer = ArrayPool.Shared.Rent(compressedLength); - - try - { - var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); - - provider.GetRange(bufferSpan, offset); - - return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - - /// - /// Retrieves data from byte range, decompresses it, provides it to the parser, and then releases it - /// - /// - /// Any data returned from the parser must be a copy and not a reference to the input bytes - /// - public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) - { - var buffer = ArrayPool.Shared.Rent(compressedLength); - TResult result; - try - { - var bufferSpan = buffer.AsSpan()[..compressedLength]; - provider.GetRange(bufferSpan, offset); //TODO support > 2TB files - using (var decompressed = new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize)) - { - result = parser(decompressed.Sequence); - } - } - finally - { - ArrayPool.Shared.Return(buffer); - } - - return result; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs similarity index 62% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index b08689e..bd3e7c1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.Encodings; using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; using System.Buffers; @@ -8,7 +9,7 @@ using System.Numerics; using System.Runtime.CompilerServices; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { public readonly record struct StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); @@ -23,7 +24,7 @@ public BaseColumnReader(ReaderContext readerContext) { _readerContext = readerContext; _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); - _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; + _numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); } public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); @@ -62,33 +63,44 @@ private protected int ReadByteStream(StreamDetail stream, in StreamPositions pos ); var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + try { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) + using (dataBuffer) { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = valuesBufferSpan[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = valuesBufferSpan[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; } } - - return numValuesRead; + finally + { + ArrayPool.Shared.Return(valuesBuffer); + } } [SkipLocalsInit] @@ -104,63 +116,74 @@ private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions compressionBlockSize: _readerContext.CompressionBlockSize ); - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + using (dataBuffer) { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); + var valuesBuffer = ArrayPool.Shared.Rent(1_000); - for (int idx = 0; idx < numByteValuesRead; idx++) + try { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(valuesBuffer); } } - - return numValuesRead; } [SkipLocalsInit] @@ -180,34 +203,45 @@ private protected int ReadNumericStream(StreamDetail stream, in StreamPositions ); var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + try { - var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( - ref dataReader, - isSigned, - valuesBufferSpan - ); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - for (int idx = 0; idx < numNewValuesRead; idx++) + using (dataBuffer) { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = (int)valuesBuffer[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( + ref dataReader, + isSigned, + valuesBufferSpan + ); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)valuesBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; } } - - return numValuesRead; + finally + { + ArrayPool.Shared.Return(valuesBuffer); + } } [SkipLocalsInit] @@ -227,27 +261,30 @@ private protected int ReadVarIntStream(StreamDetail stream, StreamPositions posi compressionBlockSize: _readerContext.CompressionBlockSize ); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) + using (dataBuffer) { - var bigInt = ReadBigVarInt(ref dataReader); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - if (!bigInt.HasValue) - break; + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; - if (skippedValues++ < positions.ValuesToSkip) - continue; + outputValues[numValuesRead++] = bigInt.Value; - outputValues[numValuesRead++] = bigInt.Value; + if (numValuesRead >= outputValues.Length) + break; + } - if (numValuesRead >= outputValues.Length) - break; + return numValuesRead; } - - return numValuesRead; } private protected StreamPositions GetPresentStreamPositions(StreamDetail presentStream) @@ -347,7 +384,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (!stream.TryRead(out var currentByte)) return null; // Reached the end of the stream - currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); + currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; bitCount += 7; if (bitCount % 63 == 0) @@ -355,7 +392,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (bitCount == 63) value = new BigInteger(currentLong); else - value |= new BigInteger(currentLong) << (bitCount - 63); + value |= new BigInteger(currentLong) << bitCount - 63; currentLong = 0; } @@ -367,7 +404,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (currentLong != 0) // Some bits left to add to result { - var shift = (bitCount / 63) * 63; + var shift = bitCount / 63 * 63; value |= new BigInteger(currentLong) << shift; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs similarity index 54% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs index 7b29739..bdc95a0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs @@ -1,20 +1,19 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class BinaryReader : BaseColumnReader + public class OptimizedBinaryReader : BaseColumnReader { - public BinaryReader(ReaderContext readerContext) : base(readerContext) + public OptimizedBinaryReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var lengthStream = GetStripeStream(StreamKind.Length); var dataStream = GetStripeStream(StreamKind.Data); @@ -40,38 +39,41 @@ public override void FillBuffer() compressionBlockSize: _readerContext.CompressionBlockSize ); - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStreamRequired) + using (dataBuffer) { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) { - if (presentBuffer[idx]) + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; - if (_numValuesRead >= _numMaxValuesToRead) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) + else { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; - if (_numValuesRead >= _numMaxValuesToRead) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs similarity index 83% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs index ed8170e..f58383b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs @@ -2,19 +2,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class BooleanReader : BaseColumnReader + public class OptimizedBooleanReader : BaseColumnReader { - public BooleanReader(ReaderContext readerContext) : base(readerContext) + public OptimizedBooleanReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -31,7 +29,7 @@ public override void FillBuffer() var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs similarity index 83% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs index b34ec65..f37f5ee 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs @@ -2,19 +2,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class ByteReader : BaseColumnReader + public class OptimizedByteReader : BaseColumnReader { - public ByteReader(ReaderContext readerContext) : base(readerContext) + public OptimizedByteReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -31,7 +29,7 @@ public override void FillBuffer() var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs deleted file mode 100644 index 1bbfadc..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs +++ /dev/null @@ -1,313 +0,0 @@ -using ApacheOrcDotNet.Encodings; -using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; -using ApacheOrcDotNet.OptimizedReader.Encodings; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.IO; -using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public abstract class OptimizedColumnReader - { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedColumnReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) - { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; - } - - protected ColumnEncodingKind? GetColumnEncodingKind(StreamKind streamKind) - { - var stripeStream = GetStripeStream(streamKind); - if (stripeStream == null) - return null; - return stripeStream.EncodingKind; - } - - protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) - { - var stream = _readContext.Streams.SingleOrDefault(stream => - stream.ColumnId == _readContext.Column.ColumnId - && stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); - - return stream; - } - - [SkipLocalsInit] - protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) - { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) - throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); - - int skippedValues = 0; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) - { - var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( - ref dataReader, - isSigned, - valuesBufferSpan - ); - - for (int idx = 0; idx < numNewValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = (int)valuesBuffer[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - - [SkipLocalsInit] - protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) - { - if (stream == null) - return 0; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - - [SkipLocalsInit] - protected void ReadByteStream(StreamKind streamKind, Span outputValues, out int numValuesRead) - { - numValuesRead = 0; - - var stream = GetStripeStream(streamKind); - if (stream == null) - return; - - int skippedValues = 0; - int rowGroupOffset = streamKind switch - { - StreamKind.Secondary => _readContext.GetRowEntryPosition(2), - StreamKind.Length => _readContext.GetRowEntryPosition(0), - StreamKind.Data => _readContext.GetRowEntryPosition(0), - _ => throw new NotImplementedException() - }; - int rowEntryOffset = (streamKind, _readContext.Column.ColumnType) switch - { - (StreamKind.Length, ColumnTypeKind.String) => 0, - (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(3), - (StreamKind.Data, _) => _readContext.GetRowEntryPosition(1), - _ => throw new NotImplementedException() - }; - int valuesToSkip = (streamKind, _readContext.Column.ColumnType) switch - { - (StreamKind.Length, ColumnTypeKind.String) => 0, - (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(4), - (StreamKind.Data, _) => _readContext.GetRowEntryPosition(2), - _ => throw new NotImplementedException() - }; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + rowGroupOffset, - compressedLength: stream.Length - rowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var dataReader = new SequenceReader(dataBuffer.Sequence); - - dataReader.Advance(rowEntryOffset); - - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < valuesToSkip) - continue; - - outputValues[numValuesRead++] = valuesBufferSpan[idx]; - - if (numValuesRead >= outputValues.Length) - return; - } - } - } - - [SkipLocalsInit] - protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) - { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - int skippedValues = 0; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) - { - var bigInt = ReadBigVarInt(ref dataReader); - - if (!bigInt.HasValue) - break; - - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = bigInt.Value; - - if (numValuesRead >= outputValues.Length) - break; - } - - return numValuesRead; - } - - private static BigInteger? ReadBigVarInt(ref SequenceReader stream) - { - var value = BigInteger.Zero; - long currentLong = 0; - int bitCount = 0; - - while (true) - { - if (!stream.TryRead(out var currentByte)) - return null; // Reached the end of the stream - - currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); - bitCount += 7; - - if (bitCount % 63 == 0) - { - if (bitCount == 63) - value = new BigInteger(currentLong); - else - value |= new BigInteger(currentLong) << (bitCount - 63); - - currentLong = 0; - } - - // Done when the high bit is set - if (currentByte < 0x80) - break; - } - - if (currentLong != 0) // Some bits left to add to result - { - var shift = (bitCount / 63) * 63; - value |= new BigInteger(currentLong) << shift; - } - - // Un zig-zag - return ((long)value).ZigzagDecode(); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs similarity index 84% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs index 6f5eeac..96db663 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs @@ -2,21 +2,19 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class DateTimeReader : BaseColumnReader + public class OptimizedDateReader : BaseColumnReader { readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - public DateTimeReader(ReaderContext readerContext) : base(readerContext) + public OptimizedDateReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -32,7 +30,7 @@ public override void FillBuffer() var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - if (presentStreamRequired) + if (presentStream != null) { var dataIndex = 0; for (int idx = 0; idx < numPresentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs index 2a4686c..46a3d75 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs @@ -2,98 +2,51 @@ using System; using System.Buffers; using System.Numerics; -using System.Runtime.CompilerServices; namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class OptimizedDecimalReader : OptimizedColumnReader + public class OptimizedDecimalReader : BaseColumnReader { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedDecimalReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) - { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; - } - - [SkipLocalsInit] - public int Read(Span outputValues) + public OptimizedDecimalReader(ReaderContext readerContext) : base(readerContext) { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Secondary - var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream: null, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var numValuesRead = 0; - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } } - [SkipLocalsInit] - public int Read(Span outputValues) + public override void FillBuffer() { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var secondaryStream = GetStripeStream(StreamKind.Secondary); - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Secondary - var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - var numValuesRead = 0; var secondaryIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { if (presentBuffer[idx]) { - outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); secondaryIndex++; } else - outputValues[numValuesRead++] = null; + _outputValuesRaw[_numValuesRead++] = null; } } else @@ -102,66 +55,8 @@ public int Read(Span outputValues) throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); for (int idx = 0; idx < numSecondaryValuesRead; idx++) - outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - } - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - - [SkipLocalsInit] - public int ReadAsDouble(Span outputValues) - { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Secondary - var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var numValuesRead = 0; - if (presentStreamRequired) - { - var secondaryIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[secondaryIndex++]); - else - outputValues[numValuesRead++] = double.NaN; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); } - - return numValuesRead; } finally { @@ -170,19 +65,5 @@ public int ReadAsDouble(Span outputValues) ArrayPool.Shared.Return(secondaryBuffer); } } - - private double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); - - private decimal BigIntegerToDecimal(BigInteger numerator, long scale) - { - if (scale < 0 || scale > 255) - throw new OverflowException("Scale must be positive number"); - - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow - var scaler = new decimal(1, 0, 0, false, (byte)scale); - - return decNumerator * scaler; - } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs similarity index 87% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs index 8fd400d..0216639 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs @@ -3,19 +3,17 @@ using System.Buffers; using System.Numerics; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class DecimalAsDoubleDirectV2Reader : BaseColumnReader + public class OptimizedDecimalReader2 : BaseColumnReader { - public DecimalAsDoubleDirectV2Reader(ReaderContext readerContext) : base(readerContext) + public OptimizedDecimalReader2(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var secondaryStream = GetStripeStream(StreamKind.Secondary); @@ -38,7 +36,7 @@ public override void FillBuffer() var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var secondaryIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs similarity index 78% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs index c053244..9a7120e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs @@ -3,19 +3,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class DoubleReader : BaseColumnReader + public class OptimizedDoubleReader : BaseColumnReader { - public DoubleReader(ReaderContext readerContext) : base(readerContext) + public OptimizedDoubleReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -32,13 +30,13 @@ public override void FillBuffer() var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { if (presentBuffer[idx]) { - _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); dataIndex += 8; } else @@ -49,7 +47,7 @@ public override void FillBuffer() { for (int idx = 0; idx < numDataValuesRead; idx++) { - _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); dataIndex += 8; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs similarity index 82% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs index a7b9103..cffcd25 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs @@ -2,19 +2,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class IntegerDirectV2Reader : BaseColumnReader + public class OptimizedIntegerReader : BaseColumnReader { - public IntegerDirectV2Reader(ReaderContext readerContext) : base(readerContext) + public OptimizedIntegerReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -31,7 +29,7 @@ public override void FillBuffer() var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs deleted file mode 100644 index 2980557..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs +++ /dev/null @@ -1,95 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Runtime.CompilerServices; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedLongReader : OptimizedColumnReader - { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedLongReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) - { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; - } - - [SkipLocalsInit] - public int Read(Span outputValues) - { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var dataStream = GetStripeStream(StreamKind.Data); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Data - var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataStreamPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var numValuesRead = 0; - for (int idx = 0; idx < numDataValuesRead; idx++) - outputValues[numValuesRead++] = dataBuffer[idx]; - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(dataBuffer); - } - } - - [SkipLocalsInit] - public int Read(Span outputValues) - { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var dataIndex = 0; - var numValuesRead = 0; - if (presentStreamRequired) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - outputValues[numValuesRead++] = dataBuffer[dataIndex++]; - else - outputValues[numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - outputValues[numValuesRead++] = dataBuffer[idx]; - } - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs index 353f534..5fcffba 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; using System; using System.Buffers; using System.Collections.Generic; @@ -7,96 +8,92 @@ namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class OptimizedStringReader : OptimizedColumnReader + public class OptimizedStringReader : BaseColumnReader { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + public OptimizedStringReader(ReaderContext readerContext) : base(readerContext) { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; } - [SkipLocalsInit] - public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch + public override void FillBuffer() { - ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), - ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), - _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") - }; + switch (_readerContext.ColumnEncodingKind) + { + case ColumnEncodingKind.DirectV2: + ReadDirectV2(); + break; + case ColumnEncodingKind.DictionaryV2: + ReadDictionaryV2(); + break; + default: + throw new InvalidOperationException(); + } + } - [SkipLocalsInit] - private int ReadDirectV2(Span outputValues) + private void ReadDirectV2() { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var lengthStream = GetStripeStream(StreamKind.Length); var dataStream = GetStripeStream(StreamKind.Data); - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Length - var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead)); + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Data - var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _byteRangeProvider.DecompressByteRange( + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize ); - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - var numValuesRead = 0; - if (presentStreamRequired) + using (dataBuffer) { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) { - if (presentBuffer[idx]) + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var length = (int)lengthsBuffer[lengthIndex++]; - outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; } - else - outputValues[numValuesRead++] = null; - - if (numValuesRead >= outputValues.Length) - break; } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) + else { - var length = (int)lengthsBuffer[idx]; - outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; - if (numValuesRead >= outputValues.Length) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } - - return numValuesRead; } finally { @@ -106,82 +103,79 @@ private int ReadDirectV2(Span outputValues) } [SkipLocalsInit] - private int ReadDictionaryV2(Span outputValues) + private void ReadDictionaryV2() { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var lengthStream = GetStripeStream(StreamKind.Length); var dataStream = GetStripeStream(StreamKind.Data); var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); var dictionarySize = lengthStream.DictionarySize; - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Length - var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Dictionary Data - var dictionaryDataPositions = _readContext.GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _byteRangeProvider.DecompressByteRange( + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize ); - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) + using (decompressedBuffer) { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } - var numValuesRead = 0; - if (presentStreamRequired) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (presentStream != null) { - if (presentBuffer[idx]) - outputValues[numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - outputValues[numValuesRead++] = null; + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + _outputValuesRaw[_numValuesRead++] = null; - if (numValuesRead >= outputValues.Length) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) + else { - outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - if (numValuesRead >= outputValues.Length) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } - - return numValuesRead; } finally { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs similarity index 91% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs index 73417ea..bc15c4e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs @@ -2,21 +2,19 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class TimestampReader : BaseColumnReader + public class OptimizedTimestampReader : BaseColumnReader { readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - public TimestampReader(ReaderContext readerContext) : base(readerContext) + public OptimizedTimestampReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var secondaryStream = GetStripeStream(StreamKind.Secondary); @@ -38,7 +36,7 @@ public override void FillBuffer() var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - if (presentStreamRequired) + if (presentStream != null) { var secondaryIndex = 0; for (int idx = 0; idx < numPresentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs deleted file mode 100644 index 81eaf2a..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs +++ /dev/null @@ -1,71 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Numerics; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized -{ - public class DecimalDirectV2Reader : BaseColumnReader - { - public DecimalDirectV2Reader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var secondaryIndex = 0; - if (presentStreamRequired) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs deleted file mode 100644 index 3697dc5..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs +++ /dev/null @@ -1,98 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized -{ - public class StringDictionaryV2Reader : BaseColumnReader - { - public StringDictionaryV2Reader(ReaderContext readerContext) : base(readerContext) - { - } - - [SkipLocalsInit] - public override void FillBuffer() - { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); - - var dictionarySize = lengthStream.DictionarySize; - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } - - if (presentStreamRequired) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(dataBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthBuffer, clearArray: false); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs deleted file mode 100644 index 9c3a83f..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs +++ /dev/null @@ -1,86 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Text; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized -{ - public class StringDirectV2Reader : BaseColumnReader - { - public StringDirectV2Reader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStreamRequired) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs new file mode 100644 index 0000000..c06a7c6 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs @@ -0,0 +1,6 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs index eca2056..15d1e5a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs @@ -12,7 +12,7 @@ public static int ReadValues(ref SequenceReader reader, Span outputV if (!reader.TryRead(out var firstByte)) return numReadValues; - if (firstByte < 0x80) // A run + if (firstByte >= 0 && firstByte < 0x80) // A run { numReadValues = firstByte + 3; @@ -25,6 +25,7 @@ public static int ReadValues(ref SequenceReader reader, Span outputV else // Literals { numReadValues = 0x100 - firstByte; + for (int i = 0; i < numReadValues; i++) { if (!reader.TryRead(out var value)) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs deleted file mode 100644 index 477aeb7..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs +++ /dev/null @@ -1,184 +0,0 @@ -//using System; -//using System.Buffers; -//using System.Runtime.CompilerServices; - -//namespace ApacheOrcDotNet.OptimizedReader.Encodings -//{ -// public static class OptimizedStrings -// { -// [SkipLocalsInit] -// public static void ReadDirectV2(Span outputValues) -// { -// var numValuesRead = 0; -// var maxValuesToRead = outputValues.Length; -// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - -// try -// { -// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); -// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); - -// ReadBinaryStream( -// StreamKind.Data, -// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), -// lengthsBuffer.AsSpan().Slice(0, numLengthValuesRead), -// outputValues, -// ref numValuesRead -// ); -// } -// finally -// { -// ArrayPool.Shared.Return(presentBuffer, clearArray: false); -// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); -// } -// } -// } -//} - - -//using ApacheOrcDotNet.Protocol; -//using System; -//using System.Buffers; -//using System.IO; -//using System.Runtime.CompilerServices; - -//namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -//{ -// public class OptimizedStringReader : OptimizedColumnReader -// { -// public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReadContext readContext) : base(fileTail, byteRangeProvider, readContext) -// { -// } - -// [SkipLocalsInit] -// public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch -// { -// ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), -// ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), -// _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") -// }; - -// [SkipLocalsInit] -// private int ReadDirectV2(Span outputValues) -// { -// var numValuesRead = 0; -// var maxValuesToRead = outputValues.Length; -// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - -// try -// { -// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); -// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); - -// ReadBinaryStream(StreamKind.Data, presentBuffer, lengthsBuffer, outputValues, ref numValuesRead); - -// //if (numValuesRead != numLengthValuesRead) -// // throw new InvalidDataException("DATA and LENGTH streams must be available"); - -// //int stringOffset = 0; -// //if (numPresentValuesRead <= 0) -// //{ -// // for (int idx = 0; idx < numLengthValuesRead; idx++) -// // { -// // var length = (int)lengthsBuffer[idx]; -// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); -// // stringOffset += length; -// // } -// //} -// //else -// //{ -// // for (int idx = 0; idx < numPresentValuesRead; idx++) -// // { -// // var isPresent = presentBuffer[idx]; -// // if (isPresent) -// // { -// // if (idx + stringOffset >= numLengthValuesRead) -// // throw new InvalidDataException("The PRESENT data stream's length didn't match the LENGTH stream's length"); -// // var length = (int)lengthsBuffer[idx]; -// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); -// // stringOffset += length; -// // } -// // else -// // outputValues[numValuesRead++] = null; -// // } -// //} - -// return numValuesRead; -// } -// finally -// { -// ArrayPool.Shared.Return(presentBuffer, clearArray: false); -// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); -// } -// } - -// [SkipLocalsInit] -// private int ReadDictionaryV2(Span outputValues) -// { -// var numValuesRead = 0; -// var maxValuesToRead = outputValues.Length; -// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var lengthBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - -// try -// { -// if (!IsDataStreamAvailable || !IsDictionaryDataStreamAvailable || !IsLengthStreamAvailable) -// throw new InvalidDataException("DATA, DICTIONARY_DATA, and LENGTH streams must be available"); - -// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); -// ReadNumericStream(StreamKind.Data, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead), out var numDataValuesRead); -// ReadNumericStream(StreamKind.Length, isSigned: false, lengthBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); - -// ReadBinaryStream( -// StreamKind.DictionaryData, -// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), -// lengthBuffer.AsSpan().Slice(0, numLengthValuesRead), -// outputValues, -// ref numValuesRead -// ); - -// //int stringOffset = 0; -// //List stringsList = new(); -// //for (int idx = 0; idx < numLengthValuesRead; idx++) -// //{ -// // var length = (int)lengthBuffer[idx]; -// // var value = Encoding.UTF8.GetString(dictionaryBufferSpan.Slice(stringOffset, length)); -// // stringOffset += length; -// // stringsList.Add(value); -// //} - -// //if (numPresentValuesRead <= 0) -// //{ -// // for (int idx = 0; idx < numDataValuesRead; idx++) -// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; -// //} -// //else -// //{ -// // for (int idx = 0; idx < numPresentValuesRead; idx++) -// // { -// // var isPresent = presentBuffer[idx]; -// // if (isPresent) -// // { -// // if (idx >= numDataValuesRead) -// // throw new InvalidDataException("The PRESENT data stream's length didn't match the DATA stream's length"); -// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; -// // } -// // else -// // outputValues[numValuesRead++] = null; -// // } -// //} - -// return numValuesRead; -// } -// finally -// { -// ArrayPool.Shared.Return(presentBuffer, clearArray: false); -// ArrayPool.Shared.Return(dataBuffer, clearArray: false); -// ArrayPool.Shared.Return(lengthBuffer, clearArray: false); -// } -// } -// } -//} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs new file mode 100644 index 0000000..66256ce --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs @@ -0,0 +1,26 @@ +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public static class ByteRangeProviderExtensions + { + public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) + { + var buffer = ArrayPool.Shared.Rent(compressedLength); + + try + { + var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); + + provider.GetRange(bufferSpan, offset); + + return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); + } + finally + { + ArrayPool.Shared.Return(buffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs similarity index 95% rename from src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs index 788da32..b76a554 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs @@ -1,7 +1,7 @@ using System; using System.IO; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class FileByteRangeProvider : IByteRangeProvider { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs similarity index 82% rename from src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs index 1d64bbf..a0d67aa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs @@ -1,6 +1,4 @@ -using System; - -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class FileByteRangeProviderFactory : IByteRangeProviderFactory { diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs similarity index 78% rename from src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index 71e6bd8..ca7538a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -1,6 +1,6 @@ using System; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProvider : IDisposable { diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs similarity index 70% rename from src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs index 55463d1..5b1aa91 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs @@ -1,4 +1,4 @@ -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProviderFactory { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs new file mode 100644 index 0000000..e018156 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -0,0 +1,57 @@ +using System; +using System.IO; +using System.IO.MemoryMappedFiles; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class MemoryMappedFileRangeProvider : IByteRangeProvider + { + readonly MemoryMappedFile _memoryMappedFile; + readonly long _length; + + internal MemoryMappedFileRangeProvider(string path) + { + using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) + _length = fileStream.Length; + + _memoryMappedFile = MemoryMappedFile.CreateFromFile(path); + } + + public void Dispose() + { + _memoryMappedFile.Dispose(); + } + + public int GetRange(Span buffer, long position) + { + using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) + { + return DoRead(stream, buffer); + } + } + + public int GetRangeFromEnd(Span buffer, long positionFromEnd) + { + using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) + { + return DoRead(stream, buffer); + } + } + + private int DoRead(Stream stream, Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs new file mode 100644 index 0000000..a00a856 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs @@ -0,0 +1,12 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class MemoryMappedFileRangeProviderFactory : IByteRangeProviderFactory + { + public string Prefix => "file://"; + + public IByteRangeProvider Create(string location) + { + return new MemoryMappedFileRangeProvider(location[Prefix.Length..]); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs similarity index 96% rename from src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index db0d34c..8384cb0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -1,9 +1,8 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ProtoBuf; +using ProtoBuf; using System; using System.IO; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class SpanFileTail { diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs similarity index 96% rename from src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index b731f6e..ee63c40 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs similarity index 54% rename from src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index b134fbf..1a55907 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -2,66 +2,16 @@ using ApacheOrcDotNet.Statistics; using System; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class StatsExtensions { - public static int GetNumValuesInPositionListForStream(this StreamDetail streamDetail, bool compressionEnabled) - { - if (!streamDetail.StreamHasAnyPositions()) - return 0; - - int count = 2; //All streams have a chunk offset and a value offset - if (compressionEnabled) - count++; //If compression is enabled, an offset into the decompressed chunk is also included - if (streamDetail.StreamHasSecondValuePosition()) - count++; //Some streams include an additional offset - - return count; - } - - static bool StreamHasAnyPositions(this StreamDetail streamDetail) => - (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch - { - (StreamKind.Present, _, _) => true, - (StreamKind.Data, _, _) => true, - (StreamKind.Secondary, _, _) => true, - //TODO this will need some work to fill in completely - _ => false, - }; - - - static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => - (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch - { - (StreamKind.Present, _, _) => true, - (StreamKind.Data, ColumnTypeKind.Int, _) => false, - (StreamKind.Data, ColumnTypeKind.Long, _) => false, - (StreamKind.Data, ColumnTypeKind.Decimal, _) => false, - (StreamKind.Data, ColumnTypeKind.String, _) => false, - (StreamKind.Length, _, ColumnEncodingKind.DictionaryV2) => false, - (StreamKind.Secondary, _, _) => false, // Already secondary. - //TODO This will need some work to fill in completely - _ => throw new NotSupportedException() - }; - - public static Position GetStreamPositionFromStreamType(this StreamDetail stream, bool compressionEnabled, ReadOnlySpan positions) - { - int positionIndex = 0; - var chunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; - var decompressedOffset = compressionEnabled ? (int)positions[positionIndex++] : 0; - var valueOffset = (int)positions[positionIndex++]; - var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int)positions[positionIndex++] : 0; - - return new Position(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); - } - public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { switch (columnType) { case ColumnTypeKind.Boolean: - return InRangeBoolean(stats, min == "true", max == "true"); + return stats.InRangeBoolean(min == "true", max == "true"); case ColumnTypeKind.Byte: case ColumnTypeKind.Short: case ColumnTypeKind.Int: @@ -69,19 +19,19 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp { var minVal = long.Parse(min); var maxVal = long.Parse(max); - return InRangeNumeric(stats, minVal, maxVal); + return stats.InRangeNumeric(minVal, maxVal); } case ColumnTypeKind.Float: case ColumnTypeKind.Double: { var minVal = double.Parse(min); var maxVal = double.Parse(max); - return InRangeDouble(stats, minVal, maxVal); + return stats.InRangeDouble(minVal, maxVal); } case ColumnTypeKind.String: case ColumnTypeKind.Varchar: case ColumnTypeKind.Char: - return InRangeString(stats, min, max); + return stats.InRangeString(min, max); case ColumnTypeKind.Decimal: { var minVal = decimal.Parse(min); @@ -91,7 +41,7 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); - return InRangeDecimal(stats, minVal, maxVal); + return stats.InRangeDecimal(minVal, maxVal); } default: throw new NotImplementedException($"Range check for {columnType} not implemented"); diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs index 2e73b29..0c12cd7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; +using ApacheOrcDotNet.OptimizedReader.ColumTypes; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using ProtoBuf; @@ -15,83 +16,6 @@ public class OrcOptimizedReaderConfiguration public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } - public record ReaderContextOld(IEnumerable Streams, ColumnDetail Column, RowIndex Row, int RowEntryIndex) - { - public RowIndexEntry RowIndexEntry => Row.Entry[RowEntryIndex]; - - public int GetRowEntryPosition(int positionIndex) => (int)RowIndexEntry.Positions[positionIndex]; - - public StreamPositions GetPresentStreamPositions(StreamDetail presentStream) - { - if (presentStream == null) - return new(); - - return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); - } - - public StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) - { - var positionStep = presentStream == null ? 0 : 4; - - int rowGroupOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - - _ => throw new NotImplementedException() - }; - int rowEntryOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - - _ => throw new NotImplementedException() - }; - int valuesToSkip = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - - _ => throw new NotImplementedException() - }; - - return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); - } - } - public sealed class OrcOptimizedReader { private readonly OrcOptimizedReaderConfiguration _configuration; @@ -157,118 +81,66 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s }); } - public BaseColumnReader CreateBinaryReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateBinaryColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new ColumTypes.Specialized.BinaryReader(readerContext); + return new OptimizedBinaryReader(readerContext); } - public BaseColumnReader CreateBooleanReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateBooleanColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new BooleanReader(readerContext); + return new OptimizedBooleanReader(readerContext); } - public BaseColumnReader CreateByteReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateByteColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new ByteReader(readerContext); + return new OptimizedByteReader(readerContext); } - public BaseColumnReader CreateDateTimeReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDateColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DateTimeReader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDateReader(readerContext); } - public BaseColumnReader CreateDecimalReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDecimalColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DecimalDirectV2Reader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDecimalReader(readerContext); } - public BaseColumnReader CreateDecimalAsDoubleReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDecimalColumnReaderAsDouble(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DecimalAsDoubleDirectV2Reader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDecimalReader2(readerContext); } - public BaseColumnReader CreateDoubleReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDoubleReader(readerContext); } - public BaseColumnReader CreateFloatReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDoubleReader(readerContext); } - public BaseColumnReader CreateIntegerReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateIntegerColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new IntegerDirectV2Reader(readerContext); + return new OptimizedIntegerReader(readerContext); } - public BaseColumnReader CreateStringReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateStringColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DictionaryV2 => new StringDictionaryV2Reader(readerContext), - ColumnEncodingKind.DirectV2 => new StringDirectV2Reader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedStringReader(readerContext); } - - - - - - - - - - - - - - - private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; @@ -293,7 +165,10 @@ private ReaderContext GetReaderContext(int stripeId, int rowEntryIndex, string c var streams = GetColumnStreams(column.ColumnId, stripeId); var rowGroup = GetRowGroupIndex(column.ColumnId, stripeId); - return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex); + return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex) + { + ColumnEncodingKind = GetColumnEncodingKind(column.ColumnId, stripeId) + }; } private IEnumerable GetStripeStreams(int stripeId) @@ -304,15 +179,18 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); var stripeFooterLength = (int)stripe.FooterLength; - var streams = _byteRangeProvider.DecompressAndParseByteRange( + var decompressedData = _byteRangeProvider.DecompressByteRange( stripeFooterStart, stripeFooterLength, _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanStripeFooter.ReadStreamDetails(sequence, _columnDetails, (long)stripe.Offset) - ).ToList(); + (int)_fileTail.PostScript.CompressionBlockSize + ); - _stripeStreams.Add(stripeId, streams); + using (decompressedData) + { + var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, _columnDetails, (long)stripe.Offset); + _stripeStreams.Add(stripeId, streams.ToList()); + } } return _stripeStreams[stripeId]; @@ -339,15 +217,18 @@ private RowIndex GetRowGroupIndex(int columnId, int stripeId) && s.ColumnId == columnId ).Single(); - var index = _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => Serializer.Deserialize(sequence) - ); - - _rowGroupIndexes.Add(key, index); + var decompressedData = _byteRangeProvider.DecompressByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + using (decompressedData) + { + var index = Serializer.Deserialize(decompressedData.Sequence); + _rowGroupIndexes.Add(key, index); + } } return _rowGroupIndexes[key]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs deleted file mode 100644 index a450528..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ /dev/null @@ -1,255 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; -using ApacheOrcDotNet.Stripes; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public record FilterArg(string ColumnName, string MinValue, string MaxValue); - public record Filter(int ColumnId, ColumnTypeKind ColumnType, string MinValue, string MaxValue); - public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); - public record StripeDetail(int StripeId, long RowCount); - public record FilterCriteria(string ColumnName, string minValue, string maxValue); - - public sealed class OrcReader - { - private readonly OrcOptimizedReaderConfiguration _configuration; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly SpanFileTail _fileTail; - private readonly Dictionary> _stripeStreams = new(); - - public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) - { - _configuration = configuration; - _byteRangeProvider = byteRangeProvider; - - _fileTail = ReadFileTail(); - if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) - throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); - - ColumnDetails = _fileTail.Footer.Types[0].FieldNames - .Select((name, i) => - { - var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; - var subTypeKind = _fileTail.Footer.Types[subType].Kind; - return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); - }) - .ToList(); - - StripeDetails = _fileTail.Footer.Stripes - .Select((stripe, i) => new StripeDetail(StripeId: i, RowCount: (long)stripe.NumberOfRows)) - .ToList(); - } - - public int GetColumnId(string columnName) => ColumnDetails.SingleOrDefault(colDetail => - colDetail.Name.ToLower() == columnName.ToLower() - ).ColumnId; - - IEnumerable GetStripeStreams(int stripeId) - { - if (!_stripeStreams.ContainsKey(stripeId)) - { - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here - var stripeFooterLength = (int)stripe.FooterLength; - - var streams = _byteRangeProvider.DecompressAndParseByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) - ).ToList(); - - _stripeStreams.Add(stripeId, streams); - } - - return _stripeStreams[stripeId]; - } - - IEnumerable ReadStripeFooter(int stripeId) - { - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); - var stripeFooterLength = (int)stripe.FooterLength; - - var result = _byteRangeProvider.DecompressAndParseByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) - ); - - return result; - } - - SpanFileTail ReadFileTail() - { - int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; - while (true) - { - var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(buffer); - - if (success) - return fileTail; - - lengthToReadFromEnd += additionalBytesRequired; - } - } - - - - - - - - - - #region Old Implementation / Tests - - public IEnumerable ColumnDetails { get; } - public IReadOnlyCollection StripeDetails { get; } - - public List ReadOldSource(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 1); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - public List ReadOldSymbol(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 8); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - public List ReadOldTime(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.DecimalReader(stripeStreamReaderCollection, 5); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - public List ReadOldSize(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.LongReader(stripeStreamReaderCollection, 10); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - private IEnumerable GetFilteredStripeIds(List filters) - { - var filteredStripeIds = new List(); - - for (int stripeIndex = 0; stripeIndex < _fileTail.Metadata.StripeStats.Count; stripeIndex++) - { - var isMatch = true; - - for (int colIndex = 0; colIndex < filters.Count; colIndex++) - { - var filter = filters[colIndex]; - var lookupStripeCol = GetStripeColumnStatistics(filter.ColumnId, stripeIndex); - - if (!lookupStripeCol.InRange(filter.ColumnType, filter.MinValue, filter.MaxValue)) - { - isMatch = false; - break; - } - } - - if (isMatch) - filteredStripeIds.Add(stripeIndex); - } - - return filteredStripeIds; - } - - public ColumnStatistics GetFileColumnStatistics(int columnId) - { - return _fileTail.Footer.Statistics[columnId]; - } - - public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - { - return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - } - - public RowIndex GetRowGroupIndex(int columnId, int stripeId) - { - var streamDetails = GetStripeStreams(stripeId); - var rowIndexStream = streamDetails.Where(s => - s.StreamKind == StreamKind.RowIndex - && s.ColumnId == columnId - ).Single(); - - return _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanRowGroupIndex.ReadRowGroupIndex(sequence) - ); - } - - public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) - { - var streamDetails = GetStripeStreams(stripeId); - var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); - var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); - - var result = _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) - ); - - return result; - } - - #endregion - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs deleted file mode 100644 index 9280672..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public sealed class OrcReaderResultSet where T : struct - { - public bool CopyTo(Span destination) - { - throw new NotImplementedException(); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs b/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs similarity index 88% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs rename to src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs index bf6c208..e846bf4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs @@ -1,8 +1,9 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader { public class ReaderContext { @@ -31,5 +32,7 @@ public ReaderContext(IByteRangeProvider byteRangeProvider, SpanFileTail fileTail public RowIndexEntry RowIndexEntry { get; } public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } + + public ColumnEncodingKind ColumnEncodingKind { get; init; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs deleted file mode 100644 index 3443118..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ /dev/null @@ -1,62 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; -using ProtoBuf; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.IO; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public record RowGroupDetail(ColumnStatistics Statistics, List StreamPositions); - public record StreamPosition(StreamDetail Stream, Position Position); - public record Position(long ChunkFileOffset, int DecompressedOffset, int ValueOffset, int ValueOffset2); - - public static class SpanRowGroupIndex - { - public static RowIndex ReadRowGroupIndex(ReadOnlySequence inputSequence) - => Serializer.Deserialize(inputSequence); - - public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) - { - bool compressionEnabled = compressionKind != CompressionKind.None; - - var rowIndex = Serializer.Deserialize(inputSequence); - - foreach (var entry in rowIndex.Entry) - { - var streamPositions = new List(); - var positions = entry.Positions.ToArray().AsSpan(); - - foreach (var stream in streamDetails) - { - var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); - if (numConsumedPositions == 0) - continue; - var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); - - streamPositions.Add(new StreamPosition(Stream: stream, Position: streamPosition)); - positions = positions[numConsumedPositions..]; - } - - if (positions.Length != 0) - throw new InvalidDataException($"Some position records were not consumed. ColumnType={streamDetails[0].ColumnType} StreamId={streamDetails[0].StreamId}"); - - yield return new RowGroupDetail(Statistics: entry.Statistics, StreamPositions: streamPositions); - } - } - - static int GetPositionsToSkip(int streamId, IEnumerable streamDetails, bool compressionEnabled) - { - int positionsToSkip = 0; - foreach (var stream in streamDetails) - { - if (stream.StreamId >= streamId) - break; - positionsToSkip += stream.GetNumValuesInPositionListForStream(compressionEnabled); - } - - return positionsToSkip; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 8da49f6..db042ed 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,5 +1,7 @@ using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -52,15 +54,17 @@ public void Run() foreach (var rowEntryIndex in rowGroupIndexes) { - var sourceReader = reader.CreateStringReader(stripeId, rowEntryIndex, "source"); - var symbolReader = reader.CreateStringReader(stripeId, rowEntryIndex, "symbol"); - var timeReader = reader.CreateDecimalAsDoubleReader(stripeId, rowEntryIndex, "time"); - var sizeReader = reader.CreateIntegerReader(stripeId, rowEntryIndex, "size"); + var sourceReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "source"); + var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); + var timeReader = reader.CreateDecimalColumnReader(stripeId, rowEntryIndex, "time"); + var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); - sourceReader.FillBuffer(); - symbolReader.FillBuffer(); - timeReader.FillBuffer(); - sizeReader.FillBuffer(); + Parallel.Invoke( + () => sourceReader.FillBuffer(), + () => symbolReader.FillBuffer(), + () => timeReader.FillBuffer(), + () => sizeReader.FillBuffer() + ); for (int idx = 0; idx < sizeReader.Values.Length; idx++) { @@ -69,7 +73,7 @@ public void Run() var time = timeReader.Values[idx]; var size = sizeReader.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) + if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"{source},{symbol},{time.ToString().PadRight(15, '0')},{size}"); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 541e0cb..1c9f271 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -1,4 +1,4 @@ -using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using Microsoft.Extensions.Configuration; using System; using System.Diagnostics; @@ -58,7 +58,7 @@ static void Main(string[] args) EndTime = parsedEndTime }; - var fileByteRangeProviderFactory = new FileByteRangeProviderFactory(); + var fileByteRangeProviderFactory = new MemoryMappedFileRangeProviderFactory(); var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index a9d96fd..a8a5578 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -1,3 +1,4 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Test.TestHelpers; using System; using System.Collections.Generic; From 09f52920fc56a3a181b5eb546e6e7b0b3a8d3eaa Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 24 May 2022 20:32:56 -0300 Subject: [PATCH 018/143] Proper handle PRESENT stream individual bits. --- .../ColumTypes/BaseColumnReader.cs | 89 +++++++++++++-- ...2.cs => OptimizedDecimalReaderAsDouble.cs} | 4 +- .../ColumTypes/OptimizedStringReader.cs | 105 +++++++++--------- .../OrcOptimizedReader.cs | 8 +- .../OptimizedORCApp.cs | 63 +++++++++-- 5 files changed, 190 insertions(+), 79 deletions(-) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{OptimizedDecimalReader2.cs => OptimizedDecimalReaderAsDouble.cs} (94%) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index bd3e7c1..c7b3ed6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -24,7 +24,8 @@ public BaseColumnReader(ReaderContext readerContext) { _readerContext = readerContext; _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); - _numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); + //_numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); + _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; } public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); @@ -127,6 +128,65 @@ private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); + var numOfTotalBitsToSkip = (positions.ValuesToSkip * 8) + positions.RemainingBits; + var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < numOfBytesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + // Skip remaining bits. + if (numOfBytesToSkip % 8 != 0) + { + decodedByte = (byte)(decodedByte << (numOfTotalBitsToSkip % 8)); + } + + outputValues[numValuesRead++] = (decodedByte & 128) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 64) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 32) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 16) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 8) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 4) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 2) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 1) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + /* var numValuesRead = 0; var skippedValues = 0; while (!dataReader.End) @@ -143,39 +203,41 @@ private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions var decodedByte = valuesBufferSpan[idx]; - outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + //if (decodedByte <= 0x80) + outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + outputValues[numValuesRead++] = (decodedByte & 64) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + outputValues[numValuesRead++] = (decodedByte & 32) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + outputValues[numValuesRead++] = (decodedByte & 16) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + outputValues[numValuesRead++] = (decodedByte & 8) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + outputValues[numValuesRead++] = (decodedByte & 4) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + outputValues[numValuesRead++] = (decodedByte & 2) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + outputValues[numValuesRead++] = (decodedByte & 1) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; } } + */ return numValuesRead; } @@ -315,7 +377,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - _ => throw new NotImplementedException() + _ => GetRowEntryPosition(positionStep + 0) + //_ => throw new NotImplementedException() }; int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { @@ -333,7 +396,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - _ => throw new NotImplementedException() + _ => GetRowEntryPosition(positionStep + 1) + //_ => throw new NotImplementedException() }; int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { @@ -351,7 +415,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - _ => throw new NotImplementedException() + _ => GetRowEntryPosition(positionStep + 2) + //_ => throw new NotImplementedException() }; return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs similarity index 94% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs index 0216639..f257277 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs @@ -5,9 +5,9 @@ namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class OptimizedDecimalReader2 : BaseColumnReader + public class OptimizedDecimalReaderAsDouble : BaseColumnReader { - public OptimizedDecimalReader2(ReaderContext readerContext) : base(readerContext) + public OptimizedDecimalReaderAsDouble(ReaderContext readerContext) : base(readerContext) { } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs index 5fcffba..6498781 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs @@ -71,7 +71,7 @@ private void ReadDirectV2() if (presentBuffer[idx]) { var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); stringOffset += length; } else @@ -116,73 +116,68 @@ private void ReadDictionaryV2() var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - using (decompressedBuffer) + // Dictionary Data + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + using (decompressedBuffer) + { + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) { - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } - if (presentStream != null) + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - _outputValuesRaw[_numValuesRead++] = null; + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + _outputValuesRaw[_numValuesRead++] = null; - if (_numValuesRead >= _numMaxValuesToRead) - break; - } + if (_numValuesRead >= _numMaxValuesToRead) + break; } - else + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - if (_numValuesRead >= _numMaxValuesToRead) - break; - } + if (_numValuesRead >= _numMaxValuesToRead) + break; } } } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(dataBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthBuffer, clearArray: false); - } + + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(dataBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthBuffer, clearArray: false); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs index 0c12cd7..38fafba 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -114,7 +114,7 @@ public BaseColumnReader CreateBinaryColumnReader(int stripeId, int rowEn public BaseColumnReader CreateDecimalColumnReaderAsDouble(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDecimalReader2(readerContext); + return new OptimizedDecimalReaderAsDouble(readerContext); } public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEntryIndex, string columnName) @@ -141,6 +141,12 @@ public BaseColumnReader CreateStringColumnReader(int stripeId, int rowEn return new OptimizedStringReader(readerContext); } + public BaseColumnReader CreateTimestampColumnReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new OptimizedTimestampReader(readerContext); + } + private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index db042ed..3982839 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -56,15 +56,43 @@ public void Run() { var sourceReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "source"); var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); - var timeReader = reader.CreateDecimalColumnReader(stripeId, rowEntryIndex, "time"); + var timeReader = reader.CreateDecimalColumnReaderAsDouble(stripeId, rowEntryIndex, "time"); var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); + //var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); + //var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); + //var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); + //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); + //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); - Parallel.Invoke( - () => sourceReader.FillBuffer(), - () => symbolReader.FillBuffer(), - () => timeReader.FillBuffer(), - () => sizeReader.FillBuffer() - ); + sourceReader.FillBuffer(); + symbolReader.FillBuffer(); + timeReader.FillBuffer(); + sizeReader.FillBuffer(); + //dateReader.FillBuffer(); + //doubleReader.FillBuffer(); + //timeStampReader.FillBuffer(); + //binaryReader.FillBuffer(); + //byteReader.FillBuffer(); + + //foreach (var item in dateReader.Values) + // Console.WriteLine(item.HasValue ? item.Value.ToString("yyyy-MM-dd") : ""); + + //var x = true; + //if (x) + // continue; + + //Parallel.Invoke( + // () => sourceReader.FillBuffer(), + // () => symbolReader.FillBuffer(), + // () => timeReader.FillBuffer(), + // () => sizeReader.FillBuffer() + + // () => dateReader.FillBuffer() + // () => doubleReader.FillBuffer(), + // () => timeStampReader.FillBuffer(), + // () => binaryReader.FillBuffer(), + // () => byteReader.FillBuffer() + //); for (int idx = 0; idx < sizeReader.Values.Length; idx++) { @@ -73,9 +101,26 @@ public void Run() var time = timeReader.Values[idx]; var size = sizeReader.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) + //var date = dateReader.Values[idx]; + //var dobl = doubleReader.Values[idx]; + //var timeStamp = timeStampReader.Values[idx]; + //var binary = binaryReader.Values[idx]; + //var tinyInt = byteReader.Values[idx]; + + if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) { - Console.WriteLine($"{source},{symbol},{time.ToString().PadRight(15, '0')},{size}"); + Console.WriteLine($"" + + $"{source}," + + $"{symbol}," + + $"{time.ToString().PadRight(15, '0')}," + + $"{size}" + + //$"{date}," + + //$"{dobl}," + + //$"{timeStamp}," + + //$"{Encoding.ASCII.GetString(binary)}," + + //$"{tinyInt}" + + $"" + ); } } } From 20726b4cc800305ca328fdf2321fdf9ea09e9297 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 06:26:32 -0300 Subject: [PATCH 019/143] Fix double reader. --- .../ColumTypes/BaseColumnReader.cs | 2 + .../ColumTypes/OptimizedDoubleReader.cs | 55 ++++++++++++------- .../OptimizedORCApp.cs | 19 +++---- 3 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index c7b3ed6..38d0498 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -409,6 +409,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs index 9a7120e..781786c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs @@ -1,4 +1,4 @@ -using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; using System.Buffers; @@ -17,7 +17,6 @@ public override void FillBuffer() var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { @@ -26,36 +25,52 @@ public override void FillBuffer() var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); - var dataIndex = 0; - if (presentStream != null) + using (dataBuffer) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[8]; + if (presentStream != null) { - if (presentBuffer[idx]) + for (int idx = 0; idx < numPresentValuesRead; idx++) { - _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); - dataIndex += 8; + if (presentBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _outputValuesRaw[_numValuesRead++] = double.NaN; } - else - _outputValuesRaw[_numValuesRead++] = double.NaN; } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); - dataIndex += 8; + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } } finally { ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 3982839..5ea314d 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -58,8 +57,8 @@ public void Run() var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); var timeReader = reader.CreateDecimalColumnReaderAsDouble(stripeId, rowEntryIndex, "time"); var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); - //var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); - //var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); + var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); + var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); //var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); @@ -68,8 +67,8 @@ public void Run() symbolReader.FillBuffer(); timeReader.FillBuffer(); sizeReader.FillBuffer(); - //dateReader.FillBuffer(); - //doubleReader.FillBuffer(); + dateReader.FillBuffer(); + doubleReader.FillBuffer(); //timeStampReader.FillBuffer(); //binaryReader.FillBuffer(); //byteReader.FillBuffer(); @@ -101,8 +100,8 @@ public void Run() var time = timeReader.Values[idx]; var size = sizeReader.Values[idx]; - //var date = dateReader.Values[idx]; - //var dobl = doubleReader.Values[idx]; + var date = dateReader.Values[idx]; + var dobl = doubleReader.Values[idx]; //var timeStamp = timeStampReader.Values[idx]; //var binary = binaryReader.Values[idx]; //var tinyInt = byteReader.Values[idx]; @@ -113,9 +112,9 @@ public void Run() $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + - $"{size}" + - //$"{date}," + - //$"{dobl}," + + $"{size}," + + $"{(date.HasValue ? date.Value.ToString("yyyy-MM-dd") : string.Empty)}," + + $"{dobl}," + //$"{timeStamp}," + //$"{Encoding.ASCII.GetString(binary)}," + //$"{tinyInt}" + From 1358c61b9f657afcf2d813e878c14ad6d64110d7 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 08:13:00 -0300 Subject: [PATCH 020/143] Fix timestamp reader. --- .../ColumTypes/BaseColumnReader.cs | 22 ++++-- .../ColumTypes/OptimizedFloatReader.cs | 77 +++++++++++++++++++ .../ColumTypes/OptimizedTimestampReader.cs | 7 +- .../OrcOptimizedReader.cs | 4 +- .../OptimizedORCApp.cs | 17 ++-- 5 files changed, 108 insertions(+), 19 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index 38d0498..4033f2d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -365,25 +365,30 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen { (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 3), (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - _ => GetRowEntryPosition(positionStep + 0) - //_ => throw new NotImplementedException() + _ => throw new NotImplementedException() }; int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 4), (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, @@ -392,33 +397,38 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - _ => GetRowEntryPosition(positionStep + 1) - //_ => throw new NotImplementedException() + _ => throw new NotImplementedException() }; int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 5), (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, (StreamKind.Data, ColumnTypeKind.Double, _) => 0, (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - _ => GetRowEntryPosition(positionStep + 2) - //_ => throw new NotImplementedException() + _ => throw new NotImplementedException() }; return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs new file mode 100644 index 0000000..e0db1a5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs @@ -0,0 +1,77 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedFloatReader : BaseColumnReader + { + public OptimizedFloatReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[4]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _outputValuesRaw[_numValuesRead++] = float.NaN; + } + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs index bc15c4e..2f18cce 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs @@ -43,8 +43,8 @@ public override void FillBuffer() { if (presentBuffer[idx]) { - var seconds = dataBuffer[idx]; - var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); + var seconds = dataBuffer[secondaryIndex]; + var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[secondaryIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); secondaryIndex++; @@ -55,9 +55,6 @@ public override void FillBuffer() } else { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - for (int idx = 0; idx < numSecondaryValuesRead; idx++) { var seconds = dataBuffer[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs index 38fafba..0924c28 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -123,10 +123,10 @@ public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEn return new OptimizedDoubleReader(readerContext); } - public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDoubleReader(readerContext); + return new OptimizedFloatReader(readerContext); } public BaseColumnReader CreateIntegerColumnReader(int stripeId, int rowEntryIndex, string columnName) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 5ea314d..e6b1a49 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -59,7 +59,8 @@ public void Run() var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); - //var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); + var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); + var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); @@ -69,7 +70,8 @@ public void Run() sizeReader.FillBuffer(); dateReader.FillBuffer(); doubleReader.FillBuffer(); - //timeStampReader.FillBuffer(); + floatReader.FillBuffer(); + timeStampReader.FillBuffer(); //binaryReader.FillBuffer(); //byteReader.FillBuffer(); @@ -102,7 +104,8 @@ public void Run() var date = dateReader.Values[idx]; var dobl = doubleReader.Values[idx]; - //var timeStamp = timeStampReader.Values[idx]; + var sing = floatReader.Values[idx]; + var timeStamp = timeStampReader.Values[idx]; //var binary = binaryReader.Values[idx]; //var tinyInt = byteReader.Values[idx]; @@ -112,10 +115,12 @@ public void Run() $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + - $"{size}," + - $"{(date.HasValue ? date.Value.ToString("yyyy-MM-dd") : string.Empty)}," + + $"{size,-7}" + + $" |" + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + $"{dobl}," + - //$"{timeStamp}," + + $"{sing}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + //$"{Encoding.ASCII.GetString(binary)}," + //$"{tinyInt}" + $"" From 405ef6e16008adccc504b144d13e5a3f98da93bd Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 08:29:59 -0300 Subject: [PATCH 021/143] Fix binary reader. --- .../ColumTypes/BaseColumnReader.cs | 6 ++++++ .../ColumTypes/OptimizedBinaryReader.cs | 2 +- .../OptimizedORCApp.cs | 9 +++++---- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index 4033f2d..527d1d4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -370,11 +370,13 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 0), @@ -393,10 +395,12 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 1), @@ -416,6 +420,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, @@ -423,6 +428,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs index bdc95a0..501b566 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs @@ -53,7 +53,7 @@ public override void FillBuffer() if (presentBuffer[idx]) { var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); + _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); stringOffset += length; } else diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index e6b1a49..e0469de 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,6 +1,7 @@ using ApacheOrcDotNet.OptimizedReader; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; +using System.Text; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -61,7 +62,7 @@ public void Run() var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); - //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); + var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); sourceReader.FillBuffer(); @@ -72,7 +73,7 @@ public void Run() doubleReader.FillBuffer(); floatReader.FillBuffer(); timeStampReader.FillBuffer(); - //binaryReader.FillBuffer(); + binaryReader.FillBuffer(); //byteReader.FillBuffer(); //foreach (var item in dateReader.Values) @@ -106,7 +107,7 @@ public void Run() var dobl = doubleReader.Values[idx]; var sing = floatReader.Values[idx]; var timeStamp = timeStampReader.Values[idx]; - //var binary = binaryReader.Values[idx]; + var binary = binaryReader.Values[idx]; //var tinyInt = byteReader.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) @@ -121,7 +122,7 @@ public void Run() $"{dobl}," + $"{sing}," + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - //$"{Encoding.ASCII.GetString(binary)}," + + $"{Encoding.ASCII.GetString(binary)}," + //$"{tinyInt}" + $"" ); From d25f3477062f019719e291de386a0e7fa692b832 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 08:50:54 -0300 Subject: [PATCH 022/143] Map positions for byte reader. --- .../ColumTypes/BaseColumnReader.cs | 3 +++ .../OptimizedORCApp.cs | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index 527d1d4..3deb7fd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -383,6 +383,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 0), _ => throw new NotImplementedException() }; @@ -408,6 +409,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 1), _ => throw new NotImplementedException() }; @@ -433,6 +435,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 2), _ => throw new NotImplementedException() }; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index e0469de..ebd30ec 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -63,7 +63,7 @@ public void Run() var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); - //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); + var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); sourceReader.FillBuffer(); symbolReader.FillBuffer(); @@ -74,7 +74,7 @@ public void Run() floatReader.FillBuffer(); timeStampReader.FillBuffer(); binaryReader.FillBuffer(); - //byteReader.FillBuffer(); + byteReader.FillBuffer(); //foreach (var item in dateReader.Values) // Console.WriteLine(item.HasValue ? item.Value.ToString("yyyy-MM-dd") : ""); @@ -108,7 +108,7 @@ public void Run() var sing = floatReader.Values[idx]; var timeStamp = timeStampReader.Values[idx]; var binary = binaryReader.Values[idx]; - //var tinyInt = byteReader.Values[idx]; + var tinyInt = byteReader.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) { @@ -122,8 +122,8 @@ public void Run() $"{dobl}," + $"{sing}," + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - $"{Encoding.ASCII.GetString(binary)}," + - //$"{tinyInt}" + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}" + $"" ); } From a1ae0614fddf685101be09dd240ac35f46c8f178 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 13:18:15 -0300 Subject: [PATCH 023/143] Reuse internal stream buffers. --- .../BufferPositions.cs | 4 + .../Buffers/BaseColumnBuffer.cs | 401 ++++++++++++++ .../Buffers/BinaryColumnBuffer.cs | 83 +++ .../Buffers/BooleanColumnBuffer.cs | 51 ++ .../Buffers/ByteColumnBuffer.cs | 51 ++ .../Buffers/DateColumnBuffer.cs | 53 ++ .../Buffers/DecimalAsDoubleColumnBuffer.cs | 66 +++ .../Buffers/DecimalColumnBuffer.cs | 66 +++ .../Buffers/DoubleColumnBuffer.cs | 74 +++ .../Buffers/FloatColumnBuffer.cs | 74 +++ .../Buffers/IntegerColumnBuffer.cs | 51 ++ .../Buffers/StringColumnBuffer.cs | 182 +++++++ .../Buffers/TimestampColumnBuffer.cs | 85 +++ .../ColumTypes/BaseColumnReader.cs | 501 ------------------ .../ColumTypes/OptimizedBinaryReader.cs | 87 --- .../ColumTypes/OptimizedBooleanReader.cs | 55 -- .../ColumTypes/OptimizedByteReader.cs | 55 -- .../ColumTypes/OptimizedDateReader.cs | 57 -- .../ColumTypes/OptimizedDecimalReader.cs | 69 --- .../OptimizedDecimalReaderAsDouble.cs | 69 --- .../ColumTypes/OptimizedDoubleReader.cs | 77 --- .../ColumTypes/OptimizedFloatReader.cs | 77 --- .../ColumTypes/OptimizedIntegerReader.cs | 55 -- .../ColumTypes/OptimizedStringReader.cs | 183 ------- .../ColumTypes/OptimizedTimestampReader.cs | 89 ---- ...hEncodingReader.cs => OptimizedByteRLE.cs} | 2 +- ...thEncodingV2.cs => OptimizedIntegerRLE.cs} | 2 +- .../Infrastructure/SpanStripeFooter.cs | 5 +- .../Infrastructure/StatsExtensions.cs | 8 + .../OrcColumn.cs | 23 + .../OrcContext.cs | 18 + .../OrcOptimizedReader.cs | 274 ---------- .../OrcReader.cs | 260 +++++++++ .../ReaderContext.cs | 38 -- .../OptimizedORCApp.cs | 134 ++--- .../Program.cs | 1 - 36 files changed, 1623 insertions(+), 1757 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs rename src/ApacheOrcDotNet.OptimizedReader/Encodings/{OptimizedByteRunLengthEncodingReader.cs => OptimizedByteRLE.cs} (95%) rename src/ApacheOrcDotNet.OptimizedReader/Encodings/{OptimizedIntegerRunLengthEncodingV2.cs => OptimizedIntegerRLE.cs} (99%) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs new file mode 100644 index 0000000..604b9cc --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public readonly record struct BufferPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs new file mode 100644 index 0000000..2695ef5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -0,0 +1,401 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + [SkipLocalsInit] + public abstract class BaseColumnBuffer + { + private protected readonly IByteRangeProvider _byteRangeProvider; + private protected readonly OrcContextNew _context; + private protected readonly OrcColumn _column; + private protected readonly TOutput[] _values; + private protected int _numValuesRead; + private long[] _numericStreamBuffer; + private byte[] _byteStreamBuffer; + private byte[] _boolStreamBuffer; + + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) + { + _byteRangeProvider = byteRangeProvider; + _context = context; + _column = column; + _values = new TOutput[_context.MaxValuesToRead]; + + _numericStreamBuffer = new long[1000]; + _byteStreamBuffer = new byte[1000]; + _boolStreamBuffer = new byte[1000]; + } + + public OrcColumn Column => _column; + public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); + + public abstract void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); + + protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + { + var stream = columnStreams.SingleOrDefault(stream => + stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + protected void ResetInnerBuffers() + { + _numValuesRead = 0; + } + + [SkipLocalsInit] + private protected int ReadByteStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _byteStreamBuffer); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = _byteStreamBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadBooleanStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; + var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _boolStreamBuffer); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < numOfBytesToSkip) + continue; + + var decodedByte = _boolStreamBuffer[idx]; + + // Skip remaining bits. + if (numOfBytesToSkip % 8 != 0) + decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); + + outputValues[numValuesRead++] = (decodedByte & 128) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 64) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 32) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 16) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 8) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 4) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 2) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 1) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadNumericStream(StreamDetail stream, in BufferPositions positions, bool isSigned, Span outputValues) + { + if (stream == null) + return 0; + + if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) + throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref dataReader, isSigned, _numericStreamBuffer); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadVarIntStream(StreamDetail stream, BufferPositions positions, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + int skippedValues = 0; + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = bigInt.Value; + + if (numValuesRead >= outputValues.Length) + break; + } + + return numValuesRead; + } + + private protected BufferPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + { + if (presentStream == null) + return new(); + + return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); + } + + private protected BufferPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) + { + var positionStep = presentStream == null ? 0 : 4; + + ulong rowGroupOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], + + _ => throw new NotImplementedException() + }; + + ulong rowEntryOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], + + _ => throw new NotImplementedException() + }; + + ulong valuesToSkip = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 5], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], + + _ => throw new NotImplementedException() + }; + + return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip); + } + + private protected double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); + + private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; + } + + private BigInteger? ReadBigVarInt(ref SequenceReader stream) + { + var value = BigInteger.Zero; + long currentLong = 0; + int bitCount = 0; + + while (true) + { + if (!stream.TryRead(out var currentByte)) + return null; // Reached the end of the stream + + currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; + bitCount += 7; + + if (bitCount % 63 == 0) + { + if (bitCount == 63) + value = new BigInteger(currentLong); + else + value |= new BigInteger(currentLong) << bitCount - 63; + + currentLong = 0; + } + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + if (currentLong != 0) // Some bits left to add to result + { + var shift = bitCount / 63 * 63; + value |= new BigInteger(currentLong) << shift; + } + + // Un zig-zag + return ((long)value).ZigzagDecode(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs new file mode 100644 index 0000000..c7b88b5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -0,0 +1,83 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Buffers; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class BinaryColumnBuffer : BaseColumnBuffer + { + private readonly bool[] _presentStreamBuffer; + private readonly long[] _lengthStreamBuffer; + + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBuffer); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + var length = (int)_lengthStreamBuffer[lengthIndex++]; + _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)_lengthStreamBuffer[idx]; + _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs new file mode 100644 index 0000000..7c5b0a9 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -0,0 +1,51 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class BooleanColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private bool[] _dataStreamBuffer; + + public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new bool[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, _dataStreamBuffer); + + var dataIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamBuffer[idx]; + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs new file mode 100644 index 0000000..608b993 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -0,0 +1,51 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class ByteColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private byte[] _dataStreamBuffer; + + public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new byte[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadByteStream(dataStream, dataPostions, _dataStreamBuffer); + + var dataIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamBuffer[idx]; + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs new file mode 100644 index 0000000..04bde22 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -0,0 +1,53 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DateColumnBuffer : BaseColumnBuffer + { + readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly bool[] _presentStreamBuffer; + private readonly long[] _dataStreamBuffer; + + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[dataIndex++] * TimeSpan.TicksPerDay); + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[idx] * TimeSpan.TicksPerDay); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs new file mode 100644 index 0000000..9a94c50 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -0,0 +1,66 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private BigInteger[] _dataStreamBuffer; + private long[] _secondaryStreamBuffer; + + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + var secondaryIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _values[_numValuesRead++] = double.NaN; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs new file mode 100644 index 0000000..599f8e4 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -0,0 +1,66 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DecimalColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private BigInteger[] _dataStreamBuffer; + private long[] _secondaryStreamBuffer; + + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + var secondaryIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _values[_numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs new file mode 100644 index 0000000..8c9a6a1 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -0,0 +1,74 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DoubleColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[8]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _values[_numValuesRead++] = double.NaN; + } + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs new file mode 100644 index 0000000..a5ec93e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -0,0 +1,74 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class FloatColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[4]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _values[_numValuesRead++] = float.NaN; + } + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs new file mode 100644 index 0000000..6078e77 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -0,0 +1,51 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class IntegerColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private long[] _dataStreamBuffer; + + public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + + var dataIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamBuffer[idx]; + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs new file mode 100644 index 0000000..e7787db --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -0,0 +1,182 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class StringColumnBuffer : BaseColumnBuffer + { + private readonly Dictionary _dictionaryLengthBuffers = new(); + + private bool[] _presentStreamBuffer; + private long[] _dataStreamBuffer; + private long[] _lengthStreamBufferDirectV2; + + public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + _lengthStreamBufferDirectV2 = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + switch (columnStreams.First().EncodingKind) + { + case ColumnEncodingKind.DirectV2: + ReadDirectV2(columnStreams, rowIndexEntry); + break; + case ColumnEncodingKind.DictionaryV2: + ReadDictionaryV2(columnStreams, rowIndexEntry, stripeId); + break; + default: + throw new InvalidOperationException(); + } + } + + private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)_lengthStreamBufferDirectV2[idx]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + + [SkipLocalsInit] + private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, int stripeId) + { + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var dictionaryDataStream = GetStripeStream(columnStreams, StreamKind.DictionaryData); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, _presentStreamBuffer); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); + var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, _dataStreamBuffer); + + // Dictionary Data + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); + var decompressedBuffer = _byteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (decompressedBuffer) + { + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + + private Span GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) + { + if (!_dictionaryLengthBuffers.ContainsKey(stripeId)) + _dictionaryLengthBuffers.Add(stripeId, new long[dictionarySize]); + + return _dictionaryLengthBuffers[stripeId]; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs new file mode 100644 index 0000000..72a99ec --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -0,0 +1,85 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class TimestampColumnBuffer : BaseColumnBuffer + { + readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly bool[] _presentStreamBuffer; + private readonly long[] _dataStreamBuffer; + private long[] _secondaryStreamBuffer; + + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, _secondaryStreamBuffer); + + if (presentStream != null) + { + var secondaryIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + var seconds = _dataStreamBuffer[secondaryIndex]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[secondaryIndex]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + secondaryIndex++; + } + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + { + var seconds = _dataStreamBuffer[idx]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + } + } + } + + private long EncodedNanosToTicks(long encodedNanos) + { + var scale = (int)(encodedNanos & 0x7); + var nanos = encodedNanos >> 3; + + if (scale == 0) + return nanos; + + while (scale-- >= 0) + nanos *= 10; + + return nanos / 100; //100 nanoseconds per tick + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs deleted file mode 100644 index 3deb7fd..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ /dev/null @@ -1,501 +0,0 @@ -using ApacheOrcDotNet.Encodings; -using ApacheOrcDotNet.OptimizedReader.Encodings; -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.IO; -using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public readonly record struct StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); - - public abstract class BaseColumnReader : IDisposable - { - private protected readonly ReaderContext _readerContext; - private protected readonly TOutput[] _outputValuesRaw; - private protected readonly int _numMaxValuesToRead; - private protected int _numValuesRead; - - public BaseColumnReader(ReaderContext readerContext) - { - _readerContext = readerContext; - _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); - //_numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); - _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; - } - - public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); - - public virtual void Dispose() - { - ArrayPool.Shared.Return(_outputValuesRaw); - } - - public abstract void FillBuffer(); - - protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) - { - var stream = _readerContext.Streams.SingleOrDefault(stream => - stream.ColumnId == _readerContext.Column.ColumnId - && stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); - - return stream; - } - - [SkipLocalsInit] - private protected int ReadByteStream(StreamDetail stream, in StreamPositions positions, Span outputValues) - { - if (stream == null) - return 0; - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - - try - { - using (dataBuffer) - { - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = valuesBufferSpan[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - } - finally - { - ArrayPool.Shared.Return(valuesBuffer); - } - } - - [SkipLocalsInit] - private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) - { - if (stream == null) - return 0; - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - - try - { - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numOfTotalBitsToSkip = (positions.ValuesToSkip * 8) + positions.RemainingBits; - var numOfBytesToSkip = numOfTotalBitsToSkip / 8; - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < numOfBytesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - // Skip remaining bits. - if (numOfBytesToSkip % 8 != 0) - { - decodedByte = (byte)(decodedByte << (numOfTotalBitsToSkip % 8)); - } - - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - /* - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - //if (decodedByte <= 0x80) - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - */ - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(valuesBuffer); - } - } - } - - [SkipLocalsInit] - private protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) - { - if (stream == null) - return 0; - - if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) - throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - - try - { - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - using (dataBuffer) - { - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( - ref dataReader, - isSigned, - valuesBufferSpan - ); - - for (int idx = 0; idx < numNewValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = (int)valuesBuffer[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - } - finally - { - ArrayPool.Shared.Return(valuesBuffer); - } - } - - [SkipLocalsInit] - private protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) - { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - int skippedValues = 0; - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) - { - var bigInt = ReadBigVarInt(ref dataReader); - - if (!bigInt.HasValue) - break; - - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = bigInt.Value; - - if (numValuesRead >= outputValues.Length) - break; - } - - return numValuesRead; - } - } - - private protected StreamPositions GetPresentStreamPositions(StreamDetail presentStream) - { - if (presentStream == null) - return new(); - - return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); - } - - private protected StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) - { - var positionStep = presentStream == null ? 0 : 4; - - int rowGroupOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 3), - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 0), - - _ => throw new NotImplementedException() - }; - int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 4), - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 1), - - _ => throw new NotImplementedException() - }; - int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 5), - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.Double, _) => 0, - (StreamKind.Data, ColumnTypeKind.Float, _) => 0, - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 2), - - _ => throw new NotImplementedException() - }; - - return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); - } - - private protected double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); - - private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) - { - if (scale < 0 || scale > 255) - throw new OverflowException("Scale must be positive number"); - - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow - var scaler = new decimal(1, 0, 0, false, (byte)scale); - - return decNumerator * scaler; - } - - private int GetRowEntryPosition(int positionIndex) => (int)_readerContext.RowIndexEntry.Positions[positionIndex]; - - private BigInteger? ReadBigVarInt(ref SequenceReader stream) - { - var value = BigInteger.Zero; - long currentLong = 0; - int bitCount = 0; - - while (true) - { - if (!stream.TryRead(out var currentByte)) - return null; // Reached the end of the stream - - currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; - bitCount += 7; - - if (bitCount % 63 == 0) - { - if (bitCount == 63) - value = new BigInteger(currentLong); - else - value |= new BigInteger(currentLong) << bitCount - 63; - - currentLong = 0; - } - - // Done when the high bit is set - if (currentByte < 0x80) - break; - } - - if (currentLong != 0) // Some bits left to add to result - { - var shift = bitCount / 63 * 63; - value |= new BigInteger(currentLong) << shift; - } - - // Un zig-zag - return ((long)value).ZigzagDecode(); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs deleted file mode 100644 index 501b566..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs +++ /dev/null @@ -1,87 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedBinaryReader : BaseColumnReader - { - public OptimizedBinaryReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStream != null) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs deleted file mode 100644 index f58383b..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs +++ /dev/null @@ -1,55 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedBooleanReader : BaseColumnReader - { - public OptimizedBooleanReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var dataIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs deleted file mode 100644 index f37f5ee..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs +++ /dev/null @@ -1,55 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedByteReader : BaseColumnReader - { - public OptimizedByteReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var dataIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs deleted file mode 100644 index 96db663..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs +++ /dev/null @@ -1,57 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDateReader : BaseColumnReader - { - readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - public OptimizedDateReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - if (presentStream != null) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[dataIndex++] * TimeSpan.TicksPerDay); - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[idx] * TimeSpan.TicksPerDay); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs deleted file mode 100644 index 46a3d75..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs +++ /dev/null @@ -1,69 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Numerics; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDecimalReader : BaseColumnReader - { - public OptimizedDecimalReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var secondaryIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs deleted file mode 100644 index f257277..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs +++ /dev/null @@ -1,69 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Numerics; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDecimalReaderAsDouble : BaseColumnReader - { - public OptimizedDecimalReaderAsDouble(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var secondaryIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = double.NaN; - } - } - else - { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs deleted file mode 100644 index 781786c..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs +++ /dev/null @@ -1,77 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDoubleReader : BaseColumnReader - { - public OptimizedDoubleReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - Span valueBuffer = stackalloc byte[8]; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _outputValuesRaw[_numValuesRead++] = double.NaN; - } - } - else - { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); - - _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs deleted file mode 100644 index e0db1a5..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs +++ /dev/null @@ -1,77 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedFloatReader : BaseColumnReader - { - public OptimizedFloatReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - Span valueBuffer = stackalloc byte[4]; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _outputValuesRaw[_numValuesRead++] = float.NaN; - } - } - else - { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); - - _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs deleted file mode 100644 index cffcd25..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs +++ /dev/null @@ -1,55 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedIntegerReader : BaseColumnReader - { - public OptimizedIntegerReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var dataIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs deleted file mode 100644 index 6498781..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs +++ /dev/null @@ -1,183 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedStringReader : BaseColumnReader - { - public OptimizedStringReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - switch (_readerContext.ColumnEncodingKind) - { - case ColumnEncodingKind.DirectV2: - ReadDirectV2(); - break; - case ColumnEncodingKind.DictionaryV2: - ReadDictionaryV2(); - break; - default: - throw new InvalidOperationException(); - } - } - - private void ReadDirectV2() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStream != null) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); - } - } - - [SkipLocalsInit] - private void ReadDictionaryV2() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); - - var dictionarySize = lengthStream.DictionarySize; - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (decompressedBuffer) - { - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } - - if (presentStream != null) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(dataBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthBuffer, clearArray: false); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs deleted file mode 100644 index 2f18cce..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs +++ /dev/null @@ -1,89 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedTimestampReader : BaseColumnReader - { - readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - public OptimizedTimestampReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - if (presentStream != null) - { - var secondaryIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var seconds = dataBuffer[secondaryIndex]; - var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[secondaryIndex]); - var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - { - var seconds = dataBuffer[idx]; - var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); - var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - - private long EncodedNanosToTicks(long encodedNanos) - { - var scale = (int)(encodedNanos & 0x7); - var nanos = encodedNanos >> 3; - - if (scale == 0) - return nanos; - - while (scale-- >= 0) - nanos *= 10; - - return nanos / 100; //100 nanoseconds per tick - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs similarity index 95% rename from src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index 15d1e5a..1df8cae 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -3,7 +3,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Encodings { - public static class OptimizedByteRunLengthEncodingReader + public static class OptimizedByteRLE { public static int ReadValues(ref SequenceReader reader, Span outputValues) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs similarity index 99% rename from src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs rename to src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 7ee5c44..98b74a5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -5,7 +5,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Encodings { - public static class OptimizedIntegerRunLengthEncodingV2 + public static class OptimizedIntegerRLE { enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index ee63c40..84a65aa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -6,11 +6,11 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, IEnumerable columnDetails, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); @@ -22,7 +22,6 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence ColumnId: (int)stream.Column, FileOffset: stripeOffset, Length: (int)stream.Length, - ColumnType: columnDetails.FirstOrDefault(c => c.ColumnId == stream.Column)?.ColumnType, StreamKind: stream.Kind, EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind, DictionarySize: (int)stripeFooter.Columns[(int)stream.Column].DictionarySize diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index 1a55907..a05eb2a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -6,6 +6,14 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class StatsExtensions { + public static bool InRange(this ColumnStatistics stats, OrcColumn column) + { + if (string.IsNullOrEmpty(column.Min) && string.IsNullOrEmpty(column.Max)) + throw new InvalidOperationException($"Invalid lookup parameters for column '{column.Name}'."); + + return stats.InRange(column.Type, column.Min, column.Max); + } + public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { switch (columnType) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs new file mode 100644 index 0000000..49f6d03 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -0,0 +1,23 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcColumn + { + public OrcColumn(int id, int index, string name, ColumnTypeKind type) + { + Id = id; + Index = index; + Name = name; + Type = type; + } + + public int Id { get; } + public int Index { get; } + public string Name { get; } + public ColumnTypeKind Type { get; } + + public string Min { get; init; } + public string Max { get; init; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs new file mode 100644 index 0000000..1b68425 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs @@ -0,0 +1,18 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcContextNew + { + public OrcContextNew(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) + { + CompressionKind = compressionKind; + CompressionBlockSize = compressionBlockSize; + MaxValuesToRead = maxValuesToRead; + } + + public CompressionKind CompressionKind { get; } + public int CompressionBlockSize { get; } + public int MaxValuesToRead { get; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs deleted file mode 100644 index 0924c28..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ /dev/null @@ -1,274 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.ColumTypes; -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; -using ProtoBuf; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class OrcOptimizedReaderConfiguration - { - public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; - } - - public sealed class OrcOptimizedReader - { - private readonly OrcOptimizedReaderConfiguration _configuration; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly SpanFileTail _fileTail; - private readonly List _columnDetails = new(); - private readonly Dictionary> _stripeStreams = new(); - private readonly Dictionary<(int columnId, int stripeId), List> _columnStreams = new(); - private readonly Dictionary<(int columnId, int stripeId), ColumnEncodingKind> _columnEncodings = new(); - private readonly Dictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); - - public OrcOptimizedReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) - { - _configuration = configuration; - _byteRangeProvider = byteRangeProvider; - - _fileTail = ReadFileTail(); - if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) - throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); - - _columnDetails = _fileTail.Footer.Types[0].FieldNames.Select((name, i) => - { - var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; - var subTypeKind = _fileTail.Footer.Types[subType].Kind; - return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); - }).ToList(); - } - - public IEnumerable GetStripeIds(string columnName, string min, string max) - => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), columnName, min, max); - - public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, string columnName, string min, string max) - { - var column = GetColumnDetails(columnName); - var columnStats = GetFileColumnStatistics(column.ColumnId); - - if (!columnStats.InRange(column.ColumnType, min, max)) - return Enumerable.Empty(); - - return lookupStripeIds.Where(stripeId => - { - var stripeColumnStats = GetStripeColumnStatistics(column.ColumnId, stripeId); - return stripeColumnStats.InRange(column.ColumnType, min, max); - }); - } - - public IEnumerable GetRowGroupIndexes(int stripeId, string columnName, string min, string max) - { - var column = GetColumnDetails(columnName); - var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); - return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, columnName, min, max); - } - - public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, string columnName, string min, string max) - { - var column = GetColumnDetails(columnName); - var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); - - return lookupIndexes.Where(index => - { - var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column.ColumnType, min, max); - }); - } - - public BaseColumnReader CreateBinaryColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedBinaryReader(readerContext); - } - - public BaseColumnReader CreateBooleanColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedBooleanReader(readerContext); - } - - public BaseColumnReader CreateByteColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedByteReader(readerContext); - } - - public BaseColumnReader CreateDateColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDateReader(readerContext); - } - - public BaseColumnReader CreateDecimalColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDecimalReader(readerContext); - } - - public BaseColumnReader CreateDecimalColumnReaderAsDouble(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDecimalReaderAsDouble(readerContext); - } - - public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDoubleReader(readerContext); - } - - public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedFloatReader(readerContext); - } - - public BaseColumnReader CreateIntegerColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedIntegerReader(readerContext); - } - - public BaseColumnReader CreateStringColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedStringReader(readerContext); - } - - public BaseColumnReader CreateTimestampColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedTimestampReader(readerContext); - } - - private SpanFileTail ReadFileTail() - { - int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; - while (true) - { - var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(buffer); - - if (success) - return fileTail; - - lengthToReadFromEnd += additionalBytesRequired; - } - } - - private ReaderContext GetReaderContext(int stripeId, int rowEntryIndex, string columnName) - { - var column = GetColumnDetails(columnName); - var streams = GetColumnStreams(column.ColumnId, stripeId); - var rowGroup = GetRowGroupIndex(column.ColumnId, stripeId); - - return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex) - { - ColumnEncodingKind = GetColumnEncodingKind(column.ColumnId, stripeId) - }; - } - - private IEnumerable GetStripeStreams(int stripeId) - { - if (!_stripeStreams.ContainsKey(stripeId)) - { - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); - var stripeFooterLength = (int)stripe.FooterLength; - - var decompressedData = _byteRangeProvider.DecompressByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - using (decompressedData) - { - var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, _columnDetails, (long)stripe.Offset); - _stripeStreams.Add(stripeId, streams.ToList()); - } - } - - return _stripeStreams[stripeId]; - } - - private ColumnDetail GetColumnDetails(string columnName) - => _columnDetails.Single(colDetail => colDetail.Name.ToLower() == columnName.ToLower()); - - private ColumnStatistics GetFileColumnStatistics(int columnId) - => _fileTail.Footer.Statistics[columnId]; - - private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - - private RowIndex GetRowGroupIndex(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - if (!_rowGroupIndexes.ContainsKey(key)) - { - var streamDetails = GetStripeStreams(stripeId); - var rowIndexStream = streamDetails.Where(s => - s.StreamKind == StreamKind.RowIndex - && s.ColumnId == columnId - ).Single(); - - var decompressedData = _byteRangeProvider.DecompressByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - using (decompressedData) - { - var index = Serializer.Deserialize(decompressedData.Sequence); - _rowGroupIndexes.Add(key, index); - } - } - - return _rowGroupIndexes[key]; - } - - private IEnumerable GetColumnStreams(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - if (!_columnStreams.ContainsKey(key)) - { - var stripeStreams = GetStripeStreams(stripeId); - var columnStreams = stripeStreams.Where(s => - s.ColumnId == columnId - ).ToList(); - - _columnStreams.Add(key, columnStreams); - } - - return _columnStreams[key]; - } - - private ColumnEncodingKind GetColumnEncodingKind(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - if (!_columnEncodings.ContainsKey(key)) - { - var firstColumnStream = GetColumnStreams(columnId, stripeId).First(); - - _columnEncodings.Add(key, firstColumnStream.EncodingKind); - } - - return _columnEncodings[key]; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs new file mode 100644 index 0000000..1382d4e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -0,0 +1,260 @@ +using ApacheOrcDotNet.OptimizedReader.Buffers; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcOptimizedReaderConfiguration + { + public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; + } + + public sealed class OrcReader + { + private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly SpanFileTail _fileTail; + private readonly Dictionary> _stripeStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); + private readonly Dictionary _protoColumns = new(); + private readonly CompressionKind _compressionKind; + private readonly int _compressionBlockSize; + private readonly int _maxValuesToRead; + private int _nextColumnIndex = 0; + + public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + { + _configuration = configuration; + _byteRangeProvider = byteRangeProvider; + + _fileTail = ReadFileTail(); + if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) + throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); + + _protoColumns = _fileTail.Footer.Types[0].FieldNames.Select((name, i) => + { + var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; + var subTypeKind = _fileTail.Footer.Types[subType].Kind; + return (subType, name, subTypeKind); + }).ToDictionary(i => i.name.ToLower(), i => i); + + _compressionKind = _fileTail.PostScript.Compression; + _compressionBlockSize = (int)_fileTail.PostScript.CompressionBlockSize; + _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + } + + public OrcColumn CreateColumn(string columnName, string min = null, string max = null) + { + if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) + throw new InvalidOperationException($"The column '{columnName}' is invalid."); + + var orcColumn = new OrcColumn(column.Id, _nextColumnIndex++, column.Name, column.Type) + { + Min = min, + Max = max + }; + + return orcColumn; + } + + public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new BinaryColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new BooleanColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new ByteColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DateColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDecimalColumnReader(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DecimalColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DoubleColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new FloatColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new IntegerColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new StringColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new TimestampColumnBuffer(_byteRangeProvider, context, column); + } + + public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) + { + var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); + var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; + + columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); + } + + public IEnumerable GetStripeIds(OrcColumn column) + => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); + + public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column) + { + var columnStats = GetFileColumnStatistics(column.Id); + + if (!columnStats.InRange(column.Type, column.Min, column.Max)) + return Enumerable.Empty(); + + return lookupStripeIds.Where(stripeId => + { + var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); + return stripeColumnStats.InRange(column); + }); + } + + public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column) + { + var rowIndex = GetRowGroupIndex(column.Id, stripeId); + return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); + } + + public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column) + { + var rowIndex = GetRowGroupIndex(column.Id, stripeId); + + return lookupIndexes.Where(index => + { + var rowIndexEntry = rowIndex.Entry[index]; + return rowIndexEntry.Statistics.InRange(column); + }); + } + + private SpanFileTail ReadFileTail() + { + int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; + while (true) + { + var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); + var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(buffer); + + if (success) + return fileTail; + + lengthToReadFromEnd += additionalBytesRequired; + } + } + + private IEnumerable GetStripeStreams(int stripeId) + { + if (!_stripeStreams.ContainsKey(stripeId)) + { + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); + var stripeFooterLength = (int)stripe.FooterLength; + + var decompressedData = _byteRangeProvider.DecompressByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, (long)stripe.Offset); + + _stripeStreams.Add(stripeId, streams.ToList()); + } + + return _stripeStreams[stripeId]; + } + + private ColumnStatistics GetFileColumnStatistics(int columnId) + => _fileTail.Footer.Statistics[columnId]; + + private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + + private RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + return _rowGroupIndexes.GetOrAdd(key, key => + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + var decompressedData = _byteRangeProvider.DecompressByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + return Serializer.Deserialize(decompressedData.Sequence); + }); + } + + private IEnumerable GetColumnStreams(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + return _columnStreams.GetOrAdd(key, key => + { + var stripeStreams = GetStripeStreams(stripeId); + return stripeStreams.Where(s => + s.ColumnId == columnId + ).ToList(); + }); + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs b/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs deleted file mode 100644 index e846bf4..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs +++ /dev/null @@ -1,38 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Collections.Generic; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class ReaderContext - { - public ReaderContext(IByteRangeProvider byteRangeProvider, SpanFileTail fileTail, ColumnDetail columnDetails, IEnumerable columnStreams, RowIndex rowGroup, int rowEntryIndex) - { - ByteRangeProvider = byteRangeProvider ?? throw new ArgumentNullException(nameof(byteRangeProvider)); - FileTail = fileTail ?? throw new ArgumentNullException(nameof(fileTail)); - Streams = columnStreams ?? throw new ArgumentNullException(nameof(Stream)); - Column = columnDetails ?? throw new ArgumentNullException(nameof(columnDetails)); - Row = rowGroup ?? throw new ArgumentNullException(nameof(rowGroup)); - RowEntryIndex = rowEntryIndex; - - RowIndexEntry = Row.Entry[RowEntryIndex]; - CompressionKind = FileTail.PostScript.Compression; - CompressionBlockSize = (int)FileTail.PostScript.CompressionBlockSize; - } - - public IByteRangeProvider ByteRangeProvider { get; } - public SpanFileTail FileTail { get; } - public IEnumerable Streams { get; } - public ColumnDetail Column { get; } - public RowIndex Row { get; } - public int RowEntryIndex { get; } - public int StripeId { get; } - - public RowIndexEntry RowIndexEntry { get; } - public CompressionKind CompressionKind { get; } - public int CompressionBlockSize { get; } - - public ColumnEncodingKind ColumnEncodingKind { get; init; } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index ebd30ec..7717089 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,7 +1,9 @@ using ApacheOrcDotNet.OptimizedReader; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; +using System.Diagnostics; using System.Text; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -30,85 +32,83 @@ public OptimizedORCApp(string orcFileName, OptimizedORCAppConfiguration confitur public void Run() { // - var reader = new OrcOptimizedReader( + var watch = new Stopwatch(); + var reader = new OptimizedReader.OrcReader( new OrcOptimizedReaderConfiguration() { OptimisticFileTailReadLength = 1 }, _byteRangeProviderFactory.Create(_orcFileName) ); - // + watch.Start(); + + // Args var lookupSource = _configuration.Source; var lookupSymbol = _configuration.Symbol; var beginTime = (decimal)_configuration.BeginTime.TotalSeconds; var endTime = (decimal)_configuration.EndTime.TotalSeconds; - // - var stripeIds = reader.GetStripeIds("source", lookupSource, lookupSource); - stripeIds = reader.GetStripeIds(stripeIds, "symbol", lookupSymbol, lookupSymbol); - stripeIds = reader.GetStripeIds(stripeIds, "time", $"{beginTime}", $"{endTime}"); + // Columns + var sourceColumn = reader.CreateColumn("source", lookupSource, lookupSource); + var symbolColumn = reader.CreateColumn("symbol", lookupSymbol, lookupSymbol); + var timeColumn = reader.CreateColumn("time", $"{beginTime}", $"{endTime}"); + var sizeColumn = reader.CreateColumn("size"); + var dateColumn = reader.CreateColumn("date"); + var doubleColumn = reader.CreateColumn("double"); + var floatColumn = reader.CreateColumn("float"); + var timeStampColumn = reader.CreateColumn("timeStamp"); + var binaryColumn = reader.CreateColumn("binary"); + var byteColumn = reader.CreateColumn("byte"); + + // Buffers + var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); + var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); + var timeColumnBuffer = reader.CreateDecimalColumnBufferAsDouble(timeColumn); + var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + + // Filters + var stripeIds = reader.GetStripeIds(sourceColumn); + stripeIds = reader.GetStripeIds(stripeIds, symbolColumn); + stripeIds = reader.GetStripeIds(stripeIds, timeColumn); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, "source", lookupSource, lookupSource); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "symbol", lookupSymbol, lookupSymbol); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "time", $"{beginTime}", $"{endTime}"); + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn); foreach (var rowEntryIndex in rowGroupIndexes) { - var sourceReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "source"); - var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); - var timeReader = reader.CreateDecimalColumnReaderAsDouble(stripeId, rowEntryIndex, "time"); - var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); - var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); - var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); - var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); - var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); - var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); - var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); - - sourceReader.FillBuffer(); - symbolReader.FillBuffer(); - timeReader.FillBuffer(); - sizeReader.FillBuffer(); - dateReader.FillBuffer(); - doubleReader.FillBuffer(); - floatReader.FillBuffer(); - timeStampReader.FillBuffer(); - binaryReader.FillBuffer(); - byteReader.FillBuffer(); - - //foreach (var item in dateReader.Values) - // Console.WriteLine(item.HasValue ? item.Value.ToString("yyyy-MM-dd") : ""); - - //var x = true; - //if (x) - // continue; - - //Parallel.Invoke( - // () => sourceReader.FillBuffer(), - // () => symbolReader.FillBuffer(), - // () => timeReader.FillBuffer(), - // () => sizeReader.FillBuffer() - - // () => dateReader.FillBuffer() - // () => doubleReader.FillBuffer(), - // () => timeStampReader.FillBuffer(), - // () => binaryReader.FillBuffer(), - // () => byteReader.FillBuffer() - //); - - for (int idx = 0; idx < sizeReader.Values.Length; idx++) + // Read Data + Parallel.Invoke( + () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + ); + + for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) { - var source = sourceReader.Values[idx]; - var symbol = symbolReader.Values[idx]; - var time = timeReader.Values[idx]; - var size = sizeReader.Values[idx]; - - var date = dateReader.Values[idx]; - var dobl = doubleReader.Values[idx]; - var sing = floatReader.Values[idx]; - var timeStamp = timeStampReader.Values[idx]; - var binary = binaryReader.Values[idx]; - var tinyInt = byteReader.Values[idx]; + var source = sourceColumnBuffer.Values[idx]; + var symbol = symbolColumnBuffer.Values[idx]; + var time = timeColumnBuffer.Values[idx]; + var size = sizeColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) { @@ -116,8 +116,8 @@ public void Run() $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + - $"{size,-7}" + - $" |" + + $"{size}" + + $" " + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + $"{dobl}," + $"{sing}," + @@ -130,6 +130,10 @@ public void Run() } } } + + watch.Stop(); + Console.WriteLine(); + Console.WriteLine($"Read execution time: {watch.Elapsed}"); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 1c9f271..b1112f5 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -66,7 +66,6 @@ static void Main(string[] args) optimizedORCApp.Run(); stopWatch.Stop(); - Console.WriteLine(); Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); Console.WriteLine(); } From c8598a36f45e330995fe547e2f35c139b5c6ef95 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 26 May 2022 17:46:18 -0300 Subject: [PATCH 024/143] Move reader data acquisition to top level classes. --- .../Buffers/BaseColumnBuffer.cs | 85 ++++----- .../Buffers/BinaryColumnBuffer.cs | 78 ++++---- .../Buffers/BooleanColumnBuffer.cs | 14 +- .../Buffers/ByteColumnBuffer.cs | 16 +- .../Buffers/DateColumnBuffer.cs | 16 +- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 21 ++- .../Buffers/DecimalColumnBuffer.cs | 21 ++- .../Buffers/DoubleColumnBuffer.cs | 65 ++++--- .../Buffers/FloatColumnBuffer.cs | 65 ++++--- .../Buffers/IntegerColumnBuffer.cs | 16 +- .../Buffers/StringColumnBuffer.cs | 167 ++++++++---------- .../Buffers/TimestampColumnBuffer.cs | 23 +-- .../ByteRangeProviderExtensions.cs | 28 +++ .../DecompressingMemorySequence.cs | 11 +- .../OrcContext.cs | 4 +- .../OrcReader.cs | 22 +-- .../OptimizedORCApp.cs | 2 +- 17 files changed, 334 insertions(+), 320 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 2695ef5..a4f0b39 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -16,15 +16,20 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public abstract class BaseColumnBuffer { private protected readonly IByteRangeProvider _byteRangeProvider; - private protected readonly OrcContextNew _context; + private protected readonly OrcContext _context; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; private protected int _numValuesRead; private long[] _numericStreamBuffer; private byte[] _byteStreamBuffer; private byte[] _boolStreamBuffer; + //private byte[] _decompressBuffer1; + //private byte[] _decompressBuffer2; + //private byte[] _decompressBuffer3; + //private byte[] _decompressBuffer4; + //private byte[] _decompressBuffer5; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; _context = context; @@ -34,6 +39,14 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew cont _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; + + //var decompressBuffersLength = 4 * 1024 * 1024; + + //_decompressBuffer1 = new byte[decompressBuffersLength]; + //_decompressBuffer2 = new byte[decompressBuffersLength]; + //_decompressBuffer3 = new byte[decompressBuffersLength]; + //_decompressBuffer4 = new byte[decompressBuffersLength]; + //_decompressBuffer5 = new byte[decompressBuffersLength]; } public OrcColumn Column => _column; @@ -59,20 +72,13 @@ protected void ResetInnerBuffers() } [SkipLocalsInit] - private protected int ReadByteStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + private protected int ReadByteStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) { - if (stream == null) + if (dataBuffer.IsEmpty) return 0; - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); var numValuesRead = 0; @@ -97,20 +103,13 @@ private protected int ReadByteStream(StreamDetail stream, in BufferPositions pos } [SkipLocalsInit] - private protected int ReadBooleanStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + private protected int ReadBooleanStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) { - if (stream == null) + if (dataBuffer.IsEmpty) return 0; - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; @@ -170,23 +169,13 @@ private protected int ReadBooleanStream(StreamDetail stream, in BufferPositions } [SkipLocalsInit] - private protected int ReadNumericStream(StreamDetail stream, in BufferPositions positions, bool isSigned, Span outputValues) + private protected int ReadNumericStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, bool isSigned, Span outputValues) { - if (stream == null) + if (dataBuffer.IsEmpty) return 0; - if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) - throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); var numValuesRead = 0; @@ -211,24 +200,16 @@ private protected int ReadNumericStream(StreamDetail stream, in BufferPositions } [SkipLocalsInit] - private protected int ReadVarIntStream(StreamDetail stream, BufferPositions positions, Span outputValues) + private protected int ReadVarIntStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); + if (dataBuffer.IsEmpty) + return 0; - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); + var numValuesRead = 0; int skippedValues = 0; while (!dataReader.End) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index c7b88b5..a8a93a9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -10,7 +10,7 @@ public class BinaryColumnBuffer : BaseColumnBuffer private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; - public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; @@ -24,58 +24,52 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Length var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBuffer); - var stringOffset = 0; - if (presentStream != null) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (_presentStreamBuffer[idx]) - { - var length = (int)_lengthStreamBuffer[lengthIndex++]; - _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - } - else - _values[_numValuesRead++] = null; + var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); - if (_numValuesRead >= _values.Length) - break; - } - } - else + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - for (int idx = 0; idx < numLengthValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - var length = (int)_lengthStreamBuffer[idx]; + var length = (int)_lengthStreamBuffer[lengthIndex++]; _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); stringOffset += length; - - if (_numValuesRead >= _values.Length) - break; } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)_lengthStreamBuffer[idx]; + _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 7c5b0a9..9900520 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -9,7 +9,7 @@ public class BooleanColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private bool[] _dataStreamBuffer; - public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new bool[_context.MaxValuesToRead]; @@ -24,11 +24,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Present var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadBooleanStream(in dataMemory, dataPositions, _dataStreamBuffer); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 608b993..2ff2114 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -9,7 +9,7 @@ public class ByteColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private byte[] _dataStreamBuffer; - public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new byte[_context.MaxValuesToRead]; @@ -22,13 +22,17 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadByteStream(dataStream, dataPostions, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadByteStream(in dataMemory, in dataPositions, _dataStreamBuffer); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 04bde22..f79d7fa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -11,7 +11,7 @@ public class DateColumnBuffer : BaseColumnBuffer private readonly bool[] _presentStreamBuffer; private readonly long[] _dataStreamBuffer; - public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -24,13 +24,17 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); if (presentStream != null) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 9a94c50..c40667a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -12,7 +12,7 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; - public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; @@ -27,17 +27,20 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); - - // Secondary var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; + var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); + var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 599f8e4..892f63a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -12,7 +12,7 @@ public class DecimalColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; - public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; @@ -27,17 +27,20 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); - - // Secondary var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; + var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); + var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 8c9a6a1..c40f286 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -10,7 +10,7 @@ public class DoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; - public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; } @@ -22,51 +22,46 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + + var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - Span valueBuffer = stackalloc byte[8]; - if (presentStream != null) + Span valueBuffer = stackalloc byte[8]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - if (_presentStreamBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _values[_numValuesRead++] = double.NaN; + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + dataReader.Advance(valueBuffer.Length); } + else + _values[_numValuesRead++] = double.NaN; } - else + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); + dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index a5ec93e..26062a9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -10,7 +10,7 @@ public class FloatColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; - public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; } @@ -22,51 +22,46 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + + var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - Span valueBuffer = stackalloc byte[4]; - if (presentStream != null) + Span valueBuffer = stackalloc byte[4]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - if (_presentStreamBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _values[_numValuesRead++] = float.NaN; + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + dataReader.Advance(valueBuffer.Length); } + else + _values[_numValuesRead++] = float.NaN; } - else + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); + dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 6078e77..ed76e54 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -9,7 +9,7 @@ public class IntegerColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private long[] _dataStreamBuffer; - public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -22,13 +22,17 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index e7787db..4da753f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -16,7 +16,7 @@ public class StringColumnBuffer : BaseColumnBuffer private long[] _dataStreamBuffer; private long[] _lengthStreamBufferDirectV2; - public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -46,58 +46,52 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Length var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); + + var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); - var stringOffset = 0; - if (presentStream != null) + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - if (_presentStreamBuffer[idx]) - { - var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - } - else - _values[_numValuesRead++] = null; - - if (_numValuesRead >= _values.Length) - break; + var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; } - else + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)_lengthStreamBufferDirectV2[idx]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; + var length = (int)_lengthStreamBufferDirectV2[idx]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } @@ -110,63 +104,56 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var dictionaryDataStream = GetStripeStream(columnStreams, StreamKind.DictionaryData); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, _presentStreamBuffer); - - // Length var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + var dictionaryDataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dictionaryDataStream, in dictionaryDataPositions).Sequence; - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - var decompressedBuffer = _byteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - using (decompressedBuffer) + // Processing + var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); + var numLengthValuesRead = ReadNumericStream(in lengthMemory, in lengthPositions, isSigned: false, lengthStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, in dataPositions, isSigned: false, _dataStreamBuffer); + + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) { - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } + var length = (int)lengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(dictionaryDataMemory.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } - if (presentStream != null) + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; - else - _values[_numValuesRead++] = null; + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; + else + _values[_numValuesRead++] = null; - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } - else + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 72a99ec..71eb5cd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -12,7 +12,7 @@ public class TimestampColumnBuffer : BaseColumnBuffer private readonly long[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; - public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -27,17 +27,20 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, in secondaryPostions).Sequence; - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, _secondaryStreamBuffer); + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); + _ = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: false, _secondaryStreamBuffer); if (presentStream != null) { @@ -58,7 +61,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numSecondaryValuesRead; idx++) + for (int idx = 0; idx < numDataValuesRead; idx++) { var seconds = _dataStreamBuffer[idx]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs index 66256ce..114a491 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs @@ -5,6 +5,34 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class ByteRangeProviderExtensions { + public static DecompressingMemorySequence DecompressByteRangeNew(this IByteRangeProvider provider, OrcContext context, StreamDetail stream, in BufferPositions positions) + { + if (stream == null) + { + // TODO: Remove this temporary hack + Span emptyBuffer = stackalloc byte[0]; + return new DecompressingMemorySequence(emptyBuffer, context.CompressionKind, context.CompressionBlockSize); + } + + var offset = stream.FileOffset + positions.RowGroupOffset; + var compressedLength = stream.Length - positions.RowGroupOffset; + + var buffer = ArrayPool.Shared.Rent(compressedLength); + + try + { + var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); + + provider.GetRange(bufferSpan, offset); + + return new DecompressingMemorySequence(bufferSpan, context.CompressionKind, context.CompressionBlockSize); + } + finally + { + ArrayPool.Shared.Return(buffer); + } + } + public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) { var buffer = ArrayPool.Shared.Rent(compressedLength); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index ed355bd..7bf8611 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -45,7 +45,16 @@ public void Dispose() } } - public ReadOnlySequence Sequence => new(_begin, 0, _end, _end.Memory.Length); + public ReadOnlySequence Sequence + { + get + { + if (_begin == default || _end == default) + return new(); + + return new(_begin, 0, _end, _end.Memory.Length); + } + } } sealed class SequenceNode : ReadOnlySequenceSegment diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs index 1b68425..499d7e3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs @@ -2,9 +2,9 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcContextNew + public class OrcContext { - public OrcContextNew(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) + public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) { CompressionKind = compressionKind; CompressionBlockSize = compressionBlockSize; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 1382d4e..32928a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -68,67 +68,67 @@ public OrcColumn CreateColumn(string columnName, string min = null, string max = public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new BinaryColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new BooleanColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new ByteColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DateColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDecimalColumnReader(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DecimalColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DoubleColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new FloatColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new IntegerColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new StringColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new TimestampColumnBuffer(_byteRangeProvider, context, column); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 7717089..d43066c 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -83,7 +83,7 @@ public void Run() foreach (var rowEntryIndex in rowGroupIndexes) { - // Read Data + // Process Parallel.Invoke( () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer), () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer), From 10ad90a5c2324211994b312efe5e753937f3ae3b Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 26 May 2022 18:07:56 -0300 Subject: [PATCH 025/143] Add support for parallel reads. --- .../BufferPools.cs | 6 + .../BufferPositions.cs | 4 - .../BufferReader.cs | 52 +++++ .../Buffers/BaseColumnBuffer.cs | 184 +++++++++--------- .../Buffers/BinaryColumnBuffer.cs | 79 +++++--- .../Buffers/BooleanColumnBuffer.cs | 53 +++-- .../Buffers/ByteColumnBuffer.cs | 53 +++-- .../Buffers/DateColumnBuffer.cs | 53 +++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 71 ++++--- .../Buffers/DecimalColumnBuffer.cs | 71 ++++--- .../Buffers/DoubleColumnBuffer.cs | 55 ++++-- .../Buffers/FloatColumnBuffer.cs | 55 ++++-- .../Buffers/IntegerColumnBuffer.cs | 53 +++-- .../Buffers/StringColumnBuffer.cs | 152 ++++++++++----- .../Buffers/TimestampColumnBuffer.cs | 67 +++++-- .../DataPositions.cs | 4 + .../Encodings/OptimizedByteRLE.cs | 3 +- .../Encodings/OptimizedIntegerRLE.cs | 20 +- .../ByteRangeProviderExtensions.cs | 28 --- .../DecompressingMemorySequence.cs | 2 +- .../Infrastructure/StreamData.cs | 32 +++ .../OrcContext.cs | 13 +- .../OrcReader.cs | 19 +- .../OptimizedORCApp.cs | 75 ++++--- 24 files changed, 781 insertions(+), 423 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs new file mode 100644 index 0000000..e758c37 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs @@ -0,0 +1,6 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public class BufferPools + { + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs deleted file mode 100644 index 604b9cc..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader -{ - public readonly record struct BufferPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs new file mode 100644 index 0000000..9ee1ebb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -0,0 +1,52 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public readonly ref struct BufferReader + { + private readonly ReadOnlySpan _buffer; + private readonly int _position; + + public BufferReader(ReadOnlySpan buffer) + { + _buffer = buffer; + _position = 0; + } + + public bool Complete => _position >= _buffer.Length; + + public bool TryRead(out byte value) + { + value = default; + + if (_position >= _buffer.Length) + return false; + + value = _buffer[_position]; + + Advance(1); + + return true; + } + + public bool TryCopyTo(Span buffer) + { + if (_position + buffer.Length >= _buffer.Length) + return false; + + _buffer.Slice(_position, buffer.Length).CopyTo(buffer); + + Advance(buffer.Length); + + return true; + } + + private unsafe void Advance(int length) + { + fixed (int* ptr = &_position) + { + *ptr += length; + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index a4f0b39..889dfbe 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -15,6 +15,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public abstract class BaseColumnBuffer { + private protected readonly ArrayPool _arrayPool; private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcContext _context; private protected readonly OrcColumn _column; @@ -23,11 +24,6 @@ public abstract class BaseColumnBuffer private long[] _numericStreamBuffer; private byte[] _byteStreamBuffer; private byte[] _boolStreamBuffer; - //private byte[] _decompressBuffer1; - //private byte[] _decompressBuffer2; - //private byte[] _decompressBuffer3; - //private byte[] _decompressBuffer4; - //private byte[] _decompressBuffer5; public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { @@ -40,13 +36,7 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; - //var decompressBuffersLength = 4 * 1024 * 1024; - - //_decompressBuffer1 = new byte[decompressBuffersLength]; - //_decompressBuffer2 = new byte[decompressBuffersLength]; - //_decompressBuffer3 = new byte[decompressBuffersLength]; - //_decompressBuffer4 = new byte[decompressBuffersLength]; - //_decompressBuffer5 = new byte[decompressBuffersLength]; + _arrayPool = ArrayPool.Create(15 * 1024 * 1024, 8); } public OrcColumn Column => _column; @@ -54,42 +44,22 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context public abstract void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); - protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) - { - var stream = columnStreams.SingleOrDefault(stream => - stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); + public void Reset() => _numValuesRead = 0; - return stream; - } - - protected void ResetInnerBuffers() + private protected int ReadByteStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) { - _numValuesRead = 0; - } + numValuesRead = 0; - [SkipLocalsInit] - private protected int ReadByteStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) - { - if (dataBuffer.IsEmpty) - return 0; - - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + var numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _byteStreamBuffer); + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _byteStreamBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { - if (skippedValues++ < positions.ValuesToSkip) + if (numSkipped++ < positions.ValuesToSkip) continue; outputValues[numValuesRead++] = _byteStreamBuffer[idx]; @@ -102,27 +72,21 @@ private protected int ReadByteStream(in ReadOnlySequence dataBuffer, in Bu return numValuesRead; } - [SkipLocalsInit] - private protected int ReadBooleanStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) + private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) { - if (dataBuffer.IsEmpty) - return 0; - - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + numValuesRead = 0; + var numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _boolStreamBuffer); + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { - if (skippedValues++ < numOfBytesToSkip) + if (numSkipped++ < numOfBytesToSkip) continue; var decodedByte = _boolStreamBuffer[idx]; @@ -133,104 +97,100 @@ private protected int ReadBooleanStream(in ReadOnlySequence dataBuffer, in outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 64) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 32) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 16) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 8) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 4) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 2) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 1) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; } } - - return numValuesRead; } - [SkipLocalsInit] - private protected int ReadNumericStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, bool isSigned, Span outputValues) + private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in DataPositions positions, bool isSigned, Span outputValues, ref int numValuesRead) { - if (dataBuffer.IsEmpty) - return 0; + numValuesRead = 0; - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + var numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref dataReader, isSigned, _numericStreamBuffer); + var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned, _numericStreamBuffer); for (int idx = 0; idx < numNewValuesRead; idx++) { - if (skippedValues++ < positions.ValuesToSkip) + if (numSkipped++ < positions.ValuesToSkip) continue; outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; } } - - return numValuesRead; } - [SkipLocalsInit] - private protected int ReadVarIntStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) + private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) { - if (dataBuffer.IsEmpty) - return 0; + numValuesRead = 0; - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + int numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numValuesRead = 0; - int skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var bigInt = ReadBigVarInt(ref dataReader); + var bigInt = ReadBigVarInt(ref bufferReader); if (!bigInt.HasValue) - break; + return; - if (skippedValues++ < positions.ValuesToSkip) + if (numSkipped++ < positions.ValuesToSkip) continue; outputValues[numValuesRead++] = bigInt.Value; if (numValuesRead >= outputValues.Length) - break; + return; } + } - return numValuesRead; + private protected StreamDetail GetColumnStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + { + var stream = columnStreams.SingleOrDefault(stream => + stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; } - private protected BufferPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + private protected DataPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) { if (presentStream == null) return new(); @@ -238,7 +198,7 @@ private protected BufferPositions GetPresentStreamPositions(StreamDetail present return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); } - private protected BufferPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) + private protected DataPositions GetTargetDataStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) { var positionStep = presentStream == null ? 0 : 4; @@ -326,6 +286,38 @@ private protected BufferPositions GetTargetedStreamPositions(StreamDetail presen return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip); } + private protected void GetByteRange(Span output, StreamDetail stream, in DataPositions positions, ref int rangeLength) + { + rangeLength = 0; + + if (stream != null) + { + var offset = stream.FileOffset + positions.RowGroupOffset; + var compressedLength = stream.Length - positions.RowGroupOffset; + + rangeLength = _byteRangeProvider.GetRange(output.Slice(0, compressedLength), offset); + } + } + + private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetail stream, in DataPositions positions, ref int decompressedLength) + { + decompressedLength = 0; + + if (stream != null) + { + var compressedLength = stream.Length - positions.RowGroupOffset; + + decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); + } + } + + private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in DataPositions positions) + { + var rowentrylength = length - positions.RowEntryOffset; + + return buffer.Slice(positions.RowEntryOffset, rowentrylength); + } + private protected double BigIntegerToDouble(BigInteger numerator, long scale) => (double)BigIntegerToDecimal(numerator, scale); @@ -340,7 +332,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) return decNumerator * scaler; } - private BigInteger? ReadBigVarInt(ref SequenceReader stream) + private BigInteger? ReadBigVarInt(ref BufferReader stream) { var value = BigInteger.Zero; long currentLong = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index a8a93a9..f1d4a6c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -1,75 +1,98 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System.Buffers; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class BinaryColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _lengthInputBuffer; + private byte[] _lengthOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Stream Byte Ranges + (int present, int length, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBuffer); + // Decompress Byte Ranges + (int present, int length, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); + // Parse Decompressed Bytes + (int present, int length) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length) + ); + + var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); var stringOffset = 0; if (presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { var length = (int)_lengthStreamBuffer[lengthIndex++]; - _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + _values[_numValuesRead++] = dataBuffer.Slice(stringOffset, length).ToArray(); stringOffset += length; } else _values[_numValuesRead++] = null; - - if (_numValuesRead >= _values.Length) - break; } } else { - for (int idx = 0; idx < numLengthValuesRead; idx++) + for (int idx = 0; idx < valuesRead.length; idx++) { var length = (int)_lengthStreamBuffer[idx]; - _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + _values[_numValuesRead++] = dataBuffer.Slice(stringOffset, length).ToArray(); stringOffset += length; - - if (_numValuesRead >= _values.Length) - break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 9900520..6326e6b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -1,43 +1,68 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private bool[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new bool[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Present + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadBooleanStream(in dataMemory, dataPositions, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) + ); var dataIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; @@ -47,7 +72,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _dataStreamBuffer[idx]; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 2ff2114..02ba558 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -1,43 +1,68 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private byte[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new byte[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadByteStream(in dataMemory, in dataPositions, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) + ); var dataIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; @@ -47,7 +72,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _dataStreamBuffer[idx]; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index f79d7fa..a075a5f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -2,44 +2,69 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DateColumnBuffer : BaseColumnBuffer { readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamBuffer; private readonly long[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) + ); if (presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[dataIndex++] * TimeSpan.TicksPerDay); @@ -49,7 +74,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[idx] * TimeSpan.TicksPerDay); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index c40667a..a189d29 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,51 +1,81 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System; using System.Collections.Generic; using System.Numerics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _secondaryInputBuffer; + private byte[] _secondaryOutputBuffer; public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data, int secondary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; - var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + // Decompress Byte Ranges + (int present, int data, int secondary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); - var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + // Parse Decompressed Bytes + (int present, int data, int secondary) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), + () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) + ); var secondaryIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { @@ -58,10 +88,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) + for (int idx = 0; idx < valuesRead.secondary; idx++) _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 892f63a..5ab271a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,51 +1,81 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System; using System.Collections.Generic; using System.Numerics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DecimalColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _secondaryInputBuffer; + private byte[] _secondaryOutputBuffer; public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data, int secondary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; - var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + // Decompress Byte Ranges + (int present, int data, int secondary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); - var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + // Parse Decompressed Bytes + (int present, int data, int secondary) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), + () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) + ); var secondaryIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { @@ -58,10 +88,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) + for (int idx = 0; idx < valuesRead.secondary; idx++) _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index c40f286..d943956 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -1,52 +1,71 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Buffers; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Parse Decompressed Bytes + int presentValuesRead = default; + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + + var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); Span valueBuffer = stackalloc byte[8]; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { dataReader.TryCopyTo(valueBuffer); _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - dataReader.Advance(valueBuffer.Length); } else _values[_numValuesRead++] = double.NaN; @@ -56,8 +75,6 @@ public override void Fill(int stripeId, IEnumerable columnStreams, { while (dataReader.TryCopyTo(valueBuffer)) { - dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); if (_numValuesRead >= _values.Length) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 26062a9..7474a26 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -1,52 +1,71 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Buffers; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class FloatColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Parse Decompressed Bytes + int presentValuesRead = default; + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + + var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); Span valueBuffer = stackalloc byte[4]; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { dataReader.TryCopyTo(valueBuffer); _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - dataReader.Advance(valueBuffer.Length); } else _values[_numValuesRead++] = float.NaN; @@ -56,8 +75,6 @@ public override void Fill(int stripeId, IEnumerable columnStreams, { while (dataReader.TryCopyTo(valueBuffer)) { - dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); if (_numValuesRead >= _values.Length) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index ed76e54..b58ffd3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -1,43 +1,68 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private long[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) + ); var dataIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; @@ -47,7 +72,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _dataStreamBuffer[idx]; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 4da753f..4fd15ba 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -5,9 +5,11 @@ using System.Linq; using System.Runtime.CompilerServices; using System.Text; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary _dictionaryLengthBuffers = new(); @@ -15,18 +17,36 @@ public class StringColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private long[] _dataStreamBuffer; private long[] _lengthStreamBufferDirectV2; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _lengthInputBuffer; + private byte[] _lengthOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _dictionaryInputBuffer; + private byte[] _dictionaryOutputBuffer; public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; _lengthStreamBufferDirectV2 = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dictionaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dictionaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - switch (columnStreams.First().EncodingKind) { case ColumnEncodingKind.DirectV2: @@ -42,37 +62,51 @@ public override void Fill(int stripeId, IEnumerable columnStreams, private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); - - var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); + var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int length, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); + + // Decompress Byte Ranges + (int present, int length, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); + + // Parse Decompressed Bytes + (int present, int length) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length) + ); + + var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); var stringOffset = 0; if (presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; } else @@ -84,10 +118,10 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } else { - for (int idx = 0; idx < numLengthValuesRead; idx++) + for (int idx = 0; idx < valuesRead.length; idx++) { var length = (int)_lengthStreamBufferDirectV2[idx]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; if (_numValuesRead >= _values.Length) @@ -96,38 +130,54 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } } - [SkipLocalsInit] private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, int stripeId) { - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var dictionaryDataStream = GetStripeStream(columnStreams, StreamKind.DictionaryData); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var dictionaryDataStream = GetColumnStream(columnStreams, StreamKind.DictionaryData); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - var dictionaryDataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dictionaryDataStream, in dictionaryDataPositions).Sequence; - - // Processing - var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); - var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); - var numLengthValuesRead = ReadNumericStream(in lengthMemory, in lengthPositions, isSigned: false, lengthStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, in dataPositions, isSigned: false, _dataStreamBuffer); + var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var dictionaryDataPositions = GetTargetDataStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int length, int data, int dictionary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_dictionaryInputBuffer, dictionaryDataStream, dictionaryDataPositions, ref rangeSizes.dictionary) + ); + + // Decompress Byte Ranges + (int present, int length, int data, int dictionary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary) + ); + + // Parse Decompressed Bytes + (int present, int length, int data) valuesRead = default; + var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, dictionaryV2LengthStreamBuffer, ref valuesRead.length); + + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data) + ); int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) + List stringsList = new(valuesRead.length); + for (int idx = 0; idx < valuesRead.length; idx++) { - var length = (int)lengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(dictionaryDataMemory.Slice(stringOffset, length)); + var length = (int)dictionaryV2LengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(_dictionaryOutputBuffer.AsSpan().Slice(stringOffset, length)); stringOffset += length; stringsList.Add(value); } @@ -135,7 +185,7 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE if (presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; @@ -148,7 +198,7 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) { _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 71eb5cd..156816f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -2,50 +2,81 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class TimestampColumnBuffer : BaseColumnBuffer { readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamBuffer; private readonly long[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _secondaryInputBuffer; + private byte[] _secondaryOutputBuffer; public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data, int secondary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, in secondaryPostions).Sequence; + // Decompress Byte Ranges + (int present, int data, int secondary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); - _ = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: false, _secondaryStreamBuffer); + // Parse Decompressed Bytes + (int present, int data, int secondary) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data), + () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary) + ); if (presentStream != null) { var secondaryIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { @@ -61,7 +92,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) { var seconds = _dataStreamBuffer[idx]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs new file mode 100644 index 0000000..a75400e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public readonly record struct DataPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index 1df8cae..cc6dbc8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -1,11 +1,10 @@ using System; -using System.Buffers; namespace ApacheOrcDotNet.OptimizedReader.Encodings { public static class OptimizedByteRLE { - public static int ReadValues(ref SequenceReader reader, Span outputValues) + public static int ReadValues(ref BufferReader reader, Span outputValues) { var numReadValues = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 98b74a5..259a1aa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -9,7 +9,7 @@ public static class OptimizedIntegerRLE { enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } - public static int ReadValues(ref SequenceReader reader, bool isSigned, Span outputValues) + public static int ReadValues(ref BufferReader reader, bool isSigned, Span outputValues) { var numReadValues = 0; @@ -39,7 +39,7 @@ public static int ReadValues(ref SequenceReader reader, bool isSigned, Spa return numReadValues; } - private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { var width = ((firstByte >> 3) & 0x7) + 1; numReadValues = (firstByte & 0x7) + 3; @@ -52,7 +52,7 @@ private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref Seque return width; } - private static void ReadDirectValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static void ReadDirectValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { var encodedWidth = (firstByte >> 1) & 0x1f; var width = encodedWidth.DecodeDirectWidth(); @@ -67,7 +67,7 @@ private static void ReadDirectValues(int firstByte, bool isSigned, ref SequenceR ReadBitpackedIntegers(ref reader, isSigned, width, numReadValues, outputValues); } - private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { var encodedWidth = (firstByte >> 1) & 0x1f; var directBitWidth = encodedWidth.DecodeDirectWidth(); @@ -76,7 +76,7 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Sequ Span nextBytes = stackalloc byte[3]; if (!reader.TryCopyTo(nextBytes)) throw new InvalidOperationException("Read past end of stream"); - reader.Advance(3); + //reader.Advance(3); numReadValues |= nextBytes[0]; numReadValues += 1; @@ -134,7 +134,7 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Sequ } } - private static void ReadDeltaValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static void ReadDeltaValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { int index = 0; int bitWidth = 0; @@ -205,7 +205,7 @@ private static void GetNextPatch(Span patchListValues, ref int patchIndex, gap += curGap; } - private static void ReadBitpackedIntegers(ref SequenceReader reader, bool isSigned, int bitWidth, int count, Span outputValues) + private static void ReadBitpackedIntegers(ref BufferReader reader, bool isSigned, int bitWidth, int count, Span outputValues) { byte currentByte = 0; int bitsAvailable = 0; @@ -239,7 +239,7 @@ private static void ReadBitpackedIntegers(ref SequenceReader reader, bool } } - private static long ReadLongBE(ref SequenceReader reader, int numBytes, bool isSigned = false) + private static long ReadLongBE(ref BufferReader reader, int numBytes, bool isSigned = false) { long result = 0; @@ -256,13 +256,13 @@ private static long ReadLongBE(ref SequenceReader reader, int numBytes, bo : result; } - private static long ReadVarIntSigned(ref SequenceReader reader) + private static long ReadVarIntSigned(ref BufferReader reader) { var unsigned = ReadVarIntUnsigned(ref reader); return unsigned.ZigzagDecode(); } - private static long ReadVarIntUnsigned(ref SequenceReader reader) + private static long ReadVarIntUnsigned(ref BufferReader reader) { long result = 0; int bitCount = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs index 114a491..66256ce 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs @@ -5,34 +5,6 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class ByteRangeProviderExtensions { - public static DecompressingMemorySequence DecompressByteRangeNew(this IByteRangeProvider provider, OrcContext context, StreamDetail stream, in BufferPositions positions) - { - if (stream == null) - { - // TODO: Remove this temporary hack - Span emptyBuffer = stackalloc byte[0]; - return new DecompressingMemorySequence(emptyBuffer, context.CompressionKind, context.CompressionBlockSize); - } - - var offset = stream.FileOffset + positions.RowGroupOffset; - var compressedLength = stream.Length - positions.RowGroupOffset; - - var buffer = ArrayPool.Shared.Rent(compressedLength); - - try - { - var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); - - provider.GetRange(bufferSpan, offset); - - return new DecompressingMemorySequence(bufferSpan, context.CompressionKind, context.CompressionBlockSize); - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) { var buffer = ArrayPool.Shared.Rent(compressedLength); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index 7bf8611..d829f97 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -16,7 +16,7 @@ public DecompressingMemorySequence(ReadOnlySpan compressedBuffer, Compress while (position < compressedBuffer.Length) { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, compressedBuffer[position..]); - var decompressedSegment = ArrayPool.Shared.Rent(compressionBlockSize); + var decompressedSegment = new byte[compressionBlockSize]; var decompressedSegmentSpan = decompressedSegment.AsSpan().Slice(0, compressionBlockSize); var chunkToDecompress = (position + compressedChunkLength) > compressedBuffer.Length diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs new file mode 100644 index 0000000..cc00beb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs @@ -0,0 +1,32 @@ +using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.Protocol; +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public static class StreamData + { + public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind) + { + if (inputBuffer.IsEmpty) + return 0; + + int inputPosition = 0; + int outputPosition = 0; + while (inputPosition < inputBuffer.Length) + { + var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + + var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length + ? inputBuffer.Slice(inputPosition) + : inputBuffer.Slice(inputPosition, compressedChunkLength); + + outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer.Slice(outputPosition)); + + inputPosition += compressedChunkLength; + } + + return outputPosition; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs index 499d7e3..0ac38d7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs @@ -4,15 +4,26 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcContext { - public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) + public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int maxCompressedBufferLength = 0, int maxDecompresseBufferLength = 0) { CompressionKind = compressionKind; CompressionBlockSize = compressionBlockSize; MaxValuesToRead = maxValuesToRead; + + if (maxCompressedBufferLength <= 0) + maxCompressedBufferLength = 25 * 1024 * 1024; + + if (maxDecompresseBufferLength <= 0) + maxDecompresseBufferLength = 25 * 1024 * 1024; + + MaxCompressedBufferLength = maxCompressedBufferLength; + MaxDecompresseBufferLength = maxDecompresseBufferLength; } public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } public int MaxValuesToRead { get; } + public int MaxCompressedBufferLength { get; } + public int MaxDecompresseBufferLength { get; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 32928a1..9916fe7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -132,14 +132,6 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) return new TimestampColumnBuffer(_byteRangeProvider, context, column); } - public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) - { - var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); - var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; - - columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); - } - public IEnumerable GetStripeIds(OrcColumn column) => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); @@ -174,6 +166,17 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s }); } + public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + { + if (discardPreviousData) + columnBuffer.Reset(); + + var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); + var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; + + columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); + } + private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index d43066c..d42cc59 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; -using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -51,24 +50,24 @@ public void Run() var symbolColumn = reader.CreateColumn("symbol", lookupSymbol, lookupSymbol); var timeColumn = reader.CreateColumn("time", $"{beginTime}", $"{endTime}"); var sizeColumn = reader.CreateColumn("size"); - var dateColumn = reader.CreateColumn("date"); - var doubleColumn = reader.CreateColumn("double"); - var floatColumn = reader.CreateColumn("float"); - var timeStampColumn = reader.CreateColumn("timeStamp"); - var binaryColumn = reader.CreateColumn("binary"); - var byteColumn = reader.CreateColumn("byte"); + //var dateColumn = reader.CreateColumn("date"); + //var doubleColumn = reader.CreateColumn("double"); + //var floatColumn = reader.CreateColumn("float"); + //var timeStampColumn = reader.CreateColumn("timeStamp"); + //var binaryColumn = reader.CreateColumn("binary"); + //var byteColumn = reader.CreateColumn("byte"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = reader.CreateDecimalColumnBufferAsDouble(timeColumn); + var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn); @@ -85,16 +84,16 @@ public void Run() { // Process Parallel.Invoke( - () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) ); for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) @@ -103,27 +102,27 @@ public void Run() var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - var date = dateColumnBuffer.Values[idx]; - var dobl = doubleColumnBuffer.Values[idx]; - var sing = floatColumnBuffer.Values[idx]; - var timeStamp = timeStampColumnBuffer.Values[idx]; - var binary = binaryColumnBuffer.Values[idx]; - var tinyInt = byteColumnBuffer.Values[idx]; + //var date = dateColumnBuffer.Values[idx]; + //var dobl = doubleColumnBuffer.Values[idx]; + //var sing = floatColumnBuffer.Values[idx]; + //var timeStamp = timeStampColumnBuffer.Values[idx]; + //var binary = binaryColumnBuffer.Values[idx]; + //var tinyInt = byteColumnBuffer.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) + if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"" + $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + $"{size}" + - $" " + - $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - $"{dobl}," + - $"{sing}," + - $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - $"{tinyInt}" + + //$" " + + //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + //$"{dobl}," + + //$"{sing}," + + //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + //$"{tinyInt}" + $"" ); } From cadccbb760c18f817b6ac75f3fc4b1181a92d729 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 1 Jun 2022 02:08:42 -0300 Subject: [PATCH 026/143] Use parallel execution only for byte range call. --- .../Buffers/BinaryColumnBuffer.cs | 14 +++------ .../Buffers/BooleanColumnBuffer.cs | 12 +++---- .../Buffers/ByteColumnBuffer.cs | 12 +++---- .../Buffers/DateColumnBuffer.cs | 12 +++---- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 16 ++++------ .../Buffers/DecimalColumnBuffer.cs | 16 ++++------ .../Buffers/DoubleColumnBuffer.cs | 6 ++-- .../Buffers/FloatColumnBuffer.cs | 6 ++-- .../Buffers/IntegerColumnBuffer.cs | 6 ++-- .../Buffers/StringColumnBuffer.cs | 31 +++++++------------ .../Buffers/TimestampColumnBuffer.cs | 16 ++++------ 11 files changed, 52 insertions(+), 95 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index f1d4a6c..49d409d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -55,18 +55,14 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int length, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int length) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length); var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 6326e6b..54176a8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -47,17 +47,13 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 02ba558..f095a35 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -47,17 +47,13 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index a075a5f..bb9c664 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -49,17 +49,13 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); if (presentStream != null) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index a189d29..012ff59 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -58,19 +58,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data, int secondary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); // Parse Decompressed Bytes (int present, int data, int secondary) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), - () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 5ab271a..8db584a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -58,19 +58,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data, int secondary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); // Parse Decompressed Bytes (int present, int data, int secondary) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), - () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index d943956..de0c121 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -46,10 +46,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes int presentValuesRead = default; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 7474a26..b52beb5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -46,10 +46,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes int presentValuesRead = default; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index b58ffd3..bf6b412 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -47,10 +47,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 4fd15ba..3f20979 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -82,18 +82,14 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry // Decompress Byte Ranges (int present, int length, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int length) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length); var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); @@ -155,22 +151,17 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE // Decompress Byte Ranges (int present, int length, int data, int dictionary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary); // Parse Decompressed Bytes (int present, int length, int data) valuesRead = default; var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, dictionaryV2LengthStreamBuffer, ref valuesRead.length); - - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data) - ); + ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data); int stringOffset = 0; List stringsList = new(valuesRead.length); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 156816f..b70c1c3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -59,19 +59,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data, int secondary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); // Parse Decompressed Bytes (int present, int data, int secondary) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data), - () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); + ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary); if (presentStream != null) { From bf85221bff3efc1150619de0e80759d6da9a67cb Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 1 Jun 2022 17:44:53 -0300 Subject: [PATCH 027/143] Add Amazon S3 byte range provider. --- .../AmazonS3ByteRangeProvider.cs | 101 ++++++++++++++++++ .../AmazonS3ByteRangeProviderFactory.cs | 12 +++ .../OptimizedORCApp.cs | 8 +- 3 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs new file mode 100644 index 0000000..fae8eeb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Concurrent; +using System.IO; +using System.Net.Http; +using System.Net.Http.Headers; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class AmazonS3ByteRangeProvider : IByteRangeProvider + { + readonly ConcurrentDictionary _cache = new(); + readonly HttpClient _httpClient = new(); + readonly string _remoteLocation; + readonly long _length; + + internal AmazonS3ByteRangeProvider(string remoteLocation) + { + _remoteLocation = remoteLocation; + _length = GetLength(); + } + + public void Dispose() => _httpClient.Dispose(); + + public int GetRange(Span buffer, long position) + { + var key = position; + if (!_cache.TryGetValue(key, out var bytes)) + { + var request = CreateRangeRequest(position, position + buffer.Length); + var response = _httpClient.Send(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + DoRead(response.Content.ReadAsStream(), buffer); + + bytes = buffer.ToArray(); + + _cache.TryAdd(key, bytes); + } + + return bytes.Length; + } + + public int GetRangeFromEnd(Span buffer, long positionFromEnd) + { + var key = positionFromEnd; + if (!_cache.TryGetValue(key, out var bytes)) + { + var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); + var response = _httpClient.Send(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + DoRead(response.Content.ReadAsStream(), buffer); + + bytes = buffer.ToArray(); + + _cache.TryAdd(key, bytes); + } + + return bytes.Length; + } + + private long GetLength() + { + var request = new HttpRequestMessage(HttpMethod.Head, _remoteLocation); + var response = _httpClient.Send(request); + + if (!response.Content.Headers.ContentLength.HasValue) + throw new InvalidOperationException("Remote resouce length is required."); + + return response.Content.Headers.ContentLength.Value; + } + + private HttpRequestMessage CreateRangeRequest(long from, long to) + { + var request = new HttpRequestMessage(HttpMethod.Get, _remoteLocation); + var rangeHeader = new RangeHeaderValue(from, to); + request.Headers.Range = rangeHeader; + return request; + } + + private int DoRead(Stream stream, Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs new file mode 100644 index 0000000..b7ea6a2 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs @@ -0,0 +1,12 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class AmazonS3ByteRangeProviderFactory : IByteRangeProviderFactory + { + public string Prefix => ""; + + public IByteRangeProvider Create(string location) + { + return new AmazonS3ByteRangeProvider(location); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index d42cc59..924a244 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; +using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -32,10 +33,9 @@ public void Run() { // var watch = new Stopwatch(); - var reader = new OptimizedReader.OrcReader( - new OrcOptimizedReaderConfiguration() { OptimisticFileTailReadLength = 1 }, - _byteRangeProviderFactory.Create(_orcFileName) - ); + var configs = new OrcOptimizedReaderConfiguration(); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileName); + var reader = new OptimizedReader.OrcReader(configs, rangeProvider); watch.Start(); From 679820723313d93240cd617a517c1ebec32bf6f2 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 2 Jun 2022 18:18:17 -0300 Subject: [PATCH 028/143] Remove caching from byte range provider. --- .../AmazonS3ByteRangeProvider.cs | 40 +++++-------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs index fae8eeb..840e31f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs @@ -23,44 +23,24 @@ internal AmazonS3ByteRangeProvider(string remoteLocation) public int GetRange(Span buffer, long position) { - var key = position; - if (!_cache.TryGetValue(key, out var bytes)) - { - var request = CreateRangeRequest(position, position + buffer.Length); - var response = _httpClient.Send(request); - - if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); - - DoRead(response.Content.ReadAsStream(), buffer); - - bytes = buffer.ToArray(); + var request = CreateRangeRequest(position, position + buffer.Length); + var response = _httpClient.Send(request); - _cache.TryAdd(key, bytes); - } + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); - return bytes.Length; + return DoRead(response.Content.ReadAsStream(), buffer); } public int GetRangeFromEnd(Span buffer, long positionFromEnd) { - var key = positionFromEnd; - if (!_cache.TryGetValue(key, out var bytes)) - { - var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); - var response = _httpClient.Send(request); - - if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); - - DoRead(response.Content.ReadAsStream(), buffer); - - bytes = buffer.ToArray(); + var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); + var response = _httpClient.Send(request); - _cache.TryAdd(key, bytes); - } + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); - return bytes.Length; + return DoRead(response.Content.ReadAsStream(), buffer); } private long GetLength() From d4bc7ae4152e1a5f643a60aedd5fb9664db9f5c9 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 2 Jun 2022 18:21:35 -0300 Subject: [PATCH 029/143] Update optimized reader unit tests. --- .../ColumnDetail.cs | 6 - .../Encodings/OptimizedIntegerRLE.cs | 2 +- .../OrcColumn.cs | 18 +- .../OrcReader.cs | 75 +++-- .../OptimizedORCApp.cs | 8 +- .../OrcReader_Test.cs | 318 ++++++++++-------- 6 files changed, 245 insertions(+), 182 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs deleted file mode 100644 index c06a7c6..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs +++ /dev/null @@ -1,6 +0,0 @@ -using ApacheOrcDotNet.Protocol; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 259a1aa..3a17d15 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -172,7 +172,7 @@ private static void ReadDeltaValues(int firstByte, bool isSigned, ref BufferRead { ReadBitpackedIntegers(ref reader, isSigned: false, bitWidth, numReadValues - 1, deltaValuesSpan); - for (int i = 0; i < deltaValues.Length; i++) + for (int i = 0; i < deltaValuesSpan.Length; i++) { outputValues[index++] = deltaBase > 0 ? outputValues[index - 2] + deltaValues[i] diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index 49f6d03..f3e00a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -1,23 +1,35 @@ using ApacheOrcDotNet.Protocol; +using System; namespace ApacheOrcDotNet.OptimizedReader { public class OrcColumn { - public OrcColumn(int id, int index, string name, ColumnTypeKind type) + public OrcColumn(int id, string name, ColumnTypeKind type) { Id = id; - Index = index; Name = name; Type = type; } public int Id { get; } - public int Index { get; } public string Name { get; } public ColumnTypeKind Type { get; } public string Min { get; init; } public string Max { get; init; } + + public override bool Equals(object obj) + { + if (obj is OrcColumn) + { + var other = obj as OrcColumn; + return Id == other.Id && Name == other.Name && Type == other.Type; + } + + return false; + } + + public override int GetHashCode() => HashCode.Combine(Id, Name, Type); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 9916fe7..bd0dd72 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -29,7 +29,6 @@ public sealed class OrcReader private readonly CompressionKind _compressionKind; private readonly int _compressionBlockSize; private readonly int _maxValuesToRead; - private int _nextColumnIndex = 0; public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { @@ -52,12 +51,22 @@ public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvid _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; } - public OrcColumn CreateColumn(string columnName, string min = null, string max = null) + public OrcColumn GetColumn(int columnId, string min = null, string max = null) + { + if (columnId == 0 || columnId >= _protoColumns.Count) + throw new InvalidOperationException($"The column Id '{columnId}' is invalid."); + + var columnPair = _protoColumns.ElementAt(columnId - 1); + + return GetColumn(columnPair.Value.Name, min, max); + } + + public OrcColumn GetColumn(string columnName, string min = null, string max = null) { if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) - throw new InvalidOperationException($"The column '{columnName}' is invalid."); + throw new InvalidOperationException($"The column name '{columnName}' is invalid."); - var orcColumn = new OrcColumn(column.Id, _nextColumnIndex++, column.Name, column.Type) + var orcColumn = new OrcColumn(column.Id, column.Name, column.Type) { Min = min, Max = max @@ -177,6 +186,35 @@ public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuf columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); } + public ColumnStatistics GetFileColumnStatistics(int columnId) + => _fileTail.Footer.Statistics[columnId]; + + public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + + public RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + return _rowGroupIndexes.GetOrAdd(key, key => + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + var decompressedData = _byteRangeProvider.DecompressByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + return Serializer.Deserialize(decompressedData.Sequence); + }); + } + private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; @@ -218,35 +256,6 @@ private IEnumerable GetStripeStreams(int stripeId) return _stripeStreams[stripeId]; } - private ColumnStatistics GetFileColumnStatistics(int columnId) - => _fileTail.Footer.Statistics[columnId]; - - private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - - private RowIndex GetRowGroupIndex(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - return _rowGroupIndexes.GetOrAdd(key, key => - { - var streamDetails = GetStripeStreams(stripeId); - var rowIndexStream = streamDetails.Where(s => - s.StreamKind == StreamKind.RowIndex - && s.ColumnId == columnId - ).Single(); - - var decompressedData = _byteRangeProvider.DecompressByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - return Serializer.Deserialize(decompressedData.Sequence); - }); - } - private IEnumerable GetColumnStreams(int columnId, int stripeId) { var key = (columnId, stripeId); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 924a244..4f0ae36 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -46,10 +46,10 @@ public void Run() var endTime = (decimal)_configuration.EndTime.TotalSeconds; // Columns - var sourceColumn = reader.CreateColumn("source", lookupSource, lookupSource); - var symbolColumn = reader.CreateColumn("symbol", lookupSymbol, lookupSymbol); - var timeColumn = reader.CreateColumn("time", $"{beginTime}", $"{endTime}"); - var sizeColumn = reader.CreateColumn("size"); + var sourceColumn = reader.GetColumn("source", lookupSource, lookupSource); + var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); + var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); + var sizeColumn = reader.GetColumn("size"); //var dateColumn = reader.CreateColumn("date"); //var doubleColumn = reader.CreateColumn("double"); //var floatColumn = reader.CreateColumn("float"); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 60e2cfc..c77e582 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,135 +1,183 @@ -//using ApacheOrcDotNet.OptimizedReader.Encodings; -//using ApacheOrcDotNet.Protocol; -//using System; -//using System.Linq; -//using Xunit; - -//namespace ApacheOrcDotNet.OptimizedReader -//{ -// public class OrcReader_Test -// { -// readonly IByteRangeProvider _byteRangeProvider; -// public OrcReader_Test() -// { -// _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); -// } - -// [Fact] -// public void FileTail_DefaultOptomisticSize() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// var expectedColumns = new[] -// { -// new ColumnDetail(1, "Source", ColumnTypeKind.String), -// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), -// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), -// }; -// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); -// } - -// [Fact] -// public void FileTail_MinimumInitialReadSize() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); -// var expectedColumns = new[] -// { -// new ColumnDetail(1, "Source", ColumnTypeKind.String), -// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), -// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), -// }; -// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); -// } - -// [Fact] -// public void FileColumnStatistics() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); -// Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); -// Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); -// Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); -// Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); -// Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); -// Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); -// Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); -// } - -// [Fact] -// public void StripeColumnStatistics() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); -// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); -// Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); -// Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); -// Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); -// Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); -// Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum)); -// Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum)); -// } - -// [Fact] -// public void RowGroupStatistics() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); -// var rowGroupDetail = rowGroupDetails[0]; -// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); -// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); -// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); -// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_ShortRepeat() -// { -// Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; -// Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; -// Span output = stackalloc long[5]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_Direct() -// { -// Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; -// Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; -// Span output = stackalloc long[4]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_PatchedBase() -// { -// Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; -// Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; -// Span output = stackalloc long[20]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_Delta() -// { -// Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; -// Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; -// Span output = stackalloc long[10]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } -// } -//} +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Globalization; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcReader_Test + { + private readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); + private readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); + + [Fact] + public void FileTail_DefaultOptomisticSize() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var expectedColumns = new[] + { + new OrcColumn(1, "Source", ColumnTypeKind.String), + new OrcColumn(2, "FeedId", ColumnTypeKind.Int), + new OrcColumn(3, "SequenceNumber", ColumnTypeKind.Long) + }; + var existingColumns = new[] + { + reader.GetColumn("Source"), + reader.GetColumn("FeedId"), + reader.GetColumn("SequenceNumber") + }; + Assert.Equal(expectedColumns.ToList(), existingColumns.ToList()); + } + + [Fact] + public void FileTail_MinimumInitialReadSize() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); + var expectedColumns = new[] + { + new OrcColumn(1, "Source", ColumnTypeKind.String), + new OrcColumn(2, "FeedId", ColumnTypeKind.Int), + new OrcColumn(3, "SequenceNumber", ColumnTypeKind.Long) + }; + var existingColumns = new[] + { + reader.GetColumn("Source"), + reader.GetColumn("FeedId"), + reader.GetColumn("SequenceNumber") + }; + Assert.Equal(expectedColumns.ToList(), existingColumns.ToList()); + } + + [Fact] + public void FileColumnStatistics() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); + Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); + Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); + Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); + Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); + Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); + Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum, _enUSCulture)); + Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum, _enUSCulture)); + } + + [Fact] + public void StripeColumnStatistics() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); + Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); + Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); + Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); + Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); + Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); + Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum, _enUSCulture)); + Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum, _enUSCulture)); + } + + [Fact] + public void RowGroupStatistics() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var rowGroupEntry = reader.GetRowGroupIndex(columnId: 1, stripeId: 0).Entry[0]; + Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Minimum); + Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Maximum); + Assert.Equal(0ul, rowGroupEntry.Positions[0]); + Assert.Equal(0ul, rowGroupEntry.Positions[1]); + } + + [Fact] + public void IntegerRLE_Read_ShortRepeat() + { + Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; + Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; + Span output = stackalloc long[5]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Read_Direct() + { + Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; + Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; + Span output = stackalloc long[4]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Read_PatchedBase() + { + Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; + Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; + Span output = stackalloc long[20]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Read_Delta() + { + Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; + Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; + Span output = stackalloc long[10]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_100_Zeros() + { + Span input = stackalloc byte[] { 0x61, 0x00 }; + Span expected = stackalloc byte[100]; + Span output = stackalloc byte[100]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Two_Values() + { + Span input = stackalloc byte[] { 0xfe, 0x44, 0x45 }; + Span expected = stackalloc byte[] { 68, 69 }; + Span output = stackalloc byte[2]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + } +} From 3ed3ba44723bfa35e31cbd2960e1ae5900239cc5 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 2 Jun 2022 18:39:20 -0300 Subject: [PATCH 030/143] Fix optimized reader unit test method names. --- test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index c77e582..78bb79c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -151,7 +151,7 @@ public void IntegerRLE_Read_Delta() } [Fact] - public void IntegerRLE_100_Zeros() + public void ByteRLE_100_Zeros() { Span input = stackalloc byte[] { 0x61, 0x00 }; Span expected = stackalloc byte[100]; @@ -166,7 +166,7 @@ public void IntegerRLE_100_Zeros() } [Fact] - public void IntegerRLE_Two_Values() + public void ByteRLE_Two_Values() { Span input = stackalloc byte[] { 0xfe, 0x44, 0x45 }; Span expected = stackalloc byte[] { 68, 69 }; From 9165fffab11b0ff18f0aeaf2c6c1858299910004 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 01:09:01 -0300 Subject: [PATCH 031/143] Add nullable unit tests. --- .../BufferPools.cs | 6 - .../BufferReader.cs | 2 +- .../Buffers/BaseColumnBuffer.cs | 48 +- .../Buffers/BooleanColumnBuffer.cs | 2 +- .../Buffers/DoubleColumnBuffer.cs | 14 +- .../Buffers/FloatColumnBuffer.cs | 14 +- .../Encodings/OptimizedIntegerRLE.cs | 1 - .../OrcReader.cs | 6 +- .../OptimizedORCApp.cs | 67 +- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 11 + .../ColumnTypes/BinaryColumn_Test.cs | 50 + .../ColumnTypes/BooleanColumn_Test.cs | 49 + .../ColumnTypes/ByteColumn_Test.cs | 49 + .../ColumnTypes/DateColumn_Test.cs | 50 + .../ColumnTypes/DecimalAsDoubleColumn_Test.cs | 49 + .../ColumnTypes/DecimalColumn_Test.cs | 49 + .../ColumnTypes/DoubleColumn_Test.cs | 49 + .../ColumnTypes/FloatColumn_Test.cs | 49 + .../ColumnTypes/IntegerColumn_Test.cs | 49 + .../ColumnTypes/StringColumn_Test.cs | 91 + .../ColumnTypes/TimestampColumn_Test.cs | 50 + .../ColumnTypes/_BaseColumnType.cs | 48 + .../Data/optimized_reader_test_file-info.txt | 143 + .../Data/optimized_reader_test_file.csv | 10001 ++++++++++++++++ .../Data/optimized_reader_test_file.orc | Bin 0 -> 139599 bytes .../OrcReader_Test.cs | 10 +- .../TestByteRangeProviderParallel.cs | 58 + 27 files changed, 10954 insertions(+), 61 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs deleted file mode 100644 index e758c37..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader -{ - public class BufferPools - { - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs index 9ee1ebb..f74a79a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -31,7 +31,7 @@ public bool TryRead(out byte value) public bool TryCopyTo(Span buffer) { - if (_position + buffer.Length >= _buffer.Length) + if (_position + buffer.Length > _buffer.Length) return false; _buffer.Slice(_position, buffer.Length).CopyTo(buffer); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 889dfbe..ecd579c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -90,38 +90,61 @@ private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, continue; var decodedByte = _boolStreamBuffer[idx]; + var isFinalByte = bufferReader.Complete && idx >= numByteValuesRead - 1; // Skip remaining bits. if (numOfBytesToSkip % 8 != 0) decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); + if (isFinalByte && decodedByte == 0) + { + // Edge case where there is only one value for the row entry + // and that value is null + outputValues[numValuesRead++] = false; + return; + } + outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 7) + return; outputValues[numValuesRead++] = (decodedByte & 64) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 6) + return; outputValues[numValuesRead++] = (decodedByte & 32) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 5) + return; outputValues[numValuesRead++] = (decodedByte & 16) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 4) + return; outputValues[numValuesRead++] = (decodedByte & 8) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 3) + return; outputValues[numValuesRead++] = (decodedByte & 4) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 2) + return; outputValues[numValuesRead++] = (decodedByte & 2) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 1) + return; outputValues[numValuesRead++] = (decodedByte & 1) != 0; if (numValuesRead >= outputValues.Length) @@ -225,6 +248,7 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 0], _ => throw new NotImplementedException() }; @@ -252,6 +276,7 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 1], _ => throw new NotImplementedException() }; @@ -269,21 +294,28 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.Double, _) => 0, - (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 2], _ => throw new NotImplementedException() }; - return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip); + ulong remainingBits = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 3], + _ => 0 + }; + + return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } private protected void GetByteRange(Span output, StreamDetail stream, in DataPositions positions, ref int rangeLength) @@ -370,5 +402,15 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) // Un zig-zag return ((long)value).ZigzagDecode(); } + + //private protected int CalculateNulls(int numPresentValues, int numReferenceValues) + //{ + // if (numPresentValues == _context.MaxValuesToRead) + // return numPresentValues; + + // var diff = Math.Abs(numPresentValues - numReferenceValues); + + // return numPresentValues - diff; + //} } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 54176a8..c176e1a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -55,9 +55,9 @@ public override void Fill(int stripeId, IEnumerable columnStreams, ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); - var dataIndex = 0; if (presentStream != null) { + var dataIndex = 0; for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index de0c121..4fc2048 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -15,6 +15,7 @@ public class DoubleColumnBuffer : BaseColumnBuffer private byte[] _presentOutputBuffer; private byte[] _dataInputBuffer; private byte[] _dataOutputBuffer; + private byte[] _valueBuffer; public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { @@ -25,6 +26,8 @@ public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext conte _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _valueBuffer = new byte[8]; } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) @@ -55,15 +58,16 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); - Span valueBuffer = stackalloc byte[8]; if (presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + if (!dataReader.TryCopyTo(_valueBuffer)) + throw new InvalidOperationException("Read past end of stream"); + + _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); } else _values[_numValuesRead++] = double.NaN; @@ -71,9 +75,9 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - while (dataReader.TryCopyTo(valueBuffer)) + while (dataReader.TryCopyTo(_valueBuffer)) { - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); if (_numValuesRead >= _values.Length) break; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index b52beb5..9740f84 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -15,6 +15,7 @@ public class FloatColumnBuffer : BaseColumnBuffer private byte[] _presentOutputBuffer; private byte[] _dataInputBuffer; private byte[] _dataOutputBuffer; + private byte[] _valueBuffer; public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { @@ -25,6 +26,8 @@ public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext contex _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _valueBuffer = new byte[4]; } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) @@ -55,15 +58,16 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); - Span valueBuffer = stackalloc byte[4]; if (presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + if (!dataReader.TryCopyTo(_valueBuffer)) + throw new InvalidOperationException("Read past end of stream"); + + _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); } else _values[_numValuesRead++] = float.NaN; @@ -71,9 +75,9 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - while (dataReader.TryCopyTo(valueBuffer)) + while (dataReader.TryCopyTo(_valueBuffer)) { - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); if (_numValuesRead >= _values.Length) break; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 3a17d15..86992fc 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -76,7 +76,6 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Buff Span nextBytes = stackalloc byte[3]; if (!reader.TryCopyTo(nextBytes)) throw new InvalidOperationException("Read past end of stream"); - //reader.Advance(3); numReadValues |= nextBytes[0]; numReadValues += 1; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index bd0dd72..f144930 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -12,14 +12,14 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcOptimizedReaderConfiguration + public class OrcReaderConfiguration { public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } public sealed class OrcReader { - private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly OrcReaderConfiguration _configuration; private readonly IByteRangeProvider _byteRangeProvider; private readonly SpanFileTail _fileTail; private readonly Dictionary> _stripeStreams = new(); @@ -30,7 +30,7 @@ public sealed class OrcReader private readonly int _compressionBlockSize; private readonly int _maxValuesToRead; - public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { _configuration = configuration; _byteRangeProvider = byteRangeProvider; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 4f0ae36..13a08bb 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -33,7 +33,7 @@ public void Run() { // var watch = new Stopwatch(); - var configs = new OrcOptimizedReaderConfiguration(); + var configs = new OrcReaderConfiguration(); var rangeProvider = _byteRangeProviderFactory.Create(_orcFileName); var reader = new OptimizedReader.OrcReader(configs, rangeProvider); @@ -50,24 +50,26 @@ public void Run() var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); var sizeColumn = reader.GetColumn("size"); - //var dateColumn = reader.CreateColumn("date"); - //var doubleColumn = reader.CreateColumn("double"); - //var floatColumn = reader.CreateColumn("float"); - //var timeStampColumn = reader.CreateColumn("timeStamp"); - //var binaryColumn = reader.CreateColumn("binary"); - //var byteColumn = reader.CreateColumn("byte"); + var dateColumn = reader.GetColumn("date"); + var doubleColumn = reader.GetColumn("double"); + var floatColumn = reader.GetColumn("float"); + var timeStampColumn = reader.GetColumn("timeStamp"); + var binaryColumn = reader.GetColumn("binary"); + var byteColumn = reader.GetColumn("byte"); + var booleanColumn = reader.GetColumn("boolean"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn); @@ -88,12 +90,13 @@ public void Run() , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) ); for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) @@ -102,27 +105,29 @@ public void Run() var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - //var date = dateColumnBuffer.Values[idx]; - //var dobl = doubleColumnBuffer.Values[idx]; - //var sing = floatColumnBuffer.Values[idx]; - //var timeStamp = timeStampColumnBuffer.Values[idx]; - //var binary = binaryColumnBuffer.Values[idx]; - //var tinyInt = byteColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; + var boolean = booleanColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"" + - $"{source}," + - $"{symbol}," + - $"{time.ToString().PadRight(15, '0')}," + - $"{size}" + + //$"{source}," + + //$"{symbol}," + + //$"{time.ToString().PadRight(15, '0')}," + + //$"{size}" + //$" " + //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + //$"{dobl}," + - //$"{sing}," + + $"{sing}," + //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - //$"{tinyInt}" + + //$"{tinyInt}," + + //$"{boolean}" + $"" ); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index 2cff8c7..485bde9 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -13,4 +13,15 @@ + + + + + + + + + + + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs new file mode 100644 index 0000000..b9c21bf --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs @@ -0,0 +1,50 @@ +using System.Text; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class BinaryColumn_Test : _BaseColumnType + { + [Fact] + public void Binary_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + + [Fact] + public void Binary_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs new file mode 100644 index 0000000..7ebe496 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class BooleanColumn_Test : _BaseColumnType + { + [Fact] + public void Boolean_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + + [Fact] + public void Boolean_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs new file mode 100644 index 0000000..1bd583a --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class ByteColumn_Test : _BaseColumnType + { + [Fact] + public void Byte_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + + [Fact] + public void Byte_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs new file mode 100644 index 0000000..794f60e --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DateColumn_Test : _BaseColumnType + { + [Fact] + public void Date_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("date"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Date_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs new file mode 100644 index 0000000..2c4f76d --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DecimalAsDoubleColumn_Test : _BaseColumnType + { + [Fact] + public void DecimalAsDouble_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void DecimalAsDouble_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs new file mode 100644 index 0000000..b02c7a6 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DecimalColumn_Test : _BaseColumnType + { + [Fact] + public void Decimal_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Decimal_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs new file mode 100644 index 0000000..101ad06 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DoubleColumn_Test : _BaseColumnType + { + [Fact] + public void Double_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Double_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs new file mode 100644 index 0000000..ee160f6 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class FloatColumn_Test : _BaseColumnType + { + [Fact] + public void Float_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Float_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs new file mode 100644 index 0000000..84724ad --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class IntegerColumn_Test : _BaseColumnType + { + [Fact] + public void Integer_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Integer_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs new file mode 100644 index 0000000..ee9f10b --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs @@ -0,0 +1,91 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class StringColumn_Test : _BaseColumnType + { + [Fact] + public void String_DirectV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DirectV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs new file mode 100644 index 0000000..2b2e772 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class TimestampColumn_Test : _BaseColumnType + { + [Fact] + public void Timestamp_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Timestamp_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs new file mode 100644 index 0000000..722ca49 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs @@ -0,0 +1,48 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Test.TestHelpers; +using System.Collections.Generic; +using System.Globalization; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public abstract class _BaseColumnType + { + private protected readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); + private protected readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProviderParallel(); + private protected readonly (List sources, List symbols, List times, List timesAsDouble, List sizes, List dates, List doubles, List floats, List timestamps, List binaries, List bytes, List booleans) _expectedValues + = (new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List()); + + private protected _BaseColumnType() + { + var expectedDataFile = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.csv"); + var expectedDataStream = expectedDataFile.GetStream(); + using (StreamReader reader = new StreamReader(expectedDataStream)) + { + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + var expectedValues = line.Split(','); + + _expectedValues.sources.Add(string.IsNullOrWhiteSpace(expectedValues[0]) ? null : expectedValues[0]); + _expectedValues.symbols.Add(string.IsNullOrWhiteSpace(expectedValues[1]) ? null : expectedValues[1]); + _expectedValues.times.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); + _expectedValues.timesAsDouble.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); + _expectedValues.sizes.Add(string.IsNullOrWhiteSpace(expectedValues[3]) ? null : expectedValues[3]); + _expectedValues.dates.Add(string.IsNullOrWhiteSpace(expectedValues[4]) ? null : expectedValues[4]); + _expectedValues.doubles.Add(string.IsNullOrWhiteSpace(expectedValues[5]) ? null : expectedValues[5]); + _expectedValues.floats.Add(string.IsNullOrWhiteSpace(expectedValues[6]) ? null : expectedValues[6]); + _expectedValues.timestamps.Add(string.IsNullOrWhiteSpace(expectedValues[7]) ? null : expectedValues[7]); + _expectedValues.binaries.Add(string.IsNullOrWhiteSpace(expectedValues[8]) ? null : expectedValues[8]); + _expectedValues.bytes.Add(string.IsNullOrWhiteSpace(expectedValues[9]) ? null : expectedValues[9]); + _expectedValues.booleans.Add(string.IsNullOrWhiteSpace(expectedValues[10]) ? null : expectedValues[10]); + } + } + } + + ~_BaseColumnType() + { + _byteRangeProvider.Dispose(); + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt new file mode 100644 index 0000000..f4269d3 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt @@ -0,0 +1,143 @@ +Processing data file optimized_reader_test_file.orc [length: 139598] +Structure for optimized_reader_test_file.orc +File Version: 0.12 with ORC_14 by ORC Java 1.7.4 + +Compression: ZLIB +Compression size: 262144 +Calendar: Julian/Gregorian +Rows: 10001 + +Type: struct< + source:string, + symbol:string, + time:decimal(14,9), + size:bigint, + date:date, + double:double, + float:float, + timestamp:timestamp, + binary:binary, + byte:tinyint, + boolean:boolean +> + +Stripe Statistics: + Stripe 1: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + +File Statistics: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + +Stripes: + Stripe: offset: 3 data: 137885 rows: 10001 tail: 233 index: 716 + Stream: column 0 section ROW_INDEX start: 3 length 20 + Stream: column 1 section ROW_INDEX start: 23 length 72 + Stream: column 2 section ROW_INDEX start: 95 length 61 + Stream: column 3 section ROW_INDEX start: 156 length 100 + Stream: column 4 section ROW_INDEX start: 256 length 58 + Stream: column 5 section ROW_INDEX start: 314 length 46 + Stream: column 6 section ROW_INDEX start: 360 length 78 + Stream: column 7 section ROW_INDEX start: 438 length 65 + Stream: column 8 section ROW_INDEX start: 503 length 71 + Stream: column 9 section ROW_INDEX start: 574 length 50 + Stream: column 10 section ROW_INDEX start: 624 length 56 + Stream: column 11 section ROW_INDEX start: 680 length 39 + Stream: column 1 section PRESENT start: 719 length 15 + Stream: column 1 section DATA start: 734 length 20 + Stream: column 1 section LENGTH start: 754 length 7 + Stream: column 1 section DICTIONARY_DATA start: 761 length 26 + Stream: column 2 section PRESENT start: 787 length 15 + Stream: column 2 section DATA start: 802 length 18391 + Stream: column 2 section LENGTH start: 19193 length 30 + Stream: column 3 section PRESENT start: 19223 length 15 + Stream: column 3 section DATA start: 19238 length 18959 + Stream: column 3 section SECONDARY start: 38197 length 37 + Stream: column 4 section PRESENT start: 38234 length 19 + Stream: column 4 section DATA start: 38253 length 464 + Stream: column 5 section PRESENT start: 38717 length 19 + Stream: column 5 section DATA start: 38736 length 80 + Stream: column 6 section PRESENT start: 38816 length 18 + Stream: column 6 section DATA start: 38834 length 43239 + Stream: column 7 section PRESENT start: 82073 length 18 + Stream: column 7 section DATA start: 82091 length 34023 + Stream: column 8 section PRESENT start: 116114 length 18 + Stream: column 8 section DATA start: 116132 length 83 + Stream: column 8 section SECONDARY start: 116215 length 15 + Stream: column 9 section PRESENT start: 116230 length 18 + Stream: column 9 section DATA start: 116248 length 22191 + Stream: column 9 section LENGTH start: 138439 length 33 + Stream: column 10 section PRESENT start: 138472 length 18 + Stream: column 10 section DATA start: 138490 length 87 + Stream: column 11 section PRESENT start: 138577 length 21 + Stream: column 11 section DATA start: 138598 length 6 + Encoding column 0: DIRECT + Encoding column 1: DICTIONARY_V2[2] + Encoding column 2: DIRECT_V2 + Encoding column 3: DIRECT_V2 + Encoding column 4: DIRECT_V2 + Encoding column 5: DIRECT_V2 + Encoding column 6: DIRECT + Encoding column 7: DIRECT + Encoding column 8: DIRECT_V2 + Encoding column 9: DIRECT_V2 + Encoding column 10: DIRECT + Encoding column 11: DIRECT + Row group indices for column 1: + Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Row group indices for column 2: + Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Row group indices for column 3: + Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 + Row group indices for column 4: + Entry 0: count: 9996 hasNull: true min: 0 max: 9973 sum: 49736817 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,24,3,0,0,735,8 + Row group indices for column 5: + Entry 0: count: 9996 hasNull: true min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true positions: 0,24,3,0,0,225,268 + Row group indices for column 6: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.6000000001587 sum: 4995503.300000527 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 999.7000000001588 max: 999.7000000001588 sum: 999.7000000001588 positions: 0,22,3,0,0,79968 + Row group indices for column 7: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 positions: 0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true sum: 0.0 positions: 0,22,3,0,0,39984 + Row group indices for column 8: + Entry 0: count: 9996 hasNull: true min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:47.0 max: 2015-01-01 02:46:47.0 positions: 0,22,3,0,0,225,268,0,76,268 + Row group indices for column 9: + Entry 0: count: 9996 hasNull: true sum: 68772 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 4 positions: 0,22,3,0,0,68772,0,89,24 + Row group indices for column 10: + Entry 0: count: 9996 hasNull: true min: -6 max: 75 sum: 548315 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: -5 max: -5 sum: -5 positions: 0,22,3,0,0,10049,24 + Row group indices for column 11: + Entry 0: count: 9 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,3,0,0,0,1,1 + +File length: 139598 bytes +Padding length: 0 bytes +Padding ratio: 0% \ No newline at end of file diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv new file mode 100644 index 0000000..04c71bf --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv @@ -0,0 +1,10001 @@ +CTSPillarNetworkA,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,false +CTSPillarNetworkA,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,true +CTSPillarNetworkA,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35, +,,,,,,,,,,true +CTSPillarNetworkA,4,4,4,1970-01-05,0.30000000000000004,0.3,2015-01-01 00:00:04,bin4,35, +,,,,,,,,,, +CTSPillarNetworkA,6,6,6,1970-01-07,0.4,0.4,2015-01-01 00:00:06,bin6,35, +,,,,,,,,,, +CTSPillarNetworkA,8,8,8,1970-01-09,0.5,0.5,2015-01-01 00:00:08,bin8,35, +CTSPillarNetworkA,9,9,9,1970-01-10,0.6,0.6,2015-01-01 00:00:09,bin9,75, +CTSPillarNetworkA,10,10,10,1970-01-11,0.7,0.70000005,2015-01-01 00:00:10,bin10,35, +CTSPillarNetworkA,11,11,11,1970-01-12,0.7999999999999999,0.8000001,2015-01-01 00:00:11,bin11,75, +CTSPillarNetworkA,12,12,12,1970-01-13,0.8999999999999999,0.9000001,2015-01-01 00:00:12,bin12,35, +CTSPillarNetworkA,13,13,13,1970-01-14,0.9999999999999999,1.0000001,2015-01-01 00:00:13,bin13,75, +CTSPillarNetworkA,14,14,14,1970-01-15,1.0999999999999999,1.1000001,2015-01-01 00:00:14,bin14,35, +CTSPillarNetworkA,15,15,15,1970-01-16,1.2,1.2000002,2015-01-01 00:00:15,bin15,75, +CTSPillarNetworkA,16,16,16,1970-01-17,1.3,1.3000002,2015-01-01 00:00:16,bin16,35, +CTSPillarNetworkA,17,17,17,1970-01-18,1.4000000000000001,1.4000002,2015-01-01 00:00:17,bin17,75, +CTSPillarNetworkA,18,18,18,1970-01-19,1.5000000000000002,1.5000002,2015-01-01 00:00:18,bin18,35, +CTSPillarNetworkA,19,19,19,1970-01-20,1.6000000000000003,1.6000003,2015-01-01 00:00:19,bin19,75, +CTSPillarNetworkA,20,20,20,1970-01-21,1.7000000000000004,1.7000003,2015-01-01 00:00:20,bin20,35, +CTSPillarNetworkA,21,21,21,1970-01-22,1.8000000000000005,1.8000003,2015-01-01 00:00:21,bin21,75, +CTSPillarNetworkA,22,22,22,1970-01-23,1.9000000000000006,1.9000003,2015-01-01 00:00:22,bin22,35, +CTSPillarNetworkA,23,23,23,1970-01-24,2.0000000000000004,2.0000002,2015-01-01 00:00:23,bin23,75, +CTSPillarNetworkA,24,24,24,1970-01-25,2.1000000000000005,2.1000001,2015-01-01 00:00:24,bin24,35, +CTSPillarNetworkA,25,25,25,1970-01-26,2.2000000000000006,2.2,2015-01-01 00:00:25,bin25,75, +CTSPillarNetworkA,26,26,26,1970-01-27,2.3000000000000007,2.3,2015-01-01 00:00:26,bin26,35, +CTSPillarNetworkA,27,27,27,1970-01-28,2.400000000000001,2.3999999,2015-01-01 00:00:27,bin27,75,true +CTSPillarNetworkA,28,28,28,1970-01-29,2.500000000000001,2.4999998,2015-01-01 00:00:28,bin28,35,false +CTSPillarNetworkA,29,29,29,1970-01-30,2.600000000000001,2.5999997,2015-01-01 00:00:29,bin29,75, +CTSPillarNetworkA,30,30,30,1970-01-31,2.700000000000001,2.6999996,2015-01-01 00:00:30,bin30,35, +CTSPillarNetworkA,31,31,31,1970-02-01,2.800000000000001,2.7999995,2015-01-01 00:00:31,bin31,75, +CTSPillarNetworkA,32,32,32,1970-02-02,2.9000000000000012,2.8999994,2015-01-01 00:00:32,bin32,35, +CTSPillarNetworkA,33,33,33,1970-02-03,3.0000000000000013,2.9999993,2015-01-01 00:00:33,bin33,75, +CTSPillarNetworkA,34,34,34,1970-02-04,3.1000000000000014,3.0999992,2015-01-01 00:00:34,bin34,35, +CTSPillarNetworkA,35,35,35,1970-02-05,3.2000000000000015,3.199999,2015-01-01 00:00:35,bin35,75, +CTSPillarNetworkA,36,36,36,1970-02-06,3.3000000000000016,3.299999,2015-01-01 00:00:36,bin36,35, +CTSPillarNetworkA,37,37,37,1970-02-07,3.4000000000000017,3.399999,2015-01-01 00:00:37,bin37,75, +CTSPillarNetworkA,38,38,38,1970-02-08,3.5000000000000018,3.4999988,2015-01-01 00:00:38,bin38,35, +CTSPillarNetworkA,39,39,39,1970-02-09,3.600000000000002,3.5999987,2015-01-01 00:00:39,bin39,75, +CTSPillarNetworkA,40,40,40,1970-02-10,3.700000000000002,3.6999986,2015-01-01 00:00:40,bin40,35, +CTSPillarNetworkA,41,41,41,1970-02-11,3.800000000000002,3.7999985,2015-01-01 00:00:41,bin41,75, +CTSPillarNetworkA,42,42,42,1970-02-12,3.900000000000002,3.8999984,2015-01-01 00:00:42,bin42,35, +CTSPillarNetworkA,43,43,43,1970-02-13,4.000000000000002,3.9999983,2015-01-01 00:00:43,bin43,75, +CTSPillarNetworkA,44,44,44,1970-02-14,4.100000000000001,4.0999985,2015-01-01 00:00:44,bin44,35, +CTSPillarNetworkA,45,45,45,1970-02-15,4.200000000000001,4.1999984,2015-01-01 00:00:45,bin45,75, +CTSPillarNetworkA,46,46,46,1970-02-16,4.300000000000001,4.2999983,2015-01-01 00:00:46,bin46,35, +CTSPillarNetworkA,47,47,47,1970-02-17,4.4,4.399998,2015-01-01 00:00:47,bin47,75, +CTSPillarNetworkA,48,48,48,1970-02-18,4.5,4.499998,2015-01-01 00:00:48,bin48,35, +CTSPillarNetworkA,49,49,49,1970-02-19,4.6,4.599998,2015-01-01 00:00:49,bin49,75, +CTSPillarNetworkA,50,50,50,1970-02-20,4.699999999999999,4.699998,2015-01-01 00:00:50,bin50,35, +CTSPillarNetworkA,51,51,51,1970-02-21,4.799999999999999,4.799998,2015-01-01 00:00:51,bin51,75, +CTSPillarNetworkA,52,52,52,1970-02-22,4.899999999999999,4.8999977,2015-01-01 00:00:52,bin52,35, +CTSPillarNetworkA,53,53,53,1970-02-23,4.999999999999998,4.9999976,2015-01-01 00:00:53,bin53,75, +CTSPillarNetworkA,54,54,54,1970-02-24,5.099999999999998,5.0999975,2015-01-01 00:00:54,bin54,35, +CTSPillarNetworkA,55,55,55,1970-02-25,5.1999999999999975,5.1999974,2015-01-01 00:00:55,bin55,75, +CTSPillarNetworkA,56,56,56,1970-02-26,5.299999999999997,5.2999973,2015-01-01 00:00:56,bin56,35, +CTSPillarNetworkA,57,57,57,1970-02-27,5.399999999999997,5.399997,2015-01-01 00:00:57,bin57,75, +CTSPillarNetworkA,58,58,58,1970-02-28,5.4999999999999964,5.499997,2015-01-01 00:00:58,bin58,35, +CTSPillarNetworkA,59,59,59,1970-03-01,5.599999999999996,5.599997,2015-01-01 00:00:59,bin59,75, +CTSPillarNetworkA,60,60,60,1970-03-02,5.699999999999996,5.699997,2015-01-01 00:01:00,bin60,35, +CTSPillarNetworkA,61,61,61,1970-03-03,5.799999999999995,5.799997,2015-01-01 00:01:01,bin61,75, +CTSPillarNetworkA,62,62,62,1970-03-04,5.899999999999995,5.8999968,2015-01-01 00:01:02,bin62,35, +CTSPillarNetworkA,63,63,63,1970-03-05,5.999999999999995,5.9999967,2015-01-01 00:01:03,bin63,75, +CTSPillarNetworkA,64,64,64,1970-03-06,6.099999999999994,6.0999966,2015-01-01 00:01:04,bin64,35, +CTSPillarNetworkA,65,65,65,1970-03-07,6.199999999999994,6.1999965,2015-01-01 00:01:05,bin65,75, +CTSPillarNetworkA,66,66,66,1970-03-08,6.299999999999994,6.2999964,2015-01-01 00:01:06,bin66,35, +CTSPillarNetworkA,67,67,67,1970-03-09,6.399999999999993,6.3999963,2015-01-01 00:01:07,bin67,75, +CTSPillarNetworkA,68,68,68,1970-03-10,6.499999999999993,6.499996,2015-01-01 00:01:08,bin68,35, +CTSPillarNetworkA,69,69,69,1970-03-11,6.5999999999999925,6.599996,2015-01-01 00:01:09,bin69,75, +CTSPillarNetworkA,70,70,70,1970-03-12,6.699999999999992,6.699996,2015-01-01 00:01:10,bin70,35, +CTSPillarNetworkA,71,71,71,1970-03-13,6.799999999999992,6.799996,2015-01-01 00:01:11,bin71,75, +CTSPillarNetworkA,72,72,72,1970-03-14,6.8999999999999915,6.899996,2015-01-01 00:01:12,bin72,35, +CTSPillarNetworkA,73,73,73,1970-03-15,6.999999999999991,6.9999957,2015-01-01 00:01:13,bin73,75, +CTSPillarNetworkA,74,74,74,1970-03-16,7.099999999999991,7.0999956,2015-01-01 00:01:14,bin74,35, +CTSPillarNetworkA,75,75,75,1970-03-17,7.19999999999999,7.1999955,2015-01-01 00:01:15,bin75,75, +CTSPillarNetworkA,76,76,76,1970-03-18,7.29999999999999,7.2999954,2015-01-01 00:01:16,bin76,35, +CTSPillarNetworkA,77,77,77,1970-03-19,7.39999999999999,7.3999953,2015-01-01 00:01:17,bin77,75, +CTSPillarNetworkA,78,78,78,1970-03-20,7.499999999999989,7.499995,2015-01-01 00:01:18,bin78,35, +CTSPillarNetworkA,79,79,79,1970-03-21,7.599999999999989,7.599995,2015-01-01 00:01:19,bin79,75, +CTSPillarNetworkA,80,80,80,1970-03-22,7.699999999999989,7.699995,2015-01-01 00:01:20,bin80,35, +CTSPillarNetworkA,81,81,81,1970-03-23,7.799999999999988,7.799995,2015-01-01 00:01:21,bin81,75, +CTSPillarNetworkA,82,82,82,1970-03-24,7.899999999999988,7.899995,2015-01-01 00:01:22,bin82,35, +CTSPillarNetworkA,83,83,83,1970-03-25,7.999999999999988,7.9999948,2015-01-01 00:01:23,bin83,75, +CTSPillarNetworkA,84,84,84,1970-03-26,8.099999999999987,8.099995,2015-01-01 00:01:24,bin84,35, +CTSPillarNetworkA,85,85,85,1970-03-27,8.199999999999987,8.199995,2015-01-01 00:01:25,bin85,75, +CTSPillarNetworkA,86,86,86,1970-03-28,8.299999999999986,8.299995,2015-01-01 00:01:26,bin86,35, +CTSPillarNetworkA,87,87,87,1970-03-29,8.399999999999986,8.399996,2015-01-01 00:01:27,bin87,75, +CTSPillarNetworkA,88,88,88,1970-03-30,8.499999999999986,8.499996,2015-01-01 00:01:28,bin88,35, +CTSPillarNetworkA,89,89,89,1970-03-31,8.599999999999985,8.599997,2015-01-01 00:01:29,bin89,75, +CTSPillarNetworkA,90,90,90,1970-04-01,8.699999999999985,8.699997,2015-01-01 00:01:30,bin90,35, +CTSPillarNetworkA,91,91,91,1970-04-02,8.799999999999985,8.799997,2015-01-01 00:01:31,bin91,75, +CTSPillarNetworkA,92,92,92,1970-04-03,8.899999999999984,8.899998,2015-01-01 00:01:32,bin92,35, +CTSPillarNetworkA,93,93,93,1970-04-04,8.999999999999984,8.999998,2015-01-01 00:01:33,bin93,75, +CTSPillarNetworkA,94,94,94,1970-04-05,9.099999999999984,9.099998,2015-01-01 00:01:34,bin94,35, +CTSPillarNetworkA,95,95,95,1970-04-06,9.199999999999983,9.199999,2015-01-01 00:01:35,bin95,75, +CTSPillarNetworkA,96,96,96,1970-04-07,9.299999999999983,9.299999,2015-01-01 00:01:36,bin96,35, +CTSPillarNetworkA,97,97,97,1970-04-08,9.399999999999983,9.4,2015-01-01 00:01:37,bin97,75, +CTSPillarNetworkA,98,98,98,1970-04-09,9.499999999999982,9.5,2015-01-01 00:01:38,bin98,35, +CTSPillarNetworkA,99,99,99,1970-04-10,9.599999999999982,9.6,2015-01-01 00:01:39,bin99,75, +CTSPillarNetworkA,100,100,100,1970-04-11,9.699999999999982,9.700001,2015-01-01 00:01:40,bin100,35, +CTSPillarNetworkA,101,101,101,1970-04-12,9.799999999999981,9.800001,2015-01-01 00:01:41,bin101,75, +CTSPillarNetworkA,102,102,102,1970-04-13,9.89999999999998,9.900002,2015-01-01 00:01:42,bin102,35, +CTSPillarNetworkA,103,103,103,1970-04-14,9.99999999999998,10.000002,2015-01-01 00:01:43,bin103,75, +CTSPillarNetworkA,104,104,104,1970-04-15,10.09999999999998,10.100002,2015-01-01 00:01:44,bin104,35, +CTSPillarNetworkA,105,105,105,1970-04-16,10.19999999999998,10.200003,2015-01-01 00:01:45,bin105,75, +CTSPillarNetworkA,106,106,106,1970-04-17,10.29999999999998,10.300003,2015-01-01 00:01:46,bin106,35, +CTSPillarNetworkA,107,107,107,1970-04-18,10.399999999999979,10.400003,2015-01-01 00:01:47,bin107,75, +CTSPillarNetworkA,108,108,108,1970-04-19,10.499999999999979,10.500004,2015-01-01 00:01:48,bin108,35, +CTSPillarNetworkA,109,109,109,1970-04-20,10.599999999999978,10.600004,2015-01-01 00:01:49,bin109,75, +CTSPillarNetworkA,110,110,110,1970-04-21,10.699999999999978,10.700005,2015-01-01 00:01:50,bin110,35, +CTSPillarNetworkA,111,111,111,1970-04-22,10.799999999999978,10.800005,2015-01-01 00:01:51,bin111,75, +CTSPillarNetworkA,112,112,112,1970-04-23,10.899999999999977,10.900005,2015-01-01 00:01:52,bin112,35, +CTSPillarNetworkA,113,113,113,1970-04-24,10.999999999999977,11.000006,2015-01-01 00:01:53,bin113,75, +CTSPillarNetworkA,114,114,114,1970-04-25,11.099999999999977,11.100006,2015-01-01 00:01:54,bin114,35, +CTSPillarNetworkA,115,115,115,1970-04-26,11.199999999999976,11.2000065,2015-01-01 00:01:55,bin115,75, +CTSPillarNetworkA,116,116,116,1970-04-27,11.299999999999976,11.300007,2015-01-01 00:01:56,bin116,35, +CTSPillarNetworkA,117,117,117,1970-04-28,11.399999999999975,11.400007,2015-01-01 00:01:57,bin117,75, +CTSPillarNetworkA,118,118,118,1970-04-29,11.499999999999975,11.500008,2015-01-01 00:01:58,bin118,35, +CTSPillarNetworkA,119,119,119,1970-04-30,11.599999999999975,11.600008,2015-01-01 00:01:59,bin119,75, +CTSPillarNetworkA,120,120,120,1970-05-01,11.699999999999974,11.700008,2015-01-01 00:02:00,bin120,35, +CTSPillarNetworkA,121,121,121,1970-05-02,11.799999999999974,11.800009,2015-01-01 00:02:01,bin121,75, +CTSPillarNetworkA,122,122,122,1970-05-03,11.899999999999974,11.900009,2015-01-01 00:02:02,bin122,35, +CTSPillarNetworkA,123,123,123,1970-05-04,11.999999999999973,12.00001,2015-01-01 00:02:03,bin123,75, +CTSPillarNetworkA,124,124,124,1970-05-05,12.099999999999973,12.10001,2015-01-01 00:02:04,bin124,35, +CTSPillarNetworkA,125,125,125,1970-05-06,12.199999999999973,12.20001,2015-01-01 00:02:05,bin125,75, +CTSPillarNetworkA,126,126,126,1970-05-07,12.299999999999972,12.300011,2015-01-01 00:02:06,bin126,35, +CTSPillarNetworkA,127,127,127,1970-05-08,12.399999999999972,12.400011,2015-01-01 00:02:07,bin127,75, +CTSPillarNetworkA,128,128,128,1970-05-09,12.499999999999972,12.500011,2015-01-01 00:02:08,bin128,35, +CTSPillarNetworkA,129,129,129,1970-05-10,12.599999999999971,12.600012,2015-01-01 00:02:09,bin129,75, +CTSPillarNetworkA,130,130,130,1970-05-11,12.69999999999997,12.700012,2015-01-01 00:02:10,bin130,35, +CTSPillarNetworkA,131,131,131,1970-05-12,12.79999999999997,12.800013,2015-01-01 00:02:11,bin131,75, +CTSPillarNetworkA,132,132,132,1970-05-13,12.89999999999997,12.900013,2015-01-01 00:02:12,bin132,35, +CTSPillarNetworkA,133,133,133,1970-05-14,12.99999999999997,13.000013,2015-01-01 00:02:13,bin133,75, +CTSPillarNetworkA,134,134,134,1970-05-15,13.09999999999997,13.100014,2015-01-01 00:02:14,bin134,35, +CTSPillarNetworkA,135,135,135,1970-05-16,13.199999999999969,13.200014,2015-01-01 00:02:15,bin135,75, +CTSPillarNetworkA,136,136,136,1970-05-17,13.299999999999969,13.3000145,2015-01-01 00:02:16,bin136,35, +CTSPillarNetworkA,137,137,137,1970-05-18,13.399999999999968,13.400015,2015-01-01 00:02:17,bin137,75, +CTSPillarNetworkA,138,138,138,1970-05-19,13.499999999999968,13.500015,2015-01-01 00:02:18,bin138,35, +CTSPillarNetworkA,139,139,139,1970-05-20,13.599999999999968,13.600016,2015-01-01 00:02:19,bin139,75, +CTSPillarNetworkA,140,140,140,1970-05-21,13.699999999999967,13.700016,2015-01-01 00:02:20,bin140,35, +CTSPillarNetworkA,141,141,141,1970-05-22,13.799999999999967,13.800016,2015-01-01 00:02:21,bin141,75, +CTSPillarNetworkA,142,142,142,1970-05-23,13.899999999999967,13.900017,2015-01-01 00:02:22,bin142,35, +CTSPillarNetworkA,143,143,143,1970-05-24,13.999999999999966,14.000017,2015-01-01 00:02:23,bin143,75, +CTSPillarNetworkA,144,144,144,1970-05-25,14.099999999999966,14.100018,2015-01-01 00:02:24,bin144,35, +CTSPillarNetworkA,145,145,145,1970-05-26,14.199999999999966,14.200018,2015-01-01 00:02:25,bin145,75, +CTSPillarNetworkA,146,146,146,1970-05-27,14.299999999999965,14.300018,2015-01-01 00:02:26,bin146,35, +CTSPillarNetworkA,147,147,147,1970-05-28,14.399999999999965,14.400019,2015-01-01 00:02:27,bin147,75, +CTSPillarNetworkA,148,148,148,1970-05-29,14.499999999999964,14.500019,2015-01-01 00:02:28,bin148,35, +CTSPillarNetworkA,149,149,149,1970-05-30,14.599999999999964,14.600019,2015-01-01 00:02:29,bin149,75, +CTSPillarNetworkA,150,150,150,1970-05-31,14.699999999999964,14.70002,2015-01-01 00:02:30,bin150,35, +CTSPillarNetworkA,151,151,151,1970-06-01,14.799999999999963,14.80002,2015-01-01 00:02:31,bin151,75, +CTSPillarNetworkA,152,152,152,1970-06-02,14.899999999999963,14.900021,2015-01-01 00:02:32,bin152,35, +CTSPillarNetworkA,153,153,153,1970-06-03,14.999999999999963,15.000021,2015-01-01 00:02:33,bin153,75, +CTSPillarNetworkA,154,154,154,1970-06-04,15.099999999999962,15.100021,2015-01-01 00:02:34,bin154,35, +CTSPillarNetworkA,155,155,155,1970-06-05,15.199999999999962,15.200022,2015-01-01 00:02:35,bin155,75, +CTSPillarNetworkA,156,156,156,1970-06-06,15.299999999999962,15.300022,2015-01-01 00:02:36,bin156,35, +CTSPillarNetworkA,157,157,157,1970-06-07,15.399999999999961,15.4000225,2015-01-01 00:02:37,bin157,75, +CTSPillarNetworkA,158,158,158,1970-06-08,15.499999999999961,15.500023,2015-01-01 00:02:38,bin158,35, +CTSPillarNetworkA,159,159,159,1970-06-09,15.59999999999996,15.600023,2015-01-01 00:02:39,bin159,75, +CTSPillarNetworkA,160,160,160,1970-06-10,15.69999999999996,15.700024,2015-01-01 00:02:40,bin160,35, +CTSPillarNetworkA,161,161,161,1970-06-11,15.79999999999996,15.800024,2015-01-01 00:02:41,bin161,75, +CTSPillarNetworkA,162,162,162,1970-06-12,15.89999999999996,15.900024,2015-01-01 00:02:42,bin162,35, +CTSPillarNetworkA,163,163,163,1970-06-13,15.99999999999996,16.000025,2015-01-01 00:02:43,bin163,75, +CTSPillarNetworkA,164,164,164,1970-06-14,16.09999999999996,16.100025,2015-01-01 00:02:44,bin164,35, +CTSPillarNetworkA,165,165,165,1970-06-15,16.19999999999996,16.200026,2015-01-01 00:02:45,bin165,75, +CTSPillarNetworkA,166,166,166,1970-06-16,16.29999999999996,16.300026,2015-01-01 00:02:46,bin166,35, +CTSPillarNetworkA,167,167,167,1970-06-17,16.399999999999963,16.400026,2015-01-01 00:02:47,bin167,75, +CTSPillarNetworkA,168,168,168,1970-06-18,16.499999999999964,16.500027,2015-01-01 00:02:48,bin168,35, +CTSPillarNetworkA,169,169,169,1970-06-19,16.599999999999966,16.600027,2015-01-01 00:02:49,bin169,75, +CTSPillarNetworkA,170,170,170,1970-06-20,16.699999999999967,16.700027,2015-01-01 00:02:50,bin170,35, +CTSPillarNetworkA,171,171,171,1970-06-21,16.79999999999997,16.800028,2015-01-01 00:02:51,bin171,75, +CTSPillarNetworkA,172,172,172,1970-06-22,16.89999999999997,16.900028,2015-01-01 00:02:52,bin172,35, +CTSPillarNetworkA,173,173,173,1970-06-23,16.99999999999997,17.000029,2015-01-01 00:02:53,bin173,75, +CTSPillarNetworkA,174,174,174,1970-06-24,17.099999999999973,17.100029,2015-01-01 00:02:54,bin174,35, +CTSPillarNetworkA,175,175,175,1970-06-25,17.199999999999974,17.20003,2015-01-01 00:02:55,bin175,75, +CTSPillarNetworkA,176,176,176,1970-06-26,17.299999999999976,17.30003,2015-01-01 00:02:56,bin176,35, +CTSPillarNetworkA,177,177,177,1970-06-27,17.399999999999977,17.40003,2015-01-01 00:02:57,bin177,75, +CTSPillarNetworkA,178,178,178,1970-06-28,17.49999999999998,17.50003,2015-01-01 00:02:58,bin178,35, +CTSPillarNetworkA,179,179,179,1970-06-29,17.59999999999998,17.60003,2015-01-01 00:02:59,bin179,75, +CTSPillarNetworkA,180,180,180,1970-06-30,17.69999999999998,17.700031,2015-01-01 00:03:00,bin180,35, +CTSPillarNetworkA,181,181,181,1970-07-01,17.799999999999983,17.800032,2015-01-01 00:03:01,bin181,75, +CTSPillarNetworkA,182,182,182,1970-07-02,17.899999999999984,17.900032,2015-01-01 00:03:02,bin182,35, +CTSPillarNetworkA,183,183,183,1970-07-03,17.999999999999986,18.000032,2015-01-01 00:03:03,bin183,75, +CTSPillarNetworkA,184,184,184,1970-07-04,18.099999999999987,18.100033,2015-01-01 00:03:04,bin184,35, +CTSPillarNetworkA,185,185,185,1970-07-05,18.19999999999999,18.200033,2015-01-01 00:03:05,bin185,75, +CTSPillarNetworkA,186,186,186,1970-07-06,18.29999999999999,18.300034,2015-01-01 00:03:06,bin186,35, +CTSPillarNetworkA,187,187,187,1970-07-07,18.39999999999999,18.400034,2015-01-01 00:03:07,bin187,75, +CTSPillarNetworkA,188,188,188,1970-07-08,18.499999999999993,18.500034,2015-01-01 00:03:08,bin188,35, +CTSPillarNetworkA,189,189,189,1970-07-09,18.599999999999994,18.600035,2015-01-01 00:03:09,bin189,75, +CTSPillarNetworkA,190,190,190,1970-07-10,18.699999999999996,18.700035,2015-01-01 00:03:10,bin190,35, +CTSPillarNetworkA,191,191,191,1970-07-11,18.799999999999997,18.800035,2015-01-01 00:03:11,bin191,75, +CTSPillarNetworkA,192,192,192,1970-07-12,18.9,18.900036,2015-01-01 00:03:12,bin192,35, +CTSPillarNetworkA,193,193,193,1970-07-13,19,19.000036,2015-01-01 00:03:13,bin193,75, +CTSPillarNetworkA,194,194,194,1970-07-14,19.1,19.100037,2015-01-01 00:03:14,bin194,35, +CTSPillarNetworkA,195,195,195,1970-07-15,19.200000000000003,19.200037,2015-01-01 00:03:15,bin195,75, +CTSPillarNetworkA,196,196,196,1970-07-16,19.300000000000004,19.300037,2015-01-01 00:03:16,bin196,35, +CTSPillarNetworkA,197,197,197,1970-07-17,19.400000000000006,19.400038,2015-01-01 00:03:17,bin197,75, +CTSPillarNetworkA,198,198,198,1970-07-18,19.500000000000007,19.500038,2015-01-01 00:03:18,bin198,35, +CTSPillarNetworkA,199,199,199,1970-07-19,19.60000000000001,19.600039,2015-01-01 00:03:19,bin199,75, +CTSPillarNetworkA,200,200,200,1970-07-20,19.70000000000001,19.700039,2015-01-01 00:03:20,bin200,35, +CTSPillarNetworkA,201,201,201,1970-07-21,19.80000000000001,19.80004,2015-01-01 00:03:21,bin201,75, +CTSPillarNetworkA,202,202,202,1970-07-22,19.900000000000013,19.90004,2015-01-01 00:03:22,bin202,35, +CTSPillarNetworkA,203,203,203,1970-07-23,20.000000000000014,20.00004,2015-01-01 00:03:23,bin203,75, +CTSPillarNetworkA,204,204,204,1970-07-24,20.100000000000016,20.10004,2015-01-01 00:03:24,bin204,35, +CTSPillarNetworkA,205,205,205,1970-07-25,20.200000000000017,20.20004,2015-01-01 00:03:25,bin205,75, +CTSPillarNetworkA,206,206,206,1970-07-26,20.30000000000002,20.300041,2015-01-01 00:03:26,bin206,35, +CTSPillarNetworkA,207,207,207,1970-07-27,20.40000000000002,20.400042,2015-01-01 00:03:27,bin207,75, +CTSPillarNetworkA,208,208,208,1970-07-28,20.50000000000002,20.500042,2015-01-01 00:03:28,bin208,35, +CTSPillarNetworkA,209,209,209,1970-07-29,20.600000000000023,20.600042,2015-01-01 00:03:29,bin209,75, +CTSPillarNetworkA,210,210,210,1970-07-30,20.700000000000024,20.700043,2015-01-01 00:03:30,bin210,35, +CTSPillarNetworkA,211,211,211,1970-07-31,20.800000000000026,20.800043,2015-01-01 00:03:31,bin211,75, +CTSPillarNetworkA,212,212,212,1970-08-01,20.900000000000027,20.900043,2015-01-01 00:03:32,bin212,35, +CTSPillarNetworkA,213,213,213,1970-08-02,21.00000000000003,21.000044,2015-01-01 00:03:33,bin213,75, +CTSPillarNetworkA,214,214,214,1970-08-03,21.10000000000003,21.100044,2015-01-01 00:03:34,bin214,35, +CTSPillarNetworkA,215,215,215,1970-08-04,21.20000000000003,21.200045,2015-01-01 00:03:35,bin215,75, +CTSPillarNetworkA,216,216,216,1970-08-05,21.300000000000033,21.300045,2015-01-01 00:03:36,bin216,35, +CTSPillarNetworkA,217,217,217,1970-08-06,21.400000000000034,21.400045,2015-01-01 00:03:37,bin217,75, +CTSPillarNetworkA,218,218,218,1970-08-07,21.500000000000036,21.500046,2015-01-01 00:03:38,bin218,35, +CTSPillarNetworkA,219,219,219,1970-08-08,21.600000000000037,21.600046,2015-01-01 00:03:39,bin219,75, +CTSPillarNetworkA,220,220,220,1970-08-09,21.70000000000004,21.700047,2015-01-01 00:03:40,bin220,35, +CTSPillarNetworkA,221,221,221,1970-08-10,21.80000000000004,21.800047,2015-01-01 00:03:41,bin221,75, +CTSPillarNetworkA,222,222,222,1970-08-11,21.90000000000004,21.900047,2015-01-01 00:03:42,bin222,35, +CTSPillarNetworkA,223,223,223,1970-08-12,22.000000000000043,22.000048,2015-01-01 00:03:43,bin223,75, +CTSPillarNetworkA,224,224,224,1970-08-13,22.100000000000044,22.100048,2015-01-01 00:03:44,bin224,35, +CTSPillarNetworkA,225,225,225,1970-08-14,22.200000000000045,22.200048,2015-01-01 00:03:45,bin225,75, +CTSPillarNetworkA,226,226,226,1970-08-15,22.300000000000047,22.300049,2015-01-01 00:03:46,bin226,35, +CTSPillarNetworkA,227,227,227,1970-08-16,22.40000000000005,22.40005,2015-01-01 00:03:47,bin227,75, +CTSPillarNetworkA,228,228,228,1970-08-17,22.50000000000005,22.50005,2015-01-01 00:03:48,bin228,35, +CTSPillarNetworkA,229,229,229,1970-08-18,22.60000000000005,22.60005,2015-01-01 00:03:49,bin229,75, +CTSPillarNetworkA,230,230,230,1970-08-19,22.700000000000053,22.70005,2015-01-01 00:03:50,bin230,35, +CTSPillarNetworkA,231,231,231,1970-08-20,22.800000000000054,22.80005,2015-01-01 00:03:51,bin231,75, +CTSPillarNetworkA,232,232,232,1970-08-21,22.900000000000055,22.900051,2015-01-01 00:03:52,bin232,35, +CTSPillarNetworkA,233,233,233,1970-08-22,23.000000000000057,23.000051,2015-01-01 00:03:53,bin233,75, +CTSPillarNetworkA,234,234,234,1970-08-23,23.10000000000006,23.100052,2015-01-01 00:03:54,bin234,35, +CTSPillarNetworkA,235,235,235,1970-08-24,23.20000000000006,23.200052,2015-01-01 00:03:55,bin235,75, +CTSPillarNetworkA,236,236,236,1970-08-25,23.30000000000006,23.300053,2015-01-01 00:03:56,bin236,35, +CTSPillarNetworkA,237,237,237,1970-08-26,23.400000000000063,23.400053,2015-01-01 00:03:57,bin237,75, +CTSPillarNetworkA,238,238,238,1970-08-27,23.500000000000064,23.500053,2015-01-01 00:03:58,bin238,35, +CTSPillarNetworkA,239,239,239,1970-08-28,23.600000000000065,23.600054,2015-01-01 00:03:59,bin239,75, +CTSPillarNetworkA,240,240,240,1970-08-29,23.700000000000067,23.700054,2015-01-01 00:04:00,bin240,35, +CTSPillarNetworkA,241,241,241,1970-08-30,23.800000000000068,23.800055,2015-01-01 00:04:01,bin241,75, +CTSPillarNetworkA,242,242,242,1970-08-31,23.90000000000007,23.900055,2015-01-01 00:04:02,bin242,35, +CTSPillarNetworkA,243,243,243,1970-09-01,24.00000000000007,24.000055,2015-01-01 00:04:03,bin243,75, +CTSPillarNetworkA,244,244,244,1970-09-02,24.100000000000072,24.100056,2015-01-01 00:04:04,bin244,35, +CTSPillarNetworkA,245,245,245,1970-09-03,24.200000000000074,24.200056,2015-01-01 00:04:05,bin245,75, +CTSPillarNetworkA,246,246,246,1970-09-04,24.300000000000075,24.300056,2015-01-01 00:04:06,bin246,35, +CTSPillarNetworkA,247,247,247,1970-09-05,24.400000000000077,24.400057,2015-01-01 00:04:07,bin247,75, +CTSPillarNetworkA,248,248,248,1970-09-06,24.500000000000078,24.500057,2015-01-01 00:04:08,bin248,35, +CTSPillarNetworkA,249,249,249,1970-09-07,24.60000000000008,24.600058,2015-01-01 00:04:09,bin249,75, +CTSPillarNetworkA,250,250,250,1970-09-08,24.70000000000008,24.700058,2015-01-01 00:04:10,bin250,35, +CTSPillarNetworkA,251,251,251,1970-09-09,24.800000000000082,24.800058,2015-01-01 00:04:11,bin251,75, +CTSPillarNetworkA,252,252,252,1970-09-10,24.900000000000084,24.900059,2015-01-01 00:04:12,bin252,35, +CTSPillarNetworkA,253,253,253,1970-09-11,25.000000000000085,25.00006,2015-01-01 00:04:13,bin253,75, +CTSPillarNetworkA,254,254,254,1970-09-12,25.100000000000087,25.10006,2015-01-01 00:04:14,bin254,35, +CTSPillarNetworkA,255,255,255,1970-09-13,25.200000000000088,25.20006,2015-01-01 00:04:15,bin255,75, +CTSPillarNetworkA,256,256,256,1970-09-14,25.30000000000009,25.30006,2015-01-01 00:04:16,bin256,35, +CTSPillarNetworkA,257,257,257,1970-09-15,25.40000000000009,25.40006,2015-01-01 00:04:17,bin257,75, +CTSPillarNetworkA,258,258,258,1970-09-16,25.500000000000092,25.500061,2015-01-01 00:04:18,bin258,35, +CTSPillarNetworkA,259,259,259,1970-09-17,25.600000000000094,25.600061,2015-01-01 00:04:19,bin259,75, +CTSPillarNetworkA,260,260,260,1970-09-18,25.700000000000095,25.700062,2015-01-01 00:04:20,bin260,35, +CTSPillarNetworkA,261,261,261,1970-09-19,25.800000000000097,25.800062,2015-01-01 00:04:21,bin261,75, +CTSPillarNetworkA,262,262,262,1970-09-20,25.900000000000098,25.900063,2015-01-01 00:04:22,bin262,35, +CTSPillarNetworkA,263,263,263,1970-09-21,26.0000000000001,26.000063,2015-01-01 00:04:23,bin263,75, +CTSPillarNetworkA,264,264,264,1970-09-22,26.1000000000001,26.100063,2015-01-01 00:04:24,bin264,35, +CTSPillarNetworkA,265,265,265,1970-09-23,26.200000000000102,26.200064,2015-01-01 00:04:25,bin265,75, +CTSPillarNetworkA,266,266,266,1970-09-24,26.300000000000104,26.300064,2015-01-01 00:04:26,bin266,35, +CTSPillarNetworkA,267,267,267,1970-09-25,26.400000000000105,26.400064,2015-01-01 00:04:27,bin267,75, +CTSPillarNetworkA,268,268,268,1970-09-26,26.500000000000107,26.500065,2015-01-01 00:04:28,bin268,35, +CTSPillarNetworkA,269,269,269,1970-09-27,26.600000000000108,26.600065,2015-01-01 00:04:29,bin269,75, +CTSPillarNetworkA,270,270,270,1970-09-28,26.70000000000011,26.700066,2015-01-01 00:04:30,bin270,35, +CTSPillarNetworkA,271,271,271,1970-09-29,26.80000000000011,26.800066,2015-01-01 00:04:31,bin271,75, +CTSPillarNetworkA,272,272,272,1970-09-30,26.900000000000112,26.900066,2015-01-01 00:04:32,bin272,35, +CTSPillarNetworkA,273,273,273,1970-10-01,27.000000000000114,27.000067,2015-01-01 00:04:33,bin273,75, +CTSPillarNetworkA,274,274,274,1970-10-02,27.100000000000115,27.100067,2015-01-01 00:04:34,bin274,35, +CTSPillarNetworkA,275,275,275,1970-10-03,27.200000000000117,27.200068,2015-01-01 00:04:35,bin275,75, +CTSPillarNetworkA,276,276,276,1970-10-04,27.300000000000118,27.300068,2015-01-01 00:04:36,bin276,35, +CTSPillarNetworkA,277,277,277,1970-10-05,27.40000000000012,27.400068,2015-01-01 00:04:37,bin277,75, +CTSPillarNetworkA,278,278,278,1970-10-06,27.50000000000012,27.500069,2015-01-01 00:04:38,bin278,35, +CTSPillarNetworkA,279,279,279,1970-10-07,27.600000000000122,27.600069,2015-01-01 00:04:39,bin279,75, +CTSPillarNetworkA,280,280,280,1970-10-08,27.700000000000124,27.70007,2015-01-01 00:04:40,bin280,35, +CTSPillarNetworkA,281,281,281,1970-10-09,27.800000000000125,27.80007,2015-01-01 00:04:41,bin281,75, +CTSPillarNetworkA,282,282,282,1970-10-10,27.900000000000126,27.90007,2015-01-01 00:04:42,bin282,35, +CTSPillarNetworkA,283,283,283,1970-10-11,28.000000000000128,28.00007,2015-01-01 00:04:43,bin283,75, +CTSPillarNetworkA,284,284,284,1970-10-12,28.10000000000013,28.10007,2015-01-01 00:04:44,bin284,35, +CTSPillarNetworkA,285,285,285,1970-10-13,28.20000000000013,28.200071,2015-01-01 00:04:45,bin285,75, +CTSPillarNetworkA,286,286,286,1970-10-14,28.300000000000132,28.300072,2015-01-01 00:04:46,bin286,35, +CTSPillarNetworkA,287,287,287,1970-10-15,28.400000000000134,28.400072,2015-01-01 00:04:47,bin287,75, +CTSPillarNetworkA,288,288,288,1970-10-16,28.500000000000135,28.500072,2015-01-01 00:04:48,bin288,35, +CTSPillarNetworkA,289,289,289,1970-10-17,28.600000000000136,28.600073,2015-01-01 00:04:49,bin289,75, +CTSPillarNetworkA,290,290,290,1970-10-18,28.700000000000138,28.700073,2015-01-01 00:04:50,bin290,35, +CTSPillarNetworkA,291,291,291,1970-10-19,28.80000000000014,28.800074,2015-01-01 00:04:51,bin291,75, +CTSPillarNetworkA,292,292,292,1970-10-20,28.90000000000014,28.900074,2015-01-01 00:04:52,bin292,35, +CTSPillarNetworkA,293,293,293,1970-10-21,29.000000000000142,29.000074,2015-01-01 00:04:53,bin293,75, +CTSPillarNetworkA,294,294,294,1970-10-22,29.100000000000144,29.100075,2015-01-01 00:04:54,bin294,35, +CTSPillarNetworkA,295,295,295,1970-10-23,29.200000000000145,29.200075,2015-01-01 00:04:55,bin295,75, +CTSPillarNetworkA,296,296,296,1970-10-24,29.300000000000146,29.300076,2015-01-01 00:04:56,bin296,35, +CTSPillarNetworkA,297,297,297,1970-10-25,29.400000000000148,29.400076,2015-01-01 00:04:57,bin297,75, +CTSPillarNetworkA,298,298,298,1970-10-26,29.50000000000015,29.500076,2015-01-01 00:04:58,bin298,35, +CTSPillarNetworkA,299,299,299,1970-10-27,29.60000000000015,29.600077,2015-01-01 00:04:59,bin299,75, +CTSPillarNetworkA,300,300,300,1970-10-28,29.700000000000152,29.700077,2015-01-01 00:05:00,bin300,35, +CTSPillarNetworkA,301,301,301,1970-10-29,29.800000000000153,29.800077,2015-01-01 00:05:01,bin301,75, +CTSPillarNetworkA,302,302,302,1970-10-30,29.900000000000155,29.900078,2015-01-01 00:05:02,bin302,35, +CTSPillarNetworkA,303,303,303,1970-10-31,30.000000000000156,30.000078,2015-01-01 00:05:03,bin303,75, +CTSPillarNetworkA,304,304,304,1970-11-01,30.100000000000158,30.100079,2015-01-01 00:05:04,bin304,35, +CTSPillarNetworkA,305,305,305,1970-11-02,30.20000000000016,30.200079,2015-01-01 00:05:05,bin305,75, +CTSPillarNetworkA,306,306,306,1970-11-03,30.30000000000016,30.30008,2015-01-01 00:05:06,bin306,35, +CTSPillarNetworkA,307,307,307,1970-11-04,30.400000000000162,30.40008,2015-01-01 00:05:07,bin307,75, +CTSPillarNetworkA,308,308,308,1970-11-05,30.500000000000163,30.50008,2015-01-01 00:05:08,bin308,35, +CTSPillarNetworkA,309,309,309,1970-11-06,30.600000000000165,30.60008,2015-01-01 00:05:09,bin309,75, +CTSPillarNetworkA,310,310,310,1970-11-07,30.700000000000166,30.70008,2015-01-01 00:05:10,bin310,35, +CTSPillarNetworkA,311,311,311,1970-11-08,30.800000000000168,30.800081,2015-01-01 00:05:11,bin311,75, +CTSPillarNetworkA,312,312,312,1970-11-09,30.90000000000017,30.900082,2015-01-01 00:05:12,bin312,35, +CTSPillarNetworkA,313,313,313,1970-11-10,31.00000000000017,31.000082,2015-01-01 00:05:13,bin313,75, +CTSPillarNetworkA,314,314,314,1970-11-11,31.100000000000172,31.100082,2015-01-01 00:05:14,bin314,35, +CTSPillarNetworkA,315,315,315,1970-11-12,31.200000000000173,31.200083,2015-01-01 00:05:15,bin315,75, +CTSPillarNetworkA,316,316,316,1970-11-13,31.300000000000175,31.300083,2015-01-01 00:05:16,bin316,35, +CTSPillarNetworkA,317,317,317,1970-11-14,31.400000000000176,31.400084,2015-01-01 00:05:17,bin317,75, +CTSPillarNetworkA,318,318,318,1970-11-15,31.500000000000178,31.500084,2015-01-01 00:05:18,bin318,35, +CTSPillarNetworkA,319,319,319,1970-11-16,31.60000000000018,31.600084,2015-01-01 00:05:19,bin319,75, +CTSPillarNetworkA,320,320,320,1970-11-17,31.70000000000018,31.700085,2015-01-01 00:05:20,bin320,35, +CTSPillarNetworkA,321,321,321,1970-11-18,31.800000000000182,31.800085,2015-01-01 00:05:21,bin321,75, +CTSPillarNetworkA,322,322,322,1970-11-19,31.900000000000183,31.900085,2015-01-01 00:05:22,bin322,35, +CTSPillarNetworkA,323,323,323,1970-11-20,32.000000000000185,32.000084,2015-01-01 00:05:23,bin323,75, +CTSPillarNetworkA,324,324,324,1970-11-21,32.100000000000186,32.100082,2015-01-01 00:05:24,bin324,35, +CTSPillarNetworkA,325,325,325,1970-11-22,32.20000000000019,32.20008,2015-01-01 00:05:25,bin325,75, +CTSPillarNetworkA,326,326,326,1970-11-23,32.30000000000019,32.30008,2015-01-01 00:05:26,bin326,35, +CTSPillarNetworkA,327,327,327,1970-11-24,32.40000000000019,32.400078,2015-01-01 00:05:27,bin327,75, +CTSPillarNetworkA,328,328,328,1970-11-25,32.50000000000019,32.500076,2015-01-01 00:05:28,bin328,35, +CTSPillarNetworkA,329,329,329,1970-11-26,32.60000000000019,32.600075,2015-01-01 00:05:29,bin329,75, +CTSPillarNetworkA,330,330,330,1970-11-27,32.700000000000195,32.700073,2015-01-01 00:05:30,bin330,35, +CTSPillarNetworkA,331,331,331,1970-11-28,32.800000000000196,32.80007,2015-01-01 00:05:31,bin331,75, +CTSPillarNetworkA,332,332,332,1970-11-29,32.9000000000002,32.90007,2015-01-01 00:05:32,bin332,35, +CTSPillarNetworkA,333,333,333,1970-11-30,33.0000000000002,33.00007,2015-01-01 00:05:33,bin333,75, +CTSPillarNetworkA,334,334,334,1970-12-01,33.1000000000002,33.100067,2015-01-01 00:05:34,bin334,35, +CTSPillarNetworkA,335,335,335,1970-12-02,33.2000000000002,33.200066,2015-01-01 00:05:35,bin335,75, +CTSPillarNetworkA,336,336,336,1970-12-03,33.3000000000002,33.300064,2015-01-01 00:05:36,bin336,35, +CTSPillarNetworkA,337,337,337,1970-12-04,33.400000000000205,33.400063,2015-01-01 00:05:37,bin337,75, +CTSPillarNetworkA,338,338,338,1970-12-05,33.500000000000206,33.50006,2015-01-01 00:05:38,bin338,35, +CTSPillarNetworkA,339,339,339,1970-12-06,33.60000000000021,33.60006,2015-01-01 00:05:39,bin339,75, +CTSPillarNetworkA,340,340,340,1970-12-07,33.70000000000021,33.700058,2015-01-01 00:05:40,bin340,35, +CTSPillarNetworkA,341,341,341,1970-12-08,33.80000000000021,33.800056,2015-01-01 00:05:41,bin341,75, +CTSPillarNetworkA,342,342,342,1970-12-09,33.90000000000021,33.900055,2015-01-01 00:05:42,bin342,35, +CTSPillarNetworkA,343,343,343,1970-12-10,34.00000000000021,34.000053,2015-01-01 00:05:43,bin343,75, +CTSPillarNetworkA,344,344,344,1970-12-11,34.100000000000215,34.10005,2015-01-01 00:05:44,bin344,35, +CTSPillarNetworkA,345,345,345,1970-12-12,34.200000000000216,34.20005,2015-01-01 00:05:45,bin345,75, +CTSPillarNetworkA,346,346,346,1970-12-13,34.30000000000022,34.30005,2015-01-01 00:05:46,bin346,35, +CTSPillarNetworkA,347,347,347,1970-12-14,34.40000000000022,34.400047,2015-01-01 00:05:47,bin347,75, +CTSPillarNetworkA,348,348,348,1970-12-15,34.50000000000022,34.500046,2015-01-01 00:05:48,bin348,35, +CTSPillarNetworkA,349,349,349,1970-12-16,34.60000000000022,34.600044,2015-01-01 00:05:49,bin349,75, +CTSPillarNetworkA,350,350,350,1970-12-17,34.70000000000022,34.700043,2015-01-01 00:05:50,bin350,35, +CTSPillarNetworkA,351,351,351,1970-12-18,34.800000000000225,34.80004,2015-01-01 00:05:51,bin351,75, +CTSPillarNetworkA,352,352,352,1970-12-19,34.900000000000226,34.90004,2015-01-01 00:05:52,bin352,35, +CTSPillarNetworkA,353,353,353,1970-12-20,35.00000000000023,35.00004,2015-01-01 00:05:53,bin353,75, +CTSPillarNetworkA,354,354,354,1970-12-21,35.10000000000023,35.100037,2015-01-01 00:05:54,bin354,35, +CTSPillarNetworkA,355,355,355,1970-12-22,35.20000000000023,35.200035,2015-01-01 00:05:55,bin355,75, +CTSPillarNetworkA,356,356,356,1970-12-23,35.30000000000023,35.300034,2015-01-01 00:05:56,bin356,35, +CTSPillarNetworkA,357,357,357,1970-12-24,35.40000000000023,35.400032,2015-01-01 00:05:57,bin357,75, +CTSPillarNetworkA,358,358,358,1970-12-25,35.500000000000234,35.50003,2015-01-01 00:05:58,bin358,35, +CTSPillarNetworkA,359,359,359,1970-12-26,35.600000000000236,35.60003,2015-01-01 00:05:59,bin359,75, +CTSPillarNetworkA,360,360,360,1970-12-27,35.70000000000024,35.700027,2015-01-01 00:06:00,bin360,35, +CTSPillarNetworkA,361,361,361,1970-12-28,35.80000000000024,35.800026,2015-01-01 00:06:01,bin361,75, +CTSPillarNetworkA,362,362,362,1970-12-29,35.90000000000024,35.900024,2015-01-01 00:06:02,bin362,35, +CTSPillarNetworkA,363,363,363,1970-12-30,36.00000000000024,36.000023,2015-01-01 00:06:03,bin363,75, +CTSPillarNetworkA,364,364,364,1970-12-31,36.10000000000024,36.10002,2015-01-01 00:06:04,bin364,35, +CTSPillarNetworkA,365,365,365,1971-01-01,36.200000000000244,36.20002,2015-01-01 00:06:05,bin365,75, +CTSPillarNetworkA,366,366,366,1971-01-02,36.300000000000246,36.30002,2015-01-01 00:06:06,bin366,35, +CTSPillarNetworkA,367,367,367,1971-01-03,36.40000000000025,36.400017,2015-01-01 00:06:07,bin367,75, +CTSPillarNetworkA,368,368,368,1971-01-04,36.50000000000025,36.500015,2015-01-01 00:06:08,bin368,35, +CTSPillarNetworkA,369,369,369,1971-01-05,36.60000000000025,36.600014,2015-01-01 00:06:09,bin369,75, +CTSPillarNetworkA,370,370,370,1971-01-06,36.70000000000025,36.700012,2015-01-01 00:06:10,bin370,35, +CTSPillarNetworkA,371,371,371,1971-01-07,36.80000000000025,36.80001,2015-01-01 00:06:11,bin371,75, +CTSPillarNetworkA,372,372,372,1971-01-08,36.900000000000254,36.90001,2015-01-01 00:06:12,bin372,35, +CTSPillarNetworkA,373,373,373,1971-01-09,37.000000000000256,37.000008,2015-01-01 00:06:13,bin373,75, +CTSPillarNetworkA,374,374,374,1971-01-10,37.10000000000026,37.100006,2015-01-01 00:06:14,bin374,35, +CTSPillarNetworkA,375,375,375,1971-01-11,37.20000000000026,37.200005,2015-01-01 00:06:15,bin375,75, +CTSPillarNetworkA,376,376,376,1971-01-12,37.30000000000026,37.300003,2015-01-01 00:06:16,bin376,35, +CTSPillarNetworkA,377,377,377,1971-01-13,37.40000000000026,37.4,2015-01-01 00:06:17,bin377,75, +CTSPillarNetworkA,378,378,378,1971-01-14,37.50000000000026,37.5,2015-01-01 00:06:18,bin378,35, +CTSPillarNetworkA,379,379,379,1971-01-15,37.600000000000264,37.6,2015-01-01 00:06:19,bin379,75, +CTSPillarNetworkA,380,380,380,1971-01-16,37.700000000000266,37.699997,2015-01-01 00:06:20,bin380,35, +CTSPillarNetworkA,381,381,381,1971-01-17,37.80000000000027,37.799995,2015-01-01 00:06:21,bin381,75, +CTSPillarNetworkA,382,382,382,1971-01-18,37.90000000000027,37.899994,2015-01-01 00:06:22,bin382,35, +CTSPillarNetworkA,383,383,383,1971-01-19,38.00000000000027,37.999992,2015-01-01 00:06:23,bin383,75, +CTSPillarNetworkA,384,384,384,1971-01-20,38.10000000000027,38.09999,2015-01-01 00:06:24,bin384,35, +CTSPillarNetworkA,385,385,385,1971-01-21,38.20000000000027,38.19999,2015-01-01 00:06:25,bin385,75, +CTSPillarNetworkA,386,386,386,1971-01-22,38.300000000000274,38.299988,2015-01-01 00:06:26,bin386,35, +CTSPillarNetworkA,387,387,387,1971-01-23,38.400000000000276,38.399986,2015-01-01 00:06:27,bin387,75, +CTSPillarNetworkA,388,388,388,1971-01-24,38.50000000000028,38.499985,2015-01-01 00:06:28,bin388,35, +CTSPillarNetworkA,389,389,389,1971-01-25,38.60000000000028,38.599983,2015-01-01 00:06:29,bin389,75, +CTSPillarNetworkA,390,390,390,1971-01-26,38.70000000000028,38.69998,2015-01-01 00:06:30,bin390,35, +CTSPillarNetworkA,391,391,391,1971-01-27,38.80000000000028,38.79998,2015-01-01 00:06:31,bin391,75, +CTSPillarNetworkA,392,392,392,1971-01-28,38.90000000000028,38.89998,2015-01-01 00:06:32,bin392,35, +CTSPillarNetworkA,393,393,393,1971-01-29,39.000000000000284,38.999977,2015-01-01 00:06:33,bin393,75, +CTSPillarNetworkA,394,394,394,1971-01-30,39.100000000000286,39.099976,2015-01-01 00:06:34,bin394,35, +CTSPillarNetworkA,395,395,395,1971-01-31,39.20000000000029,39.199974,2015-01-01 00:06:35,bin395,75, +CTSPillarNetworkA,396,396,396,1971-02-01,39.30000000000029,39.299973,2015-01-01 00:06:36,bin396,35, +CTSPillarNetworkA,397,397,397,1971-02-02,39.40000000000029,39.39997,2015-01-01 00:06:37,bin397,75, +CTSPillarNetworkA,398,398,398,1971-02-03,39.50000000000029,39.49997,2015-01-01 00:06:38,bin398,35, +CTSPillarNetworkA,399,399,399,1971-02-04,39.60000000000029,39.599968,2015-01-01 00:06:39,bin399,75, +CTSPillarNetworkA,400,400,400,1971-02-05,39.700000000000294,39.699966,2015-01-01 00:06:40,bin400,35, +CTSPillarNetworkA,401,401,401,1971-02-06,39.800000000000296,39.799965,2015-01-01 00:06:41,bin401,75, +CTSPillarNetworkA,402,402,402,1971-02-07,39.9000000000003,39.899963,2015-01-01 00:06:42,bin402,35, +CTSPillarNetworkA,403,403,403,1971-02-08,40.0000000000003,39.99996,2015-01-01 00:06:43,bin403,75, +CTSPillarNetworkA,404,404,404,1971-02-09,40.1000000000003,40.09996,2015-01-01 00:06:44,bin404,35, +CTSPillarNetworkA,405,405,405,1971-02-10,40.2000000000003,40.19996,2015-01-01 00:06:45,bin405,75, +CTSPillarNetworkA,406,406,406,1971-02-11,40.3000000000003,40.299957,2015-01-01 00:06:46,bin406,35, +CTSPillarNetworkA,407,407,407,1971-02-12,40.400000000000304,40.399956,2015-01-01 00:06:47,bin407,75, +CTSPillarNetworkA,408,408,408,1971-02-13,40.500000000000306,40.499954,2015-01-01 00:06:48,bin408,35, +CTSPillarNetworkA,409,409,409,1971-02-14,40.60000000000031,40.599953,2015-01-01 00:06:49,bin409,75, +CTSPillarNetworkA,410,410,410,1971-02-15,40.70000000000031,40.69995,2015-01-01 00:06:50,bin410,35, +CTSPillarNetworkA,411,411,411,1971-02-16,40.80000000000031,40.79995,2015-01-01 00:06:51,bin411,75, +CTSPillarNetworkA,412,412,412,1971-02-17,40.90000000000031,40.89995,2015-01-01 00:06:52,bin412,35, +CTSPillarNetworkA,413,413,413,1971-02-18,41.00000000000031,40.999947,2015-01-01 00:06:53,bin413,75, +CTSPillarNetworkA,414,414,414,1971-02-19,41.100000000000314,41.099945,2015-01-01 00:06:54,bin414,35, +CTSPillarNetworkA,415,415,415,1971-02-20,41.200000000000315,41.199944,2015-01-01 00:06:55,bin415,75, +CTSPillarNetworkA,416,416,416,1971-02-21,41.30000000000032,41.299942,2015-01-01 00:06:56,bin416,35, +CTSPillarNetworkA,417,417,417,1971-02-22,41.40000000000032,41.39994,2015-01-01 00:06:57,bin417,75, +CTSPillarNetworkA,418,418,418,1971-02-23,41.50000000000032,41.49994,2015-01-01 00:06:58,bin418,35, +CTSPillarNetworkA,419,419,419,1971-02-24,41.60000000000032,41.599937,2015-01-01 00:06:59,bin419,75, +CTSPillarNetworkA,420,420,420,1971-02-25,41.70000000000032,41.699936,2015-01-01 00:07:00,bin420,35, +CTSPillarNetworkA,421,421,421,1971-02-26,41.800000000000324,41.799934,2015-01-01 00:07:01,bin421,75, +CTSPillarNetworkA,422,422,422,1971-02-27,41.900000000000325,41.899933,2015-01-01 00:07:02,bin422,35, +CTSPillarNetworkA,423,423,423,1971-02-28,42.00000000000033,41.99993,2015-01-01 00:07:03,bin423,75, +CTSPillarNetworkA,424,424,424,1971-03-01,42.10000000000033,42.09993,2015-01-01 00:07:04,bin424,35, +CTSPillarNetworkA,425,425,425,1971-03-02,42.20000000000033,42.19993,2015-01-01 00:07:05,bin425,75, +CTSPillarNetworkA,426,426,426,1971-03-03,42.30000000000033,42.299927,2015-01-01 00:07:06,bin426,35, +CTSPillarNetworkA,427,427,427,1971-03-04,42.40000000000033,42.399925,2015-01-01 00:07:07,bin427,75, +CTSPillarNetworkA,428,428,428,1971-03-05,42.500000000000334,42.499924,2015-01-01 00:07:08,bin428,35, +CTSPillarNetworkA,429,429,429,1971-03-06,42.600000000000335,42.599922,2015-01-01 00:07:09,bin429,75, +CTSPillarNetworkA,430,430,430,1971-03-07,42.70000000000034,42.69992,2015-01-01 00:07:10,bin430,35, +CTSPillarNetworkA,431,431,431,1971-03-08,42.80000000000034,42.79992,2015-01-01 00:07:11,bin431,75, +CTSPillarNetworkA,432,432,432,1971-03-09,42.90000000000034,42.899918,2015-01-01 00:07:12,bin432,35, +CTSPillarNetworkA,433,433,433,1971-03-10,43.00000000000034,42.999916,2015-01-01 00:07:13,bin433,75, +CTSPillarNetworkA,434,434,434,1971-03-11,43.10000000000034,43.099915,2015-01-01 00:07:14,bin434,35, +CTSPillarNetworkA,435,435,435,1971-03-12,43.200000000000344,43.199913,2015-01-01 00:07:15,bin435,75, +CTSPillarNetworkA,436,436,436,1971-03-13,43.300000000000345,43.29991,2015-01-01 00:07:16,bin436,35, +CTSPillarNetworkA,437,437,437,1971-03-14,43.40000000000035,43.39991,2015-01-01 00:07:17,bin437,75, +CTSPillarNetworkA,438,438,438,1971-03-15,43.50000000000035,43.49991,2015-01-01 00:07:18,bin438,35, +CTSPillarNetworkA,439,439,439,1971-03-16,43.60000000000035,43.599907,2015-01-01 00:07:19,bin439,75, +CTSPillarNetworkA,440,440,440,1971-03-17,43.70000000000035,43.699905,2015-01-01 00:07:20,bin440,35, +CTSPillarNetworkA,441,441,441,1971-03-18,43.80000000000035,43.799904,2015-01-01 00:07:21,bin441,75, +CTSPillarNetworkA,442,442,442,1971-03-19,43.900000000000354,43.899902,2015-01-01 00:07:22,bin442,35, +CTSPillarNetworkA,443,443,443,1971-03-20,44.000000000000355,43.9999,2015-01-01 00:07:23,bin443,75, +CTSPillarNetworkA,444,444,444,1971-03-21,44.10000000000036,44.0999,2015-01-01 00:07:24,bin444,35, +CTSPillarNetworkA,445,445,445,1971-03-22,44.20000000000036,44.199898,2015-01-01 00:07:25,bin445,75, +CTSPillarNetworkA,446,446,446,1971-03-23,44.30000000000036,44.299896,2015-01-01 00:07:26,bin446,35, +CTSPillarNetworkA,447,447,447,1971-03-24,44.40000000000036,44.399895,2015-01-01 00:07:27,bin447,75, +CTSPillarNetworkA,448,448,448,1971-03-25,44.50000000000036,44.499893,2015-01-01 00:07:28,bin448,35, +CTSPillarNetworkA,449,449,449,1971-03-26,44.600000000000364,44.59989,2015-01-01 00:07:29,bin449,75, +CTSPillarNetworkA,450,450,450,1971-03-27,44.700000000000365,44.69989,2015-01-01 00:07:30,bin450,35, +CTSPillarNetworkA,451,451,451,1971-03-28,44.80000000000037,44.79989,2015-01-01 00:07:31,bin451,75, +CTSPillarNetworkA,452,452,452,1971-03-29,44.90000000000037,44.899887,2015-01-01 00:07:32,bin452,35, +CTSPillarNetworkA,453,453,453,1971-03-30,45.00000000000037,44.999886,2015-01-01 00:07:33,bin453,75, +CTSPillarNetworkA,454,454,454,1971-03-31,45.10000000000037,45.099884,2015-01-01 00:07:34,bin454,35, +CTSPillarNetworkA,455,455,455,1971-04-01,45.20000000000037,45.199883,2015-01-01 00:07:35,bin455,75, +CTSPillarNetworkA,456,456,456,1971-04-02,45.300000000000374,45.29988,2015-01-01 00:07:36,bin456,35, +CTSPillarNetworkA,457,457,457,1971-04-03,45.400000000000375,45.39988,2015-01-01 00:07:37,bin457,75, +CTSPillarNetworkA,458,458,458,1971-04-04,45.50000000000038,45.499878,2015-01-01 00:07:38,bin458,35, +CTSPillarNetworkA,459,459,459,1971-04-05,45.60000000000038,45.599876,2015-01-01 00:07:39,bin459,75, +CTSPillarNetworkA,460,460,460,1971-04-06,45.70000000000038,45.699875,2015-01-01 00:07:40,bin460,35, +CTSPillarNetworkA,461,461,461,1971-04-07,45.80000000000038,45.799873,2015-01-01 00:07:41,bin461,75, +CTSPillarNetworkA,462,462,462,1971-04-08,45.90000000000038,45.89987,2015-01-01 00:07:42,bin462,35, +CTSPillarNetworkA,463,463,463,1971-04-09,46.000000000000384,45.99987,2015-01-01 00:07:43,bin463,75, +CTSPillarNetworkA,464,464,464,1971-04-10,46.100000000000385,46.09987,2015-01-01 00:07:44,bin464,35, +CTSPillarNetworkA,465,465,465,1971-04-11,46.20000000000039,46.199867,2015-01-01 00:07:45,bin465,75, +CTSPillarNetworkA,466,466,466,1971-04-12,46.30000000000039,46.299866,2015-01-01 00:07:46,bin466,35, +CTSPillarNetworkA,467,467,467,1971-04-13,46.40000000000039,46.399864,2015-01-01 00:07:47,bin467,75, +CTSPillarNetworkA,468,468,468,1971-04-14,46.50000000000039,46.499863,2015-01-01 00:07:48,bin468,35, +CTSPillarNetworkA,469,469,469,1971-04-15,46.60000000000039,46.59986,2015-01-01 00:07:49,bin469,75, +CTSPillarNetworkA,470,470,470,1971-04-16,46.700000000000394,46.69986,2015-01-01 00:07:50,bin470,35, +CTSPillarNetworkA,471,471,471,1971-04-17,46.800000000000395,46.79986,2015-01-01 00:07:51,bin471,75, +CTSPillarNetworkA,472,472,472,1971-04-18,46.9000000000004,46.899857,2015-01-01 00:07:52,bin472,35, +CTSPillarNetworkA,473,473,473,1971-04-19,47.0000000000004,46.999855,2015-01-01 00:07:53,bin473,75, +CTSPillarNetworkA,474,474,474,1971-04-20,47.1000000000004,47.099854,2015-01-01 00:07:54,bin474,35, +CTSPillarNetworkA,475,475,475,1971-04-21,47.2000000000004,47.199852,2015-01-01 00:07:55,bin475,75, +CTSPillarNetworkA,476,476,476,1971-04-22,47.3000000000004,47.29985,2015-01-01 00:07:56,bin476,35, +CTSPillarNetworkA,477,477,477,1971-04-23,47.400000000000404,47.39985,2015-01-01 00:07:57,bin477,75, +CTSPillarNetworkA,478,478,478,1971-04-24,47.500000000000405,47.499847,2015-01-01 00:07:58,bin478,35, +CTSPillarNetworkA,479,479,479,1971-04-25,47.600000000000406,47.599846,2015-01-01 00:07:59,bin479,75, +CTSPillarNetworkA,480,480,480,1971-04-26,47.70000000000041,47.699844,2015-01-01 00:08:00,bin480,35, +CTSPillarNetworkA,481,481,481,1971-04-27,47.80000000000041,47.799843,2015-01-01 00:08:01,bin481,75, +CTSPillarNetworkA,482,482,482,1971-04-28,47.90000000000041,47.89984,2015-01-01 00:08:02,bin482,35, +CTSPillarNetworkA,483,483,483,1971-04-29,48.00000000000041,47.99984,2015-01-01 00:08:03,bin483,75, +CTSPillarNetworkA,484,484,484,1971-04-30,48.10000000000041,48.09984,2015-01-01 00:08:04,bin484,35, +CTSPillarNetworkA,485,485,485,1971-05-01,48.200000000000415,48.199837,2015-01-01 00:08:05,bin485,75, +CTSPillarNetworkA,486,486,486,1971-05-02,48.300000000000416,48.299835,2015-01-01 00:08:06,bin486,35, +CTSPillarNetworkA,487,487,487,1971-05-03,48.40000000000042,48.399834,2015-01-01 00:08:07,bin487,75, +CTSPillarNetworkA,488,488,488,1971-05-04,48.50000000000042,48.499832,2015-01-01 00:08:08,bin488,35, +CTSPillarNetworkA,489,489,489,1971-05-05,48.60000000000042,48.59983,2015-01-01 00:08:09,bin489,75, +CTSPillarNetworkA,490,490,490,1971-05-06,48.70000000000042,48.69983,2015-01-01 00:08:10,bin490,35, +CTSPillarNetworkA,491,491,491,1971-05-07,48.80000000000042,48.799828,2015-01-01 00:08:11,bin491,75, +CTSPillarNetworkA,492,492,492,1971-05-08,48.900000000000425,48.899826,2015-01-01 00:08:12,bin492,35, +CTSPillarNetworkA,493,493,493,1971-05-09,49.000000000000426,48.999825,2015-01-01 00:08:13,bin493,75, +CTSPillarNetworkA,494,494,494,1971-05-10,49.10000000000043,49.099823,2015-01-01 00:08:14,bin494,35, +CTSPillarNetworkA,495,495,495,1971-05-11,49.20000000000043,49.19982,2015-01-01 00:08:15,bin495,75, +CTSPillarNetworkA,496,496,496,1971-05-12,49.30000000000043,49.29982,2015-01-01 00:08:16,bin496,35, +CTSPillarNetworkA,497,497,497,1971-05-13,49.40000000000043,49.39982,2015-01-01 00:08:17,bin497,75, +CTSPillarNetworkA,498,498,498,1971-05-14,49.50000000000043,49.499817,2015-01-01 00:08:18,bin498,35, +CTSPillarNetworkA,499,499,499,1971-05-15,49.600000000000435,49.599815,2015-01-01 00:08:19,bin499,75, +CTSPillarNetworkA,500,500,500,1971-05-16,49.700000000000436,49.699814,2015-01-01 00:08:20,bin500,35, +CTSPillarNetworkA,501,501,501,1971-05-17,49.80000000000044,49.799812,2015-01-01 00:08:21,bin501,75, +CTSPillarNetworkA,502,502,502,1971-05-18,49.90000000000044,49.89981,2015-01-01 00:08:22,bin502,35, +CTSPillarNetworkA,503,503,503,1971-05-19,50.00000000000044,49.99981,2015-01-01 00:08:23,bin503,75, +CTSPillarNetworkA,504,504,504,1971-05-20,50.10000000000044,50.099808,2015-01-01 00:08:24,bin504,35, +CTSPillarNetworkA,505,505,505,1971-05-21,50.20000000000044,50.199806,2015-01-01 00:08:25,bin505,75, +CTSPillarNetworkA,506,506,506,1971-05-22,50.300000000000445,50.299805,2015-01-01 00:08:26,bin506,35, +CTSPillarNetworkA,507,507,507,1971-05-23,50.400000000000446,50.399803,2015-01-01 00:08:27,bin507,75, +CTSPillarNetworkA,508,508,508,1971-05-24,50.50000000000045,50.4998,2015-01-01 00:08:28,bin508,35, +CTSPillarNetworkA,509,509,509,1971-05-25,50.60000000000045,50.5998,2015-01-01 00:08:29,bin509,75, +CTSPillarNetworkA,510,510,510,1971-05-26,50.70000000000045,50.6998,2015-01-01 00:08:30,bin510,35, +CTSPillarNetworkA,511,511,511,1971-05-27,50.80000000000045,50.799797,2015-01-01 00:08:31,bin511,75, +CTSPillarNetworkA,512,512,512,1971-05-28,50.90000000000045,50.899796,2015-01-01 00:08:32,bin512,35, +CTSPillarNetworkA,513,513,513,1971-05-29,51.000000000000455,50.999794,2015-01-01 00:08:33,bin513,75, +CTSPillarNetworkA,514,514,514,1971-05-30,51.100000000000456,51.099792,2015-01-01 00:08:34,bin514,35, +CTSPillarNetworkA,515,515,515,1971-05-31,51.20000000000046,51.19979,2015-01-01 00:08:35,bin515,75, +CTSPillarNetworkA,516,516,516,1971-06-01,51.30000000000046,51.29979,2015-01-01 00:08:36,bin516,35, +CTSPillarNetworkA,517,517,517,1971-06-02,51.40000000000046,51.399788,2015-01-01 00:08:37,bin517,75, +CTSPillarNetworkA,518,518,518,1971-06-03,51.50000000000046,51.499786,2015-01-01 00:08:38,bin518,35, +CTSPillarNetworkA,519,519,519,1971-06-04,51.60000000000046,51.599785,2015-01-01 00:08:39,bin519,75, +CTSPillarNetworkA,520,520,520,1971-06-05,51.700000000000465,51.699783,2015-01-01 00:08:40,bin520,35, +CTSPillarNetworkA,521,521,521,1971-06-06,51.800000000000466,51.79978,2015-01-01 00:08:41,bin521,75, +CTSPillarNetworkA,522,522,522,1971-06-07,51.90000000000047,51.89978,2015-01-01 00:08:42,bin522,35, +CTSPillarNetworkA,523,523,523,1971-06-08,52.00000000000047,51.99978,2015-01-01 00:08:43,bin523,75, +CTSPillarNetworkA,524,524,524,1971-06-09,52.10000000000047,52.099777,2015-01-01 00:08:44,bin524,35, +CTSPillarNetworkA,525,525,525,1971-06-10,52.20000000000047,52.199776,2015-01-01 00:08:45,bin525,75, +CTSPillarNetworkA,526,526,526,1971-06-11,52.30000000000047,52.299774,2015-01-01 00:08:46,bin526,35, +CTSPillarNetworkA,527,527,527,1971-06-12,52.400000000000475,52.399773,2015-01-01 00:08:47,bin527,75, +CTSPillarNetworkA,528,528,528,1971-06-13,52.500000000000476,52.49977,2015-01-01 00:08:48,bin528,35, +CTSPillarNetworkA,529,529,529,1971-06-14,52.60000000000048,52.59977,2015-01-01 00:08:49,bin529,75, +CTSPillarNetworkA,530,530,530,1971-06-15,52.70000000000048,52.699768,2015-01-01 00:08:50,bin530,35, +CTSPillarNetworkA,531,531,531,1971-06-16,52.80000000000048,52.799767,2015-01-01 00:08:51,bin531,75, +CTSPillarNetworkA,532,532,532,1971-06-17,52.90000000000048,52.899765,2015-01-01 00:08:52,bin532,35, +CTSPillarNetworkA,533,533,533,1971-06-18,53.00000000000048,52.999763,2015-01-01 00:08:53,bin533,75, +CTSPillarNetworkA,534,534,534,1971-06-19,53.100000000000485,53.099762,2015-01-01 00:08:54,bin534,35, +CTSPillarNetworkA,535,535,535,1971-06-20,53.200000000000486,53.19976,2015-01-01 00:08:55,bin535,75, +CTSPillarNetworkA,536,536,536,1971-06-21,53.30000000000049,53.29976,2015-01-01 00:08:56,bin536,35, +CTSPillarNetworkA,537,537,537,1971-06-22,53.40000000000049,53.399757,2015-01-01 00:08:57,bin537,75, +CTSPillarNetworkA,538,538,538,1971-06-23,53.50000000000049,53.499756,2015-01-01 00:08:58,bin538,35, +CTSPillarNetworkA,539,539,539,1971-06-24,53.60000000000049,53.599754,2015-01-01 00:08:59,bin539,75, +CTSPillarNetworkA,540,540,540,1971-06-25,53.70000000000049,53.699753,2015-01-01 00:09:00,bin540,35, +CTSPillarNetworkA,541,541,541,1971-06-26,53.800000000000495,53.79975,2015-01-01 00:09:01,bin541,75, +CTSPillarNetworkA,542,542,542,1971-06-27,53.900000000000496,53.89975,2015-01-01 00:09:02,bin542,35, +CTSPillarNetworkA,543,543,543,1971-06-28,54.0000000000005,53.99975,2015-01-01 00:09:03,bin543,75, +CTSPillarNetworkA,544,544,544,1971-06-29,54.1000000000005,54.099747,2015-01-01 00:09:04,bin544,35, +CTSPillarNetworkA,545,545,545,1971-06-30,54.2000000000005,54.199745,2015-01-01 00:09:05,bin545,75, +CTSPillarNetworkA,546,546,546,1971-07-01,54.3000000000005,54.299744,2015-01-01 00:09:06,bin546,35, +CTSPillarNetworkA,547,547,547,1971-07-02,54.4000000000005,54.399742,2015-01-01 00:09:07,bin547,75, +CTSPillarNetworkA,548,548,548,1971-07-03,54.500000000000504,54.49974,2015-01-01 00:09:08,bin548,35, +CTSPillarNetworkA,549,549,549,1971-07-04,54.600000000000506,54.59974,2015-01-01 00:09:09,bin549,75, +CTSPillarNetworkA,550,550,550,1971-07-05,54.70000000000051,54.699738,2015-01-01 00:09:10,bin550,35, +CTSPillarNetworkA,551,551,551,1971-07-06,54.80000000000051,54.799736,2015-01-01 00:09:11,bin551,75, +CTSPillarNetworkA,552,552,552,1971-07-07,54.90000000000051,54.899734,2015-01-01 00:09:12,bin552,35, +CTSPillarNetworkA,553,553,553,1971-07-08,55.00000000000051,54.999733,2015-01-01 00:09:13,bin553,75, +CTSPillarNetworkA,554,554,554,1971-07-09,55.10000000000051,55.09973,2015-01-01 00:09:14,bin554,35, +CTSPillarNetworkA,555,555,555,1971-07-10,55.200000000000514,55.19973,2015-01-01 00:09:15,bin555,75, +CTSPillarNetworkA,556,556,556,1971-07-11,55.300000000000516,55.29973,2015-01-01 00:09:16,bin556,35, +CTSPillarNetworkA,557,557,557,1971-07-12,55.40000000000052,55.399727,2015-01-01 00:09:17,bin557,75, +CTSPillarNetworkA,558,558,558,1971-07-13,55.50000000000052,55.499725,2015-01-01 00:09:18,bin558,35, +CTSPillarNetworkA,559,559,559,1971-07-14,55.60000000000052,55.599724,2015-01-01 00:09:19,bin559,75, +CTSPillarNetworkA,560,560,560,1971-07-15,55.70000000000052,55.699722,2015-01-01 00:09:20,bin560,35, +CTSPillarNetworkA,561,561,561,1971-07-16,55.80000000000052,55.79972,2015-01-01 00:09:21,bin561,75, +CTSPillarNetworkA,562,562,562,1971-07-17,55.900000000000524,55.89972,2015-01-01 00:09:22,bin562,35, +CTSPillarNetworkA,563,563,563,1971-07-18,56.000000000000526,55.999718,2015-01-01 00:09:23,bin563,75, +CTSPillarNetworkA,564,564,564,1971-07-19,56.10000000000053,56.099716,2015-01-01 00:09:24,bin564,35, +CTSPillarNetworkA,565,565,565,1971-07-20,56.20000000000053,56.199715,2015-01-01 00:09:25,bin565,75, +CTSPillarNetworkA,566,566,566,1971-07-21,56.30000000000053,56.299713,2015-01-01 00:09:26,bin566,35, +CTSPillarNetworkA,567,567,567,1971-07-22,56.40000000000053,56.39971,2015-01-01 00:09:27,bin567,75, +CTSPillarNetworkA,568,568,568,1971-07-23,56.50000000000053,56.49971,2015-01-01 00:09:28,bin568,35, +CTSPillarNetworkA,569,569,569,1971-07-24,56.600000000000534,56.59971,2015-01-01 00:09:29,bin569,75, +CTSPillarNetworkA,570,570,570,1971-07-25,56.700000000000536,56.699707,2015-01-01 00:09:30,bin570,35, +CTSPillarNetworkA,571,571,571,1971-07-26,56.80000000000054,56.799706,2015-01-01 00:09:31,bin571,75, +CTSPillarNetworkA,572,572,572,1971-07-27,56.90000000000054,56.899704,2015-01-01 00:09:32,bin572,35, +CTSPillarNetworkA,573,573,573,1971-07-28,57.00000000000054,56.999702,2015-01-01 00:09:33,bin573,75, +CTSPillarNetworkA,574,574,574,1971-07-29,57.10000000000054,57.0997,2015-01-01 00:09:34,bin574,35, +CTSPillarNetworkA,575,575,575,1971-07-30,57.20000000000054,57.1997,2015-01-01 00:09:35,bin575,75, +CTSPillarNetworkA,576,576,576,1971-07-31,57.300000000000544,57.299698,2015-01-01 00:09:36,bin576,35, +CTSPillarNetworkA,577,577,577,1971-08-01,57.400000000000546,57.399696,2015-01-01 00:09:37,bin577,75, +CTSPillarNetworkA,578,578,578,1971-08-02,57.50000000000055,57.499695,2015-01-01 00:09:38,bin578,35, +CTSPillarNetworkA,579,579,579,1971-08-03,57.60000000000055,57.599693,2015-01-01 00:09:39,bin579,75, +CTSPillarNetworkA,580,580,580,1971-08-04,57.70000000000055,57.69969,2015-01-01 00:09:40,bin580,35, +CTSPillarNetworkA,581,581,581,1971-08-05,57.80000000000055,57.79969,2015-01-01 00:09:41,bin581,75, +CTSPillarNetworkA,582,582,582,1971-08-06,57.90000000000055,57.89969,2015-01-01 00:09:42,bin582,35, +CTSPillarNetworkA,583,583,583,1971-08-07,58.000000000000554,57.999687,2015-01-01 00:09:43,bin583,75, +CTSPillarNetworkA,584,584,584,1971-08-08,58.100000000000556,58.099686,2015-01-01 00:09:44,bin584,35, +CTSPillarNetworkA,585,585,585,1971-08-09,58.20000000000056,58.199684,2015-01-01 00:09:45,bin585,75, +CTSPillarNetworkA,586,586,586,1971-08-10,58.30000000000056,58.299683,2015-01-01 00:09:46,bin586,35, +CTSPillarNetworkA,587,587,587,1971-08-11,58.40000000000056,58.39968,2015-01-01 00:09:47,bin587,75, +CTSPillarNetworkA,588,588,588,1971-08-12,58.50000000000056,58.49968,2015-01-01 00:09:48,bin588,35, +CTSPillarNetworkA,589,589,589,1971-08-13,58.60000000000056,58.599678,2015-01-01 00:09:49,bin589,75, +CTSPillarNetworkA,590,590,590,1971-08-14,58.700000000000564,58.699677,2015-01-01 00:09:50,bin590,35, +CTSPillarNetworkA,591,591,591,1971-08-15,58.800000000000566,58.799675,2015-01-01 00:09:51,bin591,75, +CTSPillarNetworkA,592,592,592,1971-08-16,58.90000000000057,58.899673,2015-01-01 00:09:52,bin592,35, +CTSPillarNetworkA,593,593,593,1971-08-17,59.00000000000057,58.999672,2015-01-01 00:09:53,bin593,75, +CTSPillarNetworkA,594,594,594,1971-08-18,59.10000000000057,59.09967,2015-01-01 00:09:54,bin594,35, +CTSPillarNetworkA,595,595,595,1971-08-19,59.20000000000057,59.19967,2015-01-01 00:09:55,bin595,75, +CTSPillarNetworkA,596,596,596,1971-08-20,59.30000000000057,59.299667,2015-01-01 00:09:56,bin596,35, +CTSPillarNetworkA,597,597,597,1971-08-21,59.400000000000574,59.399666,2015-01-01 00:09:57,bin597,75, +CTSPillarNetworkA,598,598,598,1971-08-22,59.500000000000576,59.499664,2015-01-01 00:09:58,bin598,35, +CTSPillarNetworkA,599,599,599,1971-08-23,59.60000000000058,59.599663,2015-01-01 00:09:59,bin599,75, +CTSPillarNetworkA,600,600,600,1971-08-24,59.70000000000058,59.69966,2015-01-01 00:10:00,bin600,35, +CTSPillarNetworkA,601,601,601,1971-08-25,59.80000000000058,59.79966,2015-01-01 00:10:01,bin601,75, +CTSPillarNetworkA,602,602,602,1971-08-26,59.90000000000058,59.89966,2015-01-01 00:10:02,bin602,35, +CTSPillarNetworkA,603,603,603,1971-08-27,60.00000000000058,59.999657,2015-01-01 00:10:03,bin603,75, +CTSPillarNetworkA,604,604,604,1971-08-28,60.100000000000584,60.099655,2015-01-01 00:10:04,bin604,35, +CTSPillarNetworkA,605,605,605,1971-08-29,60.200000000000585,60.199654,2015-01-01 00:10:05,bin605,75, +CTSPillarNetworkA,606,606,606,1971-08-30,60.30000000000059,60.299652,2015-01-01 00:10:06,bin606,35, +CTSPillarNetworkA,607,607,607,1971-08-31,60.40000000000059,60.39965,2015-01-01 00:10:07,bin607,75, +CTSPillarNetworkA,608,608,608,1971-09-01,60.50000000000059,60.49965,2015-01-01 00:10:08,bin608,35, +CTSPillarNetworkA,609,609,609,1971-09-02,60.60000000000059,60.599648,2015-01-01 00:10:09,bin609,75, +CTSPillarNetworkA,610,610,610,1971-09-03,60.70000000000059,60.699646,2015-01-01 00:10:10,bin610,35, +CTSPillarNetworkA,611,611,611,1971-09-04,60.800000000000594,60.799644,2015-01-01 00:10:11,bin611,75, +CTSPillarNetworkA,612,612,612,1971-09-05,60.900000000000595,60.899643,2015-01-01 00:10:12,bin612,35, +CTSPillarNetworkA,613,613,613,1971-09-06,61.0000000000006,60.99964,2015-01-01 00:10:13,bin613,75, +CTSPillarNetworkA,614,614,614,1971-09-07,61.1000000000006,61.09964,2015-01-01 00:10:14,bin614,35, +CTSPillarNetworkA,615,615,615,1971-09-08,61.2000000000006,61.19964,2015-01-01 00:10:15,bin615,75, +CTSPillarNetworkA,616,616,616,1971-09-09,61.3000000000006,61.299637,2015-01-01 00:10:16,bin616,35, +CTSPillarNetworkA,617,617,617,1971-09-10,61.4000000000006,61.399635,2015-01-01 00:10:17,bin617,75, +CTSPillarNetworkA,618,618,618,1971-09-11,61.500000000000604,61.499634,2015-01-01 00:10:18,bin618,35, +CTSPillarNetworkA,619,619,619,1971-09-12,61.600000000000605,61.599632,2015-01-01 00:10:19,bin619,75, +CTSPillarNetworkA,620,620,620,1971-09-13,61.70000000000061,61.69963,2015-01-01 00:10:20,bin620,35, +CTSPillarNetworkA,621,621,621,1971-09-14,61.80000000000061,61.79963,2015-01-01 00:10:21,bin621,75, +CTSPillarNetworkA,622,622,622,1971-09-15,61.90000000000061,61.899628,2015-01-01 00:10:22,bin622,35, +CTSPillarNetworkA,623,623,623,1971-09-16,62.00000000000061,61.999626,2015-01-01 00:10:23,bin623,75, +CTSPillarNetworkA,624,624,624,1971-09-17,62.10000000000061,62.099625,2015-01-01 00:10:24,bin624,35, +CTSPillarNetworkA,625,625,625,1971-09-18,62.200000000000614,62.199623,2015-01-01 00:10:25,bin625,75, +CTSPillarNetworkA,626,626,626,1971-09-19,62.300000000000615,62.29962,2015-01-01 00:10:26,bin626,35, +CTSPillarNetworkA,627,627,627,1971-09-20,62.40000000000062,62.39962,2015-01-01 00:10:27,bin627,75, +CTSPillarNetworkA,628,628,628,1971-09-21,62.50000000000062,62.49962,2015-01-01 00:10:28,bin628,35, +CTSPillarNetworkA,629,629,629,1971-09-22,62.60000000000062,62.599617,2015-01-01 00:10:29,bin629,75, +CTSPillarNetworkA,630,630,630,1971-09-23,62.70000000000062,62.699615,2015-01-01 00:10:30,bin630,35, +CTSPillarNetworkA,631,631,631,1971-09-24,62.80000000000062,62.799614,2015-01-01 00:10:31,bin631,75, +CTSPillarNetworkA,632,632,632,1971-09-25,62.900000000000624,62.899612,2015-01-01 00:10:32,bin632,35, +CTSPillarNetworkA,633,633,633,1971-09-26,63.000000000000625,62.99961,2015-01-01 00:10:33,bin633,75, +CTSPillarNetworkA,634,634,634,1971-09-27,63.10000000000063,63.09961,2015-01-01 00:10:34,bin634,35, +CTSPillarNetworkA,635,635,635,1971-09-28,63.20000000000063,63.199608,2015-01-01 00:10:35,bin635,75, +CTSPillarNetworkA,636,636,636,1971-09-29,63.30000000000063,63.299606,2015-01-01 00:10:36,bin636,35, +CTSPillarNetworkA,637,637,637,1971-09-30,63.40000000000063,63.399605,2015-01-01 00:10:37,bin637,75, +CTSPillarNetworkA,638,638,638,1971-10-01,63.50000000000063,63.499603,2015-01-01 00:10:38,bin638,35, +CTSPillarNetworkA,639,639,639,1971-10-02,63.600000000000634,63.5996,2015-01-01 00:10:39,bin639,75, +CTSPillarNetworkA,640,640,640,1971-10-03,63.700000000000635,63.6996,2015-01-01 00:10:40,bin640,35, +CTSPillarNetworkA,641,641,641,1971-10-04,63.80000000000064,63.7996,2015-01-01 00:10:41,bin641,75, +CTSPillarNetworkA,642,642,642,1971-10-05,63.90000000000064,63.899597,2015-01-01 00:10:42,bin642,35, +CTSPillarNetworkA,643,643,643,1971-10-06,64.00000000000064,63.999596,2015-01-01 00:10:43,bin643,75, +CTSPillarNetworkA,644,644,644,1971-10-07,64.10000000000063,64.099594,2015-01-01 00:10:44,bin644,35, +CTSPillarNetworkA,645,645,645,1971-10-08,64.20000000000063,64.19959,2015-01-01 00:10:45,bin645,75, +CTSPillarNetworkA,646,646,646,1971-10-09,64.30000000000062,64.29959,2015-01-01 00:10:46,bin646,35, +CTSPillarNetworkA,647,647,647,1971-10-10,64.40000000000062,64.39959,2015-01-01 00:10:47,bin647,75, +CTSPillarNetworkA,648,648,648,1971-10-11,64.50000000000061,64.49959,2015-01-01 00:10:48,bin648,35, +CTSPillarNetworkA,649,649,649,1971-10-12,64.6000000000006,64.59959,2015-01-01 00:10:49,bin649,75, +CTSPillarNetworkA,650,650,650,1971-10-13,64.7000000000006,64.699585,2015-01-01 00:10:50,bin650,35, +CTSPillarNetworkA,651,651,651,1971-10-14,64.8000000000006,64.79958,2015-01-01 00:10:51,bin651,75, +CTSPillarNetworkA,652,652,652,1971-10-15,64.90000000000059,64.89958,2015-01-01 00:10:52,bin652,35, +CTSPillarNetworkA,653,653,653,1971-10-16,65.00000000000058,64.99958,2015-01-01 00:10:53,bin653,75, +CTSPillarNetworkA,654,654,654,1971-10-17,65.10000000000058,65.09958,2015-01-01 00:10:54,bin654,35, +CTSPillarNetworkA,655,655,655,1971-10-18,65.20000000000057,65.19958,2015-01-01 00:10:55,bin655,75, +CTSPillarNetworkA,656,656,656,1971-10-19,65.30000000000057,65.299576,2015-01-01 00:10:56,bin656,35, +CTSPillarNetworkA,657,657,657,1971-10-20,65.40000000000056,65.399574,2015-01-01 00:10:57,bin657,75, +CTSPillarNetworkA,658,658,658,1971-10-21,65.50000000000055,65.49957,2015-01-01 00:10:58,bin658,35, +CTSPillarNetworkA,659,659,659,1971-10-22,65.60000000000055,65.59957,2015-01-01 00:10:59,bin659,75, +CTSPillarNetworkA,660,660,660,1971-10-23,65.70000000000054,65.69957,2015-01-01 00:11:00,bin660,35, +CTSPillarNetworkA,661,661,661,1971-10-24,65.80000000000054,65.79957,2015-01-01 00:11:01,bin661,75, +CTSPillarNetworkA,662,662,662,1971-10-25,65.90000000000053,65.89957,2015-01-01 00:11:02,bin662,35, +CTSPillarNetworkA,663,663,663,1971-10-26,66.00000000000053,65.999565,2015-01-01 00:11:03,bin663,75, +CTSPillarNetworkA,664,664,664,1971-10-27,66.10000000000052,66.09956,2015-01-01 00:11:04,bin664,35, +CTSPillarNetworkA,665,665,665,1971-10-28,66.20000000000051,66.19956,2015-01-01 00:11:05,bin665,75, +CTSPillarNetworkA,666,666,666,1971-10-29,66.30000000000051,66.29956,2015-01-01 00:11:06,bin666,35, +CTSPillarNetworkA,667,667,667,1971-10-30,66.4000000000005,66.39956,2015-01-01 00:11:07,bin667,75, +CTSPillarNetworkA,668,668,668,1971-10-31,66.5000000000005,66.49956,2015-01-01 00:11:08,bin668,35, +CTSPillarNetworkA,669,669,669,1971-11-01,66.60000000000049,66.599556,2015-01-01 00:11:09,bin669,75, +CTSPillarNetworkA,670,670,670,1971-11-02,66.70000000000049,66.699554,2015-01-01 00:11:10,bin670,35, +CTSPillarNetworkA,671,671,671,1971-11-03,66.80000000000048,66.79955,2015-01-01 00:11:11,bin671,75, +CTSPillarNetworkA,672,672,672,1971-11-04,66.90000000000047,66.89955,2015-01-01 00:11:12,bin672,35, +CTSPillarNetworkA,673,673,673,1971-11-05,67.00000000000047,66.99955,2015-01-01 00:11:13,bin673,75, +CTSPillarNetworkA,674,674,674,1971-11-06,67.10000000000046,67.09955,2015-01-01 00:11:14,bin674,35, +CTSPillarNetworkA,675,675,675,1971-11-07,67.20000000000046,67.19955,2015-01-01 00:11:15,bin675,75, +CTSPillarNetworkA,676,676,676,1971-11-08,67.30000000000045,67.299545,2015-01-01 00:11:16,bin676,35, +CTSPillarNetworkA,677,677,677,1971-11-09,67.40000000000045,67.39954,2015-01-01 00:11:17,bin677,75, +CTSPillarNetworkA,678,678,678,1971-11-10,67.50000000000044,67.49954,2015-01-01 00:11:18,bin678,35, +CTSPillarNetworkA,679,679,679,1971-11-11,67.60000000000043,67.59954,2015-01-01 00:11:19,bin679,75, +CTSPillarNetworkA,680,680,680,1971-11-12,67.70000000000043,67.69954,2015-01-01 00:11:20,bin680,35, +CTSPillarNetworkA,681,681,681,1971-11-13,67.80000000000042,67.79954,2015-01-01 00:11:21,bin681,75, +CTSPillarNetworkA,682,682,682,1971-11-14,67.90000000000042,67.899536,2015-01-01 00:11:22,bin682,35, +CTSPillarNetworkA,683,683,683,1971-11-15,68.00000000000041,67.999535,2015-01-01 00:11:23,bin683,75, +CTSPillarNetworkA,684,684,684,1971-11-16,68.1000000000004,68.09953,2015-01-01 00:11:24,bin684,35, +CTSPillarNetworkA,685,685,685,1971-11-17,68.2000000000004,68.19953,2015-01-01 00:11:25,bin685,75, +CTSPillarNetworkA,686,686,686,1971-11-18,68.3000000000004,68.29953,2015-01-01 00:11:26,bin686,35, +CTSPillarNetworkA,687,687,687,1971-11-19,68.40000000000039,68.39953,2015-01-01 00:11:27,bin687,75, +CTSPillarNetworkA,688,688,688,1971-11-20,68.50000000000038,68.49953,2015-01-01 00:11:28,bin688,35, +CTSPillarNetworkA,689,689,689,1971-11-21,68.60000000000038,68.599525,2015-01-01 00:11:29,bin689,75, +CTSPillarNetworkA,690,690,690,1971-11-22,68.70000000000037,68.699524,2015-01-01 00:11:30,bin690,35, +CTSPillarNetworkA,691,691,691,1971-11-23,68.80000000000037,68.79952,2015-01-01 00:11:31,bin691,75, +CTSPillarNetworkA,692,692,692,1971-11-24,68.90000000000036,68.89952,2015-01-01 00:11:32,bin692,35, +CTSPillarNetworkA,693,693,693,1971-11-25,69.00000000000036,68.99952,2015-01-01 00:11:33,bin693,75, +CTSPillarNetworkA,694,694,694,1971-11-26,69.10000000000035,69.09952,2015-01-01 00:11:34,bin694,35, +CTSPillarNetworkA,695,695,695,1971-11-27,69.20000000000034,69.19952,2015-01-01 00:11:35,bin695,75, +CTSPillarNetworkA,696,696,696,1971-11-28,69.30000000000034,69.299515,2015-01-01 00:11:36,bin696,35, +CTSPillarNetworkA,697,697,697,1971-11-29,69.40000000000033,69.39951,2015-01-01 00:11:37,bin697,75, +CTSPillarNetworkA,698,698,698,1971-11-30,69.50000000000033,69.49951,2015-01-01 00:11:38,bin698,35, +CTSPillarNetworkA,699,699,699,1971-12-01,69.60000000000032,69.59951,2015-01-01 00:11:39,bin699,75, +CTSPillarNetworkA,700,700,700,1971-12-02,69.70000000000032,69.69951,2015-01-01 00:11:40,bin700,35, +CTSPillarNetworkA,701,701,701,1971-12-03,69.80000000000031,69.79951,2015-01-01 00:11:41,bin701,75, +CTSPillarNetworkA,702,702,702,1971-12-04,69.9000000000003,69.899506,2015-01-01 00:11:42,bin702,35, +CTSPillarNetworkA,703,703,703,1971-12-05,70.0000000000003,69.999504,2015-01-01 00:11:43,bin703,75, +CTSPillarNetworkA,704,704,704,1971-12-06,70.10000000000029,70.0995,2015-01-01 00:11:44,bin704,35, +CTSPillarNetworkA,705,705,705,1971-12-07,70.20000000000029,70.1995,2015-01-01 00:11:45,bin705,75, +CTSPillarNetworkA,706,706,706,1971-12-08,70.30000000000028,70.2995,2015-01-01 00:11:46,bin706,35, +CTSPillarNetworkA,707,707,707,1971-12-09,70.40000000000028,70.3995,2015-01-01 00:11:47,bin707,75, +CTSPillarNetworkA,708,708,708,1971-12-10,70.50000000000027,70.4995,2015-01-01 00:11:48,bin708,35, +CTSPillarNetworkA,709,709,709,1971-12-11,70.60000000000026,70.599495,2015-01-01 00:11:49,bin709,75, +CTSPillarNetworkA,710,710,710,1971-12-12,70.70000000000026,70.69949,2015-01-01 00:11:50,bin710,35, +CTSPillarNetworkA,711,711,711,1971-12-13,70.80000000000025,70.79949,2015-01-01 00:11:51,bin711,75, +CTSPillarNetworkA,712,712,712,1971-12-14,70.90000000000025,70.89949,2015-01-01 00:11:52,bin712,35, +CTSPillarNetworkA,713,713,713,1971-12-15,71.00000000000024,70.99949,2015-01-01 00:11:53,bin713,75, +CTSPillarNetworkA,714,714,714,1971-12-16,71.10000000000024,71.09949,2015-01-01 00:11:54,bin714,35, +CTSPillarNetworkA,715,715,715,1971-12-17,71.20000000000023,71.199486,2015-01-01 00:11:55,bin715,75, +CTSPillarNetworkA,716,716,716,1971-12-18,71.30000000000022,71.299484,2015-01-01 00:11:56,bin716,35, +CTSPillarNetworkA,717,717,717,1971-12-19,71.40000000000022,71.39948,2015-01-01 00:11:57,bin717,75, +CTSPillarNetworkA,718,718,718,1971-12-20,71.50000000000021,71.49948,2015-01-01 00:11:58,bin718,35, +CTSPillarNetworkA,719,719,719,1971-12-21,71.60000000000021,71.59948,2015-01-01 00:11:59,bin719,75, +CTSPillarNetworkA,720,720,720,1971-12-22,71.7000000000002,71.69948,2015-01-01 00:12:00,bin720,35, +CTSPillarNetworkA,721,721,721,1971-12-23,71.8000000000002,71.79948,2015-01-01 00:12:01,bin721,75, +CTSPillarNetworkA,722,722,722,1971-12-24,71.90000000000019,71.899475,2015-01-01 00:12:02,bin722,35, +CTSPillarNetworkA,723,723,723,1971-12-25,72.00000000000018,71.99947,2015-01-01 00:12:03,bin723,75, +CTSPillarNetworkA,724,724,724,1971-12-26,72.10000000000018,72.09947,2015-01-01 00:12:04,bin724,35, +CTSPillarNetworkA,725,725,725,1971-12-27,72.20000000000017,72.19947,2015-01-01 00:12:05,bin725,75, +CTSPillarNetworkA,726,726,726,1971-12-28,72.30000000000017,72.29947,2015-01-01 00:12:06,bin726,35, +CTSPillarNetworkA,727,727,727,1971-12-29,72.40000000000016,72.39947,2015-01-01 00:12:07,bin727,75, +CTSPillarNetworkA,728,728,728,1971-12-30,72.50000000000016,72.499466,2015-01-01 00:12:08,bin728,35, +CTSPillarNetworkA,729,729,729,1971-12-31,72.60000000000015,72.599464,2015-01-01 00:12:09,bin729,75, +CTSPillarNetworkA,730,730,730,1972-01-01,72.70000000000014,72.69946,2015-01-01 00:12:10,bin730,35, +CTSPillarNetworkA,731,731,731,1972-01-02,72.80000000000014,72.79946,2015-01-01 00:12:11,bin731,75, +CTSPillarNetworkA,732,732,732,1972-01-03,72.90000000000013,72.89946,2015-01-01 00:12:12,bin732,35, +CTSPillarNetworkA,733,733,733,1972-01-04,73.00000000000013,72.99946,2015-01-01 00:12:13,bin733,75, +CTSPillarNetworkA,734,734,734,1972-01-05,73.10000000000012,73.09946,2015-01-01 00:12:14,bin734,35, +CTSPillarNetworkA,735,735,735,1972-01-06,73.20000000000012,73.199455,2015-01-01 00:12:15,bin735,75, +CTSPillarNetworkA,736,736,736,1972-01-07,73.30000000000011,73.29945,2015-01-01 00:12:16,bin736,35, +CTSPillarNetworkA,737,737,737,1972-01-08,73.4000000000001,73.39945,2015-01-01 00:12:17,bin737,75, +CTSPillarNetworkA,738,738,738,1972-01-09,73.5000000000001,73.49945,2015-01-01 00:12:18,bin738,35, +CTSPillarNetworkA,739,739,739,1972-01-10,73.6000000000001,73.59945,2015-01-01 00:12:19,bin739,75, +CTSPillarNetworkA,740,740,740,1972-01-11,73.70000000000009,73.69945,2015-01-01 00:12:20,bin740,35, +CTSPillarNetworkA,741,741,741,1972-01-12,73.80000000000008,73.799446,2015-01-01 00:12:21,bin741,75, +CTSPillarNetworkA,742,742,742,1972-01-13,73.90000000000008,73.899445,2015-01-01 00:12:22,bin742,35, +CTSPillarNetworkA,743,743,743,1972-01-14,74.00000000000007,73.99944,2015-01-01 00:12:23,bin743,75, +CTSPillarNetworkA,744,744,744,1972-01-15,74.10000000000007,74.09944,2015-01-01 00:12:24,bin744,35, +CTSPillarNetworkA,745,745,745,1972-01-16,74.20000000000006,74.19944,2015-01-01 00:12:25,bin745,75, +CTSPillarNetworkA,746,746,746,1972-01-17,74.30000000000005,74.29944,2015-01-01 00:12:26,bin746,35, +CTSPillarNetworkA,747,747,747,1972-01-18,74.40000000000005,74.39944,2015-01-01 00:12:27,bin747,75, +CTSPillarNetworkA,748,748,748,1972-01-19,74.50000000000004,74.499435,2015-01-01 00:12:28,bin748,35, +CTSPillarNetworkA,749,749,749,1972-01-20,74.60000000000004,74.599434,2015-01-01 00:12:29,bin749,75, +CTSPillarNetworkA,750,750,750,1972-01-21,74.70000000000003,74.69943,2015-01-01 00:12:30,bin750,35, +CTSPillarNetworkA,751,751,751,1972-01-22,74.80000000000003,74.79943,2015-01-01 00:12:31,bin751,75, +CTSPillarNetworkA,752,752,752,1972-01-23,74.90000000000002,74.89943,2015-01-01 00:12:32,bin752,35, +CTSPillarNetworkA,753,753,753,1972-01-24,75.00000000000001,74.99943,2015-01-01 00:12:33,bin753,75, +CTSPillarNetworkA,754,754,754,1972-01-25,75.10000000000001,75.09943,2015-01-01 00:12:34,bin754,35, +CTSPillarNetworkA,755,755,755,1972-01-26,75.2,75.199425,2015-01-01 00:12:35,bin755,75, +CTSPillarNetworkA,756,756,756,1972-01-27,75.3,75.29942,2015-01-01 00:12:36,bin756,35, +CTSPillarNetworkA,757,757,757,1972-01-28,75.39999999999999,75.39942,2015-01-01 00:12:37,bin757,75, +CTSPillarNetworkA,758,758,758,1972-01-29,75.49999999999999,75.49942,2015-01-01 00:12:38,bin758,35, +CTSPillarNetworkA,759,759,759,1972-01-30,75.59999999999998,75.59942,2015-01-01 00:12:39,bin759,75, +CTSPillarNetworkA,760,760,760,1972-01-31,75.69999999999997,75.69942,2015-01-01 00:12:40,bin760,35, +CTSPillarNetworkA,761,761,761,1972-02-01,75.79999999999997,75.799416,2015-01-01 00:12:41,bin761,75, +CTSPillarNetworkA,762,762,762,1972-02-02,75.89999999999996,75.899414,2015-01-01 00:12:42,bin762,35, +CTSPillarNetworkA,763,763,763,1972-02-03,75.99999999999996,75.99941,2015-01-01 00:12:43,bin763,75, +CTSPillarNetworkA,764,764,764,1972-02-04,76.09999999999995,76.09941,2015-01-01 00:12:44,bin764,35, +CTSPillarNetworkA,765,765,765,1972-02-05,76.19999999999995,76.19941,2015-01-01 00:12:45,bin765,75, +CTSPillarNetworkA,766,766,766,1972-02-06,76.29999999999994,76.29941,2015-01-01 00:12:46,bin766,35, +CTSPillarNetworkA,767,767,767,1972-02-07,76.39999999999993,76.39941,2015-01-01 00:12:47,bin767,75, +CTSPillarNetworkA,768,768,768,1972-02-08,76.49999999999993,76.499405,2015-01-01 00:12:48,bin768,35, +CTSPillarNetworkA,769,769,769,1972-02-09,76.59999999999992,76.5994,2015-01-01 00:12:49,bin769,75, +CTSPillarNetworkA,770,770,770,1972-02-10,76.69999999999992,76.6994,2015-01-01 00:12:50,bin770,35, +CTSPillarNetworkA,771,771,771,1972-02-11,76.79999999999991,76.7994,2015-01-01 00:12:51,bin771,75, +CTSPillarNetworkA,772,772,772,1972-02-12,76.8999999999999,76.8994,2015-01-01 00:12:52,bin772,35, +CTSPillarNetworkA,773,773,773,1972-02-13,76.9999999999999,76.9994,2015-01-01 00:12:53,bin773,75, +CTSPillarNetworkA,774,774,774,1972-02-14,77.0999999999999,77.099396,2015-01-01 00:12:54,bin774,35, +CTSPillarNetworkA,775,775,775,1972-02-15,77.19999999999989,77.199394,2015-01-01 00:12:55,bin775,75, +CTSPillarNetworkA,776,776,776,1972-02-16,77.29999999999988,77.29939,2015-01-01 00:12:56,bin776,35, +CTSPillarNetworkA,777,777,777,1972-02-17,77.39999999999988,77.39939,2015-01-01 00:12:57,bin777,75, +CTSPillarNetworkA,778,778,778,1972-02-18,77.49999999999987,77.49939,2015-01-01 00:12:58,bin778,35, +CTSPillarNetworkA,779,779,779,1972-02-19,77.59999999999987,77.59939,2015-01-01 00:12:59,bin779,75, +CTSPillarNetworkA,780,780,780,1972-02-20,77.69999999999986,77.69939,2015-01-01 00:13:00,bin780,35, +CTSPillarNetworkA,781,781,781,1972-02-21,77.79999999999986,77.799385,2015-01-01 00:13:01,bin781,75, +CTSPillarNetworkA,782,782,782,1972-02-22,77.89999999999985,77.89938,2015-01-01 00:13:02,bin782,35, +CTSPillarNetworkA,783,783,783,1972-02-23,77.99999999999984,77.99938,2015-01-01 00:13:03,bin783,75, +CTSPillarNetworkA,784,784,784,1972-02-24,78.09999999999984,78.09938,2015-01-01 00:13:04,bin784,35, +CTSPillarNetworkA,785,785,785,1972-02-25,78.19999999999983,78.19938,2015-01-01 00:13:05,bin785,75, +CTSPillarNetworkA,786,786,786,1972-02-26,78.29999999999983,78.29938,2015-01-01 00:13:06,bin786,35, +CTSPillarNetworkA,787,787,787,1972-02-27,78.39999999999982,78.399376,2015-01-01 00:13:07,bin787,75, +CTSPillarNetworkA,788,788,788,1972-02-28,78.49999999999982,78.499374,2015-01-01 00:13:08,bin788,35, +CTSPillarNetworkA,789,789,789,1972-02-29,78.59999999999981,78.59937,2015-01-01 00:13:09,bin789,75, +CTSPillarNetworkA,790,790,790,1972-03-01,78.6999999999998,78.69937,2015-01-01 00:13:10,bin790,35, +CTSPillarNetworkA,791,791,791,1972-03-02,78.7999999999998,78.79937,2015-01-01 00:13:11,bin791,75, +CTSPillarNetworkA,792,792,792,1972-03-03,78.89999999999979,78.89937,2015-01-01 00:13:12,bin792,35, +CTSPillarNetworkA,793,793,793,1972-03-04,78.99999999999979,78.99937,2015-01-01 00:13:13,bin793,75, +CTSPillarNetworkA,794,794,794,1972-03-05,79.09999999999978,79.099365,2015-01-01 00:13:14,bin794,35, +CTSPillarNetworkA,795,795,795,1972-03-06,79.19999999999978,79.19936,2015-01-01 00:13:15,bin795,75, +CTSPillarNetworkA,796,796,796,1972-03-07,79.29999999999977,79.29936,2015-01-01 00:13:16,bin796,35, +CTSPillarNetworkA,797,797,797,1972-03-08,79.39999999999976,79.39936,2015-01-01 00:13:17,bin797,75, +CTSPillarNetworkA,798,798,798,1972-03-09,79.49999999999976,79.49936,2015-01-01 00:13:18,bin798,35, +CTSPillarNetworkA,799,799,799,1972-03-10,79.59999999999975,79.59936,2015-01-01 00:13:19,bin799,75, +CTSPillarNetworkA,800,800,800,1972-03-11,79.69999999999975,79.699356,2015-01-01 00:13:20,bin800,35, +CTSPillarNetworkA,801,801,801,1972-03-12,79.79999999999974,79.799355,2015-01-01 00:13:21,bin801,75, +CTSPillarNetworkA,802,802,802,1972-03-13,79.89999999999974,79.89935,2015-01-01 00:13:22,bin802,35, +CTSPillarNetworkA,803,803,803,1972-03-14,79.99999999999973,79.99935,2015-01-01 00:13:23,bin803,75, +CTSPillarNetworkA,804,804,804,1972-03-15,80.09999999999972,80.09935,2015-01-01 00:13:24,bin804,35, +CTSPillarNetworkA,805,805,805,1972-03-16,80.19999999999972,80.19935,2015-01-01 00:13:25,bin805,75, +CTSPillarNetworkA,806,806,806,1972-03-17,80.29999999999971,80.29935,2015-01-01 00:13:26,bin806,35, +CTSPillarNetworkA,807,807,807,1972-03-18,80.39999999999971,80.399345,2015-01-01 00:13:27,bin807,75, +CTSPillarNetworkA,808,808,808,1972-03-19,80.4999999999997,80.499344,2015-01-01 00:13:28,bin808,35, +CTSPillarNetworkA,809,809,809,1972-03-20,80.5999999999997,80.59934,2015-01-01 00:13:29,bin809,75, +CTSPillarNetworkA,810,810,810,1972-03-21,80.69999999999969,80.69934,2015-01-01 00:13:30,bin810,35, +CTSPillarNetworkA,811,811,811,1972-03-22,80.79999999999968,80.79934,2015-01-01 00:13:31,bin811,75, +CTSPillarNetworkA,812,812,812,1972-03-23,80.89999999999968,80.89934,2015-01-01 00:13:32,bin812,35, +CTSPillarNetworkA,813,813,813,1972-03-24,80.99999999999967,80.99934,2015-01-01 00:13:33,bin813,75, +CTSPillarNetworkA,814,814,814,1972-03-25,81.09999999999967,81.099335,2015-01-01 00:13:34,bin814,35, +CTSPillarNetworkA,815,815,815,1972-03-26,81.19999999999966,81.19933,2015-01-01 00:13:35,bin815,75, +CTSPillarNetworkA,816,816,816,1972-03-27,81.29999999999966,81.29933,2015-01-01 00:13:36,bin816,35, +CTSPillarNetworkA,817,817,817,1972-03-28,81.39999999999965,81.39933,2015-01-01 00:13:37,bin817,75, +CTSPillarNetworkA,818,818,818,1972-03-29,81.49999999999964,81.49933,2015-01-01 00:13:38,bin818,35, +CTSPillarNetworkA,819,819,819,1972-03-30,81.59999999999964,81.59933,2015-01-01 00:13:39,bin819,75, +CTSPillarNetworkA,820,820,820,1972-03-31,81.69999999999963,81.699326,2015-01-01 00:13:40,bin820,35, +CTSPillarNetworkA,821,821,821,1972-04-01,81.79999999999963,81.799324,2015-01-01 00:13:41,bin821,75, +CTSPillarNetworkA,822,822,822,1972-04-02,81.89999999999962,81.89932,2015-01-01 00:13:42,bin822,35, +CTSPillarNetworkA,823,823,823,1972-04-03,81.99999999999962,81.99932,2015-01-01 00:13:43,bin823,75, +CTSPillarNetworkA,824,824,824,1972-04-04,82.09999999999961,82.09932,2015-01-01 00:13:44,bin824,35, +CTSPillarNetworkA,825,825,825,1972-04-05,82.1999999999996,82.19932,2015-01-01 00:13:45,bin825,75, +CTSPillarNetworkA,826,826,826,1972-04-06,82.2999999999996,82.29932,2015-01-01 00:13:46,bin826,35, +CTSPillarNetworkA,827,827,827,1972-04-07,82.3999999999996,82.399315,2015-01-01 00:13:47,bin827,75, +CTSPillarNetworkA,828,828,828,1972-04-08,82.49999999999959,82.49931,2015-01-01 00:13:48,bin828,35, +CTSPillarNetworkA,829,829,829,1972-04-09,82.59999999999958,82.59931,2015-01-01 00:13:49,bin829,75, +CTSPillarNetworkA,830,830,830,1972-04-10,82.69999999999958,82.69931,2015-01-01 00:13:50,bin830,35, +CTSPillarNetworkA,831,831,831,1972-04-11,82.79999999999957,82.79931,2015-01-01 00:13:51,bin831,75, +CTSPillarNetworkA,832,832,832,1972-04-12,82.89999999999957,82.89931,2015-01-01 00:13:52,bin832,35, +CTSPillarNetworkA,833,833,833,1972-04-13,82.99999999999956,82.999306,2015-01-01 00:13:53,bin833,75, +CTSPillarNetworkA,834,834,834,1972-04-14,83.09999999999955,83.099304,2015-01-01 00:13:54,bin834,35, +CTSPillarNetworkA,835,835,835,1972-04-15,83.19999999999955,83.1993,2015-01-01 00:13:55,bin835,75, +CTSPillarNetworkA,836,836,836,1972-04-16,83.29999999999954,83.2993,2015-01-01 00:13:56,bin836,35, +CTSPillarNetworkA,837,837,837,1972-04-17,83.39999999999954,83.3993,2015-01-01 00:13:57,bin837,75, +CTSPillarNetworkA,838,838,838,1972-04-18,83.49999999999953,83.4993,2015-01-01 00:13:58,bin838,35, +CTSPillarNetworkA,839,839,839,1972-04-19,83.59999999999953,83.5993,2015-01-01 00:13:59,bin839,75, +CTSPillarNetworkA,840,840,840,1972-04-20,83.69999999999952,83.699295,2015-01-01 00:14:00,bin840,35, +CTSPillarNetworkA,841,841,841,1972-04-21,83.79999999999951,83.79929,2015-01-01 00:14:01,bin841,75, +CTSPillarNetworkA,842,842,842,1972-04-22,83.89999999999951,83.89929,2015-01-01 00:14:02,bin842,35, +CTSPillarNetworkA,843,843,843,1972-04-23,83.9999999999995,83.99929,2015-01-01 00:14:03,bin843,75, +CTSPillarNetworkA,844,844,844,1972-04-24,84.0999999999995,84.09929,2015-01-01 00:14:04,bin844,35, +CTSPillarNetworkA,845,845,845,1972-04-25,84.19999999999949,84.19929,2015-01-01 00:14:05,bin845,75, +CTSPillarNetworkA,846,846,846,1972-04-26,84.29999999999949,84.299286,2015-01-01 00:14:06,bin846,35, +CTSPillarNetworkA,847,847,847,1972-04-27,84.39999999999948,84.399284,2015-01-01 00:14:07,bin847,75, +CTSPillarNetworkA,848,848,848,1972-04-28,84.49999999999947,84.49928,2015-01-01 00:14:08,bin848,35, +CTSPillarNetworkA,849,849,849,1972-04-29,84.59999999999947,84.59928,2015-01-01 00:14:09,bin849,75, +CTSPillarNetworkA,850,850,850,1972-04-30,84.69999999999946,84.69928,2015-01-01 00:14:10,bin850,35, +CTSPillarNetworkA,851,851,851,1972-05-01,84.79999999999946,84.79928,2015-01-01 00:14:11,bin851,75, +CTSPillarNetworkA,852,852,852,1972-05-02,84.89999999999945,84.89928,2015-01-01 00:14:12,bin852,35, +CTSPillarNetworkA,853,853,853,1972-05-03,84.99999999999945,84.999275,2015-01-01 00:14:13,bin853,75, +CTSPillarNetworkA,854,854,854,1972-05-04,85.09999999999944,85.09927,2015-01-01 00:14:14,bin854,35, +CTSPillarNetworkA,855,855,855,1972-05-05,85.19999999999943,85.19927,2015-01-01 00:14:15,bin855,75, +CTSPillarNetworkA,856,856,856,1972-05-06,85.29999999999943,85.29927,2015-01-01 00:14:16,bin856,35, +CTSPillarNetworkA,857,857,857,1972-05-07,85.39999999999942,85.39927,2015-01-01 00:14:17,bin857,75, +CTSPillarNetworkA,858,858,858,1972-05-08,85.49999999999942,85.49927,2015-01-01 00:14:18,bin858,35, +CTSPillarNetworkA,859,859,859,1972-05-09,85.59999999999941,85.599266,2015-01-01 00:14:19,bin859,75, +CTSPillarNetworkA,860,860,860,1972-05-10,85.6999999999994,85.699265,2015-01-01 00:14:20,bin860,35, +CTSPillarNetworkA,861,861,861,1972-05-11,85.7999999999994,85.79926,2015-01-01 00:14:21,bin861,75, +CTSPillarNetworkA,862,862,862,1972-05-12,85.8999999999994,85.89926,2015-01-01 00:14:22,bin862,35, +CTSPillarNetworkA,863,863,863,1972-05-13,85.99999999999939,85.99926,2015-01-01 00:14:23,bin863,75, +CTSPillarNetworkA,864,864,864,1972-05-14,86.09999999999938,86.09926,2015-01-01 00:14:24,bin864,35, +CTSPillarNetworkA,865,865,865,1972-05-15,86.19999999999938,86.19926,2015-01-01 00:14:25,bin865,75, +CTSPillarNetworkA,866,866,866,1972-05-16,86.29999999999937,86.299255,2015-01-01 00:14:26,bin866,35, +CTSPillarNetworkA,867,867,867,1972-05-17,86.39999999999937,86.399254,2015-01-01 00:14:27,bin867,75, +CTSPillarNetworkA,868,868,868,1972-05-18,86.49999999999936,86.49925,2015-01-01 00:14:28,bin868,35, +CTSPillarNetworkA,869,869,869,1972-05-19,86.59999999999935,86.59925,2015-01-01 00:14:29,bin869,75, +CTSPillarNetworkA,870,870,870,1972-05-20,86.69999999999935,86.69925,2015-01-01 00:14:30,bin870,35, +CTSPillarNetworkA,871,871,871,1972-05-21,86.79999999999934,86.79925,2015-01-01 00:14:31,bin871,75, +CTSPillarNetworkA,872,872,872,1972-05-22,86.89999999999934,86.89925,2015-01-01 00:14:32,bin872,35, +CTSPillarNetworkA,873,873,873,1972-05-23,86.99999999999933,86.999245,2015-01-01 00:14:33,bin873,75, +CTSPillarNetworkA,874,874,874,1972-05-24,87.09999999999933,87.09924,2015-01-01 00:14:34,bin874,35, +CTSPillarNetworkA,875,875,875,1972-05-25,87.19999999999932,87.19924,2015-01-01 00:14:35,bin875,75, +CTSPillarNetworkA,876,876,876,1972-05-26,87.29999999999932,87.29924,2015-01-01 00:14:36,bin876,35, +CTSPillarNetworkA,877,877,877,1972-05-27,87.39999999999931,87.39924,2015-01-01 00:14:37,bin877,75, +CTSPillarNetworkA,878,878,878,1972-05-28,87.4999999999993,87.49924,2015-01-01 00:14:38,bin878,35, +CTSPillarNetworkA,879,879,879,1972-05-29,87.5999999999993,87.599236,2015-01-01 00:14:39,bin879,75, +CTSPillarNetworkA,880,880,880,1972-05-30,87.69999999999929,87.699234,2015-01-01 00:14:40,bin880,35, +CTSPillarNetworkA,881,881,881,1972-05-31,87.79999999999929,87.79923,2015-01-01 00:14:41,bin881,75, +CTSPillarNetworkA,882,882,882,1972-06-01,87.89999999999928,87.89923,2015-01-01 00:14:42,bin882,35, +CTSPillarNetworkA,883,883,883,1972-06-02,87.99999999999928,87.99923,2015-01-01 00:14:43,bin883,75, +CTSPillarNetworkA,884,884,884,1972-06-03,88.09999999999927,88.09923,2015-01-01 00:14:44,bin884,35, +CTSPillarNetworkA,885,885,885,1972-06-04,88.19999999999926,88.19923,2015-01-01 00:14:45,bin885,75, +CTSPillarNetworkA,886,886,886,1972-06-05,88.29999999999926,88.299225,2015-01-01 00:14:46,bin886,35, +CTSPillarNetworkA,887,887,887,1972-06-06,88.39999999999925,88.39922,2015-01-01 00:14:47,bin887,75, +CTSPillarNetworkA,888,888,888,1972-06-07,88.49999999999925,88.49922,2015-01-01 00:14:48,bin888,35, +CTSPillarNetworkA,889,889,889,1972-06-08,88.59999999999924,88.59922,2015-01-01 00:14:49,bin889,75, +CTSPillarNetworkA,890,890,890,1972-06-09,88.69999999999924,88.69922,2015-01-01 00:14:50,bin890,35, +CTSPillarNetworkA,891,891,891,1972-06-10,88.79999999999923,88.79922,2015-01-01 00:14:51,bin891,75, +CTSPillarNetworkA,892,892,892,1972-06-11,88.89999999999922,88.899216,2015-01-01 00:14:52,bin892,35, +CTSPillarNetworkA,893,893,893,1972-06-12,88.99999999999922,88.999214,2015-01-01 00:14:53,bin893,75, +CTSPillarNetworkA,894,894,894,1972-06-13,89.09999999999921,89.09921,2015-01-01 00:14:54,bin894,35, +CTSPillarNetworkA,895,895,895,1972-06-14,89.1999999999992,89.19921,2015-01-01 00:14:55,bin895,75, +CTSPillarNetworkA,896,896,896,1972-06-15,89.2999999999992,89.29921,2015-01-01 00:14:56,bin896,35, +CTSPillarNetworkA,897,897,897,1972-06-16,89.3999999999992,89.39921,2015-01-01 00:14:57,bin897,75, +CTSPillarNetworkA,898,898,898,1972-06-17,89.49999999999919,89.49921,2015-01-01 00:14:58,bin898,35, +CTSPillarNetworkA,899,899,899,1972-06-18,89.59999999999918,89.599205,2015-01-01 00:14:59,bin899,75, +CTSPillarNetworkA,900,900,900,1972-06-19,89.69999999999918,89.6992,2015-01-01 00:15:00,bin900,35, +CTSPillarNetworkA,901,901,901,1972-06-20,89.79999999999917,89.7992,2015-01-01 00:15:01,bin901,75, +CTSPillarNetworkA,902,902,902,1972-06-21,89.89999999999917,89.8992,2015-01-01 00:15:02,bin902,35, +CTSPillarNetworkA,903,903,903,1972-06-22,89.99999999999916,89.9992,2015-01-01 00:15:03,bin903,75, +CTSPillarNetworkA,904,904,904,1972-06-23,90.09999999999916,90.0992,2015-01-01 00:15:04,bin904,35, +CTSPillarNetworkA,905,905,905,1972-06-24,90.19999999999915,90.199196,2015-01-01 00:15:05,bin905,75, +CTSPillarNetworkA,906,906,906,1972-06-25,90.29999999999914,90.299194,2015-01-01 00:15:06,bin906,35, +CTSPillarNetworkA,907,907,907,1972-06-26,90.39999999999914,90.39919,2015-01-01 00:15:07,bin907,75, +CTSPillarNetworkA,908,908,908,1972-06-27,90.49999999999913,90.49919,2015-01-01 00:15:08,bin908,35, +CTSPillarNetworkA,909,909,909,1972-06-28,90.59999999999913,90.59919,2015-01-01 00:15:09,bin909,75, +CTSPillarNetworkA,910,910,910,1972-06-29,90.69999999999912,90.69919,2015-01-01 00:15:10,bin910,35, +CTSPillarNetworkA,911,911,911,1972-06-30,90.79999999999912,90.79919,2015-01-01 00:15:11,bin911,75, +CTSPillarNetworkA,912,912,912,1972-07-01,90.89999999999911,90.899185,2015-01-01 00:15:12,bin912,35, +CTSPillarNetworkA,913,913,913,1972-07-02,90.9999999999991,90.99918,2015-01-01 00:15:13,bin913,75, +CTSPillarNetworkA,914,914,914,1972-07-03,91.0999999999991,91.09918,2015-01-01 00:15:14,bin914,35, +CTSPillarNetworkA,915,915,915,1972-07-04,91.1999999999991,91.19918,2015-01-01 00:15:15,bin915,75, +CTSPillarNetworkA,916,916,916,1972-07-05,91.29999999999909,91.29918,2015-01-01 00:15:16,bin916,35, +CTSPillarNetworkA,917,917,917,1972-07-06,91.39999999999908,91.39918,2015-01-01 00:15:17,bin917,75, +CTSPillarNetworkA,918,918,918,1972-07-07,91.49999999999908,91.499176,2015-01-01 00:15:18,bin918,35, +CTSPillarNetworkA,919,919,919,1972-07-08,91.59999999999907,91.599174,2015-01-01 00:15:19,bin919,75, +CTSPillarNetworkA,920,920,920,1972-07-09,91.69999999999906,91.69917,2015-01-01 00:15:20,bin920,35, +CTSPillarNetworkA,921,921,921,1972-07-10,91.79999999999906,91.79917,2015-01-01 00:15:21,bin921,75, +CTSPillarNetworkA,922,922,922,1972-07-11,91.89999999999905,91.89917,2015-01-01 00:15:22,bin922,35, +CTSPillarNetworkA,923,923,923,1972-07-12,91.99999999999905,91.99917,2015-01-01 00:15:23,bin923,75, +CTSPillarNetworkA,924,924,924,1972-07-13,92.09999999999904,92.09917,2015-01-01 00:15:24,bin924,35, +CTSPillarNetworkA,925,925,925,1972-07-14,92.19999999999904,92.199165,2015-01-01 00:15:25,bin925,75, +CTSPillarNetworkA,926,926,926,1972-07-15,92.29999999999903,92.299164,2015-01-01 00:15:26,bin926,35, +CTSPillarNetworkA,927,927,927,1972-07-16,92.39999999999903,92.39916,2015-01-01 00:15:27,bin927,75, +CTSPillarNetworkA,928,928,928,1972-07-17,92.49999999999902,92.49916,2015-01-01 00:15:28,bin928,35, +CTSPillarNetworkA,929,929,929,1972-07-18,92.59999999999901,92.59916,2015-01-01 00:15:29,bin929,75, +CTSPillarNetworkA,930,930,930,1972-07-19,92.69999999999901,92.69916,2015-01-01 00:15:30,bin930,35, +CTSPillarNetworkA,931,931,931,1972-07-20,92.799999999999,92.79916,2015-01-01 00:15:31,bin931,75, +CTSPillarNetworkA,932,932,932,1972-07-21,92.899999999999,92.899155,2015-01-01 00:15:32,bin932,35, +CTSPillarNetworkA,933,933,933,1972-07-22,92.99999999999899,92.99915,2015-01-01 00:15:33,bin933,75, +CTSPillarNetworkA,934,934,934,1972-07-23,93.09999999999899,93.09915,2015-01-01 00:15:34,bin934,35, +CTSPillarNetworkA,935,935,935,1972-07-24,93.19999999999898,93.19915,2015-01-01 00:15:35,bin935,75, +CTSPillarNetworkA,936,936,936,1972-07-25,93.29999999999897,93.29915,2015-01-01 00:15:36,bin936,35, +CTSPillarNetworkA,937,937,937,1972-07-26,93.39999999999897,93.39915,2015-01-01 00:15:37,bin937,75, +CTSPillarNetworkA,938,938,938,1972-07-27,93.49999999999896,93.499146,2015-01-01 00:15:38,bin938,35, +CTSPillarNetworkA,939,939,939,1972-07-28,93.59999999999896,93.599144,2015-01-01 00:15:39,bin939,75, +CTSPillarNetworkA,940,940,940,1972-07-29,93.69999999999895,93.69914,2015-01-01 00:15:40,bin940,35, +CTSPillarNetworkA,941,941,941,1972-07-30,93.79999999999895,93.79914,2015-01-01 00:15:41,bin941,75, +CTSPillarNetworkA,942,942,942,1972-07-31,93.89999999999894,93.89914,2015-01-01 00:15:42,bin942,35, +CTSPillarNetworkA,943,943,943,1972-08-01,93.99999999999893,93.99914,2015-01-01 00:15:43,bin943,75, +CTSPillarNetworkA,944,944,944,1972-08-02,94.09999999999893,94.09914,2015-01-01 00:15:44,bin944,35, +CTSPillarNetworkA,945,945,945,1972-08-03,94.19999999999892,94.199135,2015-01-01 00:15:45,bin945,75, +CTSPillarNetworkA,946,946,946,1972-08-04,94.29999999999892,94.29913,2015-01-01 00:15:46,bin946,35, +CTSPillarNetworkA,947,947,947,1972-08-05,94.39999999999891,94.39913,2015-01-01 00:15:47,bin947,75, +CTSPillarNetworkA,948,948,948,1972-08-06,94.4999999999989,94.49913,2015-01-01 00:15:48,bin948,35, +CTSPillarNetworkA,949,949,949,1972-08-07,94.5999999999989,94.59913,2015-01-01 00:15:49,bin949,75, +CTSPillarNetworkA,950,950,950,1972-08-08,94.6999999999989,94.69913,2015-01-01 00:15:50,bin950,35, +CTSPillarNetworkA,951,951,951,1972-08-09,94.79999999999889,94.799126,2015-01-01 00:15:51,bin951,75, +CTSPillarNetworkA,952,952,952,1972-08-10,94.89999999999888,94.899124,2015-01-01 00:15:52,bin952,35, +CTSPillarNetworkA,953,953,953,1972-08-11,94.99999999999888,94.99912,2015-01-01 00:15:53,bin953,75, +CTSPillarNetworkA,954,954,954,1972-08-12,95.09999999999887,95.09912,2015-01-01 00:15:54,bin954,35, +CTSPillarNetworkA,955,955,955,1972-08-13,95.19999999999887,95.19912,2015-01-01 00:15:55,bin955,75, +CTSPillarNetworkA,956,956,956,1972-08-14,95.29999999999886,95.29912,2015-01-01 00:15:56,bin956,35, +CTSPillarNetworkA,957,957,957,1972-08-15,95.39999999999885,95.39912,2015-01-01 00:15:57,bin957,75, +CTSPillarNetworkA,958,958,958,1972-08-16,95.49999999999885,95.499115,2015-01-01 00:15:58,bin958,35, +CTSPillarNetworkA,959,959,959,1972-08-17,95.59999999999884,95.59911,2015-01-01 00:15:59,bin959,75, +CTSPillarNetworkA,960,960,960,1972-08-18,95.69999999999884,95.69911,2015-01-01 00:16:00,bin960,35, +CTSPillarNetworkA,961,961,961,1972-08-19,95.79999999999883,95.79911,2015-01-01 00:16:01,bin961,75, +CTSPillarNetworkA,962,962,962,1972-08-20,95.89999999999883,95.89911,2015-01-01 00:16:02,bin962,35, +CTSPillarNetworkA,963,963,963,1972-08-21,95.99999999999882,95.99911,2015-01-01 00:16:03,bin963,75, +CTSPillarNetworkA,964,964,964,1972-08-22,96.09999999999881,96.099106,2015-01-01 00:16:04,bin964,35, +CTSPillarNetworkA,965,965,965,1972-08-23,96.19999999999881,96.199104,2015-01-01 00:16:05,bin965,75, +CTSPillarNetworkA,966,966,966,1972-08-24,96.2999999999988,96.2991,2015-01-01 00:16:06,bin966,35, +CTSPillarNetworkA,967,967,967,1972-08-25,96.3999999999988,96.3991,2015-01-01 00:16:07,bin967,75, +CTSPillarNetworkA,968,968,968,1972-08-26,96.49999999999879,96.4991,2015-01-01 00:16:08,bin968,35, +CTSPillarNetworkA,969,969,969,1972-08-27,96.59999999999879,96.5991,2015-01-01 00:16:09,bin969,75, +CTSPillarNetworkA,970,970,970,1972-08-28,96.69999999999878,96.6991,2015-01-01 00:16:10,bin970,35, +CTSPillarNetworkA,971,971,971,1972-08-29,96.79999999999878,96.799095,2015-01-01 00:16:11,bin971,75, +CTSPillarNetworkA,972,972,972,1972-08-30,96.89999999999877,96.89909,2015-01-01 00:16:12,bin972,35, +CTSPillarNetworkA,973,973,973,1972-08-31,96.99999999999876,96.99909,2015-01-01 00:16:13,bin973,75, +CTSPillarNetworkA,974,974,974,1972-09-01,97.09999999999876,97.09909,2015-01-01 00:16:14,bin974,35, +CTSPillarNetworkA,975,975,975,1972-09-02,97.19999999999875,97.19909,2015-01-01 00:16:15,bin975,75, +CTSPillarNetworkA,976,976,976,1972-09-03,97.29999999999875,97.29909,2015-01-01 00:16:16,bin976,35, +CTSPillarNetworkA,977,977,977,1972-09-04,97.39999999999874,97.399086,2015-01-01 00:16:17,bin977,75, +CTSPillarNetworkA,978,978,978,1972-09-05,97.49999999999874,97.499084,2015-01-01 00:16:18,bin978,35, +CTSPillarNetworkA,979,979,979,1972-09-06,97.59999999999873,97.59908,2015-01-01 00:16:19,bin979,75, +CTSPillarNetworkA,980,980,980,1972-09-07,97.69999999999872,97.69908,2015-01-01 00:16:20,bin980,35, +CTSPillarNetworkA,981,981,981,1972-09-08,97.79999999999872,97.79908,2015-01-01 00:16:21,bin981,75, +CTSPillarNetworkA,982,982,982,1972-09-09,97.89999999999871,97.89908,2015-01-01 00:16:22,bin982,35, +CTSPillarNetworkA,983,983,983,1972-09-10,97.9999999999987,97.99908,2015-01-01 00:16:23,bin983,75, +CTSPillarNetworkA,984,984,984,1972-09-11,98.0999999999987,98.099075,2015-01-01 00:16:24,bin984,35, +CTSPillarNetworkA,985,985,985,1972-09-12,98.1999999999987,98.19907,2015-01-01 00:16:25,bin985,75, +CTSPillarNetworkA,986,986,986,1972-09-13,98.29999999999869,98.29907,2015-01-01 00:16:26,bin986,35, +CTSPillarNetworkA,987,987,987,1972-09-14,98.39999999999868,98.39907,2015-01-01 00:16:27,bin987,75, +CTSPillarNetworkA,988,988,988,1972-09-15,98.49999999999868,98.49907,2015-01-01 00:16:28,bin988,35, +CTSPillarNetworkA,989,989,989,1972-09-16,98.59999999999867,98.59907,2015-01-01 00:16:29,bin989,75, +CTSPillarNetworkA,990,990,990,1972-09-17,98.69999999999867,98.699066,2015-01-01 00:16:30,bin990,35, +CTSPillarNetworkA,991,991,991,1972-09-18,98.79999999999866,98.799065,2015-01-01 00:16:31,bin991,75, +CTSPillarNetworkA,992,992,992,1972-09-19,98.89999999999866,98.89906,2015-01-01 00:16:32,bin992,35, +CTSPillarNetworkA,993,993,993,1972-09-20,98.99999999999865,98.99906,2015-01-01 00:16:33,bin993,75, +CTSPillarNetworkA,994,994,994,1972-09-21,99.09999999999864,99.09906,2015-01-01 00:16:34,bin994,35, +CTSPillarNetworkA,995,995,995,1972-09-22,99.19999999999864,99.19906,2015-01-01 00:16:35,bin995,75, +CTSPillarNetworkA,996,996,996,1972-09-23,99.29999999999863,99.29906,2015-01-01 00:16:36,bin996,35, +CTSPillarNetworkA,997,997,997,1972-09-24,99.39999999999863,99.399055,2015-01-01 00:16:37,bin997,75, +CTSPillarNetworkA,998,998,998,1972-09-25,99.49999999999862,99.499054,2015-01-01 00:16:38,bin998,35, +CTSPillarNetworkA,999,999,999,1972-09-26,99.59999999999862,99.59905,2015-01-01 00:16:39,bin999,75, +CTSPillarNetworkA,1000,1000,1000,1972-09-27,99.69999999999861,99.69905,2015-01-01 00:16:40,bin1000,35, +CTSPillarNetworkA,1001,1001,1001,1972-09-28,99.7999999999986,99.79905,2015-01-01 00:16:41,bin1001,75, +CTSPillarNetworkA,1002,1002,1002,1972-09-29,99.8999999999986,99.89905,2015-01-01 00:16:42,bin1002,35, +CTSPillarNetworkA,1003,1003,1003,1972-09-30,99.9999999999986,99.99905,2015-01-01 00:16:43,bin1003,75, +CTSPillarNetworkA,1004,1004,1004,1972-10-01,100.09999999999859,100.099045,2015-01-01 00:16:44,bin1004,35, +CTSPillarNetworkA,1005,1005,1005,1972-10-02,100.19999999999858,100.19904,2015-01-01 00:16:45,bin1005,75, +CTSPillarNetworkA,1006,1006,1006,1972-10-03,100.29999999999858,100.29904,2015-01-01 00:16:46,bin1006,35, +CTSPillarNetworkA,1007,1007,1007,1972-10-04,100.39999999999857,100.39904,2015-01-01 00:16:47,bin1007,75, +CTSPillarNetworkA,1008,1008,1008,1972-10-05,100.49999999999856,100.49904,2015-01-01 00:16:48,bin1008,35, +CTSPillarNetworkA,1009,1009,1009,1972-10-06,100.59999999999856,100.59904,2015-01-01 00:16:49,bin1009,75, +CTSPillarNetworkA,1010,1010,1010,1972-10-07,100.69999999999855,100.699036,2015-01-01 00:16:50,bin1010,35, +CTSPillarNetworkA,1011,1011,1011,1972-10-08,100.79999999999855,100.799034,2015-01-01 00:16:51,bin1011,75, +CTSPillarNetworkA,1012,1012,1012,1972-10-09,100.89999999999854,100.89903,2015-01-01 00:16:52,bin1012,35, +CTSPillarNetworkA,1013,1013,1013,1972-10-10,100.99999999999854,100.99903,2015-01-01 00:16:53,bin1013,75, +CTSPillarNetworkA,1014,1014,1014,1972-10-11,101.09999999999853,101.09903,2015-01-01 00:16:54,bin1014,35, +CTSPillarNetworkA,1015,1015,1015,1972-10-12,101.19999999999852,101.19903,2015-01-01 00:16:55,bin1015,75, +CTSPillarNetworkA,1016,1016,1016,1972-10-13,101.29999999999852,101.29903,2015-01-01 00:16:56,bin1016,35, +CTSPillarNetworkA,1017,1017,1017,1972-10-14,101.39999999999851,101.399025,2015-01-01 00:16:57,bin1017,75, +CTSPillarNetworkA,1018,1018,1018,1972-10-15,101.49999999999851,101.49902,2015-01-01 00:16:58,bin1018,35, +CTSPillarNetworkA,1019,1019,1019,1972-10-16,101.5999999999985,101.59902,2015-01-01 00:16:59,bin1019,75, +CTSPillarNetworkA,1020,1020,1020,1972-10-17,101.6999999999985,101.69902,2015-01-01 00:17:00,bin1020,35, +CTSPillarNetworkA,1021,1021,1021,1972-10-18,101.79999999999849,101.79902,2015-01-01 00:17:01,bin1021,75, +CTSPillarNetworkA,1022,1022,1022,1972-10-19,101.89999999999849,101.89902,2015-01-01 00:17:02,bin1022,35, +CTSPillarNetworkA,1023,1023,1023,1972-10-20,101.99999999999848,101.999016,2015-01-01 00:17:03,bin1023,75, +CTSPillarNetworkA,1024,1024,1024,1972-10-21,102.09999999999847,102.099014,2015-01-01 00:17:04,bin1024,35, +CTSPillarNetworkA,1025,1025,1025,1972-10-22,102.19999999999847,102.19901,2015-01-01 00:17:05,bin1025,75, +CTSPillarNetworkA,1026,1026,1026,1972-10-23,102.29999999999846,102.29901,2015-01-01 00:17:06,bin1026,35, +CTSPillarNetworkA,1027,1027,1027,1972-10-24,102.39999999999846,102.39901,2015-01-01 00:17:07,bin1027,75, +CTSPillarNetworkA,1028,1028,1028,1972-10-25,102.49999999999845,102.49901,2015-01-01 00:17:08,bin1028,35, +CTSPillarNetworkA,1029,1029,1029,1972-10-26,102.59999999999845,102.59901,2015-01-01 00:17:09,bin1029,75, +CTSPillarNetworkA,1030,1030,1030,1972-10-27,102.69999999999844,102.699005,2015-01-01 00:17:10,bin1030,35, +CTSPillarNetworkA,1031,1031,1031,1972-10-28,102.79999999999843,102.799,2015-01-01 00:17:11,bin1031,75, +CTSPillarNetworkA,1032,1032,1032,1972-10-29,102.89999999999843,102.899,2015-01-01 00:17:12,bin1032,35, +CTSPillarNetworkA,1033,1033,1033,1972-10-30,102.99999999999842,102.999,2015-01-01 00:17:13,bin1033,75, +CTSPillarNetworkA,1034,1034,1034,1972-10-31,103.09999999999842,103.099,2015-01-01 00:17:14,bin1034,35, +CTSPillarNetworkA,1035,1035,1035,1972-11-01,103.19999999999841,103.199,2015-01-01 00:17:15,bin1035,75, +CTSPillarNetworkA,1036,1036,1036,1972-11-02,103.2999999999984,103.298996,2015-01-01 00:17:16,bin1036,35, +CTSPillarNetworkA,1037,1037,1037,1972-11-03,103.3999999999984,103.398994,2015-01-01 00:17:17,bin1037,75, +CTSPillarNetworkA,1038,1038,1038,1972-11-04,103.4999999999984,103.49899,2015-01-01 00:17:18,bin1038,35, +CTSPillarNetworkA,1039,1039,1039,1972-11-05,103.59999999999839,103.59899,2015-01-01 00:17:19,bin1039,75, +CTSPillarNetworkA,1040,1040,1040,1972-11-06,103.69999999999838,103.69899,2015-01-01 00:17:20,bin1040,35, +CTSPillarNetworkA,1041,1041,1041,1972-11-07,103.79999999999838,103.79899,2015-01-01 00:17:21,bin1041,75, +CTSPillarNetworkA,1042,1042,1042,1972-11-08,103.89999999999837,103.89899,2015-01-01 00:17:22,bin1042,35, +CTSPillarNetworkA,1043,1043,1043,1972-11-09,103.99999999999837,103.998985,2015-01-01 00:17:23,bin1043,75, +CTSPillarNetworkA,1044,1044,1044,1972-11-10,104.09999999999836,104.09898,2015-01-01 00:17:24,bin1044,35, +CTSPillarNetworkA,1045,1045,1045,1972-11-11,104.19999999999835,104.19898,2015-01-01 00:17:25,bin1045,75, +CTSPillarNetworkA,1046,1046,1046,1972-11-12,104.29999999999835,104.29898,2015-01-01 00:17:26,bin1046,35, +CTSPillarNetworkA,1047,1047,1047,1972-11-13,104.39999999999834,104.39898,2015-01-01 00:17:27,bin1047,75, +CTSPillarNetworkA,1048,1048,1048,1972-11-14,104.49999999999834,104.49898,2015-01-01 00:17:28,bin1048,35, +CTSPillarNetworkA,1049,1049,1049,1972-11-15,104.59999999999833,104.598976,2015-01-01 00:17:29,bin1049,75, +CTSPillarNetworkA,1050,1050,1050,1972-11-16,104.69999999999833,104.698975,2015-01-01 00:17:30,bin1050,35, +CTSPillarNetworkA,1051,1051,1051,1972-11-17,104.79999999999832,104.79897,2015-01-01 00:17:31,bin1051,75, +CTSPillarNetworkA,1052,1052,1052,1972-11-18,104.89999999999831,104.89897,2015-01-01 00:17:32,bin1052,35, +CTSPillarNetworkA,1053,1053,1053,1972-11-19,104.99999999999831,104.99897,2015-01-01 00:17:33,bin1053,75, +CTSPillarNetworkA,1054,1054,1054,1972-11-20,105.0999999999983,105.09897,2015-01-01 00:17:34,bin1054,35, +CTSPillarNetworkA,1055,1055,1055,1972-11-21,105.1999999999983,105.19897,2015-01-01 00:17:35,bin1055,75, +CTSPillarNetworkA,1056,1056,1056,1972-11-22,105.29999999999829,105.298965,2015-01-01 00:17:36,bin1056,35, +CTSPillarNetworkA,1057,1057,1057,1972-11-23,105.39999999999829,105.398964,2015-01-01 00:17:37,bin1057,75, +CTSPillarNetworkA,1058,1058,1058,1972-11-24,105.49999999999828,105.49896,2015-01-01 00:17:38,bin1058,35, +CTSPillarNetworkA,1059,1059,1059,1972-11-25,105.59999999999827,105.59896,2015-01-01 00:17:39,bin1059,75, +CTSPillarNetworkA,1060,1060,1060,1972-11-26,105.69999999999827,105.69896,2015-01-01 00:17:40,bin1060,35, +CTSPillarNetworkA,1061,1061,1061,1972-11-27,105.79999999999826,105.79896,2015-01-01 00:17:41,bin1061,75, +CTSPillarNetworkA,1062,1062,1062,1972-11-28,105.89999999999826,105.89896,2015-01-01 00:17:42,bin1062,35, +CTSPillarNetworkA,1063,1063,1063,1972-11-29,105.99999999999825,105.998955,2015-01-01 00:17:43,bin1063,75, +CTSPillarNetworkA,1064,1064,1064,1972-11-30,106.09999999999825,106.09895,2015-01-01 00:17:44,bin1064,35, +CTSPillarNetworkA,1065,1065,1065,1972-12-01,106.19999999999824,106.19895,2015-01-01 00:17:45,bin1065,75, +CTSPillarNetworkA,1066,1066,1066,1972-12-02,106.29999999999824,106.29895,2015-01-01 00:17:46,bin1066,35, +CTSPillarNetworkA,1067,1067,1067,1972-12-03,106.39999999999823,106.39895,2015-01-01 00:17:47,bin1067,75, +CTSPillarNetworkA,1068,1068,1068,1972-12-04,106.49999999999822,106.49895,2015-01-01 00:17:48,bin1068,35, +CTSPillarNetworkA,1069,1069,1069,1972-12-05,106.59999999999822,106.598946,2015-01-01 00:17:49,bin1069,75, +CTSPillarNetworkA,1070,1070,1070,1972-12-06,106.69999999999821,106.698944,2015-01-01 00:17:50,bin1070,35, +CTSPillarNetworkA,1071,1071,1071,1972-12-07,106.7999999999982,106.79894,2015-01-01 00:17:51,bin1071,75, +CTSPillarNetworkA,1072,1072,1072,1972-12-08,106.8999999999982,106.89894,2015-01-01 00:17:52,bin1072,35, +CTSPillarNetworkA,1073,1073,1073,1972-12-09,106.9999999999982,106.99894,2015-01-01 00:17:53,bin1073,75, +CTSPillarNetworkA,1074,1074,1074,1972-12-10,107.09999999999819,107.09894,2015-01-01 00:17:54,bin1074,35, +CTSPillarNetworkA,1075,1075,1075,1972-12-11,107.19999999999818,107.19894,2015-01-01 00:17:55,bin1075,75, +CTSPillarNetworkA,1076,1076,1076,1972-12-12,107.29999999999818,107.298935,2015-01-01 00:17:56,bin1076,35, +CTSPillarNetworkA,1077,1077,1077,1972-12-13,107.39999999999817,107.39893,2015-01-01 00:17:57,bin1077,75, +CTSPillarNetworkA,1078,1078,1078,1972-12-14,107.49999999999817,107.49893,2015-01-01 00:17:58,bin1078,35, +CTSPillarNetworkA,1079,1079,1079,1972-12-15,107.59999999999816,107.59893,2015-01-01 00:17:59,bin1079,75, +CTSPillarNetworkA,1080,1080,1080,1972-12-16,107.69999999999816,107.69893,2015-01-01 00:18:00,bin1080,35, +CTSPillarNetworkA,1081,1081,1081,1972-12-17,107.79999999999815,107.79893,2015-01-01 00:18:01,bin1081,75, +CTSPillarNetworkA,1082,1082,1082,1972-12-18,107.89999999999814,107.898926,2015-01-01 00:18:02,bin1082,35, +CTSPillarNetworkA,1083,1083,1083,1972-12-19,107.99999999999814,107.998924,2015-01-01 00:18:03,bin1083,75, +CTSPillarNetworkA,1084,1084,1084,1972-12-20,108.09999999999813,108.09892,2015-01-01 00:18:04,bin1084,35, +CTSPillarNetworkA,1085,1085,1085,1972-12-21,108.19999999999813,108.19892,2015-01-01 00:18:05,bin1085,75, +CTSPillarNetworkA,1086,1086,1086,1972-12-22,108.29999999999812,108.29892,2015-01-01 00:18:06,bin1086,35, +CTSPillarNetworkA,1087,1087,1087,1972-12-23,108.39999999999812,108.39892,2015-01-01 00:18:07,bin1087,75, +CTSPillarNetworkA,1088,1088,1088,1972-12-24,108.49999999999811,108.49892,2015-01-01 00:18:08,bin1088,35, +CTSPillarNetworkA,1089,1089,1089,1972-12-25,108.5999999999981,108.598915,2015-01-01 00:18:09,bin1089,75, +CTSPillarNetworkA,1090,1090,1090,1972-12-26,108.6999999999981,108.69891,2015-01-01 00:18:10,bin1090,35, +CTSPillarNetworkA,1091,1091,1091,1972-12-27,108.7999999999981,108.79891,2015-01-01 00:18:11,bin1091,75, +CTSPillarNetworkA,1092,1092,1092,1972-12-28,108.89999999999809,108.89891,2015-01-01 00:18:12,bin1092,35, +CTSPillarNetworkA,1093,1093,1093,1972-12-29,108.99999999999808,108.99891,2015-01-01 00:18:13,bin1093,75, +CTSPillarNetworkA,1094,1094,1094,1972-12-30,109.09999999999808,109.09891,2015-01-01 00:18:14,bin1094,35, +CTSPillarNetworkA,1095,1095,1095,1972-12-31,109.19999999999807,109.198906,2015-01-01 00:18:15,bin1095,75, +CTSPillarNetworkA,1096,1096,1096,1973-01-01,109.29999999999806,109.298904,2015-01-01 00:18:16,bin1096,35, +CTSPillarNetworkA,1097,1097,1097,1973-01-02,109.39999999999806,109.3989,2015-01-01 00:18:17,bin1097,75, +CTSPillarNetworkA,1098,1098,1098,1973-01-03,109.49999999999805,109.4989,2015-01-01 00:18:18,bin1098,35, +CTSPillarNetworkA,1099,1099,1099,1973-01-04,109.59999999999805,109.5989,2015-01-01 00:18:19,bin1099,75, +CTSPillarNetworkA,1100,1100,1100,1973-01-05,109.69999999999804,109.6989,2015-01-01 00:18:20,bin1100,35, +CTSPillarNetworkA,1101,1101,1101,1973-01-06,109.79999999999804,109.7989,2015-01-01 00:18:21,bin1101,75, +CTSPillarNetworkA,1102,1102,1102,1973-01-07,109.89999999999803,109.898895,2015-01-01 00:18:22,bin1102,35, +CTSPillarNetworkA,1103,1103,1103,1973-01-08,109.99999999999802,109.99889,2015-01-01 00:18:23,bin1103,75, +CTSPillarNetworkA,1104,1104,1104,1973-01-09,110.09999999999802,110.09889,2015-01-01 00:18:24,bin1104,35, +CTSPillarNetworkA,1105,1105,1105,1973-01-10,110.19999999999801,110.19889,2015-01-01 00:18:25,bin1105,75, +CTSPillarNetworkA,1106,1106,1106,1973-01-11,110.29999999999801,110.29889,2015-01-01 00:18:26,bin1106,35, +CTSPillarNetworkA,1107,1107,1107,1973-01-12,110.399999999998,110.39889,2015-01-01 00:18:27,bin1107,75, +CTSPillarNetworkA,1108,1108,1108,1973-01-13,110.499999999998,110.498886,2015-01-01 00:18:28,bin1108,35, +CTSPillarNetworkA,1109,1109,1109,1973-01-14,110.59999999999799,110.598885,2015-01-01 00:18:29,bin1109,75, +CTSPillarNetworkA,1110,1110,1110,1973-01-15,110.69999999999798,110.69888,2015-01-01 00:18:30,bin1110,35, +CTSPillarNetworkA,1111,1111,1111,1973-01-16,110.79999999999798,110.79888,2015-01-01 00:18:31,bin1111,75, +CTSPillarNetworkA,1112,1112,1112,1973-01-17,110.89999999999797,110.89888,2015-01-01 00:18:32,bin1112,35, +CTSPillarNetworkA,1113,1113,1113,1973-01-18,110.99999999999797,110.99888,2015-01-01 00:18:33,bin1113,75, +CTSPillarNetworkA,1114,1114,1114,1973-01-19,111.09999999999796,111.09888,2015-01-01 00:18:34,bin1114,35, +CTSPillarNetworkA,1115,1115,1115,1973-01-20,111.19999999999796,111.198875,2015-01-01 00:18:35,bin1115,75, +CTSPillarNetworkA,1116,1116,1116,1973-01-21,111.29999999999795,111.298874,2015-01-01 00:18:36,bin1116,35, +CTSPillarNetworkA,1117,1117,1117,1973-01-22,111.39999999999795,111.39887,2015-01-01 00:18:37,bin1117,75, +CTSPillarNetworkA,1118,1118,1118,1973-01-23,111.49999999999794,111.49887,2015-01-01 00:18:38,bin1118,35, +CTSPillarNetworkA,1119,1119,1119,1973-01-24,111.59999999999793,111.59887,2015-01-01 00:18:39,bin1119,75, +CTSPillarNetworkA,1120,1120,1120,1973-01-25,111.69999999999793,111.69887,2015-01-01 00:18:40,bin1120,35, +CTSPillarNetworkA,1121,1121,1121,1973-01-26,111.79999999999792,111.79887,2015-01-01 00:18:41,bin1121,75, +CTSPillarNetworkA,1122,1122,1122,1973-01-27,111.89999999999792,111.898865,2015-01-01 00:18:42,bin1122,35, +CTSPillarNetworkA,1123,1123,1123,1973-01-28,111.99999999999791,111.99886,2015-01-01 00:18:43,bin1123,75, +CTSPillarNetworkA,1124,1124,1124,1973-01-29,112.0999999999979,112.09886,2015-01-01 00:18:44,bin1124,35, +CTSPillarNetworkA,1125,1125,1125,1973-01-30,112.1999999999979,112.19886,2015-01-01 00:18:45,bin1125,75, +CTSPillarNetworkA,1126,1126,1126,1973-01-31,112.2999999999979,112.29886,2015-01-01 00:18:46,bin1126,35, +CTSPillarNetworkA,1127,1127,1127,1973-02-01,112.39999999999789,112.39886,2015-01-01 00:18:47,bin1127,75, +CTSPillarNetworkA,1128,1128,1128,1973-02-02,112.49999999999788,112.498856,2015-01-01 00:18:48,bin1128,35, +CTSPillarNetworkA,1129,1129,1129,1973-02-03,112.59999999999788,112.598854,2015-01-01 00:18:49,bin1129,75, +CTSPillarNetworkA,1130,1130,1130,1973-02-04,112.69999999999787,112.69885,2015-01-01 00:18:50,bin1130,35, +CTSPillarNetworkA,1131,1131,1131,1973-02-05,112.79999999999787,112.79885,2015-01-01 00:18:51,bin1131,75, +CTSPillarNetworkA,1132,1132,1132,1973-02-06,112.89999999999786,112.89885,2015-01-01 00:18:52,bin1132,35, +CTSPillarNetworkA,1133,1133,1133,1973-02-07,112.99999999999785,112.99885,2015-01-01 00:18:53,bin1133,75, +CTSPillarNetworkA,1134,1134,1134,1973-02-08,113.09999999999785,113.09885,2015-01-01 00:18:54,bin1134,35, +CTSPillarNetworkA,1135,1135,1135,1973-02-09,113.19999999999784,113.198845,2015-01-01 00:18:55,bin1135,75, +CTSPillarNetworkA,1136,1136,1136,1973-02-10,113.29999999999784,113.29884,2015-01-01 00:18:56,bin1136,35, +CTSPillarNetworkA,1137,1137,1137,1973-02-11,113.39999999999783,113.39884,2015-01-01 00:18:57,bin1137,75, +CTSPillarNetworkA,1138,1138,1138,1973-02-12,113.49999999999783,113.49884,2015-01-01 00:18:58,bin1138,35, +CTSPillarNetworkA,1139,1139,1139,1973-02-13,113.59999999999782,113.59884,2015-01-01 00:18:59,bin1139,75, +CTSPillarNetworkA,1140,1140,1140,1973-02-14,113.69999999999781,113.69884,2015-01-01 00:19:00,bin1140,35, +CTSPillarNetworkA,1141,1141,1141,1973-02-15,113.79999999999781,113.798836,2015-01-01 00:19:01,bin1141,75, +CTSPillarNetworkA,1142,1142,1142,1973-02-16,113.8999999999978,113.898834,2015-01-01 00:19:02,bin1142,35, +CTSPillarNetworkA,1143,1143,1143,1973-02-17,113.9999999999978,113.99883,2015-01-01 00:19:03,bin1143,75, +CTSPillarNetworkA,1144,1144,1144,1973-02-18,114.09999999999779,114.09883,2015-01-01 00:19:04,bin1144,35, +CTSPillarNetworkA,1145,1145,1145,1973-02-19,114.19999999999779,114.19883,2015-01-01 00:19:05,bin1145,75, +CTSPillarNetworkA,1146,1146,1146,1973-02-20,114.29999999999778,114.29883,2015-01-01 00:19:06,bin1146,35, +CTSPillarNetworkA,1147,1147,1147,1973-02-21,114.39999999999777,114.39883,2015-01-01 00:19:07,bin1147,75, +CTSPillarNetworkA,1148,1148,1148,1973-02-22,114.49999999999777,114.498825,2015-01-01 00:19:08,bin1148,35, +CTSPillarNetworkA,1149,1149,1149,1973-02-23,114.59999999999776,114.59882,2015-01-01 00:19:09,bin1149,75, +CTSPillarNetworkA,1150,1150,1150,1973-02-24,114.69999999999776,114.69882,2015-01-01 00:19:10,bin1150,35, +CTSPillarNetworkA,1151,1151,1151,1973-02-25,114.79999999999775,114.79882,2015-01-01 00:19:11,bin1151,75, +CTSPillarNetworkA,1152,1152,1152,1973-02-26,114.89999999999775,114.89882,2015-01-01 00:19:12,bin1152,35, +CTSPillarNetworkA,1153,1153,1153,1973-02-27,114.99999999999774,114.99882,2015-01-01 00:19:13,bin1153,75, +CTSPillarNetworkA,1154,1154,1154,1973-02-28,115.09999999999773,115.098816,2015-01-01 00:19:14,bin1154,35, +CTSPillarNetworkA,1155,1155,1155,1973-03-01,115.19999999999773,115.198814,2015-01-01 00:19:15,bin1155,75, +CTSPillarNetworkA,1156,1156,1156,1973-03-02,115.29999999999772,115.29881,2015-01-01 00:19:16,bin1156,35, +CTSPillarNetworkA,1157,1157,1157,1973-03-03,115.39999999999772,115.39881,2015-01-01 00:19:17,bin1157,75, +CTSPillarNetworkA,1158,1158,1158,1973-03-04,115.49999999999771,115.49881,2015-01-01 00:19:18,bin1158,35, +CTSPillarNetworkA,1159,1159,1159,1973-03-05,115.5999999999977,115.59881,2015-01-01 00:19:19,bin1159,75, +CTSPillarNetworkA,1160,1160,1160,1973-03-06,115.6999999999977,115.69881,2015-01-01 00:19:20,bin1160,35, +CTSPillarNetworkA,1161,1161,1161,1973-03-07,115.7999999999977,115.798805,2015-01-01 00:19:21,bin1161,75, +CTSPillarNetworkA,1162,1162,1162,1973-03-08,115.89999999999769,115.8988,2015-01-01 00:19:22,bin1162,35, +CTSPillarNetworkA,1163,1163,1163,1973-03-09,115.99999999999768,115.9988,2015-01-01 00:19:23,bin1163,75, +CTSPillarNetworkA,1164,1164,1164,1973-03-10,116.09999999999768,116.0988,2015-01-01 00:19:24,bin1164,35, +CTSPillarNetworkA,1165,1165,1165,1973-03-11,116.19999999999767,116.1988,2015-01-01 00:19:25,bin1165,75, +CTSPillarNetworkA,1166,1166,1166,1973-03-12,116.29999999999767,116.2988,2015-01-01 00:19:26,bin1166,35, +CTSPillarNetworkA,1167,1167,1167,1973-03-13,116.39999999999766,116.398796,2015-01-01 00:19:27,bin1167,75, +CTSPillarNetworkA,1168,1168,1168,1973-03-14,116.49999999999766,116.498795,2015-01-01 00:19:28,bin1168,35, +CTSPillarNetworkA,1169,1169,1169,1973-03-15,116.59999999999765,116.59879,2015-01-01 00:19:29,bin1169,75, +CTSPillarNetworkA,1170,1170,1170,1973-03-16,116.69999999999764,116.69879,2015-01-01 00:19:30,bin1170,35, +CTSPillarNetworkA,1171,1171,1171,1973-03-17,116.79999999999764,116.79879,2015-01-01 00:19:31,bin1171,75, +CTSPillarNetworkA,1172,1172,1172,1973-03-18,116.89999999999763,116.89879,2015-01-01 00:19:32,bin1172,35, +CTSPillarNetworkA,1173,1173,1173,1973-03-19,116.99999999999763,116.99879,2015-01-01 00:19:33,bin1173,75, +CTSPillarNetworkA,1174,1174,1174,1973-03-20,117.09999999999762,117.098785,2015-01-01 00:19:34,bin1174,35, +CTSPillarNetworkA,1175,1175,1175,1973-03-21,117.19999999999762,117.198784,2015-01-01 00:19:35,bin1175,75, +CTSPillarNetworkA,1176,1176,1176,1973-03-22,117.29999999999761,117.29878,2015-01-01 00:19:36,bin1176,35, +CTSPillarNetworkA,1177,1177,1177,1973-03-23,117.3999999999976,117.39878,2015-01-01 00:19:37,bin1177,75, +CTSPillarNetworkA,1178,1178,1178,1973-03-24,117.4999999999976,117.49878,2015-01-01 00:19:38,bin1178,35, +CTSPillarNetworkA,1179,1179,1179,1973-03-25,117.59999999999759,117.59878,2015-01-01 00:19:39,bin1179,75, +CTSPillarNetworkA,1180,1180,1180,1973-03-26,117.69999999999759,117.69878,2015-01-01 00:19:40,bin1180,35, +CTSPillarNetworkA,1181,1181,1181,1973-03-27,117.79999999999758,117.798775,2015-01-01 00:19:41,bin1181,75, +CTSPillarNetworkA,1182,1182,1182,1973-03-28,117.89999999999758,117.89877,2015-01-01 00:19:42,bin1182,35, +CTSPillarNetworkA,1183,1183,1183,1973-03-29,117.99999999999757,117.99877,2015-01-01 00:19:43,bin1183,75, +CTSPillarNetworkA,1184,1184,1184,1973-03-30,118.09999999999756,118.09877,2015-01-01 00:19:44,bin1184,35, +CTSPillarNetworkA,1185,1185,1185,1973-03-31,118.19999999999756,118.19877,2015-01-01 00:19:45,bin1185,75, +CTSPillarNetworkA,1186,1186,1186,1973-04-01,118.29999999999755,118.29877,2015-01-01 00:19:46,bin1186,35, +CTSPillarNetworkA,1187,1187,1187,1973-04-02,118.39999999999755,118.398766,2015-01-01 00:19:47,bin1187,75, +CTSPillarNetworkA,1188,1188,1188,1973-04-03,118.49999999999754,118.498764,2015-01-01 00:19:48,bin1188,35, +CTSPillarNetworkA,1189,1189,1189,1973-04-04,118.59999999999754,118.59876,2015-01-01 00:19:49,bin1189,75, +CTSPillarNetworkA,1190,1190,1190,1973-04-05,118.69999999999753,118.69876,2015-01-01 00:19:50,bin1190,35, +CTSPillarNetworkA,1191,1191,1191,1973-04-06,118.79999999999752,118.79876,2015-01-01 00:19:51,bin1191,75, +CTSPillarNetworkA,1192,1192,1192,1973-04-07,118.89999999999752,118.89876,2015-01-01 00:19:52,bin1192,35, +CTSPillarNetworkA,1193,1193,1193,1973-04-08,118.99999999999751,118.99876,2015-01-01 00:19:53,bin1193,75, +CTSPillarNetworkA,1194,1194,1194,1973-04-09,119.09999999999751,119.098755,2015-01-01 00:19:54,bin1194,35, +CTSPillarNetworkA,1195,1195,1195,1973-04-10,119.1999999999975,119.19875,2015-01-01 00:19:55,bin1195,75, +CTSPillarNetworkA,1196,1196,1196,1973-04-11,119.2999999999975,119.29875,2015-01-01 00:19:56,bin1196,35, +CTSPillarNetworkA,1197,1197,1197,1973-04-12,119.39999999999749,119.39875,2015-01-01 00:19:57,bin1197,75, +CTSPillarNetworkA,1198,1198,1198,1973-04-13,119.49999999999748,119.49875,2015-01-01 00:19:58,bin1198,35, +CTSPillarNetworkA,1199,1199,1199,1973-04-14,119.59999999999748,119.59875,2015-01-01 00:19:59,bin1199,75, +CTSPillarNetworkA,1200,1200,1200,1973-04-15,119.69999999999747,119.698746,2015-01-01 00:20:00,bin1200,35, +CTSPillarNetworkA,1201,1201,1201,1973-04-16,119.79999999999747,119.798744,2015-01-01 00:20:01,bin1201,75, +CTSPillarNetworkA,1202,1202,1202,1973-04-17,119.89999999999746,119.89874,2015-01-01 00:20:02,bin1202,35, +CTSPillarNetworkA,1203,1203,1203,1973-04-18,119.99999999999746,119.99874,2015-01-01 00:20:03,bin1203,75, +CTSPillarNetworkA,1204,1204,1204,1973-04-19,120.09999999999745,120.09874,2015-01-01 00:20:04,bin1204,35, +CTSPillarNetworkA,1205,1205,1205,1973-04-20,120.19999999999744,120.19874,2015-01-01 00:20:05,bin1205,75, +CTSPillarNetworkA,1206,1206,1206,1973-04-21,120.29999999999744,120.29874,2015-01-01 00:20:06,bin1206,35, +CTSPillarNetworkA,1207,1207,1207,1973-04-22,120.39999999999743,120.398735,2015-01-01 00:20:07,bin1207,75, +CTSPillarNetworkA,1208,1208,1208,1973-04-23,120.49999999999743,120.49873,2015-01-01 00:20:08,bin1208,35, +CTSPillarNetworkA,1209,1209,1209,1973-04-24,120.59999999999742,120.59873,2015-01-01 00:20:09,bin1209,75, +CTSPillarNetworkA,1210,1210,1210,1973-04-25,120.69999999999742,120.69873,2015-01-01 00:20:10,bin1210,35, +CTSPillarNetworkA,1211,1211,1211,1973-04-26,120.79999999999741,120.79873,2015-01-01 00:20:11,bin1211,75, +CTSPillarNetworkA,1212,1212,1212,1973-04-27,120.8999999999974,120.89873,2015-01-01 00:20:12,bin1212,35, +CTSPillarNetworkA,1213,1213,1213,1973-04-28,120.9999999999974,120.998726,2015-01-01 00:20:13,bin1213,75, +CTSPillarNetworkA,1214,1214,1214,1973-04-29,121.0999999999974,121.098724,2015-01-01 00:20:14,bin1214,35, +CTSPillarNetworkA,1215,1215,1215,1973-04-30,121.19999999999739,121.19872,2015-01-01 00:20:15,bin1215,75, +CTSPillarNetworkA,1216,1216,1216,1973-05-01,121.29999999999738,121.29872,2015-01-01 00:20:16,bin1216,35, +CTSPillarNetworkA,1217,1217,1217,1973-05-02,121.39999999999738,121.39872,2015-01-01 00:20:17,bin1217,75, +CTSPillarNetworkA,1218,1218,1218,1973-05-03,121.49999999999737,121.49872,2015-01-01 00:20:18,bin1218,35, +CTSPillarNetworkA,1219,1219,1219,1973-05-04,121.59999999999737,121.59872,2015-01-01 00:20:19,bin1219,75, +CTSPillarNetworkA,1220,1220,1220,1973-05-05,121.69999999999736,121.698715,2015-01-01 00:20:20,bin1220,35, +CTSPillarNetworkA,1221,1221,1221,1973-05-06,121.79999999999735,121.79871,2015-01-01 00:20:21,bin1221,75, +CTSPillarNetworkA,1222,1222,1222,1973-05-07,121.89999999999735,121.89871,2015-01-01 00:20:22,bin1222,35, +CTSPillarNetworkA,1223,1223,1223,1973-05-08,121.99999999999734,121.99871,2015-01-01 00:20:23,bin1223,75, +CTSPillarNetworkA,1224,1224,1224,1973-05-09,122.09999999999734,122.09871,2015-01-01 00:20:24,bin1224,35, +CTSPillarNetworkA,1225,1225,1225,1973-05-10,122.19999999999733,122.19871,2015-01-01 00:20:25,bin1225,75, +CTSPillarNetworkA,1226,1226,1226,1973-05-11,122.29999999999733,122.298706,2015-01-01 00:20:26,bin1226,35, +CTSPillarNetworkA,1227,1227,1227,1973-05-12,122.39999999999732,122.398705,2015-01-01 00:20:27,bin1227,75, +CTSPillarNetworkA,1228,1228,1228,1973-05-13,122.49999999999731,122.4987,2015-01-01 00:20:28,bin1228,35, +CTSPillarNetworkA,1229,1229,1229,1973-05-14,122.59999999999731,122.5987,2015-01-01 00:20:29,bin1229,75, +CTSPillarNetworkA,1230,1230,1230,1973-05-15,122.6999999999973,122.6987,2015-01-01 00:20:30,bin1230,35, +CTSPillarNetworkA,1231,1231,1231,1973-05-16,122.7999999999973,122.7987,2015-01-01 00:20:31,bin1231,75, +CTSPillarNetworkA,1232,1232,1232,1973-05-17,122.89999999999729,122.8987,2015-01-01 00:20:32,bin1232,35, +CTSPillarNetworkA,1233,1233,1233,1973-05-18,122.99999999999729,122.998695,2015-01-01 00:20:33,bin1233,75, +CTSPillarNetworkA,1234,1234,1234,1973-05-19,123.09999999999728,123.098694,2015-01-01 00:20:34,bin1234,35, +CTSPillarNetworkA,1235,1235,1235,1973-05-20,123.19999999999727,123.19869,2015-01-01 00:20:35,bin1235,75, +CTSPillarNetworkA,1236,1236,1236,1973-05-21,123.29999999999727,123.29869,2015-01-01 00:20:36,bin1236,35, +CTSPillarNetworkA,1237,1237,1237,1973-05-22,123.39999999999726,123.39869,2015-01-01 00:20:37,bin1237,75, +CTSPillarNetworkA,1238,1238,1238,1973-05-23,123.49999999999726,123.49869,2015-01-01 00:20:38,bin1238,35, +CTSPillarNetworkA,1239,1239,1239,1973-05-24,123.59999999999725,123.59869,2015-01-01 00:20:39,bin1239,75, +CTSPillarNetworkA,1240,1240,1240,1973-05-25,123.69999999999725,123.698685,2015-01-01 00:20:40,bin1240,35, +CTSPillarNetworkA,1241,1241,1241,1973-05-26,123.79999999999724,123.79868,2015-01-01 00:20:41,bin1241,75, +CTSPillarNetworkA,1242,1242,1242,1973-05-27,123.89999999999723,123.89868,2015-01-01 00:20:42,bin1242,35, +CTSPillarNetworkA,1243,1243,1243,1973-05-28,123.99999999999723,123.99868,2015-01-01 00:20:43,bin1243,75, +CTSPillarNetworkA,1244,1244,1244,1973-05-29,124.09999999999722,124.09868,2015-01-01 00:20:44,bin1244,35, +CTSPillarNetworkA,1245,1245,1245,1973-05-30,124.19999999999722,124.19868,2015-01-01 00:20:45,bin1245,75, +CTSPillarNetworkA,1246,1246,1246,1973-05-31,124.29999999999721,124.298676,2015-01-01 00:20:46,bin1246,35, +CTSPillarNetworkA,1247,1247,1247,1973-06-01,124.3999999999972,124.398674,2015-01-01 00:20:47,bin1247,75, +CTSPillarNetworkA,1248,1248,1248,1973-06-02,124.4999999999972,124.49867,2015-01-01 00:20:48,bin1248,35, +CTSPillarNetworkA,1249,1249,1249,1973-06-03,124.5999999999972,124.59867,2015-01-01 00:20:49,bin1249,75, +CTSPillarNetworkA,1250,1250,1250,1973-06-04,124.69999999999719,124.69867,2015-01-01 00:20:50,bin1250,35, +CTSPillarNetworkA,1251,1251,1251,1973-06-05,124.79999999999718,124.79867,2015-01-01 00:20:51,bin1251,75, +CTSPillarNetworkA,1252,1252,1252,1973-06-06,124.89999999999718,124.89867,2015-01-01 00:20:52,bin1252,35, +CTSPillarNetworkA,1253,1253,1253,1973-06-07,124.99999999999717,124.998665,2015-01-01 00:20:53,bin1253,75, +CTSPillarNetworkA,1254,1254,1254,1973-06-08,125.09999999999717,125.09866,2015-01-01 00:20:54,bin1254,35, +CTSPillarNetworkA,1255,1255,1255,1973-06-09,125.19999999999716,125.19866,2015-01-01 00:20:55,bin1255,75, +CTSPillarNetworkA,1256,1256,1256,1973-06-10,125.29999999999715,125.29866,2015-01-01 00:20:56,bin1256,35, +CTSPillarNetworkA,1257,1257,1257,1973-06-11,125.39999999999715,125.39866,2015-01-01 00:20:57,bin1257,75, +CTSPillarNetworkA,1258,1258,1258,1973-06-12,125.49999999999714,125.49866,2015-01-01 00:20:58,bin1258,35, +CTSPillarNetworkA,1259,1259,1259,1973-06-13,125.59999999999714,125.598656,2015-01-01 00:20:59,bin1259,75, +CTSPillarNetworkA,1260,1260,1260,1973-06-14,125.69999999999713,125.698654,2015-01-01 00:21:00,bin1260,35, +CTSPillarNetworkA,1261,1261,1261,1973-06-15,125.79999999999713,125.79865,2015-01-01 00:21:01,bin1261,75, +CTSPillarNetworkA,1262,1262,1262,1973-06-16,125.89999999999712,125.89865,2015-01-01 00:21:02,bin1262,35, +CTSPillarNetworkA,1263,1263,1263,1973-06-17,125.99999999999712,125.99865,2015-01-01 00:21:03,bin1263,75, +CTSPillarNetworkA,1264,1264,1264,1973-06-18,126.09999999999711,126.09865,2015-01-01 00:21:04,bin1264,35, +CTSPillarNetworkA,1265,1265,1265,1973-06-19,126.1999999999971,126.19865,2015-01-01 00:21:05,bin1265,75, +CTSPillarNetworkA,1266,1266,1266,1973-06-20,126.2999999999971,126.298645,2015-01-01 00:21:06,bin1266,35, +CTSPillarNetworkA,1267,1267,1267,1973-06-21,126.39999999999709,126.39864,2015-01-01 00:21:07,bin1267,75, +CTSPillarNetworkA,1268,1268,1268,1973-06-22,126.49999999999709,126.49864,2015-01-01 00:21:08,bin1268,35, +CTSPillarNetworkA,1269,1269,1269,1973-06-23,126.59999999999708,126.59864,2015-01-01 00:21:09,bin1269,75, +CTSPillarNetworkA,1270,1270,1270,1973-06-24,126.69999999999708,126.69864,2015-01-01 00:21:10,bin1270,35, +CTSPillarNetworkA,1271,1271,1271,1973-06-25,126.79999999999707,126.79864,2015-01-01 00:21:11,bin1271,75, +CTSPillarNetworkA,1272,1272,1272,1973-06-26,126.89999999999706,126.898636,2015-01-01 00:21:12,bin1272,35, +CTSPillarNetworkA,1273,1273,1273,1973-06-27,126.99999999999706,126.998634,2015-01-01 00:21:13,bin1273,75, +CTSPillarNetworkA,1274,1274,1274,1973-06-28,127.09999999999705,127.09863,2015-01-01 00:21:14,bin1274,35, +CTSPillarNetworkA,1275,1275,1275,1973-06-29,127.19999999999705,127.19863,2015-01-01 00:21:15,bin1275,75, +CTSPillarNetworkA,1276,1276,1276,1973-06-30,127.29999999999704,127.29863,2015-01-01 00:21:16,bin1276,35, +CTSPillarNetworkA,1277,1277,1277,1973-07-01,127.39999999999704,127.39863,2015-01-01 00:21:17,bin1277,75, +CTSPillarNetworkA,1278,1278,1278,1973-07-02,127.49999999999703,127.49863,2015-01-01 00:21:18,bin1278,35, +CTSPillarNetworkA,1279,1279,1279,1973-07-03,127.59999999999702,127.598625,2015-01-01 00:21:19,bin1279,75, +CTSPillarNetworkA,1280,1280,1280,1973-07-04,127.69999999999702,127.69862,2015-01-01 00:21:20,bin1280,35, +CTSPillarNetworkA,1281,1281,1281,1973-07-05,127.79999999999701,127.79862,2015-01-01 00:21:21,bin1281,75, +CTSPillarNetworkA,1282,1282,1282,1973-07-06,127.89999999999701,127.89862,2015-01-01 00:21:22,bin1282,35, +CTSPillarNetworkA,1283,1283,1283,1973-07-07,127.999999999997,127.99862,2015-01-01 00:21:23,bin1283,75, +CTSPillarNetworkA,1284,1284,1284,1973-07-08,128.099999999997,128.09862,2015-01-01 00:21:24,bin1284,35, +CTSPillarNetworkA,1285,1285,1285,1973-07-09,128.199999999997,128.19862,2015-01-01 00:21:25,bin1285,75, +CTSPillarNetworkA,1286,1286,1286,1973-07-10,128.299999999997,128.29863,2015-01-01 00:21:26,bin1286,35, +CTSPillarNetworkA,1287,1287,1287,1973-07-11,128.399999999997,128.39864,2015-01-01 00:21:27,bin1287,75, +CTSPillarNetworkA,1288,1288,1288,1973-07-12,128.499999999997,128.49864,2015-01-01 00:21:28,bin1288,35, +CTSPillarNetworkA,1289,1289,1289,1973-07-13,128.59999999999698,128.59865,2015-01-01 00:21:29,bin1289,75, +CTSPillarNetworkA,1290,1290,1290,1973-07-14,128.69999999999698,128.69865,2015-01-01 00:21:30,bin1290,35, +CTSPillarNetworkA,1291,1291,1291,1973-07-15,128.79999999999697,128.79866,2015-01-01 00:21:31,bin1291,75, +CTSPillarNetworkA,1292,1292,1292,1973-07-16,128.89999999999696,128.89867,2015-01-01 00:21:32,bin1292,35, +CTSPillarNetworkA,1293,1293,1293,1973-07-17,128.99999999999696,128.99867,2015-01-01 00:21:33,bin1293,75, +CTSPillarNetworkA,1294,1294,1294,1973-07-18,129.09999999999695,129.09868,2015-01-01 00:21:34,bin1294,35, +CTSPillarNetworkA,1295,1295,1295,1973-07-19,129.19999999999695,129.19868,2015-01-01 00:21:35,bin1295,75, +CTSPillarNetworkA,1296,1296,1296,1973-07-20,129.29999999999694,129.29869,2015-01-01 00:21:36,bin1296,35, +CTSPillarNetworkA,1297,1297,1297,1973-07-21,129.39999999999694,129.3987,2015-01-01 00:21:37,bin1297,75, +CTSPillarNetworkA,1298,1298,1298,1973-07-22,129.49999999999693,129.4987,2015-01-01 00:21:38,bin1298,35, +CTSPillarNetworkA,1299,1299,1299,1973-07-23,129.59999999999692,129.59871,2015-01-01 00:21:39,bin1299,75, +CTSPillarNetworkA,1300,1300,1300,1973-07-24,129.69999999999692,129.69872,2015-01-01 00:21:40,bin1300,35, +CTSPillarNetworkA,1301,1301,1301,1973-07-25,129.7999999999969,129.79872,2015-01-01 00:21:41,bin1301,75, +CTSPillarNetworkA,1302,1302,1302,1973-07-26,129.8999999999969,129.89873,2015-01-01 00:21:42,bin1302,35, +CTSPillarNetworkA,1303,1303,1303,1973-07-27,129.9999999999969,129.99873,2015-01-01 00:21:43,bin1303,75, +CTSPillarNetworkA,1304,1304,1304,1973-07-28,130.0999999999969,130.09874,2015-01-01 00:21:44,bin1304,35, +CTSPillarNetworkA,1305,1305,1305,1973-07-29,130.1999999999969,130.19875,2015-01-01 00:21:45,bin1305,75, +CTSPillarNetworkA,1306,1306,1306,1973-07-30,130.29999999999688,130.29875,2015-01-01 00:21:46,bin1306,35, +CTSPillarNetworkA,1307,1307,1307,1973-07-31,130.39999999999688,130.39876,2015-01-01 00:21:47,bin1307,75, +CTSPillarNetworkA,1308,1308,1308,1973-08-01,130.49999999999687,130.49876,2015-01-01 00:21:48,bin1308,35, +CTSPillarNetworkA,1309,1309,1309,1973-08-02,130.59999999999687,130.59877,2015-01-01 00:21:49,bin1309,75, +CTSPillarNetworkA,1310,1310,1310,1973-08-03,130.69999999999686,130.69878,2015-01-01 00:21:50,bin1310,35, +CTSPillarNetworkA,1311,1311,1311,1973-08-04,130.79999999999686,130.79878,2015-01-01 00:21:51,bin1311,75, +CTSPillarNetworkA,1312,1312,1312,1973-08-05,130.89999999999685,130.89879,2015-01-01 00:21:52,bin1312,35, +CTSPillarNetworkA,1313,1313,1313,1973-08-06,130.99999999999685,130.9988,2015-01-01 00:21:53,bin1313,75, +CTSPillarNetworkA,1314,1314,1314,1973-08-07,131.09999999999684,131.0988,2015-01-01 00:21:54,bin1314,35, +CTSPillarNetworkA,1315,1315,1315,1973-08-08,131.19999999999683,131.1988,2015-01-01 00:21:55,bin1315,75, +CTSPillarNetworkA,1316,1316,1316,1973-08-09,131.29999999999683,131.29881,2015-01-01 00:21:56,bin1316,35, +CTSPillarNetworkA,1317,1317,1317,1973-08-10,131.39999999999682,131.39882,2015-01-01 00:21:57,bin1317,75, +CTSPillarNetworkA,1318,1318,1318,1973-08-11,131.49999999999682,131.49883,2015-01-01 00:21:58,bin1318,35, +CTSPillarNetworkA,1319,1319,1319,1973-08-12,131.5999999999968,131.59883,2015-01-01 00:21:59,bin1319,75, +CTSPillarNetworkA,1320,1320,1320,1973-08-13,131.6999999999968,131.69884,2015-01-01 00:22:00,bin1320,35, +CTSPillarNetworkA,1321,1321,1321,1973-08-14,131.7999999999968,131.79884,2015-01-01 00:22:01,bin1321,75, +CTSPillarNetworkA,1322,1322,1322,1973-08-15,131.8999999999968,131.89885,2015-01-01 00:22:02,bin1322,35, +CTSPillarNetworkA,1323,1323,1323,1973-08-16,131.9999999999968,131.99886,2015-01-01 00:22:03,bin1323,75, +CTSPillarNetworkA,1324,1324,1324,1973-08-17,132.09999999999678,132.09886,2015-01-01 00:22:04,bin1324,35, +CTSPillarNetworkA,1325,1325,1325,1973-08-18,132.19999999999678,132.19887,2015-01-01 00:22:05,bin1325,75, +CTSPillarNetworkA,1326,1326,1326,1973-08-19,132.29999999999677,132.29887,2015-01-01 00:22:06,bin1326,35, +CTSPillarNetworkA,1327,1327,1327,1973-08-20,132.39999999999677,132.39888,2015-01-01 00:22:07,bin1327,75, +CTSPillarNetworkA,1328,1328,1328,1973-08-21,132.49999999999676,132.49889,2015-01-01 00:22:08,bin1328,35, +CTSPillarNetworkA,1329,1329,1329,1973-08-22,132.59999999999675,132.59889,2015-01-01 00:22:09,bin1329,75, +CTSPillarNetworkA,1330,1330,1330,1973-08-23,132.69999999999675,132.6989,2015-01-01 00:22:10,bin1330,35, +CTSPillarNetworkA,1331,1331,1331,1973-08-24,132.79999999999674,132.7989,2015-01-01 00:22:11,bin1331,75, +CTSPillarNetworkA,1332,1332,1332,1973-08-25,132.89999999999674,132.89891,2015-01-01 00:22:12,bin1332,35, +CTSPillarNetworkA,1333,1333,1333,1973-08-26,132.99999999999673,132.99892,2015-01-01 00:22:13,bin1333,75, +CTSPillarNetworkA,1334,1334,1334,1973-08-27,133.09999999999673,133.09892,2015-01-01 00:22:14,bin1334,35, +CTSPillarNetworkA,1335,1335,1335,1973-08-28,133.19999999999672,133.19893,2015-01-01 00:22:15,bin1335,75, +CTSPillarNetworkA,1336,1336,1336,1973-08-29,133.29999999999671,133.29893,2015-01-01 00:22:16,bin1336,35, +CTSPillarNetworkA,1337,1337,1337,1973-08-30,133.3999999999967,133.39894,2015-01-01 00:22:17,bin1337,75, +CTSPillarNetworkA,1338,1338,1338,1973-08-31,133.4999999999967,133.49895,2015-01-01 00:22:18,bin1338,35, +CTSPillarNetworkA,1339,1339,1339,1973-09-01,133.5999999999967,133.59895,2015-01-01 00:22:19,bin1339,75, +CTSPillarNetworkA,1340,1340,1340,1973-09-02,133.6999999999967,133.69896,2015-01-01 00:22:20,bin1340,35, +CTSPillarNetworkA,1341,1341,1341,1973-09-03,133.7999999999967,133.79897,2015-01-01 00:22:21,bin1341,75, +CTSPillarNetworkA,1342,1342,1342,1973-09-04,133.89999999999668,133.89897,2015-01-01 00:22:22,bin1342,35, +CTSPillarNetworkA,1343,1343,1343,1973-09-05,133.99999999999667,133.99898,2015-01-01 00:22:23,bin1343,75, +CTSPillarNetworkA,1344,1344,1344,1973-09-06,134.09999999999667,134.09898,2015-01-01 00:22:24,bin1344,35, +CTSPillarNetworkA,1345,1345,1345,1973-09-07,134.19999999999666,134.19899,2015-01-01 00:22:25,bin1345,75, +CTSPillarNetworkA,1346,1346,1346,1973-09-08,134.29999999999666,134.299,2015-01-01 00:22:26,bin1346,35, +CTSPillarNetworkA,1347,1347,1347,1973-09-09,134.39999999999665,134.399,2015-01-01 00:22:27,bin1347,75, +CTSPillarNetworkA,1348,1348,1348,1973-09-10,134.49999999999665,134.49901,2015-01-01 00:22:28,bin1348,35, +CTSPillarNetworkA,1349,1349,1349,1973-09-11,134.59999999999664,134.59901,2015-01-01 00:22:29,bin1349,75, +CTSPillarNetworkA,1350,1350,1350,1973-09-12,134.69999999999663,134.69902,2015-01-01 00:22:30,bin1350,35, +CTSPillarNetworkA,1351,1351,1351,1973-09-13,134.79999999999663,134.79903,2015-01-01 00:22:31,bin1351,75, +CTSPillarNetworkA,1352,1352,1352,1973-09-14,134.89999999999662,134.89903,2015-01-01 00:22:32,bin1352,35, +CTSPillarNetworkA,1353,1353,1353,1973-09-15,134.99999999999662,134.99904,2015-01-01 00:22:33,bin1353,75, +CTSPillarNetworkA,1354,1354,1354,1973-09-16,135.0999999999966,135.09904,2015-01-01 00:22:34,bin1354,35, +CTSPillarNetworkA,1355,1355,1355,1973-09-17,135.1999999999966,135.19905,2015-01-01 00:22:35,bin1355,75, +CTSPillarNetworkA,1356,1356,1356,1973-09-18,135.2999999999966,135.29906,2015-01-01 00:22:36,bin1356,35, +CTSPillarNetworkA,1357,1357,1357,1973-09-19,135.3999999999966,135.39906,2015-01-01 00:22:37,bin1357,75, +CTSPillarNetworkA,1358,1358,1358,1973-09-20,135.4999999999966,135.49907,2015-01-01 00:22:38,bin1358,35, +CTSPillarNetworkA,1359,1359,1359,1973-09-21,135.59999999999658,135.59908,2015-01-01 00:22:39,bin1359,75, +CTSPillarNetworkA,1360,1360,1360,1973-09-22,135.69999999999658,135.69908,2015-01-01 00:22:40,bin1360,35, +CTSPillarNetworkA,1361,1361,1361,1973-09-23,135.79999999999657,135.79909,2015-01-01 00:22:41,bin1361,75, +CTSPillarNetworkA,1362,1362,1362,1973-09-24,135.89999999999657,135.8991,2015-01-01 00:22:42,bin1362,35, +CTSPillarNetworkA,1363,1363,1363,1973-09-25,135.99999999999656,135.9991,2015-01-01 00:22:43,bin1363,75, +CTSPillarNetworkA,1364,1364,1364,1973-09-26,136.09999999999656,136.0991,2015-01-01 00:22:44,bin1364,35, +CTSPillarNetworkA,1365,1365,1365,1973-09-27,136.19999999999655,136.19911,2015-01-01 00:22:45,bin1365,75, +CTSPillarNetworkA,1366,1366,1366,1973-09-28,136.29999999999654,136.29912,2015-01-01 00:22:46,bin1366,35, +CTSPillarNetworkA,1367,1367,1367,1973-09-29,136.39999999999654,136.39912,2015-01-01 00:22:47,bin1367,75, +CTSPillarNetworkA,1368,1368,1368,1973-09-30,136.49999999999653,136.49913,2015-01-01 00:22:48,bin1368,35, +CTSPillarNetworkA,1369,1369,1369,1973-10-01,136.59999999999653,136.59914,2015-01-01 00:22:49,bin1369,75, +CTSPillarNetworkA,1370,1370,1370,1973-10-02,136.69999999999652,136.69914,2015-01-01 00:22:50,bin1370,35, +CTSPillarNetworkA,1371,1371,1371,1973-10-03,136.79999999999652,136.79915,2015-01-01 00:22:51,bin1371,75, +CTSPillarNetworkA,1372,1372,1372,1973-10-04,136.8999999999965,136.89915,2015-01-01 00:22:52,bin1372,35, +CTSPillarNetworkA,1373,1373,1373,1973-10-05,136.9999999999965,136.99916,2015-01-01 00:22:53,bin1373,75, +CTSPillarNetworkA,1374,1374,1374,1973-10-06,137.0999999999965,137.09917,2015-01-01 00:22:54,bin1374,35, +CTSPillarNetworkA,1375,1375,1375,1973-10-07,137.1999999999965,137.19917,2015-01-01 00:22:55,bin1375,75, +CTSPillarNetworkA,1376,1376,1376,1973-10-08,137.2999999999965,137.29918,2015-01-01 00:22:56,bin1376,35, +CTSPillarNetworkA,1377,1377,1377,1973-10-09,137.39999999999648,137.39919,2015-01-01 00:22:57,bin1377,75, +CTSPillarNetworkA,1378,1378,1378,1973-10-10,137.49999999999648,137.49919,2015-01-01 00:22:58,bin1378,35, +CTSPillarNetworkA,1379,1379,1379,1973-10-11,137.59999999999647,137.5992,2015-01-01 00:22:59,bin1379,75, +CTSPillarNetworkA,1380,1380,1380,1973-10-12,137.69999999999646,137.6992,2015-01-01 00:23:00,bin1380,35, +CTSPillarNetworkA,1381,1381,1381,1973-10-13,137.79999999999646,137.79921,2015-01-01 00:23:01,bin1381,75, +CTSPillarNetworkA,1382,1382,1382,1973-10-14,137.89999999999645,137.89922,2015-01-01 00:23:02,bin1382,35, +CTSPillarNetworkA,1383,1383,1383,1973-10-15,137.99999999999645,137.99922,2015-01-01 00:23:03,bin1383,75, +CTSPillarNetworkA,1384,1384,1384,1973-10-16,138.09999999999644,138.09923,2015-01-01 00:23:04,bin1384,35, +CTSPillarNetworkA,1385,1385,1385,1973-10-17,138.19999999999644,138.19923,2015-01-01 00:23:05,bin1385,75, +CTSPillarNetworkA,1386,1386,1386,1973-10-18,138.29999999999643,138.29924,2015-01-01 00:23:06,bin1386,35, +CTSPillarNetworkA,1387,1387,1387,1973-10-19,138.39999999999642,138.39925,2015-01-01 00:23:07,bin1387,75, +CTSPillarNetworkA,1388,1388,1388,1973-10-20,138.49999999999642,138.49925,2015-01-01 00:23:08,bin1388,35, +CTSPillarNetworkA,1389,1389,1389,1973-10-21,138.5999999999964,138.59926,2015-01-01 00:23:09,bin1389,75, +CTSPillarNetworkA,1390,1390,1390,1973-10-22,138.6999999999964,138.69926,2015-01-01 00:23:10,bin1390,35, +CTSPillarNetworkA,1391,1391,1391,1973-10-23,138.7999999999964,138.79927,2015-01-01 00:23:11,bin1391,75, +CTSPillarNetworkA,1392,1392,1392,1973-10-24,138.8999999999964,138.89928,2015-01-01 00:23:12,bin1392,35, +CTSPillarNetworkA,1393,1393,1393,1973-10-25,138.9999999999964,138.99928,2015-01-01 00:23:13,bin1393,75, +CTSPillarNetworkA,1394,1394,1394,1973-10-26,139.09999999999638,139.09929,2015-01-01 00:23:14,bin1394,35, +CTSPillarNetworkA,1395,1395,1395,1973-10-27,139.19999999999638,139.1993,2015-01-01 00:23:15,bin1395,75, +CTSPillarNetworkA,1396,1396,1396,1973-10-28,139.29999999999637,139.2993,2015-01-01 00:23:16,bin1396,35, +CTSPillarNetworkA,1397,1397,1397,1973-10-29,139.39999999999637,139.3993,2015-01-01 00:23:17,bin1397,75, +CTSPillarNetworkA,1398,1398,1398,1973-10-30,139.49999999999636,139.49931,2015-01-01 00:23:18,bin1398,35, +CTSPillarNetworkA,1399,1399,1399,1973-10-31,139.59999999999636,139.59932,2015-01-01 00:23:19,bin1399,75, +CTSPillarNetworkA,1400,1400,1400,1973-11-01,139.69999999999635,139.69933,2015-01-01 00:23:20,bin1400,35, +CTSPillarNetworkA,1401,1401,1401,1973-11-02,139.79999999999634,139.79933,2015-01-01 00:23:21,bin1401,75, +CTSPillarNetworkA,1402,1402,1402,1973-11-03,139.89999999999634,139.89934,2015-01-01 00:23:22,bin1402,35, +CTSPillarNetworkA,1403,1403,1403,1973-11-04,139.99999999999633,139.99934,2015-01-01 00:23:23,bin1403,75, +CTSPillarNetworkA,1404,1404,1404,1973-11-05,140.09999999999633,140.09935,2015-01-01 00:23:24,bin1404,35, +CTSPillarNetworkA,1405,1405,1405,1973-11-06,140.19999999999632,140.19936,2015-01-01 00:23:25,bin1405,75, +CTSPillarNetworkA,1406,1406,1406,1973-11-07,140.29999999999632,140.29936,2015-01-01 00:23:26,bin1406,35, +CTSPillarNetworkA,1407,1407,1407,1973-11-08,140.3999999999963,140.39937,2015-01-01 00:23:27,bin1407,75, +CTSPillarNetworkA,1408,1408,1408,1973-11-09,140.4999999999963,140.49937,2015-01-01 00:23:28,bin1408,35, +CTSPillarNetworkA,1409,1409,1409,1973-11-10,140.5999999999963,140.59938,2015-01-01 00:23:29,bin1409,75, +CTSPillarNetworkA,1410,1410,1410,1973-11-11,140.6999999999963,140.69939,2015-01-01 00:23:30,bin1410,35, +CTSPillarNetworkA,1411,1411,1411,1973-11-12,140.7999999999963,140.7994,2015-01-01 00:23:31,bin1411,75, +CTSPillarNetworkA,1412,1412,1412,1973-11-13,140.89999999999628,140.8994,2015-01-01 00:23:32,bin1412,35, +CTSPillarNetworkA,1413,1413,1413,1973-11-14,140.99999999999628,140.9994,2015-01-01 00:23:33,bin1413,75, +CTSPillarNetworkA,1414,1414,1414,1973-11-15,141.09999999999627,141.09941,2015-01-01 00:23:34,bin1414,35, +CTSPillarNetworkA,1415,1415,1415,1973-11-16,141.19999999999627,141.19942,2015-01-01 00:23:35,bin1415,75, +CTSPillarNetworkA,1416,1416,1416,1973-11-17,141.29999999999626,141.29942,2015-01-01 00:23:36,bin1416,35, +CTSPillarNetworkA,1417,1417,1417,1973-11-18,141.39999999999625,141.39943,2015-01-01 00:23:37,bin1417,75, +CTSPillarNetworkA,1418,1418,1418,1973-11-19,141.49999999999625,141.49944,2015-01-01 00:23:38,bin1418,35, +CTSPillarNetworkA,1419,1419,1419,1973-11-20,141.59999999999624,141.59944,2015-01-01 00:23:39,bin1419,75, +CTSPillarNetworkA,1420,1420,1420,1973-11-21,141.69999999999624,141.69945,2015-01-01 00:23:40,bin1420,35, +CTSPillarNetworkA,1421,1421,1421,1973-11-22,141.79999999999623,141.79945,2015-01-01 00:23:41,bin1421,75, +CTSPillarNetworkA,1422,1422,1422,1973-11-23,141.89999999999623,141.89946,2015-01-01 00:23:42,bin1422,35, +CTSPillarNetworkA,1423,1423,1423,1973-11-24,141.99999999999622,141.99947,2015-01-01 00:23:43,bin1423,75, +CTSPillarNetworkA,1424,1424,1424,1973-11-25,142.09999999999621,142.09947,2015-01-01 00:23:44,bin1424,35, +CTSPillarNetworkA,1425,1425,1425,1973-11-26,142.1999999999962,142.19948,2015-01-01 00:23:45,bin1425,75, +CTSPillarNetworkA,1426,1426,1426,1973-11-27,142.2999999999962,142.29948,2015-01-01 00:23:46,bin1426,35, +CTSPillarNetworkA,1427,1427,1427,1973-11-28,142.3999999999962,142.39949,2015-01-01 00:23:47,bin1427,75, +CTSPillarNetworkA,1428,1428,1428,1973-11-29,142.4999999999962,142.4995,2015-01-01 00:23:48,bin1428,35, +CTSPillarNetworkA,1429,1429,1429,1973-11-30,142.5999999999962,142.5995,2015-01-01 00:23:49,bin1429,75, +CTSPillarNetworkA,1430,1430,1430,1973-12-01,142.69999999999618,142.69951,2015-01-01 00:23:50,bin1430,35, +CTSPillarNetworkA,1431,1431,1431,1973-12-02,142.79999999999617,142.79951,2015-01-01 00:23:51,bin1431,75, +CTSPillarNetworkA,1432,1432,1432,1973-12-03,142.89999999999617,142.89952,2015-01-01 00:23:52,bin1432,35, +CTSPillarNetworkA,1433,1433,1433,1973-12-04,142.99999999999616,142.99953,2015-01-01 00:23:53,bin1433,75, +CTSPillarNetworkA,1434,1434,1434,1973-12-05,143.09999999999616,143.09953,2015-01-01 00:23:54,bin1434,35, +CTSPillarNetworkA,1435,1435,1435,1973-12-06,143.19999999999615,143.19954,2015-01-01 00:23:55,bin1435,75, +CTSPillarNetworkA,1436,1436,1436,1973-12-07,143.29999999999615,143.29955,2015-01-01 00:23:56,bin1436,35, +CTSPillarNetworkA,1437,1437,1437,1973-12-08,143.39999999999614,143.39955,2015-01-01 00:23:57,bin1437,75, +CTSPillarNetworkA,1438,1438,1438,1973-12-09,143.49999999999613,143.49956,2015-01-01 00:23:58,bin1438,35, +CTSPillarNetworkA,1439,1439,1439,1973-12-10,143.59999999999613,143.59956,2015-01-01 00:23:59,bin1439,75, +CTSPillarNetworkA,1440,1440,1440,1973-12-11,143.69999999999612,143.69957,2015-01-01 00:24:00,bin1440,35, +CTSPillarNetworkA,1441,1441,1441,1973-12-12,143.79999999999612,143.79958,2015-01-01 00:24:01,bin1441,75, +CTSPillarNetworkA,1442,1442,1442,1973-12-13,143.8999999999961,143.89958,2015-01-01 00:24:02,bin1442,35, +CTSPillarNetworkA,1443,1443,1443,1973-12-14,143.9999999999961,143.99959,2015-01-01 00:24:03,bin1443,75, +CTSPillarNetworkA,1444,1444,1444,1973-12-15,144.0999999999961,144.0996,2015-01-01 00:24:04,bin1444,35, +CTSPillarNetworkA,1445,1445,1445,1973-12-16,144.1999999999961,144.1996,2015-01-01 00:24:05,bin1445,75, +CTSPillarNetworkA,1446,1446,1446,1973-12-17,144.2999999999961,144.2996,2015-01-01 00:24:06,bin1446,35, +CTSPillarNetworkA,1447,1447,1447,1973-12-18,144.39999999999608,144.39961,2015-01-01 00:24:07,bin1447,75, +CTSPillarNetworkA,1448,1448,1448,1973-12-19,144.49999999999608,144.49962,2015-01-01 00:24:08,bin1448,35, +CTSPillarNetworkA,1449,1449,1449,1973-12-20,144.59999999999607,144.59962,2015-01-01 00:24:09,bin1449,75, +CTSPillarNetworkA,1450,1450,1450,1973-12-21,144.69999999999607,144.69963,2015-01-01 00:24:10,bin1450,35, +CTSPillarNetworkA,1451,1451,1451,1973-12-22,144.79999999999606,144.79964,2015-01-01 00:24:11,bin1451,75, +CTSPillarNetworkA,1452,1452,1452,1973-12-23,144.89999999999606,144.89964,2015-01-01 00:24:12,bin1452,35, +CTSPillarNetworkA,1453,1453,1453,1973-12-24,144.99999999999605,144.99965,2015-01-01 00:24:13,bin1453,75, +CTSPillarNetworkA,1454,1454,1454,1973-12-25,145.09999999999604,145.09966,2015-01-01 00:24:14,bin1454,35, +CTSPillarNetworkA,1455,1455,1455,1973-12-26,145.19999999999604,145.19966,2015-01-01 00:24:15,bin1455,75, +CTSPillarNetworkA,1456,1456,1456,1973-12-27,145.29999999999603,145.29967,2015-01-01 00:24:16,bin1456,35, +CTSPillarNetworkA,1457,1457,1457,1973-12-28,145.39999999999603,145.39967,2015-01-01 00:24:17,bin1457,75, +CTSPillarNetworkA,1458,1458,1458,1973-12-29,145.49999999999602,145.49968,2015-01-01 00:24:18,bin1458,35, +CTSPillarNetworkA,1459,1459,1459,1973-12-30,145.59999999999602,145.59969,2015-01-01 00:24:19,bin1459,75, +CTSPillarNetworkA,1460,1460,1460,1973-12-31,145.699999999996,145.69969,2015-01-01 00:24:20,bin1460,35, +CTSPillarNetworkA,1461,1461,1461,1974-01-01,145.799999999996,145.7997,2015-01-01 00:24:21,bin1461,75, +CTSPillarNetworkA,1462,1462,1462,1974-01-02,145.899999999996,145.8997,2015-01-01 00:24:22,bin1462,35, +CTSPillarNetworkA,1463,1463,1463,1974-01-03,145.999999999996,145.99971,2015-01-01 00:24:23,bin1463,75, +CTSPillarNetworkA,1464,1464,1464,1974-01-04,146.099999999996,146.09972,2015-01-01 00:24:24,bin1464,35, +CTSPillarNetworkA,1465,1465,1465,1974-01-05,146.19999999999598,146.19972,2015-01-01 00:24:25,bin1465,75, +CTSPillarNetworkA,1466,1466,1466,1974-01-06,146.29999999999598,146.29973,2015-01-01 00:24:26,bin1466,35, +CTSPillarNetworkA,1467,1467,1467,1974-01-07,146.39999999999597,146.39973,2015-01-01 00:24:27,bin1467,75, +CTSPillarNetworkA,1468,1468,1468,1974-01-08,146.49999999999596,146.49974,2015-01-01 00:24:28,bin1468,35, +CTSPillarNetworkA,1469,1469,1469,1974-01-09,146.59999999999596,146.59975,2015-01-01 00:24:29,bin1469,75, +CTSPillarNetworkA,1470,1470,1470,1974-01-10,146.69999999999595,146.69975,2015-01-01 00:24:30,bin1470,35, +CTSPillarNetworkA,1471,1471,1471,1974-01-11,146.79999999999595,146.79976,2015-01-01 00:24:31,bin1471,75, +CTSPillarNetworkA,1472,1472,1472,1974-01-12,146.89999999999594,146.89977,2015-01-01 00:24:32,bin1472,35, +CTSPillarNetworkA,1473,1473,1473,1974-01-13,146.99999999999594,146.99977,2015-01-01 00:24:33,bin1473,75, +CTSPillarNetworkA,1474,1474,1474,1974-01-14,147.09999999999593,147.09978,2015-01-01 00:24:34,bin1474,35, +CTSPillarNetworkA,1475,1475,1475,1974-01-15,147.19999999999592,147.19978,2015-01-01 00:24:35,bin1475,75, +CTSPillarNetworkA,1476,1476,1476,1974-01-16,147.29999999999592,147.29979,2015-01-01 00:24:36,bin1476,35, +CTSPillarNetworkA,1477,1477,1477,1974-01-17,147.3999999999959,147.3998,2015-01-01 00:24:37,bin1477,75, +CTSPillarNetworkA,1478,1478,1478,1974-01-18,147.4999999999959,147.4998,2015-01-01 00:24:38,bin1478,35, +CTSPillarNetworkA,1479,1479,1479,1974-01-19,147.5999999999959,147.59981,2015-01-01 00:24:39,bin1479,75, +CTSPillarNetworkA,1480,1480,1480,1974-01-20,147.6999999999959,147.69981,2015-01-01 00:24:40,bin1480,35, +CTSPillarNetworkA,1481,1481,1481,1974-01-21,147.7999999999959,147.79982,2015-01-01 00:24:41,bin1481,75, +CTSPillarNetworkA,1482,1482,1482,1974-01-22,147.89999999999588,147.89983,2015-01-01 00:24:42,bin1482,35, +CTSPillarNetworkA,1483,1483,1483,1974-01-23,147.99999999999588,147.99983,2015-01-01 00:24:43,bin1483,75, +CTSPillarNetworkA,1484,1484,1484,1974-01-24,148.09999999999587,148.09984,2015-01-01 00:24:44,bin1484,35, +CTSPillarNetworkA,1485,1485,1485,1974-01-25,148.19999999999587,148.19984,2015-01-01 00:24:45,bin1485,75, +CTSPillarNetworkA,1486,1486,1486,1974-01-26,148.29999999999586,148.29985,2015-01-01 00:24:46,bin1486,35, +CTSPillarNetworkA,1487,1487,1487,1974-01-27,148.39999999999586,148.39986,2015-01-01 00:24:47,bin1487,75, +CTSPillarNetworkA,1488,1488,1488,1974-01-28,148.49999999999585,148.49986,2015-01-01 00:24:48,bin1488,35, +CTSPillarNetworkA,1489,1489,1489,1974-01-29,148.59999999999584,148.59987,2015-01-01 00:24:49,bin1489,75, +CTSPillarNetworkA,1490,1490,1490,1974-01-30,148.69999999999584,148.69987,2015-01-01 00:24:50,bin1490,35, +CTSPillarNetworkA,1491,1491,1491,1974-01-31,148.79999999999583,148.79988,2015-01-01 00:24:51,bin1491,75, +CTSPillarNetworkA,1492,1492,1492,1974-02-01,148.89999999999583,148.89989,2015-01-01 00:24:52,bin1492,35, +CTSPillarNetworkA,1493,1493,1493,1974-02-02,148.99999999999582,148.9999,2015-01-01 00:24:53,bin1493,75, +CTSPillarNetworkA,1494,1494,1494,1974-02-03,149.09999999999582,149.0999,2015-01-01 00:24:54,bin1494,35, +CTSPillarNetworkA,1495,1495,1495,1974-02-04,149.1999999999958,149.1999,2015-01-01 00:24:55,bin1495,75, +CTSPillarNetworkA,1496,1496,1496,1974-02-05,149.2999999999958,149.29991,2015-01-01 00:24:56,bin1496,35, +CTSPillarNetworkA,1497,1497,1497,1974-02-06,149.3999999999958,149.39992,2015-01-01 00:24:57,bin1497,75, +CTSPillarNetworkA,1498,1498,1498,1974-02-07,149.4999999999958,149.49992,2015-01-01 00:24:58,bin1498,35, +CTSPillarNetworkA,1499,1499,1499,1974-02-08,149.5999999999958,149.59993,2015-01-01 00:24:59,bin1499,75, +CTSPillarNetworkA,1500,1500,1500,1974-02-09,149.69999999999578,149.69994,2015-01-01 00:25:00,bin1500,35, +CTSPillarNetworkA,1501,1501,1501,1974-02-10,149.79999999999578,149.79994,2015-01-01 00:25:01,bin1501,75, +CTSPillarNetworkA,1502,1502,1502,1974-02-11,149.89999999999577,149.89995,2015-01-01 00:25:02,bin1502,35, +CTSPillarNetworkA,1503,1503,1503,1974-02-12,149.99999999999577,149.99995,2015-01-01 00:25:03,bin1503,75, +CTSPillarNetworkA,1504,1504,1504,1974-02-13,150.09999999999576,150.09996,2015-01-01 00:25:04,bin1504,35, +CTSPillarNetworkA,1505,1505,1505,1974-02-14,150.19999999999575,150.19997,2015-01-01 00:25:05,bin1505,75, +CTSPillarNetworkA,1506,1506,1506,1974-02-15,150.29999999999575,150.29997,2015-01-01 00:25:06,bin1506,35, +CTSPillarNetworkA,1507,1507,1507,1974-02-16,150.39999999999574,150.39998,2015-01-01 00:25:07,bin1507,75, +CTSPillarNetworkA,1508,1508,1508,1974-02-17,150.49999999999574,150.49998,2015-01-01 00:25:08,bin1508,35, +CTSPillarNetworkA,1509,1509,1509,1974-02-18,150.59999999999573,150.59999,2015-01-01 00:25:09,bin1509,75, +CTSPillarNetworkA,1510,1510,1510,1974-02-19,150.69999999999573,150.7,2015-01-01 00:25:10,bin1510,35, +CTSPillarNetworkA,1511,1511,1511,1974-02-20,150.79999999999572,150.8,2015-01-01 00:25:11,bin1511,75, +CTSPillarNetworkA,1512,1512,1512,1974-02-21,150.8999999999957,150.90001,2015-01-01 00:25:12,bin1512,35, +CTSPillarNetworkA,1513,1513,1513,1974-02-22,150.9999999999957,151.00002,2015-01-01 00:25:13,bin1513,75, +CTSPillarNetworkA,1514,1514,1514,1974-02-23,151.0999999999957,151.10002,2015-01-01 00:25:14,bin1514,35, +CTSPillarNetworkA,1515,1515,1515,1974-02-24,151.1999999999957,151.20003,2015-01-01 00:25:15,bin1515,75, +CTSPillarNetworkA,1516,1516,1516,1974-02-25,151.2999999999957,151.30003,2015-01-01 00:25:16,bin1516,35, +CTSPillarNetworkA,1517,1517,1517,1974-02-26,151.39999999999569,151.40004,2015-01-01 00:25:17,bin1517,75, +CTSPillarNetworkA,1518,1518,1518,1974-02-27,151.49999999999568,151.50005,2015-01-01 00:25:18,bin1518,35, +CTSPillarNetworkA,1519,1519,1519,1974-02-28,151.59999999999567,151.60005,2015-01-01 00:25:19,bin1519,75, +CTSPillarNetworkA,1520,1520,1520,1974-03-01,151.69999999999567,151.70006,2015-01-01 00:25:20,bin1520,35, +CTSPillarNetworkA,1521,1521,1521,1974-03-02,151.79999999999566,151.80006,2015-01-01 00:25:21,bin1521,75, +CTSPillarNetworkA,1522,1522,1522,1974-03-03,151.89999999999566,151.90007,2015-01-01 00:25:22,bin1522,35, +CTSPillarNetworkA,1523,1523,1523,1974-03-04,151.99999999999565,152.00008,2015-01-01 00:25:23,bin1523,75, +CTSPillarNetworkA,1524,1524,1524,1974-03-05,152.09999999999565,152.10008,2015-01-01 00:25:24,bin1524,35, +CTSPillarNetworkA,1525,1525,1525,1974-03-06,152.19999999999564,152.20009,2015-01-01 00:25:25,bin1525,75, +CTSPillarNetworkA,1526,1526,1526,1974-03-07,152.29999999999563,152.3001,2015-01-01 00:25:26,bin1526,35, +CTSPillarNetworkA,1527,1527,1527,1974-03-08,152.39999999999563,152.4001,2015-01-01 00:25:27,bin1527,75, +CTSPillarNetworkA,1528,1528,1528,1974-03-09,152.49999999999562,152.5001,2015-01-01 00:25:28,bin1528,35, +CTSPillarNetworkA,1529,1529,1529,1974-03-10,152.59999999999562,152.60011,2015-01-01 00:25:29,bin1529,75, +CTSPillarNetworkA,1530,1530,1530,1974-03-11,152.6999999999956,152.70012,2015-01-01 00:25:30,bin1530,35, +CTSPillarNetworkA,1531,1531,1531,1974-03-12,152.7999999999956,152.80013,2015-01-01 00:25:31,bin1531,75, +CTSPillarNetworkA,1532,1532,1532,1974-03-13,152.8999999999956,152.90013,2015-01-01 00:25:32,bin1532,35, +CTSPillarNetworkA,1533,1533,1533,1974-03-14,152.9999999999956,153.00014,2015-01-01 00:25:33,bin1533,75, +CTSPillarNetworkA,1534,1534,1534,1974-03-15,153.0999999999956,153.10014,2015-01-01 00:25:34,bin1534,35, +CTSPillarNetworkA,1535,1535,1535,1974-03-16,153.19999999999558,153.20015,2015-01-01 00:25:35,bin1535,75, +CTSPillarNetworkA,1536,1536,1536,1974-03-17,153.29999999999558,153.30016,2015-01-01 00:25:36,bin1536,35, +CTSPillarNetworkA,1537,1537,1537,1974-03-18,153.39999999999557,153.40016,2015-01-01 00:25:37,bin1537,75, +CTSPillarNetworkA,1538,1538,1538,1974-03-19,153.49999999999557,153.50017,2015-01-01 00:25:38,bin1538,35, +CTSPillarNetworkA,1539,1539,1539,1974-03-20,153.59999999999556,153.60017,2015-01-01 00:25:39,bin1539,75, +CTSPillarNetworkA,1540,1540,1540,1974-03-21,153.69999999999555,153.70018,2015-01-01 00:25:40,bin1540,35, +CTSPillarNetworkA,1541,1541,1541,1974-03-22,153.79999999999555,153.80019,2015-01-01 00:25:41,bin1541,75, +CTSPillarNetworkA,1542,1542,1542,1974-03-23,153.89999999999554,153.90019,2015-01-01 00:25:42,bin1542,35, +CTSPillarNetworkA,1543,1543,1543,1974-03-24,153.99999999999554,154.0002,2015-01-01 00:25:43,bin1543,75, +CTSPillarNetworkA,1544,1544,1544,1974-03-25,154.09999999999553,154.1002,2015-01-01 00:25:44,bin1544,35, +CTSPillarNetworkA,1545,1545,1545,1974-03-26,154.19999999999553,154.20021,2015-01-01 00:25:45,bin1545,75, +CTSPillarNetworkA,1546,1546,1546,1974-03-27,154.29999999999552,154.30022,2015-01-01 00:25:46,bin1546,35, +CTSPillarNetworkA,1547,1547,1547,1974-03-28,154.39999999999552,154.40022,2015-01-01 00:25:47,bin1547,75, +CTSPillarNetworkA,1548,1548,1548,1974-03-29,154.4999999999955,154.50023,2015-01-01 00:25:48,bin1548,35, +CTSPillarNetworkA,1549,1549,1549,1974-03-30,154.5999999999955,154.60023,2015-01-01 00:25:49,bin1549,75, +CTSPillarNetworkA,1550,1550,1550,1974-03-31,154.6999999999955,154.70024,2015-01-01 00:25:50,bin1550,35, +CTSPillarNetworkA,1551,1551,1551,1974-04-01,154.7999999999955,154.80025,2015-01-01 00:25:51,bin1551,75, +CTSPillarNetworkA,1552,1552,1552,1974-04-02,154.8999999999955,154.90025,2015-01-01 00:25:52,bin1552,35, +CTSPillarNetworkA,1553,1553,1553,1974-04-03,154.99999999999548,155.00026,2015-01-01 00:25:53,bin1553,75, +CTSPillarNetworkA,1554,1554,1554,1974-04-04,155.09999999999548,155.10027,2015-01-01 00:25:54,bin1554,35, +CTSPillarNetworkA,1555,1555,1555,1974-04-05,155.19999999999547,155.20027,2015-01-01 00:25:55,bin1555,75, +CTSPillarNetworkA,1556,1556,1556,1974-04-06,155.29999999999546,155.30028,2015-01-01 00:25:56,bin1556,35, +CTSPillarNetworkA,1557,1557,1557,1974-04-07,155.39999999999546,155.40028,2015-01-01 00:25:57,bin1557,75, +CTSPillarNetworkA,1558,1558,1558,1974-04-08,155.49999999999545,155.50029,2015-01-01 00:25:58,bin1558,35, +CTSPillarNetworkA,1559,1559,1559,1974-04-09,155.59999999999545,155.6003,2015-01-01 00:25:59,bin1559,75, +CTSPillarNetworkA,1560,1560,1560,1974-04-10,155.69999999999544,155.7003,2015-01-01 00:26:00,bin1560,35, +CTSPillarNetworkA,1561,1561,1561,1974-04-11,155.79999999999544,155.80031,2015-01-01 00:26:01,bin1561,75, +CTSPillarNetworkA,1562,1562,1562,1974-04-12,155.89999999999543,155.90031,2015-01-01 00:26:02,bin1562,35, +CTSPillarNetworkA,1563,1563,1563,1974-04-13,155.99999999999542,156.00032,2015-01-01 00:26:03,bin1563,75, +CTSPillarNetworkA,1564,1564,1564,1974-04-14,156.09999999999542,156.10033,2015-01-01 00:26:04,bin1564,35, +CTSPillarNetworkA,1565,1565,1565,1974-04-15,156.1999999999954,156.20033,2015-01-01 00:26:05,bin1565,75, +CTSPillarNetworkA,1566,1566,1566,1974-04-16,156.2999999999954,156.30034,2015-01-01 00:26:06,bin1566,35, +CTSPillarNetworkA,1567,1567,1567,1974-04-17,156.3999999999954,156.40034,2015-01-01 00:26:07,bin1567,75, +CTSPillarNetworkA,1568,1568,1568,1974-04-18,156.4999999999954,156.50035,2015-01-01 00:26:08,bin1568,35, +CTSPillarNetworkA,1569,1569,1569,1974-04-19,156.5999999999954,156.60036,2015-01-01 00:26:09,bin1569,75, +CTSPillarNetworkA,1570,1570,1570,1974-04-20,156.69999999999538,156.70036,2015-01-01 00:26:10,bin1570,35, +CTSPillarNetworkA,1571,1571,1571,1974-04-21,156.79999999999538,156.80037,2015-01-01 00:26:11,bin1571,75, +CTSPillarNetworkA,1572,1572,1572,1974-04-22,156.89999999999537,156.90038,2015-01-01 00:26:12,bin1572,35, +CTSPillarNetworkA,1573,1573,1573,1974-04-23,156.99999999999537,157.00038,2015-01-01 00:26:13,bin1573,75, +CTSPillarNetworkA,1574,1574,1574,1974-04-24,157.09999999999536,157.10039,2015-01-01 00:26:14,bin1574,35, +CTSPillarNetworkA,1575,1575,1575,1974-04-25,157.19999999999536,157.2004,2015-01-01 00:26:15,bin1575,75, +CTSPillarNetworkA,1576,1576,1576,1974-04-26,157.29999999999535,157.3004,2015-01-01 00:26:16,bin1576,35, +CTSPillarNetworkA,1577,1577,1577,1974-04-27,157.39999999999534,157.4004,2015-01-01 00:26:17,bin1577,75, +CTSPillarNetworkA,1578,1578,1578,1974-04-28,157.49999999999534,157.50041,2015-01-01 00:26:18,bin1578,35, +CTSPillarNetworkA,1579,1579,1579,1974-04-29,157.59999999999533,157.60042,2015-01-01 00:26:19,bin1579,75, +CTSPillarNetworkA,1580,1580,1580,1974-04-30,157.69999999999533,157.70042,2015-01-01 00:26:20,bin1580,35, +CTSPillarNetworkA,1581,1581,1581,1974-05-01,157.79999999999532,157.80043,2015-01-01 00:26:21,bin1581,75, +CTSPillarNetworkA,1582,1582,1582,1974-05-02,157.89999999999532,157.90044,2015-01-01 00:26:22,bin1582,35, +CTSPillarNetworkA,1583,1583,1583,1974-05-03,157.9999999999953,158.00044,2015-01-01 00:26:23,bin1583,75, +CTSPillarNetworkA,1584,1584,1584,1974-05-04,158.0999999999953,158.10045,2015-01-01 00:26:24,bin1584,35, +CTSPillarNetworkA,1585,1585,1585,1974-05-05,158.1999999999953,158.20045,2015-01-01 00:26:25,bin1585,75, +CTSPillarNetworkA,1586,1586,1586,1974-05-06,158.2999999999953,158.30046,2015-01-01 00:26:26,bin1586,35, +CTSPillarNetworkA,1587,1587,1587,1974-05-07,158.3999999999953,158.40047,2015-01-01 00:26:27,bin1587,75, +CTSPillarNetworkA,1588,1588,1588,1974-05-08,158.49999999999528,158.50047,2015-01-01 00:26:28,bin1588,35, +CTSPillarNetworkA,1589,1589,1589,1974-05-09,158.59999999999528,158.60048,2015-01-01 00:26:29,bin1589,75, +CTSPillarNetworkA,1590,1590,1590,1974-05-10,158.69999999999527,158.70049,2015-01-01 00:26:30,bin1590,35, +CTSPillarNetworkA,1591,1591,1591,1974-05-11,158.79999999999526,158.80049,2015-01-01 00:26:31,bin1591,75, +CTSPillarNetworkA,1592,1592,1592,1974-05-12,158.89999999999526,158.9005,2015-01-01 00:26:32,bin1592,35, +CTSPillarNetworkA,1593,1593,1593,1974-05-13,158.99999999999525,159.0005,2015-01-01 00:26:33,bin1593,75, +CTSPillarNetworkA,1594,1594,1594,1974-05-14,159.09999999999525,159.10051,2015-01-01 00:26:34,bin1594,35, +CTSPillarNetworkA,1595,1595,1595,1974-05-15,159.19999999999524,159.20052,2015-01-01 00:26:35,bin1595,75, +CTSPillarNetworkA,1596,1596,1596,1974-05-16,159.29999999999524,159.30052,2015-01-01 00:26:36,bin1596,35, +CTSPillarNetworkA,1597,1597,1597,1974-05-17,159.39999999999523,159.40053,2015-01-01 00:26:37,bin1597,75, +CTSPillarNetworkA,1598,1598,1598,1974-05-18,159.49999999999523,159.50053,2015-01-01 00:26:38,bin1598,35, +CTSPillarNetworkA,1599,1599,1599,1974-05-19,159.59999999999522,159.60054,2015-01-01 00:26:39,bin1599,75, +CTSPillarNetworkA,1600,1600,1600,1974-05-20,159.6999999999952,159.70055,2015-01-01 00:26:40,bin1600,35, +CTSPillarNetworkA,1601,1601,1601,1974-05-21,159.7999999999952,159.80055,2015-01-01 00:26:41,bin1601,75, +CTSPillarNetworkA,1602,1602,1602,1974-05-22,159.8999999999952,159.90056,2015-01-01 00:26:42,bin1602,35, +CTSPillarNetworkA,1603,1603,1603,1974-05-23,159.9999999999952,160.00056,2015-01-01 00:26:43,bin1603,75, +CTSPillarNetworkA,1604,1604,1604,1974-05-24,160.0999999999952,160.10057,2015-01-01 00:26:44,bin1604,35, +CTSPillarNetworkA,1605,1605,1605,1974-05-25,160.19999999999519,160.20058,2015-01-01 00:26:45,bin1605,75, +CTSPillarNetworkA,1606,1606,1606,1974-05-26,160.29999999999518,160.30058,2015-01-01 00:26:46,bin1606,35, +CTSPillarNetworkA,1607,1607,1607,1974-05-27,160.39999999999517,160.40059,2015-01-01 00:26:47,bin1607,75, +CTSPillarNetworkA,1608,1608,1608,1974-05-28,160.49999999999517,160.5006,2015-01-01 00:26:48,bin1608,35, +CTSPillarNetworkA,1609,1609,1609,1974-05-29,160.59999999999516,160.6006,2015-01-01 00:26:49,bin1609,75, +CTSPillarNetworkA,1610,1610,1610,1974-05-30,160.69999999999516,160.7006,2015-01-01 00:26:50,bin1610,35, +CTSPillarNetworkA,1611,1611,1611,1974-05-31,160.79999999999515,160.80061,2015-01-01 00:26:51,bin1611,75, +CTSPillarNetworkA,1612,1612,1612,1974-06-01,160.89999999999515,160.90062,2015-01-01 00:26:52,bin1612,35, +CTSPillarNetworkA,1613,1613,1613,1974-06-02,160.99999999999514,161.00063,2015-01-01 00:26:53,bin1613,75, +CTSPillarNetworkA,1614,1614,1614,1974-06-03,161.09999999999513,161.10063,2015-01-01 00:26:54,bin1614,35, +CTSPillarNetworkA,1615,1615,1615,1974-06-04,161.19999999999513,161.20064,2015-01-01 00:26:55,bin1615,75, +CTSPillarNetworkA,1616,1616,1616,1974-06-05,161.29999999999512,161.30064,2015-01-01 00:26:56,bin1616,35, +CTSPillarNetworkA,1617,1617,1617,1974-06-06,161.39999999999512,161.40065,2015-01-01 00:26:57,bin1617,75, +CTSPillarNetworkA,1618,1618,1618,1974-06-07,161.4999999999951,161.50066,2015-01-01 00:26:58,bin1618,35, +CTSPillarNetworkA,1619,1619,1619,1974-06-08,161.5999999999951,161.60066,2015-01-01 00:26:59,bin1619,75, +CTSPillarNetworkA,1620,1620,1620,1974-06-09,161.6999999999951,161.70067,2015-01-01 00:27:00,bin1620,35, +CTSPillarNetworkA,1621,1621,1621,1974-06-10,161.7999999999951,161.80067,2015-01-01 00:27:01,bin1621,75, +CTSPillarNetworkA,1622,1622,1622,1974-06-11,161.8999999999951,161.90068,2015-01-01 00:27:02,bin1622,35, +CTSPillarNetworkA,1623,1623,1623,1974-06-12,161.99999999999508,162.00069,2015-01-01 00:27:03,bin1623,75, +CTSPillarNetworkA,1624,1624,1624,1974-06-13,162.09999999999508,162.1007,2015-01-01 00:27:04,bin1624,35, +CTSPillarNetworkA,1625,1625,1625,1974-06-14,162.19999999999507,162.2007,2015-01-01 00:27:05,bin1625,75, +CTSPillarNetworkA,1626,1626,1626,1974-06-15,162.29999999999507,162.3007,2015-01-01 00:27:06,bin1626,35, +CTSPillarNetworkA,1627,1627,1627,1974-06-16,162.39999999999506,162.40071,2015-01-01 00:27:07,bin1627,75, +CTSPillarNetworkA,1628,1628,1628,1974-06-17,162.49999999999505,162.50072,2015-01-01 00:27:08,bin1628,35, +CTSPillarNetworkA,1629,1629,1629,1974-06-18,162.59999999999505,162.60072,2015-01-01 00:27:09,bin1629,75, +CTSPillarNetworkA,1630,1630,1630,1974-06-19,162.69999999999504,162.70073,2015-01-01 00:27:10,bin1630,35, +CTSPillarNetworkA,1631,1631,1631,1974-06-20,162.79999999999504,162.80074,2015-01-01 00:27:11,bin1631,75, +CTSPillarNetworkA,1632,1632,1632,1974-06-21,162.89999999999503,162.90074,2015-01-01 00:27:12,bin1632,35, +CTSPillarNetworkA,1633,1633,1633,1974-06-22,162.99999999999503,163.00075,2015-01-01 00:27:13,bin1633,75, +CTSPillarNetworkA,1634,1634,1634,1974-06-23,163.09999999999502,163.10075,2015-01-01 00:27:14,bin1634,35, +CTSPillarNetworkA,1635,1635,1635,1974-06-24,163.19999999999501,163.20076,2015-01-01 00:27:15,bin1635,75, +CTSPillarNetworkA,1636,1636,1636,1974-06-25,163.299999999995,163.30077,2015-01-01 00:27:16,bin1636,35, +CTSPillarNetworkA,1637,1637,1637,1974-06-26,163.399999999995,163.40077,2015-01-01 00:27:17,bin1637,75, +CTSPillarNetworkA,1638,1638,1638,1974-06-27,163.499999999995,163.50078,2015-01-01 00:27:18,bin1638,35, +CTSPillarNetworkA,1639,1639,1639,1974-06-28,163.599999999995,163.60078,2015-01-01 00:27:19,bin1639,75, +CTSPillarNetworkA,1640,1640,1640,1974-06-29,163.699999999995,163.70079,2015-01-01 00:27:20,bin1640,35, +CTSPillarNetworkA,1641,1641,1641,1974-06-30,163.79999999999498,163.8008,2015-01-01 00:27:21,bin1641,75, +CTSPillarNetworkA,1642,1642,1642,1974-07-01,163.89999999999498,163.9008,2015-01-01 00:27:22,bin1642,35, +CTSPillarNetworkA,1643,1643,1643,1974-07-02,163.99999999999497,164.00081,2015-01-01 00:27:23,bin1643,75, +CTSPillarNetworkA,1644,1644,1644,1974-07-03,164.09999999999496,164.10081,2015-01-01 00:27:24,bin1644,35, +CTSPillarNetworkA,1645,1645,1645,1974-07-04,164.19999999999496,164.20082,2015-01-01 00:27:25,bin1645,75, +CTSPillarNetworkA,1646,1646,1646,1974-07-05,164.29999999999495,164.30083,2015-01-01 00:27:26,bin1646,35, +CTSPillarNetworkA,1647,1647,1647,1974-07-06,164.39999999999495,164.40083,2015-01-01 00:27:27,bin1647,75, +CTSPillarNetworkA,1648,1648,1648,1974-07-07,164.49999999999494,164.50084,2015-01-01 00:27:28,bin1648,35, +CTSPillarNetworkA,1649,1649,1649,1974-07-08,164.59999999999494,164.60085,2015-01-01 00:27:29,bin1649,75, +CTSPillarNetworkA,1650,1650,1650,1974-07-09,164.69999999999493,164.70085,2015-01-01 00:27:30,bin1650,35, +CTSPillarNetworkA,1651,1651,1651,1974-07-10,164.79999999999492,164.80086,2015-01-01 00:27:31,bin1651,75, +CTSPillarNetworkA,1652,1652,1652,1974-07-11,164.89999999999492,164.90086,2015-01-01 00:27:32,bin1652,35, +CTSPillarNetworkA,1653,1653,1653,1974-07-12,164.9999999999949,165.00087,2015-01-01 00:27:33,bin1653,75, +CTSPillarNetworkA,1654,1654,1654,1974-07-13,165.0999999999949,165.10088,2015-01-01 00:27:34,bin1654,35, +CTSPillarNetworkA,1655,1655,1655,1974-07-14,165.1999999999949,165.20088,2015-01-01 00:27:35,bin1655,75, +CTSPillarNetworkA,1656,1656,1656,1974-07-15,165.2999999999949,165.30089,2015-01-01 00:27:36,bin1656,35, +CTSPillarNetworkA,1657,1657,1657,1974-07-16,165.3999999999949,165.4009,2015-01-01 00:27:37,bin1657,75, +CTSPillarNetworkA,1658,1658,1658,1974-07-17,165.49999999999488,165.5009,2015-01-01 00:27:38,bin1658,35, +CTSPillarNetworkA,1659,1659,1659,1974-07-18,165.59999999999488,165.6009,2015-01-01 00:27:39,bin1659,75, +CTSPillarNetworkA,1660,1660,1660,1974-07-19,165.69999999999487,165.70091,2015-01-01 00:27:40,bin1660,35, +CTSPillarNetworkA,1661,1661,1661,1974-07-20,165.79999999999487,165.80092,2015-01-01 00:27:41,bin1661,75, +CTSPillarNetworkA,1662,1662,1662,1974-07-21,165.89999999999486,165.90092,2015-01-01 00:27:42,bin1662,35, +CTSPillarNetworkA,1663,1663,1663,1974-07-22,165.99999999999486,166.00093,2015-01-01 00:27:43,bin1663,75, +CTSPillarNetworkA,1664,1664,1664,1974-07-23,166.09999999999485,166.10094,2015-01-01 00:27:44,bin1664,35, +CTSPillarNetworkA,1665,1665,1665,1974-07-24,166.19999999999484,166.20094,2015-01-01 00:27:45,bin1665,75, +CTSPillarNetworkA,1666,1666,1666,1974-07-25,166.29999999999484,166.30095,2015-01-01 00:27:46,bin1666,35, +CTSPillarNetworkA,1667,1667,1667,1974-07-26,166.39999999999483,166.40096,2015-01-01 00:27:47,bin1667,75, +CTSPillarNetworkA,1668,1668,1668,1974-07-27,166.49999999999483,166.50096,2015-01-01 00:27:48,bin1668,35, +CTSPillarNetworkA,1669,1669,1669,1974-07-28,166.59999999999482,166.60097,2015-01-01 00:27:49,bin1669,75, +CTSPillarNetworkA,1670,1670,1670,1974-07-29,166.69999999999482,166.70097,2015-01-01 00:27:50,bin1670,35, +CTSPillarNetworkA,1671,1671,1671,1974-07-30,166.7999999999948,166.80098,2015-01-01 00:27:51,bin1671,75, +CTSPillarNetworkA,1672,1672,1672,1974-07-31,166.8999999999948,166.90099,2015-01-01 00:27:52,bin1672,35, +CTSPillarNetworkA,1673,1673,1673,1974-08-01,166.9999999999948,167.00099,2015-01-01 00:27:53,bin1673,75, +CTSPillarNetworkA,1674,1674,1674,1974-08-02,167.0999999999948,167.101,2015-01-01 00:27:54,bin1674,35, +CTSPillarNetworkA,1675,1675,1675,1974-08-03,167.1999999999948,167.201,2015-01-01 00:27:55,bin1675,75, +CTSPillarNetworkA,1676,1676,1676,1974-08-04,167.29999999999478,167.30101,2015-01-01 00:27:56,bin1676,35, +CTSPillarNetworkA,1677,1677,1677,1974-08-05,167.39999999999478,167.40102,2015-01-01 00:27:57,bin1677,75, +CTSPillarNetworkA,1678,1678,1678,1974-08-06,167.49999999999477,167.50102,2015-01-01 00:27:58,bin1678,35, +CTSPillarNetworkA,1679,1679,1679,1974-08-07,167.59999999999476,167.60103,2015-01-01 00:27:59,bin1679,75, +CTSPillarNetworkA,1680,1680,1680,1974-08-08,167.69999999999476,167.70103,2015-01-01 00:28:00,bin1680,35, +CTSPillarNetworkA,1681,1681,1681,1974-08-09,167.79999999999475,167.80104,2015-01-01 00:28:01,bin1681,75, +CTSPillarNetworkA,1682,1682,1682,1974-08-10,167.89999999999475,167.90105,2015-01-01 00:28:02,bin1682,35, +CTSPillarNetworkA,1683,1683,1683,1974-08-11,167.99999999999474,168.00105,2015-01-01 00:28:03,bin1683,75, +CTSPillarNetworkA,1684,1684,1684,1974-08-12,168.09999999999474,168.10106,2015-01-01 00:28:04,bin1684,35, +CTSPillarNetworkA,1685,1685,1685,1974-08-13,168.19999999999473,168.20107,2015-01-01 00:28:05,bin1685,75, +CTSPillarNetworkA,1686,1686,1686,1974-08-14,168.29999999999472,168.30107,2015-01-01 00:28:06,bin1686,35, +CTSPillarNetworkA,1687,1687,1687,1974-08-15,168.39999999999472,168.40108,2015-01-01 00:28:07,bin1687,75, +CTSPillarNetworkA,1688,1688,1688,1974-08-16,168.4999999999947,168.50108,2015-01-01 00:28:08,bin1688,35, +CTSPillarNetworkA,1689,1689,1689,1974-08-17,168.5999999999947,168.60109,2015-01-01 00:28:09,bin1689,75, +CTSPillarNetworkA,1690,1690,1690,1974-08-18,168.6999999999947,168.7011,2015-01-01 00:28:10,bin1690,35, +CTSPillarNetworkA,1691,1691,1691,1974-08-19,168.7999999999947,168.8011,2015-01-01 00:28:11,bin1691,75, +CTSPillarNetworkA,1692,1692,1692,1974-08-20,168.8999999999947,168.90111,2015-01-01 00:28:12,bin1692,35, +CTSPillarNetworkA,1693,1693,1693,1974-08-21,168.99999999999469,169.00111,2015-01-01 00:28:13,bin1693,75, +CTSPillarNetworkA,1694,1694,1694,1974-08-22,169.09999999999468,169.10112,2015-01-01 00:28:14,bin1694,35, +CTSPillarNetworkA,1695,1695,1695,1974-08-23,169.19999999999467,169.20113,2015-01-01 00:28:15,bin1695,75, +CTSPillarNetworkA,1696,1696,1696,1974-08-24,169.29999999999467,169.30113,2015-01-01 00:28:16,bin1696,35, +CTSPillarNetworkA,1697,1697,1697,1974-08-25,169.39999999999466,169.40114,2015-01-01 00:28:17,bin1697,75, +CTSPillarNetworkA,1698,1698,1698,1974-08-26,169.49999999999466,169.50114,2015-01-01 00:28:18,bin1698,35, +CTSPillarNetworkA,1699,1699,1699,1974-08-27,169.59999999999465,169.60115,2015-01-01 00:28:19,bin1699,75, +CTSPillarNetworkA,1700,1700,1700,1974-08-28,169.69999999999465,169.70116,2015-01-01 00:28:20,bin1700,35, +CTSPillarNetworkA,1701,1701,1701,1974-08-29,169.79999999999464,169.80116,2015-01-01 00:28:21,bin1701,75, +CTSPillarNetworkA,1702,1702,1702,1974-08-30,169.89999999999463,169.90117,2015-01-01 00:28:22,bin1702,35, +CTSPillarNetworkA,1703,1703,1703,1974-08-31,169.99999999999463,170.00117,2015-01-01 00:28:23,bin1703,75, +CTSPillarNetworkA,1704,1704,1704,1974-09-01,170.09999999999462,170.10118,2015-01-01 00:28:24,bin1704,35, +CTSPillarNetworkA,1705,1705,1705,1974-09-02,170.19999999999462,170.20119,2015-01-01 00:28:25,bin1705,75, +CTSPillarNetworkA,1706,1706,1706,1974-09-03,170.2999999999946,170.3012,2015-01-01 00:28:26,bin1706,35, +CTSPillarNetworkA,1707,1707,1707,1974-09-04,170.3999999999946,170.4012,2015-01-01 00:28:27,bin1707,75, +CTSPillarNetworkA,1708,1708,1708,1974-09-05,170.4999999999946,170.5012,2015-01-01 00:28:28,bin1708,35, +CTSPillarNetworkA,1709,1709,1709,1974-09-06,170.5999999999946,170.60121,2015-01-01 00:28:29,bin1709,75, +CTSPillarNetworkA,1710,1710,1710,1974-09-07,170.6999999999946,170.70122,2015-01-01 00:28:30,bin1710,35, +CTSPillarNetworkA,1711,1711,1711,1974-09-08,170.79999999999458,170.80122,2015-01-01 00:28:31,bin1711,75, +CTSPillarNetworkA,1712,1712,1712,1974-09-09,170.89999999999458,170.90123,2015-01-01 00:28:32,bin1712,35, +CTSPillarNetworkA,1713,1713,1713,1974-09-10,170.99999999999457,171.00124,2015-01-01 00:28:33,bin1713,75, +CTSPillarNetworkA,1714,1714,1714,1974-09-11,171.09999999999457,171.10124,2015-01-01 00:28:34,bin1714,35, +CTSPillarNetworkA,1715,1715,1715,1974-09-12,171.19999999999456,171.20125,2015-01-01 00:28:35,bin1715,75, +CTSPillarNetworkA,1716,1716,1716,1974-09-13,171.29999999999455,171.30125,2015-01-01 00:28:36,bin1716,35, +CTSPillarNetworkA,1717,1717,1717,1974-09-14,171.39999999999455,171.40126,2015-01-01 00:28:37,bin1717,75, +CTSPillarNetworkA,1718,1718,1718,1974-09-15,171.49999999999454,171.50127,2015-01-01 00:28:38,bin1718,35, +CTSPillarNetworkA,1719,1719,1719,1974-09-16,171.59999999999454,171.60127,2015-01-01 00:28:39,bin1719,75, +CTSPillarNetworkA,1720,1720,1720,1974-09-17,171.69999999999453,171.70128,2015-01-01 00:28:40,bin1720,35, +CTSPillarNetworkA,1721,1721,1721,1974-09-18,171.79999999999453,171.80128,2015-01-01 00:28:41,bin1721,75, +CTSPillarNetworkA,1722,1722,1722,1974-09-19,171.89999999999452,171.90129,2015-01-01 00:28:42,bin1722,35, +CTSPillarNetworkA,1723,1723,1723,1974-09-20,171.99999999999451,172.0013,2015-01-01 00:28:43,bin1723,75, +CTSPillarNetworkA,1724,1724,1724,1974-09-21,172.0999999999945,172.1013,2015-01-01 00:28:44,bin1724,35, +CTSPillarNetworkA,1725,1725,1725,1974-09-22,172.1999999999945,172.20131,2015-01-01 00:28:45,bin1725,75, +CTSPillarNetworkA,1726,1726,1726,1974-09-23,172.2999999999945,172.30132,2015-01-01 00:28:46,bin1726,35, +CTSPillarNetworkA,1727,1727,1727,1974-09-24,172.3999999999945,172.40132,2015-01-01 00:28:47,bin1727,75, +CTSPillarNetworkA,1728,1728,1728,1974-09-25,172.4999999999945,172.50133,2015-01-01 00:28:48,bin1728,35, +CTSPillarNetworkA,1729,1729,1729,1974-09-26,172.59999999999448,172.60133,2015-01-01 00:28:49,bin1729,75, +CTSPillarNetworkA,1730,1730,1730,1974-09-27,172.69999999999447,172.70134,2015-01-01 00:28:50,bin1730,35, +CTSPillarNetworkA,1731,1731,1731,1974-09-28,172.79999999999447,172.80135,2015-01-01 00:28:51,bin1731,75, +CTSPillarNetworkA,1732,1732,1732,1974-09-29,172.89999999999446,172.90135,2015-01-01 00:28:52,bin1732,35, +CTSPillarNetworkA,1733,1733,1733,1974-09-30,172.99999999999446,173.00136,2015-01-01 00:28:53,bin1733,75, +CTSPillarNetworkA,1734,1734,1734,1974-10-01,173.09999999999445,173.10136,2015-01-01 00:28:54,bin1734,35, +CTSPillarNetworkA,1735,1735,1735,1974-10-02,173.19999999999445,173.20137,2015-01-01 00:28:55,bin1735,75, +CTSPillarNetworkA,1736,1736,1736,1974-10-03,173.29999999999444,173.30138,2015-01-01 00:28:56,bin1736,35, +CTSPillarNetworkA,1737,1737,1737,1974-10-04,173.39999999999444,173.40138,2015-01-01 00:28:57,bin1737,75, +CTSPillarNetworkA,1738,1738,1738,1974-10-05,173.49999999999443,173.50139,2015-01-01 00:28:58,bin1738,35, +CTSPillarNetworkA,1739,1739,1739,1974-10-06,173.59999999999442,173.6014,2015-01-01 00:28:59,bin1739,75, +CTSPillarNetworkA,1740,1740,1740,1974-10-07,173.69999999999442,173.7014,2015-01-01 00:29:00,bin1740,35, +CTSPillarNetworkA,1741,1741,1741,1974-10-08,173.7999999999944,173.8014,2015-01-01 00:29:01,bin1741,75, +CTSPillarNetworkA,1742,1742,1742,1974-10-09,173.8999999999944,173.90141,2015-01-01 00:29:02,bin1742,35, +CTSPillarNetworkA,1743,1743,1743,1974-10-10,173.9999999999944,174.00142,2015-01-01 00:29:03,bin1743,75, +CTSPillarNetworkA,1744,1744,1744,1974-10-11,174.0999999999944,174.10143,2015-01-01 00:29:04,bin1744,35, +CTSPillarNetworkA,1745,1745,1745,1974-10-12,174.1999999999944,174.20143,2015-01-01 00:29:05,bin1745,75, +CTSPillarNetworkA,1746,1746,1746,1974-10-13,174.29999999999438,174.30144,2015-01-01 00:29:06,bin1746,35, +CTSPillarNetworkA,1747,1747,1747,1974-10-14,174.39999999999438,174.40144,2015-01-01 00:29:07,bin1747,75, +CTSPillarNetworkA,1748,1748,1748,1974-10-15,174.49999999999437,174.50145,2015-01-01 00:29:08,bin1748,35, +CTSPillarNetworkA,1749,1749,1749,1974-10-16,174.59999999999437,174.60146,2015-01-01 00:29:09,bin1749,75, +CTSPillarNetworkA,1750,1750,1750,1974-10-17,174.69999999999436,174.70146,2015-01-01 00:29:10,bin1750,35, +CTSPillarNetworkA,1751,1751,1751,1974-10-18,174.79999999999436,174.80147,2015-01-01 00:29:11,bin1751,75, +CTSPillarNetworkA,1752,1752,1752,1974-10-19,174.89999999999435,174.90147,2015-01-01 00:29:12,bin1752,35, +CTSPillarNetworkA,1753,1753,1753,1974-10-20,174.99999999999434,175.00148,2015-01-01 00:29:13,bin1753,75, +CTSPillarNetworkA,1754,1754,1754,1974-10-21,175.09999999999434,175.10149,2015-01-01 00:29:14,bin1754,35, +CTSPillarNetworkA,1755,1755,1755,1974-10-22,175.19999999999433,175.20149,2015-01-01 00:29:15,bin1755,75, +CTSPillarNetworkA,1756,1756,1756,1974-10-23,175.29999999999433,175.3015,2015-01-01 00:29:16,bin1756,35, +CTSPillarNetworkA,1757,1757,1757,1974-10-24,175.39999999999432,175.4015,2015-01-01 00:29:17,bin1757,75, +CTSPillarNetworkA,1758,1758,1758,1974-10-25,175.49999999999432,175.50151,2015-01-01 00:29:18,bin1758,35, +CTSPillarNetworkA,1759,1759,1759,1974-10-26,175.5999999999943,175.60152,2015-01-01 00:29:19,bin1759,75, +CTSPillarNetworkA,1760,1760,1760,1974-10-27,175.6999999999943,175.70152,2015-01-01 00:29:20,bin1760,35, +CTSPillarNetworkA,1761,1761,1761,1974-10-28,175.7999999999943,175.80153,2015-01-01 00:29:21,bin1761,75, +CTSPillarNetworkA,1762,1762,1762,1974-10-29,175.8999999999943,175.90154,2015-01-01 00:29:22,bin1762,35, +CTSPillarNetworkA,1763,1763,1763,1974-10-30,175.9999999999943,176.00154,2015-01-01 00:29:23,bin1763,75, +CTSPillarNetworkA,1764,1764,1764,1974-10-31,176.09999999999428,176.10155,2015-01-01 00:29:24,bin1764,35, +CTSPillarNetworkA,1765,1765,1765,1974-11-01,176.19999999999428,176.20155,2015-01-01 00:29:25,bin1765,75, +CTSPillarNetworkA,1766,1766,1766,1974-11-02,176.29999999999427,176.30156,2015-01-01 00:29:26,bin1766,35, +CTSPillarNetworkA,1767,1767,1767,1974-11-03,176.39999999999426,176.40157,2015-01-01 00:29:27,bin1767,75, +CTSPillarNetworkA,1768,1768,1768,1974-11-04,176.49999999999426,176.50157,2015-01-01 00:29:28,bin1768,35, +CTSPillarNetworkA,1769,1769,1769,1974-11-05,176.59999999999425,176.60158,2015-01-01 00:29:29,bin1769,75, +CTSPillarNetworkA,1770,1770,1770,1974-11-06,176.69999999999425,176.70158,2015-01-01 00:29:30,bin1770,35, +CTSPillarNetworkA,1771,1771,1771,1974-11-07,176.79999999999424,176.80159,2015-01-01 00:29:31,bin1771,75, +CTSPillarNetworkA,1772,1772,1772,1974-11-08,176.89999999999424,176.9016,2015-01-01 00:29:32,bin1772,35, +CTSPillarNetworkA,1773,1773,1773,1974-11-09,176.99999999999423,177.0016,2015-01-01 00:29:33,bin1773,75, +CTSPillarNetworkA,1774,1774,1774,1974-11-10,177.09999999999422,177.10161,2015-01-01 00:29:34,bin1774,35, +CTSPillarNetworkA,1775,1775,1775,1974-11-11,177.19999999999422,177.20161,2015-01-01 00:29:35,bin1775,75, +CTSPillarNetworkA,1776,1776,1776,1974-11-12,177.2999999999942,177.30162,2015-01-01 00:29:36,bin1776,35, +CTSPillarNetworkA,1777,1777,1777,1974-11-13,177.3999999999942,177.40163,2015-01-01 00:29:37,bin1777,75, +CTSPillarNetworkA,1778,1778,1778,1974-11-14,177.4999999999942,177.50163,2015-01-01 00:29:38,bin1778,35, +CTSPillarNetworkA,1779,1779,1779,1974-11-15,177.5999999999942,177.60164,2015-01-01 00:29:39,bin1779,75, +CTSPillarNetworkA,1780,1780,1780,1974-11-16,177.6999999999942,177.70164,2015-01-01 00:29:40,bin1780,35, +CTSPillarNetworkA,1781,1781,1781,1974-11-17,177.79999999999418,177.80165,2015-01-01 00:29:41,bin1781,75, +CTSPillarNetworkA,1782,1782,1782,1974-11-18,177.89999999999418,177.90166,2015-01-01 00:29:42,bin1782,35, +CTSPillarNetworkA,1783,1783,1783,1974-11-19,177.99999999999417,178.00166,2015-01-01 00:29:43,bin1783,75, +CTSPillarNetworkA,1784,1784,1784,1974-11-20,178.09999999999417,178.10167,2015-01-01 00:29:44,bin1784,35, +CTSPillarNetworkA,1785,1785,1785,1974-11-21,178.19999999999416,178.20168,2015-01-01 00:29:45,bin1785,75, +CTSPillarNetworkA,1786,1786,1786,1974-11-22,178.29999999999416,178.30168,2015-01-01 00:29:46,bin1786,35, +CTSPillarNetworkA,1787,1787,1787,1974-11-23,178.39999999999415,178.40169,2015-01-01 00:29:47,bin1787,75, +CTSPillarNetworkA,1788,1788,1788,1974-11-24,178.49999999999415,178.5017,2015-01-01 00:29:48,bin1788,35, +CTSPillarNetworkA,1789,1789,1789,1974-11-25,178.59999999999414,178.6017,2015-01-01 00:29:49,bin1789,75, +CTSPillarNetworkA,1790,1790,1790,1974-11-26,178.69999999999413,178.7017,2015-01-01 00:29:50,bin1790,35, +CTSPillarNetworkA,1791,1791,1791,1974-11-27,178.79999999999413,178.80171,2015-01-01 00:29:51,bin1791,75, +CTSPillarNetworkA,1792,1792,1792,1974-11-28,178.89999999999412,178.90172,2015-01-01 00:29:52,bin1792,35, +CTSPillarNetworkA,1793,1793,1793,1974-11-29,178.99999999999412,179.00172,2015-01-01 00:29:53,bin1793,75, +CTSPillarNetworkA,1794,1794,1794,1974-11-30,179.0999999999941,179.10173,2015-01-01 00:29:54,bin1794,35, +CTSPillarNetworkA,1795,1795,1795,1974-12-01,179.1999999999941,179.20174,2015-01-01 00:29:55,bin1795,75, +CTSPillarNetworkA,1796,1796,1796,1974-12-02,179.2999999999941,179.30174,2015-01-01 00:29:56,bin1796,35, +CTSPillarNetworkA,1797,1797,1797,1974-12-03,179.3999999999941,179.40175,2015-01-01 00:29:57,bin1797,75, +CTSPillarNetworkA,1798,1798,1798,1974-12-04,179.4999999999941,179.50175,2015-01-01 00:29:58,bin1798,35, +CTSPillarNetworkA,1799,1799,1799,1974-12-05,179.59999999999408,179.60176,2015-01-01 00:29:59,bin1799,75, +CTSPillarNetworkA,1800,1800,1800,1974-12-06,179.69999999999408,179.70177,2015-01-01 00:30:00,bin1800,35, +CTSPillarNetworkA,1801,1801,1801,1974-12-07,179.79999999999407,179.80177,2015-01-01 00:30:01,bin1801,75, +CTSPillarNetworkA,1802,1802,1802,1974-12-08,179.89999999999407,179.90178,2015-01-01 00:30:02,bin1802,35, +CTSPillarNetworkA,1803,1803,1803,1974-12-09,179.99999999999406,180.00179,2015-01-01 00:30:03,bin1803,75, +CTSPillarNetworkA,1804,1804,1804,1974-12-10,180.09999999999405,180.10179,2015-01-01 00:30:04,bin1804,35, +CTSPillarNetworkA,1805,1805,1805,1974-12-11,180.19999999999405,180.2018,2015-01-01 00:30:05,bin1805,75, +CTSPillarNetworkA,1806,1806,1806,1974-12-12,180.29999999999404,180.3018,2015-01-01 00:30:06,bin1806,35, +CTSPillarNetworkA,1807,1807,1807,1974-12-13,180.39999999999404,180.40181,2015-01-01 00:30:07,bin1807,75, +CTSPillarNetworkA,1808,1808,1808,1974-12-14,180.49999999999403,180.50182,2015-01-01 00:30:08,bin1808,35, +CTSPillarNetworkA,1809,1809,1809,1974-12-15,180.59999999999403,180.60182,2015-01-01 00:30:09,bin1809,75, +CTSPillarNetworkA,1810,1810,1810,1974-12-16,180.69999999999402,180.70183,2015-01-01 00:30:10,bin1810,35, +CTSPillarNetworkA,1811,1811,1811,1974-12-17,180.79999999999401,180.80183,2015-01-01 00:30:11,bin1811,75, +CTSPillarNetworkA,1812,1812,1812,1974-12-18,180.899999999994,180.90184,2015-01-01 00:30:12,bin1812,35, +CTSPillarNetworkA,1813,1813,1813,1974-12-19,180.999999999994,181.00185,2015-01-01 00:30:13,bin1813,75, +CTSPillarNetworkA,1814,1814,1814,1974-12-20,181.099999999994,181.10185,2015-01-01 00:30:14,bin1814,35, +CTSPillarNetworkA,1815,1815,1815,1974-12-21,181.199999999994,181.20186,2015-01-01 00:30:15,bin1815,75, +CTSPillarNetworkA,1816,1816,1816,1974-12-22,181.299999999994,181.30186,2015-01-01 00:30:16,bin1816,35, +CTSPillarNetworkA,1817,1817,1817,1974-12-23,181.39999999999398,181.40187,2015-01-01 00:30:17,bin1817,75, +CTSPillarNetworkA,1818,1818,1818,1974-12-24,181.49999999999397,181.50188,2015-01-01 00:30:18,bin1818,35, +CTSPillarNetworkA,1819,1819,1819,1974-12-25,181.59999999999397,181.60188,2015-01-01 00:30:19,bin1819,75, +CTSPillarNetworkA,1820,1820,1820,1974-12-26,181.69999999999396,181.70189,2015-01-01 00:30:20,bin1820,35, +CTSPillarNetworkA,1821,1821,1821,1974-12-27,181.79999999999396,181.8019,2015-01-01 00:30:21,bin1821,75, +CTSPillarNetworkA,1822,1822,1822,1974-12-28,181.89999999999395,181.9019,2015-01-01 00:30:22,bin1822,35, +CTSPillarNetworkA,1823,1823,1823,1974-12-29,181.99999999999395,182.0019,2015-01-01 00:30:23,bin1823,75, +CTSPillarNetworkA,1824,1824,1824,1974-12-30,182.09999999999394,182.10191,2015-01-01 00:30:24,bin1824,35, +CTSPillarNetworkA,1825,1825,1825,1974-12-31,182.19999999999393,182.20192,2015-01-01 00:30:25,bin1825,75, +CTSPillarNetworkA,1826,1826,1826,1975-01-01,182.29999999999393,182.30193,2015-01-01 00:30:26,bin1826,35, +CTSPillarNetworkA,1827,1827,1827,1975-01-02,182.39999999999392,182.40193,2015-01-01 00:30:27,bin1827,75, +CTSPillarNetworkA,1828,1828,1828,1975-01-03,182.49999999999392,182.50194,2015-01-01 00:30:28,bin1828,35, +CTSPillarNetworkA,1829,1829,1829,1975-01-04,182.5999999999939,182.60194,2015-01-01 00:30:29,bin1829,75, +CTSPillarNetworkA,1830,1830,1830,1975-01-05,182.6999999999939,182.70195,2015-01-01 00:30:30,bin1830,35, +CTSPillarNetworkA,1831,1831,1831,1975-01-06,182.7999999999939,182.80196,2015-01-01 00:30:31,bin1831,75, +CTSPillarNetworkA,1832,1832,1832,1975-01-07,182.8999999999939,182.90196,2015-01-01 00:30:32,bin1832,35, +CTSPillarNetworkA,1833,1833,1833,1975-01-08,182.9999999999939,183.00197,2015-01-01 00:30:33,bin1833,75, +CTSPillarNetworkA,1834,1834,1834,1975-01-09,183.09999999999388,183.10197,2015-01-01 00:30:34,bin1834,35, +CTSPillarNetworkA,1835,1835,1835,1975-01-10,183.19999999999388,183.20198,2015-01-01 00:30:35,bin1835,75, +CTSPillarNetworkA,1836,1836,1836,1975-01-11,183.29999999999387,183.30199,2015-01-01 00:30:36,bin1836,35, +CTSPillarNetworkA,1837,1837,1837,1975-01-12,183.39999999999387,183.402,2015-01-01 00:30:37,bin1837,75, +CTSPillarNetworkA,1838,1838,1838,1975-01-13,183.49999999999386,183.502,2015-01-01 00:30:38,bin1838,35, +CTSPillarNetworkA,1839,1839,1839,1975-01-14,183.59999999999386,183.602,2015-01-01 00:30:39,bin1839,75, +CTSPillarNetworkA,1840,1840,1840,1975-01-15,183.69999999999385,183.70201,2015-01-01 00:30:40,bin1840,35, +CTSPillarNetworkA,1841,1841,1841,1975-01-16,183.79999999999384,183.80202,2015-01-01 00:30:41,bin1841,75, +CTSPillarNetworkA,1842,1842,1842,1975-01-17,183.89999999999384,183.90202,2015-01-01 00:30:42,bin1842,35, +CTSPillarNetworkA,1843,1843,1843,1975-01-18,183.99999999999383,184.00203,2015-01-01 00:30:43,bin1843,75, +CTSPillarNetworkA,1844,1844,1844,1975-01-19,184.09999999999383,184.10204,2015-01-01 00:30:44,bin1844,35, +CTSPillarNetworkA,1845,1845,1845,1975-01-20,184.19999999999382,184.20204,2015-01-01 00:30:45,bin1845,75, +CTSPillarNetworkA,1846,1846,1846,1975-01-21,184.29999999999382,184.30205,2015-01-01 00:30:46,bin1846,35, +CTSPillarNetworkA,1847,1847,1847,1975-01-22,184.3999999999938,184.40205,2015-01-01 00:30:47,bin1847,75, +CTSPillarNetworkA,1848,1848,1848,1975-01-23,184.4999999999938,184.50206,2015-01-01 00:30:48,bin1848,35, +CTSPillarNetworkA,1849,1849,1849,1975-01-24,184.5999999999938,184.60207,2015-01-01 00:30:49,bin1849,75, +CTSPillarNetworkA,1850,1850,1850,1975-01-25,184.6999999999938,184.70207,2015-01-01 00:30:50,bin1850,35, +CTSPillarNetworkA,1851,1851,1851,1975-01-26,184.7999999999938,184.80208,2015-01-01 00:30:51,bin1851,75, +CTSPillarNetworkA,1852,1852,1852,1975-01-27,184.89999999999378,184.90208,2015-01-01 00:30:52,bin1852,35, +CTSPillarNetworkA,1853,1853,1853,1975-01-28,184.99999999999378,185.00209,2015-01-01 00:30:53,bin1853,75, +CTSPillarNetworkA,1854,1854,1854,1975-01-29,185.09999999999377,185.1021,2015-01-01 00:30:54,bin1854,35, +CTSPillarNetworkA,1855,1855,1855,1975-01-30,185.19999999999376,185.2021,2015-01-01 00:30:55,bin1855,75, +CTSPillarNetworkA,1856,1856,1856,1975-01-31,185.29999999999376,185.30211,2015-01-01 00:30:56,bin1856,35, +CTSPillarNetworkA,1857,1857,1857,1975-02-01,185.39999999999375,185.40211,2015-01-01 00:30:57,bin1857,75, +CTSPillarNetworkA,1858,1858,1858,1975-02-02,185.49999999999375,185.50212,2015-01-01 00:30:58,bin1858,35, +CTSPillarNetworkA,1859,1859,1859,1975-02-03,185.59999999999374,185.60213,2015-01-01 00:30:59,bin1859,75, +CTSPillarNetworkA,1860,1860,1860,1975-02-04,185.69999999999374,185.70213,2015-01-01 00:31:00,bin1860,35, +CTSPillarNetworkA,1861,1861,1861,1975-02-05,185.79999999999373,185.80214,2015-01-01 00:31:01,bin1861,75, +CTSPillarNetworkA,1862,1862,1862,1975-02-06,185.89999999999372,185.90215,2015-01-01 00:31:02,bin1862,35, +CTSPillarNetworkA,1863,1863,1863,1975-02-07,185.99999999999372,186.00215,2015-01-01 00:31:03,bin1863,75, +CTSPillarNetworkA,1864,1864,1864,1975-02-08,186.0999999999937,186.10216,2015-01-01 00:31:04,bin1864,35, +CTSPillarNetworkA,1865,1865,1865,1975-02-09,186.1999999999937,186.20216,2015-01-01 00:31:05,bin1865,75, +CTSPillarNetworkA,1866,1866,1866,1975-02-10,186.2999999999937,186.30217,2015-01-01 00:31:06,bin1866,35, +CTSPillarNetworkA,1867,1867,1867,1975-02-11,186.3999999999937,186.40218,2015-01-01 00:31:07,bin1867,75, +CTSPillarNetworkA,1868,1868,1868,1975-02-12,186.4999999999937,186.50218,2015-01-01 00:31:08,bin1868,35, +CTSPillarNetworkA,1869,1869,1869,1975-02-13,186.59999999999368,186.60219,2015-01-01 00:31:09,bin1869,75, +CTSPillarNetworkA,1870,1870,1870,1975-02-14,186.69999999999368,186.7022,2015-01-01 00:31:10,bin1870,35, +CTSPillarNetworkA,1871,1871,1871,1975-02-15,186.79999999999367,186.8022,2015-01-01 00:31:11,bin1871,75, +CTSPillarNetworkA,1872,1872,1872,1975-02-16,186.89999999999367,186.9022,2015-01-01 00:31:12,bin1872,35, +CTSPillarNetworkA,1873,1873,1873,1975-02-17,186.99999999999366,187.00221,2015-01-01 00:31:13,bin1873,75, +CTSPillarNetworkA,1874,1874,1874,1975-02-18,187.09999999999366,187.10222,2015-01-01 00:31:14,bin1874,35, +CTSPillarNetworkA,1875,1875,1875,1975-02-19,187.19999999999365,187.20222,2015-01-01 00:31:15,bin1875,75, +CTSPillarNetworkA,1876,1876,1876,1975-02-20,187.29999999999364,187.30223,2015-01-01 00:31:16,bin1876,35, +CTSPillarNetworkA,1877,1877,1877,1975-02-21,187.39999999999364,187.40224,2015-01-01 00:31:17,bin1877,75, +CTSPillarNetworkA,1878,1878,1878,1975-02-22,187.49999999999363,187.50224,2015-01-01 00:31:18,bin1878,35, +CTSPillarNetworkA,1879,1879,1879,1975-02-23,187.59999999999363,187.60225,2015-01-01 00:31:19,bin1879,75, +CTSPillarNetworkA,1880,1880,1880,1975-02-24,187.69999999999362,187.70226,2015-01-01 00:31:20,bin1880,35, +CTSPillarNetworkA,1881,1881,1881,1975-02-25,187.79999999999362,187.80226,2015-01-01 00:31:21,bin1881,75, +CTSPillarNetworkA,1882,1882,1882,1975-02-26,187.8999999999936,187.90227,2015-01-01 00:31:22,bin1882,35, +CTSPillarNetworkA,1883,1883,1883,1975-02-27,187.9999999999936,188.00227,2015-01-01 00:31:23,bin1883,75, +CTSPillarNetworkA,1884,1884,1884,1975-02-28,188.0999999999936,188.10228,2015-01-01 00:31:24,bin1884,35, +CTSPillarNetworkA,1885,1885,1885,1975-03-01,188.1999999999936,188.20229,2015-01-01 00:31:25,bin1885,75, +CTSPillarNetworkA,1886,1886,1886,1975-03-02,188.2999999999936,188.30229,2015-01-01 00:31:26,bin1886,35, +CTSPillarNetworkA,1887,1887,1887,1975-03-03,188.39999999999358,188.4023,2015-01-01 00:31:27,bin1887,75, +CTSPillarNetworkA,1888,1888,1888,1975-03-04,188.49999999999358,188.5023,2015-01-01 00:31:28,bin1888,35, +CTSPillarNetworkA,1889,1889,1889,1975-03-05,188.59999999999357,188.60231,2015-01-01 00:31:29,bin1889,75, +CTSPillarNetworkA,1890,1890,1890,1975-03-06,188.69999999999357,188.70232,2015-01-01 00:31:30,bin1890,35, +CTSPillarNetworkA,1891,1891,1891,1975-03-07,188.79999999999356,188.80232,2015-01-01 00:31:31,bin1891,75, +CTSPillarNetworkA,1892,1892,1892,1975-03-08,188.89999999999355,188.90233,2015-01-01 00:31:32,bin1892,35, +CTSPillarNetworkA,1893,1893,1893,1975-03-09,188.99999999999355,189.00233,2015-01-01 00:31:33,bin1893,75, +CTSPillarNetworkA,1894,1894,1894,1975-03-10,189.09999999999354,189.10234,2015-01-01 00:31:34,bin1894,35, +CTSPillarNetworkA,1895,1895,1895,1975-03-11,189.19999999999354,189.20235,2015-01-01 00:31:35,bin1895,75, +CTSPillarNetworkA,1896,1896,1896,1975-03-12,189.29999999999353,189.30235,2015-01-01 00:31:36,bin1896,35, +CTSPillarNetworkA,1897,1897,1897,1975-03-13,189.39999999999353,189.40236,2015-01-01 00:31:37,bin1897,75, +CTSPillarNetworkA,1898,1898,1898,1975-03-14,189.49999999999352,189.50237,2015-01-01 00:31:38,bin1898,35, +CTSPillarNetworkA,1899,1899,1899,1975-03-15,189.5999999999935,189.60237,2015-01-01 00:31:39,bin1899,75, +CTSPillarNetworkA,1900,1900,1900,1975-03-16,189.6999999999935,189.70238,2015-01-01 00:31:40,bin1900,35, +CTSPillarNetworkA,1901,1901,1901,1975-03-17,189.7999999999935,189.80238,2015-01-01 00:31:41,bin1901,75, +CTSPillarNetworkA,1902,1902,1902,1975-03-18,189.8999999999935,189.90239,2015-01-01 00:31:42,bin1902,35, +CTSPillarNetworkA,1903,1903,1903,1975-03-19,189.9999999999935,190.0024,2015-01-01 00:31:43,bin1903,75, +CTSPillarNetworkA,1904,1904,1904,1975-03-20,190.09999999999349,190.1024,2015-01-01 00:31:44,bin1904,35, +CTSPillarNetworkA,1905,1905,1905,1975-03-21,190.19999999999348,190.20241,2015-01-01 00:31:45,bin1905,75, +CTSPillarNetworkA,1906,1906,1906,1975-03-22,190.29999999999347,190.30241,2015-01-01 00:31:46,bin1906,35, +CTSPillarNetworkA,1907,1907,1907,1975-03-23,190.39999999999347,190.40242,2015-01-01 00:31:47,bin1907,75, +CTSPillarNetworkA,1908,1908,1908,1975-03-24,190.49999999999346,190.50243,2015-01-01 00:31:48,bin1908,35, +CTSPillarNetworkA,1909,1909,1909,1975-03-25,190.59999999999346,190.60243,2015-01-01 00:31:49,bin1909,75, +CTSPillarNetworkA,1910,1910,1910,1975-03-26,190.69999999999345,190.70244,2015-01-01 00:31:50,bin1910,35, +CTSPillarNetworkA,1911,1911,1911,1975-03-27,190.79999999999345,190.80244,2015-01-01 00:31:51,bin1911,75, +CTSPillarNetworkA,1912,1912,1912,1975-03-28,190.89999999999344,190.90245,2015-01-01 00:31:52,bin1912,35, +CTSPillarNetworkA,1913,1913,1913,1975-03-29,190.99999999999343,191.00246,2015-01-01 00:31:53,bin1913,75, +CTSPillarNetworkA,1914,1914,1914,1975-03-30,191.09999999999343,191.10246,2015-01-01 00:31:54,bin1914,35, +CTSPillarNetworkA,1915,1915,1915,1975-03-31,191.19999999999342,191.20247,2015-01-01 00:31:55,bin1915,75, +CTSPillarNetworkA,1916,1916,1916,1975-04-01,191.29999999999342,191.30247,2015-01-01 00:31:56,bin1916,35, +CTSPillarNetworkA,1917,1917,1917,1975-04-02,191.3999999999934,191.40248,2015-01-01 00:31:57,bin1917,75, +CTSPillarNetworkA,1918,1918,1918,1975-04-03,191.4999999999934,191.50249,2015-01-01 00:31:58,bin1918,35, +CTSPillarNetworkA,1919,1919,1919,1975-04-04,191.5999999999934,191.6025,2015-01-01 00:31:59,bin1919,75, +CTSPillarNetworkA,1920,1920,1920,1975-04-05,191.6999999999934,191.7025,2015-01-01 00:32:00,bin1920,35, +CTSPillarNetworkA,1921,1921,1921,1975-04-06,191.7999999999934,191.8025,2015-01-01 00:32:01,bin1921,75, +CTSPillarNetworkA,1922,1922,1922,1975-04-07,191.89999999999338,191.90251,2015-01-01 00:32:02,bin1922,35, +CTSPillarNetworkA,1923,1923,1923,1975-04-08,191.99999999999338,192.00252,2015-01-01 00:32:03,bin1923,75, +CTSPillarNetworkA,1924,1924,1924,1975-04-09,192.09999999999337,192.10252,2015-01-01 00:32:04,bin1924,35, +CTSPillarNetworkA,1925,1925,1925,1975-04-10,192.19999999999337,192.20253,2015-01-01 00:32:05,bin1925,75, +CTSPillarNetworkA,1926,1926,1926,1975-04-11,192.29999999999336,192.30254,2015-01-01 00:32:06,bin1926,35, +CTSPillarNetworkA,1927,1927,1927,1975-04-12,192.39999999999336,192.40254,2015-01-01 00:32:07,bin1927,75, +CTSPillarNetworkA,1928,1928,1928,1975-04-13,192.49999999999335,192.50255,2015-01-01 00:32:08,bin1928,35, +CTSPillarNetworkA,1929,1929,1929,1975-04-14,192.59999999999334,192.60255,2015-01-01 00:32:09,bin1929,75, +CTSPillarNetworkA,1930,1930,1930,1975-04-15,192.69999999999334,192.70256,2015-01-01 00:32:10,bin1930,35, +CTSPillarNetworkA,1931,1931,1931,1975-04-16,192.79999999999333,192.80257,2015-01-01 00:32:11,bin1931,75, +CTSPillarNetworkA,1932,1932,1932,1975-04-17,192.89999999999333,192.90257,2015-01-01 00:32:12,bin1932,35, +CTSPillarNetworkA,1933,1933,1933,1975-04-18,192.99999999999332,193.00258,2015-01-01 00:32:13,bin1933,75, +CTSPillarNetworkA,1934,1934,1934,1975-04-19,193.09999999999332,193.10258,2015-01-01 00:32:14,bin1934,35, +CTSPillarNetworkA,1935,1935,1935,1975-04-20,193.1999999999933,193.20259,2015-01-01 00:32:15,bin1935,75, +CTSPillarNetworkA,1936,1936,1936,1975-04-21,193.2999999999933,193.3026,2015-01-01 00:32:16,bin1936,35, +CTSPillarNetworkA,1937,1937,1937,1975-04-22,193.3999999999933,193.4026,2015-01-01 00:32:17,bin1937,75, +CTSPillarNetworkA,1938,1938,1938,1975-04-23,193.4999999999933,193.50261,2015-01-01 00:32:18,bin1938,35, +CTSPillarNetworkA,1939,1939,1939,1975-04-24,193.5999999999933,193.60262,2015-01-01 00:32:19,bin1939,75, +CTSPillarNetworkA,1940,1940,1940,1975-04-25,193.69999999999328,193.70262,2015-01-01 00:32:20,bin1940,35, +CTSPillarNetworkA,1941,1941,1941,1975-04-26,193.79999999999328,193.80263,2015-01-01 00:32:21,bin1941,75, +CTSPillarNetworkA,1942,1942,1942,1975-04-27,193.89999999999327,193.90263,2015-01-01 00:32:22,bin1942,35, +CTSPillarNetworkA,1943,1943,1943,1975-04-28,193.99999999999326,194.00264,2015-01-01 00:32:23,bin1943,75, +CTSPillarNetworkA,1944,1944,1944,1975-04-29,194.09999999999326,194.10265,2015-01-01 00:32:24,bin1944,35, +CTSPillarNetworkA,1945,1945,1945,1975-04-30,194.19999999999325,194.20265,2015-01-01 00:32:25,bin1945,75, +CTSPillarNetworkA,1946,1946,1946,1975-05-01,194.29999999999325,194.30266,2015-01-01 00:32:26,bin1946,35, +CTSPillarNetworkA,1947,1947,1947,1975-05-02,194.39999999999324,194.40266,2015-01-01 00:32:27,bin1947,75, +CTSPillarNetworkA,1948,1948,1948,1975-05-03,194.49999999999324,194.50267,2015-01-01 00:32:28,bin1948,35, +CTSPillarNetworkA,1949,1949,1949,1975-05-04,194.59999999999323,194.60268,2015-01-01 00:32:29,bin1949,75, +CTSPillarNetworkA,1950,1950,1950,1975-05-05,194.69999999999322,194.70268,2015-01-01 00:32:30,bin1950,35, +CTSPillarNetworkA,1951,1951,1951,1975-05-06,194.79999999999322,194.80269,2015-01-01 00:32:31,bin1951,75, +CTSPillarNetworkA,1952,1952,1952,1975-05-07,194.8999999999932,194.9027,2015-01-01 00:32:32,bin1952,35, +CTSPillarNetworkA,1953,1953,1953,1975-05-08,194.9999999999932,195.0027,2015-01-01 00:32:33,bin1953,75, +CTSPillarNetworkA,1954,1954,1954,1975-05-09,195.0999999999932,195.1027,2015-01-01 00:32:34,bin1954,35, +CTSPillarNetworkA,1955,1955,1955,1975-05-10,195.1999999999932,195.20271,2015-01-01 00:32:35,bin1955,75, +CTSPillarNetworkA,1956,1956,1956,1975-05-11,195.2999999999932,195.30272,2015-01-01 00:32:36,bin1956,35, +CTSPillarNetworkA,1957,1957,1957,1975-05-12,195.39999999999318,195.40273,2015-01-01 00:32:37,bin1957,75, +CTSPillarNetworkA,1958,1958,1958,1975-05-13,195.49999999999318,195.50273,2015-01-01 00:32:38,bin1958,35, +CTSPillarNetworkA,1959,1959,1959,1975-05-14,195.59999999999317,195.60274,2015-01-01 00:32:39,bin1959,75, +CTSPillarNetworkA,1960,1960,1960,1975-05-15,195.69999999999317,195.70274,2015-01-01 00:32:40,bin1960,35, +CTSPillarNetworkA,1961,1961,1961,1975-05-16,195.79999999999316,195.80275,2015-01-01 00:32:41,bin1961,75, +CTSPillarNetworkA,1962,1962,1962,1975-05-17,195.89999999999316,195.90276,2015-01-01 00:32:42,bin1962,35, +CTSPillarNetworkA,1963,1963,1963,1975-05-18,195.99999999999315,196.00276,2015-01-01 00:32:43,bin1963,75, +CTSPillarNetworkA,1964,1964,1964,1975-05-19,196.09999999999314,196.10277,2015-01-01 00:32:44,bin1964,35, +CTSPillarNetworkA,1965,1965,1965,1975-05-20,196.19999999999314,196.20277,2015-01-01 00:32:45,bin1965,75, +CTSPillarNetworkA,1966,1966,1966,1975-05-21,196.29999999999313,196.30278,2015-01-01 00:32:46,bin1966,35, +CTSPillarNetworkA,1967,1967,1967,1975-05-22,196.39999999999313,196.40279,2015-01-01 00:32:47,bin1967,75, +CTSPillarNetworkA,1968,1968,1968,1975-05-23,196.49999999999312,196.50279,2015-01-01 00:32:48,bin1968,35, +CTSPillarNetworkA,1969,1969,1969,1975-05-24,196.59999999999312,196.6028,2015-01-01 00:32:49,bin1969,75, +CTSPillarNetworkA,1970,1970,1970,1975-05-25,196.6999999999931,196.7028,2015-01-01 00:32:50,bin1970,35, +CTSPillarNetworkA,1971,1971,1971,1975-05-26,196.7999999999931,196.80281,2015-01-01 00:32:51,bin1971,75, +CTSPillarNetworkA,1972,1972,1972,1975-05-27,196.8999999999931,196.90282,2015-01-01 00:32:52,bin1972,35, +CTSPillarNetworkA,1973,1973,1973,1975-05-28,196.9999999999931,197.00282,2015-01-01 00:32:53,bin1973,75, +CTSPillarNetworkA,1974,1974,1974,1975-05-29,197.0999999999931,197.10283,2015-01-01 00:32:54,bin1974,35, +CTSPillarNetworkA,1975,1975,1975,1975-05-30,197.19999999999308,197.20284,2015-01-01 00:32:55,bin1975,75, +CTSPillarNetworkA,1976,1976,1976,1975-05-31,197.29999999999308,197.30284,2015-01-01 00:32:56,bin1976,35, +CTSPillarNetworkA,1977,1977,1977,1975-06-01,197.39999999999307,197.40285,2015-01-01 00:32:57,bin1977,75, +CTSPillarNetworkA,1978,1978,1978,1975-06-02,197.49999999999307,197.50285,2015-01-01 00:32:58,bin1978,35, +CTSPillarNetworkA,1979,1979,1979,1975-06-03,197.59999999999306,197.60286,2015-01-01 00:32:59,bin1979,75, +CTSPillarNetworkA,1980,1980,1980,1975-06-04,197.69999999999305,197.70287,2015-01-01 00:33:00,bin1980,35, +CTSPillarNetworkA,1981,1981,1981,1975-06-05,197.79999999999305,197.80287,2015-01-01 00:33:01,bin1981,75, +CTSPillarNetworkA,1982,1982,1982,1975-06-06,197.89999999999304,197.90288,2015-01-01 00:33:02,bin1982,35, +CTSPillarNetworkA,1983,1983,1983,1975-06-07,197.99999999999304,198.00288,2015-01-01 00:33:03,bin1983,75, +CTSPillarNetworkA,1984,1984,1984,1975-06-08,198.09999999999303,198.10289,2015-01-01 00:33:04,bin1984,35, +CTSPillarNetworkA,1985,1985,1985,1975-06-09,198.19999999999303,198.2029,2015-01-01 00:33:05,bin1985,75, +CTSPillarNetworkA,1986,1986,1986,1975-06-10,198.29999999999302,198.3029,2015-01-01 00:33:06,bin1986,35, +CTSPillarNetworkA,1987,1987,1987,1975-06-11,198.399999999993,198.40291,2015-01-01 00:33:07,bin1987,75, +CTSPillarNetworkA,1988,1988,1988,1975-06-12,198.499999999993,198.50291,2015-01-01 00:33:08,bin1988,35, +CTSPillarNetworkA,1989,1989,1989,1975-06-13,198.599999999993,198.60292,2015-01-01 00:33:09,bin1989,75, +CTSPillarNetworkA,1990,1990,1990,1975-06-14,198.699999999993,198.70293,2015-01-01 00:33:10,bin1990,35, +CTSPillarNetworkA,1991,1991,1991,1975-06-15,198.799999999993,198.80293,2015-01-01 00:33:11,bin1991,75, +CTSPillarNetworkA,1992,1992,1992,1975-06-16,198.89999999999299,198.90294,2015-01-01 00:33:12,bin1992,35, +CTSPillarNetworkA,1993,1993,1993,1975-06-17,198.99999999999298,199.00294,2015-01-01 00:33:13,bin1993,75, +CTSPillarNetworkA,1994,1994,1994,1975-06-18,199.09999999999297,199.10295,2015-01-01 00:33:14,bin1994,35, +CTSPillarNetworkA,1995,1995,1995,1975-06-19,199.19999999999297,199.20296,2015-01-01 00:33:15,bin1995,75, +CTSPillarNetworkA,1996,1996,1996,1975-06-20,199.29999999999296,199.30296,2015-01-01 00:33:16,bin1996,35, +CTSPillarNetworkA,1997,1997,1997,1975-06-21,199.39999999999296,199.40297,2015-01-01 00:33:17,bin1997,75, +CTSPillarNetworkA,1998,1998,1998,1975-06-22,199.49999999999295,199.50298,2015-01-01 00:33:18,bin1998,35, +CTSPillarNetworkA,1999,1999,1999,1975-06-23,199.59999999999295,199.60298,2015-01-01 00:33:19,bin1999,75, +CTSPillarNetworkA,2000,2000,2000,1975-06-24,199.69999999999294,199.70299,2015-01-01 00:33:20,bin2000,35, +CTSPillarNetworkA,2001,2001,2001,1975-06-25,199.79999999999293,199.803,2015-01-01 00:33:21,bin2001,75, +CTSPillarNetworkA,2002,2002,2002,1975-06-26,199.89999999999293,199.903,2015-01-01 00:33:22,bin2002,35, +CTSPillarNetworkA,2003,2003,2003,1975-06-27,199.99999999999292,200.003,2015-01-01 00:33:23,bin2003,75, +CTSPillarNetworkA,2004,2004,2004,1975-06-28,200.09999999999292,200.10301,2015-01-01 00:33:24,bin2004,35, +CTSPillarNetworkA,2005,2005,2005,1975-06-29,200.1999999999929,200.20302,2015-01-01 00:33:25,bin2005,75, +CTSPillarNetworkA,2006,2006,2006,1975-06-30,200.2999999999929,200.30302,2015-01-01 00:33:26,bin2006,35, +CTSPillarNetworkA,2007,2007,2007,1975-07-01,200.3999999999929,200.40303,2015-01-01 00:33:27,bin2007,75, +CTSPillarNetworkA,2008,2008,2008,1975-07-02,200.4999999999929,200.50304,2015-01-01 00:33:28,bin2008,35, +CTSPillarNetworkA,2009,2009,2009,1975-07-03,200.5999999999929,200.60304,2015-01-01 00:33:29,bin2009,75, +CTSPillarNetworkA,2010,2010,2010,1975-07-04,200.69999999999288,200.70305,2015-01-01 00:33:30,bin2010,35, +CTSPillarNetworkA,2011,2011,2011,1975-07-05,200.79999999999288,200.80305,2015-01-01 00:33:31,bin2011,75, +CTSPillarNetworkA,2012,2012,2012,1975-07-06,200.89999999999287,200.90306,2015-01-01 00:33:32,bin2012,35, +CTSPillarNetworkA,2013,2013,2013,1975-07-07,200.99999999999287,201.00307,2015-01-01 00:33:33,bin2013,75, +CTSPillarNetworkA,2014,2014,2014,1975-07-08,201.09999999999286,201.10307,2015-01-01 00:33:34,bin2014,35, +CTSPillarNetworkA,2015,2015,2015,1975-07-09,201.19999999999285,201.20308,2015-01-01 00:33:35,bin2015,75, +CTSPillarNetworkA,2016,2016,2016,1975-07-10,201.29999999999285,201.30309,2015-01-01 00:33:36,bin2016,35, +CTSPillarNetworkA,2017,2017,2017,1975-07-11,201.39999999999284,201.40309,2015-01-01 00:33:37,bin2017,75, +CTSPillarNetworkA,2018,2018,2018,1975-07-12,201.49999999999284,201.5031,2015-01-01 00:33:38,bin2018,35, +CTSPillarNetworkA,2019,2019,2019,1975-07-13,201.59999999999283,201.6031,2015-01-01 00:33:39,bin2019,75, +CTSPillarNetworkA,2020,2020,2020,1975-07-14,201.69999999999283,201.70311,2015-01-01 00:33:40,bin2020,35, +CTSPillarNetworkA,2021,2021,2021,1975-07-15,201.79999999999282,201.80312,2015-01-01 00:33:41,bin2021,75, +CTSPillarNetworkA,2022,2022,2022,1975-07-16,201.89999999999281,201.90312,2015-01-01 00:33:42,bin2022,35, +CTSPillarNetworkA,2023,2023,2023,1975-07-17,201.9999999999928,202.00313,2015-01-01 00:33:43,bin2023,75, +CTSPillarNetworkA,2024,2024,2024,1975-07-18,202.0999999999928,202.10313,2015-01-01 00:33:44,bin2024,35, +CTSPillarNetworkA,2025,2025,2025,1975-07-19,202.1999999999928,202.20314,2015-01-01 00:33:45,bin2025,75, +CTSPillarNetworkA,2026,2026,2026,1975-07-20,202.2999999999928,202.30315,2015-01-01 00:33:46,bin2026,35, +CTSPillarNetworkA,2027,2027,2027,1975-07-21,202.3999999999928,202.40315,2015-01-01 00:33:47,bin2027,75, +CTSPillarNetworkA,2028,2028,2028,1975-07-22,202.49999999999278,202.50316,2015-01-01 00:33:48,bin2028,35, +CTSPillarNetworkA,2029,2029,2029,1975-07-23,202.59999999999278,202.60316,2015-01-01 00:33:49,bin2029,75, +CTSPillarNetworkA,2030,2030,2030,1975-07-24,202.69999999999277,202.70317,2015-01-01 00:33:50,bin2030,35, +CTSPillarNetworkA,2031,2031,2031,1975-07-25,202.79999999999276,202.80318,2015-01-01 00:33:51,bin2031,75, +CTSPillarNetworkA,2032,2032,2032,1975-07-26,202.89999999999276,202.90318,2015-01-01 00:33:52,bin2032,35, +CTSPillarNetworkA,2033,2033,2033,1975-07-27,202.99999999999275,203.00319,2015-01-01 00:33:53,bin2033,75, +CTSPillarNetworkA,2034,2034,2034,1975-07-28,203.09999999999275,203.1032,2015-01-01 00:33:54,bin2034,35, +CTSPillarNetworkA,2035,2035,2035,1975-07-29,203.19999999999274,203.2032,2015-01-01 00:33:55,bin2035,75, +CTSPillarNetworkA,2036,2036,2036,1975-07-30,203.29999999999274,203.3032,2015-01-01 00:33:56,bin2036,35, +CTSPillarNetworkA,2037,2037,2037,1975-07-31,203.39999999999273,203.40321,2015-01-01 00:33:57,bin2037,75, +CTSPillarNetworkA,2038,2038,2038,1975-08-01,203.49999999999272,203.50322,2015-01-01 00:33:58,bin2038,35, +CTSPillarNetworkA,2039,2039,2039,1975-08-02,203.59999999999272,203.60323,2015-01-01 00:33:59,bin2039,75, +CTSPillarNetworkA,2040,2040,2040,1975-08-03,203.6999999999927,203.70323,2015-01-01 00:34:00,bin2040,35, +CTSPillarNetworkA,2041,2041,2041,1975-08-04,203.7999999999927,203.80324,2015-01-01 00:34:01,bin2041,75, +CTSPillarNetworkA,2042,2042,2042,1975-08-05,203.8999999999927,203.90324,2015-01-01 00:34:02,bin2042,35, +CTSPillarNetworkA,2043,2043,2043,1975-08-06,203.9999999999927,204.00325,2015-01-01 00:34:03,bin2043,75, +CTSPillarNetworkA,2044,2044,2044,1975-08-07,204.0999999999927,204.10326,2015-01-01 00:34:04,bin2044,35, +CTSPillarNetworkA,2045,2045,2045,1975-08-08,204.19999999999268,204.20326,2015-01-01 00:34:05,bin2045,75, +CTSPillarNetworkA,2046,2046,2046,1975-08-09,204.29999999999268,204.30327,2015-01-01 00:34:06,bin2046,35, +CTSPillarNetworkA,2047,2047,2047,1975-08-10,204.39999999999267,204.40327,2015-01-01 00:34:07,bin2047,75, +CTSPillarNetworkA,2048,2048,2048,1975-08-11,204.49999999999267,204.50328,2015-01-01 00:34:08,bin2048,35, +CTSPillarNetworkA,2049,2049,2049,1975-08-12,204.59999999999266,204.60329,2015-01-01 00:34:09,bin2049,75, +CTSPillarNetworkA,2050,2050,2050,1975-08-13,204.69999999999266,204.7033,2015-01-01 00:34:10,bin2050,35, +CTSPillarNetworkA,2051,2051,2051,1975-08-14,204.79999999999265,204.8033,2015-01-01 00:34:11,bin2051,75, +CTSPillarNetworkA,2052,2052,2052,1975-08-15,204.89999999999264,204.9033,2015-01-01 00:34:12,bin2052,35, +CTSPillarNetworkA,2053,2053,2053,1975-08-16,204.99999999999264,205.00331,2015-01-01 00:34:13,bin2053,75, +CTSPillarNetworkA,2054,2054,2054,1975-08-17,205.09999999999263,205.10332,2015-01-01 00:34:14,bin2054,35, +CTSPillarNetworkA,2055,2055,2055,1975-08-18,205.19999999999263,205.20332,2015-01-01 00:34:15,bin2055,75, +CTSPillarNetworkA,2056,2056,2056,1975-08-19,205.29999999999262,205.30333,2015-01-01 00:34:16,bin2056,35, +CTSPillarNetworkA,2057,2057,2057,1975-08-20,205.39999999999262,205.40334,2015-01-01 00:34:17,bin2057,75, +CTSPillarNetworkA,2058,2058,2058,1975-08-21,205.4999999999926,205.50334,2015-01-01 00:34:18,bin2058,35, +CTSPillarNetworkA,2059,2059,2059,1975-08-22,205.5999999999926,205.60335,2015-01-01 00:34:19,bin2059,75, +CTSPillarNetworkA,2060,2060,2060,1975-08-23,205.6999999999926,205.70335,2015-01-01 00:34:20,bin2060,35, +CTSPillarNetworkA,2061,2061,2061,1975-08-24,205.7999999999926,205.80336,2015-01-01 00:34:21,bin2061,75, +CTSPillarNetworkA,2062,2062,2062,1975-08-25,205.8999999999926,205.90337,2015-01-01 00:34:22,bin2062,35, +CTSPillarNetworkA,2063,2063,2063,1975-08-26,205.99999999999258,206.00337,2015-01-01 00:34:23,bin2063,75, +CTSPillarNetworkA,2064,2064,2064,1975-08-27,206.09999999999258,206.10338,2015-01-01 00:34:24,bin2064,35, +CTSPillarNetworkA,2065,2065,2065,1975-08-28,206.19999999999257,206.20338,2015-01-01 00:34:25,bin2065,75, +CTSPillarNetworkA,2066,2066,2066,1975-08-29,206.29999999999256,206.30339,2015-01-01 00:34:26,bin2066,35, +CTSPillarNetworkA,2067,2067,2067,1975-08-30,206.39999999999256,206.4034,2015-01-01 00:34:27,bin2067,75, +CTSPillarNetworkA,2068,2068,2068,1975-08-31,206.49999999999255,206.5034,2015-01-01 00:34:28,bin2068,35, +CTSPillarNetworkA,2069,2069,2069,1975-09-01,206.59999999999255,206.60341,2015-01-01 00:34:29,bin2069,75, +CTSPillarNetworkA,2070,2070,2070,1975-09-02,206.69999999999254,206.70341,2015-01-01 00:34:30,bin2070,35, +CTSPillarNetworkA,2071,2071,2071,1975-09-03,206.79999999999254,206.80342,2015-01-01 00:34:31,bin2071,75, +CTSPillarNetworkA,2072,2072,2072,1975-09-04,206.89999999999253,206.90343,2015-01-01 00:34:32,bin2072,35, +CTSPillarNetworkA,2073,2073,2073,1975-09-05,206.99999999999253,207.00343,2015-01-01 00:34:33,bin2073,75, +CTSPillarNetworkA,2074,2074,2074,1975-09-06,207.09999999999252,207.10344,2015-01-01 00:34:34,bin2074,35, +CTSPillarNetworkA,2075,2075,2075,1975-09-07,207.1999999999925,207.20345,2015-01-01 00:34:35,bin2075,75, +CTSPillarNetworkA,2076,2076,2076,1975-09-08,207.2999999999925,207.30345,2015-01-01 00:34:36,bin2076,35, +CTSPillarNetworkA,2077,2077,2077,1975-09-09,207.3999999999925,207.40346,2015-01-01 00:34:37,bin2077,75, +CTSPillarNetworkA,2078,2078,2078,1975-09-10,207.4999999999925,207.50346,2015-01-01 00:34:38,bin2078,35, +CTSPillarNetworkA,2079,2079,2079,1975-09-11,207.5999999999925,207.60347,2015-01-01 00:34:39,bin2079,75, +CTSPillarNetworkA,2080,2080,2080,1975-09-12,207.69999999999249,207.70348,2015-01-01 00:34:40,bin2080,35, +CTSPillarNetworkA,2081,2081,2081,1975-09-13,207.79999999999248,207.80348,2015-01-01 00:34:41,bin2081,75, +CTSPillarNetworkA,2082,2082,2082,1975-09-14,207.89999999999247,207.90349,2015-01-01 00:34:42,bin2082,35, +CTSPillarNetworkA,2083,2083,2083,1975-09-15,207.99999999999247,208.0035,2015-01-01 00:34:43,bin2083,75, +CTSPillarNetworkA,2084,2084,2084,1975-09-16,208.09999999999246,208.1035,2015-01-01 00:34:44,bin2084,35, +CTSPillarNetworkA,2085,2085,2085,1975-09-17,208.19999999999246,208.2035,2015-01-01 00:34:45,bin2085,75, +CTSPillarNetworkA,2086,2086,2086,1975-09-18,208.29999999999245,208.30351,2015-01-01 00:34:46,bin2086,35, +CTSPillarNetworkA,2087,2087,2087,1975-09-19,208.39999999999245,208.40352,2015-01-01 00:34:47,bin2087,75, +CTSPillarNetworkA,2088,2088,2088,1975-09-20,208.49999999999244,208.50352,2015-01-01 00:34:48,bin2088,35, +CTSPillarNetworkA,2089,2089,2089,1975-09-21,208.59999999999243,208.60353,2015-01-01 00:34:49,bin2089,75, +CTSPillarNetworkA,2090,2090,2090,1975-09-22,208.69999999999243,208.70354,2015-01-01 00:34:50,bin2090,35, +CTSPillarNetworkA,2091,2091,2091,1975-09-23,208.79999999999242,208.80354,2015-01-01 00:34:51,bin2091,75, +CTSPillarNetworkA,2092,2092,2092,1975-09-24,208.89999999999242,208.90355,2015-01-01 00:34:52,bin2092,35, +CTSPillarNetworkA,2093,2093,2093,1975-09-25,208.9999999999924,209.00356,2015-01-01 00:34:53,bin2093,75, +CTSPillarNetworkA,2094,2094,2094,1975-09-26,209.0999999999924,209.10356,2015-01-01 00:34:54,bin2094,35, +CTSPillarNetworkA,2095,2095,2095,1975-09-27,209.1999999999924,209.20357,2015-01-01 00:34:55,bin2095,75, +CTSPillarNetworkA,2096,2096,2096,1975-09-28,209.2999999999924,209.30357,2015-01-01 00:34:56,bin2096,35, +CTSPillarNetworkA,2097,2097,2097,1975-09-29,209.3999999999924,209.40358,2015-01-01 00:34:57,bin2097,75, +CTSPillarNetworkA,2098,2098,2098,1975-09-30,209.49999999999238,209.50359,2015-01-01 00:34:58,bin2098,35, +CTSPillarNetworkA,2099,2099,2099,1975-10-01,209.59999999999238,209.60359,2015-01-01 00:34:59,bin2099,75, +CTSPillarNetworkA,2100,2100,2100,1975-10-02,209.69999999999237,209.7036,2015-01-01 00:35:00,bin2100,35, +CTSPillarNetworkA,2101,2101,2101,1975-10-03,209.79999999999237,209.8036,2015-01-01 00:35:01,bin2101,75, +CTSPillarNetworkA,2102,2102,2102,1975-10-04,209.89999999999236,209.90361,2015-01-01 00:35:02,bin2102,35, +CTSPillarNetworkA,2103,2103,2103,1975-10-05,209.99999999999235,210.00362,2015-01-01 00:35:03,bin2103,75, +CTSPillarNetworkA,2104,2104,2104,1975-10-06,210.09999999999235,210.10362,2015-01-01 00:35:04,bin2104,35, +CTSPillarNetworkA,2105,2105,2105,1975-10-07,210.19999999999234,210.20363,2015-01-01 00:35:05,bin2105,75, +CTSPillarNetworkA,2106,2106,2106,1975-10-08,210.29999999999234,210.30363,2015-01-01 00:35:06,bin2106,35, +CTSPillarNetworkA,2107,2107,2107,1975-10-09,210.39999999999233,210.40364,2015-01-01 00:35:07,bin2107,75, +CTSPillarNetworkA,2108,2108,2108,1975-10-10,210.49999999999233,210.50365,2015-01-01 00:35:08,bin2108,35, +CTSPillarNetworkA,2109,2109,2109,1975-10-11,210.59999999999232,210.60365,2015-01-01 00:35:09,bin2109,75, +CTSPillarNetworkA,2110,2110,2110,1975-10-12,210.69999999999231,210.70366,2015-01-01 00:35:10,bin2110,35, +CTSPillarNetworkA,2111,2111,2111,1975-10-13,210.7999999999923,210.80367,2015-01-01 00:35:11,bin2111,75, +CTSPillarNetworkA,2112,2112,2112,1975-10-14,210.8999999999923,210.90367,2015-01-01 00:35:12,bin2112,35, +CTSPillarNetworkA,2113,2113,2113,1975-10-15,210.9999999999923,211.00368,2015-01-01 00:35:13,bin2113,75, +CTSPillarNetworkA,2114,2114,2114,1975-10-16,211.0999999999923,211.10368,2015-01-01 00:35:14,bin2114,35, +CTSPillarNetworkA,2115,2115,2115,1975-10-17,211.1999999999923,211.20369,2015-01-01 00:35:15,bin2115,75, +CTSPillarNetworkA,2116,2116,2116,1975-10-18,211.29999999999228,211.3037,2015-01-01 00:35:16,bin2116,35, +CTSPillarNetworkA,2117,2117,2117,1975-10-19,211.39999999999227,211.4037,2015-01-01 00:35:17,bin2117,75, +CTSPillarNetworkA,2118,2118,2118,1975-10-20,211.49999999999227,211.50371,2015-01-01 00:35:18,bin2118,35, +CTSPillarNetworkA,2119,2119,2119,1975-10-21,211.59999999999226,211.60371,2015-01-01 00:35:19,bin2119,75, +CTSPillarNetworkA,2120,2120,2120,1975-10-22,211.69999999999226,211.70372,2015-01-01 00:35:20,bin2120,35, +CTSPillarNetworkA,2121,2121,2121,1975-10-23,211.79999999999225,211.80373,2015-01-01 00:35:21,bin2121,75, +CTSPillarNetworkA,2122,2122,2122,1975-10-24,211.89999999999225,211.90373,2015-01-01 00:35:22,bin2122,35, +CTSPillarNetworkA,2123,2123,2123,1975-10-25,211.99999999999224,212.00374,2015-01-01 00:35:23,bin2123,75, +CTSPillarNetworkA,2124,2124,2124,1975-10-26,212.09999999999224,212.10374,2015-01-01 00:35:24,bin2124,35, +CTSPillarNetworkA,2125,2125,2125,1975-10-27,212.19999999999223,212.20375,2015-01-01 00:35:25,bin2125,75, +CTSPillarNetworkA,2126,2126,2126,1975-10-28,212.29999999999222,212.30376,2015-01-01 00:35:26,bin2126,35, +CTSPillarNetworkA,2127,2127,2127,1975-10-29,212.39999999999222,212.40376,2015-01-01 00:35:27,bin2127,75, +CTSPillarNetworkA,2128,2128,2128,1975-10-30,212.4999999999922,212.50377,2015-01-01 00:35:28,bin2128,35, +CTSPillarNetworkA,2129,2129,2129,1975-10-31,212.5999999999922,212.60378,2015-01-01 00:35:29,bin2129,75, +CTSPillarNetworkA,2130,2130,2130,1975-11-01,212.6999999999922,212.70378,2015-01-01 00:35:30,bin2130,35, +CTSPillarNetworkA,2131,2131,2131,1975-11-02,212.7999999999922,212.80379,2015-01-01 00:35:31,bin2131,75, +CTSPillarNetworkA,2132,2132,2132,1975-11-03,212.8999999999922,212.9038,2015-01-01 00:35:32,bin2132,35, +CTSPillarNetworkA,2133,2133,2133,1975-11-04,212.99999999999218,213.0038,2015-01-01 00:35:33,bin2133,75, +CTSPillarNetworkA,2134,2134,2134,1975-11-05,213.09999999999218,213.1038,2015-01-01 00:35:34,bin2134,35, +CTSPillarNetworkA,2135,2135,2135,1975-11-06,213.19999999999217,213.20381,2015-01-01 00:35:35,bin2135,75, +CTSPillarNetworkA,2136,2136,2136,1975-11-07,213.29999999999217,213.30382,2015-01-01 00:35:36,bin2136,35, +CTSPillarNetworkA,2137,2137,2137,1975-11-08,213.39999999999216,213.40382,2015-01-01 00:35:37,bin2137,75, +CTSPillarNetworkA,2138,2138,2138,1975-11-09,213.49999999999216,213.50383,2015-01-01 00:35:38,bin2138,35, +CTSPillarNetworkA,2139,2139,2139,1975-11-10,213.59999999999215,213.60384,2015-01-01 00:35:39,bin2139,75, +CTSPillarNetworkA,2140,2140,2140,1975-11-11,213.69999999999214,213.70384,2015-01-01 00:35:40,bin2140,35, +CTSPillarNetworkA,2141,2141,2141,1975-11-12,213.79999999999214,213.80385,2015-01-01 00:35:41,bin2141,75, +CTSPillarNetworkA,2142,2142,2142,1975-11-13,213.89999999999213,213.90385,2015-01-01 00:35:42,bin2142,35, +CTSPillarNetworkA,2143,2143,2143,1975-11-14,213.99999999999213,214.00386,2015-01-01 00:35:43,bin2143,75, +CTSPillarNetworkA,2144,2144,2144,1975-11-15,214.09999999999212,214.10387,2015-01-01 00:35:44,bin2144,35, +CTSPillarNetworkA,2145,2145,2145,1975-11-16,214.19999999999212,214.20387,2015-01-01 00:35:45,bin2145,75, +CTSPillarNetworkA,2146,2146,2146,1975-11-17,214.2999999999921,214.30388,2015-01-01 00:35:46,bin2146,35, +CTSPillarNetworkA,2147,2147,2147,1975-11-18,214.3999999999921,214.40388,2015-01-01 00:35:47,bin2147,75, +CTSPillarNetworkA,2148,2148,2148,1975-11-19,214.4999999999921,214.50389,2015-01-01 00:35:48,bin2148,35, +CTSPillarNetworkA,2149,2149,2149,1975-11-20,214.5999999999921,214.6039,2015-01-01 00:35:49,bin2149,75, +CTSPillarNetworkA,2150,2150,2150,1975-11-21,214.6999999999921,214.7039,2015-01-01 00:35:50,bin2150,35, +CTSPillarNetworkA,2151,2151,2151,1975-11-22,214.79999999999208,214.80391,2015-01-01 00:35:51,bin2151,75, +CTSPillarNetworkA,2152,2152,2152,1975-11-23,214.89999999999208,214.90392,2015-01-01 00:35:52,bin2152,35, +CTSPillarNetworkA,2153,2153,2153,1975-11-24,214.99999999999207,215.00392,2015-01-01 00:35:53,bin2153,75, +CTSPillarNetworkA,2154,2154,2154,1975-11-25,215.09999999999206,215.10393,2015-01-01 00:35:54,bin2154,35, +CTSPillarNetworkA,2155,2155,2155,1975-11-26,215.19999999999206,215.20393,2015-01-01 00:35:55,bin2155,75, +CTSPillarNetworkA,2156,2156,2156,1975-11-27,215.29999999999205,215.30394,2015-01-01 00:35:56,bin2156,35, +CTSPillarNetworkA,2157,2157,2157,1975-11-28,215.39999999999205,215.40395,2015-01-01 00:35:57,bin2157,75, +CTSPillarNetworkA,2158,2158,2158,1975-11-29,215.49999999999204,215.50395,2015-01-01 00:35:58,bin2158,35, +CTSPillarNetworkA,2159,2159,2159,1975-11-30,215.59999999999204,215.60396,2015-01-01 00:35:59,bin2159,75, +CTSPillarNetworkA,2160,2160,2160,1975-12-01,215.69999999999203,215.70396,2015-01-01 00:36:00,bin2160,35, +CTSPillarNetworkA,2161,2161,2161,1975-12-02,215.79999999999202,215.80397,2015-01-01 00:36:01,bin2161,75, +CTSPillarNetworkA,2162,2162,2162,1975-12-03,215.89999999999202,215.90398,2015-01-01 00:36:02,bin2162,35, +CTSPillarNetworkA,2163,2163,2163,1975-12-04,215.999999999992,216.00398,2015-01-01 00:36:03,bin2163,75, +CTSPillarNetworkA,2164,2164,2164,1975-12-05,216.099999999992,216.10399,2015-01-01 00:36:04,bin2164,35, +CTSPillarNetworkA,2165,2165,2165,1975-12-06,216.199999999992,216.204,2015-01-01 00:36:05,bin2165,75, +CTSPillarNetworkA,2166,2166,2166,1975-12-07,216.299999999992,216.304,2015-01-01 00:36:06,bin2166,35, +CTSPillarNetworkA,2167,2167,2167,1975-12-08,216.399999999992,216.404,2015-01-01 00:36:07,bin2167,75, +CTSPillarNetworkA,2168,2168,2168,1975-12-09,216.49999999999199,216.50401,2015-01-01 00:36:08,bin2168,35, +CTSPillarNetworkA,2169,2169,2169,1975-12-10,216.59999999999198,216.60402,2015-01-01 00:36:09,bin2169,75, +CTSPillarNetworkA,2170,2170,2170,1975-12-11,216.69999999999197,216.70403,2015-01-01 00:36:10,bin2170,35, +CTSPillarNetworkA,2171,2171,2171,1975-12-12,216.79999999999197,216.80403,2015-01-01 00:36:11,bin2171,75, +CTSPillarNetworkA,2172,2172,2172,1975-12-13,216.89999999999196,216.90404,2015-01-01 00:36:12,bin2172,35, +CTSPillarNetworkA,2173,2173,2173,1975-12-14,216.99999999999196,217.00404,2015-01-01 00:36:13,bin2173,75, +CTSPillarNetworkA,2174,2174,2174,1975-12-15,217.09999999999195,217.10405,2015-01-01 00:36:14,bin2174,35, +CTSPillarNetworkA,2175,2175,2175,1975-12-16,217.19999999999195,217.20406,2015-01-01 00:36:15,bin2175,75, +CTSPillarNetworkA,2176,2176,2176,1975-12-17,217.29999999999194,217.30406,2015-01-01 00:36:16,bin2176,35, +CTSPillarNetworkA,2177,2177,2177,1975-12-18,217.39999999999193,217.40407,2015-01-01 00:36:17,bin2177,75, +CTSPillarNetworkA,2178,2178,2178,1975-12-19,217.49999999999193,217.50407,2015-01-01 00:36:18,bin2178,35, +CTSPillarNetworkA,2179,2179,2179,1975-12-20,217.59999999999192,217.60408,2015-01-01 00:36:19,bin2179,75, +CTSPillarNetworkA,2180,2180,2180,1975-12-21,217.69999999999192,217.70409,2015-01-01 00:36:20,bin2180,35, +CTSPillarNetworkA,2181,2181,2181,1975-12-22,217.7999999999919,217.8041,2015-01-01 00:36:21,bin2181,75, +CTSPillarNetworkA,2182,2182,2182,1975-12-23,217.8999999999919,217.9041,2015-01-01 00:36:22,bin2182,35, +CTSPillarNetworkA,2183,2183,2183,1975-12-24,217.9999999999919,218.0041,2015-01-01 00:36:23,bin2183,75, +CTSPillarNetworkA,2184,2184,2184,1975-12-25,218.0999999999919,218.10411,2015-01-01 00:36:24,bin2184,35, +CTSPillarNetworkA,2185,2185,2185,1975-12-26,218.1999999999919,218.20412,2015-01-01 00:36:25,bin2185,75, +CTSPillarNetworkA,2186,2186,2186,1975-12-27,218.29999999999188,218.30412,2015-01-01 00:36:26,bin2186,35, +CTSPillarNetworkA,2187,2187,2187,1975-12-28,218.39999999999188,218.40413,2015-01-01 00:36:27,bin2187,75, +CTSPillarNetworkA,2188,2188,2188,1975-12-29,218.49999999999187,218.50414,2015-01-01 00:36:28,bin2188,35, +CTSPillarNetworkA,2189,2189,2189,1975-12-30,218.59999999999187,218.60414,2015-01-01 00:36:29,bin2189,75, +CTSPillarNetworkA,2190,2190,2190,1975-12-31,218.69999999999186,218.70415,2015-01-01 00:36:30,bin2190,35, +CTSPillarNetworkA,2191,2191,2191,1976-01-01,218.79999999999185,218.80415,2015-01-01 00:36:31,bin2191,75, +CTSPillarNetworkA,2192,2192,2192,1976-01-02,218.89999999999185,218.90416,2015-01-01 00:36:32,bin2192,35, +CTSPillarNetworkA,2193,2193,2193,1976-01-03,218.99999999999184,219.00417,2015-01-01 00:36:33,bin2193,75, +CTSPillarNetworkA,2194,2194,2194,1976-01-04,219.09999999999184,219.10417,2015-01-01 00:36:34,bin2194,35, +CTSPillarNetworkA,2195,2195,2195,1976-01-05,219.19999999999183,219.20418,2015-01-01 00:36:35,bin2195,75, +CTSPillarNetworkA,2196,2196,2196,1976-01-06,219.29999999999183,219.30418,2015-01-01 00:36:36,bin2196,35, +CTSPillarNetworkA,2197,2197,2197,1976-01-07,219.39999999999182,219.40419,2015-01-01 00:36:37,bin2197,75, +CTSPillarNetworkA,2198,2198,2198,1976-01-08,219.49999999999181,219.5042,2015-01-01 00:36:38,bin2198,35, +CTSPillarNetworkA,2199,2199,2199,1976-01-09,219.5999999999918,219.6042,2015-01-01 00:36:39,bin2199,75, +CTSPillarNetworkA,2200,2200,2200,1976-01-10,219.6999999999918,219.70421,2015-01-01 00:36:40,bin2200,35, +CTSPillarNetworkA,2201,2201,2201,1976-01-11,219.7999999999918,219.80421,2015-01-01 00:36:41,bin2201,75, +CTSPillarNetworkA,2202,2202,2202,1976-01-12,219.8999999999918,219.90422,2015-01-01 00:36:42,bin2202,35, +CTSPillarNetworkA,2203,2203,2203,1976-01-13,219.9999999999918,220.00423,2015-01-01 00:36:43,bin2203,75, +CTSPillarNetworkA,2204,2204,2204,1976-01-14,220.09999999999178,220.10423,2015-01-01 00:36:44,bin2204,35, +CTSPillarNetworkA,2205,2205,2205,1976-01-15,220.19999999999177,220.20424,2015-01-01 00:36:45,bin2205,75, +CTSPillarNetworkA,2206,2206,2206,1976-01-16,220.29999999999177,220.30424,2015-01-01 00:36:46,bin2206,35, +CTSPillarNetworkA,2207,2207,2207,1976-01-17,220.39999999999176,220.40425,2015-01-01 00:36:47,bin2207,75, +CTSPillarNetworkA,2208,2208,2208,1976-01-18,220.49999999999176,220.50426,2015-01-01 00:36:48,bin2208,35, +CTSPillarNetworkA,2209,2209,2209,1976-01-19,220.59999999999175,220.60426,2015-01-01 00:36:49,bin2209,75, +CTSPillarNetworkA,2210,2210,2210,1976-01-20,220.69999999999175,220.70427,2015-01-01 00:36:50,bin2210,35, +CTSPillarNetworkA,2211,2211,2211,1976-01-21,220.79999999999174,220.80428,2015-01-01 00:36:51,bin2211,75, +CTSPillarNetworkA,2212,2212,2212,1976-01-22,220.89999999999173,220.90428,2015-01-01 00:36:52,bin2212,35, +CTSPillarNetworkA,2213,2213,2213,1976-01-23,220.99999999999173,221.00429,2015-01-01 00:36:53,bin2213,75, +CTSPillarNetworkA,2214,2214,2214,1976-01-24,221.09999999999172,221.1043,2015-01-01 00:36:54,bin2214,35, +CTSPillarNetworkA,2215,2215,2215,1976-01-25,221.19999999999172,221.2043,2015-01-01 00:36:55,bin2215,75, +CTSPillarNetworkA,2216,2216,2216,1976-01-26,221.2999999999917,221.3043,2015-01-01 00:36:56,bin2216,35, +CTSPillarNetworkA,2217,2217,2217,1976-01-27,221.3999999999917,221.40431,2015-01-01 00:36:57,bin2217,75, +CTSPillarNetworkA,2218,2218,2218,1976-01-28,221.4999999999917,221.50432,2015-01-01 00:36:58,bin2218,35, +CTSPillarNetworkA,2219,2219,2219,1976-01-29,221.5999999999917,221.60432,2015-01-01 00:36:59,bin2219,75, +CTSPillarNetworkA,2220,2220,2220,1976-01-30,221.6999999999917,221.70433,2015-01-01 00:37:00,bin2220,35, +CTSPillarNetworkA,2221,2221,2221,1976-01-31,221.79999999999168,221.80434,2015-01-01 00:37:01,bin2221,75, +CTSPillarNetworkA,2222,2222,2222,1976-02-01,221.89999999999168,221.90434,2015-01-01 00:37:02,bin2222,35, +CTSPillarNetworkA,2223,2223,2223,1976-02-02,221.99999999999167,222.00435,2015-01-01 00:37:03,bin2223,75, +CTSPillarNetworkA,2224,2224,2224,1976-02-03,222.09999999999167,222.10435,2015-01-01 00:37:04,bin2224,35, +CTSPillarNetworkA,2225,2225,2225,1976-02-04,222.19999999999166,222.20436,2015-01-01 00:37:05,bin2225,75, +CTSPillarNetworkA,2226,2226,2226,1976-02-05,222.29999999999166,222.30437,2015-01-01 00:37:06,bin2226,35, +CTSPillarNetworkA,2227,2227,2227,1976-02-06,222.39999999999165,222.40437,2015-01-01 00:37:07,bin2227,75, +CTSPillarNetworkA,2228,2228,2228,1976-02-07,222.49999999999164,222.50438,2015-01-01 00:37:08,bin2228,35, +CTSPillarNetworkA,2229,2229,2229,1976-02-08,222.59999999999164,222.60439,2015-01-01 00:37:09,bin2229,75, +CTSPillarNetworkA,2230,2230,2230,1976-02-09,222.69999999999163,222.70439,2015-01-01 00:37:10,bin2230,35, +CTSPillarNetworkA,2231,2231,2231,1976-02-10,222.79999999999163,222.8044,2015-01-01 00:37:11,bin2231,75, +CTSPillarNetworkA,2232,2232,2232,1976-02-11,222.89999999999162,222.9044,2015-01-01 00:37:12,bin2232,35, +CTSPillarNetworkA,2233,2233,2233,1976-02-12,222.99999999999162,223.00441,2015-01-01 00:37:13,bin2233,75, +CTSPillarNetworkA,2234,2234,2234,1976-02-13,223.0999999999916,223.10442,2015-01-01 00:37:14,bin2234,35, +CTSPillarNetworkA,2235,2235,2235,1976-02-14,223.1999999999916,223.20442,2015-01-01 00:37:15,bin2235,75, +CTSPillarNetworkA,2236,2236,2236,1976-02-15,223.2999999999916,223.30443,2015-01-01 00:37:16,bin2236,35, +CTSPillarNetworkA,2237,2237,2237,1976-02-16,223.3999999999916,223.40443,2015-01-01 00:37:17,bin2237,75, +CTSPillarNetworkA,2238,2238,2238,1976-02-17,223.4999999999916,223.50444,2015-01-01 00:37:18,bin2238,35, +CTSPillarNetworkA,2239,2239,2239,1976-02-18,223.59999999999158,223.60445,2015-01-01 00:37:19,bin2239,75, +CTSPillarNetworkA,2240,2240,2240,1976-02-19,223.69999999999158,223.70445,2015-01-01 00:37:20,bin2240,35, +CTSPillarNetworkA,2241,2241,2241,1976-02-20,223.79999999999157,223.80446,2015-01-01 00:37:21,bin2241,75, +CTSPillarNetworkA,2242,2242,2242,1976-02-21,223.89999999999156,223.90446,2015-01-01 00:37:22,bin2242,35, +CTSPillarNetworkA,2243,2243,2243,1976-02-22,223.99999999999156,224.00447,2015-01-01 00:37:23,bin2243,75, +CTSPillarNetworkA,2244,2244,2244,1976-02-23,224.09999999999155,224.10448,2015-01-01 00:37:24,bin2244,35, +CTSPillarNetworkA,2245,2245,2245,1976-02-24,224.19999999999155,224.20448,2015-01-01 00:37:25,bin2245,75, +CTSPillarNetworkA,2246,2246,2246,1976-02-25,224.29999999999154,224.30449,2015-01-01 00:37:26,bin2246,35, +CTSPillarNetworkA,2247,2247,2247,1976-02-26,224.39999999999154,224.4045,2015-01-01 00:37:27,bin2247,75, +CTSPillarNetworkA,2248,2248,2248,1976-02-27,224.49999999999153,224.5045,2015-01-01 00:37:28,bin2248,35, +CTSPillarNetworkA,2249,2249,2249,1976-02-28,224.59999999999152,224.6045,2015-01-01 00:37:29,bin2249,75, +CTSPillarNetworkA,2250,2250,2250,1976-02-29,224.69999999999152,224.70451,2015-01-01 00:37:30,bin2250,35, +CTSPillarNetworkA,2251,2251,2251,1976-03-01,224.7999999999915,224.80452,2015-01-01 00:37:31,bin2251,75, +CTSPillarNetworkA,2252,2252,2252,1976-03-02,224.8999999999915,224.90453,2015-01-01 00:37:32,bin2252,35, +CTSPillarNetworkA,2253,2253,2253,1976-03-03,224.9999999999915,225.00453,2015-01-01 00:37:33,bin2253,75, +CTSPillarNetworkA,2254,2254,2254,1976-03-04,225.0999999999915,225.10454,2015-01-01 00:37:34,bin2254,35, +CTSPillarNetworkA,2255,2255,2255,1976-03-05,225.1999999999915,225.20454,2015-01-01 00:37:35,bin2255,75, +CTSPillarNetworkA,2256,2256,2256,1976-03-06,225.29999999999148,225.30455,2015-01-01 00:37:36,bin2256,35, +CTSPillarNetworkA,2257,2257,2257,1976-03-07,225.39999999999148,225.40456,2015-01-01 00:37:37,bin2257,75, +CTSPillarNetworkA,2258,2258,2258,1976-03-08,225.49999999999147,225.50456,2015-01-01 00:37:38,bin2258,35, +CTSPillarNetworkA,2259,2259,2259,1976-03-09,225.59999999999147,225.60457,2015-01-01 00:37:39,bin2259,75, +CTSPillarNetworkA,2260,2260,2260,1976-03-10,225.69999999999146,225.70457,2015-01-01 00:37:40,bin2260,35, +CTSPillarNetworkA,2261,2261,2261,1976-03-11,225.79999999999146,225.80458,2015-01-01 00:37:41,bin2261,75, +CTSPillarNetworkA,2262,2262,2262,1976-03-12,225.89999999999145,225.90459,2015-01-01 00:37:42,bin2262,35, +CTSPillarNetworkA,2263,2263,2263,1976-03-13,225.99999999999145,226.0046,2015-01-01 00:37:43,bin2263,75, +CTSPillarNetworkA,2264,2264,2264,1976-03-14,226.09999999999144,226.1046,2015-01-01 00:37:44,bin2264,35, +CTSPillarNetworkA,2265,2265,2265,1976-03-15,226.19999999999143,226.2046,2015-01-01 00:37:45,bin2265,75, +CTSPillarNetworkA,2266,2266,2266,1976-03-16,226.29999999999143,226.30461,2015-01-01 00:37:46,bin2266,35, +CTSPillarNetworkA,2267,2267,2267,1976-03-17,226.39999999999142,226.40462,2015-01-01 00:37:47,bin2267,75, +CTSPillarNetworkA,2268,2268,2268,1976-03-18,226.49999999999142,226.50462,2015-01-01 00:37:48,bin2268,35, +CTSPillarNetworkA,2269,2269,2269,1976-03-19,226.5999999999914,226.60463,2015-01-01 00:37:49,bin2269,75, +CTSPillarNetworkA,2270,2270,2270,1976-03-20,226.6999999999914,226.70464,2015-01-01 00:37:50,bin2270,35, +CTSPillarNetworkA,2271,2271,2271,1976-03-21,226.7999999999914,226.80464,2015-01-01 00:37:51,bin2271,75, +CTSPillarNetworkA,2272,2272,2272,1976-03-22,226.8999999999914,226.90465,2015-01-01 00:37:52,bin2272,35, +CTSPillarNetworkA,2273,2273,2273,1976-03-23,226.9999999999914,227.00465,2015-01-01 00:37:53,bin2273,75, +CTSPillarNetworkA,2274,2274,2274,1976-03-24,227.09999999999138,227.10466,2015-01-01 00:37:54,bin2274,35, +CTSPillarNetworkA,2275,2275,2275,1976-03-25,227.19999999999138,227.20467,2015-01-01 00:37:55,bin2275,75, +CTSPillarNetworkA,2276,2276,2276,1976-03-26,227.29999999999137,227.30467,2015-01-01 00:37:56,bin2276,35, +CTSPillarNetworkA,2277,2277,2277,1976-03-27,227.39999999999137,227.40468,2015-01-01 00:37:57,bin2277,75, +CTSPillarNetworkA,2278,2278,2278,1976-03-28,227.49999999999136,227.50468,2015-01-01 00:37:58,bin2278,35, +CTSPillarNetworkA,2279,2279,2279,1976-03-29,227.59999999999135,227.60469,2015-01-01 00:37:59,bin2279,75, +CTSPillarNetworkA,2280,2280,2280,1976-03-30,227.69999999999135,227.7047,2015-01-01 00:38:00,bin2280,35, +CTSPillarNetworkA,2281,2281,2281,1976-03-31,227.79999999999134,227.8047,2015-01-01 00:38:01,bin2281,75, +CTSPillarNetworkA,2282,2282,2282,1976-04-01,227.89999999999134,227.90471,2015-01-01 00:38:02,bin2282,35, +CTSPillarNetworkA,2283,2283,2283,1976-04-02,227.99999999999133,228.00471,2015-01-01 00:38:03,bin2283,75, +CTSPillarNetworkA,2284,2284,2284,1976-04-03,228.09999999999133,228.10472,2015-01-01 00:38:04,bin2284,35, +CTSPillarNetworkA,2285,2285,2285,1976-04-04,228.19999999999132,228.20473,2015-01-01 00:38:05,bin2285,75, +CTSPillarNetworkA,2286,2286,2286,1976-04-05,228.29999999999131,228.30473,2015-01-01 00:38:06,bin2286,35, +CTSPillarNetworkA,2287,2287,2287,1976-04-06,228.3999999999913,228.40474,2015-01-01 00:38:07,bin2287,75, +CTSPillarNetworkA,2288,2288,2288,1976-04-07,228.4999999999913,228.50475,2015-01-01 00:38:08,bin2288,35, +CTSPillarNetworkA,2289,2289,2289,1976-04-08,228.5999999999913,228.60475,2015-01-01 00:38:09,bin2289,75, +CTSPillarNetworkA,2290,2290,2290,1976-04-09,228.6999999999913,228.70476,2015-01-01 00:38:10,bin2290,35, +CTSPillarNetworkA,2291,2291,2291,1976-04-10,228.7999999999913,228.80476,2015-01-01 00:38:11,bin2291,75, +CTSPillarNetworkA,2292,2292,2292,1976-04-11,228.89999999999128,228.90477,2015-01-01 00:38:12,bin2292,35, +CTSPillarNetworkA,2293,2293,2293,1976-04-12,228.99999999999127,229.00478,2015-01-01 00:38:13,bin2293,75, +CTSPillarNetworkA,2294,2294,2294,1976-04-13,229.09999999999127,229.10478,2015-01-01 00:38:14,bin2294,35, +CTSPillarNetworkA,2295,2295,2295,1976-04-14,229.19999999999126,229.20479,2015-01-01 00:38:15,bin2295,75, +CTSPillarNetworkA,2296,2296,2296,1976-04-15,229.29999999999126,229.3048,2015-01-01 00:38:16,bin2296,35, +CTSPillarNetworkA,2297,2297,2297,1976-04-16,229.39999999999125,229.4048,2015-01-01 00:38:17,bin2297,75, +CTSPillarNetworkA,2298,2298,2298,1976-04-17,229.49999999999125,229.5048,2015-01-01 00:38:18,bin2298,35, +CTSPillarNetworkA,2299,2299,2299,1976-04-18,229.59999999999124,229.60481,2015-01-01 00:38:19,bin2299,75, +CTSPillarNetworkA,2300,2300,2300,1976-04-19,229.69999999999123,229.70482,2015-01-01 00:38:20,bin2300,35, +CTSPillarNetworkA,2301,2301,2301,1976-04-20,229.79999999999123,229.80482,2015-01-01 00:38:21,bin2301,75, +CTSPillarNetworkA,2302,2302,2302,1976-04-21,229.89999999999122,229.90483,2015-01-01 00:38:22,bin2302,35, +CTSPillarNetworkA,2303,2303,2303,1976-04-22,229.99999999999122,230.00484,2015-01-01 00:38:23,bin2303,75, +CTSPillarNetworkA,2304,2304,2304,1976-04-23,230.0999999999912,230.10484,2015-01-01 00:38:24,bin2304,35, +CTSPillarNetworkA,2305,2305,2305,1976-04-24,230.1999999999912,230.20485,2015-01-01 00:38:25,bin2305,75, +CTSPillarNetworkA,2306,2306,2306,1976-04-25,230.2999999999912,230.30486,2015-01-01 00:38:26,bin2306,35, +CTSPillarNetworkA,2307,2307,2307,1976-04-26,230.3999999999912,230.40486,2015-01-01 00:38:27,bin2307,75, +CTSPillarNetworkA,2308,2308,2308,1976-04-27,230.4999999999912,230.50487,2015-01-01 00:38:28,bin2308,35, +CTSPillarNetworkA,2309,2309,2309,1976-04-28,230.59999999999118,230.60487,2015-01-01 00:38:29,bin2309,75, +CTSPillarNetworkA,2310,2310,2310,1976-04-29,230.69999999999118,230.70488,2015-01-01 00:38:30,bin2310,35, +CTSPillarNetworkA,2311,2311,2311,1976-04-30,230.79999999999117,230.80489,2015-01-01 00:38:31,bin2311,75, +CTSPillarNetworkA,2312,2312,2312,1976-05-01,230.89999999999117,230.90489,2015-01-01 00:38:32,bin2312,35, +CTSPillarNetworkA,2313,2313,2313,1976-05-02,230.99999999999116,231.0049,2015-01-01 00:38:33,bin2313,75, +CTSPillarNetworkA,2314,2314,2314,1976-05-03,231.09999999999116,231.1049,2015-01-01 00:38:34,bin2314,35, +CTSPillarNetworkA,2315,2315,2315,1976-05-04,231.19999999999115,231.20491,2015-01-01 00:38:35,bin2315,75, +CTSPillarNetworkA,2316,2316,2316,1976-05-05,231.29999999999114,231.30492,2015-01-01 00:38:36,bin2316,35, +CTSPillarNetworkA,2317,2317,2317,1976-05-06,231.39999999999114,231.40492,2015-01-01 00:38:37,bin2317,75, +CTSPillarNetworkA,2318,2318,2318,1976-05-07,231.49999999999113,231.50493,2015-01-01 00:38:38,bin2318,35, +CTSPillarNetworkA,2319,2319,2319,1976-05-08,231.59999999999113,231.60493,2015-01-01 00:38:39,bin2319,75, +CTSPillarNetworkA,2320,2320,2320,1976-05-09,231.69999999999112,231.70494,2015-01-01 00:38:40,bin2320,35, +CTSPillarNetworkA,2321,2321,2321,1976-05-10,231.79999999999112,231.80495,2015-01-01 00:38:41,bin2321,75, +CTSPillarNetworkA,2322,2322,2322,1976-05-11,231.8999999999911,231.90495,2015-01-01 00:38:42,bin2322,35, +CTSPillarNetworkA,2323,2323,2323,1976-05-12,231.9999999999911,232.00496,2015-01-01 00:38:43,bin2323,75, +CTSPillarNetworkA,2324,2324,2324,1976-05-13,232.0999999999911,232.10497,2015-01-01 00:38:44,bin2324,35, +CTSPillarNetworkA,2325,2325,2325,1976-05-14,232.1999999999911,232.20497,2015-01-01 00:38:45,bin2325,75, +CTSPillarNetworkA,2326,2326,2326,1976-05-15,232.2999999999911,232.30498,2015-01-01 00:38:46,bin2326,35, +CTSPillarNetworkA,2327,2327,2327,1976-05-16,232.39999999999108,232.40498,2015-01-01 00:38:47,bin2327,75, +CTSPillarNetworkA,2328,2328,2328,1976-05-17,232.49999999999108,232.50499,2015-01-01 00:38:48,bin2328,35, +CTSPillarNetworkA,2329,2329,2329,1976-05-18,232.59999999999107,232.605,2015-01-01 00:38:49,bin2329,75, +CTSPillarNetworkA,2330,2330,2330,1976-05-19,232.69999999999106,232.705,2015-01-01 00:38:50,bin2330,35, +CTSPillarNetworkA,2331,2331,2331,1976-05-20,232.79999999999106,232.80501,2015-01-01 00:38:51,bin2331,75, +CTSPillarNetworkA,2332,2332,2332,1976-05-21,232.89999999999105,232.90501,2015-01-01 00:38:52,bin2332,35, +CTSPillarNetworkA,2333,2333,2333,1976-05-22,232.99999999999105,233.00502,2015-01-01 00:38:53,bin2333,75, +CTSPillarNetworkA,2334,2334,2334,1976-05-23,233.09999999999104,233.10503,2015-01-01 00:38:54,bin2334,35, +CTSPillarNetworkA,2335,2335,2335,1976-05-24,233.19999999999104,233.20503,2015-01-01 00:38:55,bin2335,75, +CTSPillarNetworkA,2336,2336,2336,1976-05-25,233.29999999999103,233.30504,2015-01-01 00:38:56,bin2336,35, +CTSPillarNetworkA,2337,2337,2337,1976-05-26,233.39999999999102,233.40504,2015-01-01 00:38:57,bin2337,75, +CTSPillarNetworkA,2338,2338,2338,1976-05-27,233.49999999999102,233.50505,2015-01-01 00:38:58,bin2338,35, +CTSPillarNetworkA,2339,2339,2339,1976-05-28,233.599999999991,233.60506,2015-01-01 00:38:59,bin2339,75, +CTSPillarNetworkA,2340,2340,2340,1976-05-29,233.699999999991,233.70506,2015-01-01 00:39:00,bin2340,35, +CTSPillarNetworkA,2341,2341,2341,1976-05-30,233.799999999991,233.80507,2015-01-01 00:39:01,bin2341,75, +CTSPillarNetworkA,2342,2342,2342,1976-05-31,233.899999999991,233.90508,2015-01-01 00:39:02,bin2342,35, +CTSPillarNetworkA,2343,2343,2343,1976-06-01,233.999999999991,234.00508,2015-01-01 00:39:03,bin2343,75, +CTSPillarNetworkA,2344,2344,2344,1976-06-02,234.09999999999098,234.10509,2015-01-01 00:39:04,bin2344,35, +CTSPillarNetworkA,2345,2345,2345,1976-06-03,234.19999999999098,234.2051,2015-01-01 00:39:05,bin2345,75, +CTSPillarNetworkA,2346,2346,2346,1976-06-04,234.29999999999097,234.3051,2015-01-01 00:39:06,bin2346,35, +CTSPillarNetworkA,2347,2347,2347,1976-06-05,234.39999999999097,234.4051,2015-01-01 00:39:07,bin2347,75, +CTSPillarNetworkA,2348,2348,2348,1976-06-06,234.49999999999096,234.50511,2015-01-01 00:39:08,bin2348,35, +CTSPillarNetworkA,2349,2349,2349,1976-06-07,234.59999999999096,234.60512,2015-01-01 00:39:09,bin2349,75, +CTSPillarNetworkA,2350,2350,2350,1976-06-08,234.69999999999095,234.70512,2015-01-01 00:39:10,bin2350,35, +CTSPillarNetworkA,2351,2351,2351,1976-06-09,234.79999999999094,234.80513,2015-01-01 00:39:11,bin2351,75, +CTSPillarNetworkA,2352,2352,2352,1976-06-10,234.89999999999094,234.90514,2015-01-01 00:39:12,bin2352,35, +CTSPillarNetworkA,2353,2353,2353,1976-06-11,234.99999999999093,235.00514,2015-01-01 00:39:13,bin2353,75, +CTSPillarNetworkA,2354,2354,2354,1976-06-12,235.09999999999093,235.10515,2015-01-01 00:39:14,bin2354,35, +CTSPillarNetworkA,2355,2355,2355,1976-06-13,235.19999999999092,235.20515,2015-01-01 00:39:15,bin2355,75, +CTSPillarNetworkA,2356,2356,2356,1976-06-14,235.29999999999092,235.30516,2015-01-01 00:39:16,bin2356,35, +CTSPillarNetworkA,2357,2357,2357,1976-06-15,235.3999999999909,235.40517,2015-01-01 00:39:17,bin2357,75, +CTSPillarNetworkA,2358,2358,2358,1976-06-16,235.4999999999909,235.50517,2015-01-01 00:39:18,bin2358,35, +CTSPillarNetworkA,2359,2359,2359,1976-06-17,235.5999999999909,235.60518,2015-01-01 00:39:19,bin2359,75, +CTSPillarNetworkA,2360,2360,2360,1976-06-18,235.6999999999909,235.70518,2015-01-01 00:39:20,bin2360,35, +CTSPillarNetworkA,2361,2361,2361,1976-06-19,235.7999999999909,235.80519,2015-01-01 00:39:21,bin2361,75, +CTSPillarNetworkA,2362,2362,2362,1976-06-20,235.89999999999088,235.9052,2015-01-01 00:39:22,bin2362,35, +CTSPillarNetworkA,2363,2363,2363,1976-06-21,235.99999999999088,236.0052,2015-01-01 00:39:23,bin2363,75, +CTSPillarNetworkA,2364,2364,2364,1976-06-22,236.09999999999087,236.10521,2015-01-01 00:39:24,bin2364,35, +CTSPillarNetworkA,2365,2365,2365,1976-06-23,236.19999999999087,236.20522,2015-01-01 00:39:25,bin2365,75, +CTSPillarNetworkA,2366,2366,2366,1976-06-24,236.29999999999086,236.30522,2015-01-01 00:39:26,bin2366,35, +CTSPillarNetworkA,2367,2367,2367,1976-06-25,236.39999999999085,236.40523,2015-01-01 00:39:27,bin2367,75, +CTSPillarNetworkA,2368,2368,2368,1976-06-26,236.49999999999085,236.50523,2015-01-01 00:39:28,bin2368,35, +CTSPillarNetworkA,2369,2369,2369,1976-06-27,236.59999999999084,236.60524,2015-01-01 00:39:29,bin2369,75, +CTSPillarNetworkA,2370,2370,2370,1976-06-28,236.69999999999084,236.70525,2015-01-01 00:39:30,bin2370,35, +CTSPillarNetworkA,2371,2371,2371,1976-06-29,236.79999999999083,236.80525,2015-01-01 00:39:31,bin2371,75, +CTSPillarNetworkA,2372,2372,2372,1976-06-30,236.89999999999083,236.90526,2015-01-01 00:39:32,bin2372,35, +CTSPillarNetworkA,2373,2373,2373,1976-07-01,236.99999999999082,237.00526,2015-01-01 00:39:33,bin2373,75, +CTSPillarNetworkA,2374,2374,2374,1976-07-02,237.0999999999908,237.10527,2015-01-01 00:39:34,bin2374,35, +CTSPillarNetworkA,2375,2375,2375,1976-07-03,237.1999999999908,237.20528,2015-01-01 00:39:35,bin2375,75, +CTSPillarNetworkA,2376,2376,2376,1976-07-04,237.2999999999908,237.30528,2015-01-01 00:39:36,bin2376,35, +CTSPillarNetworkA,2377,2377,2377,1976-07-05,237.3999999999908,237.40529,2015-01-01 00:39:37,bin2377,75, +CTSPillarNetworkA,2378,2378,2378,1976-07-06,237.4999999999908,237.5053,2015-01-01 00:39:38,bin2378,35, +CTSPillarNetworkA,2379,2379,2379,1976-07-07,237.59999999999079,237.6053,2015-01-01 00:39:39,bin2379,75, +CTSPillarNetworkA,2380,2380,2380,1976-07-08,237.69999999999078,237.7053,2015-01-01 00:39:40,bin2380,35, +CTSPillarNetworkA,2381,2381,2381,1976-07-09,237.79999999999077,237.80531,2015-01-01 00:39:41,bin2381,75, +CTSPillarNetworkA,2382,2382,2382,1976-07-10,237.89999999999077,237.90532,2015-01-01 00:39:42,bin2382,35, +CTSPillarNetworkA,2383,2383,2383,1976-07-11,237.99999999999076,238.00533,2015-01-01 00:39:43,bin2383,75, +CTSPillarNetworkA,2384,2384,2384,1976-07-12,238.09999999999076,238.10533,2015-01-01 00:39:44,bin2384,35, +CTSPillarNetworkA,2385,2385,2385,1976-07-13,238.19999999999075,238.20534,2015-01-01 00:39:45,bin2385,75, +CTSPillarNetworkA,2386,2386,2386,1976-07-14,238.29999999999075,238.30534,2015-01-01 00:39:46,bin2386,35, +CTSPillarNetworkA,2387,2387,2387,1976-07-15,238.39999999999074,238.40535,2015-01-01 00:39:47,bin2387,75, +CTSPillarNetworkA,2388,2388,2388,1976-07-16,238.49999999999073,238.50536,2015-01-01 00:39:48,bin2388,35, +CTSPillarNetworkA,2389,2389,2389,1976-07-17,238.59999999999073,238.60536,2015-01-01 00:39:49,bin2389,75, +CTSPillarNetworkA,2390,2390,2390,1976-07-18,238.69999999999072,238.70537,2015-01-01 00:39:50,bin2390,35, +CTSPillarNetworkA,2391,2391,2391,1976-07-19,238.79999999999072,238.80537,2015-01-01 00:39:51,bin2391,75, +CTSPillarNetworkA,2392,2392,2392,1976-07-20,238.8999999999907,238.90538,2015-01-01 00:39:52,bin2392,35, +CTSPillarNetworkA,2393,2393,2393,1976-07-21,238.9999999999907,239.00539,2015-01-01 00:39:53,bin2393,75, +CTSPillarNetworkA,2394,2394,2394,1976-07-22,239.0999999999907,239.1054,2015-01-01 00:39:54,bin2394,35, +CTSPillarNetworkA,2395,2395,2395,1976-07-23,239.1999999999907,239.2054,2015-01-01 00:39:55,bin2395,75, +CTSPillarNetworkA,2396,2396,2396,1976-07-24,239.2999999999907,239.3054,2015-01-01 00:39:56,bin2396,35, +CTSPillarNetworkA,2397,2397,2397,1976-07-25,239.39999999999068,239.40541,2015-01-01 00:39:57,bin2397,75, +CTSPillarNetworkA,2398,2398,2398,1976-07-26,239.49999999999068,239.50542,2015-01-01 00:39:58,bin2398,35, +CTSPillarNetworkA,2399,2399,2399,1976-07-27,239.59999999999067,239.60542,2015-01-01 00:39:59,bin2399,75, +CTSPillarNetworkA,2400,2400,2400,1976-07-28,239.69999999999067,239.70543,2015-01-01 00:40:00,bin2400,35, +CTSPillarNetworkA,2401,2401,2401,1976-07-29,239.79999999999066,239.80544,2015-01-01 00:40:01,bin2401,75, +CTSPillarNetworkA,2402,2402,2402,1976-07-30,239.89999999999065,239.90544,2015-01-01 00:40:02,bin2402,35, +CTSPillarNetworkA,2403,2403,2403,1976-07-31,239.99999999999065,240.00545,2015-01-01 00:40:03,bin2403,75, +CTSPillarNetworkA,2404,2404,2404,1976-08-01,240.09999999999064,240.10545,2015-01-01 00:40:04,bin2404,35, +CTSPillarNetworkA,2405,2405,2405,1976-08-02,240.19999999999064,240.20546,2015-01-01 00:40:05,bin2405,75, +CTSPillarNetworkA,2406,2406,2406,1976-08-03,240.29999999999063,240.30547,2015-01-01 00:40:06,bin2406,35, +CTSPillarNetworkA,2407,2407,2407,1976-08-04,240.39999999999063,240.40547,2015-01-01 00:40:07,bin2407,75, +CTSPillarNetworkA,2408,2408,2408,1976-08-05,240.49999999999062,240.50548,2015-01-01 00:40:08,bin2408,35, +CTSPillarNetworkA,2409,2409,2409,1976-08-06,240.59999999999062,240.60548,2015-01-01 00:40:09,bin2409,75, +CTSPillarNetworkA,2410,2410,2410,1976-08-07,240.6999999999906,240.70549,2015-01-01 00:40:10,bin2410,35, +CTSPillarNetworkA,2411,2411,2411,1976-08-08,240.7999999999906,240.8055,2015-01-01 00:40:11,bin2411,75, +CTSPillarNetworkA,2412,2412,2412,1976-08-09,240.8999999999906,240.9055,2015-01-01 00:40:12,bin2412,35, +CTSPillarNetworkA,2413,2413,2413,1976-08-10,240.9999999999906,241.00551,2015-01-01 00:40:13,bin2413,75, +CTSPillarNetworkA,2414,2414,2414,1976-08-11,241.0999999999906,241.10551,2015-01-01 00:40:14,bin2414,35, +CTSPillarNetworkA,2415,2415,2415,1976-08-12,241.19999999999058,241.20552,2015-01-01 00:40:15,bin2415,75, +CTSPillarNetworkA,2416,2416,2416,1976-08-13,241.29999999999058,241.30553,2015-01-01 00:40:16,bin2416,35, +CTSPillarNetworkA,2417,2417,2417,1976-08-14,241.39999999999057,241.40553,2015-01-01 00:40:17,bin2417,75, +CTSPillarNetworkA,2418,2418,2418,1976-08-15,241.49999999999056,241.50554,2015-01-01 00:40:18,bin2418,35, +CTSPillarNetworkA,2419,2419,2419,1976-08-16,241.59999999999056,241.60555,2015-01-01 00:40:19,bin2419,75, +CTSPillarNetworkA,2420,2420,2420,1976-08-17,241.69999999999055,241.70555,2015-01-01 00:40:20,bin2420,35, +CTSPillarNetworkA,2421,2421,2421,1976-08-18,241.79999999999055,241.80556,2015-01-01 00:40:21,bin2421,75, +CTSPillarNetworkA,2422,2422,2422,1976-08-19,241.89999999999054,241.90556,2015-01-01 00:40:22,bin2422,35, +CTSPillarNetworkA,2423,2423,2423,1976-08-20,241.99999999999054,242.00557,2015-01-01 00:40:23,bin2423,75, +CTSPillarNetworkA,2424,2424,2424,1976-08-21,242.09999999999053,242.10558,2015-01-01 00:40:24,bin2424,35, +CTSPillarNetworkA,2425,2425,2425,1976-08-22,242.19999999999052,242.20558,2015-01-01 00:40:25,bin2425,75, +CTSPillarNetworkA,2426,2426,2426,1976-08-23,242.29999999999052,242.30559,2015-01-01 00:40:26,bin2426,35, +CTSPillarNetworkA,2427,2427,2427,1976-08-24,242.3999999999905,242.4056,2015-01-01 00:40:27,bin2427,75, +CTSPillarNetworkA,2428,2428,2428,1976-08-25,242.4999999999905,242.5056,2015-01-01 00:40:28,bin2428,35, +CTSPillarNetworkA,2429,2429,2429,1976-08-26,242.5999999999905,242.6056,2015-01-01 00:40:29,bin2429,75, +CTSPillarNetworkA,2430,2430,2430,1976-08-27,242.6999999999905,242.70561,2015-01-01 00:40:30,bin2430,35, +CTSPillarNetworkA,2431,2431,2431,1976-08-28,242.7999999999905,242.80562,2015-01-01 00:40:31,bin2431,75, +CTSPillarNetworkA,2432,2432,2432,1976-08-29,242.89999999999048,242.90562,2015-01-01 00:40:32,bin2432,35, +CTSPillarNetworkA,2433,2433,2433,1976-08-30,242.99999999999048,243.00563,2015-01-01 00:40:33,bin2433,75, +CTSPillarNetworkA,2434,2434,2434,1976-08-31,243.09999999999047,243.10564,2015-01-01 00:40:34,bin2434,35, +CTSPillarNetworkA,2435,2435,2435,1976-09-01,243.19999999999047,243.20564,2015-01-01 00:40:35,bin2435,75, +CTSPillarNetworkA,2436,2436,2436,1976-09-02,243.29999999999046,243.30565,2015-01-01 00:40:36,bin2436,35, +CTSPillarNetworkA,2437,2437,2437,1976-09-03,243.39999999999046,243.40565,2015-01-01 00:40:37,bin2437,75, +CTSPillarNetworkA,2438,2438,2438,1976-09-04,243.49999999999045,243.50566,2015-01-01 00:40:38,bin2438,35, +CTSPillarNetworkA,2439,2439,2439,1976-09-05,243.59999999999044,243.60567,2015-01-01 00:40:39,bin2439,75, +CTSPillarNetworkA,2440,2440,2440,1976-09-06,243.69999999999044,243.70567,2015-01-01 00:40:40,bin2440,35, +CTSPillarNetworkA,2441,2441,2441,1976-09-07,243.79999999999043,243.80568,2015-01-01 00:40:41,bin2441,75, +CTSPillarNetworkA,2442,2442,2442,1976-09-08,243.89999999999043,243.90569,2015-01-01 00:40:42,bin2442,35, +CTSPillarNetworkA,2443,2443,2443,1976-09-09,243.99999999999042,244.00569,2015-01-01 00:40:43,bin2443,75, +CTSPillarNetworkA,2444,2444,2444,1976-09-10,244.09999999999042,244.1057,2015-01-01 00:40:44,bin2444,35, +CTSPillarNetworkA,2445,2445,2445,1976-09-11,244.1999999999904,244.2057,2015-01-01 00:40:45,bin2445,75, +CTSPillarNetworkA,2446,2446,2446,1976-09-12,244.2999999999904,244.30571,2015-01-01 00:40:46,bin2446,35, +CTSPillarNetworkA,2447,2447,2447,1976-09-13,244.3999999999904,244.40572,2015-01-01 00:40:47,bin2447,75, +CTSPillarNetworkA,2448,2448,2448,1976-09-14,244.4999999999904,244.50572,2015-01-01 00:40:48,bin2448,35, +CTSPillarNetworkA,2449,2449,2449,1976-09-15,244.5999999999904,244.60573,2015-01-01 00:40:49,bin2449,75, +CTSPillarNetworkA,2450,2450,2450,1976-09-16,244.69999999999038,244.70573,2015-01-01 00:40:50,bin2450,35, +CTSPillarNetworkA,2451,2451,2451,1976-09-17,244.79999999999038,244.80574,2015-01-01 00:40:51,bin2451,75, +CTSPillarNetworkA,2452,2452,2452,1976-09-18,244.89999999999037,244.90575,2015-01-01 00:40:52,bin2452,35, +CTSPillarNetworkA,2453,2453,2453,1976-09-19,244.99999999999037,245.00575,2015-01-01 00:40:53,bin2453,75, +CTSPillarNetworkA,2454,2454,2454,1976-09-20,245.09999999999036,245.10576,2015-01-01 00:40:54,bin2454,35, +CTSPillarNetworkA,2455,2455,2455,1976-09-21,245.19999999999035,245.20576,2015-01-01 00:40:55,bin2455,75, +CTSPillarNetworkA,2456,2456,2456,1976-09-22,245.29999999999035,245.30577,2015-01-01 00:40:56,bin2456,35, +CTSPillarNetworkA,2457,2457,2457,1976-09-23,245.39999999999034,245.40578,2015-01-01 00:40:57,bin2457,75, +CTSPillarNetworkA,2458,2458,2458,1976-09-24,245.49999999999034,245.50578,2015-01-01 00:40:58,bin2458,35, +CTSPillarNetworkA,2459,2459,2459,1976-09-25,245.59999999999033,245.60579,2015-01-01 00:40:59,bin2459,75, +CTSPillarNetworkA,2460,2460,2460,1976-09-26,245.69999999999033,245.7058,2015-01-01 00:41:00,bin2460,35, +CTSPillarNetworkA,2461,2461,2461,1976-09-27,245.79999999999032,245.8058,2015-01-01 00:41:01,bin2461,75, +CTSPillarNetworkA,2462,2462,2462,1976-09-28,245.8999999999903,245.9058,2015-01-01 00:41:02,bin2462,35, +CTSPillarNetworkA,2463,2463,2463,1976-09-29,245.9999999999903,246.00581,2015-01-01 00:41:03,bin2463,75, +CTSPillarNetworkA,2464,2464,2464,1976-09-30,246.0999999999903,246.10582,2015-01-01 00:41:04,bin2464,35, +CTSPillarNetworkA,2465,2465,2465,1976-10-01,246.1999999999903,246.20583,2015-01-01 00:41:05,bin2465,75, +CTSPillarNetworkA,2466,2466,2466,1976-10-02,246.2999999999903,246.30583,2015-01-01 00:41:06,bin2466,35, +CTSPillarNetworkA,2467,2467,2467,1976-10-03,246.39999999999029,246.40584,2015-01-01 00:41:07,bin2467,75, +CTSPillarNetworkA,2468,2468,2468,1976-10-04,246.49999999999028,246.50584,2015-01-01 00:41:08,bin2468,35, +CTSPillarNetworkA,2469,2469,2469,1976-10-05,246.59999999999027,246.60585,2015-01-01 00:41:09,bin2469,75, +CTSPillarNetworkA,2470,2470,2470,1976-10-06,246.69999999999027,246.70586,2015-01-01 00:41:10,bin2470,35, +CTSPillarNetworkA,2471,2471,2471,1976-10-07,246.79999999999026,246.80586,2015-01-01 00:41:11,bin2471,75, +CTSPillarNetworkA,2472,2472,2472,1976-10-08,246.89999999999026,246.90587,2015-01-01 00:41:12,bin2472,35, +CTSPillarNetworkA,2473,2473,2473,1976-10-09,246.99999999999025,247.00587,2015-01-01 00:41:13,bin2473,75, +CTSPillarNetworkA,2474,2474,2474,1976-10-10,247.09999999999025,247.10588,2015-01-01 00:41:14,bin2474,35, +CTSPillarNetworkA,2475,2475,2475,1976-10-11,247.19999999999024,247.20589,2015-01-01 00:41:15,bin2475,75, +CTSPillarNetworkA,2476,2476,2476,1976-10-12,247.29999999999023,247.3059,2015-01-01 00:41:16,bin2476,35, +CTSPillarNetworkA,2477,2477,2477,1976-10-13,247.39999999999023,247.4059,2015-01-01 00:41:17,bin2477,75, +CTSPillarNetworkA,2478,2478,2478,1976-10-14,247.49999999999022,247.5059,2015-01-01 00:41:18,bin2478,35, +CTSPillarNetworkA,2479,2479,2479,1976-10-15,247.59999999999022,247.60591,2015-01-01 00:41:19,bin2479,75, +CTSPillarNetworkA,2480,2480,2480,1976-10-16,247.6999999999902,247.70592,2015-01-01 00:41:20,bin2480,35, +CTSPillarNetworkA,2481,2481,2481,1976-10-17,247.7999999999902,247.80592,2015-01-01 00:41:21,bin2481,75, +CTSPillarNetworkA,2482,2482,2482,1976-10-18,247.8999999999902,247.90593,2015-01-01 00:41:22,bin2482,35, +CTSPillarNetworkA,2483,2483,2483,1976-10-19,247.9999999999902,248.00594,2015-01-01 00:41:23,bin2483,75, +CTSPillarNetworkA,2484,2484,2484,1976-10-20,248.0999999999902,248.10594,2015-01-01 00:41:24,bin2484,35, +CTSPillarNetworkA,2485,2485,2485,1976-10-21,248.19999999999018,248.20595,2015-01-01 00:41:25,bin2485,75, +CTSPillarNetworkA,2486,2486,2486,1976-10-22,248.29999999999018,248.30595,2015-01-01 00:41:26,bin2486,35, +CTSPillarNetworkA,2487,2487,2487,1976-10-23,248.39999999999017,248.40596,2015-01-01 00:41:27,bin2487,75, +CTSPillarNetworkA,2488,2488,2488,1976-10-24,248.49999999999017,248.50597,2015-01-01 00:41:28,bin2488,35, +CTSPillarNetworkA,2489,2489,2489,1976-10-25,248.59999999999016,248.60597,2015-01-01 00:41:29,bin2489,75, +CTSPillarNetworkA,2490,2490,2490,1976-10-26,248.69999999999015,248.70598,2015-01-01 00:41:30,bin2490,35, +CTSPillarNetworkA,2491,2491,2491,1976-10-27,248.79999999999015,248.80598,2015-01-01 00:41:31,bin2491,75, +CTSPillarNetworkA,2492,2492,2492,1976-10-28,248.89999999999014,248.90599,2015-01-01 00:41:32,bin2492,35, +CTSPillarNetworkA,2493,2493,2493,1976-10-29,248.99999999999014,249.006,2015-01-01 00:41:33,bin2493,75, +CTSPillarNetworkA,2494,2494,2494,1976-10-30,249.09999999999013,249.106,2015-01-01 00:41:34,bin2494,35, +CTSPillarNetworkA,2495,2495,2495,1976-10-31,249.19999999999013,249.20601,2015-01-01 00:41:35,bin2495,75, +CTSPillarNetworkA,2496,2496,2496,1976-11-01,249.29999999999012,249.30602,2015-01-01 00:41:36,bin2496,35, +CTSPillarNetworkA,2497,2497,2497,1976-11-02,249.39999999999011,249.40602,2015-01-01 00:41:37,bin2497,75, +CTSPillarNetworkA,2498,2498,2498,1976-11-03,249.4999999999901,249.50603,2015-01-01 00:41:38,bin2498,35, +CTSPillarNetworkA,2499,2499,2499,1976-11-04,249.5999999999901,249.60603,2015-01-01 00:41:39,bin2499,75, +CTSPillarNetworkA,2500,2500,2500,1976-11-05,249.6999999999901,249.70604,2015-01-01 00:41:40,bin2500,35, +CTSPillarNetworkA,2501,2501,2501,1976-11-06,249.7999999999901,249.80605,2015-01-01 00:41:41,bin2501,75, +CTSPillarNetworkA,2502,2502,2502,1976-11-07,249.8999999999901,249.90605,2015-01-01 00:41:42,bin2502,35, +CTSPillarNetworkA,2503,2503,2503,1976-11-08,249.99999999999008,250.00606,2015-01-01 00:41:43,bin2503,75, +CTSPillarNetworkA,2504,2504,2504,1976-11-09,250.09999999999008,250.10606,2015-01-01 00:41:44,bin2504,35, +CTSPillarNetworkA,2505,2505,2505,1976-11-10,250.19999999999007,250.20607,2015-01-01 00:41:45,bin2505,75, +CTSPillarNetworkA,2506,2506,2506,1976-11-11,250.29999999999006,250.30608,2015-01-01 00:41:46,bin2506,35, +CTSPillarNetworkA,2507,2507,2507,1976-11-12,250.39999999999006,250.40608,2015-01-01 00:41:47,bin2507,75, +CTSPillarNetworkA,2508,2508,2508,1976-11-13,250.49999999999005,250.50609,2015-01-01 00:41:48,bin2508,35, +CTSPillarNetworkA,2509,2509,2509,1976-11-14,250.59999999999005,250.6061,2015-01-01 00:41:49,bin2509,75, +CTSPillarNetworkA,2510,2510,2510,1976-11-15,250.69999999999004,250.7061,2015-01-01 00:41:50,bin2510,35, +CTSPillarNetworkA,2511,2511,2511,1976-11-16,250.79999999999004,250.8061,2015-01-01 00:41:51,bin2511,75, +CTSPillarNetworkA,2512,2512,2512,1976-11-17,250.89999999999003,250.90611,2015-01-01 00:41:52,bin2512,35, +CTSPillarNetworkA,2513,2513,2513,1976-11-18,250.99999999999002,251.00612,2015-01-01 00:41:53,bin2513,75, +CTSPillarNetworkA,2514,2514,2514,1976-11-19,251.09999999999002,251.10612,2015-01-01 00:41:54,bin2514,35, +CTSPillarNetworkA,2515,2515,2515,1976-11-20,251.19999999999,251.20613,2015-01-01 00:41:55,bin2515,75, +CTSPillarNetworkA,2516,2516,2516,1976-11-21,251.29999999999,251.30614,2015-01-01 00:41:56,bin2516,35, +CTSPillarNetworkA,2517,2517,2517,1976-11-22,251.39999999999,251.40614,2015-01-01 00:41:57,bin2517,75, +CTSPillarNetworkA,2518,2518,2518,1976-11-23,251.49999999999,251.50615,2015-01-01 00:41:58,bin2518,35, +CTSPillarNetworkA,2519,2519,2519,1976-11-24,251.59999999999,251.60616,2015-01-01 00:41:59,bin2519,75, +CTSPillarNetworkA,2520,2520,2520,1976-11-25,251.69999999998998,251.70616,2015-01-01 00:42:00,bin2520,35, +CTSPillarNetworkA,2521,2521,2521,1976-11-26,251.79999999998998,251.80617,2015-01-01 00:42:01,bin2521,75, +CTSPillarNetworkA,2522,2522,2522,1976-11-27,251.89999999998997,251.90617,2015-01-01 00:42:02,bin2522,35, +CTSPillarNetworkA,2523,2523,2523,1976-11-28,251.99999999998997,252.00618,2015-01-01 00:42:03,bin2523,75, +CTSPillarNetworkA,2524,2524,2524,1976-11-29,252.09999999998996,252.10619,2015-01-01 00:42:04,bin2524,35, +CTSPillarNetworkA,2525,2525,2525,1976-11-30,252.19999999998996,252.20619,2015-01-01 00:42:05,bin2525,75, +CTSPillarNetworkA,2526,2526,2526,1976-12-01,252.29999999998995,252.3062,2015-01-01 00:42:06,bin2526,35, +CTSPillarNetworkA,2527,2527,2527,1976-12-02,252.39999999998994,252.4062,2015-01-01 00:42:07,bin2527,75, +CTSPillarNetworkA,2528,2528,2528,1976-12-03,252.49999999998994,252.50621,2015-01-01 00:42:08,bin2528,35, +CTSPillarNetworkA,2529,2529,2529,1976-12-04,252.59999999998993,252.60622,2015-01-01 00:42:09,bin2529,75, +CTSPillarNetworkA,2530,2530,2530,1976-12-05,252.69999999998993,252.70622,2015-01-01 00:42:10,bin2530,35, +CTSPillarNetworkA,2531,2531,2531,1976-12-06,252.79999999998992,252.80623,2015-01-01 00:42:11,bin2531,75, +CTSPillarNetworkA,2532,2532,2532,1976-12-07,252.89999999998992,252.90623,2015-01-01 00:42:12,bin2532,35, +CTSPillarNetworkA,2533,2533,2533,1976-12-08,252.9999999999899,253.00624,2015-01-01 00:42:13,bin2533,75, +CTSPillarNetworkA,2534,2534,2534,1976-12-09,253.0999999999899,253.10625,2015-01-01 00:42:14,bin2534,35, +CTSPillarNetworkA,2535,2535,2535,1976-12-10,253.1999999999899,253.20625,2015-01-01 00:42:15,bin2535,75, +CTSPillarNetworkA,2536,2536,2536,1976-12-11,253.2999999999899,253.30626,2015-01-01 00:42:16,bin2536,35, +CTSPillarNetworkA,2537,2537,2537,1976-12-12,253.3999999999899,253.40627,2015-01-01 00:42:17,bin2537,75, +CTSPillarNetworkA,2538,2538,2538,1976-12-13,253.49999999998988,253.50627,2015-01-01 00:42:18,bin2538,35, +CTSPillarNetworkA,2539,2539,2539,1976-12-14,253.59999999998988,253.60628,2015-01-01 00:42:19,bin2539,75, +CTSPillarNetworkA,2540,2540,2540,1976-12-15,253.69999999998987,253.70628,2015-01-01 00:42:20,bin2540,35, +CTSPillarNetworkA,2541,2541,2541,1976-12-16,253.79999999998986,253.80629,2015-01-01 00:42:21,bin2541,75, +CTSPillarNetworkA,2542,2542,2542,1976-12-17,253.89999999998986,253.9063,2015-01-01 00:42:22,bin2542,35, +CTSPillarNetworkA,2543,2543,2543,1976-12-18,253.99999999998985,254.0063,2015-01-01 00:42:23,bin2543,75, +CTSPillarNetworkA,2544,2544,2544,1976-12-19,254.09999999998985,254.10631,2015-01-01 00:42:24,bin2544,35, +CTSPillarNetworkA,2545,2545,2545,1976-12-20,254.19999999998984,254.20631,2015-01-01 00:42:25,bin2545,75, +CTSPillarNetworkA,2546,2546,2546,1976-12-21,254.29999999998984,254.30632,2015-01-01 00:42:26,bin2546,35, +CTSPillarNetworkA,2547,2547,2547,1976-12-22,254.39999999998983,254.40633,2015-01-01 00:42:27,bin2547,75, +CTSPillarNetworkA,2548,2548,2548,1976-12-23,254.49999999998983,254.50633,2015-01-01 00:42:28,bin2548,35, +CTSPillarNetworkA,2549,2549,2549,1976-12-24,254.59999999998982,254.60634,2015-01-01 00:42:29,bin2549,75, +CTSPillarNetworkA,2550,2550,2550,1976-12-25,254.6999999999898,254.70634,2015-01-01 00:42:30,bin2550,35, +CTSPillarNetworkA,2551,2551,2551,1976-12-26,254.7999999999898,254.80635,2015-01-01 00:42:31,bin2551,75, +CTSPillarNetworkA,2552,2552,2552,1976-12-27,254.8999999999898,254.90636,2015-01-01 00:42:32,bin2552,35, +CTSPillarNetworkA,2553,2553,2553,1976-12-28,254.9999999999898,255.00636,2015-01-01 00:42:33,bin2553,75, +CTSPillarNetworkA,2554,2554,2554,1976-12-29,255.0999999999898,255.10637,2015-01-01 00:42:34,bin2554,35, +CTSPillarNetworkA,2555,2555,2555,1976-12-30,255.19999999998979,255.20638,2015-01-01 00:42:35,bin2555,75, +CTSPillarNetworkA,2556,2556,2556,1976-12-31,255.29999999998978,255.30638,2015-01-01 00:42:36,bin2556,35, +CTSPillarNetworkA,2557,2557,2557,1977-01-01,255.39999999998977,255.40639,2015-01-01 00:42:37,bin2557,75, +CTSPillarNetworkA,2558,2558,2558,1977-01-02,255.49999999998977,255.5064,2015-01-01 00:42:38,bin2558,35, +CTSPillarNetworkA,2559,2559,2559,1977-01-03,255.59999999998976,255.6064,2015-01-01 00:42:39,bin2559,75, +CTSPillarNetworkA,2560,2560,2560,1977-01-04,255.69999999998976,255.7064,2015-01-01 00:42:40,bin2560,35, +CTSPillarNetworkA,2561,2561,2561,1977-01-05,255.79999999998975,255.80641,2015-01-01 00:42:41,bin2561,75, +CTSPillarNetworkA,2562,2562,2562,1977-01-06,255.89999999998975,255.90642,2015-01-01 00:42:42,bin2562,35, +CTSPillarNetworkA,2563,2563,2563,1977-01-07,255.99999999998974,256.0064,2015-01-01 00:42:43,bin2563,75, +CTSPillarNetworkA,2564,2564,2564,1977-01-08,256.09999999998973,256.1064,2015-01-01 00:42:44,bin2564,35, +CTSPillarNetworkA,2565,2565,2565,1977-01-09,256.19999999998976,256.20642,2015-01-01 00:42:45,bin2565,75, +CTSPillarNetworkA,2566,2566,2566,1977-01-10,256.2999999999898,256.30643,2015-01-01 00:42:46,bin2566,35, +CTSPillarNetworkA,2567,2567,2567,1977-01-11,256.3999999999898,256.40643,2015-01-01 00:42:47,bin2567,75, +CTSPillarNetworkA,2568,2568,2568,1977-01-12,256.4999999999898,256.50644,2015-01-01 00:42:48,bin2568,35, +CTSPillarNetworkA,2569,2569,2569,1977-01-13,256.59999999998985,256.60645,2015-01-01 00:42:49,bin2569,75, +CTSPillarNetworkA,2570,2570,2570,1977-01-14,256.69999999998987,256.70645,2015-01-01 00:42:50,bin2570,35, +CTSPillarNetworkA,2571,2571,2571,1977-01-15,256.7999999999899,256.80646,2015-01-01 00:42:51,bin2571,75, +CTSPillarNetworkA,2572,2572,2572,1977-01-16,256.8999999999899,256.90646,2015-01-01 00:42:52,bin2572,35, +CTSPillarNetworkA,2573,2573,2573,1977-01-17,256.99999999998994,257.00647,2015-01-01 00:42:53,bin2573,75, +CTSPillarNetworkA,2574,2574,2574,1977-01-18,257.09999999998996,257.10648,2015-01-01 00:42:54,bin2574,35, +CTSPillarNetworkA,2575,2575,2575,1977-01-19,257.19999999999,257.20648,2015-01-01 00:42:55,bin2575,75, +CTSPillarNetworkA,2576,2576,2576,1977-01-20,257.29999999999,257.3065,2015-01-01 00:42:56,bin2576,35, +CTSPillarNetworkA,2577,2577,2577,1977-01-21,257.39999999999003,257.4065,2015-01-01 00:42:57,bin2577,75, +CTSPillarNetworkA,2578,2578,2578,1977-01-22,257.49999999999005,257.5065,2015-01-01 00:42:58,bin2578,35, +CTSPillarNetworkA,2579,2579,2579,1977-01-23,257.5999999999901,257.6065,2015-01-01 00:42:59,bin2579,75, +CTSPillarNetworkA,2580,2580,2580,1977-01-24,257.6999999999901,257.7065,2015-01-01 00:43:00,bin2580,35, +CTSPillarNetworkA,2581,2581,2581,1977-01-25,257.7999999999901,257.80652,2015-01-01 00:43:01,bin2581,75, +CTSPillarNetworkA,2582,2582,2582,1977-01-26,257.89999999999014,257.90652,2015-01-01 00:43:02,bin2582,35, +CTSPillarNetworkA,2583,2583,2583,1977-01-27,257.99999999999017,258.00653,2015-01-01 00:43:03,bin2583,75, +CTSPillarNetworkA,2584,2584,2584,1977-01-28,258.0999999999902,258.10654,2015-01-01 00:43:04,bin2584,35, +CTSPillarNetworkA,2585,2585,2585,1977-01-29,258.1999999999902,258.20654,2015-01-01 00:43:05,bin2585,75, +CTSPillarNetworkA,2586,2586,2586,1977-01-30,258.29999999999023,258.30655,2015-01-01 00:43:06,bin2586,35, +CTSPillarNetworkA,2587,2587,2587,1977-01-31,258.39999999999026,258.40656,2015-01-01 00:43:07,bin2587,75, +CTSPillarNetworkA,2588,2588,2588,1977-02-01,258.4999999999903,258.50656,2015-01-01 00:43:08,bin2588,35, +CTSPillarNetworkA,2589,2589,2589,1977-02-02,258.5999999999903,258.60657,2015-01-01 00:43:09,bin2589,75, +CTSPillarNetworkA,2590,2590,2590,1977-02-03,258.6999999999903,258.70657,2015-01-01 00:43:10,bin2590,35, +CTSPillarNetworkA,2591,2591,2591,1977-02-04,258.79999999999035,258.80658,2015-01-01 00:43:11,bin2591,75, +CTSPillarNetworkA,2592,2592,2592,1977-02-05,258.89999999999037,258.9066,2015-01-01 00:43:12,bin2592,35, +CTSPillarNetworkA,2593,2593,2593,1977-02-06,258.9999999999904,259.0066,2015-01-01 00:43:13,bin2593,75, +CTSPillarNetworkA,2594,2594,2594,1977-02-07,259.0999999999904,259.1066,2015-01-01 00:43:14,bin2594,35, +CTSPillarNetworkA,2595,2595,2595,1977-02-08,259.19999999999044,259.2066,2015-01-01 00:43:15,bin2595,75, +CTSPillarNetworkA,2596,2596,2596,1977-02-09,259.29999999999046,259.3066,2015-01-01 00:43:16,bin2596,35, +CTSPillarNetworkA,2597,2597,2597,1977-02-10,259.3999999999905,259.40662,2015-01-01 00:43:17,bin2597,75, +CTSPillarNetworkA,2598,2598,2598,1977-02-11,259.4999999999905,259.50662,2015-01-01 00:43:18,bin2598,35, +CTSPillarNetworkA,2599,2599,2599,1977-02-12,259.59999999999053,259.60663,2015-01-01 00:43:19,bin2599,75, +CTSPillarNetworkA,2600,2600,2600,1977-02-13,259.69999999999055,259.70663,2015-01-01 00:43:20,bin2600,35, +CTSPillarNetworkA,2601,2601,2601,1977-02-14,259.7999999999906,259.80664,2015-01-01 00:43:21,bin2601,75, +CTSPillarNetworkA,2602,2602,2602,1977-02-15,259.8999999999906,259.90665,2015-01-01 00:43:22,bin2602,35, +CTSPillarNetworkA,2603,2603,2603,1977-02-16,259.9999999999906,260.00665,2015-01-01 00:43:23,bin2603,75, +CTSPillarNetworkA,2604,2604,2604,1977-02-17,260.09999999999064,260.10666,2015-01-01 00:43:24,bin2604,35, +CTSPillarNetworkA,2605,2605,2605,1977-02-18,260.19999999999067,260.20667,2015-01-01 00:43:25,bin2605,75, +CTSPillarNetworkA,2606,2606,2606,1977-02-19,260.2999999999907,260.30667,2015-01-01 00:43:26,bin2606,35, +CTSPillarNetworkA,2607,2607,2607,1977-02-20,260.3999999999907,260.40668,2015-01-01 00:43:27,bin2607,75, +CTSPillarNetworkA,2608,2608,2608,1977-02-21,260.49999999999073,260.50668,2015-01-01 00:43:28,bin2608,35, +CTSPillarNetworkA,2609,2609,2609,1977-02-22,260.59999999999076,260.6067,2015-01-01 00:43:29,bin2609,75, +CTSPillarNetworkA,2610,2610,2610,1977-02-23,260.6999999999908,260.7067,2015-01-01 00:43:30,bin2610,35, +CTSPillarNetworkA,2611,2611,2611,1977-02-24,260.7999999999908,260.8067,2015-01-01 00:43:31,bin2611,75, +CTSPillarNetworkA,2612,2612,2612,1977-02-25,260.8999999999908,260.9067,2015-01-01 00:43:32,bin2612,35, +CTSPillarNetworkA,2613,2613,2613,1977-02-26,260.99999999999085,261.0067,2015-01-01 00:43:33,bin2613,75, +CTSPillarNetworkA,2614,2614,2614,1977-02-27,261.09999999999087,261.10672,2015-01-01 00:43:34,bin2614,35, +CTSPillarNetworkA,2615,2615,2615,1977-02-28,261.1999999999909,261.20673,2015-01-01 00:43:35,bin2615,75, +CTSPillarNetworkA,2616,2616,2616,1977-03-01,261.2999999999909,261.30673,2015-01-01 00:43:36,bin2616,35, +CTSPillarNetworkA,2617,2617,2617,1977-03-02,261.39999999999094,261.40674,2015-01-01 00:43:37,bin2617,75, +CTSPillarNetworkA,2618,2618,2618,1977-03-03,261.49999999999096,261.50674,2015-01-01 00:43:38,bin2618,35, +CTSPillarNetworkA,2619,2619,2619,1977-03-04,261.599999999991,261.60675,2015-01-01 00:43:39,bin2619,75, +CTSPillarNetworkA,2620,2620,2620,1977-03-05,261.699999999991,261.70676,2015-01-01 00:43:40,bin2620,35, +CTSPillarNetworkA,2621,2621,2621,1977-03-06,261.79999999999103,261.80676,2015-01-01 00:43:41,bin2621,75, +CTSPillarNetworkA,2622,2622,2622,1977-03-07,261.89999999999105,261.90677,2015-01-01 00:43:42,bin2622,35, +CTSPillarNetworkA,2623,2623,2623,1977-03-08,261.9999999999911,262.00677,2015-01-01 00:43:43,bin2623,75, +CTSPillarNetworkA,2624,2624,2624,1977-03-09,262.0999999999911,262.10678,2015-01-01 00:43:44,bin2624,35, +CTSPillarNetworkA,2625,2625,2625,1977-03-10,262.1999999999911,262.2068,2015-01-01 00:43:45,bin2625,75, +CTSPillarNetworkA,2626,2626,2626,1977-03-11,262.29999999999114,262.3068,2015-01-01 00:43:46,bin2626,35, +CTSPillarNetworkA,2627,2627,2627,1977-03-12,262.39999999999117,262.4068,2015-01-01 00:43:47,bin2627,75, +CTSPillarNetworkA,2628,2628,2628,1977-03-13,262.4999999999912,262.5068,2015-01-01 00:43:48,bin2628,35, +CTSPillarNetworkA,2629,2629,2629,1977-03-14,262.5999999999912,262.6068,2015-01-01 00:43:49,bin2629,75, +CTSPillarNetworkA,2630,2630,2630,1977-03-15,262.69999999999123,262.70682,2015-01-01 00:43:50,bin2630,35, +CTSPillarNetworkA,2631,2631,2631,1977-03-16,262.79999999999126,262.80682,2015-01-01 00:43:51,bin2631,75, +CTSPillarNetworkA,2632,2632,2632,1977-03-17,262.8999999999913,262.90683,2015-01-01 00:43:52,bin2632,35, +CTSPillarNetworkA,2633,2633,2633,1977-03-18,262.9999999999913,263.00684,2015-01-01 00:43:53,bin2633,75, +CTSPillarNetworkA,2634,2634,2634,1977-03-19,263.0999999999913,263.10684,2015-01-01 00:43:54,bin2634,35, +CTSPillarNetworkA,2635,2635,2635,1977-03-20,263.19999999999135,263.20685,2015-01-01 00:43:55,bin2635,75, +CTSPillarNetworkA,2636,2636,2636,1977-03-21,263.29999999999137,263.30685,2015-01-01 00:43:56,bin2636,35, +CTSPillarNetworkA,2637,2637,2637,1977-03-22,263.3999999999914,263.40686,2015-01-01 00:43:57,bin2637,75, +CTSPillarNetworkA,2638,2638,2638,1977-03-23,263.4999999999914,263.50687,2015-01-01 00:43:58,bin2638,35, +CTSPillarNetworkA,2639,2639,2639,1977-03-24,263.59999999999144,263.60687,2015-01-01 00:43:59,bin2639,75, +CTSPillarNetworkA,2640,2640,2640,1977-03-25,263.69999999999146,263.70688,2015-01-01 00:44:00,bin2640,35, +CTSPillarNetworkA,2641,2641,2641,1977-03-26,263.7999999999915,263.8069,2015-01-01 00:44:01,bin2641,75, +CTSPillarNetworkA,2642,2642,2642,1977-03-27,263.8999999999915,263.9069,2015-01-01 00:44:02,bin2642,35, +CTSPillarNetworkA,2643,2643,2643,1977-03-28,263.99999999999153,264.0069,2015-01-01 00:44:03,bin2643,75, +CTSPillarNetworkA,2644,2644,2644,1977-03-29,264.09999999999155,264.1069,2015-01-01 00:44:04,bin2644,35, +CTSPillarNetworkA,2645,2645,2645,1977-03-30,264.1999999999916,264.2069,2015-01-01 00:44:05,bin2645,75, +CTSPillarNetworkA,2646,2646,2646,1977-03-31,264.2999999999916,264.30692,2015-01-01 00:44:06,bin2646,35, +CTSPillarNetworkA,2647,2647,2647,1977-04-01,264.3999999999916,264.40692,2015-01-01 00:44:07,bin2647,75, +CTSPillarNetworkA,2648,2648,2648,1977-04-02,264.49999999999164,264.50693,2015-01-01 00:44:08,bin2648,35, +CTSPillarNetworkA,2649,2649,2649,1977-04-03,264.59999999999167,264.60693,2015-01-01 00:44:09,bin2649,75, +CTSPillarNetworkA,2650,2650,2650,1977-04-04,264.6999999999917,264.70694,2015-01-01 00:44:10,bin2650,35, +CTSPillarNetworkA,2651,2651,2651,1977-04-05,264.7999999999917,264.80695,2015-01-01 00:44:11,bin2651,75, +CTSPillarNetworkA,2652,2652,2652,1977-04-06,264.89999999999173,264.90695,2015-01-01 00:44:12,bin2652,35, +CTSPillarNetworkA,2653,2653,2653,1977-04-07,264.99999999999176,265.00696,2015-01-01 00:44:13,bin2653,75, +CTSPillarNetworkA,2654,2654,2654,1977-04-08,265.0999999999918,265.10696,2015-01-01 00:44:14,bin2654,35, +CTSPillarNetworkA,2655,2655,2655,1977-04-09,265.1999999999918,265.20697,2015-01-01 00:44:15,bin2655,75, +CTSPillarNetworkA,2656,2656,2656,1977-04-10,265.2999999999918,265.30698,2015-01-01 00:44:16,bin2656,35, +CTSPillarNetworkA,2657,2657,2657,1977-04-11,265.39999999999185,265.40698,2015-01-01 00:44:17,bin2657,75, +CTSPillarNetworkA,2658,2658,2658,1977-04-12,265.49999999999187,265.507,2015-01-01 00:44:18,bin2658,35, +CTSPillarNetworkA,2659,2659,2659,1977-04-13,265.5999999999919,265.607,2015-01-01 00:44:19,bin2659,75, +CTSPillarNetworkA,2660,2660,2660,1977-04-14,265.6999999999919,265.707,2015-01-01 00:44:20,bin2660,35, +CTSPillarNetworkA,2661,2661,2661,1977-04-15,265.79999999999194,265.807,2015-01-01 00:44:21,bin2661,75, +CTSPillarNetworkA,2662,2662,2662,1977-04-16,265.89999999999196,265.907,2015-01-01 00:44:22,bin2662,35, +CTSPillarNetworkA,2663,2663,2663,1977-04-17,265.999999999992,266.00702,2015-01-01 00:44:23,bin2663,75, +CTSPillarNetworkA,2664,2664,2664,1977-04-18,266.099999999992,266.10703,2015-01-01 00:44:24,bin2664,35, +CTSPillarNetworkA,2665,2665,2665,1977-04-19,266.19999999999203,266.20703,2015-01-01 00:44:25,bin2665,75, +CTSPillarNetworkA,2666,2666,2666,1977-04-20,266.29999999999205,266.30704,2015-01-01 00:44:26,bin2666,35, +CTSPillarNetworkA,2667,2667,2667,1977-04-21,266.3999999999921,266.40704,2015-01-01 00:44:27,bin2667,75, +CTSPillarNetworkA,2668,2668,2668,1977-04-22,266.4999999999921,266.50705,2015-01-01 00:44:28,bin2668,35, +CTSPillarNetworkA,2669,2669,2669,1977-04-23,266.5999999999921,266.60706,2015-01-01 00:44:29,bin2669,75, +CTSPillarNetworkA,2670,2670,2670,1977-04-24,266.69999999999214,266.70706,2015-01-01 00:44:30,bin2670,35, +CTSPillarNetworkA,2671,2671,2671,1977-04-25,266.79999999999217,266.80707,2015-01-01 00:44:31,bin2671,75, +CTSPillarNetworkA,2672,2672,2672,1977-04-26,266.8999999999922,266.90707,2015-01-01 00:44:32,bin2672,35, +CTSPillarNetworkA,2673,2673,2673,1977-04-27,266.9999999999922,267.00708,2015-01-01 00:44:33,bin2673,75, +CTSPillarNetworkA,2674,2674,2674,1977-04-28,267.09999999999224,267.1071,2015-01-01 00:44:34,bin2674,35, +CTSPillarNetworkA,2675,2675,2675,1977-04-29,267.19999999999226,267.2071,2015-01-01 00:44:35,bin2675,75, +CTSPillarNetworkA,2676,2676,2676,1977-04-30,267.2999999999923,267.3071,2015-01-01 00:44:36,bin2676,35, +CTSPillarNetworkA,2677,2677,2677,1977-05-01,267.3999999999923,267.4071,2015-01-01 00:44:37,bin2677,75, +CTSPillarNetworkA,2678,2678,2678,1977-05-02,267.4999999999923,267.5071,2015-01-01 00:44:38,bin2678,35, +CTSPillarNetworkA,2679,2679,2679,1977-05-03,267.59999999999235,267.60712,2015-01-01 00:44:39,bin2679,75, +CTSPillarNetworkA,2680,2680,2680,1977-05-04,267.6999999999924,267.70712,2015-01-01 00:44:40,bin2680,35, +CTSPillarNetworkA,2681,2681,2681,1977-05-05,267.7999999999924,267.80713,2015-01-01 00:44:41,bin2681,75, +CTSPillarNetworkA,2682,2682,2682,1977-05-06,267.8999999999924,267.90714,2015-01-01 00:44:42,bin2682,35, +CTSPillarNetworkA,2683,2683,2683,1977-05-07,267.99999999999244,268.00714,2015-01-01 00:44:43,bin2683,75, +CTSPillarNetworkA,2684,2684,2684,1977-05-08,268.09999999999246,268.10715,2015-01-01 00:44:44,bin2684,35, +CTSPillarNetworkA,2685,2685,2685,1977-05-09,268.1999999999925,268.20715,2015-01-01 00:44:45,bin2685,75, +CTSPillarNetworkA,2686,2686,2686,1977-05-10,268.2999999999925,268.30716,2015-01-01 00:44:46,bin2686,35, +CTSPillarNetworkA,2687,2687,2687,1977-05-11,268.39999999999253,268.40717,2015-01-01 00:44:47,bin2687,75, +CTSPillarNetworkA,2688,2688,2688,1977-05-12,268.49999999999255,268.50717,2015-01-01 00:44:48,bin2688,35, +CTSPillarNetworkA,2689,2689,2689,1977-05-13,268.5999999999926,268.60718,2015-01-01 00:44:49,bin2689,75, +CTSPillarNetworkA,2690,2690,2690,1977-05-14,268.6999999999926,268.70718,2015-01-01 00:44:50,bin2690,35, +CTSPillarNetworkA,2691,2691,2691,1977-05-15,268.7999999999926,268.8072,2015-01-01 00:44:51,bin2691,75, +CTSPillarNetworkA,2692,2692,2692,1977-05-16,268.89999999999264,268.9072,2015-01-01 00:44:52,bin2692,35, +CTSPillarNetworkA,2693,2693,2693,1977-05-17,268.99999999999267,269.0072,2015-01-01 00:44:53,bin2693,75, +CTSPillarNetworkA,2694,2694,2694,1977-05-18,269.0999999999927,269.1072,2015-01-01 00:44:54,bin2694,35, +CTSPillarNetworkA,2695,2695,2695,1977-05-19,269.1999999999927,269.2072,2015-01-01 00:44:55,bin2695,75, +CTSPillarNetworkA,2696,2696,2696,1977-05-20,269.29999999999274,269.30722,2015-01-01 00:44:56,bin2696,35, +CTSPillarNetworkA,2697,2697,2697,1977-05-21,269.39999999999276,269.40723,2015-01-01 00:44:57,bin2697,75, +CTSPillarNetworkA,2698,2698,2698,1977-05-22,269.4999999999928,269.50723,2015-01-01 00:44:58,bin2698,35, +CTSPillarNetworkA,2699,2699,2699,1977-05-23,269.5999999999928,269.60724,2015-01-01 00:44:59,bin2699,75, +CTSPillarNetworkA,2700,2700,2700,1977-05-24,269.6999999999928,269.70724,2015-01-01 00:45:00,bin2700,35, +CTSPillarNetworkA,2701,2701,2701,1977-05-25,269.79999999999285,269.80725,2015-01-01 00:45:01,bin2701,75, +CTSPillarNetworkA,2702,2702,2702,1977-05-26,269.8999999999929,269.90726,2015-01-01 00:45:02,bin2702,35, +CTSPillarNetworkA,2703,2703,2703,1977-05-27,269.9999999999929,270.00726,2015-01-01 00:45:03,bin2703,75, +CTSPillarNetworkA,2704,2704,2704,1977-05-28,270.0999999999929,270.10727,2015-01-01 00:45:04,bin2704,35, +CTSPillarNetworkA,2705,2705,2705,1977-05-29,270.19999999999294,270.20728,2015-01-01 00:45:05,bin2705,75, +CTSPillarNetworkA,2706,2706,2706,1977-05-30,270.29999999999296,270.30728,2015-01-01 00:45:06,bin2706,35, +CTSPillarNetworkA,2707,2707,2707,1977-05-31,270.399999999993,270.4073,2015-01-01 00:45:07,bin2707,75, +CTSPillarNetworkA,2708,2708,2708,1977-06-01,270.499999999993,270.5073,2015-01-01 00:45:08,bin2708,35, +CTSPillarNetworkA,2709,2709,2709,1977-06-02,270.59999999999303,270.6073,2015-01-01 00:45:09,bin2709,75, +CTSPillarNetworkA,2710,2710,2710,1977-06-03,270.69999999999305,270.7073,2015-01-01 00:45:10,bin2710,35, +CTSPillarNetworkA,2711,2711,2711,1977-06-04,270.7999999999931,270.8073,2015-01-01 00:45:11,bin2711,75, +CTSPillarNetworkA,2712,2712,2712,1977-06-05,270.8999999999931,270.90732,2015-01-01 00:45:12,bin2712,35, +CTSPillarNetworkA,2713,2713,2713,1977-06-06,270.9999999999931,271.00732,2015-01-01 00:45:13,bin2713,75, +CTSPillarNetworkA,2714,2714,2714,1977-06-07,271.09999999999314,271.10733,2015-01-01 00:45:14,bin2714,35, +CTSPillarNetworkA,2715,2715,2715,1977-06-08,271.19999999999317,271.20734,2015-01-01 00:45:15,bin2715,75, +CTSPillarNetworkA,2716,2716,2716,1977-06-09,271.2999999999932,271.30734,2015-01-01 00:45:16,bin2716,35, +CTSPillarNetworkA,2717,2717,2717,1977-06-10,271.3999999999932,271.40735,2015-01-01 00:45:17,bin2717,75, +CTSPillarNetworkA,2718,2718,2718,1977-06-11,271.49999999999324,271.50735,2015-01-01 00:45:18,bin2718,35, +CTSPillarNetworkA,2719,2719,2719,1977-06-12,271.59999999999326,271.60736,2015-01-01 00:45:19,bin2719,75, +CTSPillarNetworkA,2720,2720,2720,1977-06-13,271.6999999999933,271.70737,2015-01-01 00:45:20,bin2720,35, +CTSPillarNetworkA,2721,2721,2721,1977-06-14,271.7999999999933,271.80737,2015-01-01 00:45:21,bin2721,75, +CTSPillarNetworkA,2722,2722,2722,1977-06-15,271.8999999999933,271.90738,2015-01-01 00:45:22,bin2722,35, +CTSPillarNetworkA,2723,2723,2723,1977-06-16,271.99999999999335,272.0074,2015-01-01 00:45:23,bin2723,75, +CTSPillarNetworkA,2724,2724,2724,1977-06-17,272.0999999999934,272.1074,2015-01-01 00:45:24,bin2724,35, +CTSPillarNetworkA,2725,2725,2725,1977-06-18,272.1999999999934,272.2074,2015-01-01 00:45:25,bin2725,75, +CTSPillarNetworkA,2726,2726,2726,1977-06-19,272.2999999999934,272.3074,2015-01-01 00:45:26,bin2726,35, +CTSPillarNetworkA,2727,2727,2727,1977-06-20,272.39999999999344,272.4074,2015-01-01 00:45:27,bin2727,75, +CTSPillarNetworkA,2728,2728,2728,1977-06-21,272.49999999999346,272.50742,2015-01-01 00:45:28,bin2728,35, +CTSPillarNetworkA,2729,2729,2729,1977-06-22,272.5999999999935,272.60742,2015-01-01 00:45:29,bin2729,75, +CTSPillarNetworkA,2730,2730,2730,1977-06-23,272.6999999999935,272.70743,2015-01-01 00:45:30,bin2730,35, +CTSPillarNetworkA,2731,2731,2731,1977-06-24,272.79999999999353,272.80743,2015-01-01 00:45:31,bin2731,75, +CTSPillarNetworkA,2732,2732,2732,1977-06-25,272.89999999999355,272.90744,2015-01-01 00:45:32,bin2732,35, +CTSPillarNetworkA,2733,2733,2733,1977-06-26,272.9999999999936,273.00745,2015-01-01 00:45:33,bin2733,75, +CTSPillarNetworkA,2734,2734,2734,1977-06-27,273.0999999999936,273.10745,2015-01-01 00:45:34,bin2734,35, +CTSPillarNetworkA,2735,2735,2735,1977-06-28,273.1999999999936,273.20746,2015-01-01 00:45:35,bin2735,75, +CTSPillarNetworkA,2736,2736,2736,1977-06-29,273.29999999999364,273.30746,2015-01-01 00:45:36,bin2736,35, +CTSPillarNetworkA,2737,2737,2737,1977-06-30,273.39999999999367,273.40747,2015-01-01 00:45:37,bin2737,75, +CTSPillarNetworkA,2738,2738,2738,1977-07-01,273.4999999999937,273.50748,2015-01-01 00:45:38,bin2738,35, +CTSPillarNetworkA,2739,2739,2739,1977-07-02,273.5999999999937,273.60748,2015-01-01 00:45:39,bin2739,75, +CTSPillarNetworkA,2740,2740,2740,1977-07-03,273.69999999999374,273.7075,2015-01-01 00:45:40,bin2740,35, +CTSPillarNetworkA,2741,2741,2741,1977-07-04,273.79999999999376,273.8075,2015-01-01 00:45:41,bin2741,75, +CTSPillarNetworkA,2742,2742,2742,1977-07-05,273.8999999999938,273.9075,2015-01-01 00:45:42,bin2742,35, +CTSPillarNetworkA,2743,2743,2743,1977-07-06,273.9999999999938,274.0075,2015-01-01 00:45:43,bin2743,75, +CTSPillarNetworkA,2744,2744,2744,1977-07-07,274.0999999999938,274.1075,2015-01-01 00:45:44,bin2744,35, +CTSPillarNetworkA,2745,2745,2745,1977-07-08,274.19999999999385,274.20752,2015-01-01 00:45:45,bin2745,75, +CTSPillarNetworkA,2746,2746,2746,1977-07-09,274.2999999999939,274.30753,2015-01-01 00:45:46,bin2746,35, +CTSPillarNetworkA,2747,2747,2747,1977-07-10,274.3999999999939,274.40753,2015-01-01 00:45:47,bin2747,75, +CTSPillarNetworkA,2748,2748,2748,1977-07-11,274.4999999999939,274.50754,2015-01-01 00:45:48,bin2748,35, +CTSPillarNetworkA,2749,2749,2749,1977-07-12,274.59999999999394,274.60754,2015-01-01 00:45:49,bin2749,75, +CTSPillarNetworkA,2750,2750,2750,1977-07-13,274.69999999999396,274.70755,2015-01-01 00:45:50,bin2750,35, +CTSPillarNetworkA,2751,2751,2751,1977-07-14,274.799999999994,274.80756,2015-01-01 00:45:51,bin2751,75, +CTSPillarNetworkA,2752,2752,2752,1977-07-15,274.899999999994,274.90756,2015-01-01 00:45:52,bin2752,35, +CTSPillarNetworkA,2753,2753,2753,1977-07-16,274.99999999999403,275.00757,2015-01-01 00:45:53,bin2753,75, +CTSPillarNetworkA,2754,2754,2754,1977-07-17,275.09999999999405,275.10757,2015-01-01 00:45:54,bin2754,35, +CTSPillarNetworkA,2755,2755,2755,1977-07-18,275.1999999999941,275.20758,2015-01-01 00:45:55,bin2755,75, +CTSPillarNetworkA,2756,2756,2756,1977-07-19,275.2999999999941,275.3076,2015-01-01 00:45:56,bin2756,35, +CTSPillarNetworkA,2757,2757,2757,1977-07-20,275.3999999999941,275.4076,2015-01-01 00:45:57,bin2757,75, +CTSPillarNetworkA,2758,2758,2758,1977-07-21,275.49999999999415,275.5076,2015-01-01 00:45:58,bin2758,35, +CTSPillarNetworkA,2759,2759,2759,1977-07-22,275.59999999999417,275.6076,2015-01-01 00:45:59,bin2759,75, +CTSPillarNetworkA,2760,2760,2760,1977-07-23,275.6999999999942,275.7076,2015-01-01 00:46:00,bin2760,35, +CTSPillarNetworkA,2761,2761,2761,1977-07-24,275.7999999999942,275.80762,2015-01-01 00:46:01,bin2761,75, +CTSPillarNetworkA,2762,2762,2762,1977-07-25,275.89999999999424,275.90762,2015-01-01 00:46:02,bin2762,35, +CTSPillarNetworkA,2763,2763,2763,1977-07-26,275.99999999999426,276.00763,2015-01-01 00:46:03,bin2763,75, +CTSPillarNetworkA,2764,2764,2764,1977-07-27,276.0999999999943,276.10764,2015-01-01 00:46:04,bin2764,35, +CTSPillarNetworkA,2765,2765,2765,1977-07-28,276.1999999999943,276.20764,2015-01-01 00:46:05,bin2765,75, +CTSPillarNetworkA,2766,2766,2766,1977-07-29,276.2999999999943,276.30765,2015-01-01 00:46:06,bin2766,35, +CTSPillarNetworkA,2767,2767,2767,1977-07-30,276.39999999999435,276.40765,2015-01-01 00:46:07,bin2767,75, +CTSPillarNetworkA,2768,2768,2768,1977-07-31,276.4999999999944,276.50766,2015-01-01 00:46:08,bin2768,35, +CTSPillarNetworkA,2769,2769,2769,1977-08-01,276.5999999999944,276.60767,2015-01-01 00:46:09,bin2769,75, +CTSPillarNetworkA,2770,2770,2770,1977-08-02,276.6999999999944,276.70767,2015-01-01 00:46:10,bin2770,35, +CTSPillarNetworkA,2771,2771,2771,1977-08-03,276.79999999999444,276.80768,2015-01-01 00:46:11,bin2771,75, +CTSPillarNetworkA,2772,2772,2772,1977-08-04,276.89999999999446,276.90768,2015-01-01 00:46:12,bin2772,35, +CTSPillarNetworkA,2773,2773,2773,1977-08-05,276.9999999999945,277.0077,2015-01-01 00:46:13,bin2773,75, +CTSPillarNetworkA,2774,2774,2774,1977-08-06,277.0999999999945,277.1077,2015-01-01 00:46:14,bin2774,35, +CTSPillarNetworkA,2775,2775,2775,1977-08-07,277.19999999999453,277.2077,2015-01-01 00:46:15,bin2775,75, +CTSPillarNetworkA,2776,2776,2776,1977-08-08,277.29999999999455,277.3077,2015-01-01 00:46:16,bin2776,35, +CTSPillarNetworkA,2777,2777,2777,1977-08-09,277.3999999999946,277.4077,2015-01-01 00:46:17,bin2777,75, +CTSPillarNetworkA,2778,2778,2778,1977-08-10,277.4999999999946,277.50772,2015-01-01 00:46:18,bin2778,35, +CTSPillarNetworkA,2779,2779,2779,1977-08-11,277.5999999999946,277.60773,2015-01-01 00:46:19,bin2779,75, +CTSPillarNetworkA,2780,2780,2780,1977-08-12,277.69999999999465,277.70773,2015-01-01 00:46:20,bin2780,35, +CTSPillarNetworkA,2781,2781,2781,1977-08-13,277.79999999999467,277.80774,2015-01-01 00:46:21,bin2781,75, +CTSPillarNetworkA,2782,2782,2782,1977-08-14,277.8999999999947,277.90775,2015-01-01 00:46:22,bin2782,35, +CTSPillarNetworkA,2783,2783,2783,1977-08-15,277.9999999999947,278.00775,2015-01-01 00:46:23,bin2783,75, +CTSPillarNetworkA,2784,2784,2784,1977-08-16,278.09999999999474,278.10776,2015-01-01 00:46:24,bin2784,35, +CTSPillarNetworkA,2785,2785,2785,1977-08-17,278.19999999999476,278.20776,2015-01-01 00:46:25,bin2785,75, +CTSPillarNetworkA,2786,2786,2786,1977-08-18,278.2999999999948,278.30777,2015-01-01 00:46:26,bin2786,35, +CTSPillarNetworkA,2787,2787,2787,1977-08-19,278.3999999999948,278.40778,2015-01-01 00:46:27,bin2787,75, +CTSPillarNetworkA,2788,2788,2788,1977-08-20,278.4999999999948,278.50778,2015-01-01 00:46:28,bin2788,35, +CTSPillarNetworkA,2789,2789,2789,1977-08-21,278.59999999999485,278.6078,2015-01-01 00:46:29,bin2789,75, +CTSPillarNetworkA,2790,2790,2790,1977-08-22,278.6999999999949,278.7078,2015-01-01 00:46:30,bin2790,35, +CTSPillarNetworkA,2791,2791,2791,1977-08-23,278.7999999999949,278.8078,2015-01-01 00:46:31,bin2791,75, +CTSPillarNetworkA,2792,2792,2792,1977-08-24,278.8999999999949,278.9078,2015-01-01 00:46:32,bin2792,35, +CTSPillarNetworkA,2793,2793,2793,1977-08-25,278.99999999999494,279.0078,2015-01-01 00:46:33,bin2793,75, +CTSPillarNetworkA,2794,2794,2794,1977-08-26,279.09999999999496,279.10782,2015-01-01 00:46:34,bin2794,35, +CTSPillarNetworkA,2795,2795,2795,1977-08-27,279.199999999995,279.20782,2015-01-01 00:46:35,bin2795,75, +CTSPillarNetworkA,2796,2796,2796,1977-08-28,279.299999999995,279.30783,2015-01-01 00:46:36,bin2796,35, +CTSPillarNetworkA,2797,2797,2797,1977-08-29,279.39999999999503,279.40784,2015-01-01 00:46:37,bin2797,75, +CTSPillarNetworkA,2798,2798,2798,1977-08-30,279.49999999999505,279.50784,2015-01-01 00:46:38,bin2798,35, +CTSPillarNetworkA,2799,2799,2799,1977-08-31,279.5999999999951,279.60785,2015-01-01 00:46:39,bin2799,75, +CTSPillarNetworkA,2800,2800,2800,1977-09-01,279.6999999999951,279.70786,2015-01-01 00:46:40,bin2800,35, +CTSPillarNetworkA,2801,2801,2801,1977-09-02,279.7999999999951,279.80786,2015-01-01 00:46:41,bin2801,75, +CTSPillarNetworkA,2802,2802,2802,1977-09-03,279.89999999999515,279.90787,2015-01-01 00:46:42,bin2802,35, +CTSPillarNetworkA,2803,2803,2803,1977-09-04,279.99999999999517,280.00787,2015-01-01 00:46:43,bin2803,75, +CTSPillarNetworkA,2804,2804,2804,1977-09-05,280.0999999999952,280.10788,2015-01-01 00:46:44,bin2804,35, +CTSPillarNetworkA,2805,2805,2805,1977-09-06,280.1999999999952,280.2079,2015-01-01 00:46:45,bin2805,75, +CTSPillarNetworkA,2806,2806,2806,1977-09-07,280.29999999999524,280.3079,2015-01-01 00:46:46,bin2806,35, +CTSPillarNetworkA,2807,2807,2807,1977-09-08,280.39999999999526,280.4079,2015-01-01 00:46:47,bin2807,75, +CTSPillarNetworkA,2808,2808,2808,1977-09-09,280.4999999999953,280.5079,2015-01-01 00:46:48,bin2808,35, +CTSPillarNetworkA,2809,2809,2809,1977-09-10,280.5999999999953,280.6079,2015-01-01 00:46:49,bin2809,75, +CTSPillarNetworkA,2810,2810,2810,1977-09-11,280.6999999999953,280.70792,2015-01-01 00:46:50,bin2810,35, +CTSPillarNetworkA,2811,2811,2811,1977-09-12,280.79999999999535,280.80792,2015-01-01 00:46:51,bin2811,75, +CTSPillarNetworkA,2812,2812,2812,1977-09-13,280.8999999999954,280.90793,2015-01-01 00:46:52,bin2812,35, +CTSPillarNetworkA,2813,2813,2813,1977-09-14,280.9999999999954,281.00793,2015-01-01 00:46:53,bin2813,75, +CTSPillarNetworkA,2814,2814,2814,1977-09-15,281.0999999999954,281.10794,2015-01-01 00:46:54,bin2814,35, +CTSPillarNetworkA,2815,2815,2815,1977-09-16,281.19999999999544,281.20795,2015-01-01 00:46:55,bin2815,75, +CTSPillarNetworkA,2816,2816,2816,1977-09-17,281.29999999999546,281.30795,2015-01-01 00:46:56,bin2816,35, +CTSPillarNetworkA,2817,2817,2817,1977-09-18,281.3999999999955,281.40796,2015-01-01 00:46:57,bin2817,75, +CTSPillarNetworkA,2818,2818,2818,1977-09-19,281.4999999999955,281.50797,2015-01-01 00:46:58,bin2818,35, +CTSPillarNetworkA,2819,2819,2819,1977-09-20,281.59999999999553,281.60797,2015-01-01 00:46:59,bin2819,75, +CTSPillarNetworkA,2820,2820,2820,1977-09-21,281.69999999999555,281.70798,2015-01-01 00:47:00,bin2820,35, +CTSPillarNetworkA,2821,2821,2821,1977-09-22,281.7999999999956,281.80798,2015-01-01 00:47:01,bin2821,75, +CTSPillarNetworkA,2822,2822,2822,1977-09-23,281.8999999999956,281.908,2015-01-01 00:47:02,bin2822,35, +CTSPillarNetworkA,2823,2823,2823,1977-09-24,281.9999999999956,282.008,2015-01-01 00:47:03,bin2823,75, +CTSPillarNetworkA,2824,2824,2824,1977-09-25,282.09999999999565,282.108,2015-01-01 00:47:04,bin2824,35, +CTSPillarNetworkA,2825,2825,2825,1977-09-26,282.19999999999567,282.208,2015-01-01 00:47:05,bin2825,75, +CTSPillarNetworkA,2826,2826,2826,1977-09-27,282.2999999999957,282.308,2015-01-01 00:47:06,bin2826,35, +CTSPillarNetworkA,2827,2827,2827,1977-09-28,282.3999999999957,282.40802,2015-01-01 00:47:07,bin2827,75, +CTSPillarNetworkA,2828,2828,2828,1977-09-29,282.49999999999574,282.50803,2015-01-01 00:47:08,bin2828,35, +CTSPillarNetworkA,2829,2829,2829,1977-09-30,282.59999999999576,282.60803,2015-01-01 00:47:09,bin2829,75, +CTSPillarNetworkA,2830,2830,2830,1977-10-01,282.6999999999958,282.70804,2015-01-01 00:47:10,bin2830,35, +CTSPillarNetworkA,2831,2831,2831,1977-10-02,282.7999999999958,282.80804,2015-01-01 00:47:11,bin2831,75, +CTSPillarNetworkA,2832,2832,2832,1977-10-03,282.8999999999958,282.90805,2015-01-01 00:47:12,bin2832,35, +CTSPillarNetworkA,2833,2833,2833,1977-10-04,282.99999999999585,283.00806,2015-01-01 00:47:13,bin2833,75, +CTSPillarNetworkA,2834,2834,2834,1977-10-05,283.0999999999959,283.10806,2015-01-01 00:47:14,bin2834,35, +CTSPillarNetworkA,2835,2835,2835,1977-10-06,283.1999999999959,283.20807,2015-01-01 00:47:15,bin2835,75, +CTSPillarNetworkA,2836,2836,2836,1977-10-07,283.2999999999959,283.30807,2015-01-01 00:47:16,bin2836,35, +CTSPillarNetworkA,2837,2837,2837,1977-10-08,283.39999999999594,283.40808,2015-01-01 00:47:17,bin2837,75, +CTSPillarNetworkA,2838,2838,2838,1977-10-09,283.49999999999596,283.5081,2015-01-01 00:47:18,bin2838,35, +CTSPillarNetworkA,2839,2839,2839,1977-10-10,283.599999999996,283.6081,2015-01-01 00:47:19,bin2839,75, +CTSPillarNetworkA,2840,2840,2840,1977-10-11,283.699999999996,283.7081,2015-01-01 00:47:20,bin2840,35, +CTSPillarNetworkA,2841,2841,2841,1977-10-12,283.79999999999603,283.8081,2015-01-01 00:47:21,bin2841,75, +CTSPillarNetworkA,2842,2842,2842,1977-10-13,283.89999999999606,283.9081,2015-01-01 00:47:22,bin2842,35, +CTSPillarNetworkA,2843,2843,2843,1977-10-14,283.9999999999961,284.00812,2015-01-01 00:47:23,bin2843,75, +CTSPillarNetworkA,2844,2844,2844,1977-10-15,284.0999999999961,284.10812,2015-01-01 00:47:24,bin2844,35, +CTSPillarNetworkA,2845,2845,2845,1977-10-16,284.1999999999961,284.20813,2015-01-01 00:47:25,bin2845,75, +CTSPillarNetworkA,2846,2846,2846,1977-10-17,284.29999999999615,284.30814,2015-01-01 00:47:26,bin2846,35, +CTSPillarNetworkA,2847,2847,2847,1977-10-18,284.39999999999617,284.40814,2015-01-01 00:47:27,bin2847,75, +CTSPillarNetworkA,2848,2848,2848,1977-10-19,284.4999999999962,284.50815,2015-01-01 00:47:28,bin2848,35, +CTSPillarNetworkA,2849,2849,2849,1977-10-20,284.5999999999962,284.60815,2015-01-01 00:47:29,bin2849,75, +CTSPillarNetworkA,2850,2850,2850,1977-10-21,284.69999999999624,284.70816,2015-01-01 00:47:30,bin2850,35, +CTSPillarNetworkA,2851,2851,2851,1977-10-22,284.79999999999626,284.80817,2015-01-01 00:47:31,bin2851,75, +CTSPillarNetworkA,2852,2852,2852,1977-10-23,284.8999999999963,284.90817,2015-01-01 00:47:32,bin2852,35, +CTSPillarNetworkA,2853,2853,2853,1977-10-24,284.9999999999963,285.00818,2015-01-01 00:47:33,bin2853,75, +CTSPillarNetworkA,2854,2854,2854,1977-10-25,285.0999999999963,285.1082,2015-01-01 00:47:34,bin2854,35, +CTSPillarNetworkA,2855,2855,2855,1977-10-26,285.19999999999635,285.2082,2015-01-01 00:47:35,bin2855,75, +CTSPillarNetworkA,2856,2856,2856,1977-10-27,285.2999999999964,285.3082,2015-01-01 00:47:36,bin2856,35, +CTSPillarNetworkA,2857,2857,2857,1977-10-28,285.3999999999964,285.4082,2015-01-01 00:47:37,bin2857,75, +CTSPillarNetworkA,2858,2858,2858,1977-10-29,285.4999999999964,285.5082,2015-01-01 00:47:38,bin2858,35, +CTSPillarNetworkA,2859,2859,2859,1977-10-30,285.59999999999644,285.60822,2015-01-01 00:47:39,bin2859,75, +CTSPillarNetworkA,2860,2860,2860,1977-10-31,285.69999999999646,285.70822,2015-01-01 00:47:40,bin2860,35, +CTSPillarNetworkA,2861,2861,2861,1977-11-01,285.7999999999965,285.80823,2015-01-01 00:47:41,bin2861,75, +CTSPillarNetworkA,2862,2862,2862,1977-11-02,285.8999999999965,285.90823,2015-01-01 00:47:42,bin2862,35, +CTSPillarNetworkA,2863,2863,2863,1977-11-03,285.99999999999653,286.00824,2015-01-01 00:47:43,bin2863,75, +CTSPillarNetworkA,2864,2864,2864,1977-11-04,286.09999999999656,286.10825,2015-01-01 00:47:44,bin2864,35, +CTSPillarNetworkA,2865,2865,2865,1977-11-05,286.1999999999966,286.20825,2015-01-01 00:47:45,bin2865,75, +CTSPillarNetworkA,2866,2866,2866,1977-11-06,286.2999999999966,286.30826,2015-01-01 00:47:46,bin2866,35, +CTSPillarNetworkA,2867,2867,2867,1977-11-07,286.3999999999966,286.40826,2015-01-01 00:47:47,bin2867,75, +CTSPillarNetworkA,2868,2868,2868,1977-11-08,286.49999999999665,286.50827,2015-01-01 00:47:48,bin2868,35, +CTSPillarNetworkA,2869,2869,2869,1977-11-09,286.59999999999667,286.60828,2015-01-01 00:47:49,bin2869,75, +CTSPillarNetworkA,2870,2870,2870,1977-11-10,286.6999999999967,286.70828,2015-01-01 00:47:50,bin2870,35, +CTSPillarNetworkA,2871,2871,2871,1977-11-11,286.7999999999967,286.8083,2015-01-01 00:47:51,bin2871,75, +CTSPillarNetworkA,2872,2872,2872,1977-11-12,286.89999999999674,286.9083,2015-01-01 00:47:52,bin2872,35, +CTSPillarNetworkA,2873,2873,2873,1977-11-13,286.99999999999676,287.0083,2015-01-01 00:47:53,bin2873,75, +CTSPillarNetworkA,2874,2874,2874,1977-11-14,287.0999999999968,287.1083,2015-01-01 00:47:54,bin2874,35, +CTSPillarNetworkA,2875,2875,2875,1977-11-15,287.1999999999968,287.2083,2015-01-01 00:47:55,bin2875,75, +CTSPillarNetworkA,2876,2876,2876,1977-11-16,287.2999999999968,287.30832,2015-01-01 00:47:56,bin2876,35, +CTSPillarNetworkA,2877,2877,2877,1977-11-17,287.39999999999685,287.40833,2015-01-01 00:47:57,bin2877,75, +CTSPillarNetworkA,2878,2878,2878,1977-11-18,287.4999999999969,287.50833,2015-01-01 00:47:58,bin2878,35, +CTSPillarNetworkA,2879,2879,2879,1977-11-19,287.5999999999969,287.60834,2015-01-01 00:47:59,bin2879,75, +CTSPillarNetworkA,2880,2880,2880,1977-11-20,287.6999999999969,287.70834,2015-01-01 00:48:00,bin2880,35, +CTSPillarNetworkA,2881,2881,2881,1977-11-21,287.79999999999694,287.80835,2015-01-01 00:48:01,bin2881,75, +CTSPillarNetworkA,2882,2882,2882,1977-11-22,287.89999999999696,287.90836,2015-01-01 00:48:02,bin2882,35, +CTSPillarNetworkA,2883,2883,2883,1977-11-23,287.999999999997,288.00836,2015-01-01 00:48:03,bin2883,75, +CTSPillarNetworkA,2884,2884,2884,1977-11-24,288.099999999997,288.10837,2015-01-01 00:48:04,bin2884,35, +CTSPillarNetworkA,2885,2885,2885,1977-11-25,288.19999999999703,288.20837,2015-01-01 00:48:05,bin2885,75, +CTSPillarNetworkA,2886,2886,2886,1977-11-26,288.29999999999706,288.30838,2015-01-01 00:48:06,bin2886,35, +CTSPillarNetworkA,2887,2887,2887,1977-11-27,288.3999999999971,288.4084,2015-01-01 00:48:07,bin2887,75, +CTSPillarNetworkA,2888,2888,2888,1977-11-28,288.4999999999971,288.5084,2015-01-01 00:48:08,bin2888,35, +CTSPillarNetworkA,2889,2889,2889,1977-11-29,288.5999999999971,288.6084,2015-01-01 00:48:09,bin2889,75, +CTSPillarNetworkA,2890,2890,2890,1977-11-30,288.69999999999715,288.7084,2015-01-01 00:48:10,bin2890,35, +CTSPillarNetworkA,2891,2891,2891,1977-12-01,288.79999999999717,288.8084,2015-01-01 00:48:11,bin2891,75, +CTSPillarNetworkA,2892,2892,2892,1977-12-02,288.8999999999972,288.90842,2015-01-01 00:48:12,bin2892,35, +CTSPillarNetworkA,2893,2893,2893,1977-12-03,288.9999999999972,289.00842,2015-01-01 00:48:13,bin2893,75, +CTSPillarNetworkA,2894,2894,2894,1977-12-04,289.09999999999724,289.10843,2015-01-01 00:48:14,bin2894,35, +CTSPillarNetworkA,2895,2895,2895,1977-12-05,289.19999999999726,289.20844,2015-01-01 00:48:15,bin2895,75, +CTSPillarNetworkA,2896,2896,2896,1977-12-06,289.2999999999973,289.30844,2015-01-01 00:48:16,bin2896,35, +CTSPillarNetworkA,2897,2897,2897,1977-12-07,289.3999999999973,289.40845,2015-01-01 00:48:17,bin2897,75, +CTSPillarNetworkA,2898,2898,2898,1977-12-08,289.4999999999973,289.50845,2015-01-01 00:48:18,bin2898,35, +CTSPillarNetworkA,2899,2899,2899,1977-12-09,289.59999999999735,289.60846,2015-01-01 00:48:19,bin2899,75, +CTSPillarNetworkA,2900,2900,2900,1977-12-10,289.6999999999974,289.70847,2015-01-01 00:48:20,bin2900,35, +CTSPillarNetworkA,2901,2901,2901,1977-12-11,289.7999999999974,289.80847,2015-01-01 00:48:21,bin2901,75, +CTSPillarNetworkA,2902,2902,2902,1977-12-12,289.8999999999974,289.90848,2015-01-01 00:48:22,bin2902,35, +CTSPillarNetworkA,2903,2903,2903,1977-12-13,289.99999999999744,290.00848,2015-01-01 00:48:23,bin2903,75, +CTSPillarNetworkA,2904,2904,2904,1977-12-14,290.09999999999746,290.1085,2015-01-01 00:48:24,bin2904,35, +CTSPillarNetworkA,2905,2905,2905,1977-12-15,290.1999999999975,290.2085,2015-01-01 00:48:25,bin2905,75, +CTSPillarNetworkA,2906,2906,2906,1977-12-16,290.2999999999975,290.3085,2015-01-01 00:48:26,bin2906,35, +CTSPillarNetworkA,2907,2907,2907,1977-12-17,290.39999999999753,290.4085,2015-01-01 00:48:27,bin2907,75, +CTSPillarNetworkA,2908,2908,2908,1977-12-18,290.49999999999756,290.5085,2015-01-01 00:48:28,bin2908,35, +CTSPillarNetworkA,2909,2909,2909,1977-12-19,290.5999999999976,290.60852,2015-01-01 00:48:29,bin2909,75, +CTSPillarNetworkA,2910,2910,2910,1977-12-20,290.6999999999976,290.70853,2015-01-01 00:48:30,bin2910,35, +CTSPillarNetworkA,2911,2911,2911,1977-12-21,290.7999999999976,290.80853,2015-01-01 00:48:31,bin2911,75, +CTSPillarNetworkA,2912,2912,2912,1977-12-22,290.89999999999765,290.90854,2015-01-01 00:48:32,bin2912,35, +CTSPillarNetworkA,2913,2913,2913,1977-12-23,290.99999999999767,291.00854,2015-01-01 00:48:33,bin2913,75, +CTSPillarNetworkA,2914,2914,2914,1977-12-24,291.0999999999977,291.10855,2015-01-01 00:48:34,bin2914,35, +CTSPillarNetworkA,2915,2915,2915,1977-12-25,291.1999999999977,291.20856,2015-01-01 00:48:35,bin2915,75, +CTSPillarNetworkA,2916,2916,2916,1977-12-26,291.29999999999774,291.30856,2015-01-01 00:48:36,bin2916,35, +CTSPillarNetworkA,2917,2917,2917,1977-12-27,291.39999999999776,291.40857,2015-01-01 00:48:37,bin2917,75, +CTSPillarNetworkA,2918,2918,2918,1977-12-28,291.4999999999978,291.50858,2015-01-01 00:48:38,bin2918,35, +CTSPillarNetworkA,2919,2919,2919,1977-12-29,291.5999999999978,291.60858,2015-01-01 00:48:39,bin2919,75, +CTSPillarNetworkA,2920,2920,2920,1977-12-30,291.69999999999783,291.7086,2015-01-01 00:48:40,bin2920,35, +CTSPillarNetworkA,2921,2921,2921,1977-12-31,291.79999999999785,291.8086,2015-01-01 00:48:41,bin2921,75, +CTSPillarNetworkA,2922,2922,2922,1978-01-01,291.8999999999979,291.9086,2015-01-01 00:48:42,bin2922,35, +CTSPillarNetworkA,2923,2923,2923,1978-01-02,291.9999999999979,292.0086,2015-01-01 00:48:43,bin2923,75, +CTSPillarNetworkA,2924,2924,2924,1978-01-03,292.0999999999979,292.1086,2015-01-01 00:48:44,bin2924,35, +CTSPillarNetworkA,2925,2925,2925,1978-01-04,292.19999999999794,292.20862,2015-01-01 00:48:45,bin2925,75, +CTSPillarNetworkA,2926,2926,2926,1978-01-05,292.29999999999797,292.30862,2015-01-01 00:48:46,bin2926,35, +CTSPillarNetworkA,2927,2927,2927,1978-01-06,292.399999999998,292.40863,2015-01-01 00:48:47,bin2927,75, +CTSPillarNetworkA,2928,2928,2928,1978-01-07,292.499999999998,292.50864,2015-01-01 00:48:48,bin2928,35, +CTSPillarNetworkA,2929,2929,2929,1978-01-08,292.59999999999803,292.60864,2015-01-01 00:48:49,bin2929,75, +CTSPillarNetworkA,2930,2930,2930,1978-01-09,292.69999999999806,292.70865,2015-01-01 00:48:50,bin2930,35, +CTSPillarNetworkA,2931,2931,2931,1978-01-10,292.7999999999981,292.80865,2015-01-01 00:48:51,bin2931,75, +CTSPillarNetworkA,2932,2932,2932,1978-01-11,292.8999999999981,292.90866,2015-01-01 00:48:52,bin2932,35, +CTSPillarNetworkA,2933,2933,2933,1978-01-12,292.9999999999981,293.00867,2015-01-01 00:48:53,bin2933,75, +CTSPillarNetworkA,2934,2934,2934,1978-01-13,293.09999999999815,293.10867,2015-01-01 00:48:54,bin2934,35, +CTSPillarNetworkA,2935,2935,2935,1978-01-14,293.19999999999817,293.20868,2015-01-01 00:48:55,bin2935,75, +CTSPillarNetworkA,2936,2936,2936,1978-01-15,293.2999999999982,293.3087,2015-01-01 00:48:56,bin2936,35, +CTSPillarNetworkA,2937,2937,2937,1978-01-16,293.3999999999982,293.4087,2015-01-01 00:48:57,bin2937,75, +CTSPillarNetworkA,2938,2938,2938,1978-01-17,293.49999999999824,293.5087,2015-01-01 00:48:58,bin2938,35, +CTSPillarNetworkA,2939,2939,2939,1978-01-18,293.59999999999826,293.6087,2015-01-01 00:48:59,bin2939,75, +CTSPillarNetworkA,2940,2940,2940,1978-01-19,293.6999999999983,293.7087,2015-01-01 00:49:00,bin2940,35, +CTSPillarNetworkA,2941,2941,2941,1978-01-20,293.7999999999983,293.80872,2015-01-01 00:49:01,bin2941,75, +CTSPillarNetworkA,2942,2942,2942,1978-01-21,293.89999999999833,293.90872,2015-01-01 00:49:02,bin2942,35, +CTSPillarNetworkA,2943,2943,2943,1978-01-22,293.99999999999835,294.00873,2015-01-01 00:49:03,bin2943,75, +CTSPillarNetworkA,2944,2944,2944,1978-01-23,294.0999999999984,294.10873,2015-01-01 00:49:04,bin2944,35, +CTSPillarNetworkA,2945,2945,2945,1978-01-24,294.1999999999984,294.20874,2015-01-01 00:49:05,bin2945,75, +CTSPillarNetworkA,2946,2946,2946,1978-01-25,294.2999999999984,294.30875,2015-01-01 00:49:06,bin2946,35, +CTSPillarNetworkA,2947,2947,2947,1978-01-26,294.39999999999844,294.40875,2015-01-01 00:49:07,bin2947,75, +CTSPillarNetworkA,2948,2948,2948,1978-01-27,294.49999999999847,294.50876,2015-01-01 00:49:08,bin2948,35, +CTSPillarNetworkA,2949,2949,2949,1978-01-28,294.5999999999985,294.60876,2015-01-01 00:49:09,bin2949,75, +CTSPillarNetworkA,2950,2950,2950,1978-01-29,294.6999999999985,294.70877,2015-01-01 00:49:10,bin2950,35, +CTSPillarNetworkA,2951,2951,2951,1978-01-30,294.79999999999853,294.80878,2015-01-01 00:49:11,bin2951,75, +CTSPillarNetworkA,2952,2952,2952,1978-01-31,294.89999999999856,294.90878,2015-01-01 00:49:12,bin2952,35, +CTSPillarNetworkA,2953,2953,2953,1978-02-01,294.9999999999986,295.0088,2015-01-01 00:49:13,bin2953,75, +CTSPillarNetworkA,2954,2954,2954,1978-02-02,295.0999999999986,295.1088,2015-01-01 00:49:14,bin2954,35, +CTSPillarNetworkA,2955,2955,2955,1978-02-03,295.1999999999986,295.2088,2015-01-01 00:49:15,bin2955,75, +CTSPillarNetworkA,2956,2956,2956,1978-02-04,295.29999999999865,295.3088,2015-01-01 00:49:16,bin2956,35, +CTSPillarNetworkA,2957,2957,2957,1978-02-05,295.39999999999867,295.4088,2015-01-01 00:49:17,bin2957,75, +CTSPillarNetworkA,2958,2958,2958,1978-02-06,295.4999999999987,295.50882,2015-01-01 00:49:18,bin2958,35, +CTSPillarNetworkA,2959,2959,2959,1978-02-07,295.5999999999987,295.60883,2015-01-01 00:49:19,bin2959,75, +CTSPillarNetworkA,2960,2960,2960,1978-02-08,295.69999999999874,295.70883,2015-01-01 00:49:20,bin2960,35, +CTSPillarNetworkA,2961,2961,2961,1978-02-09,295.79999999999876,295.80884,2015-01-01 00:49:21,bin2961,75, +CTSPillarNetworkA,2962,2962,2962,1978-02-10,295.8999999999988,295.90884,2015-01-01 00:49:22,bin2962,35, +CTSPillarNetworkA,2963,2963,2963,1978-02-11,295.9999999999988,296.00885,2015-01-01 00:49:23,bin2963,75, +CTSPillarNetworkA,2964,2964,2964,1978-02-12,296.09999999999883,296.10886,2015-01-01 00:49:24,bin2964,35, +CTSPillarNetworkA,2965,2965,2965,1978-02-13,296.19999999999885,296.20886,2015-01-01 00:49:25,bin2965,75, +CTSPillarNetworkA,2966,2966,2966,1978-02-14,296.2999999999989,296.30887,2015-01-01 00:49:26,bin2966,35, +CTSPillarNetworkA,2967,2967,2967,1978-02-15,296.3999999999989,296.40887,2015-01-01 00:49:27,bin2967,75, +CTSPillarNetworkA,2968,2968,2968,1978-02-16,296.4999999999989,296.50888,2015-01-01 00:49:28,bin2968,35, +CTSPillarNetworkA,2969,2969,2969,1978-02-17,296.59999999999894,296.6089,2015-01-01 00:49:29,bin2969,75, +CTSPillarNetworkA,2970,2970,2970,1978-02-18,296.69999999999897,296.7089,2015-01-01 00:49:30,bin2970,35, +CTSPillarNetworkA,2971,2971,2971,1978-02-19,296.799999999999,296.8089,2015-01-01 00:49:31,bin2971,75, +CTSPillarNetworkA,2972,2972,2972,1978-02-20,296.899999999999,296.9089,2015-01-01 00:49:32,bin2972,35, +CTSPillarNetworkA,2973,2973,2973,1978-02-21,296.99999999999903,297.0089,2015-01-01 00:49:33,bin2973,75, +CTSPillarNetworkA,2974,2974,2974,1978-02-22,297.09999999999906,297.10892,2015-01-01 00:49:34,bin2974,35, +CTSPillarNetworkA,2975,2975,2975,1978-02-23,297.1999999999991,297.20892,2015-01-01 00:49:35,bin2975,75, +CTSPillarNetworkA,2976,2976,2976,1978-02-24,297.2999999999991,297.30893,2015-01-01 00:49:36,bin2976,35, +CTSPillarNetworkA,2977,2977,2977,1978-02-25,297.3999999999991,297.40894,2015-01-01 00:49:37,bin2977,75, +CTSPillarNetworkA,2978,2978,2978,1978-02-26,297.49999999999915,297.50894,2015-01-01 00:49:38,bin2978,35, +CTSPillarNetworkA,2979,2979,2979,1978-02-27,297.59999999999917,297.60895,2015-01-01 00:49:39,bin2979,75, +CTSPillarNetworkA,2980,2980,2980,1978-02-28,297.6999999999992,297.70895,2015-01-01 00:49:40,bin2980,35, +CTSPillarNetworkA,2981,2981,2981,1978-03-01,297.7999999999992,297.80896,2015-01-01 00:49:41,bin2981,75, +CTSPillarNetworkA,2982,2982,2982,1978-03-02,297.89999999999924,297.90897,2015-01-01 00:49:42,bin2982,35, +CTSPillarNetworkA,2983,2983,2983,1978-03-03,297.99999999999926,298.00897,2015-01-01 00:49:43,bin2983,75, +CTSPillarNetworkA,2984,2984,2984,1978-03-04,298.0999999999993,298.10898,2015-01-01 00:49:44,bin2984,35, +CTSPillarNetworkA,2985,2985,2985,1978-03-05,298.1999999999993,298.20898,2015-01-01 00:49:45,bin2985,75, +CTSPillarNetworkA,2986,2986,2986,1978-03-06,298.29999999999933,298.309,2015-01-01 00:49:46,bin2986,35, +CTSPillarNetworkA,2987,2987,2987,1978-03-07,298.39999999999935,298.409,2015-01-01 00:49:47,bin2987,75, +CTSPillarNetworkA,2988,2988,2988,1978-03-08,298.4999999999994,298.509,2015-01-01 00:49:48,bin2988,35, +CTSPillarNetworkA,2989,2989,2989,1978-03-09,298.5999999999994,298.609,2015-01-01 00:49:49,bin2989,75, +CTSPillarNetworkA,2990,2990,2990,1978-03-10,298.6999999999994,298.709,2015-01-01 00:49:50,bin2990,35, +CTSPillarNetworkA,2991,2991,2991,1978-03-11,298.79999999999944,298.80902,2015-01-01 00:49:51,bin2991,75, +CTSPillarNetworkA,2992,2992,2992,1978-03-12,298.89999999999947,298.90903,2015-01-01 00:49:52,bin2992,35, +CTSPillarNetworkA,2993,2993,2993,1978-03-13,298.9999999999995,299.00903,2015-01-01 00:49:53,bin2993,75, +CTSPillarNetworkA,2994,2994,2994,1978-03-14,299.0999999999995,299.10904,2015-01-01 00:49:54,bin2994,35, +CTSPillarNetworkA,2995,2995,2995,1978-03-15,299.19999999999953,299.20905,2015-01-01 00:49:55,bin2995,75, +CTSPillarNetworkA,2996,2996,2996,1978-03-16,299.29999999999956,299.30905,2015-01-01 00:49:56,bin2996,35, +CTSPillarNetworkA,2997,2997,2997,1978-03-17,299.3999999999996,299.40906,2015-01-01 00:49:57,bin2997,75, +CTSPillarNetworkA,2998,2998,2998,1978-03-18,299.4999999999996,299.50906,2015-01-01 00:49:58,bin2998,35, +CTSPillarNetworkA,2999,2999,2999,1978-03-19,299.5999999999996,299.60907,2015-01-01 00:49:59,bin2999,75, +CTSPillarNetworkA,3000,3000,3000,1978-03-20,299.69999999999965,299.70908,2015-01-01 00:50:00,bin3000,35, +CTSPillarNetworkA,3001,3001,3001,1978-03-21,299.79999999999967,299.80908,2015-01-01 00:50:01,bin3001,75, +CTSPillarNetworkA,3002,3002,3002,1978-03-22,299.8999999999997,299.9091,2015-01-01 00:50:02,bin3002,35, +CTSPillarNetworkA,3003,3003,3003,1978-03-23,299.9999999999997,300.0091,2015-01-01 00:50:03,bin3003,75, +CTSPillarNetworkA,3004,3004,3004,1978-03-24,300.09999999999974,300.1091,2015-01-01 00:50:04,bin3004,35, +CTSPillarNetworkA,3005,3005,3005,1978-03-25,300.19999999999976,300.2091,2015-01-01 00:50:05,bin3005,75, +CTSPillarNetworkA,3006,3006,3006,1978-03-26,300.2999999999998,300.3091,2015-01-01 00:50:06,bin3006,35, +CTSPillarNetworkA,3007,3007,3007,1978-03-27,300.3999999999998,300.40912,2015-01-01 00:50:07,bin3007,75, +CTSPillarNetworkA,3008,3008,3008,1978-03-28,300.49999999999983,300.50912,2015-01-01 00:50:08,bin3008,35, +CTSPillarNetworkA,3009,3009,3009,1978-03-29,300.59999999999985,300.60913,2015-01-01 00:50:09,bin3009,75, +CTSPillarNetworkA,3010,3010,3010,1978-03-30,300.6999999999999,300.70914,2015-01-01 00:50:10,bin3010,35, +CTSPillarNetworkA,3011,3011,3011,1978-03-31,300.7999999999999,300.80914,2015-01-01 00:50:11,bin3011,75, +CTSPillarNetworkA,3012,3012,3012,1978-04-01,300.8999999999999,300.90915,2015-01-01 00:50:12,bin3012,35, +CTSPillarNetworkA,3013,3013,3013,1978-04-02,300.99999999999994,301.00916,2015-01-01 00:50:13,bin3013,75, +CTSPillarNetworkA,3014,3014,3014,1978-04-03,301.09999999999997,301.10916,2015-01-01 00:50:14,bin3014,35, +CTSPillarNetworkA,3015,3015,3015,1978-04-04,301.2,301.20917,2015-01-01 00:50:15,bin3015,75, +CTSPillarNetworkA,3016,3016,3016,1978-04-05,301.3,301.30917,2015-01-01 00:50:16,bin3016,35, +CTSPillarNetworkA,3017,3017,3017,1978-04-06,301.40000000000003,301.40918,2015-01-01 00:50:17,bin3017,75, +CTSPillarNetworkA,3018,3018,3018,1978-04-07,301.50000000000006,301.5092,2015-01-01 00:50:18,bin3018,35, +CTSPillarNetworkA,3019,3019,3019,1978-04-08,301.6000000000001,301.6092,2015-01-01 00:50:19,bin3019,75, +CTSPillarNetworkA,3020,3020,3020,1978-04-09,301.7000000000001,301.7092,2015-01-01 00:50:20,bin3020,35, +CTSPillarNetworkA,3021,3021,3021,1978-04-10,301.8000000000001,301.8092,2015-01-01 00:50:21,bin3021,75, +CTSPillarNetworkA,3022,3022,3022,1978-04-11,301.90000000000015,301.9092,2015-01-01 00:50:22,bin3022,35, +CTSPillarNetworkA,3023,3023,3023,1978-04-12,302.00000000000017,302.00922,2015-01-01 00:50:23,bin3023,75, +CTSPillarNetworkA,3024,3024,3024,1978-04-13,302.1000000000002,302.10922,2015-01-01 00:50:24,bin3024,35, +CTSPillarNetworkA,3025,3025,3025,1978-04-14,302.2000000000002,302.20923,2015-01-01 00:50:25,bin3025,75, +CTSPillarNetworkA,3026,3026,3026,1978-04-15,302.30000000000024,302.30923,2015-01-01 00:50:26,bin3026,35, +CTSPillarNetworkA,3027,3027,3027,1978-04-16,302.40000000000026,302.40924,2015-01-01 00:50:27,bin3027,75, +CTSPillarNetworkA,3028,3028,3028,1978-04-17,302.5000000000003,302.50925,2015-01-01 00:50:28,bin3028,35, +CTSPillarNetworkA,3029,3029,3029,1978-04-18,302.6000000000003,302.60925,2015-01-01 00:50:29,bin3029,75, +CTSPillarNetworkA,3030,3030,3030,1978-04-19,302.70000000000033,302.70926,2015-01-01 00:50:30,bin3030,35, +CTSPillarNetworkA,3031,3031,3031,1978-04-20,302.80000000000035,302.80927,2015-01-01 00:50:31,bin3031,75, +CTSPillarNetworkA,3032,3032,3032,1978-04-21,302.9000000000004,302.90927,2015-01-01 00:50:32,bin3032,35, +CTSPillarNetworkA,3033,3033,3033,1978-04-22,303.0000000000004,303.00928,2015-01-01 00:50:33,bin3033,75, +CTSPillarNetworkA,3034,3034,3034,1978-04-23,303.1000000000004,303.10928,2015-01-01 00:50:34,bin3034,35, +CTSPillarNetworkA,3035,3035,3035,1978-04-24,303.20000000000044,303.2093,2015-01-01 00:50:35,bin3035,75, +CTSPillarNetworkA,3036,3036,3036,1978-04-25,303.30000000000047,303.3093,2015-01-01 00:50:36,bin3036,35, +CTSPillarNetworkA,3037,3037,3037,1978-04-26,303.4000000000005,303.4093,2015-01-01 00:50:37,bin3037,75, +CTSPillarNetworkA,3038,3038,3038,1978-04-27,303.5000000000005,303.5093,2015-01-01 00:50:38,bin3038,35, +CTSPillarNetworkA,3039,3039,3039,1978-04-28,303.60000000000053,303.6093,2015-01-01 00:50:39,bin3039,75, +CTSPillarNetworkA,3040,3040,3040,1978-04-29,303.70000000000056,303.70932,2015-01-01 00:50:40,bin3040,35, +CTSPillarNetworkA,3041,3041,3041,1978-04-30,303.8000000000006,303.80933,2015-01-01 00:50:41,bin3041,75, +CTSPillarNetworkA,3042,3042,3042,1978-05-01,303.9000000000006,303.90933,2015-01-01 00:50:42,bin3042,35, +CTSPillarNetworkA,3043,3043,3043,1978-05-02,304.0000000000006,304.00934,2015-01-01 00:50:43,bin3043,75, +CTSPillarNetworkA,3044,3044,3044,1978-05-03,304.10000000000065,304.10934,2015-01-01 00:50:44,bin3044,35, +CTSPillarNetworkA,3045,3045,3045,1978-05-04,304.20000000000067,304.20935,2015-01-01 00:50:45,bin3045,75, +CTSPillarNetworkA,3046,3046,3046,1978-05-05,304.3000000000007,304.30936,2015-01-01 00:50:46,bin3046,35, +CTSPillarNetworkA,3047,3047,3047,1978-05-06,304.4000000000007,304.40936,2015-01-01 00:50:47,bin3047,75, +CTSPillarNetworkA,3048,3048,3048,1978-05-07,304.50000000000074,304.50937,2015-01-01 00:50:48,bin3048,35, +CTSPillarNetworkA,3049,3049,3049,1978-05-08,304.60000000000076,304.60938,2015-01-01 00:50:49,bin3049,75, +CTSPillarNetworkA,3050,3050,3050,1978-05-09,304.7000000000008,304.70938,2015-01-01 00:50:50,bin3050,35, +CTSPillarNetworkA,3051,3051,3051,1978-05-10,304.8000000000008,304.8094,2015-01-01 00:50:51,bin3051,75, +CTSPillarNetworkA,3052,3052,3052,1978-05-11,304.90000000000083,304.9094,2015-01-01 00:50:52,bin3052,35, +CTSPillarNetworkA,3053,3053,3053,1978-05-12,305.00000000000085,305.0094,2015-01-01 00:50:53,bin3053,75, +CTSPillarNetworkA,3054,3054,3054,1978-05-13,305.1000000000009,305.1094,2015-01-01 00:50:54,bin3054,35, +CTSPillarNetworkA,3055,3055,3055,1978-05-14,305.2000000000009,305.2094,2015-01-01 00:50:55,bin3055,75, +CTSPillarNetworkA,3056,3056,3056,1978-05-15,305.3000000000009,305.30942,2015-01-01 00:50:56,bin3056,35, +CTSPillarNetworkA,3057,3057,3057,1978-05-16,305.40000000000094,305.40942,2015-01-01 00:50:57,bin3057,75, +CTSPillarNetworkA,3058,3058,3058,1978-05-17,305.50000000000097,305.50943,2015-01-01 00:50:58,bin3058,35, +CTSPillarNetworkA,3059,3059,3059,1978-05-18,305.600000000001,305.60944,2015-01-01 00:50:59,bin3059,75, +CTSPillarNetworkA,3060,3060,3060,1978-05-19,305.700000000001,305.70944,2015-01-01 00:51:00,bin3060,35, +CTSPillarNetworkA,3061,3061,3061,1978-05-20,305.80000000000103,305.80945,2015-01-01 00:51:01,bin3061,75, +CTSPillarNetworkA,3062,3062,3062,1978-05-21,305.90000000000106,305.90945,2015-01-01 00:51:02,bin3062,35, +CTSPillarNetworkA,3063,3063,3063,1978-05-22,306.0000000000011,306.00946,2015-01-01 00:51:03,bin3063,75, +CTSPillarNetworkA,3064,3064,3064,1978-05-23,306.1000000000011,306.10947,2015-01-01 00:51:04,bin3064,35, +CTSPillarNetworkA,3065,3065,3065,1978-05-24,306.2000000000011,306.20947,2015-01-01 00:51:05,bin3065,75, +CTSPillarNetworkA,3066,3066,3066,1978-05-25,306.30000000000115,306.30948,2015-01-01 00:51:06,bin3066,35, +CTSPillarNetworkA,3067,3067,3067,1978-05-26,306.40000000000117,306.4095,2015-01-01 00:51:07,bin3067,75, +CTSPillarNetworkA,3068,3068,3068,1978-05-27,306.5000000000012,306.5095,2015-01-01 00:51:08,bin3068,35, +CTSPillarNetworkA,3069,3069,3069,1978-05-28,306.6000000000012,306.6095,2015-01-01 00:51:09,bin3069,75, +CTSPillarNetworkA,3070,3070,3070,1978-05-29,306.70000000000124,306.7095,2015-01-01 00:51:10,bin3070,35, +CTSPillarNetworkA,3071,3071,3071,1978-05-30,306.80000000000126,306.8095,2015-01-01 00:51:11,bin3071,75, +CTSPillarNetworkA,3072,3072,3072,1978-05-31,306.9000000000013,306.90952,2015-01-01 00:51:12,bin3072,35, +CTSPillarNetworkA,3073,3073,3073,1978-06-01,307.0000000000013,307.00952,2015-01-01 00:51:13,bin3073,75, +CTSPillarNetworkA,3074,3074,3074,1978-06-02,307.10000000000133,307.10953,2015-01-01 00:51:14,bin3074,35, +CTSPillarNetworkA,3075,3075,3075,1978-06-03,307.20000000000135,307.20953,2015-01-01 00:51:15,bin3075,75, +CTSPillarNetworkA,3076,3076,3076,1978-06-04,307.3000000000014,307.30954,2015-01-01 00:51:16,bin3076,35, +CTSPillarNetworkA,3077,3077,3077,1978-06-05,307.4000000000014,307.40955,2015-01-01 00:51:17,bin3077,75, +CTSPillarNetworkA,3078,3078,3078,1978-06-06,307.5000000000014,307.50955,2015-01-01 00:51:18,bin3078,35, +CTSPillarNetworkA,3079,3079,3079,1978-06-07,307.60000000000144,307.60956,2015-01-01 00:51:19,bin3079,75, +CTSPillarNetworkA,3080,3080,3080,1978-06-08,307.70000000000147,307.70956,2015-01-01 00:51:20,bin3080,35, +CTSPillarNetworkA,3081,3081,3081,1978-06-09,307.8000000000015,307.80957,2015-01-01 00:51:21,bin3081,75, +CTSPillarNetworkA,3082,3082,3082,1978-06-10,307.9000000000015,307.90958,2015-01-01 00:51:22,bin3082,35, +CTSPillarNetworkA,3083,3083,3083,1978-06-11,308.00000000000153,308.00958,2015-01-01 00:51:23,bin3083,75, +CTSPillarNetworkA,3084,3084,3084,1978-06-12,308.10000000000156,308.1096,2015-01-01 00:51:24,bin3084,35, +CTSPillarNetworkA,3085,3085,3085,1978-06-13,308.2000000000016,308.2096,2015-01-01 00:51:25,bin3085,75, +CTSPillarNetworkA,3086,3086,3086,1978-06-14,308.3000000000016,308.3096,2015-01-01 00:51:26,bin3086,35, +CTSPillarNetworkA,3087,3087,3087,1978-06-15,308.4000000000016,308.4096,2015-01-01 00:51:27,bin3087,75, +CTSPillarNetworkA,3088,3088,3088,1978-06-16,308.50000000000165,308.5096,2015-01-01 00:51:28,bin3088,35, +CTSPillarNetworkA,3089,3089,3089,1978-06-17,308.60000000000167,308.60962,2015-01-01 00:51:29,bin3089,75, +CTSPillarNetworkA,3090,3090,3090,1978-06-18,308.7000000000017,308.70963,2015-01-01 00:51:30,bin3090,35, +CTSPillarNetworkA,3091,3091,3091,1978-06-19,308.8000000000017,308.80963,2015-01-01 00:51:31,bin3091,75, +CTSPillarNetworkA,3092,3092,3092,1978-06-20,308.90000000000174,308.90964,2015-01-01 00:51:32,bin3092,35, +CTSPillarNetworkA,3093,3093,3093,1978-06-21,309.00000000000176,309.00964,2015-01-01 00:51:33,bin3093,75, +CTSPillarNetworkA,3094,3094,3094,1978-06-22,309.1000000000018,309.10965,2015-01-01 00:51:34,bin3094,35, +CTSPillarNetworkA,3095,3095,3095,1978-06-23,309.2000000000018,309.20966,2015-01-01 00:51:35,bin3095,75, +CTSPillarNetworkA,3096,3096,3096,1978-06-24,309.30000000000183,309.30966,2015-01-01 00:51:36,bin3096,35, +CTSPillarNetworkA,3097,3097,3097,1978-06-25,309.40000000000185,309.40967,2015-01-01 00:51:37,bin3097,75, +CTSPillarNetworkA,3098,3098,3098,1978-06-26,309.5000000000019,309.50967,2015-01-01 00:51:38,bin3098,35, +CTSPillarNetworkA,3099,3099,3099,1978-06-27,309.6000000000019,309.60968,2015-01-01 00:51:39,bin3099,75, +CTSPillarNetworkA,3100,3100,3100,1978-06-28,309.7000000000019,309.7097,2015-01-01 00:51:40,bin3100,35, +CTSPillarNetworkA,3101,3101,3101,1978-06-29,309.80000000000194,309.8097,2015-01-01 00:51:41,bin3101,75, +CTSPillarNetworkA,3102,3102,3102,1978-06-30,309.90000000000197,309.9097,2015-01-01 00:51:42,bin3102,35, +CTSPillarNetworkA,3103,3103,3103,1978-07-01,310.000000000002,310.0097,2015-01-01 00:51:43,bin3103,75, +CTSPillarNetworkA,3104,3104,3104,1978-07-02,310.100000000002,310.1097,2015-01-01 00:51:44,bin3104,35, +CTSPillarNetworkA,3105,3105,3105,1978-07-03,310.20000000000203,310.20972,2015-01-01 00:51:45,bin3105,75, +CTSPillarNetworkA,3106,3106,3106,1978-07-04,310.30000000000206,310.30972,2015-01-01 00:51:46,bin3106,35, +CTSPillarNetworkA,3107,3107,3107,1978-07-05,310.4000000000021,310.40973,2015-01-01 00:51:47,bin3107,75, +CTSPillarNetworkA,3108,3108,3108,1978-07-06,310.5000000000021,310.50974,2015-01-01 00:51:48,bin3108,35, +CTSPillarNetworkA,3109,3109,3109,1978-07-07,310.6000000000021,310.60974,2015-01-01 00:51:49,bin3109,75, +CTSPillarNetworkA,3110,3110,3110,1978-07-08,310.70000000000215,310.70975,2015-01-01 00:51:50,bin3110,35, +CTSPillarNetworkA,3111,3111,3111,1978-07-09,310.80000000000217,310.80975,2015-01-01 00:51:51,bin3111,75, +CTSPillarNetworkA,3112,3112,3112,1978-07-10,310.9000000000022,310.90976,2015-01-01 00:51:52,bin3112,35, +CTSPillarNetworkA,3113,3113,3113,1978-07-11,311.0000000000022,311.00977,2015-01-01 00:51:53,bin3113,75, +CTSPillarNetworkA,3114,3114,3114,1978-07-12,311.10000000000224,311.10977,2015-01-01 00:51:54,bin3114,35, +CTSPillarNetworkA,3115,3115,3115,1978-07-13,311.20000000000226,311.20978,2015-01-01 00:51:55,bin3115,75, +CTSPillarNetworkA,3116,3116,3116,1978-07-14,311.3000000000023,311.30978,2015-01-01 00:51:56,bin3116,35, +CTSPillarNetworkA,3117,3117,3117,1978-07-15,311.4000000000023,311.4098,2015-01-01 00:51:57,bin3117,75, +CTSPillarNetworkA,3118,3118,3118,1978-07-16,311.50000000000233,311.5098,2015-01-01 00:51:58,bin3118,35, +CTSPillarNetworkA,3119,3119,3119,1978-07-17,311.60000000000235,311.6098,2015-01-01 00:51:59,bin3119,75, +CTSPillarNetworkA,3120,3120,3120,1978-07-18,311.7000000000024,311.7098,2015-01-01 00:52:00,bin3120,35, +CTSPillarNetworkA,3121,3121,3121,1978-07-19,311.8000000000024,311.8098,2015-01-01 00:52:01,bin3121,75, +CTSPillarNetworkA,3122,3122,3122,1978-07-20,311.9000000000024,311.90982,2015-01-01 00:52:02,bin3122,35, +CTSPillarNetworkA,3123,3123,3123,1978-07-21,312.00000000000244,312.00983,2015-01-01 00:52:03,bin3123,75, +CTSPillarNetworkA,3124,3124,3124,1978-07-22,312.10000000000247,312.10983,2015-01-01 00:52:04,bin3124,35, +CTSPillarNetworkA,3125,3125,3125,1978-07-23,312.2000000000025,312.20984,2015-01-01 00:52:05,bin3125,75, +CTSPillarNetworkA,3126,3126,3126,1978-07-24,312.3000000000025,312.30984,2015-01-01 00:52:06,bin3126,35, +CTSPillarNetworkA,3127,3127,3127,1978-07-25,312.40000000000254,312.40985,2015-01-01 00:52:07,bin3127,75, +CTSPillarNetworkA,3128,3128,3128,1978-07-26,312.50000000000256,312.50986,2015-01-01 00:52:08,bin3128,35, +CTSPillarNetworkA,3129,3129,3129,1978-07-27,312.6000000000026,312.60986,2015-01-01 00:52:09,bin3129,75, +CTSPillarNetworkA,3130,3130,3130,1978-07-28,312.7000000000026,312.70987,2015-01-01 00:52:10,bin3130,35, +CTSPillarNetworkA,3131,3131,3131,1978-07-29,312.8000000000026,312.80988,2015-01-01 00:52:11,bin3131,75, +CTSPillarNetworkA,3132,3132,3132,1978-07-30,312.90000000000265,312.90988,2015-01-01 00:52:12,bin3132,35, +CTSPillarNetworkA,3133,3133,3133,1978-07-31,313.0000000000027,313.0099,2015-01-01 00:52:13,bin3133,75, +CTSPillarNetworkA,3134,3134,3134,1978-08-01,313.1000000000027,313.1099,2015-01-01 00:52:14,bin3134,35, +CTSPillarNetworkA,3135,3135,3135,1978-08-02,313.2000000000027,313.2099,2015-01-01 00:52:15,bin3135,75, +CTSPillarNetworkA,3136,3136,3136,1978-08-03,313.30000000000274,313.3099,2015-01-01 00:52:16,bin3136,35, +CTSPillarNetworkA,3137,3137,3137,1978-08-04,313.40000000000276,313.4099,2015-01-01 00:52:17,bin3137,75, +CTSPillarNetworkA,3138,3138,3138,1978-08-05,313.5000000000028,313.50992,2015-01-01 00:52:18,bin3138,35, +CTSPillarNetworkA,3139,3139,3139,1978-08-06,313.6000000000028,313.60992,2015-01-01 00:52:19,bin3139,75, +CTSPillarNetworkA,3140,3140,3140,1978-08-07,313.70000000000283,313.70993,2015-01-01 00:52:20,bin3140,35, +CTSPillarNetworkA,3141,3141,3141,1978-08-08,313.80000000000285,313.80994,2015-01-01 00:52:21,bin3141,75, +CTSPillarNetworkA,3142,3142,3142,1978-08-09,313.9000000000029,313.90994,2015-01-01 00:52:22,bin3142,35, +CTSPillarNetworkA,3143,3143,3143,1978-08-10,314.0000000000029,314.00995,2015-01-01 00:52:23,bin3143,75, +CTSPillarNetworkA,3144,3144,3144,1978-08-11,314.1000000000029,314.10995,2015-01-01 00:52:24,bin3144,35, +CTSPillarNetworkA,3145,3145,3145,1978-08-12,314.20000000000294,314.20996,2015-01-01 00:52:25,bin3145,75, +CTSPillarNetworkA,3146,3146,3146,1978-08-13,314.30000000000297,314.30997,2015-01-01 00:52:26,bin3146,35, +CTSPillarNetworkA,3147,3147,3147,1978-08-14,314.400000000003,314.40997,2015-01-01 00:52:27,bin3147,75, +CTSPillarNetworkA,3148,3148,3148,1978-08-15,314.500000000003,314.50998,2015-01-01 00:52:28,bin3148,35, +CTSPillarNetworkA,3149,3149,3149,1978-08-16,314.60000000000304,314.61,2015-01-01 00:52:29,bin3149,75, +CTSPillarNetworkA,3150,3150,3150,1978-08-17,314.70000000000306,314.71,2015-01-01 00:52:30,bin3150,35, +CTSPillarNetworkA,3151,3151,3151,1978-08-18,314.8000000000031,314.81,2015-01-01 00:52:31,bin3151,75, +CTSPillarNetworkA,3152,3152,3152,1978-08-19,314.9000000000031,314.91,2015-01-01 00:52:32,bin3152,35, +CTSPillarNetworkA,3153,3153,3153,1978-08-20,315.0000000000031,315.01,2015-01-01 00:52:33,bin3153,75, +CTSPillarNetworkA,3154,3154,3154,1978-08-21,315.10000000000315,315.11002,2015-01-01 00:52:34,bin3154,35, +CTSPillarNetworkA,3155,3155,3155,1978-08-22,315.2000000000032,315.21002,2015-01-01 00:52:35,bin3155,75, +CTSPillarNetworkA,3156,3156,3156,1978-08-23,315.3000000000032,315.31003,2015-01-01 00:52:36,bin3156,35, +CTSPillarNetworkA,3157,3157,3157,1978-08-24,315.4000000000032,315.41003,2015-01-01 00:52:37,bin3157,75, +CTSPillarNetworkA,3158,3158,3158,1978-08-25,315.50000000000324,315.51004,2015-01-01 00:52:38,bin3158,35, +CTSPillarNetworkA,3159,3159,3159,1978-08-26,315.60000000000326,315.61005,2015-01-01 00:52:39,bin3159,75, +CTSPillarNetworkA,3160,3160,3160,1978-08-27,315.7000000000033,315.71005,2015-01-01 00:52:40,bin3160,35, +CTSPillarNetworkA,3161,3161,3161,1978-08-28,315.8000000000033,315.81006,2015-01-01 00:52:41,bin3161,75, +CTSPillarNetworkA,3162,3162,3162,1978-08-29,315.90000000000333,315.91006,2015-01-01 00:52:42,bin3162,35, +CTSPillarNetworkA,3163,3163,3163,1978-08-30,316.00000000000335,316.01007,2015-01-01 00:52:43,bin3163,75, +CTSPillarNetworkA,3164,3164,3164,1978-08-31,316.1000000000034,316.11008,2015-01-01 00:52:44,bin3164,35, +CTSPillarNetworkA,3165,3165,3165,1978-09-01,316.2000000000034,316.21008,2015-01-01 00:52:45,bin3165,75, +CTSPillarNetworkA,3166,3166,3166,1978-09-02,316.3000000000034,316.3101,2015-01-01 00:52:46,bin3166,35, +CTSPillarNetworkA,3167,3167,3167,1978-09-03,316.40000000000344,316.4101,2015-01-01 00:52:47,bin3167,75, +CTSPillarNetworkA,3168,3168,3168,1978-09-04,316.50000000000347,316.5101,2015-01-01 00:52:48,bin3168,35, +CTSPillarNetworkA,3169,3169,3169,1978-09-05,316.6000000000035,316.6101,2015-01-01 00:52:49,bin3169,75, +CTSPillarNetworkA,3170,3170,3170,1978-09-06,316.7000000000035,316.7101,2015-01-01 00:52:50,bin3170,35, +CTSPillarNetworkA,3171,3171,3171,1978-09-07,316.80000000000354,316.81012,2015-01-01 00:52:51,bin3171,75, +CTSPillarNetworkA,3172,3172,3172,1978-09-08,316.90000000000356,316.91013,2015-01-01 00:52:52,bin3172,35, +CTSPillarNetworkA,3173,3173,3173,1978-09-09,317.0000000000036,317.01013,2015-01-01 00:52:53,bin3173,75, +CTSPillarNetworkA,3174,3174,3174,1978-09-10,317.1000000000036,317.11014,2015-01-01 00:52:54,bin3174,35, +CTSPillarNetworkA,3175,3175,3175,1978-09-11,317.2000000000036,317.21014,2015-01-01 00:52:55,bin3175,75, +CTSPillarNetworkA,3176,3176,3176,1978-09-12,317.30000000000365,317.31015,2015-01-01 00:52:56,bin3176,35, +CTSPillarNetworkA,3177,3177,3177,1978-09-13,317.4000000000037,317.41016,2015-01-01 00:52:57,bin3177,75, +CTSPillarNetworkA,3178,3178,3178,1978-09-14,317.5000000000037,317.51016,2015-01-01 00:52:58,bin3178,35, +CTSPillarNetworkA,3179,3179,3179,1978-09-15,317.6000000000037,317.61017,2015-01-01 00:52:59,bin3179,75, +CTSPillarNetworkA,3180,3180,3180,1978-09-16,317.70000000000374,317.71017,2015-01-01 00:53:00,bin3180,35, +CTSPillarNetworkA,3181,3181,3181,1978-09-17,317.80000000000376,317.81018,2015-01-01 00:53:01,bin3181,75, +CTSPillarNetworkA,3182,3182,3182,1978-09-18,317.9000000000038,317.9102,2015-01-01 00:53:02,bin3182,35, +CTSPillarNetworkA,3183,3183,3183,1978-09-19,318.0000000000038,318.0102,2015-01-01 00:53:03,bin3183,75, +CTSPillarNetworkA,3184,3184,3184,1978-09-20,318.10000000000383,318.1102,2015-01-01 00:53:04,bin3184,35, +CTSPillarNetworkA,3185,3185,3185,1978-09-21,318.20000000000385,318.2102,2015-01-01 00:53:05,bin3185,75, +CTSPillarNetworkA,3186,3186,3186,1978-09-22,318.3000000000039,318.3102,2015-01-01 00:53:06,bin3186,35, +CTSPillarNetworkA,3187,3187,3187,1978-09-23,318.4000000000039,318.41022,2015-01-01 00:53:07,bin3187,75, +CTSPillarNetworkA,3188,3188,3188,1978-09-24,318.5000000000039,318.51022,2015-01-01 00:53:08,bin3188,35, +CTSPillarNetworkA,3189,3189,3189,1978-09-25,318.60000000000394,318.61023,2015-01-01 00:53:09,bin3189,75, +CTSPillarNetworkA,3190,3190,3190,1978-09-26,318.70000000000397,318.71024,2015-01-01 00:53:10,bin3190,35, +CTSPillarNetworkA,3191,3191,3191,1978-09-27,318.800000000004,318.81024,2015-01-01 00:53:11,bin3191,75, +CTSPillarNetworkA,3192,3192,3192,1978-09-28,318.900000000004,318.91025,2015-01-01 00:53:12,bin3192,35, +CTSPillarNetworkA,3193,3193,3193,1978-09-29,319.00000000000404,319.01025,2015-01-01 00:53:13,bin3193,75, +CTSPillarNetworkA,3194,3194,3194,1978-09-30,319.10000000000406,319.11026,2015-01-01 00:53:14,bin3194,35, +CTSPillarNetworkA,3195,3195,3195,1978-10-01,319.2000000000041,319.21027,2015-01-01 00:53:15,bin3195,75, +CTSPillarNetworkA,3196,3196,3196,1978-10-02,319.3000000000041,319.31027,2015-01-01 00:53:16,bin3196,35, +CTSPillarNetworkA,3197,3197,3197,1978-10-03,319.4000000000041,319.41028,2015-01-01 00:53:17,bin3197,75, +CTSPillarNetworkA,3198,3198,3198,1978-10-04,319.50000000000415,319.51028,2015-01-01 00:53:18,bin3198,35, +CTSPillarNetworkA,3199,3199,3199,1978-10-05,319.6000000000042,319.6103,2015-01-01 00:53:19,bin3199,75, +CTSPillarNetworkA,3200,3200,3200,1978-10-06,319.7000000000042,319.7103,2015-01-01 00:53:20,bin3200,35, +CTSPillarNetworkA,3201,3201,3201,1978-10-07,319.8000000000042,319.8103,2015-01-01 00:53:21,bin3201,75, +CTSPillarNetworkA,3202,3202,3202,1978-10-08,319.90000000000424,319.9103,2015-01-01 00:53:22,bin3202,35, +CTSPillarNetworkA,3203,3203,3203,1978-10-09,320.00000000000426,320.0103,2015-01-01 00:53:23,bin3203,75, +CTSPillarNetworkA,3204,3204,3204,1978-10-10,320.1000000000043,320.11032,2015-01-01 00:53:24,bin3204,35, +CTSPillarNetworkA,3205,3205,3205,1978-10-11,320.2000000000043,320.21033,2015-01-01 00:53:25,bin3205,75, +CTSPillarNetworkA,3206,3206,3206,1978-10-12,320.30000000000433,320.31033,2015-01-01 00:53:26,bin3206,35, +CTSPillarNetworkA,3207,3207,3207,1978-10-13,320.40000000000435,320.41034,2015-01-01 00:53:27,bin3207,75, +CTSPillarNetworkA,3208,3208,3208,1978-10-14,320.5000000000044,320.51035,2015-01-01 00:53:28,bin3208,35, +CTSPillarNetworkA,3209,3209,3209,1978-10-15,320.6000000000044,320.61035,2015-01-01 00:53:29,bin3209,75, +CTSPillarNetworkA,3210,3210,3210,1978-10-16,320.7000000000044,320.71036,2015-01-01 00:53:30,bin3210,35, +CTSPillarNetworkA,3211,3211,3211,1978-10-17,320.80000000000445,320.81036,2015-01-01 00:53:31,bin3211,75, +CTSPillarNetworkA,3212,3212,3212,1978-10-18,320.90000000000447,320.91037,2015-01-01 00:53:32,bin3212,35, +CTSPillarNetworkA,3213,3213,3213,1978-10-19,321.0000000000045,321.01038,2015-01-01 00:53:33,bin3213,75, +CTSPillarNetworkA,3214,3214,3214,1978-10-20,321.1000000000045,321.11038,2015-01-01 00:53:34,bin3214,35, +CTSPillarNetworkA,3215,3215,3215,1978-10-21,321.20000000000454,321.2104,2015-01-01 00:53:35,bin3215,75, +CTSPillarNetworkA,3216,3216,3216,1978-10-22,321.30000000000456,321.3104,2015-01-01 00:53:36,bin3216,35, +CTSPillarNetworkA,3217,3217,3217,1978-10-23,321.4000000000046,321.4104,2015-01-01 00:53:37,bin3217,75, +CTSPillarNetworkA,3218,3218,3218,1978-10-24,321.5000000000046,321.5104,2015-01-01 00:53:38,bin3218,35, +CTSPillarNetworkA,3219,3219,3219,1978-10-25,321.6000000000046,321.6104,2015-01-01 00:53:39,bin3219,75, +CTSPillarNetworkA,3220,3220,3220,1978-10-26,321.70000000000465,321.71042,2015-01-01 00:53:40,bin3220,35, +CTSPillarNetworkA,3221,3221,3221,1978-10-27,321.8000000000047,321.81042,2015-01-01 00:53:41,bin3221,75, +CTSPillarNetworkA,3222,3222,3222,1978-10-28,321.9000000000047,321.91043,2015-01-01 00:53:42,bin3222,35, +CTSPillarNetworkA,3223,3223,3223,1978-10-29,322.0000000000047,322.01044,2015-01-01 00:53:43,bin3223,75, +CTSPillarNetworkA,3224,3224,3224,1978-10-30,322.10000000000474,322.11044,2015-01-01 00:53:44,bin3224,35, +CTSPillarNetworkA,3225,3225,3225,1978-10-31,322.20000000000476,322.21045,2015-01-01 00:53:45,bin3225,75, +CTSPillarNetworkA,3226,3226,3226,1978-11-01,322.3000000000048,322.31046,2015-01-01 00:53:46,bin3226,35, +CTSPillarNetworkA,3227,3227,3227,1978-11-02,322.4000000000048,322.41046,2015-01-01 00:53:47,bin3227,75, +CTSPillarNetworkA,3228,3228,3228,1978-11-03,322.50000000000483,322.51047,2015-01-01 00:53:48,bin3228,35, +CTSPillarNetworkA,3229,3229,3229,1978-11-04,322.60000000000485,322.61047,2015-01-01 00:53:49,bin3229,75, +CTSPillarNetworkA,3230,3230,3230,1978-11-05,322.7000000000049,322.71048,2015-01-01 00:53:50,bin3230,35, +CTSPillarNetworkA,3231,3231,3231,1978-11-06,322.8000000000049,322.8105,2015-01-01 00:53:51,bin3231,75, +CTSPillarNetworkA,3232,3232,3232,1978-11-07,322.9000000000049,322.9105,2015-01-01 00:53:52,bin3232,35, +CTSPillarNetworkA,3233,3233,3233,1978-11-08,323.00000000000495,323.0105,2015-01-01 00:53:53,bin3233,75, +CTSPillarNetworkA,3234,3234,3234,1978-11-09,323.10000000000497,323.1105,2015-01-01 00:53:54,bin3234,35, +CTSPillarNetworkA,3235,3235,3235,1978-11-10,323.200000000005,323.2105,2015-01-01 00:53:55,bin3235,75, +CTSPillarNetworkA,3236,3236,3236,1978-11-11,323.300000000005,323.31052,2015-01-01 00:53:56,bin3236,35, +CTSPillarNetworkA,3237,3237,3237,1978-11-12,323.40000000000504,323.41052,2015-01-01 00:53:57,bin3237,75, +CTSPillarNetworkA,3238,3238,3238,1978-11-13,323.50000000000506,323.51053,2015-01-01 00:53:58,bin3238,35, +CTSPillarNetworkA,3239,3239,3239,1978-11-14,323.6000000000051,323.61053,2015-01-01 00:53:59,bin3239,75, +CTSPillarNetworkA,3240,3240,3240,1978-11-15,323.7000000000051,323.71054,2015-01-01 00:54:00,bin3240,35, +CTSPillarNetworkA,3241,3241,3241,1978-11-16,323.8000000000051,323.81055,2015-01-01 00:54:01,bin3241,75, +CTSPillarNetworkA,3242,3242,3242,1978-11-17,323.90000000000515,323.91055,2015-01-01 00:54:02,bin3242,35, +CTSPillarNetworkA,3243,3243,3243,1978-11-18,324.0000000000052,324.01056,2015-01-01 00:54:03,bin3243,75, +CTSPillarNetworkA,3244,3244,3244,1978-11-19,324.1000000000052,324.11057,2015-01-01 00:54:04,bin3244,35, +CTSPillarNetworkA,3245,3245,3245,1978-11-20,324.2000000000052,324.21057,2015-01-01 00:54:05,bin3245,75, +CTSPillarNetworkA,3246,3246,3246,1978-11-21,324.30000000000524,324.31058,2015-01-01 00:54:06,bin3246,35, +CTSPillarNetworkA,3247,3247,3247,1978-11-22,324.40000000000526,324.41058,2015-01-01 00:54:07,bin3247,75, +CTSPillarNetworkA,3248,3248,3248,1978-11-23,324.5000000000053,324.5106,2015-01-01 00:54:08,bin3248,35, +CTSPillarNetworkA,3249,3249,3249,1978-11-24,324.6000000000053,324.6106,2015-01-01 00:54:09,bin3249,75, +CTSPillarNetworkA,3250,3250,3250,1978-11-25,324.70000000000533,324.7106,2015-01-01 00:54:10,bin3250,35, +CTSPillarNetworkA,3251,3251,3251,1978-11-26,324.80000000000535,324.8106,2015-01-01 00:54:11,bin3251,75, +CTSPillarNetworkA,3252,3252,3252,1978-11-27,324.9000000000054,324.9106,2015-01-01 00:54:12,bin3252,35, +CTSPillarNetworkA,3253,3253,3253,1978-11-28,325.0000000000054,325.01062,2015-01-01 00:54:13,bin3253,75, +CTSPillarNetworkA,3254,3254,3254,1978-11-29,325.1000000000054,325.11063,2015-01-01 00:54:14,bin3254,35, +CTSPillarNetworkA,3255,3255,3255,1978-11-30,325.20000000000545,325.21063,2015-01-01 00:54:15,bin3255,75, +CTSPillarNetworkA,3256,3256,3256,1978-12-01,325.30000000000547,325.31064,2015-01-01 00:54:16,bin3256,35, +CTSPillarNetworkA,3257,3257,3257,1978-12-02,325.4000000000055,325.41064,2015-01-01 00:54:17,bin3257,75, +CTSPillarNetworkA,3258,3258,3258,1978-12-03,325.5000000000055,325.51065,2015-01-01 00:54:18,bin3258,35, +CTSPillarNetworkA,3259,3259,3259,1978-12-04,325.60000000000554,325.61066,2015-01-01 00:54:19,bin3259,75, +CTSPillarNetworkA,3260,3260,3260,1978-12-05,325.70000000000556,325.71066,2015-01-01 00:54:20,bin3260,35, +CTSPillarNetworkA,3261,3261,3261,1978-12-06,325.8000000000056,325.81067,2015-01-01 00:54:21,bin3261,75, +CTSPillarNetworkA,3262,3262,3262,1978-12-07,325.9000000000056,325.91068,2015-01-01 00:54:22,bin3262,35, +CTSPillarNetworkA,3263,3263,3263,1978-12-08,326.0000000000056,326.01068,2015-01-01 00:54:23,bin3263,75, +CTSPillarNetworkA,3264,3264,3264,1978-12-09,326.10000000000565,326.1107,2015-01-01 00:54:24,bin3264,35, +CTSPillarNetworkA,3265,3265,3265,1978-12-10,326.2000000000057,326.2107,2015-01-01 00:54:25,bin3265,75, +CTSPillarNetworkA,3266,3266,3266,1978-12-11,326.3000000000057,326.3107,2015-01-01 00:54:26,bin3266,35, +CTSPillarNetworkA,3267,3267,3267,1978-12-12,326.4000000000057,326.4107,2015-01-01 00:54:27,bin3267,75, +CTSPillarNetworkA,3268,3268,3268,1978-12-13,326.50000000000574,326.5107,2015-01-01 00:54:28,bin3268,35, +CTSPillarNetworkA,3269,3269,3269,1978-12-14,326.60000000000576,326.61072,2015-01-01 00:54:29,bin3269,75, +CTSPillarNetworkA,3270,3270,3270,1978-12-15,326.7000000000058,326.71072,2015-01-01 00:54:30,bin3270,35, +CTSPillarNetworkA,3271,3271,3271,1978-12-16,326.8000000000058,326.81073,2015-01-01 00:54:31,bin3271,75, +CTSPillarNetworkA,3272,3272,3272,1978-12-17,326.90000000000583,326.91074,2015-01-01 00:54:32,bin3272,35, +CTSPillarNetworkA,3273,3273,3273,1978-12-18,327.00000000000585,327.01074,2015-01-01 00:54:33,bin3273,75, +CTSPillarNetworkA,3274,3274,3274,1978-12-19,327.1000000000059,327.11075,2015-01-01 00:54:34,bin3274,35, +CTSPillarNetworkA,3275,3275,3275,1978-12-20,327.2000000000059,327.21075,2015-01-01 00:54:35,bin3275,75, +CTSPillarNetworkA,3276,3276,3276,1978-12-21,327.3000000000059,327.31076,2015-01-01 00:54:36,bin3276,35, +CTSPillarNetworkA,3277,3277,3277,1978-12-22,327.40000000000595,327.41077,2015-01-01 00:54:37,bin3277,75, +CTSPillarNetworkA,3278,3278,3278,1978-12-23,327.50000000000597,327.51077,2015-01-01 00:54:38,bin3278,35, +CTSPillarNetworkA,3279,3279,3279,1978-12-24,327.600000000006,327.61078,2015-01-01 00:54:39,bin3279,75, +CTSPillarNetworkA,3280,3280,3280,1978-12-25,327.700000000006,327.7108,2015-01-01 00:54:40,bin3280,35, +CTSPillarNetworkA,3281,3281,3281,1978-12-26,327.80000000000604,327.8108,2015-01-01 00:54:41,bin3281,75, +CTSPillarNetworkA,3282,3282,3282,1978-12-27,327.90000000000606,327.9108,2015-01-01 00:54:42,bin3282,35, +CTSPillarNetworkA,3283,3283,3283,1978-12-28,328.0000000000061,328.0108,2015-01-01 00:54:43,bin3283,75, +CTSPillarNetworkA,3284,3284,3284,1978-12-29,328.1000000000061,328.1108,2015-01-01 00:54:44,bin3284,35, +CTSPillarNetworkA,3285,3285,3285,1978-12-30,328.2000000000061,328.21082,2015-01-01 00:54:45,bin3285,75, +CTSPillarNetworkA,3286,3286,3286,1978-12-31,328.30000000000615,328.31082,2015-01-01 00:54:46,bin3286,35, +CTSPillarNetworkA,3287,3287,3287,1979-01-01,328.4000000000062,328.41083,2015-01-01 00:54:47,bin3287,75, +CTSPillarNetworkA,3288,3288,3288,1979-01-02,328.5000000000062,328.51083,2015-01-01 00:54:48,bin3288,35, +CTSPillarNetworkA,3289,3289,3289,1979-01-03,328.6000000000062,328.61084,2015-01-01 00:54:49,bin3289,75, +CTSPillarNetworkA,3290,3290,3290,1979-01-04,328.70000000000624,328.71085,2015-01-01 00:54:50,bin3290,35, +CTSPillarNetworkA,3291,3291,3291,1979-01-05,328.80000000000626,328.81085,2015-01-01 00:54:51,bin3291,75, +CTSPillarNetworkA,3292,3292,3292,1979-01-06,328.9000000000063,328.91086,2015-01-01 00:54:52,bin3292,35, +CTSPillarNetworkA,3293,3293,3293,1979-01-07,329.0000000000063,329.01086,2015-01-01 00:54:53,bin3293,75, +CTSPillarNetworkA,3294,3294,3294,1979-01-08,329.10000000000633,329.11087,2015-01-01 00:54:54,bin3294,35, +CTSPillarNetworkA,3295,3295,3295,1979-01-09,329.20000000000636,329.21088,2015-01-01 00:54:55,bin3295,75, +CTSPillarNetworkA,3296,3296,3296,1979-01-10,329.3000000000064,329.31088,2015-01-01 00:54:56,bin3296,35, +CTSPillarNetworkA,3297,3297,3297,1979-01-11,329.4000000000064,329.4109,2015-01-01 00:54:57,bin3297,75, +CTSPillarNetworkA,3298,3298,3298,1979-01-12,329.5000000000064,329.5109,2015-01-01 00:54:58,bin3298,35, +CTSPillarNetworkA,3299,3299,3299,1979-01-13,329.60000000000645,329.6109,2015-01-01 00:54:59,bin3299,75, +CTSPillarNetworkA,3300,3300,3300,1979-01-14,329.70000000000647,329.7109,2015-01-01 00:55:00,bin3300,35, +CTSPillarNetworkA,3301,3301,3301,1979-01-15,329.8000000000065,329.8109,2015-01-01 00:55:01,bin3301,75, +CTSPillarNetworkA,3302,3302,3302,1979-01-16,329.9000000000065,329.91092,2015-01-01 00:55:02,bin3302,35, +CTSPillarNetworkA,3303,3303,3303,1979-01-17,330.00000000000654,330.01093,2015-01-01 00:55:03,bin3303,75, +CTSPillarNetworkA,3304,3304,3304,1979-01-18,330.10000000000656,330.11093,2015-01-01 00:55:04,bin3304,35, +CTSPillarNetworkA,3305,3305,3305,1979-01-19,330.2000000000066,330.21094,2015-01-01 00:55:05,bin3305,75, +CTSPillarNetworkA,3306,3306,3306,1979-01-20,330.3000000000066,330.31094,2015-01-01 00:55:06,bin3306,35, +CTSPillarNetworkA,3307,3307,3307,1979-01-21,330.4000000000066,330.41095,2015-01-01 00:55:07,bin3307,75, +CTSPillarNetworkA,3308,3308,3308,1979-01-22,330.50000000000665,330.51096,2015-01-01 00:55:08,bin3308,35, +CTSPillarNetworkA,3309,3309,3309,1979-01-23,330.6000000000067,330.61096,2015-01-01 00:55:09,bin3309,75, +CTSPillarNetworkA,3310,3310,3310,1979-01-24,330.7000000000067,330.71097,2015-01-01 00:55:10,bin3310,35, +CTSPillarNetworkA,3311,3311,3311,1979-01-25,330.8000000000067,330.81097,2015-01-01 00:55:11,bin3311,75, +CTSPillarNetworkA,3312,3312,3312,1979-01-26,330.90000000000674,330.91098,2015-01-01 00:55:12,bin3312,35, +CTSPillarNetworkA,3313,3313,3313,1979-01-27,331.00000000000676,331.011,2015-01-01 00:55:13,bin3313,75, +CTSPillarNetworkA,3314,3314,3314,1979-01-28,331.1000000000068,331.111,2015-01-01 00:55:14,bin3314,35, +CTSPillarNetworkA,3315,3315,3315,1979-01-29,331.2000000000068,331.211,2015-01-01 00:55:15,bin3315,75, +CTSPillarNetworkA,3316,3316,3316,1979-01-30,331.30000000000683,331.311,2015-01-01 00:55:16,bin3316,35, +CTSPillarNetworkA,3317,3317,3317,1979-01-31,331.40000000000686,331.411,2015-01-01 00:55:17,bin3317,75, +CTSPillarNetworkA,3318,3318,3318,1979-02-01,331.5000000000069,331.51102,2015-01-01 00:55:18,bin3318,35, +CTSPillarNetworkA,3319,3319,3319,1979-02-02,331.6000000000069,331.61102,2015-01-01 00:55:19,bin3319,75, +CTSPillarNetworkA,3320,3320,3320,1979-02-03,331.7000000000069,331.71103,2015-01-01 00:55:20,bin3320,35, +CTSPillarNetworkA,3321,3321,3321,1979-02-04,331.80000000000695,331.81104,2015-01-01 00:55:21,bin3321,75, +CTSPillarNetworkA,3322,3322,3322,1979-02-05,331.90000000000697,331.91104,2015-01-01 00:55:22,bin3322,35, +CTSPillarNetworkA,3323,3323,3323,1979-02-06,332.000000000007,332.01105,2015-01-01 00:55:23,bin3323,75, +CTSPillarNetworkA,3324,3324,3324,1979-02-07,332.100000000007,332.11105,2015-01-01 00:55:24,bin3324,35, +CTSPillarNetworkA,3325,3325,3325,1979-02-08,332.20000000000704,332.21106,2015-01-01 00:55:25,bin3325,75, +CTSPillarNetworkA,3326,3326,3326,1979-02-09,332.30000000000706,332.31107,2015-01-01 00:55:26,bin3326,35, +CTSPillarNetworkA,3327,3327,3327,1979-02-10,332.4000000000071,332.41107,2015-01-01 00:55:27,bin3327,75, +CTSPillarNetworkA,3328,3328,3328,1979-02-11,332.5000000000071,332.51108,2015-01-01 00:55:28,bin3328,35, +CTSPillarNetworkA,3329,3329,3329,1979-02-12,332.6000000000071,332.61108,2015-01-01 00:55:29,bin3329,75, +CTSPillarNetworkA,3330,3330,3330,1979-02-13,332.70000000000715,332.7111,2015-01-01 00:55:30,bin3330,35, +CTSPillarNetworkA,3331,3331,3331,1979-02-14,332.8000000000072,332.8111,2015-01-01 00:55:31,bin3331,75, +CTSPillarNetworkA,3332,3332,3332,1979-02-15,332.9000000000072,332.9111,2015-01-01 00:55:32,bin3332,35, +CTSPillarNetworkA,3333,3333,3333,1979-02-16,333.0000000000072,333.0111,2015-01-01 00:55:33,bin3333,75, +CTSPillarNetworkA,3334,3334,3334,1979-02-17,333.10000000000724,333.1111,2015-01-01 00:55:34,bin3334,35, +CTSPillarNetworkA,3335,3335,3335,1979-02-18,333.20000000000726,333.21112,2015-01-01 00:55:35,bin3335,75, +CTSPillarNetworkA,3336,3336,3336,1979-02-19,333.3000000000073,333.31113,2015-01-01 00:55:36,bin3336,35, +CTSPillarNetworkA,3337,3337,3337,1979-02-20,333.4000000000073,333.41113,2015-01-01 00:55:37,bin3337,75, +CTSPillarNetworkA,3338,3338,3338,1979-02-21,333.50000000000733,333.51114,2015-01-01 00:55:38,bin3338,35, +CTSPillarNetworkA,3339,3339,3339,1979-02-22,333.60000000000736,333.61115,2015-01-01 00:55:39,bin3339,75, +CTSPillarNetworkA,3340,3340,3340,1979-02-23,333.7000000000074,333.71115,2015-01-01 00:55:40,bin3340,35, +CTSPillarNetworkA,3341,3341,3341,1979-02-24,333.8000000000074,333.81116,2015-01-01 00:55:41,bin3341,75, +CTSPillarNetworkA,3342,3342,3342,1979-02-25,333.9000000000074,333.91116,2015-01-01 00:55:42,bin3342,35, +CTSPillarNetworkA,3343,3343,3343,1979-02-26,334.00000000000745,334.01117,2015-01-01 00:55:43,bin3343,75, +CTSPillarNetworkA,3344,3344,3344,1979-02-27,334.10000000000747,334.11118,2015-01-01 00:55:44,bin3344,35, +CTSPillarNetworkA,3345,3345,3345,1979-02-28,334.2000000000075,334.21118,2015-01-01 00:55:45,bin3345,75, +CTSPillarNetworkA,3346,3346,3346,1979-03-01,334.3000000000075,334.3112,2015-01-01 00:55:46,bin3346,35, +CTSPillarNetworkA,3347,3347,3347,1979-03-02,334.40000000000754,334.4112,2015-01-01 00:55:47,bin3347,75, +CTSPillarNetworkA,3348,3348,3348,1979-03-03,334.50000000000756,334.5112,2015-01-01 00:55:48,bin3348,35, +CTSPillarNetworkA,3349,3349,3349,1979-03-04,334.6000000000076,334.6112,2015-01-01 00:55:49,bin3349,75, +CTSPillarNetworkA,3350,3350,3350,1979-03-05,334.7000000000076,334.7112,2015-01-01 00:55:50,bin3350,35, +CTSPillarNetworkA,3351,3351,3351,1979-03-06,334.8000000000076,334.81122,2015-01-01 00:55:51,bin3351,75, +CTSPillarNetworkA,3352,3352,3352,1979-03-07,334.90000000000765,334.91122,2015-01-01 00:55:52,bin3352,35, +CTSPillarNetworkA,3353,3353,3353,1979-03-08,335.0000000000077,335.01123,2015-01-01 00:55:53,bin3353,75, +CTSPillarNetworkA,3354,3354,3354,1979-03-09,335.1000000000077,335.11124,2015-01-01 00:55:54,bin3354,35, +CTSPillarNetworkA,3355,3355,3355,1979-03-10,335.2000000000077,335.21124,2015-01-01 00:55:55,bin3355,75, +CTSPillarNetworkA,3356,3356,3356,1979-03-11,335.30000000000774,335.31125,2015-01-01 00:55:56,bin3356,35, +CTSPillarNetworkA,3357,3357,3357,1979-03-12,335.40000000000776,335.41125,2015-01-01 00:55:57,bin3357,75, +CTSPillarNetworkA,3358,3358,3358,1979-03-13,335.5000000000078,335.51126,2015-01-01 00:55:58,bin3358,35, +CTSPillarNetworkA,3359,3359,3359,1979-03-14,335.6000000000078,335.61127,2015-01-01 00:55:59,bin3359,75, +CTSPillarNetworkA,3360,3360,3360,1979-03-15,335.70000000000783,335.71127,2015-01-01 00:56:00,bin3360,35, +CTSPillarNetworkA,3361,3361,3361,1979-03-16,335.80000000000786,335.81128,2015-01-01 00:56:01,bin3361,75, +CTSPillarNetworkA,3362,3362,3362,1979-03-17,335.9000000000079,335.9113,2015-01-01 00:56:02,bin3362,35, +CTSPillarNetworkA,3363,3363,3363,1979-03-18,336.0000000000079,336.0113,2015-01-01 00:56:03,bin3363,75, +CTSPillarNetworkA,3364,3364,3364,1979-03-19,336.1000000000079,336.1113,2015-01-01 00:56:04,bin3364,35, +CTSPillarNetworkA,3365,3365,3365,1979-03-20,336.20000000000795,336.2113,2015-01-01 00:56:05,bin3365,75, +CTSPillarNetworkA,3366,3366,3366,1979-03-21,336.30000000000797,336.3113,2015-01-01 00:56:06,bin3366,35, +CTSPillarNetworkA,3367,3367,3367,1979-03-22,336.400000000008,336.41132,2015-01-01 00:56:07,bin3367,75, +CTSPillarNetworkA,3368,3368,3368,1979-03-23,336.500000000008,336.51132,2015-01-01 00:56:08,bin3368,35, +CTSPillarNetworkA,3369,3369,3369,1979-03-24,336.60000000000804,336.61133,2015-01-01 00:56:09,bin3369,75, +CTSPillarNetworkA,3370,3370,3370,1979-03-25,336.70000000000806,336.71133,2015-01-01 00:56:10,bin3370,35, +CTSPillarNetworkA,3371,3371,3371,1979-03-26,336.8000000000081,336.81134,2015-01-01 00:56:11,bin3371,75, +CTSPillarNetworkA,3372,3372,3372,1979-03-27,336.9000000000081,336.91135,2015-01-01 00:56:12,bin3372,35, +CTSPillarNetworkA,3373,3373,3373,1979-03-28,337.00000000000813,337.01135,2015-01-01 00:56:13,bin3373,75, +CTSPillarNetworkA,3374,3374,3374,1979-03-29,337.10000000000815,337.11136,2015-01-01 00:56:14,bin3374,35, +CTSPillarNetworkA,3375,3375,3375,1979-03-30,337.2000000000082,337.21136,2015-01-01 00:56:15,bin3375,75, +CTSPillarNetworkA,3376,3376,3376,1979-03-31,337.3000000000082,337.31137,2015-01-01 00:56:16,bin3376,35, +CTSPillarNetworkA,3377,3377,3377,1979-04-01,337.4000000000082,337.41138,2015-01-01 00:56:17,bin3377,75, +CTSPillarNetworkA,3378,3378,3378,1979-04-02,337.50000000000824,337.51138,2015-01-01 00:56:18,bin3378,35, +CTSPillarNetworkA,3379,3379,3379,1979-04-03,337.60000000000827,337.6114,2015-01-01 00:56:19,bin3379,75, +CTSPillarNetworkA,3380,3380,3380,1979-04-04,337.7000000000083,337.7114,2015-01-01 00:56:20,bin3380,35, +CTSPillarNetworkA,3381,3381,3381,1979-04-05,337.8000000000083,337.8114,2015-01-01 00:56:21,bin3381,75, +CTSPillarNetworkA,3382,3382,3382,1979-04-06,337.90000000000833,337.9114,2015-01-01 00:56:22,bin3382,35, +CTSPillarNetworkA,3383,3383,3383,1979-04-07,338.00000000000836,338.0114,2015-01-01 00:56:23,bin3383,75, +CTSPillarNetworkA,3384,3384,3384,1979-04-08,338.1000000000084,338.11142,2015-01-01 00:56:24,bin3384,35, +CTSPillarNetworkA,3385,3385,3385,1979-04-09,338.2000000000084,338.21143,2015-01-01 00:56:25,bin3385,75, +CTSPillarNetworkA,3386,3386,3386,1979-04-10,338.3000000000084,338.31143,2015-01-01 00:56:26,bin3386,35, +CTSPillarNetworkA,3387,3387,3387,1979-04-11,338.40000000000845,338.41144,2015-01-01 00:56:27,bin3387,75, +CTSPillarNetworkA,3388,3388,3388,1979-04-12,338.50000000000847,338.51144,2015-01-01 00:56:28,bin3388,35, +CTSPillarNetworkA,3389,3389,3389,1979-04-13,338.6000000000085,338.61145,2015-01-01 00:56:29,bin3389,75, +CTSPillarNetworkA,3390,3390,3390,1979-04-14,338.7000000000085,338.71146,2015-01-01 00:56:30,bin3390,35, +CTSPillarNetworkA,3391,3391,3391,1979-04-15,338.80000000000854,338.81146,2015-01-01 00:56:31,bin3391,75, +CTSPillarNetworkA,3392,3392,3392,1979-04-16,338.90000000000856,338.91147,2015-01-01 00:56:32,bin3392,35, +CTSPillarNetworkA,3393,3393,3393,1979-04-17,339.0000000000086,339.01147,2015-01-01 00:56:33,bin3393,75, +CTSPillarNetworkA,3394,3394,3394,1979-04-18,339.1000000000086,339.11148,2015-01-01 00:56:34,bin3394,35, +CTSPillarNetworkA,3395,3395,3395,1979-04-19,339.20000000000863,339.2115,2015-01-01 00:56:35,bin3395,75, +CTSPillarNetworkA,3396,3396,3396,1979-04-20,339.30000000000865,339.3115,2015-01-01 00:56:36,bin3396,35, +CTSPillarNetworkA,3397,3397,3397,1979-04-21,339.4000000000087,339.4115,2015-01-01 00:56:37,bin3397,75, +CTSPillarNetworkA,3398,3398,3398,1979-04-22,339.5000000000087,339.5115,2015-01-01 00:56:38,bin3398,35, +CTSPillarNetworkA,3399,3399,3399,1979-04-23,339.6000000000087,339.6115,2015-01-01 00:56:39,bin3399,75, +CTSPillarNetworkA,3400,3400,3400,1979-04-24,339.70000000000874,339.71152,2015-01-01 00:56:40,bin3400,35, +CTSPillarNetworkA,3401,3401,3401,1979-04-25,339.80000000000877,339.81152,2015-01-01 00:56:41,bin3401,75, +CTSPillarNetworkA,3402,3402,3402,1979-04-26,339.9000000000088,339.91153,2015-01-01 00:56:42,bin3402,35, +CTSPillarNetworkA,3403,3403,3403,1979-04-27,340.0000000000088,340.01154,2015-01-01 00:56:43,bin3403,75, +CTSPillarNetworkA,3404,3404,3404,1979-04-28,340.10000000000883,340.11154,2015-01-01 00:56:44,bin3404,35, +CTSPillarNetworkA,3405,3405,3405,1979-04-29,340.20000000000886,340.21155,2015-01-01 00:56:45,bin3405,75, +CTSPillarNetworkA,3406,3406,3406,1979-04-30,340.3000000000089,340.31155,2015-01-01 00:56:46,bin3406,35, +CTSPillarNetworkA,3407,3407,3407,1979-05-01,340.4000000000089,340.41156,2015-01-01 00:56:47,bin3407,75, +CTSPillarNetworkA,3408,3408,3408,1979-05-02,340.5000000000089,340.51157,2015-01-01 00:56:48,bin3408,35, +CTSPillarNetworkA,3409,3409,3409,1979-05-03,340.60000000000895,340.61157,2015-01-01 00:56:49,bin3409,75, +CTSPillarNetworkA,3410,3410,3410,1979-05-04,340.70000000000897,340.71158,2015-01-01 00:56:50,bin3410,35, +CTSPillarNetworkA,3411,3411,3411,1979-05-05,340.800000000009,340.81158,2015-01-01 00:56:51,bin3411,75, +CTSPillarNetworkA,3412,3412,3412,1979-05-06,340.900000000009,340.9116,2015-01-01 00:56:52,bin3412,35, +CTSPillarNetworkA,3413,3413,3413,1979-05-07,341.00000000000904,341.0116,2015-01-01 00:56:53,bin3413,75, +CTSPillarNetworkA,3414,3414,3414,1979-05-08,341.10000000000906,341.1116,2015-01-01 00:56:54,bin3414,35, +CTSPillarNetworkA,3415,3415,3415,1979-05-09,341.2000000000091,341.2116,2015-01-01 00:56:55,bin3415,75, +CTSPillarNetworkA,3416,3416,3416,1979-05-10,341.3000000000091,341.3116,2015-01-01 00:56:56,bin3416,35, +CTSPillarNetworkA,3417,3417,3417,1979-05-11,341.40000000000913,341.41162,2015-01-01 00:56:57,bin3417,75, +CTSPillarNetworkA,3418,3418,3418,1979-05-12,341.50000000000915,341.51163,2015-01-01 00:56:58,bin3418,35, +CTSPillarNetworkA,3419,3419,3419,1979-05-13,341.6000000000092,341.61163,2015-01-01 00:56:59,bin3419,75, +CTSPillarNetworkA,3420,3420,3420,1979-05-14,341.7000000000092,341.71164,2015-01-01 00:57:00,bin3420,35, +CTSPillarNetworkA,3421,3421,3421,1979-05-15,341.8000000000092,341.81165,2015-01-01 00:57:01,bin3421,75, +CTSPillarNetworkA,3422,3422,3422,1979-05-16,341.90000000000924,341.91165,2015-01-01 00:57:02,bin3422,35, +CTSPillarNetworkA,3423,3423,3423,1979-05-17,342.00000000000927,342.01166,2015-01-01 00:57:03,bin3423,75, +CTSPillarNetworkA,3424,3424,3424,1979-05-18,342.1000000000093,342.11166,2015-01-01 00:57:04,bin3424,35, +CTSPillarNetworkA,3425,3425,3425,1979-05-19,342.2000000000093,342.21167,2015-01-01 00:57:05,bin3425,75, +CTSPillarNetworkA,3426,3426,3426,1979-05-20,342.30000000000933,342.31168,2015-01-01 00:57:06,bin3426,35, +CTSPillarNetworkA,3427,3427,3427,1979-05-21,342.40000000000936,342.41168,2015-01-01 00:57:07,bin3427,75, +CTSPillarNetworkA,3428,3428,3428,1979-05-22,342.5000000000094,342.5117,2015-01-01 00:57:08,bin3428,35, +CTSPillarNetworkA,3429,3429,3429,1979-05-23,342.6000000000094,342.6117,2015-01-01 00:57:09,bin3429,75, +CTSPillarNetworkA,3430,3430,3430,1979-05-24,342.7000000000094,342.7117,2015-01-01 00:57:10,bin3430,35, +CTSPillarNetworkA,3431,3431,3431,1979-05-25,342.80000000000945,342.8117,2015-01-01 00:57:11,bin3431,75, +CTSPillarNetworkA,3432,3432,3432,1979-05-26,342.90000000000947,342.9117,2015-01-01 00:57:12,bin3432,35, +CTSPillarNetworkA,3433,3433,3433,1979-05-27,343.0000000000095,343.01172,2015-01-01 00:57:13,bin3433,75, +CTSPillarNetworkA,3434,3434,3434,1979-05-28,343.1000000000095,343.11172,2015-01-01 00:57:14,bin3434,35, +CTSPillarNetworkA,3435,3435,3435,1979-05-29,343.20000000000954,343.21173,2015-01-01 00:57:15,bin3435,75, +CTSPillarNetworkA,3436,3436,3436,1979-05-30,343.30000000000956,343.31174,2015-01-01 00:57:16,bin3436,35, +CTSPillarNetworkA,3437,3437,3437,1979-05-31,343.4000000000096,343.41174,2015-01-01 00:57:17,bin3437,75, +CTSPillarNetworkA,3438,3438,3438,1979-06-01,343.5000000000096,343.51175,2015-01-01 00:57:18,bin3438,35, +CTSPillarNetworkA,3439,3439,3439,1979-06-02,343.60000000000963,343.61176,2015-01-01 00:57:19,bin3439,75, +CTSPillarNetworkA,3440,3440,3440,1979-06-03,343.70000000000965,343.71176,2015-01-01 00:57:20,bin3440,35, +CTSPillarNetworkA,3441,3441,3441,1979-06-04,343.8000000000097,343.81177,2015-01-01 00:57:21,bin3441,75, +CTSPillarNetworkA,3442,3442,3442,1979-06-05,343.9000000000097,343.91177,2015-01-01 00:57:22,bin3442,35, +CTSPillarNetworkA,3443,3443,3443,1979-06-06,344.0000000000097,344.01178,2015-01-01 00:57:23,bin3443,75, +CTSPillarNetworkA,3444,3444,3444,1979-06-07,344.10000000000974,344.1118,2015-01-01 00:57:24,bin3444,35, +CTSPillarNetworkA,3445,3445,3445,1979-06-08,344.20000000000977,344.2118,2015-01-01 00:57:25,bin3445,75, +CTSPillarNetworkA,3446,3446,3446,1979-06-09,344.3000000000098,344.3118,2015-01-01 00:57:26,bin3446,35, +CTSPillarNetworkA,3447,3447,3447,1979-06-10,344.4000000000098,344.4118,2015-01-01 00:57:27,bin3447,75, +CTSPillarNetworkA,3448,3448,3448,1979-06-11,344.50000000000983,344.5118,2015-01-01 00:57:28,bin3448,35, +CTSPillarNetworkA,3449,3449,3449,1979-06-12,344.60000000000986,344.61182,2015-01-01 00:57:29,bin3449,75, +CTSPillarNetworkA,3450,3450,3450,1979-06-13,344.7000000000099,344.71182,2015-01-01 00:57:30,bin3450,35, +CTSPillarNetworkA,3451,3451,3451,1979-06-14,344.8000000000099,344.81183,2015-01-01 00:57:31,bin3451,75, +CTSPillarNetworkA,3452,3452,3452,1979-06-15,344.9000000000099,344.91183,2015-01-01 00:57:32,bin3452,35, +CTSPillarNetworkA,3453,3453,3453,1979-06-16,345.00000000000995,345.01184,2015-01-01 00:57:33,bin3453,75, +CTSPillarNetworkA,3454,3454,3454,1979-06-17,345.10000000000997,345.11185,2015-01-01 00:57:34,bin3454,35, +CTSPillarNetworkA,3455,3455,3455,1979-06-18,345.20000000001,345.21185,2015-01-01 00:57:35,bin3455,75, +CTSPillarNetworkA,3456,3456,3456,1979-06-19,345.30000000001,345.31186,2015-01-01 00:57:36,bin3456,35, +CTSPillarNetworkA,3457,3457,3457,1979-06-20,345.40000000001004,345.41187,2015-01-01 00:57:37,bin3457,75, +CTSPillarNetworkA,3458,3458,3458,1979-06-21,345.50000000001006,345.51187,2015-01-01 00:57:38,bin3458,35, +CTSPillarNetworkA,3459,3459,3459,1979-06-22,345.6000000000101,345.61188,2015-01-01 00:57:39,bin3459,75, +CTSPillarNetworkA,3460,3460,3460,1979-06-23,345.7000000000101,345.71188,2015-01-01 00:57:40,bin3460,35, +CTSPillarNetworkA,3461,3461,3461,1979-06-24,345.80000000001013,345.8119,2015-01-01 00:57:41,bin3461,75, +CTSPillarNetworkA,3462,3462,3462,1979-06-25,345.90000000001015,345.9119,2015-01-01 00:57:42,bin3462,35, +CTSPillarNetworkA,3463,3463,3463,1979-06-26,346.0000000000102,346.0119,2015-01-01 00:57:43,bin3463,75, +CTSPillarNetworkA,3464,3464,3464,1979-06-27,346.1000000000102,346.1119,2015-01-01 00:57:44,bin3464,35, +CTSPillarNetworkA,3465,3465,3465,1979-06-28,346.2000000000102,346.2119,2015-01-01 00:57:45,bin3465,75, +CTSPillarNetworkA,3466,3466,3466,1979-06-29,346.30000000001024,346.31192,2015-01-01 00:57:46,bin3466,35, +CTSPillarNetworkA,3467,3467,3467,1979-06-30,346.40000000001027,346.41193,2015-01-01 00:57:47,bin3467,75, +CTSPillarNetworkA,3468,3468,3468,1979-07-01,346.5000000000103,346.51193,2015-01-01 00:57:48,bin3468,35, +CTSPillarNetworkA,3469,3469,3469,1979-07-02,346.6000000000103,346.61194,2015-01-01 00:57:49,bin3469,75, +CTSPillarNetworkA,3470,3470,3470,1979-07-03,346.70000000001033,346.71194,2015-01-01 00:57:50,bin3470,35, +CTSPillarNetworkA,3471,3471,3471,1979-07-04,346.80000000001036,346.81195,2015-01-01 00:57:51,bin3471,75, +CTSPillarNetworkA,3472,3472,3472,1979-07-05,346.9000000000104,346.91196,2015-01-01 00:57:52,bin3472,35, +CTSPillarNetworkA,3473,3473,3473,1979-07-06,347.0000000000104,347.01196,2015-01-01 00:57:53,bin3473,75, +CTSPillarNetworkA,3474,3474,3474,1979-07-07,347.1000000000104,347.11197,2015-01-01 00:57:54,bin3474,35, +CTSPillarNetworkA,3475,3475,3475,1979-07-08,347.20000000001045,347.21198,2015-01-01 00:57:55,bin3475,75, +CTSPillarNetworkA,3476,3476,3476,1979-07-09,347.30000000001047,347.31198,2015-01-01 00:57:56,bin3476,35, +CTSPillarNetworkA,3477,3477,3477,1979-07-10,347.4000000000105,347.412,2015-01-01 00:57:57,bin3477,75, +CTSPillarNetworkA,3478,3478,3478,1979-07-11,347.5000000000105,347.512,2015-01-01 00:57:58,bin3478,35, +CTSPillarNetworkA,3479,3479,3479,1979-07-12,347.60000000001054,347.612,2015-01-01 00:57:59,bin3479,75, +CTSPillarNetworkA,3480,3480,3480,1979-07-13,347.70000000001056,347.712,2015-01-01 00:58:00,bin3480,35, +CTSPillarNetworkA,3481,3481,3481,1979-07-14,347.8000000000106,347.812,2015-01-01 00:58:01,bin3481,75, +CTSPillarNetworkA,3482,3482,3482,1979-07-15,347.9000000000106,347.91202,2015-01-01 00:58:02,bin3482,35, +CTSPillarNetworkA,3483,3483,3483,1979-07-16,348.00000000001063,348.01202,2015-01-01 00:58:03,bin3483,75, +CTSPillarNetworkA,3484,3484,3484,1979-07-17,348.10000000001065,348.11203,2015-01-01 00:58:04,bin3484,35, +CTSPillarNetworkA,3485,3485,3485,1979-07-18,348.2000000000107,348.21204,2015-01-01 00:58:05,bin3485,75, +CTSPillarNetworkA,3486,3486,3486,1979-07-19,348.3000000000107,348.31204,2015-01-01 00:58:06,bin3486,35, +CTSPillarNetworkA,3487,3487,3487,1979-07-20,348.4000000000107,348.41205,2015-01-01 00:58:07,bin3487,75, +CTSPillarNetworkA,3488,3488,3488,1979-07-21,348.50000000001074,348.51205,2015-01-01 00:58:08,bin3488,35, +CTSPillarNetworkA,3489,3489,3489,1979-07-22,348.60000000001077,348.61206,2015-01-01 00:58:09,bin3489,75, +CTSPillarNetworkA,3490,3490,3490,1979-07-23,348.7000000000108,348.71207,2015-01-01 00:58:10,bin3490,35, +CTSPillarNetworkA,3491,3491,3491,1979-07-24,348.8000000000108,348.81207,2015-01-01 00:58:11,bin3491,75, +CTSPillarNetworkA,3492,3492,3492,1979-07-25,348.90000000001083,348.91208,2015-01-01 00:58:12,bin3492,35, +CTSPillarNetworkA,3493,3493,3493,1979-07-26,349.00000000001086,349.0121,2015-01-01 00:58:13,bin3493,75, +CTSPillarNetworkA,3494,3494,3494,1979-07-27,349.1000000000109,349.1121,2015-01-01 00:58:14,bin3494,35, +CTSPillarNetworkA,3495,3495,3495,1979-07-28,349.2000000000109,349.2121,2015-01-01 00:58:15,bin3495,75, +CTSPillarNetworkA,3496,3496,3496,1979-07-29,349.3000000000109,349.3121,2015-01-01 00:58:16,bin3496,35, +CTSPillarNetworkA,3497,3497,3497,1979-07-30,349.40000000001095,349.4121,2015-01-01 00:58:17,bin3497,75, +CTSPillarNetworkA,3498,3498,3498,1979-07-31,349.50000000001097,349.51212,2015-01-01 00:58:18,bin3498,35, +CTSPillarNetworkA,3499,3499,3499,1979-08-01,349.600000000011,349.61212,2015-01-01 00:58:19,bin3499,75, +CTSPillarNetworkA,3500,3500,3500,1979-08-02,349.700000000011,349.71213,2015-01-01 00:58:20,bin3500,35, +CTSPillarNetworkA,3501,3501,3501,1979-08-03,349.80000000001104,349.81213,2015-01-01 00:58:21,bin3501,75, +CTSPillarNetworkA,3502,3502,3502,1979-08-04,349.90000000001106,349.91214,2015-01-01 00:58:22,bin3502,35, +CTSPillarNetworkA,3503,3503,3503,1979-08-05,350.0000000000111,350.01215,2015-01-01 00:58:23,bin3503,75, +CTSPillarNetworkA,3504,3504,3504,1979-08-06,350.1000000000111,350.11215,2015-01-01 00:58:24,bin3504,35, +CTSPillarNetworkA,3505,3505,3505,1979-08-07,350.20000000001113,350.21216,2015-01-01 00:58:25,bin3505,75, +CTSPillarNetworkA,3506,3506,3506,1979-08-08,350.30000000001115,350.31216,2015-01-01 00:58:26,bin3506,35, +CTSPillarNetworkA,3507,3507,3507,1979-08-09,350.4000000000112,350.41217,2015-01-01 00:58:27,bin3507,75, +CTSPillarNetworkA,3508,3508,3508,1979-08-10,350.5000000000112,350.51218,2015-01-01 00:58:28,bin3508,35, +CTSPillarNetworkA,3509,3509,3509,1979-08-11,350.6000000000112,350.61218,2015-01-01 00:58:29,bin3509,75, +CTSPillarNetworkA,3510,3510,3510,1979-08-12,350.70000000001124,350.7122,2015-01-01 00:58:30,bin3510,35, +CTSPillarNetworkA,3511,3511,3511,1979-08-13,350.80000000001127,350.8122,2015-01-01 00:58:31,bin3511,75, +CTSPillarNetworkA,3512,3512,3512,1979-08-14,350.9000000000113,350.9122,2015-01-01 00:58:32,bin3512,35, +CTSPillarNetworkA,3513,3513,3513,1979-08-15,351.0000000000113,351.0122,2015-01-01 00:58:33,bin3513,75, +CTSPillarNetworkA,3514,3514,3514,1979-08-16,351.10000000001133,351.1122,2015-01-01 00:58:34,bin3514,35, +CTSPillarNetworkA,3515,3515,3515,1979-08-17,351.20000000001136,351.21222,2015-01-01 00:58:35,bin3515,75, +CTSPillarNetworkA,3516,3516,3516,1979-08-18,351.3000000000114,351.31223,2015-01-01 00:58:36,bin3516,35, +CTSPillarNetworkA,3517,3517,3517,1979-08-19,351.4000000000114,351.41223,2015-01-01 00:58:37,bin3517,75, +CTSPillarNetworkA,3518,3518,3518,1979-08-20,351.5000000000114,351.51224,2015-01-01 00:58:38,bin3518,35, +CTSPillarNetworkA,3519,3519,3519,1979-08-21,351.60000000001145,351.61224,2015-01-01 00:58:39,bin3519,75, +CTSPillarNetworkA,3520,3520,3520,1979-08-22,351.70000000001147,351.71225,2015-01-01 00:58:40,bin3520,35, +CTSPillarNetworkA,3521,3521,3521,1979-08-23,351.8000000000115,351.81226,2015-01-01 00:58:41,bin3521,75, +CTSPillarNetworkA,3522,3522,3522,1979-08-24,351.9000000000115,351.91226,2015-01-01 00:58:42,bin3522,35, +CTSPillarNetworkA,3523,3523,3523,1979-08-25,352.00000000001154,352.01227,2015-01-01 00:58:43,bin3523,75, +CTSPillarNetworkA,3524,3524,3524,1979-08-26,352.10000000001156,352.11227,2015-01-01 00:58:44,bin3524,35, +CTSPillarNetworkA,3525,3525,3525,1979-08-27,352.2000000000116,352.21228,2015-01-01 00:58:45,bin3525,75, +CTSPillarNetworkA,3526,3526,3526,1979-08-28,352.3000000000116,352.3123,2015-01-01 00:58:46,bin3526,35, +CTSPillarNetworkA,3527,3527,3527,1979-08-29,352.40000000001163,352.4123,2015-01-01 00:58:47,bin3527,75, +CTSPillarNetworkA,3528,3528,3528,1979-08-30,352.50000000001165,352.5123,2015-01-01 00:58:48,bin3528,35, +CTSPillarNetworkA,3529,3529,3529,1979-08-31,352.6000000000117,352.6123,2015-01-01 00:58:49,bin3529,75, +CTSPillarNetworkA,3530,3530,3530,1979-09-01,352.7000000000117,352.7123,2015-01-01 00:58:50,bin3530,35, +CTSPillarNetworkA,3531,3531,3531,1979-09-02,352.8000000000117,352.81232,2015-01-01 00:58:51,bin3531,75, +CTSPillarNetworkA,3532,3532,3532,1979-09-03,352.90000000001174,352.91232,2015-01-01 00:58:52,bin3532,35, +CTSPillarNetworkA,3533,3533,3533,1979-09-04,353.00000000001177,353.01233,2015-01-01 00:58:53,bin3533,75, +CTSPillarNetworkA,3534,3534,3534,1979-09-05,353.1000000000118,353.11234,2015-01-01 00:58:54,bin3534,35, +CTSPillarNetworkA,3535,3535,3535,1979-09-06,353.2000000000118,353.21234,2015-01-01 00:58:55,bin3535,75, +CTSPillarNetworkA,3536,3536,3536,1979-09-07,353.30000000001183,353.31235,2015-01-01 00:58:56,bin3536,35, +CTSPillarNetworkA,3537,3537,3537,1979-09-08,353.40000000001186,353.41235,2015-01-01 00:58:57,bin3537,75, +CTSPillarNetworkA,3538,3538,3538,1979-09-09,353.5000000000119,353.51236,2015-01-01 00:58:58,bin3538,35, +CTSPillarNetworkA,3539,3539,3539,1979-09-10,353.6000000000119,353.61237,2015-01-01 00:58:59,bin3539,75, +CTSPillarNetworkA,3540,3540,3540,1979-09-11,353.7000000000119,353.71237,2015-01-01 00:59:00,bin3540,35, +CTSPillarNetworkA,3541,3541,3541,1979-09-12,353.80000000001195,353.81238,2015-01-01 00:59:01,bin3541,75, +CTSPillarNetworkA,3542,3542,3542,1979-09-13,353.90000000001197,353.91238,2015-01-01 00:59:02,bin3542,35, +CTSPillarNetworkA,3543,3543,3543,1979-09-14,354.000000000012,354.0124,2015-01-01 00:59:03,bin3543,75, +CTSPillarNetworkA,3544,3544,3544,1979-09-15,354.100000000012,354.1124,2015-01-01 00:59:04,bin3544,35, +CTSPillarNetworkA,3545,3545,3545,1979-09-16,354.20000000001204,354.2124,2015-01-01 00:59:05,bin3545,75, +CTSPillarNetworkA,3546,3546,3546,1979-09-17,354.30000000001206,354.3124,2015-01-01 00:59:06,bin3546,35, +CTSPillarNetworkA,3547,3547,3547,1979-09-18,354.4000000000121,354.4124,2015-01-01 00:59:07,bin3547,75, +CTSPillarNetworkA,3548,3548,3548,1979-09-19,354.5000000000121,354.51242,2015-01-01 00:59:08,bin3548,35, +CTSPillarNetworkA,3549,3549,3549,1979-09-20,354.60000000001213,354.61243,2015-01-01 00:59:09,bin3549,75, +CTSPillarNetworkA,3550,3550,3550,1979-09-21,354.70000000001215,354.71243,2015-01-01 00:59:10,bin3550,35, +CTSPillarNetworkA,3551,3551,3551,1979-09-22,354.8000000000122,354.81244,2015-01-01 00:59:11,bin3551,75, +CTSPillarNetworkA,3552,3552,3552,1979-09-23,354.9000000000122,354.91245,2015-01-01 00:59:12,bin3552,35, +CTSPillarNetworkA,3553,3553,3553,1979-09-24,355.0000000000122,355.01245,2015-01-01 00:59:13,bin3553,75, +CTSPillarNetworkA,3554,3554,3554,1979-09-25,355.10000000001224,355.11246,2015-01-01 00:59:14,bin3554,35, +CTSPillarNetworkA,3555,3555,3555,1979-09-26,355.20000000001227,355.21246,2015-01-01 00:59:15,bin3555,75, +CTSPillarNetworkA,3556,3556,3556,1979-09-27,355.3000000000123,355.31247,2015-01-01 00:59:16,bin3556,35, +CTSPillarNetworkA,3557,3557,3557,1979-09-28,355.4000000000123,355.41248,2015-01-01 00:59:17,bin3557,75, +CTSPillarNetworkA,3558,3558,3558,1979-09-29,355.50000000001234,355.51248,2015-01-01 00:59:18,bin3558,35, +CTSPillarNetworkA,3559,3559,3559,1979-09-30,355.60000000001236,355.6125,2015-01-01 00:59:19,bin3559,75, +CTSPillarNetworkA,3560,3560,3560,1979-10-01,355.7000000000124,355.7125,2015-01-01 00:59:20,bin3560,35, +CTSPillarNetworkA,3561,3561,3561,1979-10-02,355.8000000000124,355.8125,2015-01-01 00:59:21,bin3561,75, +CTSPillarNetworkA,3562,3562,3562,1979-10-03,355.9000000000124,355.9125,2015-01-01 00:59:22,bin3562,35, +CTSPillarNetworkA,3563,3563,3563,1979-10-04,356.00000000001245,356.0125,2015-01-01 00:59:23,bin3563,75, +CTSPillarNetworkA,3564,3564,3564,1979-10-05,356.10000000001247,356.11252,2015-01-01 00:59:24,bin3564,35, +CTSPillarNetworkA,3565,3565,3565,1979-10-06,356.2000000000125,356.21252,2015-01-01 00:59:25,bin3565,75, +CTSPillarNetworkA,3566,3566,3566,1979-10-07,356.3000000000125,356.31253,2015-01-01 00:59:26,bin3566,35, +CTSPillarNetworkA,3567,3567,3567,1979-10-08,356.40000000001254,356.41254,2015-01-01 00:59:27,bin3567,75, +CTSPillarNetworkA,3568,3568,3568,1979-10-09,356.50000000001256,356.51254,2015-01-01 00:59:28,bin3568,35, +CTSPillarNetworkA,3569,3569,3569,1979-10-10,356.6000000000126,356.61255,2015-01-01 00:59:29,bin3569,75, +CTSPillarNetworkA,3570,3570,3570,1979-10-11,356.7000000000126,356.71255,2015-01-01 00:59:30,bin3570,35, +CTSPillarNetworkA,3571,3571,3571,1979-10-12,356.80000000001263,356.81256,2015-01-01 00:59:31,bin3571,75, +CTSPillarNetworkA,3572,3572,3572,1979-10-13,356.90000000001265,356.91257,2015-01-01 00:59:32,bin3572,35, +CTSPillarNetworkA,3573,3573,3573,1979-10-14,357.0000000000127,357.01257,2015-01-01 00:59:33,bin3573,75, +CTSPillarNetworkA,3574,3574,3574,1979-10-15,357.1000000000127,357.11258,2015-01-01 00:59:34,bin3574,35, +CTSPillarNetworkA,3575,3575,3575,1979-10-16,357.2000000000127,357.2126,2015-01-01 00:59:35,bin3575,75, +CTSPillarNetworkA,3576,3576,3576,1979-10-17,357.30000000001274,357.3126,2015-01-01 00:59:36,bin3576,35, +CTSPillarNetworkA,3577,3577,3577,1979-10-18,357.40000000001277,357.4126,2015-01-01 00:59:37,bin3577,75, +CTSPillarNetworkA,3578,3578,3578,1979-10-19,357.5000000000128,357.5126,2015-01-01 00:59:38,bin3578,35, +CTSPillarNetworkA,3579,3579,3579,1979-10-20,357.6000000000128,357.6126,2015-01-01 00:59:39,bin3579,75, +CTSPillarNetworkA,3580,3580,3580,1979-10-21,357.70000000001284,357.71262,2015-01-01 00:59:40,bin3580,35, +CTSPillarNetworkA,3581,3581,3581,1979-10-22,357.80000000001286,357.81262,2015-01-01 00:59:41,bin3581,75, +CTSPillarNetworkA,3582,3582,3582,1979-10-23,357.9000000000129,357.91263,2015-01-01 00:59:42,bin3582,35, +CTSPillarNetworkA,3583,3583,3583,1979-10-24,358.0000000000129,358.01263,2015-01-01 00:59:43,bin3583,75, +CTSPillarNetworkA,3584,3584,3584,1979-10-25,358.1000000000129,358.11264,2015-01-01 00:59:44,bin3584,35, +CTSPillarNetworkA,3585,3585,3585,1979-10-26,358.20000000001295,358.21265,2015-01-01 00:59:45,bin3585,75, +CTSPillarNetworkA,3586,3586,3586,1979-10-27,358.300000000013,358.31265,2015-01-01 00:59:46,bin3586,35, +CTSPillarNetworkA,3587,3587,3587,1979-10-28,358.400000000013,358.41266,2015-01-01 00:59:47,bin3587,75, +CTSPillarNetworkA,3588,3588,3588,1979-10-29,358.500000000013,358.51266,2015-01-01 00:59:48,bin3588,35, +CTSPillarNetworkA,3589,3589,3589,1979-10-30,358.60000000001304,358.61267,2015-01-01 00:59:49,bin3589,75, +CTSPillarNetworkA,3590,3590,3590,1979-10-31,358.70000000001306,358.71268,2015-01-01 00:59:50,bin3590,35, +CTSPillarNetworkA,3591,3591,3591,1979-11-01,358.8000000000131,358.81268,2015-01-01 00:59:51,bin3591,75, +CTSPillarNetworkA,3592,3592,3592,1979-11-02,358.9000000000131,358.9127,2015-01-01 00:59:52,bin3592,35, +CTSPillarNetworkA,3593,3593,3593,1979-11-03,359.00000000001313,359.0127,2015-01-01 00:59:53,bin3593,75, +CTSPillarNetworkA,3594,3594,3594,1979-11-04,359.10000000001315,359.1127,2015-01-01 00:59:54,bin3594,35, +CTSPillarNetworkA,3595,3595,3595,1979-11-05,359.2000000000132,359.2127,2015-01-01 00:59:55,bin3595,75, +CTSPillarNetworkA,3596,3596,3596,1979-11-06,359.3000000000132,359.3127,2015-01-01 00:59:56,bin3596,35, +CTSPillarNetworkA,3597,3597,3597,1979-11-07,359.4000000000132,359.41272,2015-01-01 00:59:57,bin3597,75, +CTSPillarNetworkA,3598,3598,3598,1979-11-08,359.50000000001324,359.51273,2015-01-01 00:59:58,bin3598,35, +CTSPillarNetworkA,3599,3599,3599,1979-11-09,359.60000000001327,359.61273,2015-01-01 00:59:59,bin3599,75, +CTSPillarNetworkA,3600,3600,3600,1979-11-10,359.7000000000133,359.71274,2015-01-01 01:00:00,bin3600,35, +CTSPillarNetworkA,3601,3601,3601,1979-11-11,359.8000000000133,359.81274,2015-01-01 01:00:01,bin3601,75, +CTSPillarNetworkA,3602,3602,3602,1979-11-12,359.90000000001334,359.91275,2015-01-01 01:00:02,bin3602,35, +CTSPillarNetworkA,3603,3603,3603,1979-11-13,360.00000000001336,360.01276,2015-01-01 01:00:03,bin3603,75, +CTSPillarNetworkA,3604,3604,3604,1979-11-14,360.1000000000134,360.11276,2015-01-01 01:00:04,bin3604,35, +CTSPillarNetworkA,3605,3605,3605,1979-11-15,360.2000000000134,360.21277,2015-01-01 01:00:05,bin3605,75, +CTSPillarNetworkA,3606,3606,3606,1979-11-16,360.3000000000134,360.31277,2015-01-01 01:00:06,bin3606,35, +CTSPillarNetworkA,3607,3607,3607,1979-11-17,360.40000000001345,360.41278,2015-01-01 01:00:07,bin3607,75, +CTSPillarNetworkA,3608,3608,3608,1979-11-18,360.5000000000135,360.5128,2015-01-01 01:00:08,bin3608,35, +CTSPillarNetworkA,3609,3609,3609,1979-11-19,360.6000000000135,360.6128,2015-01-01 01:00:09,bin3609,75, +CTSPillarNetworkA,3610,3610,3610,1979-11-20,360.7000000000135,360.7128,2015-01-01 01:00:10,bin3610,35, +CTSPillarNetworkA,3611,3611,3611,1979-11-21,360.80000000001354,360.8128,2015-01-01 01:00:11,bin3611,75, +CTSPillarNetworkA,3612,3612,3612,1979-11-22,360.90000000001356,360.9128,2015-01-01 01:00:12,bin3612,35, +CTSPillarNetworkA,3613,3613,3613,1979-11-23,361.0000000000136,361.01282,2015-01-01 01:00:13,bin3613,75, +CTSPillarNetworkA,3614,3614,3614,1979-11-24,361.1000000000136,361.11282,2015-01-01 01:00:14,bin3614,35, +CTSPillarNetworkA,3615,3615,3615,1979-11-25,361.20000000001363,361.21283,2015-01-01 01:00:15,bin3615,75, +CTSPillarNetworkA,3616,3616,3616,1979-11-26,361.30000000001365,361.31284,2015-01-01 01:00:16,bin3616,35, +CTSPillarNetworkA,3617,3617,3617,1979-11-27,361.4000000000137,361.41284,2015-01-01 01:00:17,bin3617,75, +CTSPillarNetworkA,3618,3618,3618,1979-11-28,361.5000000000137,361.51285,2015-01-01 01:00:18,bin3618,35, +CTSPillarNetworkA,3619,3619,3619,1979-11-29,361.6000000000137,361.61285,2015-01-01 01:00:19,bin3619,75, +CTSPillarNetworkA,3620,3620,3620,1979-11-30,361.70000000001374,361.71286,2015-01-01 01:00:20,bin3620,35, +CTSPillarNetworkA,3621,3621,3621,1979-12-01,361.80000000001377,361.81287,2015-01-01 01:00:21,bin3621,75, +CTSPillarNetworkA,3622,3622,3622,1979-12-02,361.9000000000138,361.91287,2015-01-01 01:00:22,bin3622,35, +CTSPillarNetworkA,3623,3623,3623,1979-12-03,362.0000000000138,362.01288,2015-01-01 01:00:23,bin3623,75, +CTSPillarNetworkA,3624,3624,3624,1979-12-04,362.10000000001384,362.11288,2015-01-01 01:00:24,bin3624,35, +CTSPillarNetworkA,3625,3625,3625,1979-12-05,362.20000000001386,362.2129,2015-01-01 01:00:25,bin3625,75, +CTSPillarNetworkA,3626,3626,3626,1979-12-06,362.3000000000139,362.3129,2015-01-01 01:00:26,bin3626,35, +CTSPillarNetworkA,3627,3627,3627,1979-12-07,362.4000000000139,362.4129,2015-01-01 01:00:27,bin3627,75, +CTSPillarNetworkA,3628,3628,3628,1979-12-08,362.5000000000139,362.5129,2015-01-01 01:00:28,bin3628,35, +CTSPillarNetworkA,3629,3629,3629,1979-12-09,362.60000000001395,362.6129,2015-01-01 01:00:29,bin3629,75, +CTSPillarNetworkA,3630,3630,3630,1979-12-10,362.700000000014,362.71292,2015-01-01 01:00:30,bin3630,35, +CTSPillarNetworkA,3631,3631,3631,1979-12-11,362.800000000014,362.81293,2015-01-01 01:00:31,bin3631,75, +CTSPillarNetworkA,3632,3632,3632,1979-12-12,362.900000000014,362.91293,2015-01-01 01:00:32,bin3632,35, +CTSPillarNetworkA,3633,3633,3633,1979-12-13,363.00000000001404,363.01294,2015-01-01 01:00:33,bin3633,75, +CTSPillarNetworkA,3634,3634,3634,1979-12-14,363.10000000001406,363.11295,2015-01-01 01:00:34,bin3634,35, +CTSPillarNetworkA,3635,3635,3635,1979-12-15,363.2000000000141,363.21295,2015-01-01 01:00:35,bin3635,75, +CTSPillarNetworkA,3636,3636,3636,1979-12-16,363.3000000000141,363.31296,2015-01-01 01:00:36,bin3636,35, +CTSPillarNetworkA,3637,3637,3637,1979-12-17,363.40000000001413,363.41296,2015-01-01 01:00:37,bin3637,75, +CTSPillarNetworkA,3638,3638,3638,1979-12-18,363.50000000001415,363.51297,2015-01-01 01:00:38,bin3638,35, +CTSPillarNetworkA,3639,3639,3639,1979-12-19,363.6000000000142,363.61298,2015-01-01 01:00:39,bin3639,75, +CTSPillarNetworkA,3640,3640,3640,1979-12-20,363.7000000000142,363.71298,2015-01-01 01:00:40,bin3640,35, +CTSPillarNetworkA,3641,3641,3641,1979-12-21,363.8000000000142,363.813,2015-01-01 01:00:41,bin3641,75, +CTSPillarNetworkA,3642,3642,3642,1979-12-22,363.90000000001424,363.913,2015-01-01 01:00:42,bin3642,35, +CTSPillarNetworkA,3643,3643,3643,1979-12-23,364.00000000001427,364.013,2015-01-01 01:00:43,bin3643,75, +CTSPillarNetworkA,3644,3644,3644,1979-12-24,364.1000000000143,364.113,2015-01-01 01:00:44,bin3644,35, +CTSPillarNetworkA,3645,3645,3645,1979-12-25,364.2000000000143,364.213,2015-01-01 01:00:45,bin3645,75, +CTSPillarNetworkA,3646,3646,3646,1979-12-26,364.30000000001434,364.31302,2015-01-01 01:00:46,bin3646,35, +CTSPillarNetworkA,3647,3647,3647,1979-12-27,364.40000000001436,364.41302,2015-01-01 01:00:47,bin3647,75, +CTSPillarNetworkA,3648,3648,3648,1979-12-28,364.5000000000144,364.51303,2015-01-01 01:00:48,bin3648,35, +CTSPillarNetworkA,3649,3649,3649,1979-12-29,364.6000000000144,364.61304,2015-01-01 01:00:49,bin3649,75, +CTSPillarNetworkA,3650,3650,3650,1979-12-30,364.7000000000144,364.71304,2015-01-01 01:00:50,bin3650,35, +CTSPillarNetworkA,3651,3651,3651,1979-12-31,364.80000000001445,364.81305,2015-01-01 01:00:51,bin3651,75, +CTSPillarNetworkA,3652,3652,3652,1980-01-01,364.9000000000145,364.91306,2015-01-01 01:00:52,bin3652,35, +CTSPillarNetworkA,3653,3653,3653,1980-01-02,365.0000000000145,365.01306,2015-01-01 01:00:53,bin3653,75, +CTSPillarNetworkA,3654,3654,3654,1980-01-03,365.1000000000145,365.11307,2015-01-01 01:00:54,bin3654,35, +CTSPillarNetworkA,3655,3655,3655,1980-01-04,365.20000000001454,365.21307,2015-01-01 01:00:55,bin3655,75, +CTSPillarNetworkA,3656,3656,3656,1980-01-05,365.30000000001456,365.31308,2015-01-01 01:00:56,bin3656,35, +CTSPillarNetworkA,3657,3657,3657,1980-01-06,365.4000000000146,365.4131,2015-01-01 01:00:57,bin3657,75, +CTSPillarNetworkA,3658,3658,3658,1980-01-07,365.5000000000146,365.5131,2015-01-01 01:00:58,bin3658,35, +CTSPillarNetworkA,3659,3659,3659,1980-01-08,365.60000000001463,365.6131,2015-01-01 01:00:59,bin3659,75, +CTSPillarNetworkA,3660,3660,3660,1980-01-09,365.70000000001465,365.7131,2015-01-01 01:01:00,bin3660,35, +CTSPillarNetworkA,3661,3661,3661,1980-01-10,365.8000000000147,365.8131,2015-01-01 01:01:01,bin3661,75, +CTSPillarNetworkA,3662,3662,3662,1980-01-11,365.9000000000147,365.91312,2015-01-01 01:01:02,bin3662,35, +CTSPillarNetworkA,3663,3663,3663,1980-01-12,366.0000000000147,366.01312,2015-01-01 01:01:03,bin3663,75, +CTSPillarNetworkA,3664,3664,3664,1980-01-13,366.10000000001475,366.11313,2015-01-01 01:01:04,bin3664,35, +CTSPillarNetworkA,3665,3665,3665,1980-01-14,366.20000000001477,366.21313,2015-01-01 01:01:05,bin3665,75, +CTSPillarNetworkA,3666,3666,3666,1980-01-15,366.3000000000148,366.31314,2015-01-01 01:01:06,bin3666,35, +CTSPillarNetworkA,3667,3667,3667,1980-01-16,366.4000000000148,366.41315,2015-01-01 01:01:07,bin3667,75, +CTSPillarNetworkA,3668,3668,3668,1980-01-17,366.50000000001484,366.51315,2015-01-01 01:01:08,bin3668,35, +CTSPillarNetworkA,3669,3669,3669,1980-01-18,366.60000000001486,366.61316,2015-01-01 01:01:09,bin3669,75, +CTSPillarNetworkA,3670,3670,3670,1980-01-19,366.7000000000149,366.71317,2015-01-01 01:01:10,bin3670,35, +CTSPillarNetworkA,3671,3671,3671,1980-01-20,366.8000000000149,366.81317,2015-01-01 01:01:11,bin3671,75, +CTSPillarNetworkA,3672,3672,3672,1980-01-21,366.9000000000149,366.91318,2015-01-01 01:01:12,bin3672,35, +CTSPillarNetworkA,3673,3673,3673,1980-01-22,367.00000000001495,367.01318,2015-01-01 01:01:13,bin3673,75, +CTSPillarNetworkA,3674,3674,3674,1980-01-23,367.100000000015,367.1132,2015-01-01 01:01:14,bin3674,35, +CTSPillarNetworkA,3675,3675,3675,1980-01-24,367.200000000015,367.2132,2015-01-01 01:01:15,bin3675,75, +CTSPillarNetworkA,3676,3676,3676,1980-01-25,367.300000000015,367.3132,2015-01-01 01:01:16,bin3676,35, +CTSPillarNetworkA,3677,3677,3677,1980-01-26,367.40000000001504,367.4132,2015-01-01 01:01:17,bin3677,75, +CTSPillarNetworkA,3678,3678,3678,1980-01-27,367.50000000001506,367.5132,2015-01-01 01:01:18,bin3678,35, +CTSPillarNetworkA,3679,3679,3679,1980-01-28,367.6000000000151,367.61322,2015-01-01 01:01:19,bin3679,75, +CTSPillarNetworkA,3680,3680,3680,1980-01-29,367.7000000000151,367.71323,2015-01-01 01:01:20,bin3680,35, +CTSPillarNetworkA,3681,3681,3681,1980-01-30,367.80000000001513,367.81323,2015-01-01 01:01:21,bin3681,75, +CTSPillarNetworkA,3682,3682,3682,1980-01-31,367.90000000001515,367.91324,2015-01-01 01:01:22,bin3682,35, +CTSPillarNetworkA,3683,3683,3683,1980-02-01,368.0000000000152,368.01324,2015-01-01 01:01:23,bin3683,75, +CTSPillarNetworkA,3684,3684,3684,1980-02-02,368.1000000000152,368.11325,2015-01-01 01:01:24,bin3684,35, +CTSPillarNetworkA,3685,3685,3685,1980-02-03,368.2000000000152,368.21326,2015-01-01 01:01:25,bin3685,75, +CTSPillarNetworkA,3686,3686,3686,1980-02-04,368.30000000001525,368.31326,2015-01-01 01:01:26,bin3686,35, +CTSPillarNetworkA,3687,3687,3687,1980-02-05,368.40000000001527,368.41327,2015-01-01 01:01:27,bin3687,75, +CTSPillarNetworkA,3688,3688,3688,1980-02-06,368.5000000000153,368.51328,2015-01-01 01:01:28,bin3688,35, +CTSPillarNetworkA,3689,3689,3689,1980-02-07,368.6000000000153,368.61328,2015-01-01 01:01:29,bin3689,75, +CTSPillarNetworkA,3690,3690,3690,1980-02-08,368.70000000001534,368.7133,2015-01-01 01:01:30,bin3690,35, +CTSPillarNetworkA,3691,3691,3691,1980-02-09,368.80000000001536,368.8133,2015-01-01 01:01:31,bin3691,75, +CTSPillarNetworkA,3692,3692,3692,1980-02-10,368.9000000000154,368.9133,2015-01-01 01:01:32,bin3692,35, +CTSPillarNetworkA,3693,3693,3693,1980-02-11,369.0000000000154,369.0133,2015-01-01 01:01:33,bin3693,75, +CTSPillarNetworkA,3694,3694,3694,1980-02-12,369.1000000000154,369.1133,2015-01-01 01:01:34,bin3694,35, +CTSPillarNetworkA,3695,3695,3695,1980-02-13,369.20000000001545,369.21332,2015-01-01 01:01:35,bin3695,75, +CTSPillarNetworkA,3696,3696,3696,1980-02-14,369.3000000000155,369.31332,2015-01-01 01:01:36,bin3696,35, +CTSPillarNetworkA,3697,3697,3697,1980-02-15,369.4000000000155,369.41333,2015-01-01 01:01:37,bin3697,75, +CTSPillarNetworkA,3698,3698,3698,1980-02-16,369.5000000000155,369.51334,2015-01-01 01:01:38,bin3698,35, +CTSPillarNetworkA,3699,3699,3699,1980-02-17,369.60000000001554,369.61334,2015-01-01 01:01:39,bin3699,75, +CTSPillarNetworkA,3700,3700,3700,1980-02-18,369.70000000001556,369.71335,2015-01-01 01:01:40,bin3700,35, +CTSPillarNetworkA,3701,3701,3701,1980-02-19,369.8000000000156,369.81335,2015-01-01 01:01:41,bin3701,75, +CTSPillarNetworkA,3702,3702,3702,1980-02-20,369.9000000000156,369.91336,2015-01-01 01:01:42,bin3702,35, +CTSPillarNetworkA,3703,3703,3703,1980-02-21,370.00000000001563,370.01337,2015-01-01 01:01:43,bin3703,75, +CTSPillarNetworkA,3704,3704,3704,1980-02-22,370.10000000001565,370.11337,2015-01-01 01:01:44,bin3704,35, +CTSPillarNetworkA,3705,3705,3705,1980-02-23,370.2000000000157,370.21338,2015-01-01 01:01:45,bin3705,75, +CTSPillarNetworkA,3706,3706,3706,1980-02-24,370.3000000000157,370.3134,2015-01-01 01:01:46,bin3706,35, +CTSPillarNetworkA,3707,3707,3707,1980-02-25,370.4000000000157,370.4134,2015-01-01 01:01:47,bin3707,75, +CTSPillarNetworkA,3708,3708,3708,1980-02-26,370.50000000001575,370.5134,2015-01-01 01:01:48,bin3708,35, +CTSPillarNetworkA,3709,3709,3709,1980-02-27,370.60000000001577,370.6134,2015-01-01 01:01:49,bin3709,75, +CTSPillarNetworkA,3710,3710,3710,1980-02-28,370.7000000000158,370.7134,2015-01-01 01:01:50,bin3710,35, +CTSPillarNetworkA,3711,3711,3711,1980-02-29,370.8000000000158,370.81342,2015-01-01 01:01:51,bin3711,75, +CTSPillarNetworkA,3712,3712,3712,1980-03-01,370.90000000001584,370.91342,2015-01-01 01:01:52,bin3712,35, +CTSPillarNetworkA,3713,3713,3713,1980-03-02,371.00000000001586,371.01343,2015-01-01 01:01:53,bin3713,75, +CTSPillarNetworkA,3714,3714,3714,1980-03-03,371.1000000000159,371.11343,2015-01-01 01:01:54,bin3714,35, +CTSPillarNetworkA,3715,3715,3715,1980-03-04,371.2000000000159,371.21344,2015-01-01 01:01:55,bin3715,75, +CTSPillarNetworkA,3716,3716,3716,1980-03-05,371.3000000000159,371.31345,2015-01-01 01:01:56,bin3716,35, +CTSPillarNetworkA,3717,3717,3717,1980-03-06,371.40000000001595,371.41345,2015-01-01 01:01:57,bin3717,75, +CTSPillarNetworkA,3718,3718,3718,1980-03-07,371.500000000016,371.51346,2015-01-01 01:01:58,bin3718,35, +CTSPillarNetworkA,3719,3719,3719,1980-03-08,371.600000000016,371.61346,2015-01-01 01:01:59,bin3719,75, +CTSPillarNetworkA,3720,3720,3720,1980-03-09,371.700000000016,371.71347,2015-01-01 01:02:00,bin3720,35, +CTSPillarNetworkA,3721,3721,3721,1980-03-10,371.80000000001604,371.81348,2015-01-01 01:02:01,bin3721,75, +CTSPillarNetworkA,3722,3722,3722,1980-03-11,371.90000000001606,371.91348,2015-01-01 01:02:02,bin3722,35, +CTSPillarNetworkA,3723,3723,3723,1980-03-12,372.0000000000161,372.0135,2015-01-01 01:02:03,bin3723,75, +CTSPillarNetworkA,3724,3724,3724,1980-03-13,372.1000000000161,372.1135,2015-01-01 01:02:04,bin3724,35, +CTSPillarNetworkA,3725,3725,3725,1980-03-14,372.20000000001613,372.2135,2015-01-01 01:02:05,bin3725,75, +CTSPillarNetworkA,3726,3726,3726,1980-03-15,372.30000000001615,372.3135,2015-01-01 01:02:06,bin3726,35, +CTSPillarNetworkA,3727,3727,3727,1980-03-16,372.4000000000162,372.4135,2015-01-01 01:02:07,bin3727,75, +CTSPillarNetworkA,3728,3728,3728,1980-03-17,372.5000000000162,372.51352,2015-01-01 01:02:08,bin3728,35, +CTSPillarNetworkA,3729,3729,3729,1980-03-18,372.6000000000162,372.61353,2015-01-01 01:02:09,bin3729,75, +CTSPillarNetworkA,3730,3730,3730,1980-03-19,372.70000000001625,372.71353,2015-01-01 01:02:10,bin3730,35, +CTSPillarNetworkA,3731,3731,3731,1980-03-20,372.80000000001627,372.81354,2015-01-01 01:02:11,bin3731,75, +CTSPillarNetworkA,3732,3732,3732,1980-03-21,372.9000000000163,372.91354,2015-01-01 01:02:12,bin3732,35, +CTSPillarNetworkA,3733,3733,3733,1980-03-22,373.0000000000163,373.01355,2015-01-01 01:02:13,bin3733,75, +CTSPillarNetworkA,3734,3734,3734,1980-03-23,373.10000000001634,373.11356,2015-01-01 01:02:14,bin3734,35, +CTSPillarNetworkA,3735,3735,3735,1980-03-24,373.20000000001636,373.21356,2015-01-01 01:02:15,bin3735,75, +CTSPillarNetworkA,3736,3736,3736,1980-03-25,373.3000000000164,373.31357,2015-01-01 01:02:16,bin3736,35, +CTSPillarNetworkA,3737,3737,3737,1980-03-26,373.4000000000164,373.41357,2015-01-01 01:02:17,bin3737,75, +CTSPillarNetworkA,3738,3738,3738,1980-03-27,373.5000000000164,373.51358,2015-01-01 01:02:18,bin3738,35, +CTSPillarNetworkA,3739,3739,3739,1980-03-28,373.60000000001645,373.6136,2015-01-01 01:02:19,bin3739,75, +CTSPillarNetworkA,3740,3740,3740,1980-03-29,373.7000000000165,373.7136,2015-01-01 01:02:20,bin3740,35, +CTSPillarNetworkA,3741,3741,3741,1980-03-30,373.8000000000165,373.8136,2015-01-01 01:02:21,bin3741,75, +CTSPillarNetworkA,3742,3742,3742,1980-03-31,373.9000000000165,373.9136,2015-01-01 01:02:22,bin3742,35, +CTSPillarNetworkA,3743,3743,3743,1980-04-01,374.00000000001654,374.0136,2015-01-01 01:02:23,bin3743,75, +CTSPillarNetworkA,3744,3744,3744,1980-04-02,374.10000000001656,374.11362,2015-01-01 01:02:24,bin3744,35, +CTSPillarNetworkA,3745,3745,3745,1980-04-03,374.2000000000166,374.21362,2015-01-01 01:02:25,bin3745,75, +CTSPillarNetworkA,3746,3746,3746,1980-04-04,374.3000000000166,374.31363,2015-01-01 01:02:26,bin3746,35, +CTSPillarNetworkA,3747,3747,3747,1980-04-05,374.40000000001663,374.41364,2015-01-01 01:02:27,bin3747,75, +CTSPillarNetworkA,3748,3748,3748,1980-04-06,374.50000000001666,374.51364,2015-01-01 01:02:28,bin3748,35, +CTSPillarNetworkA,3749,3749,3749,1980-04-07,374.6000000000167,374.61365,2015-01-01 01:02:29,bin3749,75, +CTSPillarNetworkA,3750,3750,3750,1980-04-08,374.7000000000167,374.71365,2015-01-01 01:02:30,bin3750,35, +CTSPillarNetworkA,3751,3751,3751,1980-04-09,374.8000000000167,374.81366,2015-01-01 01:02:31,bin3751,75, +CTSPillarNetworkA,3752,3752,3752,1980-04-10,374.90000000001675,374.91367,2015-01-01 01:02:32,bin3752,35, +CTSPillarNetworkA,3753,3753,3753,1980-04-11,375.00000000001677,375.01367,2015-01-01 01:02:33,bin3753,75, +CTSPillarNetworkA,3754,3754,3754,1980-04-12,375.1000000000168,375.11368,2015-01-01 01:02:34,bin3754,35, +CTSPillarNetworkA,3755,3755,3755,1980-04-13,375.2000000000168,375.21368,2015-01-01 01:02:35,bin3755,75, +CTSPillarNetworkA,3756,3756,3756,1980-04-14,375.30000000001684,375.3137,2015-01-01 01:02:36,bin3756,35, +CTSPillarNetworkA,3757,3757,3757,1980-04-15,375.40000000001686,375.4137,2015-01-01 01:02:37,bin3757,75, +CTSPillarNetworkA,3758,3758,3758,1980-04-16,375.5000000000169,375.5137,2015-01-01 01:02:38,bin3758,35, +CTSPillarNetworkA,3759,3759,3759,1980-04-17,375.6000000000169,375.6137,2015-01-01 01:02:39,bin3759,75, +CTSPillarNetworkA,3760,3760,3760,1980-04-18,375.7000000000169,375.7137,2015-01-01 01:02:40,bin3760,35, +CTSPillarNetworkA,3761,3761,3761,1980-04-19,375.80000000001695,375.81372,2015-01-01 01:02:41,bin3761,75, +CTSPillarNetworkA,3762,3762,3762,1980-04-20,375.900000000017,375.91373,2015-01-01 01:02:42,bin3762,35, +CTSPillarNetworkA,3763,3763,3763,1980-04-21,376.000000000017,376.01373,2015-01-01 01:02:43,bin3763,75, +CTSPillarNetworkA,3764,3764,3764,1980-04-22,376.100000000017,376.11374,2015-01-01 01:02:44,bin3764,35, +CTSPillarNetworkA,3765,3765,3765,1980-04-23,376.20000000001704,376.21375,2015-01-01 01:02:45,bin3765,75, +CTSPillarNetworkA,3766,3766,3766,1980-04-24,376.30000000001706,376.31375,2015-01-01 01:02:46,bin3766,35, +CTSPillarNetworkA,3767,3767,3767,1980-04-25,376.4000000000171,376.41376,2015-01-01 01:02:47,bin3767,75, +CTSPillarNetworkA,3768,3768,3768,1980-04-26,376.5000000000171,376.51376,2015-01-01 01:02:48,bin3768,35, +CTSPillarNetworkA,3769,3769,3769,1980-04-27,376.60000000001713,376.61377,2015-01-01 01:02:49,bin3769,75, +CTSPillarNetworkA,3770,3770,3770,1980-04-28,376.70000000001716,376.71378,2015-01-01 01:02:50,bin3770,35, +CTSPillarNetworkA,3771,3771,3771,1980-04-29,376.8000000000172,376.81378,2015-01-01 01:02:51,bin3771,75, +CTSPillarNetworkA,3772,3772,3772,1980-04-30,376.9000000000172,376.9138,2015-01-01 01:02:52,bin3772,35, +CTSPillarNetworkA,3773,3773,3773,1980-05-01,377.0000000000172,377.0138,2015-01-01 01:02:53,bin3773,75, +CTSPillarNetworkA,3774,3774,3774,1980-05-02,377.10000000001725,377.1138,2015-01-01 01:02:54,bin3774,35, +CTSPillarNetworkA,3775,3775,3775,1980-05-03,377.20000000001727,377.2138,2015-01-01 01:02:55,bin3775,75, +CTSPillarNetworkA,3776,3776,3776,1980-05-04,377.3000000000173,377.3138,2015-01-01 01:02:56,bin3776,35, +CTSPillarNetworkA,3777,3777,3777,1980-05-05,377.4000000000173,377.41382,2015-01-01 01:02:57,bin3777,75, +CTSPillarNetworkA,3778,3778,3778,1980-05-06,377.50000000001734,377.51382,2015-01-01 01:02:58,bin3778,35, +CTSPillarNetworkA,3779,3779,3779,1980-05-07,377.60000000001736,377.61383,2015-01-01 01:02:59,bin3779,75, +CTSPillarNetworkA,3780,3780,3780,1980-05-08,377.7000000000174,377.71384,2015-01-01 01:03:00,bin3780,35, +CTSPillarNetworkA,3781,3781,3781,1980-05-09,377.8000000000174,377.81384,2015-01-01 01:03:01,bin3781,75, +CTSPillarNetworkA,3782,3782,3782,1980-05-10,377.9000000000174,377.91385,2015-01-01 01:03:02,bin3782,35, +CTSPillarNetworkA,3783,3783,3783,1980-05-11,378.00000000001745,378.01385,2015-01-01 01:03:03,bin3783,75, +CTSPillarNetworkA,3784,3784,3784,1980-05-12,378.1000000000175,378.11386,2015-01-01 01:03:04,bin3784,35, +CTSPillarNetworkA,3785,3785,3785,1980-05-13,378.2000000000175,378.21387,2015-01-01 01:03:05,bin3785,75, +CTSPillarNetworkA,3786,3786,3786,1980-05-14,378.3000000000175,378.31387,2015-01-01 01:03:06,bin3786,35, +CTSPillarNetworkA,3787,3787,3787,1980-05-15,378.40000000001754,378.41388,2015-01-01 01:03:07,bin3787,75, +CTSPillarNetworkA,3788,3788,3788,1980-05-16,378.50000000001756,378.5139,2015-01-01 01:03:08,bin3788,35, +CTSPillarNetworkA,3789,3789,3789,1980-05-17,378.6000000000176,378.6139,2015-01-01 01:03:09,bin3789,75, +CTSPillarNetworkA,3790,3790,3790,1980-05-18,378.7000000000176,378.7139,2015-01-01 01:03:10,bin3790,35, +CTSPillarNetworkA,3791,3791,3791,1980-05-19,378.80000000001763,378.8139,2015-01-01 01:03:11,bin3791,75, +CTSPillarNetworkA,3792,3792,3792,1980-05-20,378.90000000001766,378.9139,2015-01-01 01:03:12,bin3792,35, +CTSPillarNetworkA,3793,3793,3793,1980-05-21,379.0000000000177,379.01392,2015-01-01 01:03:13,bin3793,75, +CTSPillarNetworkA,3794,3794,3794,1980-05-22,379.1000000000177,379.11392,2015-01-01 01:03:14,bin3794,35, +CTSPillarNetworkA,3795,3795,3795,1980-05-23,379.2000000000177,379.21393,2015-01-01 01:03:15,bin3795,75, +CTSPillarNetworkA,3796,3796,3796,1980-05-24,379.30000000001775,379.31393,2015-01-01 01:03:16,bin3796,35, +CTSPillarNetworkA,3797,3797,3797,1980-05-25,379.40000000001777,379.41394,2015-01-01 01:03:17,bin3797,75, +CTSPillarNetworkA,3798,3798,3798,1980-05-26,379.5000000000178,379.51395,2015-01-01 01:03:18,bin3798,35, +CTSPillarNetworkA,3799,3799,3799,1980-05-27,379.6000000000178,379.61395,2015-01-01 01:03:19,bin3799,75, +CTSPillarNetworkA,3800,3800,3800,1980-05-28,379.70000000001784,379.71396,2015-01-01 01:03:20,bin3800,35, +CTSPillarNetworkA,3801,3801,3801,1980-05-29,379.80000000001786,379.81396,2015-01-01 01:03:21,bin3801,75, +CTSPillarNetworkA,3802,3802,3802,1980-05-30,379.9000000000179,379.91397,2015-01-01 01:03:22,bin3802,35, +CTSPillarNetworkA,3803,3803,3803,1980-05-31,380.0000000000179,380.01398,2015-01-01 01:03:23,bin3803,75, +CTSPillarNetworkA,3804,3804,3804,1980-06-01,380.1000000000179,380.11398,2015-01-01 01:03:24,bin3804,35, +CTSPillarNetworkA,3805,3805,3805,1980-06-02,380.20000000001795,380.214,2015-01-01 01:03:25,bin3805,75, +CTSPillarNetworkA,3806,3806,3806,1980-06-03,380.300000000018,380.314,2015-01-01 01:03:26,bin3806,35, +CTSPillarNetworkA,3807,3807,3807,1980-06-04,380.400000000018,380.414,2015-01-01 01:03:27,bin3807,75, +CTSPillarNetworkA,3808,3808,3808,1980-06-05,380.500000000018,380.514,2015-01-01 01:03:28,bin3808,35, +CTSPillarNetworkA,3809,3809,3809,1980-06-06,380.60000000001804,380.614,2015-01-01 01:03:29,bin3809,75, +CTSPillarNetworkA,3810,3810,3810,1980-06-07,380.70000000001806,380.71402,2015-01-01 01:03:30,bin3810,35, +CTSPillarNetworkA,3811,3811,3811,1980-06-08,380.8000000000181,380.81403,2015-01-01 01:03:31,bin3811,75, +CTSPillarNetworkA,3812,3812,3812,1980-06-09,380.9000000000181,380.91403,2015-01-01 01:03:32,bin3812,35, +CTSPillarNetworkA,3813,3813,3813,1980-06-10,381.00000000001813,381.01404,2015-01-01 01:03:33,bin3813,75, +CTSPillarNetworkA,3814,3814,3814,1980-06-11,381.10000000001816,381.11404,2015-01-01 01:03:34,bin3814,35, +CTSPillarNetworkA,3815,3815,3815,1980-06-12,381.2000000000182,381.21405,2015-01-01 01:03:35,bin3815,75, +CTSPillarNetworkA,3816,3816,3816,1980-06-13,381.3000000000182,381.31406,2015-01-01 01:03:36,bin3816,35, +CTSPillarNetworkA,3817,3817,3817,1980-06-14,381.4000000000182,381.41406,2015-01-01 01:03:37,bin3817,75, +CTSPillarNetworkA,3818,3818,3818,1980-06-15,381.50000000001825,381.51407,2015-01-01 01:03:38,bin3818,35, +CTSPillarNetworkA,3819,3819,3819,1980-06-16,381.60000000001827,381.61407,2015-01-01 01:03:39,bin3819,75, +CTSPillarNetworkA,3820,3820,3820,1980-06-17,381.7000000000183,381.71408,2015-01-01 01:03:40,bin3820,35, +CTSPillarNetworkA,3821,3821,3821,1980-06-18,381.8000000000183,381.8141,2015-01-01 01:03:41,bin3821,75, +CTSPillarNetworkA,3822,3822,3822,1980-06-19,381.90000000001834,381.9141,2015-01-01 01:03:42,bin3822,35, +CTSPillarNetworkA,3823,3823,3823,1980-06-20,382.00000000001836,382.0141,2015-01-01 01:03:43,bin3823,75, +CTSPillarNetworkA,3824,3824,3824,1980-06-21,382.1000000000184,382.1141,2015-01-01 01:03:44,bin3824,35, +CTSPillarNetworkA,3825,3825,3825,1980-06-22,382.2000000000184,382.2141,2015-01-01 01:03:45,bin3825,75, +CTSPillarNetworkA,3826,3826,3826,1980-06-23,382.30000000001843,382.31412,2015-01-01 01:03:46,bin3826,35, +CTSPillarNetworkA,3827,3827,3827,1980-06-24,382.40000000001845,382.41412,2015-01-01 01:03:47,bin3827,75, +CTSPillarNetworkA,3828,3828,3828,1980-06-25,382.5000000000185,382.51413,2015-01-01 01:03:48,bin3828,35, +CTSPillarNetworkA,3829,3829,3829,1980-06-26,382.6000000000185,382.61414,2015-01-01 01:03:49,bin3829,75, +CTSPillarNetworkA,3830,3830,3830,1980-06-27,382.7000000000185,382.71414,2015-01-01 01:03:50,bin3830,35, +CTSPillarNetworkA,3831,3831,3831,1980-06-28,382.80000000001854,382.81415,2015-01-01 01:03:51,bin3831,75, +CTSPillarNetworkA,3832,3832,3832,1980-06-29,382.90000000001857,382.91415,2015-01-01 01:03:52,bin3832,35, +CTSPillarNetworkA,3833,3833,3833,1980-06-30,383.0000000000186,383.01416,2015-01-01 01:03:53,bin3833,75, +CTSPillarNetworkA,3834,3834,3834,1980-07-01,383.1000000000186,383.11417,2015-01-01 01:03:54,bin3834,35, +CTSPillarNetworkA,3835,3835,3835,1980-07-02,383.20000000001863,383.21417,2015-01-01 01:03:55,bin3835,75, +CTSPillarNetworkA,3836,3836,3836,1980-07-03,383.30000000001866,383.31418,2015-01-01 01:03:56,bin3836,35, +CTSPillarNetworkA,3837,3837,3837,1980-07-04,383.4000000000187,383.41418,2015-01-01 01:03:57,bin3837,75, +CTSPillarNetworkA,3838,3838,3838,1980-07-05,383.5000000000187,383.5142,2015-01-01 01:03:58,bin3838,35, +CTSPillarNetworkA,3839,3839,3839,1980-07-06,383.6000000000187,383.6142,2015-01-01 01:03:59,bin3839,75, +CTSPillarNetworkA,3840,3840,3840,1980-07-07,383.70000000001875,383.7142,2015-01-01 01:04:00,bin3840,35, +CTSPillarNetworkA,3841,3841,3841,1980-07-08,383.80000000001877,383.8142,2015-01-01 01:04:01,bin3841,75, +CTSPillarNetworkA,3842,3842,3842,1980-07-09,383.9000000000188,383.9142,2015-01-01 01:04:02,bin3842,35, +CTSPillarNetworkA,3843,3843,3843,1980-07-10,384.0000000000188,384.01422,2015-01-01 01:04:03,bin3843,75, +CTSPillarNetworkA,3844,3844,3844,1980-07-11,384.10000000001884,384.11423,2015-01-01 01:04:04,bin3844,35, +CTSPillarNetworkA,3845,3845,3845,1980-07-12,384.20000000001886,384.21423,2015-01-01 01:04:05,bin3845,75, +CTSPillarNetworkA,3846,3846,3846,1980-07-13,384.3000000000189,384.31424,2015-01-01 01:04:06,bin3846,35, +CTSPillarNetworkA,3847,3847,3847,1980-07-14,384.4000000000189,384.41425,2015-01-01 01:04:07,bin3847,75, +CTSPillarNetworkA,3848,3848,3848,1980-07-15,384.50000000001893,384.51425,2015-01-01 01:04:08,bin3848,35, +CTSPillarNetworkA,3849,3849,3849,1980-07-16,384.60000000001895,384.61426,2015-01-01 01:04:09,bin3849,75, +CTSPillarNetworkA,3850,3850,3850,1980-07-17,384.700000000019,384.71426,2015-01-01 01:04:10,bin3850,35, +CTSPillarNetworkA,3851,3851,3851,1980-07-18,384.800000000019,384.81427,2015-01-01 01:04:11,bin3851,75, +CTSPillarNetworkA,3852,3852,3852,1980-07-19,384.900000000019,384.91428,2015-01-01 01:04:12,bin3852,35, +CTSPillarNetworkA,3853,3853,3853,1980-07-20,385.00000000001904,385.01428,2015-01-01 01:04:13,bin3853,75, +CTSPillarNetworkA,3854,3854,3854,1980-07-21,385.10000000001907,385.1143,2015-01-01 01:04:14,bin3854,35, +CTSPillarNetworkA,3855,3855,3855,1980-07-22,385.2000000000191,385.2143,2015-01-01 01:04:15,bin3855,75, +CTSPillarNetworkA,3856,3856,3856,1980-07-23,385.3000000000191,385.3143,2015-01-01 01:04:16,bin3856,35, +CTSPillarNetworkA,3857,3857,3857,1980-07-24,385.40000000001913,385.4143,2015-01-01 01:04:17,bin3857,75, +CTSPillarNetworkA,3858,3858,3858,1980-07-25,385.50000000001916,385.5143,2015-01-01 01:04:18,bin3858,35, +CTSPillarNetworkA,3859,3859,3859,1980-07-26,385.6000000000192,385.61432,2015-01-01 01:04:19,bin3859,75, +CTSPillarNetworkA,3860,3860,3860,1980-07-27,385.7000000000192,385.71432,2015-01-01 01:04:20,bin3860,35, +CTSPillarNetworkA,3861,3861,3861,1980-07-28,385.8000000000192,385.81433,2015-01-01 01:04:21,bin3861,75, +CTSPillarNetworkA,3862,3862,3862,1980-07-29,385.90000000001925,385.91434,2015-01-01 01:04:22,bin3862,35, +CTSPillarNetworkA,3863,3863,3863,1980-07-30,386.00000000001927,386.01434,2015-01-01 01:04:23,bin3863,75, +CTSPillarNetworkA,3864,3864,3864,1980-07-31,386.1000000000193,386.11435,2015-01-01 01:04:24,bin3864,35, +CTSPillarNetworkA,3865,3865,3865,1980-08-01,386.2000000000193,386.21436,2015-01-01 01:04:25,bin3865,75, +CTSPillarNetworkA,3866,3866,3866,1980-08-02,386.30000000001934,386.31436,2015-01-01 01:04:26,bin3866,35, +CTSPillarNetworkA,3867,3867,3867,1980-08-03,386.40000000001936,386.41437,2015-01-01 01:04:27,bin3867,75, +CTSPillarNetworkA,3868,3868,3868,1980-08-04,386.5000000000194,386.51437,2015-01-01 01:04:28,bin3868,35, +CTSPillarNetworkA,3869,3869,3869,1980-08-05,386.6000000000194,386.61438,2015-01-01 01:04:29,bin3869,75, +CTSPillarNetworkA,3870,3870,3870,1980-08-06,386.70000000001943,386.7144,2015-01-01 01:04:30,bin3870,35, +CTSPillarNetworkA,3871,3871,3871,1980-08-07,386.80000000001945,386.8144,2015-01-01 01:04:31,bin3871,75, +CTSPillarNetworkA,3872,3872,3872,1980-08-08,386.9000000000195,386.9144,2015-01-01 01:04:32,bin3872,35, +CTSPillarNetworkA,3873,3873,3873,1980-08-09,387.0000000000195,387.0144,2015-01-01 01:04:33,bin3873,75, +CTSPillarNetworkA,3874,3874,3874,1980-08-10,387.1000000000195,387.1144,2015-01-01 01:04:34,bin3874,35, +CTSPillarNetworkA,3875,3875,3875,1980-08-11,387.20000000001954,387.21442,2015-01-01 01:04:35,bin3875,75, +CTSPillarNetworkA,3876,3876,3876,1980-08-12,387.30000000001957,387.31442,2015-01-01 01:04:36,bin3876,35, +CTSPillarNetworkA,3877,3877,3877,1980-08-13,387.4000000000196,387.41443,2015-01-01 01:04:37,bin3877,75, +CTSPillarNetworkA,3878,3878,3878,1980-08-14,387.5000000000196,387.51443,2015-01-01 01:04:38,bin3878,35, +CTSPillarNetworkA,3879,3879,3879,1980-08-15,387.60000000001963,387.61444,2015-01-01 01:04:39,bin3879,75, +CTSPillarNetworkA,3880,3880,3880,1980-08-16,387.70000000001966,387.71445,2015-01-01 01:04:40,bin3880,35, +CTSPillarNetworkA,3881,3881,3881,1980-08-17,387.8000000000197,387.81445,2015-01-01 01:04:41,bin3881,75, +CTSPillarNetworkA,3882,3882,3882,1980-08-18,387.9000000000197,387.91446,2015-01-01 01:04:42,bin3882,35, +CTSPillarNetworkA,3883,3883,3883,1980-08-19,388.0000000000197,388.01447,2015-01-01 01:04:43,bin3883,75, +CTSPillarNetworkA,3884,3884,3884,1980-08-20,388.10000000001975,388.11447,2015-01-01 01:04:44,bin3884,35, +CTSPillarNetworkA,3885,3885,3885,1980-08-21,388.20000000001977,388.21448,2015-01-01 01:04:45,bin3885,75, +CTSPillarNetworkA,3886,3886,3886,1980-08-22,388.3000000000198,388.31448,2015-01-01 01:04:46,bin3886,35, +CTSPillarNetworkA,3887,3887,3887,1980-08-23,388.4000000000198,388.4145,2015-01-01 01:04:47,bin3887,75, +CTSPillarNetworkA,3888,3888,3888,1980-08-24,388.50000000001984,388.5145,2015-01-01 01:04:48,bin3888,35, +CTSPillarNetworkA,3889,3889,3889,1980-08-25,388.60000000001986,388.6145,2015-01-01 01:04:49,bin3889,75, +CTSPillarNetworkA,3890,3890,3890,1980-08-26,388.7000000000199,388.7145,2015-01-01 01:04:50,bin3890,35, +CTSPillarNetworkA,3891,3891,3891,1980-08-27,388.8000000000199,388.8145,2015-01-01 01:04:51,bin3891,75, +CTSPillarNetworkA,3892,3892,3892,1980-08-28,388.90000000001993,388.91452,2015-01-01 01:04:52,bin3892,35, +CTSPillarNetworkA,3893,3893,3893,1980-08-29,389.00000000001995,389.01453,2015-01-01 01:04:53,bin3893,75, +CTSPillarNetworkA,3894,3894,3894,1980-08-30,389.10000000002,389.11453,2015-01-01 01:04:54,bin3894,35, +CTSPillarNetworkA,3895,3895,3895,1980-08-31,389.20000000002,389.21454,2015-01-01 01:04:55,bin3895,75, +CTSPillarNetworkA,3896,3896,3896,1980-09-01,389.30000000002,389.31454,2015-01-01 01:04:56,bin3896,35, +CTSPillarNetworkA,3897,3897,3897,1980-09-02,389.40000000002004,389.41455,2015-01-01 01:04:57,bin3897,75, +CTSPillarNetworkA,3898,3898,3898,1980-09-03,389.50000000002007,389.51456,2015-01-01 01:04:58,bin3898,35, +CTSPillarNetworkA,3899,3899,3899,1980-09-04,389.6000000000201,389.61456,2015-01-01 01:04:59,bin3899,75, +CTSPillarNetworkA,3900,3900,3900,1980-09-05,389.7000000000201,389.71457,2015-01-01 01:05:00,bin3900,35, +CTSPillarNetworkA,3901,3901,3901,1980-09-06,389.80000000002013,389.81458,2015-01-01 01:05:01,bin3901,75, +CTSPillarNetworkA,3902,3902,3902,1980-09-07,389.90000000002016,389.91458,2015-01-01 01:05:02,bin3902,35, +CTSPillarNetworkA,3903,3903,3903,1980-09-08,390.0000000000202,390.0146,2015-01-01 01:05:03,bin3903,75, +CTSPillarNetworkA,3904,3904,3904,1980-09-09,390.1000000000202,390.1146,2015-01-01 01:05:04,bin3904,35, +CTSPillarNetworkA,3905,3905,3905,1980-09-10,390.2000000000202,390.2146,2015-01-01 01:05:05,bin3905,75, +CTSPillarNetworkA,3906,3906,3906,1980-09-11,390.30000000002025,390.3146,2015-01-01 01:05:06,bin3906,35, +CTSPillarNetworkA,3907,3907,3907,1980-09-12,390.40000000002027,390.4146,2015-01-01 01:05:07,bin3907,75, +CTSPillarNetworkA,3908,3908,3908,1980-09-13,390.5000000000203,390.51462,2015-01-01 01:05:08,bin3908,35, +CTSPillarNetworkA,3909,3909,3909,1980-09-14,390.6000000000203,390.61462,2015-01-01 01:05:09,bin3909,75, +CTSPillarNetworkA,3910,3910,3910,1980-09-15,390.70000000002034,390.71463,2015-01-01 01:05:10,bin3910,35, +CTSPillarNetworkA,3911,3911,3911,1980-09-16,390.80000000002036,390.81464,2015-01-01 01:05:11,bin3911,75, +CTSPillarNetworkA,3912,3912,3912,1980-09-17,390.9000000000204,390.91464,2015-01-01 01:05:12,bin3912,35, +CTSPillarNetworkA,3913,3913,3913,1980-09-18,391.0000000000204,391.01465,2015-01-01 01:05:13,bin3913,75, +CTSPillarNetworkA,3914,3914,3914,1980-09-19,391.10000000002043,391.11465,2015-01-01 01:05:14,bin3914,35, +CTSPillarNetworkA,3915,3915,3915,1980-09-20,391.20000000002045,391.21466,2015-01-01 01:05:15,bin3915,75, +CTSPillarNetworkA,3916,3916,3916,1980-09-21,391.3000000000205,391.31467,2015-01-01 01:05:16,bin3916,35, +CTSPillarNetworkA,3917,3917,3917,1980-09-22,391.4000000000205,391.41467,2015-01-01 01:05:17,bin3917,75, +CTSPillarNetworkA,3918,3918,3918,1980-09-23,391.5000000000205,391.51468,2015-01-01 01:05:18,bin3918,35, +CTSPillarNetworkA,3919,3919,3919,1980-09-24,391.60000000002054,391.6147,2015-01-01 01:05:19,bin3919,75, +CTSPillarNetworkA,3920,3920,3920,1980-09-25,391.70000000002057,391.7147,2015-01-01 01:05:20,bin3920,35, +CTSPillarNetworkA,3921,3921,3921,1980-09-26,391.8000000000206,391.8147,2015-01-01 01:05:21,bin3921,75, +CTSPillarNetworkA,3922,3922,3922,1980-09-27,391.9000000000206,391.9147,2015-01-01 01:05:22,bin3922,35, +CTSPillarNetworkA,3923,3923,3923,1980-09-28,392.00000000002063,392.0147,2015-01-01 01:05:23,bin3923,75, +CTSPillarNetworkA,3924,3924,3924,1980-09-29,392.10000000002066,392.11472,2015-01-01 01:05:24,bin3924,35, +CTSPillarNetworkA,3925,3925,3925,1980-09-30,392.2000000000207,392.21472,2015-01-01 01:05:25,bin3925,75, +CTSPillarNetworkA,3926,3926,3926,1980-10-01,392.3000000000207,392.31473,2015-01-01 01:05:26,bin3926,35, +CTSPillarNetworkA,3927,3927,3927,1980-10-02,392.4000000000207,392.41473,2015-01-01 01:05:27,bin3927,75, +CTSPillarNetworkA,3928,3928,3928,1980-10-03,392.50000000002075,392.51474,2015-01-01 01:05:28,bin3928,35, +CTSPillarNetworkA,3929,3929,3929,1980-10-04,392.60000000002077,392.61475,2015-01-01 01:05:29,bin3929,75, +CTSPillarNetworkA,3930,3930,3930,1980-10-05,392.7000000000208,392.71475,2015-01-01 01:05:30,bin3930,35, +CTSPillarNetworkA,3931,3931,3931,1980-10-06,392.8000000000208,392.81476,2015-01-01 01:05:31,bin3931,75, +CTSPillarNetworkA,3932,3932,3932,1980-10-07,392.90000000002084,392.91476,2015-01-01 01:05:32,bin3932,35, +CTSPillarNetworkA,3933,3933,3933,1980-10-08,393.00000000002086,393.01477,2015-01-01 01:05:33,bin3933,75, +CTSPillarNetworkA,3934,3934,3934,1980-10-09,393.1000000000209,393.11478,2015-01-01 01:05:34,bin3934,35, +CTSPillarNetworkA,3935,3935,3935,1980-10-10,393.2000000000209,393.21478,2015-01-01 01:05:35,bin3935,75, +CTSPillarNetworkA,3936,3936,3936,1980-10-11,393.30000000002093,393.3148,2015-01-01 01:05:36,bin3936,35, +CTSPillarNetworkA,3937,3937,3937,1980-10-12,393.40000000002095,393.4148,2015-01-01 01:05:37,bin3937,75, +CTSPillarNetworkA,3938,3938,3938,1980-10-13,393.500000000021,393.5148,2015-01-01 01:05:38,bin3938,35, +CTSPillarNetworkA,3939,3939,3939,1980-10-14,393.600000000021,393.6148,2015-01-01 01:05:39,bin3939,75, +CTSPillarNetworkA,3940,3940,3940,1980-10-15,393.700000000021,393.7148,2015-01-01 01:05:40,bin3940,35, +CTSPillarNetworkA,3941,3941,3941,1980-10-16,393.80000000002104,393.81482,2015-01-01 01:05:41,bin3941,75, +CTSPillarNetworkA,3942,3942,3942,1980-10-17,393.90000000002107,393.91483,2015-01-01 01:05:42,bin3942,35, +CTSPillarNetworkA,3943,3943,3943,1980-10-18,394.0000000000211,394.01483,2015-01-01 01:05:43,bin3943,75, +CTSPillarNetworkA,3944,3944,3944,1980-10-19,394.1000000000211,394.11484,2015-01-01 01:05:44,bin3944,35, +CTSPillarNetworkA,3945,3945,3945,1980-10-20,394.20000000002113,394.21484,2015-01-01 01:05:45,bin3945,75, +CTSPillarNetworkA,3946,3946,3946,1980-10-21,394.30000000002116,394.31485,2015-01-01 01:05:46,bin3946,35, +CTSPillarNetworkA,3947,3947,3947,1980-10-22,394.4000000000212,394.41486,2015-01-01 01:05:47,bin3947,75, +CTSPillarNetworkA,3948,3948,3948,1980-10-23,394.5000000000212,394.51486,2015-01-01 01:05:48,bin3948,35, +CTSPillarNetworkA,3949,3949,3949,1980-10-24,394.6000000000212,394.61487,2015-01-01 01:05:49,bin3949,75, +CTSPillarNetworkA,3950,3950,3950,1980-10-25,394.70000000002125,394.71487,2015-01-01 01:05:50,bin3950,35, +CTSPillarNetworkA,3951,3951,3951,1980-10-26,394.80000000002127,394.81488,2015-01-01 01:05:51,bin3951,75, +CTSPillarNetworkA,3952,3952,3952,1980-10-27,394.9000000000213,394.9149,2015-01-01 01:05:52,bin3952,35, +CTSPillarNetworkA,3953,3953,3953,1980-10-28,395.0000000000213,395.0149,2015-01-01 01:05:53,bin3953,75, +CTSPillarNetworkA,3954,3954,3954,1980-10-29,395.10000000002134,395.1149,2015-01-01 01:05:54,bin3954,35, +CTSPillarNetworkA,3955,3955,3955,1980-10-30,395.20000000002136,395.2149,2015-01-01 01:05:55,bin3955,75, +CTSPillarNetworkA,3956,3956,3956,1980-10-31,395.3000000000214,395.3149,2015-01-01 01:05:56,bin3956,35, +CTSPillarNetworkA,3957,3957,3957,1980-11-01,395.4000000000214,395.41492,2015-01-01 01:05:57,bin3957,75, +CTSPillarNetworkA,3958,3958,3958,1980-11-02,395.50000000002143,395.51492,2015-01-01 01:05:58,bin3958,35, +CTSPillarNetworkA,3959,3959,3959,1980-11-03,395.60000000002145,395.61493,2015-01-01 01:05:59,bin3959,75, +CTSPillarNetworkA,3960,3960,3960,1980-11-04,395.7000000000215,395.71494,2015-01-01 01:06:00,bin3960,35, +CTSPillarNetworkA,3961,3961,3961,1980-11-05,395.8000000000215,395.81494,2015-01-01 01:06:01,bin3961,75, +CTSPillarNetworkA,3962,3962,3962,1980-11-06,395.9000000000215,395.91495,2015-01-01 01:06:02,bin3962,35, +CTSPillarNetworkA,3963,3963,3963,1980-11-07,396.00000000002154,396.01495,2015-01-01 01:06:03,bin3963,75, +CTSPillarNetworkA,3964,3964,3964,1980-11-08,396.10000000002157,396.11496,2015-01-01 01:06:04,bin3964,35, +CTSPillarNetworkA,3965,3965,3965,1980-11-09,396.2000000000216,396.21497,2015-01-01 01:06:05,bin3965,75, +CTSPillarNetworkA,3966,3966,3966,1980-11-10,396.3000000000216,396.31497,2015-01-01 01:06:06,bin3966,35, +CTSPillarNetworkA,3967,3967,3967,1980-11-11,396.40000000002163,396.41498,2015-01-01 01:06:07,bin3967,75, +CTSPillarNetworkA,3968,3968,3968,1980-11-12,396.50000000002166,396.51498,2015-01-01 01:06:08,bin3968,35, +CTSPillarNetworkA,3969,3969,3969,1980-11-13,396.6000000000217,396.615,2015-01-01 01:06:09,bin3969,75, +CTSPillarNetworkA,3970,3970,3970,1980-11-14,396.7000000000217,396.715,2015-01-01 01:06:10,bin3970,35, +CTSPillarNetworkA,3971,3971,3971,1980-11-15,396.8000000000217,396.815,2015-01-01 01:06:11,bin3971,75, +CTSPillarNetworkA,3972,3972,3972,1980-11-16,396.90000000002175,396.915,2015-01-01 01:06:12,bin3972,35, +CTSPillarNetworkA,3973,3973,3973,1980-11-17,397.00000000002177,397.015,2015-01-01 01:06:13,bin3973,75, +CTSPillarNetworkA,3974,3974,3974,1980-11-18,397.1000000000218,397.11502,2015-01-01 01:06:14,bin3974,35, +CTSPillarNetworkA,3975,3975,3975,1980-11-19,397.2000000000218,397.21503,2015-01-01 01:06:15,bin3975,75, +CTSPillarNetworkA,3976,3976,3976,1980-11-20,397.30000000002184,397.31503,2015-01-01 01:06:16,bin3976,35, +CTSPillarNetworkA,3977,3977,3977,1980-11-21,397.40000000002186,397.41504,2015-01-01 01:06:17,bin3977,75, +CTSPillarNetworkA,3978,3978,3978,1980-11-22,397.5000000000219,397.51505,2015-01-01 01:06:18,bin3978,35, +CTSPillarNetworkA,3979,3979,3979,1980-11-23,397.6000000000219,397.61505,2015-01-01 01:06:19,bin3979,75, +CTSPillarNetworkA,3980,3980,3980,1980-11-24,397.70000000002193,397.71506,2015-01-01 01:06:20,bin3980,35, +CTSPillarNetworkA,3981,3981,3981,1980-11-25,397.80000000002195,397.81506,2015-01-01 01:06:21,bin3981,75, +CTSPillarNetworkA,3982,3982,3982,1980-11-26,397.900000000022,397.91507,2015-01-01 01:06:22,bin3982,35, +CTSPillarNetworkA,3983,3983,3983,1980-11-27,398.000000000022,398.01508,2015-01-01 01:06:23,bin3983,75, +CTSPillarNetworkA,3984,3984,3984,1980-11-28,398.100000000022,398.11508,2015-01-01 01:06:24,bin3984,35, +CTSPillarNetworkA,3985,3985,3985,1980-11-29,398.20000000002204,398.2151,2015-01-01 01:06:25,bin3985,75, +CTSPillarNetworkA,3986,3986,3986,1980-11-30,398.30000000002207,398.3151,2015-01-01 01:06:26,bin3986,35, +CTSPillarNetworkA,3987,3987,3987,1980-12-01,398.4000000000221,398.4151,2015-01-01 01:06:27,bin3987,75, +CTSPillarNetworkA,3988,3988,3988,1980-12-02,398.5000000000221,398.5151,2015-01-01 01:06:28,bin3988,35, +CTSPillarNetworkA,3989,3989,3989,1980-12-03,398.60000000002213,398.6151,2015-01-01 01:06:29,bin3989,75, +CTSPillarNetworkA,3990,3990,3990,1980-12-04,398.70000000002216,398.71512,2015-01-01 01:06:30,bin3990,35, +CTSPillarNetworkA,3991,3991,3991,1980-12-05,398.8000000000222,398.81512,2015-01-01 01:06:31,bin3991,75, +CTSPillarNetworkA,3992,3992,3992,1980-12-06,398.9000000000222,398.91513,2015-01-01 01:06:32,bin3992,35, +CTSPillarNetworkA,3993,3993,3993,1980-12-07,399.0000000000222,399.01514,2015-01-01 01:06:33,bin3993,75, +CTSPillarNetworkA,3994,3994,3994,1980-12-08,399.10000000002225,399.11514,2015-01-01 01:06:34,bin3994,35, +CTSPillarNetworkA,3995,3995,3995,1980-12-09,399.20000000002227,399.21515,2015-01-01 01:06:35,bin3995,75, +CTSPillarNetworkA,3996,3996,3996,1980-12-10,399.3000000000223,399.31516,2015-01-01 01:06:36,bin3996,35, +CTSPillarNetworkA,3997,3997,3997,1980-12-11,399.4000000000223,399.41516,2015-01-01 01:06:37,bin3997,75, +CTSPillarNetworkA,3998,3998,3998,1980-12-12,399.50000000002234,399.51517,2015-01-01 01:06:38,bin3998,35, +CTSPillarNetworkA,3999,3999,3999,1980-12-13,399.60000000002236,399.61517,2015-01-01 01:06:39,bin3999,75, +CTSPillarNetworkA,4000,4000,4000,1980-12-14,399.7000000000224,399.71518,2015-01-01 01:06:40,bin4000,35, +CTSPillarNetworkA,4001,4001,4001,1980-12-15,399.8000000000224,399.8152,2015-01-01 01:06:41,bin4001,75, +CTSPillarNetworkA,4002,4002,4002,1980-12-16,399.90000000002243,399.9152,2015-01-01 01:06:42,bin4002,35, +CTSPillarNetworkA,4003,4003,4003,1980-12-17,400.00000000002245,400.0152,2015-01-01 01:06:43,bin4003,75, +CTSPillarNetworkA,4004,4004,4004,1980-12-18,400.1000000000225,400.1152,2015-01-01 01:06:44,bin4004,35, +CTSPillarNetworkA,4005,4005,4005,1980-12-19,400.2000000000225,400.2152,2015-01-01 01:06:45,bin4005,75, +CTSPillarNetworkA,4006,4006,4006,1980-12-20,400.3000000000225,400.31522,2015-01-01 01:06:46,bin4006,35, +CTSPillarNetworkA,4007,4007,4007,1980-12-21,400.40000000002254,400.41522,2015-01-01 01:06:47,bin4007,75, +CTSPillarNetworkA,4008,4008,4008,1980-12-22,400.50000000002257,400.51523,2015-01-01 01:06:48,bin4008,35, +CTSPillarNetworkA,4009,4009,4009,1980-12-23,400.6000000000226,400.61523,2015-01-01 01:06:49,bin4009,75, +CTSPillarNetworkA,4010,4010,4010,1980-12-24,400.7000000000226,400.71524,2015-01-01 01:06:50,bin4010,35, +CTSPillarNetworkA,4011,4011,4011,1980-12-25,400.80000000002264,400.81525,2015-01-01 01:06:51,bin4011,75, +CTSPillarNetworkA,4012,4012,4012,1980-12-26,400.90000000002266,400.91525,2015-01-01 01:06:52,bin4012,35, +CTSPillarNetworkA,4013,4013,4013,1980-12-27,401.0000000000227,401.01526,2015-01-01 01:06:53,bin4013,75, +CTSPillarNetworkA,4014,4014,4014,1980-12-28,401.1000000000227,401.11526,2015-01-01 01:06:54,bin4014,35, +CTSPillarNetworkA,4015,4015,4015,1980-12-29,401.2000000000227,401.21527,2015-01-01 01:06:55,bin4015,75, +CTSPillarNetworkA,4016,4016,4016,1980-12-30,401.30000000002275,401.31528,2015-01-01 01:06:56,bin4016,35, +CTSPillarNetworkA,4017,4017,4017,1980-12-31,401.40000000002277,401.41528,2015-01-01 01:06:57,bin4017,75, +CTSPillarNetworkA,4018,4018,4018,1981-01-01,401.5000000000228,401.5153,2015-01-01 01:06:58,bin4018,35, +CTSPillarNetworkA,4019,4019,4019,1981-01-02,401.6000000000228,401.6153,2015-01-01 01:06:59,bin4019,75, +CTSPillarNetworkA,4020,4020,4020,1981-01-03,401.70000000002284,401.7153,2015-01-01 01:07:00,bin4020,35, +CTSPillarNetworkA,4021,4021,4021,1981-01-04,401.80000000002286,401.8153,2015-01-01 01:07:01,bin4021,75, +CTSPillarNetworkA,4022,4022,4022,1981-01-05,401.9000000000229,401.9153,2015-01-01 01:07:02,bin4022,35, +CTSPillarNetworkA,4023,4023,4023,1981-01-06,402.0000000000229,402.01532,2015-01-01 01:07:03,bin4023,75, +CTSPillarNetworkA,4024,4024,4024,1981-01-07,402.10000000002293,402.11533,2015-01-01 01:07:04,bin4024,35, +CTSPillarNetworkA,4025,4025,4025,1981-01-08,402.20000000002295,402.21533,2015-01-01 01:07:05,bin4025,75, +CTSPillarNetworkA,4026,4026,4026,1981-01-09,402.300000000023,402.31534,2015-01-01 01:07:06,bin4026,35, +CTSPillarNetworkA,4027,4027,4027,1981-01-10,402.400000000023,402.41534,2015-01-01 01:07:07,bin4027,75, +CTSPillarNetworkA,4028,4028,4028,1981-01-11,402.500000000023,402.51535,2015-01-01 01:07:08,bin4028,35, +CTSPillarNetworkA,4029,4029,4029,1981-01-12,402.60000000002304,402.61536,2015-01-01 01:07:09,bin4029,75, +CTSPillarNetworkA,4030,4030,4030,1981-01-13,402.70000000002307,402.71536,2015-01-01 01:07:10,bin4030,35, +CTSPillarNetworkA,4031,4031,4031,1981-01-14,402.8000000000231,402.81537,2015-01-01 01:07:11,bin4031,75, +CTSPillarNetworkA,4032,4032,4032,1981-01-15,402.9000000000231,402.91537,2015-01-01 01:07:12,bin4032,35, +CTSPillarNetworkA,4033,4033,4033,1981-01-16,403.00000000002314,403.01538,2015-01-01 01:07:13,bin4033,75, +CTSPillarNetworkA,4034,4034,4034,1981-01-17,403.10000000002316,403.1154,2015-01-01 01:07:14,bin4034,35, +CTSPillarNetworkA,4035,4035,4035,1981-01-18,403.2000000000232,403.2154,2015-01-01 01:07:15,bin4035,75, +CTSPillarNetworkA,4036,4036,4036,1981-01-19,403.3000000000232,403.3154,2015-01-01 01:07:16,bin4036,35, +CTSPillarNetworkA,4037,4037,4037,1981-01-20,403.4000000000232,403.4154,2015-01-01 01:07:17,bin4037,75, +CTSPillarNetworkA,4038,4038,4038,1981-01-21,403.50000000002325,403.5154,2015-01-01 01:07:18,bin4038,35, +CTSPillarNetworkA,4039,4039,4039,1981-01-22,403.6000000000233,403.61542,2015-01-01 01:07:19,bin4039,75, +CTSPillarNetworkA,4040,4040,4040,1981-01-23,403.7000000000233,403.71542,2015-01-01 01:07:20,bin4040,35, +CTSPillarNetworkA,4041,4041,4041,1981-01-24,403.8000000000233,403.81543,2015-01-01 01:07:21,bin4041,75, +CTSPillarNetworkA,4042,4042,4042,1981-01-25,403.90000000002334,403.91544,2015-01-01 01:07:22,bin4042,35, +CTSPillarNetworkA,4043,4043,4043,1981-01-26,404.00000000002336,404.01544,2015-01-01 01:07:23,bin4043,75, +CTSPillarNetworkA,4044,4044,4044,1981-01-27,404.1000000000234,404.11545,2015-01-01 01:07:24,bin4044,35, +CTSPillarNetworkA,4045,4045,4045,1981-01-28,404.2000000000234,404.21545,2015-01-01 01:07:25,bin4045,75, +CTSPillarNetworkA,4046,4046,4046,1981-01-29,404.30000000002343,404.31546,2015-01-01 01:07:26,bin4046,35, +CTSPillarNetworkA,4047,4047,4047,1981-01-30,404.40000000002345,404.41547,2015-01-01 01:07:27,bin4047,75, +CTSPillarNetworkA,4048,4048,4048,1981-01-31,404.5000000000235,404.51547,2015-01-01 01:07:28,bin4048,35, +CTSPillarNetworkA,4049,4049,4049,1981-02-01,404.6000000000235,404.61548,2015-01-01 01:07:29,bin4049,75, +CTSPillarNetworkA,4050,4050,4050,1981-02-02,404.7000000000235,404.71548,2015-01-01 01:07:30,bin4050,35, +CTSPillarNetworkA,4051,4051,4051,1981-02-03,404.80000000002354,404.8155,2015-01-01 01:07:31,bin4051,75, +CTSPillarNetworkA,4052,4052,4052,1981-02-04,404.90000000002357,404.9155,2015-01-01 01:07:32,bin4052,35, +CTSPillarNetworkA,4053,4053,4053,1981-02-05,405.0000000000236,405.0155,2015-01-01 01:07:33,bin4053,75, +CTSPillarNetworkA,4054,4054,4054,1981-02-06,405.1000000000236,405.1155,2015-01-01 01:07:34,bin4054,35, +CTSPillarNetworkA,4055,4055,4055,1981-02-07,405.20000000002364,405.2155,2015-01-01 01:07:35,bin4055,75, +CTSPillarNetworkA,4056,4056,4056,1981-02-08,405.30000000002366,405.31552,2015-01-01 01:07:36,bin4056,35, +CTSPillarNetworkA,4057,4057,4057,1981-02-09,405.4000000000237,405.41553,2015-01-01 01:07:37,bin4057,75, +CTSPillarNetworkA,4058,4058,4058,1981-02-10,405.5000000000237,405.51553,2015-01-01 01:07:38,bin4058,35, +CTSPillarNetworkA,4059,4059,4059,1981-02-11,405.6000000000237,405.61554,2015-01-01 01:07:39,bin4059,75, +CTSPillarNetworkA,4060,4060,4060,1981-02-12,405.70000000002375,405.71555,2015-01-01 01:07:40,bin4060,35, +CTSPillarNetworkA,4061,4061,4061,1981-02-13,405.8000000000238,405.81555,2015-01-01 01:07:41,bin4061,75, +CTSPillarNetworkA,4062,4062,4062,1981-02-14,405.9000000000238,405.91556,2015-01-01 01:07:42,bin4062,35, +CTSPillarNetworkA,4063,4063,4063,1981-02-15,406.0000000000238,406.01556,2015-01-01 01:07:43,bin4063,75, +CTSPillarNetworkA,4064,4064,4064,1981-02-16,406.10000000002384,406.11557,2015-01-01 01:07:44,bin4064,35, +CTSPillarNetworkA,4065,4065,4065,1981-02-17,406.20000000002386,406.21558,2015-01-01 01:07:45,bin4065,75, +CTSPillarNetworkA,4066,4066,4066,1981-02-18,406.3000000000239,406.31558,2015-01-01 01:07:46,bin4066,35, +CTSPillarNetworkA,4067,4067,4067,1981-02-19,406.4000000000239,406.4156,2015-01-01 01:07:47,bin4067,75, +CTSPillarNetworkA,4068,4068,4068,1981-02-20,406.50000000002393,406.5156,2015-01-01 01:07:48,bin4068,35, +CTSPillarNetworkA,4069,4069,4069,1981-02-21,406.60000000002395,406.6156,2015-01-01 01:07:49,bin4069,75, +CTSPillarNetworkA,4070,4070,4070,1981-02-22,406.700000000024,406.7156,2015-01-01 01:07:50,bin4070,35, +CTSPillarNetworkA,4071,4071,4071,1981-02-23,406.800000000024,406.8156,2015-01-01 01:07:51,bin4071,75, +CTSPillarNetworkA,4072,4072,4072,1981-02-24,406.900000000024,406.91562,2015-01-01 01:07:52,bin4072,35, +CTSPillarNetworkA,4073,4073,4073,1981-02-25,407.00000000002404,407.01562,2015-01-01 01:07:53,bin4073,75, +CTSPillarNetworkA,4074,4074,4074,1981-02-26,407.10000000002407,407.11563,2015-01-01 01:07:54,bin4074,35, +CTSPillarNetworkA,4075,4075,4075,1981-02-27,407.2000000000241,407.21564,2015-01-01 01:07:55,bin4075,75, +CTSPillarNetworkA,4076,4076,4076,1981-02-28,407.3000000000241,407.31564,2015-01-01 01:07:56,bin4076,35, +CTSPillarNetworkA,4077,4077,4077,1981-03-01,407.40000000002414,407.41565,2015-01-01 01:07:57,bin4077,75, +CTSPillarNetworkA,4078,4078,4078,1981-03-02,407.50000000002416,407.51566,2015-01-01 01:07:58,bin4078,35, +CTSPillarNetworkA,4079,4079,4079,1981-03-03,407.6000000000242,407.61566,2015-01-01 01:07:59,bin4079,75, +CTSPillarNetworkA,4080,4080,4080,1981-03-04,407.7000000000242,407.71567,2015-01-01 01:08:00,bin4080,35, +CTSPillarNetworkA,4081,4081,4081,1981-03-05,407.8000000000242,407.81567,2015-01-01 01:08:01,bin4081,75, +CTSPillarNetworkA,4082,4082,4082,1981-03-06,407.90000000002425,407.91568,2015-01-01 01:08:02,bin4082,35, +CTSPillarNetworkA,4083,4083,4083,1981-03-07,408.0000000000243,408.0157,2015-01-01 01:08:03,bin4083,75, +CTSPillarNetworkA,4084,4084,4084,1981-03-08,408.1000000000243,408.1157,2015-01-01 01:08:04,bin4084,35, +CTSPillarNetworkA,4085,4085,4085,1981-03-09,408.2000000000243,408.2157,2015-01-01 01:08:05,bin4085,75, +CTSPillarNetworkA,4086,4086,4086,1981-03-10,408.30000000002434,408.3157,2015-01-01 01:08:06,bin4086,35, +CTSPillarNetworkA,4087,4087,4087,1981-03-11,408.40000000002436,408.4157,2015-01-01 01:08:07,bin4087,75, +CTSPillarNetworkA,4088,4088,4088,1981-03-12,408.5000000000244,408.51572,2015-01-01 01:08:08,bin4088,35, +CTSPillarNetworkA,4089,4089,4089,1981-03-13,408.6000000000244,408.61572,2015-01-01 01:08:09,bin4089,75, +CTSPillarNetworkA,4090,4090,4090,1981-03-14,408.70000000002443,408.71573,2015-01-01 01:08:10,bin4090,35, +CTSPillarNetworkA,4091,4091,4091,1981-03-15,408.80000000002445,408.81573,2015-01-01 01:08:11,bin4091,75, +CTSPillarNetworkA,4092,4092,4092,1981-03-16,408.9000000000245,408.91574,2015-01-01 01:08:12,bin4092,35, +CTSPillarNetworkA,4093,4093,4093,1981-03-17,409.0000000000245,409.01575,2015-01-01 01:08:13,bin4093,75, +CTSPillarNetworkA,4094,4094,4094,1981-03-18,409.1000000000245,409.11575,2015-01-01 01:08:14,bin4094,35, +CTSPillarNetworkA,4095,4095,4095,1981-03-19,409.20000000002454,409.21576,2015-01-01 01:08:15,bin4095,75, +CTSPillarNetworkA,4096,4096,4096,1981-03-20,409.30000000002457,409.31577,2015-01-01 01:08:16,bin4096,35, +CTSPillarNetworkA,4097,4097,4097,1981-03-21,409.4000000000246,409.41577,2015-01-01 01:08:17,bin4097,75, +CTSPillarNetworkA,4098,4098,4098,1981-03-22,409.5000000000246,409.51578,2015-01-01 01:08:18,bin4098,35, +CTSPillarNetworkA,4099,4099,4099,1981-03-23,409.60000000002464,409.61578,2015-01-01 01:08:19,bin4099,75, +CTSPillarNetworkA,4100,4100,4100,1981-03-24,409.70000000002466,409.7158,2015-01-01 01:08:20,bin4100,35, +CTSPillarNetworkA,4101,4101,4101,1981-03-25,409.8000000000247,409.8158,2015-01-01 01:08:21,bin4101,75, +CTSPillarNetworkA,4102,4102,4102,1981-03-26,409.9000000000247,409.9158,2015-01-01 01:08:22,bin4102,35, +CTSPillarNetworkA,4103,4103,4103,1981-03-27,410.0000000000247,410.0158,2015-01-01 01:08:23,bin4103,75, +CTSPillarNetworkA,4104,4104,4104,1981-03-28,410.10000000002475,410.1158,2015-01-01 01:08:24,bin4104,35, +CTSPillarNetworkA,4105,4105,4105,1981-03-29,410.2000000000248,410.21582,2015-01-01 01:08:25,bin4105,75, +CTSPillarNetworkA,4106,4106,4106,1981-03-30,410.3000000000248,410.31583,2015-01-01 01:08:26,bin4106,35, +CTSPillarNetworkA,4107,4107,4107,1981-03-31,410.4000000000248,410.41583,2015-01-01 01:08:27,bin4107,75, +CTSPillarNetworkA,4108,4108,4108,1981-04-01,410.50000000002484,410.51584,2015-01-01 01:08:28,bin4108,35, +CTSPillarNetworkA,4109,4109,4109,1981-04-02,410.60000000002486,410.61584,2015-01-01 01:08:29,bin4109,75, +CTSPillarNetworkA,4110,4110,4110,1981-04-03,410.7000000000249,410.71585,2015-01-01 01:08:30,bin4110,35, +CTSPillarNetworkA,4111,4111,4111,1981-04-04,410.8000000000249,410.81586,2015-01-01 01:08:31,bin4111,75, +CTSPillarNetworkA,4112,4112,4112,1981-04-05,410.90000000002493,410.91586,2015-01-01 01:08:32,bin4112,35, +CTSPillarNetworkA,4113,4113,4113,1981-04-06,411.00000000002495,411.01587,2015-01-01 01:08:33,bin4113,75, +CTSPillarNetworkA,4114,4114,4114,1981-04-07,411.100000000025,411.11588,2015-01-01 01:08:34,bin4114,35, +CTSPillarNetworkA,4115,4115,4115,1981-04-08,411.200000000025,411.21588,2015-01-01 01:08:35,bin4115,75, +CTSPillarNetworkA,4116,4116,4116,1981-04-09,411.300000000025,411.3159,2015-01-01 01:08:36,bin4116,35, +CTSPillarNetworkA,4117,4117,4117,1981-04-10,411.40000000002505,411.4159,2015-01-01 01:08:37,bin4117,75, +CTSPillarNetworkA,4118,4118,4118,1981-04-11,411.50000000002507,411.5159,2015-01-01 01:08:38,bin4118,35, +CTSPillarNetworkA,4119,4119,4119,1981-04-12,411.6000000000251,411.6159,2015-01-01 01:08:39,bin4119,75, +CTSPillarNetworkA,4120,4120,4120,1981-04-13,411.7000000000251,411.7159,2015-01-01 01:08:40,bin4120,35, +CTSPillarNetworkA,4121,4121,4121,1981-04-14,411.80000000002514,411.81592,2015-01-01 01:08:41,bin4121,75, +CTSPillarNetworkA,4122,4122,4122,1981-04-15,411.90000000002516,411.91592,2015-01-01 01:08:42,bin4122,35, +CTSPillarNetworkA,4123,4123,4123,1981-04-16,412.0000000000252,412.01593,2015-01-01 01:08:43,bin4123,75, +CTSPillarNetworkA,4124,4124,4124,1981-04-17,412.1000000000252,412.11594,2015-01-01 01:08:44,bin4124,35, +CTSPillarNetworkA,4125,4125,4125,1981-04-18,412.2000000000252,412.21594,2015-01-01 01:08:45,bin4125,75, +CTSPillarNetworkA,4126,4126,4126,1981-04-19,412.30000000002525,412.31595,2015-01-01 01:08:46,bin4126,35, +CTSPillarNetworkA,4127,4127,4127,1981-04-20,412.4000000000253,412.41595,2015-01-01 01:08:47,bin4127,75, +CTSPillarNetworkA,4128,4128,4128,1981-04-21,412.5000000000253,412.51596,2015-01-01 01:08:48,bin4128,35, +CTSPillarNetworkA,4129,4129,4129,1981-04-22,412.6000000000253,412.61597,2015-01-01 01:08:49,bin4129,75, +CTSPillarNetworkA,4130,4130,4130,1981-04-23,412.70000000002534,412.71597,2015-01-01 01:08:50,bin4130,35, +CTSPillarNetworkA,4131,4131,4131,1981-04-24,412.80000000002536,412.81598,2015-01-01 01:08:51,bin4131,75, +CTSPillarNetworkA,4132,4132,4132,1981-04-25,412.9000000000254,412.916,2015-01-01 01:08:52,bin4132,35, +CTSPillarNetworkA,4133,4133,4133,1981-04-26,413.0000000000254,413.016,2015-01-01 01:08:53,bin4133,75, +CTSPillarNetworkA,4134,4134,4134,1981-04-27,413.10000000002543,413.116,2015-01-01 01:08:54,bin4134,35, +CTSPillarNetworkA,4135,4135,4135,1981-04-28,413.20000000002545,413.216,2015-01-01 01:08:55,bin4135,75, +CTSPillarNetworkA,4136,4136,4136,1981-04-29,413.3000000000255,413.316,2015-01-01 01:08:56,bin4136,35, +CTSPillarNetworkA,4137,4137,4137,1981-04-30,413.4000000000255,413.41602,2015-01-01 01:08:57,bin4137,75, +CTSPillarNetworkA,4138,4138,4138,1981-05-01,413.5000000000255,413.51602,2015-01-01 01:08:58,bin4138,35, +CTSPillarNetworkA,4139,4139,4139,1981-05-02,413.60000000002555,413.61603,2015-01-01 01:08:59,bin4139,75, +CTSPillarNetworkA,4140,4140,4140,1981-05-03,413.70000000002557,413.71603,2015-01-01 01:09:00,bin4140,35, +CTSPillarNetworkA,4141,4141,4141,1981-05-04,413.8000000000256,413.81604,2015-01-01 01:09:01,bin4141,75, +CTSPillarNetworkA,4142,4142,4142,1981-05-05,413.9000000000256,413.91605,2015-01-01 01:09:02,bin4142,35, +CTSPillarNetworkA,4143,4143,4143,1981-05-06,414.00000000002564,414.01605,2015-01-01 01:09:03,bin4143,75, +CTSPillarNetworkA,4144,4144,4144,1981-05-07,414.10000000002566,414.11606,2015-01-01 01:09:04,bin4144,35, +CTSPillarNetworkA,4145,4145,4145,1981-05-08,414.2000000000257,414.21606,2015-01-01 01:09:05,bin4145,75, +CTSPillarNetworkA,4146,4146,4146,1981-05-09,414.3000000000257,414.31607,2015-01-01 01:09:06,bin4146,35, +CTSPillarNetworkA,4147,4147,4147,1981-05-10,414.4000000000257,414.41608,2015-01-01 01:09:07,bin4147,75, +CTSPillarNetworkA,4148,4148,4148,1981-05-11,414.50000000002575,414.51608,2015-01-01 01:09:08,bin4148,35, +CTSPillarNetworkA,4149,4149,4149,1981-05-12,414.6000000000258,414.6161,2015-01-01 01:09:09,bin4149,75, +CTSPillarNetworkA,4150,4150,4150,1981-05-13,414.7000000000258,414.7161,2015-01-01 01:09:10,bin4150,35, +CTSPillarNetworkA,4151,4151,4151,1981-05-14,414.8000000000258,414.8161,2015-01-01 01:09:11,bin4151,75, +CTSPillarNetworkA,4152,4152,4152,1981-05-15,414.90000000002584,414.9161,2015-01-01 01:09:12,bin4152,35, +CTSPillarNetworkA,4153,4153,4153,1981-05-16,415.00000000002586,415.0161,2015-01-01 01:09:13,bin4153,75, +CTSPillarNetworkA,4154,4154,4154,1981-05-17,415.1000000000259,415.11612,2015-01-01 01:09:14,bin4154,35, +CTSPillarNetworkA,4155,4155,4155,1981-05-18,415.2000000000259,415.21613,2015-01-01 01:09:15,bin4155,75, +CTSPillarNetworkA,4156,4156,4156,1981-05-19,415.30000000002593,415.31613,2015-01-01 01:09:16,bin4156,35, +CTSPillarNetworkA,4157,4157,4157,1981-05-20,415.40000000002595,415.41614,2015-01-01 01:09:17,bin4157,75, +CTSPillarNetworkA,4158,4158,4158,1981-05-21,415.500000000026,415.51614,2015-01-01 01:09:18,bin4158,35, +CTSPillarNetworkA,4159,4159,4159,1981-05-22,415.600000000026,415.61615,2015-01-01 01:09:19,bin4159,75, +CTSPillarNetworkA,4160,4160,4160,1981-05-23,415.700000000026,415.71616,2015-01-01 01:09:20,bin4160,35, +CTSPillarNetworkA,4161,4161,4161,1981-05-24,415.80000000002605,415.81616,2015-01-01 01:09:21,bin4161,75, +CTSPillarNetworkA,4162,4162,4162,1981-05-25,415.90000000002607,415.91617,2015-01-01 01:09:22,bin4162,35, +CTSPillarNetworkA,4163,4163,4163,1981-05-26,416.0000000000261,416.01617,2015-01-01 01:09:23,bin4163,75, +CTSPillarNetworkA,4164,4164,4164,1981-05-27,416.1000000000261,416.11618,2015-01-01 01:09:24,bin4164,35, +CTSPillarNetworkA,4165,4165,4165,1981-05-28,416.20000000002614,416.2162,2015-01-01 01:09:25,bin4165,75, +CTSPillarNetworkA,4166,4166,4166,1981-05-29,416.30000000002616,416.3162,2015-01-01 01:09:26,bin4166,35, +CTSPillarNetworkA,4167,4167,4167,1981-05-30,416.4000000000262,416.4162,2015-01-01 01:09:27,bin4167,75, +CTSPillarNetworkA,4168,4168,4168,1981-05-31,416.5000000000262,416.5162,2015-01-01 01:09:28,bin4168,35, +CTSPillarNetworkA,4169,4169,4169,1981-06-01,416.6000000000262,416.6162,2015-01-01 01:09:29,bin4169,75, +CTSPillarNetworkA,4170,4170,4170,1981-06-02,416.70000000002625,416.71622,2015-01-01 01:09:30,bin4170,35, +CTSPillarNetworkA,4171,4171,4171,1981-06-03,416.8000000000263,416.81622,2015-01-01 01:09:31,bin4171,75, +CTSPillarNetworkA,4172,4172,4172,1981-06-04,416.9000000000263,416.91623,2015-01-01 01:09:32,bin4172,35, +CTSPillarNetworkA,4173,4173,4173,1981-06-05,417.0000000000263,417.01624,2015-01-01 01:09:33,bin4173,75, +CTSPillarNetworkA,4174,4174,4174,1981-06-06,417.10000000002634,417.11624,2015-01-01 01:09:34,bin4174,35, +CTSPillarNetworkA,4175,4175,4175,1981-06-07,417.20000000002636,417.21625,2015-01-01 01:09:35,bin4175,75, +CTSPillarNetworkA,4176,4176,4176,1981-06-08,417.3000000000264,417.31625,2015-01-01 01:09:36,bin4176,35, +CTSPillarNetworkA,4177,4177,4177,1981-06-09,417.4000000000264,417.41626,2015-01-01 01:09:37,bin4177,75, +CTSPillarNetworkA,4178,4178,4178,1981-06-10,417.50000000002643,417.51627,2015-01-01 01:09:38,bin4178,35, +CTSPillarNetworkA,4179,4179,4179,1981-06-11,417.60000000002645,417.61627,2015-01-01 01:09:39,bin4179,75, +CTSPillarNetworkA,4180,4180,4180,1981-06-12,417.7000000000265,417.71628,2015-01-01 01:09:40,bin4180,35, +CTSPillarNetworkA,4181,4181,4181,1981-06-13,417.8000000000265,417.81628,2015-01-01 01:09:41,bin4181,75, +CTSPillarNetworkA,4182,4182,4182,1981-06-14,417.9000000000265,417.9163,2015-01-01 01:09:42,bin4182,35, +CTSPillarNetworkA,4183,4183,4183,1981-06-15,418.00000000002655,418.0163,2015-01-01 01:09:43,bin4183,75, +CTSPillarNetworkA,4184,4184,4184,1981-06-16,418.10000000002657,418.1163,2015-01-01 01:09:44,bin4184,35, +CTSPillarNetworkA,4185,4185,4185,1981-06-17,418.2000000000266,418.2163,2015-01-01 01:09:45,bin4185,75, +CTSPillarNetworkA,4186,4186,4186,1981-06-18,418.3000000000266,418.3163,2015-01-01 01:09:46,bin4186,35, +CTSPillarNetworkA,4187,4187,4187,1981-06-19,418.40000000002664,418.41632,2015-01-01 01:09:47,bin4187,75, +CTSPillarNetworkA,4188,4188,4188,1981-06-20,418.50000000002666,418.51633,2015-01-01 01:09:48,bin4188,35, +CTSPillarNetworkA,4189,4189,4189,1981-06-21,418.6000000000267,418.61633,2015-01-01 01:09:49,bin4189,75, +CTSPillarNetworkA,4190,4190,4190,1981-06-22,418.7000000000267,418.71634,2015-01-01 01:09:50,bin4190,35, +CTSPillarNetworkA,4191,4191,4191,1981-06-23,418.8000000000267,418.81635,2015-01-01 01:09:51,bin4191,75, +CTSPillarNetworkA,4192,4192,4192,1981-06-24,418.90000000002675,418.91635,2015-01-01 01:09:52,bin4192,35, +CTSPillarNetworkA,4193,4193,4193,1981-06-25,419.0000000000268,419.01636,2015-01-01 01:09:53,bin4193,75, +CTSPillarNetworkA,4194,4194,4194,1981-06-26,419.1000000000268,419.11636,2015-01-01 01:09:54,bin4194,35, +CTSPillarNetworkA,4195,4195,4195,1981-06-27,419.2000000000268,419.21637,2015-01-01 01:09:55,bin4195,75, +CTSPillarNetworkA,4196,4196,4196,1981-06-28,419.30000000002684,419.31638,2015-01-01 01:09:56,bin4196,35, +CTSPillarNetworkA,4197,4197,4197,1981-06-29,419.40000000002686,419.41638,2015-01-01 01:09:57,bin4197,75, +CTSPillarNetworkA,4198,4198,4198,1981-06-30,419.5000000000269,419.5164,2015-01-01 01:09:58,bin4198,35, +CTSPillarNetworkA,4199,4199,4199,1981-07-01,419.6000000000269,419.6164,2015-01-01 01:09:59,bin4199,75, +CTSPillarNetworkA,4200,4200,4200,1981-07-02,419.70000000002693,419.7164,2015-01-01 01:10:00,bin4200,35, +CTSPillarNetworkA,4201,4201,4201,1981-07-03,419.80000000002696,419.8164,2015-01-01 01:10:01,bin4201,75, +CTSPillarNetworkA,4202,4202,4202,1981-07-04,419.900000000027,419.9164,2015-01-01 01:10:02,bin4202,35, +CTSPillarNetworkA,4203,4203,4203,1981-07-05,420.000000000027,420.01642,2015-01-01 01:10:03,bin4203,75, +CTSPillarNetworkA,4204,4204,4204,1981-07-06,420.100000000027,420.11642,2015-01-01 01:10:04,bin4204,35, +CTSPillarNetworkA,4205,4205,4205,1981-07-07,420.20000000002705,420.21643,2015-01-01 01:10:05,bin4205,75, +CTSPillarNetworkA,4206,4206,4206,1981-07-08,420.30000000002707,420.31644,2015-01-01 01:10:06,bin4206,35, +CTSPillarNetworkA,4207,4207,4207,1981-07-09,420.4000000000271,420.41644,2015-01-01 01:10:07,bin4207,75, +CTSPillarNetworkA,4208,4208,4208,1981-07-10,420.5000000000271,420.51645,2015-01-01 01:10:08,bin4208,35, +CTSPillarNetworkA,4209,4209,4209,1981-07-11,420.60000000002714,420.61646,2015-01-01 01:10:09,bin4209,75, +CTSPillarNetworkA,4210,4210,4210,1981-07-12,420.70000000002716,420.71646,2015-01-01 01:10:10,bin4210,35, +CTSPillarNetworkA,4211,4211,4211,1981-07-13,420.8000000000272,420.81647,2015-01-01 01:10:11,bin4211,75, +CTSPillarNetworkA,4212,4212,4212,1981-07-14,420.9000000000272,420.91647,2015-01-01 01:10:12,bin4212,35, +CTSPillarNetworkA,4213,4213,4213,1981-07-15,421.0000000000272,421.01648,2015-01-01 01:10:13,bin4213,75, +CTSPillarNetworkA,4214,4214,4214,1981-07-16,421.10000000002725,421.1165,2015-01-01 01:10:14,bin4214,35, +CTSPillarNetworkA,4215,4215,4215,1981-07-17,421.2000000000273,421.2165,2015-01-01 01:10:15,bin4215,75, +CTSPillarNetworkA,4216,4216,4216,1981-07-18,421.3000000000273,421.3165,2015-01-01 01:10:16,bin4216,35, +CTSPillarNetworkA,4217,4217,4217,1981-07-19,421.4000000000273,421.4165,2015-01-01 01:10:17,bin4217,75, +CTSPillarNetworkA,4218,4218,4218,1981-07-20,421.50000000002734,421.5165,2015-01-01 01:10:18,bin4218,35, +CTSPillarNetworkA,4219,4219,4219,1981-07-21,421.60000000002736,421.61652,2015-01-01 01:10:19,bin4219,75, +CTSPillarNetworkA,4220,4220,4220,1981-07-22,421.7000000000274,421.71652,2015-01-01 01:10:20,bin4220,35, +CTSPillarNetworkA,4221,4221,4221,1981-07-23,421.8000000000274,421.81653,2015-01-01 01:10:21,bin4221,75, +CTSPillarNetworkA,4222,4222,4222,1981-07-24,421.90000000002743,421.91653,2015-01-01 01:10:22,bin4222,35, +CTSPillarNetworkA,4223,4223,4223,1981-07-25,422.00000000002746,422.01654,2015-01-01 01:10:23,bin4223,75, +CTSPillarNetworkA,4224,4224,4224,1981-07-26,422.1000000000275,422.11655,2015-01-01 01:10:24,bin4224,35, +CTSPillarNetworkA,4225,4225,4225,1981-07-27,422.2000000000275,422.21655,2015-01-01 01:10:25,bin4225,75, +CTSPillarNetworkA,4226,4226,4226,1981-07-28,422.3000000000275,422.31656,2015-01-01 01:10:26,bin4226,35, +CTSPillarNetworkA,4227,4227,4227,1981-07-29,422.40000000002755,422.41656,2015-01-01 01:10:27,bin4227,75, +CTSPillarNetworkA,4228,4228,4228,1981-07-30,422.50000000002757,422.51657,2015-01-01 01:10:28,bin4228,35, +CTSPillarNetworkA,4229,4229,4229,1981-07-31,422.6000000000276,422.61658,2015-01-01 01:10:29,bin4229,75, +CTSPillarNetworkA,4230,4230,4230,1981-08-01,422.7000000000276,422.71658,2015-01-01 01:10:30,bin4230,35, +CTSPillarNetworkA,4231,4231,4231,1981-08-02,422.80000000002764,422.8166,2015-01-01 01:10:31,bin4231,75, +CTSPillarNetworkA,4232,4232,4232,1981-08-03,422.90000000002766,422.9166,2015-01-01 01:10:32,bin4232,35, +CTSPillarNetworkA,4233,4233,4233,1981-08-04,423.0000000000277,423.0166,2015-01-01 01:10:33,bin4233,75, +CTSPillarNetworkA,4234,4234,4234,1981-08-05,423.1000000000277,423.1166,2015-01-01 01:10:34,bin4234,35, +CTSPillarNetworkA,4235,4235,4235,1981-08-06,423.2000000000277,423.2166,2015-01-01 01:10:35,bin4235,75, +CTSPillarNetworkA,4236,4236,4236,1981-08-07,423.30000000002775,423.31662,2015-01-01 01:10:36,bin4236,35, +CTSPillarNetworkA,4237,4237,4237,1981-08-08,423.4000000000278,423.41663,2015-01-01 01:10:37,bin4237,75, +CTSPillarNetworkA,4238,4238,4238,1981-08-09,423.5000000000278,423.51663,2015-01-01 01:10:38,bin4238,35, +CTSPillarNetworkA,4239,4239,4239,1981-08-10,423.6000000000278,423.61664,2015-01-01 01:10:39,bin4239,75, +CTSPillarNetworkA,4240,4240,4240,1981-08-11,423.70000000002784,423.71664,2015-01-01 01:10:40,bin4240,35, +CTSPillarNetworkA,4241,4241,4241,1981-08-12,423.80000000002786,423.81665,2015-01-01 01:10:41,bin4241,75, +CTSPillarNetworkA,4242,4242,4242,1981-08-13,423.9000000000279,423.91666,2015-01-01 01:10:42,bin4242,35, +CTSPillarNetworkA,4243,4243,4243,1981-08-14,424.0000000000279,424.01666,2015-01-01 01:10:43,bin4243,75, +CTSPillarNetworkA,4244,4244,4244,1981-08-15,424.10000000002793,424.11667,2015-01-01 01:10:44,bin4244,35, +CTSPillarNetworkA,4245,4245,4245,1981-08-16,424.20000000002796,424.21667,2015-01-01 01:10:45,bin4245,75, +CTSPillarNetworkA,4246,4246,4246,1981-08-17,424.300000000028,424.31668,2015-01-01 01:10:46,bin4246,35, +CTSPillarNetworkA,4247,4247,4247,1981-08-18,424.400000000028,424.4167,2015-01-01 01:10:47,bin4247,75, +CTSPillarNetworkA,4248,4248,4248,1981-08-19,424.500000000028,424.5167,2015-01-01 01:10:48,bin4248,35, +CTSPillarNetworkA,4249,4249,4249,1981-08-20,424.60000000002805,424.6167,2015-01-01 01:10:49,bin4249,75, +CTSPillarNetworkA,4250,4250,4250,1981-08-21,424.70000000002807,424.7167,2015-01-01 01:10:50,bin4250,35, +CTSPillarNetworkA,4251,4251,4251,1981-08-22,424.8000000000281,424.8167,2015-01-01 01:10:51,bin4251,75, +CTSPillarNetworkA,4252,4252,4252,1981-08-23,424.9000000000281,424.91672,2015-01-01 01:10:52,bin4252,35, +CTSPillarNetworkA,4253,4253,4253,1981-08-24,425.00000000002814,425.01672,2015-01-01 01:10:53,bin4253,75, +CTSPillarNetworkA,4254,4254,4254,1981-08-25,425.10000000002816,425.11673,2015-01-01 01:10:54,bin4254,35, +CTSPillarNetworkA,4255,4255,4255,1981-08-26,425.2000000000282,425.21674,2015-01-01 01:10:55,bin4255,75, +CTSPillarNetworkA,4256,4256,4256,1981-08-27,425.3000000000282,425.31674,2015-01-01 01:10:56,bin4256,35, +CTSPillarNetworkA,4257,4257,4257,1981-08-28,425.40000000002823,425.41675,2015-01-01 01:10:57,bin4257,75, +CTSPillarNetworkA,4258,4258,4258,1981-08-29,425.50000000002825,425.51675,2015-01-01 01:10:58,bin4258,35, +CTSPillarNetworkA,4259,4259,4259,1981-08-30,425.6000000000283,425.61676,2015-01-01 01:10:59,bin4259,75, +CTSPillarNetworkA,4260,4260,4260,1981-08-31,425.7000000000283,425.71677,2015-01-01 01:11:00,bin4260,35, +CTSPillarNetworkA,4261,4261,4261,1981-09-01,425.8000000000283,425.81677,2015-01-01 01:11:01,bin4261,75, +CTSPillarNetworkA,4262,4262,4262,1981-09-02,425.90000000002834,425.91678,2015-01-01 01:11:02,bin4262,35, +CTSPillarNetworkA,4263,4263,4263,1981-09-03,426.00000000002836,426.01678,2015-01-01 01:11:03,bin4263,75, +CTSPillarNetworkA,4264,4264,4264,1981-09-04,426.1000000000284,426.1168,2015-01-01 01:11:04,bin4264,35, +CTSPillarNetworkA,4265,4265,4265,1981-09-05,426.2000000000284,426.2168,2015-01-01 01:11:05,bin4265,75, +CTSPillarNetworkA,4266,4266,4266,1981-09-06,426.30000000002843,426.3168,2015-01-01 01:11:06,bin4266,35, +CTSPillarNetworkA,4267,4267,4267,1981-09-07,426.40000000002846,426.4168,2015-01-01 01:11:07,bin4267,75, +CTSPillarNetworkA,4268,4268,4268,1981-09-08,426.5000000000285,426.5168,2015-01-01 01:11:08,bin4268,35, +CTSPillarNetworkA,4269,4269,4269,1981-09-09,426.6000000000285,426.61682,2015-01-01 01:11:09,bin4269,75, +CTSPillarNetworkA,4270,4270,4270,1981-09-10,426.7000000000285,426.71683,2015-01-01 01:11:10,bin4270,35, +CTSPillarNetworkA,4271,4271,4271,1981-09-11,426.80000000002855,426.81683,2015-01-01 01:11:11,bin4271,75, +CTSPillarNetworkA,4272,4272,4272,1981-09-12,426.90000000002857,426.91684,2015-01-01 01:11:12,bin4272,35, +CTSPillarNetworkA,4273,4273,4273,1981-09-13,427.0000000000286,427.01685,2015-01-01 01:11:13,bin4273,75, +CTSPillarNetworkA,4274,4274,4274,1981-09-14,427.1000000000286,427.11685,2015-01-01 01:11:14,bin4274,35, +CTSPillarNetworkA,4275,4275,4275,1981-09-15,427.20000000002864,427.21686,2015-01-01 01:11:15,bin4275,75, +CTSPillarNetworkA,4276,4276,4276,1981-09-16,427.30000000002866,427.31686,2015-01-01 01:11:16,bin4276,35, +CTSPillarNetworkA,4277,4277,4277,1981-09-17,427.4000000000287,427.41687,2015-01-01 01:11:17,bin4277,75, +CTSPillarNetworkA,4278,4278,4278,1981-09-18,427.5000000000287,427.51688,2015-01-01 01:11:18,bin4278,35, +CTSPillarNetworkA,4279,4279,4279,1981-09-19,427.60000000002873,427.61688,2015-01-01 01:11:19,bin4279,75, +CTSPillarNetworkA,4280,4280,4280,1981-09-20,427.70000000002875,427.7169,2015-01-01 01:11:20,bin4280,35, +CTSPillarNetworkA,4281,4281,4281,1981-09-21,427.8000000000288,427.8169,2015-01-01 01:11:21,bin4281,75, +CTSPillarNetworkA,4282,4282,4282,1981-09-22,427.9000000000288,427.9169,2015-01-01 01:11:22,bin4282,35, +CTSPillarNetworkA,4283,4283,4283,1981-09-23,428.0000000000288,428.0169,2015-01-01 01:11:23,bin4283,75, +CTSPillarNetworkA,4284,4284,4284,1981-09-24,428.10000000002884,428.1169,2015-01-01 01:11:24,bin4284,35, +CTSPillarNetworkA,4285,4285,4285,1981-09-25,428.20000000002887,428.21692,2015-01-01 01:11:25,bin4285,75, +CTSPillarNetworkA,4286,4286,4286,1981-09-26,428.3000000000289,428.31693,2015-01-01 01:11:26,bin4286,35, +CTSPillarNetworkA,4287,4287,4287,1981-09-27,428.4000000000289,428.41693,2015-01-01 01:11:27,bin4287,75, +CTSPillarNetworkA,4288,4288,4288,1981-09-28,428.50000000002893,428.51694,2015-01-01 01:11:28,bin4288,35, +CTSPillarNetworkA,4289,4289,4289,1981-09-29,428.60000000002896,428.61694,2015-01-01 01:11:29,bin4289,75, +CTSPillarNetworkA,4290,4290,4290,1981-09-30,428.700000000029,428.71695,2015-01-01 01:11:30,bin4290,35, +CTSPillarNetworkA,4291,4291,4291,1981-10-01,428.800000000029,428.81696,2015-01-01 01:11:31,bin4291,75, +CTSPillarNetworkA,4292,4292,4292,1981-10-02,428.900000000029,428.91696,2015-01-01 01:11:32,bin4292,35, +CTSPillarNetworkA,4293,4293,4293,1981-10-03,429.00000000002905,429.01697,2015-01-01 01:11:33,bin4293,75, +CTSPillarNetworkA,4294,4294,4294,1981-10-04,429.10000000002907,429.11697,2015-01-01 01:11:34,bin4294,35, +CTSPillarNetworkA,4295,4295,4295,1981-10-05,429.2000000000291,429.21698,2015-01-01 01:11:35,bin4295,75, +CTSPillarNetworkA,4296,4296,4296,1981-10-06,429.3000000000291,429.317,2015-01-01 01:11:36,bin4296,35, +CTSPillarNetworkA,4297,4297,4297,1981-10-07,429.40000000002914,429.417,2015-01-01 01:11:37,bin4297,75, +CTSPillarNetworkA,4298,4298,4298,1981-10-08,429.50000000002916,429.517,2015-01-01 01:11:38,bin4298,35, +CTSPillarNetworkA,4299,4299,4299,1981-10-09,429.6000000000292,429.617,2015-01-01 01:11:39,bin4299,75, +CTSPillarNetworkA,4300,4300,4300,1981-10-10,429.7000000000292,429.717,2015-01-01 01:11:40,bin4300,35, +CTSPillarNetworkA,4301,4301,4301,1981-10-11,429.80000000002923,429.81702,2015-01-01 01:11:41,bin4301,75, +CTSPillarNetworkA,4302,4302,4302,1981-10-12,429.90000000002925,429.91702,2015-01-01 01:11:42,bin4302,35, +CTSPillarNetworkA,4303,4303,4303,1981-10-13,430.0000000000293,430.01703,2015-01-01 01:11:43,bin4303,75, +CTSPillarNetworkA,4304,4304,4304,1981-10-14,430.1000000000293,430.11703,2015-01-01 01:11:44,bin4304,35, +CTSPillarNetworkA,4305,4305,4305,1981-10-15,430.2000000000293,430.21704,2015-01-01 01:11:45,bin4305,75, +CTSPillarNetworkA,4306,4306,4306,1981-10-16,430.30000000002934,430.31705,2015-01-01 01:11:46,bin4306,35, +CTSPillarNetworkA,4307,4307,4307,1981-10-17,430.40000000002937,430.41705,2015-01-01 01:11:47,bin4307,75, +CTSPillarNetworkA,4308,4308,4308,1981-10-18,430.5000000000294,430.51706,2015-01-01 01:11:48,bin4308,35, +CTSPillarNetworkA,4309,4309,4309,1981-10-19,430.6000000000294,430.61707,2015-01-01 01:11:49,bin4309,75, +CTSPillarNetworkA,4310,4310,4310,1981-10-20,430.70000000002943,430.71707,2015-01-01 01:11:50,bin4310,35, +CTSPillarNetworkA,4311,4311,4311,1981-10-21,430.80000000002946,430.81708,2015-01-01 01:11:51,bin4311,75, +CTSPillarNetworkA,4312,4312,4312,1981-10-22,430.9000000000295,430.91708,2015-01-01 01:11:52,bin4312,35, +CTSPillarNetworkA,4313,4313,4313,1981-10-23,431.0000000000295,431.0171,2015-01-01 01:11:53,bin4313,75, +CTSPillarNetworkA,4314,4314,4314,1981-10-24,431.1000000000295,431.1171,2015-01-01 01:11:54,bin4314,35, +CTSPillarNetworkA,4315,4315,4315,1981-10-25,431.20000000002955,431.2171,2015-01-01 01:11:55,bin4315,75, +CTSPillarNetworkA,4316,4316,4316,1981-10-26,431.30000000002957,431.3171,2015-01-01 01:11:56,bin4316,35, +CTSPillarNetworkA,4317,4317,4317,1981-10-27,431.4000000000296,431.4171,2015-01-01 01:11:57,bin4317,75, +CTSPillarNetworkA,4318,4318,4318,1981-10-28,431.5000000000296,431.51712,2015-01-01 01:11:58,bin4318,35, +CTSPillarNetworkA,4319,4319,4319,1981-10-29,431.60000000002964,431.61713,2015-01-01 01:11:59,bin4319,75, +CTSPillarNetworkA,4320,4320,4320,1981-10-30,431.70000000002966,431.71713,2015-01-01 01:12:00,bin4320,35, +CTSPillarNetworkA,4321,4321,4321,1981-10-31,431.8000000000297,431.81714,2015-01-01 01:12:01,bin4321,75, +CTSPillarNetworkA,4322,4322,4322,1981-11-01,431.9000000000297,431.91714,2015-01-01 01:12:02,bin4322,35, +CTSPillarNetworkA,4323,4323,4323,1981-11-02,432.00000000002973,432.01715,2015-01-01 01:12:03,bin4323,75, +CTSPillarNetworkA,4324,4324,4324,1981-11-03,432.10000000002975,432.11716,2015-01-01 01:12:04,bin4324,35, +CTSPillarNetworkA,4325,4325,4325,1981-11-04,432.2000000000298,432.21716,2015-01-01 01:12:05,bin4325,75, +CTSPillarNetworkA,4326,4326,4326,1981-11-05,432.3000000000298,432.31717,2015-01-01 01:12:06,bin4326,35, +CTSPillarNetworkA,4327,4327,4327,1981-11-06,432.4000000000298,432.41718,2015-01-01 01:12:07,bin4327,75, +CTSPillarNetworkA,4328,4328,4328,1981-11-07,432.50000000002984,432.51718,2015-01-01 01:12:08,bin4328,35, +CTSPillarNetworkA,4329,4329,4329,1981-11-08,432.60000000002987,432.6172,2015-01-01 01:12:09,bin4329,75, +CTSPillarNetworkA,4330,4330,4330,1981-11-09,432.7000000000299,432.7172,2015-01-01 01:12:10,bin4330,35, +CTSPillarNetworkA,4331,4331,4331,1981-11-10,432.8000000000299,432.8172,2015-01-01 01:12:11,bin4331,75, +CTSPillarNetworkA,4332,4332,4332,1981-11-11,432.90000000002993,432.9172,2015-01-01 01:12:12,bin4332,35, +CTSPillarNetworkA,4333,4333,4333,1981-11-12,433.00000000002996,433.0172,2015-01-01 01:12:13,bin4333,75, +CTSPillarNetworkA,4334,4334,4334,1981-11-13,433.10000000003,433.11722,2015-01-01 01:12:14,bin4334,35, +CTSPillarNetworkA,4335,4335,4335,1981-11-14,433.20000000003,433.21722,2015-01-01 01:12:15,bin4335,75, +CTSPillarNetworkA,4336,4336,4336,1981-11-15,433.30000000003,433.31723,2015-01-01 01:12:16,bin4336,35, +CTSPillarNetworkA,4337,4337,4337,1981-11-16,433.40000000003005,433.41724,2015-01-01 01:12:17,bin4337,75, +CTSPillarNetworkA,4338,4338,4338,1981-11-17,433.50000000003007,433.51724,2015-01-01 01:12:18,bin4338,35, +CTSPillarNetworkA,4339,4339,4339,1981-11-18,433.6000000000301,433.61725,2015-01-01 01:12:19,bin4339,75, +CTSPillarNetworkA,4340,4340,4340,1981-11-19,433.7000000000301,433.71725,2015-01-01 01:12:20,bin4340,35, +CTSPillarNetworkA,4341,4341,4341,1981-11-20,433.80000000003014,433.81726,2015-01-01 01:12:21,bin4341,75, +CTSPillarNetworkA,4342,4342,4342,1981-11-21,433.90000000003016,433.91727,2015-01-01 01:12:22,bin4342,35, +CTSPillarNetworkA,4343,4343,4343,1981-11-22,434.0000000000302,434.01727,2015-01-01 01:12:23,bin4343,75, +CTSPillarNetworkA,4344,4344,4344,1981-11-23,434.1000000000302,434.11728,2015-01-01 01:12:24,bin4344,35, +CTSPillarNetworkA,4345,4345,4345,1981-11-24,434.20000000003023,434.2173,2015-01-01 01:12:25,bin4345,75, +CTSPillarNetworkA,4346,4346,4346,1981-11-25,434.30000000003025,434.3173,2015-01-01 01:12:26,bin4346,35, +CTSPillarNetworkA,4347,4347,4347,1981-11-26,434.4000000000303,434.4173,2015-01-01 01:12:27,bin4347,75, +CTSPillarNetworkA,4348,4348,4348,1981-11-27,434.5000000000303,434.5173,2015-01-01 01:12:28,bin4348,35, +CTSPillarNetworkA,4349,4349,4349,1981-11-28,434.6000000000303,434.6173,2015-01-01 01:12:29,bin4349,75, +CTSPillarNetworkA,4350,4350,4350,1981-11-29,434.70000000003034,434.71732,2015-01-01 01:12:30,bin4350,35, +CTSPillarNetworkA,4351,4351,4351,1981-11-30,434.80000000003037,434.81732,2015-01-01 01:12:31,bin4351,75, +CTSPillarNetworkA,4352,4352,4352,1981-12-01,434.9000000000304,434.91733,2015-01-01 01:12:32,bin4352,35, +CTSPillarNetworkA,4353,4353,4353,1981-12-02,435.0000000000304,435.01733,2015-01-01 01:12:33,bin4353,75, +CTSPillarNetworkA,4354,4354,4354,1981-12-03,435.10000000003043,435.11734,2015-01-01 01:12:34,bin4354,35, +CTSPillarNetworkA,4355,4355,4355,1981-12-04,435.20000000003046,435.21735,2015-01-01 01:12:35,bin4355,75, +CTSPillarNetworkA,4356,4356,4356,1981-12-05,435.3000000000305,435.31735,2015-01-01 01:12:36,bin4356,35, +CTSPillarNetworkA,4357,4357,4357,1981-12-06,435.4000000000305,435.41736,2015-01-01 01:12:37,bin4357,75, +CTSPillarNetworkA,4358,4358,4358,1981-12-07,435.5000000000305,435.51736,2015-01-01 01:12:38,bin4358,35, +CTSPillarNetworkA,4359,4359,4359,1981-12-08,435.60000000003055,435.61737,2015-01-01 01:12:39,bin4359,75, +CTSPillarNetworkA,4360,4360,4360,1981-12-09,435.70000000003057,435.71738,2015-01-01 01:12:40,bin4360,35, +CTSPillarNetworkA,4361,4361,4361,1981-12-10,435.8000000000306,435.81738,2015-01-01 01:12:41,bin4361,75, +CTSPillarNetworkA,4362,4362,4362,1981-12-11,435.9000000000306,435.9174,2015-01-01 01:12:42,bin4362,35, +CTSPillarNetworkA,4363,4363,4363,1981-12-12,436.00000000003064,436.0174,2015-01-01 01:12:43,bin4363,75, +CTSPillarNetworkA,4364,4364,4364,1981-12-13,436.10000000003066,436.1174,2015-01-01 01:12:44,bin4364,35, +CTSPillarNetworkA,4365,4365,4365,1981-12-14,436.2000000000307,436.2174,2015-01-01 01:12:45,bin4365,75, +CTSPillarNetworkA,4366,4366,4366,1981-12-15,436.3000000000307,436.3174,2015-01-01 01:12:46,bin4366,35, +CTSPillarNetworkA,4367,4367,4367,1981-12-16,436.40000000003073,436.41742,2015-01-01 01:12:47,bin4367,75, +CTSPillarNetworkA,4368,4368,4368,1981-12-17,436.50000000003075,436.51743,2015-01-01 01:12:48,bin4368,35, +CTSPillarNetworkA,4369,4369,4369,1981-12-18,436.6000000000308,436.61743,2015-01-01 01:12:49,bin4369,75, +CTSPillarNetworkA,4370,4370,4370,1981-12-19,436.7000000000308,436.71744,2015-01-01 01:12:50,bin4370,35, +CTSPillarNetworkA,4371,4371,4371,1981-12-20,436.8000000000308,436.81744,2015-01-01 01:12:51,bin4371,75, +CTSPillarNetworkA,4372,4372,4372,1981-12-21,436.90000000003084,436.91745,2015-01-01 01:12:52,bin4372,35, +CTSPillarNetworkA,4373,4373,4373,1981-12-22,437.00000000003087,437.01746,2015-01-01 01:12:53,bin4373,75, +CTSPillarNetworkA,4374,4374,4374,1981-12-23,437.1000000000309,437.11746,2015-01-01 01:12:54,bin4374,35, +CTSPillarNetworkA,4375,4375,4375,1981-12-24,437.2000000000309,437.21747,2015-01-01 01:12:55,bin4375,75, +CTSPillarNetworkA,4376,4376,4376,1981-12-25,437.30000000003093,437.31747,2015-01-01 01:12:56,bin4376,35, +CTSPillarNetworkA,4377,4377,4377,1981-12-26,437.40000000003096,437.41748,2015-01-01 01:12:57,bin4377,75, +CTSPillarNetworkA,4378,4378,4378,1981-12-27,437.500000000031,437.5175,2015-01-01 01:12:58,bin4378,35, +CTSPillarNetworkA,4379,4379,4379,1981-12-28,437.600000000031,437.6175,2015-01-01 01:12:59,bin4379,75, +CTSPillarNetworkA,4380,4380,4380,1981-12-29,437.700000000031,437.7175,2015-01-01 01:13:00,bin4380,35, +CTSPillarNetworkA,4381,4381,4381,1981-12-30,437.80000000003105,437.8175,2015-01-01 01:13:01,bin4381,75, +CTSPillarNetworkA,4382,4382,4382,1981-12-31,437.90000000003107,437.9175,2015-01-01 01:13:02,bin4382,35, +CTSPillarNetworkA,4383,4383,4383,1982-01-01,438.0000000000311,438.01752,2015-01-01 01:13:03,bin4383,75, +CTSPillarNetworkA,4384,4384,4384,1982-01-02,438.1000000000311,438.11752,2015-01-01 01:13:04,bin4384,35, +CTSPillarNetworkA,4385,4385,4385,1982-01-03,438.20000000003114,438.21753,2015-01-01 01:13:05,bin4385,75, +CTSPillarNetworkA,4386,4386,4386,1982-01-04,438.30000000003116,438.31754,2015-01-01 01:13:06,bin4386,35, +CTSPillarNetworkA,4387,4387,4387,1982-01-05,438.4000000000312,438.41754,2015-01-01 01:13:07,bin4387,75, +CTSPillarNetworkA,4388,4388,4388,1982-01-06,438.5000000000312,438.51755,2015-01-01 01:13:08,bin4388,35, +CTSPillarNetworkA,4389,4389,4389,1982-01-07,438.60000000003123,438.61755,2015-01-01 01:13:09,bin4389,75, +CTSPillarNetworkA,4390,4390,4390,1982-01-08,438.70000000003125,438.71756,2015-01-01 01:13:10,bin4390,35, +CTSPillarNetworkA,4391,4391,4391,1982-01-09,438.8000000000313,438.81757,2015-01-01 01:13:11,bin4391,75, +CTSPillarNetworkA,4392,4392,4392,1982-01-10,438.9000000000313,438.91757,2015-01-01 01:13:12,bin4392,35, +CTSPillarNetworkA,4393,4393,4393,1982-01-11,439.0000000000313,439.01758,2015-01-01 01:13:13,bin4393,75, +CTSPillarNetworkA,4394,4394,4394,1982-01-12,439.10000000003134,439.11758,2015-01-01 01:13:14,bin4394,35, +CTSPillarNetworkA,4395,4395,4395,1982-01-13,439.20000000003137,439.2176,2015-01-01 01:13:15,bin4395,75, +CTSPillarNetworkA,4396,4396,4396,1982-01-14,439.3000000000314,439.3176,2015-01-01 01:13:16,bin4396,35, +CTSPillarNetworkA,4397,4397,4397,1982-01-15,439.4000000000314,439.4176,2015-01-01 01:13:17,bin4397,75, +CTSPillarNetworkA,4398,4398,4398,1982-01-16,439.50000000003143,439.5176,2015-01-01 01:13:18,bin4398,35, +CTSPillarNetworkA,4399,4399,4399,1982-01-17,439.60000000003146,439.6176,2015-01-01 01:13:19,bin4399,75, +CTSPillarNetworkA,4400,4400,4400,1982-01-18,439.7000000000315,439.71762,2015-01-01 01:13:20,bin4400,35, +CTSPillarNetworkA,4401,4401,4401,1982-01-19,439.8000000000315,439.81763,2015-01-01 01:13:21,bin4401,75, +CTSPillarNetworkA,4402,4402,4402,1982-01-20,439.9000000000315,439.91763,2015-01-01 01:13:22,bin4402,35, +CTSPillarNetworkA,4403,4403,4403,1982-01-21,440.00000000003155,440.01764,2015-01-01 01:13:23,bin4403,75, +CTSPillarNetworkA,4404,4404,4404,1982-01-22,440.10000000003157,440.11765,2015-01-01 01:13:24,bin4404,35, +CTSPillarNetworkA,4405,4405,4405,1982-01-23,440.2000000000316,440.21765,2015-01-01 01:13:25,bin4405,75, +CTSPillarNetworkA,4406,4406,4406,1982-01-24,440.3000000000316,440.31766,2015-01-01 01:13:26,bin4406,35, +CTSPillarNetworkA,4407,4407,4407,1982-01-25,440.40000000003164,440.41766,2015-01-01 01:13:27,bin4407,75, +CTSPillarNetworkA,4408,4408,4408,1982-01-26,440.50000000003166,440.51767,2015-01-01 01:13:28,bin4408,35, +CTSPillarNetworkA,4409,4409,4409,1982-01-27,440.6000000000317,440.61768,2015-01-01 01:13:29,bin4409,75, +CTSPillarNetworkA,4410,4410,4410,1982-01-28,440.7000000000317,440.71768,2015-01-01 01:13:30,bin4410,35, +CTSPillarNetworkA,4411,4411,4411,1982-01-29,440.80000000003173,440.8177,2015-01-01 01:13:31,bin4411,75, +CTSPillarNetworkA,4412,4412,4412,1982-01-30,440.90000000003175,440.9177,2015-01-01 01:13:32,bin4412,35, +CTSPillarNetworkA,4413,4413,4413,1982-01-31,441.0000000000318,441.0177,2015-01-01 01:13:33,bin4413,75, +CTSPillarNetworkA,4414,4414,4414,1982-02-01,441.1000000000318,441.1177,2015-01-01 01:13:34,bin4414,35, +CTSPillarNetworkA,4415,4415,4415,1982-02-02,441.2000000000318,441.2177,2015-01-01 01:13:35,bin4415,75, +CTSPillarNetworkA,4416,4416,4416,1982-02-03,441.30000000003184,441.31772,2015-01-01 01:13:36,bin4416,35, +CTSPillarNetworkA,4417,4417,4417,1982-02-04,441.40000000003187,441.41772,2015-01-01 01:13:37,bin4417,75, +CTSPillarNetworkA,4418,4418,4418,1982-02-05,441.5000000000319,441.51773,2015-01-01 01:13:38,bin4418,35, +CTSPillarNetworkA,4419,4419,4419,1982-02-06,441.6000000000319,441.61774,2015-01-01 01:13:39,bin4419,75, +CTSPillarNetworkA,4420,4420,4420,1982-02-07,441.70000000003193,441.71774,2015-01-01 01:13:40,bin4420,35, +CTSPillarNetworkA,4421,4421,4421,1982-02-08,441.80000000003196,441.81775,2015-01-01 01:13:41,bin4421,75, +CTSPillarNetworkA,4422,4422,4422,1982-02-09,441.900000000032,441.91776,2015-01-01 01:13:42,bin4422,35, +CTSPillarNetworkA,4423,4423,4423,1982-02-10,442.000000000032,442.01776,2015-01-01 01:13:43,bin4423,75, +CTSPillarNetworkA,4424,4424,4424,1982-02-11,442.100000000032,442.11777,2015-01-01 01:13:44,bin4424,35, +CTSPillarNetworkA,4425,4425,4425,1982-02-12,442.20000000003205,442.21777,2015-01-01 01:13:45,bin4425,75, +CTSPillarNetworkA,4426,4426,4426,1982-02-13,442.30000000003207,442.31778,2015-01-01 01:13:46,bin4426,35, +CTSPillarNetworkA,4427,4427,4427,1982-02-14,442.4000000000321,442.4178,2015-01-01 01:13:47,bin4427,75, +CTSPillarNetworkA,4428,4428,4428,1982-02-15,442.5000000000321,442.5178,2015-01-01 01:13:48,bin4428,35, +CTSPillarNetworkA,4429,4429,4429,1982-02-16,442.60000000003214,442.6178,2015-01-01 01:13:49,bin4429,75, +CTSPillarNetworkA,4430,4430,4430,1982-02-17,442.70000000003216,442.7178,2015-01-01 01:13:50,bin4430,35, +CTSPillarNetworkA,4431,4431,4431,1982-02-18,442.8000000000322,442.8178,2015-01-01 01:13:51,bin4431,75, +CTSPillarNetworkA,4432,4432,4432,1982-02-19,442.9000000000322,442.91782,2015-01-01 01:13:52,bin4432,35, +CTSPillarNetworkA,4433,4433,4433,1982-02-20,443.00000000003223,443.01782,2015-01-01 01:13:53,bin4433,75, +CTSPillarNetworkA,4434,4434,4434,1982-02-21,443.10000000003225,443.11783,2015-01-01 01:13:54,bin4434,35, +CTSPillarNetworkA,4435,4435,4435,1982-02-22,443.2000000000323,443.21783,2015-01-01 01:13:55,bin4435,75, +CTSPillarNetworkA,4436,4436,4436,1982-02-23,443.3000000000323,443.31784,2015-01-01 01:13:56,bin4436,35, +CTSPillarNetworkA,4437,4437,4437,1982-02-24,443.4000000000323,443.41785,2015-01-01 01:13:57,bin4437,75, +CTSPillarNetworkA,4438,4438,4438,1982-02-25,443.50000000003234,443.51785,2015-01-01 01:13:58,bin4438,35, +CTSPillarNetworkA,4439,4439,4439,1982-02-26,443.60000000003237,443.61786,2015-01-01 01:13:59,bin4439,75, +CTSPillarNetworkA,4440,4440,4440,1982-02-27,443.7000000000324,443.71786,2015-01-01 01:14:00,bin4440,35, +CTSPillarNetworkA,4441,4441,4441,1982-02-28,443.8000000000324,443.81787,2015-01-01 01:14:01,bin4441,75, +CTSPillarNetworkA,4442,4442,4442,1982-03-01,443.90000000003243,443.91788,2015-01-01 01:14:02,bin4442,35, +CTSPillarNetworkA,4443,4443,4443,1982-03-02,444.00000000003246,444.01788,2015-01-01 01:14:03,bin4443,75, +CTSPillarNetworkA,4444,4444,4444,1982-03-03,444.1000000000325,444.1179,2015-01-01 01:14:04,bin4444,35, +CTSPillarNetworkA,4445,4445,4445,1982-03-04,444.2000000000325,444.2179,2015-01-01 01:14:05,bin4445,75, +CTSPillarNetworkA,4446,4446,4446,1982-03-05,444.3000000000325,444.3179,2015-01-01 01:14:06,bin4446,35, +CTSPillarNetworkA,4447,4447,4447,1982-03-06,444.40000000003255,444.4179,2015-01-01 01:14:07,bin4447,75, +CTSPillarNetworkA,4448,4448,4448,1982-03-07,444.50000000003257,444.5179,2015-01-01 01:14:08,bin4448,35, +CTSPillarNetworkA,4449,4449,4449,1982-03-08,444.6000000000326,444.61792,2015-01-01 01:14:09,bin4449,75, +CTSPillarNetworkA,4450,4450,4450,1982-03-09,444.7000000000326,444.71793,2015-01-01 01:14:10,bin4450,35, +CTSPillarNetworkA,4451,4451,4451,1982-03-10,444.80000000003264,444.81793,2015-01-01 01:14:11,bin4451,75, +CTSPillarNetworkA,4452,4452,4452,1982-03-11,444.90000000003266,444.91794,2015-01-01 01:14:12,bin4452,35, +CTSPillarNetworkA,4453,4453,4453,1982-03-12,445.0000000000327,445.01794,2015-01-01 01:14:13,bin4453,75, +CTSPillarNetworkA,4454,4454,4454,1982-03-13,445.1000000000327,445.11795,2015-01-01 01:14:14,bin4454,35, +CTSPillarNetworkA,4455,4455,4455,1982-03-14,445.20000000003273,445.21796,2015-01-01 01:14:15,bin4455,75, +CTSPillarNetworkA,4456,4456,4456,1982-03-15,445.30000000003275,445.31796,2015-01-01 01:14:16,bin4456,35, +CTSPillarNetworkA,4457,4457,4457,1982-03-16,445.4000000000328,445.41797,2015-01-01 01:14:17,bin4457,75, +CTSPillarNetworkA,4458,4458,4458,1982-03-17,445.5000000000328,445.51797,2015-01-01 01:14:18,bin4458,35, +CTSPillarNetworkA,4459,4459,4459,1982-03-18,445.6000000000328,445.61798,2015-01-01 01:14:19,bin4459,75, +CTSPillarNetworkA,4460,4460,4460,1982-03-19,445.70000000003284,445.718,2015-01-01 01:14:20,bin4460,35, +CTSPillarNetworkA,4461,4461,4461,1982-03-20,445.80000000003287,445.818,2015-01-01 01:14:21,bin4461,75, +CTSPillarNetworkA,4462,4462,4462,1982-03-21,445.9000000000329,445.918,2015-01-01 01:14:22,bin4462,35, +CTSPillarNetworkA,4463,4463,4463,1982-03-22,446.0000000000329,446.018,2015-01-01 01:14:23,bin4463,75, +CTSPillarNetworkA,4464,4464,4464,1982-03-23,446.10000000003294,446.118,2015-01-01 01:14:24,bin4464,35, +CTSPillarNetworkA,4465,4465,4465,1982-03-24,446.20000000003296,446.21802,2015-01-01 01:14:25,bin4465,75, +CTSPillarNetworkA,4466,4466,4466,1982-03-25,446.300000000033,446.31802,2015-01-01 01:14:26,bin4466,35, +CTSPillarNetworkA,4467,4467,4467,1982-03-26,446.400000000033,446.41803,2015-01-01 01:14:27,bin4467,75, +CTSPillarNetworkA,4468,4468,4468,1982-03-27,446.500000000033,446.51804,2015-01-01 01:14:28,bin4468,35, +CTSPillarNetworkA,4469,4469,4469,1982-03-28,446.60000000003305,446.61804,2015-01-01 01:14:29,bin4469,75, +CTSPillarNetworkA,4470,4470,4470,1982-03-29,446.70000000003307,446.71805,2015-01-01 01:14:30,bin4470,35, +CTSPillarNetworkA,4471,4471,4471,1982-03-30,446.8000000000331,446.81805,2015-01-01 01:14:31,bin4471,75, +CTSPillarNetworkA,4472,4472,4472,1982-03-31,446.9000000000331,446.91806,2015-01-01 01:14:32,bin4472,35, +CTSPillarNetworkA,4473,4473,4473,1982-04-01,447.00000000003314,447.01807,2015-01-01 01:14:33,bin4473,75, +CTSPillarNetworkA,4474,4474,4474,1982-04-02,447.10000000003316,447.11807,2015-01-01 01:14:34,bin4474,35, +CTSPillarNetworkA,4475,4475,4475,1982-04-03,447.2000000000332,447.21808,2015-01-01 01:14:35,bin4475,75, +CTSPillarNetworkA,4476,4476,4476,1982-04-04,447.3000000000332,447.31808,2015-01-01 01:14:36,bin4476,35, +CTSPillarNetworkA,4477,4477,4477,1982-04-05,447.40000000003323,447.4181,2015-01-01 01:14:37,bin4477,75, +CTSPillarNetworkA,4478,4478,4478,1982-04-06,447.50000000003325,447.5181,2015-01-01 01:14:38,bin4478,35, +CTSPillarNetworkA,4479,4479,4479,1982-04-07,447.6000000000333,447.6181,2015-01-01 01:14:39,bin4479,75, +CTSPillarNetworkA,4480,4480,4480,1982-04-08,447.7000000000333,447.7181,2015-01-01 01:14:40,bin4480,35, +CTSPillarNetworkA,4481,4481,4481,1982-04-09,447.8000000000333,447.8181,2015-01-01 01:14:41,bin4481,75, +CTSPillarNetworkA,4482,4482,4482,1982-04-10,447.90000000003334,447.91812,2015-01-01 01:14:42,bin4482,35, +CTSPillarNetworkA,4483,4483,4483,1982-04-11,448.00000000003337,448.01813,2015-01-01 01:14:43,bin4483,75, +CTSPillarNetworkA,4484,4484,4484,1982-04-12,448.1000000000334,448.11813,2015-01-01 01:14:44,bin4484,35, +CTSPillarNetworkA,4485,4485,4485,1982-04-13,448.2000000000334,448.21814,2015-01-01 01:14:45,bin4485,75, +CTSPillarNetworkA,4486,4486,4486,1982-04-14,448.30000000003344,448.31815,2015-01-01 01:14:46,bin4486,35, +CTSPillarNetworkA,4487,4487,4487,1982-04-15,448.40000000003346,448.41815,2015-01-01 01:14:47,bin4487,75, +CTSPillarNetworkA,4488,4488,4488,1982-04-16,448.5000000000335,448.51816,2015-01-01 01:14:48,bin4488,35, +CTSPillarNetworkA,4489,4489,4489,1982-04-17,448.6000000000335,448.61816,2015-01-01 01:14:49,bin4489,75, +CTSPillarNetworkA,4490,4490,4490,1982-04-18,448.7000000000335,448.71817,2015-01-01 01:14:50,bin4490,35, +CTSPillarNetworkA,4491,4491,4491,1982-04-19,448.80000000003355,448.81818,2015-01-01 01:14:51,bin4491,75, +CTSPillarNetworkA,4492,4492,4492,1982-04-20,448.9000000000336,448.91818,2015-01-01 01:14:52,bin4492,35, +CTSPillarNetworkA,4493,4493,4493,1982-04-21,449.0000000000336,449.0182,2015-01-01 01:14:53,bin4493,75, +CTSPillarNetworkA,4494,4494,4494,1982-04-22,449.1000000000336,449.1182,2015-01-01 01:14:54,bin4494,35, +CTSPillarNetworkA,4495,4495,4495,1982-04-23,449.20000000003364,449.2182,2015-01-01 01:14:55,bin4495,75, +CTSPillarNetworkA,4496,4496,4496,1982-04-24,449.30000000003366,449.3182,2015-01-01 01:14:56,bin4496,35, +CTSPillarNetworkA,4497,4497,4497,1982-04-25,449.4000000000337,449.4182,2015-01-01 01:14:57,bin4497,75, +CTSPillarNetworkA,4498,4498,4498,1982-04-26,449.5000000000337,449.51822,2015-01-01 01:14:58,bin4498,35, +CTSPillarNetworkA,4499,4499,4499,1982-04-27,449.60000000003373,449.61823,2015-01-01 01:14:59,bin4499,75, +CTSPillarNetworkA,4500,4500,4500,1982-04-28,449.70000000003375,449.71823,2015-01-01 01:15:00,bin4500,35, +CTSPillarNetworkA,4501,4501,4501,1982-04-29,449.8000000000338,449.81824,2015-01-01 01:15:01,bin4501,75, +CTSPillarNetworkA,4502,4502,4502,1982-04-30,449.9000000000338,449.91824,2015-01-01 01:15:02,bin4502,35, +CTSPillarNetworkA,4503,4503,4503,1982-05-01,450.0000000000338,450.01825,2015-01-01 01:15:03,bin4503,75, +CTSPillarNetworkA,4504,4504,4504,1982-05-02,450.10000000003384,450.11826,2015-01-01 01:15:04,bin4504,35, +CTSPillarNetworkA,4505,4505,4505,1982-05-03,450.20000000003387,450.21826,2015-01-01 01:15:05,bin4505,75, +CTSPillarNetworkA,4506,4506,4506,1982-05-04,450.3000000000339,450.31827,2015-01-01 01:15:06,bin4506,35, +CTSPillarNetworkA,4507,4507,4507,1982-05-05,450.4000000000339,450.41827,2015-01-01 01:15:07,bin4507,75, +CTSPillarNetworkA,4508,4508,4508,1982-05-06,450.50000000003394,450.51828,2015-01-01 01:15:08,bin4508,35, +CTSPillarNetworkA,4509,4509,4509,1982-05-07,450.60000000003396,450.6183,2015-01-01 01:15:09,bin4509,75, +CTSPillarNetworkA,4510,4510,4510,1982-05-08,450.700000000034,450.7183,2015-01-01 01:15:10,bin4510,35, +CTSPillarNetworkA,4511,4511,4511,1982-05-09,450.800000000034,450.8183,2015-01-01 01:15:11,bin4511,75, +CTSPillarNetworkA,4512,4512,4512,1982-05-10,450.900000000034,450.9183,2015-01-01 01:15:12,bin4512,35, +CTSPillarNetworkA,4513,4513,4513,1982-05-11,451.00000000003405,451.0183,2015-01-01 01:15:13,bin4513,75, +CTSPillarNetworkA,4514,4514,4514,1982-05-12,451.1000000000341,451.11832,2015-01-01 01:15:14,bin4514,35, +CTSPillarNetworkA,4515,4515,4515,1982-05-13,451.2000000000341,451.21832,2015-01-01 01:15:15,bin4515,75, +CTSPillarNetworkA,4516,4516,4516,1982-05-14,451.3000000000341,451.31833,2015-01-01 01:15:16,bin4516,35, +CTSPillarNetworkA,4517,4517,4517,1982-05-15,451.40000000003414,451.41833,2015-01-01 01:15:17,bin4517,75, +CTSPillarNetworkA,4518,4518,4518,1982-05-16,451.50000000003416,451.51834,2015-01-01 01:15:18,bin4518,35, +CTSPillarNetworkA,4519,4519,4519,1982-05-17,451.6000000000342,451.61835,2015-01-01 01:15:19,bin4519,75, +CTSPillarNetworkA,4520,4520,4520,1982-05-18,451.7000000000342,451.71835,2015-01-01 01:15:20,bin4520,35, +CTSPillarNetworkA,4521,4521,4521,1982-05-19,451.80000000003423,451.81836,2015-01-01 01:15:21,bin4521,75, +CTSPillarNetworkA,4522,4522,4522,1982-05-20,451.90000000003425,451.91837,2015-01-01 01:15:22,bin4522,35, +CTSPillarNetworkA,4523,4523,4523,1982-05-21,452.0000000000343,452.01837,2015-01-01 01:15:23,bin4523,75, +CTSPillarNetworkA,4524,4524,4524,1982-05-22,452.1000000000343,452.11838,2015-01-01 01:15:24,bin4524,35, +CTSPillarNetworkA,4525,4525,4525,1982-05-23,452.2000000000343,452.21838,2015-01-01 01:15:25,bin4525,75, +CTSPillarNetworkA,4526,4526,4526,1982-05-24,452.30000000003434,452.3184,2015-01-01 01:15:26,bin4526,35, +CTSPillarNetworkA,4527,4527,4527,1982-05-25,452.40000000003437,452.4184,2015-01-01 01:15:27,bin4527,75, +CTSPillarNetworkA,4528,4528,4528,1982-05-26,452.5000000000344,452.5184,2015-01-01 01:15:28,bin4528,35, +CTSPillarNetworkA,4529,4529,4529,1982-05-27,452.6000000000344,452.6184,2015-01-01 01:15:29,bin4529,75, +CTSPillarNetworkA,4530,4530,4530,1982-05-28,452.70000000003444,452.7184,2015-01-01 01:15:30,bin4530,35, +CTSPillarNetworkA,4531,4531,4531,1982-05-29,452.80000000003446,452.81842,2015-01-01 01:15:31,bin4531,75, +CTSPillarNetworkA,4532,4532,4532,1982-05-30,452.9000000000345,452.91843,2015-01-01 01:15:32,bin4532,35, +CTSPillarNetworkA,4533,4533,4533,1982-05-31,453.0000000000345,453.01843,2015-01-01 01:15:33,bin4533,75, +CTSPillarNetworkA,4534,4534,4534,1982-06-01,453.1000000000345,453.11844,2015-01-01 01:15:34,bin4534,35, +CTSPillarNetworkA,4535,4535,4535,1982-06-02,453.20000000003455,453.21844,2015-01-01 01:15:35,bin4535,75, +CTSPillarNetworkA,4536,4536,4536,1982-06-03,453.3000000000346,453.31845,2015-01-01 01:15:36,bin4536,35, +CTSPillarNetworkA,4537,4537,4537,1982-06-04,453.4000000000346,453.41846,2015-01-01 01:15:37,bin4537,75, +CTSPillarNetworkA,4538,4538,4538,1982-06-05,453.5000000000346,453.51846,2015-01-01 01:15:38,bin4538,35, +CTSPillarNetworkA,4539,4539,4539,1982-06-06,453.60000000003464,453.61847,2015-01-01 01:15:39,bin4539,75, +CTSPillarNetworkA,4540,4540,4540,1982-06-07,453.70000000003466,453.71848,2015-01-01 01:15:40,bin4540,35, +CTSPillarNetworkA,4541,4541,4541,1982-06-08,453.8000000000347,453.81848,2015-01-01 01:15:41,bin4541,75, +CTSPillarNetworkA,4542,4542,4542,1982-06-09,453.9000000000347,453.9185,2015-01-01 01:15:42,bin4542,35, +CTSPillarNetworkA,4543,4543,4543,1982-06-10,454.00000000003473,454.0185,2015-01-01 01:15:43,bin4543,75, +CTSPillarNetworkA,4544,4544,4544,1982-06-11,454.10000000003475,454.1185,2015-01-01 01:15:44,bin4544,35, +CTSPillarNetworkA,4545,4545,4545,1982-06-12,454.2000000000348,454.2185,2015-01-01 01:15:45,bin4545,75, +CTSPillarNetworkA,4546,4546,4546,1982-06-13,454.3000000000348,454.3185,2015-01-01 01:15:46,bin4546,35, +CTSPillarNetworkA,4547,4547,4547,1982-06-14,454.4000000000348,454.41852,2015-01-01 01:15:47,bin4547,75, +CTSPillarNetworkA,4548,4548,4548,1982-06-15,454.50000000003485,454.51852,2015-01-01 01:15:48,bin4548,35, +CTSPillarNetworkA,4549,4549,4549,1982-06-16,454.60000000003487,454.61853,2015-01-01 01:15:49,bin4549,75, +CTSPillarNetworkA,4550,4550,4550,1982-06-17,454.7000000000349,454.71854,2015-01-01 01:15:50,bin4550,35, +CTSPillarNetworkA,4551,4551,4551,1982-06-18,454.8000000000349,454.81854,2015-01-01 01:15:51,bin4551,75, +CTSPillarNetworkA,4552,4552,4552,1982-06-19,454.90000000003494,454.91855,2015-01-01 01:15:52,bin4552,35, +CTSPillarNetworkA,4553,4553,4553,1982-06-20,455.00000000003496,455.01855,2015-01-01 01:15:53,bin4553,75, +CTSPillarNetworkA,4554,4554,4554,1982-06-21,455.100000000035,455.11856,2015-01-01 01:15:54,bin4554,35, +CTSPillarNetworkA,4555,4555,4555,1982-06-22,455.200000000035,455.21857,2015-01-01 01:15:55,bin4555,75, +CTSPillarNetworkA,4556,4556,4556,1982-06-23,455.300000000035,455.31857,2015-01-01 01:15:56,bin4556,35, +CTSPillarNetworkA,4557,4557,4557,1982-06-24,455.40000000003505,455.41858,2015-01-01 01:15:57,bin4557,75, +CTSPillarNetworkA,4558,4558,4558,1982-06-25,455.5000000000351,455.5186,2015-01-01 01:15:58,bin4558,35, +CTSPillarNetworkA,4559,4559,4559,1982-06-26,455.6000000000351,455.6186,2015-01-01 01:15:59,bin4559,75, +CTSPillarNetworkA,4560,4560,4560,1982-06-27,455.7000000000351,455.7186,2015-01-01 01:16:00,bin4560,35, +CTSPillarNetworkA,4561,4561,4561,1982-06-28,455.80000000003514,455.8186,2015-01-01 01:16:01,bin4561,75, +CTSPillarNetworkA,4562,4562,4562,1982-06-29,455.90000000003516,455.9186,2015-01-01 01:16:02,bin4562,35, +CTSPillarNetworkA,4563,4563,4563,1982-06-30,456.0000000000352,456.01862,2015-01-01 01:16:03,bin4563,75, +CTSPillarNetworkA,4564,4564,4564,1982-07-01,456.1000000000352,456.11862,2015-01-01 01:16:04,bin4564,35, +CTSPillarNetworkA,4565,4565,4565,1982-07-02,456.20000000003523,456.21863,2015-01-01 01:16:05,bin4565,75, +CTSPillarNetworkA,4566,4566,4566,1982-07-03,456.30000000003525,456.31863,2015-01-01 01:16:06,bin4566,35, +CTSPillarNetworkA,4567,4567,4567,1982-07-04,456.4000000000353,456.41864,2015-01-01 01:16:07,bin4567,75, +CTSPillarNetworkA,4568,4568,4568,1982-07-05,456.5000000000353,456.51865,2015-01-01 01:16:08,bin4568,35, +CTSPillarNetworkA,4569,4569,4569,1982-07-06,456.6000000000353,456.61865,2015-01-01 01:16:09,bin4569,75, +CTSPillarNetworkA,4570,4570,4570,1982-07-07,456.70000000003535,456.71866,2015-01-01 01:16:10,bin4570,35, +CTSPillarNetworkA,4571,4571,4571,1982-07-08,456.80000000003537,456.81866,2015-01-01 01:16:11,bin4571,75, +CTSPillarNetworkA,4572,4572,4572,1982-07-09,456.9000000000354,456.91867,2015-01-01 01:16:12,bin4572,35, +CTSPillarNetworkA,4573,4573,4573,1982-07-10,457.0000000000354,457.01868,2015-01-01 01:16:13,bin4573,75, +CTSPillarNetworkA,4574,4574,4574,1982-07-11,457.10000000003544,457.11868,2015-01-01 01:16:14,bin4574,35, +CTSPillarNetworkA,4575,4575,4575,1982-07-12,457.20000000003546,457.2187,2015-01-01 01:16:15,bin4575,75, +CTSPillarNetworkA,4576,4576,4576,1982-07-13,457.3000000000355,457.3187,2015-01-01 01:16:16,bin4576,35, +CTSPillarNetworkA,4577,4577,4577,1982-07-14,457.4000000000355,457.4187,2015-01-01 01:16:17,bin4577,75, +CTSPillarNetworkA,4578,4578,4578,1982-07-15,457.5000000000355,457.5187,2015-01-01 01:16:18,bin4578,35, +CTSPillarNetworkA,4579,4579,4579,1982-07-16,457.60000000003555,457.6187,2015-01-01 01:16:19,bin4579,75, +CTSPillarNetworkA,4580,4580,4580,1982-07-17,457.7000000000356,457.71872,2015-01-01 01:16:20,bin4580,35, +CTSPillarNetworkA,4581,4581,4581,1982-07-18,457.8000000000356,457.81873,2015-01-01 01:16:21,bin4581,75, +CTSPillarNetworkA,4582,4582,4582,1982-07-19,457.9000000000356,457.91873,2015-01-01 01:16:22,bin4582,35, +CTSPillarNetworkA,4583,4583,4583,1982-07-20,458.00000000003564,458.01874,2015-01-01 01:16:23,bin4583,75, +CTSPillarNetworkA,4584,4584,4584,1982-07-21,458.10000000003566,458.11874,2015-01-01 01:16:24,bin4584,35, +CTSPillarNetworkA,4585,4585,4585,1982-07-22,458.2000000000357,458.21875,2015-01-01 01:16:25,bin4585,75, +CTSPillarNetworkA,4586,4586,4586,1982-07-23,458.3000000000357,458.31876,2015-01-01 01:16:26,bin4586,35, +CTSPillarNetworkA,4587,4587,4587,1982-07-24,458.40000000003573,458.41876,2015-01-01 01:16:27,bin4587,75, +CTSPillarNetworkA,4588,4588,4588,1982-07-25,458.50000000003575,458.51877,2015-01-01 01:16:28,bin4588,35, +CTSPillarNetworkA,4589,4589,4589,1982-07-26,458.6000000000358,458.61877,2015-01-01 01:16:29,bin4589,75, +CTSPillarNetworkA,4590,4590,4590,1982-07-27,458.7000000000358,458.71878,2015-01-01 01:16:30,bin4590,35, +CTSPillarNetworkA,4591,4591,4591,1982-07-28,458.8000000000358,458.8188,2015-01-01 01:16:31,bin4591,75, +CTSPillarNetworkA,4592,4592,4592,1982-07-29,458.90000000003585,458.9188,2015-01-01 01:16:32,bin4592,35, +CTSPillarNetworkA,4593,4593,4593,1982-07-30,459.00000000003587,459.0188,2015-01-01 01:16:33,bin4593,75, +CTSPillarNetworkA,4594,4594,4594,1982-07-31,459.1000000000359,459.1188,2015-01-01 01:16:34,bin4594,35, +CTSPillarNetworkA,4595,4595,4595,1982-08-01,459.2000000000359,459.2188,2015-01-01 01:16:35,bin4595,75, +CTSPillarNetworkA,4596,4596,4596,1982-08-02,459.30000000003594,459.31882,2015-01-01 01:16:36,bin4596,35, +CTSPillarNetworkA,4597,4597,4597,1982-08-03,459.40000000003596,459.41882,2015-01-01 01:16:37,bin4597,75, +CTSPillarNetworkA,4598,4598,4598,1982-08-04,459.500000000036,459.51883,2015-01-01 01:16:38,bin4598,35, +CTSPillarNetworkA,4599,4599,4599,1982-08-05,459.600000000036,459.61884,2015-01-01 01:16:39,bin4599,75, +CTSPillarNetworkA,4600,4600,4600,1982-08-06,459.700000000036,459.71884,2015-01-01 01:16:40,bin4600,35, +CTSPillarNetworkA,4601,4601,4601,1982-08-07,459.80000000003605,459.81885,2015-01-01 01:16:41,bin4601,75, +CTSPillarNetworkA,4602,4602,4602,1982-08-08,459.9000000000361,459.91885,2015-01-01 01:16:42,bin4602,35, +CTSPillarNetworkA,4603,4603,4603,1982-08-09,460.0000000000361,460.01886,2015-01-01 01:16:43,bin4603,75, +CTSPillarNetworkA,4604,4604,4604,1982-08-10,460.1000000000361,460.11887,2015-01-01 01:16:44,bin4604,35, +CTSPillarNetworkA,4605,4605,4605,1982-08-11,460.20000000003614,460.21887,2015-01-01 01:16:45,bin4605,75, +CTSPillarNetworkA,4606,4606,4606,1982-08-12,460.30000000003616,460.31888,2015-01-01 01:16:46,bin4606,35, +CTSPillarNetworkA,4607,4607,4607,1982-08-13,460.4000000000362,460.41888,2015-01-01 01:16:47,bin4607,75, +CTSPillarNetworkA,4608,4608,4608,1982-08-14,460.5000000000362,460.5189,2015-01-01 01:16:48,bin4608,35, +CTSPillarNetworkA,4609,4609,4609,1982-08-15,460.60000000003623,460.6189,2015-01-01 01:16:49,bin4609,75, +CTSPillarNetworkA,4610,4610,4610,1982-08-16,460.70000000003625,460.7189,2015-01-01 01:16:50,bin4610,35, +CTSPillarNetworkA,4611,4611,4611,1982-08-17,460.8000000000363,460.8189,2015-01-01 01:16:51,bin4611,75, +CTSPillarNetworkA,4612,4612,4612,1982-08-18,460.9000000000363,460.9189,2015-01-01 01:16:52,bin4612,35, +CTSPillarNetworkA,4613,4613,4613,1982-08-19,461.0000000000363,461.01892,2015-01-01 01:16:53,bin4613,75, +CTSPillarNetworkA,4614,4614,4614,1982-08-20,461.10000000003635,461.11893,2015-01-01 01:16:54,bin4614,35, +CTSPillarNetworkA,4615,4615,4615,1982-08-21,461.20000000003637,461.21893,2015-01-01 01:16:55,bin4615,75, +CTSPillarNetworkA,4616,4616,4616,1982-08-22,461.3000000000364,461.31894,2015-01-01 01:16:56,bin4616,35, +CTSPillarNetworkA,4617,4617,4617,1982-08-23,461.4000000000364,461.41895,2015-01-01 01:16:57,bin4617,75, +CTSPillarNetworkA,4618,4618,4618,1982-08-24,461.50000000003644,461.51895,2015-01-01 01:16:58,bin4618,35, +CTSPillarNetworkA,4619,4619,4619,1982-08-25,461.60000000003646,461.61896,2015-01-01 01:16:59,bin4619,75, +CTSPillarNetworkA,4620,4620,4620,1982-08-26,461.7000000000365,461.71896,2015-01-01 01:17:00,bin4620,35, +CTSPillarNetworkA,4621,4621,4621,1982-08-27,461.8000000000365,461.81897,2015-01-01 01:17:01,bin4621,75, +CTSPillarNetworkA,4622,4622,4622,1982-08-28,461.9000000000365,461.91898,2015-01-01 01:17:02,bin4622,35, +CTSPillarNetworkA,4623,4623,4623,1982-08-29,462.00000000003655,462.01898,2015-01-01 01:17:03,bin4623,75, +CTSPillarNetworkA,4624,4624,4624,1982-08-30,462.1000000000366,462.119,2015-01-01 01:17:04,bin4624,35, +CTSPillarNetworkA,4625,4625,4625,1982-08-31,462.2000000000366,462.219,2015-01-01 01:17:05,bin4625,75, +CTSPillarNetworkA,4626,4626,4626,1982-09-01,462.3000000000366,462.319,2015-01-01 01:17:06,bin4626,35, +CTSPillarNetworkA,4627,4627,4627,1982-09-02,462.40000000003664,462.419,2015-01-01 01:17:07,bin4627,75, +CTSPillarNetworkA,4628,4628,4628,1982-09-03,462.50000000003666,462.519,2015-01-01 01:17:08,bin4628,35, +CTSPillarNetworkA,4629,4629,4629,1982-09-04,462.6000000000367,462.61902,2015-01-01 01:17:09,bin4629,75, +CTSPillarNetworkA,4630,4630,4630,1982-09-05,462.7000000000367,462.71902,2015-01-01 01:17:10,bin4630,35, +CTSPillarNetworkA,4631,4631,4631,1982-09-06,462.80000000003673,462.81903,2015-01-01 01:17:11,bin4631,75, +CTSPillarNetworkA,4632,4632,4632,1982-09-07,462.90000000003675,462.91904,2015-01-01 01:17:12,bin4632,35, +CTSPillarNetworkA,4633,4633,4633,1982-09-08,463.0000000000368,463.01904,2015-01-01 01:17:13,bin4633,75, +CTSPillarNetworkA,4634,4634,4634,1982-09-09,463.1000000000368,463.11905,2015-01-01 01:17:14,bin4634,35, +CTSPillarNetworkA,4635,4635,4635,1982-09-10,463.2000000000368,463.21906,2015-01-01 01:17:15,bin4635,75, +CTSPillarNetworkA,4636,4636,4636,1982-09-11,463.30000000003685,463.31906,2015-01-01 01:17:16,bin4636,35, +CTSPillarNetworkA,4637,4637,4637,1982-09-12,463.40000000003687,463.41907,2015-01-01 01:17:17,bin4637,75, +CTSPillarNetworkA,4638,4638,4638,1982-09-13,463.5000000000369,463.51907,2015-01-01 01:17:18,bin4638,35, +CTSPillarNetworkA,4639,4639,4639,1982-09-14,463.6000000000369,463.61908,2015-01-01 01:17:19,bin4639,75, +CTSPillarNetworkA,4640,4640,4640,1982-09-15,463.70000000003694,463.7191,2015-01-01 01:17:20,bin4640,35, +CTSPillarNetworkA,4641,4641,4641,1982-09-16,463.80000000003696,463.8191,2015-01-01 01:17:21,bin4641,75, +CTSPillarNetworkA,4642,4642,4642,1982-09-17,463.900000000037,463.9191,2015-01-01 01:17:22,bin4642,35, +CTSPillarNetworkA,4643,4643,4643,1982-09-18,464.000000000037,464.0191,2015-01-01 01:17:23,bin4643,75, +CTSPillarNetworkA,4644,4644,4644,1982-09-19,464.100000000037,464.1191,2015-01-01 01:17:24,bin4644,35, +CTSPillarNetworkA,4645,4645,4645,1982-09-20,464.20000000003705,464.21912,2015-01-01 01:17:25,bin4645,75, +CTSPillarNetworkA,4646,4646,4646,1982-09-21,464.3000000000371,464.31912,2015-01-01 01:17:26,bin4646,35, +CTSPillarNetworkA,4647,4647,4647,1982-09-22,464.4000000000371,464.41913,2015-01-01 01:17:27,bin4647,75, +CTSPillarNetworkA,4648,4648,4648,1982-09-23,464.5000000000371,464.51913,2015-01-01 01:17:28,bin4648,35, +CTSPillarNetworkA,4649,4649,4649,1982-09-24,464.60000000003714,464.61914,2015-01-01 01:17:29,bin4649,75, +CTSPillarNetworkA,4650,4650,4650,1982-09-25,464.70000000003716,464.71915,2015-01-01 01:17:30,bin4650,35, +CTSPillarNetworkA,4651,4651,4651,1982-09-26,464.8000000000372,464.81915,2015-01-01 01:17:31,bin4651,75, +CTSPillarNetworkA,4652,4652,4652,1982-09-27,464.9000000000372,464.91916,2015-01-01 01:17:32,bin4652,35, +CTSPillarNetworkA,4653,4653,4653,1982-09-28,465.00000000003723,465.01917,2015-01-01 01:17:33,bin4653,75, +CTSPillarNetworkA,4654,4654,4654,1982-09-29,465.10000000003726,465.11917,2015-01-01 01:17:34,bin4654,35, +CTSPillarNetworkA,4655,4655,4655,1982-09-30,465.2000000000373,465.21918,2015-01-01 01:17:35,bin4655,75, +CTSPillarNetworkA,4656,4656,4656,1982-10-01,465.3000000000373,465.31918,2015-01-01 01:17:36,bin4656,35, +CTSPillarNetworkA,4657,4657,4657,1982-10-02,465.4000000000373,465.4192,2015-01-01 01:17:37,bin4657,75, +CTSPillarNetworkA,4658,4658,4658,1982-10-03,465.50000000003735,465.5192,2015-01-01 01:17:38,bin4658,35, +CTSPillarNetworkA,4659,4659,4659,1982-10-04,465.60000000003737,465.6192,2015-01-01 01:17:39,bin4659,75, +CTSPillarNetworkA,4660,4660,4660,1982-10-05,465.7000000000374,465.7192,2015-01-01 01:17:40,bin4660,35, +CTSPillarNetworkA,4661,4661,4661,1982-10-06,465.8000000000374,465.8192,2015-01-01 01:17:41,bin4661,75, +CTSPillarNetworkA,4662,4662,4662,1982-10-07,465.90000000003744,465.91922,2015-01-01 01:17:42,bin4662,35, +CTSPillarNetworkA,4663,4663,4663,1982-10-08,466.00000000003746,466.01923,2015-01-01 01:17:43,bin4663,75, +CTSPillarNetworkA,4664,4664,4664,1982-10-09,466.1000000000375,466.11923,2015-01-01 01:17:44,bin4664,35, +CTSPillarNetworkA,4665,4665,4665,1982-10-10,466.2000000000375,466.21924,2015-01-01 01:17:45,bin4665,75, +CTSPillarNetworkA,4666,4666,4666,1982-10-11,466.3000000000375,466.31924,2015-01-01 01:17:46,bin4666,35, +CTSPillarNetworkA,4667,4667,4667,1982-10-12,466.40000000003755,466.41925,2015-01-01 01:17:47,bin4667,75, +CTSPillarNetworkA,4668,4668,4668,1982-10-13,466.5000000000376,466.51926,2015-01-01 01:17:48,bin4668,35, +CTSPillarNetworkA,4669,4669,4669,1982-10-14,466.6000000000376,466.61926,2015-01-01 01:17:49,bin4669,75, +CTSPillarNetworkA,4670,4670,4670,1982-10-15,466.7000000000376,466.71927,2015-01-01 01:17:50,bin4670,35, +CTSPillarNetworkA,4671,4671,4671,1982-10-16,466.80000000003764,466.81927,2015-01-01 01:17:51,bin4671,75, +CTSPillarNetworkA,4672,4672,4672,1982-10-17,466.90000000003766,466.91928,2015-01-01 01:17:52,bin4672,35, +CTSPillarNetworkA,4673,4673,4673,1982-10-18,467.0000000000377,467.0193,2015-01-01 01:17:53,bin4673,75, +CTSPillarNetworkA,4674,4674,4674,1982-10-19,467.1000000000377,467.1193,2015-01-01 01:17:54,bin4674,35, +CTSPillarNetworkA,4675,4675,4675,1982-10-20,467.20000000003773,467.2193,2015-01-01 01:17:55,bin4675,75, +CTSPillarNetworkA,4676,4676,4676,1982-10-21,467.30000000003776,467.3193,2015-01-01 01:17:56,bin4676,35, +CTSPillarNetworkA,4677,4677,4677,1982-10-22,467.4000000000378,467.4193,2015-01-01 01:17:57,bin4677,75, +CTSPillarNetworkA,4678,4678,4678,1982-10-23,467.5000000000378,467.51932,2015-01-01 01:17:58,bin4678,35, +CTSPillarNetworkA,4679,4679,4679,1982-10-24,467.6000000000378,467.61932,2015-01-01 01:17:59,bin4679,75, +CTSPillarNetworkA,4680,4680,4680,1982-10-25,467.70000000003785,467.71933,2015-01-01 01:18:00,bin4680,35, +CTSPillarNetworkA,4681,4681,4681,1982-10-26,467.80000000003787,467.81934,2015-01-01 01:18:01,bin4681,75, +CTSPillarNetworkA,4682,4682,4682,1982-10-27,467.9000000000379,467.91934,2015-01-01 01:18:02,bin4682,35, +CTSPillarNetworkA,4683,4683,4683,1982-10-28,468.0000000000379,468.01935,2015-01-01 01:18:03,bin4683,75, +CTSPillarNetworkA,4684,4684,4684,1982-10-29,468.10000000003794,468.11935,2015-01-01 01:18:04,bin4684,35, +CTSPillarNetworkA,4685,4685,4685,1982-10-30,468.20000000003796,468.21936,2015-01-01 01:18:05,bin4685,75, +CTSPillarNetworkA,4686,4686,4686,1982-10-31,468.300000000038,468.31937,2015-01-01 01:18:06,bin4686,35, +CTSPillarNetworkA,4687,4687,4687,1982-11-01,468.400000000038,468.41937,2015-01-01 01:18:07,bin4687,75, +CTSPillarNetworkA,4688,4688,4688,1982-11-02,468.500000000038,468.51938,2015-01-01 01:18:08,bin4688,35, +CTSPillarNetworkA,4689,4689,4689,1982-11-03,468.60000000003805,468.6194,2015-01-01 01:18:09,bin4689,75, +CTSPillarNetworkA,4690,4690,4690,1982-11-04,468.7000000000381,468.7194,2015-01-01 01:18:10,bin4690,35, +CTSPillarNetworkA,4691,4691,4691,1982-11-05,468.8000000000381,468.8194,2015-01-01 01:18:11,bin4691,75, +CTSPillarNetworkA,4692,4692,4692,1982-11-06,468.9000000000381,468.9194,2015-01-01 01:18:12,bin4692,35, +CTSPillarNetworkA,4693,4693,4693,1982-11-07,469.00000000003814,469.0194,2015-01-01 01:18:13,bin4693,75, +CTSPillarNetworkA,4694,4694,4694,1982-11-08,469.10000000003816,469.11942,2015-01-01 01:18:14,bin4694,35, +CTSPillarNetworkA,4695,4695,4695,1982-11-09,469.2000000000382,469.21942,2015-01-01 01:18:15,bin4695,75, +CTSPillarNetworkA,4696,4696,4696,1982-11-10,469.3000000000382,469.31943,2015-01-01 01:18:16,bin4696,35, +CTSPillarNetworkA,4697,4697,4697,1982-11-11,469.40000000003823,469.41943,2015-01-01 01:18:17,bin4697,75, +CTSPillarNetworkA,4698,4698,4698,1982-11-12,469.50000000003826,469.51944,2015-01-01 01:18:18,bin4698,35, +CTSPillarNetworkA,4699,4699,4699,1982-11-13,469.6000000000383,469.61945,2015-01-01 01:18:19,bin4699,75, +CTSPillarNetworkA,4700,4700,4700,1982-11-14,469.7000000000383,469.71945,2015-01-01 01:18:20,bin4700,35, +CTSPillarNetworkA,4701,4701,4701,1982-11-15,469.8000000000383,469.81946,2015-01-01 01:18:21,bin4701,75, +CTSPillarNetworkA,4702,4702,4702,1982-11-16,469.90000000003835,469.91946,2015-01-01 01:18:22,bin4702,35, +CTSPillarNetworkA,4703,4703,4703,1982-11-17,470.00000000003837,470.01947,2015-01-01 01:18:23,bin4703,75, +CTSPillarNetworkA,4704,4704,4704,1982-11-18,470.1000000000384,470.11948,2015-01-01 01:18:24,bin4704,35, +CTSPillarNetworkA,4705,4705,4705,1982-11-19,470.2000000000384,470.21948,2015-01-01 01:18:25,bin4705,75, +CTSPillarNetworkA,4706,4706,4706,1982-11-20,470.30000000003844,470.3195,2015-01-01 01:18:26,bin4706,35, +CTSPillarNetworkA,4707,4707,4707,1982-11-21,470.40000000003846,470.4195,2015-01-01 01:18:27,bin4707,75, +CTSPillarNetworkA,4708,4708,4708,1982-11-22,470.5000000000385,470.5195,2015-01-01 01:18:28,bin4708,35, +CTSPillarNetworkA,4709,4709,4709,1982-11-23,470.6000000000385,470.6195,2015-01-01 01:18:29,bin4709,75, +CTSPillarNetworkA,4710,4710,4710,1982-11-24,470.70000000003853,470.7195,2015-01-01 01:18:30,bin4710,35, +CTSPillarNetworkA,4711,4711,4711,1982-11-25,470.80000000003855,470.81952,2015-01-01 01:18:31,bin4711,75, +CTSPillarNetworkA,4712,4712,4712,1982-11-26,470.9000000000386,470.91953,2015-01-01 01:18:32,bin4712,35, +CTSPillarNetworkA,4713,4713,4713,1982-11-27,471.0000000000386,471.01953,2015-01-01 01:18:33,bin4713,75, +CTSPillarNetworkA,4714,4714,4714,1982-11-28,471.1000000000386,471.11954,2015-01-01 01:18:34,bin4714,35, +CTSPillarNetworkA,4715,4715,4715,1982-11-29,471.20000000003864,471.21954,2015-01-01 01:18:35,bin4715,75, +CTSPillarNetworkA,4716,4716,4716,1982-11-30,471.30000000003866,471.31955,2015-01-01 01:18:36,bin4716,35, +CTSPillarNetworkA,4717,4717,4717,1982-12-01,471.4000000000387,471.41956,2015-01-01 01:18:37,bin4717,75, +CTSPillarNetworkA,4718,4718,4718,1982-12-02,471.5000000000387,471.51956,2015-01-01 01:18:38,bin4718,35, +CTSPillarNetworkA,4719,4719,4719,1982-12-03,471.60000000003873,471.61957,2015-01-01 01:18:39,bin4719,75, +CTSPillarNetworkA,4720,4720,4720,1982-12-04,471.70000000003876,471.71957,2015-01-01 01:18:40,bin4720,35, +CTSPillarNetworkA,4721,4721,4721,1982-12-05,471.8000000000388,471.81958,2015-01-01 01:18:41,bin4721,75, +CTSPillarNetworkA,4722,4722,4722,1982-12-06,471.9000000000388,471.9196,2015-01-01 01:18:42,bin4722,35, +CTSPillarNetworkA,4723,4723,4723,1982-12-07,472.0000000000388,472.0196,2015-01-01 01:18:43,bin4723,75, +CTSPillarNetworkA,4724,4724,4724,1982-12-08,472.10000000003885,472.1196,2015-01-01 01:18:44,bin4724,35, +CTSPillarNetworkA,4725,4725,4725,1982-12-09,472.20000000003887,472.2196,2015-01-01 01:18:45,bin4725,75, +CTSPillarNetworkA,4726,4726,4726,1982-12-10,472.3000000000389,472.3196,2015-01-01 01:18:46,bin4726,35, +CTSPillarNetworkA,4727,4727,4727,1982-12-11,472.4000000000389,472.41962,2015-01-01 01:18:47,bin4727,75, +CTSPillarNetworkA,4728,4728,4728,1982-12-12,472.50000000003894,472.51962,2015-01-01 01:18:48,bin4728,35, +CTSPillarNetworkA,4729,4729,4729,1982-12-13,472.60000000003896,472.61963,2015-01-01 01:18:49,bin4729,75, +CTSPillarNetworkA,4730,4730,4730,1982-12-14,472.700000000039,472.71964,2015-01-01 01:18:50,bin4730,35, +CTSPillarNetworkA,4731,4731,4731,1982-12-15,472.800000000039,472.81964,2015-01-01 01:18:51,bin4731,75, +CTSPillarNetworkA,4732,4732,4732,1982-12-16,472.90000000003903,472.91965,2015-01-01 01:18:52,bin4732,35, +CTSPillarNetworkA,4733,4733,4733,1982-12-17,473.00000000003905,473.01965,2015-01-01 01:18:53,bin4733,75, +CTSPillarNetworkA,4734,4734,4734,1982-12-18,473.1000000000391,473.11966,2015-01-01 01:18:54,bin4734,35, +CTSPillarNetworkA,4735,4735,4735,1982-12-19,473.2000000000391,473.21967,2015-01-01 01:18:55,bin4735,75, +CTSPillarNetworkA,4736,4736,4736,1982-12-20,473.3000000000391,473.31967,2015-01-01 01:18:56,bin4736,35, +CTSPillarNetworkA,4737,4737,4737,1982-12-21,473.40000000003914,473.41968,2015-01-01 01:18:57,bin4737,75, +CTSPillarNetworkA,4738,4738,4738,1982-12-22,473.50000000003917,473.51968,2015-01-01 01:18:58,bin4738,35, +CTSPillarNetworkA,4739,4739,4739,1982-12-23,473.6000000000392,473.6197,2015-01-01 01:18:59,bin4739,75, +CTSPillarNetworkA,4740,4740,4740,1982-12-24,473.7000000000392,473.7197,2015-01-01 01:19:00,bin4740,35, +CTSPillarNetworkA,4741,4741,4741,1982-12-25,473.80000000003923,473.8197,2015-01-01 01:19:01,bin4741,75, +CTSPillarNetworkA,4742,4742,4742,1982-12-26,473.90000000003926,473.9197,2015-01-01 01:19:02,bin4742,35, +CTSPillarNetworkA,4743,4743,4743,1982-12-27,474.0000000000393,474.0197,2015-01-01 01:19:03,bin4743,75, +CTSPillarNetworkA,4744,4744,4744,1982-12-28,474.1000000000393,474.11972,2015-01-01 01:19:04,bin4744,35, +CTSPillarNetworkA,4745,4745,4745,1982-12-29,474.2000000000393,474.21973,2015-01-01 01:19:05,bin4745,75, +CTSPillarNetworkA,4746,4746,4746,1982-12-30,474.30000000003935,474.31973,2015-01-01 01:19:06,bin4746,35, +CTSPillarNetworkA,4747,4747,4747,1982-12-31,474.40000000003937,474.41974,2015-01-01 01:19:07,bin4747,75, +CTSPillarNetworkA,4748,4748,4748,1983-01-01,474.5000000000394,474.51974,2015-01-01 01:19:08,bin4748,35, +CTSPillarNetworkA,4749,4749,4749,1983-01-02,474.6000000000394,474.61975,2015-01-01 01:19:09,bin4749,75, +CTSPillarNetworkA,4750,4750,4750,1983-01-03,474.70000000003944,474.71976,2015-01-01 01:19:10,bin4750,35, +CTSPillarNetworkA,4751,4751,4751,1983-01-04,474.80000000003946,474.81976,2015-01-01 01:19:11,bin4751,75, +CTSPillarNetworkA,4752,4752,4752,1983-01-05,474.9000000000395,474.91977,2015-01-01 01:19:12,bin4752,35, +CTSPillarNetworkA,4753,4753,4753,1983-01-06,475.0000000000395,475.01978,2015-01-01 01:19:13,bin4753,75, +CTSPillarNetworkA,4754,4754,4754,1983-01-07,475.10000000003953,475.11978,2015-01-01 01:19:14,bin4754,35, +CTSPillarNetworkA,4755,4755,4755,1983-01-08,475.20000000003955,475.2198,2015-01-01 01:19:15,bin4755,75, +CTSPillarNetworkA,4756,4756,4756,1983-01-09,475.3000000000396,475.3198,2015-01-01 01:19:16,bin4756,35, +CTSPillarNetworkA,4757,4757,4757,1983-01-10,475.4000000000396,475.4198,2015-01-01 01:19:17,bin4757,75, +CTSPillarNetworkA,4758,4758,4758,1983-01-11,475.5000000000396,475.5198,2015-01-01 01:19:18,bin4758,35, +CTSPillarNetworkA,4759,4759,4759,1983-01-12,475.60000000003964,475.6198,2015-01-01 01:19:19,bin4759,75, +CTSPillarNetworkA,4760,4760,4760,1983-01-13,475.70000000003967,475.71982,2015-01-01 01:19:20,bin4760,35, +CTSPillarNetworkA,4761,4761,4761,1983-01-14,475.8000000000397,475.81982,2015-01-01 01:19:21,bin4761,75, +CTSPillarNetworkA,4762,4762,4762,1983-01-15,475.9000000000397,475.91983,2015-01-01 01:19:22,bin4762,35, +CTSPillarNetworkA,4763,4763,4763,1983-01-16,476.00000000003973,476.01984,2015-01-01 01:19:23,bin4763,75, +CTSPillarNetworkA,4764,4764,4764,1983-01-17,476.10000000003976,476.11984,2015-01-01 01:19:24,bin4764,35, +CTSPillarNetworkA,4765,4765,4765,1983-01-18,476.2000000000398,476.21985,2015-01-01 01:19:25,bin4765,75, +CTSPillarNetworkA,4766,4766,4766,1983-01-19,476.3000000000398,476.31985,2015-01-01 01:19:26,bin4766,35, +CTSPillarNetworkA,4767,4767,4767,1983-01-20,476.4000000000398,476.41986,2015-01-01 01:19:27,bin4767,75, +CTSPillarNetworkA,4768,4768,4768,1983-01-21,476.50000000003985,476.51987,2015-01-01 01:19:28,bin4768,35, +CTSPillarNetworkA,4769,4769,4769,1983-01-22,476.60000000003987,476.61987,2015-01-01 01:19:29,bin4769,75, +CTSPillarNetworkA,4770,4770,4770,1983-01-23,476.7000000000399,476.71988,2015-01-01 01:19:30,bin4770,35, +CTSPillarNetworkA,4771,4771,4771,1983-01-24,476.8000000000399,476.8199,2015-01-01 01:19:31,bin4771,75, +CTSPillarNetworkA,4772,4772,4772,1983-01-25,476.90000000003994,476.9199,2015-01-01 01:19:32,bin4772,35, +CTSPillarNetworkA,4773,4773,4773,1983-01-26,477.00000000003996,477.0199,2015-01-01 01:19:33,bin4773,75, +CTSPillarNetworkA,4774,4774,4774,1983-01-27,477.10000000004,477.1199,2015-01-01 01:19:34,bin4774,35, +CTSPillarNetworkA,4775,4775,4775,1983-01-28,477.20000000004,477.2199,2015-01-01 01:19:35,bin4775,75, +CTSPillarNetworkA,4776,4776,4776,1983-01-29,477.30000000004003,477.31992,2015-01-01 01:19:36,bin4776,35, +CTSPillarNetworkA,4777,4777,4777,1983-01-30,477.40000000004005,477.41992,2015-01-01 01:19:37,bin4777,75, +CTSPillarNetworkA,4778,4778,4778,1983-01-31,477.5000000000401,477.51993,2015-01-01 01:19:38,bin4778,35, +CTSPillarNetworkA,4779,4779,4779,1983-02-01,477.6000000000401,477.61993,2015-01-01 01:19:39,bin4779,75, +CTSPillarNetworkA,4780,4780,4780,1983-02-02,477.7000000000401,477.71994,2015-01-01 01:19:40,bin4780,35, +CTSPillarNetworkA,4781,4781,4781,1983-02-03,477.80000000004014,477.81995,2015-01-01 01:19:41,bin4781,75, +CTSPillarNetworkA,4782,4782,4782,1983-02-04,477.90000000004017,477.91995,2015-01-01 01:19:42,bin4782,35, +CTSPillarNetworkA,4783,4783,4783,1983-02-05,478.0000000000402,478.01996,2015-01-01 01:19:43,bin4783,75, +CTSPillarNetworkA,4784,4784,4784,1983-02-06,478.1000000000402,478.11996,2015-01-01 01:19:44,bin4784,35, +CTSPillarNetworkA,4785,4785,4785,1983-02-07,478.20000000004023,478.21997,2015-01-01 01:19:45,bin4785,75, +CTSPillarNetworkA,4786,4786,4786,1983-02-08,478.30000000004026,478.31998,2015-01-01 01:19:46,bin4786,35, +CTSPillarNetworkA,4787,4787,4787,1983-02-09,478.4000000000403,478.41998,2015-01-01 01:19:47,bin4787,75, +CTSPillarNetworkA,4788,4788,4788,1983-02-10,478.5000000000403,478.52,2015-01-01 01:19:48,bin4788,35, +CTSPillarNetworkA,4789,4789,4789,1983-02-11,478.6000000000403,478.62,2015-01-01 01:19:49,bin4789,75, +CTSPillarNetworkA,4790,4790,4790,1983-02-12,478.70000000004035,478.72,2015-01-01 01:19:50,bin4790,35, +CTSPillarNetworkA,4791,4791,4791,1983-02-13,478.80000000004037,478.82,2015-01-01 01:19:51,bin4791,75, +CTSPillarNetworkA,4792,4792,4792,1983-02-14,478.9000000000404,478.92,2015-01-01 01:19:52,bin4792,35, +CTSPillarNetworkA,4793,4793,4793,1983-02-15,479.0000000000404,479.02002,2015-01-01 01:19:53,bin4793,75, +CTSPillarNetworkA,4794,4794,4794,1983-02-16,479.10000000004044,479.12003,2015-01-01 01:19:54,bin4794,35, +CTSPillarNetworkA,4795,4795,4795,1983-02-17,479.20000000004046,479.22003,2015-01-01 01:19:55,bin4795,75, +CTSPillarNetworkA,4796,4796,4796,1983-02-18,479.3000000000405,479.32004,2015-01-01 01:19:56,bin4796,35, +CTSPillarNetworkA,4797,4797,4797,1983-02-19,479.4000000000405,479.42004,2015-01-01 01:19:57,bin4797,75, +CTSPillarNetworkA,4798,4798,4798,1983-02-20,479.50000000004053,479.52005,2015-01-01 01:19:58,bin4798,35, +CTSPillarNetworkA,4799,4799,4799,1983-02-21,479.60000000004055,479.62006,2015-01-01 01:19:59,bin4799,75, +CTSPillarNetworkA,4800,4800,4800,1983-02-22,479.7000000000406,479.72006,2015-01-01 01:20:00,bin4800,35, +CTSPillarNetworkA,4801,4801,4801,1983-02-23,479.8000000000406,479.82007,2015-01-01 01:20:01,bin4801,75, +CTSPillarNetworkA,4802,4802,4802,1983-02-24,479.9000000000406,479.92007,2015-01-01 01:20:02,bin4802,35, +CTSPillarNetworkA,4803,4803,4803,1983-02-25,480.00000000004064,480.02008,2015-01-01 01:20:03,bin4803,75, +CTSPillarNetworkA,4804,4804,4804,1983-02-26,480.10000000004067,480.1201,2015-01-01 01:20:04,bin4804,35, +CTSPillarNetworkA,4805,4805,4805,1983-02-27,480.2000000000407,480.2201,2015-01-01 01:20:05,bin4805,75, +CTSPillarNetworkA,4806,4806,4806,1983-02-28,480.3000000000407,480.3201,2015-01-01 01:20:06,bin4806,35, +CTSPillarNetworkA,4807,4807,4807,1983-03-01,480.40000000004073,480.4201,2015-01-01 01:20:07,bin4807,75, +CTSPillarNetworkA,4808,4808,4808,1983-03-02,480.50000000004076,480.5201,2015-01-01 01:20:08,bin4808,35, +CTSPillarNetworkA,4809,4809,4809,1983-03-03,480.6000000000408,480.62012,2015-01-01 01:20:09,bin4809,75, +CTSPillarNetworkA,4810,4810,4810,1983-03-04,480.7000000000408,480.72012,2015-01-01 01:20:10,bin4810,35, +CTSPillarNetworkA,4811,4811,4811,1983-03-05,480.8000000000408,480.82013,2015-01-01 01:20:11,bin4811,75, +CTSPillarNetworkA,4812,4812,4812,1983-03-06,480.90000000004085,480.92014,2015-01-01 01:20:12,bin4812,35, +CTSPillarNetworkA,4813,4813,4813,1983-03-07,481.00000000004087,481.02014,2015-01-01 01:20:13,bin4813,75, +CTSPillarNetworkA,4814,4814,4814,1983-03-08,481.1000000000409,481.12015,2015-01-01 01:20:14,bin4814,35, +CTSPillarNetworkA,4815,4815,4815,1983-03-09,481.2000000000409,481.22015,2015-01-01 01:20:15,bin4815,75, +CTSPillarNetworkA,4816,4816,4816,1983-03-10,481.30000000004094,481.32016,2015-01-01 01:20:16,bin4816,35, +CTSPillarNetworkA,4817,4817,4817,1983-03-11,481.40000000004096,481.42017,2015-01-01 01:20:17,bin4817,75, +CTSPillarNetworkA,4818,4818,4818,1983-03-12,481.500000000041,481.52017,2015-01-01 01:20:18,bin4818,35, +CTSPillarNetworkA,4819,4819,4819,1983-03-13,481.600000000041,481.62018,2015-01-01 01:20:19,bin4819,75, +CTSPillarNetworkA,4820,4820,4820,1983-03-14,481.70000000004103,481.72018,2015-01-01 01:20:20,bin4820,35, +CTSPillarNetworkA,4821,4821,4821,1983-03-15,481.80000000004105,481.8202,2015-01-01 01:20:21,bin4821,75, +CTSPillarNetworkA,4822,4822,4822,1983-03-16,481.9000000000411,481.9202,2015-01-01 01:20:22,bin4822,35, +CTSPillarNetworkA,4823,4823,4823,1983-03-17,482.0000000000411,482.0202,2015-01-01 01:20:23,bin4823,75, +CTSPillarNetworkA,4824,4824,4824,1983-03-18,482.1000000000411,482.1202,2015-01-01 01:20:24,bin4824,35, +CTSPillarNetworkA,4825,4825,4825,1983-03-19,482.20000000004114,482.2202,2015-01-01 01:20:25,bin4825,75, +CTSPillarNetworkA,4826,4826,4826,1983-03-20,482.30000000004117,482.32022,2015-01-01 01:20:26,bin4826,35, +CTSPillarNetworkA,4827,4827,4827,1983-03-21,482.4000000000412,482.42023,2015-01-01 01:20:27,bin4827,75, +CTSPillarNetworkA,4828,4828,4828,1983-03-22,482.5000000000412,482.52023,2015-01-01 01:20:28,bin4828,35, +CTSPillarNetworkA,4829,4829,4829,1983-03-23,482.60000000004123,482.62024,2015-01-01 01:20:29,bin4829,75, +CTSPillarNetworkA,4830,4830,4830,1983-03-24,482.70000000004126,482.72025,2015-01-01 01:20:30,bin4830,35, +CTSPillarNetworkA,4831,4831,4831,1983-03-25,482.8000000000413,482.82025,2015-01-01 01:20:31,bin4831,75, +CTSPillarNetworkA,4832,4832,4832,1983-03-26,482.9000000000413,482.92026,2015-01-01 01:20:32,bin4832,35, +CTSPillarNetworkA,4833,4833,4833,1983-03-27,483.0000000000413,483.02026,2015-01-01 01:20:33,bin4833,75, +CTSPillarNetworkA,4834,4834,4834,1983-03-28,483.10000000004135,483.12027,2015-01-01 01:20:34,bin4834,35, +CTSPillarNetworkA,4835,4835,4835,1983-03-29,483.20000000004137,483.22028,2015-01-01 01:20:35,bin4835,75, +CTSPillarNetworkA,4836,4836,4836,1983-03-30,483.3000000000414,483.32028,2015-01-01 01:20:36,bin4836,35, +CTSPillarNetworkA,4837,4837,4837,1983-03-31,483.4000000000414,483.4203,2015-01-01 01:20:37,bin4837,75, +CTSPillarNetworkA,4838,4838,4838,1983-04-01,483.50000000004144,483.5203,2015-01-01 01:20:38,bin4838,35, +CTSPillarNetworkA,4839,4839,4839,1983-04-02,483.60000000004146,483.6203,2015-01-01 01:20:39,bin4839,75, +CTSPillarNetworkA,4840,4840,4840,1983-04-03,483.7000000000415,483.7203,2015-01-01 01:20:40,bin4840,35, +CTSPillarNetworkA,4841,4841,4841,1983-04-04,483.8000000000415,483.8203,2015-01-01 01:20:41,bin4841,75, +CTSPillarNetworkA,4842,4842,4842,1983-04-05,483.90000000004153,483.92032,2015-01-01 01:20:42,bin4842,35, +CTSPillarNetworkA,4843,4843,4843,1983-04-06,484.00000000004155,484.02032,2015-01-01 01:20:43,bin4843,75, +CTSPillarNetworkA,4844,4844,4844,1983-04-07,484.1000000000416,484.12033,2015-01-01 01:20:44,bin4844,35, +CTSPillarNetworkA,4845,4845,4845,1983-04-08,484.2000000000416,484.22034,2015-01-01 01:20:45,bin4845,75, +CTSPillarNetworkA,4846,4846,4846,1983-04-09,484.3000000000416,484.32034,2015-01-01 01:20:46,bin4846,35, +CTSPillarNetworkA,4847,4847,4847,1983-04-10,484.40000000004164,484.42035,2015-01-01 01:20:47,bin4847,75, +CTSPillarNetworkA,4848,4848,4848,1983-04-11,484.50000000004167,484.52036,2015-01-01 01:20:48,bin4848,35, +CTSPillarNetworkA,4849,4849,4849,1983-04-12,484.6000000000417,484.62036,2015-01-01 01:20:49,bin4849,75, +CTSPillarNetworkA,4850,4850,4850,1983-04-13,484.7000000000417,484.72037,2015-01-01 01:20:50,bin4850,35, +CTSPillarNetworkA,4851,4851,4851,1983-04-14,484.80000000004173,484.82037,2015-01-01 01:20:51,bin4851,75, +CTSPillarNetworkA,4852,4852,4852,1983-04-15,484.90000000004176,484.92038,2015-01-01 01:20:52,bin4852,35, +CTSPillarNetworkA,4853,4853,4853,1983-04-16,485.0000000000418,485.0204,2015-01-01 01:20:53,bin4853,75, +CTSPillarNetworkA,4854,4854,4854,1983-04-17,485.1000000000418,485.1204,2015-01-01 01:20:54,bin4854,35, +CTSPillarNetworkA,4855,4855,4855,1983-04-18,485.2000000000418,485.2204,2015-01-01 01:20:55,bin4855,75, +CTSPillarNetworkA,4856,4856,4856,1983-04-19,485.30000000004185,485.3204,2015-01-01 01:20:56,bin4856,35, +CTSPillarNetworkA,4857,4857,4857,1983-04-20,485.40000000004187,485.4204,2015-01-01 01:20:57,bin4857,75, +CTSPillarNetworkA,4858,4858,4858,1983-04-21,485.5000000000419,485.52042,2015-01-01 01:20:58,bin4858,35, +CTSPillarNetworkA,4859,4859,4859,1983-04-22,485.6000000000419,485.62042,2015-01-01 01:20:59,bin4859,75, +CTSPillarNetworkA,4860,4860,4860,1983-04-23,485.70000000004194,485.72043,2015-01-01 01:21:00,bin4860,35, +CTSPillarNetworkA,4861,4861,4861,1983-04-24,485.80000000004196,485.82043,2015-01-01 01:21:01,bin4861,75, +CTSPillarNetworkA,4862,4862,4862,1983-04-25,485.900000000042,485.92044,2015-01-01 01:21:02,bin4862,35, +CTSPillarNetworkA,4863,4863,4863,1983-04-26,486.000000000042,486.02045,2015-01-01 01:21:03,bin4863,75, +CTSPillarNetworkA,4864,4864,4864,1983-04-27,486.10000000004203,486.12045,2015-01-01 01:21:04,bin4864,35, +CTSPillarNetworkA,4865,4865,4865,1983-04-28,486.20000000004205,486.22046,2015-01-01 01:21:05,bin4865,75, +CTSPillarNetworkA,4866,4866,4866,1983-04-29,486.3000000000421,486.32047,2015-01-01 01:21:06,bin4866,35, +CTSPillarNetworkA,4867,4867,4867,1983-04-30,486.4000000000421,486.42047,2015-01-01 01:21:07,bin4867,75, +CTSPillarNetworkA,4868,4868,4868,1983-05-01,486.5000000000421,486.52048,2015-01-01 01:21:08,bin4868,35, +CTSPillarNetworkA,4869,4869,4869,1983-05-02,486.60000000004214,486.62048,2015-01-01 01:21:09,bin4869,75, +CTSPillarNetworkA,4870,4870,4870,1983-05-03,486.70000000004217,486.7205,2015-01-01 01:21:10,bin4870,35, +CTSPillarNetworkA,4871,4871,4871,1983-05-04,486.8000000000422,486.8205,2015-01-01 01:21:11,bin4871,75, +CTSPillarNetworkA,4872,4872,4872,1983-05-05,486.9000000000422,486.9205,2015-01-01 01:21:12,bin4872,35, +CTSPillarNetworkA,4873,4873,4873,1983-05-06,487.00000000004223,487.0205,2015-01-01 01:21:13,bin4873,75, +CTSPillarNetworkA,4874,4874,4874,1983-05-07,487.10000000004226,487.1205,2015-01-01 01:21:14,bin4874,35, +CTSPillarNetworkA,4875,4875,4875,1983-05-08,487.2000000000423,487.22052,2015-01-01 01:21:15,bin4875,75, +CTSPillarNetworkA,4876,4876,4876,1983-05-09,487.3000000000423,487.32053,2015-01-01 01:21:16,bin4876,35, +CTSPillarNetworkA,4877,4877,4877,1983-05-10,487.4000000000423,487.42053,2015-01-01 01:21:17,bin4877,75, +CTSPillarNetworkA,4878,4878,4878,1983-05-11,487.50000000004235,487.52054,2015-01-01 01:21:18,bin4878,35, +CTSPillarNetworkA,4879,4879,4879,1983-05-12,487.60000000004237,487.62054,2015-01-01 01:21:19,bin4879,75, +CTSPillarNetworkA,4880,4880,4880,1983-05-13,487.7000000000424,487.72055,2015-01-01 01:21:20,bin4880,35, +CTSPillarNetworkA,4881,4881,4881,1983-05-14,487.8000000000424,487.82056,2015-01-01 01:21:21,bin4881,75, +CTSPillarNetworkA,4882,4882,4882,1983-05-15,487.90000000004244,487.92056,2015-01-01 01:21:22,bin4882,35, +CTSPillarNetworkA,4883,4883,4883,1983-05-16,488.00000000004246,488.02057,2015-01-01 01:21:23,bin4883,75, +CTSPillarNetworkA,4884,4884,4884,1983-05-17,488.1000000000425,488.12057,2015-01-01 01:21:24,bin4884,35, +CTSPillarNetworkA,4885,4885,4885,1983-05-18,488.2000000000425,488.22058,2015-01-01 01:21:25,bin4885,75, +CTSPillarNetworkA,4886,4886,4886,1983-05-19,488.30000000004253,488.3206,2015-01-01 01:21:26,bin4886,35, +CTSPillarNetworkA,4887,4887,4887,1983-05-20,488.40000000004255,488.4206,2015-01-01 01:21:27,bin4887,75, +CTSPillarNetworkA,4888,4888,4888,1983-05-21,488.5000000000426,488.5206,2015-01-01 01:21:28,bin4888,35, +CTSPillarNetworkA,4889,4889,4889,1983-05-22,488.6000000000426,488.6206,2015-01-01 01:21:29,bin4889,75, +CTSPillarNetworkA,4890,4890,4890,1983-05-23,488.7000000000426,488.7206,2015-01-01 01:21:30,bin4890,35, +CTSPillarNetworkA,4891,4891,4891,1983-05-24,488.80000000004264,488.82062,2015-01-01 01:21:31,bin4891,75, +CTSPillarNetworkA,4892,4892,4892,1983-05-25,488.90000000004267,488.92062,2015-01-01 01:21:32,bin4892,35, +CTSPillarNetworkA,4893,4893,4893,1983-05-26,489.0000000000427,489.02063,2015-01-01 01:21:33,bin4893,75, +CTSPillarNetworkA,4894,4894,4894,1983-05-27,489.1000000000427,489.12064,2015-01-01 01:21:34,bin4894,35, +CTSPillarNetworkA,4895,4895,4895,1983-05-28,489.20000000004273,489.22064,2015-01-01 01:21:35,bin4895,75, +CTSPillarNetworkA,4896,4896,4896,1983-05-29,489.30000000004276,489.32065,2015-01-01 01:21:36,bin4896,35, +CTSPillarNetworkA,4897,4897,4897,1983-05-30,489.4000000000428,489.42065,2015-01-01 01:21:37,bin4897,75, +CTSPillarNetworkA,4898,4898,4898,1983-05-31,489.5000000000428,489.52066,2015-01-01 01:21:38,bin4898,35, +CTSPillarNetworkA,4899,4899,4899,1983-06-01,489.6000000000428,489.62067,2015-01-01 01:21:39,bin4899,75, +CTSPillarNetworkA,4900,4900,4900,1983-06-02,489.70000000004285,489.72067,2015-01-01 01:21:40,bin4900,35, +CTSPillarNetworkA,4901,4901,4901,1983-06-03,489.80000000004287,489.82068,2015-01-01 01:21:41,bin4901,75, +CTSPillarNetworkA,4902,4902,4902,1983-06-04,489.9000000000429,489.9207,2015-01-01 01:21:42,bin4902,35, +CTSPillarNetworkA,4903,4903,4903,1983-06-05,490.0000000000429,490.0207,2015-01-01 01:21:43,bin4903,75, +CTSPillarNetworkA,4904,4904,4904,1983-06-06,490.10000000004294,490.1207,2015-01-01 01:21:44,bin4904,35, +CTSPillarNetworkA,4905,4905,4905,1983-06-07,490.20000000004296,490.2207,2015-01-01 01:21:45,bin4905,75, +CTSPillarNetworkA,4906,4906,4906,1983-06-08,490.300000000043,490.3207,2015-01-01 01:21:46,bin4906,35, +CTSPillarNetworkA,4907,4907,4907,1983-06-09,490.400000000043,490.42072,2015-01-01 01:21:47,bin4907,75, +CTSPillarNetworkA,4908,4908,4908,1983-06-10,490.50000000004303,490.52072,2015-01-01 01:21:48,bin4908,35, +CTSPillarNetworkA,4909,4909,4909,1983-06-11,490.60000000004305,490.62073,2015-01-01 01:21:49,bin4909,75, +CTSPillarNetworkA,4910,4910,4910,1983-06-12,490.7000000000431,490.72073,2015-01-01 01:21:50,bin4910,35, +CTSPillarNetworkA,4911,4911,4911,1983-06-13,490.8000000000431,490.82074,2015-01-01 01:21:51,bin4911,75, +CTSPillarNetworkA,4912,4912,4912,1983-06-14,490.9000000000431,490.92075,2015-01-01 01:21:52,bin4912,35, +CTSPillarNetworkA,4913,4913,4913,1983-06-15,491.00000000004314,491.02075,2015-01-01 01:21:53,bin4913,75, +CTSPillarNetworkA,4914,4914,4914,1983-06-16,491.10000000004317,491.12076,2015-01-01 01:21:54,bin4914,35, +CTSPillarNetworkA,4915,4915,4915,1983-06-17,491.2000000000432,491.22076,2015-01-01 01:21:55,bin4915,75, +CTSPillarNetworkA,4916,4916,4916,1983-06-18,491.3000000000432,491.32077,2015-01-01 01:21:56,bin4916,35, +CTSPillarNetworkA,4917,4917,4917,1983-06-19,491.40000000004324,491.42078,2015-01-01 01:21:57,bin4917,75, +CTSPillarNetworkA,4918,4918,4918,1983-06-20,491.50000000004326,491.52078,2015-01-01 01:21:58,bin4918,35, +CTSPillarNetworkA,4919,4919,4919,1983-06-21,491.6000000000433,491.6208,2015-01-01 01:21:59,bin4919,75, +CTSPillarNetworkA,4920,4920,4920,1983-06-22,491.7000000000433,491.7208,2015-01-01 01:22:00,bin4920,35, +CTSPillarNetworkA,4921,4921,4921,1983-06-23,491.8000000000433,491.8208,2015-01-01 01:22:01,bin4921,75, +CTSPillarNetworkA,4922,4922,4922,1983-06-24,491.90000000004335,491.9208,2015-01-01 01:22:02,bin4922,35, +CTSPillarNetworkA,4923,4923,4923,1983-06-25,492.00000000004337,492.0208,2015-01-01 01:22:03,bin4923,75, +CTSPillarNetworkA,4924,4924,4924,1983-06-26,492.1000000000434,492.12082,2015-01-01 01:22:04,bin4924,35, +CTSPillarNetworkA,4925,4925,4925,1983-06-27,492.2000000000434,492.22083,2015-01-01 01:22:05,bin4925,75, +CTSPillarNetworkA,4926,4926,4926,1983-06-28,492.30000000004344,492.32083,2015-01-01 01:22:06,bin4926,35, +CTSPillarNetworkA,4927,4927,4927,1983-06-29,492.40000000004346,492.42084,2015-01-01 01:22:07,bin4927,75, +CTSPillarNetworkA,4928,4928,4928,1983-06-30,492.5000000000435,492.52084,2015-01-01 01:22:08,bin4928,35, +CTSPillarNetworkA,4929,4929,4929,1983-07-01,492.6000000000435,492.62085,2015-01-01 01:22:09,bin4929,75, +CTSPillarNetworkA,4930,4930,4930,1983-07-02,492.70000000004353,492.72086,2015-01-01 01:22:10,bin4930,35, +CTSPillarNetworkA,4931,4931,4931,1983-07-03,492.80000000004355,492.82086,2015-01-01 01:22:11,bin4931,75, +CTSPillarNetworkA,4932,4932,4932,1983-07-04,492.9000000000436,492.92087,2015-01-01 01:22:12,bin4932,35, +CTSPillarNetworkA,4933,4933,4933,1983-07-05,493.0000000000436,493.02087,2015-01-01 01:22:13,bin4933,75, +CTSPillarNetworkA,4934,4934,4934,1983-07-06,493.1000000000436,493.12088,2015-01-01 01:22:14,bin4934,35, +CTSPillarNetworkA,4935,4935,4935,1983-07-07,493.20000000004364,493.2209,2015-01-01 01:22:15,bin4935,75, +CTSPillarNetworkA,4936,4936,4936,1983-07-08,493.30000000004367,493.3209,2015-01-01 01:22:16,bin4936,35, +CTSPillarNetworkA,4937,4937,4937,1983-07-09,493.4000000000437,493.4209,2015-01-01 01:22:17,bin4937,75, +CTSPillarNetworkA,4938,4938,4938,1983-07-10,493.5000000000437,493.5209,2015-01-01 01:22:18,bin4938,35, +CTSPillarNetworkA,4939,4939,4939,1983-07-11,493.60000000004374,493.6209,2015-01-01 01:22:19,bin4939,75, +CTSPillarNetworkA,4940,4940,4940,1983-07-12,493.70000000004376,493.72092,2015-01-01 01:22:20,bin4940,35, +CTSPillarNetworkA,4941,4941,4941,1983-07-13,493.8000000000438,493.82092,2015-01-01 01:22:21,bin4941,75, +CTSPillarNetworkA,4942,4942,4942,1983-07-14,493.9000000000438,493.92093,2015-01-01 01:22:22,bin4942,35, +CTSPillarNetworkA,4943,4943,4943,1983-07-15,494.0000000000438,494.02094,2015-01-01 01:22:23,bin4943,75, +CTSPillarNetworkA,4944,4944,4944,1983-07-16,494.10000000004385,494.12094,2015-01-01 01:22:24,bin4944,35, +CTSPillarNetworkA,4945,4945,4945,1983-07-17,494.2000000000439,494.22095,2015-01-01 01:22:25,bin4945,75, +CTSPillarNetworkA,4946,4946,4946,1983-07-18,494.3000000000439,494.32095,2015-01-01 01:22:26,bin4946,35, +CTSPillarNetworkA,4947,4947,4947,1983-07-19,494.4000000000439,494.42096,2015-01-01 01:22:27,bin4947,75, +CTSPillarNetworkA,4948,4948,4948,1983-07-20,494.50000000004394,494.52097,2015-01-01 01:22:28,bin4948,35, +CTSPillarNetworkA,4949,4949,4949,1983-07-21,494.60000000004396,494.62097,2015-01-01 01:22:29,bin4949,75, +CTSPillarNetworkA,4950,4950,4950,1983-07-22,494.700000000044,494.72098,2015-01-01 01:22:30,bin4950,35, +CTSPillarNetworkA,4951,4951,4951,1983-07-23,494.800000000044,494.82098,2015-01-01 01:22:31,bin4951,75, +CTSPillarNetworkA,4952,4952,4952,1983-07-24,494.90000000004403,494.921,2015-01-01 01:22:32,bin4952,35, +CTSPillarNetworkA,4953,4953,4953,1983-07-25,495.00000000004405,495.021,2015-01-01 01:22:33,bin4953,75, +CTSPillarNetworkA,4954,4954,4954,1983-07-26,495.1000000000441,495.121,2015-01-01 01:22:34,bin4954,35, +CTSPillarNetworkA,4955,4955,4955,1983-07-27,495.2000000000441,495.221,2015-01-01 01:22:35,bin4955,75, +CTSPillarNetworkA,4956,4956,4956,1983-07-28,495.3000000000441,495.321,2015-01-01 01:22:36,bin4956,35, +CTSPillarNetworkA,4957,4957,4957,1983-07-29,495.40000000004414,495.42102,2015-01-01 01:22:37,bin4957,75, +CTSPillarNetworkA,4958,4958,4958,1983-07-30,495.50000000004417,495.52103,2015-01-01 01:22:38,bin4958,35, +CTSPillarNetworkA,4959,4959,4959,1983-07-31,495.6000000000442,495.62103,2015-01-01 01:22:39,bin4959,75, +CTSPillarNetworkA,4960,4960,4960,1983-08-01,495.7000000000442,495.72104,2015-01-01 01:22:40,bin4960,35, +CTSPillarNetworkA,4961,4961,4961,1983-08-02,495.80000000004424,495.82104,2015-01-01 01:22:41,bin4961,75, +CTSPillarNetworkA,4962,4962,4962,1983-08-03,495.90000000004426,495.92105,2015-01-01 01:22:42,bin4962,35, +CTSPillarNetworkA,4963,4963,4963,1983-08-04,496.0000000000443,496.02106,2015-01-01 01:22:43,bin4963,75, +CTSPillarNetworkA,4964,4964,4964,1983-08-05,496.1000000000443,496.12106,2015-01-01 01:22:44,bin4964,35, +CTSPillarNetworkA,4965,4965,4965,1983-08-06,496.2000000000443,496.22107,2015-01-01 01:22:45,bin4965,75, +CTSPillarNetworkA,4966,4966,4966,1983-08-07,496.30000000004435,496.32108,2015-01-01 01:22:46,bin4966,35, +CTSPillarNetworkA,4967,4967,4967,1983-08-08,496.4000000000444,496.42108,2015-01-01 01:22:47,bin4967,75, +CTSPillarNetworkA,4968,4968,4968,1983-08-09,496.5000000000444,496.5211,2015-01-01 01:22:48,bin4968,35, +CTSPillarNetworkA,4969,4969,4969,1983-08-10,496.6000000000444,496.6211,2015-01-01 01:22:49,bin4969,75, +CTSPillarNetworkA,4970,4970,4970,1983-08-11,496.70000000004444,496.7211,2015-01-01 01:22:50,bin4970,35, +CTSPillarNetworkA,4971,4971,4971,1983-08-12,496.80000000004446,496.8211,2015-01-01 01:22:51,bin4971,75, +CTSPillarNetworkA,4972,4972,4972,1983-08-13,496.9000000000445,496.9211,2015-01-01 01:22:52,bin4972,35, +CTSPillarNetworkA,4973,4973,4973,1983-08-14,497.0000000000445,497.02112,2015-01-01 01:22:53,bin4973,75, +CTSPillarNetworkA,4974,4974,4974,1983-08-15,497.10000000004453,497.12112,2015-01-01 01:22:54,bin4974,35, +CTSPillarNetworkA,4975,4975,4975,1983-08-16,497.20000000004455,497.22113,2015-01-01 01:22:55,bin4975,75, +CTSPillarNetworkA,4976,4976,4976,1983-08-17,497.3000000000446,497.32114,2015-01-01 01:22:56,bin4976,35, +CTSPillarNetworkA,4977,4977,4977,1983-08-18,497.4000000000446,497.42114,2015-01-01 01:22:57,bin4977,75, +CTSPillarNetworkA,4978,4978,4978,1983-08-19,497.5000000000446,497.52115,2015-01-01 01:22:58,bin4978,35, +CTSPillarNetworkA,4979,4979,4979,1983-08-20,497.60000000004464,497.62115,2015-01-01 01:22:59,bin4979,75, +CTSPillarNetworkA,4980,4980,4980,1983-08-21,497.70000000004467,497.72116,2015-01-01 01:23:00,bin4980,35, +CTSPillarNetworkA,4981,4981,4981,1983-08-22,497.8000000000447,497.82117,2015-01-01 01:23:01,bin4981,75, +CTSPillarNetworkA,4982,4982,4982,1983-08-23,497.9000000000447,497.92117,2015-01-01 01:23:02,bin4982,35, +CTSPillarNetworkA,4983,4983,4983,1983-08-24,498.00000000004474,498.02118,2015-01-01 01:23:03,bin4983,75, +CTSPillarNetworkA,4984,4984,4984,1983-08-25,498.10000000004476,498.1212,2015-01-01 01:23:04,bin4984,35, +CTSPillarNetworkA,4985,4985,4985,1983-08-26,498.2000000000448,498.2212,2015-01-01 01:23:05,bin4985,75, +CTSPillarNetworkA,4986,4986,4986,1983-08-27,498.3000000000448,498.3212,2015-01-01 01:23:06,bin4986,35, +CTSPillarNetworkA,4987,4987,4987,1983-08-28,498.4000000000448,498.4212,2015-01-01 01:23:07,bin4987,75, +CTSPillarNetworkA,4988,4988,4988,1983-08-29,498.50000000004485,498.5212,2015-01-01 01:23:08,bin4988,35, +CTSPillarNetworkA,4989,4989,4989,1983-08-30,498.6000000000449,498.62122,2015-01-01 01:23:09,bin4989,75, +CTSPillarNetworkA,4990,4990,4990,1983-08-31,498.7000000000449,498.72122,2015-01-01 01:23:10,bin4990,35, +CTSPillarNetworkA,4991,4991,4991,1983-09-01,498.8000000000449,498.82123,2015-01-01 01:23:11,bin4991,75, +CTSPillarNetworkA,4992,4992,4992,1983-09-02,498.90000000004494,498.92123,2015-01-01 01:23:12,bin4992,35, +CTSPillarNetworkA,4993,4993,4993,1983-09-03,499.00000000004496,499.02124,2015-01-01 01:23:13,bin4993,75, +CTSPillarNetworkA,4994,4994,4994,1983-09-04,499.100000000045,499.12125,2015-01-01 01:23:14,bin4994,35, +CTSPillarNetworkA,4995,4995,4995,1983-09-05,499.200000000045,499.22125,2015-01-01 01:23:15,bin4995,75, +CTSPillarNetworkA,4996,4996,4996,1983-09-06,499.30000000004503,499.32126,2015-01-01 01:23:16,bin4996,35, +CTSPillarNetworkA,4997,4997,4997,1983-09-07,499.40000000004505,499.42126,2015-01-01 01:23:17,bin4997,75, +CTSPillarNetworkA,4998,4998,4998,1983-09-08,499.5000000000451,499.52127,2015-01-01 01:23:18,bin4998,35, +CTSPillarNetworkA,4999,4999,4999,1983-09-09,499.6000000000451,499.62128,2015-01-01 01:23:19,bin4999,75, +CTSPillarNetworkA,5000,5000,5000,1983-09-10,499.7000000000451,499.72128,2015-01-01 01:23:20,bin5000,35, +CTSPillarNetworkA,5001,5001,5001,1983-09-11,499.80000000004515,499.8213,2015-01-01 01:23:21,bin5001,75, +CTSPillarNetworkA,5002,5002,5002,1983-09-12,499.90000000004517,499.9213,2015-01-01 01:23:22,bin5002,35, +CTSPillarNetworkA,5003,5003,5003,1983-09-13,500.0000000000452,500.0213,2015-01-01 01:23:23,bin5003,75, +CTSPillarNetworkA,5004,5004,5004,1983-09-14,500.1000000000452,500.1213,2015-01-01 01:23:24,bin5004,35, +CTSPillarNetworkA,5005,5005,5005,1983-09-15,500.20000000004524,500.2213,2015-01-01 01:23:25,bin5005,75, +CTSPillarNetworkA,5006,5006,5006,1983-09-16,500.30000000004526,500.32132,2015-01-01 01:23:26,bin5006,35, +CTSPillarNetworkA,5007,5007,5007,1983-09-17,500.4000000000453,500.42133,2015-01-01 01:23:27,bin5007,75, +CTSPillarNetworkA,5008,5008,5008,1983-09-18,500.5000000000453,500.52133,2015-01-01 01:23:28,bin5008,35, +CTSPillarNetworkA,5009,5009,5009,1983-09-19,500.6000000000453,500.62134,2015-01-01 01:23:29,bin5009,75, +CTSPillarNetworkA,5010,5010,5010,1983-09-20,500.70000000004535,500.72134,2015-01-01 01:23:30,bin5010,35, +CTSPillarNetworkA,5011,5011,5011,1983-09-21,500.8000000000454,500.82135,2015-01-01 01:23:31,bin5011,75, +CTSPillarNetworkA,5012,5012,5012,1983-09-22,500.9000000000454,500.92136,2015-01-01 01:23:32,bin5012,35, +CTSPillarNetworkA,5013,5013,5013,1983-09-23,501.0000000000454,501.02136,2015-01-01 01:23:33,bin5013,75, +CTSPillarNetworkA,5014,5014,5014,1983-09-24,501.10000000004544,501.12137,2015-01-01 01:23:34,bin5014,35, +CTSPillarNetworkA,5015,5015,5015,1983-09-25,501.20000000004546,501.22137,2015-01-01 01:23:35,bin5015,75, +CTSPillarNetworkA,5016,5016,5016,1983-09-26,501.3000000000455,501.32138,2015-01-01 01:23:36,bin5016,35, +CTSPillarNetworkA,5017,5017,5017,1983-09-27,501.4000000000455,501.4214,2015-01-01 01:23:37,bin5017,75, +CTSPillarNetworkA,5018,5018,5018,1983-09-28,501.50000000004553,501.5214,2015-01-01 01:23:38,bin5018,35, +CTSPillarNetworkA,5019,5019,5019,1983-09-29,501.60000000004555,501.6214,2015-01-01 01:23:39,bin5019,75, +CTSPillarNetworkA,5020,5020,5020,1983-09-30,501.7000000000456,501.7214,2015-01-01 01:23:40,bin5020,35, +CTSPillarNetworkA,5021,5021,5021,1983-10-01,501.8000000000456,501.8214,2015-01-01 01:23:41,bin5021,75, +CTSPillarNetworkA,5022,5022,5022,1983-10-02,501.9000000000456,501.92142,2015-01-01 01:23:42,bin5022,35, +CTSPillarNetworkA,5023,5023,5023,1983-10-03,502.00000000004565,502.02142,2015-01-01 01:23:43,bin5023,75, +CTSPillarNetworkA,5024,5024,5024,1983-10-04,502.10000000004567,502.12143,2015-01-01 01:23:44,bin5024,35, +CTSPillarNetworkA,5025,5025,5025,1983-10-05,502.2000000000457,502.22144,2015-01-01 01:23:45,bin5025,75, +CTSPillarNetworkA,5026,5026,5026,1983-10-06,502.3000000000457,502.32144,2015-01-01 01:23:46,bin5026,35, +CTSPillarNetworkA,5027,5027,5027,1983-10-07,502.40000000004574,502.42145,2015-01-01 01:23:47,bin5027,75, +CTSPillarNetworkA,5028,5028,5028,1983-10-08,502.50000000004576,502.52145,2015-01-01 01:23:48,bin5028,35, +CTSPillarNetworkA,5029,5029,5029,1983-10-09,502.6000000000458,502.62146,2015-01-01 01:23:49,bin5029,75, +CTSPillarNetworkA,5030,5030,5030,1983-10-10,502.7000000000458,502.72147,2015-01-01 01:23:50,bin5030,35, +CTSPillarNetworkA,5031,5031,5031,1983-10-11,502.8000000000458,502.82147,2015-01-01 01:23:51,bin5031,75, +CTSPillarNetworkA,5032,5032,5032,1983-10-12,502.90000000004585,502.92148,2015-01-01 01:23:52,bin5032,35, +CTSPillarNetworkA,5033,5033,5033,1983-10-13,503.0000000000459,503.02148,2015-01-01 01:23:53,bin5033,75, +CTSPillarNetworkA,5034,5034,5034,1983-10-14,503.1000000000459,503.1215,2015-01-01 01:23:54,bin5034,35, +CTSPillarNetworkA,5035,5035,5035,1983-10-15,503.2000000000459,503.2215,2015-01-01 01:23:55,bin5035,75, +CTSPillarNetworkA,5036,5036,5036,1983-10-16,503.30000000004594,503.3215,2015-01-01 01:23:56,bin5036,35, +CTSPillarNetworkA,5037,5037,5037,1983-10-17,503.40000000004596,503.4215,2015-01-01 01:23:57,bin5037,75, +CTSPillarNetworkA,5038,5038,5038,1983-10-18,503.500000000046,503.5215,2015-01-01 01:23:58,bin5038,35, +CTSPillarNetworkA,5039,5039,5039,1983-10-19,503.600000000046,503.62152,2015-01-01 01:23:59,bin5039,75, +CTSPillarNetworkA,5040,5040,5040,1983-10-20,503.70000000004603,503.72153,2015-01-01 01:24:00,bin5040,35, +CTSPillarNetworkA,5041,5041,5041,1983-10-21,503.80000000004605,503.82153,2015-01-01 01:24:01,bin5041,75, +CTSPillarNetworkA,5042,5042,5042,1983-10-22,503.9000000000461,503.92154,2015-01-01 01:24:02,bin5042,35, +CTSPillarNetworkA,5043,5043,5043,1983-10-23,504.0000000000461,504.02155,2015-01-01 01:24:03,bin5043,75, +CTSPillarNetworkA,5044,5044,5044,1983-10-24,504.1000000000461,504.12155,2015-01-01 01:24:04,bin5044,35, +CTSPillarNetworkA,5045,5045,5045,1983-10-25,504.20000000004615,504.22156,2015-01-01 01:24:05,bin5045,75, +CTSPillarNetworkA,5046,5046,5046,1983-10-26,504.30000000004617,504.32156,2015-01-01 01:24:06,bin5046,35, +CTSPillarNetworkA,5047,5047,5047,1983-10-27,504.4000000000462,504.42157,2015-01-01 01:24:07,bin5047,75, +CTSPillarNetworkA,5048,5048,5048,1983-10-28,504.5000000000462,504.52158,2015-01-01 01:24:08,bin5048,35, +CTSPillarNetworkA,5049,5049,5049,1983-10-29,504.60000000004624,504.62158,2015-01-01 01:24:09,bin5049,75, +CTSPillarNetworkA,5050,5050,5050,1983-10-30,504.70000000004626,504.7216,2015-01-01 01:24:10,bin5050,35, +CTSPillarNetworkA,5051,5051,5051,1983-10-31,504.8000000000463,504.8216,2015-01-01 01:24:11,bin5051,75, +CTSPillarNetworkA,5052,5052,5052,1983-11-01,504.9000000000463,504.9216,2015-01-01 01:24:12,bin5052,35, +CTSPillarNetworkA,5053,5053,5053,1983-11-02,505.0000000000463,505.0216,2015-01-01 01:24:13,bin5053,75, +CTSPillarNetworkA,5054,5054,5054,1983-11-03,505.10000000004635,505.1216,2015-01-01 01:24:14,bin5054,35, +CTSPillarNetworkA,5055,5055,5055,1983-11-04,505.2000000000464,505.22162,2015-01-01 01:24:15,bin5055,75, +CTSPillarNetworkA,5056,5056,5056,1983-11-05,505.3000000000464,505.32162,2015-01-01 01:24:16,bin5056,35, +CTSPillarNetworkA,5057,5057,5057,1983-11-06,505.4000000000464,505.42163,2015-01-01 01:24:17,bin5057,75, +CTSPillarNetworkA,5058,5058,5058,1983-11-07,505.50000000004644,505.52164,2015-01-01 01:24:18,bin5058,35, +CTSPillarNetworkA,5059,5059,5059,1983-11-08,505.60000000004646,505.62164,2015-01-01 01:24:19,bin5059,75, +CTSPillarNetworkA,5060,5060,5060,1983-11-09,505.7000000000465,505.72165,2015-01-01 01:24:20,bin5060,35, +CTSPillarNetworkA,5061,5061,5061,1983-11-10,505.8000000000465,505.82166,2015-01-01 01:24:21,bin5061,75, +CTSPillarNetworkA,5062,5062,5062,1983-11-11,505.90000000004653,505.92166,2015-01-01 01:24:22,bin5062,35, +CTSPillarNetworkA,5063,5063,5063,1983-11-12,506.00000000004655,506.02167,2015-01-01 01:24:23,bin5063,75, +CTSPillarNetworkA,5064,5064,5064,1983-11-13,506.1000000000466,506.12167,2015-01-01 01:24:24,bin5064,35, +CTSPillarNetworkA,5065,5065,5065,1983-11-14,506.2000000000466,506.22168,2015-01-01 01:24:25,bin5065,75, +CTSPillarNetworkA,5066,5066,5066,1983-11-15,506.3000000000466,506.3217,2015-01-01 01:24:26,bin5066,35, +CTSPillarNetworkA,5067,5067,5067,1983-11-16,506.40000000004665,506.4217,2015-01-01 01:24:27,bin5067,75, +CTSPillarNetworkA,5068,5068,5068,1983-11-17,506.50000000004667,506.5217,2015-01-01 01:24:28,bin5068,35, +CTSPillarNetworkA,5069,5069,5069,1983-11-18,506.6000000000467,506.6217,2015-01-01 01:24:29,bin5069,75, +CTSPillarNetworkA,5070,5070,5070,1983-11-19,506.7000000000467,506.7217,2015-01-01 01:24:30,bin5070,35, +CTSPillarNetworkA,5071,5071,5071,1983-11-20,506.80000000004674,506.82172,2015-01-01 01:24:31,bin5071,75, +CTSPillarNetworkA,5072,5072,5072,1983-11-21,506.90000000004676,506.92172,2015-01-01 01:24:32,bin5072,35, +CTSPillarNetworkA,5073,5073,5073,1983-11-22,507.0000000000468,507.02173,2015-01-01 01:24:33,bin5073,75, +CTSPillarNetworkA,5074,5074,5074,1983-11-23,507.1000000000468,507.12173,2015-01-01 01:24:34,bin5074,35, +CTSPillarNetworkA,5075,5075,5075,1983-11-24,507.2000000000468,507.22174,2015-01-01 01:24:35,bin5075,75, +CTSPillarNetworkA,5076,5076,5076,1983-11-25,507.30000000004685,507.32175,2015-01-01 01:24:36,bin5076,35, +CTSPillarNetworkA,5077,5077,5077,1983-11-26,507.4000000000469,507.42175,2015-01-01 01:24:37,bin5077,75, +CTSPillarNetworkA,5078,5078,5078,1983-11-27,507.5000000000469,507.52176,2015-01-01 01:24:38,bin5078,35, +CTSPillarNetworkA,5079,5079,5079,1983-11-28,507.6000000000469,507.62177,2015-01-01 01:24:39,bin5079,75, +CTSPillarNetworkA,5080,5080,5080,1983-11-29,507.70000000004694,507.72177,2015-01-01 01:24:40,bin5080,35, +CTSPillarNetworkA,5081,5081,5081,1983-11-30,507.80000000004696,507.82178,2015-01-01 01:24:41,bin5081,75, +CTSPillarNetworkA,5082,5082,5082,1983-12-01,507.900000000047,507.92178,2015-01-01 01:24:42,bin5082,35, +CTSPillarNetworkA,5083,5083,5083,1983-12-02,508.000000000047,508.0218,2015-01-01 01:24:43,bin5083,75, +CTSPillarNetworkA,5084,5084,5084,1983-12-03,508.10000000004703,508.1218,2015-01-01 01:24:44,bin5084,35, +CTSPillarNetworkA,5085,5085,5085,1983-12-04,508.20000000004705,508.2218,2015-01-01 01:24:45,bin5085,75, +CTSPillarNetworkA,5086,5086,5086,1983-12-05,508.3000000000471,508.3218,2015-01-01 01:24:46,bin5086,35, +CTSPillarNetworkA,5087,5087,5087,1983-12-06,508.4000000000471,508.4218,2015-01-01 01:24:47,bin5087,75, +CTSPillarNetworkA,5088,5088,5088,1983-12-07,508.5000000000471,508.52182,2015-01-01 01:24:48,bin5088,35, +CTSPillarNetworkA,5089,5089,5089,1983-12-08,508.60000000004715,508.62183,2015-01-01 01:24:49,bin5089,75, +CTSPillarNetworkA,5090,5090,5090,1983-12-09,508.70000000004717,508.72183,2015-01-01 01:24:50,bin5090,35, +CTSPillarNetworkA,5091,5091,5091,1983-12-10,508.8000000000472,508.82184,2015-01-01 01:24:51,bin5091,75, +CTSPillarNetworkA,5092,5092,5092,1983-12-11,508.9000000000472,508.92184,2015-01-01 01:24:52,bin5092,35, +CTSPillarNetworkA,5093,5093,5093,1983-12-12,509.00000000004724,509.02185,2015-01-01 01:24:53,bin5093,75, +CTSPillarNetworkA,5094,5094,5094,1983-12-13,509.10000000004726,509.12186,2015-01-01 01:24:54,bin5094,35, +CTSPillarNetworkA,5095,5095,5095,1983-12-14,509.2000000000473,509.22186,2015-01-01 01:24:55,bin5095,75, +CTSPillarNetworkA,5096,5096,5096,1983-12-15,509.3000000000473,509.32187,2015-01-01 01:24:56,bin5096,35, +CTSPillarNetworkA,5097,5097,5097,1983-12-16,509.4000000000473,509.42188,2015-01-01 01:24:57,bin5097,75, +CTSPillarNetworkA,5098,5098,5098,1983-12-17,509.50000000004735,509.52188,2015-01-01 01:24:58,bin5098,35, +CTSPillarNetworkA,5099,5099,5099,1983-12-18,509.6000000000474,509.6219,2015-01-01 01:24:59,bin5099,75, +CTSPillarNetworkA,5100,5100,5100,1983-12-19,509.7000000000474,509.7219,2015-01-01 01:25:00,bin5100,35, +CTSPillarNetworkA,5101,5101,5101,1983-12-20,509.8000000000474,509.8219,2015-01-01 01:25:01,bin5101,75, +CTSPillarNetworkA,5102,5102,5102,1983-12-21,509.90000000004744,509.9219,2015-01-01 01:25:02,bin5102,35, +CTSPillarNetworkA,5103,5103,5103,1983-12-22,510.00000000004746,510.0219,2015-01-01 01:25:03,bin5103,75, +CTSPillarNetworkA,5104,5104,5104,1983-12-23,510.1000000000475,510.12192,2015-01-01 01:25:04,bin5104,35, +CTSPillarNetworkA,5105,5105,5105,1983-12-24,510.2000000000475,510.22192,2015-01-01 01:25:05,bin5105,75, +CTSPillarNetworkA,5106,5106,5106,1983-12-25,510.30000000004753,510.32193,2015-01-01 01:25:06,bin5106,35, +CTSPillarNetworkA,5107,5107,5107,1983-12-26,510.40000000004756,510.42194,2015-01-01 01:25:07,bin5107,75, +CTSPillarNetworkA,5108,5108,5108,1983-12-27,510.5000000000476,510.52194,2015-01-01 01:25:08,bin5108,35, +CTSPillarNetworkA,5109,5109,5109,1983-12-28,510.6000000000476,510.62195,2015-01-01 01:25:09,bin5109,75, +CTSPillarNetworkA,5110,5110,5110,1983-12-29,510.7000000000476,510.72195,2015-01-01 01:25:10,bin5110,35, +CTSPillarNetworkA,5111,5111,5111,1983-12-30,510.80000000004765,510.82196,2015-01-01 01:25:11,bin5111,75, +CTSPillarNetworkA,5112,5112,5112,1983-12-31,510.90000000004767,510.92197,2015-01-01 01:25:12,bin5112,35, +CTSPillarNetworkA,5113,5113,5113,1984-01-01,511.0000000000477,511.02197,2015-01-01 01:25:13,bin5113,75, +CTSPillarNetworkA,5114,5114,5114,1984-01-02,511.1000000000477,511.12198,2015-01-01 01:25:14,bin5114,35, +CTSPillarNetworkA,5115,5115,5115,1984-01-03,511.20000000004774,511.222,2015-01-01 01:25:15,bin5115,75, +CTSPillarNetworkA,5116,5116,5116,1984-01-04,511.30000000004776,511.322,2015-01-01 01:25:16,bin5116,35, +CTSPillarNetworkA,5117,5117,5117,1984-01-05,511.4000000000478,511.422,2015-01-01 01:25:17,bin5117,75, +CTSPillarNetworkA,5118,5118,5118,1984-01-06,511.5000000000478,511.522,2015-01-01 01:25:18,bin5118,35, +CTSPillarNetworkA,5119,5119,5119,1984-01-07,511.6000000000478,511.622,2015-01-01 01:25:19,bin5119,75, +CTSPillarNetworkA,5120,5120,5120,1984-01-08,511.70000000004785,511.72202,2015-01-01 01:25:20,bin5120,35, +CTSPillarNetworkA,5121,5121,5121,1984-01-09,511.8000000000479,511.82202,2015-01-01 01:25:21,bin5121,75, +CTSPillarNetworkA,5122,5122,5122,1984-01-10,511.9000000000479,511.92203,2015-01-01 01:25:22,bin5122,35, +CTSPillarNetworkA,5123,5123,5123,1984-01-11,512.0000000000479,512.02203,2015-01-01 01:25:23,bin5123,75, +CTSPillarNetworkA,5124,5124,5124,1984-01-12,512.1000000000479,512.122,2015-01-01 01:25:24,bin5124,35, +CTSPillarNetworkA,5125,5125,5125,1984-01-13,512.2000000000479,512.222,2015-01-01 01:25:25,bin5125,75, +CTSPillarNetworkA,5126,5126,5126,1984-01-14,512.3000000000479,512.32196,2015-01-01 01:25:26,bin5126,35, +CTSPillarNetworkA,5127,5127,5127,1984-01-15,512.400000000048,512.42194,2015-01-01 01:25:27,bin5127,75, +CTSPillarNetworkA,5128,5128,5128,1984-01-16,512.500000000048,512.5219,2015-01-01 01:25:28,bin5128,35, +CTSPillarNetworkA,5129,5129,5129,1984-01-17,512.600000000048,512.6219,2015-01-01 01:25:29,bin5129,75, +CTSPillarNetworkA,5130,5130,5130,1984-01-18,512.700000000048,512.72186,2015-01-01 01:25:30,bin5130,35, +CTSPillarNetworkA,5131,5131,5131,1984-01-19,512.800000000048,512.82184,2015-01-01 01:25:31,bin5131,75, +CTSPillarNetworkA,5132,5132,5132,1984-01-20,512.9000000000481,512.9218,2015-01-01 01:25:32,bin5132,35, +CTSPillarNetworkA,5133,5133,5133,1984-01-21,513.0000000000481,513.0218,2015-01-01 01:25:33,bin5133,75, +CTSPillarNetworkA,5134,5134,5134,1984-01-22,513.1000000000481,513.12177,2015-01-01 01:25:34,bin5134,35, +CTSPillarNetworkA,5135,5135,5135,1984-01-23,513.2000000000481,513.22174,2015-01-01 01:25:35,bin5135,75, +CTSPillarNetworkA,5136,5136,5136,1984-01-24,513.3000000000482,513.3217,2015-01-01 01:25:36,bin5136,35, +CTSPillarNetworkA,5137,5137,5137,1984-01-25,513.4000000000482,513.4217,2015-01-01 01:25:37,bin5137,75, +CTSPillarNetworkA,5138,5138,5138,1984-01-26,513.5000000000482,513.52167,2015-01-01 01:25:38,bin5138,35, +CTSPillarNetworkA,5139,5139,5139,1984-01-27,513.6000000000482,513.62164,2015-01-01 01:25:39,bin5139,75, +CTSPillarNetworkA,5140,5140,5140,1984-01-28,513.7000000000482,513.7216,2015-01-01 01:25:40,bin5140,35, +CTSPillarNetworkA,5141,5141,5141,1984-01-29,513.8000000000483,513.8216,2015-01-01 01:25:41,bin5141,75, +CTSPillarNetworkA,5142,5142,5142,1984-01-30,513.9000000000483,513.9216,2015-01-01 01:25:42,bin5142,35, +CTSPillarNetworkA,5143,5143,5143,1984-01-31,514.0000000000483,514.02155,2015-01-01 01:25:43,bin5143,75, +CTSPillarNetworkA,5144,5144,5144,1984-02-01,514.1000000000483,514.1215,2015-01-01 01:25:44,bin5144,35, +CTSPillarNetworkA,5145,5145,5145,1984-02-02,514.2000000000484,514.2215,2015-01-01 01:25:45,bin5145,75, +CTSPillarNetworkA,5146,5146,5146,1984-02-03,514.3000000000484,514.3215,2015-01-01 01:25:46,bin5146,35, +CTSPillarNetworkA,5147,5147,5147,1984-02-04,514.4000000000484,514.42145,2015-01-01 01:25:47,bin5147,75, +CTSPillarNetworkA,5148,5148,5148,1984-02-05,514.5000000000484,514.5214,2015-01-01 01:25:48,bin5148,35, +CTSPillarNetworkA,5149,5149,5149,1984-02-06,514.6000000000485,514.6214,2015-01-01 01:25:49,bin5149,75, +CTSPillarNetworkA,5150,5150,5150,1984-02-07,514.7000000000485,514.7214,2015-01-01 01:25:50,bin5150,35, +CTSPillarNetworkA,5151,5151,5151,1984-02-08,514.8000000000485,514.82135,2015-01-01 01:25:51,bin5151,75, +CTSPillarNetworkA,5152,5152,5152,1984-02-09,514.9000000000485,514.9213,2015-01-01 01:25:52,bin5152,35, +CTSPillarNetworkA,5153,5153,5153,1984-02-10,515.0000000000485,515.0213,2015-01-01 01:25:53,bin5153,75, +CTSPillarNetworkA,5154,5154,5154,1984-02-11,515.1000000000486,515.1213,2015-01-01 01:25:54,bin5154,35, +CTSPillarNetworkA,5155,5155,5155,1984-02-12,515.2000000000486,515.22125,2015-01-01 01:25:55,bin5155,75, +CTSPillarNetworkA,5156,5156,5156,1984-02-13,515.3000000000486,515.3212,2015-01-01 01:25:56,bin5156,35, +CTSPillarNetworkA,5157,5157,5157,1984-02-14,515.4000000000486,515.4212,2015-01-01 01:25:57,bin5157,75, +CTSPillarNetworkA,5158,5158,5158,1984-02-15,515.5000000000487,515.5212,2015-01-01 01:25:58,bin5158,35, +CTSPillarNetworkA,5159,5159,5159,1984-02-16,515.6000000000487,515.62115,2015-01-01 01:25:59,bin5159,75, +CTSPillarNetworkA,5160,5160,5160,1984-02-17,515.7000000000487,515.7211,2015-01-01 01:26:00,bin5160,35, +CTSPillarNetworkA,5161,5161,5161,1984-02-18,515.8000000000487,515.8211,2015-01-01 01:26:01,bin5161,75, +CTSPillarNetworkA,5162,5162,5162,1984-02-19,515.9000000000487,515.9211,2015-01-01 01:26:02,bin5162,35, +CTSPillarNetworkA,5163,5163,5163,1984-02-20,516.0000000000488,516.02106,2015-01-01 01:26:03,bin5163,75, +CTSPillarNetworkA,5164,5164,5164,1984-02-21,516.1000000000488,516.12103,2015-01-01 01:26:04,bin5164,35, +CTSPillarNetworkA,5165,5165,5165,1984-02-22,516.2000000000488,516.221,2015-01-01 01:26:05,bin5165,75, +CTSPillarNetworkA,5166,5166,5166,1984-02-23,516.3000000000488,516.321,2015-01-01 01:26:06,bin5166,35, +CTSPillarNetworkA,5167,5167,5167,1984-02-24,516.4000000000489,516.42096,2015-01-01 01:26:07,bin5167,75, +CTSPillarNetworkA,5168,5168,5168,1984-02-25,516.5000000000489,516.52094,2015-01-01 01:26:08,bin5168,35, +CTSPillarNetworkA,5169,5169,5169,1984-02-26,516.6000000000489,516.6209,2015-01-01 01:26:09,bin5169,75, +CTSPillarNetworkA,5170,5170,5170,1984-02-27,516.7000000000489,516.7209,2015-01-01 01:26:10,bin5170,35, +CTSPillarNetworkA,5171,5171,5171,1984-02-28,516.800000000049,516.82086,2015-01-01 01:26:11,bin5171,75, +CTSPillarNetworkA,5172,5172,5172,1984-02-29,516.900000000049,516.92084,2015-01-01 01:26:12,bin5172,35, +CTSPillarNetworkA,5173,5173,5173,1984-03-01,517.000000000049,517.0208,2015-01-01 01:26:13,bin5173,75, +CTSPillarNetworkA,5174,5174,5174,1984-03-02,517.100000000049,517.1208,2015-01-01 01:26:14,bin5174,35, +CTSPillarNetworkA,5175,5175,5175,1984-03-03,517.200000000049,517.22076,2015-01-01 01:26:15,bin5175,75, +CTSPillarNetworkA,5176,5176,5176,1984-03-04,517.3000000000491,517.32074,2015-01-01 01:26:16,bin5176,35, +CTSPillarNetworkA,5177,5177,5177,1984-03-05,517.4000000000491,517.4207,2015-01-01 01:26:17,bin5177,75, +CTSPillarNetworkA,5178,5178,5178,1984-03-06,517.5000000000491,517.5207,2015-01-01 01:26:18,bin5178,35, +CTSPillarNetworkA,5179,5179,5179,1984-03-07,517.6000000000491,517.62067,2015-01-01 01:26:19,bin5179,75, +CTSPillarNetworkA,5180,5180,5180,1984-03-08,517.7000000000492,517.72064,2015-01-01 01:26:20,bin5180,35, +CTSPillarNetworkA,5181,5181,5181,1984-03-09,517.8000000000492,517.8206,2015-01-01 01:26:21,bin5181,75, +CTSPillarNetworkA,5182,5182,5182,1984-03-10,517.9000000000492,517.9206,2015-01-01 01:26:22,bin5182,35, +CTSPillarNetworkA,5183,5183,5183,1984-03-11,518.0000000000492,518.02057,2015-01-01 01:26:23,bin5183,75, +CTSPillarNetworkA,5184,5184,5184,1984-03-12,518.1000000000492,518.12054,2015-01-01 01:26:24,bin5184,35, +CTSPillarNetworkA,5185,5185,5185,1984-03-13,518.2000000000493,518.2205,2015-01-01 01:26:25,bin5185,75, +CTSPillarNetworkA,5186,5186,5186,1984-03-14,518.3000000000493,518.3205,2015-01-01 01:26:26,bin5186,35, +CTSPillarNetworkA,5187,5187,5187,1984-03-15,518.4000000000493,518.4205,2015-01-01 01:26:27,bin5187,75, +CTSPillarNetworkA,5188,5188,5188,1984-03-16,518.5000000000493,518.52045,2015-01-01 01:26:28,bin5188,35, +CTSPillarNetworkA,5189,5189,5189,1984-03-17,518.6000000000494,518.6204,2015-01-01 01:26:29,bin5189,75, +CTSPillarNetworkA,5190,5190,5190,1984-03-18,518.7000000000494,518.7204,2015-01-01 01:26:30,bin5190,35, +CTSPillarNetworkA,5191,5191,5191,1984-03-19,518.8000000000494,518.8204,2015-01-01 01:26:31,bin5191,75, +CTSPillarNetworkA,5192,5192,5192,1984-03-20,518.9000000000494,518.92035,2015-01-01 01:26:32,bin5192,35, +CTSPillarNetworkA,5193,5193,5193,1984-03-21,519.0000000000495,519.0203,2015-01-01 01:26:33,bin5193,75, +CTSPillarNetworkA,5194,5194,5194,1984-03-22,519.1000000000495,519.1203,2015-01-01 01:26:34,bin5194,35, +CTSPillarNetworkA,5195,5195,5195,1984-03-23,519.2000000000495,519.2203,2015-01-01 01:26:35,bin5195,75, +CTSPillarNetworkA,5196,5196,5196,1984-03-24,519.3000000000495,519.32025,2015-01-01 01:26:36,bin5196,35, +CTSPillarNetworkA,5197,5197,5197,1984-03-25,519.4000000000495,519.4202,2015-01-01 01:26:37,bin5197,75, +CTSPillarNetworkA,5198,5198,5198,1984-03-26,519.5000000000496,519.5202,2015-01-01 01:26:38,bin5198,35, +CTSPillarNetworkA,5199,5199,5199,1984-03-27,519.6000000000496,519.6202,2015-01-01 01:26:39,bin5199,75, +CTSPillarNetworkA,5200,5200,5200,1984-03-28,519.7000000000496,519.72015,2015-01-01 01:26:40,bin5200,35, +CTSPillarNetworkA,5201,5201,5201,1984-03-29,519.8000000000496,519.8201,2015-01-01 01:26:41,bin5201,75, +CTSPillarNetworkA,5202,5202,5202,1984-03-30,519.9000000000497,519.9201,2015-01-01 01:26:42,bin5202,35, +CTSPillarNetworkA,5203,5203,5203,1984-03-31,520.0000000000497,520.0201,2015-01-01 01:26:43,bin5203,75, +CTSPillarNetworkA,5204,5204,5204,1984-04-01,520.1000000000497,520.12006,2015-01-01 01:26:44,bin5204,35, +CTSPillarNetworkA,5205,5205,5205,1984-04-02,520.2000000000497,520.22003,2015-01-01 01:26:45,bin5205,75, +CTSPillarNetworkA,5206,5206,5206,1984-04-03,520.3000000000497,520.32,2015-01-01 01:26:46,bin5206,35, +CTSPillarNetworkA,5207,5207,5207,1984-04-04,520.4000000000498,520.42,2015-01-01 01:26:47,bin5207,75, +CTSPillarNetworkA,5208,5208,5208,1984-04-05,520.5000000000498,520.51996,2015-01-01 01:26:48,bin5208,35, +CTSPillarNetworkA,5209,5209,5209,1984-04-06,520.6000000000498,520.61993,2015-01-01 01:26:49,bin5209,75, +CTSPillarNetworkA,5210,5210,5210,1984-04-07,520.7000000000498,520.7199,2015-01-01 01:26:50,bin5210,35, +CTSPillarNetworkA,5211,5211,5211,1984-04-08,520.8000000000499,520.8199,2015-01-01 01:26:51,bin5211,75, +CTSPillarNetworkA,5212,5212,5212,1984-04-09,520.9000000000499,520.91986,2015-01-01 01:26:52,bin5212,35, +CTSPillarNetworkA,5213,5213,5213,1984-04-10,521.0000000000499,521.01984,2015-01-01 01:26:53,bin5213,75, +CTSPillarNetworkA,5214,5214,5214,1984-04-11,521.1000000000499,521.1198,2015-01-01 01:26:54,bin5214,35, +CTSPillarNetworkA,5215,5215,5215,1984-04-12,521.20000000005,521.2198,2015-01-01 01:26:55,bin5215,75, +CTSPillarNetworkA,5216,5216,5216,1984-04-13,521.30000000005,521.31976,2015-01-01 01:26:56,bin5216,35, +CTSPillarNetworkA,5217,5217,5217,1984-04-14,521.40000000005,521.41974,2015-01-01 01:26:57,bin5217,75, +CTSPillarNetworkA,5218,5218,5218,1984-04-15,521.50000000005,521.5197,2015-01-01 01:26:58,bin5218,35, +CTSPillarNetworkA,5219,5219,5219,1984-04-16,521.60000000005,521.6197,2015-01-01 01:26:59,bin5219,75, +CTSPillarNetworkA,5220,5220,5220,1984-04-17,521.7000000000501,521.71967,2015-01-01 01:27:00,bin5220,35, +CTSPillarNetworkA,5221,5221,5221,1984-04-18,521.8000000000501,521.81964,2015-01-01 01:27:01,bin5221,75, +CTSPillarNetworkA,5222,5222,5222,1984-04-19,521.9000000000501,521.9196,2015-01-01 01:27:02,bin5222,35, +CTSPillarNetworkA,5223,5223,5223,1984-04-20,522.0000000000501,522.0196,2015-01-01 01:27:03,bin5223,75, +CTSPillarNetworkA,5224,5224,5224,1984-04-21,522.1000000000502,522.11957,2015-01-01 01:27:04,bin5224,35, +CTSPillarNetworkA,5225,5225,5225,1984-04-22,522.2000000000502,522.21954,2015-01-01 01:27:05,bin5225,75, +CTSPillarNetworkA,5226,5226,5226,1984-04-23,522.3000000000502,522.3195,2015-01-01 01:27:06,bin5226,35, +CTSPillarNetworkA,5227,5227,5227,1984-04-24,522.4000000000502,522.4195,2015-01-01 01:27:07,bin5227,75, +CTSPillarNetworkA,5228,5228,5228,1984-04-25,522.5000000000502,522.5195,2015-01-01 01:27:08,bin5228,35, +CTSPillarNetworkA,5229,5229,5229,1984-04-26,522.6000000000503,522.61945,2015-01-01 01:27:09,bin5229,75, +CTSPillarNetworkA,5230,5230,5230,1984-04-27,522.7000000000503,522.7194,2015-01-01 01:27:10,bin5230,35, +CTSPillarNetworkA,5231,5231,5231,1984-04-28,522.8000000000503,522.8194,2015-01-01 01:27:11,bin5231,75, +CTSPillarNetworkA,5232,5232,5232,1984-04-29,522.9000000000503,522.9194,2015-01-01 01:27:12,bin5232,35, +CTSPillarNetworkA,5233,5233,5233,1984-04-30,523.0000000000504,523.01935,2015-01-01 01:27:13,bin5233,75, +CTSPillarNetworkA,5234,5234,5234,1984-05-01,523.1000000000504,523.1193,2015-01-01 01:27:14,bin5234,35, +CTSPillarNetworkA,5235,5235,5235,1984-05-02,523.2000000000504,523.2193,2015-01-01 01:27:15,bin5235,75, +CTSPillarNetworkA,5236,5236,5236,1984-05-03,523.3000000000504,523.3193,2015-01-01 01:27:16,bin5236,35, +CTSPillarNetworkA,5237,5237,5237,1984-05-04,523.4000000000505,523.41925,2015-01-01 01:27:17,bin5237,75, +CTSPillarNetworkA,5238,5238,5238,1984-05-05,523.5000000000505,523.5192,2015-01-01 01:27:18,bin5238,35, +CTSPillarNetworkA,5239,5239,5239,1984-05-06,523.6000000000505,523.6192,2015-01-01 01:27:19,bin5239,75, +CTSPillarNetworkA,5240,5240,5240,1984-05-07,523.7000000000505,523.7192,2015-01-01 01:27:20,bin5240,35, +CTSPillarNetworkA,5241,5241,5241,1984-05-08,523.8000000000505,523.81915,2015-01-01 01:27:21,bin5241,75, +CTSPillarNetworkA,5242,5242,5242,1984-05-09,523.9000000000506,523.9191,2015-01-01 01:27:22,bin5242,35, +CTSPillarNetworkA,5243,5243,5243,1984-05-10,524.0000000000506,524.0191,2015-01-01 01:27:23,bin5243,75, +CTSPillarNetworkA,5244,5244,5244,1984-05-11,524.1000000000506,524.1191,2015-01-01 01:27:24,bin5244,35, +CTSPillarNetworkA,5245,5245,5245,1984-05-12,524.2000000000506,524.21906,2015-01-01 01:27:25,bin5245,75, +CTSPillarNetworkA,5246,5246,5246,1984-05-13,524.3000000000507,524.31903,2015-01-01 01:27:26,bin5246,35, +CTSPillarNetworkA,5247,5247,5247,1984-05-14,524.4000000000507,524.419,2015-01-01 01:27:27,bin5247,75, +CTSPillarNetworkA,5248,5248,5248,1984-05-15,524.5000000000507,524.519,2015-01-01 01:27:28,bin5248,35, +CTSPillarNetworkA,5249,5249,5249,1984-05-16,524.6000000000507,524.61896,2015-01-01 01:27:29,bin5249,75, +CTSPillarNetworkA,5250,5250,5250,1984-05-17,524.7000000000507,524.71893,2015-01-01 01:27:30,bin5250,35, +CTSPillarNetworkA,5251,5251,5251,1984-05-18,524.8000000000508,524.8189,2015-01-01 01:27:31,bin5251,75, +CTSPillarNetworkA,5252,5252,5252,1984-05-19,524.9000000000508,524.9189,2015-01-01 01:27:32,bin5252,35, +CTSPillarNetworkA,5253,5253,5253,1984-05-20,525.0000000000508,525.01886,2015-01-01 01:27:33,bin5253,75, +CTSPillarNetworkA,5254,5254,5254,1984-05-21,525.1000000000508,525.11884,2015-01-01 01:27:34,bin5254,35, +CTSPillarNetworkA,5255,5255,5255,1984-05-22,525.2000000000509,525.2188,2015-01-01 01:27:35,bin5255,75, +CTSPillarNetworkA,5256,5256,5256,1984-05-23,525.3000000000509,525.3188,2015-01-01 01:27:36,bin5256,35, +CTSPillarNetworkA,5257,5257,5257,1984-05-24,525.4000000000509,525.41876,2015-01-01 01:27:37,bin5257,75, +CTSPillarNetworkA,5258,5258,5258,1984-05-25,525.5000000000509,525.51874,2015-01-01 01:27:38,bin5258,35, +CTSPillarNetworkA,5259,5259,5259,1984-05-26,525.600000000051,525.6187,2015-01-01 01:27:39,bin5259,75, +CTSPillarNetworkA,5260,5260,5260,1984-05-27,525.700000000051,525.7187,2015-01-01 01:27:40,bin5260,35, +CTSPillarNetworkA,5261,5261,5261,1984-05-28,525.800000000051,525.81866,2015-01-01 01:27:41,bin5261,75, +CTSPillarNetworkA,5262,5262,5262,1984-05-29,525.900000000051,525.91864,2015-01-01 01:27:42,bin5262,35, +CTSPillarNetworkA,5263,5263,5263,1984-05-30,526.000000000051,526.0186,2015-01-01 01:27:43,bin5263,75, +CTSPillarNetworkA,5264,5264,5264,1984-05-31,526.1000000000511,526.1186,2015-01-01 01:27:44,bin5264,35, +CTSPillarNetworkA,5265,5265,5265,1984-06-01,526.2000000000511,526.21857,2015-01-01 01:27:45,bin5265,75, +CTSPillarNetworkA,5266,5266,5266,1984-06-02,526.3000000000511,526.31854,2015-01-01 01:27:46,bin5266,35, +CTSPillarNetworkA,5267,5267,5267,1984-06-03,526.4000000000511,526.4185,2015-01-01 01:27:47,bin5267,75, +CTSPillarNetworkA,5268,5268,5268,1984-06-04,526.5000000000512,526.5185,2015-01-01 01:27:48,bin5268,35, +CTSPillarNetworkA,5269,5269,5269,1984-06-05,526.6000000000512,526.61847,2015-01-01 01:27:49,bin5269,75, +CTSPillarNetworkA,5270,5270,5270,1984-06-06,526.7000000000512,526.71844,2015-01-01 01:27:50,bin5270,35, +CTSPillarNetworkA,5271,5271,5271,1984-06-07,526.8000000000512,526.8184,2015-01-01 01:27:51,bin5271,75, +CTSPillarNetworkA,5272,5272,5272,1984-06-08,526.9000000000513,526.9184,2015-01-01 01:27:52,bin5272,35, +CTSPillarNetworkA,5273,5273,5273,1984-06-09,527.0000000000513,527.0184,2015-01-01 01:27:53,bin5273,75, +CTSPillarNetworkA,5274,5274,5274,1984-06-10,527.1000000000513,527.11835,2015-01-01 01:27:54,bin5274,35, +CTSPillarNetworkA,5275,5275,5275,1984-06-11,527.2000000000513,527.2183,2015-01-01 01:27:55,bin5275,75, +CTSPillarNetworkA,5276,5276,5276,1984-06-12,527.3000000000513,527.3183,2015-01-01 01:27:56,bin5276,35, +CTSPillarNetworkA,5277,5277,5277,1984-06-13,527.4000000000514,527.4183,2015-01-01 01:27:57,bin5277,75, +CTSPillarNetworkA,5278,5278,5278,1984-06-14,527.5000000000514,527.51825,2015-01-01 01:27:58,bin5278,35, +CTSPillarNetworkA,5279,5279,5279,1984-06-15,527.6000000000514,527.6182,2015-01-01 01:27:59,bin5279,75, +CTSPillarNetworkA,5280,5280,5280,1984-06-16,527.7000000000514,527.7182,2015-01-01 01:28:00,bin5280,35, +CTSPillarNetworkA,5281,5281,5281,1984-06-17,527.8000000000515,527.8182,2015-01-01 01:28:01,bin5281,75, +CTSPillarNetworkA,5282,5282,5282,1984-06-18,527.9000000000515,527.91815,2015-01-01 01:28:02,bin5282,35, +CTSPillarNetworkA,5283,5283,5283,1984-06-19,528.0000000000515,528.0181,2015-01-01 01:28:03,bin5283,75, +CTSPillarNetworkA,5284,5284,5284,1984-06-20,528.1000000000515,528.1181,2015-01-01 01:28:04,bin5284,35, +CTSPillarNetworkA,5285,5285,5285,1984-06-21,528.2000000000515,528.2181,2015-01-01 01:28:05,bin5285,75, +CTSPillarNetworkA,5286,5286,5286,1984-06-22,528.3000000000516,528.31805,2015-01-01 01:28:06,bin5286,35, +CTSPillarNetworkA,5287,5287,5287,1984-06-23,528.4000000000516,528.418,2015-01-01 01:28:07,bin5287,75, +CTSPillarNetworkA,5288,5288,5288,1984-06-24,528.5000000000516,528.518,2015-01-01 01:28:08,bin5288,35, +CTSPillarNetworkA,5289,5289,5289,1984-06-25,528.6000000000516,528.618,2015-01-01 01:28:09,bin5289,75, +CTSPillarNetworkA,5290,5290,5290,1984-06-26,528.7000000000517,528.71796,2015-01-01 01:28:10,bin5290,35, +CTSPillarNetworkA,5291,5291,5291,1984-06-27,528.8000000000517,528.81793,2015-01-01 01:28:11,bin5291,75, +CTSPillarNetworkA,5292,5292,5292,1984-06-28,528.9000000000517,528.9179,2015-01-01 01:28:12,bin5292,35, +CTSPillarNetworkA,5293,5293,5293,1984-06-29,529.0000000000517,529.0179,2015-01-01 01:28:13,bin5293,75, +CTSPillarNetworkA,5294,5294,5294,1984-06-30,529.1000000000518,529.11786,2015-01-01 01:28:14,bin5294,35, +CTSPillarNetworkA,5295,5295,5295,1984-07-01,529.2000000000518,529.21783,2015-01-01 01:28:15,bin5295,75, +CTSPillarNetworkA,5296,5296,5296,1984-07-02,529.3000000000518,529.3178,2015-01-01 01:28:16,bin5296,35, +CTSPillarNetworkA,5297,5297,5297,1984-07-03,529.4000000000518,529.4178,2015-01-01 01:28:17,bin5297,75, +CTSPillarNetworkA,5298,5298,5298,1984-07-04,529.5000000000518,529.51776,2015-01-01 01:28:18,bin5298,35, +CTSPillarNetworkA,5299,5299,5299,1984-07-05,529.6000000000519,529.61774,2015-01-01 01:28:19,bin5299,75, +CTSPillarNetworkA,5300,5300,5300,1984-07-06,529.7000000000519,529.7177,2015-01-01 01:28:20,bin5300,35, +CTSPillarNetworkA,5301,5301,5301,1984-07-07,529.8000000000519,529.8177,2015-01-01 01:28:21,bin5301,75, +CTSPillarNetworkA,5302,5302,5302,1984-07-08,529.9000000000519,529.91766,2015-01-01 01:28:22,bin5302,35, +CTSPillarNetworkA,5303,5303,5303,1984-07-09,530.000000000052,530.01764,2015-01-01 01:28:23,bin5303,75, +CTSPillarNetworkA,5304,5304,5304,1984-07-10,530.100000000052,530.1176,2015-01-01 01:28:24,bin5304,35, +CTSPillarNetworkA,5305,5305,5305,1984-07-11,530.200000000052,530.2176,2015-01-01 01:28:25,bin5305,75, +CTSPillarNetworkA,5306,5306,5306,1984-07-12,530.300000000052,530.31757,2015-01-01 01:28:26,bin5306,35, +CTSPillarNetworkA,5307,5307,5307,1984-07-13,530.400000000052,530.41754,2015-01-01 01:28:27,bin5307,75, +CTSPillarNetworkA,5308,5308,5308,1984-07-14,530.5000000000521,530.5175,2015-01-01 01:28:28,bin5308,35, +CTSPillarNetworkA,5309,5309,5309,1984-07-15,530.6000000000521,530.6175,2015-01-01 01:28:29,bin5309,75, +CTSPillarNetworkA,5310,5310,5310,1984-07-16,530.7000000000521,530.71747,2015-01-01 01:28:30,bin5310,35, +CTSPillarNetworkA,5311,5311,5311,1984-07-17,530.8000000000521,530.81744,2015-01-01 01:28:31,bin5311,75, +CTSPillarNetworkA,5312,5312,5312,1984-07-18,530.9000000000522,530.9174,2015-01-01 01:28:32,bin5312,35, +CTSPillarNetworkA,5313,5313,5313,1984-07-19,531.0000000000522,531.0174,2015-01-01 01:28:33,bin5313,75, +CTSPillarNetworkA,5314,5314,5314,1984-07-20,531.1000000000522,531.1174,2015-01-01 01:28:34,bin5314,35, +CTSPillarNetworkA,5315,5315,5315,1984-07-21,531.2000000000522,531.21735,2015-01-01 01:28:35,bin5315,75, +CTSPillarNetworkA,5316,5316,5316,1984-07-22,531.3000000000523,531.3173,2015-01-01 01:28:36,bin5316,35, +CTSPillarNetworkA,5317,5317,5317,1984-07-23,531.4000000000523,531.4173,2015-01-01 01:28:37,bin5317,75, +CTSPillarNetworkA,5318,5318,5318,1984-07-24,531.5000000000523,531.5173,2015-01-01 01:28:38,bin5318,35, +CTSPillarNetworkA,5319,5319,5319,1984-07-25,531.6000000000523,531.61725,2015-01-01 01:28:39,bin5319,75, +CTSPillarNetworkA,5320,5320,5320,1984-07-26,531.7000000000523,531.7172,2015-01-01 01:28:40,bin5320,35, +CTSPillarNetworkA,5321,5321,5321,1984-07-27,531.8000000000524,531.8172,2015-01-01 01:28:41,bin5321,75, +CTSPillarNetworkA,5322,5322,5322,1984-07-28,531.9000000000524,531.9172,2015-01-01 01:28:42,bin5322,35, +CTSPillarNetworkA,5323,5323,5323,1984-07-29,532.0000000000524,532.01715,2015-01-01 01:28:43,bin5323,75, +CTSPillarNetworkA,5324,5324,5324,1984-07-30,532.1000000000524,532.1171,2015-01-01 01:28:44,bin5324,35, +CTSPillarNetworkA,5325,5325,5325,1984-07-31,532.2000000000525,532.2171,2015-01-01 01:28:45,bin5325,75, +CTSPillarNetworkA,5326,5326,5326,1984-08-01,532.3000000000525,532.3171,2015-01-01 01:28:46,bin5326,35, +CTSPillarNetworkA,5327,5327,5327,1984-08-02,532.4000000000525,532.41705,2015-01-01 01:28:47,bin5327,75, +CTSPillarNetworkA,5328,5328,5328,1984-08-03,532.5000000000525,532.517,2015-01-01 01:28:48,bin5328,35, +CTSPillarNetworkA,5329,5329,5329,1984-08-04,532.6000000000525,532.617,2015-01-01 01:28:49,bin5329,75, +CTSPillarNetworkA,5330,5330,5330,1984-08-05,532.7000000000526,532.717,2015-01-01 01:28:50,bin5330,35, +CTSPillarNetworkA,5331,5331,5331,1984-08-06,532.8000000000526,532.81696,2015-01-01 01:28:51,bin5331,75, +CTSPillarNetworkA,5332,5332,5332,1984-08-07,532.9000000000526,532.91693,2015-01-01 01:28:52,bin5332,35, +CTSPillarNetworkA,5333,5333,5333,1984-08-08,533.0000000000526,533.0169,2015-01-01 01:28:53,bin5333,75, +CTSPillarNetworkA,5334,5334,5334,1984-08-09,533.1000000000527,533.1169,2015-01-01 01:28:54,bin5334,35, +CTSPillarNetworkA,5335,5335,5335,1984-08-10,533.2000000000527,533.21686,2015-01-01 01:28:55,bin5335,75, +CTSPillarNetworkA,5336,5336,5336,1984-08-11,533.3000000000527,533.31683,2015-01-01 01:28:56,bin5336,35, +CTSPillarNetworkA,5337,5337,5337,1984-08-12,533.4000000000527,533.4168,2015-01-01 01:28:57,bin5337,75, +CTSPillarNetworkA,5338,5338,5338,1984-08-13,533.5000000000528,533.5168,2015-01-01 01:28:58,bin5338,35, +CTSPillarNetworkA,5339,5339,5339,1984-08-14,533.6000000000528,533.61676,2015-01-01 01:28:59,bin5339,75, +CTSPillarNetworkA,5340,5340,5340,1984-08-15,533.7000000000528,533.71674,2015-01-01 01:29:00,bin5340,35, +CTSPillarNetworkA,5341,5341,5341,1984-08-16,533.8000000000528,533.8167,2015-01-01 01:29:01,bin5341,75, +CTSPillarNetworkA,5342,5342,5342,1984-08-17,533.9000000000528,533.9167,2015-01-01 01:29:02,bin5342,35, +CTSPillarNetworkA,5343,5343,5343,1984-08-18,534.0000000000529,534.01666,2015-01-01 01:29:03,bin5343,75, +CTSPillarNetworkA,5344,5344,5344,1984-08-19,534.1000000000529,534.11664,2015-01-01 01:29:04,bin5344,35, +CTSPillarNetworkA,5345,5345,5345,1984-08-20,534.2000000000529,534.2166,2015-01-01 01:29:05,bin5345,75, +CTSPillarNetworkA,5346,5346,5346,1984-08-21,534.3000000000529,534.3166,2015-01-01 01:29:06,bin5346,35, +CTSPillarNetworkA,5347,5347,5347,1984-08-22,534.400000000053,534.41656,2015-01-01 01:29:07,bin5347,75, +CTSPillarNetworkA,5348,5348,5348,1984-08-23,534.500000000053,534.51654,2015-01-01 01:29:08,bin5348,35, +CTSPillarNetworkA,5349,5349,5349,1984-08-24,534.600000000053,534.6165,2015-01-01 01:29:09,bin5349,75, +CTSPillarNetworkA,5350,5350,5350,1984-08-25,534.700000000053,534.7165,2015-01-01 01:29:10,bin5350,35, +CTSPillarNetworkA,5351,5351,5351,1984-08-26,534.800000000053,534.81647,2015-01-01 01:29:11,bin5351,75, +CTSPillarNetworkA,5352,5352,5352,1984-08-27,534.9000000000531,534.91644,2015-01-01 01:29:12,bin5352,35, +CTSPillarNetworkA,5353,5353,5353,1984-08-28,535.0000000000531,535.0164,2015-01-01 01:29:13,bin5353,75, +CTSPillarNetworkA,5354,5354,5354,1984-08-29,535.1000000000531,535.1164,2015-01-01 01:29:14,bin5354,35, +CTSPillarNetworkA,5355,5355,5355,1984-08-30,535.2000000000531,535.2164,2015-01-01 01:29:15,bin5355,75, +CTSPillarNetworkA,5356,5356,5356,1984-08-31,535.3000000000532,535.31635,2015-01-01 01:29:16,bin5356,35, +CTSPillarNetworkA,5357,5357,5357,1984-09-01,535.4000000000532,535.4163,2015-01-01 01:29:17,bin5357,75, +CTSPillarNetworkA,5358,5358,5358,1984-09-02,535.5000000000532,535.5163,2015-01-01 01:29:18,bin5358,35, +CTSPillarNetworkA,5359,5359,5359,1984-09-03,535.6000000000532,535.6163,2015-01-01 01:29:19,bin5359,75, +CTSPillarNetworkA,5360,5360,5360,1984-09-04,535.7000000000533,535.71625,2015-01-01 01:29:20,bin5360,35, +CTSPillarNetworkA,5361,5361,5361,1984-09-05,535.8000000000533,535.8162,2015-01-01 01:29:21,bin5361,75, +CTSPillarNetworkA,5362,5362,5362,1984-09-06,535.9000000000533,535.9162,2015-01-01 01:29:22,bin5362,35, +CTSPillarNetworkA,5363,5363,5363,1984-09-07,536.0000000000533,536.0162,2015-01-01 01:29:23,bin5363,75, +CTSPillarNetworkA,5364,5364,5364,1984-09-08,536.1000000000533,536.11615,2015-01-01 01:29:24,bin5364,35, +CTSPillarNetworkA,5365,5365,5365,1984-09-09,536.2000000000534,536.2161,2015-01-01 01:29:25,bin5365,75, +CTSPillarNetworkA,5366,5366,5366,1984-09-10,536.3000000000534,536.3161,2015-01-01 01:29:26,bin5366,35, +CTSPillarNetworkA,5367,5367,5367,1984-09-11,536.4000000000534,536.4161,2015-01-01 01:29:27,bin5367,75, +CTSPillarNetworkA,5368,5368,5368,1984-09-12,536.5000000000534,536.51605,2015-01-01 01:29:28,bin5368,35, +CTSPillarNetworkA,5369,5369,5369,1984-09-13,536.6000000000535,536.616,2015-01-01 01:29:29,bin5369,75, +CTSPillarNetworkA,5370,5370,5370,1984-09-14,536.7000000000535,536.716,2015-01-01 01:29:30,bin5370,35, +CTSPillarNetworkA,5371,5371,5371,1984-09-15,536.8000000000535,536.816,2015-01-01 01:29:31,bin5371,75, +CTSPillarNetworkA,5372,5372,5372,1984-09-16,536.9000000000535,536.91595,2015-01-01 01:29:32,bin5372,35, +CTSPillarNetworkA,5373,5373,5373,1984-09-17,537.0000000000535,537.0159,2015-01-01 01:29:33,bin5373,75, +CTSPillarNetworkA,5374,5374,5374,1984-09-18,537.1000000000536,537.1159,2015-01-01 01:29:34,bin5374,35, +CTSPillarNetworkA,5375,5375,5375,1984-09-19,537.2000000000536,537.2159,2015-01-01 01:29:35,bin5375,75, +CTSPillarNetworkA,5376,5376,5376,1984-09-20,537.3000000000536,537.31586,2015-01-01 01:29:36,bin5376,35, +CTSPillarNetworkA,5377,5377,5377,1984-09-21,537.4000000000536,537.41583,2015-01-01 01:29:37,bin5377,75, +CTSPillarNetworkA,5378,5378,5378,1984-09-22,537.5000000000537,537.5158,2015-01-01 01:29:38,bin5378,35, +CTSPillarNetworkA,5379,5379,5379,1984-09-23,537.6000000000537,537.6158,2015-01-01 01:29:39,bin5379,75, +CTSPillarNetworkA,5380,5380,5380,1984-09-24,537.7000000000537,537.71576,2015-01-01 01:29:40,bin5380,35, +CTSPillarNetworkA,5381,5381,5381,1984-09-25,537.8000000000537,537.81573,2015-01-01 01:29:41,bin5381,75, +CTSPillarNetworkA,5382,5382,5382,1984-09-26,537.9000000000538,537.9157,2015-01-01 01:29:42,bin5382,35, +CTSPillarNetworkA,5383,5383,5383,1984-09-27,538.0000000000538,538.0157,2015-01-01 01:29:43,bin5383,75, +CTSPillarNetworkA,5384,5384,5384,1984-09-28,538.1000000000538,538.11566,2015-01-01 01:29:44,bin5384,35, +CTSPillarNetworkA,5385,5385,5385,1984-09-29,538.2000000000538,538.21564,2015-01-01 01:29:45,bin5385,75, +CTSPillarNetworkA,5386,5386,5386,1984-09-30,538.3000000000538,538.3156,2015-01-01 01:29:46,bin5386,35, +CTSPillarNetworkA,5387,5387,5387,1984-10-01,538.4000000000539,538.4156,2015-01-01 01:29:47,bin5387,75, +CTSPillarNetworkA,5388,5388,5388,1984-10-02,538.5000000000539,538.51556,2015-01-01 01:29:48,bin5388,35, +CTSPillarNetworkA,5389,5389,5389,1984-10-03,538.6000000000539,538.61554,2015-01-01 01:29:49,bin5389,75, +CTSPillarNetworkA,5390,5390,5390,1984-10-04,538.7000000000539,538.7155,2015-01-01 01:29:50,bin5390,35, +CTSPillarNetworkA,5391,5391,5391,1984-10-05,538.800000000054,538.8155,2015-01-01 01:29:51,bin5391,75, +CTSPillarNetworkA,5392,5392,5392,1984-10-06,538.900000000054,538.91547,2015-01-01 01:29:52,bin5392,35, +CTSPillarNetworkA,5393,5393,5393,1984-10-07,539.000000000054,539.01544,2015-01-01 01:29:53,bin5393,75, +CTSPillarNetworkA,5394,5394,5394,1984-10-08,539.100000000054,539.1154,2015-01-01 01:29:54,bin5394,35, +CTSPillarNetworkA,5395,5395,5395,1984-10-09,539.200000000054,539.2154,2015-01-01 01:29:55,bin5395,75, +CTSPillarNetworkA,5396,5396,5396,1984-10-10,539.3000000000541,539.31537,2015-01-01 01:29:56,bin5396,35, +CTSPillarNetworkA,5397,5397,5397,1984-10-11,539.4000000000541,539.41534,2015-01-01 01:29:57,bin5397,75, +CTSPillarNetworkA,5398,5398,5398,1984-10-12,539.5000000000541,539.5153,2015-01-01 01:29:58,bin5398,35, +CTSPillarNetworkA,5399,5399,5399,1984-10-13,539.6000000000541,539.6153,2015-01-01 01:29:59,bin5399,75, +CTSPillarNetworkA,5400,5400,5400,1984-10-14,539.7000000000542,539.7153,2015-01-01 01:30:00,bin5400,35, +CTSPillarNetworkA,5401,5401,5401,1984-10-15,539.8000000000542,539.81525,2015-01-01 01:30:01,bin5401,75, +CTSPillarNetworkA,5402,5402,5402,1984-10-16,539.9000000000542,539.9152,2015-01-01 01:30:02,bin5402,35, +CTSPillarNetworkA,5403,5403,5403,1984-10-17,540.0000000000542,540.0152,2015-01-01 01:30:03,bin5403,75, +CTSPillarNetworkA,5404,5404,5404,1984-10-18,540.1000000000543,540.1152,2015-01-01 01:30:04,bin5404,35, +CTSPillarNetworkA,5405,5405,5405,1984-10-19,540.2000000000543,540.21515,2015-01-01 01:30:05,bin5405,75, +CTSPillarNetworkA,5406,5406,5406,1984-10-20,540.3000000000543,540.3151,2015-01-01 01:30:06,bin5406,35, +CTSPillarNetworkA,5407,5407,5407,1984-10-21,540.4000000000543,540.4151,2015-01-01 01:30:07,bin5407,75, +CTSPillarNetworkA,5408,5408,5408,1984-10-22,540.5000000000543,540.5151,2015-01-01 01:30:08,bin5408,35, +CTSPillarNetworkA,5409,5409,5409,1984-10-23,540.6000000000544,540.61505,2015-01-01 01:30:09,bin5409,75, +CTSPillarNetworkA,5410,5410,5410,1984-10-24,540.7000000000544,540.715,2015-01-01 01:30:10,bin5410,35, +CTSPillarNetworkA,5411,5411,5411,1984-10-25,540.8000000000544,540.815,2015-01-01 01:30:11,bin5411,75, +CTSPillarNetworkA,5412,5412,5412,1984-10-26,540.9000000000544,540.915,2015-01-01 01:30:12,bin5412,35, +CTSPillarNetworkA,5413,5413,5413,1984-10-27,541.0000000000545,541.01495,2015-01-01 01:30:13,bin5413,75, +CTSPillarNetworkA,5414,5414,5414,1984-10-28,541.1000000000545,541.1149,2015-01-01 01:30:14,bin5414,35, +CTSPillarNetworkA,5415,5415,5415,1984-10-29,541.2000000000545,541.2149,2015-01-01 01:30:15,bin5415,75, +CTSPillarNetworkA,5416,5416,5416,1984-10-30,541.3000000000545,541.3149,2015-01-01 01:30:16,bin5416,35, +CTSPillarNetworkA,5417,5417,5417,1984-10-31,541.4000000000545,541.41486,2015-01-01 01:30:17,bin5417,75, +CTSPillarNetworkA,5418,5418,5418,1984-11-01,541.5000000000546,541.51483,2015-01-01 01:30:18,bin5418,35, +CTSPillarNetworkA,5419,5419,5419,1984-11-02,541.6000000000546,541.6148,2015-01-01 01:30:19,bin5419,75, +CTSPillarNetworkA,5420,5420,5420,1984-11-03,541.7000000000546,541.7148,2015-01-01 01:30:20,bin5420,35, +CTSPillarNetworkA,5421,5421,5421,1984-11-04,541.8000000000546,541.81476,2015-01-01 01:30:21,bin5421,75, +CTSPillarNetworkA,5422,5422,5422,1984-11-05,541.9000000000547,541.91473,2015-01-01 01:30:22,bin5422,35, +CTSPillarNetworkA,5423,5423,5423,1984-11-06,542.0000000000547,542.0147,2015-01-01 01:30:23,bin5423,75, +CTSPillarNetworkA,5424,5424,5424,1984-11-07,542.1000000000547,542.1147,2015-01-01 01:30:24,bin5424,35, +CTSPillarNetworkA,5425,5425,5425,1984-11-08,542.2000000000547,542.21466,2015-01-01 01:30:25,bin5425,75, +CTSPillarNetworkA,5426,5426,5426,1984-11-09,542.3000000000548,542.31464,2015-01-01 01:30:26,bin5426,35, +CTSPillarNetworkA,5427,5427,5427,1984-11-10,542.4000000000548,542.4146,2015-01-01 01:30:27,bin5427,75, +CTSPillarNetworkA,5428,5428,5428,1984-11-11,542.5000000000548,542.5146,2015-01-01 01:30:28,bin5428,35, +CTSPillarNetworkA,5429,5429,5429,1984-11-12,542.6000000000548,542.61456,2015-01-01 01:30:29,bin5429,75, +CTSPillarNetworkA,5430,5430,5430,1984-11-13,542.7000000000548,542.71454,2015-01-01 01:30:30,bin5430,35, +CTSPillarNetworkA,5431,5431,5431,1984-11-14,542.8000000000549,542.8145,2015-01-01 01:30:31,bin5431,75, +CTSPillarNetworkA,5432,5432,5432,1984-11-15,542.9000000000549,542.9145,2015-01-01 01:30:32,bin5432,35, +CTSPillarNetworkA,5433,5433,5433,1984-11-16,543.0000000000549,543.01447,2015-01-01 01:30:33,bin5433,75, +CTSPillarNetworkA,5434,5434,5434,1984-11-17,543.1000000000549,543.11444,2015-01-01 01:30:34,bin5434,35, +CTSPillarNetworkA,5435,5435,5435,1984-11-18,543.200000000055,543.2144,2015-01-01 01:30:35,bin5435,75, +CTSPillarNetworkA,5436,5436,5436,1984-11-19,543.300000000055,543.3144,2015-01-01 01:30:36,bin5436,35, +CTSPillarNetworkA,5437,5437,5437,1984-11-20,543.400000000055,543.41437,2015-01-01 01:30:37,bin5437,75, +CTSPillarNetworkA,5438,5438,5438,1984-11-21,543.500000000055,543.51434,2015-01-01 01:30:38,bin5438,35, +CTSPillarNetworkA,5439,5439,5439,1984-11-22,543.600000000055,543.6143,2015-01-01 01:30:39,bin5439,75, +CTSPillarNetworkA,5440,5440,5440,1984-11-23,543.7000000000551,543.7143,2015-01-01 01:30:40,bin5440,35, +CTSPillarNetworkA,5441,5441,5441,1984-11-24,543.8000000000551,543.8143,2015-01-01 01:30:41,bin5441,75, +CTSPillarNetworkA,5442,5442,5442,1984-11-25,543.9000000000551,543.91425,2015-01-01 01:30:42,bin5442,35, +CTSPillarNetworkA,5443,5443,5443,1984-11-26,544.0000000000551,544.0142,2015-01-01 01:30:43,bin5443,75, +CTSPillarNetworkA,5444,5444,5444,1984-11-27,544.1000000000552,544.1142,2015-01-01 01:30:44,bin5444,35, +CTSPillarNetworkA,5445,5445,5445,1984-11-28,544.2000000000552,544.2142,2015-01-01 01:30:45,bin5445,75, +CTSPillarNetworkA,5446,5446,5446,1984-11-29,544.3000000000552,544.31415,2015-01-01 01:30:46,bin5446,35, +CTSPillarNetworkA,5447,5447,5447,1984-11-30,544.4000000000552,544.4141,2015-01-01 01:30:47,bin5447,75, +CTSPillarNetworkA,5448,5448,5448,1984-12-01,544.5000000000553,544.5141,2015-01-01 01:30:48,bin5448,35, +CTSPillarNetworkA,5449,5449,5449,1984-12-02,544.6000000000553,544.6141,2015-01-01 01:30:49,bin5449,75, +CTSPillarNetworkA,5450,5450,5450,1984-12-03,544.7000000000553,544.71405,2015-01-01 01:30:50,bin5450,35, +CTSPillarNetworkA,5451,5451,5451,1984-12-04,544.8000000000553,544.814,2015-01-01 01:30:51,bin5451,75, +CTSPillarNetworkA,5452,5452,5452,1984-12-05,544.9000000000553,544.914,2015-01-01 01:30:52,bin5452,35, +CTSPillarNetworkA,5453,5453,5453,1984-12-06,545.0000000000554,545.014,2015-01-01 01:30:53,bin5453,75, +CTSPillarNetworkA,5454,5454,5454,1984-12-07,545.1000000000554,545.11395,2015-01-01 01:30:54,bin5454,35, +CTSPillarNetworkA,5455,5455,5455,1984-12-08,545.2000000000554,545.2139,2015-01-01 01:30:55,bin5455,75, +CTSPillarNetworkA,5456,5456,5456,1984-12-09,545.3000000000554,545.3139,2015-01-01 01:30:56,bin5456,35, +CTSPillarNetworkA,5457,5457,5457,1984-12-10,545.4000000000555,545.4139,2015-01-01 01:30:57,bin5457,75, +CTSPillarNetworkA,5458,5458,5458,1984-12-11,545.5000000000555,545.51385,2015-01-01 01:30:58,bin5458,35, +CTSPillarNetworkA,5459,5459,5459,1984-12-12,545.6000000000555,545.61383,2015-01-01 01:30:59,bin5459,75, +CTSPillarNetworkA,5460,5460,5460,1984-12-13,545.7000000000555,545.7138,2015-01-01 01:31:00,bin5460,35, +CTSPillarNetworkA,5461,5461,5461,1984-12-14,545.8000000000555,545.8138,2015-01-01 01:31:01,bin5461,75, +CTSPillarNetworkA,5462,5462,5462,1984-12-15,545.9000000000556,545.91376,2015-01-01 01:31:02,bin5462,35, +CTSPillarNetworkA,5463,5463,5463,1984-12-16,546.0000000000556,546.01373,2015-01-01 01:31:03,bin5463,75, +CTSPillarNetworkA,5464,5464,5464,1984-12-17,546.1000000000556,546.1137,2015-01-01 01:31:04,bin5464,35, +CTSPillarNetworkA,5465,5465,5465,1984-12-18,546.2000000000556,546.2137,2015-01-01 01:31:05,bin5465,75, +CTSPillarNetworkA,5466,5466,5466,1984-12-19,546.3000000000557,546.31366,2015-01-01 01:31:06,bin5466,35, +CTSPillarNetworkA,5467,5467,5467,1984-12-20,546.4000000000557,546.41364,2015-01-01 01:31:07,bin5467,75, +CTSPillarNetworkA,5468,5468,5468,1984-12-21,546.5000000000557,546.5136,2015-01-01 01:31:08,bin5468,35, +CTSPillarNetworkA,5469,5469,5469,1984-12-22,546.6000000000557,546.6136,2015-01-01 01:31:09,bin5469,75, +CTSPillarNetworkA,5470,5470,5470,1984-12-23,546.7000000000558,546.71356,2015-01-01 01:31:10,bin5470,35, +CTSPillarNetworkA,5471,5471,5471,1984-12-24,546.8000000000558,546.81354,2015-01-01 01:31:11,bin5471,75, +CTSPillarNetworkA,5472,5472,5472,1984-12-25,546.9000000000558,546.9135,2015-01-01 01:31:12,bin5472,35, +CTSPillarNetworkA,5473,5473,5473,1984-12-26,547.0000000000558,547.0135,2015-01-01 01:31:13,bin5473,75, +CTSPillarNetworkA,5474,5474,5474,1984-12-27,547.1000000000558,547.11346,2015-01-01 01:31:14,bin5474,35, +CTSPillarNetworkA,5475,5475,5475,1984-12-28,547.2000000000559,547.21344,2015-01-01 01:31:15,bin5475,75, +CTSPillarNetworkA,5476,5476,5476,1984-12-29,547.3000000000559,547.3134,2015-01-01 01:31:16,bin5476,35, +CTSPillarNetworkA,5477,5477,5477,1984-12-30,547.4000000000559,547.4134,2015-01-01 01:31:17,bin5477,75, +CTSPillarNetworkA,5478,5478,5478,1984-12-31,547.5000000000559,547.51337,2015-01-01 01:31:18,bin5478,35, +CTSPillarNetworkA,5479,5479,5479,1985-01-01,547.600000000056,547.61334,2015-01-01 01:31:19,bin5479,75, +CTSPillarNetworkA,5480,5480,5480,1985-01-02,547.700000000056,547.7133,2015-01-01 01:31:20,bin5480,35, +CTSPillarNetworkA,5481,5481,5481,1985-01-03,547.800000000056,547.8133,2015-01-01 01:31:21,bin5481,75, +CTSPillarNetworkA,5482,5482,5482,1985-01-04,547.900000000056,547.91327,2015-01-01 01:31:22,bin5482,35, +CTSPillarNetworkA,5483,5483,5483,1985-01-05,548.000000000056,548.01324,2015-01-01 01:31:23,bin5483,75, +CTSPillarNetworkA,5484,5484,5484,1985-01-06,548.1000000000561,548.1132,2015-01-01 01:31:24,bin5484,35, +CTSPillarNetworkA,5485,5485,5485,1985-01-07,548.2000000000561,548.2132,2015-01-01 01:31:25,bin5485,75, +CTSPillarNetworkA,5486,5486,5486,1985-01-08,548.3000000000561,548.3132,2015-01-01 01:31:26,bin5486,35, +CTSPillarNetworkA,5487,5487,5487,1985-01-09,548.4000000000561,548.41315,2015-01-01 01:31:27,bin5487,75, +CTSPillarNetworkA,5488,5488,5488,1985-01-10,548.5000000000562,548.5131,2015-01-01 01:31:28,bin5488,35, +CTSPillarNetworkA,5489,5489,5489,1985-01-11,548.6000000000562,548.6131,2015-01-01 01:31:29,bin5489,75, +CTSPillarNetworkA,5490,5490,5490,1985-01-12,548.7000000000562,548.7131,2015-01-01 01:31:30,bin5490,35, +CTSPillarNetworkA,5491,5491,5491,1985-01-13,548.8000000000562,548.81305,2015-01-01 01:31:31,bin5491,75, +CTSPillarNetworkA,5492,5492,5492,1985-01-14,548.9000000000563,548.913,2015-01-01 01:31:32,bin5492,35, +CTSPillarNetworkA,5493,5493,5493,1985-01-15,549.0000000000563,549.013,2015-01-01 01:31:33,bin5493,75, +CTSPillarNetworkA,5494,5494,5494,1985-01-16,549.1000000000563,549.113,2015-01-01 01:31:34,bin5494,35, +CTSPillarNetworkA,5495,5495,5495,1985-01-17,549.2000000000563,549.21295,2015-01-01 01:31:35,bin5495,75, +CTSPillarNetworkA,5496,5496,5496,1985-01-18,549.3000000000563,549.3129,2015-01-01 01:31:36,bin5496,35, +CTSPillarNetworkA,5497,5497,5497,1985-01-19,549.4000000000564,549.4129,2015-01-01 01:31:37,bin5497,75, +CTSPillarNetworkA,5498,5498,5498,1985-01-20,549.5000000000564,549.5129,2015-01-01 01:31:38,bin5498,35, +CTSPillarNetworkA,5499,5499,5499,1985-01-21,549.6000000000564,549.61285,2015-01-01 01:31:39,bin5499,75, +CTSPillarNetworkA,5500,5500,5500,1985-01-22,549.7000000000564,549.7128,2015-01-01 01:31:40,bin5500,35, +CTSPillarNetworkA,5501,5501,5501,1985-01-23,549.8000000000565,549.8128,2015-01-01 01:31:41,bin5501,75, +CTSPillarNetworkA,5502,5502,5502,1985-01-24,549.9000000000565,549.9128,2015-01-01 01:31:42,bin5502,35, +CTSPillarNetworkA,5503,5503,5503,1985-01-25,550.0000000000565,550.01276,2015-01-01 01:31:43,bin5503,75, +CTSPillarNetworkA,5504,5504,5504,1985-01-26,550.1000000000565,550.11273,2015-01-01 01:31:44,bin5504,35, +CTSPillarNetworkA,5505,5505,5505,1985-01-27,550.2000000000565,550.2127,2015-01-01 01:31:45,bin5505,75, +CTSPillarNetworkA,5506,5506,5506,1985-01-28,550.3000000000566,550.3127,2015-01-01 01:31:46,bin5506,35, +CTSPillarNetworkA,5507,5507,5507,1985-01-29,550.4000000000566,550.41266,2015-01-01 01:31:47,bin5507,75, +CTSPillarNetworkA,5508,5508,5508,1985-01-30,550.5000000000566,550.51263,2015-01-01 01:31:48,bin5508,35, +CTSPillarNetworkA,5509,5509,5509,1985-01-31,550.6000000000566,550.6126,2015-01-01 01:31:49,bin5509,75, +CTSPillarNetworkA,5510,5510,5510,1985-02-01,550.7000000000567,550.7126,2015-01-01 01:31:50,bin5510,35, +CTSPillarNetworkA,5511,5511,5511,1985-02-02,550.8000000000567,550.81256,2015-01-01 01:31:51,bin5511,75, +CTSPillarNetworkA,5512,5512,5512,1985-02-03,550.9000000000567,550.91254,2015-01-01 01:31:52,bin5512,35, +CTSPillarNetworkA,5513,5513,5513,1985-02-04,551.0000000000567,551.0125,2015-01-01 01:31:53,bin5513,75, +CTSPillarNetworkA,5514,5514,5514,1985-02-05,551.1000000000568,551.1125,2015-01-01 01:31:54,bin5514,35, +CTSPillarNetworkA,5515,5515,5515,1985-02-06,551.2000000000568,551.21246,2015-01-01 01:31:55,bin5515,75, +CTSPillarNetworkA,5516,5516,5516,1985-02-07,551.3000000000568,551.31244,2015-01-01 01:31:56,bin5516,35, +CTSPillarNetworkA,5517,5517,5517,1985-02-08,551.4000000000568,551.4124,2015-01-01 01:31:57,bin5517,75, +CTSPillarNetworkA,5518,5518,5518,1985-02-09,551.5000000000568,551.5124,2015-01-01 01:31:58,bin5518,35, +CTSPillarNetworkA,5519,5519,5519,1985-02-10,551.6000000000569,551.61237,2015-01-01 01:31:59,bin5519,75, +CTSPillarNetworkA,5520,5520,5520,1985-02-11,551.7000000000569,551.71234,2015-01-01 01:32:00,bin5520,35, +CTSPillarNetworkA,5521,5521,5521,1985-02-12,551.8000000000569,551.8123,2015-01-01 01:32:01,bin5521,75, +CTSPillarNetworkA,5522,5522,5522,1985-02-13,551.9000000000569,551.9123,2015-01-01 01:32:02,bin5522,35, +CTSPillarNetworkA,5523,5523,5523,1985-02-14,552.000000000057,552.01227,2015-01-01 01:32:03,bin5523,75, +CTSPillarNetworkA,5524,5524,5524,1985-02-15,552.100000000057,552.11224,2015-01-01 01:32:04,bin5524,35, +CTSPillarNetworkA,5525,5525,5525,1985-02-16,552.200000000057,552.2122,2015-01-01 01:32:05,bin5525,75, +CTSPillarNetworkA,5526,5526,5526,1985-02-17,552.300000000057,552.3122,2015-01-01 01:32:06,bin5526,35, +CTSPillarNetworkA,5527,5527,5527,1985-02-18,552.400000000057,552.4122,2015-01-01 01:32:07,bin5527,75, +CTSPillarNetworkA,5528,5528,5528,1985-02-19,552.5000000000571,552.51215,2015-01-01 01:32:08,bin5528,35, +CTSPillarNetworkA,5529,5529,5529,1985-02-20,552.6000000000571,552.6121,2015-01-01 01:32:09,bin5529,75, +CTSPillarNetworkA,5530,5530,5530,1985-02-21,552.7000000000571,552.7121,2015-01-01 01:32:10,bin5530,35, +CTSPillarNetworkA,5531,5531,5531,1985-02-22,552.8000000000571,552.8121,2015-01-01 01:32:11,bin5531,75, +CTSPillarNetworkA,5532,5532,5532,1985-02-23,552.9000000000572,552.91205,2015-01-01 01:32:12,bin5532,35, +CTSPillarNetworkA,5533,5533,5533,1985-02-24,553.0000000000572,553.012,2015-01-01 01:32:13,bin5533,75, +CTSPillarNetworkA,5534,5534,5534,1985-02-25,553.1000000000572,553.112,2015-01-01 01:32:14,bin5534,35, +CTSPillarNetworkA,5535,5535,5535,1985-02-26,553.2000000000572,553.212,2015-01-01 01:32:15,bin5535,75, +CTSPillarNetworkA,5536,5536,5536,1985-02-27,553.3000000000573,553.31195,2015-01-01 01:32:16,bin5536,35, +CTSPillarNetworkA,5537,5537,5537,1985-02-28,553.4000000000573,553.4119,2015-01-01 01:32:17,bin5537,75, +CTSPillarNetworkA,5538,5538,5538,1985-03-01,553.5000000000573,553.5119,2015-01-01 01:32:18,bin5538,35, +CTSPillarNetworkA,5539,5539,5539,1985-03-02,553.6000000000573,553.6119,2015-01-01 01:32:19,bin5539,75, +CTSPillarNetworkA,5540,5540,5540,1985-03-03,553.7000000000573,553.71185,2015-01-01 01:32:20,bin5540,35, +CTSPillarNetworkA,5541,5541,5541,1985-03-04,553.8000000000574,553.8118,2015-01-01 01:32:21,bin5541,75, +CTSPillarNetworkA,5542,5542,5542,1985-03-05,553.9000000000574,553.9118,2015-01-01 01:32:22,bin5542,35, +CTSPillarNetworkA,5543,5543,5543,1985-03-06,554.0000000000574,554.0118,2015-01-01 01:32:23,bin5543,75, +CTSPillarNetworkA,5544,5544,5544,1985-03-07,554.1000000000574,554.11176,2015-01-01 01:32:24,bin5544,35, +CTSPillarNetworkA,5545,5545,5545,1985-03-08,554.2000000000575,554.21173,2015-01-01 01:32:25,bin5545,75, +CTSPillarNetworkA,5546,5546,5546,1985-03-09,554.3000000000575,554.3117,2015-01-01 01:32:26,bin5546,35, +CTSPillarNetworkA,5547,5547,5547,1985-03-10,554.4000000000575,554.4117,2015-01-01 01:32:27,bin5547,75, +CTSPillarNetworkA,5548,5548,5548,1985-03-11,554.5000000000575,554.51166,2015-01-01 01:32:28,bin5548,35, +CTSPillarNetworkA,5549,5549,5549,1985-03-12,554.6000000000575,554.61163,2015-01-01 01:32:29,bin5549,75, +CTSPillarNetworkA,5550,5550,5550,1985-03-13,554.7000000000576,554.7116,2015-01-01 01:32:30,bin5550,35, +CTSPillarNetworkA,5551,5551,5551,1985-03-14,554.8000000000576,554.8116,2015-01-01 01:32:31,bin5551,75, +CTSPillarNetworkA,5552,5552,5552,1985-03-15,554.9000000000576,554.91156,2015-01-01 01:32:32,bin5552,35, +CTSPillarNetworkA,5553,5553,5553,1985-03-16,555.0000000000576,555.01154,2015-01-01 01:32:33,bin5553,75, +CTSPillarNetworkA,5554,5554,5554,1985-03-17,555.1000000000577,555.1115,2015-01-01 01:32:34,bin5554,35, +CTSPillarNetworkA,5555,5555,5555,1985-03-18,555.2000000000577,555.2115,2015-01-01 01:32:35,bin5555,75, +CTSPillarNetworkA,5556,5556,5556,1985-03-19,555.3000000000577,555.31146,2015-01-01 01:32:36,bin5556,35, +CTSPillarNetworkA,5557,5557,5557,1985-03-20,555.4000000000577,555.41144,2015-01-01 01:32:37,bin5557,75, +CTSPillarNetworkA,5558,5558,5558,1985-03-21,555.5000000000578,555.5114,2015-01-01 01:32:38,bin5558,35, +CTSPillarNetworkA,5559,5559,5559,1985-03-22,555.6000000000578,555.6114,2015-01-01 01:32:39,bin5559,75, +CTSPillarNetworkA,5560,5560,5560,1985-03-23,555.7000000000578,555.71136,2015-01-01 01:32:40,bin5560,35, +CTSPillarNetworkA,5561,5561,5561,1985-03-24,555.8000000000578,555.81134,2015-01-01 01:32:41,bin5561,75, +CTSPillarNetworkA,5562,5562,5562,1985-03-25,555.9000000000578,555.9113,2015-01-01 01:32:42,bin5562,35, +CTSPillarNetworkA,5563,5563,5563,1985-03-26,556.0000000000579,556.0113,2015-01-01 01:32:43,bin5563,75, +CTSPillarNetworkA,5564,5564,5564,1985-03-27,556.1000000000579,556.11127,2015-01-01 01:32:44,bin5564,35, +CTSPillarNetworkA,5565,5565,5565,1985-03-28,556.2000000000579,556.21124,2015-01-01 01:32:45,bin5565,75, +CTSPillarNetworkA,5566,5566,5566,1985-03-29,556.3000000000579,556.3112,2015-01-01 01:32:46,bin5566,35, +CTSPillarNetworkA,5567,5567,5567,1985-03-30,556.400000000058,556.4112,2015-01-01 01:32:47,bin5567,75, +CTSPillarNetworkA,5568,5568,5568,1985-03-31,556.500000000058,556.51117,2015-01-01 01:32:48,bin5568,35, +CTSPillarNetworkA,5569,5569,5569,1985-04-01,556.600000000058,556.61115,2015-01-01 01:32:49,bin5569,75, +CTSPillarNetworkA,5570,5570,5570,1985-04-02,556.700000000058,556.7111,2015-01-01 01:32:50,bin5570,35, +CTSPillarNetworkA,5571,5571,5571,1985-04-03,556.800000000058,556.8111,2015-01-01 01:32:51,bin5571,75, +CTSPillarNetworkA,5572,5572,5572,1985-04-04,556.9000000000581,556.9111,2015-01-01 01:32:52,bin5572,35, +CTSPillarNetworkA,5573,5573,5573,1985-04-05,557.0000000000581,557.01105,2015-01-01 01:32:53,bin5573,75, +CTSPillarNetworkA,5574,5574,5574,1985-04-06,557.1000000000581,557.111,2015-01-01 01:32:54,bin5574,35, +CTSPillarNetworkA,5575,5575,5575,1985-04-07,557.2000000000581,557.211,2015-01-01 01:32:55,bin5575,75, +CTSPillarNetworkA,5576,5576,5576,1985-04-08,557.3000000000582,557.311,2015-01-01 01:32:56,bin5576,35, +CTSPillarNetworkA,5577,5577,5577,1985-04-09,557.4000000000582,557.41095,2015-01-01 01:32:57,bin5577,75, +CTSPillarNetworkA,5578,5578,5578,1985-04-10,557.5000000000582,557.5109,2015-01-01 01:32:58,bin5578,35, +CTSPillarNetworkA,5579,5579,5579,1985-04-11,557.6000000000582,557.6109,2015-01-01 01:32:59,bin5579,75, +CTSPillarNetworkA,5580,5580,5580,1985-04-12,557.7000000000583,557.7109,2015-01-01 01:33:00,bin5580,35, +CTSPillarNetworkA,5581,5581,5581,1985-04-13,557.8000000000583,557.81085,2015-01-01 01:33:01,bin5581,75, +CTSPillarNetworkA,5582,5582,5582,1985-04-14,557.9000000000583,557.9108,2015-01-01 01:33:02,bin5582,35, +CTSPillarNetworkA,5583,5583,5583,1985-04-15,558.0000000000583,558.0108,2015-01-01 01:33:03,bin5583,75, +CTSPillarNetworkA,5584,5584,5584,1985-04-16,558.1000000000583,558.1108,2015-01-01 01:33:04,bin5584,35, +CTSPillarNetworkA,5585,5585,5585,1985-04-17,558.2000000000584,558.21075,2015-01-01 01:33:05,bin5585,75, +CTSPillarNetworkA,5586,5586,5586,1985-04-18,558.3000000000584,558.3107,2015-01-01 01:33:06,bin5586,35, +CTSPillarNetworkA,5587,5587,5587,1985-04-19,558.4000000000584,558.4107,2015-01-01 01:33:07,bin5587,75, +CTSPillarNetworkA,5588,5588,5588,1985-04-20,558.5000000000584,558.5107,2015-01-01 01:33:08,bin5588,35, +CTSPillarNetworkA,5589,5589,5589,1985-04-21,558.6000000000585,558.61066,2015-01-01 01:33:09,bin5589,75, +CTSPillarNetworkA,5590,5590,5590,1985-04-22,558.7000000000585,558.71063,2015-01-01 01:33:10,bin5590,35, +CTSPillarNetworkA,5591,5591,5591,1985-04-23,558.8000000000585,558.8106,2015-01-01 01:33:11,bin5591,75, +CTSPillarNetworkA,5592,5592,5592,1985-04-24,558.9000000000585,558.9106,2015-01-01 01:33:12,bin5592,35, +CTSPillarNetworkA,5593,5593,5593,1985-04-25,559.0000000000585,559.01056,2015-01-01 01:33:13,bin5593,75, +CTSPillarNetworkA,5594,5594,5594,1985-04-26,559.1000000000586,559.11053,2015-01-01 01:33:14,bin5594,35, +CTSPillarNetworkA,5595,5595,5595,1985-04-27,559.2000000000586,559.2105,2015-01-01 01:33:15,bin5595,75, +CTSPillarNetworkA,5596,5596,5596,1985-04-28,559.3000000000586,559.3105,2015-01-01 01:33:16,bin5596,35, +CTSPillarNetworkA,5597,5597,5597,1985-04-29,559.4000000000586,559.41046,2015-01-01 01:33:17,bin5597,75, +CTSPillarNetworkA,5598,5598,5598,1985-04-30,559.5000000000587,559.51044,2015-01-01 01:33:18,bin5598,35, +CTSPillarNetworkA,5599,5599,5599,1985-05-01,559.6000000000587,559.6104,2015-01-01 01:33:19,bin5599,75, +CTSPillarNetworkA,5600,5600,5600,1985-05-02,559.7000000000587,559.7104,2015-01-01 01:33:20,bin5600,35, +CTSPillarNetworkA,5601,5601,5601,1985-05-03,559.8000000000587,559.81036,2015-01-01 01:33:21,bin5601,75, +CTSPillarNetworkA,5602,5602,5602,1985-05-04,559.9000000000588,559.91034,2015-01-01 01:33:22,bin5602,35, +CTSPillarNetworkA,5603,5603,5603,1985-05-05,560.0000000000588,560.0103,2015-01-01 01:33:23,bin5603,75, +CTSPillarNetworkA,5604,5604,5604,1985-05-06,560.1000000000588,560.1103,2015-01-01 01:33:24,bin5604,35, +CTSPillarNetworkA,5605,5605,5605,1985-05-07,560.2000000000588,560.21027,2015-01-01 01:33:25,bin5605,75, +CTSPillarNetworkA,5606,5606,5606,1985-05-08,560.3000000000588,560.31024,2015-01-01 01:33:26,bin5606,35, +CTSPillarNetworkA,5607,5607,5607,1985-05-09,560.4000000000589,560.4102,2015-01-01 01:33:27,bin5607,75, +CTSPillarNetworkA,5608,5608,5608,1985-05-10,560.5000000000589,560.5102,2015-01-01 01:33:28,bin5608,35, +CTSPillarNetworkA,5609,5609,5609,1985-05-11,560.6000000000589,560.61017,2015-01-01 01:33:29,bin5609,75, +CTSPillarNetworkA,5610,5610,5610,1985-05-12,560.7000000000589,560.71014,2015-01-01 01:33:30,bin5610,35, +CTSPillarNetworkA,5611,5611,5611,1985-05-13,560.800000000059,560.8101,2015-01-01 01:33:31,bin5611,75, +CTSPillarNetworkA,5612,5612,5612,1985-05-14,560.900000000059,560.9101,2015-01-01 01:33:32,bin5612,35, +CTSPillarNetworkA,5613,5613,5613,1985-05-15,561.000000000059,561.0101,2015-01-01 01:33:33,bin5613,75, +CTSPillarNetworkA,5614,5614,5614,1985-05-16,561.100000000059,561.11005,2015-01-01 01:33:34,bin5614,35, +CTSPillarNetworkA,5615,5615,5615,1985-05-17,561.200000000059,561.21,2015-01-01 01:33:35,bin5615,75, +CTSPillarNetworkA,5616,5616,5616,1985-05-18,561.3000000000591,561.31,2015-01-01 01:33:36,bin5616,35, +CTSPillarNetworkA,5617,5617,5617,1985-05-19,561.4000000000591,561.41,2015-01-01 01:33:37,bin5617,75, +CTSPillarNetworkA,5618,5618,5618,1985-05-20,561.5000000000591,561.50995,2015-01-01 01:33:38,bin5618,35, +CTSPillarNetworkA,5619,5619,5619,1985-05-21,561.6000000000591,561.6099,2015-01-01 01:33:39,bin5619,75, +CTSPillarNetworkA,5620,5620,5620,1985-05-22,561.7000000000592,561.7099,2015-01-01 01:33:40,bin5620,35, +CTSPillarNetworkA,5621,5621,5621,1985-05-23,561.8000000000592,561.8099,2015-01-01 01:33:41,bin5621,75, +CTSPillarNetworkA,5622,5622,5622,1985-05-24,561.9000000000592,561.90985,2015-01-01 01:33:42,bin5622,35, +CTSPillarNetworkA,5623,5623,5623,1985-05-25,562.0000000000592,562.0098,2015-01-01 01:33:43,bin5623,75, +CTSPillarNetworkA,5624,5624,5624,1985-05-26,562.1000000000593,562.1098,2015-01-01 01:33:44,bin5624,35, +CTSPillarNetworkA,5625,5625,5625,1985-05-27,562.2000000000593,562.2098,2015-01-01 01:33:45,bin5625,75, +CTSPillarNetworkA,5626,5626,5626,1985-05-28,562.3000000000593,562.30975,2015-01-01 01:33:46,bin5626,35, +CTSPillarNetworkA,5627,5627,5627,1985-05-29,562.4000000000593,562.4097,2015-01-01 01:33:47,bin5627,75, +CTSPillarNetworkA,5628,5628,5628,1985-05-30,562.5000000000593,562.5097,2015-01-01 01:33:48,bin5628,35, +CTSPillarNetworkA,5629,5629,5629,1985-05-31,562.6000000000594,562.6097,2015-01-01 01:33:49,bin5629,75, +CTSPillarNetworkA,5630,5630,5630,1985-06-01,562.7000000000594,562.70966,2015-01-01 01:33:50,bin5630,35, +CTSPillarNetworkA,5631,5631,5631,1985-06-02,562.8000000000594,562.80963,2015-01-01 01:33:51,bin5631,75, +CTSPillarNetworkA,5632,5632,5632,1985-06-03,562.9000000000594,562.9096,2015-01-01 01:33:52,bin5632,35, +CTSPillarNetworkA,5633,5633,5633,1985-06-04,563.0000000000595,563.0096,2015-01-01 01:33:53,bin5633,75, +CTSPillarNetworkA,5634,5634,5634,1985-06-05,563.1000000000595,563.10956,2015-01-01 01:33:54,bin5634,35, +CTSPillarNetworkA,5635,5635,5635,1985-06-06,563.2000000000595,563.20953,2015-01-01 01:33:55,bin5635,75, +CTSPillarNetworkA,5636,5636,5636,1985-06-07,563.3000000000595,563.3095,2015-01-01 01:33:56,bin5636,35, +CTSPillarNetworkA,5637,5637,5637,1985-06-08,563.4000000000595,563.4095,2015-01-01 01:33:57,bin5637,75, +CTSPillarNetworkA,5638,5638,5638,1985-06-09,563.5000000000596,563.50946,2015-01-01 01:33:58,bin5638,35, +CTSPillarNetworkA,5639,5639,5639,1985-06-10,563.6000000000596,563.60944,2015-01-01 01:33:59,bin5639,75, +CTSPillarNetworkA,5640,5640,5640,1985-06-11,563.7000000000596,563.7094,2015-01-01 01:34:00,bin5640,35, +CTSPillarNetworkA,5641,5641,5641,1985-06-12,563.8000000000596,563.8094,2015-01-01 01:34:01,bin5641,75, +CTSPillarNetworkA,5642,5642,5642,1985-06-13,563.9000000000597,563.90936,2015-01-01 01:34:02,bin5642,35, +CTSPillarNetworkA,5643,5643,5643,1985-06-14,564.0000000000597,564.00934,2015-01-01 01:34:03,bin5643,75, +CTSPillarNetworkA,5644,5644,5644,1985-06-15,564.1000000000597,564.1093,2015-01-01 01:34:04,bin5644,35, +CTSPillarNetworkA,5645,5645,5645,1985-06-16,564.2000000000597,564.2093,2015-01-01 01:34:05,bin5645,75, +CTSPillarNetworkA,5646,5646,5646,1985-06-17,564.3000000000598,564.30927,2015-01-01 01:34:06,bin5646,35, +CTSPillarNetworkA,5647,5647,5647,1985-06-18,564.4000000000598,564.40924,2015-01-01 01:34:07,bin5647,75, +CTSPillarNetworkA,5648,5648,5648,1985-06-19,564.5000000000598,564.5092,2015-01-01 01:34:08,bin5648,35, +CTSPillarNetworkA,5649,5649,5649,1985-06-20,564.6000000000598,564.6092,2015-01-01 01:34:09,bin5649,75, +CTSPillarNetworkA,5650,5650,5650,1985-06-21,564.7000000000598,564.70917,2015-01-01 01:34:10,bin5650,35, +CTSPillarNetworkA,5651,5651,5651,1985-06-22,564.8000000000599,564.80914,2015-01-01 01:34:11,bin5651,75, +CTSPillarNetworkA,5652,5652,5652,1985-06-23,564.9000000000599,564.9091,2015-01-01 01:34:12,bin5652,35, +CTSPillarNetworkA,5653,5653,5653,1985-06-24,565.0000000000599,565.0091,2015-01-01 01:34:13,bin5653,75, +CTSPillarNetworkA,5654,5654,5654,1985-06-25,565.1000000000599,565.1091,2015-01-01 01:34:14,bin5654,35, +CTSPillarNetworkA,5655,5655,5655,1985-06-26,565.20000000006,565.20905,2015-01-01 01:34:15,bin5655,75, +CTSPillarNetworkA,5656,5656,5656,1985-06-27,565.30000000006,565.309,2015-01-01 01:34:16,bin5656,35, +CTSPillarNetworkA,5657,5657,5657,1985-06-28,565.40000000006,565.409,2015-01-01 01:34:17,bin5657,75, +CTSPillarNetworkA,5658,5658,5658,1985-06-29,565.50000000006,565.509,2015-01-01 01:34:18,bin5658,35, +CTSPillarNetworkA,5659,5659,5659,1985-06-30,565.60000000006,565.60895,2015-01-01 01:34:19,bin5659,75, +CTSPillarNetworkA,5660,5660,5660,1985-07-01,565.7000000000601,565.7089,2015-01-01 01:34:20,bin5660,35, +CTSPillarNetworkA,5661,5661,5661,1985-07-02,565.8000000000601,565.8089,2015-01-01 01:34:21,bin5661,75, +CTSPillarNetworkA,5662,5662,5662,1985-07-03,565.9000000000601,565.9089,2015-01-01 01:34:22,bin5662,35, +CTSPillarNetworkA,5663,5663,5663,1985-07-04,566.0000000000601,566.00885,2015-01-01 01:34:23,bin5663,75, +CTSPillarNetworkA,5664,5664,5664,1985-07-05,566.1000000000602,566.1088,2015-01-01 01:34:24,bin5664,35, +CTSPillarNetworkA,5665,5665,5665,1985-07-06,566.2000000000602,566.2088,2015-01-01 01:34:25,bin5665,75, +CTSPillarNetworkA,5666,5666,5666,1985-07-07,566.3000000000602,566.3088,2015-01-01 01:34:26,bin5666,35, +CTSPillarNetworkA,5667,5667,5667,1985-07-08,566.4000000000602,566.40875,2015-01-01 01:34:27,bin5667,75, +CTSPillarNetworkA,5668,5668,5668,1985-07-09,566.5000000000603,566.5087,2015-01-01 01:34:28,bin5668,35, +CTSPillarNetworkA,5669,5669,5669,1985-07-10,566.6000000000603,566.6087,2015-01-01 01:34:29,bin5669,75, +CTSPillarNetworkA,5670,5670,5670,1985-07-11,566.7000000000603,566.7087,2015-01-01 01:34:30,bin5670,35, +CTSPillarNetworkA,5671,5671,5671,1985-07-12,566.8000000000603,566.80865,2015-01-01 01:34:31,bin5671,75, +CTSPillarNetworkA,5672,5672,5672,1985-07-13,566.9000000000603,566.9086,2015-01-01 01:34:32,bin5672,35, +CTSPillarNetworkA,5673,5673,5673,1985-07-14,567.0000000000604,567.0086,2015-01-01 01:34:33,bin5673,75, +CTSPillarNetworkA,5674,5674,5674,1985-07-15,567.1000000000604,567.1086,2015-01-01 01:34:34,bin5674,35, +CTSPillarNetworkA,5675,5675,5675,1985-07-16,567.2000000000604,567.20856,2015-01-01 01:34:35,bin5675,75, +CTSPillarNetworkA,5676,5676,5676,1985-07-17,567.3000000000604,567.30853,2015-01-01 01:34:36,bin5676,35, +CTSPillarNetworkA,5677,5677,5677,1985-07-18,567.4000000000605,567.4085,2015-01-01 01:34:37,bin5677,75, +CTSPillarNetworkA,5678,5678,5678,1985-07-19,567.5000000000605,567.5085,2015-01-01 01:34:38,bin5678,35, +CTSPillarNetworkA,5679,5679,5679,1985-07-20,567.6000000000605,567.60846,2015-01-01 01:34:39,bin5679,75, +CTSPillarNetworkA,5680,5680,5680,1985-07-21,567.7000000000605,567.70844,2015-01-01 01:34:40,bin5680,35, +CTSPillarNetworkA,5681,5681,5681,1985-07-22,567.8000000000605,567.8084,2015-01-01 01:34:41,bin5681,75, +CTSPillarNetworkA,5682,5682,5682,1985-07-23,567.9000000000606,567.9084,2015-01-01 01:34:42,bin5682,35, +CTSPillarNetworkA,5683,5683,5683,1985-07-24,568.0000000000606,568.00836,2015-01-01 01:34:43,bin5683,75, +CTSPillarNetworkA,5684,5684,5684,1985-07-25,568.1000000000606,568.10834,2015-01-01 01:34:44,bin5684,35, +CTSPillarNetworkA,5685,5685,5685,1985-07-26,568.2000000000606,568.2083,2015-01-01 01:34:45,bin5685,75, +CTSPillarNetworkA,5686,5686,5686,1985-07-27,568.3000000000607,568.3083,2015-01-01 01:34:46,bin5686,35, +CTSPillarNetworkA,5687,5687,5687,1985-07-28,568.4000000000607,568.40826,2015-01-01 01:34:47,bin5687,75, +CTSPillarNetworkA,5688,5688,5688,1985-07-29,568.5000000000607,568.50824,2015-01-01 01:34:48,bin5688,35, +CTSPillarNetworkA,5689,5689,5689,1985-07-30,568.6000000000607,568.6082,2015-01-01 01:34:49,bin5689,75, +CTSPillarNetworkA,5690,5690,5690,1985-07-31,568.7000000000608,568.7082,2015-01-01 01:34:50,bin5690,35, +CTSPillarNetworkA,5691,5691,5691,1985-08-01,568.8000000000608,568.80817,2015-01-01 01:34:51,bin5691,75, +CTSPillarNetworkA,5692,5692,5692,1985-08-02,568.9000000000608,568.90814,2015-01-01 01:34:52,bin5692,35, +CTSPillarNetworkA,5693,5693,5693,1985-08-03,569.0000000000608,569.0081,2015-01-01 01:34:53,bin5693,75, +CTSPillarNetworkA,5694,5694,5694,1985-08-04,569.1000000000608,569.1081,2015-01-01 01:34:54,bin5694,35, +CTSPillarNetworkA,5695,5695,5695,1985-08-05,569.2000000000609,569.20807,2015-01-01 01:34:55,bin5695,75, +CTSPillarNetworkA,5696,5696,5696,1985-08-06,569.3000000000609,569.30804,2015-01-01 01:34:56,bin5696,35, +CTSPillarNetworkA,5697,5697,5697,1985-08-07,569.4000000000609,569.408,2015-01-01 01:34:57,bin5697,75, +CTSPillarNetworkA,5698,5698,5698,1985-08-08,569.5000000000609,569.508,2015-01-01 01:34:58,bin5698,35, +CTSPillarNetworkA,5699,5699,5699,1985-08-09,569.600000000061,569.608,2015-01-01 01:34:59,bin5699,75, +CTSPillarNetworkA,5700,5700,5700,1985-08-10,569.700000000061,569.70795,2015-01-01 01:35:00,bin5700,35, +CTSPillarNetworkA,5701,5701,5701,1985-08-11,569.800000000061,569.8079,2015-01-01 01:35:01,bin5701,75, +CTSPillarNetworkA,5702,5702,5702,1985-08-12,569.900000000061,569.9079,2015-01-01 01:35:02,bin5702,35, +CTSPillarNetworkA,5703,5703,5703,1985-08-13,570.000000000061,570.0079,2015-01-01 01:35:03,bin5703,75, +CTSPillarNetworkA,5704,5704,5704,1985-08-14,570.1000000000611,570.10785,2015-01-01 01:35:04,bin5704,35, +CTSPillarNetworkA,5705,5705,5705,1985-08-15,570.2000000000611,570.2078,2015-01-01 01:35:05,bin5705,75, +CTSPillarNetworkA,5706,5706,5706,1985-08-16,570.3000000000611,570.3078,2015-01-01 01:35:06,bin5706,35, +CTSPillarNetworkA,5707,5707,5707,1985-08-17,570.4000000000611,570.4078,2015-01-01 01:35:07,bin5707,75, +CTSPillarNetworkA,5708,5708,5708,1985-08-18,570.5000000000612,570.50775,2015-01-01 01:35:08,bin5708,35, +CTSPillarNetworkA,5709,5709,5709,1985-08-19,570.6000000000612,570.6077,2015-01-01 01:35:09,bin5709,75, +CTSPillarNetworkA,5710,5710,5710,1985-08-20,570.7000000000612,570.7077,2015-01-01 01:35:10,bin5710,35, +CTSPillarNetworkA,5711,5711,5711,1985-08-21,570.8000000000612,570.8077,2015-01-01 01:35:11,bin5711,75, +CTSPillarNetworkA,5712,5712,5712,1985-08-22,570.9000000000613,570.90765,2015-01-01 01:35:12,bin5712,35, +CTSPillarNetworkA,5713,5713,5713,1985-08-23,571.0000000000613,571.0076,2015-01-01 01:35:13,bin5713,75, +CTSPillarNetworkA,5714,5714,5714,1985-08-24,571.1000000000613,571.1076,2015-01-01 01:35:14,bin5714,35, +CTSPillarNetworkA,5715,5715,5715,1985-08-25,571.2000000000613,571.2076,2015-01-01 01:35:15,bin5715,75, +CTSPillarNetworkA,5716,5716,5716,1985-08-26,571.3000000000613,571.30756,2015-01-01 01:35:16,bin5716,35, +CTSPillarNetworkA,5717,5717,5717,1985-08-27,571.4000000000614,571.40753,2015-01-01 01:35:17,bin5717,75, +CTSPillarNetworkA,5718,5718,5718,1985-08-28,571.5000000000614,571.5075,2015-01-01 01:35:18,bin5718,35, +CTSPillarNetworkA,5719,5719,5719,1985-08-29,571.6000000000614,571.6075,2015-01-01 01:35:19,bin5719,75, +CTSPillarNetworkA,5720,5720,5720,1985-08-30,571.7000000000614,571.70746,2015-01-01 01:35:20,bin5720,35, +CTSPillarNetworkA,5721,5721,5721,1985-08-31,571.8000000000615,571.80743,2015-01-01 01:35:21,bin5721,75, +CTSPillarNetworkA,5722,5722,5722,1985-09-01,571.9000000000615,571.9074,2015-01-01 01:35:22,bin5722,35, +CTSPillarNetworkA,5723,5723,5723,1985-09-02,572.0000000000615,572.0074,2015-01-01 01:35:23,bin5723,75, +CTSPillarNetworkA,5724,5724,5724,1985-09-03,572.1000000000615,572.10736,2015-01-01 01:35:24,bin5724,35, +CTSPillarNetworkA,5725,5725,5725,1985-09-04,572.2000000000616,572.20734,2015-01-01 01:35:25,bin5725,75, +CTSPillarNetworkA,5726,5726,5726,1985-09-05,572.3000000000616,572.3073,2015-01-01 01:35:26,bin5726,35, +CTSPillarNetworkA,5727,5727,5727,1985-09-06,572.4000000000616,572.4073,2015-01-01 01:35:27,bin5727,75, +CTSPillarNetworkA,5728,5728,5728,1985-09-07,572.5000000000616,572.50726,2015-01-01 01:35:28,bin5728,35, +CTSPillarNetworkA,5729,5729,5729,1985-09-08,572.6000000000616,572.60724,2015-01-01 01:35:29,bin5729,75, +CTSPillarNetworkA,5730,5730,5730,1985-09-09,572.7000000000617,572.7072,2015-01-01 01:35:30,bin5730,35, +CTSPillarNetworkA,5731,5731,5731,1985-09-10,572.8000000000617,572.8072,2015-01-01 01:35:31,bin5731,75, +CTSPillarNetworkA,5732,5732,5732,1985-09-11,572.9000000000617,572.90717,2015-01-01 01:35:32,bin5732,35, +CTSPillarNetworkA,5733,5733,5733,1985-09-12,573.0000000000617,573.00714,2015-01-01 01:35:33,bin5733,75, +CTSPillarNetworkA,5734,5734,5734,1985-09-13,573.1000000000618,573.1071,2015-01-01 01:35:34,bin5734,35, +CTSPillarNetworkA,5735,5735,5735,1985-09-14,573.2000000000618,573.2071,2015-01-01 01:35:35,bin5735,75, +CTSPillarNetworkA,5736,5736,5736,1985-09-15,573.3000000000618,573.30707,2015-01-01 01:35:36,bin5736,35, +CTSPillarNetworkA,5737,5737,5737,1985-09-16,573.4000000000618,573.40704,2015-01-01 01:35:37,bin5737,75, +CTSPillarNetworkA,5738,5738,5738,1985-09-17,573.5000000000618,573.507,2015-01-01 01:35:38,bin5738,35, +CTSPillarNetworkA,5739,5739,5739,1985-09-18,573.6000000000619,573.607,2015-01-01 01:35:39,bin5739,75, +CTSPillarNetworkA,5740,5740,5740,1985-09-19,573.7000000000619,573.707,2015-01-01 01:35:40,bin5740,35, +CTSPillarNetworkA,5741,5741,5741,1985-09-20,573.8000000000619,573.80695,2015-01-01 01:35:41,bin5741,75, +CTSPillarNetworkA,5742,5742,5742,1985-09-21,573.9000000000619,573.9069,2015-01-01 01:35:42,bin5742,35, +CTSPillarNetworkA,5743,5743,5743,1985-09-22,574.000000000062,574.0069,2015-01-01 01:35:43,bin5743,75, +CTSPillarNetworkA,5744,5744,5744,1985-09-23,574.100000000062,574.1069,2015-01-01 01:35:44,bin5744,35, +CTSPillarNetworkA,5745,5745,5745,1985-09-24,574.200000000062,574.20685,2015-01-01 01:35:45,bin5745,75, +CTSPillarNetworkA,5746,5746,5746,1985-09-25,574.300000000062,574.3068,2015-01-01 01:35:46,bin5746,35, +CTSPillarNetworkA,5747,5747,5747,1985-09-26,574.400000000062,574.4068,2015-01-01 01:35:47,bin5747,75, +CTSPillarNetworkA,5748,5748,5748,1985-09-27,574.5000000000621,574.5068,2015-01-01 01:35:48,bin5748,35, +CTSPillarNetworkA,5749,5749,5749,1985-09-28,574.6000000000621,574.60675,2015-01-01 01:35:49,bin5749,75, +CTSPillarNetworkA,5750,5750,5750,1985-09-29,574.7000000000621,574.7067,2015-01-01 01:35:50,bin5750,35, +CTSPillarNetworkA,5751,5751,5751,1985-09-30,574.8000000000621,574.8067,2015-01-01 01:35:51,bin5751,75, +CTSPillarNetworkA,5752,5752,5752,1985-10-01,574.9000000000622,574.9067,2015-01-01 01:35:52,bin5752,35, +CTSPillarNetworkA,5753,5753,5753,1985-10-02,575.0000000000622,575.00665,2015-01-01 01:35:53,bin5753,75, +CTSPillarNetworkA,5754,5754,5754,1985-10-03,575.1000000000622,575.1066,2015-01-01 01:35:54,bin5754,35, +CTSPillarNetworkA,5755,5755,5755,1985-10-04,575.2000000000622,575.2066,2015-01-01 01:35:55,bin5755,75, +CTSPillarNetworkA,5756,5756,5756,1985-10-05,575.3000000000623,575.3066,2015-01-01 01:35:56,bin5756,35, +CTSPillarNetworkA,5757,5757,5757,1985-10-06,575.4000000000623,575.40656,2015-01-01 01:35:57,bin5757,75, +CTSPillarNetworkA,5758,5758,5758,1985-10-07,575.5000000000623,575.50653,2015-01-01 01:35:58,bin5758,35, +CTSPillarNetworkA,5759,5759,5759,1985-10-08,575.6000000000623,575.6065,2015-01-01 01:35:59,bin5759,75, +CTSPillarNetworkA,5760,5760,5760,1985-10-09,575.7000000000623,575.7065,2015-01-01 01:36:00,bin5760,35, +CTSPillarNetworkA,5761,5761,5761,1985-10-10,575.8000000000624,575.80646,2015-01-01 01:36:01,bin5761,75, +CTSPillarNetworkA,5762,5762,5762,1985-10-11,575.9000000000624,575.90643,2015-01-01 01:36:02,bin5762,35, +CTSPillarNetworkA,5763,5763,5763,1985-10-12,576.0000000000624,576.0064,2015-01-01 01:36:03,bin5763,75, +CTSPillarNetworkA,5764,5764,5764,1985-10-13,576.1000000000624,576.1064,2015-01-01 01:36:04,bin5764,35, +CTSPillarNetworkA,5765,5765,5765,1985-10-14,576.2000000000625,576.20636,2015-01-01 01:36:05,bin5765,75, +CTSPillarNetworkA,5766,5766,5766,1985-10-15,576.3000000000625,576.30634,2015-01-01 01:36:06,bin5766,35, +CTSPillarNetworkA,5767,5767,5767,1985-10-16,576.4000000000625,576.4063,2015-01-01 01:36:07,bin5767,75, +CTSPillarNetworkA,5768,5768,5768,1985-10-17,576.5000000000625,576.5063,2015-01-01 01:36:08,bin5768,35, +CTSPillarNetworkA,5769,5769,5769,1985-10-18,576.6000000000626,576.60626,2015-01-01 01:36:09,bin5769,75, +CTSPillarNetworkA,5770,5770,5770,1985-10-19,576.7000000000626,576.70624,2015-01-01 01:36:10,bin5770,35, +CTSPillarNetworkA,5771,5771,5771,1985-10-20,576.8000000000626,576.8062,2015-01-01 01:36:11,bin5771,75, +CTSPillarNetworkA,5772,5772,5772,1985-10-21,576.9000000000626,576.9062,2015-01-01 01:36:12,bin5772,35, +CTSPillarNetworkA,5773,5773,5773,1985-10-22,577.0000000000626,577.00616,2015-01-01 01:36:13,bin5773,75, +CTSPillarNetworkA,5774,5774,5774,1985-10-23,577.1000000000627,577.10614,2015-01-01 01:36:14,bin5774,35, +CTSPillarNetworkA,5775,5775,5775,1985-10-24,577.2000000000627,577.2061,2015-01-01 01:36:15,bin5775,75, +CTSPillarNetworkA,5776,5776,5776,1985-10-25,577.3000000000627,577.3061,2015-01-01 01:36:16,bin5776,35, +CTSPillarNetworkA,5777,5777,5777,1985-10-26,577.4000000000627,577.40607,2015-01-01 01:36:17,bin5777,75, +CTSPillarNetworkA,5778,5778,5778,1985-10-27,577.5000000000628,577.50604,2015-01-01 01:36:18,bin5778,35, +CTSPillarNetworkA,5779,5779,5779,1985-10-28,577.6000000000628,577.606,2015-01-01 01:36:19,bin5779,75, +CTSPillarNetworkA,5780,5780,5780,1985-10-29,577.7000000000628,577.706,2015-01-01 01:36:20,bin5780,35, +CTSPillarNetworkA,5781,5781,5781,1985-10-30,577.8000000000628,577.80597,2015-01-01 01:36:21,bin5781,75, +CTSPillarNetworkA,5782,5782,5782,1985-10-31,577.9000000000628,577.90594,2015-01-01 01:36:22,bin5782,35, +CTSPillarNetworkA,5783,5783,5783,1985-11-01,578.0000000000629,578.0059,2015-01-01 01:36:23,bin5783,75, +CTSPillarNetworkA,5784,5784,5784,1985-11-02,578.1000000000629,578.1059,2015-01-01 01:36:24,bin5784,35, +CTSPillarNetworkA,5785,5785,5785,1985-11-03,578.2000000000629,578.2059,2015-01-01 01:36:25,bin5785,75, +CTSPillarNetworkA,5786,5786,5786,1985-11-04,578.3000000000629,578.30585,2015-01-01 01:36:26,bin5786,35, +CTSPillarNetworkA,5787,5787,5787,1985-11-05,578.400000000063,578.4058,2015-01-01 01:36:27,bin5787,75, +CTSPillarNetworkA,5788,5788,5788,1985-11-06,578.500000000063,578.5058,2015-01-01 01:36:28,bin5788,35, +CTSPillarNetworkA,5789,5789,5789,1985-11-07,578.600000000063,578.6058,2015-01-01 01:36:29,bin5789,75, +CTSPillarNetworkA,5790,5790,5790,1985-11-08,578.700000000063,578.70575,2015-01-01 01:36:30,bin5790,35, +CTSPillarNetworkA,5791,5791,5791,1985-11-09,578.800000000063,578.8057,2015-01-01 01:36:31,bin5791,75, +CTSPillarNetworkA,5792,5792,5792,1985-11-10,578.9000000000631,578.9057,2015-01-01 01:36:32,bin5792,35, +CTSPillarNetworkA,5793,5793,5793,1985-11-11,579.0000000000631,579.0057,2015-01-01 01:36:33,bin5793,75, +CTSPillarNetworkA,5794,5794,5794,1985-11-12,579.1000000000631,579.10565,2015-01-01 01:36:34,bin5794,35, +CTSPillarNetworkA,5795,5795,5795,1985-11-13,579.2000000000631,579.2056,2015-01-01 01:36:35,bin5795,75, +CTSPillarNetworkA,5796,5796,5796,1985-11-14,579.3000000000632,579.3056,2015-01-01 01:36:36,bin5796,35, +CTSPillarNetworkA,5797,5797,5797,1985-11-15,579.4000000000632,579.4056,2015-01-01 01:36:37,bin5797,75, +CTSPillarNetworkA,5798,5798,5798,1985-11-16,579.5000000000632,579.50555,2015-01-01 01:36:38,bin5798,35, +CTSPillarNetworkA,5799,5799,5799,1985-11-17,579.6000000000632,579.6055,2015-01-01 01:36:39,bin5799,75, +CTSPillarNetworkA,5800,5800,5800,1985-11-18,579.7000000000633,579.7055,2015-01-01 01:36:40,bin5800,35, +CTSPillarNetworkA,5801,5801,5801,1985-11-19,579.8000000000633,579.8055,2015-01-01 01:36:41,bin5801,75, +CTSPillarNetworkA,5802,5802,5802,1985-11-20,579.9000000000633,579.90546,2015-01-01 01:36:42,bin5802,35, +CTSPillarNetworkA,5803,5803,5803,1985-11-21,580.0000000000633,580.00543,2015-01-01 01:36:43,bin5803,75, +CTSPillarNetworkA,5804,5804,5804,1985-11-22,580.1000000000633,580.1054,2015-01-01 01:36:44,bin5804,35, +CTSPillarNetworkA,5805,5805,5805,1985-11-23,580.2000000000634,580.2054,2015-01-01 01:36:45,bin5805,75, +CTSPillarNetworkA,5806,5806,5806,1985-11-24,580.3000000000634,580.30536,2015-01-01 01:36:46,bin5806,35, +CTSPillarNetworkA,5807,5807,5807,1985-11-25,580.4000000000634,580.40533,2015-01-01 01:36:47,bin5807,75, +CTSPillarNetworkA,5808,5808,5808,1985-11-26,580.5000000000634,580.5053,2015-01-01 01:36:48,bin5808,35, +CTSPillarNetworkA,5809,5809,5809,1985-11-27,580.6000000000635,580.6053,2015-01-01 01:36:49,bin5809,75, +CTSPillarNetworkA,5810,5810,5810,1985-11-28,580.7000000000635,580.70526,2015-01-01 01:36:50,bin5810,35, +CTSPillarNetworkA,5811,5811,5811,1985-11-29,580.8000000000635,580.80524,2015-01-01 01:36:51,bin5811,75, +CTSPillarNetworkA,5812,5812,5812,1985-11-30,580.9000000000635,580.9052,2015-01-01 01:36:52,bin5812,35, +CTSPillarNetworkA,5813,5813,5813,1985-12-01,581.0000000000636,581.0052,2015-01-01 01:36:53,bin5813,75, +CTSPillarNetworkA,5814,5814,5814,1985-12-02,581.1000000000636,581.10516,2015-01-01 01:36:54,bin5814,35, +CTSPillarNetworkA,5815,5815,5815,1985-12-03,581.2000000000636,581.20514,2015-01-01 01:36:55,bin5815,75, +CTSPillarNetworkA,5816,5816,5816,1985-12-04,581.3000000000636,581.3051,2015-01-01 01:36:56,bin5816,35, +CTSPillarNetworkA,5817,5817,5817,1985-12-05,581.4000000000636,581.4051,2015-01-01 01:36:57,bin5817,75, +CTSPillarNetworkA,5818,5818,5818,1985-12-06,581.5000000000637,581.50507,2015-01-01 01:36:58,bin5818,35, +CTSPillarNetworkA,5819,5819,5819,1985-12-07,581.6000000000637,581.60504,2015-01-01 01:36:59,bin5819,75, +CTSPillarNetworkA,5820,5820,5820,1985-12-08,581.7000000000637,581.705,2015-01-01 01:37:00,bin5820,35, +CTSPillarNetworkA,5821,5821,5821,1985-12-09,581.8000000000637,581.805,2015-01-01 01:37:01,bin5821,75, +CTSPillarNetworkA,5822,5822,5822,1985-12-10,581.9000000000638,581.90497,2015-01-01 01:37:02,bin5822,35, +CTSPillarNetworkA,5823,5823,5823,1985-12-11,582.0000000000638,582.00494,2015-01-01 01:37:03,bin5823,75, +CTSPillarNetworkA,5824,5824,5824,1985-12-12,582.1000000000638,582.1049,2015-01-01 01:37:04,bin5824,35, +CTSPillarNetworkA,5825,5825,5825,1985-12-13,582.2000000000638,582.2049,2015-01-01 01:37:05,bin5825,75, +CTSPillarNetworkA,5826,5826,5826,1985-12-14,582.3000000000638,582.3049,2015-01-01 01:37:06,bin5826,35, +CTSPillarNetworkA,5827,5827,5827,1985-12-15,582.4000000000639,582.40485,2015-01-01 01:37:07,bin5827,75, +CTSPillarNetworkA,5828,5828,5828,1985-12-16,582.5000000000639,582.5048,2015-01-01 01:37:08,bin5828,35, +CTSPillarNetworkA,5829,5829,5829,1985-12-17,582.6000000000639,582.6048,2015-01-01 01:37:09,bin5829,75, +CTSPillarNetworkA,5830,5830,5830,1985-12-18,582.7000000000639,582.7048,2015-01-01 01:37:10,bin5830,35, +CTSPillarNetworkA,5831,5831,5831,1985-12-19,582.800000000064,582.80475,2015-01-01 01:37:11,bin5831,75, +CTSPillarNetworkA,5832,5832,5832,1985-12-20,582.900000000064,582.9047,2015-01-01 01:37:12,bin5832,35, +CTSPillarNetworkA,5833,5833,5833,1985-12-21,583.000000000064,583.0047,2015-01-01 01:37:13,bin5833,75, +CTSPillarNetworkA,5834,5834,5834,1985-12-22,583.100000000064,583.1047,2015-01-01 01:37:14,bin5834,35, +CTSPillarNetworkA,5835,5835,5835,1985-12-23,583.200000000064,583.20465,2015-01-01 01:37:15,bin5835,75, +CTSPillarNetworkA,5836,5836,5836,1985-12-24,583.3000000000641,583.3046,2015-01-01 01:37:16,bin5836,35, +CTSPillarNetworkA,5837,5837,5837,1985-12-25,583.4000000000641,583.4046,2015-01-01 01:37:17,bin5837,75, +CTSPillarNetworkA,5838,5838,5838,1985-12-26,583.5000000000641,583.5046,2015-01-01 01:37:18,bin5838,35, +CTSPillarNetworkA,5839,5839,5839,1985-12-27,583.6000000000641,583.60455,2015-01-01 01:37:19,bin5839,75, +CTSPillarNetworkA,5840,5840,5840,1985-12-28,583.7000000000642,583.7045,2015-01-01 01:37:20,bin5840,35, +CTSPillarNetworkA,5841,5841,5841,1985-12-29,583.8000000000642,583.8045,2015-01-01 01:37:21,bin5841,75, +CTSPillarNetworkA,5842,5842,5842,1985-12-30,583.9000000000642,583.9045,2015-01-01 01:37:22,bin5842,35, +CTSPillarNetworkA,5843,5843,5843,1985-12-31,584.0000000000642,584.00446,2015-01-01 01:37:23,bin5843,75, +CTSPillarNetworkA,5844,5844,5844,1986-01-01,584.1000000000643,584.10443,2015-01-01 01:37:24,bin5844,35, +CTSPillarNetworkA,5845,5845,5845,1986-01-02,584.2000000000643,584.2044,2015-01-01 01:37:25,bin5845,75, +CTSPillarNetworkA,5846,5846,5846,1986-01-03,584.3000000000643,584.3044,2015-01-01 01:37:26,bin5846,35, +CTSPillarNetworkA,5847,5847,5847,1986-01-04,584.4000000000643,584.40436,2015-01-01 01:37:27,bin5847,75, +CTSPillarNetworkA,5848,5848,5848,1986-01-05,584.5000000000643,584.50433,2015-01-01 01:37:28,bin5848,35, +CTSPillarNetworkA,5849,5849,5849,1986-01-06,584.6000000000644,584.6043,2015-01-01 01:37:29,bin5849,75, +CTSPillarNetworkA,5850,5850,5850,1986-01-07,584.7000000000644,584.7043,2015-01-01 01:37:30,bin5850,35, +CTSPillarNetworkA,5851,5851,5851,1986-01-08,584.8000000000644,584.80426,2015-01-01 01:37:31,bin5851,75, +CTSPillarNetworkA,5852,5852,5852,1986-01-09,584.9000000000644,584.90424,2015-01-01 01:37:32,bin5852,35, +CTSPillarNetworkA,5853,5853,5853,1986-01-10,585.0000000000645,585.0042,2015-01-01 01:37:33,bin5853,75, +CTSPillarNetworkA,5854,5854,5854,1986-01-11,585.1000000000645,585.1042,2015-01-01 01:37:34,bin5854,35, +CTSPillarNetworkA,5855,5855,5855,1986-01-12,585.2000000000645,585.20416,2015-01-01 01:37:35,bin5855,75, +CTSPillarNetworkA,5856,5856,5856,1986-01-13,585.3000000000645,585.30414,2015-01-01 01:37:36,bin5856,35, +CTSPillarNetworkA,5857,5857,5857,1986-01-14,585.4000000000646,585.4041,2015-01-01 01:37:37,bin5857,75, +CTSPillarNetworkA,5858,5858,5858,1986-01-15,585.5000000000646,585.5041,2015-01-01 01:37:38,bin5858,35, +CTSPillarNetworkA,5859,5859,5859,1986-01-16,585.6000000000646,585.60406,2015-01-01 01:37:39,bin5859,75, +CTSPillarNetworkA,5860,5860,5860,1986-01-17,585.7000000000646,585.70404,2015-01-01 01:37:40,bin5860,35, +CTSPillarNetworkA,5861,5861,5861,1986-01-18,585.8000000000646,585.804,2015-01-01 01:37:41,bin5861,75, +CTSPillarNetworkA,5862,5862,5862,1986-01-19,585.9000000000647,585.904,2015-01-01 01:37:42,bin5862,35, +CTSPillarNetworkA,5863,5863,5863,1986-01-20,586.0000000000647,586.00397,2015-01-01 01:37:43,bin5863,75, +CTSPillarNetworkA,5864,5864,5864,1986-01-21,586.1000000000647,586.10394,2015-01-01 01:37:44,bin5864,35, +CTSPillarNetworkA,5865,5865,5865,1986-01-22,586.2000000000647,586.2039,2015-01-01 01:37:45,bin5865,75, +CTSPillarNetworkA,5866,5866,5866,1986-01-23,586.3000000000648,586.3039,2015-01-01 01:37:46,bin5866,35, +CTSPillarNetworkA,5867,5867,5867,1986-01-24,586.4000000000648,586.4039,2015-01-01 01:37:47,bin5867,75, +CTSPillarNetworkA,5868,5868,5868,1986-01-25,586.5000000000648,586.50385,2015-01-01 01:37:48,bin5868,35, +CTSPillarNetworkA,5869,5869,5869,1986-01-26,586.6000000000648,586.6038,2015-01-01 01:37:49,bin5869,75, +CTSPillarNetworkA,5870,5870,5870,1986-01-27,586.7000000000648,586.7038,2015-01-01 01:37:50,bin5870,35, +CTSPillarNetworkA,5871,5871,5871,1986-01-28,586.8000000000649,586.8038,2015-01-01 01:37:51,bin5871,75, +CTSPillarNetworkA,5872,5872,5872,1986-01-29,586.9000000000649,586.90375,2015-01-01 01:37:52,bin5872,35, +CTSPillarNetworkA,5873,5873,5873,1986-01-30,587.0000000000649,587.0037,2015-01-01 01:37:53,bin5873,75, +CTSPillarNetworkA,5874,5874,5874,1986-01-31,587.1000000000649,587.1037,2015-01-01 01:37:54,bin5874,35, +CTSPillarNetworkA,5875,5875,5875,1986-02-01,587.200000000065,587.2037,2015-01-01 01:37:55,bin5875,75, +CTSPillarNetworkA,5876,5876,5876,1986-02-02,587.300000000065,587.30365,2015-01-01 01:37:56,bin5876,35, +CTSPillarNetworkA,5877,5877,5877,1986-02-03,587.400000000065,587.4036,2015-01-01 01:37:57,bin5877,75, +CTSPillarNetworkA,5878,5878,5878,1986-02-04,587.500000000065,587.5036,2015-01-01 01:37:58,bin5878,35, +CTSPillarNetworkA,5879,5879,5879,1986-02-05,587.600000000065,587.6036,2015-01-01 01:37:59,bin5879,75, +CTSPillarNetworkA,5880,5880,5880,1986-02-06,587.7000000000651,587.70355,2015-01-01 01:38:00,bin5880,35, +CTSPillarNetworkA,5881,5881,5881,1986-02-07,587.8000000000651,587.8035,2015-01-01 01:38:01,bin5881,75, +CTSPillarNetworkA,5882,5882,5882,1986-02-08,587.9000000000651,587.9035,2015-01-01 01:38:02,bin5882,35, +CTSPillarNetworkA,5883,5883,5883,1986-02-09,588.0000000000651,588.0035,2015-01-01 01:38:03,bin5883,75, +CTSPillarNetworkA,5884,5884,5884,1986-02-10,588.1000000000652,588.10345,2015-01-01 01:38:04,bin5884,35, +CTSPillarNetworkA,5885,5885,5885,1986-02-11,588.2000000000652,588.2034,2015-01-01 01:38:05,bin5885,75, +CTSPillarNetworkA,5886,5886,5886,1986-02-12,588.3000000000652,588.3034,2015-01-01 01:38:06,bin5886,35, +CTSPillarNetworkA,5887,5887,5887,1986-02-13,588.4000000000652,588.4034,2015-01-01 01:38:07,bin5887,75, +CTSPillarNetworkA,5888,5888,5888,1986-02-14,588.5000000000653,588.50336,2015-01-01 01:38:08,bin5888,35, +CTSPillarNetworkA,5889,5889,5889,1986-02-15,588.6000000000653,588.60333,2015-01-01 01:38:09,bin5889,75, +CTSPillarNetworkA,5890,5890,5890,1986-02-16,588.7000000000653,588.7033,2015-01-01 01:38:10,bin5890,35, +CTSPillarNetworkA,5891,5891,5891,1986-02-17,588.8000000000653,588.8033,2015-01-01 01:38:11,bin5891,75, +CTSPillarNetworkA,5892,5892,5892,1986-02-18,588.9000000000653,588.90326,2015-01-01 01:38:12,bin5892,35, +CTSPillarNetworkA,5893,5893,5893,1986-02-19,589.0000000000654,589.00323,2015-01-01 01:38:13,bin5893,75, +CTSPillarNetworkA,5894,5894,5894,1986-02-20,589.1000000000654,589.1032,2015-01-01 01:38:14,bin5894,35, +CTSPillarNetworkA,5895,5895,5895,1986-02-21,589.2000000000654,589.2032,2015-01-01 01:38:15,bin5895,75, +CTSPillarNetworkA,5896,5896,5896,1986-02-22,589.3000000000654,589.30316,2015-01-01 01:38:16,bin5896,35, +CTSPillarNetworkA,5897,5897,5897,1986-02-23,589.4000000000655,589.40314,2015-01-01 01:38:17,bin5897,75, +CTSPillarNetworkA,5898,5898,5898,1986-02-24,589.5000000000655,589.5031,2015-01-01 01:38:18,bin5898,35, +CTSPillarNetworkA,5899,5899,5899,1986-02-25,589.6000000000655,589.6031,2015-01-01 01:38:19,bin5899,75, +CTSPillarNetworkA,5900,5900,5900,1986-02-26,589.7000000000655,589.70306,2015-01-01 01:38:20,bin5900,35, +CTSPillarNetworkA,5901,5901,5901,1986-02-27,589.8000000000656,589.80304,2015-01-01 01:38:21,bin5901,75, +CTSPillarNetworkA,5902,5902,5902,1986-02-28,589.9000000000656,589.903,2015-01-01 01:38:22,bin5902,35, +CTSPillarNetworkA,5903,5903,5903,1986-03-01,590.0000000000656,590.003,2015-01-01 01:38:23,bin5903,75, +CTSPillarNetworkA,5904,5904,5904,1986-03-02,590.1000000000656,590.10297,2015-01-01 01:38:24,bin5904,35, +CTSPillarNetworkA,5905,5905,5905,1986-03-03,590.2000000000656,590.20294,2015-01-01 01:38:25,bin5905,75, +CTSPillarNetworkA,5906,5906,5906,1986-03-04,590.3000000000657,590.3029,2015-01-01 01:38:26,bin5906,35, +CTSPillarNetworkA,5907,5907,5907,1986-03-05,590.4000000000657,590.4029,2015-01-01 01:38:27,bin5907,75, +CTSPillarNetworkA,5908,5908,5908,1986-03-06,590.5000000000657,590.50287,2015-01-01 01:38:28,bin5908,35, +CTSPillarNetworkA,5909,5909,5909,1986-03-07,590.6000000000657,590.60284,2015-01-01 01:38:29,bin5909,75, +CTSPillarNetworkA,5910,5910,5910,1986-03-08,590.7000000000658,590.7028,2015-01-01 01:38:30,bin5910,35, +CTSPillarNetworkA,5911,5911,5911,1986-03-09,590.8000000000658,590.8028,2015-01-01 01:38:31,bin5911,75, +CTSPillarNetworkA,5912,5912,5912,1986-03-10,590.9000000000658,590.9028,2015-01-01 01:38:32,bin5912,35, +CTSPillarNetworkA,5913,5913,5913,1986-03-11,591.0000000000658,591.00275,2015-01-01 01:38:33,bin5913,75, +CTSPillarNetworkA,5914,5914,5914,1986-03-12,591.1000000000658,591.1027,2015-01-01 01:38:34,bin5914,35, +CTSPillarNetworkA,5915,5915,5915,1986-03-13,591.2000000000659,591.2027,2015-01-01 01:38:35,bin5915,75, +CTSPillarNetworkA,5916,5916,5916,1986-03-14,591.3000000000659,591.3027,2015-01-01 01:38:36,bin5916,35, +CTSPillarNetworkA,5917,5917,5917,1986-03-15,591.4000000000659,591.40265,2015-01-01 01:38:37,bin5917,75, +CTSPillarNetworkA,5918,5918,5918,1986-03-16,591.5000000000659,591.5026,2015-01-01 01:38:38,bin5918,35, +CTSPillarNetworkA,5919,5919,5919,1986-03-17,591.600000000066,591.6026,2015-01-01 01:38:39,bin5919,75, +CTSPillarNetworkA,5920,5920,5920,1986-03-18,591.700000000066,591.7026,2015-01-01 01:38:40,bin5920,35, +CTSPillarNetworkA,5921,5921,5921,1986-03-19,591.800000000066,591.80255,2015-01-01 01:38:41,bin5921,75, +CTSPillarNetworkA,5922,5922,5922,1986-03-20,591.900000000066,591.9025,2015-01-01 01:38:42,bin5922,35, +CTSPillarNetworkA,5923,5923,5923,1986-03-21,592.000000000066,592.0025,2015-01-01 01:38:43,bin5923,75, +CTSPillarNetworkA,5924,5924,5924,1986-03-22,592.1000000000661,592.1025,2015-01-01 01:38:44,bin5924,35, +CTSPillarNetworkA,5925,5925,5925,1986-03-23,592.2000000000661,592.20245,2015-01-01 01:38:45,bin5925,75, +CTSPillarNetworkA,5926,5926,5926,1986-03-24,592.3000000000661,592.3024,2015-01-01 01:38:46,bin5926,35, +CTSPillarNetworkA,5927,5927,5927,1986-03-25,592.4000000000661,592.4024,2015-01-01 01:38:47,bin5927,75, +CTSPillarNetworkA,5928,5928,5928,1986-03-26,592.5000000000662,592.5024,2015-01-01 01:38:48,bin5928,35, +CTSPillarNetworkA,5929,5929,5929,1986-03-27,592.6000000000662,592.60236,2015-01-01 01:38:49,bin5929,75, +CTSPillarNetworkA,5930,5930,5930,1986-03-28,592.7000000000662,592.70233,2015-01-01 01:38:50,bin5930,35, +CTSPillarNetworkA,5931,5931,5931,1986-03-29,592.8000000000662,592.8023,2015-01-01 01:38:51,bin5931,75, +CTSPillarNetworkA,5932,5932,5932,1986-03-30,592.9000000000663,592.9023,2015-01-01 01:38:52,bin5932,35, +CTSPillarNetworkA,5933,5933,5933,1986-03-31,593.0000000000663,593.00226,2015-01-01 01:38:53,bin5933,75, +CTSPillarNetworkA,5934,5934,5934,1986-04-01,593.1000000000663,593.10223,2015-01-01 01:38:54,bin5934,35, +CTSPillarNetworkA,5935,5935,5935,1986-04-02,593.2000000000663,593.2022,2015-01-01 01:38:55,bin5935,75, +CTSPillarNetworkA,5936,5936,5936,1986-04-03,593.3000000000663,593.3022,2015-01-01 01:38:56,bin5936,35, +CTSPillarNetworkA,5937,5937,5937,1986-04-04,593.4000000000664,593.40216,2015-01-01 01:38:57,bin5937,75, +CTSPillarNetworkA,5938,5938,5938,1986-04-05,593.5000000000664,593.50214,2015-01-01 01:38:58,bin5938,35, +CTSPillarNetworkA,5939,5939,5939,1986-04-06,593.6000000000664,593.6021,2015-01-01 01:38:59,bin5939,75, +CTSPillarNetworkA,5940,5940,5940,1986-04-07,593.7000000000664,593.7021,2015-01-01 01:39:00,bin5940,35, +CTSPillarNetworkA,5941,5941,5941,1986-04-08,593.8000000000665,593.80206,2015-01-01 01:39:01,bin5941,75, +CTSPillarNetworkA,5942,5942,5942,1986-04-09,593.9000000000665,593.90204,2015-01-01 01:39:02,bin5942,35, +CTSPillarNetworkA,5943,5943,5943,1986-04-10,594.0000000000665,594.002,2015-01-01 01:39:03,bin5943,75, +CTSPillarNetworkA,5944,5944,5944,1986-04-11,594.1000000000665,594.102,2015-01-01 01:39:04,bin5944,35, +CTSPillarNetworkA,5945,5945,5945,1986-04-12,594.2000000000666,594.20197,2015-01-01 01:39:05,bin5945,75, +CTSPillarNetworkA,5946,5946,5946,1986-04-13,594.3000000000666,594.30194,2015-01-01 01:39:06,bin5946,35, +CTSPillarNetworkA,5947,5947,5947,1986-04-14,594.4000000000666,594.4019,2015-01-01 01:39:07,bin5947,75, +CTSPillarNetworkA,5948,5948,5948,1986-04-15,594.5000000000666,594.5019,2015-01-01 01:39:08,bin5948,35, +CTSPillarNetworkA,5949,5949,5949,1986-04-16,594.6000000000666,594.60187,2015-01-01 01:39:09,bin5949,75, +CTSPillarNetworkA,5950,5950,5950,1986-04-17,594.7000000000667,594.70184,2015-01-01 01:39:10,bin5950,35, +CTSPillarNetworkA,5951,5951,5951,1986-04-18,594.8000000000667,594.8018,2015-01-01 01:39:11,bin5951,75, +CTSPillarNetworkA,5952,5952,5952,1986-04-19,594.9000000000667,594.9018,2015-01-01 01:39:12,bin5952,35, +CTSPillarNetworkA,5953,5953,5953,1986-04-20,595.0000000000667,595.0018,2015-01-01 01:39:13,bin5953,75, +CTSPillarNetworkA,5954,5954,5954,1986-04-21,595.1000000000668,595.10175,2015-01-01 01:39:14,bin5954,35, +CTSPillarNetworkA,5955,5955,5955,1986-04-22,595.2000000000668,595.2017,2015-01-01 01:39:15,bin5955,75, +CTSPillarNetworkA,5956,5956,5956,1986-04-23,595.3000000000668,595.3017,2015-01-01 01:39:16,bin5956,35, +CTSPillarNetworkA,5957,5957,5957,1986-04-24,595.4000000000668,595.4017,2015-01-01 01:39:17,bin5957,75, +CTSPillarNetworkA,5958,5958,5958,1986-04-25,595.5000000000668,595.50165,2015-01-01 01:39:18,bin5958,35, +CTSPillarNetworkA,5959,5959,5959,1986-04-26,595.6000000000669,595.6016,2015-01-01 01:39:19,bin5959,75, +CTSPillarNetworkA,5960,5960,5960,1986-04-27,595.7000000000669,595.7016,2015-01-01 01:39:20,bin5960,35, +CTSPillarNetworkA,5961,5961,5961,1986-04-28,595.8000000000669,595.8016,2015-01-01 01:39:21,bin5961,75, +CTSPillarNetworkA,5962,5962,5962,1986-04-29,595.9000000000669,595.90155,2015-01-01 01:39:22,bin5962,35, +CTSPillarNetworkA,5963,5963,5963,1986-04-30,596.000000000067,596.0015,2015-01-01 01:39:23,bin5963,75, +CTSPillarNetworkA,5964,5964,5964,1986-05-01,596.100000000067,596.1015,2015-01-01 01:39:24,bin5964,35, +CTSPillarNetworkA,5965,5965,5965,1986-05-02,596.200000000067,596.2015,2015-01-01 01:39:25,bin5965,75, +CTSPillarNetworkA,5966,5966,5966,1986-05-03,596.300000000067,596.30145,2015-01-01 01:39:26,bin5966,35, +CTSPillarNetworkA,5967,5967,5967,1986-05-04,596.400000000067,596.4014,2015-01-01 01:39:27,bin5967,75, +CTSPillarNetworkA,5968,5968,5968,1986-05-05,596.5000000000671,596.5014,2015-01-01 01:39:28,bin5968,35, +CTSPillarNetworkA,5969,5969,5969,1986-05-06,596.6000000000671,596.6014,2015-01-01 01:39:29,bin5969,75, +CTSPillarNetworkA,5970,5970,5970,1986-05-07,596.7000000000671,596.70135,2015-01-01 01:39:30,bin5970,35, +CTSPillarNetworkA,5971,5971,5971,1986-05-08,596.8000000000671,596.80133,2015-01-01 01:39:31,bin5971,75, +CTSPillarNetworkA,5972,5972,5972,1986-05-09,596.9000000000672,596.9013,2015-01-01 01:39:32,bin5972,35, +CTSPillarNetworkA,5973,5973,5973,1986-05-10,597.0000000000672,597.0013,2015-01-01 01:39:33,bin5973,75, +CTSPillarNetworkA,5974,5974,5974,1986-05-11,597.1000000000672,597.10126,2015-01-01 01:39:34,bin5974,35, +CTSPillarNetworkA,5975,5975,5975,1986-05-12,597.2000000000672,597.20123,2015-01-01 01:39:35,bin5975,75, +CTSPillarNetworkA,5976,5976,5976,1986-05-13,597.3000000000673,597.3012,2015-01-01 01:39:36,bin5976,35, +CTSPillarNetworkA,5977,5977,5977,1986-05-14,597.4000000000673,597.4012,2015-01-01 01:39:37,bin5977,75, +CTSPillarNetworkA,5978,5978,5978,1986-05-15,597.5000000000673,597.50116,2015-01-01 01:39:38,bin5978,35, +CTSPillarNetworkA,5979,5979,5979,1986-05-16,597.6000000000673,597.60114,2015-01-01 01:39:39,bin5979,75, +CTSPillarNetworkA,5980,5980,5980,1986-05-17,597.7000000000673,597.7011,2015-01-01 01:39:40,bin5980,35, +CTSPillarNetworkA,5981,5981,5981,1986-05-18,597.8000000000674,597.8011,2015-01-01 01:39:41,bin5981,75, +CTSPillarNetworkA,5982,5982,5982,1986-05-19,597.9000000000674,597.90106,2015-01-01 01:39:42,bin5982,35, +CTSPillarNetworkA,5983,5983,5983,1986-05-20,598.0000000000674,598.00104,2015-01-01 01:39:43,bin5983,75, +CTSPillarNetworkA,5984,5984,5984,1986-05-21,598.1000000000674,598.101,2015-01-01 01:39:44,bin5984,35, +CTSPillarNetworkA,5985,5985,5985,1986-05-22,598.2000000000675,598.201,2015-01-01 01:39:45,bin5985,75, +CTSPillarNetworkA,5986,5986,5986,1986-05-23,598.3000000000675,598.30096,2015-01-01 01:39:46,bin5986,35, +CTSPillarNetworkA,5987,5987,5987,1986-05-24,598.4000000000675,598.40094,2015-01-01 01:39:47,bin5987,75, +CTSPillarNetworkA,5988,5988,5988,1986-05-25,598.5000000000675,598.5009,2015-01-01 01:39:48,bin5988,35, +CTSPillarNetworkA,5989,5989,5989,1986-05-26,598.6000000000676,598.6009,2015-01-01 01:39:49,bin5989,75, +CTSPillarNetworkA,5990,5990,5990,1986-05-27,598.7000000000676,598.70087,2015-01-01 01:39:50,bin5990,35, +CTSPillarNetworkA,5991,5991,5991,1986-05-28,598.8000000000676,598.80084,2015-01-01 01:39:51,bin5991,75, +CTSPillarNetworkA,5992,5992,5992,1986-05-29,598.9000000000676,598.9008,2015-01-01 01:39:52,bin5992,35, +CTSPillarNetworkA,5993,5993,5993,1986-05-30,599.0000000000676,599.0008,2015-01-01 01:39:53,bin5993,75, +CTSPillarNetworkA,5994,5994,5994,1986-05-31,599.1000000000677,599.10077,2015-01-01 01:39:54,bin5994,35, +CTSPillarNetworkA,5995,5995,5995,1986-06-01,599.2000000000677,599.20074,2015-01-01 01:39:55,bin5995,75, +CTSPillarNetworkA,5996,5996,5996,1986-06-02,599.3000000000677,599.3007,2015-01-01 01:39:56,bin5996,35, +CTSPillarNetworkA,5997,5997,5997,1986-06-03,599.4000000000677,599.4007,2015-01-01 01:39:57,bin5997,75, +CTSPillarNetworkA,5998,5998,5998,1986-06-04,599.5000000000678,599.5007,2015-01-01 01:39:58,bin5998,35, +CTSPillarNetworkA,5999,5999,5999,1986-06-05,599.6000000000678,599.60065,2015-01-01 01:39:59,bin5999,75, +CTSPillarNetworkA,6000,6000,6000,1986-06-06,599.7000000000678,599.7006,2015-01-01 01:40:00,bin6000,35, +CTSPillarNetworkA,6001,6001,6001,1986-06-07,599.8000000000678,599.8006,2015-01-01 01:40:01,bin6001,75, +CTSPillarNetworkA,6002,6002,6002,1986-06-08,599.9000000000678,599.9006,2015-01-01 01:40:02,bin6002,35, +CTSPillarNetworkA,6003,6003,6003,1986-06-09,600.0000000000679,600.00055,2015-01-01 01:40:03,bin6003,75, +CTSPillarNetworkA,6004,6004,6004,1986-06-10,600.1000000000679,600.1005,2015-01-01 01:40:04,bin6004,35, +CTSPillarNetworkA,6005,6005,6005,1986-06-11,600.2000000000679,600.2005,2015-01-01 01:40:05,bin6005,75, +CTSPillarNetworkA,6006,6006,6006,1986-06-12,600.3000000000679,600.3005,2015-01-01 01:40:06,bin6006,35, +CTSPillarNetworkA,6007,6007,6007,1986-06-13,600.400000000068,600.40045,2015-01-01 01:40:07,bin6007,75, +CTSPillarNetworkA,6008,6008,6008,1986-06-14,600.500000000068,600.5004,2015-01-01 01:40:08,bin6008,35, +CTSPillarNetworkA,6009,6009,6009,1986-06-15,600.600000000068,600.6004,2015-01-01 01:40:09,bin6009,75, +CTSPillarNetworkA,6010,6010,6010,1986-06-16,600.700000000068,600.7004,2015-01-01 01:40:10,bin6010,35, +CTSPillarNetworkA,6011,6011,6011,1986-06-17,600.800000000068,600.80035,2015-01-01 01:40:11,bin6011,75, +CTSPillarNetworkA,6012,6012,6012,1986-06-18,600.9000000000681,600.9003,2015-01-01 01:40:12,bin6012,35, +CTSPillarNetworkA,6013,6013,6013,1986-06-19,601.0000000000681,601.0003,2015-01-01 01:40:13,bin6013,75, +CTSPillarNetworkA,6014,6014,6014,1986-06-20,601.1000000000681,601.1003,2015-01-01 01:40:14,bin6014,35, +CTSPillarNetworkA,6015,6015,6015,1986-06-21,601.2000000000681,601.20026,2015-01-01 01:40:15,bin6015,75, +CTSPillarNetworkA,6016,6016,6016,1986-06-22,601.3000000000682,601.30023,2015-01-01 01:40:16,bin6016,35, +CTSPillarNetworkA,6017,6017,6017,1986-06-23,601.4000000000682,601.4002,2015-01-01 01:40:17,bin6017,75, +CTSPillarNetworkA,6018,6018,6018,1986-06-24,601.5000000000682,601.5002,2015-01-01 01:40:18,bin6018,35, +CTSPillarNetworkA,6019,6019,6019,1986-06-25,601.6000000000682,601.60016,2015-01-01 01:40:19,bin6019,75, +CTSPillarNetworkA,6020,6020,6020,1986-06-26,601.7000000000683,601.70013,2015-01-01 01:40:20,bin6020,35, +CTSPillarNetworkA,6021,6021,6021,1986-06-27,601.8000000000683,601.8001,2015-01-01 01:40:21,bin6021,75, +CTSPillarNetworkA,6022,6022,6022,1986-06-28,601.9000000000683,601.9001,2015-01-01 01:40:22,bin6022,35, +CTSPillarNetworkA,6023,6023,6023,1986-06-29,602.0000000000683,602.00006,2015-01-01 01:40:23,bin6023,75, +CTSPillarNetworkA,6024,6024,6024,1986-06-30,602.1000000000683,602.10004,2015-01-01 01:40:24,bin6024,35, +CTSPillarNetworkA,6025,6025,6025,1986-07-01,602.2000000000684,602.2,2015-01-01 01:40:25,bin6025,75, +CTSPillarNetworkA,6026,6026,6026,1986-07-02,602.3000000000684,602.3,2015-01-01 01:40:26,bin6026,35, +CTSPillarNetworkA,6027,6027,6027,1986-07-03,602.4000000000684,602.39996,2015-01-01 01:40:27,bin6027,75, +CTSPillarNetworkA,6028,6028,6028,1986-07-04,602.5000000000684,602.49994,2015-01-01 01:40:28,bin6028,35, +CTSPillarNetworkA,6029,6029,6029,1986-07-05,602.6000000000685,602.5999,2015-01-01 01:40:29,bin6029,75, +CTSPillarNetworkA,6030,6030,6030,1986-07-06,602.7000000000685,602.6999,2015-01-01 01:40:30,bin6030,35, +CTSPillarNetworkA,6031,6031,6031,1986-07-07,602.8000000000685,602.79987,2015-01-01 01:40:31,bin6031,75, +CTSPillarNetworkA,6032,6032,6032,1986-07-08,602.9000000000685,602.89984,2015-01-01 01:40:32,bin6032,35, +CTSPillarNetworkA,6033,6033,6033,1986-07-09,603.0000000000686,602.9998,2015-01-01 01:40:33,bin6033,75, +CTSPillarNetworkA,6034,6034,6034,1986-07-10,603.1000000000686,603.0998,2015-01-01 01:40:34,bin6034,35, +CTSPillarNetworkA,6035,6035,6035,1986-07-11,603.2000000000686,603.19977,2015-01-01 01:40:35,bin6035,75, +CTSPillarNetworkA,6036,6036,6036,1986-07-12,603.3000000000686,603.29974,2015-01-01 01:40:36,bin6036,35, +CTSPillarNetworkA,6037,6037,6037,1986-07-13,603.4000000000686,603.3997,2015-01-01 01:40:37,bin6037,75, +CTSPillarNetworkA,6038,6038,6038,1986-07-14,603.5000000000687,603.4997,2015-01-01 01:40:38,bin6038,35, +CTSPillarNetworkA,6039,6039,6039,1986-07-15,603.6000000000687,603.5997,2015-01-01 01:40:39,bin6039,75, +CTSPillarNetworkA,6040,6040,6040,1986-07-16,603.7000000000687,603.69965,2015-01-01 01:40:40,bin6040,35, +CTSPillarNetworkA,6041,6041,6041,1986-07-17,603.8000000000687,603.7996,2015-01-01 01:40:41,bin6041,75, +CTSPillarNetworkA,6042,6042,6042,1986-07-18,603.9000000000688,603.8996,2015-01-01 01:40:42,bin6042,35, +CTSPillarNetworkA,6043,6043,6043,1986-07-19,604.0000000000688,603.9996,2015-01-01 01:40:43,bin6043,75, +CTSPillarNetworkA,6044,6044,6044,1986-07-20,604.1000000000688,604.09955,2015-01-01 01:40:44,bin6044,35, +CTSPillarNetworkA,6045,6045,6045,1986-07-21,604.2000000000688,604.1995,2015-01-01 01:40:45,bin6045,75, +CTSPillarNetworkA,6046,6046,6046,1986-07-22,604.3000000000688,604.2995,2015-01-01 01:40:46,bin6046,35, +CTSPillarNetworkA,6047,6047,6047,1986-07-23,604.4000000000689,604.3995,2015-01-01 01:40:47,bin6047,75, +CTSPillarNetworkA,6048,6048,6048,1986-07-24,604.5000000000689,604.49945,2015-01-01 01:40:48,bin6048,35, +CTSPillarNetworkA,6049,6049,6049,1986-07-25,604.6000000000689,604.5994,2015-01-01 01:40:49,bin6049,75, +CTSPillarNetworkA,6050,6050,6050,1986-07-26,604.7000000000689,604.6994,2015-01-01 01:40:50,bin6050,35, +CTSPillarNetworkA,6051,6051,6051,1986-07-27,604.800000000069,604.7994,2015-01-01 01:40:51,bin6051,75, +CTSPillarNetworkA,6052,6052,6052,1986-07-28,604.900000000069,604.89935,2015-01-01 01:40:52,bin6052,35, +CTSPillarNetworkA,6053,6053,6053,1986-07-29,605.000000000069,604.9993,2015-01-01 01:40:53,bin6053,75, +CTSPillarNetworkA,6054,6054,6054,1986-07-30,605.100000000069,605.0993,2015-01-01 01:40:54,bin6054,35, +CTSPillarNetworkA,6055,6055,6055,1986-07-31,605.200000000069,605.1993,2015-01-01 01:40:55,bin6055,75, +CTSPillarNetworkA,6056,6056,6056,1986-08-01,605.3000000000691,605.29926,2015-01-01 01:40:56,bin6056,35, +CTSPillarNetworkA,6057,6057,6057,1986-08-02,605.4000000000691,605.39923,2015-01-01 01:40:57,bin6057,75, +CTSPillarNetworkA,6058,6058,6058,1986-08-03,605.5000000000691,605.4992,2015-01-01 01:40:58,bin6058,35, +CTSPillarNetworkA,6059,6059,6059,1986-08-04,605.6000000000691,605.5992,2015-01-01 01:40:59,bin6059,75, +CTSPillarNetworkA,6060,6060,6060,1986-08-05,605.7000000000692,605.69916,2015-01-01 01:41:00,bin6060,35, +CTSPillarNetworkA,6061,6061,6061,1986-08-06,605.8000000000692,605.79913,2015-01-01 01:41:01,bin6061,75, +CTSPillarNetworkA,6062,6062,6062,1986-08-07,605.9000000000692,605.8991,2015-01-01 01:41:02,bin6062,35, +CTSPillarNetworkA,6063,6063,6063,1986-08-08,606.0000000000692,605.9991,2015-01-01 01:41:03,bin6063,75, +CTSPillarNetworkA,6064,6064,6064,1986-08-09,606.1000000000693,606.09906,2015-01-01 01:41:04,bin6064,35, +CTSPillarNetworkA,6065,6065,6065,1986-08-10,606.2000000000693,606.19904,2015-01-01 01:41:05,bin6065,75, +CTSPillarNetworkA,6066,6066,6066,1986-08-11,606.3000000000693,606.299,2015-01-01 01:41:06,bin6066,35, +CTSPillarNetworkA,6067,6067,6067,1986-08-12,606.4000000000693,606.399,2015-01-01 01:41:07,bin6067,75, +CTSPillarNetworkA,6068,6068,6068,1986-08-13,606.5000000000693,606.49896,2015-01-01 01:41:08,bin6068,35, +CTSPillarNetworkA,6069,6069,6069,1986-08-14,606.6000000000694,606.59894,2015-01-01 01:41:09,bin6069,75, +CTSPillarNetworkA,6070,6070,6070,1986-08-15,606.7000000000694,606.6989,2015-01-01 01:41:10,bin6070,35, +CTSPillarNetworkA,6071,6071,6071,1986-08-16,606.8000000000694,606.7989,2015-01-01 01:41:11,bin6071,75, +CTSPillarNetworkA,6072,6072,6072,1986-08-17,606.9000000000694,606.89886,2015-01-01 01:41:12,bin6072,35, +CTSPillarNetworkA,6073,6073,6073,1986-08-18,607.0000000000695,606.99884,2015-01-01 01:41:13,bin6073,75, +CTSPillarNetworkA,6074,6074,6074,1986-08-19,607.1000000000695,607.0988,2015-01-01 01:41:14,bin6074,35, +CTSPillarNetworkA,6075,6075,6075,1986-08-20,607.2000000000695,607.1988,2015-01-01 01:41:15,bin6075,75, +CTSPillarNetworkA,6076,6076,6076,1986-08-21,607.3000000000695,607.29877,2015-01-01 01:41:16,bin6076,35, +CTSPillarNetworkA,6077,6077,6077,1986-08-22,607.4000000000696,607.39874,2015-01-01 01:41:17,bin6077,75, +CTSPillarNetworkA,6078,6078,6078,1986-08-23,607.5000000000696,607.4987,2015-01-01 01:41:18,bin6078,35, +CTSPillarNetworkA,6079,6079,6079,1986-08-24,607.6000000000696,607.5987,2015-01-01 01:41:19,bin6079,75, +CTSPillarNetworkA,6080,6080,6080,1986-08-25,607.7000000000696,607.69867,2015-01-01 01:41:20,bin6080,35, +CTSPillarNetworkA,6081,6081,6081,1986-08-26,607.8000000000696,607.79865,2015-01-01 01:41:21,bin6081,75, +CTSPillarNetworkA,6082,6082,6082,1986-08-27,607.9000000000697,607.8986,2015-01-01 01:41:22,bin6082,35, +CTSPillarNetworkA,6083,6083,6083,1986-08-28,608.0000000000697,607.9986,2015-01-01 01:41:23,bin6083,75, +CTSPillarNetworkA,6084,6084,6084,1986-08-29,608.1000000000697,608.0986,2015-01-01 01:41:24,bin6084,35, +CTSPillarNetworkA,6085,6085,6085,1986-08-30,608.2000000000697,608.19855,2015-01-01 01:41:25,bin6085,75, +CTSPillarNetworkA,6086,6086,6086,1986-08-31,608.3000000000698,608.2985,2015-01-01 01:41:26,bin6086,35, +CTSPillarNetworkA,6087,6087,6087,1986-09-01,608.4000000000698,608.3985,2015-01-01 01:41:27,bin6087,75, +CTSPillarNetworkA,6088,6088,6088,1986-09-02,608.5000000000698,608.4985,2015-01-01 01:41:28,bin6088,35, +CTSPillarNetworkA,6089,6089,6089,1986-09-03,608.6000000000698,608.59845,2015-01-01 01:41:29,bin6089,75, +CTSPillarNetworkA,6090,6090,6090,1986-09-04,608.7000000000698,608.6984,2015-01-01 01:41:30,bin6090,35, +CTSPillarNetworkA,6091,6091,6091,1986-09-05,608.8000000000699,608.7984,2015-01-01 01:41:31,bin6091,75, +CTSPillarNetworkA,6092,6092,6092,1986-09-06,608.9000000000699,608.8984,2015-01-01 01:41:32,bin6092,35, +CTSPillarNetworkA,6093,6093,6093,1986-09-07,609.0000000000699,608.99835,2015-01-01 01:41:33,bin6093,75, +CTSPillarNetworkA,6094,6094,6094,1986-09-08,609.1000000000699,609.0983,2015-01-01 01:41:34,bin6094,35, +CTSPillarNetworkA,6095,6095,6095,1986-09-09,609.20000000007,609.1983,2015-01-01 01:41:35,bin6095,75, +CTSPillarNetworkA,6096,6096,6096,1986-09-10,609.30000000007,609.2983,2015-01-01 01:41:36,bin6096,35, +CTSPillarNetworkA,6097,6097,6097,1986-09-11,609.40000000007,609.39825,2015-01-01 01:41:37,bin6097,75, +CTSPillarNetworkA,6098,6098,6098,1986-09-12,609.50000000007,609.4982,2015-01-01 01:41:38,bin6098,35, +CTSPillarNetworkA,6099,6099,6099,1986-09-13,609.60000000007,609.5982,2015-01-01 01:41:39,bin6099,75, +CTSPillarNetworkA,6100,6100,6100,1986-09-14,609.7000000000701,609.6982,2015-01-01 01:41:40,bin6100,35, +CTSPillarNetworkA,6101,6101,6101,1986-09-15,609.8000000000701,609.79816,2015-01-01 01:41:41,bin6101,75, +CTSPillarNetworkA,6102,6102,6102,1986-09-16,609.9000000000701,609.89813,2015-01-01 01:41:42,bin6102,35, +CTSPillarNetworkA,6103,6103,6103,1986-09-17,610.0000000000701,609.9981,2015-01-01 01:41:43,bin6103,75, +CTSPillarNetworkA,6104,6104,6104,1986-09-18,610.1000000000702,610.0981,2015-01-01 01:41:44,bin6104,35, +CTSPillarNetworkA,6105,6105,6105,1986-09-19,610.2000000000702,610.19806,2015-01-01 01:41:45,bin6105,75, +CTSPillarNetworkA,6106,6106,6106,1986-09-20,610.3000000000702,610.29803,2015-01-01 01:41:46,bin6106,35, +CTSPillarNetworkA,6107,6107,6107,1986-09-21,610.4000000000702,610.398,2015-01-01 01:41:47,bin6107,75, +CTSPillarNetworkA,6108,6108,6108,1986-09-22,610.5000000000703,610.498,2015-01-01 01:41:48,bin6108,35, +CTSPillarNetworkA,6109,6109,6109,1986-09-23,610.6000000000703,610.59796,2015-01-01 01:41:49,bin6109,75, +CTSPillarNetworkA,6110,6110,6110,1986-09-24,610.7000000000703,610.69794,2015-01-01 01:41:50,bin6110,35, +CTSPillarNetworkA,6111,6111,6111,1986-09-25,610.8000000000703,610.7979,2015-01-01 01:41:51,bin6111,75, +CTSPillarNetworkA,6112,6112,6112,1986-09-26,610.9000000000703,610.8979,2015-01-01 01:41:52,bin6112,35, +CTSPillarNetworkA,6113,6113,6113,1986-09-27,611.0000000000704,610.99786,2015-01-01 01:41:53,bin6113,75, +CTSPillarNetworkA,6114,6114,6114,1986-09-28,611.1000000000704,611.09784,2015-01-01 01:41:54,bin6114,35, +CTSPillarNetworkA,6115,6115,6115,1986-09-29,611.2000000000704,611.1978,2015-01-01 01:41:55,bin6115,75, +CTSPillarNetworkA,6116,6116,6116,1986-09-30,611.3000000000704,611.2978,2015-01-01 01:41:56,bin6116,35, +CTSPillarNetworkA,6117,6117,6117,1986-10-01,611.4000000000705,611.39777,2015-01-01 01:41:57,bin6117,75, +CTSPillarNetworkA,6118,6118,6118,1986-10-02,611.5000000000705,611.49774,2015-01-01 01:41:58,bin6118,35, +CTSPillarNetworkA,6119,6119,6119,1986-10-03,611.6000000000705,611.5977,2015-01-01 01:41:59,bin6119,75, +CTSPillarNetworkA,6120,6120,6120,1986-10-04,611.7000000000705,611.6977,2015-01-01 01:42:00,bin6120,35, +CTSPillarNetworkA,6121,6121,6121,1986-10-05,611.8000000000706,611.79767,2015-01-01 01:42:01,bin6121,75, +CTSPillarNetworkA,6122,6122,6122,1986-10-06,611.9000000000706,611.89764,2015-01-01 01:42:02,bin6122,35, +CTSPillarNetworkA,6123,6123,6123,1986-10-07,612.0000000000706,611.9976,2015-01-01 01:42:03,bin6123,75, +CTSPillarNetworkA,6124,6124,6124,1986-10-08,612.1000000000706,612.0976,2015-01-01 01:42:04,bin6124,35, +CTSPillarNetworkA,6125,6125,6125,1986-10-09,612.2000000000706,612.1976,2015-01-01 01:42:05,bin6125,75, +CTSPillarNetworkA,6126,6126,6126,1986-10-10,612.3000000000707,612.29755,2015-01-01 01:42:06,bin6126,35, +CTSPillarNetworkA,6127,6127,6127,1986-10-11,612.4000000000707,612.3975,2015-01-01 01:42:07,bin6127,75, +CTSPillarNetworkA,6128,6128,6128,1986-10-12,612.5000000000707,612.4975,2015-01-01 01:42:08,bin6128,35, +CTSPillarNetworkA,6129,6129,6129,1986-10-13,612.6000000000707,612.5975,2015-01-01 01:42:09,bin6129,75, +CTSPillarNetworkA,6130,6130,6130,1986-10-14,612.7000000000708,612.69745,2015-01-01 01:42:10,bin6130,35, +CTSPillarNetworkA,6131,6131,6131,1986-10-15,612.8000000000708,612.7974,2015-01-01 01:42:11,bin6131,75, +CTSPillarNetworkA,6132,6132,6132,1986-10-16,612.9000000000708,612.8974,2015-01-01 01:42:12,bin6132,35, +CTSPillarNetworkA,6133,6133,6133,1986-10-17,613.0000000000708,612.9974,2015-01-01 01:42:13,bin6133,75, +CTSPillarNetworkA,6134,6134,6134,1986-10-18,613.1000000000708,613.09735,2015-01-01 01:42:14,bin6134,35, +CTSPillarNetworkA,6135,6135,6135,1986-10-19,613.2000000000709,613.1973,2015-01-01 01:42:15,bin6135,75, +CTSPillarNetworkA,6136,6136,6136,1986-10-20,613.3000000000709,613.2973,2015-01-01 01:42:16,bin6136,35, +CTSPillarNetworkA,6137,6137,6137,1986-10-21,613.4000000000709,613.3973,2015-01-01 01:42:17,bin6137,75, +CTSPillarNetworkA,6138,6138,6138,1986-10-22,613.5000000000709,613.49725,2015-01-01 01:42:18,bin6138,35, +CTSPillarNetworkA,6139,6139,6139,1986-10-23,613.600000000071,613.5972,2015-01-01 01:42:19,bin6139,75, +CTSPillarNetworkA,6140,6140,6140,1986-10-24,613.700000000071,613.6972,2015-01-01 01:42:20,bin6140,35, +CTSPillarNetworkA,6141,6141,6141,1986-10-25,613.800000000071,613.7972,2015-01-01 01:42:21,bin6141,75, +CTSPillarNetworkA,6142,6142,6142,1986-10-26,613.900000000071,613.89716,2015-01-01 01:42:22,bin6142,35, +CTSPillarNetworkA,6143,6143,6143,1986-10-27,614.000000000071,613.99713,2015-01-01 01:42:23,bin6143,75, +CTSPillarNetworkA,6144,6144,6144,1986-10-28,614.1000000000711,614.0971,2015-01-01 01:42:24,bin6144,35, +CTSPillarNetworkA,6145,6145,6145,1986-10-29,614.2000000000711,614.1971,2015-01-01 01:42:25,bin6145,75, +CTSPillarNetworkA,6146,6146,6146,1986-10-30,614.3000000000711,614.29706,2015-01-01 01:42:26,bin6146,35, +CTSPillarNetworkA,6147,6147,6147,1986-10-31,614.4000000000711,614.39703,2015-01-01 01:42:27,bin6147,75, +CTSPillarNetworkA,6148,6148,6148,1986-11-01,614.5000000000712,614.497,2015-01-01 01:42:28,bin6148,35, +CTSPillarNetworkA,6149,6149,6149,1986-11-02,614.6000000000712,614.597,2015-01-01 01:42:29,bin6149,75, +CTSPillarNetworkA,6150,6150,6150,1986-11-03,614.7000000000712,614.69696,2015-01-01 01:42:30,bin6150,35, +CTSPillarNetworkA,6151,6151,6151,1986-11-04,614.8000000000712,614.79694,2015-01-01 01:42:31,bin6151,75, +CTSPillarNetworkA,6152,6152,6152,1986-11-05,614.9000000000713,614.8969,2015-01-01 01:42:32,bin6152,35, +CTSPillarNetworkA,6153,6153,6153,1986-11-06,615.0000000000713,614.9969,2015-01-01 01:42:33,bin6153,75, +CTSPillarNetworkA,6154,6154,6154,1986-11-07,615.1000000000713,615.09686,2015-01-01 01:42:34,bin6154,35, +CTSPillarNetworkA,6155,6155,6155,1986-11-08,615.2000000000713,615.19684,2015-01-01 01:42:35,bin6155,75, +CTSPillarNetworkA,6156,6156,6156,1986-11-09,615.3000000000713,615.2968,2015-01-01 01:42:36,bin6156,35, +CTSPillarNetworkA,6157,6157,6157,1986-11-10,615.4000000000714,615.3968,2015-01-01 01:42:37,bin6157,75, +CTSPillarNetworkA,6158,6158,6158,1986-11-11,615.5000000000714,615.49677,2015-01-01 01:42:38,bin6158,35, +CTSPillarNetworkA,6159,6159,6159,1986-11-12,615.6000000000714,615.59674,2015-01-01 01:42:39,bin6159,75, +CTSPillarNetworkA,6160,6160,6160,1986-11-13,615.7000000000714,615.6967,2015-01-01 01:42:40,bin6160,35, +CTSPillarNetworkA,6161,6161,6161,1986-11-14,615.8000000000715,615.7967,2015-01-01 01:42:41,bin6161,75, +CTSPillarNetworkA,6162,6162,6162,1986-11-15,615.9000000000715,615.89667,2015-01-01 01:42:42,bin6162,35, +CTSPillarNetworkA,6163,6163,6163,1986-11-16,616.0000000000715,615.99664,2015-01-01 01:42:43,bin6163,75, +CTSPillarNetworkA,6164,6164,6164,1986-11-17,616.1000000000715,616.0966,2015-01-01 01:42:44,bin6164,35, +CTSPillarNetworkA,6165,6165,6165,1986-11-18,616.2000000000716,616.1966,2015-01-01 01:42:45,bin6165,75, +CTSPillarNetworkA,6166,6166,6166,1986-11-19,616.3000000000716,616.2966,2015-01-01 01:42:46,bin6166,35, +CTSPillarNetworkA,6167,6167,6167,1986-11-20,616.4000000000716,616.39655,2015-01-01 01:42:47,bin6167,75, +CTSPillarNetworkA,6168,6168,6168,1986-11-21,616.5000000000716,616.4965,2015-01-01 01:42:48,bin6168,35, +CTSPillarNetworkA,6169,6169,6169,1986-11-22,616.6000000000716,616.5965,2015-01-01 01:42:49,bin6169,75, +CTSPillarNetworkA,6170,6170,6170,1986-11-23,616.7000000000717,616.6965,2015-01-01 01:42:50,bin6170,35, +CTSPillarNetworkA,6171,6171,6171,1986-11-24,616.8000000000717,616.79645,2015-01-01 01:42:51,bin6171,75, +CTSPillarNetworkA,6172,6172,6172,1986-11-25,616.9000000000717,616.8964,2015-01-01 01:42:52,bin6172,35, +CTSPillarNetworkA,6173,6173,6173,1986-11-26,617.0000000000717,616.9964,2015-01-01 01:42:53,bin6173,75, +CTSPillarNetworkA,6174,6174,6174,1986-11-27,617.1000000000718,617.0964,2015-01-01 01:42:54,bin6174,35, +CTSPillarNetworkA,6175,6175,6175,1986-11-28,617.2000000000718,617.19635,2015-01-01 01:42:55,bin6175,75, +CTSPillarNetworkA,6176,6176,6176,1986-11-29,617.3000000000718,617.2963,2015-01-01 01:42:56,bin6176,35, +CTSPillarNetworkA,6177,6177,6177,1986-11-30,617.4000000000718,617.3963,2015-01-01 01:42:57,bin6177,75, +CTSPillarNetworkA,6178,6178,6178,1986-12-01,617.5000000000719,617.4963,2015-01-01 01:42:58,bin6178,35, +CTSPillarNetworkA,6179,6179,6179,1986-12-02,617.6000000000719,617.59625,2015-01-01 01:42:59,bin6179,75, +CTSPillarNetworkA,6180,6180,6180,1986-12-03,617.7000000000719,617.6962,2015-01-01 01:43:00,bin6180,35, +CTSPillarNetworkA,6181,6181,6181,1986-12-04,617.8000000000719,617.7962,2015-01-01 01:43:01,bin6181,75, +CTSPillarNetworkA,6182,6182,6182,1986-12-05,617.9000000000719,617.8962,2015-01-01 01:43:02,bin6182,35, +CTSPillarNetworkA,6183,6183,6183,1986-12-06,618.000000000072,617.99615,2015-01-01 01:43:03,bin6183,75, +CTSPillarNetworkA,6184,6184,6184,1986-12-07,618.100000000072,618.0961,2015-01-01 01:43:04,bin6184,35, +CTSPillarNetworkA,6185,6185,6185,1986-12-08,618.200000000072,618.1961,2015-01-01 01:43:05,bin6185,75, +CTSPillarNetworkA,6186,6186,6186,1986-12-09,618.300000000072,618.2961,2015-01-01 01:43:06,bin6186,35, +CTSPillarNetworkA,6187,6187,6187,1986-12-10,618.400000000072,618.39606,2015-01-01 01:43:07,bin6187,75, +CTSPillarNetworkA,6188,6188,6188,1986-12-11,618.5000000000721,618.49603,2015-01-01 01:43:08,bin6188,35, +CTSPillarNetworkA,6189,6189,6189,1986-12-12,618.6000000000721,618.596,2015-01-01 01:43:09,bin6189,75, +CTSPillarNetworkA,6190,6190,6190,1986-12-13,618.7000000000721,618.696,2015-01-01 01:43:10,bin6190,35, +CTSPillarNetworkA,6191,6191,6191,1986-12-14,618.8000000000721,618.79596,2015-01-01 01:43:11,bin6191,75, +CTSPillarNetworkA,6192,6192,6192,1986-12-15,618.9000000000722,618.89594,2015-01-01 01:43:12,bin6192,35, +CTSPillarNetworkA,6193,6193,6193,1986-12-16,619.0000000000722,618.9959,2015-01-01 01:43:13,bin6193,75, +CTSPillarNetworkA,6194,6194,6194,1986-12-17,619.1000000000722,619.0959,2015-01-01 01:43:14,bin6194,35, +CTSPillarNetworkA,6195,6195,6195,1986-12-18,619.2000000000722,619.19586,2015-01-01 01:43:15,bin6195,75, +CTSPillarNetworkA,6196,6196,6196,1986-12-19,619.3000000000723,619.29584,2015-01-01 01:43:16,bin6196,35, +CTSPillarNetworkA,6197,6197,6197,1986-12-20,619.4000000000723,619.3958,2015-01-01 01:43:17,bin6197,75, +CTSPillarNetworkA,6198,6198,6198,1986-12-21,619.5000000000723,619.4958,2015-01-01 01:43:18,bin6198,35, +CTSPillarNetworkA,6199,6199,6199,1986-12-22,619.6000000000723,619.59576,2015-01-01 01:43:19,bin6199,75, +CTSPillarNetworkA,6200,6200,6200,1986-12-23,619.7000000000724,619.69574,2015-01-01 01:43:20,bin6200,35, +CTSPillarNetworkA,6201,6201,6201,1986-12-24,619.8000000000724,619.7957,2015-01-01 01:43:21,bin6201,75, +CTSPillarNetworkA,6202,6202,6202,1986-12-25,619.9000000000724,619.8957,2015-01-01 01:43:22,bin6202,35, +CTSPillarNetworkA,6203,6203,6203,1986-12-26,620.0000000000724,619.99567,2015-01-01 01:43:23,bin6203,75, +CTSPillarNetworkA,6204,6204,6204,1986-12-27,620.1000000000724,620.09564,2015-01-01 01:43:24,bin6204,35, +CTSPillarNetworkA,6205,6205,6205,1986-12-28,620.2000000000725,620.1956,2015-01-01 01:43:25,bin6205,75, +CTSPillarNetworkA,6206,6206,6206,1986-12-29,620.3000000000725,620.2956,2015-01-01 01:43:26,bin6206,35, +CTSPillarNetworkA,6207,6207,6207,1986-12-30,620.4000000000725,620.39557,2015-01-01 01:43:27,bin6207,75, +CTSPillarNetworkA,6208,6208,6208,1986-12-31,620.5000000000725,620.49554,2015-01-01 01:43:28,bin6208,35, +CTSPillarNetworkA,6209,6209,6209,1987-01-01,620.6000000000726,620.5955,2015-01-01 01:43:29,bin6209,75, +CTSPillarNetworkA,6210,6210,6210,1987-01-02,620.7000000000726,620.6955,2015-01-01 01:43:30,bin6210,35, +CTSPillarNetworkA,6211,6211,6211,1987-01-03,620.8000000000726,620.7955,2015-01-01 01:43:31,bin6211,75, +CTSPillarNetworkA,6212,6212,6212,1987-01-04,620.9000000000726,620.89545,2015-01-01 01:43:32,bin6212,35, +CTSPillarNetworkA,6213,6213,6213,1987-01-05,621.0000000000726,620.9954,2015-01-01 01:43:33,bin6213,75, +CTSPillarNetworkA,6214,6214,6214,1987-01-06,621.1000000000727,621.0954,2015-01-01 01:43:34,bin6214,35, +CTSPillarNetworkA,6215,6215,6215,1987-01-07,621.2000000000727,621.1954,2015-01-01 01:43:35,bin6215,75, +CTSPillarNetworkA,6216,6216,6216,1987-01-08,621.3000000000727,621.29535,2015-01-01 01:43:36,bin6216,35, +CTSPillarNetworkA,6217,6217,6217,1987-01-09,621.4000000000727,621.3953,2015-01-01 01:43:37,bin6217,75, +CTSPillarNetworkA,6218,6218,6218,1987-01-10,621.5000000000728,621.4953,2015-01-01 01:43:38,bin6218,35, +CTSPillarNetworkA,6219,6219,6219,1987-01-11,621.6000000000728,621.5953,2015-01-01 01:43:39,bin6219,75, +CTSPillarNetworkA,6220,6220,6220,1987-01-12,621.7000000000728,621.69525,2015-01-01 01:43:40,bin6220,35, +CTSPillarNetworkA,6221,6221,6221,1987-01-13,621.8000000000728,621.7952,2015-01-01 01:43:41,bin6221,75, +CTSPillarNetworkA,6222,6222,6222,1987-01-14,621.9000000000729,621.8952,2015-01-01 01:43:42,bin6222,35, +CTSPillarNetworkA,6223,6223,6223,1987-01-15,622.0000000000729,621.9952,2015-01-01 01:43:43,bin6223,75, +CTSPillarNetworkA,6224,6224,6224,1987-01-16,622.1000000000729,622.09515,2015-01-01 01:43:44,bin6224,35, +CTSPillarNetworkA,6225,6225,6225,1987-01-17,622.2000000000729,622.1951,2015-01-01 01:43:45,bin6225,75, +CTSPillarNetworkA,6226,6226,6226,1987-01-18,622.3000000000729,622.2951,2015-01-01 01:43:46,bin6226,35, +CTSPillarNetworkA,6227,6227,6227,1987-01-19,622.400000000073,622.3951,2015-01-01 01:43:47,bin6227,75, +CTSPillarNetworkA,6228,6228,6228,1987-01-20,622.500000000073,622.49506,2015-01-01 01:43:48,bin6228,35, +CTSPillarNetworkA,6229,6229,6229,1987-01-21,622.600000000073,622.59503,2015-01-01 01:43:49,bin6229,75, +CTSPillarNetworkA,6230,6230,6230,1987-01-22,622.700000000073,622.695,2015-01-01 01:43:50,bin6230,35, +CTSPillarNetworkA,6231,6231,6231,1987-01-23,622.800000000073,622.795,2015-01-01 01:43:51,bin6231,75, +CTSPillarNetworkA,6232,6232,6232,1987-01-24,622.9000000000731,622.89496,2015-01-01 01:43:52,bin6232,35, +CTSPillarNetworkA,6233,6233,6233,1987-01-25,623.0000000000731,622.99493,2015-01-01 01:43:53,bin6233,75, +CTSPillarNetworkA,6234,6234,6234,1987-01-26,623.1000000000731,623.0949,2015-01-01 01:43:54,bin6234,35, +CTSPillarNetworkA,6235,6235,6235,1987-01-27,623.2000000000731,623.1949,2015-01-01 01:43:55,bin6235,75, +CTSPillarNetworkA,6236,6236,6236,1987-01-28,623.3000000000732,623.29486,2015-01-01 01:43:56,bin6236,35, +CTSPillarNetworkA,6237,6237,6237,1987-01-29,623.4000000000732,623.39484,2015-01-01 01:43:57,bin6237,75, +CTSPillarNetworkA,6238,6238,6238,1987-01-30,623.5000000000732,623.4948,2015-01-01 01:43:58,bin6238,35, +CTSPillarNetworkA,6239,6239,6239,1987-01-31,623.6000000000732,623.5948,2015-01-01 01:43:59,bin6239,75, +CTSPillarNetworkA,6240,6240,6240,1987-02-01,623.7000000000733,623.69476,2015-01-01 01:44:00,bin6240,35, +CTSPillarNetworkA,6241,6241,6241,1987-02-02,623.8000000000733,623.79474,2015-01-01 01:44:01,bin6241,75, +CTSPillarNetworkA,6242,6242,6242,1987-02-03,623.9000000000733,623.8947,2015-01-01 01:44:02,bin6242,35, +CTSPillarNetworkA,6243,6243,6243,1987-02-04,624.0000000000733,623.9947,2015-01-01 01:44:03,bin6243,75, +CTSPillarNetworkA,6244,6244,6244,1987-02-05,624.1000000000734,624.09467,2015-01-01 01:44:04,bin6244,35, +CTSPillarNetworkA,6245,6245,6245,1987-02-06,624.2000000000734,624.19464,2015-01-01 01:44:05,bin6245,75, +CTSPillarNetworkA,6246,6246,6246,1987-02-07,624.3000000000734,624.2946,2015-01-01 01:44:06,bin6246,35, +CTSPillarNetworkA,6247,6247,6247,1987-02-08,624.4000000000734,624.3946,2015-01-01 01:44:07,bin6247,75, +CTSPillarNetworkA,6248,6248,6248,1987-02-09,624.5000000000734,624.49457,2015-01-01 01:44:08,bin6248,35, +CTSPillarNetworkA,6249,6249,6249,1987-02-10,624.6000000000735,624.59454,2015-01-01 01:44:09,bin6249,75, +CTSPillarNetworkA,6250,6250,6250,1987-02-11,624.7000000000735,624.6945,2015-01-01 01:44:10,bin6250,35, +CTSPillarNetworkA,6251,6251,6251,1987-02-12,624.8000000000735,624.7945,2015-01-01 01:44:11,bin6251,75, +CTSPillarNetworkA,6252,6252,6252,1987-02-13,624.9000000000735,624.8945,2015-01-01 01:44:12,bin6252,35, +CTSPillarNetworkA,6253,6253,6253,1987-02-14,625.0000000000736,624.99445,2015-01-01 01:44:13,bin6253,75, +CTSPillarNetworkA,6254,6254,6254,1987-02-15,625.1000000000736,625.0944,2015-01-01 01:44:14,bin6254,35, +CTSPillarNetworkA,6255,6255,6255,1987-02-16,625.2000000000736,625.1944,2015-01-01 01:44:15,bin6255,75, +CTSPillarNetworkA,6256,6256,6256,1987-02-17,625.3000000000736,625.2944,2015-01-01 01:44:16,bin6256,35, +CTSPillarNetworkA,6257,6257,6257,1987-02-18,625.4000000000736,625.39435,2015-01-01 01:44:17,bin6257,75, +CTSPillarNetworkA,6258,6258,6258,1987-02-19,625.5000000000737,625.4943,2015-01-01 01:44:18,bin6258,35, +CTSPillarNetworkA,6259,6259,6259,1987-02-20,625.6000000000737,625.5943,2015-01-01 01:44:19,bin6259,75, +CTSPillarNetworkA,6260,6260,6260,1987-02-21,625.7000000000737,625.6943,2015-01-01 01:44:20,bin6260,35, +CTSPillarNetworkA,6261,6261,6261,1987-02-22,625.8000000000737,625.79425,2015-01-01 01:44:21,bin6261,75, +CTSPillarNetworkA,6262,6262,6262,1987-02-23,625.9000000000738,625.8942,2015-01-01 01:44:22,bin6262,35, +CTSPillarNetworkA,6263,6263,6263,1987-02-24,626.0000000000738,625.9942,2015-01-01 01:44:23,bin6263,75, +CTSPillarNetworkA,6264,6264,6264,1987-02-25,626.1000000000738,626.0942,2015-01-01 01:44:24,bin6264,35, +CTSPillarNetworkA,6265,6265,6265,1987-02-26,626.2000000000738,626.19415,2015-01-01 01:44:25,bin6265,75, +CTSPillarNetworkA,6266,6266,6266,1987-02-27,626.3000000000739,626.2941,2015-01-01 01:44:26,bin6266,35, +CTSPillarNetworkA,6267,6267,6267,1987-02-28,626.4000000000739,626.3941,2015-01-01 01:44:27,bin6267,75, +CTSPillarNetworkA,6268,6268,6268,1987-03-01,626.5000000000739,626.4941,2015-01-01 01:44:28,bin6268,35, +CTSPillarNetworkA,6269,6269,6269,1987-03-02,626.6000000000739,626.59406,2015-01-01 01:44:29,bin6269,75, +CTSPillarNetworkA,6270,6270,6270,1987-03-03,626.7000000000739,626.69403,2015-01-01 01:44:30,bin6270,35, +CTSPillarNetworkA,6271,6271,6271,1987-03-04,626.800000000074,626.794,2015-01-01 01:44:31,bin6271,75, +CTSPillarNetworkA,6272,6272,6272,1987-03-05,626.900000000074,626.894,2015-01-01 01:44:32,bin6272,35, +CTSPillarNetworkA,6273,6273,6273,1987-03-06,627.000000000074,626.99396,2015-01-01 01:44:33,bin6273,75, +CTSPillarNetworkA,6274,6274,6274,1987-03-07,627.100000000074,627.09393,2015-01-01 01:44:34,bin6274,35, +CTSPillarNetworkA,6275,6275,6275,1987-03-08,627.200000000074,627.1939,2015-01-01 01:44:35,bin6275,75, +CTSPillarNetworkA,6276,6276,6276,1987-03-09,627.3000000000741,627.2939,2015-01-01 01:44:36,bin6276,35, +CTSPillarNetworkA,6277,6277,6277,1987-03-10,627.4000000000741,627.39386,2015-01-01 01:44:37,bin6277,75, +CTSPillarNetworkA,6278,6278,6278,1987-03-11,627.5000000000741,627.49384,2015-01-01 01:44:38,bin6278,35, +CTSPillarNetworkA,6279,6279,6279,1987-03-12,627.6000000000741,627.5938,2015-01-01 01:44:39,bin6279,75, +CTSPillarNetworkA,6280,6280,6280,1987-03-13,627.7000000000742,627.6938,2015-01-01 01:44:40,bin6280,35, +CTSPillarNetworkA,6281,6281,6281,1987-03-14,627.8000000000742,627.79376,2015-01-01 01:44:41,bin6281,75, +CTSPillarNetworkA,6282,6282,6282,1987-03-15,627.9000000000742,627.89374,2015-01-01 01:44:42,bin6282,35, +CTSPillarNetworkA,6283,6283,6283,1987-03-16,628.0000000000742,627.9937,2015-01-01 01:44:43,bin6283,75, +CTSPillarNetworkA,6284,6284,6284,1987-03-17,628.1000000000743,628.0937,2015-01-01 01:44:44,bin6284,35, +CTSPillarNetworkA,6285,6285,6285,1987-03-18,628.2000000000743,628.19366,2015-01-01 01:44:45,bin6285,75, +CTSPillarNetworkA,6286,6286,6286,1987-03-19,628.3000000000743,628.29364,2015-01-01 01:44:46,bin6286,35, +CTSPillarNetworkA,6287,6287,6287,1987-03-20,628.4000000000743,628.3936,2015-01-01 01:44:47,bin6287,75, +CTSPillarNetworkA,6288,6288,6288,1987-03-21,628.5000000000744,628.4936,2015-01-01 01:44:48,bin6288,35, +CTSPillarNetworkA,6289,6289,6289,1987-03-22,628.6000000000744,628.59357,2015-01-01 01:44:49,bin6289,75, +CTSPillarNetworkA,6290,6290,6290,1987-03-23,628.7000000000744,628.69354,2015-01-01 01:44:50,bin6290,35, +CTSPillarNetworkA,6291,6291,6291,1987-03-24,628.8000000000744,628.7935,2015-01-01 01:44:51,bin6291,75, +CTSPillarNetworkA,6292,6292,6292,1987-03-25,628.9000000000744,628.8935,2015-01-01 01:44:52,bin6292,35, +CTSPillarNetworkA,6293,6293,6293,1987-03-26,629.0000000000745,628.99347,2015-01-01 01:44:53,bin6293,75, +CTSPillarNetworkA,6294,6294,6294,1987-03-27,629.1000000000745,629.09344,2015-01-01 01:44:54,bin6294,35, +CTSPillarNetworkA,6295,6295,6295,1987-03-28,629.2000000000745,629.1934,2015-01-01 01:44:55,bin6295,75, +CTSPillarNetworkA,6296,6296,6296,1987-03-29,629.3000000000745,629.2934,2015-01-01 01:44:56,bin6296,35, +CTSPillarNetworkA,6297,6297,6297,1987-03-30,629.4000000000746,629.3934,2015-01-01 01:44:57,bin6297,75, +CTSPillarNetworkA,6298,6298,6298,1987-03-31,629.5000000000746,629.49335,2015-01-01 01:44:58,bin6298,35, +CTSPillarNetworkA,6299,6299,6299,1987-04-01,629.6000000000746,629.5933,2015-01-01 01:44:59,bin6299,75, +CTSPillarNetworkA,6300,6300,6300,1987-04-02,629.7000000000746,629.6933,2015-01-01 01:45:00,bin6300,35, +CTSPillarNetworkA,6301,6301,6301,1987-04-03,629.8000000000746,629.7933,2015-01-01 01:45:01,bin6301,75, +CTSPillarNetworkA,6302,6302,6302,1987-04-04,629.9000000000747,629.89325,2015-01-01 01:45:02,bin6302,35, +CTSPillarNetworkA,6303,6303,6303,1987-04-05,630.0000000000747,629.9932,2015-01-01 01:45:03,bin6303,75, +CTSPillarNetworkA,6304,6304,6304,1987-04-06,630.1000000000747,630.0932,2015-01-01 01:45:04,bin6304,35, +CTSPillarNetworkA,6305,6305,6305,1987-04-07,630.2000000000747,630.1932,2015-01-01 01:45:05,bin6305,75, +CTSPillarNetworkA,6306,6306,6306,1987-04-08,630.3000000000748,630.29315,2015-01-01 01:45:06,bin6306,35, +CTSPillarNetworkA,6307,6307,6307,1987-04-09,630.4000000000748,630.3931,2015-01-01 01:45:07,bin6307,75, +CTSPillarNetworkA,6308,6308,6308,1987-04-10,630.5000000000748,630.4931,2015-01-01 01:45:08,bin6308,35, +CTSPillarNetworkA,6309,6309,6309,1987-04-11,630.6000000000748,630.5931,2015-01-01 01:45:09,bin6309,75, +CTSPillarNetworkA,6310,6310,6310,1987-04-12,630.7000000000749,630.69305,2015-01-01 01:45:10,bin6310,35, +CTSPillarNetworkA,6311,6311,6311,1987-04-13,630.8000000000749,630.793,2015-01-01 01:45:11,bin6311,75, +CTSPillarNetworkA,6312,6312,6312,1987-04-14,630.9000000000749,630.893,2015-01-01 01:45:12,bin6312,35, +CTSPillarNetworkA,6313,6313,6313,1987-04-15,631.0000000000749,630.993,2015-01-01 01:45:13,bin6313,75, +CTSPillarNetworkA,6314,6314,6314,1987-04-16,631.1000000000749,631.09296,2015-01-01 01:45:14,bin6314,35, +CTSPillarNetworkA,6315,6315,6315,1987-04-17,631.200000000075,631.19293,2015-01-01 01:45:15,bin6315,75, +CTSPillarNetworkA,6316,6316,6316,1987-04-18,631.300000000075,631.2929,2015-01-01 01:45:16,bin6316,35, +CTSPillarNetworkA,6317,6317,6317,1987-04-19,631.400000000075,631.3929,2015-01-01 01:45:17,bin6317,75, +CTSPillarNetworkA,6318,6318,6318,1987-04-20,631.500000000075,631.49286,2015-01-01 01:45:18,bin6318,35, +CTSPillarNetworkA,6319,6319,6319,1987-04-21,631.600000000075,631.59283,2015-01-01 01:45:19,bin6319,75, +CTSPillarNetworkA,6320,6320,6320,1987-04-22,631.7000000000751,631.6928,2015-01-01 01:45:20,bin6320,35, +CTSPillarNetworkA,6321,6321,6321,1987-04-23,631.8000000000751,631.7928,2015-01-01 01:45:21,bin6321,75, +CTSPillarNetworkA,6322,6322,6322,1987-04-24,631.9000000000751,631.89276,2015-01-01 01:45:22,bin6322,35, +CTSPillarNetworkA,6323,6323,6323,1987-04-25,632.0000000000751,631.99274,2015-01-01 01:45:23,bin6323,75, +CTSPillarNetworkA,6324,6324,6324,1987-04-26,632.1000000000752,632.0927,2015-01-01 01:45:24,bin6324,35, +CTSPillarNetworkA,6325,6325,6325,1987-04-27,632.2000000000752,632.1927,2015-01-01 01:45:25,bin6325,75, +CTSPillarNetworkA,6326,6326,6326,1987-04-28,632.3000000000752,632.29266,2015-01-01 01:45:26,bin6326,35, +CTSPillarNetworkA,6327,6327,6327,1987-04-29,632.4000000000752,632.39264,2015-01-01 01:45:27,bin6327,75, +CTSPillarNetworkA,6328,6328,6328,1987-04-30,632.5000000000753,632.4926,2015-01-01 01:45:28,bin6328,35, +CTSPillarNetworkA,6329,6329,6329,1987-05-01,632.6000000000753,632.5926,2015-01-01 01:45:29,bin6329,75, +CTSPillarNetworkA,6330,6330,6330,1987-05-02,632.7000000000753,632.69257,2015-01-01 01:45:30,bin6330,35, +CTSPillarNetworkA,6331,6331,6331,1987-05-03,632.8000000000753,632.79254,2015-01-01 01:45:31,bin6331,75, +CTSPillarNetworkA,6332,6332,6332,1987-05-04,632.9000000000754,632.8925,2015-01-01 01:45:32,bin6332,35, +CTSPillarNetworkA,6333,6333,6333,1987-05-05,633.0000000000754,632.9925,2015-01-01 01:45:33,bin6333,75, +CTSPillarNetworkA,6334,6334,6334,1987-05-06,633.1000000000754,633.09247,2015-01-01 01:45:34,bin6334,35, +CTSPillarNetworkA,6335,6335,6335,1987-05-07,633.2000000000754,633.19244,2015-01-01 01:45:35,bin6335,75, +CTSPillarNetworkA,6336,6336,6336,1987-05-08,633.3000000000754,633.2924,2015-01-01 01:45:36,bin6336,35, +CTSPillarNetworkA,6337,6337,6337,1987-05-09,633.4000000000755,633.3924,2015-01-01 01:45:37,bin6337,75, +CTSPillarNetworkA,6338,6338,6338,1987-05-10,633.5000000000755,633.4924,2015-01-01 01:45:38,bin6338,35, +CTSPillarNetworkA,6339,6339,6339,1987-05-11,633.6000000000755,633.59235,2015-01-01 01:45:39,bin6339,75, +CTSPillarNetworkA,6340,6340,6340,1987-05-12,633.7000000000755,633.6923,2015-01-01 01:45:40,bin6340,35, +CTSPillarNetworkA,6341,6341,6341,1987-05-13,633.8000000000756,633.7923,2015-01-01 01:45:41,bin6341,75, +CTSPillarNetworkA,6342,6342,6342,1987-05-14,633.9000000000756,633.8923,2015-01-01 01:45:42,bin6342,35, +CTSPillarNetworkA,6343,6343,6343,1987-05-15,634.0000000000756,633.99225,2015-01-01 01:45:43,bin6343,75, +CTSPillarNetworkA,6344,6344,6344,1987-05-16,634.1000000000756,634.0922,2015-01-01 01:45:44,bin6344,35, +CTSPillarNetworkA,6345,6345,6345,1987-05-17,634.2000000000756,634.1922,2015-01-01 01:45:45,bin6345,75, +CTSPillarNetworkA,6346,6346,6346,1987-05-18,634.3000000000757,634.2922,2015-01-01 01:45:46,bin6346,35, +CTSPillarNetworkA,6347,6347,6347,1987-05-19,634.4000000000757,634.39215,2015-01-01 01:45:47,bin6347,75, +CTSPillarNetworkA,6348,6348,6348,1987-05-20,634.5000000000757,634.4921,2015-01-01 01:45:48,bin6348,35, +CTSPillarNetworkA,6349,6349,6349,1987-05-21,634.6000000000757,634.5921,2015-01-01 01:45:49,bin6349,75, +CTSPillarNetworkA,6350,6350,6350,1987-05-22,634.7000000000758,634.6921,2015-01-01 01:45:50,bin6350,35, +CTSPillarNetworkA,6351,6351,6351,1987-05-23,634.8000000000758,634.79205,2015-01-01 01:45:51,bin6351,75, +CTSPillarNetworkA,6352,6352,6352,1987-05-24,634.9000000000758,634.892,2015-01-01 01:45:52,bin6352,35, +CTSPillarNetworkA,6353,6353,6353,1987-05-25,635.0000000000758,634.992,2015-01-01 01:45:53,bin6353,75, +CTSPillarNetworkA,6354,6354,6354,1987-05-26,635.1000000000759,635.092,2015-01-01 01:45:54,bin6354,35, +CTSPillarNetworkA,6355,6355,6355,1987-05-27,635.2000000000759,635.19196,2015-01-01 01:45:55,bin6355,75, +CTSPillarNetworkA,6356,6356,6356,1987-05-28,635.3000000000759,635.29193,2015-01-01 01:45:56,bin6356,35, +CTSPillarNetworkA,6357,6357,6357,1987-05-29,635.4000000000759,635.3919,2015-01-01 01:45:57,bin6357,75, +CTSPillarNetworkA,6358,6358,6358,1987-05-30,635.5000000000759,635.4919,2015-01-01 01:45:58,bin6358,35, +CTSPillarNetworkA,6359,6359,6359,1987-05-31,635.600000000076,635.59186,2015-01-01 01:45:59,bin6359,75, +CTSPillarNetworkA,6360,6360,6360,1987-06-01,635.700000000076,635.69183,2015-01-01 01:46:00,bin6360,35, +CTSPillarNetworkA,6361,6361,6361,1987-06-02,635.800000000076,635.7918,2015-01-01 01:46:01,bin6361,75, +CTSPillarNetworkA,6362,6362,6362,1987-06-03,635.900000000076,635.8918,2015-01-01 01:46:02,bin6362,35, +CTSPillarNetworkA,6363,6363,6363,1987-06-04,636.000000000076,635.99176,2015-01-01 01:46:03,bin6363,75, +CTSPillarNetworkA,6364,6364,6364,1987-06-05,636.1000000000761,636.09174,2015-01-01 01:46:04,bin6364,35, +CTSPillarNetworkA,6365,6365,6365,1987-06-06,636.2000000000761,636.1917,2015-01-01 01:46:05,bin6365,75, +CTSPillarNetworkA,6366,6366,6366,1987-06-07,636.3000000000761,636.2917,2015-01-01 01:46:06,bin6366,35, +CTSPillarNetworkA,6367,6367,6367,1987-06-08,636.4000000000761,636.39166,2015-01-01 01:46:07,bin6367,75, +CTSPillarNetworkA,6368,6368,6368,1987-06-09,636.5000000000762,636.49164,2015-01-01 01:46:08,bin6368,35, +CTSPillarNetworkA,6369,6369,6369,1987-06-10,636.6000000000762,636.5916,2015-01-01 01:46:09,bin6369,75, +CTSPillarNetworkA,6370,6370,6370,1987-06-11,636.7000000000762,636.6916,2015-01-01 01:46:10,bin6370,35, +CTSPillarNetworkA,6371,6371,6371,1987-06-12,636.8000000000762,636.79156,2015-01-01 01:46:11,bin6371,75, +CTSPillarNetworkA,6372,6372,6372,1987-06-13,636.9000000000763,636.89154,2015-01-01 01:46:12,bin6372,35, +CTSPillarNetworkA,6373,6373,6373,1987-06-14,637.0000000000763,636.9915,2015-01-01 01:46:13,bin6373,75, +CTSPillarNetworkA,6374,6374,6374,1987-06-15,637.1000000000763,637.0915,2015-01-01 01:46:14,bin6374,35, +CTSPillarNetworkA,6375,6375,6375,1987-06-16,637.2000000000763,637.19147,2015-01-01 01:46:15,bin6375,75, +CTSPillarNetworkA,6376,6376,6376,1987-06-17,637.3000000000764,637.29144,2015-01-01 01:46:16,bin6376,35, +CTSPillarNetworkA,6377,6377,6377,1987-06-18,637.4000000000764,637.3914,2015-01-01 01:46:17,bin6377,75, +CTSPillarNetworkA,6378,6378,6378,1987-06-19,637.5000000000764,637.4914,2015-01-01 01:46:18,bin6378,35, +CTSPillarNetworkA,6379,6379,6379,1987-06-20,637.6000000000764,637.5914,2015-01-01 01:46:19,bin6379,75, +CTSPillarNetworkA,6380,6380,6380,1987-06-21,637.7000000000764,637.69135,2015-01-01 01:46:20,bin6380,35, +CTSPillarNetworkA,6381,6381,6381,1987-06-22,637.8000000000765,637.7913,2015-01-01 01:46:21,bin6381,75, +CTSPillarNetworkA,6382,6382,6382,1987-06-23,637.9000000000765,637.8913,2015-01-01 01:46:22,bin6382,35, +CTSPillarNetworkA,6383,6383,6383,1987-06-24,638.0000000000765,637.9913,2015-01-01 01:46:23,bin6383,75, +CTSPillarNetworkA,6384,6384,6384,1987-06-25,638.1000000000765,638.09125,2015-01-01 01:46:24,bin6384,35, +CTSPillarNetworkA,6385,6385,6385,1987-06-26,638.2000000000766,638.1912,2015-01-01 01:46:25,bin6385,75, +CTSPillarNetworkA,6386,6386,6386,1987-06-27,638.3000000000766,638.2912,2015-01-01 01:46:26,bin6386,35, +CTSPillarNetworkA,6387,6387,6387,1987-06-28,638.4000000000766,638.3912,2015-01-01 01:46:27,bin6387,75, +CTSPillarNetworkA,6388,6388,6388,1987-06-29,638.5000000000766,638.49115,2015-01-01 01:46:28,bin6388,35, +CTSPillarNetworkA,6389,6389,6389,1987-06-30,638.6000000000766,638.5911,2015-01-01 01:46:29,bin6389,75, +CTSPillarNetworkA,6390,6390,6390,1987-07-01,638.7000000000767,638.6911,2015-01-01 01:46:30,bin6390,35, +CTSPillarNetworkA,6391,6391,6391,1987-07-02,638.8000000000767,638.7911,2015-01-01 01:46:31,bin6391,75, +CTSPillarNetworkA,6392,6392,6392,1987-07-03,638.9000000000767,638.89105,2015-01-01 01:46:32,bin6392,35, +CTSPillarNetworkA,6393,6393,6393,1987-07-04,639.0000000000767,638.991,2015-01-01 01:46:33,bin6393,75, +CTSPillarNetworkA,6394,6394,6394,1987-07-05,639.1000000000768,639.091,2015-01-01 01:46:34,bin6394,35, +CTSPillarNetworkA,6395,6395,6395,1987-07-06,639.2000000000768,639.191,2015-01-01 01:46:35,bin6395,75, +CTSPillarNetworkA,6396,6396,6396,1987-07-07,639.3000000000768,639.29095,2015-01-01 01:46:36,bin6396,35, +CTSPillarNetworkA,6397,6397,6397,1987-07-08,639.4000000000768,639.3909,2015-01-01 01:46:37,bin6397,75, +CTSPillarNetworkA,6398,6398,6398,1987-07-09,639.5000000000769,639.4909,2015-01-01 01:46:38,bin6398,35, +CTSPillarNetworkA,6399,6399,6399,1987-07-10,639.6000000000769,639.5909,2015-01-01 01:46:39,bin6399,75, +CTSPillarNetworkA,6400,6400,6400,1987-07-11,639.7000000000769,639.69086,2015-01-01 01:46:40,bin6400,35, +CTSPillarNetworkA,6401,6401,6401,1987-07-12,639.8000000000769,639.79083,2015-01-01 01:46:41,bin6401,75, +CTSPillarNetworkA,6402,6402,6402,1987-07-13,639.900000000077,639.8908,2015-01-01 01:46:42,bin6402,35, +CTSPillarNetworkA,6403,6403,6403,1987-07-14,640.000000000077,639.9908,2015-01-01 01:46:43,bin6403,75, +CTSPillarNetworkA,6404,6404,6404,1987-07-15,640.100000000077,640.09076,2015-01-01 01:46:44,bin6404,35, +CTSPillarNetworkA,6405,6405,6405,1987-07-16,640.200000000077,640.19073,2015-01-01 01:46:45,bin6405,75, +CTSPillarNetworkA,6406,6406,6406,1987-07-17,640.300000000077,640.2907,2015-01-01 01:46:46,bin6406,35, +CTSPillarNetworkA,6407,6407,6407,1987-07-18,640.4000000000771,640.3907,2015-01-01 01:46:47,bin6407,75, +CTSPillarNetworkA,6408,6408,6408,1987-07-19,640.5000000000771,640.49066,2015-01-01 01:46:48,bin6408,35, +CTSPillarNetworkA,6409,6409,6409,1987-07-20,640.6000000000771,640.59064,2015-01-01 01:46:49,bin6409,75, +CTSPillarNetworkA,6410,6410,6410,1987-07-21,640.7000000000771,640.6906,2015-01-01 01:46:50,bin6410,35, +CTSPillarNetworkA,6411,6411,6411,1987-07-22,640.8000000000771,640.7906,2015-01-01 01:46:51,bin6411,75, +CTSPillarNetworkA,6412,6412,6412,1987-07-23,640.9000000000772,640.89056,2015-01-01 01:46:52,bin6412,35, +CTSPillarNetworkA,6413,6413,6413,1987-07-24,641.0000000000772,640.99054,2015-01-01 01:46:53,bin6413,75, +CTSPillarNetworkA,6414,6414,6414,1987-07-25,641.1000000000772,641.0905,2015-01-01 01:46:54,bin6414,35, +CTSPillarNetworkA,6415,6415,6415,1987-07-26,641.2000000000772,641.1905,2015-01-01 01:46:55,bin6415,75, +CTSPillarNetworkA,6416,6416,6416,1987-07-27,641.3000000000773,641.29047,2015-01-01 01:46:56,bin6416,35, +CTSPillarNetworkA,6417,6417,6417,1987-07-28,641.4000000000773,641.39044,2015-01-01 01:46:57,bin6417,75, +CTSPillarNetworkA,6418,6418,6418,1987-07-29,641.5000000000773,641.4904,2015-01-01 01:46:58,bin6418,35, +CTSPillarNetworkA,6419,6419,6419,1987-07-30,641.6000000000773,641.5904,2015-01-01 01:46:59,bin6419,75, +CTSPillarNetworkA,6420,6420,6420,1987-07-31,641.7000000000774,641.69037,2015-01-01 01:47:00,bin6420,35, +CTSPillarNetworkA,6421,6421,6421,1987-08-01,641.8000000000774,641.79034,2015-01-01 01:47:01,bin6421,75, +CTSPillarNetworkA,6422,6422,6422,1987-08-02,641.9000000000774,641.8903,2015-01-01 01:47:02,bin6422,35, +CTSPillarNetworkA,6423,6423,6423,1987-08-03,642.0000000000774,641.9903,2015-01-01 01:47:03,bin6423,75, +CTSPillarNetworkA,6424,6424,6424,1987-08-04,642.1000000000774,642.0903,2015-01-01 01:47:04,bin6424,35, +CTSPillarNetworkA,6425,6425,6425,1987-08-05,642.2000000000775,642.19025,2015-01-01 01:47:05,bin6425,75, +CTSPillarNetworkA,6426,6426,6426,1987-08-06,642.3000000000775,642.2902,2015-01-01 01:47:06,bin6426,35, +CTSPillarNetworkA,6427,6427,6427,1987-08-07,642.4000000000775,642.3902,2015-01-01 01:47:07,bin6427,75, +CTSPillarNetworkA,6428,6428,6428,1987-08-08,642.5000000000775,642.4902,2015-01-01 01:47:08,bin6428,35, +CTSPillarNetworkA,6429,6429,6429,1987-08-09,642.6000000000776,642.59015,2015-01-01 01:47:09,bin6429,75, +CTSPillarNetworkA,6430,6430,6430,1987-08-10,642.7000000000776,642.6901,2015-01-01 01:47:10,bin6430,35, +CTSPillarNetworkA,6431,6431,6431,1987-08-11,642.8000000000776,642.7901,2015-01-01 01:47:11,bin6431,75, +CTSPillarNetworkA,6432,6432,6432,1987-08-12,642.9000000000776,642.8901,2015-01-01 01:47:12,bin6432,35, +CTSPillarNetworkA,6433,6433,6433,1987-08-13,643.0000000000776,642.99005,2015-01-01 01:47:13,bin6433,75, +CTSPillarNetworkA,6434,6434,6434,1987-08-14,643.1000000000777,643.09,2015-01-01 01:47:14,bin6434,35, +CTSPillarNetworkA,6435,6435,6435,1987-08-15,643.2000000000777,643.19,2015-01-01 01:47:15,bin6435,75, +CTSPillarNetworkA,6436,6436,6436,1987-08-16,643.3000000000777,643.29,2015-01-01 01:47:16,bin6436,35, +CTSPillarNetworkA,6437,6437,6437,1987-08-17,643.4000000000777,643.38995,2015-01-01 01:47:17,bin6437,75, +CTSPillarNetworkA,6438,6438,6438,1987-08-18,643.5000000000778,643.4899,2015-01-01 01:47:18,bin6438,35, +CTSPillarNetworkA,6439,6439,6439,1987-08-19,643.6000000000778,643.5899,2015-01-01 01:47:19,bin6439,75, +CTSPillarNetworkA,6440,6440,6440,1987-08-20,643.7000000000778,643.6899,2015-01-01 01:47:20,bin6440,35, +CTSPillarNetworkA,6441,6441,6441,1987-08-21,643.8000000000778,643.78986,2015-01-01 01:47:21,bin6441,75, +CTSPillarNetworkA,6442,6442,6442,1987-08-22,643.9000000000779,643.88983,2015-01-01 01:47:22,bin6442,35, +CTSPillarNetworkA,6443,6443,6443,1987-08-23,644.0000000000779,643.9898,2015-01-01 01:47:23,bin6443,75, +CTSPillarNetworkA,6444,6444,6444,1987-08-24,644.1000000000779,644.0898,2015-01-01 01:47:24,bin6444,35, +CTSPillarNetworkA,6445,6445,6445,1987-08-25,644.2000000000779,644.18976,2015-01-01 01:47:25,bin6445,75, +CTSPillarNetworkA,6446,6446,6446,1987-08-26,644.300000000078,644.28973,2015-01-01 01:47:26,bin6446,35, +CTSPillarNetworkA,6447,6447,6447,1987-08-27,644.400000000078,644.3897,2015-01-01 01:47:27,bin6447,75, +CTSPillarNetworkA,6448,6448,6448,1987-08-28,644.500000000078,644.4897,2015-01-01 01:47:28,bin6448,35, +CTSPillarNetworkA,6449,6449,6449,1987-08-29,644.600000000078,644.58966,2015-01-01 01:47:29,bin6449,75, +CTSPillarNetworkA,6450,6450,6450,1987-08-30,644.700000000078,644.68964,2015-01-01 01:47:30,bin6450,35, +CTSPillarNetworkA,6451,6451,6451,1987-08-31,644.8000000000781,644.7896,2015-01-01 01:47:31,bin6451,75, +CTSPillarNetworkA,6452,6452,6452,1987-09-01,644.9000000000781,644.8896,2015-01-01 01:47:32,bin6452,35, +CTSPillarNetworkA,6453,6453,6453,1987-09-02,645.0000000000781,644.98956,2015-01-01 01:47:33,bin6453,75, +CTSPillarNetworkA,6454,6454,6454,1987-09-03,645.1000000000781,645.08954,2015-01-01 01:47:34,bin6454,35, +CTSPillarNetworkA,6455,6455,6455,1987-09-04,645.2000000000781,645.1895,2015-01-01 01:47:35,bin6455,75, +CTSPillarNetworkA,6456,6456,6456,1987-09-05,645.3000000000782,645.2895,2015-01-01 01:47:36,bin6456,35, +CTSPillarNetworkA,6457,6457,6457,1987-09-06,645.4000000000782,645.38947,2015-01-01 01:47:37,bin6457,75, +CTSPillarNetworkA,6458,6458,6458,1987-09-07,645.5000000000782,645.48944,2015-01-01 01:47:38,bin6458,35, +CTSPillarNetworkA,6459,6459,6459,1987-09-08,645.6000000000782,645.5894,2015-01-01 01:47:39,bin6459,75, +CTSPillarNetworkA,6460,6460,6460,1987-09-09,645.7000000000783,645.6894,2015-01-01 01:47:40,bin6460,35, +CTSPillarNetworkA,6461,6461,6461,1987-09-10,645.8000000000783,645.78937,2015-01-01 01:47:41,bin6461,75, +CTSPillarNetworkA,6462,6462,6462,1987-09-11,645.9000000000783,645.88934,2015-01-01 01:47:42,bin6462,35, +CTSPillarNetworkA,6463,6463,6463,1987-09-12,646.0000000000783,645.9893,2015-01-01 01:47:43,bin6463,75, +CTSPillarNetworkA,6464,6464,6464,1987-09-13,646.1000000000784,646.0893,2015-01-01 01:47:44,bin6464,35, +CTSPillarNetworkA,6465,6465,6465,1987-09-14,646.2000000000784,646.1893,2015-01-01 01:47:45,bin6465,75, +CTSPillarNetworkA,6466,6466,6466,1987-09-15,646.3000000000784,646.28925,2015-01-01 01:47:46,bin6466,35, +CTSPillarNetworkA,6467,6467,6467,1987-09-16,646.4000000000784,646.3892,2015-01-01 01:47:47,bin6467,75, +CTSPillarNetworkA,6468,6468,6468,1987-09-17,646.5000000000784,646.4892,2015-01-01 01:47:48,bin6468,35, +CTSPillarNetworkA,6469,6469,6469,1987-09-18,646.6000000000785,646.5892,2015-01-01 01:47:49,bin6469,75, +CTSPillarNetworkA,6470,6470,6470,1987-09-19,646.7000000000785,646.68915,2015-01-01 01:47:50,bin6470,35, +CTSPillarNetworkA,6471,6471,6471,1987-09-20,646.8000000000785,646.7891,2015-01-01 01:47:51,bin6471,75, +CTSPillarNetworkA,6472,6472,6472,1987-09-21,646.9000000000785,646.8891,2015-01-01 01:47:52,bin6472,35, +CTSPillarNetworkA,6473,6473,6473,1987-09-22,647.0000000000786,646.9891,2015-01-01 01:47:53,bin6473,75, +CTSPillarNetworkA,6474,6474,6474,1987-09-23,647.1000000000786,647.08905,2015-01-01 01:47:54,bin6474,35, +CTSPillarNetworkA,6475,6475,6475,1987-09-24,647.2000000000786,647.189,2015-01-01 01:47:55,bin6475,75, +CTSPillarNetworkA,6476,6476,6476,1987-09-25,647.3000000000786,647.289,2015-01-01 01:47:56,bin6476,35, +CTSPillarNetworkA,6477,6477,6477,1987-09-26,647.4000000000786,647.389,2015-01-01 01:47:57,bin6477,75, +CTSPillarNetworkA,6478,6478,6478,1987-09-27,647.5000000000787,647.48895,2015-01-01 01:47:58,bin6478,35, +CTSPillarNetworkA,6479,6479,6479,1987-09-28,647.6000000000787,647.5889,2015-01-01 01:47:59,bin6479,75, +CTSPillarNetworkA,6480,6480,6480,1987-09-29,647.7000000000787,647.6889,2015-01-01 01:48:00,bin6480,35, +CTSPillarNetworkA,6481,6481,6481,1987-09-30,647.8000000000787,647.7889,2015-01-01 01:48:01,bin6481,75, +CTSPillarNetworkA,6482,6482,6482,1987-10-01,647.9000000000788,647.88885,2015-01-01 01:48:02,bin6482,35, +CTSPillarNetworkA,6483,6483,6483,1987-10-02,648.0000000000788,647.98883,2015-01-01 01:48:03,bin6483,75, +CTSPillarNetworkA,6484,6484,6484,1987-10-03,648.1000000000788,648.0888,2015-01-01 01:48:04,bin6484,35, +CTSPillarNetworkA,6485,6485,6485,1987-10-04,648.2000000000788,648.1888,2015-01-01 01:48:05,bin6485,75, +CTSPillarNetworkA,6486,6486,6486,1987-10-05,648.3000000000789,648.28876,2015-01-01 01:48:06,bin6486,35, +CTSPillarNetworkA,6487,6487,6487,1987-10-06,648.4000000000789,648.38873,2015-01-01 01:48:07,bin6487,75, +CTSPillarNetworkA,6488,6488,6488,1987-10-07,648.5000000000789,648.4887,2015-01-01 01:48:08,bin6488,35, +CTSPillarNetworkA,6489,6489,6489,1987-10-08,648.6000000000789,648.5887,2015-01-01 01:48:09,bin6489,75, +CTSPillarNetworkA,6490,6490,6490,1987-10-09,648.700000000079,648.68866,2015-01-01 01:48:10,bin6490,35, +CTSPillarNetworkA,6491,6491,6491,1987-10-10,648.800000000079,648.78864,2015-01-01 01:48:11,bin6491,75, +CTSPillarNetworkA,6492,6492,6492,1987-10-11,648.900000000079,648.8886,2015-01-01 01:48:12,bin6492,35, +CTSPillarNetworkA,6493,6493,6493,1987-10-12,649.000000000079,648.9886,2015-01-01 01:48:13,bin6493,75, +CTSPillarNetworkA,6494,6494,6494,1987-10-13,649.100000000079,649.08856,2015-01-01 01:48:14,bin6494,35, +CTSPillarNetworkA,6495,6495,6495,1987-10-14,649.2000000000791,649.18854,2015-01-01 01:48:15,bin6495,75, +CTSPillarNetworkA,6496,6496,6496,1987-10-15,649.3000000000791,649.2885,2015-01-01 01:48:16,bin6496,35, +CTSPillarNetworkA,6497,6497,6497,1987-10-16,649.4000000000791,649.3885,2015-01-01 01:48:17,bin6497,75, +CTSPillarNetworkA,6498,6498,6498,1987-10-17,649.5000000000791,649.48846,2015-01-01 01:48:18,bin6498,35, +CTSPillarNetworkA,6499,6499,6499,1987-10-18,649.6000000000791,649.58844,2015-01-01 01:48:19,bin6499,75, +CTSPillarNetworkA,6500,6500,6500,1987-10-19,649.7000000000792,649.6884,2015-01-01 01:48:20,bin6500,35, +CTSPillarNetworkA,6501,6501,6501,1987-10-20,649.8000000000792,649.7884,2015-01-01 01:48:21,bin6501,75, +CTSPillarNetworkA,6502,6502,6502,1987-10-21,649.9000000000792,649.88837,2015-01-01 01:48:22,bin6502,35, +CTSPillarNetworkA,6503,6503,6503,1987-10-22,650.0000000000792,649.98834,2015-01-01 01:48:23,bin6503,75, +CTSPillarNetworkA,6504,6504,6504,1987-10-23,650.1000000000793,650.0883,2015-01-01 01:48:24,bin6504,35, +CTSPillarNetworkA,6505,6505,6505,1987-10-24,650.2000000000793,650.1883,2015-01-01 01:48:25,bin6505,75, +CTSPillarNetworkA,6506,6506,6506,1987-10-25,650.3000000000793,650.28827,2015-01-01 01:48:26,bin6506,35, +CTSPillarNetworkA,6507,6507,6507,1987-10-26,650.4000000000793,650.38824,2015-01-01 01:48:27,bin6507,75, +CTSPillarNetworkA,6508,6508,6508,1987-10-27,650.5000000000794,650.4882,2015-01-01 01:48:28,bin6508,35, +CTSPillarNetworkA,6509,6509,6509,1987-10-28,650.6000000000794,650.5882,2015-01-01 01:48:29,bin6509,75, +CTSPillarNetworkA,6510,6510,6510,1987-10-29,650.7000000000794,650.6882,2015-01-01 01:48:30,bin6510,35, +CTSPillarNetworkA,6511,6511,6511,1987-10-30,650.8000000000794,650.78815,2015-01-01 01:48:31,bin6511,75, +CTSPillarNetworkA,6512,6512,6512,1987-10-31,650.9000000000794,650.8881,2015-01-01 01:48:32,bin6512,35, +CTSPillarNetworkA,6513,6513,6513,1987-11-01,651.0000000000795,650.9881,2015-01-01 01:48:33,bin6513,75, +CTSPillarNetworkA,6514,6514,6514,1987-11-02,651.1000000000795,651.0881,2015-01-01 01:48:34,bin6514,35, +CTSPillarNetworkA,6515,6515,6515,1987-11-03,651.2000000000795,651.18805,2015-01-01 01:48:35,bin6515,75, +CTSPillarNetworkA,6516,6516,6516,1987-11-04,651.3000000000795,651.288,2015-01-01 01:48:36,bin6516,35, +CTSPillarNetworkA,6517,6517,6517,1987-11-05,651.4000000000796,651.388,2015-01-01 01:48:37,bin6517,75, +CTSPillarNetworkA,6518,6518,6518,1987-11-06,651.5000000000796,651.488,2015-01-01 01:48:38,bin6518,35, +CTSPillarNetworkA,6519,6519,6519,1987-11-07,651.6000000000796,651.58795,2015-01-01 01:48:39,bin6519,75, +CTSPillarNetworkA,6520,6520,6520,1987-11-08,651.7000000000796,651.6879,2015-01-01 01:48:40,bin6520,35, +CTSPillarNetworkA,6521,6521,6521,1987-11-09,651.8000000000796,651.7879,2015-01-01 01:48:41,bin6521,75, +CTSPillarNetworkA,6522,6522,6522,1987-11-10,651.9000000000797,651.8879,2015-01-01 01:48:42,bin6522,35, +CTSPillarNetworkA,6523,6523,6523,1987-11-11,652.0000000000797,651.98785,2015-01-01 01:48:43,bin6523,75, +CTSPillarNetworkA,6524,6524,6524,1987-11-12,652.1000000000797,652.0878,2015-01-01 01:48:44,bin6524,35, +CTSPillarNetworkA,6525,6525,6525,1987-11-13,652.2000000000797,652.1878,2015-01-01 01:48:45,bin6525,75, +CTSPillarNetworkA,6526,6526,6526,1987-11-14,652.3000000000798,652.2878,2015-01-01 01:48:46,bin6526,35, +CTSPillarNetworkA,6527,6527,6527,1987-11-15,652.4000000000798,652.38776,2015-01-01 01:48:47,bin6527,75, +CTSPillarNetworkA,6528,6528,6528,1987-11-16,652.5000000000798,652.48773,2015-01-01 01:48:48,bin6528,35, +CTSPillarNetworkA,6529,6529,6529,1987-11-17,652.6000000000798,652.5877,2015-01-01 01:48:49,bin6529,75, +CTSPillarNetworkA,6530,6530,6530,1987-11-18,652.7000000000799,652.6877,2015-01-01 01:48:50,bin6530,35, +CTSPillarNetworkA,6531,6531,6531,1987-11-19,652.8000000000799,652.78766,2015-01-01 01:48:51,bin6531,75, +CTSPillarNetworkA,6532,6532,6532,1987-11-20,652.9000000000799,652.88763,2015-01-01 01:48:52,bin6532,35, +CTSPillarNetworkA,6533,6533,6533,1987-11-21,653.0000000000799,652.9876,2015-01-01 01:48:53,bin6533,75, +CTSPillarNetworkA,6534,6534,6534,1987-11-22,653.10000000008,653.0876,2015-01-01 01:48:54,bin6534,35, +CTSPillarNetworkA,6535,6535,6535,1987-11-23,653.20000000008,653.18756,2015-01-01 01:48:55,bin6535,75, +CTSPillarNetworkA,6536,6536,6536,1987-11-24,653.30000000008,653.28754,2015-01-01 01:48:56,bin6536,35, +CTSPillarNetworkA,6537,6537,6537,1987-11-25,653.40000000008,653.3875,2015-01-01 01:48:57,bin6537,75, +CTSPillarNetworkA,6538,6538,6538,1987-11-26,653.50000000008,653.4875,2015-01-01 01:48:58,bin6538,35, +CTSPillarNetworkA,6539,6539,6539,1987-11-27,653.6000000000801,653.58746,2015-01-01 01:48:59,bin6539,75, +CTSPillarNetworkA,6540,6540,6540,1987-11-28,653.7000000000801,653.68744,2015-01-01 01:49:00,bin6540,35, +CTSPillarNetworkA,6541,6541,6541,1987-11-29,653.8000000000801,653.7874,2015-01-01 01:49:01,bin6541,75, +CTSPillarNetworkA,6542,6542,6542,1987-11-30,653.9000000000801,653.8874,2015-01-01 01:49:02,bin6542,35, +CTSPillarNetworkA,6543,6543,6543,1987-12-01,654.0000000000801,653.98737,2015-01-01 01:49:03,bin6543,75, +CTSPillarNetworkA,6544,6544,6544,1987-12-02,654.1000000000802,654.08734,2015-01-01 01:49:04,bin6544,35, +CTSPillarNetworkA,6545,6545,6545,1987-12-03,654.2000000000802,654.1873,2015-01-01 01:49:05,bin6545,75, +CTSPillarNetworkA,6546,6546,6546,1987-12-04,654.3000000000802,654.2873,2015-01-01 01:49:06,bin6546,35, +CTSPillarNetworkA,6547,6547,6547,1987-12-05,654.4000000000802,654.38727,2015-01-01 01:49:07,bin6547,75, +CTSPillarNetworkA,6548,6548,6548,1987-12-06,654.5000000000803,654.48724,2015-01-01 01:49:08,bin6548,35, +CTSPillarNetworkA,6549,6549,6549,1987-12-07,654.6000000000803,654.5872,2015-01-01 01:49:09,bin6549,75, +CTSPillarNetworkA,6550,6550,6550,1987-12-08,654.7000000000803,654.6872,2015-01-01 01:49:10,bin6550,35, +CTSPillarNetworkA,6551,6551,6551,1987-12-09,654.8000000000803,654.7872,2015-01-01 01:49:11,bin6551,75, +CTSPillarNetworkA,6552,6552,6552,1987-12-10,654.9000000000804,654.88715,2015-01-01 01:49:12,bin6552,35, +CTSPillarNetworkA,6553,6553,6553,1987-12-11,655.0000000000804,654.9871,2015-01-01 01:49:13,bin6553,75, +CTSPillarNetworkA,6554,6554,6554,1987-12-12,655.1000000000804,655.0871,2015-01-01 01:49:14,bin6554,35, +CTSPillarNetworkA,6555,6555,6555,1987-12-13,655.2000000000804,655.1871,2015-01-01 01:49:15,bin6555,75, +CTSPillarNetworkA,6556,6556,6556,1987-12-14,655.3000000000804,655.28705,2015-01-01 01:49:16,bin6556,35, +CTSPillarNetworkA,6557,6557,6557,1987-12-15,655.4000000000805,655.387,2015-01-01 01:49:17,bin6557,75, +CTSPillarNetworkA,6558,6558,6558,1987-12-16,655.5000000000805,655.487,2015-01-01 01:49:18,bin6558,35, +CTSPillarNetworkA,6559,6559,6559,1987-12-17,655.6000000000805,655.587,2015-01-01 01:49:19,bin6559,75, +CTSPillarNetworkA,6560,6560,6560,1987-12-18,655.7000000000805,655.68695,2015-01-01 01:49:20,bin6560,35, +CTSPillarNetworkA,6561,6561,6561,1987-12-19,655.8000000000806,655.7869,2015-01-01 01:49:21,bin6561,75, +CTSPillarNetworkA,6562,6562,6562,1987-12-20,655.9000000000806,655.8869,2015-01-01 01:49:22,bin6562,35, +CTSPillarNetworkA,6563,6563,6563,1987-12-21,656.0000000000806,655.9869,2015-01-01 01:49:23,bin6563,75, +CTSPillarNetworkA,6564,6564,6564,1987-12-22,656.1000000000806,656.08685,2015-01-01 01:49:24,bin6564,35, +CTSPillarNetworkA,6565,6565,6565,1987-12-23,656.2000000000806,656.1868,2015-01-01 01:49:25,bin6565,75, +CTSPillarNetworkA,6566,6566,6566,1987-12-24,656.3000000000807,656.2868,2015-01-01 01:49:26,bin6566,35, +CTSPillarNetworkA,6567,6567,6567,1987-12-25,656.4000000000807,656.3868,2015-01-01 01:49:27,bin6567,75, +CTSPillarNetworkA,6568,6568,6568,1987-12-26,656.5000000000807,656.48676,2015-01-01 01:49:28,bin6568,35, +CTSPillarNetworkA,6569,6569,6569,1987-12-27,656.6000000000807,656.58673,2015-01-01 01:49:29,bin6569,75, +CTSPillarNetworkA,6570,6570,6570,1987-12-28,656.7000000000808,656.6867,2015-01-01 01:49:30,bin6570,35, +CTSPillarNetworkA,6571,6571,6571,1987-12-29,656.8000000000808,656.7867,2015-01-01 01:49:31,bin6571,75, +CTSPillarNetworkA,6572,6572,6572,1987-12-30,656.9000000000808,656.88666,2015-01-01 01:49:32,bin6572,35, +CTSPillarNetworkA,6573,6573,6573,1987-12-31,657.0000000000808,656.98663,2015-01-01 01:49:33,bin6573,75, +CTSPillarNetworkA,6574,6574,6574,1988-01-01,657.1000000000809,657.0866,2015-01-01 01:49:34,bin6574,35, +CTSPillarNetworkA,6575,6575,6575,1988-01-02,657.2000000000809,657.1866,2015-01-01 01:49:35,bin6575,75, +CTSPillarNetworkA,6576,6576,6576,1988-01-03,657.3000000000809,657.28656,2015-01-01 01:49:36,bin6576,35, +CTSPillarNetworkA,6577,6577,6577,1988-01-04,657.4000000000809,657.38654,2015-01-01 01:49:37,bin6577,75, +CTSPillarNetworkA,6578,6578,6578,1988-01-05,657.500000000081,657.4865,2015-01-01 01:49:38,bin6578,35, +CTSPillarNetworkA,6579,6579,6579,1988-01-06,657.600000000081,657.5865,2015-01-01 01:49:39,bin6579,75, +CTSPillarNetworkA,6580,6580,6580,1988-01-07,657.700000000081,657.68646,2015-01-01 01:49:40,bin6580,35, +CTSPillarNetworkA,6581,6581,6581,1988-01-08,657.800000000081,657.78644,2015-01-01 01:49:41,bin6581,75, +CTSPillarNetworkA,6582,6582,6582,1988-01-09,657.900000000081,657.8864,2015-01-01 01:49:42,bin6582,35, +CTSPillarNetworkA,6583,6583,6583,1988-01-10,658.0000000000811,657.9864,2015-01-01 01:49:43,bin6583,75, +CTSPillarNetworkA,6584,6584,6584,1988-01-11,658.1000000000811,658.08636,2015-01-01 01:49:44,bin6584,35, +CTSPillarNetworkA,6585,6585,6585,1988-01-12,658.2000000000811,658.18634,2015-01-01 01:49:45,bin6585,75, +CTSPillarNetworkA,6586,6586,6586,1988-01-13,658.3000000000811,658.2863,2015-01-01 01:49:46,bin6586,35, +CTSPillarNetworkA,6587,6587,6587,1988-01-14,658.4000000000811,658.3863,2015-01-01 01:49:47,bin6587,75, +CTSPillarNetworkA,6588,6588,6588,1988-01-15,658.5000000000812,658.48627,2015-01-01 01:49:48,bin6588,35, +CTSPillarNetworkA,6589,6589,6589,1988-01-16,658.6000000000812,658.58624,2015-01-01 01:49:49,bin6589,75, +CTSPillarNetworkA,6590,6590,6590,1988-01-17,658.7000000000812,658.6862,2015-01-01 01:49:50,bin6590,35, +CTSPillarNetworkA,6591,6591,6591,1988-01-18,658.8000000000812,658.7862,2015-01-01 01:49:51,bin6591,75, +CTSPillarNetworkA,6592,6592,6592,1988-01-19,658.9000000000813,658.88617,2015-01-01 01:49:52,bin6592,35, +CTSPillarNetworkA,6593,6593,6593,1988-01-20,659.0000000000813,658.98615,2015-01-01 01:49:53,bin6593,75, +CTSPillarNetworkA,6594,6594,6594,1988-01-21,659.1000000000813,659.0861,2015-01-01 01:49:54,bin6594,35, +CTSPillarNetworkA,6595,6595,6595,1988-01-22,659.2000000000813,659.1861,2015-01-01 01:49:55,bin6595,75, +CTSPillarNetworkA,6596,6596,6596,1988-01-23,659.3000000000814,659.2861,2015-01-01 01:49:56,bin6596,35, +CTSPillarNetworkA,6597,6597,6597,1988-01-24,659.4000000000814,659.38605,2015-01-01 01:49:57,bin6597,75, +CTSPillarNetworkA,6598,6598,6598,1988-01-25,659.5000000000814,659.486,2015-01-01 01:49:58,bin6598,35, +CTSPillarNetworkA,6599,6599,6599,1988-01-26,659.6000000000814,659.586,2015-01-01 01:49:59,bin6599,75, +CTSPillarNetworkA,6600,6600,6600,1988-01-27,659.7000000000814,659.686,2015-01-01 01:50:00,bin6600,35, +CTSPillarNetworkA,6601,6601,6601,1988-01-28,659.8000000000815,659.78595,2015-01-01 01:50:01,bin6601,75, +CTSPillarNetworkA,6602,6602,6602,1988-01-29,659.9000000000815,659.8859,2015-01-01 01:50:02,bin6602,35, +CTSPillarNetworkA,6603,6603,6603,1988-01-30,660.0000000000815,659.9859,2015-01-01 01:50:03,bin6603,75, +CTSPillarNetworkA,6604,6604,6604,1988-01-31,660.1000000000815,660.0859,2015-01-01 01:50:04,bin6604,35, +CTSPillarNetworkA,6605,6605,6605,1988-02-01,660.2000000000816,660.18585,2015-01-01 01:50:05,bin6605,75, +CTSPillarNetworkA,6606,6606,6606,1988-02-02,660.3000000000816,660.2858,2015-01-01 01:50:06,bin6606,35, +CTSPillarNetworkA,6607,6607,6607,1988-02-03,660.4000000000816,660.3858,2015-01-01 01:50:07,bin6607,75, +CTSPillarNetworkA,6608,6608,6608,1988-02-04,660.5000000000816,660.4858,2015-01-01 01:50:08,bin6608,35, +CTSPillarNetworkA,6609,6609,6609,1988-02-05,660.6000000000816,660.58575,2015-01-01 01:50:09,bin6609,75, +CTSPillarNetworkA,6610,6610,6610,1988-02-06,660.7000000000817,660.6857,2015-01-01 01:50:10,bin6610,35, +CTSPillarNetworkA,6611,6611,6611,1988-02-07,660.8000000000817,660.7857,2015-01-01 01:50:11,bin6611,75, +CTSPillarNetworkA,6612,6612,6612,1988-02-08,660.9000000000817,660.8857,2015-01-01 01:50:12,bin6612,35, +CTSPillarNetworkA,6613,6613,6613,1988-02-09,661.0000000000817,660.98566,2015-01-01 01:50:13,bin6613,75, +CTSPillarNetworkA,6614,6614,6614,1988-02-10,661.1000000000818,661.08563,2015-01-01 01:50:14,bin6614,35, +CTSPillarNetworkA,6615,6615,6615,1988-02-11,661.2000000000818,661.1856,2015-01-01 01:50:15,bin6615,75, +CTSPillarNetworkA,6616,6616,6616,1988-02-12,661.3000000000818,661.2856,2015-01-01 01:50:16,bin6616,35, +CTSPillarNetworkA,6617,6617,6617,1988-02-13,661.4000000000818,661.38556,2015-01-01 01:50:17,bin6617,75, +CTSPillarNetworkA,6618,6618,6618,1988-02-14,661.5000000000819,661.48553,2015-01-01 01:50:18,bin6618,35, +CTSPillarNetworkA,6619,6619,6619,1988-02-15,661.6000000000819,661.5855,2015-01-01 01:50:19,bin6619,75, +CTSPillarNetworkA,6620,6620,6620,1988-02-16,661.7000000000819,661.6855,2015-01-01 01:50:20,bin6620,35, +CTSPillarNetworkA,6621,6621,6621,1988-02-17,661.8000000000819,661.78546,2015-01-01 01:50:21,bin6621,75, +CTSPillarNetworkA,6622,6622,6622,1988-02-18,661.900000000082,661.88544,2015-01-01 01:50:22,bin6622,35, +CTSPillarNetworkA,6623,6623,6623,1988-02-19,662.000000000082,661.9854,2015-01-01 01:50:23,bin6623,75, +CTSPillarNetworkA,6624,6624,6624,1988-02-20,662.100000000082,662.0854,2015-01-01 01:50:24,bin6624,35, +CTSPillarNetworkA,6625,6625,6625,1988-02-21,662.200000000082,662.18536,2015-01-01 01:50:25,bin6625,75, +CTSPillarNetworkA,6626,6626,6626,1988-02-22,662.300000000082,662.28534,2015-01-01 01:50:26,bin6626,35, +CTSPillarNetworkA,6627,6627,6627,1988-02-23,662.4000000000821,662.3853,2015-01-01 01:50:27,bin6627,75, +CTSPillarNetworkA,6628,6628,6628,1988-02-24,662.5000000000821,662.4853,2015-01-01 01:50:28,bin6628,35, +CTSPillarNetworkA,6629,6629,6629,1988-02-25,662.6000000000821,662.58527,2015-01-01 01:50:29,bin6629,75, +CTSPillarNetworkA,6630,6630,6630,1988-02-26,662.7000000000821,662.68524,2015-01-01 01:50:30,bin6630,35, +CTSPillarNetworkA,6631,6631,6631,1988-02-27,662.8000000000822,662.7852,2015-01-01 01:50:31,bin6631,75, +CTSPillarNetworkA,6632,6632,6632,1988-02-28,662.9000000000822,662.8852,2015-01-01 01:50:32,bin6632,35, +CTSPillarNetworkA,6633,6633,6633,1988-02-29,663.0000000000822,662.98517,2015-01-01 01:50:33,bin6633,75, +CTSPillarNetworkA,6634,6634,6634,1988-03-01,663.1000000000822,663.08514,2015-01-01 01:50:34,bin6634,35, +CTSPillarNetworkA,6635,6635,6635,1988-03-02,663.2000000000822,663.1851,2015-01-01 01:50:35,bin6635,75, +CTSPillarNetworkA,6636,6636,6636,1988-03-03,663.3000000000823,663.2851,2015-01-01 01:50:36,bin6636,35, +CTSPillarNetworkA,6637,6637,6637,1988-03-04,663.4000000000823,663.3851,2015-01-01 01:50:37,bin6637,75, +CTSPillarNetworkA,6638,6638,6638,1988-03-05,663.5000000000823,663.48505,2015-01-01 01:50:38,bin6638,35, +CTSPillarNetworkA,6639,6639,6639,1988-03-06,663.6000000000823,663.585,2015-01-01 01:50:39,bin6639,75, +CTSPillarNetworkA,6640,6640,6640,1988-03-07,663.7000000000824,663.685,2015-01-01 01:50:40,bin6640,35, +CTSPillarNetworkA,6641,6641,6641,1988-03-08,663.8000000000824,663.785,2015-01-01 01:50:41,bin6641,75, +CTSPillarNetworkA,6642,6642,6642,1988-03-09,663.9000000000824,663.88495,2015-01-01 01:50:42,bin6642,35, +CTSPillarNetworkA,6643,6643,6643,1988-03-10,664.0000000000824,663.9849,2015-01-01 01:50:43,bin6643,75, +CTSPillarNetworkA,6644,6644,6644,1988-03-11,664.1000000000824,664.0849,2015-01-01 01:50:44,bin6644,35, +CTSPillarNetworkA,6645,6645,6645,1988-03-12,664.2000000000825,664.1849,2015-01-01 01:50:45,bin6645,75, +CTSPillarNetworkA,6646,6646,6646,1988-03-13,664.3000000000825,664.28485,2015-01-01 01:50:46,bin6646,35, +CTSPillarNetworkA,6647,6647,6647,1988-03-14,664.4000000000825,664.3848,2015-01-01 01:50:47,bin6647,75, +CTSPillarNetworkA,6648,6648,6648,1988-03-15,664.5000000000825,664.4848,2015-01-01 01:50:48,bin6648,35, +CTSPillarNetworkA,6649,6649,6649,1988-03-16,664.6000000000826,664.5848,2015-01-01 01:50:49,bin6649,75, +CTSPillarNetworkA,6650,6650,6650,1988-03-17,664.7000000000826,664.68475,2015-01-01 01:50:50,bin6650,35, +CTSPillarNetworkA,6651,6651,6651,1988-03-18,664.8000000000826,664.7847,2015-01-01 01:50:51,bin6651,75, +CTSPillarNetworkA,6652,6652,6652,1988-03-19,664.9000000000826,664.8847,2015-01-01 01:50:52,bin6652,35, +CTSPillarNetworkA,6653,6653,6653,1988-03-20,665.0000000000827,664.9847,2015-01-01 01:50:53,bin6653,75, +CTSPillarNetworkA,6654,6654,6654,1988-03-21,665.1000000000827,665.08466,2015-01-01 01:50:54,bin6654,35, +CTSPillarNetworkA,6655,6655,6655,1988-03-22,665.2000000000827,665.18463,2015-01-01 01:50:55,bin6655,75, +CTSPillarNetworkA,6656,6656,6656,1988-03-23,665.3000000000827,665.2846,2015-01-01 01:50:56,bin6656,35, +CTSPillarNetworkA,6657,6657,6657,1988-03-24,665.4000000000827,665.3846,2015-01-01 01:50:57,bin6657,75, +CTSPillarNetworkA,6658,6658,6658,1988-03-25,665.5000000000828,665.48456,2015-01-01 01:50:58,bin6658,35, +CTSPillarNetworkA,6659,6659,6659,1988-03-26,665.6000000000828,665.58453,2015-01-01 01:50:59,bin6659,75, +CTSPillarNetworkA,6660,6660,6660,1988-03-27,665.7000000000828,665.6845,2015-01-01 01:51:00,bin6660,35, +CTSPillarNetworkA,6661,6661,6661,1988-03-28,665.8000000000828,665.7845,2015-01-01 01:51:01,bin6661,75, +CTSPillarNetworkA,6662,6662,6662,1988-03-29,665.9000000000829,665.88446,2015-01-01 01:51:02,bin6662,35, +CTSPillarNetworkA,6663,6663,6663,1988-03-30,666.0000000000829,665.98444,2015-01-01 01:51:03,bin6663,75, +CTSPillarNetworkA,6664,6664,6664,1988-03-31,666.1000000000829,666.0844,2015-01-01 01:51:04,bin6664,35, +CTSPillarNetworkA,6665,6665,6665,1988-04-01,666.2000000000829,666.1844,2015-01-01 01:51:05,bin6665,75, +CTSPillarNetworkA,6666,6666,6666,1988-04-02,666.300000000083,666.28436,2015-01-01 01:51:06,bin6666,35, +CTSPillarNetworkA,6667,6667,6667,1988-04-03,666.400000000083,666.38434,2015-01-01 01:51:07,bin6667,75, +CTSPillarNetworkA,6668,6668,6668,1988-04-04,666.500000000083,666.4843,2015-01-01 01:51:08,bin6668,35, +CTSPillarNetworkA,6669,6669,6669,1988-04-05,666.600000000083,666.5843,2015-01-01 01:51:09,bin6669,75, +CTSPillarNetworkA,6670,6670,6670,1988-04-06,666.700000000083,666.68427,2015-01-01 01:51:10,bin6670,35, +CTSPillarNetworkA,6671,6671,6671,1988-04-07,666.8000000000831,666.78424,2015-01-01 01:51:11,bin6671,75, +CTSPillarNetworkA,6672,6672,6672,1988-04-08,666.9000000000831,666.8842,2015-01-01 01:51:12,bin6672,35, +CTSPillarNetworkA,6673,6673,6673,1988-04-09,667.0000000000831,666.9842,2015-01-01 01:51:13,bin6673,75, +CTSPillarNetworkA,6674,6674,6674,1988-04-10,667.1000000000831,667.08417,2015-01-01 01:51:14,bin6674,35, +CTSPillarNetworkA,6675,6675,6675,1988-04-11,667.2000000000832,667.18414,2015-01-01 01:51:15,bin6675,75, +CTSPillarNetworkA,6676,6676,6676,1988-04-12,667.3000000000832,667.2841,2015-01-01 01:51:16,bin6676,35, +CTSPillarNetworkA,6677,6677,6677,1988-04-13,667.4000000000832,667.3841,2015-01-01 01:51:17,bin6677,75, +CTSPillarNetworkA,6678,6678,6678,1988-04-14,667.5000000000832,667.4841,2015-01-01 01:51:18,bin6678,35, +CTSPillarNetworkA,6679,6679,6679,1988-04-15,667.6000000000832,667.58405,2015-01-01 01:51:19,bin6679,75, +CTSPillarNetworkA,6680,6680,6680,1988-04-16,667.7000000000833,667.684,2015-01-01 01:51:20,bin6680,35, +CTSPillarNetworkA,6681,6681,6681,1988-04-17,667.8000000000833,667.784,2015-01-01 01:51:21,bin6681,75, +CTSPillarNetworkA,6682,6682,6682,1988-04-18,667.9000000000833,667.884,2015-01-01 01:51:22,bin6682,35, +CTSPillarNetworkA,6683,6683,6683,1988-04-19,668.0000000000833,667.98395,2015-01-01 01:51:23,bin6683,75, +CTSPillarNetworkA,6684,6684,6684,1988-04-20,668.1000000000834,668.0839,2015-01-01 01:51:24,bin6684,35, +CTSPillarNetworkA,6685,6685,6685,1988-04-21,668.2000000000834,668.1839,2015-01-01 01:51:25,bin6685,75, +CTSPillarNetworkA,6686,6686,6686,1988-04-22,668.3000000000834,668.2839,2015-01-01 01:51:26,bin6686,35, +CTSPillarNetworkA,6687,6687,6687,1988-04-23,668.4000000000834,668.38385,2015-01-01 01:51:27,bin6687,75, +CTSPillarNetworkA,6688,6688,6688,1988-04-24,668.5000000000834,668.4838,2015-01-01 01:51:28,bin6688,35, +CTSPillarNetworkA,6689,6689,6689,1988-04-25,668.6000000000835,668.5838,2015-01-01 01:51:29,bin6689,75, +CTSPillarNetworkA,6690,6690,6690,1988-04-26,668.7000000000835,668.6838,2015-01-01 01:51:30,bin6690,35, +CTSPillarNetworkA,6691,6691,6691,1988-04-27,668.8000000000835,668.78375,2015-01-01 01:51:31,bin6691,75, +CTSPillarNetworkA,6692,6692,6692,1988-04-28,668.9000000000835,668.8837,2015-01-01 01:51:32,bin6692,35, +CTSPillarNetworkA,6693,6693,6693,1988-04-29,669.0000000000836,668.9837,2015-01-01 01:51:33,bin6693,75, +CTSPillarNetworkA,6694,6694,6694,1988-04-30,669.1000000000836,669.0837,2015-01-01 01:51:34,bin6694,35, +CTSPillarNetworkA,6695,6695,6695,1988-05-01,669.2000000000836,669.18365,2015-01-01 01:51:35,bin6695,75, +CTSPillarNetworkA,6696,6696,6696,1988-05-02,669.3000000000836,669.2836,2015-01-01 01:51:36,bin6696,35, +CTSPillarNetworkA,6697,6697,6697,1988-05-03,669.4000000000837,669.3836,2015-01-01 01:51:37,bin6697,75, +CTSPillarNetworkA,6698,6698,6698,1988-05-04,669.5000000000837,669.4836,2015-01-01 01:51:38,bin6698,35, +CTSPillarNetworkA,6699,6699,6699,1988-05-05,669.6000000000837,669.58356,2015-01-01 01:51:39,bin6699,75, +CTSPillarNetworkA,6700,6700,6700,1988-05-06,669.7000000000837,669.68353,2015-01-01 01:51:40,bin6700,35, +CTSPillarNetworkA,6701,6701,6701,1988-05-07,669.8000000000837,669.7835,2015-01-01 01:51:41,bin6701,75, +CTSPillarNetworkA,6702,6702,6702,1988-05-08,669.9000000000838,669.8835,2015-01-01 01:51:42,bin6702,35, +CTSPillarNetworkA,6703,6703,6703,1988-05-09,670.0000000000838,669.98346,2015-01-01 01:51:43,bin6703,75, +CTSPillarNetworkA,6704,6704,6704,1988-05-10,670.1000000000838,670.08344,2015-01-01 01:51:44,bin6704,35, +CTSPillarNetworkA,6705,6705,6705,1988-05-11,670.2000000000838,670.1834,2015-01-01 01:51:45,bin6705,75, +CTSPillarNetworkA,6706,6706,6706,1988-05-12,670.3000000000839,670.2834,2015-01-01 01:51:46,bin6706,35, +CTSPillarNetworkA,6707,6707,6707,1988-05-13,670.4000000000839,670.38336,2015-01-01 01:51:47,bin6707,75, +CTSPillarNetworkA,6708,6708,6708,1988-05-14,670.5000000000839,670.48334,2015-01-01 01:51:48,bin6708,35, +CTSPillarNetworkA,6709,6709,6709,1988-05-15,670.6000000000839,670.5833,2015-01-01 01:51:49,bin6709,75, +CTSPillarNetworkA,6710,6710,6710,1988-05-16,670.700000000084,670.6833,2015-01-01 01:51:50,bin6710,35, +CTSPillarNetworkA,6711,6711,6711,1988-05-17,670.800000000084,670.78326,2015-01-01 01:51:51,bin6711,75, +CTSPillarNetworkA,6712,6712,6712,1988-05-18,670.900000000084,670.88324,2015-01-01 01:51:52,bin6712,35, +CTSPillarNetworkA,6713,6713,6713,1988-05-19,671.000000000084,670.9832,2015-01-01 01:51:53,bin6713,75, +CTSPillarNetworkA,6714,6714,6714,1988-05-20,671.100000000084,671.0832,2015-01-01 01:51:54,bin6714,35, +CTSPillarNetworkA,6715,6715,6715,1988-05-21,671.2000000000841,671.18317,2015-01-01 01:51:55,bin6715,75, +CTSPillarNetworkA,6716,6716,6716,1988-05-22,671.3000000000841,671.28314,2015-01-01 01:51:56,bin6716,35, +CTSPillarNetworkA,6717,6717,6717,1988-05-23,671.4000000000841,671.3831,2015-01-01 01:51:57,bin6717,75, +CTSPillarNetworkA,6718,6718,6718,1988-05-24,671.5000000000841,671.4831,2015-01-01 01:51:58,bin6718,35, +CTSPillarNetworkA,6719,6719,6719,1988-05-25,671.6000000000842,671.58307,2015-01-01 01:51:59,bin6719,75, +CTSPillarNetworkA,6720,6720,6720,1988-05-26,671.7000000000842,671.68304,2015-01-01 01:52:00,bin6720,35, +CTSPillarNetworkA,6721,6721,6721,1988-05-27,671.8000000000842,671.783,2015-01-01 01:52:01,bin6721,75, +CTSPillarNetworkA,6722,6722,6722,1988-05-28,671.9000000000842,671.883,2015-01-01 01:52:02,bin6722,35, +CTSPillarNetworkA,6723,6723,6723,1988-05-29,672.0000000000842,671.983,2015-01-01 01:52:03,bin6723,75, +CTSPillarNetworkA,6724,6724,6724,1988-05-30,672.1000000000843,672.08295,2015-01-01 01:52:04,bin6724,35, +CTSPillarNetworkA,6725,6725,6725,1988-05-31,672.2000000000843,672.1829,2015-01-01 01:52:05,bin6725,75, +CTSPillarNetworkA,6726,6726,6726,1988-06-01,672.3000000000843,672.2829,2015-01-01 01:52:06,bin6726,35, +CTSPillarNetworkA,6727,6727,6727,1988-06-02,672.4000000000843,672.3829,2015-01-01 01:52:07,bin6727,75, +CTSPillarNetworkA,6728,6728,6728,1988-06-03,672.5000000000844,672.48285,2015-01-01 01:52:08,bin6728,35, +CTSPillarNetworkA,6729,6729,6729,1988-06-04,672.6000000000844,672.5828,2015-01-01 01:52:09,bin6729,75, +CTSPillarNetworkA,6730,6730,6730,1988-06-05,672.7000000000844,672.6828,2015-01-01 01:52:10,bin6730,35, +CTSPillarNetworkA,6731,6731,6731,1988-06-06,672.8000000000844,672.7828,2015-01-01 01:52:11,bin6731,75, +CTSPillarNetworkA,6732,6732,6732,1988-06-07,672.9000000000844,672.88275,2015-01-01 01:52:12,bin6732,35, +CTSPillarNetworkA,6733,6733,6733,1988-06-08,673.0000000000845,672.9827,2015-01-01 01:52:13,bin6733,75, +CTSPillarNetworkA,6734,6734,6734,1988-06-09,673.1000000000845,673.0827,2015-01-01 01:52:14,bin6734,35, +CTSPillarNetworkA,6735,6735,6735,1988-06-10,673.2000000000845,673.1827,2015-01-01 01:52:15,bin6735,75, +CTSPillarNetworkA,6736,6736,6736,1988-06-11,673.3000000000845,673.28265,2015-01-01 01:52:16,bin6736,35, +CTSPillarNetworkA,6737,6737,6737,1988-06-12,673.4000000000846,673.3826,2015-01-01 01:52:17,bin6737,75, +CTSPillarNetworkA,6738,6738,6738,1988-06-13,673.5000000000846,673.4826,2015-01-01 01:52:18,bin6738,35, +CTSPillarNetworkA,6739,6739,6739,1988-06-14,673.6000000000846,673.5826,2015-01-01 01:52:19,bin6739,75, +CTSPillarNetworkA,6740,6740,6740,1988-06-15,673.7000000000846,673.68256,2015-01-01 01:52:20,bin6740,35, +CTSPillarNetworkA,6741,6741,6741,1988-06-16,673.8000000000847,673.78253,2015-01-01 01:52:21,bin6741,75, +CTSPillarNetworkA,6742,6742,6742,1988-06-17,673.9000000000847,673.8825,2015-01-01 01:52:22,bin6742,35, +CTSPillarNetworkA,6743,6743,6743,1988-06-18,674.0000000000847,673.9825,2015-01-01 01:52:23,bin6743,75, +CTSPillarNetworkA,6744,6744,6744,1988-06-19,674.1000000000847,674.08246,2015-01-01 01:52:24,bin6744,35, +CTSPillarNetworkA,6745,6745,6745,1988-06-20,674.2000000000847,674.18243,2015-01-01 01:52:25,bin6745,75, +CTSPillarNetworkA,6746,6746,6746,1988-06-21,674.3000000000848,674.2824,2015-01-01 01:52:26,bin6746,35, +CTSPillarNetworkA,6747,6747,6747,1988-06-22,674.4000000000848,674.3824,2015-01-01 01:52:27,bin6747,75, +CTSPillarNetworkA,6748,6748,6748,1988-06-23,674.5000000000848,674.48236,2015-01-01 01:52:28,bin6748,35, +CTSPillarNetworkA,6749,6749,6749,1988-06-24,674.6000000000848,674.58234,2015-01-01 01:52:29,bin6749,75, +CTSPillarNetworkA,6750,6750,6750,1988-06-25,674.7000000000849,674.6823,2015-01-01 01:52:30,bin6750,35, +CTSPillarNetworkA,6751,6751,6751,1988-06-26,674.8000000000849,674.7823,2015-01-01 01:52:31,bin6751,75, +CTSPillarNetworkA,6752,6752,6752,1988-06-27,674.9000000000849,674.88226,2015-01-01 01:52:32,bin6752,35, +CTSPillarNetworkA,6753,6753,6753,1988-06-28,675.0000000000849,674.98224,2015-01-01 01:52:33,bin6753,75, +CTSPillarNetworkA,6754,6754,6754,1988-06-29,675.100000000085,675.0822,2015-01-01 01:52:34,bin6754,35, +CTSPillarNetworkA,6755,6755,6755,1988-06-30,675.200000000085,675.1822,2015-01-01 01:52:35,bin6755,75, +CTSPillarNetworkA,6756,6756,6756,1988-07-01,675.300000000085,675.28217,2015-01-01 01:52:36,bin6756,35, +CTSPillarNetworkA,6757,6757,6757,1988-07-02,675.400000000085,675.38214,2015-01-01 01:52:37,bin6757,75, +CTSPillarNetworkA,6758,6758,6758,1988-07-03,675.500000000085,675.4821,2015-01-01 01:52:38,bin6758,35, +CTSPillarNetworkA,6759,6759,6759,1988-07-04,675.6000000000851,675.5821,2015-01-01 01:52:39,bin6759,75, +CTSPillarNetworkA,6760,6760,6760,1988-07-05,675.7000000000851,675.68207,2015-01-01 01:52:40,bin6760,35, +CTSPillarNetworkA,6761,6761,6761,1988-07-06,675.8000000000851,675.78204,2015-01-01 01:52:41,bin6761,75, +CTSPillarNetworkA,6762,6762,6762,1988-07-07,675.9000000000851,675.882,2015-01-01 01:52:42,bin6762,35, +CTSPillarNetworkA,6763,6763,6763,1988-07-08,676.0000000000852,675.982,2015-01-01 01:52:43,bin6763,75, +CTSPillarNetworkA,6764,6764,6764,1988-07-09,676.1000000000852,676.082,2015-01-01 01:52:44,bin6764,35, +CTSPillarNetworkA,6765,6765,6765,1988-07-10,676.2000000000852,676.18195,2015-01-01 01:52:45,bin6765,75, +CTSPillarNetworkA,6766,6766,6766,1988-07-11,676.3000000000852,676.2819,2015-01-01 01:52:46,bin6766,35, +CTSPillarNetworkA,6767,6767,6767,1988-07-12,676.4000000000852,676.3819,2015-01-01 01:52:47,bin6767,75, +CTSPillarNetworkA,6768,6768,6768,1988-07-13,676.5000000000853,676.4819,2015-01-01 01:52:48,bin6768,35, +CTSPillarNetworkA,6769,6769,6769,1988-07-14,676.6000000000853,676.58185,2015-01-01 01:52:49,bin6769,75, +CTSPillarNetworkA,6770,6770,6770,1988-07-15,676.7000000000853,676.6818,2015-01-01 01:52:50,bin6770,35, +CTSPillarNetworkA,6771,6771,6771,1988-07-16,676.8000000000853,676.7818,2015-01-01 01:52:51,bin6771,75, +CTSPillarNetworkA,6772,6772,6772,1988-07-17,676.9000000000854,676.8818,2015-01-01 01:52:52,bin6772,35, +CTSPillarNetworkA,6773,6773,6773,1988-07-18,677.0000000000854,676.98175,2015-01-01 01:52:53,bin6773,75, +CTSPillarNetworkA,6774,6774,6774,1988-07-19,677.1000000000854,677.0817,2015-01-01 01:52:54,bin6774,35, +CTSPillarNetworkA,6775,6775,6775,1988-07-20,677.2000000000854,677.1817,2015-01-01 01:52:55,bin6775,75, +CTSPillarNetworkA,6776,6776,6776,1988-07-21,677.3000000000854,677.2817,2015-01-01 01:52:56,bin6776,35, +CTSPillarNetworkA,6777,6777,6777,1988-07-22,677.4000000000855,677.38165,2015-01-01 01:52:57,bin6777,75, +CTSPillarNetworkA,6778,6778,6778,1988-07-23,677.5000000000855,677.4816,2015-01-01 01:52:58,bin6778,35, +CTSPillarNetworkA,6779,6779,6779,1988-07-24,677.6000000000855,677.5816,2015-01-01 01:52:59,bin6779,75, +CTSPillarNetworkA,6780,6780,6780,1988-07-25,677.7000000000855,677.6816,2015-01-01 01:53:00,bin6780,35, +CTSPillarNetworkA,6781,6781,6781,1988-07-26,677.8000000000856,677.78156,2015-01-01 01:53:01,bin6781,75, +CTSPillarNetworkA,6782,6782,6782,1988-07-27,677.9000000000856,677.88153,2015-01-01 01:53:02,bin6782,35, +CTSPillarNetworkA,6783,6783,6783,1988-07-28,678.0000000000856,677.9815,2015-01-01 01:53:03,bin6783,75, +CTSPillarNetworkA,6784,6784,6784,1988-07-29,678.1000000000856,678.0815,2015-01-01 01:53:04,bin6784,35, +CTSPillarNetworkA,6785,6785,6785,1988-07-30,678.2000000000857,678.18146,2015-01-01 01:53:05,bin6785,75, +CTSPillarNetworkA,6786,6786,6786,1988-07-31,678.3000000000857,678.28143,2015-01-01 01:53:06,bin6786,35, +CTSPillarNetworkA,6787,6787,6787,1988-08-01,678.4000000000857,678.3814,2015-01-01 01:53:07,bin6787,75, +CTSPillarNetworkA,6788,6788,6788,1988-08-02,678.5000000000857,678.4814,2015-01-01 01:53:08,bin6788,35, +CTSPillarNetworkA,6789,6789,6789,1988-08-03,678.6000000000857,678.58136,2015-01-01 01:53:09,bin6789,75, +CTSPillarNetworkA,6790,6790,6790,1988-08-04,678.7000000000858,678.68134,2015-01-01 01:53:10,bin6790,35, +CTSPillarNetworkA,6791,6791,6791,1988-08-05,678.8000000000858,678.7813,2015-01-01 01:53:11,bin6791,75, +CTSPillarNetworkA,6792,6792,6792,1988-08-06,678.9000000000858,678.8813,2015-01-01 01:53:12,bin6792,35, +CTSPillarNetworkA,6793,6793,6793,1988-08-07,679.0000000000858,678.98126,2015-01-01 01:53:13,bin6793,75, +CTSPillarNetworkA,6794,6794,6794,1988-08-08,679.1000000000859,679.08124,2015-01-01 01:53:14,bin6794,35, +CTSPillarNetworkA,6795,6795,6795,1988-08-09,679.2000000000859,679.1812,2015-01-01 01:53:15,bin6795,75, +CTSPillarNetworkA,6796,6796,6796,1988-08-10,679.3000000000859,679.2812,2015-01-01 01:53:16,bin6796,35, +CTSPillarNetworkA,6797,6797,6797,1988-08-11,679.4000000000859,679.38116,2015-01-01 01:53:17,bin6797,75, +CTSPillarNetworkA,6798,6798,6798,1988-08-12,679.500000000086,679.48114,2015-01-01 01:53:18,bin6798,35, +CTSPillarNetworkA,6799,6799,6799,1988-08-13,679.600000000086,679.5811,2015-01-01 01:53:19,bin6799,75, +CTSPillarNetworkA,6800,6800,6800,1988-08-14,679.700000000086,679.6811,2015-01-01 01:53:20,bin6800,35, +CTSPillarNetworkA,6801,6801,6801,1988-08-15,679.800000000086,679.78107,2015-01-01 01:53:21,bin6801,75, +CTSPillarNetworkA,6802,6802,6802,1988-08-16,679.900000000086,679.88104,2015-01-01 01:53:22,bin6802,35, +CTSPillarNetworkA,6803,6803,6803,1988-08-17,680.0000000000861,679.981,2015-01-01 01:53:23,bin6803,75, +CTSPillarNetworkA,6804,6804,6804,1988-08-18,680.1000000000861,680.081,2015-01-01 01:53:24,bin6804,35, +CTSPillarNetworkA,6805,6805,6805,1988-08-19,680.2000000000861,680.18097,2015-01-01 01:53:25,bin6805,75, +CTSPillarNetworkA,6806,6806,6806,1988-08-20,680.3000000000861,680.28094,2015-01-01 01:53:26,bin6806,35, +CTSPillarNetworkA,6807,6807,6807,1988-08-21,680.4000000000862,680.3809,2015-01-01 01:53:27,bin6807,75, +CTSPillarNetworkA,6808,6808,6808,1988-08-22,680.5000000000862,680.4809,2015-01-01 01:53:28,bin6808,35, +CTSPillarNetworkA,6809,6809,6809,1988-08-23,680.6000000000862,680.5809,2015-01-01 01:53:29,bin6809,75, +CTSPillarNetworkA,6810,6810,6810,1988-08-24,680.7000000000862,680.68085,2015-01-01 01:53:30,bin6810,35, +CTSPillarNetworkA,6811,6811,6811,1988-08-25,680.8000000000862,680.7808,2015-01-01 01:53:31,bin6811,75, +CTSPillarNetworkA,6812,6812,6812,1988-08-26,680.9000000000863,680.8808,2015-01-01 01:53:32,bin6812,35, +CTSPillarNetworkA,6813,6813,6813,1988-08-27,681.0000000000863,680.9808,2015-01-01 01:53:33,bin6813,75, +CTSPillarNetworkA,6814,6814,6814,1988-08-28,681.1000000000863,681.08075,2015-01-01 01:53:34,bin6814,35, +CTSPillarNetworkA,6815,6815,6815,1988-08-29,681.2000000000863,681.1807,2015-01-01 01:53:35,bin6815,75, +CTSPillarNetworkA,6816,6816,6816,1988-08-30,681.3000000000864,681.2807,2015-01-01 01:53:36,bin6816,35, +CTSPillarNetworkA,6817,6817,6817,1988-08-31,681.4000000000864,681.3807,2015-01-01 01:53:37,bin6817,75, +CTSPillarNetworkA,6818,6818,6818,1988-09-01,681.5000000000864,681.48065,2015-01-01 01:53:38,bin6818,35, +CTSPillarNetworkA,6819,6819,6819,1988-09-02,681.6000000000864,681.5806,2015-01-01 01:53:39,bin6819,75, +CTSPillarNetworkA,6820,6820,6820,1988-09-03,681.7000000000864,681.6806,2015-01-01 01:53:40,bin6820,35, +CTSPillarNetworkA,6821,6821,6821,1988-09-04,681.8000000000865,681.7806,2015-01-01 01:53:41,bin6821,75, +CTSPillarNetworkA,6822,6822,6822,1988-09-05,681.9000000000865,681.88055,2015-01-01 01:53:42,bin6822,35, +CTSPillarNetworkA,6823,6823,6823,1988-09-06,682.0000000000865,681.9805,2015-01-01 01:53:43,bin6823,75, +CTSPillarNetworkA,6824,6824,6824,1988-09-07,682.1000000000865,682.0805,2015-01-01 01:53:44,bin6824,35, +CTSPillarNetworkA,6825,6825,6825,1988-09-08,682.2000000000866,682.1805,2015-01-01 01:53:45,bin6825,75, +CTSPillarNetworkA,6826,6826,6826,1988-09-09,682.3000000000866,682.28046,2015-01-01 01:53:46,bin6826,35, +CTSPillarNetworkA,6827,6827,6827,1988-09-10,682.4000000000866,682.38043,2015-01-01 01:53:47,bin6827,75, +CTSPillarNetworkA,6828,6828,6828,1988-09-11,682.5000000000866,682.4804,2015-01-01 01:53:48,bin6828,35, +CTSPillarNetworkA,6829,6829,6829,1988-09-12,682.6000000000867,682.5804,2015-01-01 01:53:49,bin6829,75, +CTSPillarNetworkA,6830,6830,6830,1988-09-13,682.7000000000867,682.68036,2015-01-01 01:53:50,bin6830,35, +CTSPillarNetworkA,6831,6831,6831,1988-09-14,682.8000000000867,682.78033,2015-01-01 01:53:51,bin6831,75, +CTSPillarNetworkA,6832,6832,6832,1988-09-15,682.9000000000867,682.8803,2015-01-01 01:53:52,bin6832,35, +CTSPillarNetworkA,6833,6833,6833,1988-09-16,683.0000000000867,682.9803,2015-01-01 01:53:53,bin6833,75, +CTSPillarNetworkA,6834,6834,6834,1988-09-17,683.1000000000868,683.08026,2015-01-01 01:53:54,bin6834,35, +CTSPillarNetworkA,6835,6835,6835,1988-09-18,683.2000000000868,683.18024,2015-01-01 01:53:55,bin6835,75, +CTSPillarNetworkA,6836,6836,6836,1988-09-19,683.3000000000868,683.2802,2015-01-01 01:53:56,bin6836,35, +CTSPillarNetworkA,6837,6837,6837,1988-09-20,683.4000000000868,683.3802,2015-01-01 01:53:57,bin6837,75, +CTSPillarNetworkA,6838,6838,6838,1988-09-21,683.5000000000869,683.48016,2015-01-01 01:53:58,bin6838,35, +CTSPillarNetworkA,6839,6839,6839,1988-09-22,683.6000000000869,683.58014,2015-01-01 01:53:59,bin6839,75, +CTSPillarNetworkA,6840,6840,6840,1988-09-23,683.7000000000869,683.6801,2015-01-01 01:54:00,bin6840,35, +CTSPillarNetworkA,6841,6841,6841,1988-09-24,683.8000000000869,683.7801,2015-01-01 01:54:01,bin6841,75, +CTSPillarNetworkA,6842,6842,6842,1988-09-25,683.900000000087,683.88007,2015-01-01 01:54:02,bin6842,35, +CTSPillarNetworkA,6843,6843,6843,1988-09-26,684.000000000087,683.98004,2015-01-01 01:54:03,bin6843,75, +CTSPillarNetworkA,6844,6844,6844,1988-09-27,684.100000000087,684.08,2015-01-01 01:54:04,bin6844,35, +CTSPillarNetworkA,6845,6845,6845,1988-09-28,684.200000000087,684.18,2015-01-01 01:54:05,bin6845,75, +CTSPillarNetworkA,6846,6846,6846,1988-09-29,684.300000000087,684.27997,2015-01-01 01:54:06,bin6846,35, +CTSPillarNetworkA,6847,6847,6847,1988-09-30,684.4000000000871,684.37994,2015-01-01 01:54:07,bin6847,75, +CTSPillarNetworkA,6848,6848,6848,1988-10-01,684.5000000000871,684.4799,2015-01-01 01:54:08,bin6848,35, +CTSPillarNetworkA,6849,6849,6849,1988-10-02,684.6000000000871,684.5799,2015-01-01 01:54:09,bin6849,75, +CTSPillarNetworkA,6850,6850,6850,1988-10-03,684.7000000000871,684.6799,2015-01-01 01:54:10,bin6850,35, +CTSPillarNetworkA,6851,6851,6851,1988-10-04,684.8000000000872,684.77985,2015-01-01 01:54:11,bin6851,75, +CTSPillarNetworkA,6852,6852,6852,1988-10-05,684.9000000000872,684.8798,2015-01-01 01:54:12,bin6852,35, +CTSPillarNetworkA,6853,6853,6853,1988-10-06,685.0000000000872,684.9798,2015-01-01 01:54:13,bin6853,75, +CTSPillarNetworkA,6854,6854,6854,1988-10-07,685.1000000000872,685.0798,2015-01-01 01:54:14,bin6854,35, +CTSPillarNetworkA,6855,6855,6855,1988-10-08,685.2000000000872,685.17975,2015-01-01 01:54:15,bin6855,75, +CTSPillarNetworkA,6856,6856,6856,1988-10-09,685.3000000000873,685.2797,2015-01-01 01:54:16,bin6856,35, +CTSPillarNetworkA,6857,6857,6857,1988-10-10,685.4000000000873,685.3797,2015-01-01 01:54:17,bin6857,75, +CTSPillarNetworkA,6858,6858,6858,1988-10-11,685.5000000000873,685.4797,2015-01-01 01:54:18,bin6858,35, +CTSPillarNetworkA,6859,6859,6859,1988-10-12,685.6000000000873,685.57965,2015-01-01 01:54:19,bin6859,75, +CTSPillarNetworkA,6860,6860,6860,1988-10-13,685.7000000000874,685.6796,2015-01-01 01:54:20,bin6860,35, +CTSPillarNetworkA,6861,6861,6861,1988-10-14,685.8000000000874,685.7796,2015-01-01 01:54:21,bin6861,75, +CTSPillarNetworkA,6862,6862,6862,1988-10-15,685.9000000000874,685.8796,2015-01-01 01:54:22,bin6862,35, +CTSPillarNetworkA,6863,6863,6863,1988-10-16,686.0000000000874,685.97955,2015-01-01 01:54:23,bin6863,75, +CTSPillarNetworkA,6864,6864,6864,1988-10-17,686.1000000000874,686.0795,2015-01-01 01:54:24,bin6864,35, +CTSPillarNetworkA,6865,6865,6865,1988-10-18,686.2000000000875,686.1795,2015-01-01 01:54:25,bin6865,75, +CTSPillarNetworkA,6866,6866,6866,1988-10-19,686.3000000000875,686.2795,2015-01-01 01:54:26,bin6866,35, +CTSPillarNetworkA,6867,6867,6867,1988-10-20,686.4000000000875,686.37946,2015-01-01 01:54:27,bin6867,75, +CTSPillarNetworkA,6868,6868,6868,1988-10-21,686.5000000000875,686.47943,2015-01-01 01:54:28,bin6868,35, +CTSPillarNetworkA,6869,6869,6869,1988-10-22,686.6000000000876,686.5794,2015-01-01 01:54:29,bin6869,75, +CTSPillarNetworkA,6870,6870,6870,1988-10-23,686.7000000000876,686.6794,2015-01-01 01:54:30,bin6870,35, +CTSPillarNetworkA,6871,6871,6871,1988-10-24,686.8000000000876,686.77936,2015-01-01 01:54:31,bin6871,75, +CTSPillarNetworkA,6872,6872,6872,1988-10-25,686.9000000000876,686.87933,2015-01-01 01:54:32,bin6872,35, +CTSPillarNetworkA,6873,6873,6873,1988-10-26,687.0000000000877,686.9793,2015-01-01 01:54:33,bin6873,75, +CTSPillarNetworkA,6874,6874,6874,1988-10-27,687.1000000000877,687.0793,2015-01-01 01:54:34,bin6874,35, +CTSPillarNetworkA,6875,6875,6875,1988-10-28,687.2000000000877,687.17926,2015-01-01 01:54:35,bin6875,75, +CTSPillarNetworkA,6876,6876,6876,1988-10-29,687.3000000000877,687.27924,2015-01-01 01:54:36,bin6876,35, +CTSPillarNetworkA,6877,6877,6877,1988-10-30,687.4000000000877,687.3792,2015-01-01 01:54:37,bin6877,75, +CTSPillarNetworkA,6878,6878,6878,1988-10-31,687.5000000000878,687.4792,2015-01-01 01:54:38,bin6878,35, +CTSPillarNetworkA,6879,6879,6879,1988-11-01,687.6000000000878,687.57916,2015-01-01 01:54:39,bin6879,75, +CTSPillarNetworkA,6880,6880,6880,1988-11-02,687.7000000000878,687.67914,2015-01-01 01:54:40,bin6880,35, +CTSPillarNetworkA,6881,6881,6881,1988-11-03,687.8000000000878,687.7791,2015-01-01 01:54:41,bin6881,75, +CTSPillarNetworkA,6882,6882,6882,1988-11-04,687.9000000000879,687.8791,2015-01-01 01:54:42,bin6882,35, +CTSPillarNetworkA,6883,6883,6883,1988-11-05,688.0000000000879,687.97906,2015-01-01 01:54:43,bin6883,75, +CTSPillarNetworkA,6884,6884,6884,1988-11-06,688.1000000000879,688.07904,2015-01-01 01:54:44,bin6884,35, +CTSPillarNetworkA,6885,6885,6885,1988-11-07,688.2000000000879,688.179,2015-01-01 01:54:45,bin6885,75, +CTSPillarNetworkA,6886,6886,6886,1988-11-08,688.300000000088,688.279,2015-01-01 01:54:46,bin6886,35, +CTSPillarNetworkA,6887,6887,6887,1988-11-09,688.400000000088,688.37897,2015-01-01 01:54:47,bin6887,75, +CTSPillarNetworkA,6888,6888,6888,1988-11-10,688.500000000088,688.47894,2015-01-01 01:54:48,bin6888,35, +CTSPillarNetworkA,6889,6889,6889,1988-11-11,688.600000000088,688.5789,2015-01-01 01:54:49,bin6889,75, +CTSPillarNetworkA,6890,6890,6890,1988-11-12,688.700000000088,688.6789,2015-01-01 01:54:50,bin6890,35, +CTSPillarNetworkA,6891,6891,6891,1988-11-13,688.8000000000881,688.7789,2015-01-01 01:54:51,bin6891,75, +CTSPillarNetworkA,6892,6892,6892,1988-11-14,688.9000000000881,688.87885,2015-01-01 01:54:52,bin6892,35, +CTSPillarNetworkA,6893,6893,6893,1988-11-15,689.0000000000881,688.9788,2015-01-01 01:54:53,bin6893,75, +CTSPillarNetworkA,6894,6894,6894,1988-11-16,689.1000000000881,689.0788,2015-01-01 01:54:54,bin6894,35, +CTSPillarNetworkA,6895,6895,6895,1988-11-17,689.2000000000882,689.1788,2015-01-01 01:54:55,bin6895,75, +CTSPillarNetworkA,6896,6896,6896,1988-11-18,689.3000000000882,689.27875,2015-01-01 01:54:56,bin6896,35, +CTSPillarNetworkA,6897,6897,6897,1988-11-19,689.4000000000882,689.3787,2015-01-01 01:54:57,bin6897,75, +CTSPillarNetworkA,6898,6898,6898,1988-11-20,689.5000000000882,689.4787,2015-01-01 01:54:58,bin6898,35, +CTSPillarNetworkA,6899,6899,6899,1988-11-21,689.6000000000882,689.5787,2015-01-01 01:54:59,bin6899,75, +CTSPillarNetworkA,6900,6900,6900,1988-11-22,689.7000000000883,689.67865,2015-01-01 01:55:00,bin6900,35, +CTSPillarNetworkA,6901,6901,6901,1988-11-23,689.8000000000883,689.7786,2015-01-01 01:55:01,bin6901,75, +CTSPillarNetworkA,6902,6902,6902,1988-11-24,689.9000000000883,689.8786,2015-01-01 01:55:02,bin6902,35, +CTSPillarNetworkA,6903,6903,6903,1988-11-25,690.0000000000883,689.9786,2015-01-01 01:55:03,bin6903,75, +CTSPillarNetworkA,6904,6904,6904,1988-11-26,690.1000000000884,690.07855,2015-01-01 01:55:04,bin6904,35, +CTSPillarNetworkA,6905,6905,6905,1988-11-27,690.2000000000884,690.1785,2015-01-01 01:55:05,bin6905,75, +CTSPillarNetworkA,6906,6906,6906,1988-11-28,690.3000000000884,690.2785,2015-01-01 01:55:06,bin6906,35, +CTSPillarNetworkA,6907,6907,6907,1988-11-29,690.4000000000884,690.3785,2015-01-01 01:55:07,bin6907,75, +CTSPillarNetworkA,6908,6908,6908,1988-11-30,690.5000000000884,690.47845,2015-01-01 01:55:08,bin6908,35, +CTSPillarNetworkA,6909,6909,6909,1988-12-01,690.6000000000885,690.5784,2015-01-01 01:55:09,bin6909,75, +CTSPillarNetworkA,6910,6910,6910,1988-12-02,690.7000000000885,690.6784,2015-01-01 01:55:10,bin6910,35, +CTSPillarNetworkA,6911,6911,6911,1988-12-03,690.8000000000885,690.7784,2015-01-01 01:55:11,bin6911,75, +CTSPillarNetworkA,6912,6912,6912,1988-12-04,690.9000000000885,690.87836,2015-01-01 01:55:12,bin6912,35, +CTSPillarNetworkA,6913,6913,6913,1988-12-05,691.0000000000886,690.97833,2015-01-01 01:55:13,bin6913,75, +CTSPillarNetworkA,6914,6914,6914,1988-12-06,691.1000000000886,691.0783,2015-01-01 01:55:14,bin6914,35, +CTSPillarNetworkA,6915,6915,6915,1988-12-07,691.2000000000886,691.1783,2015-01-01 01:55:15,bin6915,75, +CTSPillarNetworkA,6916,6916,6916,1988-12-08,691.3000000000886,691.27826,2015-01-01 01:55:16,bin6916,35, +CTSPillarNetworkA,6917,6917,6917,1988-12-09,691.4000000000887,691.37823,2015-01-01 01:55:17,bin6917,75, +CTSPillarNetworkA,6918,6918,6918,1988-12-10,691.5000000000887,691.4782,2015-01-01 01:55:18,bin6918,35, +CTSPillarNetworkA,6919,6919,6919,1988-12-11,691.6000000000887,691.5782,2015-01-01 01:55:19,bin6919,75, +CTSPillarNetworkA,6920,6920,6920,1988-12-12,691.7000000000887,691.67816,2015-01-01 01:55:20,bin6920,35, +CTSPillarNetworkA,6921,6921,6921,1988-12-13,691.8000000000887,691.77814,2015-01-01 01:55:21,bin6921,75, +CTSPillarNetworkA,6922,6922,6922,1988-12-14,691.9000000000888,691.8781,2015-01-01 01:55:22,bin6922,35, +CTSPillarNetworkA,6923,6923,6923,1988-12-15,692.0000000000888,691.9781,2015-01-01 01:55:23,bin6923,75, +CTSPillarNetworkA,6924,6924,6924,1988-12-16,692.1000000000888,692.07806,2015-01-01 01:55:24,bin6924,35, +CTSPillarNetworkA,6925,6925,6925,1988-12-17,692.2000000000888,692.17804,2015-01-01 01:55:25,bin6925,75, +CTSPillarNetworkA,6926,6926,6926,1988-12-18,692.3000000000889,692.278,2015-01-01 01:55:26,bin6926,35, +CTSPillarNetworkA,6927,6927,6927,1988-12-19,692.4000000000889,692.378,2015-01-01 01:55:27,bin6927,75, +CTSPillarNetworkA,6928,6928,6928,1988-12-20,692.5000000000889,692.47797,2015-01-01 01:55:28,bin6928,35, +CTSPillarNetworkA,6929,6929,6929,1988-12-21,692.6000000000889,692.57794,2015-01-01 01:55:29,bin6929,75, +CTSPillarNetworkA,6930,6930,6930,1988-12-22,692.700000000089,692.6779,2015-01-01 01:55:30,bin6930,35, +CTSPillarNetworkA,6931,6931,6931,1988-12-23,692.800000000089,692.7779,2015-01-01 01:55:31,bin6931,75, +CTSPillarNetworkA,6932,6932,6932,1988-12-24,692.900000000089,692.87787,2015-01-01 01:55:32,bin6932,35, +CTSPillarNetworkA,6933,6933,6933,1988-12-25,693.000000000089,692.97784,2015-01-01 01:55:33,bin6933,75, +CTSPillarNetworkA,6934,6934,6934,1988-12-26,693.100000000089,693.0778,2015-01-01 01:55:34,bin6934,35, +CTSPillarNetworkA,6935,6935,6935,1988-12-27,693.2000000000891,693.1778,2015-01-01 01:55:35,bin6935,75, +CTSPillarNetworkA,6936,6936,6936,1988-12-28,693.3000000000891,693.2778,2015-01-01 01:55:36,bin6936,35, +CTSPillarNetworkA,6937,6937,6937,1988-12-29,693.4000000000891,693.37775,2015-01-01 01:55:37,bin6937,75, +CTSPillarNetworkA,6938,6938,6938,1988-12-30,693.5000000000891,693.4777,2015-01-01 01:55:38,bin6938,35, +CTSPillarNetworkA,6939,6939,6939,1988-12-31,693.6000000000892,693.5777,2015-01-01 01:55:39,bin6939,75, +CTSPillarNetworkA,6940,6940,6940,1989-01-01,693.7000000000892,693.6777,2015-01-01 01:55:40,bin6940,35, +CTSPillarNetworkA,6941,6941,6941,1989-01-02,693.8000000000892,693.77765,2015-01-01 01:55:41,bin6941,75, +CTSPillarNetworkA,6942,6942,6942,1989-01-03,693.9000000000892,693.8776,2015-01-01 01:55:42,bin6942,35, +CTSPillarNetworkA,6943,6943,6943,1989-01-04,694.0000000000892,693.9776,2015-01-01 01:55:43,bin6943,75, +CTSPillarNetworkA,6944,6944,6944,1989-01-05,694.1000000000893,694.0776,2015-01-01 01:55:44,bin6944,35, +CTSPillarNetworkA,6945,6945,6945,1989-01-06,694.2000000000893,694.17755,2015-01-01 01:55:45,bin6945,75, +CTSPillarNetworkA,6946,6946,6946,1989-01-07,694.3000000000893,694.2775,2015-01-01 01:55:46,bin6946,35, +CTSPillarNetworkA,6947,6947,6947,1989-01-08,694.4000000000893,694.3775,2015-01-01 01:55:47,bin6947,75, +CTSPillarNetworkA,6948,6948,6948,1989-01-09,694.5000000000894,694.4775,2015-01-01 01:55:48,bin6948,35, +CTSPillarNetworkA,6949,6949,6949,1989-01-10,694.6000000000894,694.57745,2015-01-01 01:55:49,bin6949,75, +CTSPillarNetworkA,6950,6950,6950,1989-01-11,694.7000000000894,694.6774,2015-01-01 01:55:50,bin6950,35, +CTSPillarNetworkA,6951,6951,6951,1989-01-12,694.8000000000894,694.7774,2015-01-01 01:55:51,bin6951,75, +CTSPillarNetworkA,6952,6952,6952,1989-01-13,694.9000000000894,694.8774,2015-01-01 01:55:52,bin6952,35, +CTSPillarNetworkA,6953,6953,6953,1989-01-14,695.0000000000895,694.97736,2015-01-01 01:55:53,bin6953,75, +CTSPillarNetworkA,6954,6954,6954,1989-01-15,695.1000000000895,695.07733,2015-01-01 01:55:54,bin6954,35, +CTSPillarNetworkA,6955,6955,6955,1989-01-16,695.2000000000895,695.1773,2015-01-01 01:55:55,bin6955,75, +CTSPillarNetworkA,6956,6956,6956,1989-01-17,695.3000000000895,695.2773,2015-01-01 01:55:56,bin6956,35, +CTSPillarNetworkA,6957,6957,6957,1989-01-18,695.4000000000896,695.37726,2015-01-01 01:55:57,bin6957,75, +CTSPillarNetworkA,6958,6958,6958,1989-01-19,695.5000000000896,695.47723,2015-01-01 01:55:58,bin6958,35, +CTSPillarNetworkA,6959,6959,6959,1989-01-20,695.6000000000896,695.5772,2015-01-01 01:55:59,bin6959,75, +CTSPillarNetworkA,6960,6960,6960,1989-01-21,695.7000000000896,695.6772,2015-01-01 01:56:00,bin6960,35, +CTSPillarNetworkA,6961,6961,6961,1989-01-22,695.8000000000897,695.77716,2015-01-01 01:56:01,bin6961,75, +CTSPillarNetworkA,6962,6962,6962,1989-01-23,695.9000000000897,695.87714,2015-01-01 01:56:02,bin6962,35, +CTSPillarNetworkA,6963,6963,6963,1989-01-24,696.0000000000897,695.9771,2015-01-01 01:56:03,bin6963,75, +CTSPillarNetworkA,6964,6964,6964,1989-01-25,696.1000000000897,696.0771,2015-01-01 01:56:04,bin6964,35, +CTSPillarNetworkA,6965,6965,6965,1989-01-26,696.2000000000897,696.17706,2015-01-01 01:56:05,bin6965,75, +CTSPillarNetworkA,6966,6966,6966,1989-01-27,696.3000000000898,696.27704,2015-01-01 01:56:06,bin6966,35, +CTSPillarNetworkA,6967,6967,6967,1989-01-28,696.4000000000898,696.377,2015-01-01 01:56:07,bin6967,75, +CTSPillarNetworkA,6968,6968,6968,1989-01-29,696.5000000000898,696.477,2015-01-01 01:56:08,bin6968,35, +CTSPillarNetworkA,6969,6969,6969,1989-01-30,696.6000000000898,696.57697,2015-01-01 01:56:09,bin6969,75, +CTSPillarNetworkA,6970,6970,6970,1989-01-31,696.7000000000899,696.67694,2015-01-01 01:56:10,bin6970,35, +CTSPillarNetworkA,6971,6971,6971,1989-02-01,696.8000000000899,696.7769,2015-01-01 01:56:11,bin6971,75, +CTSPillarNetworkA,6972,6972,6972,1989-02-02,696.9000000000899,696.8769,2015-01-01 01:56:12,bin6972,35, +CTSPillarNetworkA,6973,6973,6973,1989-02-03,697.0000000000899,696.97687,2015-01-01 01:56:13,bin6973,75, +CTSPillarNetworkA,6974,6974,6974,1989-02-04,697.10000000009,697.07684,2015-01-01 01:56:14,bin6974,35, +CTSPillarNetworkA,6975,6975,6975,1989-02-05,697.20000000009,697.1768,2015-01-01 01:56:15,bin6975,75, +CTSPillarNetworkA,6976,6976,6976,1989-02-06,697.30000000009,697.2768,2015-01-01 01:56:16,bin6976,35, +CTSPillarNetworkA,6977,6977,6977,1989-02-07,697.40000000009,697.3768,2015-01-01 01:56:17,bin6977,75, +CTSPillarNetworkA,6978,6978,6978,1989-02-08,697.50000000009,697.47675,2015-01-01 01:56:18,bin6978,35, +CTSPillarNetworkA,6979,6979,6979,1989-02-09,697.6000000000901,697.5767,2015-01-01 01:56:19,bin6979,75, +CTSPillarNetworkA,6980,6980,6980,1989-02-10,697.7000000000901,697.6767,2015-01-01 01:56:20,bin6980,35, +CTSPillarNetworkA,6981,6981,6981,1989-02-11,697.8000000000901,697.7767,2015-01-01 01:56:21,bin6981,75, +CTSPillarNetworkA,6982,6982,6982,1989-02-12,697.9000000000901,697.87665,2015-01-01 01:56:22,bin6982,35, +CTSPillarNetworkA,6983,6983,6983,1989-02-13,698.0000000000902,697.9766,2015-01-01 01:56:23,bin6983,75, +CTSPillarNetworkA,6984,6984,6984,1989-02-14,698.1000000000902,698.0766,2015-01-01 01:56:24,bin6984,35, +CTSPillarNetworkA,6985,6985,6985,1989-02-15,698.2000000000902,698.1766,2015-01-01 01:56:25,bin6985,75, +CTSPillarNetworkA,6986,6986,6986,1989-02-16,698.3000000000902,698.27655,2015-01-01 01:56:26,bin6986,35, +CTSPillarNetworkA,6987,6987,6987,1989-02-17,698.4000000000902,698.3765,2015-01-01 01:56:27,bin6987,75, +CTSPillarNetworkA,6988,6988,6988,1989-02-18,698.5000000000903,698.4765,2015-01-01 01:56:28,bin6988,35, +CTSPillarNetworkA,6989,6989,6989,1989-02-19,698.6000000000903,698.5765,2015-01-01 01:56:29,bin6989,75, +CTSPillarNetworkA,6990,6990,6990,1989-02-20,698.7000000000903,698.67645,2015-01-01 01:56:30,bin6990,35, +CTSPillarNetworkA,6991,6991,6991,1989-02-21,698.8000000000903,698.7764,2015-01-01 01:56:31,bin6991,75, +CTSPillarNetworkA,6992,6992,6992,1989-02-22,698.9000000000904,698.8764,2015-01-01 01:56:32,bin6992,35, +CTSPillarNetworkA,6993,6993,6993,1989-02-23,699.0000000000904,698.9764,2015-01-01 01:56:33,bin6993,75, +CTSPillarNetworkA,6994,6994,6994,1989-02-24,699.1000000000904,699.07635,2015-01-01 01:56:34,bin6994,35, +CTSPillarNetworkA,6995,6995,6995,1989-02-25,699.2000000000904,699.17633,2015-01-01 01:56:35,bin6995,75, +CTSPillarNetworkA,6996,6996,6996,1989-02-26,699.3000000000904,699.2763,2015-01-01 01:56:36,bin6996,35, +CTSPillarNetworkA,6997,6997,6997,1989-02-27,699.4000000000905,699.3763,2015-01-01 01:56:37,bin6997,75, +CTSPillarNetworkA,6998,6998,6998,1989-02-28,699.5000000000905,699.47626,2015-01-01 01:56:38,bin6998,35, +CTSPillarNetworkA,6999,6999,6999,1989-03-01,699.6000000000905,699.57623,2015-01-01 01:56:39,bin6999,75, +CTSPillarNetworkA,7000,7000,7000,1989-03-02,699.7000000000905,699.6762,2015-01-01 01:56:40,bin7000,35, +CTSPillarNetworkA,7001,7001,7001,1989-03-03,699.8000000000906,699.7762,2015-01-01 01:56:41,bin7001,75, +CTSPillarNetworkA,7002,7002,7002,1989-03-04,699.9000000000906,699.87616,2015-01-01 01:56:42,bin7002,35, +CTSPillarNetworkA,7003,7003,7003,1989-03-05,700.0000000000906,699.97614,2015-01-01 01:56:43,bin7003,75, +CTSPillarNetworkA,7004,7004,7004,1989-03-06,700.1000000000906,700.0761,2015-01-01 01:56:44,bin7004,35, +CTSPillarNetworkA,7005,7005,7005,1989-03-07,700.2000000000907,700.1761,2015-01-01 01:56:45,bin7005,75, +CTSPillarNetworkA,7006,7006,7006,1989-03-08,700.3000000000907,700.27606,2015-01-01 01:56:46,bin7006,35, +CTSPillarNetworkA,7007,7007,7007,1989-03-09,700.4000000000907,700.37604,2015-01-01 01:56:47,bin7007,75, +CTSPillarNetworkA,7008,7008,7008,1989-03-10,700.5000000000907,700.476,2015-01-01 01:56:48,bin7008,35, +CTSPillarNetworkA,7009,7009,7009,1989-03-11,700.6000000000907,700.576,2015-01-01 01:56:49,bin7009,75, +CTSPillarNetworkA,7010,7010,7010,1989-03-12,700.7000000000908,700.67596,2015-01-01 01:56:50,bin7010,35, +CTSPillarNetworkA,7011,7011,7011,1989-03-13,700.8000000000908,700.77594,2015-01-01 01:56:51,bin7011,75, +CTSPillarNetworkA,7012,7012,7012,1989-03-14,700.9000000000908,700.8759,2015-01-01 01:56:52,bin7012,35, +CTSPillarNetworkA,7013,7013,7013,1989-03-15,701.0000000000908,700.9759,2015-01-01 01:56:53,bin7013,75, +CTSPillarNetworkA,7014,7014,7014,1989-03-16,701.1000000000909,701.07587,2015-01-01 01:56:54,bin7014,35, +CTSPillarNetworkA,7015,7015,7015,1989-03-17,701.2000000000909,701.17584,2015-01-01 01:56:55,bin7015,75, +CTSPillarNetworkA,7016,7016,7016,1989-03-18,701.3000000000909,701.2758,2015-01-01 01:56:56,bin7016,35, +CTSPillarNetworkA,7017,7017,7017,1989-03-19,701.4000000000909,701.3758,2015-01-01 01:56:57,bin7017,75, +CTSPillarNetworkA,7018,7018,7018,1989-03-20,701.500000000091,701.47577,2015-01-01 01:56:58,bin7018,35, +CTSPillarNetworkA,7019,7019,7019,1989-03-21,701.600000000091,701.57574,2015-01-01 01:56:59,bin7019,75, +CTSPillarNetworkA,7020,7020,7020,1989-03-22,701.700000000091,701.6757,2015-01-01 01:57:00,bin7020,35, +CTSPillarNetworkA,7021,7021,7021,1989-03-23,701.800000000091,701.7757,2015-01-01 01:57:01,bin7021,75, +CTSPillarNetworkA,7022,7022,7022,1989-03-24,701.900000000091,701.8757,2015-01-01 01:57:02,bin7022,35, +CTSPillarNetworkA,7023,7023,7023,1989-03-25,702.0000000000911,701.97565,2015-01-01 01:57:03,bin7023,75, +CTSPillarNetworkA,7024,7024,7024,1989-03-26,702.1000000000911,702.0756,2015-01-01 01:57:04,bin7024,35, +CTSPillarNetworkA,7025,7025,7025,1989-03-27,702.2000000000911,702.1756,2015-01-01 01:57:05,bin7025,75, +CTSPillarNetworkA,7026,7026,7026,1989-03-28,702.3000000000911,702.2756,2015-01-01 01:57:06,bin7026,35, +CTSPillarNetworkA,7027,7027,7027,1989-03-29,702.4000000000912,702.37555,2015-01-01 01:57:07,bin7027,75, +CTSPillarNetworkA,7028,7028,7028,1989-03-30,702.5000000000912,702.4755,2015-01-01 01:57:08,bin7028,35, +CTSPillarNetworkA,7029,7029,7029,1989-03-31,702.6000000000912,702.5755,2015-01-01 01:57:09,bin7029,75, +CTSPillarNetworkA,7030,7030,7030,1989-04-01,702.7000000000912,702.6755,2015-01-01 01:57:10,bin7030,35, +CTSPillarNetworkA,7031,7031,7031,1989-04-02,702.8000000000912,702.77545,2015-01-01 01:57:11,bin7031,75, +CTSPillarNetworkA,7032,7032,7032,1989-04-03,702.9000000000913,702.8754,2015-01-01 01:57:12,bin7032,35, +CTSPillarNetworkA,7033,7033,7033,1989-04-04,703.0000000000913,702.9754,2015-01-01 01:57:13,bin7033,75, +CTSPillarNetworkA,7034,7034,7034,1989-04-05,703.1000000000913,703.0754,2015-01-01 01:57:14,bin7034,35, +CTSPillarNetworkA,7035,7035,7035,1989-04-06,703.2000000000913,703.17535,2015-01-01 01:57:15,bin7035,75, +CTSPillarNetworkA,7036,7036,7036,1989-04-07,703.3000000000914,703.2753,2015-01-01 01:57:16,bin7036,35, +CTSPillarNetworkA,7037,7037,7037,1989-04-08,703.4000000000914,703.3753,2015-01-01 01:57:17,bin7037,75, +CTSPillarNetworkA,7038,7038,7038,1989-04-09,703.5000000000914,703.4753,2015-01-01 01:57:18,bin7038,35, +CTSPillarNetworkA,7039,7039,7039,1989-04-10,703.6000000000914,703.57526,2015-01-01 01:57:19,bin7039,75, +CTSPillarNetworkA,7040,7040,7040,1989-04-11,703.7000000000914,703.67523,2015-01-01 01:57:20,bin7040,35, +CTSPillarNetworkA,7041,7041,7041,1989-04-12,703.8000000000915,703.7752,2015-01-01 01:57:21,bin7041,75, +CTSPillarNetworkA,7042,7042,7042,1989-04-13,703.9000000000915,703.8752,2015-01-01 01:57:22,bin7042,35, +CTSPillarNetworkA,7043,7043,7043,1989-04-14,704.0000000000915,703.97516,2015-01-01 01:57:23,bin7043,75, +CTSPillarNetworkA,7044,7044,7044,1989-04-15,704.1000000000915,704.07513,2015-01-01 01:57:24,bin7044,35, +CTSPillarNetworkA,7045,7045,7045,1989-04-16,704.2000000000916,704.1751,2015-01-01 01:57:25,bin7045,75, +CTSPillarNetworkA,7046,7046,7046,1989-04-17,704.3000000000916,704.2751,2015-01-01 01:57:26,bin7046,35, +CTSPillarNetworkA,7047,7047,7047,1989-04-18,704.4000000000916,704.37506,2015-01-01 01:57:27,bin7047,75, +CTSPillarNetworkA,7048,7048,7048,1989-04-19,704.5000000000916,704.47504,2015-01-01 01:57:28,bin7048,35, +CTSPillarNetworkA,7049,7049,7049,1989-04-20,704.6000000000917,704.575,2015-01-01 01:57:29,bin7049,75, +CTSPillarNetworkA,7050,7050,7050,1989-04-21,704.7000000000917,704.675,2015-01-01 01:57:30,bin7050,35, +CTSPillarNetworkA,7051,7051,7051,1989-04-22,704.8000000000917,704.77496,2015-01-01 01:57:31,bin7051,75, +CTSPillarNetworkA,7052,7052,7052,1989-04-23,704.9000000000917,704.87494,2015-01-01 01:57:32,bin7052,35, +CTSPillarNetworkA,7053,7053,7053,1989-04-24,705.0000000000917,704.9749,2015-01-01 01:57:33,bin7053,75, +CTSPillarNetworkA,7054,7054,7054,1989-04-25,705.1000000000918,705.0749,2015-01-01 01:57:34,bin7054,35, +CTSPillarNetworkA,7055,7055,7055,1989-04-26,705.2000000000918,705.17487,2015-01-01 01:57:35,bin7055,75, +CTSPillarNetworkA,7056,7056,7056,1989-04-27,705.3000000000918,705.27484,2015-01-01 01:57:36,bin7056,35, +CTSPillarNetworkA,7057,7057,7057,1989-04-28,705.4000000000918,705.3748,2015-01-01 01:57:37,bin7057,75, +CTSPillarNetworkA,7058,7058,7058,1989-04-29,705.5000000000919,705.4748,2015-01-01 01:57:38,bin7058,35, +CTSPillarNetworkA,7059,7059,7059,1989-04-30,705.6000000000919,705.57477,2015-01-01 01:57:39,bin7059,75, +CTSPillarNetworkA,7060,7060,7060,1989-05-01,705.7000000000919,705.67474,2015-01-01 01:57:40,bin7060,35, +CTSPillarNetworkA,7061,7061,7061,1989-05-02,705.8000000000919,705.7747,2015-01-01 01:57:41,bin7061,75, +CTSPillarNetworkA,7062,7062,7062,1989-05-03,705.900000000092,705.8747,2015-01-01 01:57:42,bin7062,35, +CTSPillarNetworkA,7063,7063,7063,1989-05-04,706.000000000092,705.9747,2015-01-01 01:57:43,bin7063,75, +CTSPillarNetworkA,7064,7064,7064,1989-05-05,706.100000000092,706.07465,2015-01-01 01:57:44,bin7064,35, +CTSPillarNetworkA,7065,7065,7065,1989-05-06,706.200000000092,706.1746,2015-01-01 01:57:45,bin7065,75, +CTSPillarNetworkA,7066,7066,7066,1989-05-07,706.300000000092,706.2746,2015-01-01 01:57:46,bin7066,35, +CTSPillarNetworkA,7067,7067,7067,1989-05-08,706.4000000000921,706.3746,2015-01-01 01:57:47,bin7067,75, +CTSPillarNetworkA,7068,7068,7068,1989-05-09,706.5000000000921,706.47455,2015-01-01 01:57:48,bin7068,35, +CTSPillarNetworkA,7069,7069,7069,1989-05-10,706.6000000000921,706.5745,2015-01-01 01:57:49,bin7069,75, +CTSPillarNetworkA,7070,7070,7070,1989-05-11,706.7000000000921,706.6745,2015-01-01 01:57:50,bin7070,35, +CTSPillarNetworkA,7071,7071,7071,1989-05-12,706.8000000000922,706.7745,2015-01-01 01:57:51,bin7071,75, +CTSPillarNetworkA,7072,7072,7072,1989-05-13,706.9000000000922,706.87445,2015-01-01 01:57:52,bin7072,35, +CTSPillarNetworkA,7073,7073,7073,1989-05-14,707.0000000000922,706.9744,2015-01-01 01:57:53,bin7073,75, +CTSPillarNetworkA,7074,7074,7074,1989-05-15,707.1000000000922,707.0744,2015-01-01 01:57:54,bin7074,35, +CTSPillarNetworkA,7075,7075,7075,1989-05-16,707.2000000000922,707.1744,2015-01-01 01:57:55,bin7075,75, +CTSPillarNetworkA,7076,7076,7076,1989-05-17,707.3000000000923,707.27435,2015-01-01 01:57:56,bin7076,35, +CTSPillarNetworkA,7077,7077,7077,1989-05-18,707.4000000000923,707.3743,2015-01-01 01:57:57,bin7077,75, +CTSPillarNetworkA,7078,7078,7078,1989-05-19,707.5000000000923,707.4743,2015-01-01 01:57:58,bin7078,35, +CTSPillarNetworkA,7079,7079,7079,1989-05-20,707.6000000000923,707.5743,2015-01-01 01:57:59,bin7079,75, +CTSPillarNetworkA,7080,7080,7080,1989-05-21,707.7000000000924,707.67426,2015-01-01 01:58:00,bin7080,35, +CTSPillarNetworkA,7081,7081,7081,1989-05-22,707.8000000000924,707.77423,2015-01-01 01:58:01,bin7081,75, +CTSPillarNetworkA,7082,7082,7082,1989-05-23,707.9000000000924,707.8742,2015-01-01 01:58:02,bin7082,35, +CTSPillarNetworkA,7083,7083,7083,1989-05-24,708.0000000000924,707.9742,2015-01-01 01:58:03,bin7083,75, +CTSPillarNetworkA,7084,7084,7084,1989-05-25,708.1000000000925,708.07416,2015-01-01 01:58:04,bin7084,35, +CTSPillarNetworkA,7085,7085,7085,1989-05-26,708.2000000000925,708.17413,2015-01-01 01:58:05,bin7085,75, +CTSPillarNetworkA,7086,7086,7086,1989-05-27,708.3000000000925,708.2741,2015-01-01 01:58:06,bin7086,35, +CTSPillarNetworkA,7087,7087,7087,1989-05-28,708.4000000000925,708.3741,2015-01-01 01:58:07,bin7087,75, +CTSPillarNetworkA,7088,7088,7088,1989-05-29,708.5000000000925,708.47406,2015-01-01 01:58:08,bin7088,35, +CTSPillarNetworkA,7089,7089,7089,1989-05-30,708.6000000000926,708.57404,2015-01-01 01:58:09,bin7089,75, +CTSPillarNetworkA,7090,7090,7090,1989-05-31,708.7000000000926,708.674,2015-01-01 01:58:10,bin7090,35, +CTSPillarNetworkA,7091,7091,7091,1989-06-01,708.8000000000926,708.774,2015-01-01 01:58:11,bin7091,75, +CTSPillarNetworkA,7092,7092,7092,1989-06-02,708.9000000000926,708.87396,2015-01-01 01:58:12,bin7092,35, +CTSPillarNetworkA,7093,7093,7093,1989-06-03,709.0000000000927,708.97394,2015-01-01 01:58:13,bin7093,75, +CTSPillarNetworkA,7094,7094,7094,1989-06-04,709.1000000000927,709.0739,2015-01-01 01:58:14,bin7094,35, +CTSPillarNetworkA,7095,7095,7095,1989-06-05,709.2000000000927,709.1739,2015-01-01 01:58:15,bin7095,75, +CTSPillarNetworkA,7096,7096,7096,1989-06-06,709.3000000000927,709.27386,2015-01-01 01:58:16,bin7096,35, +CTSPillarNetworkA,7097,7097,7097,1989-06-07,709.4000000000927,709.37384,2015-01-01 01:58:17,bin7097,75, +CTSPillarNetworkA,7098,7098,7098,1989-06-08,709.5000000000928,709.4738,2015-01-01 01:58:18,bin7098,35, +CTSPillarNetworkA,7099,7099,7099,1989-06-09,709.6000000000928,709.5738,2015-01-01 01:58:19,bin7099,75, +CTSPillarNetworkA,7100,7100,7100,1989-06-10,709.7000000000928,709.67377,2015-01-01 01:58:20,bin7100,35, +CTSPillarNetworkA,7101,7101,7101,1989-06-11,709.8000000000928,709.77374,2015-01-01 01:58:21,bin7101,75, +CTSPillarNetworkA,7102,7102,7102,1989-06-12,709.9000000000929,709.8737,2015-01-01 01:58:22,bin7102,35, +CTSPillarNetworkA,7103,7103,7103,1989-06-13,710.0000000000929,709.9737,2015-01-01 01:58:23,bin7103,75, +CTSPillarNetworkA,7104,7104,7104,1989-06-14,710.1000000000929,710.07367,2015-01-01 01:58:24,bin7104,35, +CTSPillarNetworkA,7105,7105,7105,1989-06-15,710.2000000000929,710.17365,2015-01-01 01:58:25,bin7105,75, +CTSPillarNetworkA,7106,7106,7106,1989-06-16,710.300000000093,710.2736,2015-01-01 01:58:26,bin7106,35, +CTSPillarNetworkA,7107,7107,7107,1989-06-17,710.400000000093,710.3736,2015-01-01 01:58:27,bin7107,75, +CTSPillarNetworkA,7108,7108,7108,1989-06-18,710.500000000093,710.4736,2015-01-01 01:58:28,bin7108,35, +CTSPillarNetworkA,7109,7109,7109,1989-06-19,710.600000000093,710.57355,2015-01-01 01:58:29,bin7109,75, +CTSPillarNetworkA,7110,7110,7110,1989-06-20,710.700000000093,710.6735,2015-01-01 01:58:30,bin7110,35, +CTSPillarNetworkA,7111,7111,7111,1989-06-21,710.8000000000931,710.7735,2015-01-01 01:58:31,bin7111,75, +CTSPillarNetworkA,7112,7112,7112,1989-06-22,710.9000000000931,710.8735,2015-01-01 01:58:32,bin7112,35, +CTSPillarNetworkA,7113,7113,7113,1989-06-23,711.0000000000931,710.97345,2015-01-01 01:58:33,bin7113,75, +CTSPillarNetworkA,7114,7114,7114,1989-06-24,711.1000000000931,711.0734,2015-01-01 01:58:34,bin7114,35, +CTSPillarNetworkA,7115,7115,7115,1989-06-25,711.2000000000932,711.1734,2015-01-01 01:58:35,bin7115,75, +CTSPillarNetworkA,7116,7116,7116,1989-06-26,711.3000000000932,711.2734,2015-01-01 01:58:36,bin7116,35, +CTSPillarNetworkA,7117,7117,7117,1989-06-27,711.4000000000932,711.37335,2015-01-01 01:58:37,bin7117,75, +CTSPillarNetworkA,7118,7118,7118,1989-06-28,711.5000000000932,711.4733,2015-01-01 01:58:38,bin7118,35, +CTSPillarNetworkA,7119,7119,7119,1989-06-29,711.6000000000932,711.5733,2015-01-01 01:58:39,bin7119,75, +CTSPillarNetworkA,7120,7120,7120,1989-06-30,711.7000000000933,711.6733,2015-01-01 01:58:40,bin7120,35, +CTSPillarNetworkA,7121,7121,7121,1989-07-01,711.8000000000933,711.77325,2015-01-01 01:58:41,bin7121,75, +CTSPillarNetworkA,7122,7122,7122,1989-07-02,711.9000000000933,711.8732,2015-01-01 01:58:42,bin7122,35, +CTSPillarNetworkA,7123,7123,7123,1989-07-03,712.0000000000933,711.9732,2015-01-01 01:58:43,bin7123,75, +CTSPillarNetworkA,7124,7124,7124,1989-07-04,712.1000000000934,712.0732,2015-01-01 01:58:44,bin7124,35, +CTSPillarNetworkA,7125,7125,7125,1989-07-05,712.2000000000934,712.17316,2015-01-01 01:58:45,bin7125,75, +CTSPillarNetworkA,7126,7126,7126,1989-07-06,712.3000000000934,712.27313,2015-01-01 01:58:46,bin7126,35, +CTSPillarNetworkA,7127,7127,7127,1989-07-07,712.4000000000934,712.3731,2015-01-01 01:58:47,bin7127,75, +CTSPillarNetworkA,7128,7128,7128,1989-07-08,712.5000000000935,712.4731,2015-01-01 01:58:48,bin7128,35, +CTSPillarNetworkA,7129,7129,7129,1989-07-09,712.6000000000935,712.57306,2015-01-01 01:58:49,bin7129,75, +CTSPillarNetworkA,7130,7130,7130,1989-07-10,712.7000000000935,712.67303,2015-01-01 01:58:50,bin7130,35, +CTSPillarNetworkA,7131,7131,7131,1989-07-11,712.8000000000935,712.773,2015-01-01 01:58:51,bin7131,75, +CTSPillarNetworkA,7132,7132,7132,1989-07-12,712.9000000000935,712.873,2015-01-01 01:58:52,bin7132,35, +CTSPillarNetworkA,7133,7133,7133,1989-07-13,713.0000000000936,712.97296,2015-01-01 01:58:53,bin7133,75, +CTSPillarNetworkA,7134,7134,7134,1989-07-14,713.1000000000936,713.07294,2015-01-01 01:58:54,bin7134,35, +CTSPillarNetworkA,7135,7135,7135,1989-07-15,713.2000000000936,713.1729,2015-01-01 01:58:55,bin7135,75, +CTSPillarNetworkA,7136,7136,7136,1989-07-16,713.3000000000936,713.2729,2015-01-01 01:58:56,bin7136,35, +CTSPillarNetworkA,7137,7137,7137,1989-07-17,713.4000000000937,713.37286,2015-01-01 01:58:57,bin7137,75, +CTSPillarNetworkA,7138,7138,7138,1989-07-18,713.5000000000937,713.47284,2015-01-01 01:58:58,bin7138,35, +CTSPillarNetworkA,7139,7139,7139,1989-07-19,713.6000000000937,713.5728,2015-01-01 01:58:59,bin7139,75, +CTSPillarNetworkA,7140,7140,7140,1989-07-20,713.7000000000937,713.6728,2015-01-01 01:59:00,bin7140,35, +CTSPillarNetworkA,7141,7141,7141,1989-07-21,713.8000000000937,713.77277,2015-01-01 01:59:01,bin7141,75, +CTSPillarNetworkA,7142,7142,7142,1989-07-22,713.9000000000938,713.87274,2015-01-01 01:59:02,bin7142,35, +CTSPillarNetworkA,7143,7143,7143,1989-07-23,714.0000000000938,713.9727,2015-01-01 01:59:03,bin7143,75, +CTSPillarNetworkA,7144,7144,7144,1989-07-24,714.1000000000938,714.0727,2015-01-01 01:59:04,bin7144,35, +CTSPillarNetworkA,7145,7145,7145,1989-07-25,714.2000000000938,714.17267,2015-01-01 01:59:05,bin7145,75, +CTSPillarNetworkA,7146,7146,7146,1989-07-26,714.3000000000939,714.27264,2015-01-01 01:59:06,bin7146,35, +CTSPillarNetworkA,7147,7147,7147,1989-07-27,714.4000000000939,714.3726,2015-01-01 01:59:07,bin7147,75, +CTSPillarNetworkA,7148,7148,7148,1989-07-28,714.5000000000939,714.4726,2015-01-01 01:59:08,bin7148,35, +CTSPillarNetworkA,7149,7149,7149,1989-07-29,714.6000000000939,714.5726,2015-01-01 01:59:09,bin7149,75, +CTSPillarNetworkA,7150,7150,7150,1989-07-30,714.700000000094,714.67255,2015-01-01 01:59:10,bin7150,35, +CTSPillarNetworkA,7151,7151,7151,1989-07-31,714.800000000094,714.7725,2015-01-01 01:59:11,bin7151,75, +CTSPillarNetworkA,7152,7152,7152,1989-08-01,714.900000000094,714.8725,2015-01-01 01:59:12,bin7152,35, +CTSPillarNetworkA,7153,7153,7153,1989-08-02,715.000000000094,714.9725,2015-01-01 01:59:13,bin7153,75, +CTSPillarNetworkA,7154,7154,7154,1989-08-03,715.100000000094,715.07245,2015-01-01 01:59:14,bin7154,35, +CTSPillarNetworkA,7155,7155,7155,1989-08-04,715.2000000000941,715.1724,2015-01-01 01:59:15,bin7155,75, +CTSPillarNetworkA,7156,7156,7156,1989-08-05,715.3000000000941,715.2724,2015-01-01 01:59:16,bin7156,35, +CTSPillarNetworkA,7157,7157,7157,1989-08-06,715.4000000000941,715.3724,2015-01-01 01:59:17,bin7157,75, +CTSPillarNetworkA,7158,7158,7158,1989-08-07,715.5000000000941,715.47235,2015-01-01 01:59:18,bin7158,35, +CTSPillarNetworkA,7159,7159,7159,1989-08-08,715.6000000000942,715.5723,2015-01-01 01:59:19,bin7159,75, +CTSPillarNetworkA,7160,7160,7160,1989-08-09,715.7000000000942,715.6723,2015-01-01 01:59:20,bin7160,35, +CTSPillarNetworkA,7161,7161,7161,1989-08-10,715.8000000000942,715.7723,2015-01-01 01:59:21,bin7161,75, +CTSPillarNetworkA,7162,7162,7162,1989-08-11,715.9000000000942,715.87225,2015-01-01 01:59:22,bin7162,35, +CTSPillarNetworkA,7163,7163,7163,1989-08-12,716.0000000000942,715.9722,2015-01-01 01:59:23,bin7163,75, +CTSPillarNetworkA,7164,7164,7164,1989-08-13,716.1000000000943,716.0722,2015-01-01 01:59:24,bin7164,35, +CTSPillarNetworkA,7165,7165,7165,1989-08-14,716.2000000000943,716.1722,2015-01-01 01:59:25,bin7165,75, +CTSPillarNetworkA,7166,7166,7166,1989-08-15,716.3000000000943,716.27216,2015-01-01 01:59:26,bin7166,35, +CTSPillarNetworkA,7167,7167,7167,1989-08-16,716.4000000000943,716.37213,2015-01-01 01:59:27,bin7167,75, +CTSPillarNetworkA,7168,7168,7168,1989-08-17,716.5000000000944,716.4721,2015-01-01 01:59:28,bin7168,35, +CTSPillarNetworkA,7169,7169,7169,1989-08-18,716.6000000000944,716.5721,2015-01-01 01:59:29,bin7169,75, +CTSPillarNetworkA,7170,7170,7170,1989-08-19,716.7000000000944,716.67206,2015-01-01 01:59:30,bin7170,35, +CTSPillarNetworkA,7171,7171,7171,1989-08-20,716.8000000000944,716.77203,2015-01-01 01:59:31,bin7171,75, +CTSPillarNetworkA,7172,7172,7172,1989-08-21,716.9000000000945,716.872,2015-01-01 01:59:32,bin7172,35, +CTSPillarNetworkA,7173,7173,7173,1989-08-22,717.0000000000945,716.972,2015-01-01 01:59:33,bin7173,75, +CTSPillarNetworkA,7174,7174,7174,1989-08-23,717.1000000000945,717.07196,2015-01-01 01:59:34,bin7174,35, +CTSPillarNetworkA,7175,7175,7175,1989-08-24,717.2000000000945,717.17194,2015-01-01 01:59:35,bin7175,75, +CTSPillarNetworkA,7176,7176,7176,1989-08-25,717.3000000000945,717.2719,2015-01-01 01:59:36,bin7176,35, +CTSPillarNetworkA,7177,7177,7177,1989-08-26,717.4000000000946,717.3719,2015-01-01 01:59:37,bin7177,75, +CTSPillarNetworkA,7178,7178,7178,1989-08-27,717.5000000000946,717.47186,2015-01-01 01:59:38,bin7178,35, +CTSPillarNetworkA,7179,7179,7179,1989-08-28,717.6000000000946,717.57184,2015-01-01 01:59:39,bin7179,75, +CTSPillarNetworkA,7180,7180,7180,1989-08-29,717.7000000000946,717.6718,2015-01-01 01:59:40,bin7180,35, +CTSPillarNetworkA,7181,7181,7181,1989-08-30,717.8000000000947,717.7718,2015-01-01 01:59:41,bin7181,75, +CTSPillarNetworkA,7182,7182,7182,1989-08-31,717.9000000000947,717.87177,2015-01-01 01:59:42,bin7182,35, +CTSPillarNetworkA,7183,7183,7183,1989-09-01,718.0000000000947,717.97174,2015-01-01 01:59:43,bin7183,75, +CTSPillarNetworkA,7184,7184,7184,1989-09-02,718.1000000000947,718.0717,2015-01-01 01:59:44,bin7184,35, +CTSPillarNetworkA,7185,7185,7185,1989-09-03,718.2000000000947,718.1717,2015-01-01 01:59:45,bin7185,75, +CTSPillarNetworkA,7186,7186,7186,1989-09-04,718.3000000000948,718.27167,2015-01-01 01:59:46,bin7186,35, +CTSPillarNetworkA,7187,7187,7187,1989-09-05,718.4000000000948,718.37164,2015-01-01 01:59:47,bin7187,75, +CTSPillarNetworkA,7188,7188,7188,1989-09-06,718.5000000000948,718.4716,2015-01-01 01:59:48,bin7188,35, +CTSPillarNetworkA,7189,7189,7189,1989-09-07,718.6000000000948,718.5716,2015-01-01 01:59:49,bin7189,75, +CTSPillarNetworkA,7190,7190,7190,1989-09-08,718.7000000000949,718.6716,2015-01-01 01:59:50,bin7190,35, +CTSPillarNetworkA,7191,7191,7191,1989-09-09,718.8000000000949,718.77155,2015-01-01 01:59:51,bin7191,75, +CTSPillarNetworkA,7192,7192,7192,1989-09-10,718.9000000000949,718.8715,2015-01-01 01:59:52,bin7192,35, +CTSPillarNetworkA,7193,7193,7193,1989-09-11,719.0000000000949,718.9715,2015-01-01 01:59:53,bin7193,75, +CTSPillarNetworkA,7194,7194,7194,1989-09-12,719.100000000095,719.0715,2015-01-01 01:59:54,bin7194,35, +CTSPillarNetworkA,7195,7195,7195,1989-09-13,719.200000000095,719.17145,2015-01-01 01:59:55,bin7195,75, +CTSPillarNetworkA,7196,7196,7196,1989-09-14,719.300000000095,719.2714,2015-01-01 01:59:56,bin7196,35, +CTSPillarNetworkA,7197,7197,7197,1989-09-15,719.400000000095,719.3714,2015-01-01 01:59:57,bin7197,75, +CTSPillarNetworkA,7198,7198,7198,1989-09-16,719.500000000095,719.4714,2015-01-01 01:59:58,bin7198,35, +CTSPillarNetworkA,7199,7199,7199,1989-09-17,719.6000000000951,719.57135,2015-01-01 01:59:59,bin7199,75, +CTSPillarNetworkA,7200,7200,7200,1989-09-18,719.7000000000951,719.6713,2015-01-01 02:00:00,bin7200,35, +CTSPillarNetworkA,7201,7201,7201,1989-09-19,719.8000000000951,719.7713,2015-01-01 02:00:01,bin7201,75, +CTSPillarNetworkA,7202,7202,7202,1989-09-20,719.9000000000951,719.8713,2015-01-01 02:00:02,bin7202,35, +CTSPillarNetworkA,7203,7203,7203,1989-09-21,720.0000000000952,719.97125,2015-01-01 02:00:03,bin7203,75, +CTSPillarNetworkA,7204,7204,7204,1989-09-22,720.1000000000952,720.0712,2015-01-01 02:00:04,bin7204,35, +CTSPillarNetworkA,7205,7205,7205,1989-09-23,720.2000000000952,720.1712,2015-01-01 02:00:05,bin7205,75, +CTSPillarNetworkA,7206,7206,7206,1989-09-24,720.3000000000952,720.2712,2015-01-01 02:00:06,bin7206,35, +CTSPillarNetworkA,7207,7207,7207,1989-09-25,720.4000000000952,720.37115,2015-01-01 02:00:07,bin7207,75, +CTSPillarNetworkA,7208,7208,7208,1989-09-26,720.5000000000953,720.4711,2015-01-01 02:00:08,bin7208,35, +CTSPillarNetworkA,7209,7209,7209,1989-09-27,720.6000000000953,720.5711,2015-01-01 02:00:09,bin7209,75, +CTSPillarNetworkA,7210,7210,7210,1989-09-28,720.7000000000953,720.6711,2015-01-01 02:00:10,bin7210,35, +CTSPillarNetworkA,7211,7211,7211,1989-09-29,720.8000000000953,720.77106,2015-01-01 02:00:11,bin7211,75, +CTSPillarNetworkA,7212,7212,7212,1989-09-30,720.9000000000954,720.87103,2015-01-01 02:00:12,bin7212,35, +CTSPillarNetworkA,7213,7213,7213,1989-10-01,721.0000000000954,720.971,2015-01-01 02:00:13,bin7213,75, +CTSPillarNetworkA,7214,7214,7214,1989-10-02,721.1000000000954,721.071,2015-01-01 02:00:14,bin7214,35, +CTSPillarNetworkA,7215,7215,7215,1989-10-03,721.2000000000954,721.17096,2015-01-01 02:00:15,bin7215,75, +CTSPillarNetworkA,7216,7216,7216,1989-10-04,721.3000000000955,721.27094,2015-01-01 02:00:16,bin7216,35, +CTSPillarNetworkA,7217,7217,7217,1989-10-05,721.4000000000955,721.3709,2015-01-01 02:00:17,bin7217,75, +CTSPillarNetworkA,7218,7218,7218,1989-10-06,721.5000000000955,721.4709,2015-01-01 02:00:18,bin7218,35, +CTSPillarNetworkA,7219,7219,7219,1989-10-07,721.6000000000955,721.57086,2015-01-01 02:00:19,bin7219,75, +CTSPillarNetworkA,7220,7220,7220,1989-10-08,721.7000000000955,721.67084,2015-01-01 02:00:20,bin7220,35, +CTSPillarNetworkA,7221,7221,7221,1989-10-09,721.8000000000956,721.7708,2015-01-01 02:00:21,bin7221,75, +CTSPillarNetworkA,7222,7222,7222,1989-10-10,721.9000000000956,721.8708,2015-01-01 02:00:22,bin7222,35, +CTSPillarNetworkA,7223,7223,7223,1989-10-11,722.0000000000956,721.97076,2015-01-01 02:00:23,bin7223,75, +CTSPillarNetworkA,7224,7224,7224,1989-10-12,722.1000000000956,722.07074,2015-01-01 02:00:24,bin7224,35, +CTSPillarNetworkA,7225,7225,7225,1989-10-13,722.2000000000957,722.1707,2015-01-01 02:00:25,bin7225,75, +CTSPillarNetworkA,7226,7226,7226,1989-10-14,722.3000000000957,722.2707,2015-01-01 02:00:26,bin7226,35, +CTSPillarNetworkA,7227,7227,7227,1989-10-15,722.4000000000957,722.37067,2015-01-01 02:00:27,bin7227,75, +CTSPillarNetworkA,7228,7228,7228,1989-10-16,722.5000000000957,722.47064,2015-01-01 02:00:28,bin7228,35, +CTSPillarNetworkA,7229,7229,7229,1989-10-17,722.6000000000957,722.5706,2015-01-01 02:00:29,bin7229,75, +CTSPillarNetworkA,7230,7230,7230,1989-10-18,722.7000000000958,722.6706,2015-01-01 02:00:30,bin7230,35, +CTSPillarNetworkA,7231,7231,7231,1989-10-19,722.8000000000958,722.77057,2015-01-01 02:00:31,bin7231,75, +CTSPillarNetworkA,7232,7232,7232,1989-10-20,722.9000000000958,722.87054,2015-01-01 02:00:32,bin7232,35, +CTSPillarNetworkA,7233,7233,7233,1989-10-21,723.0000000000958,722.9705,2015-01-01 02:00:33,bin7233,75, +CTSPillarNetworkA,7234,7234,7234,1989-10-22,723.1000000000959,723.0705,2015-01-01 02:00:34,bin7234,35, +CTSPillarNetworkA,7235,7235,7235,1989-10-23,723.2000000000959,723.1705,2015-01-01 02:00:35,bin7235,75, +CTSPillarNetworkA,7236,7236,7236,1989-10-24,723.3000000000959,723.27045,2015-01-01 02:00:36,bin7236,35, +CTSPillarNetworkA,7237,7237,7237,1989-10-25,723.4000000000959,723.3704,2015-01-01 02:00:37,bin7237,75, +CTSPillarNetworkA,7238,7238,7238,1989-10-26,723.500000000096,723.4704,2015-01-01 02:00:38,bin7238,35, +CTSPillarNetworkA,7239,7239,7239,1989-10-27,723.600000000096,723.5704,2015-01-01 02:00:39,bin7239,75, +CTSPillarNetworkA,7240,7240,7240,1989-10-28,723.700000000096,723.67035,2015-01-01 02:00:40,bin7240,35, +CTSPillarNetworkA,7241,7241,7241,1989-10-29,723.800000000096,723.7703,2015-01-01 02:00:41,bin7241,75, +CTSPillarNetworkA,7242,7242,7242,1989-10-30,723.900000000096,723.8703,2015-01-01 02:00:42,bin7242,35, +CTSPillarNetworkA,7243,7243,7243,1989-10-31,724.0000000000961,723.9703,2015-01-01 02:00:43,bin7243,75, +CTSPillarNetworkA,7244,7244,7244,1989-11-01,724.1000000000961,724.07025,2015-01-01 02:00:44,bin7244,35, +CTSPillarNetworkA,7245,7245,7245,1989-11-02,724.2000000000961,724.1702,2015-01-01 02:00:45,bin7245,75, +CTSPillarNetworkA,7246,7246,7246,1989-11-03,724.3000000000961,724.2702,2015-01-01 02:00:46,bin7246,35, +CTSPillarNetworkA,7247,7247,7247,1989-11-04,724.4000000000962,724.3702,2015-01-01 02:00:47,bin7247,75, +CTSPillarNetworkA,7248,7248,7248,1989-11-05,724.5000000000962,724.47015,2015-01-01 02:00:48,bin7248,35, +CTSPillarNetworkA,7249,7249,7249,1989-11-06,724.6000000000962,724.5701,2015-01-01 02:00:49,bin7249,75, +CTSPillarNetworkA,7250,7250,7250,1989-11-07,724.7000000000962,724.6701,2015-01-01 02:00:50,bin7250,35, +CTSPillarNetworkA,7251,7251,7251,1989-11-08,724.8000000000962,724.7701,2015-01-01 02:00:51,bin7251,75, +CTSPillarNetworkA,7252,7252,7252,1989-11-09,724.9000000000963,724.87006,2015-01-01 02:00:52,bin7252,35, +CTSPillarNetworkA,7253,7253,7253,1989-11-10,725.0000000000963,724.97003,2015-01-01 02:00:53,bin7253,75, +CTSPillarNetworkA,7254,7254,7254,1989-11-11,725.1000000000963,725.07,2015-01-01 02:00:54,bin7254,35, +CTSPillarNetworkA,7255,7255,7255,1989-11-12,725.2000000000963,725.17,2015-01-01 02:00:55,bin7255,75, +CTSPillarNetworkA,7256,7256,7256,1989-11-13,725.3000000000964,725.26996,2015-01-01 02:00:56,bin7256,35, +CTSPillarNetworkA,7257,7257,7257,1989-11-14,725.4000000000964,725.36993,2015-01-01 02:00:57,bin7257,75, +CTSPillarNetworkA,7258,7258,7258,1989-11-15,725.5000000000964,725.4699,2015-01-01 02:00:58,bin7258,35, +CTSPillarNetworkA,7259,7259,7259,1989-11-16,725.6000000000964,725.5699,2015-01-01 02:00:59,bin7259,75, +CTSPillarNetworkA,7260,7260,7260,1989-11-17,725.7000000000965,725.66986,2015-01-01 02:01:00,bin7260,35, +CTSPillarNetworkA,7261,7261,7261,1989-11-18,725.8000000000965,725.76984,2015-01-01 02:01:01,bin7261,75, +CTSPillarNetworkA,7262,7262,7262,1989-11-19,725.9000000000965,725.8698,2015-01-01 02:01:02,bin7262,35, +CTSPillarNetworkA,7263,7263,7263,1989-11-20,726.0000000000965,725.9698,2015-01-01 02:01:03,bin7263,75, +CTSPillarNetworkA,7264,7264,7264,1989-11-21,726.1000000000965,726.06976,2015-01-01 02:01:04,bin7264,35, +CTSPillarNetworkA,7265,7265,7265,1989-11-22,726.2000000000966,726.16974,2015-01-01 02:01:05,bin7265,75, +CTSPillarNetworkA,7266,7266,7266,1989-11-23,726.3000000000966,726.2697,2015-01-01 02:01:06,bin7266,35, +CTSPillarNetworkA,7267,7267,7267,1989-11-24,726.4000000000966,726.3697,2015-01-01 02:01:07,bin7267,75, +CTSPillarNetworkA,7268,7268,7268,1989-11-25,726.5000000000966,726.46967,2015-01-01 02:01:08,bin7268,35, +CTSPillarNetworkA,7269,7269,7269,1989-11-26,726.6000000000967,726.56964,2015-01-01 02:01:09,bin7269,75, +CTSPillarNetworkA,7270,7270,7270,1989-11-27,726.7000000000967,726.6696,2015-01-01 02:01:10,bin7270,35, +CTSPillarNetworkA,7271,7271,7271,1989-11-28,726.8000000000967,726.7696,2015-01-01 02:01:11,bin7271,75, +CTSPillarNetworkA,7272,7272,7272,1989-11-29,726.9000000000967,726.86957,2015-01-01 02:01:12,bin7272,35, +CTSPillarNetworkA,7273,7273,7273,1989-11-30,727.0000000000967,726.96954,2015-01-01 02:01:13,bin7273,75, +CTSPillarNetworkA,7274,7274,7274,1989-12-01,727.1000000000968,727.0695,2015-01-01 02:01:14,bin7274,35, +CTSPillarNetworkA,7275,7275,7275,1989-12-02,727.2000000000968,727.1695,2015-01-01 02:01:15,bin7275,75, +CTSPillarNetworkA,7276,7276,7276,1989-12-03,727.3000000000968,727.2695,2015-01-01 02:01:16,bin7276,35, +CTSPillarNetworkA,7277,7277,7277,1989-12-04,727.4000000000968,727.36945,2015-01-01 02:01:17,bin7277,75, +CTSPillarNetworkA,7278,7278,7278,1989-12-05,727.5000000000969,727.4694,2015-01-01 02:01:18,bin7278,35, +CTSPillarNetworkA,7279,7279,7279,1989-12-06,727.6000000000969,727.5694,2015-01-01 02:01:19,bin7279,75, +CTSPillarNetworkA,7280,7280,7280,1989-12-07,727.7000000000969,727.6694,2015-01-01 02:01:20,bin7280,35, +CTSPillarNetworkA,7281,7281,7281,1989-12-08,727.8000000000969,727.76935,2015-01-01 02:01:21,bin7281,75, +CTSPillarNetworkA,7282,7282,7282,1989-12-09,727.900000000097,727.8693,2015-01-01 02:01:22,bin7282,35, +CTSPillarNetworkA,7283,7283,7283,1989-12-10,728.000000000097,727.9693,2015-01-01 02:01:23,bin7283,75, +CTSPillarNetworkA,7284,7284,7284,1989-12-11,728.100000000097,728.0693,2015-01-01 02:01:24,bin7284,35, +CTSPillarNetworkA,7285,7285,7285,1989-12-12,728.200000000097,728.16925,2015-01-01 02:01:25,bin7285,75, +CTSPillarNetworkA,7286,7286,7286,1989-12-13,728.300000000097,728.2692,2015-01-01 02:01:26,bin7286,35, +CTSPillarNetworkA,7287,7287,7287,1989-12-14,728.4000000000971,728.3692,2015-01-01 02:01:27,bin7287,75, +CTSPillarNetworkA,7288,7288,7288,1989-12-15,728.5000000000971,728.4692,2015-01-01 02:01:28,bin7288,35, +CTSPillarNetworkA,7289,7289,7289,1989-12-16,728.6000000000971,728.56915,2015-01-01 02:01:29,bin7289,75, +CTSPillarNetworkA,7290,7290,7290,1989-12-17,728.7000000000971,728.6691,2015-01-01 02:01:30,bin7290,35, +CTSPillarNetworkA,7291,7291,7291,1989-12-18,728.8000000000972,728.7691,2015-01-01 02:01:31,bin7291,75, +CTSPillarNetworkA,7292,7292,7292,1989-12-19,728.9000000000972,728.8691,2015-01-01 02:01:32,bin7292,35, +CTSPillarNetworkA,7293,7293,7293,1989-12-20,729.0000000000972,728.96906,2015-01-01 02:01:33,bin7293,75, +CTSPillarNetworkA,7294,7294,7294,1989-12-21,729.1000000000972,729.06903,2015-01-01 02:01:34,bin7294,35, +CTSPillarNetworkA,7295,7295,7295,1989-12-22,729.2000000000972,729.169,2015-01-01 02:01:35,bin7295,75, +CTSPillarNetworkA,7296,7296,7296,1989-12-23,729.3000000000973,729.269,2015-01-01 02:01:36,bin7296,35, +CTSPillarNetworkA,7297,7297,7297,1989-12-24,729.4000000000973,729.36896,2015-01-01 02:01:37,bin7297,75, +CTSPillarNetworkA,7298,7298,7298,1989-12-25,729.5000000000973,729.46893,2015-01-01 02:01:38,bin7298,35, +CTSPillarNetworkA,7299,7299,7299,1989-12-26,729.6000000000973,729.5689,2015-01-01 02:01:39,bin7299,75, +CTSPillarNetworkA,7300,7300,7300,1989-12-27,729.7000000000974,729.6689,2015-01-01 02:01:40,bin7300,35, +CTSPillarNetworkA,7301,7301,7301,1989-12-28,729.8000000000974,729.76886,2015-01-01 02:01:41,bin7301,75, +CTSPillarNetworkA,7302,7302,7302,1989-12-29,729.9000000000974,729.86884,2015-01-01 02:01:42,bin7302,35, +CTSPillarNetworkA,7303,7303,7303,1989-12-30,730.0000000000974,729.9688,2015-01-01 02:01:43,bin7303,75, +CTSPillarNetworkA,7304,7304,7304,1989-12-31,730.1000000000975,730.0688,2015-01-01 02:01:44,bin7304,35, +CTSPillarNetworkA,7305,7305,7305,1990-01-01,730.2000000000975,730.16876,2015-01-01 02:01:45,bin7305,75, +CTSPillarNetworkA,7306,7306,7306,1990-01-02,730.3000000000975,730.26874,2015-01-01 02:01:46,bin7306,35, +CTSPillarNetworkA,7307,7307,7307,1990-01-03,730.4000000000975,730.3687,2015-01-01 02:01:47,bin7307,75, +CTSPillarNetworkA,7308,7308,7308,1990-01-04,730.5000000000975,730.4687,2015-01-01 02:01:48,bin7308,35, +CTSPillarNetworkA,7309,7309,7309,1990-01-05,730.6000000000976,730.56866,2015-01-01 02:01:49,bin7309,75, +CTSPillarNetworkA,7310,7310,7310,1990-01-06,730.7000000000976,730.66864,2015-01-01 02:01:50,bin7310,35, +CTSPillarNetworkA,7311,7311,7311,1990-01-07,730.8000000000976,730.7686,2015-01-01 02:01:51,bin7311,75, +CTSPillarNetworkA,7312,7312,7312,1990-01-08,730.9000000000976,730.8686,2015-01-01 02:01:52,bin7312,35, +CTSPillarNetworkA,7313,7313,7313,1990-01-09,731.0000000000977,730.96857,2015-01-01 02:01:53,bin7313,75, +CTSPillarNetworkA,7314,7314,7314,1990-01-10,731.1000000000977,731.06854,2015-01-01 02:01:54,bin7314,35, +CTSPillarNetworkA,7315,7315,7315,1990-01-11,731.2000000000977,731.1685,2015-01-01 02:01:55,bin7315,75, +CTSPillarNetworkA,7316,7316,7316,1990-01-12,731.3000000000977,731.2685,2015-01-01 02:01:56,bin7316,35, +CTSPillarNetworkA,7317,7317,7317,1990-01-13,731.4000000000977,731.36847,2015-01-01 02:01:57,bin7317,75, +CTSPillarNetworkA,7318,7318,7318,1990-01-14,731.5000000000978,731.46844,2015-01-01 02:01:58,bin7318,35, +CTSPillarNetworkA,7319,7319,7319,1990-01-15,731.6000000000978,731.5684,2015-01-01 02:01:59,bin7319,75, +CTSPillarNetworkA,7320,7320,7320,1990-01-16,731.7000000000978,731.6684,2015-01-01 02:02:00,bin7320,35, +CTSPillarNetworkA,7321,7321,7321,1990-01-17,731.8000000000978,731.7684,2015-01-01 02:02:01,bin7321,75, +CTSPillarNetworkA,7322,7322,7322,1990-01-18,731.9000000000979,731.86835,2015-01-01 02:02:02,bin7322,35, +CTSPillarNetworkA,7323,7323,7323,1990-01-19,732.0000000000979,731.9683,2015-01-01 02:02:03,bin7323,75, +CTSPillarNetworkA,7324,7324,7324,1990-01-20,732.1000000000979,732.0683,2015-01-01 02:02:04,bin7324,35, +CTSPillarNetworkA,7325,7325,7325,1990-01-21,732.2000000000979,732.1683,2015-01-01 02:02:05,bin7325,75, +CTSPillarNetworkA,7326,7326,7326,1990-01-22,732.300000000098,732.26825,2015-01-01 02:02:06,bin7326,35, +CTSPillarNetworkA,7327,7327,7327,1990-01-23,732.400000000098,732.3682,2015-01-01 02:02:07,bin7327,75, +CTSPillarNetworkA,7328,7328,7328,1990-01-24,732.500000000098,732.4682,2015-01-01 02:02:08,bin7328,35, +CTSPillarNetworkA,7329,7329,7329,1990-01-25,732.600000000098,732.5682,2015-01-01 02:02:09,bin7329,75, +CTSPillarNetworkA,7330,7330,7330,1990-01-26,732.700000000098,732.66815,2015-01-01 02:02:10,bin7330,35, +CTSPillarNetworkA,7331,7331,7331,1990-01-27,732.8000000000981,732.7681,2015-01-01 02:02:11,bin7331,75, +CTSPillarNetworkA,7332,7332,7332,1990-01-28,732.9000000000981,732.8681,2015-01-01 02:02:12,bin7332,35, +CTSPillarNetworkA,7333,7333,7333,1990-01-29,733.0000000000981,732.9681,2015-01-01 02:02:13,bin7333,75, +CTSPillarNetworkA,7334,7334,7334,1990-01-30,733.1000000000981,733.06805,2015-01-01 02:02:14,bin7334,35, +CTSPillarNetworkA,7335,7335,7335,1990-01-31,733.2000000000982,733.168,2015-01-01 02:02:15,bin7335,75, +CTSPillarNetworkA,7336,7336,7336,1990-02-01,733.3000000000982,733.268,2015-01-01 02:02:16,bin7336,35, +CTSPillarNetworkA,7337,7337,7337,1990-02-02,733.4000000000982,733.368,2015-01-01 02:02:17,bin7337,75, +CTSPillarNetworkA,7338,7338,7338,1990-02-03,733.5000000000982,733.46796,2015-01-01 02:02:18,bin7338,35, +CTSPillarNetworkA,7339,7339,7339,1990-02-04,733.6000000000982,733.56793,2015-01-01 02:02:19,bin7339,75, +CTSPillarNetworkA,7340,7340,7340,1990-02-05,733.7000000000983,733.6679,2015-01-01 02:02:20,bin7340,35, +CTSPillarNetworkA,7341,7341,7341,1990-02-06,733.8000000000983,733.7679,2015-01-01 02:02:21,bin7341,75, +CTSPillarNetworkA,7342,7342,7342,1990-02-07,733.9000000000983,733.86786,2015-01-01 02:02:22,bin7342,35, +CTSPillarNetworkA,7343,7343,7343,1990-02-08,734.0000000000983,733.96783,2015-01-01 02:02:23,bin7343,75, +CTSPillarNetworkA,7344,7344,7344,1990-02-09,734.1000000000984,734.0678,2015-01-01 02:02:24,bin7344,35, +CTSPillarNetworkA,7345,7345,7345,1990-02-10,734.2000000000984,734.1678,2015-01-01 02:02:25,bin7345,75, +CTSPillarNetworkA,7346,7346,7346,1990-02-11,734.3000000000984,734.26776,2015-01-01 02:02:26,bin7346,35, +CTSPillarNetworkA,7347,7347,7347,1990-02-12,734.4000000000984,734.36774,2015-01-01 02:02:27,bin7347,75, +CTSPillarNetworkA,7348,7348,7348,1990-02-13,734.5000000000985,734.4677,2015-01-01 02:02:28,bin7348,35, +CTSPillarNetworkA,7349,7349,7349,1990-02-14,734.6000000000985,734.5677,2015-01-01 02:02:29,bin7349,75, +CTSPillarNetworkA,7350,7350,7350,1990-02-15,734.7000000000985,734.66766,2015-01-01 02:02:30,bin7350,35, +CTSPillarNetworkA,7351,7351,7351,1990-02-16,734.8000000000985,734.76764,2015-01-01 02:02:31,bin7351,75, +CTSPillarNetworkA,7352,7352,7352,1990-02-17,734.9000000000985,734.8676,2015-01-01 02:02:32,bin7352,35, +CTSPillarNetworkA,7353,7353,7353,1990-02-18,735.0000000000986,734.9676,2015-01-01 02:02:33,bin7353,75, +CTSPillarNetworkA,7354,7354,7354,1990-02-19,735.1000000000986,735.06757,2015-01-01 02:02:34,bin7354,35, +CTSPillarNetworkA,7355,7355,7355,1990-02-20,735.2000000000986,735.16754,2015-01-01 02:02:35,bin7355,75, +CTSPillarNetworkA,7356,7356,7356,1990-02-21,735.3000000000986,735.2675,2015-01-01 02:02:36,bin7356,35, +CTSPillarNetworkA,7357,7357,7357,1990-02-22,735.4000000000987,735.3675,2015-01-01 02:02:37,bin7357,75, +CTSPillarNetworkA,7358,7358,7358,1990-02-23,735.5000000000987,735.46747,2015-01-01 02:02:38,bin7358,35, +CTSPillarNetworkA,7359,7359,7359,1990-02-24,735.6000000000987,735.56744,2015-01-01 02:02:39,bin7359,75, +CTSPillarNetworkA,7360,7360,7360,1990-02-25,735.7000000000987,735.6674,2015-01-01 02:02:40,bin7360,35, +CTSPillarNetworkA,7361,7361,7361,1990-02-26,735.8000000000987,735.7674,2015-01-01 02:02:41,bin7361,75, +CTSPillarNetworkA,7362,7362,7362,1990-02-27,735.9000000000988,735.8674,2015-01-01 02:02:42,bin7362,35, +CTSPillarNetworkA,7363,7363,7363,1990-02-28,736.0000000000988,735.96735,2015-01-01 02:02:43,bin7363,75, +CTSPillarNetworkA,7364,7364,7364,1990-03-01,736.1000000000988,736.0673,2015-01-01 02:02:44,bin7364,35, +CTSPillarNetworkA,7365,7365,7365,1990-03-02,736.2000000000988,736.1673,2015-01-01 02:02:45,bin7365,75, +CTSPillarNetworkA,7366,7366,7366,1990-03-03,736.3000000000989,736.2673,2015-01-01 02:02:46,bin7366,35, +CTSPillarNetworkA,7367,7367,7367,1990-03-04,736.4000000000989,736.36725,2015-01-01 02:02:47,bin7367,75, +CTSPillarNetworkA,7368,7368,7368,1990-03-05,736.5000000000989,736.4672,2015-01-01 02:02:48,bin7368,35, +CTSPillarNetworkA,7369,7369,7369,1990-03-06,736.6000000000989,736.5672,2015-01-01 02:02:49,bin7369,75, +CTSPillarNetworkA,7370,7370,7370,1990-03-07,736.700000000099,736.6672,2015-01-01 02:02:50,bin7370,35, +CTSPillarNetworkA,7371,7371,7371,1990-03-08,736.800000000099,736.76715,2015-01-01 02:02:51,bin7371,75, +CTSPillarNetworkA,7372,7372,7372,1990-03-09,736.900000000099,736.8671,2015-01-01 02:02:52,bin7372,35, +CTSPillarNetworkA,7373,7373,7373,1990-03-10,737.000000000099,736.9671,2015-01-01 02:02:53,bin7373,75, +CTSPillarNetworkA,7374,7374,7374,1990-03-11,737.100000000099,737.0671,2015-01-01 02:02:54,bin7374,35, +CTSPillarNetworkA,7375,7375,7375,1990-03-12,737.2000000000991,737.16705,2015-01-01 02:02:55,bin7375,75, +CTSPillarNetworkA,7376,7376,7376,1990-03-13,737.3000000000991,737.267,2015-01-01 02:02:56,bin7376,35, +CTSPillarNetworkA,7377,7377,7377,1990-03-14,737.4000000000991,737.367,2015-01-01 02:02:57,bin7377,75, +CTSPillarNetworkA,7378,7378,7378,1990-03-15,737.5000000000991,737.467,2015-01-01 02:02:58,bin7378,35, +CTSPillarNetworkA,7379,7379,7379,1990-03-16,737.6000000000992,737.56696,2015-01-01 02:02:59,bin7379,75, +CTSPillarNetworkA,7380,7380,7380,1990-03-17,737.7000000000992,737.66693,2015-01-01 02:03:00,bin7380,35, +CTSPillarNetworkA,7381,7381,7381,1990-03-18,737.8000000000992,737.7669,2015-01-01 02:03:01,bin7381,75, +CTSPillarNetworkA,7382,7382,7382,1990-03-19,737.9000000000992,737.8669,2015-01-01 02:03:02,bin7382,35, +CTSPillarNetworkA,7383,7383,7383,1990-03-20,738.0000000000992,737.96686,2015-01-01 02:03:03,bin7383,75, +CTSPillarNetworkA,7384,7384,7384,1990-03-21,738.1000000000993,738.06683,2015-01-01 02:03:04,bin7384,35, +CTSPillarNetworkA,7385,7385,7385,1990-03-22,738.2000000000993,738.1668,2015-01-01 02:03:05,bin7385,75, +CTSPillarNetworkA,7386,7386,7386,1990-03-23,738.3000000000993,738.2668,2015-01-01 02:03:06,bin7386,35, +CTSPillarNetworkA,7387,7387,7387,1990-03-24,738.4000000000993,738.36676,2015-01-01 02:03:07,bin7387,75, +CTSPillarNetworkA,7388,7388,7388,1990-03-25,738.5000000000994,738.46674,2015-01-01 02:03:08,bin7388,35, +CTSPillarNetworkA,7389,7389,7389,1990-03-26,738.6000000000994,738.5667,2015-01-01 02:03:09,bin7389,75, +CTSPillarNetworkA,7390,7390,7390,1990-03-27,738.7000000000994,738.6667,2015-01-01 02:03:10,bin7390,35, +CTSPillarNetworkA,7391,7391,7391,1990-03-28,738.8000000000994,738.76666,2015-01-01 02:03:11,bin7391,75, +CTSPillarNetworkA,7392,7392,7392,1990-03-29,738.9000000000995,738.86664,2015-01-01 02:03:12,bin7392,35, +CTSPillarNetworkA,7393,7393,7393,1990-03-30,739.0000000000995,738.9666,2015-01-01 02:03:13,bin7393,75, +CTSPillarNetworkA,7394,7394,7394,1990-03-31,739.1000000000995,739.0666,2015-01-01 02:03:14,bin7394,35, +CTSPillarNetworkA,7395,7395,7395,1990-04-01,739.2000000000995,739.16656,2015-01-01 02:03:15,bin7395,75, +CTSPillarNetworkA,7396,7396,7396,1990-04-02,739.3000000000995,739.26654,2015-01-01 02:03:16,bin7396,35, +CTSPillarNetworkA,7397,7397,7397,1990-04-03,739.4000000000996,739.3665,2015-01-01 02:03:17,bin7397,75, +CTSPillarNetworkA,7398,7398,7398,1990-04-04,739.5000000000996,739.4665,2015-01-01 02:03:18,bin7398,35, +CTSPillarNetworkA,7399,7399,7399,1990-04-05,739.6000000000996,739.56647,2015-01-01 02:03:19,bin7399,75, +CTSPillarNetworkA,7400,7400,7400,1990-04-06,739.7000000000996,739.66644,2015-01-01 02:03:20,bin7400,35, +CTSPillarNetworkA,7401,7401,7401,1990-04-07,739.8000000000997,739.7664,2015-01-01 02:03:21,bin7401,75, +CTSPillarNetworkA,7402,7402,7402,1990-04-08,739.9000000000997,739.8664,2015-01-01 02:03:22,bin7402,35, +CTSPillarNetworkA,7403,7403,7403,1990-04-09,740.0000000000997,739.9664,2015-01-01 02:03:23,bin7403,75, +CTSPillarNetworkA,7404,7404,7404,1990-04-10,740.1000000000997,740.06635,2015-01-01 02:03:24,bin7404,35, +CTSPillarNetworkA,7405,7405,7405,1990-04-11,740.2000000000997,740.1663,2015-01-01 02:03:25,bin7405,75, +CTSPillarNetworkA,7406,7406,7406,1990-04-12,740.3000000000998,740.2663,2015-01-01 02:03:26,bin7406,35, +CTSPillarNetworkA,7407,7407,7407,1990-04-13,740.4000000000998,740.3663,2015-01-01 02:03:27,bin7407,75, +CTSPillarNetworkA,7408,7408,7408,1990-04-14,740.5000000000998,740.46625,2015-01-01 02:03:28,bin7408,35, +CTSPillarNetworkA,7409,7409,7409,1990-04-15,740.6000000000998,740.5662,2015-01-01 02:03:29,bin7409,75, +CTSPillarNetworkA,7410,7410,7410,1990-04-16,740.7000000000999,740.6662,2015-01-01 02:03:30,bin7410,35, +CTSPillarNetworkA,7411,7411,7411,1990-04-17,740.8000000000999,740.7662,2015-01-01 02:03:31,bin7411,75, +CTSPillarNetworkA,7412,7412,7412,1990-04-18,740.9000000000999,740.86615,2015-01-01 02:03:32,bin7412,35, +CTSPillarNetworkA,7413,7413,7413,1990-04-19,741.0000000000999,740.9661,2015-01-01 02:03:33,bin7413,75, +CTSPillarNetworkA,7414,7414,7414,1990-04-20,741.1000000001,741.0661,2015-01-01 02:03:34,bin7414,35, +CTSPillarNetworkA,7415,7415,7415,1990-04-21,741.2000000001,741.1661,2015-01-01 02:03:35,bin7415,75, +CTSPillarNetworkA,7416,7416,7416,1990-04-22,741.3000000001,741.26605,2015-01-01 02:03:36,bin7416,35, +CTSPillarNetworkA,7417,7417,7417,1990-04-23,741.4000000001,741.366,2015-01-01 02:03:37,bin7417,75, +CTSPillarNetworkA,7418,7418,7418,1990-04-24,741.5000000001,741.466,2015-01-01 02:03:38,bin7418,35, +CTSPillarNetworkA,7419,7419,7419,1990-04-25,741.6000000001001,741.566,2015-01-01 02:03:39,bin7419,75, +CTSPillarNetworkA,7420,7420,7420,1990-04-26,741.7000000001001,741.66595,2015-01-01 02:03:40,bin7420,35, +CTSPillarNetworkA,7421,7421,7421,1990-04-27,741.8000000001001,741.7659,2015-01-01 02:03:41,bin7421,75, +CTSPillarNetworkA,7422,7422,7422,1990-04-28,741.9000000001001,741.8659,2015-01-01 02:03:42,bin7422,35, +CTSPillarNetworkA,7423,7423,7423,1990-04-29,742.0000000001002,741.9659,2015-01-01 02:03:43,bin7423,75, +CTSPillarNetworkA,7424,7424,7424,1990-04-30,742.1000000001002,742.06586,2015-01-01 02:03:44,bin7424,35, +CTSPillarNetworkA,7425,7425,7425,1990-05-01,742.2000000001002,742.16583,2015-01-01 02:03:45,bin7425,75, +CTSPillarNetworkA,7426,7426,7426,1990-05-02,742.3000000001002,742.2658,2015-01-01 02:03:46,bin7426,35, +CTSPillarNetworkA,7427,7427,7427,1990-05-03,742.4000000001002,742.3658,2015-01-01 02:03:47,bin7427,75, +CTSPillarNetworkA,7428,7428,7428,1990-05-04,742.5000000001003,742.46576,2015-01-01 02:03:48,bin7428,35, +CTSPillarNetworkA,7429,7429,7429,1990-05-05,742.6000000001003,742.56573,2015-01-01 02:03:49,bin7429,75, +CTSPillarNetworkA,7430,7430,7430,1990-05-06,742.7000000001003,742.6657,2015-01-01 02:03:50,bin7430,35, +CTSPillarNetworkA,7431,7431,7431,1990-05-07,742.8000000001003,742.7657,2015-01-01 02:03:51,bin7431,75, +CTSPillarNetworkA,7432,7432,7432,1990-05-08,742.9000000001004,742.86566,2015-01-01 02:03:52,bin7432,35, +CTSPillarNetworkA,7433,7433,7433,1990-05-09,743.0000000001004,742.96564,2015-01-01 02:03:53,bin7433,75, +CTSPillarNetworkA,7434,7434,7434,1990-05-10,743.1000000001004,743.0656,2015-01-01 02:03:54,bin7434,35, +CTSPillarNetworkA,7435,7435,7435,1990-05-11,743.2000000001004,743.1656,2015-01-01 02:03:55,bin7435,75, +CTSPillarNetworkA,7436,7436,7436,1990-05-12,743.3000000001005,743.26556,2015-01-01 02:03:56,bin7436,35, +CTSPillarNetworkA,7437,7437,7437,1990-05-13,743.4000000001005,743.36554,2015-01-01 02:03:57,bin7437,75, +CTSPillarNetworkA,7438,7438,7438,1990-05-14,743.5000000001005,743.4655,2015-01-01 02:03:58,bin7438,35, +CTSPillarNetworkA,7439,7439,7439,1990-05-15,743.6000000001005,743.5655,2015-01-01 02:03:59,bin7439,75, +CTSPillarNetworkA,7440,7440,7440,1990-05-16,743.7000000001005,743.66547,2015-01-01 02:04:00,bin7440,35, +CTSPillarNetworkA,7441,7441,7441,1990-05-17,743.8000000001006,743.76544,2015-01-01 02:04:01,bin7441,75, +CTSPillarNetworkA,7442,7442,7442,1990-05-18,743.9000000001006,743.8654,2015-01-01 02:04:02,bin7442,35, +CTSPillarNetworkA,7443,7443,7443,1990-05-19,744.0000000001006,743.9654,2015-01-01 02:04:03,bin7443,75, +CTSPillarNetworkA,7444,7444,7444,1990-05-20,744.1000000001006,744.06537,2015-01-01 02:04:04,bin7444,35, +CTSPillarNetworkA,7445,7445,7445,1990-05-21,744.2000000001007,744.16534,2015-01-01 02:04:05,bin7445,75, +CTSPillarNetworkA,7446,7446,7446,1990-05-22,744.3000000001007,744.2653,2015-01-01 02:04:06,bin7446,35, +CTSPillarNetworkA,7447,7447,7447,1990-05-23,744.4000000001007,744.3653,2015-01-01 02:04:07,bin7447,75, +CTSPillarNetworkA,7448,7448,7448,1990-05-24,744.5000000001007,744.4653,2015-01-01 02:04:08,bin7448,35, +CTSPillarNetworkA,7449,7449,7449,1990-05-25,744.6000000001007,744.56525,2015-01-01 02:04:09,bin7449,75, +CTSPillarNetworkA,7450,7450,7450,1990-05-26,744.7000000001008,744.6652,2015-01-01 02:04:10,bin7450,35, +CTSPillarNetworkA,7451,7451,7451,1990-05-27,744.8000000001008,744.7652,2015-01-01 02:04:11,bin7451,75, +CTSPillarNetworkA,7452,7452,7452,1990-05-28,744.9000000001008,744.8652,2015-01-01 02:04:12,bin7452,35, +CTSPillarNetworkA,7453,7453,7453,1990-05-29,745.0000000001008,744.96515,2015-01-01 02:04:13,bin7453,75, +CTSPillarNetworkA,7454,7454,7454,1990-05-30,745.1000000001009,745.0651,2015-01-01 02:04:14,bin7454,35, +CTSPillarNetworkA,7455,7455,7455,1990-05-31,745.2000000001009,745.1651,2015-01-01 02:04:15,bin7455,75, +CTSPillarNetworkA,7456,7456,7456,1990-06-01,745.3000000001009,745.2651,2015-01-01 02:04:16,bin7456,35, +CTSPillarNetworkA,7457,7457,7457,1990-06-02,745.4000000001009,745.36505,2015-01-01 02:04:17,bin7457,75, +CTSPillarNetworkA,7458,7458,7458,1990-06-03,745.500000000101,745.465,2015-01-01 02:04:18,bin7458,35, +CTSPillarNetworkA,7459,7459,7459,1990-06-04,745.600000000101,745.565,2015-01-01 02:04:19,bin7459,75, +CTSPillarNetworkA,7460,7460,7460,1990-06-05,745.700000000101,745.665,2015-01-01 02:04:20,bin7460,35, +CTSPillarNetworkA,7461,7461,7461,1990-06-06,745.800000000101,745.76495,2015-01-01 02:04:21,bin7461,75, +CTSPillarNetworkA,7462,7462,7462,1990-06-07,745.900000000101,745.8649,2015-01-01 02:04:22,bin7462,35, +CTSPillarNetworkA,7463,7463,7463,1990-06-08,746.0000000001011,745.9649,2015-01-01 02:04:23,bin7463,75, +CTSPillarNetworkA,7464,7464,7464,1990-06-09,746.1000000001011,746.0649,2015-01-01 02:04:24,bin7464,35, +CTSPillarNetworkA,7465,7465,7465,1990-06-10,746.2000000001011,746.16486,2015-01-01 02:04:25,bin7465,75, +CTSPillarNetworkA,7466,7466,7466,1990-06-11,746.3000000001011,746.26483,2015-01-01 02:04:26,bin7466,35, +CTSPillarNetworkA,7467,7467,7467,1990-06-12,746.4000000001012,746.3648,2015-01-01 02:04:27,bin7467,75, +CTSPillarNetworkA,7468,7468,7468,1990-06-13,746.5000000001012,746.4648,2015-01-01 02:04:28,bin7468,35, +CTSPillarNetworkA,7469,7469,7469,1990-06-14,746.6000000001012,746.56476,2015-01-01 02:04:29,bin7469,75, +CTSPillarNetworkA,7470,7470,7470,1990-06-15,746.7000000001012,746.66473,2015-01-01 02:04:30,bin7470,35, +CTSPillarNetworkA,7471,7471,7471,1990-06-16,746.8000000001012,746.7647,2015-01-01 02:04:31,bin7471,75, +CTSPillarNetworkA,7472,7472,7472,1990-06-17,746.9000000001013,746.8647,2015-01-01 02:04:32,bin7472,35, +CTSPillarNetworkA,7473,7473,7473,1990-06-18,747.0000000001013,746.96466,2015-01-01 02:04:33,bin7473,75, +CTSPillarNetworkA,7474,7474,7474,1990-06-19,747.1000000001013,747.06464,2015-01-01 02:04:34,bin7474,35, +CTSPillarNetworkA,7475,7475,7475,1990-06-20,747.2000000001013,747.1646,2015-01-01 02:04:35,bin7475,75, +CTSPillarNetworkA,7476,7476,7476,1990-06-21,747.3000000001014,747.2646,2015-01-01 02:04:36,bin7476,35, +CTSPillarNetworkA,7477,7477,7477,1990-06-22,747.4000000001014,747.36456,2015-01-01 02:04:37,bin7477,75, +CTSPillarNetworkA,7478,7478,7478,1990-06-23,747.5000000001014,747.46454,2015-01-01 02:04:38,bin7478,35, +CTSPillarNetworkA,7479,7479,7479,1990-06-24,747.6000000001014,747.5645,2015-01-01 02:04:39,bin7479,75, +CTSPillarNetworkA,7480,7480,7480,1990-06-25,747.7000000001015,747.6645,2015-01-01 02:04:40,bin7480,35, +CTSPillarNetworkA,7481,7481,7481,1990-06-26,747.8000000001015,747.76447,2015-01-01 02:04:41,bin7481,75, +CTSPillarNetworkA,7482,7482,7482,1990-06-27,747.9000000001015,747.86444,2015-01-01 02:04:42,bin7482,35, +CTSPillarNetworkA,7483,7483,7483,1990-06-28,748.0000000001015,747.9644,2015-01-01 02:04:43,bin7483,75, +CTSPillarNetworkA,7484,7484,7484,1990-06-29,748.1000000001015,748.0644,2015-01-01 02:04:44,bin7484,35, +CTSPillarNetworkA,7485,7485,7485,1990-06-30,748.2000000001016,748.16437,2015-01-01 02:04:45,bin7485,75, +CTSPillarNetworkA,7486,7486,7486,1990-07-01,748.3000000001016,748.26434,2015-01-01 02:04:46,bin7486,35, +CTSPillarNetworkA,7487,7487,7487,1990-07-02,748.4000000001016,748.3643,2015-01-01 02:04:47,bin7487,75, +CTSPillarNetworkA,7488,7488,7488,1990-07-03,748.5000000001016,748.4643,2015-01-01 02:04:48,bin7488,35, +CTSPillarNetworkA,7489,7489,7489,1990-07-04,748.6000000001017,748.5643,2015-01-01 02:04:49,bin7489,75, +CTSPillarNetworkA,7490,7490,7490,1990-07-05,748.7000000001017,748.66425,2015-01-01 02:04:50,bin7490,35, +CTSPillarNetworkA,7491,7491,7491,1990-07-06,748.8000000001017,748.7642,2015-01-01 02:04:51,bin7491,75, +CTSPillarNetworkA,7492,7492,7492,1990-07-07,748.9000000001017,748.8642,2015-01-01 02:04:52,bin7492,35, +CTSPillarNetworkA,7493,7493,7493,1990-07-08,749.0000000001017,748.9642,2015-01-01 02:04:53,bin7493,75, +CTSPillarNetworkA,7494,7494,7494,1990-07-09,749.1000000001018,749.06415,2015-01-01 02:04:54,bin7494,35, +CTSPillarNetworkA,7495,7495,7495,1990-07-10,749.2000000001018,749.1641,2015-01-01 02:04:55,bin7495,75, +CTSPillarNetworkA,7496,7496,7496,1990-07-11,749.3000000001018,749.2641,2015-01-01 02:04:56,bin7496,35, +CTSPillarNetworkA,7497,7497,7497,1990-07-12,749.4000000001018,749.3641,2015-01-01 02:04:57,bin7497,75, +CTSPillarNetworkA,7498,7498,7498,1990-07-13,749.5000000001019,749.46405,2015-01-01 02:04:58,bin7498,35, +CTSPillarNetworkA,7499,7499,7499,1990-07-14,749.6000000001019,749.564,2015-01-01 02:04:59,bin7499,75, +CTSPillarNetworkA,7500,7500,7500,1990-07-15,749.7000000001019,749.664,2015-01-01 02:05:00,bin7500,35, +CTSPillarNetworkA,7501,7501,7501,1990-07-16,749.8000000001019,749.764,2015-01-01 02:05:01,bin7501,75, +CTSPillarNetworkA,7502,7502,7502,1990-07-17,749.900000000102,749.86395,2015-01-01 02:05:02,bin7502,35, +CTSPillarNetworkA,7503,7503,7503,1990-07-18,750.000000000102,749.9639,2015-01-01 02:05:03,bin7503,75, +CTSPillarNetworkA,7504,7504,7504,1990-07-19,750.100000000102,750.0639,2015-01-01 02:05:04,bin7504,35, +CTSPillarNetworkA,7505,7505,7505,1990-07-20,750.200000000102,750.1639,2015-01-01 02:05:05,bin7505,75, +CTSPillarNetworkA,7506,7506,7506,1990-07-21,750.300000000102,750.26385,2015-01-01 02:05:06,bin7506,35, +CTSPillarNetworkA,7507,7507,7507,1990-07-22,750.4000000001021,750.36383,2015-01-01 02:05:07,bin7507,75, +CTSPillarNetworkA,7508,7508,7508,1990-07-23,750.5000000001021,750.4638,2015-01-01 02:05:08,bin7508,35, +CTSPillarNetworkA,7509,7509,7509,1990-07-24,750.6000000001021,750.5638,2015-01-01 02:05:09,bin7509,75, +CTSPillarNetworkA,7510,7510,7510,1990-07-25,750.7000000001021,750.66376,2015-01-01 02:05:10,bin7510,35, +CTSPillarNetworkA,7511,7511,7511,1990-07-26,750.8000000001022,750.76373,2015-01-01 02:05:11,bin7511,75, +CTSPillarNetworkA,7512,7512,7512,1990-07-27,750.9000000001022,750.8637,2015-01-01 02:05:12,bin7512,35, +CTSPillarNetworkA,7513,7513,7513,1990-07-28,751.0000000001022,750.9637,2015-01-01 02:05:13,bin7513,75, +CTSPillarNetworkA,7514,7514,7514,1990-07-29,751.1000000001022,751.06366,2015-01-01 02:05:14,bin7514,35, +CTSPillarNetworkA,7515,7515,7515,1990-07-30,751.2000000001022,751.16364,2015-01-01 02:05:15,bin7515,75, +CTSPillarNetworkA,7516,7516,7516,1990-07-31,751.3000000001023,751.2636,2015-01-01 02:05:16,bin7516,35, +CTSPillarNetworkA,7517,7517,7517,1990-08-01,751.4000000001023,751.3636,2015-01-01 02:05:17,bin7517,75, +CTSPillarNetworkA,7518,7518,7518,1990-08-02,751.5000000001023,751.46356,2015-01-01 02:05:18,bin7518,35, +CTSPillarNetworkA,7519,7519,7519,1990-08-03,751.6000000001023,751.56354,2015-01-01 02:05:19,bin7519,75, +CTSPillarNetworkA,7520,7520,7520,1990-08-04,751.7000000001024,751.6635,2015-01-01 02:05:20,bin7520,35, +CTSPillarNetworkA,7521,7521,7521,1990-08-05,751.8000000001024,751.7635,2015-01-01 02:05:21,bin7521,75, +CTSPillarNetworkA,7522,7522,7522,1990-08-06,751.9000000001024,751.86346,2015-01-01 02:05:22,bin7522,35, +CTSPillarNetworkA,7523,7523,7523,1990-08-07,752.0000000001024,751.96344,2015-01-01 02:05:23,bin7523,75, +CTSPillarNetworkA,7524,7524,7524,1990-08-08,752.1000000001025,752.0634,2015-01-01 02:05:24,bin7524,35, +CTSPillarNetworkA,7525,7525,7525,1990-08-09,752.2000000001025,752.1634,2015-01-01 02:05:25,bin7525,75, +CTSPillarNetworkA,7526,7526,7526,1990-08-10,752.3000000001025,752.26337,2015-01-01 02:05:26,bin7526,35, +CTSPillarNetworkA,7527,7527,7527,1990-08-11,752.4000000001025,752.36334,2015-01-01 02:05:27,bin7527,75, +CTSPillarNetworkA,7528,7528,7528,1990-08-12,752.5000000001025,752.4633,2015-01-01 02:05:28,bin7528,35, +CTSPillarNetworkA,7529,7529,7529,1990-08-13,752.6000000001026,752.5633,2015-01-01 02:05:29,bin7529,75, +CTSPillarNetworkA,7530,7530,7530,1990-08-14,752.7000000001026,752.66327,2015-01-01 02:05:30,bin7530,35, +CTSPillarNetworkA,7531,7531,7531,1990-08-15,752.8000000001026,752.76324,2015-01-01 02:05:31,bin7531,75, +CTSPillarNetworkA,7532,7532,7532,1990-08-16,752.9000000001026,752.8632,2015-01-01 02:05:32,bin7532,35, +CTSPillarNetworkA,7533,7533,7533,1990-08-17,753.0000000001027,752.9632,2015-01-01 02:05:33,bin7533,75, +CTSPillarNetworkA,7534,7534,7534,1990-08-18,753.1000000001027,753.0632,2015-01-01 02:05:34,bin7534,35, +CTSPillarNetworkA,7535,7535,7535,1990-08-19,753.2000000001027,753.16315,2015-01-01 02:05:35,bin7535,75, +CTSPillarNetworkA,7536,7536,7536,1990-08-20,753.3000000001027,753.2631,2015-01-01 02:05:36,bin7536,35, +CTSPillarNetworkA,7537,7537,7537,1990-08-21,753.4000000001028,753.3631,2015-01-01 02:05:37,bin7537,75, +CTSPillarNetworkA,7538,7538,7538,1990-08-22,753.5000000001028,753.4631,2015-01-01 02:05:38,bin7538,35, +CTSPillarNetworkA,7539,7539,7539,1990-08-23,753.6000000001028,753.56305,2015-01-01 02:05:39,bin7539,75, +CTSPillarNetworkA,7540,7540,7540,1990-08-24,753.7000000001028,753.663,2015-01-01 02:05:40,bin7540,35, +CTSPillarNetworkA,7541,7541,7541,1990-08-25,753.8000000001028,753.763,2015-01-01 02:05:41,bin7541,75, +CTSPillarNetworkA,7542,7542,7542,1990-08-26,753.9000000001029,753.863,2015-01-01 02:05:42,bin7542,35, +CTSPillarNetworkA,7543,7543,7543,1990-08-27,754.0000000001029,753.96295,2015-01-01 02:05:43,bin7543,75, +CTSPillarNetworkA,7544,7544,7544,1990-08-28,754.1000000001029,754.0629,2015-01-01 02:05:44,bin7544,35, +CTSPillarNetworkA,7545,7545,7545,1990-08-29,754.2000000001029,754.1629,2015-01-01 02:05:45,bin7545,75, +CTSPillarNetworkA,7546,7546,7546,1990-08-30,754.300000000103,754.2629,2015-01-01 02:05:46,bin7546,35, +CTSPillarNetworkA,7547,7547,7547,1990-08-31,754.400000000103,754.36285,2015-01-01 02:05:47,bin7547,75, +CTSPillarNetworkA,7548,7548,7548,1990-09-01,754.500000000103,754.4628,2015-01-01 02:05:48,bin7548,35, +CTSPillarNetworkA,7549,7549,7549,1990-09-02,754.600000000103,754.5628,2015-01-01 02:05:49,bin7549,75, +CTSPillarNetworkA,7550,7550,7550,1990-09-03,754.700000000103,754.6628,2015-01-01 02:05:50,bin7550,35, +CTSPillarNetworkA,7551,7551,7551,1990-09-04,754.8000000001031,754.76276,2015-01-01 02:05:51,bin7551,75, +CTSPillarNetworkA,7552,7552,7552,1990-09-05,754.9000000001031,754.86273,2015-01-01 02:05:52,bin7552,35, +CTSPillarNetworkA,7553,7553,7553,1990-09-06,755.0000000001031,754.9627,2015-01-01 02:05:53,bin7553,75, +CTSPillarNetworkA,7554,7554,7554,1990-09-07,755.1000000001031,755.0627,2015-01-01 02:05:54,bin7554,35, +CTSPillarNetworkA,7555,7555,7555,1990-09-08,755.2000000001032,755.16266,2015-01-01 02:05:55,bin7555,75, +CTSPillarNetworkA,7556,7556,7556,1990-09-09,755.3000000001032,755.26263,2015-01-01 02:05:56,bin7556,35, +CTSPillarNetworkA,7557,7557,7557,1990-09-10,755.4000000001032,755.3626,2015-01-01 02:05:57,bin7557,75, +CTSPillarNetworkA,7558,7558,7558,1990-09-11,755.5000000001032,755.4626,2015-01-01 02:05:58,bin7558,35, +CTSPillarNetworkA,7559,7559,7559,1990-09-12,755.6000000001033,755.56256,2015-01-01 02:05:59,bin7559,75, +CTSPillarNetworkA,7560,7560,7560,1990-09-13,755.7000000001033,755.66254,2015-01-01 02:06:00,bin7560,35, +CTSPillarNetworkA,7561,7561,7561,1990-09-14,755.8000000001033,755.7625,2015-01-01 02:06:01,bin7561,75, +CTSPillarNetworkA,7562,7562,7562,1990-09-15,755.9000000001033,755.8625,2015-01-01 02:06:02,bin7562,35, +CTSPillarNetworkA,7563,7563,7563,1990-09-16,756.0000000001033,755.96246,2015-01-01 02:06:03,bin7563,75, +CTSPillarNetworkA,7564,7564,7564,1990-09-17,756.1000000001034,756.06244,2015-01-01 02:06:04,bin7564,35, +CTSPillarNetworkA,7565,7565,7565,1990-09-18,756.2000000001034,756.1624,2015-01-01 02:06:05,bin7565,75, +CTSPillarNetworkA,7566,7566,7566,1990-09-19,756.3000000001034,756.2624,2015-01-01 02:06:06,bin7566,35, +CTSPillarNetworkA,7567,7567,7567,1990-09-20,756.4000000001034,756.36237,2015-01-01 02:06:07,bin7567,75, +CTSPillarNetworkA,7568,7568,7568,1990-09-21,756.5000000001035,756.46234,2015-01-01 02:06:08,bin7568,35, +CTSPillarNetworkA,7569,7569,7569,1990-09-22,756.6000000001035,756.5623,2015-01-01 02:06:09,bin7569,75, +CTSPillarNetworkA,7570,7570,7570,1990-09-23,756.7000000001035,756.6623,2015-01-01 02:06:10,bin7570,35, +CTSPillarNetworkA,7571,7571,7571,1990-09-24,756.8000000001035,756.76227,2015-01-01 02:06:11,bin7571,75, +CTSPillarNetworkA,7572,7572,7572,1990-09-25,756.9000000001035,756.86224,2015-01-01 02:06:12,bin7572,35, +CTSPillarNetworkA,7573,7573,7573,1990-09-26,757.0000000001036,756.9622,2015-01-01 02:06:13,bin7573,75, +CTSPillarNetworkA,7574,7574,7574,1990-09-27,757.1000000001036,757.0622,2015-01-01 02:06:14,bin7574,35, +CTSPillarNetworkA,7575,7575,7575,1990-09-28,757.2000000001036,757.1622,2015-01-01 02:06:15,bin7575,75, +CTSPillarNetworkA,7576,7576,7576,1990-09-29,757.3000000001036,757.26215,2015-01-01 02:06:16,bin7576,35, +CTSPillarNetworkA,7577,7577,7577,1990-09-30,757.4000000001037,757.3621,2015-01-01 02:06:17,bin7577,75, +CTSPillarNetworkA,7578,7578,7578,1990-10-01,757.5000000001037,757.4621,2015-01-01 02:06:18,bin7578,35, +CTSPillarNetworkA,7579,7579,7579,1990-10-02,757.6000000001037,757.5621,2015-01-01 02:06:19,bin7579,75, +CTSPillarNetworkA,7580,7580,7580,1990-10-03,757.7000000001037,757.66205,2015-01-01 02:06:20,bin7580,35, +CTSPillarNetworkA,7581,7581,7581,1990-10-04,757.8000000001038,757.762,2015-01-01 02:06:21,bin7581,75, +CTSPillarNetworkA,7582,7582,7582,1990-10-05,757.9000000001038,757.862,2015-01-01 02:06:22,bin7582,35, +CTSPillarNetworkA,7583,7583,7583,1990-10-06,758.0000000001038,757.962,2015-01-01 02:06:23,bin7583,75, +CTSPillarNetworkA,7584,7584,7584,1990-10-07,758.1000000001038,758.06195,2015-01-01 02:06:24,bin7584,35, +CTSPillarNetworkA,7585,7585,7585,1990-10-08,758.2000000001038,758.1619,2015-01-01 02:06:25,bin7585,75, +CTSPillarNetworkA,7586,7586,7586,1990-10-09,758.3000000001039,758.2619,2015-01-01 02:06:26,bin7586,35, +CTSPillarNetworkA,7587,7587,7587,1990-10-10,758.4000000001039,758.3619,2015-01-01 02:06:27,bin7587,75, +CTSPillarNetworkA,7588,7588,7588,1990-10-11,758.5000000001039,758.46185,2015-01-01 02:06:28,bin7588,35, +CTSPillarNetworkA,7589,7589,7589,1990-10-12,758.6000000001039,758.5618,2015-01-01 02:06:29,bin7589,75, +CTSPillarNetworkA,7590,7590,7590,1990-10-13,758.700000000104,758.6618,2015-01-01 02:06:30,bin7590,35, +CTSPillarNetworkA,7591,7591,7591,1990-10-14,758.800000000104,758.7618,2015-01-01 02:06:31,bin7591,75, +CTSPillarNetworkA,7592,7592,7592,1990-10-15,758.900000000104,758.86176,2015-01-01 02:06:32,bin7592,35, +CTSPillarNetworkA,7593,7593,7593,1990-10-16,759.000000000104,758.96173,2015-01-01 02:06:33,bin7593,75, +CTSPillarNetworkA,7594,7594,7594,1990-10-17,759.100000000104,759.0617,2015-01-01 02:06:34,bin7594,35, +CTSPillarNetworkA,7595,7595,7595,1990-10-18,759.2000000001041,759.1617,2015-01-01 02:06:35,bin7595,75, +CTSPillarNetworkA,7596,7596,7596,1990-10-19,759.3000000001041,759.26166,2015-01-01 02:06:36,bin7596,35, +CTSPillarNetworkA,7597,7597,7597,1990-10-20,759.4000000001041,759.36163,2015-01-01 02:06:37,bin7597,75, +CTSPillarNetworkA,7598,7598,7598,1990-10-21,759.5000000001041,759.4616,2015-01-01 02:06:38,bin7598,35, +CTSPillarNetworkA,7599,7599,7599,1990-10-22,759.6000000001042,759.5616,2015-01-01 02:06:39,bin7599,75, +CTSPillarNetworkA,7600,7600,7600,1990-10-23,759.7000000001042,759.66156,2015-01-01 02:06:40,bin7600,35, +CTSPillarNetworkA,7601,7601,7601,1990-10-24,759.8000000001042,759.76154,2015-01-01 02:06:41,bin7601,75, +CTSPillarNetworkA,7602,7602,7602,1990-10-25,759.9000000001042,759.8615,2015-01-01 02:06:42,bin7602,35, +CTSPillarNetworkA,7603,7603,7603,1990-10-26,760.0000000001043,759.9615,2015-01-01 02:06:43,bin7603,75, +CTSPillarNetworkA,7604,7604,7604,1990-10-27,760.1000000001043,760.06146,2015-01-01 02:06:44,bin7604,35, +CTSPillarNetworkA,7605,7605,7605,1990-10-28,760.2000000001043,760.16144,2015-01-01 02:06:45,bin7605,75, +CTSPillarNetworkA,7606,7606,7606,1990-10-29,760.3000000001043,760.2614,2015-01-01 02:06:46,bin7606,35, +CTSPillarNetworkA,7607,7607,7607,1990-10-30,760.4000000001043,760.3614,2015-01-01 02:06:47,bin7607,75, +CTSPillarNetworkA,7608,7608,7608,1990-10-31,760.5000000001044,760.46136,2015-01-01 02:06:48,bin7608,35, +CTSPillarNetworkA,7609,7609,7609,1990-11-01,760.6000000001044,760.56134,2015-01-01 02:06:49,bin7609,75, +CTSPillarNetworkA,7610,7610,7610,1990-11-02,760.7000000001044,760.6613,2015-01-01 02:06:50,bin7610,35, +CTSPillarNetworkA,7611,7611,7611,1990-11-03,760.8000000001044,760.7613,2015-01-01 02:06:51,bin7611,75, +CTSPillarNetworkA,7612,7612,7612,1990-11-04,760.9000000001045,760.86127,2015-01-01 02:06:52,bin7612,35, +CTSPillarNetworkA,7613,7613,7613,1990-11-05,761.0000000001045,760.96124,2015-01-01 02:06:53,bin7613,75, +CTSPillarNetworkA,7614,7614,7614,1990-11-06,761.1000000001045,761.0612,2015-01-01 02:06:54,bin7614,35, +CTSPillarNetworkA,7615,7615,7615,1990-11-07,761.2000000001045,761.1612,2015-01-01 02:06:55,bin7615,75, +CTSPillarNetworkA,7616,7616,7616,1990-11-08,761.3000000001045,761.26117,2015-01-01 02:06:56,bin7616,35, +CTSPillarNetworkA,7617,7617,7617,1990-11-09,761.4000000001046,761.36115,2015-01-01 02:06:57,bin7617,75, +CTSPillarNetworkA,7618,7618,7618,1990-11-10,761.5000000001046,761.4611,2015-01-01 02:06:58,bin7618,35, +CTSPillarNetworkA,7619,7619,7619,1990-11-11,761.6000000001046,761.5611,2015-01-01 02:06:59,bin7619,75, +CTSPillarNetworkA,7620,7620,7620,1990-11-12,761.7000000001046,761.6611,2015-01-01 02:07:00,bin7620,35, +CTSPillarNetworkA,7621,7621,7621,1990-11-13,761.8000000001047,761.76105,2015-01-01 02:07:01,bin7621,75, +CTSPillarNetworkA,7622,7622,7622,1990-11-14,761.9000000001047,761.861,2015-01-01 02:07:02,bin7622,35, +CTSPillarNetworkA,7623,7623,7623,1990-11-15,762.0000000001047,761.961,2015-01-01 02:07:03,bin7623,75, +CTSPillarNetworkA,7624,7624,7624,1990-11-16,762.1000000001047,762.061,2015-01-01 02:07:04,bin7624,35, +CTSPillarNetworkA,7625,7625,7625,1990-11-17,762.2000000001048,762.16095,2015-01-01 02:07:05,bin7625,75, +CTSPillarNetworkA,7626,7626,7626,1990-11-18,762.3000000001048,762.2609,2015-01-01 02:07:06,bin7626,35, +CTSPillarNetworkA,7627,7627,7627,1990-11-19,762.4000000001048,762.3609,2015-01-01 02:07:07,bin7627,75, +CTSPillarNetworkA,7628,7628,7628,1990-11-20,762.5000000001048,762.4609,2015-01-01 02:07:08,bin7628,35, +CTSPillarNetworkA,7629,7629,7629,1990-11-21,762.6000000001048,762.56085,2015-01-01 02:07:09,bin7629,75, +CTSPillarNetworkA,7630,7630,7630,1990-11-22,762.7000000001049,762.6608,2015-01-01 02:07:10,bin7630,35, +CTSPillarNetworkA,7631,7631,7631,1990-11-23,762.8000000001049,762.7608,2015-01-01 02:07:11,bin7631,75, +CTSPillarNetworkA,7632,7632,7632,1990-11-24,762.9000000001049,762.8608,2015-01-01 02:07:12,bin7632,35, +CTSPillarNetworkA,7633,7633,7633,1990-11-25,763.0000000001049,762.96075,2015-01-01 02:07:13,bin7633,75, +CTSPillarNetworkA,7634,7634,7634,1990-11-26,763.100000000105,763.0607,2015-01-01 02:07:14,bin7634,35, +CTSPillarNetworkA,7635,7635,7635,1990-11-27,763.200000000105,763.1607,2015-01-01 02:07:15,bin7635,75, +CTSPillarNetworkA,7636,7636,7636,1990-11-28,763.300000000105,763.2607,2015-01-01 02:07:16,bin7636,35, +CTSPillarNetworkA,7637,7637,7637,1990-11-29,763.400000000105,763.36066,2015-01-01 02:07:17,bin7637,75, +CTSPillarNetworkA,7638,7638,7638,1990-11-30,763.500000000105,763.46063,2015-01-01 02:07:18,bin7638,35, +CTSPillarNetworkA,7639,7639,7639,1990-12-01,763.6000000001051,763.5606,2015-01-01 02:07:19,bin7639,75, +CTSPillarNetworkA,7640,7640,7640,1990-12-02,763.7000000001051,763.6606,2015-01-01 02:07:20,bin7640,35, +CTSPillarNetworkA,7641,7641,7641,1990-12-03,763.8000000001051,763.76056,2015-01-01 02:07:21,bin7641,75, +CTSPillarNetworkA,7642,7642,7642,1990-12-04,763.9000000001051,763.86053,2015-01-01 02:07:22,bin7642,35, +CTSPillarNetworkA,7643,7643,7643,1990-12-05,764.0000000001052,763.9605,2015-01-01 02:07:23,bin7643,75, +CTSPillarNetworkA,7644,7644,7644,1990-12-06,764.1000000001052,764.0605,2015-01-01 02:07:24,bin7644,35, +CTSPillarNetworkA,7645,7645,7645,1990-12-07,764.2000000001052,764.16046,2015-01-01 02:07:25,bin7645,75, +CTSPillarNetworkA,7646,7646,7646,1990-12-08,764.3000000001052,764.26044,2015-01-01 02:07:26,bin7646,35, +CTSPillarNetworkA,7647,7647,7647,1990-12-09,764.4000000001053,764.3604,2015-01-01 02:07:27,bin7647,75, +CTSPillarNetworkA,7648,7648,7648,1990-12-10,764.5000000001053,764.4604,2015-01-01 02:07:28,bin7648,35, +CTSPillarNetworkA,7649,7649,7649,1990-12-11,764.6000000001053,764.56036,2015-01-01 02:07:29,bin7649,75, +CTSPillarNetworkA,7650,7650,7650,1990-12-12,764.7000000001053,764.66034,2015-01-01 02:07:30,bin7650,35, +CTSPillarNetworkA,7651,7651,7651,1990-12-13,764.8000000001053,764.7603,2015-01-01 02:07:31,bin7651,75, +CTSPillarNetworkA,7652,7652,7652,1990-12-14,764.9000000001054,764.8603,2015-01-01 02:07:32,bin7652,35, +CTSPillarNetworkA,7653,7653,7653,1990-12-15,765.0000000001054,764.96027,2015-01-01 02:07:33,bin7653,75, +CTSPillarNetworkA,7654,7654,7654,1990-12-16,765.1000000001054,765.06024,2015-01-01 02:07:34,bin7654,35, +CTSPillarNetworkA,7655,7655,7655,1990-12-17,765.2000000001054,765.1602,2015-01-01 02:07:35,bin7655,75, +CTSPillarNetworkA,7656,7656,7656,1990-12-18,765.3000000001055,765.2602,2015-01-01 02:07:36,bin7656,35, +CTSPillarNetworkA,7657,7657,7657,1990-12-19,765.4000000001055,765.36017,2015-01-01 02:07:37,bin7657,75, +CTSPillarNetworkA,7658,7658,7658,1990-12-20,765.5000000001055,765.46014,2015-01-01 02:07:38,bin7658,35, +CTSPillarNetworkA,7659,7659,7659,1990-12-21,765.6000000001055,765.5601,2015-01-01 02:07:39,bin7659,75, +CTSPillarNetworkA,7660,7660,7660,1990-12-22,765.7000000001055,765.6601,2015-01-01 02:07:40,bin7660,35, +CTSPillarNetworkA,7661,7661,7661,1990-12-23,765.8000000001056,765.7601,2015-01-01 02:07:41,bin7661,75, +CTSPillarNetworkA,7662,7662,7662,1990-12-24,765.9000000001056,765.86005,2015-01-01 02:07:42,bin7662,35, +CTSPillarNetworkA,7663,7663,7663,1990-12-25,766.0000000001056,765.96,2015-01-01 02:07:43,bin7663,75, +CTSPillarNetworkA,7664,7664,7664,1990-12-26,766.1000000001056,766.06,2015-01-01 02:07:44,bin7664,35, +CTSPillarNetworkA,7665,7665,7665,1990-12-27,766.2000000001057,766.16,2015-01-01 02:07:45,bin7665,75, +CTSPillarNetworkA,7666,7666,7666,1990-12-28,766.3000000001057,766.25995,2015-01-01 02:07:46,bin7666,35, +CTSPillarNetworkA,7667,7667,7667,1990-12-29,766.4000000001057,766.3599,2015-01-01 02:07:47,bin7667,75, +CTSPillarNetworkA,7668,7668,7668,1990-12-30,766.5000000001057,766.4599,2015-01-01 02:07:48,bin7668,35, +CTSPillarNetworkA,7669,7669,7669,1990-12-31,766.6000000001058,766.5599,2015-01-01 02:07:49,bin7669,75, +CTSPillarNetworkA,7670,7670,7670,1991-01-01,766.7000000001058,766.65985,2015-01-01 02:07:50,bin7670,35, +CTSPillarNetworkA,7671,7671,7671,1991-01-02,766.8000000001058,766.7598,2015-01-01 02:07:51,bin7671,75, +CTSPillarNetworkA,7672,7672,7672,1991-01-03,766.9000000001058,766.8598,2015-01-01 02:07:52,bin7672,35, +CTSPillarNetworkA,7673,7673,7673,1991-01-04,767.0000000001058,766.9598,2015-01-01 02:07:53,bin7673,75, +CTSPillarNetworkA,7674,7674,7674,1991-01-05,767.1000000001059,767.05975,2015-01-01 02:07:54,bin7674,35, +CTSPillarNetworkA,7675,7675,7675,1991-01-06,767.2000000001059,767.1597,2015-01-01 02:07:55,bin7675,75, +CTSPillarNetworkA,7676,7676,7676,1991-01-07,767.3000000001059,767.2597,2015-01-01 02:07:56,bin7676,35, +CTSPillarNetworkA,7677,7677,7677,1991-01-08,767.4000000001059,767.3597,2015-01-01 02:07:57,bin7677,75, +CTSPillarNetworkA,7678,7678,7678,1991-01-09,767.500000000106,767.45966,2015-01-01 02:07:58,bin7678,35, +CTSPillarNetworkA,7679,7679,7679,1991-01-10,767.600000000106,767.55963,2015-01-01 02:07:59,bin7679,75, +CTSPillarNetworkA,7680,7680,7680,1991-01-11,767.700000000106,767.6596,2015-01-01 02:08:00,bin7680,35, +CTSPillarNetworkA,7681,7681,7681,1991-01-12,767.800000000106,767.7596,2015-01-01 02:08:01,bin7681,75, +CTSPillarNetworkA,7682,7682,7682,1991-01-13,767.900000000106,767.85956,2015-01-01 02:08:02,bin7682,35, +CTSPillarNetworkA,7683,7683,7683,1991-01-14,768.0000000001061,767.95953,2015-01-01 02:08:03,bin7683,75, +CTSPillarNetworkA,7684,7684,7684,1991-01-15,768.1000000001061,768.0595,2015-01-01 02:08:04,bin7684,35, +CTSPillarNetworkA,7685,7685,7685,1991-01-16,768.2000000001061,768.1595,2015-01-01 02:08:05,bin7685,75, +CTSPillarNetworkA,7686,7686,7686,1991-01-17,768.3000000001061,768.25946,2015-01-01 02:08:06,bin7686,35, +CTSPillarNetworkA,7687,7687,7687,1991-01-18,768.4000000001062,768.35944,2015-01-01 02:08:07,bin7687,75, +CTSPillarNetworkA,7688,7688,7688,1991-01-19,768.5000000001062,768.4594,2015-01-01 02:08:08,bin7688,35, +CTSPillarNetworkA,7689,7689,7689,1991-01-20,768.6000000001062,768.5594,2015-01-01 02:08:09,bin7689,75, +CTSPillarNetworkA,7690,7690,7690,1991-01-21,768.7000000001062,768.65936,2015-01-01 02:08:10,bin7690,35, +CTSPillarNetworkA,7691,7691,7691,1991-01-22,768.8000000001063,768.75934,2015-01-01 02:08:11,bin7691,75, +CTSPillarNetworkA,7692,7692,7692,1991-01-23,768.9000000001063,768.8593,2015-01-01 02:08:12,bin7692,35, +CTSPillarNetworkA,7693,7693,7693,1991-01-24,769.0000000001063,768.9593,2015-01-01 02:08:13,bin7693,75, +CTSPillarNetworkA,7694,7694,7694,1991-01-25,769.1000000001063,769.05927,2015-01-01 02:08:14,bin7694,35, +CTSPillarNetworkA,7695,7695,7695,1991-01-26,769.2000000001063,769.15924,2015-01-01 02:08:15,bin7695,75, +CTSPillarNetworkA,7696,7696,7696,1991-01-27,769.3000000001064,769.2592,2015-01-01 02:08:16,bin7696,35, +CTSPillarNetworkA,7697,7697,7697,1991-01-28,769.4000000001064,769.3592,2015-01-01 02:08:17,bin7697,75, +CTSPillarNetworkA,7698,7698,7698,1991-01-29,769.5000000001064,769.45917,2015-01-01 02:08:18,bin7698,35, +CTSPillarNetworkA,7699,7699,7699,1991-01-30,769.6000000001064,769.55914,2015-01-01 02:08:19,bin7699,75, +CTSPillarNetworkA,7700,7700,7700,1991-01-31,769.7000000001065,769.6591,2015-01-01 02:08:20,bin7700,35, +CTSPillarNetworkA,7701,7701,7701,1991-02-01,769.8000000001065,769.7591,2015-01-01 02:08:21,bin7701,75, +CTSPillarNetworkA,7702,7702,7702,1991-02-02,769.9000000001065,769.8591,2015-01-01 02:08:22,bin7702,35, +CTSPillarNetworkA,7703,7703,7703,1991-02-03,770.0000000001065,769.95905,2015-01-01 02:08:23,bin7703,75, +CTSPillarNetworkA,7704,7704,7704,1991-02-04,770.1000000001065,770.059,2015-01-01 02:08:24,bin7704,35, +CTSPillarNetworkA,7705,7705,7705,1991-02-05,770.2000000001066,770.159,2015-01-01 02:08:25,bin7705,75, +CTSPillarNetworkA,7706,7706,7706,1991-02-06,770.3000000001066,770.259,2015-01-01 02:08:26,bin7706,35, +CTSPillarNetworkA,7707,7707,7707,1991-02-07,770.4000000001066,770.35895,2015-01-01 02:08:27,bin7707,75, +CTSPillarNetworkA,7708,7708,7708,1991-02-08,770.5000000001066,770.4589,2015-01-01 02:08:28,bin7708,35, +CTSPillarNetworkA,7709,7709,7709,1991-02-09,770.6000000001067,770.5589,2015-01-01 02:08:29,bin7709,75, +CTSPillarNetworkA,7710,7710,7710,1991-02-10,770.7000000001067,770.6589,2015-01-01 02:08:30,bin7710,35, +CTSPillarNetworkA,7711,7711,7711,1991-02-11,770.8000000001067,770.75885,2015-01-01 02:08:31,bin7711,75, +CTSPillarNetworkA,7712,7712,7712,1991-02-12,770.9000000001067,770.8588,2015-01-01 02:08:32,bin7712,35, +CTSPillarNetworkA,7713,7713,7713,1991-02-13,771.0000000001068,770.9588,2015-01-01 02:08:33,bin7713,75, +CTSPillarNetworkA,7714,7714,7714,1991-02-14,771.1000000001068,771.0588,2015-01-01 02:08:34,bin7714,35, +CTSPillarNetworkA,7715,7715,7715,1991-02-15,771.2000000001068,771.15875,2015-01-01 02:08:35,bin7715,75, +CTSPillarNetworkA,7716,7716,7716,1991-02-16,771.3000000001068,771.2587,2015-01-01 02:08:36,bin7716,35, +CTSPillarNetworkA,7717,7717,7717,1991-02-17,771.4000000001068,771.3587,2015-01-01 02:08:37,bin7717,75, +CTSPillarNetworkA,7718,7718,7718,1991-02-18,771.5000000001069,771.4587,2015-01-01 02:08:38,bin7718,35, +CTSPillarNetworkA,7719,7719,7719,1991-02-19,771.6000000001069,771.55865,2015-01-01 02:08:39,bin7719,75, +CTSPillarNetworkA,7720,7720,7720,1991-02-20,771.7000000001069,771.6586,2015-01-01 02:08:40,bin7720,35, +CTSPillarNetworkA,7721,7721,7721,1991-02-21,771.8000000001069,771.7586,2015-01-01 02:08:41,bin7721,75, +CTSPillarNetworkA,7722,7722,7722,1991-02-22,771.900000000107,771.8586,2015-01-01 02:08:42,bin7722,35, +CTSPillarNetworkA,7723,7723,7723,1991-02-23,772.000000000107,771.95856,2015-01-01 02:08:43,bin7723,75, +CTSPillarNetworkA,7724,7724,7724,1991-02-24,772.100000000107,772.05853,2015-01-01 02:08:44,bin7724,35, +CTSPillarNetworkA,7725,7725,7725,1991-02-25,772.200000000107,772.1585,2015-01-01 02:08:45,bin7725,75, +CTSPillarNetworkA,7726,7726,7726,1991-02-26,772.300000000107,772.2585,2015-01-01 02:08:46,bin7726,35, +CTSPillarNetworkA,7727,7727,7727,1991-02-27,772.4000000001071,772.35846,2015-01-01 02:08:47,bin7727,75, +CTSPillarNetworkA,7728,7728,7728,1991-02-28,772.5000000001071,772.45844,2015-01-01 02:08:48,bin7728,35, +CTSPillarNetworkA,7729,7729,7729,1991-03-01,772.6000000001071,772.5584,2015-01-01 02:08:49,bin7729,75, +CTSPillarNetworkA,7730,7730,7730,1991-03-02,772.7000000001071,772.6584,2015-01-01 02:08:50,bin7730,35, +CTSPillarNetworkA,7731,7731,7731,1991-03-03,772.8000000001072,772.75836,2015-01-01 02:08:51,bin7731,75, +CTSPillarNetworkA,7732,7732,7732,1991-03-04,772.9000000001072,772.85834,2015-01-01 02:08:52,bin7732,35, +CTSPillarNetworkA,7733,7733,7733,1991-03-05,773.0000000001072,772.9583,2015-01-01 02:08:53,bin7733,75, +CTSPillarNetworkA,7734,7734,7734,1991-03-06,773.1000000001072,773.0583,2015-01-01 02:08:54,bin7734,35, +CTSPillarNetworkA,7735,7735,7735,1991-03-07,773.2000000001073,773.15826,2015-01-01 02:08:55,bin7735,75, +CTSPillarNetworkA,7736,7736,7736,1991-03-08,773.3000000001073,773.25824,2015-01-01 02:08:56,bin7736,35, +CTSPillarNetworkA,7737,7737,7737,1991-03-09,773.4000000001073,773.3582,2015-01-01 02:08:57,bin7737,75, +CTSPillarNetworkA,7738,7738,7738,1991-03-10,773.5000000001073,773.4582,2015-01-01 02:08:58,bin7738,35, +CTSPillarNetworkA,7739,7739,7739,1991-03-11,773.6000000001073,773.55817,2015-01-01 02:08:59,bin7739,75, +CTSPillarNetworkA,7740,7740,7740,1991-03-12,773.7000000001074,773.65814,2015-01-01 02:09:00,bin7740,35, +CTSPillarNetworkA,7741,7741,7741,1991-03-13,773.8000000001074,773.7581,2015-01-01 02:09:01,bin7741,75, +CTSPillarNetworkA,7742,7742,7742,1991-03-14,773.9000000001074,773.8581,2015-01-01 02:09:02,bin7742,35, +CTSPillarNetworkA,7743,7743,7743,1991-03-15,774.0000000001074,773.95807,2015-01-01 02:09:03,bin7743,75, +CTSPillarNetworkA,7744,7744,7744,1991-03-16,774.1000000001075,774.05804,2015-01-01 02:09:04,bin7744,35, +CTSPillarNetworkA,7745,7745,7745,1991-03-17,774.2000000001075,774.158,2015-01-01 02:09:05,bin7745,75, +CTSPillarNetworkA,7746,7746,7746,1991-03-18,774.3000000001075,774.258,2015-01-01 02:09:06,bin7746,35, +CTSPillarNetworkA,7747,7747,7747,1991-03-19,774.4000000001075,774.358,2015-01-01 02:09:07,bin7747,75, +CTSPillarNetworkA,7748,7748,7748,1991-03-20,774.5000000001075,774.45795,2015-01-01 02:09:08,bin7748,35, +CTSPillarNetworkA,7749,7749,7749,1991-03-21,774.6000000001076,774.5579,2015-01-01 02:09:09,bin7749,75, +CTSPillarNetworkA,7750,7750,7750,1991-03-22,774.7000000001076,774.6579,2015-01-01 02:09:10,bin7750,35, +CTSPillarNetworkA,7751,7751,7751,1991-03-23,774.8000000001076,774.7579,2015-01-01 02:09:11,bin7751,75, +CTSPillarNetworkA,7752,7752,7752,1991-03-24,774.9000000001076,774.85785,2015-01-01 02:09:12,bin7752,35, +CTSPillarNetworkA,7753,7753,7753,1991-03-25,775.0000000001077,774.9578,2015-01-01 02:09:13,bin7753,75, +CTSPillarNetworkA,7754,7754,7754,1991-03-26,775.1000000001077,775.0578,2015-01-01 02:09:14,bin7754,35, +CTSPillarNetworkA,7755,7755,7755,1991-03-27,775.2000000001077,775.1578,2015-01-01 02:09:15,bin7755,75, +CTSPillarNetworkA,7756,7756,7756,1991-03-28,775.3000000001077,775.25775,2015-01-01 02:09:16,bin7756,35, +CTSPillarNetworkA,7757,7757,7757,1991-03-29,775.4000000001078,775.3577,2015-01-01 02:09:17,bin7757,75, +CTSPillarNetworkA,7758,7758,7758,1991-03-30,775.5000000001078,775.4577,2015-01-01 02:09:18,bin7758,35, +CTSPillarNetworkA,7759,7759,7759,1991-03-31,775.6000000001078,775.5577,2015-01-01 02:09:19,bin7759,75, +CTSPillarNetworkA,7760,7760,7760,1991-04-01,775.7000000001078,775.65765,2015-01-01 02:09:20,bin7760,35, +CTSPillarNetworkA,7761,7761,7761,1991-04-02,775.8000000001078,775.7576,2015-01-01 02:09:21,bin7761,75, +CTSPillarNetworkA,7762,7762,7762,1991-04-03,775.9000000001079,775.8576,2015-01-01 02:09:22,bin7762,35, +CTSPillarNetworkA,7763,7763,7763,1991-04-04,776.0000000001079,775.9576,2015-01-01 02:09:23,bin7763,75, +CTSPillarNetworkA,7764,7764,7764,1991-04-05,776.1000000001079,776.05756,2015-01-01 02:09:24,bin7764,35, +CTSPillarNetworkA,7765,7765,7765,1991-04-06,776.2000000001079,776.15753,2015-01-01 02:09:25,bin7765,75, +CTSPillarNetworkA,7766,7766,7766,1991-04-07,776.300000000108,776.2575,2015-01-01 02:09:26,bin7766,35, +CTSPillarNetworkA,7767,7767,7767,1991-04-08,776.400000000108,776.3575,2015-01-01 02:09:27,bin7767,75, +CTSPillarNetworkA,7768,7768,7768,1991-04-09,776.500000000108,776.45746,2015-01-01 02:09:28,bin7768,35, +CTSPillarNetworkA,7769,7769,7769,1991-04-10,776.600000000108,776.55743,2015-01-01 02:09:29,bin7769,75, +CTSPillarNetworkA,7770,7770,7770,1991-04-11,776.700000000108,776.6574,2015-01-01 02:09:30,bin7770,35, +CTSPillarNetworkA,7771,7771,7771,1991-04-12,776.8000000001081,776.7574,2015-01-01 02:09:31,bin7771,75, +CTSPillarNetworkA,7772,7772,7772,1991-04-13,776.9000000001081,776.85736,2015-01-01 02:09:32,bin7772,35, +CTSPillarNetworkA,7773,7773,7773,1991-04-14,777.0000000001081,776.95734,2015-01-01 02:09:33,bin7773,75, +CTSPillarNetworkA,7774,7774,7774,1991-04-15,777.1000000001081,777.0573,2015-01-01 02:09:34,bin7774,35, +CTSPillarNetworkA,7775,7775,7775,1991-04-16,777.2000000001082,777.1573,2015-01-01 02:09:35,bin7775,75, +CTSPillarNetworkA,7776,7776,7776,1991-04-17,777.3000000001082,777.25726,2015-01-01 02:09:36,bin7776,35, +CTSPillarNetworkA,7777,7777,7777,1991-04-18,777.4000000001082,777.35724,2015-01-01 02:09:37,bin7777,75, +CTSPillarNetworkA,7778,7778,7778,1991-04-19,777.5000000001082,777.4572,2015-01-01 02:09:38,bin7778,35, +CTSPillarNetworkA,7779,7779,7779,1991-04-20,777.6000000001083,777.5572,2015-01-01 02:09:39,bin7779,75, +CTSPillarNetworkA,7780,7780,7780,1991-04-21,777.7000000001083,777.65717,2015-01-01 02:09:40,bin7780,35, +CTSPillarNetworkA,7781,7781,7781,1991-04-22,777.8000000001083,777.75714,2015-01-01 02:09:41,bin7781,75, +CTSPillarNetworkA,7782,7782,7782,1991-04-23,777.9000000001083,777.8571,2015-01-01 02:09:42,bin7782,35, +CTSPillarNetworkA,7783,7783,7783,1991-04-24,778.0000000001083,777.9571,2015-01-01 02:09:43,bin7783,75, +CTSPillarNetworkA,7784,7784,7784,1991-04-25,778.1000000001084,778.05707,2015-01-01 02:09:44,bin7784,35, +CTSPillarNetworkA,7785,7785,7785,1991-04-26,778.2000000001084,778.15704,2015-01-01 02:09:45,bin7785,75, +CTSPillarNetworkA,7786,7786,7786,1991-04-27,778.3000000001084,778.257,2015-01-01 02:09:46,bin7786,35, +CTSPillarNetworkA,7787,7787,7787,1991-04-28,778.4000000001084,778.357,2015-01-01 02:09:47,bin7787,75, +CTSPillarNetworkA,7788,7788,7788,1991-04-29,778.5000000001085,778.457,2015-01-01 02:09:48,bin7788,35, +CTSPillarNetworkA,7789,7789,7789,1991-04-30,778.6000000001085,778.55695,2015-01-01 02:09:49,bin7789,75, +CTSPillarNetworkA,7790,7790,7790,1991-05-01,778.7000000001085,778.6569,2015-01-01 02:09:50,bin7790,35, +CTSPillarNetworkA,7791,7791,7791,1991-05-02,778.8000000001085,778.7569,2015-01-01 02:09:51,bin7791,75, +CTSPillarNetworkA,7792,7792,7792,1991-05-03,778.9000000001085,778.8569,2015-01-01 02:09:52,bin7792,35, +CTSPillarNetworkA,7793,7793,7793,1991-05-04,779.0000000001086,778.95685,2015-01-01 02:09:53,bin7793,75, +CTSPillarNetworkA,7794,7794,7794,1991-05-05,779.1000000001086,779.0568,2015-01-01 02:09:54,bin7794,35, +CTSPillarNetworkA,7795,7795,7795,1991-05-06,779.2000000001086,779.1568,2015-01-01 02:09:55,bin7795,75, +CTSPillarNetworkA,7796,7796,7796,1991-05-07,779.3000000001086,779.2568,2015-01-01 02:09:56,bin7796,35, +CTSPillarNetworkA,7797,7797,7797,1991-05-08,779.4000000001087,779.35675,2015-01-01 02:09:57,bin7797,75, +CTSPillarNetworkA,7798,7798,7798,1991-05-09,779.5000000001087,779.4567,2015-01-01 02:09:58,bin7798,35, +CTSPillarNetworkA,7799,7799,7799,1991-05-10,779.6000000001087,779.5567,2015-01-01 02:09:59,bin7799,75, +CTSPillarNetworkA,7800,7800,7800,1991-05-11,779.7000000001087,779.6567,2015-01-01 02:10:00,bin7800,35, +CTSPillarNetworkA,7801,7801,7801,1991-05-12,779.8000000001088,779.75665,2015-01-01 02:10:01,bin7801,75, +CTSPillarNetworkA,7802,7802,7802,1991-05-13,779.9000000001088,779.8566,2015-01-01 02:10:02,bin7802,35, +CTSPillarNetworkA,7803,7803,7803,1991-05-14,780.0000000001088,779.9566,2015-01-01 02:10:03,bin7803,75, +CTSPillarNetworkA,7804,7804,7804,1991-05-15,780.1000000001088,780.0566,2015-01-01 02:10:04,bin7804,35, +CTSPillarNetworkA,7805,7805,7805,1991-05-16,780.2000000001088,780.15656,2015-01-01 02:10:05,bin7805,75, +CTSPillarNetworkA,7806,7806,7806,1991-05-17,780.3000000001089,780.25653,2015-01-01 02:10:06,bin7806,35, +CTSPillarNetworkA,7807,7807,7807,1991-05-18,780.4000000001089,780.3565,2015-01-01 02:10:07,bin7807,75, +CTSPillarNetworkA,7808,7808,7808,1991-05-19,780.5000000001089,780.4565,2015-01-01 02:10:08,bin7808,35, +CTSPillarNetworkA,7809,7809,7809,1991-05-20,780.6000000001089,780.55646,2015-01-01 02:10:09,bin7809,75, +CTSPillarNetworkA,7810,7810,7810,1991-05-21,780.700000000109,780.65643,2015-01-01 02:10:10,bin7810,35, +CTSPillarNetworkA,7811,7811,7811,1991-05-22,780.800000000109,780.7564,2015-01-01 02:10:11,bin7811,75, +CTSPillarNetworkA,7812,7812,7812,1991-05-23,780.900000000109,780.8564,2015-01-01 02:10:12,bin7812,35, +CTSPillarNetworkA,7813,7813,7813,1991-05-24,781.000000000109,780.95636,2015-01-01 02:10:13,bin7813,75, +CTSPillarNetworkA,7814,7814,7814,1991-05-25,781.100000000109,781.05634,2015-01-01 02:10:14,bin7814,35, +CTSPillarNetworkA,7815,7815,7815,1991-05-26,781.2000000001091,781.1563,2015-01-01 02:10:15,bin7815,75, +CTSPillarNetworkA,7816,7816,7816,1991-05-27,781.3000000001091,781.2563,2015-01-01 02:10:16,bin7816,35, +CTSPillarNetworkA,7817,7817,7817,1991-05-28,781.4000000001091,781.35626,2015-01-01 02:10:17,bin7817,75, +CTSPillarNetworkA,7818,7818,7818,1991-05-29,781.5000000001091,781.45624,2015-01-01 02:10:18,bin7818,35, +CTSPillarNetworkA,7819,7819,7819,1991-05-30,781.6000000001092,781.5562,2015-01-01 02:10:19,bin7819,75, +CTSPillarNetworkA,7820,7820,7820,1991-05-31,781.7000000001092,781.6562,2015-01-01 02:10:20,bin7820,35, +CTSPillarNetworkA,7821,7821,7821,1991-06-01,781.8000000001092,781.75616,2015-01-01 02:10:21,bin7821,75, +CTSPillarNetworkA,7822,7822,7822,1991-06-02,781.9000000001092,781.85614,2015-01-01 02:10:22,bin7822,35, +CTSPillarNetworkA,7823,7823,7823,1991-06-03,782.0000000001093,781.9561,2015-01-01 02:10:23,bin7823,75, +CTSPillarNetworkA,7824,7824,7824,1991-06-04,782.1000000001093,782.0561,2015-01-01 02:10:24,bin7824,35, +CTSPillarNetworkA,7825,7825,7825,1991-06-05,782.2000000001093,782.15607,2015-01-01 02:10:25,bin7825,75, +CTSPillarNetworkA,7826,7826,7826,1991-06-06,782.3000000001093,782.25604,2015-01-01 02:10:26,bin7826,35, +CTSPillarNetworkA,7827,7827,7827,1991-06-07,782.4000000001093,782.356,2015-01-01 02:10:27,bin7827,75, +CTSPillarNetworkA,7828,7828,7828,1991-06-08,782.5000000001094,782.456,2015-01-01 02:10:28,bin7828,35, +CTSPillarNetworkA,7829,7829,7829,1991-06-09,782.6000000001094,782.55597,2015-01-01 02:10:29,bin7829,75, +CTSPillarNetworkA,7830,7830,7830,1991-06-10,782.7000000001094,782.65594,2015-01-01 02:10:30,bin7830,35, +CTSPillarNetworkA,7831,7831,7831,1991-06-11,782.8000000001094,782.7559,2015-01-01 02:10:31,bin7831,75, +CTSPillarNetworkA,7832,7832,7832,1991-06-12,782.9000000001095,782.8559,2015-01-01 02:10:32,bin7832,35, +CTSPillarNetworkA,7833,7833,7833,1991-06-13,783.0000000001095,782.9559,2015-01-01 02:10:33,bin7833,75, +CTSPillarNetworkA,7834,7834,7834,1991-06-14,783.1000000001095,783.05585,2015-01-01 02:10:34,bin7834,35, +CTSPillarNetworkA,7835,7835,7835,1991-06-15,783.2000000001095,783.1558,2015-01-01 02:10:35,bin7835,75, +CTSPillarNetworkA,7836,7836,7836,1991-06-16,783.3000000001095,783.2558,2015-01-01 02:10:36,bin7836,35, +CTSPillarNetworkA,7837,7837,7837,1991-06-17,783.4000000001096,783.3558,2015-01-01 02:10:37,bin7837,75, +CTSPillarNetworkA,7838,7838,7838,1991-06-18,783.5000000001096,783.45575,2015-01-01 02:10:38,bin7838,35, +CTSPillarNetworkA,7839,7839,7839,1991-06-19,783.6000000001096,783.5557,2015-01-01 02:10:39,bin7839,75, +CTSPillarNetworkA,7840,7840,7840,1991-06-20,783.7000000001096,783.6557,2015-01-01 02:10:40,bin7840,35, +CTSPillarNetworkA,7841,7841,7841,1991-06-21,783.8000000001097,783.7557,2015-01-01 02:10:41,bin7841,75, +CTSPillarNetworkA,7842,7842,7842,1991-06-22,783.9000000001097,783.85565,2015-01-01 02:10:42,bin7842,35, +CTSPillarNetworkA,7843,7843,7843,1991-06-23,784.0000000001097,783.9556,2015-01-01 02:10:43,bin7843,75, +CTSPillarNetworkA,7844,7844,7844,1991-06-24,784.1000000001097,784.0556,2015-01-01 02:10:44,bin7844,35, +CTSPillarNetworkA,7845,7845,7845,1991-06-25,784.2000000001098,784.1556,2015-01-01 02:10:45,bin7845,75, +CTSPillarNetworkA,7846,7846,7846,1991-06-26,784.3000000001098,784.25555,2015-01-01 02:10:46,bin7846,35, +CTSPillarNetworkA,7847,7847,7847,1991-06-27,784.4000000001098,784.3555,2015-01-01 02:10:47,bin7847,75, +CTSPillarNetworkA,7848,7848,7848,1991-06-28,784.5000000001098,784.4555,2015-01-01 02:10:48,bin7848,35, +CTSPillarNetworkA,7849,7849,7849,1991-06-29,784.6000000001098,784.5555,2015-01-01 02:10:49,bin7849,75, +CTSPillarNetworkA,7850,7850,7850,1991-06-30,784.7000000001099,784.65546,2015-01-01 02:10:50,bin7850,35, +CTSPillarNetworkA,7851,7851,7851,1991-07-01,784.8000000001099,784.75543,2015-01-01 02:10:51,bin7851,75, +CTSPillarNetworkA,7852,7852,7852,1991-07-02,784.9000000001099,784.8554,2015-01-01 02:10:52,bin7852,35, +CTSPillarNetworkA,7853,7853,7853,1991-07-03,785.0000000001099,784.9554,2015-01-01 02:10:53,bin7853,75, +CTSPillarNetworkA,7854,7854,7854,1991-07-04,785.10000000011,785.05536,2015-01-01 02:10:54,bin7854,35, +CTSPillarNetworkA,7855,7855,7855,1991-07-05,785.20000000011,785.15533,2015-01-01 02:10:55,bin7855,75, +CTSPillarNetworkA,7856,7856,7856,1991-07-06,785.30000000011,785.2553,2015-01-01 02:10:56,bin7856,35, +CTSPillarNetworkA,7857,7857,7857,1991-07-07,785.40000000011,785.3553,2015-01-01 02:10:57,bin7857,75, +CTSPillarNetworkA,7858,7858,7858,1991-07-08,785.50000000011,785.45526,2015-01-01 02:10:58,bin7858,35, +CTSPillarNetworkA,7859,7859,7859,1991-07-09,785.6000000001101,785.55524,2015-01-01 02:10:59,bin7859,75, +CTSPillarNetworkA,7860,7860,7860,1991-07-10,785.7000000001101,785.6552,2015-01-01 02:11:00,bin7860,35, +CTSPillarNetworkA,7861,7861,7861,1991-07-11,785.8000000001101,785.7552,2015-01-01 02:11:01,bin7861,75, +CTSPillarNetworkA,7862,7862,7862,1991-07-12,785.9000000001101,785.85516,2015-01-01 02:11:02,bin7862,35, +CTSPillarNetworkA,7863,7863,7863,1991-07-13,786.0000000001102,785.95514,2015-01-01 02:11:03,bin7863,75, +CTSPillarNetworkA,7864,7864,7864,1991-07-14,786.1000000001102,786.0551,2015-01-01 02:11:04,bin7864,35, +CTSPillarNetworkA,7865,7865,7865,1991-07-15,786.2000000001102,786.1551,2015-01-01 02:11:05,bin7865,75, +CTSPillarNetworkA,7866,7866,7866,1991-07-16,786.3000000001102,786.25507,2015-01-01 02:11:06,bin7866,35, +CTSPillarNetworkA,7867,7867,7867,1991-07-17,786.4000000001103,786.35504,2015-01-01 02:11:07,bin7867,75, +CTSPillarNetworkA,7868,7868,7868,1991-07-18,786.5000000001103,786.455,2015-01-01 02:11:08,bin7868,35, +CTSPillarNetworkA,7869,7869,7869,1991-07-19,786.6000000001103,786.555,2015-01-01 02:11:09,bin7869,75, +CTSPillarNetworkA,7870,7870,7870,1991-07-20,786.7000000001103,786.65497,2015-01-01 02:11:10,bin7870,35, +CTSPillarNetworkA,7871,7871,7871,1991-07-21,786.8000000001103,786.75494,2015-01-01 02:11:11,bin7871,75, +CTSPillarNetworkA,7872,7872,7872,1991-07-22,786.9000000001104,786.8549,2015-01-01 02:11:12,bin7872,35, +CTSPillarNetworkA,7873,7873,7873,1991-07-23,787.0000000001104,786.9549,2015-01-01 02:11:13,bin7873,75, +CTSPillarNetworkA,7874,7874,7874,1991-07-24,787.1000000001104,787.0549,2015-01-01 02:11:14,bin7874,35, +CTSPillarNetworkA,7875,7875,7875,1991-07-25,787.2000000001104,787.15485,2015-01-01 02:11:15,bin7875,75, +CTSPillarNetworkA,7876,7876,7876,1991-07-26,787.3000000001105,787.2548,2015-01-01 02:11:16,bin7876,35, +CTSPillarNetworkA,7877,7877,7877,1991-07-27,787.4000000001105,787.3548,2015-01-01 02:11:17,bin7877,75, +CTSPillarNetworkA,7878,7878,7878,1991-07-28,787.5000000001105,787.4548,2015-01-01 02:11:18,bin7878,35, +CTSPillarNetworkA,7879,7879,7879,1991-07-29,787.6000000001105,787.55475,2015-01-01 02:11:19,bin7879,75, +CTSPillarNetworkA,7880,7880,7880,1991-07-30,787.7000000001105,787.6547,2015-01-01 02:11:20,bin7880,35, +CTSPillarNetworkA,7881,7881,7881,1991-07-31,787.8000000001106,787.7547,2015-01-01 02:11:21,bin7881,75, +CTSPillarNetworkA,7882,7882,7882,1991-08-01,787.9000000001106,787.8547,2015-01-01 02:11:22,bin7882,35, +CTSPillarNetworkA,7883,7883,7883,1991-08-02,788.0000000001106,787.95465,2015-01-01 02:11:23,bin7883,75, +CTSPillarNetworkA,7884,7884,7884,1991-08-03,788.1000000001106,788.0546,2015-01-01 02:11:24,bin7884,35, +CTSPillarNetworkA,7885,7885,7885,1991-08-04,788.2000000001107,788.1546,2015-01-01 02:11:25,bin7885,75, +CTSPillarNetworkA,7886,7886,7886,1991-08-05,788.3000000001107,788.2546,2015-01-01 02:11:26,bin7886,35, +CTSPillarNetworkA,7887,7887,7887,1991-08-06,788.4000000001107,788.35455,2015-01-01 02:11:27,bin7887,75, +CTSPillarNetworkA,7888,7888,7888,1991-08-07,788.5000000001107,788.4545,2015-01-01 02:11:28,bin7888,35, +CTSPillarNetworkA,7889,7889,7889,1991-08-08,788.6000000001108,788.5545,2015-01-01 02:11:29,bin7889,75, +CTSPillarNetworkA,7890,7890,7890,1991-08-09,788.7000000001108,788.6545,2015-01-01 02:11:30,bin7890,35, +CTSPillarNetworkA,7891,7891,7891,1991-08-10,788.8000000001108,788.75446,2015-01-01 02:11:31,bin7891,75, +CTSPillarNetworkA,7892,7892,7892,1991-08-11,788.9000000001108,788.85443,2015-01-01 02:11:32,bin7892,35, +CTSPillarNetworkA,7893,7893,7893,1991-08-12,789.0000000001108,788.9544,2015-01-01 02:11:33,bin7893,75, +CTSPillarNetworkA,7894,7894,7894,1991-08-13,789.1000000001109,789.0544,2015-01-01 02:11:34,bin7894,35, +CTSPillarNetworkA,7895,7895,7895,1991-08-14,789.2000000001109,789.15436,2015-01-01 02:11:35,bin7895,75, +CTSPillarNetworkA,7896,7896,7896,1991-08-15,789.3000000001109,789.25433,2015-01-01 02:11:36,bin7896,35, +CTSPillarNetworkA,7897,7897,7897,1991-08-16,789.4000000001109,789.3543,2015-01-01 02:11:37,bin7897,75, +CTSPillarNetworkA,7898,7898,7898,1991-08-17,789.500000000111,789.4543,2015-01-01 02:11:38,bin7898,35, +CTSPillarNetworkA,7899,7899,7899,1991-08-18,789.600000000111,789.55426,2015-01-01 02:11:39,bin7899,75, +CTSPillarNetworkA,7900,7900,7900,1991-08-19,789.700000000111,789.65424,2015-01-01 02:11:40,bin7900,35, +CTSPillarNetworkA,7901,7901,7901,1991-08-20,789.800000000111,789.7542,2015-01-01 02:11:41,bin7901,75, +CTSPillarNetworkA,7902,7902,7902,1991-08-21,789.900000000111,789.8542,2015-01-01 02:11:42,bin7902,35, +CTSPillarNetworkA,7903,7903,7903,1991-08-22,790.0000000001111,789.95416,2015-01-01 02:11:43,bin7903,75, +CTSPillarNetworkA,7904,7904,7904,1991-08-23,790.1000000001111,790.05414,2015-01-01 02:11:44,bin7904,35, +CTSPillarNetworkA,7905,7905,7905,1991-08-24,790.2000000001111,790.1541,2015-01-01 02:11:45,bin7905,75, +CTSPillarNetworkA,7906,7906,7906,1991-08-25,790.3000000001111,790.2541,2015-01-01 02:11:46,bin7906,35, +CTSPillarNetworkA,7907,7907,7907,1991-08-26,790.4000000001112,790.35406,2015-01-01 02:11:47,bin7907,75, +CTSPillarNetworkA,7908,7908,7908,1991-08-27,790.5000000001112,790.45404,2015-01-01 02:11:48,bin7908,35, +CTSPillarNetworkA,7909,7909,7909,1991-08-28,790.6000000001112,790.554,2015-01-01 02:11:49,bin7909,75, +CTSPillarNetworkA,7910,7910,7910,1991-08-29,790.7000000001112,790.654,2015-01-01 02:11:50,bin7910,35, +CTSPillarNetworkA,7911,7911,7911,1991-08-30,790.8000000001113,790.75397,2015-01-01 02:11:51,bin7911,75, +CTSPillarNetworkA,7912,7912,7912,1991-08-31,790.9000000001113,790.85394,2015-01-01 02:11:52,bin7912,35, +CTSPillarNetworkA,7913,7913,7913,1991-09-01,791.0000000001113,790.9539,2015-01-01 02:11:53,bin7913,75, +CTSPillarNetworkA,7914,7914,7914,1991-09-02,791.1000000001113,791.0539,2015-01-01 02:11:54,bin7914,35, +CTSPillarNetworkA,7915,7915,7915,1991-09-03,791.2000000001113,791.1539,2015-01-01 02:11:55,bin7915,75, +CTSPillarNetworkA,7916,7916,7916,1991-09-04,791.3000000001114,791.25385,2015-01-01 02:11:56,bin7916,35, +CTSPillarNetworkA,7917,7917,7917,1991-09-05,791.4000000001114,791.3538,2015-01-01 02:11:57,bin7917,75, +CTSPillarNetworkA,7918,7918,7918,1991-09-06,791.5000000001114,791.4538,2015-01-01 02:11:58,bin7918,35, +CTSPillarNetworkA,7919,7919,7919,1991-09-07,791.6000000001114,791.5538,2015-01-01 02:11:59,bin7919,75, +CTSPillarNetworkA,7920,7920,7920,1991-09-08,791.7000000001115,791.65375,2015-01-01 02:12:00,bin7920,35, +CTSPillarNetworkA,7921,7921,7921,1991-09-09,791.8000000001115,791.7537,2015-01-01 02:12:01,bin7921,75, +CTSPillarNetworkA,7922,7922,7922,1991-09-10,791.9000000001115,791.8537,2015-01-01 02:12:02,bin7922,35, +CTSPillarNetworkA,7923,7923,7923,1991-09-11,792.0000000001115,791.9537,2015-01-01 02:12:03,bin7923,75, +CTSPillarNetworkA,7924,7924,7924,1991-09-12,792.1000000001115,792.05365,2015-01-01 02:12:04,bin7924,35, +CTSPillarNetworkA,7925,7925,7925,1991-09-13,792.2000000001116,792.1536,2015-01-01 02:12:05,bin7925,75, +CTSPillarNetworkA,7926,7926,7926,1991-09-14,792.3000000001116,792.2536,2015-01-01 02:12:06,bin7926,35, +CTSPillarNetworkA,7927,7927,7927,1991-09-15,792.4000000001116,792.3536,2015-01-01 02:12:07,bin7927,75, +CTSPillarNetworkA,7928,7928,7928,1991-09-16,792.5000000001116,792.45355,2015-01-01 02:12:08,bin7928,35, +CTSPillarNetworkA,7929,7929,7929,1991-09-17,792.6000000001117,792.5535,2015-01-01 02:12:09,bin7929,75, +CTSPillarNetworkA,7930,7930,7930,1991-09-18,792.7000000001117,792.6535,2015-01-01 02:12:10,bin7930,35, +CTSPillarNetworkA,7931,7931,7931,1991-09-19,792.8000000001117,792.7535,2015-01-01 02:12:11,bin7931,75, +CTSPillarNetworkA,7932,7932,7932,1991-09-20,792.9000000001117,792.85345,2015-01-01 02:12:12,bin7932,35, +CTSPillarNetworkA,7933,7933,7933,1991-09-21,793.0000000001118,792.9534,2015-01-01 02:12:13,bin7933,75, +CTSPillarNetworkA,7934,7934,7934,1991-09-22,793.1000000001118,793.0534,2015-01-01 02:12:14,bin7934,35, +CTSPillarNetworkA,7935,7935,7935,1991-09-23,793.2000000001118,793.1534,2015-01-01 02:12:15,bin7935,75, +CTSPillarNetworkA,7936,7936,7936,1991-09-24,793.3000000001118,793.25336,2015-01-01 02:12:16,bin7936,35, +CTSPillarNetworkA,7937,7937,7937,1991-09-25,793.4000000001118,793.35333,2015-01-01 02:12:17,bin7937,75, +CTSPillarNetworkA,7938,7938,7938,1991-09-26,793.5000000001119,793.4533,2015-01-01 02:12:18,bin7938,35, +CTSPillarNetworkA,7939,7939,7939,1991-09-27,793.6000000001119,793.5533,2015-01-01 02:12:19,bin7939,75, +CTSPillarNetworkA,7940,7940,7940,1991-09-28,793.7000000001119,793.65326,2015-01-01 02:12:20,bin7940,35, +CTSPillarNetworkA,7941,7941,7941,1991-09-29,793.8000000001119,793.75323,2015-01-01 02:12:21,bin7941,75, +CTSPillarNetworkA,7942,7942,7942,1991-09-30,793.900000000112,793.8532,2015-01-01 02:12:22,bin7942,35, +CTSPillarNetworkA,7943,7943,7943,1991-10-01,794.000000000112,793.9532,2015-01-01 02:12:23,bin7943,75, +CTSPillarNetworkA,7944,7944,7944,1991-10-02,794.100000000112,794.05316,2015-01-01 02:12:24,bin7944,35, +CTSPillarNetworkA,7945,7945,7945,1991-10-03,794.200000000112,794.15314,2015-01-01 02:12:25,bin7945,75, +CTSPillarNetworkA,7946,7946,7946,1991-10-04,794.300000000112,794.2531,2015-01-01 02:12:26,bin7946,35, +CTSPillarNetworkA,7947,7947,7947,1991-10-05,794.4000000001121,794.3531,2015-01-01 02:12:27,bin7947,75, +CTSPillarNetworkA,7948,7948,7948,1991-10-06,794.5000000001121,794.45306,2015-01-01 02:12:28,bin7948,35, +CTSPillarNetworkA,7949,7949,7949,1991-10-07,794.6000000001121,794.55304,2015-01-01 02:12:29,bin7949,75, +CTSPillarNetworkA,7950,7950,7950,1991-10-08,794.7000000001121,794.653,2015-01-01 02:12:30,bin7950,35, +CTSPillarNetworkA,7951,7951,7951,1991-10-09,794.8000000001122,794.753,2015-01-01 02:12:31,bin7951,75, +CTSPillarNetworkA,7952,7952,7952,1991-10-10,794.9000000001122,794.85297,2015-01-01 02:12:32,bin7952,35, +CTSPillarNetworkA,7953,7953,7953,1991-10-11,795.0000000001122,794.95294,2015-01-01 02:12:33,bin7953,75, +CTSPillarNetworkA,7954,7954,7954,1991-10-12,795.1000000001122,795.0529,2015-01-01 02:12:34,bin7954,35, +CTSPillarNetworkA,7955,7955,7955,1991-10-13,795.2000000001123,795.1529,2015-01-01 02:12:35,bin7955,75, +CTSPillarNetworkA,7956,7956,7956,1991-10-14,795.3000000001123,795.25287,2015-01-01 02:12:36,bin7956,35, +CTSPillarNetworkA,7957,7957,7957,1991-10-15,795.4000000001123,795.35284,2015-01-01 02:12:37,bin7957,75, +CTSPillarNetworkA,7958,7958,7958,1991-10-16,795.5000000001123,795.4528,2015-01-01 02:12:38,bin7958,35, +CTSPillarNetworkA,7959,7959,7959,1991-10-17,795.6000000001123,795.5528,2015-01-01 02:12:39,bin7959,75, +CTSPillarNetworkA,7960,7960,7960,1991-10-18,795.7000000001124,795.6528,2015-01-01 02:12:40,bin7960,35, +CTSPillarNetworkA,7961,7961,7961,1991-10-19,795.8000000001124,795.75275,2015-01-01 02:12:41,bin7961,75, +CTSPillarNetworkA,7962,7962,7962,1991-10-20,795.9000000001124,795.8527,2015-01-01 02:12:42,bin7962,35, +CTSPillarNetworkA,7963,7963,7963,1991-10-21,796.0000000001124,795.9527,2015-01-01 02:12:43,bin7963,75, +CTSPillarNetworkA,7964,7964,7964,1991-10-22,796.1000000001125,796.0527,2015-01-01 02:12:44,bin7964,35, +CTSPillarNetworkA,7965,7965,7965,1991-10-23,796.2000000001125,796.15265,2015-01-01 02:12:45,bin7965,75, +CTSPillarNetworkA,7966,7966,7966,1991-10-24,796.3000000001125,796.2526,2015-01-01 02:12:46,bin7966,35, +CTSPillarNetworkA,7967,7967,7967,1991-10-25,796.4000000001125,796.3526,2015-01-01 02:12:47,bin7967,75, +CTSPillarNetworkA,7968,7968,7968,1991-10-26,796.5000000001125,796.4526,2015-01-01 02:12:48,bin7968,35, +CTSPillarNetworkA,7969,7969,7969,1991-10-27,796.6000000001126,796.55255,2015-01-01 02:12:49,bin7969,75, +CTSPillarNetworkA,7970,7970,7970,1991-10-28,796.7000000001126,796.6525,2015-01-01 02:12:50,bin7970,35, +CTSPillarNetworkA,7971,7971,7971,1991-10-29,796.8000000001126,796.7525,2015-01-01 02:12:51,bin7971,75, +CTSPillarNetworkA,7972,7972,7972,1991-10-30,796.9000000001126,796.8525,2015-01-01 02:12:52,bin7972,35, +CTSPillarNetworkA,7973,7973,7973,1991-10-31,797.0000000001127,796.95245,2015-01-01 02:12:53,bin7973,75, +CTSPillarNetworkA,7974,7974,7974,1991-11-01,797.1000000001127,797.0524,2015-01-01 02:12:54,bin7974,35, +CTSPillarNetworkA,7975,7975,7975,1991-11-02,797.2000000001127,797.1524,2015-01-01 02:12:55,bin7975,75, +CTSPillarNetworkA,7976,7976,7976,1991-11-03,797.3000000001127,797.2524,2015-01-01 02:12:56,bin7976,35, +CTSPillarNetworkA,7977,7977,7977,1991-11-04,797.4000000001128,797.35236,2015-01-01 02:12:57,bin7977,75, +CTSPillarNetworkA,7978,7978,7978,1991-11-05,797.5000000001128,797.45233,2015-01-01 02:12:58,bin7978,35, +CTSPillarNetworkA,7979,7979,7979,1991-11-06,797.6000000001128,797.5523,2015-01-01 02:12:59,bin7979,75, +CTSPillarNetworkA,7980,7980,7980,1991-11-07,797.7000000001128,797.6523,2015-01-01 02:13:00,bin7980,35, +CTSPillarNetworkA,7981,7981,7981,1991-11-08,797.8000000001128,797.75226,2015-01-01 02:13:01,bin7981,75, +CTSPillarNetworkA,7982,7982,7982,1991-11-09,797.9000000001129,797.85223,2015-01-01 02:13:02,bin7982,35, +CTSPillarNetworkA,7983,7983,7983,1991-11-10,798.0000000001129,797.9522,2015-01-01 02:13:03,bin7983,75, +CTSPillarNetworkA,7984,7984,7984,1991-11-11,798.1000000001129,798.0522,2015-01-01 02:13:04,bin7984,35, +CTSPillarNetworkA,7985,7985,7985,1991-11-12,798.2000000001129,798.15216,2015-01-01 02:13:05,bin7985,75, +CTSPillarNetworkA,7986,7986,7986,1991-11-13,798.300000000113,798.25214,2015-01-01 02:13:06,bin7986,35, +CTSPillarNetworkA,7987,7987,7987,1991-11-14,798.400000000113,798.3521,2015-01-01 02:13:07,bin7987,75, +CTSPillarNetworkA,7988,7988,7988,1991-11-15,798.500000000113,798.4521,2015-01-01 02:13:08,bin7988,35, +CTSPillarNetworkA,7989,7989,7989,1991-11-16,798.600000000113,798.55206,2015-01-01 02:13:09,bin7989,75, +CTSPillarNetworkA,7990,7990,7990,1991-11-17,798.700000000113,798.65204,2015-01-01 02:13:10,bin7990,35, +CTSPillarNetworkA,7991,7991,7991,1991-11-18,798.8000000001131,798.752,2015-01-01 02:13:11,bin7991,75, +CTSPillarNetworkA,7992,7992,7992,1991-11-19,798.9000000001131,798.852,2015-01-01 02:13:12,bin7992,35, +CTSPillarNetworkA,7993,7993,7993,1991-11-20,799.0000000001131,798.95197,2015-01-01 02:13:13,bin7993,75, +CTSPillarNetworkA,7994,7994,7994,1991-11-21,799.1000000001131,799.05194,2015-01-01 02:13:14,bin7994,35, +CTSPillarNetworkA,7995,7995,7995,1991-11-22,799.2000000001132,799.1519,2015-01-01 02:13:15,bin7995,75, +CTSPillarNetworkA,7996,7996,7996,1991-11-23,799.3000000001132,799.2519,2015-01-01 02:13:16,bin7996,35, +CTSPillarNetworkA,7997,7997,7997,1991-11-24,799.4000000001132,799.35187,2015-01-01 02:13:17,bin7997,75, +CTSPillarNetworkA,7998,7998,7998,1991-11-25,799.5000000001132,799.45184,2015-01-01 02:13:18,bin7998,35, +CTSPillarNetworkA,7999,7999,7999,1991-11-26,799.6000000001133,799.5518,2015-01-01 02:13:19,bin7999,75, +CTSPillarNetworkA,8000,8000,8000,1991-11-27,799.7000000001133,799.6518,2015-01-01 02:13:20,bin8000,35, +CTSPillarNetworkA,8001,8001,8001,1991-11-28,799.8000000001133,799.7518,2015-01-01 02:13:21,bin8001,75, +CTSPillarNetworkA,8002,8002,8002,1991-11-29,799.9000000001133,799.85175,2015-01-01 02:13:22,bin8002,35, +CTSPillarNetworkA,8003,8003,8003,1991-11-30,800.0000000001133,799.9517,2015-01-01 02:13:23,bin8003,75, +CTSPillarNetworkA,8004,8004,8004,1991-12-01,800.1000000001134,800.0517,2015-01-01 02:13:24,bin8004,35, +CTSPillarNetworkA,8005,8005,8005,1991-12-02,800.2000000001134,800.1517,2015-01-01 02:13:25,bin8005,75, +CTSPillarNetworkA,8006,8006,8006,1991-12-03,800.3000000001134,800.25165,2015-01-01 02:13:26,bin8006,35, +CTSPillarNetworkA,8007,8007,8007,1991-12-04,800.4000000001134,800.3516,2015-01-01 02:13:27,bin8007,75, +CTSPillarNetworkA,8008,8008,8008,1991-12-05,800.5000000001135,800.4516,2015-01-01 02:13:28,bin8008,35, +CTSPillarNetworkA,8009,8009,8009,1991-12-06,800.6000000001135,800.5516,2015-01-01 02:13:29,bin8009,75, +CTSPillarNetworkA,8010,8010,8010,1991-12-07,800.7000000001135,800.65155,2015-01-01 02:13:30,bin8010,35, +CTSPillarNetworkA,8011,8011,8011,1991-12-08,800.8000000001135,800.7515,2015-01-01 02:13:31,bin8011,75, +CTSPillarNetworkA,8012,8012,8012,1991-12-09,800.9000000001136,800.8515,2015-01-01 02:13:32,bin8012,35, +CTSPillarNetworkA,8013,8013,8013,1991-12-10,801.0000000001136,800.9515,2015-01-01 02:13:33,bin8013,75, +CTSPillarNetworkA,8014,8014,8014,1991-12-11,801.1000000001136,801.05145,2015-01-01 02:13:34,bin8014,35, +CTSPillarNetworkA,8015,8015,8015,1991-12-12,801.2000000001136,801.1514,2015-01-01 02:13:35,bin8015,75, +CTSPillarNetworkA,8016,8016,8016,1991-12-13,801.3000000001136,801.2514,2015-01-01 02:13:36,bin8016,35, +CTSPillarNetworkA,8017,8017,8017,1991-12-14,801.4000000001137,801.3514,2015-01-01 02:13:37,bin8017,75, +CTSPillarNetworkA,8018,8018,8018,1991-12-15,801.5000000001137,801.45135,2015-01-01 02:13:38,bin8018,35, +CTSPillarNetworkA,8019,8019,8019,1991-12-16,801.6000000001137,801.55133,2015-01-01 02:13:39,bin8019,75, +CTSPillarNetworkA,8020,8020,8020,1991-12-17,801.7000000001137,801.6513,2015-01-01 02:13:40,bin8020,35, +CTSPillarNetworkA,8021,8021,8021,1991-12-18,801.8000000001138,801.7513,2015-01-01 02:13:41,bin8021,75, +CTSPillarNetworkA,8022,8022,8022,1991-12-19,801.9000000001138,801.85126,2015-01-01 02:13:42,bin8022,35, +CTSPillarNetworkA,8023,8023,8023,1991-12-20,802.0000000001138,801.95123,2015-01-01 02:13:43,bin8023,75, +CTSPillarNetworkA,8024,8024,8024,1991-12-21,802.1000000001138,802.0512,2015-01-01 02:13:44,bin8024,35, +CTSPillarNetworkA,8025,8025,8025,1991-12-22,802.2000000001138,802.1512,2015-01-01 02:13:45,bin8025,75, +CTSPillarNetworkA,8026,8026,8026,1991-12-23,802.3000000001139,802.25116,2015-01-01 02:13:46,bin8026,35, +CTSPillarNetworkA,8027,8027,8027,1991-12-24,802.4000000001139,802.35114,2015-01-01 02:13:47,bin8027,75, +CTSPillarNetworkA,8028,8028,8028,1991-12-25,802.5000000001139,802.4511,2015-01-01 02:13:48,bin8028,35, +CTSPillarNetworkA,8029,8029,8029,1991-12-26,802.6000000001139,802.5511,2015-01-01 02:13:49,bin8029,75, +CTSPillarNetworkA,8030,8030,8030,1991-12-27,802.700000000114,802.65106,2015-01-01 02:13:50,bin8030,35, +CTSPillarNetworkA,8031,8031,8031,1991-12-28,802.800000000114,802.75104,2015-01-01 02:13:51,bin8031,75, +CTSPillarNetworkA,8032,8032,8032,1991-12-29,802.900000000114,802.851,2015-01-01 02:13:52,bin8032,35, +CTSPillarNetworkA,8033,8033,8033,1991-12-30,803.000000000114,802.951,2015-01-01 02:13:53,bin8033,75, +CTSPillarNetworkA,8034,8034,8034,1991-12-31,803.100000000114,803.05096,2015-01-01 02:13:54,bin8034,35, +CTSPillarNetworkA,8035,8035,8035,1992-01-01,803.2000000001141,803.15094,2015-01-01 02:13:55,bin8035,75, +CTSPillarNetworkA,8036,8036,8036,1992-01-02,803.3000000001141,803.2509,2015-01-01 02:13:56,bin8036,35, +CTSPillarNetworkA,8037,8037,8037,1992-01-03,803.4000000001141,803.3509,2015-01-01 02:13:57,bin8037,75, +CTSPillarNetworkA,8038,8038,8038,1992-01-04,803.5000000001141,803.45087,2015-01-01 02:13:58,bin8038,35, +CTSPillarNetworkA,8039,8039,8039,1992-01-05,803.6000000001142,803.55084,2015-01-01 02:13:59,bin8039,75, +CTSPillarNetworkA,8040,8040,8040,1992-01-06,803.7000000001142,803.6508,2015-01-01 02:14:00,bin8040,35, +CTSPillarNetworkA,8041,8041,8041,1992-01-07,803.8000000001142,803.7508,2015-01-01 02:14:01,bin8041,75, +CTSPillarNetworkA,8042,8042,8042,1992-01-08,803.9000000001142,803.85077,2015-01-01 02:14:02,bin8042,35, +CTSPillarNetworkA,8043,8043,8043,1992-01-09,804.0000000001143,803.95074,2015-01-01 02:14:03,bin8043,75, +CTSPillarNetworkA,8044,8044,8044,1992-01-10,804.1000000001143,804.0507,2015-01-01 02:14:04,bin8044,35, +CTSPillarNetworkA,8045,8045,8045,1992-01-11,804.2000000001143,804.1507,2015-01-01 02:14:05,bin8045,75, +CTSPillarNetworkA,8046,8046,8046,1992-01-12,804.3000000001143,804.2507,2015-01-01 02:14:06,bin8046,35, +CTSPillarNetworkA,8047,8047,8047,1992-01-13,804.4000000001143,804.35065,2015-01-01 02:14:07,bin8047,75, +CTSPillarNetworkA,8048,8048,8048,1992-01-14,804.5000000001144,804.4506,2015-01-01 02:14:08,bin8048,35, +CTSPillarNetworkA,8049,8049,8049,1992-01-15,804.6000000001144,804.5506,2015-01-01 02:14:09,bin8049,75, +CTSPillarNetworkA,8050,8050,8050,1992-01-16,804.7000000001144,804.6506,2015-01-01 02:14:10,bin8050,35, +CTSPillarNetworkA,8051,8051,8051,1992-01-17,804.8000000001144,804.75055,2015-01-01 02:14:11,bin8051,75, +CTSPillarNetworkA,8052,8052,8052,1992-01-18,804.9000000001145,804.8505,2015-01-01 02:14:12,bin8052,35, +CTSPillarNetworkA,8053,8053,8053,1992-01-19,805.0000000001145,804.9505,2015-01-01 02:14:13,bin8053,75, +CTSPillarNetworkA,8054,8054,8054,1992-01-20,805.1000000001145,805.0505,2015-01-01 02:14:14,bin8054,35, +CTSPillarNetworkA,8055,8055,8055,1992-01-21,805.2000000001145,805.15045,2015-01-01 02:14:15,bin8055,75, +CTSPillarNetworkA,8056,8056,8056,1992-01-22,805.3000000001146,805.2504,2015-01-01 02:14:16,bin8056,35, +CTSPillarNetworkA,8057,8057,8057,1992-01-23,805.4000000001146,805.3504,2015-01-01 02:14:17,bin8057,75, +CTSPillarNetworkA,8058,8058,8058,1992-01-24,805.5000000001146,805.4504,2015-01-01 02:14:18,bin8058,35, +CTSPillarNetworkA,8059,8059,8059,1992-01-25,805.6000000001146,805.55035,2015-01-01 02:14:19,bin8059,75, +CTSPillarNetworkA,8060,8060,8060,1992-01-26,805.7000000001146,805.6503,2015-01-01 02:14:20,bin8060,35, +CTSPillarNetworkA,8061,8061,8061,1992-01-27,805.8000000001147,805.7503,2015-01-01 02:14:21,bin8061,75, +CTSPillarNetworkA,8062,8062,8062,1992-01-28,805.9000000001147,805.8503,2015-01-01 02:14:22,bin8062,35, +CTSPillarNetworkA,8063,8063,8063,1992-01-29,806.0000000001147,805.95026,2015-01-01 02:14:23,bin8063,75, +CTSPillarNetworkA,8064,8064,8064,1992-01-30,806.1000000001147,806.05023,2015-01-01 02:14:24,bin8064,35, +CTSPillarNetworkA,8065,8065,8065,1992-01-31,806.2000000001148,806.1502,2015-01-01 02:14:25,bin8065,75, +CTSPillarNetworkA,8066,8066,8066,1992-02-01,806.3000000001148,806.2502,2015-01-01 02:14:26,bin8066,35, +CTSPillarNetworkA,8067,8067,8067,1992-02-02,806.4000000001148,806.35016,2015-01-01 02:14:27,bin8067,75, +CTSPillarNetworkA,8068,8068,8068,1992-02-03,806.5000000001148,806.45013,2015-01-01 02:14:28,bin8068,35, +CTSPillarNetworkA,8069,8069,8069,1992-02-04,806.6000000001148,806.5501,2015-01-01 02:14:29,bin8069,75, +CTSPillarNetworkA,8070,8070,8070,1992-02-05,806.7000000001149,806.6501,2015-01-01 02:14:30,bin8070,35, +CTSPillarNetworkA,8071,8071,8071,1992-02-06,806.8000000001149,806.75006,2015-01-01 02:14:31,bin8071,75, +CTSPillarNetworkA,8072,8072,8072,1992-02-07,806.9000000001149,806.85004,2015-01-01 02:14:32,bin8072,35, +CTSPillarNetworkA,8073,8073,8073,1992-02-08,807.0000000001149,806.95,2015-01-01 02:14:33,bin8073,75, +CTSPillarNetworkA,8074,8074,8074,1992-02-09,807.100000000115,807.05,2015-01-01 02:14:34,bin8074,35, +CTSPillarNetworkA,8075,8075,8075,1992-02-10,807.200000000115,807.14996,2015-01-01 02:14:35,bin8075,75, +CTSPillarNetworkA,8076,8076,8076,1992-02-11,807.300000000115,807.24994,2015-01-01 02:14:36,bin8076,35, +CTSPillarNetworkA,8077,8077,8077,1992-02-12,807.400000000115,807.3499,2015-01-01 02:14:37,bin8077,75, +CTSPillarNetworkA,8078,8078,8078,1992-02-13,807.500000000115,807.4499,2015-01-01 02:14:38,bin8078,35, +CTSPillarNetworkA,8079,8079,8079,1992-02-14,807.6000000001151,807.54987,2015-01-01 02:14:39,bin8079,75, +CTSPillarNetworkA,8080,8080,8080,1992-02-15,807.7000000001151,807.64984,2015-01-01 02:14:40,bin8080,35, +CTSPillarNetworkA,8081,8081,8081,1992-02-16,807.8000000001151,807.7498,2015-01-01 02:14:41,bin8081,75, +CTSPillarNetworkA,8082,8082,8082,1992-02-17,807.9000000001151,807.8498,2015-01-01 02:14:42,bin8082,35, +CTSPillarNetworkA,8083,8083,8083,1992-02-18,808.0000000001152,807.94977,2015-01-01 02:14:43,bin8083,75, +CTSPillarNetworkA,8084,8084,8084,1992-02-19,808.1000000001152,808.04974,2015-01-01 02:14:44,bin8084,35, +CTSPillarNetworkA,8085,8085,8085,1992-02-20,808.2000000001152,808.1497,2015-01-01 02:14:45,bin8085,75, +CTSPillarNetworkA,8086,8086,8086,1992-02-21,808.3000000001152,808.2497,2015-01-01 02:14:46,bin8086,35, +CTSPillarNetworkA,8087,8087,8087,1992-02-22,808.4000000001153,808.3497,2015-01-01 02:14:47,bin8087,75, +CTSPillarNetworkA,8088,8088,8088,1992-02-23,808.5000000001153,808.44965,2015-01-01 02:14:48,bin8088,35, +CTSPillarNetworkA,8089,8089,8089,1992-02-24,808.6000000001153,808.5496,2015-01-01 02:14:49,bin8089,75, +CTSPillarNetworkA,8090,8090,8090,1992-02-25,808.7000000001153,808.6496,2015-01-01 02:14:50,bin8090,35, +CTSPillarNetworkA,8091,8091,8091,1992-02-26,808.8000000001153,808.7496,2015-01-01 02:14:51,bin8091,75, +CTSPillarNetworkA,8092,8092,8092,1992-02-27,808.9000000001154,808.84955,2015-01-01 02:14:52,bin8092,35, +CTSPillarNetworkA,8093,8093,8093,1992-02-28,809.0000000001154,808.9495,2015-01-01 02:14:53,bin8093,75, +CTSPillarNetworkA,8094,8094,8094,1992-02-29,809.1000000001154,809.0495,2015-01-01 02:14:54,bin8094,35, +CTSPillarNetworkA,8095,8095,8095,1992-03-01,809.2000000001154,809.1495,2015-01-01 02:14:55,bin8095,75, +CTSPillarNetworkA,8096,8096,8096,1992-03-02,809.3000000001155,809.24945,2015-01-01 02:14:56,bin8096,35, +CTSPillarNetworkA,8097,8097,8097,1992-03-03,809.4000000001155,809.3494,2015-01-01 02:14:57,bin8097,75, +CTSPillarNetworkA,8098,8098,8098,1992-03-04,809.5000000001155,809.4494,2015-01-01 02:14:58,bin8098,35, +CTSPillarNetworkA,8099,8099,8099,1992-03-05,809.6000000001155,809.5494,2015-01-01 02:14:59,bin8099,75, +CTSPillarNetworkA,8100,8100,8100,1992-03-06,809.7000000001156,809.64935,2015-01-01 02:15:00,bin8100,35, +CTSPillarNetworkA,8101,8101,8101,1992-03-07,809.8000000001156,809.7493,2015-01-01 02:15:01,bin8101,75, +CTSPillarNetworkA,8102,8102,8102,1992-03-08,809.9000000001156,809.8493,2015-01-01 02:15:02,bin8102,35, +CTSPillarNetworkA,8103,8103,8103,1992-03-09,810.0000000001156,809.9493,2015-01-01 02:15:03,bin8103,75, +CTSPillarNetworkA,8104,8104,8104,1992-03-10,810.1000000001156,810.04926,2015-01-01 02:15:04,bin8104,35, +CTSPillarNetworkA,8105,8105,8105,1992-03-11,810.2000000001157,810.14923,2015-01-01 02:15:05,bin8105,75, +CTSPillarNetworkA,8106,8106,8106,1992-03-12,810.3000000001157,810.2492,2015-01-01 02:15:06,bin8106,35, +CTSPillarNetworkA,8107,8107,8107,1992-03-13,810.4000000001157,810.3492,2015-01-01 02:15:07,bin8107,75, +CTSPillarNetworkA,8108,8108,8108,1992-03-14,810.5000000001157,810.44916,2015-01-01 02:15:08,bin8108,35, +CTSPillarNetworkA,8109,8109,8109,1992-03-15,810.6000000001158,810.54913,2015-01-01 02:15:09,bin8109,75, +CTSPillarNetworkA,8110,8110,8110,1992-03-16,810.7000000001158,810.6491,2015-01-01 02:15:10,bin8110,35, +CTSPillarNetworkA,8111,8111,8111,1992-03-17,810.8000000001158,810.7491,2015-01-01 02:15:11,bin8111,75, +CTSPillarNetworkA,8112,8112,8112,1992-03-18,810.9000000001158,810.84906,2015-01-01 02:15:12,bin8112,35, +CTSPillarNetworkA,8113,8113,8113,1992-03-19,811.0000000001158,810.94904,2015-01-01 02:15:13,bin8113,75, +CTSPillarNetworkA,8114,8114,8114,1992-03-20,811.1000000001159,811.049,2015-01-01 02:15:14,bin8114,35, +CTSPillarNetworkA,8115,8115,8115,1992-03-21,811.2000000001159,811.149,2015-01-01 02:15:15,bin8115,75, +CTSPillarNetworkA,8116,8116,8116,1992-03-22,811.3000000001159,811.24896,2015-01-01 02:15:16,bin8116,35, +CTSPillarNetworkA,8117,8117,8117,1992-03-23,811.4000000001159,811.34894,2015-01-01 02:15:17,bin8117,75, +CTSPillarNetworkA,8118,8118,8118,1992-03-24,811.500000000116,811.4489,2015-01-01 02:15:18,bin8118,35, +CTSPillarNetworkA,8119,8119,8119,1992-03-25,811.600000000116,811.5489,2015-01-01 02:15:19,bin8119,75, +CTSPillarNetworkA,8120,8120,8120,1992-03-26,811.700000000116,811.64886,2015-01-01 02:15:20,bin8120,35, +CTSPillarNetworkA,8121,8121,8121,1992-03-27,811.800000000116,811.74884,2015-01-01 02:15:21,bin8121,75, +CTSPillarNetworkA,8122,8122,8122,1992-03-28,811.900000000116,811.8488,2015-01-01 02:15:22,bin8122,35, +CTSPillarNetworkA,8123,8123,8123,1992-03-29,812.0000000001161,811.9488,2015-01-01 02:15:23,bin8123,75, +CTSPillarNetworkA,8124,8124,8124,1992-03-30,812.1000000001161,812.04877,2015-01-01 02:15:24,bin8124,35, +CTSPillarNetworkA,8125,8125,8125,1992-03-31,812.2000000001161,812.14874,2015-01-01 02:15:25,bin8125,75, +CTSPillarNetworkA,8126,8126,8126,1992-04-01,812.3000000001161,812.2487,2015-01-01 02:15:26,bin8126,35, +CTSPillarNetworkA,8127,8127,8127,1992-04-02,812.4000000001162,812.3487,2015-01-01 02:15:27,bin8127,75, +CTSPillarNetworkA,8128,8128,8128,1992-04-03,812.5000000001162,812.44867,2015-01-01 02:15:28,bin8128,35, +CTSPillarNetworkA,8129,8129,8129,1992-04-04,812.6000000001162,812.54865,2015-01-01 02:15:29,bin8129,75, +CTSPillarNetworkA,8130,8130,8130,1992-04-05,812.7000000001162,812.6486,2015-01-01 02:15:30,bin8130,35, +CTSPillarNetworkA,8131,8131,8131,1992-04-06,812.8000000001163,812.7486,2015-01-01 02:15:31,bin8131,75, +CTSPillarNetworkA,8132,8132,8132,1992-04-07,812.9000000001163,812.8486,2015-01-01 02:15:32,bin8132,35, +CTSPillarNetworkA,8133,8133,8133,1992-04-08,813.0000000001163,812.94855,2015-01-01 02:15:33,bin8133,75, +CTSPillarNetworkA,8134,8134,8134,1992-04-09,813.1000000001163,813.0485,2015-01-01 02:15:34,bin8134,35, +CTSPillarNetworkA,8135,8135,8135,1992-04-10,813.2000000001163,813.1485,2015-01-01 02:15:35,bin8135,75, +CTSPillarNetworkA,8136,8136,8136,1992-04-11,813.3000000001164,813.2485,2015-01-01 02:15:36,bin8136,35, +CTSPillarNetworkA,8137,8137,8137,1992-04-12,813.4000000001164,813.34845,2015-01-01 02:15:37,bin8137,75, +CTSPillarNetworkA,8138,8138,8138,1992-04-13,813.5000000001164,813.4484,2015-01-01 02:15:38,bin8138,35, +CTSPillarNetworkA,8139,8139,8139,1992-04-14,813.6000000001164,813.5484,2015-01-01 02:15:39,bin8139,75, +CTSPillarNetworkA,8140,8140,8140,1992-04-15,813.7000000001165,813.6484,2015-01-01 02:15:40,bin8140,35, +CTSPillarNetworkA,8141,8141,8141,1992-04-16,813.8000000001165,813.74835,2015-01-01 02:15:41,bin8141,75, +CTSPillarNetworkA,8142,8142,8142,1992-04-17,813.9000000001165,813.8483,2015-01-01 02:15:42,bin8142,35, +CTSPillarNetworkA,8143,8143,8143,1992-04-18,814.0000000001165,813.9483,2015-01-01 02:15:43,bin8143,75, +CTSPillarNetworkA,8144,8144,8144,1992-04-19,814.1000000001166,814.0483,2015-01-01 02:15:44,bin8144,35, +CTSPillarNetworkA,8145,8145,8145,1992-04-20,814.2000000001166,814.14825,2015-01-01 02:15:45,bin8145,75, +CTSPillarNetworkA,8146,8146,8146,1992-04-21,814.3000000001166,814.2482,2015-01-01 02:15:46,bin8146,35, +CTSPillarNetworkA,8147,8147,8147,1992-04-22,814.4000000001166,814.3482,2015-01-01 02:15:47,bin8147,75, +CTSPillarNetworkA,8148,8148,8148,1992-04-23,814.5000000001166,814.4482,2015-01-01 02:15:48,bin8148,35, +CTSPillarNetworkA,8149,8149,8149,1992-04-24,814.6000000001167,814.54816,2015-01-01 02:15:49,bin8149,75, +CTSPillarNetworkA,8150,8150,8150,1992-04-25,814.7000000001167,814.64813,2015-01-01 02:15:50,bin8150,35, +CTSPillarNetworkA,8151,8151,8151,1992-04-26,814.8000000001167,814.7481,2015-01-01 02:15:51,bin8151,75, +CTSPillarNetworkA,8152,8152,8152,1992-04-27,814.9000000001167,814.8481,2015-01-01 02:15:52,bin8152,35, +CTSPillarNetworkA,8153,8153,8153,1992-04-28,815.0000000001168,814.94806,2015-01-01 02:15:53,bin8153,75, +CTSPillarNetworkA,8154,8154,8154,1992-04-29,815.1000000001168,815.04803,2015-01-01 02:15:54,bin8154,35, +CTSPillarNetworkA,8155,8155,8155,1992-04-30,815.2000000001168,815.148,2015-01-01 02:15:55,bin8155,75, +CTSPillarNetworkA,8156,8156,8156,1992-05-01,815.3000000001168,815.248,2015-01-01 02:15:56,bin8156,35, +CTSPillarNetworkA,8157,8157,8157,1992-05-02,815.4000000001168,815.34796,2015-01-01 02:15:57,bin8157,75, +CTSPillarNetworkA,8158,8158,8158,1992-05-03,815.5000000001169,815.44794,2015-01-01 02:15:58,bin8158,35, +CTSPillarNetworkA,8159,8159,8159,1992-05-04,815.6000000001169,815.5479,2015-01-01 02:15:59,bin8159,75, +CTSPillarNetworkA,8160,8160,8160,1992-05-05,815.7000000001169,815.6479,2015-01-01 02:16:00,bin8160,35, +CTSPillarNetworkA,8161,8161,8161,1992-05-06,815.8000000001169,815.74786,2015-01-01 02:16:01,bin8161,75, +CTSPillarNetworkA,8162,8162,8162,1992-05-07,815.900000000117,815.84784,2015-01-01 02:16:02,bin8162,35, +CTSPillarNetworkA,8163,8163,8163,1992-05-08,816.000000000117,815.9478,2015-01-01 02:16:03,bin8163,75, +CTSPillarNetworkA,8164,8164,8164,1992-05-09,816.100000000117,816.0478,2015-01-01 02:16:04,bin8164,35, +CTSPillarNetworkA,8165,8165,8165,1992-05-10,816.200000000117,816.14777,2015-01-01 02:16:05,bin8165,75, +CTSPillarNetworkA,8166,8166,8166,1992-05-11,816.300000000117,816.24774,2015-01-01 02:16:06,bin8166,35, +CTSPillarNetworkA,8167,8167,8167,1992-05-12,816.4000000001171,816.3477,2015-01-01 02:16:07,bin8167,75, +CTSPillarNetworkA,8168,8168,8168,1992-05-13,816.5000000001171,816.4477,2015-01-01 02:16:08,bin8168,35, +CTSPillarNetworkA,8169,8169,8169,1992-05-14,816.6000000001171,816.54767,2015-01-01 02:16:09,bin8169,75, +CTSPillarNetworkA,8170,8170,8170,1992-05-15,816.7000000001171,816.64764,2015-01-01 02:16:10,bin8170,35, +CTSPillarNetworkA,8171,8171,8171,1992-05-16,816.8000000001172,816.7476,2015-01-01 02:16:11,bin8171,75, +CTSPillarNetworkA,8172,8172,8172,1992-05-17,816.9000000001172,816.8476,2015-01-01 02:16:12,bin8172,35, +CTSPillarNetworkA,8173,8173,8173,1992-05-18,817.0000000001172,816.9476,2015-01-01 02:16:13,bin8173,75, +CTSPillarNetworkA,8174,8174,8174,1992-05-19,817.1000000001172,817.04755,2015-01-01 02:16:14,bin8174,35, +CTSPillarNetworkA,8175,8175,8175,1992-05-20,817.2000000001173,817.1475,2015-01-01 02:16:15,bin8175,75, +CTSPillarNetworkA,8176,8176,8176,1992-05-21,817.3000000001173,817.2475,2015-01-01 02:16:16,bin8176,35, +CTSPillarNetworkA,8177,8177,8177,1992-05-22,817.4000000001173,817.3475,2015-01-01 02:16:17,bin8177,75, +CTSPillarNetworkA,8178,8178,8178,1992-05-23,817.5000000001173,817.44745,2015-01-01 02:16:18,bin8178,35, +CTSPillarNetworkA,8179,8179,8179,1992-05-24,817.6000000001173,817.5474,2015-01-01 02:16:19,bin8179,75, +CTSPillarNetworkA,8180,8180,8180,1992-05-25,817.7000000001174,817.6474,2015-01-01 02:16:20,bin8180,35, +CTSPillarNetworkA,8181,8181,8181,1992-05-26,817.8000000001174,817.7474,2015-01-01 02:16:21,bin8181,75, +CTSPillarNetworkA,8182,8182,8182,1992-05-27,817.9000000001174,817.84735,2015-01-01 02:16:22,bin8182,35, +CTSPillarNetworkA,8183,8183,8183,1992-05-28,818.0000000001174,817.9473,2015-01-01 02:16:23,bin8183,75, +CTSPillarNetworkA,8184,8184,8184,1992-05-29,818.1000000001175,818.0473,2015-01-01 02:16:24,bin8184,35, +CTSPillarNetworkA,8185,8185,8185,1992-05-30,818.2000000001175,818.1473,2015-01-01 02:16:25,bin8185,75, +CTSPillarNetworkA,8186,8186,8186,1992-05-31,818.3000000001175,818.24725,2015-01-01 02:16:26,bin8186,35, +CTSPillarNetworkA,8187,8187,8187,1992-06-01,818.4000000001175,818.3472,2015-01-01 02:16:27,bin8187,75, +CTSPillarNetworkA,8188,8188,8188,1992-06-02,818.5000000001176,818.4472,2015-01-01 02:16:28,bin8188,35, +CTSPillarNetworkA,8189,8189,8189,1992-06-03,818.6000000001176,818.5472,2015-01-01 02:16:29,bin8189,75, +CTSPillarNetworkA,8190,8190,8190,1992-06-04,818.7000000001176,818.64716,2015-01-01 02:16:30,bin8190,35, +CTSPillarNetworkA,8191,8191,8191,1992-06-05,818.8000000001176,818.74713,2015-01-01 02:16:31,bin8191,75, +CTSPillarNetworkA,8192,8192,8192,1992-06-06,818.9000000001176,818.8471,2015-01-01 02:16:32,bin8192,35, +CTSPillarNetworkA,8193,8193,8193,1992-06-07,819.0000000001177,818.9471,2015-01-01 02:16:33,bin8193,75, +CTSPillarNetworkA,8194,8194,8194,1992-06-08,819.1000000001177,819.04706,2015-01-01 02:16:34,bin8194,35, +CTSPillarNetworkA,8195,8195,8195,1992-06-09,819.2000000001177,819.14703,2015-01-01 02:16:35,bin8195,75, +CTSPillarNetworkA,8196,8196,8196,1992-06-10,819.3000000001177,819.247,2015-01-01 02:16:36,bin8196,35, +CTSPillarNetworkA,8197,8197,8197,1992-06-11,819.4000000001178,819.347,2015-01-01 02:16:37,bin8197,75, +CTSPillarNetworkA,8198,8198,8198,1992-06-12,819.5000000001178,819.44696,2015-01-01 02:16:38,bin8198,35, +CTSPillarNetworkA,8199,8199,8199,1992-06-13,819.6000000001178,819.54694,2015-01-01 02:16:39,bin8199,75, +CTSPillarNetworkA,8200,8200,8200,1992-06-14,819.7000000001178,819.6469,2015-01-01 02:16:40,bin8200,35, +CTSPillarNetworkA,8201,8201,8201,1992-06-15,819.8000000001178,819.7469,2015-01-01 02:16:41,bin8201,75, +CTSPillarNetworkA,8202,8202,8202,1992-06-16,819.9000000001179,819.84686,2015-01-01 02:16:42,bin8202,35, +CTSPillarNetworkA,8203,8203,8203,1992-06-17,820.0000000001179,819.94684,2015-01-01 02:16:43,bin8203,75, +CTSPillarNetworkA,8204,8204,8204,1992-06-18,820.1000000001179,820.0468,2015-01-01 02:16:44,bin8204,35, +CTSPillarNetworkA,8205,8205,8205,1992-06-19,820.2000000001179,820.1468,2015-01-01 02:16:45,bin8205,75, +CTSPillarNetworkA,8206,8206,8206,1992-06-20,820.300000000118,820.24677,2015-01-01 02:16:46,bin8206,35, +CTSPillarNetworkA,8207,8207,8207,1992-06-21,820.400000000118,820.34674,2015-01-01 02:16:47,bin8207,75, +CTSPillarNetworkA,8208,8208,8208,1992-06-22,820.500000000118,820.4467,2015-01-01 02:16:48,bin8208,35, +CTSPillarNetworkA,8209,8209,8209,1992-06-23,820.600000000118,820.5467,2015-01-01 02:16:49,bin8209,75, +CTSPillarNetworkA,8210,8210,8210,1992-06-24,820.700000000118,820.64667,2015-01-01 02:16:50,bin8210,35, +CTSPillarNetworkA,8211,8211,8211,1992-06-25,820.8000000001181,820.74664,2015-01-01 02:16:51,bin8211,75, +CTSPillarNetworkA,8212,8212,8212,1992-06-26,820.9000000001181,820.8466,2015-01-01 02:16:52,bin8212,35, +CTSPillarNetworkA,8213,8213,8213,1992-06-27,821.0000000001181,820.9466,2015-01-01 02:16:53,bin8213,75, +CTSPillarNetworkA,8214,8214,8214,1992-06-28,821.1000000001181,821.0466,2015-01-01 02:16:54,bin8214,35, +CTSPillarNetworkA,8215,8215,8215,1992-06-29,821.2000000001182,821.14655,2015-01-01 02:16:55,bin8215,75, +CTSPillarNetworkA,8216,8216,8216,1992-06-30,821.3000000001182,821.2465,2015-01-01 02:16:56,bin8216,35, +CTSPillarNetworkA,8217,8217,8217,1992-07-01,821.4000000001182,821.3465,2015-01-01 02:16:57,bin8217,75, +CTSPillarNetworkA,8218,8218,8218,1992-07-02,821.5000000001182,821.4465,2015-01-01 02:16:58,bin8218,35, +CTSPillarNetworkA,8219,8219,8219,1992-07-03,821.6000000001183,821.54645,2015-01-01 02:16:59,bin8219,75, +CTSPillarNetworkA,8220,8220,8220,1992-07-04,821.7000000001183,821.6464,2015-01-01 02:17:00,bin8220,35, +CTSPillarNetworkA,8221,8221,8221,1992-07-05,821.8000000001183,821.7464,2015-01-01 02:17:01,bin8221,75, +CTSPillarNetworkA,8222,8222,8222,1992-07-06,821.9000000001183,821.8464,2015-01-01 02:17:02,bin8222,35, +CTSPillarNetworkA,8223,8223,8223,1992-07-07,822.0000000001183,821.94635,2015-01-01 02:17:03,bin8223,75, +CTSPillarNetworkA,8224,8224,8224,1992-07-08,822.1000000001184,822.0463,2015-01-01 02:17:04,bin8224,35, +CTSPillarNetworkA,8225,8225,8225,1992-07-09,822.2000000001184,822.1463,2015-01-01 02:17:05,bin8225,75, +CTSPillarNetworkA,8226,8226,8226,1992-07-10,822.3000000001184,822.2463,2015-01-01 02:17:06,bin8226,35, +CTSPillarNetworkA,8227,8227,8227,1992-07-11,822.4000000001184,822.34625,2015-01-01 02:17:07,bin8227,75, +CTSPillarNetworkA,8228,8228,8228,1992-07-12,822.5000000001185,822.4462,2015-01-01 02:17:08,bin8228,35, +CTSPillarNetworkA,8229,8229,8229,1992-07-13,822.6000000001185,822.5462,2015-01-01 02:17:09,bin8229,75, +CTSPillarNetworkA,8230,8230,8230,1992-07-14,822.7000000001185,822.6462,2015-01-01 02:17:10,bin8230,35, +CTSPillarNetworkA,8231,8231,8231,1992-07-15,822.8000000001185,822.74615,2015-01-01 02:17:11,bin8231,75, +CTSPillarNetworkA,8232,8232,8232,1992-07-16,822.9000000001186,822.8461,2015-01-01 02:17:12,bin8232,35, +CTSPillarNetworkA,8233,8233,8233,1992-07-17,823.0000000001186,822.9461,2015-01-01 02:17:13,bin8233,75, +CTSPillarNetworkA,8234,8234,8234,1992-07-18,823.1000000001186,823.0461,2015-01-01 02:17:14,bin8234,35, +CTSPillarNetworkA,8235,8235,8235,1992-07-19,823.2000000001186,823.14606,2015-01-01 02:17:15,bin8235,75, +CTSPillarNetworkA,8236,8236,8236,1992-07-20,823.3000000001186,823.24603,2015-01-01 02:17:16,bin8236,35, +CTSPillarNetworkA,8237,8237,8237,1992-07-21,823.4000000001187,823.346,2015-01-01 02:17:17,bin8237,75, +CTSPillarNetworkA,8238,8238,8238,1992-07-22,823.5000000001187,823.446,2015-01-01 02:17:18,bin8238,35, +CTSPillarNetworkA,8239,8239,8239,1992-07-23,823.6000000001187,823.54596,2015-01-01 02:17:19,bin8239,75, +CTSPillarNetworkA,8240,8240,8240,1992-07-24,823.7000000001187,823.64594,2015-01-01 02:17:20,bin8240,35, +CTSPillarNetworkA,8241,8241,8241,1992-07-25,823.8000000001188,823.7459,2015-01-01 02:17:21,bin8241,75, +CTSPillarNetworkA,8242,8242,8242,1992-07-26,823.9000000001188,823.8459,2015-01-01 02:17:22,bin8242,35, +CTSPillarNetworkA,8243,8243,8243,1992-07-27,824.0000000001188,823.94586,2015-01-01 02:17:23,bin8243,75, +CTSPillarNetworkA,8244,8244,8244,1992-07-28,824.1000000001188,824.04584,2015-01-01 02:17:24,bin8244,35, +CTSPillarNetworkA,8245,8245,8245,1992-07-29,824.2000000001188,824.1458,2015-01-01 02:17:25,bin8245,75, +CTSPillarNetworkA,8246,8246,8246,1992-07-30,824.3000000001189,824.2458,2015-01-01 02:17:26,bin8246,35, +CTSPillarNetworkA,8247,8247,8247,1992-07-31,824.4000000001189,824.34576,2015-01-01 02:17:27,bin8247,75, +CTSPillarNetworkA,8248,8248,8248,1992-08-01,824.5000000001189,824.44574,2015-01-01 02:17:28,bin8248,35, +CTSPillarNetworkA,8249,8249,8249,1992-08-02,824.6000000001189,824.5457,2015-01-01 02:17:29,bin8249,75, +CTSPillarNetworkA,8250,8250,8250,1992-08-03,824.700000000119,824.6457,2015-01-01 02:17:30,bin8250,35, +CTSPillarNetworkA,8251,8251,8251,1992-08-04,824.800000000119,824.74567,2015-01-01 02:17:31,bin8251,75, +CTSPillarNetworkA,8252,8252,8252,1992-08-05,824.900000000119,824.84564,2015-01-01 02:17:32,bin8252,35, +CTSPillarNetworkA,8253,8253,8253,1992-08-06,825.000000000119,824.9456,2015-01-01 02:17:33,bin8253,75, +CTSPillarNetworkA,8254,8254,8254,1992-08-07,825.100000000119,825.0456,2015-01-01 02:17:34,bin8254,35, +CTSPillarNetworkA,8255,8255,8255,1992-08-08,825.2000000001191,825.14557,2015-01-01 02:17:35,bin8255,75, +CTSPillarNetworkA,8256,8256,8256,1992-08-09,825.3000000001191,825.24554,2015-01-01 02:17:36,bin8256,35, +CTSPillarNetworkA,8257,8257,8257,1992-08-10,825.4000000001191,825.3455,2015-01-01 02:17:37,bin8257,75, +CTSPillarNetworkA,8258,8258,8258,1992-08-11,825.5000000001191,825.4455,2015-01-01 02:17:38,bin8258,35, +CTSPillarNetworkA,8259,8259,8259,1992-08-12,825.6000000001192,825.5455,2015-01-01 02:17:39,bin8259,75, +CTSPillarNetworkA,8260,8260,8260,1992-08-13,825.7000000001192,825.64545,2015-01-01 02:17:40,bin8260,35, +CTSPillarNetworkA,8261,8261,8261,1992-08-14,825.8000000001192,825.7454,2015-01-01 02:17:41,bin8261,75, +CTSPillarNetworkA,8262,8262,8262,1992-08-15,825.9000000001192,825.8454,2015-01-01 02:17:42,bin8262,35, +CTSPillarNetworkA,8263,8263,8263,1992-08-16,826.0000000001193,825.9454,2015-01-01 02:17:43,bin8263,75, +CTSPillarNetworkA,8264,8264,8264,1992-08-17,826.1000000001193,826.04535,2015-01-01 02:17:44,bin8264,35, +CTSPillarNetworkA,8265,8265,8265,1992-08-18,826.2000000001193,826.1453,2015-01-01 02:17:45,bin8265,75, +CTSPillarNetworkA,8266,8266,8266,1992-08-19,826.3000000001193,826.2453,2015-01-01 02:17:46,bin8266,35, +CTSPillarNetworkA,8267,8267,8267,1992-08-20,826.4000000001193,826.3453,2015-01-01 02:17:47,bin8267,75, +CTSPillarNetworkA,8268,8268,8268,1992-08-21,826.5000000001194,826.44525,2015-01-01 02:17:48,bin8268,35, +CTSPillarNetworkA,8269,8269,8269,1992-08-22,826.6000000001194,826.5452,2015-01-01 02:17:49,bin8269,75, +CTSPillarNetworkA,8270,8270,8270,1992-08-23,826.7000000001194,826.6452,2015-01-01 02:17:50,bin8270,35, +CTSPillarNetworkA,8271,8271,8271,1992-08-24,826.8000000001194,826.7452,2015-01-01 02:17:51,bin8271,75, +CTSPillarNetworkA,8272,8272,8272,1992-08-25,826.9000000001195,826.84515,2015-01-01 02:17:52,bin8272,35, +CTSPillarNetworkA,8273,8273,8273,1992-08-26,827.0000000001195,826.9451,2015-01-01 02:17:53,bin8273,75, +CTSPillarNetworkA,8274,8274,8274,1992-08-27,827.1000000001195,827.0451,2015-01-01 02:17:54,bin8274,35, +CTSPillarNetworkA,8275,8275,8275,1992-08-28,827.2000000001195,827.1451,2015-01-01 02:17:55,bin8275,75, +CTSPillarNetworkA,8276,8276,8276,1992-08-29,827.3000000001196,827.24506,2015-01-01 02:17:56,bin8276,35, +CTSPillarNetworkA,8277,8277,8277,1992-08-30,827.4000000001196,827.34503,2015-01-01 02:17:57,bin8277,75, +CTSPillarNetworkA,8278,8278,8278,1992-08-31,827.5000000001196,827.445,2015-01-01 02:17:58,bin8278,35, +CTSPillarNetworkA,8279,8279,8279,1992-09-01,827.6000000001196,827.545,2015-01-01 02:17:59,bin8279,75, +CTSPillarNetworkA,8280,8280,8280,1992-09-02,827.7000000001196,827.64496,2015-01-01 02:18:00,bin8280,35, +CTSPillarNetworkA,8281,8281,8281,1992-09-03,827.8000000001197,827.74493,2015-01-01 02:18:01,bin8281,75, +CTSPillarNetworkA,8282,8282,8282,1992-09-04,827.9000000001197,827.8449,2015-01-01 02:18:02,bin8282,35, +CTSPillarNetworkA,8283,8283,8283,1992-09-05,828.0000000001197,827.9449,2015-01-01 02:18:03,bin8283,75, +CTSPillarNetworkA,8284,8284,8284,1992-09-06,828.1000000001197,828.04486,2015-01-01 02:18:04,bin8284,35, +CTSPillarNetworkA,8285,8285,8285,1992-09-07,828.2000000001198,828.14484,2015-01-01 02:18:05,bin8285,75, +CTSPillarNetworkA,8286,8286,8286,1992-09-08,828.3000000001198,828.2448,2015-01-01 02:18:06,bin8286,35, +CTSPillarNetworkA,8287,8287,8287,1992-09-09,828.4000000001198,828.3448,2015-01-01 02:18:07,bin8287,75, +CTSPillarNetworkA,8288,8288,8288,1992-09-10,828.5000000001198,828.44476,2015-01-01 02:18:08,bin8288,35, +CTSPillarNetworkA,8289,8289,8289,1992-09-11,828.6000000001198,828.54474,2015-01-01 02:18:09,bin8289,75, +CTSPillarNetworkA,8290,8290,8290,1992-09-12,828.7000000001199,828.6447,2015-01-01 02:18:10,bin8290,35, +CTSPillarNetworkA,8291,8291,8291,1992-09-13,828.8000000001199,828.7447,2015-01-01 02:18:11,bin8291,75, +CTSPillarNetworkA,8292,8292,8292,1992-09-14,828.9000000001199,828.84467,2015-01-01 02:18:12,bin8292,35, +CTSPillarNetworkA,8293,8293,8293,1992-09-15,829.0000000001199,828.94464,2015-01-01 02:18:13,bin8293,75, +CTSPillarNetworkA,8294,8294,8294,1992-09-16,829.10000000012,829.0446,2015-01-01 02:18:14,bin8294,35, +CTSPillarNetworkA,8295,8295,8295,1992-09-17,829.20000000012,829.1446,2015-01-01 02:18:15,bin8295,75, +CTSPillarNetworkA,8296,8296,8296,1992-09-18,829.30000000012,829.24457,2015-01-01 02:18:16,bin8296,35, +CTSPillarNetworkA,8297,8297,8297,1992-09-19,829.40000000012,829.34454,2015-01-01 02:18:17,bin8297,75, +CTSPillarNetworkA,8298,8298,8298,1992-09-20,829.50000000012,829.4445,2015-01-01 02:18:18,bin8298,35, +CTSPillarNetworkA,8299,8299,8299,1992-09-21,829.6000000001201,829.5445,2015-01-01 02:18:19,bin8299,75, +CTSPillarNetworkA,8300,8300,8300,1992-09-22,829.7000000001201,829.6445,2015-01-01 02:18:20,bin8300,35, +CTSPillarNetworkA,8301,8301,8301,1992-09-23,829.8000000001201,829.74445,2015-01-01 02:18:21,bin8301,75, +CTSPillarNetworkA,8302,8302,8302,1992-09-24,829.9000000001201,829.8444,2015-01-01 02:18:22,bin8302,35, +CTSPillarNetworkA,8303,8303,8303,1992-09-25,830.0000000001202,829.9444,2015-01-01 02:18:23,bin8303,75, +CTSPillarNetworkA,8304,8304,8304,1992-09-26,830.1000000001202,830.0444,2015-01-01 02:18:24,bin8304,35, +CTSPillarNetworkA,8305,8305,8305,1992-09-27,830.2000000001202,830.14435,2015-01-01 02:18:25,bin8305,75, +CTSPillarNetworkA,8306,8306,8306,1992-09-28,830.3000000001202,830.2443,2015-01-01 02:18:26,bin8306,35, +CTSPillarNetworkA,8307,8307,8307,1992-09-29,830.4000000001203,830.3443,2015-01-01 02:18:27,bin8307,75, +CTSPillarNetworkA,8308,8308,8308,1992-09-30,830.5000000001203,830.4443,2015-01-01 02:18:28,bin8308,35, +CTSPillarNetworkA,8309,8309,8309,1992-10-01,830.6000000001203,830.54425,2015-01-01 02:18:29,bin8309,75, +CTSPillarNetworkA,8310,8310,8310,1992-10-02,830.7000000001203,830.6442,2015-01-01 02:18:30,bin8310,35, +CTSPillarNetworkA,8311,8311,8311,1992-10-03,830.8000000001203,830.7442,2015-01-01 02:18:31,bin8311,75, +CTSPillarNetworkA,8312,8312,8312,1992-10-04,830.9000000001204,830.8442,2015-01-01 02:18:32,bin8312,35, +CTSPillarNetworkA,8313,8313,8313,1992-10-05,831.0000000001204,830.94415,2015-01-01 02:18:33,bin8313,75, +CTSPillarNetworkA,8314,8314,8314,1992-10-06,831.1000000001204,831.0441,2015-01-01 02:18:34,bin8314,35, +CTSPillarNetworkA,8315,8315,8315,1992-10-07,831.2000000001204,831.1441,2015-01-01 02:18:35,bin8315,75, +CTSPillarNetworkA,8316,8316,8316,1992-10-08,831.3000000001205,831.2441,2015-01-01 02:18:36,bin8316,35, +CTSPillarNetworkA,8317,8317,8317,1992-10-09,831.4000000001205,831.34406,2015-01-01 02:18:37,bin8317,75, +CTSPillarNetworkA,8318,8318,8318,1992-10-10,831.5000000001205,831.44403,2015-01-01 02:18:38,bin8318,35, +CTSPillarNetworkA,8319,8319,8319,1992-10-11,831.6000000001205,831.544,2015-01-01 02:18:39,bin8319,75, +CTSPillarNetworkA,8320,8320,8320,1992-10-12,831.7000000001206,831.644,2015-01-01 02:18:40,bin8320,35, +CTSPillarNetworkA,8321,8321,8321,1992-10-13,831.8000000001206,831.74396,2015-01-01 02:18:41,bin8321,75, +CTSPillarNetworkA,8322,8322,8322,1992-10-14,831.9000000001206,831.84393,2015-01-01 02:18:42,bin8322,35, +CTSPillarNetworkA,8323,8323,8323,1992-10-15,832.0000000001206,831.9439,2015-01-01 02:18:43,bin8323,75, +CTSPillarNetworkA,8324,8324,8324,1992-10-16,832.1000000001206,832.0439,2015-01-01 02:18:44,bin8324,35, +CTSPillarNetworkA,8325,8325,8325,1992-10-17,832.2000000001207,832.14386,2015-01-01 02:18:45,bin8325,75, +CTSPillarNetworkA,8326,8326,8326,1992-10-18,832.3000000001207,832.24384,2015-01-01 02:18:46,bin8326,35, +CTSPillarNetworkA,8327,8327,8327,1992-10-19,832.4000000001207,832.3438,2015-01-01 02:18:47,bin8327,75, +CTSPillarNetworkA,8328,8328,8328,1992-10-20,832.5000000001207,832.4438,2015-01-01 02:18:48,bin8328,35, +CTSPillarNetworkA,8329,8329,8329,1992-10-21,832.6000000001208,832.54376,2015-01-01 02:18:49,bin8329,75, +CTSPillarNetworkA,8330,8330,8330,1992-10-22,832.7000000001208,832.64374,2015-01-01 02:18:50,bin8330,35, +CTSPillarNetworkA,8331,8331,8331,1992-10-23,832.8000000001208,832.7437,2015-01-01 02:18:51,bin8331,75, +CTSPillarNetworkA,8332,8332,8332,1992-10-24,832.9000000001208,832.8437,2015-01-01 02:18:52,bin8332,35, +CTSPillarNetworkA,8333,8333,8333,1992-10-25,833.0000000001208,832.94366,2015-01-01 02:18:53,bin8333,75, +CTSPillarNetworkA,8334,8334,8334,1992-10-26,833.1000000001209,833.04364,2015-01-01 02:18:54,bin8334,35, +CTSPillarNetworkA,8335,8335,8335,1992-10-27,833.2000000001209,833.1436,2015-01-01 02:18:55,bin8335,75, +CTSPillarNetworkA,8336,8336,8336,1992-10-28,833.3000000001209,833.2436,2015-01-01 02:18:56,bin8336,35, +CTSPillarNetworkA,8337,8337,8337,1992-10-29,833.4000000001209,833.34357,2015-01-01 02:18:57,bin8337,75, +CTSPillarNetworkA,8338,8338,8338,1992-10-30,833.500000000121,833.44354,2015-01-01 02:18:58,bin8338,35, +CTSPillarNetworkA,8339,8339,8339,1992-10-31,833.600000000121,833.5435,2015-01-01 02:18:59,bin8339,75, +CTSPillarNetworkA,8340,8340,8340,1992-11-01,833.700000000121,833.6435,2015-01-01 02:19:00,bin8340,35, +CTSPillarNetworkA,8341,8341,8341,1992-11-02,833.800000000121,833.74347,2015-01-01 02:19:01,bin8341,75, +CTSPillarNetworkA,8342,8342,8342,1992-11-03,833.900000000121,833.84344,2015-01-01 02:19:02,bin8342,35, +CTSPillarNetworkA,8343,8343,8343,1992-11-04,834.0000000001211,833.9434,2015-01-01 02:19:03,bin8343,75, +CTSPillarNetworkA,8344,8344,8344,1992-11-05,834.1000000001211,834.0434,2015-01-01 02:19:04,bin8344,35, +CTSPillarNetworkA,8345,8345,8345,1992-11-06,834.2000000001211,834.1434,2015-01-01 02:19:05,bin8345,75, +CTSPillarNetworkA,8346,8346,8346,1992-11-07,834.3000000001211,834.24335,2015-01-01 02:19:06,bin8346,35, +CTSPillarNetworkA,8347,8347,8347,1992-11-08,834.4000000001212,834.3433,2015-01-01 02:19:07,bin8347,75, +CTSPillarNetworkA,8348,8348,8348,1992-11-09,834.5000000001212,834.4433,2015-01-01 02:19:08,bin8348,35, +CTSPillarNetworkA,8349,8349,8349,1992-11-10,834.6000000001212,834.5433,2015-01-01 02:19:09,bin8349,75, +CTSPillarNetworkA,8350,8350,8350,1992-11-11,834.7000000001212,834.64325,2015-01-01 02:19:10,bin8350,35, +CTSPillarNetworkA,8351,8351,8351,1992-11-12,834.8000000001213,834.7432,2015-01-01 02:19:11,bin8351,75, +CTSPillarNetworkA,8352,8352,8352,1992-11-13,834.9000000001213,834.8432,2015-01-01 02:19:12,bin8352,35, +CTSPillarNetworkA,8353,8353,8353,1992-11-14,835.0000000001213,834.9432,2015-01-01 02:19:13,bin8353,75, +CTSPillarNetworkA,8354,8354,8354,1992-11-15,835.1000000001213,835.04315,2015-01-01 02:19:14,bin8354,35, +CTSPillarNetworkA,8355,8355,8355,1992-11-16,835.2000000001213,835.1431,2015-01-01 02:19:15,bin8355,75, +CTSPillarNetworkA,8356,8356,8356,1992-11-17,835.3000000001214,835.2431,2015-01-01 02:19:16,bin8356,35, +CTSPillarNetworkA,8357,8357,8357,1992-11-18,835.4000000001214,835.3431,2015-01-01 02:19:17,bin8357,75, +CTSPillarNetworkA,8358,8358,8358,1992-11-19,835.5000000001214,835.44305,2015-01-01 02:19:18,bin8358,35, +CTSPillarNetworkA,8359,8359,8359,1992-11-20,835.6000000001214,835.543,2015-01-01 02:19:19,bin8359,75, +CTSPillarNetworkA,8360,8360,8360,1992-11-21,835.7000000001215,835.643,2015-01-01 02:19:20,bin8360,35, +CTSPillarNetworkA,8361,8361,8361,1992-11-22,835.8000000001215,835.743,2015-01-01 02:19:21,bin8361,75, +CTSPillarNetworkA,8362,8362,8362,1992-11-23,835.9000000001215,835.84296,2015-01-01 02:19:22,bin8362,35, +CTSPillarNetworkA,8363,8363,8363,1992-11-24,836.0000000001215,835.94293,2015-01-01 02:19:23,bin8363,75, +CTSPillarNetworkA,8364,8364,8364,1992-11-25,836.1000000001216,836.0429,2015-01-01 02:19:24,bin8364,35, +CTSPillarNetworkA,8365,8365,8365,1992-11-26,836.2000000001216,836.1429,2015-01-01 02:19:25,bin8365,75, +CTSPillarNetworkA,8366,8366,8366,1992-11-27,836.3000000001216,836.24286,2015-01-01 02:19:26,bin8366,35, +CTSPillarNetworkA,8367,8367,8367,1992-11-28,836.4000000001216,836.34283,2015-01-01 02:19:27,bin8367,75, +CTSPillarNetworkA,8368,8368,8368,1992-11-29,836.5000000001216,836.4428,2015-01-01 02:19:28,bin8368,35, +CTSPillarNetworkA,8369,8369,8369,1992-11-30,836.6000000001217,836.5428,2015-01-01 02:19:29,bin8369,75, +CTSPillarNetworkA,8370,8370,8370,1992-12-01,836.7000000001217,836.64276,2015-01-01 02:19:30,bin8370,35, +CTSPillarNetworkA,8371,8371,8371,1992-12-02,836.8000000001217,836.74274,2015-01-01 02:19:31,bin8371,75, +CTSPillarNetworkA,8372,8372,8372,1992-12-03,836.9000000001217,836.8427,2015-01-01 02:19:32,bin8372,35, +CTSPillarNetworkA,8373,8373,8373,1992-12-04,837.0000000001218,836.9427,2015-01-01 02:19:33,bin8373,75, +CTSPillarNetworkA,8374,8374,8374,1992-12-05,837.1000000001218,837.04266,2015-01-01 02:19:34,bin8374,35, +CTSPillarNetworkA,8375,8375,8375,1992-12-06,837.2000000001218,837.14264,2015-01-01 02:19:35,bin8375,75, +CTSPillarNetworkA,8376,8376,8376,1992-12-07,837.3000000001218,837.2426,2015-01-01 02:19:36,bin8376,35, +CTSPillarNetworkA,8377,8377,8377,1992-12-08,837.4000000001218,837.3426,2015-01-01 02:19:37,bin8377,75, +CTSPillarNetworkA,8378,8378,8378,1992-12-09,837.5000000001219,837.44257,2015-01-01 02:19:38,bin8378,35, +CTSPillarNetworkA,8379,8379,8379,1992-12-10,837.6000000001219,837.54254,2015-01-01 02:19:39,bin8379,75, +CTSPillarNetworkA,8380,8380,8380,1992-12-11,837.7000000001219,837.6425,2015-01-01 02:19:40,bin8380,35, +CTSPillarNetworkA,8381,8381,8381,1992-12-12,837.8000000001219,837.7425,2015-01-01 02:19:41,bin8381,75, +CTSPillarNetworkA,8382,8382,8382,1992-12-13,837.900000000122,837.84247,2015-01-01 02:19:42,bin8382,35, +CTSPillarNetworkA,8383,8383,8383,1992-12-14,838.000000000122,837.94244,2015-01-01 02:19:43,bin8383,75, +CTSPillarNetworkA,8384,8384,8384,1992-12-15,838.100000000122,838.0424,2015-01-01 02:19:44,bin8384,35, +CTSPillarNetworkA,8385,8385,8385,1992-12-16,838.200000000122,838.1424,2015-01-01 02:19:45,bin8385,75, +CTSPillarNetworkA,8386,8386,8386,1992-12-17,838.300000000122,838.2424,2015-01-01 02:19:46,bin8386,35, +CTSPillarNetworkA,8387,8387,8387,1992-12-18,838.4000000001221,838.34235,2015-01-01 02:19:47,bin8387,75, +CTSPillarNetworkA,8388,8388,8388,1992-12-19,838.5000000001221,838.4423,2015-01-01 02:19:48,bin8388,35, +CTSPillarNetworkA,8389,8389,8389,1992-12-20,838.6000000001221,838.5423,2015-01-01 02:19:49,bin8389,75, +CTSPillarNetworkA,8390,8390,8390,1992-12-21,838.7000000001221,838.6423,2015-01-01 02:19:50,bin8390,35, +CTSPillarNetworkA,8391,8391,8391,1992-12-22,838.8000000001222,838.74225,2015-01-01 02:19:51,bin8391,75, +CTSPillarNetworkA,8392,8392,8392,1992-12-23,838.9000000001222,838.8422,2015-01-01 02:19:52,bin8392,35, +CTSPillarNetworkA,8393,8393,8393,1992-12-24,839.0000000001222,838.9422,2015-01-01 02:19:53,bin8393,75, +CTSPillarNetworkA,8394,8394,8394,1992-12-25,839.1000000001222,839.0422,2015-01-01 02:19:54,bin8394,35, +CTSPillarNetworkA,8395,8395,8395,1992-12-26,839.2000000001223,839.14215,2015-01-01 02:19:55,bin8395,75, +CTSPillarNetworkA,8396,8396,8396,1992-12-27,839.3000000001223,839.2421,2015-01-01 02:19:56,bin8396,35, +CTSPillarNetworkA,8397,8397,8397,1992-12-28,839.4000000001223,839.3421,2015-01-01 02:19:57,bin8397,75, +CTSPillarNetworkA,8398,8398,8398,1992-12-29,839.5000000001223,839.4421,2015-01-01 02:19:58,bin8398,35, +CTSPillarNetworkA,8399,8399,8399,1992-12-30,839.6000000001223,839.54205,2015-01-01 02:19:59,bin8399,75, +CTSPillarNetworkA,8400,8400,8400,1992-12-31,839.7000000001224,839.642,2015-01-01 02:20:00,bin8400,35, +CTSPillarNetworkA,8401,8401,8401,1993-01-01,839.8000000001224,839.742,2015-01-01 02:20:01,bin8401,75, +CTSPillarNetworkA,8402,8402,8402,1993-01-02,839.9000000001224,839.842,2015-01-01 02:20:02,bin8402,35, +CTSPillarNetworkA,8403,8403,8403,1993-01-03,840.0000000001224,839.94196,2015-01-01 02:20:03,bin8403,75, +CTSPillarNetworkA,8404,8404,8404,1993-01-04,840.1000000001225,840.04193,2015-01-01 02:20:04,bin8404,35, +CTSPillarNetworkA,8405,8405,8405,1993-01-05,840.2000000001225,840.1419,2015-01-01 02:20:05,bin8405,75, +CTSPillarNetworkA,8406,8406,8406,1993-01-06,840.3000000001225,840.2419,2015-01-01 02:20:06,bin8406,35, +CTSPillarNetworkA,8407,8407,8407,1993-01-07,840.4000000001225,840.34186,2015-01-01 02:20:07,bin8407,75, +CTSPillarNetworkA,8408,8408,8408,1993-01-08,840.5000000001226,840.44183,2015-01-01 02:20:08,bin8408,35, +CTSPillarNetworkA,8409,8409,8409,1993-01-09,840.6000000001226,840.5418,2015-01-01 02:20:09,bin8409,75, +CTSPillarNetworkA,8410,8410,8410,1993-01-10,840.7000000001226,840.6418,2015-01-01 02:20:10,bin8410,35, +CTSPillarNetworkA,8411,8411,8411,1993-01-11,840.8000000001226,840.74176,2015-01-01 02:20:11,bin8411,75, +CTSPillarNetworkA,8412,8412,8412,1993-01-12,840.9000000001226,840.84174,2015-01-01 02:20:12,bin8412,35, +CTSPillarNetworkA,8413,8413,8413,1993-01-13,841.0000000001227,840.9417,2015-01-01 02:20:13,bin8413,75, +CTSPillarNetworkA,8414,8414,8414,1993-01-14,841.1000000001227,841.0417,2015-01-01 02:20:14,bin8414,35, +CTSPillarNetworkA,8415,8415,8415,1993-01-15,841.2000000001227,841.14166,2015-01-01 02:20:15,bin8415,75, +CTSPillarNetworkA,8416,8416,8416,1993-01-16,841.3000000001227,841.24164,2015-01-01 02:20:16,bin8416,35, +CTSPillarNetworkA,8417,8417,8417,1993-01-17,841.4000000001228,841.3416,2015-01-01 02:20:17,bin8417,75, +CTSPillarNetworkA,8418,8418,8418,1993-01-18,841.5000000001228,841.4416,2015-01-01 02:20:18,bin8418,35, +CTSPillarNetworkA,8419,8419,8419,1993-01-19,841.6000000001228,841.54156,2015-01-01 02:20:19,bin8419,75, +CTSPillarNetworkA,8420,8420,8420,1993-01-20,841.7000000001228,841.64154,2015-01-01 02:20:20,bin8420,35, +CTSPillarNetworkA,8421,8421,8421,1993-01-21,841.8000000001228,841.7415,2015-01-01 02:20:21,bin8421,75, +CTSPillarNetworkA,8422,8422,8422,1993-01-22,841.9000000001229,841.8415,2015-01-01 02:20:22,bin8422,35, +CTSPillarNetworkA,8423,8423,8423,1993-01-23,842.0000000001229,841.94147,2015-01-01 02:20:23,bin8423,75, +CTSPillarNetworkA,8424,8424,8424,1993-01-24,842.1000000001229,842.04144,2015-01-01 02:20:24,bin8424,35, +CTSPillarNetworkA,8425,8425,8425,1993-01-25,842.2000000001229,842.1414,2015-01-01 02:20:25,bin8425,75, +CTSPillarNetworkA,8426,8426,8426,1993-01-26,842.300000000123,842.2414,2015-01-01 02:20:26,bin8426,35, +CTSPillarNetworkA,8427,8427,8427,1993-01-27,842.400000000123,842.3414,2015-01-01 02:20:27,bin8427,75, +CTSPillarNetworkA,8428,8428,8428,1993-01-28,842.500000000123,842.44135,2015-01-01 02:20:28,bin8428,35, +CTSPillarNetworkA,8429,8429,8429,1993-01-29,842.600000000123,842.5413,2015-01-01 02:20:29,bin8429,75, +CTSPillarNetworkA,8430,8430,8430,1993-01-30,842.700000000123,842.6413,2015-01-01 02:20:30,bin8430,35, +CTSPillarNetworkA,8431,8431,8431,1993-01-31,842.8000000001231,842.7413,2015-01-01 02:20:31,bin8431,75, +CTSPillarNetworkA,8432,8432,8432,1993-02-01,842.9000000001231,842.84125,2015-01-01 02:20:32,bin8432,35, +CTSPillarNetworkA,8433,8433,8433,1993-02-02,843.0000000001231,842.9412,2015-01-01 02:20:33,bin8433,75, +CTSPillarNetworkA,8434,8434,8434,1993-02-03,843.1000000001231,843.0412,2015-01-01 02:20:34,bin8434,35, +CTSPillarNetworkA,8435,8435,8435,1993-02-04,843.2000000001232,843.1412,2015-01-01 02:20:35,bin8435,75, +CTSPillarNetworkA,8436,8436,8436,1993-02-05,843.3000000001232,843.24115,2015-01-01 02:20:36,bin8436,35, +CTSPillarNetworkA,8437,8437,8437,1993-02-06,843.4000000001232,843.3411,2015-01-01 02:20:37,bin8437,75, +CTSPillarNetworkA,8438,8438,8438,1993-02-07,843.5000000001232,843.4411,2015-01-01 02:20:38,bin8438,35, +CTSPillarNetworkA,8439,8439,8439,1993-02-08,843.6000000001233,843.5411,2015-01-01 02:20:39,bin8439,75, +CTSPillarNetworkA,8440,8440,8440,1993-02-09,843.7000000001233,843.64105,2015-01-01 02:20:40,bin8440,35, +CTSPillarNetworkA,8441,8441,8441,1993-02-10,843.8000000001233,843.741,2015-01-01 02:20:41,bin8441,75, +CTSPillarNetworkA,8442,8442,8442,1993-02-11,843.9000000001233,843.841,2015-01-01 02:20:42,bin8442,35, +CTSPillarNetworkA,8443,8443,8443,1993-02-12,844.0000000001234,843.941,2015-01-01 02:20:43,bin8443,75, +CTSPillarNetworkA,8444,8444,8444,1993-02-13,844.1000000001234,844.04095,2015-01-01 02:20:44,bin8444,35, +CTSPillarNetworkA,8445,8445,8445,1993-02-14,844.2000000001234,844.1409,2015-01-01 02:20:45,bin8445,75, +CTSPillarNetworkA,8446,8446,8446,1993-02-15,844.3000000001234,844.2409,2015-01-01 02:20:46,bin8446,35, +CTSPillarNetworkA,8447,8447,8447,1993-02-16,844.4000000001234,844.3409,2015-01-01 02:20:47,bin8447,75, +CTSPillarNetworkA,8448,8448,8448,1993-02-17,844.5000000001235,844.44086,2015-01-01 02:20:48,bin8448,35, +CTSPillarNetworkA,8449,8449,8449,1993-02-18,844.6000000001235,844.54083,2015-01-01 02:20:49,bin8449,75, +CTSPillarNetworkA,8450,8450,8450,1993-02-19,844.7000000001235,844.6408,2015-01-01 02:20:50,bin8450,35, +CTSPillarNetworkA,8451,8451,8451,1993-02-20,844.8000000001235,844.7408,2015-01-01 02:20:51,bin8451,75, +CTSPillarNetworkA,8452,8452,8452,1993-02-21,844.9000000001236,844.84076,2015-01-01 02:20:52,bin8452,35, +CTSPillarNetworkA,8453,8453,8453,1993-02-22,845.0000000001236,844.94073,2015-01-01 02:20:53,bin8453,75, +CTSPillarNetworkA,8454,8454,8454,1993-02-23,845.1000000001236,845.0407,2015-01-01 02:20:54,bin8454,35, +CTSPillarNetworkA,8455,8455,8455,1993-02-24,845.2000000001236,845.1407,2015-01-01 02:20:55,bin8455,75, +CTSPillarNetworkA,8456,8456,8456,1993-02-25,845.3000000001236,845.24066,2015-01-01 02:20:56,bin8456,35, +CTSPillarNetworkA,8457,8457,8457,1993-02-26,845.4000000001237,845.34064,2015-01-01 02:20:57,bin8457,75, +CTSPillarNetworkA,8458,8458,8458,1993-02-27,845.5000000001237,845.4406,2015-01-01 02:20:58,bin8458,35, +CTSPillarNetworkA,8459,8459,8459,1993-02-28,845.6000000001237,845.5406,2015-01-01 02:20:59,bin8459,75, +CTSPillarNetworkA,8460,8460,8460,1993-03-01,845.7000000001237,845.64056,2015-01-01 02:21:00,bin8460,35, +CTSPillarNetworkA,8461,8461,8461,1993-03-02,845.8000000001238,845.74054,2015-01-01 02:21:01,bin8461,75, +CTSPillarNetworkA,8462,8462,8462,1993-03-03,845.9000000001238,845.8405,2015-01-01 02:21:02,bin8462,35, +CTSPillarNetworkA,8463,8463,8463,1993-03-04,846.0000000001238,845.9405,2015-01-01 02:21:03,bin8463,75, +CTSPillarNetworkA,8464,8464,8464,1993-03-05,846.1000000001238,846.04047,2015-01-01 02:21:04,bin8464,35, +CTSPillarNetworkA,8465,8465,8465,1993-03-06,846.2000000001239,846.14044,2015-01-01 02:21:05,bin8465,75, +CTSPillarNetworkA,8466,8466,8466,1993-03-07,846.3000000001239,846.2404,2015-01-01 02:21:06,bin8466,35, +CTSPillarNetworkA,8467,8467,8467,1993-03-08,846.4000000001239,846.3404,2015-01-01 02:21:07,bin8467,75, +CTSPillarNetworkA,8468,8468,8468,1993-03-09,846.5000000001239,846.44037,2015-01-01 02:21:08,bin8468,35, +CTSPillarNetworkA,8469,8469,8469,1993-03-10,846.6000000001239,846.54034,2015-01-01 02:21:09,bin8469,75, +CTSPillarNetworkA,8470,8470,8470,1993-03-11,846.700000000124,846.6403,2015-01-01 02:21:10,bin8470,35, +CTSPillarNetworkA,8471,8471,8471,1993-03-12,846.800000000124,846.7403,2015-01-01 02:21:11,bin8471,75, +CTSPillarNetworkA,8472,8472,8472,1993-03-13,846.900000000124,846.8403,2015-01-01 02:21:12,bin8472,35, +CTSPillarNetworkA,8473,8473,8473,1993-03-14,847.000000000124,846.94025,2015-01-01 02:21:13,bin8473,75, +CTSPillarNetworkA,8474,8474,8474,1993-03-15,847.100000000124,847.0402,2015-01-01 02:21:14,bin8474,35, +CTSPillarNetworkA,8475,8475,8475,1993-03-16,847.2000000001241,847.1402,2015-01-01 02:21:15,bin8475,75, +CTSPillarNetworkA,8476,8476,8476,1993-03-17,847.3000000001241,847.2402,2015-01-01 02:21:16,bin8476,35, +CTSPillarNetworkA,8477,8477,8477,1993-03-18,847.4000000001241,847.34015,2015-01-01 02:21:17,bin8477,75, +CTSPillarNetworkA,8478,8478,8478,1993-03-19,847.5000000001241,847.4401,2015-01-01 02:21:18,bin8478,35, +CTSPillarNetworkA,8479,8479,8479,1993-03-20,847.6000000001242,847.5401,2015-01-01 02:21:19,bin8479,75, +CTSPillarNetworkA,8480,8480,8480,1993-03-21,847.7000000001242,847.6401,2015-01-01 02:21:20,bin8480,35, +CTSPillarNetworkA,8481,8481,8481,1993-03-22,847.8000000001242,847.74005,2015-01-01 02:21:21,bin8481,75, +CTSPillarNetworkA,8482,8482,8482,1993-03-23,847.9000000001242,847.84,2015-01-01 02:21:22,bin8482,35, +CTSPillarNetworkA,8483,8483,8483,1993-03-24,848.0000000001243,847.94,2015-01-01 02:21:23,bin8483,75, +CTSPillarNetworkA,8484,8484,8484,1993-03-25,848.1000000001243,848.04,2015-01-01 02:21:24,bin8484,35, +CTSPillarNetworkA,8485,8485,8485,1993-03-26,848.2000000001243,848.13995,2015-01-01 02:21:25,bin8485,75, +CTSPillarNetworkA,8486,8486,8486,1993-03-27,848.3000000001243,848.2399,2015-01-01 02:21:26,bin8486,35, +CTSPillarNetworkA,8487,8487,8487,1993-03-28,848.4000000001244,848.3399,2015-01-01 02:21:27,bin8487,75, +CTSPillarNetworkA,8488,8488,8488,1993-03-29,848.5000000001244,848.4399,2015-01-01 02:21:28,bin8488,35, +CTSPillarNetworkA,8489,8489,8489,1993-03-30,848.6000000001244,848.53986,2015-01-01 02:21:29,bin8489,75, +CTSPillarNetworkA,8490,8490,8490,1993-03-31,848.7000000001244,848.63983,2015-01-01 02:21:30,bin8490,35, +CTSPillarNetworkA,8491,8491,8491,1993-04-01,848.8000000001244,848.7398,2015-01-01 02:21:31,bin8491,75, +CTSPillarNetworkA,8492,8492,8492,1993-04-02,848.9000000001245,848.8398,2015-01-01 02:21:32,bin8492,35, +CTSPillarNetworkA,8493,8493,8493,1993-04-03,849.0000000001245,848.93976,2015-01-01 02:21:33,bin8493,75, +CTSPillarNetworkA,8494,8494,8494,1993-04-04,849.1000000001245,849.03973,2015-01-01 02:21:34,bin8494,35, +CTSPillarNetworkA,8495,8495,8495,1993-04-05,849.2000000001245,849.1397,2015-01-01 02:21:35,bin8495,75, +CTSPillarNetworkA,8496,8496,8496,1993-04-06,849.3000000001246,849.2397,2015-01-01 02:21:36,bin8496,35, +CTSPillarNetworkA,8497,8497,8497,1993-04-07,849.4000000001246,849.33966,2015-01-01 02:21:37,bin8497,75, +CTSPillarNetworkA,8498,8498,8498,1993-04-08,849.5000000001246,849.43964,2015-01-01 02:21:38,bin8498,35, +CTSPillarNetworkA,8499,8499,8499,1993-04-09,849.6000000001246,849.5396,2015-01-01 02:21:39,bin8499,75, +CTSPillarNetworkA,8500,8500,8500,1993-04-10,849.7000000001246,849.6396,2015-01-01 02:21:40,bin8500,35, +CTSPillarNetworkA,8501,8501,8501,1993-04-11,849.8000000001247,849.73956,2015-01-01 02:21:41,bin8501,75, +CTSPillarNetworkA,8502,8502,8502,1993-04-12,849.9000000001247,849.83954,2015-01-01 02:21:42,bin8502,35, +CTSPillarNetworkA,8503,8503,8503,1993-04-13,850.0000000001247,849.9395,2015-01-01 02:21:43,bin8503,75, +CTSPillarNetworkA,8504,8504,8504,1993-04-14,850.1000000001247,850.0395,2015-01-01 02:21:44,bin8504,35, +CTSPillarNetworkA,8505,8505,8505,1993-04-15,850.2000000001248,850.13947,2015-01-01 02:21:45,bin8505,75, +CTSPillarNetworkA,8506,8506,8506,1993-04-16,850.3000000001248,850.23944,2015-01-01 02:21:46,bin8506,35, +CTSPillarNetworkA,8507,8507,8507,1993-04-17,850.4000000001248,850.3394,2015-01-01 02:21:47,bin8507,75, +CTSPillarNetworkA,8508,8508,8508,1993-04-18,850.5000000001248,850.4394,2015-01-01 02:21:48,bin8508,35, +CTSPillarNetworkA,8509,8509,8509,1993-04-19,850.6000000001249,850.53937,2015-01-01 02:21:49,bin8509,75, +CTSPillarNetworkA,8510,8510,8510,1993-04-20,850.7000000001249,850.63934,2015-01-01 02:21:50,bin8510,35, +CTSPillarNetworkA,8511,8511,8511,1993-04-21,850.8000000001249,850.7393,2015-01-01 02:21:51,bin8511,75, +CTSPillarNetworkA,8512,8512,8512,1993-04-22,850.9000000001249,850.8393,2015-01-01 02:21:52,bin8512,35, +CTSPillarNetworkA,8513,8513,8513,1993-04-23,851.0000000001249,850.9393,2015-01-01 02:21:53,bin8513,75, +CTSPillarNetworkA,8514,8514,8514,1993-04-24,851.100000000125,851.03925,2015-01-01 02:21:54,bin8514,35, +CTSPillarNetworkA,8515,8515,8515,1993-04-25,851.200000000125,851.1392,2015-01-01 02:21:55,bin8515,75, +CTSPillarNetworkA,8516,8516,8516,1993-04-26,851.300000000125,851.2392,2015-01-01 02:21:56,bin8516,35, +CTSPillarNetworkA,8517,8517,8517,1993-04-27,851.400000000125,851.3392,2015-01-01 02:21:57,bin8517,75, +CTSPillarNetworkA,8518,8518,8518,1993-04-28,851.500000000125,851.43915,2015-01-01 02:21:58,bin8518,35, +CTSPillarNetworkA,8519,8519,8519,1993-04-29,851.6000000001251,851.5391,2015-01-01 02:21:59,bin8519,75, +CTSPillarNetworkA,8520,8520,8520,1993-04-30,851.7000000001251,851.6391,2015-01-01 02:22:00,bin8520,35, +CTSPillarNetworkA,8521,8521,8521,1993-05-01,851.8000000001251,851.7391,2015-01-01 02:22:01,bin8521,75, +CTSPillarNetworkA,8522,8522,8522,1993-05-02,851.9000000001251,851.83905,2015-01-01 02:22:02,bin8522,35, +CTSPillarNetworkA,8523,8523,8523,1993-05-03,852.0000000001252,851.939,2015-01-01 02:22:03,bin8523,75, +CTSPillarNetworkA,8524,8524,8524,1993-05-04,852.1000000001252,852.039,2015-01-01 02:22:04,bin8524,35, +CTSPillarNetworkA,8525,8525,8525,1993-05-05,852.2000000001252,852.139,2015-01-01 02:22:05,bin8525,75, +CTSPillarNetworkA,8526,8526,8526,1993-05-06,852.3000000001252,852.23895,2015-01-01 02:22:06,bin8526,35, +CTSPillarNetworkA,8527,8527,8527,1993-05-07,852.4000000001253,852.3389,2015-01-01 02:22:07,bin8527,75, +CTSPillarNetworkA,8528,8528,8528,1993-05-08,852.5000000001253,852.4389,2015-01-01 02:22:08,bin8528,35, +CTSPillarNetworkA,8529,8529,8529,1993-05-09,852.6000000001253,852.5389,2015-01-01 02:22:09,bin8529,75, +CTSPillarNetworkA,8530,8530,8530,1993-05-10,852.7000000001253,852.63885,2015-01-01 02:22:10,bin8530,35, +CTSPillarNetworkA,8531,8531,8531,1993-05-11,852.8000000001254,852.73883,2015-01-01 02:22:11,bin8531,75, +CTSPillarNetworkA,8532,8532,8532,1993-05-12,852.9000000001254,852.8388,2015-01-01 02:22:12,bin8532,35, +CTSPillarNetworkA,8533,8533,8533,1993-05-13,853.0000000001254,852.9388,2015-01-01 02:22:13,bin8533,75, +CTSPillarNetworkA,8534,8534,8534,1993-05-14,853.1000000001254,853.03876,2015-01-01 02:22:14,bin8534,35, +CTSPillarNetworkA,8535,8535,8535,1993-05-15,853.2000000001254,853.13873,2015-01-01 02:22:15,bin8535,75, +CTSPillarNetworkA,8536,8536,8536,1993-05-16,853.3000000001255,853.2387,2015-01-01 02:22:16,bin8536,35, +CTSPillarNetworkA,8537,8537,8537,1993-05-17,853.4000000001255,853.3387,2015-01-01 02:22:17,bin8537,75, +CTSPillarNetworkA,8538,8538,8538,1993-05-18,853.5000000001255,853.43866,2015-01-01 02:22:18,bin8538,35, +CTSPillarNetworkA,8539,8539,8539,1993-05-19,853.6000000001255,853.53864,2015-01-01 02:22:19,bin8539,75, +CTSPillarNetworkA,8540,8540,8540,1993-05-20,853.7000000001256,853.6386,2015-01-01 02:22:20,bin8540,35, +CTSPillarNetworkA,8541,8541,8541,1993-05-21,853.8000000001256,853.7386,2015-01-01 02:22:21,bin8541,75, +CTSPillarNetworkA,8542,8542,8542,1993-05-22,853.9000000001256,853.83856,2015-01-01 02:22:22,bin8542,35, +CTSPillarNetworkA,8543,8543,8543,1993-05-23,854.0000000001256,853.93854,2015-01-01 02:22:23,bin8543,75, +CTSPillarNetworkA,8544,8544,8544,1993-05-24,854.1000000001256,854.0385,2015-01-01 02:22:24,bin8544,35, +CTSPillarNetworkA,8545,8545,8545,1993-05-25,854.2000000001257,854.1385,2015-01-01 02:22:25,bin8545,75, +CTSPillarNetworkA,8546,8546,8546,1993-05-26,854.3000000001257,854.23846,2015-01-01 02:22:26,bin8546,35, +CTSPillarNetworkA,8547,8547,8547,1993-05-27,854.4000000001257,854.33844,2015-01-01 02:22:27,bin8547,75, +CTSPillarNetworkA,8548,8548,8548,1993-05-28,854.5000000001257,854.4384,2015-01-01 02:22:28,bin8548,35, +CTSPillarNetworkA,8549,8549,8549,1993-05-29,854.6000000001258,854.5384,2015-01-01 02:22:29,bin8549,75, +CTSPillarNetworkA,8550,8550,8550,1993-05-30,854.7000000001258,854.63837,2015-01-01 02:22:30,bin8550,35, +CTSPillarNetworkA,8551,8551,8551,1993-05-31,854.8000000001258,854.73834,2015-01-01 02:22:31,bin8551,75, +CTSPillarNetworkA,8552,8552,8552,1993-06-01,854.9000000001258,854.8383,2015-01-01 02:22:32,bin8552,35, +CTSPillarNetworkA,8553,8553,8553,1993-06-02,855.0000000001259,854.9383,2015-01-01 02:22:33,bin8553,75, +CTSPillarNetworkA,8554,8554,8554,1993-06-03,855.1000000001259,855.03827,2015-01-01 02:22:34,bin8554,35, +CTSPillarNetworkA,8555,8555,8555,1993-06-04,855.2000000001259,855.13824,2015-01-01 02:22:35,bin8555,75, +CTSPillarNetworkA,8556,8556,8556,1993-06-05,855.3000000001259,855.2382,2015-01-01 02:22:36,bin8556,35, +CTSPillarNetworkA,8557,8557,8557,1993-06-06,855.4000000001259,855.3382,2015-01-01 02:22:37,bin8557,75, +CTSPillarNetworkA,8558,8558,8558,1993-06-07,855.500000000126,855.4382,2015-01-01 02:22:38,bin8558,35, +CTSPillarNetworkA,8559,8559,8559,1993-06-08,855.600000000126,855.53815,2015-01-01 02:22:39,bin8559,75, +CTSPillarNetworkA,8560,8560,8560,1993-06-09,855.700000000126,855.6381,2015-01-01 02:22:40,bin8560,35, +CTSPillarNetworkA,8561,8561,8561,1993-06-10,855.800000000126,855.7381,2015-01-01 02:22:41,bin8561,75, +CTSPillarNetworkA,8562,8562,8562,1993-06-11,855.900000000126,855.8381,2015-01-01 02:22:42,bin8562,35, +CTSPillarNetworkA,8563,8563,8563,1993-06-12,856.0000000001261,855.93805,2015-01-01 02:22:43,bin8563,75, +CTSPillarNetworkA,8564,8564,8564,1993-06-13,856.1000000001261,856.038,2015-01-01 02:22:44,bin8564,35, +CTSPillarNetworkA,8565,8565,8565,1993-06-14,856.2000000001261,856.138,2015-01-01 02:22:45,bin8565,75, +CTSPillarNetworkA,8566,8566,8566,1993-06-15,856.3000000001261,856.238,2015-01-01 02:22:46,bin8566,35, +CTSPillarNetworkA,8567,8567,8567,1993-06-16,856.4000000001262,856.33795,2015-01-01 02:22:47,bin8567,75, +CTSPillarNetworkA,8568,8568,8568,1993-06-17,856.5000000001262,856.4379,2015-01-01 02:22:48,bin8568,35, +CTSPillarNetworkA,8569,8569,8569,1993-06-18,856.6000000001262,856.5379,2015-01-01 02:22:49,bin8569,75, +CTSPillarNetworkA,8570,8570,8570,1993-06-19,856.7000000001262,856.6379,2015-01-01 02:22:50,bin8570,35, +CTSPillarNetworkA,8571,8571,8571,1993-06-20,856.8000000001263,856.73785,2015-01-01 02:22:51,bin8571,75, +CTSPillarNetworkA,8572,8572,8572,1993-06-21,856.9000000001263,856.8378,2015-01-01 02:22:52,bin8572,35, +CTSPillarNetworkA,8573,8573,8573,1993-06-22,857.0000000001263,856.9378,2015-01-01 02:22:53,bin8573,75, +CTSPillarNetworkA,8574,8574,8574,1993-06-23,857.1000000001263,857.0378,2015-01-01 02:22:54,bin8574,35, +CTSPillarNetworkA,8575,8575,8575,1993-06-24,857.2000000001264,857.13776,2015-01-01 02:22:55,bin8575,75, +CTSPillarNetworkA,8576,8576,8576,1993-06-25,857.3000000001264,857.23773,2015-01-01 02:22:56,bin8576,35, +CTSPillarNetworkA,8577,8577,8577,1993-06-26,857.4000000001264,857.3377,2015-01-01 02:22:57,bin8577,75, +CTSPillarNetworkA,8578,8578,8578,1993-06-27,857.5000000001264,857.4377,2015-01-01 02:22:58,bin8578,35, +CTSPillarNetworkA,8579,8579,8579,1993-06-28,857.6000000001264,857.53766,2015-01-01 02:22:59,bin8579,75, +CTSPillarNetworkA,8580,8580,8580,1993-06-29,857.7000000001265,857.63763,2015-01-01 02:23:00,bin8580,35, +CTSPillarNetworkA,8581,8581,8581,1993-06-30,857.8000000001265,857.7376,2015-01-01 02:23:01,bin8581,75, +CTSPillarNetworkA,8582,8582,8582,1993-07-01,857.9000000001265,857.8376,2015-01-01 02:23:02,bin8582,35, +CTSPillarNetworkA,8583,8583,8583,1993-07-02,858.0000000001265,857.93756,2015-01-01 02:23:03,bin8583,75, +CTSPillarNetworkA,8584,8584,8584,1993-07-03,858.1000000001266,858.03754,2015-01-01 02:23:04,bin8584,35, +CTSPillarNetworkA,8585,8585,8585,1993-07-04,858.2000000001266,858.1375,2015-01-01 02:23:05,bin8585,75, +CTSPillarNetworkA,8586,8586,8586,1993-07-05,858.3000000001266,858.2375,2015-01-01 02:23:06,bin8586,35, +CTSPillarNetworkA,8587,8587,8587,1993-07-06,858.4000000001266,858.33746,2015-01-01 02:23:07,bin8587,75, +CTSPillarNetworkA,8588,8588,8588,1993-07-07,858.5000000001266,858.43744,2015-01-01 02:23:08,bin8588,35, +CTSPillarNetworkA,8589,8589,8589,1993-07-08,858.6000000001267,858.5374,2015-01-01 02:23:09,bin8589,75, +CTSPillarNetworkA,8590,8590,8590,1993-07-09,858.7000000001267,858.6374,2015-01-01 02:23:10,bin8590,35, +CTSPillarNetworkA,8591,8591,8591,1993-07-10,858.8000000001267,858.73737,2015-01-01 02:23:11,bin8591,75, +CTSPillarNetworkA,8592,8592,8592,1993-07-11,858.9000000001267,858.83734,2015-01-01 02:23:12,bin8592,35, +CTSPillarNetworkA,8593,8593,8593,1993-07-12,859.0000000001268,858.9373,2015-01-01 02:23:13,bin8593,75, +CTSPillarNetworkA,8594,8594,8594,1993-07-13,859.1000000001268,859.0373,2015-01-01 02:23:14,bin8594,35, +CTSPillarNetworkA,8595,8595,8595,1993-07-14,859.2000000001268,859.13727,2015-01-01 02:23:15,bin8595,75, +CTSPillarNetworkA,8596,8596,8596,1993-07-15,859.3000000001268,859.23724,2015-01-01 02:23:16,bin8596,35, +CTSPillarNetworkA,8597,8597,8597,1993-07-16,859.4000000001269,859.3372,2015-01-01 02:23:17,bin8597,75, +CTSPillarNetworkA,8598,8598,8598,1993-07-17,859.5000000001269,859.4372,2015-01-01 02:23:18,bin8598,35, +CTSPillarNetworkA,8599,8599,8599,1993-07-18,859.6000000001269,859.5372,2015-01-01 02:23:19,bin8599,75, +CTSPillarNetworkA,8600,8600,8600,1993-07-19,859.7000000001269,859.63715,2015-01-01 02:23:20,bin8600,35, +CTSPillarNetworkA,8601,8601,8601,1993-07-20,859.8000000001269,859.7371,2015-01-01 02:23:21,bin8601,75, +CTSPillarNetworkA,8602,8602,8602,1993-07-21,859.900000000127,859.8371,2015-01-01 02:23:22,bin8602,35, +CTSPillarNetworkA,8603,8603,8603,1993-07-22,860.000000000127,859.9371,2015-01-01 02:23:23,bin8603,75, +CTSPillarNetworkA,8604,8604,8604,1993-07-23,860.100000000127,860.03705,2015-01-01 02:23:24,bin8604,35, +CTSPillarNetworkA,8605,8605,8605,1993-07-24,860.200000000127,860.137,2015-01-01 02:23:25,bin8605,75, +CTSPillarNetworkA,8606,8606,8606,1993-07-25,860.300000000127,860.237,2015-01-01 02:23:26,bin8606,35, +CTSPillarNetworkA,8607,8607,8607,1993-07-26,860.4000000001271,860.337,2015-01-01 02:23:27,bin8607,75, +CTSPillarNetworkA,8608,8608,8608,1993-07-27,860.5000000001271,860.43695,2015-01-01 02:23:28,bin8608,35, +CTSPillarNetworkA,8609,8609,8609,1993-07-28,860.6000000001271,860.5369,2015-01-01 02:23:29,bin8609,75, +CTSPillarNetworkA,8610,8610,8610,1993-07-29,860.7000000001271,860.6369,2015-01-01 02:23:30,bin8610,35, +CTSPillarNetworkA,8611,8611,8611,1993-07-30,860.8000000001272,860.7369,2015-01-01 02:23:31,bin8611,75, +CTSPillarNetworkA,8612,8612,8612,1993-07-31,860.9000000001272,860.83685,2015-01-01 02:23:32,bin8612,35, +CTSPillarNetworkA,8613,8613,8613,1993-08-01,861.0000000001272,860.9368,2015-01-01 02:23:33,bin8613,75, +CTSPillarNetworkA,8614,8614,8614,1993-08-02,861.1000000001272,861.0368,2015-01-01 02:23:34,bin8614,35, +CTSPillarNetworkA,8615,8615,8615,1993-08-03,861.2000000001273,861.1368,2015-01-01 02:23:35,bin8615,75, +CTSPillarNetworkA,8616,8616,8616,1993-08-04,861.3000000001273,861.23676,2015-01-01 02:23:36,bin8616,35, +CTSPillarNetworkA,8617,8617,8617,1993-08-05,861.4000000001273,861.33673,2015-01-01 02:23:37,bin8617,75, +CTSPillarNetworkA,8618,8618,8618,1993-08-06,861.5000000001273,861.4367,2015-01-01 02:23:38,bin8618,35, +CTSPillarNetworkA,8619,8619,8619,1993-08-07,861.6000000001274,861.5367,2015-01-01 02:23:39,bin8619,75, +CTSPillarNetworkA,8620,8620,8620,1993-08-08,861.7000000001274,861.63666,2015-01-01 02:23:40,bin8620,35, +CTSPillarNetworkA,8621,8621,8621,1993-08-09,861.8000000001274,861.73663,2015-01-01 02:23:41,bin8621,75, +CTSPillarNetworkA,8622,8622,8622,1993-08-10,861.9000000001274,861.8366,2015-01-01 02:23:42,bin8622,35, +CTSPillarNetworkA,8623,8623,8623,1993-08-11,862.0000000001274,861.9366,2015-01-01 02:23:43,bin8623,75, +CTSPillarNetworkA,8624,8624,8624,1993-08-12,862.1000000001275,862.03656,2015-01-01 02:23:44,bin8624,35, +CTSPillarNetworkA,8625,8625,8625,1993-08-13,862.2000000001275,862.13654,2015-01-01 02:23:45,bin8625,75, +CTSPillarNetworkA,8626,8626,8626,1993-08-14,862.3000000001275,862.2365,2015-01-01 02:23:46,bin8626,35, +CTSPillarNetworkA,8627,8627,8627,1993-08-15,862.4000000001275,862.3365,2015-01-01 02:23:47,bin8627,75, +CTSPillarNetworkA,8628,8628,8628,1993-08-16,862.5000000001276,862.43646,2015-01-01 02:23:48,bin8628,35, +CTSPillarNetworkA,8629,8629,8629,1993-08-17,862.6000000001276,862.53644,2015-01-01 02:23:49,bin8629,75, +CTSPillarNetworkA,8630,8630,8630,1993-08-18,862.7000000001276,862.6364,2015-01-01 02:23:50,bin8630,35, +CTSPillarNetworkA,8631,8631,8631,1993-08-19,862.8000000001276,862.7364,2015-01-01 02:23:51,bin8631,75, +CTSPillarNetworkA,8632,8632,8632,1993-08-20,862.9000000001276,862.83636,2015-01-01 02:23:52,bin8632,35, +CTSPillarNetworkA,8633,8633,8633,1993-08-21,863.0000000001277,862.93634,2015-01-01 02:23:53,bin8633,75, +CTSPillarNetworkA,8634,8634,8634,1993-08-22,863.1000000001277,863.0363,2015-01-01 02:23:54,bin8634,35, +CTSPillarNetworkA,8635,8635,8635,1993-08-23,863.2000000001277,863.1363,2015-01-01 02:23:55,bin8635,75, +CTSPillarNetworkA,8636,8636,8636,1993-08-24,863.3000000001277,863.23627,2015-01-01 02:23:56,bin8636,35, +CTSPillarNetworkA,8637,8637,8637,1993-08-25,863.4000000001278,863.33624,2015-01-01 02:23:57,bin8637,75, +CTSPillarNetworkA,8638,8638,8638,1993-08-26,863.5000000001278,863.4362,2015-01-01 02:23:58,bin8638,35, +CTSPillarNetworkA,8639,8639,8639,1993-08-27,863.6000000001278,863.5362,2015-01-01 02:23:59,bin8639,75, +CTSPillarNetworkA,8640,8640,8640,1993-08-28,863.7000000001278,863.63617,2015-01-01 02:24:00,bin8640,35, +CTSPillarNetworkA,8641,8641,8641,1993-08-29,863.8000000001279,863.73615,2015-01-01 02:24:01,bin8641,75, +CTSPillarNetworkA,8642,8642,8642,1993-08-30,863.9000000001279,863.8361,2015-01-01 02:24:02,bin8642,35, +CTSPillarNetworkA,8643,8643,8643,1993-08-31,864.0000000001279,863.9361,2015-01-01 02:24:03,bin8643,75, +CTSPillarNetworkA,8644,8644,8644,1993-09-01,864.1000000001279,864.0361,2015-01-01 02:24:04,bin8644,35, +CTSPillarNetworkA,8645,8645,8645,1993-09-02,864.200000000128,864.13605,2015-01-01 02:24:05,bin8645,75, +CTSPillarNetworkA,8646,8646,8646,1993-09-03,864.300000000128,864.236,2015-01-01 02:24:06,bin8646,35, +CTSPillarNetworkA,8647,8647,8647,1993-09-04,864.400000000128,864.336,2015-01-01 02:24:07,bin8647,75, +CTSPillarNetworkA,8648,8648,8648,1993-09-05,864.500000000128,864.436,2015-01-01 02:24:08,bin8648,35, +CTSPillarNetworkA,8649,8649,8649,1993-09-06,864.600000000128,864.53595,2015-01-01 02:24:09,bin8649,75, +CTSPillarNetworkA,8650,8650,8650,1993-09-07,864.7000000001281,864.6359,2015-01-01 02:24:10,bin8650,35, +CTSPillarNetworkA,8651,8651,8651,1993-09-08,864.8000000001281,864.7359,2015-01-01 02:24:11,bin8651,75, +CTSPillarNetworkA,8652,8652,8652,1993-09-09,864.9000000001281,864.8359,2015-01-01 02:24:12,bin8652,35, +CTSPillarNetworkA,8653,8653,8653,1993-09-10,865.0000000001281,864.93585,2015-01-01 02:24:13,bin8653,75, +CTSPillarNetworkA,8654,8654,8654,1993-09-11,865.1000000001281,865.0358,2015-01-01 02:24:14,bin8654,35, +CTSPillarNetworkA,8655,8655,8655,1993-09-12,865.2000000001282,865.1358,2015-01-01 02:24:15,bin8655,75, +CTSPillarNetworkA,8656,8656,8656,1993-09-13,865.3000000001282,865.2358,2015-01-01 02:24:16,bin8656,35, +CTSPillarNetworkA,8657,8657,8657,1993-09-14,865.4000000001282,865.33575,2015-01-01 02:24:17,bin8657,75, +CTSPillarNetworkA,8658,8658,8658,1993-09-15,865.5000000001282,865.4357,2015-01-01 02:24:18,bin8658,35, +CTSPillarNetworkA,8659,8659,8659,1993-09-16,865.6000000001283,865.5357,2015-01-01 02:24:19,bin8659,75, +CTSPillarNetworkA,8660,8660,8660,1993-09-17,865.7000000001283,865.6357,2015-01-01 02:24:20,bin8660,35, +CTSPillarNetworkA,8661,8661,8661,1993-09-18,865.8000000001283,865.73566,2015-01-01 02:24:21,bin8661,75, +CTSPillarNetworkA,8662,8662,8662,1993-09-19,865.9000000001283,865.83563,2015-01-01 02:24:22,bin8662,35, +CTSPillarNetworkA,8663,8663,8663,1993-09-20,866.0000000001284,865.9356,2015-01-01 02:24:23,bin8663,75, +CTSPillarNetworkA,8664,8664,8664,1993-09-21,866.1000000001284,866.0356,2015-01-01 02:24:24,bin8664,35, +CTSPillarNetworkA,8665,8665,8665,1993-09-22,866.2000000001284,866.13556,2015-01-01 02:24:25,bin8665,75, +CTSPillarNetworkA,8666,8666,8666,1993-09-23,866.3000000001284,866.23553,2015-01-01 02:24:26,bin8666,35, +CTSPillarNetworkA,8667,8667,8667,1993-09-24,866.4000000001284,866.3355,2015-01-01 02:24:27,bin8667,75, +CTSPillarNetworkA,8668,8668,8668,1993-09-25,866.5000000001285,866.4355,2015-01-01 02:24:28,bin8668,35, +CTSPillarNetworkA,8669,8669,8669,1993-09-26,866.6000000001285,866.53546,2015-01-01 02:24:29,bin8669,75, +CTSPillarNetworkA,8670,8670,8670,1993-09-27,866.7000000001285,866.63544,2015-01-01 02:24:30,bin8670,35, +CTSPillarNetworkA,8671,8671,8671,1993-09-28,866.8000000001285,866.7354,2015-01-01 02:24:31,bin8671,75, +CTSPillarNetworkA,8672,8672,8672,1993-09-29,866.9000000001286,866.8354,2015-01-01 02:24:32,bin8672,35, +CTSPillarNetworkA,8673,8673,8673,1993-09-30,867.0000000001286,866.93536,2015-01-01 02:24:33,bin8673,75, +CTSPillarNetworkA,8674,8674,8674,1993-10-01,867.1000000001286,867.03534,2015-01-01 02:24:34,bin8674,35, +CTSPillarNetworkA,8675,8675,8675,1993-10-02,867.2000000001286,867.1353,2015-01-01 02:24:35,bin8675,75, +CTSPillarNetworkA,8676,8676,8676,1993-10-03,867.3000000001286,867.2353,2015-01-01 02:24:36,bin8676,35, +CTSPillarNetworkA,8677,8677,8677,1993-10-04,867.4000000001287,867.33527,2015-01-01 02:24:37,bin8677,75, +CTSPillarNetworkA,8678,8678,8678,1993-10-05,867.5000000001287,867.43524,2015-01-01 02:24:38,bin8678,35, +CTSPillarNetworkA,8679,8679,8679,1993-10-06,867.6000000001287,867.5352,2015-01-01 02:24:39,bin8679,75, +CTSPillarNetworkA,8680,8680,8680,1993-10-07,867.7000000001287,867.6352,2015-01-01 02:24:40,bin8680,35, +CTSPillarNetworkA,8681,8681,8681,1993-10-08,867.8000000001288,867.73517,2015-01-01 02:24:41,bin8681,75, +CTSPillarNetworkA,8682,8682,8682,1993-10-09,867.9000000001288,867.83514,2015-01-01 02:24:42,bin8682,35, +CTSPillarNetworkA,8683,8683,8683,1993-10-10,868.0000000001288,867.9351,2015-01-01 02:24:43,bin8683,75, +CTSPillarNetworkA,8684,8684,8684,1993-10-11,868.1000000001288,868.0351,2015-01-01 02:24:44,bin8684,35, +CTSPillarNetworkA,8685,8685,8685,1993-10-12,868.2000000001289,868.1351,2015-01-01 02:24:45,bin8685,75, +CTSPillarNetworkA,8686,8686,8686,1993-10-13,868.3000000001289,868.23505,2015-01-01 02:24:46,bin8686,35, +CTSPillarNetworkA,8687,8687,8687,1993-10-14,868.4000000001289,868.335,2015-01-01 02:24:47,bin8687,75, +CTSPillarNetworkA,8688,8688,8688,1993-10-15,868.5000000001289,868.435,2015-01-01 02:24:48,bin8688,35, +CTSPillarNetworkA,8689,8689,8689,1993-10-16,868.600000000129,868.535,2015-01-01 02:24:49,bin8689,75, +CTSPillarNetworkA,8690,8690,8690,1993-10-17,868.700000000129,868.63495,2015-01-01 02:24:50,bin8690,35, +CTSPillarNetworkA,8691,8691,8691,1993-10-18,868.800000000129,868.7349,2015-01-01 02:24:51,bin8691,75, +CTSPillarNetworkA,8692,8692,8692,1993-10-19,868.900000000129,868.8349,2015-01-01 02:24:52,bin8692,35, +CTSPillarNetworkA,8693,8693,8693,1993-10-20,869.000000000129,868.9349,2015-01-01 02:24:53,bin8693,75, +CTSPillarNetworkA,8694,8694,8694,1993-10-21,869.1000000001291,869.03485,2015-01-01 02:24:54,bin8694,35, +CTSPillarNetworkA,8695,8695,8695,1993-10-22,869.2000000001291,869.1348,2015-01-01 02:24:55,bin8695,75, +CTSPillarNetworkA,8696,8696,8696,1993-10-23,869.3000000001291,869.2348,2015-01-01 02:24:56,bin8696,35, +CTSPillarNetworkA,8697,8697,8697,1993-10-24,869.4000000001291,869.3348,2015-01-01 02:24:57,bin8697,75, +CTSPillarNetworkA,8698,8698,8698,1993-10-25,869.5000000001291,869.43475,2015-01-01 02:24:58,bin8698,35, +CTSPillarNetworkA,8699,8699,8699,1993-10-26,869.6000000001292,869.5347,2015-01-01 02:24:59,bin8699,75, +CTSPillarNetworkA,8700,8700,8700,1993-10-27,869.7000000001292,869.6347,2015-01-01 02:25:00,bin8700,35, +CTSPillarNetworkA,8701,8701,8701,1993-10-28,869.8000000001292,869.7347,2015-01-01 02:25:01,bin8701,75, +CTSPillarNetworkA,8702,8702,8702,1993-10-29,869.9000000001292,869.83466,2015-01-01 02:25:02,bin8702,35, +CTSPillarNetworkA,8703,8703,8703,1993-10-30,870.0000000001293,869.93463,2015-01-01 02:25:03,bin8703,75, +CTSPillarNetworkA,8704,8704,8704,1993-10-31,870.1000000001293,870.0346,2015-01-01 02:25:04,bin8704,35, +CTSPillarNetworkA,8705,8705,8705,1993-11-01,870.2000000001293,870.1346,2015-01-01 02:25:05,bin8705,75, +CTSPillarNetworkA,8706,8706,8706,1993-11-02,870.3000000001293,870.23456,2015-01-01 02:25:06,bin8706,35, +CTSPillarNetworkA,8707,8707,8707,1993-11-03,870.4000000001294,870.33453,2015-01-01 02:25:07,bin8707,75, +CTSPillarNetworkA,8708,8708,8708,1993-11-04,870.5000000001294,870.4345,2015-01-01 02:25:08,bin8708,35, +CTSPillarNetworkA,8709,8709,8709,1993-11-05,870.6000000001294,870.5345,2015-01-01 02:25:09,bin8709,75, +CTSPillarNetworkA,8710,8710,8710,1993-11-06,870.7000000001294,870.63446,2015-01-01 02:25:10,bin8710,35, +CTSPillarNetworkA,8711,8711,8711,1993-11-07,870.8000000001294,870.73444,2015-01-01 02:25:11,bin8711,75, +CTSPillarNetworkA,8712,8712,8712,1993-11-08,870.9000000001295,870.8344,2015-01-01 02:25:12,bin8712,35, +CTSPillarNetworkA,8713,8713,8713,1993-11-09,871.0000000001295,870.9344,2015-01-01 02:25:13,bin8713,75, +CTSPillarNetworkA,8714,8714,8714,1993-11-10,871.1000000001295,871.03436,2015-01-01 02:25:14,bin8714,35, +CTSPillarNetworkA,8715,8715,8715,1993-11-11,871.2000000001295,871.13434,2015-01-01 02:25:15,bin8715,75, +CTSPillarNetworkA,8716,8716,8716,1993-11-12,871.3000000001296,871.2343,2015-01-01 02:25:16,bin8716,35, +CTSPillarNetworkA,8717,8717,8717,1993-11-13,871.4000000001296,871.3343,2015-01-01 02:25:17,bin8717,75, +CTSPillarNetworkA,8718,8718,8718,1993-11-14,871.5000000001296,871.43427,2015-01-01 02:25:18,bin8718,35, +CTSPillarNetworkA,8719,8719,8719,1993-11-15,871.6000000001296,871.53424,2015-01-01 02:25:19,bin8719,75, +CTSPillarNetworkA,8720,8720,8720,1993-11-16,871.7000000001296,871.6342,2015-01-01 02:25:20,bin8720,35, +CTSPillarNetworkA,8721,8721,8721,1993-11-17,871.8000000001297,871.7342,2015-01-01 02:25:21,bin8721,75, +CTSPillarNetworkA,8722,8722,8722,1993-11-18,871.9000000001297,871.83417,2015-01-01 02:25:22,bin8722,35, +CTSPillarNetworkA,8723,8723,8723,1993-11-19,872.0000000001297,871.93414,2015-01-01 02:25:23,bin8723,75, +CTSPillarNetworkA,8724,8724,8724,1993-11-20,872.1000000001297,872.0341,2015-01-01 02:25:24,bin8724,35, +CTSPillarNetworkA,8725,8725,8725,1993-11-21,872.2000000001298,872.1341,2015-01-01 02:25:25,bin8725,75, +CTSPillarNetworkA,8726,8726,8726,1993-11-22,872.3000000001298,872.2341,2015-01-01 02:25:26,bin8726,35, +CTSPillarNetworkA,8727,8727,8727,1993-11-23,872.4000000001298,872.33405,2015-01-01 02:25:27,bin8727,75, +CTSPillarNetworkA,8728,8728,8728,1993-11-24,872.5000000001298,872.434,2015-01-01 02:25:28,bin8728,35, +CTSPillarNetworkA,8729,8729,8729,1993-11-25,872.6000000001299,872.534,2015-01-01 02:25:29,bin8729,75, +CTSPillarNetworkA,8730,8730,8730,1993-11-26,872.7000000001299,872.634,2015-01-01 02:25:30,bin8730,35, +CTSPillarNetworkA,8731,8731,8731,1993-11-27,872.8000000001299,872.73395,2015-01-01 02:25:31,bin8731,75, +CTSPillarNetworkA,8732,8732,8732,1993-11-28,872.9000000001299,872.8339,2015-01-01 02:25:32,bin8732,35, +CTSPillarNetworkA,8733,8733,8733,1993-11-29,873.00000000013,872.9339,2015-01-01 02:25:33,bin8733,75, +CTSPillarNetworkA,8734,8734,8734,1993-11-30,873.10000000013,873.0339,2015-01-01 02:25:34,bin8734,35, +CTSPillarNetworkA,8735,8735,8735,1993-12-01,873.20000000013,873.13385,2015-01-01 02:25:35,bin8735,75, +CTSPillarNetworkA,8736,8736,8736,1993-12-02,873.30000000013,873.2338,2015-01-01 02:25:36,bin8736,35, +CTSPillarNetworkA,8737,8737,8737,1993-12-03,873.40000000013,873.3338,2015-01-01 02:25:37,bin8737,75, +CTSPillarNetworkA,8738,8738,8738,1993-12-04,873.5000000001301,873.4338,2015-01-01 02:25:38,bin8738,35, +CTSPillarNetworkA,8739,8739,8739,1993-12-05,873.6000000001301,873.53375,2015-01-01 02:25:39,bin8739,75, +CTSPillarNetworkA,8740,8740,8740,1993-12-06,873.7000000001301,873.6337,2015-01-01 02:25:40,bin8740,35, +CTSPillarNetworkA,8741,8741,8741,1993-12-07,873.8000000001301,873.7337,2015-01-01 02:25:41,bin8741,75, +CTSPillarNetworkA,8742,8742,8742,1993-12-08,873.9000000001301,873.8337,2015-01-01 02:25:42,bin8742,35, +CTSPillarNetworkA,8743,8743,8743,1993-12-09,874.0000000001302,873.93365,2015-01-01 02:25:43,bin8743,75, +CTSPillarNetworkA,8744,8744,8744,1993-12-10,874.1000000001302,874.0336,2015-01-01 02:25:44,bin8744,35, +CTSPillarNetworkA,8745,8745,8745,1993-12-11,874.2000000001302,874.1336,2015-01-01 02:25:45,bin8745,75, +CTSPillarNetworkA,8746,8746,8746,1993-12-12,874.3000000001302,874.2336,2015-01-01 02:25:46,bin8746,35, +CTSPillarNetworkA,8747,8747,8747,1993-12-13,874.4000000001303,874.33356,2015-01-01 02:25:47,bin8747,75, +CTSPillarNetworkA,8748,8748,8748,1993-12-14,874.5000000001303,874.43353,2015-01-01 02:25:48,bin8748,35, +CTSPillarNetworkA,8749,8749,8749,1993-12-15,874.6000000001303,874.5335,2015-01-01 02:25:49,bin8749,75, +CTSPillarNetworkA,8750,8750,8750,1993-12-16,874.7000000001303,874.6335,2015-01-01 02:25:50,bin8750,35, +CTSPillarNetworkA,8751,8751,8751,1993-12-17,874.8000000001304,874.73346,2015-01-01 02:25:51,bin8751,75, +CTSPillarNetworkA,8752,8752,8752,1993-12-18,874.9000000001304,874.83344,2015-01-01 02:25:52,bin8752,35, +CTSPillarNetworkA,8753,8753,8753,1993-12-19,875.0000000001304,874.9334,2015-01-01 02:25:53,bin8753,75, +CTSPillarNetworkA,8754,8754,8754,1993-12-20,875.1000000001304,875.0334,2015-01-01 02:25:54,bin8754,35, +CTSPillarNetworkA,8755,8755,8755,1993-12-21,875.2000000001304,875.13336,2015-01-01 02:25:55,bin8755,75, +CTSPillarNetworkA,8756,8756,8756,1993-12-22,875.3000000001305,875.23334,2015-01-01 02:25:56,bin8756,35, +CTSPillarNetworkA,8757,8757,8757,1993-12-23,875.4000000001305,875.3333,2015-01-01 02:25:57,bin8757,75, +CTSPillarNetworkA,8758,8758,8758,1993-12-24,875.5000000001305,875.4333,2015-01-01 02:25:58,bin8758,35, +CTSPillarNetworkA,8759,8759,8759,1993-12-25,875.6000000001305,875.53326,2015-01-01 02:25:59,bin8759,75, +CTSPillarNetworkA,8760,8760,8760,1993-12-26,875.7000000001306,875.63324,2015-01-01 02:26:00,bin8760,35, +CTSPillarNetworkA,8761,8761,8761,1993-12-27,875.8000000001306,875.7332,2015-01-01 02:26:01,bin8761,75, +CTSPillarNetworkA,8762,8762,8762,1993-12-28,875.9000000001306,875.8332,2015-01-01 02:26:02,bin8762,35, +CTSPillarNetworkA,8763,8763,8763,1993-12-29,876.0000000001306,875.93317,2015-01-01 02:26:03,bin8763,75, +CTSPillarNetworkA,8764,8764,8764,1993-12-30,876.1000000001306,876.03314,2015-01-01 02:26:04,bin8764,35, +CTSPillarNetworkA,8765,8765,8765,1993-12-31,876.2000000001307,876.1331,2015-01-01 02:26:05,bin8765,75, +CTSPillarNetworkA,8766,8766,8766,1994-01-01,876.3000000001307,876.2331,2015-01-01 02:26:06,bin8766,35, +CTSPillarNetworkA,8767,8767,8767,1994-01-02,876.4000000001307,876.33307,2015-01-01 02:26:07,bin8767,75, +CTSPillarNetworkA,8768,8768,8768,1994-01-03,876.5000000001307,876.43304,2015-01-01 02:26:08,bin8768,35, +CTSPillarNetworkA,8769,8769,8769,1994-01-04,876.6000000001308,876.533,2015-01-01 02:26:09,bin8769,75, +CTSPillarNetworkA,8770,8770,8770,1994-01-05,876.7000000001308,876.633,2015-01-01 02:26:10,bin8770,35, +CTSPillarNetworkA,8771,8771,8771,1994-01-06,876.8000000001308,876.733,2015-01-01 02:26:11,bin8771,75, +CTSPillarNetworkA,8772,8772,8772,1994-01-07,876.9000000001308,876.83295,2015-01-01 02:26:12,bin8772,35, +CTSPillarNetworkA,8773,8773,8773,1994-01-08,877.0000000001309,876.9329,2015-01-01 02:26:13,bin8773,75, +CTSPillarNetworkA,8774,8774,8774,1994-01-09,877.1000000001309,877.0329,2015-01-01 02:26:14,bin8774,35, +CTSPillarNetworkA,8775,8775,8775,1994-01-10,877.2000000001309,877.1329,2015-01-01 02:26:15,bin8775,75, +CTSPillarNetworkA,8776,8776,8776,1994-01-11,877.3000000001309,877.23285,2015-01-01 02:26:16,bin8776,35, +CTSPillarNetworkA,8777,8777,8777,1994-01-12,877.400000000131,877.3328,2015-01-01 02:26:17,bin8777,75, +CTSPillarNetworkA,8778,8778,8778,1994-01-13,877.500000000131,877.4328,2015-01-01 02:26:18,bin8778,35, +CTSPillarNetworkA,8779,8779,8779,1994-01-14,877.600000000131,877.5328,2015-01-01 02:26:19,bin8779,75, +CTSPillarNetworkA,8780,8780,8780,1994-01-15,877.700000000131,877.63275,2015-01-01 02:26:20,bin8780,35, +CTSPillarNetworkA,8781,8781,8781,1994-01-16,877.800000000131,877.7327,2015-01-01 02:26:21,bin8781,75, +CTSPillarNetworkA,8782,8782,8782,1994-01-17,877.9000000001311,877.8327,2015-01-01 02:26:22,bin8782,35, +CTSPillarNetworkA,8783,8783,8783,1994-01-18,878.0000000001311,877.9327,2015-01-01 02:26:23,bin8783,75, +CTSPillarNetworkA,8784,8784,8784,1994-01-19,878.1000000001311,878.03265,2015-01-01 02:26:24,bin8784,35, +CTSPillarNetworkA,8785,8785,8785,1994-01-20,878.2000000001311,878.1326,2015-01-01 02:26:25,bin8785,75, +CTSPillarNetworkA,8786,8786,8786,1994-01-21,878.3000000001311,878.2326,2015-01-01 02:26:26,bin8786,35, +CTSPillarNetworkA,8787,8787,8787,1994-01-22,878.4000000001312,878.3326,2015-01-01 02:26:27,bin8787,75, +CTSPillarNetworkA,8788,8788,8788,1994-01-23,878.5000000001312,878.43256,2015-01-01 02:26:28,bin8788,35, +CTSPillarNetworkA,8789,8789,8789,1994-01-24,878.6000000001312,878.53253,2015-01-01 02:26:29,bin8789,75, +CTSPillarNetworkA,8790,8790,8790,1994-01-25,878.7000000001312,878.6325,2015-01-01 02:26:30,bin8790,35, +CTSPillarNetworkA,8791,8791,8791,1994-01-26,878.8000000001313,878.7325,2015-01-01 02:26:31,bin8791,75, +CTSPillarNetworkA,8792,8792,8792,1994-01-27,878.9000000001313,878.83246,2015-01-01 02:26:32,bin8792,35, +CTSPillarNetworkA,8793,8793,8793,1994-01-28,879.0000000001313,878.93243,2015-01-01 02:26:33,bin8793,75, +CTSPillarNetworkA,8794,8794,8794,1994-01-29,879.1000000001313,879.0324,2015-01-01 02:26:34,bin8794,35, +CTSPillarNetworkA,8795,8795,8795,1994-01-30,879.2000000001314,879.1324,2015-01-01 02:26:35,bin8795,75, +CTSPillarNetworkA,8796,8796,8796,1994-01-31,879.3000000001314,879.23236,2015-01-01 02:26:36,bin8796,35, +CTSPillarNetworkA,8797,8797,8797,1994-02-01,879.4000000001314,879.33234,2015-01-01 02:26:37,bin8797,75, +CTSPillarNetworkA,8798,8798,8798,1994-02-02,879.5000000001314,879.4323,2015-01-01 02:26:38,bin8798,35, +CTSPillarNetworkA,8799,8799,8799,1994-02-03,879.6000000001314,879.5323,2015-01-01 02:26:39,bin8799,75, +CTSPillarNetworkA,8800,8800,8800,1994-02-04,879.7000000001315,879.63226,2015-01-01 02:26:40,bin8800,35, +CTSPillarNetworkA,8801,8801,8801,1994-02-05,879.8000000001315,879.73224,2015-01-01 02:26:41,bin8801,75, +CTSPillarNetworkA,8802,8802,8802,1994-02-06,879.9000000001315,879.8322,2015-01-01 02:26:42,bin8802,35, +CTSPillarNetworkA,8803,8803,8803,1994-02-07,880.0000000001315,879.9322,2015-01-01 02:26:43,bin8803,75, +CTSPillarNetworkA,8804,8804,8804,1994-02-08,880.1000000001316,880.03217,2015-01-01 02:26:44,bin8804,35, +CTSPillarNetworkA,8805,8805,8805,1994-02-09,880.2000000001316,880.13214,2015-01-01 02:26:45,bin8805,75, +CTSPillarNetworkA,8806,8806,8806,1994-02-10,880.3000000001316,880.2321,2015-01-01 02:26:46,bin8806,35, +CTSPillarNetworkA,8807,8807,8807,1994-02-11,880.4000000001316,880.3321,2015-01-01 02:26:47,bin8807,75, +CTSPillarNetworkA,8808,8808,8808,1994-02-12,880.5000000001316,880.43207,2015-01-01 02:26:48,bin8808,35, +CTSPillarNetworkA,8809,8809,8809,1994-02-13,880.6000000001317,880.53204,2015-01-01 02:26:49,bin8809,75, +CTSPillarNetworkA,8810,8810,8810,1994-02-14,880.7000000001317,880.632,2015-01-01 02:26:50,bin8810,35, +CTSPillarNetworkA,8811,8811,8811,1994-02-15,880.8000000001317,880.732,2015-01-01 02:26:51,bin8811,75, +CTSPillarNetworkA,8812,8812,8812,1994-02-16,880.9000000001317,880.832,2015-01-01 02:26:52,bin8812,35, +CTSPillarNetworkA,8813,8813,8813,1994-02-17,881.0000000001318,880.93195,2015-01-01 02:26:53,bin8813,75, +CTSPillarNetworkA,8814,8814,8814,1994-02-18,881.1000000001318,881.0319,2015-01-01 02:26:54,bin8814,35, +CTSPillarNetworkA,8815,8815,8815,1994-02-19,881.2000000001318,881.1319,2015-01-01 02:26:55,bin8815,75, +CTSPillarNetworkA,8816,8816,8816,1994-02-20,881.3000000001318,881.2319,2015-01-01 02:26:56,bin8816,35, +CTSPillarNetworkA,8817,8817,8817,1994-02-21,881.4000000001319,881.33185,2015-01-01 02:26:57,bin8817,75, +CTSPillarNetworkA,8818,8818,8818,1994-02-22,881.5000000001319,881.4318,2015-01-01 02:26:58,bin8818,35, +CTSPillarNetworkA,8819,8819,8819,1994-02-23,881.6000000001319,881.5318,2015-01-01 02:26:59,bin8819,75, +CTSPillarNetworkA,8820,8820,8820,1994-02-24,881.7000000001319,881.6318,2015-01-01 02:27:00,bin8820,35, +CTSPillarNetworkA,8821,8821,8821,1994-02-25,881.800000000132,881.73175,2015-01-01 02:27:01,bin8821,75, +CTSPillarNetworkA,8822,8822,8822,1994-02-26,881.900000000132,881.8317,2015-01-01 02:27:02,bin8822,35, +CTSPillarNetworkA,8823,8823,8823,1994-02-27,882.000000000132,881.9317,2015-01-01 02:27:03,bin8823,75, +CTSPillarNetworkA,8824,8824,8824,1994-02-28,882.100000000132,882.0317,2015-01-01 02:27:04,bin8824,35, +CTSPillarNetworkA,8825,8825,8825,1994-03-01,882.200000000132,882.13165,2015-01-01 02:27:05,bin8825,75, +CTSPillarNetworkA,8826,8826,8826,1994-03-02,882.3000000001321,882.2316,2015-01-01 02:27:06,bin8826,35, +CTSPillarNetworkA,8827,8827,8827,1994-03-03,882.4000000001321,882.3316,2015-01-01 02:27:07,bin8827,75, +CTSPillarNetworkA,8828,8828,8828,1994-03-04,882.5000000001321,882.4316,2015-01-01 02:27:08,bin8828,35, +CTSPillarNetworkA,8829,8829,8829,1994-03-05,882.6000000001321,882.53156,2015-01-01 02:27:09,bin8829,75, +CTSPillarNetworkA,8830,8830,8830,1994-03-06,882.7000000001321,882.63153,2015-01-01 02:27:10,bin8830,35, +CTSPillarNetworkA,8831,8831,8831,1994-03-07,882.8000000001322,882.7315,2015-01-01 02:27:11,bin8831,75, +CTSPillarNetworkA,8832,8832,8832,1994-03-08,882.9000000001322,882.8315,2015-01-01 02:27:12,bin8832,35, +CTSPillarNetworkA,8833,8833,8833,1994-03-09,883.0000000001322,882.93146,2015-01-01 02:27:13,bin8833,75, +CTSPillarNetworkA,8834,8834,8834,1994-03-10,883.1000000001322,883.03143,2015-01-01 02:27:14,bin8834,35, +CTSPillarNetworkA,8835,8835,8835,1994-03-11,883.2000000001323,883.1314,2015-01-01 02:27:15,bin8835,75, +CTSPillarNetworkA,8836,8836,8836,1994-03-12,883.3000000001323,883.2314,2015-01-01 02:27:16,bin8836,35, +CTSPillarNetworkA,8837,8837,8837,1994-03-13,883.4000000001323,883.33136,2015-01-01 02:27:17,bin8837,75, +CTSPillarNetworkA,8838,8838,8838,1994-03-14,883.5000000001323,883.43134,2015-01-01 02:27:18,bin8838,35, +CTSPillarNetworkA,8839,8839,8839,1994-03-15,883.6000000001324,883.5313,2015-01-01 02:27:19,bin8839,75, +CTSPillarNetworkA,8840,8840,8840,1994-03-16,883.7000000001324,883.6313,2015-01-01 02:27:20,bin8840,35, +CTSPillarNetworkA,8841,8841,8841,1994-03-17,883.8000000001324,883.73126,2015-01-01 02:27:21,bin8841,75, +CTSPillarNetworkA,8842,8842,8842,1994-03-18,883.9000000001324,883.83124,2015-01-01 02:27:22,bin8842,35, +CTSPillarNetworkA,8843,8843,8843,1994-03-19,884.0000000001324,883.9312,2015-01-01 02:27:23,bin8843,75, +CTSPillarNetworkA,8844,8844,8844,1994-03-20,884.1000000001325,884.0312,2015-01-01 02:27:24,bin8844,35, +CTSPillarNetworkA,8845,8845,8845,1994-03-21,884.2000000001325,884.13116,2015-01-01 02:27:25,bin8845,75, +CTSPillarNetworkA,8846,8846,8846,1994-03-22,884.3000000001325,884.23114,2015-01-01 02:27:26,bin8846,35, +CTSPillarNetworkA,8847,8847,8847,1994-03-23,884.4000000001325,884.3311,2015-01-01 02:27:27,bin8847,75, +CTSPillarNetworkA,8848,8848,8848,1994-03-24,884.5000000001326,884.4311,2015-01-01 02:27:28,bin8848,35, +CTSPillarNetworkA,8849,8849,8849,1994-03-25,884.6000000001326,884.53107,2015-01-01 02:27:29,bin8849,75, +CTSPillarNetworkA,8850,8850,8850,1994-03-26,884.7000000001326,884.63104,2015-01-01 02:27:30,bin8850,35, +CTSPillarNetworkA,8851,8851,8851,1994-03-27,884.8000000001326,884.731,2015-01-01 02:27:31,bin8851,75, +CTSPillarNetworkA,8852,8852,8852,1994-03-28,884.9000000001326,884.831,2015-01-01 02:27:32,bin8852,35, +CTSPillarNetworkA,8853,8853,8853,1994-03-29,885.0000000001327,884.93097,2015-01-01 02:27:33,bin8853,75, +CTSPillarNetworkA,8854,8854,8854,1994-03-30,885.1000000001327,885.03094,2015-01-01 02:27:34,bin8854,35, +CTSPillarNetworkA,8855,8855,8855,1994-03-31,885.2000000001327,885.1309,2015-01-01 02:27:35,bin8855,75, +CTSPillarNetworkA,8856,8856,8856,1994-04-01,885.3000000001327,885.2309,2015-01-01 02:27:36,bin8856,35, +CTSPillarNetworkA,8857,8857,8857,1994-04-02,885.4000000001328,885.3309,2015-01-01 02:27:37,bin8857,75, +CTSPillarNetworkA,8858,8858,8858,1994-04-03,885.5000000001328,885.43085,2015-01-01 02:27:38,bin8858,35, +CTSPillarNetworkA,8859,8859,8859,1994-04-04,885.6000000001328,885.5308,2015-01-01 02:27:39,bin8859,75, +CTSPillarNetworkA,8860,8860,8860,1994-04-05,885.7000000001328,885.6308,2015-01-01 02:27:40,bin8860,35, +CTSPillarNetworkA,8861,8861,8861,1994-04-06,885.8000000001329,885.7308,2015-01-01 02:27:41,bin8861,75, +CTSPillarNetworkA,8862,8862,8862,1994-04-07,885.9000000001329,885.83075,2015-01-01 02:27:42,bin8862,35, +CTSPillarNetworkA,8863,8863,8863,1994-04-08,886.0000000001329,885.9307,2015-01-01 02:27:43,bin8863,75, +CTSPillarNetworkA,8864,8864,8864,1994-04-09,886.1000000001329,886.0307,2015-01-01 02:27:44,bin8864,35, +CTSPillarNetworkA,8865,8865,8865,1994-04-10,886.200000000133,886.1307,2015-01-01 02:27:45,bin8865,75, +CTSPillarNetworkA,8866,8866,8866,1994-04-11,886.300000000133,886.23065,2015-01-01 02:27:46,bin8866,35, +CTSPillarNetworkA,8867,8867,8867,1994-04-12,886.400000000133,886.3306,2015-01-01 02:27:47,bin8867,75, +CTSPillarNetworkA,8868,8868,8868,1994-04-13,886.500000000133,886.4306,2015-01-01 02:27:48,bin8868,35, +CTSPillarNetworkA,8869,8869,8869,1994-04-14,886.600000000133,886.5306,2015-01-01 02:27:49,bin8869,75, +CTSPillarNetworkA,8870,8870,8870,1994-04-15,886.7000000001331,886.63055,2015-01-01 02:27:50,bin8870,35, +CTSPillarNetworkA,8871,8871,8871,1994-04-16,886.8000000001331,886.7305,2015-01-01 02:27:51,bin8871,75, +CTSPillarNetworkA,8872,8872,8872,1994-04-17,886.9000000001331,886.8305,2015-01-01 02:27:52,bin8872,35, +CTSPillarNetworkA,8873,8873,8873,1994-04-18,887.0000000001331,886.9305,2015-01-01 02:27:53,bin8873,75, +CTSPillarNetworkA,8874,8874,8874,1994-04-19,887.1000000001332,887.03046,2015-01-01 02:27:54,bin8874,35, +CTSPillarNetworkA,8875,8875,8875,1994-04-20,887.2000000001332,887.13043,2015-01-01 02:27:55,bin8875,75, +CTSPillarNetworkA,8876,8876,8876,1994-04-21,887.3000000001332,887.2304,2015-01-01 02:27:56,bin8876,35, +CTSPillarNetworkA,8877,8877,8877,1994-04-22,887.4000000001332,887.3304,2015-01-01 02:27:57,bin8877,75, +CTSPillarNetworkA,8878,8878,8878,1994-04-23,887.5000000001332,887.43036,2015-01-01 02:27:58,bin8878,35, +CTSPillarNetworkA,8879,8879,8879,1994-04-24,887.6000000001333,887.53033,2015-01-01 02:27:59,bin8879,75, +CTSPillarNetworkA,8880,8880,8880,1994-04-25,887.7000000001333,887.6303,2015-01-01 02:28:00,bin8880,35, +CTSPillarNetworkA,8881,8881,8881,1994-04-26,887.8000000001333,887.7303,2015-01-01 02:28:01,bin8881,75, +CTSPillarNetworkA,8882,8882,8882,1994-04-27,887.9000000001333,887.83026,2015-01-01 02:28:02,bin8882,35, +CTSPillarNetworkA,8883,8883,8883,1994-04-28,888.0000000001334,887.93024,2015-01-01 02:28:03,bin8883,75, +CTSPillarNetworkA,8884,8884,8884,1994-04-29,888.1000000001334,888.0302,2015-01-01 02:28:04,bin8884,35, +CTSPillarNetworkA,8885,8885,8885,1994-04-30,888.2000000001334,888.1302,2015-01-01 02:28:05,bin8885,75, +CTSPillarNetworkA,8886,8886,8886,1994-05-01,888.3000000001334,888.23016,2015-01-01 02:28:06,bin8886,35, +CTSPillarNetworkA,8887,8887,8887,1994-05-02,888.4000000001334,888.33014,2015-01-01 02:28:07,bin8887,75, +CTSPillarNetworkA,8888,8888,8888,1994-05-03,888.5000000001335,888.4301,2015-01-01 02:28:08,bin8888,35, +CTSPillarNetworkA,8889,8889,8889,1994-05-04,888.6000000001335,888.5301,2015-01-01 02:28:09,bin8889,75, +CTSPillarNetworkA,8890,8890,8890,1994-05-05,888.7000000001335,888.63007,2015-01-01 02:28:10,bin8890,35, +CTSPillarNetworkA,8891,8891,8891,1994-05-06,888.8000000001335,888.73004,2015-01-01 02:28:11,bin8891,75, +CTSPillarNetworkA,8892,8892,8892,1994-05-07,888.9000000001336,888.83,2015-01-01 02:28:12,bin8892,35, +CTSPillarNetworkA,8893,8893,8893,1994-05-08,889.0000000001336,888.93,2015-01-01 02:28:13,bin8893,75, +CTSPillarNetworkA,8894,8894,8894,1994-05-09,889.1000000001336,889.02997,2015-01-01 02:28:14,bin8894,35, +CTSPillarNetworkA,8895,8895,8895,1994-05-10,889.2000000001336,889.12994,2015-01-01 02:28:15,bin8895,75, +CTSPillarNetworkA,8896,8896,8896,1994-05-11,889.3000000001337,889.2299,2015-01-01 02:28:16,bin8896,35, +CTSPillarNetworkA,8897,8897,8897,1994-05-12,889.4000000001337,889.3299,2015-01-01 02:28:17,bin8897,75, +CTSPillarNetworkA,8898,8898,8898,1994-05-13,889.5000000001337,889.4299,2015-01-01 02:28:18,bin8898,35, +CTSPillarNetworkA,8899,8899,8899,1994-05-14,889.6000000001337,889.52985,2015-01-01 02:28:19,bin8899,75, +CTSPillarNetworkA,8900,8900,8900,1994-05-15,889.7000000001337,889.6298,2015-01-01 02:28:20,bin8900,35, +CTSPillarNetworkA,8901,8901,8901,1994-05-16,889.8000000001338,889.7298,2015-01-01 02:28:21,bin8901,75, +CTSPillarNetworkA,8902,8902,8902,1994-05-17,889.9000000001338,889.8298,2015-01-01 02:28:22,bin8902,35, +CTSPillarNetworkA,8903,8903,8903,1994-05-18,890.0000000001338,889.92975,2015-01-01 02:28:23,bin8903,75, +CTSPillarNetworkA,8904,8904,8904,1994-05-19,890.1000000001338,890.0297,2015-01-01 02:28:24,bin8904,35, +CTSPillarNetworkA,8905,8905,8905,1994-05-20,890.2000000001339,890.1297,2015-01-01 02:28:25,bin8905,75, +CTSPillarNetworkA,8906,8906,8906,1994-05-21,890.3000000001339,890.2297,2015-01-01 02:28:26,bin8906,35, +CTSPillarNetworkA,8907,8907,8907,1994-05-22,890.4000000001339,890.32965,2015-01-01 02:28:27,bin8907,75, +CTSPillarNetworkA,8908,8908,8908,1994-05-23,890.5000000001339,890.4296,2015-01-01 02:28:28,bin8908,35, +CTSPillarNetworkA,8909,8909,8909,1994-05-24,890.600000000134,890.5296,2015-01-01 02:28:29,bin8909,75, +CTSPillarNetworkA,8910,8910,8910,1994-05-25,890.700000000134,890.6296,2015-01-01 02:28:30,bin8910,35, +CTSPillarNetworkA,8911,8911,8911,1994-05-26,890.800000000134,890.72955,2015-01-01 02:28:31,bin8911,75, +CTSPillarNetworkA,8912,8912,8912,1994-05-27,890.900000000134,890.8295,2015-01-01 02:28:32,bin8912,35, +CTSPillarNetworkA,8913,8913,8913,1994-05-28,891.000000000134,890.9295,2015-01-01 02:28:33,bin8913,75, +CTSPillarNetworkA,8914,8914,8914,1994-05-29,891.1000000001341,891.0295,2015-01-01 02:28:34,bin8914,35, +CTSPillarNetworkA,8915,8915,8915,1994-05-30,891.2000000001341,891.12946,2015-01-01 02:28:35,bin8915,75, +CTSPillarNetworkA,8916,8916,8916,1994-05-31,891.3000000001341,891.22943,2015-01-01 02:28:36,bin8916,35, +CTSPillarNetworkA,8917,8917,8917,1994-06-01,891.4000000001341,891.3294,2015-01-01 02:28:37,bin8917,75, +CTSPillarNetworkA,8918,8918,8918,1994-06-02,891.5000000001342,891.4294,2015-01-01 02:28:38,bin8918,35, +CTSPillarNetworkA,8919,8919,8919,1994-06-03,891.6000000001342,891.52936,2015-01-01 02:28:39,bin8919,75, +CTSPillarNetworkA,8920,8920,8920,1994-06-04,891.7000000001342,891.62933,2015-01-01 02:28:40,bin8920,35, +CTSPillarNetworkA,8921,8921,8921,1994-06-05,891.8000000001342,891.7293,2015-01-01 02:28:41,bin8921,75, +CTSPillarNetworkA,8922,8922,8922,1994-06-06,891.9000000001342,891.8293,2015-01-01 02:28:42,bin8922,35, +CTSPillarNetworkA,8923,8923,8923,1994-06-07,892.0000000001343,891.92926,2015-01-01 02:28:43,bin8923,75, +CTSPillarNetworkA,8924,8924,8924,1994-06-08,892.1000000001343,892.02924,2015-01-01 02:28:44,bin8924,35, +CTSPillarNetworkA,8925,8925,8925,1994-06-09,892.2000000001343,892.1292,2015-01-01 02:28:45,bin8925,75, +CTSPillarNetworkA,8926,8926,8926,1994-06-10,892.3000000001343,892.2292,2015-01-01 02:28:46,bin8926,35, +CTSPillarNetworkA,8927,8927,8927,1994-06-11,892.4000000001344,892.32916,2015-01-01 02:28:47,bin8927,75, +CTSPillarNetworkA,8928,8928,8928,1994-06-12,892.5000000001344,892.42914,2015-01-01 02:28:48,bin8928,35, +CTSPillarNetworkA,8929,8929,8929,1994-06-13,892.6000000001344,892.5291,2015-01-01 02:28:49,bin8929,75, +CTSPillarNetworkA,8930,8930,8930,1994-06-14,892.7000000001344,892.6291,2015-01-01 02:28:50,bin8930,35, +CTSPillarNetworkA,8931,8931,8931,1994-06-15,892.8000000001344,892.72906,2015-01-01 02:28:51,bin8931,75, +CTSPillarNetworkA,8932,8932,8932,1994-06-16,892.9000000001345,892.82904,2015-01-01 02:28:52,bin8932,35, +CTSPillarNetworkA,8933,8933,8933,1994-06-17,893.0000000001345,892.929,2015-01-01 02:28:53,bin8933,75, +CTSPillarNetworkA,8934,8934,8934,1994-06-18,893.1000000001345,893.029,2015-01-01 02:28:54,bin8934,35, +CTSPillarNetworkA,8935,8935,8935,1994-06-19,893.2000000001345,893.12897,2015-01-01 02:28:55,bin8935,75, +CTSPillarNetworkA,8936,8936,8936,1994-06-20,893.3000000001346,893.22894,2015-01-01 02:28:56,bin8936,35, +CTSPillarNetworkA,8937,8937,8937,1994-06-21,893.4000000001346,893.3289,2015-01-01 02:28:57,bin8937,75, +CTSPillarNetworkA,8938,8938,8938,1994-06-22,893.5000000001346,893.4289,2015-01-01 02:28:58,bin8938,35, +CTSPillarNetworkA,8939,8939,8939,1994-06-23,893.6000000001346,893.5289,2015-01-01 02:28:59,bin8939,75, +CTSPillarNetworkA,8940,8940,8940,1994-06-24,893.7000000001347,893.62885,2015-01-01 02:29:00,bin8940,35, +CTSPillarNetworkA,8941,8941,8941,1994-06-25,893.8000000001347,893.7288,2015-01-01 02:29:01,bin8941,75, +CTSPillarNetworkA,8942,8942,8942,1994-06-26,893.9000000001347,893.8288,2015-01-01 02:29:02,bin8942,35, +CTSPillarNetworkA,8943,8943,8943,1994-06-27,894.0000000001347,893.9288,2015-01-01 02:29:03,bin8943,75, +CTSPillarNetworkA,8944,8944,8944,1994-06-28,894.1000000001347,894.02875,2015-01-01 02:29:04,bin8944,35, +CTSPillarNetworkA,8945,8945,8945,1994-06-29,894.2000000001348,894.1287,2015-01-01 02:29:05,bin8945,75, +CTSPillarNetworkA,8946,8946,8946,1994-06-30,894.3000000001348,894.2287,2015-01-01 02:29:06,bin8946,35, +CTSPillarNetworkA,8947,8947,8947,1994-07-01,894.4000000001348,894.3287,2015-01-01 02:29:07,bin8947,75, +CTSPillarNetworkA,8948,8948,8948,1994-07-02,894.5000000001348,894.42865,2015-01-01 02:29:08,bin8948,35, +CTSPillarNetworkA,8949,8949,8949,1994-07-03,894.6000000001349,894.5286,2015-01-01 02:29:09,bin8949,75, +CTSPillarNetworkA,8950,8950,8950,1994-07-04,894.7000000001349,894.6286,2015-01-01 02:29:10,bin8950,35, +CTSPillarNetworkA,8951,8951,8951,1994-07-05,894.8000000001349,894.7286,2015-01-01 02:29:11,bin8951,75, +CTSPillarNetworkA,8952,8952,8952,1994-07-06,894.9000000001349,894.82855,2015-01-01 02:29:12,bin8952,35, +CTSPillarNetworkA,8953,8953,8953,1994-07-07,895.000000000135,894.9285,2015-01-01 02:29:13,bin8953,75, +CTSPillarNetworkA,8954,8954,8954,1994-07-08,895.100000000135,895.0285,2015-01-01 02:29:14,bin8954,35, +CTSPillarNetworkA,8955,8955,8955,1994-07-09,895.200000000135,895.1285,2015-01-01 02:29:15,bin8955,75, +CTSPillarNetworkA,8956,8956,8956,1994-07-10,895.300000000135,895.22845,2015-01-01 02:29:16,bin8956,35, +CTSPillarNetworkA,8957,8957,8957,1994-07-11,895.400000000135,895.3284,2015-01-01 02:29:17,bin8957,75, +CTSPillarNetworkA,8958,8958,8958,1994-07-12,895.5000000001351,895.4284,2015-01-01 02:29:18,bin8958,35, +CTSPillarNetworkA,8959,8959,8959,1994-07-13,895.6000000001351,895.5284,2015-01-01 02:29:19,bin8959,75, +CTSPillarNetworkA,8960,8960,8960,1994-07-14,895.7000000001351,895.62836,2015-01-01 02:29:20,bin8960,35, +CTSPillarNetworkA,8961,8961,8961,1994-07-15,895.8000000001351,895.72833,2015-01-01 02:29:21,bin8961,75, +CTSPillarNetworkA,8962,8962,8962,1994-07-16,895.9000000001352,895.8283,2015-01-01 02:29:22,bin8962,35, +CTSPillarNetworkA,8963,8963,8963,1994-07-17,896.0000000001352,895.9283,2015-01-01 02:29:23,bin8963,75, +CTSPillarNetworkA,8964,8964,8964,1994-07-18,896.1000000001352,896.02826,2015-01-01 02:29:24,bin8964,35, +CTSPillarNetworkA,8965,8965,8965,1994-07-19,896.2000000001352,896.12823,2015-01-01 02:29:25,bin8965,75, +CTSPillarNetworkA,8966,8966,8966,1994-07-20,896.3000000001352,896.2282,2015-01-01 02:29:26,bin8966,35, +CTSPillarNetworkA,8967,8967,8967,1994-07-21,896.4000000001353,896.3282,2015-01-01 02:29:27,bin8967,75, +CTSPillarNetworkA,8968,8968,8968,1994-07-22,896.5000000001353,896.42816,2015-01-01 02:29:28,bin8968,35, +CTSPillarNetworkA,8969,8969,8969,1994-07-23,896.6000000001353,896.52814,2015-01-01 02:29:29,bin8969,75, +CTSPillarNetworkA,8970,8970,8970,1994-07-24,896.7000000001353,896.6281,2015-01-01 02:29:30,bin8970,35, +CTSPillarNetworkA,8971,8971,8971,1994-07-25,896.8000000001354,896.7281,2015-01-01 02:29:31,bin8971,75, +CTSPillarNetworkA,8972,8972,8972,1994-07-26,896.9000000001354,896.82806,2015-01-01 02:29:32,bin8972,35, +CTSPillarNetworkA,8973,8973,8973,1994-07-27,897.0000000001354,896.92804,2015-01-01 02:29:33,bin8973,75, +CTSPillarNetworkA,8974,8974,8974,1994-07-28,897.1000000001354,897.028,2015-01-01 02:29:34,bin8974,35, +CTSPillarNetworkA,8975,8975,8975,1994-07-29,897.2000000001354,897.128,2015-01-01 02:29:35,bin8975,75, +CTSPillarNetworkA,8976,8976,8976,1994-07-30,897.3000000001355,897.22797,2015-01-01 02:29:36,bin8976,35, +CTSPillarNetworkA,8977,8977,8977,1994-07-31,897.4000000001355,897.32794,2015-01-01 02:29:37,bin8977,75, +CTSPillarNetworkA,8978,8978,8978,1994-08-01,897.5000000001355,897.4279,2015-01-01 02:29:38,bin8978,35, +CTSPillarNetworkA,8979,8979,8979,1994-08-02,897.6000000001355,897.5279,2015-01-01 02:29:39,bin8979,75, +CTSPillarNetworkA,8980,8980,8980,1994-08-03,897.7000000001356,897.62787,2015-01-01 02:29:40,bin8980,35, +CTSPillarNetworkA,8981,8981,8981,1994-08-04,897.8000000001356,897.72784,2015-01-01 02:29:41,bin8981,75, +CTSPillarNetworkA,8982,8982,8982,1994-08-05,897.9000000001356,897.8278,2015-01-01 02:29:42,bin8982,35, +CTSPillarNetworkA,8983,8983,8983,1994-08-06,898.0000000001356,897.9278,2015-01-01 02:29:43,bin8983,75, +CTSPillarNetworkA,8984,8984,8984,1994-08-07,898.1000000001357,898.0278,2015-01-01 02:29:44,bin8984,35, +CTSPillarNetworkA,8985,8985,8985,1994-08-08,898.2000000001357,898.12775,2015-01-01 02:29:45,bin8985,75, +CTSPillarNetworkA,8986,8986,8986,1994-08-09,898.3000000001357,898.2277,2015-01-01 02:29:46,bin8986,35, +CTSPillarNetworkA,8987,8987,8987,1994-08-10,898.4000000001357,898.3277,2015-01-01 02:29:47,bin8987,75, +CTSPillarNetworkA,8988,8988,8988,1994-08-11,898.5000000001357,898.4277,2015-01-01 02:29:48,bin8988,35, +CTSPillarNetworkA,8989,8989,8989,1994-08-12,898.6000000001358,898.52765,2015-01-01 02:29:49,bin8989,75, +CTSPillarNetworkA,8990,8990,8990,1994-08-13,898.7000000001358,898.6276,2015-01-01 02:29:50,bin8990,35, +CTSPillarNetworkA,8991,8991,8991,1994-08-14,898.8000000001358,898.7276,2015-01-01 02:29:51,bin8991,75, +CTSPillarNetworkA,8992,8992,8992,1994-08-15,898.9000000001358,898.8276,2015-01-01 02:29:52,bin8992,35, +CTSPillarNetworkA,8993,8993,8993,1994-08-16,899.0000000001359,898.92755,2015-01-01 02:29:53,bin8993,75, +CTSPillarNetworkA,8994,8994,8994,1994-08-17,899.1000000001359,899.0275,2015-01-01 02:29:54,bin8994,35, +CTSPillarNetworkA,8995,8995,8995,1994-08-18,899.2000000001359,899.1275,2015-01-01 02:29:55,bin8995,75, +CTSPillarNetworkA,8996,8996,8996,1994-08-19,899.3000000001359,899.2275,2015-01-01 02:29:56,bin8996,35, +CTSPillarNetworkA,8997,8997,8997,1994-08-20,899.400000000136,899.32745,2015-01-01 02:29:57,bin8997,75, +CTSPillarNetworkA,8998,8998,8998,1994-08-21,899.500000000136,899.4274,2015-01-01 02:29:58,bin8998,35, +CTSPillarNetworkA,8999,8999,8999,1994-08-22,899.600000000136,899.5274,2015-01-01 02:29:59,bin8999,75, +CTSPillarNetworkA,9000,9000,9000,1994-08-23,899.700000000136,899.6274,2015-01-01 02:30:00,bin9000,35, +CTSPillarNetworkA,9001,9001,9001,1994-08-24,899.800000000136,899.72736,2015-01-01 02:30:01,bin9001,75, +CTSPillarNetworkA,9002,9002,9002,1994-08-25,899.9000000001361,899.82733,2015-01-01 02:30:02,bin9002,35, +CTSPillarNetworkA,9003,9003,9003,1994-08-26,900.0000000001361,899.9273,2015-01-01 02:30:03,bin9003,75, +CTSPillarNetworkA,9004,9004,9004,1994-08-27,900.1000000001361,900.0273,2015-01-01 02:30:04,bin9004,35, +CTSPillarNetworkA,9005,9005,9005,1994-08-28,900.2000000001361,900.12726,2015-01-01 02:30:05,bin9005,75, +CTSPillarNetworkA,9006,9006,9006,1994-08-29,900.3000000001362,900.22723,2015-01-01 02:30:06,bin9006,35, +CTSPillarNetworkA,9007,9007,9007,1994-08-30,900.4000000001362,900.3272,2015-01-01 02:30:07,bin9007,75, +CTSPillarNetworkA,9008,9008,9008,1994-08-31,900.5000000001362,900.4272,2015-01-01 02:30:08,bin9008,35, +CTSPillarNetworkA,9009,9009,9009,1994-09-01,900.6000000001362,900.52716,2015-01-01 02:30:09,bin9009,75, +CTSPillarNetworkA,9010,9010,9010,1994-09-02,900.7000000001362,900.62714,2015-01-01 02:30:10,bin9010,35, +CTSPillarNetworkA,9011,9011,9011,1994-09-03,900.8000000001363,900.7271,2015-01-01 02:30:11,bin9011,75, +CTSPillarNetworkA,9012,9012,9012,1994-09-04,900.9000000001363,900.8271,2015-01-01 02:30:12,bin9012,35, +CTSPillarNetworkA,9013,9013,9013,1994-09-05,901.0000000001363,900.92706,2015-01-01 02:30:13,bin9013,75, +CTSPillarNetworkA,9014,9014,9014,1994-09-06,901.1000000001363,901.02704,2015-01-01 02:30:14,bin9014,35, +CTSPillarNetworkA,9015,9015,9015,1994-09-07,901.2000000001364,901.127,2015-01-01 02:30:15,bin9015,75, +CTSPillarNetworkA,9016,9016,9016,1994-09-08,901.3000000001364,901.227,2015-01-01 02:30:16,bin9016,35, +CTSPillarNetworkA,9017,9017,9017,1994-09-09,901.4000000001364,901.32697,2015-01-01 02:30:17,bin9017,75, +CTSPillarNetworkA,9018,9018,9018,1994-09-10,901.5000000001364,901.42694,2015-01-01 02:30:18,bin9018,35, +CTSPillarNetworkA,9019,9019,9019,1994-09-11,901.6000000001364,901.5269,2015-01-01 02:30:19,bin9019,75, +CTSPillarNetworkA,9020,9020,9020,1994-09-12,901.7000000001365,901.6269,2015-01-01 02:30:20,bin9020,35, +CTSPillarNetworkA,9021,9021,9021,1994-09-13,901.8000000001365,901.72687,2015-01-01 02:30:21,bin9021,75, +CTSPillarNetworkA,9022,9022,9022,1994-09-14,901.9000000001365,901.82684,2015-01-01 02:30:22,bin9022,35, +CTSPillarNetworkA,9023,9023,9023,1994-09-15,902.0000000001365,901.9268,2015-01-01 02:30:23,bin9023,75, +CTSPillarNetworkA,9024,9024,9024,1994-09-16,902.1000000001366,902.0268,2015-01-01 02:30:24,bin9024,35, +CTSPillarNetworkA,9025,9025,9025,1994-09-17,902.2000000001366,902.1268,2015-01-01 02:30:25,bin9025,75, +CTSPillarNetworkA,9026,9026,9026,1994-09-18,902.3000000001366,902.22675,2015-01-01 02:30:26,bin9026,35, +CTSPillarNetworkA,9027,9027,9027,1994-09-19,902.4000000001366,902.3267,2015-01-01 02:30:27,bin9027,75, +CTSPillarNetworkA,9028,9028,9028,1994-09-20,902.5000000001367,902.4267,2015-01-01 02:30:28,bin9028,35, +CTSPillarNetworkA,9029,9029,9029,1994-09-21,902.6000000001367,902.5267,2015-01-01 02:30:29,bin9029,75, +CTSPillarNetworkA,9030,9030,9030,1994-09-22,902.7000000001367,902.62665,2015-01-01 02:30:30,bin9030,35, +CTSPillarNetworkA,9031,9031,9031,1994-09-23,902.8000000001367,902.7266,2015-01-01 02:30:31,bin9031,75, +CTSPillarNetworkA,9032,9032,9032,1994-09-24,902.9000000001367,902.8266,2015-01-01 02:30:32,bin9032,35, +CTSPillarNetworkA,9033,9033,9033,1994-09-25,903.0000000001368,902.9266,2015-01-01 02:30:33,bin9033,75, +CTSPillarNetworkA,9034,9034,9034,1994-09-26,903.1000000001368,903.02655,2015-01-01 02:30:34,bin9034,35, +CTSPillarNetworkA,9035,9035,9035,1994-09-27,903.2000000001368,903.1265,2015-01-01 02:30:35,bin9035,75, +CTSPillarNetworkA,9036,9036,9036,1994-09-28,903.3000000001368,903.2265,2015-01-01 02:30:36,bin9036,35, +CTSPillarNetworkA,9037,9037,9037,1994-09-29,903.4000000001369,903.3265,2015-01-01 02:30:37,bin9037,75, +CTSPillarNetworkA,9038,9038,9038,1994-09-30,903.5000000001369,903.42645,2015-01-01 02:30:38,bin9038,35, +CTSPillarNetworkA,9039,9039,9039,1994-10-01,903.6000000001369,903.5264,2015-01-01 02:30:39,bin9039,75, +CTSPillarNetworkA,9040,9040,9040,1994-10-02,903.7000000001369,903.6264,2015-01-01 02:30:40,bin9040,35, +CTSPillarNetworkA,9041,9041,9041,1994-10-03,903.800000000137,903.7264,2015-01-01 02:30:41,bin9041,75, +CTSPillarNetworkA,9042,9042,9042,1994-10-04,903.900000000137,903.82635,2015-01-01 02:30:42,bin9042,35, +CTSPillarNetworkA,9043,9043,9043,1994-10-05,904.000000000137,903.92633,2015-01-01 02:30:43,bin9043,75, +CTSPillarNetworkA,9044,9044,9044,1994-10-06,904.100000000137,904.0263,2015-01-01 02:30:44,bin9044,35, +CTSPillarNetworkA,9045,9045,9045,1994-10-07,904.200000000137,904.1263,2015-01-01 02:30:45,bin9045,75, +CTSPillarNetworkA,9046,9046,9046,1994-10-08,904.3000000001371,904.22626,2015-01-01 02:30:46,bin9046,35, +CTSPillarNetworkA,9047,9047,9047,1994-10-09,904.4000000001371,904.32623,2015-01-01 02:30:47,bin9047,75, +CTSPillarNetworkA,9048,9048,9048,1994-10-10,904.5000000001371,904.4262,2015-01-01 02:30:48,bin9048,35, +CTSPillarNetworkA,9049,9049,9049,1994-10-11,904.6000000001371,904.5262,2015-01-01 02:30:49,bin9049,75, +CTSPillarNetworkA,9050,9050,9050,1994-10-12,904.7000000001372,904.62616,2015-01-01 02:30:50,bin9050,35, +CTSPillarNetworkA,9051,9051,9051,1994-10-13,904.8000000001372,904.72614,2015-01-01 02:30:51,bin9051,75, +CTSPillarNetworkA,9052,9052,9052,1994-10-14,904.9000000001372,904.8261,2015-01-01 02:30:52,bin9052,35, +CTSPillarNetworkA,9053,9053,9053,1994-10-15,905.0000000001372,904.9261,2015-01-01 02:30:53,bin9053,75, +CTSPillarNetworkA,9054,9054,9054,1994-10-16,905.1000000001372,905.02606,2015-01-01 02:30:54,bin9054,35, +CTSPillarNetworkA,9055,9055,9055,1994-10-17,905.2000000001373,905.12604,2015-01-01 02:30:55,bin9055,75, +CTSPillarNetworkA,9056,9056,9056,1994-10-18,905.3000000001373,905.226,2015-01-01 02:30:56,bin9056,35, +CTSPillarNetworkA,9057,9057,9057,1994-10-19,905.4000000001373,905.326,2015-01-01 02:30:57,bin9057,75, +CTSPillarNetworkA,9058,9058,9058,1994-10-20,905.5000000001373,905.42596,2015-01-01 02:30:58,bin9058,35, +CTSPillarNetworkA,9059,9059,9059,1994-10-21,905.6000000001374,905.52594,2015-01-01 02:30:59,bin9059,75, +CTSPillarNetworkA,9060,9060,9060,1994-10-22,905.7000000001374,905.6259,2015-01-01 02:31:00,bin9060,35, +CTSPillarNetworkA,9061,9061,9061,1994-10-23,905.8000000001374,905.7259,2015-01-01 02:31:01,bin9061,75, +CTSPillarNetworkA,9062,9062,9062,1994-10-24,905.9000000001374,905.82587,2015-01-01 02:31:02,bin9062,35, +CTSPillarNetworkA,9063,9063,9063,1994-10-25,906.0000000001374,905.92584,2015-01-01 02:31:03,bin9063,75, +CTSPillarNetworkA,9064,9064,9064,1994-10-26,906.1000000001375,906.0258,2015-01-01 02:31:04,bin9064,35, +CTSPillarNetworkA,9065,9065,9065,1994-10-27,906.2000000001375,906.1258,2015-01-01 02:31:05,bin9065,75, +CTSPillarNetworkA,9066,9066,9066,1994-10-28,906.3000000001375,906.22577,2015-01-01 02:31:06,bin9066,35, +CTSPillarNetworkA,9067,9067,9067,1994-10-29,906.4000000001375,906.32574,2015-01-01 02:31:07,bin9067,75, +CTSPillarNetworkA,9068,9068,9068,1994-10-30,906.5000000001376,906.4257,2015-01-01 02:31:08,bin9068,35, +CTSPillarNetworkA,9069,9069,9069,1994-10-31,906.6000000001376,906.5257,2015-01-01 02:31:09,bin9069,75, +CTSPillarNetworkA,9070,9070,9070,1994-11-01,906.7000000001376,906.6257,2015-01-01 02:31:10,bin9070,35, +CTSPillarNetworkA,9071,9071,9071,1994-11-02,906.8000000001376,906.72565,2015-01-01 02:31:11,bin9071,75, +CTSPillarNetworkA,9072,9072,9072,1994-11-03,906.9000000001377,906.8256,2015-01-01 02:31:12,bin9072,35, +CTSPillarNetworkA,9073,9073,9073,1994-11-04,907.0000000001377,906.9256,2015-01-01 02:31:13,bin9073,75, +CTSPillarNetworkA,9074,9074,9074,1994-11-05,907.1000000001377,907.0256,2015-01-01 02:31:14,bin9074,35, +CTSPillarNetworkA,9075,9075,9075,1994-11-06,907.2000000001377,907.12555,2015-01-01 02:31:15,bin9075,75, +CTSPillarNetworkA,9076,9076,9076,1994-11-07,907.3000000001377,907.2255,2015-01-01 02:31:16,bin9076,35, +CTSPillarNetworkA,9077,9077,9077,1994-11-08,907.4000000001378,907.3255,2015-01-01 02:31:17,bin9077,75, +CTSPillarNetworkA,9078,9078,9078,1994-11-09,907.5000000001378,907.4255,2015-01-01 02:31:18,bin9078,35, +CTSPillarNetworkA,9079,9079,9079,1994-11-10,907.6000000001378,907.52545,2015-01-01 02:31:19,bin9079,75, +CTSPillarNetworkA,9080,9080,9080,1994-11-11,907.7000000001378,907.6254,2015-01-01 02:31:20,bin9080,35, +CTSPillarNetworkA,9081,9081,9081,1994-11-12,907.8000000001379,907.7254,2015-01-01 02:31:21,bin9081,75, +CTSPillarNetworkA,9082,9082,9082,1994-11-13,907.9000000001379,907.8254,2015-01-01 02:31:22,bin9082,35, +CTSPillarNetworkA,9083,9083,9083,1994-11-14,908.0000000001379,907.92535,2015-01-01 02:31:23,bin9083,75, +CTSPillarNetworkA,9084,9084,9084,1994-11-15,908.1000000001379,908.0253,2015-01-01 02:31:24,bin9084,35, +CTSPillarNetworkA,9085,9085,9085,1994-11-16,908.200000000138,908.1253,2015-01-01 02:31:25,bin9085,75, +CTSPillarNetworkA,9086,9086,9086,1994-11-17,908.300000000138,908.2253,2015-01-01 02:31:26,bin9086,35, +CTSPillarNetworkA,9087,9087,9087,1994-11-18,908.400000000138,908.32526,2015-01-01 02:31:27,bin9087,75, +CTSPillarNetworkA,9088,9088,9088,1994-11-19,908.500000000138,908.42523,2015-01-01 02:31:28,bin9088,35, +CTSPillarNetworkA,9089,9089,9089,1994-11-20,908.600000000138,908.5252,2015-01-01 02:31:29,bin9089,75, +CTSPillarNetworkA,9090,9090,9090,1994-11-21,908.7000000001381,908.6252,2015-01-01 02:31:30,bin9090,35, +CTSPillarNetworkA,9091,9091,9091,1994-11-22,908.8000000001381,908.72516,2015-01-01 02:31:31,bin9091,75, +CTSPillarNetworkA,9092,9092,9092,1994-11-23,908.9000000001381,908.82513,2015-01-01 02:31:32,bin9092,35, +CTSPillarNetworkA,9093,9093,9093,1994-11-24,909.0000000001381,908.9251,2015-01-01 02:31:33,bin9093,75, +CTSPillarNetworkA,9094,9094,9094,1994-11-25,909.1000000001382,909.0251,2015-01-01 02:31:34,bin9094,35, +CTSPillarNetworkA,9095,9095,9095,1994-11-26,909.2000000001382,909.12506,2015-01-01 02:31:35,bin9095,75, +CTSPillarNetworkA,9096,9096,9096,1994-11-27,909.3000000001382,909.22504,2015-01-01 02:31:36,bin9096,35, +CTSPillarNetworkA,9097,9097,9097,1994-11-28,909.4000000001382,909.325,2015-01-01 02:31:37,bin9097,75, +CTSPillarNetworkA,9098,9098,9098,1994-11-29,909.5000000001382,909.425,2015-01-01 02:31:38,bin9098,35, +CTSPillarNetworkA,9099,9099,9099,1994-11-30,909.6000000001383,909.52496,2015-01-01 02:31:39,bin9099,75, +CTSPillarNetworkA,9100,9100,9100,1994-12-01,909.7000000001383,909.62494,2015-01-01 02:31:40,bin9100,35, +CTSPillarNetworkA,9101,9101,9101,1994-12-02,909.8000000001383,909.7249,2015-01-01 02:31:41,bin9101,75, +CTSPillarNetworkA,9102,9102,9102,1994-12-03,909.9000000001383,909.8249,2015-01-01 02:31:42,bin9102,35, +CTSPillarNetworkA,9103,9103,9103,1994-12-04,910.0000000001384,909.92487,2015-01-01 02:31:43,bin9103,75, +CTSPillarNetworkA,9104,9104,9104,1994-12-05,910.1000000001384,910.02484,2015-01-01 02:31:44,bin9104,35, +CTSPillarNetworkA,9105,9105,9105,1994-12-06,910.2000000001384,910.1248,2015-01-01 02:31:45,bin9105,75, +CTSPillarNetworkA,9106,9106,9106,1994-12-07,910.3000000001384,910.2248,2015-01-01 02:31:46,bin9106,35, +CTSPillarNetworkA,9107,9107,9107,1994-12-08,910.4000000001384,910.32477,2015-01-01 02:31:47,bin9107,75, +CTSPillarNetworkA,9108,9108,9108,1994-12-09,910.5000000001385,910.42474,2015-01-01 02:31:48,bin9108,35, +CTSPillarNetworkA,9109,9109,9109,1994-12-10,910.6000000001385,910.5247,2015-01-01 02:31:49,bin9109,75, +CTSPillarNetworkA,9110,9110,9110,1994-12-11,910.7000000001385,910.6247,2015-01-01 02:31:50,bin9110,35, +CTSPillarNetworkA,9111,9111,9111,1994-12-12,910.8000000001385,910.7247,2015-01-01 02:31:51,bin9111,75, +CTSPillarNetworkA,9112,9112,9112,1994-12-13,910.9000000001386,910.82465,2015-01-01 02:31:52,bin9112,35, +CTSPillarNetworkA,9113,9113,9113,1994-12-14,911.0000000001386,910.9246,2015-01-01 02:31:53,bin9113,75, +CTSPillarNetworkA,9114,9114,9114,1994-12-15,911.1000000001386,911.0246,2015-01-01 02:31:54,bin9114,35, +CTSPillarNetworkA,9115,9115,9115,1994-12-16,911.2000000001386,911.1246,2015-01-01 02:31:55,bin9115,75, +CTSPillarNetworkA,9116,9116,9116,1994-12-17,911.3000000001387,911.22455,2015-01-01 02:31:56,bin9116,35, +CTSPillarNetworkA,9117,9117,9117,1994-12-18,911.4000000001387,911.3245,2015-01-01 02:31:57,bin9117,75, +CTSPillarNetworkA,9118,9118,9118,1994-12-19,911.5000000001387,911.4245,2015-01-01 02:31:58,bin9118,35, +CTSPillarNetworkA,9119,9119,9119,1994-12-20,911.6000000001387,911.5245,2015-01-01 02:31:59,bin9119,75, +CTSPillarNetworkA,9120,9120,9120,1994-12-21,911.7000000001387,911.62445,2015-01-01 02:32:00,bin9120,35, +CTSPillarNetworkA,9121,9121,9121,1994-12-22,911.8000000001388,911.7244,2015-01-01 02:32:01,bin9121,75, +CTSPillarNetworkA,9122,9122,9122,1994-12-23,911.9000000001388,911.8244,2015-01-01 02:32:02,bin9122,35, +CTSPillarNetworkA,9123,9123,9123,1994-12-24,912.0000000001388,911.9244,2015-01-01 02:32:03,bin9123,75, +CTSPillarNetworkA,9124,9124,9124,1994-12-25,912.1000000001388,912.02435,2015-01-01 02:32:04,bin9124,35, +CTSPillarNetworkA,9125,9125,9125,1994-12-26,912.2000000001389,912.1243,2015-01-01 02:32:05,bin9125,75, +CTSPillarNetworkA,9126,9126,9126,1994-12-27,912.3000000001389,912.2243,2015-01-01 02:32:06,bin9126,35, +CTSPillarNetworkA,9127,9127,9127,1994-12-28,912.4000000001389,912.3243,2015-01-01 02:32:07,bin9127,75, +CTSPillarNetworkA,9128,9128,9128,1994-12-29,912.5000000001389,912.42426,2015-01-01 02:32:08,bin9128,35, +CTSPillarNetworkA,9129,9129,9129,1994-12-30,912.600000000139,912.52423,2015-01-01 02:32:09,bin9129,75, +CTSPillarNetworkA,9130,9130,9130,1994-12-31,912.700000000139,912.6242,2015-01-01 02:32:10,bin9130,35, +CTSPillarNetworkA,9131,9131,9131,1995-01-01,912.800000000139,912.7242,2015-01-01 02:32:11,bin9131,75, +CTSPillarNetworkA,9132,9132,9132,1995-01-02,912.900000000139,912.82416,2015-01-01 02:32:12,bin9132,35, +CTSPillarNetworkA,9133,9133,9133,1995-01-03,913.000000000139,912.92413,2015-01-01 02:32:13,bin9133,75, +CTSPillarNetworkA,9134,9134,9134,1995-01-04,913.1000000001391,913.0241,2015-01-01 02:32:14,bin9134,35, +CTSPillarNetworkA,9135,9135,9135,1995-01-05,913.2000000001391,913.1241,2015-01-01 02:32:15,bin9135,75, +CTSPillarNetworkA,9136,9136,9136,1995-01-06,913.3000000001391,913.22406,2015-01-01 02:32:16,bin9136,35, +CTSPillarNetworkA,9137,9137,9137,1995-01-07,913.4000000001391,913.32404,2015-01-01 02:32:17,bin9137,75, +CTSPillarNetworkA,9138,9138,9138,1995-01-08,913.5000000001392,913.424,2015-01-01 02:32:18,bin9138,35, +CTSPillarNetworkA,9139,9139,9139,1995-01-09,913.6000000001392,913.524,2015-01-01 02:32:19,bin9139,75, +CTSPillarNetworkA,9140,9140,9140,1995-01-10,913.7000000001392,913.62396,2015-01-01 02:32:20,bin9140,35, +CTSPillarNetworkA,9141,9141,9141,1995-01-11,913.8000000001392,913.72394,2015-01-01 02:32:21,bin9141,75, +CTSPillarNetworkA,9142,9142,9142,1995-01-12,913.9000000001392,913.8239,2015-01-01 02:32:22,bin9142,35, +CTSPillarNetworkA,9143,9143,9143,1995-01-13,914.0000000001393,913.9239,2015-01-01 02:32:23,bin9143,75, +CTSPillarNetworkA,9144,9144,9144,1995-01-14,914.1000000001393,914.02386,2015-01-01 02:32:24,bin9144,35, +CTSPillarNetworkA,9145,9145,9145,1995-01-15,914.2000000001393,914.12384,2015-01-01 02:32:25,bin9145,75, +CTSPillarNetworkA,9146,9146,9146,1995-01-16,914.3000000001393,914.2238,2015-01-01 02:32:26,bin9146,35, +CTSPillarNetworkA,9147,9147,9147,1995-01-17,914.4000000001394,914.3238,2015-01-01 02:32:27,bin9147,75, +CTSPillarNetworkA,9148,9148,9148,1995-01-18,914.5000000001394,914.42377,2015-01-01 02:32:28,bin9148,35, +CTSPillarNetworkA,9149,9149,9149,1995-01-19,914.6000000001394,914.52374,2015-01-01 02:32:29,bin9149,75, +CTSPillarNetworkA,9150,9150,9150,1995-01-20,914.7000000001394,914.6237,2015-01-01 02:32:30,bin9150,35, +CTSPillarNetworkA,9151,9151,9151,1995-01-21,914.8000000001394,914.7237,2015-01-01 02:32:31,bin9151,75, +CTSPillarNetworkA,9152,9152,9152,1995-01-22,914.9000000001395,914.82367,2015-01-01 02:32:32,bin9152,35, +CTSPillarNetworkA,9153,9153,9153,1995-01-23,915.0000000001395,914.92365,2015-01-01 02:32:33,bin9153,75, +CTSPillarNetworkA,9154,9154,9154,1995-01-24,915.1000000001395,915.0236,2015-01-01 02:32:34,bin9154,35, +CTSPillarNetworkA,9155,9155,9155,1995-01-25,915.2000000001395,915.1236,2015-01-01 02:32:35,bin9155,75, +CTSPillarNetworkA,9156,9156,9156,1995-01-26,915.3000000001396,915.2236,2015-01-01 02:32:36,bin9156,35, +CTSPillarNetworkA,9157,9157,9157,1995-01-27,915.4000000001396,915.32355,2015-01-01 02:32:37,bin9157,75, +CTSPillarNetworkA,9158,9158,9158,1995-01-28,915.5000000001396,915.4235,2015-01-01 02:32:38,bin9158,35, +CTSPillarNetworkA,9159,9159,9159,1995-01-29,915.6000000001396,915.5235,2015-01-01 02:32:39,bin9159,75, +CTSPillarNetworkA,9160,9160,9160,1995-01-30,915.7000000001397,915.6235,2015-01-01 02:32:40,bin9160,35, +CTSPillarNetworkA,9161,9161,9161,1995-01-31,915.8000000001397,915.72345,2015-01-01 02:32:41,bin9161,75, +CTSPillarNetworkA,9162,9162,9162,1995-02-01,915.9000000001397,915.8234,2015-01-01 02:32:42,bin9162,35, +CTSPillarNetworkA,9163,9163,9163,1995-02-02,916.0000000001397,915.9234,2015-01-01 02:32:43,bin9163,75, +CTSPillarNetworkA,9164,9164,9164,1995-02-03,916.1000000001397,916.0234,2015-01-01 02:32:44,bin9164,35, +CTSPillarNetworkA,9165,9165,9165,1995-02-04,916.2000000001398,916.12335,2015-01-01 02:32:45,bin9165,75, +CTSPillarNetworkA,9166,9166,9166,1995-02-05,916.3000000001398,916.2233,2015-01-01 02:32:46,bin9166,35, +CTSPillarNetworkA,9167,9167,9167,1995-02-06,916.4000000001398,916.3233,2015-01-01 02:32:47,bin9167,75, +CTSPillarNetworkA,9168,9168,9168,1995-02-07,916.5000000001398,916.4233,2015-01-01 02:32:48,bin9168,35, +CTSPillarNetworkA,9169,9169,9169,1995-02-08,916.6000000001399,916.52325,2015-01-01 02:32:49,bin9169,75, +CTSPillarNetworkA,9170,9170,9170,1995-02-09,916.7000000001399,916.6232,2015-01-01 02:32:50,bin9170,35, +CTSPillarNetworkA,9171,9171,9171,1995-02-10,916.8000000001399,916.7232,2015-01-01 02:32:51,bin9171,75, +CTSPillarNetworkA,9172,9172,9172,1995-02-11,916.9000000001399,916.8232,2015-01-01 02:32:52,bin9172,35, +CTSPillarNetworkA,9173,9173,9173,1995-02-12,917.00000000014,916.92316,2015-01-01 02:32:53,bin9173,75, +CTSPillarNetworkA,9174,9174,9174,1995-02-13,917.10000000014,917.02313,2015-01-01 02:32:54,bin9174,35, +CTSPillarNetworkA,9175,9175,9175,1995-02-14,917.20000000014,917.1231,2015-01-01 02:32:55,bin9175,75, +CTSPillarNetworkA,9176,9176,9176,1995-02-15,917.30000000014,917.2231,2015-01-01 02:32:56,bin9176,35, +CTSPillarNetworkA,9177,9177,9177,1995-02-16,917.40000000014,917.32306,2015-01-01 02:32:57,bin9177,75, +CTSPillarNetworkA,9178,9178,9178,1995-02-17,917.5000000001401,917.42303,2015-01-01 02:32:58,bin9178,35, +CTSPillarNetworkA,9179,9179,9179,1995-02-18,917.6000000001401,917.523,2015-01-01 02:32:59,bin9179,75, +CTSPillarNetworkA,9180,9180,9180,1995-02-19,917.7000000001401,917.623,2015-01-01 02:33:00,bin9180,35, +CTSPillarNetworkA,9181,9181,9181,1995-02-20,917.8000000001401,917.72296,2015-01-01 02:33:01,bin9181,75, +CTSPillarNetworkA,9182,9182,9182,1995-02-21,917.9000000001402,917.82294,2015-01-01 02:33:02,bin9182,35, +CTSPillarNetworkA,9183,9183,9183,1995-02-22,918.0000000001402,917.9229,2015-01-01 02:33:03,bin9183,75, +CTSPillarNetworkA,9184,9184,9184,1995-02-23,918.1000000001402,918.0229,2015-01-01 02:33:04,bin9184,35, +CTSPillarNetworkA,9185,9185,9185,1995-02-24,918.2000000001402,918.12286,2015-01-01 02:33:05,bin9185,75, +CTSPillarNetworkA,9186,9186,9186,1995-02-25,918.3000000001402,918.22284,2015-01-01 02:33:06,bin9186,35, +CTSPillarNetworkA,9187,9187,9187,1995-02-26,918.4000000001403,918.3228,2015-01-01 02:33:07,bin9187,75, +CTSPillarNetworkA,9188,9188,9188,1995-02-27,918.5000000001403,918.4228,2015-01-01 02:33:08,bin9188,35, +CTSPillarNetworkA,9189,9189,9189,1995-02-28,918.6000000001403,918.52277,2015-01-01 02:33:09,bin9189,75, +CTSPillarNetworkA,9190,9190,9190,1995-03-01,918.7000000001403,918.62274,2015-01-01 02:33:10,bin9190,35, +CTSPillarNetworkA,9191,9191,9191,1995-03-02,918.8000000001404,918.7227,2015-01-01 02:33:11,bin9191,75, +CTSPillarNetworkA,9192,9192,9192,1995-03-03,918.9000000001404,918.8227,2015-01-01 02:33:12,bin9192,35, +CTSPillarNetworkA,9193,9193,9193,1995-03-04,919.0000000001404,918.92267,2015-01-01 02:33:13,bin9193,75, +CTSPillarNetworkA,9194,9194,9194,1995-03-05,919.1000000001404,919.02264,2015-01-01 02:33:14,bin9194,35, +CTSPillarNetworkA,9195,9195,9195,1995-03-06,919.2000000001404,919.1226,2015-01-01 02:33:15,bin9195,75, +CTSPillarNetworkA,9196,9196,9196,1995-03-07,919.3000000001405,919.2226,2015-01-01 02:33:16,bin9196,35, +CTSPillarNetworkA,9197,9197,9197,1995-03-08,919.4000000001405,919.3226,2015-01-01 02:33:17,bin9197,75, +CTSPillarNetworkA,9198,9198,9198,1995-03-09,919.5000000001405,919.42255,2015-01-01 02:33:18,bin9198,35, +CTSPillarNetworkA,9199,9199,9199,1995-03-10,919.6000000001405,919.5225,2015-01-01 02:33:19,bin9199,75, +CTSPillarNetworkA,9200,9200,9200,1995-03-11,919.7000000001406,919.6225,2015-01-01 02:33:20,bin9200,35, +CTSPillarNetworkA,9201,9201,9201,1995-03-12,919.8000000001406,919.7225,2015-01-01 02:33:21,bin9201,75, +CTSPillarNetworkA,9202,9202,9202,1995-03-13,919.9000000001406,919.82245,2015-01-01 02:33:22,bin9202,35, +CTSPillarNetworkA,9203,9203,9203,1995-03-14,920.0000000001406,919.9224,2015-01-01 02:33:23,bin9203,75, +CTSPillarNetworkA,9204,9204,9204,1995-03-15,920.1000000001407,920.0224,2015-01-01 02:33:24,bin9204,35, +CTSPillarNetworkA,9205,9205,9205,1995-03-16,920.2000000001407,920.1224,2015-01-01 02:33:25,bin9205,75, +CTSPillarNetworkA,9206,9206,9206,1995-03-17,920.3000000001407,920.22235,2015-01-01 02:33:26,bin9206,35, +CTSPillarNetworkA,9207,9207,9207,1995-03-18,920.4000000001407,920.3223,2015-01-01 02:33:27,bin9207,75, +CTSPillarNetworkA,9208,9208,9208,1995-03-19,920.5000000001407,920.4223,2015-01-01 02:33:28,bin9208,35, +CTSPillarNetworkA,9209,9209,9209,1995-03-20,920.6000000001408,920.5223,2015-01-01 02:33:29,bin9209,75, +CTSPillarNetworkA,9210,9210,9210,1995-03-21,920.7000000001408,920.62225,2015-01-01 02:33:30,bin9210,35, +CTSPillarNetworkA,9211,9211,9211,1995-03-22,920.8000000001408,920.7222,2015-01-01 02:33:31,bin9211,75, +CTSPillarNetworkA,9212,9212,9212,1995-03-23,920.9000000001408,920.8222,2015-01-01 02:33:32,bin9212,35, +CTSPillarNetworkA,9213,9213,9213,1995-03-24,921.0000000001409,920.9222,2015-01-01 02:33:33,bin9213,75, +CTSPillarNetworkA,9214,9214,9214,1995-03-25,921.1000000001409,921.02216,2015-01-01 02:33:34,bin9214,35, +CTSPillarNetworkA,9215,9215,9215,1995-03-26,921.2000000001409,921.12213,2015-01-01 02:33:35,bin9215,75, +CTSPillarNetworkA,9216,9216,9216,1995-03-27,921.3000000001409,921.2221,2015-01-01 02:33:36,bin9216,35, +CTSPillarNetworkA,9217,9217,9217,1995-03-28,921.400000000141,921.3221,2015-01-01 02:33:37,bin9217,75, +CTSPillarNetworkA,9218,9218,9218,1995-03-29,921.500000000141,921.42206,2015-01-01 02:33:38,bin9218,35, +CTSPillarNetworkA,9219,9219,9219,1995-03-30,921.600000000141,921.52203,2015-01-01 02:33:39,bin9219,75, +CTSPillarNetworkA,9220,9220,9220,1995-03-31,921.700000000141,921.622,2015-01-01 02:33:40,bin9220,35, +CTSPillarNetworkA,9221,9221,9221,1995-04-01,921.800000000141,921.722,2015-01-01 02:33:41,bin9221,75, +CTSPillarNetworkA,9222,9222,9222,1995-04-02,921.9000000001411,921.82196,2015-01-01 02:33:42,bin9222,35, +CTSPillarNetworkA,9223,9223,9223,1995-04-03,922.0000000001411,921.92194,2015-01-01 02:33:43,bin9223,75, +CTSPillarNetworkA,9224,9224,9224,1995-04-04,922.1000000001411,922.0219,2015-01-01 02:33:44,bin9224,35, +CTSPillarNetworkA,9225,9225,9225,1995-04-05,922.2000000001411,922.1219,2015-01-01 02:33:45,bin9225,75, +CTSPillarNetworkA,9226,9226,9226,1995-04-06,922.3000000001412,922.22186,2015-01-01 02:33:46,bin9226,35, +CTSPillarNetworkA,9227,9227,9227,1995-04-07,922.4000000001412,922.32184,2015-01-01 02:33:47,bin9227,75, +CTSPillarNetworkA,9228,9228,9228,1995-04-08,922.5000000001412,922.4218,2015-01-01 02:33:48,bin9228,35, +CTSPillarNetworkA,9229,9229,9229,1995-04-09,922.6000000001412,922.5218,2015-01-01 02:33:49,bin9229,75, +CTSPillarNetworkA,9230,9230,9230,1995-04-10,922.7000000001412,922.62177,2015-01-01 02:33:50,bin9230,35, +CTSPillarNetworkA,9231,9231,9231,1995-04-11,922.8000000001413,922.72174,2015-01-01 02:33:51,bin9231,75, +CTSPillarNetworkA,9232,9232,9232,1995-04-12,922.9000000001413,922.8217,2015-01-01 02:33:52,bin9232,35, +CTSPillarNetworkA,9233,9233,9233,1995-04-13,923.0000000001413,922.9217,2015-01-01 02:33:53,bin9233,75, +CTSPillarNetworkA,9234,9234,9234,1995-04-14,923.1000000001413,923.02167,2015-01-01 02:33:54,bin9234,35, +CTSPillarNetworkA,9235,9235,9235,1995-04-15,923.2000000001414,923.12164,2015-01-01 02:33:55,bin9235,75, +CTSPillarNetworkA,9236,9236,9236,1995-04-16,923.3000000001414,923.2216,2015-01-01 02:33:56,bin9236,35, +CTSPillarNetworkA,9237,9237,9237,1995-04-17,923.4000000001414,923.3216,2015-01-01 02:33:57,bin9237,75, +CTSPillarNetworkA,9238,9238,9238,1995-04-18,923.5000000001414,923.4216,2015-01-01 02:33:58,bin9238,35, +CTSPillarNetworkA,9239,9239,9239,1995-04-19,923.6000000001414,923.52155,2015-01-01 02:33:59,bin9239,75, +CTSPillarNetworkA,9240,9240,9240,1995-04-20,923.7000000001415,923.6215,2015-01-01 02:34:00,bin9240,35, +CTSPillarNetworkA,9241,9241,9241,1995-04-21,923.8000000001415,923.7215,2015-01-01 02:34:01,bin9241,75, +CTSPillarNetworkA,9242,9242,9242,1995-04-22,923.9000000001415,923.8215,2015-01-01 02:34:02,bin9242,35, +CTSPillarNetworkA,9243,9243,9243,1995-04-23,924.0000000001415,923.92145,2015-01-01 02:34:03,bin9243,75, +CTSPillarNetworkA,9244,9244,9244,1995-04-24,924.1000000001416,924.0214,2015-01-01 02:34:04,bin9244,35, +CTSPillarNetworkA,9245,9245,9245,1995-04-25,924.2000000001416,924.1214,2015-01-01 02:34:05,bin9245,75, +CTSPillarNetworkA,9246,9246,9246,1995-04-26,924.3000000001416,924.2214,2015-01-01 02:34:06,bin9246,35, +CTSPillarNetworkA,9247,9247,9247,1995-04-27,924.4000000001416,924.32135,2015-01-01 02:34:07,bin9247,75, +CTSPillarNetworkA,9248,9248,9248,1995-04-28,924.5000000001417,924.4213,2015-01-01 02:34:08,bin9248,35, +CTSPillarNetworkA,9249,9249,9249,1995-04-29,924.6000000001417,924.5213,2015-01-01 02:34:09,bin9249,75, +CTSPillarNetworkA,9250,9250,9250,1995-04-30,924.7000000001417,924.6213,2015-01-01 02:34:10,bin9250,35, +CTSPillarNetworkA,9251,9251,9251,1995-05-01,924.8000000001417,924.72125,2015-01-01 02:34:11,bin9251,75, +CTSPillarNetworkA,9252,9252,9252,1995-05-02,924.9000000001417,924.8212,2015-01-01 02:34:12,bin9252,35, +CTSPillarNetworkA,9253,9253,9253,1995-05-03,925.0000000001418,924.9212,2015-01-01 02:34:13,bin9253,75, +CTSPillarNetworkA,9254,9254,9254,1995-05-04,925.1000000001418,925.0212,2015-01-01 02:34:14,bin9254,35, +CTSPillarNetworkA,9255,9255,9255,1995-05-05,925.2000000001418,925.12115,2015-01-01 02:34:15,bin9255,75, +CTSPillarNetworkA,9256,9256,9256,1995-05-06,925.3000000001418,925.2211,2015-01-01 02:34:16,bin9256,35, +CTSPillarNetworkA,9257,9257,9257,1995-05-07,925.4000000001419,925.3211,2015-01-01 02:34:17,bin9257,75, +CTSPillarNetworkA,9258,9258,9258,1995-05-08,925.5000000001419,925.4211,2015-01-01 02:34:18,bin9258,35, +CTSPillarNetworkA,9259,9259,9259,1995-05-09,925.6000000001419,925.52106,2015-01-01 02:34:19,bin9259,75, +CTSPillarNetworkA,9260,9260,9260,1995-05-10,925.7000000001419,925.62103,2015-01-01 02:34:20,bin9260,35, +CTSPillarNetworkA,9261,9261,9261,1995-05-11,925.800000000142,925.721,2015-01-01 02:34:21,bin9261,75, +CTSPillarNetworkA,9262,9262,9262,1995-05-12,925.900000000142,925.821,2015-01-01 02:34:22,bin9262,35, +CTSPillarNetworkA,9263,9263,9263,1995-05-13,926.000000000142,925.92096,2015-01-01 02:34:23,bin9263,75, +CTSPillarNetworkA,9264,9264,9264,1995-05-14,926.100000000142,926.02094,2015-01-01 02:34:24,bin9264,35, +CTSPillarNetworkA,9265,9265,9265,1995-05-15,926.200000000142,926.1209,2015-01-01 02:34:25,bin9265,75, +CTSPillarNetworkA,9266,9266,9266,1995-05-16,926.3000000001421,926.2209,2015-01-01 02:34:26,bin9266,35, +CTSPillarNetworkA,9267,9267,9267,1995-05-17,926.4000000001421,926.32086,2015-01-01 02:34:27,bin9267,75, +CTSPillarNetworkA,9268,9268,9268,1995-05-18,926.5000000001421,926.42084,2015-01-01 02:34:28,bin9268,35, +CTSPillarNetworkA,9269,9269,9269,1995-05-19,926.6000000001421,926.5208,2015-01-01 02:34:29,bin9269,75, +CTSPillarNetworkA,9270,9270,9270,1995-05-20,926.7000000001422,926.6208,2015-01-01 02:34:30,bin9270,35, +CTSPillarNetworkA,9271,9271,9271,1995-05-21,926.8000000001422,926.72076,2015-01-01 02:34:31,bin9271,75, +CTSPillarNetworkA,9272,9272,9272,1995-05-22,926.9000000001422,926.82074,2015-01-01 02:34:32,bin9272,35, +CTSPillarNetworkA,9273,9273,9273,1995-05-23,927.0000000001422,926.9207,2015-01-01 02:34:33,bin9273,75, +CTSPillarNetworkA,9274,9274,9274,1995-05-24,927.1000000001422,927.0207,2015-01-01 02:34:34,bin9274,35, +CTSPillarNetworkA,9275,9275,9275,1995-05-25,927.2000000001423,927.12067,2015-01-01 02:34:35,bin9275,75, +CTSPillarNetworkA,9276,9276,9276,1995-05-26,927.3000000001423,927.22064,2015-01-01 02:34:36,bin9276,35, +CTSPillarNetworkA,9277,9277,9277,1995-05-27,927.4000000001423,927.3206,2015-01-01 02:34:37,bin9277,75, +CTSPillarNetworkA,9278,9278,9278,1995-05-28,927.5000000001423,927.4206,2015-01-01 02:34:38,bin9278,35, +CTSPillarNetworkA,9279,9279,9279,1995-05-29,927.6000000001424,927.52057,2015-01-01 02:34:39,bin9279,75, +CTSPillarNetworkA,9280,9280,9280,1995-05-30,927.7000000001424,927.62054,2015-01-01 02:34:40,bin9280,35, +CTSPillarNetworkA,9281,9281,9281,1995-05-31,927.8000000001424,927.7205,2015-01-01 02:34:41,bin9281,75, +CTSPillarNetworkA,9282,9282,9282,1995-06-01,927.9000000001424,927.8205,2015-01-01 02:34:42,bin9282,35, +CTSPillarNetworkA,9283,9283,9283,1995-06-02,928.0000000001424,927.9205,2015-01-01 02:34:43,bin9283,75, +CTSPillarNetworkA,9284,9284,9284,1995-06-03,928.1000000001425,928.02045,2015-01-01 02:34:44,bin9284,35, +CTSPillarNetworkA,9285,9285,9285,1995-06-04,928.2000000001425,928.1204,2015-01-01 02:34:45,bin9285,75, +CTSPillarNetworkA,9286,9286,9286,1995-06-05,928.3000000001425,928.2204,2015-01-01 02:34:46,bin9286,35, +CTSPillarNetworkA,9287,9287,9287,1995-06-06,928.4000000001425,928.3204,2015-01-01 02:34:47,bin9287,75, +CTSPillarNetworkA,9288,9288,9288,1995-06-07,928.5000000001426,928.42035,2015-01-01 02:34:48,bin9288,35, +CTSPillarNetworkA,9289,9289,9289,1995-06-08,928.6000000001426,928.5203,2015-01-01 02:34:49,bin9289,75, +CTSPillarNetworkA,9290,9290,9290,1995-06-09,928.7000000001426,928.6203,2015-01-01 02:34:50,bin9290,35, +CTSPillarNetworkA,9291,9291,9291,1995-06-10,928.8000000001426,928.7203,2015-01-01 02:34:51,bin9291,75, +CTSPillarNetworkA,9292,9292,9292,1995-06-11,928.9000000001427,928.82025,2015-01-01 02:34:52,bin9292,35, +CTSPillarNetworkA,9293,9293,9293,1995-06-12,929.0000000001427,928.9202,2015-01-01 02:34:53,bin9293,75, +CTSPillarNetworkA,9294,9294,9294,1995-06-13,929.1000000001427,929.0202,2015-01-01 02:34:54,bin9294,35, +CTSPillarNetworkA,9295,9295,9295,1995-06-14,929.2000000001427,929.1202,2015-01-01 02:34:55,bin9295,75, +CTSPillarNetworkA,9296,9296,9296,1995-06-15,929.3000000001427,929.22015,2015-01-01 02:34:56,bin9296,35, +CTSPillarNetworkA,9297,9297,9297,1995-06-16,929.4000000001428,929.3201,2015-01-01 02:34:57,bin9297,75, +CTSPillarNetworkA,9298,9298,9298,1995-06-17,929.5000000001428,929.4201,2015-01-01 02:34:58,bin9298,35, +CTSPillarNetworkA,9299,9299,9299,1995-06-18,929.6000000001428,929.5201,2015-01-01 02:34:59,bin9299,75, +CTSPillarNetworkA,9300,9300,9300,1995-06-19,929.7000000001428,929.62006,2015-01-01 02:35:00,bin9300,35, +CTSPillarNetworkA,9301,9301,9301,1995-06-20,929.8000000001429,929.72003,2015-01-01 02:35:01,bin9301,75, +CTSPillarNetworkA,9302,9302,9302,1995-06-21,929.9000000001429,929.82,2015-01-01 02:35:02,bin9302,35, +CTSPillarNetworkA,9303,9303,9303,1995-06-22,930.0000000001429,929.92,2015-01-01 02:35:03,bin9303,75, +CTSPillarNetworkA,9304,9304,9304,1995-06-23,930.1000000001429,930.01996,2015-01-01 02:35:04,bin9304,35, +CTSPillarNetworkA,9305,9305,9305,1995-06-24,930.200000000143,930.11993,2015-01-01 02:35:05,bin9305,75, +CTSPillarNetworkA,9306,9306,9306,1995-06-25,930.300000000143,930.2199,2015-01-01 02:35:06,bin9306,35, +CTSPillarNetworkA,9307,9307,9307,1995-06-26,930.400000000143,930.3199,2015-01-01 02:35:07,bin9307,75, +CTSPillarNetworkA,9308,9308,9308,1995-06-27,930.500000000143,930.41986,2015-01-01 02:35:08,bin9308,35, +CTSPillarNetworkA,9309,9309,9309,1995-06-28,930.600000000143,930.51984,2015-01-01 02:35:09,bin9309,75, +CTSPillarNetworkA,9310,9310,9310,1995-06-29,930.7000000001431,930.6198,2015-01-01 02:35:10,bin9310,35, +CTSPillarNetworkA,9311,9311,9311,1995-06-30,930.8000000001431,930.7198,2015-01-01 02:35:11,bin9311,75, +CTSPillarNetworkA,9312,9312,9312,1995-07-01,930.9000000001431,930.81976,2015-01-01 02:35:12,bin9312,35, +CTSPillarNetworkA,9313,9313,9313,1995-07-02,931.0000000001431,930.91974,2015-01-01 02:35:13,bin9313,75, +CTSPillarNetworkA,9314,9314,9314,1995-07-03,931.1000000001432,931.0197,2015-01-01 02:35:14,bin9314,35, +CTSPillarNetworkA,9315,9315,9315,1995-07-04,931.2000000001432,931.1197,2015-01-01 02:35:15,bin9315,75, +CTSPillarNetworkA,9316,9316,9316,1995-07-05,931.3000000001432,931.21967,2015-01-01 02:35:16,bin9316,35, +CTSPillarNetworkA,9317,9317,9317,1995-07-06,931.4000000001432,931.31964,2015-01-01 02:35:17,bin9317,75, +CTSPillarNetworkA,9318,9318,9318,1995-07-07,931.5000000001432,931.4196,2015-01-01 02:35:18,bin9318,35, +CTSPillarNetworkA,9319,9319,9319,1995-07-08,931.6000000001433,931.5196,2015-01-01 02:35:19,bin9319,75, +CTSPillarNetworkA,9320,9320,9320,1995-07-09,931.7000000001433,931.61957,2015-01-01 02:35:20,bin9320,35, +CTSPillarNetworkA,9321,9321,9321,1995-07-10,931.8000000001433,931.71954,2015-01-01 02:35:21,bin9321,75, +CTSPillarNetworkA,9322,9322,9322,1995-07-11,931.9000000001433,931.8195,2015-01-01 02:35:22,bin9322,35, +CTSPillarNetworkA,9323,9323,9323,1995-07-12,932.0000000001434,931.9195,2015-01-01 02:35:23,bin9323,75, +CTSPillarNetworkA,9324,9324,9324,1995-07-13,932.1000000001434,932.0195,2015-01-01 02:35:24,bin9324,35, +CTSPillarNetworkA,9325,9325,9325,1995-07-14,932.2000000001434,932.11945,2015-01-01 02:35:25,bin9325,75, +CTSPillarNetworkA,9326,9326,9326,1995-07-15,932.3000000001434,932.2194,2015-01-01 02:35:26,bin9326,35, +CTSPillarNetworkA,9327,9327,9327,1995-07-16,932.4000000001435,932.3194,2015-01-01 02:35:27,bin9327,75, +CTSPillarNetworkA,9328,9328,9328,1995-07-17,932.5000000001435,932.4194,2015-01-01 02:35:28,bin9328,35, +CTSPillarNetworkA,9329,9329,9329,1995-07-18,932.6000000001435,932.51935,2015-01-01 02:35:29,bin9329,75, +CTSPillarNetworkA,9330,9330,9330,1995-07-19,932.7000000001435,932.6193,2015-01-01 02:35:30,bin9330,35, +CTSPillarNetworkA,9331,9331,9331,1995-07-20,932.8000000001435,932.7193,2015-01-01 02:35:31,bin9331,75, +CTSPillarNetworkA,9332,9332,9332,1995-07-21,932.9000000001436,932.8193,2015-01-01 02:35:32,bin9332,35, +CTSPillarNetworkA,9333,9333,9333,1995-07-22,933.0000000001436,932.91925,2015-01-01 02:35:33,bin9333,75, +CTSPillarNetworkA,9334,9334,9334,1995-07-23,933.1000000001436,933.0192,2015-01-01 02:35:34,bin9334,35, +CTSPillarNetworkA,9335,9335,9335,1995-07-24,933.2000000001436,933.1192,2015-01-01 02:35:35,bin9335,75, +CTSPillarNetworkA,9336,9336,9336,1995-07-25,933.3000000001437,933.2192,2015-01-01 02:35:36,bin9336,35, +CTSPillarNetworkA,9337,9337,9337,1995-07-26,933.4000000001437,933.31915,2015-01-01 02:35:37,bin9337,75, +CTSPillarNetworkA,9338,9338,9338,1995-07-27,933.5000000001437,933.4191,2015-01-01 02:35:38,bin9338,35, +CTSPillarNetworkA,9339,9339,9339,1995-07-28,933.6000000001437,933.5191,2015-01-01 02:35:39,bin9339,75, +CTSPillarNetworkA,9340,9340,9340,1995-07-29,933.7000000001437,933.6191,2015-01-01 02:35:40,bin9340,35, +CTSPillarNetworkA,9341,9341,9341,1995-07-30,933.8000000001438,933.71906,2015-01-01 02:35:41,bin9341,75, +CTSPillarNetworkA,9342,9342,9342,1995-07-31,933.9000000001438,933.81903,2015-01-01 02:35:42,bin9342,35, +CTSPillarNetworkA,9343,9343,9343,1995-08-01,934.0000000001438,933.919,2015-01-01 02:35:43,bin9343,75, +CTSPillarNetworkA,9344,9344,9344,1995-08-02,934.1000000001438,934.019,2015-01-01 02:35:44,bin9344,35, +CTSPillarNetworkA,9345,9345,9345,1995-08-03,934.2000000001439,934.11896,2015-01-01 02:35:45,bin9345,75, +CTSPillarNetworkA,9346,9346,9346,1995-08-04,934.3000000001439,934.21893,2015-01-01 02:35:46,bin9346,35, +CTSPillarNetworkA,9347,9347,9347,1995-08-05,934.4000000001439,934.3189,2015-01-01 02:35:47,bin9347,75, +CTSPillarNetworkA,9348,9348,9348,1995-08-06,934.5000000001439,934.4189,2015-01-01 02:35:48,bin9348,35, +CTSPillarNetworkA,9349,9349,9349,1995-08-07,934.600000000144,934.51886,2015-01-01 02:35:49,bin9349,75, +CTSPillarNetworkA,9350,9350,9350,1995-08-08,934.700000000144,934.61884,2015-01-01 02:35:50,bin9350,35, +CTSPillarNetworkA,9351,9351,9351,1995-08-09,934.800000000144,934.7188,2015-01-01 02:35:51,bin9351,75, +CTSPillarNetworkA,9352,9352,9352,1995-08-10,934.900000000144,934.8188,2015-01-01 02:35:52,bin9352,35, +CTSPillarNetworkA,9353,9353,9353,1995-08-11,935.000000000144,934.91876,2015-01-01 02:35:53,bin9353,75, +CTSPillarNetworkA,9354,9354,9354,1995-08-12,935.1000000001441,935.01874,2015-01-01 02:35:54,bin9354,35, +CTSPillarNetworkA,9355,9355,9355,1995-08-13,935.2000000001441,935.1187,2015-01-01 02:35:55,bin9355,75, +CTSPillarNetworkA,9356,9356,9356,1995-08-14,935.3000000001441,935.2187,2015-01-01 02:35:56,bin9356,35, +CTSPillarNetworkA,9357,9357,9357,1995-08-15,935.4000000001441,935.31866,2015-01-01 02:35:57,bin9357,75, +CTSPillarNetworkA,9358,9358,9358,1995-08-16,935.5000000001442,935.41864,2015-01-01 02:35:58,bin9358,35, +CTSPillarNetworkA,9359,9359,9359,1995-08-17,935.6000000001442,935.5186,2015-01-01 02:35:59,bin9359,75, +CTSPillarNetworkA,9360,9360,9360,1995-08-18,935.7000000001442,935.6186,2015-01-01 02:36:00,bin9360,35, +CTSPillarNetworkA,9361,9361,9361,1995-08-19,935.8000000001442,935.71857,2015-01-01 02:36:01,bin9361,75, +CTSPillarNetworkA,9362,9362,9362,1995-08-20,935.9000000001442,935.81854,2015-01-01 02:36:02,bin9362,35, +CTSPillarNetworkA,9363,9363,9363,1995-08-21,936.0000000001443,935.9185,2015-01-01 02:36:03,bin9363,75, +CTSPillarNetworkA,9364,9364,9364,1995-08-22,936.1000000001443,936.0185,2015-01-01 02:36:04,bin9364,35, +CTSPillarNetworkA,9365,9365,9365,1995-08-23,936.2000000001443,936.11847,2015-01-01 02:36:05,bin9365,75, +CTSPillarNetworkA,9366,9366,9366,1995-08-24,936.3000000001443,936.21844,2015-01-01 02:36:06,bin9366,35, +CTSPillarNetworkA,9367,9367,9367,1995-08-25,936.4000000001444,936.3184,2015-01-01 02:36:07,bin9367,75, +CTSPillarNetworkA,9368,9368,9368,1995-08-26,936.5000000001444,936.4184,2015-01-01 02:36:08,bin9368,35, +CTSPillarNetworkA,9369,9369,9369,1995-08-27,936.6000000001444,936.5184,2015-01-01 02:36:09,bin9369,75, +CTSPillarNetworkA,9370,9370,9370,1995-08-28,936.7000000001444,936.61835,2015-01-01 02:36:10,bin9370,35, +CTSPillarNetworkA,9371,9371,9371,1995-08-29,936.8000000001445,936.7183,2015-01-01 02:36:11,bin9371,75, +CTSPillarNetworkA,9372,9372,9372,1995-08-30,936.9000000001445,936.8183,2015-01-01 02:36:12,bin9372,35, +CTSPillarNetworkA,9373,9373,9373,1995-08-31,937.0000000001445,936.9183,2015-01-01 02:36:13,bin9373,75, +CTSPillarNetworkA,9374,9374,9374,1995-09-01,937.1000000001445,937.01825,2015-01-01 02:36:14,bin9374,35, +CTSPillarNetworkA,9375,9375,9375,1995-09-02,937.2000000001445,937.1182,2015-01-01 02:36:15,bin9375,75, +CTSPillarNetworkA,9376,9376,9376,1995-09-03,937.3000000001446,937.2182,2015-01-01 02:36:16,bin9376,35, +CTSPillarNetworkA,9377,9377,9377,1995-09-04,937.4000000001446,937.3182,2015-01-01 02:36:17,bin9377,75, +CTSPillarNetworkA,9378,9378,9378,1995-09-05,937.5000000001446,937.41815,2015-01-01 02:36:18,bin9378,35, +CTSPillarNetworkA,9379,9379,9379,1995-09-06,937.6000000001446,937.5181,2015-01-01 02:36:19,bin9379,75, +CTSPillarNetworkA,9380,9380,9380,1995-09-07,937.7000000001447,937.6181,2015-01-01 02:36:20,bin9380,35, +CTSPillarNetworkA,9381,9381,9381,1995-09-08,937.8000000001447,937.7181,2015-01-01 02:36:21,bin9381,75, +CTSPillarNetworkA,9382,9382,9382,1995-09-09,937.9000000001447,937.81805,2015-01-01 02:36:22,bin9382,35, +CTSPillarNetworkA,9383,9383,9383,1995-09-10,938.0000000001447,937.918,2015-01-01 02:36:23,bin9383,75, +CTSPillarNetworkA,9384,9384,9384,1995-09-11,938.1000000001447,938.018,2015-01-01 02:36:24,bin9384,35, +CTSPillarNetworkA,9385,9385,9385,1995-09-12,938.2000000001448,938.118,2015-01-01 02:36:25,bin9385,75, +CTSPillarNetworkA,9386,9386,9386,1995-09-13,938.3000000001448,938.21796,2015-01-01 02:36:26,bin9386,35, +CTSPillarNetworkA,9387,9387,9387,1995-09-14,938.4000000001448,938.31793,2015-01-01 02:36:27,bin9387,75, +CTSPillarNetworkA,9388,9388,9388,1995-09-15,938.5000000001448,938.4179,2015-01-01 02:36:28,bin9388,35, +CTSPillarNetworkA,9389,9389,9389,1995-09-16,938.6000000001449,938.5179,2015-01-01 02:36:29,bin9389,75, +CTSPillarNetworkA,9390,9390,9390,1995-09-17,938.7000000001449,938.61786,2015-01-01 02:36:30,bin9390,35, +CTSPillarNetworkA,9391,9391,9391,1995-09-18,938.8000000001449,938.71783,2015-01-01 02:36:31,bin9391,75, +CTSPillarNetworkA,9392,9392,9392,1995-09-19,938.9000000001449,938.8178,2015-01-01 02:36:32,bin9392,35, +CTSPillarNetworkA,9393,9393,9393,1995-09-20,939.000000000145,938.9178,2015-01-01 02:36:33,bin9393,75, +CTSPillarNetworkA,9394,9394,9394,1995-09-21,939.100000000145,939.01776,2015-01-01 02:36:34,bin9394,35, +CTSPillarNetworkA,9395,9395,9395,1995-09-22,939.200000000145,939.11774,2015-01-01 02:36:35,bin9395,75, +CTSPillarNetworkA,9396,9396,9396,1995-09-23,939.300000000145,939.2177,2015-01-01 02:36:36,bin9396,35, +CTSPillarNetworkA,9397,9397,9397,1995-09-24,939.400000000145,939.3177,2015-01-01 02:36:37,bin9397,75, +CTSPillarNetworkA,9398,9398,9398,1995-09-25,939.5000000001451,939.41766,2015-01-01 02:36:38,bin9398,35, +CTSPillarNetworkA,9399,9399,9399,1995-09-26,939.6000000001451,939.51764,2015-01-01 02:36:39,bin9399,75, +CTSPillarNetworkA,9400,9400,9400,1995-09-27,939.7000000001451,939.6176,2015-01-01 02:36:40,bin9400,35, +CTSPillarNetworkA,9401,9401,9401,1995-09-28,939.8000000001451,939.7176,2015-01-01 02:36:41,bin9401,75, +CTSPillarNetworkA,9402,9402,9402,1995-09-29,939.9000000001452,939.81757,2015-01-01 02:36:42,bin9402,35, +CTSPillarNetworkA,9403,9403,9403,1995-09-30,940.0000000001452,939.91754,2015-01-01 02:36:43,bin9403,75, +CTSPillarNetworkA,9404,9404,9404,1995-10-01,940.1000000001452,940.0175,2015-01-01 02:36:44,bin9404,35, +CTSPillarNetworkA,9405,9405,9405,1995-10-02,940.2000000001452,940.1175,2015-01-01 02:36:45,bin9405,75, +CTSPillarNetworkA,9406,9406,9406,1995-10-03,940.3000000001452,940.21747,2015-01-01 02:36:46,bin9406,35, +CTSPillarNetworkA,9407,9407,9407,1995-10-04,940.4000000001453,940.31744,2015-01-01 02:36:47,bin9407,75, +CTSPillarNetworkA,9408,9408,9408,1995-10-05,940.5000000001453,940.4174,2015-01-01 02:36:48,bin9408,35, +CTSPillarNetworkA,9409,9409,9409,1995-10-06,940.6000000001453,940.5174,2015-01-01 02:36:49,bin9409,75, +CTSPillarNetworkA,9410,9410,9410,1995-10-07,940.7000000001453,940.6174,2015-01-01 02:36:50,bin9410,35, +CTSPillarNetworkA,9411,9411,9411,1995-10-08,940.8000000001454,940.71735,2015-01-01 02:36:51,bin9411,75, +CTSPillarNetworkA,9412,9412,9412,1995-10-09,940.9000000001454,940.8173,2015-01-01 02:36:52,bin9412,35, +CTSPillarNetworkA,9413,9413,9413,1995-10-10,941.0000000001454,940.9173,2015-01-01 02:36:53,bin9413,75, +CTSPillarNetworkA,9414,9414,9414,1995-10-11,941.1000000001454,941.0173,2015-01-01 02:36:54,bin9414,35, +CTSPillarNetworkA,9415,9415,9415,1995-10-12,941.2000000001455,941.11725,2015-01-01 02:36:55,bin9415,75, +CTSPillarNetworkA,9416,9416,9416,1995-10-13,941.3000000001455,941.2172,2015-01-01 02:36:56,bin9416,35, +CTSPillarNetworkA,9417,9417,9417,1995-10-14,941.4000000001455,941.3172,2015-01-01 02:36:57,bin9417,75, +CTSPillarNetworkA,9418,9418,9418,1995-10-15,941.5000000001455,941.4172,2015-01-01 02:36:58,bin9418,35, +CTSPillarNetworkA,9419,9419,9419,1995-10-16,941.6000000001455,941.51715,2015-01-01 02:36:59,bin9419,75, +CTSPillarNetworkA,9420,9420,9420,1995-10-17,941.7000000001456,941.6171,2015-01-01 02:37:00,bin9420,35, +CTSPillarNetworkA,9421,9421,9421,1995-10-18,941.8000000001456,941.7171,2015-01-01 02:37:01,bin9421,75, +CTSPillarNetworkA,9422,9422,9422,1995-10-19,941.9000000001456,941.8171,2015-01-01 02:37:02,bin9422,35, +CTSPillarNetworkA,9423,9423,9423,1995-10-20,942.0000000001456,941.91705,2015-01-01 02:37:03,bin9423,75, +CTSPillarNetworkA,9424,9424,9424,1995-10-21,942.1000000001457,942.017,2015-01-01 02:37:04,bin9424,35, +CTSPillarNetworkA,9425,9425,9425,1995-10-22,942.2000000001457,942.117,2015-01-01 02:37:05,bin9425,75, +CTSPillarNetworkA,9426,9426,9426,1995-10-23,942.3000000001457,942.217,2015-01-01 02:37:06,bin9426,35, +CTSPillarNetworkA,9427,9427,9427,1995-10-24,942.4000000001457,942.31696,2015-01-01 02:37:07,bin9427,75, +CTSPillarNetworkA,9428,9428,9428,1995-10-25,942.5000000001457,942.41693,2015-01-01 02:37:08,bin9428,35, +CTSPillarNetworkA,9429,9429,9429,1995-10-26,942.6000000001458,942.5169,2015-01-01 02:37:09,bin9429,75, +CTSPillarNetworkA,9430,9430,9430,1995-10-27,942.7000000001458,942.6169,2015-01-01 02:37:10,bin9430,35, +CTSPillarNetworkA,9431,9431,9431,1995-10-28,942.8000000001458,942.71686,2015-01-01 02:37:11,bin9431,75, +CTSPillarNetworkA,9432,9432,9432,1995-10-29,942.9000000001458,942.81683,2015-01-01 02:37:12,bin9432,35, +CTSPillarNetworkA,9433,9433,9433,1995-10-30,943.0000000001459,942.9168,2015-01-01 02:37:13,bin9433,75, +CTSPillarNetworkA,9434,9434,9434,1995-10-31,943.1000000001459,943.0168,2015-01-01 02:37:14,bin9434,35, +CTSPillarNetworkA,9435,9435,9435,1995-11-01,943.2000000001459,943.11676,2015-01-01 02:37:15,bin9435,75, +CTSPillarNetworkA,9436,9436,9436,1995-11-02,943.3000000001459,943.21674,2015-01-01 02:37:16,bin9436,35, +CTSPillarNetworkA,9437,9437,9437,1995-11-03,943.400000000146,943.3167,2015-01-01 02:37:17,bin9437,75, +CTSPillarNetworkA,9438,9438,9438,1995-11-04,943.500000000146,943.4167,2015-01-01 02:37:18,bin9438,35, +CTSPillarNetworkA,9439,9439,9439,1995-11-05,943.600000000146,943.51666,2015-01-01 02:37:19,bin9439,75, +CTSPillarNetworkA,9440,9440,9440,1995-11-06,943.700000000146,943.61664,2015-01-01 02:37:20,bin9440,35, +CTSPillarNetworkA,9441,9441,9441,1995-11-07,943.800000000146,943.7166,2015-01-01 02:37:21,bin9441,75, +CTSPillarNetworkA,9442,9442,9442,1995-11-08,943.9000000001461,943.8166,2015-01-01 02:37:22,bin9442,35, +CTSPillarNetworkA,9443,9443,9443,1995-11-09,944.0000000001461,943.91656,2015-01-01 02:37:23,bin9443,75, +CTSPillarNetworkA,9444,9444,9444,1995-11-10,944.1000000001461,944.01654,2015-01-01 02:37:24,bin9444,35, +CTSPillarNetworkA,9445,9445,9445,1995-11-11,944.2000000001461,944.1165,2015-01-01 02:37:25,bin9445,75, +CTSPillarNetworkA,9446,9446,9446,1995-11-12,944.3000000001462,944.2165,2015-01-01 02:37:26,bin9446,35, +CTSPillarNetworkA,9447,9447,9447,1995-11-13,944.4000000001462,944.31647,2015-01-01 02:37:27,bin9447,75, +CTSPillarNetworkA,9448,9448,9448,1995-11-14,944.5000000001462,944.41644,2015-01-01 02:37:28,bin9448,35, +CTSPillarNetworkA,9449,9449,9449,1995-11-15,944.6000000001462,944.5164,2015-01-01 02:37:29,bin9449,75, +CTSPillarNetworkA,9450,9450,9450,1995-11-16,944.7000000001462,944.6164,2015-01-01 02:37:30,bin9450,35, +CTSPillarNetworkA,9451,9451,9451,1995-11-17,944.8000000001463,944.7164,2015-01-01 02:37:31,bin9451,75, +CTSPillarNetworkA,9452,9452,9452,1995-11-18,944.9000000001463,944.81635,2015-01-01 02:37:32,bin9452,35, +CTSPillarNetworkA,9453,9453,9453,1995-11-19,945.0000000001463,944.9163,2015-01-01 02:37:33,bin9453,75, +CTSPillarNetworkA,9454,9454,9454,1995-11-20,945.1000000001463,945.0163,2015-01-01 02:37:34,bin9454,35, +CTSPillarNetworkA,9455,9455,9455,1995-11-21,945.2000000001464,945.1163,2015-01-01 02:37:35,bin9455,75, +CTSPillarNetworkA,9456,9456,9456,1995-11-22,945.3000000001464,945.21625,2015-01-01 02:37:36,bin9456,35, +CTSPillarNetworkA,9457,9457,9457,1995-11-23,945.4000000001464,945.3162,2015-01-01 02:37:37,bin9457,75, +CTSPillarNetworkA,9458,9458,9458,1995-11-24,945.5000000001464,945.4162,2015-01-01 02:37:38,bin9458,35, +CTSPillarNetworkA,9459,9459,9459,1995-11-25,945.6000000001465,945.5162,2015-01-01 02:37:39,bin9459,75, +CTSPillarNetworkA,9460,9460,9460,1995-11-26,945.7000000001465,945.61615,2015-01-01 02:37:40,bin9460,35, +CTSPillarNetworkA,9461,9461,9461,1995-11-27,945.8000000001465,945.7161,2015-01-01 02:37:41,bin9461,75, +CTSPillarNetworkA,9462,9462,9462,1995-11-28,945.9000000001465,945.8161,2015-01-01 02:37:42,bin9462,35, +CTSPillarNetworkA,9463,9463,9463,1995-11-29,946.0000000001465,945.9161,2015-01-01 02:37:43,bin9463,75, +CTSPillarNetworkA,9464,9464,9464,1995-11-30,946.1000000001466,946.01605,2015-01-01 02:37:44,bin9464,35, +CTSPillarNetworkA,9465,9465,9465,1995-12-01,946.2000000001466,946.116,2015-01-01 02:37:45,bin9465,75, +CTSPillarNetworkA,9466,9466,9466,1995-12-02,946.3000000001466,946.216,2015-01-01 02:37:46,bin9466,35, +CTSPillarNetworkA,9467,9467,9467,1995-12-03,946.4000000001466,946.316,2015-01-01 02:37:47,bin9467,75, +CTSPillarNetworkA,9468,9468,9468,1995-12-04,946.5000000001467,946.41595,2015-01-01 02:37:48,bin9468,35, +CTSPillarNetworkA,9469,9469,9469,1995-12-05,946.6000000001467,946.5159,2015-01-01 02:37:49,bin9469,75, +CTSPillarNetworkA,9470,9470,9470,1995-12-06,946.7000000001467,946.6159,2015-01-01 02:37:50,bin9470,35, +CTSPillarNetworkA,9471,9471,9471,1995-12-07,946.8000000001467,946.7159,2015-01-01 02:37:51,bin9471,75, +CTSPillarNetworkA,9472,9472,9472,1995-12-08,946.9000000001467,946.81586,2015-01-01 02:37:52,bin9472,35, +CTSPillarNetworkA,9473,9473,9473,1995-12-09,947.0000000001468,946.91583,2015-01-01 02:37:53,bin9473,75, +CTSPillarNetworkA,9474,9474,9474,1995-12-10,947.1000000001468,947.0158,2015-01-01 02:37:54,bin9474,35, +CTSPillarNetworkA,9475,9475,9475,1995-12-11,947.2000000001468,947.1158,2015-01-01 02:37:55,bin9475,75, +CTSPillarNetworkA,9476,9476,9476,1995-12-12,947.3000000001468,947.21576,2015-01-01 02:37:56,bin9476,35, +CTSPillarNetworkA,9477,9477,9477,1995-12-13,947.4000000001469,947.31573,2015-01-01 02:37:57,bin9477,75, +CTSPillarNetworkA,9478,9478,9478,1995-12-14,947.5000000001469,947.4157,2015-01-01 02:37:58,bin9478,35, +CTSPillarNetworkA,9479,9479,9479,1995-12-15,947.6000000001469,947.5157,2015-01-01 02:37:59,bin9479,75, +CTSPillarNetworkA,9480,9480,9480,1995-12-16,947.7000000001469,947.61566,2015-01-01 02:38:00,bin9480,35, +CTSPillarNetworkA,9481,9481,9481,1995-12-17,947.800000000147,947.71564,2015-01-01 02:38:01,bin9481,75, +CTSPillarNetworkA,9482,9482,9482,1995-12-18,947.900000000147,947.8156,2015-01-01 02:38:02,bin9482,35, +CTSPillarNetworkA,9483,9483,9483,1995-12-19,948.000000000147,947.9156,2015-01-01 02:38:03,bin9483,75, +CTSPillarNetworkA,9484,9484,9484,1995-12-20,948.100000000147,948.01556,2015-01-01 02:38:04,bin9484,35, +CTSPillarNetworkA,9485,9485,9485,1995-12-21,948.200000000147,948.11554,2015-01-01 02:38:05,bin9485,75, +CTSPillarNetworkA,9486,9486,9486,1995-12-22,948.3000000001471,948.2155,2015-01-01 02:38:06,bin9486,35, +CTSPillarNetworkA,9487,9487,9487,1995-12-23,948.4000000001471,948.3155,2015-01-01 02:38:07,bin9487,75, +CTSPillarNetworkA,9488,9488,9488,1995-12-24,948.5000000001471,948.41547,2015-01-01 02:38:08,bin9488,35, +CTSPillarNetworkA,9489,9489,9489,1995-12-25,948.6000000001471,948.51544,2015-01-01 02:38:09,bin9489,75, +CTSPillarNetworkA,9490,9490,9490,1995-12-26,948.7000000001472,948.6154,2015-01-01 02:38:10,bin9490,35, +CTSPillarNetworkA,9491,9491,9491,1995-12-27,948.8000000001472,948.7154,2015-01-01 02:38:11,bin9491,75, +CTSPillarNetworkA,9492,9492,9492,1995-12-28,948.9000000001472,948.81537,2015-01-01 02:38:12,bin9492,35, +CTSPillarNetworkA,9493,9493,9493,1995-12-29,949.0000000001472,948.91534,2015-01-01 02:38:13,bin9493,75, +CTSPillarNetworkA,9494,9494,9494,1995-12-30,949.1000000001472,949.0153,2015-01-01 02:38:14,bin9494,35, +CTSPillarNetworkA,9495,9495,9495,1995-12-31,949.2000000001473,949.1153,2015-01-01 02:38:15,bin9495,75, +CTSPillarNetworkA,9496,9496,9496,1996-01-01,949.3000000001473,949.2153,2015-01-01 02:38:16,bin9496,35, +CTSPillarNetworkA,9497,9497,9497,1996-01-02,949.4000000001473,949.31525,2015-01-01 02:38:17,bin9497,75, +CTSPillarNetworkA,9498,9498,9498,1996-01-03,949.5000000001473,949.4152,2015-01-01 02:38:18,bin9498,35, +CTSPillarNetworkA,9499,9499,9499,1996-01-04,949.6000000001474,949.5152,2015-01-01 02:38:19,bin9499,75, +CTSPillarNetworkA,9500,9500,9500,1996-01-05,949.7000000001474,949.6152,2015-01-01 02:38:20,bin9500,35, +CTSPillarNetworkA,9501,9501,9501,1996-01-06,949.8000000001474,949.71515,2015-01-01 02:38:21,bin9501,75, +CTSPillarNetworkA,9502,9502,9502,1996-01-07,949.9000000001474,949.8151,2015-01-01 02:38:22,bin9502,35, +CTSPillarNetworkA,9503,9503,9503,1996-01-08,950.0000000001475,949.9151,2015-01-01 02:38:23,bin9503,75, +CTSPillarNetworkA,9504,9504,9504,1996-01-09,950.1000000001475,950.0151,2015-01-01 02:38:24,bin9504,35, +CTSPillarNetworkA,9505,9505,9505,1996-01-10,950.2000000001475,950.11505,2015-01-01 02:38:25,bin9505,75, +CTSPillarNetworkA,9506,9506,9506,1996-01-11,950.3000000001475,950.215,2015-01-01 02:38:26,bin9506,35, +CTSPillarNetworkA,9507,9507,9507,1996-01-12,950.4000000001475,950.315,2015-01-01 02:38:27,bin9507,75, +CTSPillarNetworkA,9508,9508,9508,1996-01-13,950.5000000001476,950.415,2015-01-01 02:38:28,bin9508,35, +CTSPillarNetworkA,9509,9509,9509,1996-01-14,950.6000000001476,950.51495,2015-01-01 02:38:29,bin9509,75, +CTSPillarNetworkA,9510,9510,9510,1996-01-15,950.7000000001476,950.6149,2015-01-01 02:38:30,bin9510,35, +CTSPillarNetworkA,9511,9511,9511,1996-01-16,950.8000000001476,950.7149,2015-01-01 02:38:31,bin9511,75, +CTSPillarNetworkA,9512,9512,9512,1996-01-17,950.9000000001477,950.8149,2015-01-01 02:38:32,bin9512,35, +CTSPillarNetworkA,9513,9513,9513,1996-01-18,951.0000000001477,950.91486,2015-01-01 02:38:33,bin9513,75, +CTSPillarNetworkA,9514,9514,9514,1996-01-19,951.1000000001477,951.01483,2015-01-01 02:38:34,bin9514,35, +CTSPillarNetworkA,9515,9515,9515,1996-01-20,951.2000000001477,951.1148,2015-01-01 02:38:35,bin9515,75, +CTSPillarNetworkA,9516,9516,9516,1996-01-21,951.3000000001477,951.2148,2015-01-01 02:38:36,bin9516,35, +CTSPillarNetworkA,9517,9517,9517,1996-01-22,951.4000000001478,951.31476,2015-01-01 02:38:37,bin9517,75, +CTSPillarNetworkA,9518,9518,9518,1996-01-23,951.5000000001478,951.41473,2015-01-01 02:38:38,bin9518,35, +CTSPillarNetworkA,9519,9519,9519,1996-01-24,951.6000000001478,951.5147,2015-01-01 02:38:39,bin9519,75, +CTSPillarNetworkA,9520,9520,9520,1996-01-25,951.7000000001478,951.6147,2015-01-01 02:38:40,bin9520,35, +CTSPillarNetworkA,9521,9521,9521,1996-01-26,951.8000000001479,951.71466,2015-01-01 02:38:41,bin9521,75, +CTSPillarNetworkA,9522,9522,9522,1996-01-27,951.9000000001479,951.81464,2015-01-01 02:38:42,bin9522,35, +CTSPillarNetworkA,9523,9523,9523,1996-01-28,952.0000000001479,951.9146,2015-01-01 02:38:43,bin9523,75, +CTSPillarNetworkA,9524,9524,9524,1996-01-29,952.1000000001479,952.0146,2015-01-01 02:38:44,bin9524,35, +CTSPillarNetworkA,9525,9525,9525,1996-01-30,952.200000000148,952.11456,2015-01-01 02:38:45,bin9525,75, +CTSPillarNetworkA,9526,9526,9526,1996-01-31,952.300000000148,952.21454,2015-01-01 02:38:46,bin9526,35, +CTSPillarNetworkA,9527,9527,9527,1996-02-01,952.400000000148,952.3145,2015-01-01 02:38:47,bin9527,75, +CTSPillarNetworkA,9528,9528,9528,1996-02-02,952.500000000148,952.4145,2015-01-01 02:38:48,bin9528,35, +CTSPillarNetworkA,9529,9529,9529,1996-02-03,952.600000000148,952.51447,2015-01-01 02:38:49,bin9529,75, +CTSPillarNetworkA,9530,9530,9530,1996-02-04,952.7000000001481,952.61444,2015-01-01 02:38:50,bin9530,35, +CTSPillarNetworkA,9531,9531,9531,1996-02-05,952.8000000001481,952.7144,2015-01-01 02:38:51,bin9531,75, +CTSPillarNetworkA,9532,9532,9532,1996-02-06,952.9000000001481,952.8144,2015-01-01 02:38:52,bin9532,35, +CTSPillarNetworkA,9533,9533,9533,1996-02-07,953.0000000001481,952.91437,2015-01-01 02:38:53,bin9533,75, +CTSPillarNetworkA,9534,9534,9534,1996-02-08,953.1000000001482,953.01434,2015-01-01 02:38:54,bin9534,35, +CTSPillarNetworkA,9535,9535,9535,1996-02-09,953.2000000001482,953.1143,2015-01-01 02:38:55,bin9535,75, +CTSPillarNetworkA,9536,9536,9536,1996-02-10,953.3000000001482,953.2143,2015-01-01 02:38:56,bin9536,35, +CTSPillarNetworkA,9537,9537,9537,1996-02-11,953.4000000001482,953.3143,2015-01-01 02:38:57,bin9537,75, +CTSPillarNetworkA,9538,9538,9538,1996-02-12,953.5000000001482,953.41425,2015-01-01 02:38:58,bin9538,35, +CTSPillarNetworkA,9539,9539,9539,1996-02-13,953.6000000001483,953.5142,2015-01-01 02:38:59,bin9539,75, +CTSPillarNetworkA,9540,9540,9540,1996-02-14,953.7000000001483,953.6142,2015-01-01 02:39:00,bin9540,35, +CTSPillarNetworkA,9541,9541,9541,1996-02-15,953.8000000001483,953.7142,2015-01-01 02:39:01,bin9541,75, +CTSPillarNetworkA,9542,9542,9542,1996-02-16,953.9000000001483,953.81415,2015-01-01 02:39:02,bin9542,35, +CTSPillarNetworkA,9543,9543,9543,1996-02-17,954.0000000001484,953.9141,2015-01-01 02:39:03,bin9543,75, +CTSPillarNetworkA,9544,9544,9544,1996-02-18,954.1000000001484,954.0141,2015-01-01 02:39:04,bin9544,35, +CTSPillarNetworkA,9545,9545,9545,1996-02-19,954.2000000001484,954.1141,2015-01-01 02:39:05,bin9545,75, +CTSPillarNetworkA,9546,9546,9546,1996-02-20,954.3000000001484,954.21405,2015-01-01 02:39:06,bin9546,35, +CTSPillarNetworkA,9547,9547,9547,1996-02-21,954.4000000001485,954.314,2015-01-01 02:39:07,bin9547,75, +CTSPillarNetworkA,9548,9548,9548,1996-02-22,954.5000000001485,954.414,2015-01-01 02:39:08,bin9548,35, +CTSPillarNetworkA,9549,9549,9549,1996-02-23,954.6000000001485,954.514,2015-01-01 02:39:09,bin9549,75, +CTSPillarNetworkA,9550,9550,9550,1996-02-24,954.7000000001485,954.61395,2015-01-01 02:39:10,bin9550,35, +CTSPillarNetworkA,9551,9551,9551,1996-02-25,954.8000000001485,954.7139,2015-01-01 02:39:11,bin9551,75, +CTSPillarNetworkA,9552,9552,9552,1996-02-26,954.9000000001486,954.8139,2015-01-01 02:39:12,bin9552,35, +CTSPillarNetworkA,9553,9553,9553,1996-02-27,955.0000000001486,954.9139,2015-01-01 02:39:13,bin9553,75, +CTSPillarNetworkA,9554,9554,9554,1996-02-28,955.1000000001486,955.01385,2015-01-01 02:39:14,bin9554,35, +CTSPillarNetworkA,9555,9555,9555,1996-02-29,955.2000000001486,955.11383,2015-01-01 02:39:15,bin9555,75, +CTSPillarNetworkA,9556,9556,9556,1996-03-01,955.3000000001487,955.2138,2015-01-01 02:39:16,bin9556,35, +CTSPillarNetworkA,9557,9557,9557,1996-03-02,955.4000000001487,955.3138,2015-01-01 02:39:17,bin9557,75, +CTSPillarNetworkA,9558,9558,9558,1996-03-03,955.5000000001487,955.41376,2015-01-01 02:39:18,bin9558,35, +CTSPillarNetworkA,9559,9559,9559,1996-03-04,955.6000000001487,955.51373,2015-01-01 02:39:19,bin9559,75, +CTSPillarNetworkA,9560,9560,9560,1996-03-05,955.7000000001487,955.6137,2015-01-01 02:39:20,bin9560,35, +CTSPillarNetworkA,9561,9561,9561,1996-03-06,955.8000000001488,955.7137,2015-01-01 02:39:21,bin9561,75, +CTSPillarNetworkA,9562,9562,9562,1996-03-07,955.9000000001488,955.81366,2015-01-01 02:39:22,bin9562,35, +CTSPillarNetworkA,9563,9563,9563,1996-03-08,956.0000000001488,955.91364,2015-01-01 02:39:23,bin9563,75, +CTSPillarNetworkA,9564,9564,9564,1996-03-09,956.1000000001488,956.0136,2015-01-01 02:39:24,bin9564,35, +CTSPillarNetworkA,9565,9565,9565,1996-03-10,956.2000000001489,956.1136,2015-01-01 02:39:25,bin9565,75, +CTSPillarNetworkA,9566,9566,9566,1996-03-11,956.3000000001489,956.21356,2015-01-01 02:39:26,bin9566,35, +CTSPillarNetworkA,9567,9567,9567,1996-03-12,956.4000000001489,956.31354,2015-01-01 02:39:27,bin9567,75, +CTSPillarNetworkA,9568,9568,9568,1996-03-13,956.5000000001489,956.4135,2015-01-01 02:39:28,bin9568,35, +CTSPillarNetworkA,9569,9569,9569,1996-03-14,956.600000000149,956.5135,2015-01-01 02:39:29,bin9569,75, +CTSPillarNetworkA,9570,9570,9570,1996-03-15,956.700000000149,956.61346,2015-01-01 02:39:30,bin9570,35, +CTSPillarNetworkA,9571,9571,9571,1996-03-16,956.800000000149,956.71344,2015-01-01 02:39:31,bin9571,75, +CTSPillarNetworkA,9572,9572,9572,1996-03-17,956.900000000149,956.8134,2015-01-01 02:39:32,bin9572,35, +CTSPillarNetworkA,9573,9573,9573,1996-03-18,957.000000000149,956.9134,2015-01-01 02:39:33,bin9573,75, +CTSPillarNetworkA,9574,9574,9574,1996-03-19,957.1000000001491,957.01337,2015-01-01 02:39:34,bin9574,35, +CTSPillarNetworkA,9575,9575,9575,1996-03-20,957.2000000001491,957.11334,2015-01-01 02:39:35,bin9575,75, +CTSPillarNetworkA,9576,9576,9576,1996-03-21,957.3000000001491,957.2133,2015-01-01 02:39:36,bin9576,35, +CTSPillarNetworkA,9577,9577,9577,1996-03-22,957.4000000001491,957.3133,2015-01-01 02:39:37,bin9577,75, +CTSPillarNetworkA,9578,9578,9578,1996-03-23,957.5000000001492,957.41327,2015-01-01 02:39:38,bin9578,35, +CTSPillarNetworkA,9579,9579,9579,1996-03-24,957.6000000001492,957.51324,2015-01-01 02:39:39,bin9579,75, +CTSPillarNetworkA,9580,9580,9580,1996-03-25,957.7000000001492,957.6132,2015-01-01 02:39:40,bin9580,35, +CTSPillarNetworkA,9581,9581,9581,1996-03-26,957.8000000001492,957.7132,2015-01-01 02:39:41,bin9581,75, +CTSPillarNetworkA,9582,9582,9582,1996-03-27,957.9000000001492,957.8132,2015-01-01 02:39:42,bin9582,35, +CTSPillarNetworkA,9583,9583,9583,1996-03-28,958.0000000001493,957.91315,2015-01-01 02:39:43,bin9583,75, +CTSPillarNetworkA,9584,9584,9584,1996-03-29,958.1000000001493,958.0131,2015-01-01 02:39:44,bin9584,35, +CTSPillarNetworkA,9585,9585,9585,1996-03-30,958.2000000001493,958.1131,2015-01-01 02:39:45,bin9585,75, +CTSPillarNetworkA,9586,9586,9586,1996-03-31,958.3000000001493,958.2131,2015-01-01 02:39:46,bin9586,35, +CTSPillarNetworkA,9587,9587,9587,1996-04-01,958.4000000001494,958.31305,2015-01-01 02:39:47,bin9587,75, +CTSPillarNetworkA,9588,9588,9588,1996-04-02,958.5000000001494,958.413,2015-01-01 02:39:48,bin9588,35, +CTSPillarNetworkA,9589,9589,9589,1996-04-03,958.6000000001494,958.513,2015-01-01 02:39:49,bin9589,75, +CTSPillarNetworkA,9590,9590,9590,1996-04-04,958.7000000001494,958.613,2015-01-01 02:39:50,bin9590,35, +CTSPillarNetworkA,9591,9591,9591,1996-04-05,958.8000000001495,958.71295,2015-01-01 02:39:51,bin9591,75, +CTSPillarNetworkA,9592,9592,9592,1996-04-06,958.9000000001495,958.8129,2015-01-01 02:39:52,bin9592,35, +CTSPillarNetworkA,9593,9593,9593,1996-04-07,959.0000000001495,958.9129,2015-01-01 02:39:53,bin9593,75, +CTSPillarNetworkA,9594,9594,9594,1996-04-08,959.1000000001495,959.0129,2015-01-01 02:39:54,bin9594,35, +CTSPillarNetworkA,9595,9595,9595,1996-04-09,959.2000000001495,959.11285,2015-01-01 02:39:55,bin9595,75, +CTSPillarNetworkA,9596,9596,9596,1996-04-10,959.3000000001496,959.2128,2015-01-01 02:39:56,bin9596,35, +CTSPillarNetworkA,9597,9597,9597,1996-04-11,959.4000000001496,959.3128,2015-01-01 02:39:57,bin9597,75, +CTSPillarNetworkA,9598,9598,9598,1996-04-12,959.5000000001496,959.4128,2015-01-01 02:39:58,bin9598,35, +CTSPillarNetworkA,9599,9599,9599,1996-04-13,959.6000000001496,959.51276,2015-01-01 02:39:59,bin9599,75, +CTSPillarNetworkA,9600,9600,9600,1996-04-14,959.7000000001497,959.61273,2015-01-01 02:40:00,bin9600,35, +CTSPillarNetworkA,9601,9601,9601,1996-04-15,959.8000000001497,959.7127,2015-01-01 02:40:01,bin9601,75, +CTSPillarNetworkA,9602,9602,9602,1996-04-16,959.9000000001497,959.8127,2015-01-01 02:40:02,bin9602,35, +CTSPillarNetworkA,9603,9603,9603,1996-04-17,960.0000000001497,959.91266,2015-01-01 02:40:03,bin9603,75, +CTSPillarNetworkA,9604,9604,9604,1996-04-18,960.1000000001497,960.01263,2015-01-01 02:40:04,bin9604,35, +CTSPillarNetworkA,9605,9605,9605,1996-04-19,960.2000000001498,960.1126,2015-01-01 02:40:05,bin9605,75, +CTSPillarNetworkA,9606,9606,9606,1996-04-20,960.3000000001498,960.2126,2015-01-01 02:40:06,bin9606,35, +CTSPillarNetworkA,9607,9607,9607,1996-04-21,960.4000000001498,960.31256,2015-01-01 02:40:07,bin9607,75, +CTSPillarNetworkA,9608,9608,9608,1996-04-22,960.5000000001498,960.41254,2015-01-01 02:40:08,bin9608,35, +CTSPillarNetworkA,9609,9609,9609,1996-04-23,960.6000000001499,960.5125,2015-01-01 02:40:09,bin9609,75, +CTSPillarNetworkA,9610,9610,9610,1996-04-24,960.7000000001499,960.6125,2015-01-01 02:40:10,bin9610,35, +CTSPillarNetworkA,9611,9611,9611,1996-04-25,960.8000000001499,960.71246,2015-01-01 02:40:11,bin9611,75, +CTSPillarNetworkA,9612,9612,9612,1996-04-26,960.9000000001499,960.81244,2015-01-01 02:40:12,bin9612,35, +CTSPillarNetworkA,9613,9613,9613,1996-04-27,961.00000000015,960.9124,2015-01-01 02:40:13,bin9613,75, +CTSPillarNetworkA,9614,9614,9614,1996-04-28,961.10000000015,961.0124,2015-01-01 02:40:14,bin9614,35, +CTSPillarNetworkA,9615,9615,9615,1996-04-29,961.20000000015,961.11237,2015-01-01 02:40:15,bin9615,75, +CTSPillarNetworkA,9616,9616,9616,1996-04-30,961.30000000015,961.21234,2015-01-01 02:40:16,bin9616,35, +CTSPillarNetworkA,9617,9617,9617,1996-05-01,961.40000000015,961.3123,2015-01-01 02:40:17,bin9617,75, +CTSPillarNetworkA,9618,9618,9618,1996-05-02,961.5000000001501,961.4123,2015-01-01 02:40:18,bin9618,35, +CTSPillarNetworkA,9619,9619,9619,1996-05-03,961.6000000001501,961.51227,2015-01-01 02:40:19,bin9619,75, +CTSPillarNetworkA,9620,9620,9620,1996-05-04,961.7000000001501,961.61224,2015-01-01 02:40:20,bin9620,35, +CTSPillarNetworkA,9621,9621,9621,1996-05-05,961.8000000001501,961.7122,2015-01-01 02:40:21,bin9621,75, +CTSPillarNetworkA,9622,9622,9622,1996-05-06,961.9000000001502,961.8122,2015-01-01 02:40:22,bin9622,35, +CTSPillarNetworkA,9623,9623,9623,1996-05-07,962.0000000001502,961.9122,2015-01-01 02:40:23,bin9623,75, +CTSPillarNetworkA,9624,9624,9624,1996-05-08,962.1000000001502,962.01215,2015-01-01 02:40:24,bin9624,35, +CTSPillarNetworkA,9625,9625,9625,1996-05-09,962.2000000001502,962.1121,2015-01-01 02:40:25,bin9625,75, +CTSPillarNetworkA,9626,9626,9626,1996-05-10,962.3000000001502,962.2121,2015-01-01 02:40:26,bin9626,35, +CTSPillarNetworkA,9627,9627,9627,1996-05-11,962.4000000001503,962.3121,2015-01-01 02:40:27,bin9627,75, +CTSPillarNetworkA,9628,9628,9628,1996-05-12,962.5000000001503,962.41205,2015-01-01 02:40:28,bin9628,35, +CTSPillarNetworkA,9629,9629,9629,1996-05-13,962.6000000001503,962.512,2015-01-01 02:40:29,bin9629,75, +CTSPillarNetworkA,9630,9630,9630,1996-05-14,962.7000000001503,962.612,2015-01-01 02:40:30,bin9630,35, +CTSPillarNetworkA,9631,9631,9631,1996-05-15,962.8000000001504,962.712,2015-01-01 02:40:31,bin9631,75, +CTSPillarNetworkA,9632,9632,9632,1996-05-16,962.9000000001504,962.81195,2015-01-01 02:40:32,bin9632,35, +CTSPillarNetworkA,9633,9633,9633,1996-05-17,963.0000000001504,962.9119,2015-01-01 02:40:33,bin9633,75, +CTSPillarNetworkA,9634,9634,9634,1996-05-18,963.1000000001504,963.0119,2015-01-01 02:40:34,bin9634,35, +CTSPillarNetworkA,9635,9635,9635,1996-05-19,963.2000000001505,963.1119,2015-01-01 02:40:35,bin9635,75, +CTSPillarNetworkA,9636,9636,9636,1996-05-20,963.3000000001505,963.21185,2015-01-01 02:40:36,bin9636,35, +CTSPillarNetworkA,9637,9637,9637,1996-05-21,963.4000000001505,963.3118,2015-01-01 02:40:37,bin9637,75, +CTSPillarNetworkA,9638,9638,9638,1996-05-22,963.5000000001505,963.4118,2015-01-01 02:40:38,bin9638,35, +CTSPillarNetworkA,9639,9639,9639,1996-05-23,963.6000000001505,963.5118,2015-01-01 02:40:39,bin9639,75, +CTSPillarNetworkA,9640,9640,9640,1996-05-24,963.7000000001506,963.61176,2015-01-01 02:40:40,bin9640,35, +CTSPillarNetworkA,9641,9641,9641,1996-05-25,963.8000000001506,963.71173,2015-01-01 02:40:41,bin9641,75, +CTSPillarNetworkA,9642,9642,9642,1996-05-26,963.9000000001506,963.8117,2015-01-01 02:40:42,bin9642,35, +CTSPillarNetworkA,9643,9643,9643,1996-05-27,964.0000000001506,963.9117,2015-01-01 02:40:43,bin9643,75, +CTSPillarNetworkA,9644,9644,9644,1996-05-28,964.1000000001507,964.01166,2015-01-01 02:40:44,bin9644,35, +CTSPillarNetworkA,9645,9645,9645,1996-05-29,964.2000000001507,964.11163,2015-01-01 02:40:45,bin9645,75, +CTSPillarNetworkA,9646,9646,9646,1996-05-30,964.3000000001507,964.2116,2015-01-01 02:40:46,bin9646,35, +CTSPillarNetworkA,9647,9647,9647,1996-05-31,964.4000000001507,964.3116,2015-01-01 02:40:47,bin9647,75, +CTSPillarNetworkA,9648,9648,9648,1996-06-01,964.5000000001507,964.41156,2015-01-01 02:40:48,bin9648,35, +CTSPillarNetworkA,9649,9649,9649,1996-06-02,964.6000000001508,964.51154,2015-01-01 02:40:49,bin9649,75, +CTSPillarNetworkA,9650,9650,9650,1996-06-03,964.7000000001508,964.6115,2015-01-01 02:40:50,bin9650,35, +CTSPillarNetworkA,9651,9651,9651,1996-06-04,964.8000000001508,964.7115,2015-01-01 02:40:51,bin9651,75, +CTSPillarNetworkA,9652,9652,9652,1996-06-05,964.9000000001508,964.81146,2015-01-01 02:40:52,bin9652,35, +CTSPillarNetworkA,9653,9653,9653,1996-06-06,965.0000000001509,964.91144,2015-01-01 02:40:53,bin9653,75, +CTSPillarNetworkA,9654,9654,9654,1996-06-07,965.1000000001509,965.0114,2015-01-01 02:40:54,bin9654,35, +CTSPillarNetworkA,9655,9655,9655,1996-06-08,965.2000000001509,965.1114,2015-01-01 02:40:55,bin9655,75, +CTSPillarNetworkA,9656,9656,9656,1996-06-09,965.3000000001509,965.21136,2015-01-01 02:40:56,bin9656,35, +CTSPillarNetworkA,9657,9657,9657,1996-06-10,965.400000000151,965.31134,2015-01-01 02:40:57,bin9657,75, +CTSPillarNetworkA,9658,9658,9658,1996-06-11,965.500000000151,965.4113,2015-01-01 02:40:58,bin9658,35, +CTSPillarNetworkA,9659,9659,9659,1996-06-12,965.600000000151,965.5113,2015-01-01 02:40:59,bin9659,75, +CTSPillarNetworkA,9660,9660,9660,1996-06-13,965.700000000151,965.61127,2015-01-01 02:41:00,bin9660,35, +CTSPillarNetworkA,9661,9661,9661,1996-06-14,965.800000000151,965.71124,2015-01-01 02:41:01,bin9661,75, +CTSPillarNetworkA,9662,9662,9662,1996-06-15,965.9000000001511,965.8112,2015-01-01 02:41:02,bin9662,35, +CTSPillarNetworkA,9663,9663,9663,1996-06-16,966.0000000001511,965.9112,2015-01-01 02:41:03,bin9663,75, +CTSPillarNetworkA,9664,9664,9664,1996-06-17,966.1000000001511,966.01117,2015-01-01 02:41:04,bin9664,35, +CTSPillarNetworkA,9665,9665,9665,1996-06-18,966.2000000001511,966.11115,2015-01-01 02:41:05,bin9665,75, +CTSPillarNetworkA,9666,9666,9666,1996-06-19,966.3000000001512,966.2111,2015-01-01 02:41:06,bin9666,35, +CTSPillarNetworkA,9667,9667,9667,1996-06-20,966.4000000001512,966.3111,2015-01-01 02:41:07,bin9667,75, +CTSPillarNetworkA,9668,9668,9668,1996-06-21,966.5000000001512,966.4111,2015-01-01 02:41:08,bin9668,35, +CTSPillarNetworkA,9669,9669,9669,1996-06-22,966.6000000001512,966.51105,2015-01-01 02:41:09,bin9669,75, +CTSPillarNetworkA,9670,9670,9670,1996-06-23,966.7000000001512,966.611,2015-01-01 02:41:10,bin9670,35, +CTSPillarNetworkA,9671,9671,9671,1996-06-24,966.8000000001513,966.711,2015-01-01 02:41:11,bin9671,75, +CTSPillarNetworkA,9672,9672,9672,1996-06-25,966.9000000001513,966.811,2015-01-01 02:41:12,bin9672,35, +CTSPillarNetworkA,9673,9673,9673,1996-06-26,967.0000000001513,966.91095,2015-01-01 02:41:13,bin9673,75, +CTSPillarNetworkA,9674,9674,9674,1996-06-27,967.1000000001513,967.0109,2015-01-01 02:41:14,bin9674,35, +CTSPillarNetworkA,9675,9675,9675,1996-06-28,967.2000000001514,967.1109,2015-01-01 02:41:15,bin9675,75, +CTSPillarNetworkA,9676,9676,9676,1996-06-29,967.3000000001514,967.2109,2015-01-01 02:41:16,bin9676,35, +CTSPillarNetworkA,9677,9677,9677,1996-06-30,967.4000000001514,967.31085,2015-01-01 02:41:17,bin9677,75, +CTSPillarNetworkA,9678,9678,9678,1996-07-01,967.5000000001514,967.4108,2015-01-01 02:41:18,bin9678,35, +CTSPillarNetworkA,9679,9679,9679,1996-07-02,967.6000000001515,967.5108,2015-01-01 02:41:19,bin9679,75, +CTSPillarNetworkA,9680,9680,9680,1996-07-03,967.7000000001515,967.6108,2015-01-01 02:41:20,bin9680,35, +CTSPillarNetworkA,9681,9681,9681,1996-07-04,967.8000000001515,967.71075,2015-01-01 02:41:21,bin9681,75, +CTSPillarNetworkA,9682,9682,9682,1996-07-05,967.9000000001515,967.8107,2015-01-01 02:41:22,bin9682,35, +CTSPillarNetworkA,9683,9683,9683,1996-07-06,968.0000000001515,967.9107,2015-01-01 02:41:23,bin9683,75, +CTSPillarNetworkA,9684,9684,9684,1996-07-07,968.1000000001516,968.0107,2015-01-01 02:41:24,bin9684,35, +CTSPillarNetworkA,9685,9685,9685,1996-07-08,968.2000000001516,968.11066,2015-01-01 02:41:25,bin9685,75, +CTSPillarNetworkA,9686,9686,9686,1996-07-09,968.3000000001516,968.21063,2015-01-01 02:41:26,bin9686,35, +CTSPillarNetworkA,9687,9687,9687,1996-07-10,968.4000000001516,968.3106,2015-01-01 02:41:27,bin9687,75, +CTSPillarNetworkA,9688,9688,9688,1996-07-11,968.5000000001517,968.4106,2015-01-01 02:41:28,bin9688,35, +CTSPillarNetworkA,9689,9689,9689,1996-07-12,968.6000000001517,968.51056,2015-01-01 02:41:29,bin9689,75, +CTSPillarNetworkA,9690,9690,9690,1996-07-13,968.7000000001517,968.61053,2015-01-01 02:41:30,bin9690,35, +CTSPillarNetworkA,9691,9691,9691,1996-07-14,968.8000000001517,968.7105,2015-01-01 02:41:31,bin9691,75, +CTSPillarNetworkA,9692,9692,9692,1996-07-15,968.9000000001517,968.8105,2015-01-01 02:41:32,bin9692,35, +CTSPillarNetworkA,9693,9693,9693,1996-07-16,969.0000000001518,968.91046,2015-01-01 02:41:33,bin9693,75, +CTSPillarNetworkA,9694,9694,9694,1996-07-17,969.1000000001518,969.01044,2015-01-01 02:41:34,bin9694,35, +CTSPillarNetworkA,9695,9695,9695,1996-07-18,969.2000000001518,969.1104,2015-01-01 02:41:35,bin9695,75, +CTSPillarNetworkA,9696,9696,9696,1996-07-19,969.3000000001518,969.2104,2015-01-01 02:41:36,bin9696,35, +CTSPillarNetworkA,9697,9697,9697,1996-07-20,969.4000000001519,969.31036,2015-01-01 02:41:37,bin9697,75, +CTSPillarNetworkA,9698,9698,9698,1996-07-21,969.5000000001519,969.41034,2015-01-01 02:41:38,bin9698,35, +CTSPillarNetworkA,9699,9699,9699,1996-07-22,969.6000000001519,969.5103,2015-01-01 02:41:39,bin9699,75, +CTSPillarNetworkA,9700,9700,9700,1996-07-23,969.7000000001519,969.6103,2015-01-01 02:41:40,bin9700,35, +CTSPillarNetworkA,9701,9701,9701,1996-07-24,969.800000000152,969.71027,2015-01-01 02:41:41,bin9701,75, +CTSPillarNetworkA,9702,9702,9702,1996-07-25,969.900000000152,969.81024,2015-01-01 02:41:42,bin9702,35, +CTSPillarNetworkA,9703,9703,9703,1996-07-26,970.000000000152,969.9102,2015-01-01 02:41:43,bin9703,75, +CTSPillarNetworkA,9704,9704,9704,1996-07-27,970.100000000152,970.0102,2015-01-01 02:41:44,bin9704,35, +CTSPillarNetworkA,9705,9705,9705,1996-07-28,970.200000000152,970.11017,2015-01-01 02:41:45,bin9705,75, +CTSPillarNetworkA,9706,9706,9706,1996-07-29,970.3000000001521,970.21014,2015-01-01 02:41:46,bin9706,35, +CTSPillarNetworkA,9707,9707,9707,1996-07-30,970.4000000001521,970.3101,2015-01-01 02:41:47,bin9707,75, +CTSPillarNetworkA,9708,9708,9708,1996-07-31,970.5000000001521,970.4101,2015-01-01 02:41:48,bin9708,35, +CTSPillarNetworkA,9709,9709,9709,1996-08-01,970.6000000001521,970.5101,2015-01-01 02:41:49,bin9709,75, +CTSPillarNetworkA,9710,9710,9710,1996-08-02,970.7000000001522,970.61005,2015-01-01 02:41:50,bin9710,35, +CTSPillarNetworkA,9711,9711,9711,1996-08-03,970.8000000001522,970.71,2015-01-01 02:41:51,bin9711,75, +CTSPillarNetworkA,9712,9712,9712,1996-08-04,970.9000000001522,970.81,2015-01-01 02:41:52,bin9712,35, +CTSPillarNetworkA,9713,9713,9713,1996-08-05,971.0000000001522,970.91,2015-01-01 02:41:53,bin9713,75, +CTSPillarNetworkA,9714,9714,9714,1996-08-06,971.1000000001522,971.00995,2015-01-01 02:41:54,bin9714,35, +CTSPillarNetworkA,9715,9715,9715,1996-08-07,971.2000000001523,971.1099,2015-01-01 02:41:55,bin9715,75, +CTSPillarNetworkA,9716,9716,9716,1996-08-08,971.3000000001523,971.2099,2015-01-01 02:41:56,bin9716,35, +CTSPillarNetworkA,9717,9717,9717,1996-08-09,971.4000000001523,971.3099,2015-01-01 02:41:57,bin9717,75, +CTSPillarNetworkA,9718,9718,9718,1996-08-10,971.5000000001523,971.40985,2015-01-01 02:41:58,bin9718,35, +CTSPillarNetworkA,9719,9719,9719,1996-08-11,971.6000000001524,971.5098,2015-01-01 02:41:59,bin9719,75, +CTSPillarNetworkA,9720,9720,9720,1996-08-12,971.7000000001524,971.6098,2015-01-01 02:42:00,bin9720,35, +CTSPillarNetworkA,9721,9721,9721,1996-08-13,971.8000000001524,971.7098,2015-01-01 02:42:01,bin9721,75, +CTSPillarNetworkA,9722,9722,9722,1996-08-14,971.9000000001524,971.80975,2015-01-01 02:42:02,bin9722,35, +CTSPillarNetworkA,9723,9723,9723,1996-08-15,972.0000000001525,971.9097,2015-01-01 02:42:03,bin9723,75, +CTSPillarNetworkA,9724,9724,9724,1996-08-16,972.1000000001525,972.0097,2015-01-01 02:42:04,bin9724,35, +CTSPillarNetworkA,9725,9725,9725,1996-08-17,972.2000000001525,972.1097,2015-01-01 02:42:05,bin9725,75, +CTSPillarNetworkA,9726,9726,9726,1996-08-18,972.3000000001525,972.20966,2015-01-01 02:42:06,bin9726,35, +CTSPillarNetworkA,9727,9727,9727,1996-08-19,972.4000000001525,972.30963,2015-01-01 02:42:07,bin9727,75, +CTSPillarNetworkA,9728,9728,9728,1996-08-20,972.5000000001526,972.4096,2015-01-01 02:42:08,bin9728,35, +CTSPillarNetworkA,9729,9729,9729,1996-08-21,972.6000000001526,972.5096,2015-01-01 02:42:09,bin9729,75, +CTSPillarNetworkA,9730,9730,9730,1996-08-22,972.7000000001526,972.60956,2015-01-01 02:42:10,bin9730,35, +CTSPillarNetworkA,9731,9731,9731,1996-08-23,972.8000000001526,972.70953,2015-01-01 02:42:11,bin9731,75, +CTSPillarNetworkA,9732,9732,9732,1996-08-24,972.9000000001527,972.8095,2015-01-01 02:42:12,bin9732,35, +CTSPillarNetworkA,9733,9733,9733,1996-08-25,973.0000000001527,972.9095,2015-01-01 02:42:13,bin9733,75, +CTSPillarNetworkA,9734,9734,9734,1996-08-26,973.1000000001527,973.00946,2015-01-01 02:42:14,bin9734,35, +CTSPillarNetworkA,9735,9735,9735,1996-08-27,973.2000000001527,973.10944,2015-01-01 02:42:15,bin9735,75, +CTSPillarNetworkA,9736,9736,9736,1996-08-28,973.3000000001527,973.2094,2015-01-01 02:42:16,bin9736,35, +CTSPillarNetworkA,9737,9737,9737,1996-08-29,973.4000000001528,973.3094,2015-01-01 02:42:17,bin9737,75, +CTSPillarNetworkA,9738,9738,9738,1996-08-30,973.5000000001528,973.40936,2015-01-01 02:42:18,bin9738,35, +CTSPillarNetworkA,9739,9739,9739,1996-08-31,973.6000000001528,973.50934,2015-01-01 02:42:19,bin9739,75, +CTSPillarNetworkA,9740,9740,9740,1996-09-01,973.7000000001528,973.6093,2015-01-01 02:42:20,bin9740,35, +CTSPillarNetworkA,9741,9741,9741,1996-09-02,973.8000000001529,973.7093,2015-01-01 02:42:21,bin9741,75, +CTSPillarNetworkA,9742,9742,9742,1996-09-03,973.9000000001529,973.80927,2015-01-01 02:42:22,bin9742,35, +CTSPillarNetworkA,9743,9743,9743,1996-09-04,974.0000000001529,973.90924,2015-01-01 02:42:23,bin9743,75, +CTSPillarNetworkA,9744,9744,9744,1996-09-05,974.1000000001529,974.0092,2015-01-01 02:42:24,bin9744,35, +CTSPillarNetworkA,9745,9745,9745,1996-09-06,974.200000000153,974.1092,2015-01-01 02:42:25,bin9745,75, +CTSPillarNetworkA,9746,9746,9746,1996-09-07,974.300000000153,974.20917,2015-01-01 02:42:26,bin9746,35, +CTSPillarNetworkA,9747,9747,9747,1996-09-08,974.400000000153,974.30914,2015-01-01 02:42:27,bin9747,75, +CTSPillarNetworkA,9748,9748,9748,1996-09-09,974.500000000153,974.4091,2015-01-01 02:42:28,bin9748,35, +CTSPillarNetworkA,9749,9749,9749,1996-09-10,974.600000000153,974.5091,2015-01-01 02:42:29,bin9749,75, +CTSPillarNetworkA,9750,9750,9750,1996-09-11,974.7000000001531,974.6091,2015-01-01 02:42:30,bin9750,35, +CTSPillarNetworkA,9751,9751,9751,1996-09-12,974.8000000001531,974.70905,2015-01-01 02:42:31,bin9751,75, +CTSPillarNetworkA,9752,9752,9752,1996-09-13,974.9000000001531,974.809,2015-01-01 02:42:32,bin9752,35, +CTSPillarNetworkA,9753,9753,9753,1996-09-14,975.0000000001531,974.909,2015-01-01 02:42:33,bin9753,75, +CTSPillarNetworkA,9754,9754,9754,1996-09-15,975.1000000001532,975.009,2015-01-01 02:42:34,bin9754,35, +CTSPillarNetworkA,9755,9755,9755,1996-09-16,975.2000000001532,975.10895,2015-01-01 02:42:35,bin9755,75, +CTSPillarNetworkA,9756,9756,9756,1996-09-17,975.3000000001532,975.2089,2015-01-01 02:42:36,bin9756,35, +CTSPillarNetworkA,9757,9757,9757,1996-09-18,975.4000000001532,975.3089,2015-01-01 02:42:37,bin9757,75, +CTSPillarNetworkA,9758,9758,9758,1996-09-19,975.5000000001532,975.4089,2015-01-01 02:42:38,bin9758,35, +CTSPillarNetworkA,9759,9759,9759,1996-09-20,975.6000000001533,975.50885,2015-01-01 02:42:39,bin9759,75, +CTSPillarNetworkA,9760,9760,9760,1996-09-21,975.7000000001533,975.6088,2015-01-01 02:42:40,bin9760,35, +CTSPillarNetworkA,9761,9761,9761,1996-09-22,975.8000000001533,975.7088,2015-01-01 02:42:41,bin9761,75, +CTSPillarNetworkA,9762,9762,9762,1996-09-23,975.9000000001533,975.8088,2015-01-01 02:42:42,bin9762,35, +CTSPillarNetworkA,9763,9763,9763,1996-09-24,976.0000000001534,975.90875,2015-01-01 02:42:43,bin9763,75, +CTSPillarNetworkA,9764,9764,9764,1996-09-25,976.1000000001534,976.0087,2015-01-01 02:42:44,bin9764,35, +CTSPillarNetworkA,9765,9765,9765,1996-09-26,976.2000000001534,976.1087,2015-01-01 02:42:45,bin9765,75, +CTSPillarNetworkA,9766,9766,9766,1996-09-27,976.3000000001534,976.2087,2015-01-01 02:42:46,bin9766,35, +CTSPillarNetworkA,9767,9767,9767,1996-09-28,976.4000000001535,976.30865,2015-01-01 02:42:47,bin9767,75, +CTSPillarNetworkA,9768,9768,9768,1996-09-29,976.5000000001535,976.4086,2015-01-01 02:42:48,bin9768,35, +CTSPillarNetworkA,9769,9769,9769,1996-09-30,976.6000000001535,976.5086,2015-01-01 02:42:49,bin9769,75, +CTSPillarNetworkA,9770,9770,9770,1996-10-01,976.7000000001535,976.6086,2015-01-01 02:42:50,bin9770,35, +CTSPillarNetworkA,9771,9771,9771,1996-10-02,976.8000000001535,976.70856,2015-01-01 02:42:51,bin9771,75, +CTSPillarNetworkA,9772,9772,9772,1996-10-03,976.9000000001536,976.80853,2015-01-01 02:42:52,bin9772,35, +CTSPillarNetworkA,9773,9773,9773,1996-10-04,977.0000000001536,976.9085,2015-01-01 02:42:53,bin9773,75, +CTSPillarNetworkA,9774,9774,9774,1996-10-05,977.1000000001536,977.0085,2015-01-01 02:42:54,bin9774,35, +CTSPillarNetworkA,9775,9775,9775,1996-10-06,977.2000000001536,977.10846,2015-01-01 02:42:55,bin9775,75, +CTSPillarNetworkA,9776,9776,9776,1996-10-07,977.3000000001537,977.20844,2015-01-01 02:42:56,bin9776,35, +CTSPillarNetworkA,9777,9777,9777,1996-10-08,977.4000000001537,977.3084,2015-01-01 02:42:57,bin9777,75, +CTSPillarNetworkA,9778,9778,9778,1996-10-09,977.5000000001537,977.4084,2015-01-01 02:42:58,bin9778,35, +CTSPillarNetworkA,9779,9779,9779,1996-10-10,977.6000000001537,977.50836,2015-01-01 02:42:59,bin9779,75, +CTSPillarNetworkA,9780,9780,9780,1996-10-11,977.7000000001538,977.60834,2015-01-01 02:43:00,bin9780,35, +CTSPillarNetworkA,9781,9781,9781,1996-10-12,977.8000000001538,977.7083,2015-01-01 02:43:01,bin9781,75, +CTSPillarNetworkA,9782,9782,9782,1996-10-13,977.9000000001538,977.8083,2015-01-01 02:43:02,bin9782,35, +CTSPillarNetworkA,9783,9783,9783,1996-10-14,978.0000000001538,977.90826,2015-01-01 02:43:03,bin9783,75, +CTSPillarNetworkA,9784,9784,9784,1996-10-15,978.1000000001538,978.00824,2015-01-01 02:43:04,bin9784,35, +CTSPillarNetworkA,9785,9785,9785,1996-10-16,978.2000000001539,978.1082,2015-01-01 02:43:05,bin9785,75, +CTSPillarNetworkA,9786,9786,9786,1996-10-17,978.3000000001539,978.2082,2015-01-01 02:43:06,bin9786,35, +CTSPillarNetworkA,9787,9787,9787,1996-10-18,978.4000000001539,978.30817,2015-01-01 02:43:07,bin9787,75, +CTSPillarNetworkA,9788,9788,9788,1996-10-19,978.5000000001539,978.40814,2015-01-01 02:43:08,bin9788,35, +CTSPillarNetworkA,9789,9789,9789,1996-10-20,978.600000000154,978.5081,2015-01-01 02:43:09,bin9789,75, +CTSPillarNetworkA,9790,9790,9790,1996-10-21,978.700000000154,978.6081,2015-01-01 02:43:10,bin9790,35, +CTSPillarNetworkA,9791,9791,9791,1996-10-22,978.800000000154,978.70807,2015-01-01 02:43:11,bin9791,75, +CTSPillarNetworkA,9792,9792,9792,1996-10-23,978.900000000154,978.80804,2015-01-01 02:43:12,bin9792,35, +CTSPillarNetworkA,9793,9793,9793,1996-10-24,979.000000000154,978.908,2015-01-01 02:43:13,bin9793,75, +CTSPillarNetworkA,9794,9794,9794,1996-10-25,979.1000000001541,979.008,2015-01-01 02:43:14,bin9794,35, +CTSPillarNetworkA,9795,9795,9795,1996-10-26,979.2000000001541,979.108,2015-01-01 02:43:15,bin9795,75, +CTSPillarNetworkA,9796,9796,9796,1996-10-27,979.3000000001541,979.20795,2015-01-01 02:43:16,bin9796,35, +CTSPillarNetworkA,9797,9797,9797,1996-10-28,979.4000000001541,979.3079,2015-01-01 02:43:17,bin9797,75, +CTSPillarNetworkA,9798,9798,9798,1996-10-29,979.5000000001542,979.4079,2015-01-01 02:43:18,bin9798,35, +CTSPillarNetworkA,9799,9799,9799,1996-10-30,979.6000000001542,979.5079,2015-01-01 02:43:19,bin9799,75, +CTSPillarNetworkA,9800,9800,9800,1996-10-31,979.7000000001542,979.60785,2015-01-01 02:43:20,bin9800,35, +CTSPillarNetworkA,9801,9801,9801,1996-11-01,979.8000000001542,979.7078,2015-01-01 02:43:21,bin9801,75, +CTSPillarNetworkA,9802,9802,9802,1996-11-02,979.9000000001543,979.8078,2015-01-01 02:43:22,bin9802,35, +CTSPillarNetworkA,9803,9803,9803,1996-11-03,980.0000000001543,979.9078,2015-01-01 02:43:23,bin9803,75, +CTSPillarNetworkA,9804,9804,9804,1996-11-04,980.1000000001543,980.00775,2015-01-01 02:43:24,bin9804,35, +CTSPillarNetworkA,9805,9805,9805,1996-11-05,980.2000000001543,980.1077,2015-01-01 02:43:25,bin9805,75, +CTSPillarNetworkA,9806,9806,9806,1996-11-06,980.3000000001543,980.2077,2015-01-01 02:43:26,bin9806,35, +CTSPillarNetworkA,9807,9807,9807,1996-11-07,980.4000000001544,980.3077,2015-01-01 02:43:27,bin9807,75, +CTSPillarNetworkA,9808,9808,9808,1996-11-08,980.5000000001544,980.40765,2015-01-01 02:43:28,bin9808,35, +CTSPillarNetworkA,9809,9809,9809,1996-11-09,980.6000000001544,980.5076,2015-01-01 02:43:29,bin9809,75, +CTSPillarNetworkA,9810,9810,9810,1996-11-10,980.7000000001544,980.6076,2015-01-01 02:43:30,bin9810,35, +CTSPillarNetworkA,9811,9811,9811,1996-11-11,980.8000000001545,980.7076,2015-01-01 02:43:31,bin9811,75, +CTSPillarNetworkA,9812,9812,9812,1996-11-12,980.9000000001545,980.80756,2015-01-01 02:43:32,bin9812,35, +CTSPillarNetworkA,9813,9813,9813,1996-11-13,981.0000000001545,980.90753,2015-01-01 02:43:33,bin9813,75, +CTSPillarNetworkA,9814,9814,9814,1996-11-14,981.1000000001545,981.0075,2015-01-01 02:43:34,bin9814,35, +CTSPillarNetworkA,9815,9815,9815,1996-11-15,981.2000000001545,981.1075,2015-01-01 02:43:35,bin9815,75, +CTSPillarNetworkA,9816,9816,9816,1996-11-16,981.3000000001546,981.20746,2015-01-01 02:43:36,bin9816,35, +CTSPillarNetworkA,9817,9817,9817,1996-11-17,981.4000000001546,981.30743,2015-01-01 02:43:37,bin9817,75, +CTSPillarNetworkA,9818,9818,9818,1996-11-18,981.5000000001546,981.4074,2015-01-01 02:43:38,bin9818,35, +CTSPillarNetworkA,9819,9819,9819,1996-11-19,981.6000000001546,981.5074,2015-01-01 02:43:39,bin9819,75, +CTSPillarNetworkA,9820,9820,9820,1996-11-20,981.7000000001547,981.60736,2015-01-01 02:43:40,bin9820,35, +CTSPillarNetworkA,9821,9821,9821,1996-11-21,981.8000000001547,981.70734,2015-01-01 02:43:41,bin9821,75, +CTSPillarNetworkA,9822,9822,9822,1996-11-22,981.9000000001547,981.8073,2015-01-01 02:43:42,bin9822,35, +CTSPillarNetworkA,9823,9823,9823,1996-11-23,982.0000000001547,981.9073,2015-01-01 02:43:43,bin9823,75, +CTSPillarNetworkA,9824,9824,9824,1996-11-24,982.1000000001548,982.00726,2015-01-01 02:43:44,bin9824,35, +CTSPillarNetworkA,9825,9825,9825,1996-11-25,982.2000000001548,982.10724,2015-01-01 02:43:45,bin9825,75, +CTSPillarNetworkA,9826,9826,9826,1996-11-26,982.3000000001548,982.2072,2015-01-01 02:43:46,bin9826,35, +CTSPillarNetworkA,9827,9827,9827,1996-11-27,982.4000000001548,982.3072,2015-01-01 02:43:47,bin9827,75, +CTSPillarNetworkA,9828,9828,9828,1996-11-28,982.5000000001548,982.40717,2015-01-01 02:43:48,bin9828,35, +CTSPillarNetworkA,9829,9829,9829,1996-11-29,982.6000000001549,982.50714,2015-01-01 02:43:49,bin9829,75, +CTSPillarNetworkA,9830,9830,9830,1996-11-30,982.7000000001549,982.6071,2015-01-01 02:43:50,bin9830,35, +CTSPillarNetworkA,9831,9831,9831,1996-12-01,982.8000000001549,982.7071,2015-01-01 02:43:51,bin9831,75, +CTSPillarNetworkA,9832,9832,9832,1996-12-02,982.9000000001549,982.80707,2015-01-01 02:43:52,bin9832,35, +CTSPillarNetworkA,9833,9833,9833,1996-12-03,983.000000000155,982.90704,2015-01-01 02:43:53,bin9833,75, +CTSPillarNetworkA,9834,9834,9834,1996-12-04,983.100000000155,983.007,2015-01-01 02:43:54,bin9834,35, +CTSPillarNetworkA,9835,9835,9835,1996-12-05,983.200000000155,983.107,2015-01-01 02:43:55,bin9835,75, +CTSPillarNetworkA,9836,9836,9836,1996-12-06,983.300000000155,983.207,2015-01-01 02:43:56,bin9836,35, +CTSPillarNetworkA,9837,9837,9837,1996-12-07,983.400000000155,983.30695,2015-01-01 02:43:57,bin9837,75, +CTSPillarNetworkA,9838,9838,9838,1996-12-08,983.5000000001551,983.4069,2015-01-01 02:43:58,bin9838,35, +CTSPillarNetworkA,9839,9839,9839,1996-12-09,983.6000000001551,983.5069,2015-01-01 02:43:59,bin9839,75, +CTSPillarNetworkA,9840,9840,9840,1996-12-10,983.7000000001551,983.6069,2015-01-01 02:44:00,bin9840,35, +CTSPillarNetworkA,9841,9841,9841,1996-12-11,983.8000000001551,983.70685,2015-01-01 02:44:01,bin9841,75, +CTSPillarNetworkA,9842,9842,9842,1996-12-12,983.9000000001552,983.8068,2015-01-01 02:44:02,bin9842,35, +CTSPillarNetworkA,9843,9843,9843,1996-12-13,984.0000000001552,983.9068,2015-01-01 02:44:03,bin9843,75, +CTSPillarNetworkA,9844,9844,9844,1996-12-14,984.1000000001552,984.0068,2015-01-01 02:44:04,bin9844,35, +CTSPillarNetworkA,9845,9845,9845,1996-12-15,984.2000000001552,984.10675,2015-01-01 02:44:05,bin9845,75, +CTSPillarNetworkA,9846,9846,9846,1996-12-16,984.3000000001553,984.2067,2015-01-01 02:44:06,bin9846,35, +CTSPillarNetworkA,9847,9847,9847,1996-12-17,984.4000000001553,984.3067,2015-01-01 02:44:07,bin9847,75, +CTSPillarNetworkA,9848,9848,9848,1996-12-18,984.5000000001553,984.4067,2015-01-01 02:44:08,bin9848,35, +CTSPillarNetworkA,9849,9849,9849,1996-12-19,984.6000000001553,984.50665,2015-01-01 02:44:09,bin9849,75, +CTSPillarNetworkA,9850,9850,9850,1996-12-20,984.7000000001553,984.6066,2015-01-01 02:44:10,bin9850,35, +CTSPillarNetworkA,9851,9851,9851,1996-12-21,984.8000000001554,984.7066,2015-01-01 02:44:11,bin9851,75, +CTSPillarNetworkA,9852,9852,9852,1996-12-22,984.9000000001554,984.8066,2015-01-01 02:44:12,bin9852,35, +CTSPillarNetworkA,9853,9853,9853,1996-12-23,985.0000000001554,984.90656,2015-01-01 02:44:13,bin9853,75, +CTSPillarNetworkA,9854,9854,9854,1996-12-24,985.1000000001554,985.00653,2015-01-01 02:44:14,bin9854,35, +CTSPillarNetworkA,9855,9855,9855,1996-12-25,985.2000000001555,985.1065,2015-01-01 02:44:15,bin9855,75, +CTSPillarNetworkA,9856,9856,9856,1996-12-26,985.3000000001555,985.2065,2015-01-01 02:44:16,bin9856,35, +CTSPillarNetworkA,9857,9857,9857,1996-12-27,985.4000000001555,985.30646,2015-01-01 02:44:17,bin9857,75, +CTSPillarNetworkA,9858,9858,9858,1996-12-28,985.5000000001555,985.40643,2015-01-01 02:44:18,bin9858,35, +CTSPillarNetworkA,9859,9859,9859,1996-12-29,985.6000000001555,985.5064,2015-01-01 02:44:19,bin9859,75, +CTSPillarNetworkA,9860,9860,9860,1996-12-30,985.7000000001556,985.6064,2015-01-01 02:44:20,bin9860,35, +CTSPillarNetworkA,9861,9861,9861,1996-12-31,985.8000000001556,985.70636,2015-01-01 02:44:21,bin9861,75, +CTSPillarNetworkA,9862,9862,9862,1997-01-01,985.9000000001556,985.80634,2015-01-01 02:44:22,bin9862,35, +CTSPillarNetworkA,9863,9863,9863,1997-01-02,986.0000000001556,985.9063,2015-01-01 02:44:23,bin9863,75, +CTSPillarNetworkA,9864,9864,9864,1997-01-03,986.1000000001557,986.0063,2015-01-01 02:44:24,bin9864,35, +CTSPillarNetworkA,9865,9865,9865,1997-01-04,986.2000000001557,986.10626,2015-01-01 02:44:25,bin9865,75, +CTSPillarNetworkA,9866,9866,9866,1997-01-05,986.3000000001557,986.20624,2015-01-01 02:44:26,bin9866,35, +CTSPillarNetworkA,9867,9867,9867,1997-01-06,986.4000000001557,986.3062,2015-01-01 02:44:27,bin9867,75, +CTSPillarNetworkA,9868,9868,9868,1997-01-07,986.5000000001558,986.4062,2015-01-01 02:44:28,bin9868,35, +CTSPillarNetworkA,9869,9869,9869,1997-01-08,986.6000000001558,986.50616,2015-01-01 02:44:29,bin9869,75, +CTSPillarNetworkA,9870,9870,9870,1997-01-09,986.7000000001558,986.60614,2015-01-01 02:44:30,bin9870,35, +CTSPillarNetworkA,9871,9871,9871,1997-01-10,986.8000000001558,986.7061,2015-01-01 02:44:31,bin9871,75, +CTSPillarNetworkA,9872,9872,9872,1997-01-11,986.9000000001558,986.8061,2015-01-01 02:44:32,bin9872,35, +CTSPillarNetworkA,9873,9873,9873,1997-01-12,987.0000000001559,986.90607,2015-01-01 02:44:33,bin9873,75, +CTSPillarNetworkA,9874,9874,9874,1997-01-13,987.1000000001559,987.00604,2015-01-01 02:44:34,bin9874,35, +CTSPillarNetworkA,9875,9875,9875,1997-01-14,987.2000000001559,987.106,2015-01-01 02:44:35,bin9875,75, +CTSPillarNetworkA,9876,9876,9876,1997-01-15,987.3000000001559,987.206,2015-01-01 02:44:36,bin9876,35, +CTSPillarNetworkA,9877,9877,9877,1997-01-16,987.400000000156,987.30597,2015-01-01 02:44:37,bin9877,75, +CTSPillarNetworkA,9878,9878,9878,1997-01-17,987.500000000156,987.40594,2015-01-01 02:44:38,bin9878,35, +CTSPillarNetworkA,9879,9879,9879,1997-01-18,987.600000000156,987.5059,2015-01-01 02:44:39,bin9879,75, +CTSPillarNetworkA,9880,9880,9880,1997-01-19,987.700000000156,987.6059,2015-01-01 02:44:40,bin9880,35, +CTSPillarNetworkA,9881,9881,9881,1997-01-20,987.800000000156,987.7059,2015-01-01 02:44:41,bin9881,75, +CTSPillarNetworkA,9882,9882,9882,1997-01-21,987.9000000001561,987.80585,2015-01-01 02:44:42,bin9882,35, +CTSPillarNetworkA,9883,9883,9883,1997-01-22,988.0000000001561,987.9058,2015-01-01 02:44:43,bin9883,75, +CTSPillarNetworkA,9884,9884,9884,1997-01-23,988.1000000001561,988.0058,2015-01-01 02:44:44,bin9884,35, +CTSPillarNetworkA,9885,9885,9885,1997-01-24,988.2000000001561,988.1058,2015-01-01 02:44:45,bin9885,75, +CTSPillarNetworkA,9886,9886,9886,1997-01-25,988.3000000001562,988.20575,2015-01-01 02:44:46,bin9886,35, +CTSPillarNetworkA,9887,9887,9887,1997-01-26,988.4000000001562,988.3057,2015-01-01 02:44:47,bin9887,75, +CTSPillarNetworkA,9888,9888,9888,1997-01-27,988.5000000001562,988.4057,2015-01-01 02:44:48,bin9888,35, +CTSPillarNetworkA,9889,9889,9889,1997-01-28,988.6000000001562,988.5057,2015-01-01 02:44:49,bin9889,75, +CTSPillarNetworkA,9890,9890,9890,1997-01-29,988.7000000001563,988.60565,2015-01-01 02:44:50,bin9890,35, +CTSPillarNetworkA,9891,9891,9891,1997-01-30,988.8000000001563,988.7056,2015-01-01 02:44:51,bin9891,75, +CTSPillarNetworkA,9892,9892,9892,1997-01-31,988.9000000001563,988.8056,2015-01-01 02:44:52,bin9892,35, +CTSPillarNetworkA,9893,9893,9893,1997-02-01,989.0000000001563,988.9056,2015-01-01 02:44:53,bin9893,75, +CTSPillarNetworkA,9894,9894,9894,1997-02-02,989.1000000001563,989.00555,2015-01-01 02:44:54,bin9894,35, +CTSPillarNetworkA,9895,9895,9895,1997-02-03,989.2000000001564,989.1055,2015-01-01 02:44:55,bin9895,75, +CTSPillarNetworkA,9896,9896,9896,1997-02-04,989.3000000001564,989.2055,2015-01-01 02:44:56,bin9896,35, +CTSPillarNetworkA,9897,9897,9897,1997-02-05,989.4000000001564,989.3055,2015-01-01 02:44:57,bin9897,75, +CTSPillarNetworkA,9898,9898,9898,1997-02-06,989.5000000001564,989.40546,2015-01-01 02:44:58,bin9898,35, +CTSPillarNetworkA,9899,9899,9899,1997-02-07,989.6000000001565,989.50543,2015-01-01 02:44:59,bin9899,75, +CTSPillarNetworkA,9900,9900,9900,1997-02-08,989.7000000001565,989.6054,2015-01-01 02:45:00,bin9900,35, +CTSPillarNetworkA,9901,9901,9901,1997-02-09,989.8000000001565,989.7054,2015-01-01 02:45:01,bin9901,75, +CTSPillarNetworkA,9902,9902,9902,1997-02-10,989.9000000001565,989.80536,2015-01-01 02:45:02,bin9902,35, +CTSPillarNetworkA,9903,9903,9903,1997-02-11,990.0000000001565,989.90533,2015-01-01 02:45:03,bin9903,75, +CTSPillarNetworkA,9904,9904,9904,1997-02-12,990.1000000001566,990.0053,2015-01-01 02:45:04,bin9904,35, +CTSPillarNetworkA,9905,9905,9905,1997-02-13,990.2000000001566,990.1053,2015-01-01 02:45:05,bin9905,75, +CTSPillarNetworkA,9906,9906,9906,1997-02-14,990.3000000001566,990.20526,2015-01-01 02:45:06,bin9906,35, +CTSPillarNetworkA,9907,9907,9907,1997-02-15,990.4000000001566,990.30524,2015-01-01 02:45:07,bin9907,75, +CTSPillarNetworkA,9908,9908,9908,1997-02-16,990.5000000001567,990.4052,2015-01-01 02:45:08,bin9908,35, +CTSPillarNetworkA,9909,9909,9909,1997-02-17,990.6000000001567,990.5052,2015-01-01 02:45:09,bin9909,75, +CTSPillarNetworkA,9910,9910,9910,1997-02-18,990.7000000001567,990.60516,2015-01-01 02:45:10,bin9910,35, +CTSPillarNetworkA,9911,9911,9911,1997-02-19,990.8000000001567,990.70514,2015-01-01 02:45:11,bin9911,75, +CTSPillarNetworkA,9912,9912,9912,1997-02-20,990.9000000001568,990.8051,2015-01-01 02:45:12,bin9912,35, +CTSPillarNetworkA,9913,9913,9913,1997-02-21,991.0000000001568,990.9051,2015-01-01 02:45:13,bin9913,75, +CTSPillarNetworkA,9914,9914,9914,1997-02-22,991.1000000001568,991.00507,2015-01-01 02:45:14,bin9914,35, +CTSPillarNetworkA,9915,9915,9915,1997-02-23,991.2000000001568,991.10504,2015-01-01 02:45:15,bin9915,75, +CTSPillarNetworkA,9916,9916,9916,1997-02-24,991.3000000001568,991.205,2015-01-01 02:45:16,bin9916,35, +CTSPillarNetworkA,9917,9917,9917,1997-02-25,991.4000000001569,991.305,2015-01-01 02:45:17,bin9917,75, +CTSPillarNetworkA,9918,9918,9918,1997-02-26,991.5000000001569,991.40497,2015-01-01 02:45:18,bin9918,35, +CTSPillarNetworkA,9919,9919,9919,1997-02-27,991.6000000001569,991.50494,2015-01-01 02:45:19,bin9919,75, +CTSPillarNetworkA,9920,9920,9920,1997-02-28,991.7000000001569,991.6049,2015-01-01 02:45:20,bin9920,35, +CTSPillarNetworkA,9921,9921,9921,1997-03-01,991.800000000157,991.7049,2015-01-01 02:45:21,bin9921,75, +CTSPillarNetworkA,9922,9922,9922,1997-03-02,991.900000000157,991.8049,2015-01-01 02:45:22,bin9922,35, +CTSPillarNetworkA,9923,9923,9923,1997-03-03,992.000000000157,991.90485,2015-01-01 02:45:23,bin9923,75, +CTSPillarNetworkA,9924,9924,9924,1997-03-04,992.100000000157,992.0048,2015-01-01 02:45:24,bin9924,35, +CTSPillarNetworkA,9925,9925,9925,1997-03-05,992.200000000157,992.1048,2015-01-01 02:45:25,bin9925,75, +CTSPillarNetworkA,9926,9926,9926,1997-03-06,992.3000000001571,992.2048,2015-01-01 02:45:26,bin9926,35, +CTSPillarNetworkA,9927,9927,9927,1997-03-07,992.4000000001571,992.30475,2015-01-01 02:45:27,bin9927,75, +CTSPillarNetworkA,9928,9928,9928,1997-03-08,992.5000000001571,992.4047,2015-01-01 02:45:28,bin9928,35, +CTSPillarNetworkA,9929,9929,9929,1997-03-09,992.6000000001571,992.5047,2015-01-01 02:45:29,bin9929,75, +CTSPillarNetworkA,9930,9930,9930,1997-03-10,992.7000000001572,992.6047,2015-01-01 02:45:30,bin9930,35, +CTSPillarNetworkA,9931,9931,9931,1997-03-11,992.8000000001572,992.70465,2015-01-01 02:45:31,bin9931,75, +CTSPillarNetworkA,9932,9932,9932,1997-03-12,992.9000000001572,992.8046,2015-01-01 02:45:32,bin9932,35, +CTSPillarNetworkA,9933,9933,9933,1997-03-13,993.0000000001572,992.9046,2015-01-01 02:45:33,bin9933,75, +CTSPillarNetworkA,9934,9934,9934,1997-03-14,993.1000000001573,993.0046,2015-01-01 02:45:34,bin9934,35, +CTSPillarNetworkA,9935,9935,9935,1997-03-15,993.2000000001573,993.10455,2015-01-01 02:45:35,bin9935,75, +CTSPillarNetworkA,9936,9936,9936,1997-03-16,993.3000000001573,993.2045,2015-01-01 02:45:36,bin9936,35, +CTSPillarNetworkA,9937,9937,9937,1997-03-17,993.4000000001573,993.3045,2015-01-01 02:45:37,bin9937,75, +CTSPillarNetworkA,9938,9938,9938,1997-03-18,993.5000000001573,993.4045,2015-01-01 02:45:38,bin9938,35, +CTSPillarNetworkA,9939,9939,9939,1997-03-19,993.6000000001574,993.50446,2015-01-01 02:45:39,bin9939,75, +CTSPillarNetworkA,9940,9940,9940,1997-03-20,993.7000000001574,993.60443,2015-01-01 02:45:40,bin9940,35, +CTSPillarNetworkA,9941,9941,9941,1997-03-21,993.8000000001574,993.7044,2015-01-01 02:45:41,bin9941,75, +CTSPillarNetworkA,9942,9942,9942,1997-03-22,993.9000000001574,993.8044,2015-01-01 02:45:42,bin9942,35, +CTSPillarNetworkA,9943,9943,9943,1997-03-23,994.0000000001575,993.90436,2015-01-01 02:45:43,bin9943,75, +CTSPillarNetworkA,9944,9944,9944,1997-03-24,994.1000000001575,994.00433,2015-01-01 02:45:44,bin9944,35, +CTSPillarNetworkA,9945,9945,9945,1997-03-25,994.2000000001575,994.1043,2015-01-01 02:45:45,bin9945,75, +CTSPillarNetworkA,9946,9946,9946,1997-03-26,994.3000000001575,994.2043,2015-01-01 02:45:46,bin9946,35, +CTSPillarNetworkA,9947,9947,9947,1997-03-27,994.4000000001575,994.30426,2015-01-01 02:45:47,bin9947,75, +CTSPillarNetworkA,9948,9948,9948,1997-03-28,994.5000000001576,994.40424,2015-01-01 02:45:48,bin9948,35, +CTSPillarNetworkA,9949,9949,9949,1997-03-29,994.6000000001576,994.5042,2015-01-01 02:45:49,bin9949,75, +CTSPillarNetworkA,9950,9950,9950,1997-03-30,994.7000000001576,994.6042,2015-01-01 02:45:50,bin9950,35, +CTSPillarNetworkA,9951,9951,9951,1997-03-31,994.8000000001576,994.70416,2015-01-01 02:45:51,bin9951,75, +CTSPillarNetworkA,9952,9952,9952,1997-04-01,994.9000000001577,994.80414,2015-01-01 02:45:52,bin9952,35, +CTSPillarNetworkA,9953,9953,9953,1997-04-02,995.0000000001577,994.9041,2015-01-01 02:45:53,bin9953,75, +CTSPillarNetworkA,9954,9954,9954,1997-04-03,995.1000000001577,995.0041,2015-01-01 02:45:54,bin9954,35, +CTSPillarNetworkA,9955,9955,9955,1997-04-04,995.2000000001577,995.10406,2015-01-01 02:45:55,bin9955,75, +CTSPillarNetworkA,9956,9956,9956,1997-04-05,995.3000000001578,995.20404,2015-01-01 02:45:56,bin9956,35, +CTSPillarNetworkA,9957,9957,9957,1997-04-06,995.4000000001578,995.304,2015-01-01 02:45:57,bin9957,75, +CTSPillarNetworkA,9958,9958,9958,1997-04-07,995.5000000001578,995.404,2015-01-01 02:45:58,bin9958,35, +CTSPillarNetworkA,9959,9959,9959,1997-04-08,995.6000000001578,995.50397,2015-01-01 02:45:59,bin9959,75, +CTSPillarNetworkA,9960,9960,9960,1997-04-09,995.7000000001578,995.60394,2015-01-01 02:46:00,bin9960,35, +CTSPillarNetworkA,9961,9961,9961,1997-04-10,995.8000000001579,995.7039,2015-01-01 02:46:01,bin9961,75, +CTSPillarNetworkA,9962,9962,9962,1997-04-11,995.9000000001579,995.8039,2015-01-01 02:46:02,bin9962,35, +CTSPillarNetworkA,9963,9963,9963,1997-04-12,996.0000000001579,995.9039,2015-01-01 02:46:03,bin9963,75, +CTSPillarNetworkA,9964,9964,9964,1997-04-13,996.1000000001579,996.00385,2015-01-01 02:46:04,bin9964,35, +CTSPillarNetworkA,9965,9965,9965,1997-04-14,996.200000000158,996.1038,2015-01-01 02:46:05,bin9965,75, +CTSPillarNetworkA,9966,9966,9966,1997-04-15,996.300000000158,996.2038,2015-01-01 02:46:06,bin9966,35, +CTSPillarNetworkA,9967,9967,9967,1997-04-16,996.400000000158,996.3038,2015-01-01 02:46:07,bin9967,75, +CTSPillarNetworkA,9968,9968,9968,1997-04-17,996.500000000158,996.40375,2015-01-01 02:46:08,bin9968,35, +CTSPillarNetworkA,9969,9969,9969,1997-04-18,996.600000000158,996.5037,2015-01-01 02:46:09,bin9969,75, +CTSPillarNetworkA,9970,9970,9970,1997-04-19,996.7000000001581,996.6037,2015-01-01 02:46:10,bin9970,35, +CTSPillarNetworkA,9971,9971,9971,1997-04-20,996.8000000001581,996.7037,2015-01-01 02:46:11,bin9971,75, +CTSPillarNetworkA,9972,9972,9972,1997-04-21,996.9000000001581,996.80365,2015-01-01 02:46:12,bin9972,35, +CTSPillarNetworkA,9973,9973,9973,1997-04-22,997.0000000001581,996.9036,2015-01-01 02:46:13,bin9973,75, +CTSPillarNetworkB,SPY,35000.332257024,,1997-04-24,997.1000000001582,997.0036,2015-01-01 02:46:15,binA,250,false +CTSPillarNetworkB,SPY,35000.332278016,30,,997.2000000001582,997.1036,2015-01-01 02:46:16,bin,255, +CTSPillarNetworkB,SPY,35000.332319232,22,1997-04-26,,,2015-01-01 02:46:17,bin,255, +CTSPillarNetworkB,SPY,35000.420437719,250,1997-04-27,997.4000000001582,997.3035,,bin,255, +CTSPillarNetworkB,SPY,35000.509000000,21,1997-04-28,997.5000000001583,997.4035,2015-01-01 02:46:19,,255, +CTSPillarNetworkB,SPY,35000.623816380,100,1997-04-29,997.6000000001583,997.5035,2015-01-01 02:46:20,bin,, +CTSPillarNetworkB,SPY,35000.733000000,1,1997-04-30,997.7000000001583,997.60345,2015-01-01 02:46:21,bin,255, +CTSPillarNetworkB,SPY,35000.918482000,11,1997-05-01,997.8000000001583,997.7034,2015-01-01 02:46:22,bin,255, +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-02,997.9000000001583,997.8034,2015-01-01 02:46:23,bin,255, +CTSPillarNetworkB,SPY,35000.918484000,30,1997-05-03,998.0000000001584,997.9034,2015-01-01 02:46:24,bin,255,false +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-04,998.1000000001584,998.00336,2015-01-01 02:46:25,bin,255,false +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-05,998.2000000001584,998.10333,2015-01-01 02:46:26,bin,255, +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-06,998.3000000001584,998.2033,2015-01-01 02:46:27,bin,255, +CTSPillarNetworkB,SPY,35000.919489536,100,1997-05-07,998.4000000001585,998.3033,2015-01-01 02:46:28,bin,255, +CTSPillarNetworkB,SPY,35000.919650899,100,1997-05-08,998.5000000001585,998.40326,2015-01-01 02:46:29,bin,255, +CTSPillarNetworkB,SPY,35000.919685139,100,1997-05-09,998.6000000001585,998.50323,2015-01-01 02:46:30,bin,255, +CTSPillarNetworkB,SPY,35000.974576770,100,1997-05-10,998.7000000001585,998.6032,2015-01-01 02:46:31,bin,255, +CTSPillarNetworkB,SPY,35000.974911035,100,1997-05-11,998.8000000001585,998.7032,2015-01-01 02:46:32,bin,255, +CTSPillarNetworkB,SPY,35000.977960728,23,1997-05-12,998.9000000001586,998.80316,2015-01-01 02:46:33,bin,255, +CTSPillarNetworkB,SPY,35000.978023000,6,1997-05-13,999.0000000001586,998.90314,2015-01-01 02:46:34,bin,255, +CTSPillarNetworkB,SPY,35000.978102524,18,1997-05-14,999.1000000001586,999.0031,2015-01-01 02:46:35,bin,255, +CTSPillarNetworkB,SPY,35000.978124544,100,1997-05-15,999.2000000001586,999.1031,2015-01-01 02:46:36,bin,255, +CTSPillarNetworkB,SPY,35000.978349245,23,1997-05-16,999.3000000001587,999.20306,2015-01-01 02:46:37,bin,255, +CTSPillarNetworkB,SPY,35000.978601023,6,1997-05-17,999.4000000001587,999.30304,2015-01-01 02:46:38,bin,255, +CTSPillarNetworkB,SPY,35000.978704313,18,1997-05-18,999.5000000001587,999.403,2015-01-01 02:46:39,bin,255,true +CTSPillarNetworkB,SPY,35000.978803110,100,1997-05-19,999.6000000001587,999.503,2015-01-01 02:46:40,bin,255,true +CTSPillarNetworkB,SPY,35000.983917824,53,,999.7000000001588,,2015-01-01 02:46:47,binZ,251,true diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc new file mode 100644 index 0000000000000000000000000000000000000000..8d389adf37d44fa62b3fb20b8e107c16e9280a11 GIT binary patch literal 139599 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%0D8IKCz8V{lUoithFAL=eYp2CS3NBUy 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 literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 78bb79c..ec26433 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -16,7 +16,7 @@ public class OrcReader_Test [Fact] public void FileTail_DefaultOptomisticSize() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); var expectedColumns = new[] { new OrcColumn(1, "Source", ColumnTypeKind.String), @@ -35,7 +35,7 @@ public void FileTail_DefaultOptomisticSize() [Fact] public void FileTail_MinimumInitialReadSize() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); var expectedColumns = new[] { new OrcColumn(1, "Source", ColumnTypeKind.String), @@ -54,7 +54,7 @@ public void FileTail_MinimumInitialReadSize() [Fact] public void FileColumnStatistics() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); @@ -68,7 +68,7 @@ public void FileColumnStatistics() [Fact] public void StripeColumnStatistics() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); @@ -82,7 +82,7 @@ public void StripeColumnStatistics() [Fact] public void RowGroupStatistics() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); var rowGroupEntry = reader.GetRowGroupIndex(columnId: 1, stripeId: 0).Entry[0]; Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Minimum); Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Maximum); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs new file mode 100644 index 0000000..cf3fde3 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -0,0 +1,58 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Test.TestHelpers; +using System; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public sealed class TestByteRangeProviderParallel : IByteRangeProvider + { + readonly object _syncRoot = new object(); + readonly Stream _stream; + + internal TestByteRangeProviderParallel() + { + var dataFileHelper = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.orc"); + _stream = dataFileHelper.GetStream(); + } + + public void Dispose() + { + _stream.Dispose(); + } + + public int GetRange(Span buffer, long position) + { + lock (_syncRoot) + { + _stream.Seek(position, SeekOrigin.Begin); + return DoRead(buffer); + } + } + + public int GetRangeFromEnd(Span buffer, long positionFromEnd) + { + lock (_syncRoot) + { + _stream.Seek(-positionFromEnd, SeekOrigin.End); + return DoRead(buffer); + } + } + + private int DoRead(Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = _stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } + } +} From 0de996e2a2bdc94bef39c6e1ba55719c5e3fc416 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:26:19 -0300 Subject: [PATCH 032/143] Add unit tests with and without nulls. --- .../OptimizedORCApp.cs | 22 +- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 5 + ...{_BaseColumnType.cs => BaseColumnTypes.cs} | 29 +- .../{ => WithNulls}/BinaryColumn_Test.cs | 4 +- .../{ => WithNulls}/BooleanColumn_Test.cs | 4 +- .../{ => WithNulls}/ByteColumn_Test.cs | 4 +- .../{ => WithNulls}/DateColumn_Test.cs | 6 +- .../DecimalAsDoubleColumn_Test.cs | 4 +- .../{ => WithNulls}/DecimalColumn_Test.cs | 4 +- .../{ => WithNulls}/DoubleColumn_Test.cs | 4 +- .../{ => WithNulls}/FloatColumn_Test.cs | 4 +- .../{ => WithNulls}/IntegerColumn_Test.cs | 4 +- .../{ => WithNulls}/StringColumn_Test.cs | 4 +- .../{ => WithNulls}/TimestampColumn_Test.cs | 4 +- .../WithoutNulls/BinaryColumn_Test.cs | 50 + .../WithoutNulls/BooleanColumn_Test.cs | 49 + .../WithoutNulls/ByteColumn_Test.cs | 49 + .../WithoutNulls/DateColumn_Test.cs | 50 + .../DecimalAsDoubleColumn_Test.cs | 49 + .../WithoutNulls/DecimalColumn_Test.cs | 49 + .../WithoutNulls/DoubleColumn_Test.cs | 49 + .../WithoutNulls/FloatColumn_Test.cs | 49 + .../WithoutNulls/IntegerColumn_Test.cs | 49 + .../WithoutNulls/StringColumn_Test.cs | 91 + .../WithoutNulls/TimestampColumn_Test.cs | 50 + .../Data/optimized_reader_test_file-info.txt | 163 +- .../optimized_reader_test_file_no_nulls.csv | 10001 ++++++++++++++++ .../optimized_reader_test_file_no_nulls.orc | Bin 0 -> 139313 bytes .../optimized_reader_test_file_no_nulls.txt | 131 + .../TestByteRangeProviderParallel.cs | 4 +- 30 files changed, 10856 insertions(+), 129 deletions(-) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{_BaseColumnType.cs => BaseColumnTypes.cs} (77%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/BinaryColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/BooleanColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/ByteColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DateColumn_Test.cs (89%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DecimalAsDoubleColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DecimalColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DoubleColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/FloatColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/IntegerColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/StringColumn_Test.cs (95%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/TimestampColumn_Test.cs (92%) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 13a08bb..7046bee 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -116,18 +116,18 @@ public void Run() if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"" + - //$"{source}," + - //$"{symbol}," + - //$"{time.ToString().PadRight(15, '0')}," + - //$"{size}" + - //$" " + - //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - //$"{dobl}," + + $"{source}," + + $"{symbol}," + + $"{time.ToString().PadRight(15, '0')}," + + $"{size}" + + $" " + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + $"{dobl}," + $"{sing}," + - //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - //$"{tinyInt}," + - //$"{boolean}" + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}," + + $"{boolean}" + $"" ); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index 485bde9..a5c959f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -17,11 +17,16 @@ + + + + + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs similarity index 77% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs index 722ca49..5506719 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs @@ -6,17 +6,34 @@ namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes { - public abstract class _BaseColumnType + public abstract class _BaseColumnTypeWithNulls : BaseColumnTypes + { + public _BaseColumnTypeWithNulls() : base("optimized_reader_test_file") + { + } + } + + public abstract class _BaseColumnTypeWithoutNulls : BaseColumnTypes + { + public _BaseColumnTypeWithoutNulls() : base("optimized_reader_test_file_no_nulls") + { + } + } + + public abstract class BaseColumnTypes { private protected readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); - private protected readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProviderParallel(); private protected readonly (List sources, List symbols, List times, List timesAsDouble, List sizes, List dates, List doubles, List floats, List timestamps, List binaries, List bytes, List booleans) _expectedValues = (new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List()); + private protected readonly IByteRangeProvider _byteRangeProvider; + private readonly DataFileHelper _expectedValuesFile; - private protected _BaseColumnType() + public BaseColumnTypes(string fileName) { - var expectedDataFile = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.csv"); - var expectedDataStream = expectedDataFile.GetStream(); + _byteRangeProvider = new TestByteRangeProviderParallel($"{fileName}.orc"); + _expectedValuesFile = new DataFileHelper(typeof(TestByteRangeProvider), $"{fileName}.csv"); + + var expectedDataStream = _expectedValuesFile.GetStream(); using (StreamReader reader = new StreamReader(expectedDataStream)) { while (!reader.EndOfStream) @@ -40,7 +57,7 @@ private protected _BaseColumnType() } } - ~_BaseColumnType() + ~BaseColumnTypes() { _byteRangeProvider.Dispose(); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index b9c21bf..84f0558 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -1,9 +1,9 @@ using System.Text; using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class BinaryColumn_Test : _BaseColumnType + public class BinaryColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Binary_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index 7ebe496..c881e80 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class BooleanColumn_Test : _BaseColumnType + public class BooleanColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Boolean_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 1bd583a..0de92dd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class ByteColumn_Test : _BaseColumnType + public class ByteColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Byte_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs similarity index 89% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 794f60e..54dfac0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -1,9 +1,9 @@ using System; using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DateColumn_Test : _BaseColumnType + public class DateColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Date_Column_10k_Values() @@ -32,7 +32,7 @@ public void Date_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("byte"); + var column = reader.GetColumn("date"); var buffer = reader.CreateDateColumnBuffer(column); reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 2c4f76d..8a2499a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DecimalAsDoubleColumn_Test : _BaseColumnType + public class DecimalAsDoubleColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void DecimalAsDouble_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index b02c7a6..5950f4d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DecimalColumn_Test : _BaseColumnType + public class DecimalColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Decimal_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index 101ad06..a7fad46 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DoubleColumn_Test : _BaseColumnType + public class DoubleColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Double_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index ee160f6..5e802e3 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class FloatColumn_Test : _BaseColumnType + public class FloatColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Float_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 84724ad..f526c1b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class IntegerColumn_Test : _BaseColumnType + public class IntegerColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Integer_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs similarity index 95% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index ee9f10b..43e00ff 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class StringColumn_Test : _BaseColumnType + public class StringColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void String_DirectV2_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index 2b2e772..6f8fd7b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -1,9 +1,9 @@ using System; using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class TimestampColumn_Test : _BaseColumnType + public class TimestampColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Timestamp_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs new file mode 100644 index 0000000..0ba1c5c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -0,0 +1,50 @@ +using System.Text; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class BinaryColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Binary_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + + [Fact] + public void Binary_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs new file mode 100644 index 0000000..24696e1 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class BooleanColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Boolean_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + + [Fact] + public void Boolean_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs new file mode 100644 index 0000000..2dcb07a --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class ByteColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Byte_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + + [Fact] + public void Byte_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs new file mode 100644 index 0000000..c0cb127 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DateColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Date_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("date"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Date_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("date"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs new file mode 100644 index 0000000..3f6fbc7 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DecimalAsDoubleColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void DecimalAsDouble_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void DecimalAsDouble_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs new file mode 100644 index 0000000..049f4b9 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DecimalColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Decimal_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Decimal_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs new file mode 100644 index 0000000..83184ee --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DoubleColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Double_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Double_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs new file mode 100644 index 0000000..b2aced9 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class FloatColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Float_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Float_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs new file mode 100644 index 0000000..653626c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class IntegerColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Integer_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Integer_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs new file mode 100644 index 0000000..e3f8dd0 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -0,0 +1,91 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class StringColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void String_DirectV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DirectV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs new file mode 100644 index 0000000..7894686 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class TimestampColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Timestamp_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Timestamp_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt index f4269d3..b8215dc 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt @@ -1,5 +1,5 @@ -Processing data file optimized_reader_test_file.orc [length: 139598] -Structure for optimized_reader_test_file.orc +Processing data file optimized_reader_test_file_no_nulls.orc [length: 139313] +Structure for optimized_reader_test_file_no_nulls.orc File Version: 0.12 with ORC_14 by ORC Java 1.7.4 Compression: ZLIB @@ -24,74 +24,63 @@ Type: struct< Stripe Statistics: Stripe 1: Column 0: count: 10001 hasNull: false - Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 - Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 - Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 - Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 - Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 - Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 - Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 - Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 - Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 - Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 - Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22229 sum: 68791 + Column 10: count: 10001 hasNull: false bytesOnDisk: 87 min: -6 max: 75 sum: 548534 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3015 File Statistics: Column 0: count: 10001 hasNull: false - Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 - Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 - Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 - Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 - Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 - Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 - Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 - Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 - Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 - Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 - Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22229 sum: 68791 + Column 10: count: 10001 hasNull: false bytesOnDisk: 87 min: -6 max: 75 sum: 548534 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3015 Stripes: - Stripe: offset: 3 data: 137885 rows: 10001 tail: 233 index: 716 + Stripe: offset: 3 data: 137692 rows: 10001 tail: 197 index: 680 Stream: column 0 section ROW_INDEX start: 3 length 20 - Stream: column 1 section ROW_INDEX start: 23 length 72 - Stream: column 2 section ROW_INDEX start: 95 length 61 - Stream: column 3 section ROW_INDEX start: 156 length 100 - Stream: column 4 section ROW_INDEX start: 256 length 58 - Stream: column 5 section ROW_INDEX start: 314 length 46 - Stream: column 6 section ROW_INDEX start: 360 length 78 - Stream: column 7 section ROW_INDEX start: 438 length 65 - Stream: column 8 section ROW_INDEX start: 503 length 71 - Stream: column 9 section ROW_INDEX start: 574 length 50 - Stream: column 10 section ROW_INDEX start: 624 length 56 - Stream: column 11 section ROW_INDEX start: 680 length 39 - Stream: column 1 section PRESENT start: 719 length 15 - Stream: column 1 section DATA start: 734 length 20 - Stream: column 1 section LENGTH start: 754 length 7 - Stream: column 1 section DICTIONARY_DATA start: 761 length 26 - Stream: column 2 section PRESENT start: 787 length 15 - Stream: column 2 section DATA start: 802 length 18391 - Stream: column 2 section LENGTH start: 19193 length 30 - Stream: column 3 section PRESENT start: 19223 length 15 - Stream: column 3 section DATA start: 19238 length 18959 - Stream: column 3 section SECONDARY start: 38197 length 37 - Stream: column 4 section PRESENT start: 38234 length 19 - Stream: column 4 section DATA start: 38253 length 464 - Stream: column 5 section PRESENT start: 38717 length 19 - Stream: column 5 section DATA start: 38736 length 80 - Stream: column 6 section PRESENT start: 38816 length 18 - Stream: column 6 section DATA start: 38834 length 43239 - Stream: column 7 section PRESENT start: 82073 length 18 - Stream: column 7 section DATA start: 82091 length 34023 - Stream: column 8 section PRESENT start: 116114 length 18 - Stream: column 8 section DATA start: 116132 length 83 - Stream: column 8 section SECONDARY start: 116215 length 15 - Stream: column 9 section PRESENT start: 116230 length 18 - Stream: column 9 section DATA start: 116248 length 22191 - Stream: column 9 section LENGTH start: 138439 length 33 - Stream: column 10 section PRESENT start: 138472 length 18 - Stream: column 10 section DATA start: 138490 length 87 - Stream: column 11 section PRESENT start: 138577 length 21 - Stream: column 11 section DATA start: 138598 length 6 + Stream: column 1 section ROW_INDEX start: 23 length 68 + Stream: column 2 section ROW_INDEX start: 91 length 57 + Stream: column 3 section ROW_INDEX start: 148 length 96 + Stream: column 4 section ROW_INDEX start: 244 length 52 + Stream: column 5 section ROW_INDEX start: 296 length 49 + Stream: column 6 section ROW_INDEX start: 345 length 69 + Stream: column 7 section ROW_INDEX start: 414 length 68 + Stream: column 8 section ROW_INDEX start: 482 length 64 + Stream: column 9 section ROW_INDEX start: 546 length 45 + Stream: column 10 section ROW_INDEX start: 591 length 50 + Stream: column 11 section ROW_INDEX start: 641 length 42 + Stream: column 1 section DATA start: 683 length 20 + Stream: column 1 section LENGTH start: 703 length 7 + Stream: column 1 section DICTIONARY_DATA start: 710 length 26 + Stream: column 2 section DATA start: 736 length 18396 + Stream: column 2 section LENGTH start: 19132 length 30 + Stream: column 3 section DATA start: 19162 length 18962 + Stream: column 3 section SECONDARY start: 38124 length 37 + Stream: column 4 section DATA start: 38161 length 459 + Stream: column 5 section DATA start: 38620 length 74 + Stream: column 6 section DATA start: 38694 length 43212 + Stream: column 7 section DATA start: 81906 length 34041 + Stream: column 8 section DATA start: 115947 length 74 + Stream: column 8 section SECONDARY start: 116021 length 15 + Stream: column 9 section DATA start: 116036 length 22196 + Stream: column 9 section LENGTH start: 138232 length 33 + Stream: column 10 section DATA start: 138265 length 87 + Stream: column 11 section DATA start: 138352 length 23 Encoding column 0: DIRECT Encoding column 1: DICTIONARY_V2[2] Encoding column 2: DIRECT_V2 @@ -105,39 +94,39 @@ Stripes: Encoding column 10: DIRECT Encoding column 11: DIRECT Row group indices for column 1: - Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 Row group indices for column 2: - Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 Row group indices for column 3: - Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 + Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 Row group indices for column 4: - Entry 0: count: 9996 hasNull: true min: 0 max: 9973 sum: 49736817 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,24,3,0,0,735,8 + Entry 0: count: 10000 hasNull: false min: 0 max: 9973 sum: 49736873 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,615,8 Row group indices for column 5: - Entry 0: count: 9996 hasNull: true min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0,0,0,0,0 - Entry 1: count: 0 hasNull: true positions: 0,24,3,0,0,225,268 + Entry 0: count: 10000 hasNull: false min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: Hybrid AD 1997-05-20 max: Hybrid AD 1997-05-20 positions: 0,97,272 Row group indices for column 6: - Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.6000000001587 sum: 4995503.300000527 positions: 0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 999.7000000001588 max: 999.7000000001588 sum: 999.7000000001588 positions: 0,22,3,0,0,79968 + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.9000000001588 sum: 4999500.000000527 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 1000.0000000001588 max: 1000.0000000001588 sum: 1000.0000000001588 positions: 0,80000 Row group indices for column 7: - Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 positions: 0,0,0,0,0,0 - Entry 1: count: 0 hasNull: true sum: 0.0 positions: 0,22,3,0,0,39984 + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.8029174804688 sum: 4999355.885653399 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 999.9028930664062 max: 999.9028930664062 sum: 999.9028930664062 positions: 0,40000 Row group indices for column 8: - Entry 0: count: 9996 hasNull: true min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:47.0 max: 2015-01-01 02:46:47.0 positions: 0,22,3,0,0,225,268,0,76,268 + Entry 0: count: 10000 hasNull: false min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:41.0 max: 2015-01-01 02:46:41.0 positions: 0,97,272,0,76,272 Row group indices for column 9: - Entry 0: count: 9996 hasNull: true sum: 68772 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false sum: 4 positions: 0,22,3,0,0,68772,0,89,24 + Entry 0: count: 10000 hasNull: false sum: 68787 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 4 positions: 0,68787,0,89,25 Row group indices for column 10: - Entry 0: count: 9996 hasNull: true min: -6 max: 75 sum: 548315 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: -5 max: -5 sum: -5 positions: 0,22,3,0,0,10049,24 + Entry 0: count: 10000 hasNull: false min: -5 max: 75 sum: 548540 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: -6 max: -6 sum: -6 positions: 0,10053,25 Row group indices for column 11: - Entry 0: count: 9 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,3,0,0,0,1,1 + Entry 0: count: 10000 hasNull: false true: 3014 positions: 0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,20,4,0 -File length: 139598 bytes +File length: 139313 bytes Padding length: 0 bytes Padding ratio: 0% \ No newline at end of file diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv new file mode 100644 index 0000000..01a321b --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv @@ -0,0 +1,10001 @@ +CTSPillarNetworkA,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,True +CTSPillarNetworkA,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,True +CTSPillarNetworkA,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35,True +CTSPillarNetworkA,3,3,3,1970-01-04,0.30000000000000004,0.3,2015-01-01 00:00:03,bin3,75,True +CTSPillarNetworkA,4,4,4,1970-01-05,0.4,0.4,2015-01-01 00:00:04,bin4,35,True +CTSPillarNetworkA,5,5,5,1970-01-06,0.5,0.5,2015-01-01 00:00:05,bin5,75,True +CTSPillarNetworkA,6,6,6,1970-01-07,0.6,0.6,2015-01-01 00:00:06,bin6,35,True +CTSPillarNetworkA,7,7,7,1970-01-08,0.7,0.70000005,2015-01-01 00:00:07,bin7,75,True +CTSPillarNetworkA,8,8,8,1970-01-09,0.7999999999999999,0.8000001,2015-01-01 00:00:08,bin8,35,True +CTSPillarNetworkA,9,9,9,1970-01-10,0.8999999999999999,0.9000001,2015-01-01 00:00:09,bin9,75,True +CTSPillarNetworkA,10,10,10,1970-01-11,0.9999999999999999,1.0000001,2015-01-01 00:00:10,bin10,35,True +CTSPillarNetworkA,11,11,11,1970-01-12,1.0999999999999999,1.1000001,2015-01-01 00:00:11,bin11,75,True +CTSPillarNetworkA,12,12,12,1970-01-13,1.2,1.2000002,2015-01-01 00:00:12,bin12,35,True +CTSPillarNetworkA,13,13,13,1970-01-14,1.3,1.3000002,2015-01-01 00:00:13,bin13,75,True +CTSPillarNetworkA,14,14,14,1970-01-15,1.4000000000000001,1.4000002,2015-01-01 00:00:14,bin14,35,True +CTSPillarNetworkA,15,15,15,1970-01-16,1.5000000000000002,1.5000002,2015-01-01 00:00:15,bin15,75,True +CTSPillarNetworkA,16,16,16,1970-01-17,1.6000000000000003,1.6000003,2015-01-01 00:00:16,bin16,35,True +CTSPillarNetworkA,17,17,17,1970-01-18,1.7000000000000004,1.7000003,2015-01-01 00:00:17,bin17,75,True +CTSPillarNetworkA,18,18,18,1970-01-19,1.8000000000000005,1.8000003,2015-01-01 00:00:18,bin18,35,True +CTSPillarNetworkA,19,19,19,1970-01-20,1.9000000000000006,1.9000003,2015-01-01 00:00:19,bin19,75,True +CTSPillarNetworkA,20,20,20,1970-01-21,2.0000000000000004,2.0000002,2015-01-01 00:00:20,bin20,35,True +CTSPillarNetworkA,21,21,21,1970-01-22,2.1000000000000005,2.1000001,2015-01-01 00:00:21,bin21,75,True +CTSPillarNetworkA,22,22,22,1970-01-23,2.2000000000000006,2.2,2015-01-01 00:00:22,bin22,35,True +CTSPillarNetworkA,23,23,23,1970-01-24,2.3000000000000007,2.3,2015-01-01 00:00:23,bin23,75,True +CTSPillarNetworkA,24,24,24,1970-01-25,2.400000000000001,2.3999999,2015-01-01 00:00:24,bin24,35,True +CTSPillarNetworkA,25,25,25,1970-01-26,2.500000000000001,2.4999998,2015-01-01 00:00:25,bin25,75,True +CTSPillarNetworkA,26,26,26,1970-01-27,2.600000000000001,2.5999997,2015-01-01 00:00:26,bin26,35,True +CTSPillarNetworkA,27,27,27,1970-01-28,2.700000000000001,2.6999996,2015-01-01 00:00:27,bin27,75,True +CTSPillarNetworkA,28,28,28,1970-01-29,2.800000000000001,2.7999995,2015-01-01 00:00:28,bin28,35,True +CTSPillarNetworkA,29,29,29,1970-01-30,2.9000000000000012,2.8999994,2015-01-01 00:00:29,bin29,75,True +CTSPillarNetworkA,30,30,30,1970-01-31,3.0000000000000013,2.9999993,2015-01-01 00:00:30,bin30,35,True +CTSPillarNetworkA,31,31,31,1970-02-01,3.1000000000000014,3.0999992,2015-01-01 00:00:31,bin31,75,True +CTSPillarNetworkA,32,32,32,1970-02-02,3.2000000000000015,3.199999,2015-01-01 00:00:32,bin32,35,True +CTSPillarNetworkA,33,33,33,1970-02-03,3.3000000000000016,3.299999,2015-01-01 00:00:33,bin33,75,True +CTSPillarNetworkA,34,34,34,1970-02-04,3.4000000000000017,3.399999,2015-01-01 00:00:34,bin34,35,True +CTSPillarNetworkA,35,35,35,1970-02-05,3.5000000000000018,3.4999988,2015-01-01 00:00:35,bin35,75,True +CTSPillarNetworkA,36,36,36,1970-02-06,3.600000000000002,3.5999987,2015-01-01 00:00:36,bin36,35,True +CTSPillarNetworkA,37,37,37,1970-02-07,3.700000000000002,3.6999986,2015-01-01 00:00:37,bin37,75,True +CTSPillarNetworkA,38,38,38,1970-02-08,3.800000000000002,3.7999985,2015-01-01 00:00:38,bin38,35,True +CTSPillarNetworkA,39,39,39,1970-02-09,3.900000000000002,3.8999984,2015-01-01 00:00:39,bin39,75,True +CTSPillarNetworkA,40,40,40,1970-02-10,4.000000000000002,3.9999983,2015-01-01 00:00:40,bin40,35,True +CTSPillarNetworkA,41,41,41,1970-02-11,4.100000000000001,4.0999985,2015-01-01 00:00:41,bin41,75,True +CTSPillarNetworkA,42,42,42,1970-02-12,4.200000000000001,4.1999984,2015-01-01 00:00:42,bin42,35,True +CTSPillarNetworkA,43,43,43,1970-02-13,4.300000000000001,4.2999983,2015-01-01 00:00:43,bin43,75,True +CTSPillarNetworkA,44,44,44,1970-02-14,4.4,4.399998,2015-01-01 00:00:44,bin44,35,True +CTSPillarNetworkA,45,45,45,1970-02-15,4.5,4.499998,2015-01-01 00:00:45,bin45,75,True +CTSPillarNetworkA,46,46,46,1970-02-16,4.6,4.599998,2015-01-01 00:00:46,bin46,35,True +CTSPillarNetworkA,47,47,47,1970-02-17,4.699999999999999,4.699998,2015-01-01 00:00:47,bin47,75,True +CTSPillarNetworkA,48,48,48,1970-02-18,4.799999999999999,4.799998,2015-01-01 00:00:48,bin48,35,True +CTSPillarNetworkA,49,49,49,1970-02-19,4.899999999999999,4.8999977,2015-01-01 00:00:49,bin49,75,True +CTSPillarNetworkA,50,50,50,1970-02-20,4.999999999999998,4.9999976,2015-01-01 00:00:50,bin50,35,True +CTSPillarNetworkA,51,51,51,1970-02-21,5.099999999999998,5.0999975,2015-01-01 00:00:51,bin51,75,True +CTSPillarNetworkA,52,52,52,1970-02-22,5.1999999999999975,5.1999974,2015-01-01 00:00:52,bin52,35,True +CTSPillarNetworkA,53,53,53,1970-02-23,5.299999999999997,5.2999973,2015-01-01 00:00:53,bin53,75,True +CTSPillarNetworkA,54,54,54,1970-02-24,5.399999999999997,5.399997,2015-01-01 00:00:54,bin54,35,True +CTSPillarNetworkA,55,55,55,1970-02-25,5.4999999999999964,5.499997,2015-01-01 00:00:55,bin55,75,True +CTSPillarNetworkA,56,56,56,1970-02-26,5.599999999999996,5.599997,2015-01-01 00:00:56,bin56,35,True +CTSPillarNetworkA,57,57,57,1970-02-27,5.699999999999996,5.699997,2015-01-01 00:00:57,bin57,75,True +CTSPillarNetworkA,58,58,58,1970-02-28,5.799999999999995,5.799997,2015-01-01 00:00:58,bin58,35,True +CTSPillarNetworkA,59,59,59,1970-03-01,5.899999999999995,5.8999968,2015-01-01 00:00:59,bin59,75,True +CTSPillarNetworkA,60,60,60,1970-03-02,5.999999999999995,5.9999967,2015-01-01 00:01:00,bin60,35,True +CTSPillarNetworkA,61,61,61,1970-03-03,6.099999999999994,6.0999966,2015-01-01 00:01:01,bin61,75,True +CTSPillarNetworkA,62,62,62,1970-03-04,6.199999999999994,6.1999965,2015-01-01 00:01:02,bin62,35,True +CTSPillarNetworkA,63,63,63,1970-03-05,6.299999999999994,6.2999964,2015-01-01 00:01:03,bin63,75,True +CTSPillarNetworkA,64,64,64,1970-03-06,6.399999999999993,6.3999963,2015-01-01 00:01:04,bin64,35,True +CTSPillarNetworkA,65,65,65,1970-03-07,6.499999999999993,6.499996,2015-01-01 00:01:05,bin65,75,True +CTSPillarNetworkA,66,66,66,1970-03-08,6.5999999999999925,6.599996,2015-01-01 00:01:06,bin66,35,True +CTSPillarNetworkA,67,67,67,1970-03-09,6.699999999999992,6.699996,2015-01-01 00:01:07,bin67,75,True +CTSPillarNetworkA,68,68,68,1970-03-10,6.799999999999992,6.799996,2015-01-01 00:01:08,bin68,35,True +CTSPillarNetworkA,69,69,69,1970-03-11,6.8999999999999915,6.899996,2015-01-01 00:01:09,bin69,75,True +CTSPillarNetworkA,70,70,70,1970-03-12,6.999999999999991,6.9999957,2015-01-01 00:01:10,bin70,35,True +CTSPillarNetworkA,71,71,71,1970-03-13,7.099999999999991,7.0999956,2015-01-01 00:01:11,bin71,75,True +CTSPillarNetworkA,72,72,72,1970-03-14,7.19999999999999,7.1999955,2015-01-01 00:01:12,bin72,35,True +CTSPillarNetworkA,73,73,73,1970-03-15,7.29999999999999,7.2999954,2015-01-01 00:01:13,bin73,75,True +CTSPillarNetworkA,74,74,74,1970-03-16,7.39999999999999,7.3999953,2015-01-01 00:01:14,bin74,35,True +CTSPillarNetworkA,75,75,75,1970-03-17,7.499999999999989,7.499995,2015-01-01 00:01:15,bin75,75,True +CTSPillarNetworkA,76,76,76,1970-03-18,7.599999999999989,7.599995,2015-01-01 00:01:16,bin76,35,True +CTSPillarNetworkA,77,77,77,1970-03-19,7.699999999999989,7.699995,2015-01-01 00:01:17,bin77,75,True +CTSPillarNetworkA,78,78,78,1970-03-20,7.799999999999988,7.799995,2015-01-01 00:01:18,bin78,35,True +CTSPillarNetworkA,79,79,79,1970-03-21,7.899999999999988,7.899995,2015-01-01 00:01:19,bin79,75,True +CTSPillarNetworkA,80,80,80,1970-03-22,7.999999999999988,7.9999948,2015-01-01 00:01:20,bin80,35,True +CTSPillarNetworkA,81,81,81,1970-03-23,8.099999999999987,8.099995,2015-01-01 00:01:21,bin81,75,True +CTSPillarNetworkA,82,82,82,1970-03-24,8.199999999999987,8.199995,2015-01-01 00:01:22,bin82,35,True +CTSPillarNetworkA,83,83,83,1970-03-25,8.299999999999986,8.299995,2015-01-01 00:01:23,bin83,75,True +CTSPillarNetworkA,84,84,84,1970-03-26,8.399999999999986,8.399996,2015-01-01 00:01:24,bin84,35,True +CTSPillarNetworkA,85,85,85,1970-03-27,8.499999999999986,8.499996,2015-01-01 00:01:25,bin85,75,True +CTSPillarNetworkA,86,86,86,1970-03-28,8.599999999999985,8.599997,2015-01-01 00:01:26,bin86,35,True +CTSPillarNetworkA,87,87,87,1970-03-29,8.699999999999985,8.699997,2015-01-01 00:01:27,bin87,75,True +CTSPillarNetworkA,88,88,88,1970-03-30,8.799999999999985,8.799997,2015-01-01 00:01:28,bin88,35,True +CTSPillarNetworkA,89,89,89,1970-03-31,8.899999999999984,8.899998,2015-01-01 00:01:29,bin89,75,True +CTSPillarNetworkA,90,90,90,1970-04-01,8.999999999999984,8.999998,2015-01-01 00:01:30,bin90,35,True +CTSPillarNetworkA,91,91,91,1970-04-02,9.099999999999984,9.099998,2015-01-01 00:01:31,bin91,75,True +CTSPillarNetworkA,92,92,92,1970-04-03,9.199999999999983,9.199999,2015-01-01 00:01:32,bin92,35,True +CTSPillarNetworkA,93,93,93,1970-04-04,9.299999999999983,9.299999,2015-01-01 00:01:33,bin93,75,True +CTSPillarNetworkA,94,94,94,1970-04-05,9.399999999999983,9.4,2015-01-01 00:01:34,bin94,35,True +CTSPillarNetworkA,95,95,95,1970-04-06,9.499999999999982,9.5,2015-01-01 00:01:35,bin95,75,True +CTSPillarNetworkA,96,96,96,1970-04-07,9.599999999999982,9.6,2015-01-01 00:01:36,bin96,35,True +CTSPillarNetworkA,97,97,97,1970-04-08,9.699999999999982,9.700001,2015-01-01 00:01:37,bin97,75,True +CTSPillarNetworkA,98,98,98,1970-04-09,9.799999999999981,9.800001,2015-01-01 00:01:38,bin98,35,True +CTSPillarNetworkA,99,99,99,1970-04-10,9.89999999999998,9.900002,2015-01-01 00:01:39,bin99,75,True +CTSPillarNetworkA,100,100,100,1970-04-11,9.99999999999998,10.000002,2015-01-01 00:01:40,bin100,35,True +CTSPillarNetworkA,101,101,101,1970-04-12,10.09999999999998,10.100002,2015-01-01 00:01:41,bin101,75,True +CTSPillarNetworkA,102,102,102,1970-04-13,10.19999999999998,10.200003,2015-01-01 00:01:42,bin102,35,True +CTSPillarNetworkA,103,103,103,1970-04-14,10.29999999999998,10.300003,2015-01-01 00:01:43,bin103,75,True +CTSPillarNetworkA,104,104,104,1970-04-15,10.399999999999979,10.400003,2015-01-01 00:01:44,bin104,35,True +CTSPillarNetworkA,105,105,105,1970-04-16,10.499999999999979,10.500004,2015-01-01 00:01:45,bin105,75,True +CTSPillarNetworkA,106,106,106,1970-04-17,10.599999999999978,10.600004,2015-01-01 00:01:46,bin106,35,True +CTSPillarNetworkA,107,107,107,1970-04-18,10.699999999999978,10.700005,2015-01-01 00:01:47,bin107,75,True +CTSPillarNetworkA,108,108,108,1970-04-19,10.799999999999978,10.800005,2015-01-01 00:01:48,bin108,35,True +CTSPillarNetworkA,109,109,109,1970-04-20,10.899999999999977,10.900005,2015-01-01 00:01:49,bin109,75,True +CTSPillarNetworkA,110,110,110,1970-04-21,10.999999999999977,11.000006,2015-01-01 00:01:50,bin110,35,True +CTSPillarNetworkA,111,111,111,1970-04-22,11.099999999999977,11.100006,2015-01-01 00:01:51,bin111,75,True +CTSPillarNetworkA,112,112,112,1970-04-23,11.199999999999976,11.2000065,2015-01-01 00:01:52,bin112,35,True +CTSPillarNetworkA,113,113,113,1970-04-24,11.299999999999976,11.300007,2015-01-01 00:01:53,bin113,75,True +CTSPillarNetworkA,114,114,114,1970-04-25,11.399999999999975,11.400007,2015-01-01 00:01:54,bin114,35,True +CTSPillarNetworkA,115,115,115,1970-04-26,11.499999999999975,11.500008,2015-01-01 00:01:55,bin115,75,True +CTSPillarNetworkA,116,116,116,1970-04-27,11.599999999999975,11.600008,2015-01-01 00:01:56,bin116,35,True +CTSPillarNetworkA,117,117,117,1970-04-28,11.699999999999974,11.700008,2015-01-01 00:01:57,bin117,75,True +CTSPillarNetworkA,118,118,118,1970-04-29,11.799999999999974,11.800009,2015-01-01 00:01:58,bin118,35,True +CTSPillarNetworkA,119,119,119,1970-04-30,11.899999999999974,11.900009,2015-01-01 00:01:59,bin119,75,True +CTSPillarNetworkA,120,120,120,1970-05-01,11.999999999999973,12.00001,2015-01-01 00:02:00,bin120,35,True +CTSPillarNetworkA,121,121,121,1970-05-02,12.099999999999973,12.10001,2015-01-01 00:02:01,bin121,75,True +CTSPillarNetworkA,122,122,122,1970-05-03,12.199999999999973,12.20001,2015-01-01 00:02:02,bin122,35,True +CTSPillarNetworkA,123,123,123,1970-05-04,12.299999999999972,12.300011,2015-01-01 00:02:03,bin123,75,True +CTSPillarNetworkA,124,124,124,1970-05-05,12.399999999999972,12.400011,2015-01-01 00:02:04,bin124,35,True +CTSPillarNetworkA,125,125,125,1970-05-06,12.499999999999972,12.500011,2015-01-01 00:02:05,bin125,75,True +CTSPillarNetworkA,126,126,126,1970-05-07,12.599999999999971,12.600012,2015-01-01 00:02:06,bin126,35,True +CTSPillarNetworkA,127,127,127,1970-05-08,12.69999999999997,12.700012,2015-01-01 00:02:07,bin127,75,True +CTSPillarNetworkA,128,128,128,1970-05-09,12.79999999999997,12.800013,2015-01-01 00:02:08,bin128,35,True +CTSPillarNetworkA,129,129,129,1970-05-10,12.89999999999997,12.900013,2015-01-01 00:02:09,bin129,75,True +CTSPillarNetworkA,130,130,130,1970-05-11,12.99999999999997,13.000013,2015-01-01 00:02:10,bin130,35,True +CTSPillarNetworkA,131,131,131,1970-05-12,13.09999999999997,13.100014,2015-01-01 00:02:11,bin131,75,True +CTSPillarNetworkA,132,132,132,1970-05-13,13.199999999999969,13.200014,2015-01-01 00:02:12,bin132,35,True +CTSPillarNetworkA,133,133,133,1970-05-14,13.299999999999969,13.3000145,2015-01-01 00:02:13,bin133,75,True +CTSPillarNetworkA,134,134,134,1970-05-15,13.399999999999968,13.400015,2015-01-01 00:02:14,bin134,35,True +CTSPillarNetworkA,135,135,135,1970-05-16,13.499999999999968,13.500015,2015-01-01 00:02:15,bin135,75,True +CTSPillarNetworkA,136,136,136,1970-05-17,13.599999999999968,13.600016,2015-01-01 00:02:16,bin136,35,True +CTSPillarNetworkA,137,137,137,1970-05-18,13.699999999999967,13.700016,2015-01-01 00:02:17,bin137,75,True +CTSPillarNetworkA,138,138,138,1970-05-19,13.799999999999967,13.800016,2015-01-01 00:02:18,bin138,35,True +CTSPillarNetworkA,139,139,139,1970-05-20,13.899999999999967,13.900017,2015-01-01 00:02:19,bin139,75,True +CTSPillarNetworkA,140,140,140,1970-05-21,13.999999999999966,14.000017,2015-01-01 00:02:20,bin140,35,True +CTSPillarNetworkA,141,141,141,1970-05-22,14.099999999999966,14.100018,2015-01-01 00:02:21,bin141,75,True +CTSPillarNetworkA,142,142,142,1970-05-23,14.199999999999966,14.200018,2015-01-01 00:02:22,bin142,35,True +CTSPillarNetworkA,143,143,143,1970-05-24,14.299999999999965,14.300018,2015-01-01 00:02:23,bin143,75,True +CTSPillarNetworkA,144,144,144,1970-05-25,14.399999999999965,14.400019,2015-01-01 00:02:24,bin144,35,True +CTSPillarNetworkA,145,145,145,1970-05-26,14.499999999999964,14.500019,2015-01-01 00:02:25,bin145,75,True +CTSPillarNetworkA,146,146,146,1970-05-27,14.599999999999964,14.600019,2015-01-01 00:02:26,bin146,35,True +CTSPillarNetworkA,147,147,147,1970-05-28,14.699999999999964,14.70002,2015-01-01 00:02:27,bin147,75,True +CTSPillarNetworkA,148,148,148,1970-05-29,14.799999999999963,14.80002,2015-01-01 00:02:28,bin148,35,True +CTSPillarNetworkA,149,149,149,1970-05-30,14.899999999999963,14.900021,2015-01-01 00:02:29,bin149,75,True +CTSPillarNetworkA,150,150,150,1970-05-31,14.999999999999963,15.000021,2015-01-01 00:02:30,bin150,35,True +CTSPillarNetworkA,151,151,151,1970-06-01,15.099999999999962,15.100021,2015-01-01 00:02:31,bin151,75,True +CTSPillarNetworkA,152,152,152,1970-06-02,15.199999999999962,15.200022,2015-01-01 00:02:32,bin152,35,True +CTSPillarNetworkA,153,153,153,1970-06-03,15.299999999999962,15.300022,2015-01-01 00:02:33,bin153,75,True +CTSPillarNetworkA,154,154,154,1970-06-04,15.399999999999961,15.4000225,2015-01-01 00:02:34,bin154,35,True +CTSPillarNetworkA,155,155,155,1970-06-05,15.499999999999961,15.500023,2015-01-01 00:02:35,bin155,75,True +CTSPillarNetworkA,156,156,156,1970-06-06,15.59999999999996,15.600023,2015-01-01 00:02:36,bin156,35,True +CTSPillarNetworkA,157,157,157,1970-06-07,15.69999999999996,15.700024,2015-01-01 00:02:37,bin157,75,True +CTSPillarNetworkA,158,158,158,1970-06-08,15.79999999999996,15.800024,2015-01-01 00:02:38,bin158,35,True +CTSPillarNetworkA,159,159,159,1970-06-09,15.89999999999996,15.900024,2015-01-01 00:02:39,bin159,75,True +CTSPillarNetworkA,160,160,160,1970-06-10,15.99999999999996,16.000025,2015-01-01 00:02:40,bin160,35,True +CTSPillarNetworkA,161,161,161,1970-06-11,16.09999999999996,16.100025,2015-01-01 00:02:41,bin161,75,True +CTSPillarNetworkA,162,162,162,1970-06-12,16.19999999999996,16.200026,2015-01-01 00:02:42,bin162,35,True +CTSPillarNetworkA,163,163,163,1970-06-13,16.29999999999996,16.300026,2015-01-01 00:02:43,bin163,75,True +CTSPillarNetworkA,164,164,164,1970-06-14,16.399999999999963,16.400026,2015-01-01 00:02:44,bin164,35,True +CTSPillarNetworkA,165,165,165,1970-06-15,16.499999999999964,16.500027,2015-01-01 00:02:45,bin165,75,True +CTSPillarNetworkA,166,166,166,1970-06-16,16.599999999999966,16.600027,2015-01-01 00:02:46,bin166,35,True +CTSPillarNetworkA,167,167,167,1970-06-17,16.699999999999967,16.700027,2015-01-01 00:02:47,bin167,75,True +CTSPillarNetworkA,168,168,168,1970-06-18,16.79999999999997,16.800028,2015-01-01 00:02:48,bin168,35,True +CTSPillarNetworkA,169,169,169,1970-06-19,16.89999999999997,16.900028,2015-01-01 00:02:49,bin169,75,True +CTSPillarNetworkA,170,170,170,1970-06-20,16.99999999999997,17.000029,2015-01-01 00:02:50,bin170,35,True +CTSPillarNetworkA,171,171,171,1970-06-21,17.099999999999973,17.100029,2015-01-01 00:02:51,bin171,75,True +CTSPillarNetworkA,172,172,172,1970-06-22,17.199999999999974,17.20003,2015-01-01 00:02:52,bin172,35,True +CTSPillarNetworkA,173,173,173,1970-06-23,17.299999999999976,17.30003,2015-01-01 00:02:53,bin173,75,True +CTSPillarNetworkA,174,174,174,1970-06-24,17.399999999999977,17.40003,2015-01-01 00:02:54,bin174,35,True +CTSPillarNetworkA,175,175,175,1970-06-25,17.49999999999998,17.50003,2015-01-01 00:02:55,bin175,75,True +CTSPillarNetworkA,176,176,176,1970-06-26,17.59999999999998,17.60003,2015-01-01 00:02:56,bin176,35,True +CTSPillarNetworkA,177,177,177,1970-06-27,17.69999999999998,17.700031,2015-01-01 00:02:57,bin177,75,True +CTSPillarNetworkA,178,178,178,1970-06-28,17.799999999999983,17.800032,2015-01-01 00:02:58,bin178,35,True +CTSPillarNetworkA,179,179,179,1970-06-29,17.899999999999984,17.900032,2015-01-01 00:02:59,bin179,75,True +CTSPillarNetworkA,180,180,180,1970-06-30,17.999999999999986,18.000032,2015-01-01 00:03:00,bin180,35,True +CTSPillarNetworkA,181,181,181,1970-07-01,18.099999999999987,18.100033,2015-01-01 00:03:01,bin181,75,True +CTSPillarNetworkA,182,182,182,1970-07-02,18.19999999999999,18.200033,2015-01-01 00:03:02,bin182,35,True +CTSPillarNetworkA,183,183,183,1970-07-03,18.29999999999999,18.300034,2015-01-01 00:03:03,bin183,75,True +CTSPillarNetworkA,184,184,184,1970-07-04,18.39999999999999,18.400034,2015-01-01 00:03:04,bin184,35,True +CTSPillarNetworkA,185,185,185,1970-07-05,18.499999999999993,18.500034,2015-01-01 00:03:05,bin185,75,True +CTSPillarNetworkA,186,186,186,1970-07-06,18.599999999999994,18.600035,2015-01-01 00:03:06,bin186,35,True +CTSPillarNetworkA,187,187,187,1970-07-07,18.699999999999996,18.700035,2015-01-01 00:03:07,bin187,75,True +CTSPillarNetworkA,188,188,188,1970-07-08,18.799999999999997,18.800035,2015-01-01 00:03:08,bin188,35,True +CTSPillarNetworkA,189,189,189,1970-07-09,18.9,18.900036,2015-01-01 00:03:09,bin189,75,True +CTSPillarNetworkA,190,190,190,1970-07-10,19,19.000036,2015-01-01 00:03:10,bin190,35,True +CTSPillarNetworkA,191,191,191,1970-07-11,19.1,19.100037,2015-01-01 00:03:11,bin191,75,True +CTSPillarNetworkA,192,192,192,1970-07-12,19.200000000000003,19.200037,2015-01-01 00:03:12,bin192,35,True +CTSPillarNetworkA,193,193,193,1970-07-13,19.300000000000004,19.300037,2015-01-01 00:03:13,bin193,75,True +CTSPillarNetworkA,194,194,194,1970-07-14,19.400000000000006,19.400038,2015-01-01 00:03:14,bin194,35,True +CTSPillarNetworkA,195,195,195,1970-07-15,19.500000000000007,19.500038,2015-01-01 00:03:15,bin195,75,True +CTSPillarNetworkA,196,196,196,1970-07-16,19.60000000000001,19.600039,2015-01-01 00:03:16,bin196,35,True +CTSPillarNetworkA,197,197,197,1970-07-17,19.70000000000001,19.700039,2015-01-01 00:03:17,bin197,75,True +CTSPillarNetworkA,198,198,198,1970-07-18,19.80000000000001,19.80004,2015-01-01 00:03:18,bin198,35,True +CTSPillarNetworkA,199,199,199,1970-07-19,19.900000000000013,19.90004,2015-01-01 00:03:19,bin199,75,True +CTSPillarNetworkA,200,200,200,1970-07-20,20.000000000000014,20.00004,2015-01-01 00:03:20,bin200,35,True +CTSPillarNetworkA,201,201,201,1970-07-21,20.100000000000016,20.10004,2015-01-01 00:03:21,bin201,75,True +CTSPillarNetworkA,202,202,202,1970-07-22,20.200000000000017,20.20004,2015-01-01 00:03:22,bin202,35,True +CTSPillarNetworkA,203,203,203,1970-07-23,20.30000000000002,20.300041,2015-01-01 00:03:23,bin203,75,True +CTSPillarNetworkA,204,204,204,1970-07-24,20.40000000000002,20.400042,2015-01-01 00:03:24,bin204,35,True +CTSPillarNetworkA,205,205,205,1970-07-25,20.50000000000002,20.500042,2015-01-01 00:03:25,bin205,75,True +CTSPillarNetworkA,206,206,206,1970-07-26,20.600000000000023,20.600042,2015-01-01 00:03:26,bin206,35,True +CTSPillarNetworkA,207,207,207,1970-07-27,20.700000000000024,20.700043,2015-01-01 00:03:27,bin207,75,True +CTSPillarNetworkA,208,208,208,1970-07-28,20.800000000000026,20.800043,2015-01-01 00:03:28,bin208,35,True +CTSPillarNetworkA,209,209,209,1970-07-29,20.900000000000027,20.900043,2015-01-01 00:03:29,bin209,75,True +CTSPillarNetworkA,210,210,210,1970-07-30,21.00000000000003,21.000044,2015-01-01 00:03:30,bin210,35,True +CTSPillarNetworkA,211,211,211,1970-07-31,21.10000000000003,21.100044,2015-01-01 00:03:31,bin211,75,True +CTSPillarNetworkA,212,212,212,1970-08-01,21.20000000000003,21.200045,2015-01-01 00:03:32,bin212,35,True +CTSPillarNetworkA,213,213,213,1970-08-02,21.300000000000033,21.300045,2015-01-01 00:03:33,bin213,75,True +CTSPillarNetworkA,214,214,214,1970-08-03,21.400000000000034,21.400045,2015-01-01 00:03:34,bin214,35,True +CTSPillarNetworkA,215,215,215,1970-08-04,21.500000000000036,21.500046,2015-01-01 00:03:35,bin215,75,True +CTSPillarNetworkA,216,216,216,1970-08-05,21.600000000000037,21.600046,2015-01-01 00:03:36,bin216,35,True +CTSPillarNetworkA,217,217,217,1970-08-06,21.70000000000004,21.700047,2015-01-01 00:03:37,bin217,75,True +CTSPillarNetworkA,218,218,218,1970-08-07,21.80000000000004,21.800047,2015-01-01 00:03:38,bin218,35,True +CTSPillarNetworkA,219,219,219,1970-08-08,21.90000000000004,21.900047,2015-01-01 00:03:39,bin219,75,True +CTSPillarNetworkA,220,220,220,1970-08-09,22.000000000000043,22.000048,2015-01-01 00:03:40,bin220,35,True +CTSPillarNetworkA,221,221,221,1970-08-10,22.100000000000044,22.100048,2015-01-01 00:03:41,bin221,75,True +CTSPillarNetworkA,222,222,222,1970-08-11,22.200000000000045,22.200048,2015-01-01 00:03:42,bin222,35,True +CTSPillarNetworkA,223,223,223,1970-08-12,22.300000000000047,22.300049,2015-01-01 00:03:43,bin223,75,True +CTSPillarNetworkA,224,224,224,1970-08-13,22.40000000000005,22.40005,2015-01-01 00:03:44,bin224,35,True +CTSPillarNetworkA,225,225,225,1970-08-14,22.50000000000005,22.50005,2015-01-01 00:03:45,bin225,75,True +CTSPillarNetworkA,226,226,226,1970-08-15,22.60000000000005,22.60005,2015-01-01 00:03:46,bin226,35,True +CTSPillarNetworkA,227,227,227,1970-08-16,22.700000000000053,22.70005,2015-01-01 00:03:47,bin227,75,True +CTSPillarNetworkA,228,228,228,1970-08-17,22.800000000000054,22.80005,2015-01-01 00:03:48,bin228,35,True +CTSPillarNetworkA,229,229,229,1970-08-18,22.900000000000055,22.900051,2015-01-01 00:03:49,bin229,75,True +CTSPillarNetworkA,230,230,230,1970-08-19,23.000000000000057,23.000051,2015-01-01 00:03:50,bin230,35,True +CTSPillarNetworkA,231,231,231,1970-08-20,23.10000000000006,23.100052,2015-01-01 00:03:51,bin231,75,True +CTSPillarNetworkA,232,232,232,1970-08-21,23.20000000000006,23.200052,2015-01-01 00:03:52,bin232,35,True +CTSPillarNetworkA,233,233,233,1970-08-22,23.30000000000006,23.300053,2015-01-01 00:03:53,bin233,75,True +CTSPillarNetworkA,234,234,234,1970-08-23,23.400000000000063,23.400053,2015-01-01 00:03:54,bin234,35,True +CTSPillarNetworkA,235,235,235,1970-08-24,23.500000000000064,23.500053,2015-01-01 00:03:55,bin235,75,True +CTSPillarNetworkA,236,236,236,1970-08-25,23.600000000000065,23.600054,2015-01-01 00:03:56,bin236,35,True +CTSPillarNetworkA,237,237,237,1970-08-26,23.700000000000067,23.700054,2015-01-01 00:03:57,bin237,75,True +CTSPillarNetworkA,238,238,238,1970-08-27,23.800000000000068,23.800055,2015-01-01 00:03:58,bin238,35,True +CTSPillarNetworkA,239,239,239,1970-08-28,23.90000000000007,23.900055,2015-01-01 00:03:59,bin239,75,True +CTSPillarNetworkA,240,240,240,1970-08-29,24.00000000000007,24.000055,2015-01-01 00:04:00,bin240,35,True +CTSPillarNetworkA,241,241,241,1970-08-30,24.100000000000072,24.100056,2015-01-01 00:04:01,bin241,75,True +CTSPillarNetworkA,242,242,242,1970-08-31,24.200000000000074,24.200056,2015-01-01 00:04:02,bin242,35,True +CTSPillarNetworkA,243,243,243,1970-09-01,24.300000000000075,24.300056,2015-01-01 00:04:03,bin243,75,True +CTSPillarNetworkA,244,244,244,1970-09-02,24.400000000000077,24.400057,2015-01-01 00:04:04,bin244,35,True +CTSPillarNetworkA,245,245,245,1970-09-03,24.500000000000078,24.500057,2015-01-01 00:04:05,bin245,75,True +CTSPillarNetworkA,246,246,246,1970-09-04,24.60000000000008,24.600058,2015-01-01 00:04:06,bin246,35,True +CTSPillarNetworkA,247,247,247,1970-09-05,24.70000000000008,24.700058,2015-01-01 00:04:07,bin247,75,True +CTSPillarNetworkA,248,248,248,1970-09-06,24.800000000000082,24.800058,2015-01-01 00:04:08,bin248,35,True +CTSPillarNetworkA,249,249,249,1970-09-07,24.900000000000084,24.900059,2015-01-01 00:04:09,bin249,75,True +CTSPillarNetworkA,250,250,250,1970-09-08,25.000000000000085,25.00006,2015-01-01 00:04:10,bin250,35,True +CTSPillarNetworkA,251,251,251,1970-09-09,25.100000000000087,25.10006,2015-01-01 00:04:11,bin251,75,True +CTSPillarNetworkA,252,252,252,1970-09-10,25.200000000000088,25.20006,2015-01-01 00:04:12,bin252,35,True +CTSPillarNetworkA,253,253,253,1970-09-11,25.30000000000009,25.30006,2015-01-01 00:04:13,bin253,75,True +CTSPillarNetworkA,254,254,254,1970-09-12,25.40000000000009,25.40006,2015-01-01 00:04:14,bin254,35,True +CTSPillarNetworkA,255,255,255,1970-09-13,25.500000000000092,25.500061,2015-01-01 00:04:15,bin255,75,True +CTSPillarNetworkA,256,256,256,1970-09-14,25.600000000000094,25.600061,2015-01-01 00:04:16,bin256,35,True +CTSPillarNetworkA,257,257,257,1970-09-15,25.700000000000095,25.700062,2015-01-01 00:04:17,bin257,75,True +CTSPillarNetworkA,258,258,258,1970-09-16,25.800000000000097,25.800062,2015-01-01 00:04:18,bin258,35,True +CTSPillarNetworkA,259,259,259,1970-09-17,25.900000000000098,25.900063,2015-01-01 00:04:19,bin259,75,True +CTSPillarNetworkA,260,260,260,1970-09-18,26.0000000000001,26.000063,2015-01-01 00:04:20,bin260,35,True +CTSPillarNetworkA,261,261,261,1970-09-19,26.1000000000001,26.100063,2015-01-01 00:04:21,bin261,75,True +CTSPillarNetworkA,262,262,262,1970-09-20,26.200000000000102,26.200064,2015-01-01 00:04:22,bin262,35,True +CTSPillarNetworkA,263,263,263,1970-09-21,26.300000000000104,26.300064,2015-01-01 00:04:23,bin263,75,True +CTSPillarNetworkA,264,264,264,1970-09-22,26.400000000000105,26.400064,2015-01-01 00:04:24,bin264,35,True +CTSPillarNetworkA,265,265,265,1970-09-23,26.500000000000107,26.500065,2015-01-01 00:04:25,bin265,75,True +CTSPillarNetworkA,266,266,266,1970-09-24,26.600000000000108,26.600065,2015-01-01 00:04:26,bin266,35,True +CTSPillarNetworkA,267,267,267,1970-09-25,26.70000000000011,26.700066,2015-01-01 00:04:27,bin267,75,True +CTSPillarNetworkA,268,268,268,1970-09-26,26.80000000000011,26.800066,2015-01-01 00:04:28,bin268,35,True +CTSPillarNetworkA,269,269,269,1970-09-27,26.900000000000112,26.900066,2015-01-01 00:04:29,bin269,75,True +CTSPillarNetworkA,270,270,270,1970-09-28,27.000000000000114,27.000067,2015-01-01 00:04:30,bin270,35,True +CTSPillarNetworkA,271,271,271,1970-09-29,27.100000000000115,27.100067,2015-01-01 00:04:31,bin271,75,True +CTSPillarNetworkA,272,272,272,1970-09-30,27.200000000000117,27.200068,2015-01-01 00:04:32,bin272,35,True +CTSPillarNetworkA,273,273,273,1970-10-01,27.300000000000118,27.300068,2015-01-01 00:04:33,bin273,75,True +CTSPillarNetworkA,274,274,274,1970-10-02,27.40000000000012,27.400068,2015-01-01 00:04:34,bin274,35,True +CTSPillarNetworkA,275,275,275,1970-10-03,27.50000000000012,27.500069,2015-01-01 00:04:35,bin275,75,True +CTSPillarNetworkA,276,276,276,1970-10-04,27.600000000000122,27.600069,2015-01-01 00:04:36,bin276,35,True +CTSPillarNetworkA,277,277,277,1970-10-05,27.700000000000124,27.70007,2015-01-01 00:04:37,bin277,75,True +CTSPillarNetworkA,278,278,278,1970-10-06,27.800000000000125,27.80007,2015-01-01 00:04:38,bin278,35,True +CTSPillarNetworkA,279,279,279,1970-10-07,27.900000000000126,27.90007,2015-01-01 00:04:39,bin279,75,True +CTSPillarNetworkA,280,280,280,1970-10-08,28.000000000000128,28.00007,2015-01-01 00:04:40,bin280,35,True +CTSPillarNetworkA,281,281,281,1970-10-09,28.10000000000013,28.10007,2015-01-01 00:04:41,bin281,75,True +CTSPillarNetworkA,282,282,282,1970-10-10,28.20000000000013,28.200071,2015-01-01 00:04:42,bin282,35,True +CTSPillarNetworkA,283,283,283,1970-10-11,28.300000000000132,28.300072,2015-01-01 00:04:43,bin283,75,True +CTSPillarNetworkA,284,284,284,1970-10-12,28.400000000000134,28.400072,2015-01-01 00:04:44,bin284,35,True +CTSPillarNetworkA,285,285,285,1970-10-13,28.500000000000135,28.500072,2015-01-01 00:04:45,bin285,75,True +CTSPillarNetworkA,286,286,286,1970-10-14,28.600000000000136,28.600073,2015-01-01 00:04:46,bin286,35,True +CTSPillarNetworkA,287,287,287,1970-10-15,28.700000000000138,28.700073,2015-01-01 00:04:47,bin287,75,True +CTSPillarNetworkA,288,288,288,1970-10-16,28.80000000000014,28.800074,2015-01-01 00:04:48,bin288,35,True +CTSPillarNetworkA,289,289,289,1970-10-17,28.90000000000014,28.900074,2015-01-01 00:04:49,bin289,75,True +CTSPillarNetworkA,290,290,290,1970-10-18,29.000000000000142,29.000074,2015-01-01 00:04:50,bin290,35,True +CTSPillarNetworkA,291,291,291,1970-10-19,29.100000000000144,29.100075,2015-01-01 00:04:51,bin291,75,True +CTSPillarNetworkA,292,292,292,1970-10-20,29.200000000000145,29.200075,2015-01-01 00:04:52,bin292,35,True +CTSPillarNetworkA,293,293,293,1970-10-21,29.300000000000146,29.300076,2015-01-01 00:04:53,bin293,75,True +CTSPillarNetworkA,294,294,294,1970-10-22,29.400000000000148,29.400076,2015-01-01 00:04:54,bin294,35,True +CTSPillarNetworkA,295,295,295,1970-10-23,29.50000000000015,29.500076,2015-01-01 00:04:55,bin295,75,True +CTSPillarNetworkA,296,296,296,1970-10-24,29.60000000000015,29.600077,2015-01-01 00:04:56,bin296,35,True +CTSPillarNetworkA,297,297,297,1970-10-25,29.700000000000152,29.700077,2015-01-01 00:04:57,bin297,75,True +CTSPillarNetworkA,298,298,298,1970-10-26,29.800000000000153,29.800077,2015-01-01 00:04:58,bin298,35,True +CTSPillarNetworkA,299,299,299,1970-10-27,29.900000000000155,29.900078,2015-01-01 00:04:59,bin299,75,True +CTSPillarNetworkA,300,300,300,1970-10-28,30.000000000000156,30.000078,2015-01-01 00:05:00,bin300,35,True +CTSPillarNetworkA,301,301,301,1970-10-29,30.100000000000158,30.100079,2015-01-01 00:05:01,bin301,75,True +CTSPillarNetworkA,302,302,302,1970-10-30,30.20000000000016,30.200079,2015-01-01 00:05:02,bin302,35,True +CTSPillarNetworkA,303,303,303,1970-10-31,30.30000000000016,30.30008,2015-01-01 00:05:03,bin303,75,True +CTSPillarNetworkA,304,304,304,1970-11-01,30.400000000000162,30.40008,2015-01-01 00:05:04,bin304,35,True +CTSPillarNetworkA,305,305,305,1970-11-02,30.500000000000163,30.50008,2015-01-01 00:05:05,bin305,75,True +CTSPillarNetworkA,306,306,306,1970-11-03,30.600000000000165,30.60008,2015-01-01 00:05:06,bin306,35,True +CTSPillarNetworkA,307,307,307,1970-11-04,30.700000000000166,30.70008,2015-01-01 00:05:07,bin307,75,True +CTSPillarNetworkA,308,308,308,1970-11-05,30.800000000000168,30.800081,2015-01-01 00:05:08,bin308,35,True +CTSPillarNetworkA,309,309,309,1970-11-06,30.90000000000017,30.900082,2015-01-01 00:05:09,bin309,75,True +CTSPillarNetworkA,310,310,310,1970-11-07,31.00000000000017,31.000082,2015-01-01 00:05:10,bin310,35,True +CTSPillarNetworkA,311,311,311,1970-11-08,31.100000000000172,31.100082,2015-01-01 00:05:11,bin311,75,True +CTSPillarNetworkA,312,312,312,1970-11-09,31.200000000000173,31.200083,2015-01-01 00:05:12,bin312,35,True +CTSPillarNetworkA,313,313,313,1970-11-10,31.300000000000175,31.300083,2015-01-01 00:05:13,bin313,75,True +CTSPillarNetworkA,314,314,314,1970-11-11,31.400000000000176,31.400084,2015-01-01 00:05:14,bin314,35,True +CTSPillarNetworkA,315,315,315,1970-11-12,31.500000000000178,31.500084,2015-01-01 00:05:15,bin315,75,True +CTSPillarNetworkA,316,316,316,1970-11-13,31.60000000000018,31.600084,2015-01-01 00:05:16,bin316,35,True +CTSPillarNetworkA,317,317,317,1970-11-14,31.70000000000018,31.700085,2015-01-01 00:05:17,bin317,75,True +CTSPillarNetworkA,318,318,318,1970-11-15,31.800000000000182,31.800085,2015-01-01 00:05:18,bin318,35,True +CTSPillarNetworkA,319,319,319,1970-11-16,31.900000000000183,31.900085,2015-01-01 00:05:19,bin319,75,True +CTSPillarNetworkA,320,320,320,1970-11-17,32.000000000000185,32.000084,2015-01-01 00:05:20,bin320,35,True +CTSPillarNetworkA,321,321,321,1970-11-18,32.100000000000186,32.100082,2015-01-01 00:05:21,bin321,75,True +CTSPillarNetworkA,322,322,322,1970-11-19,32.20000000000019,32.20008,2015-01-01 00:05:22,bin322,35,True +CTSPillarNetworkA,323,323,323,1970-11-20,32.30000000000019,32.30008,2015-01-01 00:05:23,bin323,75,True +CTSPillarNetworkA,324,324,324,1970-11-21,32.40000000000019,32.400078,2015-01-01 00:05:24,bin324,35,True +CTSPillarNetworkA,325,325,325,1970-11-22,32.50000000000019,32.500076,2015-01-01 00:05:25,bin325,75,True +CTSPillarNetworkA,326,326,326,1970-11-23,32.60000000000019,32.600075,2015-01-01 00:05:26,bin326,35,True +CTSPillarNetworkA,327,327,327,1970-11-24,32.700000000000195,32.700073,2015-01-01 00:05:27,bin327,75,True +CTSPillarNetworkA,328,328,328,1970-11-25,32.800000000000196,32.80007,2015-01-01 00:05:28,bin328,35,True +CTSPillarNetworkA,329,329,329,1970-11-26,32.9000000000002,32.90007,2015-01-01 00:05:29,bin329,75,True +CTSPillarNetworkA,330,330,330,1970-11-27,33.0000000000002,33.00007,2015-01-01 00:05:30,bin330,35,True +CTSPillarNetworkA,331,331,331,1970-11-28,33.1000000000002,33.100067,2015-01-01 00:05:31,bin331,75,True +CTSPillarNetworkA,332,332,332,1970-11-29,33.2000000000002,33.200066,2015-01-01 00:05:32,bin332,35,True +CTSPillarNetworkA,333,333,333,1970-11-30,33.3000000000002,33.300064,2015-01-01 00:05:33,bin333,75,True +CTSPillarNetworkA,334,334,334,1970-12-01,33.400000000000205,33.400063,2015-01-01 00:05:34,bin334,35,True +CTSPillarNetworkA,335,335,335,1970-12-02,33.500000000000206,33.50006,2015-01-01 00:05:35,bin335,75,True +CTSPillarNetworkA,336,336,336,1970-12-03,33.60000000000021,33.60006,2015-01-01 00:05:36,bin336,35,True +CTSPillarNetworkA,337,337,337,1970-12-04,33.70000000000021,33.700058,2015-01-01 00:05:37,bin337,75,True +CTSPillarNetworkA,338,338,338,1970-12-05,33.80000000000021,33.800056,2015-01-01 00:05:38,bin338,35,True +CTSPillarNetworkA,339,339,339,1970-12-06,33.90000000000021,33.900055,2015-01-01 00:05:39,bin339,75,True +CTSPillarNetworkA,340,340,340,1970-12-07,34.00000000000021,34.000053,2015-01-01 00:05:40,bin340,35,True +CTSPillarNetworkA,341,341,341,1970-12-08,34.100000000000215,34.10005,2015-01-01 00:05:41,bin341,75,True +CTSPillarNetworkA,342,342,342,1970-12-09,34.200000000000216,34.20005,2015-01-01 00:05:42,bin342,35,True +CTSPillarNetworkA,343,343,343,1970-12-10,34.30000000000022,34.30005,2015-01-01 00:05:43,bin343,75,True +CTSPillarNetworkA,344,344,344,1970-12-11,34.40000000000022,34.400047,2015-01-01 00:05:44,bin344,35,True +CTSPillarNetworkA,345,345,345,1970-12-12,34.50000000000022,34.500046,2015-01-01 00:05:45,bin345,75,True +CTSPillarNetworkA,346,346,346,1970-12-13,34.60000000000022,34.600044,2015-01-01 00:05:46,bin346,35,True +CTSPillarNetworkA,347,347,347,1970-12-14,34.70000000000022,34.700043,2015-01-01 00:05:47,bin347,75,True +CTSPillarNetworkA,348,348,348,1970-12-15,34.800000000000225,34.80004,2015-01-01 00:05:48,bin348,35,True +CTSPillarNetworkA,349,349,349,1970-12-16,34.900000000000226,34.90004,2015-01-01 00:05:49,bin349,75,True +CTSPillarNetworkA,350,350,350,1970-12-17,35.00000000000023,35.00004,2015-01-01 00:05:50,bin350,35,True +CTSPillarNetworkA,351,351,351,1970-12-18,35.10000000000023,35.100037,2015-01-01 00:05:51,bin351,75,True +CTSPillarNetworkA,352,352,352,1970-12-19,35.20000000000023,35.200035,2015-01-01 00:05:52,bin352,35,True +CTSPillarNetworkA,353,353,353,1970-12-20,35.30000000000023,35.300034,2015-01-01 00:05:53,bin353,75,True +CTSPillarNetworkA,354,354,354,1970-12-21,35.40000000000023,35.400032,2015-01-01 00:05:54,bin354,35,True +CTSPillarNetworkA,355,355,355,1970-12-22,35.500000000000234,35.50003,2015-01-01 00:05:55,bin355,75,True +CTSPillarNetworkA,356,356,356,1970-12-23,35.600000000000236,35.60003,2015-01-01 00:05:56,bin356,35,True +CTSPillarNetworkA,357,357,357,1970-12-24,35.70000000000024,35.700027,2015-01-01 00:05:57,bin357,75,True +CTSPillarNetworkA,358,358,358,1970-12-25,35.80000000000024,35.800026,2015-01-01 00:05:58,bin358,35,True +CTSPillarNetworkA,359,359,359,1970-12-26,35.90000000000024,35.900024,2015-01-01 00:05:59,bin359,75,True +CTSPillarNetworkA,360,360,360,1970-12-27,36.00000000000024,36.000023,2015-01-01 00:06:00,bin360,35,True +CTSPillarNetworkA,361,361,361,1970-12-28,36.10000000000024,36.10002,2015-01-01 00:06:01,bin361,75,True +CTSPillarNetworkA,362,362,362,1970-12-29,36.200000000000244,36.20002,2015-01-01 00:06:02,bin362,35,True +CTSPillarNetworkA,363,363,363,1970-12-30,36.300000000000246,36.30002,2015-01-01 00:06:03,bin363,75,True +CTSPillarNetworkA,364,364,364,1970-12-31,36.40000000000025,36.400017,2015-01-01 00:06:04,bin364,35,True +CTSPillarNetworkA,365,365,365,1971-01-01,36.50000000000025,36.500015,2015-01-01 00:06:05,bin365,75,True +CTSPillarNetworkA,366,366,366,1971-01-02,36.60000000000025,36.600014,2015-01-01 00:06:06,bin366,35,True +CTSPillarNetworkA,367,367,367,1971-01-03,36.70000000000025,36.700012,2015-01-01 00:06:07,bin367,75,True +CTSPillarNetworkA,368,368,368,1971-01-04,36.80000000000025,36.80001,2015-01-01 00:06:08,bin368,35,True +CTSPillarNetworkA,369,369,369,1971-01-05,36.900000000000254,36.90001,2015-01-01 00:06:09,bin369,75,True +CTSPillarNetworkA,370,370,370,1971-01-06,37.000000000000256,37.000008,2015-01-01 00:06:10,bin370,35,True +CTSPillarNetworkA,371,371,371,1971-01-07,37.10000000000026,37.100006,2015-01-01 00:06:11,bin371,75,True +CTSPillarNetworkA,372,372,372,1971-01-08,37.20000000000026,37.200005,2015-01-01 00:06:12,bin372,35,True +CTSPillarNetworkA,373,373,373,1971-01-09,37.30000000000026,37.300003,2015-01-01 00:06:13,bin373,75,True +CTSPillarNetworkA,374,374,374,1971-01-10,37.40000000000026,37.4,2015-01-01 00:06:14,bin374,35,True +CTSPillarNetworkA,375,375,375,1971-01-11,37.50000000000026,37.5,2015-01-01 00:06:15,bin375,75,True +CTSPillarNetworkA,376,376,376,1971-01-12,37.600000000000264,37.6,2015-01-01 00:06:16,bin376,35,True +CTSPillarNetworkA,377,377,377,1971-01-13,37.700000000000266,37.699997,2015-01-01 00:06:17,bin377,75,True +CTSPillarNetworkA,378,378,378,1971-01-14,37.80000000000027,37.799995,2015-01-01 00:06:18,bin378,35,True +CTSPillarNetworkA,379,379,379,1971-01-15,37.90000000000027,37.899994,2015-01-01 00:06:19,bin379,75,True +CTSPillarNetworkA,380,380,380,1971-01-16,38.00000000000027,37.999992,2015-01-01 00:06:20,bin380,35,True +CTSPillarNetworkA,381,381,381,1971-01-17,38.10000000000027,38.09999,2015-01-01 00:06:21,bin381,75,True +CTSPillarNetworkA,382,382,382,1971-01-18,38.20000000000027,38.19999,2015-01-01 00:06:22,bin382,35,True +CTSPillarNetworkA,383,383,383,1971-01-19,38.300000000000274,38.299988,2015-01-01 00:06:23,bin383,75,True +CTSPillarNetworkA,384,384,384,1971-01-20,38.400000000000276,38.399986,2015-01-01 00:06:24,bin384,35,True +CTSPillarNetworkA,385,385,385,1971-01-21,38.50000000000028,38.499985,2015-01-01 00:06:25,bin385,75,True +CTSPillarNetworkA,386,386,386,1971-01-22,38.60000000000028,38.599983,2015-01-01 00:06:26,bin386,35,True +CTSPillarNetworkA,387,387,387,1971-01-23,38.70000000000028,38.69998,2015-01-01 00:06:27,bin387,75,True +CTSPillarNetworkA,388,388,388,1971-01-24,38.80000000000028,38.79998,2015-01-01 00:06:28,bin388,35,True +CTSPillarNetworkA,389,389,389,1971-01-25,38.90000000000028,38.89998,2015-01-01 00:06:29,bin389,75,True +CTSPillarNetworkA,390,390,390,1971-01-26,39.000000000000284,38.999977,2015-01-01 00:06:30,bin390,35,True +CTSPillarNetworkA,391,391,391,1971-01-27,39.100000000000286,39.099976,2015-01-01 00:06:31,bin391,75,True +CTSPillarNetworkA,392,392,392,1971-01-28,39.20000000000029,39.199974,2015-01-01 00:06:32,bin392,35,True +CTSPillarNetworkA,393,393,393,1971-01-29,39.30000000000029,39.299973,2015-01-01 00:06:33,bin393,75,True +CTSPillarNetworkA,394,394,394,1971-01-30,39.40000000000029,39.39997,2015-01-01 00:06:34,bin394,35,True +CTSPillarNetworkA,395,395,395,1971-01-31,39.50000000000029,39.49997,2015-01-01 00:06:35,bin395,75,True +CTSPillarNetworkA,396,396,396,1971-02-01,39.60000000000029,39.599968,2015-01-01 00:06:36,bin396,35,True +CTSPillarNetworkA,397,397,397,1971-02-02,39.700000000000294,39.699966,2015-01-01 00:06:37,bin397,75,True +CTSPillarNetworkA,398,398,398,1971-02-03,39.800000000000296,39.799965,2015-01-01 00:06:38,bin398,35,True +CTSPillarNetworkA,399,399,399,1971-02-04,39.9000000000003,39.899963,2015-01-01 00:06:39,bin399,75,True +CTSPillarNetworkA,400,400,400,1971-02-05,40.0000000000003,39.99996,2015-01-01 00:06:40,bin400,35,True +CTSPillarNetworkA,401,401,401,1971-02-06,40.1000000000003,40.09996,2015-01-01 00:06:41,bin401,75,True +CTSPillarNetworkA,402,402,402,1971-02-07,40.2000000000003,40.19996,2015-01-01 00:06:42,bin402,35,True +CTSPillarNetworkA,403,403,403,1971-02-08,40.3000000000003,40.299957,2015-01-01 00:06:43,bin403,75,True +CTSPillarNetworkA,404,404,404,1971-02-09,40.400000000000304,40.399956,2015-01-01 00:06:44,bin404,35,True +CTSPillarNetworkA,405,405,405,1971-02-10,40.500000000000306,40.499954,2015-01-01 00:06:45,bin405,75,True +CTSPillarNetworkA,406,406,406,1971-02-11,40.60000000000031,40.599953,2015-01-01 00:06:46,bin406,35,True +CTSPillarNetworkA,407,407,407,1971-02-12,40.70000000000031,40.69995,2015-01-01 00:06:47,bin407,75,True +CTSPillarNetworkA,408,408,408,1971-02-13,40.80000000000031,40.79995,2015-01-01 00:06:48,bin408,35,True +CTSPillarNetworkA,409,409,409,1971-02-14,40.90000000000031,40.89995,2015-01-01 00:06:49,bin409,75,True +CTSPillarNetworkA,410,410,410,1971-02-15,41.00000000000031,40.999947,2015-01-01 00:06:50,bin410,35,True +CTSPillarNetworkA,411,411,411,1971-02-16,41.100000000000314,41.099945,2015-01-01 00:06:51,bin411,75,True +CTSPillarNetworkA,412,412,412,1971-02-17,41.200000000000315,41.199944,2015-01-01 00:06:52,bin412,35,True +CTSPillarNetworkA,413,413,413,1971-02-18,41.30000000000032,41.299942,2015-01-01 00:06:53,bin413,75,True +CTSPillarNetworkA,414,414,414,1971-02-19,41.40000000000032,41.39994,2015-01-01 00:06:54,bin414,35,True +CTSPillarNetworkA,415,415,415,1971-02-20,41.50000000000032,41.49994,2015-01-01 00:06:55,bin415,75,True +CTSPillarNetworkA,416,416,416,1971-02-21,41.60000000000032,41.599937,2015-01-01 00:06:56,bin416,35,True +CTSPillarNetworkA,417,417,417,1971-02-22,41.70000000000032,41.699936,2015-01-01 00:06:57,bin417,75,True +CTSPillarNetworkA,418,418,418,1971-02-23,41.800000000000324,41.799934,2015-01-01 00:06:58,bin418,35,True +CTSPillarNetworkA,419,419,419,1971-02-24,41.900000000000325,41.899933,2015-01-01 00:06:59,bin419,75,True +CTSPillarNetworkA,420,420,420,1971-02-25,42.00000000000033,41.99993,2015-01-01 00:07:00,bin420,35,True +CTSPillarNetworkA,421,421,421,1971-02-26,42.10000000000033,42.09993,2015-01-01 00:07:01,bin421,75,True +CTSPillarNetworkA,422,422,422,1971-02-27,42.20000000000033,42.19993,2015-01-01 00:07:02,bin422,35,True +CTSPillarNetworkA,423,423,423,1971-02-28,42.30000000000033,42.299927,2015-01-01 00:07:03,bin423,75,True +CTSPillarNetworkA,424,424,424,1971-03-01,42.40000000000033,42.399925,2015-01-01 00:07:04,bin424,35,True +CTSPillarNetworkA,425,425,425,1971-03-02,42.500000000000334,42.499924,2015-01-01 00:07:05,bin425,75,True +CTSPillarNetworkA,426,426,426,1971-03-03,42.600000000000335,42.599922,2015-01-01 00:07:06,bin426,35,True +CTSPillarNetworkA,427,427,427,1971-03-04,42.70000000000034,42.69992,2015-01-01 00:07:07,bin427,75,True +CTSPillarNetworkA,428,428,428,1971-03-05,42.80000000000034,42.79992,2015-01-01 00:07:08,bin428,35,True +CTSPillarNetworkA,429,429,429,1971-03-06,42.90000000000034,42.899918,2015-01-01 00:07:09,bin429,75,True +CTSPillarNetworkA,430,430,430,1971-03-07,43.00000000000034,42.999916,2015-01-01 00:07:10,bin430,35,True +CTSPillarNetworkA,431,431,431,1971-03-08,43.10000000000034,43.099915,2015-01-01 00:07:11,bin431,75,True +CTSPillarNetworkA,432,432,432,1971-03-09,43.200000000000344,43.199913,2015-01-01 00:07:12,bin432,35,True +CTSPillarNetworkA,433,433,433,1971-03-10,43.300000000000345,43.29991,2015-01-01 00:07:13,bin433,75,True +CTSPillarNetworkA,434,434,434,1971-03-11,43.40000000000035,43.39991,2015-01-01 00:07:14,bin434,35,True +CTSPillarNetworkA,435,435,435,1971-03-12,43.50000000000035,43.49991,2015-01-01 00:07:15,bin435,75,True +CTSPillarNetworkA,436,436,436,1971-03-13,43.60000000000035,43.599907,2015-01-01 00:07:16,bin436,35,True +CTSPillarNetworkA,437,437,437,1971-03-14,43.70000000000035,43.699905,2015-01-01 00:07:17,bin437,75,True +CTSPillarNetworkA,438,438,438,1971-03-15,43.80000000000035,43.799904,2015-01-01 00:07:18,bin438,35,True +CTSPillarNetworkA,439,439,439,1971-03-16,43.900000000000354,43.899902,2015-01-01 00:07:19,bin439,75,True +CTSPillarNetworkA,440,440,440,1971-03-17,44.000000000000355,43.9999,2015-01-01 00:07:20,bin440,35,True +CTSPillarNetworkA,441,441,441,1971-03-18,44.10000000000036,44.0999,2015-01-01 00:07:21,bin441,75,True +CTSPillarNetworkA,442,442,442,1971-03-19,44.20000000000036,44.199898,2015-01-01 00:07:22,bin442,35,True +CTSPillarNetworkA,443,443,443,1971-03-20,44.30000000000036,44.299896,2015-01-01 00:07:23,bin443,75,True +CTSPillarNetworkA,444,444,444,1971-03-21,44.40000000000036,44.399895,2015-01-01 00:07:24,bin444,35,True +CTSPillarNetworkA,445,445,445,1971-03-22,44.50000000000036,44.499893,2015-01-01 00:07:25,bin445,75,True +CTSPillarNetworkA,446,446,446,1971-03-23,44.600000000000364,44.59989,2015-01-01 00:07:26,bin446,35,True +CTSPillarNetworkA,447,447,447,1971-03-24,44.700000000000365,44.69989,2015-01-01 00:07:27,bin447,75,True +CTSPillarNetworkA,448,448,448,1971-03-25,44.80000000000037,44.79989,2015-01-01 00:07:28,bin448,35,True +CTSPillarNetworkA,449,449,449,1971-03-26,44.90000000000037,44.899887,2015-01-01 00:07:29,bin449,75,True +CTSPillarNetworkA,450,450,450,1971-03-27,45.00000000000037,44.999886,2015-01-01 00:07:30,bin450,35,True +CTSPillarNetworkA,451,451,451,1971-03-28,45.10000000000037,45.099884,2015-01-01 00:07:31,bin451,75,True +CTSPillarNetworkA,452,452,452,1971-03-29,45.20000000000037,45.199883,2015-01-01 00:07:32,bin452,35,True +CTSPillarNetworkA,453,453,453,1971-03-30,45.300000000000374,45.29988,2015-01-01 00:07:33,bin453,75,True +CTSPillarNetworkA,454,454,454,1971-03-31,45.400000000000375,45.39988,2015-01-01 00:07:34,bin454,35,True +CTSPillarNetworkA,455,455,455,1971-04-01,45.50000000000038,45.499878,2015-01-01 00:07:35,bin455,75,True +CTSPillarNetworkA,456,456,456,1971-04-02,45.60000000000038,45.599876,2015-01-01 00:07:36,bin456,35,True +CTSPillarNetworkA,457,457,457,1971-04-03,45.70000000000038,45.699875,2015-01-01 00:07:37,bin457,75,True +CTSPillarNetworkA,458,458,458,1971-04-04,45.80000000000038,45.799873,2015-01-01 00:07:38,bin458,35,True +CTSPillarNetworkA,459,459,459,1971-04-05,45.90000000000038,45.89987,2015-01-01 00:07:39,bin459,75,True +CTSPillarNetworkA,460,460,460,1971-04-06,46.000000000000384,45.99987,2015-01-01 00:07:40,bin460,35,True +CTSPillarNetworkA,461,461,461,1971-04-07,46.100000000000385,46.09987,2015-01-01 00:07:41,bin461,75,True +CTSPillarNetworkA,462,462,462,1971-04-08,46.20000000000039,46.199867,2015-01-01 00:07:42,bin462,35,True +CTSPillarNetworkA,463,463,463,1971-04-09,46.30000000000039,46.299866,2015-01-01 00:07:43,bin463,75,True +CTSPillarNetworkA,464,464,464,1971-04-10,46.40000000000039,46.399864,2015-01-01 00:07:44,bin464,35,True +CTSPillarNetworkA,465,465,465,1971-04-11,46.50000000000039,46.499863,2015-01-01 00:07:45,bin465,75,True +CTSPillarNetworkA,466,466,466,1971-04-12,46.60000000000039,46.59986,2015-01-01 00:07:46,bin466,35,True +CTSPillarNetworkA,467,467,467,1971-04-13,46.700000000000394,46.69986,2015-01-01 00:07:47,bin467,75,True +CTSPillarNetworkA,468,468,468,1971-04-14,46.800000000000395,46.79986,2015-01-01 00:07:48,bin468,35,True +CTSPillarNetworkA,469,469,469,1971-04-15,46.9000000000004,46.899857,2015-01-01 00:07:49,bin469,75,True +CTSPillarNetworkA,470,470,470,1971-04-16,47.0000000000004,46.999855,2015-01-01 00:07:50,bin470,35,True +CTSPillarNetworkA,471,471,471,1971-04-17,47.1000000000004,47.099854,2015-01-01 00:07:51,bin471,75,True +CTSPillarNetworkA,472,472,472,1971-04-18,47.2000000000004,47.199852,2015-01-01 00:07:52,bin472,35,True +CTSPillarNetworkA,473,473,473,1971-04-19,47.3000000000004,47.29985,2015-01-01 00:07:53,bin473,75,True +CTSPillarNetworkA,474,474,474,1971-04-20,47.400000000000404,47.39985,2015-01-01 00:07:54,bin474,35,True +CTSPillarNetworkA,475,475,475,1971-04-21,47.500000000000405,47.499847,2015-01-01 00:07:55,bin475,75,True +CTSPillarNetworkA,476,476,476,1971-04-22,47.600000000000406,47.599846,2015-01-01 00:07:56,bin476,35,True +CTSPillarNetworkA,477,477,477,1971-04-23,47.70000000000041,47.699844,2015-01-01 00:07:57,bin477,75,True +CTSPillarNetworkA,478,478,478,1971-04-24,47.80000000000041,47.799843,2015-01-01 00:07:58,bin478,35,True +CTSPillarNetworkA,479,479,479,1971-04-25,47.90000000000041,47.89984,2015-01-01 00:07:59,bin479,75,True +CTSPillarNetworkA,480,480,480,1971-04-26,48.00000000000041,47.99984,2015-01-01 00:08:00,bin480,35,True +CTSPillarNetworkA,481,481,481,1971-04-27,48.10000000000041,48.09984,2015-01-01 00:08:01,bin481,75,True +CTSPillarNetworkA,482,482,482,1971-04-28,48.200000000000415,48.199837,2015-01-01 00:08:02,bin482,35,True +CTSPillarNetworkA,483,483,483,1971-04-29,48.300000000000416,48.299835,2015-01-01 00:08:03,bin483,75,True +CTSPillarNetworkA,484,484,484,1971-04-30,48.40000000000042,48.399834,2015-01-01 00:08:04,bin484,35,True +CTSPillarNetworkA,485,485,485,1971-05-01,48.50000000000042,48.499832,2015-01-01 00:08:05,bin485,75,True +CTSPillarNetworkA,486,486,486,1971-05-02,48.60000000000042,48.59983,2015-01-01 00:08:06,bin486,35,True +CTSPillarNetworkA,487,487,487,1971-05-03,48.70000000000042,48.69983,2015-01-01 00:08:07,bin487,75,True +CTSPillarNetworkA,488,488,488,1971-05-04,48.80000000000042,48.799828,2015-01-01 00:08:08,bin488,35,True +CTSPillarNetworkA,489,489,489,1971-05-05,48.900000000000425,48.899826,2015-01-01 00:08:09,bin489,75,True +CTSPillarNetworkA,490,490,490,1971-05-06,49.000000000000426,48.999825,2015-01-01 00:08:10,bin490,35,True +CTSPillarNetworkA,491,491,491,1971-05-07,49.10000000000043,49.099823,2015-01-01 00:08:11,bin491,75,True +CTSPillarNetworkA,492,492,492,1971-05-08,49.20000000000043,49.19982,2015-01-01 00:08:12,bin492,35,True +CTSPillarNetworkA,493,493,493,1971-05-09,49.30000000000043,49.29982,2015-01-01 00:08:13,bin493,75,True +CTSPillarNetworkA,494,494,494,1971-05-10,49.40000000000043,49.39982,2015-01-01 00:08:14,bin494,35,True +CTSPillarNetworkA,495,495,495,1971-05-11,49.50000000000043,49.499817,2015-01-01 00:08:15,bin495,75,True +CTSPillarNetworkA,496,496,496,1971-05-12,49.600000000000435,49.599815,2015-01-01 00:08:16,bin496,35,True +CTSPillarNetworkA,497,497,497,1971-05-13,49.700000000000436,49.699814,2015-01-01 00:08:17,bin497,75,True +CTSPillarNetworkA,498,498,498,1971-05-14,49.80000000000044,49.799812,2015-01-01 00:08:18,bin498,35,True +CTSPillarNetworkA,499,499,499,1971-05-15,49.90000000000044,49.89981,2015-01-01 00:08:19,bin499,75,True +CTSPillarNetworkA,500,500,500,1971-05-16,50.00000000000044,49.99981,2015-01-01 00:08:20,bin500,35,True +CTSPillarNetworkA,501,501,501,1971-05-17,50.10000000000044,50.099808,2015-01-01 00:08:21,bin501,75,True +CTSPillarNetworkA,502,502,502,1971-05-18,50.20000000000044,50.199806,2015-01-01 00:08:22,bin502,35,True +CTSPillarNetworkA,503,503,503,1971-05-19,50.300000000000445,50.299805,2015-01-01 00:08:23,bin503,75,True +CTSPillarNetworkA,504,504,504,1971-05-20,50.400000000000446,50.399803,2015-01-01 00:08:24,bin504,35,True +CTSPillarNetworkA,505,505,505,1971-05-21,50.50000000000045,50.4998,2015-01-01 00:08:25,bin505,75,True +CTSPillarNetworkA,506,506,506,1971-05-22,50.60000000000045,50.5998,2015-01-01 00:08:26,bin506,35,True +CTSPillarNetworkA,507,507,507,1971-05-23,50.70000000000045,50.6998,2015-01-01 00:08:27,bin507,75,True +CTSPillarNetworkA,508,508,508,1971-05-24,50.80000000000045,50.799797,2015-01-01 00:08:28,bin508,35,True +CTSPillarNetworkA,509,509,509,1971-05-25,50.90000000000045,50.899796,2015-01-01 00:08:29,bin509,75,True +CTSPillarNetworkA,510,510,510,1971-05-26,51.000000000000455,50.999794,2015-01-01 00:08:30,bin510,35,True +CTSPillarNetworkA,511,511,511,1971-05-27,51.100000000000456,51.099792,2015-01-01 00:08:31,bin511,75,True +CTSPillarNetworkA,512,512,512,1971-05-28,51.20000000000046,51.19979,2015-01-01 00:08:32,bin512,35,True +CTSPillarNetworkA,513,513,513,1971-05-29,51.30000000000046,51.29979,2015-01-01 00:08:33,bin513,75,True +CTSPillarNetworkA,514,514,514,1971-05-30,51.40000000000046,51.399788,2015-01-01 00:08:34,bin514,35,True +CTSPillarNetworkA,515,515,515,1971-05-31,51.50000000000046,51.499786,2015-01-01 00:08:35,bin515,75,True +CTSPillarNetworkA,516,516,516,1971-06-01,51.60000000000046,51.599785,2015-01-01 00:08:36,bin516,35,True +CTSPillarNetworkA,517,517,517,1971-06-02,51.700000000000465,51.699783,2015-01-01 00:08:37,bin517,75,True +CTSPillarNetworkA,518,518,518,1971-06-03,51.800000000000466,51.79978,2015-01-01 00:08:38,bin518,35,True +CTSPillarNetworkA,519,519,519,1971-06-04,51.90000000000047,51.89978,2015-01-01 00:08:39,bin519,75,True +CTSPillarNetworkA,520,520,520,1971-06-05,52.00000000000047,51.99978,2015-01-01 00:08:40,bin520,35,True +CTSPillarNetworkA,521,521,521,1971-06-06,52.10000000000047,52.099777,2015-01-01 00:08:41,bin521,75,True +CTSPillarNetworkA,522,522,522,1971-06-07,52.20000000000047,52.199776,2015-01-01 00:08:42,bin522,35,True +CTSPillarNetworkA,523,523,523,1971-06-08,52.30000000000047,52.299774,2015-01-01 00:08:43,bin523,75,True +CTSPillarNetworkA,524,524,524,1971-06-09,52.400000000000475,52.399773,2015-01-01 00:08:44,bin524,35,True +CTSPillarNetworkA,525,525,525,1971-06-10,52.500000000000476,52.49977,2015-01-01 00:08:45,bin525,75,True +CTSPillarNetworkA,526,526,526,1971-06-11,52.60000000000048,52.59977,2015-01-01 00:08:46,bin526,35,True +CTSPillarNetworkA,527,527,527,1971-06-12,52.70000000000048,52.699768,2015-01-01 00:08:47,bin527,75,True +CTSPillarNetworkA,528,528,528,1971-06-13,52.80000000000048,52.799767,2015-01-01 00:08:48,bin528,35,True +CTSPillarNetworkA,529,529,529,1971-06-14,52.90000000000048,52.899765,2015-01-01 00:08:49,bin529,75,True +CTSPillarNetworkA,530,530,530,1971-06-15,53.00000000000048,52.999763,2015-01-01 00:08:50,bin530,35,True +CTSPillarNetworkA,531,531,531,1971-06-16,53.100000000000485,53.099762,2015-01-01 00:08:51,bin531,75,True +CTSPillarNetworkA,532,532,532,1971-06-17,53.200000000000486,53.19976,2015-01-01 00:08:52,bin532,35,True +CTSPillarNetworkA,533,533,533,1971-06-18,53.30000000000049,53.29976,2015-01-01 00:08:53,bin533,75,True +CTSPillarNetworkA,534,534,534,1971-06-19,53.40000000000049,53.399757,2015-01-01 00:08:54,bin534,35,True +CTSPillarNetworkA,535,535,535,1971-06-20,53.50000000000049,53.499756,2015-01-01 00:08:55,bin535,75,True +CTSPillarNetworkA,536,536,536,1971-06-21,53.60000000000049,53.599754,2015-01-01 00:08:56,bin536,35,True +CTSPillarNetworkA,537,537,537,1971-06-22,53.70000000000049,53.699753,2015-01-01 00:08:57,bin537,75,True +CTSPillarNetworkA,538,538,538,1971-06-23,53.800000000000495,53.79975,2015-01-01 00:08:58,bin538,35,True +CTSPillarNetworkA,539,539,539,1971-06-24,53.900000000000496,53.89975,2015-01-01 00:08:59,bin539,75,True +CTSPillarNetworkA,540,540,540,1971-06-25,54.0000000000005,53.99975,2015-01-01 00:09:00,bin540,35,True +CTSPillarNetworkA,541,541,541,1971-06-26,54.1000000000005,54.099747,2015-01-01 00:09:01,bin541,75,True +CTSPillarNetworkA,542,542,542,1971-06-27,54.2000000000005,54.199745,2015-01-01 00:09:02,bin542,35,True +CTSPillarNetworkA,543,543,543,1971-06-28,54.3000000000005,54.299744,2015-01-01 00:09:03,bin543,75,True +CTSPillarNetworkA,544,544,544,1971-06-29,54.4000000000005,54.399742,2015-01-01 00:09:04,bin544,35,True +CTSPillarNetworkA,545,545,545,1971-06-30,54.500000000000504,54.49974,2015-01-01 00:09:05,bin545,75,True +CTSPillarNetworkA,546,546,546,1971-07-01,54.600000000000506,54.59974,2015-01-01 00:09:06,bin546,35,True +CTSPillarNetworkA,547,547,547,1971-07-02,54.70000000000051,54.699738,2015-01-01 00:09:07,bin547,75,True +CTSPillarNetworkA,548,548,548,1971-07-03,54.80000000000051,54.799736,2015-01-01 00:09:08,bin548,35,True +CTSPillarNetworkA,549,549,549,1971-07-04,54.90000000000051,54.899734,2015-01-01 00:09:09,bin549,75,True +CTSPillarNetworkA,550,550,550,1971-07-05,55.00000000000051,54.999733,2015-01-01 00:09:10,bin550,35,True +CTSPillarNetworkA,551,551,551,1971-07-06,55.10000000000051,55.09973,2015-01-01 00:09:11,bin551,75,True +CTSPillarNetworkA,552,552,552,1971-07-07,55.200000000000514,55.19973,2015-01-01 00:09:12,bin552,35,True +CTSPillarNetworkA,553,553,553,1971-07-08,55.300000000000516,55.29973,2015-01-01 00:09:13,bin553,75,True +CTSPillarNetworkA,554,554,554,1971-07-09,55.40000000000052,55.399727,2015-01-01 00:09:14,bin554,35,True +CTSPillarNetworkA,555,555,555,1971-07-10,55.50000000000052,55.499725,2015-01-01 00:09:15,bin555,75,True +CTSPillarNetworkA,556,556,556,1971-07-11,55.60000000000052,55.599724,2015-01-01 00:09:16,bin556,35,True +CTSPillarNetworkA,557,557,557,1971-07-12,55.70000000000052,55.699722,2015-01-01 00:09:17,bin557,75,True +CTSPillarNetworkA,558,558,558,1971-07-13,55.80000000000052,55.79972,2015-01-01 00:09:18,bin558,35,True +CTSPillarNetworkA,559,559,559,1971-07-14,55.900000000000524,55.89972,2015-01-01 00:09:19,bin559,75,True +CTSPillarNetworkA,560,560,560,1971-07-15,56.000000000000526,55.999718,2015-01-01 00:09:20,bin560,35,True +CTSPillarNetworkA,561,561,561,1971-07-16,56.10000000000053,56.099716,2015-01-01 00:09:21,bin561,75,True +CTSPillarNetworkA,562,562,562,1971-07-17,56.20000000000053,56.199715,2015-01-01 00:09:22,bin562,35,True +CTSPillarNetworkA,563,563,563,1971-07-18,56.30000000000053,56.299713,2015-01-01 00:09:23,bin563,75,True +CTSPillarNetworkA,564,564,564,1971-07-19,56.40000000000053,56.39971,2015-01-01 00:09:24,bin564,35,True +CTSPillarNetworkA,565,565,565,1971-07-20,56.50000000000053,56.49971,2015-01-01 00:09:25,bin565,75,True +CTSPillarNetworkA,566,566,566,1971-07-21,56.600000000000534,56.59971,2015-01-01 00:09:26,bin566,35,True +CTSPillarNetworkA,567,567,567,1971-07-22,56.700000000000536,56.699707,2015-01-01 00:09:27,bin567,75,True +CTSPillarNetworkA,568,568,568,1971-07-23,56.80000000000054,56.799706,2015-01-01 00:09:28,bin568,35,True +CTSPillarNetworkA,569,569,569,1971-07-24,56.90000000000054,56.899704,2015-01-01 00:09:29,bin569,75,True +CTSPillarNetworkA,570,570,570,1971-07-25,57.00000000000054,56.999702,2015-01-01 00:09:30,bin570,35,True +CTSPillarNetworkA,571,571,571,1971-07-26,57.10000000000054,57.0997,2015-01-01 00:09:31,bin571,75,True +CTSPillarNetworkA,572,572,572,1971-07-27,57.20000000000054,57.1997,2015-01-01 00:09:32,bin572,35,True +CTSPillarNetworkA,573,573,573,1971-07-28,57.300000000000544,57.299698,2015-01-01 00:09:33,bin573,75,True +CTSPillarNetworkA,574,574,574,1971-07-29,57.400000000000546,57.399696,2015-01-01 00:09:34,bin574,35,True +CTSPillarNetworkA,575,575,575,1971-07-30,57.50000000000055,57.499695,2015-01-01 00:09:35,bin575,75,True +CTSPillarNetworkA,576,576,576,1971-07-31,57.60000000000055,57.599693,2015-01-01 00:09:36,bin576,35,True +CTSPillarNetworkA,577,577,577,1971-08-01,57.70000000000055,57.69969,2015-01-01 00:09:37,bin577,75,True +CTSPillarNetworkA,578,578,578,1971-08-02,57.80000000000055,57.79969,2015-01-01 00:09:38,bin578,35,True +CTSPillarNetworkA,579,579,579,1971-08-03,57.90000000000055,57.89969,2015-01-01 00:09:39,bin579,75,True +CTSPillarNetworkA,580,580,580,1971-08-04,58.000000000000554,57.999687,2015-01-01 00:09:40,bin580,35,True +CTSPillarNetworkA,581,581,581,1971-08-05,58.100000000000556,58.099686,2015-01-01 00:09:41,bin581,75,True +CTSPillarNetworkA,582,582,582,1971-08-06,58.20000000000056,58.199684,2015-01-01 00:09:42,bin582,35,True +CTSPillarNetworkA,583,583,583,1971-08-07,58.30000000000056,58.299683,2015-01-01 00:09:43,bin583,75,True +CTSPillarNetworkA,584,584,584,1971-08-08,58.40000000000056,58.39968,2015-01-01 00:09:44,bin584,35,True +CTSPillarNetworkA,585,585,585,1971-08-09,58.50000000000056,58.49968,2015-01-01 00:09:45,bin585,75,True +CTSPillarNetworkA,586,586,586,1971-08-10,58.60000000000056,58.599678,2015-01-01 00:09:46,bin586,35,True +CTSPillarNetworkA,587,587,587,1971-08-11,58.700000000000564,58.699677,2015-01-01 00:09:47,bin587,75,True +CTSPillarNetworkA,588,588,588,1971-08-12,58.800000000000566,58.799675,2015-01-01 00:09:48,bin588,35,True +CTSPillarNetworkA,589,589,589,1971-08-13,58.90000000000057,58.899673,2015-01-01 00:09:49,bin589,75,True +CTSPillarNetworkA,590,590,590,1971-08-14,59.00000000000057,58.999672,2015-01-01 00:09:50,bin590,35,True +CTSPillarNetworkA,591,591,591,1971-08-15,59.10000000000057,59.09967,2015-01-01 00:09:51,bin591,75,True +CTSPillarNetworkA,592,592,592,1971-08-16,59.20000000000057,59.19967,2015-01-01 00:09:52,bin592,35,True +CTSPillarNetworkA,593,593,593,1971-08-17,59.30000000000057,59.299667,2015-01-01 00:09:53,bin593,75,True +CTSPillarNetworkA,594,594,594,1971-08-18,59.400000000000574,59.399666,2015-01-01 00:09:54,bin594,35,True +CTSPillarNetworkA,595,595,595,1971-08-19,59.500000000000576,59.499664,2015-01-01 00:09:55,bin595,75,True +CTSPillarNetworkA,596,596,596,1971-08-20,59.60000000000058,59.599663,2015-01-01 00:09:56,bin596,35,True +CTSPillarNetworkA,597,597,597,1971-08-21,59.70000000000058,59.69966,2015-01-01 00:09:57,bin597,75,True +CTSPillarNetworkA,598,598,598,1971-08-22,59.80000000000058,59.79966,2015-01-01 00:09:58,bin598,35,True +CTSPillarNetworkA,599,599,599,1971-08-23,59.90000000000058,59.89966,2015-01-01 00:09:59,bin599,75,True +CTSPillarNetworkA,600,600,600,1971-08-24,60.00000000000058,59.999657,2015-01-01 00:10:00,bin600,35,True +CTSPillarNetworkA,601,601,601,1971-08-25,60.100000000000584,60.099655,2015-01-01 00:10:01,bin601,75,True +CTSPillarNetworkA,602,602,602,1971-08-26,60.200000000000585,60.199654,2015-01-01 00:10:02,bin602,35,True +CTSPillarNetworkA,603,603,603,1971-08-27,60.30000000000059,60.299652,2015-01-01 00:10:03,bin603,75,True +CTSPillarNetworkA,604,604,604,1971-08-28,60.40000000000059,60.39965,2015-01-01 00:10:04,bin604,35,True +CTSPillarNetworkA,605,605,605,1971-08-29,60.50000000000059,60.49965,2015-01-01 00:10:05,bin605,75,True +CTSPillarNetworkA,606,606,606,1971-08-30,60.60000000000059,60.599648,2015-01-01 00:10:06,bin606,35,True +CTSPillarNetworkA,607,607,607,1971-08-31,60.70000000000059,60.699646,2015-01-01 00:10:07,bin607,75,True +CTSPillarNetworkA,608,608,608,1971-09-01,60.800000000000594,60.799644,2015-01-01 00:10:08,bin608,35,True +CTSPillarNetworkA,609,609,609,1971-09-02,60.900000000000595,60.899643,2015-01-01 00:10:09,bin609,75,True +CTSPillarNetworkA,610,610,610,1971-09-03,61.0000000000006,60.99964,2015-01-01 00:10:10,bin610,35,True +CTSPillarNetworkA,611,611,611,1971-09-04,61.1000000000006,61.09964,2015-01-01 00:10:11,bin611,75,True +CTSPillarNetworkA,612,612,612,1971-09-05,61.2000000000006,61.19964,2015-01-01 00:10:12,bin612,35,True +CTSPillarNetworkA,613,613,613,1971-09-06,61.3000000000006,61.299637,2015-01-01 00:10:13,bin613,75,True +CTSPillarNetworkA,614,614,614,1971-09-07,61.4000000000006,61.399635,2015-01-01 00:10:14,bin614,35,True +CTSPillarNetworkA,615,615,615,1971-09-08,61.500000000000604,61.499634,2015-01-01 00:10:15,bin615,75,True +CTSPillarNetworkA,616,616,616,1971-09-09,61.600000000000605,61.599632,2015-01-01 00:10:16,bin616,35,True +CTSPillarNetworkA,617,617,617,1971-09-10,61.70000000000061,61.69963,2015-01-01 00:10:17,bin617,75,True +CTSPillarNetworkA,618,618,618,1971-09-11,61.80000000000061,61.79963,2015-01-01 00:10:18,bin618,35,True +CTSPillarNetworkA,619,619,619,1971-09-12,61.90000000000061,61.899628,2015-01-01 00:10:19,bin619,75,True +CTSPillarNetworkA,620,620,620,1971-09-13,62.00000000000061,61.999626,2015-01-01 00:10:20,bin620,35,True +CTSPillarNetworkA,621,621,621,1971-09-14,62.10000000000061,62.099625,2015-01-01 00:10:21,bin621,75,True +CTSPillarNetworkA,622,622,622,1971-09-15,62.200000000000614,62.199623,2015-01-01 00:10:22,bin622,35,True +CTSPillarNetworkA,623,623,623,1971-09-16,62.300000000000615,62.29962,2015-01-01 00:10:23,bin623,75,True +CTSPillarNetworkA,624,624,624,1971-09-17,62.40000000000062,62.39962,2015-01-01 00:10:24,bin624,35,True +CTSPillarNetworkA,625,625,625,1971-09-18,62.50000000000062,62.49962,2015-01-01 00:10:25,bin625,75,True +CTSPillarNetworkA,626,626,626,1971-09-19,62.60000000000062,62.599617,2015-01-01 00:10:26,bin626,35,True +CTSPillarNetworkA,627,627,627,1971-09-20,62.70000000000062,62.699615,2015-01-01 00:10:27,bin627,75,True +CTSPillarNetworkA,628,628,628,1971-09-21,62.80000000000062,62.799614,2015-01-01 00:10:28,bin628,35,True +CTSPillarNetworkA,629,629,629,1971-09-22,62.900000000000624,62.899612,2015-01-01 00:10:29,bin629,75,True +CTSPillarNetworkA,630,630,630,1971-09-23,63.000000000000625,62.99961,2015-01-01 00:10:30,bin630,35,True +CTSPillarNetworkA,631,631,631,1971-09-24,63.10000000000063,63.09961,2015-01-01 00:10:31,bin631,75,True +CTSPillarNetworkA,632,632,632,1971-09-25,63.20000000000063,63.199608,2015-01-01 00:10:32,bin632,35,True +CTSPillarNetworkA,633,633,633,1971-09-26,63.30000000000063,63.299606,2015-01-01 00:10:33,bin633,75,True +CTSPillarNetworkA,634,634,634,1971-09-27,63.40000000000063,63.399605,2015-01-01 00:10:34,bin634,35,True +CTSPillarNetworkA,635,635,635,1971-09-28,63.50000000000063,63.499603,2015-01-01 00:10:35,bin635,75,True +CTSPillarNetworkA,636,636,636,1971-09-29,63.600000000000634,63.5996,2015-01-01 00:10:36,bin636,35,True +CTSPillarNetworkA,637,637,637,1971-09-30,63.700000000000635,63.6996,2015-01-01 00:10:37,bin637,75,True +CTSPillarNetworkA,638,638,638,1971-10-01,63.80000000000064,63.7996,2015-01-01 00:10:38,bin638,35,True +CTSPillarNetworkA,639,639,639,1971-10-02,63.90000000000064,63.899597,2015-01-01 00:10:39,bin639,75,True +CTSPillarNetworkA,640,640,640,1971-10-03,64.00000000000064,63.999596,2015-01-01 00:10:40,bin640,35,True +CTSPillarNetworkA,641,641,641,1971-10-04,64.10000000000063,64.099594,2015-01-01 00:10:41,bin641,75,True +CTSPillarNetworkA,642,642,642,1971-10-05,64.20000000000063,64.19959,2015-01-01 00:10:42,bin642,35,True +CTSPillarNetworkA,643,643,643,1971-10-06,64.30000000000062,64.29959,2015-01-01 00:10:43,bin643,75,True +CTSPillarNetworkA,644,644,644,1971-10-07,64.40000000000062,64.39959,2015-01-01 00:10:44,bin644,35,True +CTSPillarNetworkA,645,645,645,1971-10-08,64.50000000000061,64.49959,2015-01-01 00:10:45,bin645,75,True +CTSPillarNetworkA,646,646,646,1971-10-09,64.6000000000006,64.59959,2015-01-01 00:10:46,bin646,35,True +CTSPillarNetworkA,647,647,647,1971-10-10,64.7000000000006,64.699585,2015-01-01 00:10:47,bin647,75,True +CTSPillarNetworkA,648,648,648,1971-10-11,64.8000000000006,64.79958,2015-01-01 00:10:48,bin648,35,True +CTSPillarNetworkA,649,649,649,1971-10-12,64.90000000000059,64.89958,2015-01-01 00:10:49,bin649,75,True +CTSPillarNetworkA,650,650,650,1971-10-13,65.00000000000058,64.99958,2015-01-01 00:10:50,bin650,35,True +CTSPillarNetworkA,651,651,651,1971-10-14,65.10000000000058,65.09958,2015-01-01 00:10:51,bin651,75,True +CTSPillarNetworkA,652,652,652,1971-10-15,65.20000000000057,65.19958,2015-01-01 00:10:52,bin652,35,True +CTSPillarNetworkA,653,653,653,1971-10-16,65.30000000000057,65.299576,2015-01-01 00:10:53,bin653,75,True +CTSPillarNetworkA,654,654,654,1971-10-17,65.40000000000056,65.399574,2015-01-01 00:10:54,bin654,35,True +CTSPillarNetworkA,655,655,655,1971-10-18,65.50000000000055,65.49957,2015-01-01 00:10:55,bin655,75,True +CTSPillarNetworkA,656,656,656,1971-10-19,65.60000000000055,65.59957,2015-01-01 00:10:56,bin656,35,True +CTSPillarNetworkA,657,657,657,1971-10-20,65.70000000000054,65.69957,2015-01-01 00:10:57,bin657,75,True +CTSPillarNetworkA,658,658,658,1971-10-21,65.80000000000054,65.79957,2015-01-01 00:10:58,bin658,35,True +CTSPillarNetworkA,659,659,659,1971-10-22,65.90000000000053,65.89957,2015-01-01 00:10:59,bin659,75,True +CTSPillarNetworkA,660,660,660,1971-10-23,66.00000000000053,65.999565,2015-01-01 00:11:00,bin660,35,True +CTSPillarNetworkA,661,661,661,1971-10-24,66.10000000000052,66.09956,2015-01-01 00:11:01,bin661,75,True +CTSPillarNetworkA,662,662,662,1971-10-25,66.20000000000051,66.19956,2015-01-01 00:11:02,bin662,35,True +CTSPillarNetworkA,663,663,663,1971-10-26,66.30000000000051,66.29956,2015-01-01 00:11:03,bin663,75,True +CTSPillarNetworkA,664,664,664,1971-10-27,66.4000000000005,66.39956,2015-01-01 00:11:04,bin664,35,True +CTSPillarNetworkA,665,665,665,1971-10-28,66.5000000000005,66.49956,2015-01-01 00:11:05,bin665,75,True +CTSPillarNetworkA,666,666,666,1971-10-29,66.60000000000049,66.599556,2015-01-01 00:11:06,bin666,35,True +CTSPillarNetworkA,667,667,667,1971-10-30,66.70000000000049,66.699554,2015-01-01 00:11:07,bin667,75,True +CTSPillarNetworkA,668,668,668,1971-10-31,66.80000000000048,66.79955,2015-01-01 00:11:08,bin668,35,True +CTSPillarNetworkA,669,669,669,1971-11-01,66.90000000000047,66.89955,2015-01-01 00:11:09,bin669,75,True +CTSPillarNetworkA,670,670,670,1971-11-02,67.00000000000047,66.99955,2015-01-01 00:11:10,bin670,35,True +CTSPillarNetworkA,671,671,671,1971-11-03,67.10000000000046,67.09955,2015-01-01 00:11:11,bin671,75,True +CTSPillarNetworkA,672,672,672,1971-11-04,67.20000000000046,67.19955,2015-01-01 00:11:12,bin672,35,True +CTSPillarNetworkA,673,673,673,1971-11-05,67.30000000000045,67.299545,2015-01-01 00:11:13,bin673,75,True +CTSPillarNetworkA,674,674,674,1971-11-06,67.40000000000045,67.39954,2015-01-01 00:11:14,bin674,35,True +CTSPillarNetworkA,675,675,675,1971-11-07,67.50000000000044,67.49954,2015-01-01 00:11:15,bin675,75,True +CTSPillarNetworkA,676,676,676,1971-11-08,67.60000000000043,67.59954,2015-01-01 00:11:16,bin676,35,True +CTSPillarNetworkA,677,677,677,1971-11-09,67.70000000000043,67.69954,2015-01-01 00:11:17,bin677,75,True +CTSPillarNetworkA,678,678,678,1971-11-10,67.80000000000042,67.79954,2015-01-01 00:11:18,bin678,35,True +CTSPillarNetworkA,679,679,679,1971-11-11,67.90000000000042,67.899536,2015-01-01 00:11:19,bin679,75,True +CTSPillarNetworkA,680,680,680,1971-11-12,68.00000000000041,67.999535,2015-01-01 00:11:20,bin680,35,True +CTSPillarNetworkA,681,681,681,1971-11-13,68.1000000000004,68.09953,2015-01-01 00:11:21,bin681,75,True +CTSPillarNetworkA,682,682,682,1971-11-14,68.2000000000004,68.19953,2015-01-01 00:11:22,bin682,35,True +CTSPillarNetworkA,683,683,683,1971-11-15,68.3000000000004,68.29953,2015-01-01 00:11:23,bin683,75,True +CTSPillarNetworkA,684,684,684,1971-11-16,68.40000000000039,68.39953,2015-01-01 00:11:24,bin684,35,True +CTSPillarNetworkA,685,685,685,1971-11-17,68.50000000000038,68.49953,2015-01-01 00:11:25,bin685,75,True +CTSPillarNetworkA,686,686,686,1971-11-18,68.60000000000038,68.599525,2015-01-01 00:11:26,bin686,35,True +CTSPillarNetworkA,687,687,687,1971-11-19,68.70000000000037,68.699524,2015-01-01 00:11:27,bin687,75,True +CTSPillarNetworkA,688,688,688,1971-11-20,68.80000000000037,68.79952,2015-01-01 00:11:28,bin688,35,True +CTSPillarNetworkA,689,689,689,1971-11-21,68.90000000000036,68.89952,2015-01-01 00:11:29,bin689,75,True +CTSPillarNetworkA,690,690,690,1971-11-22,69.00000000000036,68.99952,2015-01-01 00:11:30,bin690,35,True +CTSPillarNetworkA,691,691,691,1971-11-23,69.10000000000035,69.09952,2015-01-01 00:11:31,bin691,75,True +CTSPillarNetworkA,692,692,692,1971-11-24,69.20000000000034,69.19952,2015-01-01 00:11:32,bin692,35,True +CTSPillarNetworkA,693,693,693,1971-11-25,69.30000000000034,69.299515,2015-01-01 00:11:33,bin693,75,True +CTSPillarNetworkA,694,694,694,1971-11-26,69.40000000000033,69.39951,2015-01-01 00:11:34,bin694,35,True +CTSPillarNetworkA,695,695,695,1971-11-27,69.50000000000033,69.49951,2015-01-01 00:11:35,bin695,75,True +CTSPillarNetworkA,696,696,696,1971-11-28,69.60000000000032,69.59951,2015-01-01 00:11:36,bin696,35,True +CTSPillarNetworkA,697,697,697,1971-11-29,69.70000000000032,69.69951,2015-01-01 00:11:37,bin697,75,True +CTSPillarNetworkA,698,698,698,1971-11-30,69.80000000000031,69.79951,2015-01-01 00:11:38,bin698,35,True +CTSPillarNetworkA,699,699,699,1971-12-01,69.9000000000003,69.899506,2015-01-01 00:11:39,bin699,75,True +CTSPillarNetworkA,700,700,700,1971-12-02,70.0000000000003,69.999504,2015-01-01 00:11:40,bin700,35,True +CTSPillarNetworkA,701,701,701,1971-12-03,70.10000000000029,70.0995,2015-01-01 00:11:41,bin701,75,True +CTSPillarNetworkA,702,702,702,1971-12-04,70.20000000000029,70.1995,2015-01-01 00:11:42,bin702,35,True +CTSPillarNetworkA,703,703,703,1971-12-05,70.30000000000028,70.2995,2015-01-01 00:11:43,bin703,75,True +CTSPillarNetworkA,704,704,704,1971-12-06,70.40000000000028,70.3995,2015-01-01 00:11:44,bin704,35,True +CTSPillarNetworkA,705,705,705,1971-12-07,70.50000000000027,70.4995,2015-01-01 00:11:45,bin705,75,True +CTSPillarNetworkA,706,706,706,1971-12-08,70.60000000000026,70.599495,2015-01-01 00:11:46,bin706,35,True +CTSPillarNetworkA,707,707,707,1971-12-09,70.70000000000026,70.69949,2015-01-01 00:11:47,bin707,75,True +CTSPillarNetworkA,708,708,708,1971-12-10,70.80000000000025,70.79949,2015-01-01 00:11:48,bin708,35,True +CTSPillarNetworkA,709,709,709,1971-12-11,70.90000000000025,70.89949,2015-01-01 00:11:49,bin709,75,True +CTSPillarNetworkA,710,710,710,1971-12-12,71.00000000000024,70.99949,2015-01-01 00:11:50,bin710,35,True +CTSPillarNetworkA,711,711,711,1971-12-13,71.10000000000024,71.09949,2015-01-01 00:11:51,bin711,75,True +CTSPillarNetworkA,712,712,712,1971-12-14,71.20000000000023,71.199486,2015-01-01 00:11:52,bin712,35,True +CTSPillarNetworkA,713,713,713,1971-12-15,71.30000000000022,71.299484,2015-01-01 00:11:53,bin713,75,True +CTSPillarNetworkA,714,714,714,1971-12-16,71.40000000000022,71.39948,2015-01-01 00:11:54,bin714,35,True +CTSPillarNetworkA,715,715,715,1971-12-17,71.50000000000021,71.49948,2015-01-01 00:11:55,bin715,75,True +CTSPillarNetworkA,716,716,716,1971-12-18,71.60000000000021,71.59948,2015-01-01 00:11:56,bin716,35,True +CTSPillarNetworkA,717,717,717,1971-12-19,71.7000000000002,71.69948,2015-01-01 00:11:57,bin717,75,True +CTSPillarNetworkA,718,718,718,1971-12-20,71.8000000000002,71.79948,2015-01-01 00:11:58,bin718,35,True +CTSPillarNetworkA,719,719,719,1971-12-21,71.90000000000019,71.899475,2015-01-01 00:11:59,bin719,75,True +CTSPillarNetworkA,720,720,720,1971-12-22,72.00000000000018,71.99947,2015-01-01 00:12:00,bin720,35,True +CTSPillarNetworkA,721,721,721,1971-12-23,72.10000000000018,72.09947,2015-01-01 00:12:01,bin721,75,True +CTSPillarNetworkA,722,722,722,1971-12-24,72.20000000000017,72.19947,2015-01-01 00:12:02,bin722,35,True +CTSPillarNetworkA,723,723,723,1971-12-25,72.30000000000017,72.29947,2015-01-01 00:12:03,bin723,75,True +CTSPillarNetworkA,724,724,724,1971-12-26,72.40000000000016,72.39947,2015-01-01 00:12:04,bin724,35,True +CTSPillarNetworkA,725,725,725,1971-12-27,72.50000000000016,72.499466,2015-01-01 00:12:05,bin725,75,True +CTSPillarNetworkA,726,726,726,1971-12-28,72.60000000000015,72.599464,2015-01-01 00:12:06,bin726,35,True +CTSPillarNetworkA,727,727,727,1971-12-29,72.70000000000014,72.69946,2015-01-01 00:12:07,bin727,75,True +CTSPillarNetworkA,728,728,728,1971-12-30,72.80000000000014,72.79946,2015-01-01 00:12:08,bin728,35,True +CTSPillarNetworkA,729,729,729,1971-12-31,72.90000000000013,72.89946,2015-01-01 00:12:09,bin729,75,True +CTSPillarNetworkA,730,730,730,1972-01-01,73.00000000000013,72.99946,2015-01-01 00:12:10,bin730,35,True +CTSPillarNetworkA,731,731,731,1972-01-02,73.10000000000012,73.09946,2015-01-01 00:12:11,bin731,75,True +CTSPillarNetworkA,732,732,732,1972-01-03,73.20000000000012,73.199455,2015-01-01 00:12:12,bin732,35,True +CTSPillarNetworkA,733,733,733,1972-01-04,73.30000000000011,73.29945,2015-01-01 00:12:13,bin733,75,True +CTSPillarNetworkA,734,734,734,1972-01-05,73.4000000000001,73.39945,2015-01-01 00:12:14,bin734,35,True +CTSPillarNetworkA,735,735,735,1972-01-06,73.5000000000001,73.49945,2015-01-01 00:12:15,bin735,75,True +CTSPillarNetworkA,736,736,736,1972-01-07,73.6000000000001,73.59945,2015-01-01 00:12:16,bin736,35,True +CTSPillarNetworkA,737,737,737,1972-01-08,73.70000000000009,73.69945,2015-01-01 00:12:17,bin737,75,True +CTSPillarNetworkA,738,738,738,1972-01-09,73.80000000000008,73.799446,2015-01-01 00:12:18,bin738,35,True +CTSPillarNetworkA,739,739,739,1972-01-10,73.90000000000008,73.899445,2015-01-01 00:12:19,bin739,75,True +CTSPillarNetworkA,740,740,740,1972-01-11,74.00000000000007,73.99944,2015-01-01 00:12:20,bin740,35,True +CTSPillarNetworkA,741,741,741,1972-01-12,74.10000000000007,74.09944,2015-01-01 00:12:21,bin741,75,True +CTSPillarNetworkA,742,742,742,1972-01-13,74.20000000000006,74.19944,2015-01-01 00:12:22,bin742,35,True +CTSPillarNetworkA,743,743,743,1972-01-14,74.30000000000005,74.29944,2015-01-01 00:12:23,bin743,75,True +CTSPillarNetworkA,744,744,744,1972-01-15,74.40000000000005,74.39944,2015-01-01 00:12:24,bin744,35,True +CTSPillarNetworkA,745,745,745,1972-01-16,74.50000000000004,74.499435,2015-01-01 00:12:25,bin745,75,True +CTSPillarNetworkA,746,746,746,1972-01-17,74.60000000000004,74.599434,2015-01-01 00:12:26,bin746,35,True +CTSPillarNetworkA,747,747,747,1972-01-18,74.70000000000003,74.69943,2015-01-01 00:12:27,bin747,75,True +CTSPillarNetworkA,748,748,748,1972-01-19,74.80000000000003,74.79943,2015-01-01 00:12:28,bin748,35,True +CTSPillarNetworkA,749,749,749,1972-01-20,74.90000000000002,74.89943,2015-01-01 00:12:29,bin749,75,True +CTSPillarNetworkA,750,750,750,1972-01-21,75.00000000000001,74.99943,2015-01-01 00:12:30,bin750,35,True +CTSPillarNetworkA,751,751,751,1972-01-22,75.10000000000001,75.09943,2015-01-01 00:12:31,bin751,75,True +CTSPillarNetworkA,752,752,752,1972-01-23,75.2,75.199425,2015-01-01 00:12:32,bin752,35,True +CTSPillarNetworkA,753,753,753,1972-01-24,75.3,75.29942,2015-01-01 00:12:33,bin753,75,True +CTSPillarNetworkA,754,754,754,1972-01-25,75.39999999999999,75.39942,2015-01-01 00:12:34,bin754,35,True +CTSPillarNetworkA,755,755,755,1972-01-26,75.49999999999999,75.49942,2015-01-01 00:12:35,bin755,75,True +CTSPillarNetworkA,756,756,756,1972-01-27,75.59999999999998,75.59942,2015-01-01 00:12:36,bin756,35,True +CTSPillarNetworkA,757,757,757,1972-01-28,75.69999999999997,75.69942,2015-01-01 00:12:37,bin757,75,True +CTSPillarNetworkA,758,758,758,1972-01-29,75.79999999999997,75.799416,2015-01-01 00:12:38,bin758,35,True +CTSPillarNetworkA,759,759,759,1972-01-30,75.89999999999996,75.899414,2015-01-01 00:12:39,bin759,75,True +CTSPillarNetworkA,760,760,760,1972-01-31,75.99999999999996,75.99941,2015-01-01 00:12:40,bin760,35,True +CTSPillarNetworkA,761,761,761,1972-02-01,76.09999999999995,76.09941,2015-01-01 00:12:41,bin761,75,True +CTSPillarNetworkA,762,762,762,1972-02-02,76.19999999999995,76.19941,2015-01-01 00:12:42,bin762,35,True +CTSPillarNetworkA,763,763,763,1972-02-03,76.29999999999994,76.29941,2015-01-01 00:12:43,bin763,75,True +CTSPillarNetworkA,764,764,764,1972-02-04,76.39999999999993,76.39941,2015-01-01 00:12:44,bin764,35,True +CTSPillarNetworkA,765,765,765,1972-02-05,76.49999999999993,76.499405,2015-01-01 00:12:45,bin765,75,True +CTSPillarNetworkA,766,766,766,1972-02-06,76.59999999999992,76.5994,2015-01-01 00:12:46,bin766,35,True +CTSPillarNetworkA,767,767,767,1972-02-07,76.69999999999992,76.6994,2015-01-01 00:12:47,bin767,75,True +CTSPillarNetworkA,768,768,768,1972-02-08,76.79999999999991,76.7994,2015-01-01 00:12:48,bin768,35,True +CTSPillarNetworkA,769,769,769,1972-02-09,76.8999999999999,76.8994,2015-01-01 00:12:49,bin769,75,True +CTSPillarNetworkA,770,770,770,1972-02-10,76.9999999999999,76.9994,2015-01-01 00:12:50,bin770,35,True +CTSPillarNetworkA,771,771,771,1972-02-11,77.0999999999999,77.099396,2015-01-01 00:12:51,bin771,75,True +CTSPillarNetworkA,772,772,772,1972-02-12,77.19999999999989,77.199394,2015-01-01 00:12:52,bin772,35,True +CTSPillarNetworkA,773,773,773,1972-02-13,77.29999999999988,77.29939,2015-01-01 00:12:53,bin773,75,True +CTSPillarNetworkA,774,774,774,1972-02-14,77.39999999999988,77.39939,2015-01-01 00:12:54,bin774,35,True +CTSPillarNetworkA,775,775,775,1972-02-15,77.49999999999987,77.49939,2015-01-01 00:12:55,bin775,75,True +CTSPillarNetworkA,776,776,776,1972-02-16,77.59999999999987,77.59939,2015-01-01 00:12:56,bin776,35,True +CTSPillarNetworkA,777,777,777,1972-02-17,77.69999999999986,77.69939,2015-01-01 00:12:57,bin777,75,True +CTSPillarNetworkA,778,778,778,1972-02-18,77.79999999999986,77.799385,2015-01-01 00:12:58,bin778,35,True +CTSPillarNetworkA,779,779,779,1972-02-19,77.89999999999985,77.89938,2015-01-01 00:12:59,bin779,75,True +CTSPillarNetworkA,780,780,780,1972-02-20,77.99999999999984,77.99938,2015-01-01 00:13:00,bin780,35,True +CTSPillarNetworkA,781,781,781,1972-02-21,78.09999999999984,78.09938,2015-01-01 00:13:01,bin781,75,True +CTSPillarNetworkA,782,782,782,1972-02-22,78.19999999999983,78.19938,2015-01-01 00:13:02,bin782,35,True +CTSPillarNetworkA,783,783,783,1972-02-23,78.29999999999983,78.29938,2015-01-01 00:13:03,bin783,75,True +CTSPillarNetworkA,784,784,784,1972-02-24,78.39999999999982,78.399376,2015-01-01 00:13:04,bin784,35,True +CTSPillarNetworkA,785,785,785,1972-02-25,78.49999999999982,78.499374,2015-01-01 00:13:05,bin785,75,True +CTSPillarNetworkA,786,786,786,1972-02-26,78.59999999999981,78.59937,2015-01-01 00:13:06,bin786,35,True +CTSPillarNetworkA,787,787,787,1972-02-27,78.6999999999998,78.69937,2015-01-01 00:13:07,bin787,75,True +CTSPillarNetworkA,788,788,788,1972-02-28,78.7999999999998,78.79937,2015-01-01 00:13:08,bin788,35,True +CTSPillarNetworkA,789,789,789,1972-02-29,78.89999999999979,78.89937,2015-01-01 00:13:09,bin789,75,True +CTSPillarNetworkA,790,790,790,1972-03-01,78.99999999999979,78.99937,2015-01-01 00:13:10,bin790,35,True +CTSPillarNetworkA,791,791,791,1972-03-02,79.09999999999978,79.099365,2015-01-01 00:13:11,bin791,75,True +CTSPillarNetworkA,792,792,792,1972-03-03,79.19999999999978,79.19936,2015-01-01 00:13:12,bin792,35,True +CTSPillarNetworkA,793,793,793,1972-03-04,79.29999999999977,79.29936,2015-01-01 00:13:13,bin793,75,True +CTSPillarNetworkA,794,794,794,1972-03-05,79.39999999999976,79.39936,2015-01-01 00:13:14,bin794,35,True +CTSPillarNetworkA,795,795,795,1972-03-06,79.49999999999976,79.49936,2015-01-01 00:13:15,bin795,75,True +CTSPillarNetworkA,796,796,796,1972-03-07,79.59999999999975,79.59936,2015-01-01 00:13:16,bin796,35,True +CTSPillarNetworkA,797,797,797,1972-03-08,79.69999999999975,79.699356,2015-01-01 00:13:17,bin797,75,True +CTSPillarNetworkA,798,798,798,1972-03-09,79.79999999999974,79.799355,2015-01-01 00:13:18,bin798,35,True +CTSPillarNetworkA,799,799,799,1972-03-10,79.89999999999974,79.89935,2015-01-01 00:13:19,bin799,75,True +CTSPillarNetworkA,800,800,800,1972-03-11,79.99999999999973,79.99935,2015-01-01 00:13:20,bin800,35,True +CTSPillarNetworkA,801,801,801,1972-03-12,80.09999999999972,80.09935,2015-01-01 00:13:21,bin801,75,True +CTSPillarNetworkA,802,802,802,1972-03-13,80.19999999999972,80.19935,2015-01-01 00:13:22,bin802,35,True +CTSPillarNetworkA,803,803,803,1972-03-14,80.29999999999971,80.29935,2015-01-01 00:13:23,bin803,75,True +CTSPillarNetworkA,804,804,804,1972-03-15,80.39999999999971,80.399345,2015-01-01 00:13:24,bin804,35,True +CTSPillarNetworkA,805,805,805,1972-03-16,80.4999999999997,80.499344,2015-01-01 00:13:25,bin805,75,True +CTSPillarNetworkA,806,806,806,1972-03-17,80.5999999999997,80.59934,2015-01-01 00:13:26,bin806,35,True +CTSPillarNetworkA,807,807,807,1972-03-18,80.69999999999969,80.69934,2015-01-01 00:13:27,bin807,75,True +CTSPillarNetworkA,808,808,808,1972-03-19,80.79999999999968,80.79934,2015-01-01 00:13:28,bin808,35,True +CTSPillarNetworkA,809,809,809,1972-03-20,80.89999999999968,80.89934,2015-01-01 00:13:29,bin809,75,True +CTSPillarNetworkA,810,810,810,1972-03-21,80.99999999999967,80.99934,2015-01-01 00:13:30,bin810,35,True +CTSPillarNetworkA,811,811,811,1972-03-22,81.09999999999967,81.099335,2015-01-01 00:13:31,bin811,75,True +CTSPillarNetworkA,812,812,812,1972-03-23,81.19999999999966,81.19933,2015-01-01 00:13:32,bin812,35,True +CTSPillarNetworkA,813,813,813,1972-03-24,81.29999999999966,81.29933,2015-01-01 00:13:33,bin813,75,True +CTSPillarNetworkA,814,814,814,1972-03-25,81.39999999999965,81.39933,2015-01-01 00:13:34,bin814,35,True +CTSPillarNetworkA,815,815,815,1972-03-26,81.49999999999964,81.49933,2015-01-01 00:13:35,bin815,75,True +CTSPillarNetworkA,816,816,816,1972-03-27,81.59999999999964,81.59933,2015-01-01 00:13:36,bin816,35,True +CTSPillarNetworkA,817,817,817,1972-03-28,81.69999999999963,81.699326,2015-01-01 00:13:37,bin817,75,True +CTSPillarNetworkA,818,818,818,1972-03-29,81.79999999999963,81.799324,2015-01-01 00:13:38,bin818,35,True +CTSPillarNetworkA,819,819,819,1972-03-30,81.89999999999962,81.89932,2015-01-01 00:13:39,bin819,75,True +CTSPillarNetworkA,820,820,820,1972-03-31,81.99999999999962,81.99932,2015-01-01 00:13:40,bin820,35,True +CTSPillarNetworkA,821,821,821,1972-04-01,82.09999999999961,82.09932,2015-01-01 00:13:41,bin821,75,True +CTSPillarNetworkA,822,822,822,1972-04-02,82.1999999999996,82.19932,2015-01-01 00:13:42,bin822,35,True +CTSPillarNetworkA,823,823,823,1972-04-03,82.2999999999996,82.29932,2015-01-01 00:13:43,bin823,75,True +CTSPillarNetworkA,824,824,824,1972-04-04,82.3999999999996,82.399315,2015-01-01 00:13:44,bin824,35,True +CTSPillarNetworkA,825,825,825,1972-04-05,82.49999999999959,82.49931,2015-01-01 00:13:45,bin825,75,True +CTSPillarNetworkA,826,826,826,1972-04-06,82.59999999999958,82.59931,2015-01-01 00:13:46,bin826,35,True +CTSPillarNetworkA,827,827,827,1972-04-07,82.69999999999958,82.69931,2015-01-01 00:13:47,bin827,75,True +CTSPillarNetworkA,828,828,828,1972-04-08,82.79999999999957,82.79931,2015-01-01 00:13:48,bin828,35,True +CTSPillarNetworkA,829,829,829,1972-04-09,82.89999999999957,82.89931,2015-01-01 00:13:49,bin829,75,True +CTSPillarNetworkA,830,830,830,1972-04-10,82.99999999999956,82.999306,2015-01-01 00:13:50,bin830,35,True +CTSPillarNetworkA,831,831,831,1972-04-11,83.09999999999955,83.099304,2015-01-01 00:13:51,bin831,75,True +CTSPillarNetworkA,832,832,832,1972-04-12,83.19999999999955,83.1993,2015-01-01 00:13:52,bin832,35,True +CTSPillarNetworkA,833,833,833,1972-04-13,83.29999999999954,83.2993,2015-01-01 00:13:53,bin833,75,True +CTSPillarNetworkA,834,834,834,1972-04-14,83.39999999999954,83.3993,2015-01-01 00:13:54,bin834,35,True +CTSPillarNetworkA,835,835,835,1972-04-15,83.49999999999953,83.4993,2015-01-01 00:13:55,bin835,75,True +CTSPillarNetworkA,836,836,836,1972-04-16,83.59999999999953,83.5993,2015-01-01 00:13:56,bin836,35,True +CTSPillarNetworkA,837,837,837,1972-04-17,83.69999999999952,83.699295,2015-01-01 00:13:57,bin837,75,True +CTSPillarNetworkA,838,838,838,1972-04-18,83.79999999999951,83.79929,2015-01-01 00:13:58,bin838,35,True +CTSPillarNetworkA,839,839,839,1972-04-19,83.89999999999951,83.89929,2015-01-01 00:13:59,bin839,75,True +CTSPillarNetworkA,840,840,840,1972-04-20,83.9999999999995,83.99929,2015-01-01 00:14:00,bin840,35,True +CTSPillarNetworkA,841,841,841,1972-04-21,84.0999999999995,84.09929,2015-01-01 00:14:01,bin841,75,True +CTSPillarNetworkA,842,842,842,1972-04-22,84.19999999999949,84.19929,2015-01-01 00:14:02,bin842,35,True +CTSPillarNetworkA,843,843,843,1972-04-23,84.29999999999949,84.299286,2015-01-01 00:14:03,bin843,75,True +CTSPillarNetworkA,844,844,844,1972-04-24,84.39999999999948,84.399284,2015-01-01 00:14:04,bin844,35,True +CTSPillarNetworkA,845,845,845,1972-04-25,84.49999999999947,84.49928,2015-01-01 00:14:05,bin845,75,True +CTSPillarNetworkA,846,846,846,1972-04-26,84.59999999999947,84.59928,2015-01-01 00:14:06,bin846,35,True +CTSPillarNetworkA,847,847,847,1972-04-27,84.69999999999946,84.69928,2015-01-01 00:14:07,bin847,75,True +CTSPillarNetworkA,848,848,848,1972-04-28,84.79999999999946,84.79928,2015-01-01 00:14:08,bin848,35,True +CTSPillarNetworkA,849,849,849,1972-04-29,84.89999999999945,84.89928,2015-01-01 00:14:09,bin849,75,True +CTSPillarNetworkA,850,850,850,1972-04-30,84.99999999999945,84.999275,2015-01-01 00:14:10,bin850,35,True +CTSPillarNetworkA,851,851,851,1972-05-01,85.09999999999944,85.09927,2015-01-01 00:14:11,bin851,75,True +CTSPillarNetworkA,852,852,852,1972-05-02,85.19999999999943,85.19927,2015-01-01 00:14:12,bin852,35,True +CTSPillarNetworkA,853,853,853,1972-05-03,85.29999999999943,85.29927,2015-01-01 00:14:13,bin853,75,True +CTSPillarNetworkA,854,854,854,1972-05-04,85.39999999999942,85.39927,2015-01-01 00:14:14,bin854,35,True +CTSPillarNetworkA,855,855,855,1972-05-05,85.49999999999942,85.49927,2015-01-01 00:14:15,bin855,75,True +CTSPillarNetworkA,856,856,856,1972-05-06,85.59999999999941,85.599266,2015-01-01 00:14:16,bin856,35,True +CTSPillarNetworkA,857,857,857,1972-05-07,85.6999999999994,85.699265,2015-01-01 00:14:17,bin857,75,True +CTSPillarNetworkA,858,858,858,1972-05-08,85.7999999999994,85.79926,2015-01-01 00:14:18,bin858,35,True +CTSPillarNetworkA,859,859,859,1972-05-09,85.8999999999994,85.89926,2015-01-01 00:14:19,bin859,75,True +CTSPillarNetworkA,860,860,860,1972-05-10,85.99999999999939,85.99926,2015-01-01 00:14:20,bin860,35,True +CTSPillarNetworkA,861,861,861,1972-05-11,86.09999999999938,86.09926,2015-01-01 00:14:21,bin861,75,True +CTSPillarNetworkA,862,862,862,1972-05-12,86.19999999999938,86.19926,2015-01-01 00:14:22,bin862,35,True +CTSPillarNetworkA,863,863,863,1972-05-13,86.29999999999937,86.299255,2015-01-01 00:14:23,bin863,75,True +CTSPillarNetworkA,864,864,864,1972-05-14,86.39999999999937,86.399254,2015-01-01 00:14:24,bin864,35,True +CTSPillarNetworkA,865,865,865,1972-05-15,86.49999999999936,86.49925,2015-01-01 00:14:25,bin865,75,True +CTSPillarNetworkA,866,866,866,1972-05-16,86.59999999999935,86.59925,2015-01-01 00:14:26,bin866,35,True +CTSPillarNetworkA,867,867,867,1972-05-17,86.69999999999935,86.69925,2015-01-01 00:14:27,bin867,75,True +CTSPillarNetworkA,868,868,868,1972-05-18,86.79999999999934,86.79925,2015-01-01 00:14:28,bin868,35,True +CTSPillarNetworkA,869,869,869,1972-05-19,86.89999999999934,86.89925,2015-01-01 00:14:29,bin869,75,True +CTSPillarNetworkA,870,870,870,1972-05-20,86.99999999999933,86.999245,2015-01-01 00:14:30,bin870,35,True +CTSPillarNetworkA,871,871,871,1972-05-21,87.09999999999933,87.09924,2015-01-01 00:14:31,bin871,75,True +CTSPillarNetworkA,872,872,872,1972-05-22,87.19999999999932,87.19924,2015-01-01 00:14:32,bin872,35,True +CTSPillarNetworkA,873,873,873,1972-05-23,87.29999999999932,87.29924,2015-01-01 00:14:33,bin873,75,True +CTSPillarNetworkA,874,874,874,1972-05-24,87.39999999999931,87.39924,2015-01-01 00:14:34,bin874,35,True +CTSPillarNetworkA,875,875,875,1972-05-25,87.4999999999993,87.49924,2015-01-01 00:14:35,bin875,75,True +CTSPillarNetworkA,876,876,876,1972-05-26,87.5999999999993,87.599236,2015-01-01 00:14:36,bin876,35,True +CTSPillarNetworkA,877,877,877,1972-05-27,87.69999999999929,87.699234,2015-01-01 00:14:37,bin877,75,True +CTSPillarNetworkA,878,878,878,1972-05-28,87.79999999999929,87.79923,2015-01-01 00:14:38,bin878,35,True +CTSPillarNetworkA,879,879,879,1972-05-29,87.89999999999928,87.89923,2015-01-01 00:14:39,bin879,75,True +CTSPillarNetworkA,880,880,880,1972-05-30,87.99999999999928,87.99923,2015-01-01 00:14:40,bin880,35,True +CTSPillarNetworkA,881,881,881,1972-05-31,88.09999999999927,88.09923,2015-01-01 00:14:41,bin881,75,True +CTSPillarNetworkA,882,882,882,1972-06-01,88.19999999999926,88.19923,2015-01-01 00:14:42,bin882,35,True +CTSPillarNetworkA,883,883,883,1972-06-02,88.29999999999926,88.299225,2015-01-01 00:14:43,bin883,75,True +CTSPillarNetworkA,884,884,884,1972-06-03,88.39999999999925,88.39922,2015-01-01 00:14:44,bin884,35,True +CTSPillarNetworkA,885,885,885,1972-06-04,88.49999999999925,88.49922,2015-01-01 00:14:45,bin885,75,True +CTSPillarNetworkA,886,886,886,1972-06-05,88.59999999999924,88.59922,2015-01-01 00:14:46,bin886,35,True +CTSPillarNetworkA,887,887,887,1972-06-06,88.69999999999924,88.69922,2015-01-01 00:14:47,bin887,75,True +CTSPillarNetworkA,888,888,888,1972-06-07,88.79999999999923,88.79922,2015-01-01 00:14:48,bin888,35,True +CTSPillarNetworkA,889,889,889,1972-06-08,88.89999999999922,88.899216,2015-01-01 00:14:49,bin889,75,True +CTSPillarNetworkA,890,890,890,1972-06-09,88.99999999999922,88.999214,2015-01-01 00:14:50,bin890,35,True +CTSPillarNetworkA,891,891,891,1972-06-10,89.09999999999921,89.09921,2015-01-01 00:14:51,bin891,75,True +CTSPillarNetworkA,892,892,892,1972-06-11,89.1999999999992,89.19921,2015-01-01 00:14:52,bin892,35,True +CTSPillarNetworkA,893,893,893,1972-06-12,89.2999999999992,89.29921,2015-01-01 00:14:53,bin893,75,True +CTSPillarNetworkA,894,894,894,1972-06-13,89.3999999999992,89.39921,2015-01-01 00:14:54,bin894,35,True +CTSPillarNetworkA,895,895,895,1972-06-14,89.49999999999919,89.49921,2015-01-01 00:14:55,bin895,75,True +CTSPillarNetworkA,896,896,896,1972-06-15,89.59999999999918,89.599205,2015-01-01 00:14:56,bin896,35,True +CTSPillarNetworkA,897,897,897,1972-06-16,89.69999999999918,89.6992,2015-01-01 00:14:57,bin897,75,True +CTSPillarNetworkA,898,898,898,1972-06-17,89.79999999999917,89.7992,2015-01-01 00:14:58,bin898,35,True +CTSPillarNetworkA,899,899,899,1972-06-18,89.89999999999917,89.8992,2015-01-01 00:14:59,bin899,75,True +CTSPillarNetworkA,900,900,900,1972-06-19,89.99999999999916,89.9992,2015-01-01 00:15:00,bin900,35,True +CTSPillarNetworkA,901,901,901,1972-06-20,90.09999999999916,90.0992,2015-01-01 00:15:01,bin901,75,True +CTSPillarNetworkA,902,902,902,1972-06-21,90.19999999999915,90.199196,2015-01-01 00:15:02,bin902,35,True +CTSPillarNetworkA,903,903,903,1972-06-22,90.29999999999914,90.299194,2015-01-01 00:15:03,bin903,75,True +CTSPillarNetworkA,904,904,904,1972-06-23,90.39999999999914,90.39919,2015-01-01 00:15:04,bin904,35,True +CTSPillarNetworkA,905,905,905,1972-06-24,90.49999999999913,90.49919,2015-01-01 00:15:05,bin905,75,True +CTSPillarNetworkA,906,906,906,1972-06-25,90.59999999999913,90.59919,2015-01-01 00:15:06,bin906,35,True +CTSPillarNetworkA,907,907,907,1972-06-26,90.69999999999912,90.69919,2015-01-01 00:15:07,bin907,75,True +CTSPillarNetworkA,908,908,908,1972-06-27,90.79999999999912,90.79919,2015-01-01 00:15:08,bin908,35,True +CTSPillarNetworkA,909,909,909,1972-06-28,90.89999999999911,90.899185,2015-01-01 00:15:09,bin909,75,True +CTSPillarNetworkA,910,910,910,1972-06-29,90.9999999999991,90.99918,2015-01-01 00:15:10,bin910,35,True +CTSPillarNetworkA,911,911,911,1972-06-30,91.0999999999991,91.09918,2015-01-01 00:15:11,bin911,75,True +CTSPillarNetworkA,912,912,912,1972-07-01,91.1999999999991,91.19918,2015-01-01 00:15:12,bin912,35,True +CTSPillarNetworkA,913,913,913,1972-07-02,91.29999999999909,91.29918,2015-01-01 00:15:13,bin913,75,True +CTSPillarNetworkA,914,914,914,1972-07-03,91.39999999999908,91.39918,2015-01-01 00:15:14,bin914,35,True +CTSPillarNetworkA,915,915,915,1972-07-04,91.49999999999908,91.499176,2015-01-01 00:15:15,bin915,75,True +CTSPillarNetworkA,916,916,916,1972-07-05,91.59999999999907,91.599174,2015-01-01 00:15:16,bin916,35,True +CTSPillarNetworkA,917,917,917,1972-07-06,91.69999999999906,91.69917,2015-01-01 00:15:17,bin917,75,True +CTSPillarNetworkA,918,918,918,1972-07-07,91.79999999999906,91.79917,2015-01-01 00:15:18,bin918,35,True +CTSPillarNetworkA,919,919,919,1972-07-08,91.89999999999905,91.89917,2015-01-01 00:15:19,bin919,75,True +CTSPillarNetworkA,920,920,920,1972-07-09,91.99999999999905,91.99917,2015-01-01 00:15:20,bin920,35,True +CTSPillarNetworkA,921,921,921,1972-07-10,92.09999999999904,92.09917,2015-01-01 00:15:21,bin921,75,True +CTSPillarNetworkA,922,922,922,1972-07-11,92.19999999999904,92.199165,2015-01-01 00:15:22,bin922,35,True +CTSPillarNetworkA,923,923,923,1972-07-12,92.29999999999903,92.299164,2015-01-01 00:15:23,bin923,75,True +CTSPillarNetworkA,924,924,924,1972-07-13,92.39999999999903,92.39916,2015-01-01 00:15:24,bin924,35,True +CTSPillarNetworkA,925,925,925,1972-07-14,92.49999999999902,92.49916,2015-01-01 00:15:25,bin925,75,True +CTSPillarNetworkA,926,926,926,1972-07-15,92.59999999999901,92.59916,2015-01-01 00:15:26,bin926,35,True +CTSPillarNetworkA,927,927,927,1972-07-16,92.69999999999901,92.69916,2015-01-01 00:15:27,bin927,75,True +CTSPillarNetworkA,928,928,928,1972-07-17,92.799999999999,92.79916,2015-01-01 00:15:28,bin928,35,True +CTSPillarNetworkA,929,929,929,1972-07-18,92.899999999999,92.899155,2015-01-01 00:15:29,bin929,75,True +CTSPillarNetworkA,930,930,930,1972-07-19,92.99999999999899,92.99915,2015-01-01 00:15:30,bin930,35,True +CTSPillarNetworkA,931,931,931,1972-07-20,93.09999999999899,93.09915,2015-01-01 00:15:31,bin931,75,True +CTSPillarNetworkA,932,932,932,1972-07-21,93.19999999999898,93.19915,2015-01-01 00:15:32,bin932,35,True +CTSPillarNetworkA,933,933,933,1972-07-22,93.29999999999897,93.29915,2015-01-01 00:15:33,bin933,75,True +CTSPillarNetworkA,934,934,934,1972-07-23,93.39999999999897,93.39915,2015-01-01 00:15:34,bin934,35,True +CTSPillarNetworkA,935,935,935,1972-07-24,93.49999999999896,93.499146,2015-01-01 00:15:35,bin935,75,True +CTSPillarNetworkA,936,936,936,1972-07-25,93.59999999999896,93.599144,2015-01-01 00:15:36,bin936,35,True +CTSPillarNetworkA,937,937,937,1972-07-26,93.69999999999895,93.69914,2015-01-01 00:15:37,bin937,75,True +CTSPillarNetworkA,938,938,938,1972-07-27,93.79999999999895,93.79914,2015-01-01 00:15:38,bin938,35,True +CTSPillarNetworkA,939,939,939,1972-07-28,93.89999999999894,93.89914,2015-01-01 00:15:39,bin939,75,True +CTSPillarNetworkA,940,940,940,1972-07-29,93.99999999999893,93.99914,2015-01-01 00:15:40,bin940,35,True +CTSPillarNetworkA,941,941,941,1972-07-30,94.09999999999893,94.09914,2015-01-01 00:15:41,bin941,75,True +CTSPillarNetworkA,942,942,942,1972-07-31,94.19999999999892,94.199135,2015-01-01 00:15:42,bin942,35,True +CTSPillarNetworkA,943,943,943,1972-08-01,94.29999999999892,94.29913,2015-01-01 00:15:43,bin943,75,True +CTSPillarNetworkA,944,944,944,1972-08-02,94.39999999999891,94.39913,2015-01-01 00:15:44,bin944,35,True +CTSPillarNetworkA,945,945,945,1972-08-03,94.4999999999989,94.49913,2015-01-01 00:15:45,bin945,75,True +CTSPillarNetworkA,946,946,946,1972-08-04,94.5999999999989,94.59913,2015-01-01 00:15:46,bin946,35,True +CTSPillarNetworkA,947,947,947,1972-08-05,94.6999999999989,94.69913,2015-01-01 00:15:47,bin947,75,True +CTSPillarNetworkA,948,948,948,1972-08-06,94.79999999999889,94.799126,2015-01-01 00:15:48,bin948,35,True +CTSPillarNetworkA,949,949,949,1972-08-07,94.89999999999888,94.899124,2015-01-01 00:15:49,bin949,75,True +CTSPillarNetworkA,950,950,950,1972-08-08,94.99999999999888,94.99912,2015-01-01 00:15:50,bin950,35,True +CTSPillarNetworkA,951,951,951,1972-08-09,95.09999999999887,95.09912,2015-01-01 00:15:51,bin951,75,True +CTSPillarNetworkA,952,952,952,1972-08-10,95.19999999999887,95.19912,2015-01-01 00:15:52,bin952,35,True +CTSPillarNetworkA,953,953,953,1972-08-11,95.29999999999886,95.29912,2015-01-01 00:15:53,bin953,75,True +CTSPillarNetworkA,954,954,954,1972-08-12,95.39999999999885,95.39912,2015-01-01 00:15:54,bin954,35,True +CTSPillarNetworkA,955,955,955,1972-08-13,95.49999999999885,95.499115,2015-01-01 00:15:55,bin955,75,True +CTSPillarNetworkA,956,956,956,1972-08-14,95.59999999999884,95.59911,2015-01-01 00:15:56,bin956,35,True +CTSPillarNetworkA,957,957,957,1972-08-15,95.69999999999884,95.69911,2015-01-01 00:15:57,bin957,75,True +CTSPillarNetworkA,958,958,958,1972-08-16,95.79999999999883,95.79911,2015-01-01 00:15:58,bin958,35,True +CTSPillarNetworkA,959,959,959,1972-08-17,95.89999999999883,95.89911,2015-01-01 00:15:59,bin959,75,True +CTSPillarNetworkA,960,960,960,1972-08-18,95.99999999999882,95.99911,2015-01-01 00:16:00,bin960,35,True +CTSPillarNetworkA,961,961,961,1972-08-19,96.09999999999881,96.099106,2015-01-01 00:16:01,bin961,75,True +CTSPillarNetworkA,962,962,962,1972-08-20,96.19999999999881,96.199104,2015-01-01 00:16:02,bin962,35,True +CTSPillarNetworkA,963,963,963,1972-08-21,96.2999999999988,96.2991,2015-01-01 00:16:03,bin963,75,True +CTSPillarNetworkA,964,964,964,1972-08-22,96.3999999999988,96.3991,2015-01-01 00:16:04,bin964,35,True +CTSPillarNetworkA,965,965,965,1972-08-23,96.49999999999879,96.4991,2015-01-01 00:16:05,bin965,75,True +CTSPillarNetworkA,966,966,966,1972-08-24,96.59999999999879,96.5991,2015-01-01 00:16:06,bin966,35,True +CTSPillarNetworkA,967,967,967,1972-08-25,96.69999999999878,96.6991,2015-01-01 00:16:07,bin967,75,True +CTSPillarNetworkA,968,968,968,1972-08-26,96.79999999999878,96.799095,2015-01-01 00:16:08,bin968,35,True +CTSPillarNetworkA,969,969,969,1972-08-27,96.89999999999877,96.89909,2015-01-01 00:16:09,bin969,75,True +CTSPillarNetworkA,970,970,970,1972-08-28,96.99999999999876,96.99909,2015-01-01 00:16:10,bin970,35,True +CTSPillarNetworkA,971,971,971,1972-08-29,97.09999999999876,97.09909,2015-01-01 00:16:11,bin971,75,True +CTSPillarNetworkA,972,972,972,1972-08-30,97.19999999999875,97.19909,2015-01-01 00:16:12,bin972,35,True +CTSPillarNetworkA,973,973,973,1972-08-31,97.29999999999875,97.29909,2015-01-01 00:16:13,bin973,75,True +CTSPillarNetworkA,974,974,974,1972-09-01,97.39999999999874,97.399086,2015-01-01 00:16:14,bin974,35,True +CTSPillarNetworkA,975,975,975,1972-09-02,97.49999999999874,97.499084,2015-01-01 00:16:15,bin975,75,True +CTSPillarNetworkA,976,976,976,1972-09-03,97.59999999999873,97.59908,2015-01-01 00:16:16,bin976,35,True +CTSPillarNetworkA,977,977,977,1972-09-04,97.69999999999872,97.69908,2015-01-01 00:16:17,bin977,75,True +CTSPillarNetworkA,978,978,978,1972-09-05,97.79999999999872,97.79908,2015-01-01 00:16:18,bin978,35,True +CTSPillarNetworkA,979,979,979,1972-09-06,97.89999999999871,97.89908,2015-01-01 00:16:19,bin979,75,True +CTSPillarNetworkA,980,980,980,1972-09-07,97.9999999999987,97.99908,2015-01-01 00:16:20,bin980,35,True +CTSPillarNetworkA,981,981,981,1972-09-08,98.0999999999987,98.099075,2015-01-01 00:16:21,bin981,75,True +CTSPillarNetworkA,982,982,982,1972-09-09,98.1999999999987,98.19907,2015-01-01 00:16:22,bin982,35,True +CTSPillarNetworkA,983,983,983,1972-09-10,98.29999999999869,98.29907,2015-01-01 00:16:23,bin983,75,True +CTSPillarNetworkA,984,984,984,1972-09-11,98.39999999999868,98.39907,2015-01-01 00:16:24,bin984,35,True +CTSPillarNetworkA,985,985,985,1972-09-12,98.49999999999868,98.49907,2015-01-01 00:16:25,bin985,75,True +CTSPillarNetworkA,986,986,986,1972-09-13,98.59999999999867,98.59907,2015-01-01 00:16:26,bin986,35,True +CTSPillarNetworkA,987,987,987,1972-09-14,98.69999999999867,98.699066,2015-01-01 00:16:27,bin987,75,True +CTSPillarNetworkA,988,988,988,1972-09-15,98.79999999999866,98.799065,2015-01-01 00:16:28,bin988,35,True +CTSPillarNetworkA,989,989,989,1972-09-16,98.89999999999866,98.89906,2015-01-01 00:16:29,bin989,75,True +CTSPillarNetworkA,990,990,990,1972-09-17,98.99999999999865,98.99906,2015-01-01 00:16:30,bin990,35,True +CTSPillarNetworkA,991,991,991,1972-09-18,99.09999999999864,99.09906,2015-01-01 00:16:31,bin991,75,True +CTSPillarNetworkA,992,992,992,1972-09-19,99.19999999999864,99.19906,2015-01-01 00:16:32,bin992,35,True +CTSPillarNetworkA,993,993,993,1972-09-20,99.29999999999863,99.29906,2015-01-01 00:16:33,bin993,75,True +CTSPillarNetworkA,994,994,994,1972-09-21,99.39999999999863,99.399055,2015-01-01 00:16:34,bin994,35,True +CTSPillarNetworkA,995,995,995,1972-09-22,99.49999999999862,99.499054,2015-01-01 00:16:35,bin995,75,True +CTSPillarNetworkA,996,996,996,1972-09-23,99.59999999999862,99.59905,2015-01-01 00:16:36,bin996,35,True +CTSPillarNetworkA,997,997,997,1972-09-24,99.69999999999861,99.69905,2015-01-01 00:16:37,bin997,75,True +CTSPillarNetworkA,998,998,998,1972-09-25,99.7999999999986,99.79905,2015-01-01 00:16:38,bin998,35,True +CTSPillarNetworkA,999,999,999,1972-09-26,99.8999999999986,99.89905,2015-01-01 00:16:39,bin999,75,True +CTSPillarNetworkA,1000,1000,1000,1972-09-27,99.9999999999986,99.99905,2015-01-01 00:16:40,bin1000,35,True +CTSPillarNetworkA,1001,1001,1001,1972-09-28,100.09999999999859,100.099045,2015-01-01 00:16:41,bin1001,75,True +CTSPillarNetworkA,1002,1002,1002,1972-09-29,100.19999999999858,100.19904,2015-01-01 00:16:42,bin1002,35,True +CTSPillarNetworkA,1003,1003,1003,1972-09-30,100.29999999999858,100.29904,2015-01-01 00:16:43,bin1003,75,True +CTSPillarNetworkA,1004,1004,1004,1972-10-01,100.39999999999857,100.39904,2015-01-01 00:16:44,bin1004,35,True +CTSPillarNetworkA,1005,1005,1005,1972-10-02,100.49999999999856,100.49904,2015-01-01 00:16:45,bin1005,75,True +CTSPillarNetworkA,1006,1006,1006,1972-10-03,100.59999999999856,100.59904,2015-01-01 00:16:46,bin1006,35,True +CTSPillarNetworkA,1007,1007,1007,1972-10-04,100.69999999999855,100.699036,2015-01-01 00:16:47,bin1007,75,True +CTSPillarNetworkA,1008,1008,1008,1972-10-05,100.79999999999855,100.799034,2015-01-01 00:16:48,bin1008,35,True +CTSPillarNetworkA,1009,1009,1009,1972-10-06,100.89999999999854,100.89903,2015-01-01 00:16:49,bin1009,75,True +CTSPillarNetworkA,1010,1010,1010,1972-10-07,100.99999999999854,100.99903,2015-01-01 00:16:50,bin1010,35,True +CTSPillarNetworkA,1011,1011,1011,1972-10-08,101.09999999999853,101.09903,2015-01-01 00:16:51,bin1011,75,True +CTSPillarNetworkA,1012,1012,1012,1972-10-09,101.19999999999852,101.19903,2015-01-01 00:16:52,bin1012,35,True +CTSPillarNetworkA,1013,1013,1013,1972-10-10,101.29999999999852,101.29903,2015-01-01 00:16:53,bin1013,75,True +CTSPillarNetworkA,1014,1014,1014,1972-10-11,101.39999999999851,101.399025,2015-01-01 00:16:54,bin1014,35,True +CTSPillarNetworkA,1015,1015,1015,1972-10-12,101.49999999999851,101.49902,2015-01-01 00:16:55,bin1015,75,True +CTSPillarNetworkA,1016,1016,1016,1972-10-13,101.5999999999985,101.59902,2015-01-01 00:16:56,bin1016,35,True +CTSPillarNetworkA,1017,1017,1017,1972-10-14,101.6999999999985,101.69902,2015-01-01 00:16:57,bin1017,75,True +CTSPillarNetworkA,1018,1018,1018,1972-10-15,101.79999999999849,101.79902,2015-01-01 00:16:58,bin1018,35,True +CTSPillarNetworkA,1019,1019,1019,1972-10-16,101.89999999999849,101.89902,2015-01-01 00:16:59,bin1019,75,True +CTSPillarNetworkA,1020,1020,1020,1972-10-17,101.99999999999848,101.999016,2015-01-01 00:17:00,bin1020,35,True +CTSPillarNetworkA,1021,1021,1021,1972-10-18,102.09999999999847,102.099014,2015-01-01 00:17:01,bin1021,75,True +CTSPillarNetworkA,1022,1022,1022,1972-10-19,102.19999999999847,102.19901,2015-01-01 00:17:02,bin1022,35,True +CTSPillarNetworkA,1023,1023,1023,1972-10-20,102.29999999999846,102.29901,2015-01-01 00:17:03,bin1023,75,True +CTSPillarNetworkA,1024,1024,1024,1972-10-21,102.39999999999846,102.39901,2015-01-01 00:17:04,bin1024,35,True +CTSPillarNetworkA,1025,1025,1025,1972-10-22,102.49999999999845,102.49901,2015-01-01 00:17:05,bin1025,75,True +CTSPillarNetworkA,1026,1026,1026,1972-10-23,102.59999999999845,102.59901,2015-01-01 00:17:06,bin1026,35,True +CTSPillarNetworkA,1027,1027,1027,1972-10-24,102.69999999999844,102.699005,2015-01-01 00:17:07,bin1027,75,True +CTSPillarNetworkA,1028,1028,1028,1972-10-25,102.79999999999843,102.799,2015-01-01 00:17:08,bin1028,35,True +CTSPillarNetworkA,1029,1029,1029,1972-10-26,102.89999999999843,102.899,2015-01-01 00:17:09,bin1029,75,True +CTSPillarNetworkA,1030,1030,1030,1972-10-27,102.99999999999842,102.999,2015-01-01 00:17:10,bin1030,35,True +CTSPillarNetworkA,1031,1031,1031,1972-10-28,103.09999999999842,103.099,2015-01-01 00:17:11,bin1031,75,True +CTSPillarNetworkA,1032,1032,1032,1972-10-29,103.19999999999841,103.199,2015-01-01 00:17:12,bin1032,35,True +CTSPillarNetworkA,1033,1033,1033,1972-10-30,103.2999999999984,103.298996,2015-01-01 00:17:13,bin1033,75,True +CTSPillarNetworkA,1034,1034,1034,1972-10-31,103.3999999999984,103.398994,2015-01-01 00:17:14,bin1034,35,True +CTSPillarNetworkA,1035,1035,1035,1972-11-01,103.4999999999984,103.49899,2015-01-01 00:17:15,bin1035,75,True +CTSPillarNetworkA,1036,1036,1036,1972-11-02,103.59999999999839,103.59899,2015-01-01 00:17:16,bin1036,35,True +CTSPillarNetworkA,1037,1037,1037,1972-11-03,103.69999999999838,103.69899,2015-01-01 00:17:17,bin1037,75,True +CTSPillarNetworkA,1038,1038,1038,1972-11-04,103.79999999999838,103.79899,2015-01-01 00:17:18,bin1038,35,True +CTSPillarNetworkA,1039,1039,1039,1972-11-05,103.89999999999837,103.89899,2015-01-01 00:17:19,bin1039,75,True +CTSPillarNetworkA,1040,1040,1040,1972-11-06,103.99999999999837,103.998985,2015-01-01 00:17:20,bin1040,35,True +CTSPillarNetworkA,1041,1041,1041,1972-11-07,104.09999999999836,104.09898,2015-01-01 00:17:21,bin1041,75,True +CTSPillarNetworkA,1042,1042,1042,1972-11-08,104.19999999999835,104.19898,2015-01-01 00:17:22,bin1042,35,True +CTSPillarNetworkA,1043,1043,1043,1972-11-09,104.29999999999835,104.29898,2015-01-01 00:17:23,bin1043,75,True +CTSPillarNetworkA,1044,1044,1044,1972-11-10,104.39999999999834,104.39898,2015-01-01 00:17:24,bin1044,35,True +CTSPillarNetworkA,1045,1045,1045,1972-11-11,104.49999999999834,104.49898,2015-01-01 00:17:25,bin1045,75,True +CTSPillarNetworkA,1046,1046,1046,1972-11-12,104.59999999999833,104.598976,2015-01-01 00:17:26,bin1046,35,True +CTSPillarNetworkA,1047,1047,1047,1972-11-13,104.69999999999833,104.698975,2015-01-01 00:17:27,bin1047,75,True +CTSPillarNetworkA,1048,1048,1048,1972-11-14,104.79999999999832,104.79897,2015-01-01 00:17:28,bin1048,35,True +CTSPillarNetworkA,1049,1049,1049,1972-11-15,104.89999999999831,104.89897,2015-01-01 00:17:29,bin1049,75,True +CTSPillarNetworkA,1050,1050,1050,1972-11-16,104.99999999999831,104.99897,2015-01-01 00:17:30,bin1050,35,True +CTSPillarNetworkA,1051,1051,1051,1972-11-17,105.0999999999983,105.09897,2015-01-01 00:17:31,bin1051,75,True +CTSPillarNetworkA,1052,1052,1052,1972-11-18,105.1999999999983,105.19897,2015-01-01 00:17:32,bin1052,35,True +CTSPillarNetworkA,1053,1053,1053,1972-11-19,105.29999999999829,105.298965,2015-01-01 00:17:33,bin1053,75,True +CTSPillarNetworkA,1054,1054,1054,1972-11-20,105.39999999999829,105.398964,2015-01-01 00:17:34,bin1054,35,True +CTSPillarNetworkA,1055,1055,1055,1972-11-21,105.49999999999828,105.49896,2015-01-01 00:17:35,bin1055,75,True +CTSPillarNetworkA,1056,1056,1056,1972-11-22,105.59999999999827,105.59896,2015-01-01 00:17:36,bin1056,35,True +CTSPillarNetworkA,1057,1057,1057,1972-11-23,105.69999999999827,105.69896,2015-01-01 00:17:37,bin1057,75,True +CTSPillarNetworkA,1058,1058,1058,1972-11-24,105.79999999999826,105.79896,2015-01-01 00:17:38,bin1058,35,True +CTSPillarNetworkA,1059,1059,1059,1972-11-25,105.89999999999826,105.89896,2015-01-01 00:17:39,bin1059,75,True +CTSPillarNetworkA,1060,1060,1060,1972-11-26,105.99999999999825,105.998955,2015-01-01 00:17:40,bin1060,35,True +CTSPillarNetworkA,1061,1061,1061,1972-11-27,106.09999999999825,106.09895,2015-01-01 00:17:41,bin1061,75,True +CTSPillarNetworkA,1062,1062,1062,1972-11-28,106.19999999999824,106.19895,2015-01-01 00:17:42,bin1062,35,True +CTSPillarNetworkA,1063,1063,1063,1972-11-29,106.29999999999824,106.29895,2015-01-01 00:17:43,bin1063,75,True +CTSPillarNetworkA,1064,1064,1064,1972-11-30,106.39999999999823,106.39895,2015-01-01 00:17:44,bin1064,35,True +CTSPillarNetworkA,1065,1065,1065,1972-12-01,106.49999999999822,106.49895,2015-01-01 00:17:45,bin1065,75,True +CTSPillarNetworkA,1066,1066,1066,1972-12-02,106.59999999999822,106.598946,2015-01-01 00:17:46,bin1066,35,True +CTSPillarNetworkA,1067,1067,1067,1972-12-03,106.69999999999821,106.698944,2015-01-01 00:17:47,bin1067,75,True +CTSPillarNetworkA,1068,1068,1068,1972-12-04,106.7999999999982,106.79894,2015-01-01 00:17:48,bin1068,35,True +CTSPillarNetworkA,1069,1069,1069,1972-12-05,106.8999999999982,106.89894,2015-01-01 00:17:49,bin1069,75,True +CTSPillarNetworkA,1070,1070,1070,1972-12-06,106.9999999999982,106.99894,2015-01-01 00:17:50,bin1070,35,True +CTSPillarNetworkA,1071,1071,1071,1972-12-07,107.09999999999819,107.09894,2015-01-01 00:17:51,bin1071,75,True +CTSPillarNetworkA,1072,1072,1072,1972-12-08,107.19999999999818,107.19894,2015-01-01 00:17:52,bin1072,35,True +CTSPillarNetworkA,1073,1073,1073,1972-12-09,107.29999999999818,107.298935,2015-01-01 00:17:53,bin1073,75,True +CTSPillarNetworkA,1074,1074,1074,1972-12-10,107.39999999999817,107.39893,2015-01-01 00:17:54,bin1074,35,True +CTSPillarNetworkA,1075,1075,1075,1972-12-11,107.49999999999817,107.49893,2015-01-01 00:17:55,bin1075,75,True +CTSPillarNetworkA,1076,1076,1076,1972-12-12,107.59999999999816,107.59893,2015-01-01 00:17:56,bin1076,35,True +CTSPillarNetworkA,1077,1077,1077,1972-12-13,107.69999999999816,107.69893,2015-01-01 00:17:57,bin1077,75,True +CTSPillarNetworkA,1078,1078,1078,1972-12-14,107.79999999999815,107.79893,2015-01-01 00:17:58,bin1078,35,True +CTSPillarNetworkA,1079,1079,1079,1972-12-15,107.89999999999814,107.898926,2015-01-01 00:17:59,bin1079,75,True +CTSPillarNetworkA,1080,1080,1080,1972-12-16,107.99999999999814,107.998924,2015-01-01 00:18:00,bin1080,35,True +CTSPillarNetworkA,1081,1081,1081,1972-12-17,108.09999999999813,108.09892,2015-01-01 00:18:01,bin1081,75,True +CTSPillarNetworkA,1082,1082,1082,1972-12-18,108.19999999999813,108.19892,2015-01-01 00:18:02,bin1082,35,True +CTSPillarNetworkA,1083,1083,1083,1972-12-19,108.29999999999812,108.29892,2015-01-01 00:18:03,bin1083,75,True +CTSPillarNetworkA,1084,1084,1084,1972-12-20,108.39999999999812,108.39892,2015-01-01 00:18:04,bin1084,35,True +CTSPillarNetworkA,1085,1085,1085,1972-12-21,108.49999999999811,108.49892,2015-01-01 00:18:05,bin1085,75,True +CTSPillarNetworkA,1086,1086,1086,1972-12-22,108.5999999999981,108.598915,2015-01-01 00:18:06,bin1086,35,True +CTSPillarNetworkA,1087,1087,1087,1972-12-23,108.6999999999981,108.69891,2015-01-01 00:18:07,bin1087,75,True +CTSPillarNetworkA,1088,1088,1088,1972-12-24,108.7999999999981,108.79891,2015-01-01 00:18:08,bin1088,35,True +CTSPillarNetworkA,1089,1089,1089,1972-12-25,108.89999999999809,108.89891,2015-01-01 00:18:09,bin1089,75,True +CTSPillarNetworkA,1090,1090,1090,1972-12-26,108.99999999999808,108.99891,2015-01-01 00:18:10,bin1090,35,True +CTSPillarNetworkA,1091,1091,1091,1972-12-27,109.09999999999808,109.09891,2015-01-01 00:18:11,bin1091,75,True +CTSPillarNetworkA,1092,1092,1092,1972-12-28,109.19999999999807,109.198906,2015-01-01 00:18:12,bin1092,35,True +CTSPillarNetworkA,1093,1093,1093,1972-12-29,109.29999999999806,109.298904,2015-01-01 00:18:13,bin1093,75,True +CTSPillarNetworkA,1094,1094,1094,1972-12-30,109.39999999999806,109.3989,2015-01-01 00:18:14,bin1094,35,True +CTSPillarNetworkA,1095,1095,1095,1972-12-31,109.49999999999805,109.4989,2015-01-01 00:18:15,bin1095,75,True +CTSPillarNetworkA,1096,1096,1096,1973-01-01,109.59999999999805,109.5989,2015-01-01 00:18:16,bin1096,35,True +CTSPillarNetworkA,1097,1097,1097,1973-01-02,109.69999999999804,109.6989,2015-01-01 00:18:17,bin1097,75,True +CTSPillarNetworkA,1098,1098,1098,1973-01-03,109.79999999999804,109.7989,2015-01-01 00:18:18,bin1098,35,True +CTSPillarNetworkA,1099,1099,1099,1973-01-04,109.89999999999803,109.898895,2015-01-01 00:18:19,bin1099,75,True +CTSPillarNetworkA,1100,1100,1100,1973-01-05,109.99999999999802,109.99889,2015-01-01 00:18:20,bin1100,35,True +CTSPillarNetworkA,1101,1101,1101,1973-01-06,110.09999999999802,110.09889,2015-01-01 00:18:21,bin1101,75,True +CTSPillarNetworkA,1102,1102,1102,1973-01-07,110.19999999999801,110.19889,2015-01-01 00:18:22,bin1102,35,True +CTSPillarNetworkA,1103,1103,1103,1973-01-08,110.29999999999801,110.29889,2015-01-01 00:18:23,bin1103,75,True +CTSPillarNetworkA,1104,1104,1104,1973-01-09,110.399999999998,110.39889,2015-01-01 00:18:24,bin1104,35,True +CTSPillarNetworkA,1105,1105,1105,1973-01-10,110.499999999998,110.498886,2015-01-01 00:18:25,bin1105,75,True +CTSPillarNetworkA,1106,1106,1106,1973-01-11,110.59999999999799,110.598885,2015-01-01 00:18:26,bin1106,35,True +CTSPillarNetworkA,1107,1107,1107,1973-01-12,110.69999999999798,110.69888,2015-01-01 00:18:27,bin1107,75,True +CTSPillarNetworkA,1108,1108,1108,1973-01-13,110.79999999999798,110.79888,2015-01-01 00:18:28,bin1108,35,True +CTSPillarNetworkA,1109,1109,1109,1973-01-14,110.89999999999797,110.89888,2015-01-01 00:18:29,bin1109,75,True +CTSPillarNetworkA,1110,1110,1110,1973-01-15,110.99999999999797,110.99888,2015-01-01 00:18:30,bin1110,35,True +CTSPillarNetworkA,1111,1111,1111,1973-01-16,111.09999999999796,111.09888,2015-01-01 00:18:31,bin1111,75,True +CTSPillarNetworkA,1112,1112,1112,1973-01-17,111.19999999999796,111.198875,2015-01-01 00:18:32,bin1112,35,True +CTSPillarNetworkA,1113,1113,1113,1973-01-18,111.29999999999795,111.298874,2015-01-01 00:18:33,bin1113,75,True +CTSPillarNetworkA,1114,1114,1114,1973-01-19,111.39999999999795,111.39887,2015-01-01 00:18:34,bin1114,35,True +CTSPillarNetworkA,1115,1115,1115,1973-01-20,111.49999999999794,111.49887,2015-01-01 00:18:35,bin1115,75,True +CTSPillarNetworkA,1116,1116,1116,1973-01-21,111.59999999999793,111.59887,2015-01-01 00:18:36,bin1116,35,True +CTSPillarNetworkA,1117,1117,1117,1973-01-22,111.69999999999793,111.69887,2015-01-01 00:18:37,bin1117,75,True +CTSPillarNetworkA,1118,1118,1118,1973-01-23,111.79999999999792,111.79887,2015-01-01 00:18:38,bin1118,35,True +CTSPillarNetworkA,1119,1119,1119,1973-01-24,111.89999999999792,111.898865,2015-01-01 00:18:39,bin1119,75,True +CTSPillarNetworkA,1120,1120,1120,1973-01-25,111.99999999999791,111.99886,2015-01-01 00:18:40,bin1120,35,True +CTSPillarNetworkA,1121,1121,1121,1973-01-26,112.0999999999979,112.09886,2015-01-01 00:18:41,bin1121,75,True +CTSPillarNetworkA,1122,1122,1122,1973-01-27,112.1999999999979,112.19886,2015-01-01 00:18:42,bin1122,35,True +CTSPillarNetworkA,1123,1123,1123,1973-01-28,112.2999999999979,112.29886,2015-01-01 00:18:43,bin1123,75,True +CTSPillarNetworkA,1124,1124,1124,1973-01-29,112.39999999999789,112.39886,2015-01-01 00:18:44,bin1124,35,True +CTSPillarNetworkA,1125,1125,1125,1973-01-30,112.49999999999788,112.498856,2015-01-01 00:18:45,bin1125,75,True +CTSPillarNetworkA,1126,1126,1126,1973-01-31,112.59999999999788,112.598854,2015-01-01 00:18:46,bin1126,35,True +CTSPillarNetworkA,1127,1127,1127,1973-02-01,112.69999999999787,112.69885,2015-01-01 00:18:47,bin1127,75,True +CTSPillarNetworkA,1128,1128,1128,1973-02-02,112.79999999999787,112.79885,2015-01-01 00:18:48,bin1128,35,True +CTSPillarNetworkA,1129,1129,1129,1973-02-03,112.89999999999786,112.89885,2015-01-01 00:18:49,bin1129,75,True +CTSPillarNetworkA,1130,1130,1130,1973-02-04,112.99999999999785,112.99885,2015-01-01 00:18:50,bin1130,35,True +CTSPillarNetworkA,1131,1131,1131,1973-02-05,113.09999999999785,113.09885,2015-01-01 00:18:51,bin1131,75,True +CTSPillarNetworkA,1132,1132,1132,1973-02-06,113.19999999999784,113.198845,2015-01-01 00:18:52,bin1132,35,True +CTSPillarNetworkA,1133,1133,1133,1973-02-07,113.29999999999784,113.29884,2015-01-01 00:18:53,bin1133,75,True +CTSPillarNetworkA,1134,1134,1134,1973-02-08,113.39999999999783,113.39884,2015-01-01 00:18:54,bin1134,35,True +CTSPillarNetworkA,1135,1135,1135,1973-02-09,113.49999999999783,113.49884,2015-01-01 00:18:55,bin1135,75,True +CTSPillarNetworkA,1136,1136,1136,1973-02-10,113.59999999999782,113.59884,2015-01-01 00:18:56,bin1136,35,True +CTSPillarNetworkA,1137,1137,1137,1973-02-11,113.69999999999781,113.69884,2015-01-01 00:18:57,bin1137,75,True +CTSPillarNetworkA,1138,1138,1138,1973-02-12,113.79999999999781,113.798836,2015-01-01 00:18:58,bin1138,35,True +CTSPillarNetworkA,1139,1139,1139,1973-02-13,113.8999999999978,113.898834,2015-01-01 00:18:59,bin1139,75,True +CTSPillarNetworkA,1140,1140,1140,1973-02-14,113.9999999999978,113.99883,2015-01-01 00:19:00,bin1140,35,True +CTSPillarNetworkA,1141,1141,1141,1973-02-15,114.09999999999779,114.09883,2015-01-01 00:19:01,bin1141,75,True +CTSPillarNetworkA,1142,1142,1142,1973-02-16,114.19999999999779,114.19883,2015-01-01 00:19:02,bin1142,35,True +CTSPillarNetworkA,1143,1143,1143,1973-02-17,114.29999999999778,114.29883,2015-01-01 00:19:03,bin1143,75,True +CTSPillarNetworkA,1144,1144,1144,1973-02-18,114.39999999999777,114.39883,2015-01-01 00:19:04,bin1144,35,True +CTSPillarNetworkA,1145,1145,1145,1973-02-19,114.49999999999777,114.498825,2015-01-01 00:19:05,bin1145,75,True +CTSPillarNetworkA,1146,1146,1146,1973-02-20,114.59999999999776,114.59882,2015-01-01 00:19:06,bin1146,35,True +CTSPillarNetworkA,1147,1147,1147,1973-02-21,114.69999999999776,114.69882,2015-01-01 00:19:07,bin1147,75,True +CTSPillarNetworkA,1148,1148,1148,1973-02-22,114.79999999999775,114.79882,2015-01-01 00:19:08,bin1148,35,True +CTSPillarNetworkA,1149,1149,1149,1973-02-23,114.89999999999775,114.89882,2015-01-01 00:19:09,bin1149,75,True +CTSPillarNetworkA,1150,1150,1150,1973-02-24,114.99999999999774,114.99882,2015-01-01 00:19:10,bin1150,35,True +CTSPillarNetworkA,1151,1151,1151,1973-02-25,115.09999999999773,115.098816,2015-01-01 00:19:11,bin1151,75,True +CTSPillarNetworkA,1152,1152,1152,1973-02-26,115.19999999999773,115.198814,2015-01-01 00:19:12,bin1152,35,True +CTSPillarNetworkA,1153,1153,1153,1973-02-27,115.29999999999772,115.29881,2015-01-01 00:19:13,bin1153,75,True +CTSPillarNetworkA,1154,1154,1154,1973-02-28,115.39999999999772,115.39881,2015-01-01 00:19:14,bin1154,35,True +CTSPillarNetworkA,1155,1155,1155,1973-03-01,115.49999999999771,115.49881,2015-01-01 00:19:15,bin1155,75,True +CTSPillarNetworkA,1156,1156,1156,1973-03-02,115.5999999999977,115.59881,2015-01-01 00:19:16,bin1156,35,True +CTSPillarNetworkA,1157,1157,1157,1973-03-03,115.6999999999977,115.69881,2015-01-01 00:19:17,bin1157,75,True +CTSPillarNetworkA,1158,1158,1158,1973-03-04,115.7999999999977,115.798805,2015-01-01 00:19:18,bin1158,35,True +CTSPillarNetworkA,1159,1159,1159,1973-03-05,115.89999999999769,115.8988,2015-01-01 00:19:19,bin1159,75,True +CTSPillarNetworkA,1160,1160,1160,1973-03-06,115.99999999999768,115.9988,2015-01-01 00:19:20,bin1160,35,True +CTSPillarNetworkA,1161,1161,1161,1973-03-07,116.09999999999768,116.0988,2015-01-01 00:19:21,bin1161,75,True +CTSPillarNetworkA,1162,1162,1162,1973-03-08,116.19999999999767,116.1988,2015-01-01 00:19:22,bin1162,35,True +CTSPillarNetworkA,1163,1163,1163,1973-03-09,116.29999999999767,116.2988,2015-01-01 00:19:23,bin1163,75,True +CTSPillarNetworkA,1164,1164,1164,1973-03-10,116.39999999999766,116.398796,2015-01-01 00:19:24,bin1164,35,True +CTSPillarNetworkA,1165,1165,1165,1973-03-11,116.49999999999766,116.498795,2015-01-01 00:19:25,bin1165,75,True +CTSPillarNetworkA,1166,1166,1166,1973-03-12,116.59999999999765,116.59879,2015-01-01 00:19:26,bin1166,35,True +CTSPillarNetworkA,1167,1167,1167,1973-03-13,116.69999999999764,116.69879,2015-01-01 00:19:27,bin1167,75,True +CTSPillarNetworkA,1168,1168,1168,1973-03-14,116.79999999999764,116.79879,2015-01-01 00:19:28,bin1168,35,True +CTSPillarNetworkA,1169,1169,1169,1973-03-15,116.89999999999763,116.89879,2015-01-01 00:19:29,bin1169,75,True +CTSPillarNetworkA,1170,1170,1170,1973-03-16,116.99999999999763,116.99879,2015-01-01 00:19:30,bin1170,35,True +CTSPillarNetworkA,1171,1171,1171,1973-03-17,117.09999999999762,117.098785,2015-01-01 00:19:31,bin1171,75,True +CTSPillarNetworkA,1172,1172,1172,1973-03-18,117.19999999999762,117.198784,2015-01-01 00:19:32,bin1172,35,True +CTSPillarNetworkA,1173,1173,1173,1973-03-19,117.29999999999761,117.29878,2015-01-01 00:19:33,bin1173,75,True +CTSPillarNetworkA,1174,1174,1174,1973-03-20,117.3999999999976,117.39878,2015-01-01 00:19:34,bin1174,35,True +CTSPillarNetworkA,1175,1175,1175,1973-03-21,117.4999999999976,117.49878,2015-01-01 00:19:35,bin1175,75,True +CTSPillarNetworkA,1176,1176,1176,1973-03-22,117.59999999999759,117.59878,2015-01-01 00:19:36,bin1176,35,True +CTSPillarNetworkA,1177,1177,1177,1973-03-23,117.69999999999759,117.69878,2015-01-01 00:19:37,bin1177,75,True +CTSPillarNetworkA,1178,1178,1178,1973-03-24,117.79999999999758,117.798775,2015-01-01 00:19:38,bin1178,35,True +CTSPillarNetworkA,1179,1179,1179,1973-03-25,117.89999999999758,117.89877,2015-01-01 00:19:39,bin1179,75,True +CTSPillarNetworkA,1180,1180,1180,1973-03-26,117.99999999999757,117.99877,2015-01-01 00:19:40,bin1180,35,True +CTSPillarNetworkA,1181,1181,1181,1973-03-27,118.09999999999756,118.09877,2015-01-01 00:19:41,bin1181,75,True +CTSPillarNetworkA,1182,1182,1182,1973-03-28,118.19999999999756,118.19877,2015-01-01 00:19:42,bin1182,35,True +CTSPillarNetworkA,1183,1183,1183,1973-03-29,118.29999999999755,118.29877,2015-01-01 00:19:43,bin1183,75,True +CTSPillarNetworkA,1184,1184,1184,1973-03-30,118.39999999999755,118.398766,2015-01-01 00:19:44,bin1184,35,True +CTSPillarNetworkA,1185,1185,1185,1973-03-31,118.49999999999754,118.498764,2015-01-01 00:19:45,bin1185,75,True +CTSPillarNetworkA,1186,1186,1186,1973-04-01,118.59999999999754,118.59876,2015-01-01 00:19:46,bin1186,35,True +CTSPillarNetworkA,1187,1187,1187,1973-04-02,118.69999999999753,118.69876,2015-01-01 00:19:47,bin1187,75,True +CTSPillarNetworkA,1188,1188,1188,1973-04-03,118.79999999999752,118.79876,2015-01-01 00:19:48,bin1188,35,True +CTSPillarNetworkA,1189,1189,1189,1973-04-04,118.89999999999752,118.89876,2015-01-01 00:19:49,bin1189,75,True +CTSPillarNetworkA,1190,1190,1190,1973-04-05,118.99999999999751,118.99876,2015-01-01 00:19:50,bin1190,35,True +CTSPillarNetworkA,1191,1191,1191,1973-04-06,119.09999999999751,119.098755,2015-01-01 00:19:51,bin1191,75,True +CTSPillarNetworkA,1192,1192,1192,1973-04-07,119.1999999999975,119.19875,2015-01-01 00:19:52,bin1192,35,True +CTSPillarNetworkA,1193,1193,1193,1973-04-08,119.2999999999975,119.29875,2015-01-01 00:19:53,bin1193,75,True +CTSPillarNetworkA,1194,1194,1194,1973-04-09,119.39999999999749,119.39875,2015-01-01 00:19:54,bin1194,35,True +CTSPillarNetworkA,1195,1195,1195,1973-04-10,119.49999999999748,119.49875,2015-01-01 00:19:55,bin1195,75,True +CTSPillarNetworkA,1196,1196,1196,1973-04-11,119.59999999999748,119.59875,2015-01-01 00:19:56,bin1196,35,True +CTSPillarNetworkA,1197,1197,1197,1973-04-12,119.69999999999747,119.698746,2015-01-01 00:19:57,bin1197,75,True +CTSPillarNetworkA,1198,1198,1198,1973-04-13,119.79999999999747,119.798744,2015-01-01 00:19:58,bin1198,35,True +CTSPillarNetworkA,1199,1199,1199,1973-04-14,119.89999999999746,119.89874,2015-01-01 00:19:59,bin1199,75,True +CTSPillarNetworkA,1200,1200,1200,1973-04-15,119.99999999999746,119.99874,2015-01-01 00:20:00,bin1200,35,True +CTSPillarNetworkA,1201,1201,1201,1973-04-16,120.09999999999745,120.09874,2015-01-01 00:20:01,bin1201,75,True +CTSPillarNetworkA,1202,1202,1202,1973-04-17,120.19999999999744,120.19874,2015-01-01 00:20:02,bin1202,35,True +CTSPillarNetworkA,1203,1203,1203,1973-04-18,120.29999999999744,120.29874,2015-01-01 00:20:03,bin1203,75,True +CTSPillarNetworkA,1204,1204,1204,1973-04-19,120.39999999999743,120.398735,2015-01-01 00:20:04,bin1204,35,True +CTSPillarNetworkA,1205,1205,1205,1973-04-20,120.49999999999743,120.49873,2015-01-01 00:20:05,bin1205,75,True +CTSPillarNetworkA,1206,1206,1206,1973-04-21,120.59999999999742,120.59873,2015-01-01 00:20:06,bin1206,35,True +CTSPillarNetworkA,1207,1207,1207,1973-04-22,120.69999999999742,120.69873,2015-01-01 00:20:07,bin1207,75,True +CTSPillarNetworkA,1208,1208,1208,1973-04-23,120.79999999999741,120.79873,2015-01-01 00:20:08,bin1208,35,True +CTSPillarNetworkA,1209,1209,1209,1973-04-24,120.8999999999974,120.89873,2015-01-01 00:20:09,bin1209,75,True +CTSPillarNetworkA,1210,1210,1210,1973-04-25,120.9999999999974,120.998726,2015-01-01 00:20:10,bin1210,35,True +CTSPillarNetworkA,1211,1211,1211,1973-04-26,121.0999999999974,121.098724,2015-01-01 00:20:11,bin1211,75,True +CTSPillarNetworkA,1212,1212,1212,1973-04-27,121.19999999999739,121.19872,2015-01-01 00:20:12,bin1212,35,True +CTSPillarNetworkA,1213,1213,1213,1973-04-28,121.29999999999738,121.29872,2015-01-01 00:20:13,bin1213,75,True +CTSPillarNetworkA,1214,1214,1214,1973-04-29,121.39999999999738,121.39872,2015-01-01 00:20:14,bin1214,35,True +CTSPillarNetworkA,1215,1215,1215,1973-04-30,121.49999999999737,121.49872,2015-01-01 00:20:15,bin1215,75,True +CTSPillarNetworkA,1216,1216,1216,1973-05-01,121.59999999999737,121.59872,2015-01-01 00:20:16,bin1216,35,True +CTSPillarNetworkA,1217,1217,1217,1973-05-02,121.69999999999736,121.698715,2015-01-01 00:20:17,bin1217,75,True +CTSPillarNetworkA,1218,1218,1218,1973-05-03,121.79999999999735,121.79871,2015-01-01 00:20:18,bin1218,35,True +CTSPillarNetworkA,1219,1219,1219,1973-05-04,121.89999999999735,121.89871,2015-01-01 00:20:19,bin1219,75,True +CTSPillarNetworkA,1220,1220,1220,1973-05-05,121.99999999999734,121.99871,2015-01-01 00:20:20,bin1220,35,True +CTSPillarNetworkA,1221,1221,1221,1973-05-06,122.09999999999734,122.09871,2015-01-01 00:20:21,bin1221,75,True +CTSPillarNetworkA,1222,1222,1222,1973-05-07,122.19999999999733,122.19871,2015-01-01 00:20:22,bin1222,35,True +CTSPillarNetworkA,1223,1223,1223,1973-05-08,122.29999999999733,122.298706,2015-01-01 00:20:23,bin1223,75,True +CTSPillarNetworkA,1224,1224,1224,1973-05-09,122.39999999999732,122.398705,2015-01-01 00:20:24,bin1224,35,True +CTSPillarNetworkA,1225,1225,1225,1973-05-10,122.49999999999731,122.4987,2015-01-01 00:20:25,bin1225,75,True +CTSPillarNetworkA,1226,1226,1226,1973-05-11,122.59999999999731,122.5987,2015-01-01 00:20:26,bin1226,35,True +CTSPillarNetworkA,1227,1227,1227,1973-05-12,122.6999999999973,122.6987,2015-01-01 00:20:27,bin1227,75,True +CTSPillarNetworkA,1228,1228,1228,1973-05-13,122.7999999999973,122.7987,2015-01-01 00:20:28,bin1228,35,True +CTSPillarNetworkA,1229,1229,1229,1973-05-14,122.89999999999729,122.8987,2015-01-01 00:20:29,bin1229,75,True +CTSPillarNetworkA,1230,1230,1230,1973-05-15,122.99999999999729,122.998695,2015-01-01 00:20:30,bin1230,35,True +CTSPillarNetworkA,1231,1231,1231,1973-05-16,123.09999999999728,123.098694,2015-01-01 00:20:31,bin1231,75,True +CTSPillarNetworkA,1232,1232,1232,1973-05-17,123.19999999999727,123.19869,2015-01-01 00:20:32,bin1232,35,True +CTSPillarNetworkA,1233,1233,1233,1973-05-18,123.29999999999727,123.29869,2015-01-01 00:20:33,bin1233,75,True +CTSPillarNetworkA,1234,1234,1234,1973-05-19,123.39999999999726,123.39869,2015-01-01 00:20:34,bin1234,35,True +CTSPillarNetworkA,1235,1235,1235,1973-05-20,123.49999999999726,123.49869,2015-01-01 00:20:35,bin1235,75,True +CTSPillarNetworkA,1236,1236,1236,1973-05-21,123.59999999999725,123.59869,2015-01-01 00:20:36,bin1236,35,True +CTSPillarNetworkA,1237,1237,1237,1973-05-22,123.69999999999725,123.698685,2015-01-01 00:20:37,bin1237,75,True +CTSPillarNetworkA,1238,1238,1238,1973-05-23,123.79999999999724,123.79868,2015-01-01 00:20:38,bin1238,35,True +CTSPillarNetworkA,1239,1239,1239,1973-05-24,123.89999999999723,123.89868,2015-01-01 00:20:39,bin1239,75,True +CTSPillarNetworkA,1240,1240,1240,1973-05-25,123.99999999999723,123.99868,2015-01-01 00:20:40,bin1240,35,True +CTSPillarNetworkA,1241,1241,1241,1973-05-26,124.09999999999722,124.09868,2015-01-01 00:20:41,bin1241,75,True +CTSPillarNetworkA,1242,1242,1242,1973-05-27,124.19999999999722,124.19868,2015-01-01 00:20:42,bin1242,35,True +CTSPillarNetworkA,1243,1243,1243,1973-05-28,124.29999999999721,124.298676,2015-01-01 00:20:43,bin1243,75,True +CTSPillarNetworkA,1244,1244,1244,1973-05-29,124.3999999999972,124.398674,2015-01-01 00:20:44,bin1244,35,True +CTSPillarNetworkA,1245,1245,1245,1973-05-30,124.4999999999972,124.49867,2015-01-01 00:20:45,bin1245,75,True +CTSPillarNetworkA,1246,1246,1246,1973-05-31,124.5999999999972,124.59867,2015-01-01 00:20:46,bin1246,35,True +CTSPillarNetworkA,1247,1247,1247,1973-06-01,124.69999999999719,124.69867,2015-01-01 00:20:47,bin1247,75,True +CTSPillarNetworkA,1248,1248,1248,1973-06-02,124.79999999999718,124.79867,2015-01-01 00:20:48,bin1248,35,True +CTSPillarNetworkA,1249,1249,1249,1973-06-03,124.89999999999718,124.89867,2015-01-01 00:20:49,bin1249,75,True +CTSPillarNetworkA,1250,1250,1250,1973-06-04,124.99999999999717,124.998665,2015-01-01 00:20:50,bin1250,35,True +CTSPillarNetworkA,1251,1251,1251,1973-06-05,125.09999999999717,125.09866,2015-01-01 00:20:51,bin1251,75,True +CTSPillarNetworkA,1252,1252,1252,1973-06-06,125.19999999999716,125.19866,2015-01-01 00:20:52,bin1252,35,True +CTSPillarNetworkA,1253,1253,1253,1973-06-07,125.29999999999715,125.29866,2015-01-01 00:20:53,bin1253,75,True +CTSPillarNetworkA,1254,1254,1254,1973-06-08,125.39999999999715,125.39866,2015-01-01 00:20:54,bin1254,35,True +CTSPillarNetworkA,1255,1255,1255,1973-06-09,125.49999999999714,125.49866,2015-01-01 00:20:55,bin1255,75,True +CTSPillarNetworkA,1256,1256,1256,1973-06-10,125.59999999999714,125.598656,2015-01-01 00:20:56,bin1256,35,True +CTSPillarNetworkA,1257,1257,1257,1973-06-11,125.69999999999713,125.698654,2015-01-01 00:20:57,bin1257,75,True +CTSPillarNetworkA,1258,1258,1258,1973-06-12,125.79999999999713,125.79865,2015-01-01 00:20:58,bin1258,35,True +CTSPillarNetworkA,1259,1259,1259,1973-06-13,125.89999999999712,125.89865,2015-01-01 00:20:59,bin1259,75,True +CTSPillarNetworkA,1260,1260,1260,1973-06-14,125.99999999999712,125.99865,2015-01-01 00:21:00,bin1260,35,True +CTSPillarNetworkA,1261,1261,1261,1973-06-15,126.09999999999711,126.09865,2015-01-01 00:21:01,bin1261,75,True +CTSPillarNetworkA,1262,1262,1262,1973-06-16,126.1999999999971,126.19865,2015-01-01 00:21:02,bin1262,35,True +CTSPillarNetworkA,1263,1263,1263,1973-06-17,126.2999999999971,126.298645,2015-01-01 00:21:03,bin1263,75,True +CTSPillarNetworkA,1264,1264,1264,1973-06-18,126.39999999999709,126.39864,2015-01-01 00:21:04,bin1264,35,True +CTSPillarNetworkA,1265,1265,1265,1973-06-19,126.49999999999709,126.49864,2015-01-01 00:21:05,bin1265,75,True +CTSPillarNetworkA,1266,1266,1266,1973-06-20,126.59999999999708,126.59864,2015-01-01 00:21:06,bin1266,35,True +CTSPillarNetworkA,1267,1267,1267,1973-06-21,126.69999999999708,126.69864,2015-01-01 00:21:07,bin1267,75,True +CTSPillarNetworkA,1268,1268,1268,1973-06-22,126.79999999999707,126.79864,2015-01-01 00:21:08,bin1268,35,True +CTSPillarNetworkA,1269,1269,1269,1973-06-23,126.89999999999706,126.898636,2015-01-01 00:21:09,bin1269,75,True +CTSPillarNetworkA,1270,1270,1270,1973-06-24,126.99999999999706,126.998634,2015-01-01 00:21:10,bin1270,35,True +CTSPillarNetworkA,1271,1271,1271,1973-06-25,127.09999999999705,127.09863,2015-01-01 00:21:11,bin1271,75,True +CTSPillarNetworkA,1272,1272,1272,1973-06-26,127.19999999999705,127.19863,2015-01-01 00:21:12,bin1272,35,True +CTSPillarNetworkA,1273,1273,1273,1973-06-27,127.29999999999704,127.29863,2015-01-01 00:21:13,bin1273,75,True +CTSPillarNetworkA,1274,1274,1274,1973-06-28,127.39999999999704,127.39863,2015-01-01 00:21:14,bin1274,35,True +CTSPillarNetworkA,1275,1275,1275,1973-06-29,127.49999999999703,127.49863,2015-01-01 00:21:15,bin1275,75,True +CTSPillarNetworkA,1276,1276,1276,1973-06-30,127.59999999999702,127.598625,2015-01-01 00:21:16,bin1276,35,True +CTSPillarNetworkA,1277,1277,1277,1973-07-01,127.69999999999702,127.69862,2015-01-01 00:21:17,bin1277,75,True +CTSPillarNetworkA,1278,1278,1278,1973-07-02,127.79999999999701,127.79862,2015-01-01 00:21:18,bin1278,35,True +CTSPillarNetworkA,1279,1279,1279,1973-07-03,127.89999999999701,127.89862,2015-01-01 00:21:19,bin1279,75,True +CTSPillarNetworkA,1280,1280,1280,1973-07-04,127.999999999997,127.99862,2015-01-01 00:21:20,bin1280,35,True +CTSPillarNetworkA,1281,1281,1281,1973-07-05,128.099999999997,128.09862,2015-01-01 00:21:21,bin1281,75,True +CTSPillarNetworkA,1282,1282,1282,1973-07-06,128.199999999997,128.19862,2015-01-01 00:21:22,bin1282,35,True +CTSPillarNetworkA,1283,1283,1283,1973-07-07,128.299999999997,128.29863,2015-01-01 00:21:23,bin1283,75,True +CTSPillarNetworkA,1284,1284,1284,1973-07-08,128.399999999997,128.39864,2015-01-01 00:21:24,bin1284,35,True +CTSPillarNetworkA,1285,1285,1285,1973-07-09,128.499999999997,128.49864,2015-01-01 00:21:25,bin1285,75,True +CTSPillarNetworkA,1286,1286,1286,1973-07-10,128.59999999999698,128.59865,2015-01-01 00:21:26,bin1286,35,True +CTSPillarNetworkA,1287,1287,1287,1973-07-11,128.69999999999698,128.69865,2015-01-01 00:21:27,bin1287,75,True +CTSPillarNetworkA,1288,1288,1288,1973-07-12,128.79999999999697,128.79866,2015-01-01 00:21:28,bin1288,35,True +CTSPillarNetworkA,1289,1289,1289,1973-07-13,128.89999999999696,128.89867,2015-01-01 00:21:29,bin1289,75,True +CTSPillarNetworkA,1290,1290,1290,1973-07-14,128.99999999999696,128.99867,2015-01-01 00:21:30,bin1290,35,True +CTSPillarNetworkA,1291,1291,1291,1973-07-15,129.09999999999695,129.09868,2015-01-01 00:21:31,bin1291,75,True +CTSPillarNetworkA,1292,1292,1292,1973-07-16,129.19999999999695,129.19868,2015-01-01 00:21:32,bin1292,35,True +CTSPillarNetworkA,1293,1293,1293,1973-07-17,129.29999999999694,129.29869,2015-01-01 00:21:33,bin1293,75,True +CTSPillarNetworkA,1294,1294,1294,1973-07-18,129.39999999999694,129.3987,2015-01-01 00:21:34,bin1294,35,True +CTSPillarNetworkA,1295,1295,1295,1973-07-19,129.49999999999693,129.4987,2015-01-01 00:21:35,bin1295,75,True +CTSPillarNetworkA,1296,1296,1296,1973-07-20,129.59999999999692,129.59871,2015-01-01 00:21:36,bin1296,35,True +CTSPillarNetworkA,1297,1297,1297,1973-07-21,129.69999999999692,129.69872,2015-01-01 00:21:37,bin1297,75,True +CTSPillarNetworkA,1298,1298,1298,1973-07-22,129.7999999999969,129.79872,2015-01-01 00:21:38,bin1298,35,True +CTSPillarNetworkA,1299,1299,1299,1973-07-23,129.8999999999969,129.89873,2015-01-01 00:21:39,bin1299,75,True +CTSPillarNetworkA,1300,1300,1300,1973-07-24,129.9999999999969,129.99873,2015-01-01 00:21:40,bin1300,35,True +CTSPillarNetworkA,1301,1301,1301,1973-07-25,130.0999999999969,130.09874,2015-01-01 00:21:41,bin1301,75,True +CTSPillarNetworkA,1302,1302,1302,1973-07-26,130.1999999999969,130.19875,2015-01-01 00:21:42,bin1302,35,True +CTSPillarNetworkA,1303,1303,1303,1973-07-27,130.29999999999688,130.29875,2015-01-01 00:21:43,bin1303,75,True +CTSPillarNetworkA,1304,1304,1304,1973-07-28,130.39999999999688,130.39876,2015-01-01 00:21:44,bin1304,35,True +CTSPillarNetworkA,1305,1305,1305,1973-07-29,130.49999999999687,130.49876,2015-01-01 00:21:45,bin1305,75,True +CTSPillarNetworkA,1306,1306,1306,1973-07-30,130.59999999999687,130.59877,2015-01-01 00:21:46,bin1306,35,True +CTSPillarNetworkA,1307,1307,1307,1973-07-31,130.69999999999686,130.69878,2015-01-01 00:21:47,bin1307,75,True +CTSPillarNetworkA,1308,1308,1308,1973-08-01,130.79999999999686,130.79878,2015-01-01 00:21:48,bin1308,35,True +CTSPillarNetworkA,1309,1309,1309,1973-08-02,130.89999999999685,130.89879,2015-01-01 00:21:49,bin1309,75,True +CTSPillarNetworkA,1310,1310,1310,1973-08-03,130.99999999999685,130.9988,2015-01-01 00:21:50,bin1310,35,True +CTSPillarNetworkA,1311,1311,1311,1973-08-04,131.09999999999684,131.0988,2015-01-01 00:21:51,bin1311,75,True +CTSPillarNetworkA,1312,1312,1312,1973-08-05,131.19999999999683,131.1988,2015-01-01 00:21:52,bin1312,35,True +CTSPillarNetworkA,1313,1313,1313,1973-08-06,131.29999999999683,131.29881,2015-01-01 00:21:53,bin1313,75,True +CTSPillarNetworkA,1314,1314,1314,1973-08-07,131.39999999999682,131.39882,2015-01-01 00:21:54,bin1314,35,True +CTSPillarNetworkA,1315,1315,1315,1973-08-08,131.49999999999682,131.49883,2015-01-01 00:21:55,bin1315,75,True +CTSPillarNetworkA,1316,1316,1316,1973-08-09,131.5999999999968,131.59883,2015-01-01 00:21:56,bin1316,35,True +CTSPillarNetworkA,1317,1317,1317,1973-08-10,131.6999999999968,131.69884,2015-01-01 00:21:57,bin1317,75,True +CTSPillarNetworkA,1318,1318,1318,1973-08-11,131.7999999999968,131.79884,2015-01-01 00:21:58,bin1318,35,True +CTSPillarNetworkA,1319,1319,1319,1973-08-12,131.8999999999968,131.89885,2015-01-01 00:21:59,bin1319,75,True +CTSPillarNetworkA,1320,1320,1320,1973-08-13,131.9999999999968,131.99886,2015-01-01 00:22:00,bin1320,35,True +CTSPillarNetworkA,1321,1321,1321,1973-08-14,132.09999999999678,132.09886,2015-01-01 00:22:01,bin1321,75,True +CTSPillarNetworkA,1322,1322,1322,1973-08-15,132.19999999999678,132.19887,2015-01-01 00:22:02,bin1322,35,True +CTSPillarNetworkA,1323,1323,1323,1973-08-16,132.29999999999677,132.29887,2015-01-01 00:22:03,bin1323,75,True +CTSPillarNetworkA,1324,1324,1324,1973-08-17,132.39999999999677,132.39888,2015-01-01 00:22:04,bin1324,35,True +CTSPillarNetworkA,1325,1325,1325,1973-08-18,132.49999999999676,132.49889,2015-01-01 00:22:05,bin1325,75,True +CTSPillarNetworkA,1326,1326,1326,1973-08-19,132.59999999999675,132.59889,2015-01-01 00:22:06,bin1326,35,True +CTSPillarNetworkA,1327,1327,1327,1973-08-20,132.69999999999675,132.6989,2015-01-01 00:22:07,bin1327,75,True +CTSPillarNetworkA,1328,1328,1328,1973-08-21,132.79999999999674,132.7989,2015-01-01 00:22:08,bin1328,35,True +CTSPillarNetworkA,1329,1329,1329,1973-08-22,132.89999999999674,132.89891,2015-01-01 00:22:09,bin1329,75,True +CTSPillarNetworkA,1330,1330,1330,1973-08-23,132.99999999999673,132.99892,2015-01-01 00:22:10,bin1330,35,True +CTSPillarNetworkA,1331,1331,1331,1973-08-24,133.09999999999673,133.09892,2015-01-01 00:22:11,bin1331,75,True +CTSPillarNetworkA,1332,1332,1332,1973-08-25,133.19999999999672,133.19893,2015-01-01 00:22:12,bin1332,35,True +CTSPillarNetworkA,1333,1333,1333,1973-08-26,133.29999999999671,133.29893,2015-01-01 00:22:13,bin1333,75,True +CTSPillarNetworkA,1334,1334,1334,1973-08-27,133.3999999999967,133.39894,2015-01-01 00:22:14,bin1334,35,True +CTSPillarNetworkA,1335,1335,1335,1973-08-28,133.4999999999967,133.49895,2015-01-01 00:22:15,bin1335,75,True +CTSPillarNetworkA,1336,1336,1336,1973-08-29,133.5999999999967,133.59895,2015-01-01 00:22:16,bin1336,35,True +CTSPillarNetworkA,1337,1337,1337,1973-08-30,133.6999999999967,133.69896,2015-01-01 00:22:17,bin1337,75,True +CTSPillarNetworkA,1338,1338,1338,1973-08-31,133.7999999999967,133.79897,2015-01-01 00:22:18,bin1338,35,True +CTSPillarNetworkA,1339,1339,1339,1973-09-01,133.89999999999668,133.89897,2015-01-01 00:22:19,bin1339,75,True +CTSPillarNetworkA,1340,1340,1340,1973-09-02,133.99999999999667,133.99898,2015-01-01 00:22:20,bin1340,35,True +CTSPillarNetworkA,1341,1341,1341,1973-09-03,134.09999999999667,134.09898,2015-01-01 00:22:21,bin1341,75,True +CTSPillarNetworkA,1342,1342,1342,1973-09-04,134.19999999999666,134.19899,2015-01-01 00:22:22,bin1342,35,True +CTSPillarNetworkA,1343,1343,1343,1973-09-05,134.29999999999666,134.299,2015-01-01 00:22:23,bin1343,75,True +CTSPillarNetworkA,1344,1344,1344,1973-09-06,134.39999999999665,134.399,2015-01-01 00:22:24,bin1344,35,True +CTSPillarNetworkA,1345,1345,1345,1973-09-07,134.49999999999665,134.49901,2015-01-01 00:22:25,bin1345,75,True +CTSPillarNetworkA,1346,1346,1346,1973-09-08,134.59999999999664,134.59901,2015-01-01 00:22:26,bin1346,35,True +CTSPillarNetworkA,1347,1347,1347,1973-09-09,134.69999999999663,134.69902,2015-01-01 00:22:27,bin1347,75,True +CTSPillarNetworkA,1348,1348,1348,1973-09-10,134.79999999999663,134.79903,2015-01-01 00:22:28,bin1348,35,True +CTSPillarNetworkA,1349,1349,1349,1973-09-11,134.89999999999662,134.89903,2015-01-01 00:22:29,bin1349,75,True +CTSPillarNetworkA,1350,1350,1350,1973-09-12,134.99999999999662,134.99904,2015-01-01 00:22:30,bin1350,35,True +CTSPillarNetworkA,1351,1351,1351,1973-09-13,135.0999999999966,135.09904,2015-01-01 00:22:31,bin1351,75,True +CTSPillarNetworkA,1352,1352,1352,1973-09-14,135.1999999999966,135.19905,2015-01-01 00:22:32,bin1352,35,True +CTSPillarNetworkA,1353,1353,1353,1973-09-15,135.2999999999966,135.29906,2015-01-01 00:22:33,bin1353,75,True +CTSPillarNetworkA,1354,1354,1354,1973-09-16,135.3999999999966,135.39906,2015-01-01 00:22:34,bin1354,35,True +CTSPillarNetworkA,1355,1355,1355,1973-09-17,135.4999999999966,135.49907,2015-01-01 00:22:35,bin1355,75,True +CTSPillarNetworkA,1356,1356,1356,1973-09-18,135.59999999999658,135.59908,2015-01-01 00:22:36,bin1356,35,True +CTSPillarNetworkA,1357,1357,1357,1973-09-19,135.69999999999658,135.69908,2015-01-01 00:22:37,bin1357,75,True +CTSPillarNetworkA,1358,1358,1358,1973-09-20,135.79999999999657,135.79909,2015-01-01 00:22:38,bin1358,35,True +CTSPillarNetworkA,1359,1359,1359,1973-09-21,135.89999999999657,135.8991,2015-01-01 00:22:39,bin1359,75,True +CTSPillarNetworkA,1360,1360,1360,1973-09-22,135.99999999999656,135.9991,2015-01-01 00:22:40,bin1360,35,True +CTSPillarNetworkA,1361,1361,1361,1973-09-23,136.09999999999656,136.0991,2015-01-01 00:22:41,bin1361,75,True +CTSPillarNetworkA,1362,1362,1362,1973-09-24,136.19999999999655,136.19911,2015-01-01 00:22:42,bin1362,35,True +CTSPillarNetworkA,1363,1363,1363,1973-09-25,136.29999999999654,136.29912,2015-01-01 00:22:43,bin1363,75,True +CTSPillarNetworkA,1364,1364,1364,1973-09-26,136.39999999999654,136.39912,2015-01-01 00:22:44,bin1364,35,True +CTSPillarNetworkA,1365,1365,1365,1973-09-27,136.49999999999653,136.49913,2015-01-01 00:22:45,bin1365,75,True +CTSPillarNetworkA,1366,1366,1366,1973-09-28,136.59999999999653,136.59914,2015-01-01 00:22:46,bin1366,35,True +CTSPillarNetworkA,1367,1367,1367,1973-09-29,136.69999999999652,136.69914,2015-01-01 00:22:47,bin1367,75,True +CTSPillarNetworkA,1368,1368,1368,1973-09-30,136.79999999999652,136.79915,2015-01-01 00:22:48,bin1368,35,True +CTSPillarNetworkA,1369,1369,1369,1973-10-01,136.8999999999965,136.89915,2015-01-01 00:22:49,bin1369,75,True +CTSPillarNetworkA,1370,1370,1370,1973-10-02,136.9999999999965,136.99916,2015-01-01 00:22:50,bin1370,35,True +CTSPillarNetworkA,1371,1371,1371,1973-10-03,137.0999999999965,137.09917,2015-01-01 00:22:51,bin1371,75,True +CTSPillarNetworkA,1372,1372,1372,1973-10-04,137.1999999999965,137.19917,2015-01-01 00:22:52,bin1372,35,True +CTSPillarNetworkA,1373,1373,1373,1973-10-05,137.2999999999965,137.29918,2015-01-01 00:22:53,bin1373,75,True +CTSPillarNetworkA,1374,1374,1374,1973-10-06,137.39999999999648,137.39919,2015-01-01 00:22:54,bin1374,35,True +CTSPillarNetworkA,1375,1375,1375,1973-10-07,137.49999999999648,137.49919,2015-01-01 00:22:55,bin1375,75,True +CTSPillarNetworkA,1376,1376,1376,1973-10-08,137.59999999999647,137.5992,2015-01-01 00:22:56,bin1376,35,True +CTSPillarNetworkA,1377,1377,1377,1973-10-09,137.69999999999646,137.6992,2015-01-01 00:22:57,bin1377,75,True +CTSPillarNetworkA,1378,1378,1378,1973-10-10,137.79999999999646,137.79921,2015-01-01 00:22:58,bin1378,35,True +CTSPillarNetworkA,1379,1379,1379,1973-10-11,137.89999999999645,137.89922,2015-01-01 00:22:59,bin1379,75,True +CTSPillarNetworkA,1380,1380,1380,1973-10-12,137.99999999999645,137.99922,2015-01-01 00:23:00,bin1380,35,True +CTSPillarNetworkA,1381,1381,1381,1973-10-13,138.09999999999644,138.09923,2015-01-01 00:23:01,bin1381,75,True +CTSPillarNetworkA,1382,1382,1382,1973-10-14,138.19999999999644,138.19923,2015-01-01 00:23:02,bin1382,35,True +CTSPillarNetworkA,1383,1383,1383,1973-10-15,138.29999999999643,138.29924,2015-01-01 00:23:03,bin1383,75,True +CTSPillarNetworkA,1384,1384,1384,1973-10-16,138.39999999999642,138.39925,2015-01-01 00:23:04,bin1384,35,True +CTSPillarNetworkA,1385,1385,1385,1973-10-17,138.49999999999642,138.49925,2015-01-01 00:23:05,bin1385,75,True +CTSPillarNetworkA,1386,1386,1386,1973-10-18,138.5999999999964,138.59926,2015-01-01 00:23:06,bin1386,35,True +CTSPillarNetworkA,1387,1387,1387,1973-10-19,138.6999999999964,138.69926,2015-01-01 00:23:07,bin1387,75,True +CTSPillarNetworkA,1388,1388,1388,1973-10-20,138.7999999999964,138.79927,2015-01-01 00:23:08,bin1388,35,True +CTSPillarNetworkA,1389,1389,1389,1973-10-21,138.8999999999964,138.89928,2015-01-01 00:23:09,bin1389,75,True +CTSPillarNetworkA,1390,1390,1390,1973-10-22,138.9999999999964,138.99928,2015-01-01 00:23:10,bin1390,35,True +CTSPillarNetworkA,1391,1391,1391,1973-10-23,139.09999999999638,139.09929,2015-01-01 00:23:11,bin1391,75,True +CTSPillarNetworkA,1392,1392,1392,1973-10-24,139.19999999999638,139.1993,2015-01-01 00:23:12,bin1392,35,True +CTSPillarNetworkA,1393,1393,1393,1973-10-25,139.29999999999637,139.2993,2015-01-01 00:23:13,bin1393,75,True +CTSPillarNetworkA,1394,1394,1394,1973-10-26,139.39999999999637,139.3993,2015-01-01 00:23:14,bin1394,35,True +CTSPillarNetworkA,1395,1395,1395,1973-10-27,139.49999999999636,139.49931,2015-01-01 00:23:15,bin1395,75,True +CTSPillarNetworkA,1396,1396,1396,1973-10-28,139.59999999999636,139.59932,2015-01-01 00:23:16,bin1396,35,True +CTSPillarNetworkA,1397,1397,1397,1973-10-29,139.69999999999635,139.69933,2015-01-01 00:23:17,bin1397,75,True +CTSPillarNetworkA,1398,1398,1398,1973-10-30,139.79999999999634,139.79933,2015-01-01 00:23:18,bin1398,35,True +CTSPillarNetworkA,1399,1399,1399,1973-10-31,139.89999999999634,139.89934,2015-01-01 00:23:19,bin1399,75,True +CTSPillarNetworkA,1400,1400,1400,1973-11-01,139.99999999999633,139.99934,2015-01-01 00:23:20,bin1400,35,True +CTSPillarNetworkA,1401,1401,1401,1973-11-02,140.09999999999633,140.09935,2015-01-01 00:23:21,bin1401,75,True +CTSPillarNetworkA,1402,1402,1402,1973-11-03,140.19999999999632,140.19936,2015-01-01 00:23:22,bin1402,35,True +CTSPillarNetworkA,1403,1403,1403,1973-11-04,140.29999999999632,140.29936,2015-01-01 00:23:23,bin1403,75,True +CTSPillarNetworkA,1404,1404,1404,1973-11-05,140.3999999999963,140.39937,2015-01-01 00:23:24,bin1404,35,True +CTSPillarNetworkA,1405,1405,1405,1973-11-06,140.4999999999963,140.49937,2015-01-01 00:23:25,bin1405,75,True +CTSPillarNetworkA,1406,1406,1406,1973-11-07,140.5999999999963,140.59938,2015-01-01 00:23:26,bin1406,35,True +CTSPillarNetworkA,1407,1407,1407,1973-11-08,140.6999999999963,140.69939,2015-01-01 00:23:27,bin1407,75,True +CTSPillarNetworkA,1408,1408,1408,1973-11-09,140.7999999999963,140.7994,2015-01-01 00:23:28,bin1408,35,True +CTSPillarNetworkA,1409,1409,1409,1973-11-10,140.89999999999628,140.8994,2015-01-01 00:23:29,bin1409,75,True +CTSPillarNetworkA,1410,1410,1410,1973-11-11,140.99999999999628,140.9994,2015-01-01 00:23:30,bin1410,35,True +CTSPillarNetworkA,1411,1411,1411,1973-11-12,141.09999999999627,141.09941,2015-01-01 00:23:31,bin1411,75,True +CTSPillarNetworkA,1412,1412,1412,1973-11-13,141.19999999999627,141.19942,2015-01-01 00:23:32,bin1412,35,True +CTSPillarNetworkA,1413,1413,1413,1973-11-14,141.29999999999626,141.29942,2015-01-01 00:23:33,bin1413,75,True +CTSPillarNetworkA,1414,1414,1414,1973-11-15,141.39999999999625,141.39943,2015-01-01 00:23:34,bin1414,35,True +CTSPillarNetworkA,1415,1415,1415,1973-11-16,141.49999999999625,141.49944,2015-01-01 00:23:35,bin1415,75,True +CTSPillarNetworkA,1416,1416,1416,1973-11-17,141.59999999999624,141.59944,2015-01-01 00:23:36,bin1416,35,True +CTSPillarNetworkA,1417,1417,1417,1973-11-18,141.69999999999624,141.69945,2015-01-01 00:23:37,bin1417,75,True +CTSPillarNetworkA,1418,1418,1418,1973-11-19,141.79999999999623,141.79945,2015-01-01 00:23:38,bin1418,35,True +CTSPillarNetworkA,1419,1419,1419,1973-11-20,141.89999999999623,141.89946,2015-01-01 00:23:39,bin1419,75,True +CTSPillarNetworkA,1420,1420,1420,1973-11-21,141.99999999999622,141.99947,2015-01-01 00:23:40,bin1420,35,True +CTSPillarNetworkA,1421,1421,1421,1973-11-22,142.09999999999621,142.09947,2015-01-01 00:23:41,bin1421,75,True +CTSPillarNetworkA,1422,1422,1422,1973-11-23,142.1999999999962,142.19948,2015-01-01 00:23:42,bin1422,35,True +CTSPillarNetworkA,1423,1423,1423,1973-11-24,142.2999999999962,142.29948,2015-01-01 00:23:43,bin1423,75,True +CTSPillarNetworkA,1424,1424,1424,1973-11-25,142.3999999999962,142.39949,2015-01-01 00:23:44,bin1424,35,True +CTSPillarNetworkA,1425,1425,1425,1973-11-26,142.4999999999962,142.4995,2015-01-01 00:23:45,bin1425,75,True +CTSPillarNetworkA,1426,1426,1426,1973-11-27,142.5999999999962,142.5995,2015-01-01 00:23:46,bin1426,35,True +CTSPillarNetworkA,1427,1427,1427,1973-11-28,142.69999999999618,142.69951,2015-01-01 00:23:47,bin1427,75,True +CTSPillarNetworkA,1428,1428,1428,1973-11-29,142.79999999999617,142.79951,2015-01-01 00:23:48,bin1428,35,True +CTSPillarNetworkA,1429,1429,1429,1973-11-30,142.89999999999617,142.89952,2015-01-01 00:23:49,bin1429,75,True +CTSPillarNetworkA,1430,1430,1430,1973-12-01,142.99999999999616,142.99953,2015-01-01 00:23:50,bin1430,35,True +CTSPillarNetworkA,1431,1431,1431,1973-12-02,143.09999999999616,143.09953,2015-01-01 00:23:51,bin1431,75,True +CTSPillarNetworkA,1432,1432,1432,1973-12-03,143.19999999999615,143.19954,2015-01-01 00:23:52,bin1432,35,True +CTSPillarNetworkA,1433,1433,1433,1973-12-04,143.29999999999615,143.29955,2015-01-01 00:23:53,bin1433,75,True +CTSPillarNetworkA,1434,1434,1434,1973-12-05,143.39999999999614,143.39955,2015-01-01 00:23:54,bin1434,35,True +CTSPillarNetworkA,1435,1435,1435,1973-12-06,143.49999999999613,143.49956,2015-01-01 00:23:55,bin1435,75,True +CTSPillarNetworkA,1436,1436,1436,1973-12-07,143.59999999999613,143.59956,2015-01-01 00:23:56,bin1436,35,True +CTSPillarNetworkA,1437,1437,1437,1973-12-08,143.69999999999612,143.69957,2015-01-01 00:23:57,bin1437,75,True +CTSPillarNetworkA,1438,1438,1438,1973-12-09,143.79999999999612,143.79958,2015-01-01 00:23:58,bin1438,35,True +CTSPillarNetworkA,1439,1439,1439,1973-12-10,143.8999999999961,143.89958,2015-01-01 00:23:59,bin1439,75,True +CTSPillarNetworkA,1440,1440,1440,1973-12-11,143.9999999999961,143.99959,2015-01-01 00:24:00,bin1440,35,True +CTSPillarNetworkA,1441,1441,1441,1973-12-12,144.0999999999961,144.0996,2015-01-01 00:24:01,bin1441,75,True +CTSPillarNetworkA,1442,1442,1442,1973-12-13,144.1999999999961,144.1996,2015-01-01 00:24:02,bin1442,35,True +CTSPillarNetworkA,1443,1443,1443,1973-12-14,144.2999999999961,144.2996,2015-01-01 00:24:03,bin1443,75,True +CTSPillarNetworkA,1444,1444,1444,1973-12-15,144.39999999999608,144.39961,2015-01-01 00:24:04,bin1444,35,True +CTSPillarNetworkA,1445,1445,1445,1973-12-16,144.49999999999608,144.49962,2015-01-01 00:24:05,bin1445,75,True +CTSPillarNetworkA,1446,1446,1446,1973-12-17,144.59999999999607,144.59962,2015-01-01 00:24:06,bin1446,35,True +CTSPillarNetworkA,1447,1447,1447,1973-12-18,144.69999999999607,144.69963,2015-01-01 00:24:07,bin1447,75,True +CTSPillarNetworkA,1448,1448,1448,1973-12-19,144.79999999999606,144.79964,2015-01-01 00:24:08,bin1448,35,True +CTSPillarNetworkA,1449,1449,1449,1973-12-20,144.89999999999606,144.89964,2015-01-01 00:24:09,bin1449,75,True +CTSPillarNetworkA,1450,1450,1450,1973-12-21,144.99999999999605,144.99965,2015-01-01 00:24:10,bin1450,35,True +CTSPillarNetworkA,1451,1451,1451,1973-12-22,145.09999999999604,145.09966,2015-01-01 00:24:11,bin1451,75,True +CTSPillarNetworkA,1452,1452,1452,1973-12-23,145.19999999999604,145.19966,2015-01-01 00:24:12,bin1452,35,True +CTSPillarNetworkA,1453,1453,1453,1973-12-24,145.29999999999603,145.29967,2015-01-01 00:24:13,bin1453,75,True +CTSPillarNetworkA,1454,1454,1454,1973-12-25,145.39999999999603,145.39967,2015-01-01 00:24:14,bin1454,35,True +CTSPillarNetworkA,1455,1455,1455,1973-12-26,145.49999999999602,145.49968,2015-01-01 00:24:15,bin1455,75,True +CTSPillarNetworkA,1456,1456,1456,1973-12-27,145.59999999999602,145.59969,2015-01-01 00:24:16,bin1456,35,True +CTSPillarNetworkA,1457,1457,1457,1973-12-28,145.699999999996,145.69969,2015-01-01 00:24:17,bin1457,75,True +CTSPillarNetworkA,1458,1458,1458,1973-12-29,145.799999999996,145.7997,2015-01-01 00:24:18,bin1458,35,True +CTSPillarNetworkA,1459,1459,1459,1973-12-30,145.899999999996,145.8997,2015-01-01 00:24:19,bin1459,75,True +CTSPillarNetworkA,1460,1460,1460,1973-12-31,145.999999999996,145.99971,2015-01-01 00:24:20,bin1460,35,True +CTSPillarNetworkA,1461,1461,1461,1974-01-01,146.099999999996,146.09972,2015-01-01 00:24:21,bin1461,75,True +CTSPillarNetworkA,1462,1462,1462,1974-01-02,146.19999999999598,146.19972,2015-01-01 00:24:22,bin1462,35,True +CTSPillarNetworkA,1463,1463,1463,1974-01-03,146.29999999999598,146.29973,2015-01-01 00:24:23,bin1463,75,True +CTSPillarNetworkA,1464,1464,1464,1974-01-04,146.39999999999597,146.39973,2015-01-01 00:24:24,bin1464,35,True +CTSPillarNetworkA,1465,1465,1465,1974-01-05,146.49999999999596,146.49974,2015-01-01 00:24:25,bin1465,75,True +CTSPillarNetworkA,1466,1466,1466,1974-01-06,146.59999999999596,146.59975,2015-01-01 00:24:26,bin1466,35,True +CTSPillarNetworkA,1467,1467,1467,1974-01-07,146.69999999999595,146.69975,2015-01-01 00:24:27,bin1467,75,True +CTSPillarNetworkA,1468,1468,1468,1974-01-08,146.79999999999595,146.79976,2015-01-01 00:24:28,bin1468,35,True +CTSPillarNetworkA,1469,1469,1469,1974-01-09,146.89999999999594,146.89977,2015-01-01 00:24:29,bin1469,75,True +CTSPillarNetworkA,1470,1470,1470,1974-01-10,146.99999999999594,146.99977,2015-01-01 00:24:30,bin1470,35,True +CTSPillarNetworkA,1471,1471,1471,1974-01-11,147.09999999999593,147.09978,2015-01-01 00:24:31,bin1471,75,True +CTSPillarNetworkA,1472,1472,1472,1974-01-12,147.19999999999592,147.19978,2015-01-01 00:24:32,bin1472,35,True +CTSPillarNetworkA,1473,1473,1473,1974-01-13,147.29999999999592,147.29979,2015-01-01 00:24:33,bin1473,75,True +CTSPillarNetworkA,1474,1474,1474,1974-01-14,147.3999999999959,147.3998,2015-01-01 00:24:34,bin1474,35,True +CTSPillarNetworkA,1475,1475,1475,1974-01-15,147.4999999999959,147.4998,2015-01-01 00:24:35,bin1475,75,True +CTSPillarNetworkA,1476,1476,1476,1974-01-16,147.5999999999959,147.59981,2015-01-01 00:24:36,bin1476,35,True +CTSPillarNetworkA,1477,1477,1477,1974-01-17,147.6999999999959,147.69981,2015-01-01 00:24:37,bin1477,75,True +CTSPillarNetworkA,1478,1478,1478,1974-01-18,147.7999999999959,147.79982,2015-01-01 00:24:38,bin1478,35,True +CTSPillarNetworkA,1479,1479,1479,1974-01-19,147.89999999999588,147.89983,2015-01-01 00:24:39,bin1479,75,True +CTSPillarNetworkA,1480,1480,1480,1974-01-20,147.99999999999588,147.99983,2015-01-01 00:24:40,bin1480,35,True +CTSPillarNetworkA,1481,1481,1481,1974-01-21,148.09999999999587,148.09984,2015-01-01 00:24:41,bin1481,75,True +CTSPillarNetworkA,1482,1482,1482,1974-01-22,148.19999999999587,148.19984,2015-01-01 00:24:42,bin1482,35,True +CTSPillarNetworkA,1483,1483,1483,1974-01-23,148.29999999999586,148.29985,2015-01-01 00:24:43,bin1483,75,True +CTSPillarNetworkA,1484,1484,1484,1974-01-24,148.39999999999586,148.39986,2015-01-01 00:24:44,bin1484,35,True +CTSPillarNetworkA,1485,1485,1485,1974-01-25,148.49999999999585,148.49986,2015-01-01 00:24:45,bin1485,75,True +CTSPillarNetworkA,1486,1486,1486,1974-01-26,148.59999999999584,148.59987,2015-01-01 00:24:46,bin1486,35,True +CTSPillarNetworkA,1487,1487,1487,1974-01-27,148.69999999999584,148.69987,2015-01-01 00:24:47,bin1487,75,True +CTSPillarNetworkA,1488,1488,1488,1974-01-28,148.79999999999583,148.79988,2015-01-01 00:24:48,bin1488,35,True +CTSPillarNetworkA,1489,1489,1489,1974-01-29,148.89999999999583,148.89989,2015-01-01 00:24:49,bin1489,75,True +CTSPillarNetworkA,1490,1490,1490,1974-01-30,148.99999999999582,148.9999,2015-01-01 00:24:50,bin1490,35,True +CTSPillarNetworkA,1491,1491,1491,1974-01-31,149.09999999999582,149.0999,2015-01-01 00:24:51,bin1491,75,True +CTSPillarNetworkA,1492,1492,1492,1974-02-01,149.1999999999958,149.1999,2015-01-01 00:24:52,bin1492,35,True +CTSPillarNetworkA,1493,1493,1493,1974-02-02,149.2999999999958,149.29991,2015-01-01 00:24:53,bin1493,75,True +CTSPillarNetworkA,1494,1494,1494,1974-02-03,149.3999999999958,149.39992,2015-01-01 00:24:54,bin1494,35,True +CTSPillarNetworkA,1495,1495,1495,1974-02-04,149.4999999999958,149.49992,2015-01-01 00:24:55,bin1495,75,True +CTSPillarNetworkA,1496,1496,1496,1974-02-05,149.5999999999958,149.59993,2015-01-01 00:24:56,bin1496,35,True +CTSPillarNetworkA,1497,1497,1497,1974-02-06,149.69999999999578,149.69994,2015-01-01 00:24:57,bin1497,75,True +CTSPillarNetworkA,1498,1498,1498,1974-02-07,149.79999999999578,149.79994,2015-01-01 00:24:58,bin1498,35,True +CTSPillarNetworkA,1499,1499,1499,1974-02-08,149.89999999999577,149.89995,2015-01-01 00:24:59,bin1499,75,True +CTSPillarNetworkA,1500,1500,1500,1974-02-09,149.99999999999577,149.99995,2015-01-01 00:25:00,bin1500,35,True +CTSPillarNetworkA,1501,1501,1501,1974-02-10,150.09999999999576,150.09996,2015-01-01 00:25:01,bin1501,75,True +CTSPillarNetworkA,1502,1502,1502,1974-02-11,150.19999999999575,150.19997,2015-01-01 00:25:02,bin1502,35,True +CTSPillarNetworkA,1503,1503,1503,1974-02-12,150.29999999999575,150.29997,2015-01-01 00:25:03,bin1503,75,True +CTSPillarNetworkA,1504,1504,1504,1974-02-13,150.39999999999574,150.39998,2015-01-01 00:25:04,bin1504,35,True +CTSPillarNetworkA,1505,1505,1505,1974-02-14,150.49999999999574,150.49998,2015-01-01 00:25:05,bin1505,75,True +CTSPillarNetworkA,1506,1506,1506,1974-02-15,150.59999999999573,150.59999,2015-01-01 00:25:06,bin1506,35,True +CTSPillarNetworkA,1507,1507,1507,1974-02-16,150.69999999999573,150.7,2015-01-01 00:25:07,bin1507,75,True +CTSPillarNetworkA,1508,1508,1508,1974-02-17,150.79999999999572,150.8,2015-01-01 00:25:08,bin1508,35,True +CTSPillarNetworkA,1509,1509,1509,1974-02-18,150.8999999999957,150.90001,2015-01-01 00:25:09,bin1509,75,True +CTSPillarNetworkA,1510,1510,1510,1974-02-19,150.9999999999957,151.00002,2015-01-01 00:25:10,bin1510,35,True +CTSPillarNetworkA,1511,1511,1511,1974-02-20,151.0999999999957,151.10002,2015-01-01 00:25:11,bin1511,75,True +CTSPillarNetworkA,1512,1512,1512,1974-02-21,151.1999999999957,151.20003,2015-01-01 00:25:12,bin1512,35,True +CTSPillarNetworkA,1513,1513,1513,1974-02-22,151.2999999999957,151.30003,2015-01-01 00:25:13,bin1513,75,True +CTSPillarNetworkA,1514,1514,1514,1974-02-23,151.39999999999569,151.40004,2015-01-01 00:25:14,bin1514,35,True +CTSPillarNetworkA,1515,1515,1515,1974-02-24,151.49999999999568,151.50005,2015-01-01 00:25:15,bin1515,75,True +CTSPillarNetworkA,1516,1516,1516,1974-02-25,151.59999999999567,151.60005,2015-01-01 00:25:16,bin1516,35,True +CTSPillarNetworkA,1517,1517,1517,1974-02-26,151.69999999999567,151.70006,2015-01-01 00:25:17,bin1517,75,True +CTSPillarNetworkA,1518,1518,1518,1974-02-27,151.79999999999566,151.80006,2015-01-01 00:25:18,bin1518,35,True +CTSPillarNetworkA,1519,1519,1519,1974-02-28,151.89999999999566,151.90007,2015-01-01 00:25:19,bin1519,75,True +CTSPillarNetworkA,1520,1520,1520,1974-03-01,151.99999999999565,152.00008,2015-01-01 00:25:20,bin1520,35,True +CTSPillarNetworkA,1521,1521,1521,1974-03-02,152.09999999999565,152.10008,2015-01-01 00:25:21,bin1521,75,True +CTSPillarNetworkA,1522,1522,1522,1974-03-03,152.19999999999564,152.20009,2015-01-01 00:25:22,bin1522,35,True +CTSPillarNetworkA,1523,1523,1523,1974-03-04,152.29999999999563,152.3001,2015-01-01 00:25:23,bin1523,75,True +CTSPillarNetworkA,1524,1524,1524,1974-03-05,152.39999999999563,152.4001,2015-01-01 00:25:24,bin1524,35,True +CTSPillarNetworkA,1525,1525,1525,1974-03-06,152.49999999999562,152.5001,2015-01-01 00:25:25,bin1525,75,True +CTSPillarNetworkA,1526,1526,1526,1974-03-07,152.59999999999562,152.60011,2015-01-01 00:25:26,bin1526,35,True +CTSPillarNetworkA,1527,1527,1527,1974-03-08,152.6999999999956,152.70012,2015-01-01 00:25:27,bin1527,75,True +CTSPillarNetworkA,1528,1528,1528,1974-03-09,152.7999999999956,152.80013,2015-01-01 00:25:28,bin1528,35,True +CTSPillarNetworkA,1529,1529,1529,1974-03-10,152.8999999999956,152.90013,2015-01-01 00:25:29,bin1529,75,True +CTSPillarNetworkA,1530,1530,1530,1974-03-11,152.9999999999956,153.00014,2015-01-01 00:25:30,bin1530,35,True +CTSPillarNetworkA,1531,1531,1531,1974-03-12,153.0999999999956,153.10014,2015-01-01 00:25:31,bin1531,75,True +CTSPillarNetworkA,1532,1532,1532,1974-03-13,153.19999999999558,153.20015,2015-01-01 00:25:32,bin1532,35,True +CTSPillarNetworkA,1533,1533,1533,1974-03-14,153.29999999999558,153.30016,2015-01-01 00:25:33,bin1533,75,True +CTSPillarNetworkA,1534,1534,1534,1974-03-15,153.39999999999557,153.40016,2015-01-01 00:25:34,bin1534,35,True +CTSPillarNetworkA,1535,1535,1535,1974-03-16,153.49999999999557,153.50017,2015-01-01 00:25:35,bin1535,75,True +CTSPillarNetworkA,1536,1536,1536,1974-03-17,153.59999999999556,153.60017,2015-01-01 00:25:36,bin1536,35,True +CTSPillarNetworkA,1537,1537,1537,1974-03-18,153.69999999999555,153.70018,2015-01-01 00:25:37,bin1537,75,True +CTSPillarNetworkA,1538,1538,1538,1974-03-19,153.79999999999555,153.80019,2015-01-01 00:25:38,bin1538,35,True +CTSPillarNetworkA,1539,1539,1539,1974-03-20,153.89999999999554,153.90019,2015-01-01 00:25:39,bin1539,75,True +CTSPillarNetworkA,1540,1540,1540,1974-03-21,153.99999999999554,154.0002,2015-01-01 00:25:40,bin1540,35,True +CTSPillarNetworkA,1541,1541,1541,1974-03-22,154.09999999999553,154.1002,2015-01-01 00:25:41,bin1541,75,True +CTSPillarNetworkA,1542,1542,1542,1974-03-23,154.19999999999553,154.20021,2015-01-01 00:25:42,bin1542,35,True +CTSPillarNetworkA,1543,1543,1543,1974-03-24,154.29999999999552,154.30022,2015-01-01 00:25:43,bin1543,75,True +CTSPillarNetworkA,1544,1544,1544,1974-03-25,154.39999999999552,154.40022,2015-01-01 00:25:44,bin1544,35,True +CTSPillarNetworkA,1545,1545,1545,1974-03-26,154.4999999999955,154.50023,2015-01-01 00:25:45,bin1545,75,True +CTSPillarNetworkA,1546,1546,1546,1974-03-27,154.5999999999955,154.60023,2015-01-01 00:25:46,bin1546,35,True +CTSPillarNetworkA,1547,1547,1547,1974-03-28,154.6999999999955,154.70024,2015-01-01 00:25:47,bin1547,75,True +CTSPillarNetworkA,1548,1548,1548,1974-03-29,154.7999999999955,154.80025,2015-01-01 00:25:48,bin1548,35,True +CTSPillarNetworkA,1549,1549,1549,1974-03-30,154.8999999999955,154.90025,2015-01-01 00:25:49,bin1549,75,True +CTSPillarNetworkA,1550,1550,1550,1974-03-31,154.99999999999548,155.00026,2015-01-01 00:25:50,bin1550,35,True +CTSPillarNetworkA,1551,1551,1551,1974-04-01,155.09999999999548,155.10027,2015-01-01 00:25:51,bin1551,75,True +CTSPillarNetworkA,1552,1552,1552,1974-04-02,155.19999999999547,155.20027,2015-01-01 00:25:52,bin1552,35,True +CTSPillarNetworkA,1553,1553,1553,1974-04-03,155.29999999999546,155.30028,2015-01-01 00:25:53,bin1553,75,True +CTSPillarNetworkA,1554,1554,1554,1974-04-04,155.39999999999546,155.40028,2015-01-01 00:25:54,bin1554,35,True +CTSPillarNetworkA,1555,1555,1555,1974-04-05,155.49999999999545,155.50029,2015-01-01 00:25:55,bin1555,75,True +CTSPillarNetworkA,1556,1556,1556,1974-04-06,155.59999999999545,155.6003,2015-01-01 00:25:56,bin1556,35,True +CTSPillarNetworkA,1557,1557,1557,1974-04-07,155.69999999999544,155.7003,2015-01-01 00:25:57,bin1557,75,True +CTSPillarNetworkA,1558,1558,1558,1974-04-08,155.79999999999544,155.80031,2015-01-01 00:25:58,bin1558,35,True +CTSPillarNetworkA,1559,1559,1559,1974-04-09,155.89999999999543,155.90031,2015-01-01 00:25:59,bin1559,75,True +CTSPillarNetworkA,1560,1560,1560,1974-04-10,155.99999999999542,156.00032,2015-01-01 00:26:00,bin1560,35,True +CTSPillarNetworkA,1561,1561,1561,1974-04-11,156.09999999999542,156.10033,2015-01-01 00:26:01,bin1561,75,True +CTSPillarNetworkA,1562,1562,1562,1974-04-12,156.1999999999954,156.20033,2015-01-01 00:26:02,bin1562,35,True +CTSPillarNetworkA,1563,1563,1563,1974-04-13,156.2999999999954,156.30034,2015-01-01 00:26:03,bin1563,75,True +CTSPillarNetworkA,1564,1564,1564,1974-04-14,156.3999999999954,156.40034,2015-01-01 00:26:04,bin1564,35,True +CTSPillarNetworkA,1565,1565,1565,1974-04-15,156.4999999999954,156.50035,2015-01-01 00:26:05,bin1565,75,True +CTSPillarNetworkA,1566,1566,1566,1974-04-16,156.5999999999954,156.60036,2015-01-01 00:26:06,bin1566,35,True +CTSPillarNetworkA,1567,1567,1567,1974-04-17,156.69999999999538,156.70036,2015-01-01 00:26:07,bin1567,75,True +CTSPillarNetworkA,1568,1568,1568,1974-04-18,156.79999999999538,156.80037,2015-01-01 00:26:08,bin1568,35,True +CTSPillarNetworkA,1569,1569,1569,1974-04-19,156.89999999999537,156.90038,2015-01-01 00:26:09,bin1569,75,True +CTSPillarNetworkA,1570,1570,1570,1974-04-20,156.99999999999537,157.00038,2015-01-01 00:26:10,bin1570,35,True +CTSPillarNetworkA,1571,1571,1571,1974-04-21,157.09999999999536,157.10039,2015-01-01 00:26:11,bin1571,75,True +CTSPillarNetworkA,1572,1572,1572,1974-04-22,157.19999999999536,157.2004,2015-01-01 00:26:12,bin1572,35,True +CTSPillarNetworkA,1573,1573,1573,1974-04-23,157.29999999999535,157.3004,2015-01-01 00:26:13,bin1573,75,True +CTSPillarNetworkA,1574,1574,1574,1974-04-24,157.39999999999534,157.4004,2015-01-01 00:26:14,bin1574,35,True +CTSPillarNetworkA,1575,1575,1575,1974-04-25,157.49999999999534,157.50041,2015-01-01 00:26:15,bin1575,75,True +CTSPillarNetworkA,1576,1576,1576,1974-04-26,157.59999999999533,157.60042,2015-01-01 00:26:16,bin1576,35,True +CTSPillarNetworkA,1577,1577,1577,1974-04-27,157.69999999999533,157.70042,2015-01-01 00:26:17,bin1577,75,True +CTSPillarNetworkA,1578,1578,1578,1974-04-28,157.79999999999532,157.80043,2015-01-01 00:26:18,bin1578,35,True +CTSPillarNetworkA,1579,1579,1579,1974-04-29,157.89999999999532,157.90044,2015-01-01 00:26:19,bin1579,75,True +CTSPillarNetworkA,1580,1580,1580,1974-04-30,157.9999999999953,158.00044,2015-01-01 00:26:20,bin1580,35,True +CTSPillarNetworkA,1581,1581,1581,1974-05-01,158.0999999999953,158.10045,2015-01-01 00:26:21,bin1581,75,True +CTSPillarNetworkA,1582,1582,1582,1974-05-02,158.1999999999953,158.20045,2015-01-01 00:26:22,bin1582,35,True +CTSPillarNetworkA,1583,1583,1583,1974-05-03,158.2999999999953,158.30046,2015-01-01 00:26:23,bin1583,75,True +CTSPillarNetworkA,1584,1584,1584,1974-05-04,158.3999999999953,158.40047,2015-01-01 00:26:24,bin1584,35,True +CTSPillarNetworkA,1585,1585,1585,1974-05-05,158.49999999999528,158.50047,2015-01-01 00:26:25,bin1585,75,True +CTSPillarNetworkA,1586,1586,1586,1974-05-06,158.59999999999528,158.60048,2015-01-01 00:26:26,bin1586,35,True +CTSPillarNetworkA,1587,1587,1587,1974-05-07,158.69999999999527,158.70049,2015-01-01 00:26:27,bin1587,75,True +CTSPillarNetworkA,1588,1588,1588,1974-05-08,158.79999999999526,158.80049,2015-01-01 00:26:28,bin1588,35,True +CTSPillarNetworkA,1589,1589,1589,1974-05-09,158.89999999999526,158.9005,2015-01-01 00:26:29,bin1589,75,True +CTSPillarNetworkA,1590,1590,1590,1974-05-10,158.99999999999525,159.0005,2015-01-01 00:26:30,bin1590,35,True +CTSPillarNetworkA,1591,1591,1591,1974-05-11,159.09999999999525,159.10051,2015-01-01 00:26:31,bin1591,75,True +CTSPillarNetworkA,1592,1592,1592,1974-05-12,159.19999999999524,159.20052,2015-01-01 00:26:32,bin1592,35,True +CTSPillarNetworkA,1593,1593,1593,1974-05-13,159.29999999999524,159.30052,2015-01-01 00:26:33,bin1593,75,True +CTSPillarNetworkA,1594,1594,1594,1974-05-14,159.39999999999523,159.40053,2015-01-01 00:26:34,bin1594,35,True +CTSPillarNetworkA,1595,1595,1595,1974-05-15,159.49999999999523,159.50053,2015-01-01 00:26:35,bin1595,75,True +CTSPillarNetworkA,1596,1596,1596,1974-05-16,159.59999999999522,159.60054,2015-01-01 00:26:36,bin1596,35,True +CTSPillarNetworkA,1597,1597,1597,1974-05-17,159.6999999999952,159.70055,2015-01-01 00:26:37,bin1597,75,True +CTSPillarNetworkA,1598,1598,1598,1974-05-18,159.7999999999952,159.80055,2015-01-01 00:26:38,bin1598,35,True +CTSPillarNetworkA,1599,1599,1599,1974-05-19,159.8999999999952,159.90056,2015-01-01 00:26:39,bin1599,75,True +CTSPillarNetworkA,1600,1600,1600,1974-05-20,159.9999999999952,160.00056,2015-01-01 00:26:40,bin1600,35,True +CTSPillarNetworkA,1601,1601,1601,1974-05-21,160.0999999999952,160.10057,2015-01-01 00:26:41,bin1601,75,True +CTSPillarNetworkA,1602,1602,1602,1974-05-22,160.19999999999519,160.20058,2015-01-01 00:26:42,bin1602,35,True +CTSPillarNetworkA,1603,1603,1603,1974-05-23,160.29999999999518,160.30058,2015-01-01 00:26:43,bin1603,75,True +CTSPillarNetworkA,1604,1604,1604,1974-05-24,160.39999999999517,160.40059,2015-01-01 00:26:44,bin1604,35,True +CTSPillarNetworkA,1605,1605,1605,1974-05-25,160.49999999999517,160.5006,2015-01-01 00:26:45,bin1605,75,True +CTSPillarNetworkA,1606,1606,1606,1974-05-26,160.59999999999516,160.6006,2015-01-01 00:26:46,bin1606,35,True +CTSPillarNetworkA,1607,1607,1607,1974-05-27,160.69999999999516,160.7006,2015-01-01 00:26:47,bin1607,75,True +CTSPillarNetworkA,1608,1608,1608,1974-05-28,160.79999999999515,160.80061,2015-01-01 00:26:48,bin1608,35,True +CTSPillarNetworkA,1609,1609,1609,1974-05-29,160.89999999999515,160.90062,2015-01-01 00:26:49,bin1609,75,True +CTSPillarNetworkA,1610,1610,1610,1974-05-30,160.99999999999514,161.00063,2015-01-01 00:26:50,bin1610,35,True +CTSPillarNetworkA,1611,1611,1611,1974-05-31,161.09999999999513,161.10063,2015-01-01 00:26:51,bin1611,75,True +CTSPillarNetworkA,1612,1612,1612,1974-06-01,161.19999999999513,161.20064,2015-01-01 00:26:52,bin1612,35,True +CTSPillarNetworkA,1613,1613,1613,1974-06-02,161.29999999999512,161.30064,2015-01-01 00:26:53,bin1613,75,True +CTSPillarNetworkA,1614,1614,1614,1974-06-03,161.39999999999512,161.40065,2015-01-01 00:26:54,bin1614,35,True +CTSPillarNetworkA,1615,1615,1615,1974-06-04,161.4999999999951,161.50066,2015-01-01 00:26:55,bin1615,75,True +CTSPillarNetworkA,1616,1616,1616,1974-06-05,161.5999999999951,161.60066,2015-01-01 00:26:56,bin1616,35,True +CTSPillarNetworkA,1617,1617,1617,1974-06-06,161.6999999999951,161.70067,2015-01-01 00:26:57,bin1617,75,True +CTSPillarNetworkA,1618,1618,1618,1974-06-07,161.7999999999951,161.80067,2015-01-01 00:26:58,bin1618,35,True +CTSPillarNetworkA,1619,1619,1619,1974-06-08,161.8999999999951,161.90068,2015-01-01 00:26:59,bin1619,75,True +CTSPillarNetworkA,1620,1620,1620,1974-06-09,161.99999999999508,162.00069,2015-01-01 00:27:00,bin1620,35,True +CTSPillarNetworkA,1621,1621,1621,1974-06-10,162.09999999999508,162.1007,2015-01-01 00:27:01,bin1621,75,True +CTSPillarNetworkA,1622,1622,1622,1974-06-11,162.19999999999507,162.2007,2015-01-01 00:27:02,bin1622,35,True +CTSPillarNetworkA,1623,1623,1623,1974-06-12,162.29999999999507,162.3007,2015-01-01 00:27:03,bin1623,75,True +CTSPillarNetworkA,1624,1624,1624,1974-06-13,162.39999999999506,162.40071,2015-01-01 00:27:04,bin1624,35,True +CTSPillarNetworkA,1625,1625,1625,1974-06-14,162.49999999999505,162.50072,2015-01-01 00:27:05,bin1625,75,True +CTSPillarNetworkA,1626,1626,1626,1974-06-15,162.59999999999505,162.60072,2015-01-01 00:27:06,bin1626,35,True +CTSPillarNetworkA,1627,1627,1627,1974-06-16,162.69999999999504,162.70073,2015-01-01 00:27:07,bin1627,75,True +CTSPillarNetworkA,1628,1628,1628,1974-06-17,162.79999999999504,162.80074,2015-01-01 00:27:08,bin1628,35,True +CTSPillarNetworkA,1629,1629,1629,1974-06-18,162.89999999999503,162.90074,2015-01-01 00:27:09,bin1629,75,True +CTSPillarNetworkA,1630,1630,1630,1974-06-19,162.99999999999503,163.00075,2015-01-01 00:27:10,bin1630,35,True +CTSPillarNetworkA,1631,1631,1631,1974-06-20,163.09999999999502,163.10075,2015-01-01 00:27:11,bin1631,75,True +CTSPillarNetworkA,1632,1632,1632,1974-06-21,163.19999999999501,163.20076,2015-01-01 00:27:12,bin1632,35,True +CTSPillarNetworkA,1633,1633,1633,1974-06-22,163.299999999995,163.30077,2015-01-01 00:27:13,bin1633,75,True +CTSPillarNetworkA,1634,1634,1634,1974-06-23,163.399999999995,163.40077,2015-01-01 00:27:14,bin1634,35,True +CTSPillarNetworkA,1635,1635,1635,1974-06-24,163.499999999995,163.50078,2015-01-01 00:27:15,bin1635,75,True +CTSPillarNetworkA,1636,1636,1636,1974-06-25,163.599999999995,163.60078,2015-01-01 00:27:16,bin1636,35,True +CTSPillarNetworkA,1637,1637,1637,1974-06-26,163.699999999995,163.70079,2015-01-01 00:27:17,bin1637,75,True +CTSPillarNetworkA,1638,1638,1638,1974-06-27,163.79999999999498,163.8008,2015-01-01 00:27:18,bin1638,35,True +CTSPillarNetworkA,1639,1639,1639,1974-06-28,163.89999999999498,163.9008,2015-01-01 00:27:19,bin1639,75,True +CTSPillarNetworkA,1640,1640,1640,1974-06-29,163.99999999999497,164.00081,2015-01-01 00:27:20,bin1640,35,True +CTSPillarNetworkA,1641,1641,1641,1974-06-30,164.09999999999496,164.10081,2015-01-01 00:27:21,bin1641,75,True +CTSPillarNetworkA,1642,1642,1642,1974-07-01,164.19999999999496,164.20082,2015-01-01 00:27:22,bin1642,35,True +CTSPillarNetworkA,1643,1643,1643,1974-07-02,164.29999999999495,164.30083,2015-01-01 00:27:23,bin1643,75,True +CTSPillarNetworkA,1644,1644,1644,1974-07-03,164.39999999999495,164.40083,2015-01-01 00:27:24,bin1644,35,True +CTSPillarNetworkA,1645,1645,1645,1974-07-04,164.49999999999494,164.50084,2015-01-01 00:27:25,bin1645,75,True +CTSPillarNetworkA,1646,1646,1646,1974-07-05,164.59999999999494,164.60085,2015-01-01 00:27:26,bin1646,35,True +CTSPillarNetworkA,1647,1647,1647,1974-07-06,164.69999999999493,164.70085,2015-01-01 00:27:27,bin1647,75,True +CTSPillarNetworkA,1648,1648,1648,1974-07-07,164.79999999999492,164.80086,2015-01-01 00:27:28,bin1648,35,True +CTSPillarNetworkA,1649,1649,1649,1974-07-08,164.89999999999492,164.90086,2015-01-01 00:27:29,bin1649,75,True +CTSPillarNetworkA,1650,1650,1650,1974-07-09,164.9999999999949,165.00087,2015-01-01 00:27:30,bin1650,35,True +CTSPillarNetworkA,1651,1651,1651,1974-07-10,165.0999999999949,165.10088,2015-01-01 00:27:31,bin1651,75,True +CTSPillarNetworkA,1652,1652,1652,1974-07-11,165.1999999999949,165.20088,2015-01-01 00:27:32,bin1652,35,True +CTSPillarNetworkA,1653,1653,1653,1974-07-12,165.2999999999949,165.30089,2015-01-01 00:27:33,bin1653,75,True +CTSPillarNetworkA,1654,1654,1654,1974-07-13,165.3999999999949,165.4009,2015-01-01 00:27:34,bin1654,35,True +CTSPillarNetworkA,1655,1655,1655,1974-07-14,165.49999999999488,165.5009,2015-01-01 00:27:35,bin1655,75,True +CTSPillarNetworkA,1656,1656,1656,1974-07-15,165.59999999999488,165.6009,2015-01-01 00:27:36,bin1656,35,True +CTSPillarNetworkA,1657,1657,1657,1974-07-16,165.69999999999487,165.70091,2015-01-01 00:27:37,bin1657,75,True +CTSPillarNetworkA,1658,1658,1658,1974-07-17,165.79999999999487,165.80092,2015-01-01 00:27:38,bin1658,35,True +CTSPillarNetworkA,1659,1659,1659,1974-07-18,165.89999999999486,165.90092,2015-01-01 00:27:39,bin1659,75,True +CTSPillarNetworkA,1660,1660,1660,1974-07-19,165.99999999999486,166.00093,2015-01-01 00:27:40,bin1660,35,True +CTSPillarNetworkA,1661,1661,1661,1974-07-20,166.09999999999485,166.10094,2015-01-01 00:27:41,bin1661,75,True +CTSPillarNetworkA,1662,1662,1662,1974-07-21,166.19999999999484,166.20094,2015-01-01 00:27:42,bin1662,35,True +CTSPillarNetworkA,1663,1663,1663,1974-07-22,166.29999999999484,166.30095,2015-01-01 00:27:43,bin1663,75,True +CTSPillarNetworkA,1664,1664,1664,1974-07-23,166.39999999999483,166.40096,2015-01-01 00:27:44,bin1664,35,True +CTSPillarNetworkA,1665,1665,1665,1974-07-24,166.49999999999483,166.50096,2015-01-01 00:27:45,bin1665,75,True +CTSPillarNetworkA,1666,1666,1666,1974-07-25,166.59999999999482,166.60097,2015-01-01 00:27:46,bin1666,35,True +CTSPillarNetworkA,1667,1667,1667,1974-07-26,166.69999999999482,166.70097,2015-01-01 00:27:47,bin1667,75,True +CTSPillarNetworkA,1668,1668,1668,1974-07-27,166.7999999999948,166.80098,2015-01-01 00:27:48,bin1668,35,True +CTSPillarNetworkA,1669,1669,1669,1974-07-28,166.8999999999948,166.90099,2015-01-01 00:27:49,bin1669,75,True +CTSPillarNetworkA,1670,1670,1670,1974-07-29,166.9999999999948,167.00099,2015-01-01 00:27:50,bin1670,35,True +CTSPillarNetworkA,1671,1671,1671,1974-07-30,167.0999999999948,167.101,2015-01-01 00:27:51,bin1671,75,True +CTSPillarNetworkA,1672,1672,1672,1974-07-31,167.1999999999948,167.201,2015-01-01 00:27:52,bin1672,35,True +CTSPillarNetworkA,1673,1673,1673,1974-08-01,167.29999999999478,167.30101,2015-01-01 00:27:53,bin1673,75,True +CTSPillarNetworkA,1674,1674,1674,1974-08-02,167.39999999999478,167.40102,2015-01-01 00:27:54,bin1674,35,True +CTSPillarNetworkA,1675,1675,1675,1974-08-03,167.49999999999477,167.50102,2015-01-01 00:27:55,bin1675,75,True +CTSPillarNetworkA,1676,1676,1676,1974-08-04,167.59999999999476,167.60103,2015-01-01 00:27:56,bin1676,35,True +CTSPillarNetworkA,1677,1677,1677,1974-08-05,167.69999999999476,167.70103,2015-01-01 00:27:57,bin1677,75,True +CTSPillarNetworkA,1678,1678,1678,1974-08-06,167.79999999999475,167.80104,2015-01-01 00:27:58,bin1678,35,True +CTSPillarNetworkA,1679,1679,1679,1974-08-07,167.89999999999475,167.90105,2015-01-01 00:27:59,bin1679,75,True +CTSPillarNetworkA,1680,1680,1680,1974-08-08,167.99999999999474,168.00105,2015-01-01 00:28:00,bin1680,35,True +CTSPillarNetworkA,1681,1681,1681,1974-08-09,168.09999999999474,168.10106,2015-01-01 00:28:01,bin1681,75,True +CTSPillarNetworkA,1682,1682,1682,1974-08-10,168.19999999999473,168.20107,2015-01-01 00:28:02,bin1682,35,True +CTSPillarNetworkA,1683,1683,1683,1974-08-11,168.29999999999472,168.30107,2015-01-01 00:28:03,bin1683,75,True +CTSPillarNetworkA,1684,1684,1684,1974-08-12,168.39999999999472,168.40108,2015-01-01 00:28:04,bin1684,35,True +CTSPillarNetworkA,1685,1685,1685,1974-08-13,168.4999999999947,168.50108,2015-01-01 00:28:05,bin1685,75,True +CTSPillarNetworkA,1686,1686,1686,1974-08-14,168.5999999999947,168.60109,2015-01-01 00:28:06,bin1686,35,True +CTSPillarNetworkA,1687,1687,1687,1974-08-15,168.6999999999947,168.7011,2015-01-01 00:28:07,bin1687,75,True +CTSPillarNetworkA,1688,1688,1688,1974-08-16,168.7999999999947,168.8011,2015-01-01 00:28:08,bin1688,35,True +CTSPillarNetworkA,1689,1689,1689,1974-08-17,168.8999999999947,168.90111,2015-01-01 00:28:09,bin1689,75,True +CTSPillarNetworkA,1690,1690,1690,1974-08-18,168.99999999999469,169.00111,2015-01-01 00:28:10,bin1690,35,True +CTSPillarNetworkA,1691,1691,1691,1974-08-19,169.09999999999468,169.10112,2015-01-01 00:28:11,bin1691,75,True +CTSPillarNetworkA,1692,1692,1692,1974-08-20,169.19999999999467,169.20113,2015-01-01 00:28:12,bin1692,35,True +CTSPillarNetworkA,1693,1693,1693,1974-08-21,169.29999999999467,169.30113,2015-01-01 00:28:13,bin1693,75,True +CTSPillarNetworkA,1694,1694,1694,1974-08-22,169.39999999999466,169.40114,2015-01-01 00:28:14,bin1694,35,True +CTSPillarNetworkA,1695,1695,1695,1974-08-23,169.49999999999466,169.50114,2015-01-01 00:28:15,bin1695,75,True +CTSPillarNetworkA,1696,1696,1696,1974-08-24,169.59999999999465,169.60115,2015-01-01 00:28:16,bin1696,35,True +CTSPillarNetworkA,1697,1697,1697,1974-08-25,169.69999999999465,169.70116,2015-01-01 00:28:17,bin1697,75,True +CTSPillarNetworkA,1698,1698,1698,1974-08-26,169.79999999999464,169.80116,2015-01-01 00:28:18,bin1698,35,True +CTSPillarNetworkA,1699,1699,1699,1974-08-27,169.89999999999463,169.90117,2015-01-01 00:28:19,bin1699,75,True +CTSPillarNetworkA,1700,1700,1700,1974-08-28,169.99999999999463,170.00117,2015-01-01 00:28:20,bin1700,35,True +CTSPillarNetworkA,1701,1701,1701,1974-08-29,170.09999999999462,170.10118,2015-01-01 00:28:21,bin1701,75,True +CTSPillarNetworkA,1702,1702,1702,1974-08-30,170.19999999999462,170.20119,2015-01-01 00:28:22,bin1702,35,True +CTSPillarNetworkA,1703,1703,1703,1974-08-31,170.2999999999946,170.3012,2015-01-01 00:28:23,bin1703,75,True +CTSPillarNetworkA,1704,1704,1704,1974-09-01,170.3999999999946,170.4012,2015-01-01 00:28:24,bin1704,35,True +CTSPillarNetworkA,1705,1705,1705,1974-09-02,170.4999999999946,170.5012,2015-01-01 00:28:25,bin1705,75,True +CTSPillarNetworkA,1706,1706,1706,1974-09-03,170.5999999999946,170.60121,2015-01-01 00:28:26,bin1706,35,True +CTSPillarNetworkA,1707,1707,1707,1974-09-04,170.6999999999946,170.70122,2015-01-01 00:28:27,bin1707,75,True +CTSPillarNetworkA,1708,1708,1708,1974-09-05,170.79999999999458,170.80122,2015-01-01 00:28:28,bin1708,35,True +CTSPillarNetworkA,1709,1709,1709,1974-09-06,170.89999999999458,170.90123,2015-01-01 00:28:29,bin1709,75,True +CTSPillarNetworkA,1710,1710,1710,1974-09-07,170.99999999999457,171.00124,2015-01-01 00:28:30,bin1710,35,True +CTSPillarNetworkA,1711,1711,1711,1974-09-08,171.09999999999457,171.10124,2015-01-01 00:28:31,bin1711,75,True +CTSPillarNetworkA,1712,1712,1712,1974-09-09,171.19999999999456,171.20125,2015-01-01 00:28:32,bin1712,35,True +CTSPillarNetworkA,1713,1713,1713,1974-09-10,171.29999999999455,171.30125,2015-01-01 00:28:33,bin1713,75,True +CTSPillarNetworkA,1714,1714,1714,1974-09-11,171.39999999999455,171.40126,2015-01-01 00:28:34,bin1714,35,True +CTSPillarNetworkA,1715,1715,1715,1974-09-12,171.49999999999454,171.50127,2015-01-01 00:28:35,bin1715,75,True +CTSPillarNetworkA,1716,1716,1716,1974-09-13,171.59999999999454,171.60127,2015-01-01 00:28:36,bin1716,35,True +CTSPillarNetworkA,1717,1717,1717,1974-09-14,171.69999999999453,171.70128,2015-01-01 00:28:37,bin1717,75,True +CTSPillarNetworkA,1718,1718,1718,1974-09-15,171.79999999999453,171.80128,2015-01-01 00:28:38,bin1718,35,True +CTSPillarNetworkA,1719,1719,1719,1974-09-16,171.89999999999452,171.90129,2015-01-01 00:28:39,bin1719,75,True +CTSPillarNetworkA,1720,1720,1720,1974-09-17,171.99999999999451,172.0013,2015-01-01 00:28:40,bin1720,35,True +CTSPillarNetworkA,1721,1721,1721,1974-09-18,172.0999999999945,172.1013,2015-01-01 00:28:41,bin1721,75,True +CTSPillarNetworkA,1722,1722,1722,1974-09-19,172.1999999999945,172.20131,2015-01-01 00:28:42,bin1722,35,True +CTSPillarNetworkA,1723,1723,1723,1974-09-20,172.2999999999945,172.30132,2015-01-01 00:28:43,bin1723,75,True +CTSPillarNetworkA,1724,1724,1724,1974-09-21,172.3999999999945,172.40132,2015-01-01 00:28:44,bin1724,35,True +CTSPillarNetworkA,1725,1725,1725,1974-09-22,172.4999999999945,172.50133,2015-01-01 00:28:45,bin1725,75,True +CTSPillarNetworkA,1726,1726,1726,1974-09-23,172.59999999999448,172.60133,2015-01-01 00:28:46,bin1726,35,True +CTSPillarNetworkA,1727,1727,1727,1974-09-24,172.69999999999447,172.70134,2015-01-01 00:28:47,bin1727,75,True +CTSPillarNetworkA,1728,1728,1728,1974-09-25,172.79999999999447,172.80135,2015-01-01 00:28:48,bin1728,35,True +CTSPillarNetworkA,1729,1729,1729,1974-09-26,172.89999999999446,172.90135,2015-01-01 00:28:49,bin1729,75,True +CTSPillarNetworkA,1730,1730,1730,1974-09-27,172.99999999999446,173.00136,2015-01-01 00:28:50,bin1730,35,True +CTSPillarNetworkA,1731,1731,1731,1974-09-28,173.09999999999445,173.10136,2015-01-01 00:28:51,bin1731,75,True +CTSPillarNetworkA,1732,1732,1732,1974-09-29,173.19999999999445,173.20137,2015-01-01 00:28:52,bin1732,35,True +CTSPillarNetworkA,1733,1733,1733,1974-09-30,173.29999999999444,173.30138,2015-01-01 00:28:53,bin1733,75,True +CTSPillarNetworkA,1734,1734,1734,1974-10-01,173.39999999999444,173.40138,2015-01-01 00:28:54,bin1734,35,True +CTSPillarNetworkA,1735,1735,1735,1974-10-02,173.49999999999443,173.50139,2015-01-01 00:28:55,bin1735,75,True +CTSPillarNetworkA,1736,1736,1736,1974-10-03,173.59999999999442,173.6014,2015-01-01 00:28:56,bin1736,35,True +CTSPillarNetworkA,1737,1737,1737,1974-10-04,173.69999999999442,173.7014,2015-01-01 00:28:57,bin1737,75,True +CTSPillarNetworkA,1738,1738,1738,1974-10-05,173.7999999999944,173.8014,2015-01-01 00:28:58,bin1738,35,True +CTSPillarNetworkA,1739,1739,1739,1974-10-06,173.8999999999944,173.90141,2015-01-01 00:28:59,bin1739,75,True +CTSPillarNetworkA,1740,1740,1740,1974-10-07,173.9999999999944,174.00142,2015-01-01 00:29:00,bin1740,35,True +CTSPillarNetworkA,1741,1741,1741,1974-10-08,174.0999999999944,174.10143,2015-01-01 00:29:01,bin1741,75,True +CTSPillarNetworkA,1742,1742,1742,1974-10-09,174.1999999999944,174.20143,2015-01-01 00:29:02,bin1742,35,True +CTSPillarNetworkA,1743,1743,1743,1974-10-10,174.29999999999438,174.30144,2015-01-01 00:29:03,bin1743,75,True +CTSPillarNetworkA,1744,1744,1744,1974-10-11,174.39999999999438,174.40144,2015-01-01 00:29:04,bin1744,35,True +CTSPillarNetworkA,1745,1745,1745,1974-10-12,174.49999999999437,174.50145,2015-01-01 00:29:05,bin1745,75,True +CTSPillarNetworkA,1746,1746,1746,1974-10-13,174.59999999999437,174.60146,2015-01-01 00:29:06,bin1746,35,True +CTSPillarNetworkA,1747,1747,1747,1974-10-14,174.69999999999436,174.70146,2015-01-01 00:29:07,bin1747,75,True +CTSPillarNetworkA,1748,1748,1748,1974-10-15,174.79999999999436,174.80147,2015-01-01 00:29:08,bin1748,35,True +CTSPillarNetworkA,1749,1749,1749,1974-10-16,174.89999999999435,174.90147,2015-01-01 00:29:09,bin1749,75,True +CTSPillarNetworkA,1750,1750,1750,1974-10-17,174.99999999999434,175.00148,2015-01-01 00:29:10,bin1750,35,True +CTSPillarNetworkA,1751,1751,1751,1974-10-18,175.09999999999434,175.10149,2015-01-01 00:29:11,bin1751,75,True +CTSPillarNetworkA,1752,1752,1752,1974-10-19,175.19999999999433,175.20149,2015-01-01 00:29:12,bin1752,35,True +CTSPillarNetworkA,1753,1753,1753,1974-10-20,175.29999999999433,175.3015,2015-01-01 00:29:13,bin1753,75,True +CTSPillarNetworkA,1754,1754,1754,1974-10-21,175.39999999999432,175.4015,2015-01-01 00:29:14,bin1754,35,True +CTSPillarNetworkA,1755,1755,1755,1974-10-22,175.49999999999432,175.50151,2015-01-01 00:29:15,bin1755,75,True +CTSPillarNetworkA,1756,1756,1756,1974-10-23,175.5999999999943,175.60152,2015-01-01 00:29:16,bin1756,35,True +CTSPillarNetworkA,1757,1757,1757,1974-10-24,175.6999999999943,175.70152,2015-01-01 00:29:17,bin1757,75,True +CTSPillarNetworkA,1758,1758,1758,1974-10-25,175.7999999999943,175.80153,2015-01-01 00:29:18,bin1758,35,True +CTSPillarNetworkA,1759,1759,1759,1974-10-26,175.8999999999943,175.90154,2015-01-01 00:29:19,bin1759,75,True +CTSPillarNetworkA,1760,1760,1760,1974-10-27,175.9999999999943,176.00154,2015-01-01 00:29:20,bin1760,35,True +CTSPillarNetworkA,1761,1761,1761,1974-10-28,176.09999999999428,176.10155,2015-01-01 00:29:21,bin1761,75,True +CTSPillarNetworkA,1762,1762,1762,1974-10-29,176.19999999999428,176.20155,2015-01-01 00:29:22,bin1762,35,True +CTSPillarNetworkA,1763,1763,1763,1974-10-30,176.29999999999427,176.30156,2015-01-01 00:29:23,bin1763,75,True +CTSPillarNetworkA,1764,1764,1764,1974-10-31,176.39999999999426,176.40157,2015-01-01 00:29:24,bin1764,35,True +CTSPillarNetworkA,1765,1765,1765,1974-11-01,176.49999999999426,176.50157,2015-01-01 00:29:25,bin1765,75,True +CTSPillarNetworkA,1766,1766,1766,1974-11-02,176.59999999999425,176.60158,2015-01-01 00:29:26,bin1766,35,True +CTSPillarNetworkA,1767,1767,1767,1974-11-03,176.69999999999425,176.70158,2015-01-01 00:29:27,bin1767,75,True +CTSPillarNetworkA,1768,1768,1768,1974-11-04,176.79999999999424,176.80159,2015-01-01 00:29:28,bin1768,35,True +CTSPillarNetworkA,1769,1769,1769,1974-11-05,176.89999999999424,176.9016,2015-01-01 00:29:29,bin1769,75,True +CTSPillarNetworkA,1770,1770,1770,1974-11-06,176.99999999999423,177.0016,2015-01-01 00:29:30,bin1770,35,True +CTSPillarNetworkA,1771,1771,1771,1974-11-07,177.09999999999422,177.10161,2015-01-01 00:29:31,bin1771,75,True +CTSPillarNetworkA,1772,1772,1772,1974-11-08,177.19999999999422,177.20161,2015-01-01 00:29:32,bin1772,35,True +CTSPillarNetworkA,1773,1773,1773,1974-11-09,177.2999999999942,177.30162,2015-01-01 00:29:33,bin1773,75,True +CTSPillarNetworkA,1774,1774,1774,1974-11-10,177.3999999999942,177.40163,2015-01-01 00:29:34,bin1774,35,True +CTSPillarNetworkA,1775,1775,1775,1974-11-11,177.4999999999942,177.50163,2015-01-01 00:29:35,bin1775,75,True +CTSPillarNetworkA,1776,1776,1776,1974-11-12,177.5999999999942,177.60164,2015-01-01 00:29:36,bin1776,35,True +CTSPillarNetworkA,1777,1777,1777,1974-11-13,177.6999999999942,177.70164,2015-01-01 00:29:37,bin1777,75,True +CTSPillarNetworkA,1778,1778,1778,1974-11-14,177.79999999999418,177.80165,2015-01-01 00:29:38,bin1778,35,True +CTSPillarNetworkA,1779,1779,1779,1974-11-15,177.89999999999418,177.90166,2015-01-01 00:29:39,bin1779,75,True +CTSPillarNetworkA,1780,1780,1780,1974-11-16,177.99999999999417,178.00166,2015-01-01 00:29:40,bin1780,35,True +CTSPillarNetworkA,1781,1781,1781,1974-11-17,178.09999999999417,178.10167,2015-01-01 00:29:41,bin1781,75,True +CTSPillarNetworkA,1782,1782,1782,1974-11-18,178.19999999999416,178.20168,2015-01-01 00:29:42,bin1782,35,True +CTSPillarNetworkA,1783,1783,1783,1974-11-19,178.29999999999416,178.30168,2015-01-01 00:29:43,bin1783,75,True +CTSPillarNetworkA,1784,1784,1784,1974-11-20,178.39999999999415,178.40169,2015-01-01 00:29:44,bin1784,35,True +CTSPillarNetworkA,1785,1785,1785,1974-11-21,178.49999999999415,178.5017,2015-01-01 00:29:45,bin1785,75,True +CTSPillarNetworkA,1786,1786,1786,1974-11-22,178.59999999999414,178.6017,2015-01-01 00:29:46,bin1786,35,True +CTSPillarNetworkA,1787,1787,1787,1974-11-23,178.69999999999413,178.7017,2015-01-01 00:29:47,bin1787,75,True +CTSPillarNetworkA,1788,1788,1788,1974-11-24,178.79999999999413,178.80171,2015-01-01 00:29:48,bin1788,35,True +CTSPillarNetworkA,1789,1789,1789,1974-11-25,178.89999999999412,178.90172,2015-01-01 00:29:49,bin1789,75,True +CTSPillarNetworkA,1790,1790,1790,1974-11-26,178.99999999999412,179.00172,2015-01-01 00:29:50,bin1790,35,True +CTSPillarNetworkA,1791,1791,1791,1974-11-27,179.0999999999941,179.10173,2015-01-01 00:29:51,bin1791,75,True +CTSPillarNetworkA,1792,1792,1792,1974-11-28,179.1999999999941,179.20174,2015-01-01 00:29:52,bin1792,35,True +CTSPillarNetworkA,1793,1793,1793,1974-11-29,179.2999999999941,179.30174,2015-01-01 00:29:53,bin1793,75,True +CTSPillarNetworkA,1794,1794,1794,1974-11-30,179.3999999999941,179.40175,2015-01-01 00:29:54,bin1794,35,True +CTSPillarNetworkA,1795,1795,1795,1974-12-01,179.4999999999941,179.50175,2015-01-01 00:29:55,bin1795,75,True +CTSPillarNetworkA,1796,1796,1796,1974-12-02,179.59999999999408,179.60176,2015-01-01 00:29:56,bin1796,35,True +CTSPillarNetworkA,1797,1797,1797,1974-12-03,179.69999999999408,179.70177,2015-01-01 00:29:57,bin1797,75,True +CTSPillarNetworkA,1798,1798,1798,1974-12-04,179.79999999999407,179.80177,2015-01-01 00:29:58,bin1798,35,True +CTSPillarNetworkA,1799,1799,1799,1974-12-05,179.89999999999407,179.90178,2015-01-01 00:29:59,bin1799,75,True +CTSPillarNetworkA,1800,1800,1800,1974-12-06,179.99999999999406,180.00179,2015-01-01 00:30:00,bin1800,35,True +CTSPillarNetworkA,1801,1801,1801,1974-12-07,180.09999999999405,180.10179,2015-01-01 00:30:01,bin1801,75,True +CTSPillarNetworkA,1802,1802,1802,1974-12-08,180.19999999999405,180.2018,2015-01-01 00:30:02,bin1802,35,True +CTSPillarNetworkA,1803,1803,1803,1974-12-09,180.29999999999404,180.3018,2015-01-01 00:30:03,bin1803,75,True +CTSPillarNetworkA,1804,1804,1804,1974-12-10,180.39999999999404,180.40181,2015-01-01 00:30:04,bin1804,35,True +CTSPillarNetworkA,1805,1805,1805,1974-12-11,180.49999999999403,180.50182,2015-01-01 00:30:05,bin1805,75,True +CTSPillarNetworkA,1806,1806,1806,1974-12-12,180.59999999999403,180.60182,2015-01-01 00:30:06,bin1806,35,True +CTSPillarNetworkA,1807,1807,1807,1974-12-13,180.69999999999402,180.70183,2015-01-01 00:30:07,bin1807,75,True +CTSPillarNetworkA,1808,1808,1808,1974-12-14,180.79999999999401,180.80183,2015-01-01 00:30:08,bin1808,35,True +CTSPillarNetworkA,1809,1809,1809,1974-12-15,180.899999999994,180.90184,2015-01-01 00:30:09,bin1809,75,True +CTSPillarNetworkA,1810,1810,1810,1974-12-16,180.999999999994,181.00185,2015-01-01 00:30:10,bin1810,35,True +CTSPillarNetworkA,1811,1811,1811,1974-12-17,181.099999999994,181.10185,2015-01-01 00:30:11,bin1811,75,True +CTSPillarNetworkA,1812,1812,1812,1974-12-18,181.199999999994,181.20186,2015-01-01 00:30:12,bin1812,35,True +CTSPillarNetworkA,1813,1813,1813,1974-12-19,181.299999999994,181.30186,2015-01-01 00:30:13,bin1813,75,True +CTSPillarNetworkA,1814,1814,1814,1974-12-20,181.39999999999398,181.40187,2015-01-01 00:30:14,bin1814,35,True +CTSPillarNetworkA,1815,1815,1815,1974-12-21,181.49999999999397,181.50188,2015-01-01 00:30:15,bin1815,75,True +CTSPillarNetworkA,1816,1816,1816,1974-12-22,181.59999999999397,181.60188,2015-01-01 00:30:16,bin1816,35,True +CTSPillarNetworkA,1817,1817,1817,1974-12-23,181.69999999999396,181.70189,2015-01-01 00:30:17,bin1817,75,True +CTSPillarNetworkA,1818,1818,1818,1974-12-24,181.79999999999396,181.8019,2015-01-01 00:30:18,bin1818,35,True +CTSPillarNetworkA,1819,1819,1819,1974-12-25,181.89999999999395,181.9019,2015-01-01 00:30:19,bin1819,75,True +CTSPillarNetworkA,1820,1820,1820,1974-12-26,181.99999999999395,182.0019,2015-01-01 00:30:20,bin1820,35,True +CTSPillarNetworkA,1821,1821,1821,1974-12-27,182.09999999999394,182.10191,2015-01-01 00:30:21,bin1821,75,True +CTSPillarNetworkA,1822,1822,1822,1974-12-28,182.19999999999393,182.20192,2015-01-01 00:30:22,bin1822,35,True +CTSPillarNetworkA,1823,1823,1823,1974-12-29,182.29999999999393,182.30193,2015-01-01 00:30:23,bin1823,75,True +CTSPillarNetworkA,1824,1824,1824,1974-12-30,182.39999999999392,182.40193,2015-01-01 00:30:24,bin1824,35,True +CTSPillarNetworkA,1825,1825,1825,1974-12-31,182.49999999999392,182.50194,2015-01-01 00:30:25,bin1825,75,True +CTSPillarNetworkA,1826,1826,1826,1975-01-01,182.5999999999939,182.60194,2015-01-01 00:30:26,bin1826,35,True +CTSPillarNetworkA,1827,1827,1827,1975-01-02,182.6999999999939,182.70195,2015-01-01 00:30:27,bin1827,75,True +CTSPillarNetworkA,1828,1828,1828,1975-01-03,182.7999999999939,182.80196,2015-01-01 00:30:28,bin1828,35,True +CTSPillarNetworkA,1829,1829,1829,1975-01-04,182.8999999999939,182.90196,2015-01-01 00:30:29,bin1829,75,True +CTSPillarNetworkA,1830,1830,1830,1975-01-05,182.9999999999939,183.00197,2015-01-01 00:30:30,bin1830,35,True +CTSPillarNetworkA,1831,1831,1831,1975-01-06,183.09999999999388,183.10197,2015-01-01 00:30:31,bin1831,75,True +CTSPillarNetworkA,1832,1832,1832,1975-01-07,183.19999999999388,183.20198,2015-01-01 00:30:32,bin1832,35,True +CTSPillarNetworkA,1833,1833,1833,1975-01-08,183.29999999999387,183.30199,2015-01-01 00:30:33,bin1833,75,True +CTSPillarNetworkA,1834,1834,1834,1975-01-09,183.39999999999387,183.402,2015-01-01 00:30:34,bin1834,35,True +CTSPillarNetworkA,1835,1835,1835,1975-01-10,183.49999999999386,183.502,2015-01-01 00:30:35,bin1835,75,True +CTSPillarNetworkA,1836,1836,1836,1975-01-11,183.59999999999386,183.602,2015-01-01 00:30:36,bin1836,35,True +CTSPillarNetworkA,1837,1837,1837,1975-01-12,183.69999999999385,183.70201,2015-01-01 00:30:37,bin1837,75,True +CTSPillarNetworkA,1838,1838,1838,1975-01-13,183.79999999999384,183.80202,2015-01-01 00:30:38,bin1838,35,True +CTSPillarNetworkA,1839,1839,1839,1975-01-14,183.89999999999384,183.90202,2015-01-01 00:30:39,bin1839,75,True +CTSPillarNetworkA,1840,1840,1840,1975-01-15,183.99999999999383,184.00203,2015-01-01 00:30:40,bin1840,35,True +CTSPillarNetworkA,1841,1841,1841,1975-01-16,184.09999999999383,184.10204,2015-01-01 00:30:41,bin1841,75,True +CTSPillarNetworkA,1842,1842,1842,1975-01-17,184.19999999999382,184.20204,2015-01-01 00:30:42,bin1842,35,True +CTSPillarNetworkA,1843,1843,1843,1975-01-18,184.29999999999382,184.30205,2015-01-01 00:30:43,bin1843,75,True +CTSPillarNetworkA,1844,1844,1844,1975-01-19,184.3999999999938,184.40205,2015-01-01 00:30:44,bin1844,35,True +CTSPillarNetworkA,1845,1845,1845,1975-01-20,184.4999999999938,184.50206,2015-01-01 00:30:45,bin1845,75,True +CTSPillarNetworkA,1846,1846,1846,1975-01-21,184.5999999999938,184.60207,2015-01-01 00:30:46,bin1846,35,True +CTSPillarNetworkA,1847,1847,1847,1975-01-22,184.6999999999938,184.70207,2015-01-01 00:30:47,bin1847,75,True +CTSPillarNetworkA,1848,1848,1848,1975-01-23,184.7999999999938,184.80208,2015-01-01 00:30:48,bin1848,35,True +CTSPillarNetworkA,1849,1849,1849,1975-01-24,184.89999999999378,184.90208,2015-01-01 00:30:49,bin1849,75,True +CTSPillarNetworkA,1850,1850,1850,1975-01-25,184.99999999999378,185.00209,2015-01-01 00:30:50,bin1850,35,True +CTSPillarNetworkA,1851,1851,1851,1975-01-26,185.09999999999377,185.1021,2015-01-01 00:30:51,bin1851,75,True +CTSPillarNetworkA,1852,1852,1852,1975-01-27,185.19999999999376,185.2021,2015-01-01 00:30:52,bin1852,35,True +CTSPillarNetworkA,1853,1853,1853,1975-01-28,185.29999999999376,185.30211,2015-01-01 00:30:53,bin1853,75,True +CTSPillarNetworkA,1854,1854,1854,1975-01-29,185.39999999999375,185.40211,2015-01-01 00:30:54,bin1854,35,True +CTSPillarNetworkA,1855,1855,1855,1975-01-30,185.49999999999375,185.50212,2015-01-01 00:30:55,bin1855,75,True +CTSPillarNetworkA,1856,1856,1856,1975-01-31,185.59999999999374,185.60213,2015-01-01 00:30:56,bin1856,35,True +CTSPillarNetworkA,1857,1857,1857,1975-02-01,185.69999999999374,185.70213,2015-01-01 00:30:57,bin1857,75,True +CTSPillarNetworkA,1858,1858,1858,1975-02-02,185.79999999999373,185.80214,2015-01-01 00:30:58,bin1858,35,True +CTSPillarNetworkA,1859,1859,1859,1975-02-03,185.89999999999372,185.90215,2015-01-01 00:30:59,bin1859,75,True +CTSPillarNetworkA,1860,1860,1860,1975-02-04,185.99999999999372,186.00215,2015-01-01 00:31:00,bin1860,35,True +CTSPillarNetworkA,1861,1861,1861,1975-02-05,186.0999999999937,186.10216,2015-01-01 00:31:01,bin1861,75,True +CTSPillarNetworkA,1862,1862,1862,1975-02-06,186.1999999999937,186.20216,2015-01-01 00:31:02,bin1862,35,True +CTSPillarNetworkA,1863,1863,1863,1975-02-07,186.2999999999937,186.30217,2015-01-01 00:31:03,bin1863,75,True +CTSPillarNetworkA,1864,1864,1864,1975-02-08,186.3999999999937,186.40218,2015-01-01 00:31:04,bin1864,35,True +CTSPillarNetworkA,1865,1865,1865,1975-02-09,186.4999999999937,186.50218,2015-01-01 00:31:05,bin1865,75,True +CTSPillarNetworkA,1866,1866,1866,1975-02-10,186.59999999999368,186.60219,2015-01-01 00:31:06,bin1866,35,True +CTSPillarNetworkA,1867,1867,1867,1975-02-11,186.69999999999368,186.7022,2015-01-01 00:31:07,bin1867,75,True +CTSPillarNetworkA,1868,1868,1868,1975-02-12,186.79999999999367,186.8022,2015-01-01 00:31:08,bin1868,35,True +CTSPillarNetworkA,1869,1869,1869,1975-02-13,186.89999999999367,186.9022,2015-01-01 00:31:09,bin1869,75,True +CTSPillarNetworkA,1870,1870,1870,1975-02-14,186.99999999999366,187.00221,2015-01-01 00:31:10,bin1870,35,True +CTSPillarNetworkA,1871,1871,1871,1975-02-15,187.09999999999366,187.10222,2015-01-01 00:31:11,bin1871,75,True +CTSPillarNetworkA,1872,1872,1872,1975-02-16,187.19999999999365,187.20222,2015-01-01 00:31:12,bin1872,35,True +CTSPillarNetworkA,1873,1873,1873,1975-02-17,187.29999999999364,187.30223,2015-01-01 00:31:13,bin1873,75,True +CTSPillarNetworkA,1874,1874,1874,1975-02-18,187.39999999999364,187.40224,2015-01-01 00:31:14,bin1874,35,True +CTSPillarNetworkA,1875,1875,1875,1975-02-19,187.49999999999363,187.50224,2015-01-01 00:31:15,bin1875,75,True +CTSPillarNetworkA,1876,1876,1876,1975-02-20,187.59999999999363,187.60225,2015-01-01 00:31:16,bin1876,35,True +CTSPillarNetworkA,1877,1877,1877,1975-02-21,187.69999999999362,187.70226,2015-01-01 00:31:17,bin1877,75,True +CTSPillarNetworkA,1878,1878,1878,1975-02-22,187.79999999999362,187.80226,2015-01-01 00:31:18,bin1878,35,True +CTSPillarNetworkA,1879,1879,1879,1975-02-23,187.8999999999936,187.90227,2015-01-01 00:31:19,bin1879,75,True +CTSPillarNetworkA,1880,1880,1880,1975-02-24,187.9999999999936,188.00227,2015-01-01 00:31:20,bin1880,35,True +CTSPillarNetworkA,1881,1881,1881,1975-02-25,188.0999999999936,188.10228,2015-01-01 00:31:21,bin1881,75,True +CTSPillarNetworkA,1882,1882,1882,1975-02-26,188.1999999999936,188.20229,2015-01-01 00:31:22,bin1882,35,True +CTSPillarNetworkA,1883,1883,1883,1975-02-27,188.2999999999936,188.30229,2015-01-01 00:31:23,bin1883,75,True +CTSPillarNetworkA,1884,1884,1884,1975-02-28,188.39999999999358,188.4023,2015-01-01 00:31:24,bin1884,35,True +CTSPillarNetworkA,1885,1885,1885,1975-03-01,188.49999999999358,188.5023,2015-01-01 00:31:25,bin1885,75,True +CTSPillarNetworkA,1886,1886,1886,1975-03-02,188.59999999999357,188.60231,2015-01-01 00:31:26,bin1886,35,True +CTSPillarNetworkA,1887,1887,1887,1975-03-03,188.69999999999357,188.70232,2015-01-01 00:31:27,bin1887,75,True +CTSPillarNetworkA,1888,1888,1888,1975-03-04,188.79999999999356,188.80232,2015-01-01 00:31:28,bin1888,35,True +CTSPillarNetworkA,1889,1889,1889,1975-03-05,188.89999999999355,188.90233,2015-01-01 00:31:29,bin1889,75,True +CTSPillarNetworkA,1890,1890,1890,1975-03-06,188.99999999999355,189.00233,2015-01-01 00:31:30,bin1890,35,True +CTSPillarNetworkA,1891,1891,1891,1975-03-07,189.09999999999354,189.10234,2015-01-01 00:31:31,bin1891,75,True +CTSPillarNetworkA,1892,1892,1892,1975-03-08,189.19999999999354,189.20235,2015-01-01 00:31:32,bin1892,35,True +CTSPillarNetworkA,1893,1893,1893,1975-03-09,189.29999999999353,189.30235,2015-01-01 00:31:33,bin1893,75,True +CTSPillarNetworkA,1894,1894,1894,1975-03-10,189.39999999999353,189.40236,2015-01-01 00:31:34,bin1894,35,True +CTSPillarNetworkA,1895,1895,1895,1975-03-11,189.49999999999352,189.50237,2015-01-01 00:31:35,bin1895,75,True +CTSPillarNetworkA,1896,1896,1896,1975-03-12,189.5999999999935,189.60237,2015-01-01 00:31:36,bin1896,35,True +CTSPillarNetworkA,1897,1897,1897,1975-03-13,189.6999999999935,189.70238,2015-01-01 00:31:37,bin1897,75,True +CTSPillarNetworkA,1898,1898,1898,1975-03-14,189.7999999999935,189.80238,2015-01-01 00:31:38,bin1898,35,True +CTSPillarNetworkA,1899,1899,1899,1975-03-15,189.8999999999935,189.90239,2015-01-01 00:31:39,bin1899,75,True +CTSPillarNetworkA,1900,1900,1900,1975-03-16,189.9999999999935,190.0024,2015-01-01 00:31:40,bin1900,35,True +CTSPillarNetworkA,1901,1901,1901,1975-03-17,190.09999999999349,190.1024,2015-01-01 00:31:41,bin1901,75,True +CTSPillarNetworkA,1902,1902,1902,1975-03-18,190.19999999999348,190.20241,2015-01-01 00:31:42,bin1902,35,True +CTSPillarNetworkA,1903,1903,1903,1975-03-19,190.29999999999347,190.30241,2015-01-01 00:31:43,bin1903,75,True +CTSPillarNetworkA,1904,1904,1904,1975-03-20,190.39999999999347,190.40242,2015-01-01 00:31:44,bin1904,35,True +CTSPillarNetworkA,1905,1905,1905,1975-03-21,190.49999999999346,190.50243,2015-01-01 00:31:45,bin1905,75,True +CTSPillarNetworkA,1906,1906,1906,1975-03-22,190.59999999999346,190.60243,2015-01-01 00:31:46,bin1906,35,True +CTSPillarNetworkA,1907,1907,1907,1975-03-23,190.69999999999345,190.70244,2015-01-01 00:31:47,bin1907,75,True +CTSPillarNetworkA,1908,1908,1908,1975-03-24,190.79999999999345,190.80244,2015-01-01 00:31:48,bin1908,35,True +CTSPillarNetworkA,1909,1909,1909,1975-03-25,190.89999999999344,190.90245,2015-01-01 00:31:49,bin1909,75,True +CTSPillarNetworkA,1910,1910,1910,1975-03-26,190.99999999999343,191.00246,2015-01-01 00:31:50,bin1910,35,True +CTSPillarNetworkA,1911,1911,1911,1975-03-27,191.09999999999343,191.10246,2015-01-01 00:31:51,bin1911,75,True +CTSPillarNetworkA,1912,1912,1912,1975-03-28,191.19999999999342,191.20247,2015-01-01 00:31:52,bin1912,35,True +CTSPillarNetworkA,1913,1913,1913,1975-03-29,191.29999999999342,191.30247,2015-01-01 00:31:53,bin1913,75,True +CTSPillarNetworkA,1914,1914,1914,1975-03-30,191.3999999999934,191.40248,2015-01-01 00:31:54,bin1914,35,True +CTSPillarNetworkA,1915,1915,1915,1975-03-31,191.4999999999934,191.50249,2015-01-01 00:31:55,bin1915,75,True +CTSPillarNetworkA,1916,1916,1916,1975-04-01,191.5999999999934,191.6025,2015-01-01 00:31:56,bin1916,35,True +CTSPillarNetworkA,1917,1917,1917,1975-04-02,191.6999999999934,191.7025,2015-01-01 00:31:57,bin1917,75,True +CTSPillarNetworkA,1918,1918,1918,1975-04-03,191.7999999999934,191.8025,2015-01-01 00:31:58,bin1918,35,True +CTSPillarNetworkA,1919,1919,1919,1975-04-04,191.89999999999338,191.90251,2015-01-01 00:31:59,bin1919,75,True +CTSPillarNetworkA,1920,1920,1920,1975-04-05,191.99999999999338,192.00252,2015-01-01 00:32:00,bin1920,35,True +CTSPillarNetworkA,1921,1921,1921,1975-04-06,192.09999999999337,192.10252,2015-01-01 00:32:01,bin1921,75,True +CTSPillarNetworkA,1922,1922,1922,1975-04-07,192.19999999999337,192.20253,2015-01-01 00:32:02,bin1922,35,True +CTSPillarNetworkA,1923,1923,1923,1975-04-08,192.29999999999336,192.30254,2015-01-01 00:32:03,bin1923,75,True +CTSPillarNetworkA,1924,1924,1924,1975-04-09,192.39999999999336,192.40254,2015-01-01 00:32:04,bin1924,35,True +CTSPillarNetworkA,1925,1925,1925,1975-04-10,192.49999999999335,192.50255,2015-01-01 00:32:05,bin1925,75,True +CTSPillarNetworkA,1926,1926,1926,1975-04-11,192.59999999999334,192.60255,2015-01-01 00:32:06,bin1926,35,True +CTSPillarNetworkA,1927,1927,1927,1975-04-12,192.69999999999334,192.70256,2015-01-01 00:32:07,bin1927,75,True +CTSPillarNetworkA,1928,1928,1928,1975-04-13,192.79999999999333,192.80257,2015-01-01 00:32:08,bin1928,35,True +CTSPillarNetworkA,1929,1929,1929,1975-04-14,192.89999999999333,192.90257,2015-01-01 00:32:09,bin1929,75,True +CTSPillarNetworkA,1930,1930,1930,1975-04-15,192.99999999999332,193.00258,2015-01-01 00:32:10,bin1930,35,True +CTSPillarNetworkA,1931,1931,1931,1975-04-16,193.09999999999332,193.10258,2015-01-01 00:32:11,bin1931,75,True +CTSPillarNetworkA,1932,1932,1932,1975-04-17,193.1999999999933,193.20259,2015-01-01 00:32:12,bin1932,35,True +CTSPillarNetworkA,1933,1933,1933,1975-04-18,193.2999999999933,193.3026,2015-01-01 00:32:13,bin1933,75,True +CTSPillarNetworkA,1934,1934,1934,1975-04-19,193.3999999999933,193.4026,2015-01-01 00:32:14,bin1934,35,True +CTSPillarNetworkA,1935,1935,1935,1975-04-20,193.4999999999933,193.50261,2015-01-01 00:32:15,bin1935,75,True +CTSPillarNetworkA,1936,1936,1936,1975-04-21,193.5999999999933,193.60262,2015-01-01 00:32:16,bin1936,35,True +CTSPillarNetworkA,1937,1937,1937,1975-04-22,193.69999999999328,193.70262,2015-01-01 00:32:17,bin1937,75,True +CTSPillarNetworkA,1938,1938,1938,1975-04-23,193.79999999999328,193.80263,2015-01-01 00:32:18,bin1938,35,True +CTSPillarNetworkA,1939,1939,1939,1975-04-24,193.89999999999327,193.90263,2015-01-01 00:32:19,bin1939,75,True +CTSPillarNetworkA,1940,1940,1940,1975-04-25,193.99999999999326,194.00264,2015-01-01 00:32:20,bin1940,35,True +CTSPillarNetworkA,1941,1941,1941,1975-04-26,194.09999999999326,194.10265,2015-01-01 00:32:21,bin1941,75,True +CTSPillarNetworkA,1942,1942,1942,1975-04-27,194.19999999999325,194.20265,2015-01-01 00:32:22,bin1942,35,True +CTSPillarNetworkA,1943,1943,1943,1975-04-28,194.29999999999325,194.30266,2015-01-01 00:32:23,bin1943,75,True +CTSPillarNetworkA,1944,1944,1944,1975-04-29,194.39999999999324,194.40266,2015-01-01 00:32:24,bin1944,35,True +CTSPillarNetworkA,1945,1945,1945,1975-04-30,194.49999999999324,194.50267,2015-01-01 00:32:25,bin1945,75,True +CTSPillarNetworkA,1946,1946,1946,1975-05-01,194.59999999999323,194.60268,2015-01-01 00:32:26,bin1946,35,True +CTSPillarNetworkA,1947,1947,1947,1975-05-02,194.69999999999322,194.70268,2015-01-01 00:32:27,bin1947,75,True +CTSPillarNetworkA,1948,1948,1948,1975-05-03,194.79999999999322,194.80269,2015-01-01 00:32:28,bin1948,35,True +CTSPillarNetworkA,1949,1949,1949,1975-05-04,194.8999999999932,194.9027,2015-01-01 00:32:29,bin1949,75,True +CTSPillarNetworkA,1950,1950,1950,1975-05-05,194.9999999999932,195.0027,2015-01-01 00:32:30,bin1950,35,True +CTSPillarNetworkA,1951,1951,1951,1975-05-06,195.0999999999932,195.1027,2015-01-01 00:32:31,bin1951,75,True +CTSPillarNetworkA,1952,1952,1952,1975-05-07,195.1999999999932,195.20271,2015-01-01 00:32:32,bin1952,35,True +CTSPillarNetworkA,1953,1953,1953,1975-05-08,195.2999999999932,195.30272,2015-01-01 00:32:33,bin1953,75,True +CTSPillarNetworkA,1954,1954,1954,1975-05-09,195.39999999999318,195.40273,2015-01-01 00:32:34,bin1954,35,True +CTSPillarNetworkA,1955,1955,1955,1975-05-10,195.49999999999318,195.50273,2015-01-01 00:32:35,bin1955,75,True +CTSPillarNetworkA,1956,1956,1956,1975-05-11,195.59999999999317,195.60274,2015-01-01 00:32:36,bin1956,35,True +CTSPillarNetworkA,1957,1957,1957,1975-05-12,195.69999999999317,195.70274,2015-01-01 00:32:37,bin1957,75,True +CTSPillarNetworkA,1958,1958,1958,1975-05-13,195.79999999999316,195.80275,2015-01-01 00:32:38,bin1958,35,True +CTSPillarNetworkA,1959,1959,1959,1975-05-14,195.89999999999316,195.90276,2015-01-01 00:32:39,bin1959,75,True +CTSPillarNetworkA,1960,1960,1960,1975-05-15,195.99999999999315,196.00276,2015-01-01 00:32:40,bin1960,35,True +CTSPillarNetworkA,1961,1961,1961,1975-05-16,196.09999999999314,196.10277,2015-01-01 00:32:41,bin1961,75,True +CTSPillarNetworkA,1962,1962,1962,1975-05-17,196.19999999999314,196.20277,2015-01-01 00:32:42,bin1962,35,True +CTSPillarNetworkA,1963,1963,1963,1975-05-18,196.29999999999313,196.30278,2015-01-01 00:32:43,bin1963,75,True +CTSPillarNetworkA,1964,1964,1964,1975-05-19,196.39999999999313,196.40279,2015-01-01 00:32:44,bin1964,35,True +CTSPillarNetworkA,1965,1965,1965,1975-05-20,196.49999999999312,196.50279,2015-01-01 00:32:45,bin1965,75,True +CTSPillarNetworkA,1966,1966,1966,1975-05-21,196.59999999999312,196.6028,2015-01-01 00:32:46,bin1966,35,True +CTSPillarNetworkA,1967,1967,1967,1975-05-22,196.6999999999931,196.7028,2015-01-01 00:32:47,bin1967,75,True +CTSPillarNetworkA,1968,1968,1968,1975-05-23,196.7999999999931,196.80281,2015-01-01 00:32:48,bin1968,35,True +CTSPillarNetworkA,1969,1969,1969,1975-05-24,196.8999999999931,196.90282,2015-01-01 00:32:49,bin1969,75,True +CTSPillarNetworkA,1970,1970,1970,1975-05-25,196.9999999999931,197.00282,2015-01-01 00:32:50,bin1970,35,True +CTSPillarNetworkA,1971,1971,1971,1975-05-26,197.0999999999931,197.10283,2015-01-01 00:32:51,bin1971,75,True +CTSPillarNetworkA,1972,1972,1972,1975-05-27,197.19999999999308,197.20284,2015-01-01 00:32:52,bin1972,35,True +CTSPillarNetworkA,1973,1973,1973,1975-05-28,197.29999999999308,197.30284,2015-01-01 00:32:53,bin1973,75,True +CTSPillarNetworkA,1974,1974,1974,1975-05-29,197.39999999999307,197.40285,2015-01-01 00:32:54,bin1974,35,True +CTSPillarNetworkA,1975,1975,1975,1975-05-30,197.49999999999307,197.50285,2015-01-01 00:32:55,bin1975,75,True +CTSPillarNetworkA,1976,1976,1976,1975-05-31,197.59999999999306,197.60286,2015-01-01 00:32:56,bin1976,35,True +CTSPillarNetworkA,1977,1977,1977,1975-06-01,197.69999999999305,197.70287,2015-01-01 00:32:57,bin1977,75,True +CTSPillarNetworkA,1978,1978,1978,1975-06-02,197.79999999999305,197.80287,2015-01-01 00:32:58,bin1978,35,True +CTSPillarNetworkA,1979,1979,1979,1975-06-03,197.89999999999304,197.90288,2015-01-01 00:32:59,bin1979,75,True +CTSPillarNetworkA,1980,1980,1980,1975-06-04,197.99999999999304,198.00288,2015-01-01 00:33:00,bin1980,35,True +CTSPillarNetworkA,1981,1981,1981,1975-06-05,198.09999999999303,198.10289,2015-01-01 00:33:01,bin1981,75,True +CTSPillarNetworkA,1982,1982,1982,1975-06-06,198.19999999999303,198.2029,2015-01-01 00:33:02,bin1982,35,True +CTSPillarNetworkA,1983,1983,1983,1975-06-07,198.29999999999302,198.3029,2015-01-01 00:33:03,bin1983,75,True +CTSPillarNetworkA,1984,1984,1984,1975-06-08,198.399999999993,198.40291,2015-01-01 00:33:04,bin1984,35,True +CTSPillarNetworkA,1985,1985,1985,1975-06-09,198.499999999993,198.50291,2015-01-01 00:33:05,bin1985,75,True +CTSPillarNetworkA,1986,1986,1986,1975-06-10,198.599999999993,198.60292,2015-01-01 00:33:06,bin1986,35,True +CTSPillarNetworkA,1987,1987,1987,1975-06-11,198.699999999993,198.70293,2015-01-01 00:33:07,bin1987,75,True +CTSPillarNetworkA,1988,1988,1988,1975-06-12,198.799999999993,198.80293,2015-01-01 00:33:08,bin1988,35,True +CTSPillarNetworkA,1989,1989,1989,1975-06-13,198.89999999999299,198.90294,2015-01-01 00:33:09,bin1989,75,True +CTSPillarNetworkA,1990,1990,1990,1975-06-14,198.99999999999298,199.00294,2015-01-01 00:33:10,bin1990,35,True +CTSPillarNetworkA,1991,1991,1991,1975-06-15,199.09999999999297,199.10295,2015-01-01 00:33:11,bin1991,75,True +CTSPillarNetworkA,1992,1992,1992,1975-06-16,199.19999999999297,199.20296,2015-01-01 00:33:12,bin1992,35,True +CTSPillarNetworkA,1993,1993,1993,1975-06-17,199.29999999999296,199.30296,2015-01-01 00:33:13,bin1993,75,True +CTSPillarNetworkA,1994,1994,1994,1975-06-18,199.39999999999296,199.40297,2015-01-01 00:33:14,bin1994,35,True +CTSPillarNetworkA,1995,1995,1995,1975-06-19,199.49999999999295,199.50298,2015-01-01 00:33:15,bin1995,75,True +CTSPillarNetworkA,1996,1996,1996,1975-06-20,199.59999999999295,199.60298,2015-01-01 00:33:16,bin1996,35,True +CTSPillarNetworkA,1997,1997,1997,1975-06-21,199.69999999999294,199.70299,2015-01-01 00:33:17,bin1997,75,True +CTSPillarNetworkA,1998,1998,1998,1975-06-22,199.79999999999293,199.803,2015-01-01 00:33:18,bin1998,35,True +CTSPillarNetworkA,1999,1999,1999,1975-06-23,199.89999999999293,199.903,2015-01-01 00:33:19,bin1999,75,True +CTSPillarNetworkA,2000,2000,2000,1975-06-24,199.99999999999292,200.003,2015-01-01 00:33:20,bin2000,35,True +CTSPillarNetworkA,2001,2001,2001,1975-06-25,200.09999999999292,200.10301,2015-01-01 00:33:21,bin2001,75,True +CTSPillarNetworkA,2002,2002,2002,1975-06-26,200.1999999999929,200.20302,2015-01-01 00:33:22,bin2002,35,True +CTSPillarNetworkA,2003,2003,2003,1975-06-27,200.2999999999929,200.30302,2015-01-01 00:33:23,bin2003,75,True +CTSPillarNetworkA,2004,2004,2004,1975-06-28,200.3999999999929,200.40303,2015-01-01 00:33:24,bin2004,35,True +CTSPillarNetworkA,2005,2005,2005,1975-06-29,200.4999999999929,200.50304,2015-01-01 00:33:25,bin2005,75,True +CTSPillarNetworkA,2006,2006,2006,1975-06-30,200.5999999999929,200.60304,2015-01-01 00:33:26,bin2006,35,True +CTSPillarNetworkA,2007,2007,2007,1975-07-01,200.69999999999288,200.70305,2015-01-01 00:33:27,bin2007,75,True +CTSPillarNetworkA,2008,2008,2008,1975-07-02,200.79999999999288,200.80305,2015-01-01 00:33:28,bin2008,35,True +CTSPillarNetworkA,2009,2009,2009,1975-07-03,200.89999999999287,200.90306,2015-01-01 00:33:29,bin2009,75,True +CTSPillarNetworkA,2010,2010,2010,1975-07-04,200.99999999999287,201.00307,2015-01-01 00:33:30,bin2010,35,True +CTSPillarNetworkA,2011,2011,2011,1975-07-05,201.09999999999286,201.10307,2015-01-01 00:33:31,bin2011,75,True +CTSPillarNetworkA,2012,2012,2012,1975-07-06,201.19999999999285,201.20308,2015-01-01 00:33:32,bin2012,35,True +CTSPillarNetworkA,2013,2013,2013,1975-07-07,201.29999999999285,201.30309,2015-01-01 00:33:33,bin2013,75,True +CTSPillarNetworkA,2014,2014,2014,1975-07-08,201.39999999999284,201.40309,2015-01-01 00:33:34,bin2014,35,True +CTSPillarNetworkA,2015,2015,2015,1975-07-09,201.49999999999284,201.5031,2015-01-01 00:33:35,bin2015,75,True +CTSPillarNetworkA,2016,2016,2016,1975-07-10,201.59999999999283,201.6031,2015-01-01 00:33:36,bin2016,35,True +CTSPillarNetworkA,2017,2017,2017,1975-07-11,201.69999999999283,201.70311,2015-01-01 00:33:37,bin2017,75,True +CTSPillarNetworkA,2018,2018,2018,1975-07-12,201.79999999999282,201.80312,2015-01-01 00:33:38,bin2018,35,True +CTSPillarNetworkA,2019,2019,2019,1975-07-13,201.89999999999281,201.90312,2015-01-01 00:33:39,bin2019,75,True +CTSPillarNetworkA,2020,2020,2020,1975-07-14,201.9999999999928,202.00313,2015-01-01 00:33:40,bin2020,35,True +CTSPillarNetworkA,2021,2021,2021,1975-07-15,202.0999999999928,202.10313,2015-01-01 00:33:41,bin2021,75,True +CTSPillarNetworkA,2022,2022,2022,1975-07-16,202.1999999999928,202.20314,2015-01-01 00:33:42,bin2022,35,True +CTSPillarNetworkA,2023,2023,2023,1975-07-17,202.2999999999928,202.30315,2015-01-01 00:33:43,bin2023,75,True +CTSPillarNetworkA,2024,2024,2024,1975-07-18,202.3999999999928,202.40315,2015-01-01 00:33:44,bin2024,35,True +CTSPillarNetworkA,2025,2025,2025,1975-07-19,202.49999999999278,202.50316,2015-01-01 00:33:45,bin2025,75,True +CTSPillarNetworkA,2026,2026,2026,1975-07-20,202.59999999999278,202.60316,2015-01-01 00:33:46,bin2026,35,True +CTSPillarNetworkA,2027,2027,2027,1975-07-21,202.69999999999277,202.70317,2015-01-01 00:33:47,bin2027,75,True +CTSPillarNetworkA,2028,2028,2028,1975-07-22,202.79999999999276,202.80318,2015-01-01 00:33:48,bin2028,35,True +CTSPillarNetworkA,2029,2029,2029,1975-07-23,202.89999999999276,202.90318,2015-01-01 00:33:49,bin2029,75,True +CTSPillarNetworkA,2030,2030,2030,1975-07-24,202.99999999999275,203.00319,2015-01-01 00:33:50,bin2030,35,True +CTSPillarNetworkA,2031,2031,2031,1975-07-25,203.09999999999275,203.1032,2015-01-01 00:33:51,bin2031,75,True +CTSPillarNetworkA,2032,2032,2032,1975-07-26,203.19999999999274,203.2032,2015-01-01 00:33:52,bin2032,35,True +CTSPillarNetworkA,2033,2033,2033,1975-07-27,203.29999999999274,203.3032,2015-01-01 00:33:53,bin2033,75,True +CTSPillarNetworkA,2034,2034,2034,1975-07-28,203.39999999999273,203.40321,2015-01-01 00:33:54,bin2034,35,True +CTSPillarNetworkA,2035,2035,2035,1975-07-29,203.49999999999272,203.50322,2015-01-01 00:33:55,bin2035,75,True +CTSPillarNetworkA,2036,2036,2036,1975-07-30,203.59999999999272,203.60323,2015-01-01 00:33:56,bin2036,35,True +CTSPillarNetworkA,2037,2037,2037,1975-07-31,203.6999999999927,203.70323,2015-01-01 00:33:57,bin2037,75,True +CTSPillarNetworkA,2038,2038,2038,1975-08-01,203.7999999999927,203.80324,2015-01-01 00:33:58,bin2038,35,True +CTSPillarNetworkA,2039,2039,2039,1975-08-02,203.8999999999927,203.90324,2015-01-01 00:33:59,bin2039,75,True +CTSPillarNetworkA,2040,2040,2040,1975-08-03,203.9999999999927,204.00325,2015-01-01 00:34:00,bin2040,35,True +CTSPillarNetworkA,2041,2041,2041,1975-08-04,204.0999999999927,204.10326,2015-01-01 00:34:01,bin2041,75,True +CTSPillarNetworkA,2042,2042,2042,1975-08-05,204.19999999999268,204.20326,2015-01-01 00:34:02,bin2042,35,True +CTSPillarNetworkA,2043,2043,2043,1975-08-06,204.29999999999268,204.30327,2015-01-01 00:34:03,bin2043,75,True +CTSPillarNetworkA,2044,2044,2044,1975-08-07,204.39999999999267,204.40327,2015-01-01 00:34:04,bin2044,35,True +CTSPillarNetworkA,2045,2045,2045,1975-08-08,204.49999999999267,204.50328,2015-01-01 00:34:05,bin2045,75,True +CTSPillarNetworkA,2046,2046,2046,1975-08-09,204.59999999999266,204.60329,2015-01-01 00:34:06,bin2046,35,True +CTSPillarNetworkA,2047,2047,2047,1975-08-10,204.69999999999266,204.7033,2015-01-01 00:34:07,bin2047,75,True +CTSPillarNetworkA,2048,2048,2048,1975-08-11,204.79999999999265,204.8033,2015-01-01 00:34:08,bin2048,35,True +CTSPillarNetworkA,2049,2049,2049,1975-08-12,204.89999999999264,204.9033,2015-01-01 00:34:09,bin2049,75,True +CTSPillarNetworkA,2050,2050,2050,1975-08-13,204.99999999999264,205.00331,2015-01-01 00:34:10,bin2050,35,True +CTSPillarNetworkA,2051,2051,2051,1975-08-14,205.09999999999263,205.10332,2015-01-01 00:34:11,bin2051,75,True +CTSPillarNetworkA,2052,2052,2052,1975-08-15,205.19999999999263,205.20332,2015-01-01 00:34:12,bin2052,35,True +CTSPillarNetworkA,2053,2053,2053,1975-08-16,205.29999999999262,205.30333,2015-01-01 00:34:13,bin2053,75,True +CTSPillarNetworkA,2054,2054,2054,1975-08-17,205.39999999999262,205.40334,2015-01-01 00:34:14,bin2054,35,True +CTSPillarNetworkA,2055,2055,2055,1975-08-18,205.4999999999926,205.50334,2015-01-01 00:34:15,bin2055,75,True +CTSPillarNetworkA,2056,2056,2056,1975-08-19,205.5999999999926,205.60335,2015-01-01 00:34:16,bin2056,35,True +CTSPillarNetworkA,2057,2057,2057,1975-08-20,205.6999999999926,205.70335,2015-01-01 00:34:17,bin2057,75,True +CTSPillarNetworkA,2058,2058,2058,1975-08-21,205.7999999999926,205.80336,2015-01-01 00:34:18,bin2058,35,True +CTSPillarNetworkA,2059,2059,2059,1975-08-22,205.8999999999926,205.90337,2015-01-01 00:34:19,bin2059,75,True +CTSPillarNetworkA,2060,2060,2060,1975-08-23,205.99999999999258,206.00337,2015-01-01 00:34:20,bin2060,35,True +CTSPillarNetworkA,2061,2061,2061,1975-08-24,206.09999999999258,206.10338,2015-01-01 00:34:21,bin2061,75,True +CTSPillarNetworkA,2062,2062,2062,1975-08-25,206.19999999999257,206.20338,2015-01-01 00:34:22,bin2062,35,True +CTSPillarNetworkA,2063,2063,2063,1975-08-26,206.29999999999256,206.30339,2015-01-01 00:34:23,bin2063,75,True +CTSPillarNetworkA,2064,2064,2064,1975-08-27,206.39999999999256,206.4034,2015-01-01 00:34:24,bin2064,35,True +CTSPillarNetworkA,2065,2065,2065,1975-08-28,206.49999999999255,206.5034,2015-01-01 00:34:25,bin2065,75,True +CTSPillarNetworkA,2066,2066,2066,1975-08-29,206.59999999999255,206.60341,2015-01-01 00:34:26,bin2066,35,True +CTSPillarNetworkA,2067,2067,2067,1975-08-30,206.69999999999254,206.70341,2015-01-01 00:34:27,bin2067,75,True +CTSPillarNetworkA,2068,2068,2068,1975-08-31,206.79999999999254,206.80342,2015-01-01 00:34:28,bin2068,35,True +CTSPillarNetworkA,2069,2069,2069,1975-09-01,206.89999999999253,206.90343,2015-01-01 00:34:29,bin2069,75,True +CTSPillarNetworkA,2070,2070,2070,1975-09-02,206.99999999999253,207.00343,2015-01-01 00:34:30,bin2070,35,True +CTSPillarNetworkA,2071,2071,2071,1975-09-03,207.09999999999252,207.10344,2015-01-01 00:34:31,bin2071,75,True +CTSPillarNetworkA,2072,2072,2072,1975-09-04,207.1999999999925,207.20345,2015-01-01 00:34:32,bin2072,35,True +CTSPillarNetworkA,2073,2073,2073,1975-09-05,207.2999999999925,207.30345,2015-01-01 00:34:33,bin2073,75,True +CTSPillarNetworkA,2074,2074,2074,1975-09-06,207.3999999999925,207.40346,2015-01-01 00:34:34,bin2074,35,True +CTSPillarNetworkA,2075,2075,2075,1975-09-07,207.4999999999925,207.50346,2015-01-01 00:34:35,bin2075,75,True +CTSPillarNetworkA,2076,2076,2076,1975-09-08,207.5999999999925,207.60347,2015-01-01 00:34:36,bin2076,35,True +CTSPillarNetworkA,2077,2077,2077,1975-09-09,207.69999999999249,207.70348,2015-01-01 00:34:37,bin2077,75,True +CTSPillarNetworkA,2078,2078,2078,1975-09-10,207.79999999999248,207.80348,2015-01-01 00:34:38,bin2078,35,True +CTSPillarNetworkA,2079,2079,2079,1975-09-11,207.89999999999247,207.90349,2015-01-01 00:34:39,bin2079,75,True +CTSPillarNetworkA,2080,2080,2080,1975-09-12,207.99999999999247,208.0035,2015-01-01 00:34:40,bin2080,35,True +CTSPillarNetworkA,2081,2081,2081,1975-09-13,208.09999999999246,208.1035,2015-01-01 00:34:41,bin2081,75,True +CTSPillarNetworkA,2082,2082,2082,1975-09-14,208.19999999999246,208.2035,2015-01-01 00:34:42,bin2082,35,True +CTSPillarNetworkA,2083,2083,2083,1975-09-15,208.29999999999245,208.30351,2015-01-01 00:34:43,bin2083,75,True +CTSPillarNetworkA,2084,2084,2084,1975-09-16,208.39999999999245,208.40352,2015-01-01 00:34:44,bin2084,35,True +CTSPillarNetworkA,2085,2085,2085,1975-09-17,208.49999999999244,208.50352,2015-01-01 00:34:45,bin2085,75,True +CTSPillarNetworkA,2086,2086,2086,1975-09-18,208.59999999999243,208.60353,2015-01-01 00:34:46,bin2086,35,True +CTSPillarNetworkA,2087,2087,2087,1975-09-19,208.69999999999243,208.70354,2015-01-01 00:34:47,bin2087,75,True +CTSPillarNetworkA,2088,2088,2088,1975-09-20,208.79999999999242,208.80354,2015-01-01 00:34:48,bin2088,35,True +CTSPillarNetworkA,2089,2089,2089,1975-09-21,208.89999999999242,208.90355,2015-01-01 00:34:49,bin2089,75,True +CTSPillarNetworkA,2090,2090,2090,1975-09-22,208.9999999999924,209.00356,2015-01-01 00:34:50,bin2090,35,True +CTSPillarNetworkA,2091,2091,2091,1975-09-23,209.0999999999924,209.10356,2015-01-01 00:34:51,bin2091,75,True +CTSPillarNetworkA,2092,2092,2092,1975-09-24,209.1999999999924,209.20357,2015-01-01 00:34:52,bin2092,35,True +CTSPillarNetworkA,2093,2093,2093,1975-09-25,209.2999999999924,209.30357,2015-01-01 00:34:53,bin2093,75,True +CTSPillarNetworkA,2094,2094,2094,1975-09-26,209.3999999999924,209.40358,2015-01-01 00:34:54,bin2094,35,True +CTSPillarNetworkA,2095,2095,2095,1975-09-27,209.49999999999238,209.50359,2015-01-01 00:34:55,bin2095,75,True +CTSPillarNetworkA,2096,2096,2096,1975-09-28,209.59999999999238,209.60359,2015-01-01 00:34:56,bin2096,35,True +CTSPillarNetworkA,2097,2097,2097,1975-09-29,209.69999999999237,209.7036,2015-01-01 00:34:57,bin2097,75,True +CTSPillarNetworkA,2098,2098,2098,1975-09-30,209.79999999999237,209.8036,2015-01-01 00:34:58,bin2098,35,True +CTSPillarNetworkA,2099,2099,2099,1975-10-01,209.89999999999236,209.90361,2015-01-01 00:34:59,bin2099,75,True +CTSPillarNetworkA,2100,2100,2100,1975-10-02,209.99999999999235,210.00362,2015-01-01 00:35:00,bin2100,35,True +CTSPillarNetworkA,2101,2101,2101,1975-10-03,210.09999999999235,210.10362,2015-01-01 00:35:01,bin2101,75,True +CTSPillarNetworkA,2102,2102,2102,1975-10-04,210.19999999999234,210.20363,2015-01-01 00:35:02,bin2102,35,True +CTSPillarNetworkA,2103,2103,2103,1975-10-05,210.29999999999234,210.30363,2015-01-01 00:35:03,bin2103,75,True +CTSPillarNetworkA,2104,2104,2104,1975-10-06,210.39999999999233,210.40364,2015-01-01 00:35:04,bin2104,35,True +CTSPillarNetworkA,2105,2105,2105,1975-10-07,210.49999999999233,210.50365,2015-01-01 00:35:05,bin2105,75,True +CTSPillarNetworkA,2106,2106,2106,1975-10-08,210.59999999999232,210.60365,2015-01-01 00:35:06,bin2106,35,True +CTSPillarNetworkA,2107,2107,2107,1975-10-09,210.69999999999231,210.70366,2015-01-01 00:35:07,bin2107,75,True +CTSPillarNetworkA,2108,2108,2108,1975-10-10,210.7999999999923,210.80367,2015-01-01 00:35:08,bin2108,35,True +CTSPillarNetworkA,2109,2109,2109,1975-10-11,210.8999999999923,210.90367,2015-01-01 00:35:09,bin2109,75,True +CTSPillarNetworkA,2110,2110,2110,1975-10-12,210.9999999999923,211.00368,2015-01-01 00:35:10,bin2110,35,True +CTSPillarNetworkA,2111,2111,2111,1975-10-13,211.0999999999923,211.10368,2015-01-01 00:35:11,bin2111,75,True +CTSPillarNetworkA,2112,2112,2112,1975-10-14,211.1999999999923,211.20369,2015-01-01 00:35:12,bin2112,35,True +CTSPillarNetworkA,2113,2113,2113,1975-10-15,211.29999999999228,211.3037,2015-01-01 00:35:13,bin2113,75,True +CTSPillarNetworkA,2114,2114,2114,1975-10-16,211.39999999999227,211.4037,2015-01-01 00:35:14,bin2114,35,True +CTSPillarNetworkA,2115,2115,2115,1975-10-17,211.49999999999227,211.50371,2015-01-01 00:35:15,bin2115,75,True +CTSPillarNetworkA,2116,2116,2116,1975-10-18,211.59999999999226,211.60371,2015-01-01 00:35:16,bin2116,35,True +CTSPillarNetworkA,2117,2117,2117,1975-10-19,211.69999999999226,211.70372,2015-01-01 00:35:17,bin2117,75,True +CTSPillarNetworkA,2118,2118,2118,1975-10-20,211.79999999999225,211.80373,2015-01-01 00:35:18,bin2118,35,True +CTSPillarNetworkA,2119,2119,2119,1975-10-21,211.89999999999225,211.90373,2015-01-01 00:35:19,bin2119,75,True +CTSPillarNetworkA,2120,2120,2120,1975-10-22,211.99999999999224,212.00374,2015-01-01 00:35:20,bin2120,35,True +CTSPillarNetworkA,2121,2121,2121,1975-10-23,212.09999999999224,212.10374,2015-01-01 00:35:21,bin2121,75,True +CTSPillarNetworkA,2122,2122,2122,1975-10-24,212.19999999999223,212.20375,2015-01-01 00:35:22,bin2122,35,True +CTSPillarNetworkA,2123,2123,2123,1975-10-25,212.29999999999222,212.30376,2015-01-01 00:35:23,bin2123,75,True +CTSPillarNetworkA,2124,2124,2124,1975-10-26,212.39999999999222,212.40376,2015-01-01 00:35:24,bin2124,35,True +CTSPillarNetworkA,2125,2125,2125,1975-10-27,212.4999999999922,212.50377,2015-01-01 00:35:25,bin2125,75,True +CTSPillarNetworkA,2126,2126,2126,1975-10-28,212.5999999999922,212.60378,2015-01-01 00:35:26,bin2126,35,True +CTSPillarNetworkA,2127,2127,2127,1975-10-29,212.6999999999922,212.70378,2015-01-01 00:35:27,bin2127,75,True +CTSPillarNetworkA,2128,2128,2128,1975-10-30,212.7999999999922,212.80379,2015-01-01 00:35:28,bin2128,35,True +CTSPillarNetworkA,2129,2129,2129,1975-10-31,212.8999999999922,212.9038,2015-01-01 00:35:29,bin2129,75,True +CTSPillarNetworkA,2130,2130,2130,1975-11-01,212.99999999999218,213.0038,2015-01-01 00:35:30,bin2130,35,True +CTSPillarNetworkA,2131,2131,2131,1975-11-02,213.09999999999218,213.1038,2015-01-01 00:35:31,bin2131,75,True +CTSPillarNetworkA,2132,2132,2132,1975-11-03,213.19999999999217,213.20381,2015-01-01 00:35:32,bin2132,35,True +CTSPillarNetworkA,2133,2133,2133,1975-11-04,213.29999999999217,213.30382,2015-01-01 00:35:33,bin2133,75,True +CTSPillarNetworkA,2134,2134,2134,1975-11-05,213.39999999999216,213.40382,2015-01-01 00:35:34,bin2134,35,True +CTSPillarNetworkA,2135,2135,2135,1975-11-06,213.49999999999216,213.50383,2015-01-01 00:35:35,bin2135,75,True +CTSPillarNetworkA,2136,2136,2136,1975-11-07,213.59999999999215,213.60384,2015-01-01 00:35:36,bin2136,35,True +CTSPillarNetworkA,2137,2137,2137,1975-11-08,213.69999999999214,213.70384,2015-01-01 00:35:37,bin2137,75,True +CTSPillarNetworkA,2138,2138,2138,1975-11-09,213.79999999999214,213.80385,2015-01-01 00:35:38,bin2138,35,True +CTSPillarNetworkA,2139,2139,2139,1975-11-10,213.89999999999213,213.90385,2015-01-01 00:35:39,bin2139,75,True +CTSPillarNetworkA,2140,2140,2140,1975-11-11,213.99999999999213,214.00386,2015-01-01 00:35:40,bin2140,35,True +CTSPillarNetworkA,2141,2141,2141,1975-11-12,214.09999999999212,214.10387,2015-01-01 00:35:41,bin2141,75,True +CTSPillarNetworkA,2142,2142,2142,1975-11-13,214.19999999999212,214.20387,2015-01-01 00:35:42,bin2142,35,True +CTSPillarNetworkA,2143,2143,2143,1975-11-14,214.2999999999921,214.30388,2015-01-01 00:35:43,bin2143,75,True +CTSPillarNetworkA,2144,2144,2144,1975-11-15,214.3999999999921,214.40388,2015-01-01 00:35:44,bin2144,35,True +CTSPillarNetworkA,2145,2145,2145,1975-11-16,214.4999999999921,214.50389,2015-01-01 00:35:45,bin2145,75,True +CTSPillarNetworkA,2146,2146,2146,1975-11-17,214.5999999999921,214.6039,2015-01-01 00:35:46,bin2146,35,True +CTSPillarNetworkA,2147,2147,2147,1975-11-18,214.6999999999921,214.7039,2015-01-01 00:35:47,bin2147,75,True +CTSPillarNetworkA,2148,2148,2148,1975-11-19,214.79999999999208,214.80391,2015-01-01 00:35:48,bin2148,35,True +CTSPillarNetworkA,2149,2149,2149,1975-11-20,214.89999999999208,214.90392,2015-01-01 00:35:49,bin2149,75,True +CTSPillarNetworkA,2150,2150,2150,1975-11-21,214.99999999999207,215.00392,2015-01-01 00:35:50,bin2150,35,True +CTSPillarNetworkA,2151,2151,2151,1975-11-22,215.09999999999206,215.10393,2015-01-01 00:35:51,bin2151,75,True +CTSPillarNetworkA,2152,2152,2152,1975-11-23,215.19999999999206,215.20393,2015-01-01 00:35:52,bin2152,35,True +CTSPillarNetworkA,2153,2153,2153,1975-11-24,215.29999999999205,215.30394,2015-01-01 00:35:53,bin2153,75,True +CTSPillarNetworkA,2154,2154,2154,1975-11-25,215.39999999999205,215.40395,2015-01-01 00:35:54,bin2154,35,True +CTSPillarNetworkA,2155,2155,2155,1975-11-26,215.49999999999204,215.50395,2015-01-01 00:35:55,bin2155,75,True +CTSPillarNetworkA,2156,2156,2156,1975-11-27,215.59999999999204,215.60396,2015-01-01 00:35:56,bin2156,35,True +CTSPillarNetworkA,2157,2157,2157,1975-11-28,215.69999999999203,215.70396,2015-01-01 00:35:57,bin2157,75,True +CTSPillarNetworkA,2158,2158,2158,1975-11-29,215.79999999999202,215.80397,2015-01-01 00:35:58,bin2158,35,True +CTSPillarNetworkA,2159,2159,2159,1975-11-30,215.89999999999202,215.90398,2015-01-01 00:35:59,bin2159,75,True +CTSPillarNetworkA,2160,2160,2160,1975-12-01,215.999999999992,216.00398,2015-01-01 00:36:00,bin2160,35,True +CTSPillarNetworkA,2161,2161,2161,1975-12-02,216.099999999992,216.10399,2015-01-01 00:36:01,bin2161,75,True +CTSPillarNetworkA,2162,2162,2162,1975-12-03,216.199999999992,216.204,2015-01-01 00:36:02,bin2162,35,True +CTSPillarNetworkA,2163,2163,2163,1975-12-04,216.299999999992,216.304,2015-01-01 00:36:03,bin2163,75,True +CTSPillarNetworkA,2164,2164,2164,1975-12-05,216.399999999992,216.404,2015-01-01 00:36:04,bin2164,35,True +CTSPillarNetworkA,2165,2165,2165,1975-12-06,216.49999999999199,216.50401,2015-01-01 00:36:05,bin2165,75,True +CTSPillarNetworkA,2166,2166,2166,1975-12-07,216.59999999999198,216.60402,2015-01-01 00:36:06,bin2166,35,True +CTSPillarNetworkA,2167,2167,2167,1975-12-08,216.69999999999197,216.70403,2015-01-01 00:36:07,bin2167,75,True +CTSPillarNetworkA,2168,2168,2168,1975-12-09,216.79999999999197,216.80403,2015-01-01 00:36:08,bin2168,35,True +CTSPillarNetworkA,2169,2169,2169,1975-12-10,216.89999999999196,216.90404,2015-01-01 00:36:09,bin2169,75,True +CTSPillarNetworkA,2170,2170,2170,1975-12-11,216.99999999999196,217.00404,2015-01-01 00:36:10,bin2170,35,True +CTSPillarNetworkA,2171,2171,2171,1975-12-12,217.09999999999195,217.10405,2015-01-01 00:36:11,bin2171,75,True +CTSPillarNetworkA,2172,2172,2172,1975-12-13,217.19999999999195,217.20406,2015-01-01 00:36:12,bin2172,35,True +CTSPillarNetworkA,2173,2173,2173,1975-12-14,217.29999999999194,217.30406,2015-01-01 00:36:13,bin2173,75,True +CTSPillarNetworkA,2174,2174,2174,1975-12-15,217.39999999999193,217.40407,2015-01-01 00:36:14,bin2174,35,True +CTSPillarNetworkA,2175,2175,2175,1975-12-16,217.49999999999193,217.50407,2015-01-01 00:36:15,bin2175,75,True +CTSPillarNetworkA,2176,2176,2176,1975-12-17,217.59999999999192,217.60408,2015-01-01 00:36:16,bin2176,35,True +CTSPillarNetworkA,2177,2177,2177,1975-12-18,217.69999999999192,217.70409,2015-01-01 00:36:17,bin2177,75,True +CTSPillarNetworkA,2178,2178,2178,1975-12-19,217.7999999999919,217.8041,2015-01-01 00:36:18,bin2178,35,True +CTSPillarNetworkA,2179,2179,2179,1975-12-20,217.8999999999919,217.9041,2015-01-01 00:36:19,bin2179,75,True +CTSPillarNetworkA,2180,2180,2180,1975-12-21,217.9999999999919,218.0041,2015-01-01 00:36:20,bin2180,35,True +CTSPillarNetworkA,2181,2181,2181,1975-12-22,218.0999999999919,218.10411,2015-01-01 00:36:21,bin2181,75,True +CTSPillarNetworkA,2182,2182,2182,1975-12-23,218.1999999999919,218.20412,2015-01-01 00:36:22,bin2182,35,True +CTSPillarNetworkA,2183,2183,2183,1975-12-24,218.29999999999188,218.30412,2015-01-01 00:36:23,bin2183,75,True +CTSPillarNetworkA,2184,2184,2184,1975-12-25,218.39999999999188,218.40413,2015-01-01 00:36:24,bin2184,35,True +CTSPillarNetworkA,2185,2185,2185,1975-12-26,218.49999999999187,218.50414,2015-01-01 00:36:25,bin2185,75,True +CTSPillarNetworkA,2186,2186,2186,1975-12-27,218.59999999999187,218.60414,2015-01-01 00:36:26,bin2186,35,True +CTSPillarNetworkA,2187,2187,2187,1975-12-28,218.69999999999186,218.70415,2015-01-01 00:36:27,bin2187,75,True +CTSPillarNetworkA,2188,2188,2188,1975-12-29,218.79999999999185,218.80415,2015-01-01 00:36:28,bin2188,35,True +CTSPillarNetworkA,2189,2189,2189,1975-12-30,218.89999999999185,218.90416,2015-01-01 00:36:29,bin2189,75,True +CTSPillarNetworkA,2190,2190,2190,1975-12-31,218.99999999999184,219.00417,2015-01-01 00:36:30,bin2190,35,True +CTSPillarNetworkA,2191,2191,2191,1976-01-01,219.09999999999184,219.10417,2015-01-01 00:36:31,bin2191,75,True +CTSPillarNetworkA,2192,2192,2192,1976-01-02,219.19999999999183,219.20418,2015-01-01 00:36:32,bin2192,35,True +CTSPillarNetworkA,2193,2193,2193,1976-01-03,219.29999999999183,219.30418,2015-01-01 00:36:33,bin2193,75,True +CTSPillarNetworkA,2194,2194,2194,1976-01-04,219.39999999999182,219.40419,2015-01-01 00:36:34,bin2194,35,True +CTSPillarNetworkA,2195,2195,2195,1976-01-05,219.49999999999181,219.5042,2015-01-01 00:36:35,bin2195,75,True +CTSPillarNetworkA,2196,2196,2196,1976-01-06,219.5999999999918,219.6042,2015-01-01 00:36:36,bin2196,35,True +CTSPillarNetworkA,2197,2197,2197,1976-01-07,219.6999999999918,219.70421,2015-01-01 00:36:37,bin2197,75,True +CTSPillarNetworkA,2198,2198,2198,1976-01-08,219.7999999999918,219.80421,2015-01-01 00:36:38,bin2198,35,True +CTSPillarNetworkA,2199,2199,2199,1976-01-09,219.8999999999918,219.90422,2015-01-01 00:36:39,bin2199,75,True +CTSPillarNetworkA,2200,2200,2200,1976-01-10,219.9999999999918,220.00423,2015-01-01 00:36:40,bin2200,35,True +CTSPillarNetworkA,2201,2201,2201,1976-01-11,220.09999999999178,220.10423,2015-01-01 00:36:41,bin2201,75,True +CTSPillarNetworkA,2202,2202,2202,1976-01-12,220.19999999999177,220.20424,2015-01-01 00:36:42,bin2202,35,True +CTSPillarNetworkA,2203,2203,2203,1976-01-13,220.29999999999177,220.30424,2015-01-01 00:36:43,bin2203,75,True +CTSPillarNetworkA,2204,2204,2204,1976-01-14,220.39999999999176,220.40425,2015-01-01 00:36:44,bin2204,35,True +CTSPillarNetworkA,2205,2205,2205,1976-01-15,220.49999999999176,220.50426,2015-01-01 00:36:45,bin2205,75,True +CTSPillarNetworkA,2206,2206,2206,1976-01-16,220.59999999999175,220.60426,2015-01-01 00:36:46,bin2206,35,True +CTSPillarNetworkA,2207,2207,2207,1976-01-17,220.69999999999175,220.70427,2015-01-01 00:36:47,bin2207,75,True +CTSPillarNetworkA,2208,2208,2208,1976-01-18,220.79999999999174,220.80428,2015-01-01 00:36:48,bin2208,35,True +CTSPillarNetworkA,2209,2209,2209,1976-01-19,220.89999999999173,220.90428,2015-01-01 00:36:49,bin2209,75,True +CTSPillarNetworkA,2210,2210,2210,1976-01-20,220.99999999999173,221.00429,2015-01-01 00:36:50,bin2210,35,True +CTSPillarNetworkA,2211,2211,2211,1976-01-21,221.09999999999172,221.1043,2015-01-01 00:36:51,bin2211,75,True +CTSPillarNetworkA,2212,2212,2212,1976-01-22,221.19999999999172,221.2043,2015-01-01 00:36:52,bin2212,35,True +CTSPillarNetworkA,2213,2213,2213,1976-01-23,221.2999999999917,221.3043,2015-01-01 00:36:53,bin2213,75,True +CTSPillarNetworkA,2214,2214,2214,1976-01-24,221.3999999999917,221.40431,2015-01-01 00:36:54,bin2214,35,True +CTSPillarNetworkA,2215,2215,2215,1976-01-25,221.4999999999917,221.50432,2015-01-01 00:36:55,bin2215,75,True +CTSPillarNetworkA,2216,2216,2216,1976-01-26,221.5999999999917,221.60432,2015-01-01 00:36:56,bin2216,35,True +CTSPillarNetworkA,2217,2217,2217,1976-01-27,221.6999999999917,221.70433,2015-01-01 00:36:57,bin2217,75,True +CTSPillarNetworkA,2218,2218,2218,1976-01-28,221.79999999999168,221.80434,2015-01-01 00:36:58,bin2218,35,True +CTSPillarNetworkA,2219,2219,2219,1976-01-29,221.89999999999168,221.90434,2015-01-01 00:36:59,bin2219,75,True +CTSPillarNetworkA,2220,2220,2220,1976-01-30,221.99999999999167,222.00435,2015-01-01 00:37:00,bin2220,35,True +CTSPillarNetworkA,2221,2221,2221,1976-01-31,222.09999999999167,222.10435,2015-01-01 00:37:01,bin2221,75,True +CTSPillarNetworkA,2222,2222,2222,1976-02-01,222.19999999999166,222.20436,2015-01-01 00:37:02,bin2222,35,True +CTSPillarNetworkA,2223,2223,2223,1976-02-02,222.29999999999166,222.30437,2015-01-01 00:37:03,bin2223,75,True +CTSPillarNetworkA,2224,2224,2224,1976-02-03,222.39999999999165,222.40437,2015-01-01 00:37:04,bin2224,35,True +CTSPillarNetworkA,2225,2225,2225,1976-02-04,222.49999999999164,222.50438,2015-01-01 00:37:05,bin2225,75,True +CTSPillarNetworkA,2226,2226,2226,1976-02-05,222.59999999999164,222.60439,2015-01-01 00:37:06,bin2226,35,True +CTSPillarNetworkA,2227,2227,2227,1976-02-06,222.69999999999163,222.70439,2015-01-01 00:37:07,bin2227,75,True +CTSPillarNetworkA,2228,2228,2228,1976-02-07,222.79999999999163,222.8044,2015-01-01 00:37:08,bin2228,35,True +CTSPillarNetworkA,2229,2229,2229,1976-02-08,222.89999999999162,222.9044,2015-01-01 00:37:09,bin2229,75,True +CTSPillarNetworkA,2230,2230,2230,1976-02-09,222.99999999999162,223.00441,2015-01-01 00:37:10,bin2230,35,True +CTSPillarNetworkA,2231,2231,2231,1976-02-10,223.0999999999916,223.10442,2015-01-01 00:37:11,bin2231,75,True +CTSPillarNetworkA,2232,2232,2232,1976-02-11,223.1999999999916,223.20442,2015-01-01 00:37:12,bin2232,35,True +CTSPillarNetworkA,2233,2233,2233,1976-02-12,223.2999999999916,223.30443,2015-01-01 00:37:13,bin2233,75,True +CTSPillarNetworkA,2234,2234,2234,1976-02-13,223.3999999999916,223.40443,2015-01-01 00:37:14,bin2234,35,True +CTSPillarNetworkA,2235,2235,2235,1976-02-14,223.4999999999916,223.50444,2015-01-01 00:37:15,bin2235,75,True +CTSPillarNetworkA,2236,2236,2236,1976-02-15,223.59999999999158,223.60445,2015-01-01 00:37:16,bin2236,35,True +CTSPillarNetworkA,2237,2237,2237,1976-02-16,223.69999999999158,223.70445,2015-01-01 00:37:17,bin2237,75,True +CTSPillarNetworkA,2238,2238,2238,1976-02-17,223.79999999999157,223.80446,2015-01-01 00:37:18,bin2238,35,True +CTSPillarNetworkA,2239,2239,2239,1976-02-18,223.89999999999156,223.90446,2015-01-01 00:37:19,bin2239,75,True +CTSPillarNetworkA,2240,2240,2240,1976-02-19,223.99999999999156,224.00447,2015-01-01 00:37:20,bin2240,35,True +CTSPillarNetworkA,2241,2241,2241,1976-02-20,224.09999999999155,224.10448,2015-01-01 00:37:21,bin2241,75,True +CTSPillarNetworkA,2242,2242,2242,1976-02-21,224.19999999999155,224.20448,2015-01-01 00:37:22,bin2242,35,True +CTSPillarNetworkA,2243,2243,2243,1976-02-22,224.29999999999154,224.30449,2015-01-01 00:37:23,bin2243,75,True +CTSPillarNetworkA,2244,2244,2244,1976-02-23,224.39999999999154,224.4045,2015-01-01 00:37:24,bin2244,35,True +CTSPillarNetworkA,2245,2245,2245,1976-02-24,224.49999999999153,224.5045,2015-01-01 00:37:25,bin2245,75,True +CTSPillarNetworkA,2246,2246,2246,1976-02-25,224.59999999999152,224.6045,2015-01-01 00:37:26,bin2246,35,True +CTSPillarNetworkA,2247,2247,2247,1976-02-26,224.69999999999152,224.70451,2015-01-01 00:37:27,bin2247,75,True +CTSPillarNetworkA,2248,2248,2248,1976-02-27,224.7999999999915,224.80452,2015-01-01 00:37:28,bin2248,35,True +CTSPillarNetworkA,2249,2249,2249,1976-02-28,224.8999999999915,224.90453,2015-01-01 00:37:29,bin2249,75,True +CTSPillarNetworkA,2250,2250,2250,1976-02-29,224.9999999999915,225.00453,2015-01-01 00:37:30,bin2250,35,True +CTSPillarNetworkA,2251,2251,2251,1976-03-01,225.0999999999915,225.10454,2015-01-01 00:37:31,bin2251,75,True +CTSPillarNetworkA,2252,2252,2252,1976-03-02,225.1999999999915,225.20454,2015-01-01 00:37:32,bin2252,35,True +CTSPillarNetworkA,2253,2253,2253,1976-03-03,225.29999999999148,225.30455,2015-01-01 00:37:33,bin2253,75,True +CTSPillarNetworkA,2254,2254,2254,1976-03-04,225.39999999999148,225.40456,2015-01-01 00:37:34,bin2254,35,True +CTSPillarNetworkA,2255,2255,2255,1976-03-05,225.49999999999147,225.50456,2015-01-01 00:37:35,bin2255,75,True +CTSPillarNetworkA,2256,2256,2256,1976-03-06,225.59999999999147,225.60457,2015-01-01 00:37:36,bin2256,35,True +CTSPillarNetworkA,2257,2257,2257,1976-03-07,225.69999999999146,225.70457,2015-01-01 00:37:37,bin2257,75,True +CTSPillarNetworkA,2258,2258,2258,1976-03-08,225.79999999999146,225.80458,2015-01-01 00:37:38,bin2258,35,True +CTSPillarNetworkA,2259,2259,2259,1976-03-09,225.89999999999145,225.90459,2015-01-01 00:37:39,bin2259,75,True +CTSPillarNetworkA,2260,2260,2260,1976-03-10,225.99999999999145,226.0046,2015-01-01 00:37:40,bin2260,35,True +CTSPillarNetworkA,2261,2261,2261,1976-03-11,226.09999999999144,226.1046,2015-01-01 00:37:41,bin2261,75,True +CTSPillarNetworkA,2262,2262,2262,1976-03-12,226.19999999999143,226.2046,2015-01-01 00:37:42,bin2262,35,True +CTSPillarNetworkA,2263,2263,2263,1976-03-13,226.29999999999143,226.30461,2015-01-01 00:37:43,bin2263,75,True +CTSPillarNetworkA,2264,2264,2264,1976-03-14,226.39999999999142,226.40462,2015-01-01 00:37:44,bin2264,35,True +CTSPillarNetworkA,2265,2265,2265,1976-03-15,226.49999999999142,226.50462,2015-01-01 00:37:45,bin2265,75,True +CTSPillarNetworkA,2266,2266,2266,1976-03-16,226.5999999999914,226.60463,2015-01-01 00:37:46,bin2266,35,True +CTSPillarNetworkA,2267,2267,2267,1976-03-17,226.6999999999914,226.70464,2015-01-01 00:37:47,bin2267,75,True +CTSPillarNetworkA,2268,2268,2268,1976-03-18,226.7999999999914,226.80464,2015-01-01 00:37:48,bin2268,35,True +CTSPillarNetworkA,2269,2269,2269,1976-03-19,226.8999999999914,226.90465,2015-01-01 00:37:49,bin2269,75,True +CTSPillarNetworkA,2270,2270,2270,1976-03-20,226.9999999999914,227.00465,2015-01-01 00:37:50,bin2270,35,True +CTSPillarNetworkA,2271,2271,2271,1976-03-21,227.09999999999138,227.10466,2015-01-01 00:37:51,bin2271,75,True +CTSPillarNetworkA,2272,2272,2272,1976-03-22,227.19999999999138,227.20467,2015-01-01 00:37:52,bin2272,35,True +CTSPillarNetworkA,2273,2273,2273,1976-03-23,227.29999999999137,227.30467,2015-01-01 00:37:53,bin2273,75,True +CTSPillarNetworkA,2274,2274,2274,1976-03-24,227.39999999999137,227.40468,2015-01-01 00:37:54,bin2274,35,True +CTSPillarNetworkA,2275,2275,2275,1976-03-25,227.49999999999136,227.50468,2015-01-01 00:37:55,bin2275,75,True +CTSPillarNetworkA,2276,2276,2276,1976-03-26,227.59999999999135,227.60469,2015-01-01 00:37:56,bin2276,35,True +CTSPillarNetworkA,2277,2277,2277,1976-03-27,227.69999999999135,227.7047,2015-01-01 00:37:57,bin2277,75,True +CTSPillarNetworkA,2278,2278,2278,1976-03-28,227.79999999999134,227.8047,2015-01-01 00:37:58,bin2278,35,True +CTSPillarNetworkA,2279,2279,2279,1976-03-29,227.89999999999134,227.90471,2015-01-01 00:37:59,bin2279,75,True +CTSPillarNetworkA,2280,2280,2280,1976-03-30,227.99999999999133,228.00471,2015-01-01 00:38:00,bin2280,35,True +CTSPillarNetworkA,2281,2281,2281,1976-03-31,228.09999999999133,228.10472,2015-01-01 00:38:01,bin2281,75,True +CTSPillarNetworkA,2282,2282,2282,1976-04-01,228.19999999999132,228.20473,2015-01-01 00:38:02,bin2282,35,True +CTSPillarNetworkA,2283,2283,2283,1976-04-02,228.29999999999131,228.30473,2015-01-01 00:38:03,bin2283,75,True +CTSPillarNetworkA,2284,2284,2284,1976-04-03,228.3999999999913,228.40474,2015-01-01 00:38:04,bin2284,35,True +CTSPillarNetworkA,2285,2285,2285,1976-04-04,228.4999999999913,228.50475,2015-01-01 00:38:05,bin2285,75,True +CTSPillarNetworkA,2286,2286,2286,1976-04-05,228.5999999999913,228.60475,2015-01-01 00:38:06,bin2286,35,True +CTSPillarNetworkA,2287,2287,2287,1976-04-06,228.6999999999913,228.70476,2015-01-01 00:38:07,bin2287,75,True +CTSPillarNetworkA,2288,2288,2288,1976-04-07,228.7999999999913,228.80476,2015-01-01 00:38:08,bin2288,35,True +CTSPillarNetworkA,2289,2289,2289,1976-04-08,228.89999999999128,228.90477,2015-01-01 00:38:09,bin2289,75,True +CTSPillarNetworkA,2290,2290,2290,1976-04-09,228.99999999999127,229.00478,2015-01-01 00:38:10,bin2290,35,True +CTSPillarNetworkA,2291,2291,2291,1976-04-10,229.09999999999127,229.10478,2015-01-01 00:38:11,bin2291,75,True +CTSPillarNetworkA,2292,2292,2292,1976-04-11,229.19999999999126,229.20479,2015-01-01 00:38:12,bin2292,35,True +CTSPillarNetworkA,2293,2293,2293,1976-04-12,229.29999999999126,229.3048,2015-01-01 00:38:13,bin2293,75,True +CTSPillarNetworkA,2294,2294,2294,1976-04-13,229.39999999999125,229.4048,2015-01-01 00:38:14,bin2294,35,True +CTSPillarNetworkA,2295,2295,2295,1976-04-14,229.49999999999125,229.5048,2015-01-01 00:38:15,bin2295,75,True +CTSPillarNetworkA,2296,2296,2296,1976-04-15,229.59999999999124,229.60481,2015-01-01 00:38:16,bin2296,35,True +CTSPillarNetworkA,2297,2297,2297,1976-04-16,229.69999999999123,229.70482,2015-01-01 00:38:17,bin2297,75,True +CTSPillarNetworkA,2298,2298,2298,1976-04-17,229.79999999999123,229.80482,2015-01-01 00:38:18,bin2298,35,True +CTSPillarNetworkA,2299,2299,2299,1976-04-18,229.89999999999122,229.90483,2015-01-01 00:38:19,bin2299,75,True +CTSPillarNetworkA,2300,2300,2300,1976-04-19,229.99999999999122,230.00484,2015-01-01 00:38:20,bin2300,35,True +CTSPillarNetworkA,2301,2301,2301,1976-04-20,230.0999999999912,230.10484,2015-01-01 00:38:21,bin2301,75,True +CTSPillarNetworkA,2302,2302,2302,1976-04-21,230.1999999999912,230.20485,2015-01-01 00:38:22,bin2302,35,True +CTSPillarNetworkA,2303,2303,2303,1976-04-22,230.2999999999912,230.30486,2015-01-01 00:38:23,bin2303,75,True +CTSPillarNetworkA,2304,2304,2304,1976-04-23,230.3999999999912,230.40486,2015-01-01 00:38:24,bin2304,35,True +CTSPillarNetworkA,2305,2305,2305,1976-04-24,230.4999999999912,230.50487,2015-01-01 00:38:25,bin2305,75,True +CTSPillarNetworkA,2306,2306,2306,1976-04-25,230.59999999999118,230.60487,2015-01-01 00:38:26,bin2306,35,True +CTSPillarNetworkA,2307,2307,2307,1976-04-26,230.69999999999118,230.70488,2015-01-01 00:38:27,bin2307,75,True +CTSPillarNetworkA,2308,2308,2308,1976-04-27,230.79999999999117,230.80489,2015-01-01 00:38:28,bin2308,35,True +CTSPillarNetworkA,2309,2309,2309,1976-04-28,230.89999999999117,230.90489,2015-01-01 00:38:29,bin2309,75,True +CTSPillarNetworkA,2310,2310,2310,1976-04-29,230.99999999999116,231.0049,2015-01-01 00:38:30,bin2310,35,True +CTSPillarNetworkA,2311,2311,2311,1976-04-30,231.09999999999116,231.1049,2015-01-01 00:38:31,bin2311,75,True +CTSPillarNetworkA,2312,2312,2312,1976-05-01,231.19999999999115,231.20491,2015-01-01 00:38:32,bin2312,35,True +CTSPillarNetworkA,2313,2313,2313,1976-05-02,231.29999999999114,231.30492,2015-01-01 00:38:33,bin2313,75,True +CTSPillarNetworkA,2314,2314,2314,1976-05-03,231.39999999999114,231.40492,2015-01-01 00:38:34,bin2314,35,True +CTSPillarNetworkA,2315,2315,2315,1976-05-04,231.49999999999113,231.50493,2015-01-01 00:38:35,bin2315,75,True +CTSPillarNetworkA,2316,2316,2316,1976-05-05,231.59999999999113,231.60493,2015-01-01 00:38:36,bin2316,35,True +CTSPillarNetworkA,2317,2317,2317,1976-05-06,231.69999999999112,231.70494,2015-01-01 00:38:37,bin2317,75,True +CTSPillarNetworkA,2318,2318,2318,1976-05-07,231.79999999999112,231.80495,2015-01-01 00:38:38,bin2318,35,True +CTSPillarNetworkA,2319,2319,2319,1976-05-08,231.8999999999911,231.90495,2015-01-01 00:38:39,bin2319,75,True +CTSPillarNetworkA,2320,2320,2320,1976-05-09,231.9999999999911,232.00496,2015-01-01 00:38:40,bin2320,35,True +CTSPillarNetworkA,2321,2321,2321,1976-05-10,232.0999999999911,232.10497,2015-01-01 00:38:41,bin2321,75,True +CTSPillarNetworkA,2322,2322,2322,1976-05-11,232.1999999999911,232.20497,2015-01-01 00:38:42,bin2322,35,True +CTSPillarNetworkA,2323,2323,2323,1976-05-12,232.2999999999911,232.30498,2015-01-01 00:38:43,bin2323,75,True +CTSPillarNetworkA,2324,2324,2324,1976-05-13,232.39999999999108,232.40498,2015-01-01 00:38:44,bin2324,35,True +CTSPillarNetworkA,2325,2325,2325,1976-05-14,232.49999999999108,232.50499,2015-01-01 00:38:45,bin2325,75,True +CTSPillarNetworkA,2326,2326,2326,1976-05-15,232.59999999999107,232.605,2015-01-01 00:38:46,bin2326,35,True +CTSPillarNetworkA,2327,2327,2327,1976-05-16,232.69999999999106,232.705,2015-01-01 00:38:47,bin2327,75,True +CTSPillarNetworkA,2328,2328,2328,1976-05-17,232.79999999999106,232.80501,2015-01-01 00:38:48,bin2328,35,True +CTSPillarNetworkA,2329,2329,2329,1976-05-18,232.89999999999105,232.90501,2015-01-01 00:38:49,bin2329,75,True +CTSPillarNetworkA,2330,2330,2330,1976-05-19,232.99999999999105,233.00502,2015-01-01 00:38:50,bin2330,35,True +CTSPillarNetworkA,2331,2331,2331,1976-05-20,233.09999999999104,233.10503,2015-01-01 00:38:51,bin2331,75,True +CTSPillarNetworkA,2332,2332,2332,1976-05-21,233.19999999999104,233.20503,2015-01-01 00:38:52,bin2332,35,True +CTSPillarNetworkA,2333,2333,2333,1976-05-22,233.29999999999103,233.30504,2015-01-01 00:38:53,bin2333,75,True +CTSPillarNetworkA,2334,2334,2334,1976-05-23,233.39999999999102,233.40504,2015-01-01 00:38:54,bin2334,35,True +CTSPillarNetworkA,2335,2335,2335,1976-05-24,233.49999999999102,233.50505,2015-01-01 00:38:55,bin2335,75,True +CTSPillarNetworkA,2336,2336,2336,1976-05-25,233.599999999991,233.60506,2015-01-01 00:38:56,bin2336,35,True +CTSPillarNetworkA,2337,2337,2337,1976-05-26,233.699999999991,233.70506,2015-01-01 00:38:57,bin2337,75,True +CTSPillarNetworkA,2338,2338,2338,1976-05-27,233.799999999991,233.80507,2015-01-01 00:38:58,bin2338,35,True +CTSPillarNetworkA,2339,2339,2339,1976-05-28,233.899999999991,233.90508,2015-01-01 00:38:59,bin2339,75,True +CTSPillarNetworkA,2340,2340,2340,1976-05-29,233.999999999991,234.00508,2015-01-01 00:39:00,bin2340,35,True +CTSPillarNetworkA,2341,2341,2341,1976-05-30,234.09999999999098,234.10509,2015-01-01 00:39:01,bin2341,75,True +CTSPillarNetworkA,2342,2342,2342,1976-05-31,234.19999999999098,234.2051,2015-01-01 00:39:02,bin2342,35,True +CTSPillarNetworkA,2343,2343,2343,1976-06-01,234.29999999999097,234.3051,2015-01-01 00:39:03,bin2343,75,True +CTSPillarNetworkA,2344,2344,2344,1976-06-02,234.39999999999097,234.4051,2015-01-01 00:39:04,bin2344,35,True +CTSPillarNetworkA,2345,2345,2345,1976-06-03,234.49999999999096,234.50511,2015-01-01 00:39:05,bin2345,75,True +CTSPillarNetworkA,2346,2346,2346,1976-06-04,234.59999999999096,234.60512,2015-01-01 00:39:06,bin2346,35,True +CTSPillarNetworkA,2347,2347,2347,1976-06-05,234.69999999999095,234.70512,2015-01-01 00:39:07,bin2347,75,True +CTSPillarNetworkA,2348,2348,2348,1976-06-06,234.79999999999094,234.80513,2015-01-01 00:39:08,bin2348,35,True +CTSPillarNetworkA,2349,2349,2349,1976-06-07,234.89999999999094,234.90514,2015-01-01 00:39:09,bin2349,75,True +CTSPillarNetworkA,2350,2350,2350,1976-06-08,234.99999999999093,235.00514,2015-01-01 00:39:10,bin2350,35,True +CTSPillarNetworkA,2351,2351,2351,1976-06-09,235.09999999999093,235.10515,2015-01-01 00:39:11,bin2351,75,True +CTSPillarNetworkA,2352,2352,2352,1976-06-10,235.19999999999092,235.20515,2015-01-01 00:39:12,bin2352,35,True +CTSPillarNetworkA,2353,2353,2353,1976-06-11,235.29999999999092,235.30516,2015-01-01 00:39:13,bin2353,75,True +CTSPillarNetworkA,2354,2354,2354,1976-06-12,235.3999999999909,235.40517,2015-01-01 00:39:14,bin2354,35,True +CTSPillarNetworkA,2355,2355,2355,1976-06-13,235.4999999999909,235.50517,2015-01-01 00:39:15,bin2355,75,True +CTSPillarNetworkA,2356,2356,2356,1976-06-14,235.5999999999909,235.60518,2015-01-01 00:39:16,bin2356,35,True +CTSPillarNetworkA,2357,2357,2357,1976-06-15,235.6999999999909,235.70518,2015-01-01 00:39:17,bin2357,75,True +CTSPillarNetworkA,2358,2358,2358,1976-06-16,235.7999999999909,235.80519,2015-01-01 00:39:18,bin2358,35,True +CTSPillarNetworkA,2359,2359,2359,1976-06-17,235.89999999999088,235.9052,2015-01-01 00:39:19,bin2359,75,True +CTSPillarNetworkA,2360,2360,2360,1976-06-18,235.99999999999088,236.0052,2015-01-01 00:39:20,bin2360,35,True +CTSPillarNetworkA,2361,2361,2361,1976-06-19,236.09999999999087,236.10521,2015-01-01 00:39:21,bin2361,75,True +CTSPillarNetworkA,2362,2362,2362,1976-06-20,236.19999999999087,236.20522,2015-01-01 00:39:22,bin2362,35,True +CTSPillarNetworkA,2363,2363,2363,1976-06-21,236.29999999999086,236.30522,2015-01-01 00:39:23,bin2363,75,True +CTSPillarNetworkA,2364,2364,2364,1976-06-22,236.39999999999085,236.40523,2015-01-01 00:39:24,bin2364,35,True +CTSPillarNetworkA,2365,2365,2365,1976-06-23,236.49999999999085,236.50523,2015-01-01 00:39:25,bin2365,75,True +CTSPillarNetworkA,2366,2366,2366,1976-06-24,236.59999999999084,236.60524,2015-01-01 00:39:26,bin2366,35,True +CTSPillarNetworkA,2367,2367,2367,1976-06-25,236.69999999999084,236.70525,2015-01-01 00:39:27,bin2367,75,True +CTSPillarNetworkA,2368,2368,2368,1976-06-26,236.79999999999083,236.80525,2015-01-01 00:39:28,bin2368,35,True +CTSPillarNetworkA,2369,2369,2369,1976-06-27,236.89999999999083,236.90526,2015-01-01 00:39:29,bin2369,75,True +CTSPillarNetworkA,2370,2370,2370,1976-06-28,236.99999999999082,237.00526,2015-01-01 00:39:30,bin2370,35,True +CTSPillarNetworkA,2371,2371,2371,1976-06-29,237.0999999999908,237.10527,2015-01-01 00:39:31,bin2371,75,True +CTSPillarNetworkA,2372,2372,2372,1976-06-30,237.1999999999908,237.20528,2015-01-01 00:39:32,bin2372,35,True +CTSPillarNetworkA,2373,2373,2373,1976-07-01,237.2999999999908,237.30528,2015-01-01 00:39:33,bin2373,75,True +CTSPillarNetworkA,2374,2374,2374,1976-07-02,237.3999999999908,237.40529,2015-01-01 00:39:34,bin2374,35,True +CTSPillarNetworkA,2375,2375,2375,1976-07-03,237.4999999999908,237.5053,2015-01-01 00:39:35,bin2375,75,True +CTSPillarNetworkA,2376,2376,2376,1976-07-04,237.59999999999079,237.6053,2015-01-01 00:39:36,bin2376,35,True +CTSPillarNetworkA,2377,2377,2377,1976-07-05,237.69999999999078,237.7053,2015-01-01 00:39:37,bin2377,75,True +CTSPillarNetworkA,2378,2378,2378,1976-07-06,237.79999999999077,237.80531,2015-01-01 00:39:38,bin2378,35,True +CTSPillarNetworkA,2379,2379,2379,1976-07-07,237.89999999999077,237.90532,2015-01-01 00:39:39,bin2379,75,True +CTSPillarNetworkA,2380,2380,2380,1976-07-08,237.99999999999076,238.00533,2015-01-01 00:39:40,bin2380,35,True +CTSPillarNetworkA,2381,2381,2381,1976-07-09,238.09999999999076,238.10533,2015-01-01 00:39:41,bin2381,75,True +CTSPillarNetworkA,2382,2382,2382,1976-07-10,238.19999999999075,238.20534,2015-01-01 00:39:42,bin2382,35,True +CTSPillarNetworkA,2383,2383,2383,1976-07-11,238.29999999999075,238.30534,2015-01-01 00:39:43,bin2383,75,True +CTSPillarNetworkA,2384,2384,2384,1976-07-12,238.39999999999074,238.40535,2015-01-01 00:39:44,bin2384,35,True +CTSPillarNetworkA,2385,2385,2385,1976-07-13,238.49999999999073,238.50536,2015-01-01 00:39:45,bin2385,75,True +CTSPillarNetworkA,2386,2386,2386,1976-07-14,238.59999999999073,238.60536,2015-01-01 00:39:46,bin2386,35,True +CTSPillarNetworkA,2387,2387,2387,1976-07-15,238.69999999999072,238.70537,2015-01-01 00:39:47,bin2387,75,True +CTSPillarNetworkA,2388,2388,2388,1976-07-16,238.79999999999072,238.80537,2015-01-01 00:39:48,bin2388,35,True +CTSPillarNetworkA,2389,2389,2389,1976-07-17,238.8999999999907,238.90538,2015-01-01 00:39:49,bin2389,75,True +CTSPillarNetworkA,2390,2390,2390,1976-07-18,238.9999999999907,239.00539,2015-01-01 00:39:50,bin2390,35,True +CTSPillarNetworkA,2391,2391,2391,1976-07-19,239.0999999999907,239.1054,2015-01-01 00:39:51,bin2391,75,True +CTSPillarNetworkA,2392,2392,2392,1976-07-20,239.1999999999907,239.2054,2015-01-01 00:39:52,bin2392,35,True +CTSPillarNetworkA,2393,2393,2393,1976-07-21,239.2999999999907,239.3054,2015-01-01 00:39:53,bin2393,75,True +CTSPillarNetworkA,2394,2394,2394,1976-07-22,239.39999999999068,239.40541,2015-01-01 00:39:54,bin2394,35,True +CTSPillarNetworkA,2395,2395,2395,1976-07-23,239.49999999999068,239.50542,2015-01-01 00:39:55,bin2395,75,True +CTSPillarNetworkA,2396,2396,2396,1976-07-24,239.59999999999067,239.60542,2015-01-01 00:39:56,bin2396,35,True +CTSPillarNetworkA,2397,2397,2397,1976-07-25,239.69999999999067,239.70543,2015-01-01 00:39:57,bin2397,75,True +CTSPillarNetworkA,2398,2398,2398,1976-07-26,239.79999999999066,239.80544,2015-01-01 00:39:58,bin2398,35,True +CTSPillarNetworkA,2399,2399,2399,1976-07-27,239.89999999999065,239.90544,2015-01-01 00:39:59,bin2399,75,True +CTSPillarNetworkA,2400,2400,2400,1976-07-28,239.99999999999065,240.00545,2015-01-01 00:40:00,bin2400,35,True +CTSPillarNetworkA,2401,2401,2401,1976-07-29,240.09999999999064,240.10545,2015-01-01 00:40:01,bin2401,75,True +CTSPillarNetworkA,2402,2402,2402,1976-07-30,240.19999999999064,240.20546,2015-01-01 00:40:02,bin2402,35,True +CTSPillarNetworkA,2403,2403,2403,1976-07-31,240.29999999999063,240.30547,2015-01-01 00:40:03,bin2403,75,True +CTSPillarNetworkA,2404,2404,2404,1976-08-01,240.39999999999063,240.40547,2015-01-01 00:40:04,bin2404,35,True +CTSPillarNetworkA,2405,2405,2405,1976-08-02,240.49999999999062,240.50548,2015-01-01 00:40:05,bin2405,75,True +CTSPillarNetworkA,2406,2406,2406,1976-08-03,240.59999999999062,240.60548,2015-01-01 00:40:06,bin2406,35,True +CTSPillarNetworkA,2407,2407,2407,1976-08-04,240.6999999999906,240.70549,2015-01-01 00:40:07,bin2407,75,True +CTSPillarNetworkA,2408,2408,2408,1976-08-05,240.7999999999906,240.8055,2015-01-01 00:40:08,bin2408,35,True +CTSPillarNetworkA,2409,2409,2409,1976-08-06,240.8999999999906,240.9055,2015-01-01 00:40:09,bin2409,75,True +CTSPillarNetworkA,2410,2410,2410,1976-08-07,240.9999999999906,241.00551,2015-01-01 00:40:10,bin2410,35,True +CTSPillarNetworkA,2411,2411,2411,1976-08-08,241.0999999999906,241.10551,2015-01-01 00:40:11,bin2411,75,True +CTSPillarNetworkA,2412,2412,2412,1976-08-09,241.19999999999058,241.20552,2015-01-01 00:40:12,bin2412,35,True +CTSPillarNetworkA,2413,2413,2413,1976-08-10,241.29999999999058,241.30553,2015-01-01 00:40:13,bin2413,75,True +CTSPillarNetworkA,2414,2414,2414,1976-08-11,241.39999999999057,241.40553,2015-01-01 00:40:14,bin2414,35,True +CTSPillarNetworkA,2415,2415,2415,1976-08-12,241.49999999999056,241.50554,2015-01-01 00:40:15,bin2415,75,True +CTSPillarNetworkA,2416,2416,2416,1976-08-13,241.59999999999056,241.60555,2015-01-01 00:40:16,bin2416,35,True +CTSPillarNetworkA,2417,2417,2417,1976-08-14,241.69999999999055,241.70555,2015-01-01 00:40:17,bin2417,75,True +CTSPillarNetworkA,2418,2418,2418,1976-08-15,241.79999999999055,241.80556,2015-01-01 00:40:18,bin2418,35,True +CTSPillarNetworkA,2419,2419,2419,1976-08-16,241.89999999999054,241.90556,2015-01-01 00:40:19,bin2419,75,True +CTSPillarNetworkA,2420,2420,2420,1976-08-17,241.99999999999054,242.00557,2015-01-01 00:40:20,bin2420,35,True +CTSPillarNetworkA,2421,2421,2421,1976-08-18,242.09999999999053,242.10558,2015-01-01 00:40:21,bin2421,75,True +CTSPillarNetworkA,2422,2422,2422,1976-08-19,242.19999999999052,242.20558,2015-01-01 00:40:22,bin2422,35,True +CTSPillarNetworkA,2423,2423,2423,1976-08-20,242.29999999999052,242.30559,2015-01-01 00:40:23,bin2423,75,True +CTSPillarNetworkA,2424,2424,2424,1976-08-21,242.3999999999905,242.4056,2015-01-01 00:40:24,bin2424,35,True +CTSPillarNetworkA,2425,2425,2425,1976-08-22,242.4999999999905,242.5056,2015-01-01 00:40:25,bin2425,75,True +CTSPillarNetworkA,2426,2426,2426,1976-08-23,242.5999999999905,242.6056,2015-01-01 00:40:26,bin2426,35,True +CTSPillarNetworkA,2427,2427,2427,1976-08-24,242.6999999999905,242.70561,2015-01-01 00:40:27,bin2427,75,True +CTSPillarNetworkA,2428,2428,2428,1976-08-25,242.7999999999905,242.80562,2015-01-01 00:40:28,bin2428,35,True +CTSPillarNetworkA,2429,2429,2429,1976-08-26,242.89999999999048,242.90562,2015-01-01 00:40:29,bin2429,75,True +CTSPillarNetworkA,2430,2430,2430,1976-08-27,242.99999999999048,243.00563,2015-01-01 00:40:30,bin2430,35,True +CTSPillarNetworkA,2431,2431,2431,1976-08-28,243.09999999999047,243.10564,2015-01-01 00:40:31,bin2431,75,True +CTSPillarNetworkA,2432,2432,2432,1976-08-29,243.19999999999047,243.20564,2015-01-01 00:40:32,bin2432,35,True +CTSPillarNetworkA,2433,2433,2433,1976-08-30,243.29999999999046,243.30565,2015-01-01 00:40:33,bin2433,75,True +CTSPillarNetworkA,2434,2434,2434,1976-08-31,243.39999999999046,243.40565,2015-01-01 00:40:34,bin2434,35,True +CTSPillarNetworkA,2435,2435,2435,1976-09-01,243.49999999999045,243.50566,2015-01-01 00:40:35,bin2435,75,True +CTSPillarNetworkA,2436,2436,2436,1976-09-02,243.59999999999044,243.60567,2015-01-01 00:40:36,bin2436,35,True +CTSPillarNetworkA,2437,2437,2437,1976-09-03,243.69999999999044,243.70567,2015-01-01 00:40:37,bin2437,75,True +CTSPillarNetworkA,2438,2438,2438,1976-09-04,243.79999999999043,243.80568,2015-01-01 00:40:38,bin2438,35,True +CTSPillarNetworkA,2439,2439,2439,1976-09-05,243.89999999999043,243.90569,2015-01-01 00:40:39,bin2439,75,True +CTSPillarNetworkA,2440,2440,2440,1976-09-06,243.99999999999042,244.00569,2015-01-01 00:40:40,bin2440,35,True +CTSPillarNetworkA,2441,2441,2441,1976-09-07,244.09999999999042,244.1057,2015-01-01 00:40:41,bin2441,75,True +CTSPillarNetworkA,2442,2442,2442,1976-09-08,244.1999999999904,244.2057,2015-01-01 00:40:42,bin2442,35,True +CTSPillarNetworkA,2443,2443,2443,1976-09-09,244.2999999999904,244.30571,2015-01-01 00:40:43,bin2443,75,True +CTSPillarNetworkA,2444,2444,2444,1976-09-10,244.3999999999904,244.40572,2015-01-01 00:40:44,bin2444,35,True +CTSPillarNetworkA,2445,2445,2445,1976-09-11,244.4999999999904,244.50572,2015-01-01 00:40:45,bin2445,75,True +CTSPillarNetworkA,2446,2446,2446,1976-09-12,244.5999999999904,244.60573,2015-01-01 00:40:46,bin2446,35,True +CTSPillarNetworkA,2447,2447,2447,1976-09-13,244.69999999999038,244.70573,2015-01-01 00:40:47,bin2447,75,True +CTSPillarNetworkA,2448,2448,2448,1976-09-14,244.79999999999038,244.80574,2015-01-01 00:40:48,bin2448,35,True +CTSPillarNetworkA,2449,2449,2449,1976-09-15,244.89999999999037,244.90575,2015-01-01 00:40:49,bin2449,75,True +CTSPillarNetworkA,2450,2450,2450,1976-09-16,244.99999999999037,245.00575,2015-01-01 00:40:50,bin2450,35,True +CTSPillarNetworkA,2451,2451,2451,1976-09-17,245.09999999999036,245.10576,2015-01-01 00:40:51,bin2451,75,True +CTSPillarNetworkA,2452,2452,2452,1976-09-18,245.19999999999035,245.20576,2015-01-01 00:40:52,bin2452,35,True +CTSPillarNetworkA,2453,2453,2453,1976-09-19,245.29999999999035,245.30577,2015-01-01 00:40:53,bin2453,75,True +CTSPillarNetworkA,2454,2454,2454,1976-09-20,245.39999999999034,245.40578,2015-01-01 00:40:54,bin2454,35,True +CTSPillarNetworkA,2455,2455,2455,1976-09-21,245.49999999999034,245.50578,2015-01-01 00:40:55,bin2455,75,True +CTSPillarNetworkA,2456,2456,2456,1976-09-22,245.59999999999033,245.60579,2015-01-01 00:40:56,bin2456,35,True +CTSPillarNetworkA,2457,2457,2457,1976-09-23,245.69999999999033,245.7058,2015-01-01 00:40:57,bin2457,75,True +CTSPillarNetworkA,2458,2458,2458,1976-09-24,245.79999999999032,245.8058,2015-01-01 00:40:58,bin2458,35,True +CTSPillarNetworkA,2459,2459,2459,1976-09-25,245.8999999999903,245.9058,2015-01-01 00:40:59,bin2459,75,True +CTSPillarNetworkA,2460,2460,2460,1976-09-26,245.9999999999903,246.00581,2015-01-01 00:41:00,bin2460,35,True +CTSPillarNetworkA,2461,2461,2461,1976-09-27,246.0999999999903,246.10582,2015-01-01 00:41:01,bin2461,75,True +CTSPillarNetworkA,2462,2462,2462,1976-09-28,246.1999999999903,246.20583,2015-01-01 00:41:02,bin2462,35,True +CTSPillarNetworkA,2463,2463,2463,1976-09-29,246.2999999999903,246.30583,2015-01-01 00:41:03,bin2463,75,True +CTSPillarNetworkA,2464,2464,2464,1976-09-30,246.39999999999029,246.40584,2015-01-01 00:41:04,bin2464,35,True +CTSPillarNetworkA,2465,2465,2465,1976-10-01,246.49999999999028,246.50584,2015-01-01 00:41:05,bin2465,75,True +CTSPillarNetworkA,2466,2466,2466,1976-10-02,246.59999999999027,246.60585,2015-01-01 00:41:06,bin2466,35,True +CTSPillarNetworkA,2467,2467,2467,1976-10-03,246.69999999999027,246.70586,2015-01-01 00:41:07,bin2467,75,True +CTSPillarNetworkA,2468,2468,2468,1976-10-04,246.79999999999026,246.80586,2015-01-01 00:41:08,bin2468,35,True +CTSPillarNetworkA,2469,2469,2469,1976-10-05,246.89999999999026,246.90587,2015-01-01 00:41:09,bin2469,75,True +CTSPillarNetworkA,2470,2470,2470,1976-10-06,246.99999999999025,247.00587,2015-01-01 00:41:10,bin2470,35,True +CTSPillarNetworkA,2471,2471,2471,1976-10-07,247.09999999999025,247.10588,2015-01-01 00:41:11,bin2471,75,True +CTSPillarNetworkA,2472,2472,2472,1976-10-08,247.19999999999024,247.20589,2015-01-01 00:41:12,bin2472,35,True +CTSPillarNetworkA,2473,2473,2473,1976-10-09,247.29999999999023,247.3059,2015-01-01 00:41:13,bin2473,75,True +CTSPillarNetworkA,2474,2474,2474,1976-10-10,247.39999999999023,247.4059,2015-01-01 00:41:14,bin2474,35,True +CTSPillarNetworkA,2475,2475,2475,1976-10-11,247.49999999999022,247.5059,2015-01-01 00:41:15,bin2475,75,True +CTSPillarNetworkA,2476,2476,2476,1976-10-12,247.59999999999022,247.60591,2015-01-01 00:41:16,bin2476,35,True +CTSPillarNetworkA,2477,2477,2477,1976-10-13,247.6999999999902,247.70592,2015-01-01 00:41:17,bin2477,75,True +CTSPillarNetworkA,2478,2478,2478,1976-10-14,247.7999999999902,247.80592,2015-01-01 00:41:18,bin2478,35,True +CTSPillarNetworkA,2479,2479,2479,1976-10-15,247.8999999999902,247.90593,2015-01-01 00:41:19,bin2479,75,True +CTSPillarNetworkA,2480,2480,2480,1976-10-16,247.9999999999902,248.00594,2015-01-01 00:41:20,bin2480,35,True +CTSPillarNetworkA,2481,2481,2481,1976-10-17,248.0999999999902,248.10594,2015-01-01 00:41:21,bin2481,75,True +CTSPillarNetworkA,2482,2482,2482,1976-10-18,248.19999999999018,248.20595,2015-01-01 00:41:22,bin2482,35,True +CTSPillarNetworkA,2483,2483,2483,1976-10-19,248.29999999999018,248.30595,2015-01-01 00:41:23,bin2483,75,True +CTSPillarNetworkA,2484,2484,2484,1976-10-20,248.39999999999017,248.40596,2015-01-01 00:41:24,bin2484,35,True +CTSPillarNetworkA,2485,2485,2485,1976-10-21,248.49999999999017,248.50597,2015-01-01 00:41:25,bin2485,75,True +CTSPillarNetworkA,2486,2486,2486,1976-10-22,248.59999999999016,248.60597,2015-01-01 00:41:26,bin2486,35,True +CTSPillarNetworkA,2487,2487,2487,1976-10-23,248.69999999999015,248.70598,2015-01-01 00:41:27,bin2487,75,True +CTSPillarNetworkA,2488,2488,2488,1976-10-24,248.79999999999015,248.80598,2015-01-01 00:41:28,bin2488,35,True +CTSPillarNetworkA,2489,2489,2489,1976-10-25,248.89999999999014,248.90599,2015-01-01 00:41:29,bin2489,75,True +CTSPillarNetworkA,2490,2490,2490,1976-10-26,248.99999999999014,249.006,2015-01-01 00:41:30,bin2490,35,True +CTSPillarNetworkA,2491,2491,2491,1976-10-27,249.09999999999013,249.106,2015-01-01 00:41:31,bin2491,75,True +CTSPillarNetworkA,2492,2492,2492,1976-10-28,249.19999999999013,249.20601,2015-01-01 00:41:32,bin2492,35,True +CTSPillarNetworkA,2493,2493,2493,1976-10-29,249.29999999999012,249.30602,2015-01-01 00:41:33,bin2493,75,True +CTSPillarNetworkA,2494,2494,2494,1976-10-30,249.39999999999011,249.40602,2015-01-01 00:41:34,bin2494,35,True +CTSPillarNetworkA,2495,2495,2495,1976-10-31,249.4999999999901,249.50603,2015-01-01 00:41:35,bin2495,75,True +CTSPillarNetworkA,2496,2496,2496,1976-11-01,249.5999999999901,249.60603,2015-01-01 00:41:36,bin2496,35,True +CTSPillarNetworkA,2497,2497,2497,1976-11-02,249.6999999999901,249.70604,2015-01-01 00:41:37,bin2497,75,True +CTSPillarNetworkA,2498,2498,2498,1976-11-03,249.7999999999901,249.80605,2015-01-01 00:41:38,bin2498,35,True +CTSPillarNetworkA,2499,2499,2499,1976-11-04,249.8999999999901,249.90605,2015-01-01 00:41:39,bin2499,75,True +CTSPillarNetworkA,2500,2500,2500,1976-11-05,249.99999999999008,250.00606,2015-01-01 00:41:40,bin2500,35,True +CTSPillarNetworkA,2501,2501,2501,1976-11-06,250.09999999999008,250.10606,2015-01-01 00:41:41,bin2501,75,True +CTSPillarNetworkA,2502,2502,2502,1976-11-07,250.19999999999007,250.20607,2015-01-01 00:41:42,bin2502,35,True +CTSPillarNetworkA,2503,2503,2503,1976-11-08,250.29999999999006,250.30608,2015-01-01 00:41:43,bin2503,75,True +CTSPillarNetworkA,2504,2504,2504,1976-11-09,250.39999999999006,250.40608,2015-01-01 00:41:44,bin2504,35,True +CTSPillarNetworkA,2505,2505,2505,1976-11-10,250.49999999999005,250.50609,2015-01-01 00:41:45,bin2505,75,True +CTSPillarNetworkA,2506,2506,2506,1976-11-11,250.59999999999005,250.6061,2015-01-01 00:41:46,bin2506,35,True +CTSPillarNetworkA,2507,2507,2507,1976-11-12,250.69999999999004,250.7061,2015-01-01 00:41:47,bin2507,75,True +CTSPillarNetworkA,2508,2508,2508,1976-11-13,250.79999999999004,250.8061,2015-01-01 00:41:48,bin2508,35,True +CTSPillarNetworkA,2509,2509,2509,1976-11-14,250.89999999999003,250.90611,2015-01-01 00:41:49,bin2509,75,True +CTSPillarNetworkA,2510,2510,2510,1976-11-15,250.99999999999002,251.00612,2015-01-01 00:41:50,bin2510,35,True +CTSPillarNetworkA,2511,2511,2511,1976-11-16,251.09999999999002,251.10612,2015-01-01 00:41:51,bin2511,75,True +CTSPillarNetworkA,2512,2512,2512,1976-11-17,251.19999999999,251.20613,2015-01-01 00:41:52,bin2512,35,True +CTSPillarNetworkA,2513,2513,2513,1976-11-18,251.29999999999,251.30614,2015-01-01 00:41:53,bin2513,75,True +CTSPillarNetworkA,2514,2514,2514,1976-11-19,251.39999999999,251.40614,2015-01-01 00:41:54,bin2514,35,True +CTSPillarNetworkA,2515,2515,2515,1976-11-20,251.49999999999,251.50615,2015-01-01 00:41:55,bin2515,75,True +CTSPillarNetworkA,2516,2516,2516,1976-11-21,251.59999999999,251.60616,2015-01-01 00:41:56,bin2516,35,True +CTSPillarNetworkA,2517,2517,2517,1976-11-22,251.69999999998998,251.70616,2015-01-01 00:41:57,bin2517,75,True +CTSPillarNetworkA,2518,2518,2518,1976-11-23,251.79999999998998,251.80617,2015-01-01 00:41:58,bin2518,35,True +CTSPillarNetworkA,2519,2519,2519,1976-11-24,251.89999999998997,251.90617,2015-01-01 00:41:59,bin2519,75,True +CTSPillarNetworkA,2520,2520,2520,1976-11-25,251.99999999998997,252.00618,2015-01-01 00:42:00,bin2520,35,True +CTSPillarNetworkA,2521,2521,2521,1976-11-26,252.09999999998996,252.10619,2015-01-01 00:42:01,bin2521,75,True +CTSPillarNetworkA,2522,2522,2522,1976-11-27,252.19999999998996,252.20619,2015-01-01 00:42:02,bin2522,35,True +CTSPillarNetworkA,2523,2523,2523,1976-11-28,252.29999999998995,252.3062,2015-01-01 00:42:03,bin2523,75,True +CTSPillarNetworkA,2524,2524,2524,1976-11-29,252.39999999998994,252.4062,2015-01-01 00:42:04,bin2524,35,True +CTSPillarNetworkA,2525,2525,2525,1976-11-30,252.49999999998994,252.50621,2015-01-01 00:42:05,bin2525,75,True +CTSPillarNetworkA,2526,2526,2526,1976-12-01,252.59999999998993,252.60622,2015-01-01 00:42:06,bin2526,35,True +CTSPillarNetworkA,2527,2527,2527,1976-12-02,252.69999999998993,252.70622,2015-01-01 00:42:07,bin2527,75,True +CTSPillarNetworkA,2528,2528,2528,1976-12-03,252.79999999998992,252.80623,2015-01-01 00:42:08,bin2528,35,True +CTSPillarNetworkA,2529,2529,2529,1976-12-04,252.89999999998992,252.90623,2015-01-01 00:42:09,bin2529,75,True +CTSPillarNetworkA,2530,2530,2530,1976-12-05,252.9999999999899,253.00624,2015-01-01 00:42:10,bin2530,35,True +CTSPillarNetworkA,2531,2531,2531,1976-12-06,253.0999999999899,253.10625,2015-01-01 00:42:11,bin2531,75,True +CTSPillarNetworkA,2532,2532,2532,1976-12-07,253.1999999999899,253.20625,2015-01-01 00:42:12,bin2532,35,True +CTSPillarNetworkA,2533,2533,2533,1976-12-08,253.2999999999899,253.30626,2015-01-01 00:42:13,bin2533,75,True +CTSPillarNetworkA,2534,2534,2534,1976-12-09,253.3999999999899,253.40627,2015-01-01 00:42:14,bin2534,35,True +CTSPillarNetworkA,2535,2535,2535,1976-12-10,253.49999999998988,253.50627,2015-01-01 00:42:15,bin2535,75,True +CTSPillarNetworkA,2536,2536,2536,1976-12-11,253.59999999998988,253.60628,2015-01-01 00:42:16,bin2536,35,True +CTSPillarNetworkA,2537,2537,2537,1976-12-12,253.69999999998987,253.70628,2015-01-01 00:42:17,bin2537,75,True +CTSPillarNetworkA,2538,2538,2538,1976-12-13,253.79999999998986,253.80629,2015-01-01 00:42:18,bin2538,35,True +CTSPillarNetworkA,2539,2539,2539,1976-12-14,253.89999999998986,253.9063,2015-01-01 00:42:19,bin2539,75,True +CTSPillarNetworkA,2540,2540,2540,1976-12-15,253.99999999998985,254.0063,2015-01-01 00:42:20,bin2540,35,True +CTSPillarNetworkA,2541,2541,2541,1976-12-16,254.09999999998985,254.10631,2015-01-01 00:42:21,bin2541,75,True +CTSPillarNetworkA,2542,2542,2542,1976-12-17,254.19999999998984,254.20631,2015-01-01 00:42:22,bin2542,35,True +CTSPillarNetworkA,2543,2543,2543,1976-12-18,254.29999999998984,254.30632,2015-01-01 00:42:23,bin2543,75,True +CTSPillarNetworkA,2544,2544,2544,1976-12-19,254.39999999998983,254.40633,2015-01-01 00:42:24,bin2544,35,True +CTSPillarNetworkA,2545,2545,2545,1976-12-20,254.49999999998983,254.50633,2015-01-01 00:42:25,bin2545,75,True +CTSPillarNetworkA,2546,2546,2546,1976-12-21,254.59999999998982,254.60634,2015-01-01 00:42:26,bin2546,35,True +CTSPillarNetworkA,2547,2547,2547,1976-12-22,254.6999999999898,254.70634,2015-01-01 00:42:27,bin2547,75,True +CTSPillarNetworkA,2548,2548,2548,1976-12-23,254.7999999999898,254.80635,2015-01-01 00:42:28,bin2548,35,True +CTSPillarNetworkA,2549,2549,2549,1976-12-24,254.8999999999898,254.90636,2015-01-01 00:42:29,bin2549,75,True +CTSPillarNetworkA,2550,2550,2550,1976-12-25,254.9999999999898,255.00636,2015-01-01 00:42:30,bin2550,35,True +CTSPillarNetworkA,2551,2551,2551,1976-12-26,255.0999999999898,255.10637,2015-01-01 00:42:31,bin2551,75,True +CTSPillarNetworkA,2552,2552,2552,1976-12-27,255.19999999998979,255.20638,2015-01-01 00:42:32,bin2552,35,True +CTSPillarNetworkA,2553,2553,2553,1976-12-28,255.29999999998978,255.30638,2015-01-01 00:42:33,bin2553,75,True +CTSPillarNetworkA,2554,2554,2554,1976-12-29,255.39999999998977,255.40639,2015-01-01 00:42:34,bin2554,35,True +CTSPillarNetworkA,2555,2555,2555,1976-12-30,255.49999999998977,255.5064,2015-01-01 00:42:35,bin2555,75,True +CTSPillarNetworkA,2556,2556,2556,1976-12-31,255.59999999998976,255.6064,2015-01-01 00:42:36,bin2556,35,True +CTSPillarNetworkA,2557,2557,2557,1977-01-01,255.69999999998976,255.7064,2015-01-01 00:42:37,bin2557,75,True +CTSPillarNetworkA,2558,2558,2558,1977-01-02,255.79999999998975,255.80641,2015-01-01 00:42:38,bin2558,35,True +CTSPillarNetworkA,2559,2559,2559,1977-01-03,255.89999999998975,255.90642,2015-01-01 00:42:39,bin2559,75,True +CTSPillarNetworkA,2560,2560,2560,1977-01-04,255.99999999998974,256.0064,2015-01-01 00:42:40,bin2560,35,True +CTSPillarNetworkA,2561,2561,2561,1977-01-05,256.09999999998973,256.1064,2015-01-01 00:42:41,bin2561,75,True +CTSPillarNetworkA,2562,2562,2562,1977-01-06,256.19999999998976,256.20642,2015-01-01 00:42:42,bin2562,35,True +CTSPillarNetworkA,2563,2563,2563,1977-01-07,256.2999999999898,256.30643,2015-01-01 00:42:43,bin2563,75,True +CTSPillarNetworkA,2564,2564,2564,1977-01-08,256.3999999999898,256.40643,2015-01-01 00:42:44,bin2564,35,True +CTSPillarNetworkA,2565,2565,2565,1977-01-09,256.4999999999898,256.50644,2015-01-01 00:42:45,bin2565,75,True +CTSPillarNetworkA,2566,2566,2566,1977-01-10,256.59999999998985,256.60645,2015-01-01 00:42:46,bin2566,35,True +CTSPillarNetworkA,2567,2567,2567,1977-01-11,256.69999999998987,256.70645,2015-01-01 00:42:47,bin2567,75,True +CTSPillarNetworkA,2568,2568,2568,1977-01-12,256.7999999999899,256.80646,2015-01-01 00:42:48,bin2568,35,True +CTSPillarNetworkA,2569,2569,2569,1977-01-13,256.8999999999899,256.90646,2015-01-01 00:42:49,bin2569,75,True +CTSPillarNetworkA,2570,2570,2570,1977-01-14,256.99999999998994,257.00647,2015-01-01 00:42:50,bin2570,35,True +CTSPillarNetworkA,2571,2571,2571,1977-01-15,257.09999999998996,257.10648,2015-01-01 00:42:51,bin2571,75,True +CTSPillarNetworkA,2572,2572,2572,1977-01-16,257.19999999999,257.20648,2015-01-01 00:42:52,bin2572,35,True +CTSPillarNetworkA,2573,2573,2573,1977-01-17,257.29999999999,257.3065,2015-01-01 00:42:53,bin2573,75,True +CTSPillarNetworkA,2574,2574,2574,1977-01-18,257.39999999999003,257.4065,2015-01-01 00:42:54,bin2574,35,True +CTSPillarNetworkA,2575,2575,2575,1977-01-19,257.49999999999005,257.5065,2015-01-01 00:42:55,bin2575,75,True +CTSPillarNetworkA,2576,2576,2576,1977-01-20,257.5999999999901,257.6065,2015-01-01 00:42:56,bin2576,35,True +CTSPillarNetworkA,2577,2577,2577,1977-01-21,257.6999999999901,257.7065,2015-01-01 00:42:57,bin2577,75,True +CTSPillarNetworkA,2578,2578,2578,1977-01-22,257.7999999999901,257.80652,2015-01-01 00:42:58,bin2578,35,True +CTSPillarNetworkA,2579,2579,2579,1977-01-23,257.89999999999014,257.90652,2015-01-01 00:42:59,bin2579,75,True +CTSPillarNetworkA,2580,2580,2580,1977-01-24,257.99999999999017,258.00653,2015-01-01 00:43:00,bin2580,35,True +CTSPillarNetworkA,2581,2581,2581,1977-01-25,258.0999999999902,258.10654,2015-01-01 00:43:01,bin2581,75,True +CTSPillarNetworkA,2582,2582,2582,1977-01-26,258.1999999999902,258.20654,2015-01-01 00:43:02,bin2582,35,True +CTSPillarNetworkA,2583,2583,2583,1977-01-27,258.29999999999023,258.30655,2015-01-01 00:43:03,bin2583,75,True +CTSPillarNetworkA,2584,2584,2584,1977-01-28,258.39999999999026,258.40656,2015-01-01 00:43:04,bin2584,35,True +CTSPillarNetworkA,2585,2585,2585,1977-01-29,258.4999999999903,258.50656,2015-01-01 00:43:05,bin2585,75,True +CTSPillarNetworkA,2586,2586,2586,1977-01-30,258.5999999999903,258.60657,2015-01-01 00:43:06,bin2586,35,True +CTSPillarNetworkA,2587,2587,2587,1977-01-31,258.6999999999903,258.70657,2015-01-01 00:43:07,bin2587,75,True +CTSPillarNetworkA,2588,2588,2588,1977-02-01,258.79999999999035,258.80658,2015-01-01 00:43:08,bin2588,35,True +CTSPillarNetworkA,2589,2589,2589,1977-02-02,258.89999999999037,258.9066,2015-01-01 00:43:09,bin2589,75,True +CTSPillarNetworkA,2590,2590,2590,1977-02-03,258.9999999999904,259.0066,2015-01-01 00:43:10,bin2590,35,True +CTSPillarNetworkA,2591,2591,2591,1977-02-04,259.0999999999904,259.1066,2015-01-01 00:43:11,bin2591,75,True +CTSPillarNetworkA,2592,2592,2592,1977-02-05,259.19999999999044,259.2066,2015-01-01 00:43:12,bin2592,35,True +CTSPillarNetworkA,2593,2593,2593,1977-02-06,259.29999999999046,259.3066,2015-01-01 00:43:13,bin2593,75,True +CTSPillarNetworkA,2594,2594,2594,1977-02-07,259.3999999999905,259.40662,2015-01-01 00:43:14,bin2594,35,True +CTSPillarNetworkA,2595,2595,2595,1977-02-08,259.4999999999905,259.50662,2015-01-01 00:43:15,bin2595,75,True +CTSPillarNetworkA,2596,2596,2596,1977-02-09,259.59999999999053,259.60663,2015-01-01 00:43:16,bin2596,35,True +CTSPillarNetworkA,2597,2597,2597,1977-02-10,259.69999999999055,259.70663,2015-01-01 00:43:17,bin2597,75,True +CTSPillarNetworkA,2598,2598,2598,1977-02-11,259.7999999999906,259.80664,2015-01-01 00:43:18,bin2598,35,True +CTSPillarNetworkA,2599,2599,2599,1977-02-12,259.8999999999906,259.90665,2015-01-01 00:43:19,bin2599,75,True +CTSPillarNetworkA,2600,2600,2600,1977-02-13,259.9999999999906,260.00665,2015-01-01 00:43:20,bin2600,35,True +CTSPillarNetworkA,2601,2601,2601,1977-02-14,260.09999999999064,260.10666,2015-01-01 00:43:21,bin2601,75,True +CTSPillarNetworkA,2602,2602,2602,1977-02-15,260.19999999999067,260.20667,2015-01-01 00:43:22,bin2602,35,True +CTSPillarNetworkA,2603,2603,2603,1977-02-16,260.2999999999907,260.30667,2015-01-01 00:43:23,bin2603,75,True +CTSPillarNetworkA,2604,2604,2604,1977-02-17,260.3999999999907,260.40668,2015-01-01 00:43:24,bin2604,35,True +CTSPillarNetworkA,2605,2605,2605,1977-02-18,260.49999999999073,260.50668,2015-01-01 00:43:25,bin2605,75,True +CTSPillarNetworkA,2606,2606,2606,1977-02-19,260.59999999999076,260.6067,2015-01-01 00:43:26,bin2606,35,True +CTSPillarNetworkA,2607,2607,2607,1977-02-20,260.6999999999908,260.7067,2015-01-01 00:43:27,bin2607,75,True +CTSPillarNetworkA,2608,2608,2608,1977-02-21,260.7999999999908,260.8067,2015-01-01 00:43:28,bin2608,35,True +CTSPillarNetworkA,2609,2609,2609,1977-02-22,260.8999999999908,260.9067,2015-01-01 00:43:29,bin2609,75,True +CTSPillarNetworkA,2610,2610,2610,1977-02-23,260.99999999999085,261.0067,2015-01-01 00:43:30,bin2610,35,True +CTSPillarNetworkA,2611,2611,2611,1977-02-24,261.09999999999087,261.10672,2015-01-01 00:43:31,bin2611,75,True +CTSPillarNetworkA,2612,2612,2612,1977-02-25,261.1999999999909,261.20673,2015-01-01 00:43:32,bin2612,35,True +CTSPillarNetworkA,2613,2613,2613,1977-02-26,261.2999999999909,261.30673,2015-01-01 00:43:33,bin2613,75,True +CTSPillarNetworkA,2614,2614,2614,1977-02-27,261.39999999999094,261.40674,2015-01-01 00:43:34,bin2614,35,True +CTSPillarNetworkA,2615,2615,2615,1977-02-28,261.49999999999096,261.50674,2015-01-01 00:43:35,bin2615,75,True +CTSPillarNetworkA,2616,2616,2616,1977-03-01,261.599999999991,261.60675,2015-01-01 00:43:36,bin2616,35,True +CTSPillarNetworkA,2617,2617,2617,1977-03-02,261.699999999991,261.70676,2015-01-01 00:43:37,bin2617,75,True +CTSPillarNetworkA,2618,2618,2618,1977-03-03,261.79999999999103,261.80676,2015-01-01 00:43:38,bin2618,35,True +CTSPillarNetworkA,2619,2619,2619,1977-03-04,261.89999999999105,261.90677,2015-01-01 00:43:39,bin2619,75,True +CTSPillarNetworkA,2620,2620,2620,1977-03-05,261.9999999999911,262.00677,2015-01-01 00:43:40,bin2620,35,True +CTSPillarNetworkA,2621,2621,2621,1977-03-06,262.0999999999911,262.10678,2015-01-01 00:43:41,bin2621,75,True +CTSPillarNetworkA,2622,2622,2622,1977-03-07,262.1999999999911,262.2068,2015-01-01 00:43:42,bin2622,35,True +CTSPillarNetworkA,2623,2623,2623,1977-03-08,262.29999999999114,262.3068,2015-01-01 00:43:43,bin2623,75,True +CTSPillarNetworkA,2624,2624,2624,1977-03-09,262.39999999999117,262.4068,2015-01-01 00:43:44,bin2624,35,True +CTSPillarNetworkA,2625,2625,2625,1977-03-10,262.4999999999912,262.5068,2015-01-01 00:43:45,bin2625,75,True +CTSPillarNetworkA,2626,2626,2626,1977-03-11,262.5999999999912,262.6068,2015-01-01 00:43:46,bin2626,35,True +CTSPillarNetworkA,2627,2627,2627,1977-03-12,262.69999999999123,262.70682,2015-01-01 00:43:47,bin2627,75,True +CTSPillarNetworkA,2628,2628,2628,1977-03-13,262.79999999999126,262.80682,2015-01-01 00:43:48,bin2628,35,True +CTSPillarNetworkA,2629,2629,2629,1977-03-14,262.8999999999913,262.90683,2015-01-01 00:43:49,bin2629,75,True +CTSPillarNetworkA,2630,2630,2630,1977-03-15,262.9999999999913,263.00684,2015-01-01 00:43:50,bin2630,35,True +CTSPillarNetworkA,2631,2631,2631,1977-03-16,263.0999999999913,263.10684,2015-01-01 00:43:51,bin2631,75,True +CTSPillarNetworkA,2632,2632,2632,1977-03-17,263.19999999999135,263.20685,2015-01-01 00:43:52,bin2632,35,True +CTSPillarNetworkA,2633,2633,2633,1977-03-18,263.29999999999137,263.30685,2015-01-01 00:43:53,bin2633,75,True +CTSPillarNetworkA,2634,2634,2634,1977-03-19,263.3999999999914,263.40686,2015-01-01 00:43:54,bin2634,35,True +CTSPillarNetworkA,2635,2635,2635,1977-03-20,263.4999999999914,263.50687,2015-01-01 00:43:55,bin2635,75,True +CTSPillarNetworkA,2636,2636,2636,1977-03-21,263.59999999999144,263.60687,2015-01-01 00:43:56,bin2636,35,True +CTSPillarNetworkA,2637,2637,2637,1977-03-22,263.69999999999146,263.70688,2015-01-01 00:43:57,bin2637,75,True +CTSPillarNetworkA,2638,2638,2638,1977-03-23,263.7999999999915,263.8069,2015-01-01 00:43:58,bin2638,35,True +CTSPillarNetworkA,2639,2639,2639,1977-03-24,263.8999999999915,263.9069,2015-01-01 00:43:59,bin2639,75,True +CTSPillarNetworkA,2640,2640,2640,1977-03-25,263.99999999999153,264.0069,2015-01-01 00:44:00,bin2640,35,True +CTSPillarNetworkA,2641,2641,2641,1977-03-26,264.09999999999155,264.1069,2015-01-01 00:44:01,bin2641,75,True +CTSPillarNetworkA,2642,2642,2642,1977-03-27,264.1999999999916,264.2069,2015-01-01 00:44:02,bin2642,35,True +CTSPillarNetworkA,2643,2643,2643,1977-03-28,264.2999999999916,264.30692,2015-01-01 00:44:03,bin2643,75,True +CTSPillarNetworkA,2644,2644,2644,1977-03-29,264.3999999999916,264.40692,2015-01-01 00:44:04,bin2644,35,True +CTSPillarNetworkA,2645,2645,2645,1977-03-30,264.49999999999164,264.50693,2015-01-01 00:44:05,bin2645,75,True +CTSPillarNetworkA,2646,2646,2646,1977-03-31,264.59999999999167,264.60693,2015-01-01 00:44:06,bin2646,35,True +CTSPillarNetworkA,2647,2647,2647,1977-04-01,264.6999999999917,264.70694,2015-01-01 00:44:07,bin2647,75,True +CTSPillarNetworkA,2648,2648,2648,1977-04-02,264.7999999999917,264.80695,2015-01-01 00:44:08,bin2648,35,True +CTSPillarNetworkA,2649,2649,2649,1977-04-03,264.89999999999173,264.90695,2015-01-01 00:44:09,bin2649,75,True +CTSPillarNetworkA,2650,2650,2650,1977-04-04,264.99999999999176,265.00696,2015-01-01 00:44:10,bin2650,35,True +CTSPillarNetworkA,2651,2651,2651,1977-04-05,265.0999999999918,265.10696,2015-01-01 00:44:11,bin2651,75,True +CTSPillarNetworkA,2652,2652,2652,1977-04-06,265.1999999999918,265.20697,2015-01-01 00:44:12,bin2652,35,True +CTSPillarNetworkA,2653,2653,2653,1977-04-07,265.2999999999918,265.30698,2015-01-01 00:44:13,bin2653,75,True +CTSPillarNetworkA,2654,2654,2654,1977-04-08,265.39999999999185,265.40698,2015-01-01 00:44:14,bin2654,35,True +CTSPillarNetworkA,2655,2655,2655,1977-04-09,265.49999999999187,265.507,2015-01-01 00:44:15,bin2655,75,True +CTSPillarNetworkA,2656,2656,2656,1977-04-10,265.5999999999919,265.607,2015-01-01 00:44:16,bin2656,35,True +CTSPillarNetworkA,2657,2657,2657,1977-04-11,265.6999999999919,265.707,2015-01-01 00:44:17,bin2657,75,True +CTSPillarNetworkA,2658,2658,2658,1977-04-12,265.79999999999194,265.807,2015-01-01 00:44:18,bin2658,35,True +CTSPillarNetworkA,2659,2659,2659,1977-04-13,265.89999999999196,265.907,2015-01-01 00:44:19,bin2659,75,True +CTSPillarNetworkA,2660,2660,2660,1977-04-14,265.999999999992,266.00702,2015-01-01 00:44:20,bin2660,35,True +CTSPillarNetworkA,2661,2661,2661,1977-04-15,266.099999999992,266.10703,2015-01-01 00:44:21,bin2661,75,True +CTSPillarNetworkA,2662,2662,2662,1977-04-16,266.19999999999203,266.20703,2015-01-01 00:44:22,bin2662,35,True +CTSPillarNetworkA,2663,2663,2663,1977-04-17,266.29999999999205,266.30704,2015-01-01 00:44:23,bin2663,75,True +CTSPillarNetworkA,2664,2664,2664,1977-04-18,266.3999999999921,266.40704,2015-01-01 00:44:24,bin2664,35,True +CTSPillarNetworkA,2665,2665,2665,1977-04-19,266.4999999999921,266.50705,2015-01-01 00:44:25,bin2665,75,True +CTSPillarNetworkA,2666,2666,2666,1977-04-20,266.5999999999921,266.60706,2015-01-01 00:44:26,bin2666,35,True +CTSPillarNetworkA,2667,2667,2667,1977-04-21,266.69999999999214,266.70706,2015-01-01 00:44:27,bin2667,75,True +CTSPillarNetworkA,2668,2668,2668,1977-04-22,266.79999999999217,266.80707,2015-01-01 00:44:28,bin2668,35,True +CTSPillarNetworkA,2669,2669,2669,1977-04-23,266.8999999999922,266.90707,2015-01-01 00:44:29,bin2669,75,True +CTSPillarNetworkA,2670,2670,2670,1977-04-24,266.9999999999922,267.00708,2015-01-01 00:44:30,bin2670,35,True +CTSPillarNetworkA,2671,2671,2671,1977-04-25,267.09999999999224,267.1071,2015-01-01 00:44:31,bin2671,75,True +CTSPillarNetworkA,2672,2672,2672,1977-04-26,267.19999999999226,267.2071,2015-01-01 00:44:32,bin2672,35,True +CTSPillarNetworkA,2673,2673,2673,1977-04-27,267.2999999999923,267.3071,2015-01-01 00:44:33,bin2673,75,True +CTSPillarNetworkA,2674,2674,2674,1977-04-28,267.3999999999923,267.4071,2015-01-01 00:44:34,bin2674,35,True +CTSPillarNetworkA,2675,2675,2675,1977-04-29,267.4999999999923,267.5071,2015-01-01 00:44:35,bin2675,75,True +CTSPillarNetworkA,2676,2676,2676,1977-04-30,267.59999999999235,267.60712,2015-01-01 00:44:36,bin2676,35,True +CTSPillarNetworkA,2677,2677,2677,1977-05-01,267.6999999999924,267.70712,2015-01-01 00:44:37,bin2677,75,True +CTSPillarNetworkA,2678,2678,2678,1977-05-02,267.7999999999924,267.80713,2015-01-01 00:44:38,bin2678,35,True +CTSPillarNetworkA,2679,2679,2679,1977-05-03,267.8999999999924,267.90714,2015-01-01 00:44:39,bin2679,75,True +CTSPillarNetworkA,2680,2680,2680,1977-05-04,267.99999999999244,268.00714,2015-01-01 00:44:40,bin2680,35,True +CTSPillarNetworkA,2681,2681,2681,1977-05-05,268.09999999999246,268.10715,2015-01-01 00:44:41,bin2681,75,True +CTSPillarNetworkA,2682,2682,2682,1977-05-06,268.1999999999925,268.20715,2015-01-01 00:44:42,bin2682,35,True +CTSPillarNetworkA,2683,2683,2683,1977-05-07,268.2999999999925,268.30716,2015-01-01 00:44:43,bin2683,75,True +CTSPillarNetworkA,2684,2684,2684,1977-05-08,268.39999999999253,268.40717,2015-01-01 00:44:44,bin2684,35,True +CTSPillarNetworkA,2685,2685,2685,1977-05-09,268.49999999999255,268.50717,2015-01-01 00:44:45,bin2685,75,True +CTSPillarNetworkA,2686,2686,2686,1977-05-10,268.5999999999926,268.60718,2015-01-01 00:44:46,bin2686,35,True +CTSPillarNetworkA,2687,2687,2687,1977-05-11,268.6999999999926,268.70718,2015-01-01 00:44:47,bin2687,75,True +CTSPillarNetworkA,2688,2688,2688,1977-05-12,268.7999999999926,268.8072,2015-01-01 00:44:48,bin2688,35,True +CTSPillarNetworkA,2689,2689,2689,1977-05-13,268.89999999999264,268.9072,2015-01-01 00:44:49,bin2689,75,True +CTSPillarNetworkA,2690,2690,2690,1977-05-14,268.99999999999267,269.0072,2015-01-01 00:44:50,bin2690,35,True +CTSPillarNetworkA,2691,2691,2691,1977-05-15,269.0999999999927,269.1072,2015-01-01 00:44:51,bin2691,75,True +CTSPillarNetworkA,2692,2692,2692,1977-05-16,269.1999999999927,269.2072,2015-01-01 00:44:52,bin2692,35,True +CTSPillarNetworkA,2693,2693,2693,1977-05-17,269.29999999999274,269.30722,2015-01-01 00:44:53,bin2693,75,True +CTSPillarNetworkA,2694,2694,2694,1977-05-18,269.39999999999276,269.40723,2015-01-01 00:44:54,bin2694,35,True +CTSPillarNetworkA,2695,2695,2695,1977-05-19,269.4999999999928,269.50723,2015-01-01 00:44:55,bin2695,75,True +CTSPillarNetworkA,2696,2696,2696,1977-05-20,269.5999999999928,269.60724,2015-01-01 00:44:56,bin2696,35,True +CTSPillarNetworkA,2697,2697,2697,1977-05-21,269.6999999999928,269.70724,2015-01-01 00:44:57,bin2697,75,True +CTSPillarNetworkA,2698,2698,2698,1977-05-22,269.79999999999285,269.80725,2015-01-01 00:44:58,bin2698,35,True +CTSPillarNetworkA,2699,2699,2699,1977-05-23,269.8999999999929,269.90726,2015-01-01 00:44:59,bin2699,75,True +CTSPillarNetworkA,2700,2700,2700,1977-05-24,269.9999999999929,270.00726,2015-01-01 00:45:00,bin2700,35,True +CTSPillarNetworkA,2701,2701,2701,1977-05-25,270.0999999999929,270.10727,2015-01-01 00:45:01,bin2701,75,True +CTSPillarNetworkA,2702,2702,2702,1977-05-26,270.19999999999294,270.20728,2015-01-01 00:45:02,bin2702,35,True +CTSPillarNetworkA,2703,2703,2703,1977-05-27,270.29999999999296,270.30728,2015-01-01 00:45:03,bin2703,75,True +CTSPillarNetworkA,2704,2704,2704,1977-05-28,270.399999999993,270.4073,2015-01-01 00:45:04,bin2704,35,True +CTSPillarNetworkA,2705,2705,2705,1977-05-29,270.499999999993,270.5073,2015-01-01 00:45:05,bin2705,75,True +CTSPillarNetworkA,2706,2706,2706,1977-05-30,270.59999999999303,270.6073,2015-01-01 00:45:06,bin2706,35,True +CTSPillarNetworkA,2707,2707,2707,1977-05-31,270.69999999999305,270.7073,2015-01-01 00:45:07,bin2707,75,True +CTSPillarNetworkA,2708,2708,2708,1977-06-01,270.7999999999931,270.8073,2015-01-01 00:45:08,bin2708,35,True +CTSPillarNetworkA,2709,2709,2709,1977-06-02,270.8999999999931,270.90732,2015-01-01 00:45:09,bin2709,75,True +CTSPillarNetworkA,2710,2710,2710,1977-06-03,270.9999999999931,271.00732,2015-01-01 00:45:10,bin2710,35,True +CTSPillarNetworkA,2711,2711,2711,1977-06-04,271.09999999999314,271.10733,2015-01-01 00:45:11,bin2711,75,True +CTSPillarNetworkA,2712,2712,2712,1977-06-05,271.19999999999317,271.20734,2015-01-01 00:45:12,bin2712,35,True +CTSPillarNetworkA,2713,2713,2713,1977-06-06,271.2999999999932,271.30734,2015-01-01 00:45:13,bin2713,75,True +CTSPillarNetworkA,2714,2714,2714,1977-06-07,271.3999999999932,271.40735,2015-01-01 00:45:14,bin2714,35,True +CTSPillarNetworkA,2715,2715,2715,1977-06-08,271.49999999999324,271.50735,2015-01-01 00:45:15,bin2715,75,True +CTSPillarNetworkA,2716,2716,2716,1977-06-09,271.59999999999326,271.60736,2015-01-01 00:45:16,bin2716,35,True +CTSPillarNetworkA,2717,2717,2717,1977-06-10,271.6999999999933,271.70737,2015-01-01 00:45:17,bin2717,75,True +CTSPillarNetworkA,2718,2718,2718,1977-06-11,271.7999999999933,271.80737,2015-01-01 00:45:18,bin2718,35,True +CTSPillarNetworkA,2719,2719,2719,1977-06-12,271.8999999999933,271.90738,2015-01-01 00:45:19,bin2719,75,True +CTSPillarNetworkA,2720,2720,2720,1977-06-13,271.99999999999335,272.0074,2015-01-01 00:45:20,bin2720,35,True +CTSPillarNetworkA,2721,2721,2721,1977-06-14,272.0999999999934,272.1074,2015-01-01 00:45:21,bin2721,75,True +CTSPillarNetworkA,2722,2722,2722,1977-06-15,272.1999999999934,272.2074,2015-01-01 00:45:22,bin2722,35,True +CTSPillarNetworkA,2723,2723,2723,1977-06-16,272.2999999999934,272.3074,2015-01-01 00:45:23,bin2723,75,True +CTSPillarNetworkA,2724,2724,2724,1977-06-17,272.39999999999344,272.4074,2015-01-01 00:45:24,bin2724,35,True +CTSPillarNetworkA,2725,2725,2725,1977-06-18,272.49999999999346,272.50742,2015-01-01 00:45:25,bin2725,75,True +CTSPillarNetworkA,2726,2726,2726,1977-06-19,272.5999999999935,272.60742,2015-01-01 00:45:26,bin2726,35,True +CTSPillarNetworkA,2727,2727,2727,1977-06-20,272.6999999999935,272.70743,2015-01-01 00:45:27,bin2727,75,True +CTSPillarNetworkA,2728,2728,2728,1977-06-21,272.79999999999353,272.80743,2015-01-01 00:45:28,bin2728,35,True +CTSPillarNetworkA,2729,2729,2729,1977-06-22,272.89999999999355,272.90744,2015-01-01 00:45:29,bin2729,75,True +CTSPillarNetworkA,2730,2730,2730,1977-06-23,272.9999999999936,273.00745,2015-01-01 00:45:30,bin2730,35,True +CTSPillarNetworkA,2731,2731,2731,1977-06-24,273.0999999999936,273.10745,2015-01-01 00:45:31,bin2731,75,True +CTSPillarNetworkA,2732,2732,2732,1977-06-25,273.1999999999936,273.20746,2015-01-01 00:45:32,bin2732,35,True +CTSPillarNetworkA,2733,2733,2733,1977-06-26,273.29999999999364,273.30746,2015-01-01 00:45:33,bin2733,75,True +CTSPillarNetworkA,2734,2734,2734,1977-06-27,273.39999999999367,273.40747,2015-01-01 00:45:34,bin2734,35,True +CTSPillarNetworkA,2735,2735,2735,1977-06-28,273.4999999999937,273.50748,2015-01-01 00:45:35,bin2735,75,True +CTSPillarNetworkA,2736,2736,2736,1977-06-29,273.5999999999937,273.60748,2015-01-01 00:45:36,bin2736,35,True +CTSPillarNetworkA,2737,2737,2737,1977-06-30,273.69999999999374,273.7075,2015-01-01 00:45:37,bin2737,75,True +CTSPillarNetworkA,2738,2738,2738,1977-07-01,273.79999999999376,273.8075,2015-01-01 00:45:38,bin2738,35,True +CTSPillarNetworkA,2739,2739,2739,1977-07-02,273.8999999999938,273.9075,2015-01-01 00:45:39,bin2739,75,True +CTSPillarNetworkA,2740,2740,2740,1977-07-03,273.9999999999938,274.0075,2015-01-01 00:45:40,bin2740,35,True +CTSPillarNetworkA,2741,2741,2741,1977-07-04,274.0999999999938,274.1075,2015-01-01 00:45:41,bin2741,75,True +CTSPillarNetworkA,2742,2742,2742,1977-07-05,274.19999999999385,274.20752,2015-01-01 00:45:42,bin2742,35,True +CTSPillarNetworkA,2743,2743,2743,1977-07-06,274.2999999999939,274.30753,2015-01-01 00:45:43,bin2743,75,True +CTSPillarNetworkA,2744,2744,2744,1977-07-07,274.3999999999939,274.40753,2015-01-01 00:45:44,bin2744,35,True +CTSPillarNetworkA,2745,2745,2745,1977-07-08,274.4999999999939,274.50754,2015-01-01 00:45:45,bin2745,75,True +CTSPillarNetworkA,2746,2746,2746,1977-07-09,274.59999999999394,274.60754,2015-01-01 00:45:46,bin2746,35,True +CTSPillarNetworkA,2747,2747,2747,1977-07-10,274.69999999999396,274.70755,2015-01-01 00:45:47,bin2747,75,True +CTSPillarNetworkA,2748,2748,2748,1977-07-11,274.799999999994,274.80756,2015-01-01 00:45:48,bin2748,35,True +CTSPillarNetworkA,2749,2749,2749,1977-07-12,274.899999999994,274.90756,2015-01-01 00:45:49,bin2749,75,True +CTSPillarNetworkA,2750,2750,2750,1977-07-13,274.99999999999403,275.00757,2015-01-01 00:45:50,bin2750,35,True +CTSPillarNetworkA,2751,2751,2751,1977-07-14,275.09999999999405,275.10757,2015-01-01 00:45:51,bin2751,75,True +CTSPillarNetworkA,2752,2752,2752,1977-07-15,275.1999999999941,275.20758,2015-01-01 00:45:52,bin2752,35,True +CTSPillarNetworkA,2753,2753,2753,1977-07-16,275.2999999999941,275.3076,2015-01-01 00:45:53,bin2753,75,True +CTSPillarNetworkA,2754,2754,2754,1977-07-17,275.3999999999941,275.4076,2015-01-01 00:45:54,bin2754,35,True +CTSPillarNetworkA,2755,2755,2755,1977-07-18,275.49999999999415,275.5076,2015-01-01 00:45:55,bin2755,75,True +CTSPillarNetworkA,2756,2756,2756,1977-07-19,275.59999999999417,275.6076,2015-01-01 00:45:56,bin2756,35,True +CTSPillarNetworkA,2757,2757,2757,1977-07-20,275.6999999999942,275.7076,2015-01-01 00:45:57,bin2757,75,True +CTSPillarNetworkA,2758,2758,2758,1977-07-21,275.7999999999942,275.80762,2015-01-01 00:45:58,bin2758,35,True +CTSPillarNetworkA,2759,2759,2759,1977-07-22,275.89999999999424,275.90762,2015-01-01 00:45:59,bin2759,75,True +CTSPillarNetworkA,2760,2760,2760,1977-07-23,275.99999999999426,276.00763,2015-01-01 00:46:00,bin2760,35,True +CTSPillarNetworkA,2761,2761,2761,1977-07-24,276.0999999999943,276.10764,2015-01-01 00:46:01,bin2761,75,True +CTSPillarNetworkA,2762,2762,2762,1977-07-25,276.1999999999943,276.20764,2015-01-01 00:46:02,bin2762,35,True +CTSPillarNetworkA,2763,2763,2763,1977-07-26,276.2999999999943,276.30765,2015-01-01 00:46:03,bin2763,75,True +CTSPillarNetworkA,2764,2764,2764,1977-07-27,276.39999999999435,276.40765,2015-01-01 00:46:04,bin2764,35,True +CTSPillarNetworkA,2765,2765,2765,1977-07-28,276.4999999999944,276.50766,2015-01-01 00:46:05,bin2765,75,True +CTSPillarNetworkA,2766,2766,2766,1977-07-29,276.5999999999944,276.60767,2015-01-01 00:46:06,bin2766,35,True +CTSPillarNetworkA,2767,2767,2767,1977-07-30,276.6999999999944,276.70767,2015-01-01 00:46:07,bin2767,75,True +CTSPillarNetworkA,2768,2768,2768,1977-07-31,276.79999999999444,276.80768,2015-01-01 00:46:08,bin2768,35,True +CTSPillarNetworkA,2769,2769,2769,1977-08-01,276.89999999999446,276.90768,2015-01-01 00:46:09,bin2769,75,True +CTSPillarNetworkA,2770,2770,2770,1977-08-02,276.9999999999945,277.0077,2015-01-01 00:46:10,bin2770,35,True +CTSPillarNetworkA,2771,2771,2771,1977-08-03,277.0999999999945,277.1077,2015-01-01 00:46:11,bin2771,75,True +CTSPillarNetworkA,2772,2772,2772,1977-08-04,277.19999999999453,277.2077,2015-01-01 00:46:12,bin2772,35,True +CTSPillarNetworkA,2773,2773,2773,1977-08-05,277.29999999999455,277.3077,2015-01-01 00:46:13,bin2773,75,True +CTSPillarNetworkA,2774,2774,2774,1977-08-06,277.3999999999946,277.4077,2015-01-01 00:46:14,bin2774,35,True +CTSPillarNetworkA,2775,2775,2775,1977-08-07,277.4999999999946,277.50772,2015-01-01 00:46:15,bin2775,75,True +CTSPillarNetworkA,2776,2776,2776,1977-08-08,277.5999999999946,277.60773,2015-01-01 00:46:16,bin2776,35,True +CTSPillarNetworkA,2777,2777,2777,1977-08-09,277.69999999999465,277.70773,2015-01-01 00:46:17,bin2777,75,True +CTSPillarNetworkA,2778,2778,2778,1977-08-10,277.79999999999467,277.80774,2015-01-01 00:46:18,bin2778,35,True +CTSPillarNetworkA,2779,2779,2779,1977-08-11,277.8999999999947,277.90775,2015-01-01 00:46:19,bin2779,75,True +CTSPillarNetworkA,2780,2780,2780,1977-08-12,277.9999999999947,278.00775,2015-01-01 00:46:20,bin2780,35,True +CTSPillarNetworkA,2781,2781,2781,1977-08-13,278.09999999999474,278.10776,2015-01-01 00:46:21,bin2781,75,True +CTSPillarNetworkA,2782,2782,2782,1977-08-14,278.19999999999476,278.20776,2015-01-01 00:46:22,bin2782,35,True +CTSPillarNetworkA,2783,2783,2783,1977-08-15,278.2999999999948,278.30777,2015-01-01 00:46:23,bin2783,75,True +CTSPillarNetworkA,2784,2784,2784,1977-08-16,278.3999999999948,278.40778,2015-01-01 00:46:24,bin2784,35,True +CTSPillarNetworkA,2785,2785,2785,1977-08-17,278.4999999999948,278.50778,2015-01-01 00:46:25,bin2785,75,True +CTSPillarNetworkA,2786,2786,2786,1977-08-18,278.59999999999485,278.6078,2015-01-01 00:46:26,bin2786,35,True +CTSPillarNetworkA,2787,2787,2787,1977-08-19,278.6999999999949,278.7078,2015-01-01 00:46:27,bin2787,75,True +CTSPillarNetworkA,2788,2788,2788,1977-08-20,278.7999999999949,278.8078,2015-01-01 00:46:28,bin2788,35,True +CTSPillarNetworkA,2789,2789,2789,1977-08-21,278.8999999999949,278.9078,2015-01-01 00:46:29,bin2789,75,True +CTSPillarNetworkA,2790,2790,2790,1977-08-22,278.99999999999494,279.0078,2015-01-01 00:46:30,bin2790,35,True +CTSPillarNetworkA,2791,2791,2791,1977-08-23,279.09999999999496,279.10782,2015-01-01 00:46:31,bin2791,75,True +CTSPillarNetworkA,2792,2792,2792,1977-08-24,279.199999999995,279.20782,2015-01-01 00:46:32,bin2792,35,True +CTSPillarNetworkA,2793,2793,2793,1977-08-25,279.299999999995,279.30783,2015-01-01 00:46:33,bin2793,75,True +CTSPillarNetworkA,2794,2794,2794,1977-08-26,279.39999999999503,279.40784,2015-01-01 00:46:34,bin2794,35,True +CTSPillarNetworkA,2795,2795,2795,1977-08-27,279.49999999999505,279.50784,2015-01-01 00:46:35,bin2795,75,True +CTSPillarNetworkA,2796,2796,2796,1977-08-28,279.5999999999951,279.60785,2015-01-01 00:46:36,bin2796,35,True +CTSPillarNetworkA,2797,2797,2797,1977-08-29,279.6999999999951,279.70786,2015-01-01 00:46:37,bin2797,75,True +CTSPillarNetworkA,2798,2798,2798,1977-08-30,279.7999999999951,279.80786,2015-01-01 00:46:38,bin2798,35,True +CTSPillarNetworkA,2799,2799,2799,1977-08-31,279.89999999999515,279.90787,2015-01-01 00:46:39,bin2799,75,True +CTSPillarNetworkA,2800,2800,2800,1977-09-01,279.99999999999517,280.00787,2015-01-01 00:46:40,bin2800,35,True +CTSPillarNetworkA,2801,2801,2801,1977-09-02,280.0999999999952,280.10788,2015-01-01 00:46:41,bin2801,75,True +CTSPillarNetworkA,2802,2802,2802,1977-09-03,280.1999999999952,280.2079,2015-01-01 00:46:42,bin2802,35,True +CTSPillarNetworkA,2803,2803,2803,1977-09-04,280.29999999999524,280.3079,2015-01-01 00:46:43,bin2803,75,True +CTSPillarNetworkA,2804,2804,2804,1977-09-05,280.39999999999526,280.4079,2015-01-01 00:46:44,bin2804,35,True +CTSPillarNetworkA,2805,2805,2805,1977-09-06,280.4999999999953,280.5079,2015-01-01 00:46:45,bin2805,75,True +CTSPillarNetworkA,2806,2806,2806,1977-09-07,280.5999999999953,280.6079,2015-01-01 00:46:46,bin2806,35,True +CTSPillarNetworkA,2807,2807,2807,1977-09-08,280.6999999999953,280.70792,2015-01-01 00:46:47,bin2807,75,True +CTSPillarNetworkA,2808,2808,2808,1977-09-09,280.79999999999535,280.80792,2015-01-01 00:46:48,bin2808,35,True +CTSPillarNetworkA,2809,2809,2809,1977-09-10,280.8999999999954,280.90793,2015-01-01 00:46:49,bin2809,75,True +CTSPillarNetworkA,2810,2810,2810,1977-09-11,280.9999999999954,281.00793,2015-01-01 00:46:50,bin2810,35,True +CTSPillarNetworkA,2811,2811,2811,1977-09-12,281.0999999999954,281.10794,2015-01-01 00:46:51,bin2811,75,True +CTSPillarNetworkA,2812,2812,2812,1977-09-13,281.19999999999544,281.20795,2015-01-01 00:46:52,bin2812,35,True +CTSPillarNetworkA,2813,2813,2813,1977-09-14,281.29999999999546,281.30795,2015-01-01 00:46:53,bin2813,75,True +CTSPillarNetworkA,2814,2814,2814,1977-09-15,281.3999999999955,281.40796,2015-01-01 00:46:54,bin2814,35,True +CTSPillarNetworkA,2815,2815,2815,1977-09-16,281.4999999999955,281.50797,2015-01-01 00:46:55,bin2815,75,True +CTSPillarNetworkA,2816,2816,2816,1977-09-17,281.59999999999553,281.60797,2015-01-01 00:46:56,bin2816,35,True +CTSPillarNetworkA,2817,2817,2817,1977-09-18,281.69999999999555,281.70798,2015-01-01 00:46:57,bin2817,75,True +CTSPillarNetworkA,2818,2818,2818,1977-09-19,281.7999999999956,281.80798,2015-01-01 00:46:58,bin2818,35,True +CTSPillarNetworkA,2819,2819,2819,1977-09-20,281.8999999999956,281.908,2015-01-01 00:46:59,bin2819,75,True +CTSPillarNetworkA,2820,2820,2820,1977-09-21,281.9999999999956,282.008,2015-01-01 00:47:00,bin2820,35,True +CTSPillarNetworkA,2821,2821,2821,1977-09-22,282.09999999999565,282.108,2015-01-01 00:47:01,bin2821,75,True +CTSPillarNetworkA,2822,2822,2822,1977-09-23,282.19999999999567,282.208,2015-01-01 00:47:02,bin2822,35,True +CTSPillarNetworkA,2823,2823,2823,1977-09-24,282.2999999999957,282.308,2015-01-01 00:47:03,bin2823,75,True +CTSPillarNetworkA,2824,2824,2824,1977-09-25,282.3999999999957,282.40802,2015-01-01 00:47:04,bin2824,35,True +CTSPillarNetworkA,2825,2825,2825,1977-09-26,282.49999999999574,282.50803,2015-01-01 00:47:05,bin2825,75,True +CTSPillarNetworkA,2826,2826,2826,1977-09-27,282.59999999999576,282.60803,2015-01-01 00:47:06,bin2826,35,True +CTSPillarNetworkA,2827,2827,2827,1977-09-28,282.6999999999958,282.70804,2015-01-01 00:47:07,bin2827,75,True +CTSPillarNetworkA,2828,2828,2828,1977-09-29,282.7999999999958,282.80804,2015-01-01 00:47:08,bin2828,35,True +CTSPillarNetworkA,2829,2829,2829,1977-09-30,282.8999999999958,282.90805,2015-01-01 00:47:09,bin2829,75,True +CTSPillarNetworkA,2830,2830,2830,1977-10-01,282.99999999999585,283.00806,2015-01-01 00:47:10,bin2830,35,True +CTSPillarNetworkA,2831,2831,2831,1977-10-02,283.0999999999959,283.10806,2015-01-01 00:47:11,bin2831,75,True +CTSPillarNetworkA,2832,2832,2832,1977-10-03,283.1999999999959,283.20807,2015-01-01 00:47:12,bin2832,35,True +CTSPillarNetworkA,2833,2833,2833,1977-10-04,283.2999999999959,283.30807,2015-01-01 00:47:13,bin2833,75,True +CTSPillarNetworkA,2834,2834,2834,1977-10-05,283.39999999999594,283.40808,2015-01-01 00:47:14,bin2834,35,True +CTSPillarNetworkA,2835,2835,2835,1977-10-06,283.49999999999596,283.5081,2015-01-01 00:47:15,bin2835,75,True +CTSPillarNetworkA,2836,2836,2836,1977-10-07,283.599999999996,283.6081,2015-01-01 00:47:16,bin2836,35,True +CTSPillarNetworkA,2837,2837,2837,1977-10-08,283.699999999996,283.7081,2015-01-01 00:47:17,bin2837,75,True +CTSPillarNetworkA,2838,2838,2838,1977-10-09,283.79999999999603,283.8081,2015-01-01 00:47:18,bin2838,35,True +CTSPillarNetworkA,2839,2839,2839,1977-10-10,283.89999999999606,283.9081,2015-01-01 00:47:19,bin2839,75,True +CTSPillarNetworkA,2840,2840,2840,1977-10-11,283.9999999999961,284.00812,2015-01-01 00:47:20,bin2840,35,True +CTSPillarNetworkA,2841,2841,2841,1977-10-12,284.0999999999961,284.10812,2015-01-01 00:47:21,bin2841,75,True +CTSPillarNetworkA,2842,2842,2842,1977-10-13,284.1999999999961,284.20813,2015-01-01 00:47:22,bin2842,35,True +CTSPillarNetworkA,2843,2843,2843,1977-10-14,284.29999999999615,284.30814,2015-01-01 00:47:23,bin2843,75,True +CTSPillarNetworkA,2844,2844,2844,1977-10-15,284.39999999999617,284.40814,2015-01-01 00:47:24,bin2844,35,True +CTSPillarNetworkA,2845,2845,2845,1977-10-16,284.4999999999962,284.50815,2015-01-01 00:47:25,bin2845,75,True +CTSPillarNetworkA,2846,2846,2846,1977-10-17,284.5999999999962,284.60815,2015-01-01 00:47:26,bin2846,35,True +CTSPillarNetworkA,2847,2847,2847,1977-10-18,284.69999999999624,284.70816,2015-01-01 00:47:27,bin2847,75,True +CTSPillarNetworkA,2848,2848,2848,1977-10-19,284.79999999999626,284.80817,2015-01-01 00:47:28,bin2848,35,True +CTSPillarNetworkA,2849,2849,2849,1977-10-20,284.8999999999963,284.90817,2015-01-01 00:47:29,bin2849,75,True +CTSPillarNetworkA,2850,2850,2850,1977-10-21,284.9999999999963,285.00818,2015-01-01 00:47:30,bin2850,35,True +CTSPillarNetworkA,2851,2851,2851,1977-10-22,285.0999999999963,285.1082,2015-01-01 00:47:31,bin2851,75,True +CTSPillarNetworkA,2852,2852,2852,1977-10-23,285.19999999999635,285.2082,2015-01-01 00:47:32,bin2852,35,True +CTSPillarNetworkA,2853,2853,2853,1977-10-24,285.2999999999964,285.3082,2015-01-01 00:47:33,bin2853,75,True +CTSPillarNetworkA,2854,2854,2854,1977-10-25,285.3999999999964,285.4082,2015-01-01 00:47:34,bin2854,35,True +CTSPillarNetworkA,2855,2855,2855,1977-10-26,285.4999999999964,285.5082,2015-01-01 00:47:35,bin2855,75,True +CTSPillarNetworkA,2856,2856,2856,1977-10-27,285.59999999999644,285.60822,2015-01-01 00:47:36,bin2856,35,True +CTSPillarNetworkA,2857,2857,2857,1977-10-28,285.69999999999646,285.70822,2015-01-01 00:47:37,bin2857,75,True +CTSPillarNetworkA,2858,2858,2858,1977-10-29,285.7999999999965,285.80823,2015-01-01 00:47:38,bin2858,35,True +CTSPillarNetworkA,2859,2859,2859,1977-10-30,285.8999999999965,285.90823,2015-01-01 00:47:39,bin2859,75,True +CTSPillarNetworkA,2860,2860,2860,1977-10-31,285.99999999999653,286.00824,2015-01-01 00:47:40,bin2860,35,True +CTSPillarNetworkA,2861,2861,2861,1977-11-01,286.09999999999656,286.10825,2015-01-01 00:47:41,bin2861,75,True +CTSPillarNetworkA,2862,2862,2862,1977-11-02,286.1999999999966,286.20825,2015-01-01 00:47:42,bin2862,35,True +CTSPillarNetworkA,2863,2863,2863,1977-11-03,286.2999999999966,286.30826,2015-01-01 00:47:43,bin2863,75,True +CTSPillarNetworkA,2864,2864,2864,1977-11-04,286.3999999999966,286.40826,2015-01-01 00:47:44,bin2864,35,True +CTSPillarNetworkA,2865,2865,2865,1977-11-05,286.49999999999665,286.50827,2015-01-01 00:47:45,bin2865,75,True +CTSPillarNetworkA,2866,2866,2866,1977-11-06,286.59999999999667,286.60828,2015-01-01 00:47:46,bin2866,35,True +CTSPillarNetworkA,2867,2867,2867,1977-11-07,286.6999999999967,286.70828,2015-01-01 00:47:47,bin2867,75,True +CTSPillarNetworkA,2868,2868,2868,1977-11-08,286.7999999999967,286.8083,2015-01-01 00:47:48,bin2868,35,True +CTSPillarNetworkA,2869,2869,2869,1977-11-09,286.89999999999674,286.9083,2015-01-01 00:47:49,bin2869,75,True +CTSPillarNetworkA,2870,2870,2870,1977-11-10,286.99999999999676,287.0083,2015-01-01 00:47:50,bin2870,35,True +CTSPillarNetworkA,2871,2871,2871,1977-11-11,287.0999999999968,287.1083,2015-01-01 00:47:51,bin2871,75,True +CTSPillarNetworkA,2872,2872,2872,1977-11-12,287.1999999999968,287.2083,2015-01-01 00:47:52,bin2872,35,True +CTSPillarNetworkA,2873,2873,2873,1977-11-13,287.2999999999968,287.30832,2015-01-01 00:47:53,bin2873,75,True +CTSPillarNetworkA,2874,2874,2874,1977-11-14,287.39999999999685,287.40833,2015-01-01 00:47:54,bin2874,35,True +CTSPillarNetworkA,2875,2875,2875,1977-11-15,287.4999999999969,287.50833,2015-01-01 00:47:55,bin2875,75,True +CTSPillarNetworkA,2876,2876,2876,1977-11-16,287.5999999999969,287.60834,2015-01-01 00:47:56,bin2876,35,True +CTSPillarNetworkA,2877,2877,2877,1977-11-17,287.6999999999969,287.70834,2015-01-01 00:47:57,bin2877,75,True +CTSPillarNetworkA,2878,2878,2878,1977-11-18,287.79999999999694,287.80835,2015-01-01 00:47:58,bin2878,35,True +CTSPillarNetworkA,2879,2879,2879,1977-11-19,287.89999999999696,287.90836,2015-01-01 00:47:59,bin2879,75,True +CTSPillarNetworkA,2880,2880,2880,1977-11-20,287.999999999997,288.00836,2015-01-01 00:48:00,bin2880,35,True +CTSPillarNetworkA,2881,2881,2881,1977-11-21,288.099999999997,288.10837,2015-01-01 00:48:01,bin2881,75,True +CTSPillarNetworkA,2882,2882,2882,1977-11-22,288.19999999999703,288.20837,2015-01-01 00:48:02,bin2882,35,True +CTSPillarNetworkA,2883,2883,2883,1977-11-23,288.29999999999706,288.30838,2015-01-01 00:48:03,bin2883,75,True +CTSPillarNetworkA,2884,2884,2884,1977-11-24,288.3999999999971,288.4084,2015-01-01 00:48:04,bin2884,35,True +CTSPillarNetworkA,2885,2885,2885,1977-11-25,288.4999999999971,288.5084,2015-01-01 00:48:05,bin2885,75,True +CTSPillarNetworkA,2886,2886,2886,1977-11-26,288.5999999999971,288.6084,2015-01-01 00:48:06,bin2886,35,True +CTSPillarNetworkA,2887,2887,2887,1977-11-27,288.69999999999715,288.7084,2015-01-01 00:48:07,bin2887,75,True +CTSPillarNetworkA,2888,2888,2888,1977-11-28,288.79999999999717,288.8084,2015-01-01 00:48:08,bin2888,35,True +CTSPillarNetworkA,2889,2889,2889,1977-11-29,288.8999999999972,288.90842,2015-01-01 00:48:09,bin2889,75,True +CTSPillarNetworkA,2890,2890,2890,1977-11-30,288.9999999999972,289.00842,2015-01-01 00:48:10,bin2890,35,True +CTSPillarNetworkA,2891,2891,2891,1977-12-01,289.09999999999724,289.10843,2015-01-01 00:48:11,bin2891,75,True +CTSPillarNetworkA,2892,2892,2892,1977-12-02,289.19999999999726,289.20844,2015-01-01 00:48:12,bin2892,35,True +CTSPillarNetworkA,2893,2893,2893,1977-12-03,289.2999999999973,289.30844,2015-01-01 00:48:13,bin2893,75,True +CTSPillarNetworkA,2894,2894,2894,1977-12-04,289.3999999999973,289.40845,2015-01-01 00:48:14,bin2894,35,True +CTSPillarNetworkA,2895,2895,2895,1977-12-05,289.4999999999973,289.50845,2015-01-01 00:48:15,bin2895,75,True +CTSPillarNetworkA,2896,2896,2896,1977-12-06,289.59999999999735,289.60846,2015-01-01 00:48:16,bin2896,35,True +CTSPillarNetworkA,2897,2897,2897,1977-12-07,289.6999999999974,289.70847,2015-01-01 00:48:17,bin2897,75,True +CTSPillarNetworkA,2898,2898,2898,1977-12-08,289.7999999999974,289.80847,2015-01-01 00:48:18,bin2898,35,True +CTSPillarNetworkA,2899,2899,2899,1977-12-09,289.8999999999974,289.90848,2015-01-01 00:48:19,bin2899,75,True +CTSPillarNetworkA,2900,2900,2900,1977-12-10,289.99999999999744,290.00848,2015-01-01 00:48:20,bin2900,35,True +CTSPillarNetworkA,2901,2901,2901,1977-12-11,290.09999999999746,290.1085,2015-01-01 00:48:21,bin2901,75,True +CTSPillarNetworkA,2902,2902,2902,1977-12-12,290.1999999999975,290.2085,2015-01-01 00:48:22,bin2902,35,True +CTSPillarNetworkA,2903,2903,2903,1977-12-13,290.2999999999975,290.3085,2015-01-01 00:48:23,bin2903,75,True +CTSPillarNetworkA,2904,2904,2904,1977-12-14,290.39999999999753,290.4085,2015-01-01 00:48:24,bin2904,35,True +CTSPillarNetworkA,2905,2905,2905,1977-12-15,290.49999999999756,290.5085,2015-01-01 00:48:25,bin2905,75,True +CTSPillarNetworkA,2906,2906,2906,1977-12-16,290.5999999999976,290.60852,2015-01-01 00:48:26,bin2906,35,True +CTSPillarNetworkA,2907,2907,2907,1977-12-17,290.6999999999976,290.70853,2015-01-01 00:48:27,bin2907,75,True +CTSPillarNetworkA,2908,2908,2908,1977-12-18,290.7999999999976,290.80853,2015-01-01 00:48:28,bin2908,35,True +CTSPillarNetworkA,2909,2909,2909,1977-12-19,290.89999999999765,290.90854,2015-01-01 00:48:29,bin2909,75,True +CTSPillarNetworkA,2910,2910,2910,1977-12-20,290.99999999999767,291.00854,2015-01-01 00:48:30,bin2910,35,True +CTSPillarNetworkA,2911,2911,2911,1977-12-21,291.0999999999977,291.10855,2015-01-01 00:48:31,bin2911,75,True +CTSPillarNetworkA,2912,2912,2912,1977-12-22,291.1999999999977,291.20856,2015-01-01 00:48:32,bin2912,35,True +CTSPillarNetworkA,2913,2913,2913,1977-12-23,291.29999999999774,291.30856,2015-01-01 00:48:33,bin2913,75,True +CTSPillarNetworkA,2914,2914,2914,1977-12-24,291.39999999999776,291.40857,2015-01-01 00:48:34,bin2914,35,True +CTSPillarNetworkA,2915,2915,2915,1977-12-25,291.4999999999978,291.50858,2015-01-01 00:48:35,bin2915,75,True +CTSPillarNetworkA,2916,2916,2916,1977-12-26,291.5999999999978,291.60858,2015-01-01 00:48:36,bin2916,35,True +CTSPillarNetworkA,2917,2917,2917,1977-12-27,291.69999999999783,291.7086,2015-01-01 00:48:37,bin2917,75,True +CTSPillarNetworkA,2918,2918,2918,1977-12-28,291.79999999999785,291.8086,2015-01-01 00:48:38,bin2918,35,True +CTSPillarNetworkA,2919,2919,2919,1977-12-29,291.8999999999979,291.9086,2015-01-01 00:48:39,bin2919,75,True +CTSPillarNetworkA,2920,2920,2920,1977-12-30,291.9999999999979,292.0086,2015-01-01 00:48:40,bin2920,35,True +CTSPillarNetworkA,2921,2921,2921,1977-12-31,292.0999999999979,292.1086,2015-01-01 00:48:41,bin2921,75,True +CTSPillarNetworkA,2922,2922,2922,1978-01-01,292.19999999999794,292.20862,2015-01-01 00:48:42,bin2922,35,True +CTSPillarNetworkA,2923,2923,2923,1978-01-02,292.29999999999797,292.30862,2015-01-01 00:48:43,bin2923,75,True +CTSPillarNetworkA,2924,2924,2924,1978-01-03,292.399999999998,292.40863,2015-01-01 00:48:44,bin2924,35,True +CTSPillarNetworkA,2925,2925,2925,1978-01-04,292.499999999998,292.50864,2015-01-01 00:48:45,bin2925,75,True +CTSPillarNetworkA,2926,2926,2926,1978-01-05,292.59999999999803,292.60864,2015-01-01 00:48:46,bin2926,35,True +CTSPillarNetworkA,2927,2927,2927,1978-01-06,292.69999999999806,292.70865,2015-01-01 00:48:47,bin2927,75,True +CTSPillarNetworkA,2928,2928,2928,1978-01-07,292.7999999999981,292.80865,2015-01-01 00:48:48,bin2928,35,True +CTSPillarNetworkA,2929,2929,2929,1978-01-08,292.8999999999981,292.90866,2015-01-01 00:48:49,bin2929,75,True +CTSPillarNetworkA,2930,2930,2930,1978-01-09,292.9999999999981,293.00867,2015-01-01 00:48:50,bin2930,35,True +CTSPillarNetworkA,2931,2931,2931,1978-01-10,293.09999999999815,293.10867,2015-01-01 00:48:51,bin2931,75,True +CTSPillarNetworkA,2932,2932,2932,1978-01-11,293.19999999999817,293.20868,2015-01-01 00:48:52,bin2932,35,True +CTSPillarNetworkA,2933,2933,2933,1978-01-12,293.2999999999982,293.3087,2015-01-01 00:48:53,bin2933,75,True +CTSPillarNetworkA,2934,2934,2934,1978-01-13,293.3999999999982,293.4087,2015-01-01 00:48:54,bin2934,35,True +CTSPillarNetworkA,2935,2935,2935,1978-01-14,293.49999999999824,293.5087,2015-01-01 00:48:55,bin2935,75,True +CTSPillarNetworkA,2936,2936,2936,1978-01-15,293.59999999999826,293.6087,2015-01-01 00:48:56,bin2936,35,True +CTSPillarNetworkA,2937,2937,2937,1978-01-16,293.6999999999983,293.7087,2015-01-01 00:48:57,bin2937,75,True +CTSPillarNetworkA,2938,2938,2938,1978-01-17,293.7999999999983,293.80872,2015-01-01 00:48:58,bin2938,35,True +CTSPillarNetworkA,2939,2939,2939,1978-01-18,293.89999999999833,293.90872,2015-01-01 00:48:59,bin2939,75,True +CTSPillarNetworkA,2940,2940,2940,1978-01-19,293.99999999999835,294.00873,2015-01-01 00:49:00,bin2940,35,True +CTSPillarNetworkA,2941,2941,2941,1978-01-20,294.0999999999984,294.10873,2015-01-01 00:49:01,bin2941,75,True +CTSPillarNetworkA,2942,2942,2942,1978-01-21,294.1999999999984,294.20874,2015-01-01 00:49:02,bin2942,35,True +CTSPillarNetworkA,2943,2943,2943,1978-01-22,294.2999999999984,294.30875,2015-01-01 00:49:03,bin2943,75,True +CTSPillarNetworkA,2944,2944,2944,1978-01-23,294.39999999999844,294.40875,2015-01-01 00:49:04,bin2944,35,True +CTSPillarNetworkA,2945,2945,2945,1978-01-24,294.49999999999847,294.50876,2015-01-01 00:49:05,bin2945,75,True +CTSPillarNetworkA,2946,2946,2946,1978-01-25,294.5999999999985,294.60876,2015-01-01 00:49:06,bin2946,35,True +CTSPillarNetworkA,2947,2947,2947,1978-01-26,294.6999999999985,294.70877,2015-01-01 00:49:07,bin2947,75,True +CTSPillarNetworkA,2948,2948,2948,1978-01-27,294.79999999999853,294.80878,2015-01-01 00:49:08,bin2948,35,True +CTSPillarNetworkA,2949,2949,2949,1978-01-28,294.89999999999856,294.90878,2015-01-01 00:49:09,bin2949,75,True +CTSPillarNetworkA,2950,2950,2950,1978-01-29,294.9999999999986,295.0088,2015-01-01 00:49:10,bin2950,35,True +CTSPillarNetworkA,2951,2951,2951,1978-01-30,295.0999999999986,295.1088,2015-01-01 00:49:11,bin2951,75,True +CTSPillarNetworkA,2952,2952,2952,1978-01-31,295.1999999999986,295.2088,2015-01-01 00:49:12,bin2952,35,True +CTSPillarNetworkA,2953,2953,2953,1978-02-01,295.29999999999865,295.3088,2015-01-01 00:49:13,bin2953,75,True +CTSPillarNetworkA,2954,2954,2954,1978-02-02,295.39999999999867,295.4088,2015-01-01 00:49:14,bin2954,35,True +CTSPillarNetworkA,2955,2955,2955,1978-02-03,295.4999999999987,295.50882,2015-01-01 00:49:15,bin2955,75,True +CTSPillarNetworkA,2956,2956,2956,1978-02-04,295.5999999999987,295.60883,2015-01-01 00:49:16,bin2956,35,True +CTSPillarNetworkA,2957,2957,2957,1978-02-05,295.69999999999874,295.70883,2015-01-01 00:49:17,bin2957,75,True +CTSPillarNetworkA,2958,2958,2958,1978-02-06,295.79999999999876,295.80884,2015-01-01 00:49:18,bin2958,35,True +CTSPillarNetworkA,2959,2959,2959,1978-02-07,295.8999999999988,295.90884,2015-01-01 00:49:19,bin2959,75,True +CTSPillarNetworkA,2960,2960,2960,1978-02-08,295.9999999999988,296.00885,2015-01-01 00:49:20,bin2960,35,True +CTSPillarNetworkA,2961,2961,2961,1978-02-09,296.09999999999883,296.10886,2015-01-01 00:49:21,bin2961,75,True +CTSPillarNetworkA,2962,2962,2962,1978-02-10,296.19999999999885,296.20886,2015-01-01 00:49:22,bin2962,35,True +CTSPillarNetworkA,2963,2963,2963,1978-02-11,296.2999999999989,296.30887,2015-01-01 00:49:23,bin2963,75,True +CTSPillarNetworkA,2964,2964,2964,1978-02-12,296.3999999999989,296.40887,2015-01-01 00:49:24,bin2964,35,True +CTSPillarNetworkA,2965,2965,2965,1978-02-13,296.4999999999989,296.50888,2015-01-01 00:49:25,bin2965,75,True +CTSPillarNetworkA,2966,2966,2966,1978-02-14,296.59999999999894,296.6089,2015-01-01 00:49:26,bin2966,35,True +CTSPillarNetworkA,2967,2967,2967,1978-02-15,296.69999999999897,296.7089,2015-01-01 00:49:27,bin2967,75,True +CTSPillarNetworkA,2968,2968,2968,1978-02-16,296.799999999999,296.8089,2015-01-01 00:49:28,bin2968,35,True +CTSPillarNetworkA,2969,2969,2969,1978-02-17,296.899999999999,296.9089,2015-01-01 00:49:29,bin2969,75,True +CTSPillarNetworkA,2970,2970,2970,1978-02-18,296.99999999999903,297.0089,2015-01-01 00:49:30,bin2970,35,True +CTSPillarNetworkA,2971,2971,2971,1978-02-19,297.09999999999906,297.10892,2015-01-01 00:49:31,bin2971,75,True +CTSPillarNetworkA,2972,2972,2972,1978-02-20,297.1999999999991,297.20892,2015-01-01 00:49:32,bin2972,35,True +CTSPillarNetworkA,2973,2973,2973,1978-02-21,297.2999999999991,297.30893,2015-01-01 00:49:33,bin2973,75,True +CTSPillarNetworkA,2974,2974,2974,1978-02-22,297.3999999999991,297.40894,2015-01-01 00:49:34,bin2974,35,True +CTSPillarNetworkA,2975,2975,2975,1978-02-23,297.49999999999915,297.50894,2015-01-01 00:49:35,bin2975,75,True +CTSPillarNetworkA,2976,2976,2976,1978-02-24,297.59999999999917,297.60895,2015-01-01 00:49:36,bin2976,35,True +CTSPillarNetworkA,2977,2977,2977,1978-02-25,297.6999999999992,297.70895,2015-01-01 00:49:37,bin2977,75,True +CTSPillarNetworkA,2978,2978,2978,1978-02-26,297.7999999999992,297.80896,2015-01-01 00:49:38,bin2978,35,True +CTSPillarNetworkA,2979,2979,2979,1978-02-27,297.89999999999924,297.90897,2015-01-01 00:49:39,bin2979,75,True +CTSPillarNetworkA,2980,2980,2980,1978-02-28,297.99999999999926,298.00897,2015-01-01 00:49:40,bin2980,35,True +CTSPillarNetworkA,2981,2981,2981,1978-03-01,298.0999999999993,298.10898,2015-01-01 00:49:41,bin2981,75,True +CTSPillarNetworkA,2982,2982,2982,1978-03-02,298.1999999999993,298.20898,2015-01-01 00:49:42,bin2982,35,True +CTSPillarNetworkA,2983,2983,2983,1978-03-03,298.29999999999933,298.309,2015-01-01 00:49:43,bin2983,75,True +CTSPillarNetworkA,2984,2984,2984,1978-03-04,298.39999999999935,298.409,2015-01-01 00:49:44,bin2984,35,True +CTSPillarNetworkA,2985,2985,2985,1978-03-05,298.4999999999994,298.509,2015-01-01 00:49:45,bin2985,75,True +CTSPillarNetworkA,2986,2986,2986,1978-03-06,298.5999999999994,298.609,2015-01-01 00:49:46,bin2986,35,True +CTSPillarNetworkA,2987,2987,2987,1978-03-07,298.6999999999994,298.709,2015-01-01 00:49:47,bin2987,75,True +CTSPillarNetworkA,2988,2988,2988,1978-03-08,298.79999999999944,298.80902,2015-01-01 00:49:48,bin2988,35,True +CTSPillarNetworkA,2989,2989,2989,1978-03-09,298.89999999999947,298.90903,2015-01-01 00:49:49,bin2989,75,True +CTSPillarNetworkA,2990,2990,2990,1978-03-10,298.9999999999995,299.00903,2015-01-01 00:49:50,bin2990,35,True +CTSPillarNetworkA,2991,2991,2991,1978-03-11,299.0999999999995,299.10904,2015-01-01 00:49:51,bin2991,75,True +CTSPillarNetworkA,2992,2992,2992,1978-03-12,299.19999999999953,299.20905,2015-01-01 00:49:52,bin2992,35,True +CTSPillarNetworkA,2993,2993,2993,1978-03-13,299.29999999999956,299.30905,2015-01-01 00:49:53,bin2993,75,True +CTSPillarNetworkA,2994,2994,2994,1978-03-14,299.3999999999996,299.40906,2015-01-01 00:49:54,bin2994,35,True +CTSPillarNetworkA,2995,2995,2995,1978-03-15,299.4999999999996,299.50906,2015-01-01 00:49:55,bin2995,75,True +CTSPillarNetworkA,2996,2996,2996,1978-03-16,299.5999999999996,299.60907,2015-01-01 00:49:56,bin2996,35,True +CTSPillarNetworkA,2997,2997,2997,1978-03-17,299.69999999999965,299.70908,2015-01-01 00:49:57,bin2997,75,True +CTSPillarNetworkA,2998,2998,2998,1978-03-18,299.79999999999967,299.80908,2015-01-01 00:49:58,bin2998,35,True +CTSPillarNetworkA,2999,2999,2999,1978-03-19,299.8999999999997,299.9091,2015-01-01 00:49:59,bin2999,75,True +CTSPillarNetworkA,3000,3000,3000,1978-03-20,299.9999999999997,300.0091,2015-01-01 00:50:00,bin3000,35,False +CTSPillarNetworkA,3001,3001,3001,1978-03-21,300.09999999999974,300.1091,2015-01-01 00:50:01,bin3001,75,False +CTSPillarNetworkA,3002,3002,3002,1978-03-22,300.19999999999976,300.2091,2015-01-01 00:50:02,bin3002,35,False +CTSPillarNetworkA,3003,3003,3003,1978-03-23,300.2999999999998,300.3091,2015-01-01 00:50:03,bin3003,75,False +CTSPillarNetworkA,3004,3004,3004,1978-03-24,300.3999999999998,300.40912,2015-01-01 00:50:04,bin3004,35,False +CTSPillarNetworkA,3005,3005,3005,1978-03-25,300.49999999999983,300.50912,2015-01-01 00:50:05,bin3005,75,False +CTSPillarNetworkA,3006,3006,3006,1978-03-26,300.59999999999985,300.60913,2015-01-01 00:50:06,bin3006,35,False +CTSPillarNetworkA,3007,3007,3007,1978-03-27,300.6999999999999,300.70914,2015-01-01 00:50:07,bin3007,75,False +CTSPillarNetworkA,3008,3008,3008,1978-03-28,300.7999999999999,300.80914,2015-01-01 00:50:08,bin3008,35,False +CTSPillarNetworkA,3009,3009,3009,1978-03-29,300.8999999999999,300.90915,2015-01-01 00:50:09,bin3009,75,False +CTSPillarNetworkA,3010,3010,3010,1978-03-30,300.99999999999994,301.00916,2015-01-01 00:50:10,bin3010,35,False +CTSPillarNetworkA,3011,3011,3011,1978-03-31,301.09999999999997,301.10916,2015-01-01 00:50:11,bin3011,75,False +CTSPillarNetworkA,3012,3012,3012,1978-04-01,301.2,301.20917,2015-01-01 00:50:12,bin3012,35,False +CTSPillarNetworkA,3013,3013,3013,1978-04-02,301.3,301.30917,2015-01-01 00:50:13,bin3013,75,False +CTSPillarNetworkA,3014,3014,3014,1978-04-03,301.40000000000003,301.40918,2015-01-01 00:50:14,bin3014,35,False +CTSPillarNetworkA,3015,3015,3015,1978-04-04,301.50000000000006,301.5092,2015-01-01 00:50:15,bin3015,75,False +CTSPillarNetworkA,3016,3016,3016,1978-04-05,301.6000000000001,301.6092,2015-01-01 00:50:16,bin3016,35,False +CTSPillarNetworkA,3017,3017,3017,1978-04-06,301.7000000000001,301.7092,2015-01-01 00:50:17,bin3017,75,False +CTSPillarNetworkA,3018,3018,3018,1978-04-07,301.8000000000001,301.8092,2015-01-01 00:50:18,bin3018,35,False +CTSPillarNetworkA,3019,3019,3019,1978-04-08,301.90000000000015,301.9092,2015-01-01 00:50:19,bin3019,75,False +CTSPillarNetworkA,3020,3020,3020,1978-04-09,302.00000000000017,302.00922,2015-01-01 00:50:20,bin3020,35,False +CTSPillarNetworkA,3021,3021,3021,1978-04-10,302.1000000000002,302.10922,2015-01-01 00:50:21,bin3021,75,False +CTSPillarNetworkA,3022,3022,3022,1978-04-11,302.2000000000002,302.20923,2015-01-01 00:50:22,bin3022,35,False +CTSPillarNetworkA,3023,3023,3023,1978-04-12,302.30000000000024,302.30923,2015-01-01 00:50:23,bin3023,75,False +CTSPillarNetworkA,3024,3024,3024,1978-04-13,302.40000000000026,302.40924,2015-01-01 00:50:24,bin3024,35,False +CTSPillarNetworkA,3025,3025,3025,1978-04-14,302.5000000000003,302.50925,2015-01-01 00:50:25,bin3025,75,False +CTSPillarNetworkA,3026,3026,3026,1978-04-15,302.6000000000003,302.60925,2015-01-01 00:50:26,bin3026,35,False +CTSPillarNetworkA,3027,3027,3027,1978-04-16,302.70000000000033,302.70926,2015-01-01 00:50:27,bin3027,75,False +CTSPillarNetworkA,3028,3028,3028,1978-04-17,302.80000000000035,302.80927,2015-01-01 00:50:28,bin3028,35,False +CTSPillarNetworkA,3029,3029,3029,1978-04-18,302.9000000000004,302.90927,2015-01-01 00:50:29,bin3029,75,False +CTSPillarNetworkA,3030,3030,3030,1978-04-19,303.0000000000004,303.00928,2015-01-01 00:50:30,bin3030,35,False +CTSPillarNetworkA,3031,3031,3031,1978-04-20,303.1000000000004,303.10928,2015-01-01 00:50:31,bin3031,75,False +CTSPillarNetworkA,3032,3032,3032,1978-04-21,303.20000000000044,303.2093,2015-01-01 00:50:32,bin3032,35,False +CTSPillarNetworkA,3033,3033,3033,1978-04-22,303.30000000000047,303.3093,2015-01-01 00:50:33,bin3033,75,False +CTSPillarNetworkA,3034,3034,3034,1978-04-23,303.4000000000005,303.4093,2015-01-01 00:50:34,bin3034,35,False +CTSPillarNetworkA,3035,3035,3035,1978-04-24,303.5000000000005,303.5093,2015-01-01 00:50:35,bin3035,75,False +CTSPillarNetworkA,3036,3036,3036,1978-04-25,303.60000000000053,303.6093,2015-01-01 00:50:36,bin3036,35,False +CTSPillarNetworkA,3037,3037,3037,1978-04-26,303.70000000000056,303.70932,2015-01-01 00:50:37,bin3037,75,False +CTSPillarNetworkA,3038,3038,3038,1978-04-27,303.8000000000006,303.80933,2015-01-01 00:50:38,bin3038,35,False +CTSPillarNetworkA,3039,3039,3039,1978-04-28,303.9000000000006,303.90933,2015-01-01 00:50:39,bin3039,75,False +CTSPillarNetworkA,3040,3040,3040,1978-04-29,304.0000000000006,304.00934,2015-01-01 00:50:40,bin3040,35,False +CTSPillarNetworkA,3041,3041,3041,1978-04-30,304.10000000000065,304.10934,2015-01-01 00:50:41,bin3041,75,False +CTSPillarNetworkA,3042,3042,3042,1978-05-01,304.20000000000067,304.20935,2015-01-01 00:50:42,bin3042,35,False +CTSPillarNetworkA,3043,3043,3043,1978-05-02,304.3000000000007,304.30936,2015-01-01 00:50:43,bin3043,75,False +CTSPillarNetworkA,3044,3044,3044,1978-05-03,304.4000000000007,304.40936,2015-01-01 00:50:44,bin3044,35,False +CTSPillarNetworkA,3045,3045,3045,1978-05-04,304.50000000000074,304.50937,2015-01-01 00:50:45,bin3045,75,False +CTSPillarNetworkA,3046,3046,3046,1978-05-05,304.60000000000076,304.60938,2015-01-01 00:50:46,bin3046,35,False +CTSPillarNetworkA,3047,3047,3047,1978-05-06,304.7000000000008,304.70938,2015-01-01 00:50:47,bin3047,75,False +CTSPillarNetworkA,3048,3048,3048,1978-05-07,304.8000000000008,304.8094,2015-01-01 00:50:48,bin3048,35,False +CTSPillarNetworkA,3049,3049,3049,1978-05-08,304.90000000000083,304.9094,2015-01-01 00:50:49,bin3049,75,False +CTSPillarNetworkA,3050,3050,3050,1978-05-09,305.00000000000085,305.0094,2015-01-01 00:50:50,bin3050,35,False +CTSPillarNetworkA,3051,3051,3051,1978-05-10,305.1000000000009,305.1094,2015-01-01 00:50:51,bin3051,75,False +CTSPillarNetworkA,3052,3052,3052,1978-05-11,305.2000000000009,305.2094,2015-01-01 00:50:52,bin3052,35,False +CTSPillarNetworkA,3053,3053,3053,1978-05-12,305.3000000000009,305.30942,2015-01-01 00:50:53,bin3053,75,False +CTSPillarNetworkA,3054,3054,3054,1978-05-13,305.40000000000094,305.40942,2015-01-01 00:50:54,bin3054,35,False +CTSPillarNetworkA,3055,3055,3055,1978-05-14,305.50000000000097,305.50943,2015-01-01 00:50:55,bin3055,75,False +CTSPillarNetworkA,3056,3056,3056,1978-05-15,305.600000000001,305.60944,2015-01-01 00:50:56,bin3056,35,False +CTSPillarNetworkA,3057,3057,3057,1978-05-16,305.700000000001,305.70944,2015-01-01 00:50:57,bin3057,75,False +CTSPillarNetworkA,3058,3058,3058,1978-05-17,305.80000000000103,305.80945,2015-01-01 00:50:58,bin3058,35,False +CTSPillarNetworkA,3059,3059,3059,1978-05-18,305.90000000000106,305.90945,2015-01-01 00:50:59,bin3059,75,False +CTSPillarNetworkA,3060,3060,3060,1978-05-19,306.0000000000011,306.00946,2015-01-01 00:51:00,bin3060,35,False +CTSPillarNetworkA,3061,3061,3061,1978-05-20,306.1000000000011,306.10947,2015-01-01 00:51:01,bin3061,75,False +CTSPillarNetworkA,3062,3062,3062,1978-05-21,306.2000000000011,306.20947,2015-01-01 00:51:02,bin3062,35,False +CTSPillarNetworkA,3063,3063,3063,1978-05-22,306.30000000000115,306.30948,2015-01-01 00:51:03,bin3063,75,False +CTSPillarNetworkA,3064,3064,3064,1978-05-23,306.40000000000117,306.4095,2015-01-01 00:51:04,bin3064,35,False +CTSPillarNetworkA,3065,3065,3065,1978-05-24,306.5000000000012,306.5095,2015-01-01 00:51:05,bin3065,75,False +CTSPillarNetworkA,3066,3066,3066,1978-05-25,306.6000000000012,306.6095,2015-01-01 00:51:06,bin3066,35,False +CTSPillarNetworkA,3067,3067,3067,1978-05-26,306.70000000000124,306.7095,2015-01-01 00:51:07,bin3067,75,False +CTSPillarNetworkA,3068,3068,3068,1978-05-27,306.80000000000126,306.8095,2015-01-01 00:51:08,bin3068,35,False +CTSPillarNetworkA,3069,3069,3069,1978-05-28,306.9000000000013,306.90952,2015-01-01 00:51:09,bin3069,75,False +CTSPillarNetworkA,3070,3070,3070,1978-05-29,307.0000000000013,307.00952,2015-01-01 00:51:10,bin3070,35,False +CTSPillarNetworkA,3071,3071,3071,1978-05-30,307.10000000000133,307.10953,2015-01-01 00:51:11,bin3071,75,False +CTSPillarNetworkA,3072,3072,3072,1978-05-31,307.20000000000135,307.20953,2015-01-01 00:51:12,bin3072,35,False +CTSPillarNetworkA,3073,3073,3073,1978-06-01,307.3000000000014,307.30954,2015-01-01 00:51:13,bin3073,75,False +CTSPillarNetworkA,3074,3074,3074,1978-06-02,307.4000000000014,307.40955,2015-01-01 00:51:14,bin3074,35,False +CTSPillarNetworkA,3075,3075,3075,1978-06-03,307.5000000000014,307.50955,2015-01-01 00:51:15,bin3075,75,False +CTSPillarNetworkA,3076,3076,3076,1978-06-04,307.60000000000144,307.60956,2015-01-01 00:51:16,bin3076,35,False +CTSPillarNetworkA,3077,3077,3077,1978-06-05,307.70000000000147,307.70956,2015-01-01 00:51:17,bin3077,75,False +CTSPillarNetworkA,3078,3078,3078,1978-06-06,307.8000000000015,307.80957,2015-01-01 00:51:18,bin3078,35,False +CTSPillarNetworkA,3079,3079,3079,1978-06-07,307.9000000000015,307.90958,2015-01-01 00:51:19,bin3079,75,False +CTSPillarNetworkA,3080,3080,3080,1978-06-08,308.00000000000153,308.00958,2015-01-01 00:51:20,bin3080,35,False +CTSPillarNetworkA,3081,3081,3081,1978-06-09,308.10000000000156,308.1096,2015-01-01 00:51:21,bin3081,75,False +CTSPillarNetworkA,3082,3082,3082,1978-06-10,308.2000000000016,308.2096,2015-01-01 00:51:22,bin3082,35,False +CTSPillarNetworkA,3083,3083,3083,1978-06-11,308.3000000000016,308.3096,2015-01-01 00:51:23,bin3083,75,False +CTSPillarNetworkA,3084,3084,3084,1978-06-12,308.4000000000016,308.4096,2015-01-01 00:51:24,bin3084,35,False +CTSPillarNetworkA,3085,3085,3085,1978-06-13,308.50000000000165,308.5096,2015-01-01 00:51:25,bin3085,75,False +CTSPillarNetworkA,3086,3086,3086,1978-06-14,308.60000000000167,308.60962,2015-01-01 00:51:26,bin3086,35,False +CTSPillarNetworkA,3087,3087,3087,1978-06-15,308.7000000000017,308.70963,2015-01-01 00:51:27,bin3087,75,False +CTSPillarNetworkA,3088,3088,3088,1978-06-16,308.8000000000017,308.80963,2015-01-01 00:51:28,bin3088,35,False +CTSPillarNetworkA,3089,3089,3089,1978-06-17,308.90000000000174,308.90964,2015-01-01 00:51:29,bin3089,75,False +CTSPillarNetworkA,3090,3090,3090,1978-06-18,309.00000000000176,309.00964,2015-01-01 00:51:30,bin3090,35,False +CTSPillarNetworkA,3091,3091,3091,1978-06-19,309.1000000000018,309.10965,2015-01-01 00:51:31,bin3091,75,False +CTSPillarNetworkA,3092,3092,3092,1978-06-20,309.2000000000018,309.20966,2015-01-01 00:51:32,bin3092,35,False +CTSPillarNetworkA,3093,3093,3093,1978-06-21,309.30000000000183,309.30966,2015-01-01 00:51:33,bin3093,75,False +CTSPillarNetworkA,3094,3094,3094,1978-06-22,309.40000000000185,309.40967,2015-01-01 00:51:34,bin3094,35,False +CTSPillarNetworkA,3095,3095,3095,1978-06-23,309.5000000000019,309.50967,2015-01-01 00:51:35,bin3095,75,False +CTSPillarNetworkA,3096,3096,3096,1978-06-24,309.6000000000019,309.60968,2015-01-01 00:51:36,bin3096,35,False +CTSPillarNetworkA,3097,3097,3097,1978-06-25,309.7000000000019,309.7097,2015-01-01 00:51:37,bin3097,75,False +CTSPillarNetworkA,3098,3098,3098,1978-06-26,309.80000000000194,309.8097,2015-01-01 00:51:38,bin3098,35,False +CTSPillarNetworkA,3099,3099,3099,1978-06-27,309.90000000000197,309.9097,2015-01-01 00:51:39,bin3099,75,False +CTSPillarNetworkA,3100,3100,3100,1978-06-28,310.000000000002,310.0097,2015-01-01 00:51:40,bin3100,35,False +CTSPillarNetworkA,3101,3101,3101,1978-06-29,310.100000000002,310.1097,2015-01-01 00:51:41,bin3101,75,False +CTSPillarNetworkA,3102,3102,3102,1978-06-30,310.20000000000203,310.20972,2015-01-01 00:51:42,bin3102,35,False +CTSPillarNetworkA,3103,3103,3103,1978-07-01,310.30000000000206,310.30972,2015-01-01 00:51:43,bin3103,75,False +CTSPillarNetworkA,3104,3104,3104,1978-07-02,310.4000000000021,310.40973,2015-01-01 00:51:44,bin3104,35,False +CTSPillarNetworkA,3105,3105,3105,1978-07-03,310.5000000000021,310.50974,2015-01-01 00:51:45,bin3105,75,False +CTSPillarNetworkA,3106,3106,3106,1978-07-04,310.6000000000021,310.60974,2015-01-01 00:51:46,bin3106,35,False +CTSPillarNetworkA,3107,3107,3107,1978-07-05,310.70000000000215,310.70975,2015-01-01 00:51:47,bin3107,75,False +CTSPillarNetworkA,3108,3108,3108,1978-07-06,310.80000000000217,310.80975,2015-01-01 00:51:48,bin3108,35,False +CTSPillarNetworkA,3109,3109,3109,1978-07-07,310.9000000000022,310.90976,2015-01-01 00:51:49,bin3109,75,False +CTSPillarNetworkA,3110,3110,3110,1978-07-08,311.0000000000022,311.00977,2015-01-01 00:51:50,bin3110,35,False +CTSPillarNetworkA,3111,3111,3111,1978-07-09,311.10000000000224,311.10977,2015-01-01 00:51:51,bin3111,75,False +CTSPillarNetworkA,3112,3112,3112,1978-07-10,311.20000000000226,311.20978,2015-01-01 00:51:52,bin3112,35,False +CTSPillarNetworkA,3113,3113,3113,1978-07-11,311.3000000000023,311.30978,2015-01-01 00:51:53,bin3113,75,False +CTSPillarNetworkA,3114,3114,3114,1978-07-12,311.4000000000023,311.4098,2015-01-01 00:51:54,bin3114,35,False +CTSPillarNetworkA,3115,3115,3115,1978-07-13,311.50000000000233,311.5098,2015-01-01 00:51:55,bin3115,75,False +CTSPillarNetworkA,3116,3116,3116,1978-07-14,311.60000000000235,311.6098,2015-01-01 00:51:56,bin3116,35,False +CTSPillarNetworkA,3117,3117,3117,1978-07-15,311.7000000000024,311.7098,2015-01-01 00:51:57,bin3117,75,False +CTSPillarNetworkA,3118,3118,3118,1978-07-16,311.8000000000024,311.8098,2015-01-01 00:51:58,bin3118,35,False +CTSPillarNetworkA,3119,3119,3119,1978-07-17,311.9000000000024,311.90982,2015-01-01 00:51:59,bin3119,75,False +CTSPillarNetworkA,3120,3120,3120,1978-07-18,312.00000000000244,312.00983,2015-01-01 00:52:00,bin3120,35,False +CTSPillarNetworkA,3121,3121,3121,1978-07-19,312.10000000000247,312.10983,2015-01-01 00:52:01,bin3121,75,False +CTSPillarNetworkA,3122,3122,3122,1978-07-20,312.2000000000025,312.20984,2015-01-01 00:52:02,bin3122,35,False +CTSPillarNetworkA,3123,3123,3123,1978-07-21,312.3000000000025,312.30984,2015-01-01 00:52:03,bin3123,75,False +CTSPillarNetworkA,3124,3124,3124,1978-07-22,312.40000000000254,312.40985,2015-01-01 00:52:04,bin3124,35,False +CTSPillarNetworkA,3125,3125,3125,1978-07-23,312.50000000000256,312.50986,2015-01-01 00:52:05,bin3125,75,False +CTSPillarNetworkA,3126,3126,3126,1978-07-24,312.6000000000026,312.60986,2015-01-01 00:52:06,bin3126,35,False +CTSPillarNetworkA,3127,3127,3127,1978-07-25,312.7000000000026,312.70987,2015-01-01 00:52:07,bin3127,75,False +CTSPillarNetworkA,3128,3128,3128,1978-07-26,312.8000000000026,312.80988,2015-01-01 00:52:08,bin3128,35,False +CTSPillarNetworkA,3129,3129,3129,1978-07-27,312.90000000000265,312.90988,2015-01-01 00:52:09,bin3129,75,False +CTSPillarNetworkA,3130,3130,3130,1978-07-28,313.0000000000027,313.0099,2015-01-01 00:52:10,bin3130,35,False +CTSPillarNetworkA,3131,3131,3131,1978-07-29,313.1000000000027,313.1099,2015-01-01 00:52:11,bin3131,75,False +CTSPillarNetworkA,3132,3132,3132,1978-07-30,313.2000000000027,313.2099,2015-01-01 00:52:12,bin3132,35,False +CTSPillarNetworkA,3133,3133,3133,1978-07-31,313.30000000000274,313.3099,2015-01-01 00:52:13,bin3133,75,False +CTSPillarNetworkA,3134,3134,3134,1978-08-01,313.40000000000276,313.4099,2015-01-01 00:52:14,bin3134,35,False +CTSPillarNetworkA,3135,3135,3135,1978-08-02,313.5000000000028,313.50992,2015-01-01 00:52:15,bin3135,75,False +CTSPillarNetworkA,3136,3136,3136,1978-08-03,313.6000000000028,313.60992,2015-01-01 00:52:16,bin3136,35,False +CTSPillarNetworkA,3137,3137,3137,1978-08-04,313.70000000000283,313.70993,2015-01-01 00:52:17,bin3137,75,False +CTSPillarNetworkA,3138,3138,3138,1978-08-05,313.80000000000285,313.80994,2015-01-01 00:52:18,bin3138,35,False +CTSPillarNetworkA,3139,3139,3139,1978-08-06,313.9000000000029,313.90994,2015-01-01 00:52:19,bin3139,75,False +CTSPillarNetworkA,3140,3140,3140,1978-08-07,314.0000000000029,314.00995,2015-01-01 00:52:20,bin3140,35,False +CTSPillarNetworkA,3141,3141,3141,1978-08-08,314.1000000000029,314.10995,2015-01-01 00:52:21,bin3141,75,False +CTSPillarNetworkA,3142,3142,3142,1978-08-09,314.20000000000294,314.20996,2015-01-01 00:52:22,bin3142,35,False +CTSPillarNetworkA,3143,3143,3143,1978-08-10,314.30000000000297,314.30997,2015-01-01 00:52:23,bin3143,75,False +CTSPillarNetworkA,3144,3144,3144,1978-08-11,314.400000000003,314.40997,2015-01-01 00:52:24,bin3144,35,False +CTSPillarNetworkA,3145,3145,3145,1978-08-12,314.500000000003,314.50998,2015-01-01 00:52:25,bin3145,75,False +CTSPillarNetworkA,3146,3146,3146,1978-08-13,314.60000000000304,314.61,2015-01-01 00:52:26,bin3146,35,False +CTSPillarNetworkA,3147,3147,3147,1978-08-14,314.70000000000306,314.71,2015-01-01 00:52:27,bin3147,75,False +CTSPillarNetworkA,3148,3148,3148,1978-08-15,314.8000000000031,314.81,2015-01-01 00:52:28,bin3148,35,False +CTSPillarNetworkA,3149,3149,3149,1978-08-16,314.9000000000031,314.91,2015-01-01 00:52:29,bin3149,75,False +CTSPillarNetworkA,3150,3150,3150,1978-08-17,315.0000000000031,315.01,2015-01-01 00:52:30,bin3150,35,False +CTSPillarNetworkA,3151,3151,3151,1978-08-18,315.10000000000315,315.11002,2015-01-01 00:52:31,bin3151,75,False +CTSPillarNetworkA,3152,3152,3152,1978-08-19,315.2000000000032,315.21002,2015-01-01 00:52:32,bin3152,35,False +CTSPillarNetworkA,3153,3153,3153,1978-08-20,315.3000000000032,315.31003,2015-01-01 00:52:33,bin3153,75,False +CTSPillarNetworkA,3154,3154,3154,1978-08-21,315.4000000000032,315.41003,2015-01-01 00:52:34,bin3154,35,False +CTSPillarNetworkA,3155,3155,3155,1978-08-22,315.50000000000324,315.51004,2015-01-01 00:52:35,bin3155,75,False +CTSPillarNetworkA,3156,3156,3156,1978-08-23,315.60000000000326,315.61005,2015-01-01 00:52:36,bin3156,35,False +CTSPillarNetworkA,3157,3157,3157,1978-08-24,315.7000000000033,315.71005,2015-01-01 00:52:37,bin3157,75,False +CTSPillarNetworkA,3158,3158,3158,1978-08-25,315.8000000000033,315.81006,2015-01-01 00:52:38,bin3158,35,False +CTSPillarNetworkA,3159,3159,3159,1978-08-26,315.90000000000333,315.91006,2015-01-01 00:52:39,bin3159,75,False +CTSPillarNetworkA,3160,3160,3160,1978-08-27,316.00000000000335,316.01007,2015-01-01 00:52:40,bin3160,35,False +CTSPillarNetworkA,3161,3161,3161,1978-08-28,316.1000000000034,316.11008,2015-01-01 00:52:41,bin3161,75,False +CTSPillarNetworkA,3162,3162,3162,1978-08-29,316.2000000000034,316.21008,2015-01-01 00:52:42,bin3162,35,False +CTSPillarNetworkA,3163,3163,3163,1978-08-30,316.3000000000034,316.3101,2015-01-01 00:52:43,bin3163,75,False +CTSPillarNetworkA,3164,3164,3164,1978-08-31,316.40000000000344,316.4101,2015-01-01 00:52:44,bin3164,35,False +CTSPillarNetworkA,3165,3165,3165,1978-09-01,316.50000000000347,316.5101,2015-01-01 00:52:45,bin3165,75,False +CTSPillarNetworkA,3166,3166,3166,1978-09-02,316.6000000000035,316.6101,2015-01-01 00:52:46,bin3166,35,False +CTSPillarNetworkA,3167,3167,3167,1978-09-03,316.7000000000035,316.7101,2015-01-01 00:52:47,bin3167,75,False +CTSPillarNetworkA,3168,3168,3168,1978-09-04,316.80000000000354,316.81012,2015-01-01 00:52:48,bin3168,35,False +CTSPillarNetworkA,3169,3169,3169,1978-09-05,316.90000000000356,316.91013,2015-01-01 00:52:49,bin3169,75,False +CTSPillarNetworkA,3170,3170,3170,1978-09-06,317.0000000000036,317.01013,2015-01-01 00:52:50,bin3170,35,False +CTSPillarNetworkA,3171,3171,3171,1978-09-07,317.1000000000036,317.11014,2015-01-01 00:52:51,bin3171,75,False +CTSPillarNetworkA,3172,3172,3172,1978-09-08,317.2000000000036,317.21014,2015-01-01 00:52:52,bin3172,35,False +CTSPillarNetworkA,3173,3173,3173,1978-09-09,317.30000000000365,317.31015,2015-01-01 00:52:53,bin3173,75,False +CTSPillarNetworkA,3174,3174,3174,1978-09-10,317.4000000000037,317.41016,2015-01-01 00:52:54,bin3174,35,False +CTSPillarNetworkA,3175,3175,3175,1978-09-11,317.5000000000037,317.51016,2015-01-01 00:52:55,bin3175,75,False +CTSPillarNetworkA,3176,3176,3176,1978-09-12,317.6000000000037,317.61017,2015-01-01 00:52:56,bin3176,35,False +CTSPillarNetworkA,3177,3177,3177,1978-09-13,317.70000000000374,317.71017,2015-01-01 00:52:57,bin3177,75,False +CTSPillarNetworkA,3178,3178,3178,1978-09-14,317.80000000000376,317.81018,2015-01-01 00:52:58,bin3178,35,False +CTSPillarNetworkA,3179,3179,3179,1978-09-15,317.9000000000038,317.9102,2015-01-01 00:52:59,bin3179,75,False +CTSPillarNetworkA,3180,3180,3180,1978-09-16,318.0000000000038,318.0102,2015-01-01 00:53:00,bin3180,35,False +CTSPillarNetworkA,3181,3181,3181,1978-09-17,318.10000000000383,318.1102,2015-01-01 00:53:01,bin3181,75,False +CTSPillarNetworkA,3182,3182,3182,1978-09-18,318.20000000000385,318.2102,2015-01-01 00:53:02,bin3182,35,False +CTSPillarNetworkA,3183,3183,3183,1978-09-19,318.3000000000039,318.3102,2015-01-01 00:53:03,bin3183,75,False +CTSPillarNetworkA,3184,3184,3184,1978-09-20,318.4000000000039,318.41022,2015-01-01 00:53:04,bin3184,35,False +CTSPillarNetworkA,3185,3185,3185,1978-09-21,318.5000000000039,318.51022,2015-01-01 00:53:05,bin3185,75,False +CTSPillarNetworkA,3186,3186,3186,1978-09-22,318.60000000000394,318.61023,2015-01-01 00:53:06,bin3186,35,False +CTSPillarNetworkA,3187,3187,3187,1978-09-23,318.70000000000397,318.71024,2015-01-01 00:53:07,bin3187,75,False +CTSPillarNetworkA,3188,3188,3188,1978-09-24,318.800000000004,318.81024,2015-01-01 00:53:08,bin3188,35,False +CTSPillarNetworkA,3189,3189,3189,1978-09-25,318.900000000004,318.91025,2015-01-01 00:53:09,bin3189,75,False +CTSPillarNetworkA,3190,3190,3190,1978-09-26,319.00000000000404,319.01025,2015-01-01 00:53:10,bin3190,35,False +CTSPillarNetworkA,3191,3191,3191,1978-09-27,319.10000000000406,319.11026,2015-01-01 00:53:11,bin3191,75,False +CTSPillarNetworkA,3192,3192,3192,1978-09-28,319.2000000000041,319.21027,2015-01-01 00:53:12,bin3192,35,False +CTSPillarNetworkA,3193,3193,3193,1978-09-29,319.3000000000041,319.31027,2015-01-01 00:53:13,bin3193,75,False +CTSPillarNetworkA,3194,3194,3194,1978-09-30,319.4000000000041,319.41028,2015-01-01 00:53:14,bin3194,35,False +CTSPillarNetworkA,3195,3195,3195,1978-10-01,319.50000000000415,319.51028,2015-01-01 00:53:15,bin3195,75,False +CTSPillarNetworkA,3196,3196,3196,1978-10-02,319.6000000000042,319.6103,2015-01-01 00:53:16,bin3196,35,False +CTSPillarNetworkA,3197,3197,3197,1978-10-03,319.7000000000042,319.7103,2015-01-01 00:53:17,bin3197,75,False +CTSPillarNetworkA,3198,3198,3198,1978-10-04,319.8000000000042,319.8103,2015-01-01 00:53:18,bin3198,35,False +CTSPillarNetworkA,3199,3199,3199,1978-10-05,319.90000000000424,319.9103,2015-01-01 00:53:19,bin3199,75,False +CTSPillarNetworkA,3200,3200,3200,1978-10-06,320.00000000000426,320.0103,2015-01-01 00:53:20,bin3200,35,False +CTSPillarNetworkA,3201,3201,3201,1978-10-07,320.1000000000043,320.11032,2015-01-01 00:53:21,bin3201,75,False +CTSPillarNetworkA,3202,3202,3202,1978-10-08,320.2000000000043,320.21033,2015-01-01 00:53:22,bin3202,35,False +CTSPillarNetworkA,3203,3203,3203,1978-10-09,320.30000000000433,320.31033,2015-01-01 00:53:23,bin3203,75,False +CTSPillarNetworkA,3204,3204,3204,1978-10-10,320.40000000000435,320.41034,2015-01-01 00:53:24,bin3204,35,False +CTSPillarNetworkA,3205,3205,3205,1978-10-11,320.5000000000044,320.51035,2015-01-01 00:53:25,bin3205,75,False +CTSPillarNetworkA,3206,3206,3206,1978-10-12,320.6000000000044,320.61035,2015-01-01 00:53:26,bin3206,35,False +CTSPillarNetworkA,3207,3207,3207,1978-10-13,320.7000000000044,320.71036,2015-01-01 00:53:27,bin3207,75,False +CTSPillarNetworkA,3208,3208,3208,1978-10-14,320.80000000000445,320.81036,2015-01-01 00:53:28,bin3208,35,False +CTSPillarNetworkA,3209,3209,3209,1978-10-15,320.90000000000447,320.91037,2015-01-01 00:53:29,bin3209,75,False +CTSPillarNetworkA,3210,3210,3210,1978-10-16,321.0000000000045,321.01038,2015-01-01 00:53:30,bin3210,35,False +CTSPillarNetworkA,3211,3211,3211,1978-10-17,321.1000000000045,321.11038,2015-01-01 00:53:31,bin3211,75,False +CTSPillarNetworkA,3212,3212,3212,1978-10-18,321.20000000000454,321.2104,2015-01-01 00:53:32,bin3212,35,False +CTSPillarNetworkA,3213,3213,3213,1978-10-19,321.30000000000456,321.3104,2015-01-01 00:53:33,bin3213,75,False +CTSPillarNetworkA,3214,3214,3214,1978-10-20,321.4000000000046,321.4104,2015-01-01 00:53:34,bin3214,35,False +CTSPillarNetworkA,3215,3215,3215,1978-10-21,321.5000000000046,321.5104,2015-01-01 00:53:35,bin3215,75,False +CTSPillarNetworkA,3216,3216,3216,1978-10-22,321.6000000000046,321.6104,2015-01-01 00:53:36,bin3216,35,False +CTSPillarNetworkA,3217,3217,3217,1978-10-23,321.70000000000465,321.71042,2015-01-01 00:53:37,bin3217,75,False +CTSPillarNetworkA,3218,3218,3218,1978-10-24,321.8000000000047,321.81042,2015-01-01 00:53:38,bin3218,35,False +CTSPillarNetworkA,3219,3219,3219,1978-10-25,321.9000000000047,321.91043,2015-01-01 00:53:39,bin3219,75,False +CTSPillarNetworkA,3220,3220,3220,1978-10-26,322.0000000000047,322.01044,2015-01-01 00:53:40,bin3220,35,False +CTSPillarNetworkA,3221,3221,3221,1978-10-27,322.10000000000474,322.11044,2015-01-01 00:53:41,bin3221,75,False +CTSPillarNetworkA,3222,3222,3222,1978-10-28,322.20000000000476,322.21045,2015-01-01 00:53:42,bin3222,35,False +CTSPillarNetworkA,3223,3223,3223,1978-10-29,322.3000000000048,322.31046,2015-01-01 00:53:43,bin3223,75,False +CTSPillarNetworkA,3224,3224,3224,1978-10-30,322.4000000000048,322.41046,2015-01-01 00:53:44,bin3224,35,False +CTSPillarNetworkA,3225,3225,3225,1978-10-31,322.50000000000483,322.51047,2015-01-01 00:53:45,bin3225,75,False +CTSPillarNetworkA,3226,3226,3226,1978-11-01,322.60000000000485,322.61047,2015-01-01 00:53:46,bin3226,35,False +CTSPillarNetworkA,3227,3227,3227,1978-11-02,322.7000000000049,322.71048,2015-01-01 00:53:47,bin3227,75,False +CTSPillarNetworkA,3228,3228,3228,1978-11-03,322.8000000000049,322.8105,2015-01-01 00:53:48,bin3228,35,False +CTSPillarNetworkA,3229,3229,3229,1978-11-04,322.9000000000049,322.9105,2015-01-01 00:53:49,bin3229,75,False +CTSPillarNetworkA,3230,3230,3230,1978-11-05,323.00000000000495,323.0105,2015-01-01 00:53:50,bin3230,35,False +CTSPillarNetworkA,3231,3231,3231,1978-11-06,323.10000000000497,323.1105,2015-01-01 00:53:51,bin3231,75,False +CTSPillarNetworkA,3232,3232,3232,1978-11-07,323.200000000005,323.2105,2015-01-01 00:53:52,bin3232,35,False +CTSPillarNetworkA,3233,3233,3233,1978-11-08,323.300000000005,323.31052,2015-01-01 00:53:53,bin3233,75,False +CTSPillarNetworkA,3234,3234,3234,1978-11-09,323.40000000000504,323.41052,2015-01-01 00:53:54,bin3234,35,False +CTSPillarNetworkA,3235,3235,3235,1978-11-10,323.50000000000506,323.51053,2015-01-01 00:53:55,bin3235,75,False +CTSPillarNetworkA,3236,3236,3236,1978-11-11,323.6000000000051,323.61053,2015-01-01 00:53:56,bin3236,35,False +CTSPillarNetworkA,3237,3237,3237,1978-11-12,323.7000000000051,323.71054,2015-01-01 00:53:57,bin3237,75,False +CTSPillarNetworkA,3238,3238,3238,1978-11-13,323.8000000000051,323.81055,2015-01-01 00:53:58,bin3238,35,False +CTSPillarNetworkA,3239,3239,3239,1978-11-14,323.90000000000515,323.91055,2015-01-01 00:53:59,bin3239,75,False +CTSPillarNetworkA,3240,3240,3240,1978-11-15,324.0000000000052,324.01056,2015-01-01 00:54:00,bin3240,35,False +CTSPillarNetworkA,3241,3241,3241,1978-11-16,324.1000000000052,324.11057,2015-01-01 00:54:01,bin3241,75,False +CTSPillarNetworkA,3242,3242,3242,1978-11-17,324.2000000000052,324.21057,2015-01-01 00:54:02,bin3242,35,False +CTSPillarNetworkA,3243,3243,3243,1978-11-18,324.30000000000524,324.31058,2015-01-01 00:54:03,bin3243,75,False +CTSPillarNetworkA,3244,3244,3244,1978-11-19,324.40000000000526,324.41058,2015-01-01 00:54:04,bin3244,35,False +CTSPillarNetworkA,3245,3245,3245,1978-11-20,324.5000000000053,324.5106,2015-01-01 00:54:05,bin3245,75,False +CTSPillarNetworkA,3246,3246,3246,1978-11-21,324.6000000000053,324.6106,2015-01-01 00:54:06,bin3246,35,False +CTSPillarNetworkA,3247,3247,3247,1978-11-22,324.70000000000533,324.7106,2015-01-01 00:54:07,bin3247,75,False +CTSPillarNetworkA,3248,3248,3248,1978-11-23,324.80000000000535,324.8106,2015-01-01 00:54:08,bin3248,35,False +CTSPillarNetworkA,3249,3249,3249,1978-11-24,324.9000000000054,324.9106,2015-01-01 00:54:09,bin3249,75,False +CTSPillarNetworkA,3250,3250,3250,1978-11-25,325.0000000000054,325.01062,2015-01-01 00:54:10,bin3250,35,False +CTSPillarNetworkA,3251,3251,3251,1978-11-26,325.1000000000054,325.11063,2015-01-01 00:54:11,bin3251,75,False +CTSPillarNetworkA,3252,3252,3252,1978-11-27,325.20000000000545,325.21063,2015-01-01 00:54:12,bin3252,35,False +CTSPillarNetworkA,3253,3253,3253,1978-11-28,325.30000000000547,325.31064,2015-01-01 00:54:13,bin3253,75,False +CTSPillarNetworkA,3254,3254,3254,1978-11-29,325.4000000000055,325.41064,2015-01-01 00:54:14,bin3254,35,False +CTSPillarNetworkA,3255,3255,3255,1978-11-30,325.5000000000055,325.51065,2015-01-01 00:54:15,bin3255,75,False +CTSPillarNetworkA,3256,3256,3256,1978-12-01,325.60000000000554,325.61066,2015-01-01 00:54:16,bin3256,35,False +CTSPillarNetworkA,3257,3257,3257,1978-12-02,325.70000000000556,325.71066,2015-01-01 00:54:17,bin3257,75,False +CTSPillarNetworkA,3258,3258,3258,1978-12-03,325.8000000000056,325.81067,2015-01-01 00:54:18,bin3258,35,False +CTSPillarNetworkA,3259,3259,3259,1978-12-04,325.9000000000056,325.91068,2015-01-01 00:54:19,bin3259,75,False +CTSPillarNetworkA,3260,3260,3260,1978-12-05,326.0000000000056,326.01068,2015-01-01 00:54:20,bin3260,35,False +CTSPillarNetworkA,3261,3261,3261,1978-12-06,326.10000000000565,326.1107,2015-01-01 00:54:21,bin3261,75,False +CTSPillarNetworkA,3262,3262,3262,1978-12-07,326.2000000000057,326.2107,2015-01-01 00:54:22,bin3262,35,False +CTSPillarNetworkA,3263,3263,3263,1978-12-08,326.3000000000057,326.3107,2015-01-01 00:54:23,bin3263,75,False +CTSPillarNetworkA,3264,3264,3264,1978-12-09,326.4000000000057,326.4107,2015-01-01 00:54:24,bin3264,35,False +CTSPillarNetworkA,3265,3265,3265,1978-12-10,326.50000000000574,326.5107,2015-01-01 00:54:25,bin3265,75,False +CTSPillarNetworkA,3266,3266,3266,1978-12-11,326.60000000000576,326.61072,2015-01-01 00:54:26,bin3266,35,False +CTSPillarNetworkA,3267,3267,3267,1978-12-12,326.7000000000058,326.71072,2015-01-01 00:54:27,bin3267,75,False +CTSPillarNetworkA,3268,3268,3268,1978-12-13,326.8000000000058,326.81073,2015-01-01 00:54:28,bin3268,35,False +CTSPillarNetworkA,3269,3269,3269,1978-12-14,326.90000000000583,326.91074,2015-01-01 00:54:29,bin3269,75,False +CTSPillarNetworkA,3270,3270,3270,1978-12-15,327.00000000000585,327.01074,2015-01-01 00:54:30,bin3270,35,False +CTSPillarNetworkA,3271,3271,3271,1978-12-16,327.1000000000059,327.11075,2015-01-01 00:54:31,bin3271,75,False +CTSPillarNetworkA,3272,3272,3272,1978-12-17,327.2000000000059,327.21075,2015-01-01 00:54:32,bin3272,35,False +CTSPillarNetworkA,3273,3273,3273,1978-12-18,327.3000000000059,327.31076,2015-01-01 00:54:33,bin3273,75,False +CTSPillarNetworkA,3274,3274,3274,1978-12-19,327.40000000000595,327.41077,2015-01-01 00:54:34,bin3274,35,False +CTSPillarNetworkA,3275,3275,3275,1978-12-20,327.50000000000597,327.51077,2015-01-01 00:54:35,bin3275,75,False +CTSPillarNetworkA,3276,3276,3276,1978-12-21,327.600000000006,327.61078,2015-01-01 00:54:36,bin3276,35,False +CTSPillarNetworkA,3277,3277,3277,1978-12-22,327.700000000006,327.7108,2015-01-01 00:54:37,bin3277,75,False +CTSPillarNetworkA,3278,3278,3278,1978-12-23,327.80000000000604,327.8108,2015-01-01 00:54:38,bin3278,35,False +CTSPillarNetworkA,3279,3279,3279,1978-12-24,327.90000000000606,327.9108,2015-01-01 00:54:39,bin3279,75,False +CTSPillarNetworkA,3280,3280,3280,1978-12-25,328.0000000000061,328.0108,2015-01-01 00:54:40,bin3280,35,False +CTSPillarNetworkA,3281,3281,3281,1978-12-26,328.1000000000061,328.1108,2015-01-01 00:54:41,bin3281,75,False +CTSPillarNetworkA,3282,3282,3282,1978-12-27,328.2000000000061,328.21082,2015-01-01 00:54:42,bin3282,35,False +CTSPillarNetworkA,3283,3283,3283,1978-12-28,328.30000000000615,328.31082,2015-01-01 00:54:43,bin3283,75,False +CTSPillarNetworkA,3284,3284,3284,1978-12-29,328.4000000000062,328.41083,2015-01-01 00:54:44,bin3284,35,False +CTSPillarNetworkA,3285,3285,3285,1978-12-30,328.5000000000062,328.51083,2015-01-01 00:54:45,bin3285,75,False +CTSPillarNetworkA,3286,3286,3286,1978-12-31,328.6000000000062,328.61084,2015-01-01 00:54:46,bin3286,35,False +CTSPillarNetworkA,3287,3287,3287,1979-01-01,328.70000000000624,328.71085,2015-01-01 00:54:47,bin3287,75,False +CTSPillarNetworkA,3288,3288,3288,1979-01-02,328.80000000000626,328.81085,2015-01-01 00:54:48,bin3288,35,False +CTSPillarNetworkA,3289,3289,3289,1979-01-03,328.9000000000063,328.91086,2015-01-01 00:54:49,bin3289,75,False +CTSPillarNetworkA,3290,3290,3290,1979-01-04,329.0000000000063,329.01086,2015-01-01 00:54:50,bin3290,35,False +CTSPillarNetworkA,3291,3291,3291,1979-01-05,329.10000000000633,329.11087,2015-01-01 00:54:51,bin3291,75,False +CTSPillarNetworkA,3292,3292,3292,1979-01-06,329.20000000000636,329.21088,2015-01-01 00:54:52,bin3292,35,False +CTSPillarNetworkA,3293,3293,3293,1979-01-07,329.3000000000064,329.31088,2015-01-01 00:54:53,bin3293,75,False +CTSPillarNetworkA,3294,3294,3294,1979-01-08,329.4000000000064,329.4109,2015-01-01 00:54:54,bin3294,35,False +CTSPillarNetworkA,3295,3295,3295,1979-01-09,329.5000000000064,329.5109,2015-01-01 00:54:55,bin3295,75,False +CTSPillarNetworkA,3296,3296,3296,1979-01-10,329.60000000000645,329.6109,2015-01-01 00:54:56,bin3296,35,False +CTSPillarNetworkA,3297,3297,3297,1979-01-11,329.70000000000647,329.7109,2015-01-01 00:54:57,bin3297,75,False +CTSPillarNetworkA,3298,3298,3298,1979-01-12,329.8000000000065,329.8109,2015-01-01 00:54:58,bin3298,35,False +CTSPillarNetworkA,3299,3299,3299,1979-01-13,329.9000000000065,329.91092,2015-01-01 00:54:59,bin3299,75,False +CTSPillarNetworkA,3300,3300,3300,1979-01-14,330.00000000000654,330.01093,2015-01-01 00:55:00,bin3300,35,False +CTSPillarNetworkA,3301,3301,3301,1979-01-15,330.10000000000656,330.11093,2015-01-01 00:55:01,bin3301,75,False +CTSPillarNetworkA,3302,3302,3302,1979-01-16,330.2000000000066,330.21094,2015-01-01 00:55:02,bin3302,35,False +CTSPillarNetworkA,3303,3303,3303,1979-01-17,330.3000000000066,330.31094,2015-01-01 00:55:03,bin3303,75,False +CTSPillarNetworkA,3304,3304,3304,1979-01-18,330.4000000000066,330.41095,2015-01-01 00:55:04,bin3304,35,False +CTSPillarNetworkA,3305,3305,3305,1979-01-19,330.50000000000665,330.51096,2015-01-01 00:55:05,bin3305,75,False +CTSPillarNetworkA,3306,3306,3306,1979-01-20,330.6000000000067,330.61096,2015-01-01 00:55:06,bin3306,35,False +CTSPillarNetworkA,3307,3307,3307,1979-01-21,330.7000000000067,330.71097,2015-01-01 00:55:07,bin3307,75,False +CTSPillarNetworkA,3308,3308,3308,1979-01-22,330.8000000000067,330.81097,2015-01-01 00:55:08,bin3308,35,False +CTSPillarNetworkA,3309,3309,3309,1979-01-23,330.90000000000674,330.91098,2015-01-01 00:55:09,bin3309,75,False +CTSPillarNetworkA,3310,3310,3310,1979-01-24,331.00000000000676,331.011,2015-01-01 00:55:10,bin3310,35,False +CTSPillarNetworkA,3311,3311,3311,1979-01-25,331.1000000000068,331.111,2015-01-01 00:55:11,bin3311,75,False +CTSPillarNetworkA,3312,3312,3312,1979-01-26,331.2000000000068,331.211,2015-01-01 00:55:12,bin3312,35,False +CTSPillarNetworkA,3313,3313,3313,1979-01-27,331.30000000000683,331.311,2015-01-01 00:55:13,bin3313,75,False +CTSPillarNetworkA,3314,3314,3314,1979-01-28,331.40000000000686,331.411,2015-01-01 00:55:14,bin3314,35,False +CTSPillarNetworkA,3315,3315,3315,1979-01-29,331.5000000000069,331.51102,2015-01-01 00:55:15,bin3315,75,False +CTSPillarNetworkA,3316,3316,3316,1979-01-30,331.6000000000069,331.61102,2015-01-01 00:55:16,bin3316,35,False +CTSPillarNetworkA,3317,3317,3317,1979-01-31,331.7000000000069,331.71103,2015-01-01 00:55:17,bin3317,75,False +CTSPillarNetworkA,3318,3318,3318,1979-02-01,331.80000000000695,331.81104,2015-01-01 00:55:18,bin3318,35,False +CTSPillarNetworkA,3319,3319,3319,1979-02-02,331.90000000000697,331.91104,2015-01-01 00:55:19,bin3319,75,False +CTSPillarNetworkA,3320,3320,3320,1979-02-03,332.000000000007,332.01105,2015-01-01 00:55:20,bin3320,35,False +CTSPillarNetworkA,3321,3321,3321,1979-02-04,332.100000000007,332.11105,2015-01-01 00:55:21,bin3321,75,False +CTSPillarNetworkA,3322,3322,3322,1979-02-05,332.20000000000704,332.21106,2015-01-01 00:55:22,bin3322,35,False +CTSPillarNetworkA,3323,3323,3323,1979-02-06,332.30000000000706,332.31107,2015-01-01 00:55:23,bin3323,75,False +CTSPillarNetworkA,3324,3324,3324,1979-02-07,332.4000000000071,332.41107,2015-01-01 00:55:24,bin3324,35,False +CTSPillarNetworkA,3325,3325,3325,1979-02-08,332.5000000000071,332.51108,2015-01-01 00:55:25,bin3325,75,False +CTSPillarNetworkA,3326,3326,3326,1979-02-09,332.6000000000071,332.61108,2015-01-01 00:55:26,bin3326,35,False +CTSPillarNetworkA,3327,3327,3327,1979-02-10,332.70000000000715,332.7111,2015-01-01 00:55:27,bin3327,75,False +CTSPillarNetworkA,3328,3328,3328,1979-02-11,332.8000000000072,332.8111,2015-01-01 00:55:28,bin3328,35,False +CTSPillarNetworkA,3329,3329,3329,1979-02-12,332.9000000000072,332.9111,2015-01-01 00:55:29,bin3329,75,False +CTSPillarNetworkA,3330,3330,3330,1979-02-13,333.0000000000072,333.0111,2015-01-01 00:55:30,bin3330,35,False +CTSPillarNetworkA,3331,3331,3331,1979-02-14,333.10000000000724,333.1111,2015-01-01 00:55:31,bin3331,75,False +CTSPillarNetworkA,3332,3332,3332,1979-02-15,333.20000000000726,333.21112,2015-01-01 00:55:32,bin3332,35,False +CTSPillarNetworkA,3333,3333,3333,1979-02-16,333.3000000000073,333.31113,2015-01-01 00:55:33,bin3333,75,False +CTSPillarNetworkA,3334,3334,3334,1979-02-17,333.4000000000073,333.41113,2015-01-01 00:55:34,bin3334,35,False +CTSPillarNetworkA,3335,3335,3335,1979-02-18,333.50000000000733,333.51114,2015-01-01 00:55:35,bin3335,75,False +CTSPillarNetworkA,3336,3336,3336,1979-02-19,333.60000000000736,333.61115,2015-01-01 00:55:36,bin3336,35,False +CTSPillarNetworkA,3337,3337,3337,1979-02-20,333.7000000000074,333.71115,2015-01-01 00:55:37,bin3337,75,False +CTSPillarNetworkA,3338,3338,3338,1979-02-21,333.8000000000074,333.81116,2015-01-01 00:55:38,bin3338,35,False +CTSPillarNetworkA,3339,3339,3339,1979-02-22,333.9000000000074,333.91116,2015-01-01 00:55:39,bin3339,75,False +CTSPillarNetworkA,3340,3340,3340,1979-02-23,334.00000000000745,334.01117,2015-01-01 00:55:40,bin3340,35,False +CTSPillarNetworkA,3341,3341,3341,1979-02-24,334.10000000000747,334.11118,2015-01-01 00:55:41,bin3341,75,False +CTSPillarNetworkA,3342,3342,3342,1979-02-25,334.2000000000075,334.21118,2015-01-01 00:55:42,bin3342,35,False +CTSPillarNetworkA,3343,3343,3343,1979-02-26,334.3000000000075,334.3112,2015-01-01 00:55:43,bin3343,75,False +CTSPillarNetworkA,3344,3344,3344,1979-02-27,334.40000000000754,334.4112,2015-01-01 00:55:44,bin3344,35,False +CTSPillarNetworkA,3345,3345,3345,1979-02-28,334.50000000000756,334.5112,2015-01-01 00:55:45,bin3345,75,False +CTSPillarNetworkA,3346,3346,3346,1979-03-01,334.6000000000076,334.6112,2015-01-01 00:55:46,bin3346,35,False +CTSPillarNetworkA,3347,3347,3347,1979-03-02,334.7000000000076,334.7112,2015-01-01 00:55:47,bin3347,75,False +CTSPillarNetworkA,3348,3348,3348,1979-03-03,334.8000000000076,334.81122,2015-01-01 00:55:48,bin3348,35,False +CTSPillarNetworkA,3349,3349,3349,1979-03-04,334.90000000000765,334.91122,2015-01-01 00:55:49,bin3349,75,False +CTSPillarNetworkA,3350,3350,3350,1979-03-05,335.0000000000077,335.01123,2015-01-01 00:55:50,bin3350,35,False +CTSPillarNetworkA,3351,3351,3351,1979-03-06,335.1000000000077,335.11124,2015-01-01 00:55:51,bin3351,75,False +CTSPillarNetworkA,3352,3352,3352,1979-03-07,335.2000000000077,335.21124,2015-01-01 00:55:52,bin3352,35,False +CTSPillarNetworkA,3353,3353,3353,1979-03-08,335.30000000000774,335.31125,2015-01-01 00:55:53,bin3353,75,False +CTSPillarNetworkA,3354,3354,3354,1979-03-09,335.40000000000776,335.41125,2015-01-01 00:55:54,bin3354,35,False +CTSPillarNetworkA,3355,3355,3355,1979-03-10,335.5000000000078,335.51126,2015-01-01 00:55:55,bin3355,75,False +CTSPillarNetworkA,3356,3356,3356,1979-03-11,335.6000000000078,335.61127,2015-01-01 00:55:56,bin3356,35,False +CTSPillarNetworkA,3357,3357,3357,1979-03-12,335.70000000000783,335.71127,2015-01-01 00:55:57,bin3357,75,False +CTSPillarNetworkA,3358,3358,3358,1979-03-13,335.80000000000786,335.81128,2015-01-01 00:55:58,bin3358,35,False +CTSPillarNetworkA,3359,3359,3359,1979-03-14,335.9000000000079,335.9113,2015-01-01 00:55:59,bin3359,75,False +CTSPillarNetworkA,3360,3360,3360,1979-03-15,336.0000000000079,336.0113,2015-01-01 00:56:00,bin3360,35,False +CTSPillarNetworkA,3361,3361,3361,1979-03-16,336.1000000000079,336.1113,2015-01-01 00:56:01,bin3361,75,False +CTSPillarNetworkA,3362,3362,3362,1979-03-17,336.20000000000795,336.2113,2015-01-01 00:56:02,bin3362,35,False +CTSPillarNetworkA,3363,3363,3363,1979-03-18,336.30000000000797,336.3113,2015-01-01 00:56:03,bin3363,75,False +CTSPillarNetworkA,3364,3364,3364,1979-03-19,336.400000000008,336.41132,2015-01-01 00:56:04,bin3364,35,False +CTSPillarNetworkA,3365,3365,3365,1979-03-20,336.500000000008,336.51132,2015-01-01 00:56:05,bin3365,75,False +CTSPillarNetworkA,3366,3366,3366,1979-03-21,336.60000000000804,336.61133,2015-01-01 00:56:06,bin3366,35,False +CTSPillarNetworkA,3367,3367,3367,1979-03-22,336.70000000000806,336.71133,2015-01-01 00:56:07,bin3367,75,False +CTSPillarNetworkA,3368,3368,3368,1979-03-23,336.8000000000081,336.81134,2015-01-01 00:56:08,bin3368,35,False +CTSPillarNetworkA,3369,3369,3369,1979-03-24,336.9000000000081,336.91135,2015-01-01 00:56:09,bin3369,75,False +CTSPillarNetworkA,3370,3370,3370,1979-03-25,337.00000000000813,337.01135,2015-01-01 00:56:10,bin3370,35,False +CTSPillarNetworkA,3371,3371,3371,1979-03-26,337.10000000000815,337.11136,2015-01-01 00:56:11,bin3371,75,False +CTSPillarNetworkA,3372,3372,3372,1979-03-27,337.2000000000082,337.21136,2015-01-01 00:56:12,bin3372,35,False +CTSPillarNetworkA,3373,3373,3373,1979-03-28,337.3000000000082,337.31137,2015-01-01 00:56:13,bin3373,75,False +CTSPillarNetworkA,3374,3374,3374,1979-03-29,337.4000000000082,337.41138,2015-01-01 00:56:14,bin3374,35,False +CTSPillarNetworkA,3375,3375,3375,1979-03-30,337.50000000000824,337.51138,2015-01-01 00:56:15,bin3375,75,False +CTSPillarNetworkA,3376,3376,3376,1979-03-31,337.60000000000827,337.6114,2015-01-01 00:56:16,bin3376,35,False +CTSPillarNetworkA,3377,3377,3377,1979-04-01,337.7000000000083,337.7114,2015-01-01 00:56:17,bin3377,75,False +CTSPillarNetworkA,3378,3378,3378,1979-04-02,337.8000000000083,337.8114,2015-01-01 00:56:18,bin3378,35,False +CTSPillarNetworkA,3379,3379,3379,1979-04-03,337.90000000000833,337.9114,2015-01-01 00:56:19,bin3379,75,False +CTSPillarNetworkA,3380,3380,3380,1979-04-04,338.00000000000836,338.0114,2015-01-01 00:56:20,bin3380,35,False +CTSPillarNetworkA,3381,3381,3381,1979-04-05,338.1000000000084,338.11142,2015-01-01 00:56:21,bin3381,75,False +CTSPillarNetworkA,3382,3382,3382,1979-04-06,338.2000000000084,338.21143,2015-01-01 00:56:22,bin3382,35,False +CTSPillarNetworkA,3383,3383,3383,1979-04-07,338.3000000000084,338.31143,2015-01-01 00:56:23,bin3383,75,False +CTSPillarNetworkA,3384,3384,3384,1979-04-08,338.40000000000845,338.41144,2015-01-01 00:56:24,bin3384,35,False +CTSPillarNetworkA,3385,3385,3385,1979-04-09,338.50000000000847,338.51144,2015-01-01 00:56:25,bin3385,75,False +CTSPillarNetworkA,3386,3386,3386,1979-04-10,338.6000000000085,338.61145,2015-01-01 00:56:26,bin3386,35,False +CTSPillarNetworkA,3387,3387,3387,1979-04-11,338.7000000000085,338.71146,2015-01-01 00:56:27,bin3387,75,False +CTSPillarNetworkA,3388,3388,3388,1979-04-12,338.80000000000854,338.81146,2015-01-01 00:56:28,bin3388,35,False +CTSPillarNetworkA,3389,3389,3389,1979-04-13,338.90000000000856,338.91147,2015-01-01 00:56:29,bin3389,75,False +CTSPillarNetworkA,3390,3390,3390,1979-04-14,339.0000000000086,339.01147,2015-01-01 00:56:30,bin3390,35,False +CTSPillarNetworkA,3391,3391,3391,1979-04-15,339.1000000000086,339.11148,2015-01-01 00:56:31,bin3391,75,False +CTSPillarNetworkA,3392,3392,3392,1979-04-16,339.20000000000863,339.2115,2015-01-01 00:56:32,bin3392,35,False +CTSPillarNetworkA,3393,3393,3393,1979-04-17,339.30000000000865,339.3115,2015-01-01 00:56:33,bin3393,75,False +CTSPillarNetworkA,3394,3394,3394,1979-04-18,339.4000000000087,339.4115,2015-01-01 00:56:34,bin3394,35,False +CTSPillarNetworkA,3395,3395,3395,1979-04-19,339.5000000000087,339.5115,2015-01-01 00:56:35,bin3395,75,False +CTSPillarNetworkA,3396,3396,3396,1979-04-20,339.6000000000087,339.6115,2015-01-01 00:56:36,bin3396,35,False +CTSPillarNetworkA,3397,3397,3397,1979-04-21,339.70000000000874,339.71152,2015-01-01 00:56:37,bin3397,75,False +CTSPillarNetworkA,3398,3398,3398,1979-04-22,339.80000000000877,339.81152,2015-01-01 00:56:38,bin3398,35,False +CTSPillarNetworkA,3399,3399,3399,1979-04-23,339.9000000000088,339.91153,2015-01-01 00:56:39,bin3399,75,False +CTSPillarNetworkA,3400,3400,3400,1979-04-24,340.0000000000088,340.01154,2015-01-01 00:56:40,bin3400,35,False +CTSPillarNetworkA,3401,3401,3401,1979-04-25,340.10000000000883,340.11154,2015-01-01 00:56:41,bin3401,75,False +CTSPillarNetworkA,3402,3402,3402,1979-04-26,340.20000000000886,340.21155,2015-01-01 00:56:42,bin3402,35,False +CTSPillarNetworkA,3403,3403,3403,1979-04-27,340.3000000000089,340.31155,2015-01-01 00:56:43,bin3403,75,False +CTSPillarNetworkA,3404,3404,3404,1979-04-28,340.4000000000089,340.41156,2015-01-01 00:56:44,bin3404,35,False +CTSPillarNetworkA,3405,3405,3405,1979-04-29,340.5000000000089,340.51157,2015-01-01 00:56:45,bin3405,75,False +CTSPillarNetworkA,3406,3406,3406,1979-04-30,340.60000000000895,340.61157,2015-01-01 00:56:46,bin3406,35,False +CTSPillarNetworkA,3407,3407,3407,1979-05-01,340.70000000000897,340.71158,2015-01-01 00:56:47,bin3407,75,False +CTSPillarNetworkA,3408,3408,3408,1979-05-02,340.800000000009,340.81158,2015-01-01 00:56:48,bin3408,35,False +CTSPillarNetworkA,3409,3409,3409,1979-05-03,340.900000000009,340.9116,2015-01-01 00:56:49,bin3409,75,False +CTSPillarNetworkA,3410,3410,3410,1979-05-04,341.00000000000904,341.0116,2015-01-01 00:56:50,bin3410,35,False +CTSPillarNetworkA,3411,3411,3411,1979-05-05,341.10000000000906,341.1116,2015-01-01 00:56:51,bin3411,75,False +CTSPillarNetworkA,3412,3412,3412,1979-05-06,341.2000000000091,341.2116,2015-01-01 00:56:52,bin3412,35,False +CTSPillarNetworkA,3413,3413,3413,1979-05-07,341.3000000000091,341.3116,2015-01-01 00:56:53,bin3413,75,False +CTSPillarNetworkA,3414,3414,3414,1979-05-08,341.40000000000913,341.41162,2015-01-01 00:56:54,bin3414,35,False +CTSPillarNetworkA,3415,3415,3415,1979-05-09,341.50000000000915,341.51163,2015-01-01 00:56:55,bin3415,75,False +CTSPillarNetworkA,3416,3416,3416,1979-05-10,341.6000000000092,341.61163,2015-01-01 00:56:56,bin3416,35,False +CTSPillarNetworkA,3417,3417,3417,1979-05-11,341.7000000000092,341.71164,2015-01-01 00:56:57,bin3417,75,False +CTSPillarNetworkA,3418,3418,3418,1979-05-12,341.8000000000092,341.81165,2015-01-01 00:56:58,bin3418,35,False +CTSPillarNetworkA,3419,3419,3419,1979-05-13,341.90000000000924,341.91165,2015-01-01 00:56:59,bin3419,75,False +CTSPillarNetworkA,3420,3420,3420,1979-05-14,342.00000000000927,342.01166,2015-01-01 00:57:00,bin3420,35,False +CTSPillarNetworkA,3421,3421,3421,1979-05-15,342.1000000000093,342.11166,2015-01-01 00:57:01,bin3421,75,False +CTSPillarNetworkA,3422,3422,3422,1979-05-16,342.2000000000093,342.21167,2015-01-01 00:57:02,bin3422,35,False +CTSPillarNetworkA,3423,3423,3423,1979-05-17,342.30000000000933,342.31168,2015-01-01 00:57:03,bin3423,75,False +CTSPillarNetworkA,3424,3424,3424,1979-05-18,342.40000000000936,342.41168,2015-01-01 00:57:04,bin3424,35,False +CTSPillarNetworkA,3425,3425,3425,1979-05-19,342.5000000000094,342.5117,2015-01-01 00:57:05,bin3425,75,False +CTSPillarNetworkA,3426,3426,3426,1979-05-20,342.6000000000094,342.6117,2015-01-01 00:57:06,bin3426,35,False +CTSPillarNetworkA,3427,3427,3427,1979-05-21,342.7000000000094,342.7117,2015-01-01 00:57:07,bin3427,75,False +CTSPillarNetworkA,3428,3428,3428,1979-05-22,342.80000000000945,342.8117,2015-01-01 00:57:08,bin3428,35,False +CTSPillarNetworkA,3429,3429,3429,1979-05-23,342.90000000000947,342.9117,2015-01-01 00:57:09,bin3429,75,False +CTSPillarNetworkA,3430,3430,3430,1979-05-24,343.0000000000095,343.01172,2015-01-01 00:57:10,bin3430,35,False +CTSPillarNetworkA,3431,3431,3431,1979-05-25,343.1000000000095,343.11172,2015-01-01 00:57:11,bin3431,75,False +CTSPillarNetworkA,3432,3432,3432,1979-05-26,343.20000000000954,343.21173,2015-01-01 00:57:12,bin3432,35,False +CTSPillarNetworkA,3433,3433,3433,1979-05-27,343.30000000000956,343.31174,2015-01-01 00:57:13,bin3433,75,False +CTSPillarNetworkA,3434,3434,3434,1979-05-28,343.4000000000096,343.41174,2015-01-01 00:57:14,bin3434,35,False +CTSPillarNetworkA,3435,3435,3435,1979-05-29,343.5000000000096,343.51175,2015-01-01 00:57:15,bin3435,75,False +CTSPillarNetworkA,3436,3436,3436,1979-05-30,343.60000000000963,343.61176,2015-01-01 00:57:16,bin3436,35,False +CTSPillarNetworkA,3437,3437,3437,1979-05-31,343.70000000000965,343.71176,2015-01-01 00:57:17,bin3437,75,False +CTSPillarNetworkA,3438,3438,3438,1979-06-01,343.8000000000097,343.81177,2015-01-01 00:57:18,bin3438,35,False +CTSPillarNetworkA,3439,3439,3439,1979-06-02,343.9000000000097,343.91177,2015-01-01 00:57:19,bin3439,75,False +CTSPillarNetworkA,3440,3440,3440,1979-06-03,344.0000000000097,344.01178,2015-01-01 00:57:20,bin3440,35,False +CTSPillarNetworkA,3441,3441,3441,1979-06-04,344.10000000000974,344.1118,2015-01-01 00:57:21,bin3441,75,False +CTSPillarNetworkA,3442,3442,3442,1979-06-05,344.20000000000977,344.2118,2015-01-01 00:57:22,bin3442,35,False +CTSPillarNetworkA,3443,3443,3443,1979-06-06,344.3000000000098,344.3118,2015-01-01 00:57:23,bin3443,75,False +CTSPillarNetworkA,3444,3444,3444,1979-06-07,344.4000000000098,344.4118,2015-01-01 00:57:24,bin3444,35,False +CTSPillarNetworkA,3445,3445,3445,1979-06-08,344.50000000000983,344.5118,2015-01-01 00:57:25,bin3445,75,False +CTSPillarNetworkA,3446,3446,3446,1979-06-09,344.60000000000986,344.61182,2015-01-01 00:57:26,bin3446,35,False +CTSPillarNetworkA,3447,3447,3447,1979-06-10,344.7000000000099,344.71182,2015-01-01 00:57:27,bin3447,75,False +CTSPillarNetworkA,3448,3448,3448,1979-06-11,344.8000000000099,344.81183,2015-01-01 00:57:28,bin3448,35,False +CTSPillarNetworkA,3449,3449,3449,1979-06-12,344.9000000000099,344.91183,2015-01-01 00:57:29,bin3449,75,False +CTSPillarNetworkA,3450,3450,3450,1979-06-13,345.00000000000995,345.01184,2015-01-01 00:57:30,bin3450,35,False +CTSPillarNetworkA,3451,3451,3451,1979-06-14,345.10000000000997,345.11185,2015-01-01 00:57:31,bin3451,75,False +CTSPillarNetworkA,3452,3452,3452,1979-06-15,345.20000000001,345.21185,2015-01-01 00:57:32,bin3452,35,False +CTSPillarNetworkA,3453,3453,3453,1979-06-16,345.30000000001,345.31186,2015-01-01 00:57:33,bin3453,75,False +CTSPillarNetworkA,3454,3454,3454,1979-06-17,345.40000000001004,345.41187,2015-01-01 00:57:34,bin3454,35,False +CTSPillarNetworkA,3455,3455,3455,1979-06-18,345.50000000001006,345.51187,2015-01-01 00:57:35,bin3455,75,False +CTSPillarNetworkA,3456,3456,3456,1979-06-19,345.6000000000101,345.61188,2015-01-01 00:57:36,bin3456,35,False +CTSPillarNetworkA,3457,3457,3457,1979-06-20,345.7000000000101,345.71188,2015-01-01 00:57:37,bin3457,75,False +CTSPillarNetworkA,3458,3458,3458,1979-06-21,345.80000000001013,345.8119,2015-01-01 00:57:38,bin3458,35,False +CTSPillarNetworkA,3459,3459,3459,1979-06-22,345.90000000001015,345.9119,2015-01-01 00:57:39,bin3459,75,False +CTSPillarNetworkA,3460,3460,3460,1979-06-23,346.0000000000102,346.0119,2015-01-01 00:57:40,bin3460,35,False +CTSPillarNetworkA,3461,3461,3461,1979-06-24,346.1000000000102,346.1119,2015-01-01 00:57:41,bin3461,75,False +CTSPillarNetworkA,3462,3462,3462,1979-06-25,346.2000000000102,346.2119,2015-01-01 00:57:42,bin3462,35,False +CTSPillarNetworkA,3463,3463,3463,1979-06-26,346.30000000001024,346.31192,2015-01-01 00:57:43,bin3463,75,False +CTSPillarNetworkA,3464,3464,3464,1979-06-27,346.40000000001027,346.41193,2015-01-01 00:57:44,bin3464,35,False +CTSPillarNetworkA,3465,3465,3465,1979-06-28,346.5000000000103,346.51193,2015-01-01 00:57:45,bin3465,75,False +CTSPillarNetworkA,3466,3466,3466,1979-06-29,346.6000000000103,346.61194,2015-01-01 00:57:46,bin3466,35,False +CTSPillarNetworkA,3467,3467,3467,1979-06-30,346.70000000001033,346.71194,2015-01-01 00:57:47,bin3467,75,False +CTSPillarNetworkA,3468,3468,3468,1979-07-01,346.80000000001036,346.81195,2015-01-01 00:57:48,bin3468,35,False +CTSPillarNetworkA,3469,3469,3469,1979-07-02,346.9000000000104,346.91196,2015-01-01 00:57:49,bin3469,75,False +CTSPillarNetworkA,3470,3470,3470,1979-07-03,347.0000000000104,347.01196,2015-01-01 00:57:50,bin3470,35,False +CTSPillarNetworkA,3471,3471,3471,1979-07-04,347.1000000000104,347.11197,2015-01-01 00:57:51,bin3471,75,False +CTSPillarNetworkA,3472,3472,3472,1979-07-05,347.20000000001045,347.21198,2015-01-01 00:57:52,bin3472,35,False +CTSPillarNetworkA,3473,3473,3473,1979-07-06,347.30000000001047,347.31198,2015-01-01 00:57:53,bin3473,75,False +CTSPillarNetworkA,3474,3474,3474,1979-07-07,347.4000000000105,347.412,2015-01-01 00:57:54,bin3474,35,False +CTSPillarNetworkA,3475,3475,3475,1979-07-08,347.5000000000105,347.512,2015-01-01 00:57:55,bin3475,75,False +CTSPillarNetworkA,3476,3476,3476,1979-07-09,347.60000000001054,347.612,2015-01-01 00:57:56,bin3476,35,False +CTSPillarNetworkA,3477,3477,3477,1979-07-10,347.70000000001056,347.712,2015-01-01 00:57:57,bin3477,75,False +CTSPillarNetworkA,3478,3478,3478,1979-07-11,347.8000000000106,347.812,2015-01-01 00:57:58,bin3478,35,False +CTSPillarNetworkA,3479,3479,3479,1979-07-12,347.9000000000106,347.91202,2015-01-01 00:57:59,bin3479,75,False +CTSPillarNetworkA,3480,3480,3480,1979-07-13,348.00000000001063,348.01202,2015-01-01 00:58:00,bin3480,35,False +CTSPillarNetworkA,3481,3481,3481,1979-07-14,348.10000000001065,348.11203,2015-01-01 00:58:01,bin3481,75,False +CTSPillarNetworkA,3482,3482,3482,1979-07-15,348.2000000000107,348.21204,2015-01-01 00:58:02,bin3482,35,False +CTSPillarNetworkA,3483,3483,3483,1979-07-16,348.3000000000107,348.31204,2015-01-01 00:58:03,bin3483,75,False +CTSPillarNetworkA,3484,3484,3484,1979-07-17,348.4000000000107,348.41205,2015-01-01 00:58:04,bin3484,35,False +CTSPillarNetworkA,3485,3485,3485,1979-07-18,348.50000000001074,348.51205,2015-01-01 00:58:05,bin3485,75,False +CTSPillarNetworkA,3486,3486,3486,1979-07-19,348.60000000001077,348.61206,2015-01-01 00:58:06,bin3486,35,False +CTSPillarNetworkA,3487,3487,3487,1979-07-20,348.7000000000108,348.71207,2015-01-01 00:58:07,bin3487,75,False +CTSPillarNetworkA,3488,3488,3488,1979-07-21,348.8000000000108,348.81207,2015-01-01 00:58:08,bin3488,35,False +CTSPillarNetworkA,3489,3489,3489,1979-07-22,348.90000000001083,348.91208,2015-01-01 00:58:09,bin3489,75,False +CTSPillarNetworkA,3490,3490,3490,1979-07-23,349.00000000001086,349.0121,2015-01-01 00:58:10,bin3490,35,False +CTSPillarNetworkA,3491,3491,3491,1979-07-24,349.1000000000109,349.1121,2015-01-01 00:58:11,bin3491,75,False +CTSPillarNetworkA,3492,3492,3492,1979-07-25,349.2000000000109,349.2121,2015-01-01 00:58:12,bin3492,35,False +CTSPillarNetworkA,3493,3493,3493,1979-07-26,349.3000000000109,349.3121,2015-01-01 00:58:13,bin3493,75,False +CTSPillarNetworkA,3494,3494,3494,1979-07-27,349.40000000001095,349.4121,2015-01-01 00:58:14,bin3494,35,False +CTSPillarNetworkA,3495,3495,3495,1979-07-28,349.50000000001097,349.51212,2015-01-01 00:58:15,bin3495,75,False +CTSPillarNetworkA,3496,3496,3496,1979-07-29,349.600000000011,349.61212,2015-01-01 00:58:16,bin3496,35,False +CTSPillarNetworkA,3497,3497,3497,1979-07-30,349.700000000011,349.71213,2015-01-01 00:58:17,bin3497,75,False +CTSPillarNetworkA,3498,3498,3498,1979-07-31,349.80000000001104,349.81213,2015-01-01 00:58:18,bin3498,35,False +CTSPillarNetworkA,3499,3499,3499,1979-08-01,349.90000000001106,349.91214,2015-01-01 00:58:19,bin3499,75,False +CTSPillarNetworkA,3500,3500,3500,1979-08-02,350.0000000000111,350.01215,2015-01-01 00:58:20,bin3500,35,False +CTSPillarNetworkA,3501,3501,3501,1979-08-03,350.1000000000111,350.11215,2015-01-01 00:58:21,bin3501,75,False +CTSPillarNetworkA,3502,3502,3502,1979-08-04,350.20000000001113,350.21216,2015-01-01 00:58:22,bin3502,35,False +CTSPillarNetworkA,3503,3503,3503,1979-08-05,350.30000000001115,350.31216,2015-01-01 00:58:23,bin3503,75,False +CTSPillarNetworkA,3504,3504,3504,1979-08-06,350.4000000000112,350.41217,2015-01-01 00:58:24,bin3504,35,False +CTSPillarNetworkA,3505,3505,3505,1979-08-07,350.5000000000112,350.51218,2015-01-01 00:58:25,bin3505,75,False +CTSPillarNetworkA,3506,3506,3506,1979-08-08,350.6000000000112,350.61218,2015-01-01 00:58:26,bin3506,35,False +CTSPillarNetworkA,3507,3507,3507,1979-08-09,350.70000000001124,350.7122,2015-01-01 00:58:27,bin3507,75,False +CTSPillarNetworkA,3508,3508,3508,1979-08-10,350.80000000001127,350.8122,2015-01-01 00:58:28,bin3508,35,False +CTSPillarNetworkA,3509,3509,3509,1979-08-11,350.9000000000113,350.9122,2015-01-01 00:58:29,bin3509,75,False +CTSPillarNetworkA,3510,3510,3510,1979-08-12,351.0000000000113,351.0122,2015-01-01 00:58:30,bin3510,35,False +CTSPillarNetworkA,3511,3511,3511,1979-08-13,351.10000000001133,351.1122,2015-01-01 00:58:31,bin3511,75,False +CTSPillarNetworkA,3512,3512,3512,1979-08-14,351.20000000001136,351.21222,2015-01-01 00:58:32,bin3512,35,False +CTSPillarNetworkA,3513,3513,3513,1979-08-15,351.3000000000114,351.31223,2015-01-01 00:58:33,bin3513,75,False +CTSPillarNetworkA,3514,3514,3514,1979-08-16,351.4000000000114,351.41223,2015-01-01 00:58:34,bin3514,35,False +CTSPillarNetworkA,3515,3515,3515,1979-08-17,351.5000000000114,351.51224,2015-01-01 00:58:35,bin3515,75,False +CTSPillarNetworkA,3516,3516,3516,1979-08-18,351.60000000001145,351.61224,2015-01-01 00:58:36,bin3516,35,False +CTSPillarNetworkA,3517,3517,3517,1979-08-19,351.70000000001147,351.71225,2015-01-01 00:58:37,bin3517,75,False +CTSPillarNetworkA,3518,3518,3518,1979-08-20,351.8000000000115,351.81226,2015-01-01 00:58:38,bin3518,35,False +CTSPillarNetworkA,3519,3519,3519,1979-08-21,351.9000000000115,351.91226,2015-01-01 00:58:39,bin3519,75,False +CTSPillarNetworkA,3520,3520,3520,1979-08-22,352.00000000001154,352.01227,2015-01-01 00:58:40,bin3520,35,False +CTSPillarNetworkA,3521,3521,3521,1979-08-23,352.10000000001156,352.11227,2015-01-01 00:58:41,bin3521,75,False +CTSPillarNetworkA,3522,3522,3522,1979-08-24,352.2000000000116,352.21228,2015-01-01 00:58:42,bin3522,35,False +CTSPillarNetworkA,3523,3523,3523,1979-08-25,352.3000000000116,352.3123,2015-01-01 00:58:43,bin3523,75,False +CTSPillarNetworkA,3524,3524,3524,1979-08-26,352.40000000001163,352.4123,2015-01-01 00:58:44,bin3524,35,False +CTSPillarNetworkA,3525,3525,3525,1979-08-27,352.50000000001165,352.5123,2015-01-01 00:58:45,bin3525,75,False +CTSPillarNetworkA,3526,3526,3526,1979-08-28,352.6000000000117,352.6123,2015-01-01 00:58:46,bin3526,35,False +CTSPillarNetworkA,3527,3527,3527,1979-08-29,352.7000000000117,352.7123,2015-01-01 00:58:47,bin3527,75,False +CTSPillarNetworkA,3528,3528,3528,1979-08-30,352.8000000000117,352.81232,2015-01-01 00:58:48,bin3528,35,False +CTSPillarNetworkA,3529,3529,3529,1979-08-31,352.90000000001174,352.91232,2015-01-01 00:58:49,bin3529,75,False +CTSPillarNetworkA,3530,3530,3530,1979-09-01,353.00000000001177,353.01233,2015-01-01 00:58:50,bin3530,35,False +CTSPillarNetworkA,3531,3531,3531,1979-09-02,353.1000000000118,353.11234,2015-01-01 00:58:51,bin3531,75,False +CTSPillarNetworkA,3532,3532,3532,1979-09-03,353.2000000000118,353.21234,2015-01-01 00:58:52,bin3532,35,False +CTSPillarNetworkA,3533,3533,3533,1979-09-04,353.30000000001183,353.31235,2015-01-01 00:58:53,bin3533,75,False +CTSPillarNetworkA,3534,3534,3534,1979-09-05,353.40000000001186,353.41235,2015-01-01 00:58:54,bin3534,35,False +CTSPillarNetworkA,3535,3535,3535,1979-09-06,353.5000000000119,353.51236,2015-01-01 00:58:55,bin3535,75,False +CTSPillarNetworkA,3536,3536,3536,1979-09-07,353.6000000000119,353.61237,2015-01-01 00:58:56,bin3536,35,False +CTSPillarNetworkA,3537,3537,3537,1979-09-08,353.7000000000119,353.71237,2015-01-01 00:58:57,bin3537,75,False +CTSPillarNetworkA,3538,3538,3538,1979-09-09,353.80000000001195,353.81238,2015-01-01 00:58:58,bin3538,35,False +CTSPillarNetworkA,3539,3539,3539,1979-09-10,353.90000000001197,353.91238,2015-01-01 00:58:59,bin3539,75,False +CTSPillarNetworkA,3540,3540,3540,1979-09-11,354.000000000012,354.0124,2015-01-01 00:59:00,bin3540,35,False +CTSPillarNetworkA,3541,3541,3541,1979-09-12,354.100000000012,354.1124,2015-01-01 00:59:01,bin3541,75,False +CTSPillarNetworkA,3542,3542,3542,1979-09-13,354.20000000001204,354.2124,2015-01-01 00:59:02,bin3542,35,False +CTSPillarNetworkA,3543,3543,3543,1979-09-14,354.30000000001206,354.3124,2015-01-01 00:59:03,bin3543,75,False +CTSPillarNetworkA,3544,3544,3544,1979-09-15,354.4000000000121,354.4124,2015-01-01 00:59:04,bin3544,35,False +CTSPillarNetworkA,3545,3545,3545,1979-09-16,354.5000000000121,354.51242,2015-01-01 00:59:05,bin3545,75,False +CTSPillarNetworkA,3546,3546,3546,1979-09-17,354.60000000001213,354.61243,2015-01-01 00:59:06,bin3546,35,False +CTSPillarNetworkA,3547,3547,3547,1979-09-18,354.70000000001215,354.71243,2015-01-01 00:59:07,bin3547,75,False +CTSPillarNetworkA,3548,3548,3548,1979-09-19,354.8000000000122,354.81244,2015-01-01 00:59:08,bin3548,35,False +CTSPillarNetworkA,3549,3549,3549,1979-09-20,354.9000000000122,354.91245,2015-01-01 00:59:09,bin3549,75,False +CTSPillarNetworkA,3550,3550,3550,1979-09-21,355.0000000000122,355.01245,2015-01-01 00:59:10,bin3550,35,False +CTSPillarNetworkA,3551,3551,3551,1979-09-22,355.10000000001224,355.11246,2015-01-01 00:59:11,bin3551,75,False +CTSPillarNetworkA,3552,3552,3552,1979-09-23,355.20000000001227,355.21246,2015-01-01 00:59:12,bin3552,35,False +CTSPillarNetworkA,3553,3553,3553,1979-09-24,355.3000000000123,355.31247,2015-01-01 00:59:13,bin3553,75,False +CTSPillarNetworkA,3554,3554,3554,1979-09-25,355.4000000000123,355.41248,2015-01-01 00:59:14,bin3554,35,False +CTSPillarNetworkA,3555,3555,3555,1979-09-26,355.50000000001234,355.51248,2015-01-01 00:59:15,bin3555,75,False +CTSPillarNetworkA,3556,3556,3556,1979-09-27,355.60000000001236,355.6125,2015-01-01 00:59:16,bin3556,35,False +CTSPillarNetworkA,3557,3557,3557,1979-09-28,355.7000000000124,355.7125,2015-01-01 00:59:17,bin3557,75,False +CTSPillarNetworkA,3558,3558,3558,1979-09-29,355.8000000000124,355.8125,2015-01-01 00:59:18,bin3558,35,False +CTSPillarNetworkA,3559,3559,3559,1979-09-30,355.9000000000124,355.9125,2015-01-01 00:59:19,bin3559,75,False +CTSPillarNetworkA,3560,3560,3560,1979-10-01,356.00000000001245,356.0125,2015-01-01 00:59:20,bin3560,35,False +CTSPillarNetworkA,3561,3561,3561,1979-10-02,356.10000000001247,356.11252,2015-01-01 00:59:21,bin3561,75,False +CTSPillarNetworkA,3562,3562,3562,1979-10-03,356.2000000000125,356.21252,2015-01-01 00:59:22,bin3562,35,False +CTSPillarNetworkA,3563,3563,3563,1979-10-04,356.3000000000125,356.31253,2015-01-01 00:59:23,bin3563,75,False +CTSPillarNetworkA,3564,3564,3564,1979-10-05,356.40000000001254,356.41254,2015-01-01 00:59:24,bin3564,35,False +CTSPillarNetworkA,3565,3565,3565,1979-10-06,356.50000000001256,356.51254,2015-01-01 00:59:25,bin3565,75,False +CTSPillarNetworkA,3566,3566,3566,1979-10-07,356.6000000000126,356.61255,2015-01-01 00:59:26,bin3566,35,False +CTSPillarNetworkA,3567,3567,3567,1979-10-08,356.7000000000126,356.71255,2015-01-01 00:59:27,bin3567,75,False +CTSPillarNetworkA,3568,3568,3568,1979-10-09,356.80000000001263,356.81256,2015-01-01 00:59:28,bin3568,35,False +CTSPillarNetworkA,3569,3569,3569,1979-10-10,356.90000000001265,356.91257,2015-01-01 00:59:29,bin3569,75,False +CTSPillarNetworkA,3570,3570,3570,1979-10-11,357.0000000000127,357.01257,2015-01-01 00:59:30,bin3570,35,False +CTSPillarNetworkA,3571,3571,3571,1979-10-12,357.1000000000127,357.11258,2015-01-01 00:59:31,bin3571,75,False +CTSPillarNetworkA,3572,3572,3572,1979-10-13,357.2000000000127,357.2126,2015-01-01 00:59:32,bin3572,35,False +CTSPillarNetworkA,3573,3573,3573,1979-10-14,357.30000000001274,357.3126,2015-01-01 00:59:33,bin3573,75,False +CTSPillarNetworkA,3574,3574,3574,1979-10-15,357.40000000001277,357.4126,2015-01-01 00:59:34,bin3574,35,False +CTSPillarNetworkA,3575,3575,3575,1979-10-16,357.5000000000128,357.5126,2015-01-01 00:59:35,bin3575,75,False +CTSPillarNetworkA,3576,3576,3576,1979-10-17,357.6000000000128,357.6126,2015-01-01 00:59:36,bin3576,35,False +CTSPillarNetworkA,3577,3577,3577,1979-10-18,357.70000000001284,357.71262,2015-01-01 00:59:37,bin3577,75,False +CTSPillarNetworkA,3578,3578,3578,1979-10-19,357.80000000001286,357.81262,2015-01-01 00:59:38,bin3578,35,False +CTSPillarNetworkA,3579,3579,3579,1979-10-20,357.9000000000129,357.91263,2015-01-01 00:59:39,bin3579,75,False +CTSPillarNetworkA,3580,3580,3580,1979-10-21,358.0000000000129,358.01263,2015-01-01 00:59:40,bin3580,35,False +CTSPillarNetworkA,3581,3581,3581,1979-10-22,358.1000000000129,358.11264,2015-01-01 00:59:41,bin3581,75,False +CTSPillarNetworkA,3582,3582,3582,1979-10-23,358.20000000001295,358.21265,2015-01-01 00:59:42,bin3582,35,False +CTSPillarNetworkA,3583,3583,3583,1979-10-24,358.300000000013,358.31265,2015-01-01 00:59:43,bin3583,75,False +CTSPillarNetworkA,3584,3584,3584,1979-10-25,358.400000000013,358.41266,2015-01-01 00:59:44,bin3584,35,False +CTSPillarNetworkA,3585,3585,3585,1979-10-26,358.500000000013,358.51266,2015-01-01 00:59:45,bin3585,75,False +CTSPillarNetworkA,3586,3586,3586,1979-10-27,358.60000000001304,358.61267,2015-01-01 00:59:46,bin3586,35,False +CTSPillarNetworkA,3587,3587,3587,1979-10-28,358.70000000001306,358.71268,2015-01-01 00:59:47,bin3587,75,False +CTSPillarNetworkA,3588,3588,3588,1979-10-29,358.8000000000131,358.81268,2015-01-01 00:59:48,bin3588,35,False +CTSPillarNetworkA,3589,3589,3589,1979-10-30,358.9000000000131,358.9127,2015-01-01 00:59:49,bin3589,75,False +CTSPillarNetworkA,3590,3590,3590,1979-10-31,359.00000000001313,359.0127,2015-01-01 00:59:50,bin3590,35,False +CTSPillarNetworkA,3591,3591,3591,1979-11-01,359.10000000001315,359.1127,2015-01-01 00:59:51,bin3591,75,False +CTSPillarNetworkA,3592,3592,3592,1979-11-02,359.2000000000132,359.2127,2015-01-01 00:59:52,bin3592,35,False +CTSPillarNetworkA,3593,3593,3593,1979-11-03,359.3000000000132,359.3127,2015-01-01 00:59:53,bin3593,75,False +CTSPillarNetworkA,3594,3594,3594,1979-11-04,359.4000000000132,359.41272,2015-01-01 00:59:54,bin3594,35,False +CTSPillarNetworkA,3595,3595,3595,1979-11-05,359.50000000001324,359.51273,2015-01-01 00:59:55,bin3595,75,False +CTSPillarNetworkA,3596,3596,3596,1979-11-06,359.60000000001327,359.61273,2015-01-01 00:59:56,bin3596,35,False +CTSPillarNetworkA,3597,3597,3597,1979-11-07,359.7000000000133,359.71274,2015-01-01 00:59:57,bin3597,75,False +CTSPillarNetworkA,3598,3598,3598,1979-11-08,359.8000000000133,359.81274,2015-01-01 00:59:58,bin3598,35,False +CTSPillarNetworkA,3599,3599,3599,1979-11-09,359.90000000001334,359.91275,2015-01-01 00:59:59,bin3599,75,False +CTSPillarNetworkA,3600,3600,3600,1979-11-10,360.00000000001336,360.01276,2015-01-01 01:00:00,bin3600,35,False +CTSPillarNetworkA,3601,3601,3601,1979-11-11,360.1000000000134,360.11276,2015-01-01 01:00:01,bin3601,75,False +CTSPillarNetworkA,3602,3602,3602,1979-11-12,360.2000000000134,360.21277,2015-01-01 01:00:02,bin3602,35,False +CTSPillarNetworkA,3603,3603,3603,1979-11-13,360.3000000000134,360.31277,2015-01-01 01:00:03,bin3603,75,False +CTSPillarNetworkA,3604,3604,3604,1979-11-14,360.40000000001345,360.41278,2015-01-01 01:00:04,bin3604,35,False +CTSPillarNetworkA,3605,3605,3605,1979-11-15,360.5000000000135,360.5128,2015-01-01 01:00:05,bin3605,75,False +CTSPillarNetworkA,3606,3606,3606,1979-11-16,360.6000000000135,360.6128,2015-01-01 01:00:06,bin3606,35,False +CTSPillarNetworkA,3607,3607,3607,1979-11-17,360.7000000000135,360.7128,2015-01-01 01:00:07,bin3607,75,False +CTSPillarNetworkA,3608,3608,3608,1979-11-18,360.80000000001354,360.8128,2015-01-01 01:00:08,bin3608,35,False +CTSPillarNetworkA,3609,3609,3609,1979-11-19,360.90000000001356,360.9128,2015-01-01 01:00:09,bin3609,75,False +CTSPillarNetworkA,3610,3610,3610,1979-11-20,361.0000000000136,361.01282,2015-01-01 01:00:10,bin3610,35,False +CTSPillarNetworkA,3611,3611,3611,1979-11-21,361.1000000000136,361.11282,2015-01-01 01:00:11,bin3611,75,False +CTSPillarNetworkA,3612,3612,3612,1979-11-22,361.20000000001363,361.21283,2015-01-01 01:00:12,bin3612,35,False +CTSPillarNetworkA,3613,3613,3613,1979-11-23,361.30000000001365,361.31284,2015-01-01 01:00:13,bin3613,75,False +CTSPillarNetworkA,3614,3614,3614,1979-11-24,361.4000000000137,361.41284,2015-01-01 01:00:14,bin3614,35,False +CTSPillarNetworkA,3615,3615,3615,1979-11-25,361.5000000000137,361.51285,2015-01-01 01:00:15,bin3615,75,False +CTSPillarNetworkA,3616,3616,3616,1979-11-26,361.6000000000137,361.61285,2015-01-01 01:00:16,bin3616,35,False +CTSPillarNetworkA,3617,3617,3617,1979-11-27,361.70000000001374,361.71286,2015-01-01 01:00:17,bin3617,75,False +CTSPillarNetworkA,3618,3618,3618,1979-11-28,361.80000000001377,361.81287,2015-01-01 01:00:18,bin3618,35,False +CTSPillarNetworkA,3619,3619,3619,1979-11-29,361.9000000000138,361.91287,2015-01-01 01:00:19,bin3619,75,False +CTSPillarNetworkA,3620,3620,3620,1979-11-30,362.0000000000138,362.01288,2015-01-01 01:00:20,bin3620,35,False +CTSPillarNetworkA,3621,3621,3621,1979-12-01,362.10000000001384,362.11288,2015-01-01 01:00:21,bin3621,75,False +CTSPillarNetworkA,3622,3622,3622,1979-12-02,362.20000000001386,362.2129,2015-01-01 01:00:22,bin3622,35,False +CTSPillarNetworkA,3623,3623,3623,1979-12-03,362.3000000000139,362.3129,2015-01-01 01:00:23,bin3623,75,False +CTSPillarNetworkA,3624,3624,3624,1979-12-04,362.4000000000139,362.4129,2015-01-01 01:00:24,bin3624,35,False +CTSPillarNetworkA,3625,3625,3625,1979-12-05,362.5000000000139,362.5129,2015-01-01 01:00:25,bin3625,75,False +CTSPillarNetworkA,3626,3626,3626,1979-12-06,362.60000000001395,362.6129,2015-01-01 01:00:26,bin3626,35,False +CTSPillarNetworkA,3627,3627,3627,1979-12-07,362.700000000014,362.71292,2015-01-01 01:00:27,bin3627,75,False +CTSPillarNetworkA,3628,3628,3628,1979-12-08,362.800000000014,362.81293,2015-01-01 01:00:28,bin3628,35,False +CTSPillarNetworkA,3629,3629,3629,1979-12-09,362.900000000014,362.91293,2015-01-01 01:00:29,bin3629,75,False +CTSPillarNetworkA,3630,3630,3630,1979-12-10,363.00000000001404,363.01294,2015-01-01 01:00:30,bin3630,35,False +CTSPillarNetworkA,3631,3631,3631,1979-12-11,363.10000000001406,363.11295,2015-01-01 01:00:31,bin3631,75,False +CTSPillarNetworkA,3632,3632,3632,1979-12-12,363.2000000000141,363.21295,2015-01-01 01:00:32,bin3632,35,False +CTSPillarNetworkA,3633,3633,3633,1979-12-13,363.3000000000141,363.31296,2015-01-01 01:00:33,bin3633,75,False +CTSPillarNetworkA,3634,3634,3634,1979-12-14,363.40000000001413,363.41296,2015-01-01 01:00:34,bin3634,35,False +CTSPillarNetworkA,3635,3635,3635,1979-12-15,363.50000000001415,363.51297,2015-01-01 01:00:35,bin3635,75,False +CTSPillarNetworkA,3636,3636,3636,1979-12-16,363.6000000000142,363.61298,2015-01-01 01:00:36,bin3636,35,False +CTSPillarNetworkA,3637,3637,3637,1979-12-17,363.7000000000142,363.71298,2015-01-01 01:00:37,bin3637,75,False +CTSPillarNetworkA,3638,3638,3638,1979-12-18,363.8000000000142,363.813,2015-01-01 01:00:38,bin3638,35,False +CTSPillarNetworkA,3639,3639,3639,1979-12-19,363.90000000001424,363.913,2015-01-01 01:00:39,bin3639,75,False +CTSPillarNetworkA,3640,3640,3640,1979-12-20,364.00000000001427,364.013,2015-01-01 01:00:40,bin3640,35,False +CTSPillarNetworkA,3641,3641,3641,1979-12-21,364.1000000000143,364.113,2015-01-01 01:00:41,bin3641,75,False +CTSPillarNetworkA,3642,3642,3642,1979-12-22,364.2000000000143,364.213,2015-01-01 01:00:42,bin3642,35,False +CTSPillarNetworkA,3643,3643,3643,1979-12-23,364.30000000001434,364.31302,2015-01-01 01:00:43,bin3643,75,False +CTSPillarNetworkA,3644,3644,3644,1979-12-24,364.40000000001436,364.41302,2015-01-01 01:00:44,bin3644,35,False +CTSPillarNetworkA,3645,3645,3645,1979-12-25,364.5000000000144,364.51303,2015-01-01 01:00:45,bin3645,75,False +CTSPillarNetworkA,3646,3646,3646,1979-12-26,364.6000000000144,364.61304,2015-01-01 01:00:46,bin3646,35,False +CTSPillarNetworkA,3647,3647,3647,1979-12-27,364.7000000000144,364.71304,2015-01-01 01:00:47,bin3647,75,False +CTSPillarNetworkA,3648,3648,3648,1979-12-28,364.80000000001445,364.81305,2015-01-01 01:00:48,bin3648,35,False +CTSPillarNetworkA,3649,3649,3649,1979-12-29,364.9000000000145,364.91306,2015-01-01 01:00:49,bin3649,75,False +CTSPillarNetworkA,3650,3650,3650,1979-12-30,365.0000000000145,365.01306,2015-01-01 01:00:50,bin3650,35,False +CTSPillarNetworkA,3651,3651,3651,1979-12-31,365.1000000000145,365.11307,2015-01-01 01:00:51,bin3651,75,False +CTSPillarNetworkA,3652,3652,3652,1980-01-01,365.20000000001454,365.21307,2015-01-01 01:00:52,bin3652,35,False +CTSPillarNetworkA,3653,3653,3653,1980-01-02,365.30000000001456,365.31308,2015-01-01 01:00:53,bin3653,75,False +CTSPillarNetworkA,3654,3654,3654,1980-01-03,365.4000000000146,365.4131,2015-01-01 01:00:54,bin3654,35,False +CTSPillarNetworkA,3655,3655,3655,1980-01-04,365.5000000000146,365.5131,2015-01-01 01:00:55,bin3655,75,False +CTSPillarNetworkA,3656,3656,3656,1980-01-05,365.60000000001463,365.6131,2015-01-01 01:00:56,bin3656,35,False +CTSPillarNetworkA,3657,3657,3657,1980-01-06,365.70000000001465,365.7131,2015-01-01 01:00:57,bin3657,75,False +CTSPillarNetworkA,3658,3658,3658,1980-01-07,365.8000000000147,365.8131,2015-01-01 01:00:58,bin3658,35,False +CTSPillarNetworkA,3659,3659,3659,1980-01-08,365.9000000000147,365.91312,2015-01-01 01:00:59,bin3659,75,False +CTSPillarNetworkA,3660,3660,3660,1980-01-09,366.0000000000147,366.01312,2015-01-01 01:01:00,bin3660,35,False +CTSPillarNetworkA,3661,3661,3661,1980-01-10,366.10000000001475,366.11313,2015-01-01 01:01:01,bin3661,75,False +CTSPillarNetworkA,3662,3662,3662,1980-01-11,366.20000000001477,366.21313,2015-01-01 01:01:02,bin3662,35,False +CTSPillarNetworkA,3663,3663,3663,1980-01-12,366.3000000000148,366.31314,2015-01-01 01:01:03,bin3663,75,False +CTSPillarNetworkA,3664,3664,3664,1980-01-13,366.4000000000148,366.41315,2015-01-01 01:01:04,bin3664,35,False +CTSPillarNetworkA,3665,3665,3665,1980-01-14,366.50000000001484,366.51315,2015-01-01 01:01:05,bin3665,75,False +CTSPillarNetworkA,3666,3666,3666,1980-01-15,366.60000000001486,366.61316,2015-01-01 01:01:06,bin3666,35,False +CTSPillarNetworkA,3667,3667,3667,1980-01-16,366.7000000000149,366.71317,2015-01-01 01:01:07,bin3667,75,False +CTSPillarNetworkA,3668,3668,3668,1980-01-17,366.8000000000149,366.81317,2015-01-01 01:01:08,bin3668,35,False +CTSPillarNetworkA,3669,3669,3669,1980-01-18,366.9000000000149,366.91318,2015-01-01 01:01:09,bin3669,75,False +CTSPillarNetworkA,3670,3670,3670,1980-01-19,367.00000000001495,367.01318,2015-01-01 01:01:10,bin3670,35,False +CTSPillarNetworkA,3671,3671,3671,1980-01-20,367.100000000015,367.1132,2015-01-01 01:01:11,bin3671,75,False +CTSPillarNetworkA,3672,3672,3672,1980-01-21,367.200000000015,367.2132,2015-01-01 01:01:12,bin3672,35,False +CTSPillarNetworkA,3673,3673,3673,1980-01-22,367.300000000015,367.3132,2015-01-01 01:01:13,bin3673,75,False +CTSPillarNetworkA,3674,3674,3674,1980-01-23,367.40000000001504,367.4132,2015-01-01 01:01:14,bin3674,35,False +CTSPillarNetworkA,3675,3675,3675,1980-01-24,367.50000000001506,367.5132,2015-01-01 01:01:15,bin3675,75,False +CTSPillarNetworkA,3676,3676,3676,1980-01-25,367.6000000000151,367.61322,2015-01-01 01:01:16,bin3676,35,False +CTSPillarNetworkA,3677,3677,3677,1980-01-26,367.7000000000151,367.71323,2015-01-01 01:01:17,bin3677,75,False +CTSPillarNetworkA,3678,3678,3678,1980-01-27,367.80000000001513,367.81323,2015-01-01 01:01:18,bin3678,35,False +CTSPillarNetworkA,3679,3679,3679,1980-01-28,367.90000000001515,367.91324,2015-01-01 01:01:19,bin3679,75,False +CTSPillarNetworkA,3680,3680,3680,1980-01-29,368.0000000000152,368.01324,2015-01-01 01:01:20,bin3680,35,False +CTSPillarNetworkA,3681,3681,3681,1980-01-30,368.1000000000152,368.11325,2015-01-01 01:01:21,bin3681,75,False +CTSPillarNetworkA,3682,3682,3682,1980-01-31,368.2000000000152,368.21326,2015-01-01 01:01:22,bin3682,35,False +CTSPillarNetworkA,3683,3683,3683,1980-02-01,368.30000000001525,368.31326,2015-01-01 01:01:23,bin3683,75,False +CTSPillarNetworkA,3684,3684,3684,1980-02-02,368.40000000001527,368.41327,2015-01-01 01:01:24,bin3684,35,False +CTSPillarNetworkA,3685,3685,3685,1980-02-03,368.5000000000153,368.51328,2015-01-01 01:01:25,bin3685,75,False +CTSPillarNetworkA,3686,3686,3686,1980-02-04,368.6000000000153,368.61328,2015-01-01 01:01:26,bin3686,35,False +CTSPillarNetworkA,3687,3687,3687,1980-02-05,368.70000000001534,368.7133,2015-01-01 01:01:27,bin3687,75,False +CTSPillarNetworkA,3688,3688,3688,1980-02-06,368.80000000001536,368.8133,2015-01-01 01:01:28,bin3688,35,False +CTSPillarNetworkA,3689,3689,3689,1980-02-07,368.9000000000154,368.9133,2015-01-01 01:01:29,bin3689,75,False +CTSPillarNetworkA,3690,3690,3690,1980-02-08,369.0000000000154,369.0133,2015-01-01 01:01:30,bin3690,35,False +CTSPillarNetworkA,3691,3691,3691,1980-02-09,369.1000000000154,369.1133,2015-01-01 01:01:31,bin3691,75,False +CTSPillarNetworkA,3692,3692,3692,1980-02-10,369.20000000001545,369.21332,2015-01-01 01:01:32,bin3692,35,False +CTSPillarNetworkA,3693,3693,3693,1980-02-11,369.3000000000155,369.31332,2015-01-01 01:01:33,bin3693,75,False +CTSPillarNetworkA,3694,3694,3694,1980-02-12,369.4000000000155,369.41333,2015-01-01 01:01:34,bin3694,35,False +CTSPillarNetworkA,3695,3695,3695,1980-02-13,369.5000000000155,369.51334,2015-01-01 01:01:35,bin3695,75,False +CTSPillarNetworkA,3696,3696,3696,1980-02-14,369.60000000001554,369.61334,2015-01-01 01:01:36,bin3696,35,False +CTSPillarNetworkA,3697,3697,3697,1980-02-15,369.70000000001556,369.71335,2015-01-01 01:01:37,bin3697,75,False +CTSPillarNetworkA,3698,3698,3698,1980-02-16,369.8000000000156,369.81335,2015-01-01 01:01:38,bin3698,35,False +CTSPillarNetworkA,3699,3699,3699,1980-02-17,369.9000000000156,369.91336,2015-01-01 01:01:39,bin3699,75,False +CTSPillarNetworkA,3700,3700,3700,1980-02-18,370.00000000001563,370.01337,2015-01-01 01:01:40,bin3700,35,False +CTSPillarNetworkA,3701,3701,3701,1980-02-19,370.10000000001565,370.11337,2015-01-01 01:01:41,bin3701,75,False +CTSPillarNetworkA,3702,3702,3702,1980-02-20,370.2000000000157,370.21338,2015-01-01 01:01:42,bin3702,35,False +CTSPillarNetworkA,3703,3703,3703,1980-02-21,370.3000000000157,370.3134,2015-01-01 01:01:43,bin3703,75,False +CTSPillarNetworkA,3704,3704,3704,1980-02-22,370.4000000000157,370.4134,2015-01-01 01:01:44,bin3704,35,False +CTSPillarNetworkA,3705,3705,3705,1980-02-23,370.50000000001575,370.5134,2015-01-01 01:01:45,bin3705,75,False +CTSPillarNetworkA,3706,3706,3706,1980-02-24,370.60000000001577,370.6134,2015-01-01 01:01:46,bin3706,35,False +CTSPillarNetworkA,3707,3707,3707,1980-02-25,370.7000000000158,370.7134,2015-01-01 01:01:47,bin3707,75,False +CTSPillarNetworkA,3708,3708,3708,1980-02-26,370.8000000000158,370.81342,2015-01-01 01:01:48,bin3708,35,False +CTSPillarNetworkA,3709,3709,3709,1980-02-27,370.90000000001584,370.91342,2015-01-01 01:01:49,bin3709,75,False +CTSPillarNetworkA,3710,3710,3710,1980-02-28,371.00000000001586,371.01343,2015-01-01 01:01:50,bin3710,35,False +CTSPillarNetworkA,3711,3711,3711,1980-02-29,371.1000000000159,371.11343,2015-01-01 01:01:51,bin3711,75,False +CTSPillarNetworkA,3712,3712,3712,1980-03-01,371.2000000000159,371.21344,2015-01-01 01:01:52,bin3712,35,False +CTSPillarNetworkA,3713,3713,3713,1980-03-02,371.3000000000159,371.31345,2015-01-01 01:01:53,bin3713,75,False +CTSPillarNetworkA,3714,3714,3714,1980-03-03,371.40000000001595,371.41345,2015-01-01 01:01:54,bin3714,35,False +CTSPillarNetworkA,3715,3715,3715,1980-03-04,371.500000000016,371.51346,2015-01-01 01:01:55,bin3715,75,False +CTSPillarNetworkA,3716,3716,3716,1980-03-05,371.600000000016,371.61346,2015-01-01 01:01:56,bin3716,35,False +CTSPillarNetworkA,3717,3717,3717,1980-03-06,371.700000000016,371.71347,2015-01-01 01:01:57,bin3717,75,False +CTSPillarNetworkA,3718,3718,3718,1980-03-07,371.80000000001604,371.81348,2015-01-01 01:01:58,bin3718,35,False +CTSPillarNetworkA,3719,3719,3719,1980-03-08,371.90000000001606,371.91348,2015-01-01 01:01:59,bin3719,75,False +CTSPillarNetworkA,3720,3720,3720,1980-03-09,372.0000000000161,372.0135,2015-01-01 01:02:00,bin3720,35,False +CTSPillarNetworkA,3721,3721,3721,1980-03-10,372.1000000000161,372.1135,2015-01-01 01:02:01,bin3721,75,False +CTSPillarNetworkA,3722,3722,3722,1980-03-11,372.20000000001613,372.2135,2015-01-01 01:02:02,bin3722,35,False +CTSPillarNetworkA,3723,3723,3723,1980-03-12,372.30000000001615,372.3135,2015-01-01 01:02:03,bin3723,75,False +CTSPillarNetworkA,3724,3724,3724,1980-03-13,372.4000000000162,372.4135,2015-01-01 01:02:04,bin3724,35,False +CTSPillarNetworkA,3725,3725,3725,1980-03-14,372.5000000000162,372.51352,2015-01-01 01:02:05,bin3725,75,False +CTSPillarNetworkA,3726,3726,3726,1980-03-15,372.6000000000162,372.61353,2015-01-01 01:02:06,bin3726,35,False +CTSPillarNetworkA,3727,3727,3727,1980-03-16,372.70000000001625,372.71353,2015-01-01 01:02:07,bin3727,75,False +CTSPillarNetworkA,3728,3728,3728,1980-03-17,372.80000000001627,372.81354,2015-01-01 01:02:08,bin3728,35,False +CTSPillarNetworkA,3729,3729,3729,1980-03-18,372.9000000000163,372.91354,2015-01-01 01:02:09,bin3729,75,False +CTSPillarNetworkA,3730,3730,3730,1980-03-19,373.0000000000163,373.01355,2015-01-01 01:02:10,bin3730,35,False +CTSPillarNetworkA,3731,3731,3731,1980-03-20,373.10000000001634,373.11356,2015-01-01 01:02:11,bin3731,75,False +CTSPillarNetworkA,3732,3732,3732,1980-03-21,373.20000000001636,373.21356,2015-01-01 01:02:12,bin3732,35,False +CTSPillarNetworkA,3733,3733,3733,1980-03-22,373.3000000000164,373.31357,2015-01-01 01:02:13,bin3733,75,False +CTSPillarNetworkA,3734,3734,3734,1980-03-23,373.4000000000164,373.41357,2015-01-01 01:02:14,bin3734,35,False +CTSPillarNetworkA,3735,3735,3735,1980-03-24,373.5000000000164,373.51358,2015-01-01 01:02:15,bin3735,75,False +CTSPillarNetworkA,3736,3736,3736,1980-03-25,373.60000000001645,373.6136,2015-01-01 01:02:16,bin3736,35,False +CTSPillarNetworkA,3737,3737,3737,1980-03-26,373.7000000000165,373.7136,2015-01-01 01:02:17,bin3737,75,False +CTSPillarNetworkA,3738,3738,3738,1980-03-27,373.8000000000165,373.8136,2015-01-01 01:02:18,bin3738,35,False +CTSPillarNetworkA,3739,3739,3739,1980-03-28,373.9000000000165,373.9136,2015-01-01 01:02:19,bin3739,75,False +CTSPillarNetworkA,3740,3740,3740,1980-03-29,374.00000000001654,374.0136,2015-01-01 01:02:20,bin3740,35,False +CTSPillarNetworkA,3741,3741,3741,1980-03-30,374.10000000001656,374.11362,2015-01-01 01:02:21,bin3741,75,False +CTSPillarNetworkA,3742,3742,3742,1980-03-31,374.2000000000166,374.21362,2015-01-01 01:02:22,bin3742,35,False +CTSPillarNetworkA,3743,3743,3743,1980-04-01,374.3000000000166,374.31363,2015-01-01 01:02:23,bin3743,75,False +CTSPillarNetworkA,3744,3744,3744,1980-04-02,374.40000000001663,374.41364,2015-01-01 01:02:24,bin3744,35,False +CTSPillarNetworkA,3745,3745,3745,1980-04-03,374.50000000001666,374.51364,2015-01-01 01:02:25,bin3745,75,False +CTSPillarNetworkA,3746,3746,3746,1980-04-04,374.6000000000167,374.61365,2015-01-01 01:02:26,bin3746,35,False +CTSPillarNetworkA,3747,3747,3747,1980-04-05,374.7000000000167,374.71365,2015-01-01 01:02:27,bin3747,75,False +CTSPillarNetworkA,3748,3748,3748,1980-04-06,374.8000000000167,374.81366,2015-01-01 01:02:28,bin3748,35,False +CTSPillarNetworkA,3749,3749,3749,1980-04-07,374.90000000001675,374.91367,2015-01-01 01:02:29,bin3749,75,False +CTSPillarNetworkA,3750,3750,3750,1980-04-08,375.00000000001677,375.01367,2015-01-01 01:02:30,bin3750,35,False +CTSPillarNetworkA,3751,3751,3751,1980-04-09,375.1000000000168,375.11368,2015-01-01 01:02:31,bin3751,75,False +CTSPillarNetworkA,3752,3752,3752,1980-04-10,375.2000000000168,375.21368,2015-01-01 01:02:32,bin3752,35,False +CTSPillarNetworkA,3753,3753,3753,1980-04-11,375.30000000001684,375.3137,2015-01-01 01:02:33,bin3753,75,False +CTSPillarNetworkA,3754,3754,3754,1980-04-12,375.40000000001686,375.4137,2015-01-01 01:02:34,bin3754,35,False +CTSPillarNetworkA,3755,3755,3755,1980-04-13,375.5000000000169,375.5137,2015-01-01 01:02:35,bin3755,75,False +CTSPillarNetworkA,3756,3756,3756,1980-04-14,375.6000000000169,375.6137,2015-01-01 01:02:36,bin3756,35,False +CTSPillarNetworkA,3757,3757,3757,1980-04-15,375.7000000000169,375.7137,2015-01-01 01:02:37,bin3757,75,False +CTSPillarNetworkA,3758,3758,3758,1980-04-16,375.80000000001695,375.81372,2015-01-01 01:02:38,bin3758,35,False +CTSPillarNetworkA,3759,3759,3759,1980-04-17,375.900000000017,375.91373,2015-01-01 01:02:39,bin3759,75,False +CTSPillarNetworkA,3760,3760,3760,1980-04-18,376.000000000017,376.01373,2015-01-01 01:02:40,bin3760,35,False +CTSPillarNetworkA,3761,3761,3761,1980-04-19,376.100000000017,376.11374,2015-01-01 01:02:41,bin3761,75,False +CTSPillarNetworkA,3762,3762,3762,1980-04-20,376.20000000001704,376.21375,2015-01-01 01:02:42,bin3762,35,False +CTSPillarNetworkA,3763,3763,3763,1980-04-21,376.30000000001706,376.31375,2015-01-01 01:02:43,bin3763,75,False +CTSPillarNetworkA,3764,3764,3764,1980-04-22,376.4000000000171,376.41376,2015-01-01 01:02:44,bin3764,35,False +CTSPillarNetworkA,3765,3765,3765,1980-04-23,376.5000000000171,376.51376,2015-01-01 01:02:45,bin3765,75,False +CTSPillarNetworkA,3766,3766,3766,1980-04-24,376.60000000001713,376.61377,2015-01-01 01:02:46,bin3766,35,False +CTSPillarNetworkA,3767,3767,3767,1980-04-25,376.70000000001716,376.71378,2015-01-01 01:02:47,bin3767,75,False +CTSPillarNetworkA,3768,3768,3768,1980-04-26,376.8000000000172,376.81378,2015-01-01 01:02:48,bin3768,35,False +CTSPillarNetworkA,3769,3769,3769,1980-04-27,376.9000000000172,376.9138,2015-01-01 01:02:49,bin3769,75,False +CTSPillarNetworkA,3770,3770,3770,1980-04-28,377.0000000000172,377.0138,2015-01-01 01:02:50,bin3770,35,False +CTSPillarNetworkA,3771,3771,3771,1980-04-29,377.10000000001725,377.1138,2015-01-01 01:02:51,bin3771,75,False +CTSPillarNetworkA,3772,3772,3772,1980-04-30,377.20000000001727,377.2138,2015-01-01 01:02:52,bin3772,35,False +CTSPillarNetworkA,3773,3773,3773,1980-05-01,377.3000000000173,377.3138,2015-01-01 01:02:53,bin3773,75,False +CTSPillarNetworkA,3774,3774,3774,1980-05-02,377.4000000000173,377.41382,2015-01-01 01:02:54,bin3774,35,False +CTSPillarNetworkA,3775,3775,3775,1980-05-03,377.50000000001734,377.51382,2015-01-01 01:02:55,bin3775,75,False +CTSPillarNetworkA,3776,3776,3776,1980-05-04,377.60000000001736,377.61383,2015-01-01 01:02:56,bin3776,35,False +CTSPillarNetworkA,3777,3777,3777,1980-05-05,377.7000000000174,377.71384,2015-01-01 01:02:57,bin3777,75,False +CTSPillarNetworkA,3778,3778,3778,1980-05-06,377.8000000000174,377.81384,2015-01-01 01:02:58,bin3778,35,False +CTSPillarNetworkA,3779,3779,3779,1980-05-07,377.9000000000174,377.91385,2015-01-01 01:02:59,bin3779,75,False +CTSPillarNetworkA,3780,3780,3780,1980-05-08,378.00000000001745,378.01385,2015-01-01 01:03:00,bin3780,35,False +CTSPillarNetworkA,3781,3781,3781,1980-05-09,378.1000000000175,378.11386,2015-01-01 01:03:01,bin3781,75,False +CTSPillarNetworkA,3782,3782,3782,1980-05-10,378.2000000000175,378.21387,2015-01-01 01:03:02,bin3782,35,False +CTSPillarNetworkA,3783,3783,3783,1980-05-11,378.3000000000175,378.31387,2015-01-01 01:03:03,bin3783,75,False +CTSPillarNetworkA,3784,3784,3784,1980-05-12,378.40000000001754,378.41388,2015-01-01 01:03:04,bin3784,35,False +CTSPillarNetworkA,3785,3785,3785,1980-05-13,378.50000000001756,378.5139,2015-01-01 01:03:05,bin3785,75,False +CTSPillarNetworkA,3786,3786,3786,1980-05-14,378.6000000000176,378.6139,2015-01-01 01:03:06,bin3786,35,False +CTSPillarNetworkA,3787,3787,3787,1980-05-15,378.7000000000176,378.7139,2015-01-01 01:03:07,bin3787,75,False +CTSPillarNetworkA,3788,3788,3788,1980-05-16,378.80000000001763,378.8139,2015-01-01 01:03:08,bin3788,35,False +CTSPillarNetworkA,3789,3789,3789,1980-05-17,378.90000000001766,378.9139,2015-01-01 01:03:09,bin3789,75,False +CTSPillarNetworkA,3790,3790,3790,1980-05-18,379.0000000000177,379.01392,2015-01-01 01:03:10,bin3790,35,False +CTSPillarNetworkA,3791,3791,3791,1980-05-19,379.1000000000177,379.11392,2015-01-01 01:03:11,bin3791,75,False +CTSPillarNetworkA,3792,3792,3792,1980-05-20,379.2000000000177,379.21393,2015-01-01 01:03:12,bin3792,35,False +CTSPillarNetworkA,3793,3793,3793,1980-05-21,379.30000000001775,379.31393,2015-01-01 01:03:13,bin3793,75,False +CTSPillarNetworkA,3794,3794,3794,1980-05-22,379.40000000001777,379.41394,2015-01-01 01:03:14,bin3794,35,False +CTSPillarNetworkA,3795,3795,3795,1980-05-23,379.5000000000178,379.51395,2015-01-01 01:03:15,bin3795,75,False +CTSPillarNetworkA,3796,3796,3796,1980-05-24,379.6000000000178,379.61395,2015-01-01 01:03:16,bin3796,35,False +CTSPillarNetworkA,3797,3797,3797,1980-05-25,379.70000000001784,379.71396,2015-01-01 01:03:17,bin3797,75,False +CTSPillarNetworkA,3798,3798,3798,1980-05-26,379.80000000001786,379.81396,2015-01-01 01:03:18,bin3798,35,False +CTSPillarNetworkA,3799,3799,3799,1980-05-27,379.9000000000179,379.91397,2015-01-01 01:03:19,bin3799,75,False +CTSPillarNetworkA,3800,3800,3800,1980-05-28,380.0000000000179,380.01398,2015-01-01 01:03:20,bin3800,35,False +CTSPillarNetworkA,3801,3801,3801,1980-05-29,380.1000000000179,380.11398,2015-01-01 01:03:21,bin3801,75,False +CTSPillarNetworkA,3802,3802,3802,1980-05-30,380.20000000001795,380.214,2015-01-01 01:03:22,bin3802,35,False +CTSPillarNetworkA,3803,3803,3803,1980-05-31,380.300000000018,380.314,2015-01-01 01:03:23,bin3803,75,False +CTSPillarNetworkA,3804,3804,3804,1980-06-01,380.400000000018,380.414,2015-01-01 01:03:24,bin3804,35,False +CTSPillarNetworkA,3805,3805,3805,1980-06-02,380.500000000018,380.514,2015-01-01 01:03:25,bin3805,75,False +CTSPillarNetworkA,3806,3806,3806,1980-06-03,380.60000000001804,380.614,2015-01-01 01:03:26,bin3806,35,False +CTSPillarNetworkA,3807,3807,3807,1980-06-04,380.70000000001806,380.71402,2015-01-01 01:03:27,bin3807,75,False +CTSPillarNetworkA,3808,3808,3808,1980-06-05,380.8000000000181,380.81403,2015-01-01 01:03:28,bin3808,35,False +CTSPillarNetworkA,3809,3809,3809,1980-06-06,380.9000000000181,380.91403,2015-01-01 01:03:29,bin3809,75,False +CTSPillarNetworkA,3810,3810,3810,1980-06-07,381.00000000001813,381.01404,2015-01-01 01:03:30,bin3810,35,False +CTSPillarNetworkA,3811,3811,3811,1980-06-08,381.10000000001816,381.11404,2015-01-01 01:03:31,bin3811,75,False +CTSPillarNetworkA,3812,3812,3812,1980-06-09,381.2000000000182,381.21405,2015-01-01 01:03:32,bin3812,35,False +CTSPillarNetworkA,3813,3813,3813,1980-06-10,381.3000000000182,381.31406,2015-01-01 01:03:33,bin3813,75,False +CTSPillarNetworkA,3814,3814,3814,1980-06-11,381.4000000000182,381.41406,2015-01-01 01:03:34,bin3814,35,False +CTSPillarNetworkA,3815,3815,3815,1980-06-12,381.50000000001825,381.51407,2015-01-01 01:03:35,bin3815,75,False +CTSPillarNetworkA,3816,3816,3816,1980-06-13,381.60000000001827,381.61407,2015-01-01 01:03:36,bin3816,35,False +CTSPillarNetworkA,3817,3817,3817,1980-06-14,381.7000000000183,381.71408,2015-01-01 01:03:37,bin3817,75,False +CTSPillarNetworkA,3818,3818,3818,1980-06-15,381.8000000000183,381.8141,2015-01-01 01:03:38,bin3818,35,False +CTSPillarNetworkA,3819,3819,3819,1980-06-16,381.90000000001834,381.9141,2015-01-01 01:03:39,bin3819,75,False +CTSPillarNetworkA,3820,3820,3820,1980-06-17,382.00000000001836,382.0141,2015-01-01 01:03:40,bin3820,35,False +CTSPillarNetworkA,3821,3821,3821,1980-06-18,382.1000000000184,382.1141,2015-01-01 01:03:41,bin3821,75,False +CTSPillarNetworkA,3822,3822,3822,1980-06-19,382.2000000000184,382.2141,2015-01-01 01:03:42,bin3822,35,False +CTSPillarNetworkA,3823,3823,3823,1980-06-20,382.30000000001843,382.31412,2015-01-01 01:03:43,bin3823,75,False +CTSPillarNetworkA,3824,3824,3824,1980-06-21,382.40000000001845,382.41412,2015-01-01 01:03:44,bin3824,35,False +CTSPillarNetworkA,3825,3825,3825,1980-06-22,382.5000000000185,382.51413,2015-01-01 01:03:45,bin3825,75,False +CTSPillarNetworkA,3826,3826,3826,1980-06-23,382.6000000000185,382.61414,2015-01-01 01:03:46,bin3826,35,False +CTSPillarNetworkA,3827,3827,3827,1980-06-24,382.7000000000185,382.71414,2015-01-01 01:03:47,bin3827,75,False +CTSPillarNetworkA,3828,3828,3828,1980-06-25,382.80000000001854,382.81415,2015-01-01 01:03:48,bin3828,35,False +CTSPillarNetworkA,3829,3829,3829,1980-06-26,382.90000000001857,382.91415,2015-01-01 01:03:49,bin3829,75,False +CTSPillarNetworkA,3830,3830,3830,1980-06-27,383.0000000000186,383.01416,2015-01-01 01:03:50,bin3830,35,False +CTSPillarNetworkA,3831,3831,3831,1980-06-28,383.1000000000186,383.11417,2015-01-01 01:03:51,bin3831,75,False +CTSPillarNetworkA,3832,3832,3832,1980-06-29,383.20000000001863,383.21417,2015-01-01 01:03:52,bin3832,35,False +CTSPillarNetworkA,3833,3833,3833,1980-06-30,383.30000000001866,383.31418,2015-01-01 01:03:53,bin3833,75,False +CTSPillarNetworkA,3834,3834,3834,1980-07-01,383.4000000000187,383.41418,2015-01-01 01:03:54,bin3834,35,False +CTSPillarNetworkA,3835,3835,3835,1980-07-02,383.5000000000187,383.5142,2015-01-01 01:03:55,bin3835,75,False +CTSPillarNetworkA,3836,3836,3836,1980-07-03,383.6000000000187,383.6142,2015-01-01 01:03:56,bin3836,35,False +CTSPillarNetworkA,3837,3837,3837,1980-07-04,383.70000000001875,383.7142,2015-01-01 01:03:57,bin3837,75,False +CTSPillarNetworkA,3838,3838,3838,1980-07-05,383.80000000001877,383.8142,2015-01-01 01:03:58,bin3838,35,False +CTSPillarNetworkA,3839,3839,3839,1980-07-06,383.9000000000188,383.9142,2015-01-01 01:03:59,bin3839,75,False +CTSPillarNetworkA,3840,3840,3840,1980-07-07,384.0000000000188,384.01422,2015-01-01 01:04:00,bin3840,35,False +CTSPillarNetworkA,3841,3841,3841,1980-07-08,384.10000000001884,384.11423,2015-01-01 01:04:01,bin3841,75,False +CTSPillarNetworkA,3842,3842,3842,1980-07-09,384.20000000001886,384.21423,2015-01-01 01:04:02,bin3842,35,False +CTSPillarNetworkA,3843,3843,3843,1980-07-10,384.3000000000189,384.31424,2015-01-01 01:04:03,bin3843,75,False +CTSPillarNetworkA,3844,3844,3844,1980-07-11,384.4000000000189,384.41425,2015-01-01 01:04:04,bin3844,35,False +CTSPillarNetworkA,3845,3845,3845,1980-07-12,384.50000000001893,384.51425,2015-01-01 01:04:05,bin3845,75,False +CTSPillarNetworkA,3846,3846,3846,1980-07-13,384.60000000001895,384.61426,2015-01-01 01:04:06,bin3846,35,False +CTSPillarNetworkA,3847,3847,3847,1980-07-14,384.700000000019,384.71426,2015-01-01 01:04:07,bin3847,75,False +CTSPillarNetworkA,3848,3848,3848,1980-07-15,384.800000000019,384.81427,2015-01-01 01:04:08,bin3848,35,False +CTSPillarNetworkA,3849,3849,3849,1980-07-16,384.900000000019,384.91428,2015-01-01 01:04:09,bin3849,75,False +CTSPillarNetworkA,3850,3850,3850,1980-07-17,385.00000000001904,385.01428,2015-01-01 01:04:10,bin3850,35,False +CTSPillarNetworkA,3851,3851,3851,1980-07-18,385.10000000001907,385.1143,2015-01-01 01:04:11,bin3851,75,False +CTSPillarNetworkA,3852,3852,3852,1980-07-19,385.2000000000191,385.2143,2015-01-01 01:04:12,bin3852,35,False +CTSPillarNetworkA,3853,3853,3853,1980-07-20,385.3000000000191,385.3143,2015-01-01 01:04:13,bin3853,75,False +CTSPillarNetworkA,3854,3854,3854,1980-07-21,385.40000000001913,385.4143,2015-01-01 01:04:14,bin3854,35,False +CTSPillarNetworkA,3855,3855,3855,1980-07-22,385.50000000001916,385.5143,2015-01-01 01:04:15,bin3855,75,False +CTSPillarNetworkA,3856,3856,3856,1980-07-23,385.6000000000192,385.61432,2015-01-01 01:04:16,bin3856,35,False +CTSPillarNetworkA,3857,3857,3857,1980-07-24,385.7000000000192,385.71432,2015-01-01 01:04:17,bin3857,75,False +CTSPillarNetworkA,3858,3858,3858,1980-07-25,385.8000000000192,385.81433,2015-01-01 01:04:18,bin3858,35,False +CTSPillarNetworkA,3859,3859,3859,1980-07-26,385.90000000001925,385.91434,2015-01-01 01:04:19,bin3859,75,False +CTSPillarNetworkA,3860,3860,3860,1980-07-27,386.00000000001927,386.01434,2015-01-01 01:04:20,bin3860,35,False +CTSPillarNetworkA,3861,3861,3861,1980-07-28,386.1000000000193,386.11435,2015-01-01 01:04:21,bin3861,75,False +CTSPillarNetworkA,3862,3862,3862,1980-07-29,386.2000000000193,386.21436,2015-01-01 01:04:22,bin3862,35,False +CTSPillarNetworkA,3863,3863,3863,1980-07-30,386.30000000001934,386.31436,2015-01-01 01:04:23,bin3863,75,False +CTSPillarNetworkA,3864,3864,3864,1980-07-31,386.40000000001936,386.41437,2015-01-01 01:04:24,bin3864,35,False +CTSPillarNetworkA,3865,3865,3865,1980-08-01,386.5000000000194,386.51437,2015-01-01 01:04:25,bin3865,75,False +CTSPillarNetworkA,3866,3866,3866,1980-08-02,386.6000000000194,386.61438,2015-01-01 01:04:26,bin3866,35,False +CTSPillarNetworkA,3867,3867,3867,1980-08-03,386.70000000001943,386.7144,2015-01-01 01:04:27,bin3867,75,False +CTSPillarNetworkA,3868,3868,3868,1980-08-04,386.80000000001945,386.8144,2015-01-01 01:04:28,bin3868,35,False +CTSPillarNetworkA,3869,3869,3869,1980-08-05,386.9000000000195,386.9144,2015-01-01 01:04:29,bin3869,75,False +CTSPillarNetworkA,3870,3870,3870,1980-08-06,387.0000000000195,387.0144,2015-01-01 01:04:30,bin3870,35,False +CTSPillarNetworkA,3871,3871,3871,1980-08-07,387.1000000000195,387.1144,2015-01-01 01:04:31,bin3871,75,False +CTSPillarNetworkA,3872,3872,3872,1980-08-08,387.20000000001954,387.21442,2015-01-01 01:04:32,bin3872,35,False +CTSPillarNetworkA,3873,3873,3873,1980-08-09,387.30000000001957,387.31442,2015-01-01 01:04:33,bin3873,75,False +CTSPillarNetworkA,3874,3874,3874,1980-08-10,387.4000000000196,387.41443,2015-01-01 01:04:34,bin3874,35,False +CTSPillarNetworkA,3875,3875,3875,1980-08-11,387.5000000000196,387.51443,2015-01-01 01:04:35,bin3875,75,False +CTSPillarNetworkA,3876,3876,3876,1980-08-12,387.60000000001963,387.61444,2015-01-01 01:04:36,bin3876,35,False +CTSPillarNetworkA,3877,3877,3877,1980-08-13,387.70000000001966,387.71445,2015-01-01 01:04:37,bin3877,75,False +CTSPillarNetworkA,3878,3878,3878,1980-08-14,387.8000000000197,387.81445,2015-01-01 01:04:38,bin3878,35,False +CTSPillarNetworkA,3879,3879,3879,1980-08-15,387.9000000000197,387.91446,2015-01-01 01:04:39,bin3879,75,False +CTSPillarNetworkA,3880,3880,3880,1980-08-16,388.0000000000197,388.01447,2015-01-01 01:04:40,bin3880,35,False +CTSPillarNetworkA,3881,3881,3881,1980-08-17,388.10000000001975,388.11447,2015-01-01 01:04:41,bin3881,75,False +CTSPillarNetworkA,3882,3882,3882,1980-08-18,388.20000000001977,388.21448,2015-01-01 01:04:42,bin3882,35,False +CTSPillarNetworkA,3883,3883,3883,1980-08-19,388.3000000000198,388.31448,2015-01-01 01:04:43,bin3883,75,False +CTSPillarNetworkA,3884,3884,3884,1980-08-20,388.4000000000198,388.4145,2015-01-01 01:04:44,bin3884,35,False +CTSPillarNetworkA,3885,3885,3885,1980-08-21,388.50000000001984,388.5145,2015-01-01 01:04:45,bin3885,75,False +CTSPillarNetworkA,3886,3886,3886,1980-08-22,388.60000000001986,388.6145,2015-01-01 01:04:46,bin3886,35,False +CTSPillarNetworkA,3887,3887,3887,1980-08-23,388.7000000000199,388.7145,2015-01-01 01:04:47,bin3887,75,False +CTSPillarNetworkA,3888,3888,3888,1980-08-24,388.8000000000199,388.8145,2015-01-01 01:04:48,bin3888,35,False +CTSPillarNetworkA,3889,3889,3889,1980-08-25,388.90000000001993,388.91452,2015-01-01 01:04:49,bin3889,75,False +CTSPillarNetworkA,3890,3890,3890,1980-08-26,389.00000000001995,389.01453,2015-01-01 01:04:50,bin3890,35,False +CTSPillarNetworkA,3891,3891,3891,1980-08-27,389.10000000002,389.11453,2015-01-01 01:04:51,bin3891,75,False +CTSPillarNetworkA,3892,3892,3892,1980-08-28,389.20000000002,389.21454,2015-01-01 01:04:52,bin3892,35,False +CTSPillarNetworkA,3893,3893,3893,1980-08-29,389.30000000002,389.31454,2015-01-01 01:04:53,bin3893,75,False +CTSPillarNetworkA,3894,3894,3894,1980-08-30,389.40000000002004,389.41455,2015-01-01 01:04:54,bin3894,35,False +CTSPillarNetworkA,3895,3895,3895,1980-08-31,389.50000000002007,389.51456,2015-01-01 01:04:55,bin3895,75,False +CTSPillarNetworkA,3896,3896,3896,1980-09-01,389.6000000000201,389.61456,2015-01-01 01:04:56,bin3896,35,False +CTSPillarNetworkA,3897,3897,3897,1980-09-02,389.7000000000201,389.71457,2015-01-01 01:04:57,bin3897,75,False +CTSPillarNetworkA,3898,3898,3898,1980-09-03,389.80000000002013,389.81458,2015-01-01 01:04:58,bin3898,35,False +CTSPillarNetworkA,3899,3899,3899,1980-09-04,389.90000000002016,389.91458,2015-01-01 01:04:59,bin3899,75,False +CTSPillarNetworkA,3900,3900,3900,1980-09-05,390.0000000000202,390.0146,2015-01-01 01:05:00,bin3900,35,False +CTSPillarNetworkA,3901,3901,3901,1980-09-06,390.1000000000202,390.1146,2015-01-01 01:05:01,bin3901,75,False +CTSPillarNetworkA,3902,3902,3902,1980-09-07,390.2000000000202,390.2146,2015-01-01 01:05:02,bin3902,35,False +CTSPillarNetworkA,3903,3903,3903,1980-09-08,390.30000000002025,390.3146,2015-01-01 01:05:03,bin3903,75,False +CTSPillarNetworkA,3904,3904,3904,1980-09-09,390.40000000002027,390.4146,2015-01-01 01:05:04,bin3904,35,False +CTSPillarNetworkA,3905,3905,3905,1980-09-10,390.5000000000203,390.51462,2015-01-01 01:05:05,bin3905,75,False +CTSPillarNetworkA,3906,3906,3906,1980-09-11,390.6000000000203,390.61462,2015-01-01 01:05:06,bin3906,35,False +CTSPillarNetworkA,3907,3907,3907,1980-09-12,390.70000000002034,390.71463,2015-01-01 01:05:07,bin3907,75,False +CTSPillarNetworkA,3908,3908,3908,1980-09-13,390.80000000002036,390.81464,2015-01-01 01:05:08,bin3908,35,False +CTSPillarNetworkA,3909,3909,3909,1980-09-14,390.9000000000204,390.91464,2015-01-01 01:05:09,bin3909,75,False +CTSPillarNetworkA,3910,3910,3910,1980-09-15,391.0000000000204,391.01465,2015-01-01 01:05:10,bin3910,35,False +CTSPillarNetworkA,3911,3911,3911,1980-09-16,391.10000000002043,391.11465,2015-01-01 01:05:11,bin3911,75,False +CTSPillarNetworkA,3912,3912,3912,1980-09-17,391.20000000002045,391.21466,2015-01-01 01:05:12,bin3912,35,False +CTSPillarNetworkA,3913,3913,3913,1980-09-18,391.3000000000205,391.31467,2015-01-01 01:05:13,bin3913,75,False +CTSPillarNetworkA,3914,3914,3914,1980-09-19,391.4000000000205,391.41467,2015-01-01 01:05:14,bin3914,35,False +CTSPillarNetworkA,3915,3915,3915,1980-09-20,391.5000000000205,391.51468,2015-01-01 01:05:15,bin3915,75,False +CTSPillarNetworkA,3916,3916,3916,1980-09-21,391.60000000002054,391.6147,2015-01-01 01:05:16,bin3916,35,False +CTSPillarNetworkA,3917,3917,3917,1980-09-22,391.70000000002057,391.7147,2015-01-01 01:05:17,bin3917,75,False +CTSPillarNetworkA,3918,3918,3918,1980-09-23,391.8000000000206,391.8147,2015-01-01 01:05:18,bin3918,35,False +CTSPillarNetworkA,3919,3919,3919,1980-09-24,391.9000000000206,391.9147,2015-01-01 01:05:19,bin3919,75,False +CTSPillarNetworkA,3920,3920,3920,1980-09-25,392.00000000002063,392.0147,2015-01-01 01:05:20,bin3920,35,False +CTSPillarNetworkA,3921,3921,3921,1980-09-26,392.10000000002066,392.11472,2015-01-01 01:05:21,bin3921,75,False +CTSPillarNetworkA,3922,3922,3922,1980-09-27,392.2000000000207,392.21472,2015-01-01 01:05:22,bin3922,35,False +CTSPillarNetworkA,3923,3923,3923,1980-09-28,392.3000000000207,392.31473,2015-01-01 01:05:23,bin3923,75,False +CTSPillarNetworkA,3924,3924,3924,1980-09-29,392.4000000000207,392.41473,2015-01-01 01:05:24,bin3924,35,False +CTSPillarNetworkA,3925,3925,3925,1980-09-30,392.50000000002075,392.51474,2015-01-01 01:05:25,bin3925,75,False +CTSPillarNetworkA,3926,3926,3926,1980-10-01,392.60000000002077,392.61475,2015-01-01 01:05:26,bin3926,35,False +CTSPillarNetworkA,3927,3927,3927,1980-10-02,392.7000000000208,392.71475,2015-01-01 01:05:27,bin3927,75,False +CTSPillarNetworkA,3928,3928,3928,1980-10-03,392.8000000000208,392.81476,2015-01-01 01:05:28,bin3928,35,False +CTSPillarNetworkA,3929,3929,3929,1980-10-04,392.90000000002084,392.91476,2015-01-01 01:05:29,bin3929,75,False +CTSPillarNetworkA,3930,3930,3930,1980-10-05,393.00000000002086,393.01477,2015-01-01 01:05:30,bin3930,35,False +CTSPillarNetworkA,3931,3931,3931,1980-10-06,393.1000000000209,393.11478,2015-01-01 01:05:31,bin3931,75,False +CTSPillarNetworkA,3932,3932,3932,1980-10-07,393.2000000000209,393.21478,2015-01-01 01:05:32,bin3932,35,False +CTSPillarNetworkA,3933,3933,3933,1980-10-08,393.30000000002093,393.3148,2015-01-01 01:05:33,bin3933,75,False +CTSPillarNetworkA,3934,3934,3934,1980-10-09,393.40000000002095,393.4148,2015-01-01 01:05:34,bin3934,35,False +CTSPillarNetworkA,3935,3935,3935,1980-10-10,393.500000000021,393.5148,2015-01-01 01:05:35,bin3935,75,False +CTSPillarNetworkA,3936,3936,3936,1980-10-11,393.600000000021,393.6148,2015-01-01 01:05:36,bin3936,35,False +CTSPillarNetworkA,3937,3937,3937,1980-10-12,393.700000000021,393.7148,2015-01-01 01:05:37,bin3937,75,False +CTSPillarNetworkA,3938,3938,3938,1980-10-13,393.80000000002104,393.81482,2015-01-01 01:05:38,bin3938,35,False +CTSPillarNetworkA,3939,3939,3939,1980-10-14,393.90000000002107,393.91483,2015-01-01 01:05:39,bin3939,75,False +CTSPillarNetworkA,3940,3940,3940,1980-10-15,394.0000000000211,394.01483,2015-01-01 01:05:40,bin3940,35,False +CTSPillarNetworkA,3941,3941,3941,1980-10-16,394.1000000000211,394.11484,2015-01-01 01:05:41,bin3941,75,False +CTSPillarNetworkA,3942,3942,3942,1980-10-17,394.20000000002113,394.21484,2015-01-01 01:05:42,bin3942,35,False +CTSPillarNetworkA,3943,3943,3943,1980-10-18,394.30000000002116,394.31485,2015-01-01 01:05:43,bin3943,75,False +CTSPillarNetworkA,3944,3944,3944,1980-10-19,394.4000000000212,394.41486,2015-01-01 01:05:44,bin3944,35,False +CTSPillarNetworkA,3945,3945,3945,1980-10-20,394.5000000000212,394.51486,2015-01-01 01:05:45,bin3945,75,False +CTSPillarNetworkA,3946,3946,3946,1980-10-21,394.6000000000212,394.61487,2015-01-01 01:05:46,bin3946,35,False +CTSPillarNetworkA,3947,3947,3947,1980-10-22,394.70000000002125,394.71487,2015-01-01 01:05:47,bin3947,75,False +CTSPillarNetworkA,3948,3948,3948,1980-10-23,394.80000000002127,394.81488,2015-01-01 01:05:48,bin3948,35,False +CTSPillarNetworkA,3949,3949,3949,1980-10-24,394.9000000000213,394.9149,2015-01-01 01:05:49,bin3949,75,False +CTSPillarNetworkA,3950,3950,3950,1980-10-25,395.0000000000213,395.0149,2015-01-01 01:05:50,bin3950,35,False +CTSPillarNetworkA,3951,3951,3951,1980-10-26,395.10000000002134,395.1149,2015-01-01 01:05:51,bin3951,75,False +CTSPillarNetworkA,3952,3952,3952,1980-10-27,395.20000000002136,395.2149,2015-01-01 01:05:52,bin3952,35,False +CTSPillarNetworkA,3953,3953,3953,1980-10-28,395.3000000000214,395.3149,2015-01-01 01:05:53,bin3953,75,False +CTSPillarNetworkA,3954,3954,3954,1980-10-29,395.4000000000214,395.41492,2015-01-01 01:05:54,bin3954,35,False +CTSPillarNetworkA,3955,3955,3955,1980-10-30,395.50000000002143,395.51492,2015-01-01 01:05:55,bin3955,75,False +CTSPillarNetworkA,3956,3956,3956,1980-10-31,395.60000000002145,395.61493,2015-01-01 01:05:56,bin3956,35,False +CTSPillarNetworkA,3957,3957,3957,1980-11-01,395.7000000000215,395.71494,2015-01-01 01:05:57,bin3957,75,False +CTSPillarNetworkA,3958,3958,3958,1980-11-02,395.8000000000215,395.81494,2015-01-01 01:05:58,bin3958,35,False +CTSPillarNetworkA,3959,3959,3959,1980-11-03,395.9000000000215,395.91495,2015-01-01 01:05:59,bin3959,75,False +CTSPillarNetworkA,3960,3960,3960,1980-11-04,396.00000000002154,396.01495,2015-01-01 01:06:00,bin3960,35,False +CTSPillarNetworkA,3961,3961,3961,1980-11-05,396.10000000002157,396.11496,2015-01-01 01:06:01,bin3961,75,False +CTSPillarNetworkA,3962,3962,3962,1980-11-06,396.2000000000216,396.21497,2015-01-01 01:06:02,bin3962,35,False +CTSPillarNetworkA,3963,3963,3963,1980-11-07,396.3000000000216,396.31497,2015-01-01 01:06:03,bin3963,75,False +CTSPillarNetworkA,3964,3964,3964,1980-11-08,396.40000000002163,396.41498,2015-01-01 01:06:04,bin3964,35,False +CTSPillarNetworkA,3965,3965,3965,1980-11-09,396.50000000002166,396.51498,2015-01-01 01:06:05,bin3965,75,False +CTSPillarNetworkA,3966,3966,3966,1980-11-10,396.6000000000217,396.615,2015-01-01 01:06:06,bin3966,35,False +CTSPillarNetworkA,3967,3967,3967,1980-11-11,396.7000000000217,396.715,2015-01-01 01:06:07,bin3967,75,False +CTSPillarNetworkA,3968,3968,3968,1980-11-12,396.8000000000217,396.815,2015-01-01 01:06:08,bin3968,35,False +CTSPillarNetworkA,3969,3969,3969,1980-11-13,396.90000000002175,396.915,2015-01-01 01:06:09,bin3969,75,False +CTSPillarNetworkA,3970,3970,3970,1980-11-14,397.00000000002177,397.015,2015-01-01 01:06:10,bin3970,35,False +CTSPillarNetworkA,3971,3971,3971,1980-11-15,397.1000000000218,397.11502,2015-01-01 01:06:11,bin3971,75,False +CTSPillarNetworkA,3972,3972,3972,1980-11-16,397.2000000000218,397.21503,2015-01-01 01:06:12,bin3972,35,False +CTSPillarNetworkA,3973,3973,3973,1980-11-17,397.30000000002184,397.31503,2015-01-01 01:06:13,bin3973,75,False +CTSPillarNetworkA,3974,3974,3974,1980-11-18,397.40000000002186,397.41504,2015-01-01 01:06:14,bin3974,35,False +CTSPillarNetworkA,3975,3975,3975,1980-11-19,397.5000000000219,397.51505,2015-01-01 01:06:15,bin3975,75,False +CTSPillarNetworkA,3976,3976,3976,1980-11-20,397.6000000000219,397.61505,2015-01-01 01:06:16,bin3976,35,False +CTSPillarNetworkA,3977,3977,3977,1980-11-21,397.70000000002193,397.71506,2015-01-01 01:06:17,bin3977,75,False +CTSPillarNetworkA,3978,3978,3978,1980-11-22,397.80000000002195,397.81506,2015-01-01 01:06:18,bin3978,35,False +CTSPillarNetworkA,3979,3979,3979,1980-11-23,397.900000000022,397.91507,2015-01-01 01:06:19,bin3979,75,False +CTSPillarNetworkA,3980,3980,3980,1980-11-24,398.000000000022,398.01508,2015-01-01 01:06:20,bin3980,35,False +CTSPillarNetworkA,3981,3981,3981,1980-11-25,398.100000000022,398.11508,2015-01-01 01:06:21,bin3981,75,False +CTSPillarNetworkA,3982,3982,3982,1980-11-26,398.20000000002204,398.2151,2015-01-01 01:06:22,bin3982,35,False +CTSPillarNetworkA,3983,3983,3983,1980-11-27,398.30000000002207,398.3151,2015-01-01 01:06:23,bin3983,75,False +CTSPillarNetworkA,3984,3984,3984,1980-11-28,398.4000000000221,398.4151,2015-01-01 01:06:24,bin3984,35,False +CTSPillarNetworkA,3985,3985,3985,1980-11-29,398.5000000000221,398.5151,2015-01-01 01:06:25,bin3985,75,False +CTSPillarNetworkA,3986,3986,3986,1980-11-30,398.60000000002213,398.6151,2015-01-01 01:06:26,bin3986,35,False +CTSPillarNetworkA,3987,3987,3987,1980-12-01,398.70000000002216,398.71512,2015-01-01 01:06:27,bin3987,75,False +CTSPillarNetworkA,3988,3988,3988,1980-12-02,398.8000000000222,398.81512,2015-01-01 01:06:28,bin3988,35,False +CTSPillarNetworkA,3989,3989,3989,1980-12-03,398.9000000000222,398.91513,2015-01-01 01:06:29,bin3989,75,False +CTSPillarNetworkA,3990,3990,3990,1980-12-04,399.0000000000222,399.01514,2015-01-01 01:06:30,bin3990,35,False +CTSPillarNetworkA,3991,3991,3991,1980-12-05,399.10000000002225,399.11514,2015-01-01 01:06:31,bin3991,75,False +CTSPillarNetworkA,3992,3992,3992,1980-12-06,399.20000000002227,399.21515,2015-01-01 01:06:32,bin3992,35,False +CTSPillarNetworkA,3993,3993,3993,1980-12-07,399.3000000000223,399.31516,2015-01-01 01:06:33,bin3993,75,False +CTSPillarNetworkA,3994,3994,3994,1980-12-08,399.4000000000223,399.41516,2015-01-01 01:06:34,bin3994,35,False +CTSPillarNetworkA,3995,3995,3995,1980-12-09,399.50000000002234,399.51517,2015-01-01 01:06:35,bin3995,75,False +CTSPillarNetworkA,3996,3996,3996,1980-12-10,399.60000000002236,399.61517,2015-01-01 01:06:36,bin3996,35,False +CTSPillarNetworkA,3997,3997,3997,1980-12-11,399.7000000000224,399.71518,2015-01-01 01:06:37,bin3997,75,False +CTSPillarNetworkA,3998,3998,3998,1980-12-12,399.8000000000224,399.8152,2015-01-01 01:06:38,bin3998,35,False +CTSPillarNetworkA,3999,3999,3999,1980-12-13,399.90000000002243,399.9152,2015-01-01 01:06:39,bin3999,75,False +CTSPillarNetworkA,4000,4000,4000,1980-12-14,400.00000000002245,400.0152,2015-01-01 01:06:40,bin4000,35,False +CTSPillarNetworkA,4001,4001,4001,1980-12-15,400.1000000000225,400.1152,2015-01-01 01:06:41,bin4001,75,False +CTSPillarNetworkA,4002,4002,4002,1980-12-16,400.2000000000225,400.2152,2015-01-01 01:06:42,bin4002,35,False +CTSPillarNetworkA,4003,4003,4003,1980-12-17,400.3000000000225,400.31522,2015-01-01 01:06:43,bin4003,75,False +CTSPillarNetworkA,4004,4004,4004,1980-12-18,400.40000000002254,400.41522,2015-01-01 01:06:44,bin4004,35,False +CTSPillarNetworkA,4005,4005,4005,1980-12-19,400.50000000002257,400.51523,2015-01-01 01:06:45,bin4005,75,False +CTSPillarNetworkA,4006,4006,4006,1980-12-20,400.6000000000226,400.61523,2015-01-01 01:06:46,bin4006,35,False +CTSPillarNetworkA,4007,4007,4007,1980-12-21,400.7000000000226,400.71524,2015-01-01 01:06:47,bin4007,75,False +CTSPillarNetworkA,4008,4008,4008,1980-12-22,400.80000000002264,400.81525,2015-01-01 01:06:48,bin4008,35,False +CTSPillarNetworkA,4009,4009,4009,1980-12-23,400.90000000002266,400.91525,2015-01-01 01:06:49,bin4009,75,False +CTSPillarNetworkA,4010,4010,4010,1980-12-24,401.0000000000227,401.01526,2015-01-01 01:06:50,bin4010,35,False +CTSPillarNetworkA,4011,4011,4011,1980-12-25,401.1000000000227,401.11526,2015-01-01 01:06:51,bin4011,75,False +CTSPillarNetworkA,4012,4012,4012,1980-12-26,401.2000000000227,401.21527,2015-01-01 01:06:52,bin4012,35,False +CTSPillarNetworkA,4013,4013,4013,1980-12-27,401.30000000002275,401.31528,2015-01-01 01:06:53,bin4013,75,False +CTSPillarNetworkA,4014,4014,4014,1980-12-28,401.40000000002277,401.41528,2015-01-01 01:06:54,bin4014,35,False +CTSPillarNetworkA,4015,4015,4015,1980-12-29,401.5000000000228,401.5153,2015-01-01 01:06:55,bin4015,75,False +CTSPillarNetworkA,4016,4016,4016,1980-12-30,401.6000000000228,401.6153,2015-01-01 01:06:56,bin4016,35,False +CTSPillarNetworkA,4017,4017,4017,1980-12-31,401.70000000002284,401.7153,2015-01-01 01:06:57,bin4017,75,False +CTSPillarNetworkA,4018,4018,4018,1981-01-01,401.80000000002286,401.8153,2015-01-01 01:06:58,bin4018,35,False +CTSPillarNetworkA,4019,4019,4019,1981-01-02,401.9000000000229,401.9153,2015-01-01 01:06:59,bin4019,75,False +CTSPillarNetworkA,4020,4020,4020,1981-01-03,402.0000000000229,402.01532,2015-01-01 01:07:00,bin4020,35,False +CTSPillarNetworkA,4021,4021,4021,1981-01-04,402.10000000002293,402.11533,2015-01-01 01:07:01,bin4021,75,False +CTSPillarNetworkA,4022,4022,4022,1981-01-05,402.20000000002295,402.21533,2015-01-01 01:07:02,bin4022,35,False +CTSPillarNetworkA,4023,4023,4023,1981-01-06,402.300000000023,402.31534,2015-01-01 01:07:03,bin4023,75,False +CTSPillarNetworkA,4024,4024,4024,1981-01-07,402.400000000023,402.41534,2015-01-01 01:07:04,bin4024,35,False +CTSPillarNetworkA,4025,4025,4025,1981-01-08,402.500000000023,402.51535,2015-01-01 01:07:05,bin4025,75,False +CTSPillarNetworkA,4026,4026,4026,1981-01-09,402.60000000002304,402.61536,2015-01-01 01:07:06,bin4026,35,False +CTSPillarNetworkA,4027,4027,4027,1981-01-10,402.70000000002307,402.71536,2015-01-01 01:07:07,bin4027,75,False +CTSPillarNetworkA,4028,4028,4028,1981-01-11,402.8000000000231,402.81537,2015-01-01 01:07:08,bin4028,35,False +CTSPillarNetworkA,4029,4029,4029,1981-01-12,402.9000000000231,402.91537,2015-01-01 01:07:09,bin4029,75,False +CTSPillarNetworkA,4030,4030,4030,1981-01-13,403.00000000002314,403.01538,2015-01-01 01:07:10,bin4030,35,False +CTSPillarNetworkA,4031,4031,4031,1981-01-14,403.10000000002316,403.1154,2015-01-01 01:07:11,bin4031,75,False +CTSPillarNetworkA,4032,4032,4032,1981-01-15,403.2000000000232,403.2154,2015-01-01 01:07:12,bin4032,35,False +CTSPillarNetworkA,4033,4033,4033,1981-01-16,403.3000000000232,403.3154,2015-01-01 01:07:13,bin4033,75,False +CTSPillarNetworkA,4034,4034,4034,1981-01-17,403.4000000000232,403.4154,2015-01-01 01:07:14,bin4034,35,False +CTSPillarNetworkA,4035,4035,4035,1981-01-18,403.50000000002325,403.5154,2015-01-01 01:07:15,bin4035,75,False +CTSPillarNetworkA,4036,4036,4036,1981-01-19,403.6000000000233,403.61542,2015-01-01 01:07:16,bin4036,35,False +CTSPillarNetworkA,4037,4037,4037,1981-01-20,403.7000000000233,403.71542,2015-01-01 01:07:17,bin4037,75,False +CTSPillarNetworkA,4038,4038,4038,1981-01-21,403.8000000000233,403.81543,2015-01-01 01:07:18,bin4038,35,False +CTSPillarNetworkA,4039,4039,4039,1981-01-22,403.90000000002334,403.91544,2015-01-01 01:07:19,bin4039,75,False +CTSPillarNetworkA,4040,4040,4040,1981-01-23,404.00000000002336,404.01544,2015-01-01 01:07:20,bin4040,35,False +CTSPillarNetworkA,4041,4041,4041,1981-01-24,404.1000000000234,404.11545,2015-01-01 01:07:21,bin4041,75,False +CTSPillarNetworkA,4042,4042,4042,1981-01-25,404.2000000000234,404.21545,2015-01-01 01:07:22,bin4042,35,False +CTSPillarNetworkA,4043,4043,4043,1981-01-26,404.30000000002343,404.31546,2015-01-01 01:07:23,bin4043,75,False +CTSPillarNetworkA,4044,4044,4044,1981-01-27,404.40000000002345,404.41547,2015-01-01 01:07:24,bin4044,35,False +CTSPillarNetworkA,4045,4045,4045,1981-01-28,404.5000000000235,404.51547,2015-01-01 01:07:25,bin4045,75,False +CTSPillarNetworkA,4046,4046,4046,1981-01-29,404.6000000000235,404.61548,2015-01-01 01:07:26,bin4046,35,False +CTSPillarNetworkA,4047,4047,4047,1981-01-30,404.7000000000235,404.71548,2015-01-01 01:07:27,bin4047,75,False +CTSPillarNetworkA,4048,4048,4048,1981-01-31,404.80000000002354,404.8155,2015-01-01 01:07:28,bin4048,35,False +CTSPillarNetworkA,4049,4049,4049,1981-02-01,404.90000000002357,404.9155,2015-01-01 01:07:29,bin4049,75,False +CTSPillarNetworkA,4050,4050,4050,1981-02-02,405.0000000000236,405.0155,2015-01-01 01:07:30,bin4050,35,False +CTSPillarNetworkA,4051,4051,4051,1981-02-03,405.1000000000236,405.1155,2015-01-01 01:07:31,bin4051,75,False +CTSPillarNetworkA,4052,4052,4052,1981-02-04,405.20000000002364,405.2155,2015-01-01 01:07:32,bin4052,35,False +CTSPillarNetworkA,4053,4053,4053,1981-02-05,405.30000000002366,405.31552,2015-01-01 01:07:33,bin4053,75,False +CTSPillarNetworkA,4054,4054,4054,1981-02-06,405.4000000000237,405.41553,2015-01-01 01:07:34,bin4054,35,False +CTSPillarNetworkA,4055,4055,4055,1981-02-07,405.5000000000237,405.51553,2015-01-01 01:07:35,bin4055,75,False +CTSPillarNetworkA,4056,4056,4056,1981-02-08,405.6000000000237,405.61554,2015-01-01 01:07:36,bin4056,35,False +CTSPillarNetworkA,4057,4057,4057,1981-02-09,405.70000000002375,405.71555,2015-01-01 01:07:37,bin4057,75,False +CTSPillarNetworkA,4058,4058,4058,1981-02-10,405.8000000000238,405.81555,2015-01-01 01:07:38,bin4058,35,False +CTSPillarNetworkA,4059,4059,4059,1981-02-11,405.9000000000238,405.91556,2015-01-01 01:07:39,bin4059,75,False +CTSPillarNetworkA,4060,4060,4060,1981-02-12,406.0000000000238,406.01556,2015-01-01 01:07:40,bin4060,35,False +CTSPillarNetworkA,4061,4061,4061,1981-02-13,406.10000000002384,406.11557,2015-01-01 01:07:41,bin4061,75,False +CTSPillarNetworkA,4062,4062,4062,1981-02-14,406.20000000002386,406.21558,2015-01-01 01:07:42,bin4062,35,False +CTSPillarNetworkA,4063,4063,4063,1981-02-15,406.3000000000239,406.31558,2015-01-01 01:07:43,bin4063,75,False +CTSPillarNetworkA,4064,4064,4064,1981-02-16,406.4000000000239,406.4156,2015-01-01 01:07:44,bin4064,35,False +CTSPillarNetworkA,4065,4065,4065,1981-02-17,406.50000000002393,406.5156,2015-01-01 01:07:45,bin4065,75,False +CTSPillarNetworkA,4066,4066,4066,1981-02-18,406.60000000002395,406.6156,2015-01-01 01:07:46,bin4066,35,False +CTSPillarNetworkA,4067,4067,4067,1981-02-19,406.700000000024,406.7156,2015-01-01 01:07:47,bin4067,75,False +CTSPillarNetworkA,4068,4068,4068,1981-02-20,406.800000000024,406.8156,2015-01-01 01:07:48,bin4068,35,False +CTSPillarNetworkA,4069,4069,4069,1981-02-21,406.900000000024,406.91562,2015-01-01 01:07:49,bin4069,75,False +CTSPillarNetworkA,4070,4070,4070,1981-02-22,407.00000000002404,407.01562,2015-01-01 01:07:50,bin4070,35,False +CTSPillarNetworkA,4071,4071,4071,1981-02-23,407.10000000002407,407.11563,2015-01-01 01:07:51,bin4071,75,False +CTSPillarNetworkA,4072,4072,4072,1981-02-24,407.2000000000241,407.21564,2015-01-01 01:07:52,bin4072,35,False +CTSPillarNetworkA,4073,4073,4073,1981-02-25,407.3000000000241,407.31564,2015-01-01 01:07:53,bin4073,75,False +CTSPillarNetworkA,4074,4074,4074,1981-02-26,407.40000000002414,407.41565,2015-01-01 01:07:54,bin4074,35,False +CTSPillarNetworkA,4075,4075,4075,1981-02-27,407.50000000002416,407.51566,2015-01-01 01:07:55,bin4075,75,False +CTSPillarNetworkA,4076,4076,4076,1981-02-28,407.6000000000242,407.61566,2015-01-01 01:07:56,bin4076,35,False +CTSPillarNetworkA,4077,4077,4077,1981-03-01,407.7000000000242,407.71567,2015-01-01 01:07:57,bin4077,75,False +CTSPillarNetworkA,4078,4078,4078,1981-03-02,407.8000000000242,407.81567,2015-01-01 01:07:58,bin4078,35,False +CTSPillarNetworkA,4079,4079,4079,1981-03-03,407.90000000002425,407.91568,2015-01-01 01:07:59,bin4079,75,False +CTSPillarNetworkA,4080,4080,4080,1981-03-04,408.0000000000243,408.0157,2015-01-01 01:08:00,bin4080,35,False +CTSPillarNetworkA,4081,4081,4081,1981-03-05,408.1000000000243,408.1157,2015-01-01 01:08:01,bin4081,75,False +CTSPillarNetworkA,4082,4082,4082,1981-03-06,408.2000000000243,408.2157,2015-01-01 01:08:02,bin4082,35,False +CTSPillarNetworkA,4083,4083,4083,1981-03-07,408.30000000002434,408.3157,2015-01-01 01:08:03,bin4083,75,False +CTSPillarNetworkA,4084,4084,4084,1981-03-08,408.40000000002436,408.4157,2015-01-01 01:08:04,bin4084,35,False +CTSPillarNetworkA,4085,4085,4085,1981-03-09,408.5000000000244,408.51572,2015-01-01 01:08:05,bin4085,75,False +CTSPillarNetworkA,4086,4086,4086,1981-03-10,408.6000000000244,408.61572,2015-01-01 01:08:06,bin4086,35,False +CTSPillarNetworkA,4087,4087,4087,1981-03-11,408.70000000002443,408.71573,2015-01-01 01:08:07,bin4087,75,False +CTSPillarNetworkA,4088,4088,4088,1981-03-12,408.80000000002445,408.81573,2015-01-01 01:08:08,bin4088,35,False +CTSPillarNetworkA,4089,4089,4089,1981-03-13,408.9000000000245,408.91574,2015-01-01 01:08:09,bin4089,75,False +CTSPillarNetworkA,4090,4090,4090,1981-03-14,409.0000000000245,409.01575,2015-01-01 01:08:10,bin4090,35,False +CTSPillarNetworkA,4091,4091,4091,1981-03-15,409.1000000000245,409.11575,2015-01-01 01:08:11,bin4091,75,False +CTSPillarNetworkA,4092,4092,4092,1981-03-16,409.20000000002454,409.21576,2015-01-01 01:08:12,bin4092,35,False +CTSPillarNetworkA,4093,4093,4093,1981-03-17,409.30000000002457,409.31577,2015-01-01 01:08:13,bin4093,75,False +CTSPillarNetworkA,4094,4094,4094,1981-03-18,409.4000000000246,409.41577,2015-01-01 01:08:14,bin4094,35,False +CTSPillarNetworkA,4095,4095,4095,1981-03-19,409.5000000000246,409.51578,2015-01-01 01:08:15,bin4095,75,False +CTSPillarNetworkA,4096,4096,4096,1981-03-20,409.60000000002464,409.61578,2015-01-01 01:08:16,bin4096,35,False +CTSPillarNetworkA,4097,4097,4097,1981-03-21,409.70000000002466,409.7158,2015-01-01 01:08:17,bin4097,75,False +CTSPillarNetworkA,4098,4098,4098,1981-03-22,409.8000000000247,409.8158,2015-01-01 01:08:18,bin4098,35,False +CTSPillarNetworkA,4099,4099,4099,1981-03-23,409.9000000000247,409.9158,2015-01-01 01:08:19,bin4099,75,False +CTSPillarNetworkA,4100,4100,4100,1981-03-24,410.0000000000247,410.0158,2015-01-01 01:08:20,bin4100,35,False +CTSPillarNetworkA,4101,4101,4101,1981-03-25,410.10000000002475,410.1158,2015-01-01 01:08:21,bin4101,75,False +CTSPillarNetworkA,4102,4102,4102,1981-03-26,410.2000000000248,410.21582,2015-01-01 01:08:22,bin4102,35,False +CTSPillarNetworkA,4103,4103,4103,1981-03-27,410.3000000000248,410.31583,2015-01-01 01:08:23,bin4103,75,False +CTSPillarNetworkA,4104,4104,4104,1981-03-28,410.4000000000248,410.41583,2015-01-01 01:08:24,bin4104,35,False +CTSPillarNetworkA,4105,4105,4105,1981-03-29,410.50000000002484,410.51584,2015-01-01 01:08:25,bin4105,75,False +CTSPillarNetworkA,4106,4106,4106,1981-03-30,410.60000000002486,410.61584,2015-01-01 01:08:26,bin4106,35,False +CTSPillarNetworkA,4107,4107,4107,1981-03-31,410.7000000000249,410.71585,2015-01-01 01:08:27,bin4107,75,False +CTSPillarNetworkA,4108,4108,4108,1981-04-01,410.8000000000249,410.81586,2015-01-01 01:08:28,bin4108,35,False +CTSPillarNetworkA,4109,4109,4109,1981-04-02,410.90000000002493,410.91586,2015-01-01 01:08:29,bin4109,75,False +CTSPillarNetworkA,4110,4110,4110,1981-04-03,411.00000000002495,411.01587,2015-01-01 01:08:30,bin4110,35,False +CTSPillarNetworkA,4111,4111,4111,1981-04-04,411.100000000025,411.11588,2015-01-01 01:08:31,bin4111,75,False +CTSPillarNetworkA,4112,4112,4112,1981-04-05,411.200000000025,411.21588,2015-01-01 01:08:32,bin4112,35,False +CTSPillarNetworkA,4113,4113,4113,1981-04-06,411.300000000025,411.3159,2015-01-01 01:08:33,bin4113,75,False +CTSPillarNetworkA,4114,4114,4114,1981-04-07,411.40000000002505,411.4159,2015-01-01 01:08:34,bin4114,35,False +CTSPillarNetworkA,4115,4115,4115,1981-04-08,411.50000000002507,411.5159,2015-01-01 01:08:35,bin4115,75,False +CTSPillarNetworkA,4116,4116,4116,1981-04-09,411.6000000000251,411.6159,2015-01-01 01:08:36,bin4116,35,False +CTSPillarNetworkA,4117,4117,4117,1981-04-10,411.7000000000251,411.7159,2015-01-01 01:08:37,bin4117,75,False +CTSPillarNetworkA,4118,4118,4118,1981-04-11,411.80000000002514,411.81592,2015-01-01 01:08:38,bin4118,35,False +CTSPillarNetworkA,4119,4119,4119,1981-04-12,411.90000000002516,411.91592,2015-01-01 01:08:39,bin4119,75,False +CTSPillarNetworkA,4120,4120,4120,1981-04-13,412.0000000000252,412.01593,2015-01-01 01:08:40,bin4120,35,False +CTSPillarNetworkA,4121,4121,4121,1981-04-14,412.1000000000252,412.11594,2015-01-01 01:08:41,bin4121,75,False +CTSPillarNetworkA,4122,4122,4122,1981-04-15,412.2000000000252,412.21594,2015-01-01 01:08:42,bin4122,35,False +CTSPillarNetworkA,4123,4123,4123,1981-04-16,412.30000000002525,412.31595,2015-01-01 01:08:43,bin4123,75,False +CTSPillarNetworkA,4124,4124,4124,1981-04-17,412.4000000000253,412.41595,2015-01-01 01:08:44,bin4124,35,False +CTSPillarNetworkA,4125,4125,4125,1981-04-18,412.5000000000253,412.51596,2015-01-01 01:08:45,bin4125,75,False +CTSPillarNetworkA,4126,4126,4126,1981-04-19,412.6000000000253,412.61597,2015-01-01 01:08:46,bin4126,35,False +CTSPillarNetworkA,4127,4127,4127,1981-04-20,412.70000000002534,412.71597,2015-01-01 01:08:47,bin4127,75,False +CTSPillarNetworkA,4128,4128,4128,1981-04-21,412.80000000002536,412.81598,2015-01-01 01:08:48,bin4128,35,False +CTSPillarNetworkA,4129,4129,4129,1981-04-22,412.9000000000254,412.916,2015-01-01 01:08:49,bin4129,75,False +CTSPillarNetworkA,4130,4130,4130,1981-04-23,413.0000000000254,413.016,2015-01-01 01:08:50,bin4130,35,False +CTSPillarNetworkA,4131,4131,4131,1981-04-24,413.10000000002543,413.116,2015-01-01 01:08:51,bin4131,75,False +CTSPillarNetworkA,4132,4132,4132,1981-04-25,413.20000000002545,413.216,2015-01-01 01:08:52,bin4132,35,False +CTSPillarNetworkA,4133,4133,4133,1981-04-26,413.3000000000255,413.316,2015-01-01 01:08:53,bin4133,75,False +CTSPillarNetworkA,4134,4134,4134,1981-04-27,413.4000000000255,413.41602,2015-01-01 01:08:54,bin4134,35,False +CTSPillarNetworkA,4135,4135,4135,1981-04-28,413.5000000000255,413.51602,2015-01-01 01:08:55,bin4135,75,False +CTSPillarNetworkA,4136,4136,4136,1981-04-29,413.60000000002555,413.61603,2015-01-01 01:08:56,bin4136,35,False +CTSPillarNetworkA,4137,4137,4137,1981-04-30,413.70000000002557,413.71603,2015-01-01 01:08:57,bin4137,75,False +CTSPillarNetworkA,4138,4138,4138,1981-05-01,413.8000000000256,413.81604,2015-01-01 01:08:58,bin4138,35,False +CTSPillarNetworkA,4139,4139,4139,1981-05-02,413.9000000000256,413.91605,2015-01-01 01:08:59,bin4139,75,False +CTSPillarNetworkA,4140,4140,4140,1981-05-03,414.00000000002564,414.01605,2015-01-01 01:09:00,bin4140,35,False +CTSPillarNetworkA,4141,4141,4141,1981-05-04,414.10000000002566,414.11606,2015-01-01 01:09:01,bin4141,75,False +CTSPillarNetworkA,4142,4142,4142,1981-05-05,414.2000000000257,414.21606,2015-01-01 01:09:02,bin4142,35,False +CTSPillarNetworkA,4143,4143,4143,1981-05-06,414.3000000000257,414.31607,2015-01-01 01:09:03,bin4143,75,False +CTSPillarNetworkA,4144,4144,4144,1981-05-07,414.4000000000257,414.41608,2015-01-01 01:09:04,bin4144,35,False +CTSPillarNetworkA,4145,4145,4145,1981-05-08,414.50000000002575,414.51608,2015-01-01 01:09:05,bin4145,75,False +CTSPillarNetworkA,4146,4146,4146,1981-05-09,414.6000000000258,414.6161,2015-01-01 01:09:06,bin4146,35,False +CTSPillarNetworkA,4147,4147,4147,1981-05-10,414.7000000000258,414.7161,2015-01-01 01:09:07,bin4147,75,False +CTSPillarNetworkA,4148,4148,4148,1981-05-11,414.8000000000258,414.8161,2015-01-01 01:09:08,bin4148,35,False +CTSPillarNetworkA,4149,4149,4149,1981-05-12,414.90000000002584,414.9161,2015-01-01 01:09:09,bin4149,75,False +CTSPillarNetworkA,4150,4150,4150,1981-05-13,415.00000000002586,415.0161,2015-01-01 01:09:10,bin4150,35,False +CTSPillarNetworkA,4151,4151,4151,1981-05-14,415.1000000000259,415.11612,2015-01-01 01:09:11,bin4151,75,False +CTSPillarNetworkA,4152,4152,4152,1981-05-15,415.2000000000259,415.21613,2015-01-01 01:09:12,bin4152,35,False +CTSPillarNetworkA,4153,4153,4153,1981-05-16,415.30000000002593,415.31613,2015-01-01 01:09:13,bin4153,75,False +CTSPillarNetworkA,4154,4154,4154,1981-05-17,415.40000000002595,415.41614,2015-01-01 01:09:14,bin4154,35,False +CTSPillarNetworkA,4155,4155,4155,1981-05-18,415.500000000026,415.51614,2015-01-01 01:09:15,bin4155,75,False +CTSPillarNetworkA,4156,4156,4156,1981-05-19,415.600000000026,415.61615,2015-01-01 01:09:16,bin4156,35,False +CTSPillarNetworkA,4157,4157,4157,1981-05-20,415.700000000026,415.71616,2015-01-01 01:09:17,bin4157,75,False +CTSPillarNetworkA,4158,4158,4158,1981-05-21,415.80000000002605,415.81616,2015-01-01 01:09:18,bin4158,35,False +CTSPillarNetworkA,4159,4159,4159,1981-05-22,415.90000000002607,415.91617,2015-01-01 01:09:19,bin4159,75,False +CTSPillarNetworkA,4160,4160,4160,1981-05-23,416.0000000000261,416.01617,2015-01-01 01:09:20,bin4160,35,False +CTSPillarNetworkA,4161,4161,4161,1981-05-24,416.1000000000261,416.11618,2015-01-01 01:09:21,bin4161,75,False +CTSPillarNetworkA,4162,4162,4162,1981-05-25,416.20000000002614,416.2162,2015-01-01 01:09:22,bin4162,35,False +CTSPillarNetworkA,4163,4163,4163,1981-05-26,416.30000000002616,416.3162,2015-01-01 01:09:23,bin4163,75,False +CTSPillarNetworkA,4164,4164,4164,1981-05-27,416.4000000000262,416.4162,2015-01-01 01:09:24,bin4164,35,False +CTSPillarNetworkA,4165,4165,4165,1981-05-28,416.5000000000262,416.5162,2015-01-01 01:09:25,bin4165,75,False +CTSPillarNetworkA,4166,4166,4166,1981-05-29,416.6000000000262,416.6162,2015-01-01 01:09:26,bin4166,35,False +CTSPillarNetworkA,4167,4167,4167,1981-05-30,416.70000000002625,416.71622,2015-01-01 01:09:27,bin4167,75,False +CTSPillarNetworkA,4168,4168,4168,1981-05-31,416.8000000000263,416.81622,2015-01-01 01:09:28,bin4168,35,False +CTSPillarNetworkA,4169,4169,4169,1981-06-01,416.9000000000263,416.91623,2015-01-01 01:09:29,bin4169,75,False +CTSPillarNetworkA,4170,4170,4170,1981-06-02,417.0000000000263,417.01624,2015-01-01 01:09:30,bin4170,35,False +CTSPillarNetworkA,4171,4171,4171,1981-06-03,417.10000000002634,417.11624,2015-01-01 01:09:31,bin4171,75,False +CTSPillarNetworkA,4172,4172,4172,1981-06-04,417.20000000002636,417.21625,2015-01-01 01:09:32,bin4172,35,False +CTSPillarNetworkA,4173,4173,4173,1981-06-05,417.3000000000264,417.31625,2015-01-01 01:09:33,bin4173,75,False +CTSPillarNetworkA,4174,4174,4174,1981-06-06,417.4000000000264,417.41626,2015-01-01 01:09:34,bin4174,35,False +CTSPillarNetworkA,4175,4175,4175,1981-06-07,417.50000000002643,417.51627,2015-01-01 01:09:35,bin4175,75,False +CTSPillarNetworkA,4176,4176,4176,1981-06-08,417.60000000002645,417.61627,2015-01-01 01:09:36,bin4176,35,False +CTSPillarNetworkA,4177,4177,4177,1981-06-09,417.7000000000265,417.71628,2015-01-01 01:09:37,bin4177,75,False +CTSPillarNetworkA,4178,4178,4178,1981-06-10,417.8000000000265,417.81628,2015-01-01 01:09:38,bin4178,35,False +CTSPillarNetworkA,4179,4179,4179,1981-06-11,417.9000000000265,417.9163,2015-01-01 01:09:39,bin4179,75,False +CTSPillarNetworkA,4180,4180,4180,1981-06-12,418.00000000002655,418.0163,2015-01-01 01:09:40,bin4180,35,False +CTSPillarNetworkA,4181,4181,4181,1981-06-13,418.10000000002657,418.1163,2015-01-01 01:09:41,bin4181,75,False +CTSPillarNetworkA,4182,4182,4182,1981-06-14,418.2000000000266,418.2163,2015-01-01 01:09:42,bin4182,35,False +CTSPillarNetworkA,4183,4183,4183,1981-06-15,418.3000000000266,418.3163,2015-01-01 01:09:43,bin4183,75,False +CTSPillarNetworkA,4184,4184,4184,1981-06-16,418.40000000002664,418.41632,2015-01-01 01:09:44,bin4184,35,False +CTSPillarNetworkA,4185,4185,4185,1981-06-17,418.50000000002666,418.51633,2015-01-01 01:09:45,bin4185,75,False +CTSPillarNetworkA,4186,4186,4186,1981-06-18,418.6000000000267,418.61633,2015-01-01 01:09:46,bin4186,35,False +CTSPillarNetworkA,4187,4187,4187,1981-06-19,418.7000000000267,418.71634,2015-01-01 01:09:47,bin4187,75,False +CTSPillarNetworkA,4188,4188,4188,1981-06-20,418.8000000000267,418.81635,2015-01-01 01:09:48,bin4188,35,False +CTSPillarNetworkA,4189,4189,4189,1981-06-21,418.90000000002675,418.91635,2015-01-01 01:09:49,bin4189,75,False +CTSPillarNetworkA,4190,4190,4190,1981-06-22,419.0000000000268,419.01636,2015-01-01 01:09:50,bin4190,35,False +CTSPillarNetworkA,4191,4191,4191,1981-06-23,419.1000000000268,419.11636,2015-01-01 01:09:51,bin4191,75,False +CTSPillarNetworkA,4192,4192,4192,1981-06-24,419.2000000000268,419.21637,2015-01-01 01:09:52,bin4192,35,False +CTSPillarNetworkA,4193,4193,4193,1981-06-25,419.30000000002684,419.31638,2015-01-01 01:09:53,bin4193,75,False +CTSPillarNetworkA,4194,4194,4194,1981-06-26,419.40000000002686,419.41638,2015-01-01 01:09:54,bin4194,35,False +CTSPillarNetworkA,4195,4195,4195,1981-06-27,419.5000000000269,419.5164,2015-01-01 01:09:55,bin4195,75,False +CTSPillarNetworkA,4196,4196,4196,1981-06-28,419.6000000000269,419.6164,2015-01-01 01:09:56,bin4196,35,False +CTSPillarNetworkA,4197,4197,4197,1981-06-29,419.70000000002693,419.7164,2015-01-01 01:09:57,bin4197,75,False +CTSPillarNetworkA,4198,4198,4198,1981-06-30,419.80000000002696,419.8164,2015-01-01 01:09:58,bin4198,35,False +CTSPillarNetworkA,4199,4199,4199,1981-07-01,419.900000000027,419.9164,2015-01-01 01:09:59,bin4199,75,False +CTSPillarNetworkA,4200,4200,4200,1981-07-02,420.000000000027,420.01642,2015-01-01 01:10:00,bin4200,35,False +CTSPillarNetworkA,4201,4201,4201,1981-07-03,420.100000000027,420.11642,2015-01-01 01:10:01,bin4201,75,False +CTSPillarNetworkA,4202,4202,4202,1981-07-04,420.20000000002705,420.21643,2015-01-01 01:10:02,bin4202,35,False +CTSPillarNetworkA,4203,4203,4203,1981-07-05,420.30000000002707,420.31644,2015-01-01 01:10:03,bin4203,75,False +CTSPillarNetworkA,4204,4204,4204,1981-07-06,420.4000000000271,420.41644,2015-01-01 01:10:04,bin4204,35,False +CTSPillarNetworkA,4205,4205,4205,1981-07-07,420.5000000000271,420.51645,2015-01-01 01:10:05,bin4205,75,False +CTSPillarNetworkA,4206,4206,4206,1981-07-08,420.60000000002714,420.61646,2015-01-01 01:10:06,bin4206,35,False +CTSPillarNetworkA,4207,4207,4207,1981-07-09,420.70000000002716,420.71646,2015-01-01 01:10:07,bin4207,75,False +CTSPillarNetworkA,4208,4208,4208,1981-07-10,420.8000000000272,420.81647,2015-01-01 01:10:08,bin4208,35,False +CTSPillarNetworkA,4209,4209,4209,1981-07-11,420.9000000000272,420.91647,2015-01-01 01:10:09,bin4209,75,False +CTSPillarNetworkA,4210,4210,4210,1981-07-12,421.0000000000272,421.01648,2015-01-01 01:10:10,bin4210,35,False +CTSPillarNetworkA,4211,4211,4211,1981-07-13,421.10000000002725,421.1165,2015-01-01 01:10:11,bin4211,75,False +CTSPillarNetworkA,4212,4212,4212,1981-07-14,421.2000000000273,421.2165,2015-01-01 01:10:12,bin4212,35,False +CTSPillarNetworkA,4213,4213,4213,1981-07-15,421.3000000000273,421.3165,2015-01-01 01:10:13,bin4213,75,False +CTSPillarNetworkA,4214,4214,4214,1981-07-16,421.4000000000273,421.4165,2015-01-01 01:10:14,bin4214,35,False +CTSPillarNetworkA,4215,4215,4215,1981-07-17,421.50000000002734,421.5165,2015-01-01 01:10:15,bin4215,75,False +CTSPillarNetworkA,4216,4216,4216,1981-07-18,421.60000000002736,421.61652,2015-01-01 01:10:16,bin4216,35,False +CTSPillarNetworkA,4217,4217,4217,1981-07-19,421.7000000000274,421.71652,2015-01-01 01:10:17,bin4217,75,False +CTSPillarNetworkA,4218,4218,4218,1981-07-20,421.8000000000274,421.81653,2015-01-01 01:10:18,bin4218,35,False +CTSPillarNetworkA,4219,4219,4219,1981-07-21,421.90000000002743,421.91653,2015-01-01 01:10:19,bin4219,75,False +CTSPillarNetworkA,4220,4220,4220,1981-07-22,422.00000000002746,422.01654,2015-01-01 01:10:20,bin4220,35,False +CTSPillarNetworkA,4221,4221,4221,1981-07-23,422.1000000000275,422.11655,2015-01-01 01:10:21,bin4221,75,False +CTSPillarNetworkA,4222,4222,4222,1981-07-24,422.2000000000275,422.21655,2015-01-01 01:10:22,bin4222,35,False +CTSPillarNetworkA,4223,4223,4223,1981-07-25,422.3000000000275,422.31656,2015-01-01 01:10:23,bin4223,75,False +CTSPillarNetworkA,4224,4224,4224,1981-07-26,422.40000000002755,422.41656,2015-01-01 01:10:24,bin4224,35,False +CTSPillarNetworkA,4225,4225,4225,1981-07-27,422.50000000002757,422.51657,2015-01-01 01:10:25,bin4225,75,False +CTSPillarNetworkA,4226,4226,4226,1981-07-28,422.6000000000276,422.61658,2015-01-01 01:10:26,bin4226,35,False +CTSPillarNetworkA,4227,4227,4227,1981-07-29,422.7000000000276,422.71658,2015-01-01 01:10:27,bin4227,75,False +CTSPillarNetworkA,4228,4228,4228,1981-07-30,422.80000000002764,422.8166,2015-01-01 01:10:28,bin4228,35,False +CTSPillarNetworkA,4229,4229,4229,1981-07-31,422.90000000002766,422.9166,2015-01-01 01:10:29,bin4229,75,False +CTSPillarNetworkA,4230,4230,4230,1981-08-01,423.0000000000277,423.0166,2015-01-01 01:10:30,bin4230,35,False +CTSPillarNetworkA,4231,4231,4231,1981-08-02,423.1000000000277,423.1166,2015-01-01 01:10:31,bin4231,75,False +CTSPillarNetworkA,4232,4232,4232,1981-08-03,423.2000000000277,423.2166,2015-01-01 01:10:32,bin4232,35,False +CTSPillarNetworkA,4233,4233,4233,1981-08-04,423.30000000002775,423.31662,2015-01-01 01:10:33,bin4233,75,False +CTSPillarNetworkA,4234,4234,4234,1981-08-05,423.4000000000278,423.41663,2015-01-01 01:10:34,bin4234,35,False +CTSPillarNetworkA,4235,4235,4235,1981-08-06,423.5000000000278,423.51663,2015-01-01 01:10:35,bin4235,75,False +CTSPillarNetworkA,4236,4236,4236,1981-08-07,423.6000000000278,423.61664,2015-01-01 01:10:36,bin4236,35,False +CTSPillarNetworkA,4237,4237,4237,1981-08-08,423.70000000002784,423.71664,2015-01-01 01:10:37,bin4237,75,False +CTSPillarNetworkA,4238,4238,4238,1981-08-09,423.80000000002786,423.81665,2015-01-01 01:10:38,bin4238,35,False +CTSPillarNetworkA,4239,4239,4239,1981-08-10,423.9000000000279,423.91666,2015-01-01 01:10:39,bin4239,75,False +CTSPillarNetworkA,4240,4240,4240,1981-08-11,424.0000000000279,424.01666,2015-01-01 01:10:40,bin4240,35,False +CTSPillarNetworkA,4241,4241,4241,1981-08-12,424.10000000002793,424.11667,2015-01-01 01:10:41,bin4241,75,False +CTSPillarNetworkA,4242,4242,4242,1981-08-13,424.20000000002796,424.21667,2015-01-01 01:10:42,bin4242,35,False +CTSPillarNetworkA,4243,4243,4243,1981-08-14,424.300000000028,424.31668,2015-01-01 01:10:43,bin4243,75,False +CTSPillarNetworkA,4244,4244,4244,1981-08-15,424.400000000028,424.4167,2015-01-01 01:10:44,bin4244,35,False +CTSPillarNetworkA,4245,4245,4245,1981-08-16,424.500000000028,424.5167,2015-01-01 01:10:45,bin4245,75,False +CTSPillarNetworkA,4246,4246,4246,1981-08-17,424.60000000002805,424.6167,2015-01-01 01:10:46,bin4246,35,False +CTSPillarNetworkA,4247,4247,4247,1981-08-18,424.70000000002807,424.7167,2015-01-01 01:10:47,bin4247,75,False +CTSPillarNetworkA,4248,4248,4248,1981-08-19,424.8000000000281,424.8167,2015-01-01 01:10:48,bin4248,35,False +CTSPillarNetworkA,4249,4249,4249,1981-08-20,424.9000000000281,424.91672,2015-01-01 01:10:49,bin4249,75,False +CTSPillarNetworkA,4250,4250,4250,1981-08-21,425.00000000002814,425.01672,2015-01-01 01:10:50,bin4250,35,False +CTSPillarNetworkA,4251,4251,4251,1981-08-22,425.10000000002816,425.11673,2015-01-01 01:10:51,bin4251,75,False +CTSPillarNetworkA,4252,4252,4252,1981-08-23,425.2000000000282,425.21674,2015-01-01 01:10:52,bin4252,35,False +CTSPillarNetworkA,4253,4253,4253,1981-08-24,425.3000000000282,425.31674,2015-01-01 01:10:53,bin4253,75,False +CTSPillarNetworkA,4254,4254,4254,1981-08-25,425.40000000002823,425.41675,2015-01-01 01:10:54,bin4254,35,False +CTSPillarNetworkA,4255,4255,4255,1981-08-26,425.50000000002825,425.51675,2015-01-01 01:10:55,bin4255,75,False +CTSPillarNetworkA,4256,4256,4256,1981-08-27,425.6000000000283,425.61676,2015-01-01 01:10:56,bin4256,35,False +CTSPillarNetworkA,4257,4257,4257,1981-08-28,425.7000000000283,425.71677,2015-01-01 01:10:57,bin4257,75,False +CTSPillarNetworkA,4258,4258,4258,1981-08-29,425.8000000000283,425.81677,2015-01-01 01:10:58,bin4258,35,False +CTSPillarNetworkA,4259,4259,4259,1981-08-30,425.90000000002834,425.91678,2015-01-01 01:10:59,bin4259,75,False +CTSPillarNetworkA,4260,4260,4260,1981-08-31,426.00000000002836,426.01678,2015-01-01 01:11:00,bin4260,35,False +CTSPillarNetworkA,4261,4261,4261,1981-09-01,426.1000000000284,426.1168,2015-01-01 01:11:01,bin4261,75,False +CTSPillarNetworkA,4262,4262,4262,1981-09-02,426.2000000000284,426.2168,2015-01-01 01:11:02,bin4262,35,False +CTSPillarNetworkA,4263,4263,4263,1981-09-03,426.30000000002843,426.3168,2015-01-01 01:11:03,bin4263,75,False +CTSPillarNetworkA,4264,4264,4264,1981-09-04,426.40000000002846,426.4168,2015-01-01 01:11:04,bin4264,35,False +CTSPillarNetworkA,4265,4265,4265,1981-09-05,426.5000000000285,426.5168,2015-01-01 01:11:05,bin4265,75,False +CTSPillarNetworkA,4266,4266,4266,1981-09-06,426.6000000000285,426.61682,2015-01-01 01:11:06,bin4266,35,False +CTSPillarNetworkA,4267,4267,4267,1981-09-07,426.7000000000285,426.71683,2015-01-01 01:11:07,bin4267,75,False +CTSPillarNetworkA,4268,4268,4268,1981-09-08,426.80000000002855,426.81683,2015-01-01 01:11:08,bin4268,35,False +CTSPillarNetworkA,4269,4269,4269,1981-09-09,426.90000000002857,426.91684,2015-01-01 01:11:09,bin4269,75,False +CTSPillarNetworkA,4270,4270,4270,1981-09-10,427.0000000000286,427.01685,2015-01-01 01:11:10,bin4270,35,False +CTSPillarNetworkA,4271,4271,4271,1981-09-11,427.1000000000286,427.11685,2015-01-01 01:11:11,bin4271,75,False +CTSPillarNetworkA,4272,4272,4272,1981-09-12,427.20000000002864,427.21686,2015-01-01 01:11:12,bin4272,35,False +CTSPillarNetworkA,4273,4273,4273,1981-09-13,427.30000000002866,427.31686,2015-01-01 01:11:13,bin4273,75,False +CTSPillarNetworkA,4274,4274,4274,1981-09-14,427.4000000000287,427.41687,2015-01-01 01:11:14,bin4274,35,False +CTSPillarNetworkA,4275,4275,4275,1981-09-15,427.5000000000287,427.51688,2015-01-01 01:11:15,bin4275,75,False +CTSPillarNetworkA,4276,4276,4276,1981-09-16,427.60000000002873,427.61688,2015-01-01 01:11:16,bin4276,35,False +CTSPillarNetworkA,4277,4277,4277,1981-09-17,427.70000000002875,427.7169,2015-01-01 01:11:17,bin4277,75,False +CTSPillarNetworkA,4278,4278,4278,1981-09-18,427.8000000000288,427.8169,2015-01-01 01:11:18,bin4278,35,False +CTSPillarNetworkA,4279,4279,4279,1981-09-19,427.9000000000288,427.9169,2015-01-01 01:11:19,bin4279,75,False +CTSPillarNetworkA,4280,4280,4280,1981-09-20,428.0000000000288,428.0169,2015-01-01 01:11:20,bin4280,35,False +CTSPillarNetworkA,4281,4281,4281,1981-09-21,428.10000000002884,428.1169,2015-01-01 01:11:21,bin4281,75,False +CTSPillarNetworkA,4282,4282,4282,1981-09-22,428.20000000002887,428.21692,2015-01-01 01:11:22,bin4282,35,False +CTSPillarNetworkA,4283,4283,4283,1981-09-23,428.3000000000289,428.31693,2015-01-01 01:11:23,bin4283,75,False +CTSPillarNetworkA,4284,4284,4284,1981-09-24,428.4000000000289,428.41693,2015-01-01 01:11:24,bin4284,35,False +CTSPillarNetworkA,4285,4285,4285,1981-09-25,428.50000000002893,428.51694,2015-01-01 01:11:25,bin4285,75,False +CTSPillarNetworkA,4286,4286,4286,1981-09-26,428.60000000002896,428.61694,2015-01-01 01:11:26,bin4286,35,False +CTSPillarNetworkA,4287,4287,4287,1981-09-27,428.700000000029,428.71695,2015-01-01 01:11:27,bin4287,75,False +CTSPillarNetworkA,4288,4288,4288,1981-09-28,428.800000000029,428.81696,2015-01-01 01:11:28,bin4288,35,False +CTSPillarNetworkA,4289,4289,4289,1981-09-29,428.900000000029,428.91696,2015-01-01 01:11:29,bin4289,75,False +CTSPillarNetworkA,4290,4290,4290,1981-09-30,429.00000000002905,429.01697,2015-01-01 01:11:30,bin4290,35,False +CTSPillarNetworkA,4291,4291,4291,1981-10-01,429.10000000002907,429.11697,2015-01-01 01:11:31,bin4291,75,False +CTSPillarNetworkA,4292,4292,4292,1981-10-02,429.2000000000291,429.21698,2015-01-01 01:11:32,bin4292,35,False +CTSPillarNetworkA,4293,4293,4293,1981-10-03,429.3000000000291,429.317,2015-01-01 01:11:33,bin4293,75,False +CTSPillarNetworkA,4294,4294,4294,1981-10-04,429.40000000002914,429.417,2015-01-01 01:11:34,bin4294,35,False +CTSPillarNetworkA,4295,4295,4295,1981-10-05,429.50000000002916,429.517,2015-01-01 01:11:35,bin4295,75,False +CTSPillarNetworkA,4296,4296,4296,1981-10-06,429.6000000000292,429.617,2015-01-01 01:11:36,bin4296,35,False +CTSPillarNetworkA,4297,4297,4297,1981-10-07,429.7000000000292,429.717,2015-01-01 01:11:37,bin4297,75,False +CTSPillarNetworkA,4298,4298,4298,1981-10-08,429.80000000002923,429.81702,2015-01-01 01:11:38,bin4298,35,False +CTSPillarNetworkA,4299,4299,4299,1981-10-09,429.90000000002925,429.91702,2015-01-01 01:11:39,bin4299,75,False +CTSPillarNetworkA,4300,4300,4300,1981-10-10,430.0000000000293,430.01703,2015-01-01 01:11:40,bin4300,35,False +CTSPillarNetworkA,4301,4301,4301,1981-10-11,430.1000000000293,430.11703,2015-01-01 01:11:41,bin4301,75,False +CTSPillarNetworkA,4302,4302,4302,1981-10-12,430.2000000000293,430.21704,2015-01-01 01:11:42,bin4302,35,False +CTSPillarNetworkA,4303,4303,4303,1981-10-13,430.30000000002934,430.31705,2015-01-01 01:11:43,bin4303,75,False +CTSPillarNetworkA,4304,4304,4304,1981-10-14,430.40000000002937,430.41705,2015-01-01 01:11:44,bin4304,35,False +CTSPillarNetworkA,4305,4305,4305,1981-10-15,430.5000000000294,430.51706,2015-01-01 01:11:45,bin4305,75,False +CTSPillarNetworkA,4306,4306,4306,1981-10-16,430.6000000000294,430.61707,2015-01-01 01:11:46,bin4306,35,False +CTSPillarNetworkA,4307,4307,4307,1981-10-17,430.70000000002943,430.71707,2015-01-01 01:11:47,bin4307,75,False +CTSPillarNetworkA,4308,4308,4308,1981-10-18,430.80000000002946,430.81708,2015-01-01 01:11:48,bin4308,35,False +CTSPillarNetworkA,4309,4309,4309,1981-10-19,430.9000000000295,430.91708,2015-01-01 01:11:49,bin4309,75,False +CTSPillarNetworkA,4310,4310,4310,1981-10-20,431.0000000000295,431.0171,2015-01-01 01:11:50,bin4310,35,False +CTSPillarNetworkA,4311,4311,4311,1981-10-21,431.1000000000295,431.1171,2015-01-01 01:11:51,bin4311,75,False +CTSPillarNetworkA,4312,4312,4312,1981-10-22,431.20000000002955,431.2171,2015-01-01 01:11:52,bin4312,35,False +CTSPillarNetworkA,4313,4313,4313,1981-10-23,431.30000000002957,431.3171,2015-01-01 01:11:53,bin4313,75,False +CTSPillarNetworkA,4314,4314,4314,1981-10-24,431.4000000000296,431.4171,2015-01-01 01:11:54,bin4314,35,False +CTSPillarNetworkA,4315,4315,4315,1981-10-25,431.5000000000296,431.51712,2015-01-01 01:11:55,bin4315,75,False +CTSPillarNetworkA,4316,4316,4316,1981-10-26,431.60000000002964,431.61713,2015-01-01 01:11:56,bin4316,35,False +CTSPillarNetworkA,4317,4317,4317,1981-10-27,431.70000000002966,431.71713,2015-01-01 01:11:57,bin4317,75,False +CTSPillarNetworkA,4318,4318,4318,1981-10-28,431.8000000000297,431.81714,2015-01-01 01:11:58,bin4318,35,False +CTSPillarNetworkA,4319,4319,4319,1981-10-29,431.9000000000297,431.91714,2015-01-01 01:11:59,bin4319,75,False +CTSPillarNetworkA,4320,4320,4320,1981-10-30,432.00000000002973,432.01715,2015-01-01 01:12:00,bin4320,35,False +CTSPillarNetworkA,4321,4321,4321,1981-10-31,432.10000000002975,432.11716,2015-01-01 01:12:01,bin4321,75,False +CTSPillarNetworkA,4322,4322,4322,1981-11-01,432.2000000000298,432.21716,2015-01-01 01:12:02,bin4322,35,False +CTSPillarNetworkA,4323,4323,4323,1981-11-02,432.3000000000298,432.31717,2015-01-01 01:12:03,bin4323,75,False +CTSPillarNetworkA,4324,4324,4324,1981-11-03,432.4000000000298,432.41718,2015-01-01 01:12:04,bin4324,35,False +CTSPillarNetworkA,4325,4325,4325,1981-11-04,432.50000000002984,432.51718,2015-01-01 01:12:05,bin4325,75,False +CTSPillarNetworkA,4326,4326,4326,1981-11-05,432.60000000002987,432.6172,2015-01-01 01:12:06,bin4326,35,False +CTSPillarNetworkA,4327,4327,4327,1981-11-06,432.7000000000299,432.7172,2015-01-01 01:12:07,bin4327,75,False +CTSPillarNetworkA,4328,4328,4328,1981-11-07,432.8000000000299,432.8172,2015-01-01 01:12:08,bin4328,35,False +CTSPillarNetworkA,4329,4329,4329,1981-11-08,432.90000000002993,432.9172,2015-01-01 01:12:09,bin4329,75,False +CTSPillarNetworkA,4330,4330,4330,1981-11-09,433.00000000002996,433.0172,2015-01-01 01:12:10,bin4330,35,False +CTSPillarNetworkA,4331,4331,4331,1981-11-10,433.10000000003,433.11722,2015-01-01 01:12:11,bin4331,75,False +CTSPillarNetworkA,4332,4332,4332,1981-11-11,433.20000000003,433.21722,2015-01-01 01:12:12,bin4332,35,False +CTSPillarNetworkA,4333,4333,4333,1981-11-12,433.30000000003,433.31723,2015-01-01 01:12:13,bin4333,75,False +CTSPillarNetworkA,4334,4334,4334,1981-11-13,433.40000000003005,433.41724,2015-01-01 01:12:14,bin4334,35,False +CTSPillarNetworkA,4335,4335,4335,1981-11-14,433.50000000003007,433.51724,2015-01-01 01:12:15,bin4335,75,False +CTSPillarNetworkA,4336,4336,4336,1981-11-15,433.6000000000301,433.61725,2015-01-01 01:12:16,bin4336,35,False +CTSPillarNetworkA,4337,4337,4337,1981-11-16,433.7000000000301,433.71725,2015-01-01 01:12:17,bin4337,75,False +CTSPillarNetworkA,4338,4338,4338,1981-11-17,433.80000000003014,433.81726,2015-01-01 01:12:18,bin4338,35,False +CTSPillarNetworkA,4339,4339,4339,1981-11-18,433.90000000003016,433.91727,2015-01-01 01:12:19,bin4339,75,False +CTSPillarNetworkA,4340,4340,4340,1981-11-19,434.0000000000302,434.01727,2015-01-01 01:12:20,bin4340,35,False +CTSPillarNetworkA,4341,4341,4341,1981-11-20,434.1000000000302,434.11728,2015-01-01 01:12:21,bin4341,75,False +CTSPillarNetworkA,4342,4342,4342,1981-11-21,434.20000000003023,434.2173,2015-01-01 01:12:22,bin4342,35,False +CTSPillarNetworkA,4343,4343,4343,1981-11-22,434.30000000003025,434.3173,2015-01-01 01:12:23,bin4343,75,False +CTSPillarNetworkA,4344,4344,4344,1981-11-23,434.4000000000303,434.4173,2015-01-01 01:12:24,bin4344,35,False +CTSPillarNetworkA,4345,4345,4345,1981-11-24,434.5000000000303,434.5173,2015-01-01 01:12:25,bin4345,75,False +CTSPillarNetworkA,4346,4346,4346,1981-11-25,434.6000000000303,434.6173,2015-01-01 01:12:26,bin4346,35,False +CTSPillarNetworkA,4347,4347,4347,1981-11-26,434.70000000003034,434.71732,2015-01-01 01:12:27,bin4347,75,False +CTSPillarNetworkA,4348,4348,4348,1981-11-27,434.80000000003037,434.81732,2015-01-01 01:12:28,bin4348,35,False +CTSPillarNetworkA,4349,4349,4349,1981-11-28,434.9000000000304,434.91733,2015-01-01 01:12:29,bin4349,75,False +CTSPillarNetworkA,4350,4350,4350,1981-11-29,435.0000000000304,435.01733,2015-01-01 01:12:30,bin4350,35,False +CTSPillarNetworkA,4351,4351,4351,1981-11-30,435.10000000003043,435.11734,2015-01-01 01:12:31,bin4351,75,False +CTSPillarNetworkA,4352,4352,4352,1981-12-01,435.20000000003046,435.21735,2015-01-01 01:12:32,bin4352,35,False +CTSPillarNetworkA,4353,4353,4353,1981-12-02,435.3000000000305,435.31735,2015-01-01 01:12:33,bin4353,75,False +CTSPillarNetworkA,4354,4354,4354,1981-12-03,435.4000000000305,435.41736,2015-01-01 01:12:34,bin4354,35,False +CTSPillarNetworkA,4355,4355,4355,1981-12-04,435.5000000000305,435.51736,2015-01-01 01:12:35,bin4355,75,False +CTSPillarNetworkA,4356,4356,4356,1981-12-05,435.60000000003055,435.61737,2015-01-01 01:12:36,bin4356,35,False +CTSPillarNetworkA,4357,4357,4357,1981-12-06,435.70000000003057,435.71738,2015-01-01 01:12:37,bin4357,75,False +CTSPillarNetworkA,4358,4358,4358,1981-12-07,435.8000000000306,435.81738,2015-01-01 01:12:38,bin4358,35,False +CTSPillarNetworkA,4359,4359,4359,1981-12-08,435.9000000000306,435.9174,2015-01-01 01:12:39,bin4359,75,False +CTSPillarNetworkA,4360,4360,4360,1981-12-09,436.00000000003064,436.0174,2015-01-01 01:12:40,bin4360,35,False +CTSPillarNetworkA,4361,4361,4361,1981-12-10,436.10000000003066,436.1174,2015-01-01 01:12:41,bin4361,75,False +CTSPillarNetworkA,4362,4362,4362,1981-12-11,436.2000000000307,436.2174,2015-01-01 01:12:42,bin4362,35,False +CTSPillarNetworkA,4363,4363,4363,1981-12-12,436.3000000000307,436.3174,2015-01-01 01:12:43,bin4363,75,False +CTSPillarNetworkA,4364,4364,4364,1981-12-13,436.40000000003073,436.41742,2015-01-01 01:12:44,bin4364,35,False +CTSPillarNetworkA,4365,4365,4365,1981-12-14,436.50000000003075,436.51743,2015-01-01 01:12:45,bin4365,75,False +CTSPillarNetworkA,4366,4366,4366,1981-12-15,436.6000000000308,436.61743,2015-01-01 01:12:46,bin4366,35,False +CTSPillarNetworkA,4367,4367,4367,1981-12-16,436.7000000000308,436.71744,2015-01-01 01:12:47,bin4367,75,False +CTSPillarNetworkA,4368,4368,4368,1981-12-17,436.8000000000308,436.81744,2015-01-01 01:12:48,bin4368,35,False +CTSPillarNetworkA,4369,4369,4369,1981-12-18,436.90000000003084,436.91745,2015-01-01 01:12:49,bin4369,75,False +CTSPillarNetworkA,4370,4370,4370,1981-12-19,437.00000000003087,437.01746,2015-01-01 01:12:50,bin4370,35,False +CTSPillarNetworkA,4371,4371,4371,1981-12-20,437.1000000000309,437.11746,2015-01-01 01:12:51,bin4371,75,False +CTSPillarNetworkA,4372,4372,4372,1981-12-21,437.2000000000309,437.21747,2015-01-01 01:12:52,bin4372,35,False +CTSPillarNetworkA,4373,4373,4373,1981-12-22,437.30000000003093,437.31747,2015-01-01 01:12:53,bin4373,75,False +CTSPillarNetworkA,4374,4374,4374,1981-12-23,437.40000000003096,437.41748,2015-01-01 01:12:54,bin4374,35,False +CTSPillarNetworkA,4375,4375,4375,1981-12-24,437.500000000031,437.5175,2015-01-01 01:12:55,bin4375,75,False +CTSPillarNetworkA,4376,4376,4376,1981-12-25,437.600000000031,437.6175,2015-01-01 01:12:56,bin4376,35,False +CTSPillarNetworkA,4377,4377,4377,1981-12-26,437.700000000031,437.7175,2015-01-01 01:12:57,bin4377,75,False +CTSPillarNetworkA,4378,4378,4378,1981-12-27,437.80000000003105,437.8175,2015-01-01 01:12:58,bin4378,35,False +CTSPillarNetworkA,4379,4379,4379,1981-12-28,437.90000000003107,437.9175,2015-01-01 01:12:59,bin4379,75,False +CTSPillarNetworkA,4380,4380,4380,1981-12-29,438.0000000000311,438.01752,2015-01-01 01:13:00,bin4380,35,False +CTSPillarNetworkA,4381,4381,4381,1981-12-30,438.1000000000311,438.11752,2015-01-01 01:13:01,bin4381,75,False +CTSPillarNetworkA,4382,4382,4382,1981-12-31,438.20000000003114,438.21753,2015-01-01 01:13:02,bin4382,35,False +CTSPillarNetworkA,4383,4383,4383,1982-01-01,438.30000000003116,438.31754,2015-01-01 01:13:03,bin4383,75,False +CTSPillarNetworkA,4384,4384,4384,1982-01-02,438.4000000000312,438.41754,2015-01-01 01:13:04,bin4384,35,False +CTSPillarNetworkA,4385,4385,4385,1982-01-03,438.5000000000312,438.51755,2015-01-01 01:13:05,bin4385,75,False +CTSPillarNetworkA,4386,4386,4386,1982-01-04,438.60000000003123,438.61755,2015-01-01 01:13:06,bin4386,35,False +CTSPillarNetworkA,4387,4387,4387,1982-01-05,438.70000000003125,438.71756,2015-01-01 01:13:07,bin4387,75,False +CTSPillarNetworkA,4388,4388,4388,1982-01-06,438.8000000000313,438.81757,2015-01-01 01:13:08,bin4388,35,False +CTSPillarNetworkA,4389,4389,4389,1982-01-07,438.9000000000313,438.91757,2015-01-01 01:13:09,bin4389,75,False +CTSPillarNetworkA,4390,4390,4390,1982-01-08,439.0000000000313,439.01758,2015-01-01 01:13:10,bin4390,35,False +CTSPillarNetworkA,4391,4391,4391,1982-01-09,439.10000000003134,439.11758,2015-01-01 01:13:11,bin4391,75,False +CTSPillarNetworkA,4392,4392,4392,1982-01-10,439.20000000003137,439.2176,2015-01-01 01:13:12,bin4392,35,False +CTSPillarNetworkA,4393,4393,4393,1982-01-11,439.3000000000314,439.3176,2015-01-01 01:13:13,bin4393,75,False +CTSPillarNetworkA,4394,4394,4394,1982-01-12,439.4000000000314,439.4176,2015-01-01 01:13:14,bin4394,35,False +CTSPillarNetworkA,4395,4395,4395,1982-01-13,439.50000000003143,439.5176,2015-01-01 01:13:15,bin4395,75,False +CTSPillarNetworkA,4396,4396,4396,1982-01-14,439.60000000003146,439.6176,2015-01-01 01:13:16,bin4396,35,False +CTSPillarNetworkA,4397,4397,4397,1982-01-15,439.7000000000315,439.71762,2015-01-01 01:13:17,bin4397,75,False +CTSPillarNetworkA,4398,4398,4398,1982-01-16,439.8000000000315,439.81763,2015-01-01 01:13:18,bin4398,35,False +CTSPillarNetworkA,4399,4399,4399,1982-01-17,439.9000000000315,439.91763,2015-01-01 01:13:19,bin4399,75,False +CTSPillarNetworkA,4400,4400,4400,1982-01-18,440.00000000003155,440.01764,2015-01-01 01:13:20,bin4400,35,False +CTSPillarNetworkA,4401,4401,4401,1982-01-19,440.10000000003157,440.11765,2015-01-01 01:13:21,bin4401,75,False +CTSPillarNetworkA,4402,4402,4402,1982-01-20,440.2000000000316,440.21765,2015-01-01 01:13:22,bin4402,35,False +CTSPillarNetworkA,4403,4403,4403,1982-01-21,440.3000000000316,440.31766,2015-01-01 01:13:23,bin4403,75,False +CTSPillarNetworkA,4404,4404,4404,1982-01-22,440.40000000003164,440.41766,2015-01-01 01:13:24,bin4404,35,False +CTSPillarNetworkA,4405,4405,4405,1982-01-23,440.50000000003166,440.51767,2015-01-01 01:13:25,bin4405,75,False +CTSPillarNetworkA,4406,4406,4406,1982-01-24,440.6000000000317,440.61768,2015-01-01 01:13:26,bin4406,35,False +CTSPillarNetworkA,4407,4407,4407,1982-01-25,440.7000000000317,440.71768,2015-01-01 01:13:27,bin4407,75,False +CTSPillarNetworkA,4408,4408,4408,1982-01-26,440.80000000003173,440.8177,2015-01-01 01:13:28,bin4408,35,False +CTSPillarNetworkA,4409,4409,4409,1982-01-27,440.90000000003175,440.9177,2015-01-01 01:13:29,bin4409,75,False +CTSPillarNetworkA,4410,4410,4410,1982-01-28,441.0000000000318,441.0177,2015-01-01 01:13:30,bin4410,35,False +CTSPillarNetworkA,4411,4411,4411,1982-01-29,441.1000000000318,441.1177,2015-01-01 01:13:31,bin4411,75,False +CTSPillarNetworkA,4412,4412,4412,1982-01-30,441.2000000000318,441.2177,2015-01-01 01:13:32,bin4412,35,False +CTSPillarNetworkA,4413,4413,4413,1982-01-31,441.30000000003184,441.31772,2015-01-01 01:13:33,bin4413,75,False +CTSPillarNetworkA,4414,4414,4414,1982-02-01,441.40000000003187,441.41772,2015-01-01 01:13:34,bin4414,35,False +CTSPillarNetworkA,4415,4415,4415,1982-02-02,441.5000000000319,441.51773,2015-01-01 01:13:35,bin4415,75,False +CTSPillarNetworkA,4416,4416,4416,1982-02-03,441.6000000000319,441.61774,2015-01-01 01:13:36,bin4416,35,False +CTSPillarNetworkA,4417,4417,4417,1982-02-04,441.70000000003193,441.71774,2015-01-01 01:13:37,bin4417,75,False +CTSPillarNetworkA,4418,4418,4418,1982-02-05,441.80000000003196,441.81775,2015-01-01 01:13:38,bin4418,35,False +CTSPillarNetworkA,4419,4419,4419,1982-02-06,441.900000000032,441.91776,2015-01-01 01:13:39,bin4419,75,False +CTSPillarNetworkA,4420,4420,4420,1982-02-07,442.000000000032,442.01776,2015-01-01 01:13:40,bin4420,35,False +CTSPillarNetworkA,4421,4421,4421,1982-02-08,442.100000000032,442.11777,2015-01-01 01:13:41,bin4421,75,False +CTSPillarNetworkA,4422,4422,4422,1982-02-09,442.20000000003205,442.21777,2015-01-01 01:13:42,bin4422,35,False +CTSPillarNetworkA,4423,4423,4423,1982-02-10,442.30000000003207,442.31778,2015-01-01 01:13:43,bin4423,75,False +CTSPillarNetworkA,4424,4424,4424,1982-02-11,442.4000000000321,442.4178,2015-01-01 01:13:44,bin4424,35,False +CTSPillarNetworkA,4425,4425,4425,1982-02-12,442.5000000000321,442.5178,2015-01-01 01:13:45,bin4425,75,False +CTSPillarNetworkA,4426,4426,4426,1982-02-13,442.60000000003214,442.6178,2015-01-01 01:13:46,bin4426,35,False +CTSPillarNetworkA,4427,4427,4427,1982-02-14,442.70000000003216,442.7178,2015-01-01 01:13:47,bin4427,75,False +CTSPillarNetworkA,4428,4428,4428,1982-02-15,442.8000000000322,442.8178,2015-01-01 01:13:48,bin4428,35,False +CTSPillarNetworkA,4429,4429,4429,1982-02-16,442.9000000000322,442.91782,2015-01-01 01:13:49,bin4429,75,False +CTSPillarNetworkA,4430,4430,4430,1982-02-17,443.00000000003223,443.01782,2015-01-01 01:13:50,bin4430,35,False +CTSPillarNetworkA,4431,4431,4431,1982-02-18,443.10000000003225,443.11783,2015-01-01 01:13:51,bin4431,75,False +CTSPillarNetworkA,4432,4432,4432,1982-02-19,443.2000000000323,443.21783,2015-01-01 01:13:52,bin4432,35,False +CTSPillarNetworkA,4433,4433,4433,1982-02-20,443.3000000000323,443.31784,2015-01-01 01:13:53,bin4433,75,False +CTSPillarNetworkA,4434,4434,4434,1982-02-21,443.4000000000323,443.41785,2015-01-01 01:13:54,bin4434,35,False +CTSPillarNetworkA,4435,4435,4435,1982-02-22,443.50000000003234,443.51785,2015-01-01 01:13:55,bin4435,75,False +CTSPillarNetworkA,4436,4436,4436,1982-02-23,443.60000000003237,443.61786,2015-01-01 01:13:56,bin4436,35,False +CTSPillarNetworkA,4437,4437,4437,1982-02-24,443.7000000000324,443.71786,2015-01-01 01:13:57,bin4437,75,False +CTSPillarNetworkA,4438,4438,4438,1982-02-25,443.8000000000324,443.81787,2015-01-01 01:13:58,bin4438,35,False +CTSPillarNetworkA,4439,4439,4439,1982-02-26,443.90000000003243,443.91788,2015-01-01 01:13:59,bin4439,75,False +CTSPillarNetworkA,4440,4440,4440,1982-02-27,444.00000000003246,444.01788,2015-01-01 01:14:00,bin4440,35,False +CTSPillarNetworkA,4441,4441,4441,1982-02-28,444.1000000000325,444.1179,2015-01-01 01:14:01,bin4441,75,False +CTSPillarNetworkA,4442,4442,4442,1982-03-01,444.2000000000325,444.2179,2015-01-01 01:14:02,bin4442,35,False +CTSPillarNetworkA,4443,4443,4443,1982-03-02,444.3000000000325,444.3179,2015-01-01 01:14:03,bin4443,75,False +CTSPillarNetworkA,4444,4444,4444,1982-03-03,444.40000000003255,444.4179,2015-01-01 01:14:04,bin4444,35,False +CTSPillarNetworkA,4445,4445,4445,1982-03-04,444.50000000003257,444.5179,2015-01-01 01:14:05,bin4445,75,False +CTSPillarNetworkA,4446,4446,4446,1982-03-05,444.6000000000326,444.61792,2015-01-01 01:14:06,bin4446,35,False +CTSPillarNetworkA,4447,4447,4447,1982-03-06,444.7000000000326,444.71793,2015-01-01 01:14:07,bin4447,75,False +CTSPillarNetworkA,4448,4448,4448,1982-03-07,444.80000000003264,444.81793,2015-01-01 01:14:08,bin4448,35,False +CTSPillarNetworkA,4449,4449,4449,1982-03-08,444.90000000003266,444.91794,2015-01-01 01:14:09,bin4449,75,False +CTSPillarNetworkA,4450,4450,4450,1982-03-09,445.0000000000327,445.01794,2015-01-01 01:14:10,bin4450,35,False +CTSPillarNetworkA,4451,4451,4451,1982-03-10,445.1000000000327,445.11795,2015-01-01 01:14:11,bin4451,75,False +CTSPillarNetworkA,4452,4452,4452,1982-03-11,445.20000000003273,445.21796,2015-01-01 01:14:12,bin4452,35,False +CTSPillarNetworkA,4453,4453,4453,1982-03-12,445.30000000003275,445.31796,2015-01-01 01:14:13,bin4453,75,False +CTSPillarNetworkA,4454,4454,4454,1982-03-13,445.4000000000328,445.41797,2015-01-01 01:14:14,bin4454,35,False +CTSPillarNetworkA,4455,4455,4455,1982-03-14,445.5000000000328,445.51797,2015-01-01 01:14:15,bin4455,75,False +CTSPillarNetworkA,4456,4456,4456,1982-03-15,445.6000000000328,445.61798,2015-01-01 01:14:16,bin4456,35,False +CTSPillarNetworkA,4457,4457,4457,1982-03-16,445.70000000003284,445.718,2015-01-01 01:14:17,bin4457,75,False +CTSPillarNetworkA,4458,4458,4458,1982-03-17,445.80000000003287,445.818,2015-01-01 01:14:18,bin4458,35,False +CTSPillarNetworkA,4459,4459,4459,1982-03-18,445.9000000000329,445.918,2015-01-01 01:14:19,bin4459,75,False +CTSPillarNetworkA,4460,4460,4460,1982-03-19,446.0000000000329,446.018,2015-01-01 01:14:20,bin4460,35,False +CTSPillarNetworkA,4461,4461,4461,1982-03-20,446.10000000003294,446.118,2015-01-01 01:14:21,bin4461,75,False +CTSPillarNetworkA,4462,4462,4462,1982-03-21,446.20000000003296,446.21802,2015-01-01 01:14:22,bin4462,35,False +CTSPillarNetworkA,4463,4463,4463,1982-03-22,446.300000000033,446.31802,2015-01-01 01:14:23,bin4463,75,False +CTSPillarNetworkA,4464,4464,4464,1982-03-23,446.400000000033,446.41803,2015-01-01 01:14:24,bin4464,35,False +CTSPillarNetworkA,4465,4465,4465,1982-03-24,446.500000000033,446.51804,2015-01-01 01:14:25,bin4465,75,False +CTSPillarNetworkA,4466,4466,4466,1982-03-25,446.60000000003305,446.61804,2015-01-01 01:14:26,bin4466,35,False +CTSPillarNetworkA,4467,4467,4467,1982-03-26,446.70000000003307,446.71805,2015-01-01 01:14:27,bin4467,75,False +CTSPillarNetworkA,4468,4468,4468,1982-03-27,446.8000000000331,446.81805,2015-01-01 01:14:28,bin4468,35,False +CTSPillarNetworkA,4469,4469,4469,1982-03-28,446.9000000000331,446.91806,2015-01-01 01:14:29,bin4469,75,False +CTSPillarNetworkA,4470,4470,4470,1982-03-29,447.00000000003314,447.01807,2015-01-01 01:14:30,bin4470,35,False +CTSPillarNetworkA,4471,4471,4471,1982-03-30,447.10000000003316,447.11807,2015-01-01 01:14:31,bin4471,75,False +CTSPillarNetworkA,4472,4472,4472,1982-03-31,447.2000000000332,447.21808,2015-01-01 01:14:32,bin4472,35,False +CTSPillarNetworkA,4473,4473,4473,1982-04-01,447.3000000000332,447.31808,2015-01-01 01:14:33,bin4473,75,False +CTSPillarNetworkA,4474,4474,4474,1982-04-02,447.40000000003323,447.4181,2015-01-01 01:14:34,bin4474,35,False +CTSPillarNetworkA,4475,4475,4475,1982-04-03,447.50000000003325,447.5181,2015-01-01 01:14:35,bin4475,75,False +CTSPillarNetworkA,4476,4476,4476,1982-04-04,447.6000000000333,447.6181,2015-01-01 01:14:36,bin4476,35,False +CTSPillarNetworkA,4477,4477,4477,1982-04-05,447.7000000000333,447.7181,2015-01-01 01:14:37,bin4477,75,False +CTSPillarNetworkA,4478,4478,4478,1982-04-06,447.8000000000333,447.8181,2015-01-01 01:14:38,bin4478,35,False +CTSPillarNetworkA,4479,4479,4479,1982-04-07,447.90000000003334,447.91812,2015-01-01 01:14:39,bin4479,75,False +CTSPillarNetworkA,4480,4480,4480,1982-04-08,448.00000000003337,448.01813,2015-01-01 01:14:40,bin4480,35,False +CTSPillarNetworkA,4481,4481,4481,1982-04-09,448.1000000000334,448.11813,2015-01-01 01:14:41,bin4481,75,False +CTSPillarNetworkA,4482,4482,4482,1982-04-10,448.2000000000334,448.21814,2015-01-01 01:14:42,bin4482,35,False +CTSPillarNetworkA,4483,4483,4483,1982-04-11,448.30000000003344,448.31815,2015-01-01 01:14:43,bin4483,75,False +CTSPillarNetworkA,4484,4484,4484,1982-04-12,448.40000000003346,448.41815,2015-01-01 01:14:44,bin4484,35,False +CTSPillarNetworkA,4485,4485,4485,1982-04-13,448.5000000000335,448.51816,2015-01-01 01:14:45,bin4485,75,False +CTSPillarNetworkA,4486,4486,4486,1982-04-14,448.6000000000335,448.61816,2015-01-01 01:14:46,bin4486,35,False +CTSPillarNetworkA,4487,4487,4487,1982-04-15,448.7000000000335,448.71817,2015-01-01 01:14:47,bin4487,75,False +CTSPillarNetworkA,4488,4488,4488,1982-04-16,448.80000000003355,448.81818,2015-01-01 01:14:48,bin4488,35,False +CTSPillarNetworkA,4489,4489,4489,1982-04-17,448.9000000000336,448.91818,2015-01-01 01:14:49,bin4489,75,False +CTSPillarNetworkA,4490,4490,4490,1982-04-18,449.0000000000336,449.0182,2015-01-01 01:14:50,bin4490,35,False +CTSPillarNetworkA,4491,4491,4491,1982-04-19,449.1000000000336,449.1182,2015-01-01 01:14:51,bin4491,75,False +CTSPillarNetworkA,4492,4492,4492,1982-04-20,449.20000000003364,449.2182,2015-01-01 01:14:52,bin4492,35,False +CTSPillarNetworkA,4493,4493,4493,1982-04-21,449.30000000003366,449.3182,2015-01-01 01:14:53,bin4493,75,False +CTSPillarNetworkA,4494,4494,4494,1982-04-22,449.4000000000337,449.4182,2015-01-01 01:14:54,bin4494,35,False +CTSPillarNetworkA,4495,4495,4495,1982-04-23,449.5000000000337,449.51822,2015-01-01 01:14:55,bin4495,75,False +CTSPillarNetworkA,4496,4496,4496,1982-04-24,449.60000000003373,449.61823,2015-01-01 01:14:56,bin4496,35,False +CTSPillarNetworkA,4497,4497,4497,1982-04-25,449.70000000003375,449.71823,2015-01-01 01:14:57,bin4497,75,False +CTSPillarNetworkA,4498,4498,4498,1982-04-26,449.8000000000338,449.81824,2015-01-01 01:14:58,bin4498,35,False +CTSPillarNetworkA,4499,4499,4499,1982-04-27,449.9000000000338,449.91824,2015-01-01 01:14:59,bin4499,75,False +CTSPillarNetworkA,4500,4500,4500,1982-04-28,450.0000000000338,450.01825,2015-01-01 01:15:00,bin4500,35,False +CTSPillarNetworkA,4501,4501,4501,1982-04-29,450.10000000003384,450.11826,2015-01-01 01:15:01,bin4501,75,False +CTSPillarNetworkA,4502,4502,4502,1982-04-30,450.20000000003387,450.21826,2015-01-01 01:15:02,bin4502,35,False +CTSPillarNetworkA,4503,4503,4503,1982-05-01,450.3000000000339,450.31827,2015-01-01 01:15:03,bin4503,75,False +CTSPillarNetworkA,4504,4504,4504,1982-05-02,450.4000000000339,450.41827,2015-01-01 01:15:04,bin4504,35,False +CTSPillarNetworkA,4505,4505,4505,1982-05-03,450.50000000003394,450.51828,2015-01-01 01:15:05,bin4505,75,False +CTSPillarNetworkA,4506,4506,4506,1982-05-04,450.60000000003396,450.6183,2015-01-01 01:15:06,bin4506,35,False +CTSPillarNetworkA,4507,4507,4507,1982-05-05,450.700000000034,450.7183,2015-01-01 01:15:07,bin4507,75,False +CTSPillarNetworkA,4508,4508,4508,1982-05-06,450.800000000034,450.8183,2015-01-01 01:15:08,bin4508,35,False +CTSPillarNetworkA,4509,4509,4509,1982-05-07,450.900000000034,450.9183,2015-01-01 01:15:09,bin4509,75,False +CTSPillarNetworkA,4510,4510,4510,1982-05-08,451.00000000003405,451.0183,2015-01-01 01:15:10,bin4510,35,False +CTSPillarNetworkA,4511,4511,4511,1982-05-09,451.1000000000341,451.11832,2015-01-01 01:15:11,bin4511,75,False +CTSPillarNetworkA,4512,4512,4512,1982-05-10,451.2000000000341,451.21832,2015-01-01 01:15:12,bin4512,35,False +CTSPillarNetworkA,4513,4513,4513,1982-05-11,451.3000000000341,451.31833,2015-01-01 01:15:13,bin4513,75,False +CTSPillarNetworkA,4514,4514,4514,1982-05-12,451.40000000003414,451.41833,2015-01-01 01:15:14,bin4514,35,False +CTSPillarNetworkA,4515,4515,4515,1982-05-13,451.50000000003416,451.51834,2015-01-01 01:15:15,bin4515,75,False +CTSPillarNetworkA,4516,4516,4516,1982-05-14,451.6000000000342,451.61835,2015-01-01 01:15:16,bin4516,35,False +CTSPillarNetworkA,4517,4517,4517,1982-05-15,451.7000000000342,451.71835,2015-01-01 01:15:17,bin4517,75,False +CTSPillarNetworkA,4518,4518,4518,1982-05-16,451.80000000003423,451.81836,2015-01-01 01:15:18,bin4518,35,False +CTSPillarNetworkA,4519,4519,4519,1982-05-17,451.90000000003425,451.91837,2015-01-01 01:15:19,bin4519,75,False +CTSPillarNetworkA,4520,4520,4520,1982-05-18,452.0000000000343,452.01837,2015-01-01 01:15:20,bin4520,35,False +CTSPillarNetworkA,4521,4521,4521,1982-05-19,452.1000000000343,452.11838,2015-01-01 01:15:21,bin4521,75,False +CTSPillarNetworkA,4522,4522,4522,1982-05-20,452.2000000000343,452.21838,2015-01-01 01:15:22,bin4522,35,False +CTSPillarNetworkA,4523,4523,4523,1982-05-21,452.30000000003434,452.3184,2015-01-01 01:15:23,bin4523,75,False +CTSPillarNetworkA,4524,4524,4524,1982-05-22,452.40000000003437,452.4184,2015-01-01 01:15:24,bin4524,35,False +CTSPillarNetworkA,4525,4525,4525,1982-05-23,452.5000000000344,452.5184,2015-01-01 01:15:25,bin4525,75,False +CTSPillarNetworkA,4526,4526,4526,1982-05-24,452.6000000000344,452.6184,2015-01-01 01:15:26,bin4526,35,False +CTSPillarNetworkA,4527,4527,4527,1982-05-25,452.70000000003444,452.7184,2015-01-01 01:15:27,bin4527,75,False +CTSPillarNetworkA,4528,4528,4528,1982-05-26,452.80000000003446,452.81842,2015-01-01 01:15:28,bin4528,35,False +CTSPillarNetworkA,4529,4529,4529,1982-05-27,452.9000000000345,452.91843,2015-01-01 01:15:29,bin4529,75,False +CTSPillarNetworkA,4530,4530,4530,1982-05-28,453.0000000000345,453.01843,2015-01-01 01:15:30,bin4530,35,False +CTSPillarNetworkA,4531,4531,4531,1982-05-29,453.1000000000345,453.11844,2015-01-01 01:15:31,bin4531,75,False +CTSPillarNetworkA,4532,4532,4532,1982-05-30,453.20000000003455,453.21844,2015-01-01 01:15:32,bin4532,35,False +CTSPillarNetworkA,4533,4533,4533,1982-05-31,453.3000000000346,453.31845,2015-01-01 01:15:33,bin4533,75,False +CTSPillarNetworkA,4534,4534,4534,1982-06-01,453.4000000000346,453.41846,2015-01-01 01:15:34,bin4534,35,False +CTSPillarNetworkA,4535,4535,4535,1982-06-02,453.5000000000346,453.51846,2015-01-01 01:15:35,bin4535,75,False +CTSPillarNetworkA,4536,4536,4536,1982-06-03,453.60000000003464,453.61847,2015-01-01 01:15:36,bin4536,35,False +CTSPillarNetworkA,4537,4537,4537,1982-06-04,453.70000000003466,453.71848,2015-01-01 01:15:37,bin4537,75,False +CTSPillarNetworkA,4538,4538,4538,1982-06-05,453.8000000000347,453.81848,2015-01-01 01:15:38,bin4538,35,False +CTSPillarNetworkA,4539,4539,4539,1982-06-06,453.9000000000347,453.9185,2015-01-01 01:15:39,bin4539,75,False +CTSPillarNetworkA,4540,4540,4540,1982-06-07,454.00000000003473,454.0185,2015-01-01 01:15:40,bin4540,35,False +CTSPillarNetworkA,4541,4541,4541,1982-06-08,454.10000000003475,454.1185,2015-01-01 01:15:41,bin4541,75,False +CTSPillarNetworkA,4542,4542,4542,1982-06-09,454.2000000000348,454.2185,2015-01-01 01:15:42,bin4542,35,False +CTSPillarNetworkA,4543,4543,4543,1982-06-10,454.3000000000348,454.3185,2015-01-01 01:15:43,bin4543,75,False +CTSPillarNetworkA,4544,4544,4544,1982-06-11,454.4000000000348,454.41852,2015-01-01 01:15:44,bin4544,35,False +CTSPillarNetworkA,4545,4545,4545,1982-06-12,454.50000000003485,454.51852,2015-01-01 01:15:45,bin4545,75,False +CTSPillarNetworkA,4546,4546,4546,1982-06-13,454.60000000003487,454.61853,2015-01-01 01:15:46,bin4546,35,False +CTSPillarNetworkA,4547,4547,4547,1982-06-14,454.7000000000349,454.71854,2015-01-01 01:15:47,bin4547,75,False +CTSPillarNetworkA,4548,4548,4548,1982-06-15,454.8000000000349,454.81854,2015-01-01 01:15:48,bin4548,35,False +CTSPillarNetworkA,4549,4549,4549,1982-06-16,454.90000000003494,454.91855,2015-01-01 01:15:49,bin4549,75,False +CTSPillarNetworkA,4550,4550,4550,1982-06-17,455.00000000003496,455.01855,2015-01-01 01:15:50,bin4550,35,False +CTSPillarNetworkA,4551,4551,4551,1982-06-18,455.100000000035,455.11856,2015-01-01 01:15:51,bin4551,75,False +CTSPillarNetworkA,4552,4552,4552,1982-06-19,455.200000000035,455.21857,2015-01-01 01:15:52,bin4552,35,False +CTSPillarNetworkA,4553,4553,4553,1982-06-20,455.300000000035,455.31857,2015-01-01 01:15:53,bin4553,75,False +CTSPillarNetworkA,4554,4554,4554,1982-06-21,455.40000000003505,455.41858,2015-01-01 01:15:54,bin4554,35,False +CTSPillarNetworkA,4555,4555,4555,1982-06-22,455.5000000000351,455.5186,2015-01-01 01:15:55,bin4555,75,False +CTSPillarNetworkA,4556,4556,4556,1982-06-23,455.6000000000351,455.6186,2015-01-01 01:15:56,bin4556,35,False +CTSPillarNetworkA,4557,4557,4557,1982-06-24,455.7000000000351,455.7186,2015-01-01 01:15:57,bin4557,75,False +CTSPillarNetworkA,4558,4558,4558,1982-06-25,455.80000000003514,455.8186,2015-01-01 01:15:58,bin4558,35,False +CTSPillarNetworkA,4559,4559,4559,1982-06-26,455.90000000003516,455.9186,2015-01-01 01:15:59,bin4559,75,False +CTSPillarNetworkA,4560,4560,4560,1982-06-27,456.0000000000352,456.01862,2015-01-01 01:16:00,bin4560,35,False +CTSPillarNetworkA,4561,4561,4561,1982-06-28,456.1000000000352,456.11862,2015-01-01 01:16:01,bin4561,75,False +CTSPillarNetworkA,4562,4562,4562,1982-06-29,456.20000000003523,456.21863,2015-01-01 01:16:02,bin4562,35,False +CTSPillarNetworkA,4563,4563,4563,1982-06-30,456.30000000003525,456.31863,2015-01-01 01:16:03,bin4563,75,False +CTSPillarNetworkA,4564,4564,4564,1982-07-01,456.4000000000353,456.41864,2015-01-01 01:16:04,bin4564,35,False +CTSPillarNetworkA,4565,4565,4565,1982-07-02,456.5000000000353,456.51865,2015-01-01 01:16:05,bin4565,75,False +CTSPillarNetworkA,4566,4566,4566,1982-07-03,456.6000000000353,456.61865,2015-01-01 01:16:06,bin4566,35,False +CTSPillarNetworkA,4567,4567,4567,1982-07-04,456.70000000003535,456.71866,2015-01-01 01:16:07,bin4567,75,False +CTSPillarNetworkA,4568,4568,4568,1982-07-05,456.80000000003537,456.81866,2015-01-01 01:16:08,bin4568,35,False +CTSPillarNetworkA,4569,4569,4569,1982-07-06,456.9000000000354,456.91867,2015-01-01 01:16:09,bin4569,75,False +CTSPillarNetworkA,4570,4570,4570,1982-07-07,457.0000000000354,457.01868,2015-01-01 01:16:10,bin4570,35,False +CTSPillarNetworkA,4571,4571,4571,1982-07-08,457.10000000003544,457.11868,2015-01-01 01:16:11,bin4571,75,False +CTSPillarNetworkA,4572,4572,4572,1982-07-09,457.20000000003546,457.2187,2015-01-01 01:16:12,bin4572,35,False +CTSPillarNetworkA,4573,4573,4573,1982-07-10,457.3000000000355,457.3187,2015-01-01 01:16:13,bin4573,75,False +CTSPillarNetworkA,4574,4574,4574,1982-07-11,457.4000000000355,457.4187,2015-01-01 01:16:14,bin4574,35,False +CTSPillarNetworkA,4575,4575,4575,1982-07-12,457.5000000000355,457.5187,2015-01-01 01:16:15,bin4575,75,False +CTSPillarNetworkA,4576,4576,4576,1982-07-13,457.60000000003555,457.6187,2015-01-01 01:16:16,bin4576,35,False +CTSPillarNetworkA,4577,4577,4577,1982-07-14,457.7000000000356,457.71872,2015-01-01 01:16:17,bin4577,75,False +CTSPillarNetworkA,4578,4578,4578,1982-07-15,457.8000000000356,457.81873,2015-01-01 01:16:18,bin4578,35,False +CTSPillarNetworkA,4579,4579,4579,1982-07-16,457.9000000000356,457.91873,2015-01-01 01:16:19,bin4579,75,False +CTSPillarNetworkA,4580,4580,4580,1982-07-17,458.00000000003564,458.01874,2015-01-01 01:16:20,bin4580,35,False +CTSPillarNetworkA,4581,4581,4581,1982-07-18,458.10000000003566,458.11874,2015-01-01 01:16:21,bin4581,75,False +CTSPillarNetworkA,4582,4582,4582,1982-07-19,458.2000000000357,458.21875,2015-01-01 01:16:22,bin4582,35,False +CTSPillarNetworkA,4583,4583,4583,1982-07-20,458.3000000000357,458.31876,2015-01-01 01:16:23,bin4583,75,False +CTSPillarNetworkA,4584,4584,4584,1982-07-21,458.40000000003573,458.41876,2015-01-01 01:16:24,bin4584,35,False +CTSPillarNetworkA,4585,4585,4585,1982-07-22,458.50000000003575,458.51877,2015-01-01 01:16:25,bin4585,75,False +CTSPillarNetworkA,4586,4586,4586,1982-07-23,458.6000000000358,458.61877,2015-01-01 01:16:26,bin4586,35,False +CTSPillarNetworkA,4587,4587,4587,1982-07-24,458.7000000000358,458.71878,2015-01-01 01:16:27,bin4587,75,False +CTSPillarNetworkA,4588,4588,4588,1982-07-25,458.8000000000358,458.8188,2015-01-01 01:16:28,bin4588,35,False +CTSPillarNetworkA,4589,4589,4589,1982-07-26,458.90000000003585,458.9188,2015-01-01 01:16:29,bin4589,75,False +CTSPillarNetworkA,4590,4590,4590,1982-07-27,459.00000000003587,459.0188,2015-01-01 01:16:30,bin4590,35,False +CTSPillarNetworkA,4591,4591,4591,1982-07-28,459.1000000000359,459.1188,2015-01-01 01:16:31,bin4591,75,False +CTSPillarNetworkA,4592,4592,4592,1982-07-29,459.2000000000359,459.2188,2015-01-01 01:16:32,bin4592,35,False +CTSPillarNetworkA,4593,4593,4593,1982-07-30,459.30000000003594,459.31882,2015-01-01 01:16:33,bin4593,75,False +CTSPillarNetworkA,4594,4594,4594,1982-07-31,459.40000000003596,459.41882,2015-01-01 01:16:34,bin4594,35,False +CTSPillarNetworkA,4595,4595,4595,1982-08-01,459.500000000036,459.51883,2015-01-01 01:16:35,bin4595,75,False +CTSPillarNetworkA,4596,4596,4596,1982-08-02,459.600000000036,459.61884,2015-01-01 01:16:36,bin4596,35,False +CTSPillarNetworkA,4597,4597,4597,1982-08-03,459.700000000036,459.71884,2015-01-01 01:16:37,bin4597,75,False +CTSPillarNetworkA,4598,4598,4598,1982-08-04,459.80000000003605,459.81885,2015-01-01 01:16:38,bin4598,35,False +CTSPillarNetworkA,4599,4599,4599,1982-08-05,459.9000000000361,459.91885,2015-01-01 01:16:39,bin4599,75,False +CTSPillarNetworkA,4600,4600,4600,1982-08-06,460.0000000000361,460.01886,2015-01-01 01:16:40,bin4600,35,False +CTSPillarNetworkA,4601,4601,4601,1982-08-07,460.1000000000361,460.11887,2015-01-01 01:16:41,bin4601,75,False +CTSPillarNetworkA,4602,4602,4602,1982-08-08,460.20000000003614,460.21887,2015-01-01 01:16:42,bin4602,35,False +CTSPillarNetworkA,4603,4603,4603,1982-08-09,460.30000000003616,460.31888,2015-01-01 01:16:43,bin4603,75,False +CTSPillarNetworkA,4604,4604,4604,1982-08-10,460.4000000000362,460.41888,2015-01-01 01:16:44,bin4604,35,False +CTSPillarNetworkA,4605,4605,4605,1982-08-11,460.5000000000362,460.5189,2015-01-01 01:16:45,bin4605,75,False +CTSPillarNetworkA,4606,4606,4606,1982-08-12,460.60000000003623,460.6189,2015-01-01 01:16:46,bin4606,35,False +CTSPillarNetworkA,4607,4607,4607,1982-08-13,460.70000000003625,460.7189,2015-01-01 01:16:47,bin4607,75,False +CTSPillarNetworkA,4608,4608,4608,1982-08-14,460.8000000000363,460.8189,2015-01-01 01:16:48,bin4608,35,False +CTSPillarNetworkA,4609,4609,4609,1982-08-15,460.9000000000363,460.9189,2015-01-01 01:16:49,bin4609,75,False +CTSPillarNetworkA,4610,4610,4610,1982-08-16,461.0000000000363,461.01892,2015-01-01 01:16:50,bin4610,35,False +CTSPillarNetworkA,4611,4611,4611,1982-08-17,461.10000000003635,461.11893,2015-01-01 01:16:51,bin4611,75,False +CTSPillarNetworkA,4612,4612,4612,1982-08-18,461.20000000003637,461.21893,2015-01-01 01:16:52,bin4612,35,False +CTSPillarNetworkA,4613,4613,4613,1982-08-19,461.3000000000364,461.31894,2015-01-01 01:16:53,bin4613,75,False +CTSPillarNetworkA,4614,4614,4614,1982-08-20,461.4000000000364,461.41895,2015-01-01 01:16:54,bin4614,35,False +CTSPillarNetworkA,4615,4615,4615,1982-08-21,461.50000000003644,461.51895,2015-01-01 01:16:55,bin4615,75,False +CTSPillarNetworkA,4616,4616,4616,1982-08-22,461.60000000003646,461.61896,2015-01-01 01:16:56,bin4616,35,False +CTSPillarNetworkA,4617,4617,4617,1982-08-23,461.7000000000365,461.71896,2015-01-01 01:16:57,bin4617,75,False +CTSPillarNetworkA,4618,4618,4618,1982-08-24,461.8000000000365,461.81897,2015-01-01 01:16:58,bin4618,35,False +CTSPillarNetworkA,4619,4619,4619,1982-08-25,461.9000000000365,461.91898,2015-01-01 01:16:59,bin4619,75,False +CTSPillarNetworkA,4620,4620,4620,1982-08-26,462.00000000003655,462.01898,2015-01-01 01:17:00,bin4620,35,False +CTSPillarNetworkA,4621,4621,4621,1982-08-27,462.1000000000366,462.119,2015-01-01 01:17:01,bin4621,75,False +CTSPillarNetworkA,4622,4622,4622,1982-08-28,462.2000000000366,462.219,2015-01-01 01:17:02,bin4622,35,False +CTSPillarNetworkA,4623,4623,4623,1982-08-29,462.3000000000366,462.319,2015-01-01 01:17:03,bin4623,75,False +CTSPillarNetworkA,4624,4624,4624,1982-08-30,462.40000000003664,462.419,2015-01-01 01:17:04,bin4624,35,False +CTSPillarNetworkA,4625,4625,4625,1982-08-31,462.50000000003666,462.519,2015-01-01 01:17:05,bin4625,75,False +CTSPillarNetworkA,4626,4626,4626,1982-09-01,462.6000000000367,462.61902,2015-01-01 01:17:06,bin4626,35,False +CTSPillarNetworkA,4627,4627,4627,1982-09-02,462.7000000000367,462.71902,2015-01-01 01:17:07,bin4627,75,False +CTSPillarNetworkA,4628,4628,4628,1982-09-03,462.80000000003673,462.81903,2015-01-01 01:17:08,bin4628,35,False +CTSPillarNetworkA,4629,4629,4629,1982-09-04,462.90000000003675,462.91904,2015-01-01 01:17:09,bin4629,75,False +CTSPillarNetworkA,4630,4630,4630,1982-09-05,463.0000000000368,463.01904,2015-01-01 01:17:10,bin4630,35,False +CTSPillarNetworkA,4631,4631,4631,1982-09-06,463.1000000000368,463.11905,2015-01-01 01:17:11,bin4631,75,False +CTSPillarNetworkA,4632,4632,4632,1982-09-07,463.2000000000368,463.21906,2015-01-01 01:17:12,bin4632,35,False +CTSPillarNetworkA,4633,4633,4633,1982-09-08,463.30000000003685,463.31906,2015-01-01 01:17:13,bin4633,75,False +CTSPillarNetworkA,4634,4634,4634,1982-09-09,463.40000000003687,463.41907,2015-01-01 01:17:14,bin4634,35,False +CTSPillarNetworkA,4635,4635,4635,1982-09-10,463.5000000000369,463.51907,2015-01-01 01:17:15,bin4635,75,False +CTSPillarNetworkA,4636,4636,4636,1982-09-11,463.6000000000369,463.61908,2015-01-01 01:17:16,bin4636,35,False +CTSPillarNetworkA,4637,4637,4637,1982-09-12,463.70000000003694,463.7191,2015-01-01 01:17:17,bin4637,75,False +CTSPillarNetworkA,4638,4638,4638,1982-09-13,463.80000000003696,463.8191,2015-01-01 01:17:18,bin4638,35,False +CTSPillarNetworkA,4639,4639,4639,1982-09-14,463.900000000037,463.9191,2015-01-01 01:17:19,bin4639,75,False +CTSPillarNetworkA,4640,4640,4640,1982-09-15,464.000000000037,464.0191,2015-01-01 01:17:20,bin4640,35,False +CTSPillarNetworkA,4641,4641,4641,1982-09-16,464.100000000037,464.1191,2015-01-01 01:17:21,bin4641,75,False +CTSPillarNetworkA,4642,4642,4642,1982-09-17,464.20000000003705,464.21912,2015-01-01 01:17:22,bin4642,35,False +CTSPillarNetworkA,4643,4643,4643,1982-09-18,464.3000000000371,464.31912,2015-01-01 01:17:23,bin4643,75,False +CTSPillarNetworkA,4644,4644,4644,1982-09-19,464.4000000000371,464.41913,2015-01-01 01:17:24,bin4644,35,False +CTSPillarNetworkA,4645,4645,4645,1982-09-20,464.5000000000371,464.51913,2015-01-01 01:17:25,bin4645,75,False +CTSPillarNetworkA,4646,4646,4646,1982-09-21,464.60000000003714,464.61914,2015-01-01 01:17:26,bin4646,35,False +CTSPillarNetworkA,4647,4647,4647,1982-09-22,464.70000000003716,464.71915,2015-01-01 01:17:27,bin4647,75,False +CTSPillarNetworkA,4648,4648,4648,1982-09-23,464.8000000000372,464.81915,2015-01-01 01:17:28,bin4648,35,False +CTSPillarNetworkA,4649,4649,4649,1982-09-24,464.9000000000372,464.91916,2015-01-01 01:17:29,bin4649,75,False +CTSPillarNetworkA,4650,4650,4650,1982-09-25,465.00000000003723,465.01917,2015-01-01 01:17:30,bin4650,35,False +CTSPillarNetworkA,4651,4651,4651,1982-09-26,465.10000000003726,465.11917,2015-01-01 01:17:31,bin4651,75,False +CTSPillarNetworkA,4652,4652,4652,1982-09-27,465.2000000000373,465.21918,2015-01-01 01:17:32,bin4652,35,False +CTSPillarNetworkA,4653,4653,4653,1982-09-28,465.3000000000373,465.31918,2015-01-01 01:17:33,bin4653,75,False +CTSPillarNetworkA,4654,4654,4654,1982-09-29,465.4000000000373,465.4192,2015-01-01 01:17:34,bin4654,35,False +CTSPillarNetworkA,4655,4655,4655,1982-09-30,465.50000000003735,465.5192,2015-01-01 01:17:35,bin4655,75,False +CTSPillarNetworkA,4656,4656,4656,1982-10-01,465.60000000003737,465.6192,2015-01-01 01:17:36,bin4656,35,False +CTSPillarNetworkA,4657,4657,4657,1982-10-02,465.7000000000374,465.7192,2015-01-01 01:17:37,bin4657,75,False +CTSPillarNetworkA,4658,4658,4658,1982-10-03,465.8000000000374,465.8192,2015-01-01 01:17:38,bin4658,35,False +CTSPillarNetworkA,4659,4659,4659,1982-10-04,465.90000000003744,465.91922,2015-01-01 01:17:39,bin4659,75,False +CTSPillarNetworkA,4660,4660,4660,1982-10-05,466.00000000003746,466.01923,2015-01-01 01:17:40,bin4660,35,False +CTSPillarNetworkA,4661,4661,4661,1982-10-06,466.1000000000375,466.11923,2015-01-01 01:17:41,bin4661,75,False +CTSPillarNetworkA,4662,4662,4662,1982-10-07,466.2000000000375,466.21924,2015-01-01 01:17:42,bin4662,35,False +CTSPillarNetworkA,4663,4663,4663,1982-10-08,466.3000000000375,466.31924,2015-01-01 01:17:43,bin4663,75,False +CTSPillarNetworkA,4664,4664,4664,1982-10-09,466.40000000003755,466.41925,2015-01-01 01:17:44,bin4664,35,False +CTSPillarNetworkA,4665,4665,4665,1982-10-10,466.5000000000376,466.51926,2015-01-01 01:17:45,bin4665,75,False +CTSPillarNetworkA,4666,4666,4666,1982-10-11,466.6000000000376,466.61926,2015-01-01 01:17:46,bin4666,35,False +CTSPillarNetworkA,4667,4667,4667,1982-10-12,466.7000000000376,466.71927,2015-01-01 01:17:47,bin4667,75,False +CTSPillarNetworkA,4668,4668,4668,1982-10-13,466.80000000003764,466.81927,2015-01-01 01:17:48,bin4668,35,False +CTSPillarNetworkA,4669,4669,4669,1982-10-14,466.90000000003766,466.91928,2015-01-01 01:17:49,bin4669,75,False +CTSPillarNetworkA,4670,4670,4670,1982-10-15,467.0000000000377,467.0193,2015-01-01 01:17:50,bin4670,35,False +CTSPillarNetworkA,4671,4671,4671,1982-10-16,467.1000000000377,467.1193,2015-01-01 01:17:51,bin4671,75,False +CTSPillarNetworkA,4672,4672,4672,1982-10-17,467.20000000003773,467.2193,2015-01-01 01:17:52,bin4672,35,False +CTSPillarNetworkA,4673,4673,4673,1982-10-18,467.30000000003776,467.3193,2015-01-01 01:17:53,bin4673,75,False +CTSPillarNetworkA,4674,4674,4674,1982-10-19,467.4000000000378,467.4193,2015-01-01 01:17:54,bin4674,35,False +CTSPillarNetworkA,4675,4675,4675,1982-10-20,467.5000000000378,467.51932,2015-01-01 01:17:55,bin4675,75,False +CTSPillarNetworkA,4676,4676,4676,1982-10-21,467.6000000000378,467.61932,2015-01-01 01:17:56,bin4676,35,False +CTSPillarNetworkA,4677,4677,4677,1982-10-22,467.70000000003785,467.71933,2015-01-01 01:17:57,bin4677,75,False +CTSPillarNetworkA,4678,4678,4678,1982-10-23,467.80000000003787,467.81934,2015-01-01 01:17:58,bin4678,35,False +CTSPillarNetworkA,4679,4679,4679,1982-10-24,467.9000000000379,467.91934,2015-01-01 01:17:59,bin4679,75,False +CTSPillarNetworkA,4680,4680,4680,1982-10-25,468.0000000000379,468.01935,2015-01-01 01:18:00,bin4680,35,False +CTSPillarNetworkA,4681,4681,4681,1982-10-26,468.10000000003794,468.11935,2015-01-01 01:18:01,bin4681,75,False +CTSPillarNetworkA,4682,4682,4682,1982-10-27,468.20000000003796,468.21936,2015-01-01 01:18:02,bin4682,35,False +CTSPillarNetworkA,4683,4683,4683,1982-10-28,468.300000000038,468.31937,2015-01-01 01:18:03,bin4683,75,False +CTSPillarNetworkA,4684,4684,4684,1982-10-29,468.400000000038,468.41937,2015-01-01 01:18:04,bin4684,35,False +CTSPillarNetworkA,4685,4685,4685,1982-10-30,468.500000000038,468.51938,2015-01-01 01:18:05,bin4685,75,False +CTSPillarNetworkA,4686,4686,4686,1982-10-31,468.60000000003805,468.6194,2015-01-01 01:18:06,bin4686,35,False +CTSPillarNetworkA,4687,4687,4687,1982-11-01,468.7000000000381,468.7194,2015-01-01 01:18:07,bin4687,75,False +CTSPillarNetworkA,4688,4688,4688,1982-11-02,468.8000000000381,468.8194,2015-01-01 01:18:08,bin4688,35,False +CTSPillarNetworkA,4689,4689,4689,1982-11-03,468.9000000000381,468.9194,2015-01-01 01:18:09,bin4689,75,False +CTSPillarNetworkA,4690,4690,4690,1982-11-04,469.00000000003814,469.0194,2015-01-01 01:18:10,bin4690,35,False +CTSPillarNetworkA,4691,4691,4691,1982-11-05,469.10000000003816,469.11942,2015-01-01 01:18:11,bin4691,75,False +CTSPillarNetworkA,4692,4692,4692,1982-11-06,469.2000000000382,469.21942,2015-01-01 01:18:12,bin4692,35,False +CTSPillarNetworkA,4693,4693,4693,1982-11-07,469.3000000000382,469.31943,2015-01-01 01:18:13,bin4693,75,False +CTSPillarNetworkA,4694,4694,4694,1982-11-08,469.40000000003823,469.41943,2015-01-01 01:18:14,bin4694,35,False +CTSPillarNetworkA,4695,4695,4695,1982-11-09,469.50000000003826,469.51944,2015-01-01 01:18:15,bin4695,75,False +CTSPillarNetworkA,4696,4696,4696,1982-11-10,469.6000000000383,469.61945,2015-01-01 01:18:16,bin4696,35,False +CTSPillarNetworkA,4697,4697,4697,1982-11-11,469.7000000000383,469.71945,2015-01-01 01:18:17,bin4697,75,False +CTSPillarNetworkA,4698,4698,4698,1982-11-12,469.8000000000383,469.81946,2015-01-01 01:18:18,bin4698,35,False +CTSPillarNetworkA,4699,4699,4699,1982-11-13,469.90000000003835,469.91946,2015-01-01 01:18:19,bin4699,75,False +CTSPillarNetworkA,4700,4700,4700,1982-11-14,470.00000000003837,470.01947,2015-01-01 01:18:20,bin4700,35,False +CTSPillarNetworkA,4701,4701,4701,1982-11-15,470.1000000000384,470.11948,2015-01-01 01:18:21,bin4701,75,False +CTSPillarNetworkA,4702,4702,4702,1982-11-16,470.2000000000384,470.21948,2015-01-01 01:18:22,bin4702,35,False +CTSPillarNetworkA,4703,4703,4703,1982-11-17,470.30000000003844,470.3195,2015-01-01 01:18:23,bin4703,75,False +CTSPillarNetworkA,4704,4704,4704,1982-11-18,470.40000000003846,470.4195,2015-01-01 01:18:24,bin4704,35,False +CTSPillarNetworkA,4705,4705,4705,1982-11-19,470.5000000000385,470.5195,2015-01-01 01:18:25,bin4705,75,False +CTSPillarNetworkA,4706,4706,4706,1982-11-20,470.6000000000385,470.6195,2015-01-01 01:18:26,bin4706,35,False +CTSPillarNetworkA,4707,4707,4707,1982-11-21,470.70000000003853,470.7195,2015-01-01 01:18:27,bin4707,75,False +CTSPillarNetworkA,4708,4708,4708,1982-11-22,470.80000000003855,470.81952,2015-01-01 01:18:28,bin4708,35,False +CTSPillarNetworkA,4709,4709,4709,1982-11-23,470.9000000000386,470.91953,2015-01-01 01:18:29,bin4709,75,False +CTSPillarNetworkA,4710,4710,4710,1982-11-24,471.0000000000386,471.01953,2015-01-01 01:18:30,bin4710,35,False +CTSPillarNetworkA,4711,4711,4711,1982-11-25,471.1000000000386,471.11954,2015-01-01 01:18:31,bin4711,75,False +CTSPillarNetworkA,4712,4712,4712,1982-11-26,471.20000000003864,471.21954,2015-01-01 01:18:32,bin4712,35,False +CTSPillarNetworkA,4713,4713,4713,1982-11-27,471.30000000003866,471.31955,2015-01-01 01:18:33,bin4713,75,False +CTSPillarNetworkA,4714,4714,4714,1982-11-28,471.4000000000387,471.41956,2015-01-01 01:18:34,bin4714,35,False +CTSPillarNetworkA,4715,4715,4715,1982-11-29,471.5000000000387,471.51956,2015-01-01 01:18:35,bin4715,75,False +CTSPillarNetworkA,4716,4716,4716,1982-11-30,471.60000000003873,471.61957,2015-01-01 01:18:36,bin4716,35,False +CTSPillarNetworkA,4717,4717,4717,1982-12-01,471.70000000003876,471.71957,2015-01-01 01:18:37,bin4717,75,False +CTSPillarNetworkA,4718,4718,4718,1982-12-02,471.8000000000388,471.81958,2015-01-01 01:18:38,bin4718,35,False +CTSPillarNetworkA,4719,4719,4719,1982-12-03,471.9000000000388,471.9196,2015-01-01 01:18:39,bin4719,75,False +CTSPillarNetworkA,4720,4720,4720,1982-12-04,472.0000000000388,472.0196,2015-01-01 01:18:40,bin4720,35,False +CTSPillarNetworkA,4721,4721,4721,1982-12-05,472.10000000003885,472.1196,2015-01-01 01:18:41,bin4721,75,False +CTSPillarNetworkA,4722,4722,4722,1982-12-06,472.20000000003887,472.2196,2015-01-01 01:18:42,bin4722,35,False +CTSPillarNetworkA,4723,4723,4723,1982-12-07,472.3000000000389,472.3196,2015-01-01 01:18:43,bin4723,75,False +CTSPillarNetworkA,4724,4724,4724,1982-12-08,472.4000000000389,472.41962,2015-01-01 01:18:44,bin4724,35,False +CTSPillarNetworkA,4725,4725,4725,1982-12-09,472.50000000003894,472.51962,2015-01-01 01:18:45,bin4725,75,False +CTSPillarNetworkA,4726,4726,4726,1982-12-10,472.60000000003896,472.61963,2015-01-01 01:18:46,bin4726,35,False +CTSPillarNetworkA,4727,4727,4727,1982-12-11,472.700000000039,472.71964,2015-01-01 01:18:47,bin4727,75,False +CTSPillarNetworkA,4728,4728,4728,1982-12-12,472.800000000039,472.81964,2015-01-01 01:18:48,bin4728,35,False +CTSPillarNetworkA,4729,4729,4729,1982-12-13,472.90000000003903,472.91965,2015-01-01 01:18:49,bin4729,75,False +CTSPillarNetworkA,4730,4730,4730,1982-12-14,473.00000000003905,473.01965,2015-01-01 01:18:50,bin4730,35,False +CTSPillarNetworkA,4731,4731,4731,1982-12-15,473.1000000000391,473.11966,2015-01-01 01:18:51,bin4731,75,False +CTSPillarNetworkA,4732,4732,4732,1982-12-16,473.2000000000391,473.21967,2015-01-01 01:18:52,bin4732,35,False +CTSPillarNetworkA,4733,4733,4733,1982-12-17,473.3000000000391,473.31967,2015-01-01 01:18:53,bin4733,75,False +CTSPillarNetworkA,4734,4734,4734,1982-12-18,473.40000000003914,473.41968,2015-01-01 01:18:54,bin4734,35,False +CTSPillarNetworkA,4735,4735,4735,1982-12-19,473.50000000003917,473.51968,2015-01-01 01:18:55,bin4735,75,False +CTSPillarNetworkA,4736,4736,4736,1982-12-20,473.6000000000392,473.6197,2015-01-01 01:18:56,bin4736,35,False +CTSPillarNetworkA,4737,4737,4737,1982-12-21,473.7000000000392,473.7197,2015-01-01 01:18:57,bin4737,75,False +CTSPillarNetworkA,4738,4738,4738,1982-12-22,473.80000000003923,473.8197,2015-01-01 01:18:58,bin4738,35,False +CTSPillarNetworkA,4739,4739,4739,1982-12-23,473.90000000003926,473.9197,2015-01-01 01:18:59,bin4739,75,False +CTSPillarNetworkA,4740,4740,4740,1982-12-24,474.0000000000393,474.0197,2015-01-01 01:19:00,bin4740,35,False +CTSPillarNetworkA,4741,4741,4741,1982-12-25,474.1000000000393,474.11972,2015-01-01 01:19:01,bin4741,75,False +CTSPillarNetworkA,4742,4742,4742,1982-12-26,474.2000000000393,474.21973,2015-01-01 01:19:02,bin4742,35,False +CTSPillarNetworkA,4743,4743,4743,1982-12-27,474.30000000003935,474.31973,2015-01-01 01:19:03,bin4743,75,False +CTSPillarNetworkA,4744,4744,4744,1982-12-28,474.40000000003937,474.41974,2015-01-01 01:19:04,bin4744,35,False +CTSPillarNetworkA,4745,4745,4745,1982-12-29,474.5000000000394,474.51974,2015-01-01 01:19:05,bin4745,75,False +CTSPillarNetworkA,4746,4746,4746,1982-12-30,474.6000000000394,474.61975,2015-01-01 01:19:06,bin4746,35,False +CTSPillarNetworkA,4747,4747,4747,1982-12-31,474.70000000003944,474.71976,2015-01-01 01:19:07,bin4747,75,False +CTSPillarNetworkA,4748,4748,4748,1983-01-01,474.80000000003946,474.81976,2015-01-01 01:19:08,bin4748,35,False +CTSPillarNetworkA,4749,4749,4749,1983-01-02,474.9000000000395,474.91977,2015-01-01 01:19:09,bin4749,75,False +CTSPillarNetworkA,4750,4750,4750,1983-01-03,475.0000000000395,475.01978,2015-01-01 01:19:10,bin4750,35,False +CTSPillarNetworkA,4751,4751,4751,1983-01-04,475.10000000003953,475.11978,2015-01-01 01:19:11,bin4751,75,False +CTSPillarNetworkA,4752,4752,4752,1983-01-05,475.20000000003955,475.2198,2015-01-01 01:19:12,bin4752,35,False +CTSPillarNetworkA,4753,4753,4753,1983-01-06,475.3000000000396,475.3198,2015-01-01 01:19:13,bin4753,75,False +CTSPillarNetworkA,4754,4754,4754,1983-01-07,475.4000000000396,475.4198,2015-01-01 01:19:14,bin4754,35,False +CTSPillarNetworkA,4755,4755,4755,1983-01-08,475.5000000000396,475.5198,2015-01-01 01:19:15,bin4755,75,False +CTSPillarNetworkA,4756,4756,4756,1983-01-09,475.60000000003964,475.6198,2015-01-01 01:19:16,bin4756,35,False +CTSPillarNetworkA,4757,4757,4757,1983-01-10,475.70000000003967,475.71982,2015-01-01 01:19:17,bin4757,75,False +CTSPillarNetworkA,4758,4758,4758,1983-01-11,475.8000000000397,475.81982,2015-01-01 01:19:18,bin4758,35,False +CTSPillarNetworkA,4759,4759,4759,1983-01-12,475.9000000000397,475.91983,2015-01-01 01:19:19,bin4759,75,False +CTSPillarNetworkA,4760,4760,4760,1983-01-13,476.00000000003973,476.01984,2015-01-01 01:19:20,bin4760,35,False +CTSPillarNetworkA,4761,4761,4761,1983-01-14,476.10000000003976,476.11984,2015-01-01 01:19:21,bin4761,75,False +CTSPillarNetworkA,4762,4762,4762,1983-01-15,476.2000000000398,476.21985,2015-01-01 01:19:22,bin4762,35,False +CTSPillarNetworkA,4763,4763,4763,1983-01-16,476.3000000000398,476.31985,2015-01-01 01:19:23,bin4763,75,False +CTSPillarNetworkA,4764,4764,4764,1983-01-17,476.4000000000398,476.41986,2015-01-01 01:19:24,bin4764,35,False +CTSPillarNetworkA,4765,4765,4765,1983-01-18,476.50000000003985,476.51987,2015-01-01 01:19:25,bin4765,75,False +CTSPillarNetworkA,4766,4766,4766,1983-01-19,476.60000000003987,476.61987,2015-01-01 01:19:26,bin4766,35,False +CTSPillarNetworkA,4767,4767,4767,1983-01-20,476.7000000000399,476.71988,2015-01-01 01:19:27,bin4767,75,False +CTSPillarNetworkA,4768,4768,4768,1983-01-21,476.8000000000399,476.8199,2015-01-01 01:19:28,bin4768,35,False +CTSPillarNetworkA,4769,4769,4769,1983-01-22,476.90000000003994,476.9199,2015-01-01 01:19:29,bin4769,75,False +CTSPillarNetworkA,4770,4770,4770,1983-01-23,477.00000000003996,477.0199,2015-01-01 01:19:30,bin4770,35,False +CTSPillarNetworkA,4771,4771,4771,1983-01-24,477.10000000004,477.1199,2015-01-01 01:19:31,bin4771,75,False +CTSPillarNetworkA,4772,4772,4772,1983-01-25,477.20000000004,477.2199,2015-01-01 01:19:32,bin4772,35,False +CTSPillarNetworkA,4773,4773,4773,1983-01-26,477.30000000004003,477.31992,2015-01-01 01:19:33,bin4773,75,False +CTSPillarNetworkA,4774,4774,4774,1983-01-27,477.40000000004005,477.41992,2015-01-01 01:19:34,bin4774,35,False +CTSPillarNetworkA,4775,4775,4775,1983-01-28,477.5000000000401,477.51993,2015-01-01 01:19:35,bin4775,75,False +CTSPillarNetworkA,4776,4776,4776,1983-01-29,477.6000000000401,477.61993,2015-01-01 01:19:36,bin4776,35,False +CTSPillarNetworkA,4777,4777,4777,1983-01-30,477.7000000000401,477.71994,2015-01-01 01:19:37,bin4777,75,False +CTSPillarNetworkA,4778,4778,4778,1983-01-31,477.80000000004014,477.81995,2015-01-01 01:19:38,bin4778,35,False +CTSPillarNetworkA,4779,4779,4779,1983-02-01,477.90000000004017,477.91995,2015-01-01 01:19:39,bin4779,75,False +CTSPillarNetworkA,4780,4780,4780,1983-02-02,478.0000000000402,478.01996,2015-01-01 01:19:40,bin4780,35,False +CTSPillarNetworkA,4781,4781,4781,1983-02-03,478.1000000000402,478.11996,2015-01-01 01:19:41,bin4781,75,False +CTSPillarNetworkA,4782,4782,4782,1983-02-04,478.20000000004023,478.21997,2015-01-01 01:19:42,bin4782,35,False +CTSPillarNetworkA,4783,4783,4783,1983-02-05,478.30000000004026,478.31998,2015-01-01 01:19:43,bin4783,75,False +CTSPillarNetworkA,4784,4784,4784,1983-02-06,478.4000000000403,478.41998,2015-01-01 01:19:44,bin4784,35,False +CTSPillarNetworkA,4785,4785,4785,1983-02-07,478.5000000000403,478.52,2015-01-01 01:19:45,bin4785,75,False +CTSPillarNetworkA,4786,4786,4786,1983-02-08,478.6000000000403,478.62,2015-01-01 01:19:46,bin4786,35,False +CTSPillarNetworkA,4787,4787,4787,1983-02-09,478.70000000004035,478.72,2015-01-01 01:19:47,bin4787,75,False +CTSPillarNetworkA,4788,4788,4788,1983-02-10,478.80000000004037,478.82,2015-01-01 01:19:48,bin4788,35,False +CTSPillarNetworkA,4789,4789,4789,1983-02-11,478.9000000000404,478.92,2015-01-01 01:19:49,bin4789,75,False +CTSPillarNetworkA,4790,4790,4790,1983-02-12,479.0000000000404,479.02002,2015-01-01 01:19:50,bin4790,35,False +CTSPillarNetworkA,4791,4791,4791,1983-02-13,479.10000000004044,479.12003,2015-01-01 01:19:51,bin4791,75,False +CTSPillarNetworkA,4792,4792,4792,1983-02-14,479.20000000004046,479.22003,2015-01-01 01:19:52,bin4792,35,False +CTSPillarNetworkA,4793,4793,4793,1983-02-15,479.3000000000405,479.32004,2015-01-01 01:19:53,bin4793,75,False +CTSPillarNetworkA,4794,4794,4794,1983-02-16,479.4000000000405,479.42004,2015-01-01 01:19:54,bin4794,35,False +CTSPillarNetworkA,4795,4795,4795,1983-02-17,479.50000000004053,479.52005,2015-01-01 01:19:55,bin4795,75,False +CTSPillarNetworkA,4796,4796,4796,1983-02-18,479.60000000004055,479.62006,2015-01-01 01:19:56,bin4796,35,False +CTSPillarNetworkA,4797,4797,4797,1983-02-19,479.7000000000406,479.72006,2015-01-01 01:19:57,bin4797,75,False +CTSPillarNetworkA,4798,4798,4798,1983-02-20,479.8000000000406,479.82007,2015-01-01 01:19:58,bin4798,35,False +CTSPillarNetworkA,4799,4799,4799,1983-02-21,479.9000000000406,479.92007,2015-01-01 01:19:59,bin4799,75,False +CTSPillarNetworkA,4800,4800,4800,1983-02-22,480.00000000004064,480.02008,2015-01-01 01:20:00,bin4800,35,False +CTSPillarNetworkA,4801,4801,4801,1983-02-23,480.10000000004067,480.1201,2015-01-01 01:20:01,bin4801,75,False +CTSPillarNetworkA,4802,4802,4802,1983-02-24,480.2000000000407,480.2201,2015-01-01 01:20:02,bin4802,35,False +CTSPillarNetworkA,4803,4803,4803,1983-02-25,480.3000000000407,480.3201,2015-01-01 01:20:03,bin4803,75,False +CTSPillarNetworkA,4804,4804,4804,1983-02-26,480.40000000004073,480.4201,2015-01-01 01:20:04,bin4804,35,False +CTSPillarNetworkA,4805,4805,4805,1983-02-27,480.50000000004076,480.5201,2015-01-01 01:20:05,bin4805,75,False +CTSPillarNetworkA,4806,4806,4806,1983-02-28,480.6000000000408,480.62012,2015-01-01 01:20:06,bin4806,35,False +CTSPillarNetworkA,4807,4807,4807,1983-03-01,480.7000000000408,480.72012,2015-01-01 01:20:07,bin4807,75,False +CTSPillarNetworkA,4808,4808,4808,1983-03-02,480.8000000000408,480.82013,2015-01-01 01:20:08,bin4808,35,False +CTSPillarNetworkA,4809,4809,4809,1983-03-03,480.90000000004085,480.92014,2015-01-01 01:20:09,bin4809,75,False +CTSPillarNetworkA,4810,4810,4810,1983-03-04,481.00000000004087,481.02014,2015-01-01 01:20:10,bin4810,35,False +CTSPillarNetworkA,4811,4811,4811,1983-03-05,481.1000000000409,481.12015,2015-01-01 01:20:11,bin4811,75,False +CTSPillarNetworkA,4812,4812,4812,1983-03-06,481.2000000000409,481.22015,2015-01-01 01:20:12,bin4812,35,False +CTSPillarNetworkA,4813,4813,4813,1983-03-07,481.30000000004094,481.32016,2015-01-01 01:20:13,bin4813,75,False +CTSPillarNetworkA,4814,4814,4814,1983-03-08,481.40000000004096,481.42017,2015-01-01 01:20:14,bin4814,35,False +CTSPillarNetworkA,4815,4815,4815,1983-03-09,481.500000000041,481.52017,2015-01-01 01:20:15,bin4815,75,False +CTSPillarNetworkA,4816,4816,4816,1983-03-10,481.600000000041,481.62018,2015-01-01 01:20:16,bin4816,35,False +CTSPillarNetworkA,4817,4817,4817,1983-03-11,481.70000000004103,481.72018,2015-01-01 01:20:17,bin4817,75,False +CTSPillarNetworkA,4818,4818,4818,1983-03-12,481.80000000004105,481.8202,2015-01-01 01:20:18,bin4818,35,False +CTSPillarNetworkA,4819,4819,4819,1983-03-13,481.9000000000411,481.9202,2015-01-01 01:20:19,bin4819,75,False +CTSPillarNetworkA,4820,4820,4820,1983-03-14,482.0000000000411,482.0202,2015-01-01 01:20:20,bin4820,35,False +CTSPillarNetworkA,4821,4821,4821,1983-03-15,482.1000000000411,482.1202,2015-01-01 01:20:21,bin4821,75,False +CTSPillarNetworkA,4822,4822,4822,1983-03-16,482.20000000004114,482.2202,2015-01-01 01:20:22,bin4822,35,False +CTSPillarNetworkA,4823,4823,4823,1983-03-17,482.30000000004117,482.32022,2015-01-01 01:20:23,bin4823,75,False +CTSPillarNetworkA,4824,4824,4824,1983-03-18,482.4000000000412,482.42023,2015-01-01 01:20:24,bin4824,35,False +CTSPillarNetworkA,4825,4825,4825,1983-03-19,482.5000000000412,482.52023,2015-01-01 01:20:25,bin4825,75,False +CTSPillarNetworkA,4826,4826,4826,1983-03-20,482.60000000004123,482.62024,2015-01-01 01:20:26,bin4826,35,False +CTSPillarNetworkA,4827,4827,4827,1983-03-21,482.70000000004126,482.72025,2015-01-01 01:20:27,bin4827,75,False +CTSPillarNetworkA,4828,4828,4828,1983-03-22,482.8000000000413,482.82025,2015-01-01 01:20:28,bin4828,35,False +CTSPillarNetworkA,4829,4829,4829,1983-03-23,482.9000000000413,482.92026,2015-01-01 01:20:29,bin4829,75,False +CTSPillarNetworkA,4830,4830,4830,1983-03-24,483.0000000000413,483.02026,2015-01-01 01:20:30,bin4830,35,False +CTSPillarNetworkA,4831,4831,4831,1983-03-25,483.10000000004135,483.12027,2015-01-01 01:20:31,bin4831,75,False +CTSPillarNetworkA,4832,4832,4832,1983-03-26,483.20000000004137,483.22028,2015-01-01 01:20:32,bin4832,35,False +CTSPillarNetworkA,4833,4833,4833,1983-03-27,483.3000000000414,483.32028,2015-01-01 01:20:33,bin4833,75,False +CTSPillarNetworkA,4834,4834,4834,1983-03-28,483.4000000000414,483.4203,2015-01-01 01:20:34,bin4834,35,False +CTSPillarNetworkA,4835,4835,4835,1983-03-29,483.50000000004144,483.5203,2015-01-01 01:20:35,bin4835,75,False +CTSPillarNetworkA,4836,4836,4836,1983-03-30,483.60000000004146,483.6203,2015-01-01 01:20:36,bin4836,35,False +CTSPillarNetworkA,4837,4837,4837,1983-03-31,483.7000000000415,483.7203,2015-01-01 01:20:37,bin4837,75,False +CTSPillarNetworkA,4838,4838,4838,1983-04-01,483.8000000000415,483.8203,2015-01-01 01:20:38,bin4838,35,False +CTSPillarNetworkA,4839,4839,4839,1983-04-02,483.90000000004153,483.92032,2015-01-01 01:20:39,bin4839,75,False +CTSPillarNetworkA,4840,4840,4840,1983-04-03,484.00000000004155,484.02032,2015-01-01 01:20:40,bin4840,35,False +CTSPillarNetworkA,4841,4841,4841,1983-04-04,484.1000000000416,484.12033,2015-01-01 01:20:41,bin4841,75,False +CTSPillarNetworkA,4842,4842,4842,1983-04-05,484.2000000000416,484.22034,2015-01-01 01:20:42,bin4842,35,False +CTSPillarNetworkA,4843,4843,4843,1983-04-06,484.3000000000416,484.32034,2015-01-01 01:20:43,bin4843,75,False +CTSPillarNetworkA,4844,4844,4844,1983-04-07,484.40000000004164,484.42035,2015-01-01 01:20:44,bin4844,35,False +CTSPillarNetworkA,4845,4845,4845,1983-04-08,484.50000000004167,484.52036,2015-01-01 01:20:45,bin4845,75,False +CTSPillarNetworkA,4846,4846,4846,1983-04-09,484.6000000000417,484.62036,2015-01-01 01:20:46,bin4846,35,False +CTSPillarNetworkA,4847,4847,4847,1983-04-10,484.7000000000417,484.72037,2015-01-01 01:20:47,bin4847,75,False +CTSPillarNetworkA,4848,4848,4848,1983-04-11,484.80000000004173,484.82037,2015-01-01 01:20:48,bin4848,35,False +CTSPillarNetworkA,4849,4849,4849,1983-04-12,484.90000000004176,484.92038,2015-01-01 01:20:49,bin4849,75,False +CTSPillarNetworkA,4850,4850,4850,1983-04-13,485.0000000000418,485.0204,2015-01-01 01:20:50,bin4850,35,False +CTSPillarNetworkA,4851,4851,4851,1983-04-14,485.1000000000418,485.1204,2015-01-01 01:20:51,bin4851,75,False +CTSPillarNetworkA,4852,4852,4852,1983-04-15,485.2000000000418,485.2204,2015-01-01 01:20:52,bin4852,35,False +CTSPillarNetworkA,4853,4853,4853,1983-04-16,485.30000000004185,485.3204,2015-01-01 01:20:53,bin4853,75,False +CTSPillarNetworkA,4854,4854,4854,1983-04-17,485.40000000004187,485.4204,2015-01-01 01:20:54,bin4854,35,False +CTSPillarNetworkA,4855,4855,4855,1983-04-18,485.5000000000419,485.52042,2015-01-01 01:20:55,bin4855,75,False +CTSPillarNetworkA,4856,4856,4856,1983-04-19,485.6000000000419,485.62042,2015-01-01 01:20:56,bin4856,35,False +CTSPillarNetworkA,4857,4857,4857,1983-04-20,485.70000000004194,485.72043,2015-01-01 01:20:57,bin4857,75,False +CTSPillarNetworkA,4858,4858,4858,1983-04-21,485.80000000004196,485.82043,2015-01-01 01:20:58,bin4858,35,False +CTSPillarNetworkA,4859,4859,4859,1983-04-22,485.900000000042,485.92044,2015-01-01 01:20:59,bin4859,75,False +CTSPillarNetworkA,4860,4860,4860,1983-04-23,486.000000000042,486.02045,2015-01-01 01:21:00,bin4860,35,False +CTSPillarNetworkA,4861,4861,4861,1983-04-24,486.10000000004203,486.12045,2015-01-01 01:21:01,bin4861,75,False +CTSPillarNetworkA,4862,4862,4862,1983-04-25,486.20000000004205,486.22046,2015-01-01 01:21:02,bin4862,35,False +CTSPillarNetworkA,4863,4863,4863,1983-04-26,486.3000000000421,486.32047,2015-01-01 01:21:03,bin4863,75,False +CTSPillarNetworkA,4864,4864,4864,1983-04-27,486.4000000000421,486.42047,2015-01-01 01:21:04,bin4864,35,False +CTSPillarNetworkA,4865,4865,4865,1983-04-28,486.5000000000421,486.52048,2015-01-01 01:21:05,bin4865,75,False +CTSPillarNetworkA,4866,4866,4866,1983-04-29,486.60000000004214,486.62048,2015-01-01 01:21:06,bin4866,35,False +CTSPillarNetworkA,4867,4867,4867,1983-04-30,486.70000000004217,486.7205,2015-01-01 01:21:07,bin4867,75,False +CTSPillarNetworkA,4868,4868,4868,1983-05-01,486.8000000000422,486.8205,2015-01-01 01:21:08,bin4868,35,False +CTSPillarNetworkA,4869,4869,4869,1983-05-02,486.9000000000422,486.9205,2015-01-01 01:21:09,bin4869,75,False +CTSPillarNetworkA,4870,4870,4870,1983-05-03,487.00000000004223,487.0205,2015-01-01 01:21:10,bin4870,35,False +CTSPillarNetworkA,4871,4871,4871,1983-05-04,487.10000000004226,487.1205,2015-01-01 01:21:11,bin4871,75,False +CTSPillarNetworkA,4872,4872,4872,1983-05-05,487.2000000000423,487.22052,2015-01-01 01:21:12,bin4872,35,False +CTSPillarNetworkA,4873,4873,4873,1983-05-06,487.3000000000423,487.32053,2015-01-01 01:21:13,bin4873,75,False +CTSPillarNetworkA,4874,4874,4874,1983-05-07,487.4000000000423,487.42053,2015-01-01 01:21:14,bin4874,35,False +CTSPillarNetworkA,4875,4875,4875,1983-05-08,487.50000000004235,487.52054,2015-01-01 01:21:15,bin4875,75,False +CTSPillarNetworkA,4876,4876,4876,1983-05-09,487.60000000004237,487.62054,2015-01-01 01:21:16,bin4876,35,False +CTSPillarNetworkA,4877,4877,4877,1983-05-10,487.7000000000424,487.72055,2015-01-01 01:21:17,bin4877,75,False +CTSPillarNetworkA,4878,4878,4878,1983-05-11,487.8000000000424,487.82056,2015-01-01 01:21:18,bin4878,35,False +CTSPillarNetworkA,4879,4879,4879,1983-05-12,487.90000000004244,487.92056,2015-01-01 01:21:19,bin4879,75,False +CTSPillarNetworkA,4880,4880,4880,1983-05-13,488.00000000004246,488.02057,2015-01-01 01:21:20,bin4880,35,False +CTSPillarNetworkA,4881,4881,4881,1983-05-14,488.1000000000425,488.12057,2015-01-01 01:21:21,bin4881,75,False +CTSPillarNetworkA,4882,4882,4882,1983-05-15,488.2000000000425,488.22058,2015-01-01 01:21:22,bin4882,35,False +CTSPillarNetworkA,4883,4883,4883,1983-05-16,488.30000000004253,488.3206,2015-01-01 01:21:23,bin4883,75,False +CTSPillarNetworkA,4884,4884,4884,1983-05-17,488.40000000004255,488.4206,2015-01-01 01:21:24,bin4884,35,False +CTSPillarNetworkA,4885,4885,4885,1983-05-18,488.5000000000426,488.5206,2015-01-01 01:21:25,bin4885,75,False +CTSPillarNetworkA,4886,4886,4886,1983-05-19,488.6000000000426,488.6206,2015-01-01 01:21:26,bin4886,35,False +CTSPillarNetworkA,4887,4887,4887,1983-05-20,488.7000000000426,488.7206,2015-01-01 01:21:27,bin4887,75,False +CTSPillarNetworkA,4888,4888,4888,1983-05-21,488.80000000004264,488.82062,2015-01-01 01:21:28,bin4888,35,False +CTSPillarNetworkA,4889,4889,4889,1983-05-22,488.90000000004267,488.92062,2015-01-01 01:21:29,bin4889,75,False +CTSPillarNetworkA,4890,4890,4890,1983-05-23,489.0000000000427,489.02063,2015-01-01 01:21:30,bin4890,35,False +CTSPillarNetworkA,4891,4891,4891,1983-05-24,489.1000000000427,489.12064,2015-01-01 01:21:31,bin4891,75,False +CTSPillarNetworkA,4892,4892,4892,1983-05-25,489.20000000004273,489.22064,2015-01-01 01:21:32,bin4892,35,False +CTSPillarNetworkA,4893,4893,4893,1983-05-26,489.30000000004276,489.32065,2015-01-01 01:21:33,bin4893,75,False +CTSPillarNetworkA,4894,4894,4894,1983-05-27,489.4000000000428,489.42065,2015-01-01 01:21:34,bin4894,35,False +CTSPillarNetworkA,4895,4895,4895,1983-05-28,489.5000000000428,489.52066,2015-01-01 01:21:35,bin4895,75,False +CTSPillarNetworkA,4896,4896,4896,1983-05-29,489.6000000000428,489.62067,2015-01-01 01:21:36,bin4896,35,False +CTSPillarNetworkA,4897,4897,4897,1983-05-30,489.70000000004285,489.72067,2015-01-01 01:21:37,bin4897,75,False +CTSPillarNetworkA,4898,4898,4898,1983-05-31,489.80000000004287,489.82068,2015-01-01 01:21:38,bin4898,35,False +CTSPillarNetworkA,4899,4899,4899,1983-06-01,489.9000000000429,489.9207,2015-01-01 01:21:39,bin4899,75,False +CTSPillarNetworkA,4900,4900,4900,1983-06-02,490.0000000000429,490.0207,2015-01-01 01:21:40,bin4900,35,False +CTSPillarNetworkA,4901,4901,4901,1983-06-03,490.10000000004294,490.1207,2015-01-01 01:21:41,bin4901,75,False +CTSPillarNetworkA,4902,4902,4902,1983-06-04,490.20000000004296,490.2207,2015-01-01 01:21:42,bin4902,35,False +CTSPillarNetworkA,4903,4903,4903,1983-06-05,490.300000000043,490.3207,2015-01-01 01:21:43,bin4903,75,False +CTSPillarNetworkA,4904,4904,4904,1983-06-06,490.400000000043,490.42072,2015-01-01 01:21:44,bin4904,35,False +CTSPillarNetworkA,4905,4905,4905,1983-06-07,490.50000000004303,490.52072,2015-01-01 01:21:45,bin4905,75,False +CTSPillarNetworkA,4906,4906,4906,1983-06-08,490.60000000004305,490.62073,2015-01-01 01:21:46,bin4906,35,False +CTSPillarNetworkA,4907,4907,4907,1983-06-09,490.7000000000431,490.72073,2015-01-01 01:21:47,bin4907,75,False +CTSPillarNetworkA,4908,4908,4908,1983-06-10,490.8000000000431,490.82074,2015-01-01 01:21:48,bin4908,35,False +CTSPillarNetworkA,4909,4909,4909,1983-06-11,490.9000000000431,490.92075,2015-01-01 01:21:49,bin4909,75,False +CTSPillarNetworkA,4910,4910,4910,1983-06-12,491.00000000004314,491.02075,2015-01-01 01:21:50,bin4910,35,False +CTSPillarNetworkA,4911,4911,4911,1983-06-13,491.10000000004317,491.12076,2015-01-01 01:21:51,bin4911,75,False +CTSPillarNetworkA,4912,4912,4912,1983-06-14,491.2000000000432,491.22076,2015-01-01 01:21:52,bin4912,35,False +CTSPillarNetworkA,4913,4913,4913,1983-06-15,491.3000000000432,491.32077,2015-01-01 01:21:53,bin4913,75,False +CTSPillarNetworkA,4914,4914,4914,1983-06-16,491.40000000004324,491.42078,2015-01-01 01:21:54,bin4914,35,False +CTSPillarNetworkA,4915,4915,4915,1983-06-17,491.50000000004326,491.52078,2015-01-01 01:21:55,bin4915,75,False +CTSPillarNetworkA,4916,4916,4916,1983-06-18,491.6000000000433,491.6208,2015-01-01 01:21:56,bin4916,35,False +CTSPillarNetworkA,4917,4917,4917,1983-06-19,491.7000000000433,491.7208,2015-01-01 01:21:57,bin4917,75,False +CTSPillarNetworkA,4918,4918,4918,1983-06-20,491.8000000000433,491.8208,2015-01-01 01:21:58,bin4918,35,False +CTSPillarNetworkA,4919,4919,4919,1983-06-21,491.90000000004335,491.9208,2015-01-01 01:21:59,bin4919,75,False +CTSPillarNetworkA,4920,4920,4920,1983-06-22,492.00000000004337,492.0208,2015-01-01 01:22:00,bin4920,35,False +CTSPillarNetworkA,4921,4921,4921,1983-06-23,492.1000000000434,492.12082,2015-01-01 01:22:01,bin4921,75,False +CTSPillarNetworkA,4922,4922,4922,1983-06-24,492.2000000000434,492.22083,2015-01-01 01:22:02,bin4922,35,False +CTSPillarNetworkA,4923,4923,4923,1983-06-25,492.30000000004344,492.32083,2015-01-01 01:22:03,bin4923,75,False +CTSPillarNetworkA,4924,4924,4924,1983-06-26,492.40000000004346,492.42084,2015-01-01 01:22:04,bin4924,35,False +CTSPillarNetworkA,4925,4925,4925,1983-06-27,492.5000000000435,492.52084,2015-01-01 01:22:05,bin4925,75,False +CTSPillarNetworkA,4926,4926,4926,1983-06-28,492.6000000000435,492.62085,2015-01-01 01:22:06,bin4926,35,False +CTSPillarNetworkA,4927,4927,4927,1983-06-29,492.70000000004353,492.72086,2015-01-01 01:22:07,bin4927,75,False +CTSPillarNetworkA,4928,4928,4928,1983-06-30,492.80000000004355,492.82086,2015-01-01 01:22:08,bin4928,35,False +CTSPillarNetworkA,4929,4929,4929,1983-07-01,492.9000000000436,492.92087,2015-01-01 01:22:09,bin4929,75,False +CTSPillarNetworkA,4930,4930,4930,1983-07-02,493.0000000000436,493.02087,2015-01-01 01:22:10,bin4930,35,False +CTSPillarNetworkA,4931,4931,4931,1983-07-03,493.1000000000436,493.12088,2015-01-01 01:22:11,bin4931,75,False +CTSPillarNetworkA,4932,4932,4932,1983-07-04,493.20000000004364,493.2209,2015-01-01 01:22:12,bin4932,35,False +CTSPillarNetworkA,4933,4933,4933,1983-07-05,493.30000000004367,493.3209,2015-01-01 01:22:13,bin4933,75,False +CTSPillarNetworkA,4934,4934,4934,1983-07-06,493.4000000000437,493.4209,2015-01-01 01:22:14,bin4934,35,False +CTSPillarNetworkA,4935,4935,4935,1983-07-07,493.5000000000437,493.5209,2015-01-01 01:22:15,bin4935,75,False +CTSPillarNetworkA,4936,4936,4936,1983-07-08,493.60000000004374,493.6209,2015-01-01 01:22:16,bin4936,35,False +CTSPillarNetworkA,4937,4937,4937,1983-07-09,493.70000000004376,493.72092,2015-01-01 01:22:17,bin4937,75,False +CTSPillarNetworkA,4938,4938,4938,1983-07-10,493.8000000000438,493.82092,2015-01-01 01:22:18,bin4938,35,False +CTSPillarNetworkA,4939,4939,4939,1983-07-11,493.9000000000438,493.92093,2015-01-01 01:22:19,bin4939,75,False +CTSPillarNetworkA,4940,4940,4940,1983-07-12,494.0000000000438,494.02094,2015-01-01 01:22:20,bin4940,35,False +CTSPillarNetworkA,4941,4941,4941,1983-07-13,494.10000000004385,494.12094,2015-01-01 01:22:21,bin4941,75,False +CTSPillarNetworkA,4942,4942,4942,1983-07-14,494.2000000000439,494.22095,2015-01-01 01:22:22,bin4942,35,False +CTSPillarNetworkA,4943,4943,4943,1983-07-15,494.3000000000439,494.32095,2015-01-01 01:22:23,bin4943,75,False +CTSPillarNetworkA,4944,4944,4944,1983-07-16,494.4000000000439,494.42096,2015-01-01 01:22:24,bin4944,35,False +CTSPillarNetworkA,4945,4945,4945,1983-07-17,494.50000000004394,494.52097,2015-01-01 01:22:25,bin4945,75,False +CTSPillarNetworkA,4946,4946,4946,1983-07-18,494.60000000004396,494.62097,2015-01-01 01:22:26,bin4946,35,False +CTSPillarNetworkA,4947,4947,4947,1983-07-19,494.700000000044,494.72098,2015-01-01 01:22:27,bin4947,75,False +CTSPillarNetworkA,4948,4948,4948,1983-07-20,494.800000000044,494.82098,2015-01-01 01:22:28,bin4948,35,False +CTSPillarNetworkA,4949,4949,4949,1983-07-21,494.90000000004403,494.921,2015-01-01 01:22:29,bin4949,75,False +CTSPillarNetworkA,4950,4950,4950,1983-07-22,495.00000000004405,495.021,2015-01-01 01:22:30,bin4950,35,False +CTSPillarNetworkA,4951,4951,4951,1983-07-23,495.1000000000441,495.121,2015-01-01 01:22:31,bin4951,75,False +CTSPillarNetworkA,4952,4952,4952,1983-07-24,495.2000000000441,495.221,2015-01-01 01:22:32,bin4952,35,False +CTSPillarNetworkA,4953,4953,4953,1983-07-25,495.3000000000441,495.321,2015-01-01 01:22:33,bin4953,75,False +CTSPillarNetworkA,4954,4954,4954,1983-07-26,495.40000000004414,495.42102,2015-01-01 01:22:34,bin4954,35,False +CTSPillarNetworkA,4955,4955,4955,1983-07-27,495.50000000004417,495.52103,2015-01-01 01:22:35,bin4955,75,False +CTSPillarNetworkA,4956,4956,4956,1983-07-28,495.6000000000442,495.62103,2015-01-01 01:22:36,bin4956,35,False +CTSPillarNetworkA,4957,4957,4957,1983-07-29,495.7000000000442,495.72104,2015-01-01 01:22:37,bin4957,75,False +CTSPillarNetworkA,4958,4958,4958,1983-07-30,495.80000000004424,495.82104,2015-01-01 01:22:38,bin4958,35,False +CTSPillarNetworkA,4959,4959,4959,1983-07-31,495.90000000004426,495.92105,2015-01-01 01:22:39,bin4959,75,False +CTSPillarNetworkA,4960,4960,4960,1983-08-01,496.0000000000443,496.02106,2015-01-01 01:22:40,bin4960,35,False +CTSPillarNetworkA,4961,4961,4961,1983-08-02,496.1000000000443,496.12106,2015-01-01 01:22:41,bin4961,75,False +CTSPillarNetworkA,4962,4962,4962,1983-08-03,496.2000000000443,496.22107,2015-01-01 01:22:42,bin4962,35,False +CTSPillarNetworkA,4963,4963,4963,1983-08-04,496.30000000004435,496.32108,2015-01-01 01:22:43,bin4963,75,False +CTSPillarNetworkA,4964,4964,4964,1983-08-05,496.4000000000444,496.42108,2015-01-01 01:22:44,bin4964,35,False +CTSPillarNetworkA,4965,4965,4965,1983-08-06,496.5000000000444,496.5211,2015-01-01 01:22:45,bin4965,75,False +CTSPillarNetworkA,4966,4966,4966,1983-08-07,496.6000000000444,496.6211,2015-01-01 01:22:46,bin4966,35,False +CTSPillarNetworkA,4967,4967,4967,1983-08-08,496.70000000004444,496.7211,2015-01-01 01:22:47,bin4967,75,False +CTSPillarNetworkA,4968,4968,4968,1983-08-09,496.80000000004446,496.8211,2015-01-01 01:22:48,bin4968,35,False +CTSPillarNetworkA,4969,4969,4969,1983-08-10,496.9000000000445,496.9211,2015-01-01 01:22:49,bin4969,75,False +CTSPillarNetworkA,4970,4970,4970,1983-08-11,497.0000000000445,497.02112,2015-01-01 01:22:50,bin4970,35,False +CTSPillarNetworkA,4971,4971,4971,1983-08-12,497.10000000004453,497.12112,2015-01-01 01:22:51,bin4971,75,False +CTSPillarNetworkA,4972,4972,4972,1983-08-13,497.20000000004455,497.22113,2015-01-01 01:22:52,bin4972,35,False +CTSPillarNetworkA,4973,4973,4973,1983-08-14,497.3000000000446,497.32114,2015-01-01 01:22:53,bin4973,75,False +CTSPillarNetworkA,4974,4974,4974,1983-08-15,497.4000000000446,497.42114,2015-01-01 01:22:54,bin4974,35,False +CTSPillarNetworkA,4975,4975,4975,1983-08-16,497.5000000000446,497.52115,2015-01-01 01:22:55,bin4975,75,False +CTSPillarNetworkA,4976,4976,4976,1983-08-17,497.60000000004464,497.62115,2015-01-01 01:22:56,bin4976,35,False +CTSPillarNetworkA,4977,4977,4977,1983-08-18,497.70000000004467,497.72116,2015-01-01 01:22:57,bin4977,75,False +CTSPillarNetworkA,4978,4978,4978,1983-08-19,497.8000000000447,497.82117,2015-01-01 01:22:58,bin4978,35,False +CTSPillarNetworkA,4979,4979,4979,1983-08-20,497.9000000000447,497.92117,2015-01-01 01:22:59,bin4979,75,False +CTSPillarNetworkA,4980,4980,4980,1983-08-21,498.00000000004474,498.02118,2015-01-01 01:23:00,bin4980,35,False +CTSPillarNetworkA,4981,4981,4981,1983-08-22,498.10000000004476,498.1212,2015-01-01 01:23:01,bin4981,75,False +CTSPillarNetworkA,4982,4982,4982,1983-08-23,498.2000000000448,498.2212,2015-01-01 01:23:02,bin4982,35,False +CTSPillarNetworkA,4983,4983,4983,1983-08-24,498.3000000000448,498.3212,2015-01-01 01:23:03,bin4983,75,False +CTSPillarNetworkA,4984,4984,4984,1983-08-25,498.4000000000448,498.4212,2015-01-01 01:23:04,bin4984,35,False +CTSPillarNetworkA,4985,4985,4985,1983-08-26,498.50000000004485,498.5212,2015-01-01 01:23:05,bin4985,75,False +CTSPillarNetworkA,4986,4986,4986,1983-08-27,498.6000000000449,498.62122,2015-01-01 01:23:06,bin4986,35,False +CTSPillarNetworkA,4987,4987,4987,1983-08-28,498.7000000000449,498.72122,2015-01-01 01:23:07,bin4987,75,False +CTSPillarNetworkA,4988,4988,4988,1983-08-29,498.8000000000449,498.82123,2015-01-01 01:23:08,bin4988,35,False +CTSPillarNetworkA,4989,4989,4989,1983-08-30,498.90000000004494,498.92123,2015-01-01 01:23:09,bin4989,75,False +CTSPillarNetworkA,4990,4990,4990,1983-08-31,499.00000000004496,499.02124,2015-01-01 01:23:10,bin4990,35,False +CTSPillarNetworkA,4991,4991,4991,1983-09-01,499.100000000045,499.12125,2015-01-01 01:23:11,bin4991,75,False +CTSPillarNetworkA,4992,4992,4992,1983-09-02,499.200000000045,499.22125,2015-01-01 01:23:12,bin4992,35,False +CTSPillarNetworkA,4993,4993,4993,1983-09-03,499.30000000004503,499.32126,2015-01-01 01:23:13,bin4993,75,False +CTSPillarNetworkA,4994,4994,4994,1983-09-04,499.40000000004505,499.42126,2015-01-01 01:23:14,bin4994,35,False +CTSPillarNetworkA,4995,4995,4995,1983-09-05,499.5000000000451,499.52127,2015-01-01 01:23:15,bin4995,75,False +CTSPillarNetworkA,4996,4996,4996,1983-09-06,499.6000000000451,499.62128,2015-01-01 01:23:16,bin4996,35,False +CTSPillarNetworkA,4997,4997,4997,1983-09-07,499.7000000000451,499.72128,2015-01-01 01:23:17,bin4997,75,False +CTSPillarNetworkA,4998,4998,4998,1983-09-08,499.80000000004515,499.8213,2015-01-01 01:23:18,bin4998,35,False +CTSPillarNetworkA,4999,4999,4999,1983-09-09,499.90000000004517,499.9213,2015-01-01 01:23:19,bin4999,75,False +CTSPillarNetworkA,5000,5000,5000,1983-09-10,500.0000000000452,500.0213,2015-01-01 01:23:20,bin5000,35,False +CTSPillarNetworkA,5001,5001,5001,1983-09-11,500.1000000000452,500.1213,2015-01-01 01:23:21,bin5001,75,False +CTSPillarNetworkA,5002,5002,5002,1983-09-12,500.20000000004524,500.2213,2015-01-01 01:23:22,bin5002,35,False +CTSPillarNetworkA,5003,5003,5003,1983-09-13,500.30000000004526,500.32132,2015-01-01 01:23:23,bin5003,75,False +CTSPillarNetworkA,5004,5004,5004,1983-09-14,500.4000000000453,500.42133,2015-01-01 01:23:24,bin5004,35,False +CTSPillarNetworkA,5005,5005,5005,1983-09-15,500.5000000000453,500.52133,2015-01-01 01:23:25,bin5005,75,False +CTSPillarNetworkA,5006,5006,5006,1983-09-16,500.6000000000453,500.62134,2015-01-01 01:23:26,bin5006,35,False +CTSPillarNetworkA,5007,5007,5007,1983-09-17,500.70000000004535,500.72134,2015-01-01 01:23:27,bin5007,75,False +CTSPillarNetworkA,5008,5008,5008,1983-09-18,500.8000000000454,500.82135,2015-01-01 01:23:28,bin5008,35,False +CTSPillarNetworkA,5009,5009,5009,1983-09-19,500.9000000000454,500.92136,2015-01-01 01:23:29,bin5009,75,False +CTSPillarNetworkA,5010,5010,5010,1983-09-20,501.0000000000454,501.02136,2015-01-01 01:23:30,bin5010,35,False +CTSPillarNetworkA,5011,5011,5011,1983-09-21,501.10000000004544,501.12137,2015-01-01 01:23:31,bin5011,75,False +CTSPillarNetworkA,5012,5012,5012,1983-09-22,501.20000000004546,501.22137,2015-01-01 01:23:32,bin5012,35,False +CTSPillarNetworkA,5013,5013,5013,1983-09-23,501.3000000000455,501.32138,2015-01-01 01:23:33,bin5013,75,False +CTSPillarNetworkA,5014,5014,5014,1983-09-24,501.4000000000455,501.4214,2015-01-01 01:23:34,bin5014,35,False +CTSPillarNetworkA,5015,5015,5015,1983-09-25,501.50000000004553,501.5214,2015-01-01 01:23:35,bin5015,75,False +CTSPillarNetworkA,5016,5016,5016,1983-09-26,501.60000000004555,501.6214,2015-01-01 01:23:36,bin5016,35,False +CTSPillarNetworkA,5017,5017,5017,1983-09-27,501.7000000000456,501.7214,2015-01-01 01:23:37,bin5017,75,False +CTSPillarNetworkA,5018,5018,5018,1983-09-28,501.8000000000456,501.8214,2015-01-01 01:23:38,bin5018,35,False +CTSPillarNetworkA,5019,5019,5019,1983-09-29,501.9000000000456,501.92142,2015-01-01 01:23:39,bin5019,75,False +CTSPillarNetworkA,5020,5020,5020,1983-09-30,502.00000000004565,502.02142,2015-01-01 01:23:40,bin5020,35,False +CTSPillarNetworkA,5021,5021,5021,1983-10-01,502.10000000004567,502.12143,2015-01-01 01:23:41,bin5021,75,False +CTSPillarNetworkA,5022,5022,5022,1983-10-02,502.2000000000457,502.22144,2015-01-01 01:23:42,bin5022,35,False +CTSPillarNetworkA,5023,5023,5023,1983-10-03,502.3000000000457,502.32144,2015-01-01 01:23:43,bin5023,75,False +CTSPillarNetworkA,5024,5024,5024,1983-10-04,502.40000000004574,502.42145,2015-01-01 01:23:44,bin5024,35,False +CTSPillarNetworkA,5025,5025,5025,1983-10-05,502.50000000004576,502.52145,2015-01-01 01:23:45,bin5025,75,False +CTSPillarNetworkA,5026,5026,5026,1983-10-06,502.6000000000458,502.62146,2015-01-01 01:23:46,bin5026,35,False +CTSPillarNetworkA,5027,5027,5027,1983-10-07,502.7000000000458,502.72147,2015-01-01 01:23:47,bin5027,75,False +CTSPillarNetworkA,5028,5028,5028,1983-10-08,502.8000000000458,502.82147,2015-01-01 01:23:48,bin5028,35,False +CTSPillarNetworkA,5029,5029,5029,1983-10-09,502.90000000004585,502.92148,2015-01-01 01:23:49,bin5029,75,False +CTSPillarNetworkA,5030,5030,5030,1983-10-10,503.0000000000459,503.02148,2015-01-01 01:23:50,bin5030,35,False +CTSPillarNetworkA,5031,5031,5031,1983-10-11,503.1000000000459,503.1215,2015-01-01 01:23:51,bin5031,75,False +CTSPillarNetworkA,5032,5032,5032,1983-10-12,503.2000000000459,503.2215,2015-01-01 01:23:52,bin5032,35,False +CTSPillarNetworkA,5033,5033,5033,1983-10-13,503.30000000004594,503.3215,2015-01-01 01:23:53,bin5033,75,False +CTSPillarNetworkA,5034,5034,5034,1983-10-14,503.40000000004596,503.4215,2015-01-01 01:23:54,bin5034,35,False +CTSPillarNetworkA,5035,5035,5035,1983-10-15,503.500000000046,503.5215,2015-01-01 01:23:55,bin5035,75,False +CTSPillarNetworkA,5036,5036,5036,1983-10-16,503.600000000046,503.62152,2015-01-01 01:23:56,bin5036,35,False +CTSPillarNetworkA,5037,5037,5037,1983-10-17,503.70000000004603,503.72153,2015-01-01 01:23:57,bin5037,75,False +CTSPillarNetworkA,5038,5038,5038,1983-10-18,503.80000000004605,503.82153,2015-01-01 01:23:58,bin5038,35,False +CTSPillarNetworkA,5039,5039,5039,1983-10-19,503.9000000000461,503.92154,2015-01-01 01:23:59,bin5039,75,False +CTSPillarNetworkA,5040,5040,5040,1983-10-20,504.0000000000461,504.02155,2015-01-01 01:24:00,bin5040,35,False +CTSPillarNetworkA,5041,5041,5041,1983-10-21,504.1000000000461,504.12155,2015-01-01 01:24:01,bin5041,75,False +CTSPillarNetworkA,5042,5042,5042,1983-10-22,504.20000000004615,504.22156,2015-01-01 01:24:02,bin5042,35,False +CTSPillarNetworkA,5043,5043,5043,1983-10-23,504.30000000004617,504.32156,2015-01-01 01:24:03,bin5043,75,False +CTSPillarNetworkA,5044,5044,5044,1983-10-24,504.4000000000462,504.42157,2015-01-01 01:24:04,bin5044,35,False +CTSPillarNetworkA,5045,5045,5045,1983-10-25,504.5000000000462,504.52158,2015-01-01 01:24:05,bin5045,75,False +CTSPillarNetworkA,5046,5046,5046,1983-10-26,504.60000000004624,504.62158,2015-01-01 01:24:06,bin5046,35,False +CTSPillarNetworkA,5047,5047,5047,1983-10-27,504.70000000004626,504.7216,2015-01-01 01:24:07,bin5047,75,False +CTSPillarNetworkA,5048,5048,5048,1983-10-28,504.8000000000463,504.8216,2015-01-01 01:24:08,bin5048,35,False +CTSPillarNetworkA,5049,5049,5049,1983-10-29,504.9000000000463,504.9216,2015-01-01 01:24:09,bin5049,75,False +CTSPillarNetworkA,5050,5050,5050,1983-10-30,505.0000000000463,505.0216,2015-01-01 01:24:10,bin5050,35,False +CTSPillarNetworkA,5051,5051,5051,1983-10-31,505.10000000004635,505.1216,2015-01-01 01:24:11,bin5051,75,False +CTSPillarNetworkA,5052,5052,5052,1983-11-01,505.2000000000464,505.22162,2015-01-01 01:24:12,bin5052,35,False +CTSPillarNetworkA,5053,5053,5053,1983-11-02,505.3000000000464,505.32162,2015-01-01 01:24:13,bin5053,75,False +CTSPillarNetworkA,5054,5054,5054,1983-11-03,505.4000000000464,505.42163,2015-01-01 01:24:14,bin5054,35,False +CTSPillarNetworkA,5055,5055,5055,1983-11-04,505.50000000004644,505.52164,2015-01-01 01:24:15,bin5055,75,False +CTSPillarNetworkA,5056,5056,5056,1983-11-05,505.60000000004646,505.62164,2015-01-01 01:24:16,bin5056,35,False +CTSPillarNetworkA,5057,5057,5057,1983-11-06,505.7000000000465,505.72165,2015-01-01 01:24:17,bin5057,75,False +CTSPillarNetworkA,5058,5058,5058,1983-11-07,505.8000000000465,505.82166,2015-01-01 01:24:18,bin5058,35,False +CTSPillarNetworkA,5059,5059,5059,1983-11-08,505.90000000004653,505.92166,2015-01-01 01:24:19,bin5059,75,False +CTSPillarNetworkA,5060,5060,5060,1983-11-09,506.00000000004655,506.02167,2015-01-01 01:24:20,bin5060,35,False +CTSPillarNetworkA,5061,5061,5061,1983-11-10,506.1000000000466,506.12167,2015-01-01 01:24:21,bin5061,75,False +CTSPillarNetworkA,5062,5062,5062,1983-11-11,506.2000000000466,506.22168,2015-01-01 01:24:22,bin5062,35,False +CTSPillarNetworkA,5063,5063,5063,1983-11-12,506.3000000000466,506.3217,2015-01-01 01:24:23,bin5063,75,False +CTSPillarNetworkA,5064,5064,5064,1983-11-13,506.40000000004665,506.4217,2015-01-01 01:24:24,bin5064,35,False +CTSPillarNetworkA,5065,5065,5065,1983-11-14,506.50000000004667,506.5217,2015-01-01 01:24:25,bin5065,75,False +CTSPillarNetworkA,5066,5066,5066,1983-11-15,506.6000000000467,506.6217,2015-01-01 01:24:26,bin5066,35,False +CTSPillarNetworkA,5067,5067,5067,1983-11-16,506.7000000000467,506.7217,2015-01-01 01:24:27,bin5067,75,False +CTSPillarNetworkA,5068,5068,5068,1983-11-17,506.80000000004674,506.82172,2015-01-01 01:24:28,bin5068,35,False +CTSPillarNetworkA,5069,5069,5069,1983-11-18,506.90000000004676,506.92172,2015-01-01 01:24:29,bin5069,75,False +CTSPillarNetworkA,5070,5070,5070,1983-11-19,507.0000000000468,507.02173,2015-01-01 01:24:30,bin5070,35,False +CTSPillarNetworkA,5071,5071,5071,1983-11-20,507.1000000000468,507.12173,2015-01-01 01:24:31,bin5071,75,False +CTSPillarNetworkA,5072,5072,5072,1983-11-21,507.2000000000468,507.22174,2015-01-01 01:24:32,bin5072,35,False +CTSPillarNetworkA,5073,5073,5073,1983-11-22,507.30000000004685,507.32175,2015-01-01 01:24:33,bin5073,75,False +CTSPillarNetworkA,5074,5074,5074,1983-11-23,507.4000000000469,507.42175,2015-01-01 01:24:34,bin5074,35,False +CTSPillarNetworkA,5075,5075,5075,1983-11-24,507.5000000000469,507.52176,2015-01-01 01:24:35,bin5075,75,False +CTSPillarNetworkA,5076,5076,5076,1983-11-25,507.6000000000469,507.62177,2015-01-01 01:24:36,bin5076,35,False +CTSPillarNetworkA,5077,5077,5077,1983-11-26,507.70000000004694,507.72177,2015-01-01 01:24:37,bin5077,75,False +CTSPillarNetworkA,5078,5078,5078,1983-11-27,507.80000000004696,507.82178,2015-01-01 01:24:38,bin5078,35,False +CTSPillarNetworkA,5079,5079,5079,1983-11-28,507.900000000047,507.92178,2015-01-01 01:24:39,bin5079,75,False +CTSPillarNetworkA,5080,5080,5080,1983-11-29,508.000000000047,508.0218,2015-01-01 01:24:40,bin5080,35,False +CTSPillarNetworkA,5081,5081,5081,1983-11-30,508.10000000004703,508.1218,2015-01-01 01:24:41,bin5081,75,False +CTSPillarNetworkA,5082,5082,5082,1983-12-01,508.20000000004705,508.2218,2015-01-01 01:24:42,bin5082,35,False +CTSPillarNetworkA,5083,5083,5083,1983-12-02,508.3000000000471,508.3218,2015-01-01 01:24:43,bin5083,75,False +CTSPillarNetworkA,5084,5084,5084,1983-12-03,508.4000000000471,508.4218,2015-01-01 01:24:44,bin5084,35,False +CTSPillarNetworkA,5085,5085,5085,1983-12-04,508.5000000000471,508.52182,2015-01-01 01:24:45,bin5085,75,False +CTSPillarNetworkA,5086,5086,5086,1983-12-05,508.60000000004715,508.62183,2015-01-01 01:24:46,bin5086,35,False +CTSPillarNetworkA,5087,5087,5087,1983-12-06,508.70000000004717,508.72183,2015-01-01 01:24:47,bin5087,75,False +CTSPillarNetworkA,5088,5088,5088,1983-12-07,508.8000000000472,508.82184,2015-01-01 01:24:48,bin5088,35,False +CTSPillarNetworkA,5089,5089,5089,1983-12-08,508.9000000000472,508.92184,2015-01-01 01:24:49,bin5089,75,False +CTSPillarNetworkA,5090,5090,5090,1983-12-09,509.00000000004724,509.02185,2015-01-01 01:24:50,bin5090,35,False +CTSPillarNetworkA,5091,5091,5091,1983-12-10,509.10000000004726,509.12186,2015-01-01 01:24:51,bin5091,75,False +CTSPillarNetworkA,5092,5092,5092,1983-12-11,509.2000000000473,509.22186,2015-01-01 01:24:52,bin5092,35,False +CTSPillarNetworkA,5093,5093,5093,1983-12-12,509.3000000000473,509.32187,2015-01-01 01:24:53,bin5093,75,False +CTSPillarNetworkA,5094,5094,5094,1983-12-13,509.4000000000473,509.42188,2015-01-01 01:24:54,bin5094,35,False +CTSPillarNetworkA,5095,5095,5095,1983-12-14,509.50000000004735,509.52188,2015-01-01 01:24:55,bin5095,75,False +CTSPillarNetworkA,5096,5096,5096,1983-12-15,509.6000000000474,509.6219,2015-01-01 01:24:56,bin5096,35,False +CTSPillarNetworkA,5097,5097,5097,1983-12-16,509.7000000000474,509.7219,2015-01-01 01:24:57,bin5097,75,False +CTSPillarNetworkA,5098,5098,5098,1983-12-17,509.8000000000474,509.8219,2015-01-01 01:24:58,bin5098,35,False +CTSPillarNetworkA,5099,5099,5099,1983-12-18,509.90000000004744,509.9219,2015-01-01 01:24:59,bin5099,75,False +CTSPillarNetworkA,5100,5100,5100,1983-12-19,510.00000000004746,510.0219,2015-01-01 01:25:00,bin5100,35,False +CTSPillarNetworkA,5101,5101,5101,1983-12-20,510.1000000000475,510.12192,2015-01-01 01:25:01,bin5101,75,False +CTSPillarNetworkA,5102,5102,5102,1983-12-21,510.2000000000475,510.22192,2015-01-01 01:25:02,bin5102,35,False +CTSPillarNetworkA,5103,5103,5103,1983-12-22,510.30000000004753,510.32193,2015-01-01 01:25:03,bin5103,75,False +CTSPillarNetworkA,5104,5104,5104,1983-12-23,510.40000000004756,510.42194,2015-01-01 01:25:04,bin5104,35,False +CTSPillarNetworkA,5105,5105,5105,1983-12-24,510.5000000000476,510.52194,2015-01-01 01:25:05,bin5105,75,False +CTSPillarNetworkA,5106,5106,5106,1983-12-25,510.6000000000476,510.62195,2015-01-01 01:25:06,bin5106,35,False +CTSPillarNetworkA,5107,5107,5107,1983-12-26,510.7000000000476,510.72195,2015-01-01 01:25:07,bin5107,75,False +CTSPillarNetworkA,5108,5108,5108,1983-12-27,510.80000000004765,510.82196,2015-01-01 01:25:08,bin5108,35,False +CTSPillarNetworkA,5109,5109,5109,1983-12-28,510.90000000004767,510.92197,2015-01-01 01:25:09,bin5109,75,False +CTSPillarNetworkA,5110,5110,5110,1983-12-29,511.0000000000477,511.02197,2015-01-01 01:25:10,bin5110,35,False +CTSPillarNetworkA,5111,5111,5111,1983-12-30,511.1000000000477,511.12198,2015-01-01 01:25:11,bin5111,75,False +CTSPillarNetworkA,5112,5112,5112,1983-12-31,511.20000000004774,511.222,2015-01-01 01:25:12,bin5112,35,False +CTSPillarNetworkA,5113,5113,5113,1984-01-01,511.30000000004776,511.322,2015-01-01 01:25:13,bin5113,75,False +CTSPillarNetworkA,5114,5114,5114,1984-01-02,511.4000000000478,511.422,2015-01-01 01:25:14,bin5114,35,False +CTSPillarNetworkA,5115,5115,5115,1984-01-03,511.5000000000478,511.522,2015-01-01 01:25:15,bin5115,75,False +CTSPillarNetworkA,5116,5116,5116,1984-01-04,511.6000000000478,511.622,2015-01-01 01:25:16,bin5116,35,False +CTSPillarNetworkA,5117,5117,5117,1984-01-05,511.70000000004785,511.72202,2015-01-01 01:25:17,bin5117,75,False +CTSPillarNetworkA,5118,5118,5118,1984-01-06,511.8000000000479,511.82202,2015-01-01 01:25:18,bin5118,35,False +CTSPillarNetworkA,5119,5119,5119,1984-01-07,511.9000000000479,511.92203,2015-01-01 01:25:19,bin5119,75,False +CTSPillarNetworkA,5120,5120,5120,1984-01-08,512.0000000000479,512.02203,2015-01-01 01:25:20,bin5120,35,False +CTSPillarNetworkA,5121,5121,5121,1984-01-09,512.1000000000479,512.122,2015-01-01 01:25:21,bin5121,75,False +CTSPillarNetworkA,5122,5122,5122,1984-01-10,512.2000000000479,512.222,2015-01-01 01:25:22,bin5122,35,False +CTSPillarNetworkA,5123,5123,5123,1984-01-11,512.3000000000479,512.32196,2015-01-01 01:25:23,bin5123,75,False +CTSPillarNetworkA,5124,5124,5124,1984-01-12,512.400000000048,512.42194,2015-01-01 01:25:24,bin5124,35,False +CTSPillarNetworkA,5125,5125,5125,1984-01-13,512.500000000048,512.5219,2015-01-01 01:25:25,bin5125,75,False +CTSPillarNetworkA,5126,5126,5126,1984-01-14,512.600000000048,512.6219,2015-01-01 01:25:26,bin5126,35,False +CTSPillarNetworkA,5127,5127,5127,1984-01-15,512.700000000048,512.72186,2015-01-01 01:25:27,bin5127,75,False +CTSPillarNetworkA,5128,5128,5128,1984-01-16,512.800000000048,512.82184,2015-01-01 01:25:28,bin5128,35,False +CTSPillarNetworkA,5129,5129,5129,1984-01-17,512.9000000000481,512.9218,2015-01-01 01:25:29,bin5129,75,False +CTSPillarNetworkA,5130,5130,5130,1984-01-18,513.0000000000481,513.0218,2015-01-01 01:25:30,bin5130,35,False +CTSPillarNetworkA,5131,5131,5131,1984-01-19,513.1000000000481,513.12177,2015-01-01 01:25:31,bin5131,75,False +CTSPillarNetworkA,5132,5132,5132,1984-01-20,513.2000000000481,513.22174,2015-01-01 01:25:32,bin5132,35,False +CTSPillarNetworkA,5133,5133,5133,1984-01-21,513.3000000000482,513.3217,2015-01-01 01:25:33,bin5133,75,False +CTSPillarNetworkA,5134,5134,5134,1984-01-22,513.4000000000482,513.4217,2015-01-01 01:25:34,bin5134,35,False +CTSPillarNetworkA,5135,5135,5135,1984-01-23,513.5000000000482,513.52167,2015-01-01 01:25:35,bin5135,75,False +CTSPillarNetworkA,5136,5136,5136,1984-01-24,513.6000000000482,513.62164,2015-01-01 01:25:36,bin5136,35,False +CTSPillarNetworkA,5137,5137,5137,1984-01-25,513.7000000000482,513.7216,2015-01-01 01:25:37,bin5137,75,False +CTSPillarNetworkA,5138,5138,5138,1984-01-26,513.8000000000483,513.8216,2015-01-01 01:25:38,bin5138,35,False +CTSPillarNetworkA,5139,5139,5139,1984-01-27,513.9000000000483,513.9216,2015-01-01 01:25:39,bin5139,75,False +CTSPillarNetworkA,5140,5140,5140,1984-01-28,514.0000000000483,514.02155,2015-01-01 01:25:40,bin5140,35,False +CTSPillarNetworkA,5141,5141,5141,1984-01-29,514.1000000000483,514.1215,2015-01-01 01:25:41,bin5141,75,False +CTSPillarNetworkA,5142,5142,5142,1984-01-30,514.2000000000484,514.2215,2015-01-01 01:25:42,bin5142,35,False +CTSPillarNetworkA,5143,5143,5143,1984-01-31,514.3000000000484,514.3215,2015-01-01 01:25:43,bin5143,75,False +CTSPillarNetworkA,5144,5144,5144,1984-02-01,514.4000000000484,514.42145,2015-01-01 01:25:44,bin5144,35,False +CTSPillarNetworkA,5145,5145,5145,1984-02-02,514.5000000000484,514.5214,2015-01-01 01:25:45,bin5145,75,False +CTSPillarNetworkA,5146,5146,5146,1984-02-03,514.6000000000485,514.6214,2015-01-01 01:25:46,bin5146,35,False +CTSPillarNetworkA,5147,5147,5147,1984-02-04,514.7000000000485,514.7214,2015-01-01 01:25:47,bin5147,75,False +CTSPillarNetworkA,5148,5148,5148,1984-02-05,514.8000000000485,514.82135,2015-01-01 01:25:48,bin5148,35,False +CTSPillarNetworkA,5149,5149,5149,1984-02-06,514.9000000000485,514.9213,2015-01-01 01:25:49,bin5149,75,False +CTSPillarNetworkA,5150,5150,5150,1984-02-07,515.0000000000485,515.0213,2015-01-01 01:25:50,bin5150,35,False +CTSPillarNetworkA,5151,5151,5151,1984-02-08,515.1000000000486,515.1213,2015-01-01 01:25:51,bin5151,75,False +CTSPillarNetworkA,5152,5152,5152,1984-02-09,515.2000000000486,515.22125,2015-01-01 01:25:52,bin5152,35,False +CTSPillarNetworkA,5153,5153,5153,1984-02-10,515.3000000000486,515.3212,2015-01-01 01:25:53,bin5153,75,False +CTSPillarNetworkA,5154,5154,5154,1984-02-11,515.4000000000486,515.4212,2015-01-01 01:25:54,bin5154,35,False +CTSPillarNetworkA,5155,5155,5155,1984-02-12,515.5000000000487,515.5212,2015-01-01 01:25:55,bin5155,75,False +CTSPillarNetworkA,5156,5156,5156,1984-02-13,515.6000000000487,515.62115,2015-01-01 01:25:56,bin5156,35,False +CTSPillarNetworkA,5157,5157,5157,1984-02-14,515.7000000000487,515.7211,2015-01-01 01:25:57,bin5157,75,False +CTSPillarNetworkA,5158,5158,5158,1984-02-15,515.8000000000487,515.8211,2015-01-01 01:25:58,bin5158,35,False +CTSPillarNetworkA,5159,5159,5159,1984-02-16,515.9000000000487,515.9211,2015-01-01 01:25:59,bin5159,75,False +CTSPillarNetworkA,5160,5160,5160,1984-02-17,516.0000000000488,516.02106,2015-01-01 01:26:00,bin5160,35,False +CTSPillarNetworkA,5161,5161,5161,1984-02-18,516.1000000000488,516.12103,2015-01-01 01:26:01,bin5161,75,False +CTSPillarNetworkA,5162,5162,5162,1984-02-19,516.2000000000488,516.221,2015-01-01 01:26:02,bin5162,35,False +CTSPillarNetworkA,5163,5163,5163,1984-02-20,516.3000000000488,516.321,2015-01-01 01:26:03,bin5163,75,False +CTSPillarNetworkA,5164,5164,5164,1984-02-21,516.4000000000489,516.42096,2015-01-01 01:26:04,bin5164,35,False +CTSPillarNetworkA,5165,5165,5165,1984-02-22,516.5000000000489,516.52094,2015-01-01 01:26:05,bin5165,75,False +CTSPillarNetworkA,5166,5166,5166,1984-02-23,516.6000000000489,516.6209,2015-01-01 01:26:06,bin5166,35,False +CTSPillarNetworkA,5167,5167,5167,1984-02-24,516.7000000000489,516.7209,2015-01-01 01:26:07,bin5167,75,False +CTSPillarNetworkA,5168,5168,5168,1984-02-25,516.800000000049,516.82086,2015-01-01 01:26:08,bin5168,35,False +CTSPillarNetworkA,5169,5169,5169,1984-02-26,516.900000000049,516.92084,2015-01-01 01:26:09,bin5169,75,False +CTSPillarNetworkA,5170,5170,5170,1984-02-27,517.000000000049,517.0208,2015-01-01 01:26:10,bin5170,35,False +CTSPillarNetworkA,5171,5171,5171,1984-02-28,517.100000000049,517.1208,2015-01-01 01:26:11,bin5171,75,False +CTSPillarNetworkA,5172,5172,5172,1984-02-29,517.200000000049,517.22076,2015-01-01 01:26:12,bin5172,35,False +CTSPillarNetworkA,5173,5173,5173,1984-03-01,517.3000000000491,517.32074,2015-01-01 01:26:13,bin5173,75,False +CTSPillarNetworkA,5174,5174,5174,1984-03-02,517.4000000000491,517.4207,2015-01-01 01:26:14,bin5174,35,False +CTSPillarNetworkA,5175,5175,5175,1984-03-03,517.5000000000491,517.5207,2015-01-01 01:26:15,bin5175,75,False +CTSPillarNetworkA,5176,5176,5176,1984-03-04,517.6000000000491,517.62067,2015-01-01 01:26:16,bin5176,35,False +CTSPillarNetworkA,5177,5177,5177,1984-03-05,517.7000000000492,517.72064,2015-01-01 01:26:17,bin5177,75,False +CTSPillarNetworkA,5178,5178,5178,1984-03-06,517.8000000000492,517.8206,2015-01-01 01:26:18,bin5178,35,False +CTSPillarNetworkA,5179,5179,5179,1984-03-07,517.9000000000492,517.9206,2015-01-01 01:26:19,bin5179,75,False +CTSPillarNetworkA,5180,5180,5180,1984-03-08,518.0000000000492,518.02057,2015-01-01 01:26:20,bin5180,35,False +CTSPillarNetworkA,5181,5181,5181,1984-03-09,518.1000000000492,518.12054,2015-01-01 01:26:21,bin5181,75,False +CTSPillarNetworkA,5182,5182,5182,1984-03-10,518.2000000000493,518.2205,2015-01-01 01:26:22,bin5182,35,False +CTSPillarNetworkA,5183,5183,5183,1984-03-11,518.3000000000493,518.3205,2015-01-01 01:26:23,bin5183,75,False +CTSPillarNetworkA,5184,5184,5184,1984-03-12,518.4000000000493,518.4205,2015-01-01 01:26:24,bin5184,35,False +CTSPillarNetworkA,5185,5185,5185,1984-03-13,518.5000000000493,518.52045,2015-01-01 01:26:25,bin5185,75,False +CTSPillarNetworkA,5186,5186,5186,1984-03-14,518.6000000000494,518.6204,2015-01-01 01:26:26,bin5186,35,False +CTSPillarNetworkA,5187,5187,5187,1984-03-15,518.7000000000494,518.7204,2015-01-01 01:26:27,bin5187,75,False +CTSPillarNetworkA,5188,5188,5188,1984-03-16,518.8000000000494,518.8204,2015-01-01 01:26:28,bin5188,35,False +CTSPillarNetworkA,5189,5189,5189,1984-03-17,518.9000000000494,518.92035,2015-01-01 01:26:29,bin5189,75,False +CTSPillarNetworkA,5190,5190,5190,1984-03-18,519.0000000000495,519.0203,2015-01-01 01:26:30,bin5190,35,False +CTSPillarNetworkA,5191,5191,5191,1984-03-19,519.1000000000495,519.1203,2015-01-01 01:26:31,bin5191,75,False +CTSPillarNetworkA,5192,5192,5192,1984-03-20,519.2000000000495,519.2203,2015-01-01 01:26:32,bin5192,35,False +CTSPillarNetworkA,5193,5193,5193,1984-03-21,519.3000000000495,519.32025,2015-01-01 01:26:33,bin5193,75,False +CTSPillarNetworkA,5194,5194,5194,1984-03-22,519.4000000000495,519.4202,2015-01-01 01:26:34,bin5194,35,False +CTSPillarNetworkA,5195,5195,5195,1984-03-23,519.5000000000496,519.5202,2015-01-01 01:26:35,bin5195,75,False +CTSPillarNetworkA,5196,5196,5196,1984-03-24,519.6000000000496,519.6202,2015-01-01 01:26:36,bin5196,35,False +CTSPillarNetworkA,5197,5197,5197,1984-03-25,519.7000000000496,519.72015,2015-01-01 01:26:37,bin5197,75,False +CTSPillarNetworkA,5198,5198,5198,1984-03-26,519.8000000000496,519.8201,2015-01-01 01:26:38,bin5198,35,False +CTSPillarNetworkA,5199,5199,5199,1984-03-27,519.9000000000497,519.9201,2015-01-01 01:26:39,bin5199,75,False +CTSPillarNetworkA,5200,5200,5200,1984-03-28,520.0000000000497,520.0201,2015-01-01 01:26:40,bin5200,35,False +CTSPillarNetworkA,5201,5201,5201,1984-03-29,520.1000000000497,520.12006,2015-01-01 01:26:41,bin5201,75,False +CTSPillarNetworkA,5202,5202,5202,1984-03-30,520.2000000000497,520.22003,2015-01-01 01:26:42,bin5202,35,False +CTSPillarNetworkA,5203,5203,5203,1984-03-31,520.3000000000497,520.32,2015-01-01 01:26:43,bin5203,75,False +CTSPillarNetworkA,5204,5204,5204,1984-04-01,520.4000000000498,520.42,2015-01-01 01:26:44,bin5204,35,False +CTSPillarNetworkA,5205,5205,5205,1984-04-02,520.5000000000498,520.51996,2015-01-01 01:26:45,bin5205,75,False +CTSPillarNetworkA,5206,5206,5206,1984-04-03,520.6000000000498,520.61993,2015-01-01 01:26:46,bin5206,35,False +CTSPillarNetworkA,5207,5207,5207,1984-04-04,520.7000000000498,520.7199,2015-01-01 01:26:47,bin5207,75,False +CTSPillarNetworkA,5208,5208,5208,1984-04-05,520.8000000000499,520.8199,2015-01-01 01:26:48,bin5208,35,False +CTSPillarNetworkA,5209,5209,5209,1984-04-06,520.9000000000499,520.91986,2015-01-01 01:26:49,bin5209,75,False +CTSPillarNetworkA,5210,5210,5210,1984-04-07,521.0000000000499,521.01984,2015-01-01 01:26:50,bin5210,35,False +CTSPillarNetworkA,5211,5211,5211,1984-04-08,521.1000000000499,521.1198,2015-01-01 01:26:51,bin5211,75,False +CTSPillarNetworkA,5212,5212,5212,1984-04-09,521.20000000005,521.2198,2015-01-01 01:26:52,bin5212,35,False +CTSPillarNetworkA,5213,5213,5213,1984-04-10,521.30000000005,521.31976,2015-01-01 01:26:53,bin5213,75,False +CTSPillarNetworkA,5214,5214,5214,1984-04-11,521.40000000005,521.41974,2015-01-01 01:26:54,bin5214,35,False +CTSPillarNetworkA,5215,5215,5215,1984-04-12,521.50000000005,521.5197,2015-01-01 01:26:55,bin5215,75,False +CTSPillarNetworkA,5216,5216,5216,1984-04-13,521.60000000005,521.6197,2015-01-01 01:26:56,bin5216,35,False +CTSPillarNetworkA,5217,5217,5217,1984-04-14,521.7000000000501,521.71967,2015-01-01 01:26:57,bin5217,75,False +CTSPillarNetworkA,5218,5218,5218,1984-04-15,521.8000000000501,521.81964,2015-01-01 01:26:58,bin5218,35,False +CTSPillarNetworkA,5219,5219,5219,1984-04-16,521.9000000000501,521.9196,2015-01-01 01:26:59,bin5219,75,False +CTSPillarNetworkA,5220,5220,5220,1984-04-17,522.0000000000501,522.0196,2015-01-01 01:27:00,bin5220,35,False +CTSPillarNetworkA,5221,5221,5221,1984-04-18,522.1000000000502,522.11957,2015-01-01 01:27:01,bin5221,75,False +CTSPillarNetworkA,5222,5222,5222,1984-04-19,522.2000000000502,522.21954,2015-01-01 01:27:02,bin5222,35,False +CTSPillarNetworkA,5223,5223,5223,1984-04-20,522.3000000000502,522.3195,2015-01-01 01:27:03,bin5223,75,False +CTSPillarNetworkA,5224,5224,5224,1984-04-21,522.4000000000502,522.4195,2015-01-01 01:27:04,bin5224,35,False +CTSPillarNetworkA,5225,5225,5225,1984-04-22,522.5000000000502,522.5195,2015-01-01 01:27:05,bin5225,75,False +CTSPillarNetworkA,5226,5226,5226,1984-04-23,522.6000000000503,522.61945,2015-01-01 01:27:06,bin5226,35,False +CTSPillarNetworkA,5227,5227,5227,1984-04-24,522.7000000000503,522.7194,2015-01-01 01:27:07,bin5227,75,False +CTSPillarNetworkA,5228,5228,5228,1984-04-25,522.8000000000503,522.8194,2015-01-01 01:27:08,bin5228,35,False +CTSPillarNetworkA,5229,5229,5229,1984-04-26,522.9000000000503,522.9194,2015-01-01 01:27:09,bin5229,75,False +CTSPillarNetworkA,5230,5230,5230,1984-04-27,523.0000000000504,523.01935,2015-01-01 01:27:10,bin5230,35,False +CTSPillarNetworkA,5231,5231,5231,1984-04-28,523.1000000000504,523.1193,2015-01-01 01:27:11,bin5231,75,False +CTSPillarNetworkA,5232,5232,5232,1984-04-29,523.2000000000504,523.2193,2015-01-01 01:27:12,bin5232,35,False +CTSPillarNetworkA,5233,5233,5233,1984-04-30,523.3000000000504,523.3193,2015-01-01 01:27:13,bin5233,75,False +CTSPillarNetworkA,5234,5234,5234,1984-05-01,523.4000000000505,523.41925,2015-01-01 01:27:14,bin5234,35,False +CTSPillarNetworkA,5235,5235,5235,1984-05-02,523.5000000000505,523.5192,2015-01-01 01:27:15,bin5235,75,False +CTSPillarNetworkA,5236,5236,5236,1984-05-03,523.6000000000505,523.6192,2015-01-01 01:27:16,bin5236,35,False +CTSPillarNetworkA,5237,5237,5237,1984-05-04,523.7000000000505,523.7192,2015-01-01 01:27:17,bin5237,75,False +CTSPillarNetworkA,5238,5238,5238,1984-05-05,523.8000000000505,523.81915,2015-01-01 01:27:18,bin5238,35,False +CTSPillarNetworkA,5239,5239,5239,1984-05-06,523.9000000000506,523.9191,2015-01-01 01:27:19,bin5239,75,False +CTSPillarNetworkA,5240,5240,5240,1984-05-07,524.0000000000506,524.0191,2015-01-01 01:27:20,bin5240,35,False +CTSPillarNetworkA,5241,5241,5241,1984-05-08,524.1000000000506,524.1191,2015-01-01 01:27:21,bin5241,75,False +CTSPillarNetworkA,5242,5242,5242,1984-05-09,524.2000000000506,524.21906,2015-01-01 01:27:22,bin5242,35,False +CTSPillarNetworkA,5243,5243,5243,1984-05-10,524.3000000000507,524.31903,2015-01-01 01:27:23,bin5243,75,False +CTSPillarNetworkA,5244,5244,5244,1984-05-11,524.4000000000507,524.419,2015-01-01 01:27:24,bin5244,35,False +CTSPillarNetworkA,5245,5245,5245,1984-05-12,524.5000000000507,524.519,2015-01-01 01:27:25,bin5245,75,False +CTSPillarNetworkA,5246,5246,5246,1984-05-13,524.6000000000507,524.61896,2015-01-01 01:27:26,bin5246,35,False +CTSPillarNetworkA,5247,5247,5247,1984-05-14,524.7000000000507,524.71893,2015-01-01 01:27:27,bin5247,75,False +CTSPillarNetworkA,5248,5248,5248,1984-05-15,524.8000000000508,524.8189,2015-01-01 01:27:28,bin5248,35,False +CTSPillarNetworkA,5249,5249,5249,1984-05-16,524.9000000000508,524.9189,2015-01-01 01:27:29,bin5249,75,False +CTSPillarNetworkA,5250,5250,5250,1984-05-17,525.0000000000508,525.01886,2015-01-01 01:27:30,bin5250,35,False +CTSPillarNetworkA,5251,5251,5251,1984-05-18,525.1000000000508,525.11884,2015-01-01 01:27:31,bin5251,75,False +CTSPillarNetworkA,5252,5252,5252,1984-05-19,525.2000000000509,525.2188,2015-01-01 01:27:32,bin5252,35,False +CTSPillarNetworkA,5253,5253,5253,1984-05-20,525.3000000000509,525.3188,2015-01-01 01:27:33,bin5253,75,False +CTSPillarNetworkA,5254,5254,5254,1984-05-21,525.4000000000509,525.41876,2015-01-01 01:27:34,bin5254,35,False +CTSPillarNetworkA,5255,5255,5255,1984-05-22,525.5000000000509,525.51874,2015-01-01 01:27:35,bin5255,75,False +CTSPillarNetworkA,5256,5256,5256,1984-05-23,525.600000000051,525.6187,2015-01-01 01:27:36,bin5256,35,False +CTSPillarNetworkA,5257,5257,5257,1984-05-24,525.700000000051,525.7187,2015-01-01 01:27:37,bin5257,75,False +CTSPillarNetworkA,5258,5258,5258,1984-05-25,525.800000000051,525.81866,2015-01-01 01:27:38,bin5258,35,False +CTSPillarNetworkA,5259,5259,5259,1984-05-26,525.900000000051,525.91864,2015-01-01 01:27:39,bin5259,75,False +CTSPillarNetworkA,5260,5260,5260,1984-05-27,526.000000000051,526.0186,2015-01-01 01:27:40,bin5260,35,False +CTSPillarNetworkA,5261,5261,5261,1984-05-28,526.1000000000511,526.1186,2015-01-01 01:27:41,bin5261,75,False +CTSPillarNetworkA,5262,5262,5262,1984-05-29,526.2000000000511,526.21857,2015-01-01 01:27:42,bin5262,35,False +CTSPillarNetworkA,5263,5263,5263,1984-05-30,526.3000000000511,526.31854,2015-01-01 01:27:43,bin5263,75,False +CTSPillarNetworkA,5264,5264,5264,1984-05-31,526.4000000000511,526.4185,2015-01-01 01:27:44,bin5264,35,False +CTSPillarNetworkA,5265,5265,5265,1984-06-01,526.5000000000512,526.5185,2015-01-01 01:27:45,bin5265,75,False +CTSPillarNetworkA,5266,5266,5266,1984-06-02,526.6000000000512,526.61847,2015-01-01 01:27:46,bin5266,35,False +CTSPillarNetworkA,5267,5267,5267,1984-06-03,526.7000000000512,526.71844,2015-01-01 01:27:47,bin5267,75,False +CTSPillarNetworkA,5268,5268,5268,1984-06-04,526.8000000000512,526.8184,2015-01-01 01:27:48,bin5268,35,False +CTSPillarNetworkA,5269,5269,5269,1984-06-05,526.9000000000513,526.9184,2015-01-01 01:27:49,bin5269,75,False +CTSPillarNetworkA,5270,5270,5270,1984-06-06,527.0000000000513,527.0184,2015-01-01 01:27:50,bin5270,35,False +CTSPillarNetworkA,5271,5271,5271,1984-06-07,527.1000000000513,527.11835,2015-01-01 01:27:51,bin5271,75,False +CTSPillarNetworkA,5272,5272,5272,1984-06-08,527.2000000000513,527.2183,2015-01-01 01:27:52,bin5272,35,False +CTSPillarNetworkA,5273,5273,5273,1984-06-09,527.3000000000513,527.3183,2015-01-01 01:27:53,bin5273,75,False +CTSPillarNetworkA,5274,5274,5274,1984-06-10,527.4000000000514,527.4183,2015-01-01 01:27:54,bin5274,35,False +CTSPillarNetworkA,5275,5275,5275,1984-06-11,527.5000000000514,527.51825,2015-01-01 01:27:55,bin5275,75,False +CTSPillarNetworkA,5276,5276,5276,1984-06-12,527.6000000000514,527.6182,2015-01-01 01:27:56,bin5276,35,False +CTSPillarNetworkA,5277,5277,5277,1984-06-13,527.7000000000514,527.7182,2015-01-01 01:27:57,bin5277,75,False +CTSPillarNetworkA,5278,5278,5278,1984-06-14,527.8000000000515,527.8182,2015-01-01 01:27:58,bin5278,35,False +CTSPillarNetworkA,5279,5279,5279,1984-06-15,527.9000000000515,527.91815,2015-01-01 01:27:59,bin5279,75,False +CTSPillarNetworkA,5280,5280,5280,1984-06-16,528.0000000000515,528.0181,2015-01-01 01:28:00,bin5280,35,False +CTSPillarNetworkA,5281,5281,5281,1984-06-17,528.1000000000515,528.1181,2015-01-01 01:28:01,bin5281,75,False +CTSPillarNetworkA,5282,5282,5282,1984-06-18,528.2000000000515,528.2181,2015-01-01 01:28:02,bin5282,35,False +CTSPillarNetworkA,5283,5283,5283,1984-06-19,528.3000000000516,528.31805,2015-01-01 01:28:03,bin5283,75,False +CTSPillarNetworkA,5284,5284,5284,1984-06-20,528.4000000000516,528.418,2015-01-01 01:28:04,bin5284,35,False +CTSPillarNetworkA,5285,5285,5285,1984-06-21,528.5000000000516,528.518,2015-01-01 01:28:05,bin5285,75,False +CTSPillarNetworkA,5286,5286,5286,1984-06-22,528.6000000000516,528.618,2015-01-01 01:28:06,bin5286,35,False +CTSPillarNetworkA,5287,5287,5287,1984-06-23,528.7000000000517,528.71796,2015-01-01 01:28:07,bin5287,75,False +CTSPillarNetworkA,5288,5288,5288,1984-06-24,528.8000000000517,528.81793,2015-01-01 01:28:08,bin5288,35,False +CTSPillarNetworkA,5289,5289,5289,1984-06-25,528.9000000000517,528.9179,2015-01-01 01:28:09,bin5289,75,False +CTSPillarNetworkA,5290,5290,5290,1984-06-26,529.0000000000517,529.0179,2015-01-01 01:28:10,bin5290,35,False +CTSPillarNetworkA,5291,5291,5291,1984-06-27,529.1000000000518,529.11786,2015-01-01 01:28:11,bin5291,75,False +CTSPillarNetworkA,5292,5292,5292,1984-06-28,529.2000000000518,529.21783,2015-01-01 01:28:12,bin5292,35,False +CTSPillarNetworkA,5293,5293,5293,1984-06-29,529.3000000000518,529.3178,2015-01-01 01:28:13,bin5293,75,False +CTSPillarNetworkA,5294,5294,5294,1984-06-30,529.4000000000518,529.4178,2015-01-01 01:28:14,bin5294,35,False +CTSPillarNetworkA,5295,5295,5295,1984-07-01,529.5000000000518,529.51776,2015-01-01 01:28:15,bin5295,75,False +CTSPillarNetworkA,5296,5296,5296,1984-07-02,529.6000000000519,529.61774,2015-01-01 01:28:16,bin5296,35,False +CTSPillarNetworkA,5297,5297,5297,1984-07-03,529.7000000000519,529.7177,2015-01-01 01:28:17,bin5297,75,False +CTSPillarNetworkA,5298,5298,5298,1984-07-04,529.8000000000519,529.8177,2015-01-01 01:28:18,bin5298,35,False +CTSPillarNetworkA,5299,5299,5299,1984-07-05,529.9000000000519,529.91766,2015-01-01 01:28:19,bin5299,75,False +CTSPillarNetworkA,5300,5300,5300,1984-07-06,530.000000000052,530.01764,2015-01-01 01:28:20,bin5300,35,False +CTSPillarNetworkA,5301,5301,5301,1984-07-07,530.100000000052,530.1176,2015-01-01 01:28:21,bin5301,75,False +CTSPillarNetworkA,5302,5302,5302,1984-07-08,530.200000000052,530.2176,2015-01-01 01:28:22,bin5302,35,False +CTSPillarNetworkA,5303,5303,5303,1984-07-09,530.300000000052,530.31757,2015-01-01 01:28:23,bin5303,75,False +CTSPillarNetworkA,5304,5304,5304,1984-07-10,530.400000000052,530.41754,2015-01-01 01:28:24,bin5304,35,False +CTSPillarNetworkA,5305,5305,5305,1984-07-11,530.5000000000521,530.5175,2015-01-01 01:28:25,bin5305,75,False +CTSPillarNetworkA,5306,5306,5306,1984-07-12,530.6000000000521,530.6175,2015-01-01 01:28:26,bin5306,35,False +CTSPillarNetworkA,5307,5307,5307,1984-07-13,530.7000000000521,530.71747,2015-01-01 01:28:27,bin5307,75,False +CTSPillarNetworkA,5308,5308,5308,1984-07-14,530.8000000000521,530.81744,2015-01-01 01:28:28,bin5308,35,False +CTSPillarNetworkA,5309,5309,5309,1984-07-15,530.9000000000522,530.9174,2015-01-01 01:28:29,bin5309,75,False +CTSPillarNetworkA,5310,5310,5310,1984-07-16,531.0000000000522,531.0174,2015-01-01 01:28:30,bin5310,35,False +CTSPillarNetworkA,5311,5311,5311,1984-07-17,531.1000000000522,531.1174,2015-01-01 01:28:31,bin5311,75,False +CTSPillarNetworkA,5312,5312,5312,1984-07-18,531.2000000000522,531.21735,2015-01-01 01:28:32,bin5312,35,False +CTSPillarNetworkA,5313,5313,5313,1984-07-19,531.3000000000523,531.3173,2015-01-01 01:28:33,bin5313,75,False +CTSPillarNetworkA,5314,5314,5314,1984-07-20,531.4000000000523,531.4173,2015-01-01 01:28:34,bin5314,35,False +CTSPillarNetworkA,5315,5315,5315,1984-07-21,531.5000000000523,531.5173,2015-01-01 01:28:35,bin5315,75,False +CTSPillarNetworkA,5316,5316,5316,1984-07-22,531.6000000000523,531.61725,2015-01-01 01:28:36,bin5316,35,False +CTSPillarNetworkA,5317,5317,5317,1984-07-23,531.7000000000523,531.7172,2015-01-01 01:28:37,bin5317,75,False +CTSPillarNetworkA,5318,5318,5318,1984-07-24,531.8000000000524,531.8172,2015-01-01 01:28:38,bin5318,35,False +CTSPillarNetworkA,5319,5319,5319,1984-07-25,531.9000000000524,531.9172,2015-01-01 01:28:39,bin5319,75,False +CTSPillarNetworkA,5320,5320,5320,1984-07-26,532.0000000000524,532.01715,2015-01-01 01:28:40,bin5320,35,False +CTSPillarNetworkA,5321,5321,5321,1984-07-27,532.1000000000524,532.1171,2015-01-01 01:28:41,bin5321,75,False +CTSPillarNetworkA,5322,5322,5322,1984-07-28,532.2000000000525,532.2171,2015-01-01 01:28:42,bin5322,35,False +CTSPillarNetworkA,5323,5323,5323,1984-07-29,532.3000000000525,532.3171,2015-01-01 01:28:43,bin5323,75,False +CTSPillarNetworkA,5324,5324,5324,1984-07-30,532.4000000000525,532.41705,2015-01-01 01:28:44,bin5324,35,False +CTSPillarNetworkA,5325,5325,5325,1984-07-31,532.5000000000525,532.517,2015-01-01 01:28:45,bin5325,75,False +CTSPillarNetworkA,5326,5326,5326,1984-08-01,532.6000000000525,532.617,2015-01-01 01:28:46,bin5326,35,False +CTSPillarNetworkA,5327,5327,5327,1984-08-02,532.7000000000526,532.717,2015-01-01 01:28:47,bin5327,75,False +CTSPillarNetworkA,5328,5328,5328,1984-08-03,532.8000000000526,532.81696,2015-01-01 01:28:48,bin5328,35,False +CTSPillarNetworkA,5329,5329,5329,1984-08-04,532.9000000000526,532.91693,2015-01-01 01:28:49,bin5329,75,False +CTSPillarNetworkA,5330,5330,5330,1984-08-05,533.0000000000526,533.0169,2015-01-01 01:28:50,bin5330,35,False +CTSPillarNetworkA,5331,5331,5331,1984-08-06,533.1000000000527,533.1169,2015-01-01 01:28:51,bin5331,75,False +CTSPillarNetworkA,5332,5332,5332,1984-08-07,533.2000000000527,533.21686,2015-01-01 01:28:52,bin5332,35,False +CTSPillarNetworkA,5333,5333,5333,1984-08-08,533.3000000000527,533.31683,2015-01-01 01:28:53,bin5333,75,False +CTSPillarNetworkA,5334,5334,5334,1984-08-09,533.4000000000527,533.4168,2015-01-01 01:28:54,bin5334,35,False +CTSPillarNetworkA,5335,5335,5335,1984-08-10,533.5000000000528,533.5168,2015-01-01 01:28:55,bin5335,75,False +CTSPillarNetworkA,5336,5336,5336,1984-08-11,533.6000000000528,533.61676,2015-01-01 01:28:56,bin5336,35,False +CTSPillarNetworkA,5337,5337,5337,1984-08-12,533.7000000000528,533.71674,2015-01-01 01:28:57,bin5337,75,False +CTSPillarNetworkA,5338,5338,5338,1984-08-13,533.8000000000528,533.8167,2015-01-01 01:28:58,bin5338,35,False +CTSPillarNetworkA,5339,5339,5339,1984-08-14,533.9000000000528,533.9167,2015-01-01 01:28:59,bin5339,75,False +CTSPillarNetworkA,5340,5340,5340,1984-08-15,534.0000000000529,534.01666,2015-01-01 01:29:00,bin5340,35,False +CTSPillarNetworkA,5341,5341,5341,1984-08-16,534.1000000000529,534.11664,2015-01-01 01:29:01,bin5341,75,False +CTSPillarNetworkA,5342,5342,5342,1984-08-17,534.2000000000529,534.2166,2015-01-01 01:29:02,bin5342,35,False +CTSPillarNetworkA,5343,5343,5343,1984-08-18,534.3000000000529,534.3166,2015-01-01 01:29:03,bin5343,75,False +CTSPillarNetworkA,5344,5344,5344,1984-08-19,534.400000000053,534.41656,2015-01-01 01:29:04,bin5344,35,False +CTSPillarNetworkA,5345,5345,5345,1984-08-20,534.500000000053,534.51654,2015-01-01 01:29:05,bin5345,75,False +CTSPillarNetworkA,5346,5346,5346,1984-08-21,534.600000000053,534.6165,2015-01-01 01:29:06,bin5346,35,False +CTSPillarNetworkA,5347,5347,5347,1984-08-22,534.700000000053,534.7165,2015-01-01 01:29:07,bin5347,75,False +CTSPillarNetworkA,5348,5348,5348,1984-08-23,534.800000000053,534.81647,2015-01-01 01:29:08,bin5348,35,False +CTSPillarNetworkA,5349,5349,5349,1984-08-24,534.9000000000531,534.91644,2015-01-01 01:29:09,bin5349,75,False +CTSPillarNetworkA,5350,5350,5350,1984-08-25,535.0000000000531,535.0164,2015-01-01 01:29:10,bin5350,35,False +CTSPillarNetworkA,5351,5351,5351,1984-08-26,535.1000000000531,535.1164,2015-01-01 01:29:11,bin5351,75,False +CTSPillarNetworkA,5352,5352,5352,1984-08-27,535.2000000000531,535.2164,2015-01-01 01:29:12,bin5352,35,False +CTSPillarNetworkA,5353,5353,5353,1984-08-28,535.3000000000532,535.31635,2015-01-01 01:29:13,bin5353,75,False +CTSPillarNetworkA,5354,5354,5354,1984-08-29,535.4000000000532,535.4163,2015-01-01 01:29:14,bin5354,35,False +CTSPillarNetworkA,5355,5355,5355,1984-08-30,535.5000000000532,535.5163,2015-01-01 01:29:15,bin5355,75,False +CTSPillarNetworkA,5356,5356,5356,1984-08-31,535.6000000000532,535.6163,2015-01-01 01:29:16,bin5356,35,False +CTSPillarNetworkA,5357,5357,5357,1984-09-01,535.7000000000533,535.71625,2015-01-01 01:29:17,bin5357,75,False +CTSPillarNetworkA,5358,5358,5358,1984-09-02,535.8000000000533,535.8162,2015-01-01 01:29:18,bin5358,35,False +CTSPillarNetworkA,5359,5359,5359,1984-09-03,535.9000000000533,535.9162,2015-01-01 01:29:19,bin5359,75,False +CTSPillarNetworkA,5360,5360,5360,1984-09-04,536.0000000000533,536.0162,2015-01-01 01:29:20,bin5360,35,False +CTSPillarNetworkA,5361,5361,5361,1984-09-05,536.1000000000533,536.11615,2015-01-01 01:29:21,bin5361,75,False +CTSPillarNetworkA,5362,5362,5362,1984-09-06,536.2000000000534,536.2161,2015-01-01 01:29:22,bin5362,35,False +CTSPillarNetworkA,5363,5363,5363,1984-09-07,536.3000000000534,536.3161,2015-01-01 01:29:23,bin5363,75,False +CTSPillarNetworkA,5364,5364,5364,1984-09-08,536.4000000000534,536.4161,2015-01-01 01:29:24,bin5364,35,False +CTSPillarNetworkA,5365,5365,5365,1984-09-09,536.5000000000534,536.51605,2015-01-01 01:29:25,bin5365,75,False +CTSPillarNetworkA,5366,5366,5366,1984-09-10,536.6000000000535,536.616,2015-01-01 01:29:26,bin5366,35,False +CTSPillarNetworkA,5367,5367,5367,1984-09-11,536.7000000000535,536.716,2015-01-01 01:29:27,bin5367,75,False +CTSPillarNetworkA,5368,5368,5368,1984-09-12,536.8000000000535,536.816,2015-01-01 01:29:28,bin5368,35,False +CTSPillarNetworkA,5369,5369,5369,1984-09-13,536.9000000000535,536.91595,2015-01-01 01:29:29,bin5369,75,False +CTSPillarNetworkA,5370,5370,5370,1984-09-14,537.0000000000535,537.0159,2015-01-01 01:29:30,bin5370,35,False +CTSPillarNetworkA,5371,5371,5371,1984-09-15,537.1000000000536,537.1159,2015-01-01 01:29:31,bin5371,75,False +CTSPillarNetworkA,5372,5372,5372,1984-09-16,537.2000000000536,537.2159,2015-01-01 01:29:32,bin5372,35,False +CTSPillarNetworkA,5373,5373,5373,1984-09-17,537.3000000000536,537.31586,2015-01-01 01:29:33,bin5373,75,False +CTSPillarNetworkA,5374,5374,5374,1984-09-18,537.4000000000536,537.41583,2015-01-01 01:29:34,bin5374,35,False +CTSPillarNetworkA,5375,5375,5375,1984-09-19,537.5000000000537,537.5158,2015-01-01 01:29:35,bin5375,75,False +CTSPillarNetworkA,5376,5376,5376,1984-09-20,537.6000000000537,537.6158,2015-01-01 01:29:36,bin5376,35,False +CTSPillarNetworkA,5377,5377,5377,1984-09-21,537.7000000000537,537.71576,2015-01-01 01:29:37,bin5377,75,False +CTSPillarNetworkA,5378,5378,5378,1984-09-22,537.8000000000537,537.81573,2015-01-01 01:29:38,bin5378,35,False +CTSPillarNetworkA,5379,5379,5379,1984-09-23,537.9000000000538,537.9157,2015-01-01 01:29:39,bin5379,75,False +CTSPillarNetworkA,5380,5380,5380,1984-09-24,538.0000000000538,538.0157,2015-01-01 01:29:40,bin5380,35,False +CTSPillarNetworkA,5381,5381,5381,1984-09-25,538.1000000000538,538.11566,2015-01-01 01:29:41,bin5381,75,False +CTSPillarNetworkA,5382,5382,5382,1984-09-26,538.2000000000538,538.21564,2015-01-01 01:29:42,bin5382,35,False +CTSPillarNetworkA,5383,5383,5383,1984-09-27,538.3000000000538,538.3156,2015-01-01 01:29:43,bin5383,75,False +CTSPillarNetworkA,5384,5384,5384,1984-09-28,538.4000000000539,538.4156,2015-01-01 01:29:44,bin5384,35,False +CTSPillarNetworkA,5385,5385,5385,1984-09-29,538.5000000000539,538.51556,2015-01-01 01:29:45,bin5385,75,False +CTSPillarNetworkA,5386,5386,5386,1984-09-30,538.6000000000539,538.61554,2015-01-01 01:29:46,bin5386,35,False +CTSPillarNetworkA,5387,5387,5387,1984-10-01,538.7000000000539,538.7155,2015-01-01 01:29:47,bin5387,75,False +CTSPillarNetworkA,5388,5388,5388,1984-10-02,538.800000000054,538.8155,2015-01-01 01:29:48,bin5388,35,False +CTSPillarNetworkA,5389,5389,5389,1984-10-03,538.900000000054,538.91547,2015-01-01 01:29:49,bin5389,75,False +CTSPillarNetworkA,5390,5390,5390,1984-10-04,539.000000000054,539.01544,2015-01-01 01:29:50,bin5390,35,False +CTSPillarNetworkA,5391,5391,5391,1984-10-05,539.100000000054,539.1154,2015-01-01 01:29:51,bin5391,75,False +CTSPillarNetworkA,5392,5392,5392,1984-10-06,539.200000000054,539.2154,2015-01-01 01:29:52,bin5392,35,False +CTSPillarNetworkA,5393,5393,5393,1984-10-07,539.3000000000541,539.31537,2015-01-01 01:29:53,bin5393,75,False +CTSPillarNetworkA,5394,5394,5394,1984-10-08,539.4000000000541,539.41534,2015-01-01 01:29:54,bin5394,35,False +CTSPillarNetworkA,5395,5395,5395,1984-10-09,539.5000000000541,539.5153,2015-01-01 01:29:55,bin5395,75,False +CTSPillarNetworkA,5396,5396,5396,1984-10-10,539.6000000000541,539.6153,2015-01-01 01:29:56,bin5396,35,False +CTSPillarNetworkA,5397,5397,5397,1984-10-11,539.7000000000542,539.7153,2015-01-01 01:29:57,bin5397,75,False +CTSPillarNetworkA,5398,5398,5398,1984-10-12,539.8000000000542,539.81525,2015-01-01 01:29:58,bin5398,35,False +CTSPillarNetworkA,5399,5399,5399,1984-10-13,539.9000000000542,539.9152,2015-01-01 01:29:59,bin5399,75,False +CTSPillarNetworkA,5400,5400,5400,1984-10-14,540.0000000000542,540.0152,2015-01-01 01:30:00,bin5400,35,False +CTSPillarNetworkA,5401,5401,5401,1984-10-15,540.1000000000543,540.1152,2015-01-01 01:30:01,bin5401,75,False +CTSPillarNetworkA,5402,5402,5402,1984-10-16,540.2000000000543,540.21515,2015-01-01 01:30:02,bin5402,35,False +CTSPillarNetworkA,5403,5403,5403,1984-10-17,540.3000000000543,540.3151,2015-01-01 01:30:03,bin5403,75,False +CTSPillarNetworkA,5404,5404,5404,1984-10-18,540.4000000000543,540.4151,2015-01-01 01:30:04,bin5404,35,False +CTSPillarNetworkA,5405,5405,5405,1984-10-19,540.5000000000543,540.5151,2015-01-01 01:30:05,bin5405,75,False +CTSPillarNetworkA,5406,5406,5406,1984-10-20,540.6000000000544,540.61505,2015-01-01 01:30:06,bin5406,35,False +CTSPillarNetworkA,5407,5407,5407,1984-10-21,540.7000000000544,540.715,2015-01-01 01:30:07,bin5407,75,False +CTSPillarNetworkA,5408,5408,5408,1984-10-22,540.8000000000544,540.815,2015-01-01 01:30:08,bin5408,35,False +CTSPillarNetworkA,5409,5409,5409,1984-10-23,540.9000000000544,540.915,2015-01-01 01:30:09,bin5409,75,False +CTSPillarNetworkA,5410,5410,5410,1984-10-24,541.0000000000545,541.01495,2015-01-01 01:30:10,bin5410,35,False +CTSPillarNetworkA,5411,5411,5411,1984-10-25,541.1000000000545,541.1149,2015-01-01 01:30:11,bin5411,75,False +CTSPillarNetworkA,5412,5412,5412,1984-10-26,541.2000000000545,541.2149,2015-01-01 01:30:12,bin5412,35,False +CTSPillarNetworkA,5413,5413,5413,1984-10-27,541.3000000000545,541.3149,2015-01-01 01:30:13,bin5413,75,False +CTSPillarNetworkA,5414,5414,5414,1984-10-28,541.4000000000545,541.41486,2015-01-01 01:30:14,bin5414,35,False +CTSPillarNetworkA,5415,5415,5415,1984-10-29,541.5000000000546,541.51483,2015-01-01 01:30:15,bin5415,75,False +CTSPillarNetworkA,5416,5416,5416,1984-10-30,541.6000000000546,541.6148,2015-01-01 01:30:16,bin5416,35,False +CTSPillarNetworkA,5417,5417,5417,1984-10-31,541.7000000000546,541.7148,2015-01-01 01:30:17,bin5417,75,False +CTSPillarNetworkA,5418,5418,5418,1984-11-01,541.8000000000546,541.81476,2015-01-01 01:30:18,bin5418,35,False +CTSPillarNetworkA,5419,5419,5419,1984-11-02,541.9000000000547,541.91473,2015-01-01 01:30:19,bin5419,75,False +CTSPillarNetworkA,5420,5420,5420,1984-11-03,542.0000000000547,542.0147,2015-01-01 01:30:20,bin5420,35,False +CTSPillarNetworkA,5421,5421,5421,1984-11-04,542.1000000000547,542.1147,2015-01-01 01:30:21,bin5421,75,False +CTSPillarNetworkA,5422,5422,5422,1984-11-05,542.2000000000547,542.21466,2015-01-01 01:30:22,bin5422,35,False +CTSPillarNetworkA,5423,5423,5423,1984-11-06,542.3000000000548,542.31464,2015-01-01 01:30:23,bin5423,75,False +CTSPillarNetworkA,5424,5424,5424,1984-11-07,542.4000000000548,542.4146,2015-01-01 01:30:24,bin5424,35,False +CTSPillarNetworkA,5425,5425,5425,1984-11-08,542.5000000000548,542.5146,2015-01-01 01:30:25,bin5425,75,False +CTSPillarNetworkA,5426,5426,5426,1984-11-09,542.6000000000548,542.61456,2015-01-01 01:30:26,bin5426,35,False +CTSPillarNetworkA,5427,5427,5427,1984-11-10,542.7000000000548,542.71454,2015-01-01 01:30:27,bin5427,75,False +CTSPillarNetworkA,5428,5428,5428,1984-11-11,542.8000000000549,542.8145,2015-01-01 01:30:28,bin5428,35,False +CTSPillarNetworkA,5429,5429,5429,1984-11-12,542.9000000000549,542.9145,2015-01-01 01:30:29,bin5429,75,False +CTSPillarNetworkA,5430,5430,5430,1984-11-13,543.0000000000549,543.01447,2015-01-01 01:30:30,bin5430,35,False +CTSPillarNetworkA,5431,5431,5431,1984-11-14,543.1000000000549,543.11444,2015-01-01 01:30:31,bin5431,75,False +CTSPillarNetworkA,5432,5432,5432,1984-11-15,543.200000000055,543.2144,2015-01-01 01:30:32,bin5432,35,False +CTSPillarNetworkA,5433,5433,5433,1984-11-16,543.300000000055,543.3144,2015-01-01 01:30:33,bin5433,75,False +CTSPillarNetworkA,5434,5434,5434,1984-11-17,543.400000000055,543.41437,2015-01-01 01:30:34,bin5434,35,False +CTSPillarNetworkA,5435,5435,5435,1984-11-18,543.500000000055,543.51434,2015-01-01 01:30:35,bin5435,75,False +CTSPillarNetworkA,5436,5436,5436,1984-11-19,543.600000000055,543.6143,2015-01-01 01:30:36,bin5436,35,False +CTSPillarNetworkA,5437,5437,5437,1984-11-20,543.7000000000551,543.7143,2015-01-01 01:30:37,bin5437,75,False +CTSPillarNetworkA,5438,5438,5438,1984-11-21,543.8000000000551,543.8143,2015-01-01 01:30:38,bin5438,35,False +CTSPillarNetworkA,5439,5439,5439,1984-11-22,543.9000000000551,543.91425,2015-01-01 01:30:39,bin5439,75,False +CTSPillarNetworkA,5440,5440,5440,1984-11-23,544.0000000000551,544.0142,2015-01-01 01:30:40,bin5440,35,False +CTSPillarNetworkA,5441,5441,5441,1984-11-24,544.1000000000552,544.1142,2015-01-01 01:30:41,bin5441,75,False +CTSPillarNetworkA,5442,5442,5442,1984-11-25,544.2000000000552,544.2142,2015-01-01 01:30:42,bin5442,35,False +CTSPillarNetworkA,5443,5443,5443,1984-11-26,544.3000000000552,544.31415,2015-01-01 01:30:43,bin5443,75,False +CTSPillarNetworkA,5444,5444,5444,1984-11-27,544.4000000000552,544.4141,2015-01-01 01:30:44,bin5444,35,False +CTSPillarNetworkA,5445,5445,5445,1984-11-28,544.5000000000553,544.5141,2015-01-01 01:30:45,bin5445,75,False +CTSPillarNetworkA,5446,5446,5446,1984-11-29,544.6000000000553,544.6141,2015-01-01 01:30:46,bin5446,35,False +CTSPillarNetworkA,5447,5447,5447,1984-11-30,544.7000000000553,544.71405,2015-01-01 01:30:47,bin5447,75,False +CTSPillarNetworkA,5448,5448,5448,1984-12-01,544.8000000000553,544.814,2015-01-01 01:30:48,bin5448,35,False +CTSPillarNetworkA,5449,5449,5449,1984-12-02,544.9000000000553,544.914,2015-01-01 01:30:49,bin5449,75,False +CTSPillarNetworkA,5450,5450,5450,1984-12-03,545.0000000000554,545.014,2015-01-01 01:30:50,bin5450,35,False +CTSPillarNetworkA,5451,5451,5451,1984-12-04,545.1000000000554,545.11395,2015-01-01 01:30:51,bin5451,75,False +CTSPillarNetworkA,5452,5452,5452,1984-12-05,545.2000000000554,545.2139,2015-01-01 01:30:52,bin5452,35,False +CTSPillarNetworkA,5453,5453,5453,1984-12-06,545.3000000000554,545.3139,2015-01-01 01:30:53,bin5453,75,False +CTSPillarNetworkA,5454,5454,5454,1984-12-07,545.4000000000555,545.4139,2015-01-01 01:30:54,bin5454,35,False +CTSPillarNetworkA,5455,5455,5455,1984-12-08,545.5000000000555,545.51385,2015-01-01 01:30:55,bin5455,75,False +CTSPillarNetworkA,5456,5456,5456,1984-12-09,545.6000000000555,545.61383,2015-01-01 01:30:56,bin5456,35,False +CTSPillarNetworkA,5457,5457,5457,1984-12-10,545.7000000000555,545.7138,2015-01-01 01:30:57,bin5457,75,False +CTSPillarNetworkA,5458,5458,5458,1984-12-11,545.8000000000555,545.8138,2015-01-01 01:30:58,bin5458,35,False +CTSPillarNetworkA,5459,5459,5459,1984-12-12,545.9000000000556,545.91376,2015-01-01 01:30:59,bin5459,75,False +CTSPillarNetworkA,5460,5460,5460,1984-12-13,546.0000000000556,546.01373,2015-01-01 01:31:00,bin5460,35,False +CTSPillarNetworkA,5461,5461,5461,1984-12-14,546.1000000000556,546.1137,2015-01-01 01:31:01,bin5461,75,False +CTSPillarNetworkA,5462,5462,5462,1984-12-15,546.2000000000556,546.2137,2015-01-01 01:31:02,bin5462,35,False +CTSPillarNetworkA,5463,5463,5463,1984-12-16,546.3000000000557,546.31366,2015-01-01 01:31:03,bin5463,75,False +CTSPillarNetworkA,5464,5464,5464,1984-12-17,546.4000000000557,546.41364,2015-01-01 01:31:04,bin5464,35,False +CTSPillarNetworkA,5465,5465,5465,1984-12-18,546.5000000000557,546.5136,2015-01-01 01:31:05,bin5465,75,False +CTSPillarNetworkA,5466,5466,5466,1984-12-19,546.6000000000557,546.6136,2015-01-01 01:31:06,bin5466,35,False +CTSPillarNetworkA,5467,5467,5467,1984-12-20,546.7000000000558,546.71356,2015-01-01 01:31:07,bin5467,75,False +CTSPillarNetworkA,5468,5468,5468,1984-12-21,546.8000000000558,546.81354,2015-01-01 01:31:08,bin5468,35,False +CTSPillarNetworkA,5469,5469,5469,1984-12-22,546.9000000000558,546.9135,2015-01-01 01:31:09,bin5469,75,False +CTSPillarNetworkA,5470,5470,5470,1984-12-23,547.0000000000558,547.0135,2015-01-01 01:31:10,bin5470,35,False +CTSPillarNetworkA,5471,5471,5471,1984-12-24,547.1000000000558,547.11346,2015-01-01 01:31:11,bin5471,75,False +CTSPillarNetworkA,5472,5472,5472,1984-12-25,547.2000000000559,547.21344,2015-01-01 01:31:12,bin5472,35,False +CTSPillarNetworkA,5473,5473,5473,1984-12-26,547.3000000000559,547.3134,2015-01-01 01:31:13,bin5473,75,False +CTSPillarNetworkA,5474,5474,5474,1984-12-27,547.4000000000559,547.4134,2015-01-01 01:31:14,bin5474,35,False +CTSPillarNetworkA,5475,5475,5475,1984-12-28,547.5000000000559,547.51337,2015-01-01 01:31:15,bin5475,75,False +CTSPillarNetworkA,5476,5476,5476,1984-12-29,547.600000000056,547.61334,2015-01-01 01:31:16,bin5476,35,False +CTSPillarNetworkA,5477,5477,5477,1984-12-30,547.700000000056,547.7133,2015-01-01 01:31:17,bin5477,75,False +CTSPillarNetworkA,5478,5478,5478,1984-12-31,547.800000000056,547.8133,2015-01-01 01:31:18,bin5478,35,False +CTSPillarNetworkA,5479,5479,5479,1985-01-01,547.900000000056,547.91327,2015-01-01 01:31:19,bin5479,75,False +CTSPillarNetworkA,5480,5480,5480,1985-01-02,548.000000000056,548.01324,2015-01-01 01:31:20,bin5480,35,False +CTSPillarNetworkA,5481,5481,5481,1985-01-03,548.1000000000561,548.1132,2015-01-01 01:31:21,bin5481,75,False +CTSPillarNetworkA,5482,5482,5482,1985-01-04,548.2000000000561,548.2132,2015-01-01 01:31:22,bin5482,35,False +CTSPillarNetworkA,5483,5483,5483,1985-01-05,548.3000000000561,548.3132,2015-01-01 01:31:23,bin5483,75,False +CTSPillarNetworkA,5484,5484,5484,1985-01-06,548.4000000000561,548.41315,2015-01-01 01:31:24,bin5484,35,False +CTSPillarNetworkA,5485,5485,5485,1985-01-07,548.5000000000562,548.5131,2015-01-01 01:31:25,bin5485,75,False +CTSPillarNetworkA,5486,5486,5486,1985-01-08,548.6000000000562,548.6131,2015-01-01 01:31:26,bin5486,35,False +CTSPillarNetworkA,5487,5487,5487,1985-01-09,548.7000000000562,548.7131,2015-01-01 01:31:27,bin5487,75,False +CTSPillarNetworkA,5488,5488,5488,1985-01-10,548.8000000000562,548.81305,2015-01-01 01:31:28,bin5488,35,False +CTSPillarNetworkA,5489,5489,5489,1985-01-11,548.9000000000563,548.913,2015-01-01 01:31:29,bin5489,75,False +CTSPillarNetworkA,5490,5490,5490,1985-01-12,549.0000000000563,549.013,2015-01-01 01:31:30,bin5490,35,False +CTSPillarNetworkA,5491,5491,5491,1985-01-13,549.1000000000563,549.113,2015-01-01 01:31:31,bin5491,75,False +CTSPillarNetworkA,5492,5492,5492,1985-01-14,549.2000000000563,549.21295,2015-01-01 01:31:32,bin5492,35,False +CTSPillarNetworkA,5493,5493,5493,1985-01-15,549.3000000000563,549.3129,2015-01-01 01:31:33,bin5493,75,False +CTSPillarNetworkA,5494,5494,5494,1985-01-16,549.4000000000564,549.4129,2015-01-01 01:31:34,bin5494,35,False +CTSPillarNetworkA,5495,5495,5495,1985-01-17,549.5000000000564,549.5129,2015-01-01 01:31:35,bin5495,75,False +CTSPillarNetworkA,5496,5496,5496,1985-01-18,549.6000000000564,549.61285,2015-01-01 01:31:36,bin5496,35,False +CTSPillarNetworkA,5497,5497,5497,1985-01-19,549.7000000000564,549.7128,2015-01-01 01:31:37,bin5497,75,False +CTSPillarNetworkA,5498,5498,5498,1985-01-20,549.8000000000565,549.8128,2015-01-01 01:31:38,bin5498,35,False +CTSPillarNetworkA,5499,5499,5499,1985-01-21,549.9000000000565,549.9128,2015-01-01 01:31:39,bin5499,75,False +CTSPillarNetworkA,5500,5500,5500,1985-01-22,550.0000000000565,550.01276,2015-01-01 01:31:40,bin5500,35,False +CTSPillarNetworkA,5501,5501,5501,1985-01-23,550.1000000000565,550.11273,2015-01-01 01:31:41,bin5501,75,False +CTSPillarNetworkA,5502,5502,5502,1985-01-24,550.2000000000565,550.2127,2015-01-01 01:31:42,bin5502,35,False +CTSPillarNetworkA,5503,5503,5503,1985-01-25,550.3000000000566,550.3127,2015-01-01 01:31:43,bin5503,75,False +CTSPillarNetworkA,5504,5504,5504,1985-01-26,550.4000000000566,550.41266,2015-01-01 01:31:44,bin5504,35,False +CTSPillarNetworkA,5505,5505,5505,1985-01-27,550.5000000000566,550.51263,2015-01-01 01:31:45,bin5505,75,False +CTSPillarNetworkA,5506,5506,5506,1985-01-28,550.6000000000566,550.6126,2015-01-01 01:31:46,bin5506,35,False +CTSPillarNetworkA,5507,5507,5507,1985-01-29,550.7000000000567,550.7126,2015-01-01 01:31:47,bin5507,75,False +CTSPillarNetworkA,5508,5508,5508,1985-01-30,550.8000000000567,550.81256,2015-01-01 01:31:48,bin5508,35,False +CTSPillarNetworkA,5509,5509,5509,1985-01-31,550.9000000000567,550.91254,2015-01-01 01:31:49,bin5509,75,False +CTSPillarNetworkA,5510,5510,5510,1985-02-01,551.0000000000567,551.0125,2015-01-01 01:31:50,bin5510,35,False +CTSPillarNetworkA,5511,5511,5511,1985-02-02,551.1000000000568,551.1125,2015-01-01 01:31:51,bin5511,75,False +CTSPillarNetworkA,5512,5512,5512,1985-02-03,551.2000000000568,551.21246,2015-01-01 01:31:52,bin5512,35,False +CTSPillarNetworkA,5513,5513,5513,1985-02-04,551.3000000000568,551.31244,2015-01-01 01:31:53,bin5513,75,False +CTSPillarNetworkA,5514,5514,5514,1985-02-05,551.4000000000568,551.4124,2015-01-01 01:31:54,bin5514,35,False +CTSPillarNetworkA,5515,5515,5515,1985-02-06,551.5000000000568,551.5124,2015-01-01 01:31:55,bin5515,75,False +CTSPillarNetworkA,5516,5516,5516,1985-02-07,551.6000000000569,551.61237,2015-01-01 01:31:56,bin5516,35,False +CTSPillarNetworkA,5517,5517,5517,1985-02-08,551.7000000000569,551.71234,2015-01-01 01:31:57,bin5517,75,False +CTSPillarNetworkA,5518,5518,5518,1985-02-09,551.8000000000569,551.8123,2015-01-01 01:31:58,bin5518,35,False +CTSPillarNetworkA,5519,5519,5519,1985-02-10,551.9000000000569,551.9123,2015-01-01 01:31:59,bin5519,75,False +CTSPillarNetworkA,5520,5520,5520,1985-02-11,552.000000000057,552.01227,2015-01-01 01:32:00,bin5520,35,False +CTSPillarNetworkA,5521,5521,5521,1985-02-12,552.100000000057,552.11224,2015-01-01 01:32:01,bin5521,75,False +CTSPillarNetworkA,5522,5522,5522,1985-02-13,552.200000000057,552.2122,2015-01-01 01:32:02,bin5522,35,False +CTSPillarNetworkA,5523,5523,5523,1985-02-14,552.300000000057,552.3122,2015-01-01 01:32:03,bin5523,75,False +CTSPillarNetworkA,5524,5524,5524,1985-02-15,552.400000000057,552.4122,2015-01-01 01:32:04,bin5524,35,False +CTSPillarNetworkA,5525,5525,5525,1985-02-16,552.5000000000571,552.51215,2015-01-01 01:32:05,bin5525,75,False +CTSPillarNetworkA,5526,5526,5526,1985-02-17,552.6000000000571,552.6121,2015-01-01 01:32:06,bin5526,35,False +CTSPillarNetworkA,5527,5527,5527,1985-02-18,552.7000000000571,552.7121,2015-01-01 01:32:07,bin5527,75,False +CTSPillarNetworkA,5528,5528,5528,1985-02-19,552.8000000000571,552.8121,2015-01-01 01:32:08,bin5528,35,False +CTSPillarNetworkA,5529,5529,5529,1985-02-20,552.9000000000572,552.91205,2015-01-01 01:32:09,bin5529,75,False +CTSPillarNetworkA,5530,5530,5530,1985-02-21,553.0000000000572,553.012,2015-01-01 01:32:10,bin5530,35,False +CTSPillarNetworkA,5531,5531,5531,1985-02-22,553.1000000000572,553.112,2015-01-01 01:32:11,bin5531,75,False +CTSPillarNetworkA,5532,5532,5532,1985-02-23,553.2000000000572,553.212,2015-01-01 01:32:12,bin5532,35,False +CTSPillarNetworkA,5533,5533,5533,1985-02-24,553.3000000000573,553.31195,2015-01-01 01:32:13,bin5533,75,False +CTSPillarNetworkA,5534,5534,5534,1985-02-25,553.4000000000573,553.4119,2015-01-01 01:32:14,bin5534,35,False +CTSPillarNetworkA,5535,5535,5535,1985-02-26,553.5000000000573,553.5119,2015-01-01 01:32:15,bin5535,75,False +CTSPillarNetworkA,5536,5536,5536,1985-02-27,553.6000000000573,553.6119,2015-01-01 01:32:16,bin5536,35,False +CTSPillarNetworkA,5537,5537,5537,1985-02-28,553.7000000000573,553.71185,2015-01-01 01:32:17,bin5537,75,False +CTSPillarNetworkA,5538,5538,5538,1985-03-01,553.8000000000574,553.8118,2015-01-01 01:32:18,bin5538,35,False +CTSPillarNetworkA,5539,5539,5539,1985-03-02,553.9000000000574,553.9118,2015-01-01 01:32:19,bin5539,75,False +CTSPillarNetworkA,5540,5540,5540,1985-03-03,554.0000000000574,554.0118,2015-01-01 01:32:20,bin5540,35,False +CTSPillarNetworkA,5541,5541,5541,1985-03-04,554.1000000000574,554.11176,2015-01-01 01:32:21,bin5541,75,False +CTSPillarNetworkA,5542,5542,5542,1985-03-05,554.2000000000575,554.21173,2015-01-01 01:32:22,bin5542,35,False +CTSPillarNetworkA,5543,5543,5543,1985-03-06,554.3000000000575,554.3117,2015-01-01 01:32:23,bin5543,75,False +CTSPillarNetworkA,5544,5544,5544,1985-03-07,554.4000000000575,554.4117,2015-01-01 01:32:24,bin5544,35,False +CTSPillarNetworkA,5545,5545,5545,1985-03-08,554.5000000000575,554.51166,2015-01-01 01:32:25,bin5545,75,False +CTSPillarNetworkA,5546,5546,5546,1985-03-09,554.6000000000575,554.61163,2015-01-01 01:32:26,bin5546,35,False +CTSPillarNetworkA,5547,5547,5547,1985-03-10,554.7000000000576,554.7116,2015-01-01 01:32:27,bin5547,75,False +CTSPillarNetworkA,5548,5548,5548,1985-03-11,554.8000000000576,554.8116,2015-01-01 01:32:28,bin5548,35,False +CTSPillarNetworkA,5549,5549,5549,1985-03-12,554.9000000000576,554.91156,2015-01-01 01:32:29,bin5549,75,False +CTSPillarNetworkA,5550,5550,5550,1985-03-13,555.0000000000576,555.01154,2015-01-01 01:32:30,bin5550,35,False +CTSPillarNetworkA,5551,5551,5551,1985-03-14,555.1000000000577,555.1115,2015-01-01 01:32:31,bin5551,75,False +CTSPillarNetworkA,5552,5552,5552,1985-03-15,555.2000000000577,555.2115,2015-01-01 01:32:32,bin5552,35,False +CTSPillarNetworkA,5553,5553,5553,1985-03-16,555.3000000000577,555.31146,2015-01-01 01:32:33,bin5553,75,False +CTSPillarNetworkA,5554,5554,5554,1985-03-17,555.4000000000577,555.41144,2015-01-01 01:32:34,bin5554,35,False +CTSPillarNetworkA,5555,5555,5555,1985-03-18,555.5000000000578,555.5114,2015-01-01 01:32:35,bin5555,75,False +CTSPillarNetworkA,5556,5556,5556,1985-03-19,555.6000000000578,555.6114,2015-01-01 01:32:36,bin5556,35,False +CTSPillarNetworkA,5557,5557,5557,1985-03-20,555.7000000000578,555.71136,2015-01-01 01:32:37,bin5557,75,False +CTSPillarNetworkA,5558,5558,5558,1985-03-21,555.8000000000578,555.81134,2015-01-01 01:32:38,bin5558,35,False +CTSPillarNetworkA,5559,5559,5559,1985-03-22,555.9000000000578,555.9113,2015-01-01 01:32:39,bin5559,75,False +CTSPillarNetworkA,5560,5560,5560,1985-03-23,556.0000000000579,556.0113,2015-01-01 01:32:40,bin5560,35,False +CTSPillarNetworkA,5561,5561,5561,1985-03-24,556.1000000000579,556.11127,2015-01-01 01:32:41,bin5561,75,False +CTSPillarNetworkA,5562,5562,5562,1985-03-25,556.2000000000579,556.21124,2015-01-01 01:32:42,bin5562,35,False +CTSPillarNetworkA,5563,5563,5563,1985-03-26,556.3000000000579,556.3112,2015-01-01 01:32:43,bin5563,75,False +CTSPillarNetworkA,5564,5564,5564,1985-03-27,556.400000000058,556.4112,2015-01-01 01:32:44,bin5564,35,False +CTSPillarNetworkA,5565,5565,5565,1985-03-28,556.500000000058,556.51117,2015-01-01 01:32:45,bin5565,75,False +CTSPillarNetworkA,5566,5566,5566,1985-03-29,556.600000000058,556.61115,2015-01-01 01:32:46,bin5566,35,False +CTSPillarNetworkA,5567,5567,5567,1985-03-30,556.700000000058,556.7111,2015-01-01 01:32:47,bin5567,75,False +CTSPillarNetworkA,5568,5568,5568,1985-03-31,556.800000000058,556.8111,2015-01-01 01:32:48,bin5568,35,False +CTSPillarNetworkA,5569,5569,5569,1985-04-01,556.9000000000581,556.9111,2015-01-01 01:32:49,bin5569,75,False +CTSPillarNetworkA,5570,5570,5570,1985-04-02,557.0000000000581,557.01105,2015-01-01 01:32:50,bin5570,35,False +CTSPillarNetworkA,5571,5571,5571,1985-04-03,557.1000000000581,557.111,2015-01-01 01:32:51,bin5571,75,False +CTSPillarNetworkA,5572,5572,5572,1985-04-04,557.2000000000581,557.211,2015-01-01 01:32:52,bin5572,35,False +CTSPillarNetworkA,5573,5573,5573,1985-04-05,557.3000000000582,557.311,2015-01-01 01:32:53,bin5573,75,False +CTSPillarNetworkA,5574,5574,5574,1985-04-06,557.4000000000582,557.41095,2015-01-01 01:32:54,bin5574,35,False +CTSPillarNetworkA,5575,5575,5575,1985-04-07,557.5000000000582,557.5109,2015-01-01 01:32:55,bin5575,75,False +CTSPillarNetworkA,5576,5576,5576,1985-04-08,557.6000000000582,557.6109,2015-01-01 01:32:56,bin5576,35,False +CTSPillarNetworkA,5577,5577,5577,1985-04-09,557.7000000000583,557.7109,2015-01-01 01:32:57,bin5577,75,False +CTSPillarNetworkA,5578,5578,5578,1985-04-10,557.8000000000583,557.81085,2015-01-01 01:32:58,bin5578,35,False +CTSPillarNetworkA,5579,5579,5579,1985-04-11,557.9000000000583,557.9108,2015-01-01 01:32:59,bin5579,75,False +CTSPillarNetworkA,5580,5580,5580,1985-04-12,558.0000000000583,558.0108,2015-01-01 01:33:00,bin5580,35,False +CTSPillarNetworkA,5581,5581,5581,1985-04-13,558.1000000000583,558.1108,2015-01-01 01:33:01,bin5581,75,False +CTSPillarNetworkA,5582,5582,5582,1985-04-14,558.2000000000584,558.21075,2015-01-01 01:33:02,bin5582,35,False +CTSPillarNetworkA,5583,5583,5583,1985-04-15,558.3000000000584,558.3107,2015-01-01 01:33:03,bin5583,75,False +CTSPillarNetworkA,5584,5584,5584,1985-04-16,558.4000000000584,558.4107,2015-01-01 01:33:04,bin5584,35,False +CTSPillarNetworkA,5585,5585,5585,1985-04-17,558.5000000000584,558.5107,2015-01-01 01:33:05,bin5585,75,False +CTSPillarNetworkA,5586,5586,5586,1985-04-18,558.6000000000585,558.61066,2015-01-01 01:33:06,bin5586,35,False +CTSPillarNetworkA,5587,5587,5587,1985-04-19,558.7000000000585,558.71063,2015-01-01 01:33:07,bin5587,75,False +CTSPillarNetworkA,5588,5588,5588,1985-04-20,558.8000000000585,558.8106,2015-01-01 01:33:08,bin5588,35,False +CTSPillarNetworkA,5589,5589,5589,1985-04-21,558.9000000000585,558.9106,2015-01-01 01:33:09,bin5589,75,False +CTSPillarNetworkA,5590,5590,5590,1985-04-22,559.0000000000585,559.01056,2015-01-01 01:33:10,bin5590,35,False +CTSPillarNetworkA,5591,5591,5591,1985-04-23,559.1000000000586,559.11053,2015-01-01 01:33:11,bin5591,75,False +CTSPillarNetworkA,5592,5592,5592,1985-04-24,559.2000000000586,559.2105,2015-01-01 01:33:12,bin5592,35,False +CTSPillarNetworkA,5593,5593,5593,1985-04-25,559.3000000000586,559.3105,2015-01-01 01:33:13,bin5593,75,False +CTSPillarNetworkA,5594,5594,5594,1985-04-26,559.4000000000586,559.41046,2015-01-01 01:33:14,bin5594,35,False +CTSPillarNetworkA,5595,5595,5595,1985-04-27,559.5000000000587,559.51044,2015-01-01 01:33:15,bin5595,75,False +CTSPillarNetworkA,5596,5596,5596,1985-04-28,559.6000000000587,559.6104,2015-01-01 01:33:16,bin5596,35,False +CTSPillarNetworkA,5597,5597,5597,1985-04-29,559.7000000000587,559.7104,2015-01-01 01:33:17,bin5597,75,False +CTSPillarNetworkA,5598,5598,5598,1985-04-30,559.8000000000587,559.81036,2015-01-01 01:33:18,bin5598,35,False +CTSPillarNetworkA,5599,5599,5599,1985-05-01,559.9000000000588,559.91034,2015-01-01 01:33:19,bin5599,75,False +CTSPillarNetworkA,5600,5600,5600,1985-05-02,560.0000000000588,560.0103,2015-01-01 01:33:20,bin5600,35,False +CTSPillarNetworkA,5601,5601,5601,1985-05-03,560.1000000000588,560.1103,2015-01-01 01:33:21,bin5601,75,False +CTSPillarNetworkA,5602,5602,5602,1985-05-04,560.2000000000588,560.21027,2015-01-01 01:33:22,bin5602,35,False +CTSPillarNetworkA,5603,5603,5603,1985-05-05,560.3000000000588,560.31024,2015-01-01 01:33:23,bin5603,75,False +CTSPillarNetworkA,5604,5604,5604,1985-05-06,560.4000000000589,560.4102,2015-01-01 01:33:24,bin5604,35,False +CTSPillarNetworkA,5605,5605,5605,1985-05-07,560.5000000000589,560.5102,2015-01-01 01:33:25,bin5605,75,False +CTSPillarNetworkA,5606,5606,5606,1985-05-08,560.6000000000589,560.61017,2015-01-01 01:33:26,bin5606,35,False +CTSPillarNetworkA,5607,5607,5607,1985-05-09,560.7000000000589,560.71014,2015-01-01 01:33:27,bin5607,75,False +CTSPillarNetworkA,5608,5608,5608,1985-05-10,560.800000000059,560.8101,2015-01-01 01:33:28,bin5608,35,False +CTSPillarNetworkA,5609,5609,5609,1985-05-11,560.900000000059,560.9101,2015-01-01 01:33:29,bin5609,75,False +CTSPillarNetworkA,5610,5610,5610,1985-05-12,561.000000000059,561.0101,2015-01-01 01:33:30,bin5610,35,False +CTSPillarNetworkA,5611,5611,5611,1985-05-13,561.100000000059,561.11005,2015-01-01 01:33:31,bin5611,75,False +CTSPillarNetworkA,5612,5612,5612,1985-05-14,561.200000000059,561.21,2015-01-01 01:33:32,bin5612,35,False +CTSPillarNetworkA,5613,5613,5613,1985-05-15,561.3000000000591,561.31,2015-01-01 01:33:33,bin5613,75,False +CTSPillarNetworkA,5614,5614,5614,1985-05-16,561.4000000000591,561.41,2015-01-01 01:33:34,bin5614,35,False +CTSPillarNetworkA,5615,5615,5615,1985-05-17,561.5000000000591,561.50995,2015-01-01 01:33:35,bin5615,75,False +CTSPillarNetworkA,5616,5616,5616,1985-05-18,561.6000000000591,561.6099,2015-01-01 01:33:36,bin5616,35,False +CTSPillarNetworkA,5617,5617,5617,1985-05-19,561.7000000000592,561.7099,2015-01-01 01:33:37,bin5617,75,False +CTSPillarNetworkA,5618,5618,5618,1985-05-20,561.8000000000592,561.8099,2015-01-01 01:33:38,bin5618,35,False +CTSPillarNetworkA,5619,5619,5619,1985-05-21,561.9000000000592,561.90985,2015-01-01 01:33:39,bin5619,75,False +CTSPillarNetworkA,5620,5620,5620,1985-05-22,562.0000000000592,562.0098,2015-01-01 01:33:40,bin5620,35,False +CTSPillarNetworkA,5621,5621,5621,1985-05-23,562.1000000000593,562.1098,2015-01-01 01:33:41,bin5621,75,False +CTSPillarNetworkA,5622,5622,5622,1985-05-24,562.2000000000593,562.2098,2015-01-01 01:33:42,bin5622,35,False +CTSPillarNetworkA,5623,5623,5623,1985-05-25,562.3000000000593,562.30975,2015-01-01 01:33:43,bin5623,75,False +CTSPillarNetworkA,5624,5624,5624,1985-05-26,562.4000000000593,562.4097,2015-01-01 01:33:44,bin5624,35,False +CTSPillarNetworkA,5625,5625,5625,1985-05-27,562.5000000000593,562.5097,2015-01-01 01:33:45,bin5625,75,False +CTSPillarNetworkA,5626,5626,5626,1985-05-28,562.6000000000594,562.6097,2015-01-01 01:33:46,bin5626,35,False +CTSPillarNetworkA,5627,5627,5627,1985-05-29,562.7000000000594,562.70966,2015-01-01 01:33:47,bin5627,75,False +CTSPillarNetworkA,5628,5628,5628,1985-05-30,562.8000000000594,562.80963,2015-01-01 01:33:48,bin5628,35,False +CTSPillarNetworkA,5629,5629,5629,1985-05-31,562.9000000000594,562.9096,2015-01-01 01:33:49,bin5629,75,False +CTSPillarNetworkA,5630,5630,5630,1985-06-01,563.0000000000595,563.0096,2015-01-01 01:33:50,bin5630,35,False +CTSPillarNetworkA,5631,5631,5631,1985-06-02,563.1000000000595,563.10956,2015-01-01 01:33:51,bin5631,75,False +CTSPillarNetworkA,5632,5632,5632,1985-06-03,563.2000000000595,563.20953,2015-01-01 01:33:52,bin5632,35,False +CTSPillarNetworkA,5633,5633,5633,1985-06-04,563.3000000000595,563.3095,2015-01-01 01:33:53,bin5633,75,False +CTSPillarNetworkA,5634,5634,5634,1985-06-05,563.4000000000595,563.4095,2015-01-01 01:33:54,bin5634,35,False +CTSPillarNetworkA,5635,5635,5635,1985-06-06,563.5000000000596,563.50946,2015-01-01 01:33:55,bin5635,75,False +CTSPillarNetworkA,5636,5636,5636,1985-06-07,563.6000000000596,563.60944,2015-01-01 01:33:56,bin5636,35,False +CTSPillarNetworkA,5637,5637,5637,1985-06-08,563.7000000000596,563.7094,2015-01-01 01:33:57,bin5637,75,False +CTSPillarNetworkA,5638,5638,5638,1985-06-09,563.8000000000596,563.8094,2015-01-01 01:33:58,bin5638,35,False +CTSPillarNetworkA,5639,5639,5639,1985-06-10,563.9000000000597,563.90936,2015-01-01 01:33:59,bin5639,75,False +CTSPillarNetworkA,5640,5640,5640,1985-06-11,564.0000000000597,564.00934,2015-01-01 01:34:00,bin5640,35,False +CTSPillarNetworkA,5641,5641,5641,1985-06-12,564.1000000000597,564.1093,2015-01-01 01:34:01,bin5641,75,False +CTSPillarNetworkA,5642,5642,5642,1985-06-13,564.2000000000597,564.2093,2015-01-01 01:34:02,bin5642,35,False +CTSPillarNetworkA,5643,5643,5643,1985-06-14,564.3000000000598,564.30927,2015-01-01 01:34:03,bin5643,75,False +CTSPillarNetworkA,5644,5644,5644,1985-06-15,564.4000000000598,564.40924,2015-01-01 01:34:04,bin5644,35,False +CTSPillarNetworkA,5645,5645,5645,1985-06-16,564.5000000000598,564.5092,2015-01-01 01:34:05,bin5645,75,False +CTSPillarNetworkA,5646,5646,5646,1985-06-17,564.6000000000598,564.6092,2015-01-01 01:34:06,bin5646,35,False +CTSPillarNetworkA,5647,5647,5647,1985-06-18,564.7000000000598,564.70917,2015-01-01 01:34:07,bin5647,75,False +CTSPillarNetworkA,5648,5648,5648,1985-06-19,564.8000000000599,564.80914,2015-01-01 01:34:08,bin5648,35,False +CTSPillarNetworkA,5649,5649,5649,1985-06-20,564.9000000000599,564.9091,2015-01-01 01:34:09,bin5649,75,False +CTSPillarNetworkA,5650,5650,5650,1985-06-21,565.0000000000599,565.0091,2015-01-01 01:34:10,bin5650,35,False +CTSPillarNetworkA,5651,5651,5651,1985-06-22,565.1000000000599,565.1091,2015-01-01 01:34:11,bin5651,75,False +CTSPillarNetworkA,5652,5652,5652,1985-06-23,565.20000000006,565.20905,2015-01-01 01:34:12,bin5652,35,False +CTSPillarNetworkA,5653,5653,5653,1985-06-24,565.30000000006,565.309,2015-01-01 01:34:13,bin5653,75,False +CTSPillarNetworkA,5654,5654,5654,1985-06-25,565.40000000006,565.409,2015-01-01 01:34:14,bin5654,35,False +CTSPillarNetworkA,5655,5655,5655,1985-06-26,565.50000000006,565.509,2015-01-01 01:34:15,bin5655,75,False +CTSPillarNetworkA,5656,5656,5656,1985-06-27,565.60000000006,565.60895,2015-01-01 01:34:16,bin5656,35,False +CTSPillarNetworkA,5657,5657,5657,1985-06-28,565.7000000000601,565.7089,2015-01-01 01:34:17,bin5657,75,False +CTSPillarNetworkA,5658,5658,5658,1985-06-29,565.8000000000601,565.8089,2015-01-01 01:34:18,bin5658,35,False +CTSPillarNetworkA,5659,5659,5659,1985-06-30,565.9000000000601,565.9089,2015-01-01 01:34:19,bin5659,75,False +CTSPillarNetworkA,5660,5660,5660,1985-07-01,566.0000000000601,566.00885,2015-01-01 01:34:20,bin5660,35,False +CTSPillarNetworkA,5661,5661,5661,1985-07-02,566.1000000000602,566.1088,2015-01-01 01:34:21,bin5661,75,False +CTSPillarNetworkA,5662,5662,5662,1985-07-03,566.2000000000602,566.2088,2015-01-01 01:34:22,bin5662,35,False +CTSPillarNetworkA,5663,5663,5663,1985-07-04,566.3000000000602,566.3088,2015-01-01 01:34:23,bin5663,75,False +CTSPillarNetworkA,5664,5664,5664,1985-07-05,566.4000000000602,566.40875,2015-01-01 01:34:24,bin5664,35,False +CTSPillarNetworkA,5665,5665,5665,1985-07-06,566.5000000000603,566.5087,2015-01-01 01:34:25,bin5665,75,False +CTSPillarNetworkA,5666,5666,5666,1985-07-07,566.6000000000603,566.6087,2015-01-01 01:34:26,bin5666,35,False +CTSPillarNetworkA,5667,5667,5667,1985-07-08,566.7000000000603,566.7087,2015-01-01 01:34:27,bin5667,75,False +CTSPillarNetworkA,5668,5668,5668,1985-07-09,566.8000000000603,566.80865,2015-01-01 01:34:28,bin5668,35,False +CTSPillarNetworkA,5669,5669,5669,1985-07-10,566.9000000000603,566.9086,2015-01-01 01:34:29,bin5669,75,False +CTSPillarNetworkA,5670,5670,5670,1985-07-11,567.0000000000604,567.0086,2015-01-01 01:34:30,bin5670,35,False +CTSPillarNetworkA,5671,5671,5671,1985-07-12,567.1000000000604,567.1086,2015-01-01 01:34:31,bin5671,75,False +CTSPillarNetworkA,5672,5672,5672,1985-07-13,567.2000000000604,567.20856,2015-01-01 01:34:32,bin5672,35,False +CTSPillarNetworkA,5673,5673,5673,1985-07-14,567.3000000000604,567.30853,2015-01-01 01:34:33,bin5673,75,False +CTSPillarNetworkA,5674,5674,5674,1985-07-15,567.4000000000605,567.4085,2015-01-01 01:34:34,bin5674,35,False +CTSPillarNetworkA,5675,5675,5675,1985-07-16,567.5000000000605,567.5085,2015-01-01 01:34:35,bin5675,75,False +CTSPillarNetworkA,5676,5676,5676,1985-07-17,567.6000000000605,567.60846,2015-01-01 01:34:36,bin5676,35,False +CTSPillarNetworkA,5677,5677,5677,1985-07-18,567.7000000000605,567.70844,2015-01-01 01:34:37,bin5677,75,False +CTSPillarNetworkA,5678,5678,5678,1985-07-19,567.8000000000605,567.8084,2015-01-01 01:34:38,bin5678,35,False +CTSPillarNetworkA,5679,5679,5679,1985-07-20,567.9000000000606,567.9084,2015-01-01 01:34:39,bin5679,75,False +CTSPillarNetworkA,5680,5680,5680,1985-07-21,568.0000000000606,568.00836,2015-01-01 01:34:40,bin5680,35,False +CTSPillarNetworkA,5681,5681,5681,1985-07-22,568.1000000000606,568.10834,2015-01-01 01:34:41,bin5681,75,False +CTSPillarNetworkA,5682,5682,5682,1985-07-23,568.2000000000606,568.2083,2015-01-01 01:34:42,bin5682,35,False +CTSPillarNetworkA,5683,5683,5683,1985-07-24,568.3000000000607,568.3083,2015-01-01 01:34:43,bin5683,75,False +CTSPillarNetworkA,5684,5684,5684,1985-07-25,568.4000000000607,568.40826,2015-01-01 01:34:44,bin5684,35,False +CTSPillarNetworkA,5685,5685,5685,1985-07-26,568.5000000000607,568.50824,2015-01-01 01:34:45,bin5685,75,False +CTSPillarNetworkA,5686,5686,5686,1985-07-27,568.6000000000607,568.6082,2015-01-01 01:34:46,bin5686,35,False +CTSPillarNetworkA,5687,5687,5687,1985-07-28,568.7000000000608,568.7082,2015-01-01 01:34:47,bin5687,75,False +CTSPillarNetworkA,5688,5688,5688,1985-07-29,568.8000000000608,568.80817,2015-01-01 01:34:48,bin5688,35,False +CTSPillarNetworkA,5689,5689,5689,1985-07-30,568.9000000000608,568.90814,2015-01-01 01:34:49,bin5689,75,False +CTSPillarNetworkA,5690,5690,5690,1985-07-31,569.0000000000608,569.0081,2015-01-01 01:34:50,bin5690,35,False +CTSPillarNetworkA,5691,5691,5691,1985-08-01,569.1000000000608,569.1081,2015-01-01 01:34:51,bin5691,75,False +CTSPillarNetworkA,5692,5692,5692,1985-08-02,569.2000000000609,569.20807,2015-01-01 01:34:52,bin5692,35,False +CTSPillarNetworkA,5693,5693,5693,1985-08-03,569.3000000000609,569.30804,2015-01-01 01:34:53,bin5693,75,False +CTSPillarNetworkA,5694,5694,5694,1985-08-04,569.4000000000609,569.408,2015-01-01 01:34:54,bin5694,35,False +CTSPillarNetworkA,5695,5695,5695,1985-08-05,569.5000000000609,569.508,2015-01-01 01:34:55,bin5695,75,False +CTSPillarNetworkA,5696,5696,5696,1985-08-06,569.600000000061,569.608,2015-01-01 01:34:56,bin5696,35,False +CTSPillarNetworkA,5697,5697,5697,1985-08-07,569.700000000061,569.70795,2015-01-01 01:34:57,bin5697,75,False +CTSPillarNetworkA,5698,5698,5698,1985-08-08,569.800000000061,569.8079,2015-01-01 01:34:58,bin5698,35,False +CTSPillarNetworkA,5699,5699,5699,1985-08-09,569.900000000061,569.9079,2015-01-01 01:34:59,bin5699,75,False +CTSPillarNetworkA,5700,5700,5700,1985-08-10,570.000000000061,570.0079,2015-01-01 01:35:00,bin5700,35,False +CTSPillarNetworkA,5701,5701,5701,1985-08-11,570.1000000000611,570.10785,2015-01-01 01:35:01,bin5701,75,False +CTSPillarNetworkA,5702,5702,5702,1985-08-12,570.2000000000611,570.2078,2015-01-01 01:35:02,bin5702,35,False +CTSPillarNetworkA,5703,5703,5703,1985-08-13,570.3000000000611,570.3078,2015-01-01 01:35:03,bin5703,75,False +CTSPillarNetworkA,5704,5704,5704,1985-08-14,570.4000000000611,570.4078,2015-01-01 01:35:04,bin5704,35,False +CTSPillarNetworkA,5705,5705,5705,1985-08-15,570.5000000000612,570.50775,2015-01-01 01:35:05,bin5705,75,False +CTSPillarNetworkA,5706,5706,5706,1985-08-16,570.6000000000612,570.6077,2015-01-01 01:35:06,bin5706,35,False +CTSPillarNetworkA,5707,5707,5707,1985-08-17,570.7000000000612,570.7077,2015-01-01 01:35:07,bin5707,75,False +CTSPillarNetworkA,5708,5708,5708,1985-08-18,570.8000000000612,570.8077,2015-01-01 01:35:08,bin5708,35,False +CTSPillarNetworkA,5709,5709,5709,1985-08-19,570.9000000000613,570.90765,2015-01-01 01:35:09,bin5709,75,False +CTSPillarNetworkA,5710,5710,5710,1985-08-20,571.0000000000613,571.0076,2015-01-01 01:35:10,bin5710,35,False +CTSPillarNetworkA,5711,5711,5711,1985-08-21,571.1000000000613,571.1076,2015-01-01 01:35:11,bin5711,75,False +CTSPillarNetworkA,5712,5712,5712,1985-08-22,571.2000000000613,571.2076,2015-01-01 01:35:12,bin5712,35,False +CTSPillarNetworkA,5713,5713,5713,1985-08-23,571.3000000000613,571.30756,2015-01-01 01:35:13,bin5713,75,False +CTSPillarNetworkA,5714,5714,5714,1985-08-24,571.4000000000614,571.40753,2015-01-01 01:35:14,bin5714,35,False +CTSPillarNetworkA,5715,5715,5715,1985-08-25,571.5000000000614,571.5075,2015-01-01 01:35:15,bin5715,75,False +CTSPillarNetworkA,5716,5716,5716,1985-08-26,571.6000000000614,571.6075,2015-01-01 01:35:16,bin5716,35,False +CTSPillarNetworkA,5717,5717,5717,1985-08-27,571.7000000000614,571.70746,2015-01-01 01:35:17,bin5717,75,False +CTSPillarNetworkA,5718,5718,5718,1985-08-28,571.8000000000615,571.80743,2015-01-01 01:35:18,bin5718,35,False +CTSPillarNetworkA,5719,5719,5719,1985-08-29,571.9000000000615,571.9074,2015-01-01 01:35:19,bin5719,75,False +CTSPillarNetworkA,5720,5720,5720,1985-08-30,572.0000000000615,572.0074,2015-01-01 01:35:20,bin5720,35,False +CTSPillarNetworkA,5721,5721,5721,1985-08-31,572.1000000000615,572.10736,2015-01-01 01:35:21,bin5721,75,False +CTSPillarNetworkA,5722,5722,5722,1985-09-01,572.2000000000616,572.20734,2015-01-01 01:35:22,bin5722,35,False +CTSPillarNetworkA,5723,5723,5723,1985-09-02,572.3000000000616,572.3073,2015-01-01 01:35:23,bin5723,75,False +CTSPillarNetworkA,5724,5724,5724,1985-09-03,572.4000000000616,572.4073,2015-01-01 01:35:24,bin5724,35,False +CTSPillarNetworkA,5725,5725,5725,1985-09-04,572.5000000000616,572.50726,2015-01-01 01:35:25,bin5725,75,False +CTSPillarNetworkA,5726,5726,5726,1985-09-05,572.6000000000616,572.60724,2015-01-01 01:35:26,bin5726,35,False +CTSPillarNetworkA,5727,5727,5727,1985-09-06,572.7000000000617,572.7072,2015-01-01 01:35:27,bin5727,75,False +CTSPillarNetworkA,5728,5728,5728,1985-09-07,572.8000000000617,572.8072,2015-01-01 01:35:28,bin5728,35,False +CTSPillarNetworkA,5729,5729,5729,1985-09-08,572.9000000000617,572.90717,2015-01-01 01:35:29,bin5729,75,False +CTSPillarNetworkA,5730,5730,5730,1985-09-09,573.0000000000617,573.00714,2015-01-01 01:35:30,bin5730,35,False +CTSPillarNetworkA,5731,5731,5731,1985-09-10,573.1000000000618,573.1071,2015-01-01 01:35:31,bin5731,75,False +CTSPillarNetworkA,5732,5732,5732,1985-09-11,573.2000000000618,573.2071,2015-01-01 01:35:32,bin5732,35,False +CTSPillarNetworkA,5733,5733,5733,1985-09-12,573.3000000000618,573.30707,2015-01-01 01:35:33,bin5733,75,False +CTSPillarNetworkA,5734,5734,5734,1985-09-13,573.4000000000618,573.40704,2015-01-01 01:35:34,bin5734,35,False +CTSPillarNetworkA,5735,5735,5735,1985-09-14,573.5000000000618,573.507,2015-01-01 01:35:35,bin5735,75,False +CTSPillarNetworkA,5736,5736,5736,1985-09-15,573.6000000000619,573.607,2015-01-01 01:35:36,bin5736,35,False +CTSPillarNetworkA,5737,5737,5737,1985-09-16,573.7000000000619,573.707,2015-01-01 01:35:37,bin5737,75,False +CTSPillarNetworkA,5738,5738,5738,1985-09-17,573.8000000000619,573.80695,2015-01-01 01:35:38,bin5738,35,False +CTSPillarNetworkA,5739,5739,5739,1985-09-18,573.9000000000619,573.9069,2015-01-01 01:35:39,bin5739,75,False +CTSPillarNetworkA,5740,5740,5740,1985-09-19,574.000000000062,574.0069,2015-01-01 01:35:40,bin5740,35,False +CTSPillarNetworkA,5741,5741,5741,1985-09-20,574.100000000062,574.1069,2015-01-01 01:35:41,bin5741,75,False +CTSPillarNetworkA,5742,5742,5742,1985-09-21,574.200000000062,574.20685,2015-01-01 01:35:42,bin5742,35,False +CTSPillarNetworkA,5743,5743,5743,1985-09-22,574.300000000062,574.3068,2015-01-01 01:35:43,bin5743,75,False +CTSPillarNetworkA,5744,5744,5744,1985-09-23,574.400000000062,574.4068,2015-01-01 01:35:44,bin5744,35,False +CTSPillarNetworkA,5745,5745,5745,1985-09-24,574.5000000000621,574.5068,2015-01-01 01:35:45,bin5745,75,False +CTSPillarNetworkA,5746,5746,5746,1985-09-25,574.6000000000621,574.60675,2015-01-01 01:35:46,bin5746,35,False +CTSPillarNetworkA,5747,5747,5747,1985-09-26,574.7000000000621,574.7067,2015-01-01 01:35:47,bin5747,75,False +CTSPillarNetworkA,5748,5748,5748,1985-09-27,574.8000000000621,574.8067,2015-01-01 01:35:48,bin5748,35,False +CTSPillarNetworkA,5749,5749,5749,1985-09-28,574.9000000000622,574.9067,2015-01-01 01:35:49,bin5749,75,False +CTSPillarNetworkA,5750,5750,5750,1985-09-29,575.0000000000622,575.00665,2015-01-01 01:35:50,bin5750,35,False +CTSPillarNetworkA,5751,5751,5751,1985-09-30,575.1000000000622,575.1066,2015-01-01 01:35:51,bin5751,75,False +CTSPillarNetworkA,5752,5752,5752,1985-10-01,575.2000000000622,575.2066,2015-01-01 01:35:52,bin5752,35,False +CTSPillarNetworkA,5753,5753,5753,1985-10-02,575.3000000000623,575.3066,2015-01-01 01:35:53,bin5753,75,False +CTSPillarNetworkA,5754,5754,5754,1985-10-03,575.4000000000623,575.40656,2015-01-01 01:35:54,bin5754,35,False +CTSPillarNetworkA,5755,5755,5755,1985-10-04,575.5000000000623,575.50653,2015-01-01 01:35:55,bin5755,75,False +CTSPillarNetworkA,5756,5756,5756,1985-10-05,575.6000000000623,575.6065,2015-01-01 01:35:56,bin5756,35,False +CTSPillarNetworkA,5757,5757,5757,1985-10-06,575.7000000000623,575.7065,2015-01-01 01:35:57,bin5757,75,False +CTSPillarNetworkA,5758,5758,5758,1985-10-07,575.8000000000624,575.80646,2015-01-01 01:35:58,bin5758,35,False +CTSPillarNetworkA,5759,5759,5759,1985-10-08,575.9000000000624,575.90643,2015-01-01 01:35:59,bin5759,75,False +CTSPillarNetworkA,5760,5760,5760,1985-10-09,576.0000000000624,576.0064,2015-01-01 01:36:00,bin5760,35,False +CTSPillarNetworkA,5761,5761,5761,1985-10-10,576.1000000000624,576.1064,2015-01-01 01:36:01,bin5761,75,False +CTSPillarNetworkA,5762,5762,5762,1985-10-11,576.2000000000625,576.20636,2015-01-01 01:36:02,bin5762,35,False +CTSPillarNetworkA,5763,5763,5763,1985-10-12,576.3000000000625,576.30634,2015-01-01 01:36:03,bin5763,75,False +CTSPillarNetworkA,5764,5764,5764,1985-10-13,576.4000000000625,576.4063,2015-01-01 01:36:04,bin5764,35,False +CTSPillarNetworkA,5765,5765,5765,1985-10-14,576.5000000000625,576.5063,2015-01-01 01:36:05,bin5765,75,False +CTSPillarNetworkA,5766,5766,5766,1985-10-15,576.6000000000626,576.60626,2015-01-01 01:36:06,bin5766,35,False +CTSPillarNetworkA,5767,5767,5767,1985-10-16,576.7000000000626,576.70624,2015-01-01 01:36:07,bin5767,75,False +CTSPillarNetworkA,5768,5768,5768,1985-10-17,576.8000000000626,576.8062,2015-01-01 01:36:08,bin5768,35,False +CTSPillarNetworkA,5769,5769,5769,1985-10-18,576.9000000000626,576.9062,2015-01-01 01:36:09,bin5769,75,False +CTSPillarNetworkA,5770,5770,5770,1985-10-19,577.0000000000626,577.00616,2015-01-01 01:36:10,bin5770,35,False +CTSPillarNetworkA,5771,5771,5771,1985-10-20,577.1000000000627,577.10614,2015-01-01 01:36:11,bin5771,75,False +CTSPillarNetworkA,5772,5772,5772,1985-10-21,577.2000000000627,577.2061,2015-01-01 01:36:12,bin5772,35,False +CTSPillarNetworkA,5773,5773,5773,1985-10-22,577.3000000000627,577.3061,2015-01-01 01:36:13,bin5773,75,False +CTSPillarNetworkA,5774,5774,5774,1985-10-23,577.4000000000627,577.40607,2015-01-01 01:36:14,bin5774,35,False +CTSPillarNetworkA,5775,5775,5775,1985-10-24,577.5000000000628,577.50604,2015-01-01 01:36:15,bin5775,75,False +CTSPillarNetworkA,5776,5776,5776,1985-10-25,577.6000000000628,577.606,2015-01-01 01:36:16,bin5776,35,False +CTSPillarNetworkA,5777,5777,5777,1985-10-26,577.7000000000628,577.706,2015-01-01 01:36:17,bin5777,75,False +CTSPillarNetworkA,5778,5778,5778,1985-10-27,577.8000000000628,577.80597,2015-01-01 01:36:18,bin5778,35,False +CTSPillarNetworkA,5779,5779,5779,1985-10-28,577.9000000000628,577.90594,2015-01-01 01:36:19,bin5779,75,False +CTSPillarNetworkA,5780,5780,5780,1985-10-29,578.0000000000629,578.0059,2015-01-01 01:36:20,bin5780,35,False +CTSPillarNetworkA,5781,5781,5781,1985-10-30,578.1000000000629,578.1059,2015-01-01 01:36:21,bin5781,75,False +CTSPillarNetworkA,5782,5782,5782,1985-10-31,578.2000000000629,578.2059,2015-01-01 01:36:22,bin5782,35,False +CTSPillarNetworkA,5783,5783,5783,1985-11-01,578.3000000000629,578.30585,2015-01-01 01:36:23,bin5783,75,False +CTSPillarNetworkA,5784,5784,5784,1985-11-02,578.400000000063,578.4058,2015-01-01 01:36:24,bin5784,35,False +CTSPillarNetworkA,5785,5785,5785,1985-11-03,578.500000000063,578.5058,2015-01-01 01:36:25,bin5785,75,False +CTSPillarNetworkA,5786,5786,5786,1985-11-04,578.600000000063,578.6058,2015-01-01 01:36:26,bin5786,35,False +CTSPillarNetworkA,5787,5787,5787,1985-11-05,578.700000000063,578.70575,2015-01-01 01:36:27,bin5787,75,False +CTSPillarNetworkA,5788,5788,5788,1985-11-06,578.800000000063,578.8057,2015-01-01 01:36:28,bin5788,35,False +CTSPillarNetworkA,5789,5789,5789,1985-11-07,578.9000000000631,578.9057,2015-01-01 01:36:29,bin5789,75,False +CTSPillarNetworkA,5790,5790,5790,1985-11-08,579.0000000000631,579.0057,2015-01-01 01:36:30,bin5790,35,False +CTSPillarNetworkA,5791,5791,5791,1985-11-09,579.1000000000631,579.10565,2015-01-01 01:36:31,bin5791,75,False +CTSPillarNetworkA,5792,5792,5792,1985-11-10,579.2000000000631,579.2056,2015-01-01 01:36:32,bin5792,35,False +CTSPillarNetworkA,5793,5793,5793,1985-11-11,579.3000000000632,579.3056,2015-01-01 01:36:33,bin5793,75,False +CTSPillarNetworkA,5794,5794,5794,1985-11-12,579.4000000000632,579.4056,2015-01-01 01:36:34,bin5794,35,False +CTSPillarNetworkA,5795,5795,5795,1985-11-13,579.5000000000632,579.50555,2015-01-01 01:36:35,bin5795,75,False +CTSPillarNetworkA,5796,5796,5796,1985-11-14,579.6000000000632,579.6055,2015-01-01 01:36:36,bin5796,35,False +CTSPillarNetworkA,5797,5797,5797,1985-11-15,579.7000000000633,579.7055,2015-01-01 01:36:37,bin5797,75,False +CTSPillarNetworkA,5798,5798,5798,1985-11-16,579.8000000000633,579.8055,2015-01-01 01:36:38,bin5798,35,False +CTSPillarNetworkA,5799,5799,5799,1985-11-17,579.9000000000633,579.90546,2015-01-01 01:36:39,bin5799,75,False +CTSPillarNetworkA,5800,5800,5800,1985-11-18,580.0000000000633,580.00543,2015-01-01 01:36:40,bin5800,35,False +CTSPillarNetworkA,5801,5801,5801,1985-11-19,580.1000000000633,580.1054,2015-01-01 01:36:41,bin5801,75,False +CTSPillarNetworkA,5802,5802,5802,1985-11-20,580.2000000000634,580.2054,2015-01-01 01:36:42,bin5802,35,False +CTSPillarNetworkA,5803,5803,5803,1985-11-21,580.3000000000634,580.30536,2015-01-01 01:36:43,bin5803,75,False +CTSPillarNetworkA,5804,5804,5804,1985-11-22,580.4000000000634,580.40533,2015-01-01 01:36:44,bin5804,35,False +CTSPillarNetworkA,5805,5805,5805,1985-11-23,580.5000000000634,580.5053,2015-01-01 01:36:45,bin5805,75,False +CTSPillarNetworkA,5806,5806,5806,1985-11-24,580.6000000000635,580.6053,2015-01-01 01:36:46,bin5806,35,False +CTSPillarNetworkA,5807,5807,5807,1985-11-25,580.7000000000635,580.70526,2015-01-01 01:36:47,bin5807,75,False +CTSPillarNetworkA,5808,5808,5808,1985-11-26,580.8000000000635,580.80524,2015-01-01 01:36:48,bin5808,35,False +CTSPillarNetworkA,5809,5809,5809,1985-11-27,580.9000000000635,580.9052,2015-01-01 01:36:49,bin5809,75,False +CTSPillarNetworkA,5810,5810,5810,1985-11-28,581.0000000000636,581.0052,2015-01-01 01:36:50,bin5810,35,False +CTSPillarNetworkA,5811,5811,5811,1985-11-29,581.1000000000636,581.10516,2015-01-01 01:36:51,bin5811,75,False +CTSPillarNetworkA,5812,5812,5812,1985-11-30,581.2000000000636,581.20514,2015-01-01 01:36:52,bin5812,35,False +CTSPillarNetworkA,5813,5813,5813,1985-12-01,581.3000000000636,581.3051,2015-01-01 01:36:53,bin5813,75,False +CTSPillarNetworkA,5814,5814,5814,1985-12-02,581.4000000000636,581.4051,2015-01-01 01:36:54,bin5814,35,False +CTSPillarNetworkA,5815,5815,5815,1985-12-03,581.5000000000637,581.50507,2015-01-01 01:36:55,bin5815,75,False +CTSPillarNetworkA,5816,5816,5816,1985-12-04,581.6000000000637,581.60504,2015-01-01 01:36:56,bin5816,35,False +CTSPillarNetworkA,5817,5817,5817,1985-12-05,581.7000000000637,581.705,2015-01-01 01:36:57,bin5817,75,False +CTSPillarNetworkA,5818,5818,5818,1985-12-06,581.8000000000637,581.805,2015-01-01 01:36:58,bin5818,35,False +CTSPillarNetworkA,5819,5819,5819,1985-12-07,581.9000000000638,581.90497,2015-01-01 01:36:59,bin5819,75,False +CTSPillarNetworkA,5820,5820,5820,1985-12-08,582.0000000000638,582.00494,2015-01-01 01:37:00,bin5820,35,False +CTSPillarNetworkA,5821,5821,5821,1985-12-09,582.1000000000638,582.1049,2015-01-01 01:37:01,bin5821,75,False +CTSPillarNetworkA,5822,5822,5822,1985-12-10,582.2000000000638,582.2049,2015-01-01 01:37:02,bin5822,35,False +CTSPillarNetworkA,5823,5823,5823,1985-12-11,582.3000000000638,582.3049,2015-01-01 01:37:03,bin5823,75,False +CTSPillarNetworkA,5824,5824,5824,1985-12-12,582.4000000000639,582.40485,2015-01-01 01:37:04,bin5824,35,False +CTSPillarNetworkA,5825,5825,5825,1985-12-13,582.5000000000639,582.5048,2015-01-01 01:37:05,bin5825,75,False +CTSPillarNetworkA,5826,5826,5826,1985-12-14,582.6000000000639,582.6048,2015-01-01 01:37:06,bin5826,35,False +CTSPillarNetworkA,5827,5827,5827,1985-12-15,582.7000000000639,582.7048,2015-01-01 01:37:07,bin5827,75,False +CTSPillarNetworkA,5828,5828,5828,1985-12-16,582.800000000064,582.80475,2015-01-01 01:37:08,bin5828,35,False +CTSPillarNetworkA,5829,5829,5829,1985-12-17,582.900000000064,582.9047,2015-01-01 01:37:09,bin5829,75,False +CTSPillarNetworkA,5830,5830,5830,1985-12-18,583.000000000064,583.0047,2015-01-01 01:37:10,bin5830,35,False +CTSPillarNetworkA,5831,5831,5831,1985-12-19,583.100000000064,583.1047,2015-01-01 01:37:11,bin5831,75,False +CTSPillarNetworkA,5832,5832,5832,1985-12-20,583.200000000064,583.20465,2015-01-01 01:37:12,bin5832,35,False +CTSPillarNetworkA,5833,5833,5833,1985-12-21,583.3000000000641,583.3046,2015-01-01 01:37:13,bin5833,75,False +CTSPillarNetworkA,5834,5834,5834,1985-12-22,583.4000000000641,583.4046,2015-01-01 01:37:14,bin5834,35,False +CTSPillarNetworkA,5835,5835,5835,1985-12-23,583.5000000000641,583.5046,2015-01-01 01:37:15,bin5835,75,False +CTSPillarNetworkA,5836,5836,5836,1985-12-24,583.6000000000641,583.60455,2015-01-01 01:37:16,bin5836,35,False +CTSPillarNetworkA,5837,5837,5837,1985-12-25,583.7000000000642,583.7045,2015-01-01 01:37:17,bin5837,75,False +CTSPillarNetworkA,5838,5838,5838,1985-12-26,583.8000000000642,583.8045,2015-01-01 01:37:18,bin5838,35,False +CTSPillarNetworkA,5839,5839,5839,1985-12-27,583.9000000000642,583.9045,2015-01-01 01:37:19,bin5839,75,False +CTSPillarNetworkA,5840,5840,5840,1985-12-28,584.0000000000642,584.00446,2015-01-01 01:37:20,bin5840,35,False +CTSPillarNetworkA,5841,5841,5841,1985-12-29,584.1000000000643,584.10443,2015-01-01 01:37:21,bin5841,75,False +CTSPillarNetworkA,5842,5842,5842,1985-12-30,584.2000000000643,584.2044,2015-01-01 01:37:22,bin5842,35,False +CTSPillarNetworkA,5843,5843,5843,1985-12-31,584.3000000000643,584.3044,2015-01-01 01:37:23,bin5843,75,False +CTSPillarNetworkA,5844,5844,5844,1986-01-01,584.4000000000643,584.40436,2015-01-01 01:37:24,bin5844,35,False +CTSPillarNetworkA,5845,5845,5845,1986-01-02,584.5000000000643,584.50433,2015-01-01 01:37:25,bin5845,75,False +CTSPillarNetworkA,5846,5846,5846,1986-01-03,584.6000000000644,584.6043,2015-01-01 01:37:26,bin5846,35,False +CTSPillarNetworkA,5847,5847,5847,1986-01-04,584.7000000000644,584.7043,2015-01-01 01:37:27,bin5847,75,False +CTSPillarNetworkA,5848,5848,5848,1986-01-05,584.8000000000644,584.80426,2015-01-01 01:37:28,bin5848,35,False +CTSPillarNetworkA,5849,5849,5849,1986-01-06,584.9000000000644,584.90424,2015-01-01 01:37:29,bin5849,75,False +CTSPillarNetworkA,5850,5850,5850,1986-01-07,585.0000000000645,585.0042,2015-01-01 01:37:30,bin5850,35,False +CTSPillarNetworkA,5851,5851,5851,1986-01-08,585.1000000000645,585.1042,2015-01-01 01:37:31,bin5851,75,False +CTSPillarNetworkA,5852,5852,5852,1986-01-09,585.2000000000645,585.20416,2015-01-01 01:37:32,bin5852,35,False +CTSPillarNetworkA,5853,5853,5853,1986-01-10,585.3000000000645,585.30414,2015-01-01 01:37:33,bin5853,75,False +CTSPillarNetworkA,5854,5854,5854,1986-01-11,585.4000000000646,585.4041,2015-01-01 01:37:34,bin5854,35,False +CTSPillarNetworkA,5855,5855,5855,1986-01-12,585.5000000000646,585.5041,2015-01-01 01:37:35,bin5855,75,False +CTSPillarNetworkA,5856,5856,5856,1986-01-13,585.6000000000646,585.60406,2015-01-01 01:37:36,bin5856,35,False +CTSPillarNetworkA,5857,5857,5857,1986-01-14,585.7000000000646,585.70404,2015-01-01 01:37:37,bin5857,75,False +CTSPillarNetworkA,5858,5858,5858,1986-01-15,585.8000000000646,585.804,2015-01-01 01:37:38,bin5858,35,False +CTSPillarNetworkA,5859,5859,5859,1986-01-16,585.9000000000647,585.904,2015-01-01 01:37:39,bin5859,75,False +CTSPillarNetworkA,5860,5860,5860,1986-01-17,586.0000000000647,586.00397,2015-01-01 01:37:40,bin5860,35,False +CTSPillarNetworkA,5861,5861,5861,1986-01-18,586.1000000000647,586.10394,2015-01-01 01:37:41,bin5861,75,False +CTSPillarNetworkA,5862,5862,5862,1986-01-19,586.2000000000647,586.2039,2015-01-01 01:37:42,bin5862,35,False +CTSPillarNetworkA,5863,5863,5863,1986-01-20,586.3000000000648,586.3039,2015-01-01 01:37:43,bin5863,75,False +CTSPillarNetworkA,5864,5864,5864,1986-01-21,586.4000000000648,586.4039,2015-01-01 01:37:44,bin5864,35,False +CTSPillarNetworkA,5865,5865,5865,1986-01-22,586.5000000000648,586.50385,2015-01-01 01:37:45,bin5865,75,False +CTSPillarNetworkA,5866,5866,5866,1986-01-23,586.6000000000648,586.6038,2015-01-01 01:37:46,bin5866,35,False +CTSPillarNetworkA,5867,5867,5867,1986-01-24,586.7000000000648,586.7038,2015-01-01 01:37:47,bin5867,75,False +CTSPillarNetworkA,5868,5868,5868,1986-01-25,586.8000000000649,586.8038,2015-01-01 01:37:48,bin5868,35,False +CTSPillarNetworkA,5869,5869,5869,1986-01-26,586.9000000000649,586.90375,2015-01-01 01:37:49,bin5869,75,False +CTSPillarNetworkA,5870,5870,5870,1986-01-27,587.0000000000649,587.0037,2015-01-01 01:37:50,bin5870,35,False +CTSPillarNetworkA,5871,5871,5871,1986-01-28,587.1000000000649,587.1037,2015-01-01 01:37:51,bin5871,75,False +CTSPillarNetworkA,5872,5872,5872,1986-01-29,587.200000000065,587.2037,2015-01-01 01:37:52,bin5872,35,False +CTSPillarNetworkA,5873,5873,5873,1986-01-30,587.300000000065,587.30365,2015-01-01 01:37:53,bin5873,75,False +CTSPillarNetworkA,5874,5874,5874,1986-01-31,587.400000000065,587.4036,2015-01-01 01:37:54,bin5874,35,False +CTSPillarNetworkA,5875,5875,5875,1986-02-01,587.500000000065,587.5036,2015-01-01 01:37:55,bin5875,75,False +CTSPillarNetworkA,5876,5876,5876,1986-02-02,587.600000000065,587.6036,2015-01-01 01:37:56,bin5876,35,False +CTSPillarNetworkA,5877,5877,5877,1986-02-03,587.7000000000651,587.70355,2015-01-01 01:37:57,bin5877,75,False +CTSPillarNetworkA,5878,5878,5878,1986-02-04,587.8000000000651,587.8035,2015-01-01 01:37:58,bin5878,35,False +CTSPillarNetworkA,5879,5879,5879,1986-02-05,587.9000000000651,587.9035,2015-01-01 01:37:59,bin5879,75,False +CTSPillarNetworkA,5880,5880,5880,1986-02-06,588.0000000000651,588.0035,2015-01-01 01:38:00,bin5880,35,False +CTSPillarNetworkA,5881,5881,5881,1986-02-07,588.1000000000652,588.10345,2015-01-01 01:38:01,bin5881,75,False +CTSPillarNetworkA,5882,5882,5882,1986-02-08,588.2000000000652,588.2034,2015-01-01 01:38:02,bin5882,35,False +CTSPillarNetworkA,5883,5883,5883,1986-02-09,588.3000000000652,588.3034,2015-01-01 01:38:03,bin5883,75,False +CTSPillarNetworkA,5884,5884,5884,1986-02-10,588.4000000000652,588.4034,2015-01-01 01:38:04,bin5884,35,False +CTSPillarNetworkA,5885,5885,5885,1986-02-11,588.5000000000653,588.50336,2015-01-01 01:38:05,bin5885,75,False +CTSPillarNetworkA,5886,5886,5886,1986-02-12,588.6000000000653,588.60333,2015-01-01 01:38:06,bin5886,35,False +CTSPillarNetworkA,5887,5887,5887,1986-02-13,588.7000000000653,588.7033,2015-01-01 01:38:07,bin5887,75,False +CTSPillarNetworkA,5888,5888,5888,1986-02-14,588.8000000000653,588.8033,2015-01-01 01:38:08,bin5888,35,False +CTSPillarNetworkA,5889,5889,5889,1986-02-15,588.9000000000653,588.90326,2015-01-01 01:38:09,bin5889,75,False +CTSPillarNetworkA,5890,5890,5890,1986-02-16,589.0000000000654,589.00323,2015-01-01 01:38:10,bin5890,35,False +CTSPillarNetworkA,5891,5891,5891,1986-02-17,589.1000000000654,589.1032,2015-01-01 01:38:11,bin5891,75,False +CTSPillarNetworkA,5892,5892,5892,1986-02-18,589.2000000000654,589.2032,2015-01-01 01:38:12,bin5892,35,False +CTSPillarNetworkA,5893,5893,5893,1986-02-19,589.3000000000654,589.30316,2015-01-01 01:38:13,bin5893,75,False +CTSPillarNetworkA,5894,5894,5894,1986-02-20,589.4000000000655,589.40314,2015-01-01 01:38:14,bin5894,35,False +CTSPillarNetworkA,5895,5895,5895,1986-02-21,589.5000000000655,589.5031,2015-01-01 01:38:15,bin5895,75,False +CTSPillarNetworkA,5896,5896,5896,1986-02-22,589.6000000000655,589.6031,2015-01-01 01:38:16,bin5896,35,False +CTSPillarNetworkA,5897,5897,5897,1986-02-23,589.7000000000655,589.70306,2015-01-01 01:38:17,bin5897,75,False +CTSPillarNetworkA,5898,5898,5898,1986-02-24,589.8000000000656,589.80304,2015-01-01 01:38:18,bin5898,35,False +CTSPillarNetworkA,5899,5899,5899,1986-02-25,589.9000000000656,589.903,2015-01-01 01:38:19,bin5899,75,False +CTSPillarNetworkA,5900,5900,5900,1986-02-26,590.0000000000656,590.003,2015-01-01 01:38:20,bin5900,35,False +CTSPillarNetworkA,5901,5901,5901,1986-02-27,590.1000000000656,590.10297,2015-01-01 01:38:21,bin5901,75,False +CTSPillarNetworkA,5902,5902,5902,1986-02-28,590.2000000000656,590.20294,2015-01-01 01:38:22,bin5902,35,False +CTSPillarNetworkA,5903,5903,5903,1986-03-01,590.3000000000657,590.3029,2015-01-01 01:38:23,bin5903,75,False +CTSPillarNetworkA,5904,5904,5904,1986-03-02,590.4000000000657,590.4029,2015-01-01 01:38:24,bin5904,35,False +CTSPillarNetworkA,5905,5905,5905,1986-03-03,590.5000000000657,590.50287,2015-01-01 01:38:25,bin5905,75,False +CTSPillarNetworkA,5906,5906,5906,1986-03-04,590.6000000000657,590.60284,2015-01-01 01:38:26,bin5906,35,False +CTSPillarNetworkA,5907,5907,5907,1986-03-05,590.7000000000658,590.7028,2015-01-01 01:38:27,bin5907,75,False +CTSPillarNetworkA,5908,5908,5908,1986-03-06,590.8000000000658,590.8028,2015-01-01 01:38:28,bin5908,35,False +CTSPillarNetworkA,5909,5909,5909,1986-03-07,590.9000000000658,590.9028,2015-01-01 01:38:29,bin5909,75,False +CTSPillarNetworkA,5910,5910,5910,1986-03-08,591.0000000000658,591.00275,2015-01-01 01:38:30,bin5910,35,False +CTSPillarNetworkA,5911,5911,5911,1986-03-09,591.1000000000658,591.1027,2015-01-01 01:38:31,bin5911,75,False +CTSPillarNetworkA,5912,5912,5912,1986-03-10,591.2000000000659,591.2027,2015-01-01 01:38:32,bin5912,35,False +CTSPillarNetworkA,5913,5913,5913,1986-03-11,591.3000000000659,591.3027,2015-01-01 01:38:33,bin5913,75,False +CTSPillarNetworkA,5914,5914,5914,1986-03-12,591.4000000000659,591.40265,2015-01-01 01:38:34,bin5914,35,False +CTSPillarNetworkA,5915,5915,5915,1986-03-13,591.5000000000659,591.5026,2015-01-01 01:38:35,bin5915,75,False +CTSPillarNetworkA,5916,5916,5916,1986-03-14,591.600000000066,591.6026,2015-01-01 01:38:36,bin5916,35,False +CTSPillarNetworkA,5917,5917,5917,1986-03-15,591.700000000066,591.7026,2015-01-01 01:38:37,bin5917,75,False +CTSPillarNetworkA,5918,5918,5918,1986-03-16,591.800000000066,591.80255,2015-01-01 01:38:38,bin5918,35,False +CTSPillarNetworkA,5919,5919,5919,1986-03-17,591.900000000066,591.9025,2015-01-01 01:38:39,bin5919,75,False +CTSPillarNetworkA,5920,5920,5920,1986-03-18,592.000000000066,592.0025,2015-01-01 01:38:40,bin5920,35,False +CTSPillarNetworkA,5921,5921,5921,1986-03-19,592.1000000000661,592.1025,2015-01-01 01:38:41,bin5921,75,False +CTSPillarNetworkA,5922,5922,5922,1986-03-20,592.2000000000661,592.20245,2015-01-01 01:38:42,bin5922,35,False +CTSPillarNetworkA,5923,5923,5923,1986-03-21,592.3000000000661,592.3024,2015-01-01 01:38:43,bin5923,75,False +CTSPillarNetworkA,5924,5924,5924,1986-03-22,592.4000000000661,592.4024,2015-01-01 01:38:44,bin5924,35,False +CTSPillarNetworkA,5925,5925,5925,1986-03-23,592.5000000000662,592.5024,2015-01-01 01:38:45,bin5925,75,False +CTSPillarNetworkA,5926,5926,5926,1986-03-24,592.6000000000662,592.60236,2015-01-01 01:38:46,bin5926,35,False +CTSPillarNetworkA,5927,5927,5927,1986-03-25,592.7000000000662,592.70233,2015-01-01 01:38:47,bin5927,75,False +CTSPillarNetworkA,5928,5928,5928,1986-03-26,592.8000000000662,592.8023,2015-01-01 01:38:48,bin5928,35,False +CTSPillarNetworkA,5929,5929,5929,1986-03-27,592.9000000000663,592.9023,2015-01-01 01:38:49,bin5929,75,False +CTSPillarNetworkA,5930,5930,5930,1986-03-28,593.0000000000663,593.00226,2015-01-01 01:38:50,bin5930,35,False +CTSPillarNetworkA,5931,5931,5931,1986-03-29,593.1000000000663,593.10223,2015-01-01 01:38:51,bin5931,75,False +CTSPillarNetworkA,5932,5932,5932,1986-03-30,593.2000000000663,593.2022,2015-01-01 01:38:52,bin5932,35,False +CTSPillarNetworkA,5933,5933,5933,1986-03-31,593.3000000000663,593.3022,2015-01-01 01:38:53,bin5933,75,False +CTSPillarNetworkA,5934,5934,5934,1986-04-01,593.4000000000664,593.40216,2015-01-01 01:38:54,bin5934,35,False +CTSPillarNetworkA,5935,5935,5935,1986-04-02,593.5000000000664,593.50214,2015-01-01 01:38:55,bin5935,75,False +CTSPillarNetworkA,5936,5936,5936,1986-04-03,593.6000000000664,593.6021,2015-01-01 01:38:56,bin5936,35,False +CTSPillarNetworkA,5937,5937,5937,1986-04-04,593.7000000000664,593.7021,2015-01-01 01:38:57,bin5937,75,False +CTSPillarNetworkA,5938,5938,5938,1986-04-05,593.8000000000665,593.80206,2015-01-01 01:38:58,bin5938,35,False +CTSPillarNetworkA,5939,5939,5939,1986-04-06,593.9000000000665,593.90204,2015-01-01 01:38:59,bin5939,75,False +CTSPillarNetworkA,5940,5940,5940,1986-04-07,594.0000000000665,594.002,2015-01-01 01:39:00,bin5940,35,False +CTSPillarNetworkA,5941,5941,5941,1986-04-08,594.1000000000665,594.102,2015-01-01 01:39:01,bin5941,75,False +CTSPillarNetworkA,5942,5942,5942,1986-04-09,594.2000000000666,594.20197,2015-01-01 01:39:02,bin5942,35,False +CTSPillarNetworkA,5943,5943,5943,1986-04-10,594.3000000000666,594.30194,2015-01-01 01:39:03,bin5943,75,False +CTSPillarNetworkA,5944,5944,5944,1986-04-11,594.4000000000666,594.4019,2015-01-01 01:39:04,bin5944,35,False +CTSPillarNetworkA,5945,5945,5945,1986-04-12,594.5000000000666,594.5019,2015-01-01 01:39:05,bin5945,75,False +CTSPillarNetworkA,5946,5946,5946,1986-04-13,594.6000000000666,594.60187,2015-01-01 01:39:06,bin5946,35,False +CTSPillarNetworkA,5947,5947,5947,1986-04-14,594.7000000000667,594.70184,2015-01-01 01:39:07,bin5947,75,False +CTSPillarNetworkA,5948,5948,5948,1986-04-15,594.8000000000667,594.8018,2015-01-01 01:39:08,bin5948,35,False +CTSPillarNetworkA,5949,5949,5949,1986-04-16,594.9000000000667,594.9018,2015-01-01 01:39:09,bin5949,75,False +CTSPillarNetworkA,5950,5950,5950,1986-04-17,595.0000000000667,595.0018,2015-01-01 01:39:10,bin5950,35,False +CTSPillarNetworkA,5951,5951,5951,1986-04-18,595.1000000000668,595.10175,2015-01-01 01:39:11,bin5951,75,False +CTSPillarNetworkA,5952,5952,5952,1986-04-19,595.2000000000668,595.2017,2015-01-01 01:39:12,bin5952,35,False +CTSPillarNetworkA,5953,5953,5953,1986-04-20,595.3000000000668,595.3017,2015-01-01 01:39:13,bin5953,75,False +CTSPillarNetworkA,5954,5954,5954,1986-04-21,595.4000000000668,595.4017,2015-01-01 01:39:14,bin5954,35,False +CTSPillarNetworkA,5955,5955,5955,1986-04-22,595.5000000000668,595.50165,2015-01-01 01:39:15,bin5955,75,False +CTSPillarNetworkA,5956,5956,5956,1986-04-23,595.6000000000669,595.6016,2015-01-01 01:39:16,bin5956,35,False +CTSPillarNetworkA,5957,5957,5957,1986-04-24,595.7000000000669,595.7016,2015-01-01 01:39:17,bin5957,75,False +CTSPillarNetworkA,5958,5958,5958,1986-04-25,595.8000000000669,595.8016,2015-01-01 01:39:18,bin5958,35,False +CTSPillarNetworkA,5959,5959,5959,1986-04-26,595.9000000000669,595.90155,2015-01-01 01:39:19,bin5959,75,False +CTSPillarNetworkA,5960,5960,5960,1986-04-27,596.000000000067,596.0015,2015-01-01 01:39:20,bin5960,35,False +CTSPillarNetworkA,5961,5961,5961,1986-04-28,596.100000000067,596.1015,2015-01-01 01:39:21,bin5961,75,False +CTSPillarNetworkA,5962,5962,5962,1986-04-29,596.200000000067,596.2015,2015-01-01 01:39:22,bin5962,35,False +CTSPillarNetworkA,5963,5963,5963,1986-04-30,596.300000000067,596.30145,2015-01-01 01:39:23,bin5963,75,False +CTSPillarNetworkA,5964,5964,5964,1986-05-01,596.400000000067,596.4014,2015-01-01 01:39:24,bin5964,35,False +CTSPillarNetworkA,5965,5965,5965,1986-05-02,596.5000000000671,596.5014,2015-01-01 01:39:25,bin5965,75,False +CTSPillarNetworkA,5966,5966,5966,1986-05-03,596.6000000000671,596.6014,2015-01-01 01:39:26,bin5966,35,False +CTSPillarNetworkA,5967,5967,5967,1986-05-04,596.7000000000671,596.70135,2015-01-01 01:39:27,bin5967,75,False +CTSPillarNetworkA,5968,5968,5968,1986-05-05,596.8000000000671,596.80133,2015-01-01 01:39:28,bin5968,35,False +CTSPillarNetworkA,5969,5969,5969,1986-05-06,596.9000000000672,596.9013,2015-01-01 01:39:29,bin5969,75,False +CTSPillarNetworkA,5970,5970,5970,1986-05-07,597.0000000000672,597.0013,2015-01-01 01:39:30,bin5970,35,False +CTSPillarNetworkA,5971,5971,5971,1986-05-08,597.1000000000672,597.10126,2015-01-01 01:39:31,bin5971,75,False +CTSPillarNetworkA,5972,5972,5972,1986-05-09,597.2000000000672,597.20123,2015-01-01 01:39:32,bin5972,35,False +CTSPillarNetworkA,5973,5973,5973,1986-05-10,597.3000000000673,597.3012,2015-01-01 01:39:33,bin5973,75,False +CTSPillarNetworkA,5974,5974,5974,1986-05-11,597.4000000000673,597.4012,2015-01-01 01:39:34,bin5974,35,False +CTSPillarNetworkA,5975,5975,5975,1986-05-12,597.5000000000673,597.50116,2015-01-01 01:39:35,bin5975,75,False +CTSPillarNetworkA,5976,5976,5976,1986-05-13,597.6000000000673,597.60114,2015-01-01 01:39:36,bin5976,35,False +CTSPillarNetworkA,5977,5977,5977,1986-05-14,597.7000000000673,597.7011,2015-01-01 01:39:37,bin5977,75,False +CTSPillarNetworkA,5978,5978,5978,1986-05-15,597.8000000000674,597.8011,2015-01-01 01:39:38,bin5978,35,False +CTSPillarNetworkA,5979,5979,5979,1986-05-16,597.9000000000674,597.90106,2015-01-01 01:39:39,bin5979,75,False +CTSPillarNetworkA,5980,5980,5980,1986-05-17,598.0000000000674,598.00104,2015-01-01 01:39:40,bin5980,35,False +CTSPillarNetworkA,5981,5981,5981,1986-05-18,598.1000000000674,598.101,2015-01-01 01:39:41,bin5981,75,False +CTSPillarNetworkA,5982,5982,5982,1986-05-19,598.2000000000675,598.201,2015-01-01 01:39:42,bin5982,35,False +CTSPillarNetworkA,5983,5983,5983,1986-05-20,598.3000000000675,598.30096,2015-01-01 01:39:43,bin5983,75,False +CTSPillarNetworkA,5984,5984,5984,1986-05-21,598.4000000000675,598.40094,2015-01-01 01:39:44,bin5984,35,False +CTSPillarNetworkA,5985,5985,5985,1986-05-22,598.5000000000675,598.5009,2015-01-01 01:39:45,bin5985,75,False +CTSPillarNetworkA,5986,5986,5986,1986-05-23,598.6000000000676,598.6009,2015-01-01 01:39:46,bin5986,35,False +CTSPillarNetworkA,5987,5987,5987,1986-05-24,598.7000000000676,598.70087,2015-01-01 01:39:47,bin5987,75,False +CTSPillarNetworkA,5988,5988,5988,1986-05-25,598.8000000000676,598.80084,2015-01-01 01:39:48,bin5988,35,False +CTSPillarNetworkA,5989,5989,5989,1986-05-26,598.9000000000676,598.9008,2015-01-01 01:39:49,bin5989,75,False +CTSPillarNetworkA,5990,5990,5990,1986-05-27,599.0000000000676,599.0008,2015-01-01 01:39:50,bin5990,35,False +CTSPillarNetworkA,5991,5991,5991,1986-05-28,599.1000000000677,599.10077,2015-01-01 01:39:51,bin5991,75,False +CTSPillarNetworkA,5992,5992,5992,1986-05-29,599.2000000000677,599.20074,2015-01-01 01:39:52,bin5992,35,False +CTSPillarNetworkA,5993,5993,5993,1986-05-30,599.3000000000677,599.3007,2015-01-01 01:39:53,bin5993,75,False +CTSPillarNetworkA,5994,5994,5994,1986-05-31,599.4000000000677,599.4007,2015-01-01 01:39:54,bin5994,35,False +CTSPillarNetworkA,5995,5995,5995,1986-06-01,599.5000000000678,599.5007,2015-01-01 01:39:55,bin5995,75,False +CTSPillarNetworkA,5996,5996,5996,1986-06-02,599.6000000000678,599.60065,2015-01-01 01:39:56,bin5996,35,False +CTSPillarNetworkA,5997,5997,5997,1986-06-03,599.7000000000678,599.7006,2015-01-01 01:39:57,bin5997,75,False +CTSPillarNetworkA,5998,5998,5998,1986-06-04,599.8000000000678,599.8006,2015-01-01 01:39:58,bin5998,35,False +CTSPillarNetworkA,5999,5999,5999,1986-06-05,599.9000000000678,599.9006,2015-01-01 01:39:59,bin5999,75,False +CTSPillarNetworkA,6000,6000,6000,1986-06-06,600.0000000000679,600.00055,2015-01-01 01:40:00,bin6000,35,False +CTSPillarNetworkA,6001,6001,6001,1986-06-07,600.1000000000679,600.1005,2015-01-01 01:40:01,bin6001,75,False +CTSPillarNetworkA,6002,6002,6002,1986-06-08,600.2000000000679,600.2005,2015-01-01 01:40:02,bin6002,35,False +CTSPillarNetworkA,6003,6003,6003,1986-06-09,600.3000000000679,600.3005,2015-01-01 01:40:03,bin6003,75,False +CTSPillarNetworkA,6004,6004,6004,1986-06-10,600.400000000068,600.40045,2015-01-01 01:40:04,bin6004,35,False +CTSPillarNetworkA,6005,6005,6005,1986-06-11,600.500000000068,600.5004,2015-01-01 01:40:05,bin6005,75,False +CTSPillarNetworkA,6006,6006,6006,1986-06-12,600.600000000068,600.6004,2015-01-01 01:40:06,bin6006,35,False +CTSPillarNetworkA,6007,6007,6007,1986-06-13,600.700000000068,600.7004,2015-01-01 01:40:07,bin6007,75,False +CTSPillarNetworkA,6008,6008,6008,1986-06-14,600.800000000068,600.80035,2015-01-01 01:40:08,bin6008,35,False +CTSPillarNetworkA,6009,6009,6009,1986-06-15,600.9000000000681,600.9003,2015-01-01 01:40:09,bin6009,75,False +CTSPillarNetworkA,6010,6010,6010,1986-06-16,601.0000000000681,601.0003,2015-01-01 01:40:10,bin6010,35,False +CTSPillarNetworkA,6011,6011,6011,1986-06-17,601.1000000000681,601.1003,2015-01-01 01:40:11,bin6011,75,False +CTSPillarNetworkA,6012,6012,6012,1986-06-18,601.2000000000681,601.20026,2015-01-01 01:40:12,bin6012,35,False +CTSPillarNetworkA,6013,6013,6013,1986-06-19,601.3000000000682,601.30023,2015-01-01 01:40:13,bin6013,75,False +CTSPillarNetworkA,6014,6014,6014,1986-06-20,601.4000000000682,601.4002,2015-01-01 01:40:14,bin6014,35,False +CTSPillarNetworkA,6015,6015,6015,1986-06-21,601.5000000000682,601.5002,2015-01-01 01:40:15,bin6015,75,False +CTSPillarNetworkA,6016,6016,6016,1986-06-22,601.6000000000682,601.60016,2015-01-01 01:40:16,bin6016,35,False +CTSPillarNetworkA,6017,6017,6017,1986-06-23,601.7000000000683,601.70013,2015-01-01 01:40:17,bin6017,75,False +CTSPillarNetworkA,6018,6018,6018,1986-06-24,601.8000000000683,601.8001,2015-01-01 01:40:18,bin6018,35,False +CTSPillarNetworkA,6019,6019,6019,1986-06-25,601.9000000000683,601.9001,2015-01-01 01:40:19,bin6019,75,False +CTSPillarNetworkA,6020,6020,6020,1986-06-26,602.0000000000683,602.00006,2015-01-01 01:40:20,bin6020,35,False +CTSPillarNetworkA,6021,6021,6021,1986-06-27,602.1000000000683,602.10004,2015-01-01 01:40:21,bin6021,75,False +CTSPillarNetworkA,6022,6022,6022,1986-06-28,602.2000000000684,602.2,2015-01-01 01:40:22,bin6022,35,False +CTSPillarNetworkA,6023,6023,6023,1986-06-29,602.3000000000684,602.3,2015-01-01 01:40:23,bin6023,75,False +CTSPillarNetworkA,6024,6024,6024,1986-06-30,602.4000000000684,602.39996,2015-01-01 01:40:24,bin6024,35,False +CTSPillarNetworkA,6025,6025,6025,1986-07-01,602.5000000000684,602.49994,2015-01-01 01:40:25,bin6025,75,False +CTSPillarNetworkA,6026,6026,6026,1986-07-02,602.6000000000685,602.5999,2015-01-01 01:40:26,bin6026,35,False +CTSPillarNetworkA,6027,6027,6027,1986-07-03,602.7000000000685,602.6999,2015-01-01 01:40:27,bin6027,75,False +CTSPillarNetworkA,6028,6028,6028,1986-07-04,602.8000000000685,602.79987,2015-01-01 01:40:28,bin6028,35,False +CTSPillarNetworkA,6029,6029,6029,1986-07-05,602.9000000000685,602.89984,2015-01-01 01:40:29,bin6029,75,False +CTSPillarNetworkA,6030,6030,6030,1986-07-06,603.0000000000686,602.9998,2015-01-01 01:40:30,bin6030,35,False +CTSPillarNetworkA,6031,6031,6031,1986-07-07,603.1000000000686,603.0998,2015-01-01 01:40:31,bin6031,75,False +CTSPillarNetworkA,6032,6032,6032,1986-07-08,603.2000000000686,603.19977,2015-01-01 01:40:32,bin6032,35,False +CTSPillarNetworkA,6033,6033,6033,1986-07-09,603.3000000000686,603.29974,2015-01-01 01:40:33,bin6033,75,False +CTSPillarNetworkA,6034,6034,6034,1986-07-10,603.4000000000686,603.3997,2015-01-01 01:40:34,bin6034,35,False +CTSPillarNetworkA,6035,6035,6035,1986-07-11,603.5000000000687,603.4997,2015-01-01 01:40:35,bin6035,75,False +CTSPillarNetworkA,6036,6036,6036,1986-07-12,603.6000000000687,603.5997,2015-01-01 01:40:36,bin6036,35,False +CTSPillarNetworkA,6037,6037,6037,1986-07-13,603.7000000000687,603.69965,2015-01-01 01:40:37,bin6037,75,False +CTSPillarNetworkA,6038,6038,6038,1986-07-14,603.8000000000687,603.7996,2015-01-01 01:40:38,bin6038,35,False +CTSPillarNetworkA,6039,6039,6039,1986-07-15,603.9000000000688,603.8996,2015-01-01 01:40:39,bin6039,75,False +CTSPillarNetworkA,6040,6040,6040,1986-07-16,604.0000000000688,603.9996,2015-01-01 01:40:40,bin6040,35,False +CTSPillarNetworkA,6041,6041,6041,1986-07-17,604.1000000000688,604.09955,2015-01-01 01:40:41,bin6041,75,False +CTSPillarNetworkA,6042,6042,6042,1986-07-18,604.2000000000688,604.1995,2015-01-01 01:40:42,bin6042,35,False +CTSPillarNetworkA,6043,6043,6043,1986-07-19,604.3000000000688,604.2995,2015-01-01 01:40:43,bin6043,75,False +CTSPillarNetworkA,6044,6044,6044,1986-07-20,604.4000000000689,604.3995,2015-01-01 01:40:44,bin6044,35,False +CTSPillarNetworkA,6045,6045,6045,1986-07-21,604.5000000000689,604.49945,2015-01-01 01:40:45,bin6045,75,False +CTSPillarNetworkA,6046,6046,6046,1986-07-22,604.6000000000689,604.5994,2015-01-01 01:40:46,bin6046,35,False +CTSPillarNetworkA,6047,6047,6047,1986-07-23,604.7000000000689,604.6994,2015-01-01 01:40:47,bin6047,75,False +CTSPillarNetworkA,6048,6048,6048,1986-07-24,604.800000000069,604.7994,2015-01-01 01:40:48,bin6048,35,False +CTSPillarNetworkA,6049,6049,6049,1986-07-25,604.900000000069,604.89935,2015-01-01 01:40:49,bin6049,75,False +CTSPillarNetworkA,6050,6050,6050,1986-07-26,605.000000000069,604.9993,2015-01-01 01:40:50,bin6050,35,False +CTSPillarNetworkA,6051,6051,6051,1986-07-27,605.100000000069,605.0993,2015-01-01 01:40:51,bin6051,75,False +CTSPillarNetworkA,6052,6052,6052,1986-07-28,605.200000000069,605.1993,2015-01-01 01:40:52,bin6052,35,False +CTSPillarNetworkA,6053,6053,6053,1986-07-29,605.3000000000691,605.29926,2015-01-01 01:40:53,bin6053,75,False +CTSPillarNetworkA,6054,6054,6054,1986-07-30,605.4000000000691,605.39923,2015-01-01 01:40:54,bin6054,35,False +CTSPillarNetworkA,6055,6055,6055,1986-07-31,605.5000000000691,605.4992,2015-01-01 01:40:55,bin6055,75,False +CTSPillarNetworkA,6056,6056,6056,1986-08-01,605.6000000000691,605.5992,2015-01-01 01:40:56,bin6056,35,False +CTSPillarNetworkA,6057,6057,6057,1986-08-02,605.7000000000692,605.69916,2015-01-01 01:40:57,bin6057,75,False +CTSPillarNetworkA,6058,6058,6058,1986-08-03,605.8000000000692,605.79913,2015-01-01 01:40:58,bin6058,35,False +CTSPillarNetworkA,6059,6059,6059,1986-08-04,605.9000000000692,605.8991,2015-01-01 01:40:59,bin6059,75,False +CTSPillarNetworkA,6060,6060,6060,1986-08-05,606.0000000000692,605.9991,2015-01-01 01:41:00,bin6060,35,False +CTSPillarNetworkA,6061,6061,6061,1986-08-06,606.1000000000693,606.09906,2015-01-01 01:41:01,bin6061,75,False +CTSPillarNetworkA,6062,6062,6062,1986-08-07,606.2000000000693,606.19904,2015-01-01 01:41:02,bin6062,35,False +CTSPillarNetworkA,6063,6063,6063,1986-08-08,606.3000000000693,606.299,2015-01-01 01:41:03,bin6063,75,False +CTSPillarNetworkA,6064,6064,6064,1986-08-09,606.4000000000693,606.399,2015-01-01 01:41:04,bin6064,35,False +CTSPillarNetworkA,6065,6065,6065,1986-08-10,606.5000000000693,606.49896,2015-01-01 01:41:05,bin6065,75,False +CTSPillarNetworkA,6066,6066,6066,1986-08-11,606.6000000000694,606.59894,2015-01-01 01:41:06,bin6066,35,False +CTSPillarNetworkA,6067,6067,6067,1986-08-12,606.7000000000694,606.6989,2015-01-01 01:41:07,bin6067,75,False +CTSPillarNetworkA,6068,6068,6068,1986-08-13,606.8000000000694,606.7989,2015-01-01 01:41:08,bin6068,35,False +CTSPillarNetworkA,6069,6069,6069,1986-08-14,606.9000000000694,606.89886,2015-01-01 01:41:09,bin6069,75,False +CTSPillarNetworkA,6070,6070,6070,1986-08-15,607.0000000000695,606.99884,2015-01-01 01:41:10,bin6070,35,False +CTSPillarNetworkA,6071,6071,6071,1986-08-16,607.1000000000695,607.0988,2015-01-01 01:41:11,bin6071,75,False +CTSPillarNetworkA,6072,6072,6072,1986-08-17,607.2000000000695,607.1988,2015-01-01 01:41:12,bin6072,35,False +CTSPillarNetworkA,6073,6073,6073,1986-08-18,607.3000000000695,607.29877,2015-01-01 01:41:13,bin6073,75,False +CTSPillarNetworkA,6074,6074,6074,1986-08-19,607.4000000000696,607.39874,2015-01-01 01:41:14,bin6074,35,False +CTSPillarNetworkA,6075,6075,6075,1986-08-20,607.5000000000696,607.4987,2015-01-01 01:41:15,bin6075,75,False +CTSPillarNetworkA,6076,6076,6076,1986-08-21,607.6000000000696,607.5987,2015-01-01 01:41:16,bin6076,35,False +CTSPillarNetworkA,6077,6077,6077,1986-08-22,607.7000000000696,607.69867,2015-01-01 01:41:17,bin6077,75,False +CTSPillarNetworkA,6078,6078,6078,1986-08-23,607.8000000000696,607.79865,2015-01-01 01:41:18,bin6078,35,False +CTSPillarNetworkA,6079,6079,6079,1986-08-24,607.9000000000697,607.8986,2015-01-01 01:41:19,bin6079,75,False +CTSPillarNetworkA,6080,6080,6080,1986-08-25,608.0000000000697,607.9986,2015-01-01 01:41:20,bin6080,35,False +CTSPillarNetworkA,6081,6081,6081,1986-08-26,608.1000000000697,608.0986,2015-01-01 01:41:21,bin6081,75,False +CTSPillarNetworkA,6082,6082,6082,1986-08-27,608.2000000000697,608.19855,2015-01-01 01:41:22,bin6082,35,False +CTSPillarNetworkA,6083,6083,6083,1986-08-28,608.3000000000698,608.2985,2015-01-01 01:41:23,bin6083,75,False +CTSPillarNetworkA,6084,6084,6084,1986-08-29,608.4000000000698,608.3985,2015-01-01 01:41:24,bin6084,35,False +CTSPillarNetworkA,6085,6085,6085,1986-08-30,608.5000000000698,608.4985,2015-01-01 01:41:25,bin6085,75,False +CTSPillarNetworkA,6086,6086,6086,1986-08-31,608.6000000000698,608.59845,2015-01-01 01:41:26,bin6086,35,False +CTSPillarNetworkA,6087,6087,6087,1986-09-01,608.7000000000698,608.6984,2015-01-01 01:41:27,bin6087,75,False +CTSPillarNetworkA,6088,6088,6088,1986-09-02,608.8000000000699,608.7984,2015-01-01 01:41:28,bin6088,35,False +CTSPillarNetworkA,6089,6089,6089,1986-09-03,608.9000000000699,608.8984,2015-01-01 01:41:29,bin6089,75,False +CTSPillarNetworkA,6090,6090,6090,1986-09-04,609.0000000000699,608.99835,2015-01-01 01:41:30,bin6090,35,False +CTSPillarNetworkA,6091,6091,6091,1986-09-05,609.1000000000699,609.0983,2015-01-01 01:41:31,bin6091,75,False +CTSPillarNetworkA,6092,6092,6092,1986-09-06,609.20000000007,609.1983,2015-01-01 01:41:32,bin6092,35,False +CTSPillarNetworkA,6093,6093,6093,1986-09-07,609.30000000007,609.2983,2015-01-01 01:41:33,bin6093,75,False +CTSPillarNetworkA,6094,6094,6094,1986-09-08,609.40000000007,609.39825,2015-01-01 01:41:34,bin6094,35,False +CTSPillarNetworkA,6095,6095,6095,1986-09-09,609.50000000007,609.4982,2015-01-01 01:41:35,bin6095,75,False +CTSPillarNetworkA,6096,6096,6096,1986-09-10,609.60000000007,609.5982,2015-01-01 01:41:36,bin6096,35,False +CTSPillarNetworkA,6097,6097,6097,1986-09-11,609.7000000000701,609.6982,2015-01-01 01:41:37,bin6097,75,False +CTSPillarNetworkA,6098,6098,6098,1986-09-12,609.8000000000701,609.79816,2015-01-01 01:41:38,bin6098,35,False +CTSPillarNetworkA,6099,6099,6099,1986-09-13,609.9000000000701,609.89813,2015-01-01 01:41:39,bin6099,75,False +CTSPillarNetworkA,6100,6100,6100,1986-09-14,610.0000000000701,609.9981,2015-01-01 01:41:40,bin6100,35,False +CTSPillarNetworkA,6101,6101,6101,1986-09-15,610.1000000000702,610.0981,2015-01-01 01:41:41,bin6101,75,False +CTSPillarNetworkA,6102,6102,6102,1986-09-16,610.2000000000702,610.19806,2015-01-01 01:41:42,bin6102,35,False +CTSPillarNetworkA,6103,6103,6103,1986-09-17,610.3000000000702,610.29803,2015-01-01 01:41:43,bin6103,75,False +CTSPillarNetworkA,6104,6104,6104,1986-09-18,610.4000000000702,610.398,2015-01-01 01:41:44,bin6104,35,False +CTSPillarNetworkA,6105,6105,6105,1986-09-19,610.5000000000703,610.498,2015-01-01 01:41:45,bin6105,75,False +CTSPillarNetworkA,6106,6106,6106,1986-09-20,610.6000000000703,610.59796,2015-01-01 01:41:46,bin6106,35,False +CTSPillarNetworkA,6107,6107,6107,1986-09-21,610.7000000000703,610.69794,2015-01-01 01:41:47,bin6107,75,False +CTSPillarNetworkA,6108,6108,6108,1986-09-22,610.8000000000703,610.7979,2015-01-01 01:41:48,bin6108,35,False +CTSPillarNetworkA,6109,6109,6109,1986-09-23,610.9000000000703,610.8979,2015-01-01 01:41:49,bin6109,75,False +CTSPillarNetworkA,6110,6110,6110,1986-09-24,611.0000000000704,610.99786,2015-01-01 01:41:50,bin6110,35,False +CTSPillarNetworkA,6111,6111,6111,1986-09-25,611.1000000000704,611.09784,2015-01-01 01:41:51,bin6111,75,False +CTSPillarNetworkA,6112,6112,6112,1986-09-26,611.2000000000704,611.1978,2015-01-01 01:41:52,bin6112,35,False +CTSPillarNetworkA,6113,6113,6113,1986-09-27,611.3000000000704,611.2978,2015-01-01 01:41:53,bin6113,75,False +CTSPillarNetworkA,6114,6114,6114,1986-09-28,611.4000000000705,611.39777,2015-01-01 01:41:54,bin6114,35,False +CTSPillarNetworkA,6115,6115,6115,1986-09-29,611.5000000000705,611.49774,2015-01-01 01:41:55,bin6115,75,False +CTSPillarNetworkA,6116,6116,6116,1986-09-30,611.6000000000705,611.5977,2015-01-01 01:41:56,bin6116,35,False +CTSPillarNetworkA,6117,6117,6117,1986-10-01,611.7000000000705,611.6977,2015-01-01 01:41:57,bin6117,75,False +CTSPillarNetworkA,6118,6118,6118,1986-10-02,611.8000000000706,611.79767,2015-01-01 01:41:58,bin6118,35,False +CTSPillarNetworkA,6119,6119,6119,1986-10-03,611.9000000000706,611.89764,2015-01-01 01:41:59,bin6119,75,False +CTSPillarNetworkA,6120,6120,6120,1986-10-04,612.0000000000706,611.9976,2015-01-01 01:42:00,bin6120,35,False +CTSPillarNetworkA,6121,6121,6121,1986-10-05,612.1000000000706,612.0976,2015-01-01 01:42:01,bin6121,75,False +CTSPillarNetworkA,6122,6122,6122,1986-10-06,612.2000000000706,612.1976,2015-01-01 01:42:02,bin6122,35,False +CTSPillarNetworkA,6123,6123,6123,1986-10-07,612.3000000000707,612.29755,2015-01-01 01:42:03,bin6123,75,False +CTSPillarNetworkA,6124,6124,6124,1986-10-08,612.4000000000707,612.3975,2015-01-01 01:42:04,bin6124,35,False +CTSPillarNetworkA,6125,6125,6125,1986-10-09,612.5000000000707,612.4975,2015-01-01 01:42:05,bin6125,75,False +CTSPillarNetworkA,6126,6126,6126,1986-10-10,612.6000000000707,612.5975,2015-01-01 01:42:06,bin6126,35,False +CTSPillarNetworkA,6127,6127,6127,1986-10-11,612.7000000000708,612.69745,2015-01-01 01:42:07,bin6127,75,False +CTSPillarNetworkA,6128,6128,6128,1986-10-12,612.8000000000708,612.7974,2015-01-01 01:42:08,bin6128,35,False +CTSPillarNetworkA,6129,6129,6129,1986-10-13,612.9000000000708,612.8974,2015-01-01 01:42:09,bin6129,75,False +CTSPillarNetworkA,6130,6130,6130,1986-10-14,613.0000000000708,612.9974,2015-01-01 01:42:10,bin6130,35,False +CTSPillarNetworkA,6131,6131,6131,1986-10-15,613.1000000000708,613.09735,2015-01-01 01:42:11,bin6131,75,False +CTSPillarNetworkA,6132,6132,6132,1986-10-16,613.2000000000709,613.1973,2015-01-01 01:42:12,bin6132,35,False +CTSPillarNetworkA,6133,6133,6133,1986-10-17,613.3000000000709,613.2973,2015-01-01 01:42:13,bin6133,75,False +CTSPillarNetworkA,6134,6134,6134,1986-10-18,613.4000000000709,613.3973,2015-01-01 01:42:14,bin6134,35,False +CTSPillarNetworkA,6135,6135,6135,1986-10-19,613.5000000000709,613.49725,2015-01-01 01:42:15,bin6135,75,False +CTSPillarNetworkA,6136,6136,6136,1986-10-20,613.600000000071,613.5972,2015-01-01 01:42:16,bin6136,35,False +CTSPillarNetworkA,6137,6137,6137,1986-10-21,613.700000000071,613.6972,2015-01-01 01:42:17,bin6137,75,False +CTSPillarNetworkA,6138,6138,6138,1986-10-22,613.800000000071,613.7972,2015-01-01 01:42:18,bin6138,35,False +CTSPillarNetworkA,6139,6139,6139,1986-10-23,613.900000000071,613.89716,2015-01-01 01:42:19,bin6139,75,False +CTSPillarNetworkA,6140,6140,6140,1986-10-24,614.000000000071,613.99713,2015-01-01 01:42:20,bin6140,35,False +CTSPillarNetworkA,6141,6141,6141,1986-10-25,614.1000000000711,614.0971,2015-01-01 01:42:21,bin6141,75,False +CTSPillarNetworkA,6142,6142,6142,1986-10-26,614.2000000000711,614.1971,2015-01-01 01:42:22,bin6142,35,False +CTSPillarNetworkA,6143,6143,6143,1986-10-27,614.3000000000711,614.29706,2015-01-01 01:42:23,bin6143,75,False +CTSPillarNetworkA,6144,6144,6144,1986-10-28,614.4000000000711,614.39703,2015-01-01 01:42:24,bin6144,35,False +CTSPillarNetworkA,6145,6145,6145,1986-10-29,614.5000000000712,614.497,2015-01-01 01:42:25,bin6145,75,False +CTSPillarNetworkA,6146,6146,6146,1986-10-30,614.6000000000712,614.597,2015-01-01 01:42:26,bin6146,35,False +CTSPillarNetworkA,6147,6147,6147,1986-10-31,614.7000000000712,614.69696,2015-01-01 01:42:27,bin6147,75,False +CTSPillarNetworkA,6148,6148,6148,1986-11-01,614.8000000000712,614.79694,2015-01-01 01:42:28,bin6148,35,False +CTSPillarNetworkA,6149,6149,6149,1986-11-02,614.9000000000713,614.8969,2015-01-01 01:42:29,bin6149,75,False +CTSPillarNetworkA,6150,6150,6150,1986-11-03,615.0000000000713,614.9969,2015-01-01 01:42:30,bin6150,35,False +CTSPillarNetworkA,6151,6151,6151,1986-11-04,615.1000000000713,615.09686,2015-01-01 01:42:31,bin6151,75,False +CTSPillarNetworkA,6152,6152,6152,1986-11-05,615.2000000000713,615.19684,2015-01-01 01:42:32,bin6152,35,False +CTSPillarNetworkA,6153,6153,6153,1986-11-06,615.3000000000713,615.2968,2015-01-01 01:42:33,bin6153,75,False +CTSPillarNetworkA,6154,6154,6154,1986-11-07,615.4000000000714,615.3968,2015-01-01 01:42:34,bin6154,35,False +CTSPillarNetworkA,6155,6155,6155,1986-11-08,615.5000000000714,615.49677,2015-01-01 01:42:35,bin6155,75,False +CTSPillarNetworkA,6156,6156,6156,1986-11-09,615.6000000000714,615.59674,2015-01-01 01:42:36,bin6156,35,False +CTSPillarNetworkA,6157,6157,6157,1986-11-10,615.7000000000714,615.6967,2015-01-01 01:42:37,bin6157,75,False +CTSPillarNetworkA,6158,6158,6158,1986-11-11,615.8000000000715,615.7967,2015-01-01 01:42:38,bin6158,35,False +CTSPillarNetworkA,6159,6159,6159,1986-11-12,615.9000000000715,615.89667,2015-01-01 01:42:39,bin6159,75,False +CTSPillarNetworkA,6160,6160,6160,1986-11-13,616.0000000000715,615.99664,2015-01-01 01:42:40,bin6160,35,False +CTSPillarNetworkA,6161,6161,6161,1986-11-14,616.1000000000715,616.0966,2015-01-01 01:42:41,bin6161,75,False +CTSPillarNetworkA,6162,6162,6162,1986-11-15,616.2000000000716,616.1966,2015-01-01 01:42:42,bin6162,35,False +CTSPillarNetworkA,6163,6163,6163,1986-11-16,616.3000000000716,616.2966,2015-01-01 01:42:43,bin6163,75,False +CTSPillarNetworkA,6164,6164,6164,1986-11-17,616.4000000000716,616.39655,2015-01-01 01:42:44,bin6164,35,False +CTSPillarNetworkA,6165,6165,6165,1986-11-18,616.5000000000716,616.4965,2015-01-01 01:42:45,bin6165,75,False +CTSPillarNetworkA,6166,6166,6166,1986-11-19,616.6000000000716,616.5965,2015-01-01 01:42:46,bin6166,35,False +CTSPillarNetworkA,6167,6167,6167,1986-11-20,616.7000000000717,616.6965,2015-01-01 01:42:47,bin6167,75,False +CTSPillarNetworkA,6168,6168,6168,1986-11-21,616.8000000000717,616.79645,2015-01-01 01:42:48,bin6168,35,False +CTSPillarNetworkA,6169,6169,6169,1986-11-22,616.9000000000717,616.8964,2015-01-01 01:42:49,bin6169,75,False +CTSPillarNetworkA,6170,6170,6170,1986-11-23,617.0000000000717,616.9964,2015-01-01 01:42:50,bin6170,35,False +CTSPillarNetworkA,6171,6171,6171,1986-11-24,617.1000000000718,617.0964,2015-01-01 01:42:51,bin6171,75,False +CTSPillarNetworkA,6172,6172,6172,1986-11-25,617.2000000000718,617.19635,2015-01-01 01:42:52,bin6172,35,False +CTSPillarNetworkA,6173,6173,6173,1986-11-26,617.3000000000718,617.2963,2015-01-01 01:42:53,bin6173,75,False +CTSPillarNetworkA,6174,6174,6174,1986-11-27,617.4000000000718,617.3963,2015-01-01 01:42:54,bin6174,35,False +CTSPillarNetworkA,6175,6175,6175,1986-11-28,617.5000000000719,617.4963,2015-01-01 01:42:55,bin6175,75,False +CTSPillarNetworkA,6176,6176,6176,1986-11-29,617.6000000000719,617.59625,2015-01-01 01:42:56,bin6176,35,False +CTSPillarNetworkA,6177,6177,6177,1986-11-30,617.7000000000719,617.6962,2015-01-01 01:42:57,bin6177,75,False +CTSPillarNetworkA,6178,6178,6178,1986-12-01,617.8000000000719,617.7962,2015-01-01 01:42:58,bin6178,35,False +CTSPillarNetworkA,6179,6179,6179,1986-12-02,617.9000000000719,617.8962,2015-01-01 01:42:59,bin6179,75,False +CTSPillarNetworkA,6180,6180,6180,1986-12-03,618.000000000072,617.99615,2015-01-01 01:43:00,bin6180,35,False +CTSPillarNetworkA,6181,6181,6181,1986-12-04,618.100000000072,618.0961,2015-01-01 01:43:01,bin6181,75,False +CTSPillarNetworkA,6182,6182,6182,1986-12-05,618.200000000072,618.1961,2015-01-01 01:43:02,bin6182,35,False +CTSPillarNetworkA,6183,6183,6183,1986-12-06,618.300000000072,618.2961,2015-01-01 01:43:03,bin6183,75,False +CTSPillarNetworkA,6184,6184,6184,1986-12-07,618.400000000072,618.39606,2015-01-01 01:43:04,bin6184,35,False +CTSPillarNetworkA,6185,6185,6185,1986-12-08,618.5000000000721,618.49603,2015-01-01 01:43:05,bin6185,75,False +CTSPillarNetworkA,6186,6186,6186,1986-12-09,618.6000000000721,618.596,2015-01-01 01:43:06,bin6186,35,False +CTSPillarNetworkA,6187,6187,6187,1986-12-10,618.7000000000721,618.696,2015-01-01 01:43:07,bin6187,75,False +CTSPillarNetworkA,6188,6188,6188,1986-12-11,618.8000000000721,618.79596,2015-01-01 01:43:08,bin6188,35,False +CTSPillarNetworkA,6189,6189,6189,1986-12-12,618.9000000000722,618.89594,2015-01-01 01:43:09,bin6189,75,False +CTSPillarNetworkA,6190,6190,6190,1986-12-13,619.0000000000722,618.9959,2015-01-01 01:43:10,bin6190,35,False +CTSPillarNetworkA,6191,6191,6191,1986-12-14,619.1000000000722,619.0959,2015-01-01 01:43:11,bin6191,75,False +CTSPillarNetworkA,6192,6192,6192,1986-12-15,619.2000000000722,619.19586,2015-01-01 01:43:12,bin6192,35,False +CTSPillarNetworkA,6193,6193,6193,1986-12-16,619.3000000000723,619.29584,2015-01-01 01:43:13,bin6193,75,False +CTSPillarNetworkA,6194,6194,6194,1986-12-17,619.4000000000723,619.3958,2015-01-01 01:43:14,bin6194,35,False +CTSPillarNetworkA,6195,6195,6195,1986-12-18,619.5000000000723,619.4958,2015-01-01 01:43:15,bin6195,75,False +CTSPillarNetworkA,6196,6196,6196,1986-12-19,619.6000000000723,619.59576,2015-01-01 01:43:16,bin6196,35,False +CTSPillarNetworkA,6197,6197,6197,1986-12-20,619.7000000000724,619.69574,2015-01-01 01:43:17,bin6197,75,False +CTSPillarNetworkA,6198,6198,6198,1986-12-21,619.8000000000724,619.7957,2015-01-01 01:43:18,bin6198,35,False +CTSPillarNetworkA,6199,6199,6199,1986-12-22,619.9000000000724,619.8957,2015-01-01 01:43:19,bin6199,75,False +CTSPillarNetworkA,6200,6200,6200,1986-12-23,620.0000000000724,619.99567,2015-01-01 01:43:20,bin6200,35,False +CTSPillarNetworkA,6201,6201,6201,1986-12-24,620.1000000000724,620.09564,2015-01-01 01:43:21,bin6201,75,False +CTSPillarNetworkA,6202,6202,6202,1986-12-25,620.2000000000725,620.1956,2015-01-01 01:43:22,bin6202,35,False +CTSPillarNetworkA,6203,6203,6203,1986-12-26,620.3000000000725,620.2956,2015-01-01 01:43:23,bin6203,75,False +CTSPillarNetworkA,6204,6204,6204,1986-12-27,620.4000000000725,620.39557,2015-01-01 01:43:24,bin6204,35,False +CTSPillarNetworkA,6205,6205,6205,1986-12-28,620.5000000000725,620.49554,2015-01-01 01:43:25,bin6205,75,False +CTSPillarNetworkA,6206,6206,6206,1986-12-29,620.6000000000726,620.5955,2015-01-01 01:43:26,bin6206,35,False +CTSPillarNetworkA,6207,6207,6207,1986-12-30,620.7000000000726,620.6955,2015-01-01 01:43:27,bin6207,75,False +CTSPillarNetworkA,6208,6208,6208,1986-12-31,620.8000000000726,620.7955,2015-01-01 01:43:28,bin6208,35,False +CTSPillarNetworkA,6209,6209,6209,1987-01-01,620.9000000000726,620.89545,2015-01-01 01:43:29,bin6209,75,False +CTSPillarNetworkA,6210,6210,6210,1987-01-02,621.0000000000726,620.9954,2015-01-01 01:43:30,bin6210,35,False +CTSPillarNetworkA,6211,6211,6211,1987-01-03,621.1000000000727,621.0954,2015-01-01 01:43:31,bin6211,75,False +CTSPillarNetworkA,6212,6212,6212,1987-01-04,621.2000000000727,621.1954,2015-01-01 01:43:32,bin6212,35,False +CTSPillarNetworkA,6213,6213,6213,1987-01-05,621.3000000000727,621.29535,2015-01-01 01:43:33,bin6213,75,False +CTSPillarNetworkA,6214,6214,6214,1987-01-06,621.4000000000727,621.3953,2015-01-01 01:43:34,bin6214,35,False +CTSPillarNetworkA,6215,6215,6215,1987-01-07,621.5000000000728,621.4953,2015-01-01 01:43:35,bin6215,75,False +CTSPillarNetworkA,6216,6216,6216,1987-01-08,621.6000000000728,621.5953,2015-01-01 01:43:36,bin6216,35,False +CTSPillarNetworkA,6217,6217,6217,1987-01-09,621.7000000000728,621.69525,2015-01-01 01:43:37,bin6217,75,False +CTSPillarNetworkA,6218,6218,6218,1987-01-10,621.8000000000728,621.7952,2015-01-01 01:43:38,bin6218,35,False +CTSPillarNetworkA,6219,6219,6219,1987-01-11,621.9000000000729,621.8952,2015-01-01 01:43:39,bin6219,75,False +CTSPillarNetworkA,6220,6220,6220,1987-01-12,622.0000000000729,621.9952,2015-01-01 01:43:40,bin6220,35,False +CTSPillarNetworkA,6221,6221,6221,1987-01-13,622.1000000000729,622.09515,2015-01-01 01:43:41,bin6221,75,False +CTSPillarNetworkA,6222,6222,6222,1987-01-14,622.2000000000729,622.1951,2015-01-01 01:43:42,bin6222,35,False +CTSPillarNetworkA,6223,6223,6223,1987-01-15,622.3000000000729,622.2951,2015-01-01 01:43:43,bin6223,75,False +CTSPillarNetworkA,6224,6224,6224,1987-01-16,622.400000000073,622.3951,2015-01-01 01:43:44,bin6224,35,False +CTSPillarNetworkA,6225,6225,6225,1987-01-17,622.500000000073,622.49506,2015-01-01 01:43:45,bin6225,75,False +CTSPillarNetworkA,6226,6226,6226,1987-01-18,622.600000000073,622.59503,2015-01-01 01:43:46,bin6226,35,False +CTSPillarNetworkA,6227,6227,6227,1987-01-19,622.700000000073,622.695,2015-01-01 01:43:47,bin6227,75,False +CTSPillarNetworkA,6228,6228,6228,1987-01-20,622.800000000073,622.795,2015-01-01 01:43:48,bin6228,35,False +CTSPillarNetworkA,6229,6229,6229,1987-01-21,622.9000000000731,622.89496,2015-01-01 01:43:49,bin6229,75,False +CTSPillarNetworkA,6230,6230,6230,1987-01-22,623.0000000000731,622.99493,2015-01-01 01:43:50,bin6230,35,False +CTSPillarNetworkA,6231,6231,6231,1987-01-23,623.1000000000731,623.0949,2015-01-01 01:43:51,bin6231,75,False +CTSPillarNetworkA,6232,6232,6232,1987-01-24,623.2000000000731,623.1949,2015-01-01 01:43:52,bin6232,35,False +CTSPillarNetworkA,6233,6233,6233,1987-01-25,623.3000000000732,623.29486,2015-01-01 01:43:53,bin6233,75,False +CTSPillarNetworkA,6234,6234,6234,1987-01-26,623.4000000000732,623.39484,2015-01-01 01:43:54,bin6234,35,False +CTSPillarNetworkA,6235,6235,6235,1987-01-27,623.5000000000732,623.4948,2015-01-01 01:43:55,bin6235,75,False +CTSPillarNetworkA,6236,6236,6236,1987-01-28,623.6000000000732,623.5948,2015-01-01 01:43:56,bin6236,35,False +CTSPillarNetworkA,6237,6237,6237,1987-01-29,623.7000000000733,623.69476,2015-01-01 01:43:57,bin6237,75,False +CTSPillarNetworkA,6238,6238,6238,1987-01-30,623.8000000000733,623.79474,2015-01-01 01:43:58,bin6238,35,False +CTSPillarNetworkA,6239,6239,6239,1987-01-31,623.9000000000733,623.8947,2015-01-01 01:43:59,bin6239,75,False +CTSPillarNetworkA,6240,6240,6240,1987-02-01,624.0000000000733,623.9947,2015-01-01 01:44:00,bin6240,35,False +CTSPillarNetworkA,6241,6241,6241,1987-02-02,624.1000000000734,624.09467,2015-01-01 01:44:01,bin6241,75,False +CTSPillarNetworkA,6242,6242,6242,1987-02-03,624.2000000000734,624.19464,2015-01-01 01:44:02,bin6242,35,False +CTSPillarNetworkA,6243,6243,6243,1987-02-04,624.3000000000734,624.2946,2015-01-01 01:44:03,bin6243,75,False +CTSPillarNetworkA,6244,6244,6244,1987-02-05,624.4000000000734,624.3946,2015-01-01 01:44:04,bin6244,35,False +CTSPillarNetworkA,6245,6245,6245,1987-02-06,624.5000000000734,624.49457,2015-01-01 01:44:05,bin6245,75,False +CTSPillarNetworkA,6246,6246,6246,1987-02-07,624.6000000000735,624.59454,2015-01-01 01:44:06,bin6246,35,False +CTSPillarNetworkA,6247,6247,6247,1987-02-08,624.7000000000735,624.6945,2015-01-01 01:44:07,bin6247,75,False +CTSPillarNetworkA,6248,6248,6248,1987-02-09,624.8000000000735,624.7945,2015-01-01 01:44:08,bin6248,35,False +CTSPillarNetworkA,6249,6249,6249,1987-02-10,624.9000000000735,624.8945,2015-01-01 01:44:09,bin6249,75,False +CTSPillarNetworkA,6250,6250,6250,1987-02-11,625.0000000000736,624.99445,2015-01-01 01:44:10,bin6250,35,False +CTSPillarNetworkA,6251,6251,6251,1987-02-12,625.1000000000736,625.0944,2015-01-01 01:44:11,bin6251,75,False +CTSPillarNetworkA,6252,6252,6252,1987-02-13,625.2000000000736,625.1944,2015-01-01 01:44:12,bin6252,35,False +CTSPillarNetworkA,6253,6253,6253,1987-02-14,625.3000000000736,625.2944,2015-01-01 01:44:13,bin6253,75,False +CTSPillarNetworkA,6254,6254,6254,1987-02-15,625.4000000000736,625.39435,2015-01-01 01:44:14,bin6254,35,False +CTSPillarNetworkA,6255,6255,6255,1987-02-16,625.5000000000737,625.4943,2015-01-01 01:44:15,bin6255,75,False +CTSPillarNetworkA,6256,6256,6256,1987-02-17,625.6000000000737,625.5943,2015-01-01 01:44:16,bin6256,35,False +CTSPillarNetworkA,6257,6257,6257,1987-02-18,625.7000000000737,625.6943,2015-01-01 01:44:17,bin6257,75,False +CTSPillarNetworkA,6258,6258,6258,1987-02-19,625.8000000000737,625.79425,2015-01-01 01:44:18,bin6258,35,False +CTSPillarNetworkA,6259,6259,6259,1987-02-20,625.9000000000738,625.8942,2015-01-01 01:44:19,bin6259,75,False +CTSPillarNetworkA,6260,6260,6260,1987-02-21,626.0000000000738,625.9942,2015-01-01 01:44:20,bin6260,35,False +CTSPillarNetworkA,6261,6261,6261,1987-02-22,626.1000000000738,626.0942,2015-01-01 01:44:21,bin6261,75,False +CTSPillarNetworkA,6262,6262,6262,1987-02-23,626.2000000000738,626.19415,2015-01-01 01:44:22,bin6262,35,False +CTSPillarNetworkA,6263,6263,6263,1987-02-24,626.3000000000739,626.2941,2015-01-01 01:44:23,bin6263,75,False +CTSPillarNetworkA,6264,6264,6264,1987-02-25,626.4000000000739,626.3941,2015-01-01 01:44:24,bin6264,35,False +CTSPillarNetworkA,6265,6265,6265,1987-02-26,626.5000000000739,626.4941,2015-01-01 01:44:25,bin6265,75,False +CTSPillarNetworkA,6266,6266,6266,1987-02-27,626.6000000000739,626.59406,2015-01-01 01:44:26,bin6266,35,False +CTSPillarNetworkA,6267,6267,6267,1987-02-28,626.7000000000739,626.69403,2015-01-01 01:44:27,bin6267,75,False +CTSPillarNetworkA,6268,6268,6268,1987-03-01,626.800000000074,626.794,2015-01-01 01:44:28,bin6268,35,False +CTSPillarNetworkA,6269,6269,6269,1987-03-02,626.900000000074,626.894,2015-01-01 01:44:29,bin6269,75,False +CTSPillarNetworkA,6270,6270,6270,1987-03-03,627.000000000074,626.99396,2015-01-01 01:44:30,bin6270,35,False +CTSPillarNetworkA,6271,6271,6271,1987-03-04,627.100000000074,627.09393,2015-01-01 01:44:31,bin6271,75,False +CTSPillarNetworkA,6272,6272,6272,1987-03-05,627.200000000074,627.1939,2015-01-01 01:44:32,bin6272,35,False +CTSPillarNetworkA,6273,6273,6273,1987-03-06,627.3000000000741,627.2939,2015-01-01 01:44:33,bin6273,75,False +CTSPillarNetworkA,6274,6274,6274,1987-03-07,627.4000000000741,627.39386,2015-01-01 01:44:34,bin6274,35,False +CTSPillarNetworkA,6275,6275,6275,1987-03-08,627.5000000000741,627.49384,2015-01-01 01:44:35,bin6275,75,False +CTSPillarNetworkA,6276,6276,6276,1987-03-09,627.6000000000741,627.5938,2015-01-01 01:44:36,bin6276,35,False +CTSPillarNetworkA,6277,6277,6277,1987-03-10,627.7000000000742,627.6938,2015-01-01 01:44:37,bin6277,75,False +CTSPillarNetworkA,6278,6278,6278,1987-03-11,627.8000000000742,627.79376,2015-01-01 01:44:38,bin6278,35,False +CTSPillarNetworkA,6279,6279,6279,1987-03-12,627.9000000000742,627.89374,2015-01-01 01:44:39,bin6279,75,False +CTSPillarNetworkA,6280,6280,6280,1987-03-13,628.0000000000742,627.9937,2015-01-01 01:44:40,bin6280,35,False +CTSPillarNetworkA,6281,6281,6281,1987-03-14,628.1000000000743,628.0937,2015-01-01 01:44:41,bin6281,75,False +CTSPillarNetworkA,6282,6282,6282,1987-03-15,628.2000000000743,628.19366,2015-01-01 01:44:42,bin6282,35,False +CTSPillarNetworkA,6283,6283,6283,1987-03-16,628.3000000000743,628.29364,2015-01-01 01:44:43,bin6283,75,False +CTSPillarNetworkA,6284,6284,6284,1987-03-17,628.4000000000743,628.3936,2015-01-01 01:44:44,bin6284,35,False +CTSPillarNetworkA,6285,6285,6285,1987-03-18,628.5000000000744,628.4936,2015-01-01 01:44:45,bin6285,75,False +CTSPillarNetworkA,6286,6286,6286,1987-03-19,628.6000000000744,628.59357,2015-01-01 01:44:46,bin6286,35,False +CTSPillarNetworkA,6287,6287,6287,1987-03-20,628.7000000000744,628.69354,2015-01-01 01:44:47,bin6287,75,False +CTSPillarNetworkA,6288,6288,6288,1987-03-21,628.8000000000744,628.7935,2015-01-01 01:44:48,bin6288,35,False +CTSPillarNetworkA,6289,6289,6289,1987-03-22,628.9000000000744,628.8935,2015-01-01 01:44:49,bin6289,75,False +CTSPillarNetworkA,6290,6290,6290,1987-03-23,629.0000000000745,628.99347,2015-01-01 01:44:50,bin6290,35,False +CTSPillarNetworkA,6291,6291,6291,1987-03-24,629.1000000000745,629.09344,2015-01-01 01:44:51,bin6291,75,False +CTSPillarNetworkA,6292,6292,6292,1987-03-25,629.2000000000745,629.1934,2015-01-01 01:44:52,bin6292,35,False +CTSPillarNetworkA,6293,6293,6293,1987-03-26,629.3000000000745,629.2934,2015-01-01 01:44:53,bin6293,75,False +CTSPillarNetworkA,6294,6294,6294,1987-03-27,629.4000000000746,629.3934,2015-01-01 01:44:54,bin6294,35,False +CTSPillarNetworkA,6295,6295,6295,1987-03-28,629.5000000000746,629.49335,2015-01-01 01:44:55,bin6295,75,False +CTSPillarNetworkA,6296,6296,6296,1987-03-29,629.6000000000746,629.5933,2015-01-01 01:44:56,bin6296,35,False +CTSPillarNetworkA,6297,6297,6297,1987-03-30,629.7000000000746,629.6933,2015-01-01 01:44:57,bin6297,75,False +CTSPillarNetworkA,6298,6298,6298,1987-03-31,629.8000000000746,629.7933,2015-01-01 01:44:58,bin6298,35,False +CTSPillarNetworkA,6299,6299,6299,1987-04-01,629.9000000000747,629.89325,2015-01-01 01:44:59,bin6299,75,False +CTSPillarNetworkA,6300,6300,6300,1987-04-02,630.0000000000747,629.9932,2015-01-01 01:45:00,bin6300,35,False +CTSPillarNetworkA,6301,6301,6301,1987-04-03,630.1000000000747,630.0932,2015-01-01 01:45:01,bin6301,75,False +CTSPillarNetworkA,6302,6302,6302,1987-04-04,630.2000000000747,630.1932,2015-01-01 01:45:02,bin6302,35,False +CTSPillarNetworkA,6303,6303,6303,1987-04-05,630.3000000000748,630.29315,2015-01-01 01:45:03,bin6303,75,False +CTSPillarNetworkA,6304,6304,6304,1987-04-06,630.4000000000748,630.3931,2015-01-01 01:45:04,bin6304,35,False +CTSPillarNetworkA,6305,6305,6305,1987-04-07,630.5000000000748,630.4931,2015-01-01 01:45:05,bin6305,75,False +CTSPillarNetworkA,6306,6306,6306,1987-04-08,630.6000000000748,630.5931,2015-01-01 01:45:06,bin6306,35,False +CTSPillarNetworkA,6307,6307,6307,1987-04-09,630.7000000000749,630.69305,2015-01-01 01:45:07,bin6307,75,False +CTSPillarNetworkA,6308,6308,6308,1987-04-10,630.8000000000749,630.793,2015-01-01 01:45:08,bin6308,35,False +CTSPillarNetworkA,6309,6309,6309,1987-04-11,630.9000000000749,630.893,2015-01-01 01:45:09,bin6309,75,False +CTSPillarNetworkA,6310,6310,6310,1987-04-12,631.0000000000749,630.993,2015-01-01 01:45:10,bin6310,35,False +CTSPillarNetworkA,6311,6311,6311,1987-04-13,631.1000000000749,631.09296,2015-01-01 01:45:11,bin6311,75,False +CTSPillarNetworkA,6312,6312,6312,1987-04-14,631.200000000075,631.19293,2015-01-01 01:45:12,bin6312,35,False +CTSPillarNetworkA,6313,6313,6313,1987-04-15,631.300000000075,631.2929,2015-01-01 01:45:13,bin6313,75,False +CTSPillarNetworkA,6314,6314,6314,1987-04-16,631.400000000075,631.3929,2015-01-01 01:45:14,bin6314,35,False +CTSPillarNetworkA,6315,6315,6315,1987-04-17,631.500000000075,631.49286,2015-01-01 01:45:15,bin6315,75,False +CTSPillarNetworkA,6316,6316,6316,1987-04-18,631.600000000075,631.59283,2015-01-01 01:45:16,bin6316,35,False +CTSPillarNetworkA,6317,6317,6317,1987-04-19,631.7000000000751,631.6928,2015-01-01 01:45:17,bin6317,75,False +CTSPillarNetworkA,6318,6318,6318,1987-04-20,631.8000000000751,631.7928,2015-01-01 01:45:18,bin6318,35,False +CTSPillarNetworkA,6319,6319,6319,1987-04-21,631.9000000000751,631.89276,2015-01-01 01:45:19,bin6319,75,False +CTSPillarNetworkA,6320,6320,6320,1987-04-22,632.0000000000751,631.99274,2015-01-01 01:45:20,bin6320,35,False +CTSPillarNetworkA,6321,6321,6321,1987-04-23,632.1000000000752,632.0927,2015-01-01 01:45:21,bin6321,75,False +CTSPillarNetworkA,6322,6322,6322,1987-04-24,632.2000000000752,632.1927,2015-01-01 01:45:22,bin6322,35,False +CTSPillarNetworkA,6323,6323,6323,1987-04-25,632.3000000000752,632.29266,2015-01-01 01:45:23,bin6323,75,False +CTSPillarNetworkA,6324,6324,6324,1987-04-26,632.4000000000752,632.39264,2015-01-01 01:45:24,bin6324,35,False +CTSPillarNetworkA,6325,6325,6325,1987-04-27,632.5000000000753,632.4926,2015-01-01 01:45:25,bin6325,75,False +CTSPillarNetworkA,6326,6326,6326,1987-04-28,632.6000000000753,632.5926,2015-01-01 01:45:26,bin6326,35,False +CTSPillarNetworkA,6327,6327,6327,1987-04-29,632.7000000000753,632.69257,2015-01-01 01:45:27,bin6327,75,False +CTSPillarNetworkA,6328,6328,6328,1987-04-30,632.8000000000753,632.79254,2015-01-01 01:45:28,bin6328,35,False +CTSPillarNetworkA,6329,6329,6329,1987-05-01,632.9000000000754,632.8925,2015-01-01 01:45:29,bin6329,75,False +CTSPillarNetworkA,6330,6330,6330,1987-05-02,633.0000000000754,632.9925,2015-01-01 01:45:30,bin6330,35,False +CTSPillarNetworkA,6331,6331,6331,1987-05-03,633.1000000000754,633.09247,2015-01-01 01:45:31,bin6331,75,False +CTSPillarNetworkA,6332,6332,6332,1987-05-04,633.2000000000754,633.19244,2015-01-01 01:45:32,bin6332,35,False +CTSPillarNetworkA,6333,6333,6333,1987-05-05,633.3000000000754,633.2924,2015-01-01 01:45:33,bin6333,75,False +CTSPillarNetworkA,6334,6334,6334,1987-05-06,633.4000000000755,633.3924,2015-01-01 01:45:34,bin6334,35,False +CTSPillarNetworkA,6335,6335,6335,1987-05-07,633.5000000000755,633.4924,2015-01-01 01:45:35,bin6335,75,False +CTSPillarNetworkA,6336,6336,6336,1987-05-08,633.6000000000755,633.59235,2015-01-01 01:45:36,bin6336,35,False +CTSPillarNetworkA,6337,6337,6337,1987-05-09,633.7000000000755,633.6923,2015-01-01 01:45:37,bin6337,75,False +CTSPillarNetworkA,6338,6338,6338,1987-05-10,633.8000000000756,633.7923,2015-01-01 01:45:38,bin6338,35,False +CTSPillarNetworkA,6339,6339,6339,1987-05-11,633.9000000000756,633.8923,2015-01-01 01:45:39,bin6339,75,False +CTSPillarNetworkA,6340,6340,6340,1987-05-12,634.0000000000756,633.99225,2015-01-01 01:45:40,bin6340,35,False +CTSPillarNetworkA,6341,6341,6341,1987-05-13,634.1000000000756,634.0922,2015-01-01 01:45:41,bin6341,75,False +CTSPillarNetworkA,6342,6342,6342,1987-05-14,634.2000000000756,634.1922,2015-01-01 01:45:42,bin6342,35,False +CTSPillarNetworkA,6343,6343,6343,1987-05-15,634.3000000000757,634.2922,2015-01-01 01:45:43,bin6343,75,False +CTSPillarNetworkA,6344,6344,6344,1987-05-16,634.4000000000757,634.39215,2015-01-01 01:45:44,bin6344,35,False +CTSPillarNetworkA,6345,6345,6345,1987-05-17,634.5000000000757,634.4921,2015-01-01 01:45:45,bin6345,75,False +CTSPillarNetworkA,6346,6346,6346,1987-05-18,634.6000000000757,634.5921,2015-01-01 01:45:46,bin6346,35,False +CTSPillarNetworkA,6347,6347,6347,1987-05-19,634.7000000000758,634.6921,2015-01-01 01:45:47,bin6347,75,False +CTSPillarNetworkA,6348,6348,6348,1987-05-20,634.8000000000758,634.79205,2015-01-01 01:45:48,bin6348,35,False +CTSPillarNetworkA,6349,6349,6349,1987-05-21,634.9000000000758,634.892,2015-01-01 01:45:49,bin6349,75,False +CTSPillarNetworkA,6350,6350,6350,1987-05-22,635.0000000000758,634.992,2015-01-01 01:45:50,bin6350,35,False +CTSPillarNetworkA,6351,6351,6351,1987-05-23,635.1000000000759,635.092,2015-01-01 01:45:51,bin6351,75,False +CTSPillarNetworkA,6352,6352,6352,1987-05-24,635.2000000000759,635.19196,2015-01-01 01:45:52,bin6352,35,False +CTSPillarNetworkA,6353,6353,6353,1987-05-25,635.3000000000759,635.29193,2015-01-01 01:45:53,bin6353,75,False +CTSPillarNetworkA,6354,6354,6354,1987-05-26,635.4000000000759,635.3919,2015-01-01 01:45:54,bin6354,35,False +CTSPillarNetworkA,6355,6355,6355,1987-05-27,635.5000000000759,635.4919,2015-01-01 01:45:55,bin6355,75,False +CTSPillarNetworkA,6356,6356,6356,1987-05-28,635.600000000076,635.59186,2015-01-01 01:45:56,bin6356,35,False +CTSPillarNetworkA,6357,6357,6357,1987-05-29,635.700000000076,635.69183,2015-01-01 01:45:57,bin6357,75,False +CTSPillarNetworkA,6358,6358,6358,1987-05-30,635.800000000076,635.7918,2015-01-01 01:45:58,bin6358,35,False +CTSPillarNetworkA,6359,6359,6359,1987-05-31,635.900000000076,635.8918,2015-01-01 01:45:59,bin6359,75,False +CTSPillarNetworkA,6360,6360,6360,1987-06-01,636.000000000076,635.99176,2015-01-01 01:46:00,bin6360,35,False +CTSPillarNetworkA,6361,6361,6361,1987-06-02,636.1000000000761,636.09174,2015-01-01 01:46:01,bin6361,75,False +CTSPillarNetworkA,6362,6362,6362,1987-06-03,636.2000000000761,636.1917,2015-01-01 01:46:02,bin6362,35,False +CTSPillarNetworkA,6363,6363,6363,1987-06-04,636.3000000000761,636.2917,2015-01-01 01:46:03,bin6363,75,False +CTSPillarNetworkA,6364,6364,6364,1987-06-05,636.4000000000761,636.39166,2015-01-01 01:46:04,bin6364,35,False +CTSPillarNetworkA,6365,6365,6365,1987-06-06,636.5000000000762,636.49164,2015-01-01 01:46:05,bin6365,75,False +CTSPillarNetworkA,6366,6366,6366,1987-06-07,636.6000000000762,636.5916,2015-01-01 01:46:06,bin6366,35,False +CTSPillarNetworkA,6367,6367,6367,1987-06-08,636.7000000000762,636.6916,2015-01-01 01:46:07,bin6367,75,False +CTSPillarNetworkA,6368,6368,6368,1987-06-09,636.8000000000762,636.79156,2015-01-01 01:46:08,bin6368,35,False +CTSPillarNetworkA,6369,6369,6369,1987-06-10,636.9000000000763,636.89154,2015-01-01 01:46:09,bin6369,75,False +CTSPillarNetworkA,6370,6370,6370,1987-06-11,637.0000000000763,636.9915,2015-01-01 01:46:10,bin6370,35,False +CTSPillarNetworkA,6371,6371,6371,1987-06-12,637.1000000000763,637.0915,2015-01-01 01:46:11,bin6371,75,False +CTSPillarNetworkA,6372,6372,6372,1987-06-13,637.2000000000763,637.19147,2015-01-01 01:46:12,bin6372,35,False +CTSPillarNetworkA,6373,6373,6373,1987-06-14,637.3000000000764,637.29144,2015-01-01 01:46:13,bin6373,75,False +CTSPillarNetworkA,6374,6374,6374,1987-06-15,637.4000000000764,637.3914,2015-01-01 01:46:14,bin6374,35,False +CTSPillarNetworkA,6375,6375,6375,1987-06-16,637.5000000000764,637.4914,2015-01-01 01:46:15,bin6375,75,False +CTSPillarNetworkA,6376,6376,6376,1987-06-17,637.6000000000764,637.5914,2015-01-01 01:46:16,bin6376,35,False +CTSPillarNetworkA,6377,6377,6377,1987-06-18,637.7000000000764,637.69135,2015-01-01 01:46:17,bin6377,75,False +CTSPillarNetworkA,6378,6378,6378,1987-06-19,637.8000000000765,637.7913,2015-01-01 01:46:18,bin6378,35,False +CTSPillarNetworkA,6379,6379,6379,1987-06-20,637.9000000000765,637.8913,2015-01-01 01:46:19,bin6379,75,False +CTSPillarNetworkA,6380,6380,6380,1987-06-21,638.0000000000765,637.9913,2015-01-01 01:46:20,bin6380,35,False +CTSPillarNetworkA,6381,6381,6381,1987-06-22,638.1000000000765,638.09125,2015-01-01 01:46:21,bin6381,75,False +CTSPillarNetworkA,6382,6382,6382,1987-06-23,638.2000000000766,638.1912,2015-01-01 01:46:22,bin6382,35,False +CTSPillarNetworkA,6383,6383,6383,1987-06-24,638.3000000000766,638.2912,2015-01-01 01:46:23,bin6383,75,False +CTSPillarNetworkA,6384,6384,6384,1987-06-25,638.4000000000766,638.3912,2015-01-01 01:46:24,bin6384,35,False +CTSPillarNetworkA,6385,6385,6385,1987-06-26,638.5000000000766,638.49115,2015-01-01 01:46:25,bin6385,75,False +CTSPillarNetworkA,6386,6386,6386,1987-06-27,638.6000000000766,638.5911,2015-01-01 01:46:26,bin6386,35,False +CTSPillarNetworkA,6387,6387,6387,1987-06-28,638.7000000000767,638.6911,2015-01-01 01:46:27,bin6387,75,False +CTSPillarNetworkA,6388,6388,6388,1987-06-29,638.8000000000767,638.7911,2015-01-01 01:46:28,bin6388,35,False +CTSPillarNetworkA,6389,6389,6389,1987-06-30,638.9000000000767,638.89105,2015-01-01 01:46:29,bin6389,75,False +CTSPillarNetworkA,6390,6390,6390,1987-07-01,639.0000000000767,638.991,2015-01-01 01:46:30,bin6390,35,False +CTSPillarNetworkA,6391,6391,6391,1987-07-02,639.1000000000768,639.091,2015-01-01 01:46:31,bin6391,75,False +CTSPillarNetworkA,6392,6392,6392,1987-07-03,639.2000000000768,639.191,2015-01-01 01:46:32,bin6392,35,False +CTSPillarNetworkA,6393,6393,6393,1987-07-04,639.3000000000768,639.29095,2015-01-01 01:46:33,bin6393,75,False +CTSPillarNetworkA,6394,6394,6394,1987-07-05,639.4000000000768,639.3909,2015-01-01 01:46:34,bin6394,35,False +CTSPillarNetworkA,6395,6395,6395,1987-07-06,639.5000000000769,639.4909,2015-01-01 01:46:35,bin6395,75,False +CTSPillarNetworkA,6396,6396,6396,1987-07-07,639.6000000000769,639.5909,2015-01-01 01:46:36,bin6396,35,False +CTSPillarNetworkA,6397,6397,6397,1987-07-08,639.7000000000769,639.69086,2015-01-01 01:46:37,bin6397,75,False +CTSPillarNetworkA,6398,6398,6398,1987-07-09,639.8000000000769,639.79083,2015-01-01 01:46:38,bin6398,35,False +CTSPillarNetworkA,6399,6399,6399,1987-07-10,639.900000000077,639.8908,2015-01-01 01:46:39,bin6399,75,False +CTSPillarNetworkA,6400,6400,6400,1987-07-11,640.000000000077,639.9908,2015-01-01 01:46:40,bin6400,35,False +CTSPillarNetworkA,6401,6401,6401,1987-07-12,640.100000000077,640.09076,2015-01-01 01:46:41,bin6401,75,False +CTSPillarNetworkA,6402,6402,6402,1987-07-13,640.200000000077,640.19073,2015-01-01 01:46:42,bin6402,35,False +CTSPillarNetworkA,6403,6403,6403,1987-07-14,640.300000000077,640.2907,2015-01-01 01:46:43,bin6403,75,False +CTSPillarNetworkA,6404,6404,6404,1987-07-15,640.4000000000771,640.3907,2015-01-01 01:46:44,bin6404,35,False +CTSPillarNetworkA,6405,6405,6405,1987-07-16,640.5000000000771,640.49066,2015-01-01 01:46:45,bin6405,75,False +CTSPillarNetworkA,6406,6406,6406,1987-07-17,640.6000000000771,640.59064,2015-01-01 01:46:46,bin6406,35,False +CTSPillarNetworkA,6407,6407,6407,1987-07-18,640.7000000000771,640.6906,2015-01-01 01:46:47,bin6407,75,False +CTSPillarNetworkA,6408,6408,6408,1987-07-19,640.8000000000771,640.7906,2015-01-01 01:46:48,bin6408,35,False +CTSPillarNetworkA,6409,6409,6409,1987-07-20,640.9000000000772,640.89056,2015-01-01 01:46:49,bin6409,75,False +CTSPillarNetworkA,6410,6410,6410,1987-07-21,641.0000000000772,640.99054,2015-01-01 01:46:50,bin6410,35,False +CTSPillarNetworkA,6411,6411,6411,1987-07-22,641.1000000000772,641.0905,2015-01-01 01:46:51,bin6411,75,False +CTSPillarNetworkA,6412,6412,6412,1987-07-23,641.2000000000772,641.1905,2015-01-01 01:46:52,bin6412,35,False +CTSPillarNetworkA,6413,6413,6413,1987-07-24,641.3000000000773,641.29047,2015-01-01 01:46:53,bin6413,75,False +CTSPillarNetworkA,6414,6414,6414,1987-07-25,641.4000000000773,641.39044,2015-01-01 01:46:54,bin6414,35,False +CTSPillarNetworkA,6415,6415,6415,1987-07-26,641.5000000000773,641.4904,2015-01-01 01:46:55,bin6415,75,False +CTSPillarNetworkA,6416,6416,6416,1987-07-27,641.6000000000773,641.5904,2015-01-01 01:46:56,bin6416,35,False +CTSPillarNetworkA,6417,6417,6417,1987-07-28,641.7000000000774,641.69037,2015-01-01 01:46:57,bin6417,75,False +CTSPillarNetworkA,6418,6418,6418,1987-07-29,641.8000000000774,641.79034,2015-01-01 01:46:58,bin6418,35,False +CTSPillarNetworkA,6419,6419,6419,1987-07-30,641.9000000000774,641.8903,2015-01-01 01:46:59,bin6419,75,False +CTSPillarNetworkA,6420,6420,6420,1987-07-31,642.0000000000774,641.9903,2015-01-01 01:47:00,bin6420,35,False +CTSPillarNetworkA,6421,6421,6421,1987-08-01,642.1000000000774,642.0903,2015-01-01 01:47:01,bin6421,75,False +CTSPillarNetworkA,6422,6422,6422,1987-08-02,642.2000000000775,642.19025,2015-01-01 01:47:02,bin6422,35,False +CTSPillarNetworkA,6423,6423,6423,1987-08-03,642.3000000000775,642.2902,2015-01-01 01:47:03,bin6423,75,False +CTSPillarNetworkA,6424,6424,6424,1987-08-04,642.4000000000775,642.3902,2015-01-01 01:47:04,bin6424,35,False +CTSPillarNetworkA,6425,6425,6425,1987-08-05,642.5000000000775,642.4902,2015-01-01 01:47:05,bin6425,75,False +CTSPillarNetworkA,6426,6426,6426,1987-08-06,642.6000000000776,642.59015,2015-01-01 01:47:06,bin6426,35,False +CTSPillarNetworkA,6427,6427,6427,1987-08-07,642.7000000000776,642.6901,2015-01-01 01:47:07,bin6427,75,False +CTSPillarNetworkA,6428,6428,6428,1987-08-08,642.8000000000776,642.7901,2015-01-01 01:47:08,bin6428,35,False +CTSPillarNetworkA,6429,6429,6429,1987-08-09,642.9000000000776,642.8901,2015-01-01 01:47:09,bin6429,75,False +CTSPillarNetworkA,6430,6430,6430,1987-08-10,643.0000000000776,642.99005,2015-01-01 01:47:10,bin6430,35,False +CTSPillarNetworkA,6431,6431,6431,1987-08-11,643.1000000000777,643.09,2015-01-01 01:47:11,bin6431,75,False +CTSPillarNetworkA,6432,6432,6432,1987-08-12,643.2000000000777,643.19,2015-01-01 01:47:12,bin6432,35,False +CTSPillarNetworkA,6433,6433,6433,1987-08-13,643.3000000000777,643.29,2015-01-01 01:47:13,bin6433,75,False +CTSPillarNetworkA,6434,6434,6434,1987-08-14,643.4000000000777,643.38995,2015-01-01 01:47:14,bin6434,35,False +CTSPillarNetworkA,6435,6435,6435,1987-08-15,643.5000000000778,643.4899,2015-01-01 01:47:15,bin6435,75,False +CTSPillarNetworkA,6436,6436,6436,1987-08-16,643.6000000000778,643.5899,2015-01-01 01:47:16,bin6436,35,False +CTSPillarNetworkA,6437,6437,6437,1987-08-17,643.7000000000778,643.6899,2015-01-01 01:47:17,bin6437,75,False +CTSPillarNetworkA,6438,6438,6438,1987-08-18,643.8000000000778,643.78986,2015-01-01 01:47:18,bin6438,35,False +CTSPillarNetworkA,6439,6439,6439,1987-08-19,643.9000000000779,643.88983,2015-01-01 01:47:19,bin6439,75,False +CTSPillarNetworkA,6440,6440,6440,1987-08-20,644.0000000000779,643.9898,2015-01-01 01:47:20,bin6440,35,False +CTSPillarNetworkA,6441,6441,6441,1987-08-21,644.1000000000779,644.0898,2015-01-01 01:47:21,bin6441,75,False +CTSPillarNetworkA,6442,6442,6442,1987-08-22,644.2000000000779,644.18976,2015-01-01 01:47:22,bin6442,35,False +CTSPillarNetworkA,6443,6443,6443,1987-08-23,644.300000000078,644.28973,2015-01-01 01:47:23,bin6443,75,False +CTSPillarNetworkA,6444,6444,6444,1987-08-24,644.400000000078,644.3897,2015-01-01 01:47:24,bin6444,35,False +CTSPillarNetworkA,6445,6445,6445,1987-08-25,644.500000000078,644.4897,2015-01-01 01:47:25,bin6445,75,False +CTSPillarNetworkA,6446,6446,6446,1987-08-26,644.600000000078,644.58966,2015-01-01 01:47:26,bin6446,35,False +CTSPillarNetworkA,6447,6447,6447,1987-08-27,644.700000000078,644.68964,2015-01-01 01:47:27,bin6447,75,False +CTSPillarNetworkA,6448,6448,6448,1987-08-28,644.8000000000781,644.7896,2015-01-01 01:47:28,bin6448,35,False +CTSPillarNetworkA,6449,6449,6449,1987-08-29,644.9000000000781,644.8896,2015-01-01 01:47:29,bin6449,75,False +CTSPillarNetworkA,6450,6450,6450,1987-08-30,645.0000000000781,644.98956,2015-01-01 01:47:30,bin6450,35,False +CTSPillarNetworkA,6451,6451,6451,1987-08-31,645.1000000000781,645.08954,2015-01-01 01:47:31,bin6451,75,False +CTSPillarNetworkA,6452,6452,6452,1987-09-01,645.2000000000781,645.1895,2015-01-01 01:47:32,bin6452,35,False +CTSPillarNetworkA,6453,6453,6453,1987-09-02,645.3000000000782,645.2895,2015-01-01 01:47:33,bin6453,75,False +CTSPillarNetworkA,6454,6454,6454,1987-09-03,645.4000000000782,645.38947,2015-01-01 01:47:34,bin6454,35,False +CTSPillarNetworkA,6455,6455,6455,1987-09-04,645.5000000000782,645.48944,2015-01-01 01:47:35,bin6455,75,False +CTSPillarNetworkA,6456,6456,6456,1987-09-05,645.6000000000782,645.5894,2015-01-01 01:47:36,bin6456,35,False +CTSPillarNetworkA,6457,6457,6457,1987-09-06,645.7000000000783,645.6894,2015-01-01 01:47:37,bin6457,75,False +CTSPillarNetworkA,6458,6458,6458,1987-09-07,645.8000000000783,645.78937,2015-01-01 01:47:38,bin6458,35,False +CTSPillarNetworkA,6459,6459,6459,1987-09-08,645.9000000000783,645.88934,2015-01-01 01:47:39,bin6459,75,False +CTSPillarNetworkA,6460,6460,6460,1987-09-09,646.0000000000783,645.9893,2015-01-01 01:47:40,bin6460,35,False +CTSPillarNetworkA,6461,6461,6461,1987-09-10,646.1000000000784,646.0893,2015-01-01 01:47:41,bin6461,75,False +CTSPillarNetworkA,6462,6462,6462,1987-09-11,646.2000000000784,646.1893,2015-01-01 01:47:42,bin6462,35,False +CTSPillarNetworkA,6463,6463,6463,1987-09-12,646.3000000000784,646.28925,2015-01-01 01:47:43,bin6463,75,False +CTSPillarNetworkA,6464,6464,6464,1987-09-13,646.4000000000784,646.3892,2015-01-01 01:47:44,bin6464,35,False +CTSPillarNetworkA,6465,6465,6465,1987-09-14,646.5000000000784,646.4892,2015-01-01 01:47:45,bin6465,75,False +CTSPillarNetworkA,6466,6466,6466,1987-09-15,646.6000000000785,646.5892,2015-01-01 01:47:46,bin6466,35,False +CTSPillarNetworkA,6467,6467,6467,1987-09-16,646.7000000000785,646.68915,2015-01-01 01:47:47,bin6467,75,False +CTSPillarNetworkA,6468,6468,6468,1987-09-17,646.8000000000785,646.7891,2015-01-01 01:47:48,bin6468,35,False +CTSPillarNetworkA,6469,6469,6469,1987-09-18,646.9000000000785,646.8891,2015-01-01 01:47:49,bin6469,75,False +CTSPillarNetworkA,6470,6470,6470,1987-09-19,647.0000000000786,646.9891,2015-01-01 01:47:50,bin6470,35,False +CTSPillarNetworkA,6471,6471,6471,1987-09-20,647.1000000000786,647.08905,2015-01-01 01:47:51,bin6471,75,False +CTSPillarNetworkA,6472,6472,6472,1987-09-21,647.2000000000786,647.189,2015-01-01 01:47:52,bin6472,35,False +CTSPillarNetworkA,6473,6473,6473,1987-09-22,647.3000000000786,647.289,2015-01-01 01:47:53,bin6473,75,False +CTSPillarNetworkA,6474,6474,6474,1987-09-23,647.4000000000786,647.389,2015-01-01 01:47:54,bin6474,35,False +CTSPillarNetworkA,6475,6475,6475,1987-09-24,647.5000000000787,647.48895,2015-01-01 01:47:55,bin6475,75,False +CTSPillarNetworkA,6476,6476,6476,1987-09-25,647.6000000000787,647.5889,2015-01-01 01:47:56,bin6476,35,False +CTSPillarNetworkA,6477,6477,6477,1987-09-26,647.7000000000787,647.6889,2015-01-01 01:47:57,bin6477,75,False +CTSPillarNetworkA,6478,6478,6478,1987-09-27,647.8000000000787,647.7889,2015-01-01 01:47:58,bin6478,35,False +CTSPillarNetworkA,6479,6479,6479,1987-09-28,647.9000000000788,647.88885,2015-01-01 01:47:59,bin6479,75,False +CTSPillarNetworkA,6480,6480,6480,1987-09-29,648.0000000000788,647.98883,2015-01-01 01:48:00,bin6480,35,False +CTSPillarNetworkA,6481,6481,6481,1987-09-30,648.1000000000788,648.0888,2015-01-01 01:48:01,bin6481,75,False +CTSPillarNetworkA,6482,6482,6482,1987-10-01,648.2000000000788,648.1888,2015-01-01 01:48:02,bin6482,35,False +CTSPillarNetworkA,6483,6483,6483,1987-10-02,648.3000000000789,648.28876,2015-01-01 01:48:03,bin6483,75,False +CTSPillarNetworkA,6484,6484,6484,1987-10-03,648.4000000000789,648.38873,2015-01-01 01:48:04,bin6484,35,False +CTSPillarNetworkA,6485,6485,6485,1987-10-04,648.5000000000789,648.4887,2015-01-01 01:48:05,bin6485,75,False +CTSPillarNetworkA,6486,6486,6486,1987-10-05,648.6000000000789,648.5887,2015-01-01 01:48:06,bin6486,35,False +CTSPillarNetworkA,6487,6487,6487,1987-10-06,648.700000000079,648.68866,2015-01-01 01:48:07,bin6487,75,False +CTSPillarNetworkA,6488,6488,6488,1987-10-07,648.800000000079,648.78864,2015-01-01 01:48:08,bin6488,35,False +CTSPillarNetworkA,6489,6489,6489,1987-10-08,648.900000000079,648.8886,2015-01-01 01:48:09,bin6489,75,False +CTSPillarNetworkA,6490,6490,6490,1987-10-09,649.000000000079,648.9886,2015-01-01 01:48:10,bin6490,35,False +CTSPillarNetworkA,6491,6491,6491,1987-10-10,649.100000000079,649.08856,2015-01-01 01:48:11,bin6491,75,False +CTSPillarNetworkA,6492,6492,6492,1987-10-11,649.2000000000791,649.18854,2015-01-01 01:48:12,bin6492,35,False +CTSPillarNetworkA,6493,6493,6493,1987-10-12,649.3000000000791,649.2885,2015-01-01 01:48:13,bin6493,75,False +CTSPillarNetworkA,6494,6494,6494,1987-10-13,649.4000000000791,649.3885,2015-01-01 01:48:14,bin6494,35,False +CTSPillarNetworkA,6495,6495,6495,1987-10-14,649.5000000000791,649.48846,2015-01-01 01:48:15,bin6495,75,False +CTSPillarNetworkA,6496,6496,6496,1987-10-15,649.6000000000791,649.58844,2015-01-01 01:48:16,bin6496,35,False +CTSPillarNetworkA,6497,6497,6497,1987-10-16,649.7000000000792,649.6884,2015-01-01 01:48:17,bin6497,75,False +CTSPillarNetworkA,6498,6498,6498,1987-10-17,649.8000000000792,649.7884,2015-01-01 01:48:18,bin6498,35,False +CTSPillarNetworkA,6499,6499,6499,1987-10-18,649.9000000000792,649.88837,2015-01-01 01:48:19,bin6499,75,False +CTSPillarNetworkA,6500,6500,6500,1987-10-19,650.0000000000792,649.98834,2015-01-01 01:48:20,bin6500,35,False +CTSPillarNetworkA,6501,6501,6501,1987-10-20,650.1000000000793,650.0883,2015-01-01 01:48:21,bin6501,75,False +CTSPillarNetworkA,6502,6502,6502,1987-10-21,650.2000000000793,650.1883,2015-01-01 01:48:22,bin6502,35,False +CTSPillarNetworkA,6503,6503,6503,1987-10-22,650.3000000000793,650.28827,2015-01-01 01:48:23,bin6503,75,False +CTSPillarNetworkA,6504,6504,6504,1987-10-23,650.4000000000793,650.38824,2015-01-01 01:48:24,bin6504,35,False +CTSPillarNetworkA,6505,6505,6505,1987-10-24,650.5000000000794,650.4882,2015-01-01 01:48:25,bin6505,75,False +CTSPillarNetworkA,6506,6506,6506,1987-10-25,650.6000000000794,650.5882,2015-01-01 01:48:26,bin6506,35,False +CTSPillarNetworkA,6507,6507,6507,1987-10-26,650.7000000000794,650.6882,2015-01-01 01:48:27,bin6507,75,False +CTSPillarNetworkA,6508,6508,6508,1987-10-27,650.8000000000794,650.78815,2015-01-01 01:48:28,bin6508,35,False +CTSPillarNetworkA,6509,6509,6509,1987-10-28,650.9000000000794,650.8881,2015-01-01 01:48:29,bin6509,75,False +CTSPillarNetworkA,6510,6510,6510,1987-10-29,651.0000000000795,650.9881,2015-01-01 01:48:30,bin6510,35,False +CTSPillarNetworkA,6511,6511,6511,1987-10-30,651.1000000000795,651.0881,2015-01-01 01:48:31,bin6511,75,False +CTSPillarNetworkA,6512,6512,6512,1987-10-31,651.2000000000795,651.18805,2015-01-01 01:48:32,bin6512,35,False +CTSPillarNetworkA,6513,6513,6513,1987-11-01,651.3000000000795,651.288,2015-01-01 01:48:33,bin6513,75,False +CTSPillarNetworkA,6514,6514,6514,1987-11-02,651.4000000000796,651.388,2015-01-01 01:48:34,bin6514,35,False +CTSPillarNetworkA,6515,6515,6515,1987-11-03,651.5000000000796,651.488,2015-01-01 01:48:35,bin6515,75,False +CTSPillarNetworkA,6516,6516,6516,1987-11-04,651.6000000000796,651.58795,2015-01-01 01:48:36,bin6516,35,False +CTSPillarNetworkA,6517,6517,6517,1987-11-05,651.7000000000796,651.6879,2015-01-01 01:48:37,bin6517,75,False +CTSPillarNetworkA,6518,6518,6518,1987-11-06,651.8000000000796,651.7879,2015-01-01 01:48:38,bin6518,35,False +CTSPillarNetworkA,6519,6519,6519,1987-11-07,651.9000000000797,651.8879,2015-01-01 01:48:39,bin6519,75,False +CTSPillarNetworkA,6520,6520,6520,1987-11-08,652.0000000000797,651.98785,2015-01-01 01:48:40,bin6520,35,False +CTSPillarNetworkA,6521,6521,6521,1987-11-09,652.1000000000797,652.0878,2015-01-01 01:48:41,bin6521,75,False +CTSPillarNetworkA,6522,6522,6522,1987-11-10,652.2000000000797,652.1878,2015-01-01 01:48:42,bin6522,35,False +CTSPillarNetworkA,6523,6523,6523,1987-11-11,652.3000000000798,652.2878,2015-01-01 01:48:43,bin6523,75,False +CTSPillarNetworkA,6524,6524,6524,1987-11-12,652.4000000000798,652.38776,2015-01-01 01:48:44,bin6524,35,False +CTSPillarNetworkA,6525,6525,6525,1987-11-13,652.5000000000798,652.48773,2015-01-01 01:48:45,bin6525,75,False +CTSPillarNetworkA,6526,6526,6526,1987-11-14,652.6000000000798,652.5877,2015-01-01 01:48:46,bin6526,35,False +CTSPillarNetworkA,6527,6527,6527,1987-11-15,652.7000000000799,652.6877,2015-01-01 01:48:47,bin6527,75,False +CTSPillarNetworkA,6528,6528,6528,1987-11-16,652.8000000000799,652.78766,2015-01-01 01:48:48,bin6528,35,False +CTSPillarNetworkA,6529,6529,6529,1987-11-17,652.9000000000799,652.88763,2015-01-01 01:48:49,bin6529,75,False +CTSPillarNetworkA,6530,6530,6530,1987-11-18,653.0000000000799,652.9876,2015-01-01 01:48:50,bin6530,35,False +CTSPillarNetworkA,6531,6531,6531,1987-11-19,653.10000000008,653.0876,2015-01-01 01:48:51,bin6531,75,False +CTSPillarNetworkA,6532,6532,6532,1987-11-20,653.20000000008,653.18756,2015-01-01 01:48:52,bin6532,35,False +CTSPillarNetworkA,6533,6533,6533,1987-11-21,653.30000000008,653.28754,2015-01-01 01:48:53,bin6533,75,False +CTSPillarNetworkA,6534,6534,6534,1987-11-22,653.40000000008,653.3875,2015-01-01 01:48:54,bin6534,35,False +CTSPillarNetworkA,6535,6535,6535,1987-11-23,653.50000000008,653.4875,2015-01-01 01:48:55,bin6535,75,False +CTSPillarNetworkA,6536,6536,6536,1987-11-24,653.6000000000801,653.58746,2015-01-01 01:48:56,bin6536,35,False +CTSPillarNetworkA,6537,6537,6537,1987-11-25,653.7000000000801,653.68744,2015-01-01 01:48:57,bin6537,75,False +CTSPillarNetworkA,6538,6538,6538,1987-11-26,653.8000000000801,653.7874,2015-01-01 01:48:58,bin6538,35,False +CTSPillarNetworkA,6539,6539,6539,1987-11-27,653.9000000000801,653.8874,2015-01-01 01:48:59,bin6539,75,False +CTSPillarNetworkA,6540,6540,6540,1987-11-28,654.0000000000801,653.98737,2015-01-01 01:49:00,bin6540,35,False +CTSPillarNetworkA,6541,6541,6541,1987-11-29,654.1000000000802,654.08734,2015-01-01 01:49:01,bin6541,75,False +CTSPillarNetworkA,6542,6542,6542,1987-11-30,654.2000000000802,654.1873,2015-01-01 01:49:02,bin6542,35,False +CTSPillarNetworkA,6543,6543,6543,1987-12-01,654.3000000000802,654.2873,2015-01-01 01:49:03,bin6543,75,False +CTSPillarNetworkA,6544,6544,6544,1987-12-02,654.4000000000802,654.38727,2015-01-01 01:49:04,bin6544,35,False +CTSPillarNetworkA,6545,6545,6545,1987-12-03,654.5000000000803,654.48724,2015-01-01 01:49:05,bin6545,75,False +CTSPillarNetworkA,6546,6546,6546,1987-12-04,654.6000000000803,654.5872,2015-01-01 01:49:06,bin6546,35,False +CTSPillarNetworkA,6547,6547,6547,1987-12-05,654.7000000000803,654.6872,2015-01-01 01:49:07,bin6547,75,False +CTSPillarNetworkA,6548,6548,6548,1987-12-06,654.8000000000803,654.7872,2015-01-01 01:49:08,bin6548,35,False +CTSPillarNetworkA,6549,6549,6549,1987-12-07,654.9000000000804,654.88715,2015-01-01 01:49:09,bin6549,75,False +CTSPillarNetworkA,6550,6550,6550,1987-12-08,655.0000000000804,654.9871,2015-01-01 01:49:10,bin6550,35,False +CTSPillarNetworkA,6551,6551,6551,1987-12-09,655.1000000000804,655.0871,2015-01-01 01:49:11,bin6551,75,False +CTSPillarNetworkA,6552,6552,6552,1987-12-10,655.2000000000804,655.1871,2015-01-01 01:49:12,bin6552,35,False +CTSPillarNetworkA,6553,6553,6553,1987-12-11,655.3000000000804,655.28705,2015-01-01 01:49:13,bin6553,75,False +CTSPillarNetworkA,6554,6554,6554,1987-12-12,655.4000000000805,655.387,2015-01-01 01:49:14,bin6554,35,False +CTSPillarNetworkA,6555,6555,6555,1987-12-13,655.5000000000805,655.487,2015-01-01 01:49:15,bin6555,75,False +CTSPillarNetworkA,6556,6556,6556,1987-12-14,655.6000000000805,655.587,2015-01-01 01:49:16,bin6556,35,False +CTSPillarNetworkA,6557,6557,6557,1987-12-15,655.7000000000805,655.68695,2015-01-01 01:49:17,bin6557,75,False +CTSPillarNetworkA,6558,6558,6558,1987-12-16,655.8000000000806,655.7869,2015-01-01 01:49:18,bin6558,35,False +CTSPillarNetworkA,6559,6559,6559,1987-12-17,655.9000000000806,655.8869,2015-01-01 01:49:19,bin6559,75,False +CTSPillarNetworkA,6560,6560,6560,1987-12-18,656.0000000000806,655.9869,2015-01-01 01:49:20,bin6560,35,False +CTSPillarNetworkA,6561,6561,6561,1987-12-19,656.1000000000806,656.08685,2015-01-01 01:49:21,bin6561,75,False +CTSPillarNetworkA,6562,6562,6562,1987-12-20,656.2000000000806,656.1868,2015-01-01 01:49:22,bin6562,35,False +CTSPillarNetworkA,6563,6563,6563,1987-12-21,656.3000000000807,656.2868,2015-01-01 01:49:23,bin6563,75,False +CTSPillarNetworkA,6564,6564,6564,1987-12-22,656.4000000000807,656.3868,2015-01-01 01:49:24,bin6564,35,False +CTSPillarNetworkA,6565,6565,6565,1987-12-23,656.5000000000807,656.48676,2015-01-01 01:49:25,bin6565,75,False +CTSPillarNetworkA,6566,6566,6566,1987-12-24,656.6000000000807,656.58673,2015-01-01 01:49:26,bin6566,35,False +CTSPillarNetworkA,6567,6567,6567,1987-12-25,656.7000000000808,656.6867,2015-01-01 01:49:27,bin6567,75,False +CTSPillarNetworkA,6568,6568,6568,1987-12-26,656.8000000000808,656.7867,2015-01-01 01:49:28,bin6568,35,False +CTSPillarNetworkA,6569,6569,6569,1987-12-27,656.9000000000808,656.88666,2015-01-01 01:49:29,bin6569,75,False +CTSPillarNetworkA,6570,6570,6570,1987-12-28,657.0000000000808,656.98663,2015-01-01 01:49:30,bin6570,35,False +CTSPillarNetworkA,6571,6571,6571,1987-12-29,657.1000000000809,657.0866,2015-01-01 01:49:31,bin6571,75,False +CTSPillarNetworkA,6572,6572,6572,1987-12-30,657.2000000000809,657.1866,2015-01-01 01:49:32,bin6572,35,False +CTSPillarNetworkA,6573,6573,6573,1987-12-31,657.3000000000809,657.28656,2015-01-01 01:49:33,bin6573,75,False +CTSPillarNetworkA,6574,6574,6574,1988-01-01,657.4000000000809,657.38654,2015-01-01 01:49:34,bin6574,35,False +CTSPillarNetworkA,6575,6575,6575,1988-01-02,657.500000000081,657.4865,2015-01-01 01:49:35,bin6575,75,False +CTSPillarNetworkA,6576,6576,6576,1988-01-03,657.600000000081,657.5865,2015-01-01 01:49:36,bin6576,35,False +CTSPillarNetworkA,6577,6577,6577,1988-01-04,657.700000000081,657.68646,2015-01-01 01:49:37,bin6577,75,False +CTSPillarNetworkA,6578,6578,6578,1988-01-05,657.800000000081,657.78644,2015-01-01 01:49:38,bin6578,35,False +CTSPillarNetworkA,6579,6579,6579,1988-01-06,657.900000000081,657.8864,2015-01-01 01:49:39,bin6579,75,False +CTSPillarNetworkA,6580,6580,6580,1988-01-07,658.0000000000811,657.9864,2015-01-01 01:49:40,bin6580,35,False +CTSPillarNetworkA,6581,6581,6581,1988-01-08,658.1000000000811,658.08636,2015-01-01 01:49:41,bin6581,75,False +CTSPillarNetworkA,6582,6582,6582,1988-01-09,658.2000000000811,658.18634,2015-01-01 01:49:42,bin6582,35,False +CTSPillarNetworkA,6583,6583,6583,1988-01-10,658.3000000000811,658.2863,2015-01-01 01:49:43,bin6583,75,False +CTSPillarNetworkA,6584,6584,6584,1988-01-11,658.4000000000811,658.3863,2015-01-01 01:49:44,bin6584,35,False +CTSPillarNetworkA,6585,6585,6585,1988-01-12,658.5000000000812,658.48627,2015-01-01 01:49:45,bin6585,75,False +CTSPillarNetworkA,6586,6586,6586,1988-01-13,658.6000000000812,658.58624,2015-01-01 01:49:46,bin6586,35,False +CTSPillarNetworkA,6587,6587,6587,1988-01-14,658.7000000000812,658.6862,2015-01-01 01:49:47,bin6587,75,False +CTSPillarNetworkA,6588,6588,6588,1988-01-15,658.8000000000812,658.7862,2015-01-01 01:49:48,bin6588,35,False +CTSPillarNetworkA,6589,6589,6589,1988-01-16,658.9000000000813,658.88617,2015-01-01 01:49:49,bin6589,75,False +CTSPillarNetworkA,6590,6590,6590,1988-01-17,659.0000000000813,658.98615,2015-01-01 01:49:50,bin6590,35,False +CTSPillarNetworkA,6591,6591,6591,1988-01-18,659.1000000000813,659.0861,2015-01-01 01:49:51,bin6591,75,False +CTSPillarNetworkA,6592,6592,6592,1988-01-19,659.2000000000813,659.1861,2015-01-01 01:49:52,bin6592,35,False +CTSPillarNetworkA,6593,6593,6593,1988-01-20,659.3000000000814,659.2861,2015-01-01 01:49:53,bin6593,75,False +CTSPillarNetworkA,6594,6594,6594,1988-01-21,659.4000000000814,659.38605,2015-01-01 01:49:54,bin6594,35,False +CTSPillarNetworkA,6595,6595,6595,1988-01-22,659.5000000000814,659.486,2015-01-01 01:49:55,bin6595,75,False +CTSPillarNetworkA,6596,6596,6596,1988-01-23,659.6000000000814,659.586,2015-01-01 01:49:56,bin6596,35,False +CTSPillarNetworkA,6597,6597,6597,1988-01-24,659.7000000000814,659.686,2015-01-01 01:49:57,bin6597,75,False +CTSPillarNetworkA,6598,6598,6598,1988-01-25,659.8000000000815,659.78595,2015-01-01 01:49:58,bin6598,35,False +CTSPillarNetworkA,6599,6599,6599,1988-01-26,659.9000000000815,659.8859,2015-01-01 01:49:59,bin6599,75,False +CTSPillarNetworkA,6600,6600,6600,1988-01-27,660.0000000000815,659.9859,2015-01-01 01:50:00,bin6600,35,False +CTSPillarNetworkA,6601,6601,6601,1988-01-28,660.1000000000815,660.0859,2015-01-01 01:50:01,bin6601,75,False +CTSPillarNetworkA,6602,6602,6602,1988-01-29,660.2000000000816,660.18585,2015-01-01 01:50:02,bin6602,35,False +CTSPillarNetworkA,6603,6603,6603,1988-01-30,660.3000000000816,660.2858,2015-01-01 01:50:03,bin6603,75,False +CTSPillarNetworkA,6604,6604,6604,1988-01-31,660.4000000000816,660.3858,2015-01-01 01:50:04,bin6604,35,False +CTSPillarNetworkA,6605,6605,6605,1988-02-01,660.5000000000816,660.4858,2015-01-01 01:50:05,bin6605,75,False +CTSPillarNetworkA,6606,6606,6606,1988-02-02,660.6000000000816,660.58575,2015-01-01 01:50:06,bin6606,35,False +CTSPillarNetworkA,6607,6607,6607,1988-02-03,660.7000000000817,660.6857,2015-01-01 01:50:07,bin6607,75,False +CTSPillarNetworkA,6608,6608,6608,1988-02-04,660.8000000000817,660.7857,2015-01-01 01:50:08,bin6608,35,False +CTSPillarNetworkA,6609,6609,6609,1988-02-05,660.9000000000817,660.8857,2015-01-01 01:50:09,bin6609,75,False +CTSPillarNetworkA,6610,6610,6610,1988-02-06,661.0000000000817,660.98566,2015-01-01 01:50:10,bin6610,35,False +CTSPillarNetworkA,6611,6611,6611,1988-02-07,661.1000000000818,661.08563,2015-01-01 01:50:11,bin6611,75,False +CTSPillarNetworkA,6612,6612,6612,1988-02-08,661.2000000000818,661.1856,2015-01-01 01:50:12,bin6612,35,False +CTSPillarNetworkA,6613,6613,6613,1988-02-09,661.3000000000818,661.2856,2015-01-01 01:50:13,bin6613,75,False +CTSPillarNetworkA,6614,6614,6614,1988-02-10,661.4000000000818,661.38556,2015-01-01 01:50:14,bin6614,35,False +CTSPillarNetworkA,6615,6615,6615,1988-02-11,661.5000000000819,661.48553,2015-01-01 01:50:15,bin6615,75,False +CTSPillarNetworkA,6616,6616,6616,1988-02-12,661.6000000000819,661.5855,2015-01-01 01:50:16,bin6616,35,False +CTSPillarNetworkA,6617,6617,6617,1988-02-13,661.7000000000819,661.6855,2015-01-01 01:50:17,bin6617,75,False +CTSPillarNetworkA,6618,6618,6618,1988-02-14,661.8000000000819,661.78546,2015-01-01 01:50:18,bin6618,35,False +CTSPillarNetworkA,6619,6619,6619,1988-02-15,661.900000000082,661.88544,2015-01-01 01:50:19,bin6619,75,False +CTSPillarNetworkA,6620,6620,6620,1988-02-16,662.000000000082,661.9854,2015-01-01 01:50:20,bin6620,35,False +CTSPillarNetworkA,6621,6621,6621,1988-02-17,662.100000000082,662.0854,2015-01-01 01:50:21,bin6621,75,False +CTSPillarNetworkA,6622,6622,6622,1988-02-18,662.200000000082,662.18536,2015-01-01 01:50:22,bin6622,35,False +CTSPillarNetworkA,6623,6623,6623,1988-02-19,662.300000000082,662.28534,2015-01-01 01:50:23,bin6623,75,False +CTSPillarNetworkA,6624,6624,6624,1988-02-20,662.4000000000821,662.3853,2015-01-01 01:50:24,bin6624,35,False +CTSPillarNetworkA,6625,6625,6625,1988-02-21,662.5000000000821,662.4853,2015-01-01 01:50:25,bin6625,75,False +CTSPillarNetworkA,6626,6626,6626,1988-02-22,662.6000000000821,662.58527,2015-01-01 01:50:26,bin6626,35,False +CTSPillarNetworkA,6627,6627,6627,1988-02-23,662.7000000000821,662.68524,2015-01-01 01:50:27,bin6627,75,False +CTSPillarNetworkA,6628,6628,6628,1988-02-24,662.8000000000822,662.7852,2015-01-01 01:50:28,bin6628,35,False +CTSPillarNetworkA,6629,6629,6629,1988-02-25,662.9000000000822,662.8852,2015-01-01 01:50:29,bin6629,75,False +CTSPillarNetworkA,6630,6630,6630,1988-02-26,663.0000000000822,662.98517,2015-01-01 01:50:30,bin6630,35,False +CTSPillarNetworkA,6631,6631,6631,1988-02-27,663.1000000000822,663.08514,2015-01-01 01:50:31,bin6631,75,False +CTSPillarNetworkA,6632,6632,6632,1988-02-28,663.2000000000822,663.1851,2015-01-01 01:50:32,bin6632,35,False +CTSPillarNetworkA,6633,6633,6633,1988-02-29,663.3000000000823,663.2851,2015-01-01 01:50:33,bin6633,75,False +CTSPillarNetworkA,6634,6634,6634,1988-03-01,663.4000000000823,663.3851,2015-01-01 01:50:34,bin6634,35,False +CTSPillarNetworkA,6635,6635,6635,1988-03-02,663.5000000000823,663.48505,2015-01-01 01:50:35,bin6635,75,False +CTSPillarNetworkA,6636,6636,6636,1988-03-03,663.6000000000823,663.585,2015-01-01 01:50:36,bin6636,35,False +CTSPillarNetworkA,6637,6637,6637,1988-03-04,663.7000000000824,663.685,2015-01-01 01:50:37,bin6637,75,False +CTSPillarNetworkA,6638,6638,6638,1988-03-05,663.8000000000824,663.785,2015-01-01 01:50:38,bin6638,35,False +CTSPillarNetworkA,6639,6639,6639,1988-03-06,663.9000000000824,663.88495,2015-01-01 01:50:39,bin6639,75,False +CTSPillarNetworkA,6640,6640,6640,1988-03-07,664.0000000000824,663.9849,2015-01-01 01:50:40,bin6640,35,False +CTSPillarNetworkA,6641,6641,6641,1988-03-08,664.1000000000824,664.0849,2015-01-01 01:50:41,bin6641,75,False +CTSPillarNetworkA,6642,6642,6642,1988-03-09,664.2000000000825,664.1849,2015-01-01 01:50:42,bin6642,35,False +CTSPillarNetworkA,6643,6643,6643,1988-03-10,664.3000000000825,664.28485,2015-01-01 01:50:43,bin6643,75,False +CTSPillarNetworkA,6644,6644,6644,1988-03-11,664.4000000000825,664.3848,2015-01-01 01:50:44,bin6644,35,False +CTSPillarNetworkA,6645,6645,6645,1988-03-12,664.5000000000825,664.4848,2015-01-01 01:50:45,bin6645,75,False +CTSPillarNetworkA,6646,6646,6646,1988-03-13,664.6000000000826,664.5848,2015-01-01 01:50:46,bin6646,35,False +CTSPillarNetworkA,6647,6647,6647,1988-03-14,664.7000000000826,664.68475,2015-01-01 01:50:47,bin6647,75,False +CTSPillarNetworkA,6648,6648,6648,1988-03-15,664.8000000000826,664.7847,2015-01-01 01:50:48,bin6648,35,False +CTSPillarNetworkA,6649,6649,6649,1988-03-16,664.9000000000826,664.8847,2015-01-01 01:50:49,bin6649,75,False +CTSPillarNetworkA,6650,6650,6650,1988-03-17,665.0000000000827,664.9847,2015-01-01 01:50:50,bin6650,35,False +CTSPillarNetworkA,6651,6651,6651,1988-03-18,665.1000000000827,665.08466,2015-01-01 01:50:51,bin6651,75,False +CTSPillarNetworkA,6652,6652,6652,1988-03-19,665.2000000000827,665.18463,2015-01-01 01:50:52,bin6652,35,False +CTSPillarNetworkA,6653,6653,6653,1988-03-20,665.3000000000827,665.2846,2015-01-01 01:50:53,bin6653,75,False +CTSPillarNetworkA,6654,6654,6654,1988-03-21,665.4000000000827,665.3846,2015-01-01 01:50:54,bin6654,35,False +CTSPillarNetworkA,6655,6655,6655,1988-03-22,665.5000000000828,665.48456,2015-01-01 01:50:55,bin6655,75,False +CTSPillarNetworkA,6656,6656,6656,1988-03-23,665.6000000000828,665.58453,2015-01-01 01:50:56,bin6656,35,False +CTSPillarNetworkA,6657,6657,6657,1988-03-24,665.7000000000828,665.6845,2015-01-01 01:50:57,bin6657,75,False +CTSPillarNetworkA,6658,6658,6658,1988-03-25,665.8000000000828,665.7845,2015-01-01 01:50:58,bin6658,35,False +CTSPillarNetworkA,6659,6659,6659,1988-03-26,665.9000000000829,665.88446,2015-01-01 01:50:59,bin6659,75,False +CTSPillarNetworkA,6660,6660,6660,1988-03-27,666.0000000000829,665.98444,2015-01-01 01:51:00,bin6660,35,False +CTSPillarNetworkA,6661,6661,6661,1988-03-28,666.1000000000829,666.0844,2015-01-01 01:51:01,bin6661,75,False +CTSPillarNetworkA,6662,6662,6662,1988-03-29,666.2000000000829,666.1844,2015-01-01 01:51:02,bin6662,35,False +CTSPillarNetworkA,6663,6663,6663,1988-03-30,666.300000000083,666.28436,2015-01-01 01:51:03,bin6663,75,False +CTSPillarNetworkA,6664,6664,6664,1988-03-31,666.400000000083,666.38434,2015-01-01 01:51:04,bin6664,35,False +CTSPillarNetworkA,6665,6665,6665,1988-04-01,666.500000000083,666.4843,2015-01-01 01:51:05,bin6665,75,False +CTSPillarNetworkA,6666,6666,6666,1988-04-02,666.600000000083,666.5843,2015-01-01 01:51:06,bin6666,35,False +CTSPillarNetworkA,6667,6667,6667,1988-04-03,666.700000000083,666.68427,2015-01-01 01:51:07,bin6667,75,False +CTSPillarNetworkA,6668,6668,6668,1988-04-04,666.8000000000831,666.78424,2015-01-01 01:51:08,bin6668,35,False +CTSPillarNetworkA,6669,6669,6669,1988-04-05,666.9000000000831,666.8842,2015-01-01 01:51:09,bin6669,75,False +CTSPillarNetworkA,6670,6670,6670,1988-04-06,667.0000000000831,666.9842,2015-01-01 01:51:10,bin6670,35,False +CTSPillarNetworkA,6671,6671,6671,1988-04-07,667.1000000000831,667.08417,2015-01-01 01:51:11,bin6671,75,False +CTSPillarNetworkA,6672,6672,6672,1988-04-08,667.2000000000832,667.18414,2015-01-01 01:51:12,bin6672,35,False +CTSPillarNetworkA,6673,6673,6673,1988-04-09,667.3000000000832,667.2841,2015-01-01 01:51:13,bin6673,75,False +CTSPillarNetworkA,6674,6674,6674,1988-04-10,667.4000000000832,667.3841,2015-01-01 01:51:14,bin6674,35,False +CTSPillarNetworkA,6675,6675,6675,1988-04-11,667.5000000000832,667.4841,2015-01-01 01:51:15,bin6675,75,False +CTSPillarNetworkA,6676,6676,6676,1988-04-12,667.6000000000832,667.58405,2015-01-01 01:51:16,bin6676,35,False +CTSPillarNetworkA,6677,6677,6677,1988-04-13,667.7000000000833,667.684,2015-01-01 01:51:17,bin6677,75,False +CTSPillarNetworkA,6678,6678,6678,1988-04-14,667.8000000000833,667.784,2015-01-01 01:51:18,bin6678,35,False +CTSPillarNetworkA,6679,6679,6679,1988-04-15,667.9000000000833,667.884,2015-01-01 01:51:19,bin6679,75,False +CTSPillarNetworkA,6680,6680,6680,1988-04-16,668.0000000000833,667.98395,2015-01-01 01:51:20,bin6680,35,False +CTSPillarNetworkA,6681,6681,6681,1988-04-17,668.1000000000834,668.0839,2015-01-01 01:51:21,bin6681,75,False +CTSPillarNetworkA,6682,6682,6682,1988-04-18,668.2000000000834,668.1839,2015-01-01 01:51:22,bin6682,35,False +CTSPillarNetworkA,6683,6683,6683,1988-04-19,668.3000000000834,668.2839,2015-01-01 01:51:23,bin6683,75,False +CTSPillarNetworkA,6684,6684,6684,1988-04-20,668.4000000000834,668.38385,2015-01-01 01:51:24,bin6684,35,False +CTSPillarNetworkA,6685,6685,6685,1988-04-21,668.5000000000834,668.4838,2015-01-01 01:51:25,bin6685,75,False +CTSPillarNetworkA,6686,6686,6686,1988-04-22,668.6000000000835,668.5838,2015-01-01 01:51:26,bin6686,35,False +CTSPillarNetworkA,6687,6687,6687,1988-04-23,668.7000000000835,668.6838,2015-01-01 01:51:27,bin6687,75,False +CTSPillarNetworkA,6688,6688,6688,1988-04-24,668.8000000000835,668.78375,2015-01-01 01:51:28,bin6688,35,False +CTSPillarNetworkA,6689,6689,6689,1988-04-25,668.9000000000835,668.8837,2015-01-01 01:51:29,bin6689,75,False +CTSPillarNetworkA,6690,6690,6690,1988-04-26,669.0000000000836,668.9837,2015-01-01 01:51:30,bin6690,35,False +CTSPillarNetworkA,6691,6691,6691,1988-04-27,669.1000000000836,669.0837,2015-01-01 01:51:31,bin6691,75,False +CTSPillarNetworkA,6692,6692,6692,1988-04-28,669.2000000000836,669.18365,2015-01-01 01:51:32,bin6692,35,False +CTSPillarNetworkA,6693,6693,6693,1988-04-29,669.3000000000836,669.2836,2015-01-01 01:51:33,bin6693,75,False +CTSPillarNetworkA,6694,6694,6694,1988-04-30,669.4000000000837,669.3836,2015-01-01 01:51:34,bin6694,35,False +CTSPillarNetworkA,6695,6695,6695,1988-05-01,669.5000000000837,669.4836,2015-01-01 01:51:35,bin6695,75,False +CTSPillarNetworkA,6696,6696,6696,1988-05-02,669.6000000000837,669.58356,2015-01-01 01:51:36,bin6696,35,False +CTSPillarNetworkA,6697,6697,6697,1988-05-03,669.7000000000837,669.68353,2015-01-01 01:51:37,bin6697,75,False +CTSPillarNetworkA,6698,6698,6698,1988-05-04,669.8000000000837,669.7835,2015-01-01 01:51:38,bin6698,35,False +CTSPillarNetworkA,6699,6699,6699,1988-05-05,669.9000000000838,669.8835,2015-01-01 01:51:39,bin6699,75,False +CTSPillarNetworkA,6700,6700,6700,1988-05-06,670.0000000000838,669.98346,2015-01-01 01:51:40,bin6700,35,False +CTSPillarNetworkA,6701,6701,6701,1988-05-07,670.1000000000838,670.08344,2015-01-01 01:51:41,bin6701,75,False +CTSPillarNetworkA,6702,6702,6702,1988-05-08,670.2000000000838,670.1834,2015-01-01 01:51:42,bin6702,35,False +CTSPillarNetworkA,6703,6703,6703,1988-05-09,670.3000000000839,670.2834,2015-01-01 01:51:43,bin6703,75,False +CTSPillarNetworkA,6704,6704,6704,1988-05-10,670.4000000000839,670.38336,2015-01-01 01:51:44,bin6704,35,False +CTSPillarNetworkA,6705,6705,6705,1988-05-11,670.5000000000839,670.48334,2015-01-01 01:51:45,bin6705,75,False +CTSPillarNetworkA,6706,6706,6706,1988-05-12,670.6000000000839,670.5833,2015-01-01 01:51:46,bin6706,35,False +CTSPillarNetworkA,6707,6707,6707,1988-05-13,670.700000000084,670.6833,2015-01-01 01:51:47,bin6707,75,False +CTSPillarNetworkA,6708,6708,6708,1988-05-14,670.800000000084,670.78326,2015-01-01 01:51:48,bin6708,35,False +CTSPillarNetworkA,6709,6709,6709,1988-05-15,670.900000000084,670.88324,2015-01-01 01:51:49,bin6709,75,False +CTSPillarNetworkA,6710,6710,6710,1988-05-16,671.000000000084,670.9832,2015-01-01 01:51:50,bin6710,35,False +CTSPillarNetworkA,6711,6711,6711,1988-05-17,671.100000000084,671.0832,2015-01-01 01:51:51,bin6711,75,False +CTSPillarNetworkA,6712,6712,6712,1988-05-18,671.2000000000841,671.18317,2015-01-01 01:51:52,bin6712,35,False +CTSPillarNetworkA,6713,6713,6713,1988-05-19,671.3000000000841,671.28314,2015-01-01 01:51:53,bin6713,75,False +CTSPillarNetworkA,6714,6714,6714,1988-05-20,671.4000000000841,671.3831,2015-01-01 01:51:54,bin6714,35,False +CTSPillarNetworkA,6715,6715,6715,1988-05-21,671.5000000000841,671.4831,2015-01-01 01:51:55,bin6715,75,False +CTSPillarNetworkA,6716,6716,6716,1988-05-22,671.6000000000842,671.58307,2015-01-01 01:51:56,bin6716,35,False +CTSPillarNetworkA,6717,6717,6717,1988-05-23,671.7000000000842,671.68304,2015-01-01 01:51:57,bin6717,75,False +CTSPillarNetworkA,6718,6718,6718,1988-05-24,671.8000000000842,671.783,2015-01-01 01:51:58,bin6718,35,False +CTSPillarNetworkA,6719,6719,6719,1988-05-25,671.9000000000842,671.883,2015-01-01 01:51:59,bin6719,75,False +CTSPillarNetworkA,6720,6720,6720,1988-05-26,672.0000000000842,671.983,2015-01-01 01:52:00,bin6720,35,False +CTSPillarNetworkA,6721,6721,6721,1988-05-27,672.1000000000843,672.08295,2015-01-01 01:52:01,bin6721,75,False +CTSPillarNetworkA,6722,6722,6722,1988-05-28,672.2000000000843,672.1829,2015-01-01 01:52:02,bin6722,35,False +CTSPillarNetworkA,6723,6723,6723,1988-05-29,672.3000000000843,672.2829,2015-01-01 01:52:03,bin6723,75,False +CTSPillarNetworkA,6724,6724,6724,1988-05-30,672.4000000000843,672.3829,2015-01-01 01:52:04,bin6724,35,False +CTSPillarNetworkA,6725,6725,6725,1988-05-31,672.5000000000844,672.48285,2015-01-01 01:52:05,bin6725,75,False +CTSPillarNetworkA,6726,6726,6726,1988-06-01,672.6000000000844,672.5828,2015-01-01 01:52:06,bin6726,35,False +CTSPillarNetworkA,6727,6727,6727,1988-06-02,672.7000000000844,672.6828,2015-01-01 01:52:07,bin6727,75,False +CTSPillarNetworkA,6728,6728,6728,1988-06-03,672.8000000000844,672.7828,2015-01-01 01:52:08,bin6728,35,False +CTSPillarNetworkA,6729,6729,6729,1988-06-04,672.9000000000844,672.88275,2015-01-01 01:52:09,bin6729,75,False +CTSPillarNetworkA,6730,6730,6730,1988-06-05,673.0000000000845,672.9827,2015-01-01 01:52:10,bin6730,35,False +CTSPillarNetworkA,6731,6731,6731,1988-06-06,673.1000000000845,673.0827,2015-01-01 01:52:11,bin6731,75,False +CTSPillarNetworkA,6732,6732,6732,1988-06-07,673.2000000000845,673.1827,2015-01-01 01:52:12,bin6732,35,False +CTSPillarNetworkA,6733,6733,6733,1988-06-08,673.3000000000845,673.28265,2015-01-01 01:52:13,bin6733,75,False +CTSPillarNetworkA,6734,6734,6734,1988-06-09,673.4000000000846,673.3826,2015-01-01 01:52:14,bin6734,35,False +CTSPillarNetworkA,6735,6735,6735,1988-06-10,673.5000000000846,673.4826,2015-01-01 01:52:15,bin6735,75,False +CTSPillarNetworkA,6736,6736,6736,1988-06-11,673.6000000000846,673.5826,2015-01-01 01:52:16,bin6736,35,False +CTSPillarNetworkA,6737,6737,6737,1988-06-12,673.7000000000846,673.68256,2015-01-01 01:52:17,bin6737,75,False +CTSPillarNetworkA,6738,6738,6738,1988-06-13,673.8000000000847,673.78253,2015-01-01 01:52:18,bin6738,35,False +CTSPillarNetworkA,6739,6739,6739,1988-06-14,673.9000000000847,673.8825,2015-01-01 01:52:19,bin6739,75,False +CTSPillarNetworkA,6740,6740,6740,1988-06-15,674.0000000000847,673.9825,2015-01-01 01:52:20,bin6740,35,False +CTSPillarNetworkA,6741,6741,6741,1988-06-16,674.1000000000847,674.08246,2015-01-01 01:52:21,bin6741,75,False +CTSPillarNetworkA,6742,6742,6742,1988-06-17,674.2000000000847,674.18243,2015-01-01 01:52:22,bin6742,35,False +CTSPillarNetworkA,6743,6743,6743,1988-06-18,674.3000000000848,674.2824,2015-01-01 01:52:23,bin6743,75,False +CTSPillarNetworkA,6744,6744,6744,1988-06-19,674.4000000000848,674.3824,2015-01-01 01:52:24,bin6744,35,False +CTSPillarNetworkA,6745,6745,6745,1988-06-20,674.5000000000848,674.48236,2015-01-01 01:52:25,bin6745,75,False +CTSPillarNetworkA,6746,6746,6746,1988-06-21,674.6000000000848,674.58234,2015-01-01 01:52:26,bin6746,35,False +CTSPillarNetworkA,6747,6747,6747,1988-06-22,674.7000000000849,674.6823,2015-01-01 01:52:27,bin6747,75,False +CTSPillarNetworkA,6748,6748,6748,1988-06-23,674.8000000000849,674.7823,2015-01-01 01:52:28,bin6748,35,False +CTSPillarNetworkA,6749,6749,6749,1988-06-24,674.9000000000849,674.88226,2015-01-01 01:52:29,bin6749,75,False +CTSPillarNetworkA,6750,6750,6750,1988-06-25,675.0000000000849,674.98224,2015-01-01 01:52:30,bin6750,35,False +CTSPillarNetworkA,6751,6751,6751,1988-06-26,675.100000000085,675.0822,2015-01-01 01:52:31,bin6751,75,False +CTSPillarNetworkA,6752,6752,6752,1988-06-27,675.200000000085,675.1822,2015-01-01 01:52:32,bin6752,35,False +CTSPillarNetworkA,6753,6753,6753,1988-06-28,675.300000000085,675.28217,2015-01-01 01:52:33,bin6753,75,False +CTSPillarNetworkA,6754,6754,6754,1988-06-29,675.400000000085,675.38214,2015-01-01 01:52:34,bin6754,35,False +CTSPillarNetworkA,6755,6755,6755,1988-06-30,675.500000000085,675.4821,2015-01-01 01:52:35,bin6755,75,False +CTSPillarNetworkA,6756,6756,6756,1988-07-01,675.6000000000851,675.5821,2015-01-01 01:52:36,bin6756,35,False +CTSPillarNetworkA,6757,6757,6757,1988-07-02,675.7000000000851,675.68207,2015-01-01 01:52:37,bin6757,75,False +CTSPillarNetworkA,6758,6758,6758,1988-07-03,675.8000000000851,675.78204,2015-01-01 01:52:38,bin6758,35,False +CTSPillarNetworkA,6759,6759,6759,1988-07-04,675.9000000000851,675.882,2015-01-01 01:52:39,bin6759,75,False +CTSPillarNetworkA,6760,6760,6760,1988-07-05,676.0000000000852,675.982,2015-01-01 01:52:40,bin6760,35,False +CTSPillarNetworkA,6761,6761,6761,1988-07-06,676.1000000000852,676.082,2015-01-01 01:52:41,bin6761,75,False +CTSPillarNetworkA,6762,6762,6762,1988-07-07,676.2000000000852,676.18195,2015-01-01 01:52:42,bin6762,35,False +CTSPillarNetworkA,6763,6763,6763,1988-07-08,676.3000000000852,676.2819,2015-01-01 01:52:43,bin6763,75,False +CTSPillarNetworkA,6764,6764,6764,1988-07-09,676.4000000000852,676.3819,2015-01-01 01:52:44,bin6764,35,False +CTSPillarNetworkA,6765,6765,6765,1988-07-10,676.5000000000853,676.4819,2015-01-01 01:52:45,bin6765,75,False +CTSPillarNetworkA,6766,6766,6766,1988-07-11,676.6000000000853,676.58185,2015-01-01 01:52:46,bin6766,35,False +CTSPillarNetworkA,6767,6767,6767,1988-07-12,676.7000000000853,676.6818,2015-01-01 01:52:47,bin6767,75,False +CTSPillarNetworkA,6768,6768,6768,1988-07-13,676.8000000000853,676.7818,2015-01-01 01:52:48,bin6768,35,False +CTSPillarNetworkA,6769,6769,6769,1988-07-14,676.9000000000854,676.8818,2015-01-01 01:52:49,bin6769,75,False +CTSPillarNetworkA,6770,6770,6770,1988-07-15,677.0000000000854,676.98175,2015-01-01 01:52:50,bin6770,35,False +CTSPillarNetworkA,6771,6771,6771,1988-07-16,677.1000000000854,677.0817,2015-01-01 01:52:51,bin6771,75,False +CTSPillarNetworkA,6772,6772,6772,1988-07-17,677.2000000000854,677.1817,2015-01-01 01:52:52,bin6772,35,False +CTSPillarNetworkA,6773,6773,6773,1988-07-18,677.3000000000854,677.2817,2015-01-01 01:52:53,bin6773,75,False +CTSPillarNetworkA,6774,6774,6774,1988-07-19,677.4000000000855,677.38165,2015-01-01 01:52:54,bin6774,35,False +CTSPillarNetworkA,6775,6775,6775,1988-07-20,677.5000000000855,677.4816,2015-01-01 01:52:55,bin6775,75,False +CTSPillarNetworkA,6776,6776,6776,1988-07-21,677.6000000000855,677.5816,2015-01-01 01:52:56,bin6776,35,False +CTSPillarNetworkA,6777,6777,6777,1988-07-22,677.7000000000855,677.6816,2015-01-01 01:52:57,bin6777,75,False +CTSPillarNetworkA,6778,6778,6778,1988-07-23,677.8000000000856,677.78156,2015-01-01 01:52:58,bin6778,35,False +CTSPillarNetworkA,6779,6779,6779,1988-07-24,677.9000000000856,677.88153,2015-01-01 01:52:59,bin6779,75,False +CTSPillarNetworkA,6780,6780,6780,1988-07-25,678.0000000000856,677.9815,2015-01-01 01:53:00,bin6780,35,False +CTSPillarNetworkA,6781,6781,6781,1988-07-26,678.1000000000856,678.0815,2015-01-01 01:53:01,bin6781,75,False +CTSPillarNetworkA,6782,6782,6782,1988-07-27,678.2000000000857,678.18146,2015-01-01 01:53:02,bin6782,35,False +CTSPillarNetworkA,6783,6783,6783,1988-07-28,678.3000000000857,678.28143,2015-01-01 01:53:03,bin6783,75,False +CTSPillarNetworkA,6784,6784,6784,1988-07-29,678.4000000000857,678.3814,2015-01-01 01:53:04,bin6784,35,False +CTSPillarNetworkA,6785,6785,6785,1988-07-30,678.5000000000857,678.4814,2015-01-01 01:53:05,bin6785,75,False +CTSPillarNetworkA,6786,6786,6786,1988-07-31,678.6000000000857,678.58136,2015-01-01 01:53:06,bin6786,35,False +CTSPillarNetworkA,6787,6787,6787,1988-08-01,678.7000000000858,678.68134,2015-01-01 01:53:07,bin6787,75,False +CTSPillarNetworkA,6788,6788,6788,1988-08-02,678.8000000000858,678.7813,2015-01-01 01:53:08,bin6788,35,False +CTSPillarNetworkA,6789,6789,6789,1988-08-03,678.9000000000858,678.8813,2015-01-01 01:53:09,bin6789,75,False +CTSPillarNetworkA,6790,6790,6790,1988-08-04,679.0000000000858,678.98126,2015-01-01 01:53:10,bin6790,35,False +CTSPillarNetworkA,6791,6791,6791,1988-08-05,679.1000000000859,679.08124,2015-01-01 01:53:11,bin6791,75,False +CTSPillarNetworkA,6792,6792,6792,1988-08-06,679.2000000000859,679.1812,2015-01-01 01:53:12,bin6792,35,False +CTSPillarNetworkA,6793,6793,6793,1988-08-07,679.3000000000859,679.2812,2015-01-01 01:53:13,bin6793,75,False +CTSPillarNetworkA,6794,6794,6794,1988-08-08,679.4000000000859,679.38116,2015-01-01 01:53:14,bin6794,35,False +CTSPillarNetworkA,6795,6795,6795,1988-08-09,679.500000000086,679.48114,2015-01-01 01:53:15,bin6795,75,False +CTSPillarNetworkA,6796,6796,6796,1988-08-10,679.600000000086,679.5811,2015-01-01 01:53:16,bin6796,35,False +CTSPillarNetworkA,6797,6797,6797,1988-08-11,679.700000000086,679.6811,2015-01-01 01:53:17,bin6797,75,False +CTSPillarNetworkA,6798,6798,6798,1988-08-12,679.800000000086,679.78107,2015-01-01 01:53:18,bin6798,35,False +CTSPillarNetworkA,6799,6799,6799,1988-08-13,679.900000000086,679.88104,2015-01-01 01:53:19,bin6799,75,False +CTSPillarNetworkA,6800,6800,6800,1988-08-14,680.0000000000861,679.981,2015-01-01 01:53:20,bin6800,35,False +CTSPillarNetworkA,6801,6801,6801,1988-08-15,680.1000000000861,680.081,2015-01-01 01:53:21,bin6801,75,False +CTSPillarNetworkA,6802,6802,6802,1988-08-16,680.2000000000861,680.18097,2015-01-01 01:53:22,bin6802,35,False +CTSPillarNetworkA,6803,6803,6803,1988-08-17,680.3000000000861,680.28094,2015-01-01 01:53:23,bin6803,75,False +CTSPillarNetworkA,6804,6804,6804,1988-08-18,680.4000000000862,680.3809,2015-01-01 01:53:24,bin6804,35,False +CTSPillarNetworkA,6805,6805,6805,1988-08-19,680.5000000000862,680.4809,2015-01-01 01:53:25,bin6805,75,False +CTSPillarNetworkA,6806,6806,6806,1988-08-20,680.6000000000862,680.5809,2015-01-01 01:53:26,bin6806,35,False +CTSPillarNetworkA,6807,6807,6807,1988-08-21,680.7000000000862,680.68085,2015-01-01 01:53:27,bin6807,75,False +CTSPillarNetworkA,6808,6808,6808,1988-08-22,680.8000000000862,680.7808,2015-01-01 01:53:28,bin6808,35,False +CTSPillarNetworkA,6809,6809,6809,1988-08-23,680.9000000000863,680.8808,2015-01-01 01:53:29,bin6809,75,False +CTSPillarNetworkA,6810,6810,6810,1988-08-24,681.0000000000863,680.9808,2015-01-01 01:53:30,bin6810,35,False +CTSPillarNetworkA,6811,6811,6811,1988-08-25,681.1000000000863,681.08075,2015-01-01 01:53:31,bin6811,75,False +CTSPillarNetworkA,6812,6812,6812,1988-08-26,681.2000000000863,681.1807,2015-01-01 01:53:32,bin6812,35,False +CTSPillarNetworkA,6813,6813,6813,1988-08-27,681.3000000000864,681.2807,2015-01-01 01:53:33,bin6813,75,False +CTSPillarNetworkA,6814,6814,6814,1988-08-28,681.4000000000864,681.3807,2015-01-01 01:53:34,bin6814,35,False +CTSPillarNetworkA,6815,6815,6815,1988-08-29,681.5000000000864,681.48065,2015-01-01 01:53:35,bin6815,75,False +CTSPillarNetworkA,6816,6816,6816,1988-08-30,681.6000000000864,681.5806,2015-01-01 01:53:36,bin6816,35,False +CTSPillarNetworkA,6817,6817,6817,1988-08-31,681.7000000000864,681.6806,2015-01-01 01:53:37,bin6817,75,False +CTSPillarNetworkA,6818,6818,6818,1988-09-01,681.8000000000865,681.7806,2015-01-01 01:53:38,bin6818,35,False +CTSPillarNetworkA,6819,6819,6819,1988-09-02,681.9000000000865,681.88055,2015-01-01 01:53:39,bin6819,75,False +CTSPillarNetworkA,6820,6820,6820,1988-09-03,682.0000000000865,681.9805,2015-01-01 01:53:40,bin6820,35,False +CTSPillarNetworkA,6821,6821,6821,1988-09-04,682.1000000000865,682.0805,2015-01-01 01:53:41,bin6821,75,False +CTSPillarNetworkA,6822,6822,6822,1988-09-05,682.2000000000866,682.1805,2015-01-01 01:53:42,bin6822,35,False +CTSPillarNetworkA,6823,6823,6823,1988-09-06,682.3000000000866,682.28046,2015-01-01 01:53:43,bin6823,75,False +CTSPillarNetworkA,6824,6824,6824,1988-09-07,682.4000000000866,682.38043,2015-01-01 01:53:44,bin6824,35,False +CTSPillarNetworkA,6825,6825,6825,1988-09-08,682.5000000000866,682.4804,2015-01-01 01:53:45,bin6825,75,False +CTSPillarNetworkA,6826,6826,6826,1988-09-09,682.6000000000867,682.5804,2015-01-01 01:53:46,bin6826,35,False +CTSPillarNetworkA,6827,6827,6827,1988-09-10,682.7000000000867,682.68036,2015-01-01 01:53:47,bin6827,75,False +CTSPillarNetworkA,6828,6828,6828,1988-09-11,682.8000000000867,682.78033,2015-01-01 01:53:48,bin6828,35,False +CTSPillarNetworkA,6829,6829,6829,1988-09-12,682.9000000000867,682.8803,2015-01-01 01:53:49,bin6829,75,False +CTSPillarNetworkA,6830,6830,6830,1988-09-13,683.0000000000867,682.9803,2015-01-01 01:53:50,bin6830,35,False +CTSPillarNetworkA,6831,6831,6831,1988-09-14,683.1000000000868,683.08026,2015-01-01 01:53:51,bin6831,75,False +CTSPillarNetworkA,6832,6832,6832,1988-09-15,683.2000000000868,683.18024,2015-01-01 01:53:52,bin6832,35,False +CTSPillarNetworkA,6833,6833,6833,1988-09-16,683.3000000000868,683.2802,2015-01-01 01:53:53,bin6833,75,False +CTSPillarNetworkA,6834,6834,6834,1988-09-17,683.4000000000868,683.3802,2015-01-01 01:53:54,bin6834,35,False +CTSPillarNetworkA,6835,6835,6835,1988-09-18,683.5000000000869,683.48016,2015-01-01 01:53:55,bin6835,75,False +CTSPillarNetworkA,6836,6836,6836,1988-09-19,683.6000000000869,683.58014,2015-01-01 01:53:56,bin6836,35,False +CTSPillarNetworkA,6837,6837,6837,1988-09-20,683.7000000000869,683.6801,2015-01-01 01:53:57,bin6837,75,False +CTSPillarNetworkA,6838,6838,6838,1988-09-21,683.8000000000869,683.7801,2015-01-01 01:53:58,bin6838,35,False +CTSPillarNetworkA,6839,6839,6839,1988-09-22,683.900000000087,683.88007,2015-01-01 01:53:59,bin6839,75,False +CTSPillarNetworkA,6840,6840,6840,1988-09-23,684.000000000087,683.98004,2015-01-01 01:54:00,bin6840,35,False +CTSPillarNetworkA,6841,6841,6841,1988-09-24,684.100000000087,684.08,2015-01-01 01:54:01,bin6841,75,False +CTSPillarNetworkA,6842,6842,6842,1988-09-25,684.200000000087,684.18,2015-01-01 01:54:02,bin6842,35,False +CTSPillarNetworkA,6843,6843,6843,1988-09-26,684.300000000087,684.27997,2015-01-01 01:54:03,bin6843,75,False +CTSPillarNetworkA,6844,6844,6844,1988-09-27,684.4000000000871,684.37994,2015-01-01 01:54:04,bin6844,35,False +CTSPillarNetworkA,6845,6845,6845,1988-09-28,684.5000000000871,684.4799,2015-01-01 01:54:05,bin6845,75,False +CTSPillarNetworkA,6846,6846,6846,1988-09-29,684.6000000000871,684.5799,2015-01-01 01:54:06,bin6846,35,False +CTSPillarNetworkA,6847,6847,6847,1988-09-30,684.7000000000871,684.6799,2015-01-01 01:54:07,bin6847,75,False +CTSPillarNetworkA,6848,6848,6848,1988-10-01,684.8000000000872,684.77985,2015-01-01 01:54:08,bin6848,35,False +CTSPillarNetworkA,6849,6849,6849,1988-10-02,684.9000000000872,684.8798,2015-01-01 01:54:09,bin6849,75,False +CTSPillarNetworkA,6850,6850,6850,1988-10-03,685.0000000000872,684.9798,2015-01-01 01:54:10,bin6850,35,False +CTSPillarNetworkA,6851,6851,6851,1988-10-04,685.1000000000872,685.0798,2015-01-01 01:54:11,bin6851,75,False +CTSPillarNetworkA,6852,6852,6852,1988-10-05,685.2000000000872,685.17975,2015-01-01 01:54:12,bin6852,35,False +CTSPillarNetworkA,6853,6853,6853,1988-10-06,685.3000000000873,685.2797,2015-01-01 01:54:13,bin6853,75,False +CTSPillarNetworkA,6854,6854,6854,1988-10-07,685.4000000000873,685.3797,2015-01-01 01:54:14,bin6854,35,False +CTSPillarNetworkA,6855,6855,6855,1988-10-08,685.5000000000873,685.4797,2015-01-01 01:54:15,bin6855,75,False +CTSPillarNetworkA,6856,6856,6856,1988-10-09,685.6000000000873,685.57965,2015-01-01 01:54:16,bin6856,35,False +CTSPillarNetworkA,6857,6857,6857,1988-10-10,685.7000000000874,685.6796,2015-01-01 01:54:17,bin6857,75,False +CTSPillarNetworkA,6858,6858,6858,1988-10-11,685.8000000000874,685.7796,2015-01-01 01:54:18,bin6858,35,False +CTSPillarNetworkA,6859,6859,6859,1988-10-12,685.9000000000874,685.8796,2015-01-01 01:54:19,bin6859,75,False +CTSPillarNetworkA,6860,6860,6860,1988-10-13,686.0000000000874,685.97955,2015-01-01 01:54:20,bin6860,35,False +CTSPillarNetworkA,6861,6861,6861,1988-10-14,686.1000000000874,686.0795,2015-01-01 01:54:21,bin6861,75,False +CTSPillarNetworkA,6862,6862,6862,1988-10-15,686.2000000000875,686.1795,2015-01-01 01:54:22,bin6862,35,False +CTSPillarNetworkA,6863,6863,6863,1988-10-16,686.3000000000875,686.2795,2015-01-01 01:54:23,bin6863,75,False +CTSPillarNetworkA,6864,6864,6864,1988-10-17,686.4000000000875,686.37946,2015-01-01 01:54:24,bin6864,35,False +CTSPillarNetworkA,6865,6865,6865,1988-10-18,686.5000000000875,686.47943,2015-01-01 01:54:25,bin6865,75,False +CTSPillarNetworkA,6866,6866,6866,1988-10-19,686.6000000000876,686.5794,2015-01-01 01:54:26,bin6866,35,False +CTSPillarNetworkA,6867,6867,6867,1988-10-20,686.7000000000876,686.6794,2015-01-01 01:54:27,bin6867,75,False +CTSPillarNetworkA,6868,6868,6868,1988-10-21,686.8000000000876,686.77936,2015-01-01 01:54:28,bin6868,35,False +CTSPillarNetworkA,6869,6869,6869,1988-10-22,686.9000000000876,686.87933,2015-01-01 01:54:29,bin6869,75,False +CTSPillarNetworkA,6870,6870,6870,1988-10-23,687.0000000000877,686.9793,2015-01-01 01:54:30,bin6870,35,False +CTSPillarNetworkA,6871,6871,6871,1988-10-24,687.1000000000877,687.0793,2015-01-01 01:54:31,bin6871,75,False +CTSPillarNetworkA,6872,6872,6872,1988-10-25,687.2000000000877,687.17926,2015-01-01 01:54:32,bin6872,35,False +CTSPillarNetworkA,6873,6873,6873,1988-10-26,687.3000000000877,687.27924,2015-01-01 01:54:33,bin6873,75,False +CTSPillarNetworkA,6874,6874,6874,1988-10-27,687.4000000000877,687.3792,2015-01-01 01:54:34,bin6874,35,False +CTSPillarNetworkA,6875,6875,6875,1988-10-28,687.5000000000878,687.4792,2015-01-01 01:54:35,bin6875,75,False +CTSPillarNetworkA,6876,6876,6876,1988-10-29,687.6000000000878,687.57916,2015-01-01 01:54:36,bin6876,35,False +CTSPillarNetworkA,6877,6877,6877,1988-10-30,687.7000000000878,687.67914,2015-01-01 01:54:37,bin6877,75,False +CTSPillarNetworkA,6878,6878,6878,1988-10-31,687.8000000000878,687.7791,2015-01-01 01:54:38,bin6878,35,False +CTSPillarNetworkA,6879,6879,6879,1988-11-01,687.9000000000879,687.8791,2015-01-01 01:54:39,bin6879,75,False +CTSPillarNetworkA,6880,6880,6880,1988-11-02,688.0000000000879,687.97906,2015-01-01 01:54:40,bin6880,35,False +CTSPillarNetworkA,6881,6881,6881,1988-11-03,688.1000000000879,688.07904,2015-01-01 01:54:41,bin6881,75,False +CTSPillarNetworkA,6882,6882,6882,1988-11-04,688.2000000000879,688.179,2015-01-01 01:54:42,bin6882,35,False +CTSPillarNetworkA,6883,6883,6883,1988-11-05,688.300000000088,688.279,2015-01-01 01:54:43,bin6883,75,False +CTSPillarNetworkA,6884,6884,6884,1988-11-06,688.400000000088,688.37897,2015-01-01 01:54:44,bin6884,35,False +CTSPillarNetworkA,6885,6885,6885,1988-11-07,688.500000000088,688.47894,2015-01-01 01:54:45,bin6885,75,False +CTSPillarNetworkA,6886,6886,6886,1988-11-08,688.600000000088,688.5789,2015-01-01 01:54:46,bin6886,35,False +CTSPillarNetworkA,6887,6887,6887,1988-11-09,688.700000000088,688.6789,2015-01-01 01:54:47,bin6887,75,False +CTSPillarNetworkA,6888,6888,6888,1988-11-10,688.8000000000881,688.7789,2015-01-01 01:54:48,bin6888,35,False +CTSPillarNetworkA,6889,6889,6889,1988-11-11,688.9000000000881,688.87885,2015-01-01 01:54:49,bin6889,75,False +CTSPillarNetworkA,6890,6890,6890,1988-11-12,689.0000000000881,688.9788,2015-01-01 01:54:50,bin6890,35,False +CTSPillarNetworkA,6891,6891,6891,1988-11-13,689.1000000000881,689.0788,2015-01-01 01:54:51,bin6891,75,False +CTSPillarNetworkA,6892,6892,6892,1988-11-14,689.2000000000882,689.1788,2015-01-01 01:54:52,bin6892,35,False +CTSPillarNetworkA,6893,6893,6893,1988-11-15,689.3000000000882,689.27875,2015-01-01 01:54:53,bin6893,75,False +CTSPillarNetworkA,6894,6894,6894,1988-11-16,689.4000000000882,689.3787,2015-01-01 01:54:54,bin6894,35,False +CTSPillarNetworkA,6895,6895,6895,1988-11-17,689.5000000000882,689.4787,2015-01-01 01:54:55,bin6895,75,False +CTSPillarNetworkA,6896,6896,6896,1988-11-18,689.6000000000882,689.5787,2015-01-01 01:54:56,bin6896,35,False +CTSPillarNetworkA,6897,6897,6897,1988-11-19,689.7000000000883,689.67865,2015-01-01 01:54:57,bin6897,75,False +CTSPillarNetworkA,6898,6898,6898,1988-11-20,689.8000000000883,689.7786,2015-01-01 01:54:58,bin6898,35,False +CTSPillarNetworkA,6899,6899,6899,1988-11-21,689.9000000000883,689.8786,2015-01-01 01:54:59,bin6899,75,False +CTSPillarNetworkA,6900,6900,6900,1988-11-22,690.0000000000883,689.9786,2015-01-01 01:55:00,bin6900,35,False +CTSPillarNetworkA,6901,6901,6901,1988-11-23,690.1000000000884,690.07855,2015-01-01 01:55:01,bin6901,75,False +CTSPillarNetworkA,6902,6902,6902,1988-11-24,690.2000000000884,690.1785,2015-01-01 01:55:02,bin6902,35,False +CTSPillarNetworkA,6903,6903,6903,1988-11-25,690.3000000000884,690.2785,2015-01-01 01:55:03,bin6903,75,False +CTSPillarNetworkA,6904,6904,6904,1988-11-26,690.4000000000884,690.3785,2015-01-01 01:55:04,bin6904,35,False +CTSPillarNetworkA,6905,6905,6905,1988-11-27,690.5000000000884,690.47845,2015-01-01 01:55:05,bin6905,75,False +CTSPillarNetworkA,6906,6906,6906,1988-11-28,690.6000000000885,690.5784,2015-01-01 01:55:06,bin6906,35,False +CTSPillarNetworkA,6907,6907,6907,1988-11-29,690.7000000000885,690.6784,2015-01-01 01:55:07,bin6907,75,False +CTSPillarNetworkA,6908,6908,6908,1988-11-30,690.8000000000885,690.7784,2015-01-01 01:55:08,bin6908,35,False +CTSPillarNetworkA,6909,6909,6909,1988-12-01,690.9000000000885,690.87836,2015-01-01 01:55:09,bin6909,75,False +CTSPillarNetworkA,6910,6910,6910,1988-12-02,691.0000000000886,690.97833,2015-01-01 01:55:10,bin6910,35,False +CTSPillarNetworkA,6911,6911,6911,1988-12-03,691.1000000000886,691.0783,2015-01-01 01:55:11,bin6911,75,False +CTSPillarNetworkA,6912,6912,6912,1988-12-04,691.2000000000886,691.1783,2015-01-01 01:55:12,bin6912,35,False +CTSPillarNetworkA,6913,6913,6913,1988-12-05,691.3000000000886,691.27826,2015-01-01 01:55:13,bin6913,75,False +CTSPillarNetworkA,6914,6914,6914,1988-12-06,691.4000000000887,691.37823,2015-01-01 01:55:14,bin6914,35,False +CTSPillarNetworkA,6915,6915,6915,1988-12-07,691.5000000000887,691.4782,2015-01-01 01:55:15,bin6915,75,False +CTSPillarNetworkA,6916,6916,6916,1988-12-08,691.6000000000887,691.5782,2015-01-01 01:55:16,bin6916,35,False +CTSPillarNetworkA,6917,6917,6917,1988-12-09,691.7000000000887,691.67816,2015-01-01 01:55:17,bin6917,75,False +CTSPillarNetworkA,6918,6918,6918,1988-12-10,691.8000000000887,691.77814,2015-01-01 01:55:18,bin6918,35,False +CTSPillarNetworkA,6919,6919,6919,1988-12-11,691.9000000000888,691.8781,2015-01-01 01:55:19,bin6919,75,False +CTSPillarNetworkA,6920,6920,6920,1988-12-12,692.0000000000888,691.9781,2015-01-01 01:55:20,bin6920,35,False +CTSPillarNetworkA,6921,6921,6921,1988-12-13,692.1000000000888,692.07806,2015-01-01 01:55:21,bin6921,75,False +CTSPillarNetworkA,6922,6922,6922,1988-12-14,692.2000000000888,692.17804,2015-01-01 01:55:22,bin6922,35,False +CTSPillarNetworkA,6923,6923,6923,1988-12-15,692.3000000000889,692.278,2015-01-01 01:55:23,bin6923,75,False +CTSPillarNetworkA,6924,6924,6924,1988-12-16,692.4000000000889,692.378,2015-01-01 01:55:24,bin6924,35,False +CTSPillarNetworkA,6925,6925,6925,1988-12-17,692.5000000000889,692.47797,2015-01-01 01:55:25,bin6925,75,False +CTSPillarNetworkA,6926,6926,6926,1988-12-18,692.6000000000889,692.57794,2015-01-01 01:55:26,bin6926,35,False +CTSPillarNetworkA,6927,6927,6927,1988-12-19,692.700000000089,692.6779,2015-01-01 01:55:27,bin6927,75,False +CTSPillarNetworkA,6928,6928,6928,1988-12-20,692.800000000089,692.7779,2015-01-01 01:55:28,bin6928,35,False +CTSPillarNetworkA,6929,6929,6929,1988-12-21,692.900000000089,692.87787,2015-01-01 01:55:29,bin6929,75,False +CTSPillarNetworkA,6930,6930,6930,1988-12-22,693.000000000089,692.97784,2015-01-01 01:55:30,bin6930,35,False +CTSPillarNetworkA,6931,6931,6931,1988-12-23,693.100000000089,693.0778,2015-01-01 01:55:31,bin6931,75,False +CTSPillarNetworkA,6932,6932,6932,1988-12-24,693.2000000000891,693.1778,2015-01-01 01:55:32,bin6932,35,False +CTSPillarNetworkA,6933,6933,6933,1988-12-25,693.3000000000891,693.2778,2015-01-01 01:55:33,bin6933,75,False +CTSPillarNetworkA,6934,6934,6934,1988-12-26,693.4000000000891,693.37775,2015-01-01 01:55:34,bin6934,35,False +CTSPillarNetworkA,6935,6935,6935,1988-12-27,693.5000000000891,693.4777,2015-01-01 01:55:35,bin6935,75,False +CTSPillarNetworkA,6936,6936,6936,1988-12-28,693.6000000000892,693.5777,2015-01-01 01:55:36,bin6936,35,False +CTSPillarNetworkA,6937,6937,6937,1988-12-29,693.7000000000892,693.6777,2015-01-01 01:55:37,bin6937,75,False +CTSPillarNetworkA,6938,6938,6938,1988-12-30,693.8000000000892,693.77765,2015-01-01 01:55:38,bin6938,35,False +CTSPillarNetworkA,6939,6939,6939,1988-12-31,693.9000000000892,693.8776,2015-01-01 01:55:39,bin6939,75,False +CTSPillarNetworkA,6940,6940,6940,1989-01-01,694.0000000000892,693.9776,2015-01-01 01:55:40,bin6940,35,False +CTSPillarNetworkA,6941,6941,6941,1989-01-02,694.1000000000893,694.0776,2015-01-01 01:55:41,bin6941,75,False +CTSPillarNetworkA,6942,6942,6942,1989-01-03,694.2000000000893,694.17755,2015-01-01 01:55:42,bin6942,35,False +CTSPillarNetworkA,6943,6943,6943,1989-01-04,694.3000000000893,694.2775,2015-01-01 01:55:43,bin6943,75,False +CTSPillarNetworkA,6944,6944,6944,1989-01-05,694.4000000000893,694.3775,2015-01-01 01:55:44,bin6944,35,False +CTSPillarNetworkA,6945,6945,6945,1989-01-06,694.5000000000894,694.4775,2015-01-01 01:55:45,bin6945,75,False +CTSPillarNetworkA,6946,6946,6946,1989-01-07,694.6000000000894,694.57745,2015-01-01 01:55:46,bin6946,35,False +CTSPillarNetworkA,6947,6947,6947,1989-01-08,694.7000000000894,694.6774,2015-01-01 01:55:47,bin6947,75,False +CTSPillarNetworkA,6948,6948,6948,1989-01-09,694.8000000000894,694.7774,2015-01-01 01:55:48,bin6948,35,False +CTSPillarNetworkA,6949,6949,6949,1989-01-10,694.9000000000894,694.8774,2015-01-01 01:55:49,bin6949,75,False +CTSPillarNetworkA,6950,6950,6950,1989-01-11,695.0000000000895,694.97736,2015-01-01 01:55:50,bin6950,35,False +CTSPillarNetworkA,6951,6951,6951,1989-01-12,695.1000000000895,695.07733,2015-01-01 01:55:51,bin6951,75,False +CTSPillarNetworkA,6952,6952,6952,1989-01-13,695.2000000000895,695.1773,2015-01-01 01:55:52,bin6952,35,False +CTSPillarNetworkA,6953,6953,6953,1989-01-14,695.3000000000895,695.2773,2015-01-01 01:55:53,bin6953,75,False +CTSPillarNetworkA,6954,6954,6954,1989-01-15,695.4000000000896,695.37726,2015-01-01 01:55:54,bin6954,35,False +CTSPillarNetworkA,6955,6955,6955,1989-01-16,695.5000000000896,695.47723,2015-01-01 01:55:55,bin6955,75,False +CTSPillarNetworkA,6956,6956,6956,1989-01-17,695.6000000000896,695.5772,2015-01-01 01:55:56,bin6956,35,False +CTSPillarNetworkA,6957,6957,6957,1989-01-18,695.7000000000896,695.6772,2015-01-01 01:55:57,bin6957,75,False +CTSPillarNetworkA,6958,6958,6958,1989-01-19,695.8000000000897,695.77716,2015-01-01 01:55:58,bin6958,35,False +CTSPillarNetworkA,6959,6959,6959,1989-01-20,695.9000000000897,695.87714,2015-01-01 01:55:59,bin6959,75,False +CTSPillarNetworkA,6960,6960,6960,1989-01-21,696.0000000000897,695.9771,2015-01-01 01:56:00,bin6960,35,False +CTSPillarNetworkA,6961,6961,6961,1989-01-22,696.1000000000897,696.0771,2015-01-01 01:56:01,bin6961,75,False +CTSPillarNetworkA,6962,6962,6962,1989-01-23,696.2000000000897,696.17706,2015-01-01 01:56:02,bin6962,35,False +CTSPillarNetworkA,6963,6963,6963,1989-01-24,696.3000000000898,696.27704,2015-01-01 01:56:03,bin6963,75,False +CTSPillarNetworkA,6964,6964,6964,1989-01-25,696.4000000000898,696.377,2015-01-01 01:56:04,bin6964,35,False +CTSPillarNetworkA,6965,6965,6965,1989-01-26,696.5000000000898,696.477,2015-01-01 01:56:05,bin6965,75,False +CTSPillarNetworkA,6966,6966,6966,1989-01-27,696.6000000000898,696.57697,2015-01-01 01:56:06,bin6966,35,False +CTSPillarNetworkA,6967,6967,6967,1989-01-28,696.7000000000899,696.67694,2015-01-01 01:56:07,bin6967,75,False +CTSPillarNetworkA,6968,6968,6968,1989-01-29,696.8000000000899,696.7769,2015-01-01 01:56:08,bin6968,35,False +CTSPillarNetworkA,6969,6969,6969,1989-01-30,696.9000000000899,696.8769,2015-01-01 01:56:09,bin6969,75,False +CTSPillarNetworkA,6970,6970,6970,1989-01-31,697.0000000000899,696.97687,2015-01-01 01:56:10,bin6970,35,False +CTSPillarNetworkA,6971,6971,6971,1989-02-01,697.10000000009,697.07684,2015-01-01 01:56:11,bin6971,75,False +CTSPillarNetworkA,6972,6972,6972,1989-02-02,697.20000000009,697.1768,2015-01-01 01:56:12,bin6972,35,False +CTSPillarNetworkA,6973,6973,6973,1989-02-03,697.30000000009,697.2768,2015-01-01 01:56:13,bin6973,75,False +CTSPillarNetworkA,6974,6974,6974,1989-02-04,697.40000000009,697.3768,2015-01-01 01:56:14,bin6974,35,False +CTSPillarNetworkA,6975,6975,6975,1989-02-05,697.50000000009,697.47675,2015-01-01 01:56:15,bin6975,75,False +CTSPillarNetworkA,6976,6976,6976,1989-02-06,697.6000000000901,697.5767,2015-01-01 01:56:16,bin6976,35,False +CTSPillarNetworkA,6977,6977,6977,1989-02-07,697.7000000000901,697.6767,2015-01-01 01:56:17,bin6977,75,False +CTSPillarNetworkA,6978,6978,6978,1989-02-08,697.8000000000901,697.7767,2015-01-01 01:56:18,bin6978,35,False +CTSPillarNetworkA,6979,6979,6979,1989-02-09,697.9000000000901,697.87665,2015-01-01 01:56:19,bin6979,75,False +CTSPillarNetworkA,6980,6980,6980,1989-02-10,698.0000000000902,697.9766,2015-01-01 01:56:20,bin6980,35,False +CTSPillarNetworkA,6981,6981,6981,1989-02-11,698.1000000000902,698.0766,2015-01-01 01:56:21,bin6981,75,False +CTSPillarNetworkA,6982,6982,6982,1989-02-12,698.2000000000902,698.1766,2015-01-01 01:56:22,bin6982,35,False +CTSPillarNetworkA,6983,6983,6983,1989-02-13,698.3000000000902,698.27655,2015-01-01 01:56:23,bin6983,75,False +CTSPillarNetworkA,6984,6984,6984,1989-02-14,698.4000000000902,698.3765,2015-01-01 01:56:24,bin6984,35,False +CTSPillarNetworkA,6985,6985,6985,1989-02-15,698.5000000000903,698.4765,2015-01-01 01:56:25,bin6985,75,False +CTSPillarNetworkA,6986,6986,6986,1989-02-16,698.6000000000903,698.5765,2015-01-01 01:56:26,bin6986,35,False +CTSPillarNetworkA,6987,6987,6987,1989-02-17,698.7000000000903,698.67645,2015-01-01 01:56:27,bin6987,75,False +CTSPillarNetworkA,6988,6988,6988,1989-02-18,698.8000000000903,698.7764,2015-01-01 01:56:28,bin6988,35,False +CTSPillarNetworkA,6989,6989,6989,1989-02-19,698.9000000000904,698.8764,2015-01-01 01:56:29,bin6989,75,False +CTSPillarNetworkA,6990,6990,6990,1989-02-20,699.0000000000904,698.9764,2015-01-01 01:56:30,bin6990,35,False +CTSPillarNetworkA,6991,6991,6991,1989-02-21,699.1000000000904,699.07635,2015-01-01 01:56:31,bin6991,75,False +CTSPillarNetworkA,6992,6992,6992,1989-02-22,699.2000000000904,699.17633,2015-01-01 01:56:32,bin6992,35,False +CTSPillarNetworkA,6993,6993,6993,1989-02-23,699.3000000000904,699.2763,2015-01-01 01:56:33,bin6993,75,False +CTSPillarNetworkA,6994,6994,6994,1989-02-24,699.4000000000905,699.3763,2015-01-01 01:56:34,bin6994,35,False +CTSPillarNetworkA,6995,6995,6995,1989-02-25,699.5000000000905,699.47626,2015-01-01 01:56:35,bin6995,75,False +CTSPillarNetworkA,6996,6996,6996,1989-02-26,699.6000000000905,699.57623,2015-01-01 01:56:36,bin6996,35,False +CTSPillarNetworkA,6997,6997,6997,1989-02-27,699.7000000000905,699.6762,2015-01-01 01:56:37,bin6997,75,False +CTSPillarNetworkA,6998,6998,6998,1989-02-28,699.8000000000906,699.7762,2015-01-01 01:56:38,bin6998,35,False +CTSPillarNetworkA,6999,6999,6999,1989-03-01,699.9000000000906,699.87616,2015-01-01 01:56:39,bin6999,75,False +CTSPillarNetworkA,7000,7000,7000,1989-03-02,700.0000000000906,699.97614,2015-01-01 01:56:40,bin7000,35,False +CTSPillarNetworkA,7001,7001,7001,1989-03-03,700.1000000000906,700.0761,2015-01-01 01:56:41,bin7001,75,False +CTSPillarNetworkA,7002,7002,7002,1989-03-04,700.2000000000907,700.1761,2015-01-01 01:56:42,bin7002,35,False +CTSPillarNetworkA,7003,7003,7003,1989-03-05,700.3000000000907,700.27606,2015-01-01 01:56:43,bin7003,75,False +CTSPillarNetworkA,7004,7004,7004,1989-03-06,700.4000000000907,700.37604,2015-01-01 01:56:44,bin7004,35,False +CTSPillarNetworkA,7005,7005,7005,1989-03-07,700.5000000000907,700.476,2015-01-01 01:56:45,bin7005,75,False +CTSPillarNetworkA,7006,7006,7006,1989-03-08,700.6000000000907,700.576,2015-01-01 01:56:46,bin7006,35,False +CTSPillarNetworkA,7007,7007,7007,1989-03-09,700.7000000000908,700.67596,2015-01-01 01:56:47,bin7007,75,False +CTSPillarNetworkA,7008,7008,7008,1989-03-10,700.8000000000908,700.77594,2015-01-01 01:56:48,bin7008,35,False +CTSPillarNetworkA,7009,7009,7009,1989-03-11,700.9000000000908,700.8759,2015-01-01 01:56:49,bin7009,75,False +CTSPillarNetworkA,7010,7010,7010,1989-03-12,701.0000000000908,700.9759,2015-01-01 01:56:50,bin7010,35,False +CTSPillarNetworkA,7011,7011,7011,1989-03-13,701.1000000000909,701.07587,2015-01-01 01:56:51,bin7011,75,False +CTSPillarNetworkA,7012,7012,7012,1989-03-14,701.2000000000909,701.17584,2015-01-01 01:56:52,bin7012,35,False +CTSPillarNetworkA,7013,7013,7013,1989-03-15,701.3000000000909,701.2758,2015-01-01 01:56:53,bin7013,75,False +CTSPillarNetworkA,7014,7014,7014,1989-03-16,701.4000000000909,701.3758,2015-01-01 01:56:54,bin7014,35,False +CTSPillarNetworkA,7015,7015,7015,1989-03-17,701.500000000091,701.47577,2015-01-01 01:56:55,bin7015,75,False +CTSPillarNetworkA,7016,7016,7016,1989-03-18,701.600000000091,701.57574,2015-01-01 01:56:56,bin7016,35,False +CTSPillarNetworkA,7017,7017,7017,1989-03-19,701.700000000091,701.6757,2015-01-01 01:56:57,bin7017,75,False +CTSPillarNetworkA,7018,7018,7018,1989-03-20,701.800000000091,701.7757,2015-01-01 01:56:58,bin7018,35,False +CTSPillarNetworkA,7019,7019,7019,1989-03-21,701.900000000091,701.8757,2015-01-01 01:56:59,bin7019,75,False +CTSPillarNetworkA,7020,7020,7020,1989-03-22,702.0000000000911,701.97565,2015-01-01 01:57:00,bin7020,35,False +CTSPillarNetworkA,7021,7021,7021,1989-03-23,702.1000000000911,702.0756,2015-01-01 01:57:01,bin7021,75,False +CTSPillarNetworkA,7022,7022,7022,1989-03-24,702.2000000000911,702.1756,2015-01-01 01:57:02,bin7022,35,False +CTSPillarNetworkA,7023,7023,7023,1989-03-25,702.3000000000911,702.2756,2015-01-01 01:57:03,bin7023,75,False +CTSPillarNetworkA,7024,7024,7024,1989-03-26,702.4000000000912,702.37555,2015-01-01 01:57:04,bin7024,35,False +CTSPillarNetworkA,7025,7025,7025,1989-03-27,702.5000000000912,702.4755,2015-01-01 01:57:05,bin7025,75,False +CTSPillarNetworkA,7026,7026,7026,1989-03-28,702.6000000000912,702.5755,2015-01-01 01:57:06,bin7026,35,False +CTSPillarNetworkA,7027,7027,7027,1989-03-29,702.7000000000912,702.6755,2015-01-01 01:57:07,bin7027,75,False +CTSPillarNetworkA,7028,7028,7028,1989-03-30,702.8000000000912,702.77545,2015-01-01 01:57:08,bin7028,35,False +CTSPillarNetworkA,7029,7029,7029,1989-03-31,702.9000000000913,702.8754,2015-01-01 01:57:09,bin7029,75,False +CTSPillarNetworkA,7030,7030,7030,1989-04-01,703.0000000000913,702.9754,2015-01-01 01:57:10,bin7030,35,False +CTSPillarNetworkA,7031,7031,7031,1989-04-02,703.1000000000913,703.0754,2015-01-01 01:57:11,bin7031,75,False +CTSPillarNetworkA,7032,7032,7032,1989-04-03,703.2000000000913,703.17535,2015-01-01 01:57:12,bin7032,35,False +CTSPillarNetworkA,7033,7033,7033,1989-04-04,703.3000000000914,703.2753,2015-01-01 01:57:13,bin7033,75,False +CTSPillarNetworkA,7034,7034,7034,1989-04-05,703.4000000000914,703.3753,2015-01-01 01:57:14,bin7034,35,False +CTSPillarNetworkA,7035,7035,7035,1989-04-06,703.5000000000914,703.4753,2015-01-01 01:57:15,bin7035,75,False +CTSPillarNetworkA,7036,7036,7036,1989-04-07,703.6000000000914,703.57526,2015-01-01 01:57:16,bin7036,35,False +CTSPillarNetworkA,7037,7037,7037,1989-04-08,703.7000000000914,703.67523,2015-01-01 01:57:17,bin7037,75,False +CTSPillarNetworkA,7038,7038,7038,1989-04-09,703.8000000000915,703.7752,2015-01-01 01:57:18,bin7038,35,False +CTSPillarNetworkA,7039,7039,7039,1989-04-10,703.9000000000915,703.8752,2015-01-01 01:57:19,bin7039,75,False +CTSPillarNetworkA,7040,7040,7040,1989-04-11,704.0000000000915,703.97516,2015-01-01 01:57:20,bin7040,35,False +CTSPillarNetworkA,7041,7041,7041,1989-04-12,704.1000000000915,704.07513,2015-01-01 01:57:21,bin7041,75,False +CTSPillarNetworkA,7042,7042,7042,1989-04-13,704.2000000000916,704.1751,2015-01-01 01:57:22,bin7042,35,False +CTSPillarNetworkA,7043,7043,7043,1989-04-14,704.3000000000916,704.2751,2015-01-01 01:57:23,bin7043,75,False +CTSPillarNetworkA,7044,7044,7044,1989-04-15,704.4000000000916,704.37506,2015-01-01 01:57:24,bin7044,35,False +CTSPillarNetworkA,7045,7045,7045,1989-04-16,704.5000000000916,704.47504,2015-01-01 01:57:25,bin7045,75,False +CTSPillarNetworkA,7046,7046,7046,1989-04-17,704.6000000000917,704.575,2015-01-01 01:57:26,bin7046,35,False +CTSPillarNetworkA,7047,7047,7047,1989-04-18,704.7000000000917,704.675,2015-01-01 01:57:27,bin7047,75,False +CTSPillarNetworkA,7048,7048,7048,1989-04-19,704.8000000000917,704.77496,2015-01-01 01:57:28,bin7048,35,False +CTSPillarNetworkA,7049,7049,7049,1989-04-20,704.9000000000917,704.87494,2015-01-01 01:57:29,bin7049,75,False +CTSPillarNetworkA,7050,7050,7050,1989-04-21,705.0000000000917,704.9749,2015-01-01 01:57:30,bin7050,35,False +CTSPillarNetworkA,7051,7051,7051,1989-04-22,705.1000000000918,705.0749,2015-01-01 01:57:31,bin7051,75,False +CTSPillarNetworkA,7052,7052,7052,1989-04-23,705.2000000000918,705.17487,2015-01-01 01:57:32,bin7052,35,False +CTSPillarNetworkA,7053,7053,7053,1989-04-24,705.3000000000918,705.27484,2015-01-01 01:57:33,bin7053,75,False +CTSPillarNetworkA,7054,7054,7054,1989-04-25,705.4000000000918,705.3748,2015-01-01 01:57:34,bin7054,35,False +CTSPillarNetworkA,7055,7055,7055,1989-04-26,705.5000000000919,705.4748,2015-01-01 01:57:35,bin7055,75,False +CTSPillarNetworkA,7056,7056,7056,1989-04-27,705.6000000000919,705.57477,2015-01-01 01:57:36,bin7056,35,False +CTSPillarNetworkA,7057,7057,7057,1989-04-28,705.7000000000919,705.67474,2015-01-01 01:57:37,bin7057,75,False +CTSPillarNetworkA,7058,7058,7058,1989-04-29,705.8000000000919,705.7747,2015-01-01 01:57:38,bin7058,35,False +CTSPillarNetworkA,7059,7059,7059,1989-04-30,705.900000000092,705.8747,2015-01-01 01:57:39,bin7059,75,False +CTSPillarNetworkA,7060,7060,7060,1989-05-01,706.000000000092,705.9747,2015-01-01 01:57:40,bin7060,35,False +CTSPillarNetworkA,7061,7061,7061,1989-05-02,706.100000000092,706.07465,2015-01-01 01:57:41,bin7061,75,False +CTSPillarNetworkA,7062,7062,7062,1989-05-03,706.200000000092,706.1746,2015-01-01 01:57:42,bin7062,35,False +CTSPillarNetworkA,7063,7063,7063,1989-05-04,706.300000000092,706.2746,2015-01-01 01:57:43,bin7063,75,False +CTSPillarNetworkA,7064,7064,7064,1989-05-05,706.4000000000921,706.3746,2015-01-01 01:57:44,bin7064,35,False +CTSPillarNetworkA,7065,7065,7065,1989-05-06,706.5000000000921,706.47455,2015-01-01 01:57:45,bin7065,75,False +CTSPillarNetworkA,7066,7066,7066,1989-05-07,706.6000000000921,706.5745,2015-01-01 01:57:46,bin7066,35,False +CTSPillarNetworkA,7067,7067,7067,1989-05-08,706.7000000000921,706.6745,2015-01-01 01:57:47,bin7067,75,False +CTSPillarNetworkA,7068,7068,7068,1989-05-09,706.8000000000922,706.7745,2015-01-01 01:57:48,bin7068,35,False +CTSPillarNetworkA,7069,7069,7069,1989-05-10,706.9000000000922,706.87445,2015-01-01 01:57:49,bin7069,75,False +CTSPillarNetworkA,7070,7070,7070,1989-05-11,707.0000000000922,706.9744,2015-01-01 01:57:50,bin7070,35,False +CTSPillarNetworkA,7071,7071,7071,1989-05-12,707.1000000000922,707.0744,2015-01-01 01:57:51,bin7071,75,False +CTSPillarNetworkA,7072,7072,7072,1989-05-13,707.2000000000922,707.1744,2015-01-01 01:57:52,bin7072,35,False +CTSPillarNetworkA,7073,7073,7073,1989-05-14,707.3000000000923,707.27435,2015-01-01 01:57:53,bin7073,75,False +CTSPillarNetworkA,7074,7074,7074,1989-05-15,707.4000000000923,707.3743,2015-01-01 01:57:54,bin7074,35,False +CTSPillarNetworkA,7075,7075,7075,1989-05-16,707.5000000000923,707.4743,2015-01-01 01:57:55,bin7075,75,False +CTSPillarNetworkA,7076,7076,7076,1989-05-17,707.6000000000923,707.5743,2015-01-01 01:57:56,bin7076,35,False +CTSPillarNetworkA,7077,7077,7077,1989-05-18,707.7000000000924,707.67426,2015-01-01 01:57:57,bin7077,75,False +CTSPillarNetworkA,7078,7078,7078,1989-05-19,707.8000000000924,707.77423,2015-01-01 01:57:58,bin7078,35,False +CTSPillarNetworkA,7079,7079,7079,1989-05-20,707.9000000000924,707.8742,2015-01-01 01:57:59,bin7079,75,False +CTSPillarNetworkA,7080,7080,7080,1989-05-21,708.0000000000924,707.9742,2015-01-01 01:58:00,bin7080,35,False +CTSPillarNetworkA,7081,7081,7081,1989-05-22,708.1000000000925,708.07416,2015-01-01 01:58:01,bin7081,75,False +CTSPillarNetworkA,7082,7082,7082,1989-05-23,708.2000000000925,708.17413,2015-01-01 01:58:02,bin7082,35,False +CTSPillarNetworkA,7083,7083,7083,1989-05-24,708.3000000000925,708.2741,2015-01-01 01:58:03,bin7083,75,False +CTSPillarNetworkA,7084,7084,7084,1989-05-25,708.4000000000925,708.3741,2015-01-01 01:58:04,bin7084,35,False +CTSPillarNetworkA,7085,7085,7085,1989-05-26,708.5000000000925,708.47406,2015-01-01 01:58:05,bin7085,75,False +CTSPillarNetworkA,7086,7086,7086,1989-05-27,708.6000000000926,708.57404,2015-01-01 01:58:06,bin7086,35,False +CTSPillarNetworkA,7087,7087,7087,1989-05-28,708.7000000000926,708.674,2015-01-01 01:58:07,bin7087,75,False +CTSPillarNetworkA,7088,7088,7088,1989-05-29,708.8000000000926,708.774,2015-01-01 01:58:08,bin7088,35,False +CTSPillarNetworkA,7089,7089,7089,1989-05-30,708.9000000000926,708.87396,2015-01-01 01:58:09,bin7089,75,False +CTSPillarNetworkA,7090,7090,7090,1989-05-31,709.0000000000927,708.97394,2015-01-01 01:58:10,bin7090,35,False +CTSPillarNetworkA,7091,7091,7091,1989-06-01,709.1000000000927,709.0739,2015-01-01 01:58:11,bin7091,75,False +CTSPillarNetworkA,7092,7092,7092,1989-06-02,709.2000000000927,709.1739,2015-01-01 01:58:12,bin7092,35,False +CTSPillarNetworkA,7093,7093,7093,1989-06-03,709.3000000000927,709.27386,2015-01-01 01:58:13,bin7093,75,False +CTSPillarNetworkA,7094,7094,7094,1989-06-04,709.4000000000927,709.37384,2015-01-01 01:58:14,bin7094,35,False +CTSPillarNetworkA,7095,7095,7095,1989-06-05,709.5000000000928,709.4738,2015-01-01 01:58:15,bin7095,75,False +CTSPillarNetworkA,7096,7096,7096,1989-06-06,709.6000000000928,709.5738,2015-01-01 01:58:16,bin7096,35,False +CTSPillarNetworkA,7097,7097,7097,1989-06-07,709.7000000000928,709.67377,2015-01-01 01:58:17,bin7097,75,False +CTSPillarNetworkA,7098,7098,7098,1989-06-08,709.8000000000928,709.77374,2015-01-01 01:58:18,bin7098,35,False +CTSPillarNetworkA,7099,7099,7099,1989-06-09,709.9000000000929,709.8737,2015-01-01 01:58:19,bin7099,75,False +CTSPillarNetworkA,7100,7100,7100,1989-06-10,710.0000000000929,709.9737,2015-01-01 01:58:20,bin7100,35,False +CTSPillarNetworkA,7101,7101,7101,1989-06-11,710.1000000000929,710.07367,2015-01-01 01:58:21,bin7101,75,False +CTSPillarNetworkA,7102,7102,7102,1989-06-12,710.2000000000929,710.17365,2015-01-01 01:58:22,bin7102,35,False +CTSPillarNetworkA,7103,7103,7103,1989-06-13,710.300000000093,710.2736,2015-01-01 01:58:23,bin7103,75,False +CTSPillarNetworkA,7104,7104,7104,1989-06-14,710.400000000093,710.3736,2015-01-01 01:58:24,bin7104,35,False +CTSPillarNetworkA,7105,7105,7105,1989-06-15,710.500000000093,710.4736,2015-01-01 01:58:25,bin7105,75,False +CTSPillarNetworkA,7106,7106,7106,1989-06-16,710.600000000093,710.57355,2015-01-01 01:58:26,bin7106,35,False +CTSPillarNetworkA,7107,7107,7107,1989-06-17,710.700000000093,710.6735,2015-01-01 01:58:27,bin7107,75,False +CTSPillarNetworkA,7108,7108,7108,1989-06-18,710.8000000000931,710.7735,2015-01-01 01:58:28,bin7108,35,False +CTSPillarNetworkA,7109,7109,7109,1989-06-19,710.9000000000931,710.8735,2015-01-01 01:58:29,bin7109,75,False +CTSPillarNetworkA,7110,7110,7110,1989-06-20,711.0000000000931,710.97345,2015-01-01 01:58:30,bin7110,35,False +CTSPillarNetworkA,7111,7111,7111,1989-06-21,711.1000000000931,711.0734,2015-01-01 01:58:31,bin7111,75,False +CTSPillarNetworkA,7112,7112,7112,1989-06-22,711.2000000000932,711.1734,2015-01-01 01:58:32,bin7112,35,False +CTSPillarNetworkA,7113,7113,7113,1989-06-23,711.3000000000932,711.2734,2015-01-01 01:58:33,bin7113,75,False +CTSPillarNetworkA,7114,7114,7114,1989-06-24,711.4000000000932,711.37335,2015-01-01 01:58:34,bin7114,35,False +CTSPillarNetworkA,7115,7115,7115,1989-06-25,711.5000000000932,711.4733,2015-01-01 01:58:35,bin7115,75,False +CTSPillarNetworkA,7116,7116,7116,1989-06-26,711.6000000000932,711.5733,2015-01-01 01:58:36,bin7116,35,False +CTSPillarNetworkA,7117,7117,7117,1989-06-27,711.7000000000933,711.6733,2015-01-01 01:58:37,bin7117,75,False +CTSPillarNetworkA,7118,7118,7118,1989-06-28,711.8000000000933,711.77325,2015-01-01 01:58:38,bin7118,35,False +CTSPillarNetworkA,7119,7119,7119,1989-06-29,711.9000000000933,711.8732,2015-01-01 01:58:39,bin7119,75,False +CTSPillarNetworkA,7120,7120,7120,1989-06-30,712.0000000000933,711.9732,2015-01-01 01:58:40,bin7120,35,False +CTSPillarNetworkA,7121,7121,7121,1989-07-01,712.1000000000934,712.0732,2015-01-01 01:58:41,bin7121,75,False +CTSPillarNetworkA,7122,7122,7122,1989-07-02,712.2000000000934,712.17316,2015-01-01 01:58:42,bin7122,35,False +CTSPillarNetworkA,7123,7123,7123,1989-07-03,712.3000000000934,712.27313,2015-01-01 01:58:43,bin7123,75,False +CTSPillarNetworkA,7124,7124,7124,1989-07-04,712.4000000000934,712.3731,2015-01-01 01:58:44,bin7124,35,False +CTSPillarNetworkA,7125,7125,7125,1989-07-05,712.5000000000935,712.4731,2015-01-01 01:58:45,bin7125,75,False +CTSPillarNetworkA,7126,7126,7126,1989-07-06,712.6000000000935,712.57306,2015-01-01 01:58:46,bin7126,35,False +CTSPillarNetworkA,7127,7127,7127,1989-07-07,712.7000000000935,712.67303,2015-01-01 01:58:47,bin7127,75,False +CTSPillarNetworkA,7128,7128,7128,1989-07-08,712.8000000000935,712.773,2015-01-01 01:58:48,bin7128,35,False +CTSPillarNetworkA,7129,7129,7129,1989-07-09,712.9000000000935,712.873,2015-01-01 01:58:49,bin7129,75,False +CTSPillarNetworkA,7130,7130,7130,1989-07-10,713.0000000000936,712.97296,2015-01-01 01:58:50,bin7130,35,False +CTSPillarNetworkA,7131,7131,7131,1989-07-11,713.1000000000936,713.07294,2015-01-01 01:58:51,bin7131,75,False +CTSPillarNetworkA,7132,7132,7132,1989-07-12,713.2000000000936,713.1729,2015-01-01 01:58:52,bin7132,35,False +CTSPillarNetworkA,7133,7133,7133,1989-07-13,713.3000000000936,713.2729,2015-01-01 01:58:53,bin7133,75,False +CTSPillarNetworkA,7134,7134,7134,1989-07-14,713.4000000000937,713.37286,2015-01-01 01:58:54,bin7134,35,False +CTSPillarNetworkA,7135,7135,7135,1989-07-15,713.5000000000937,713.47284,2015-01-01 01:58:55,bin7135,75,False +CTSPillarNetworkA,7136,7136,7136,1989-07-16,713.6000000000937,713.5728,2015-01-01 01:58:56,bin7136,35,False +CTSPillarNetworkA,7137,7137,7137,1989-07-17,713.7000000000937,713.6728,2015-01-01 01:58:57,bin7137,75,False +CTSPillarNetworkA,7138,7138,7138,1989-07-18,713.8000000000937,713.77277,2015-01-01 01:58:58,bin7138,35,False +CTSPillarNetworkA,7139,7139,7139,1989-07-19,713.9000000000938,713.87274,2015-01-01 01:58:59,bin7139,75,False +CTSPillarNetworkA,7140,7140,7140,1989-07-20,714.0000000000938,713.9727,2015-01-01 01:59:00,bin7140,35,False +CTSPillarNetworkA,7141,7141,7141,1989-07-21,714.1000000000938,714.0727,2015-01-01 01:59:01,bin7141,75,False +CTSPillarNetworkA,7142,7142,7142,1989-07-22,714.2000000000938,714.17267,2015-01-01 01:59:02,bin7142,35,False +CTSPillarNetworkA,7143,7143,7143,1989-07-23,714.3000000000939,714.27264,2015-01-01 01:59:03,bin7143,75,False +CTSPillarNetworkA,7144,7144,7144,1989-07-24,714.4000000000939,714.3726,2015-01-01 01:59:04,bin7144,35,False +CTSPillarNetworkA,7145,7145,7145,1989-07-25,714.5000000000939,714.4726,2015-01-01 01:59:05,bin7145,75,False +CTSPillarNetworkA,7146,7146,7146,1989-07-26,714.6000000000939,714.5726,2015-01-01 01:59:06,bin7146,35,False +CTSPillarNetworkA,7147,7147,7147,1989-07-27,714.700000000094,714.67255,2015-01-01 01:59:07,bin7147,75,False +CTSPillarNetworkA,7148,7148,7148,1989-07-28,714.800000000094,714.7725,2015-01-01 01:59:08,bin7148,35,False +CTSPillarNetworkA,7149,7149,7149,1989-07-29,714.900000000094,714.8725,2015-01-01 01:59:09,bin7149,75,False +CTSPillarNetworkA,7150,7150,7150,1989-07-30,715.000000000094,714.9725,2015-01-01 01:59:10,bin7150,35,False +CTSPillarNetworkA,7151,7151,7151,1989-07-31,715.100000000094,715.07245,2015-01-01 01:59:11,bin7151,75,False +CTSPillarNetworkA,7152,7152,7152,1989-08-01,715.2000000000941,715.1724,2015-01-01 01:59:12,bin7152,35,False +CTSPillarNetworkA,7153,7153,7153,1989-08-02,715.3000000000941,715.2724,2015-01-01 01:59:13,bin7153,75,False +CTSPillarNetworkA,7154,7154,7154,1989-08-03,715.4000000000941,715.3724,2015-01-01 01:59:14,bin7154,35,False +CTSPillarNetworkA,7155,7155,7155,1989-08-04,715.5000000000941,715.47235,2015-01-01 01:59:15,bin7155,75,False +CTSPillarNetworkA,7156,7156,7156,1989-08-05,715.6000000000942,715.5723,2015-01-01 01:59:16,bin7156,35,False +CTSPillarNetworkA,7157,7157,7157,1989-08-06,715.7000000000942,715.6723,2015-01-01 01:59:17,bin7157,75,False +CTSPillarNetworkA,7158,7158,7158,1989-08-07,715.8000000000942,715.7723,2015-01-01 01:59:18,bin7158,35,False +CTSPillarNetworkA,7159,7159,7159,1989-08-08,715.9000000000942,715.87225,2015-01-01 01:59:19,bin7159,75,False +CTSPillarNetworkA,7160,7160,7160,1989-08-09,716.0000000000942,715.9722,2015-01-01 01:59:20,bin7160,35,False +CTSPillarNetworkA,7161,7161,7161,1989-08-10,716.1000000000943,716.0722,2015-01-01 01:59:21,bin7161,75,False +CTSPillarNetworkA,7162,7162,7162,1989-08-11,716.2000000000943,716.1722,2015-01-01 01:59:22,bin7162,35,False +CTSPillarNetworkA,7163,7163,7163,1989-08-12,716.3000000000943,716.27216,2015-01-01 01:59:23,bin7163,75,False +CTSPillarNetworkA,7164,7164,7164,1989-08-13,716.4000000000943,716.37213,2015-01-01 01:59:24,bin7164,35,False +CTSPillarNetworkA,7165,7165,7165,1989-08-14,716.5000000000944,716.4721,2015-01-01 01:59:25,bin7165,75,False +CTSPillarNetworkA,7166,7166,7166,1989-08-15,716.6000000000944,716.5721,2015-01-01 01:59:26,bin7166,35,False +CTSPillarNetworkA,7167,7167,7167,1989-08-16,716.7000000000944,716.67206,2015-01-01 01:59:27,bin7167,75,False +CTSPillarNetworkA,7168,7168,7168,1989-08-17,716.8000000000944,716.77203,2015-01-01 01:59:28,bin7168,35,False +CTSPillarNetworkA,7169,7169,7169,1989-08-18,716.9000000000945,716.872,2015-01-01 01:59:29,bin7169,75,False +CTSPillarNetworkA,7170,7170,7170,1989-08-19,717.0000000000945,716.972,2015-01-01 01:59:30,bin7170,35,False +CTSPillarNetworkA,7171,7171,7171,1989-08-20,717.1000000000945,717.07196,2015-01-01 01:59:31,bin7171,75,False +CTSPillarNetworkA,7172,7172,7172,1989-08-21,717.2000000000945,717.17194,2015-01-01 01:59:32,bin7172,35,False +CTSPillarNetworkA,7173,7173,7173,1989-08-22,717.3000000000945,717.2719,2015-01-01 01:59:33,bin7173,75,False +CTSPillarNetworkA,7174,7174,7174,1989-08-23,717.4000000000946,717.3719,2015-01-01 01:59:34,bin7174,35,False +CTSPillarNetworkA,7175,7175,7175,1989-08-24,717.5000000000946,717.47186,2015-01-01 01:59:35,bin7175,75,False +CTSPillarNetworkA,7176,7176,7176,1989-08-25,717.6000000000946,717.57184,2015-01-01 01:59:36,bin7176,35,False +CTSPillarNetworkA,7177,7177,7177,1989-08-26,717.7000000000946,717.6718,2015-01-01 01:59:37,bin7177,75,False +CTSPillarNetworkA,7178,7178,7178,1989-08-27,717.8000000000947,717.7718,2015-01-01 01:59:38,bin7178,35,False +CTSPillarNetworkA,7179,7179,7179,1989-08-28,717.9000000000947,717.87177,2015-01-01 01:59:39,bin7179,75,False +CTSPillarNetworkA,7180,7180,7180,1989-08-29,718.0000000000947,717.97174,2015-01-01 01:59:40,bin7180,35,False +CTSPillarNetworkA,7181,7181,7181,1989-08-30,718.1000000000947,718.0717,2015-01-01 01:59:41,bin7181,75,False +CTSPillarNetworkA,7182,7182,7182,1989-08-31,718.2000000000947,718.1717,2015-01-01 01:59:42,bin7182,35,False +CTSPillarNetworkA,7183,7183,7183,1989-09-01,718.3000000000948,718.27167,2015-01-01 01:59:43,bin7183,75,False +CTSPillarNetworkA,7184,7184,7184,1989-09-02,718.4000000000948,718.37164,2015-01-01 01:59:44,bin7184,35,False +CTSPillarNetworkA,7185,7185,7185,1989-09-03,718.5000000000948,718.4716,2015-01-01 01:59:45,bin7185,75,False +CTSPillarNetworkA,7186,7186,7186,1989-09-04,718.6000000000948,718.5716,2015-01-01 01:59:46,bin7186,35,False +CTSPillarNetworkA,7187,7187,7187,1989-09-05,718.7000000000949,718.6716,2015-01-01 01:59:47,bin7187,75,False +CTSPillarNetworkA,7188,7188,7188,1989-09-06,718.8000000000949,718.77155,2015-01-01 01:59:48,bin7188,35,False +CTSPillarNetworkA,7189,7189,7189,1989-09-07,718.9000000000949,718.8715,2015-01-01 01:59:49,bin7189,75,False +CTSPillarNetworkA,7190,7190,7190,1989-09-08,719.0000000000949,718.9715,2015-01-01 01:59:50,bin7190,35,False +CTSPillarNetworkA,7191,7191,7191,1989-09-09,719.100000000095,719.0715,2015-01-01 01:59:51,bin7191,75,False +CTSPillarNetworkA,7192,7192,7192,1989-09-10,719.200000000095,719.17145,2015-01-01 01:59:52,bin7192,35,False +CTSPillarNetworkA,7193,7193,7193,1989-09-11,719.300000000095,719.2714,2015-01-01 01:59:53,bin7193,75,False +CTSPillarNetworkA,7194,7194,7194,1989-09-12,719.400000000095,719.3714,2015-01-01 01:59:54,bin7194,35,False +CTSPillarNetworkA,7195,7195,7195,1989-09-13,719.500000000095,719.4714,2015-01-01 01:59:55,bin7195,75,False +CTSPillarNetworkA,7196,7196,7196,1989-09-14,719.6000000000951,719.57135,2015-01-01 01:59:56,bin7196,35,False +CTSPillarNetworkA,7197,7197,7197,1989-09-15,719.7000000000951,719.6713,2015-01-01 01:59:57,bin7197,75,False +CTSPillarNetworkA,7198,7198,7198,1989-09-16,719.8000000000951,719.7713,2015-01-01 01:59:58,bin7198,35,False +CTSPillarNetworkA,7199,7199,7199,1989-09-17,719.9000000000951,719.8713,2015-01-01 01:59:59,bin7199,75,False +CTSPillarNetworkA,7200,7200,7200,1989-09-18,720.0000000000952,719.97125,2015-01-01 02:00:00,bin7200,35,False +CTSPillarNetworkA,7201,7201,7201,1989-09-19,720.1000000000952,720.0712,2015-01-01 02:00:01,bin7201,75,False +CTSPillarNetworkA,7202,7202,7202,1989-09-20,720.2000000000952,720.1712,2015-01-01 02:00:02,bin7202,35,False +CTSPillarNetworkA,7203,7203,7203,1989-09-21,720.3000000000952,720.2712,2015-01-01 02:00:03,bin7203,75,False +CTSPillarNetworkA,7204,7204,7204,1989-09-22,720.4000000000952,720.37115,2015-01-01 02:00:04,bin7204,35,False +CTSPillarNetworkA,7205,7205,7205,1989-09-23,720.5000000000953,720.4711,2015-01-01 02:00:05,bin7205,75,False +CTSPillarNetworkA,7206,7206,7206,1989-09-24,720.6000000000953,720.5711,2015-01-01 02:00:06,bin7206,35,False +CTSPillarNetworkA,7207,7207,7207,1989-09-25,720.7000000000953,720.6711,2015-01-01 02:00:07,bin7207,75,False +CTSPillarNetworkA,7208,7208,7208,1989-09-26,720.8000000000953,720.77106,2015-01-01 02:00:08,bin7208,35,False +CTSPillarNetworkA,7209,7209,7209,1989-09-27,720.9000000000954,720.87103,2015-01-01 02:00:09,bin7209,75,False +CTSPillarNetworkA,7210,7210,7210,1989-09-28,721.0000000000954,720.971,2015-01-01 02:00:10,bin7210,35,False +CTSPillarNetworkA,7211,7211,7211,1989-09-29,721.1000000000954,721.071,2015-01-01 02:00:11,bin7211,75,False +CTSPillarNetworkA,7212,7212,7212,1989-09-30,721.2000000000954,721.17096,2015-01-01 02:00:12,bin7212,35,False +CTSPillarNetworkA,7213,7213,7213,1989-10-01,721.3000000000955,721.27094,2015-01-01 02:00:13,bin7213,75,False +CTSPillarNetworkA,7214,7214,7214,1989-10-02,721.4000000000955,721.3709,2015-01-01 02:00:14,bin7214,35,False +CTSPillarNetworkA,7215,7215,7215,1989-10-03,721.5000000000955,721.4709,2015-01-01 02:00:15,bin7215,75,False +CTSPillarNetworkA,7216,7216,7216,1989-10-04,721.6000000000955,721.57086,2015-01-01 02:00:16,bin7216,35,False +CTSPillarNetworkA,7217,7217,7217,1989-10-05,721.7000000000955,721.67084,2015-01-01 02:00:17,bin7217,75,False +CTSPillarNetworkA,7218,7218,7218,1989-10-06,721.8000000000956,721.7708,2015-01-01 02:00:18,bin7218,35,False +CTSPillarNetworkA,7219,7219,7219,1989-10-07,721.9000000000956,721.8708,2015-01-01 02:00:19,bin7219,75,False +CTSPillarNetworkA,7220,7220,7220,1989-10-08,722.0000000000956,721.97076,2015-01-01 02:00:20,bin7220,35,False +CTSPillarNetworkA,7221,7221,7221,1989-10-09,722.1000000000956,722.07074,2015-01-01 02:00:21,bin7221,75,False +CTSPillarNetworkA,7222,7222,7222,1989-10-10,722.2000000000957,722.1707,2015-01-01 02:00:22,bin7222,35,False +CTSPillarNetworkA,7223,7223,7223,1989-10-11,722.3000000000957,722.2707,2015-01-01 02:00:23,bin7223,75,False +CTSPillarNetworkA,7224,7224,7224,1989-10-12,722.4000000000957,722.37067,2015-01-01 02:00:24,bin7224,35,False +CTSPillarNetworkA,7225,7225,7225,1989-10-13,722.5000000000957,722.47064,2015-01-01 02:00:25,bin7225,75,False +CTSPillarNetworkA,7226,7226,7226,1989-10-14,722.6000000000957,722.5706,2015-01-01 02:00:26,bin7226,35,False +CTSPillarNetworkA,7227,7227,7227,1989-10-15,722.7000000000958,722.6706,2015-01-01 02:00:27,bin7227,75,False +CTSPillarNetworkA,7228,7228,7228,1989-10-16,722.8000000000958,722.77057,2015-01-01 02:00:28,bin7228,35,False +CTSPillarNetworkA,7229,7229,7229,1989-10-17,722.9000000000958,722.87054,2015-01-01 02:00:29,bin7229,75,False +CTSPillarNetworkA,7230,7230,7230,1989-10-18,723.0000000000958,722.9705,2015-01-01 02:00:30,bin7230,35,False +CTSPillarNetworkA,7231,7231,7231,1989-10-19,723.1000000000959,723.0705,2015-01-01 02:00:31,bin7231,75,False +CTSPillarNetworkA,7232,7232,7232,1989-10-20,723.2000000000959,723.1705,2015-01-01 02:00:32,bin7232,35,False +CTSPillarNetworkA,7233,7233,7233,1989-10-21,723.3000000000959,723.27045,2015-01-01 02:00:33,bin7233,75,False +CTSPillarNetworkA,7234,7234,7234,1989-10-22,723.4000000000959,723.3704,2015-01-01 02:00:34,bin7234,35,False +CTSPillarNetworkA,7235,7235,7235,1989-10-23,723.500000000096,723.4704,2015-01-01 02:00:35,bin7235,75,False +CTSPillarNetworkA,7236,7236,7236,1989-10-24,723.600000000096,723.5704,2015-01-01 02:00:36,bin7236,35,False +CTSPillarNetworkA,7237,7237,7237,1989-10-25,723.700000000096,723.67035,2015-01-01 02:00:37,bin7237,75,False +CTSPillarNetworkA,7238,7238,7238,1989-10-26,723.800000000096,723.7703,2015-01-01 02:00:38,bin7238,35,False +CTSPillarNetworkA,7239,7239,7239,1989-10-27,723.900000000096,723.8703,2015-01-01 02:00:39,bin7239,75,False +CTSPillarNetworkA,7240,7240,7240,1989-10-28,724.0000000000961,723.9703,2015-01-01 02:00:40,bin7240,35,False +CTSPillarNetworkA,7241,7241,7241,1989-10-29,724.1000000000961,724.07025,2015-01-01 02:00:41,bin7241,75,False +CTSPillarNetworkA,7242,7242,7242,1989-10-30,724.2000000000961,724.1702,2015-01-01 02:00:42,bin7242,35,False +CTSPillarNetworkA,7243,7243,7243,1989-10-31,724.3000000000961,724.2702,2015-01-01 02:00:43,bin7243,75,False +CTSPillarNetworkA,7244,7244,7244,1989-11-01,724.4000000000962,724.3702,2015-01-01 02:00:44,bin7244,35,False +CTSPillarNetworkA,7245,7245,7245,1989-11-02,724.5000000000962,724.47015,2015-01-01 02:00:45,bin7245,75,False +CTSPillarNetworkA,7246,7246,7246,1989-11-03,724.6000000000962,724.5701,2015-01-01 02:00:46,bin7246,35,False +CTSPillarNetworkA,7247,7247,7247,1989-11-04,724.7000000000962,724.6701,2015-01-01 02:00:47,bin7247,75,False +CTSPillarNetworkA,7248,7248,7248,1989-11-05,724.8000000000962,724.7701,2015-01-01 02:00:48,bin7248,35,False +CTSPillarNetworkA,7249,7249,7249,1989-11-06,724.9000000000963,724.87006,2015-01-01 02:00:49,bin7249,75,False +CTSPillarNetworkA,7250,7250,7250,1989-11-07,725.0000000000963,724.97003,2015-01-01 02:00:50,bin7250,35,False +CTSPillarNetworkA,7251,7251,7251,1989-11-08,725.1000000000963,725.07,2015-01-01 02:00:51,bin7251,75,False +CTSPillarNetworkA,7252,7252,7252,1989-11-09,725.2000000000963,725.17,2015-01-01 02:00:52,bin7252,35,False +CTSPillarNetworkA,7253,7253,7253,1989-11-10,725.3000000000964,725.26996,2015-01-01 02:00:53,bin7253,75,False +CTSPillarNetworkA,7254,7254,7254,1989-11-11,725.4000000000964,725.36993,2015-01-01 02:00:54,bin7254,35,False +CTSPillarNetworkA,7255,7255,7255,1989-11-12,725.5000000000964,725.4699,2015-01-01 02:00:55,bin7255,75,False +CTSPillarNetworkA,7256,7256,7256,1989-11-13,725.6000000000964,725.5699,2015-01-01 02:00:56,bin7256,35,False +CTSPillarNetworkA,7257,7257,7257,1989-11-14,725.7000000000965,725.66986,2015-01-01 02:00:57,bin7257,75,False +CTSPillarNetworkA,7258,7258,7258,1989-11-15,725.8000000000965,725.76984,2015-01-01 02:00:58,bin7258,35,False +CTSPillarNetworkA,7259,7259,7259,1989-11-16,725.9000000000965,725.8698,2015-01-01 02:00:59,bin7259,75,False +CTSPillarNetworkA,7260,7260,7260,1989-11-17,726.0000000000965,725.9698,2015-01-01 02:01:00,bin7260,35,False +CTSPillarNetworkA,7261,7261,7261,1989-11-18,726.1000000000965,726.06976,2015-01-01 02:01:01,bin7261,75,False +CTSPillarNetworkA,7262,7262,7262,1989-11-19,726.2000000000966,726.16974,2015-01-01 02:01:02,bin7262,35,False +CTSPillarNetworkA,7263,7263,7263,1989-11-20,726.3000000000966,726.2697,2015-01-01 02:01:03,bin7263,75,False +CTSPillarNetworkA,7264,7264,7264,1989-11-21,726.4000000000966,726.3697,2015-01-01 02:01:04,bin7264,35,False +CTSPillarNetworkA,7265,7265,7265,1989-11-22,726.5000000000966,726.46967,2015-01-01 02:01:05,bin7265,75,False +CTSPillarNetworkA,7266,7266,7266,1989-11-23,726.6000000000967,726.56964,2015-01-01 02:01:06,bin7266,35,False +CTSPillarNetworkA,7267,7267,7267,1989-11-24,726.7000000000967,726.6696,2015-01-01 02:01:07,bin7267,75,False +CTSPillarNetworkA,7268,7268,7268,1989-11-25,726.8000000000967,726.7696,2015-01-01 02:01:08,bin7268,35,False +CTSPillarNetworkA,7269,7269,7269,1989-11-26,726.9000000000967,726.86957,2015-01-01 02:01:09,bin7269,75,False +CTSPillarNetworkA,7270,7270,7270,1989-11-27,727.0000000000967,726.96954,2015-01-01 02:01:10,bin7270,35,False +CTSPillarNetworkA,7271,7271,7271,1989-11-28,727.1000000000968,727.0695,2015-01-01 02:01:11,bin7271,75,False +CTSPillarNetworkA,7272,7272,7272,1989-11-29,727.2000000000968,727.1695,2015-01-01 02:01:12,bin7272,35,False +CTSPillarNetworkA,7273,7273,7273,1989-11-30,727.3000000000968,727.2695,2015-01-01 02:01:13,bin7273,75,False +CTSPillarNetworkA,7274,7274,7274,1989-12-01,727.4000000000968,727.36945,2015-01-01 02:01:14,bin7274,35,False +CTSPillarNetworkA,7275,7275,7275,1989-12-02,727.5000000000969,727.4694,2015-01-01 02:01:15,bin7275,75,False +CTSPillarNetworkA,7276,7276,7276,1989-12-03,727.6000000000969,727.5694,2015-01-01 02:01:16,bin7276,35,False +CTSPillarNetworkA,7277,7277,7277,1989-12-04,727.7000000000969,727.6694,2015-01-01 02:01:17,bin7277,75,False +CTSPillarNetworkA,7278,7278,7278,1989-12-05,727.8000000000969,727.76935,2015-01-01 02:01:18,bin7278,35,False +CTSPillarNetworkA,7279,7279,7279,1989-12-06,727.900000000097,727.8693,2015-01-01 02:01:19,bin7279,75,False +CTSPillarNetworkA,7280,7280,7280,1989-12-07,728.000000000097,727.9693,2015-01-01 02:01:20,bin7280,35,False +CTSPillarNetworkA,7281,7281,7281,1989-12-08,728.100000000097,728.0693,2015-01-01 02:01:21,bin7281,75,False +CTSPillarNetworkA,7282,7282,7282,1989-12-09,728.200000000097,728.16925,2015-01-01 02:01:22,bin7282,35,False +CTSPillarNetworkA,7283,7283,7283,1989-12-10,728.300000000097,728.2692,2015-01-01 02:01:23,bin7283,75,False +CTSPillarNetworkA,7284,7284,7284,1989-12-11,728.4000000000971,728.3692,2015-01-01 02:01:24,bin7284,35,False +CTSPillarNetworkA,7285,7285,7285,1989-12-12,728.5000000000971,728.4692,2015-01-01 02:01:25,bin7285,75,False +CTSPillarNetworkA,7286,7286,7286,1989-12-13,728.6000000000971,728.56915,2015-01-01 02:01:26,bin7286,35,False +CTSPillarNetworkA,7287,7287,7287,1989-12-14,728.7000000000971,728.6691,2015-01-01 02:01:27,bin7287,75,False +CTSPillarNetworkA,7288,7288,7288,1989-12-15,728.8000000000972,728.7691,2015-01-01 02:01:28,bin7288,35,False +CTSPillarNetworkA,7289,7289,7289,1989-12-16,728.9000000000972,728.8691,2015-01-01 02:01:29,bin7289,75,False +CTSPillarNetworkA,7290,7290,7290,1989-12-17,729.0000000000972,728.96906,2015-01-01 02:01:30,bin7290,35,False +CTSPillarNetworkA,7291,7291,7291,1989-12-18,729.1000000000972,729.06903,2015-01-01 02:01:31,bin7291,75,False +CTSPillarNetworkA,7292,7292,7292,1989-12-19,729.2000000000972,729.169,2015-01-01 02:01:32,bin7292,35,False +CTSPillarNetworkA,7293,7293,7293,1989-12-20,729.3000000000973,729.269,2015-01-01 02:01:33,bin7293,75,False +CTSPillarNetworkA,7294,7294,7294,1989-12-21,729.4000000000973,729.36896,2015-01-01 02:01:34,bin7294,35,False +CTSPillarNetworkA,7295,7295,7295,1989-12-22,729.5000000000973,729.46893,2015-01-01 02:01:35,bin7295,75,False +CTSPillarNetworkA,7296,7296,7296,1989-12-23,729.6000000000973,729.5689,2015-01-01 02:01:36,bin7296,35,False +CTSPillarNetworkA,7297,7297,7297,1989-12-24,729.7000000000974,729.6689,2015-01-01 02:01:37,bin7297,75,False +CTSPillarNetworkA,7298,7298,7298,1989-12-25,729.8000000000974,729.76886,2015-01-01 02:01:38,bin7298,35,False +CTSPillarNetworkA,7299,7299,7299,1989-12-26,729.9000000000974,729.86884,2015-01-01 02:01:39,bin7299,75,False +CTSPillarNetworkA,7300,7300,7300,1989-12-27,730.0000000000974,729.9688,2015-01-01 02:01:40,bin7300,35,False +CTSPillarNetworkA,7301,7301,7301,1989-12-28,730.1000000000975,730.0688,2015-01-01 02:01:41,bin7301,75,False +CTSPillarNetworkA,7302,7302,7302,1989-12-29,730.2000000000975,730.16876,2015-01-01 02:01:42,bin7302,35,False +CTSPillarNetworkA,7303,7303,7303,1989-12-30,730.3000000000975,730.26874,2015-01-01 02:01:43,bin7303,75,False +CTSPillarNetworkA,7304,7304,7304,1989-12-31,730.4000000000975,730.3687,2015-01-01 02:01:44,bin7304,35,False +CTSPillarNetworkA,7305,7305,7305,1990-01-01,730.5000000000975,730.4687,2015-01-01 02:01:45,bin7305,75,False +CTSPillarNetworkA,7306,7306,7306,1990-01-02,730.6000000000976,730.56866,2015-01-01 02:01:46,bin7306,35,False +CTSPillarNetworkA,7307,7307,7307,1990-01-03,730.7000000000976,730.66864,2015-01-01 02:01:47,bin7307,75,False +CTSPillarNetworkA,7308,7308,7308,1990-01-04,730.8000000000976,730.7686,2015-01-01 02:01:48,bin7308,35,False +CTSPillarNetworkA,7309,7309,7309,1990-01-05,730.9000000000976,730.8686,2015-01-01 02:01:49,bin7309,75,False +CTSPillarNetworkA,7310,7310,7310,1990-01-06,731.0000000000977,730.96857,2015-01-01 02:01:50,bin7310,35,False +CTSPillarNetworkA,7311,7311,7311,1990-01-07,731.1000000000977,731.06854,2015-01-01 02:01:51,bin7311,75,False +CTSPillarNetworkA,7312,7312,7312,1990-01-08,731.2000000000977,731.1685,2015-01-01 02:01:52,bin7312,35,False +CTSPillarNetworkA,7313,7313,7313,1990-01-09,731.3000000000977,731.2685,2015-01-01 02:01:53,bin7313,75,False +CTSPillarNetworkA,7314,7314,7314,1990-01-10,731.4000000000977,731.36847,2015-01-01 02:01:54,bin7314,35,False +CTSPillarNetworkA,7315,7315,7315,1990-01-11,731.5000000000978,731.46844,2015-01-01 02:01:55,bin7315,75,False +CTSPillarNetworkA,7316,7316,7316,1990-01-12,731.6000000000978,731.5684,2015-01-01 02:01:56,bin7316,35,False +CTSPillarNetworkA,7317,7317,7317,1990-01-13,731.7000000000978,731.6684,2015-01-01 02:01:57,bin7317,75,False +CTSPillarNetworkA,7318,7318,7318,1990-01-14,731.8000000000978,731.7684,2015-01-01 02:01:58,bin7318,35,False +CTSPillarNetworkA,7319,7319,7319,1990-01-15,731.9000000000979,731.86835,2015-01-01 02:01:59,bin7319,75,False +CTSPillarNetworkA,7320,7320,7320,1990-01-16,732.0000000000979,731.9683,2015-01-01 02:02:00,bin7320,35,False +CTSPillarNetworkA,7321,7321,7321,1990-01-17,732.1000000000979,732.0683,2015-01-01 02:02:01,bin7321,75,False +CTSPillarNetworkA,7322,7322,7322,1990-01-18,732.2000000000979,732.1683,2015-01-01 02:02:02,bin7322,35,False +CTSPillarNetworkA,7323,7323,7323,1990-01-19,732.300000000098,732.26825,2015-01-01 02:02:03,bin7323,75,False +CTSPillarNetworkA,7324,7324,7324,1990-01-20,732.400000000098,732.3682,2015-01-01 02:02:04,bin7324,35,False +CTSPillarNetworkA,7325,7325,7325,1990-01-21,732.500000000098,732.4682,2015-01-01 02:02:05,bin7325,75,False +CTSPillarNetworkA,7326,7326,7326,1990-01-22,732.600000000098,732.5682,2015-01-01 02:02:06,bin7326,35,False +CTSPillarNetworkA,7327,7327,7327,1990-01-23,732.700000000098,732.66815,2015-01-01 02:02:07,bin7327,75,False +CTSPillarNetworkA,7328,7328,7328,1990-01-24,732.8000000000981,732.7681,2015-01-01 02:02:08,bin7328,35,False +CTSPillarNetworkA,7329,7329,7329,1990-01-25,732.9000000000981,732.8681,2015-01-01 02:02:09,bin7329,75,False +CTSPillarNetworkA,7330,7330,7330,1990-01-26,733.0000000000981,732.9681,2015-01-01 02:02:10,bin7330,35,False +CTSPillarNetworkA,7331,7331,7331,1990-01-27,733.1000000000981,733.06805,2015-01-01 02:02:11,bin7331,75,False +CTSPillarNetworkA,7332,7332,7332,1990-01-28,733.2000000000982,733.168,2015-01-01 02:02:12,bin7332,35,False +CTSPillarNetworkA,7333,7333,7333,1990-01-29,733.3000000000982,733.268,2015-01-01 02:02:13,bin7333,75,False +CTSPillarNetworkA,7334,7334,7334,1990-01-30,733.4000000000982,733.368,2015-01-01 02:02:14,bin7334,35,False +CTSPillarNetworkA,7335,7335,7335,1990-01-31,733.5000000000982,733.46796,2015-01-01 02:02:15,bin7335,75,False +CTSPillarNetworkA,7336,7336,7336,1990-02-01,733.6000000000982,733.56793,2015-01-01 02:02:16,bin7336,35,False +CTSPillarNetworkA,7337,7337,7337,1990-02-02,733.7000000000983,733.6679,2015-01-01 02:02:17,bin7337,75,False +CTSPillarNetworkA,7338,7338,7338,1990-02-03,733.8000000000983,733.7679,2015-01-01 02:02:18,bin7338,35,False +CTSPillarNetworkA,7339,7339,7339,1990-02-04,733.9000000000983,733.86786,2015-01-01 02:02:19,bin7339,75,False +CTSPillarNetworkA,7340,7340,7340,1990-02-05,734.0000000000983,733.96783,2015-01-01 02:02:20,bin7340,35,False +CTSPillarNetworkA,7341,7341,7341,1990-02-06,734.1000000000984,734.0678,2015-01-01 02:02:21,bin7341,75,False +CTSPillarNetworkA,7342,7342,7342,1990-02-07,734.2000000000984,734.1678,2015-01-01 02:02:22,bin7342,35,False +CTSPillarNetworkA,7343,7343,7343,1990-02-08,734.3000000000984,734.26776,2015-01-01 02:02:23,bin7343,75,False +CTSPillarNetworkA,7344,7344,7344,1990-02-09,734.4000000000984,734.36774,2015-01-01 02:02:24,bin7344,35,False +CTSPillarNetworkA,7345,7345,7345,1990-02-10,734.5000000000985,734.4677,2015-01-01 02:02:25,bin7345,75,False +CTSPillarNetworkA,7346,7346,7346,1990-02-11,734.6000000000985,734.5677,2015-01-01 02:02:26,bin7346,35,False +CTSPillarNetworkA,7347,7347,7347,1990-02-12,734.7000000000985,734.66766,2015-01-01 02:02:27,bin7347,75,False +CTSPillarNetworkA,7348,7348,7348,1990-02-13,734.8000000000985,734.76764,2015-01-01 02:02:28,bin7348,35,False +CTSPillarNetworkA,7349,7349,7349,1990-02-14,734.9000000000985,734.8676,2015-01-01 02:02:29,bin7349,75,False +CTSPillarNetworkA,7350,7350,7350,1990-02-15,735.0000000000986,734.9676,2015-01-01 02:02:30,bin7350,35,False +CTSPillarNetworkA,7351,7351,7351,1990-02-16,735.1000000000986,735.06757,2015-01-01 02:02:31,bin7351,75,False +CTSPillarNetworkA,7352,7352,7352,1990-02-17,735.2000000000986,735.16754,2015-01-01 02:02:32,bin7352,35,False +CTSPillarNetworkA,7353,7353,7353,1990-02-18,735.3000000000986,735.2675,2015-01-01 02:02:33,bin7353,75,False +CTSPillarNetworkA,7354,7354,7354,1990-02-19,735.4000000000987,735.3675,2015-01-01 02:02:34,bin7354,35,False +CTSPillarNetworkA,7355,7355,7355,1990-02-20,735.5000000000987,735.46747,2015-01-01 02:02:35,bin7355,75,False +CTSPillarNetworkA,7356,7356,7356,1990-02-21,735.6000000000987,735.56744,2015-01-01 02:02:36,bin7356,35,False +CTSPillarNetworkA,7357,7357,7357,1990-02-22,735.7000000000987,735.6674,2015-01-01 02:02:37,bin7357,75,False +CTSPillarNetworkA,7358,7358,7358,1990-02-23,735.8000000000987,735.7674,2015-01-01 02:02:38,bin7358,35,False +CTSPillarNetworkA,7359,7359,7359,1990-02-24,735.9000000000988,735.8674,2015-01-01 02:02:39,bin7359,75,False +CTSPillarNetworkA,7360,7360,7360,1990-02-25,736.0000000000988,735.96735,2015-01-01 02:02:40,bin7360,35,False +CTSPillarNetworkA,7361,7361,7361,1990-02-26,736.1000000000988,736.0673,2015-01-01 02:02:41,bin7361,75,False +CTSPillarNetworkA,7362,7362,7362,1990-02-27,736.2000000000988,736.1673,2015-01-01 02:02:42,bin7362,35,False +CTSPillarNetworkA,7363,7363,7363,1990-02-28,736.3000000000989,736.2673,2015-01-01 02:02:43,bin7363,75,False +CTSPillarNetworkA,7364,7364,7364,1990-03-01,736.4000000000989,736.36725,2015-01-01 02:02:44,bin7364,35,False +CTSPillarNetworkA,7365,7365,7365,1990-03-02,736.5000000000989,736.4672,2015-01-01 02:02:45,bin7365,75,False +CTSPillarNetworkA,7366,7366,7366,1990-03-03,736.6000000000989,736.5672,2015-01-01 02:02:46,bin7366,35,False +CTSPillarNetworkA,7367,7367,7367,1990-03-04,736.700000000099,736.6672,2015-01-01 02:02:47,bin7367,75,False +CTSPillarNetworkA,7368,7368,7368,1990-03-05,736.800000000099,736.76715,2015-01-01 02:02:48,bin7368,35,False +CTSPillarNetworkA,7369,7369,7369,1990-03-06,736.900000000099,736.8671,2015-01-01 02:02:49,bin7369,75,False +CTSPillarNetworkA,7370,7370,7370,1990-03-07,737.000000000099,736.9671,2015-01-01 02:02:50,bin7370,35,False +CTSPillarNetworkA,7371,7371,7371,1990-03-08,737.100000000099,737.0671,2015-01-01 02:02:51,bin7371,75,False +CTSPillarNetworkA,7372,7372,7372,1990-03-09,737.2000000000991,737.16705,2015-01-01 02:02:52,bin7372,35,False +CTSPillarNetworkA,7373,7373,7373,1990-03-10,737.3000000000991,737.267,2015-01-01 02:02:53,bin7373,75,False +CTSPillarNetworkA,7374,7374,7374,1990-03-11,737.4000000000991,737.367,2015-01-01 02:02:54,bin7374,35,False +CTSPillarNetworkA,7375,7375,7375,1990-03-12,737.5000000000991,737.467,2015-01-01 02:02:55,bin7375,75,False +CTSPillarNetworkA,7376,7376,7376,1990-03-13,737.6000000000992,737.56696,2015-01-01 02:02:56,bin7376,35,False +CTSPillarNetworkA,7377,7377,7377,1990-03-14,737.7000000000992,737.66693,2015-01-01 02:02:57,bin7377,75,False +CTSPillarNetworkA,7378,7378,7378,1990-03-15,737.8000000000992,737.7669,2015-01-01 02:02:58,bin7378,35,False +CTSPillarNetworkA,7379,7379,7379,1990-03-16,737.9000000000992,737.8669,2015-01-01 02:02:59,bin7379,75,False +CTSPillarNetworkA,7380,7380,7380,1990-03-17,738.0000000000992,737.96686,2015-01-01 02:03:00,bin7380,35,False +CTSPillarNetworkA,7381,7381,7381,1990-03-18,738.1000000000993,738.06683,2015-01-01 02:03:01,bin7381,75,False +CTSPillarNetworkA,7382,7382,7382,1990-03-19,738.2000000000993,738.1668,2015-01-01 02:03:02,bin7382,35,False +CTSPillarNetworkA,7383,7383,7383,1990-03-20,738.3000000000993,738.2668,2015-01-01 02:03:03,bin7383,75,False +CTSPillarNetworkA,7384,7384,7384,1990-03-21,738.4000000000993,738.36676,2015-01-01 02:03:04,bin7384,35,False +CTSPillarNetworkA,7385,7385,7385,1990-03-22,738.5000000000994,738.46674,2015-01-01 02:03:05,bin7385,75,False +CTSPillarNetworkA,7386,7386,7386,1990-03-23,738.6000000000994,738.5667,2015-01-01 02:03:06,bin7386,35,False +CTSPillarNetworkA,7387,7387,7387,1990-03-24,738.7000000000994,738.6667,2015-01-01 02:03:07,bin7387,75,False +CTSPillarNetworkA,7388,7388,7388,1990-03-25,738.8000000000994,738.76666,2015-01-01 02:03:08,bin7388,35,False +CTSPillarNetworkA,7389,7389,7389,1990-03-26,738.9000000000995,738.86664,2015-01-01 02:03:09,bin7389,75,False +CTSPillarNetworkA,7390,7390,7390,1990-03-27,739.0000000000995,738.9666,2015-01-01 02:03:10,bin7390,35,False +CTSPillarNetworkA,7391,7391,7391,1990-03-28,739.1000000000995,739.0666,2015-01-01 02:03:11,bin7391,75,False +CTSPillarNetworkA,7392,7392,7392,1990-03-29,739.2000000000995,739.16656,2015-01-01 02:03:12,bin7392,35,False +CTSPillarNetworkA,7393,7393,7393,1990-03-30,739.3000000000995,739.26654,2015-01-01 02:03:13,bin7393,75,False +CTSPillarNetworkA,7394,7394,7394,1990-03-31,739.4000000000996,739.3665,2015-01-01 02:03:14,bin7394,35,False +CTSPillarNetworkA,7395,7395,7395,1990-04-01,739.5000000000996,739.4665,2015-01-01 02:03:15,bin7395,75,False +CTSPillarNetworkA,7396,7396,7396,1990-04-02,739.6000000000996,739.56647,2015-01-01 02:03:16,bin7396,35,False +CTSPillarNetworkA,7397,7397,7397,1990-04-03,739.7000000000996,739.66644,2015-01-01 02:03:17,bin7397,75,False +CTSPillarNetworkA,7398,7398,7398,1990-04-04,739.8000000000997,739.7664,2015-01-01 02:03:18,bin7398,35,False +CTSPillarNetworkA,7399,7399,7399,1990-04-05,739.9000000000997,739.8664,2015-01-01 02:03:19,bin7399,75,False +CTSPillarNetworkA,7400,7400,7400,1990-04-06,740.0000000000997,739.9664,2015-01-01 02:03:20,bin7400,35,False +CTSPillarNetworkA,7401,7401,7401,1990-04-07,740.1000000000997,740.06635,2015-01-01 02:03:21,bin7401,75,False +CTSPillarNetworkA,7402,7402,7402,1990-04-08,740.2000000000997,740.1663,2015-01-01 02:03:22,bin7402,35,False +CTSPillarNetworkA,7403,7403,7403,1990-04-09,740.3000000000998,740.2663,2015-01-01 02:03:23,bin7403,75,False +CTSPillarNetworkA,7404,7404,7404,1990-04-10,740.4000000000998,740.3663,2015-01-01 02:03:24,bin7404,35,False +CTSPillarNetworkA,7405,7405,7405,1990-04-11,740.5000000000998,740.46625,2015-01-01 02:03:25,bin7405,75,False +CTSPillarNetworkA,7406,7406,7406,1990-04-12,740.6000000000998,740.5662,2015-01-01 02:03:26,bin7406,35,False +CTSPillarNetworkA,7407,7407,7407,1990-04-13,740.7000000000999,740.6662,2015-01-01 02:03:27,bin7407,75,False +CTSPillarNetworkA,7408,7408,7408,1990-04-14,740.8000000000999,740.7662,2015-01-01 02:03:28,bin7408,35,False +CTSPillarNetworkA,7409,7409,7409,1990-04-15,740.9000000000999,740.86615,2015-01-01 02:03:29,bin7409,75,False +CTSPillarNetworkA,7410,7410,7410,1990-04-16,741.0000000000999,740.9661,2015-01-01 02:03:30,bin7410,35,False +CTSPillarNetworkA,7411,7411,7411,1990-04-17,741.1000000001,741.0661,2015-01-01 02:03:31,bin7411,75,False +CTSPillarNetworkA,7412,7412,7412,1990-04-18,741.2000000001,741.1661,2015-01-01 02:03:32,bin7412,35,False +CTSPillarNetworkA,7413,7413,7413,1990-04-19,741.3000000001,741.26605,2015-01-01 02:03:33,bin7413,75,False +CTSPillarNetworkA,7414,7414,7414,1990-04-20,741.4000000001,741.366,2015-01-01 02:03:34,bin7414,35,False +CTSPillarNetworkA,7415,7415,7415,1990-04-21,741.5000000001,741.466,2015-01-01 02:03:35,bin7415,75,False +CTSPillarNetworkA,7416,7416,7416,1990-04-22,741.6000000001001,741.566,2015-01-01 02:03:36,bin7416,35,False +CTSPillarNetworkA,7417,7417,7417,1990-04-23,741.7000000001001,741.66595,2015-01-01 02:03:37,bin7417,75,False +CTSPillarNetworkA,7418,7418,7418,1990-04-24,741.8000000001001,741.7659,2015-01-01 02:03:38,bin7418,35,False +CTSPillarNetworkA,7419,7419,7419,1990-04-25,741.9000000001001,741.8659,2015-01-01 02:03:39,bin7419,75,False +CTSPillarNetworkA,7420,7420,7420,1990-04-26,742.0000000001002,741.9659,2015-01-01 02:03:40,bin7420,35,False +CTSPillarNetworkA,7421,7421,7421,1990-04-27,742.1000000001002,742.06586,2015-01-01 02:03:41,bin7421,75,False +CTSPillarNetworkA,7422,7422,7422,1990-04-28,742.2000000001002,742.16583,2015-01-01 02:03:42,bin7422,35,False +CTSPillarNetworkA,7423,7423,7423,1990-04-29,742.3000000001002,742.2658,2015-01-01 02:03:43,bin7423,75,False +CTSPillarNetworkA,7424,7424,7424,1990-04-30,742.4000000001002,742.3658,2015-01-01 02:03:44,bin7424,35,False +CTSPillarNetworkA,7425,7425,7425,1990-05-01,742.5000000001003,742.46576,2015-01-01 02:03:45,bin7425,75,False +CTSPillarNetworkA,7426,7426,7426,1990-05-02,742.6000000001003,742.56573,2015-01-01 02:03:46,bin7426,35,False +CTSPillarNetworkA,7427,7427,7427,1990-05-03,742.7000000001003,742.6657,2015-01-01 02:03:47,bin7427,75,False +CTSPillarNetworkA,7428,7428,7428,1990-05-04,742.8000000001003,742.7657,2015-01-01 02:03:48,bin7428,35,False +CTSPillarNetworkA,7429,7429,7429,1990-05-05,742.9000000001004,742.86566,2015-01-01 02:03:49,bin7429,75,False +CTSPillarNetworkA,7430,7430,7430,1990-05-06,743.0000000001004,742.96564,2015-01-01 02:03:50,bin7430,35,False +CTSPillarNetworkA,7431,7431,7431,1990-05-07,743.1000000001004,743.0656,2015-01-01 02:03:51,bin7431,75,False +CTSPillarNetworkA,7432,7432,7432,1990-05-08,743.2000000001004,743.1656,2015-01-01 02:03:52,bin7432,35,False +CTSPillarNetworkA,7433,7433,7433,1990-05-09,743.3000000001005,743.26556,2015-01-01 02:03:53,bin7433,75,False +CTSPillarNetworkA,7434,7434,7434,1990-05-10,743.4000000001005,743.36554,2015-01-01 02:03:54,bin7434,35,False +CTSPillarNetworkA,7435,7435,7435,1990-05-11,743.5000000001005,743.4655,2015-01-01 02:03:55,bin7435,75,False +CTSPillarNetworkA,7436,7436,7436,1990-05-12,743.6000000001005,743.5655,2015-01-01 02:03:56,bin7436,35,False +CTSPillarNetworkA,7437,7437,7437,1990-05-13,743.7000000001005,743.66547,2015-01-01 02:03:57,bin7437,75,False +CTSPillarNetworkA,7438,7438,7438,1990-05-14,743.8000000001006,743.76544,2015-01-01 02:03:58,bin7438,35,False +CTSPillarNetworkA,7439,7439,7439,1990-05-15,743.9000000001006,743.8654,2015-01-01 02:03:59,bin7439,75,False +CTSPillarNetworkA,7440,7440,7440,1990-05-16,744.0000000001006,743.9654,2015-01-01 02:04:00,bin7440,35,False +CTSPillarNetworkA,7441,7441,7441,1990-05-17,744.1000000001006,744.06537,2015-01-01 02:04:01,bin7441,75,False +CTSPillarNetworkA,7442,7442,7442,1990-05-18,744.2000000001007,744.16534,2015-01-01 02:04:02,bin7442,35,False +CTSPillarNetworkA,7443,7443,7443,1990-05-19,744.3000000001007,744.2653,2015-01-01 02:04:03,bin7443,75,False +CTSPillarNetworkA,7444,7444,7444,1990-05-20,744.4000000001007,744.3653,2015-01-01 02:04:04,bin7444,35,False +CTSPillarNetworkA,7445,7445,7445,1990-05-21,744.5000000001007,744.4653,2015-01-01 02:04:05,bin7445,75,False +CTSPillarNetworkA,7446,7446,7446,1990-05-22,744.6000000001007,744.56525,2015-01-01 02:04:06,bin7446,35,False +CTSPillarNetworkA,7447,7447,7447,1990-05-23,744.7000000001008,744.6652,2015-01-01 02:04:07,bin7447,75,False +CTSPillarNetworkA,7448,7448,7448,1990-05-24,744.8000000001008,744.7652,2015-01-01 02:04:08,bin7448,35,False +CTSPillarNetworkA,7449,7449,7449,1990-05-25,744.9000000001008,744.8652,2015-01-01 02:04:09,bin7449,75,False +CTSPillarNetworkA,7450,7450,7450,1990-05-26,745.0000000001008,744.96515,2015-01-01 02:04:10,bin7450,35,False +CTSPillarNetworkA,7451,7451,7451,1990-05-27,745.1000000001009,745.0651,2015-01-01 02:04:11,bin7451,75,False +CTSPillarNetworkA,7452,7452,7452,1990-05-28,745.2000000001009,745.1651,2015-01-01 02:04:12,bin7452,35,False +CTSPillarNetworkA,7453,7453,7453,1990-05-29,745.3000000001009,745.2651,2015-01-01 02:04:13,bin7453,75,False +CTSPillarNetworkA,7454,7454,7454,1990-05-30,745.4000000001009,745.36505,2015-01-01 02:04:14,bin7454,35,False +CTSPillarNetworkA,7455,7455,7455,1990-05-31,745.500000000101,745.465,2015-01-01 02:04:15,bin7455,75,False +CTSPillarNetworkA,7456,7456,7456,1990-06-01,745.600000000101,745.565,2015-01-01 02:04:16,bin7456,35,False +CTSPillarNetworkA,7457,7457,7457,1990-06-02,745.700000000101,745.665,2015-01-01 02:04:17,bin7457,75,False +CTSPillarNetworkA,7458,7458,7458,1990-06-03,745.800000000101,745.76495,2015-01-01 02:04:18,bin7458,35,False +CTSPillarNetworkA,7459,7459,7459,1990-06-04,745.900000000101,745.8649,2015-01-01 02:04:19,bin7459,75,False +CTSPillarNetworkA,7460,7460,7460,1990-06-05,746.0000000001011,745.9649,2015-01-01 02:04:20,bin7460,35,False +CTSPillarNetworkA,7461,7461,7461,1990-06-06,746.1000000001011,746.0649,2015-01-01 02:04:21,bin7461,75,False +CTSPillarNetworkA,7462,7462,7462,1990-06-07,746.2000000001011,746.16486,2015-01-01 02:04:22,bin7462,35,False +CTSPillarNetworkA,7463,7463,7463,1990-06-08,746.3000000001011,746.26483,2015-01-01 02:04:23,bin7463,75,False +CTSPillarNetworkA,7464,7464,7464,1990-06-09,746.4000000001012,746.3648,2015-01-01 02:04:24,bin7464,35,False +CTSPillarNetworkA,7465,7465,7465,1990-06-10,746.5000000001012,746.4648,2015-01-01 02:04:25,bin7465,75,False +CTSPillarNetworkA,7466,7466,7466,1990-06-11,746.6000000001012,746.56476,2015-01-01 02:04:26,bin7466,35,False +CTSPillarNetworkA,7467,7467,7467,1990-06-12,746.7000000001012,746.66473,2015-01-01 02:04:27,bin7467,75,False +CTSPillarNetworkA,7468,7468,7468,1990-06-13,746.8000000001012,746.7647,2015-01-01 02:04:28,bin7468,35,False +CTSPillarNetworkA,7469,7469,7469,1990-06-14,746.9000000001013,746.8647,2015-01-01 02:04:29,bin7469,75,False +CTSPillarNetworkA,7470,7470,7470,1990-06-15,747.0000000001013,746.96466,2015-01-01 02:04:30,bin7470,35,False +CTSPillarNetworkA,7471,7471,7471,1990-06-16,747.1000000001013,747.06464,2015-01-01 02:04:31,bin7471,75,False +CTSPillarNetworkA,7472,7472,7472,1990-06-17,747.2000000001013,747.1646,2015-01-01 02:04:32,bin7472,35,False +CTSPillarNetworkA,7473,7473,7473,1990-06-18,747.3000000001014,747.2646,2015-01-01 02:04:33,bin7473,75,False +CTSPillarNetworkA,7474,7474,7474,1990-06-19,747.4000000001014,747.36456,2015-01-01 02:04:34,bin7474,35,False +CTSPillarNetworkA,7475,7475,7475,1990-06-20,747.5000000001014,747.46454,2015-01-01 02:04:35,bin7475,75,False +CTSPillarNetworkA,7476,7476,7476,1990-06-21,747.6000000001014,747.5645,2015-01-01 02:04:36,bin7476,35,False +CTSPillarNetworkA,7477,7477,7477,1990-06-22,747.7000000001015,747.6645,2015-01-01 02:04:37,bin7477,75,False +CTSPillarNetworkA,7478,7478,7478,1990-06-23,747.8000000001015,747.76447,2015-01-01 02:04:38,bin7478,35,False +CTSPillarNetworkA,7479,7479,7479,1990-06-24,747.9000000001015,747.86444,2015-01-01 02:04:39,bin7479,75,False +CTSPillarNetworkA,7480,7480,7480,1990-06-25,748.0000000001015,747.9644,2015-01-01 02:04:40,bin7480,35,False +CTSPillarNetworkA,7481,7481,7481,1990-06-26,748.1000000001015,748.0644,2015-01-01 02:04:41,bin7481,75,False +CTSPillarNetworkA,7482,7482,7482,1990-06-27,748.2000000001016,748.16437,2015-01-01 02:04:42,bin7482,35,False +CTSPillarNetworkA,7483,7483,7483,1990-06-28,748.3000000001016,748.26434,2015-01-01 02:04:43,bin7483,75,False +CTSPillarNetworkA,7484,7484,7484,1990-06-29,748.4000000001016,748.3643,2015-01-01 02:04:44,bin7484,35,False +CTSPillarNetworkA,7485,7485,7485,1990-06-30,748.5000000001016,748.4643,2015-01-01 02:04:45,bin7485,75,False +CTSPillarNetworkA,7486,7486,7486,1990-07-01,748.6000000001017,748.5643,2015-01-01 02:04:46,bin7486,35,False +CTSPillarNetworkA,7487,7487,7487,1990-07-02,748.7000000001017,748.66425,2015-01-01 02:04:47,bin7487,75,False +CTSPillarNetworkA,7488,7488,7488,1990-07-03,748.8000000001017,748.7642,2015-01-01 02:04:48,bin7488,35,False +CTSPillarNetworkA,7489,7489,7489,1990-07-04,748.9000000001017,748.8642,2015-01-01 02:04:49,bin7489,75,False +CTSPillarNetworkA,7490,7490,7490,1990-07-05,749.0000000001017,748.9642,2015-01-01 02:04:50,bin7490,35,False +CTSPillarNetworkA,7491,7491,7491,1990-07-06,749.1000000001018,749.06415,2015-01-01 02:04:51,bin7491,75,False +CTSPillarNetworkA,7492,7492,7492,1990-07-07,749.2000000001018,749.1641,2015-01-01 02:04:52,bin7492,35,False +CTSPillarNetworkA,7493,7493,7493,1990-07-08,749.3000000001018,749.2641,2015-01-01 02:04:53,bin7493,75,False +CTSPillarNetworkA,7494,7494,7494,1990-07-09,749.4000000001018,749.3641,2015-01-01 02:04:54,bin7494,35,False +CTSPillarNetworkA,7495,7495,7495,1990-07-10,749.5000000001019,749.46405,2015-01-01 02:04:55,bin7495,75,False +CTSPillarNetworkA,7496,7496,7496,1990-07-11,749.6000000001019,749.564,2015-01-01 02:04:56,bin7496,35,False +CTSPillarNetworkA,7497,7497,7497,1990-07-12,749.7000000001019,749.664,2015-01-01 02:04:57,bin7497,75,False +CTSPillarNetworkA,7498,7498,7498,1990-07-13,749.8000000001019,749.764,2015-01-01 02:04:58,bin7498,35,False +CTSPillarNetworkA,7499,7499,7499,1990-07-14,749.900000000102,749.86395,2015-01-01 02:04:59,bin7499,75,False +CTSPillarNetworkA,7500,7500,7500,1990-07-15,750.000000000102,749.9639,2015-01-01 02:05:00,bin7500,35,False +CTSPillarNetworkA,7501,7501,7501,1990-07-16,750.100000000102,750.0639,2015-01-01 02:05:01,bin7501,75,False +CTSPillarNetworkA,7502,7502,7502,1990-07-17,750.200000000102,750.1639,2015-01-01 02:05:02,bin7502,35,False +CTSPillarNetworkA,7503,7503,7503,1990-07-18,750.300000000102,750.26385,2015-01-01 02:05:03,bin7503,75,False +CTSPillarNetworkA,7504,7504,7504,1990-07-19,750.4000000001021,750.36383,2015-01-01 02:05:04,bin7504,35,False +CTSPillarNetworkA,7505,7505,7505,1990-07-20,750.5000000001021,750.4638,2015-01-01 02:05:05,bin7505,75,False +CTSPillarNetworkA,7506,7506,7506,1990-07-21,750.6000000001021,750.5638,2015-01-01 02:05:06,bin7506,35,False +CTSPillarNetworkA,7507,7507,7507,1990-07-22,750.7000000001021,750.66376,2015-01-01 02:05:07,bin7507,75,False +CTSPillarNetworkA,7508,7508,7508,1990-07-23,750.8000000001022,750.76373,2015-01-01 02:05:08,bin7508,35,False +CTSPillarNetworkA,7509,7509,7509,1990-07-24,750.9000000001022,750.8637,2015-01-01 02:05:09,bin7509,75,False +CTSPillarNetworkA,7510,7510,7510,1990-07-25,751.0000000001022,750.9637,2015-01-01 02:05:10,bin7510,35,False +CTSPillarNetworkA,7511,7511,7511,1990-07-26,751.1000000001022,751.06366,2015-01-01 02:05:11,bin7511,75,False +CTSPillarNetworkA,7512,7512,7512,1990-07-27,751.2000000001022,751.16364,2015-01-01 02:05:12,bin7512,35,False +CTSPillarNetworkA,7513,7513,7513,1990-07-28,751.3000000001023,751.2636,2015-01-01 02:05:13,bin7513,75,False +CTSPillarNetworkA,7514,7514,7514,1990-07-29,751.4000000001023,751.3636,2015-01-01 02:05:14,bin7514,35,False +CTSPillarNetworkA,7515,7515,7515,1990-07-30,751.5000000001023,751.46356,2015-01-01 02:05:15,bin7515,75,False +CTSPillarNetworkA,7516,7516,7516,1990-07-31,751.6000000001023,751.56354,2015-01-01 02:05:16,bin7516,35,False +CTSPillarNetworkA,7517,7517,7517,1990-08-01,751.7000000001024,751.6635,2015-01-01 02:05:17,bin7517,75,False +CTSPillarNetworkA,7518,7518,7518,1990-08-02,751.8000000001024,751.7635,2015-01-01 02:05:18,bin7518,35,False +CTSPillarNetworkA,7519,7519,7519,1990-08-03,751.9000000001024,751.86346,2015-01-01 02:05:19,bin7519,75,False +CTSPillarNetworkA,7520,7520,7520,1990-08-04,752.0000000001024,751.96344,2015-01-01 02:05:20,bin7520,35,False +CTSPillarNetworkA,7521,7521,7521,1990-08-05,752.1000000001025,752.0634,2015-01-01 02:05:21,bin7521,75,False +CTSPillarNetworkA,7522,7522,7522,1990-08-06,752.2000000001025,752.1634,2015-01-01 02:05:22,bin7522,35,False +CTSPillarNetworkA,7523,7523,7523,1990-08-07,752.3000000001025,752.26337,2015-01-01 02:05:23,bin7523,75,False +CTSPillarNetworkA,7524,7524,7524,1990-08-08,752.4000000001025,752.36334,2015-01-01 02:05:24,bin7524,35,False +CTSPillarNetworkA,7525,7525,7525,1990-08-09,752.5000000001025,752.4633,2015-01-01 02:05:25,bin7525,75,False +CTSPillarNetworkA,7526,7526,7526,1990-08-10,752.6000000001026,752.5633,2015-01-01 02:05:26,bin7526,35,False +CTSPillarNetworkA,7527,7527,7527,1990-08-11,752.7000000001026,752.66327,2015-01-01 02:05:27,bin7527,75,False +CTSPillarNetworkA,7528,7528,7528,1990-08-12,752.8000000001026,752.76324,2015-01-01 02:05:28,bin7528,35,False +CTSPillarNetworkA,7529,7529,7529,1990-08-13,752.9000000001026,752.8632,2015-01-01 02:05:29,bin7529,75,False +CTSPillarNetworkA,7530,7530,7530,1990-08-14,753.0000000001027,752.9632,2015-01-01 02:05:30,bin7530,35,False +CTSPillarNetworkA,7531,7531,7531,1990-08-15,753.1000000001027,753.0632,2015-01-01 02:05:31,bin7531,75,False +CTSPillarNetworkA,7532,7532,7532,1990-08-16,753.2000000001027,753.16315,2015-01-01 02:05:32,bin7532,35,False +CTSPillarNetworkA,7533,7533,7533,1990-08-17,753.3000000001027,753.2631,2015-01-01 02:05:33,bin7533,75,False +CTSPillarNetworkA,7534,7534,7534,1990-08-18,753.4000000001028,753.3631,2015-01-01 02:05:34,bin7534,35,False +CTSPillarNetworkA,7535,7535,7535,1990-08-19,753.5000000001028,753.4631,2015-01-01 02:05:35,bin7535,75,False +CTSPillarNetworkA,7536,7536,7536,1990-08-20,753.6000000001028,753.56305,2015-01-01 02:05:36,bin7536,35,False +CTSPillarNetworkA,7537,7537,7537,1990-08-21,753.7000000001028,753.663,2015-01-01 02:05:37,bin7537,75,False +CTSPillarNetworkA,7538,7538,7538,1990-08-22,753.8000000001028,753.763,2015-01-01 02:05:38,bin7538,35,False +CTSPillarNetworkA,7539,7539,7539,1990-08-23,753.9000000001029,753.863,2015-01-01 02:05:39,bin7539,75,False +CTSPillarNetworkA,7540,7540,7540,1990-08-24,754.0000000001029,753.96295,2015-01-01 02:05:40,bin7540,35,False +CTSPillarNetworkA,7541,7541,7541,1990-08-25,754.1000000001029,754.0629,2015-01-01 02:05:41,bin7541,75,False +CTSPillarNetworkA,7542,7542,7542,1990-08-26,754.2000000001029,754.1629,2015-01-01 02:05:42,bin7542,35,False +CTSPillarNetworkA,7543,7543,7543,1990-08-27,754.300000000103,754.2629,2015-01-01 02:05:43,bin7543,75,False +CTSPillarNetworkA,7544,7544,7544,1990-08-28,754.400000000103,754.36285,2015-01-01 02:05:44,bin7544,35,False +CTSPillarNetworkA,7545,7545,7545,1990-08-29,754.500000000103,754.4628,2015-01-01 02:05:45,bin7545,75,False +CTSPillarNetworkA,7546,7546,7546,1990-08-30,754.600000000103,754.5628,2015-01-01 02:05:46,bin7546,35,False +CTSPillarNetworkA,7547,7547,7547,1990-08-31,754.700000000103,754.6628,2015-01-01 02:05:47,bin7547,75,False +CTSPillarNetworkA,7548,7548,7548,1990-09-01,754.8000000001031,754.76276,2015-01-01 02:05:48,bin7548,35,False +CTSPillarNetworkA,7549,7549,7549,1990-09-02,754.9000000001031,754.86273,2015-01-01 02:05:49,bin7549,75,False +CTSPillarNetworkA,7550,7550,7550,1990-09-03,755.0000000001031,754.9627,2015-01-01 02:05:50,bin7550,35,False +CTSPillarNetworkA,7551,7551,7551,1990-09-04,755.1000000001031,755.0627,2015-01-01 02:05:51,bin7551,75,False +CTSPillarNetworkA,7552,7552,7552,1990-09-05,755.2000000001032,755.16266,2015-01-01 02:05:52,bin7552,35,False +CTSPillarNetworkA,7553,7553,7553,1990-09-06,755.3000000001032,755.26263,2015-01-01 02:05:53,bin7553,75,False +CTSPillarNetworkA,7554,7554,7554,1990-09-07,755.4000000001032,755.3626,2015-01-01 02:05:54,bin7554,35,False +CTSPillarNetworkA,7555,7555,7555,1990-09-08,755.5000000001032,755.4626,2015-01-01 02:05:55,bin7555,75,False +CTSPillarNetworkA,7556,7556,7556,1990-09-09,755.6000000001033,755.56256,2015-01-01 02:05:56,bin7556,35,False +CTSPillarNetworkA,7557,7557,7557,1990-09-10,755.7000000001033,755.66254,2015-01-01 02:05:57,bin7557,75,False +CTSPillarNetworkA,7558,7558,7558,1990-09-11,755.8000000001033,755.7625,2015-01-01 02:05:58,bin7558,35,False +CTSPillarNetworkA,7559,7559,7559,1990-09-12,755.9000000001033,755.8625,2015-01-01 02:05:59,bin7559,75,False +CTSPillarNetworkA,7560,7560,7560,1990-09-13,756.0000000001033,755.96246,2015-01-01 02:06:00,bin7560,35,False +CTSPillarNetworkA,7561,7561,7561,1990-09-14,756.1000000001034,756.06244,2015-01-01 02:06:01,bin7561,75,False +CTSPillarNetworkA,7562,7562,7562,1990-09-15,756.2000000001034,756.1624,2015-01-01 02:06:02,bin7562,35,False +CTSPillarNetworkA,7563,7563,7563,1990-09-16,756.3000000001034,756.2624,2015-01-01 02:06:03,bin7563,75,False +CTSPillarNetworkA,7564,7564,7564,1990-09-17,756.4000000001034,756.36237,2015-01-01 02:06:04,bin7564,35,False +CTSPillarNetworkA,7565,7565,7565,1990-09-18,756.5000000001035,756.46234,2015-01-01 02:06:05,bin7565,75,False +CTSPillarNetworkA,7566,7566,7566,1990-09-19,756.6000000001035,756.5623,2015-01-01 02:06:06,bin7566,35,False +CTSPillarNetworkA,7567,7567,7567,1990-09-20,756.7000000001035,756.6623,2015-01-01 02:06:07,bin7567,75,False +CTSPillarNetworkA,7568,7568,7568,1990-09-21,756.8000000001035,756.76227,2015-01-01 02:06:08,bin7568,35,False +CTSPillarNetworkA,7569,7569,7569,1990-09-22,756.9000000001035,756.86224,2015-01-01 02:06:09,bin7569,75,False +CTSPillarNetworkA,7570,7570,7570,1990-09-23,757.0000000001036,756.9622,2015-01-01 02:06:10,bin7570,35,False +CTSPillarNetworkA,7571,7571,7571,1990-09-24,757.1000000001036,757.0622,2015-01-01 02:06:11,bin7571,75,False +CTSPillarNetworkA,7572,7572,7572,1990-09-25,757.2000000001036,757.1622,2015-01-01 02:06:12,bin7572,35,False +CTSPillarNetworkA,7573,7573,7573,1990-09-26,757.3000000001036,757.26215,2015-01-01 02:06:13,bin7573,75,False +CTSPillarNetworkA,7574,7574,7574,1990-09-27,757.4000000001037,757.3621,2015-01-01 02:06:14,bin7574,35,False +CTSPillarNetworkA,7575,7575,7575,1990-09-28,757.5000000001037,757.4621,2015-01-01 02:06:15,bin7575,75,False +CTSPillarNetworkA,7576,7576,7576,1990-09-29,757.6000000001037,757.5621,2015-01-01 02:06:16,bin7576,35,False +CTSPillarNetworkA,7577,7577,7577,1990-09-30,757.7000000001037,757.66205,2015-01-01 02:06:17,bin7577,75,False +CTSPillarNetworkA,7578,7578,7578,1990-10-01,757.8000000001038,757.762,2015-01-01 02:06:18,bin7578,35,False +CTSPillarNetworkA,7579,7579,7579,1990-10-02,757.9000000001038,757.862,2015-01-01 02:06:19,bin7579,75,False +CTSPillarNetworkA,7580,7580,7580,1990-10-03,758.0000000001038,757.962,2015-01-01 02:06:20,bin7580,35,False +CTSPillarNetworkA,7581,7581,7581,1990-10-04,758.1000000001038,758.06195,2015-01-01 02:06:21,bin7581,75,False +CTSPillarNetworkA,7582,7582,7582,1990-10-05,758.2000000001038,758.1619,2015-01-01 02:06:22,bin7582,35,False +CTSPillarNetworkA,7583,7583,7583,1990-10-06,758.3000000001039,758.2619,2015-01-01 02:06:23,bin7583,75,False +CTSPillarNetworkA,7584,7584,7584,1990-10-07,758.4000000001039,758.3619,2015-01-01 02:06:24,bin7584,35,False +CTSPillarNetworkA,7585,7585,7585,1990-10-08,758.5000000001039,758.46185,2015-01-01 02:06:25,bin7585,75,False +CTSPillarNetworkA,7586,7586,7586,1990-10-09,758.6000000001039,758.5618,2015-01-01 02:06:26,bin7586,35,False +CTSPillarNetworkA,7587,7587,7587,1990-10-10,758.700000000104,758.6618,2015-01-01 02:06:27,bin7587,75,False +CTSPillarNetworkA,7588,7588,7588,1990-10-11,758.800000000104,758.7618,2015-01-01 02:06:28,bin7588,35,False +CTSPillarNetworkA,7589,7589,7589,1990-10-12,758.900000000104,758.86176,2015-01-01 02:06:29,bin7589,75,False +CTSPillarNetworkA,7590,7590,7590,1990-10-13,759.000000000104,758.96173,2015-01-01 02:06:30,bin7590,35,False +CTSPillarNetworkA,7591,7591,7591,1990-10-14,759.100000000104,759.0617,2015-01-01 02:06:31,bin7591,75,False +CTSPillarNetworkA,7592,7592,7592,1990-10-15,759.2000000001041,759.1617,2015-01-01 02:06:32,bin7592,35,False +CTSPillarNetworkA,7593,7593,7593,1990-10-16,759.3000000001041,759.26166,2015-01-01 02:06:33,bin7593,75,False +CTSPillarNetworkA,7594,7594,7594,1990-10-17,759.4000000001041,759.36163,2015-01-01 02:06:34,bin7594,35,False +CTSPillarNetworkA,7595,7595,7595,1990-10-18,759.5000000001041,759.4616,2015-01-01 02:06:35,bin7595,75,False +CTSPillarNetworkA,7596,7596,7596,1990-10-19,759.6000000001042,759.5616,2015-01-01 02:06:36,bin7596,35,False +CTSPillarNetworkA,7597,7597,7597,1990-10-20,759.7000000001042,759.66156,2015-01-01 02:06:37,bin7597,75,False +CTSPillarNetworkA,7598,7598,7598,1990-10-21,759.8000000001042,759.76154,2015-01-01 02:06:38,bin7598,35,False +CTSPillarNetworkA,7599,7599,7599,1990-10-22,759.9000000001042,759.8615,2015-01-01 02:06:39,bin7599,75,False +CTSPillarNetworkA,7600,7600,7600,1990-10-23,760.0000000001043,759.9615,2015-01-01 02:06:40,bin7600,35,False +CTSPillarNetworkA,7601,7601,7601,1990-10-24,760.1000000001043,760.06146,2015-01-01 02:06:41,bin7601,75,False +CTSPillarNetworkA,7602,7602,7602,1990-10-25,760.2000000001043,760.16144,2015-01-01 02:06:42,bin7602,35,False +CTSPillarNetworkA,7603,7603,7603,1990-10-26,760.3000000001043,760.2614,2015-01-01 02:06:43,bin7603,75,False +CTSPillarNetworkA,7604,7604,7604,1990-10-27,760.4000000001043,760.3614,2015-01-01 02:06:44,bin7604,35,False +CTSPillarNetworkA,7605,7605,7605,1990-10-28,760.5000000001044,760.46136,2015-01-01 02:06:45,bin7605,75,False +CTSPillarNetworkA,7606,7606,7606,1990-10-29,760.6000000001044,760.56134,2015-01-01 02:06:46,bin7606,35,False +CTSPillarNetworkA,7607,7607,7607,1990-10-30,760.7000000001044,760.6613,2015-01-01 02:06:47,bin7607,75,False +CTSPillarNetworkA,7608,7608,7608,1990-10-31,760.8000000001044,760.7613,2015-01-01 02:06:48,bin7608,35,False +CTSPillarNetworkA,7609,7609,7609,1990-11-01,760.9000000001045,760.86127,2015-01-01 02:06:49,bin7609,75,False +CTSPillarNetworkA,7610,7610,7610,1990-11-02,761.0000000001045,760.96124,2015-01-01 02:06:50,bin7610,35,False +CTSPillarNetworkA,7611,7611,7611,1990-11-03,761.1000000001045,761.0612,2015-01-01 02:06:51,bin7611,75,False +CTSPillarNetworkA,7612,7612,7612,1990-11-04,761.2000000001045,761.1612,2015-01-01 02:06:52,bin7612,35,False +CTSPillarNetworkA,7613,7613,7613,1990-11-05,761.3000000001045,761.26117,2015-01-01 02:06:53,bin7613,75,False +CTSPillarNetworkA,7614,7614,7614,1990-11-06,761.4000000001046,761.36115,2015-01-01 02:06:54,bin7614,35,False +CTSPillarNetworkA,7615,7615,7615,1990-11-07,761.5000000001046,761.4611,2015-01-01 02:06:55,bin7615,75,False +CTSPillarNetworkA,7616,7616,7616,1990-11-08,761.6000000001046,761.5611,2015-01-01 02:06:56,bin7616,35,False +CTSPillarNetworkA,7617,7617,7617,1990-11-09,761.7000000001046,761.6611,2015-01-01 02:06:57,bin7617,75,False +CTSPillarNetworkA,7618,7618,7618,1990-11-10,761.8000000001047,761.76105,2015-01-01 02:06:58,bin7618,35,False +CTSPillarNetworkA,7619,7619,7619,1990-11-11,761.9000000001047,761.861,2015-01-01 02:06:59,bin7619,75,False +CTSPillarNetworkA,7620,7620,7620,1990-11-12,762.0000000001047,761.961,2015-01-01 02:07:00,bin7620,35,False +CTSPillarNetworkA,7621,7621,7621,1990-11-13,762.1000000001047,762.061,2015-01-01 02:07:01,bin7621,75,False +CTSPillarNetworkA,7622,7622,7622,1990-11-14,762.2000000001048,762.16095,2015-01-01 02:07:02,bin7622,35,False +CTSPillarNetworkA,7623,7623,7623,1990-11-15,762.3000000001048,762.2609,2015-01-01 02:07:03,bin7623,75,False +CTSPillarNetworkA,7624,7624,7624,1990-11-16,762.4000000001048,762.3609,2015-01-01 02:07:04,bin7624,35,False +CTSPillarNetworkA,7625,7625,7625,1990-11-17,762.5000000001048,762.4609,2015-01-01 02:07:05,bin7625,75,False +CTSPillarNetworkA,7626,7626,7626,1990-11-18,762.6000000001048,762.56085,2015-01-01 02:07:06,bin7626,35,False +CTSPillarNetworkA,7627,7627,7627,1990-11-19,762.7000000001049,762.6608,2015-01-01 02:07:07,bin7627,75,False +CTSPillarNetworkA,7628,7628,7628,1990-11-20,762.8000000001049,762.7608,2015-01-01 02:07:08,bin7628,35,False +CTSPillarNetworkA,7629,7629,7629,1990-11-21,762.9000000001049,762.8608,2015-01-01 02:07:09,bin7629,75,False +CTSPillarNetworkA,7630,7630,7630,1990-11-22,763.0000000001049,762.96075,2015-01-01 02:07:10,bin7630,35,False +CTSPillarNetworkA,7631,7631,7631,1990-11-23,763.100000000105,763.0607,2015-01-01 02:07:11,bin7631,75,False +CTSPillarNetworkA,7632,7632,7632,1990-11-24,763.200000000105,763.1607,2015-01-01 02:07:12,bin7632,35,False +CTSPillarNetworkA,7633,7633,7633,1990-11-25,763.300000000105,763.2607,2015-01-01 02:07:13,bin7633,75,False +CTSPillarNetworkA,7634,7634,7634,1990-11-26,763.400000000105,763.36066,2015-01-01 02:07:14,bin7634,35,False +CTSPillarNetworkA,7635,7635,7635,1990-11-27,763.500000000105,763.46063,2015-01-01 02:07:15,bin7635,75,False +CTSPillarNetworkA,7636,7636,7636,1990-11-28,763.6000000001051,763.5606,2015-01-01 02:07:16,bin7636,35,False +CTSPillarNetworkA,7637,7637,7637,1990-11-29,763.7000000001051,763.6606,2015-01-01 02:07:17,bin7637,75,False +CTSPillarNetworkA,7638,7638,7638,1990-11-30,763.8000000001051,763.76056,2015-01-01 02:07:18,bin7638,35,False +CTSPillarNetworkA,7639,7639,7639,1990-12-01,763.9000000001051,763.86053,2015-01-01 02:07:19,bin7639,75,False +CTSPillarNetworkA,7640,7640,7640,1990-12-02,764.0000000001052,763.9605,2015-01-01 02:07:20,bin7640,35,False +CTSPillarNetworkA,7641,7641,7641,1990-12-03,764.1000000001052,764.0605,2015-01-01 02:07:21,bin7641,75,False +CTSPillarNetworkA,7642,7642,7642,1990-12-04,764.2000000001052,764.16046,2015-01-01 02:07:22,bin7642,35,False +CTSPillarNetworkA,7643,7643,7643,1990-12-05,764.3000000001052,764.26044,2015-01-01 02:07:23,bin7643,75,False +CTSPillarNetworkA,7644,7644,7644,1990-12-06,764.4000000001053,764.3604,2015-01-01 02:07:24,bin7644,35,False +CTSPillarNetworkA,7645,7645,7645,1990-12-07,764.5000000001053,764.4604,2015-01-01 02:07:25,bin7645,75,False +CTSPillarNetworkA,7646,7646,7646,1990-12-08,764.6000000001053,764.56036,2015-01-01 02:07:26,bin7646,35,False +CTSPillarNetworkA,7647,7647,7647,1990-12-09,764.7000000001053,764.66034,2015-01-01 02:07:27,bin7647,75,False +CTSPillarNetworkA,7648,7648,7648,1990-12-10,764.8000000001053,764.7603,2015-01-01 02:07:28,bin7648,35,False +CTSPillarNetworkA,7649,7649,7649,1990-12-11,764.9000000001054,764.8603,2015-01-01 02:07:29,bin7649,75,False +CTSPillarNetworkA,7650,7650,7650,1990-12-12,765.0000000001054,764.96027,2015-01-01 02:07:30,bin7650,35,False +CTSPillarNetworkA,7651,7651,7651,1990-12-13,765.1000000001054,765.06024,2015-01-01 02:07:31,bin7651,75,False +CTSPillarNetworkA,7652,7652,7652,1990-12-14,765.2000000001054,765.1602,2015-01-01 02:07:32,bin7652,35,False +CTSPillarNetworkA,7653,7653,7653,1990-12-15,765.3000000001055,765.2602,2015-01-01 02:07:33,bin7653,75,False +CTSPillarNetworkA,7654,7654,7654,1990-12-16,765.4000000001055,765.36017,2015-01-01 02:07:34,bin7654,35,False +CTSPillarNetworkA,7655,7655,7655,1990-12-17,765.5000000001055,765.46014,2015-01-01 02:07:35,bin7655,75,False +CTSPillarNetworkA,7656,7656,7656,1990-12-18,765.6000000001055,765.5601,2015-01-01 02:07:36,bin7656,35,False +CTSPillarNetworkA,7657,7657,7657,1990-12-19,765.7000000001055,765.6601,2015-01-01 02:07:37,bin7657,75,False +CTSPillarNetworkA,7658,7658,7658,1990-12-20,765.8000000001056,765.7601,2015-01-01 02:07:38,bin7658,35,False +CTSPillarNetworkA,7659,7659,7659,1990-12-21,765.9000000001056,765.86005,2015-01-01 02:07:39,bin7659,75,False +CTSPillarNetworkA,7660,7660,7660,1990-12-22,766.0000000001056,765.96,2015-01-01 02:07:40,bin7660,35,False +CTSPillarNetworkA,7661,7661,7661,1990-12-23,766.1000000001056,766.06,2015-01-01 02:07:41,bin7661,75,False +CTSPillarNetworkA,7662,7662,7662,1990-12-24,766.2000000001057,766.16,2015-01-01 02:07:42,bin7662,35,False +CTSPillarNetworkA,7663,7663,7663,1990-12-25,766.3000000001057,766.25995,2015-01-01 02:07:43,bin7663,75,False +CTSPillarNetworkA,7664,7664,7664,1990-12-26,766.4000000001057,766.3599,2015-01-01 02:07:44,bin7664,35,False +CTSPillarNetworkA,7665,7665,7665,1990-12-27,766.5000000001057,766.4599,2015-01-01 02:07:45,bin7665,75,False +CTSPillarNetworkA,7666,7666,7666,1990-12-28,766.6000000001058,766.5599,2015-01-01 02:07:46,bin7666,35,False +CTSPillarNetworkA,7667,7667,7667,1990-12-29,766.7000000001058,766.65985,2015-01-01 02:07:47,bin7667,75,False +CTSPillarNetworkA,7668,7668,7668,1990-12-30,766.8000000001058,766.7598,2015-01-01 02:07:48,bin7668,35,False +CTSPillarNetworkA,7669,7669,7669,1990-12-31,766.9000000001058,766.8598,2015-01-01 02:07:49,bin7669,75,False +CTSPillarNetworkA,7670,7670,7670,1991-01-01,767.0000000001058,766.9598,2015-01-01 02:07:50,bin7670,35,False +CTSPillarNetworkA,7671,7671,7671,1991-01-02,767.1000000001059,767.05975,2015-01-01 02:07:51,bin7671,75,False +CTSPillarNetworkA,7672,7672,7672,1991-01-03,767.2000000001059,767.1597,2015-01-01 02:07:52,bin7672,35,False +CTSPillarNetworkA,7673,7673,7673,1991-01-04,767.3000000001059,767.2597,2015-01-01 02:07:53,bin7673,75,False +CTSPillarNetworkA,7674,7674,7674,1991-01-05,767.4000000001059,767.3597,2015-01-01 02:07:54,bin7674,35,False +CTSPillarNetworkA,7675,7675,7675,1991-01-06,767.500000000106,767.45966,2015-01-01 02:07:55,bin7675,75,False +CTSPillarNetworkA,7676,7676,7676,1991-01-07,767.600000000106,767.55963,2015-01-01 02:07:56,bin7676,35,False +CTSPillarNetworkA,7677,7677,7677,1991-01-08,767.700000000106,767.6596,2015-01-01 02:07:57,bin7677,75,False +CTSPillarNetworkA,7678,7678,7678,1991-01-09,767.800000000106,767.7596,2015-01-01 02:07:58,bin7678,35,False +CTSPillarNetworkA,7679,7679,7679,1991-01-10,767.900000000106,767.85956,2015-01-01 02:07:59,bin7679,75,False +CTSPillarNetworkA,7680,7680,7680,1991-01-11,768.0000000001061,767.95953,2015-01-01 02:08:00,bin7680,35,False +CTSPillarNetworkA,7681,7681,7681,1991-01-12,768.1000000001061,768.0595,2015-01-01 02:08:01,bin7681,75,False +CTSPillarNetworkA,7682,7682,7682,1991-01-13,768.2000000001061,768.1595,2015-01-01 02:08:02,bin7682,35,False +CTSPillarNetworkA,7683,7683,7683,1991-01-14,768.3000000001061,768.25946,2015-01-01 02:08:03,bin7683,75,False +CTSPillarNetworkA,7684,7684,7684,1991-01-15,768.4000000001062,768.35944,2015-01-01 02:08:04,bin7684,35,False +CTSPillarNetworkA,7685,7685,7685,1991-01-16,768.5000000001062,768.4594,2015-01-01 02:08:05,bin7685,75,False +CTSPillarNetworkA,7686,7686,7686,1991-01-17,768.6000000001062,768.5594,2015-01-01 02:08:06,bin7686,35,False +CTSPillarNetworkA,7687,7687,7687,1991-01-18,768.7000000001062,768.65936,2015-01-01 02:08:07,bin7687,75,False +CTSPillarNetworkA,7688,7688,7688,1991-01-19,768.8000000001063,768.75934,2015-01-01 02:08:08,bin7688,35,False +CTSPillarNetworkA,7689,7689,7689,1991-01-20,768.9000000001063,768.8593,2015-01-01 02:08:09,bin7689,75,False +CTSPillarNetworkA,7690,7690,7690,1991-01-21,769.0000000001063,768.9593,2015-01-01 02:08:10,bin7690,35,False +CTSPillarNetworkA,7691,7691,7691,1991-01-22,769.1000000001063,769.05927,2015-01-01 02:08:11,bin7691,75,False +CTSPillarNetworkA,7692,7692,7692,1991-01-23,769.2000000001063,769.15924,2015-01-01 02:08:12,bin7692,35,False +CTSPillarNetworkA,7693,7693,7693,1991-01-24,769.3000000001064,769.2592,2015-01-01 02:08:13,bin7693,75,False +CTSPillarNetworkA,7694,7694,7694,1991-01-25,769.4000000001064,769.3592,2015-01-01 02:08:14,bin7694,35,False +CTSPillarNetworkA,7695,7695,7695,1991-01-26,769.5000000001064,769.45917,2015-01-01 02:08:15,bin7695,75,False +CTSPillarNetworkA,7696,7696,7696,1991-01-27,769.6000000001064,769.55914,2015-01-01 02:08:16,bin7696,35,False +CTSPillarNetworkA,7697,7697,7697,1991-01-28,769.7000000001065,769.6591,2015-01-01 02:08:17,bin7697,75,False +CTSPillarNetworkA,7698,7698,7698,1991-01-29,769.8000000001065,769.7591,2015-01-01 02:08:18,bin7698,35,False +CTSPillarNetworkA,7699,7699,7699,1991-01-30,769.9000000001065,769.8591,2015-01-01 02:08:19,bin7699,75,False +CTSPillarNetworkA,7700,7700,7700,1991-01-31,770.0000000001065,769.95905,2015-01-01 02:08:20,bin7700,35,False +CTSPillarNetworkA,7701,7701,7701,1991-02-01,770.1000000001065,770.059,2015-01-01 02:08:21,bin7701,75,False +CTSPillarNetworkA,7702,7702,7702,1991-02-02,770.2000000001066,770.159,2015-01-01 02:08:22,bin7702,35,False +CTSPillarNetworkA,7703,7703,7703,1991-02-03,770.3000000001066,770.259,2015-01-01 02:08:23,bin7703,75,False +CTSPillarNetworkA,7704,7704,7704,1991-02-04,770.4000000001066,770.35895,2015-01-01 02:08:24,bin7704,35,False +CTSPillarNetworkA,7705,7705,7705,1991-02-05,770.5000000001066,770.4589,2015-01-01 02:08:25,bin7705,75,False +CTSPillarNetworkA,7706,7706,7706,1991-02-06,770.6000000001067,770.5589,2015-01-01 02:08:26,bin7706,35,False +CTSPillarNetworkA,7707,7707,7707,1991-02-07,770.7000000001067,770.6589,2015-01-01 02:08:27,bin7707,75,False +CTSPillarNetworkA,7708,7708,7708,1991-02-08,770.8000000001067,770.75885,2015-01-01 02:08:28,bin7708,35,False +CTSPillarNetworkA,7709,7709,7709,1991-02-09,770.9000000001067,770.8588,2015-01-01 02:08:29,bin7709,75,False +CTSPillarNetworkA,7710,7710,7710,1991-02-10,771.0000000001068,770.9588,2015-01-01 02:08:30,bin7710,35,False +CTSPillarNetworkA,7711,7711,7711,1991-02-11,771.1000000001068,771.0588,2015-01-01 02:08:31,bin7711,75,False +CTSPillarNetworkA,7712,7712,7712,1991-02-12,771.2000000001068,771.15875,2015-01-01 02:08:32,bin7712,35,False +CTSPillarNetworkA,7713,7713,7713,1991-02-13,771.3000000001068,771.2587,2015-01-01 02:08:33,bin7713,75,False +CTSPillarNetworkA,7714,7714,7714,1991-02-14,771.4000000001068,771.3587,2015-01-01 02:08:34,bin7714,35,False +CTSPillarNetworkA,7715,7715,7715,1991-02-15,771.5000000001069,771.4587,2015-01-01 02:08:35,bin7715,75,False +CTSPillarNetworkA,7716,7716,7716,1991-02-16,771.6000000001069,771.55865,2015-01-01 02:08:36,bin7716,35,False +CTSPillarNetworkA,7717,7717,7717,1991-02-17,771.7000000001069,771.6586,2015-01-01 02:08:37,bin7717,75,False +CTSPillarNetworkA,7718,7718,7718,1991-02-18,771.8000000001069,771.7586,2015-01-01 02:08:38,bin7718,35,False +CTSPillarNetworkA,7719,7719,7719,1991-02-19,771.900000000107,771.8586,2015-01-01 02:08:39,bin7719,75,False +CTSPillarNetworkA,7720,7720,7720,1991-02-20,772.000000000107,771.95856,2015-01-01 02:08:40,bin7720,35,False +CTSPillarNetworkA,7721,7721,7721,1991-02-21,772.100000000107,772.05853,2015-01-01 02:08:41,bin7721,75,False +CTSPillarNetworkA,7722,7722,7722,1991-02-22,772.200000000107,772.1585,2015-01-01 02:08:42,bin7722,35,False +CTSPillarNetworkA,7723,7723,7723,1991-02-23,772.300000000107,772.2585,2015-01-01 02:08:43,bin7723,75,False +CTSPillarNetworkA,7724,7724,7724,1991-02-24,772.4000000001071,772.35846,2015-01-01 02:08:44,bin7724,35,False +CTSPillarNetworkA,7725,7725,7725,1991-02-25,772.5000000001071,772.45844,2015-01-01 02:08:45,bin7725,75,False +CTSPillarNetworkA,7726,7726,7726,1991-02-26,772.6000000001071,772.5584,2015-01-01 02:08:46,bin7726,35,False +CTSPillarNetworkA,7727,7727,7727,1991-02-27,772.7000000001071,772.6584,2015-01-01 02:08:47,bin7727,75,False +CTSPillarNetworkA,7728,7728,7728,1991-02-28,772.8000000001072,772.75836,2015-01-01 02:08:48,bin7728,35,False +CTSPillarNetworkA,7729,7729,7729,1991-03-01,772.9000000001072,772.85834,2015-01-01 02:08:49,bin7729,75,False +CTSPillarNetworkA,7730,7730,7730,1991-03-02,773.0000000001072,772.9583,2015-01-01 02:08:50,bin7730,35,False +CTSPillarNetworkA,7731,7731,7731,1991-03-03,773.1000000001072,773.0583,2015-01-01 02:08:51,bin7731,75,False +CTSPillarNetworkA,7732,7732,7732,1991-03-04,773.2000000001073,773.15826,2015-01-01 02:08:52,bin7732,35,False +CTSPillarNetworkA,7733,7733,7733,1991-03-05,773.3000000001073,773.25824,2015-01-01 02:08:53,bin7733,75,False +CTSPillarNetworkA,7734,7734,7734,1991-03-06,773.4000000001073,773.3582,2015-01-01 02:08:54,bin7734,35,False +CTSPillarNetworkA,7735,7735,7735,1991-03-07,773.5000000001073,773.4582,2015-01-01 02:08:55,bin7735,75,False +CTSPillarNetworkA,7736,7736,7736,1991-03-08,773.6000000001073,773.55817,2015-01-01 02:08:56,bin7736,35,False +CTSPillarNetworkA,7737,7737,7737,1991-03-09,773.7000000001074,773.65814,2015-01-01 02:08:57,bin7737,75,False +CTSPillarNetworkA,7738,7738,7738,1991-03-10,773.8000000001074,773.7581,2015-01-01 02:08:58,bin7738,35,False +CTSPillarNetworkA,7739,7739,7739,1991-03-11,773.9000000001074,773.8581,2015-01-01 02:08:59,bin7739,75,False +CTSPillarNetworkA,7740,7740,7740,1991-03-12,774.0000000001074,773.95807,2015-01-01 02:09:00,bin7740,35,False +CTSPillarNetworkA,7741,7741,7741,1991-03-13,774.1000000001075,774.05804,2015-01-01 02:09:01,bin7741,75,False +CTSPillarNetworkA,7742,7742,7742,1991-03-14,774.2000000001075,774.158,2015-01-01 02:09:02,bin7742,35,False +CTSPillarNetworkA,7743,7743,7743,1991-03-15,774.3000000001075,774.258,2015-01-01 02:09:03,bin7743,75,False +CTSPillarNetworkA,7744,7744,7744,1991-03-16,774.4000000001075,774.358,2015-01-01 02:09:04,bin7744,35,False +CTSPillarNetworkA,7745,7745,7745,1991-03-17,774.5000000001075,774.45795,2015-01-01 02:09:05,bin7745,75,False +CTSPillarNetworkA,7746,7746,7746,1991-03-18,774.6000000001076,774.5579,2015-01-01 02:09:06,bin7746,35,False +CTSPillarNetworkA,7747,7747,7747,1991-03-19,774.7000000001076,774.6579,2015-01-01 02:09:07,bin7747,75,False +CTSPillarNetworkA,7748,7748,7748,1991-03-20,774.8000000001076,774.7579,2015-01-01 02:09:08,bin7748,35,False +CTSPillarNetworkA,7749,7749,7749,1991-03-21,774.9000000001076,774.85785,2015-01-01 02:09:09,bin7749,75,False +CTSPillarNetworkA,7750,7750,7750,1991-03-22,775.0000000001077,774.9578,2015-01-01 02:09:10,bin7750,35,False +CTSPillarNetworkA,7751,7751,7751,1991-03-23,775.1000000001077,775.0578,2015-01-01 02:09:11,bin7751,75,False +CTSPillarNetworkA,7752,7752,7752,1991-03-24,775.2000000001077,775.1578,2015-01-01 02:09:12,bin7752,35,False +CTSPillarNetworkA,7753,7753,7753,1991-03-25,775.3000000001077,775.25775,2015-01-01 02:09:13,bin7753,75,False +CTSPillarNetworkA,7754,7754,7754,1991-03-26,775.4000000001078,775.3577,2015-01-01 02:09:14,bin7754,35,False +CTSPillarNetworkA,7755,7755,7755,1991-03-27,775.5000000001078,775.4577,2015-01-01 02:09:15,bin7755,75,False +CTSPillarNetworkA,7756,7756,7756,1991-03-28,775.6000000001078,775.5577,2015-01-01 02:09:16,bin7756,35,False +CTSPillarNetworkA,7757,7757,7757,1991-03-29,775.7000000001078,775.65765,2015-01-01 02:09:17,bin7757,75,False +CTSPillarNetworkA,7758,7758,7758,1991-03-30,775.8000000001078,775.7576,2015-01-01 02:09:18,bin7758,35,False +CTSPillarNetworkA,7759,7759,7759,1991-03-31,775.9000000001079,775.8576,2015-01-01 02:09:19,bin7759,75,False +CTSPillarNetworkA,7760,7760,7760,1991-04-01,776.0000000001079,775.9576,2015-01-01 02:09:20,bin7760,35,False +CTSPillarNetworkA,7761,7761,7761,1991-04-02,776.1000000001079,776.05756,2015-01-01 02:09:21,bin7761,75,False +CTSPillarNetworkA,7762,7762,7762,1991-04-03,776.2000000001079,776.15753,2015-01-01 02:09:22,bin7762,35,False +CTSPillarNetworkA,7763,7763,7763,1991-04-04,776.300000000108,776.2575,2015-01-01 02:09:23,bin7763,75,False +CTSPillarNetworkA,7764,7764,7764,1991-04-05,776.400000000108,776.3575,2015-01-01 02:09:24,bin7764,35,False +CTSPillarNetworkA,7765,7765,7765,1991-04-06,776.500000000108,776.45746,2015-01-01 02:09:25,bin7765,75,False +CTSPillarNetworkA,7766,7766,7766,1991-04-07,776.600000000108,776.55743,2015-01-01 02:09:26,bin7766,35,False +CTSPillarNetworkA,7767,7767,7767,1991-04-08,776.700000000108,776.6574,2015-01-01 02:09:27,bin7767,75,False +CTSPillarNetworkA,7768,7768,7768,1991-04-09,776.8000000001081,776.7574,2015-01-01 02:09:28,bin7768,35,False +CTSPillarNetworkA,7769,7769,7769,1991-04-10,776.9000000001081,776.85736,2015-01-01 02:09:29,bin7769,75,False +CTSPillarNetworkA,7770,7770,7770,1991-04-11,777.0000000001081,776.95734,2015-01-01 02:09:30,bin7770,35,False +CTSPillarNetworkA,7771,7771,7771,1991-04-12,777.1000000001081,777.0573,2015-01-01 02:09:31,bin7771,75,False +CTSPillarNetworkA,7772,7772,7772,1991-04-13,777.2000000001082,777.1573,2015-01-01 02:09:32,bin7772,35,False +CTSPillarNetworkA,7773,7773,7773,1991-04-14,777.3000000001082,777.25726,2015-01-01 02:09:33,bin7773,75,False +CTSPillarNetworkA,7774,7774,7774,1991-04-15,777.4000000001082,777.35724,2015-01-01 02:09:34,bin7774,35,False +CTSPillarNetworkA,7775,7775,7775,1991-04-16,777.5000000001082,777.4572,2015-01-01 02:09:35,bin7775,75,False +CTSPillarNetworkA,7776,7776,7776,1991-04-17,777.6000000001083,777.5572,2015-01-01 02:09:36,bin7776,35,False +CTSPillarNetworkA,7777,7777,7777,1991-04-18,777.7000000001083,777.65717,2015-01-01 02:09:37,bin7777,75,False +CTSPillarNetworkA,7778,7778,7778,1991-04-19,777.8000000001083,777.75714,2015-01-01 02:09:38,bin7778,35,False +CTSPillarNetworkA,7779,7779,7779,1991-04-20,777.9000000001083,777.8571,2015-01-01 02:09:39,bin7779,75,False +CTSPillarNetworkA,7780,7780,7780,1991-04-21,778.0000000001083,777.9571,2015-01-01 02:09:40,bin7780,35,False +CTSPillarNetworkA,7781,7781,7781,1991-04-22,778.1000000001084,778.05707,2015-01-01 02:09:41,bin7781,75,False +CTSPillarNetworkA,7782,7782,7782,1991-04-23,778.2000000001084,778.15704,2015-01-01 02:09:42,bin7782,35,False +CTSPillarNetworkA,7783,7783,7783,1991-04-24,778.3000000001084,778.257,2015-01-01 02:09:43,bin7783,75,False +CTSPillarNetworkA,7784,7784,7784,1991-04-25,778.4000000001084,778.357,2015-01-01 02:09:44,bin7784,35,False +CTSPillarNetworkA,7785,7785,7785,1991-04-26,778.5000000001085,778.457,2015-01-01 02:09:45,bin7785,75,False +CTSPillarNetworkA,7786,7786,7786,1991-04-27,778.6000000001085,778.55695,2015-01-01 02:09:46,bin7786,35,False +CTSPillarNetworkA,7787,7787,7787,1991-04-28,778.7000000001085,778.6569,2015-01-01 02:09:47,bin7787,75,False +CTSPillarNetworkA,7788,7788,7788,1991-04-29,778.8000000001085,778.7569,2015-01-01 02:09:48,bin7788,35,False +CTSPillarNetworkA,7789,7789,7789,1991-04-30,778.9000000001085,778.8569,2015-01-01 02:09:49,bin7789,75,False +CTSPillarNetworkA,7790,7790,7790,1991-05-01,779.0000000001086,778.95685,2015-01-01 02:09:50,bin7790,35,False +CTSPillarNetworkA,7791,7791,7791,1991-05-02,779.1000000001086,779.0568,2015-01-01 02:09:51,bin7791,75,False +CTSPillarNetworkA,7792,7792,7792,1991-05-03,779.2000000001086,779.1568,2015-01-01 02:09:52,bin7792,35,False +CTSPillarNetworkA,7793,7793,7793,1991-05-04,779.3000000001086,779.2568,2015-01-01 02:09:53,bin7793,75,False +CTSPillarNetworkA,7794,7794,7794,1991-05-05,779.4000000001087,779.35675,2015-01-01 02:09:54,bin7794,35,False +CTSPillarNetworkA,7795,7795,7795,1991-05-06,779.5000000001087,779.4567,2015-01-01 02:09:55,bin7795,75,False +CTSPillarNetworkA,7796,7796,7796,1991-05-07,779.6000000001087,779.5567,2015-01-01 02:09:56,bin7796,35,False +CTSPillarNetworkA,7797,7797,7797,1991-05-08,779.7000000001087,779.6567,2015-01-01 02:09:57,bin7797,75,False +CTSPillarNetworkA,7798,7798,7798,1991-05-09,779.8000000001088,779.75665,2015-01-01 02:09:58,bin7798,35,False +CTSPillarNetworkA,7799,7799,7799,1991-05-10,779.9000000001088,779.8566,2015-01-01 02:09:59,bin7799,75,False +CTSPillarNetworkA,7800,7800,7800,1991-05-11,780.0000000001088,779.9566,2015-01-01 02:10:00,bin7800,35,False +CTSPillarNetworkA,7801,7801,7801,1991-05-12,780.1000000001088,780.0566,2015-01-01 02:10:01,bin7801,75,False +CTSPillarNetworkA,7802,7802,7802,1991-05-13,780.2000000001088,780.15656,2015-01-01 02:10:02,bin7802,35,False +CTSPillarNetworkA,7803,7803,7803,1991-05-14,780.3000000001089,780.25653,2015-01-01 02:10:03,bin7803,75,False +CTSPillarNetworkA,7804,7804,7804,1991-05-15,780.4000000001089,780.3565,2015-01-01 02:10:04,bin7804,35,False +CTSPillarNetworkA,7805,7805,7805,1991-05-16,780.5000000001089,780.4565,2015-01-01 02:10:05,bin7805,75,False +CTSPillarNetworkA,7806,7806,7806,1991-05-17,780.6000000001089,780.55646,2015-01-01 02:10:06,bin7806,35,False +CTSPillarNetworkA,7807,7807,7807,1991-05-18,780.700000000109,780.65643,2015-01-01 02:10:07,bin7807,75,False +CTSPillarNetworkA,7808,7808,7808,1991-05-19,780.800000000109,780.7564,2015-01-01 02:10:08,bin7808,35,False +CTSPillarNetworkA,7809,7809,7809,1991-05-20,780.900000000109,780.8564,2015-01-01 02:10:09,bin7809,75,False +CTSPillarNetworkA,7810,7810,7810,1991-05-21,781.000000000109,780.95636,2015-01-01 02:10:10,bin7810,35,False +CTSPillarNetworkA,7811,7811,7811,1991-05-22,781.100000000109,781.05634,2015-01-01 02:10:11,bin7811,75,False +CTSPillarNetworkA,7812,7812,7812,1991-05-23,781.2000000001091,781.1563,2015-01-01 02:10:12,bin7812,35,False +CTSPillarNetworkA,7813,7813,7813,1991-05-24,781.3000000001091,781.2563,2015-01-01 02:10:13,bin7813,75,False +CTSPillarNetworkA,7814,7814,7814,1991-05-25,781.4000000001091,781.35626,2015-01-01 02:10:14,bin7814,35,False +CTSPillarNetworkA,7815,7815,7815,1991-05-26,781.5000000001091,781.45624,2015-01-01 02:10:15,bin7815,75,False +CTSPillarNetworkA,7816,7816,7816,1991-05-27,781.6000000001092,781.5562,2015-01-01 02:10:16,bin7816,35,False +CTSPillarNetworkA,7817,7817,7817,1991-05-28,781.7000000001092,781.6562,2015-01-01 02:10:17,bin7817,75,False +CTSPillarNetworkA,7818,7818,7818,1991-05-29,781.8000000001092,781.75616,2015-01-01 02:10:18,bin7818,35,False +CTSPillarNetworkA,7819,7819,7819,1991-05-30,781.9000000001092,781.85614,2015-01-01 02:10:19,bin7819,75,False +CTSPillarNetworkA,7820,7820,7820,1991-05-31,782.0000000001093,781.9561,2015-01-01 02:10:20,bin7820,35,False +CTSPillarNetworkA,7821,7821,7821,1991-06-01,782.1000000001093,782.0561,2015-01-01 02:10:21,bin7821,75,False +CTSPillarNetworkA,7822,7822,7822,1991-06-02,782.2000000001093,782.15607,2015-01-01 02:10:22,bin7822,35,False +CTSPillarNetworkA,7823,7823,7823,1991-06-03,782.3000000001093,782.25604,2015-01-01 02:10:23,bin7823,75,False +CTSPillarNetworkA,7824,7824,7824,1991-06-04,782.4000000001093,782.356,2015-01-01 02:10:24,bin7824,35,False +CTSPillarNetworkA,7825,7825,7825,1991-06-05,782.5000000001094,782.456,2015-01-01 02:10:25,bin7825,75,False +CTSPillarNetworkA,7826,7826,7826,1991-06-06,782.6000000001094,782.55597,2015-01-01 02:10:26,bin7826,35,False +CTSPillarNetworkA,7827,7827,7827,1991-06-07,782.7000000001094,782.65594,2015-01-01 02:10:27,bin7827,75,False +CTSPillarNetworkA,7828,7828,7828,1991-06-08,782.8000000001094,782.7559,2015-01-01 02:10:28,bin7828,35,False +CTSPillarNetworkA,7829,7829,7829,1991-06-09,782.9000000001095,782.8559,2015-01-01 02:10:29,bin7829,75,False +CTSPillarNetworkA,7830,7830,7830,1991-06-10,783.0000000001095,782.9559,2015-01-01 02:10:30,bin7830,35,False +CTSPillarNetworkA,7831,7831,7831,1991-06-11,783.1000000001095,783.05585,2015-01-01 02:10:31,bin7831,75,False +CTSPillarNetworkA,7832,7832,7832,1991-06-12,783.2000000001095,783.1558,2015-01-01 02:10:32,bin7832,35,False +CTSPillarNetworkA,7833,7833,7833,1991-06-13,783.3000000001095,783.2558,2015-01-01 02:10:33,bin7833,75,False +CTSPillarNetworkA,7834,7834,7834,1991-06-14,783.4000000001096,783.3558,2015-01-01 02:10:34,bin7834,35,False +CTSPillarNetworkA,7835,7835,7835,1991-06-15,783.5000000001096,783.45575,2015-01-01 02:10:35,bin7835,75,False +CTSPillarNetworkA,7836,7836,7836,1991-06-16,783.6000000001096,783.5557,2015-01-01 02:10:36,bin7836,35,False +CTSPillarNetworkA,7837,7837,7837,1991-06-17,783.7000000001096,783.6557,2015-01-01 02:10:37,bin7837,75,False +CTSPillarNetworkA,7838,7838,7838,1991-06-18,783.8000000001097,783.7557,2015-01-01 02:10:38,bin7838,35,False +CTSPillarNetworkA,7839,7839,7839,1991-06-19,783.9000000001097,783.85565,2015-01-01 02:10:39,bin7839,75,False +CTSPillarNetworkA,7840,7840,7840,1991-06-20,784.0000000001097,783.9556,2015-01-01 02:10:40,bin7840,35,False +CTSPillarNetworkA,7841,7841,7841,1991-06-21,784.1000000001097,784.0556,2015-01-01 02:10:41,bin7841,75,False +CTSPillarNetworkA,7842,7842,7842,1991-06-22,784.2000000001098,784.1556,2015-01-01 02:10:42,bin7842,35,False +CTSPillarNetworkA,7843,7843,7843,1991-06-23,784.3000000001098,784.25555,2015-01-01 02:10:43,bin7843,75,False +CTSPillarNetworkA,7844,7844,7844,1991-06-24,784.4000000001098,784.3555,2015-01-01 02:10:44,bin7844,35,False +CTSPillarNetworkA,7845,7845,7845,1991-06-25,784.5000000001098,784.4555,2015-01-01 02:10:45,bin7845,75,False +CTSPillarNetworkA,7846,7846,7846,1991-06-26,784.6000000001098,784.5555,2015-01-01 02:10:46,bin7846,35,False +CTSPillarNetworkA,7847,7847,7847,1991-06-27,784.7000000001099,784.65546,2015-01-01 02:10:47,bin7847,75,False +CTSPillarNetworkA,7848,7848,7848,1991-06-28,784.8000000001099,784.75543,2015-01-01 02:10:48,bin7848,35,False +CTSPillarNetworkA,7849,7849,7849,1991-06-29,784.9000000001099,784.8554,2015-01-01 02:10:49,bin7849,75,False +CTSPillarNetworkA,7850,7850,7850,1991-06-30,785.0000000001099,784.9554,2015-01-01 02:10:50,bin7850,35,False +CTSPillarNetworkA,7851,7851,7851,1991-07-01,785.10000000011,785.05536,2015-01-01 02:10:51,bin7851,75,False +CTSPillarNetworkA,7852,7852,7852,1991-07-02,785.20000000011,785.15533,2015-01-01 02:10:52,bin7852,35,False +CTSPillarNetworkA,7853,7853,7853,1991-07-03,785.30000000011,785.2553,2015-01-01 02:10:53,bin7853,75,False +CTSPillarNetworkA,7854,7854,7854,1991-07-04,785.40000000011,785.3553,2015-01-01 02:10:54,bin7854,35,False +CTSPillarNetworkA,7855,7855,7855,1991-07-05,785.50000000011,785.45526,2015-01-01 02:10:55,bin7855,75,False +CTSPillarNetworkA,7856,7856,7856,1991-07-06,785.6000000001101,785.55524,2015-01-01 02:10:56,bin7856,35,False +CTSPillarNetworkA,7857,7857,7857,1991-07-07,785.7000000001101,785.6552,2015-01-01 02:10:57,bin7857,75,False +CTSPillarNetworkA,7858,7858,7858,1991-07-08,785.8000000001101,785.7552,2015-01-01 02:10:58,bin7858,35,False +CTSPillarNetworkA,7859,7859,7859,1991-07-09,785.9000000001101,785.85516,2015-01-01 02:10:59,bin7859,75,False +CTSPillarNetworkA,7860,7860,7860,1991-07-10,786.0000000001102,785.95514,2015-01-01 02:11:00,bin7860,35,False +CTSPillarNetworkA,7861,7861,7861,1991-07-11,786.1000000001102,786.0551,2015-01-01 02:11:01,bin7861,75,False +CTSPillarNetworkA,7862,7862,7862,1991-07-12,786.2000000001102,786.1551,2015-01-01 02:11:02,bin7862,35,False +CTSPillarNetworkA,7863,7863,7863,1991-07-13,786.3000000001102,786.25507,2015-01-01 02:11:03,bin7863,75,False +CTSPillarNetworkA,7864,7864,7864,1991-07-14,786.4000000001103,786.35504,2015-01-01 02:11:04,bin7864,35,False +CTSPillarNetworkA,7865,7865,7865,1991-07-15,786.5000000001103,786.455,2015-01-01 02:11:05,bin7865,75,False +CTSPillarNetworkA,7866,7866,7866,1991-07-16,786.6000000001103,786.555,2015-01-01 02:11:06,bin7866,35,False +CTSPillarNetworkA,7867,7867,7867,1991-07-17,786.7000000001103,786.65497,2015-01-01 02:11:07,bin7867,75,False +CTSPillarNetworkA,7868,7868,7868,1991-07-18,786.8000000001103,786.75494,2015-01-01 02:11:08,bin7868,35,False +CTSPillarNetworkA,7869,7869,7869,1991-07-19,786.9000000001104,786.8549,2015-01-01 02:11:09,bin7869,75,False +CTSPillarNetworkA,7870,7870,7870,1991-07-20,787.0000000001104,786.9549,2015-01-01 02:11:10,bin7870,35,False +CTSPillarNetworkA,7871,7871,7871,1991-07-21,787.1000000001104,787.0549,2015-01-01 02:11:11,bin7871,75,False +CTSPillarNetworkA,7872,7872,7872,1991-07-22,787.2000000001104,787.15485,2015-01-01 02:11:12,bin7872,35,False +CTSPillarNetworkA,7873,7873,7873,1991-07-23,787.3000000001105,787.2548,2015-01-01 02:11:13,bin7873,75,False +CTSPillarNetworkA,7874,7874,7874,1991-07-24,787.4000000001105,787.3548,2015-01-01 02:11:14,bin7874,35,False +CTSPillarNetworkA,7875,7875,7875,1991-07-25,787.5000000001105,787.4548,2015-01-01 02:11:15,bin7875,75,False +CTSPillarNetworkA,7876,7876,7876,1991-07-26,787.6000000001105,787.55475,2015-01-01 02:11:16,bin7876,35,False +CTSPillarNetworkA,7877,7877,7877,1991-07-27,787.7000000001105,787.6547,2015-01-01 02:11:17,bin7877,75,False +CTSPillarNetworkA,7878,7878,7878,1991-07-28,787.8000000001106,787.7547,2015-01-01 02:11:18,bin7878,35,False +CTSPillarNetworkA,7879,7879,7879,1991-07-29,787.9000000001106,787.8547,2015-01-01 02:11:19,bin7879,75,False +CTSPillarNetworkA,7880,7880,7880,1991-07-30,788.0000000001106,787.95465,2015-01-01 02:11:20,bin7880,35,False +CTSPillarNetworkA,7881,7881,7881,1991-07-31,788.1000000001106,788.0546,2015-01-01 02:11:21,bin7881,75,False +CTSPillarNetworkA,7882,7882,7882,1991-08-01,788.2000000001107,788.1546,2015-01-01 02:11:22,bin7882,35,False +CTSPillarNetworkA,7883,7883,7883,1991-08-02,788.3000000001107,788.2546,2015-01-01 02:11:23,bin7883,75,False +CTSPillarNetworkA,7884,7884,7884,1991-08-03,788.4000000001107,788.35455,2015-01-01 02:11:24,bin7884,35,False +CTSPillarNetworkA,7885,7885,7885,1991-08-04,788.5000000001107,788.4545,2015-01-01 02:11:25,bin7885,75,False +CTSPillarNetworkA,7886,7886,7886,1991-08-05,788.6000000001108,788.5545,2015-01-01 02:11:26,bin7886,35,False +CTSPillarNetworkA,7887,7887,7887,1991-08-06,788.7000000001108,788.6545,2015-01-01 02:11:27,bin7887,75,False +CTSPillarNetworkA,7888,7888,7888,1991-08-07,788.8000000001108,788.75446,2015-01-01 02:11:28,bin7888,35,False +CTSPillarNetworkA,7889,7889,7889,1991-08-08,788.9000000001108,788.85443,2015-01-01 02:11:29,bin7889,75,False +CTSPillarNetworkA,7890,7890,7890,1991-08-09,789.0000000001108,788.9544,2015-01-01 02:11:30,bin7890,35,False +CTSPillarNetworkA,7891,7891,7891,1991-08-10,789.1000000001109,789.0544,2015-01-01 02:11:31,bin7891,75,False +CTSPillarNetworkA,7892,7892,7892,1991-08-11,789.2000000001109,789.15436,2015-01-01 02:11:32,bin7892,35,False +CTSPillarNetworkA,7893,7893,7893,1991-08-12,789.3000000001109,789.25433,2015-01-01 02:11:33,bin7893,75,False +CTSPillarNetworkA,7894,7894,7894,1991-08-13,789.4000000001109,789.3543,2015-01-01 02:11:34,bin7894,35,False +CTSPillarNetworkA,7895,7895,7895,1991-08-14,789.500000000111,789.4543,2015-01-01 02:11:35,bin7895,75,False +CTSPillarNetworkA,7896,7896,7896,1991-08-15,789.600000000111,789.55426,2015-01-01 02:11:36,bin7896,35,False +CTSPillarNetworkA,7897,7897,7897,1991-08-16,789.700000000111,789.65424,2015-01-01 02:11:37,bin7897,75,False +CTSPillarNetworkA,7898,7898,7898,1991-08-17,789.800000000111,789.7542,2015-01-01 02:11:38,bin7898,35,False +CTSPillarNetworkA,7899,7899,7899,1991-08-18,789.900000000111,789.8542,2015-01-01 02:11:39,bin7899,75,False +CTSPillarNetworkA,7900,7900,7900,1991-08-19,790.0000000001111,789.95416,2015-01-01 02:11:40,bin7900,35,False +CTSPillarNetworkA,7901,7901,7901,1991-08-20,790.1000000001111,790.05414,2015-01-01 02:11:41,bin7901,75,False +CTSPillarNetworkA,7902,7902,7902,1991-08-21,790.2000000001111,790.1541,2015-01-01 02:11:42,bin7902,35,False +CTSPillarNetworkA,7903,7903,7903,1991-08-22,790.3000000001111,790.2541,2015-01-01 02:11:43,bin7903,75,False +CTSPillarNetworkA,7904,7904,7904,1991-08-23,790.4000000001112,790.35406,2015-01-01 02:11:44,bin7904,35,False +CTSPillarNetworkA,7905,7905,7905,1991-08-24,790.5000000001112,790.45404,2015-01-01 02:11:45,bin7905,75,False +CTSPillarNetworkA,7906,7906,7906,1991-08-25,790.6000000001112,790.554,2015-01-01 02:11:46,bin7906,35,False +CTSPillarNetworkA,7907,7907,7907,1991-08-26,790.7000000001112,790.654,2015-01-01 02:11:47,bin7907,75,False +CTSPillarNetworkA,7908,7908,7908,1991-08-27,790.8000000001113,790.75397,2015-01-01 02:11:48,bin7908,35,False +CTSPillarNetworkA,7909,7909,7909,1991-08-28,790.9000000001113,790.85394,2015-01-01 02:11:49,bin7909,75,False +CTSPillarNetworkA,7910,7910,7910,1991-08-29,791.0000000001113,790.9539,2015-01-01 02:11:50,bin7910,35,False +CTSPillarNetworkA,7911,7911,7911,1991-08-30,791.1000000001113,791.0539,2015-01-01 02:11:51,bin7911,75,False +CTSPillarNetworkA,7912,7912,7912,1991-08-31,791.2000000001113,791.1539,2015-01-01 02:11:52,bin7912,35,False +CTSPillarNetworkA,7913,7913,7913,1991-09-01,791.3000000001114,791.25385,2015-01-01 02:11:53,bin7913,75,False +CTSPillarNetworkA,7914,7914,7914,1991-09-02,791.4000000001114,791.3538,2015-01-01 02:11:54,bin7914,35,False +CTSPillarNetworkA,7915,7915,7915,1991-09-03,791.5000000001114,791.4538,2015-01-01 02:11:55,bin7915,75,False +CTSPillarNetworkA,7916,7916,7916,1991-09-04,791.6000000001114,791.5538,2015-01-01 02:11:56,bin7916,35,False +CTSPillarNetworkA,7917,7917,7917,1991-09-05,791.7000000001115,791.65375,2015-01-01 02:11:57,bin7917,75,False +CTSPillarNetworkA,7918,7918,7918,1991-09-06,791.8000000001115,791.7537,2015-01-01 02:11:58,bin7918,35,False +CTSPillarNetworkA,7919,7919,7919,1991-09-07,791.9000000001115,791.8537,2015-01-01 02:11:59,bin7919,75,False +CTSPillarNetworkA,7920,7920,7920,1991-09-08,792.0000000001115,791.9537,2015-01-01 02:12:00,bin7920,35,False +CTSPillarNetworkA,7921,7921,7921,1991-09-09,792.1000000001115,792.05365,2015-01-01 02:12:01,bin7921,75,False +CTSPillarNetworkA,7922,7922,7922,1991-09-10,792.2000000001116,792.1536,2015-01-01 02:12:02,bin7922,35,False +CTSPillarNetworkA,7923,7923,7923,1991-09-11,792.3000000001116,792.2536,2015-01-01 02:12:03,bin7923,75,False +CTSPillarNetworkA,7924,7924,7924,1991-09-12,792.4000000001116,792.3536,2015-01-01 02:12:04,bin7924,35,False +CTSPillarNetworkA,7925,7925,7925,1991-09-13,792.5000000001116,792.45355,2015-01-01 02:12:05,bin7925,75,False +CTSPillarNetworkA,7926,7926,7926,1991-09-14,792.6000000001117,792.5535,2015-01-01 02:12:06,bin7926,35,False +CTSPillarNetworkA,7927,7927,7927,1991-09-15,792.7000000001117,792.6535,2015-01-01 02:12:07,bin7927,75,False +CTSPillarNetworkA,7928,7928,7928,1991-09-16,792.8000000001117,792.7535,2015-01-01 02:12:08,bin7928,35,False +CTSPillarNetworkA,7929,7929,7929,1991-09-17,792.9000000001117,792.85345,2015-01-01 02:12:09,bin7929,75,False +CTSPillarNetworkA,7930,7930,7930,1991-09-18,793.0000000001118,792.9534,2015-01-01 02:12:10,bin7930,35,False +CTSPillarNetworkA,7931,7931,7931,1991-09-19,793.1000000001118,793.0534,2015-01-01 02:12:11,bin7931,75,False +CTSPillarNetworkA,7932,7932,7932,1991-09-20,793.2000000001118,793.1534,2015-01-01 02:12:12,bin7932,35,False +CTSPillarNetworkA,7933,7933,7933,1991-09-21,793.3000000001118,793.25336,2015-01-01 02:12:13,bin7933,75,False +CTSPillarNetworkA,7934,7934,7934,1991-09-22,793.4000000001118,793.35333,2015-01-01 02:12:14,bin7934,35,False +CTSPillarNetworkA,7935,7935,7935,1991-09-23,793.5000000001119,793.4533,2015-01-01 02:12:15,bin7935,75,False +CTSPillarNetworkA,7936,7936,7936,1991-09-24,793.6000000001119,793.5533,2015-01-01 02:12:16,bin7936,35,False +CTSPillarNetworkA,7937,7937,7937,1991-09-25,793.7000000001119,793.65326,2015-01-01 02:12:17,bin7937,75,False +CTSPillarNetworkA,7938,7938,7938,1991-09-26,793.8000000001119,793.75323,2015-01-01 02:12:18,bin7938,35,False +CTSPillarNetworkA,7939,7939,7939,1991-09-27,793.900000000112,793.8532,2015-01-01 02:12:19,bin7939,75,False +CTSPillarNetworkA,7940,7940,7940,1991-09-28,794.000000000112,793.9532,2015-01-01 02:12:20,bin7940,35,False +CTSPillarNetworkA,7941,7941,7941,1991-09-29,794.100000000112,794.05316,2015-01-01 02:12:21,bin7941,75,False +CTSPillarNetworkA,7942,7942,7942,1991-09-30,794.200000000112,794.15314,2015-01-01 02:12:22,bin7942,35,False +CTSPillarNetworkA,7943,7943,7943,1991-10-01,794.300000000112,794.2531,2015-01-01 02:12:23,bin7943,75,False +CTSPillarNetworkA,7944,7944,7944,1991-10-02,794.4000000001121,794.3531,2015-01-01 02:12:24,bin7944,35,False +CTSPillarNetworkA,7945,7945,7945,1991-10-03,794.5000000001121,794.45306,2015-01-01 02:12:25,bin7945,75,False +CTSPillarNetworkA,7946,7946,7946,1991-10-04,794.6000000001121,794.55304,2015-01-01 02:12:26,bin7946,35,False +CTSPillarNetworkA,7947,7947,7947,1991-10-05,794.7000000001121,794.653,2015-01-01 02:12:27,bin7947,75,False +CTSPillarNetworkA,7948,7948,7948,1991-10-06,794.8000000001122,794.753,2015-01-01 02:12:28,bin7948,35,False +CTSPillarNetworkA,7949,7949,7949,1991-10-07,794.9000000001122,794.85297,2015-01-01 02:12:29,bin7949,75,False +CTSPillarNetworkA,7950,7950,7950,1991-10-08,795.0000000001122,794.95294,2015-01-01 02:12:30,bin7950,35,False +CTSPillarNetworkA,7951,7951,7951,1991-10-09,795.1000000001122,795.0529,2015-01-01 02:12:31,bin7951,75,False +CTSPillarNetworkA,7952,7952,7952,1991-10-10,795.2000000001123,795.1529,2015-01-01 02:12:32,bin7952,35,False +CTSPillarNetworkA,7953,7953,7953,1991-10-11,795.3000000001123,795.25287,2015-01-01 02:12:33,bin7953,75,False +CTSPillarNetworkA,7954,7954,7954,1991-10-12,795.4000000001123,795.35284,2015-01-01 02:12:34,bin7954,35,False +CTSPillarNetworkA,7955,7955,7955,1991-10-13,795.5000000001123,795.4528,2015-01-01 02:12:35,bin7955,75,False +CTSPillarNetworkA,7956,7956,7956,1991-10-14,795.6000000001123,795.5528,2015-01-01 02:12:36,bin7956,35,False +CTSPillarNetworkA,7957,7957,7957,1991-10-15,795.7000000001124,795.6528,2015-01-01 02:12:37,bin7957,75,False +CTSPillarNetworkA,7958,7958,7958,1991-10-16,795.8000000001124,795.75275,2015-01-01 02:12:38,bin7958,35,False +CTSPillarNetworkA,7959,7959,7959,1991-10-17,795.9000000001124,795.8527,2015-01-01 02:12:39,bin7959,75,False +CTSPillarNetworkA,7960,7960,7960,1991-10-18,796.0000000001124,795.9527,2015-01-01 02:12:40,bin7960,35,False +CTSPillarNetworkA,7961,7961,7961,1991-10-19,796.1000000001125,796.0527,2015-01-01 02:12:41,bin7961,75,False +CTSPillarNetworkA,7962,7962,7962,1991-10-20,796.2000000001125,796.15265,2015-01-01 02:12:42,bin7962,35,False +CTSPillarNetworkA,7963,7963,7963,1991-10-21,796.3000000001125,796.2526,2015-01-01 02:12:43,bin7963,75,False +CTSPillarNetworkA,7964,7964,7964,1991-10-22,796.4000000001125,796.3526,2015-01-01 02:12:44,bin7964,35,False +CTSPillarNetworkA,7965,7965,7965,1991-10-23,796.5000000001125,796.4526,2015-01-01 02:12:45,bin7965,75,False +CTSPillarNetworkA,7966,7966,7966,1991-10-24,796.6000000001126,796.55255,2015-01-01 02:12:46,bin7966,35,False +CTSPillarNetworkA,7967,7967,7967,1991-10-25,796.7000000001126,796.6525,2015-01-01 02:12:47,bin7967,75,False +CTSPillarNetworkA,7968,7968,7968,1991-10-26,796.8000000001126,796.7525,2015-01-01 02:12:48,bin7968,35,False +CTSPillarNetworkA,7969,7969,7969,1991-10-27,796.9000000001126,796.8525,2015-01-01 02:12:49,bin7969,75,False +CTSPillarNetworkA,7970,7970,7970,1991-10-28,797.0000000001127,796.95245,2015-01-01 02:12:50,bin7970,35,False +CTSPillarNetworkA,7971,7971,7971,1991-10-29,797.1000000001127,797.0524,2015-01-01 02:12:51,bin7971,75,False +CTSPillarNetworkA,7972,7972,7972,1991-10-30,797.2000000001127,797.1524,2015-01-01 02:12:52,bin7972,35,False +CTSPillarNetworkA,7973,7973,7973,1991-10-31,797.3000000001127,797.2524,2015-01-01 02:12:53,bin7973,75,False +CTSPillarNetworkA,7974,7974,7974,1991-11-01,797.4000000001128,797.35236,2015-01-01 02:12:54,bin7974,35,False +CTSPillarNetworkA,7975,7975,7975,1991-11-02,797.5000000001128,797.45233,2015-01-01 02:12:55,bin7975,75,False +CTSPillarNetworkA,7976,7976,7976,1991-11-03,797.6000000001128,797.5523,2015-01-01 02:12:56,bin7976,35,False +CTSPillarNetworkA,7977,7977,7977,1991-11-04,797.7000000001128,797.6523,2015-01-01 02:12:57,bin7977,75,False +CTSPillarNetworkA,7978,7978,7978,1991-11-05,797.8000000001128,797.75226,2015-01-01 02:12:58,bin7978,35,False +CTSPillarNetworkA,7979,7979,7979,1991-11-06,797.9000000001129,797.85223,2015-01-01 02:12:59,bin7979,75,False +CTSPillarNetworkA,7980,7980,7980,1991-11-07,798.0000000001129,797.9522,2015-01-01 02:13:00,bin7980,35,False +CTSPillarNetworkA,7981,7981,7981,1991-11-08,798.1000000001129,798.0522,2015-01-01 02:13:01,bin7981,75,False +CTSPillarNetworkA,7982,7982,7982,1991-11-09,798.2000000001129,798.15216,2015-01-01 02:13:02,bin7982,35,False +CTSPillarNetworkA,7983,7983,7983,1991-11-10,798.300000000113,798.25214,2015-01-01 02:13:03,bin7983,75,False +CTSPillarNetworkA,7984,7984,7984,1991-11-11,798.400000000113,798.3521,2015-01-01 02:13:04,bin7984,35,False +CTSPillarNetworkA,7985,7985,7985,1991-11-12,798.500000000113,798.4521,2015-01-01 02:13:05,bin7985,75,False +CTSPillarNetworkA,7986,7986,7986,1991-11-13,798.600000000113,798.55206,2015-01-01 02:13:06,bin7986,35,False +CTSPillarNetworkA,7987,7987,7987,1991-11-14,798.700000000113,798.65204,2015-01-01 02:13:07,bin7987,75,False +CTSPillarNetworkA,7988,7988,7988,1991-11-15,798.8000000001131,798.752,2015-01-01 02:13:08,bin7988,35,False +CTSPillarNetworkA,7989,7989,7989,1991-11-16,798.9000000001131,798.852,2015-01-01 02:13:09,bin7989,75,False +CTSPillarNetworkA,7990,7990,7990,1991-11-17,799.0000000001131,798.95197,2015-01-01 02:13:10,bin7990,35,False +CTSPillarNetworkA,7991,7991,7991,1991-11-18,799.1000000001131,799.05194,2015-01-01 02:13:11,bin7991,75,False +CTSPillarNetworkA,7992,7992,7992,1991-11-19,799.2000000001132,799.1519,2015-01-01 02:13:12,bin7992,35,False +CTSPillarNetworkA,7993,7993,7993,1991-11-20,799.3000000001132,799.2519,2015-01-01 02:13:13,bin7993,75,False +CTSPillarNetworkA,7994,7994,7994,1991-11-21,799.4000000001132,799.35187,2015-01-01 02:13:14,bin7994,35,False +CTSPillarNetworkA,7995,7995,7995,1991-11-22,799.5000000001132,799.45184,2015-01-01 02:13:15,bin7995,75,False +CTSPillarNetworkA,7996,7996,7996,1991-11-23,799.6000000001133,799.5518,2015-01-01 02:13:16,bin7996,35,False +CTSPillarNetworkA,7997,7997,7997,1991-11-24,799.7000000001133,799.6518,2015-01-01 02:13:17,bin7997,75,False +CTSPillarNetworkA,7998,7998,7998,1991-11-25,799.8000000001133,799.7518,2015-01-01 02:13:18,bin7998,35,False +CTSPillarNetworkA,7999,7999,7999,1991-11-26,799.9000000001133,799.85175,2015-01-01 02:13:19,bin7999,75,False +CTSPillarNetworkA,8000,8000,8000,1991-11-27,800.0000000001133,799.9517,2015-01-01 02:13:20,bin8000,35,False +CTSPillarNetworkA,8001,8001,8001,1991-11-28,800.1000000001134,800.0517,2015-01-01 02:13:21,bin8001,75,False +CTSPillarNetworkA,8002,8002,8002,1991-11-29,800.2000000001134,800.1517,2015-01-01 02:13:22,bin8002,35,False +CTSPillarNetworkA,8003,8003,8003,1991-11-30,800.3000000001134,800.25165,2015-01-01 02:13:23,bin8003,75,False +CTSPillarNetworkA,8004,8004,8004,1991-12-01,800.4000000001134,800.3516,2015-01-01 02:13:24,bin8004,35,False +CTSPillarNetworkA,8005,8005,8005,1991-12-02,800.5000000001135,800.4516,2015-01-01 02:13:25,bin8005,75,False +CTSPillarNetworkA,8006,8006,8006,1991-12-03,800.6000000001135,800.5516,2015-01-01 02:13:26,bin8006,35,False +CTSPillarNetworkA,8007,8007,8007,1991-12-04,800.7000000001135,800.65155,2015-01-01 02:13:27,bin8007,75,False +CTSPillarNetworkA,8008,8008,8008,1991-12-05,800.8000000001135,800.7515,2015-01-01 02:13:28,bin8008,35,False +CTSPillarNetworkA,8009,8009,8009,1991-12-06,800.9000000001136,800.8515,2015-01-01 02:13:29,bin8009,75,False +CTSPillarNetworkA,8010,8010,8010,1991-12-07,801.0000000001136,800.9515,2015-01-01 02:13:30,bin8010,35,False +CTSPillarNetworkA,8011,8011,8011,1991-12-08,801.1000000001136,801.05145,2015-01-01 02:13:31,bin8011,75,False +CTSPillarNetworkA,8012,8012,8012,1991-12-09,801.2000000001136,801.1514,2015-01-01 02:13:32,bin8012,35,False +CTSPillarNetworkA,8013,8013,8013,1991-12-10,801.3000000001136,801.2514,2015-01-01 02:13:33,bin8013,75,False +CTSPillarNetworkA,8014,8014,8014,1991-12-11,801.4000000001137,801.3514,2015-01-01 02:13:34,bin8014,35,False +CTSPillarNetworkA,8015,8015,8015,1991-12-12,801.5000000001137,801.45135,2015-01-01 02:13:35,bin8015,75,False +CTSPillarNetworkA,8016,8016,8016,1991-12-13,801.6000000001137,801.55133,2015-01-01 02:13:36,bin8016,35,False +CTSPillarNetworkA,8017,8017,8017,1991-12-14,801.7000000001137,801.6513,2015-01-01 02:13:37,bin8017,75,False +CTSPillarNetworkA,8018,8018,8018,1991-12-15,801.8000000001138,801.7513,2015-01-01 02:13:38,bin8018,35,False +CTSPillarNetworkA,8019,8019,8019,1991-12-16,801.9000000001138,801.85126,2015-01-01 02:13:39,bin8019,75,False +CTSPillarNetworkA,8020,8020,8020,1991-12-17,802.0000000001138,801.95123,2015-01-01 02:13:40,bin8020,35,False +CTSPillarNetworkA,8021,8021,8021,1991-12-18,802.1000000001138,802.0512,2015-01-01 02:13:41,bin8021,75,False +CTSPillarNetworkA,8022,8022,8022,1991-12-19,802.2000000001138,802.1512,2015-01-01 02:13:42,bin8022,35,False +CTSPillarNetworkA,8023,8023,8023,1991-12-20,802.3000000001139,802.25116,2015-01-01 02:13:43,bin8023,75,False +CTSPillarNetworkA,8024,8024,8024,1991-12-21,802.4000000001139,802.35114,2015-01-01 02:13:44,bin8024,35,False +CTSPillarNetworkA,8025,8025,8025,1991-12-22,802.5000000001139,802.4511,2015-01-01 02:13:45,bin8025,75,False +CTSPillarNetworkA,8026,8026,8026,1991-12-23,802.6000000001139,802.5511,2015-01-01 02:13:46,bin8026,35,False +CTSPillarNetworkA,8027,8027,8027,1991-12-24,802.700000000114,802.65106,2015-01-01 02:13:47,bin8027,75,False +CTSPillarNetworkA,8028,8028,8028,1991-12-25,802.800000000114,802.75104,2015-01-01 02:13:48,bin8028,35,False +CTSPillarNetworkA,8029,8029,8029,1991-12-26,802.900000000114,802.851,2015-01-01 02:13:49,bin8029,75,False +CTSPillarNetworkA,8030,8030,8030,1991-12-27,803.000000000114,802.951,2015-01-01 02:13:50,bin8030,35,False +CTSPillarNetworkA,8031,8031,8031,1991-12-28,803.100000000114,803.05096,2015-01-01 02:13:51,bin8031,75,False +CTSPillarNetworkA,8032,8032,8032,1991-12-29,803.2000000001141,803.15094,2015-01-01 02:13:52,bin8032,35,False +CTSPillarNetworkA,8033,8033,8033,1991-12-30,803.3000000001141,803.2509,2015-01-01 02:13:53,bin8033,75,False +CTSPillarNetworkA,8034,8034,8034,1991-12-31,803.4000000001141,803.3509,2015-01-01 02:13:54,bin8034,35,False +CTSPillarNetworkA,8035,8035,8035,1992-01-01,803.5000000001141,803.45087,2015-01-01 02:13:55,bin8035,75,False +CTSPillarNetworkA,8036,8036,8036,1992-01-02,803.6000000001142,803.55084,2015-01-01 02:13:56,bin8036,35,False +CTSPillarNetworkA,8037,8037,8037,1992-01-03,803.7000000001142,803.6508,2015-01-01 02:13:57,bin8037,75,False +CTSPillarNetworkA,8038,8038,8038,1992-01-04,803.8000000001142,803.7508,2015-01-01 02:13:58,bin8038,35,False +CTSPillarNetworkA,8039,8039,8039,1992-01-05,803.9000000001142,803.85077,2015-01-01 02:13:59,bin8039,75,False +CTSPillarNetworkA,8040,8040,8040,1992-01-06,804.0000000001143,803.95074,2015-01-01 02:14:00,bin8040,35,False +CTSPillarNetworkA,8041,8041,8041,1992-01-07,804.1000000001143,804.0507,2015-01-01 02:14:01,bin8041,75,False +CTSPillarNetworkA,8042,8042,8042,1992-01-08,804.2000000001143,804.1507,2015-01-01 02:14:02,bin8042,35,False +CTSPillarNetworkA,8043,8043,8043,1992-01-09,804.3000000001143,804.2507,2015-01-01 02:14:03,bin8043,75,False +CTSPillarNetworkA,8044,8044,8044,1992-01-10,804.4000000001143,804.35065,2015-01-01 02:14:04,bin8044,35,False +CTSPillarNetworkA,8045,8045,8045,1992-01-11,804.5000000001144,804.4506,2015-01-01 02:14:05,bin8045,75,False +CTSPillarNetworkA,8046,8046,8046,1992-01-12,804.6000000001144,804.5506,2015-01-01 02:14:06,bin8046,35,False +CTSPillarNetworkA,8047,8047,8047,1992-01-13,804.7000000001144,804.6506,2015-01-01 02:14:07,bin8047,75,False +CTSPillarNetworkA,8048,8048,8048,1992-01-14,804.8000000001144,804.75055,2015-01-01 02:14:08,bin8048,35,False +CTSPillarNetworkA,8049,8049,8049,1992-01-15,804.9000000001145,804.8505,2015-01-01 02:14:09,bin8049,75,False +CTSPillarNetworkA,8050,8050,8050,1992-01-16,805.0000000001145,804.9505,2015-01-01 02:14:10,bin8050,35,False +CTSPillarNetworkA,8051,8051,8051,1992-01-17,805.1000000001145,805.0505,2015-01-01 02:14:11,bin8051,75,False +CTSPillarNetworkA,8052,8052,8052,1992-01-18,805.2000000001145,805.15045,2015-01-01 02:14:12,bin8052,35,False +CTSPillarNetworkA,8053,8053,8053,1992-01-19,805.3000000001146,805.2504,2015-01-01 02:14:13,bin8053,75,False +CTSPillarNetworkA,8054,8054,8054,1992-01-20,805.4000000001146,805.3504,2015-01-01 02:14:14,bin8054,35,False +CTSPillarNetworkA,8055,8055,8055,1992-01-21,805.5000000001146,805.4504,2015-01-01 02:14:15,bin8055,75,False +CTSPillarNetworkA,8056,8056,8056,1992-01-22,805.6000000001146,805.55035,2015-01-01 02:14:16,bin8056,35,False +CTSPillarNetworkA,8057,8057,8057,1992-01-23,805.7000000001146,805.6503,2015-01-01 02:14:17,bin8057,75,False +CTSPillarNetworkA,8058,8058,8058,1992-01-24,805.8000000001147,805.7503,2015-01-01 02:14:18,bin8058,35,False +CTSPillarNetworkA,8059,8059,8059,1992-01-25,805.9000000001147,805.8503,2015-01-01 02:14:19,bin8059,75,False +CTSPillarNetworkA,8060,8060,8060,1992-01-26,806.0000000001147,805.95026,2015-01-01 02:14:20,bin8060,35,False +CTSPillarNetworkA,8061,8061,8061,1992-01-27,806.1000000001147,806.05023,2015-01-01 02:14:21,bin8061,75,False +CTSPillarNetworkA,8062,8062,8062,1992-01-28,806.2000000001148,806.1502,2015-01-01 02:14:22,bin8062,35,False +CTSPillarNetworkA,8063,8063,8063,1992-01-29,806.3000000001148,806.2502,2015-01-01 02:14:23,bin8063,75,False +CTSPillarNetworkA,8064,8064,8064,1992-01-30,806.4000000001148,806.35016,2015-01-01 02:14:24,bin8064,35,False +CTSPillarNetworkA,8065,8065,8065,1992-01-31,806.5000000001148,806.45013,2015-01-01 02:14:25,bin8065,75,False +CTSPillarNetworkA,8066,8066,8066,1992-02-01,806.6000000001148,806.5501,2015-01-01 02:14:26,bin8066,35,False +CTSPillarNetworkA,8067,8067,8067,1992-02-02,806.7000000001149,806.6501,2015-01-01 02:14:27,bin8067,75,False +CTSPillarNetworkA,8068,8068,8068,1992-02-03,806.8000000001149,806.75006,2015-01-01 02:14:28,bin8068,35,False +CTSPillarNetworkA,8069,8069,8069,1992-02-04,806.9000000001149,806.85004,2015-01-01 02:14:29,bin8069,75,False +CTSPillarNetworkA,8070,8070,8070,1992-02-05,807.0000000001149,806.95,2015-01-01 02:14:30,bin8070,35,False +CTSPillarNetworkA,8071,8071,8071,1992-02-06,807.100000000115,807.05,2015-01-01 02:14:31,bin8071,75,False +CTSPillarNetworkA,8072,8072,8072,1992-02-07,807.200000000115,807.14996,2015-01-01 02:14:32,bin8072,35,False +CTSPillarNetworkA,8073,8073,8073,1992-02-08,807.300000000115,807.24994,2015-01-01 02:14:33,bin8073,75,False +CTSPillarNetworkA,8074,8074,8074,1992-02-09,807.400000000115,807.3499,2015-01-01 02:14:34,bin8074,35,False +CTSPillarNetworkA,8075,8075,8075,1992-02-10,807.500000000115,807.4499,2015-01-01 02:14:35,bin8075,75,False +CTSPillarNetworkA,8076,8076,8076,1992-02-11,807.6000000001151,807.54987,2015-01-01 02:14:36,bin8076,35,False +CTSPillarNetworkA,8077,8077,8077,1992-02-12,807.7000000001151,807.64984,2015-01-01 02:14:37,bin8077,75,False +CTSPillarNetworkA,8078,8078,8078,1992-02-13,807.8000000001151,807.7498,2015-01-01 02:14:38,bin8078,35,False +CTSPillarNetworkA,8079,8079,8079,1992-02-14,807.9000000001151,807.8498,2015-01-01 02:14:39,bin8079,75,False +CTSPillarNetworkA,8080,8080,8080,1992-02-15,808.0000000001152,807.94977,2015-01-01 02:14:40,bin8080,35,False +CTSPillarNetworkA,8081,8081,8081,1992-02-16,808.1000000001152,808.04974,2015-01-01 02:14:41,bin8081,75,False +CTSPillarNetworkA,8082,8082,8082,1992-02-17,808.2000000001152,808.1497,2015-01-01 02:14:42,bin8082,35,False +CTSPillarNetworkA,8083,8083,8083,1992-02-18,808.3000000001152,808.2497,2015-01-01 02:14:43,bin8083,75,False +CTSPillarNetworkA,8084,8084,8084,1992-02-19,808.4000000001153,808.3497,2015-01-01 02:14:44,bin8084,35,False +CTSPillarNetworkA,8085,8085,8085,1992-02-20,808.5000000001153,808.44965,2015-01-01 02:14:45,bin8085,75,False +CTSPillarNetworkA,8086,8086,8086,1992-02-21,808.6000000001153,808.5496,2015-01-01 02:14:46,bin8086,35,False +CTSPillarNetworkA,8087,8087,8087,1992-02-22,808.7000000001153,808.6496,2015-01-01 02:14:47,bin8087,75,False +CTSPillarNetworkA,8088,8088,8088,1992-02-23,808.8000000001153,808.7496,2015-01-01 02:14:48,bin8088,35,False +CTSPillarNetworkA,8089,8089,8089,1992-02-24,808.9000000001154,808.84955,2015-01-01 02:14:49,bin8089,75,False +CTSPillarNetworkA,8090,8090,8090,1992-02-25,809.0000000001154,808.9495,2015-01-01 02:14:50,bin8090,35,False +CTSPillarNetworkA,8091,8091,8091,1992-02-26,809.1000000001154,809.0495,2015-01-01 02:14:51,bin8091,75,False +CTSPillarNetworkA,8092,8092,8092,1992-02-27,809.2000000001154,809.1495,2015-01-01 02:14:52,bin8092,35,False +CTSPillarNetworkA,8093,8093,8093,1992-02-28,809.3000000001155,809.24945,2015-01-01 02:14:53,bin8093,75,False +CTSPillarNetworkA,8094,8094,8094,1992-02-29,809.4000000001155,809.3494,2015-01-01 02:14:54,bin8094,35,False +CTSPillarNetworkA,8095,8095,8095,1992-03-01,809.5000000001155,809.4494,2015-01-01 02:14:55,bin8095,75,False +CTSPillarNetworkA,8096,8096,8096,1992-03-02,809.6000000001155,809.5494,2015-01-01 02:14:56,bin8096,35,False +CTSPillarNetworkA,8097,8097,8097,1992-03-03,809.7000000001156,809.64935,2015-01-01 02:14:57,bin8097,75,False +CTSPillarNetworkA,8098,8098,8098,1992-03-04,809.8000000001156,809.7493,2015-01-01 02:14:58,bin8098,35,False +CTSPillarNetworkA,8099,8099,8099,1992-03-05,809.9000000001156,809.8493,2015-01-01 02:14:59,bin8099,75,False +CTSPillarNetworkA,8100,8100,8100,1992-03-06,810.0000000001156,809.9493,2015-01-01 02:15:00,bin8100,35,False +CTSPillarNetworkA,8101,8101,8101,1992-03-07,810.1000000001156,810.04926,2015-01-01 02:15:01,bin8101,75,False +CTSPillarNetworkA,8102,8102,8102,1992-03-08,810.2000000001157,810.14923,2015-01-01 02:15:02,bin8102,35,False +CTSPillarNetworkA,8103,8103,8103,1992-03-09,810.3000000001157,810.2492,2015-01-01 02:15:03,bin8103,75,False +CTSPillarNetworkA,8104,8104,8104,1992-03-10,810.4000000001157,810.3492,2015-01-01 02:15:04,bin8104,35,False +CTSPillarNetworkA,8105,8105,8105,1992-03-11,810.5000000001157,810.44916,2015-01-01 02:15:05,bin8105,75,False +CTSPillarNetworkA,8106,8106,8106,1992-03-12,810.6000000001158,810.54913,2015-01-01 02:15:06,bin8106,35,False +CTSPillarNetworkA,8107,8107,8107,1992-03-13,810.7000000001158,810.6491,2015-01-01 02:15:07,bin8107,75,False +CTSPillarNetworkA,8108,8108,8108,1992-03-14,810.8000000001158,810.7491,2015-01-01 02:15:08,bin8108,35,False +CTSPillarNetworkA,8109,8109,8109,1992-03-15,810.9000000001158,810.84906,2015-01-01 02:15:09,bin8109,75,False +CTSPillarNetworkA,8110,8110,8110,1992-03-16,811.0000000001158,810.94904,2015-01-01 02:15:10,bin8110,35,False +CTSPillarNetworkA,8111,8111,8111,1992-03-17,811.1000000001159,811.049,2015-01-01 02:15:11,bin8111,75,False +CTSPillarNetworkA,8112,8112,8112,1992-03-18,811.2000000001159,811.149,2015-01-01 02:15:12,bin8112,35,False +CTSPillarNetworkA,8113,8113,8113,1992-03-19,811.3000000001159,811.24896,2015-01-01 02:15:13,bin8113,75,False +CTSPillarNetworkA,8114,8114,8114,1992-03-20,811.4000000001159,811.34894,2015-01-01 02:15:14,bin8114,35,False +CTSPillarNetworkA,8115,8115,8115,1992-03-21,811.500000000116,811.4489,2015-01-01 02:15:15,bin8115,75,False +CTSPillarNetworkA,8116,8116,8116,1992-03-22,811.600000000116,811.5489,2015-01-01 02:15:16,bin8116,35,False +CTSPillarNetworkA,8117,8117,8117,1992-03-23,811.700000000116,811.64886,2015-01-01 02:15:17,bin8117,75,False +CTSPillarNetworkA,8118,8118,8118,1992-03-24,811.800000000116,811.74884,2015-01-01 02:15:18,bin8118,35,False +CTSPillarNetworkA,8119,8119,8119,1992-03-25,811.900000000116,811.8488,2015-01-01 02:15:19,bin8119,75,False +CTSPillarNetworkA,8120,8120,8120,1992-03-26,812.0000000001161,811.9488,2015-01-01 02:15:20,bin8120,35,False +CTSPillarNetworkA,8121,8121,8121,1992-03-27,812.1000000001161,812.04877,2015-01-01 02:15:21,bin8121,75,False +CTSPillarNetworkA,8122,8122,8122,1992-03-28,812.2000000001161,812.14874,2015-01-01 02:15:22,bin8122,35,False +CTSPillarNetworkA,8123,8123,8123,1992-03-29,812.3000000001161,812.2487,2015-01-01 02:15:23,bin8123,75,False +CTSPillarNetworkA,8124,8124,8124,1992-03-30,812.4000000001162,812.3487,2015-01-01 02:15:24,bin8124,35,False +CTSPillarNetworkA,8125,8125,8125,1992-03-31,812.5000000001162,812.44867,2015-01-01 02:15:25,bin8125,75,False +CTSPillarNetworkA,8126,8126,8126,1992-04-01,812.6000000001162,812.54865,2015-01-01 02:15:26,bin8126,35,False +CTSPillarNetworkA,8127,8127,8127,1992-04-02,812.7000000001162,812.6486,2015-01-01 02:15:27,bin8127,75,False +CTSPillarNetworkA,8128,8128,8128,1992-04-03,812.8000000001163,812.7486,2015-01-01 02:15:28,bin8128,35,False +CTSPillarNetworkA,8129,8129,8129,1992-04-04,812.9000000001163,812.8486,2015-01-01 02:15:29,bin8129,75,False +CTSPillarNetworkA,8130,8130,8130,1992-04-05,813.0000000001163,812.94855,2015-01-01 02:15:30,bin8130,35,False +CTSPillarNetworkA,8131,8131,8131,1992-04-06,813.1000000001163,813.0485,2015-01-01 02:15:31,bin8131,75,False +CTSPillarNetworkA,8132,8132,8132,1992-04-07,813.2000000001163,813.1485,2015-01-01 02:15:32,bin8132,35,False +CTSPillarNetworkA,8133,8133,8133,1992-04-08,813.3000000001164,813.2485,2015-01-01 02:15:33,bin8133,75,False +CTSPillarNetworkA,8134,8134,8134,1992-04-09,813.4000000001164,813.34845,2015-01-01 02:15:34,bin8134,35,False +CTSPillarNetworkA,8135,8135,8135,1992-04-10,813.5000000001164,813.4484,2015-01-01 02:15:35,bin8135,75,False +CTSPillarNetworkA,8136,8136,8136,1992-04-11,813.6000000001164,813.5484,2015-01-01 02:15:36,bin8136,35,False +CTSPillarNetworkA,8137,8137,8137,1992-04-12,813.7000000001165,813.6484,2015-01-01 02:15:37,bin8137,75,False +CTSPillarNetworkA,8138,8138,8138,1992-04-13,813.8000000001165,813.74835,2015-01-01 02:15:38,bin8138,35,False +CTSPillarNetworkA,8139,8139,8139,1992-04-14,813.9000000001165,813.8483,2015-01-01 02:15:39,bin8139,75,False +CTSPillarNetworkA,8140,8140,8140,1992-04-15,814.0000000001165,813.9483,2015-01-01 02:15:40,bin8140,35,False +CTSPillarNetworkA,8141,8141,8141,1992-04-16,814.1000000001166,814.0483,2015-01-01 02:15:41,bin8141,75,False +CTSPillarNetworkA,8142,8142,8142,1992-04-17,814.2000000001166,814.14825,2015-01-01 02:15:42,bin8142,35,False +CTSPillarNetworkA,8143,8143,8143,1992-04-18,814.3000000001166,814.2482,2015-01-01 02:15:43,bin8143,75,False +CTSPillarNetworkA,8144,8144,8144,1992-04-19,814.4000000001166,814.3482,2015-01-01 02:15:44,bin8144,35,False +CTSPillarNetworkA,8145,8145,8145,1992-04-20,814.5000000001166,814.4482,2015-01-01 02:15:45,bin8145,75,False +CTSPillarNetworkA,8146,8146,8146,1992-04-21,814.6000000001167,814.54816,2015-01-01 02:15:46,bin8146,35,False +CTSPillarNetworkA,8147,8147,8147,1992-04-22,814.7000000001167,814.64813,2015-01-01 02:15:47,bin8147,75,False +CTSPillarNetworkA,8148,8148,8148,1992-04-23,814.8000000001167,814.7481,2015-01-01 02:15:48,bin8148,35,False +CTSPillarNetworkA,8149,8149,8149,1992-04-24,814.9000000001167,814.8481,2015-01-01 02:15:49,bin8149,75,False +CTSPillarNetworkA,8150,8150,8150,1992-04-25,815.0000000001168,814.94806,2015-01-01 02:15:50,bin8150,35,False +CTSPillarNetworkA,8151,8151,8151,1992-04-26,815.1000000001168,815.04803,2015-01-01 02:15:51,bin8151,75,False +CTSPillarNetworkA,8152,8152,8152,1992-04-27,815.2000000001168,815.148,2015-01-01 02:15:52,bin8152,35,False +CTSPillarNetworkA,8153,8153,8153,1992-04-28,815.3000000001168,815.248,2015-01-01 02:15:53,bin8153,75,False +CTSPillarNetworkA,8154,8154,8154,1992-04-29,815.4000000001168,815.34796,2015-01-01 02:15:54,bin8154,35,False +CTSPillarNetworkA,8155,8155,8155,1992-04-30,815.5000000001169,815.44794,2015-01-01 02:15:55,bin8155,75,False +CTSPillarNetworkA,8156,8156,8156,1992-05-01,815.6000000001169,815.5479,2015-01-01 02:15:56,bin8156,35,False +CTSPillarNetworkA,8157,8157,8157,1992-05-02,815.7000000001169,815.6479,2015-01-01 02:15:57,bin8157,75,False +CTSPillarNetworkA,8158,8158,8158,1992-05-03,815.8000000001169,815.74786,2015-01-01 02:15:58,bin8158,35,False +CTSPillarNetworkA,8159,8159,8159,1992-05-04,815.900000000117,815.84784,2015-01-01 02:15:59,bin8159,75,False +CTSPillarNetworkA,8160,8160,8160,1992-05-05,816.000000000117,815.9478,2015-01-01 02:16:00,bin8160,35,False +CTSPillarNetworkA,8161,8161,8161,1992-05-06,816.100000000117,816.0478,2015-01-01 02:16:01,bin8161,75,False +CTSPillarNetworkA,8162,8162,8162,1992-05-07,816.200000000117,816.14777,2015-01-01 02:16:02,bin8162,35,False +CTSPillarNetworkA,8163,8163,8163,1992-05-08,816.300000000117,816.24774,2015-01-01 02:16:03,bin8163,75,False +CTSPillarNetworkA,8164,8164,8164,1992-05-09,816.4000000001171,816.3477,2015-01-01 02:16:04,bin8164,35,False +CTSPillarNetworkA,8165,8165,8165,1992-05-10,816.5000000001171,816.4477,2015-01-01 02:16:05,bin8165,75,False +CTSPillarNetworkA,8166,8166,8166,1992-05-11,816.6000000001171,816.54767,2015-01-01 02:16:06,bin8166,35,False +CTSPillarNetworkA,8167,8167,8167,1992-05-12,816.7000000001171,816.64764,2015-01-01 02:16:07,bin8167,75,False +CTSPillarNetworkA,8168,8168,8168,1992-05-13,816.8000000001172,816.7476,2015-01-01 02:16:08,bin8168,35,False +CTSPillarNetworkA,8169,8169,8169,1992-05-14,816.9000000001172,816.8476,2015-01-01 02:16:09,bin8169,75,False +CTSPillarNetworkA,8170,8170,8170,1992-05-15,817.0000000001172,816.9476,2015-01-01 02:16:10,bin8170,35,False +CTSPillarNetworkA,8171,8171,8171,1992-05-16,817.1000000001172,817.04755,2015-01-01 02:16:11,bin8171,75,False +CTSPillarNetworkA,8172,8172,8172,1992-05-17,817.2000000001173,817.1475,2015-01-01 02:16:12,bin8172,35,False +CTSPillarNetworkA,8173,8173,8173,1992-05-18,817.3000000001173,817.2475,2015-01-01 02:16:13,bin8173,75,False +CTSPillarNetworkA,8174,8174,8174,1992-05-19,817.4000000001173,817.3475,2015-01-01 02:16:14,bin8174,35,False +CTSPillarNetworkA,8175,8175,8175,1992-05-20,817.5000000001173,817.44745,2015-01-01 02:16:15,bin8175,75,False +CTSPillarNetworkA,8176,8176,8176,1992-05-21,817.6000000001173,817.5474,2015-01-01 02:16:16,bin8176,35,False +CTSPillarNetworkA,8177,8177,8177,1992-05-22,817.7000000001174,817.6474,2015-01-01 02:16:17,bin8177,75,False +CTSPillarNetworkA,8178,8178,8178,1992-05-23,817.8000000001174,817.7474,2015-01-01 02:16:18,bin8178,35,False +CTSPillarNetworkA,8179,8179,8179,1992-05-24,817.9000000001174,817.84735,2015-01-01 02:16:19,bin8179,75,False +CTSPillarNetworkA,8180,8180,8180,1992-05-25,818.0000000001174,817.9473,2015-01-01 02:16:20,bin8180,35,False +CTSPillarNetworkA,8181,8181,8181,1992-05-26,818.1000000001175,818.0473,2015-01-01 02:16:21,bin8181,75,False +CTSPillarNetworkA,8182,8182,8182,1992-05-27,818.2000000001175,818.1473,2015-01-01 02:16:22,bin8182,35,False +CTSPillarNetworkA,8183,8183,8183,1992-05-28,818.3000000001175,818.24725,2015-01-01 02:16:23,bin8183,75,False +CTSPillarNetworkA,8184,8184,8184,1992-05-29,818.4000000001175,818.3472,2015-01-01 02:16:24,bin8184,35,False +CTSPillarNetworkA,8185,8185,8185,1992-05-30,818.5000000001176,818.4472,2015-01-01 02:16:25,bin8185,75,False +CTSPillarNetworkA,8186,8186,8186,1992-05-31,818.6000000001176,818.5472,2015-01-01 02:16:26,bin8186,35,False +CTSPillarNetworkA,8187,8187,8187,1992-06-01,818.7000000001176,818.64716,2015-01-01 02:16:27,bin8187,75,False +CTSPillarNetworkA,8188,8188,8188,1992-06-02,818.8000000001176,818.74713,2015-01-01 02:16:28,bin8188,35,False +CTSPillarNetworkA,8189,8189,8189,1992-06-03,818.9000000001176,818.8471,2015-01-01 02:16:29,bin8189,75,False +CTSPillarNetworkA,8190,8190,8190,1992-06-04,819.0000000001177,818.9471,2015-01-01 02:16:30,bin8190,35,False +CTSPillarNetworkA,8191,8191,8191,1992-06-05,819.1000000001177,819.04706,2015-01-01 02:16:31,bin8191,75,False +CTSPillarNetworkA,8192,8192,8192,1992-06-06,819.2000000001177,819.14703,2015-01-01 02:16:32,bin8192,35,False +CTSPillarNetworkA,8193,8193,8193,1992-06-07,819.3000000001177,819.247,2015-01-01 02:16:33,bin8193,75,False +CTSPillarNetworkA,8194,8194,8194,1992-06-08,819.4000000001178,819.347,2015-01-01 02:16:34,bin8194,35,False +CTSPillarNetworkA,8195,8195,8195,1992-06-09,819.5000000001178,819.44696,2015-01-01 02:16:35,bin8195,75,False +CTSPillarNetworkA,8196,8196,8196,1992-06-10,819.6000000001178,819.54694,2015-01-01 02:16:36,bin8196,35,False +CTSPillarNetworkA,8197,8197,8197,1992-06-11,819.7000000001178,819.6469,2015-01-01 02:16:37,bin8197,75,False +CTSPillarNetworkA,8198,8198,8198,1992-06-12,819.8000000001178,819.7469,2015-01-01 02:16:38,bin8198,35,False +CTSPillarNetworkA,8199,8199,8199,1992-06-13,819.9000000001179,819.84686,2015-01-01 02:16:39,bin8199,75,False +CTSPillarNetworkA,8200,8200,8200,1992-06-14,820.0000000001179,819.94684,2015-01-01 02:16:40,bin8200,35,False +CTSPillarNetworkA,8201,8201,8201,1992-06-15,820.1000000001179,820.0468,2015-01-01 02:16:41,bin8201,75,False +CTSPillarNetworkA,8202,8202,8202,1992-06-16,820.2000000001179,820.1468,2015-01-01 02:16:42,bin8202,35,False +CTSPillarNetworkA,8203,8203,8203,1992-06-17,820.300000000118,820.24677,2015-01-01 02:16:43,bin8203,75,False +CTSPillarNetworkA,8204,8204,8204,1992-06-18,820.400000000118,820.34674,2015-01-01 02:16:44,bin8204,35,False +CTSPillarNetworkA,8205,8205,8205,1992-06-19,820.500000000118,820.4467,2015-01-01 02:16:45,bin8205,75,False +CTSPillarNetworkA,8206,8206,8206,1992-06-20,820.600000000118,820.5467,2015-01-01 02:16:46,bin8206,35,False +CTSPillarNetworkA,8207,8207,8207,1992-06-21,820.700000000118,820.64667,2015-01-01 02:16:47,bin8207,75,False +CTSPillarNetworkA,8208,8208,8208,1992-06-22,820.8000000001181,820.74664,2015-01-01 02:16:48,bin8208,35,False +CTSPillarNetworkA,8209,8209,8209,1992-06-23,820.9000000001181,820.8466,2015-01-01 02:16:49,bin8209,75,False +CTSPillarNetworkA,8210,8210,8210,1992-06-24,821.0000000001181,820.9466,2015-01-01 02:16:50,bin8210,35,False +CTSPillarNetworkA,8211,8211,8211,1992-06-25,821.1000000001181,821.0466,2015-01-01 02:16:51,bin8211,75,False +CTSPillarNetworkA,8212,8212,8212,1992-06-26,821.2000000001182,821.14655,2015-01-01 02:16:52,bin8212,35,False +CTSPillarNetworkA,8213,8213,8213,1992-06-27,821.3000000001182,821.2465,2015-01-01 02:16:53,bin8213,75,False +CTSPillarNetworkA,8214,8214,8214,1992-06-28,821.4000000001182,821.3465,2015-01-01 02:16:54,bin8214,35,False +CTSPillarNetworkA,8215,8215,8215,1992-06-29,821.5000000001182,821.4465,2015-01-01 02:16:55,bin8215,75,False +CTSPillarNetworkA,8216,8216,8216,1992-06-30,821.6000000001183,821.54645,2015-01-01 02:16:56,bin8216,35,False +CTSPillarNetworkA,8217,8217,8217,1992-07-01,821.7000000001183,821.6464,2015-01-01 02:16:57,bin8217,75,False +CTSPillarNetworkA,8218,8218,8218,1992-07-02,821.8000000001183,821.7464,2015-01-01 02:16:58,bin8218,35,False +CTSPillarNetworkA,8219,8219,8219,1992-07-03,821.9000000001183,821.8464,2015-01-01 02:16:59,bin8219,75,False +CTSPillarNetworkA,8220,8220,8220,1992-07-04,822.0000000001183,821.94635,2015-01-01 02:17:00,bin8220,35,False +CTSPillarNetworkA,8221,8221,8221,1992-07-05,822.1000000001184,822.0463,2015-01-01 02:17:01,bin8221,75,False +CTSPillarNetworkA,8222,8222,8222,1992-07-06,822.2000000001184,822.1463,2015-01-01 02:17:02,bin8222,35,False +CTSPillarNetworkA,8223,8223,8223,1992-07-07,822.3000000001184,822.2463,2015-01-01 02:17:03,bin8223,75,False +CTSPillarNetworkA,8224,8224,8224,1992-07-08,822.4000000001184,822.34625,2015-01-01 02:17:04,bin8224,35,False +CTSPillarNetworkA,8225,8225,8225,1992-07-09,822.5000000001185,822.4462,2015-01-01 02:17:05,bin8225,75,False +CTSPillarNetworkA,8226,8226,8226,1992-07-10,822.6000000001185,822.5462,2015-01-01 02:17:06,bin8226,35,False +CTSPillarNetworkA,8227,8227,8227,1992-07-11,822.7000000001185,822.6462,2015-01-01 02:17:07,bin8227,75,False +CTSPillarNetworkA,8228,8228,8228,1992-07-12,822.8000000001185,822.74615,2015-01-01 02:17:08,bin8228,35,False +CTSPillarNetworkA,8229,8229,8229,1992-07-13,822.9000000001186,822.8461,2015-01-01 02:17:09,bin8229,75,False +CTSPillarNetworkA,8230,8230,8230,1992-07-14,823.0000000001186,822.9461,2015-01-01 02:17:10,bin8230,35,False +CTSPillarNetworkA,8231,8231,8231,1992-07-15,823.1000000001186,823.0461,2015-01-01 02:17:11,bin8231,75,False +CTSPillarNetworkA,8232,8232,8232,1992-07-16,823.2000000001186,823.14606,2015-01-01 02:17:12,bin8232,35,False +CTSPillarNetworkA,8233,8233,8233,1992-07-17,823.3000000001186,823.24603,2015-01-01 02:17:13,bin8233,75,False +CTSPillarNetworkA,8234,8234,8234,1992-07-18,823.4000000001187,823.346,2015-01-01 02:17:14,bin8234,35,False +CTSPillarNetworkA,8235,8235,8235,1992-07-19,823.5000000001187,823.446,2015-01-01 02:17:15,bin8235,75,False +CTSPillarNetworkA,8236,8236,8236,1992-07-20,823.6000000001187,823.54596,2015-01-01 02:17:16,bin8236,35,False +CTSPillarNetworkA,8237,8237,8237,1992-07-21,823.7000000001187,823.64594,2015-01-01 02:17:17,bin8237,75,False +CTSPillarNetworkA,8238,8238,8238,1992-07-22,823.8000000001188,823.7459,2015-01-01 02:17:18,bin8238,35,False +CTSPillarNetworkA,8239,8239,8239,1992-07-23,823.9000000001188,823.8459,2015-01-01 02:17:19,bin8239,75,False +CTSPillarNetworkA,8240,8240,8240,1992-07-24,824.0000000001188,823.94586,2015-01-01 02:17:20,bin8240,35,False +CTSPillarNetworkA,8241,8241,8241,1992-07-25,824.1000000001188,824.04584,2015-01-01 02:17:21,bin8241,75,False +CTSPillarNetworkA,8242,8242,8242,1992-07-26,824.2000000001188,824.1458,2015-01-01 02:17:22,bin8242,35,False +CTSPillarNetworkA,8243,8243,8243,1992-07-27,824.3000000001189,824.2458,2015-01-01 02:17:23,bin8243,75,False +CTSPillarNetworkA,8244,8244,8244,1992-07-28,824.4000000001189,824.34576,2015-01-01 02:17:24,bin8244,35,False +CTSPillarNetworkA,8245,8245,8245,1992-07-29,824.5000000001189,824.44574,2015-01-01 02:17:25,bin8245,75,False +CTSPillarNetworkA,8246,8246,8246,1992-07-30,824.6000000001189,824.5457,2015-01-01 02:17:26,bin8246,35,False +CTSPillarNetworkA,8247,8247,8247,1992-07-31,824.700000000119,824.6457,2015-01-01 02:17:27,bin8247,75,False +CTSPillarNetworkA,8248,8248,8248,1992-08-01,824.800000000119,824.74567,2015-01-01 02:17:28,bin8248,35,False +CTSPillarNetworkA,8249,8249,8249,1992-08-02,824.900000000119,824.84564,2015-01-01 02:17:29,bin8249,75,False +CTSPillarNetworkA,8250,8250,8250,1992-08-03,825.000000000119,824.9456,2015-01-01 02:17:30,bin8250,35,False +CTSPillarNetworkA,8251,8251,8251,1992-08-04,825.100000000119,825.0456,2015-01-01 02:17:31,bin8251,75,False +CTSPillarNetworkA,8252,8252,8252,1992-08-05,825.2000000001191,825.14557,2015-01-01 02:17:32,bin8252,35,False +CTSPillarNetworkA,8253,8253,8253,1992-08-06,825.3000000001191,825.24554,2015-01-01 02:17:33,bin8253,75,False +CTSPillarNetworkA,8254,8254,8254,1992-08-07,825.4000000001191,825.3455,2015-01-01 02:17:34,bin8254,35,False +CTSPillarNetworkA,8255,8255,8255,1992-08-08,825.5000000001191,825.4455,2015-01-01 02:17:35,bin8255,75,False +CTSPillarNetworkA,8256,8256,8256,1992-08-09,825.6000000001192,825.5455,2015-01-01 02:17:36,bin8256,35,False +CTSPillarNetworkA,8257,8257,8257,1992-08-10,825.7000000001192,825.64545,2015-01-01 02:17:37,bin8257,75,False +CTSPillarNetworkA,8258,8258,8258,1992-08-11,825.8000000001192,825.7454,2015-01-01 02:17:38,bin8258,35,False +CTSPillarNetworkA,8259,8259,8259,1992-08-12,825.9000000001192,825.8454,2015-01-01 02:17:39,bin8259,75,False +CTSPillarNetworkA,8260,8260,8260,1992-08-13,826.0000000001193,825.9454,2015-01-01 02:17:40,bin8260,35,False +CTSPillarNetworkA,8261,8261,8261,1992-08-14,826.1000000001193,826.04535,2015-01-01 02:17:41,bin8261,75,False +CTSPillarNetworkA,8262,8262,8262,1992-08-15,826.2000000001193,826.1453,2015-01-01 02:17:42,bin8262,35,False +CTSPillarNetworkA,8263,8263,8263,1992-08-16,826.3000000001193,826.2453,2015-01-01 02:17:43,bin8263,75,False +CTSPillarNetworkA,8264,8264,8264,1992-08-17,826.4000000001193,826.3453,2015-01-01 02:17:44,bin8264,35,False +CTSPillarNetworkA,8265,8265,8265,1992-08-18,826.5000000001194,826.44525,2015-01-01 02:17:45,bin8265,75,False +CTSPillarNetworkA,8266,8266,8266,1992-08-19,826.6000000001194,826.5452,2015-01-01 02:17:46,bin8266,35,False +CTSPillarNetworkA,8267,8267,8267,1992-08-20,826.7000000001194,826.6452,2015-01-01 02:17:47,bin8267,75,False +CTSPillarNetworkA,8268,8268,8268,1992-08-21,826.8000000001194,826.7452,2015-01-01 02:17:48,bin8268,35,False +CTSPillarNetworkA,8269,8269,8269,1992-08-22,826.9000000001195,826.84515,2015-01-01 02:17:49,bin8269,75,False +CTSPillarNetworkA,8270,8270,8270,1992-08-23,827.0000000001195,826.9451,2015-01-01 02:17:50,bin8270,35,False +CTSPillarNetworkA,8271,8271,8271,1992-08-24,827.1000000001195,827.0451,2015-01-01 02:17:51,bin8271,75,False +CTSPillarNetworkA,8272,8272,8272,1992-08-25,827.2000000001195,827.1451,2015-01-01 02:17:52,bin8272,35,False +CTSPillarNetworkA,8273,8273,8273,1992-08-26,827.3000000001196,827.24506,2015-01-01 02:17:53,bin8273,75,False +CTSPillarNetworkA,8274,8274,8274,1992-08-27,827.4000000001196,827.34503,2015-01-01 02:17:54,bin8274,35,False +CTSPillarNetworkA,8275,8275,8275,1992-08-28,827.5000000001196,827.445,2015-01-01 02:17:55,bin8275,75,False +CTSPillarNetworkA,8276,8276,8276,1992-08-29,827.6000000001196,827.545,2015-01-01 02:17:56,bin8276,35,False +CTSPillarNetworkA,8277,8277,8277,1992-08-30,827.7000000001196,827.64496,2015-01-01 02:17:57,bin8277,75,False +CTSPillarNetworkA,8278,8278,8278,1992-08-31,827.8000000001197,827.74493,2015-01-01 02:17:58,bin8278,35,False +CTSPillarNetworkA,8279,8279,8279,1992-09-01,827.9000000001197,827.8449,2015-01-01 02:17:59,bin8279,75,False +CTSPillarNetworkA,8280,8280,8280,1992-09-02,828.0000000001197,827.9449,2015-01-01 02:18:00,bin8280,35,False +CTSPillarNetworkA,8281,8281,8281,1992-09-03,828.1000000001197,828.04486,2015-01-01 02:18:01,bin8281,75,False +CTSPillarNetworkA,8282,8282,8282,1992-09-04,828.2000000001198,828.14484,2015-01-01 02:18:02,bin8282,35,False +CTSPillarNetworkA,8283,8283,8283,1992-09-05,828.3000000001198,828.2448,2015-01-01 02:18:03,bin8283,75,False +CTSPillarNetworkA,8284,8284,8284,1992-09-06,828.4000000001198,828.3448,2015-01-01 02:18:04,bin8284,35,False +CTSPillarNetworkA,8285,8285,8285,1992-09-07,828.5000000001198,828.44476,2015-01-01 02:18:05,bin8285,75,False +CTSPillarNetworkA,8286,8286,8286,1992-09-08,828.6000000001198,828.54474,2015-01-01 02:18:06,bin8286,35,False +CTSPillarNetworkA,8287,8287,8287,1992-09-09,828.7000000001199,828.6447,2015-01-01 02:18:07,bin8287,75,False +CTSPillarNetworkA,8288,8288,8288,1992-09-10,828.8000000001199,828.7447,2015-01-01 02:18:08,bin8288,35,False +CTSPillarNetworkA,8289,8289,8289,1992-09-11,828.9000000001199,828.84467,2015-01-01 02:18:09,bin8289,75,False +CTSPillarNetworkA,8290,8290,8290,1992-09-12,829.0000000001199,828.94464,2015-01-01 02:18:10,bin8290,35,False +CTSPillarNetworkA,8291,8291,8291,1992-09-13,829.10000000012,829.0446,2015-01-01 02:18:11,bin8291,75,False +CTSPillarNetworkA,8292,8292,8292,1992-09-14,829.20000000012,829.1446,2015-01-01 02:18:12,bin8292,35,False +CTSPillarNetworkA,8293,8293,8293,1992-09-15,829.30000000012,829.24457,2015-01-01 02:18:13,bin8293,75,False +CTSPillarNetworkA,8294,8294,8294,1992-09-16,829.40000000012,829.34454,2015-01-01 02:18:14,bin8294,35,False +CTSPillarNetworkA,8295,8295,8295,1992-09-17,829.50000000012,829.4445,2015-01-01 02:18:15,bin8295,75,False +CTSPillarNetworkA,8296,8296,8296,1992-09-18,829.6000000001201,829.5445,2015-01-01 02:18:16,bin8296,35,False +CTSPillarNetworkA,8297,8297,8297,1992-09-19,829.7000000001201,829.6445,2015-01-01 02:18:17,bin8297,75,False +CTSPillarNetworkA,8298,8298,8298,1992-09-20,829.8000000001201,829.74445,2015-01-01 02:18:18,bin8298,35,False +CTSPillarNetworkA,8299,8299,8299,1992-09-21,829.9000000001201,829.8444,2015-01-01 02:18:19,bin8299,75,False +CTSPillarNetworkA,8300,8300,8300,1992-09-22,830.0000000001202,829.9444,2015-01-01 02:18:20,bin8300,35,False +CTSPillarNetworkA,8301,8301,8301,1992-09-23,830.1000000001202,830.0444,2015-01-01 02:18:21,bin8301,75,False +CTSPillarNetworkA,8302,8302,8302,1992-09-24,830.2000000001202,830.14435,2015-01-01 02:18:22,bin8302,35,False +CTSPillarNetworkA,8303,8303,8303,1992-09-25,830.3000000001202,830.2443,2015-01-01 02:18:23,bin8303,75,False +CTSPillarNetworkA,8304,8304,8304,1992-09-26,830.4000000001203,830.3443,2015-01-01 02:18:24,bin8304,35,False +CTSPillarNetworkA,8305,8305,8305,1992-09-27,830.5000000001203,830.4443,2015-01-01 02:18:25,bin8305,75,False +CTSPillarNetworkA,8306,8306,8306,1992-09-28,830.6000000001203,830.54425,2015-01-01 02:18:26,bin8306,35,False +CTSPillarNetworkA,8307,8307,8307,1992-09-29,830.7000000001203,830.6442,2015-01-01 02:18:27,bin8307,75,False +CTSPillarNetworkA,8308,8308,8308,1992-09-30,830.8000000001203,830.7442,2015-01-01 02:18:28,bin8308,35,False +CTSPillarNetworkA,8309,8309,8309,1992-10-01,830.9000000001204,830.8442,2015-01-01 02:18:29,bin8309,75,False +CTSPillarNetworkA,8310,8310,8310,1992-10-02,831.0000000001204,830.94415,2015-01-01 02:18:30,bin8310,35,False +CTSPillarNetworkA,8311,8311,8311,1992-10-03,831.1000000001204,831.0441,2015-01-01 02:18:31,bin8311,75,False +CTSPillarNetworkA,8312,8312,8312,1992-10-04,831.2000000001204,831.1441,2015-01-01 02:18:32,bin8312,35,False +CTSPillarNetworkA,8313,8313,8313,1992-10-05,831.3000000001205,831.2441,2015-01-01 02:18:33,bin8313,75,False +CTSPillarNetworkA,8314,8314,8314,1992-10-06,831.4000000001205,831.34406,2015-01-01 02:18:34,bin8314,35,False +CTSPillarNetworkA,8315,8315,8315,1992-10-07,831.5000000001205,831.44403,2015-01-01 02:18:35,bin8315,75,False +CTSPillarNetworkA,8316,8316,8316,1992-10-08,831.6000000001205,831.544,2015-01-01 02:18:36,bin8316,35,False +CTSPillarNetworkA,8317,8317,8317,1992-10-09,831.7000000001206,831.644,2015-01-01 02:18:37,bin8317,75,False +CTSPillarNetworkA,8318,8318,8318,1992-10-10,831.8000000001206,831.74396,2015-01-01 02:18:38,bin8318,35,False +CTSPillarNetworkA,8319,8319,8319,1992-10-11,831.9000000001206,831.84393,2015-01-01 02:18:39,bin8319,75,False +CTSPillarNetworkA,8320,8320,8320,1992-10-12,832.0000000001206,831.9439,2015-01-01 02:18:40,bin8320,35,False +CTSPillarNetworkA,8321,8321,8321,1992-10-13,832.1000000001206,832.0439,2015-01-01 02:18:41,bin8321,75,False +CTSPillarNetworkA,8322,8322,8322,1992-10-14,832.2000000001207,832.14386,2015-01-01 02:18:42,bin8322,35,False +CTSPillarNetworkA,8323,8323,8323,1992-10-15,832.3000000001207,832.24384,2015-01-01 02:18:43,bin8323,75,False +CTSPillarNetworkA,8324,8324,8324,1992-10-16,832.4000000001207,832.3438,2015-01-01 02:18:44,bin8324,35,False +CTSPillarNetworkA,8325,8325,8325,1992-10-17,832.5000000001207,832.4438,2015-01-01 02:18:45,bin8325,75,False +CTSPillarNetworkA,8326,8326,8326,1992-10-18,832.6000000001208,832.54376,2015-01-01 02:18:46,bin8326,35,False +CTSPillarNetworkA,8327,8327,8327,1992-10-19,832.7000000001208,832.64374,2015-01-01 02:18:47,bin8327,75,False +CTSPillarNetworkA,8328,8328,8328,1992-10-20,832.8000000001208,832.7437,2015-01-01 02:18:48,bin8328,35,False +CTSPillarNetworkA,8329,8329,8329,1992-10-21,832.9000000001208,832.8437,2015-01-01 02:18:49,bin8329,75,False +CTSPillarNetworkA,8330,8330,8330,1992-10-22,833.0000000001208,832.94366,2015-01-01 02:18:50,bin8330,35,False +CTSPillarNetworkA,8331,8331,8331,1992-10-23,833.1000000001209,833.04364,2015-01-01 02:18:51,bin8331,75,False +CTSPillarNetworkA,8332,8332,8332,1992-10-24,833.2000000001209,833.1436,2015-01-01 02:18:52,bin8332,35,False +CTSPillarNetworkA,8333,8333,8333,1992-10-25,833.3000000001209,833.2436,2015-01-01 02:18:53,bin8333,75,False +CTSPillarNetworkA,8334,8334,8334,1992-10-26,833.4000000001209,833.34357,2015-01-01 02:18:54,bin8334,35,False +CTSPillarNetworkA,8335,8335,8335,1992-10-27,833.500000000121,833.44354,2015-01-01 02:18:55,bin8335,75,False +CTSPillarNetworkA,8336,8336,8336,1992-10-28,833.600000000121,833.5435,2015-01-01 02:18:56,bin8336,35,False +CTSPillarNetworkA,8337,8337,8337,1992-10-29,833.700000000121,833.6435,2015-01-01 02:18:57,bin8337,75,False +CTSPillarNetworkA,8338,8338,8338,1992-10-30,833.800000000121,833.74347,2015-01-01 02:18:58,bin8338,35,False +CTSPillarNetworkA,8339,8339,8339,1992-10-31,833.900000000121,833.84344,2015-01-01 02:18:59,bin8339,75,False +CTSPillarNetworkA,8340,8340,8340,1992-11-01,834.0000000001211,833.9434,2015-01-01 02:19:00,bin8340,35,False +CTSPillarNetworkA,8341,8341,8341,1992-11-02,834.1000000001211,834.0434,2015-01-01 02:19:01,bin8341,75,False +CTSPillarNetworkA,8342,8342,8342,1992-11-03,834.2000000001211,834.1434,2015-01-01 02:19:02,bin8342,35,False +CTSPillarNetworkA,8343,8343,8343,1992-11-04,834.3000000001211,834.24335,2015-01-01 02:19:03,bin8343,75,False +CTSPillarNetworkA,8344,8344,8344,1992-11-05,834.4000000001212,834.3433,2015-01-01 02:19:04,bin8344,35,False +CTSPillarNetworkA,8345,8345,8345,1992-11-06,834.5000000001212,834.4433,2015-01-01 02:19:05,bin8345,75,False +CTSPillarNetworkA,8346,8346,8346,1992-11-07,834.6000000001212,834.5433,2015-01-01 02:19:06,bin8346,35,False +CTSPillarNetworkA,8347,8347,8347,1992-11-08,834.7000000001212,834.64325,2015-01-01 02:19:07,bin8347,75,False +CTSPillarNetworkA,8348,8348,8348,1992-11-09,834.8000000001213,834.7432,2015-01-01 02:19:08,bin8348,35,False +CTSPillarNetworkA,8349,8349,8349,1992-11-10,834.9000000001213,834.8432,2015-01-01 02:19:09,bin8349,75,False +CTSPillarNetworkA,8350,8350,8350,1992-11-11,835.0000000001213,834.9432,2015-01-01 02:19:10,bin8350,35,False +CTSPillarNetworkA,8351,8351,8351,1992-11-12,835.1000000001213,835.04315,2015-01-01 02:19:11,bin8351,75,False +CTSPillarNetworkA,8352,8352,8352,1992-11-13,835.2000000001213,835.1431,2015-01-01 02:19:12,bin8352,35,False +CTSPillarNetworkA,8353,8353,8353,1992-11-14,835.3000000001214,835.2431,2015-01-01 02:19:13,bin8353,75,False +CTSPillarNetworkA,8354,8354,8354,1992-11-15,835.4000000001214,835.3431,2015-01-01 02:19:14,bin8354,35,False +CTSPillarNetworkA,8355,8355,8355,1992-11-16,835.5000000001214,835.44305,2015-01-01 02:19:15,bin8355,75,False +CTSPillarNetworkA,8356,8356,8356,1992-11-17,835.6000000001214,835.543,2015-01-01 02:19:16,bin8356,35,False +CTSPillarNetworkA,8357,8357,8357,1992-11-18,835.7000000001215,835.643,2015-01-01 02:19:17,bin8357,75,False +CTSPillarNetworkA,8358,8358,8358,1992-11-19,835.8000000001215,835.743,2015-01-01 02:19:18,bin8358,35,False +CTSPillarNetworkA,8359,8359,8359,1992-11-20,835.9000000001215,835.84296,2015-01-01 02:19:19,bin8359,75,False +CTSPillarNetworkA,8360,8360,8360,1992-11-21,836.0000000001215,835.94293,2015-01-01 02:19:20,bin8360,35,False +CTSPillarNetworkA,8361,8361,8361,1992-11-22,836.1000000001216,836.0429,2015-01-01 02:19:21,bin8361,75,False +CTSPillarNetworkA,8362,8362,8362,1992-11-23,836.2000000001216,836.1429,2015-01-01 02:19:22,bin8362,35,False +CTSPillarNetworkA,8363,8363,8363,1992-11-24,836.3000000001216,836.24286,2015-01-01 02:19:23,bin8363,75,False +CTSPillarNetworkA,8364,8364,8364,1992-11-25,836.4000000001216,836.34283,2015-01-01 02:19:24,bin8364,35,False +CTSPillarNetworkA,8365,8365,8365,1992-11-26,836.5000000001216,836.4428,2015-01-01 02:19:25,bin8365,75,False +CTSPillarNetworkA,8366,8366,8366,1992-11-27,836.6000000001217,836.5428,2015-01-01 02:19:26,bin8366,35,False +CTSPillarNetworkA,8367,8367,8367,1992-11-28,836.7000000001217,836.64276,2015-01-01 02:19:27,bin8367,75,False +CTSPillarNetworkA,8368,8368,8368,1992-11-29,836.8000000001217,836.74274,2015-01-01 02:19:28,bin8368,35,False +CTSPillarNetworkA,8369,8369,8369,1992-11-30,836.9000000001217,836.8427,2015-01-01 02:19:29,bin8369,75,False +CTSPillarNetworkA,8370,8370,8370,1992-12-01,837.0000000001218,836.9427,2015-01-01 02:19:30,bin8370,35,False +CTSPillarNetworkA,8371,8371,8371,1992-12-02,837.1000000001218,837.04266,2015-01-01 02:19:31,bin8371,75,False +CTSPillarNetworkA,8372,8372,8372,1992-12-03,837.2000000001218,837.14264,2015-01-01 02:19:32,bin8372,35,False +CTSPillarNetworkA,8373,8373,8373,1992-12-04,837.3000000001218,837.2426,2015-01-01 02:19:33,bin8373,75,False +CTSPillarNetworkA,8374,8374,8374,1992-12-05,837.4000000001218,837.3426,2015-01-01 02:19:34,bin8374,35,False +CTSPillarNetworkA,8375,8375,8375,1992-12-06,837.5000000001219,837.44257,2015-01-01 02:19:35,bin8375,75,False +CTSPillarNetworkA,8376,8376,8376,1992-12-07,837.6000000001219,837.54254,2015-01-01 02:19:36,bin8376,35,False +CTSPillarNetworkA,8377,8377,8377,1992-12-08,837.7000000001219,837.6425,2015-01-01 02:19:37,bin8377,75,False +CTSPillarNetworkA,8378,8378,8378,1992-12-09,837.8000000001219,837.7425,2015-01-01 02:19:38,bin8378,35,False +CTSPillarNetworkA,8379,8379,8379,1992-12-10,837.900000000122,837.84247,2015-01-01 02:19:39,bin8379,75,False +CTSPillarNetworkA,8380,8380,8380,1992-12-11,838.000000000122,837.94244,2015-01-01 02:19:40,bin8380,35,False +CTSPillarNetworkA,8381,8381,8381,1992-12-12,838.100000000122,838.0424,2015-01-01 02:19:41,bin8381,75,False +CTSPillarNetworkA,8382,8382,8382,1992-12-13,838.200000000122,838.1424,2015-01-01 02:19:42,bin8382,35,False +CTSPillarNetworkA,8383,8383,8383,1992-12-14,838.300000000122,838.2424,2015-01-01 02:19:43,bin8383,75,False +CTSPillarNetworkA,8384,8384,8384,1992-12-15,838.4000000001221,838.34235,2015-01-01 02:19:44,bin8384,35,False +CTSPillarNetworkA,8385,8385,8385,1992-12-16,838.5000000001221,838.4423,2015-01-01 02:19:45,bin8385,75,False +CTSPillarNetworkA,8386,8386,8386,1992-12-17,838.6000000001221,838.5423,2015-01-01 02:19:46,bin8386,35,False +CTSPillarNetworkA,8387,8387,8387,1992-12-18,838.7000000001221,838.6423,2015-01-01 02:19:47,bin8387,75,False +CTSPillarNetworkA,8388,8388,8388,1992-12-19,838.8000000001222,838.74225,2015-01-01 02:19:48,bin8388,35,False +CTSPillarNetworkA,8389,8389,8389,1992-12-20,838.9000000001222,838.8422,2015-01-01 02:19:49,bin8389,75,False +CTSPillarNetworkA,8390,8390,8390,1992-12-21,839.0000000001222,838.9422,2015-01-01 02:19:50,bin8390,35,False +CTSPillarNetworkA,8391,8391,8391,1992-12-22,839.1000000001222,839.0422,2015-01-01 02:19:51,bin8391,75,False +CTSPillarNetworkA,8392,8392,8392,1992-12-23,839.2000000001223,839.14215,2015-01-01 02:19:52,bin8392,35,False +CTSPillarNetworkA,8393,8393,8393,1992-12-24,839.3000000001223,839.2421,2015-01-01 02:19:53,bin8393,75,False +CTSPillarNetworkA,8394,8394,8394,1992-12-25,839.4000000001223,839.3421,2015-01-01 02:19:54,bin8394,35,False +CTSPillarNetworkA,8395,8395,8395,1992-12-26,839.5000000001223,839.4421,2015-01-01 02:19:55,bin8395,75,False +CTSPillarNetworkA,8396,8396,8396,1992-12-27,839.6000000001223,839.54205,2015-01-01 02:19:56,bin8396,35,False +CTSPillarNetworkA,8397,8397,8397,1992-12-28,839.7000000001224,839.642,2015-01-01 02:19:57,bin8397,75,False +CTSPillarNetworkA,8398,8398,8398,1992-12-29,839.8000000001224,839.742,2015-01-01 02:19:58,bin8398,35,False +CTSPillarNetworkA,8399,8399,8399,1992-12-30,839.9000000001224,839.842,2015-01-01 02:19:59,bin8399,75,False +CTSPillarNetworkA,8400,8400,8400,1992-12-31,840.0000000001224,839.94196,2015-01-01 02:20:00,bin8400,35,False +CTSPillarNetworkA,8401,8401,8401,1993-01-01,840.1000000001225,840.04193,2015-01-01 02:20:01,bin8401,75,False +CTSPillarNetworkA,8402,8402,8402,1993-01-02,840.2000000001225,840.1419,2015-01-01 02:20:02,bin8402,35,False +CTSPillarNetworkA,8403,8403,8403,1993-01-03,840.3000000001225,840.2419,2015-01-01 02:20:03,bin8403,75,False +CTSPillarNetworkA,8404,8404,8404,1993-01-04,840.4000000001225,840.34186,2015-01-01 02:20:04,bin8404,35,False +CTSPillarNetworkA,8405,8405,8405,1993-01-05,840.5000000001226,840.44183,2015-01-01 02:20:05,bin8405,75,False +CTSPillarNetworkA,8406,8406,8406,1993-01-06,840.6000000001226,840.5418,2015-01-01 02:20:06,bin8406,35,False +CTSPillarNetworkA,8407,8407,8407,1993-01-07,840.7000000001226,840.6418,2015-01-01 02:20:07,bin8407,75,False +CTSPillarNetworkA,8408,8408,8408,1993-01-08,840.8000000001226,840.74176,2015-01-01 02:20:08,bin8408,35,False +CTSPillarNetworkA,8409,8409,8409,1993-01-09,840.9000000001226,840.84174,2015-01-01 02:20:09,bin8409,75,False +CTSPillarNetworkA,8410,8410,8410,1993-01-10,841.0000000001227,840.9417,2015-01-01 02:20:10,bin8410,35,False +CTSPillarNetworkA,8411,8411,8411,1993-01-11,841.1000000001227,841.0417,2015-01-01 02:20:11,bin8411,75,False +CTSPillarNetworkA,8412,8412,8412,1993-01-12,841.2000000001227,841.14166,2015-01-01 02:20:12,bin8412,35,False +CTSPillarNetworkA,8413,8413,8413,1993-01-13,841.3000000001227,841.24164,2015-01-01 02:20:13,bin8413,75,False +CTSPillarNetworkA,8414,8414,8414,1993-01-14,841.4000000001228,841.3416,2015-01-01 02:20:14,bin8414,35,False +CTSPillarNetworkA,8415,8415,8415,1993-01-15,841.5000000001228,841.4416,2015-01-01 02:20:15,bin8415,75,False +CTSPillarNetworkA,8416,8416,8416,1993-01-16,841.6000000001228,841.54156,2015-01-01 02:20:16,bin8416,35,False +CTSPillarNetworkA,8417,8417,8417,1993-01-17,841.7000000001228,841.64154,2015-01-01 02:20:17,bin8417,75,False +CTSPillarNetworkA,8418,8418,8418,1993-01-18,841.8000000001228,841.7415,2015-01-01 02:20:18,bin8418,35,False +CTSPillarNetworkA,8419,8419,8419,1993-01-19,841.9000000001229,841.8415,2015-01-01 02:20:19,bin8419,75,False +CTSPillarNetworkA,8420,8420,8420,1993-01-20,842.0000000001229,841.94147,2015-01-01 02:20:20,bin8420,35,False +CTSPillarNetworkA,8421,8421,8421,1993-01-21,842.1000000001229,842.04144,2015-01-01 02:20:21,bin8421,75,False +CTSPillarNetworkA,8422,8422,8422,1993-01-22,842.2000000001229,842.1414,2015-01-01 02:20:22,bin8422,35,False +CTSPillarNetworkA,8423,8423,8423,1993-01-23,842.300000000123,842.2414,2015-01-01 02:20:23,bin8423,75,False +CTSPillarNetworkA,8424,8424,8424,1993-01-24,842.400000000123,842.3414,2015-01-01 02:20:24,bin8424,35,False +CTSPillarNetworkA,8425,8425,8425,1993-01-25,842.500000000123,842.44135,2015-01-01 02:20:25,bin8425,75,False +CTSPillarNetworkA,8426,8426,8426,1993-01-26,842.600000000123,842.5413,2015-01-01 02:20:26,bin8426,35,False +CTSPillarNetworkA,8427,8427,8427,1993-01-27,842.700000000123,842.6413,2015-01-01 02:20:27,bin8427,75,False +CTSPillarNetworkA,8428,8428,8428,1993-01-28,842.8000000001231,842.7413,2015-01-01 02:20:28,bin8428,35,False +CTSPillarNetworkA,8429,8429,8429,1993-01-29,842.9000000001231,842.84125,2015-01-01 02:20:29,bin8429,75,False +CTSPillarNetworkA,8430,8430,8430,1993-01-30,843.0000000001231,842.9412,2015-01-01 02:20:30,bin8430,35,False +CTSPillarNetworkA,8431,8431,8431,1993-01-31,843.1000000001231,843.0412,2015-01-01 02:20:31,bin8431,75,False +CTSPillarNetworkA,8432,8432,8432,1993-02-01,843.2000000001232,843.1412,2015-01-01 02:20:32,bin8432,35,False +CTSPillarNetworkA,8433,8433,8433,1993-02-02,843.3000000001232,843.24115,2015-01-01 02:20:33,bin8433,75,False +CTSPillarNetworkA,8434,8434,8434,1993-02-03,843.4000000001232,843.3411,2015-01-01 02:20:34,bin8434,35,False +CTSPillarNetworkA,8435,8435,8435,1993-02-04,843.5000000001232,843.4411,2015-01-01 02:20:35,bin8435,75,False +CTSPillarNetworkA,8436,8436,8436,1993-02-05,843.6000000001233,843.5411,2015-01-01 02:20:36,bin8436,35,False +CTSPillarNetworkA,8437,8437,8437,1993-02-06,843.7000000001233,843.64105,2015-01-01 02:20:37,bin8437,75,False +CTSPillarNetworkA,8438,8438,8438,1993-02-07,843.8000000001233,843.741,2015-01-01 02:20:38,bin8438,35,False +CTSPillarNetworkA,8439,8439,8439,1993-02-08,843.9000000001233,843.841,2015-01-01 02:20:39,bin8439,75,False +CTSPillarNetworkA,8440,8440,8440,1993-02-09,844.0000000001234,843.941,2015-01-01 02:20:40,bin8440,35,False +CTSPillarNetworkA,8441,8441,8441,1993-02-10,844.1000000001234,844.04095,2015-01-01 02:20:41,bin8441,75,False +CTSPillarNetworkA,8442,8442,8442,1993-02-11,844.2000000001234,844.1409,2015-01-01 02:20:42,bin8442,35,False +CTSPillarNetworkA,8443,8443,8443,1993-02-12,844.3000000001234,844.2409,2015-01-01 02:20:43,bin8443,75,False +CTSPillarNetworkA,8444,8444,8444,1993-02-13,844.4000000001234,844.3409,2015-01-01 02:20:44,bin8444,35,False +CTSPillarNetworkA,8445,8445,8445,1993-02-14,844.5000000001235,844.44086,2015-01-01 02:20:45,bin8445,75,False +CTSPillarNetworkA,8446,8446,8446,1993-02-15,844.6000000001235,844.54083,2015-01-01 02:20:46,bin8446,35,False +CTSPillarNetworkA,8447,8447,8447,1993-02-16,844.7000000001235,844.6408,2015-01-01 02:20:47,bin8447,75,False +CTSPillarNetworkA,8448,8448,8448,1993-02-17,844.8000000001235,844.7408,2015-01-01 02:20:48,bin8448,35,False +CTSPillarNetworkA,8449,8449,8449,1993-02-18,844.9000000001236,844.84076,2015-01-01 02:20:49,bin8449,75,False +CTSPillarNetworkA,8450,8450,8450,1993-02-19,845.0000000001236,844.94073,2015-01-01 02:20:50,bin8450,35,False +CTSPillarNetworkA,8451,8451,8451,1993-02-20,845.1000000001236,845.0407,2015-01-01 02:20:51,bin8451,75,False +CTSPillarNetworkA,8452,8452,8452,1993-02-21,845.2000000001236,845.1407,2015-01-01 02:20:52,bin8452,35,False +CTSPillarNetworkA,8453,8453,8453,1993-02-22,845.3000000001236,845.24066,2015-01-01 02:20:53,bin8453,75,False +CTSPillarNetworkA,8454,8454,8454,1993-02-23,845.4000000001237,845.34064,2015-01-01 02:20:54,bin8454,35,False +CTSPillarNetworkA,8455,8455,8455,1993-02-24,845.5000000001237,845.4406,2015-01-01 02:20:55,bin8455,75,False +CTSPillarNetworkA,8456,8456,8456,1993-02-25,845.6000000001237,845.5406,2015-01-01 02:20:56,bin8456,35,False +CTSPillarNetworkA,8457,8457,8457,1993-02-26,845.7000000001237,845.64056,2015-01-01 02:20:57,bin8457,75,False +CTSPillarNetworkA,8458,8458,8458,1993-02-27,845.8000000001238,845.74054,2015-01-01 02:20:58,bin8458,35,False +CTSPillarNetworkA,8459,8459,8459,1993-02-28,845.9000000001238,845.8405,2015-01-01 02:20:59,bin8459,75,False +CTSPillarNetworkA,8460,8460,8460,1993-03-01,846.0000000001238,845.9405,2015-01-01 02:21:00,bin8460,35,False +CTSPillarNetworkA,8461,8461,8461,1993-03-02,846.1000000001238,846.04047,2015-01-01 02:21:01,bin8461,75,False +CTSPillarNetworkA,8462,8462,8462,1993-03-03,846.2000000001239,846.14044,2015-01-01 02:21:02,bin8462,35,False +CTSPillarNetworkA,8463,8463,8463,1993-03-04,846.3000000001239,846.2404,2015-01-01 02:21:03,bin8463,75,False +CTSPillarNetworkA,8464,8464,8464,1993-03-05,846.4000000001239,846.3404,2015-01-01 02:21:04,bin8464,35,False +CTSPillarNetworkA,8465,8465,8465,1993-03-06,846.5000000001239,846.44037,2015-01-01 02:21:05,bin8465,75,False +CTSPillarNetworkA,8466,8466,8466,1993-03-07,846.6000000001239,846.54034,2015-01-01 02:21:06,bin8466,35,False +CTSPillarNetworkA,8467,8467,8467,1993-03-08,846.700000000124,846.6403,2015-01-01 02:21:07,bin8467,75,False +CTSPillarNetworkA,8468,8468,8468,1993-03-09,846.800000000124,846.7403,2015-01-01 02:21:08,bin8468,35,False +CTSPillarNetworkA,8469,8469,8469,1993-03-10,846.900000000124,846.8403,2015-01-01 02:21:09,bin8469,75,False +CTSPillarNetworkA,8470,8470,8470,1993-03-11,847.000000000124,846.94025,2015-01-01 02:21:10,bin8470,35,False +CTSPillarNetworkA,8471,8471,8471,1993-03-12,847.100000000124,847.0402,2015-01-01 02:21:11,bin8471,75,False +CTSPillarNetworkA,8472,8472,8472,1993-03-13,847.2000000001241,847.1402,2015-01-01 02:21:12,bin8472,35,False +CTSPillarNetworkA,8473,8473,8473,1993-03-14,847.3000000001241,847.2402,2015-01-01 02:21:13,bin8473,75,False +CTSPillarNetworkA,8474,8474,8474,1993-03-15,847.4000000001241,847.34015,2015-01-01 02:21:14,bin8474,35,False +CTSPillarNetworkA,8475,8475,8475,1993-03-16,847.5000000001241,847.4401,2015-01-01 02:21:15,bin8475,75,False +CTSPillarNetworkA,8476,8476,8476,1993-03-17,847.6000000001242,847.5401,2015-01-01 02:21:16,bin8476,35,False +CTSPillarNetworkA,8477,8477,8477,1993-03-18,847.7000000001242,847.6401,2015-01-01 02:21:17,bin8477,75,False +CTSPillarNetworkA,8478,8478,8478,1993-03-19,847.8000000001242,847.74005,2015-01-01 02:21:18,bin8478,35,False +CTSPillarNetworkA,8479,8479,8479,1993-03-20,847.9000000001242,847.84,2015-01-01 02:21:19,bin8479,75,False +CTSPillarNetworkA,8480,8480,8480,1993-03-21,848.0000000001243,847.94,2015-01-01 02:21:20,bin8480,35,False +CTSPillarNetworkA,8481,8481,8481,1993-03-22,848.1000000001243,848.04,2015-01-01 02:21:21,bin8481,75,False +CTSPillarNetworkA,8482,8482,8482,1993-03-23,848.2000000001243,848.13995,2015-01-01 02:21:22,bin8482,35,False +CTSPillarNetworkA,8483,8483,8483,1993-03-24,848.3000000001243,848.2399,2015-01-01 02:21:23,bin8483,75,False +CTSPillarNetworkA,8484,8484,8484,1993-03-25,848.4000000001244,848.3399,2015-01-01 02:21:24,bin8484,35,False +CTSPillarNetworkA,8485,8485,8485,1993-03-26,848.5000000001244,848.4399,2015-01-01 02:21:25,bin8485,75,False +CTSPillarNetworkA,8486,8486,8486,1993-03-27,848.6000000001244,848.53986,2015-01-01 02:21:26,bin8486,35,False +CTSPillarNetworkA,8487,8487,8487,1993-03-28,848.7000000001244,848.63983,2015-01-01 02:21:27,bin8487,75,False +CTSPillarNetworkA,8488,8488,8488,1993-03-29,848.8000000001244,848.7398,2015-01-01 02:21:28,bin8488,35,False +CTSPillarNetworkA,8489,8489,8489,1993-03-30,848.9000000001245,848.8398,2015-01-01 02:21:29,bin8489,75,False +CTSPillarNetworkA,8490,8490,8490,1993-03-31,849.0000000001245,848.93976,2015-01-01 02:21:30,bin8490,35,False +CTSPillarNetworkA,8491,8491,8491,1993-04-01,849.1000000001245,849.03973,2015-01-01 02:21:31,bin8491,75,False +CTSPillarNetworkA,8492,8492,8492,1993-04-02,849.2000000001245,849.1397,2015-01-01 02:21:32,bin8492,35,False +CTSPillarNetworkA,8493,8493,8493,1993-04-03,849.3000000001246,849.2397,2015-01-01 02:21:33,bin8493,75,False +CTSPillarNetworkA,8494,8494,8494,1993-04-04,849.4000000001246,849.33966,2015-01-01 02:21:34,bin8494,35,False +CTSPillarNetworkA,8495,8495,8495,1993-04-05,849.5000000001246,849.43964,2015-01-01 02:21:35,bin8495,75,False +CTSPillarNetworkA,8496,8496,8496,1993-04-06,849.6000000001246,849.5396,2015-01-01 02:21:36,bin8496,35,False +CTSPillarNetworkA,8497,8497,8497,1993-04-07,849.7000000001246,849.6396,2015-01-01 02:21:37,bin8497,75,False +CTSPillarNetworkA,8498,8498,8498,1993-04-08,849.8000000001247,849.73956,2015-01-01 02:21:38,bin8498,35,False +CTSPillarNetworkA,8499,8499,8499,1993-04-09,849.9000000001247,849.83954,2015-01-01 02:21:39,bin8499,75,False +CTSPillarNetworkA,8500,8500,8500,1993-04-10,850.0000000001247,849.9395,2015-01-01 02:21:40,bin8500,35,False +CTSPillarNetworkA,8501,8501,8501,1993-04-11,850.1000000001247,850.0395,2015-01-01 02:21:41,bin8501,75,False +CTSPillarNetworkA,8502,8502,8502,1993-04-12,850.2000000001248,850.13947,2015-01-01 02:21:42,bin8502,35,False +CTSPillarNetworkA,8503,8503,8503,1993-04-13,850.3000000001248,850.23944,2015-01-01 02:21:43,bin8503,75,False +CTSPillarNetworkA,8504,8504,8504,1993-04-14,850.4000000001248,850.3394,2015-01-01 02:21:44,bin8504,35,False +CTSPillarNetworkA,8505,8505,8505,1993-04-15,850.5000000001248,850.4394,2015-01-01 02:21:45,bin8505,75,False +CTSPillarNetworkA,8506,8506,8506,1993-04-16,850.6000000001249,850.53937,2015-01-01 02:21:46,bin8506,35,False +CTSPillarNetworkA,8507,8507,8507,1993-04-17,850.7000000001249,850.63934,2015-01-01 02:21:47,bin8507,75,False +CTSPillarNetworkA,8508,8508,8508,1993-04-18,850.8000000001249,850.7393,2015-01-01 02:21:48,bin8508,35,False +CTSPillarNetworkA,8509,8509,8509,1993-04-19,850.9000000001249,850.8393,2015-01-01 02:21:49,bin8509,75,False +CTSPillarNetworkA,8510,8510,8510,1993-04-20,851.0000000001249,850.9393,2015-01-01 02:21:50,bin8510,35,False +CTSPillarNetworkA,8511,8511,8511,1993-04-21,851.100000000125,851.03925,2015-01-01 02:21:51,bin8511,75,False +CTSPillarNetworkA,8512,8512,8512,1993-04-22,851.200000000125,851.1392,2015-01-01 02:21:52,bin8512,35,False +CTSPillarNetworkA,8513,8513,8513,1993-04-23,851.300000000125,851.2392,2015-01-01 02:21:53,bin8513,75,False +CTSPillarNetworkA,8514,8514,8514,1993-04-24,851.400000000125,851.3392,2015-01-01 02:21:54,bin8514,35,False +CTSPillarNetworkA,8515,8515,8515,1993-04-25,851.500000000125,851.43915,2015-01-01 02:21:55,bin8515,75,False +CTSPillarNetworkA,8516,8516,8516,1993-04-26,851.6000000001251,851.5391,2015-01-01 02:21:56,bin8516,35,False +CTSPillarNetworkA,8517,8517,8517,1993-04-27,851.7000000001251,851.6391,2015-01-01 02:21:57,bin8517,75,False +CTSPillarNetworkA,8518,8518,8518,1993-04-28,851.8000000001251,851.7391,2015-01-01 02:21:58,bin8518,35,False +CTSPillarNetworkA,8519,8519,8519,1993-04-29,851.9000000001251,851.83905,2015-01-01 02:21:59,bin8519,75,False +CTSPillarNetworkA,8520,8520,8520,1993-04-30,852.0000000001252,851.939,2015-01-01 02:22:00,bin8520,35,False +CTSPillarNetworkA,8521,8521,8521,1993-05-01,852.1000000001252,852.039,2015-01-01 02:22:01,bin8521,75,False +CTSPillarNetworkA,8522,8522,8522,1993-05-02,852.2000000001252,852.139,2015-01-01 02:22:02,bin8522,35,False +CTSPillarNetworkA,8523,8523,8523,1993-05-03,852.3000000001252,852.23895,2015-01-01 02:22:03,bin8523,75,False +CTSPillarNetworkA,8524,8524,8524,1993-05-04,852.4000000001253,852.3389,2015-01-01 02:22:04,bin8524,35,False +CTSPillarNetworkA,8525,8525,8525,1993-05-05,852.5000000001253,852.4389,2015-01-01 02:22:05,bin8525,75,False +CTSPillarNetworkA,8526,8526,8526,1993-05-06,852.6000000001253,852.5389,2015-01-01 02:22:06,bin8526,35,False +CTSPillarNetworkA,8527,8527,8527,1993-05-07,852.7000000001253,852.63885,2015-01-01 02:22:07,bin8527,75,False +CTSPillarNetworkA,8528,8528,8528,1993-05-08,852.8000000001254,852.73883,2015-01-01 02:22:08,bin8528,35,False +CTSPillarNetworkA,8529,8529,8529,1993-05-09,852.9000000001254,852.8388,2015-01-01 02:22:09,bin8529,75,False +CTSPillarNetworkA,8530,8530,8530,1993-05-10,853.0000000001254,852.9388,2015-01-01 02:22:10,bin8530,35,False +CTSPillarNetworkA,8531,8531,8531,1993-05-11,853.1000000001254,853.03876,2015-01-01 02:22:11,bin8531,75,False +CTSPillarNetworkA,8532,8532,8532,1993-05-12,853.2000000001254,853.13873,2015-01-01 02:22:12,bin8532,35,False +CTSPillarNetworkA,8533,8533,8533,1993-05-13,853.3000000001255,853.2387,2015-01-01 02:22:13,bin8533,75,False +CTSPillarNetworkA,8534,8534,8534,1993-05-14,853.4000000001255,853.3387,2015-01-01 02:22:14,bin8534,35,False +CTSPillarNetworkA,8535,8535,8535,1993-05-15,853.5000000001255,853.43866,2015-01-01 02:22:15,bin8535,75,False +CTSPillarNetworkA,8536,8536,8536,1993-05-16,853.6000000001255,853.53864,2015-01-01 02:22:16,bin8536,35,False +CTSPillarNetworkA,8537,8537,8537,1993-05-17,853.7000000001256,853.6386,2015-01-01 02:22:17,bin8537,75,False +CTSPillarNetworkA,8538,8538,8538,1993-05-18,853.8000000001256,853.7386,2015-01-01 02:22:18,bin8538,35,False +CTSPillarNetworkA,8539,8539,8539,1993-05-19,853.9000000001256,853.83856,2015-01-01 02:22:19,bin8539,75,False +CTSPillarNetworkA,8540,8540,8540,1993-05-20,854.0000000001256,853.93854,2015-01-01 02:22:20,bin8540,35,False +CTSPillarNetworkA,8541,8541,8541,1993-05-21,854.1000000001256,854.0385,2015-01-01 02:22:21,bin8541,75,False +CTSPillarNetworkA,8542,8542,8542,1993-05-22,854.2000000001257,854.1385,2015-01-01 02:22:22,bin8542,35,False +CTSPillarNetworkA,8543,8543,8543,1993-05-23,854.3000000001257,854.23846,2015-01-01 02:22:23,bin8543,75,False +CTSPillarNetworkA,8544,8544,8544,1993-05-24,854.4000000001257,854.33844,2015-01-01 02:22:24,bin8544,35,False +CTSPillarNetworkA,8545,8545,8545,1993-05-25,854.5000000001257,854.4384,2015-01-01 02:22:25,bin8545,75,False +CTSPillarNetworkA,8546,8546,8546,1993-05-26,854.6000000001258,854.5384,2015-01-01 02:22:26,bin8546,35,False +CTSPillarNetworkA,8547,8547,8547,1993-05-27,854.7000000001258,854.63837,2015-01-01 02:22:27,bin8547,75,False +CTSPillarNetworkA,8548,8548,8548,1993-05-28,854.8000000001258,854.73834,2015-01-01 02:22:28,bin8548,35,False +CTSPillarNetworkA,8549,8549,8549,1993-05-29,854.9000000001258,854.8383,2015-01-01 02:22:29,bin8549,75,False +CTSPillarNetworkA,8550,8550,8550,1993-05-30,855.0000000001259,854.9383,2015-01-01 02:22:30,bin8550,35,False +CTSPillarNetworkA,8551,8551,8551,1993-05-31,855.1000000001259,855.03827,2015-01-01 02:22:31,bin8551,75,False +CTSPillarNetworkA,8552,8552,8552,1993-06-01,855.2000000001259,855.13824,2015-01-01 02:22:32,bin8552,35,False +CTSPillarNetworkA,8553,8553,8553,1993-06-02,855.3000000001259,855.2382,2015-01-01 02:22:33,bin8553,75,False +CTSPillarNetworkA,8554,8554,8554,1993-06-03,855.4000000001259,855.3382,2015-01-01 02:22:34,bin8554,35,False +CTSPillarNetworkA,8555,8555,8555,1993-06-04,855.500000000126,855.4382,2015-01-01 02:22:35,bin8555,75,False +CTSPillarNetworkA,8556,8556,8556,1993-06-05,855.600000000126,855.53815,2015-01-01 02:22:36,bin8556,35,False +CTSPillarNetworkA,8557,8557,8557,1993-06-06,855.700000000126,855.6381,2015-01-01 02:22:37,bin8557,75,False +CTSPillarNetworkA,8558,8558,8558,1993-06-07,855.800000000126,855.7381,2015-01-01 02:22:38,bin8558,35,False +CTSPillarNetworkA,8559,8559,8559,1993-06-08,855.900000000126,855.8381,2015-01-01 02:22:39,bin8559,75,False +CTSPillarNetworkA,8560,8560,8560,1993-06-09,856.0000000001261,855.93805,2015-01-01 02:22:40,bin8560,35,False +CTSPillarNetworkA,8561,8561,8561,1993-06-10,856.1000000001261,856.038,2015-01-01 02:22:41,bin8561,75,False +CTSPillarNetworkA,8562,8562,8562,1993-06-11,856.2000000001261,856.138,2015-01-01 02:22:42,bin8562,35,False +CTSPillarNetworkA,8563,8563,8563,1993-06-12,856.3000000001261,856.238,2015-01-01 02:22:43,bin8563,75,False +CTSPillarNetworkA,8564,8564,8564,1993-06-13,856.4000000001262,856.33795,2015-01-01 02:22:44,bin8564,35,False +CTSPillarNetworkA,8565,8565,8565,1993-06-14,856.5000000001262,856.4379,2015-01-01 02:22:45,bin8565,75,False +CTSPillarNetworkA,8566,8566,8566,1993-06-15,856.6000000001262,856.5379,2015-01-01 02:22:46,bin8566,35,False +CTSPillarNetworkA,8567,8567,8567,1993-06-16,856.7000000001262,856.6379,2015-01-01 02:22:47,bin8567,75,False +CTSPillarNetworkA,8568,8568,8568,1993-06-17,856.8000000001263,856.73785,2015-01-01 02:22:48,bin8568,35,False +CTSPillarNetworkA,8569,8569,8569,1993-06-18,856.9000000001263,856.8378,2015-01-01 02:22:49,bin8569,75,False +CTSPillarNetworkA,8570,8570,8570,1993-06-19,857.0000000001263,856.9378,2015-01-01 02:22:50,bin8570,35,False +CTSPillarNetworkA,8571,8571,8571,1993-06-20,857.1000000001263,857.0378,2015-01-01 02:22:51,bin8571,75,False +CTSPillarNetworkA,8572,8572,8572,1993-06-21,857.2000000001264,857.13776,2015-01-01 02:22:52,bin8572,35,False +CTSPillarNetworkA,8573,8573,8573,1993-06-22,857.3000000001264,857.23773,2015-01-01 02:22:53,bin8573,75,False +CTSPillarNetworkA,8574,8574,8574,1993-06-23,857.4000000001264,857.3377,2015-01-01 02:22:54,bin8574,35,False +CTSPillarNetworkA,8575,8575,8575,1993-06-24,857.5000000001264,857.4377,2015-01-01 02:22:55,bin8575,75,False +CTSPillarNetworkA,8576,8576,8576,1993-06-25,857.6000000001264,857.53766,2015-01-01 02:22:56,bin8576,35,False +CTSPillarNetworkA,8577,8577,8577,1993-06-26,857.7000000001265,857.63763,2015-01-01 02:22:57,bin8577,75,False +CTSPillarNetworkA,8578,8578,8578,1993-06-27,857.8000000001265,857.7376,2015-01-01 02:22:58,bin8578,35,False +CTSPillarNetworkA,8579,8579,8579,1993-06-28,857.9000000001265,857.8376,2015-01-01 02:22:59,bin8579,75,False +CTSPillarNetworkA,8580,8580,8580,1993-06-29,858.0000000001265,857.93756,2015-01-01 02:23:00,bin8580,35,False +CTSPillarNetworkA,8581,8581,8581,1993-06-30,858.1000000001266,858.03754,2015-01-01 02:23:01,bin8581,75,False +CTSPillarNetworkA,8582,8582,8582,1993-07-01,858.2000000001266,858.1375,2015-01-01 02:23:02,bin8582,35,False +CTSPillarNetworkA,8583,8583,8583,1993-07-02,858.3000000001266,858.2375,2015-01-01 02:23:03,bin8583,75,False +CTSPillarNetworkA,8584,8584,8584,1993-07-03,858.4000000001266,858.33746,2015-01-01 02:23:04,bin8584,35,False +CTSPillarNetworkA,8585,8585,8585,1993-07-04,858.5000000001266,858.43744,2015-01-01 02:23:05,bin8585,75,False +CTSPillarNetworkA,8586,8586,8586,1993-07-05,858.6000000001267,858.5374,2015-01-01 02:23:06,bin8586,35,False +CTSPillarNetworkA,8587,8587,8587,1993-07-06,858.7000000001267,858.6374,2015-01-01 02:23:07,bin8587,75,False +CTSPillarNetworkA,8588,8588,8588,1993-07-07,858.8000000001267,858.73737,2015-01-01 02:23:08,bin8588,35,False +CTSPillarNetworkA,8589,8589,8589,1993-07-08,858.9000000001267,858.83734,2015-01-01 02:23:09,bin8589,75,False +CTSPillarNetworkA,8590,8590,8590,1993-07-09,859.0000000001268,858.9373,2015-01-01 02:23:10,bin8590,35,False +CTSPillarNetworkA,8591,8591,8591,1993-07-10,859.1000000001268,859.0373,2015-01-01 02:23:11,bin8591,75,False +CTSPillarNetworkA,8592,8592,8592,1993-07-11,859.2000000001268,859.13727,2015-01-01 02:23:12,bin8592,35,False +CTSPillarNetworkA,8593,8593,8593,1993-07-12,859.3000000001268,859.23724,2015-01-01 02:23:13,bin8593,75,False +CTSPillarNetworkA,8594,8594,8594,1993-07-13,859.4000000001269,859.3372,2015-01-01 02:23:14,bin8594,35,False +CTSPillarNetworkA,8595,8595,8595,1993-07-14,859.5000000001269,859.4372,2015-01-01 02:23:15,bin8595,75,False +CTSPillarNetworkA,8596,8596,8596,1993-07-15,859.6000000001269,859.5372,2015-01-01 02:23:16,bin8596,35,False +CTSPillarNetworkA,8597,8597,8597,1993-07-16,859.7000000001269,859.63715,2015-01-01 02:23:17,bin8597,75,False +CTSPillarNetworkA,8598,8598,8598,1993-07-17,859.8000000001269,859.7371,2015-01-01 02:23:18,bin8598,35,False +CTSPillarNetworkA,8599,8599,8599,1993-07-18,859.900000000127,859.8371,2015-01-01 02:23:19,bin8599,75,False +CTSPillarNetworkA,8600,8600,8600,1993-07-19,860.000000000127,859.9371,2015-01-01 02:23:20,bin8600,35,False +CTSPillarNetworkA,8601,8601,8601,1993-07-20,860.100000000127,860.03705,2015-01-01 02:23:21,bin8601,75,False +CTSPillarNetworkA,8602,8602,8602,1993-07-21,860.200000000127,860.137,2015-01-01 02:23:22,bin8602,35,False +CTSPillarNetworkA,8603,8603,8603,1993-07-22,860.300000000127,860.237,2015-01-01 02:23:23,bin8603,75,False +CTSPillarNetworkA,8604,8604,8604,1993-07-23,860.4000000001271,860.337,2015-01-01 02:23:24,bin8604,35,False +CTSPillarNetworkA,8605,8605,8605,1993-07-24,860.5000000001271,860.43695,2015-01-01 02:23:25,bin8605,75,False +CTSPillarNetworkA,8606,8606,8606,1993-07-25,860.6000000001271,860.5369,2015-01-01 02:23:26,bin8606,35,False +CTSPillarNetworkA,8607,8607,8607,1993-07-26,860.7000000001271,860.6369,2015-01-01 02:23:27,bin8607,75,False +CTSPillarNetworkA,8608,8608,8608,1993-07-27,860.8000000001272,860.7369,2015-01-01 02:23:28,bin8608,35,False +CTSPillarNetworkA,8609,8609,8609,1993-07-28,860.9000000001272,860.83685,2015-01-01 02:23:29,bin8609,75,False +CTSPillarNetworkA,8610,8610,8610,1993-07-29,861.0000000001272,860.9368,2015-01-01 02:23:30,bin8610,35,False +CTSPillarNetworkA,8611,8611,8611,1993-07-30,861.1000000001272,861.0368,2015-01-01 02:23:31,bin8611,75,False +CTSPillarNetworkA,8612,8612,8612,1993-07-31,861.2000000001273,861.1368,2015-01-01 02:23:32,bin8612,35,False +CTSPillarNetworkA,8613,8613,8613,1993-08-01,861.3000000001273,861.23676,2015-01-01 02:23:33,bin8613,75,False +CTSPillarNetworkA,8614,8614,8614,1993-08-02,861.4000000001273,861.33673,2015-01-01 02:23:34,bin8614,35,False +CTSPillarNetworkA,8615,8615,8615,1993-08-03,861.5000000001273,861.4367,2015-01-01 02:23:35,bin8615,75,False +CTSPillarNetworkA,8616,8616,8616,1993-08-04,861.6000000001274,861.5367,2015-01-01 02:23:36,bin8616,35,False +CTSPillarNetworkA,8617,8617,8617,1993-08-05,861.7000000001274,861.63666,2015-01-01 02:23:37,bin8617,75,False +CTSPillarNetworkA,8618,8618,8618,1993-08-06,861.8000000001274,861.73663,2015-01-01 02:23:38,bin8618,35,False +CTSPillarNetworkA,8619,8619,8619,1993-08-07,861.9000000001274,861.8366,2015-01-01 02:23:39,bin8619,75,False +CTSPillarNetworkA,8620,8620,8620,1993-08-08,862.0000000001274,861.9366,2015-01-01 02:23:40,bin8620,35,False +CTSPillarNetworkA,8621,8621,8621,1993-08-09,862.1000000001275,862.03656,2015-01-01 02:23:41,bin8621,75,False +CTSPillarNetworkA,8622,8622,8622,1993-08-10,862.2000000001275,862.13654,2015-01-01 02:23:42,bin8622,35,False +CTSPillarNetworkA,8623,8623,8623,1993-08-11,862.3000000001275,862.2365,2015-01-01 02:23:43,bin8623,75,False +CTSPillarNetworkA,8624,8624,8624,1993-08-12,862.4000000001275,862.3365,2015-01-01 02:23:44,bin8624,35,False +CTSPillarNetworkA,8625,8625,8625,1993-08-13,862.5000000001276,862.43646,2015-01-01 02:23:45,bin8625,75,False +CTSPillarNetworkA,8626,8626,8626,1993-08-14,862.6000000001276,862.53644,2015-01-01 02:23:46,bin8626,35,False +CTSPillarNetworkA,8627,8627,8627,1993-08-15,862.7000000001276,862.6364,2015-01-01 02:23:47,bin8627,75,False +CTSPillarNetworkA,8628,8628,8628,1993-08-16,862.8000000001276,862.7364,2015-01-01 02:23:48,bin8628,35,False +CTSPillarNetworkA,8629,8629,8629,1993-08-17,862.9000000001276,862.83636,2015-01-01 02:23:49,bin8629,75,False +CTSPillarNetworkA,8630,8630,8630,1993-08-18,863.0000000001277,862.93634,2015-01-01 02:23:50,bin8630,35,False +CTSPillarNetworkA,8631,8631,8631,1993-08-19,863.1000000001277,863.0363,2015-01-01 02:23:51,bin8631,75,False +CTSPillarNetworkA,8632,8632,8632,1993-08-20,863.2000000001277,863.1363,2015-01-01 02:23:52,bin8632,35,False +CTSPillarNetworkA,8633,8633,8633,1993-08-21,863.3000000001277,863.23627,2015-01-01 02:23:53,bin8633,75,False +CTSPillarNetworkA,8634,8634,8634,1993-08-22,863.4000000001278,863.33624,2015-01-01 02:23:54,bin8634,35,False +CTSPillarNetworkA,8635,8635,8635,1993-08-23,863.5000000001278,863.4362,2015-01-01 02:23:55,bin8635,75,False +CTSPillarNetworkA,8636,8636,8636,1993-08-24,863.6000000001278,863.5362,2015-01-01 02:23:56,bin8636,35,False +CTSPillarNetworkA,8637,8637,8637,1993-08-25,863.7000000001278,863.63617,2015-01-01 02:23:57,bin8637,75,False +CTSPillarNetworkA,8638,8638,8638,1993-08-26,863.8000000001279,863.73615,2015-01-01 02:23:58,bin8638,35,False +CTSPillarNetworkA,8639,8639,8639,1993-08-27,863.9000000001279,863.8361,2015-01-01 02:23:59,bin8639,75,False +CTSPillarNetworkA,8640,8640,8640,1993-08-28,864.0000000001279,863.9361,2015-01-01 02:24:00,bin8640,35,False +CTSPillarNetworkA,8641,8641,8641,1993-08-29,864.1000000001279,864.0361,2015-01-01 02:24:01,bin8641,75,False +CTSPillarNetworkA,8642,8642,8642,1993-08-30,864.200000000128,864.13605,2015-01-01 02:24:02,bin8642,35,False +CTSPillarNetworkA,8643,8643,8643,1993-08-31,864.300000000128,864.236,2015-01-01 02:24:03,bin8643,75,False +CTSPillarNetworkA,8644,8644,8644,1993-09-01,864.400000000128,864.336,2015-01-01 02:24:04,bin8644,35,False +CTSPillarNetworkA,8645,8645,8645,1993-09-02,864.500000000128,864.436,2015-01-01 02:24:05,bin8645,75,False +CTSPillarNetworkA,8646,8646,8646,1993-09-03,864.600000000128,864.53595,2015-01-01 02:24:06,bin8646,35,False +CTSPillarNetworkA,8647,8647,8647,1993-09-04,864.7000000001281,864.6359,2015-01-01 02:24:07,bin8647,75,False +CTSPillarNetworkA,8648,8648,8648,1993-09-05,864.8000000001281,864.7359,2015-01-01 02:24:08,bin8648,35,False +CTSPillarNetworkA,8649,8649,8649,1993-09-06,864.9000000001281,864.8359,2015-01-01 02:24:09,bin8649,75,False +CTSPillarNetworkA,8650,8650,8650,1993-09-07,865.0000000001281,864.93585,2015-01-01 02:24:10,bin8650,35,False +CTSPillarNetworkA,8651,8651,8651,1993-09-08,865.1000000001281,865.0358,2015-01-01 02:24:11,bin8651,75,False +CTSPillarNetworkA,8652,8652,8652,1993-09-09,865.2000000001282,865.1358,2015-01-01 02:24:12,bin8652,35,False +CTSPillarNetworkA,8653,8653,8653,1993-09-10,865.3000000001282,865.2358,2015-01-01 02:24:13,bin8653,75,False +CTSPillarNetworkA,8654,8654,8654,1993-09-11,865.4000000001282,865.33575,2015-01-01 02:24:14,bin8654,35,False +CTSPillarNetworkA,8655,8655,8655,1993-09-12,865.5000000001282,865.4357,2015-01-01 02:24:15,bin8655,75,False +CTSPillarNetworkA,8656,8656,8656,1993-09-13,865.6000000001283,865.5357,2015-01-01 02:24:16,bin8656,35,False +CTSPillarNetworkA,8657,8657,8657,1993-09-14,865.7000000001283,865.6357,2015-01-01 02:24:17,bin8657,75,False +CTSPillarNetworkA,8658,8658,8658,1993-09-15,865.8000000001283,865.73566,2015-01-01 02:24:18,bin8658,35,False +CTSPillarNetworkA,8659,8659,8659,1993-09-16,865.9000000001283,865.83563,2015-01-01 02:24:19,bin8659,75,False +CTSPillarNetworkA,8660,8660,8660,1993-09-17,866.0000000001284,865.9356,2015-01-01 02:24:20,bin8660,35,False +CTSPillarNetworkA,8661,8661,8661,1993-09-18,866.1000000001284,866.0356,2015-01-01 02:24:21,bin8661,75,False +CTSPillarNetworkA,8662,8662,8662,1993-09-19,866.2000000001284,866.13556,2015-01-01 02:24:22,bin8662,35,False +CTSPillarNetworkA,8663,8663,8663,1993-09-20,866.3000000001284,866.23553,2015-01-01 02:24:23,bin8663,75,False +CTSPillarNetworkA,8664,8664,8664,1993-09-21,866.4000000001284,866.3355,2015-01-01 02:24:24,bin8664,35,False +CTSPillarNetworkA,8665,8665,8665,1993-09-22,866.5000000001285,866.4355,2015-01-01 02:24:25,bin8665,75,False +CTSPillarNetworkA,8666,8666,8666,1993-09-23,866.6000000001285,866.53546,2015-01-01 02:24:26,bin8666,35,False +CTSPillarNetworkA,8667,8667,8667,1993-09-24,866.7000000001285,866.63544,2015-01-01 02:24:27,bin8667,75,False +CTSPillarNetworkA,8668,8668,8668,1993-09-25,866.8000000001285,866.7354,2015-01-01 02:24:28,bin8668,35,False +CTSPillarNetworkA,8669,8669,8669,1993-09-26,866.9000000001286,866.8354,2015-01-01 02:24:29,bin8669,75,False +CTSPillarNetworkA,8670,8670,8670,1993-09-27,867.0000000001286,866.93536,2015-01-01 02:24:30,bin8670,35,False +CTSPillarNetworkA,8671,8671,8671,1993-09-28,867.1000000001286,867.03534,2015-01-01 02:24:31,bin8671,75,False +CTSPillarNetworkA,8672,8672,8672,1993-09-29,867.2000000001286,867.1353,2015-01-01 02:24:32,bin8672,35,False +CTSPillarNetworkA,8673,8673,8673,1993-09-30,867.3000000001286,867.2353,2015-01-01 02:24:33,bin8673,75,False +CTSPillarNetworkA,8674,8674,8674,1993-10-01,867.4000000001287,867.33527,2015-01-01 02:24:34,bin8674,35,False +CTSPillarNetworkA,8675,8675,8675,1993-10-02,867.5000000001287,867.43524,2015-01-01 02:24:35,bin8675,75,False +CTSPillarNetworkA,8676,8676,8676,1993-10-03,867.6000000001287,867.5352,2015-01-01 02:24:36,bin8676,35,False +CTSPillarNetworkA,8677,8677,8677,1993-10-04,867.7000000001287,867.6352,2015-01-01 02:24:37,bin8677,75,False +CTSPillarNetworkA,8678,8678,8678,1993-10-05,867.8000000001288,867.73517,2015-01-01 02:24:38,bin8678,35,False +CTSPillarNetworkA,8679,8679,8679,1993-10-06,867.9000000001288,867.83514,2015-01-01 02:24:39,bin8679,75,False +CTSPillarNetworkA,8680,8680,8680,1993-10-07,868.0000000001288,867.9351,2015-01-01 02:24:40,bin8680,35,False +CTSPillarNetworkA,8681,8681,8681,1993-10-08,868.1000000001288,868.0351,2015-01-01 02:24:41,bin8681,75,False +CTSPillarNetworkA,8682,8682,8682,1993-10-09,868.2000000001289,868.1351,2015-01-01 02:24:42,bin8682,35,False +CTSPillarNetworkA,8683,8683,8683,1993-10-10,868.3000000001289,868.23505,2015-01-01 02:24:43,bin8683,75,False +CTSPillarNetworkA,8684,8684,8684,1993-10-11,868.4000000001289,868.335,2015-01-01 02:24:44,bin8684,35,False +CTSPillarNetworkA,8685,8685,8685,1993-10-12,868.5000000001289,868.435,2015-01-01 02:24:45,bin8685,75,False +CTSPillarNetworkA,8686,8686,8686,1993-10-13,868.600000000129,868.535,2015-01-01 02:24:46,bin8686,35,False +CTSPillarNetworkA,8687,8687,8687,1993-10-14,868.700000000129,868.63495,2015-01-01 02:24:47,bin8687,75,False +CTSPillarNetworkA,8688,8688,8688,1993-10-15,868.800000000129,868.7349,2015-01-01 02:24:48,bin8688,35,False +CTSPillarNetworkA,8689,8689,8689,1993-10-16,868.900000000129,868.8349,2015-01-01 02:24:49,bin8689,75,False +CTSPillarNetworkA,8690,8690,8690,1993-10-17,869.000000000129,868.9349,2015-01-01 02:24:50,bin8690,35,False +CTSPillarNetworkA,8691,8691,8691,1993-10-18,869.1000000001291,869.03485,2015-01-01 02:24:51,bin8691,75,False +CTSPillarNetworkA,8692,8692,8692,1993-10-19,869.2000000001291,869.1348,2015-01-01 02:24:52,bin8692,35,False +CTSPillarNetworkA,8693,8693,8693,1993-10-20,869.3000000001291,869.2348,2015-01-01 02:24:53,bin8693,75,False +CTSPillarNetworkA,8694,8694,8694,1993-10-21,869.4000000001291,869.3348,2015-01-01 02:24:54,bin8694,35,False +CTSPillarNetworkA,8695,8695,8695,1993-10-22,869.5000000001291,869.43475,2015-01-01 02:24:55,bin8695,75,False +CTSPillarNetworkA,8696,8696,8696,1993-10-23,869.6000000001292,869.5347,2015-01-01 02:24:56,bin8696,35,False +CTSPillarNetworkA,8697,8697,8697,1993-10-24,869.7000000001292,869.6347,2015-01-01 02:24:57,bin8697,75,False +CTSPillarNetworkA,8698,8698,8698,1993-10-25,869.8000000001292,869.7347,2015-01-01 02:24:58,bin8698,35,False +CTSPillarNetworkA,8699,8699,8699,1993-10-26,869.9000000001292,869.83466,2015-01-01 02:24:59,bin8699,75,False +CTSPillarNetworkA,8700,8700,8700,1993-10-27,870.0000000001293,869.93463,2015-01-01 02:25:00,bin8700,35,False +CTSPillarNetworkA,8701,8701,8701,1993-10-28,870.1000000001293,870.0346,2015-01-01 02:25:01,bin8701,75,False +CTSPillarNetworkA,8702,8702,8702,1993-10-29,870.2000000001293,870.1346,2015-01-01 02:25:02,bin8702,35,False +CTSPillarNetworkA,8703,8703,8703,1993-10-30,870.3000000001293,870.23456,2015-01-01 02:25:03,bin8703,75,False +CTSPillarNetworkA,8704,8704,8704,1993-10-31,870.4000000001294,870.33453,2015-01-01 02:25:04,bin8704,35,False +CTSPillarNetworkA,8705,8705,8705,1993-11-01,870.5000000001294,870.4345,2015-01-01 02:25:05,bin8705,75,False +CTSPillarNetworkA,8706,8706,8706,1993-11-02,870.6000000001294,870.5345,2015-01-01 02:25:06,bin8706,35,False +CTSPillarNetworkA,8707,8707,8707,1993-11-03,870.7000000001294,870.63446,2015-01-01 02:25:07,bin8707,75,False +CTSPillarNetworkA,8708,8708,8708,1993-11-04,870.8000000001294,870.73444,2015-01-01 02:25:08,bin8708,35,False +CTSPillarNetworkA,8709,8709,8709,1993-11-05,870.9000000001295,870.8344,2015-01-01 02:25:09,bin8709,75,False +CTSPillarNetworkA,8710,8710,8710,1993-11-06,871.0000000001295,870.9344,2015-01-01 02:25:10,bin8710,35,False +CTSPillarNetworkA,8711,8711,8711,1993-11-07,871.1000000001295,871.03436,2015-01-01 02:25:11,bin8711,75,False +CTSPillarNetworkA,8712,8712,8712,1993-11-08,871.2000000001295,871.13434,2015-01-01 02:25:12,bin8712,35,False +CTSPillarNetworkA,8713,8713,8713,1993-11-09,871.3000000001296,871.2343,2015-01-01 02:25:13,bin8713,75,False +CTSPillarNetworkA,8714,8714,8714,1993-11-10,871.4000000001296,871.3343,2015-01-01 02:25:14,bin8714,35,False +CTSPillarNetworkA,8715,8715,8715,1993-11-11,871.5000000001296,871.43427,2015-01-01 02:25:15,bin8715,75,False +CTSPillarNetworkA,8716,8716,8716,1993-11-12,871.6000000001296,871.53424,2015-01-01 02:25:16,bin8716,35,False +CTSPillarNetworkA,8717,8717,8717,1993-11-13,871.7000000001296,871.6342,2015-01-01 02:25:17,bin8717,75,False +CTSPillarNetworkA,8718,8718,8718,1993-11-14,871.8000000001297,871.7342,2015-01-01 02:25:18,bin8718,35,False +CTSPillarNetworkA,8719,8719,8719,1993-11-15,871.9000000001297,871.83417,2015-01-01 02:25:19,bin8719,75,False +CTSPillarNetworkA,8720,8720,8720,1993-11-16,872.0000000001297,871.93414,2015-01-01 02:25:20,bin8720,35,False +CTSPillarNetworkA,8721,8721,8721,1993-11-17,872.1000000001297,872.0341,2015-01-01 02:25:21,bin8721,75,False +CTSPillarNetworkA,8722,8722,8722,1993-11-18,872.2000000001298,872.1341,2015-01-01 02:25:22,bin8722,35,False +CTSPillarNetworkA,8723,8723,8723,1993-11-19,872.3000000001298,872.2341,2015-01-01 02:25:23,bin8723,75,False +CTSPillarNetworkA,8724,8724,8724,1993-11-20,872.4000000001298,872.33405,2015-01-01 02:25:24,bin8724,35,False +CTSPillarNetworkA,8725,8725,8725,1993-11-21,872.5000000001298,872.434,2015-01-01 02:25:25,bin8725,75,False +CTSPillarNetworkA,8726,8726,8726,1993-11-22,872.6000000001299,872.534,2015-01-01 02:25:26,bin8726,35,False +CTSPillarNetworkA,8727,8727,8727,1993-11-23,872.7000000001299,872.634,2015-01-01 02:25:27,bin8727,75,False +CTSPillarNetworkA,8728,8728,8728,1993-11-24,872.8000000001299,872.73395,2015-01-01 02:25:28,bin8728,35,False +CTSPillarNetworkA,8729,8729,8729,1993-11-25,872.9000000001299,872.8339,2015-01-01 02:25:29,bin8729,75,False +CTSPillarNetworkA,8730,8730,8730,1993-11-26,873.00000000013,872.9339,2015-01-01 02:25:30,bin8730,35,False +CTSPillarNetworkA,8731,8731,8731,1993-11-27,873.10000000013,873.0339,2015-01-01 02:25:31,bin8731,75,False +CTSPillarNetworkA,8732,8732,8732,1993-11-28,873.20000000013,873.13385,2015-01-01 02:25:32,bin8732,35,False +CTSPillarNetworkA,8733,8733,8733,1993-11-29,873.30000000013,873.2338,2015-01-01 02:25:33,bin8733,75,False +CTSPillarNetworkA,8734,8734,8734,1993-11-30,873.40000000013,873.3338,2015-01-01 02:25:34,bin8734,35,False +CTSPillarNetworkA,8735,8735,8735,1993-12-01,873.5000000001301,873.4338,2015-01-01 02:25:35,bin8735,75,False +CTSPillarNetworkA,8736,8736,8736,1993-12-02,873.6000000001301,873.53375,2015-01-01 02:25:36,bin8736,35,False +CTSPillarNetworkA,8737,8737,8737,1993-12-03,873.7000000001301,873.6337,2015-01-01 02:25:37,bin8737,75,False +CTSPillarNetworkA,8738,8738,8738,1993-12-04,873.8000000001301,873.7337,2015-01-01 02:25:38,bin8738,35,False +CTSPillarNetworkA,8739,8739,8739,1993-12-05,873.9000000001301,873.8337,2015-01-01 02:25:39,bin8739,75,False +CTSPillarNetworkA,8740,8740,8740,1993-12-06,874.0000000001302,873.93365,2015-01-01 02:25:40,bin8740,35,False +CTSPillarNetworkA,8741,8741,8741,1993-12-07,874.1000000001302,874.0336,2015-01-01 02:25:41,bin8741,75,False +CTSPillarNetworkA,8742,8742,8742,1993-12-08,874.2000000001302,874.1336,2015-01-01 02:25:42,bin8742,35,False +CTSPillarNetworkA,8743,8743,8743,1993-12-09,874.3000000001302,874.2336,2015-01-01 02:25:43,bin8743,75,False +CTSPillarNetworkA,8744,8744,8744,1993-12-10,874.4000000001303,874.33356,2015-01-01 02:25:44,bin8744,35,False +CTSPillarNetworkA,8745,8745,8745,1993-12-11,874.5000000001303,874.43353,2015-01-01 02:25:45,bin8745,75,False +CTSPillarNetworkA,8746,8746,8746,1993-12-12,874.6000000001303,874.5335,2015-01-01 02:25:46,bin8746,35,False +CTSPillarNetworkA,8747,8747,8747,1993-12-13,874.7000000001303,874.6335,2015-01-01 02:25:47,bin8747,75,False +CTSPillarNetworkA,8748,8748,8748,1993-12-14,874.8000000001304,874.73346,2015-01-01 02:25:48,bin8748,35,False +CTSPillarNetworkA,8749,8749,8749,1993-12-15,874.9000000001304,874.83344,2015-01-01 02:25:49,bin8749,75,False +CTSPillarNetworkA,8750,8750,8750,1993-12-16,875.0000000001304,874.9334,2015-01-01 02:25:50,bin8750,35,False +CTSPillarNetworkA,8751,8751,8751,1993-12-17,875.1000000001304,875.0334,2015-01-01 02:25:51,bin8751,75,False +CTSPillarNetworkA,8752,8752,8752,1993-12-18,875.2000000001304,875.13336,2015-01-01 02:25:52,bin8752,35,False +CTSPillarNetworkA,8753,8753,8753,1993-12-19,875.3000000001305,875.23334,2015-01-01 02:25:53,bin8753,75,False +CTSPillarNetworkA,8754,8754,8754,1993-12-20,875.4000000001305,875.3333,2015-01-01 02:25:54,bin8754,35,False +CTSPillarNetworkA,8755,8755,8755,1993-12-21,875.5000000001305,875.4333,2015-01-01 02:25:55,bin8755,75,False +CTSPillarNetworkA,8756,8756,8756,1993-12-22,875.6000000001305,875.53326,2015-01-01 02:25:56,bin8756,35,False +CTSPillarNetworkA,8757,8757,8757,1993-12-23,875.7000000001306,875.63324,2015-01-01 02:25:57,bin8757,75,False +CTSPillarNetworkA,8758,8758,8758,1993-12-24,875.8000000001306,875.7332,2015-01-01 02:25:58,bin8758,35,False +CTSPillarNetworkA,8759,8759,8759,1993-12-25,875.9000000001306,875.8332,2015-01-01 02:25:59,bin8759,75,False +CTSPillarNetworkA,8760,8760,8760,1993-12-26,876.0000000001306,875.93317,2015-01-01 02:26:00,bin8760,35,False +CTSPillarNetworkA,8761,8761,8761,1993-12-27,876.1000000001306,876.03314,2015-01-01 02:26:01,bin8761,75,False +CTSPillarNetworkA,8762,8762,8762,1993-12-28,876.2000000001307,876.1331,2015-01-01 02:26:02,bin8762,35,False +CTSPillarNetworkA,8763,8763,8763,1993-12-29,876.3000000001307,876.2331,2015-01-01 02:26:03,bin8763,75,False +CTSPillarNetworkA,8764,8764,8764,1993-12-30,876.4000000001307,876.33307,2015-01-01 02:26:04,bin8764,35,False +CTSPillarNetworkA,8765,8765,8765,1993-12-31,876.5000000001307,876.43304,2015-01-01 02:26:05,bin8765,75,False +CTSPillarNetworkA,8766,8766,8766,1994-01-01,876.6000000001308,876.533,2015-01-01 02:26:06,bin8766,35,False +CTSPillarNetworkA,8767,8767,8767,1994-01-02,876.7000000001308,876.633,2015-01-01 02:26:07,bin8767,75,False +CTSPillarNetworkA,8768,8768,8768,1994-01-03,876.8000000001308,876.733,2015-01-01 02:26:08,bin8768,35,False +CTSPillarNetworkA,8769,8769,8769,1994-01-04,876.9000000001308,876.83295,2015-01-01 02:26:09,bin8769,75,False +CTSPillarNetworkA,8770,8770,8770,1994-01-05,877.0000000001309,876.9329,2015-01-01 02:26:10,bin8770,35,False +CTSPillarNetworkA,8771,8771,8771,1994-01-06,877.1000000001309,877.0329,2015-01-01 02:26:11,bin8771,75,False +CTSPillarNetworkA,8772,8772,8772,1994-01-07,877.2000000001309,877.1329,2015-01-01 02:26:12,bin8772,35,False +CTSPillarNetworkA,8773,8773,8773,1994-01-08,877.3000000001309,877.23285,2015-01-01 02:26:13,bin8773,75,False +CTSPillarNetworkA,8774,8774,8774,1994-01-09,877.400000000131,877.3328,2015-01-01 02:26:14,bin8774,35,False +CTSPillarNetworkA,8775,8775,8775,1994-01-10,877.500000000131,877.4328,2015-01-01 02:26:15,bin8775,75,False +CTSPillarNetworkA,8776,8776,8776,1994-01-11,877.600000000131,877.5328,2015-01-01 02:26:16,bin8776,35,False +CTSPillarNetworkA,8777,8777,8777,1994-01-12,877.700000000131,877.63275,2015-01-01 02:26:17,bin8777,75,False +CTSPillarNetworkA,8778,8778,8778,1994-01-13,877.800000000131,877.7327,2015-01-01 02:26:18,bin8778,35,False +CTSPillarNetworkA,8779,8779,8779,1994-01-14,877.9000000001311,877.8327,2015-01-01 02:26:19,bin8779,75,False +CTSPillarNetworkA,8780,8780,8780,1994-01-15,878.0000000001311,877.9327,2015-01-01 02:26:20,bin8780,35,False +CTSPillarNetworkA,8781,8781,8781,1994-01-16,878.1000000001311,878.03265,2015-01-01 02:26:21,bin8781,75,False +CTSPillarNetworkA,8782,8782,8782,1994-01-17,878.2000000001311,878.1326,2015-01-01 02:26:22,bin8782,35,False +CTSPillarNetworkA,8783,8783,8783,1994-01-18,878.3000000001311,878.2326,2015-01-01 02:26:23,bin8783,75,False +CTSPillarNetworkA,8784,8784,8784,1994-01-19,878.4000000001312,878.3326,2015-01-01 02:26:24,bin8784,35,False +CTSPillarNetworkA,8785,8785,8785,1994-01-20,878.5000000001312,878.43256,2015-01-01 02:26:25,bin8785,75,False +CTSPillarNetworkA,8786,8786,8786,1994-01-21,878.6000000001312,878.53253,2015-01-01 02:26:26,bin8786,35,False +CTSPillarNetworkA,8787,8787,8787,1994-01-22,878.7000000001312,878.6325,2015-01-01 02:26:27,bin8787,75,False +CTSPillarNetworkA,8788,8788,8788,1994-01-23,878.8000000001313,878.7325,2015-01-01 02:26:28,bin8788,35,False +CTSPillarNetworkA,8789,8789,8789,1994-01-24,878.9000000001313,878.83246,2015-01-01 02:26:29,bin8789,75,False +CTSPillarNetworkA,8790,8790,8790,1994-01-25,879.0000000001313,878.93243,2015-01-01 02:26:30,bin8790,35,False +CTSPillarNetworkA,8791,8791,8791,1994-01-26,879.1000000001313,879.0324,2015-01-01 02:26:31,bin8791,75,False +CTSPillarNetworkA,8792,8792,8792,1994-01-27,879.2000000001314,879.1324,2015-01-01 02:26:32,bin8792,35,False +CTSPillarNetworkA,8793,8793,8793,1994-01-28,879.3000000001314,879.23236,2015-01-01 02:26:33,bin8793,75,False +CTSPillarNetworkA,8794,8794,8794,1994-01-29,879.4000000001314,879.33234,2015-01-01 02:26:34,bin8794,35,False +CTSPillarNetworkA,8795,8795,8795,1994-01-30,879.5000000001314,879.4323,2015-01-01 02:26:35,bin8795,75,False +CTSPillarNetworkA,8796,8796,8796,1994-01-31,879.6000000001314,879.5323,2015-01-01 02:26:36,bin8796,35,False +CTSPillarNetworkA,8797,8797,8797,1994-02-01,879.7000000001315,879.63226,2015-01-01 02:26:37,bin8797,75,False +CTSPillarNetworkA,8798,8798,8798,1994-02-02,879.8000000001315,879.73224,2015-01-01 02:26:38,bin8798,35,False +CTSPillarNetworkA,8799,8799,8799,1994-02-03,879.9000000001315,879.8322,2015-01-01 02:26:39,bin8799,75,False +CTSPillarNetworkA,8800,8800,8800,1994-02-04,880.0000000001315,879.9322,2015-01-01 02:26:40,bin8800,35,False +CTSPillarNetworkA,8801,8801,8801,1994-02-05,880.1000000001316,880.03217,2015-01-01 02:26:41,bin8801,75,False +CTSPillarNetworkA,8802,8802,8802,1994-02-06,880.2000000001316,880.13214,2015-01-01 02:26:42,bin8802,35,False +CTSPillarNetworkA,8803,8803,8803,1994-02-07,880.3000000001316,880.2321,2015-01-01 02:26:43,bin8803,75,False +CTSPillarNetworkA,8804,8804,8804,1994-02-08,880.4000000001316,880.3321,2015-01-01 02:26:44,bin8804,35,False +CTSPillarNetworkA,8805,8805,8805,1994-02-09,880.5000000001316,880.43207,2015-01-01 02:26:45,bin8805,75,False +CTSPillarNetworkA,8806,8806,8806,1994-02-10,880.6000000001317,880.53204,2015-01-01 02:26:46,bin8806,35,False +CTSPillarNetworkA,8807,8807,8807,1994-02-11,880.7000000001317,880.632,2015-01-01 02:26:47,bin8807,75,False +CTSPillarNetworkA,8808,8808,8808,1994-02-12,880.8000000001317,880.732,2015-01-01 02:26:48,bin8808,35,False +CTSPillarNetworkA,8809,8809,8809,1994-02-13,880.9000000001317,880.832,2015-01-01 02:26:49,bin8809,75,False +CTSPillarNetworkA,8810,8810,8810,1994-02-14,881.0000000001318,880.93195,2015-01-01 02:26:50,bin8810,35,False +CTSPillarNetworkA,8811,8811,8811,1994-02-15,881.1000000001318,881.0319,2015-01-01 02:26:51,bin8811,75,False +CTSPillarNetworkA,8812,8812,8812,1994-02-16,881.2000000001318,881.1319,2015-01-01 02:26:52,bin8812,35,False +CTSPillarNetworkA,8813,8813,8813,1994-02-17,881.3000000001318,881.2319,2015-01-01 02:26:53,bin8813,75,False +CTSPillarNetworkA,8814,8814,8814,1994-02-18,881.4000000001319,881.33185,2015-01-01 02:26:54,bin8814,35,False +CTSPillarNetworkA,8815,8815,8815,1994-02-19,881.5000000001319,881.4318,2015-01-01 02:26:55,bin8815,75,False +CTSPillarNetworkA,8816,8816,8816,1994-02-20,881.6000000001319,881.5318,2015-01-01 02:26:56,bin8816,35,False +CTSPillarNetworkA,8817,8817,8817,1994-02-21,881.7000000001319,881.6318,2015-01-01 02:26:57,bin8817,75,False +CTSPillarNetworkA,8818,8818,8818,1994-02-22,881.800000000132,881.73175,2015-01-01 02:26:58,bin8818,35,False +CTSPillarNetworkA,8819,8819,8819,1994-02-23,881.900000000132,881.8317,2015-01-01 02:26:59,bin8819,75,False +CTSPillarNetworkA,8820,8820,8820,1994-02-24,882.000000000132,881.9317,2015-01-01 02:27:00,bin8820,35,False +CTSPillarNetworkA,8821,8821,8821,1994-02-25,882.100000000132,882.0317,2015-01-01 02:27:01,bin8821,75,False +CTSPillarNetworkA,8822,8822,8822,1994-02-26,882.200000000132,882.13165,2015-01-01 02:27:02,bin8822,35,False +CTSPillarNetworkA,8823,8823,8823,1994-02-27,882.3000000001321,882.2316,2015-01-01 02:27:03,bin8823,75,False +CTSPillarNetworkA,8824,8824,8824,1994-02-28,882.4000000001321,882.3316,2015-01-01 02:27:04,bin8824,35,False +CTSPillarNetworkA,8825,8825,8825,1994-03-01,882.5000000001321,882.4316,2015-01-01 02:27:05,bin8825,75,False +CTSPillarNetworkA,8826,8826,8826,1994-03-02,882.6000000001321,882.53156,2015-01-01 02:27:06,bin8826,35,False +CTSPillarNetworkA,8827,8827,8827,1994-03-03,882.7000000001321,882.63153,2015-01-01 02:27:07,bin8827,75,False +CTSPillarNetworkA,8828,8828,8828,1994-03-04,882.8000000001322,882.7315,2015-01-01 02:27:08,bin8828,35,False +CTSPillarNetworkA,8829,8829,8829,1994-03-05,882.9000000001322,882.8315,2015-01-01 02:27:09,bin8829,75,False +CTSPillarNetworkA,8830,8830,8830,1994-03-06,883.0000000001322,882.93146,2015-01-01 02:27:10,bin8830,35,False +CTSPillarNetworkA,8831,8831,8831,1994-03-07,883.1000000001322,883.03143,2015-01-01 02:27:11,bin8831,75,False +CTSPillarNetworkA,8832,8832,8832,1994-03-08,883.2000000001323,883.1314,2015-01-01 02:27:12,bin8832,35,False +CTSPillarNetworkA,8833,8833,8833,1994-03-09,883.3000000001323,883.2314,2015-01-01 02:27:13,bin8833,75,False +CTSPillarNetworkA,8834,8834,8834,1994-03-10,883.4000000001323,883.33136,2015-01-01 02:27:14,bin8834,35,False +CTSPillarNetworkA,8835,8835,8835,1994-03-11,883.5000000001323,883.43134,2015-01-01 02:27:15,bin8835,75,False +CTSPillarNetworkA,8836,8836,8836,1994-03-12,883.6000000001324,883.5313,2015-01-01 02:27:16,bin8836,35,False +CTSPillarNetworkA,8837,8837,8837,1994-03-13,883.7000000001324,883.6313,2015-01-01 02:27:17,bin8837,75,False +CTSPillarNetworkA,8838,8838,8838,1994-03-14,883.8000000001324,883.73126,2015-01-01 02:27:18,bin8838,35,False +CTSPillarNetworkA,8839,8839,8839,1994-03-15,883.9000000001324,883.83124,2015-01-01 02:27:19,bin8839,75,False +CTSPillarNetworkA,8840,8840,8840,1994-03-16,884.0000000001324,883.9312,2015-01-01 02:27:20,bin8840,35,False +CTSPillarNetworkA,8841,8841,8841,1994-03-17,884.1000000001325,884.0312,2015-01-01 02:27:21,bin8841,75,False +CTSPillarNetworkA,8842,8842,8842,1994-03-18,884.2000000001325,884.13116,2015-01-01 02:27:22,bin8842,35,False +CTSPillarNetworkA,8843,8843,8843,1994-03-19,884.3000000001325,884.23114,2015-01-01 02:27:23,bin8843,75,False +CTSPillarNetworkA,8844,8844,8844,1994-03-20,884.4000000001325,884.3311,2015-01-01 02:27:24,bin8844,35,False +CTSPillarNetworkA,8845,8845,8845,1994-03-21,884.5000000001326,884.4311,2015-01-01 02:27:25,bin8845,75,False +CTSPillarNetworkA,8846,8846,8846,1994-03-22,884.6000000001326,884.53107,2015-01-01 02:27:26,bin8846,35,False +CTSPillarNetworkA,8847,8847,8847,1994-03-23,884.7000000001326,884.63104,2015-01-01 02:27:27,bin8847,75,False +CTSPillarNetworkA,8848,8848,8848,1994-03-24,884.8000000001326,884.731,2015-01-01 02:27:28,bin8848,35,False +CTSPillarNetworkA,8849,8849,8849,1994-03-25,884.9000000001326,884.831,2015-01-01 02:27:29,bin8849,75,False +CTSPillarNetworkA,8850,8850,8850,1994-03-26,885.0000000001327,884.93097,2015-01-01 02:27:30,bin8850,35,False +CTSPillarNetworkA,8851,8851,8851,1994-03-27,885.1000000001327,885.03094,2015-01-01 02:27:31,bin8851,75,False +CTSPillarNetworkA,8852,8852,8852,1994-03-28,885.2000000001327,885.1309,2015-01-01 02:27:32,bin8852,35,False +CTSPillarNetworkA,8853,8853,8853,1994-03-29,885.3000000001327,885.2309,2015-01-01 02:27:33,bin8853,75,False +CTSPillarNetworkA,8854,8854,8854,1994-03-30,885.4000000001328,885.3309,2015-01-01 02:27:34,bin8854,35,False +CTSPillarNetworkA,8855,8855,8855,1994-03-31,885.5000000001328,885.43085,2015-01-01 02:27:35,bin8855,75,False +CTSPillarNetworkA,8856,8856,8856,1994-04-01,885.6000000001328,885.5308,2015-01-01 02:27:36,bin8856,35,False +CTSPillarNetworkA,8857,8857,8857,1994-04-02,885.7000000001328,885.6308,2015-01-01 02:27:37,bin8857,75,False +CTSPillarNetworkA,8858,8858,8858,1994-04-03,885.8000000001329,885.7308,2015-01-01 02:27:38,bin8858,35,False +CTSPillarNetworkA,8859,8859,8859,1994-04-04,885.9000000001329,885.83075,2015-01-01 02:27:39,bin8859,75,False +CTSPillarNetworkA,8860,8860,8860,1994-04-05,886.0000000001329,885.9307,2015-01-01 02:27:40,bin8860,35,False +CTSPillarNetworkA,8861,8861,8861,1994-04-06,886.1000000001329,886.0307,2015-01-01 02:27:41,bin8861,75,False +CTSPillarNetworkA,8862,8862,8862,1994-04-07,886.200000000133,886.1307,2015-01-01 02:27:42,bin8862,35,False +CTSPillarNetworkA,8863,8863,8863,1994-04-08,886.300000000133,886.23065,2015-01-01 02:27:43,bin8863,75,False +CTSPillarNetworkA,8864,8864,8864,1994-04-09,886.400000000133,886.3306,2015-01-01 02:27:44,bin8864,35,False +CTSPillarNetworkA,8865,8865,8865,1994-04-10,886.500000000133,886.4306,2015-01-01 02:27:45,bin8865,75,False +CTSPillarNetworkA,8866,8866,8866,1994-04-11,886.600000000133,886.5306,2015-01-01 02:27:46,bin8866,35,False +CTSPillarNetworkA,8867,8867,8867,1994-04-12,886.7000000001331,886.63055,2015-01-01 02:27:47,bin8867,75,False +CTSPillarNetworkA,8868,8868,8868,1994-04-13,886.8000000001331,886.7305,2015-01-01 02:27:48,bin8868,35,False +CTSPillarNetworkA,8869,8869,8869,1994-04-14,886.9000000001331,886.8305,2015-01-01 02:27:49,bin8869,75,False +CTSPillarNetworkA,8870,8870,8870,1994-04-15,887.0000000001331,886.9305,2015-01-01 02:27:50,bin8870,35,False +CTSPillarNetworkA,8871,8871,8871,1994-04-16,887.1000000001332,887.03046,2015-01-01 02:27:51,bin8871,75,False +CTSPillarNetworkA,8872,8872,8872,1994-04-17,887.2000000001332,887.13043,2015-01-01 02:27:52,bin8872,35,False +CTSPillarNetworkA,8873,8873,8873,1994-04-18,887.3000000001332,887.2304,2015-01-01 02:27:53,bin8873,75,False +CTSPillarNetworkA,8874,8874,8874,1994-04-19,887.4000000001332,887.3304,2015-01-01 02:27:54,bin8874,35,False +CTSPillarNetworkA,8875,8875,8875,1994-04-20,887.5000000001332,887.43036,2015-01-01 02:27:55,bin8875,75,False +CTSPillarNetworkA,8876,8876,8876,1994-04-21,887.6000000001333,887.53033,2015-01-01 02:27:56,bin8876,35,False +CTSPillarNetworkA,8877,8877,8877,1994-04-22,887.7000000001333,887.6303,2015-01-01 02:27:57,bin8877,75,False +CTSPillarNetworkA,8878,8878,8878,1994-04-23,887.8000000001333,887.7303,2015-01-01 02:27:58,bin8878,35,False +CTSPillarNetworkA,8879,8879,8879,1994-04-24,887.9000000001333,887.83026,2015-01-01 02:27:59,bin8879,75,False +CTSPillarNetworkA,8880,8880,8880,1994-04-25,888.0000000001334,887.93024,2015-01-01 02:28:00,bin8880,35,False +CTSPillarNetworkA,8881,8881,8881,1994-04-26,888.1000000001334,888.0302,2015-01-01 02:28:01,bin8881,75,False +CTSPillarNetworkA,8882,8882,8882,1994-04-27,888.2000000001334,888.1302,2015-01-01 02:28:02,bin8882,35,False +CTSPillarNetworkA,8883,8883,8883,1994-04-28,888.3000000001334,888.23016,2015-01-01 02:28:03,bin8883,75,False +CTSPillarNetworkA,8884,8884,8884,1994-04-29,888.4000000001334,888.33014,2015-01-01 02:28:04,bin8884,35,False +CTSPillarNetworkA,8885,8885,8885,1994-04-30,888.5000000001335,888.4301,2015-01-01 02:28:05,bin8885,75,False +CTSPillarNetworkA,8886,8886,8886,1994-05-01,888.6000000001335,888.5301,2015-01-01 02:28:06,bin8886,35,False +CTSPillarNetworkA,8887,8887,8887,1994-05-02,888.7000000001335,888.63007,2015-01-01 02:28:07,bin8887,75,False +CTSPillarNetworkA,8888,8888,8888,1994-05-03,888.8000000001335,888.73004,2015-01-01 02:28:08,bin8888,35,False +CTSPillarNetworkA,8889,8889,8889,1994-05-04,888.9000000001336,888.83,2015-01-01 02:28:09,bin8889,75,False +CTSPillarNetworkA,8890,8890,8890,1994-05-05,889.0000000001336,888.93,2015-01-01 02:28:10,bin8890,35,False +CTSPillarNetworkA,8891,8891,8891,1994-05-06,889.1000000001336,889.02997,2015-01-01 02:28:11,bin8891,75,False +CTSPillarNetworkA,8892,8892,8892,1994-05-07,889.2000000001336,889.12994,2015-01-01 02:28:12,bin8892,35,False +CTSPillarNetworkA,8893,8893,8893,1994-05-08,889.3000000001337,889.2299,2015-01-01 02:28:13,bin8893,75,False +CTSPillarNetworkA,8894,8894,8894,1994-05-09,889.4000000001337,889.3299,2015-01-01 02:28:14,bin8894,35,False +CTSPillarNetworkA,8895,8895,8895,1994-05-10,889.5000000001337,889.4299,2015-01-01 02:28:15,bin8895,75,False +CTSPillarNetworkA,8896,8896,8896,1994-05-11,889.6000000001337,889.52985,2015-01-01 02:28:16,bin8896,35,False +CTSPillarNetworkA,8897,8897,8897,1994-05-12,889.7000000001337,889.6298,2015-01-01 02:28:17,bin8897,75,False +CTSPillarNetworkA,8898,8898,8898,1994-05-13,889.8000000001338,889.7298,2015-01-01 02:28:18,bin8898,35,False +CTSPillarNetworkA,8899,8899,8899,1994-05-14,889.9000000001338,889.8298,2015-01-01 02:28:19,bin8899,75,False +CTSPillarNetworkA,8900,8900,8900,1994-05-15,890.0000000001338,889.92975,2015-01-01 02:28:20,bin8900,35,False +CTSPillarNetworkA,8901,8901,8901,1994-05-16,890.1000000001338,890.0297,2015-01-01 02:28:21,bin8901,75,False +CTSPillarNetworkA,8902,8902,8902,1994-05-17,890.2000000001339,890.1297,2015-01-01 02:28:22,bin8902,35,False +CTSPillarNetworkA,8903,8903,8903,1994-05-18,890.3000000001339,890.2297,2015-01-01 02:28:23,bin8903,75,False +CTSPillarNetworkA,8904,8904,8904,1994-05-19,890.4000000001339,890.32965,2015-01-01 02:28:24,bin8904,35,False +CTSPillarNetworkA,8905,8905,8905,1994-05-20,890.5000000001339,890.4296,2015-01-01 02:28:25,bin8905,75,False +CTSPillarNetworkA,8906,8906,8906,1994-05-21,890.600000000134,890.5296,2015-01-01 02:28:26,bin8906,35,False +CTSPillarNetworkA,8907,8907,8907,1994-05-22,890.700000000134,890.6296,2015-01-01 02:28:27,bin8907,75,False +CTSPillarNetworkA,8908,8908,8908,1994-05-23,890.800000000134,890.72955,2015-01-01 02:28:28,bin8908,35,False +CTSPillarNetworkA,8909,8909,8909,1994-05-24,890.900000000134,890.8295,2015-01-01 02:28:29,bin8909,75,False +CTSPillarNetworkA,8910,8910,8910,1994-05-25,891.000000000134,890.9295,2015-01-01 02:28:30,bin8910,35,False +CTSPillarNetworkA,8911,8911,8911,1994-05-26,891.1000000001341,891.0295,2015-01-01 02:28:31,bin8911,75,False +CTSPillarNetworkA,8912,8912,8912,1994-05-27,891.2000000001341,891.12946,2015-01-01 02:28:32,bin8912,35,False +CTSPillarNetworkA,8913,8913,8913,1994-05-28,891.3000000001341,891.22943,2015-01-01 02:28:33,bin8913,75,False +CTSPillarNetworkA,8914,8914,8914,1994-05-29,891.4000000001341,891.3294,2015-01-01 02:28:34,bin8914,35,False +CTSPillarNetworkA,8915,8915,8915,1994-05-30,891.5000000001342,891.4294,2015-01-01 02:28:35,bin8915,75,False +CTSPillarNetworkA,8916,8916,8916,1994-05-31,891.6000000001342,891.52936,2015-01-01 02:28:36,bin8916,35,False +CTSPillarNetworkA,8917,8917,8917,1994-06-01,891.7000000001342,891.62933,2015-01-01 02:28:37,bin8917,75,False +CTSPillarNetworkA,8918,8918,8918,1994-06-02,891.8000000001342,891.7293,2015-01-01 02:28:38,bin8918,35,False +CTSPillarNetworkA,8919,8919,8919,1994-06-03,891.9000000001342,891.8293,2015-01-01 02:28:39,bin8919,75,False +CTSPillarNetworkA,8920,8920,8920,1994-06-04,892.0000000001343,891.92926,2015-01-01 02:28:40,bin8920,35,False +CTSPillarNetworkA,8921,8921,8921,1994-06-05,892.1000000001343,892.02924,2015-01-01 02:28:41,bin8921,75,False +CTSPillarNetworkA,8922,8922,8922,1994-06-06,892.2000000001343,892.1292,2015-01-01 02:28:42,bin8922,35,False +CTSPillarNetworkA,8923,8923,8923,1994-06-07,892.3000000001343,892.2292,2015-01-01 02:28:43,bin8923,75,False +CTSPillarNetworkA,8924,8924,8924,1994-06-08,892.4000000001344,892.32916,2015-01-01 02:28:44,bin8924,35,False +CTSPillarNetworkA,8925,8925,8925,1994-06-09,892.5000000001344,892.42914,2015-01-01 02:28:45,bin8925,75,False +CTSPillarNetworkA,8926,8926,8926,1994-06-10,892.6000000001344,892.5291,2015-01-01 02:28:46,bin8926,35,False +CTSPillarNetworkA,8927,8927,8927,1994-06-11,892.7000000001344,892.6291,2015-01-01 02:28:47,bin8927,75,False +CTSPillarNetworkA,8928,8928,8928,1994-06-12,892.8000000001344,892.72906,2015-01-01 02:28:48,bin8928,35,False +CTSPillarNetworkA,8929,8929,8929,1994-06-13,892.9000000001345,892.82904,2015-01-01 02:28:49,bin8929,75,False +CTSPillarNetworkA,8930,8930,8930,1994-06-14,893.0000000001345,892.929,2015-01-01 02:28:50,bin8930,35,False +CTSPillarNetworkA,8931,8931,8931,1994-06-15,893.1000000001345,893.029,2015-01-01 02:28:51,bin8931,75,False +CTSPillarNetworkA,8932,8932,8932,1994-06-16,893.2000000001345,893.12897,2015-01-01 02:28:52,bin8932,35,False +CTSPillarNetworkA,8933,8933,8933,1994-06-17,893.3000000001346,893.22894,2015-01-01 02:28:53,bin8933,75,False +CTSPillarNetworkA,8934,8934,8934,1994-06-18,893.4000000001346,893.3289,2015-01-01 02:28:54,bin8934,35,False +CTSPillarNetworkA,8935,8935,8935,1994-06-19,893.5000000001346,893.4289,2015-01-01 02:28:55,bin8935,75,False +CTSPillarNetworkA,8936,8936,8936,1994-06-20,893.6000000001346,893.5289,2015-01-01 02:28:56,bin8936,35,False +CTSPillarNetworkA,8937,8937,8937,1994-06-21,893.7000000001347,893.62885,2015-01-01 02:28:57,bin8937,75,False +CTSPillarNetworkA,8938,8938,8938,1994-06-22,893.8000000001347,893.7288,2015-01-01 02:28:58,bin8938,35,False +CTSPillarNetworkA,8939,8939,8939,1994-06-23,893.9000000001347,893.8288,2015-01-01 02:28:59,bin8939,75,False +CTSPillarNetworkA,8940,8940,8940,1994-06-24,894.0000000001347,893.9288,2015-01-01 02:29:00,bin8940,35,False +CTSPillarNetworkA,8941,8941,8941,1994-06-25,894.1000000001347,894.02875,2015-01-01 02:29:01,bin8941,75,False +CTSPillarNetworkA,8942,8942,8942,1994-06-26,894.2000000001348,894.1287,2015-01-01 02:29:02,bin8942,35,False +CTSPillarNetworkA,8943,8943,8943,1994-06-27,894.3000000001348,894.2287,2015-01-01 02:29:03,bin8943,75,False +CTSPillarNetworkA,8944,8944,8944,1994-06-28,894.4000000001348,894.3287,2015-01-01 02:29:04,bin8944,35,False +CTSPillarNetworkA,8945,8945,8945,1994-06-29,894.5000000001348,894.42865,2015-01-01 02:29:05,bin8945,75,False +CTSPillarNetworkA,8946,8946,8946,1994-06-30,894.6000000001349,894.5286,2015-01-01 02:29:06,bin8946,35,False +CTSPillarNetworkA,8947,8947,8947,1994-07-01,894.7000000001349,894.6286,2015-01-01 02:29:07,bin8947,75,False +CTSPillarNetworkA,8948,8948,8948,1994-07-02,894.8000000001349,894.7286,2015-01-01 02:29:08,bin8948,35,False +CTSPillarNetworkA,8949,8949,8949,1994-07-03,894.9000000001349,894.82855,2015-01-01 02:29:09,bin8949,75,False +CTSPillarNetworkA,8950,8950,8950,1994-07-04,895.000000000135,894.9285,2015-01-01 02:29:10,bin8950,35,False +CTSPillarNetworkA,8951,8951,8951,1994-07-05,895.100000000135,895.0285,2015-01-01 02:29:11,bin8951,75,False +CTSPillarNetworkA,8952,8952,8952,1994-07-06,895.200000000135,895.1285,2015-01-01 02:29:12,bin8952,35,False +CTSPillarNetworkA,8953,8953,8953,1994-07-07,895.300000000135,895.22845,2015-01-01 02:29:13,bin8953,75,False +CTSPillarNetworkA,8954,8954,8954,1994-07-08,895.400000000135,895.3284,2015-01-01 02:29:14,bin8954,35,False +CTSPillarNetworkA,8955,8955,8955,1994-07-09,895.5000000001351,895.4284,2015-01-01 02:29:15,bin8955,75,False +CTSPillarNetworkA,8956,8956,8956,1994-07-10,895.6000000001351,895.5284,2015-01-01 02:29:16,bin8956,35,False +CTSPillarNetworkA,8957,8957,8957,1994-07-11,895.7000000001351,895.62836,2015-01-01 02:29:17,bin8957,75,False +CTSPillarNetworkA,8958,8958,8958,1994-07-12,895.8000000001351,895.72833,2015-01-01 02:29:18,bin8958,35,False +CTSPillarNetworkA,8959,8959,8959,1994-07-13,895.9000000001352,895.8283,2015-01-01 02:29:19,bin8959,75,False +CTSPillarNetworkA,8960,8960,8960,1994-07-14,896.0000000001352,895.9283,2015-01-01 02:29:20,bin8960,35,False +CTSPillarNetworkA,8961,8961,8961,1994-07-15,896.1000000001352,896.02826,2015-01-01 02:29:21,bin8961,75,False +CTSPillarNetworkA,8962,8962,8962,1994-07-16,896.2000000001352,896.12823,2015-01-01 02:29:22,bin8962,35,False +CTSPillarNetworkA,8963,8963,8963,1994-07-17,896.3000000001352,896.2282,2015-01-01 02:29:23,bin8963,75,False +CTSPillarNetworkA,8964,8964,8964,1994-07-18,896.4000000001353,896.3282,2015-01-01 02:29:24,bin8964,35,False +CTSPillarNetworkA,8965,8965,8965,1994-07-19,896.5000000001353,896.42816,2015-01-01 02:29:25,bin8965,75,False +CTSPillarNetworkA,8966,8966,8966,1994-07-20,896.6000000001353,896.52814,2015-01-01 02:29:26,bin8966,35,False +CTSPillarNetworkA,8967,8967,8967,1994-07-21,896.7000000001353,896.6281,2015-01-01 02:29:27,bin8967,75,False +CTSPillarNetworkA,8968,8968,8968,1994-07-22,896.8000000001354,896.7281,2015-01-01 02:29:28,bin8968,35,False +CTSPillarNetworkA,8969,8969,8969,1994-07-23,896.9000000001354,896.82806,2015-01-01 02:29:29,bin8969,75,False +CTSPillarNetworkA,8970,8970,8970,1994-07-24,897.0000000001354,896.92804,2015-01-01 02:29:30,bin8970,35,False +CTSPillarNetworkA,8971,8971,8971,1994-07-25,897.1000000001354,897.028,2015-01-01 02:29:31,bin8971,75,False +CTSPillarNetworkA,8972,8972,8972,1994-07-26,897.2000000001354,897.128,2015-01-01 02:29:32,bin8972,35,False +CTSPillarNetworkA,8973,8973,8973,1994-07-27,897.3000000001355,897.22797,2015-01-01 02:29:33,bin8973,75,False +CTSPillarNetworkA,8974,8974,8974,1994-07-28,897.4000000001355,897.32794,2015-01-01 02:29:34,bin8974,35,False +CTSPillarNetworkA,8975,8975,8975,1994-07-29,897.5000000001355,897.4279,2015-01-01 02:29:35,bin8975,75,False +CTSPillarNetworkA,8976,8976,8976,1994-07-30,897.6000000001355,897.5279,2015-01-01 02:29:36,bin8976,35,False +CTSPillarNetworkA,8977,8977,8977,1994-07-31,897.7000000001356,897.62787,2015-01-01 02:29:37,bin8977,75,False +CTSPillarNetworkA,8978,8978,8978,1994-08-01,897.8000000001356,897.72784,2015-01-01 02:29:38,bin8978,35,False +CTSPillarNetworkA,8979,8979,8979,1994-08-02,897.9000000001356,897.8278,2015-01-01 02:29:39,bin8979,75,False +CTSPillarNetworkA,8980,8980,8980,1994-08-03,898.0000000001356,897.9278,2015-01-01 02:29:40,bin8980,35,False +CTSPillarNetworkA,8981,8981,8981,1994-08-04,898.1000000001357,898.0278,2015-01-01 02:29:41,bin8981,75,False +CTSPillarNetworkA,8982,8982,8982,1994-08-05,898.2000000001357,898.12775,2015-01-01 02:29:42,bin8982,35,False +CTSPillarNetworkA,8983,8983,8983,1994-08-06,898.3000000001357,898.2277,2015-01-01 02:29:43,bin8983,75,False +CTSPillarNetworkA,8984,8984,8984,1994-08-07,898.4000000001357,898.3277,2015-01-01 02:29:44,bin8984,35,False +CTSPillarNetworkA,8985,8985,8985,1994-08-08,898.5000000001357,898.4277,2015-01-01 02:29:45,bin8985,75,False +CTSPillarNetworkA,8986,8986,8986,1994-08-09,898.6000000001358,898.52765,2015-01-01 02:29:46,bin8986,35,False +CTSPillarNetworkA,8987,8987,8987,1994-08-10,898.7000000001358,898.6276,2015-01-01 02:29:47,bin8987,75,False +CTSPillarNetworkA,8988,8988,8988,1994-08-11,898.8000000001358,898.7276,2015-01-01 02:29:48,bin8988,35,False +CTSPillarNetworkA,8989,8989,8989,1994-08-12,898.9000000001358,898.8276,2015-01-01 02:29:49,bin8989,75,False +CTSPillarNetworkA,8990,8990,8990,1994-08-13,899.0000000001359,898.92755,2015-01-01 02:29:50,bin8990,35,False +CTSPillarNetworkA,8991,8991,8991,1994-08-14,899.1000000001359,899.0275,2015-01-01 02:29:51,bin8991,75,False +CTSPillarNetworkA,8992,8992,8992,1994-08-15,899.2000000001359,899.1275,2015-01-01 02:29:52,bin8992,35,False +CTSPillarNetworkA,8993,8993,8993,1994-08-16,899.3000000001359,899.2275,2015-01-01 02:29:53,bin8993,75,False +CTSPillarNetworkA,8994,8994,8994,1994-08-17,899.400000000136,899.32745,2015-01-01 02:29:54,bin8994,35,False +CTSPillarNetworkA,8995,8995,8995,1994-08-18,899.500000000136,899.4274,2015-01-01 02:29:55,bin8995,75,False +CTSPillarNetworkA,8996,8996,8996,1994-08-19,899.600000000136,899.5274,2015-01-01 02:29:56,bin8996,35,False +CTSPillarNetworkA,8997,8997,8997,1994-08-20,899.700000000136,899.6274,2015-01-01 02:29:57,bin8997,75,False +CTSPillarNetworkA,8998,8998,8998,1994-08-21,899.800000000136,899.72736,2015-01-01 02:29:58,bin8998,35,False +CTSPillarNetworkA,8999,8999,8999,1994-08-22,899.9000000001361,899.82733,2015-01-01 02:29:59,bin8999,75,False +CTSPillarNetworkA,9000,9000,9000,1994-08-23,900.0000000001361,899.9273,2015-01-01 02:30:00,bin9000,35,False +CTSPillarNetworkA,9001,9001,9001,1994-08-24,900.1000000001361,900.0273,2015-01-01 02:30:01,bin9001,75,False +CTSPillarNetworkA,9002,9002,9002,1994-08-25,900.2000000001361,900.12726,2015-01-01 02:30:02,bin9002,35,False +CTSPillarNetworkA,9003,9003,9003,1994-08-26,900.3000000001362,900.22723,2015-01-01 02:30:03,bin9003,75,False +CTSPillarNetworkA,9004,9004,9004,1994-08-27,900.4000000001362,900.3272,2015-01-01 02:30:04,bin9004,35,False +CTSPillarNetworkA,9005,9005,9005,1994-08-28,900.5000000001362,900.4272,2015-01-01 02:30:05,bin9005,75,False +CTSPillarNetworkA,9006,9006,9006,1994-08-29,900.6000000001362,900.52716,2015-01-01 02:30:06,bin9006,35,False +CTSPillarNetworkA,9007,9007,9007,1994-08-30,900.7000000001362,900.62714,2015-01-01 02:30:07,bin9007,75,False +CTSPillarNetworkA,9008,9008,9008,1994-08-31,900.8000000001363,900.7271,2015-01-01 02:30:08,bin9008,35,False +CTSPillarNetworkA,9009,9009,9009,1994-09-01,900.9000000001363,900.8271,2015-01-01 02:30:09,bin9009,75,False +CTSPillarNetworkA,9010,9010,9010,1994-09-02,901.0000000001363,900.92706,2015-01-01 02:30:10,bin9010,35,False +CTSPillarNetworkA,9011,9011,9011,1994-09-03,901.1000000001363,901.02704,2015-01-01 02:30:11,bin9011,75,False +CTSPillarNetworkA,9012,9012,9012,1994-09-04,901.2000000001364,901.127,2015-01-01 02:30:12,bin9012,35,False +CTSPillarNetworkA,9013,9013,9013,1994-09-05,901.3000000001364,901.227,2015-01-01 02:30:13,bin9013,75,False +CTSPillarNetworkA,9014,9014,9014,1994-09-06,901.4000000001364,901.32697,2015-01-01 02:30:14,bin9014,35,False +CTSPillarNetworkA,9015,9015,9015,1994-09-07,901.5000000001364,901.42694,2015-01-01 02:30:15,bin9015,75,False +CTSPillarNetworkA,9016,9016,9016,1994-09-08,901.6000000001364,901.5269,2015-01-01 02:30:16,bin9016,35,False +CTSPillarNetworkA,9017,9017,9017,1994-09-09,901.7000000001365,901.6269,2015-01-01 02:30:17,bin9017,75,False +CTSPillarNetworkA,9018,9018,9018,1994-09-10,901.8000000001365,901.72687,2015-01-01 02:30:18,bin9018,35,False +CTSPillarNetworkA,9019,9019,9019,1994-09-11,901.9000000001365,901.82684,2015-01-01 02:30:19,bin9019,75,False +CTSPillarNetworkA,9020,9020,9020,1994-09-12,902.0000000001365,901.9268,2015-01-01 02:30:20,bin9020,35,False +CTSPillarNetworkA,9021,9021,9021,1994-09-13,902.1000000001366,902.0268,2015-01-01 02:30:21,bin9021,75,False +CTSPillarNetworkA,9022,9022,9022,1994-09-14,902.2000000001366,902.1268,2015-01-01 02:30:22,bin9022,35,False +CTSPillarNetworkA,9023,9023,9023,1994-09-15,902.3000000001366,902.22675,2015-01-01 02:30:23,bin9023,75,False +CTSPillarNetworkA,9024,9024,9024,1994-09-16,902.4000000001366,902.3267,2015-01-01 02:30:24,bin9024,35,False +CTSPillarNetworkA,9025,9025,9025,1994-09-17,902.5000000001367,902.4267,2015-01-01 02:30:25,bin9025,75,False +CTSPillarNetworkA,9026,9026,9026,1994-09-18,902.6000000001367,902.5267,2015-01-01 02:30:26,bin9026,35,False +CTSPillarNetworkA,9027,9027,9027,1994-09-19,902.7000000001367,902.62665,2015-01-01 02:30:27,bin9027,75,False +CTSPillarNetworkA,9028,9028,9028,1994-09-20,902.8000000001367,902.7266,2015-01-01 02:30:28,bin9028,35,False +CTSPillarNetworkA,9029,9029,9029,1994-09-21,902.9000000001367,902.8266,2015-01-01 02:30:29,bin9029,75,False +CTSPillarNetworkA,9030,9030,9030,1994-09-22,903.0000000001368,902.9266,2015-01-01 02:30:30,bin9030,35,False +CTSPillarNetworkA,9031,9031,9031,1994-09-23,903.1000000001368,903.02655,2015-01-01 02:30:31,bin9031,75,False +CTSPillarNetworkA,9032,9032,9032,1994-09-24,903.2000000001368,903.1265,2015-01-01 02:30:32,bin9032,35,False +CTSPillarNetworkA,9033,9033,9033,1994-09-25,903.3000000001368,903.2265,2015-01-01 02:30:33,bin9033,75,False +CTSPillarNetworkA,9034,9034,9034,1994-09-26,903.4000000001369,903.3265,2015-01-01 02:30:34,bin9034,35,False +CTSPillarNetworkA,9035,9035,9035,1994-09-27,903.5000000001369,903.42645,2015-01-01 02:30:35,bin9035,75,False +CTSPillarNetworkA,9036,9036,9036,1994-09-28,903.6000000001369,903.5264,2015-01-01 02:30:36,bin9036,35,False +CTSPillarNetworkA,9037,9037,9037,1994-09-29,903.7000000001369,903.6264,2015-01-01 02:30:37,bin9037,75,False +CTSPillarNetworkA,9038,9038,9038,1994-09-30,903.800000000137,903.7264,2015-01-01 02:30:38,bin9038,35,False +CTSPillarNetworkA,9039,9039,9039,1994-10-01,903.900000000137,903.82635,2015-01-01 02:30:39,bin9039,75,False +CTSPillarNetworkA,9040,9040,9040,1994-10-02,904.000000000137,903.92633,2015-01-01 02:30:40,bin9040,35,False +CTSPillarNetworkA,9041,9041,9041,1994-10-03,904.100000000137,904.0263,2015-01-01 02:30:41,bin9041,75,False +CTSPillarNetworkA,9042,9042,9042,1994-10-04,904.200000000137,904.1263,2015-01-01 02:30:42,bin9042,35,False +CTSPillarNetworkA,9043,9043,9043,1994-10-05,904.3000000001371,904.22626,2015-01-01 02:30:43,bin9043,75,False +CTSPillarNetworkA,9044,9044,9044,1994-10-06,904.4000000001371,904.32623,2015-01-01 02:30:44,bin9044,35,False +CTSPillarNetworkA,9045,9045,9045,1994-10-07,904.5000000001371,904.4262,2015-01-01 02:30:45,bin9045,75,False +CTSPillarNetworkA,9046,9046,9046,1994-10-08,904.6000000001371,904.5262,2015-01-01 02:30:46,bin9046,35,False +CTSPillarNetworkA,9047,9047,9047,1994-10-09,904.7000000001372,904.62616,2015-01-01 02:30:47,bin9047,75,False +CTSPillarNetworkA,9048,9048,9048,1994-10-10,904.8000000001372,904.72614,2015-01-01 02:30:48,bin9048,35,False +CTSPillarNetworkA,9049,9049,9049,1994-10-11,904.9000000001372,904.8261,2015-01-01 02:30:49,bin9049,75,False +CTSPillarNetworkA,9050,9050,9050,1994-10-12,905.0000000001372,904.9261,2015-01-01 02:30:50,bin9050,35,False +CTSPillarNetworkA,9051,9051,9051,1994-10-13,905.1000000001372,905.02606,2015-01-01 02:30:51,bin9051,75,False +CTSPillarNetworkA,9052,9052,9052,1994-10-14,905.2000000001373,905.12604,2015-01-01 02:30:52,bin9052,35,False +CTSPillarNetworkA,9053,9053,9053,1994-10-15,905.3000000001373,905.226,2015-01-01 02:30:53,bin9053,75,False +CTSPillarNetworkA,9054,9054,9054,1994-10-16,905.4000000001373,905.326,2015-01-01 02:30:54,bin9054,35,False +CTSPillarNetworkA,9055,9055,9055,1994-10-17,905.5000000001373,905.42596,2015-01-01 02:30:55,bin9055,75,False +CTSPillarNetworkA,9056,9056,9056,1994-10-18,905.6000000001374,905.52594,2015-01-01 02:30:56,bin9056,35,False +CTSPillarNetworkA,9057,9057,9057,1994-10-19,905.7000000001374,905.6259,2015-01-01 02:30:57,bin9057,75,False +CTSPillarNetworkA,9058,9058,9058,1994-10-20,905.8000000001374,905.7259,2015-01-01 02:30:58,bin9058,35,False +CTSPillarNetworkA,9059,9059,9059,1994-10-21,905.9000000001374,905.82587,2015-01-01 02:30:59,bin9059,75,False +CTSPillarNetworkA,9060,9060,9060,1994-10-22,906.0000000001374,905.92584,2015-01-01 02:31:00,bin9060,35,False +CTSPillarNetworkA,9061,9061,9061,1994-10-23,906.1000000001375,906.0258,2015-01-01 02:31:01,bin9061,75,False +CTSPillarNetworkA,9062,9062,9062,1994-10-24,906.2000000001375,906.1258,2015-01-01 02:31:02,bin9062,35,False +CTSPillarNetworkA,9063,9063,9063,1994-10-25,906.3000000001375,906.22577,2015-01-01 02:31:03,bin9063,75,False +CTSPillarNetworkA,9064,9064,9064,1994-10-26,906.4000000001375,906.32574,2015-01-01 02:31:04,bin9064,35,False +CTSPillarNetworkA,9065,9065,9065,1994-10-27,906.5000000001376,906.4257,2015-01-01 02:31:05,bin9065,75,False +CTSPillarNetworkA,9066,9066,9066,1994-10-28,906.6000000001376,906.5257,2015-01-01 02:31:06,bin9066,35,False +CTSPillarNetworkA,9067,9067,9067,1994-10-29,906.7000000001376,906.6257,2015-01-01 02:31:07,bin9067,75,False +CTSPillarNetworkA,9068,9068,9068,1994-10-30,906.8000000001376,906.72565,2015-01-01 02:31:08,bin9068,35,False +CTSPillarNetworkA,9069,9069,9069,1994-10-31,906.9000000001377,906.8256,2015-01-01 02:31:09,bin9069,75,False +CTSPillarNetworkA,9070,9070,9070,1994-11-01,907.0000000001377,906.9256,2015-01-01 02:31:10,bin9070,35,False +CTSPillarNetworkA,9071,9071,9071,1994-11-02,907.1000000001377,907.0256,2015-01-01 02:31:11,bin9071,75,False +CTSPillarNetworkA,9072,9072,9072,1994-11-03,907.2000000001377,907.12555,2015-01-01 02:31:12,bin9072,35,False +CTSPillarNetworkA,9073,9073,9073,1994-11-04,907.3000000001377,907.2255,2015-01-01 02:31:13,bin9073,75,False +CTSPillarNetworkA,9074,9074,9074,1994-11-05,907.4000000001378,907.3255,2015-01-01 02:31:14,bin9074,35,False +CTSPillarNetworkA,9075,9075,9075,1994-11-06,907.5000000001378,907.4255,2015-01-01 02:31:15,bin9075,75,False +CTSPillarNetworkA,9076,9076,9076,1994-11-07,907.6000000001378,907.52545,2015-01-01 02:31:16,bin9076,35,False +CTSPillarNetworkA,9077,9077,9077,1994-11-08,907.7000000001378,907.6254,2015-01-01 02:31:17,bin9077,75,False +CTSPillarNetworkA,9078,9078,9078,1994-11-09,907.8000000001379,907.7254,2015-01-01 02:31:18,bin9078,35,False +CTSPillarNetworkA,9079,9079,9079,1994-11-10,907.9000000001379,907.8254,2015-01-01 02:31:19,bin9079,75,False +CTSPillarNetworkA,9080,9080,9080,1994-11-11,908.0000000001379,907.92535,2015-01-01 02:31:20,bin9080,35,False +CTSPillarNetworkA,9081,9081,9081,1994-11-12,908.1000000001379,908.0253,2015-01-01 02:31:21,bin9081,75,False +CTSPillarNetworkA,9082,9082,9082,1994-11-13,908.200000000138,908.1253,2015-01-01 02:31:22,bin9082,35,False +CTSPillarNetworkA,9083,9083,9083,1994-11-14,908.300000000138,908.2253,2015-01-01 02:31:23,bin9083,75,False +CTSPillarNetworkA,9084,9084,9084,1994-11-15,908.400000000138,908.32526,2015-01-01 02:31:24,bin9084,35,False +CTSPillarNetworkA,9085,9085,9085,1994-11-16,908.500000000138,908.42523,2015-01-01 02:31:25,bin9085,75,False +CTSPillarNetworkA,9086,9086,9086,1994-11-17,908.600000000138,908.5252,2015-01-01 02:31:26,bin9086,35,False +CTSPillarNetworkA,9087,9087,9087,1994-11-18,908.7000000001381,908.6252,2015-01-01 02:31:27,bin9087,75,False +CTSPillarNetworkA,9088,9088,9088,1994-11-19,908.8000000001381,908.72516,2015-01-01 02:31:28,bin9088,35,False +CTSPillarNetworkA,9089,9089,9089,1994-11-20,908.9000000001381,908.82513,2015-01-01 02:31:29,bin9089,75,False +CTSPillarNetworkA,9090,9090,9090,1994-11-21,909.0000000001381,908.9251,2015-01-01 02:31:30,bin9090,35,False +CTSPillarNetworkA,9091,9091,9091,1994-11-22,909.1000000001382,909.0251,2015-01-01 02:31:31,bin9091,75,False +CTSPillarNetworkA,9092,9092,9092,1994-11-23,909.2000000001382,909.12506,2015-01-01 02:31:32,bin9092,35,False +CTSPillarNetworkA,9093,9093,9093,1994-11-24,909.3000000001382,909.22504,2015-01-01 02:31:33,bin9093,75,False +CTSPillarNetworkA,9094,9094,9094,1994-11-25,909.4000000001382,909.325,2015-01-01 02:31:34,bin9094,35,False +CTSPillarNetworkA,9095,9095,9095,1994-11-26,909.5000000001382,909.425,2015-01-01 02:31:35,bin9095,75,False +CTSPillarNetworkA,9096,9096,9096,1994-11-27,909.6000000001383,909.52496,2015-01-01 02:31:36,bin9096,35,False +CTSPillarNetworkA,9097,9097,9097,1994-11-28,909.7000000001383,909.62494,2015-01-01 02:31:37,bin9097,75,False +CTSPillarNetworkA,9098,9098,9098,1994-11-29,909.8000000001383,909.7249,2015-01-01 02:31:38,bin9098,35,False +CTSPillarNetworkA,9099,9099,9099,1994-11-30,909.9000000001383,909.8249,2015-01-01 02:31:39,bin9099,75,False +CTSPillarNetworkA,9100,9100,9100,1994-12-01,910.0000000001384,909.92487,2015-01-01 02:31:40,bin9100,35,False +CTSPillarNetworkA,9101,9101,9101,1994-12-02,910.1000000001384,910.02484,2015-01-01 02:31:41,bin9101,75,False +CTSPillarNetworkA,9102,9102,9102,1994-12-03,910.2000000001384,910.1248,2015-01-01 02:31:42,bin9102,35,False +CTSPillarNetworkA,9103,9103,9103,1994-12-04,910.3000000001384,910.2248,2015-01-01 02:31:43,bin9103,75,False +CTSPillarNetworkA,9104,9104,9104,1994-12-05,910.4000000001384,910.32477,2015-01-01 02:31:44,bin9104,35,False +CTSPillarNetworkA,9105,9105,9105,1994-12-06,910.5000000001385,910.42474,2015-01-01 02:31:45,bin9105,75,False +CTSPillarNetworkA,9106,9106,9106,1994-12-07,910.6000000001385,910.5247,2015-01-01 02:31:46,bin9106,35,False +CTSPillarNetworkA,9107,9107,9107,1994-12-08,910.7000000001385,910.6247,2015-01-01 02:31:47,bin9107,75,False +CTSPillarNetworkA,9108,9108,9108,1994-12-09,910.8000000001385,910.7247,2015-01-01 02:31:48,bin9108,35,False +CTSPillarNetworkA,9109,9109,9109,1994-12-10,910.9000000001386,910.82465,2015-01-01 02:31:49,bin9109,75,False +CTSPillarNetworkA,9110,9110,9110,1994-12-11,911.0000000001386,910.9246,2015-01-01 02:31:50,bin9110,35,False +CTSPillarNetworkA,9111,9111,9111,1994-12-12,911.1000000001386,911.0246,2015-01-01 02:31:51,bin9111,75,False +CTSPillarNetworkA,9112,9112,9112,1994-12-13,911.2000000001386,911.1246,2015-01-01 02:31:52,bin9112,35,False +CTSPillarNetworkA,9113,9113,9113,1994-12-14,911.3000000001387,911.22455,2015-01-01 02:31:53,bin9113,75,False +CTSPillarNetworkA,9114,9114,9114,1994-12-15,911.4000000001387,911.3245,2015-01-01 02:31:54,bin9114,35,False +CTSPillarNetworkA,9115,9115,9115,1994-12-16,911.5000000001387,911.4245,2015-01-01 02:31:55,bin9115,75,False +CTSPillarNetworkA,9116,9116,9116,1994-12-17,911.6000000001387,911.5245,2015-01-01 02:31:56,bin9116,35,False +CTSPillarNetworkA,9117,9117,9117,1994-12-18,911.7000000001387,911.62445,2015-01-01 02:31:57,bin9117,75,False +CTSPillarNetworkA,9118,9118,9118,1994-12-19,911.8000000001388,911.7244,2015-01-01 02:31:58,bin9118,35,False +CTSPillarNetworkA,9119,9119,9119,1994-12-20,911.9000000001388,911.8244,2015-01-01 02:31:59,bin9119,75,False +CTSPillarNetworkA,9120,9120,9120,1994-12-21,912.0000000001388,911.9244,2015-01-01 02:32:00,bin9120,35,False +CTSPillarNetworkA,9121,9121,9121,1994-12-22,912.1000000001388,912.02435,2015-01-01 02:32:01,bin9121,75,False +CTSPillarNetworkA,9122,9122,9122,1994-12-23,912.2000000001389,912.1243,2015-01-01 02:32:02,bin9122,35,False +CTSPillarNetworkA,9123,9123,9123,1994-12-24,912.3000000001389,912.2243,2015-01-01 02:32:03,bin9123,75,False +CTSPillarNetworkA,9124,9124,9124,1994-12-25,912.4000000001389,912.3243,2015-01-01 02:32:04,bin9124,35,False +CTSPillarNetworkA,9125,9125,9125,1994-12-26,912.5000000001389,912.42426,2015-01-01 02:32:05,bin9125,75,False +CTSPillarNetworkA,9126,9126,9126,1994-12-27,912.600000000139,912.52423,2015-01-01 02:32:06,bin9126,35,False +CTSPillarNetworkA,9127,9127,9127,1994-12-28,912.700000000139,912.6242,2015-01-01 02:32:07,bin9127,75,False +CTSPillarNetworkA,9128,9128,9128,1994-12-29,912.800000000139,912.7242,2015-01-01 02:32:08,bin9128,35,False +CTSPillarNetworkA,9129,9129,9129,1994-12-30,912.900000000139,912.82416,2015-01-01 02:32:09,bin9129,75,False +CTSPillarNetworkA,9130,9130,9130,1994-12-31,913.000000000139,912.92413,2015-01-01 02:32:10,bin9130,35,False +CTSPillarNetworkA,9131,9131,9131,1995-01-01,913.1000000001391,913.0241,2015-01-01 02:32:11,bin9131,75,False +CTSPillarNetworkA,9132,9132,9132,1995-01-02,913.2000000001391,913.1241,2015-01-01 02:32:12,bin9132,35,False +CTSPillarNetworkA,9133,9133,9133,1995-01-03,913.3000000001391,913.22406,2015-01-01 02:32:13,bin9133,75,False +CTSPillarNetworkA,9134,9134,9134,1995-01-04,913.4000000001391,913.32404,2015-01-01 02:32:14,bin9134,35,False +CTSPillarNetworkA,9135,9135,9135,1995-01-05,913.5000000001392,913.424,2015-01-01 02:32:15,bin9135,75,False +CTSPillarNetworkA,9136,9136,9136,1995-01-06,913.6000000001392,913.524,2015-01-01 02:32:16,bin9136,35,False +CTSPillarNetworkA,9137,9137,9137,1995-01-07,913.7000000001392,913.62396,2015-01-01 02:32:17,bin9137,75,False +CTSPillarNetworkA,9138,9138,9138,1995-01-08,913.8000000001392,913.72394,2015-01-01 02:32:18,bin9138,35,False +CTSPillarNetworkA,9139,9139,9139,1995-01-09,913.9000000001392,913.8239,2015-01-01 02:32:19,bin9139,75,False +CTSPillarNetworkA,9140,9140,9140,1995-01-10,914.0000000001393,913.9239,2015-01-01 02:32:20,bin9140,35,False +CTSPillarNetworkA,9141,9141,9141,1995-01-11,914.1000000001393,914.02386,2015-01-01 02:32:21,bin9141,75,False +CTSPillarNetworkA,9142,9142,9142,1995-01-12,914.2000000001393,914.12384,2015-01-01 02:32:22,bin9142,35,False +CTSPillarNetworkA,9143,9143,9143,1995-01-13,914.3000000001393,914.2238,2015-01-01 02:32:23,bin9143,75,False +CTSPillarNetworkA,9144,9144,9144,1995-01-14,914.4000000001394,914.3238,2015-01-01 02:32:24,bin9144,35,False +CTSPillarNetworkA,9145,9145,9145,1995-01-15,914.5000000001394,914.42377,2015-01-01 02:32:25,bin9145,75,False +CTSPillarNetworkA,9146,9146,9146,1995-01-16,914.6000000001394,914.52374,2015-01-01 02:32:26,bin9146,35,False +CTSPillarNetworkA,9147,9147,9147,1995-01-17,914.7000000001394,914.6237,2015-01-01 02:32:27,bin9147,75,False +CTSPillarNetworkA,9148,9148,9148,1995-01-18,914.8000000001394,914.7237,2015-01-01 02:32:28,bin9148,35,False +CTSPillarNetworkA,9149,9149,9149,1995-01-19,914.9000000001395,914.82367,2015-01-01 02:32:29,bin9149,75,False +CTSPillarNetworkA,9150,9150,9150,1995-01-20,915.0000000001395,914.92365,2015-01-01 02:32:30,bin9150,35,False +CTSPillarNetworkA,9151,9151,9151,1995-01-21,915.1000000001395,915.0236,2015-01-01 02:32:31,bin9151,75,False +CTSPillarNetworkA,9152,9152,9152,1995-01-22,915.2000000001395,915.1236,2015-01-01 02:32:32,bin9152,35,False +CTSPillarNetworkA,9153,9153,9153,1995-01-23,915.3000000001396,915.2236,2015-01-01 02:32:33,bin9153,75,False +CTSPillarNetworkA,9154,9154,9154,1995-01-24,915.4000000001396,915.32355,2015-01-01 02:32:34,bin9154,35,False +CTSPillarNetworkA,9155,9155,9155,1995-01-25,915.5000000001396,915.4235,2015-01-01 02:32:35,bin9155,75,False +CTSPillarNetworkA,9156,9156,9156,1995-01-26,915.6000000001396,915.5235,2015-01-01 02:32:36,bin9156,35,False +CTSPillarNetworkA,9157,9157,9157,1995-01-27,915.7000000001397,915.6235,2015-01-01 02:32:37,bin9157,75,False +CTSPillarNetworkA,9158,9158,9158,1995-01-28,915.8000000001397,915.72345,2015-01-01 02:32:38,bin9158,35,False +CTSPillarNetworkA,9159,9159,9159,1995-01-29,915.9000000001397,915.8234,2015-01-01 02:32:39,bin9159,75,False +CTSPillarNetworkA,9160,9160,9160,1995-01-30,916.0000000001397,915.9234,2015-01-01 02:32:40,bin9160,35,False +CTSPillarNetworkA,9161,9161,9161,1995-01-31,916.1000000001397,916.0234,2015-01-01 02:32:41,bin9161,75,False +CTSPillarNetworkA,9162,9162,9162,1995-02-01,916.2000000001398,916.12335,2015-01-01 02:32:42,bin9162,35,False +CTSPillarNetworkA,9163,9163,9163,1995-02-02,916.3000000001398,916.2233,2015-01-01 02:32:43,bin9163,75,False +CTSPillarNetworkA,9164,9164,9164,1995-02-03,916.4000000001398,916.3233,2015-01-01 02:32:44,bin9164,35,False +CTSPillarNetworkA,9165,9165,9165,1995-02-04,916.5000000001398,916.4233,2015-01-01 02:32:45,bin9165,75,False +CTSPillarNetworkA,9166,9166,9166,1995-02-05,916.6000000001399,916.52325,2015-01-01 02:32:46,bin9166,35,False +CTSPillarNetworkA,9167,9167,9167,1995-02-06,916.7000000001399,916.6232,2015-01-01 02:32:47,bin9167,75,False +CTSPillarNetworkA,9168,9168,9168,1995-02-07,916.8000000001399,916.7232,2015-01-01 02:32:48,bin9168,35,False +CTSPillarNetworkA,9169,9169,9169,1995-02-08,916.9000000001399,916.8232,2015-01-01 02:32:49,bin9169,75,False +CTSPillarNetworkA,9170,9170,9170,1995-02-09,917.00000000014,916.92316,2015-01-01 02:32:50,bin9170,35,False +CTSPillarNetworkA,9171,9171,9171,1995-02-10,917.10000000014,917.02313,2015-01-01 02:32:51,bin9171,75,False +CTSPillarNetworkA,9172,9172,9172,1995-02-11,917.20000000014,917.1231,2015-01-01 02:32:52,bin9172,35,False +CTSPillarNetworkA,9173,9173,9173,1995-02-12,917.30000000014,917.2231,2015-01-01 02:32:53,bin9173,75,False +CTSPillarNetworkA,9174,9174,9174,1995-02-13,917.40000000014,917.32306,2015-01-01 02:32:54,bin9174,35,False +CTSPillarNetworkA,9175,9175,9175,1995-02-14,917.5000000001401,917.42303,2015-01-01 02:32:55,bin9175,75,False +CTSPillarNetworkA,9176,9176,9176,1995-02-15,917.6000000001401,917.523,2015-01-01 02:32:56,bin9176,35,False +CTSPillarNetworkA,9177,9177,9177,1995-02-16,917.7000000001401,917.623,2015-01-01 02:32:57,bin9177,75,False +CTSPillarNetworkA,9178,9178,9178,1995-02-17,917.8000000001401,917.72296,2015-01-01 02:32:58,bin9178,35,False +CTSPillarNetworkA,9179,9179,9179,1995-02-18,917.9000000001402,917.82294,2015-01-01 02:32:59,bin9179,75,False +CTSPillarNetworkA,9180,9180,9180,1995-02-19,918.0000000001402,917.9229,2015-01-01 02:33:00,bin9180,35,False +CTSPillarNetworkA,9181,9181,9181,1995-02-20,918.1000000001402,918.0229,2015-01-01 02:33:01,bin9181,75,False +CTSPillarNetworkA,9182,9182,9182,1995-02-21,918.2000000001402,918.12286,2015-01-01 02:33:02,bin9182,35,False +CTSPillarNetworkA,9183,9183,9183,1995-02-22,918.3000000001402,918.22284,2015-01-01 02:33:03,bin9183,75,False +CTSPillarNetworkA,9184,9184,9184,1995-02-23,918.4000000001403,918.3228,2015-01-01 02:33:04,bin9184,35,False +CTSPillarNetworkA,9185,9185,9185,1995-02-24,918.5000000001403,918.4228,2015-01-01 02:33:05,bin9185,75,False +CTSPillarNetworkA,9186,9186,9186,1995-02-25,918.6000000001403,918.52277,2015-01-01 02:33:06,bin9186,35,False +CTSPillarNetworkA,9187,9187,9187,1995-02-26,918.7000000001403,918.62274,2015-01-01 02:33:07,bin9187,75,False +CTSPillarNetworkA,9188,9188,9188,1995-02-27,918.8000000001404,918.7227,2015-01-01 02:33:08,bin9188,35,False +CTSPillarNetworkA,9189,9189,9189,1995-02-28,918.9000000001404,918.8227,2015-01-01 02:33:09,bin9189,75,False +CTSPillarNetworkA,9190,9190,9190,1995-03-01,919.0000000001404,918.92267,2015-01-01 02:33:10,bin9190,35,False +CTSPillarNetworkA,9191,9191,9191,1995-03-02,919.1000000001404,919.02264,2015-01-01 02:33:11,bin9191,75,False +CTSPillarNetworkA,9192,9192,9192,1995-03-03,919.2000000001404,919.1226,2015-01-01 02:33:12,bin9192,35,False +CTSPillarNetworkA,9193,9193,9193,1995-03-04,919.3000000001405,919.2226,2015-01-01 02:33:13,bin9193,75,False +CTSPillarNetworkA,9194,9194,9194,1995-03-05,919.4000000001405,919.3226,2015-01-01 02:33:14,bin9194,35,False +CTSPillarNetworkA,9195,9195,9195,1995-03-06,919.5000000001405,919.42255,2015-01-01 02:33:15,bin9195,75,False +CTSPillarNetworkA,9196,9196,9196,1995-03-07,919.6000000001405,919.5225,2015-01-01 02:33:16,bin9196,35,False +CTSPillarNetworkA,9197,9197,9197,1995-03-08,919.7000000001406,919.6225,2015-01-01 02:33:17,bin9197,75,False +CTSPillarNetworkA,9198,9198,9198,1995-03-09,919.8000000001406,919.7225,2015-01-01 02:33:18,bin9198,35,False +CTSPillarNetworkA,9199,9199,9199,1995-03-10,919.9000000001406,919.82245,2015-01-01 02:33:19,bin9199,75,False +CTSPillarNetworkA,9200,9200,9200,1995-03-11,920.0000000001406,919.9224,2015-01-01 02:33:20,bin9200,35,False +CTSPillarNetworkA,9201,9201,9201,1995-03-12,920.1000000001407,920.0224,2015-01-01 02:33:21,bin9201,75,False +CTSPillarNetworkA,9202,9202,9202,1995-03-13,920.2000000001407,920.1224,2015-01-01 02:33:22,bin9202,35,False +CTSPillarNetworkA,9203,9203,9203,1995-03-14,920.3000000001407,920.22235,2015-01-01 02:33:23,bin9203,75,False +CTSPillarNetworkA,9204,9204,9204,1995-03-15,920.4000000001407,920.3223,2015-01-01 02:33:24,bin9204,35,False +CTSPillarNetworkA,9205,9205,9205,1995-03-16,920.5000000001407,920.4223,2015-01-01 02:33:25,bin9205,75,False +CTSPillarNetworkA,9206,9206,9206,1995-03-17,920.6000000001408,920.5223,2015-01-01 02:33:26,bin9206,35,False +CTSPillarNetworkA,9207,9207,9207,1995-03-18,920.7000000001408,920.62225,2015-01-01 02:33:27,bin9207,75,False +CTSPillarNetworkA,9208,9208,9208,1995-03-19,920.8000000001408,920.7222,2015-01-01 02:33:28,bin9208,35,False +CTSPillarNetworkA,9209,9209,9209,1995-03-20,920.9000000001408,920.8222,2015-01-01 02:33:29,bin9209,75,False +CTSPillarNetworkA,9210,9210,9210,1995-03-21,921.0000000001409,920.9222,2015-01-01 02:33:30,bin9210,35,False +CTSPillarNetworkA,9211,9211,9211,1995-03-22,921.1000000001409,921.02216,2015-01-01 02:33:31,bin9211,75,False +CTSPillarNetworkA,9212,9212,9212,1995-03-23,921.2000000001409,921.12213,2015-01-01 02:33:32,bin9212,35,False +CTSPillarNetworkA,9213,9213,9213,1995-03-24,921.3000000001409,921.2221,2015-01-01 02:33:33,bin9213,75,False +CTSPillarNetworkA,9214,9214,9214,1995-03-25,921.400000000141,921.3221,2015-01-01 02:33:34,bin9214,35,False +CTSPillarNetworkA,9215,9215,9215,1995-03-26,921.500000000141,921.42206,2015-01-01 02:33:35,bin9215,75,False +CTSPillarNetworkA,9216,9216,9216,1995-03-27,921.600000000141,921.52203,2015-01-01 02:33:36,bin9216,35,False +CTSPillarNetworkA,9217,9217,9217,1995-03-28,921.700000000141,921.622,2015-01-01 02:33:37,bin9217,75,False +CTSPillarNetworkA,9218,9218,9218,1995-03-29,921.800000000141,921.722,2015-01-01 02:33:38,bin9218,35,False +CTSPillarNetworkA,9219,9219,9219,1995-03-30,921.9000000001411,921.82196,2015-01-01 02:33:39,bin9219,75,False +CTSPillarNetworkA,9220,9220,9220,1995-03-31,922.0000000001411,921.92194,2015-01-01 02:33:40,bin9220,35,False +CTSPillarNetworkA,9221,9221,9221,1995-04-01,922.1000000001411,922.0219,2015-01-01 02:33:41,bin9221,75,False +CTSPillarNetworkA,9222,9222,9222,1995-04-02,922.2000000001411,922.1219,2015-01-01 02:33:42,bin9222,35,False +CTSPillarNetworkA,9223,9223,9223,1995-04-03,922.3000000001412,922.22186,2015-01-01 02:33:43,bin9223,75,False +CTSPillarNetworkA,9224,9224,9224,1995-04-04,922.4000000001412,922.32184,2015-01-01 02:33:44,bin9224,35,False +CTSPillarNetworkA,9225,9225,9225,1995-04-05,922.5000000001412,922.4218,2015-01-01 02:33:45,bin9225,75,False +CTSPillarNetworkA,9226,9226,9226,1995-04-06,922.6000000001412,922.5218,2015-01-01 02:33:46,bin9226,35,False +CTSPillarNetworkA,9227,9227,9227,1995-04-07,922.7000000001412,922.62177,2015-01-01 02:33:47,bin9227,75,False +CTSPillarNetworkA,9228,9228,9228,1995-04-08,922.8000000001413,922.72174,2015-01-01 02:33:48,bin9228,35,False +CTSPillarNetworkA,9229,9229,9229,1995-04-09,922.9000000001413,922.8217,2015-01-01 02:33:49,bin9229,75,False +CTSPillarNetworkA,9230,9230,9230,1995-04-10,923.0000000001413,922.9217,2015-01-01 02:33:50,bin9230,35,False +CTSPillarNetworkA,9231,9231,9231,1995-04-11,923.1000000001413,923.02167,2015-01-01 02:33:51,bin9231,75,False +CTSPillarNetworkA,9232,9232,9232,1995-04-12,923.2000000001414,923.12164,2015-01-01 02:33:52,bin9232,35,False +CTSPillarNetworkA,9233,9233,9233,1995-04-13,923.3000000001414,923.2216,2015-01-01 02:33:53,bin9233,75,False +CTSPillarNetworkA,9234,9234,9234,1995-04-14,923.4000000001414,923.3216,2015-01-01 02:33:54,bin9234,35,False +CTSPillarNetworkA,9235,9235,9235,1995-04-15,923.5000000001414,923.4216,2015-01-01 02:33:55,bin9235,75,False +CTSPillarNetworkA,9236,9236,9236,1995-04-16,923.6000000001414,923.52155,2015-01-01 02:33:56,bin9236,35,False +CTSPillarNetworkA,9237,9237,9237,1995-04-17,923.7000000001415,923.6215,2015-01-01 02:33:57,bin9237,75,False +CTSPillarNetworkA,9238,9238,9238,1995-04-18,923.8000000001415,923.7215,2015-01-01 02:33:58,bin9238,35,False +CTSPillarNetworkA,9239,9239,9239,1995-04-19,923.9000000001415,923.8215,2015-01-01 02:33:59,bin9239,75,False +CTSPillarNetworkA,9240,9240,9240,1995-04-20,924.0000000001415,923.92145,2015-01-01 02:34:00,bin9240,35,False +CTSPillarNetworkA,9241,9241,9241,1995-04-21,924.1000000001416,924.0214,2015-01-01 02:34:01,bin9241,75,False +CTSPillarNetworkA,9242,9242,9242,1995-04-22,924.2000000001416,924.1214,2015-01-01 02:34:02,bin9242,35,False +CTSPillarNetworkA,9243,9243,9243,1995-04-23,924.3000000001416,924.2214,2015-01-01 02:34:03,bin9243,75,False +CTSPillarNetworkA,9244,9244,9244,1995-04-24,924.4000000001416,924.32135,2015-01-01 02:34:04,bin9244,35,False +CTSPillarNetworkA,9245,9245,9245,1995-04-25,924.5000000001417,924.4213,2015-01-01 02:34:05,bin9245,75,False +CTSPillarNetworkA,9246,9246,9246,1995-04-26,924.6000000001417,924.5213,2015-01-01 02:34:06,bin9246,35,False +CTSPillarNetworkA,9247,9247,9247,1995-04-27,924.7000000001417,924.6213,2015-01-01 02:34:07,bin9247,75,False +CTSPillarNetworkA,9248,9248,9248,1995-04-28,924.8000000001417,924.72125,2015-01-01 02:34:08,bin9248,35,False +CTSPillarNetworkA,9249,9249,9249,1995-04-29,924.9000000001417,924.8212,2015-01-01 02:34:09,bin9249,75,False +CTSPillarNetworkA,9250,9250,9250,1995-04-30,925.0000000001418,924.9212,2015-01-01 02:34:10,bin9250,35,False +CTSPillarNetworkA,9251,9251,9251,1995-05-01,925.1000000001418,925.0212,2015-01-01 02:34:11,bin9251,75,False +CTSPillarNetworkA,9252,9252,9252,1995-05-02,925.2000000001418,925.12115,2015-01-01 02:34:12,bin9252,35,False +CTSPillarNetworkA,9253,9253,9253,1995-05-03,925.3000000001418,925.2211,2015-01-01 02:34:13,bin9253,75,False +CTSPillarNetworkA,9254,9254,9254,1995-05-04,925.4000000001419,925.3211,2015-01-01 02:34:14,bin9254,35,False +CTSPillarNetworkA,9255,9255,9255,1995-05-05,925.5000000001419,925.4211,2015-01-01 02:34:15,bin9255,75,False +CTSPillarNetworkA,9256,9256,9256,1995-05-06,925.6000000001419,925.52106,2015-01-01 02:34:16,bin9256,35,False +CTSPillarNetworkA,9257,9257,9257,1995-05-07,925.7000000001419,925.62103,2015-01-01 02:34:17,bin9257,75,False +CTSPillarNetworkA,9258,9258,9258,1995-05-08,925.800000000142,925.721,2015-01-01 02:34:18,bin9258,35,False +CTSPillarNetworkA,9259,9259,9259,1995-05-09,925.900000000142,925.821,2015-01-01 02:34:19,bin9259,75,False +CTSPillarNetworkA,9260,9260,9260,1995-05-10,926.000000000142,925.92096,2015-01-01 02:34:20,bin9260,35,False +CTSPillarNetworkA,9261,9261,9261,1995-05-11,926.100000000142,926.02094,2015-01-01 02:34:21,bin9261,75,False +CTSPillarNetworkA,9262,9262,9262,1995-05-12,926.200000000142,926.1209,2015-01-01 02:34:22,bin9262,35,False +CTSPillarNetworkA,9263,9263,9263,1995-05-13,926.3000000001421,926.2209,2015-01-01 02:34:23,bin9263,75,False +CTSPillarNetworkA,9264,9264,9264,1995-05-14,926.4000000001421,926.32086,2015-01-01 02:34:24,bin9264,35,False +CTSPillarNetworkA,9265,9265,9265,1995-05-15,926.5000000001421,926.42084,2015-01-01 02:34:25,bin9265,75,False +CTSPillarNetworkA,9266,9266,9266,1995-05-16,926.6000000001421,926.5208,2015-01-01 02:34:26,bin9266,35,False +CTSPillarNetworkA,9267,9267,9267,1995-05-17,926.7000000001422,926.6208,2015-01-01 02:34:27,bin9267,75,False +CTSPillarNetworkA,9268,9268,9268,1995-05-18,926.8000000001422,926.72076,2015-01-01 02:34:28,bin9268,35,False +CTSPillarNetworkA,9269,9269,9269,1995-05-19,926.9000000001422,926.82074,2015-01-01 02:34:29,bin9269,75,False +CTSPillarNetworkA,9270,9270,9270,1995-05-20,927.0000000001422,926.9207,2015-01-01 02:34:30,bin9270,35,False +CTSPillarNetworkA,9271,9271,9271,1995-05-21,927.1000000001422,927.0207,2015-01-01 02:34:31,bin9271,75,False +CTSPillarNetworkA,9272,9272,9272,1995-05-22,927.2000000001423,927.12067,2015-01-01 02:34:32,bin9272,35,False +CTSPillarNetworkA,9273,9273,9273,1995-05-23,927.3000000001423,927.22064,2015-01-01 02:34:33,bin9273,75,False +CTSPillarNetworkA,9274,9274,9274,1995-05-24,927.4000000001423,927.3206,2015-01-01 02:34:34,bin9274,35,False +CTSPillarNetworkA,9275,9275,9275,1995-05-25,927.5000000001423,927.4206,2015-01-01 02:34:35,bin9275,75,False +CTSPillarNetworkA,9276,9276,9276,1995-05-26,927.6000000001424,927.52057,2015-01-01 02:34:36,bin9276,35,False +CTSPillarNetworkA,9277,9277,9277,1995-05-27,927.7000000001424,927.62054,2015-01-01 02:34:37,bin9277,75,False +CTSPillarNetworkA,9278,9278,9278,1995-05-28,927.8000000001424,927.7205,2015-01-01 02:34:38,bin9278,35,False +CTSPillarNetworkA,9279,9279,9279,1995-05-29,927.9000000001424,927.8205,2015-01-01 02:34:39,bin9279,75,False +CTSPillarNetworkA,9280,9280,9280,1995-05-30,928.0000000001424,927.9205,2015-01-01 02:34:40,bin9280,35,False +CTSPillarNetworkA,9281,9281,9281,1995-05-31,928.1000000001425,928.02045,2015-01-01 02:34:41,bin9281,75,False +CTSPillarNetworkA,9282,9282,9282,1995-06-01,928.2000000001425,928.1204,2015-01-01 02:34:42,bin9282,35,False +CTSPillarNetworkA,9283,9283,9283,1995-06-02,928.3000000001425,928.2204,2015-01-01 02:34:43,bin9283,75,False +CTSPillarNetworkA,9284,9284,9284,1995-06-03,928.4000000001425,928.3204,2015-01-01 02:34:44,bin9284,35,False +CTSPillarNetworkA,9285,9285,9285,1995-06-04,928.5000000001426,928.42035,2015-01-01 02:34:45,bin9285,75,False +CTSPillarNetworkA,9286,9286,9286,1995-06-05,928.6000000001426,928.5203,2015-01-01 02:34:46,bin9286,35,False +CTSPillarNetworkA,9287,9287,9287,1995-06-06,928.7000000001426,928.6203,2015-01-01 02:34:47,bin9287,75,False +CTSPillarNetworkA,9288,9288,9288,1995-06-07,928.8000000001426,928.7203,2015-01-01 02:34:48,bin9288,35,False +CTSPillarNetworkA,9289,9289,9289,1995-06-08,928.9000000001427,928.82025,2015-01-01 02:34:49,bin9289,75,False +CTSPillarNetworkA,9290,9290,9290,1995-06-09,929.0000000001427,928.9202,2015-01-01 02:34:50,bin9290,35,False +CTSPillarNetworkA,9291,9291,9291,1995-06-10,929.1000000001427,929.0202,2015-01-01 02:34:51,bin9291,75,False +CTSPillarNetworkA,9292,9292,9292,1995-06-11,929.2000000001427,929.1202,2015-01-01 02:34:52,bin9292,35,False +CTSPillarNetworkA,9293,9293,9293,1995-06-12,929.3000000001427,929.22015,2015-01-01 02:34:53,bin9293,75,False +CTSPillarNetworkA,9294,9294,9294,1995-06-13,929.4000000001428,929.3201,2015-01-01 02:34:54,bin9294,35,False +CTSPillarNetworkA,9295,9295,9295,1995-06-14,929.5000000001428,929.4201,2015-01-01 02:34:55,bin9295,75,False +CTSPillarNetworkA,9296,9296,9296,1995-06-15,929.6000000001428,929.5201,2015-01-01 02:34:56,bin9296,35,False +CTSPillarNetworkA,9297,9297,9297,1995-06-16,929.7000000001428,929.62006,2015-01-01 02:34:57,bin9297,75,False +CTSPillarNetworkA,9298,9298,9298,1995-06-17,929.8000000001429,929.72003,2015-01-01 02:34:58,bin9298,35,False +CTSPillarNetworkA,9299,9299,9299,1995-06-18,929.9000000001429,929.82,2015-01-01 02:34:59,bin9299,75,False +CTSPillarNetworkA,9300,9300,9300,1995-06-19,930.0000000001429,929.92,2015-01-01 02:35:00,bin9300,35,False +CTSPillarNetworkA,9301,9301,9301,1995-06-20,930.1000000001429,930.01996,2015-01-01 02:35:01,bin9301,75,False +CTSPillarNetworkA,9302,9302,9302,1995-06-21,930.200000000143,930.11993,2015-01-01 02:35:02,bin9302,35,False +CTSPillarNetworkA,9303,9303,9303,1995-06-22,930.300000000143,930.2199,2015-01-01 02:35:03,bin9303,75,False +CTSPillarNetworkA,9304,9304,9304,1995-06-23,930.400000000143,930.3199,2015-01-01 02:35:04,bin9304,35,False +CTSPillarNetworkA,9305,9305,9305,1995-06-24,930.500000000143,930.41986,2015-01-01 02:35:05,bin9305,75,False +CTSPillarNetworkA,9306,9306,9306,1995-06-25,930.600000000143,930.51984,2015-01-01 02:35:06,bin9306,35,False +CTSPillarNetworkA,9307,9307,9307,1995-06-26,930.7000000001431,930.6198,2015-01-01 02:35:07,bin9307,75,False +CTSPillarNetworkA,9308,9308,9308,1995-06-27,930.8000000001431,930.7198,2015-01-01 02:35:08,bin9308,35,False +CTSPillarNetworkA,9309,9309,9309,1995-06-28,930.9000000001431,930.81976,2015-01-01 02:35:09,bin9309,75,False +CTSPillarNetworkA,9310,9310,9310,1995-06-29,931.0000000001431,930.91974,2015-01-01 02:35:10,bin9310,35,False +CTSPillarNetworkA,9311,9311,9311,1995-06-30,931.1000000001432,931.0197,2015-01-01 02:35:11,bin9311,75,False +CTSPillarNetworkA,9312,9312,9312,1995-07-01,931.2000000001432,931.1197,2015-01-01 02:35:12,bin9312,35,False +CTSPillarNetworkA,9313,9313,9313,1995-07-02,931.3000000001432,931.21967,2015-01-01 02:35:13,bin9313,75,False +CTSPillarNetworkA,9314,9314,9314,1995-07-03,931.4000000001432,931.31964,2015-01-01 02:35:14,bin9314,35,False +CTSPillarNetworkA,9315,9315,9315,1995-07-04,931.5000000001432,931.4196,2015-01-01 02:35:15,bin9315,75,False +CTSPillarNetworkA,9316,9316,9316,1995-07-05,931.6000000001433,931.5196,2015-01-01 02:35:16,bin9316,35,False +CTSPillarNetworkA,9317,9317,9317,1995-07-06,931.7000000001433,931.61957,2015-01-01 02:35:17,bin9317,75,False +CTSPillarNetworkA,9318,9318,9318,1995-07-07,931.8000000001433,931.71954,2015-01-01 02:35:18,bin9318,35,False +CTSPillarNetworkA,9319,9319,9319,1995-07-08,931.9000000001433,931.8195,2015-01-01 02:35:19,bin9319,75,False +CTSPillarNetworkA,9320,9320,9320,1995-07-09,932.0000000001434,931.9195,2015-01-01 02:35:20,bin9320,35,False +CTSPillarNetworkA,9321,9321,9321,1995-07-10,932.1000000001434,932.0195,2015-01-01 02:35:21,bin9321,75,False +CTSPillarNetworkA,9322,9322,9322,1995-07-11,932.2000000001434,932.11945,2015-01-01 02:35:22,bin9322,35,False +CTSPillarNetworkA,9323,9323,9323,1995-07-12,932.3000000001434,932.2194,2015-01-01 02:35:23,bin9323,75,False +CTSPillarNetworkA,9324,9324,9324,1995-07-13,932.4000000001435,932.3194,2015-01-01 02:35:24,bin9324,35,False +CTSPillarNetworkA,9325,9325,9325,1995-07-14,932.5000000001435,932.4194,2015-01-01 02:35:25,bin9325,75,False +CTSPillarNetworkA,9326,9326,9326,1995-07-15,932.6000000001435,932.51935,2015-01-01 02:35:26,bin9326,35,False +CTSPillarNetworkA,9327,9327,9327,1995-07-16,932.7000000001435,932.6193,2015-01-01 02:35:27,bin9327,75,False +CTSPillarNetworkA,9328,9328,9328,1995-07-17,932.8000000001435,932.7193,2015-01-01 02:35:28,bin9328,35,False +CTSPillarNetworkA,9329,9329,9329,1995-07-18,932.9000000001436,932.8193,2015-01-01 02:35:29,bin9329,75,False +CTSPillarNetworkA,9330,9330,9330,1995-07-19,933.0000000001436,932.91925,2015-01-01 02:35:30,bin9330,35,False +CTSPillarNetworkA,9331,9331,9331,1995-07-20,933.1000000001436,933.0192,2015-01-01 02:35:31,bin9331,75,False +CTSPillarNetworkA,9332,9332,9332,1995-07-21,933.2000000001436,933.1192,2015-01-01 02:35:32,bin9332,35,False +CTSPillarNetworkA,9333,9333,9333,1995-07-22,933.3000000001437,933.2192,2015-01-01 02:35:33,bin9333,75,False +CTSPillarNetworkA,9334,9334,9334,1995-07-23,933.4000000001437,933.31915,2015-01-01 02:35:34,bin9334,35,False +CTSPillarNetworkA,9335,9335,9335,1995-07-24,933.5000000001437,933.4191,2015-01-01 02:35:35,bin9335,75,False +CTSPillarNetworkA,9336,9336,9336,1995-07-25,933.6000000001437,933.5191,2015-01-01 02:35:36,bin9336,35,False +CTSPillarNetworkA,9337,9337,9337,1995-07-26,933.7000000001437,933.6191,2015-01-01 02:35:37,bin9337,75,False +CTSPillarNetworkA,9338,9338,9338,1995-07-27,933.8000000001438,933.71906,2015-01-01 02:35:38,bin9338,35,False +CTSPillarNetworkA,9339,9339,9339,1995-07-28,933.9000000001438,933.81903,2015-01-01 02:35:39,bin9339,75,False +CTSPillarNetworkA,9340,9340,9340,1995-07-29,934.0000000001438,933.919,2015-01-01 02:35:40,bin9340,35,False +CTSPillarNetworkA,9341,9341,9341,1995-07-30,934.1000000001438,934.019,2015-01-01 02:35:41,bin9341,75,False +CTSPillarNetworkA,9342,9342,9342,1995-07-31,934.2000000001439,934.11896,2015-01-01 02:35:42,bin9342,35,False +CTSPillarNetworkA,9343,9343,9343,1995-08-01,934.3000000001439,934.21893,2015-01-01 02:35:43,bin9343,75,False +CTSPillarNetworkA,9344,9344,9344,1995-08-02,934.4000000001439,934.3189,2015-01-01 02:35:44,bin9344,35,False +CTSPillarNetworkA,9345,9345,9345,1995-08-03,934.5000000001439,934.4189,2015-01-01 02:35:45,bin9345,75,False +CTSPillarNetworkA,9346,9346,9346,1995-08-04,934.600000000144,934.51886,2015-01-01 02:35:46,bin9346,35,False +CTSPillarNetworkA,9347,9347,9347,1995-08-05,934.700000000144,934.61884,2015-01-01 02:35:47,bin9347,75,False +CTSPillarNetworkA,9348,9348,9348,1995-08-06,934.800000000144,934.7188,2015-01-01 02:35:48,bin9348,35,False +CTSPillarNetworkA,9349,9349,9349,1995-08-07,934.900000000144,934.8188,2015-01-01 02:35:49,bin9349,75,False +CTSPillarNetworkA,9350,9350,9350,1995-08-08,935.000000000144,934.91876,2015-01-01 02:35:50,bin9350,35,False +CTSPillarNetworkA,9351,9351,9351,1995-08-09,935.1000000001441,935.01874,2015-01-01 02:35:51,bin9351,75,False +CTSPillarNetworkA,9352,9352,9352,1995-08-10,935.2000000001441,935.1187,2015-01-01 02:35:52,bin9352,35,False +CTSPillarNetworkA,9353,9353,9353,1995-08-11,935.3000000001441,935.2187,2015-01-01 02:35:53,bin9353,75,False +CTSPillarNetworkA,9354,9354,9354,1995-08-12,935.4000000001441,935.31866,2015-01-01 02:35:54,bin9354,35,False +CTSPillarNetworkA,9355,9355,9355,1995-08-13,935.5000000001442,935.41864,2015-01-01 02:35:55,bin9355,75,False +CTSPillarNetworkA,9356,9356,9356,1995-08-14,935.6000000001442,935.5186,2015-01-01 02:35:56,bin9356,35,False +CTSPillarNetworkA,9357,9357,9357,1995-08-15,935.7000000001442,935.6186,2015-01-01 02:35:57,bin9357,75,False +CTSPillarNetworkA,9358,9358,9358,1995-08-16,935.8000000001442,935.71857,2015-01-01 02:35:58,bin9358,35,False +CTSPillarNetworkA,9359,9359,9359,1995-08-17,935.9000000001442,935.81854,2015-01-01 02:35:59,bin9359,75,False +CTSPillarNetworkA,9360,9360,9360,1995-08-18,936.0000000001443,935.9185,2015-01-01 02:36:00,bin9360,35,False +CTSPillarNetworkA,9361,9361,9361,1995-08-19,936.1000000001443,936.0185,2015-01-01 02:36:01,bin9361,75,False +CTSPillarNetworkA,9362,9362,9362,1995-08-20,936.2000000001443,936.11847,2015-01-01 02:36:02,bin9362,35,False +CTSPillarNetworkA,9363,9363,9363,1995-08-21,936.3000000001443,936.21844,2015-01-01 02:36:03,bin9363,75,False +CTSPillarNetworkA,9364,9364,9364,1995-08-22,936.4000000001444,936.3184,2015-01-01 02:36:04,bin9364,35,False +CTSPillarNetworkA,9365,9365,9365,1995-08-23,936.5000000001444,936.4184,2015-01-01 02:36:05,bin9365,75,False +CTSPillarNetworkA,9366,9366,9366,1995-08-24,936.6000000001444,936.5184,2015-01-01 02:36:06,bin9366,35,False +CTSPillarNetworkA,9367,9367,9367,1995-08-25,936.7000000001444,936.61835,2015-01-01 02:36:07,bin9367,75,False +CTSPillarNetworkA,9368,9368,9368,1995-08-26,936.8000000001445,936.7183,2015-01-01 02:36:08,bin9368,35,False +CTSPillarNetworkA,9369,9369,9369,1995-08-27,936.9000000001445,936.8183,2015-01-01 02:36:09,bin9369,75,False +CTSPillarNetworkA,9370,9370,9370,1995-08-28,937.0000000001445,936.9183,2015-01-01 02:36:10,bin9370,35,False +CTSPillarNetworkA,9371,9371,9371,1995-08-29,937.1000000001445,937.01825,2015-01-01 02:36:11,bin9371,75,False +CTSPillarNetworkA,9372,9372,9372,1995-08-30,937.2000000001445,937.1182,2015-01-01 02:36:12,bin9372,35,False +CTSPillarNetworkA,9373,9373,9373,1995-08-31,937.3000000001446,937.2182,2015-01-01 02:36:13,bin9373,75,False +CTSPillarNetworkA,9374,9374,9374,1995-09-01,937.4000000001446,937.3182,2015-01-01 02:36:14,bin9374,35,False +CTSPillarNetworkA,9375,9375,9375,1995-09-02,937.5000000001446,937.41815,2015-01-01 02:36:15,bin9375,75,False +CTSPillarNetworkA,9376,9376,9376,1995-09-03,937.6000000001446,937.5181,2015-01-01 02:36:16,bin9376,35,False +CTSPillarNetworkA,9377,9377,9377,1995-09-04,937.7000000001447,937.6181,2015-01-01 02:36:17,bin9377,75,False +CTSPillarNetworkA,9378,9378,9378,1995-09-05,937.8000000001447,937.7181,2015-01-01 02:36:18,bin9378,35,False +CTSPillarNetworkA,9379,9379,9379,1995-09-06,937.9000000001447,937.81805,2015-01-01 02:36:19,bin9379,75,False +CTSPillarNetworkA,9380,9380,9380,1995-09-07,938.0000000001447,937.918,2015-01-01 02:36:20,bin9380,35,False +CTSPillarNetworkA,9381,9381,9381,1995-09-08,938.1000000001447,938.018,2015-01-01 02:36:21,bin9381,75,False +CTSPillarNetworkA,9382,9382,9382,1995-09-09,938.2000000001448,938.118,2015-01-01 02:36:22,bin9382,35,False +CTSPillarNetworkA,9383,9383,9383,1995-09-10,938.3000000001448,938.21796,2015-01-01 02:36:23,bin9383,75,False +CTSPillarNetworkA,9384,9384,9384,1995-09-11,938.4000000001448,938.31793,2015-01-01 02:36:24,bin9384,35,False +CTSPillarNetworkA,9385,9385,9385,1995-09-12,938.5000000001448,938.4179,2015-01-01 02:36:25,bin9385,75,False +CTSPillarNetworkA,9386,9386,9386,1995-09-13,938.6000000001449,938.5179,2015-01-01 02:36:26,bin9386,35,False +CTSPillarNetworkA,9387,9387,9387,1995-09-14,938.7000000001449,938.61786,2015-01-01 02:36:27,bin9387,75,False +CTSPillarNetworkA,9388,9388,9388,1995-09-15,938.8000000001449,938.71783,2015-01-01 02:36:28,bin9388,35,False +CTSPillarNetworkA,9389,9389,9389,1995-09-16,938.9000000001449,938.8178,2015-01-01 02:36:29,bin9389,75,False +CTSPillarNetworkA,9390,9390,9390,1995-09-17,939.000000000145,938.9178,2015-01-01 02:36:30,bin9390,35,False +CTSPillarNetworkA,9391,9391,9391,1995-09-18,939.100000000145,939.01776,2015-01-01 02:36:31,bin9391,75,False +CTSPillarNetworkA,9392,9392,9392,1995-09-19,939.200000000145,939.11774,2015-01-01 02:36:32,bin9392,35,False +CTSPillarNetworkA,9393,9393,9393,1995-09-20,939.300000000145,939.2177,2015-01-01 02:36:33,bin9393,75,False +CTSPillarNetworkA,9394,9394,9394,1995-09-21,939.400000000145,939.3177,2015-01-01 02:36:34,bin9394,35,False +CTSPillarNetworkA,9395,9395,9395,1995-09-22,939.5000000001451,939.41766,2015-01-01 02:36:35,bin9395,75,False +CTSPillarNetworkA,9396,9396,9396,1995-09-23,939.6000000001451,939.51764,2015-01-01 02:36:36,bin9396,35,False +CTSPillarNetworkA,9397,9397,9397,1995-09-24,939.7000000001451,939.6176,2015-01-01 02:36:37,bin9397,75,False +CTSPillarNetworkA,9398,9398,9398,1995-09-25,939.8000000001451,939.7176,2015-01-01 02:36:38,bin9398,35,False +CTSPillarNetworkA,9399,9399,9399,1995-09-26,939.9000000001452,939.81757,2015-01-01 02:36:39,bin9399,75,False +CTSPillarNetworkA,9400,9400,9400,1995-09-27,940.0000000001452,939.91754,2015-01-01 02:36:40,bin9400,35,False +CTSPillarNetworkA,9401,9401,9401,1995-09-28,940.1000000001452,940.0175,2015-01-01 02:36:41,bin9401,75,False +CTSPillarNetworkA,9402,9402,9402,1995-09-29,940.2000000001452,940.1175,2015-01-01 02:36:42,bin9402,35,False +CTSPillarNetworkA,9403,9403,9403,1995-09-30,940.3000000001452,940.21747,2015-01-01 02:36:43,bin9403,75,False +CTSPillarNetworkA,9404,9404,9404,1995-10-01,940.4000000001453,940.31744,2015-01-01 02:36:44,bin9404,35,False +CTSPillarNetworkA,9405,9405,9405,1995-10-02,940.5000000001453,940.4174,2015-01-01 02:36:45,bin9405,75,False +CTSPillarNetworkA,9406,9406,9406,1995-10-03,940.6000000001453,940.5174,2015-01-01 02:36:46,bin9406,35,False +CTSPillarNetworkA,9407,9407,9407,1995-10-04,940.7000000001453,940.6174,2015-01-01 02:36:47,bin9407,75,False +CTSPillarNetworkA,9408,9408,9408,1995-10-05,940.8000000001454,940.71735,2015-01-01 02:36:48,bin9408,35,False +CTSPillarNetworkA,9409,9409,9409,1995-10-06,940.9000000001454,940.8173,2015-01-01 02:36:49,bin9409,75,False +CTSPillarNetworkA,9410,9410,9410,1995-10-07,941.0000000001454,940.9173,2015-01-01 02:36:50,bin9410,35,False +CTSPillarNetworkA,9411,9411,9411,1995-10-08,941.1000000001454,941.0173,2015-01-01 02:36:51,bin9411,75,False +CTSPillarNetworkA,9412,9412,9412,1995-10-09,941.2000000001455,941.11725,2015-01-01 02:36:52,bin9412,35,False +CTSPillarNetworkA,9413,9413,9413,1995-10-10,941.3000000001455,941.2172,2015-01-01 02:36:53,bin9413,75,False +CTSPillarNetworkA,9414,9414,9414,1995-10-11,941.4000000001455,941.3172,2015-01-01 02:36:54,bin9414,35,False +CTSPillarNetworkA,9415,9415,9415,1995-10-12,941.5000000001455,941.4172,2015-01-01 02:36:55,bin9415,75,False +CTSPillarNetworkA,9416,9416,9416,1995-10-13,941.6000000001455,941.51715,2015-01-01 02:36:56,bin9416,35,False +CTSPillarNetworkA,9417,9417,9417,1995-10-14,941.7000000001456,941.6171,2015-01-01 02:36:57,bin9417,75,False +CTSPillarNetworkA,9418,9418,9418,1995-10-15,941.8000000001456,941.7171,2015-01-01 02:36:58,bin9418,35,False +CTSPillarNetworkA,9419,9419,9419,1995-10-16,941.9000000001456,941.8171,2015-01-01 02:36:59,bin9419,75,False +CTSPillarNetworkA,9420,9420,9420,1995-10-17,942.0000000001456,941.91705,2015-01-01 02:37:00,bin9420,35,False +CTSPillarNetworkA,9421,9421,9421,1995-10-18,942.1000000001457,942.017,2015-01-01 02:37:01,bin9421,75,False +CTSPillarNetworkA,9422,9422,9422,1995-10-19,942.2000000001457,942.117,2015-01-01 02:37:02,bin9422,35,False +CTSPillarNetworkA,9423,9423,9423,1995-10-20,942.3000000001457,942.217,2015-01-01 02:37:03,bin9423,75,False +CTSPillarNetworkA,9424,9424,9424,1995-10-21,942.4000000001457,942.31696,2015-01-01 02:37:04,bin9424,35,False +CTSPillarNetworkA,9425,9425,9425,1995-10-22,942.5000000001457,942.41693,2015-01-01 02:37:05,bin9425,75,False +CTSPillarNetworkA,9426,9426,9426,1995-10-23,942.6000000001458,942.5169,2015-01-01 02:37:06,bin9426,35,False +CTSPillarNetworkA,9427,9427,9427,1995-10-24,942.7000000001458,942.6169,2015-01-01 02:37:07,bin9427,75,False +CTSPillarNetworkA,9428,9428,9428,1995-10-25,942.8000000001458,942.71686,2015-01-01 02:37:08,bin9428,35,False +CTSPillarNetworkA,9429,9429,9429,1995-10-26,942.9000000001458,942.81683,2015-01-01 02:37:09,bin9429,75,False +CTSPillarNetworkA,9430,9430,9430,1995-10-27,943.0000000001459,942.9168,2015-01-01 02:37:10,bin9430,35,False +CTSPillarNetworkA,9431,9431,9431,1995-10-28,943.1000000001459,943.0168,2015-01-01 02:37:11,bin9431,75,False +CTSPillarNetworkA,9432,9432,9432,1995-10-29,943.2000000001459,943.11676,2015-01-01 02:37:12,bin9432,35,False +CTSPillarNetworkA,9433,9433,9433,1995-10-30,943.3000000001459,943.21674,2015-01-01 02:37:13,bin9433,75,False +CTSPillarNetworkA,9434,9434,9434,1995-10-31,943.400000000146,943.3167,2015-01-01 02:37:14,bin9434,35,False +CTSPillarNetworkA,9435,9435,9435,1995-11-01,943.500000000146,943.4167,2015-01-01 02:37:15,bin9435,75,False +CTSPillarNetworkA,9436,9436,9436,1995-11-02,943.600000000146,943.51666,2015-01-01 02:37:16,bin9436,35,False +CTSPillarNetworkA,9437,9437,9437,1995-11-03,943.700000000146,943.61664,2015-01-01 02:37:17,bin9437,75,False +CTSPillarNetworkA,9438,9438,9438,1995-11-04,943.800000000146,943.7166,2015-01-01 02:37:18,bin9438,35,False +CTSPillarNetworkA,9439,9439,9439,1995-11-05,943.9000000001461,943.8166,2015-01-01 02:37:19,bin9439,75,False +CTSPillarNetworkA,9440,9440,9440,1995-11-06,944.0000000001461,943.91656,2015-01-01 02:37:20,bin9440,35,False +CTSPillarNetworkA,9441,9441,9441,1995-11-07,944.1000000001461,944.01654,2015-01-01 02:37:21,bin9441,75,False +CTSPillarNetworkA,9442,9442,9442,1995-11-08,944.2000000001461,944.1165,2015-01-01 02:37:22,bin9442,35,False +CTSPillarNetworkA,9443,9443,9443,1995-11-09,944.3000000001462,944.2165,2015-01-01 02:37:23,bin9443,75,False +CTSPillarNetworkA,9444,9444,9444,1995-11-10,944.4000000001462,944.31647,2015-01-01 02:37:24,bin9444,35,False +CTSPillarNetworkA,9445,9445,9445,1995-11-11,944.5000000001462,944.41644,2015-01-01 02:37:25,bin9445,75,False +CTSPillarNetworkA,9446,9446,9446,1995-11-12,944.6000000001462,944.5164,2015-01-01 02:37:26,bin9446,35,False +CTSPillarNetworkA,9447,9447,9447,1995-11-13,944.7000000001462,944.6164,2015-01-01 02:37:27,bin9447,75,False +CTSPillarNetworkA,9448,9448,9448,1995-11-14,944.8000000001463,944.7164,2015-01-01 02:37:28,bin9448,35,False +CTSPillarNetworkA,9449,9449,9449,1995-11-15,944.9000000001463,944.81635,2015-01-01 02:37:29,bin9449,75,False +CTSPillarNetworkA,9450,9450,9450,1995-11-16,945.0000000001463,944.9163,2015-01-01 02:37:30,bin9450,35,False +CTSPillarNetworkA,9451,9451,9451,1995-11-17,945.1000000001463,945.0163,2015-01-01 02:37:31,bin9451,75,False +CTSPillarNetworkA,9452,9452,9452,1995-11-18,945.2000000001464,945.1163,2015-01-01 02:37:32,bin9452,35,False +CTSPillarNetworkA,9453,9453,9453,1995-11-19,945.3000000001464,945.21625,2015-01-01 02:37:33,bin9453,75,False +CTSPillarNetworkA,9454,9454,9454,1995-11-20,945.4000000001464,945.3162,2015-01-01 02:37:34,bin9454,35,False +CTSPillarNetworkA,9455,9455,9455,1995-11-21,945.5000000001464,945.4162,2015-01-01 02:37:35,bin9455,75,False +CTSPillarNetworkA,9456,9456,9456,1995-11-22,945.6000000001465,945.5162,2015-01-01 02:37:36,bin9456,35,False +CTSPillarNetworkA,9457,9457,9457,1995-11-23,945.7000000001465,945.61615,2015-01-01 02:37:37,bin9457,75,False +CTSPillarNetworkA,9458,9458,9458,1995-11-24,945.8000000001465,945.7161,2015-01-01 02:37:38,bin9458,35,False +CTSPillarNetworkA,9459,9459,9459,1995-11-25,945.9000000001465,945.8161,2015-01-01 02:37:39,bin9459,75,False +CTSPillarNetworkA,9460,9460,9460,1995-11-26,946.0000000001465,945.9161,2015-01-01 02:37:40,bin9460,35,False +CTSPillarNetworkA,9461,9461,9461,1995-11-27,946.1000000001466,946.01605,2015-01-01 02:37:41,bin9461,75,False +CTSPillarNetworkA,9462,9462,9462,1995-11-28,946.2000000001466,946.116,2015-01-01 02:37:42,bin9462,35,False +CTSPillarNetworkA,9463,9463,9463,1995-11-29,946.3000000001466,946.216,2015-01-01 02:37:43,bin9463,75,False +CTSPillarNetworkA,9464,9464,9464,1995-11-30,946.4000000001466,946.316,2015-01-01 02:37:44,bin9464,35,False +CTSPillarNetworkA,9465,9465,9465,1995-12-01,946.5000000001467,946.41595,2015-01-01 02:37:45,bin9465,75,False +CTSPillarNetworkA,9466,9466,9466,1995-12-02,946.6000000001467,946.5159,2015-01-01 02:37:46,bin9466,35,False +CTSPillarNetworkA,9467,9467,9467,1995-12-03,946.7000000001467,946.6159,2015-01-01 02:37:47,bin9467,75,False +CTSPillarNetworkA,9468,9468,9468,1995-12-04,946.8000000001467,946.7159,2015-01-01 02:37:48,bin9468,35,False +CTSPillarNetworkA,9469,9469,9469,1995-12-05,946.9000000001467,946.81586,2015-01-01 02:37:49,bin9469,75,False +CTSPillarNetworkA,9470,9470,9470,1995-12-06,947.0000000001468,946.91583,2015-01-01 02:37:50,bin9470,35,False +CTSPillarNetworkA,9471,9471,9471,1995-12-07,947.1000000001468,947.0158,2015-01-01 02:37:51,bin9471,75,False +CTSPillarNetworkA,9472,9472,9472,1995-12-08,947.2000000001468,947.1158,2015-01-01 02:37:52,bin9472,35,False +CTSPillarNetworkA,9473,9473,9473,1995-12-09,947.3000000001468,947.21576,2015-01-01 02:37:53,bin9473,75,False +CTSPillarNetworkA,9474,9474,9474,1995-12-10,947.4000000001469,947.31573,2015-01-01 02:37:54,bin9474,35,False +CTSPillarNetworkA,9475,9475,9475,1995-12-11,947.5000000001469,947.4157,2015-01-01 02:37:55,bin9475,75,False +CTSPillarNetworkA,9476,9476,9476,1995-12-12,947.6000000001469,947.5157,2015-01-01 02:37:56,bin9476,35,False +CTSPillarNetworkA,9477,9477,9477,1995-12-13,947.7000000001469,947.61566,2015-01-01 02:37:57,bin9477,75,False +CTSPillarNetworkA,9478,9478,9478,1995-12-14,947.800000000147,947.71564,2015-01-01 02:37:58,bin9478,35,False +CTSPillarNetworkA,9479,9479,9479,1995-12-15,947.900000000147,947.8156,2015-01-01 02:37:59,bin9479,75,False +CTSPillarNetworkA,9480,9480,9480,1995-12-16,948.000000000147,947.9156,2015-01-01 02:38:00,bin9480,35,False +CTSPillarNetworkA,9481,9481,9481,1995-12-17,948.100000000147,948.01556,2015-01-01 02:38:01,bin9481,75,False +CTSPillarNetworkA,9482,9482,9482,1995-12-18,948.200000000147,948.11554,2015-01-01 02:38:02,bin9482,35,False +CTSPillarNetworkA,9483,9483,9483,1995-12-19,948.3000000001471,948.2155,2015-01-01 02:38:03,bin9483,75,False +CTSPillarNetworkA,9484,9484,9484,1995-12-20,948.4000000001471,948.3155,2015-01-01 02:38:04,bin9484,35,False +CTSPillarNetworkA,9485,9485,9485,1995-12-21,948.5000000001471,948.41547,2015-01-01 02:38:05,bin9485,75,False +CTSPillarNetworkA,9486,9486,9486,1995-12-22,948.6000000001471,948.51544,2015-01-01 02:38:06,bin9486,35,False +CTSPillarNetworkA,9487,9487,9487,1995-12-23,948.7000000001472,948.6154,2015-01-01 02:38:07,bin9487,75,False +CTSPillarNetworkA,9488,9488,9488,1995-12-24,948.8000000001472,948.7154,2015-01-01 02:38:08,bin9488,35,False +CTSPillarNetworkA,9489,9489,9489,1995-12-25,948.9000000001472,948.81537,2015-01-01 02:38:09,bin9489,75,False +CTSPillarNetworkA,9490,9490,9490,1995-12-26,949.0000000001472,948.91534,2015-01-01 02:38:10,bin9490,35,False +CTSPillarNetworkA,9491,9491,9491,1995-12-27,949.1000000001472,949.0153,2015-01-01 02:38:11,bin9491,75,False +CTSPillarNetworkA,9492,9492,9492,1995-12-28,949.2000000001473,949.1153,2015-01-01 02:38:12,bin9492,35,False +CTSPillarNetworkA,9493,9493,9493,1995-12-29,949.3000000001473,949.2153,2015-01-01 02:38:13,bin9493,75,False +CTSPillarNetworkA,9494,9494,9494,1995-12-30,949.4000000001473,949.31525,2015-01-01 02:38:14,bin9494,35,False +CTSPillarNetworkA,9495,9495,9495,1995-12-31,949.5000000001473,949.4152,2015-01-01 02:38:15,bin9495,75,False +CTSPillarNetworkA,9496,9496,9496,1996-01-01,949.6000000001474,949.5152,2015-01-01 02:38:16,bin9496,35,False +CTSPillarNetworkA,9497,9497,9497,1996-01-02,949.7000000001474,949.6152,2015-01-01 02:38:17,bin9497,75,False +CTSPillarNetworkA,9498,9498,9498,1996-01-03,949.8000000001474,949.71515,2015-01-01 02:38:18,bin9498,35,False +CTSPillarNetworkA,9499,9499,9499,1996-01-04,949.9000000001474,949.8151,2015-01-01 02:38:19,bin9499,75,False +CTSPillarNetworkA,9500,9500,9500,1996-01-05,950.0000000001475,949.9151,2015-01-01 02:38:20,bin9500,35,False +CTSPillarNetworkA,9501,9501,9501,1996-01-06,950.1000000001475,950.0151,2015-01-01 02:38:21,bin9501,75,False +CTSPillarNetworkA,9502,9502,9502,1996-01-07,950.2000000001475,950.11505,2015-01-01 02:38:22,bin9502,35,False +CTSPillarNetworkA,9503,9503,9503,1996-01-08,950.3000000001475,950.215,2015-01-01 02:38:23,bin9503,75,False +CTSPillarNetworkA,9504,9504,9504,1996-01-09,950.4000000001475,950.315,2015-01-01 02:38:24,bin9504,35,False +CTSPillarNetworkA,9505,9505,9505,1996-01-10,950.5000000001476,950.415,2015-01-01 02:38:25,bin9505,75,False +CTSPillarNetworkA,9506,9506,9506,1996-01-11,950.6000000001476,950.51495,2015-01-01 02:38:26,bin9506,35,False +CTSPillarNetworkA,9507,9507,9507,1996-01-12,950.7000000001476,950.6149,2015-01-01 02:38:27,bin9507,75,False +CTSPillarNetworkA,9508,9508,9508,1996-01-13,950.8000000001476,950.7149,2015-01-01 02:38:28,bin9508,35,False +CTSPillarNetworkA,9509,9509,9509,1996-01-14,950.9000000001477,950.8149,2015-01-01 02:38:29,bin9509,75,False +CTSPillarNetworkA,9510,9510,9510,1996-01-15,951.0000000001477,950.91486,2015-01-01 02:38:30,bin9510,35,False +CTSPillarNetworkA,9511,9511,9511,1996-01-16,951.1000000001477,951.01483,2015-01-01 02:38:31,bin9511,75,False +CTSPillarNetworkA,9512,9512,9512,1996-01-17,951.2000000001477,951.1148,2015-01-01 02:38:32,bin9512,35,False +CTSPillarNetworkA,9513,9513,9513,1996-01-18,951.3000000001477,951.2148,2015-01-01 02:38:33,bin9513,75,False +CTSPillarNetworkA,9514,9514,9514,1996-01-19,951.4000000001478,951.31476,2015-01-01 02:38:34,bin9514,35,False +CTSPillarNetworkA,9515,9515,9515,1996-01-20,951.5000000001478,951.41473,2015-01-01 02:38:35,bin9515,75,False +CTSPillarNetworkA,9516,9516,9516,1996-01-21,951.6000000001478,951.5147,2015-01-01 02:38:36,bin9516,35,False +CTSPillarNetworkA,9517,9517,9517,1996-01-22,951.7000000001478,951.6147,2015-01-01 02:38:37,bin9517,75,False +CTSPillarNetworkA,9518,9518,9518,1996-01-23,951.8000000001479,951.71466,2015-01-01 02:38:38,bin9518,35,False +CTSPillarNetworkA,9519,9519,9519,1996-01-24,951.9000000001479,951.81464,2015-01-01 02:38:39,bin9519,75,False +CTSPillarNetworkA,9520,9520,9520,1996-01-25,952.0000000001479,951.9146,2015-01-01 02:38:40,bin9520,35,False +CTSPillarNetworkA,9521,9521,9521,1996-01-26,952.1000000001479,952.0146,2015-01-01 02:38:41,bin9521,75,False +CTSPillarNetworkA,9522,9522,9522,1996-01-27,952.200000000148,952.11456,2015-01-01 02:38:42,bin9522,35,False +CTSPillarNetworkA,9523,9523,9523,1996-01-28,952.300000000148,952.21454,2015-01-01 02:38:43,bin9523,75,False +CTSPillarNetworkA,9524,9524,9524,1996-01-29,952.400000000148,952.3145,2015-01-01 02:38:44,bin9524,35,False +CTSPillarNetworkA,9525,9525,9525,1996-01-30,952.500000000148,952.4145,2015-01-01 02:38:45,bin9525,75,False +CTSPillarNetworkA,9526,9526,9526,1996-01-31,952.600000000148,952.51447,2015-01-01 02:38:46,bin9526,35,False +CTSPillarNetworkA,9527,9527,9527,1996-02-01,952.7000000001481,952.61444,2015-01-01 02:38:47,bin9527,75,False +CTSPillarNetworkA,9528,9528,9528,1996-02-02,952.8000000001481,952.7144,2015-01-01 02:38:48,bin9528,35,False +CTSPillarNetworkA,9529,9529,9529,1996-02-03,952.9000000001481,952.8144,2015-01-01 02:38:49,bin9529,75,False +CTSPillarNetworkA,9530,9530,9530,1996-02-04,953.0000000001481,952.91437,2015-01-01 02:38:50,bin9530,35,False +CTSPillarNetworkA,9531,9531,9531,1996-02-05,953.1000000001482,953.01434,2015-01-01 02:38:51,bin9531,75,False +CTSPillarNetworkA,9532,9532,9532,1996-02-06,953.2000000001482,953.1143,2015-01-01 02:38:52,bin9532,35,False +CTSPillarNetworkA,9533,9533,9533,1996-02-07,953.3000000001482,953.2143,2015-01-01 02:38:53,bin9533,75,False +CTSPillarNetworkA,9534,9534,9534,1996-02-08,953.4000000001482,953.3143,2015-01-01 02:38:54,bin9534,35,False +CTSPillarNetworkA,9535,9535,9535,1996-02-09,953.5000000001482,953.41425,2015-01-01 02:38:55,bin9535,75,False +CTSPillarNetworkA,9536,9536,9536,1996-02-10,953.6000000001483,953.5142,2015-01-01 02:38:56,bin9536,35,False +CTSPillarNetworkA,9537,9537,9537,1996-02-11,953.7000000001483,953.6142,2015-01-01 02:38:57,bin9537,75,False +CTSPillarNetworkA,9538,9538,9538,1996-02-12,953.8000000001483,953.7142,2015-01-01 02:38:58,bin9538,35,False +CTSPillarNetworkA,9539,9539,9539,1996-02-13,953.9000000001483,953.81415,2015-01-01 02:38:59,bin9539,75,False +CTSPillarNetworkA,9540,9540,9540,1996-02-14,954.0000000001484,953.9141,2015-01-01 02:39:00,bin9540,35,False +CTSPillarNetworkA,9541,9541,9541,1996-02-15,954.1000000001484,954.0141,2015-01-01 02:39:01,bin9541,75,False +CTSPillarNetworkA,9542,9542,9542,1996-02-16,954.2000000001484,954.1141,2015-01-01 02:39:02,bin9542,35,False +CTSPillarNetworkA,9543,9543,9543,1996-02-17,954.3000000001484,954.21405,2015-01-01 02:39:03,bin9543,75,False +CTSPillarNetworkA,9544,9544,9544,1996-02-18,954.4000000001485,954.314,2015-01-01 02:39:04,bin9544,35,False +CTSPillarNetworkA,9545,9545,9545,1996-02-19,954.5000000001485,954.414,2015-01-01 02:39:05,bin9545,75,False +CTSPillarNetworkA,9546,9546,9546,1996-02-20,954.6000000001485,954.514,2015-01-01 02:39:06,bin9546,35,False +CTSPillarNetworkA,9547,9547,9547,1996-02-21,954.7000000001485,954.61395,2015-01-01 02:39:07,bin9547,75,False +CTSPillarNetworkA,9548,9548,9548,1996-02-22,954.8000000001485,954.7139,2015-01-01 02:39:08,bin9548,35,False +CTSPillarNetworkA,9549,9549,9549,1996-02-23,954.9000000001486,954.8139,2015-01-01 02:39:09,bin9549,75,False +CTSPillarNetworkA,9550,9550,9550,1996-02-24,955.0000000001486,954.9139,2015-01-01 02:39:10,bin9550,35,False +CTSPillarNetworkA,9551,9551,9551,1996-02-25,955.1000000001486,955.01385,2015-01-01 02:39:11,bin9551,75,False +CTSPillarNetworkA,9552,9552,9552,1996-02-26,955.2000000001486,955.11383,2015-01-01 02:39:12,bin9552,35,False +CTSPillarNetworkA,9553,9553,9553,1996-02-27,955.3000000001487,955.2138,2015-01-01 02:39:13,bin9553,75,False +CTSPillarNetworkA,9554,9554,9554,1996-02-28,955.4000000001487,955.3138,2015-01-01 02:39:14,bin9554,35,False +CTSPillarNetworkA,9555,9555,9555,1996-02-29,955.5000000001487,955.41376,2015-01-01 02:39:15,bin9555,75,False +CTSPillarNetworkA,9556,9556,9556,1996-03-01,955.6000000001487,955.51373,2015-01-01 02:39:16,bin9556,35,False +CTSPillarNetworkA,9557,9557,9557,1996-03-02,955.7000000001487,955.6137,2015-01-01 02:39:17,bin9557,75,False +CTSPillarNetworkA,9558,9558,9558,1996-03-03,955.8000000001488,955.7137,2015-01-01 02:39:18,bin9558,35,False +CTSPillarNetworkA,9559,9559,9559,1996-03-04,955.9000000001488,955.81366,2015-01-01 02:39:19,bin9559,75,False +CTSPillarNetworkA,9560,9560,9560,1996-03-05,956.0000000001488,955.91364,2015-01-01 02:39:20,bin9560,35,False +CTSPillarNetworkA,9561,9561,9561,1996-03-06,956.1000000001488,956.0136,2015-01-01 02:39:21,bin9561,75,False +CTSPillarNetworkA,9562,9562,9562,1996-03-07,956.2000000001489,956.1136,2015-01-01 02:39:22,bin9562,35,False +CTSPillarNetworkA,9563,9563,9563,1996-03-08,956.3000000001489,956.21356,2015-01-01 02:39:23,bin9563,75,False +CTSPillarNetworkA,9564,9564,9564,1996-03-09,956.4000000001489,956.31354,2015-01-01 02:39:24,bin9564,35,False +CTSPillarNetworkA,9565,9565,9565,1996-03-10,956.5000000001489,956.4135,2015-01-01 02:39:25,bin9565,75,False +CTSPillarNetworkA,9566,9566,9566,1996-03-11,956.600000000149,956.5135,2015-01-01 02:39:26,bin9566,35,False +CTSPillarNetworkA,9567,9567,9567,1996-03-12,956.700000000149,956.61346,2015-01-01 02:39:27,bin9567,75,False +CTSPillarNetworkA,9568,9568,9568,1996-03-13,956.800000000149,956.71344,2015-01-01 02:39:28,bin9568,35,False +CTSPillarNetworkA,9569,9569,9569,1996-03-14,956.900000000149,956.8134,2015-01-01 02:39:29,bin9569,75,False +CTSPillarNetworkA,9570,9570,9570,1996-03-15,957.000000000149,956.9134,2015-01-01 02:39:30,bin9570,35,False +CTSPillarNetworkA,9571,9571,9571,1996-03-16,957.1000000001491,957.01337,2015-01-01 02:39:31,bin9571,75,False +CTSPillarNetworkA,9572,9572,9572,1996-03-17,957.2000000001491,957.11334,2015-01-01 02:39:32,bin9572,35,False +CTSPillarNetworkA,9573,9573,9573,1996-03-18,957.3000000001491,957.2133,2015-01-01 02:39:33,bin9573,75,False +CTSPillarNetworkA,9574,9574,9574,1996-03-19,957.4000000001491,957.3133,2015-01-01 02:39:34,bin9574,35,False +CTSPillarNetworkA,9575,9575,9575,1996-03-20,957.5000000001492,957.41327,2015-01-01 02:39:35,bin9575,75,False +CTSPillarNetworkA,9576,9576,9576,1996-03-21,957.6000000001492,957.51324,2015-01-01 02:39:36,bin9576,35,False +CTSPillarNetworkA,9577,9577,9577,1996-03-22,957.7000000001492,957.6132,2015-01-01 02:39:37,bin9577,75,False +CTSPillarNetworkA,9578,9578,9578,1996-03-23,957.8000000001492,957.7132,2015-01-01 02:39:38,bin9578,35,False +CTSPillarNetworkA,9579,9579,9579,1996-03-24,957.9000000001492,957.8132,2015-01-01 02:39:39,bin9579,75,False +CTSPillarNetworkA,9580,9580,9580,1996-03-25,958.0000000001493,957.91315,2015-01-01 02:39:40,bin9580,35,False +CTSPillarNetworkA,9581,9581,9581,1996-03-26,958.1000000001493,958.0131,2015-01-01 02:39:41,bin9581,75,False +CTSPillarNetworkA,9582,9582,9582,1996-03-27,958.2000000001493,958.1131,2015-01-01 02:39:42,bin9582,35,False +CTSPillarNetworkA,9583,9583,9583,1996-03-28,958.3000000001493,958.2131,2015-01-01 02:39:43,bin9583,75,False +CTSPillarNetworkA,9584,9584,9584,1996-03-29,958.4000000001494,958.31305,2015-01-01 02:39:44,bin9584,35,False +CTSPillarNetworkA,9585,9585,9585,1996-03-30,958.5000000001494,958.413,2015-01-01 02:39:45,bin9585,75,False +CTSPillarNetworkA,9586,9586,9586,1996-03-31,958.6000000001494,958.513,2015-01-01 02:39:46,bin9586,35,False +CTSPillarNetworkA,9587,9587,9587,1996-04-01,958.7000000001494,958.613,2015-01-01 02:39:47,bin9587,75,False +CTSPillarNetworkA,9588,9588,9588,1996-04-02,958.8000000001495,958.71295,2015-01-01 02:39:48,bin9588,35,False +CTSPillarNetworkA,9589,9589,9589,1996-04-03,958.9000000001495,958.8129,2015-01-01 02:39:49,bin9589,75,False +CTSPillarNetworkA,9590,9590,9590,1996-04-04,959.0000000001495,958.9129,2015-01-01 02:39:50,bin9590,35,False +CTSPillarNetworkA,9591,9591,9591,1996-04-05,959.1000000001495,959.0129,2015-01-01 02:39:51,bin9591,75,False +CTSPillarNetworkA,9592,9592,9592,1996-04-06,959.2000000001495,959.11285,2015-01-01 02:39:52,bin9592,35,False +CTSPillarNetworkA,9593,9593,9593,1996-04-07,959.3000000001496,959.2128,2015-01-01 02:39:53,bin9593,75,False +CTSPillarNetworkA,9594,9594,9594,1996-04-08,959.4000000001496,959.3128,2015-01-01 02:39:54,bin9594,35,False +CTSPillarNetworkA,9595,9595,9595,1996-04-09,959.5000000001496,959.4128,2015-01-01 02:39:55,bin9595,75,False +CTSPillarNetworkA,9596,9596,9596,1996-04-10,959.6000000001496,959.51276,2015-01-01 02:39:56,bin9596,35,False +CTSPillarNetworkA,9597,9597,9597,1996-04-11,959.7000000001497,959.61273,2015-01-01 02:39:57,bin9597,75,False +CTSPillarNetworkA,9598,9598,9598,1996-04-12,959.8000000001497,959.7127,2015-01-01 02:39:58,bin9598,35,False +CTSPillarNetworkA,9599,9599,9599,1996-04-13,959.9000000001497,959.8127,2015-01-01 02:39:59,bin9599,75,False +CTSPillarNetworkA,9600,9600,9600,1996-04-14,960.0000000001497,959.91266,2015-01-01 02:40:00,bin9600,35,False +CTSPillarNetworkA,9601,9601,9601,1996-04-15,960.1000000001497,960.01263,2015-01-01 02:40:01,bin9601,75,False +CTSPillarNetworkA,9602,9602,9602,1996-04-16,960.2000000001498,960.1126,2015-01-01 02:40:02,bin9602,35,False +CTSPillarNetworkA,9603,9603,9603,1996-04-17,960.3000000001498,960.2126,2015-01-01 02:40:03,bin9603,75,False +CTSPillarNetworkA,9604,9604,9604,1996-04-18,960.4000000001498,960.31256,2015-01-01 02:40:04,bin9604,35,False +CTSPillarNetworkA,9605,9605,9605,1996-04-19,960.5000000001498,960.41254,2015-01-01 02:40:05,bin9605,75,False +CTSPillarNetworkA,9606,9606,9606,1996-04-20,960.6000000001499,960.5125,2015-01-01 02:40:06,bin9606,35,False +CTSPillarNetworkA,9607,9607,9607,1996-04-21,960.7000000001499,960.6125,2015-01-01 02:40:07,bin9607,75,False +CTSPillarNetworkA,9608,9608,9608,1996-04-22,960.8000000001499,960.71246,2015-01-01 02:40:08,bin9608,35,False +CTSPillarNetworkA,9609,9609,9609,1996-04-23,960.9000000001499,960.81244,2015-01-01 02:40:09,bin9609,75,False +CTSPillarNetworkA,9610,9610,9610,1996-04-24,961.00000000015,960.9124,2015-01-01 02:40:10,bin9610,35,False +CTSPillarNetworkA,9611,9611,9611,1996-04-25,961.10000000015,961.0124,2015-01-01 02:40:11,bin9611,75,False +CTSPillarNetworkA,9612,9612,9612,1996-04-26,961.20000000015,961.11237,2015-01-01 02:40:12,bin9612,35,False +CTSPillarNetworkA,9613,9613,9613,1996-04-27,961.30000000015,961.21234,2015-01-01 02:40:13,bin9613,75,False +CTSPillarNetworkA,9614,9614,9614,1996-04-28,961.40000000015,961.3123,2015-01-01 02:40:14,bin9614,35,False +CTSPillarNetworkA,9615,9615,9615,1996-04-29,961.5000000001501,961.4123,2015-01-01 02:40:15,bin9615,75,False +CTSPillarNetworkA,9616,9616,9616,1996-04-30,961.6000000001501,961.51227,2015-01-01 02:40:16,bin9616,35,False +CTSPillarNetworkA,9617,9617,9617,1996-05-01,961.7000000001501,961.61224,2015-01-01 02:40:17,bin9617,75,False +CTSPillarNetworkA,9618,9618,9618,1996-05-02,961.8000000001501,961.7122,2015-01-01 02:40:18,bin9618,35,False +CTSPillarNetworkA,9619,9619,9619,1996-05-03,961.9000000001502,961.8122,2015-01-01 02:40:19,bin9619,75,False +CTSPillarNetworkA,9620,9620,9620,1996-05-04,962.0000000001502,961.9122,2015-01-01 02:40:20,bin9620,35,False +CTSPillarNetworkA,9621,9621,9621,1996-05-05,962.1000000001502,962.01215,2015-01-01 02:40:21,bin9621,75,False +CTSPillarNetworkA,9622,9622,9622,1996-05-06,962.2000000001502,962.1121,2015-01-01 02:40:22,bin9622,35,False +CTSPillarNetworkA,9623,9623,9623,1996-05-07,962.3000000001502,962.2121,2015-01-01 02:40:23,bin9623,75,False +CTSPillarNetworkA,9624,9624,9624,1996-05-08,962.4000000001503,962.3121,2015-01-01 02:40:24,bin9624,35,False +CTSPillarNetworkA,9625,9625,9625,1996-05-09,962.5000000001503,962.41205,2015-01-01 02:40:25,bin9625,75,False +CTSPillarNetworkA,9626,9626,9626,1996-05-10,962.6000000001503,962.512,2015-01-01 02:40:26,bin9626,35,False +CTSPillarNetworkA,9627,9627,9627,1996-05-11,962.7000000001503,962.612,2015-01-01 02:40:27,bin9627,75,False +CTSPillarNetworkA,9628,9628,9628,1996-05-12,962.8000000001504,962.712,2015-01-01 02:40:28,bin9628,35,False +CTSPillarNetworkA,9629,9629,9629,1996-05-13,962.9000000001504,962.81195,2015-01-01 02:40:29,bin9629,75,False +CTSPillarNetworkA,9630,9630,9630,1996-05-14,963.0000000001504,962.9119,2015-01-01 02:40:30,bin9630,35,False +CTSPillarNetworkA,9631,9631,9631,1996-05-15,963.1000000001504,963.0119,2015-01-01 02:40:31,bin9631,75,False +CTSPillarNetworkA,9632,9632,9632,1996-05-16,963.2000000001505,963.1119,2015-01-01 02:40:32,bin9632,35,False +CTSPillarNetworkA,9633,9633,9633,1996-05-17,963.3000000001505,963.21185,2015-01-01 02:40:33,bin9633,75,False +CTSPillarNetworkA,9634,9634,9634,1996-05-18,963.4000000001505,963.3118,2015-01-01 02:40:34,bin9634,35,False +CTSPillarNetworkA,9635,9635,9635,1996-05-19,963.5000000001505,963.4118,2015-01-01 02:40:35,bin9635,75,False +CTSPillarNetworkA,9636,9636,9636,1996-05-20,963.6000000001505,963.5118,2015-01-01 02:40:36,bin9636,35,False +CTSPillarNetworkA,9637,9637,9637,1996-05-21,963.7000000001506,963.61176,2015-01-01 02:40:37,bin9637,75,False +CTSPillarNetworkA,9638,9638,9638,1996-05-22,963.8000000001506,963.71173,2015-01-01 02:40:38,bin9638,35,False +CTSPillarNetworkA,9639,9639,9639,1996-05-23,963.9000000001506,963.8117,2015-01-01 02:40:39,bin9639,75,False +CTSPillarNetworkA,9640,9640,9640,1996-05-24,964.0000000001506,963.9117,2015-01-01 02:40:40,bin9640,35,False +CTSPillarNetworkA,9641,9641,9641,1996-05-25,964.1000000001507,964.01166,2015-01-01 02:40:41,bin9641,75,False +CTSPillarNetworkA,9642,9642,9642,1996-05-26,964.2000000001507,964.11163,2015-01-01 02:40:42,bin9642,35,False +CTSPillarNetworkA,9643,9643,9643,1996-05-27,964.3000000001507,964.2116,2015-01-01 02:40:43,bin9643,75,False +CTSPillarNetworkA,9644,9644,9644,1996-05-28,964.4000000001507,964.3116,2015-01-01 02:40:44,bin9644,35,False +CTSPillarNetworkA,9645,9645,9645,1996-05-29,964.5000000001507,964.41156,2015-01-01 02:40:45,bin9645,75,False +CTSPillarNetworkA,9646,9646,9646,1996-05-30,964.6000000001508,964.51154,2015-01-01 02:40:46,bin9646,35,False +CTSPillarNetworkA,9647,9647,9647,1996-05-31,964.7000000001508,964.6115,2015-01-01 02:40:47,bin9647,75,False +CTSPillarNetworkA,9648,9648,9648,1996-06-01,964.8000000001508,964.7115,2015-01-01 02:40:48,bin9648,35,False +CTSPillarNetworkA,9649,9649,9649,1996-06-02,964.9000000001508,964.81146,2015-01-01 02:40:49,bin9649,75,False +CTSPillarNetworkA,9650,9650,9650,1996-06-03,965.0000000001509,964.91144,2015-01-01 02:40:50,bin9650,35,False +CTSPillarNetworkA,9651,9651,9651,1996-06-04,965.1000000001509,965.0114,2015-01-01 02:40:51,bin9651,75,False +CTSPillarNetworkA,9652,9652,9652,1996-06-05,965.2000000001509,965.1114,2015-01-01 02:40:52,bin9652,35,False +CTSPillarNetworkA,9653,9653,9653,1996-06-06,965.3000000001509,965.21136,2015-01-01 02:40:53,bin9653,75,False +CTSPillarNetworkA,9654,9654,9654,1996-06-07,965.400000000151,965.31134,2015-01-01 02:40:54,bin9654,35,False +CTSPillarNetworkA,9655,9655,9655,1996-06-08,965.500000000151,965.4113,2015-01-01 02:40:55,bin9655,75,False +CTSPillarNetworkA,9656,9656,9656,1996-06-09,965.600000000151,965.5113,2015-01-01 02:40:56,bin9656,35,False +CTSPillarNetworkA,9657,9657,9657,1996-06-10,965.700000000151,965.61127,2015-01-01 02:40:57,bin9657,75,False +CTSPillarNetworkA,9658,9658,9658,1996-06-11,965.800000000151,965.71124,2015-01-01 02:40:58,bin9658,35,False +CTSPillarNetworkA,9659,9659,9659,1996-06-12,965.9000000001511,965.8112,2015-01-01 02:40:59,bin9659,75,False +CTSPillarNetworkA,9660,9660,9660,1996-06-13,966.0000000001511,965.9112,2015-01-01 02:41:00,bin9660,35,False +CTSPillarNetworkA,9661,9661,9661,1996-06-14,966.1000000001511,966.01117,2015-01-01 02:41:01,bin9661,75,False +CTSPillarNetworkA,9662,9662,9662,1996-06-15,966.2000000001511,966.11115,2015-01-01 02:41:02,bin9662,35,False +CTSPillarNetworkA,9663,9663,9663,1996-06-16,966.3000000001512,966.2111,2015-01-01 02:41:03,bin9663,75,False +CTSPillarNetworkA,9664,9664,9664,1996-06-17,966.4000000001512,966.3111,2015-01-01 02:41:04,bin9664,35,False +CTSPillarNetworkA,9665,9665,9665,1996-06-18,966.5000000001512,966.4111,2015-01-01 02:41:05,bin9665,75,False +CTSPillarNetworkA,9666,9666,9666,1996-06-19,966.6000000001512,966.51105,2015-01-01 02:41:06,bin9666,35,False +CTSPillarNetworkA,9667,9667,9667,1996-06-20,966.7000000001512,966.611,2015-01-01 02:41:07,bin9667,75,False +CTSPillarNetworkA,9668,9668,9668,1996-06-21,966.8000000001513,966.711,2015-01-01 02:41:08,bin9668,35,False +CTSPillarNetworkA,9669,9669,9669,1996-06-22,966.9000000001513,966.811,2015-01-01 02:41:09,bin9669,75,False +CTSPillarNetworkA,9670,9670,9670,1996-06-23,967.0000000001513,966.91095,2015-01-01 02:41:10,bin9670,35,False +CTSPillarNetworkA,9671,9671,9671,1996-06-24,967.1000000001513,967.0109,2015-01-01 02:41:11,bin9671,75,False +CTSPillarNetworkA,9672,9672,9672,1996-06-25,967.2000000001514,967.1109,2015-01-01 02:41:12,bin9672,35,False +CTSPillarNetworkA,9673,9673,9673,1996-06-26,967.3000000001514,967.2109,2015-01-01 02:41:13,bin9673,75,False +CTSPillarNetworkA,9674,9674,9674,1996-06-27,967.4000000001514,967.31085,2015-01-01 02:41:14,bin9674,35,False +CTSPillarNetworkA,9675,9675,9675,1996-06-28,967.5000000001514,967.4108,2015-01-01 02:41:15,bin9675,75,False +CTSPillarNetworkA,9676,9676,9676,1996-06-29,967.6000000001515,967.5108,2015-01-01 02:41:16,bin9676,35,False +CTSPillarNetworkA,9677,9677,9677,1996-06-30,967.7000000001515,967.6108,2015-01-01 02:41:17,bin9677,75,False +CTSPillarNetworkA,9678,9678,9678,1996-07-01,967.8000000001515,967.71075,2015-01-01 02:41:18,bin9678,35,False +CTSPillarNetworkA,9679,9679,9679,1996-07-02,967.9000000001515,967.8107,2015-01-01 02:41:19,bin9679,75,False +CTSPillarNetworkA,9680,9680,9680,1996-07-03,968.0000000001515,967.9107,2015-01-01 02:41:20,bin9680,35,False +CTSPillarNetworkA,9681,9681,9681,1996-07-04,968.1000000001516,968.0107,2015-01-01 02:41:21,bin9681,75,False +CTSPillarNetworkA,9682,9682,9682,1996-07-05,968.2000000001516,968.11066,2015-01-01 02:41:22,bin9682,35,False +CTSPillarNetworkA,9683,9683,9683,1996-07-06,968.3000000001516,968.21063,2015-01-01 02:41:23,bin9683,75,False +CTSPillarNetworkA,9684,9684,9684,1996-07-07,968.4000000001516,968.3106,2015-01-01 02:41:24,bin9684,35,False +CTSPillarNetworkA,9685,9685,9685,1996-07-08,968.5000000001517,968.4106,2015-01-01 02:41:25,bin9685,75,False +CTSPillarNetworkA,9686,9686,9686,1996-07-09,968.6000000001517,968.51056,2015-01-01 02:41:26,bin9686,35,False +CTSPillarNetworkA,9687,9687,9687,1996-07-10,968.7000000001517,968.61053,2015-01-01 02:41:27,bin9687,75,False +CTSPillarNetworkA,9688,9688,9688,1996-07-11,968.8000000001517,968.7105,2015-01-01 02:41:28,bin9688,35,False +CTSPillarNetworkA,9689,9689,9689,1996-07-12,968.9000000001517,968.8105,2015-01-01 02:41:29,bin9689,75,False +CTSPillarNetworkA,9690,9690,9690,1996-07-13,969.0000000001518,968.91046,2015-01-01 02:41:30,bin9690,35,False +CTSPillarNetworkA,9691,9691,9691,1996-07-14,969.1000000001518,969.01044,2015-01-01 02:41:31,bin9691,75,False +CTSPillarNetworkA,9692,9692,9692,1996-07-15,969.2000000001518,969.1104,2015-01-01 02:41:32,bin9692,35,False +CTSPillarNetworkA,9693,9693,9693,1996-07-16,969.3000000001518,969.2104,2015-01-01 02:41:33,bin9693,75,False +CTSPillarNetworkA,9694,9694,9694,1996-07-17,969.4000000001519,969.31036,2015-01-01 02:41:34,bin9694,35,False +CTSPillarNetworkA,9695,9695,9695,1996-07-18,969.5000000001519,969.41034,2015-01-01 02:41:35,bin9695,75,False +CTSPillarNetworkA,9696,9696,9696,1996-07-19,969.6000000001519,969.5103,2015-01-01 02:41:36,bin9696,35,False +CTSPillarNetworkA,9697,9697,9697,1996-07-20,969.7000000001519,969.6103,2015-01-01 02:41:37,bin9697,75,False +CTSPillarNetworkA,9698,9698,9698,1996-07-21,969.800000000152,969.71027,2015-01-01 02:41:38,bin9698,35,False +CTSPillarNetworkA,9699,9699,9699,1996-07-22,969.900000000152,969.81024,2015-01-01 02:41:39,bin9699,75,False +CTSPillarNetworkA,9700,9700,9700,1996-07-23,970.000000000152,969.9102,2015-01-01 02:41:40,bin9700,35,False +CTSPillarNetworkA,9701,9701,9701,1996-07-24,970.100000000152,970.0102,2015-01-01 02:41:41,bin9701,75,False +CTSPillarNetworkA,9702,9702,9702,1996-07-25,970.200000000152,970.11017,2015-01-01 02:41:42,bin9702,35,False +CTSPillarNetworkA,9703,9703,9703,1996-07-26,970.3000000001521,970.21014,2015-01-01 02:41:43,bin9703,75,False +CTSPillarNetworkA,9704,9704,9704,1996-07-27,970.4000000001521,970.3101,2015-01-01 02:41:44,bin9704,35,False +CTSPillarNetworkA,9705,9705,9705,1996-07-28,970.5000000001521,970.4101,2015-01-01 02:41:45,bin9705,75,False +CTSPillarNetworkA,9706,9706,9706,1996-07-29,970.6000000001521,970.5101,2015-01-01 02:41:46,bin9706,35,False +CTSPillarNetworkA,9707,9707,9707,1996-07-30,970.7000000001522,970.61005,2015-01-01 02:41:47,bin9707,75,False +CTSPillarNetworkA,9708,9708,9708,1996-07-31,970.8000000001522,970.71,2015-01-01 02:41:48,bin9708,35,False +CTSPillarNetworkA,9709,9709,9709,1996-08-01,970.9000000001522,970.81,2015-01-01 02:41:49,bin9709,75,False +CTSPillarNetworkA,9710,9710,9710,1996-08-02,971.0000000001522,970.91,2015-01-01 02:41:50,bin9710,35,False +CTSPillarNetworkA,9711,9711,9711,1996-08-03,971.1000000001522,971.00995,2015-01-01 02:41:51,bin9711,75,False +CTSPillarNetworkA,9712,9712,9712,1996-08-04,971.2000000001523,971.1099,2015-01-01 02:41:52,bin9712,35,False +CTSPillarNetworkA,9713,9713,9713,1996-08-05,971.3000000001523,971.2099,2015-01-01 02:41:53,bin9713,75,False +CTSPillarNetworkA,9714,9714,9714,1996-08-06,971.4000000001523,971.3099,2015-01-01 02:41:54,bin9714,35,False +CTSPillarNetworkA,9715,9715,9715,1996-08-07,971.5000000001523,971.40985,2015-01-01 02:41:55,bin9715,75,False +CTSPillarNetworkA,9716,9716,9716,1996-08-08,971.6000000001524,971.5098,2015-01-01 02:41:56,bin9716,35,False +CTSPillarNetworkA,9717,9717,9717,1996-08-09,971.7000000001524,971.6098,2015-01-01 02:41:57,bin9717,75,False +CTSPillarNetworkA,9718,9718,9718,1996-08-10,971.8000000001524,971.7098,2015-01-01 02:41:58,bin9718,35,False +CTSPillarNetworkA,9719,9719,9719,1996-08-11,971.9000000001524,971.80975,2015-01-01 02:41:59,bin9719,75,False +CTSPillarNetworkA,9720,9720,9720,1996-08-12,972.0000000001525,971.9097,2015-01-01 02:42:00,bin9720,35,False +CTSPillarNetworkA,9721,9721,9721,1996-08-13,972.1000000001525,972.0097,2015-01-01 02:42:01,bin9721,75,False +CTSPillarNetworkA,9722,9722,9722,1996-08-14,972.2000000001525,972.1097,2015-01-01 02:42:02,bin9722,35,False +CTSPillarNetworkA,9723,9723,9723,1996-08-15,972.3000000001525,972.20966,2015-01-01 02:42:03,bin9723,75,False +CTSPillarNetworkA,9724,9724,9724,1996-08-16,972.4000000001525,972.30963,2015-01-01 02:42:04,bin9724,35,False +CTSPillarNetworkA,9725,9725,9725,1996-08-17,972.5000000001526,972.4096,2015-01-01 02:42:05,bin9725,75,False +CTSPillarNetworkA,9726,9726,9726,1996-08-18,972.6000000001526,972.5096,2015-01-01 02:42:06,bin9726,35,False +CTSPillarNetworkA,9727,9727,9727,1996-08-19,972.7000000001526,972.60956,2015-01-01 02:42:07,bin9727,75,False +CTSPillarNetworkA,9728,9728,9728,1996-08-20,972.8000000001526,972.70953,2015-01-01 02:42:08,bin9728,35,False +CTSPillarNetworkA,9729,9729,9729,1996-08-21,972.9000000001527,972.8095,2015-01-01 02:42:09,bin9729,75,False +CTSPillarNetworkA,9730,9730,9730,1996-08-22,973.0000000001527,972.9095,2015-01-01 02:42:10,bin9730,35,False +CTSPillarNetworkA,9731,9731,9731,1996-08-23,973.1000000001527,973.00946,2015-01-01 02:42:11,bin9731,75,False +CTSPillarNetworkA,9732,9732,9732,1996-08-24,973.2000000001527,973.10944,2015-01-01 02:42:12,bin9732,35,False +CTSPillarNetworkA,9733,9733,9733,1996-08-25,973.3000000001527,973.2094,2015-01-01 02:42:13,bin9733,75,False +CTSPillarNetworkA,9734,9734,9734,1996-08-26,973.4000000001528,973.3094,2015-01-01 02:42:14,bin9734,35,False +CTSPillarNetworkA,9735,9735,9735,1996-08-27,973.5000000001528,973.40936,2015-01-01 02:42:15,bin9735,75,False +CTSPillarNetworkA,9736,9736,9736,1996-08-28,973.6000000001528,973.50934,2015-01-01 02:42:16,bin9736,35,False +CTSPillarNetworkA,9737,9737,9737,1996-08-29,973.7000000001528,973.6093,2015-01-01 02:42:17,bin9737,75,False +CTSPillarNetworkA,9738,9738,9738,1996-08-30,973.8000000001529,973.7093,2015-01-01 02:42:18,bin9738,35,False +CTSPillarNetworkA,9739,9739,9739,1996-08-31,973.9000000001529,973.80927,2015-01-01 02:42:19,bin9739,75,False +CTSPillarNetworkA,9740,9740,9740,1996-09-01,974.0000000001529,973.90924,2015-01-01 02:42:20,bin9740,35,False +CTSPillarNetworkA,9741,9741,9741,1996-09-02,974.1000000001529,974.0092,2015-01-01 02:42:21,bin9741,75,False +CTSPillarNetworkA,9742,9742,9742,1996-09-03,974.200000000153,974.1092,2015-01-01 02:42:22,bin9742,35,False +CTSPillarNetworkA,9743,9743,9743,1996-09-04,974.300000000153,974.20917,2015-01-01 02:42:23,bin9743,75,False +CTSPillarNetworkA,9744,9744,9744,1996-09-05,974.400000000153,974.30914,2015-01-01 02:42:24,bin9744,35,False +CTSPillarNetworkA,9745,9745,9745,1996-09-06,974.500000000153,974.4091,2015-01-01 02:42:25,bin9745,75,False +CTSPillarNetworkA,9746,9746,9746,1996-09-07,974.600000000153,974.5091,2015-01-01 02:42:26,bin9746,35,False +CTSPillarNetworkA,9747,9747,9747,1996-09-08,974.7000000001531,974.6091,2015-01-01 02:42:27,bin9747,75,False +CTSPillarNetworkA,9748,9748,9748,1996-09-09,974.8000000001531,974.70905,2015-01-01 02:42:28,bin9748,35,False +CTSPillarNetworkA,9749,9749,9749,1996-09-10,974.9000000001531,974.809,2015-01-01 02:42:29,bin9749,75,False +CTSPillarNetworkA,9750,9750,9750,1996-09-11,975.0000000001531,974.909,2015-01-01 02:42:30,bin9750,35,False +CTSPillarNetworkA,9751,9751,9751,1996-09-12,975.1000000001532,975.009,2015-01-01 02:42:31,bin9751,75,False +CTSPillarNetworkA,9752,9752,9752,1996-09-13,975.2000000001532,975.10895,2015-01-01 02:42:32,bin9752,35,False +CTSPillarNetworkA,9753,9753,9753,1996-09-14,975.3000000001532,975.2089,2015-01-01 02:42:33,bin9753,75,False +CTSPillarNetworkA,9754,9754,9754,1996-09-15,975.4000000001532,975.3089,2015-01-01 02:42:34,bin9754,35,False +CTSPillarNetworkA,9755,9755,9755,1996-09-16,975.5000000001532,975.4089,2015-01-01 02:42:35,bin9755,75,False +CTSPillarNetworkA,9756,9756,9756,1996-09-17,975.6000000001533,975.50885,2015-01-01 02:42:36,bin9756,35,False +CTSPillarNetworkA,9757,9757,9757,1996-09-18,975.7000000001533,975.6088,2015-01-01 02:42:37,bin9757,75,False +CTSPillarNetworkA,9758,9758,9758,1996-09-19,975.8000000001533,975.7088,2015-01-01 02:42:38,bin9758,35,False +CTSPillarNetworkA,9759,9759,9759,1996-09-20,975.9000000001533,975.8088,2015-01-01 02:42:39,bin9759,75,False +CTSPillarNetworkA,9760,9760,9760,1996-09-21,976.0000000001534,975.90875,2015-01-01 02:42:40,bin9760,35,False +CTSPillarNetworkA,9761,9761,9761,1996-09-22,976.1000000001534,976.0087,2015-01-01 02:42:41,bin9761,75,False +CTSPillarNetworkA,9762,9762,9762,1996-09-23,976.2000000001534,976.1087,2015-01-01 02:42:42,bin9762,35,False +CTSPillarNetworkA,9763,9763,9763,1996-09-24,976.3000000001534,976.2087,2015-01-01 02:42:43,bin9763,75,False +CTSPillarNetworkA,9764,9764,9764,1996-09-25,976.4000000001535,976.30865,2015-01-01 02:42:44,bin9764,35,False +CTSPillarNetworkA,9765,9765,9765,1996-09-26,976.5000000001535,976.4086,2015-01-01 02:42:45,bin9765,75,False +CTSPillarNetworkA,9766,9766,9766,1996-09-27,976.6000000001535,976.5086,2015-01-01 02:42:46,bin9766,35,False +CTSPillarNetworkA,9767,9767,9767,1996-09-28,976.7000000001535,976.6086,2015-01-01 02:42:47,bin9767,75,False +CTSPillarNetworkA,9768,9768,9768,1996-09-29,976.8000000001535,976.70856,2015-01-01 02:42:48,bin9768,35,False +CTSPillarNetworkA,9769,9769,9769,1996-09-30,976.9000000001536,976.80853,2015-01-01 02:42:49,bin9769,75,False +CTSPillarNetworkA,9770,9770,9770,1996-10-01,977.0000000001536,976.9085,2015-01-01 02:42:50,bin9770,35,False +CTSPillarNetworkA,9771,9771,9771,1996-10-02,977.1000000001536,977.0085,2015-01-01 02:42:51,bin9771,75,False +CTSPillarNetworkA,9772,9772,9772,1996-10-03,977.2000000001536,977.10846,2015-01-01 02:42:52,bin9772,35,False +CTSPillarNetworkA,9773,9773,9773,1996-10-04,977.3000000001537,977.20844,2015-01-01 02:42:53,bin9773,75,False +CTSPillarNetworkA,9774,9774,9774,1996-10-05,977.4000000001537,977.3084,2015-01-01 02:42:54,bin9774,35,False +CTSPillarNetworkA,9775,9775,9775,1996-10-06,977.5000000001537,977.4084,2015-01-01 02:42:55,bin9775,75,False +CTSPillarNetworkA,9776,9776,9776,1996-10-07,977.6000000001537,977.50836,2015-01-01 02:42:56,bin9776,35,False +CTSPillarNetworkA,9777,9777,9777,1996-10-08,977.7000000001538,977.60834,2015-01-01 02:42:57,bin9777,75,False +CTSPillarNetworkA,9778,9778,9778,1996-10-09,977.8000000001538,977.7083,2015-01-01 02:42:58,bin9778,35,False +CTSPillarNetworkA,9779,9779,9779,1996-10-10,977.9000000001538,977.8083,2015-01-01 02:42:59,bin9779,75,False +CTSPillarNetworkA,9780,9780,9780,1996-10-11,978.0000000001538,977.90826,2015-01-01 02:43:00,bin9780,35,False +CTSPillarNetworkA,9781,9781,9781,1996-10-12,978.1000000001538,978.00824,2015-01-01 02:43:01,bin9781,75,False +CTSPillarNetworkA,9782,9782,9782,1996-10-13,978.2000000001539,978.1082,2015-01-01 02:43:02,bin9782,35,False +CTSPillarNetworkA,9783,9783,9783,1996-10-14,978.3000000001539,978.2082,2015-01-01 02:43:03,bin9783,75,False +CTSPillarNetworkA,9784,9784,9784,1996-10-15,978.4000000001539,978.30817,2015-01-01 02:43:04,bin9784,35,False +CTSPillarNetworkA,9785,9785,9785,1996-10-16,978.5000000001539,978.40814,2015-01-01 02:43:05,bin9785,75,False +CTSPillarNetworkA,9786,9786,9786,1996-10-17,978.600000000154,978.5081,2015-01-01 02:43:06,bin9786,35,False +CTSPillarNetworkA,9787,9787,9787,1996-10-18,978.700000000154,978.6081,2015-01-01 02:43:07,bin9787,75,False +CTSPillarNetworkA,9788,9788,9788,1996-10-19,978.800000000154,978.70807,2015-01-01 02:43:08,bin9788,35,False +CTSPillarNetworkA,9789,9789,9789,1996-10-20,978.900000000154,978.80804,2015-01-01 02:43:09,bin9789,75,False +CTSPillarNetworkA,9790,9790,9790,1996-10-21,979.000000000154,978.908,2015-01-01 02:43:10,bin9790,35,False +CTSPillarNetworkA,9791,9791,9791,1996-10-22,979.1000000001541,979.008,2015-01-01 02:43:11,bin9791,75,False +CTSPillarNetworkA,9792,9792,9792,1996-10-23,979.2000000001541,979.108,2015-01-01 02:43:12,bin9792,35,False +CTSPillarNetworkA,9793,9793,9793,1996-10-24,979.3000000001541,979.20795,2015-01-01 02:43:13,bin9793,75,False +CTSPillarNetworkA,9794,9794,9794,1996-10-25,979.4000000001541,979.3079,2015-01-01 02:43:14,bin9794,35,False +CTSPillarNetworkA,9795,9795,9795,1996-10-26,979.5000000001542,979.4079,2015-01-01 02:43:15,bin9795,75,False +CTSPillarNetworkA,9796,9796,9796,1996-10-27,979.6000000001542,979.5079,2015-01-01 02:43:16,bin9796,35,False +CTSPillarNetworkA,9797,9797,9797,1996-10-28,979.7000000001542,979.60785,2015-01-01 02:43:17,bin9797,75,False +CTSPillarNetworkA,9798,9798,9798,1996-10-29,979.8000000001542,979.7078,2015-01-01 02:43:18,bin9798,35,False +CTSPillarNetworkA,9799,9799,9799,1996-10-30,979.9000000001543,979.8078,2015-01-01 02:43:19,bin9799,75,False +CTSPillarNetworkA,9800,9800,9800,1996-10-31,980.0000000001543,979.9078,2015-01-01 02:43:20,bin9800,35,False +CTSPillarNetworkA,9801,9801,9801,1996-11-01,980.1000000001543,980.00775,2015-01-01 02:43:21,bin9801,75,False +CTSPillarNetworkA,9802,9802,9802,1996-11-02,980.2000000001543,980.1077,2015-01-01 02:43:22,bin9802,35,False +CTSPillarNetworkA,9803,9803,9803,1996-11-03,980.3000000001543,980.2077,2015-01-01 02:43:23,bin9803,75,False +CTSPillarNetworkA,9804,9804,9804,1996-11-04,980.4000000001544,980.3077,2015-01-01 02:43:24,bin9804,35,False +CTSPillarNetworkA,9805,9805,9805,1996-11-05,980.5000000001544,980.40765,2015-01-01 02:43:25,bin9805,75,False +CTSPillarNetworkA,9806,9806,9806,1996-11-06,980.6000000001544,980.5076,2015-01-01 02:43:26,bin9806,35,False +CTSPillarNetworkA,9807,9807,9807,1996-11-07,980.7000000001544,980.6076,2015-01-01 02:43:27,bin9807,75,False +CTSPillarNetworkA,9808,9808,9808,1996-11-08,980.8000000001545,980.7076,2015-01-01 02:43:28,bin9808,35,False +CTSPillarNetworkA,9809,9809,9809,1996-11-09,980.9000000001545,980.80756,2015-01-01 02:43:29,bin9809,75,False +CTSPillarNetworkA,9810,9810,9810,1996-11-10,981.0000000001545,980.90753,2015-01-01 02:43:30,bin9810,35,False +CTSPillarNetworkA,9811,9811,9811,1996-11-11,981.1000000001545,981.0075,2015-01-01 02:43:31,bin9811,75,False +CTSPillarNetworkA,9812,9812,9812,1996-11-12,981.2000000001545,981.1075,2015-01-01 02:43:32,bin9812,35,False +CTSPillarNetworkA,9813,9813,9813,1996-11-13,981.3000000001546,981.20746,2015-01-01 02:43:33,bin9813,75,False +CTSPillarNetworkA,9814,9814,9814,1996-11-14,981.4000000001546,981.30743,2015-01-01 02:43:34,bin9814,35,False +CTSPillarNetworkA,9815,9815,9815,1996-11-15,981.5000000001546,981.4074,2015-01-01 02:43:35,bin9815,75,False +CTSPillarNetworkA,9816,9816,9816,1996-11-16,981.6000000001546,981.5074,2015-01-01 02:43:36,bin9816,35,False +CTSPillarNetworkA,9817,9817,9817,1996-11-17,981.7000000001547,981.60736,2015-01-01 02:43:37,bin9817,75,False +CTSPillarNetworkA,9818,9818,9818,1996-11-18,981.8000000001547,981.70734,2015-01-01 02:43:38,bin9818,35,False +CTSPillarNetworkA,9819,9819,9819,1996-11-19,981.9000000001547,981.8073,2015-01-01 02:43:39,bin9819,75,False +CTSPillarNetworkA,9820,9820,9820,1996-11-20,982.0000000001547,981.9073,2015-01-01 02:43:40,bin9820,35,False +CTSPillarNetworkA,9821,9821,9821,1996-11-21,982.1000000001548,982.00726,2015-01-01 02:43:41,bin9821,75,False +CTSPillarNetworkA,9822,9822,9822,1996-11-22,982.2000000001548,982.10724,2015-01-01 02:43:42,bin9822,35,False +CTSPillarNetworkA,9823,9823,9823,1996-11-23,982.3000000001548,982.2072,2015-01-01 02:43:43,bin9823,75,False +CTSPillarNetworkA,9824,9824,9824,1996-11-24,982.4000000001548,982.3072,2015-01-01 02:43:44,bin9824,35,False +CTSPillarNetworkA,9825,9825,9825,1996-11-25,982.5000000001548,982.40717,2015-01-01 02:43:45,bin9825,75,False +CTSPillarNetworkA,9826,9826,9826,1996-11-26,982.6000000001549,982.50714,2015-01-01 02:43:46,bin9826,35,False +CTSPillarNetworkA,9827,9827,9827,1996-11-27,982.7000000001549,982.6071,2015-01-01 02:43:47,bin9827,75,False +CTSPillarNetworkA,9828,9828,9828,1996-11-28,982.8000000001549,982.7071,2015-01-01 02:43:48,bin9828,35,False +CTSPillarNetworkA,9829,9829,9829,1996-11-29,982.9000000001549,982.80707,2015-01-01 02:43:49,bin9829,75,False +CTSPillarNetworkA,9830,9830,9830,1996-11-30,983.000000000155,982.90704,2015-01-01 02:43:50,bin9830,35,False +CTSPillarNetworkA,9831,9831,9831,1996-12-01,983.100000000155,983.007,2015-01-01 02:43:51,bin9831,75,False +CTSPillarNetworkA,9832,9832,9832,1996-12-02,983.200000000155,983.107,2015-01-01 02:43:52,bin9832,35,False +CTSPillarNetworkA,9833,9833,9833,1996-12-03,983.300000000155,983.207,2015-01-01 02:43:53,bin9833,75,False +CTSPillarNetworkA,9834,9834,9834,1996-12-04,983.400000000155,983.30695,2015-01-01 02:43:54,bin9834,35,False +CTSPillarNetworkA,9835,9835,9835,1996-12-05,983.5000000001551,983.4069,2015-01-01 02:43:55,bin9835,75,False +CTSPillarNetworkA,9836,9836,9836,1996-12-06,983.6000000001551,983.5069,2015-01-01 02:43:56,bin9836,35,False +CTSPillarNetworkA,9837,9837,9837,1996-12-07,983.7000000001551,983.6069,2015-01-01 02:43:57,bin9837,75,False +CTSPillarNetworkA,9838,9838,9838,1996-12-08,983.8000000001551,983.70685,2015-01-01 02:43:58,bin9838,35,False +CTSPillarNetworkA,9839,9839,9839,1996-12-09,983.9000000001552,983.8068,2015-01-01 02:43:59,bin9839,75,False +CTSPillarNetworkA,9840,9840,9840,1996-12-10,984.0000000001552,983.9068,2015-01-01 02:44:00,bin9840,35,False +CTSPillarNetworkA,9841,9841,9841,1996-12-11,984.1000000001552,984.0068,2015-01-01 02:44:01,bin9841,75,False +CTSPillarNetworkA,9842,9842,9842,1996-12-12,984.2000000001552,984.10675,2015-01-01 02:44:02,bin9842,35,False +CTSPillarNetworkA,9843,9843,9843,1996-12-13,984.3000000001553,984.2067,2015-01-01 02:44:03,bin9843,75,False +CTSPillarNetworkA,9844,9844,9844,1996-12-14,984.4000000001553,984.3067,2015-01-01 02:44:04,bin9844,35,False +CTSPillarNetworkA,9845,9845,9845,1996-12-15,984.5000000001553,984.4067,2015-01-01 02:44:05,bin9845,75,False +CTSPillarNetworkA,9846,9846,9846,1996-12-16,984.6000000001553,984.50665,2015-01-01 02:44:06,bin9846,35,False +CTSPillarNetworkA,9847,9847,9847,1996-12-17,984.7000000001553,984.6066,2015-01-01 02:44:07,bin9847,75,False +CTSPillarNetworkA,9848,9848,9848,1996-12-18,984.8000000001554,984.7066,2015-01-01 02:44:08,bin9848,35,False +CTSPillarNetworkA,9849,9849,9849,1996-12-19,984.9000000001554,984.8066,2015-01-01 02:44:09,bin9849,75,False +CTSPillarNetworkA,9850,9850,9850,1996-12-20,985.0000000001554,984.90656,2015-01-01 02:44:10,bin9850,35,False +CTSPillarNetworkA,9851,9851,9851,1996-12-21,985.1000000001554,985.00653,2015-01-01 02:44:11,bin9851,75,False +CTSPillarNetworkA,9852,9852,9852,1996-12-22,985.2000000001555,985.1065,2015-01-01 02:44:12,bin9852,35,False +CTSPillarNetworkA,9853,9853,9853,1996-12-23,985.3000000001555,985.2065,2015-01-01 02:44:13,bin9853,75,False +CTSPillarNetworkA,9854,9854,9854,1996-12-24,985.4000000001555,985.30646,2015-01-01 02:44:14,bin9854,35,False +CTSPillarNetworkA,9855,9855,9855,1996-12-25,985.5000000001555,985.40643,2015-01-01 02:44:15,bin9855,75,False +CTSPillarNetworkA,9856,9856,9856,1996-12-26,985.6000000001555,985.5064,2015-01-01 02:44:16,bin9856,35,False +CTSPillarNetworkA,9857,9857,9857,1996-12-27,985.7000000001556,985.6064,2015-01-01 02:44:17,bin9857,75,False +CTSPillarNetworkA,9858,9858,9858,1996-12-28,985.8000000001556,985.70636,2015-01-01 02:44:18,bin9858,35,False +CTSPillarNetworkA,9859,9859,9859,1996-12-29,985.9000000001556,985.80634,2015-01-01 02:44:19,bin9859,75,False +CTSPillarNetworkA,9860,9860,9860,1996-12-30,986.0000000001556,985.9063,2015-01-01 02:44:20,bin9860,35,False +CTSPillarNetworkA,9861,9861,9861,1996-12-31,986.1000000001557,986.0063,2015-01-01 02:44:21,bin9861,75,False +CTSPillarNetworkA,9862,9862,9862,1997-01-01,986.2000000001557,986.10626,2015-01-01 02:44:22,bin9862,35,False +CTSPillarNetworkA,9863,9863,9863,1997-01-02,986.3000000001557,986.20624,2015-01-01 02:44:23,bin9863,75,False +CTSPillarNetworkA,9864,9864,9864,1997-01-03,986.4000000001557,986.3062,2015-01-01 02:44:24,bin9864,35,False +CTSPillarNetworkA,9865,9865,9865,1997-01-04,986.5000000001558,986.4062,2015-01-01 02:44:25,bin9865,75,False +CTSPillarNetworkA,9866,9866,9866,1997-01-05,986.6000000001558,986.50616,2015-01-01 02:44:26,bin9866,35,False +CTSPillarNetworkA,9867,9867,9867,1997-01-06,986.7000000001558,986.60614,2015-01-01 02:44:27,bin9867,75,False +CTSPillarNetworkA,9868,9868,9868,1997-01-07,986.8000000001558,986.7061,2015-01-01 02:44:28,bin9868,35,False +CTSPillarNetworkA,9869,9869,9869,1997-01-08,986.9000000001558,986.8061,2015-01-01 02:44:29,bin9869,75,False +CTSPillarNetworkA,9870,9870,9870,1997-01-09,987.0000000001559,986.90607,2015-01-01 02:44:30,bin9870,35,False +CTSPillarNetworkA,9871,9871,9871,1997-01-10,987.1000000001559,987.00604,2015-01-01 02:44:31,bin9871,75,False +CTSPillarNetworkA,9872,9872,9872,1997-01-11,987.2000000001559,987.106,2015-01-01 02:44:32,bin9872,35,False +CTSPillarNetworkA,9873,9873,9873,1997-01-12,987.3000000001559,987.206,2015-01-01 02:44:33,bin9873,75,False +CTSPillarNetworkA,9874,9874,9874,1997-01-13,987.400000000156,987.30597,2015-01-01 02:44:34,bin9874,35,False +CTSPillarNetworkA,9875,9875,9875,1997-01-14,987.500000000156,987.40594,2015-01-01 02:44:35,bin9875,75,False +CTSPillarNetworkA,9876,9876,9876,1997-01-15,987.600000000156,987.5059,2015-01-01 02:44:36,bin9876,35,False +CTSPillarNetworkA,9877,9877,9877,1997-01-16,987.700000000156,987.6059,2015-01-01 02:44:37,bin9877,75,False +CTSPillarNetworkA,9878,9878,9878,1997-01-17,987.800000000156,987.7059,2015-01-01 02:44:38,bin9878,35,False +CTSPillarNetworkA,9879,9879,9879,1997-01-18,987.9000000001561,987.80585,2015-01-01 02:44:39,bin9879,75,False +CTSPillarNetworkA,9880,9880,9880,1997-01-19,988.0000000001561,987.9058,2015-01-01 02:44:40,bin9880,35,False +CTSPillarNetworkA,9881,9881,9881,1997-01-20,988.1000000001561,988.0058,2015-01-01 02:44:41,bin9881,75,False +CTSPillarNetworkA,9882,9882,9882,1997-01-21,988.2000000001561,988.1058,2015-01-01 02:44:42,bin9882,35,False +CTSPillarNetworkA,9883,9883,9883,1997-01-22,988.3000000001562,988.20575,2015-01-01 02:44:43,bin9883,75,False +CTSPillarNetworkA,9884,9884,9884,1997-01-23,988.4000000001562,988.3057,2015-01-01 02:44:44,bin9884,35,False +CTSPillarNetworkA,9885,9885,9885,1997-01-24,988.5000000001562,988.4057,2015-01-01 02:44:45,bin9885,75,False +CTSPillarNetworkA,9886,9886,9886,1997-01-25,988.6000000001562,988.5057,2015-01-01 02:44:46,bin9886,35,False +CTSPillarNetworkA,9887,9887,9887,1997-01-26,988.7000000001563,988.60565,2015-01-01 02:44:47,bin9887,75,False +CTSPillarNetworkA,9888,9888,9888,1997-01-27,988.8000000001563,988.7056,2015-01-01 02:44:48,bin9888,35,False +CTSPillarNetworkA,9889,9889,9889,1997-01-28,988.9000000001563,988.8056,2015-01-01 02:44:49,bin9889,75,False +CTSPillarNetworkA,9890,9890,9890,1997-01-29,989.0000000001563,988.9056,2015-01-01 02:44:50,bin9890,35,False +CTSPillarNetworkA,9891,9891,9891,1997-01-30,989.1000000001563,989.00555,2015-01-01 02:44:51,bin9891,75,False +CTSPillarNetworkA,9892,9892,9892,1997-01-31,989.2000000001564,989.1055,2015-01-01 02:44:52,bin9892,35,False +CTSPillarNetworkA,9893,9893,9893,1997-02-01,989.3000000001564,989.2055,2015-01-01 02:44:53,bin9893,75,False +CTSPillarNetworkA,9894,9894,9894,1997-02-02,989.4000000001564,989.3055,2015-01-01 02:44:54,bin9894,35,False +CTSPillarNetworkA,9895,9895,9895,1997-02-03,989.5000000001564,989.40546,2015-01-01 02:44:55,bin9895,75,False +CTSPillarNetworkA,9896,9896,9896,1997-02-04,989.6000000001565,989.50543,2015-01-01 02:44:56,bin9896,35,False +CTSPillarNetworkA,9897,9897,9897,1997-02-05,989.7000000001565,989.6054,2015-01-01 02:44:57,bin9897,75,False +CTSPillarNetworkA,9898,9898,9898,1997-02-06,989.8000000001565,989.7054,2015-01-01 02:44:58,bin9898,35,False +CTSPillarNetworkA,9899,9899,9899,1997-02-07,989.9000000001565,989.80536,2015-01-01 02:44:59,bin9899,75,False +CTSPillarNetworkA,9900,9900,9900,1997-02-08,990.0000000001565,989.90533,2015-01-01 02:45:00,bin9900,35,False +CTSPillarNetworkA,9901,9901,9901,1997-02-09,990.1000000001566,990.0053,2015-01-01 02:45:01,bin9901,75,False +CTSPillarNetworkA,9902,9902,9902,1997-02-10,990.2000000001566,990.1053,2015-01-01 02:45:02,bin9902,35,False +CTSPillarNetworkA,9903,9903,9903,1997-02-11,990.3000000001566,990.20526,2015-01-01 02:45:03,bin9903,75,False +CTSPillarNetworkA,9904,9904,9904,1997-02-12,990.4000000001566,990.30524,2015-01-01 02:45:04,bin9904,35,False +CTSPillarNetworkA,9905,9905,9905,1997-02-13,990.5000000001567,990.4052,2015-01-01 02:45:05,bin9905,75,False +CTSPillarNetworkA,9906,9906,9906,1997-02-14,990.6000000001567,990.5052,2015-01-01 02:45:06,bin9906,35,False +CTSPillarNetworkA,9907,9907,9907,1997-02-15,990.7000000001567,990.60516,2015-01-01 02:45:07,bin9907,75,False +CTSPillarNetworkA,9908,9908,9908,1997-02-16,990.8000000001567,990.70514,2015-01-01 02:45:08,bin9908,35,False +CTSPillarNetworkA,9909,9909,9909,1997-02-17,990.9000000001568,990.8051,2015-01-01 02:45:09,bin9909,75,False +CTSPillarNetworkA,9910,9910,9910,1997-02-18,991.0000000001568,990.9051,2015-01-01 02:45:10,bin9910,35,False +CTSPillarNetworkA,9911,9911,9911,1997-02-19,991.1000000001568,991.00507,2015-01-01 02:45:11,bin9911,75,False +CTSPillarNetworkA,9912,9912,9912,1997-02-20,991.2000000001568,991.10504,2015-01-01 02:45:12,bin9912,35,False +CTSPillarNetworkA,9913,9913,9913,1997-02-21,991.3000000001568,991.205,2015-01-01 02:45:13,bin9913,75,False +CTSPillarNetworkA,9914,9914,9914,1997-02-22,991.4000000001569,991.305,2015-01-01 02:45:14,bin9914,35,False +CTSPillarNetworkA,9915,9915,9915,1997-02-23,991.5000000001569,991.40497,2015-01-01 02:45:15,bin9915,75,False +CTSPillarNetworkA,9916,9916,9916,1997-02-24,991.6000000001569,991.50494,2015-01-01 02:45:16,bin9916,35,False +CTSPillarNetworkA,9917,9917,9917,1997-02-25,991.7000000001569,991.6049,2015-01-01 02:45:17,bin9917,75,False +CTSPillarNetworkA,9918,9918,9918,1997-02-26,991.800000000157,991.7049,2015-01-01 02:45:18,bin9918,35,False +CTSPillarNetworkA,9919,9919,9919,1997-02-27,991.900000000157,991.8049,2015-01-01 02:45:19,bin9919,75,False +CTSPillarNetworkA,9920,9920,9920,1997-02-28,992.000000000157,991.90485,2015-01-01 02:45:20,bin9920,35,False +CTSPillarNetworkA,9921,9921,9921,1997-03-01,992.100000000157,992.0048,2015-01-01 02:45:21,bin9921,75,False +CTSPillarNetworkA,9922,9922,9922,1997-03-02,992.200000000157,992.1048,2015-01-01 02:45:22,bin9922,35,False +CTSPillarNetworkA,9923,9923,9923,1997-03-03,992.3000000001571,992.2048,2015-01-01 02:45:23,bin9923,75,False +CTSPillarNetworkA,9924,9924,9924,1997-03-04,992.4000000001571,992.30475,2015-01-01 02:45:24,bin9924,35,False +CTSPillarNetworkA,9925,9925,9925,1997-03-05,992.5000000001571,992.4047,2015-01-01 02:45:25,bin9925,75,False +CTSPillarNetworkA,9926,9926,9926,1997-03-06,992.6000000001571,992.5047,2015-01-01 02:45:26,bin9926,35,False +CTSPillarNetworkA,9927,9927,9927,1997-03-07,992.7000000001572,992.6047,2015-01-01 02:45:27,bin9927,75,False +CTSPillarNetworkA,9928,9928,9928,1997-03-08,992.8000000001572,992.70465,2015-01-01 02:45:28,bin9928,35,False +CTSPillarNetworkA,9929,9929,9929,1997-03-09,992.9000000001572,992.8046,2015-01-01 02:45:29,bin9929,75,False +CTSPillarNetworkA,9930,9930,9930,1997-03-10,993.0000000001572,992.9046,2015-01-01 02:45:30,bin9930,35,False +CTSPillarNetworkA,9931,9931,9931,1997-03-11,993.1000000001573,993.0046,2015-01-01 02:45:31,bin9931,75,False +CTSPillarNetworkA,9932,9932,9932,1997-03-12,993.2000000001573,993.10455,2015-01-01 02:45:32,bin9932,35,False +CTSPillarNetworkA,9933,9933,9933,1997-03-13,993.3000000001573,993.2045,2015-01-01 02:45:33,bin9933,75,False +CTSPillarNetworkA,9934,9934,9934,1997-03-14,993.4000000001573,993.3045,2015-01-01 02:45:34,bin9934,35,False +CTSPillarNetworkA,9935,9935,9935,1997-03-15,993.5000000001573,993.4045,2015-01-01 02:45:35,bin9935,75,False +CTSPillarNetworkA,9936,9936,9936,1997-03-16,993.6000000001574,993.50446,2015-01-01 02:45:36,bin9936,35,False +CTSPillarNetworkA,9937,9937,9937,1997-03-17,993.7000000001574,993.60443,2015-01-01 02:45:37,bin9937,75,False +CTSPillarNetworkA,9938,9938,9938,1997-03-18,993.8000000001574,993.7044,2015-01-01 02:45:38,bin9938,35,False +CTSPillarNetworkA,9939,9939,9939,1997-03-19,993.9000000001574,993.8044,2015-01-01 02:45:39,bin9939,75,False +CTSPillarNetworkA,9940,9940,9940,1997-03-20,994.0000000001575,993.90436,2015-01-01 02:45:40,bin9940,35,False +CTSPillarNetworkA,9941,9941,9941,1997-03-21,994.1000000001575,994.00433,2015-01-01 02:45:41,bin9941,75,False +CTSPillarNetworkA,9942,9942,9942,1997-03-22,994.2000000001575,994.1043,2015-01-01 02:45:42,bin9942,35,False +CTSPillarNetworkA,9943,9943,9943,1997-03-23,994.3000000001575,994.2043,2015-01-01 02:45:43,bin9943,75,False +CTSPillarNetworkA,9944,9944,9944,1997-03-24,994.4000000001575,994.30426,2015-01-01 02:45:44,bin9944,35,False +CTSPillarNetworkA,9945,9945,9945,1997-03-25,994.5000000001576,994.40424,2015-01-01 02:45:45,bin9945,75,False +CTSPillarNetworkA,9946,9946,9946,1997-03-26,994.6000000001576,994.5042,2015-01-01 02:45:46,bin9946,35,False +CTSPillarNetworkA,9947,9947,9947,1997-03-27,994.7000000001576,994.6042,2015-01-01 02:45:47,bin9947,75,False +CTSPillarNetworkA,9948,9948,9948,1997-03-28,994.8000000001576,994.70416,2015-01-01 02:45:48,bin9948,35,False +CTSPillarNetworkA,9949,9949,9949,1997-03-29,994.9000000001577,994.80414,2015-01-01 02:45:49,bin9949,75,False +CTSPillarNetworkA,9950,9950,9950,1997-03-30,995.0000000001577,994.9041,2015-01-01 02:45:50,bin9950,35,False +CTSPillarNetworkA,9951,9951,9951,1997-03-31,995.1000000001577,995.0041,2015-01-01 02:45:51,bin9951,75,False +CTSPillarNetworkA,9952,9952,9952,1997-04-01,995.2000000001577,995.10406,2015-01-01 02:45:52,bin9952,35,False +CTSPillarNetworkA,9953,9953,9953,1997-04-02,995.3000000001578,995.20404,2015-01-01 02:45:53,bin9953,75,False +CTSPillarNetworkA,9954,9954,9954,1997-04-03,995.4000000001578,995.304,2015-01-01 02:45:54,bin9954,35,False +CTSPillarNetworkA,9955,9955,9955,1997-04-04,995.5000000001578,995.404,2015-01-01 02:45:55,bin9955,75,False +CTSPillarNetworkA,9956,9956,9956,1997-04-05,995.6000000001578,995.50397,2015-01-01 02:45:56,bin9956,35,False +CTSPillarNetworkA,9957,9957,9957,1997-04-06,995.7000000001578,995.60394,2015-01-01 02:45:57,bin9957,75,False +CTSPillarNetworkA,9958,9958,9958,1997-04-07,995.8000000001579,995.7039,2015-01-01 02:45:58,bin9958,35,False +CTSPillarNetworkA,9959,9959,9959,1997-04-08,995.9000000001579,995.8039,2015-01-01 02:45:59,bin9959,75,False +CTSPillarNetworkA,9960,9960,9960,1997-04-09,996.0000000001579,995.9039,2015-01-01 02:46:00,bin9960,35,False +CTSPillarNetworkA,9961,9961,9961,1997-04-10,996.1000000001579,996.00385,2015-01-01 02:46:01,bin9961,75,False +CTSPillarNetworkA,9962,9962,9962,1997-04-11,996.200000000158,996.1038,2015-01-01 02:46:02,bin9962,35,False +CTSPillarNetworkA,9963,9963,9963,1997-04-12,996.300000000158,996.2038,2015-01-01 02:46:03,bin9963,75,False +CTSPillarNetworkA,9964,9964,9964,1997-04-13,996.400000000158,996.3038,2015-01-01 02:46:04,bin9964,35,False +CTSPillarNetworkA,9965,9965,9965,1997-04-14,996.500000000158,996.40375,2015-01-01 02:46:05,bin9965,75,False +CTSPillarNetworkA,9966,9966,9966,1997-04-15,996.600000000158,996.5037,2015-01-01 02:46:06,bin9966,35,False +CTSPillarNetworkA,9967,9967,9967,1997-04-16,996.7000000001581,996.6037,2015-01-01 02:46:07,bin9967,75,False +CTSPillarNetworkA,9968,9968,9968,1997-04-17,996.8000000001581,996.7037,2015-01-01 02:46:08,bin9968,35,False +CTSPillarNetworkA,9969,9969,9969,1997-04-18,996.9000000001581,996.80365,2015-01-01 02:46:09,bin9969,75,False +CTSPillarNetworkA,9970,9970,9970,1997-04-19,997.0000000001581,996.9036,2015-01-01 02:46:10,bin9970,35,False +CTSPillarNetworkA,9971,9971,9971,1997-04-20,997.1000000001582,997.0036,2015-01-01 02:46:11,bin9971,75,False +CTSPillarNetworkA,9972,9972,9972,1997-04-21,997.2000000001582,997.1036,2015-01-01 02:46:12,bin9972,35,False +CTSPillarNetworkA,9973,9973,9973,1997-04-22,997.3000000001582,997.20355,2015-01-01 02:46:13,bin9973,75,False +CTSPillarNetworkB,SPY,35000.332257024,41,1997-04-24,997.4000000001582,997.3035,2015-01-01 02:46:15,binA,251,True +CTSPillarNetworkB,SPY,35000.332278016,30,1997-04-25,997.5000000001583,997.4035,2015-01-01 02:46:16,bin,255,False +CTSPillarNetworkB,SPY,35000.332319232,22,1997-04-26,997.6000000001583,997.5035,2015-01-01 02:46:17,bin,255,True +CTSPillarNetworkB,SPY,35000.420437719,250,1997-04-27,997.7000000001583,997.60345,2015-01-01 02:46:18,bin,255,False +CTSPillarNetworkB,SPY,35000.509000000,21,1997-04-28,997.8000000001583,997.7034,2015-01-01 02:46:19,bin,255,True +CTSPillarNetworkB,SPY,35000.623816380,100,1997-04-29,997.9000000001583,997.8034,2015-01-01 02:46:20,bin,255,False +CTSPillarNetworkB,SPY,35000.733000000,1,1997-04-30,998.0000000001584,997.9034,2015-01-01 02:46:21,bin,255,True +CTSPillarNetworkB,SPY,35000.918482000,11,1997-05-01,998.1000000001584,998.00336,2015-01-01 02:46:22,bin,255,False +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-02,998.2000000001584,998.10333,2015-01-01 02:46:23,bin,255,True +CTSPillarNetworkB,SPY,35000.918484000,30,1997-05-03,998.3000000001584,998.2033,2015-01-01 02:46:24,bin,255,False +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-04,998.4000000001585,998.3033,2015-01-01 02:46:25,bin,255,True +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-05,998.5000000001585,998.40326,2015-01-01 02:46:26,bin,255,False +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-06,998.6000000001585,998.50323,2015-01-01 02:46:27,bin,255,True +CTSPillarNetworkB,SPY,35000.919489536,100,1997-05-07,998.7000000001585,998.6032,2015-01-01 02:46:28,bin,255,False +CTSPillarNetworkB,SPY,35000.919650899,100,1997-05-08,998.8000000001585,998.7032,2015-01-01 02:46:29,bin,255,True +CTSPillarNetworkB,SPY,35000.919685139,100,1997-05-09,998.9000000001586,998.80316,2015-01-01 02:46:30,bin,255,False +CTSPillarNetworkB,SPY,35000.974576770,100,1997-05-10,999.0000000001586,998.90314,2015-01-01 02:46:31,bin,255,True +CTSPillarNetworkB,SPY,35000.974911035,100,1997-05-11,999.1000000001586,999.0031,2015-01-01 02:46:32,bin,255,False +CTSPillarNetworkB,SPY,35000.977960728,23,1997-05-12,999.2000000001586,999.1031,2015-01-01 02:46:33,bin,255,True +CTSPillarNetworkB,SPY,35000.978023000,6,1997-05-13,999.3000000001587,999.20306,2015-01-01 02:46:34,bin,255,False +CTSPillarNetworkB,SPY,35000.978102524,18,1997-05-14,999.4000000001587,999.30304,2015-01-01 02:46:35,bin,255,True +CTSPillarNetworkB,SPY,35000.978124544,100,1997-05-15,999.5000000001587,999.403,2015-01-01 02:46:36,bin,255,False +CTSPillarNetworkB,SPY,35000.978349245,23,1997-05-16,999.6000000001587,999.503,2015-01-01 02:46:37,bin,255,True +CTSPillarNetworkB,SPY,35000.978601023,6,1997-05-17,999.7000000001588,999.60297,2015-01-01 02:46:38,bin,255,False +CTSPillarNetworkB,SPY,35000.978704313,18,1997-05-18,999.8000000001588,999.70294,2015-01-01 02:46:39,bin,255,True +CTSPillarNetworkB,SPY,35000.978803110,100,1997-05-19,999.9000000001588,999.8029,2015-01-01 02:46:40,bin,255,true +CTSPillarNetworkB,SPY,35000.983917824,53,1997-05-20,1000.0000000001588,999.9029,2015-01-01 02:46:41,binZ,250,True diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc new file mode 100644 index 0000000000000000000000000000000000000000..b25f925c947a14e9f4bfd7b6103f0632e1ae1664 GIT binary patch literal 139313 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

  • L_?S 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 F{{RJ3CBpy! literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt new file mode 100644 index 0000000..7ac739c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt @@ -0,0 +1,131 @@ +Processing data file optimized_reader_test_file_no_nulls.orc [length: 139297] +Structure for optimized_reader_test_file_no_nulls.orc +File Version: 0.12 with ORC_14 by ORC Java 1.7.4 + +Compression: ZLIB +Compression size: 262144 +Calendar: Julian/Gregorian +Rows: 10001 + +Type: struct< + source:string, + symbol:string, + time:decimal(14,9), + size:bigint,date:date, + double:double, + float:float, + timestamp:timestamp, + binary:binary, + byte:tinyint, + boolean:boolean +> + +Stripe Statistics: + Stripe 1: + Column 0: count: 10001 hasNull: false + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 + Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 + +File Statistics: + Column 0: count: 10001 hasNull: false + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 + Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 + +Stripes: + Stripe: offset: 3 data: 137679 rows: 10001 tail: 195 index: 681 + Stream: column 0 section ROW_INDEX start: 3 length 20 + Stream: column 1 section ROW_INDEX start: 23 length 68 + Stream: column 2 section ROW_INDEX start: 91 length 57 + Stream: column 3 section ROW_INDEX start: 148 length 96 + Stream: column 4 section ROW_INDEX start: 244 length 52 + Stream: column 5 section ROW_INDEX start: 296 length 49 + Stream: column 6 section ROW_INDEX start: 345 length 69 + Stream: column 7 section ROW_INDEX start: 414 length 68 + Stream: column 8 section ROW_INDEX start: 482 length 64 + Stream: column 9 section ROW_INDEX start: 546 length 46 + Stream: column 10 section ROW_INDEX start: 592 length 50 + Stream: column 11 section ROW_INDEX start: 642 length 42 + Stream: column 1 section DATA start: 684 length 20 + Stream: column 1 section LENGTH start: 704 length 7 + Stream: column 1 section DICTIONARY_DATA start: 711 length 26 + Stream: column 2 section DATA start: 737 length 18396 + Stream: column 2 section LENGTH start: 19133 length 30 + Stream: column 3 section DATA start: 19163 length 18962 + Stream: column 3 section SECONDARY start: 38125 length 37 + Stream: column 4 section DATA start: 38162 length 459 + Stream: column 5 section DATA start: 38621 length 74 + Stream: column 6 section DATA start: 38695 length 43212 + Stream: column 7 section DATA start: 81907 length 34041 + Stream: column 8 section DATA start: 115948 length 74 + Stream: column 8 section SECONDARY start: 116022 length 15 + Stream: column 9 section DATA start: 116037 length 22190 + Stream: column 9 section LENGTH start: 138227 length 30 + Stream: column 10 section DATA start: 138257 length 83 + Stream: column 11 section DATA start: 138340 length 23 + Encoding column 0: DIRECT + Encoding column 1: DICTIONARY_V2[2] + Encoding column 2: DIRECT_V2 + Encoding column 3: DIRECT_V2 + Encoding column 4: DIRECT_V2 + Encoding column 5: DIRECT_V2 + Encoding column 6: DIRECT + Encoding column 7: DIRECT + Encoding column 8: DIRECT_V2 + Encoding column 9: DIRECT_V2 + Encoding column 10: DIRECT + Encoding column 11: DIRECT + Row group indices for column 1: + Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 + Row group indices for column 2: + Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 + Row group indices for column 3: + Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 + Row group indices for column 4: + Entry 0: count: 10000 hasNull: false min: 0 max: 9973 sum: 49736873 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,615,8 + Row group indices for column 5: + Entry 0: count: 10000 hasNull: false min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: Hybrid AD 1997-05-20 max: Hybrid AD 1997-05-20 positions: 0,97,272 + Row group indices for column 6: + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.9000000001588 sum: 4999500.000000527 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 1000.0000000001588 max: 1000.0000000001588 sum: 1000.0000000001588 positions: 0,80000 + Row group indices for column 7: + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.8029174804688 sum: 4999355.885653399 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 999.9028930664062 max: 999.9028930664062 sum: 999.9028930664062 positions: 0,40000 + Row group indices for column 8: + Entry 0: count: 10000 hasNull: false min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:41.0 max: 2015-01-01 02:46:41.0 positions: 0,97,272,0,76,272 + Row group indices for column 9: + Entry 0: count: 10000 hasNull: false sum: 68786 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 3 positions: 0,68786,0,86,26 + Row group indices for column 10: + Entry 0: count: 10000 hasNull: false min: -1 max: 75 sum: 548544 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: -1 max: -1 sum: -1 positions: 0,10052,26 + Row group indices for column 11: + Entry 0: count: 10000 hasNull: false true: 3013 positions: 0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,22,3,0 + +File length: 139297 bytes +Padding length: 0 bytes +Padding ratio: 0% diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index cf3fde3..2a055c0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -10,9 +10,9 @@ public sealed class TestByteRangeProviderParallel : IByteRangeProvider readonly object _syncRoot = new object(); readonly Stream _stream; - internal TestByteRangeProviderParallel() + internal TestByteRangeProviderParallel(string fileName) { - var dataFileHelper = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.orc"); + var dataFileHelper = new DataFileHelper(typeof(TestByteRangeProvider), fileName); _stream = dataFileHelper.GetStream(); } From fd06dde240fa09602f438de4a8bb6a8794c2f4be Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 13:55:21 -0300 Subject: [PATCH 033/143] Add uri based byte range provider. --- .../AmazonS3ByteRangeProviderFactory.cs | 12 ----- .../ByteRangeProviderFactory.cs | 18 +++++++ .../Infrastructure/FileByteRangeProvider.cs | 48 ------------------- .../FileByteRangeProviderFactory.cs | 12 ----- ...geProvider.cs => HttpByteRangeProvider.cs} | 4 +- .../IByteRangeProviderFactory.cs | 1 - .../MemoryMappedFileRangeProviderFactory.cs | 12 ----- .../Program.cs | 2 +- 8 files changed, 21 insertions(+), 88 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs rename src/ApacheOrcDotNet.OptimizedReader/Infrastructure/{AmazonS3ByteRangeProvider.cs => HttpByteRangeProvider.cs} (95%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs deleted file mode 100644 index b7ea6a2..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class AmazonS3ByteRangeProviderFactory : IByteRangeProviderFactory - { - public string Prefix => ""; - - public IByteRangeProvider Create(string location) - { - return new AmazonS3ByteRangeProvider(location); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs new file mode 100644 index 0000000..7b94b6e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs @@ -0,0 +1,18 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class ByteRangeProviderFactory : IByteRangeProviderFactory + { + public IByteRangeProvider Create(string location) + { + if (!Uri.TryCreate(location, UriKind.Absolute, out var uri)) + throw new InvalidOperationException($"Byte range provider must be a valid file:// or http(s):// URI."); + + if (uri.IsFile) + return new MemoryMappedFileRangeProvider(uri.LocalPath); + + return new HttpByteRangeProvider(uri.AbsoluteUri); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs deleted file mode 100644 index b76a554..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.IO; - -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class FileByteRangeProvider : IByteRangeProvider - { - readonly FileStream _stream; - - internal FileByteRangeProvider(string path) - { - _stream = File.OpenRead(path); - } - - public void Dispose() - { - _stream.Dispose(); - } - - public int GetRange(Span buffer, long position) - { - _stream.Seek(position, SeekOrigin.Begin); - return DoRead(buffer); - } - - public int GetRangeFromEnd(Span buffer, long positionFromEnd) - { - _stream.Seek(-positionFromEnd, SeekOrigin.End); - return DoRead(buffer); - } - - private int DoRead(Span buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = _stream.Read(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs deleted file mode 100644 index a0d67aa..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class FileByteRangeProviderFactory : IByteRangeProviderFactory - { - public string Prefix => "file://"; - - public IByteRangeProvider Create(string location) - { - return new FileByteRangeProvider(location[Prefix.Length..]); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs similarity index 95% rename from src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index 840e31f..ab26289 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -6,14 +6,14 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public sealed class AmazonS3ByteRangeProvider : IByteRangeProvider + public sealed class HttpByteRangeProvider : IByteRangeProvider { readonly ConcurrentDictionary _cache = new(); readonly HttpClient _httpClient = new(); readonly string _remoteLocation; readonly long _length; - internal AmazonS3ByteRangeProvider(string remoteLocation) + internal HttpByteRangeProvider(string remoteLocation) { _remoteLocation = remoteLocation; _length = GetLength(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs index 5b1aa91..fd8e6a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs @@ -2,7 +2,6 @@ { public interface IByteRangeProviderFactory { - string Prefix { get; } IByteRangeProvider Create(string location); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs deleted file mode 100644 index a00a856..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class MemoryMappedFileRangeProviderFactory : IByteRangeProviderFactory - { - public string Prefix => "file://"; - - public IByteRangeProvider Create(string location) - { - return new MemoryMappedFileRangeProvider(location[Prefix.Length..]); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index b1112f5..6112977 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -58,7 +58,7 @@ static void Main(string[] args) EndTime = parsedEndTime }; - var fileByteRangeProviderFactory = new MemoryMappedFileRangeProviderFactory(); + var fileByteRangeProviderFactory = new ByteRangeProviderFactory(); var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); From 931bdd80803d303b2a79faeeb358f9e2aaa3de53 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 16:43:39 -0300 Subject: [PATCH 034/143] Remove HEAD request dependency. --- .../Buffers/BaseColumnBuffer.cs | 10 --- .../Infrastructure/HttpByteRangeProvider.cs | 19 +---- .../OptimizedORCApp.cs | 72 +++++++++---------- 3 files changed, 38 insertions(+), 63 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index ecd579c..f4d1415 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -402,15 +402,5 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) // Un zig-zag return ((long)value).ZigzagDecode(); } - - //private protected int CalculateNulls(int numPresentValues, int numReferenceValues) - //{ - // if (numPresentValues == _context.MaxValuesToRead) - // return numPresentValues; - - // var diff = Math.Abs(numPresentValues - numReferenceValues); - - // return numPresentValues - diff; - //} } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index ab26289..7298e93 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Concurrent; using System.IO; using System.Net.Http; using System.Net.Http.Headers; @@ -8,15 +7,12 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class HttpByteRangeProvider : IByteRangeProvider { - readonly ConcurrentDictionary _cache = new(); readonly HttpClient _httpClient = new(); readonly string _remoteLocation; - readonly long _length; internal HttpByteRangeProvider(string remoteLocation) { _remoteLocation = remoteLocation; - _length = GetLength(); } public void Dispose() => _httpClient.Dispose(); @@ -34,7 +30,7 @@ public int GetRange(Span buffer, long position) public int GetRangeFromEnd(Span buffer, long positionFromEnd) { - var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); + var request = CreateRangeRequest(null, positionFromEnd); var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) @@ -43,18 +39,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return DoRead(response.Content.ReadAsStream(), buffer); } - private long GetLength() - { - var request = new HttpRequestMessage(HttpMethod.Head, _remoteLocation); - var response = _httpClient.Send(request); - - if (!response.Content.Headers.ContentLength.HasValue) - throw new InvalidOperationException("Remote resouce length is required."); - - return response.Content.Headers.ContentLength.Value; - } - - private HttpRequestMessage CreateRangeRequest(long from, long to) + private HttpRequestMessage CreateRangeRequest(long? from, long? to) { var request = new HttpRequestMessage(HttpMethod.Get, _remoteLocation); var rangeHeader = new RangeHeaderValue(from, to); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 7046bee..953f774 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -50,26 +50,26 @@ public void Run() var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); var sizeColumn = reader.GetColumn("size"); - var dateColumn = reader.GetColumn("date"); - var doubleColumn = reader.GetColumn("double"); - var floatColumn = reader.GetColumn("float"); - var timeStampColumn = reader.GetColumn("timeStamp"); - var binaryColumn = reader.GetColumn("binary"); - var byteColumn = reader.GetColumn("byte"); - var booleanColumn = reader.GetColumn("boolean"); + //var dateColumn = reader.GetColumn("date"); + //var doubleColumn = reader.GetColumn("double"); + //var floatColumn = reader.GetColumn("float"); + //var timeStampColumn = reader.GetColumn("timeStamp"); + //var binaryColumn = reader.GetColumn("binary"); + //var byteColumn = reader.GetColumn("byte"); + //var booleanColumn = reader.GetColumn("boolean"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); - var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); + //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + //var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn); @@ -90,13 +90,13 @@ public void Run() , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) ); for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) @@ -105,13 +105,13 @@ public void Run() var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - var date = dateColumnBuffer.Values[idx]; - var dobl = doubleColumnBuffer.Values[idx]; - var sing = floatColumnBuffer.Values[idx]; - var timeStamp = timeStampColumnBuffer.Values[idx]; - var binary = binaryColumnBuffer.Values[idx]; - var tinyInt = byteColumnBuffer.Values[idx]; - var boolean = booleanColumnBuffer.Values[idx]; + //var date = dateColumnBuffer.Values[idx]; + //var dobl = doubleColumnBuffer.Values[idx]; + //var sing = floatColumnBuffer.Values[idx]; + //var timeStamp = timeStampColumnBuffer.Values[idx]; + //var binary = binaryColumnBuffer.Values[idx]; + //var tinyInt = byteColumnBuffer.Values[idx]; + //var boolean = booleanColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { @@ -120,14 +120,14 @@ public void Run() $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + $"{size}" + - $" " + - $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - $"{dobl}," + - $"{sing}," + - $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - $"{tinyInt}," + - $"{boolean}" + + //$" " + + //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + //$"{dobl}," + + //$"{sing}," + + //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + //$"{tinyInt}," + + //$"{boolean}" + $"" ); } From dbf9127e0fb72b0be189363fac257ec1488baa63 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Sun, 5 Jun 2022 22:36:17 -0300 Subject: [PATCH 035/143] Update unit test orc files metadata. --- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 29 +++- .../Data/optimized_reader_test_file.orc.txt | 143 ++++++++++++++++++ ...timized_reader_test_file_no_nulls.orc.txt} | 0 .../optimized_reader_test_file_no_nulls.txt | 131 ---------------- 4 files changed, 166 insertions(+), 137 deletions(-) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt rename test/ApacheOrcDotNet.OptimizedReader.Test/Data/{optimized_reader_test_file-info.txt => optimized_reader_test_file_no_nulls.orc.txt} (100%) delete mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index a5c959f..a82fe2d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -14,19 +14,36 @@ - + - + - - - - + + Always + + + Always + + + Always + + + Always + + + + + + Always + + + Always + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt new file mode 100644 index 0000000..0742a62 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt @@ -0,0 +1,143 @@ +Processing data file optimized_reader_test_file.orc [length: 139599] +Structure for optimized_reader_test_file.orc +File Version: 0.12 with ORC_14 by ORC Java 1.7.4 + +Compression: ZLIB +Compression size: 262144 +Calendar: Julian/Gregorian +Rows: 10001 + +Type: struct< + source:string, + symbol:string, + time:decimal(14,9), + size:bigint, + date:date, + double:double, + float:float, + timestamp:timestamp, + binary:binary, + byte:tinyint, + boolean:boolean +> + +Stripe Statistics: + Stripe 1: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 11 hasNull: true bytesOnDisk: 28 true: 6 + +File Statistics: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 11 hasNull: true bytesOnDisk: 28 true: 6 + +Stripes: + Stripe: offset: 3 data: 137886 rows: 10001 tail: 233 index: 716 + Stream: column 0 section ROW_INDEX start: 3 length 20 + Stream: column 1 section ROW_INDEX start: 23 length 72 + Stream: column 2 section ROW_INDEX start: 95 length 61 + Stream: column 3 section ROW_INDEX start: 156 length 100 + Stream: column 4 section ROW_INDEX start: 256 length 58 + Stream: column 5 section ROW_INDEX start: 314 length 46 + Stream: column 6 section ROW_INDEX start: 360 length 78 + Stream: column 7 section ROW_INDEX start: 438 length 65 + Stream: column 8 section ROW_INDEX start: 503 length 71 + Stream: column 9 section ROW_INDEX start: 574 length 50 + Stream: column 10 section ROW_INDEX start: 624 length 56 + Stream: column 11 section ROW_INDEX start: 680 length 39 + Stream: column 1 section PRESENT start: 719 length 15 + Stream: column 1 section DATA start: 734 length 20 + Stream: column 1 section LENGTH start: 754 length 7 + Stream: column 1 section DICTIONARY_DATA start: 761 length 26 + Stream: column 2 section PRESENT start: 787 length 15 + Stream: column 2 section DATA start: 802 length 18391 + Stream: column 2 section LENGTH start: 19193 length 30 + Stream: column 3 section PRESENT start: 19223 length 15 + Stream: column 3 section DATA start: 19238 length 18959 + Stream: column 3 section SECONDARY start: 38197 length 37 + Stream: column 4 section PRESENT start: 38234 length 19 + Stream: column 4 section DATA start: 38253 length 464 + Stream: column 5 section PRESENT start: 38717 length 19 + Stream: column 5 section DATA start: 38736 length 80 + Stream: column 6 section PRESENT start: 38816 length 18 + Stream: column 6 section DATA start: 38834 length 43239 + Stream: column 7 section PRESENT start: 82073 length 18 + Stream: column 7 section DATA start: 82091 length 34023 + Stream: column 8 section PRESENT start: 116114 length 18 + Stream: column 8 section DATA start: 116132 length 83 + Stream: column 8 section SECONDARY start: 116215 length 15 + Stream: column 9 section PRESENT start: 116230 length 18 + Stream: column 9 section DATA start: 116248 length 22191 + Stream: column 9 section LENGTH start: 138439 length 33 + Stream: column 10 section PRESENT start: 138472 length 18 + Stream: column 10 section DATA start: 138490 length 87 + Stream: column 11 section PRESENT start: 138577 length 22 + Stream: column 11 section DATA start: 138599 length 6 + Encoding column 0: DIRECT + Encoding column 1: DICTIONARY_V2[2] + Encoding column 2: DIRECT_V2 + Encoding column 3: DIRECT_V2 + Encoding column 4: DIRECT_V2 + Encoding column 5: DIRECT_V2 + Encoding column 6: DIRECT + Encoding column 7: DIRECT + Encoding column 8: DIRECT_V2 + Encoding column 9: DIRECT_V2 + Encoding column 10: DIRECT + Encoding column 11: DIRECT + Row group indices for column 1: + Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Row group indices for column 2: + Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Row group indices for column 3: + Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 + Row group indices for column 4: + Entry 0: count: 9996 hasNull: true min: 0 max: 9973 sum: 49736817 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,24,3,0,0,735,8 + Row group indices for column 5: + Entry 0: count: 9996 hasNull: true min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true positions: 0,24,3,0,0,225,268 + Row group indices for column 6: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.6000000001587 sum: 4995503.300000527 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 999.7000000001588 max: 999.7000000001588 sum: 999.7000000001588 positions: 0,22,3,0,0,79968 + Row group indices for column 7: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 positions: 0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true sum: 0.0 positions: 0,22,3,0,0,39984 + Row group indices for column 8: + Entry 0: count: 9996 hasNull: true min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:47.0 max: 2015-01-01 02:46:47.0 positions: 0,22,3,0,0,225,268,0,76,268 + Row group indices for column 9: + Entry 0: count: 9996 hasNull: true sum: 68772 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 4 positions: 0,22,3,0,0,68772,0,89,24 + Row group indices for column 10: + Entry 0: count: 9996 hasNull: true min: -6 max: 75 sum: 548315 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: -5 max: -5 sum: -5 positions: 0,22,3,0,0,10049,24 + Row group indices for column 11: + Entry 0: count: 10 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,4,0,0,0,1,2 + +File length: 139599 bytes +Padding length: 0 bytes +Padding ratio: 0% diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt similarity index 100% rename from test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt rename to test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt deleted file mode 100644 index 7ac739c..0000000 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt +++ /dev/null @@ -1,131 +0,0 @@ -Processing data file optimized_reader_test_file_no_nulls.orc [length: 139297] -Structure for optimized_reader_test_file_no_nulls.orc -File Version: 0.12 with ORC_14 by ORC Java 1.7.4 - -Compression: ZLIB -Compression size: 262144 -Calendar: Julian/Gregorian -Rows: 10001 - -Type: struct< - source:string, - symbol:string, - time:decimal(14,9), - size:bigint,date:date, - double:double, - float:float, - timestamp:timestamp, - binary:binary, - byte:tinyint, - boolean:boolean -> - -Stripe Statistics: - Stripe 1: - Column 0: count: 10001 hasNull: false - Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 - Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 - Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 - Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 - Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 - Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 - Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 - Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 - Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 - Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 - Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 - -File Statistics: - Column 0: count: 10001 hasNull: false - Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 - Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 - Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 - Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 - Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 - Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 - Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 - Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 - Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 - Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 - Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 - -Stripes: - Stripe: offset: 3 data: 137679 rows: 10001 tail: 195 index: 681 - Stream: column 0 section ROW_INDEX start: 3 length 20 - Stream: column 1 section ROW_INDEX start: 23 length 68 - Stream: column 2 section ROW_INDEX start: 91 length 57 - Stream: column 3 section ROW_INDEX start: 148 length 96 - Stream: column 4 section ROW_INDEX start: 244 length 52 - Stream: column 5 section ROW_INDEX start: 296 length 49 - Stream: column 6 section ROW_INDEX start: 345 length 69 - Stream: column 7 section ROW_INDEX start: 414 length 68 - Stream: column 8 section ROW_INDEX start: 482 length 64 - Stream: column 9 section ROW_INDEX start: 546 length 46 - Stream: column 10 section ROW_INDEX start: 592 length 50 - Stream: column 11 section ROW_INDEX start: 642 length 42 - Stream: column 1 section DATA start: 684 length 20 - Stream: column 1 section LENGTH start: 704 length 7 - Stream: column 1 section DICTIONARY_DATA start: 711 length 26 - Stream: column 2 section DATA start: 737 length 18396 - Stream: column 2 section LENGTH start: 19133 length 30 - Stream: column 3 section DATA start: 19163 length 18962 - Stream: column 3 section SECONDARY start: 38125 length 37 - Stream: column 4 section DATA start: 38162 length 459 - Stream: column 5 section DATA start: 38621 length 74 - Stream: column 6 section DATA start: 38695 length 43212 - Stream: column 7 section DATA start: 81907 length 34041 - Stream: column 8 section DATA start: 115948 length 74 - Stream: column 8 section SECONDARY start: 116022 length 15 - Stream: column 9 section DATA start: 116037 length 22190 - Stream: column 9 section LENGTH start: 138227 length 30 - Stream: column 10 section DATA start: 138257 length 83 - Stream: column 11 section DATA start: 138340 length 23 - Encoding column 0: DIRECT - Encoding column 1: DICTIONARY_V2[2] - Encoding column 2: DIRECT_V2 - Encoding column 3: DIRECT_V2 - Encoding column 4: DIRECT_V2 - Encoding column 5: DIRECT_V2 - Encoding column 6: DIRECT - Encoding column 7: DIRECT - Encoding column 8: DIRECT_V2 - Encoding column 9: DIRECT_V2 - Encoding column 10: DIRECT - Encoding column 11: DIRECT - Row group indices for column 1: - Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 - Row group indices for column 2: - Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 - Row group indices for column 3: - Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 - Row group indices for column 4: - Entry 0: count: 10000 hasNull: false min: 0 max: 9973 sum: 49736873 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,615,8 - Row group indices for column 5: - Entry 0: count: 10000 hasNull: false min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: Hybrid AD 1997-05-20 max: Hybrid AD 1997-05-20 positions: 0,97,272 - Row group indices for column 6: - Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.9000000001588 sum: 4999500.000000527 positions: 0,0 - Entry 1: count: 1 hasNull: false min: 1000.0000000001588 max: 1000.0000000001588 sum: 1000.0000000001588 positions: 0,80000 - Row group indices for column 7: - Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.8029174804688 sum: 4999355.885653399 positions: 0,0 - Entry 1: count: 1 hasNull: false min: 999.9028930664062 max: 999.9028930664062 sum: 999.9028930664062 positions: 0,40000 - Row group indices for column 8: - Entry 0: count: 10000 hasNull: false min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:41.0 max: 2015-01-01 02:46:41.0 positions: 0,97,272,0,76,272 - Row group indices for column 9: - Entry 0: count: 10000 hasNull: false sum: 68786 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false sum: 3 positions: 0,68786,0,86,26 - Row group indices for column 10: - Entry 0: count: 10000 hasNull: false min: -1 max: 75 sum: 548544 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: -1 max: -1 sum: -1 positions: 0,10052,26 - Row group indices for column 11: - Entry 0: count: 10000 hasNull: false true: 3013 positions: 0,0,0,0 - Entry 1: count: 1 hasNull: false true: 1 positions: 0,22,3,0 - -File length: 139297 bytes -Padding length: 0 bytes -Padding ratio: 0% From 24d1e041c7e1f5e006ec6f7bee6272360cb14a1f Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 6 Jun 2022 03:41:25 -0300 Subject: [PATCH 036/143] Separate data loading from data parsing. --- .../Buffers/BaseColumnBuffer.cs | 281 +++++++++++------- .../Buffers/BinaryColumnBuffer.cs | 62 ++-- .../Buffers/BooleanColumnBuffer.cs | 63 ++-- .../Buffers/ByteColumnBuffer.cs | 63 ++-- .../Buffers/DateColumnBuffer.cs | 63 ++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 84 ++---- .../Buffers/DecimalColumnBuffer.cs | 84 ++---- .../Buffers/DoubleColumnBuffer.cs | 52 +--- .../Buffers/FloatColumnBuffer.cs | 52 +--- .../Buffers/IntegerColumnBuffer.cs | 65 ++-- .../Buffers/StringColumnBuffer.cs | 186 +++++------- .../Buffers/TimestampColumnBuffer.cs | 87 ++---- .../DataPositions.cs | 4 - .../Infrastructure/HttpByteRangeProvider.cs | 39 +++ .../Infrastructure/IByteRangeProvider.cs | 3 + .../MemoryMappedFileRangeProvider.cs | 33 ++ .../Infrastructure/SpanStripeFooter.cs | 6 +- .../Infrastructure/StreamDetail.cs | 15 + .../Infrastructure/StreamPositions.cs | 4 + .../OrcReader.cs | 35 ++- .../OptimizedORCApp.cs | 50 ++-- .../Program.cs | 19 +- .../WithNulls/BinaryColumn_Test.cs | 26 +- .../WithNulls/BooleanColumn_Test.cs | 26 +- .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 26 +- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 26 +- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 26 +- .../WithNulls/DecimalColumn_Test.cs | 26 +- .../WithNulls/DoubleColumn_Test.cs | 26 +- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 26 +- .../WithNulls/IntegerColumn_Test.cs | 16 +- .../WithNulls/StringColumn_Test.cs | 52 ++-- .../WithNulls/TimestampColumn_Test.cs | 26 +- .../WithoutNulls/BinaryColumn_Test.cs | 26 +- .../WithoutNulls/BooleanColumn_Test.cs | 26 +- .../WithoutNulls/ByteColumn_Test.cs | 26 +- .../WithoutNulls/DateColumn_Test.cs | 26 +- .../DecimalAsDoubleColumn_Test.cs | 26 +- .../WithoutNulls/DecimalColumn_Test.cs | 26 +- .../WithoutNulls/DoubleColumn_Test.cs | 26 +- .../WithoutNulls/FloatColumn_Test.cs | 26 +- .../WithoutNulls/IntegerColumn_Test.cs | 26 +- .../WithoutNulls/StringColumn_Test.cs | 52 ++-- .../WithoutNulls/TimestampColumn_Test.cs | 26 +- .../TestByteRangeProvider.cs | 11 + .../TestByteRangeProviderParallel.cs | 35 +++ 46 files changed, 1019 insertions(+), 991 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index f4d1415..f430a4c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -9,18 +9,53 @@ using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { [SkipLocalsInit] public abstract class BaseColumnBuffer { - private protected readonly ArrayPool _arrayPool; + //private protected readonly BufferStream[] _bufferStreams; private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcContext _context; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; + + private protected readonly ArrayPool _pool; + + private protected StreamDetails _dataStream; + private protected StreamPositions _dataStreamPositions; + private protected byte[] _dataStreamCompressedBuffer; + private protected byte[] _dataStreamDecompressedBuffer; + private protected int _dataStreamDecompressedBufferLength; + + private protected StreamDetails _dictionaryStream; + private protected StreamPositions _dictionaryStreamPositions; + private protected byte[] _dictionaryStreanCompressedBuffer; + private protected byte[] _dictionaryStreamDecompressedBuffer; + private protected int _dictionaryStreamDecompressedBufferLength; + + private protected StreamDetails _lengthStream; + private protected StreamPositions _lengthStreamPositions; + private protected byte[] _lengthStreamCompressedBuffer; + private protected byte[] _lengthStreamDecompressedBuffer; + private protected int _lengthStreamDecompressedBufferLength; + + private protected StreamDetails _presentStream; + private protected StreamPositions _presentStreamPositions; + private protected byte[] _presentStreamCompressedBuffer; + private protected byte[] _presentStreamDecompressedBuffer; + private protected int _presentStreamDecompressedBufferLength; + + private protected StreamDetails _secondaryStream; + private protected StreamPositions _secondaryStreamPositions; + private protected byte[] _secondaryStreamCompressedBuffer; + private protected byte[] _secondaryStreamDecompressedBuffer; + private protected int _secondaryStreamDecompressedBufferLength; + private protected int _numValuesRead; + private long[] _numericStreamBuffer; private byte[] _byteStreamBuffer; private byte[] _boolStreamBuffer; @@ -32,21 +67,49 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context _column = column; _values = new TOutput[_context.MaxValuesToRead]; + _pool = ArrayPool.Create(15 * 1024 * 1024, 8); + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + //var streamKinds = Enum.GetValues(); + //_bufferStreams = new BufferStream[streamKinds.Length]; + + //foreach (var kind in streamKinds) + //{ + // _bufferStreams[(int)kind] = new BufferStream() + // { + // CompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength), + // DecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength) + // }; + //} + _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; - - _arrayPool = ArrayPool.Create(15 * 1024 * 1024, 8); } public OrcColumn Column => _column; public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); - public abstract void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); + public abstract Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); + public abstract void Parse(); public void Reset() => _numValuesRead = 0; - private protected int ReadByteStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) + private protected int ReadByteStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -72,7 +135,7 @@ private protected int ReadByteStream(ReadOnlySpan buffer, int length, in D return numValuesRead; } - private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) + private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -98,62 +161,26 @@ private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, if (isFinalByte && decodedByte == 0) { - // Edge case where there is only one value for the row entry - // and that value is null + // Edge case where there is only one value for the row entry and that value is null outputValues[numValuesRead++] = false; return; } - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 7) - return; - - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 6) - return; - - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 5) - return; - - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 4) - return; - - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 3) - return; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 2) - return; + for (int bitIdx = 7; bitIdx >= 0; bitIdx--) + { + outputValues[numValuesRead++] = (decodedByte & 1 << bitIdx) != 0; - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 1) - return; + if (numValuesRead >= outputValues.Length) + return; - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (numValuesRead >= outputValues.Length) - return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == bitIdx) + return; + } } } } - private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in DataPositions positions, bool isSigned, Span outputValues, ref int numValuesRead) + private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in StreamPositions positions, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -177,7 +204,7 @@ private protected void ReadNumericStream(ReadOnlySpan buffer, int length, } } - private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) + private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -201,19 +228,101 @@ private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, i } } - private protected StreamDetail GetColumnStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + private protected void LoadStreams(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, params StreamKind[] requiredStreams) + { + var missingStreams = requiredStreams.ToList(); + + _presentStream = columnStreams.SingleOrDefault(stream => stream.StreamKind == StreamKind.Present); + _presentStreamPositions = GetPresentStreamPositions(_presentStream, rowIndexEntry); + missingStreams.Remove(StreamKind.Present); + + foreach (var stream in columnStreams) + { + switch (stream.StreamKind) + { + case StreamKind.Present: + case StreamKind.RowIndex: + continue; + case StreamKind.Secondary: + _secondaryStream = stream; + _secondaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + case StreamKind.DictionaryData: + _dictionaryStream = stream; + _dictionaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + case StreamKind.Length: + _lengthStream = stream; + _lengthStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + case StreamKind.Data: + _dataStream = stream; + _dataStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + default: + throw new NotImplementedException($"Unable to set stream '{stream.StreamKind}'"); + } + } + + if (missingStreams.Count > 0) + throw new InvalidDataException($"The following streams must be available: {string.Join(", ", missingStreams)}"); + } + + private protected async Task GetByteRange(Memory output, StreamDetails stream, StreamPositions positions) + { + var rangeLength = 0; + + if (stream != null) + { + var offset = stream.FileOffset + positions.RowGroupOffset; + var compressedLength = stream.Length - positions.RowGroupOffset; + + //Console.WriteLine($"GetByteRangeAsync for '{_column.Name}': {compressedLength}/{offset}"); + + rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, compressedLength), offset); + } + + return rangeLength; + } + + private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetails stream, in StreamPositions positions, ref int decompressedLength) + { + decompressedLength = 0; + + if (stream != null) + { + var compressedLength = stream.Length - positions.RowGroupOffset; + + decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); + } + } + + private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in StreamPositions positions) { - var stream = columnStreams.SingleOrDefault(stream => - stream.StreamKind == streamKind - ); + var rowentrylength = length - positions.RowEntryOffset; + + return buffer.Slice(positions.RowEntryOffset, rowentrylength); + } - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); + private protected double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); - return stream; + private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; } - private protected DataPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + private StreamPositions GetPresentStreamPositions(StreamDetails presentStream, RowIndexEntry rowIndexEntry) { if (presentStream == null) return new(); @@ -221,9 +330,9 @@ private protected DataPositions GetPresentStreamPositions(StreamDetail presentSt return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); } - private protected DataPositions GetTargetDataStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) + private StreamPositions GetRequiredStreamPositions(StreamDetails targetedStream, RowIndexEntry rowIndexEntry) { - var positionStep = presentStream == null ? 0 : 4; + var positionStep = _presentStream == null ? 0 : 4; ulong rowGroupOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch { @@ -318,52 +427,6 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private protected void GetByteRange(Span output, StreamDetail stream, in DataPositions positions, ref int rangeLength) - { - rangeLength = 0; - - if (stream != null) - { - var offset = stream.FileOffset + positions.RowGroupOffset; - var compressedLength = stream.Length - positions.RowGroupOffset; - - rangeLength = _byteRangeProvider.GetRange(output.Slice(0, compressedLength), offset); - } - } - - private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetail stream, in DataPositions positions, ref int decompressedLength) - { - decompressedLength = 0; - - if (stream != null) - { - var compressedLength = stream.Length - positions.RowGroupOffset; - - decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); - } - } - - private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in DataPositions positions) - { - var rowentrylength = length - positions.RowEntryOffset; - - return buffer.Slice(positions.RowEntryOffset, rowentrylength); - } - - private protected double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); - - private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) - { - if (scale < 0 || scale > 255) - throw new OverflowException("Scale must be positive number"); - - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow - var scaler = new decimal(1, 0, 0, false, (byte)scale); - - return decNumerator * scaler; - } - private BigInteger? ReadBigVarInt(ref BufferReader stream) { var value = BigInteger.Zero; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 49d409d..2cee73c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -11,66 +11,40 @@ public class BinaryColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _lengthInputBuffer; - private byte[] _lengthOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int length, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int length, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int length) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); + var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); var stringOffset = 0; - if (presentStream != null) + if (_presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { @@ -84,7 +58,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.length; idx++) + for (int idx = 0; idx < lengthValuesRead; idx++) { var length = (int)_lengthStreamBuffer[idx]; _values[_numValuesRead++] = dataBuffer.Slice(stringOffset, length).ToArray(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index c176e1a..6ca2b40 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -9,67 +9,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private bool[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; + private bool[] _dataStreamValues; public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new bool[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new bool[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); - if (presentStream != null) + if (_presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _dataStreamBuffer[idx]; + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamValues[idx]; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index f095a35..9a624ce 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -9,67 +9,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private byte[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; + private byte[] _dataStreamValues; public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new byte[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new byte[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadByteStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); var dataIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _dataStreamBuffer[idx]; + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamValues[idx]; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index bb9c664..7fbdfea 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -11,67 +11,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class DateColumnBuffer : BaseColumnBuffer { readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - private readonly bool[] _presentStreamBuffer; - private readonly long[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); - if (presentStream != null) + if (_presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[dataIndex++] * TimeSpan.TicksPerDay); + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamValues[dataIndex++] * TimeSpan.TicksPerDay); else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[idx] * TimeSpan.TicksPerDay); + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamValues[idx] * TimeSpan.TicksPerDay); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 012ff59..6695f7c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; +using System; using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; @@ -10,72 +11,49 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private BigInteger[] _dataStreamBuffer; - private long[] _secondaryStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _secondaryInputBuffer; - private byte[] _secondaryOutputBuffer; + private bool[] _presentStreamValues; + private BigInteger[] _dataStreamValues; + private long[] _secondaryStreamValues; public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; - _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); - // Stream Byte Ranges - (int present, int data, int secondary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) ); - // Decompress Byte Ranges - (int present, int data, int secondary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + } + + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); - // Parse Decompressed Bytes - (int present, int data, int secondary) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); - ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); + if (dataValuesRead != secondaryValuesRead) + throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); var secondaryIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); secondaryIndex++; } else @@ -84,8 +62,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.secondary; idx++) - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[idx], _secondaryStreamValues[idx]); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 8db584a..3eee953 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; +using System; using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; @@ -10,72 +11,49 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DecimalColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private BigInteger[] _dataStreamBuffer; - private long[] _secondaryStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _secondaryInputBuffer; - private byte[] _secondaryOutputBuffer; + private bool[] _presentStreamValues; + private BigInteger[] _dataStreamValues; + private long[] _secondaryStreamValues; public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; - _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); - // Stream Byte Ranges - (int present, int data, int secondary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) ); - // Decompress Byte Ranges - (int present, int data, int secondary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + } + + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); - // Parse Decompressed Bytes - (int present, int data, int secondary) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); - ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); + if (dataValuesRead != secondaryValuesRead) + throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); var secondaryIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); secondaryIndex++; } else @@ -84,8 +62,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.secondary; idx++) - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + for (int idx = 0; idx < secondaryValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[idx], _secondaryStreamValues[idx]); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 4fc2048..472f93a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -10,59 +10,39 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DoubleColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; private byte[] _valueBuffer; public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - + _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[8]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - int presentValuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); + var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); - if (presentStream != null) + if (_presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { if (!dataReader.TryCopyTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 9740f84..8b08165 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -10,59 +10,39 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class FloatColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; private byte[] _valueBuffer; public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - + _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[4]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - int presentValuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); + var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); - if (presentStream != null) + if (_presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { if (!dataReader.TryCopyTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index bf6b412..1817483 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -9,69 +9,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private long[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; + private long[] _dataStreamValues; public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) - ); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValueRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); var dataIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValueRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _dataStreamBuffer[idx]; + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamValues[idx]; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 3f20979..2a4f2b3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -14,94 +14,93 @@ public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary _dictionaryLengthBuffers = new(); - private bool[] _presentStreamBuffer; - private long[] _dataStreamBuffer; - private long[] _lengthStreamBufferDirectV2; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _lengthInputBuffer; - private byte[] _lengthOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _dictionaryInputBuffer; - private byte[] _dictionaryOutputBuffer; + private bool[] _presentStreamValues; + private long[] _dataStreamValues; + private long[] _lengthStreamValues; + + private ColumnEncodingKind _encodingKind; + private int _stripeId; public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - _lengthStreamBufferDirectV2 = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; + _lengthStreamValues = new long[_context.MaxValuesToRead]; + } - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + _stripeId = stripeId; + _encodingKind = columnStreams.First().EncodingKind; - _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + switch (_encodingKind) + { + case ColumnEncodingKind.DirectV2: + { + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + ); - _dictionaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dictionaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } + break; + case ColumnEncodingKind.DictionaryV2: + { + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data, StreamKind.DictionaryData); + + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStream, _dictionaryStreamPositions) + ); + + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, _dictionaryStream, _dictionaryStreamPositions, ref _dictionaryStreamDecompressedBufferLength); + } + break; + } } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override void Parse() { - switch (columnStreams.First().EncodingKind) + switch (_encodingKind) { case ColumnEncodingKind.DirectV2: - ReadDirectV2(columnStreams, rowIndexEntry); + ReadDirectV2(); break; case ColumnEncodingKind.DictionaryV2: - ReadDictionaryV2(columnStreams, rowIndexEntry, stripeId); + ReadDictionaryV2(); break; default: throw new InvalidOperationException(); } } - private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + private void ReadDirectV2() { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int length, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) - ); - - // Decompress Byte Ranges - (int present, int length, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - - // Parse Decompressed Bytes - (int present, int length) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length); - - var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamValues, out var lengthValuesRead); + + var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); var stringOffset = 0; - if (presentStream != null) + if (_presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; + var length = (int)_lengthStreamValues[lengthIndex++]; _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; } @@ -114,9 +113,9 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } else { - for (int idx = 0; idx < valuesRead.length; idx++) + for (int idx = 0; idx < lengthValuesRead; idx++) { - var length = (int)_lengthStreamBufferDirectV2[idx]; + var length = (int)_lengthStreamValues[idx]; _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; @@ -126,60 +125,31 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } } - private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, int stripeId) + private void ReadDictionaryV2() { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var dictionaryDataStream = GetColumnStream(columnStreams, StreamKind.DictionaryData); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var dictionaryDataPositions = GetTargetDataStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int length, int data, int dictionary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_dictionaryInputBuffer, dictionaryDataStream, dictionaryDataPositions, ref rangeSizes.dictionary) - ); - - // Decompress Byte Ranges - (int present, int length, int data, int dictionary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary); - - // Parse Decompressed Bytes - (int present, int length, int data) valuesRead = default; - var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, dictionaryV2LengthStreamBuffer, ref valuesRead.length); - ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data); + var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _lengthStream.DictionarySize); + + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: false, _dataStreamValues, out var dataValuesRead); int stringOffset = 0; - List stringsList = new(valuesRead.length); - for (int idx = 0; idx < valuesRead.length; idx++) + List stringsList = new(lengthValuesRead); + for (int idx = 0; idx < lengthValuesRead; idx++) { var length = (int)dictionaryV2LengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(_dictionaryOutputBuffer.AsSpan().Slice(stringOffset, length)); + var value = Encoding.UTF8.GetString(_dictionaryStreamDecompressedBuffer.AsSpan().Slice(stringOffset, length)); stringOffset += length; stringsList.Add(value); } - if (presentStream != null) + if (_presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = stringsList[(int)_dataStreamValues[dataIndex++]]; else _values[_numValuesRead++] = null; @@ -189,9 +159,9 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE } else { - for (int idx = 0; idx < valuesRead.data; idx++) + for (int idx = 0; idx < dataValuesRead; idx++) { - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; + _values[_numValuesRead++] = stringsList[(int)_dataStreamValues[idx]]; if (_numValuesRead >= _values.Length) break; @@ -199,7 +169,7 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE } } - private Span GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) + private long[] GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) { if (!_dictionaryLengthBuffers.ContainsKey(stripeId)) _dictionaryLengthBuffers.Add(stripeId, new long[dictionarySize]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index b70c1c3..66c0ed3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -11,73 +11,50 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class TimestampColumnBuffer : BaseColumnBuffer { readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - private readonly bool[] _presentStreamBuffer; - private readonly long[] _dataStreamBuffer; - private long[] _secondaryStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _secondaryInputBuffer; - private byte[] _secondaryOutputBuffer; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + private long[] _secondaryStreamValues; public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; + _secondaryStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); - // Stream Byte Ranges - (int present, int data, int secondary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) ); - // Decompress Byte Ranges - (int present, int data, int secondary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + } + + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); - // Parse Decompressed Bytes - (int present, int data, int secondary) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); - ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary); + if (dataValuesRead != secondaryValuesRead) + throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - if (presentStream != null) + if (_presentStream != null) { var secondaryIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - var seconds = _dataStreamBuffer[secondaryIndex]; - var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[secondaryIndex]); + var seconds = _dataStreamValues[secondaryIndex]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[secondaryIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); secondaryIndex++; @@ -88,10 +65,10 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.data; idx++) + for (int idx = 0; idx < dataValuesRead; idx++) { - var seconds = _dataStreamBuffer[idx]; - var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); + var seconds = _dataStreamValues[idx]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[idx]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs deleted file mode 100644 index a75400e..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader -{ - public readonly record struct DataPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index 7298e93..d6fecc8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -2,6 +2,7 @@ using System.IO; using System.Net.Http; using System.Net.Http.Headers; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { @@ -28,6 +29,17 @@ public int GetRange(Span buffer, long position) return DoRead(response.Content.ReadAsStream(), buffer); } + public async Task GetRangeAsync(Memory buffer, long position) + { + var request = CreateRangeRequest(position, position + buffer.Length); + var response = await _httpClient.SendAsync(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + return await DoReadAsync(await response.Content.ReadAsStreamAsync(), buffer); + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { var request = CreateRangeRequest(null, positionFromEnd); @@ -39,6 +51,17 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return DoRead(response.Content.ReadAsStream(), buffer); } + public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + var request = CreateRangeRequest(null, positionFromEnd); + var response = await _httpClient.SendAsync(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + return await DoReadAsync(await response.Content.ReadAsStreamAsync(), buffer); + } + private HttpRequestMessage CreateRangeRequest(long? from, long? to) { var request = new HttpRequestMessage(HttpMethod.Get, _remoteLocation); @@ -62,5 +85,21 @@ private int DoRead(Stream stream, Span buffer) } return bytesRead; } + + private async Task DoReadAsync(Stream stream, Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = await stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index ca7538a..ddf5671 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -1,10 +1,13 @@ using System; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProvider : IDisposable { int GetRange(Span buffer, long position); + Task GetRangeAsync(Memory buffer, long position); int GetRangeFromEnd(Span buffer, long positionFromEnd); + Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs index e018156..b678c58 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.IO.MemoryMappedFiles; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { @@ -30,6 +31,14 @@ public int GetRange(Span buffer, long position) } } + public async Task GetRangeAsync(Memory buffer, long position) + { + using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) + { + return await DoReadAsync(stream, buffer); + } + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) @@ -38,6 +47,14 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) } } + public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) + { + return await DoReadAsync(stream, buffer); + } + } + private int DoRead(Stream stream, Span buffer) { int bytesRead = 0; @@ -53,5 +70,21 @@ private int DoRead(Stream stream, Span buffer) } return bytesRead; } + + private async Task DoReadAsync(Stream stream, Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = await stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index 84a65aa..37ded12 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -6,17 +6,15 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); - public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); return stripeFooter.Streams.Select((stream, i) => { - var result = new StreamDetail + var result = new StreamDetails ( StreamId: i, ColumnId: (int)stream.Column, diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs new file mode 100644 index 0000000..b132586 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs @@ -0,0 +1,15 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public record StreamDetails(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); + + public record BufferStream + { + public StreamDetails Details { get; init; } + public StreamPositions Positions { get; init; } + public byte[] CompressedBuffer { get; init; } + public byte[] DecompressedBuffer { get; init; } + public int DecompressedBufferLength { get; set; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs new file mode 100644 index 0000000..e9a43ba --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public record StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index f144930..15565e7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -22,8 +23,8 @@ public sealed class OrcReader private readonly OrcReaderConfiguration _configuration; private readonly IByteRangeProvider _byteRangeProvider; private readonly SpanFileTail _fileTail; - private readonly Dictionary> _stripeStreams = new(); - private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly Dictionary> _stripeStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); private readonly Dictionary _protoColumns = new(); private readonly CompressionKind _compressionKind; @@ -99,16 +100,16 @@ public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) return new DateColumnBuffer(_byteRangeProvider, context, column); } - public BaseColumnBuffer CreateDecimalColumnReader(OrcColumn column) + public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) { var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalColumnBuffer(_byteRangeProvider, context, column); + return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); } - public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) + public BaseColumnBuffer CreateDecimalColumnBuffer(OrcColumn column) { var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); + return new DecimalColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) @@ -175,15 +176,20 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s }); } - public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) { - if (discardPreviousData) - columnBuffer.Reset(); - var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; - columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); + await columnBuffer.LoadDataAsync(stripeId, columnStreams, rowIndexEntry); + } + + public void Parse(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + { + if (discardPreviousData) + columnBuffer.Reset(); + + columnBuffer.Parse(); } public ColumnStatistics GetFileColumnStatistics(int columnId) @@ -222,6 +228,9 @@ private SpanFileTail ReadFileTail() { var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + + //Console.WriteLine($"GetRangeFromEnd: {bufferSpan.Length}/{lengthToReadFromEnd}"); + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); ArrayPool.Shared.Return(buffer); @@ -233,7 +242,7 @@ private SpanFileTail ReadFileTail() } } - private IEnumerable GetStripeStreams(int stripeId) + private IEnumerable GetStripeStreams(int stripeId) { if (!_stripeStreams.ContainsKey(stripeId)) { @@ -256,7 +265,7 @@ private IEnumerable GetStripeStreams(int stripeId) return _stripeStreams[stripeId]; } - private IEnumerable GetColumnStreams(int columnId, int stripeId) + private IEnumerable GetColumnStreams(int columnId, int stripeId) { var key = (columnId, stripeId); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 953f774..623bf2b 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; -using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -18,23 +17,23 @@ public class OptimizedORCAppConfiguration public class OptimizedORCApp { - private readonly string _orcFileName; + private readonly string _orcFileUri; private readonly OptimizedORCAppConfiguration _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public OptimizedORCApp(string orcFileName, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + public OptimizedORCApp(string orcFileUri, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) { - _orcFileName = orcFileName; + _orcFileUri = orcFileUri; _configuration = confituration; _byteRangeProviderFactory = byteRangeProviderFactory; } - public void Run() + public async Task Run() { // var watch = new Stopwatch(); var configs = new OrcReaderConfiguration(); - var rangeProvider = _byteRangeProviderFactory.Create(_orcFileName); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri); var reader = new OptimizedReader.OrcReader(configs, rangeProvider); watch.Start(); @@ -61,7 +60,7 @@ public void Run() // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); + var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); @@ -84,21 +83,32 @@ public void Run() foreach (var rowEntryIndex in rowGroupIndexes) { - // Process - Parallel.Invoke( - () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) + await Task.WhenAll( + reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer) + //reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); + reader.Parse(sourceColumnBuffer); + reader.Parse(symbolColumnBuffer); + reader.Parse(timeColumnBuffer); + reader.Parse(sizeColumnBuffer); + //reader.Parse(dateColumnBuffer); + //reader.Parse(doubleColumnBuffer); + //reader.Parse(floatColumnBuffer); + //reader.Parse(timeStampColumnBuffer); + //reader.Parse(binaryColumnBuffer); + //reader.Parse(byteColumnBuffer); + //reader.Parse(booleanColumnBuffer); + for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) { var source = sourceColumnBuffer.Values[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 6112977..c6b367b 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -3,12 +3,13 @@ using System; using System.Diagnostics; using System.Globalization; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { internal class Program { - static void Main(string[] args) + static async Task Main(string[] args) { var cultureInfo = CultureInfo.GetCultureInfo("en-US"); @@ -22,7 +23,7 @@ static void Main(string[] args) .Build() ; - var fileName = config.GetValue("fileName", string.Empty); + var uri = config.GetValue("uri", string.Empty); var date = config.GetValue("date", DateTime.Now.ToString("d")); var source = config.GetValue("source", string.Empty); var symbol = config.GetValue("symbol", string.Empty); @@ -33,16 +34,20 @@ static void Main(string[] args) var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); - if (fileName.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + if (uri.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) { - Console.WriteLine("Usage: --fileName orcFileName --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine("Usage: --uri orcFileUri --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine(); + Console.WriteLine("Examples:"); + Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); + Console.WriteLine(@" dotnet run --uri https://s3.amazonaws.com/some/path/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); + Console.WriteLine(); Environment.Exit(-1); } Console.WriteLine("Running.. CTRL+C to exit."); Console.WriteLine(); Console.WriteLine($"Pid: {Environment.ProcessId}"); - Console.WriteLine($"date: '{date}'"); Console.WriteLine($"source: '{source}'"); Console.WriteLine($"symbol: '{symbol}'"); Console.WriteLine($"beginTime: '{beginTime}'"); @@ -59,11 +64,11 @@ static void Main(string[] args) }; var fileByteRangeProviderFactory = new ByteRangeProviderFactory(); - var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); + var optimizedORCApp = new OptimizedORCApp(uri, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); stopWatch.Start(); - optimizedORCApp.Run(); + await optimizedORCApp.Run(); stopWatch.Stop(); Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index 84f0558..5e7e46b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -12,17 +12,18 @@ public void Binary_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -33,17 +34,18 @@ public void Binary_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index c881e80..d4843f0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -11,17 +11,18 @@ public void Boolean_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Boolean_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 0de92dd..7fa6a86 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -11,17 +11,18 @@ public void Byte_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Byte_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 54dfac0..1641c6a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -12,17 +12,18 @@ public void Date_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Date_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 8a2499a..0e3340a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void DecimalAsDouble_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void DecimalAsDouble_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index 5950f4d..f226525 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -11,17 +11,18 @@ public void Decimal_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Decimal_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index a7fad46..a2fe8d7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void Double_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Double_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index 5e802e3..1bb13ca 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -11,17 +11,18 @@ public void Float_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Float_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index f526c1b..0524425 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -11,17 +11,18 @@ public void Integer_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sizes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,7 +34,8 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, buffer).Wait(); + reader.Parse(buffer); Assert.Equal(1, buffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index 43e00ff..19354ae 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -11,17 +11,18 @@ public void String_DirectV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void String_DirectV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -53,17 +55,18 @@ public void String_DictionaryV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } @@ -74,17 +77,18 @@ public void String_DictionaryV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index 6f8fd7b..d2ce52b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -12,17 +12,18 @@ public void Timestamp_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Timestamp_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index 0ba1c5c..0291e2a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -12,17 +12,18 @@ public void Binary_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -33,17 +34,18 @@ public void Binary_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index 24696e1..e83c86c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -11,17 +11,18 @@ public void Boolean_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Boolean_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 2dcb07a..20eca9c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -11,17 +11,18 @@ public void Byte_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Byte_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index c0cb127..99a8769 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -12,17 +12,18 @@ public void Date_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Date_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 3f6fbc7..bb5886a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void DecimalAsDouble_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void DecimalAsDouble_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index 049f4b9..c404dd7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -11,17 +11,18 @@ public void Decimal_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Decimal_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index 83184ee..bf5273e 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void Double_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Double_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index b2aced9..7161c84 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -11,17 +11,18 @@ public void Float_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Float_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 653626c..6529728 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -11,17 +11,18 @@ public void Integer_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sizes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Integer_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sizes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index e3f8dd0..445c269 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -11,17 +11,18 @@ public void String_DirectV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void String_DirectV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -53,17 +55,18 @@ public void String_DictionaryV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } @@ -74,17 +77,18 @@ public void String_DictionaryV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index 7894686..a7c0a25 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -12,17 +12,18 @@ public void Timestamp_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Timestamp_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index a8a5578..ce4f68c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -47,6 +48,11 @@ public int GetRange(Span buffer, long position) return buffer.Length; } + public Task GetRangeAsync(Memory buffer, long position) + { + throw new NotImplementedException(); + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); @@ -66,6 +72,11 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return buffer.Length; } + public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + throw new NotImplementedException(); + } + Stream GetOpenStreamForRange(bool isFromEnd, long position, int length) { if (_openFiles.TryGetValue((isFromEnd, position, length), out var existingStream)) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index 2a055c0..227ee59 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.Test.TestHelpers; using System; using System.IO; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -30,6 +31,15 @@ public int GetRange(Span buffer, long position) } } + public Task GetRangeAsync(Memory buffer, long position) + { + lock (_syncRoot) + { + _stream.Seek(position, SeekOrigin.Begin); + return DoReadAsync(buffer); + } + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { lock (_syncRoot) @@ -39,6 +49,15 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) } } + public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + lock (_syncRoot) + { + _stream.Seek(-positionFromEnd, SeekOrigin.End); + return DoReadAsync(buffer); + } + } + private int DoRead(Span buffer) { int bytesRead = 0; @@ -54,5 +73,21 @@ private int DoRead(Span buffer) } return bytesRead; } + + private async Task DoReadAsync(Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = await _stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } } } From a26b28b02e09730f8bc97d2ab20a2b809e4e8fb2 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 6 Jun 2022 15:36:46 -0300 Subject: [PATCH 037/143] Calculate ranges and reduce the number of byte requests per read. --- .../Buffers/BaseColumnBuffer.cs | 299 ++++-------------- .../Buffers/BinaryColumnBuffer.cs | 51 ++- .../Buffers/BooleanColumnBuffer.cs | 41 ++- .../Buffers/ByteColumnBuffer.cs | 43 ++- .../Buffers/DateColumnBuffer.cs | 40 ++- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 56 +++- .../Buffers/DecimalColumnBuffer.cs | 57 ++-- .../Buffers/DoubleColumnBuffer.cs | 37 ++- .../Buffers/FloatColumnBuffer.cs | 37 ++- .../Buffers/IntegerColumnBuffer.cs | 46 ++- .../Buffers/StringColumnBuffer.cs | 109 ++++--- .../Buffers/TimestampColumnBuffer.cs | 62 ++-- .../Infrastructure/ColumnDataStreams.cs | 15 + .../Infrastructure/SpanStripeFooter.cs | 4 +- .../Infrastructure/StreamDetail.cs | 9 +- .../Infrastructure/StreamRange.cs | 4 + .../OrcReader.cs | 260 +++++++++++++-- .../OptimizedORCApp.cs | 24 +- .../Program.cs | 4 + .../WithNulls/BinaryColumn_Test.cs | 4 +- .../WithNulls/BooleanColumn_Test.cs | 4 +- .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 4 +- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 4 +- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 4 +- .../WithNulls/DecimalColumn_Test.cs | 4 +- .../WithNulls/DoubleColumn_Test.cs | 4 +- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 4 +- .../WithNulls/IntegerColumn_Test.cs | 4 +- .../WithNulls/StringColumn_Test.cs | 8 +- .../WithNulls/TimestampColumn_Test.cs | 4 +- .../WithoutNulls/BinaryColumn_Test.cs | 4 +- .../WithoutNulls/BooleanColumn_Test.cs | 4 +- .../WithoutNulls/ByteColumn_Test.cs | 4 +- .../WithoutNulls/DateColumn_Test.cs | 4 +- .../DecimalAsDoubleColumn_Test.cs | 4 +- .../WithoutNulls/DecimalColumn_Test.cs | 4 +- .../WithoutNulls/DoubleColumn_Test.cs | 4 +- .../WithoutNulls/FloatColumn_Test.cs | 4 +- .../WithoutNulls/IntegerColumn_Test.cs | 4 +- .../WithoutNulls/StringColumn_Test.cs | 8 +- .../WithoutNulls/TimestampColumn_Test.cs | 4 +- .../OrcReader_Test.cs | 2 +- 42 files changed, 761 insertions(+), 535 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index f430a4c..2dc54fa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -16,7 +16,10 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public abstract class BaseColumnBuffer { - //private protected readonly BufferStream[] _bufferStreams; + private readonly long[] _numericStreamBuffer; + private readonly byte[] _byteStreamBuffer; + private readonly byte[] _boolStreamBuffer; + private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcContext _context; private protected readonly OrcColumn _column; @@ -24,42 +27,8 @@ public abstract class BaseColumnBuffer private protected readonly ArrayPool _pool; - private protected StreamDetails _dataStream; - private protected StreamPositions _dataStreamPositions; - private protected byte[] _dataStreamCompressedBuffer; - private protected byte[] _dataStreamDecompressedBuffer; - private protected int _dataStreamDecompressedBufferLength; - - private protected StreamDetails _dictionaryStream; - private protected StreamPositions _dictionaryStreamPositions; - private protected byte[] _dictionaryStreanCompressedBuffer; - private protected byte[] _dictionaryStreamDecompressedBuffer; - private protected int _dictionaryStreamDecompressedBufferLength; - - private protected StreamDetails _lengthStream; - private protected StreamPositions _lengthStreamPositions; - private protected byte[] _lengthStreamCompressedBuffer; - private protected byte[] _lengthStreamDecompressedBuffer; - private protected int _lengthStreamDecompressedBufferLength; - - private protected StreamDetails _presentStream; - private protected StreamPositions _presentStreamPositions; - private protected byte[] _presentStreamCompressedBuffer; - private protected byte[] _presentStreamDecompressedBuffer; - private protected int _presentStreamDecompressedBufferLength; - - private protected StreamDetails _secondaryStream; - private protected StreamPositions _secondaryStreamPositions; - private protected byte[] _secondaryStreamCompressedBuffer; - private protected byte[] _secondaryStreamDecompressedBuffer; - private protected int _secondaryStreamDecompressedBufferLength; - private protected int _numValuesRead; - private long[] _numericStreamBuffer; - private byte[] _byteStreamBuffer; - private byte[] _boolStreamBuffer; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; @@ -69,33 +38,6 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context _pool = ArrayPool.Create(15 * 1024 * 1024, 8); - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - //var streamKinds = Enum.GetValues(); - //_bufferStreams = new BufferStream[streamKinds.Length]; - - //foreach (var kind in streamKinds) - //{ - // _bufferStreams[(int)kind] = new BufferStream() - // { - // CompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength), - // DecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength) - // }; - //} - _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; @@ -104,17 +46,32 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context public OrcColumn Column => _column; public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); - public abstract Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); - public abstract void Parse(); + public abstract Task LoadDataAsync(int stripeId, ColumnDataStreams streams); + public abstract void Fill(); public void Reset() => _numValuesRead = 0; - private protected int ReadByteStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) + private protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + { + var stream = columnStreams.SingleOrDefault(stream => + stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); while (!bufferReader.Complete) { @@ -122,26 +79,27 @@ private protected int ReadByteStream(ReadOnlySpan buffer, int length, in S for (int idx = 0; idx < numByteValuesRead; idx++) { - if (numSkipped++ < positions.ValuesToSkip) + if (numSkipped++ < stream.Positions.ValuesToSkip) continue; outputValues[numValuesRead++] = _byteStreamBuffer[idx]; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; } } - - return numValuesRead; } - private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) + private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); + var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; while (!bufferReader.Complete) { @@ -180,12 +138,15 @@ private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, } } - private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in StreamPositions positions, bool isSigned, Span outputValues, out int numValuesRead) + private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan buffer, int length, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); while (!bufferReader.Complete) { @@ -193,7 +154,7 @@ private protected void ReadNumericStream(ReadOnlySpan buffer, int length, for (int idx = 0; idx < numNewValuesRead; idx++) { - if (numSkipped++ < positions.ValuesToSkip) + if (numSkipped++ < stream.Positions.ValuesToSkip) continue; outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; @@ -204,12 +165,15 @@ private protected void ReadNumericStream(ReadOnlySpan buffer, int length, } } - private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) + private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + int numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); while (!bufferReader.Complete) { @@ -218,7 +182,7 @@ private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, i if (!bigInt.HasValue) return; - if (numSkipped++ < positions.ValuesToSkip) + if (numSkipped++ < stream.Positions.ValuesToSkip) continue; outputValues[numValuesRead++] = bigInt.Value; @@ -228,84 +192,32 @@ private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, i } } - private protected void LoadStreams(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, params StreamKind[] requiredStreams) - { - var missingStreams = requiredStreams.ToList(); - - _presentStream = columnStreams.SingleOrDefault(stream => stream.StreamKind == StreamKind.Present); - _presentStreamPositions = GetPresentStreamPositions(_presentStream, rowIndexEntry); - missingStreams.Remove(StreamKind.Present); - - foreach (var stream in columnStreams) - { - switch (stream.StreamKind) - { - case StreamKind.Present: - case StreamKind.RowIndex: - continue; - case StreamKind.Secondary: - _secondaryStream = stream; - _secondaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - case StreamKind.DictionaryData: - _dictionaryStream = stream; - _dictionaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - case StreamKind.Length: - _lengthStream = stream; - _lengthStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - case StreamKind.Data: - _dataStream = stream; - _dataStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - default: - throw new NotImplementedException($"Unable to set stream '{stream.StreamKind}'"); - } - } - - if (missingStreams.Count > 0) - throw new InvalidDataException($"The following streams must be available: {string.Join(", ", missingStreams)}"); - } - - private protected async Task GetByteRange(Memory output, StreamDetails stream, StreamPositions positions) + private protected async Task GetByteRangeAsync(StreamDetail stream, Memory output) { var rangeLength = 0; if (stream != null) - { - var offset = stream.FileOffset + positions.RowGroupOffset; - var compressedLength = stream.Length - positions.RowGroupOffset; - - //Console.WriteLine($"GetByteRangeAsync for '{_column.Name}': {compressedLength}/{offset}"); - - rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, compressedLength), offset); - } + rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); return rangeLength; } - private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetails stream, in StreamPositions positions, ref int decompressedLength) + private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, Span decompressedOutput, ref int decompressedLength) { decompressedLength = 0; if (stream != null) - { - var compressedLength = stream.Length - positions.RowGroupOffset; - - decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); - } + decompressedLength = StreamData.Decompress(compressedInput.Slice(0, stream.Range.Length), decompressedOutput, _context.CompressionKind); } - private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in StreamPositions positions) + /// + /// Applies the offset position into the decompressed data. + /// + private protected ReadOnlySpan ResizeBuffer(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) { - var rowentrylength = length - positions.RowEntryOffset; + var rowEntryLength = decompressedBufferLength - stream.Positions.RowEntryOffset; - return buffer.Slice(positions.RowEntryOffset, rowentrylength); + return decompressedBuffer.Slice(stream.Positions.RowEntryOffset, rowEntryLength); } private protected double BigIntegerToDouble(BigInteger numerator, long scale) @@ -322,111 +234,6 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) return decNumerator * scaler; } - private StreamPositions GetPresentStreamPositions(StreamDetails presentStream, RowIndexEntry rowIndexEntry) - { - if (presentStream == null) - return new(); - - return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); - } - - private StreamPositions GetRequiredStreamPositions(StreamDetails targetedStream, RowIndexEntry rowIndexEntry) - { - var positionStep = _presentStream == null ? 0 : 4; - - ulong rowGroupOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 3], - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 2], - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 0], - - _ => throw new NotImplementedException() - }; - - ulong rowEntryOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 4], - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 3], - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 1], - - _ => throw new NotImplementedException() - }; - - ulong valuesToSkip = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 5], - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 4], - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Double, _) => 0, - (StreamKind.Data, ColumnTypeKind.Float, _) => 0, - (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 2], - - _ => throw new NotImplementedException() - }; - - ulong remainingBits = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 3], - _ => 0 - }; - - return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); - } - private BigInteger? ReadBigVarInt(ref BufferReader stream) { var value = BigInteger.Zero; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 2cee73c..a477068 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -1,6 +1,4 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -12,36 +10,59 @@ public class BinaryColumnBuffer : BaseColumnBuffer private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _lengthStreamCompressedBuffer; + private byte[] _lengthStreamDecompressedBuffer; + private int _lengthStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Length, _lengthStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamBuffer, out var presentValuesRead); - ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); + var dataBuffer = ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { var lengthIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 6ca2b40..4eac21d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -9,34 +8,50 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private bool[] _dataStreamValues; + private readonly bool[] _presentStreamValues; + private readonly bool[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new bool[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadBooleanStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - if (_presentStream != null) + if (presentValuesRead > 0) { var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 9a624ce..f35e5a3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -9,36 +8,52 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private byte[] _dataStreamValues; + private readonly bool[] _presentStreamValues; + private readonly byte[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new byte[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadByteStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadByteStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - var dataIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { + var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 7fbdfea..4a3fd1e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -10,35 +9,52 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DateColumnBuffer : BaseColumnBuffer { - readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); - if (_presentStream != null) + if (presentValuesRead > 0) { var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 6695f7c..008c355 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -15,46 +14,69 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamValues; private long[] _secondaryStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private byte[] _secondaryStreamCompressedBuffer; + private byte[] _secondaryStreamDecompressedBuffer; + private int _secondaryStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - var secondaryIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { + var valueIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); - secondaryIndex++; + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); + valueIndex++; } else _values[_numValuesRead++] = double.NaN; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 3eee953..0fd5e48 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,7 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -15,46 +13,69 @@ public class DecimalColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamValues; private long[] _secondaryStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private byte[] _secondaryStreamCompressedBuffer; + private byte[] _secondaryStreamDecompressedBuffer; + private int _secondaryStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - var secondaryIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { + var valueIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); - secondaryIndex++; + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); + valueIndex++; } else _values[_numValuesRead++] = null; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 472f93a..d146c71 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -13,32 +12,48 @@ public class DoubleColumnBuffer : BaseColumnBuffer private bool[] _presentStreamValues; private byte[] _valueBuffer; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[8]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); + var dataReader = new BufferReader(ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); - if (_presentStream != null) + if (presentValuesRead > 0) { for (int idx = 0; idx < presentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 8b08165..9ba9e92 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -13,32 +12,48 @@ public class FloatColumnBuffer : BaseColumnBuffer private bool[] _presentStreamValues; private byte[] _valueBuffer; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[4]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); + var dataReader = new BufferReader(ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); - if (_presentStream != null) + if (presentValuesRead > 0) { for (int idx = 0; idx < presentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 1817483..9ab7fe5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -1,6 +1,4 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -9,37 +7,53 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private long[] _dataStreamValues; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValueRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); - var dataIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { - for (int idx = 0; idx < presentValueRead; idx++) + var dataIndex = 0; + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 2a4f2b3..1190753 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; @@ -13,12 +12,28 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary _dictionaryLengthBuffers = new(); + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + private readonly long[] _lengthStreamValues; - private bool[] _presentStreamValues; - private long[] _dataStreamValues; - private long[] _lengthStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _dictionaryStreanCompressedBuffer; + private byte[] _dictionaryStreamDecompressedBuffer; + private int _dictionaryStreamDecompressedBufferLength; + + private byte[] _lengthStreamCompressedBuffer; + private byte[] _lengthStreamDecompressedBuffer; + private int _lengthStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; private ColumnEncodingKind _encodingKind; + private ColumnDataStreams _streams; private int _stripeId; public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) @@ -26,51 +41,45 @@ public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext conte _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _lengthStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + _streams = streams; _stripeId = stripeId; - _encodingKind = columnStreams.First().EncodingKind; + _encodingKind = _streams.EncodingKind; - switch (_encodingKind) + var byteRangeTasks = new List>() { - case ColumnEncodingKind.DirectV2: - { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); - - _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) - ); - - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - } - break; - case ColumnEncodingKind.DictionaryV2: - { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data, StreamKind.DictionaryData); - - _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStream, _dictionaryStreamPositions) - ); - - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, _dictionaryStream, _dictionaryStreamPositions, ref _dictionaryStreamDecompressedBufferLength); - } - break; - } + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Length, _lengthStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + }; + if (_encodingKind == ColumnEncodingKind.DictionaryV2) + byteRangeTasks.Add(GetByteRangeAsync(_streams.DictionaryData, _dictionaryStreanCompressedBuffer)); + + _ = await Task.WhenAll(byteRangeTasks); + + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + if (_encodingKind == ColumnEncodingKind.DictionaryV2) + DecompressByteRange(_streams.DictionaryData, _dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, ref _dictionaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { switch (_encodingKind) { @@ -87,13 +96,13 @@ public override void Parse() private void ReadDirectV2() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamValues, out var lengthValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamValues, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); + var dataBuffer = ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { var lengthIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) @@ -127,11 +136,11 @@ private void ReadDirectV2() private void ReadDictionaryV2() { - var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _lengthStream.DictionarySize); + var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _streams.Length.DictionarySize); - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: false, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: false, _dataStreamValues, out var dataValuesRead); int stringOffset = 0; List stringsList = new(lengthValuesRead); @@ -143,7 +152,7 @@ private void ReadDictionaryV2() stringsList.Add(value); } - if (_presentStream != null) + if (presentValuesRead > 0) { var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 66c0ed3..700ffc5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -1,7 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -10,54 +8,78 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class TimestampColumnBuffer : BaseColumnBuffer { - readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private byte[] _secondaryStreamCompressedBuffer; + private byte[] _secondaryStreamDecompressedBuffer; + private int _secondaryStreamDecompressedBufferLength; + private long[] _secondaryStreamValues; + private ColumnDataStreams _streams; + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - if (_presentStream != null) + if (presentValuesRead > 0) { - var secondaryIndex = 0; + var valueIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) { - var seconds = _dataStreamValues[secondaryIndex]; - var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[secondaryIndex]); + var seconds = _dataStreamValues[valueIndex]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[valueIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); - secondaryIndex++; + valueIndex++; } else _values[_numValuesRead++] = null; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs new file mode 100644 index 0000000..5614d04 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs @@ -0,0 +1,15 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public class ColumnDataStreams + { + public ColumnEncodingKind EncodingKind { get; set; } + + public StreamDetail Data { get; set; } + public StreamDetail DictionaryData { get; set; } + public StreamDetail Length { get; set; } + public StreamDetail Present { get; set; } + public StreamDetail Secondary { get; set; } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index 37ded12..211e94a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -8,13 +8,13 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); return stripeFooter.Streams.Select((stream, i) => { - var result = new StreamDetails + var result = new StreamDetail ( StreamId: i, ColumnId: (int)stream.Column, diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs index b132586..31652fb 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs @@ -2,14 +2,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamDetails(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); - - public record BufferStream + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize) { - public StreamDetails Details { get; init; } public StreamPositions Positions { get; init; } - public byte[] CompressedBuffer { get; init; } - public byte[] DecompressedBuffer { get; init; } - public int DecompressedBufferLength { get; set; } + public StreamRange Range { get; set; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs new file mode 100644 index 0000000..1183147 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public record StreamRange(long Offset, int Length); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 15565e7..1df9bd3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -23,8 +23,8 @@ public sealed class OrcReader private readonly OrcReaderConfiguration _configuration; private readonly IByteRangeProvider _byteRangeProvider; private readonly SpanFileTail _fileTail; - private readonly Dictionary> _stripeStreams = new(); - private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly Dictionary> _stripeStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); private readonly Dictionary _protoColumns = new(); private readonly CompressionKind _compressionKind; @@ -52,6 +52,8 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; } + public int NumValues { get; set; } + public OrcColumn GetColumn(int columnId, string min = null, string max = null) { if (columnId == 0 || columnId >= _protoColumns.Count) @@ -161,13 +163,13 @@ public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column) { - var rowIndex = GetRowGroupIndex(column.Id, stripeId); + var rowIndex = GetColumnRowIndex(column.Id, stripeId); return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); } public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column) { - var rowIndex = GetRowGroupIndex(column.Id, stripeId); + var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { @@ -178,18 +180,21 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) { - var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); - var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; + var rowIndex = GetColumnRowIndex(columnBuffer.Column.Id, stripeId); + var columnStreams = GetColumnDataStreams(stripeId, columnBuffer.Column, rowIndex, rowEntryIndexId); - await columnBuffer.LoadDataAsync(stripeId, columnStreams, rowIndexEntry); + await columnBuffer.LoadDataAsync(stripeId, columnStreams); } - public void Parse(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + public void Fill(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) { if (discardPreviousData) columnBuffer.Reset(); - columnBuffer.Parse(); + columnBuffer.Fill(); + + if (NumValues == 0 || NumValues > columnBuffer.Values.Length) + NumValues = columnBuffer.Values.Length; } public ColumnStatistics GetFileColumnStatistics(int columnId) @@ -198,7 +203,7 @@ public ColumnStatistics GetFileColumnStatistics(int columnId) public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - public RowIndex GetRowGroupIndex(int columnId, int stripeId) + public RowIndex GetColumnRowIndex(int columnId, int stripeId) { var key = (columnId, stripeId); @@ -226,14 +231,13 @@ private SpanFileTail ReadFileTail() int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; while (true) { - var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + var fileTailBufferRaw = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - //Console.WriteLine($"GetRangeFromEnd: {bufferSpan.Length}/{lengthToReadFromEnd}"); + _byteRangeProvider.GetRangeFromEnd(fileTailBuffer, lengthToReadFromEnd); - _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(buffer); + var success = SpanFileTail.TryRead(fileTailBuffer, out var fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(fileTailBufferRaw); if (success) return fileTail; @@ -242,7 +246,7 @@ private SpanFileTail ReadFileTail() } } - private IEnumerable GetStripeStreams(int stripeId) + private IEnumerable GetStripeStreams(int stripeId) { if (!_stripeStreams.ContainsKey(stripeId)) { @@ -265,17 +269,229 @@ private IEnumerable GetStripeStreams(int stripeId) return _stripeStreams[stripeId]; } - private IEnumerable GetColumnStreams(int columnId, int stripeId) + private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { - var key = (columnId, stripeId); - - return _columnStreams.GetOrAdd(key, key => + var key = (column.Id, stripeId); + var rowIndexEntry = rowIndex.Entry[rowEntryIndex]; + var columnStreams = _columnStreams.GetOrAdd(key, key => { var stripeStreams = GetStripeStreams(stripeId); return stripeStreams.Where(s => - s.ColumnId == columnId + s.ColumnId == column.Id + && s.StreamKind != StreamKind.RowIndex ).ToList(); }); + + var result = new ColumnDataStreams(); + + var present = columnStreams.SingleOrDefault(s => s.StreamKind == StreamKind.Present); + if (present != null) + { + result.Present = present with + { + Positions = GetPresentStreamPositions(present, rowIndexEntry), + Range = CalculatePresentRange(present, column, rowIndex, rowEntryIndex) + }; + } + + foreach (var stream in columnStreams) + { + if (stream.StreamKind == StreamKind.Present) + continue; + + result.EncodingKind = stream.EncodingKind; + + switch (stream.StreamKind) + { + case StreamKind.Data: + result.Data = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + case StreamKind.DictionaryData: + result.DictionaryData = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + case StreamKind.Length: + result.Length = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + case StreamKind.Secondary: + result.Secondary = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + default: + throw new InvalidOperationException($"Stream kind {stream.StreamKind} is not supported."); + } + } + + return result; + } + + private StreamPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + { + if (presentStream == null) + return new(); + + return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); + } + + private StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndexEntry rowIndexEntry) + { + var positionStep = presentStream == null ? 0 : 4; + + ulong rowGroupOffset = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 0], + + _ => throw new NotImplementedException() + }; + + ulong rowEntryOffset = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 1], + + _ => throw new NotImplementedException() + }; + + ulong valuesToSkip = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 5], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 2], + + _ => throw new NotImplementedException() + }; + + ulong remainingBits = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 3], + _ => 0 + }; + + return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); + } + + private StreamRange CalculatePresentRange(StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + { + var rangeLength = 0; + var currentEntry = rowIndex.Entry[rowEntryIndex]; + var currentPositions = GetPresentStreamPositions(presentStream, currentEntry); + + // Change in the current position marks the start of another entry. + for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) + { + var nextOffset = GetPresentStreamPositions(presentStream, rowIndex.Entry[idx]); + + if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) + { + // Calculate the range length, adding possible bytes that might have been included into the next compressed chunk. + rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; + break; + } + } + + if (rangeLength == 0) + rangeLength = presentStream.Length - currentPositions.RowGroupOffset; + + return new(presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + } + + private StreamRange CalculateDataRange(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + { + var rangeLength = 0; + var currentEntry = rowIndex.Entry[rowEntryIndex]; + var currentPositions = GetRequiredStreamPositions(presentStream, targetedStream, column, currentEntry); + + // Change in the current position marks the start of another entry. + for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) + { + var nextOffset = GetRequiredStreamPositions(presentStream, targetedStream, column, rowIndex.Entry[idx]); + + if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) + { + // Calculate the range length, adding possible bytes that might have been included into the next compressed chunk. + rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; + break; + } + } + + if (rangeLength == 0) + rangeLength = targetedStream.Length - currentPositions.RowGroupOffset; + + return new(targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } } } \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 623bf2b..1748178 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -97,19 +97,19 @@ await Task.WhenAll( //reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); - reader.Parse(sourceColumnBuffer); - reader.Parse(symbolColumnBuffer); - reader.Parse(timeColumnBuffer); - reader.Parse(sizeColumnBuffer); - //reader.Parse(dateColumnBuffer); - //reader.Parse(doubleColumnBuffer); - //reader.Parse(floatColumnBuffer); - //reader.Parse(timeStampColumnBuffer); - //reader.Parse(binaryColumnBuffer); - //reader.Parse(byteColumnBuffer); - //reader.Parse(booleanColumnBuffer); + reader.Fill(sourceColumnBuffer); + reader.Fill(symbolColumnBuffer); + reader.Fill(timeColumnBuffer); + reader.Fill(sizeColumnBuffer); + //reader.Fill(dateColumnBuffer); + //reader.Fill(doubleColumnBuffer); + //reader.Fill(floatColumnBuffer); + //reader.Fill(timeStampColumnBuffer); + //reader.Fill(binaryColumnBuffer); + //reader.Fill(byteColumnBuffer); + //reader.Fill(booleanColumnBuffer); - for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) + for (int idx = 0; idx < reader.NumValues; idx++) { var source = sourceColumnBuffer.Values[idx]; var symbol = symbolColumnBuffer.Values[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index c6b367b..745dd14 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -42,6 +42,10 @@ static async Task Main(string[] args) Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); Console.WriteLine(@" dotnet run --uri https://s3.amazonaws.com/some/path/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); Console.WriteLine(); + Console.WriteLine(@" You can use files under ApacheOrcDotNet.OptimizedReader.Test/Data to test the readers:"); + Console.WriteLine(@" - optimized_reader_test_file.orc"); + Console.WriteLine(@" - optimized_reader_test_file_no_nulls.orc"); + Console.WriteLine(); Environment.Exit(-1); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index 5e7e46b..eaab7e6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -14,7 +14,7 @@ public void Binary_Column_10k_Values() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Binary_Column_1_Value() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index d4843f0..2d4c68b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -13,7 +13,7 @@ public void Boolean_Column_10k_Values() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Boolean_Column_1_Value() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 7fa6a86..992b8b1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -13,7 +13,7 @@ public void Byte_Column_10k_Values() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Byte_Column_1_Value() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 1641c6a..b5bd2af 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -14,7 +14,7 @@ public void Date_Column_10k_Values() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Date_Column_1_Value() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 0e3340a..27b89dd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void DecimalAsDouble_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void DecimalAsDouble_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index f226525..b2f0e1f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -13,7 +13,7 @@ public void Decimal_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Decimal_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index a2fe8d7..3310555 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void Double_Column_10k_Values() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Double_Column_1_Value() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index 1bb13ca..de2028b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -13,7 +13,7 @@ public void Float_Column_10k_Values() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Float_Column_1_Value() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 0524425..4c52779 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -13,7 +13,7 @@ public void Integer_Column_10k_Values() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var buffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, buffer).Wait(); - reader.Parse(buffer); + reader.Fill(buffer); Assert.Equal(1, buffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index 19354ae..8fe5068 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -13,7 +13,7 @@ public void String_DirectV2_Column_10k_Values() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void String_DirectV2_Column_1_Value() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); @@ -57,7 +57,7 @@ public void String_DictionaryV2_Column_10k_Values() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -79,7 +79,7 @@ public void String_DictionaryV2_Column_1_Value() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index d2ce52b..a2f764b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -14,7 +14,7 @@ public void Timestamp_Column_10k_Values() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Timestamp_Column_1_Value() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index 0291e2a..f83d57b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -14,7 +14,7 @@ public void Binary_Column_10k_Values() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Binary_Column_1_Value() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index e83c86c..5d3a128 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -13,7 +13,7 @@ public void Boolean_Column_10k_Values() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Boolean_Column_1_Value() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 20eca9c..1863b92 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -13,7 +13,7 @@ public void Byte_Column_10k_Values() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Byte_Column_1_Value() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index 99a8769..7fb2aa7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -14,7 +14,7 @@ public void Date_Column_10k_Values() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Date_Column_1_Value() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index bb5886a..8fe31d6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void DecimalAsDouble_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void DecimalAsDouble_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index c404dd7..231a5b7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -13,7 +13,7 @@ public void Decimal_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Decimal_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index bf5273e..87a6dd9 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void Double_Column_10k_Values() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Double_Column_1_Value() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index 7161c84..cade1e1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -13,7 +13,7 @@ public void Float_Column_10k_Values() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Float_Column_1_Value() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 6529728..9e488fa 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -13,7 +13,7 @@ public void Integer_Column_10k_Values() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index 445c269..1aad914 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -13,7 +13,7 @@ public void String_DirectV2_Column_10k_Values() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void String_DirectV2_Column_1_Value() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); @@ -57,7 +57,7 @@ public void String_DictionaryV2_Column_10k_Values() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -79,7 +79,7 @@ public void String_DictionaryV2_Column_1_Value() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index a7c0a25..48207b9 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -14,7 +14,7 @@ public void Timestamp_Column_10k_Values() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Timestamp_Column_1_Value() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index ec26433..db8d4ed 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -83,7 +83,7 @@ public void StripeColumnStatistics() public void RowGroupStatistics() { var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var rowGroupEntry = reader.GetRowGroupIndex(columnId: 1, stripeId: 0).Entry[0]; + var rowGroupEntry = reader.GetColumnRowIndex(columnId: 1, stripeId: 0).Entry[0]; Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Minimum); Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Maximum); Assert.Equal(0ul, rowGroupEntry.Positions[0]); From 9cbc33c42add0ed868f940abb667a7b38e4c80cd Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 15:43:19 -0300 Subject: [PATCH 038/143] Add simple byte range requests caching. --- .../Buffers/BaseColumnBuffer.cs | 17 +++++++++++++---- .../Buffers/StringColumnBuffer.cs | 6 ------ .../Infrastructure/StreamRange.cs | 2 +- .../OrcReader.cs | 18 +++++++++--------- 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 2dc54fa..4ffc4b2 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -29,6 +29,9 @@ public abstract class BaseColumnBuffer private protected int _numValuesRead; + private StreamRange _lastRange; + private int _lastRangeLength; + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; @@ -194,12 +197,18 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan private protected async Task GetByteRangeAsync(StreamDetail stream, Memory output) { - var rangeLength = 0; - if (stream != null) - rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + { + // If last range matches, the previous data will already be buffered. + // We can return only the length without requesting the same bytes. + + if (stream.Range != _lastRange) + _lastRangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + + _lastRange = stream.Range; + } - return rangeLength; + return _lastRangeLength; } private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, Span decompressedOutput, ref int decompressedLength) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 1190753..0651e62 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -115,9 +115,6 @@ private void ReadDirectV2() } else _values[_numValuesRead++] = null; - - if (_numValuesRead >= _values.Length) - break; } } else @@ -127,9 +124,6 @@ private void ReadDirectV2() var length = (int)_lengthStreamValues[idx]; _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; - - if (_numValuesRead >= _values.Length) - break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs index 1183147..437f12e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs @@ -1,4 +1,4 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamRange(long Offset, int Length); + public record StreamRange(int stripeId, long Offset, int Length); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 1df9bd3..5e062f0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -290,7 +290,7 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.Present = present with { Positions = GetPresentStreamPositions(present, rowIndexEntry), - Range = CalculatePresentRange(present, column, rowIndex, rowEntryIndex) + Range = CalculatePresentRange(stripeId, present, column, rowIndex, rowEntryIndex) }; } @@ -307,28 +307,28 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.Data = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; case StreamKind.DictionaryData: result.DictionaryData = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; case StreamKind.Length: result.Length = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; case StreamKind.Secondary: result.Secondary = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; default: @@ -444,7 +444,7 @@ private StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, S return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private StreamRange CalculatePresentRange(StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { var rangeLength = 0; var currentEntry = rowIndex.Entry[rowEntryIndex]; @@ -466,10 +466,10 @@ private StreamRange CalculatePresentRange(StreamDetail presentStream, OrcColumn if (rangeLength == 0) rangeLength = presentStream.Length - currentPositions.RowGroupOffset; - return new(presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + return new(stripeId, presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } - private StreamRange CalculateDataRange(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { var rangeLength = 0; var currentEntry = rowIndex.Entry[rowEntryIndex]; @@ -491,7 +491,7 @@ private StreamRange CalculateDataRange(StreamDetail presentStream, StreamDetail if (rangeLength == 0) rangeLength = targetedStream.Length - currentPositions.RowGroupOffset; - return new(targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + return new(stripeId, targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } } } \ No newline at end of file From 802b7fbfb6fb8c455d0fe19626a96ecdbd47f9d2 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 18:26:53 -0300 Subject: [PATCH 039/143] Add filter unit tests Move min/max filter out of column record. --- .../Infrastructure/StatsExtensions.cs | 15 ++-- .../OrcColumn.cs | 3 - .../OrcReader.cs | 32 ++++----- .../OptimizedORCApp.cs | 18 ++--- .../ColumnTypes/WithNulls/_Filter_Test.cs | 68 +++++++++++++++++++ .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 68 +++++++++++++++++++ 6 files changed, 166 insertions(+), 38 deletions(-) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index a05eb2a..24ee69a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -1,17 +1,18 @@ using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using System; +using System.Globalization; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class StatsExtensions { - public static bool InRange(this ColumnStatistics stats, OrcColumn column) + public static bool InRange(this ColumnStatistics stats, OrcColumn column, string min, string max) { - if (string.IsNullOrEmpty(column.Min) && string.IsNullOrEmpty(column.Max)) + if (string.IsNullOrEmpty(min) && string.IsNullOrEmpty(max)) throw new InvalidOperationException($"Invalid lookup parameters for column '{column.Name}'."); - return stats.InRange(column.Type, column.Min, column.Max); + return stats.InRange(column.Type, min, max); } public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) @@ -45,9 +46,9 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp var minVal = decimal.Parse(min); var maxVal = decimal.Parse(max); //TODO it would be better to do a numeric string comparison in the future - if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMinVal)) + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMinVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); - if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMaxVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); return stats.InRangeDecimal(minVal, maxVal); } @@ -78,9 +79,9 @@ public static bool InRangeString(this ColumnStatistics stats, string min, string public static bool InRangeDecimal(this ColumnStatistics stats, decimal min, decimal max) { - if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMin)) + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMin)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); - if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMax)) + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMax)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); return min <= statsMax && max >= statsMin; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index f3e00a1..cfec0fe 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -16,9 +16,6 @@ public OrcColumn(int id, string name, ColumnTypeKind type) public string Name { get; } public ColumnTypeKind Type { get; } - public string Min { get; init; } - public string Max { get; init; } - public override bool Equals(object obj) { if (obj is OrcColumn) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 5e062f0..5028c42 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -54,28 +54,22 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa public int NumValues { get; set; } - public OrcColumn GetColumn(int columnId, string min = null, string max = null) + public OrcColumn GetColumn(int columnId) { if (columnId == 0 || columnId >= _protoColumns.Count) throw new InvalidOperationException($"The column Id '{columnId}' is invalid."); var columnPair = _protoColumns.ElementAt(columnId - 1); - return GetColumn(columnPair.Value.Name, min, max); + return GetColumn(columnPair.Value.Name); } - public OrcColumn GetColumn(string columnName, string min = null, string max = null) + public OrcColumn GetColumn(string columnName) { if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) throw new InvalidOperationException($"The column name '{columnName}' is invalid."); - var orcColumn = new OrcColumn(column.Id, column.Name, column.Type) - { - Min = min, - Max = max - }; - - return orcColumn; + return new OrcColumn(column.Id, column.Name, column.Type); } public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) @@ -144,37 +138,37 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) return new TimestampColumnBuffer(_byteRangeProvider, context, column); } - public IEnumerable GetStripeIds(OrcColumn column) - => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); + public IEnumerable GetStripeIds(OrcColumn column, string min, string max) + => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, min, max); - public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column) + public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column, string min, string max) { var columnStats = GetFileColumnStatistics(column.Id); - if (!columnStats.InRange(column.Type, column.Min, column.Max)) + if (!columnStats.InRange(column.Type, min, max)) return Enumerable.Empty(); return lookupStripeIds.Where(stripeId => { var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); - return stripeColumnStats.InRange(column); + return stripeColumnStats.InRange(column, min, max); }); } - public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column) + public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column, string min, string max) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); - return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); + return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, min, max); } - public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column) + public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column, string min, string max) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column); + return rowIndexEntry.Statistics.InRange(column, min, max); }); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 1748178..275f257 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -45,9 +45,9 @@ public async Task Run() var endTime = (decimal)_configuration.EndTime.TotalSeconds; // Columns - var sourceColumn = reader.GetColumn("source", lookupSource, lookupSource); - var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); - var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); var sizeColumn = reader.GetColumn("size"); //var dateColumn = reader.GetColumn("date"); //var doubleColumn = reader.GetColumn("double"); @@ -71,15 +71,15 @@ public async Task Run() //var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - var stripeIds = reader.GetStripeIds(sourceColumn); - stripeIds = reader.GetStripeIds(stripeIds, symbolColumn); - stripeIds = reader.GetStripeIds(stripeIds, timeColumn); + var stripeIds = reader.GetStripeIds(sourceColumn, lookupSource, lookupSource); + stripeIds = reader.GetStripeIds(stripeIds, symbolColumn, lookupSymbol, lookupSymbol); + stripeIds = reader.GetStripeIds(stripeIds, timeColumn, $"{beginTime}", $"{endTime}"); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn); + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn, lookupSource, lookupSource); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn, lookupSymbol, lookupSymbol); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn, $"{beginTime}", $"{endTime}"); foreach (var rowEntryIndex in rowGroupIndexes) { diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs new file mode 100644 index 0000000..f635184 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -0,0 +1,68 @@ +using System; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls +{ + public class _Filter_Test : _BaseColumnTypeWithNulls + { + [Fact] + public void Filter_Single_RowEntry() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "970", "973"); + + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "970", "973"); + + Assert.Single(rowGroupIndexes); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + } + + [Fact] + public void Filter_Multiple_RowEntries() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var beginTime1 = (decimal)(new TimeSpan(09, 43, 20)).TotalSeconds; + var endTime1 = (decimal)(new TimeSpan(09, 43, 21)).TotalSeconds; + + var beginTime2 = (decimal)(new TimeSpan(10, 43, 20)).TotalSeconds; + var endTime2 = (decimal)(new TimeSpan(10, 43, 21)).TotalSeconds; + + // Columns + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "SPY", "SPY"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "SPY", "SPY"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Equal(2, rowGroupIndexes.Count()); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 1); + + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(rowGroupIndexes); + + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(filteredStripeIds); + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs new file mode 100644 index 0000000..1221783 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -0,0 +1,68 @@ +using System; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class _Filter_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Filter_Single_RowEntry() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "970", "973"); + + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "970", "973"); + + Assert.Single(rowGroupIndexes); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + } + + [Fact] + public void Filter_Multiple_RowEntries() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var beginTime1 = (decimal)(new TimeSpan(09, 43, 20)).TotalSeconds; + var endTime1 = (decimal)(new TimeSpan(09, 43, 21)).TotalSeconds; + + var beginTime2 = (decimal)(new TimeSpan(10, 43, 20)).TotalSeconds; + var endTime2 = (decimal)(new TimeSpan(10, 43, 21)).TotalSeconds; + + // Columns + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "SPY", "SPY"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "SPY", "SPY"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Equal(2, rowGroupIndexes.Count()); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 1); + + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(rowGroupIndexes); + + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(filteredStripeIds); + } + } +} From 313fb3577a8b8ba11f323537e65f981faa1827a1 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 18:31:18 -0300 Subject: [PATCH 040/143] Enable all test columns. --- .../OptimizedORCApp.cs | 89 ++++++++++--------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 275f257..752c782 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; +using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -49,26 +50,26 @@ public async Task Run() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); var sizeColumn = reader.GetColumn("size"); - //var dateColumn = reader.GetColumn("date"); - //var doubleColumn = reader.GetColumn("double"); - //var floatColumn = reader.GetColumn("float"); - //var timeStampColumn = reader.GetColumn("timeStamp"); - //var binaryColumn = reader.GetColumn("binary"); - //var byteColumn = reader.GetColumn("byte"); - //var booleanColumn = reader.GetColumn("boolean"); + var dateColumn = reader.GetColumn("date"); + var doubleColumn = reader.GetColumn("double"); + var floatColumn = reader.GetColumn("float"); + var timeStampColumn = reader.GetColumn("timeStamp"); + var binaryColumn = reader.GetColumn("binary"); + var byteColumn = reader.GetColumn("byte"); + var booleanColumn = reader.GetColumn("boolean"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); - //var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn, lookupSource, lookupSource); @@ -87,27 +88,27 @@ await Task.WhenAll( reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer) - //reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) + reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); reader.Fill(sourceColumnBuffer); reader.Fill(symbolColumnBuffer); reader.Fill(timeColumnBuffer); reader.Fill(sizeColumnBuffer); - //reader.Fill(dateColumnBuffer); - //reader.Fill(doubleColumnBuffer); - //reader.Fill(floatColumnBuffer); - //reader.Fill(timeStampColumnBuffer); - //reader.Fill(binaryColumnBuffer); - //reader.Fill(byteColumnBuffer); - //reader.Fill(booleanColumnBuffer); + reader.Fill(dateColumnBuffer); + reader.Fill(doubleColumnBuffer); + reader.Fill(floatColumnBuffer); + reader.Fill(timeStampColumnBuffer); + reader.Fill(binaryColumnBuffer); + reader.Fill(byteColumnBuffer); + reader.Fill(booleanColumnBuffer); for (int idx = 0; idx < reader.NumValues; idx++) { @@ -115,13 +116,13 @@ await Task.WhenAll( var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - //var date = dateColumnBuffer.Values[idx]; - //var dobl = doubleColumnBuffer.Values[idx]; - //var sing = floatColumnBuffer.Values[idx]; - //var timeStamp = timeStampColumnBuffer.Values[idx]; - //var binary = binaryColumnBuffer.Values[idx]; - //var tinyInt = byteColumnBuffer.Values[idx]; - //var boolean = booleanColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; + var boolean = booleanColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { @@ -130,14 +131,14 @@ await Task.WhenAll( $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + $"{size}" + - //$" " + - //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - //$"{dobl}," + - //$"{sing}," + - //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - //$"{tinyInt}," + - //$"{boolean}" + + $" " + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + $"{dobl}," + + $"{sing}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}," + + $"{boolean}" + $"" ); } From f1199a9fb40f155f4cb594c3a6d9bec98dbaf6a9 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 18:54:34 -0300 Subject: [PATCH 041/143] Parse unit test decimals using invariant culture. --- .../OrcReader_Test.cs | 9 +++++---- .../ColumnTypes/DecimalReader_Test.cs | 8 +++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 7d9b326..d17cfe1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.Protocol; using System; +using System.Globalization; using System.Linq; using Xunit; @@ -49,8 +50,8 @@ public void FileColumnStatistics() Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); - Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); - Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); + Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum, CultureInfo.InvariantCulture)); + Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum, CultureInfo.InvariantCulture)); } [Fact] @@ -63,8 +64,8 @@ public void StripeColumnStatistics() Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); - Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum)); - Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum)); + Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum, CultureInfo.InvariantCulture)); + Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum, CultureInfo.InvariantCulture)); } [Fact] diff --git a/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs b/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs index 889c4c2..46da49b 100644 --- a/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs +++ b/test/ApacheOrcDotNet.Test/ColumnTypes/DecimalReader_Test.cs @@ -1,10 +1,8 @@ using ApacheOrcDotNet.ColumnTypes; using ApacheOrcDotNet.Stripes; using ApacheOrcDotNet.Test.TestHelpers; -using System; -using System.Collections.Generic; +using System.Globalization; using System.Linq; -using System.Threading.Tasks; using Xunit; namespace ApacheOrcDotNet.Test.ColumnTypes @@ -36,7 +34,7 @@ public void ReadColumn1_ShouldProduceExpectedResults() { var decimalPortion= 5 + i; var wholePortion = -1000 + i; - expected = decimal.Parse($"{wholePortion}.{decimalPortion}"); + expected = decimal.Parse($"{wholePortion}.{decimalPortion}", CultureInfo.InvariantCulture); } else if(i<4000) { @@ -46,7 +44,7 @@ public void ReadColumn1_ShouldProduceExpectedResults() { var decimalPortion = (i - 4000) + 1; var wholePortion = (i - 4000); - expected = decimal.Parse($"{wholePortion}.{decimalPortion}"); + expected = decimal.Parse($"{wholePortion}.{decimalPortion}", CultureInfo.InvariantCulture); } Assert.Equal(expected, results[i]); } From 67e7cb33dc7a3001c0e3bb58f7443f27b551d155 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 4 Apr 2022 18:10:35 -0300 Subject: [PATCH 042/143] Add initial integer RLE V2 optimized reader infrastructure. Add initial test app. --- ApacheOrcDotNet.sln | 11 +- .../SpanIntegerRunLengthEncodingV2.cs | 183 +++++++++++++++++- .../FileByteRangeProvider.cs | 6 +- ...heOrcDotNet.OptimizedReaderTest.App.csproj | 23 +++ .../OptimizedORCApp.cs | 34 ++++ .../Program.cs | 72 +++++++ .../Encodings/BitManipulation.cs | 70 ++++++- .../OrcReader_Test.cs | 59 +++++- 8 files changed, 444 insertions(+), 14 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs diff --git a/ApacheOrcDotNet.sln b/ApacheOrcDotNet.sln index e7ca668..11593e9 100644 --- a/ApacheOrcDotNet.sln +++ b/ApacheOrcDotNet.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31129.286 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32319.34 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{58463841-CD45-4229-9E70-A0B74E70ADD7}" ProjectSection(SolutionItems) = preProject @@ -33,6 +33,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedRe EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReader.Test", "test\ApacheOrcDotNet.OptimizedReader.Test\ApacheOrcDotNet.OptimizedReader.Test.csproj", "{AE3C0606-2210-40ED-AE93-67DBD06461BE}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApacheOrcDotNet.OptimizedReaderTest.App", "src\ApacheOrcDotNet.OptimizedReaderTest.App\ApacheOrcDotNet.OptimizedReaderTest.App.csproj", "{E8C6F47D-51EE-4488-AF63-2898C01A6515}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -63,6 +65,10 @@ Global {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE3C0606-2210-40ED-AE93-67DBD06461BE}.Release|Any CPU.Build.0 = Release|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -74,6 +80,7 @@ Global {F3C9D56A-913A-453D-9C42-B9F467748413} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {AE3C0606-2210-40ED-AE93-67DBD06461BE} = {40D373E1-A120-41E0-9D3D-1BACC719BB38} + {E8C6F47D-51EE-4488-AF63-2898C01A6515} = {58463841-CD45-4229-9E70-A0B74E70ADD7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BAAC5D9A-83A0-432F-9987-90C49734F761} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs index 01f55ae..d81ff91 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs @@ -1,5 +1,6 @@ -using System; -using System.Buffers; +using ApacheOrcDotNet.Encodings; +using System; +using System.IO; namespace ApacheOrcDotNet.OptimizedReader.Encodings { @@ -7,9 +8,183 @@ public static class SpanIntegerRunLengthEncodingV2 { enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } - public static int ReadValues(ReadOnlySequence input, Position position, bool isSigned, Span values) + public static int ReadValues(ReadOnlySpan input, Position position, bool isSigned, Span values) { - throw new NotImplementedException(); + int numValues = 0; + int firstByte = input[0]; + + if (firstByte < 0) + return 0; + + var encodingType = (EncodingType)((firstByte >> 6) & 0x3); + switch (encodingType) + { + case EncodingType.ShortRepeat: + numValues += ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values); + break; + case EncodingType.Direct: + numValues += ReadDirectValues(firstByte, isSigned, input.Slice(1), values); + break; + case EncodingType.PatchedBase: + numValues += ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values); + break; + case EncodingType.Delta: + numValues += ReadDeltaValues(firstByte, isSigned, input.Slice(1), values); + break; + } + + return numValues; + } + + private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var width = ((firstByte >> 3) & 0x7) + 1; + var repeatCount = (firstByte & 0x7) + 3; + var value = input.ReadLongBE(width); + + if (isSigned) + value = value.ZigzagDecode(); + + for (int i = 0; i < repeatCount; i++) + values[i] = value; + + return repeatCount; + } + + private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var offset = 0; + var encodedWidth = (firstByte >> 1) & 0x1f; + var width = encodedWidth.DecodeDirectWidth(); + int length = (firstByte & 0x1) << 8; + + length |= input[offset++]; + length += 1; + + return input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); + } + + private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var offset = 0; + var encodedWidth = (firstByte >> 1) & 0x1f; + var width = encodedWidth.DecodeDirectWidth(); + int length = (firstByte & 0x1) << 8; + length |= input[offset++]; + length += 1; + + var thirdByte = input[offset++]; + var baseValueWidth = ((thirdByte >> 5) & 0x7) + 1; + var encodedPatchWidth = thirdByte & 0x1f; + var patchWidth = encodedPatchWidth.DecodeDirectWidth(); + + var fourthByte = input[offset++]; + var patchGapWidth = ((fourthByte >> 5) & 0x7) + 1; + var patchListLength = fourthByte & 0x1f; + + long baseValue = input.Slice(offset).ReadLongBE(baseValueWidth); + long msbMask = (1L << ((baseValueWidth * 8) - 1)); + if ((baseValue & msbMask) != 0) + { + baseValue = baseValue & ~msbMask; + baseValue = -baseValue; + } + + //Buffer all the values so we can patch them + offset += baseValueWidth; + Span dataValues = stackalloc long[length]; + var numDataValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, dataValues); + + if (patchGapWidth + patchWidth > 64) + throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); + + offset += numDataValues; + Span patchListValues = stackalloc long[patchListLength]; + var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); + var numPatchListValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); + + int patchIndex = 0; + long gap = 0; + long patch; + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + + for (int i = 0; i < length; i++) + { + if (i == gap) + { + var patchedValue = dataValues[i] | (patch << width); + values[i] = baseValue + patchedValue; + + if (patchIndex < patchListLength) + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + } + else + values[i] = baseValue + dataValues[i]; + } + + return length; + } + + private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) + { + var offset = 0; + var valueIndex = 0; + var encodedWidth = (firstByte >> 1) & 0x1f; + int width = 0; + if (encodedWidth != 0) //EncodedWidth 0 means Width 0 for Delta + width = encodedWidth.DecodeDirectWidth(); + int length = (firstByte & 0x1) << 8; + length |= input[offset++]; + //Delta lengths start at 0 + + if (isSigned) + values[valueIndex++] = input.ReadVarIntSigned(ref offset); + else + values[valueIndex++] = input.ReadVarIntUnsigned(ref offset); + + var deltaBase = input.ReadVarIntSigned(ref offset); + if (width == 0) + { + //Uses a fixed delta base for every value + for (int i = 0; i < length; i++) + { + values[valueIndex++] = values[valueIndex - 2] + deltaBase; + } + } + else + { + values[valueIndex++] = values[valueIndex - 2] + deltaBase; + + Span deltaValues = stackalloc long[length - 1]; + var numDeltaValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); + + for (int index = 0; index < numDeltaValues; index++) + { + if (deltaBase > 0) + values[valueIndex++] = values[valueIndex - 2] + deltaValues[index]; + else + values[valueIndex++] = values[valueIndex - 2] - deltaValues[index]; + } + } + + return length; + } + + private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) + { + var raw = patchListValues[patchIndex]; + patchIndex++; + long curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + while (curGap == 255 && patch == 0) + { + gap += 255; + raw = patchListValues[patchIndex]; + patchIndex++; + curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + } + gap += curGap; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs index 8cc58bb..a083ae3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs @@ -1,9 +1,5 @@ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -29,7 +25,7 @@ public void GetRange(Span buffer, int position) public void GetRangeFromEnd(Span buffer, int positionFromEnd) { - _stream.Seek(positionFromEnd, SeekOrigin.End); + _stream.Seek(-positionFromEnd, SeekOrigin.End); DoRead(buffer); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj new file mode 100644 index 0000000..643b745 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ApacheOrcDotNet.OptimizedReaderTest.App.csproj @@ -0,0 +1,23 @@ + + + + net5.0 + Exe + false + + + + + + + + + + + + + + + + + diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs new file mode 100644 index 0000000..7622554 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -0,0 +1,34 @@ +using ApacheOrcDotNet.OptimizedReader; +using System; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class OptimizedORCAppConfituration + { + public DateTime Date { get; set; } + public string Source { get; set; } + public string Symbol { get; set; } + public TimeSpan BeginTime { get; set; } + public TimeSpan EndTime { get; set; } + } + + public class OptimizedORCApp + { + private readonly OptimizedORCAppConfituration _confituration; + private readonly IByteRangeProviderFactory _byteRangeProviderFactory; + + public OptimizedORCApp(OptimizedORCAppConfituration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + { + _confituration = confituration; + _byteRangeProviderFactory = byteRangeProviderFactory; + } + + public void Run() + { + var byteRangeProvider = _byteRangeProviderFactory.Create(_confituration.Source); + var optimizedOrcReader = new OptimizedReader.OrcReader(new OrcReaderConfiguration(), byteRangeProvider); + + var rowGroupIndex = optimizedOrcReader.ReadRowGroupIndex(columnId: 0, stripeId: 0); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs new file mode 100644 index 0000000..ffa62f6 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -0,0 +1,72 @@ +using ApacheOrcDotNet.OptimizedReader; +using Microsoft.Extensions.Configuration; +using System; +using System.Diagnostics; +using System.Globalization; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + internal class Program + { + static void Main(string[] args) + { + var cultureInfo = CultureInfo.GetCultureInfo("en-US"); + + CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; + CultureInfo.DefaultThreadCurrentCulture = cultureInfo; + + var config = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: true) + .AddEnvironmentVariables("apacheorc_app_") + .AddCommandLine(args) + .Build() + ; + + var date = config.GetValue("date", DateTime.Now.ToString("d")); + var source = config.GetValue("source", string.Empty); + var symbol = config.GetValue("symbol", string.Empty); + var beginTime = config.GetValue("beginTime", "00:00:00"); + var endTime = config.GetValue("endTime", "23:45:00"); + + var isValidDate = DateTime.TryParse(date, out var parsedDate); + var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); + var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); + + if (!isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + { + Console.WriteLine("Usage: --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Environment.Exit(-1); + } + + Console.WriteLine("Running.. CTRL+C to exit."); + Console.WriteLine(); + Console.WriteLine($"Pid: {Environment.ProcessId}"); + Console.WriteLine($"date: '{date}'"); + Console.WriteLine($"source: '{source}'"); + Console.WriteLine($"symbol: '{symbol}'"); + Console.WriteLine($"beginTime: '{beginTime}'"); + Console.WriteLine($"endTime: '{endTime}'"); + + var configs = new OptimizedORCAppConfituration + { + Date = parsedDate, + Source = source, + Symbol = symbol, + BeginTime = parsedBeginTime, + EndTime = parsedEndTime + }; + + var fileByteRangeProviderFactory = new FileByteRangeProviderFactory(); + var optimizedORCApp = new OptimizedORCApp(configs, fileByteRangeProviderFactory); + var stopWatch = new Stopwatch(); + + stopWatch.Start(); + optimizedORCApp.Run(); + stopWatch.Stop(); + + Console.WriteLine(); + Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); + Console.WriteLine(); + } + } +} diff --git a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs index 3fc9d02..39cdf33 100644 --- a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs +++ b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs @@ -3,11 +3,10 @@ using System.IO; using System.Linq; using System.Numerics; -using System.Threading.Tasks; namespace ApacheOrcDotNet.Encodings { - public static class BitManipulation + public static class BitManipulation { public static byte CheckedReadByte(this Stream stream) { @@ -28,6 +27,20 @@ public static long ReadLongBE(this Stream stream, int numBytes) return result; } + public static long ReadLongBE(this ReadOnlySpan buffer, int numBytes) + { + if (buffer.Length < numBytes) + throw new InvalidOperationException("Attempt to read past end of stream"); + + long result = 0; + for (int i = numBytes - 1; i >= 0; i--) + { + long nextByte = buffer[numBytes - i - 1]; + result |= nextByte << (i * 8); + } + return result; + } + public static float ReadFloat(this byte[] buffer, int startIndex) { return BitConverter.ToSingle(buffer, startIndex); @@ -234,6 +247,37 @@ public static IEnumerable ReadBitpackedIntegers(this Stream stream, int bi } } + public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isSigned, int bitWidth, int count, Span values) + { + byte currentByte = 0; + int bitsAvailable = 0; + int currentByteIndex = 0; + for (int i = 0; i < count; i++) + { + ulong result = 0; + int neededBits = bitWidth; + while (neededBits > bitsAvailable) + { + result <<= bitsAvailable; //Make space for incoming bits + result |= currentByte & ((1u << bitsAvailable) - 1); //OR in the bits + neededBits -= bitsAvailable; + currentByte = stream[currentByteIndex++]; + bitsAvailable = 8; + } + + if (neededBits > 0) //Left over bits + { + result <<= neededBits; + bitsAvailable -= neededBits; + result |= ((ulong)currentByte >> bitsAvailable) & ((1ul << neededBits) - 1); + } + + values[i] = isSigned ? ((long)result).ZigzagDecode() : (long)result; + } + + return count; + } + public static void WriteBitpackedIntegers(this Stream stream, IEnumerable values, int bitWidth) { byte currentByte = 0; @@ -279,6 +323,22 @@ public static long ReadVarIntUnsigned(this Stream stream) return result; } + public static long ReadVarIntUnsigned(this ReadOnlySpan buffer, ref int offset) + { + long result = 0; + long currentByte; + int bitCount = 0; + do + { + currentByte = buffer[offset++]; + result |= (currentByte & 0x7f) << bitCount; + bitCount += 7; + } + while (currentByte >= 0x80); //Done when the high bit is not set + + return result; + } + public static void WriteVarIntUnsigned(this Stream stream, long value) { while (true) @@ -304,6 +364,12 @@ public static long ReadVarIntSigned(this Stream stream) return unsigned.ZigzagDecode(); } + public static long ReadVarIntSigned(this ReadOnlySpan buffer, ref int offset) + { + var unsigned = ReadVarIntUnsigned(buffer, ref offset); + return unsigned.ZigzagDecode(); + } + public static void WriteVarIntSigned(this Stream stream, long value) { var encodedValue = value.ZigzagEncode(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index d17cfe1..0cb4341 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.Protocol; using System; using System.Globalization; using System.Linq; @@ -79,5 +80,61 @@ public void RowGroupStatistics() Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); } + + [Fact] + public void IntegerRunLengthEncoding_Read_ShortRepeat() + { + Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; + Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; + Span output = stackalloc long[5]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRunLengthEncoding_Read_Direct() + { + Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; + Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; + Span output = stackalloc long[4]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRunLengthEncoding_Read_PatchedBase() + { + Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; + Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; + Span output = stackalloc long[20]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRunLengthEncoding_Read_Delta() + { + Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; + Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; + Span output = stackalloc long[10]; + + var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); + SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + + for (int i = 0; i < expected.Length; i++) + Assert.Equal(expected[i], output[i]); + } } } From 93ea3c2265ffe0dfdc8fd948f98c805f2869a053 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Apr 2022 10:05:17 -0300 Subject: [PATCH 043/143] Fix tracking of bytes read and offsets. --- .../SpanIntegerRunLengthEncodingV2.cs | 57 +++++++------------ .../OrcReader.cs | 9 +-- .../Encodings/BitManipulation.cs | 6 +- .../OrcReader_Test.cs | 8 +-- 4 files changed, 32 insertions(+), 48 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs index d81ff91..2b5b471 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs @@ -10,30 +10,17 @@ enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } public static int ReadValues(ReadOnlySpan input, Position position, bool isSigned, Span values) { - int numValues = 0; - int firstByte = input[0]; - - if (firstByte < 0) - return 0; - + var firstByte = input[0]; var encodingType = (EncodingType)((firstByte >> 6) & 0x3); - switch (encodingType) - { - case EncodingType.ShortRepeat: - numValues += ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values); - break; - case EncodingType.Direct: - numValues += ReadDirectValues(firstByte, isSigned, input.Slice(1), values); - break; - case EncodingType.PatchedBase: - numValues += ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values); - break; - case EncodingType.Delta: - numValues += ReadDeltaValues(firstByte, isSigned, input.Slice(1), values); - break; - } - return numValues; + return encodingType switch + { + EncodingType.ShortRepeat => ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values), + EncodingType.Direct => ReadDirectValues(firstByte, isSigned, input.Slice(1), values), + EncodingType.PatchedBase => ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values), + EncodingType.Delta => ReadDeltaValues(firstByte, isSigned, input.Slice(1), values), + _ => throw new InvalidOperationException($"Invalid encoding type: {encodingType}") + }; } private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -48,7 +35,7 @@ private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlyS for (int i = 0; i < repeatCount; i++) values[i] = value; - return repeatCount; + return width; } private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -61,7 +48,9 @@ private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -89,19 +78,17 @@ private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlyS baseValue = baseValue & ~msbMask; baseValue = -baseValue; } + offset += baseValueWidth; //Buffer all the values so we can patch them - offset += baseValueWidth; - Span dataValues = stackalloc long[length]; - var numDataValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, dataValues); + offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); if (patchGapWidth + patchWidth > 64) throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); - offset += numDataValues; Span patchListValues = stackalloc long[patchListLength]; var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); - var numPatchListValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); + offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); int patchIndex = 0; long gap = 0; @@ -112,17 +99,17 @@ private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlyS { if (i == gap) { - var patchedValue = dataValues[i] | (patch << width); + var patchedValue = values[i] | (patch << width); values[i] = baseValue + patchedValue; if (patchIndex < patchListLength) GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); } else - values[i] = baseValue + dataValues[i]; + values[i] = baseValue + values[i]; } - return length; + return offset; } private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) @@ -156,9 +143,9 @@ private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan deltaValues = stackalloc long[length - 1]; - var numDeltaValues = input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); + offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); - for (int index = 0; index < numDeltaValues; index++) + for (int index = 0; index < deltaValues.Length; index++) { if (deltaBase > 0) values[valueIndex++] = values[valueIndex - 2] + deltaValues[index]; @@ -167,7 +154,7 @@ private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 5b2f550..8e83d73 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -1,13 +1,10 @@ -using ApacheOrcDotNet.Compression; -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using System; using System.Buffers; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -48,7 +45,7 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa .Select((stripe, i) => new StripeDetail(StripeId: i, RowCount: (long)stripe.NumberOfRows)) .ToList(); } - + public IEnumerable ColumnDetails { get; } public IReadOnlyCollection StripeDetails { get; } @@ -64,7 +61,7 @@ public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) { - if(!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) + if (!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) { streamDetails = ReadStripeFooter(stripeId).ToList(); _stripeStreams.Add(stripeId, streamDetails); diff --git a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs index 39cdf33..187dd91 100644 --- a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs +++ b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs @@ -249,9 +249,9 @@ public static IEnumerable ReadBitpackedIntegers(this Stream stream, int bi public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isSigned, int bitWidth, int count, Span values) { + var bytesRead = 0; byte currentByte = 0; int bitsAvailable = 0; - int currentByteIndex = 0; for (int i = 0; i < count; i++) { ulong result = 0; @@ -261,7 +261,7 @@ public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isS result <<= bitsAvailable; //Make space for incoming bits result |= currentByte & ((1u << bitsAvailable) - 1); //OR in the bits neededBits -= bitsAvailable; - currentByte = stream[currentByteIndex++]; + currentByte = stream[bytesRead++]; bitsAvailable = 8; } @@ -275,7 +275,7 @@ public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isS values[i] = isSigned ? ((long)result).ZigzagDecode() : (long)result; } - return count; + return bytesRead; } public static void WriteBitpackedIntegers(this Stream stream, IEnumerable values, int bitWidth) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 0cb4341..d875837 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -89,7 +89,7 @@ public void IntegerRunLengthEncoding_Read_ShortRepeat() Span output = stackalloc long[5]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); @@ -103,7 +103,7 @@ public void IntegerRunLengthEncoding_Read_Direct() Span output = stackalloc long[4]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); @@ -117,7 +117,7 @@ public void IntegerRunLengthEncoding_Read_PatchedBase() Span output = stackalloc long[20]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); @@ -131,7 +131,7 @@ public void IntegerRunLengthEncoding_Read_Delta() Span output = stackalloc long[10]; var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); + var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); for (int i = 0; i < expected.Length; i++) Assert.Equal(expected[i], output[i]); From 0dff32d6d5931c6b5d9cf537c24a1ba3265e1cdd Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Sun, 10 Apr 2022 11:14:33 -0300 Subject: [PATCH 044/143] Add raw optimized column readers infrastructure. --- ApacheOrcDotNet.sln | 11 +- ...nchmarks.SwitchStatements-report-github.md | 14 + ...icroBenchmarks.SwitchStatements-report.csv | 3 + ...croBenchmarks.SwitchStatements-report.html | 31 ++ perf/MicroBenchmarks/MicroBenchmarks.csproj | 12 + perf/MicroBenchmarks/Program.cs | 12 + perf/MicroBenchmarks/ReaderBenchmarks.cs | 12 + .../ApacheOrcDotNet.OptimizedReader.csproj | 1 + .../ByteRangeProviderExtensions.cs | 30 +- .../ColumTypes/OptimizedColumnReader.cs | 313 ++++++++++++++ .../ColumTypes/OptimizedDecimalReader.cs | 188 +++++++++ .../ColumTypes/OptimizedLongReader.cs | 95 +++++ .../ColumTypes/OptimizedStringReader.cs | 194 +++++++++ .../Specialized/BaseColumnReader.cs | 378 +++++++++++++++++ .../ColumTypes/Specialized/BinaryReader.cs | 85 ++++ .../ColumTypes/Specialized/BooleanReader.cs | 57 +++ .../ColumTypes/Specialized/ByteReader.cs | 57 +++ .../ColumTypes/Specialized/DateReader.cs | 59 +++ .../DecimalAsDoubleDirectV2Reader.cs | 71 ++++ .../Specialized/DecimalDirectV2Reader.cs | 71 ++++ .../ColumTypes/Specialized/DoubleReader.cs | 64 +++ .../Specialized/IntegerDirectV2Reader.cs | 57 +++ .../ColumTypes/Specialized/ReaderContext.cs | 35 ++ .../Specialized/StringDictionaryV2Reader.cs | 98 +++++ .../Specialized/StringDirectV2Reader.cs | 86 ++++ .../ColumTypes/Specialized/TimestampReader.cs | 94 +++++ .../OptimizedByteRunLengthEncodingReader.cs | 40 ++ .../OptimizedIntegerRunLengthEncodingV2.cs | 286 +++++++++++++ .../Encodings/OptimizedStrings.cs | 184 +++++++++ .../SpanIntegerRunLengthEncodingV2.cs | 177 -------- .../FileByteRangeProvider.cs | 26 +- .../IByteRangeProvider.cs | 4 +- .../DecompressingMemorySequence.cs | 14 +- .../OrcOptimizedReader.cs | 387 ++++++++++++++++++ .../OrcReader.cs | 219 ++++++++-- .../SpanRowGroupIndex.cs | 13 +- .../SpanStripeFooter.cs | 5 +- .../StatsExtensions.cs | 58 ++- .../OptimizedORCApp.cs | 61 ++- .../Program.cs | 10 +- src/ApacheOrcDotNet/ApacheOrcDotNet.csproj | 2 +- .../Encodings/BitManipulation.cs | 70 +--- src/ApacheOrcDotNet/Protocol/RowIndex.cs | 5 +- src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs | 5 +- src/Directory.Build.props | 2 +- .../OrcReader_Test.cs | 275 ++++++------- .../TestByteRangeProvider.cs | 12 +- 47 files changed, 3479 insertions(+), 504 deletions(-) create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html create mode 100644 perf/MicroBenchmarks/MicroBenchmarks.csproj create mode 100644 perf/MicroBenchmarks/Program.cs create mode 100644 perf/MicroBenchmarks/ReaderBenchmarks.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs diff --git a/ApacheOrcDotNet.sln b/ApacheOrcDotNet.sln index 11593e9..07dfd63 100644 --- a/ApacheOrcDotNet.sln +++ b/ApacheOrcDotNet.sln @@ -33,7 +33,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedRe EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReader.Test", "test\ApacheOrcDotNet.OptimizedReader.Test\ApacheOrcDotNet.OptimizedReader.Test.csproj", "{AE3C0606-2210-40ED-AE93-67DBD06461BE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApacheOrcDotNet.OptimizedReaderTest.App", "src\ApacheOrcDotNet.OptimizedReaderTest.App\ApacheOrcDotNet.OptimizedReaderTest.App.csproj", "{E8C6F47D-51EE-4488-AF63-2898C01A6515}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApacheOrcDotNet.OptimizedReaderTest.App", "src\ApacheOrcDotNet.OptimizedReaderTest.App\ApacheOrcDotNet.OptimizedReaderTest.App.csproj", "{E8C6F47D-51EE-4488-AF63-2898C01A6515}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "perf", "perf", "{23793296-3A05-4668-8967-364E6F73EE78}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MicroBenchmarks", "perf\MicroBenchmarks\MicroBenchmarks.csproj", "{F03F6A0D-A431-4A8A-9ED3-FF4690051713}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -69,6 +73,10 @@ Global {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Debug|Any CPU.Build.0 = Debug|Any CPU {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.ActiveCfg = Release|Any CPU {E8C6F47D-51EE-4488-AF63-2898C01A6515}.Release|Any CPU.Build.0 = Release|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F03F6A0D-A431-4A8A-9ED3-FF4690051713}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -81,6 +89,7 @@ Global {6C94BFE7-2452-42FF-A17A-4E090F2F8DBD} = {58463841-CD45-4229-9E70-A0B74E70ADD7} {AE3C0606-2210-40ED-AE93-67DBD06461BE} = {40D373E1-A120-41E0-9D3D-1BACC719BB38} {E8C6F47D-51EE-4488-AF63-2898C01A6515} = {58463841-CD45-4229-9E70-A0B74E70ADD7} + {F03F6A0D-A431-4A8A-9ED3-FF4690051713} = {23793296-3A05-4668-8967-364E6F73EE78} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BAAC5D9A-83A0-432F-9987-90C49734F761} diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md new file mode 100644 index 0000000..0a127ca --- /dev/null +++ b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md @@ -0,0 +1,14 @@ +``` ini + +BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2) +Intel Core i7-10750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores +.NET SDK=6.0.300 + [Host] : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT + DefaultJob : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT + + +``` +| Method | Mean | Error | StdDev | Rank | Allocated | +|---------------- |---------:|----------:|----------:|-----:|----------:| +| Standard | 1.770 ns | 0.0102 ns | 0.0090 ns | 2 | - | +| PatternMatching | 1.688 ns | 0.0584 ns | 0.0738 ns | 1 | - | diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv new file mode 100644 index 0000000..372d078 --- /dev/null +++ b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv @@ -0,0 +1,3 @@ +Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;Platform;PowerPlanMode;Runtime;AllowVeryLargeObjects;Concurrent;CpuGroups;Force;HeapAffinitizeMask;HeapCount;NoAffinitize;RetainVm;Server;Arguments;BuildConfiguration;Clock;EngineFactory;NuGetReferences;Toolchain;IsMutator;InvocationCount;IterationCount;IterationTime;LaunchCount;MaxIterationCount;MaxWarmupIterationCount;MemoryRandomization;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;Mean;Error;StdDev;Rank;Allocated +Standard;DefaultJob;False;Default;Default;Default;Default;Default;Default;111111111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 5.0;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1.770 ns;0.0102 ns;0.0090 ns;2;0 B +PatternMatching;DefaultJob;False;Default;Default;Default;Default;Default;Default;111111111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 5.0;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1.688 ns;0.0584 ns;0.0738 ns;1;0 B diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html new file mode 100644 index 0000000..d872424 --- /dev/null +++ b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html @@ -0,0 +1,31 @@ + + + + +MicroBenchmarks.SwitchStatements-20220517-160420 + + + + +
    
    +BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2)
    +Intel Core i7-10750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores
    +.NET SDK=6.0.300
    +  [Host]     : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT
    +  DefaultJob : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT
    +
    +
    + + + + + + +
    MethodMeanErrorStdDevRankAllocated
    Standard1.770 ns0.0102 ns0.0090 ns2-
    PatternMatching1.688 ns0.0584 ns0.0738 ns1-
    + + diff --git a/perf/MicroBenchmarks/MicroBenchmarks.csproj b/perf/MicroBenchmarks/MicroBenchmarks.csproj new file mode 100644 index 0000000..3e276d4 --- /dev/null +++ b/perf/MicroBenchmarks/MicroBenchmarks.csproj @@ -0,0 +1,12 @@ + + + + Exe + net5.0 + + + + + + + diff --git a/perf/MicroBenchmarks/Program.cs b/perf/MicroBenchmarks/Program.cs new file mode 100644 index 0000000..3e46cbc --- /dev/null +++ b/perf/MicroBenchmarks/Program.cs @@ -0,0 +1,12 @@ +using BenchmarkDotNet.Running; + +namespace MicroBenchmarks +{ + internal class Program + { + static void Main(string[] args) + { + _ = BenchmarkRunner.Run(); + } + } +} diff --git a/perf/MicroBenchmarks/ReaderBenchmarks.cs b/perf/MicroBenchmarks/ReaderBenchmarks.cs new file mode 100644 index 0000000..2fb03d8 --- /dev/null +++ b/perf/MicroBenchmarks/ReaderBenchmarks.cs @@ -0,0 +1,12 @@ +using BenchmarkDotNet.Attributes; + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class ReaderBenchmarks + { + [Benchmark] + public int Standard() => default; // TODO: Add Benchmarks. + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj index b756cef..bbaa48e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj +++ b/src/ApacheOrcDotNet.OptimizedReader/ApacheOrcDotNet.OptimizedReader.csproj @@ -2,6 +2,7 @@ net5.0 + true diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs index 0d4202d..8e84dde 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs @@ -1,29 +1,43 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Buffers; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { public static class ByteRangeProviderExtensions { + public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) + { + var buffer = ArrayPool.Shared.Rent(compressedLength); + + try + { + var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); + + provider.GetRange(bufferSpan, offset); + + return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); + } + finally + { + ArrayPool.Shared.Return(buffer); + } + } + /// /// Retrieves data from byte range, decompresses it, provides it to the parser, and then releases it /// /// /// Any data returned from the parser must be a copy and not a reference to the input bytes /// - public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int length, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) + public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) { - var buffer = ArrayPool.Shared.Rent(length); + var buffer = ArrayPool.Shared.Rent(compressedLength); TResult result; try { - var bufferSpan = buffer.AsSpan()[..length]; - provider.GetRange(bufferSpan, (int)offset); //TODO support > 2TB files + var bufferSpan = buffer.AsSpan()[..compressedLength]; + provider.GetRange(bufferSpan, offset); //TODO support > 2TB files using (var decompressed = new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize)) { result = parser(decompressed.Sequence); diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs new file mode 100644 index 0000000..1bbfadc --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs @@ -0,0 +1,313 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public abstract class OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedColumnReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + protected ColumnEncodingKind? GetColumnEncodingKind(StreamKind streamKind) + { + var stripeStream = GetStripeStream(streamKind); + if (stripeStream == null) + return null; + return stripeStream.EncodingKind; + } + + protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) + { + var stream = _readContext.Streams.SingleOrDefault(stream => + stream.ColumnId == _readContext.Column.ColumnId + && stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + [SkipLocalsInit] + protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) + throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); + + int skippedValues = 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( + ref dataReader, + isSigned, + valuesBufferSpan + ); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)valuesBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + protected void ReadByteStream(StreamKind streamKind, Span outputValues, out int numValuesRead) + { + numValuesRead = 0; + + var stream = GetStripeStream(streamKind); + if (stream == null) + return; + + int skippedValues = 0; + int rowGroupOffset = streamKind switch + { + StreamKind.Secondary => _readContext.GetRowEntryPosition(2), + StreamKind.Length => _readContext.GetRowEntryPosition(0), + StreamKind.Data => _readContext.GetRowEntryPosition(0), + _ => throw new NotImplementedException() + }; + int rowEntryOffset = (streamKind, _readContext.Column.ColumnType) switch + { + (StreamKind.Length, ColumnTypeKind.String) => 0, + (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(3), + (StreamKind.Data, _) => _readContext.GetRowEntryPosition(1), + _ => throw new NotImplementedException() + }; + int valuesToSkip = (streamKind, _readContext.Column.ColumnType) switch + { + (StreamKind.Length, ColumnTypeKind.String) => 0, + (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(4), + (StreamKind.Data, _) => _readContext.GetRowEntryPosition(2), + _ => throw new NotImplementedException() + }; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + rowGroupOffset, + compressedLength: stream.Length - rowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var dataReader = new SequenceReader(dataBuffer.Sequence); + + dataReader.Advance(rowEntryOffset); + + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < valuesToSkip) + continue; + + outputValues[numValuesRead++] = valuesBufferSpan[idx]; + + if (numValuesRead >= outputValues.Length) + return; + } + } + } + + [SkipLocalsInit] + protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + int skippedValues = 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = bigInt.Value; + + if (numValuesRead >= outputValues.Length) + break; + } + + return numValuesRead; + } + + private static BigInteger? ReadBigVarInt(ref SequenceReader stream) + { + var value = BigInteger.Zero; + long currentLong = 0; + int bitCount = 0; + + while (true) + { + if (!stream.TryRead(out var currentByte)) + return null; // Reached the end of the stream + + currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); + bitCount += 7; + + if (bitCount % 63 == 0) + { + if (bitCount == 63) + value = new BigInteger(currentLong); + else + value |= new BigInteger(currentLong) << (bitCount - 63); + + currentLong = 0; + } + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + if (currentLong != 0) // Some bits left to add to result + { + var shift = (bitCount / 63) * 63; + value |= new BigInteger(currentLong) << shift; + } + + // Un zig-zag + return ((long)value).ZigzagDecode(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs new file mode 100644 index 0000000..2a4686c --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs @@ -0,0 +1,188 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedDecimalReader : OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedDecimalReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Secondary + var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream: null, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Secondary + var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + var secondaryIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + secondaryIndex++; + } + else + outputValues[numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + [SkipLocalsInit] + public int ReadAsDouble(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Secondary + var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + if (presentStreamRequired) + { + var secondaryIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[secondaryIndex++]); + else + outputValues[numValuesRead++] = double.NaN; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + private double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); + + private decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs new file mode 100644 index 0000000..2980557 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs @@ -0,0 +1,95 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedLongReader : OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedLongReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var dataStream = GetStripeStream(StreamKind.Data); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Data + var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataStreamPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var numValuesRead = 0; + for (int idx = 0; idx < numDataValuesRead; idx++) + outputValues[numValuesRead++] = dataBuffer[idx]; + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(dataBuffer); + } + } + + [SkipLocalsInit] + public int Read(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + var dataIndex = 0; + var numValuesRead = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + outputValues[numValuesRead++] = dataBuffer[dataIndex++]; + else + outputValues[numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + outputValues[numValuesRead++] = dataBuffer[idx]; + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs new file mode 100644 index 0000000..353f534 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs @@ -0,0 +1,194 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedStringReader : OptimizedColumnReader + { + private readonly SpanFileTail _fileTail; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly ReaderContextOld _readContext; + + public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + { + _fileTail = fileTail; + _byteRangeProvider = byteRangeProvider; + _readContext = readContext; + } + + [SkipLocalsInit] + public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch + { + ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), + ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), + _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") + }; + + [SkipLocalsInit] + private int ReadDirectV2(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Length + var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Data + var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + var numValuesRead = 0; + if (presentStreamRequired) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + outputValues[numValuesRead++] = null; + + if (numValuesRead >= outputValues.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + + if (numValuesRead >= outputValues.Length) + break; + } + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); + } + } + + [SkipLocalsInit] + private int ReadDictionaryV2(Span outputValues) + { + var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); + + var dictionarySize = lengthStream.DictionarySize; + + var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); + var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + + try + { + // Present + var presentPositions = _readContext.GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Length + var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); + + // Data + var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + + // Dictionary Data + var dictionaryDataPositions = _readContext.GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _byteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _fileTail.PostScript.Compression, + compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + ); + + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + var numValuesRead = 0; + if (presentStreamRequired) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + outputValues[numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + outputValues[numValuesRead++] = null; + + if (numValuesRead >= outputValues.Length) + break; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + + if (numValuesRead >= outputValues.Length) + break; + } + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(dataBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthBuffer, clearArray: false); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs new file mode 100644 index 0000000..b08689e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs @@ -0,0 +1,378 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public readonly record struct StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); + + public abstract class BaseColumnReader : IDisposable + { + private protected readonly ReaderContext _readerContext; + private protected readonly TOutput[] _outputValuesRaw; + private protected readonly int _numMaxValuesToRead; + private protected int _numValuesRead; + + public BaseColumnReader(ReaderContext readerContext) + { + _readerContext = readerContext; + _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); + _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; + } + + public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); + + public virtual void Dispose() + { + ArrayPool.Shared.Return(_outputValuesRaw); + } + + public abstract void FillBuffer(); + + protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) + { + var stream = _readerContext.Streams.SingleOrDefault(stream => + stream.ColumnId == _readerContext.Column.ColumnId + && stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + [SkipLocalsInit] + private protected int ReadByteStream(StreamDetail stream, in StreamPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = valuesBufferSpan[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) + { + if (stream == null) + return 0; + + if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) + throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var valuesBuffer = ArrayPool.Shared.Rent(1_000); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( + ref dataReader, + isSigned, + valuesBufferSpan + ); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)valuesBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + int skippedValues = 0; + + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = bigInt.Value; + + if (numValuesRead >= outputValues.Length) + break; + } + + return numValuesRead; + } + + private protected StreamPositions GetPresentStreamPositions(StreamDetail presentStream) + { + if (presentStream == null) + return new(); + + return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); + } + + private protected StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) + { + var positionStep = presentStream == null ? 0 : 4; + + int rowGroupOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), + + _ => throw new NotImplementedException() + }; + int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), + + _ => throw new NotImplementedException() + }; + int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), + + _ => throw new NotImplementedException() + }; + + return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); + } + + private protected double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); + + private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; + } + + private int GetRowEntryPosition(int positionIndex) => (int)_readerContext.RowIndexEntry.Positions[positionIndex]; + + private BigInteger? ReadBigVarInt(ref SequenceReader stream) + { + var value = BigInteger.Zero; + long currentLong = 0; + int bitCount = 0; + + while (true) + { + if (!stream.TryRead(out var currentByte)) + return null; // Reached the end of the stream + + currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); + bitCount += 7; + + if (bitCount % 63 == 0) + { + if (bitCount == 63) + value = new BigInteger(currentLong); + else + value |= new BigInteger(currentLong) << (bitCount - 63); + + currentLong = 0; + } + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + if (currentLong != 0) // Some bits left to add to result + { + var shift = (bitCount / 63) * 63; + value |= new BigInteger(currentLong) << shift; + } + + // Un zig-zag + return ((long)value).ZigzagDecode(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs new file mode 100644 index 0000000..7b29739 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs @@ -0,0 +1,85 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class BinaryReader : BaseColumnReader + { + public BinaryReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStreamRequired) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs new file mode 100644 index 0000000..ed8170e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class BooleanReader : BaseColumnReader + { + public BooleanReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs new file mode 100644 index 0000000..b34ec65 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class ByteReader : BaseColumnReader + { + public ByteReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs new file mode 100644 index 0000000..6f5eeac --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs @@ -0,0 +1,59 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DateTimeReader : BaseColumnReader + { + readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + public DateTimeReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + if (presentStreamRequired) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[dataIndex++] * TimeSpan.TicksPerDay); + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[idx] * TimeSpan.TicksPerDay); + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs new file mode 100644 index 0000000..8fd400d --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs @@ -0,0 +1,71 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DecimalAsDoubleDirectV2Reader : BaseColumnReader + { + public DecimalAsDoubleDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var secondaryIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _outputValuesRaw[_numValuesRead++] = double.NaN; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs new file mode 100644 index 0000000..81eaf2a --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs @@ -0,0 +1,71 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DecimalDirectV2Reader : BaseColumnReader + { + public DecimalDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var secondaryIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs new file mode 100644 index 0000000..c053244 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs @@ -0,0 +1,64 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class DoubleReader : BaseColumnReader + { + public DoubleReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + dataIndex += 8; + } + else + _outputValuesRaw[_numValuesRead++] = double.NaN; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + dataIndex += 8; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs new file mode 100644 index 0000000..a7b9103 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs @@ -0,0 +1,57 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class IntegerDirectV2Reader : BaseColumnReader + { + public IntegerDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + var dataIndex = 0; + if (presentStreamRequired) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs new file mode 100644 index 0000000..bf6c208 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs @@ -0,0 +1,35 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class ReaderContext + { + public ReaderContext(IByteRangeProvider byteRangeProvider, SpanFileTail fileTail, ColumnDetail columnDetails, IEnumerable columnStreams, RowIndex rowGroup, int rowEntryIndex) + { + ByteRangeProvider = byteRangeProvider ?? throw new ArgumentNullException(nameof(byteRangeProvider)); + FileTail = fileTail ?? throw new ArgumentNullException(nameof(fileTail)); + Streams = columnStreams ?? throw new ArgumentNullException(nameof(Stream)); + Column = columnDetails ?? throw new ArgumentNullException(nameof(columnDetails)); + Row = rowGroup ?? throw new ArgumentNullException(nameof(rowGroup)); + RowEntryIndex = rowEntryIndex; + + RowIndexEntry = Row.Entry[RowEntryIndex]; + CompressionKind = FileTail.PostScript.Compression; + CompressionBlockSize = (int)FileTail.PostScript.CompressionBlockSize; + } + + public IByteRangeProvider ByteRangeProvider { get; } + public SpanFileTail FileTail { get; } + public IEnumerable Streams { get; } + public ColumnDetail Column { get; } + public RowIndex Row { get; } + public int RowEntryIndex { get; } + public int StripeId { get; } + + public RowIndexEntry RowIndexEntry { get; } + public CompressionKind CompressionKind { get; } + public int CompressionBlockSize { get; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs new file mode 100644 index 0000000..3697dc5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs @@ -0,0 +1,98 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class StringDictionaryV2Reader : BaseColumnReader + { + public StringDictionaryV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + [SkipLocalsInit] + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); + + var dictionarySize = lengthStream.DictionarySize; + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Dictionary Data + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + if (presentStreamRequired) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(dataBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthBuffer, clearArray: false); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs new file mode 100644 index 0000000..9c3a83f --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs @@ -0,0 +1,86 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class StringDirectV2Reader : BaseColumnReader + { + public StringDirectV2Reader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var lengthStream = GetStripeStream(StreamKind.Length); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStreamRequired) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs new file mode 100644 index 0000000..73417ea --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs @@ -0,0 +1,94 @@ +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +{ + public class TimestampReader : BaseColumnReader + { + readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + public TimestampReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; + + var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var dataStream = GetStripeStream(StreamKind.Data); + var secondaryStream = GetStripeStream(StreamKind.Secondary); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + if (presentStreamRequired) + { + var secondaryIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + var seconds = dataBuffer[idx]; + var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + secondaryIndex++; + } + else + _outputValuesRaw[_numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + { + var seconds = dataBuffer[idx]; + var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + ArrayPool.Shared.Return(dataBuffer); + ArrayPool.Shared.Return(secondaryBuffer); + } + } + + private long EncodedNanosToTicks(long encodedNanos) + { + var scale = (int)(encodedNanos & 0x7); + var nanos = encodedNanos >> 3; + + if (scale == 0) + return nanos; + + while (scale-- >= 0) + nanos *= 10; + + return nanos / 100; //100 nanoseconds per tick + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs new file mode 100644 index 0000000..eca2056 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs @@ -0,0 +1,40 @@ +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.Encodings +{ + public static class OptimizedByteRunLengthEncodingReader + { + public static int ReadValues(ref SequenceReader reader, Span outputValues) + { + var numReadValues = 0; + + if (!reader.TryRead(out var firstByte)) + return numReadValues; + + if (firstByte < 0x80) // A run + { + numReadValues = firstByte + 3; + + if (!reader.TryRead(out var repeatedByte)) + throw new InvalidOperationException("Read past end of stream"); + + for (int i = 0; i < numReadValues; i++) + outputValues[i] = repeatedByte; + } + else // Literals + { + numReadValues = 0x100 - firstByte; + for (int i = 0; i < numReadValues; i++) + { + if (!reader.TryRead(out var value)) + throw new InvalidOperationException("Read past end of stream"); + + outputValues[i] = value; + } + } + + return numReadValues; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs new file mode 100644 index 0000000..7ee5c44 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs @@ -0,0 +1,286 @@ +using ApacheOrcDotNet.Encodings; +using System; +using System.Buffers; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader.Encodings +{ + public static class OptimizedIntegerRunLengthEncodingV2 + { + enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } + + public static int ReadValues(ref SequenceReader reader, bool isSigned, Span outputValues) + { + var numReadValues = 0; + + if (!reader.TryRead(out var firstByte)) + return numReadValues; + + var encodingType = (EncodingType)((firstByte >> 6) & 0x3); + + switch (encodingType) + { + case EncodingType.ShortRepeat: + ReadShortRepeatValues(firstByte, isSigned, ref reader, outputValues, ref numReadValues); + break; + case EncodingType.Direct: + ReadDirectValues(firstByte, isSigned, ref reader, outputValues, ref numReadValues); + break; + case EncodingType.PatchedBase: + ReadPatchedBaseValues(firstByte, isSigned: false, ref reader, outputValues, ref numReadValues); + break; + case EncodingType.Delta: + ReadDeltaValues(firstByte, isSigned, ref reader, outputValues, ref numReadValues); + break; + default: + throw new InvalidOperationException($"Invalid encoding type: {encodingType}"); + }; + + return numReadValues; + } + + private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + var width = ((firstByte >> 3) & 0x7) + 1; + numReadValues = (firstByte & 0x7) + 3; + + var repeatingValue = ReadLongBE(ref reader, width, isSigned); + + for (int i = 0; i < numReadValues; i++) + outputValues[i] = repeatingValue; + + return width; + } + + private static void ReadDirectValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + var encodedWidth = (firstByte >> 1) & 0x1f; + var width = encodedWidth.DecodeDirectWidth(); + numReadValues = (firstByte & 0x1) << 8; + + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + + numReadValues |= nextByte; + numReadValues += 1; + + ReadBitpackedIntegers(ref reader, isSigned, width, numReadValues, outputValues); + } + + private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + var encodedWidth = (firstByte >> 1) & 0x1f; + var directBitWidth = encodedWidth.DecodeDirectWidth(); + numReadValues = (firstByte & 0x1) << 8; + + Span nextBytes = stackalloc byte[3]; + if (!reader.TryCopyTo(nextBytes)) + throw new InvalidOperationException("Read past end of stream"); + reader.Advance(3); + + numReadValues |= nextBytes[0]; + numReadValues += 1; + + var baseValueWidth = ((nextBytes[1] >> 5) & 0x7) + 1; + var encodedPatchWidth = nextBytes[1] & 0x1f; + var patchWidth = encodedPatchWidth.DecodeDirectWidth(); + + var patchGapWidth = ((nextBytes[2] >> 5) & 0x7) + 1; + var patchListLength = nextBytes[2] & 0x1f; + + long baseValue = ReadLongBE(ref reader, baseValueWidth); + long msbMask = (1L << ((baseValueWidth * 8) - 1)); + if ((baseValue & msbMask) != 0) + { + baseValue = baseValue & ~msbMask; + baseValue = -baseValue; + } + + //Buffer all the values so we can patch thems + ReadBitpackedIntegers(ref reader, isSigned, directBitWidth, numReadValues, outputValues); + + if (patchGapWidth + patchWidth > 64) + throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); + + var patchListValues = ArrayPool.Shared.Rent(patchListLength); + var patchListValuesSpan = patchListValues.AsSpan().Slice(0, patchListLength); + + try + { + var gap = 0L; + var patch = 0L; + var patchIndex = 0; + var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); + ReadBitpackedIntegers(ref reader, isSigned, patchListWidth, patchListLength, patchListValuesSpan); + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + + for (int i = 0; i < numReadValues; i++) + { + if (i == gap) + { + var patchedValue = outputValues[i] | (patch << directBitWidth); + outputValues[i] = baseValue + patchedValue; + + if (patchIndex < patchListLength) + GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + } + else + outputValues[i] = baseValue + outputValues[i]; + } + } + finally + { + ArrayPool.Shared.Return(patchListValues, clearArray: false); + } + } + + private static void ReadDeltaValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + { + int index = 0; + int bitWidth = 0; + int encodedWidth = (firstByte >> 1) & 0x1f; + if (encodedWidth != 0) // EncodedWidth 0 means Width 0 for Delta + bitWidth = encodedWidth.DecodeDirectWidth(); + numReadValues = (firstByte & 0x1) << 8; + + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + numReadValues |= nextByte; + + if (isSigned) + outputValues[index++] = ReadVarIntSigned(ref reader); + else + outputValues[index++] = ReadVarIntUnsigned(ref reader); + + var deltaBase = ReadVarIntSigned(ref reader); + if (bitWidth == 0) + { + // Uses a fixed delta base for every value + for (int i = 0; i <= numReadValues; i++) + { + outputValues[index++] = outputValues[index - 2] + deltaBase; + } + } + else + { + outputValues[index++] = outputValues[index - 2] + deltaBase; + + var deltaValues = ArrayPool.Shared.Rent(numReadValues - 1); + var deltaValuesSpan = deltaValues.AsSpan().Slice(0, numReadValues - 1); + + try + { + ReadBitpackedIntegers(ref reader, isSigned: false, bitWidth, numReadValues - 1, deltaValuesSpan); + + for (int i = 0; i < deltaValues.Length; i++) + { + outputValues[index++] = deltaBase > 0 + ? outputValues[index - 2] + deltaValues[i] + : outputValues[index - 2] - deltaValues[i]; + } + } + finally + { + ArrayPool.Shared.Return(deltaValues, clearArray: false); + } + } + + numReadValues++; // Delta lengths start at 0 + } + + private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) + { + var raw = patchListValues[patchIndex]; + patchIndex++; + long curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + while (curGap == 255 && patch == 0) + { + gap += 255; + raw = patchListValues[patchIndex]; + patchIndex++; + curGap = (long)((ulong)raw >> patchWidth); + patch = raw & patchMask; + } + gap += curGap; + } + + private static void ReadBitpackedIntegers(ref SequenceReader reader, bool isSigned, int bitWidth, int count, Span outputValues) + { + byte currentByte = 0; + int bitsAvailable = 0; + for (int i = 0; i < count; i++) + { + ulong result = 0; + int neededBits = bitWidth; + while (neededBits > bitsAvailable) + { + result <<= bitsAvailable; // Make space for incoming bits + result |= currentByte & ((1u << bitsAvailable) - 1); // OR in the bits + neededBits -= bitsAvailable; + + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + currentByte = nextByte; + + bitsAvailable = 8; + } + + if (neededBits > 0) // Left over bits + { + result <<= neededBits; + bitsAvailable -= neededBits; + result |= ((ulong)currentByte >> bitsAvailable) & ((1ul << neededBits) - 1); + } + + outputValues[i] = isSigned + ? ((long)result).ZigzagDecode() + : (long)result; + } + } + + private static long ReadLongBE(ref SequenceReader reader, int numBytes, bool isSigned = false) + { + long result = 0; + + for (int i = numBytes - 1; i >= 0; i--) + { + if (!reader.TryRead(out var nextByte)) + throw new InvalidOperationException("Read past end of stream"); + + result |= (long)nextByte << (i * 8); + } + + return isSigned + ? result.ZigzagDecode() + : result; + } + + private static long ReadVarIntSigned(ref SequenceReader reader) + { + var unsigned = ReadVarIntUnsigned(ref reader); + return unsigned.ZigzagDecode(); + } + + private static long ReadVarIntUnsigned(ref SequenceReader reader) + { + long result = 0; + int bitCount = 0; + + while (true) + { + if (!reader.TryRead(out var currentByte)) + throw new InvalidOperationException("Read past end of stream"); + + result |= ((long)currentByte & 0x7f) << bitCount; + bitCount += 7; + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + return result; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs new file mode 100644 index 0000000..477aeb7 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs @@ -0,0 +1,184 @@ +//using System; +//using System.Buffers; +//using System.Runtime.CompilerServices; + +//namespace ApacheOrcDotNet.OptimizedReader.Encodings +//{ +// public static class OptimizedStrings +// { +// [SkipLocalsInit] +// public static void ReadDirectV2(Span outputValues) +// { +// var numValuesRead = 0; +// var maxValuesToRead = outputValues.Length; +// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + +// try +// { +// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); +// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); + +// ReadBinaryStream( +// StreamKind.Data, +// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), +// lengthsBuffer.AsSpan().Slice(0, numLengthValuesRead), +// outputValues, +// ref numValuesRead +// ); +// } +// finally +// { +// ArrayPool.Shared.Return(presentBuffer, clearArray: false); +// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); +// } +// } +// } +//} + + +//using ApacheOrcDotNet.Protocol; +//using System; +//using System.Buffers; +//using System.IO; +//using System.Runtime.CompilerServices; + +//namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +//{ +// public class OptimizedStringReader : OptimizedColumnReader +// { +// public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReadContext readContext) : base(fileTail, byteRangeProvider, readContext) +// { +// } + +// [SkipLocalsInit] +// public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch +// { +// ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), +// ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), +// _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") +// }; + +// [SkipLocalsInit] +// private int ReadDirectV2(Span outputValues) +// { +// var numValuesRead = 0; +// var maxValuesToRead = outputValues.Length; +// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + +// try +// { +// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); +// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); + +// ReadBinaryStream(StreamKind.Data, presentBuffer, lengthsBuffer, outputValues, ref numValuesRead); + +// //if (numValuesRead != numLengthValuesRead) +// // throw new InvalidDataException("DATA and LENGTH streams must be available"); + +// //int stringOffset = 0; +// //if (numPresentValuesRead <= 0) +// //{ +// // for (int idx = 0; idx < numLengthValuesRead; idx++) +// // { +// // var length = (int)lengthsBuffer[idx]; +// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); +// // stringOffset += length; +// // } +// //} +// //else +// //{ +// // for (int idx = 0; idx < numPresentValuesRead; idx++) +// // { +// // var isPresent = presentBuffer[idx]; +// // if (isPresent) +// // { +// // if (idx + stringOffset >= numLengthValuesRead) +// // throw new InvalidDataException("The PRESENT data stream's length didn't match the LENGTH stream's length"); +// // var length = (int)lengthsBuffer[idx]; +// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); +// // stringOffset += length; +// // } +// // else +// // outputValues[numValuesRead++] = null; +// // } +// //} + +// return numValuesRead; +// } +// finally +// { +// ArrayPool.Shared.Return(presentBuffer, clearArray: false); +// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); +// } +// } + +// [SkipLocalsInit] +// private int ReadDictionaryV2(Span outputValues) +// { +// var numValuesRead = 0; +// var maxValuesToRead = outputValues.Length; +// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var lengthBuffer = ArrayPool.Shared.Rent(maxValuesToRead); +// var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + +// try +// { +// if (!IsDataStreamAvailable || !IsDictionaryDataStreamAvailable || !IsLengthStreamAvailable) +// throw new InvalidDataException("DATA, DICTIONARY_DATA, and LENGTH streams must be available"); + +// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); +// ReadNumericStream(StreamKind.Data, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead), out var numDataValuesRead); +// ReadNumericStream(StreamKind.Length, isSigned: false, lengthBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); + +// ReadBinaryStream( +// StreamKind.DictionaryData, +// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), +// lengthBuffer.AsSpan().Slice(0, numLengthValuesRead), +// outputValues, +// ref numValuesRead +// ); + +// //int stringOffset = 0; +// //List stringsList = new(); +// //for (int idx = 0; idx < numLengthValuesRead; idx++) +// //{ +// // var length = (int)lengthBuffer[idx]; +// // var value = Encoding.UTF8.GetString(dictionaryBufferSpan.Slice(stringOffset, length)); +// // stringOffset += length; +// // stringsList.Add(value); +// //} + +// //if (numPresentValuesRead <= 0) +// //{ +// // for (int idx = 0; idx < numDataValuesRead; idx++) +// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; +// //} +// //else +// //{ +// // for (int idx = 0; idx < numPresentValuesRead; idx++) +// // { +// // var isPresent = presentBuffer[idx]; +// // if (isPresent) +// // { +// // if (idx >= numDataValuesRead) +// // throw new InvalidDataException("The PRESENT data stream's length didn't match the DATA stream's length"); +// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; +// // } +// // else +// // outputValues[numValuesRead++] = null; +// // } +// //} + +// return numValuesRead; +// } +// finally +// { +// ArrayPool.Shared.Return(presentBuffer, clearArray: false); +// ArrayPool.Shared.Return(dataBuffer, clearArray: false); +// ArrayPool.Shared.Return(lengthBuffer, clearArray: false); +// } +// } +// } +//} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs deleted file mode 100644 index 2b5b471..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/SpanIntegerRunLengthEncodingV2.cs +++ /dev/null @@ -1,177 +0,0 @@ -using ApacheOrcDotNet.Encodings; -using System; -using System.IO; - -namespace ApacheOrcDotNet.OptimizedReader.Encodings -{ - public static class SpanIntegerRunLengthEncodingV2 - { - enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } - - public static int ReadValues(ReadOnlySpan input, Position position, bool isSigned, Span values) - { - var firstByte = input[0]; - var encodingType = (EncodingType)((firstByte >> 6) & 0x3); - - return encodingType switch - { - EncodingType.ShortRepeat => ReadShortRepeatValues(firstByte, isSigned, input.Slice(1), values), - EncodingType.Direct => ReadDirectValues(firstByte, isSigned, input.Slice(1), values), - EncodingType.PatchedBase => ReadPatchedBaseValues(firstByte, isSigned, input.Slice(1), values), - EncodingType.Delta => ReadDeltaValues(firstByte, isSigned, input.Slice(1), values), - _ => throw new InvalidOperationException($"Invalid encoding type: {encodingType}") - }; - } - - private static int ReadShortRepeatValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var width = ((firstByte >> 3) & 0x7) + 1; - var repeatCount = (firstByte & 0x7) + 3; - var value = input.ReadLongBE(width); - - if (isSigned) - value = value.ZigzagDecode(); - - for (int i = 0; i < repeatCount; i++) - values[i] = value; - - return width; - } - - private static int ReadDirectValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var offset = 0; - var encodedWidth = (firstByte >> 1) & 0x1f; - var width = encodedWidth.DecodeDirectWidth(); - int length = (firstByte & 0x1) << 8; - - length |= input[offset++]; - length += 1; - - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); - - return offset; - } - - private static int ReadPatchedBaseValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var offset = 0; - var encodedWidth = (firstByte >> 1) & 0x1f; - var width = encodedWidth.DecodeDirectWidth(); - int length = (firstByte & 0x1) << 8; - length |= input[offset++]; - length += 1; - - var thirdByte = input[offset++]; - var baseValueWidth = ((thirdByte >> 5) & 0x7) + 1; - var encodedPatchWidth = thirdByte & 0x1f; - var patchWidth = encodedPatchWidth.DecodeDirectWidth(); - - var fourthByte = input[offset++]; - var patchGapWidth = ((fourthByte >> 5) & 0x7) + 1; - var patchListLength = fourthByte & 0x1f; - - long baseValue = input.Slice(offset).ReadLongBE(baseValueWidth); - long msbMask = (1L << ((baseValueWidth * 8) - 1)); - if ((baseValue & msbMask) != 0) - { - baseValue = baseValue & ~msbMask; - baseValue = -baseValue; - } - offset += baseValueWidth; - - //Buffer all the values so we can patch them - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length, values); - - if (patchGapWidth + patchWidth > 64) - throw new InvalidDataException($"{nameof(patchGapWidth)} ({patchGapWidth}) + {nameof(patchWidth)} ({patchWidth}) > 64"); - - Span patchListValues = stackalloc long[patchListLength]; - var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, patchListWidth, patchListLength, patchListValues); - - int patchIndex = 0; - long gap = 0; - long patch; - GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); - - for (int i = 0; i < length; i++) - { - if (i == gap) - { - var patchedValue = values[i] | (patch << width); - values[i] = baseValue + patchedValue; - - if (patchIndex < patchListLength) - GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); - } - else - values[i] = baseValue + values[i]; - } - - return offset; - } - - private static int ReadDeltaValues(int firstByte, bool isSigned, ReadOnlySpan input, Span values) - { - var offset = 0; - var valueIndex = 0; - var encodedWidth = (firstByte >> 1) & 0x1f; - int width = 0; - if (encodedWidth != 0) //EncodedWidth 0 means Width 0 for Delta - width = encodedWidth.DecodeDirectWidth(); - int length = (firstByte & 0x1) << 8; - length |= input[offset++]; - //Delta lengths start at 0 - - if (isSigned) - values[valueIndex++] = input.ReadVarIntSigned(ref offset); - else - values[valueIndex++] = input.ReadVarIntUnsigned(ref offset); - - var deltaBase = input.ReadVarIntSigned(ref offset); - if (width == 0) - { - //Uses a fixed delta base for every value - for (int i = 0; i < length; i++) - { - values[valueIndex++] = values[valueIndex - 2] + deltaBase; - } - } - else - { - values[valueIndex++] = values[valueIndex - 2] + deltaBase; - - Span deltaValues = stackalloc long[length - 1]; - offset += input.Slice(offset).ReadBitpackedIntegers(isSigned, width, length - 1, deltaValues); - - for (int index = 0; index < deltaValues.Length; index++) - { - if (deltaBase > 0) - values[valueIndex++] = values[valueIndex - 2] + deltaValues[index]; - else - values[valueIndex++] = values[valueIndex - 2] - deltaValues[index]; - } - } - - return offset; - } - - private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) - { - var raw = patchListValues[patchIndex]; - patchIndex++; - long curGap = (long)((ulong)raw >> patchWidth); - patch = raw & patchMask; - while (curGap == 255 && patch == 0) - { - gap += 255; - raw = patchListValues[patchIndex]; - patchIndex++; - curGap = (long)((ulong)raw >> patchWidth); - patch = raw & patchMask; - } - gap += curGap; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs index a083ae3..788da32 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs @@ -17,28 +17,32 @@ public void Dispose() _stream.Dispose(); } - public void GetRange(Span buffer, int position) + public int GetRange(Span buffer, long position) { _stream.Seek(position, SeekOrigin.Begin); - DoRead(buffer); + return DoRead(buffer); } - public void GetRangeFromEnd(Span buffer, int positionFromEnd) + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { _stream.Seek(-positionFromEnd, SeekOrigin.End); - DoRead(buffer); + return DoRead(buffer); } - private void DoRead(Span buffer) + private int DoRead(Span buffer) { - int start = 0; - int remaining = buffer.Length; - while (remaining > 0) + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) { - int count = _stream.Read(buffer[start..]); - start += count; - remaining -= count; + int count = _stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; } + return bytesRead; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs index d46205c..71e6bd8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs @@ -4,7 +4,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public interface IByteRangeProvider : IDisposable { - void GetRange(Span buffer, int position); - void GetRangeFromEnd(Span buffer, int positionFromEnd); + int GetRange(Span buffer, long position); + int GetRangeFromEnd(Span buffer, long positionFromEnd); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index 2d34f34..ed355bd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -17,13 +17,21 @@ public DecompressingMemorySequence(ReadOnlySpan compressedBuffer, Compress { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, compressedBuffer[position..]); var decompressedSegment = ArrayPool.Shared.Rent(compressionBlockSize); - var decompressedLength = OrcCompressedBlock.DecompressBlock(compressionKind, compressedBuffer.Slice(position, compressedChunkLength), decompressedSegment); - - _end = new SequenceNode(decompressedSegment, decompressedLength, _end); + var decompressedSegmentSpan = decompressedSegment.AsSpan().Slice(0, compressionBlockSize); + + var chunkToDecompress = (position + compressedChunkLength) > compressedBuffer.Length + ? compressedBuffer.Slice(position) + : compressedBuffer.Slice(position, compressedChunkLength); + + var decompressedLength = OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, decompressedSegmentSpan); + + _end = new SequenceNode(decompressedSegmentSpan.ToArray(), decompressedLength, _end); if (_begin == null) _begin = _end; position += compressedChunkLength; + + ArrayPool.Shared.Return(decompressedSegment); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs new file mode 100644 index 0000000..2e73b29 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -0,0 +1,387 @@ +using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcOptimizedReaderConfiguration + { + public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; + } + + public record ReaderContextOld(IEnumerable Streams, ColumnDetail Column, RowIndex Row, int RowEntryIndex) + { + public RowIndexEntry RowIndexEntry => Row.Entry[RowEntryIndex]; + + public int GetRowEntryPosition(int positionIndex) => (int)RowIndexEntry.Positions[positionIndex]; + + public StreamPositions GetPresentStreamPositions(StreamDetail presentStream) + { + if (presentStream == null) + return new(); + + return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); + } + + public StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) + { + var positionStep = presentStream == null ? 0 : 4; + + int rowGroupOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), + + _ => throw new NotImplementedException() + }; + int rowEntryOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), + + _ => throw new NotImplementedException() + }; + int valuesToSkip = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), + + _ => throw new NotImplementedException() + }; + + return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); + } + } + + public sealed class OrcOptimizedReader + { + private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly SpanFileTail _fileTail; + private readonly List _columnDetails = new(); + private readonly Dictionary> _stripeStreams = new(); + private readonly Dictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly Dictionary<(int columnId, int stripeId), ColumnEncodingKind> _columnEncodings = new(); + private readonly Dictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); + + public OrcOptimizedReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + { + _configuration = configuration; + _byteRangeProvider = byteRangeProvider; + + _fileTail = ReadFileTail(); + if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) + throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); + + _columnDetails = _fileTail.Footer.Types[0].FieldNames.Select((name, i) => + { + var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; + var subTypeKind = _fileTail.Footer.Types[subType].Kind; + return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); + }).ToList(); + } + + public IEnumerable GetStripeIds(string columnName, string min, string max) + => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), columnName, min, max); + + public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, string columnName, string min, string max) + { + var column = GetColumnDetails(columnName); + var columnStats = GetFileColumnStatistics(column.ColumnId); + + if (!columnStats.InRange(column.ColumnType, min, max)) + return Enumerable.Empty(); + + return lookupStripeIds.Where(stripeId => + { + var stripeColumnStats = GetStripeColumnStatistics(column.ColumnId, stripeId); + return stripeColumnStats.InRange(column.ColumnType, min, max); + }); + } + + public IEnumerable GetRowGroupIndexes(int stripeId, string columnName, string min, string max) + { + var column = GetColumnDetails(columnName); + var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); + return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, columnName, min, max); + } + + public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, string columnName, string min, string max) + { + var column = GetColumnDetails(columnName); + var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); + + return lookupIndexes.Where(index => + { + var rowIndexEntry = rowIndex.Entry[index]; + return rowIndexEntry.Statistics.InRange(column.ColumnType, min, max); + }); + } + + public BaseColumnReader CreateBinaryReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new ColumTypes.Specialized.BinaryReader(readerContext); + } + + public BaseColumnReader CreateBooleanReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new BooleanReader(readerContext); + } + + public BaseColumnReader CreateByteReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new ByteReader(readerContext); + } + + public BaseColumnReader CreateDateTimeReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DateTimeReader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateDecimalReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DecimalDirectV2Reader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateDecimalAsDoubleReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DecimalAsDoubleDirectV2Reader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateDoubleReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateFloatReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + public BaseColumnReader CreateIntegerReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new IntegerDirectV2Reader(readerContext); + } + + public BaseColumnReader CreateStringReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); + + return columnEncoding switch + { + ColumnEncodingKind.DictionaryV2 => new StringDictionaryV2Reader(readerContext), + ColumnEncodingKind.DirectV2 => new StringDirectV2Reader(readerContext), + _ => throw new InvalidOperationException() + }; + } + + + + + + + + + + + + + + + + + private SpanFileTail ReadFileTail() + { + int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; + while (true) + { + var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); + var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(buffer); + + if (success) + return fileTail; + + lengthToReadFromEnd += additionalBytesRequired; + } + } + + private ReaderContext GetReaderContext(int stripeId, int rowEntryIndex, string columnName) + { + var column = GetColumnDetails(columnName); + var streams = GetColumnStreams(column.ColumnId, stripeId); + var rowGroup = GetRowGroupIndex(column.ColumnId, stripeId); + + return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex); + } + + private IEnumerable GetStripeStreams(int stripeId) + { + if (!_stripeStreams.ContainsKey(stripeId)) + { + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); + var stripeFooterLength = (int)stripe.FooterLength; + + var streams = _byteRangeProvider.DecompressAndParseByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanStripeFooter.ReadStreamDetails(sequence, _columnDetails, (long)stripe.Offset) + ).ToList(); + + _stripeStreams.Add(stripeId, streams); + } + + return _stripeStreams[stripeId]; + } + + private ColumnDetail GetColumnDetails(string columnName) + => _columnDetails.Single(colDetail => colDetail.Name.ToLower() == columnName.ToLower()); + + private ColumnStatistics GetFileColumnStatistics(int columnId) + => _fileTail.Footer.Statistics[columnId]; + + private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + + private RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + if (!_rowGroupIndexes.ContainsKey(key)) + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + var index = _byteRangeProvider.DecompressAndParseByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => Serializer.Deserialize(sequence) + ); + + _rowGroupIndexes.Add(key, index); + } + + return _rowGroupIndexes[key]; + } + + private IEnumerable GetColumnStreams(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + if (!_columnStreams.ContainsKey(key)) + { + var stripeStreams = GetStripeStreams(stripeId); + var columnStreams = stripeStreams.Where(s => + s.ColumnId == columnId + ).ToList(); + + _columnStreams.Add(key, columnStreams); + } + + return _columnStreams[key]; + } + + private ColumnEncodingKind GetColumnEncodingKind(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + if (!_columnEncodings.ContainsKey(key)) + { + var firstColumnStream = GetColumnStreams(columnId, stripeId).First(); + + _columnEncodings.Add(key, firstColumnStream.EncodingKind); + } + + return _columnEncodings[key]; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 8e83d73..a450528 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; +using ApacheOrcDotNet.Stripes; using System; using System.Buffers; using System.Collections.Generic; @@ -8,22 +9,20 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcReaderConfiguration - { - public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; - } - + public record FilterArg(string ColumnName, string MinValue, string MaxValue); + public record Filter(int ColumnId, ColumnTypeKind ColumnType, string MinValue, string MaxValue); public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); public record StripeDetail(int StripeId, long RowCount); + public record FilterCriteria(string ColumnName, string minValue, string maxValue); public sealed class OrcReader { - readonly OrcReaderConfiguration _configuration; - readonly IByteRangeProvider _byteRangeProvider; - readonly SpanFileTail _fileTail; - readonly Dictionary> _stripeStreams = new(); + private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly SpanFileTail _fileTail; + private readonly Dictionary> _stripeStreams = new(); - public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { _configuration = configuration; _byteRangeProvider = byteRangeProvider; @@ -46,50 +45,36 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa .ToList(); } - public IEnumerable ColumnDetails { get; } - public IReadOnlyCollection StripeDetails { get; } + public int GetColumnId(string columnName) => ColumnDetails.SingleOrDefault(colDetail => + colDetail.Name.ToLower() == columnName.ToLower() + ).ColumnId; - public ColumnStatistics GetFileColumnStatistics(int columnId) + IEnumerable GetStripeStreams(int stripeId) { - return _fileTail.Footer.Statistics[columnId]; - } - - public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - { - return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - } - - public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) - { - if (!_stripeStreams.TryGetValue(stripeId, out var streamDetails)) + if (!_stripeStreams.ContainsKey(stripeId)) { - streamDetails = ReadStripeFooter(stripeId).ToList(); - _stripeStreams.Add(stripeId, streamDetails); + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here + var stripeFooterLength = (int)stripe.FooterLength; + + var streams = _byteRangeProvider.DecompressAndParseByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) + ).ToList(); + + _stripeStreams.Add(stripeId, streams); } - var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); - var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); - - var result = _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) - ); - - return result; - } - - public int ReadLongValues(Span output, StreamPosition position) - { - throw new NotImplementedException(); + return _stripeStreams[stripeId]; } IEnumerable ReadStripeFooter(int stripeId) { var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here + var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); var stripeFooterLength = (int)stripe.FooterLength; var result = _byteRangeProvider.DecompressAndParseByteRange( @@ -120,5 +105,151 @@ SpanFileTail ReadFileTail() lengthToReadFromEnd += additionalBytesRequired; } } + + + + + + + + + + #region Old Implementation / Tests + + public IEnumerable ColumnDetails { get; } + public IReadOnlyCollection StripeDetails { get; } + + public List ReadOldSource(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 1); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + public List ReadOldSymbol(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 8); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + public List ReadOldTime(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.DecimalReader(stripeStreamReaderCollection, 5); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + public List ReadOldSize(int stripeId) + { + var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); + var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); + var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); + + var valuesReader = new ColumnTypes.LongReader(stripeStreamReaderCollection, 10); + + var values = valuesReader.Read().ToList(); + + fileStream.Dispose(); + + return values; + } + + private IEnumerable GetFilteredStripeIds(List filters) + { + var filteredStripeIds = new List(); + + for (int stripeIndex = 0; stripeIndex < _fileTail.Metadata.StripeStats.Count; stripeIndex++) + { + var isMatch = true; + + for (int colIndex = 0; colIndex < filters.Count; colIndex++) + { + var filter = filters[colIndex]; + var lookupStripeCol = GetStripeColumnStatistics(filter.ColumnId, stripeIndex); + + if (!lookupStripeCol.InRange(filter.ColumnType, filter.MinValue, filter.MaxValue)) + { + isMatch = false; + break; + } + } + + if (isMatch) + filteredStripeIds.Add(stripeIndex); + } + + return filteredStripeIds; + } + + public ColumnStatistics GetFileColumnStatistics(int columnId) + { + return _fileTail.Footer.Statistics[columnId]; + } + + public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + { + return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + } + + public RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + return _byteRangeProvider.DecompressAndParseByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanRowGroupIndex.ReadRowGroupIndex(sequence) + ); + } + + public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) + { + var streamDetails = GetStripeStreams(stripeId); + var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); + var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); + + var result = _byteRangeProvider.DecompressAndParseByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize, + sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) + ); + + return result; + } + + #endregion } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs index 5bb70e4..3443118 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs @@ -10,21 +10,25 @@ namespace ApacheOrcDotNet.OptimizedReader { public record RowGroupDetail(ColumnStatistics Statistics, List StreamPositions); public record StreamPosition(StreamDetail Stream, Position Position); - public record Position(long ChunkFileOffset, int? DecompressedOffset, int ValueOffset, int? ValueOffset2); + public record Position(long ChunkFileOffset, int DecompressedOffset, int ValueOffset, int ValueOffset2); public static class SpanRowGroupIndex { + public static RowIndex ReadRowGroupIndex(ReadOnlySequence inputSequence) + => Serializer.Deserialize(inputSequence); + public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) { bool compressionEnabled = compressionKind != CompressionKind.None; var rowIndex = Serializer.Deserialize(inputSequence); - foreach(var entry in rowIndex.Entry) + foreach (var entry in rowIndex.Entry) { var streamPositions = new List(); var positions = entry.Positions.ToArray().AsSpan(); - foreach(var stream in streamDetails) + + foreach (var stream in streamDetails) { var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); if (numConsumedPositions == 0) @@ -34,6 +38,7 @@ public static IEnumerable ReadRowGroupDetails(ReadOnlySequence ReadRowGroupDetails(ReadOnlySequence streamDetails, bool compressionEnabled) { int positionsToSkip = 0; - foreach(var stream in streamDetails) + foreach (var stream in streamDetails) { if (stream.StreamId >= streamId) break; diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs index f1bbf0a..b731f6e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs @@ -6,7 +6,7 @@ namespace ApacheOrcDotNet.OptimizedReader { - public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind); + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); public static class SpanStripeFooter { @@ -24,7 +24,8 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence Length: (int)stream.Length, ColumnType: columnDetails.FirstOrDefault(c => c.ColumnId == stream.Column)?.ColumnType, StreamKind: stream.Kind, - EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind + EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind, + DictionarySize: (int)stripeFooter.Columns[(int)stream.Column].DictionarySize ); stripeOffset += (long)stream.Length; diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs index a1ccd2a..b134fbf 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs @@ -36,9 +36,11 @@ static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => { (StreamKind.Present, _, _) => true, (StreamKind.Data, ColumnTypeKind.Int, _) => false, + (StreamKind.Data, ColumnTypeKind.Long, _) => false, + (StreamKind.Data, ColumnTypeKind.Decimal, _) => false, (StreamKind.Data, ColumnTypeKind.String, _) => false, (StreamKind.Length, _, ColumnEncodingKind.DictionaryV2) => false, - (StreamKind.Secondary, _, _) => throw new NotImplementedException(), + (StreamKind.Secondary, _, _) => false, // Already secondary. //TODO This will need some work to fill in completely _ => throw new NotSupportedException() }; @@ -47,9 +49,9 @@ public static Position GetStreamPositionFromStreamType(this StreamDetail stream, { int positionIndex = 0; var chunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; - var decompressedOffset = compressionEnabled ? (int?)positions[positionIndex++] : null; + var decompressedOffset = compressionEnabled ? (int)positions[positionIndex++] : 0; var valueOffset = (int)positions[positionIndex++]; - var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int?)positions[positionIndex++] : null; + var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int)positions[positionIndex++] : 0; return new Position(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); } @@ -59,15 +61,7 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp switch (columnType) { case ColumnTypeKind.Boolean: - { - if (min != max) - return true; - if (min == "false" && stats.BooleanStatistics.FalseCount > 0) - return true; - if (min == "true" && stats.BooleanStatistics.TrueCount > 0) - return true; - return false; - } + return InRangeBoolean(stats, min == "true", max == "true"); case ColumnTypeKind.Byte: case ColumnTypeKind.Short: case ColumnTypeKind.Int: @@ -75,21 +69,19 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp { var minVal = long.Parse(min); var maxVal = long.Parse(max); - return minVal <= stats.IntStatistics.Maximum && maxVal >= stats.IntStatistics.Minimum; + return InRangeNumeric(stats, minVal, maxVal); } case ColumnTypeKind.Float: case ColumnTypeKind.Double: { var minVal = double.Parse(min); var maxVal = double.Parse(max); - return minVal <= stats.DoubleStatistics.Maximum && maxVal >= stats.DoubleStatistics.Minimum; + return InRangeDouble(stats, minVal, maxVal); } case ColumnTypeKind.String: case ColumnTypeKind.Varchar: case ColumnTypeKind.Char: - { - return min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; - } + return InRangeString(stats, min, max); case ColumnTypeKind.Decimal: { var minVal = decimal.Parse(min); @@ -99,11 +91,41 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); - return minVal <= statsMinVal && maxVal >= statsMaxVal; + return InRangeDecimal(stats, minVal, maxVal); } default: throw new NotImplementedException($"Range check for {columnType} not implemented"); } } + + public static bool InRangeBoolean(this ColumnStatistics stats, bool min, bool max) + { + if (min != max) + return true; + if (!min && stats.BooleanStatistics.FalseCount > 0) + return true; + if (min && stats.BooleanStatistics.TrueCount > 0) + return true; + return false; + } + + public static bool InRangeNumeric(this ColumnStatistics stats, long min, long max) + => min <= stats.IntStatistics.Maximum && max >= stats.IntStatistics.Minimum; + + public static bool InRangeDouble(this ColumnStatistics stats, double min, double max) + => min <= stats.DoubleStatistics.Maximum && max >= stats.DoubleStatistics.Minimum; + + public static bool InRangeString(this ColumnStatistics stats, string min, string max) + => min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; + + public static bool InRangeDecimal(this ColumnStatistics stats, decimal min, decimal max) + { + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMin)) + throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMax)) + throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); + + return min <= statsMax && max >= statsMin; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 7622554..8da49f6 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -3,7 +3,7 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { - public class OptimizedORCAppConfituration + public class OptimizedORCAppConfiguration { public DateTime Date { get; set; } public string Source { get; set; } @@ -14,21 +14,68 @@ public class OptimizedORCAppConfituration public class OptimizedORCApp { - private readonly OptimizedORCAppConfituration _confituration; + private readonly string _orcFileName; + private readonly OptimizedORCAppConfiguration _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public OptimizedORCApp(OptimizedORCAppConfituration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + public OptimizedORCApp(string orcFileName, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) { - _confituration = confituration; + _orcFileName = orcFileName; + _configuration = confituration; _byteRangeProviderFactory = byteRangeProviderFactory; } public void Run() { - var byteRangeProvider = _byteRangeProviderFactory.Create(_confituration.Source); - var optimizedOrcReader = new OptimizedReader.OrcReader(new OrcReaderConfiguration(), byteRangeProvider); + // + var reader = new OrcOptimizedReader( + new OrcOptimizedReaderConfiguration() { OptimisticFileTailReadLength = 1 }, + _byteRangeProviderFactory.Create(_orcFileName) + ); - var rowGroupIndex = optimizedOrcReader.ReadRowGroupIndex(columnId: 0, stripeId: 0); + // + var lookupSource = _configuration.Source; + var lookupSymbol = _configuration.Symbol; + var beginTime = (decimal)_configuration.BeginTime.TotalSeconds; + var endTime = (decimal)_configuration.EndTime.TotalSeconds; + + // + var stripeIds = reader.GetStripeIds("source", lookupSource, lookupSource); + stripeIds = reader.GetStripeIds(stripeIds, "symbol", lookupSymbol, lookupSymbol); + stripeIds = reader.GetStripeIds(stripeIds, "time", $"{beginTime}", $"{endTime}"); + + foreach (var stripeId in stripeIds) + { + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, "source", lookupSource, lookupSource); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "symbol", lookupSymbol, lookupSymbol); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "time", $"{beginTime}", $"{endTime}"); + + foreach (var rowEntryIndex in rowGroupIndexes) + { + var sourceReader = reader.CreateStringReader(stripeId, rowEntryIndex, "source"); + var symbolReader = reader.CreateStringReader(stripeId, rowEntryIndex, "symbol"); + var timeReader = reader.CreateDecimalAsDoubleReader(stripeId, rowEntryIndex, "time"); + var sizeReader = reader.CreateIntegerReader(stripeId, rowEntryIndex, "size"); + + sourceReader.FillBuffer(); + symbolReader.FillBuffer(); + timeReader.FillBuffer(); + sizeReader.FillBuffer(); + + for (int idx = 0; idx < sizeReader.Values.Length; idx++) + { + var source = sourceReader.Values[idx]; + var symbol = symbolReader.Values[idx]; + var time = timeReader.Values[idx]; + var size = sizeReader.Values[idx]; + + if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) + { + Console.WriteLine($"{source},{symbol},{time.ToString().PadRight(15, '0')},{size}"); + } + } + } + } } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index ffa62f6..541e0cb 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -22,6 +22,7 @@ static void Main(string[] args) .Build() ; + var fileName = config.GetValue("fileName", string.Empty); var date = config.GetValue("date", DateTime.Now.ToString("d")); var source = config.GetValue("source", string.Empty); var symbol = config.GetValue("symbol", string.Empty); @@ -32,9 +33,9 @@ static void Main(string[] args) var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); - if (!isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + if (fileName.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) { - Console.WriteLine("Usage: --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine("Usage: --fileName orcFileName --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); Environment.Exit(-1); } @@ -46,8 +47,9 @@ static void Main(string[] args) Console.WriteLine($"symbol: '{symbol}'"); Console.WriteLine($"beginTime: '{beginTime}'"); Console.WriteLine($"endTime: '{endTime}'"); + Console.WriteLine(); - var configs = new OptimizedORCAppConfituration + var configs = new OptimizedORCAppConfiguration { Date = parsedDate, Source = source, @@ -57,7 +59,7 @@ static void Main(string[] args) }; var fileByteRangeProviderFactory = new FileByteRangeProviderFactory(); - var optimizedORCApp = new OptimizedORCApp(configs, fileByteRangeProviderFactory); + var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); stopWatch.Start(); diff --git a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj index c4d11ae..1c678f1 100644 --- a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj +++ b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs index 187dd91..3fc9d02 100644 --- a/src/ApacheOrcDotNet/Encodings/BitManipulation.cs +++ b/src/ApacheOrcDotNet/Encodings/BitManipulation.cs @@ -3,10 +3,11 @@ using System.IO; using System.Linq; using System.Numerics; +using System.Threading.Tasks; namespace ApacheOrcDotNet.Encodings { - public static class BitManipulation + public static class BitManipulation { public static byte CheckedReadByte(this Stream stream) { @@ -27,20 +28,6 @@ public static long ReadLongBE(this Stream stream, int numBytes) return result; } - public static long ReadLongBE(this ReadOnlySpan buffer, int numBytes) - { - if (buffer.Length < numBytes) - throw new InvalidOperationException("Attempt to read past end of stream"); - - long result = 0; - for (int i = numBytes - 1; i >= 0; i--) - { - long nextByte = buffer[numBytes - i - 1]; - result |= nextByte << (i * 8); - } - return result; - } - public static float ReadFloat(this byte[] buffer, int startIndex) { return BitConverter.ToSingle(buffer, startIndex); @@ -247,37 +234,6 @@ public static IEnumerable ReadBitpackedIntegers(this Stream stream, int bi } } - public static int ReadBitpackedIntegers(this ReadOnlySpan stream, bool isSigned, int bitWidth, int count, Span values) - { - var bytesRead = 0; - byte currentByte = 0; - int bitsAvailable = 0; - for (int i = 0; i < count; i++) - { - ulong result = 0; - int neededBits = bitWidth; - while (neededBits > bitsAvailable) - { - result <<= bitsAvailable; //Make space for incoming bits - result |= currentByte & ((1u << bitsAvailable) - 1); //OR in the bits - neededBits -= bitsAvailable; - currentByte = stream[bytesRead++]; - bitsAvailable = 8; - } - - if (neededBits > 0) //Left over bits - { - result <<= neededBits; - bitsAvailable -= neededBits; - result |= ((ulong)currentByte >> bitsAvailable) & ((1ul << neededBits) - 1); - } - - values[i] = isSigned ? ((long)result).ZigzagDecode() : (long)result; - } - - return bytesRead; - } - public static void WriteBitpackedIntegers(this Stream stream, IEnumerable values, int bitWidth) { byte currentByte = 0; @@ -323,22 +279,6 @@ public static long ReadVarIntUnsigned(this Stream stream) return result; } - public static long ReadVarIntUnsigned(this ReadOnlySpan buffer, ref int offset) - { - long result = 0; - long currentByte; - int bitCount = 0; - do - { - currentByte = buffer[offset++]; - result |= (currentByte & 0x7f) << bitCount; - bitCount += 7; - } - while (currentByte >= 0x80); //Done when the high bit is not set - - return result; - } - public static void WriteVarIntUnsigned(this Stream stream, long value) { while (true) @@ -364,12 +304,6 @@ public static long ReadVarIntSigned(this Stream stream) return unsigned.ZigzagDecode(); } - public static long ReadVarIntSigned(this ReadOnlySpan buffer, ref int offset) - { - var unsigned = ReadVarIntUnsigned(buffer, ref offset); - return unsigned.ZigzagDecode(); - } - public static void WriteVarIntSigned(this Stream stream, long value) { var encodedValue = value.ZigzagEncode(); diff --git a/src/ApacheOrcDotNet/Protocol/RowIndex.cs b/src/ApacheOrcDotNet/Protocol/RowIndex.cs index f70808d..20a3692 100644 --- a/src/ApacheOrcDotNet/Protocol/RowIndex.cs +++ b/src/ApacheOrcDotNet/Protocol/RowIndex.cs @@ -1,12 +1,9 @@ using ProtoBuf; -using System; using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; namespace ApacheOrcDotNet.Protocol { - [ProtoContract] + [ProtoContract] public class RowIndex { [ProtoMember(1)] diff --git a/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs b/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs index 83788d5..be5cf57 100644 --- a/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs +++ b/src/ApacheOrcDotNet/Protocol/RowIndexEntry.cs @@ -1,13 +1,10 @@ using ApacheOrcDotNet.Statistics; using ProtoBuf; -using System; using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; namespace ApacheOrcDotNet.Protocol { - [ProtoContract] + [ProtoContract] public class RowIndexEntry { [ProtoMember(1, IsPacked = true)] diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b949448..195788a 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index d875837..60e2cfc 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,140 +1,135 @@ -using ApacheOrcDotNet.OptimizedReader.Encodings; -using ApacheOrcDotNet.Protocol; -using System; -using System.Globalization; -using System.Linq; -using Xunit; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class OrcReader_Test - { - readonly IByteRangeProvider _byteRangeProvider; - public OrcReader_Test() - { - _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); - } - - [Fact] - public void FileTail_DefaultOptomisticSize() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var expectedColumns = new[] - { - new ColumnDetail(1, "Source", ColumnTypeKind.String), - new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), - new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), - }; - Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); - } - - [Fact] - public void FileTail_MinimumInitialReadSize() - { - var reader = new OrcReader(new OrcReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); - var expectedColumns = new[] - { - new ColumnDetail(1, "Source", ColumnTypeKind.String), - new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), - new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), - }; - Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); - } - - [Fact] - public void FileColumnStatistics() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); - Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); - Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); - Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); - Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); - Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); - Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum, CultureInfo.InvariantCulture)); - Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum, CultureInfo.InvariantCulture)); - } - - [Fact] - public void StripeColumnStatistics() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); - Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); - Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); - Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); - Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); - Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); - Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum, CultureInfo.InvariantCulture)); - Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum, CultureInfo.InvariantCulture)); - } - - [Fact] - public void RowGroupStatistics() - { - var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); - var rowGroupDetail = rowGroupDetails[0]; - Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); - Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); - Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); - Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_ShortRepeat() - { - Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; - Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; - Span output = stackalloc long[5]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_Direct() - { - Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; - Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; - Span output = stackalloc long[4]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_PatchedBase() - { - Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; - Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; - Span output = stackalloc long[20]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - - [Fact] - public void IntegerRunLengthEncoding_Read_Delta() - { - Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; - Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; - Span output = stackalloc long[10]; - - var position = new Position(ChunkFileOffset: 0, DecompressedOffset: null, ValueOffset: 0, ValueOffset2: null); - var bytesRead = SpanIntegerRunLengthEncodingV2.ReadValues(input, position, isSigned: false, output); - - for (int i = 0; i < expected.Length; i++) - Assert.Equal(expected[i], output[i]); - } - } -} +//using ApacheOrcDotNet.OptimizedReader.Encodings; +//using ApacheOrcDotNet.Protocol; +//using System; +//using System.Linq; +//using Xunit; + +//namespace ApacheOrcDotNet.OptimizedReader +//{ +// public class OrcReader_Test +// { +// readonly IByteRangeProvider _byteRangeProvider; +// public OrcReader_Test() +// { +// _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); +// } + +// [Fact] +// public void FileTail_DefaultOptomisticSize() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// var expectedColumns = new[] +// { +// new ColumnDetail(1, "Source", ColumnTypeKind.String), +// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), +// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), +// }; +// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); +// } + +// [Fact] +// public void FileTail_MinimumInitialReadSize() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); +// var expectedColumns = new[] +// { +// new ColumnDetail(1, "Source", ColumnTypeKind.String), +// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), +// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), +// }; +// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); +// } + +// [Fact] +// public void FileColumnStatistics() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); +// Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); +// Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); +// Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); +// Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); +// Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); +// Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); +// Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); +// } + +// [Fact] +// public void StripeColumnStatistics() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); +// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); +// Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); +// Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); +// Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); +// Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); +// Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum)); +// Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum)); +// } + +// [Fact] +// public void RowGroupStatistics() +// { +// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); +// var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); +// var rowGroupDetail = rowGroupDetails[0]; +// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); +// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); +// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); +// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_ShortRepeat() +// { +// Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; +// Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; +// Span output = stackalloc long[5]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_Direct() +// { +// Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; +// Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; +// Span output = stackalloc long[4]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_PatchedBase() +// { +// Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; +// Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; +// Span output = stackalloc long[20]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } + +// [Fact] +// public void IntegerRunLengthEncoding_Read_Delta() +// { +// Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; +// Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; +// Span output = stackalloc long[10]; + +// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); + +// for (int i = 0; i < expected.Length; i++) +// Assert.Equal(expected[i], output[i]); +// } +// } +//} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index b4bde64..a9d96fd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -9,7 +9,7 @@ public class TestByteRangeProvider : IByteRangeProvider { readonly bool _writeRequestedRangesToFile; readonly bool _readRequestedRangesFromFile; - readonly Dictionary<(bool isFromEnd, int position, int length), Stream> _openFiles = new(); + readonly Dictionary<(bool isFromEnd, long position, int length), Stream> _openFiles = new(); readonly static object _fileLock = new(); public TestByteRangeProvider(bool writeRequestedRangesToFile, bool readRequestedRangesFromFile) @@ -27,7 +27,7 @@ public void Dispose() file.Dispose(); } - public void GetRange(Span buffer, int position) + public int GetRange(Span buffer, long position) { var reader = GetOpenStreamForRange(false, position, buffer.Length); if (!_readRequestedRangesFromFile) @@ -43,9 +43,10 @@ public void GetRange(Span buffer, int position) outputStream.Write(buffer); } } + return buffer.Length; } - public void GetRangeFromEnd(Span buffer, int positionFromEnd) + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); if (!_readRequestedRangesFromFile) @@ -61,9 +62,10 @@ public void GetRangeFromEnd(Span buffer, int positionFromEnd) outputStream.Write(buffer); } } + return buffer.Length; } - Stream GetOpenStreamForRange(bool isFromEnd, int position, int length) + Stream GetOpenStreamForRange(bool isFromEnd, long position, int length) { if (_openFiles.TryGetValue((isFromEnd, position, length), out var existingStream)) return existingStream; @@ -92,7 +94,7 @@ Stream GetOpenStreamForRange(bool isFromEnd, int position, int length) } } - string GetRangeFilename(bool isFromEnd, int position, int length) + string GetRangeFilename(bool isFromEnd, long position, int length) { string fromEnd = isFromEnd ? "fromEnd" : "fromStart"; return $"orctest_{fromEnd}_{position}_{length}.orc"; From 69546771e269a8dc47d9e84327d46e5ce010ea84 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 18 May 2022 19:35:35 -0300 Subject: [PATCH 045/143] Add missing readers for ints, dates, doubles, etc.. --- .gitignore | 3 + perf/MicroBenchmarks/NullableBenchmarks.cs | 48 +++ perf/MicroBenchmarks/Program.cs | 2 +- perf/MicroBenchmarks/ReaderBenchmarks.cs | 12 - .../ByteRangeProviderExtensions.cs | 54 --- .../{Specialized => }/BaseColumnReader.cs | 269 ++++++++------- ...naryReader.cs => OptimizedBinaryReader.cs} | 66 ++-- ...eanReader.cs => OptimizedBooleanReader.cs} | 12 +- .../ByteReader.cs => OptimizedByteReader.cs} | 12 +- .../ColumTypes/OptimizedColumnReader.cs | 313 ------------------ .../DateReader.cs => OptimizedDateReader.cs} | 12 +- .../ColumTypes/OptimizedDecimalReader.cs | 153 +-------- ...V2Reader.cs => OptimizedDecimalReader2.cs} | 12 +- ...ubleReader.cs => OptimizedDoubleReader.cs} | 16 +- ...tV2Reader.cs => OptimizedIntegerReader.cs} | 12 +- .../ColumTypes/OptimizedLongReader.cs | 95 ------ .../ColumTypes/OptimizedStringReader.cs | 202 ++++++----- ...pReader.cs => OptimizedTimestampReader.cs} | 12 +- .../Specialized/DecimalDirectV2Reader.cs | 71 ---- .../Specialized/StringDictionaryV2Reader.cs | 98 ------ .../Specialized/StringDirectV2Reader.cs | 86 ----- .../ColumnDetail.cs | 6 + .../OptimizedByteRunLengthEncodingReader.cs | 3 +- .../Encodings/OptimizedStrings.cs | 184 ---------- .../ByteRangeProviderExtensions.cs | 26 ++ .../FileByteRangeProvider.cs | 2 +- .../FileByteRangeProviderFactory.cs} | 4 +- .../IByteRangeProvider.cs | 2 +- .../IByteRangeProviderFactory.cs | 2 +- .../MemoryMappedFileRangeProvider.cs | 57 ++++ .../MemoryMappedFileRangeProviderFactory.cs | 12 + .../{ => Infrastructure}/SpanFileTail.cs | 5 +- .../{ => Infrastructure}/SpanStripeFooter.cs | 2 +- .../{ => Infrastructure}/StatsExtensions.cs | 62 +--- .../OrcOptimizedReader.cs | 211 +++--------- .../OrcReader.cs | 255 -------------- .../OrcReaderResultSet.cs | 16 - .../Specialized => }/ReaderContext.cs | 7 +- .../SpanRowGroupIndex.cs | 62 ---- .../OptimizedORCApp.cs | 22 +- .../Program.cs | 4 +- .../TestByteRangeProvider.cs | 1 + 42 files changed, 574 insertions(+), 1931 deletions(-) create mode 100644 perf/MicroBenchmarks/NullableBenchmarks.cs delete mode 100644 perf/MicroBenchmarks/ReaderBenchmarks.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized => }/BaseColumnReader.cs (62%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/BinaryReader.cs => OptimizedBinaryReader.cs} (54%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/BooleanReader.cs => OptimizedBooleanReader.cs} (83%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/ByteReader.cs => OptimizedByteReader.cs} (83%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/DateReader.cs => OptimizedDateReader.cs} (84%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/DecimalAsDoubleDirectV2Reader.cs => OptimizedDecimalReader2.cs} (87%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/DoubleReader.cs => OptimizedDoubleReader.cs} (78%) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/IntegerDirectV2Reader.cs => OptimizedIntegerReader.cs} (82%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{Specialized/TimestampReader.cs => OptimizedTimestampReader.cs} (91%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/FileByteRangeProvider.cs (95%) rename src/ApacheOrcDotNet.OptimizedReader/{ByteRangeProviderFactory.cs => Infrastructure/FileByteRangeProviderFactory.cs} (82%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/IByteRangeProvider.cs (78%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/IByteRangeProviderFactory.cs (70%) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/SpanFileTail.cs (96%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/SpanStripeFooter.cs (96%) rename src/ApacheOrcDotNet.OptimizedReader/{ => Infrastructure}/StatsExtensions.cs (54%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs rename src/ApacheOrcDotNet.OptimizedReader/{ColumTypes/Specialized => }/ReaderContext.cs (88%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs diff --git a/.gitignore b/.gitignore index c60110b..8fd7c57 100644 --- a/.gitignore +++ b/.gitignore @@ -251,3 +251,6 @@ paket-files/ .idea/ *.sln.iml launchSettings.json + +# Benchamarks +**/BenchmarkDotNet.Artifacts/results diff --git a/perf/MicroBenchmarks/NullableBenchmarks.cs b/perf/MicroBenchmarks/NullableBenchmarks.cs new file mode 100644 index 0000000..703c96d --- /dev/null +++ b/perf/MicroBenchmarks/NullableBenchmarks.cs @@ -0,0 +1,48 @@ +using BenchmarkDotNet.Attributes; + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class NullableBenchmarks + { + [Benchmark] + public int IntAllocation() + { + return int.MaxValue; + } + + [Benchmark] + public int? IntAllocationNullable() + { + int? value = null; + return value; + } + + [Benchmark] + public decimal DecimalAllocation() + { + return decimal.MaxValue; + } + + [Benchmark] + public decimal? DecimalAllocationNullable() + { + decimal? value = null; + return value; + } + + [Benchmark] + public double DoubleAllocation() + { + return double.MaxValue; + } + + [Benchmark] + public double? DoubleAllocationNullable() + { + double? value = null; + return value; + } + } +} diff --git a/perf/MicroBenchmarks/Program.cs b/perf/MicroBenchmarks/Program.cs index 3e46cbc..6ed0b6e 100644 --- a/perf/MicroBenchmarks/Program.cs +++ b/perf/MicroBenchmarks/Program.cs @@ -6,7 +6,7 @@ internal class Program { static void Main(string[] args) { - _ = BenchmarkRunner.Run(); + _ = BenchmarkRunner.Run(); } } } diff --git a/perf/MicroBenchmarks/ReaderBenchmarks.cs b/perf/MicroBenchmarks/ReaderBenchmarks.cs deleted file mode 100644 index 2fb03d8..0000000 --- a/perf/MicroBenchmarks/ReaderBenchmarks.cs +++ /dev/null @@ -1,12 +0,0 @@ -using BenchmarkDotNet.Attributes; - -namespace MicroBenchmarks -{ - [RankColumn] - [MemoryDiagnoser] - public class ReaderBenchmarks - { - [Benchmark] - public int Standard() => default; // TODO: Add Benchmarks. - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs deleted file mode 100644 index 8e84dde..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderExtensions.cs +++ /dev/null @@ -1,54 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public static class ByteRangeProviderExtensions - { - public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) - { - var buffer = ArrayPool.Shared.Rent(compressedLength); - - try - { - var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); - - provider.GetRange(bufferSpan, offset); - - return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - - /// - /// Retrieves data from byte range, decompresses it, provides it to the parser, and then releases it - /// - /// - /// Any data returned from the parser must be a copy and not a reference to the input bytes - /// - public static TResult DecompressAndParseByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize, Func, TResult> parser) - { - var buffer = ArrayPool.Shared.Rent(compressedLength); - TResult result; - try - { - var bufferSpan = buffer.AsSpan()[..compressedLength]; - provider.GetRange(bufferSpan, offset); //TODO support > 2TB files - using (var decompressed = new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize)) - { - result = parser(decompressed.Sequence); - } - } - finally - { - ArrayPool.Shared.Return(buffer); - } - - return result; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs similarity index 62% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index b08689e..bd3e7c1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.Encodings; using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; using System.Buffers; @@ -8,7 +9,7 @@ using System.Numerics; using System.Runtime.CompilerServices; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { public readonly record struct StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); @@ -23,7 +24,7 @@ public BaseColumnReader(ReaderContext readerContext) { _readerContext = readerContext; _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); - _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; + _numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); } public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); @@ -62,33 +63,44 @@ private protected int ReadByteStream(StreamDetail stream, in StreamPositions pos ); var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + try { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) + using (dataBuffer) { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = valuesBufferSpan[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = valuesBufferSpan[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; } } - - return numValuesRead; + finally + { + ArrayPool.Shared.Return(valuesBuffer); + } } [SkipLocalsInit] @@ -104,63 +116,74 @@ private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions compressionBlockSize: _readerContext.CompressionBlockSize ); - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + using (dataBuffer) { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); + var valuesBuffer = ArrayPool.Shared.Rent(1_000); - for (int idx = 0; idx < numByteValuesRead; idx++) + try { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + finally + { + ArrayPool.Shared.Return(valuesBuffer); } } - - return numValuesRead; } [SkipLocalsInit] @@ -180,34 +203,45 @@ private protected int ReadNumericStream(StreamDetail stream, in StreamPositions ); var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + try { - var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( - ref dataReader, - isSigned, - valuesBufferSpan - ); + var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - for (int idx = 0; idx < numNewValuesRead; idx++) + using (dataBuffer) { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = (int)valuesBuffer[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( + ref dataReader, + isSigned, + valuesBufferSpan + ); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)valuesBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; } } - - return numValuesRead; + finally + { + ArrayPool.Shared.Return(valuesBuffer); + } } [SkipLocalsInit] @@ -227,27 +261,30 @@ private protected int ReadVarIntStream(StreamDetail stream, StreamPositions posi compressionBlockSize: _readerContext.CompressionBlockSize ); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) + using (dataBuffer) { - var bigInt = ReadBigVarInt(ref dataReader); + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - if (!bigInt.HasValue) - break; + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; - if (skippedValues++ < positions.ValuesToSkip) - continue; + outputValues[numValuesRead++] = bigInt.Value; - outputValues[numValuesRead++] = bigInt.Value; + if (numValuesRead >= outputValues.Length) + break; + } - if (numValuesRead >= outputValues.Length) - break; + return numValuesRead; } - - return numValuesRead; } private protected StreamPositions GetPresentStreamPositions(StreamDetail presentStream) @@ -347,7 +384,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (!stream.TryRead(out var currentByte)) return null; // Reached the end of the stream - currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); + currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; bitCount += 7; if (bitCount % 63 == 0) @@ -355,7 +392,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (bitCount == 63) value = new BigInteger(currentLong); else - value |= new BigInteger(currentLong) << (bitCount - 63); + value |= new BigInteger(currentLong) << bitCount - 63; currentLong = 0; } @@ -367,7 +404,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (currentLong != 0) // Some bits left to add to result { - var shift = (bitCount / 63) * 63; + var shift = bitCount / 63 * 63; value |= new BigInteger(currentLong) << shift; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs similarity index 54% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs index 7b29739..bdc95a0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BinaryReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs @@ -1,20 +1,19 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class BinaryReader : BaseColumnReader + public class OptimizedBinaryReader : BaseColumnReader { - public BinaryReader(ReaderContext readerContext) : base(readerContext) + public OptimizedBinaryReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var lengthStream = GetStripeStream(StreamKind.Length); var dataStream = GetStripeStream(StreamKind.Data); @@ -40,38 +39,41 @@ public override void FillBuffer() compressionBlockSize: _readerContext.CompressionBlockSize ); - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStreamRequired) + using (dataBuffer) { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) { - if (presentBuffer[idx]) + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; - if (_numValuesRead >= _numMaxValuesToRead) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) + else { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; - if (_numValuesRead >= _numMaxValuesToRead) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs similarity index 83% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs index ed8170e..f58383b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/BooleanReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs @@ -2,19 +2,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class BooleanReader : BaseColumnReader + public class OptimizedBooleanReader : BaseColumnReader { - public BooleanReader(ReaderContext readerContext) : base(readerContext) + public OptimizedBooleanReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -31,7 +29,7 @@ public override void FillBuffer() var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs similarity index 83% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs index b34ec65..f37f5ee 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ByteReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs @@ -2,19 +2,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class ByteReader : BaseColumnReader + public class OptimizedByteReader : BaseColumnReader { - public ByteReader(ReaderContext readerContext) : base(readerContext) + public OptimizedByteReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -31,7 +29,7 @@ public override void FillBuffer() var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs deleted file mode 100644 index 1bbfadc..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedColumnReader.cs +++ /dev/null @@ -1,313 +0,0 @@ -using ApacheOrcDotNet.Encodings; -using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; -using ApacheOrcDotNet.OptimizedReader.Encodings; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.IO; -using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public abstract class OptimizedColumnReader - { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedColumnReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) - { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; - } - - protected ColumnEncodingKind? GetColumnEncodingKind(StreamKind streamKind) - { - var stripeStream = GetStripeStream(streamKind); - if (stripeStream == null) - return null; - return stripeStream.EncodingKind; - } - - protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) - { - var stream = _readContext.Streams.SingleOrDefault(stream => - stream.ColumnId == _readContext.Column.ColumnId - && stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); - - return stream; - } - - [SkipLocalsInit] - protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) - { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) - throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); - - int skippedValues = 0; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) - { - var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( - ref dataReader, - isSigned, - valuesBufferSpan - ); - - for (int idx = 0; idx < numNewValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = (int)valuesBuffer[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - - [SkipLocalsInit] - protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) - { - if (stream == null) - return 0; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - - [SkipLocalsInit] - protected void ReadByteStream(StreamKind streamKind, Span outputValues, out int numValuesRead) - { - numValuesRead = 0; - - var stream = GetStripeStream(streamKind); - if (stream == null) - return; - - int skippedValues = 0; - int rowGroupOffset = streamKind switch - { - StreamKind.Secondary => _readContext.GetRowEntryPosition(2), - StreamKind.Length => _readContext.GetRowEntryPosition(0), - StreamKind.Data => _readContext.GetRowEntryPosition(0), - _ => throw new NotImplementedException() - }; - int rowEntryOffset = (streamKind, _readContext.Column.ColumnType) switch - { - (StreamKind.Length, ColumnTypeKind.String) => 0, - (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(3), - (StreamKind.Data, _) => _readContext.GetRowEntryPosition(1), - _ => throw new NotImplementedException() - }; - int valuesToSkip = (streamKind, _readContext.Column.ColumnType) switch - { - (StreamKind.Length, ColumnTypeKind.String) => 0, - (StreamKind.Secondary, _) => _readContext.GetRowEntryPosition(4), - (StreamKind.Data, _) => _readContext.GetRowEntryPosition(2), - _ => throw new NotImplementedException() - }; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + rowGroupOffset, - compressedLength: stream.Length - rowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var dataReader = new SequenceReader(dataBuffer.Sequence); - - dataReader.Advance(rowEntryOffset); - - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < valuesToSkip) - continue; - - outputValues[numValuesRead++] = valuesBufferSpan[idx]; - - if (numValuesRead >= outputValues.Length) - return; - } - } - } - - [SkipLocalsInit] - protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) - { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - int skippedValues = 0; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) - { - var bigInt = ReadBigVarInt(ref dataReader); - - if (!bigInt.HasValue) - break; - - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = bigInt.Value; - - if (numValuesRead >= outputValues.Length) - break; - } - - return numValuesRead; - } - - private static BigInteger? ReadBigVarInt(ref SequenceReader stream) - { - var value = BigInteger.Zero; - long currentLong = 0; - int bitCount = 0; - - while (true) - { - if (!stream.TryRead(out var currentByte)) - return null; // Reached the end of the stream - - currentLong |= ((long)currentByte & 0x7f) << (bitCount % 63); - bitCount += 7; - - if (bitCount % 63 == 0) - { - if (bitCount == 63) - value = new BigInteger(currentLong); - else - value |= new BigInteger(currentLong) << (bitCount - 63); - - currentLong = 0; - } - - // Done when the high bit is set - if (currentByte < 0x80) - break; - } - - if (currentLong != 0) // Some bits left to add to result - { - var shift = (bitCount / 63) * 63; - value |= new BigInteger(currentLong) << shift; - } - - // Un zig-zag - return ((long)value).ZigzagDecode(); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs similarity index 84% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs index 6f5eeac..96db663 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DateReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs @@ -2,21 +2,19 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class DateTimeReader : BaseColumnReader + public class OptimizedDateReader : BaseColumnReader { readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - public DateTimeReader(ReaderContext readerContext) : base(readerContext) + public OptimizedDateReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -32,7 +30,7 @@ public override void FillBuffer() var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - if (presentStreamRequired) + if (presentStream != null) { var dataIndex = 0; for (int idx = 0; idx < numPresentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs index 2a4686c..46a3d75 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs @@ -2,98 +2,51 @@ using System; using System.Buffers; using System.Numerics; -using System.Runtime.CompilerServices; namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class OptimizedDecimalReader : OptimizedColumnReader + public class OptimizedDecimalReader : BaseColumnReader { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedDecimalReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) - { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; - } - - [SkipLocalsInit] - public int Read(Span outputValues) + public OptimizedDecimalReader(ReaderContext readerContext) : base(readerContext) { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Secondary - var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream: null, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var numValuesRead = 0; - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } } - [SkipLocalsInit] - public int Read(Span outputValues) + public override void FillBuffer() { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var secondaryStream = GetStripeStream(StreamKind.Secondary); - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Secondary - var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - var numValuesRead = 0; var secondaryIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { if (presentBuffer[idx]) { - outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); secondaryIndex++; } else - outputValues[numValuesRead++] = null; + _outputValuesRaw[_numValuesRead++] = null; } } else @@ -102,66 +55,8 @@ public int Read(Span outputValues) throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); for (int idx = 0; idx < numSecondaryValuesRead; idx++) - outputValues[numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - } - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - - [SkipLocalsInit] - public int ReadAsDouble(Span outputValues) - { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Secondary - var secondaryPostions = _readContext.GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var numValuesRead = 0; - if (presentStreamRequired) - { - var secondaryIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[secondaryIndex++]); - else - outputValues[numValuesRead++] = double.NaN; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - outputValues[numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); + _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); } - - return numValuesRead; } finally { @@ -170,19 +65,5 @@ public int ReadAsDouble(Span outputValues) ArrayPool.Shared.Return(secondaryBuffer); } } - - private double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); - - private decimal BigIntegerToDecimal(BigInteger numerator, long scale) - { - if (scale < 0 || scale > 255) - throw new OverflowException("Scale must be positive number"); - - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow - var scaler = new decimal(1, 0, 0, false, (byte)scale); - - return decNumerator * scaler; - } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs similarity index 87% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs index 8fd400d..0216639 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalAsDoubleDirectV2Reader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs @@ -3,19 +3,17 @@ using System.Buffers; using System.Numerics; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class DecimalAsDoubleDirectV2Reader : BaseColumnReader + public class OptimizedDecimalReader2 : BaseColumnReader { - public DecimalAsDoubleDirectV2Reader(ReaderContext readerContext) : base(readerContext) + public OptimizedDecimalReader2(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var secondaryStream = GetStripeStream(StreamKind.Secondary); @@ -38,7 +36,7 @@ public override void FillBuffer() var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var secondaryIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs similarity index 78% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs index c053244..9a7120e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DoubleReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs @@ -3,19 +3,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class DoubleReader : BaseColumnReader + public class OptimizedDoubleReader : BaseColumnReader { - public DoubleReader(ReaderContext readerContext) : base(readerContext) + public OptimizedDoubleReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -32,13 +30,13 @@ public override void FillBuffer() var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { if (presentBuffer[idx]) { - _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); dataIndex += 8; } else @@ -49,7 +47,7 @@ public override void FillBuffer() { for (int idx = 0; idx < numDataValuesRead; idx++) { - _outputValuesRaw[_numValuesRead++] = BitManipulation.ReadDouble(dataBuffer, dataIndex); + _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); dataIndex += 8; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs similarity index 82% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs index a7b9103..cffcd25 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/IntegerDirectV2Reader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs @@ -2,19 +2,17 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class IntegerDirectV2Reader : BaseColumnReader + public class OptimizedIntegerReader : BaseColumnReader { - public IntegerDirectV2Reader(ReaderContext readerContext) : base(readerContext) + public OptimizedIntegerReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); @@ -31,7 +29,7 @@ public override void FillBuffer() var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); var dataIndex = 0; - if (presentStreamRequired) + if (presentStream != null) { for (int idx = 0; idx < numPresentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs deleted file mode 100644 index 2980557..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedLongReader.cs +++ /dev/null @@ -1,95 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Runtime.CompilerServices; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedLongReader : OptimizedColumnReader - { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedLongReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) - { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; - } - - [SkipLocalsInit] - public int Read(Span outputValues) - { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var dataStream = GetStripeStream(StreamKind.Data); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Data - var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream: null, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataStreamPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var numValuesRead = 0; - for (int idx = 0; idx < numDataValuesRead; idx++) - outputValues[numValuesRead++] = dataBuffer[idx]; - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(dataBuffer); - } - } - - [SkipLocalsInit] - public int Read(Span outputValues) - { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - - try - { - // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); - - // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); - - var dataIndex = 0; - var numValuesRead = 0; - if (presentStreamRequired) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - outputValues[numValuesRead++] = dataBuffer[dataIndex++]; - else - outputValues[numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - outputValues[numValuesRead++] = dataBuffer[idx]; - } - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs index 353f534..5fcffba 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; using System; using System.Buffers; using System.Collections.Generic; @@ -7,96 +8,92 @@ namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class OptimizedStringReader : OptimizedColumnReader + public class OptimizedStringReader : BaseColumnReader { - private readonly SpanFileTail _fileTail; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly ReaderContextOld _readContext; - - public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReaderContextOld readContext) : base(fileTail, byteRangeProvider, readContext) + public OptimizedStringReader(ReaderContext readerContext) : base(readerContext) { - _fileTail = fileTail; - _byteRangeProvider = byteRangeProvider; - _readContext = readContext; } - [SkipLocalsInit] - public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch + public override void FillBuffer() { - ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), - ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), - _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") - }; + switch (_readerContext.ColumnEncodingKind) + { + case ColumnEncodingKind.DirectV2: + ReadDirectV2(); + break; + case ColumnEncodingKind.DictionaryV2: + ReadDictionaryV2(); + break; + default: + throw new InvalidOperationException(); + } + } - [SkipLocalsInit] - private int ReadDirectV2(Span outputValues) + private void ReadDirectV2() { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var lengthStream = GetStripeStream(StreamKind.Length); var dataStream = GetStripeStream(StreamKind.Data); - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Length - var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead)); + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Data - var dataStreamPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _byteRangeProvider.DecompressByteRange( + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize ); - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - var numValuesRead = 0; - if (presentStreamRequired) + using (dataBuffer) { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) { - if (presentBuffer[idx]) + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var length = (int)lengthsBuffer[lengthIndex++]; - outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; + if (presentBuffer[idx]) + { + var length = (int)lengthsBuffer[lengthIndex++]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + _outputValuesRaw[_numValuesRead++] = null; + + if (_numValuesRead >= _numMaxValuesToRead) + break; } - else - outputValues[numValuesRead++] = null; - - if (numValuesRead >= outputValues.Length) - break; } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) + else { - var length = (int)lengthsBuffer[idx]; - outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthsBuffer[idx]; + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; - if (numValuesRead >= outputValues.Length) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } - - return numValuesRead; } finally { @@ -106,82 +103,79 @@ private int ReadDirectV2(Span outputValues) } [SkipLocalsInit] - private int ReadDictionaryV2(Span outputValues) + private void ReadDictionaryV2() { - var maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; - var presentStreamRequired = _readContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var lengthStream = GetStripeStream(StreamKind.Length); var dataStream = GetStripeStream(StreamKind.Data); var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); var dictionarySize = lengthStream.DictionarySize; - var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); - var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); + var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { // Present - var presentPositions = _readContext.GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, maxValuesToRead)); + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Length - var lengthPositions = _readContext.GetTargetedStreamPositions(presentStream, lengthStream); + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); // Data - var dataPostions = _readContext.GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead)); + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Dictionary Data - var dictionaryDataPositions = _readContext.GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _byteRangeProvider.DecompressByteRange( + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _fileTail.PostScript.Compression, - compressionBlockSize: (int)_fileTail.PostScript.CompressionBlockSize + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize ); - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) + using (decompressedBuffer) { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } - var numValuesRead = 0; - if (presentStreamRequired) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (presentStream != null) { - if (presentBuffer[idx]) - outputValues[numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - outputValues[numValuesRead++] = null; + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + _outputValuesRaw[_numValuesRead++] = null; - if (numValuesRead >= outputValues.Length) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) + else { - outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - if (numValuesRead >= outputValues.Length) - break; + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } - - return numValuesRead; } finally { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs similarity index 91% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs index 73417ea..bc15c4e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/TimestampReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs @@ -2,21 +2,19 @@ using System; using System.Buffers; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class TimestampReader : BaseColumnReader + public class OptimizedTimestampReader : BaseColumnReader { readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - public TimestampReader(ReaderContext readerContext) : base(readerContext) + public OptimizedTimestampReader(ReaderContext readerContext) : base(readerContext) { } public override void FillBuffer() { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(StreamKind.Data); var secondaryStream = GetStripeStream(StreamKind.Secondary); @@ -38,7 +36,7 @@ public override void FillBuffer() var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - if (presentStreamRequired) + if (presentStream != null) { var secondaryIndex = 0; for (int idx = 0; idx < numPresentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs deleted file mode 100644 index 81eaf2a..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/DecimalDirectV2Reader.cs +++ /dev/null @@ -1,71 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Numerics; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized -{ - public class DecimalDirectV2Reader : BaseColumnReader - { - public DecimalDirectV2Reader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var secondaryIndex = 0; - if (presentStreamRequired) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs deleted file mode 100644 index 3697dc5..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDictionaryV2Reader.cs +++ /dev/null @@ -1,98 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized -{ - public class StringDictionaryV2Reader : BaseColumnReader - { - public StringDictionaryV2Reader(ReaderContext readerContext) : base(readerContext) - { - } - - [SkipLocalsInit] - public override void FillBuffer() - { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, isRequired: presentStreamRequired); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); - - var dictionarySize = lengthStream.DictionarySize; - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } - - if (presentStreamRequired) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(dataBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthBuffer, clearArray: false); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs deleted file mode 100644 index 9c3a83f..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/StringDirectV2Reader.cs +++ /dev/null @@ -1,86 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Text; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized -{ - public class StringDirectV2Reader : BaseColumnReader - { - public StringDirectV2Reader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStreamRequired = _readerContext.RowIndexEntry.Statistics.HasNull; - - var presentStream = GetStripeStream(StreamKind.Present, presentStreamRequired); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStreamRequired) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs new file mode 100644 index 0000000..c06a7c6 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs @@ -0,0 +1,6 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs index eca2056..15d1e5a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs @@ -12,7 +12,7 @@ public static int ReadValues(ref SequenceReader reader, Span outputV if (!reader.TryRead(out var firstByte)) return numReadValues; - if (firstByte < 0x80) // A run + if (firstByte >= 0 && firstByte < 0x80) // A run { numReadValues = firstByte + 3; @@ -25,6 +25,7 @@ public static int ReadValues(ref SequenceReader reader, Span outputV else // Literals { numReadValues = 0x100 - firstByte; + for (int i = 0; i < numReadValues; i++) { if (!reader.TryRead(out var value)) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs deleted file mode 100644 index 477aeb7..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedStrings.cs +++ /dev/null @@ -1,184 +0,0 @@ -//using System; -//using System.Buffers; -//using System.Runtime.CompilerServices; - -//namespace ApacheOrcDotNet.OptimizedReader.Encodings -//{ -// public static class OptimizedStrings -// { -// [SkipLocalsInit] -// public static void ReadDirectV2(Span outputValues) -// { -// var numValuesRead = 0; -// var maxValuesToRead = outputValues.Length; -// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - -// try -// { -// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); -// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); - -// ReadBinaryStream( -// StreamKind.Data, -// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), -// lengthsBuffer.AsSpan().Slice(0, numLengthValuesRead), -// outputValues, -// ref numValuesRead -// ); -// } -// finally -// { -// ArrayPool.Shared.Return(presentBuffer, clearArray: false); -// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); -// } -// } -// } -//} - - -//using ApacheOrcDotNet.Protocol; -//using System; -//using System.Buffers; -//using System.IO; -//using System.Runtime.CompilerServices; - -//namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -//{ -// public class OptimizedStringReader : OptimizedColumnReader -// { -// public OptimizedStringReader(SpanFileTail fileTail, IByteRangeProvider byteRangeProvider, ReadContext readContext) : base(fileTail, byteRangeProvider, readContext) -// { -// } - -// [SkipLocalsInit] -// public int Read(Span outputValues) => GetColumnEncodingKind(StreamKind.Data) switch -// { -// ColumnEncodingKind.DirectV2 => ReadDirectV2(outputValues), -// ColumnEncodingKind.DictionaryV2 => ReadDictionaryV2(outputValues), -// _ => throw new NotImplementedException($"Unsupported column encoding: {GetColumnEncodingKind(StreamKind.Data)}") -// }; - -// [SkipLocalsInit] -// private int ReadDirectV2(Span outputValues) -// { -// var numValuesRead = 0; -// var maxValuesToRead = outputValues.Length; -// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var lengthsBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - -// try -// { -// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); -// ReadNumericStream(StreamKind.Length, isSigned: false, lengthsBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); - -// ReadBinaryStream(StreamKind.Data, presentBuffer, lengthsBuffer, outputValues, ref numValuesRead); - -// //if (numValuesRead != numLengthValuesRead) -// // throw new InvalidDataException("DATA and LENGTH streams must be available"); - -// //int stringOffset = 0; -// //if (numPresentValuesRead <= 0) -// //{ -// // for (int idx = 0; idx < numLengthValuesRead; idx++) -// // { -// // var length = (int)lengthsBuffer[idx]; -// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); -// // stringOffset += length; -// // } -// //} -// //else -// //{ -// // for (int idx = 0; idx < numPresentValuesRead; idx++) -// // { -// // var isPresent = presentBuffer[idx]; -// // if (isPresent) -// // { -// // if (idx + stringOffset >= numLengthValuesRead) -// // throw new InvalidDataException("The PRESENT data stream's length didn't match the LENGTH stream's length"); -// // var length = (int)lengthsBuffer[idx]; -// // outputValues[numValuesRead++] = Encoding.UTF8.GetString(dataBufferSpan.Slice(stringOffset, length)); -// // stringOffset += length; -// // } -// // else -// // outputValues[numValuesRead++] = null; -// // } -// //} - -// return numValuesRead; -// } -// finally -// { -// ArrayPool.Shared.Return(presentBuffer, clearArray: false); -// ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); -// } -// } - -// [SkipLocalsInit] -// private int ReadDictionaryV2(Span outputValues) -// { -// var numValuesRead = 0; -// var maxValuesToRead = outputValues.Length; -// var presentBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var lengthBuffer = ArrayPool.Shared.Rent(maxValuesToRead); -// var dataBuffer = ArrayPool.Shared.Rent(maxValuesToRead); - -// try -// { -// if (!IsDataStreamAvailable || !IsDictionaryDataStreamAvailable || !IsLengthStreamAvailable) -// throw new InvalidDataException("DATA, DICTIONARY_DATA, and LENGTH streams must be available"); - -// ReadBooleanStream(StreamKind.Present, presentBuffer.AsSpan().Slice(0, maxValuesToRead), out var numPresentValuesRead); -// ReadNumericStream(StreamKind.Data, isSigned: false, dataBuffer.AsSpan().Slice(0, maxValuesToRead), out var numDataValuesRead); -// ReadNumericStream(StreamKind.Length, isSigned: false, lengthBuffer.AsSpan().Slice(0, maxValuesToRead), out var numLengthValuesRead); - -// ReadBinaryStream( -// StreamKind.DictionaryData, -// presentBuffer.AsSpan().Slice(0, numPresentValuesRead), -// lengthBuffer.AsSpan().Slice(0, numLengthValuesRead), -// outputValues, -// ref numValuesRead -// ); - -// //int stringOffset = 0; -// //List stringsList = new(); -// //for (int idx = 0; idx < numLengthValuesRead; idx++) -// //{ -// // var length = (int)lengthBuffer[idx]; -// // var value = Encoding.UTF8.GetString(dictionaryBufferSpan.Slice(stringOffset, length)); -// // stringOffset += length; -// // stringsList.Add(value); -// //} - -// //if (numPresentValuesRead <= 0) -// //{ -// // for (int idx = 0; idx < numDataValuesRead; idx++) -// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; -// //} -// //else -// //{ -// // for (int idx = 0; idx < numPresentValuesRead; idx++) -// // { -// // var isPresent = presentBuffer[idx]; -// // if (isPresent) -// // { -// // if (idx >= numDataValuesRead) -// // throw new InvalidDataException("The PRESENT data stream's length didn't match the DATA stream's length"); -// // outputValues[numValuesRead++] = stringsList[(int)dataBuffer[idx]]; -// // } -// // else -// // outputValues[numValuesRead++] = null; -// // } -// //} - -// return numValuesRead; -// } -// finally -// { -// ArrayPool.Shared.Return(presentBuffer, clearArray: false); -// ArrayPool.Shared.Return(dataBuffer, clearArray: false); -// ArrayPool.Shared.Return(lengthBuffer, clearArray: false); -// } -// } -// } -//} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs new file mode 100644 index 0000000..66256ce --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs @@ -0,0 +1,26 @@ +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public static class ByteRangeProviderExtensions + { + public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) + { + var buffer = ArrayPool.Shared.Rent(compressedLength); + + try + { + var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); + + provider.GetRange(bufferSpan, offset); + + return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); + } + finally + { + ArrayPool.Shared.Return(buffer); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs similarity index 95% rename from src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs index 788da32..b76a554 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FileByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs @@ -1,7 +1,7 @@ using System; using System.IO; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class FileByteRangeProvider : IByteRangeProvider { diff --git a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs similarity index 82% rename from src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs index 1d64bbf..a0d67aa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs @@ -1,6 +1,4 @@ -using System; - -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class FileByteRangeProviderFactory : IByteRangeProviderFactory { diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs similarity index 78% rename from src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index 71e6bd8..ca7538a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -1,6 +1,6 @@ using System; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProvider : IDisposable { diff --git a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs similarity index 70% rename from src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs index 55463d1..5b1aa91 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/IByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs @@ -1,4 +1,4 @@ -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProviderFactory { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs new file mode 100644 index 0000000..e018156 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -0,0 +1,57 @@ +using System; +using System.IO; +using System.IO.MemoryMappedFiles; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class MemoryMappedFileRangeProvider : IByteRangeProvider + { + readonly MemoryMappedFile _memoryMappedFile; + readonly long _length; + + internal MemoryMappedFileRangeProvider(string path) + { + using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) + _length = fileStream.Length; + + _memoryMappedFile = MemoryMappedFile.CreateFromFile(path); + } + + public void Dispose() + { + _memoryMappedFile.Dispose(); + } + + public int GetRange(Span buffer, long position) + { + using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) + { + return DoRead(stream, buffer); + } + } + + public int GetRangeFromEnd(Span buffer, long positionFromEnd) + { + using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) + { + return DoRead(stream, buffer); + } + } + + private int DoRead(Stream stream, Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs new file mode 100644 index 0000000..a00a856 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs @@ -0,0 +1,12 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class MemoryMappedFileRangeProviderFactory : IByteRangeProviderFactory + { + public string Prefix => "file://"; + + public IByteRangeProvider Create(string location) + { + return new MemoryMappedFileRangeProvider(location[Prefix.Length..]); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs similarity index 96% rename from src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index db0d34c..8384cb0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -1,9 +1,8 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ProtoBuf; +using ProtoBuf; using System; using System.IO; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class SpanFileTail { diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs similarity index 96% rename from src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index b731f6e..ee63c40 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); diff --git a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs similarity index 54% rename from src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index b134fbf..1a55907 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -2,66 +2,16 @@ using ApacheOrcDotNet.Statistics; using System; -namespace ApacheOrcDotNet.OptimizedReader +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class StatsExtensions { - public static int GetNumValuesInPositionListForStream(this StreamDetail streamDetail, bool compressionEnabled) - { - if (!streamDetail.StreamHasAnyPositions()) - return 0; - - int count = 2; //All streams have a chunk offset and a value offset - if (compressionEnabled) - count++; //If compression is enabled, an offset into the decompressed chunk is also included - if (streamDetail.StreamHasSecondValuePosition()) - count++; //Some streams include an additional offset - - return count; - } - - static bool StreamHasAnyPositions(this StreamDetail streamDetail) => - (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch - { - (StreamKind.Present, _, _) => true, - (StreamKind.Data, _, _) => true, - (StreamKind.Secondary, _, _) => true, - //TODO this will need some work to fill in completely - _ => false, - }; - - - static bool StreamHasSecondValuePosition(this StreamDetail streamDetail) => - (streamDetail.StreamKind, streamDetail.ColumnType, streamDetail.EncodingKind) switch - { - (StreamKind.Present, _, _) => true, - (StreamKind.Data, ColumnTypeKind.Int, _) => false, - (StreamKind.Data, ColumnTypeKind.Long, _) => false, - (StreamKind.Data, ColumnTypeKind.Decimal, _) => false, - (StreamKind.Data, ColumnTypeKind.String, _) => false, - (StreamKind.Length, _, ColumnEncodingKind.DictionaryV2) => false, - (StreamKind.Secondary, _, _) => false, // Already secondary. - //TODO This will need some work to fill in completely - _ => throw new NotSupportedException() - }; - - public static Position GetStreamPositionFromStreamType(this StreamDetail stream, bool compressionEnabled, ReadOnlySpan positions) - { - int positionIndex = 0; - var chunkFileOffset = stream.FileOffset + (long)positions[positionIndex++]; - var decompressedOffset = compressionEnabled ? (int)positions[positionIndex++] : 0; - var valueOffset = (int)positions[positionIndex++]; - var valueOffset2 = stream.StreamHasSecondValuePosition() ? (int)positions[positionIndex++] : 0; - - return new Position(chunkFileOffset, decompressedOffset, valueOffset, valueOffset2); - } - public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { switch (columnType) { case ColumnTypeKind.Boolean: - return InRangeBoolean(stats, min == "true", max == "true"); + return stats.InRangeBoolean(min == "true", max == "true"); case ColumnTypeKind.Byte: case ColumnTypeKind.Short: case ColumnTypeKind.Int: @@ -69,19 +19,19 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp { var minVal = long.Parse(min); var maxVal = long.Parse(max); - return InRangeNumeric(stats, minVal, maxVal); + return stats.InRangeNumeric(minVal, maxVal); } case ColumnTypeKind.Float: case ColumnTypeKind.Double: { var minVal = double.Parse(min); var maxVal = double.Parse(max); - return InRangeDouble(stats, minVal, maxVal); + return stats.InRangeDouble(minVal, maxVal); } case ColumnTypeKind.String: case ColumnTypeKind.Varchar: case ColumnTypeKind.Char: - return InRangeString(stats, min, max); + return stats.InRangeString(min, max); case ColumnTypeKind.Decimal: { var minVal = decimal.Parse(min); @@ -91,7 +41,7 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); - return InRangeDecimal(stats, minVal, maxVal); + return stats.InRangeDecimal(minVal, maxVal); } default: throw new NotImplementedException($"Range check for {columnType} not implemented"); diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs index 2e73b29..0c12cd7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized; +using ApacheOrcDotNet.OptimizedReader.ColumTypes; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using ProtoBuf; @@ -15,83 +16,6 @@ public class OrcOptimizedReaderConfiguration public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } - public record ReaderContextOld(IEnumerable Streams, ColumnDetail Column, RowIndex Row, int RowEntryIndex) - { - public RowIndexEntry RowIndexEntry => Row.Entry[RowEntryIndex]; - - public int GetRowEntryPosition(int positionIndex) => (int)RowIndexEntry.Positions[positionIndex]; - - public StreamPositions GetPresentStreamPositions(StreamDetail presentStream) - { - if (presentStream == null) - return new(); - - return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); - } - - public StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) - { - var positionStep = presentStream == null ? 0 : 4; - - int rowGroupOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - - _ => throw new NotImplementedException() - }; - int rowEntryOffset = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - - _ => throw new NotImplementedException() - }; - int valuesToSkip = (targetedStream.StreamKind, Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - - _ => throw new NotImplementedException() - }; - - return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); - } - } - public sealed class OrcOptimizedReader { private readonly OrcOptimizedReaderConfiguration _configuration; @@ -157,118 +81,66 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s }); } - public BaseColumnReader CreateBinaryReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateBinaryColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new ColumTypes.Specialized.BinaryReader(readerContext); + return new OptimizedBinaryReader(readerContext); } - public BaseColumnReader CreateBooleanReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateBooleanColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new BooleanReader(readerContext); + return new OptimizedBooleanReader(readerContext); } - public BaseColumnReader CreateByteReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateByteColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new ByteReader(readerContext); + return new OptimizedByteReader(readerContext); } - public BaseColumnReader CreateDateTimeReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDateColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DateTimeReader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDateReader(readerContext); } - public BaseColumnReader CreateDecimalReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDecimalColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DecimalDirectV2Reader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDecimalReader(readerContext); } - public BaseColumnReader CreateDecimalAsDoubleReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDecimalColumnReaderAsDouble(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DecimalAsDoubleDirectV2Reader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDecimalReader2(readerContext); } - public BaseColumnReader CreateDoubleReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDoubleReader(readerContext); } - public BaseColumnReader CreateFloatReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DirectV2 => new DoubleReader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedDoubleReader(readerContext); } - public BaseColumnReader CreateIntegerReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateIntegerColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new IntegerDirectV2Reader(readerContext); + return new OptimizedIntegerReader(readerContext); } - public BaseColumnReader CreateStringReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateStringColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - var columnEncoding = GetColumnEncodingKind(readerContext.Column.ColumnId, stripeId); - - return columnEncoding switch - { - ColumnEncodingKind.DictionaryV2 => new StringDictionaryV2Reader(readerContext), - ColumnEncodingKind.DirectV2 => new StringDirectV2Reader(readerContext), - _ => throw new InvalidOperationException() - }; + return new OptimizedStringReader(readerContext); } - - - - - - - - - - - - - - - private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; @@ -293,7 +165,10 @@ private ReaderContext GetReaderContext(int stripeId, int rowEntryIndex, string c var streams = GetColumnStreams(column.ColumnId, stripeId); var rowGroup = GetRowGroupIndex(column.ColumnId, stripeId); - return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex); + return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex) + { + ColumnEncodingKind = GetColumnEncodingKind(column.ColumnId, stripeId) + }; } private IEnumerable GetStripeStreams(int stripeId) @@ -304,15 +179,18 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); var stripeFooterLength = (int)stripe.FooterLength; - var streams = _byteRangeProvider.DecompressAndParseByteRange( + var decompressedData = _byteRangeProvider.DecompressByteRange( stripeFooterStart, stripeFooterLength, _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanStripeFooter.ReadStreamDetails(sequence, _columnDetails, (long)stripe.Offset) - ).ToList(); + (int)_fileTail.PostScript.CompressionBlockSize + ); - _stripeStreams.Add(stripeId, streams); + using (decompressedData) + { + var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, _columnDetails, (long)stripe.Offset); + _stripeStreams.Add(stripeId, streams.ToList()); + } } return _stripeStreams[stripeId]; @@ -339,15 +217,18 @@ private RowIndex GetRowGroupIndex(int columnId, int stripeId) && s.ColumnId == columnId ).Single(); - var index = _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => Serializer.Deserialize(sequence) - ); - - _rowGroupIndexes.Add(key, index); + var decompressedData = _byteRangeProvider.DecompressByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + using (decompressedData) + { + var index = Serializer.Deserialize(decompressedData.Sequence); + _rowGroupIndexes.Add(key, index); + } } return _rowGroupIndexes[key]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs deleted file mode 100644 index a450528..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ /dev/null @@ -1,255 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; -using ApacheOrcDotNet.Stripes; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public record FilterArg(string ColumnName, string MinValue, string MaxValue); - public record Filter(int ColumnId, ColumnTypeKind ColumnType, string MinValue, string MaxValue); - public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); - public record StripeDetail(int StripeId, long RowCount); - public record FilterCriteria(string ColumnName, string minValue, string maxValue); - - public sealed class OrcReader - { - private readonly OrcOptimizedReaderConfiguration _configuration; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly SpanFileTail _fileTail; - private readonly Dictionary> _stripeStreams = new(); - - public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) - { - _configuration = configuration; - _byteRangeProvider = byteRangeProvider; - - _fileTail = ReadFileTail(); - if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) - throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); - - ColumnDetails = _fileTail.Footer.Types[0].FieldNames - .Select((name, i) => - { - var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; - var subTypeKind = _fileTail.Footer.Types[subType].Kind; - return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); - }) - .ToList(); - - StripeDetails = _fileTail.Footer.Stripes - .Select((stripe, i) => new StripeDetail(StripeId: i, RowCount: (long)stripe.NumberOfRows)) - .ToList(); - } - - public int GetColumnId(string columnName) => ColumnDetails.SingleOrDefault(colDetail => - colDetail.Name.ToLower() == columnName.ToLower() - ).ColumnId; - - IEnumerable GetStripeStreams(int stripeId) - { - if (!_stripeStreams.ContainsKey(stripeId)) - { - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); //TODO consider supporting >2TB files here - var stripeFooterLength = (int)stripe.FooterLength; - - var streams = _byteRangeProvider.DecompressAndParseByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) - ).ToList(); - - _stripeStreams.Add(stripeId, streams); - } - - return _stripeStreams[stripeId]; - } - - IEnumerable ReadStripeFooter(int stripeId) - { - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (int)(stripe.Offset + stripe.IndexLength + stripe.DataLength); - var stripeFooterLength = (int)stripe.FooterLength; - - var result = _byteRangeProvider.DecompressAndParseByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanStripeFooter.ReadStreamDetails(sequence, ColumnDetails, (long)stripe.Offset) - ); - - return result; - } - - SpanFileTail ReadFileTail() - { - int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; - while (true) - { - var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(buffer); - - if (success) - return fileTail; - - lengthToReadFromEnd += additionalBytesRequired; - } - } - - - - - - - - - - #region Old Implementation / Tests - - public IEnumerable ColumnDetails { get; } - public IReadOnlyCollection StripeDetails { get; } - - public List ReadOldSource(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 1); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - public List ReadOldSymbol(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.StringReader(stripeStreamReaderCollection, 8); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - public List ReadOldTime(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.DecimalReader(stripeStreamReaderCollection, 5); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - public List ReadOldSize(int stripeId) - { - var fileStream = new FileStream(@"F:\integritas\ergon\_data\_orc_db_files\2022.03.18.tmp.orc", FileMode.Open); - var stripeReaderCollection = new StripeReaderCollection(fileStream, _fileTail.Footer, _fileTail.PostScript.Compression); - var stripeStreamReaderCollection = stripeReaderCollection[stripeId].GetStripeStreamCollection(); - - var valuesReader = new ColumnTypes.LongReader(stripeStreamReaderCollection, 10); - - var values = valuesReader.Read().ToList(); - - fileStream.Dispose(); - - return values; - } - - private IEnumerable GetFilteredStripeIds(List filters) - { - var filteredStripeIds = new List(); - - for (int stripeIndex = 0; stripeIndex < _fileTail.Metadata.StripeStats.Count; stripeIndex++) - { - var isMatch = true; - - for (int colIndex = 0; colIndex < filters.Count; colIndex++) - { - var filter = filters[colIndex]; - var lookupStripeCol = GetStripeColumnStatistics(filter.ColumnId, stripeIndex); - - if (!lookupStripeCol.InRange(filter.ColumnType, filter.MinValue, filter.MaxValue)) - { - isMatch = false; - break; - } - } - - if (isMatch) - filteredStripeIds.Add(stripeIndex); - } - - return filteredStripeIds; - } - - public ColumnStatistics GetFileColumnStatistics(int columnId) - { - return _fileTail.Footer.Statistics[columnId]; - } - - public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - { - return _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - } - - public RowIndex GetRowGroupIndex(int columnId, int stripeId) - { - var streamDetails = GetStripeStreams(stripeId); - var rowIndexStream = streamDetails.Where(s => - s.StreamKind == StreamKind.RowIndex - && s.ColumnId == columnId - ).Single(); - - return _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanRowGroupIndex.ReadRowGroupIndex(sequence) - ); - } - - public IEnumerable ReadRowGroupIndex(int columnId, int stripeId) - { - var streamDetails = GetStripeStreams(stripeId); - var streamsForColumn = streamDetails.Where(s => s.ColumnId == columnId).ToList(); - var rowIndexStream = streamsForColumn.First(s => s.StreamKind == StreamKind.RowIndex); - - var result = _byteRangeProvider.DecompressAndParseByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize, - sequence => SpanRowGroupIndex.ReadRowGroupDetails(sequence, streamsForColumn, _fileTail.PostScript.Compression) - ); - - return result; - } - - #endregion - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs deleted file mode 100644 index 9280672..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReaderResultSet.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public sealed class OrcReaderResultSet where T : struct - { - public bool CopyTo(Span destination) - { - throw new NotImplementedException(); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs b/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs similarity index 88% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs rename to src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs index bf6c208..e846bf4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/Specialized/ReaderContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs @@ -1,8 +1,9 @@ -using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes.Specialized +namespace ApacheOrcDotNet.OptimizedReader { public class ReaderContext { @@ -31,5 +32,7 @@ public ReaderContext(IByteRangeProvider byteRangeProvider, SpanFileTail fileTail public RowIndexEntry RowIndexEntry { get; } public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } + + public ColumnEncodingKind ColumnEncodingKind { get; init; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs b/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs deleted file mode 100644 index 3443118..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/SpanRowGroupIndex.cs +++ /dev/null @@ -1,62 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; -using ProtoBuf; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.IO; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public record RowGroupDetail(ColumnStatistics Statistics, List StreamPositions); - public record StreamPosition(StreamDetail Stream, Position Position); - public record Position(long ChunkFileOffset, int DecompressedOffset, int ValueOffset, int ValueOffset2); - - public static class SpanRowGroupIndex - { - public static RowIndex ReadRowGroupIndex(ReadOnlySequence inputSequence) - => Serializer.Deserialize(inputSequence); - - public static IEnumerable ReadRowGroupDetails(ReadOnlySequence inputSequence, List streamDetails, CompressionKind compressionKind) - { - bool compressionEnabled = compressionKind != CompressionKind.None; - - var rowIndex = Serializer.Deserialize(inputSequence); - - foreach (var entry in rowIndex.Entry) - { - var streamPositions = new List(); - var positions = entry.Positions.ToArray().AsSpan(); - - foreach (var stream in streamDetails) - { - var numConsumedPositions = stream.GetNumValuesInPositionListForStream(compressionEnabled); - if (numConsumedPositions == 0) - continue; - var streamPosition = stream.GetStreamPositionFromStreamType(compressionEnabled, positions); - - streamPositions.Add(new StreamPosition(Stream: stream, Position: streamPosition)); - positions = positions[numConsumedPositions..]; - } - - if (positions.Length != 0) - throw new InvalidDataException($"Some position records were not consumed. ColumnType={streamDetails[0].ColumnType} StreamId={streamDetails[0].StreamId}"); - - yield return new RowGroupDetail(Statistics: entry.Statistics, StreamPositions: streamPositions); - } - } - - static int GetPositionsToSkip(int streamId, IEnumerable streamDetails, bool compressionEnabled) - { - int positionsToSkip = 0; - foreach (var stream in streamDetails) - { - if (stream.StreamId >= streamId) - break; - positionsToSkip += stream.GetNumValuesInPositionListForStream(compressionEnabled); - } - - return positionsToSkip; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 8da49f6..db042ed 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,5 +1,7 @@ using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -52,15 +54,17 @@ public void Run() foreach (var rowEntryIndex in rowGroupIndexes) { - var sourceReader = reader.CreateStringReader(stripeId, rowEntryIndex, "source"); - var symbolReader = reader.CreateStringReader(stripeId, rowEntryIndex, "symbol"); - var timeReader = reader.CreateDecimalAsDoubleReader(stripeId, rowEntryIndex, "time"); - var sizeReader = reader.CreateIntegerReader(stripeId, rowEntryIndex, "size"); + var sourceReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "source"); + var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); + var timeReader = reader.CreateDecimalColumnReader(stripeId, rowEntryIndex, "time"); + var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); - sourceReader.FillBuffer(); - symbolReader.FillBuffer(); - timeReader.FillBuffer(); - sizeReader.FillBuffer(); + Parallel.Invoke( + () => sourceReader.FillBuffer(), + () => symbolReader.FillBuffer(), + () => timeReader.FillBuffer(), + () => sizeReader.FillBuffer() + ); for (int idx = 0; idx < sizeReader.Values.Length; idx++) { @@ -69,7 +73,7 @@ public void Run() var time = timeReader.Values[idx]; var size = sizeReader.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) + if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"{source},{symbol},{time.ToString().PadRight(15, '0')},{size}"); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 541e0cb..1c9f271 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -1,4 +1,4 @@ -using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using Microsoft.Extensions.Configuration; using System; using System.Diagnostics; @@ -58,7 +58,7 @@ static void Main(string[] args) EndTime = parsedEndTime }; - var fileByteRangeProviderFactory = new FileByteRangeProviderFactory(); + var fileByteRangeProviderFactory = new MemoryMappedFileRangeProviderFactory(); var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index a9d96fd..a8a5578 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -1,3 +1,4 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Test.TestHelpers; using System; using System.Collections.Generic; From 4318a44d93a6624d034f2224978e9793ca3ebded Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 24 May 2022 20:32:56 -0300 Subject: [PATCH 046/143] Proper handle PRESENT stream individual bits. --- .../ColumTypes/BaseColumnReader.cs | 89 +++++++++++++-- ...2.cs => OptimizedDecimalReaderAsDouble.cs} | 4 +- .../ColumTypes/OptimizedStringReader.cs | 105 +++++++++--------- .../OrcOptimizedReader.cs | 8 +- .../OptimizedORCApp.cs | 63 +++++++++-- 5 files changed, 190 insertions(+), 79 deletions(-) rename src/ApacheOrcDotNet.OptimizedReader/ColumTypes/{OptimizedDecimalReader2.cs => OptimizedDecimalReaderAsDouble.cs} (94%) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index bd3e7c1..c7b3ed6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -24,7 +24,8 @@ public BaseColumnReader(ReaderContext readerContext) { _readerContext = readerContext; _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); - _numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); + //_numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); + _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; } public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); @@ -127,6 +128,65 @@ private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); + var numOfTotalBitsToSkip = (positions.ValuesToSkip * 8) + positions.RemainingBits; + var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( + ref dataReader, + valuesBufferSpan + ); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < numOfBytesToSkip) + continue; + + var decodedByte = valuesBufferSpan[idx]; + + // Skip remaining bits. + if (numOfBytesToSkip % 8 != 0) + { + decodedByte = (byte)(decodedByte << (numOfTotalBitsToSkip % 8)); + } + + outputValues[numValuesRead++] = (decodedByte & 128) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 64) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 32) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 16) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 8) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 4) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 2) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 1) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + /* var numValuesRead = 0; var skippedValues = 0; while (!dataReader.End) @@ -143,39 +203,41 @@ private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions var decodedByte = valuesBufferSpan[idx]; - outputValues[numValuesRead++] = (decodedByte & 0x80) != 0; + //if (decodedByte <= 0x80) + outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x40) != 0; + outputValues[numValuesRead++] = (decodedByte & 64) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x20) != 0; + outputValues[numValuesRead++] = (decodedByte & 32) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x10) != 0; + outputValues[numValuesRead++] = (decodedByte & 16) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x08) != 0; + outputValues[numValuesRead++] = (decodedByte & 8) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x04) != 0; + outputValues[numValuesRead++] = (decodedByte & 4) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x02) != 0; + outputValues[numValuesRead++] = (decodedByte & 2) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; - outputValues[numValuesRead++] = (decodedByte & 0x01) != 0; + outputValues[numValuesRead++] = (decodedByte & 1) != 0; if (numValuesRead >= outputValues.Length) return numValuesRead; } } + */ return numValuesRead; } @@ -315,7 +377,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - _ => throw new NotImplementedException() + _ => GetRowEntryPosition(positionStep + 0) + //_ => throw new NotImplementedException() }; int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { @@ -333,7 +396,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - _ => throw new NotImplementedException() + _ => GetRowEntryPosition(positionStep + 1) + //_ => throw new NotImplementedException() }; int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { @@ -351,7 +415,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - _ => throw new NotImplementedException() + _ => GetRowEntryPosition(positionStep + 2) + //_ => throw new NotImplementedException() }; return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs similarity index 94% rename from src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs rename to src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs index 0216639..f257277 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs @@ -5,9 +5,9 @@ namespace ApacheOrcDotNet.OptimizedReader.ColumTypes { - public class OptimizedDecimalReader2 : BaseColumnReader + public class OptimizedDecimalReaderAsDouble : BaseColumnReader { - public OptimizedDecimalReader2(ReaderContext readerContext) : base(readerContext) + public OptimizedDecimalReaderAsDouble(ReaderContext readerContext) : base(readerContext) { } diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs index 5fcffba..6498781 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs @@ -71,7 +71,7 @@ private void ReadDirectV2() if (presentBuffer[idx]) { var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Sequence.Slice(stringOffset, length)); + _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); stringOffset += length; } else @@ -116,73 +116,68 @@ private void ReadDictionaryV2() var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - using (decompressedBuffer) + // Dictionary Data + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); + var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + using (decompressedBuffer) + { + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) { - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } + var length = (int)lengthBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } - if (presentStream != null) + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - _outputValuesRaw[_numValuesRead++] = null; + if (presentBuffer[idx]) + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; + else + _outputValuesRaw[_numValuesRead++] = null; - if (_numValuesRead >= _numMaxValuesToRead) - break; - } + if (_numValuesRead >= _numMaxValuesToRead) + break; } - else + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; + _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - if (_numValuesRead >= _numMaxValuesToRead) - break; - } + if (_numValuesRead >= _numMaxValuesToRead) + break; } } } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(dataBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthBuffer, clearArray: false); - } + + ArrayPool.Shared.Return(presentBuffer, clearArray: false); + ArrayPool.Shared.Return(dataBuffer, clearArray: false); + ArrayPool.Shared.Return(lengthBuffer, clearArray: false); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs index 0c12cd7..38fafba 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -114,7 +114,7 @@ public BaseColumnReader CreateBinaryColumnReader(int stripeId, int rowEn public BaseColumnReader CreateDecimalColumnReaderAsDouble(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDecimalReader2(readerContext); + return new OptimizedDecimalReaderAsDouble(readerContext); } public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEntryIndex, string columnName) @@ -141,6 +141,12 @@ public BaseColumnReader CreateStringColumnReader(int stripeId, int rowEn return new OptimizedStringReader(readerContext); } + public BaseColumnReader CreateTimestampColumnReader(int stripeId, int rowEntryIndex, string columnName) + { + var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); + return new OptimizedTimestampReader(readerContext); + } + private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index db042ed..3982839 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -56,15 +56,43 @@ public void Run() { var sourceReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "source"); var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); - var timeReader = reader.CreateDecimalColumnReader(stripeId, rowEntryIndex, "time"); + var timeReader = reader.CreateDecimalColumnReaderAsDouble(stripeId, rowEntryIndex, "time"); var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); + //var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); + //var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); + //var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); + //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); + //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); - Parallel.Invoke( - () => sourceReader.FillBuffer(), - () => symbolReader.FillBuffer(), - () => timeReader.FillBuffer(), - () => sizeReader.FillBuffer() - ); + sourceReader.FillBuffer(); + symbolReader.FillBuffer(); + timeReader.FillBuffer(); + sizeReader.FillBuffer(); + //dateReader.FillBuffer(); + //doubleReader.FillBuffer(); + //timeStampReader.FillBuffer(); + //binaryReader.FillBuffer(); + //byteReader.FillBuffer(); + + //foreach (var item in dateReader.Values) + // Console.WriteLine(item.HasValue ? item.Value.ToString("yyyy-MM-dd") : ""); + + //var x = true; + //if (x) + // continue; + + //Parallel.Invoke( + // () => sourceReader.FillBuffer(), + // () => symbolReader.FillBuffer(), + // () => timeReader.FillBuffer(), + // () => sizeReader.FillBuffer() + + // () => dateReader.FillBuffer() + // () => doubleReader.FillBuffer(), + // () => timeStampReader.FillBuffer(), + // () => binaryReader.FillBuffer(), + // () => byteReader.FillBuffer() + //); for (int idx = 0; idx < sizeReader.Values.Length; idx++) { @@ -73,9 +101,26 @@ public void Run() var time = timeReader.Values[idx]; var size = sizeReader.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) + //var date = dateReader.Values[idx]; + //var dobl = doubleReader.Values[idx]; + //var timeStamp = timeStampReader.Values[idx]; + //var binary = binaryReader.Values[idx]; + //var tinyInt = byteReader.Values[idx]; + + if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) { - Console.WriteLine($"{source},{symbol},{time.ToString().PadRight(15, '0')},{size}"); + Console.WriteLine($"" + + $"{source}," + + $"{symbol}," + + $"{time.ToString().PadRight(15, '0')}," + + $"{size}" + + //$"{date}," + + //$"{dobl}," + + //$"{timeStamp}," + + //$"{Encoding.ASCII.GetString(binary)}," + + //$"{tinyInt}" + + $"" + ); } } } From e1bb435739f0b0856433cad70b88b682e0fc7577 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 06:26:32 -0300 Subject: [PATCH 047/143] Fix double reader. --- .../ColumTypes/BaseColumnReader.cs | 2 + .../ColumTypes/OptimizedDoubleReader.cs | 55 ++++++++++++------- .../OptimizedORCApp.cs | 19 +++---- 3 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index c7b3ed6..38d0498 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -409,6 +409,8 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs index 9a7120e..781786c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs @@ -1,4 +1,4 @@ -using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; using System.Buffers; @@ -17,7 +17,6 @@ public override void FillBuffer() var dataStream = GetStripeStream(StreamKind.Data); var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); try { @@ -26,36 +25,52 @@ public override void FillBuffer() var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); - var dataIndex = 0; - if (presentStream != null) + using (dataBuffer) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[8]; + if (presentStream != null) { - if (presentBuffer[idx]) + for (int idx = 0; idx < numPresentValuesRead; idx++) { - _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); - dataIndex += 8; + if (presentBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _outputValuesRaw[_numValuesRead++] = double.NaN; } - else - _outputValuesRaw[_numValuesRead++] = double.NaN; } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = dataBuffer.ReadDouble(dataIndex); - dataIndex += 8; + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } } } } finally { ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 3982839..5ea314d 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -58,8 +57,8 @@ public void Run() var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); var timeReader = reader.CreateDecimalColumnReaderAsDouble(stripeId, rowEntryIndex, "time"); var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); - //var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); - //var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); + var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); + var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); //var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); @@ -68,8 +67,8 @@ public void Run() symbolReader.FillBuffer(); timeReader.FillBuffer(); sizeReader.FillBuffer(); - //dateReader.FillBuffer(); - //doubleReader.FillBuffer(); + dateReader.FillBuffer(); + doubleReader.FillBuffer(); //timeStampReader.FillBuffer(); //binaryReader.FillBuffer(); //byteReader.FillBuffer(); @@ -101,8 +100,8 @@ public void Run() var time = timeReader.Values[idx]; var size = sizeReader.Values[idx]; - //var date = dateReader.Values[idx]; - //var dobl = doubleReader.Values[idx]; + var date = dateReader.Values[idx]; + var dobl = doubleReader.Values[idx]; //var timeStamp = timeStampReader.Values[idx]; //var binary = binaryReader.Values[idx]; //var tinyInt = byteReader.Values[idx]; @@ -113,9 +112,9 @@ public void Run() $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + - $"{size}" + - //$"{date}," + - //$"{dobl}," + + $"{size}," + + $"{(date.HasValue ? date.Value.ToString("yyyy-MM-dd") : string.Empty)}," + + $"{dobl}," + //$"{timeStamp}," + //$"{Encoding.ASCII.GetString(binary)}," + //$"{tinyInt}" + From 75536704450c0b9000f9b5b935a3fac673e9e0bc Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 08:13:00 -0300 Subject: [PATCH 048/143] Fix timestamp reader. --- .../ColumTypes/BaseColumnReader.cs | 22 ++++-- .../ColumTypes/OptimizedFloatReader.cs | 77 +++++++++++++++++++ .../ColumTypes/OptimizedTimestampReader.cs | 7 +- .../OrcOptimizedReader.cs | 4 +- .../OptimizedORCApp.cs | 17 ++-- 5 files changed, 108 insertions(+), 19 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index 38d0498..4033f2d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -365,25 +365,30 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen { (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 3), (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - _ => GetRowEntryPosition(positionStep + 0) - //_ => throw new NotImplementedException() + _ => throw new NotImplementedException() }; int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 4), (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, @@ -392,33 +397,38 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - _ => GetRowEntryPosition(positionStep + 1) - //_ => throw new NotImplementedException() + _ => throw new NotImplementedException() }; int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch { (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 5), (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, (StreamKind.Data, ColumnTypeKind.Double, _) => 0, (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - _ => GetRowEntryPosition(positionStep + 2) - //_ => throw new NotImplementedException() + _ => throw new NotImplementedException() }; return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs new file mode 100644 index 0000000..e0db1a5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs @@ -0,0 +1,77 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; + +namespace ApacheOrcDotNet.OptimizedReader.ColumTypes +{ + public class OptimizedFloatReader : BaseColumnReader + { + public OptimizedFloatReader(ReaderContext readerContext) : base(readerContext) + { + } + + public override void FillBuffer() + { + var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(StreamKind.Data); + + var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); + + try + { + // Present + var presentPositions = GetPresentStreamPositions(presentStream); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); + var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _readerContext.CompressionKind, + compressionBlockSize: _readerContext.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[4]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (presentBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _outputValuesRaw[_numValuesRead++] = float.NaN; + } + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + + if (_numValuesRead >= _numMaxValuesToRead) + break; + } + } + } + } + finally + { + ArrayPool.Shared.Return(presentBuffer); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs index bc15c4e..2f18cce 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs @@ -43,8 +43,8 @@ public override void FillBuffer() { if (presentBuffer[idx]) { - var seconds = dataBuffer[idx]; - var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); + var seconds = dataBuffer[secondaryIndex]; + var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[secondaryIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); secondaryIndex++; @@ -55,9 +55,6 @@ public override void FillBuffer() } else { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - for (int idx = 0; idx < numSecondaryValuesRead; idx++) { var seconds = dataBuffer[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs index 38fafba..0924c28 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs @@ -123,10 +123,10 @@ public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEn return new OptimizedDoubleReader(readerContext); } - public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) + public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) { var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDoubleReader(readerContext); + return new OptimizedFloatReader(readerContext); } public BaseColumnReader CreateIntegerColumnReader(int stripeId, int rowEntryIndex, string columnName) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 5ea314d..e6b1a49 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -59,7 +59,8 @@ public void Run() var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); - //var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); + var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); + var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); @@ -69,7 +70,8 @@ public void Run() sizeReader.FillBuffer(); dateReader.FillBuffer(); doubleReader.FillBuffer(); - //timeStampReader.FillBuffer(); + floatReader.FillBuffer(); + timeStampReader.FillBuffer(); //binaryReader.FillBuffer(); //byteReader.FillBuffer(); @@ -102,7 +104,8 @@ public void Run() var date = dateReader.Values[idx]; var dobl = doubleReader.Values[idx]; - //var timeStamp = timeStampReader.Values[idx]; + var sing = floatReader.Values[idx]; + var timeStamp = timeStampReader.Values[idx]; //var binary = binaryReader.Values[idx]; //var tinyInt = byteReader.Values[idx]; @@ -112,10 +115,12 @@ public void Run() $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + - $"{size}," + - $"{(date.HasValue ? date.Value.ToString("yyyy-MM-dd") : string.Empty)}," + + $"{size,-7}" + + $" |" + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + $"{dobl}," + - //$"{timeStamp}," + + $"{sing}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + //$"{Encoding.ASCII.GetString(binary)}," + //$"{tinyInt}" + $"" From 2a4c9deaf6a1ad21a3fa7e6cfbe0df2e8e2326f5 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 08:29:59 -0300 Subject: [PATCH 049/143] Fix binary reader. --- .../ColumTypes/BaseColumnReader.cs | 6 ++++++ .../ColumTypes/OptimizedBinaryReader.cs | 2 +- .../OptimizedORCApp.cs | 9 +++++---- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index 4033f2d..527d1d4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -370,11 +370,13 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 0), @@ -393,10 +395,12 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 1), @@ -416,6 +420,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, @@ -423,6 +428,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs index bdc95a0..501b566 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs @@ -53,7 +53,7 @@ public override void FillBuffer() if (presentBuffer[idx]) { var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = dataBuffer.Sequence.Slice(stringOffset, length).ToArray(); + _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); stringOffset += length; } else diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index e6b1a49..e0469de 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,6 +1,7 @@ using ApacheOrcDotNet.OptimizedReader; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; +using System.Text; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -61,7 +62,7 @@ public void Run() var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); - //var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); + var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); sourceReader.FillBuffer(); @@ -72,7 +73,7 @@ public void Run() doubleReader.FillBuffer(); floatReader.FillBuffer(); timeStampReader.FillBuffer(); - //binaryReader.FillBuffer(); + binaryReader.FillBuffer(); //byteReader.FillBuffer(); //foreach (var item in dateReader.Values) @@ -106,7 +107,7 @@ public void Run() var dobl = doubleReader.Values[idx]; var sing = floatReader.Values[idx]; var timeStamp = timeStampReader.Values[idx]; - //var binary = binaryReader.Values[idx]; + var binary = binaryReader.Values[idx]; //var tinyInt = byteReader.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) @@ -121,7 +122,7 @@ public void Run() $"{dobl}," + $"{sing}," + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - //$"{Encoding.ASCII.GetString(binary)}," + + $"{Encoding.ASCII.GetString(binary)}," + //$"{tinyInt}" + $"" ); From fdc90d5bbb339cb00d8a8531034cd7bd07d2e5ed Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 08:50:54 -0300 Subject: [PATCH 050/143] Map positions for byte reader. --- .../ColumTypes/BaseColumnReader.cs | 3 +++ .../OptimizedORCApp.cs | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs index 527d1d4..3deb7fd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs @@ -383,6 +383,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), + (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 0), _ => throw new NotImplementedException() }; @@ -408,6 +409,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), + (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 1), _ => throw new NotImplementedException() }; @@ -433,6 +435,7 @@ private protected StreamPositions GetTargetedStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), + (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 2), _ => throw new NotImplementedException() }; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index e0469de..ebd30ec 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -63,7 +63,7 @@ public void Run() var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); - //var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); + var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); sourceReader.FillBuffer(); symbolReader.FillBuffer(); @@ -74,7 +74,7 @@ public void Run() floatReader.FillBuffer(); timeStampReader.FillBuffer(); binaryReader.FillBuffer(); - //byteReader.FillBuffer(); + byteReader.FillBuffer(); //foreach (var item in dateReader.Values) // Console.WriteLine(item.HasValue ? item.Value.ToString("yyyy-MM-dd") : ""); @@ -108,7 +108,7 @@ public void Run() var sing = floatReader.Values[idx]; var timeStamp = timeStampReader.Values[idx]; var binary = binaryReader.Values[idx]; - //var tinyInt = byteReader.Values[idx]; + var tinyInt = byteReader.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) { @@ -122,8 +122,8 @@ public void Run() $"{dobl}," + $"{sing}," + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - $"{Encoding.ASCII.GetString(binary)}," + - //$"{tinyInt}" + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}" + $"" ); } From 8c2aed65f84ac2df2882d8a9d952fe088abf6063 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 25 May 2022 13:18:15 -0300 Subject: [PATCH 051/143] Reuse internal stream buffers. --- .../BufferPositions.cs | 4 + .../Buffers/BaseColumnBuffer.cs | 401 ++++++++++++++ .../Buffers/BinaryColumnBuffer.cs | 83 +++ .../Buffers/BooleanColumnBuffer.cs | 51 ++ .../Buffers/ByteColumnBuffer.cs | 51 ++ .../Buffers/DateColumnBuffer.cs | 53 ++ .../Buffers/DecimalAsDoubleColumnBuffer.cs | 66 +++ .../Buffers/DecimalColumnBuffer.cs | 66 +++ .../Buffers/DoubleColumnBuffer.cs | 74 +++ .../Buffers/FloatColumnBuffer.cs | 74 +++ .../Buffers/IntegerColumnBuffer.cs | 51 ++ .../Buffers/StringColumnBuffer.cs | 182 +++++++ .../Buffers/TimestampColumnBuffer.cs | 85 +++ .../ColumTypes/BaseColumnReader.cs | 501 ------------------ .../ColumTypes/OptimizedBinaryReader.cs | 87 --- .../ColumTypes/OptimizedBooleanReader.cs | 55 -- .../ColumTypes/OptimizedByteReader.cs | 55 -- .../ColumTypes/OptimizedDateReader.cs | 57 -- .../ColumTypes/OptimizedDecimalReader.cs | 69 --- .../OptimizedDecimalReaderAsDouble.cs | 69 --- .../ColumTypes/OptimizedDoubleReader.cs | 77 --- .../ColumTypes/OptimizedFloatReader.cs | 77 --- .../ColumTypes/OptimizedIntegerReader.cs | 55 -- .../ColumTypes/OptimizedStringReader.cs | 183 ------- .../ColumTypes/OptimizedTimestampReader.cs | 89 ---- ...hEncodingReader.cs => OptimizedByteRLE.cs} | 2 +- ...thEncodingV2.cs => OptimizedIntegerRLE.cs} | 2 +- .../Infrastructure/SpanStripeFooter.cs | 5 +- .../Infrastructure/StatsExtensions.cs | 8 + .../OrcColumn.cs | 23 + .../OrcContext.cs | 18 + .../OrcOptimizedReader.cs | 274 ---------- .../OrcReader.cs | 260 +++++++++ .../ReaderContext.cs | 38 -- .../OptimizedORCApp.cs | 134 ++--- .../Program.cs | 1 - 36 files changed, 1623 insertions(+), 1757 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs rename src/ApacheOrcDotNet.OptimizedReader/Encodings/{OptimizedByteRunLengthEncodingReader.cs => OptimizedByteRLE.cs} (95%) rename src/ApacheOrcDotNet.OptimizedReader/Encodings/{OptimizedIntegerRunLengthEncodingV2.cs => OptimizedIntegerRLE.cs} (99%) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs new file mode 100644 index 0000000..604b9cc --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public readonly record struct BufferPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs new file mode 100644 index 0000000..2695ef5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -0,0 +1,401 @@ +using ApacheOrcDotNet.Encodings; +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + [SkipLocalsInit] + public abstract class BaseColumnBuffer + { + private protected readonly IByteRangeProvider _byteRangeProvider; + private protected readonly OrcContextNew _context; + private protected readonly OrcColumn _column; + private protected readonly TOutput[] _values; + private protected int _numValuesRead; + private long[] _numericStreamBuffer; + private byte[] _byteStreamBuffer; + private byte[] _boolStreamBuffer; + + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) + { + _byteRangeProvider = byteRangeProvider; + _context = context; + _column = column; + _values = new TOutput[_context.MaxValuesToRead]; + + _numericStreamBuffer = new long[1000]; + _byteStreamBuffer = new byte[1000]; + _boolStreamBuffer = new byte[1000]; + } + + public OrcColumn Column => _column; + public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); + + public abstract void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); + + protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + { + var stream = columnStreams.SingleOrDefault(stream => + stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + protected void ResetInnerBuffers() + { + _numValuesRead = 0; + } + + [SkipLocalsInit] + private protected int ReadByteStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _byteStreamBuffer); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = _byteStreamBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadBooleanStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + { + if (stream == null) + return 0; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; + var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _boolStreamBuffer); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (skippedValues++ < numOfBytesToSkip) + continue; + + var decodedByte = _boolStreamBuffer[idx]; + + // Skip remaining bits. + if (numOfBytesToSkip % 8 != 0) + decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); + + outputValues[numValuesRead++] = (decodedByte & 128) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 64) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 32) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 16) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 8) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 4) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 2) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + + outputValues[numValuesRead++] = (decodedByte & 1) != 0; + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadNumericStream(StreamDetail stream, in BufferPositions positions, bool isSigned, Span outputValues) + { + if (stream == null) + return 0; + + if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) + throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + var numValuesRead = 0; + var skippedValues = 0; + while (!dataReader.End) + { + var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref dataReader, isSigned, _numericStreamBuffer); + + for (int idx = 0; idx < numNewValuesRead; idx++) + { + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; + + if (numValuesRead >= outputValues.Length) + return numValuesRead; + } + } + + return numValuesRead; + } + + [SkipLocalsInit] + private protected int ReadVarIntStream(StreamDetail stream, BufferPositions positions, Span outputValues) + { + var numValuesRead = 0; + + if (stream == null) + return numValuesRead; + + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: stream.FileOffset + positions.RowGroupOffset, + compressedLength: stream.Length - positions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + int skippedValues = 0; + while (!dataReader.End) + { + var bigInt = ReadBigVarInt(ref dataReader); + + if (!bigInt.HasValue) + break; + + if (skippedValues++ < positions.ValuesToSkip) + continue; + + outputValues[numValuesRead++] = bigInt.Value; + + if (numValuesRead >= outputValues.Length) + break; + } + + return numValuesRead; + } + + private protected BufferPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + { + if (presentStream == null) + return new(); + + return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); + } + + private protected BufferPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) + { + var positionStep = presentStream == null ? 0 : 4; + + ulong rowGroupOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], + + _ => throw new NotImplementedException() + }; + + ulong rowEntryOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], + + _ => throw new NotImplementedException() + }; + + ulong valuesToSkip = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 5], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], + + _ => throw new NotImplementedException() + }; + + return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip); + } + + private protected double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); + + private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; + } + + private BigInteger? ReadBigVarInt(ref SequenceReader stream) + { + var value = BigInteger.Zero; + long currentLong = 0; + int bitCount = 0; + + while (true) + { + if (!stream.TryRead(out var currentByte)) + return null; // Reached the end of the stream + + currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; + bitCount += 7; + + if (bitCount % 63 == 0) + { + if (bitCount == 63) + value = new BigInteger(currentLong); + else + value |= new BigInteger(currentLong) << bitCount - 63; + + currentLong = 0; + } + + // Done when the high bit is set + if (currentByte < 0x80) + break; + } + + if (currentLong != 0) // Some bits left to add to result + { + var shift = bitCount / 63 * 63; + value |= new BigInteger(currentLong) << shift; + } + + // Un zig-zag + return ((long)value).ZigzagDecode(); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs new file mode 100644 index 0000000..c7b88b5 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -0,0 +1,83 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Buffers; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class BinaryColumnBuffer : BaseColumnBuffer + { + private readonly bool[] _presentStreamBuffer; + private readonly long[] _lengthStreamBuffer; + + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBuffer); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + var length = (int)_lengthStreamBuffer[lengthIndex++]; + _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)_lengthStreamBuffer[idx]; + _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs new file mode 100644 index 0000000..7c5b0a9 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -0,0 +1,51 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class BooleanColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private bool[] _dataStreamBuffer; + + public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new bool[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, _dataStreamBuffer); + + var dataIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamBuffer[idx]; + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs new file mode 100644 index 0000000..608b993 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -0,0 +1,51 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class ByteColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private byte[] _dataStreamBuffer; + + public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new byte[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadByteStream(dataStream, dataPostions, _dataStreamBuffer); + + var dataIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamBuffer[idx]; + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs new file mode 100644 index 0000000..04bde22 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -0,0 +1,53 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DateColumnBuffer : BaseColumnBuffer + { + readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly bool[] _presentStreamBuffer; + private readonly long[] _dataStreamBuffer; + + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[dataIndex++] * TimeSpan.TicksPerDay); + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[idx] * TimeSpan.TicksPerDay); + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs new file mode 100644 index 0000000..9a94c50 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -0,0 +1,66 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private BigInteger[] _dataStreamBuffer; + private long[] _secondaryStreamBuffer; + + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + var secondaryIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _values[_numValuesRead++] = double.NaN; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs new file mode 100644 index 0000000..599f8e4 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -0,0 +1,66 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; +using System.Numerics; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DecimalColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private BigInteger[] _dataStreamBuffer; + private long[] _secondaryStreamBuffer; + + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + var secondaryIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + secondaryIndex++; + } + else + _values[_numValuesRead++] = null; + } + } + else + { + if (numDataValuesRead != numSecondaryValuesRead) + throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); + + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs new file mode 100644 index 0000000..8c9a6a1 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -0,0 +1,74 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DoubleColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[8]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _values[_numValuesRead++] = double.NaN; + } + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs new file mode 100644 index 0000000..a5ec93e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -0,0 +1,74 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Buffers; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class FloatColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); + + Span valueBuffer = stackalloc byte[4]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + dataReader.Advance(valueBuffer.Length); + } + else + _values[_numValuesRead++] = float.NaN; + } + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) + { + dataReader.Advance(valueBuffer.Length); + + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs new file mode 100644 index 0000000..6078e77 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -0,0 +1,51 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class IntegerColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamBuffer; + private long[] _dataStreamBuffer; + + public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + + var dataIndex = 0; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamBuffer[idx]; + } + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs new file mode 100644 index 0000000..e7787db --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -0,0 +1,182 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class StringColumnBuffer : BaseColumnBuffer + { + private readonly Dictionary _dictionaryLengthBuffers = new(); + + private bool[] _presentStreamBuffer; + private long[] _dataStreamBuffer; + private long[] _lengthStreamBufferDirectV2; + + public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + _lengthStreamBufferDirectV2 = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + switch (columnStreams.First().EncodingKind) + { + case ColumnEncodingKind.DirectV2: + ReadDirectV2(columnStreams, rowIndexEntry); + break; + case ColumnEncodingKind.DictionaryV2: + ReadDictionaryV2(columnStreams, rowIndexEntry, stripeId); + break; + default: + throw new InvalidOperationException(); + } + } + + private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); + var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); + + // Data + var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataBuffer = _byteRangeProvider.DecompressByteRange( + offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, + compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (dataBuffer) + { + var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)_lengthStreamBufferDirectV2[idx]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + + [SkipLocalsInit] + private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, int stripeId) + { + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var dictionaryDataStream = GetStripeStream(columnStreams, StreamKind.DictionaryData); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, _presentStreamBuffer); + + // Length + var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); + var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, _dataStreamBuffer); + + // Dictionary Data + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); + var decompressedBuffer = _byteRangeProvider.DecompressByteRange( + offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, + compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, + compressionKind: _context.CompressionKind, + compressionBlockSize: _context.CompressionBlockSize + ); + + using (decompressedBuffer) + { + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)lengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) + { + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } + + private Span GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) + { + if (!_dictionaryLengthBuffers.ContainsKey(stripeId)) + _dictionaryLengthBuffers.Add(stripeId, new long[dictionarySize]); + + return _dictionaryLengthBuffers[stripeId]; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs new file mode 100644 index 0000000..72a99ec --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -0,0 +1,85 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Collections.Generic; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class TimestampColumnBuffer : BaseColumnBuffer + { + readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly bool[] _presentStreamBuffer; + private readonly long[] _dataStreamBuffer; + private long[] _secondaryStreamBuffer; + + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + { + _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + _dataStreamBuffer = new long[_context.MaxValuesToRead]; + _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + } + + public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + ResetInnerBuffers(); + + var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); + + // Present + var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); + var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + + // Data + var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + + // Secondary + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, _secondaryStreamBuffer); + + if (presentStream != null) + { + var secondaryIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) + { + if (_presentStreamBuffer[idx]) + { + var seconds = _dataStreamBuffer[secondaryIndex]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[secondaryIndex]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + secondaryIndex++; + } + else + _values[_numValuesRead++] = null; + } + } + else + { + for (int idx = 0; idx < numSecondaryValuesRead; idx++) + { + var seconds = _dataStreamBuffer[idx]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); + var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); + _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + } + } + } + + private long EncodedNanosToTicks(long encodedNanos) + { + var scale = (int)(encodedNanos & 0x7); + var nanos = encodedNanos >> 3; + + if (scale == 0) + return nanos; + + while (scale-- >= 0) + nanos *= 10; + + return nanos / 100; //100 nanoseconds per tick + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs deleted file mode 100644 index 3deb7fd..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/BaseColumnReader.cs +++ /dev/null @@ -1,501 +0,0 @@ -using ApacheOrcDotNet.Encodings; -using ApacheOrcDotNet.OptimizedReader.Encodings; -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.IO; -using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public readonly record struct StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); - - public abstract class BaseColumnReader : IDisposable - { - private protected readonly ReaderContext _readerContext; - private protected readonly TOutput[] _outputValuesRaw; - private protected readonly int _numMaxValuesToRead; - private protected int _numValuesRead; - - public BaseColumnReader(ReaderContext readerContext) - { - _readerContext = readerContext; - _outputValuesRaw = ArrayPool.Shared.Rent((int)_readerContext.FileTail.Footer.RowIndexStride); - //_numMaxValuesToRead = (int)Math.Min(_readerContext.FileTail.Footer.RowIndexStride, _readerContext.RowIndexEntry.Statistics.NumberOfValues); - _numMaxValuesToRead = (int)_readerContext.FileTail.Footer.RowIndexStride; - } - - public Span Values => _outputValuesRaw.AsSpan().Slice(0, _numValuesRead); - - public virtual void Dispose() - { - ArrayPool.Shared.Return(_outputValuesRaw); - } - - public abstract void FillBuffer(); - - protected StreamDetail GetStripeStream(StreamKind streamKind, bool isRequired = true) - { - var stream = _readerContext.Streams.SingleOrDefault(stream => - stream.ColumnId == _readerContext.Column.ColumnId - && stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); - - return stream; - } - - [SkipLocalsInit] - private protected int ReadByteStream(StreamDetail stream, in StreamPositions positions, Span outputValues) - { - if (stream == null) - return 0; - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - - try - { - using (dataBuffer) - { - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = valuesBufferSpan[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - } - finally - { - ArrayPool.Shared.Return(valuesBuffer); - } - } - - [SkipLocalsInit] - private protected int ReadBooleanStream(StreamDetail stream, in StreamPositions positions, Span outputValues) - { - if (stream == null) - return 0; - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - - try - { - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - var numOfTotalBitsToSkip = (positions.ValuesToSkip * 8) + positions.RemainingBits; - var numOfBytesToSkip = numOfTotalBitsToSkip / 8; - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < numOfBytesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - // Skip remaining bits. - if (numOfBytesToSkip % 8 != 0) - { - decodedByte = (byte)(decodedByte << (numOfTotalBitsToSkip % 8)); - } - - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - /* - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numByteValuesRead = OptimizedByteRunLengthEncodingReader.ReadValues( - ref dataReader, - valuesBufferSpan - ); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - var decodedByte = valuesBufferSpan[idx]; - - //if (decodedByte <= 0x80) - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - */ - - return numValuesRead; - } - finally - { - ArrayPool.Shared.Return(valuesBuffer); - } - } - } - - [SkipLocalsInit] - private protected int ReadNumericStream(StreamDetail stream, in StreamPositions positions, bool isSigned, Span outputValues) - { - if (stream == null) - return 0; - - if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) - throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - var valuesBuffer = ArrayPool.Shared.Rent(1_000); - - try - { - var valuesBufferSpan = valuesBuffer.AsSpan().Slice(0, 1_000); - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - using (dataBuffer) - { - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) - { - var numNewValuesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues( - ref dataReader, - isSigned, - valuesBufferSpan - ); - - for (int idx = 0; idx < numNewValuesRead; idx++) - { - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = (int)valuesBuffer[idx]; - - if (numValuesRead >= outputValues.Length) - return numValuesRead; - } - } - - return numValuesRead; - } - } - finally - { - ArrayPool.Shared.Return(valuesBuffer); - } - } - - [SkipLocalsInit] - private protected int ReadVarIntStream(StreamDetail stream, StreamPositions positions, Span outputValues) - { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - int skippedValues = 0; - - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - while (!dataReader.End) - { - var bigInt = ReadBigVarInt(ref dataReader); - - if (!bigInt.HasValue) - break; - - if (skippedValues++ < positions.ValuesToSkip) - continue; - - outputValues[numValuesRead++] = bigInt.Value; - - if (numValuesRead >= outputValues.Length) - break; - } - - return numValuesRead; - } - } - - private protected StreamPositions GetPresentStreamPositions(StreamDetail presentStream) - { - if (presentStream == null) - return new(); - - return new(GetRowEntryPosition(0), GetRowEntryPosition(1), GetRowEntryPosition(2), GetRowEntryPosition(3)); - } - - private protected StreamPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream) - { - var positionStep = presentStream == null ? 0 : 4; - - int rowGroupOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 3), - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 2), - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 0), - (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 0), - - _ => throw new NotImplementedException() - }; - int rowEntryOffset = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 4), - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 3), - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Double, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Float, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 1), - (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 1), - - _ => throw new NotImplementedException() - }; - int valuesToSkip = (targetedStream.StreamKind, _readerContext.Column.ColumnType, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 5), - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => GetRowEntryPosition(positionStep + 4), - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.Double, _) => 0, - (StreamKind.Data, ColumnTypeKind.Float, _) => 0, - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Short, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Date, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Long, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Int, _) => GetRowEntryPosition(positionStep + 2), - (StreamKind.Data, ColumnTypeKind.Byte, _) => GetRowEntryPosition(positionStep + 2), - - _ => throw new NotImplementedException() - }; - - return new StreamPositions(rowGroupOffset, rowEntryOffset, valuesToSkip); - } - - private protected double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); - - private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) - { - if (scale < 0 || scale > 255) - throw new OverflowException("Scale must be positive number"); - - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow - var scaler = new decimal(1, 0, 0, false, (byte)scale); - - return decNumerator * scaler; - } - - private int GetRowEntryPosition(int positionIndex) => (int)_readerContext.RowIndexEntry.Positions[positionIndex]; - - private BigInteger? ReadBigVarInt(ref SequenceReader stream) - { - var value = BigInteger.Zero; - long currentLong = 0; - int bitCount = 0; - - while (true) - { - if (!stream.TryRead(out var currentByte)) - return null; // Reached the end of the stream - - currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; - bitCount += 7; - - if (bitCount % 63 == 0) - { - if (bitCount == 63) - value = new BigInteger(currentLong); - else - value |= new BigInteger(currentLong) << bitCount - 63; - - currentLong = 0; - } - - // Done when the high bit is set - if (currentByte < 0x80) - break; - } - - if (currentLong != 0) // Some bits left to add to result - { - var shift = bitCount / 63 * 63; - value |= new BigInteger(currentLong) << shift; - } - - // Un zig-zag - return ((long)value).ZigzagDecode(); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs deleted file mode 100644 index 501b566..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBinaryReader.cs +++ /dev/null @@ -1,87 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedBinaryReader : BaseColumnReader - { - public OptimizedBinaryReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStream != null) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs deleted file mode 100644 index f58383b..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedBooleanReader.cs +++ /dev/null @@ -1,55 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedBooleanReader : BaseColumnReader - { - public OptimizedBooleanReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var dataIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs deleted file mode 100644 index f37f5ee..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedByteReader.cs +++ /dev/null @@ -1,55 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedByteReader : BaseColumnReader - { - public OptimizedByteReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadByteStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var dataIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs deleted file mode 100644 index 96db663..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDateReader.cs +++ /dev/null @@ -1,57 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDateReader : BaseColumnReader - { - readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - public OptimizedDateReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - if (presentStream != null) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[dataIndex++] * TimeSpan.TicksPerDay); - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = _unixEpoch.AddTicks(dataBuffer[idx] * TimeSpan.TicksPerDay); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs deleted file mode 100644 index 46a3d75..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReader.cs +++ /dev/null @@ -1,69 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Numerics; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDecimalReader : BaseColumnReader - { - public OptimizedDecimalReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var secondaryIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = BigIntegerToDecimal(dataBuffer[idx], secondaryBuffer[idx]); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs deleted file mode 100644 index f257277..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDecimalReaderAsDouble.cs +++ /dev/null @@ -1,69 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Numerics; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDecimalReaderAsDouble : BaseColumnReader - { - public OptimizedDecimalReaderAsDouble(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var secondaryIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[secondaryIndex], secondaryBuffer[secondaryIndex]); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = double.NaN; - } - } - else - { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = BigIntegerToDouble(dataBuffer[idx], secondaryBuffer[idx]); - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs deleted file mode 100644 index 781786c..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedDoubleReader.cs +++ /dev/null @@ -1,77 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedDoubleReader : BaseColumnReader - { - public OptimizedDoubleReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - Span valueBuffer = stackalloc byte[8]; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _outputValuesRaw[_numValuesRead++] = double.NaN; - } - } - else - { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); - - _outputValuesRaw[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs deleted file mode 100644 index e0db1a5..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedFloatReader.cs +++ /dev/null @@ -1,77 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedFloatReader : BaseColumnReader - { - public OptimizedFloatReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); - - Span valueBuffer = stackalloc byte[4]; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _outputValuesRaw[_numValuesRead++] = float.NaN; - } - } - else - { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); - - _outputValuesRaw[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs deleted file mode 100644 index cffcd25..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedIntegerReader.cs +++ /dev/null @@ -1,55 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedIntegerReader : BaseColumnReader - { - public OptimizedIntegerReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - var dataIndex = 0; - if (presentStream != null) - { - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = dataBuffer[dataIndex++]; - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - _outputValuesRaw[_numValuesRead++] = dataBuffer[idx]; - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - } - } - } -} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs deleted file mode 100644 index 6498781..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedStringReader.cs +++ /dev/null @@ -1,183 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedStringReader : BaseColumnReader - { - public OptimizedStringReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - switch (_readerContext.ColumnEncodingKind) - { - case ColumnEncodingKind.DirectV2: - ReadDirectV2(); - break; - case ColumnEncodingKind.DictionaryV2: - ReadDictionaryV2(); - break; - default: - throw new InvalidOperationException(); - } - } - - private void ReadDirectV2() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthsBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, lengthsBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream); - var dataBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - - var stringOffset = 0; - if (presentStream != null) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var length = (int)lengthsBuffer[lengthIndex++]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - } - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthsBuffer[idx]; - _outputValuesRaw[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthsBuffer, clearArray: false); - } - } - - [SkipLocalsInit] - private void ReadDictionaryV2() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(StreamKind.Length); - var dataStream = GetStripeStream(StreamKind.Data); - var dictionaryDataStream = GetStripeStream(StreamKind.DictionaryData); - - var dictionarySize = lengthStream.DictionarySize; - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var lengthBuffer = ArrayPool.Shared.Rent(dictionarySize); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Length - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthBuffer.AsSpan().Slice(0, dictionarySize)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream); - var decompressedBuffer = _readerContext.ByteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _readerContext.CompressionKind, - compressionBlockSize: _readerContext.CompressionBlockSize - ); - - using (decompressedBuffer) - { - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } - - if (presentStream != null) - { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[dataIndex++]]; - else - _outputValuesRaw[_numValuesRead++] = null; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - else - { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _outputValuesRaw[_numValuesRead++] = stringsList[(int)dataBuffer[idx]]; - - if (_numValuesRead >= _numMaxValuesToRead) - break; - } - } - } - - ArrayPool.Shared.Return(presentBuffer, clearArray: false); - ArrayPool.Shared.Return(dataBuffer, clearArray: false); - ArrayPool.Shared.Return(lengthBuffer, clearArray: false); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs deleted file mode 100644 index 2f18cce..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumTypes/OptimizedTimestampReader.cs +++ /dev/null @@ -1,89 +0,0 @@ -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.ColumTypes -{ - public class OptimizedTimestampReader : BaseColumnReader - { - readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - public OptimizedTimestampReader(ReaderContext readerContext) : base(readerContext) - { - } - - public override void FillBuffer() - { - var presentStream = GetStripeStream(StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(StreamKind.Data); - var secondaryStream = GetStripeStream(StreamKind.Secondary); - - var presentBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var dataBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - var secondaryBuffer = ArrayPool.Shared.Rent(_numMaxValuesToRead); - - try - { - // Present - var presentPositions = GetPresentStreamPositions(presentStream); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, presentBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, dataBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, secondaryBuffer.AsSpan().Slice(0, _numMaxValuesToRead)); - - if (presentStream != null) - { - var secondaryIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (presentBuffer[idx]) - { - var seconds = dataBuffer[secondaryIndex]; - var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[secondaryIndex]); - var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); - secondaryIndex++; - } - else - _outputValuesRaw[_numValuesRead++] = null; - } - } - else - { - for (int idx = 0; idx < numSecondaryValuesRead; idx++) - { - var seconds = dataBuffer[idx]; - var nanosecondTicks = EncodedNanosToTicks(secondaryBuffer[idx]); - var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _outputValuesRaw[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); - } - } - } - finally - { - ArrayPool.Shared.Return(presentBuffer); - ArrayPool.Shared.Return(dataBuffer); - ArrayPool.Shared.Return(secondaryBuffer); - } - } - - private long EncodedNanosToTicks(long encodedNanos) - { - var scale = (int)(encodedNanos & 0x7); - var nanos = encodedNanos >> 3; - - if (scale == 0) - return nanos; - - while (scale-- >= 0) - nanos *= 10; - - return nanos / 100; //100 nanoseconds per tick - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs similarity index 95% rename from src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs rename to src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index 15d1e5a..1df8cae 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRunLengthEncodingReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -3,7 +3,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Encodings { - public static class OptimizedByteRunLengthEncodingReader + public static class OptimizedByteRLE { public static int ReadValues(ref SequenceReader reader, Span outputValues) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs similarity index 99% rename from src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs rename to src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 7ee5c44..98b74a5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRunLengthEncodingV2.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -5,7 +5,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Encodings { - public static class OptimizedIntegerRunLengthEncodingV2 + public static class OptimizedIntegerRLE { enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index ee63c40..84a65aa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -6,11 +6,11 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, ColumnTypeKind? ColumnType, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, IEnumerable columnDetails, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); @@ -22,7 +22,6 @@ public static IEnumerable ReadStreamDetails(ReadOnlySequence ColumnId: (int)stream.Column, FileOffset: stripeOffset, Length: (int)stream.Length, - ColumnType: columnDetails.FirstOrDefault(c => c.ColumnId == stream.Column)?.ColumnType, StreamKind: stream.Kind, EncodingKind: stripeFooter.Columns[(int)stream.Column].Kind, DictionarySize: (int)stripeFooter.Columns[(int)stream.Column].DictionarySize diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index 1a55907..a05eb2a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -6,6 +6,14 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class StatsExtensions { + public static bool InRange(this ColumnStatistics stats, OrcColumn column) + { + if (string.IsNullOrEmpty(column.Min) && string.IsNullOrEmpty(column.Max)) + throw new InvalidOperationException($"Invalid lookup parameters for column '{column.Name}'."); + + return stats.InRange(column.Type, column.Min, column.Max); + } + public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { switch (columnType) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs new file mode 100644 index 0000000..49f6d03 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -0,0 +1,23 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcColumn + { + public OrcColumn(int id, int index, string name, ColumnTypeKind type) + { + Id = id; + Index = index; + Name = name; + Type = type; + } + + public int Id { get; } + public int Index { get; } + public string Name { get; } + public ColumnTypeKind Type { get; } + + public string Min { get; init; } + public string Max { get; init; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs new file mode 100644 index 0000000..1b68425 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs @@ -0,0 +1,18 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcContextNew + { + public OrcContextNew(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) + { + CompressionKind = compressionKind; + CompressionBlockSize = compressionBlockSize; + MaxValuesToRead = maxValuesToRead; + } + + public CompressionKind CompressionKind { get; } + public int CompressionBlockSize { get; } + public int MaxValuesToRead { get; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs deleted file mode 100644 index 0924c28..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcOptimizedReader.cs +++ /dev/null @@ -1,274 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.ColumTypes; -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using ApacheOrcDotNet.Statistics; -using ProtoBuf; -using System; -using System.Buffers; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class OrcOptimizedReaderConfiguration - { - public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; - } - - public sealed class OrcOptimizedReader - { - private readonly OrcOptimizedReaderConfiguration _configuration; - private readonly IByteRangeProvider _byteRangeProvider; - private readonly SpanFileTail _fileTail; - private readonly List _columnDetails = new(); - private readonly Dictionary> _stripeStreams = new(); - private readonly Dictionary<(int columnId, int stripeId), List> _columnStreams = new(); - private readonly Dictionary<(int columnId, int stripeId), ColumnEncodingKind> _columnEncodings = new(); - private readonly Dictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); - - public OrcOptimizedReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) - { - _configuration = configuration; - _byteRangeProvider = byteRangeProvider; - - _fileTail = ReadFileTail(); - if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) - throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); - - _columnDetails = _fileTail.Footer.Types[0].FieldNames.Select((name, i) => - { - var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; - var subTypeKind = _fileTail.Footer.Types[subType].Kind; - return new ColumnDetail(ColumnId: subType, Name: name, ColumnType: subTypeKind); - }).ToList(); - } - - public IEnumerable GetStripeIds(string columnName, string min, string max) - => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), columnName, min, max); - - public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, string columnName, string min, string max) - { - var column = GetColumnDetails(columnName); - var columnStats = GetFileColumnStatistics(column.ColumnId); - - if (!columnStats.InRange(column.ColumnType, min, max)) - return Enumerable.Empty(); - - return lookupStripeIds.Where(stripeId => - { - var stripeColumnStats = GetStripeColumnStatistics(column.ColumnId, stripeId); - return stripeColumnStats.InRange(column.ColumnType, min, max); - }); - } - - public IEnumerable GetRowGroupIndexes(int stripeId, string columnName, string min, string max) - { - var column = GetColumnDetails(columnName); - var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); - return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, columnName, min, max); - } - - public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, string columnName, string min, string max) - { - var column = GetColumnDetails(columnName); - var rowIndex = GetRowGroupIndex(column.ColumnId, stripeId); - - return lookupIndexes.Where(index => - { - var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column.ColumnType, min, max); - }); - } - - public BaseColumnReader CreateBinaryColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedBinaryReader(readerContext); - } - - public BaseColumnReader CreateBooleanColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedBooleanReader(readerContext); - } - - public BaseColumnReader CreateByteColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedByteReader(readerContext); - } - - public BaseColumnReader CreateDateColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDateReader(readerContext); - } - - public BaseColumnReader CreateDecimalColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDecimalReader(readerContext); - } - - public BaseColumnReader CreateDecimalColumnReaderAsDouble(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDecimalReaderAsDouble(readerContext); - } - - public BaseColumnReader CreateDoubleColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedDoubleReader(readerContext); - } - - public BaseColumnReader CreateFloatColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedFloatReader(readerContext); - } - - public BaseColumnReader CreateIntegerColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedIntegerReader(readerContext); - } - - public BaseColumnReader CreateStringColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedStringReader(readerContext); - } - - public BaseColumnReader CreateTimestampColumnReader(int stripeId, int rowEntryIndex, string columnName) - { - var readerContext = GetReaderContext(stripeId, rowEntryIndex, columnName); - return new OptimizedTimestampReader(readerContext); - } - - private SpanFileTail ReadFileTail() - { - int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; - while (true) - { - var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(buffer); - - if (success) - return fileTail; - - lengthToReadFromEnd += additionalBytesRequired; - } - } - - private ReaderContext GetReaderContext(int stripeId, int rowEntryIndex, string columnName) - { - var column = GetColumnDetails(columnName); - var streams = GetColumnStreams(column.ColumnId, stripeId); - var rowGroup = GetRowGroupIndex(column.ColumnId, stripeId); - - return new ReaderContext(_byteRangeProvider, _fileTail, column, streams, rowGroup, rowEntryIndex) - { - ColumnEncodingKind = GetColumnEncodingKind(column.ColumnId, stripeId) - }; - } - - private IEnumerable GetStripeStreams(int stripeId) - { - if (!_stripeStreams.ContainsKey(stripeId)) - { - var stripe = _fileTail.Footer.Stripes[stripeId]; - var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); - var stripeFooterLength = (int)stripe.FooterLength; - - var decompressedData = _byteRangeProvider.DecompressByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - using (decompressedData) - { - var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, _columnDetails, (long)stripe.Offset); - _stripeStreams.Add(stripeId, streams.ToList()); - } - } - - return _stripeStreams[stripeId]; - } - - private ColumnDetail GetColumnDetails(string columnName) - => _columnDetails.Single(colDetail => colDetail.Name.ToLower() == columnName.ToLower()); - - private ColumnStatistics GetFileColumnStatistics(int columnId) - => _fileTail.Footer.Statistics[columnId]; - - private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - - private RowIndex GetRowGroupIndex(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - if (!_rowGroupIndexes.ContainsKey(key)) - { - var streamDetails = GetStripeStreams(stripeId); - var rowIndexStream = streamDetails.Where(s => - s.StreamKind == StreamKind.RowIndex - && s.ColumnId == columnId - ).Single(); - - var decompressedData = _byteRangeProvider.DecompressByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - using (decompressedData) - { - var index = Serializer.Deserialize(decompressedData.Sequence); - _rowGroupIndexes.Add(key, index); - } - } - - return _rowGroupIndexes[key]; - } - - private IEnumerable GetColumnStreams(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - if (!_columnStreams.ContainsKey(key)) - { - var stripeStreams = GetStripeStreams(stripeId); - var columnStreams = stripeStreams.Where(s => - s.ColumnId == columnId - ).ToList(); - - _columnStreams.Add(key, columnStreams); - } - - return _columnStreams[key]; - } - - private ColumnEncodingKind GetColumnEncodingKind(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - if (!_columnEncodings.ContainsKey(key)) - { - var firstColumnStream = GetColumnStreams(columnId, stripeId).First(); - - _columnEncodings.Add(key, firstColumnStream.EncodingKind); - } - - return _columnEncodings[key]; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs new file mode 100644 index 0000000..1382d4e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -0,0 +1,260 @@ +using ApacheOrcDotNet.OptimizedReader.Buffers; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using ApacheOrcDotNet.Statistics; +using ProtoBuf; +using System; +using System.Buffers; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcOptimizedReaderConfiguration + { + public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; + } + + public sealed class OrcReader + { + private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly IByteRangeProvider _byteRangeProvider; + private readonly SpanFileTail _fileTail; + private readonly Dictionary> _stripeStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); + private readonly Dictionary _protoColumns = new(); + private readonly CompressionKind _compressionKind; + private readonly int _compressionBlockSize; + private readonly int _maxValuesToRead; + private int _nextColumnIndex = 0; + + public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + { + _configuration = configuration; + _byteRangeProvider = byteRangeProvider; + + _fileTail = ReadFileTail(); + if (_fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct) + throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}"); + + _protoColumns = _fileTail.Footer.Types[0].FieldNames.Select((name, i) => + { + var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; + var subTypeKind = _fileTail.Footer.Types[subType].Kind; + return (subType, name, subTypeKind); + }).ToDictionary(i => i.name.ToLower(), i => i); + + _compressionKind = _fileTail.PostScript.Compression; + _compressionBlockSize = (int)_fileTail.PostScript.CompressionBlockSize; + _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + } + + public OrcColumn CreateColumn(string columnName, string min = null, string max = null) + { + if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) + throw new InvalidOperationException($"The column '{columnName}' is invalid."); + + var orcColumn = new OrcColumn(column.Id, _nextColumnIndex++, column.Name, column.Type) + { + Min = min, + Max = max + }; + + return orcColumn; + } + + public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new BinaryColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new BooleanColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new ByteColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DateColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDecimalColumnReader(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DecimalColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DoubleColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new FloatColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new IntegerColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new StringColumnBuffer(_byteRangeProvider, context, column); + } + + public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) + { + var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new TimestampColumnBuffer(_byteRangeProvider, context, column); + } + + public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) + { + var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); + var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; + + columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); + } + + public IEnumerable GetStripeIds(OrcColumn column) + => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); + + public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column) + { + var columnStats = GetFileColumnStatistics(column.Id); + + if (!columnStats.InRange(column.Type, column.Min, column.Max)) + return Enumerable.Empty(); + + return lookupStripeIds.Where(stripeId => + { + var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); + return stripeColumnStats.InRange(column); + }); + } + + public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column) + { + var rowIndex = GetRowGroupIndex(column.Id, stripeId); + return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); + } + + public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column) + { + var rowIndex = GetRowGroupIndex(column.Id, stripeId); + + return lookupIndexes.Where(index => + { + var rowIndexEntry = rowIndex.Entry[index]; + return rowIndexEntry.Statistics.InRange(column); + }); + } + + private SpanFileTail ReadFileTail() + { + int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; + while (true) + { + var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); + var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(buffer); + + if (success) + return fileTail; + + lengthToReadFromEnd += additionalBytesRequired; + } + } + + private IEnumerable GetStripeStreams(int stripeId) + { + if (!_stripeStreams.ContainsKey(stripeId)) + { + var stripe = _fileTail.Footer.Stripes[stripeId]; + var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); + var stripeFooterLength = (int)stripe.FooterLength; + + var decompressedData = _byteRangeProvider.DecompressByteRange( + stripeFooterStart, + stripeFooterLength, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, (long)stripe.Offset); + + _stripeStreams.Add(stripeId, streams.ToList()); + } + + return _stripeStreams[stripeId]; + } + + private ColumnStatistics GetFileColumnStatistics(int columnId) + => _fileTail.Footer.Statistics[columnId]; + + private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + + private RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + return _rowGroupIndexes.GetOrAdd(key, key => + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + var decompressedData = _byteRangeProvider.DecompressByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + return Serializer.Deserialize(decompressedData.Sequence); + }); + } + + private IEnumerable GetColumnStreams(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + return _columnStreams.GetOrAdd(key, key => + { + var stripeStreams = GetStripeStreams(stripeId); + return stripeStreams.Where(s => + s.ColumnId == columnId + ).ToList(); + }); + } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs b/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs deleted file mode 100644 index e846bf4..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ReaderContext.cs +++ /dev/null @@ -1,38 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; -using System.Collections.Generic; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class ReaderContext - { - public ReaderContext(IByteRangeProvider byteRangeProvider, SpanFileTail fileTail, ColumnDetail columnDetails, IEnumerable columnStreams, RowIndex rowGroup, int rowEntryIndex) - { - ByteRangeProvider = byteRangeProvider ?? throw new ArgumentNullException(nameof(byteRangeProvider)); - FileTail = fileTail ?? throw new ArgumentNullException(nameof(fileTail)); - Streams = columnStreams ?? throw new ArgumentNullException(nameof(Stream)); - Column = columnDetails ?? throw new ArgumentNullException(nameof(columnDetails)); - Row = rowGroup ?? throw new ArgumentNullException(nameof(rowGroup)); - RowEntryIndex = rowEntryIndex; - - RowIndexEntry = Row.Entry[RowEntryIndex]; - CompressionKind = FileTail.PostScript.Compression; - CompressionBlockSize = (int)FileTail.PostScript.CompressionBlockSize; - } - - public IByteRangeProvider ByteRangeProvider { get; } - public SpanFileTail FileTail { get; } - public IEnumerable Streams { get; } - public ColumnDetail Column { get; } - public RowIndex Row { get; } - public int RowEntryIndex { get; } - public int StripeId { get; } - - public RowIndexEntry RowIndexEntry { get; } - public CompressionKind CompressionKind { get; } - public int CompressionBlockSize { get; } - - public ColumnEncodingKind ColumnEncodingKind { get; init; } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index ebd30ec..7717089 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -1,7 +1,9 @@ using ApacheOrcDotNet.OptimizedReader; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; +using System.Diagnostics; using System.Text; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { @@ -30,85 +32,83 @@ public OptimizedORCApp(string orcFileName, OptimizedORCAppConfiguration confitur public void Run() { // - var reader = new OrcOptimizedReader( + var watch = new Stopwatch(); + var reader = new OptimizedReader.OrcReader( new OrcOptimizedReaderConfiguration() { OptimisticFileTailReadLength = 1 }, _byteRangeProviderFactory.Create(_orcFileName) ); - // + watch.Start(); + + // Args var lookupSource = _configuration.Source; var lookupSymbol = _configuration.Symbol; var beginTime = (decimal)_configuration.BeginTime.TotalSeconds; var endTime = (decimal)_configuration.EndTime.TotalSeconds; - // - var stripeIds = reader.GetStripeIds("source", lookupSource, lookupSource); - stripeIds = reader.GetStripeIds(stripeIds, "symbol", lookupSymbol, lookupSymbol); - stripeIds = reader.GetStripeIds(stripeIds, "time", $"{beginTime}", $"{endTime}"); + // Columns + var sourceColumn = reader.CreateColumn("source", lookupSource, lookupSource); + var symbolColumn = reader.CreateColumn("symbol", lookupSymbol, lookupSymbol); + var timeColumn = reader.CreateColumn("time", $"{beginTime}", $"{endTime}"); + var sizeColumn = reader.CreateColumn("size"); + var dateColumn = reader.CreateColumn("date"); + var doubleColumn = reader.CreateColumn("double"); + var floatColumn = reader.CreateColumn("float"); + var timeStampColumn = reader.CreateColumn("timeStamp"); + var binaryColumn = reader.CreateColumn("binary"); + var byteColumn = reader.CreateColumn("byte"); + + // Buffers + var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); + var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); + var timeColumnBuffer = reader.CreateDecimalColumnBufferAsDouble(timeColumn); + var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + + // Filters + var stripeIds = reader.GetStripeIds(sourceColumn); + stripeIds = reader.GetStripeIds(stripeIds, symbolColumn); + stripeIds = reader.GetStripeIds(stripeIds, timeColumn); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, "source", lookupSource, lookupSource); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "symbol", lookupSymbol, lookupSymbol); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, "time", $"{beginTime}", $"{endTime}"); + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn); foreach (var rowEntryIndex in rowGroupIndexes) { - var sourceReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "source"); - var symbolReader = reader.CreateStringColumnReader(stripeId, rowEntryIndex, "symbol"); - var timeReader = reader.CreateDecimalColumnReaderAsDouble(stripeId, rowEntryIndex, "time"); - var sizeReader = reader.CreateIntegerColumnReader(stripeId, rowEntryIndex, "size"); - var dateReader = reader.CreateDateColumnReader(stripeId, rowEntryIndex, "date"); - var doubleReader = reader.CreateDoubleColumnReader(stripeId, rowEntryIndex, "double"); - var floatReader = reader.CreateFloatColumnReader(stripeId, rowEntryIndex, "float"); - var timeStampReader = reader.CreateTimestampColumnReader(stripeId, rowEntryIndex, "timeStamp"); - var binaryReader = reader.CreateBinaryColumnReader(stripeId, rowEntryIndex, "binary"); - var byteReader = reader.CreateByteColumnReader(stripeId, rowEntryIndex, "byte"); - - sourceReader.FillBuffer(); - symbolReader.FillBuffer(); - timeReader.FillBuffer(); - sizeReader.FillBuffer(); - dateReader.FillBuffer(); - doubleReader.FillBuffer(); - floatReader.FillBuffer(); - timeStampReader.FillBuffer(); - binaryReader.FillBuffer(); - byteReader.FillBuffer(); - - //foreach (var item in dateReader.Values) - // Console.WriteLine(item.HasValue ? item.Value.ToString("yyyy-MM-dd") : ""); - - //var x = true; - //if (x) - // continue; - - //Parallel.Invoke( - // () => sourceReader.FillBuffer(), - // () => symbolReader.FillBuffer(), - // () => timeReader.FillBuffer(), - // () => sizeReader.FillBuffer() - - // () => dateReader.FillBuffer() - // () => doubleReader.FillBuffer(), - // () => timeStampReader.FillBuffer(), - // () => binaryReader.FillBuffer(), - // () => byteReader.FillBuffer() - //); - - for (int idx = 0; idx < sizeReader.Values.Length; idx++) + // Read Data + Parallel.Invoke( + () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer), + () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + ); + + for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) { - var source = sourceReader.Values[idx]; - var symbol = symbolReader.Values[idx]; - var time = timeReader.Values[idx]; - var size = sizeReader.Values[idx]; - - var date = dateReader.Values[idx]; - var dobl = doubleReader.Values[idx]; - var sing = floatReader.Values[idx]; - var timeStamp = timeStampReader.Values[idx]; - var binary = binaryReader.Values[idx]; - var tinyInt = byteReader.Values[idx]; + var source = sourceColumnBuffer.Values[idx]; + var symbol = symbolColumnBuffer.Values[idx]; + var time = timeColumnBuffer.Values[idx]; + var size = sizeColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) { @@ -116,8 +116,8 @@ public void Run() $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + - $"{size,-7}" + - $" |" + + $"{size}" + + $" " + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + $"{dobl}," + $"{sing}," + @@ -130,6 +130,10 @@ public void Run() } } } + + watch.Stop(); + Console.WriteLine(); + Console.WriteLine($"Read execution time: {watch.Elapsed}"); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 1c9f271..b1112f5 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -66,7 +66,6 @@ static void Main(string[] args) optimizedORCApp.Run(); stopWatch.Stop(); - Console.WriteLine(); Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); Console.WriteLine(); } From 8b55d40023cc76129231d000cd53212c2e4af711 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 26 May 2022 17:46:18 -0300 Subject: [PATCH 052/143] Move reader data acquisition to top level classes. --- .../Buffers/BaseColumnBuffer.cs | 85 ++++----- .../Buffers/BinaryColumnBuffer.cs | 78 ++++---- .../Buffers/BooleanColumnBuffer.cs | 14 +- .../Buffers/ByteColumnBuffer.cs | 16 +- .../Buffers/DateColumnBuffer.cs | 16 +- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 21 ++- .../Buffers/DecimalColumnBuffer.cs | 21 ++- .../Buffers/DoubleColumnBuffer.cs | 65 ++++--- .../Buffers/FloatColumnBuffer.cs | 65 ++++--- .../Buffers/IntegerColumnBuffer.cs | 16 +- .../Buffers/StringColumnBuffer.cs | 167 ++++++++---------- .../Buffers/TimestampColumnBuffer.cs | 23 +-- .../ByteRangeProviderExtensions.cs | 28 +++ .../DecompressingMemorySequence.cs | 11 +- .../OrcContext.cs | 4 +- .../OrcReader.cs | 22 +-- .../OptimizedORCApp.cs | 2 +- 17 files changed, 334 insertions(+), 320 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 2695ef5..a4f0b39 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -16,15 +16,20 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public abstract class BaseColumnBuffer { private protected readonly IByteRangeProvider _byteRangeProvider; - private protected readonly OrcContextNew _context; + private protected readonly OrcContext _context; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; private protected int _numValuesRead; private long[] _numericStreamBuffer; private byte[] _byteStreamBuffer; private byte[] _boolStreamBuffer; + //private byte[] _decompressBuffer1; + //private byte[] _decompressBuffer2; + //private byte[] _decompressBuffer3; + //private byte[] _decompressBuffer4; + //private byte[] _decompressBuffer5; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; _context = context; @@ -34,6 +39,14 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew cont _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; + + //var decompressBuffersLength = 4 * 1024 * 1024; + + //_decompressBuffer1 = new byte[decompressBuffersLength]; + //_decompressBuffer2 = new byte[decompressBuffersLength]; + //_decompressBuffer3 = new byte[decompressBuffersLength]; + //_decompressBuffer4 = new byte[decompressBuffersLength]; + //_decompressBuffer5 = new byte[decompressBuffersLength]; } public OrcColumn Column => _column; @@ -59,20 +72,13 @@ protected void ResetInnerBuffers() } [SkipLocalsInit] - private protected int ReadByteStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + private protected int ReadByteStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) { - if (stream == null) + if (dataBuffer.IsEmpty) return 0; - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); var numValuesRead = 0; @@ -97,20 +103,13 @@ private protected int ReadByteStream(StreamDetail stream, in BufferPositions pos } [SkipLocalsInit] - private protected int ReadBooleanStream(StreamDetail stream, in BufferPositions positions, Span outputValues) + private protected int ReadBooleanStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) { - if (stream == null) + if (dataBuffer.IsEmpty) return 0; - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; @@ -170,23 +169,13 @@ private protected int ReadBooleanStream(StreamDetail stream, in BufferPositions } [SkipLocalsInit] - private protected int ReadNumericStream(StreamDetail stream, in BufferPositions positions, bool isSigned, Span outputValues) + private protected int ReadNumericStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, bool isSigned, Span outputValues) { - if (stream == null) + if (dataBuffer.IsEmpty) return 0; - if (stream.EncodingKind != ColumnEncodingKind.DirectV2 && stream.EncodingKind != ColumnEncodingKind.DictionaryV2) - throw new NotImplementedException($"Unimplemented Numeric {nameof(ColumnEncodingKind)} {stream.EncodingKind}"); - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); var numValuesRead = 0; @@ -211,24 +200,16 @@ private protected int ReadNumericStream(StreamDetail stream, in BufferPositions } [SkipLocalsInit] - private protected int ReadVarIntStream(StreamDetail stream, BufferPositions positions, Span outputValues) + private protected int ReadVarIntStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) { - var numValuesRead = 0; - - if (stream == null) - return numValuesRead; - - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: stream.FileOffset + positions.RowGroupOffset, - compressedLength: stream.Length - positions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); + if (dataBuffer.IsEmpty) + return 0; - var rowEntryLength = dataBuffer.Sequence.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(positions.RowEntryOffset, rowEntryLength); + var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; + var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); var dataReader = new SequenceReader(dataSequence); + var numValuesRead = 0; int skippedValues = 0; while (!dataReader.End) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index c7b88b5..a8a93a9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -10,7 +10,7 @@ public class BinaryColumnBuffer : BaseColumnBuffer private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; - public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; @@ -24,58 +24,52 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Length var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBuffer); - var stringOffset = 0; - if (presentStream != null) - { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (_presentStreamBuffer[idx]) - { - var length = (int)_lengthStreamBuffer[lengthIndex++]; - _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); - stringOffset += length; - } - else - _values[_numValuesRead++] = null; + var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); - if (_numValuesRead >= _values.Length) - break; - } - } - else + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - for (int idx = 0; idx < numLengthValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - var length = (int)_lengthStreamBuffer[idx]; + var length = (int)_lengthStreamBuffer[lengthIndex++]; _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); stringOffset += length; - - if (_numValuesRead >= _values.Length) - break; } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; + } + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) + { + var length = (int)_lengthStreamBuffer[idx]; + _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + stringOffset += length; + + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 7c5b0a9..9900520 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -9,7 +9,7 @@ public class BooleanColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private bool[] _dataStreamBuffer; - public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new bool[_context.MaxValuesToRead]; @@ -24,11 +24,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Present var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadBooleanStream(dataStream, dataPostions, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadBooleanStream(in dataMemory, dataPositions, _dataStreamBuffer); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 608b993..2ff2114 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -9,7 +9,7 @@ public class ByteColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private byte[] _dataStreamBuffer; - public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new byte[_context.MaxValuesToRead]; @@ -22,13 +22,17 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadByteStream(dataStream, dataPostions, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadByteStream(in dataMemory, in dataPositions, _dataStreamBuffer); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 04bde22..f79d7fa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -11,7 +11,7 @@ public class DateColumnBuffer : BaseColumnBuffer private readonly bool[] _presentStreamBuffer; private readonly long[] _dataStreamBuffer; - public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -24,13 +24,17 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); if (presentStream != null) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 9a94c50..c40667a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -12,7 +12,7 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; - public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; @@ -27,17 +27,20 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); - - // Secondary var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; + var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); + var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 599f8e4..892f63a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -12,7 +12,7 @@ public class DecimalColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; - public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; @@ -27,17 +27,20 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadVarIntStream(dataStream, dataPostions, _dataStreamBuffer); - - // Secondary var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; + var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); + var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 8c9a6a1..c40f286 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -10,7 +10,7 @@ public class DoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; - public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; } @@ -22,51 +22,46 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + + var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - Span valueBuffer = stackalloc byte[8]; - if (presentStream != null) + Span valueBuffer = stackalloc byte[8]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - if (_presentStreamBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _values[_numValuesRead++] = double.NaN; + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + dataReader.Advance(valueBuffer.Length); } + else + _values[_numValuesRead++] = double.NaN; } - else + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); + dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index a5ec93e..26062a9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -10,7 +10,7 @@ public class FloatColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; - public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; } @@ -22,51 +22,46 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Data var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + + var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataReader = new SequenceReader(dataSequence); - Span valueBuffer = stackalloc byte[4]; - if (presentStream != null) + Span valueBuffer = stackalloc byte[4]; + if (presentStream != null) + { + for (int idx = 0; idx < numPresentValuesRead; idx++) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - if (_presentStreamBuffer[idx]) - { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - dataReader.Advance(valueBuffer.Length); - } - else - _values[_numValuesRead++] = float.NaN; + dataReader.TryCopyTo(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + dataReader.Advance(valueBuffer.Length); } + else + _values[_numValuesRead++] = float.NaN; } - else + } + else + { + while (dataReader.TryCopyTo(valueBuffer)) { - while (dataReader.TryCopyTo(valueBuffer)) - { - dataReader.Advance(valueBuffer.Length); + dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 6078e77..ed76e54 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -9,7 +9,7 @@ public class IntegerColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private long[] _dataStreamBuffer; - public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -22,13 +22,17 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index e7787db..4da753f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -16,7 +16,7 @@ public class StringColumnBuffer : BaseColumnBuffer private long[] _dataStreamBuffer; private long[] _lengthStreamBufferDirectV2; - public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -46,58 +46,52 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); - - // Length var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var numLengthValuesRead = ReadNumericStream(lengthStream, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); - - // Data - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dataBuffer = _byteRangeProvider.DecompressByteRange( - offset: dataStream.FileOffset + dataStreamPostions.RowGroupOffset, - compressedLength: dataStream.Length - dataStreamPostions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - using (dataBuffer) - { - var rowEntryLength = dataBuffer.Sequence.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataBuffer.Sequence.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); + + var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; + var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); - var stringOffset = 0; - if (presentStream != null) + var stringOffset = 0; + if (presentStream != null) + { + var lengthIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + if (_presentStreamBuffer[idx]) { - if (_presentStreamBuffer[idx]) - { - var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; - } - else - _values[_numValuesRead++] = null; - - if (_numValuesRead >= _values.Length) - break; + var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; } + else + _values[_numValuesRead++] = null; + + if (_numValuesRead >= _values.Length) + break; } - else + } + else + { + for (int idx = 0; idx < numLengthValuesRead; idx++) { - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)_lengthStreamBufferDirectV2[idx]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); - stringOffset += length; + var length = (int)_lengthStreamBufferDirectV2[idx]; + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + stringOffset += length; - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } @@ -110,63 +104,56 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var dictionaryDataStream = GetStripeStream(columnStreams, StreamKind.DictionaryData); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, in presentPositions, _presentStreamBuffer); - - // Length var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); - var numLengthValuesRead = ReadNumericStream(lengthStream, in lengthPositions, isSigned: false, lengthStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, in dataPostions, isSigned: false, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + var dictionaryDataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dictionaryDataStream, in dictionaryDataPositions).Sequence; - // Dictionary Data - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - var decompressedBuffer = _byteRangeProvider.DecompressByteRange( - offset: dictionaryDataStream.FileOffset + dictionaryDataPositions.RowGroupOffset, - compressedLength: dictionaryDataStream.Length - dictionaryDataPositions.RowGroupOffset, - compressionKind: _context.CompressionKind, - compressionBlockSize: _context.CompressionBlockSize - ); - - using (decompressedBuffer) + // Processing + var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); + var numLengthValuesRead = ReadNumericStream(in lengthMemory, in lengthPositions, isSigned: false, lengthStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, in dataPositions, isSigned: false, _dataStreamBuffer); + + int stringOffset = 0; + List stringsList = new(numLengthValuesRead); + for (int idx = 0; idx < numLengthValuesRead; idx++) { - int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) - { - var length = (int)lengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(decompressedBuffer.Sequence.Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); - } + var length = (int)lengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(dictionaryDataMemory.Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } - if (presentStream != null) + if (presentStream != null) + { + var dataIndex = 0; + for (int idx = 0; idx < numPresentValuesRead; idx++) { - var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) - { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; - else - _values[_numValuesRead++] = null; + if (_presentStreamBuffer[idx]) + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; + else + _values[_numValuesRead++] = null; - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } - else + } + else + { + for (int idx = 0; idx < numDataValuesRead; idx++) { - for (int idx = 0; idx < numDataValuesRead; idx++) - { - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; + _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; - if (_numValuesRead >= _values.Length) - break; - } + if (_numValuesRead >= _values.Length) + break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 72a99ec..71eb5cd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -12,7 +12,7 @@ public class TimestampColumnBuffer : BaseColumnBuffer private readonly long[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; - public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContextNew context, OrcColumn column) : base(byteRangeProvider, context, column) + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; @@ -27,17 +27,20 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataStream = GetStripeStream(columnStreams, StreamKind.Data); var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - // Present + // Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var numPresentValuesRead = ReadBooleanStream(presentStream, presentPositions, _presentStreamBuffer); + var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - // Data - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var numDataValuesRead = ReadNumericStream(dataStream, dataPostions, isSigned: true, _dataStreamBuffer); + // Decompression + var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; + var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, in secondaryPostions).Sequence; - // Secondary - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); - var numSecondaryValuesRead = ReadNumericStream(secondaryStream, secondaryPostions, isSigned: false, _secondaryStreamBuffer); + // Processing + var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); + _ = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: false, _secondaryStreamBuffer); if (presentStream != null) { @@ -58,7 +61,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numSecondaryValuesRead; idx++) + for (int idx = 0; idx < numDataValuesRead; idx++) { var seconds = _dataStreamBuffer[idx]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs index 66256ce..114a491 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs @@ -5,6 +5,34 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class ByteRangeProviderExtensions { + public static DecompressingMemorySequence DecompressByteRangeNew(this IByteRangeProvider provider, OrcContext context, StreamDetail stream, in BufferPositions positions) + { + if (stream == null) + { + // TODO: Remove this temporary hack + Span emptyBuffer = stackalloc byte[0]; + return new DecompressingMemorySequence(emptyBuffer, context.CompressionKind, context.CompressionBlockSize); + } + + var offset = stream.FileOffset + positions.RowGroupOffset; + var compressedLength = stream.Length - positions.RowGroupOffset; + + var buffer = ArrayPool.Shared.Rent(compressedLength); + + try + { + var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); + + provider.GetRange(bufferSpan, offset); + + return new DecompressingMemorySequence(bufferSpan, context.CompressionKind, context.CompressionBlockSize); + } + finally + { + ArrayPool.Shared.Return(buffer); + } + } + public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) { var buffer = ArrayPool.Shared.Rent(compressedLength); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index ed355bd..7bf8611 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -45,7 +45,16 @@ public void Dispose() } } - public ReadOnlySequence Sequence => new(_begin, 0, _end, _end.Memory.Length); + public ReadOnlySequence Sequence + { + get + { + if (_begin == default || _end == default) + return new(); + + return new(_begin, 0, _end, _end.Memory.Length); + } + } } sealed class SequenceNode : ReadOnlySequenceSegment diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs index 1b68425..499d7e3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs @@ -2,9 +2,9 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcContextNew + public class OrcContext { - public OrcContextNew(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) + public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) { CompressionKind = compressionKind; CompressionBlockSize = compressionBlockSize; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 1382d4e..32928a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -68,67 +68,67 @@ public OrcColumn CreateColumn(string columnName, string min = null, string max = public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new BinaryColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new BooleanColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new ByteColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DateColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDecimalColumnReader(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DecimalColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DoubleColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new FloatColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new IntegerColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new StringColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) { - var context = new OrcContextNew(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new TimestampColumnBuffer(_byteRangeProvider, context, column); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 7717089..d43066c 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -83,7 +83,7 @@ public void Run() foreach (var rowEntryIndex in rowGroupIndexes) { - // Read Data + // Process Parallel.Invoke( () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer), () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer), From aa5b81c15d36f16b79beaa514b70974572abe785 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 26 May 2022 18:07:56 -0300 Subject: [PATCH 053/143] Add support for parallel reads. --- .../BufferPools.cs | 6 + .../BufferPositions.cs | 4 - .../BufferReader.cs | 52 +++++ .../Buffers/BaseColumnBuffer.cs | 184 +++++++++--------- .../Buffers/BinaryColumnBuffer.cs | 79 +++++--- .../Buffers/BooleanColumnBuffer.cs | 53 +++-- .../Buffers/ByteColumnBuffer.cs | 53 +++-- .../Buffers/DateColumnBuffer.cs | 53 +++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 71 ++++--- .../Buffers/DecimalColumnBuffer.cs | 71 ++++--- .../Buffers/DoubleColumnBuffer.cs | 55 ++++-- .../Buffers/FloatColumnBuffer.cs | 55 ++++-- .../Buffers/IntegerColumnBuffer.cs | 53 +++-- .../Buffers/StringColumnBuffer.cs | 152 ++++++++++----- .../Buffers/TimestampColumnBuffer.cs | 67 +++++-- .../DataPositions.cs | 4 + .../Encodings/OptimizedByteRLE.cs | 3 +- .../Encodings/OptimizedIntegerRLE.cs | 20 +- .../ByteRangeProviderExtensions.cs | 28 --- .../DecompressingMemorySequence.cs | 2 +- .../Infrastructure/StreamData.cs | 32 +++ .../OrcContext.cs | 13 +- .../OrcReader.cs | 19 +- .../OptimizedORCApp.cs | 75 ++++--- 24 files changed, 781 insertions(+), 423 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs new file mode 100644 index 0000000..e758c37 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs @@ -0,0 +1,6 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public class BufferPools + { + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs deleted file mode 100644 index 604b9cc..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferPositions.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader -{ - public readonly record struct BufferPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs new file mode 100644 index 0000000..9ee1ebb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -0,0 +1,52 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public readonly ref struct BufferReader + { + private readonly ReadOnlySpan _buffer; + private readonly int _position; + + public BufferReader(ReadOnlySpan buffer) + { + _buffer = buffer; + _position = 0; + } + + public bool Complete => _position >= _buffer.Length; + + public bool TryRead(out byte value) + { + value = default; + + if (_position >= _buffer.Length) + return false; + + value = _buffer[_position]; + + Advance(1); + + return true; + } + + public bool TryCopyTo(Span buffer) + { + if (_position + buffer.Length >= _buffer.Length) + return false; + + _buffer.Slice(_position, buffer.Length).CopyTo(buffer); + + Advance(buffer.Length); + + return true; + } + + private unsafe void Advance(int length) + { + fixed (int* ptr = &_position) + { + *ptr += length; + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index a4f0b39..889dfbe 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -15,6 +15,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public abstract class BaseColumnBuffer { + private protected readonly ArrayPool _arrayPool; private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcContext _context; private protected readonly OrcColumn _column; @@ -23,11 +24,6 @@ public abstract class BaseColumnBuffer private long[] _numericStreamBuffer; private byte[] _byteStreamBuffer; private byte[] _boolStreamBuffer; - //private byte[] _decompressBuffer1; - //private byte[] _decompressBuffer2; - //private byte[] _decompressBuffer3; - //private byte[] _decompressBuffer4; - //private byte[] _decompressBuffer5; public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { @@ -40,13 +36,7 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; - //var decompressBuffersLength = 4 * 1024 * 1024; - - //_decompressBuffer1 = new byte[decompressBuffersLength]; - //_decompressBuffer2 = new byte[decompressBuffersLength]; - //_decompressBuffer3 = new byte[decompressBuffersLength]; - //_decompressBuffer4 = new byte[decompressBuffersLength]; - //_decompressBuffer5 = new byte[decompressBuffersLength]; + _arrayPool = ArrayPool.Create(15 * 1024 * 1024, 8); } public OrcColumn Column => _column; @@ -54,42 +44,22 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context public abstract void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); - protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) - { - var stream = columnStreams.SingleOrDefault(stream => - stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); + public void Reset() => _numValuesRead = 0; - return stream; - } - - protected void ResetInnerBuffers() + private protected int ReadByteStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) { - _numValuesRead = 0; - } + numValuesRead = 0; - [SkipLocalsInit] - private protected int ReadByteStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) - { - if (dataBuffer.IsEmpty) - return 0; - - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + var numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _byteStreamBuffer); + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _byteStreamBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { - if (skippedValues++ < positions.ValuesToSkip) + if (numSkipped++ < positions.ValuesToSkip) continue; outputValues[numValuesRead++] = _byteStreamBuffer[idx]; @@ -102,27 +72,21 @@ private protected int ReadByteStream(in ReadOnlySequence dataBuffer, in Bu return numValuesRead; } - [SkipLocalsInit] - private protected int ReadBooleanStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) + private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) { - if (dataBuffer.IsEmpty) - return 0; - - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + numValuesRead = 0; + var numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref dataReader, _boolStreamBuffer); + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { - if (skippedValues++ < numOfBytesToSkip) + if (numSkipped++ < numOfBytesToSkip) continue; var decodedByte = _boolStreamBuffer[idx]; @@ -133,104 +97,100 @@ private protected int ReadBooleanStream(in ReadOnlySequence dataBuffer, in outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 64) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 32) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 16) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 8) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 4) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 2) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; outputValues[numValuesRead++] = (decodedByte & 1) != 0; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; } } - - return numValuesRead; } - [SkipLocalsInit] - private protected int ReadNumericStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, bool isSigned, Span outputValues) + private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in DataPositions positions, bool isSigned, Span outputValues, ref int numValuesRead) { - if (dataBuffer.IsEmpty) - return 0; + numValuesRead = 0; - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + var numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numValuesRead = 0; - var skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref dataReader, isSigned, _numericStreamBuffer); + var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned, _numericStreamBuffer); for (int idx = 0; idx < numNewValuesRead; idx++) { - if (skippedValues++ < positions.ValuesToSkip) + if (numSkipped++ < positions.ValuesToSkip) continue; outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; } } - - return numValuesRead; } - [SkipLocalsInit] - private protected int ReadVarIntStream(in ReadOnlySequence dataBuffer, in BufferPositions positions, Span outputValues) + private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) { - if (dataBuffer.IsEmpty) - return 0; + numValuesRead = 0; - var rowEntryLength = dataBuffer.Length - positions.RowEntryOffset; - var dataSequence = dataBuffer.Slice(positions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + int numSkipped = 0; + var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numValuesRead = 0; - int skippedValues = 0; - while (!dataReader.End) + while (!bufferReader.Complete) { - var bigInt = ReadBigVarInt(ref dataReader); + var bigInt = ReadBigVarInt(ref bufferReader); if (!bigInt.HasValue) - break; + return; - if (skippedValues++ < positions.ValuesToSkip) + if (numSkipped++ < positions.ValuesToSkip) continue; outputValues[numValuesRead++] = bigInt.Value; if (numValuesRead >= outputValues.Length) - break; + return; } + } - return numValuesRead; + private protected StreamDetail GetColumnStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + { + var stream = columnStreams.SingleOrDefault(stream => + stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; } - private protected BufferPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + private protected DataPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) { if (presentStream == null) return new(); @@ -238,7 +198,7 @@ private protected BufferPositions GetPresentStreamPositions(StreamDetail present return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); } - private protected BufferPositions GetTargetedStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) + private protected DataPositions GetTargetDataStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) { var positionStep = presentStream == null ? 0 : 4; @@ -326,6 +286,38 @@ private protected BufferPositions GetTargetedStreamPositions(StreamDetail presen return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip); } + private protected void GetByteRange(Span output, StreamDetail stream, in DataPositions positions, ref int rangeLength) + { + rangeLength = 0; + + if (stream != null) + { + var offset = stream.FileOffset + positions.RowGroupOffset; + var compressedLength = stream.Length - positions.RowGroupOffset; + + rangeLength = _byteRangeProvider.GetRange(output.Slice(0, compressedLength), offset); + } + } + + private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetail stream, in DataPositions positions, ref int decompressedLength) + { + decompressedLength = 0; + + if (stream != null) + { + var compressedLength = stream.Length - positions.RowGroupOffset; + + decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); + } + } + + private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in DataPositions positions) + { + var rowentrylength = length - positions.RowEntryOffset; + + return buffer.Slice(positions.RowEntryOffset, rowentrylength); + } + private protected double BigIntegerToDouble(BigInteger numerator, long scale) => (double)BigIntegerToDecimal(numerator, scale); @@ -340,7 +332,7 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) return decNumerator * scaler; } - private BigInteger? ReadBigVarInt(ref SequenceReader stream) + private BigInteger? ReadBigVarInt(ref BufferReader stream) { var value = BigInteger.Zero; long currentLong = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index a8a93a9..f1d4a6c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -1,75 +1,98 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System.Buffers; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class BinaryColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _lengthInputBuffer; + private byte[] _lengthOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Stream Byte Ranges + (int present, int length, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBuffer); + // Decompress Byte Ranges + (int present, int length, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); + // Parse Decompressed Bytes + (int present, int length) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length) + ); + + var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); var stringOffset = 0; if (presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { var length = (int)_lengthStreamBuffer[lengthIndex++]; - _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + _values[_numValuesRead++] = dataBuffer.Slice(stringOffset, length).ToArray(); stringOffset += length; } else _values[_numValuesRead++] = null; - - if (_numValuesRead >= _values.Length) - break; } } else { - for (int idx = 0; idx < numLengthValuesRead; idx++) + for (int idx = 0; idx < valuesRead.length; idx++) { var length = (int)_lengthStreamBuffer[idx]; - _values[_numValuesRead++] = dataSequence.Slice(stringOffset, length).ToArray(); + _values[_numValuesRead++] = dataBuffer.Slice(stringOffset, length).ToArray(); stringOffset += length; - - if (_numValuesRead >= _values.Length) - break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 9900520..6326e6b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -1,43 +1,68 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private bool[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new bool[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Present + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadBooleanStream(in dataMemory, dataPositions, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) + ); var dataIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; @@ -47,7 +72,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _dataStreamBuffer[idx]; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 2ff2114..02ba558 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -1,43 +1,68 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private byte[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new byte[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadByteStream(in dataMemory, in dataPositions, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) + ); var dataIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; @@ -47,7 +72,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _dataStreamBuffer[idx]; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index f79d7fa..a075a5f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -2,44 +2,69 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DateColumnBuffer : BaseColumnBuffer { readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamBuffer; private readonly long[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) + ); if (presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[dataIndex++] * TimeSpan.TicksPerDay); @@ -49,7 +74,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[idx] * TimeSpan.TicksPerDay); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index c40667a..a189d29 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,51 +1,81 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System; using System.Collections.Generic; using System.Numerics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _secondaryInputBuffer; + private byte[] _secondaryOutputBuffer; public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data, int secondary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; - var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + // Decompress Byte Ranges + (int present, int data, int secondary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); - var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + // Parse Decompressed Bytes + (int present, int data, int secondary) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), + () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) + ); var secondaryIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { @@ -58,10 +88,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) + for (int idx = 0; idx < valuesRead.secondary; idx++) _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 892f63a..5ab271a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,51 +1,81 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System; using System.Collections.Generic; using System.Numerics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DecimalColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private BigInteger[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _secondaryInputBuffer; + private byte[] _secondaryOutputBuffer; public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data, int secondary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataPostions).Sequence; - var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, secondaryPostions).Sequence; + // Decompress Byte Ranges + (int present, int data, int secondary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadVarIntStream(in dataMemory, dataPostions, _dataStreamBuffer); - var numSecondaryValuesRead = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: true, _secondaryStreamBuffer); + // Parse Decompressed Bytes + (int present, int data, int secondary) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), + () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) + ); var secondaryIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { @@ -58,10 +88,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - if (numDataValuesRead != numSecondaryValuesRead) - throw new InvalidOperationException("Number of values read from DATA and SECODARY streams do not match."); - - for (int idx = 0; idx < numSecondaryValuesRead; idx++) + for (int idx = 0; idx < valuesRead.secondary; idx++) _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index c40f286..d943956 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -1,52 +1,71 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Buffers; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class DoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Parse Decompressed Bytes + int presentValuesRead = default; + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + + var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); Span valueBuffer = stackalloc byte[8]; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { dataReader.TryCopyTo(valueBuffer); _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); - dataReader.Advance(valueBuffer.Length); } else _values[_numValuesRead++] = double.NaN; @@ -56,8 +75,6 @@ public override void Fill(int stripeId, IEnumerable columnStreams, { while (dataReader.TryCopyTo(valueBuffer)) { - dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); if (_numValuesRead >= _values.Length) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 26062a9..7474a26 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -1,52 +1,71 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Buffers; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class FloatColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataStreamPostions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, dataStreamPostions).Sequence; + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - var rowEntryLength = dataMemory.Length - dataStreamPostions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataStreamPostions.RowEntryOffset, rowEntryLength); - var dataReader = new SequenceReader(dataSequence); + // Parse Decompressed Bytes + int presentValuesRead = default; + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + + var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); Span valueBuffer = stackalloc byte[4]; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { dataReader.TryCopyTo(valueBuffer); _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); - dataReader.Advance(valueBuffer.Length); } else _values[_numValuesRead++] = float.NaN; @@ -56,8 +75,6 @@ public override void Fill(int stripeId, IEnumerable columnStreams, { while (dataReader.TryCopyTo(valueBuffer)) { - dataReader.Advance(valueBuffer.Length); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); if (_numValuesRead >= _values.Length) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index ed76e54..b58ffd3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -1,43 +1,68 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamBuffer; private long[] _dataStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; + // Decompress Byte Ranges + (int present, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); + // Parse Decompressed Bytes + (int present, int data) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) + ); var dataIndex = 0; if (presentStream != null) { - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; @@ -47,7 +72,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) _values[_numValuesRead++] = _dataStreamBuffer[idx]; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 4da753f..4fd15ba 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -5,9 +5,11 @@ using System.Linq; using System.Runtime.CompilerServices; using System.Text; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary _dictionaryLengthBuffers = new(); @@ -15,18 +17,36 @@ public class StringColumnBuffer : BaseColumnBuffer private bool[] _presentStreamBuffer; private long[] _dataStreamBuffer; private long[] _lengthStreamBufferDirectV2; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _lengthInputBuffer; + private byte[] _lengthOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _dictionaryInputBuffer; + private byte[] _dictionaryOutputBuffer; public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; _lengthStreamBufferDirectV2 = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dictionaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dictionaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); - switch (columnStreams.First().EncodingKind) { case ColumnEncodingKind.DirectV2: @@ -42,37 +62,51 @@ public override void Fill(int stripeId, IEnumerable columnStreams, private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numLengthValuesRead = ReadNumericStream(in lengthMemory, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2); - - var rowEntryLength = dataMemory.Length - dataPositions.RowEntryOffset; - var dataSequence = dataMemory.Slice(dataPositions.RowEntryOffset, rowEntryLength); + var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int length, int data) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + ); + + // Decompress Byte Ranges + (int present, int length, int data) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) + ); + + // Parse Decompressed Bytes + (int present, int length) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length) + ); + + var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); var stringOffset = 0; if (presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; } else @@ -84,10 +118,10 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } else { - for (int idx = 0; idx < numLengthValuesRead; idx++) + for (int idx = 0; idx < valuesRead.length; idx++) { var length = (int)_lengthStreamBufferDirectV2[idx]; - _values[_numValuesRead++] = Encoding.UTF8.GetString(dataSequence.Slice(stringOffset, length)); + _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; if (_numValuesRead >= _values.Length) @@ -96,38 +130,54 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } } - [SkipLocalsInit] private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, int stripeId) { - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetStripeStream(columnStreams, StreamKind.Length); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var dictionaryDataStream = GetStripeStream(columnStreams, StreamKind.DictionaryData); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var dictionaryDataStream = GetColumnStream(columnStreams, StreamKind.DictionaryData); - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetedStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var dictionaryDataPositions = GetTargetedStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var lengthMemory = _byteRangeProvider.DecompressByteRangeNew(_context, lengthStream, in lengthPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - var dictionaryDataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dictionaryDataStream, in dictionaryDataPositions).Sequence; - - // Processing - var lengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); - var numPresentValuesRead = ReadBooleanStream(in presentMemory, in presentPositions, _presentStreamBuffer); - var numLengthValuesRead = ReadNumericStream(in lengthMemory, in lengthPositions, isSigned: false, lengthStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, in dataPositions, isSigned: false, _dataStreamBuffer); + var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var dictionaryDataPositions = GetTargetDataStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int length, int data, int dictionary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_dictionaryInputBuffer, dictionaryDataStream, dictionaryDataPositions, ref rangeSizes.dictionary) + ); + + // Decompress Byte Ranges + (int present, int length, int data, int dictionary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary) + ); + + // Parse Decompressed Bytes + (int present, int length, int data) valuesRead = default; + var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, dictionaryV2LengthStreamBuffer, ref valuesRead.length); + + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data) + ); int stringOffset = 0; - List stringsList = new(numLengthValuesRead); - for (int idx = 0; idx < numLengthValuesRead; idx++) + List stringsList = new(valuesRead.length); + for (int idx = 0; idx < valuesRead.length; idx++) { - var length = (int)lengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(dictionaryDataMemory.Slice(stringOffset, length)); + var length = (int)dictionaryV2LengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(_dictionaryOutputBuffer.AsSpan().Slice(stringOffset, length)); stringOffset += length; stringsList.Add(value); } @@ -135,7 +185,7 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE if (presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; @@ -148,7 +198,7 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) { _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 71eb5cd..156816f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -2,50 +2,81 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { + [SkipLocalsInit] public class TimestampColumnBuffer : BaseColumnBuffer { readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamBuffer; private readonly long[] _dataStreamBuffer; private long[] _secondaryStreamBuffer; + private byte[] _presentInputBuffer; + private byte[] _presentOutputBuffer; + private byte[] _dataInputBuffer; + private byte[] _dataOutputBuffer; + private byte[] _secondaryInputBuffer; + private byte[] _secondaryOutputBuffer; public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _dataStreamBuffer = new long[_context.MaxValuesToRead]; _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; + + _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); + _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - ResetInnerBuffers(); + // Streams + var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); + var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - var presentStream = GetStripeStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetStripeStream(columnStreams, StreamKind.Data); - var secondaryStream = GetStripeStream(columnStreams, StreamKind.Secondary); - - // Positions + // Stream Positions var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetedStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetedStreamPositions(presentStream, secondaryStream, rowIndexEntry); + var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + + // Stream Byte Ranges + (int present, int data, int secondary) rangeSizes = default; + Parallel.Invoke( + () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), + () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), + () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + ); - // Decompression - var presentMemory = _byteRangeProvider.DecompressByteRangeNew(_context, presentStream, in presentPositions).Sequence; - var dataMemory = _byteRangeProvider.DecompressByteRangeNew(_context, dataStream, in dataPositions).Sequence; - var secondaryMemory = _byteRangeProvider.DecompressByteRangeNew(_context, secondaryStream, in secondaryPostions).Sequence; + // Decompress Byte Ranges + (int present, int data, int secondary) decompressedSizes = default; + Parallel.Invoke( + () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), + () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), + () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) + ); - // Processing - var numPresentValuesRead = ReadBooleanStream(in presentMemory, presentPositions, _presentStreamBuffer); - var numDataValuesRead = ReadNumericStream(in dataMemory, dataPositions, isSigned: true, _dataStreamBuffer); - _ = ReadNumericStream(in secondaryMemory, secondaryPostions, isSigned: false, _secondaryStreamBuffer); + // Parse Decompressed Bytes + (int present, int data, int secondary) valuesRead = default; + Parallel.Invoke( + () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), + () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data), + () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary) + ); if (presentStream != null) { var secondaryIndex = 0; - for (int idx = 0; idx < numPresentValuesRead; idx++) + for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) { @@ -61,7 +92,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < numDataValuesRead; idx++) + for (int idx = 0; idx < valuesRead.data; idx++) { var seconds = _dataStreamBuffer[idx]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs new file mode 100644 index 0000000..a75400e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader +{ + public readonly record struct DataPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index 1df8cae..cc6dbc8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -1,11 +1,10 @@ using System; -using System.Buffers; namespace ApacheOrcDotNet.OptimizedReader.Encodings { public static class OptimizedByteRLE { - public static int ReadValues(ref SequenceReader reader, Span outputValues) + public static int ReadValues(ref BufferReader reader, Span outputValues) { var numReadValues = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 98b74a5..259a1aa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -9,7 +9,7 @@ public static class OptimizedIntegerRLE { enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } - public static int ReadValues(ref SequenceReader reader, bool isSigned, Span outputValues) + public static int ReadValues(ref BufferReader reader, bool isSigned, Span outputValues) { var numReadValues = 0; @@ -39,7 +39,7 @@ public static int ReadValues(ref SequenceReader reader, bool isSigned, Spa return numReadValues; } - private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { var width = ((firstByte >> 3) & 0x7) + 1; numReadValues = (firstByte & 0x7) + 3; @@ -52,7 +52,7 @@ private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref Seque return width; } - private static void ReadDirectValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static void ReadDirectValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { var encodedWidth = (firstByte >> 1) & 0x1f; var width = encodedWidth.DecodeDirectWidth(); @@ -67,7 +67,7 @@ private static void ReadDirectValues(int firstByte, bool isSigned, ref SequenceR ReadBitpackedIntegers(ref reader, isSigned, width, numReadValues, outputValues); } - private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { var encodedWidth = (firstByte >> 1) & 0x1f; var directBitWidth = encodedWidth.DecodeDirectWidth(); @@ -76,7 +76,7 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Sequ Span nextBytes = stackalloc byte[3]; if (!reader.TryCopyTo(nextBytes)) throw new InvalidOperationException("Read past end of stream"); - reader.Advance(3); + //reader.Advance(3); numReadValues |= nextBytes[0]; numReadValues += 1; @@ -134,7 +134,7 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Sequ } } - private static void ReadDeltaValues(int firstByte, bool isSigned, ref SequenceReader reader, Span outputValues, ref int numReadValues) + private static void ReadDeltaValues(int firstByte, bool isSigned, ref BufferReader reader, Span outputValues, ref int numReadValues) { int index = 0; int bitWidth = 0; @@ -205,7 +205,7 @@ private static void GetNextPatch(Span patchListValues, ref int patchIndex, gap += curGap; } - private static void ReadBitpackedIntegers(ref SequenceReader reader, bool isSigned, int bitWidth, int count, Span outputValues) + private static void ReadBitpackedIntegers(ref BufferReader reader, bool isSigned, int bitWidth, int count, Span outputValues) { byte currentByte = 0; int bitsAvailable = 0; @@ -239,7 +239,7 @@ private static void ReadBitpackedIntegers(ref SequenceReader reader, bool } } - private static long ReadLongBE(ref SequenceReader reader, int numBytes, bool isSigned = false) + private static long ReadLongBE(ref BufferReader reader, int numBytes, bool isSigned = false) { long result = 0; @@ -256,13 +256,13 @@ private static long ReadLongBE(ref SequenceReader reader, int numBytes, bo : result; } - private static long ReadVarIntSigned(ref SequenceReader reader) + private static long ReadVarIntSigned(ref BufferReader reader) { var unsigned = ReadVarIntUnsigned(ref reader); return unsigned.ZigzagDecode(); } - private static long ReadVarIntUnsigned(ref SequenceReader reader) + private static long ReadVarIntUnsigned(ref BufferReader reader) { long result = 0; int bitCount = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs index 114a491..66256ce 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs @@ -5,34 +5,6 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class ByteRangeProviderExtensions { - public static DecompressingMemorySequence DecompressByteRangeNew(this IByteRangeProvider provider, OrcContext context, StreamDetail stream, in BufferPositions positions) - { - if (stream == null) - { - // TODO: Remove this temporary hack - Span emptyBuffer = stackalloc byte[0]; - return new DecompressingMemorySequence(emptyBuffer, context.CompressionKind, context.CompressionBlockSize); - } - - var offset = stream.FileOffset + positions.RowGroupOffset; - var compressedLength = stream.Length - positions.RowGroupOffset; - - var buffer = ArrayPool.Shared.Rent(compressedLength); - - try - { - var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); - - provider.GetRange(bufferSpan, offset); - - return new DecompressingMemorySequence(bufferSpan, context.CompressionKind, context.CompressionBlockSize); - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) { var buffer = ArrayPool.Shared.Rent(compressedLength); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs index 7bf8611..d829f97 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs @@ -16,7 +16,7 @@ public DecompressingMemorySequence(ReadOnlySpan compressedBuffer, Compress while (position < compressedBuffer.Length) { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, compressedBuffer[position..]); - var decompressedSegment = ArrayPool.Shared.Rent(compressionBlockSize); + var decompressedSegment = new byte[compressionBlockSize]; var decompressedSegmentSpan = decompressedSegment.AsSpan().Slice(0, compressionBlockSize); var chunkToDecompress = (position + compressedChunkLength) > compressedBuffer.Length diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs new file mode 100644 index 0000000..cc00beb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs @@ -0,0 +1,32 @@ +using ApacheOrcDotNet.Compression; +using ApacheOrcDotNet.Protocol; +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public static class StreamData + { + public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind) + { + if (inputBuffer.IsEmpty) + return 0; + + int inputPosition = 0; + int outputPosition = 0; + while (inputPosition < inputBuffer.Length) + { + var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + + var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length + ? inputBuffer.Slice(inputPosition) + : inputBuffer.Slice(inputPosition, compressedChunkLength); + + outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer.Slice(outputPosition)); + + inputPosition += compressedChunkLength; + } + + return outputPosition; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs index 499d7e3..0ac38d7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs @@ -4,15 +4,26 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcContext { - public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead) + public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int maxCompressedBufferLength = 0, int maxDecompresseBufferLength = 0) { CompressionKind = compressionKind; CompressionBlockSize = compressionBlockSize; MaxValuesToRead = maxValuesToRead; + + if (maxCompressedBufferLength <= 0) + maxCompressedBufferLength = 25 * 1024 * 1024; + + if (maxDecompresseBufferLength <= 0) + maxDecompresseBufferLength = 25 * 1024 * 1024; + + MaxCompressedBufferLength = maxCompressedBufferLength; + MaxDecompresseBufferLength = maxDecompresseBufferLength; } public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } public int MaxValuesToRead { get; } + public int MaxCompressedBufferLength { get; } + public int MaxDecompresseBufferLength { get; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 32928a1..9916fe7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -132,14 +132,6 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) return new TimestampColumnBuffer(_byteRangeProvider, context, column); } - public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) - { - var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); - var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; - - columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); - } - public IEnumerable GetStripeIds(OrcColumn column) => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); @@ -174,6 +166,17 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s }); } + public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + { + if (discardPreviousData) + columnBuffer.Reset(); + + var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); + var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; + + columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); + } + private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index d43066c..d42cc59 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; -using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -51,24 +50,24 @@ public void Run() var symbolColumn = reader.CreateColumn("symbol", lookupSymbol, lookupSymbol); var timeColumn = reader.CreateColumn("time", $"{beginTime}", $"{endTime}"); var sizeColumn = reader.CreateColumn("size"); - var dateColumn = reader.CreateColumn("date"); - var doubleColumn = reader.CreateColumn("double"); - var floatColumn = reader.CreateColumn("float"); - var timeStampColumn = reader.CreateColumn("timeStamp"); - var binaryColumn = reader.CreateColumn("binary"); - var byteColumn = reader.CreateColumn("byte"); + //var dateColumn = reader.CreateColumn("date"); + //var doubleColumn = reader.CreateColumn("double"); + //var floatColumn = reader.CreateColumn("float"); + //var timeStampColumn = reader.CreateColumn("timeStamp"); + //var binaryColumn = reader.CreateColumn("binary"); + //var byteColumn = reader.CreateColumn("byte"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = reader.CreateDecimalColumnBufferAsDouble(timeColumn); + var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn); @@ -85,16 +84,16 @@ public void Run() { // Process Parallel.Invoke( - () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer), - () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) ); for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) @@ -103,27 +102,27 @@ public void Run() var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - var date = dateColumnBuffer.Values[idx]; - var dobl = doubleColumnBuffer.Values[idx]; - var sing = floatColumnBuffer.Values[idx]; - var timeStamp = timeStampColumnBuffer.Values[idx]; - var binary = binaryColumnBuffer.Values[idx]; - var tinyInt = byteColumnBuffer.Values[idx]; + //var date = dateColumnBuffer.Values[idx]; + //var dobl = doubleColumnBuffer.Values[idx]; + //var sing = floatColumnBuffer.Values[idx]; + //var timeStamp = timeStampColumnBuffer.Values[idx]; + //var binary = binaryColumnBuffer.Values[idx]; + //var tinyInt = byteColumnBuffer.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= (double)beginTime && time <= (double)endTime) + if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"" + $"{source}," + $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + $"{size}" + - $" " + - $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - $"{dobl}," + - $"{sing}," + - $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - $"{tinyInt}" + + //$" " + + //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + //$"{dobl}," + + //$"{sing}," + + //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + //$"{tinyInt}" + $"" ); } From dd23a8514dd6f3f6a69f993c1636a8c9ae059eff Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 1 Jun 2022 02:08:42 -0300 Subject: [PATCH 054/143] Use parallel execution only for byte range call. --- .../Buffers/BinaryColumnBuffer.cs | 14 +++------ .../Buffers/BooleanColumnBuffer.cs | 12 +++---- .../Buffers/ByteColumnBuffer.cs | 12 +++---- .../Buffers/DateColumnBuffer.cs | 12 +++---- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 16 ++++------ .../Buffers/DecimalColumnBuffer.cs | 16 ++++------ .../Buffers/DoubleColumnBuffer.cs | 6 ++-- .../Buffers/FloatColumnBuffer.cs | 6 ++-- .../Buffers/IntegerColumnBuffer.cs | 6 ++-- .../Buffers/StringColumnBuffer.cs | 31 +++++++------------ .../Buffers/TimestampColumnBuffer.cs | 16 ++++------ 11 files changed, 52 insertions(+), 95 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index f1d4a6c..49d409d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -55,18 +55,14 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int length, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int length) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length); var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 6326e6b..54176a8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -47,17 +47,13 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 02ba558..f095a35 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -47,17 +47,13 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); var dataIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index a075a5f..bb9c664 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -49,17 +49,13 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); if (presentStream != null) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index a189d29..012ff59 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -58,19 +58,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data, int secondary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); // Parse Decompressed Bytes (int present, int data, int secondary) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), - () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 5ab271a..8db584a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -58,19 +58,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data, int secondary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); // Parse Decompressed Bytes (int present, int data, int secondary) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data), - () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); var secondaryIndex = 0; if (presentStream != null) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index d943956..de0c121 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -46,10 +46,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes int presentValuesRead = default; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 7474a26..b52beb5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -46,10 +46,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes int presentValuesRead = default; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index b58ffd3..bf6b412 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -47,10 +47,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int data) valuesRead = default; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 4fd15ba..3f20979 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -82,18 +82,14 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry // Decompress Byte Ranges (int present, int length, int data) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); // Parse Decompressed Bytes (int present, int length) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length); var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); @@ -155,22 +151,17 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE // Decompress Byte Ranges (int present, int length, int data, int dictionary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary); // Parse Decompressed Bytes (int present, int length, int data) valuesRead = default; var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, dictionaryV2LengthStreamBuffer, ref valuesRead.length); - - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data) - ); + ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data); int stringOffset = 0; List stringsList = new(valuesRead.length); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 156816f..b70c1c3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -59,19 +59,15 @@ public override void Fill(int stripeId, IEnumerable columnStreams, // Decompress Byte Ranges (int present, int data, int secondary) decompressedSizes = default; - Parallel.Invoke( - () => DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present), - () => DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data), - () => DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary) - ); + DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); + DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); // Parse Decompressed Bytes (int present, int data, int secondary) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data), - () => ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary) - ); + ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); + ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); + ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary); if (presentStream != null) { From 0507b4d8f873c17dbe949b3ae965001f780daf69 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 1 Jun 2022 17:44:53 -0300 Subject: [PATCH 055/143] Add Amazon S3 byte range provider. --- .../AmazonS3ByteRangeProvider.cs | 101 ++++++++++++++++++ .../AmazonS3ByteRangeProviderFactory.cs | 12 +++ .../OptimizedORCApp.cs | 8 +- 3 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs new file mode 100644 index 0000000..fae8eeb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Concurrent; +using System.IO; +using System.Net.Http; +using System.Net.Http.Headers; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class AmazonS3ByteRangeProvider : IByteRangeProvider + { + readonly ConcurrentDictionary _cache = new(); + readonly HttpClient _httpClient = new(); + readonly string _remoteLocation; + readonly long _length; + + internal AmazonS3ByteRangeProvider(string remoteLocation) + { + _remoteLocation = remoteLocation; + _length = GetLength(); + } + + public void Dispose() => _httpClient.Dispose(); + + public int GetRange(Span buffer, long position) + { + var key = position; + if (!_cache.TryGetValue(key, out var bytes)) + { + var request = CreateRangeRequest(position, position + buffer.Length); + var response = _httpClient.Send(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + DoRead(response.Content.ReadAsStream(), buffer); + + bytes = buffer.ToArray(); + + _cache.TryAdd(key, bytes); + } + + return bytes.Length; + } + + public int GetRangeFromEnd(Span buffer, long positionFromEnd) + { + var key = positionFromEnd; + if (!_cache.TryGetValue(key, out var bytes)) + { + var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); + var response = _httpClient.Send(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + DoRead(response.Content.ReadAsStream(), buffer); + + bytes = buffer.ToArray(); + + _cache.TryAdd(key, bytes); + } + + return bytes.Length; + } + + private long GetLength() + { + var request = new HttpRequestMessage(HttpMethod.Head, _remoteLocation); + var response = _httpClient.Send(request); + + if (!response.Content.Headers.ContentLength.HasValue) + throw new InvalidOperationException("Remote resouce length is required."); + + return response.Content.Headers.ContentLength.Value; + } + + private HttpRequestMessage CreateRangeRequest(long from, long to) + { + var request = new HttpRequestMessage(HttpMethod.Get, _remoteLocation); + var rangeHeader = new RangeHeaderValue(from, to); + request.Headers.Range = rangeHeader; + return request; + } + + private int DoRead(Stream stream, Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs new file mode 100644 index 0000000..b7ea6a2 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs @@ -0,0 +1,12 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class AmazonS3ByteRangeProviderFactory : IByteRangeProviderFactory + { + public string Prefix => ""; + + public IByteRangeProvider Create(string location) + { + return new AmazonS3ByteRangeProvider(location); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index d42cc59..924a244 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; +using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -32,10 +33,9 @@ public void Run() { // var watch = new Stopwatch(); - var reader = new OptimizedReader.OrcReader( - new OrcOptimizedReaderConfiguration() { OptimisticFileTailReadLength = 1 }, - _byteRangeProviderFactory.Create(_orcFileName) - ); + var configs = new OrcOptimizedReaderConfiguration(); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileName); + var reader = new OptimizedReader.OrcReader(configs, rangeProvider); watch.Start(); From f48da3aea796dc759bf59fa899a5219107d4980b Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 2 Jun 2022 18:18:17 -0300 Subject: [PATCH 056/143] Remove caching from byte range provider. --- .../AmazonS3ByteRangeProvider.cs | 40 +++++-------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs index fae8eeb..840e31f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs @@ -23,44 +23,24 @@ internal AmazonS3ByteRangeProvider(string remoteLocation) public int GetRange(Span buffer, long position) { - var key = position; - if (!_cache.TryGetValue(key, out var bytes)) - { - var request = CreateRangeRequest(position, position + buffer.Length); - var response = _httpClient.Send(request); - - if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); - - DoRead(response.Content.ReadAsStream(), buffer); - - bytes = buffer.ToArray(); + var request = CreateRangeRequest(position, position + buffer.Length); + var response = _httpClient.Send(request); - _cache.TryAdd(key, bytes); - } + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); - return bytes.Length; + return DoRead(response.Content.ReadAsStream(), buffer); } public int GetRangeFromEnd(Span buffer, long positionFromEnd) { - var key = positionFromEnd; - if (!_cache.TryGetValue(key, out var bytes)) - { - var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); - var response = _httpClient.Send(request); - - if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); - - DoRead(response.Content.ReadAsStream(), buffer); - - bytes = buffer.ToArray(); + var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); + var response = _httpClient.Send(request); - _cache.TryAdd(key, bytes); - } + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); - return bytes.Length; + return DoRead(response.Content.ReadAsStream(), buffer); } private long GetLength() From ebba96edbf9367713fd450e5b165c5159df2b335 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 2 Jun 2022 18:21:35 -0300 Subject: [PATCH 057/143] Update optimized reader unit tests. --- .../ColumnDetail.cs | 6 - .../Encodings/OptimizedIntegerRLE.cs | 2 +- .../OrcColumn.cs | 18 +- .../OrcReader.cs | 75 +++-- .../OptimizedORCApp.cs | 8 +- .../OrcReader_Test.cs | 318 ++++++++++-------- 6 files changed, 245 insertions(+), 182 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs deleted file mode 100644 index c06a7c6..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/ColumnDetail.cs +++ /dev/null @@ -1,6 +0,0 @@ -using ApacheOrcDotNet.Protocol; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public record ColumnDetail(int ColumnId, string Name, ColumnTypeKind ColumnType); -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 259a1aa..3a17d15 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -172,7 +172,7 @@ private static void ReadDeltaValues(int firstByte, bool isSigned, ref BufferRead { ReadBitpackedIntegers(ref reader, isSigned: false, bitWidth, numReadValues - 1, deltaValuesSpan); - for (int i = 0; i < deltaValues.Length; i++) + for (int i = 0; i < deltaValuesSpan.Length; i++) { outputValues[index++] = deltaBase > 0 ? outputValues[index - 2] + deltaValues[i] diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index 49f6d03..f3e00a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -1,23 +1,35 @@ using ApacheOrcDotNet.Protocol; +using System; namespace ApacheOrcDotNet.OptimizedReader { public class OrcColumn { - public OrcColumn(int id, int index, string name, ColumnTypeKind type) + public OrcColumn(int id, string name, ColumnTypeKind type) { Id = id; - Index = index; Name = name; Type = type; } public int Id { get; } - public int Index { get; } public string Name { get; } public ColumnTypeKind Type { get; } public string Min { get; init; } public string Max { get; init; } + + public override bool Equals(object obj) + { + if (obj is OrcColumn) + { + var other = obj as OrcColumn; + return Id == other.Id && Name == other.Name && Type == other.Type; + } + + return false; + } + + public override int GetHashCode() => HashCode.Combine(Id, Name, Type); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 9916fe7..bd0dd72 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -29,7 +29,6 @@ public sealed class OrcReader private readonly CompressionKind _compressionKind; private readonly int _compressionBlockSize; private readonly int _maxValuesToRead; - private int _nextColumnIndex = 0; public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { @@ -52,12 +51,22 @@ public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvid _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; } - public OrcColumn CreateColumn(string columnName, string min = null, string max = null) + public OrcColumn GetColumn(int columnId, string min = null, string max = null) + { + if (columnId == 0 || columnId >= _protoColumns.Count) + throw new InvalidOperationException($"The column Id '{columnId}' is invalid."); + + var columnPair = _protoColumns.ElementAt(columnId - 1); + + return GetColumn(columnPair.Value.Name, min, max); + } + + public OrcColumn GetColumn(string columnName, string min = null, string max = null) { if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) - throw new InvalidOperationException($"The column '{columnName}' is invalid."); + throw new InvalidOperationException($"The column name '{columnName}' is invalid."); - var orcColumn = new OrcColumn(column.Id, _nextColumnIndex++, column.Name, column.Type) + var orcColumn = new OrcColumn(column.Id, column.Name, column.Type) { Min = min, Max = max @@ -177,6 +186,35 @@ public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuf columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); } + public ColumnStatistics GetFileColumnStatistics(int columnId) + => _fileTail.Footer.Statistics[columnId]; + + public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) + => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; + + public RowIndex GetRowGroupIndex(int columnId, int stripeId) + { + var key = (columnId, stripeId); + + return _rowGroupIndexes.GetOrAdd(key, key => + { + var streamDetails = GetStripeStreams(stripeId); + var rowIndexStream = streamDetails.Where(s => + s.StreamKind == StreamKind.RowIndex + && s.ColumnId == columnId + ).Single(); + + var decompressedData = _byteRangeProvider.DecompressByteRange( + rowIndexStream.FileOffset, + rowIndexStream.Length, + _fileTail.PostScript.Compression, + (int)_fileTail.PostScript.CompressionBlockSize + ); + + return Serializer.Deserialize(decompressedData.Sequence); + }); + } + private SpanFileTail ReadFileTail() { int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; @@ -218,35 +256,6 @@ private IEnumerable GetStripeStreams(int stripeId) return _stripeStreams[stripeId]; } - private ColumnStatistics GetFileColumnStatistics(int columnId) - => _fileTail.Footer.Statistics[columnId]; - - private ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) - => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - - private RowIndex GetRowGroupIndex(int columnId, int stripeId) - { - var key = (columnId, stripeId); - - return _rowGroupIndexes.GetOrAdd(key, key => - { - var streamDetails = GetStripeStreams(stripeId); - var rowIndexStream = streamDetails.Where(s => - s.StreamKind == StreamKind.RowIndex - && s.ColumnId == columnId - ).Single(); - - var decompressedData = _byteRangeProvider.DecompressByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - return Serializer.Deserialize(decompressedData.Sequence); - }); - } - private IEnumerable GetColumnStreams(int columnId, int stripeId) { var key = (columnId, stripeId); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 924a244..4f0ae36 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -46,10 +46,10 @@ public void Run() var endTime = (decimal)_configuration.EndTime.TotalSeconds; // Columns - var sourceColumn = reader.CreateColumn("source", lookupSource, lookupSource); - var symbolColumn = reader.CreateColumn("symbol", lookupSymbol, lookupSymbol); - var timeColumn = reader.CreateColumn("time", $"{beginTime}", $"{endTime}"); - var sizeColumn = reader.CreateColumn("size"); + var sourceColumn = reader.GetColumn("source", lookupSource, lookupSource); + var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); + var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); + var sizeColumn = reader.GetColumn("size"); //var dateColumn = reader.CreateColumn("date"); //var doubleColumn = reader.CreateColumn("double"); //var floatColumn = reader.CreateColumn("float"); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 60e2cfc..c77e582 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -1,135 +1,183 @@ -//using ApacheOrcDotNet.OptimizedReader.Encodings; -//using ApacheOrcDotNet.Protocol; -//using System; -//using System.Linq; -//using Xunit; - -//namespace ApacheOrcDotNet.OptimizedReader -//{ -// public class OrcReader_Test -// { -// readonly IByteRangeProvider _byteRangeProvider; -// public OrcReader_Test() -// { -// _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); -// } - -// [Fact] -// public void FileTail_DefaultOptomisticSize() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// var expectedColumns = new[] -// { -// new ColumnDetail(1, "Source", ColumnTypeKind.String), -// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), -// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), -// }; -// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); -// } - -// [Fact] -// public void FileTail_MinimumInitialReadSize() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); -// var expectedColumns = new[] -// { -// new ColumnDetail(1, "Source", ColumnTypeKind.String), -// new ColumnDetail(2, "FeedId", ColumnTypeKind.Int), -// new ColumnDetail(3, "SequenceNumber", ColumnTypeKind.Long), -// }; -// Assert.Equal(expectedColumns.ToList(), reader.ColumnDetails.Take(3).ToList()); -// } - -// [Fact] -// public void FileColumnStatistics() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); -// Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); -// Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); -// Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); -// Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); -// Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); -// Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum)); -// Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum)); -// } - -// [Fact] -// public void StripeColumnStatistics() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); -// Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); -// Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); -// Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); -// Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); -// Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); -// Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum)); -// Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum)); -// } - -// [Fact] -// public void RowGroupStatistics() -// { -// var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); -// var rowGroupDetails = reader.ReadRowGroupIndex(1, 0).ToList(); -// var rowGroupDetail = rowGroupDetails[0]; -// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Minimum); -// Assert.Equal("BZX", rowGroupDetail.Statistics.StringStatistics.Maximum); -// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.DecompressedOffset); -// Assert.Equal(0, rowGroupDetail.StreamPositions[0].Position.ValueOffset); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_ShortRepeat() -// { -// Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; -// Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; -// Span output = stackalloc long[5]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_Direct() -// { -// Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; -// Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; -// Span output = stackalloc long[4]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_PatchedBase() -// { -// Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; -// Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; -// Span output = stackalloc long[20]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } - -// [Fact] -// public void IntegerRunLengthEncoding_Read_Delta() -// { -// Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; -// Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; -// Span output = stackalloc long[10]; - -// var bytesRead = OptimizedIntegerRunLengthEncodingV2.ReadValues(input, isSigned: false, output, out _); - -// for (int i = 0; i < expected.Length; i++) -// Assert.Equal(expected[i], output[i]); -// } -// } -//} +using ApacheOrcDotNet.OptimizedReader.Encodings; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; +using System.Globalization; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class OrcReader_Test + { + private readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); + private readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); + + [Fact] + public void FileTail_DefaultOptomisticSize() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var expectedColumns = new[] + { + new OrcColumn(1, "Source", ColumnTypeKind.String), + new OrcColumn(2, "FeedId", ColumnTypeKind.Int), + new OrcColumn(3, "SequenceNumber", ColumnTypeKind.Long) + }; + var existingColumns = new[] + { + reader.GetColumn("Source"), + reader.GetColumn("FeedId"), + reader.GetColumn("SequenceNumber") + }; + Assert.Equal(expectedColumns.ToList(), existingColumns.ToList()); + } + + [Fact] + public void FileTail_MinimumInitialReadSize() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); + var expectedColumns = new[] + { + new OrcColumn(1, "Source", ColumnTypeKind.String), + new OrcColumn(2, "FeedId", ColumnTypeKind.Int), + new OrcColumn(3, "SequenceNumber", ColumnTypeKind.Long) + }; + var existingColumns = new[] + { + reader.GetColumn("Source"), + reader.GetColumn("FeedId"), + reader.GetColumn("SequenceNumber") + }; + Assert.Equal(expectedColumns.ToList(), existingColumns.ToList()); + } + + [Fact] + public void FileColumnStatistics() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); + Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); + Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); + Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); + Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); + Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); + Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum, _enUSCulture)); + Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum, _enUSCulture)); + } + + [Fact] + public void StripeColumnStatistics() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); + Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); + Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); + Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); + Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); + Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); + Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum, _enUSCulture)); + Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum, _enUSCulture)); + } + + [Fact] + public void RowGroupStatistics() + { + var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var rowGroupEntry = reader.GetRowGroupIndex(columnId: 1, stripeId: 0).Entry[0]; + Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Minimum); + Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Maximum); + Assert.Equal(0ul, rowGroupEntry.Positions[0]); + Assert.Equal(0ul, rowGroupEntry.Positions[1]); + } + + [Fact] + public void IntegerRLE_Read_ShortRepeat() + { + Span input = stackalloc byte[] { 0x0a, 0x27, 0x10 }; + Span expected = stackalloc long[] { 10000, 10000, 10000, 10000, 10000 }; + Span output = stackalloc long[5]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Read_Direct() + { + Span input = stackalloc byte[] { 0x5e, 0x03, 0x5c, 0xa1, 0xab, 0x1e, 0xde, 0xad, 0xbe, 0xef }; + Span expected = stackalloc long[] { 23713, 43806, 57005, 48879 }; + Span output = stackalloc long[4]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Read_PatchedBase() + { + Span input = stackalloc byte[] { 0x8e, 0x13, 0x2b, 0x21, 0x07, 0xd0, 0x1e, 0x00, 0x14, 0x70, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x5a, 0x64, 0x6e, 0x78, 0x82, 0x8c, 0x96, 0xa0, 0xaa, 0xb4, 0xbe, 0xfc, 0xe8 }; + Span expected = stackalloc long[] { 2030, 2000, 2020, 1000000, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190 }; + Span output = stackalloc long[20]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Read_Delta() + { + Span input = stackalloc byte[] { 0xc6, 0x09, 0x02, 0x02, 0x22, 0x42, 0x42, 0x46 }; + Span expected = stackalloc long[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; + Span output = stackalloc long[10]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned: false, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_100_Zeros() + { + Span input = stackalloc byte[] { 0x61, 0x00 }; + Span expected = stackalloc byte[100]; + Span output = stackalloc byte[100]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + + [Fact] + public void IntegerRLE_Two_Values() + { + Span input = stackalloc byte[] { 0xfe, 0x44, 0x45 }; + Span expected = stackalloc byte[] { 68, 69 }; + Span output = stackalloc byte[2]; + + var bufferReader = new BufferReader(input); + var numValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, output); + + Assert.Equal(expected.Length, numValuesRead); + for (int i = 0; i < numValuesRead; i++) + Assert.Equal(expected[i], output[i]); + } + } +} From 83fa6223e719934bc3cf5416700df2446d2d8360 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 2 Jun 2022 18:39:20 -0300 Subject: [PATCH 058/143] Fix optimized reader unit test method names. --- test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index c77e582..78bb79c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -151,7 +151,7 @@ public void IntegerRLE_Read_Delta() } [Fact] - public void IntegerRLE_100_Zeros() + public void ByteRLE_100_Zeros() { Span input = stackalloc byte[] { 0x61, 0x00 }; Span expected = stackalloc byte[100]; @@ -166,7 +166,7 @@ public void IntegerRLE_100_Zeros() } [Fact] - public void IntegerRLE_Two_Values() + public void ByteRLE_Two_Values() { Span input = stackalloc byte[] { 0xfe, 0x44, 0x45 }; Span expected = stackalloc byte[] { 68, 69 }; From a468f06b9bfe59de1676511244ad66b496c814b1 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 01:09:01 -0300 Subject: [PATCH 059/143] Add nullable unit tests. --- .../BufferPools.cs | 6 - .../BufferReader.cs | 2 +- .../Buffers/BaseColumnBuffer.cs | 48 +- .../Buffers/BooleanColumnBuffer.cs | 2 +- .../Buffers/DoubleColumnBuffer.cs | 14 +- .../Buffers/FloatColumnBuffer.cs | 14 +- .../Encodings/OptimizedIntegerRLE.cs | 1 - .../OrcReader.cs | 6 +- .../OptimizedORCApp.cs | 67 +- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 11 + .../ColumnTypes/BinaryColumn_Test.cs | 50 + .../ColumnTypes/BooleanColumn_Test.cs | 49 + .../ColumnTypes/ByteColumn_Test.cs | 49 + .../ColumnTypes/DateColumn_Test.cs | 50 + .../ColumnTypes/DecimalAsDoubleColumn_Test.cs | 49 + .../ColumnTypes/DecimalColumn_Test.cs | 49 + .../ColumnTypes/DoubleColumn_Test.cs | 49 + .../ColumnTypes/FloatColumn_Test.cs | 49 + .../ColumnTypes/IntegerColumn_Test.cs | 49 + .../ColumnTypes/StringColumn_Test.cs | 91 + .../ColumnTypes/TimestampColumn_Test.cs | 50 + .../ColumnTypes/_BaseColumnType.cs | 48 + .../Data/optimized_reader_test_file-info.txt | 143 + .../Data/optimized_reader_test_file.csv | 10001 ++++++++++++++++ .../Data/optimized_reader_test_file.orc | Bin 0 -> 139599 bytes .../OrcReader_Test.cs | 10 +- .../TestByteRangeProviderParallel.cs | 58 + 27 files changed, 10954 insertions(+), 61 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs deleted file mode 100644 index e758c37..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferPools.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader -{ - public class BufferPools - { - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs index 9ee1ebb..f74a79a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -31,7 +31,7 @@ public bool TryRead(out byte value) public bool TryCopyTo(Span buffer) { - if (_position + buffer.Length >= _buffer.Length) + if (_position + buffer.Length > _buffer.Length) return false; _buffer.Slice(_position, buffer.Length).CopyTo(buffer); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 889dfbe..ecd579c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -90,38 +90,61 @@ private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, continue; var decodedByte = _boolStreamBuffer[idx]; + var isFinalByte = bufferReader.Complete && idx >= numByteValuesRead - 1; // Skip remaining bits. if (numOfBytesToSkip % 8 != 0) decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); + if (isFinalByte && decodedByte == 0) + { + // Edge case where there is only one value for the row entry + // and that value is null + outputValues[numValuesRead++] = false; + return; + } + outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 7) + return; outputValues[numValuesRead++] = (decodedByte & 64) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 6) + return; outputValues[numValuesRead++] = (decodedByte & 32) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 5) + return; outputValues[numValuesRead++] = (decodedByte & 16) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 4) + return; outputValues[numValuesRead++] = (decodedByte & 8) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 3) + return; outputValues[numValuesRead++] = (decodedByte & 4) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 2) + return; outputValues[numValuesRead++] = (decodedByte & 2) != 0; if (numValuesRead >= outputValues.Length) return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 1) + return; outputValues[numValuesRead++] = (decodedByte & 1) != 0; if (numValuesRead >= outputValues.Length) @@ -225,6 +248,7 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 0], _ => throw new NotImplementedException() }; @@ -252,6 +276,7 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 1], _ => throw new NotImplementedException() }; @@ -269,21 +294,28 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.Double, _) => 0, - (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 2], _ => throw new NotImplementedException() }; - return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip); + ulong remainingBits = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 3], + _ => 0 + }; + + return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } private protected void GetByteRange(Span output, StreamDetail stream, in DataPositions positions, ref int rangeLength) @@ -370,5 +402,15 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) // Un zig-zag return ((long)value).ZigzagDecode(); } + + //private protected int CalculateNulls(int numPresentValues, int numReferenceValues) + //{ + // if (numPresentValues == _context.MaxValuesToRead) + // return numPresentValues; + + // var diff = Math.Abs(numPresentValues - numReferenceValues); + + // return numPresentValues - diff; + //} } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 54176a8..c176e1a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -55,9 +55,9 @@ public override void Fill(int stripeId, IEnumerable columnStreams, ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); - var dataIndex = 0; if (presentStream != null) { + var dataIndex = 0; for (int idx = 0; idx < valuesRead.present; idx++) { if (_presentStreamBuffer[idx]) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index de0c121..4fc2048 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -15,6 +15,7 @@ public class DoubleColumnBuffer : BaseColumnBuffer private byte[] _presentOutputBuffer; private byte[] _dataInputBuffer; private byte[] _dataOutputBuffer; + private byte[] _valueBuffer; public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { @@ -25,6 +26,8 @@ public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext conte _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _valueBuffer = new byte[8]; } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) @@ -55,15 +58,16 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); - Span valueBuffer = stackalloc byte[8]; if (presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + if (!dataReader.TryCopyTo(_valueBuffer)) + throw new InvalidOperationException("Read past end of stream"); + + _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); } else _values[_numValuesRead++] = double.NaN; @@ -71,9 +75,9 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - while (dataReader.TryCopyTo(valueBuffer)) + while (dataReader.TryCopyTo(_valueBuffer)) { - _values[_numValuesRead++] = BitConverter.ToDouble(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); if (_numValuesRead >= _values.Length) break; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index b52beb5..9740f84 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -15,6 +15,7 @@ public class FloatColumnBuffer : BaseColumnBuffer private byte[] _presentOutputBuffer; private byte[] _dataInputBuffer; private byte[] _dataOutputBuffer; + private byte[] _valueBuffer; public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { @@ -25,6 +26,8 @@ public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext contex _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + + _valueBuffer = new byte[4]; } public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) @@ -55,15 +58,16 @@ public override void Fill(int stripeId, IEnumerable columnStreams, var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); - Span valueBuffer = stackalloc byte[4]; if (presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { - dataReader.TryCopyTo(valueBuffer); - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + if (!dataReader.TryCopyTo(_valueBuffer)) + throw new InvalidOperationException("Read past end of stream"); + + _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); } else _values[_numValuesRead++] = float.NaN; @@ -71,9 +75,9 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - while (dataReader.TryCopyTo(valueBuffer)) + while (dataReader.TryCopyTo(_valueBuffer)) { - _values[_numValuesRead++] = BitConverter.ToSingle(valueBuffer); + _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); if (_numValuesRead >= _values.Length) break; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 3a17d15..86992fc 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -76,7 +76,6 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Buff Span nextBytes = stackalloc byte[3]; if (!reader.TryCopyTo(nextBytes)) throw new InvalidOperationException("Read past end of stream"); - //reader.Advance(3); numReadValues |= nextBytes[0]; numReadValues += 1; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index bd0dd72..f144930 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -12,14 +12,14 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcOptimizedReaderConfiguration + public class OrcReaderConfiguration { public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } public sealed class OrcReader { - private readonly OrcOptimizedReaderConfiguration _configuration; + private readonly OrcReaderConfiguration _configuration; private readonly IByteRangeProvider _byteRangeProvider; private readonly SpanFileTail _fileTail; private readonly Dictionary> _stripeStreams = new(); @@ -30,7 +30,7 @@ public sealed class OrcReader private readonly int _compressionBlockSize; private readonly int _maxValuesToRead; - public OrcReader(OrcOptimizedReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) + public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { _configuration = configuration; _byteRangeProvider = byteRangeProvider; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 4f0ae36..13a08bb 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -33,7 +33,7 @@ public void Run() { // var watch = new Stopwatch(); - var configs = new OrcOptimizedReaderConfiguration(); + var configs = new OrcReaderConfiguration(); var rangeProvider = _byteRangeProviderFactory.Create(_orcFileName); var reader = new OptimizedReader.OrcReader(configs, rangeProvider); @@ -50,24 +50,26 @@ public void Run() var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); var sizeColumn = reader.GetColumn("size"); - //var dateColumn = reader.CreateColumn("date"); - //var doubleColumn = reader.CreateColumn("double"); - //var floatColumn = reader.CreateColumn("float"); - //var timeStampColumn = reader.CreateColumn("timeStamp"); - //var binaryColumn = reader.CreateColumn("binary"); - //var byteColumn = reader.CreateColumn("byte"); + var dateColumn = reader.GetColumn("date"); + var doubleColumn = reader.GetColumn("double"); + var floatColumn = reader.GetColumn("float"); + var timeStampColumn = reader.GetColumn("timeStamp"); + var binaryColumn = reader.GetColumn("binary"); + var byteColumn = reader.GetColumn("byte"); + var booleanColumn = reader.GetColumn("boolean"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn); @@ -88,12 +90,13 @@ public void Run() , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + , () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) ); for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) @@ -102,27 +105,29 @@ public void Run() var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - //var date = dateColumnBuffer.Values[idx]; - //var dobl = doubleColumnBuffer.Values[idx]; - //var sing = floatColumnBuffer.Values[idx]; - //var timeStamp = timeStampColumnBuffer.Values[idx]; - //var binary = binaryColumnBuffer.Values[idx]; - //var tinyInt = byteColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; + var boolean = booleanColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"" + - $"{source}," + - $"{symbol}," + - $"{time.ToString().PadRight(15, '0')}," + - $"{size}" + + //$"{source}," + + //$"{symbol}," + + //$"{time.ToString().PadRight(15, '0')}," + + //$"{size}" + //$" " + //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + //$"{dobl}," + - //$"{sing}," + + $"{sing}," + //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - //$"{tinyInt}" + + //$"{tinyInt}," + + //$"{boolean}" + $"" ); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index 2cff8c7..485bde9 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -13,4 +13,15 @@ + + + + + + + + + + + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs new file mode 100644 index 0000000..b9c21bf --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs @@ -0,0 +1,50 @@ +using System.Text; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class BinaryColumn_Test : _BaseColumnType + { + [Fact] + public void Binary_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + + [Fact] + public void Binary_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs new file mode 100644 index 0000000..7ebe496 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class BooleanColumn_Test : _BaseColumnType + { + [Fact] + public void Boolean_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + + [Fact] + public void Boolean_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs new file mode 100644 index 0000000..1bd583a --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class ByteColumn_Test : _BaseColumnType + { + [Fact] + public void Byte_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + + [Fact] + public void Byte_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs new file mode 100644 index 0000000..794f60e --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DateColumn_Test : _BaseColumnType + { + [Fact] + public void Date_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("date"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Date_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs new file mode 100644 index 0000000..2c4f76d --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DecimalAsDoubleColumn_Test : _BaseColumnType + { + [Fact] + public void DecimalAsDouble_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void DecimalAsDouble_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs new file mode 100644 index 0000000..b02c7a6 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DecimalColumn_Test : _BaseColumnType + { + [Fact] + public void Decimal_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Decimal_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs new file mode 100644 index 0000000..101ad06 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class DoubleColumn_Test : _BaseColumnType + { + [Fact] + public void Double_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Double_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs new file mode 100644 index 0000000..ee160f6 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class FloatColumn_Test : _BaseColumnType + { + [Fact] + public void Float_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Float_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs new file mode 100644 index 0000000..84724ad --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class IntegerColumn_Test : _BaseColumnType + { + [Fact] + public void Integer_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Integer_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs new file mode 100644 index 0000000..ee9f10b --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs @@ -0,0 +1,91 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class StringColumn_Test : _BaseColumnType + { + [Fact] + public void String_DirectV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DirectV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs new file mode 100644 index 0000000..2b2e772 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class TimestampColumn_Test : _BaseColumnType + { + [Fact] + public void Timestamp_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Timestamp_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs new file mode 100644 index 0000000..722ca49 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs @@ -0,0 +1,48 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Test.TestHelpers; +using System.Collections.Generic; +using System.Globalization; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public abstract class _BaseColumnType + { + private protected readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); + private protected readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProviderParallel(); + private protected readonly (List sources, List symbols, List times, List timesAsDouble, List sizes, List dates, List doubles, List floats, List timestamps, List binaries, List bytes, List booleans) _expectedValues + = (new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List()); + + private protected _BaseColumnType() + { + var expectedDataFile = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.csv"); + var expectedDataStream = expectedDataFile.GetStream(); + using (StreamReader reader = new StreamReader(expectedDataStream)) + { + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + var expectedValues = line.Split(','); + + _expectedValues.sources.Add(string.IsNullOrWhiteSpace(expectedValues[0]) ? null : expectedValues[0]); + _expectedValues.symbols.Add(string.IsNullOrWhiteSpace(expectedValues[1]) ? null : expectedValues[1]); + _expectedValues.times.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); + _expectedValues.timesAsDouble.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); + _expectedValues.sizes.Add(string.IsNullOrWhiteSpace(expectedValues[3]) ? null : expectedValues[3]); + _expectedValues.dates.Add(string.IsNullOrWhiteSpace(expectedValues[4]) ? null : expectedValues[4]); + _expectedValues.doubles.Add(string.IsNullOrWhiteSpace(expectedValues[5]) ? null : expectedValues[5]); + _expectedValues.floats.Add(string.IsNullOrWhiteSpace(expectedValues[6]) ? null : expectedValues[6]); + _expectedValues.timestamps.Add(string.IsNullOrWhiteSpace(expectedValues[7]) ? null : expectedValues[7]); + _expectedValues.binaries.Add(string.IsNullOrWhiteSpace(expectedValues[8]) ? null : expectedValues[8]); + _expectedValues.bytes.Add(string.IsNullOrWhiteSpace(expectedValues[9]) ? null : expectedValues[9]); + _expectedValues.booleans.Add(string.IsNullOrWhiteSpace(expectedValues[10]) ? null : expectedValues[10]); + } + } + } + + ~_BaseColumnType() + { + _byteRangeProvider.Dispose(); + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt new file mode 100644 index 0000000..f4269d3 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt @@ -0,0 +1,143 @@ +Processing data file optimized_reader_test_file.orc [length: 139598] +Structure for optimized_reader_test_file.orc +File Version: 0.12 with ORC_14 by ORC Java 1.7.4 + +Compression: ZLIB +Compression size: 262144 +Calendar: Julian/Gregorian +Rows: 10001 + +Type: struct< + source:string, + symbol:string, + time:decimal(14,9), + size:bigint, + date:date, + double:double, + float:float, + timestamp:timestamp, + binary:binary, + byte:tinyint, + boolean:boolean +> + +Stripe Statistics: + Stripe 1: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + +File Statistics: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + +Stripes: + Stripe: offset: 3 data: 137885 rows: 10001 tail: 233 index: 716 + Stream: column 0 section ROW_INDEX start: 3 length 20 + Stream: column 1 section ROW_INDEX start: 23 length 72 + Stream: column 2 section ROW_INDEX start: 95 length 61 + Stream: column 3 section ROW_INDEX start: 156 length 100 + Stream: column 4 section ROW_INDEX start: 256 length 58 + Stream: column 5 section ROW_INDEX start: 314 length 46 + Stream: column 6 section ROW_INDEX start: 360 length 78 + Stream: column 7 section ROW_INDEX start: 438 length 65 + Stream: column 8 section ROW_INDEX start: 503 length 71 + Stream: column 9 section ROW_INDEX start: 574 length 50 + Stream: column 10 section ROW_INDEX start: 624 length 56 + Stream: column 11 section ROW_INDEX start: 680 length 39 + Stream: column 1 section PRESENT start: 719 length 15 + Stream: column 1 section DATA start: 734 length 20 + Stream: column 1 section LENGTH start: 754 length 7 + Stream: column 1 section DICTIONARY_DATA start: 761 length 26 + Stream: column 2 section PRESENT start: 787 length 15 + Stream: column 2 section DATA start: 802 length 18391 + Stream: column 2 section LENGTH start: 19193 length 30 + Stream: column 3 section PRESENT start: 19223 length 15 + Stream: column 3 section DATA start: 19238 length 18959 + Stream: column 3 section SECONDARY start: 38197 length 37 + Stream: column 4 section PRESENT start: 38234 length 19 + Stream: column 4 section DATA start: 38253 length 464 + Stream: column 5 section PRESENT start: 38717 length 19 + Stream: column 5 section DATA start: 38736 length 80 + Stream: column 6 section PRESENT start: 38816 length 18 + Stream: column 6 section DATA start: 38834 length 43239 + Stream: column 7 section PRESENT start: 82073 length 18 + Stream: column 7 section DATA start: 82091 length 34023 + Stream: column 8 section PRESENT start: 116114 length 18 + Stream: column 8 section DATA start: 116132 length 83 + Stream: column 8 section SECONDARY start: 116215 length 15 + Stream: column 9 section PRESENT start: 116230 length 18 + Stream: column 9 section DATA start: 116248 length 22191 + Stream: column 9 section LENGTH start: 138439 length 33 + Stream: column 10 section PRESENT start: 138472 length 18 + Stream: column 10 section DATA start: 138490 length 87 + Stream: column 11 section PRESENT start: 138577 length 21 + Stream: column 11 section DATA start: 138598 length 6 + Encoding column 0: DIRECT + Encoding column 1: DICTIONARY_V2[2] + Encoding column 2: DIRECT_V2 + Encoding column 3: DIRECT_V2 + Encoding column 4: DIRECT_V2 + Encoding column 5: DIRECT_V2 + Encoding column 6: DIRECT + Encoding column 7: DIRECT + Encoding column 8: DIRECT_V2 + Encoding column 9: DIRECT_V2 + Encoding column 10: DIRECT + Encoding column 11: DIRECT + Row group indices for column 1: + Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Row group indices for column 2: + Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Row group indices for column 3: + Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 + Row group indices for column 4: + Entry 0: count: 9996 hasNull: true min: 0 max: 9973 sum: 49736817 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,24,3,0,0,735,8 + Row group indices for column 5: + Entry 0: count: 9996 hasNull: true min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true positions: 0,24,3,0,0,225,268 + Row group indices for column 6: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.6000000001587 sum: 4995503.300000527 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 999.7000000001588 max: 999.7000000001588 sum: 999.7000000001588 positions: 0,22,3,0,0,79968 + Row group indices for column 7: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 positions: 0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true sum: 0.0 positions: 0,22,3,0,0,39984 + Row group indices for column 8: + Entry 0: count: 9996 hasNull: true min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:47.0 max: 2015-01-01 02:46:47.0 positions: 0,22,3,0,0,225,268,0,76,268 + Row group indices for column 9: + Entry 0: count: 9996 hasNull: true sum: 68772 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 4 positions: 0,22,3,0,0,68772,0,89,24 + Row group indices for column 10: + Entry 0: count: 9996 hasNull: true min: -6 max: 75 sum: 548315 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: -5 max: -5 sum: -5 positions: 0,22,3,0,0,10049,24 + Row group indices for column 11: + Entry 0: count: 9 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,3,0,0,0,1,1 + +File length: 139598 bytes +Padding length: 0 bytes +Padding ratio: 0% \ No newline at end of file diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv new file mode 100644 index 0000000..04c71bf --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv @@ -0,0 +1,10001 @@ +CTSPillarNetworkA,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,false +CTSPillarNetworkA,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,true +CTSPillarNetworkA,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35, +,,,,,,,,,,true +CTSPillarNetworkA,4,4,4,1970-01-05,0.30000000000000004,0.3,2015-01-01 00:00:04,bin4,35, +,,,,,,,,,, +CTSPillarNetworkA,6,6,6,1970-01-07,0.4,0.4,2015-01-01 00:00:06,bin6,35, +,,,,,,,,,, +CTSPillarNetworkA,8,8,8,1970-01-09,0.5,0.5,2015-01-01 00:00:08,bin8,35, +CTSPillarNetworkA,9,9,9,1970-01-10,0.6,0.6,2015-01-01 00:00:09,bin9,75, +CTSPillarNetworkA,10,10,10,1970-01-11,0.7,0.70000005,2015-01-01 00:00:10,bin10,35, +CTSPillarNetworkA,11,11,11,1970-01-12,0.7999999999999999,0.8000001,2015-01-01 00:00:11,bin11,75, +CTSPillarNetworkA,12,12,12,1970-01-13,0.8999999999999999,0.9000001,2015-01-01 00:00:12,bin12,35, +CTSPillarNetworkA,13,13,13,1970-01-14,0.9999999999999999,1.0000001,2015-01-01 00:00:13,bin13,75, +CTSPillarNetworkA,14,14,14,1970-01-15,1.0999999999999999,1.1000001,2015-01-01 00:00:14,bin14,35, +CTSPillarNetworkA,15,15,15,1970-01-16,1.2,1.2000002,2015-01-01 00:00:15,bin15,75, +CTSPillarNetworkA,16,16,16,1970-01-17,1.3,1.3000002,2015-01-01 00:00:16,bin16,35, +CTSPillarNetworkA,17,17,17,1970-01-18,1.4000000000000001,1.4000002,2015-01-01 00:00:17,bin17,75, +CTSPillarNetworkA,18,18,18,1970-01-19,1.5000000000000002,1.5000002,2015-01-01 00:00:18,bin18,35, +CTSPillarNetworkA,19,19,19,1970-01-20,1.6000000000000003,1.6000003,2015-01-01 00:00:19,bin19,75, +CTSPillarNetworkA,20,20,20,1970-01-21,1.7000000000000004,1.7000003,2015-01-01 00:00:20,bin20,35, +CTSPillarNetworkA,21,21,21,1970-01-22,1.8000000000000005,1.8000003,2015-01-01 00:00:21,bin21,75, +CTSPillarNetworkA,22,22,22,1970-01-23,1.9000000000000006,1.9000003,2015-01-01 00:00:22,bin22,35, +CTSPillarNetworkA,23,23,23,1970-01-24,2.0000000000000004,2.0000002,2015-01-01 00:00:23,bin23,75, +CTSPillarNetworkA,24,24,24,1970-01-25,2.1000000000000005,2.1000001,2015-01-01 00:00:24,bin24,35, +CTSPillarNetworkA,25,25,25,1970-01-26,2.2000000000000006,2.2,2015-01-01 00:00:25,bin25,75, +CTSPillarNetworkA,26,26,26,1970-01-27,2.3000000000000007,2.3,2015-01-01 00:00:26,bin26,35, +CTSPillarNetworkA,27,27,27,1970-01-28,2.400000000000001,2.3999999,2015-01-01 00:00:27,bin27,75,true +CTSPillarNetworkA,28,28,28,1970-01-29,2.500000000000001,2.4999998,2015-01-01 00:00:28,bin28,35,false +CTSPillarNetworkA,29,29,29,1970-01-30,2.600000000000001,2.5999997,2015-01-01 00:00:29,bin29,75, +CTSPillarNetworkA,30,30,30,1970-01-31,2.700000000000001,2.6999996,2015-01-01 00:00:30,bin30,35, +CTSPillarNetworkA,31,31,31,1970-02-01,2.800000000000001,2.7999995,2015-01-01 00:00:31,bin31,75, +CTSPillarNetworkA,32,32,32,1970-02-02,2.9000000000000012,2.8999994,2015-01-01 00:00:32,bin32,35, +CTSPillarNetworkA,33,33,33,1970-02-03,3.0000000000000013,2.9999993,2015-01-01 00:00:33,bin33,75, +CTSPillarNetworkA,34,34,34,1970-02-04,3.1000000000000014,3.0999992,2015-01-01 00:00:34,bin34,35, +CTSPillarNetworkA,35,35,35,1970-02-05,3.2000000000000015,3.199999,2015-01-01 00:00:35,bin35,75, +CTSPillarNetworkA,36,36,36,1970-02-06,3.3000000000000016,3.299999,2015-01-01 00:00:36,bin36,35, +CTSPillarNetworkA,37,37,37,1970-02-07,3.4000000000000017,3.399999,2015-01-01 00:00:37,bin37,75, +CTSPillarNetworkA,38,38,38,1970-02-08,3.5000000000000018,3.4999988,2015-01-01 00:00:38,bin38,35, +CTSPillarNetworkA,39,39,39,1970-02-09,3.600000000000002,3.5999987,2015-01-01 00:00:39,bin39,75, +CTSPillarNetworkA,40,40,40,1970-02-10,3.700000000000002,3.6999986,2015-01-01 00:00:40,bin40,35, +CTSPillarNetworkA,41,41,41,1970-02-11,3.800000000000002,3.7999985,2015-01-01 00:00:41,bin41,75, +CTSPillarNetworkA,42,42,42,1970-02-12,3.900000000000002,3.8999984,2015-01-01 00:00:42,bin42,35, +CTSPillarNetworkA,43,43,43,1970-02-13,4.000000000000002,3.9999983,2015-01-01 00:00:43,bin43,75, +CTSPillarNetworkA,44,44,44,1970-02-14,4.100000000000001,4.0999985,2015-01-01 00:00:44,bin44,35, +CTSPillarNetworkA,45,45,45,1970-02-15,4.200000000000001,4.1999984,2015-01-01 00:00:45,bin45,75, +CTSPillarNetworkA,46,46,46,1970-02-16,4.300000000000001,4.2999983,2015-01-01 00:00:46,bin46,35, +CTSPillarNetworkA,47,47,47,1970-02-17,4.4,4.399998,2015-01-01 00:00:47,bin47,75, +CTSPillarNetworkA,48,48,48,1970-02-18,4.5,4.499998,2015-01-01 00:00:48,bin48,35, +CTSPillarNetworkA,49,49,49,1970-02-19,4.6,4.599998,2015-01-01 00:00:49,bin49,75, +CTSPillarNetworkA,50,50,50,1970-02-20,4.699999999999999,4.699998,2015-01-01 00:00:50,bin50,35, +CTSPillarNetworkA,51,51,51,1970-02-21,4.799999999999999,4.799998,2015-01-01 00:00:51,bin51,75, +CTSPillarNetworkA,52,52,52,1970-02-22,4.899999999999999,4.8999977,2015-01-01 00:00:52,bin52,35, +CTSPillarNetworkA,53,53,53,1970-02-23,4.999999999999998,4.9999976,2015-01-01 00:00:53,bin53,75, +CTSPillarNetworkA,54,54,54,1970-02-24,5.099999999999998,5.0999975,2015-01-01 00:00:54,bin54,35, +CTSPillarNetworkA,55,55,55,1970-02-25,5.1999999999999975,5.1999974,2015-01-01 00:00:55,bin55,75, +CTSPillarNetworkA,56,56,56,1970-02-26,5.299999999999997,5.2999973,2015-01-01 00:00:56,bin56,35, +CTSPillarNetworkA,57,57,57,1970-02-27,5.399999999999997,5.399997,2015-01-01 00:00:57,bin57,75, +CTSPillarNetworkA,58,58,58,1970-02-28,5.4999999999999964,5.499997,2015-01-01 00:00:58,bin58,35, +CTSPillarNetworkA,59,59,59,1970-03-01,5.599999999999996,5.599997,2015-01-01 00:00:59,bin59,75, +CTSPillarNetworkA,60,60,60,1970-03-02,5.699999999999996,5.699997,2015-01-01 00:01:00,bin60,35, +CTSPillarNetworkA,61,61,61,1970-03-03,5.799999999999995,5.799997,2015-01-01 00:01:01,bin61,75, +CTSPillarNetworkA,62,62,62,1970-03-04,5.899999999999995,5.8999968,2015-01-01 00:01:02,bin62,35, +CTSPillarNetworkA,63,63,63,1970-03-05,5.999999999999995,5.9999967,2015-01-01 00:01:03,bin63,75, +CTSPillarNetworkA,64,64,64,1970-03-06,6.099999999999994,6.0999966,2015-01-01 00:01:04,bin64,35, +CTSPillarNetworkA,65,65,65,1970-03-07,6.199999999999994,6.1999965,2015-01-01 00:01:05,bin65,75, +CTSPillarNetworkA,66,66,66,1970-03-08,6.299999999999994,6.2999964,2015-01-01 00:01:06,bin66,35, +CTSPillarNetworkA,67,67,67,1970-03-09,6.399999999999993,6.3999963,2015-01-01 00:01:07,bin67,75, +CTSPillarNetworkA,68,68,68,1970-03-10,6.499999999999993,6.499996,2015-01-01 00:01:08,bin68,35, +CTSPillarNetworkA,69,69,69,1970-03-11,6.5999999999999925,6.599996,2015-01-01 00:01:09,bin69,75, +CTSPillarNetworkA,70,70,70,1970-03-12,6.699999999999992,6.699996,2015-01-01 00:01:10,bin70,35, +CTSPillarNetworkA,71,71,71,1970-03-13,6.799999999999992,6.799996,2015-01-01 00:01:11,bin71,75, +CTSPillarNetworkA,72,72,72,1970-03-14,6.8999999999999915,6.899996,2015-01-01 00:01:12,bin72,35, +CTSPillarNetworkA,73,73,73,1970-03-15,6.999999999999991,6.9999957,2015-01-01 00:01:13,bin73,75, +CTSPillarNetworkA,74,74,74,1970-03-16,7.099999999999991,7.0999956,2015-01-01 00:01:14,bin74,35, +CTSPillarNetworkA,75,75,75,1970-03-17,7.19999999999999,7.1999955,2015-01-01 00:01:15,bin75,75, +CTSPillarNetworkA,76,76,76,1970-03-18,7.29999999999999,7.2999954,2015-01-01 00:01:16,bin76,35, +CTSPillarNetworkA,77,77,77,1970-03-19,7.39999999999999,7.3999953,2015-01-01 00:01:17,bin77,75, +CTSPillarNetworkA,78,78,78,1970-03-20,7.499999999999989,7.499995,2015-01-01 00:01:18,bin78,35, +CTSPillarNetworkA,79,79,79,1970-03-21,7.599999999999989,7.599995,2015-01-01 00:01:19,bin79,75, +CTSPillarNetworkA,80,80,80,1970-03-22,7.699999999999989,7.699995,2015-01-01 00:01:20,bin80,35, +CTSPillarNetworkA,81,81,81,1970-03-23,7.799999999999988,7.799995,2015-01-01 00:01:21,bin81,75, +CTSPillarNetworkA,82,82,82,1970-03-24,7.899999999999988,7.899995,2015-01-01 00:01:22,bin82,35, +CTSPillarNetworkA,83,83,83,1970-03-25,7.999999999999988,7.9999948,2015-01-01 00:01:23,bin83,75, +CTSPillarNetworkA,84,84,84,1970-03-26,8.099999999999987,8.099995,2015-01-01 00:01:24,bin84,35, +CTSPillarNetworkA,85,85,85,1970-03-27,8.199999999999987,8.199995,2015-01-01 00:01:25,bin85,75, +CTSPillarNetworkA,86,86,86,1970-03-28,8.299999999999986,8.299995,2015-01-01 00:01:26,bin86,35, +CTSPillarNetworkA,87,87,87,1970-03-29,8.399999999999986,8.399996,2015-01-01 00:01:27,bin87,75, +CTSPillarNetworkA,88,88,88,1970-03-30,8.499999999999986,8.499996,2015-01-01 00:01:28,bin88,35, +CTSPillarNetworkA,89,89,89,1970-03-31,8.599999999999985,8.599997,2015-01-01 00:01:29,bin89,75, +CTSPillarNetworkA,90,90,90,1970-04-01,8.699999999999985,8.699997,2015-01-01 00:01:30,bin90,35, +CTSPillarNetworkA,91,91,91,1970-04-02,8.799999999999985,8.799997,2015-01-01 00:01:31,bin91,75, +CTSPillarNetworkA,92,92,92,1970-04-03,8.899999999999984,8.899998,2015-01-01 00:01:32,bin92,35, +CTSPillarNetworkA,93,93,93,1970-04-04,8.999999999999984,8.999998,2015-01-01 00:01:33,bin93,75, +CTSPillarNetworkA,94,94,94,1970-04-05,9.099999999999984,9.099998,2015-01-01 00:01:34,bin94,35, +CTSPillarNetworkA,95,95,95,1970-04-06,9.199999999999983,9.199999,2015-01-01 00:01:35,bin95,75, +CTSPillarNetworkA,96,96,96,1970-04-07,9.299999999999983,9.299999,2015-01-01 00:01:36,bin96,35, +CTSPillarNetworkA,97,97,97,1970-04-08,9.399999999999983,9.4,2015-01-01 00:01:37,bin97,75, +CTSPillarNetworkA,98,98,98,1970-04-09,9.499999999999982,9.5,2015-01-01 00:01:38,bin98,35, +CTSPillarNetworkA,99,99,99,1970-04-10,9.599999999999982,9.6,2015-01-01 00:01:39,bin99,75, +CTSPillarNetworkA,100,100,100,1970-04-11,9.699999999999982,9.700001,2015-01-01 00:01:40,bin100,35, +CTSPillarNetworkA,101,101,101,1970-04-12,9.799999999999981,9.800001,2015-01-01 00:01:41,bin101,75, +CTSPillarNetworkA,102,102,102,1970-04-13,9.89999999999998,9.900002,2015-01-01 00:01:42,bin102,35, +CTSPillarNetworkA,103,103,103,1970-04-14,9.99999999999998,10.000002,2015-01-01 00:01:43,bin103,75, +CTSPillarNetworkA,104,104,104,1970-04-15,10.09999999999998,10.100002,2015-01-01 00:01:44,bin104,35, +CTSPillarNetworkA,105,105,105,1970-04-16,10.19999999999998,10.200003,2015-01-01 00:01:45,bin105,75, +CTSPillarNetworkA,106,106,106,1970-04-17,10.29999999999998,10.300003,2015-01-01 00:01:46,bin106,35, +CTSPillarNetworkA,107,107,107,1970-04-18,10.399999999999979,10.400003,2015-01-01 00:01:47,bin107,75, +CTSPillarNetworkA,108,108,108,1970-04-19,10.499999999999979,10.500004,2015-01-01 00:01:48,bin108,35, +CTSPillarNetworkA,109,109,109,1970-04-20,10.599999999999978,10.600004,2015-01-01 00:01:49,bin109,75, +CTSPillarNetworkA,110,110,110,1970-04-21,10.699999999999978,10.700005,2015-01-01 00:01:50,bin110,35, +CTSPillarNetworkA,111,111,111,1970-04-22,10.799999999999978,10.800005,2015-01-01 00:01:51,bin111,75, +CTSPillarNetworkA,112,112,112,1970-04-23,10.899999999999977,10.900005,2015-01-01 00:01:52,bin112,35, +CTSPillarNetworkA,113,113,113,1970-04-24,10.999999999999977,11.000006,2015-01-01 00:01:53,bin113,75, +CTSPillarNetworkA,114,114,114,1970-04-25,11.099999999999977,11.100006,2015-01-01 00:01:54,bin114,35, +CTSPillarNetworkA,115,115,115,1970-04-26,11.199999999999976,11.2000065,2015-01-01 00:01:55,bin115,75, +CTSPillarNetworkA,116,116,116,1970-04-27,11.299999999999976,11.300007,2015-01-01 00:01:56,bin116,35, +CTSPillarNetworkA,117,117,117,1970-04-28,11.399999999999975,11.400007,2015-01-01 00:01:57,bin117,75, +CTSPillarNetworkA,118,118,118,1970-04-29,11.499999999999975,11.500008,2015-01-01 00:01:58,bin118,35, +CTSPillarNetworkA,119,119,119,1970-04-30,11.599999999999975,11.600008,2015-01-01 00:01:59,bin119,75, +CTSPillarNetworkA,120,120,120,1970-05-01,11.699999999999974,11.700008,2015-01-01 00:02:00,bin120,35, +CTSPillarNetworkA,121,121,121,1970-05-02,11.799999999999974,11.800009,2015-01-01 00:02:01,bin121,75, +CTSPillarNetworkA,122,122,122,1970-05-03,11.899999999999974,11.900009,2015-01-01 00:02:02,bin122,35, +CTSPillarNetworkA,123,123,123,1970-05-04,11.999999999999973,12.00001,2015-01-01 00:02:03,bin123,75, +CTSPillarNetworkA,124,124,124,1970-05-05,12.099999999999973,12.10001,2015-01-01 00:02:04,bin124,35, +CTSPillarNetworkA,125,125,125,1970-05-06,12.199999999999973,12.20001,2015-01-01 00:02:05,bin125,75, +CTSPillarNetworkA,126,126,126,1970-05-07,12.299999999999972,12.300011,2015-01-01 00:02:06,bin126,35, +CTSPillarNetworkA,127,127,127,1970-05-08,12.399999999999972,12.400011,2015-01-01 00:02:07,bin127,75, +CTSPillarNetworkA,128,128,128,1970-05-09,12.499999999999972,12.500011,2015-01-01 00:02:08,bin128,35, +CTSPillarNetworkA,129,129,129,1970-05-10,12.599999999999971,12.600012,2015-01-01 00:02:09,bin129,75, +CTSPillarNetworkA,130,130,130,1970-05-11,12.69999999999997,12.700012,2015-01-01 00:02:10,bin130,35, +CTSPillarNetworkA,131,131,131,1970-05-12,12.79999999999997,12.800013,2015-01-01 00:02:11,bin131,75, +CTSPillarNetworkA,132,132,132,1970-05-13,12.89999999999997,12.900013,2015-01-01 00:02:12,bin132,35, +CTSPillarNetworkA,133,133,133,1970-05-14,12.99999999999997,13.000013,2015-01-01 00:02:13,bin133,75, +CTSPillarNetworkA,134,134,134,1970-05-15,13.09999999999997,13.100014,2015-01-01 00:02:14,bin134,35, +CTSPillarNetworkA,135,135,135,1970-05-16,13.199999999999969,13.200014,2015-01-01 00:02:15,bin135,75, +CTSPillarNetworkA,136,136,136,1970-05-17,13.299999999999969,13.3000145,2015-01-01 00:02:16,bin136,35, +CTSPillarNetworkA,137,137,137,1970-05-18,13.399999999999968,13.400015,2015-01-01 00:02:17,bin137,75, +CTSPillarNetworkA,138,138,138,1970-05-19,13.499999999999968,13.500015,2015-01-01 00:02:18,bin138,35, +CTSPillarNetworkA,139,139,139,1970-05-20,13.599999999999968,13.600016,2015-01-01 00:02:19,bin139,75, +CTSPillarNetworkA,140,140,140,1970-05-21,13.699999999999967,13.700016,2015-01-01 00:02:20,bin140,35, +CTSPillarNetworkA,141,141,141,1970-05-22,13.799999999999967,13.800016,2015-01-01 00:02:21,bin141,75, +CTSPillarNetworkA,142,142,142,1970-05-23,13.899999999999967,13.900017,2015-01-01 00:02:22,bin142,35, +CTSPillarNetworkA,143,143,143,1970-05-24,13.999999999999966,14.000017,2015-01-01 00:02:23,bin143,75, +CTSPillarNetworkA,144,144,144,1970-05-25,14.099999999999966,14.100018,2015-01-01 00:02:24,bin144,35, +CTSPillarNetworkA,145,145,145,1970-05-26,14.199999999999966,14.200018,2015-01-01 00:02:25,bin145,75, +CTSPillarNetworkA,146,146,146,1970-05-27,14.299999999999965,14.300018,2015-01-01 00:02:26,bin146,35, +CTSPillarNetworkA,147,147,147,1970-05-28,14.399999999999965,14.400019,2015-01-01 00:02:27,bin147,75, +CTSPillarNetworkA,148,148,148,1970-05-29,14.499999999999964,14.500019,2015-01-01 00:02:28,bin148,35, +CTSPillarNetworkA,149,149,149,1970-05-30,14.599999999999964,14.600019,2015-01-01 00:02:29,bin149,75, +CTSPillarNetworkA,150,150,150,1970-05-31,14.699999999999964,14.70002,2015-01-01 00:02:30,bin150,35, +CTSPillarNetworkA,151,151,151,1970-06-01,14.799999999999963,14.80002,2015-01-01 00:02:31,bin151,75, +CTSPillarNetworkA,152,152,152,1970-06-02,14.899999999999963,14.900021,2015-01-01 00:02:32,bin152,35, +CTSPillarNetworkA,153,153,153,1970-06-03,14.999999999999963,15.000021,2015-01-01 00:02:33,bin153,75, +CTSPillarNetworkA,154,154,154,1970-06-04,15.099999999999962,15.100021,2015-01-01 00:02:34,bin154,35, +CTSPillarNetworkA,155,155,155,1970-06-05,15.199999999999962,15.200022,2015-01-01 00:02:35,bin155,75, +CTSPillarNetworkA,156,156,156,1970-06-06,15.299999999999962,15.300022,2015-01-01 00:02:36,bin156,35, +CTSPillarNetworkA,157,157,157,1970-06-07,15.399999999999961,15.4000225,2015-01-01 00:02:37,bin157,75, +CTSPillarNetworkA,158,158,158,1970-06-08,15.499999999999961,15.500023,2015-01-01 00:02:38,bin158,35, +CTSPillarNetworkA,159,159,159,1970-06-09,15.59999999999996,15.600023,2015-01-01 00:02:39,bin159,75, +CTSPillarNetworkA,160,160,160,1970-06-10,15.69999999999996,15.700024,2015-01-01 00:02:40,bin160,35, +CTSPillarNetworkA,161,161,161,1970-06-11,15.79999999999996,15.800024,2015-01-01 00:02:41,bin161,75, +CTSPillarNetworkA,162,162,162,1970-06-12,15.89999999999996,15.900024,2015-01-01 00:02:42,bin162,35, +CTSPillarNetworkA,163,163,163,1970-06-13,15.99999999999996,16.000025,2015-01-01 00:02:43,bin163,75, +CTSPillarNetworkA,164,164,164,1970-06-14,16.09999999999996,16.100025,2015-01-01 00:02:44,bin164,35, +CTSPillarNetworkA,165,165,165,1970-06-15,16.19999999999996,16.200026,2015-01-01 00:02:45,bin165,75, +CTSPillarNetworkA,166,166,166,1970-06-16,16.29999999999996,16.300026,2015-01-01 00:02:46,bin166,35, +CTSPillarNetworkA,167,167,167,1970-06-17,16.399999999999963,16.400026,2015-01-01 00:02:47,bin167,75, +CTSPillarNetworkA,168,168,168,1970-06-18,16.499999999999964,16.500027,2015-01-01 00:02:48,bin168,35, +CTSPillarNetworkA,169,169,169,1970-06-19,16.599999999999966,16.600027,2015-01-01 00:02:49,bin169,75, +CTSPillarNetworkA,170,170,170,1970-06-20,16.699999999999967,16.700027,2015-01-01 00:02:50,bin170,35, +CTSPillarNetworkA,171,171,171,1970-06-21,16.79999999999997,16.800028,2015-01-01 00:02:51,bin171,75, +CTSPillarNetworkA,172,172,172,1970-06-22,16.89999999999997,16.900028,2015-01-01 00:02:52,bin172,35, +CTSPillarNetworkA,173,173,173,1970-06-23,16.99999999999997,17.000029,2015-01-01 00:02:53,bin173,75, +CTSPillarNetworkA,174,174,174,1970-06-24,17.099999999999973,17.100029,2015-01-01 00:02:54,bin174,35, +CTSPillarNetworkA,175,175,175,1970-06-25,17.199999999999974,17.20003,2015-01-01 00:02:55,bin175,75, +CTSPillarNetworkA,176,176,176,1970-06-26,17.299999999999976,17.30003,2015-01-01 00:02:56,bin176,35, +CTSPillarNetworkA,177,177,177,1970-06-27,17.399999999999977,17.40003,2015-01-01 00:02:57,bin177,75, +CTSPillarNetworkA,178,178,178,1970-06-28,17.49999999999998,17.50003,2015-01-01 00:02:58,bin178,35, +CTSPillarNetworkA,179,179,179,1970-06-29,17.59999999999998,17.60003,2015-01-01 00:02:59,bin179,75, +CTSPillarNetworkA,180,180,180,1970-06-30,17.69999999999998,17.700031,2015-01-01 00:03:00,bin180,35, +CTSPillarNetworkA,181,181,181,1970-07-01,17.799999999999983,17.800032,2015-01-01 00:03:01,bin181,75, +CTSPillarNetworkA,182,182,182,1970-07-02,17.899999999999984,17.900032,2015-01-01 00:03:02,bin182,35, +CTSPillarNetworkA,183,183,183,1970-07-03,17.999999999999986,18.000032,2015-01-01 00:03:03,bin183,75, +CTSPillarNetworkA,184,184,184,1970-07-04,18.099999999999987,18.100033,2015-01-01 00:03:04,bin184,35, +CTSPillarNetworkA,185,185,185,1970-07-05,18.19999999999999,18.200033,2015-01-01 00:03:05,bin185,75, +CTSPillarNetworkA,186,186,186,1970-07-06,18.29999999999999,18.300034,2015-01-01 00:03:06,bin186,35, +CTSPillarNetworkA,187,187,187,1970-07-07,18.39999999999999,18.400034,2015-01-01 00:03:07,bin187,75, +CTSPillarNetworkA,188,188,188,1970-07-08,18.499999999999993,18.500034,2015-01-01 00:03:08,bin188,35, +CTSPillarNetworkA,189,189,189,1970-07-09,18.599999999999994,18.600035,2015-01-01 00:03:09,bin189,75, +CTSPillarNetworkA,190,190,190,1970-07-10,18.699999999999996,18.700035,2015-01-01 00:03:10,bin190,35, +CTSPillarNetworkA,191,191,191,1970-07-11,18.799999999999997,18.800035,2015-01-01 00:03:11,bin191,75, +CTSPillarNetworkA,192,192,192,1970-07-12,18.9,18.900036,2015-01-01 00:03:12,bin192,35, +CTSPillarNetworkA,193,193,193,1970-07-13,19,19.000036,2015-01-01 00:03:13,bin193,75, +CTSPillarNetworkA,194,194,194,1970-07-14,19.1,19.100037,2015-01-01 00:03:14,bin194,35, +CTSPillarNetworkA,195,195,195,1970-07-15,19.200000000000003,19.200037,2015-01-01 00:03:15,bin195,75, +CTSPillarNetworkA,196,196,196,1970-07-16,19.300000000000004,19.300037,2015-01-01 00:03:16,bin196,35, +CTSPillarNetworkA,197,197,197,1970-07-17,19.400000000000006,19.400038,2015-01-01 00:03:17,bin197,75, +CTSPillarNetworkA,198,198,198,1970-07-18,19.500000000000007,19.500038,2015-01-01 00:03:18,bin198,35, +CTSPillarNetworkA,199,199,199,1970-07-19,19.60000000000001,19.600039,2015-01-01 00:03:19,bin199,75, +CTSPillarNetworkA,200,200,200,1970-07-20,19.70000000000001,19.700039,2015-01-01 00:03:20,bin200,35, +CTSPillarNetworkA,201,201,201,1970-07-21,19.80000000000001,19.80004,2015-01-01 00:03:21,bin201,75, +CTSPillarNetworkA,202,202,202,1970-07-22,19.900000000000013,19.90004,2015-01-01 00:03:22,bin202,35, +CTSPillarNetworkA,203,203,203,1970-07-23,20.000000000000014,20.00004,2015-01-01 00:03:23,bin203,75, +CTSPillarNetworkA,204,204,204,1970-07-24,20.100000000000016,20.10004,2015-01-01 00:03:24,bin204,35, +CTSPillarNetworkA,205,205,205,1970-07-25,20.200000000000017,20.20004,2015-01-01 00:03:25,bin205,75, +CTSPillarNetworkA,206,206,206,1970-07-26,20.30000000000002,20.300041,2015-01-01 00:03:26,bin206,35, +CTSPillarNetworkA,207,207,207,1970-07-27,20.40000000000002,20.400042,2015-01-01 00:03:27,bin207,75, +CTSPillarNetworkA,208,208,208,1970-07-28,20.50000000000002,20.500042,2015-01-01 00:03:28,bin208,35, +CTSPillarNetworkA,209,209,209,1970-07-29,20.600000000000023,20.600042,2015-01-01 00:03:29,bin209,75, +CTSPillarNetworkA,210,210,210,1970-07-30,20.700000000000024,20.700043,2015-01-01 00:03:30,bin210,35, +CTSPillarNetworkA,211,211,211,1970-07-31,20.800000000000026,20.800043,2015-01-01 00:03:31,bin211,75, +CTSPillarNetworkA,212,212,212,1970-08-01,20.900000000000027,20.900043,2015-01-01 00:03:32,bin212,35, +CTSPillarNetworkA,213,213,213,1970-08-02,21.00000000000003,21.000044,2015-01-01 00:03:33,bin213,75, +CTSPillarNetworkA,214,214,214,1970-08-03,21.10000000000003,21.100044,2015-01-01 00:03:34,bin214,35, +CTSPillarNetworkA,215,215,215,1970-08-04,21.20000000000003,21.200045,2015-01-01 00:03:35,bin215,75, +CTSPillarNetworkA,216,216,216,1970-08-05,21.300000000000033,21.300045,2015-01-01 00:03:36,bin216,35, +CTSPillarNetworkA,217,217,217,1970-08-06,21.400000000000034,21.400045,2015-01-01 00:03:37,bin217,75, +CTSPillarNetworkA,218,218,218,1970-08-07,21.500000000000036,21.500046,2015-01-01 00:03:38,bin218,35, +CTSPillarNetworkA,219,219,219,1970-08-08,21.600000000000037,21.600046,2015-01-01 00:03:39,bin219,75, +CTSPillarNetworkA,220,220,220,1970-08-09,21.70000000000004,21.700047,2015-01-01 00:03:40,bin220,35, +CTSPillarNetworkA,221,221,221,1970-08-10,21.80000000000004,21.800047,2015-01-01 00:03:41,bin221,75, +CTSPillarNetworkA,222,222,222,1970-08-11,21.90000000000004,21.900047,2015-01-01 00:03:42,bin222,35, +CTSPillarNetworkA,223,223,223,1970-08-12,22.000000000000043,22.000048,2015-01-01 00:03:43,bin223,75, +CTSPillarNetworkA,224,224,224,1970-08-13,22.100000000000044,22.100048,2015-01-01 00:03:44,bin224,35, +CTSPillarNetworkA,225,225,225,1970-08-14,22.200000000000045,22.200048,2015-01-01 00:03:45,bin225,75, +CTSPillarNetworkA,226,226,226,1970-08-15,22.300000000000047,22.300049,2015-01-01 00:03:46,bin226,35, +CTSPillarNetworkA,227,227,227,1970-08-16,22.40000000000005,22.40005,2015-01-01 00:03:47,bin227,75, +CTSPillarNetworkA,228,228,228,1970-08-17,22.50000000000005,22.50005,2015-01-01 00:03:48,bin228,35, +CTSPillarNetworkA,229,229,229,1970-08-18,22.60000000000005,22.60005,2015-01-01 00:03:49,bin229,75, +CTSPillarNetworkA,230,230,230,1970-08-19,22.700000000000053,22.70005,2015-01-01 00:03:50,bin230,35, +CTSPillarNetworkA,231,231,231,1970-08-20,22.800000000000054,22.80005,2015-01-01 00:03:51,bin231,75, +CTSPillarNetworkA,232,232,232,1970-08-21,22.900000000000055,22.900051,2015-01-01 00:03:52,bin232,35, +CTSPillarNetworkA,233,233,233,1970-08-22,23.000000000000057,23.000051,2015-01-01 00:03:53,bin233,75, +CTSPillarNetworkA,234,234,234,1970-08-23,23.10000000000006,23.100052,2015-01-01 00:03:54,bin234,35, +CTSPillarNetworkA,235,235,235,1970-08-24,23.20000000000006,23.200052,2015-01-01 00:03:55,bin235,75, +CTSPillarNetworkA,236,236,236,1970-08-25,23.30000000000006,23.300053,2015-01-01 00:03:56,bin236,35, +CTSPillarNetworkA,237,237,237,1970-08-26,23.400000000000063,23.400053,2015-01-01 00:03:57,bin237,75, +CTSPillarNetworkA,238,238,238,1970-08-27,23.500000000000064,23.500053,2015-01-01 00:03:58,bin238,35, +CTSPillarNetworkA,239,239,239,1970-08-28,23.600000000000065,23.600054,2015-01-01 00:03:59,bin239,75, +CTSPillarNetworkA,240,240,240,1970-08-29,23.700000000000067,23.700054,2015-01-01 00:04:00,bin240,35, +CTSPillarNetworkA,241,241,241,1970-08-30,23.800000000000068,23.800055,2015-01-01 00:04:01,bin241,75, +CTSPillarNetworkA,242,242,242,1970-08-31,23.90000000000007,23.900055,2015-01-01 00:04:02,bin242,35, +CTSPillarNetworkA,243,243,243,1970-09-01,24.00000000000007,24.000055,2015-01-01 00:04:03,bin243,75, +CTSPillarNetworkA,244,244,244,1970-09-02,24.100000000000072,24.100056,2015-01-01 00:04:04,bin244,35, +CTSPillarNetworkA,245,245,245,1970-09-03,24.200000000000074,24.200056,2015-01-01 00:04:05,bin245,75, +CTSPillarNetworkA,246,246,246,1970-09-04,24.300000000000075,24.300056,2015-01-01 00:04:06,bin246,35, +CTSPillarNetworkA,247,247,247,1970-09-05,24.400000000000077,24.400057,2015-01-01 00:04:07,bin247,75, +CTSPillarNetworkA,248,248,248,1970-09-06,24.500000000000078,24.500057,2015-01-01 00:04:08,bin248,35, +CTSPillarNetworkA,249,249,249,1970-09-07,24.60000000000008,24.600058,2015-01-01 00:04:09,bin249,75, +CTSPillarNetworkA,250,250,250,1970-09-08,24.70000000000008,24.700058,2015-01-01 00:04:10,bin250,35, +CTSPillarNetworkA,251,251,251,1970-09-09,24.800000000000082,24.800058,2015-01-01 00:04:11,bin251,75, +CTSPillarNetworkA,252,252,252,1970-09-10,24.900000000000084,24.900059,2015-01-01 00:04:12,bin252,35, +CTSPillarNetworkA,253,253,253,1970-09-11,25.000000000000085,25.00006,2015-01-01 00:04:13,bin253,75, +CTSPillarNetworkA,254,254,254,1970-09-12,25.100000000000087,25.10006,2015-01-01 00:04:14,bin254,35, +CTSPillarNetworkA,255,255,255,1970-09-13,25.200000000000088,25.20006,2015-01-01 00:04:15,bin255,75, +CTSPillarNetworkA,256,256,256,1970-09-14,25.30000000000009,25.30006,2015-01-01 00:04:16,bin256,35, +CTSPillarNetworkA,257,257,257,1970-09-15,25.40000000000009,25.40006,2015-01-01 00:04:17,bin257,75, +CTSPillarNetworkA,258,258,258,1970-09-16,25.500000000000092,25.500061,2015-01-01 00:04:18,bin258,35, +CTSPillarNetworkA,259,259,259,1970-09-17,25.600000000000094,25.600061,2015-01-01 00:04:19,bin259,75, +CTSPillarNetworkA,260,260,260,1970-09-18,25.700000000000095,25.700062,2015-01-01 00:04:20,bin260,35, +CTSPillarNetworkA,261,261,261,1970-09-19,25.800000000000097,25.800062,2015-01-01 00:04:21,bin261,75, +CTSPillarNetworkA,262,262,262,1970-09-20,25.900000000000098,25.900063,2015-01-01 00:04:22,bin262,35, +CTSPillarNetworkA,263,263,263,1970-09-21,26.0000000000001,26.000063,2015-01-01 00:04:23,bin263,75, +CTSPillarNetworkA,264,264,264,1970-09-22,26.1000000000001,26.100063,2015-01-01 00:04:24,bin264,35, +CTSPillarNetworkA,265,265,265,1970-09-23,26.200000000000102,26.200064,2015-01-01 00:04:25,bin265,75, +CTSPillarNetworkA,266,266,266,1970-09-24,26.300000000000104,26.300064,2015-01-01 00:04:26,bin266,35, +CTSPillarNetworkA,267,267,267,1970-09-25,26.400000000000105,26.400064,2015-01-01 00:04:27,bin267,75, +CTSPillarNetworkA,268,268,268,1970-09-26,26.500000000000107,26.500065,2015-01-01 00:04:28,bin268,35, +CTSPillarNetworkA,269,269,269,1970-09-27,26.600000000000108,26.600065,2015-01-01 00:04:29,bin269,75, +CTSPillarNetworkA,270,270,270,1970-09-28,26.70000000000011,26.700066,2015-01-01 00:04:30,bin270,35, +CTSPillarNetworkA,271,271,271,1970-09-29,26.80000000000011,26.800066,2015-01-01 00:04:31,bin271,75, +CTSPillarNetworkA,272,272,272,1970-09-30,26.900000000000112,26.900066,2015-01-01 00:04:32,bin272,35, +CTSPillarNetworkA,273,273,273,1970-10-01,27.000000000000114,27.000067,2015-01-01 00:04:33,bin273,75, +CTSPillarNetworkA,274,274,274,1970-10-02,27.100000000000115,27.100067,2015-01-01 00:04:34,bin274,35, +CTSPillarNetworkA,275,275,275,1970-10-03,27.200000000000117,27.200068,2015-01-01 00:04:35,bin275,75, +CTSPillarNetworkA,276,276,276,1970-10-04,27.300000000000118,27.300068,2015-01-01 00:04:36,bin276,35, +CTSPillarNetworkA,277,277,277,1970-10-05,27.40000000000012,27.400068,2015-01-01 00:04:37,bin277,75, +CTSPillarNetworkA,278,278,278,1970-10-06,27.50000000000012,27.500069,2015-01-01 00:04:38,bin278,35, +CTSPillarNetworkA,279,279,279,1970-10-07,27.600000000000122,27.600069,2015-01-01 00:04:39,bin279,75, +CTSPillarNetworkA,280,280,280,1970-10-08,27.700000000000124,27.70007,2015-01-01 00:04:40,bin280,35, +CTSPillarNetworkA,281,281,281,1970-10-09,27.800000000000125,27.80007,2015-01-01 00:04:41,bin281,75, +CTSPillarNetworkA,282,282,282,1970-10-10,27.900000000000126,27.90007,2015-01-01 00:04:42,bin282,35, +CTSPillarNetworkA,283,283,283,1970-10-11,28.000000000000128,28.00007,2015-01-01 00:04:43,bin283,75, +CTSPillarNetworkA,284,284,284,1970-10-12,28.10000000000013,28.10007,2015-01-01 00:04:44,bin284,35, +CTSPillarNetworkA,285,285,285,1970-10-13,28.20000000000013,28.200071,2015-01-01 00:04:45,bin285,75, +CTSPillarNetworkA,286,286,286,1970-10-14,28.300000000000132,28.300072,2015-01-01 00:04:46,bin286,35, +CTSPillarNetworkA,287,287,287,1970-10-15,28.400000000000134,28.400072,2015-01-01 00:04:47,bin287,75, +CTSPillarNetworkA,288,288,288,1970-10-16,28.500000000000135,28.500072,2015-01-01 00:04:48,bin288,35, +CTSPillarNetworkA,289,289,289,1970-10-17,28.600000000000136,28.600073,2015-01-01 00:04:49,bin289,75, +CTSPillarNetworkA,290,290,290,1970-10-18,28.700000000000138,28.700073,2015-01-01 00:04:50,bin290,35, +CTSPillarNetworkA,291,291,291,1970-10-19,28.80000000000014,28.800074,2015-01-01 00:04:51,bin291,75, +CTSPillarNetworkA,292,292,292,1970-10-20,28.90000000000014,28.900074,2015-01-01 00:04:52,bin292,35, +CTSPillarNetworkA,293,293,293,1970-10-21,29.000000000000142,29.000074,2015-01-01 00:04:53,bin293,75, +CTSPillarNetworkA,294,294,294,1970-10-22,29.100000000000144,29.100075,2015-01-01 00:04:54,bin294,35, +CTSPillarNetworkA,295,295,295,1970-10-23,29.200000000000145,29.200075,2015-01-01 00:04:55,bin295,75, +CTSPillarNetworkA,296,296,296,1970-10-24,29.300000000000146,29.300076,2015-01-01 00:04:56,bin296,35, +CTSPillarNetworkA,297,297,297,1970-10-25,29.400000000000148,29.400076,2015-01-01 00:04:57,bin297,75, +CTSPillarNetworkA,298,298,298,1970-10-26,29.50000000000015,29.500076,2015-01-01 00:04:58,bin298,35, +CTSPillarNetworkA,299,299,299,1970-10-27,29.60000000000015,29.600077,2015-01-01 00:04:59,bin299,75, +CTSPillarNetworkA,300,300,300,1970-10-28,29.700000000000152,29.700077,2015-01-01 00:05:00,bin300,35, +CTSPillarNetworkA,301,301,301,1970-10-29,29.800000000000153,29.800077,2015-01-01 00:05:01,bin301,75, +CTSPillarNetworkA,302,302,302,1970-10-30,29.900000000000155,29.900078,2015-01-01 00:05:02,bin302,35, +CTSPillarNetworkA,303,303,303,1970-10-31,30.000000000000156,30.000078,2015-01-01 00:05:03,bin303,75, +CTSPillarNetworkA,304,304,304,1970-11-01,30.100000000000158,30.100079,2015-01-01 00:05:04,bin304,35, +CTSPillarNetworkA,305,305,305,1970-11-02,30.20000000000016,30.200079,2015-01-01 00:05:05,bin305,75, +CTSPillarNetworkA,306,306,306,1970-11-03,30.30000000000016,30.30008,2015-01-01 00:05:06,bin306,35, +CTSPillarNetworkA,307,307,307,1970-11-04,30.400000000000162,30.40008,2015-01-01 00:05:07,bin307,75, +CTSPillarNetworkA,308,308,308,1970-11-05,30.500000000000163,30.50008,2015-01-01 00:05:08,bin308,35, +CTSPillarNetworkA,309,309,309,1970-11-06,30.600000000000165,30.60008,2015-01-01 00:05:09,bin309,75, +CTSPillarNetworkA,310,310,310,1970-11-07,30.700000000000166,30.70008,2015-01-01 00:05:10,bin310,35, +CTSPillarNetworkA,311,311,311,1970-11-08,30.800000000000168,30.800081,2015-01-01 00:05:11,bin311,75, +CTSPillarNetworkA,312,312,312,1970-11-09,30.90000000000017,30.900082,2015-01-01 00:05:12,bin312,35, +CTSPillarNetworkA,313,313,313,1970-11-10,31.00000000000017,31.000082,2015-01-01 00:05:13,bin313,75, +CTSPillarNetworkA,314,314,314,1970-11-11,31.100000000000172,31.100082,2015-01-01 00:05:14,bin314,35, +CTSPillarNetworkA,315,315,315,1970-11-12,31.200000000000173,31.200083,2015-01-01 00:05:15,bin315,75, +CTSPillarNetworkA,316,316,316,1970-11-13,31.300000000000175,31.300083,2015-01-01 00:05:16,bin316,35, +CTSPillarNetworkA,317,317,317,1970-11-14,31.400000000000176,31.400084,2015-01-01 00:05:17,bin317,75, +CTSPillarNetworkA,318,318,318,1970-11-15,31.500000000000178,31.500084,2015-01-01 00:05:18,bin318,35, +CTSPillarNetworkA,319,319,319,1970-11-16,31.60000000000018,31.600084,2015-01-01 00:05:19,bin319,75, +CTSPillarNetworkA,320,320,320,1970-11-17,31.70000000000018,31.700085,2015-01-01 00:05:20,bin320,35, +CTSPillarNetworkA,321,321,321,1970-11-18,31.800000000000182,31.800085,2015-01-01 00:05:21,bin321,75, +CTSPillarNetworkA,322,322,322,1970-11-19,31.900000000000183,31.900085,2015-01-01 00:05:22,bin322,35, +CTSPillarNetworkA,323,323,323,1970-11-20,32.000000000000185,32.000084,2015-01-01 00:05:23,bin323,75, +CTSPillarNetworkA,324,324,324,1970-11-21,32.100000000000186,32.100082,2015-01-01 00:05:24,bin324,35, +CTSPillarNetworkA,325,325,325,1970-11-22,32.20000000000019,32.20008,2015-01-01 00:05:25,bin325,75, +CTSPillarNetworkA,326,326,326,1970-11-23,32.30000000000019,32.30008,2015-01-01 00:05:26,bin326,35, +CTSPillarNetworkA,327,327,327,1970-11-24,32.40000000000019,32.400078,2015-01-01 00:05:27,bin327,75, +CTSPillarNetworkA,328,328,328,1970-11-25,32.50000000000019,32.500076,2015-01-01 00:05:28,bin328,35, +CTSPillarNetworkA,329,329,329,1970-11-26,32.60000000000019,32.600075,2015-01-01 00:05:29,bin329,75, +CTSPillarNetworkA,330,330,330,1970-11-27,32.700000000000195,32.700073,2015-01-01 00:05:30,bin330,35, +CTSPillarNetworkA,331,331,331,1970-11-28,32.800000000000196,32.80007,2015-01-01 00:05:31,bin331,75, +CTSPillarNetworkA,332,332,332,1970-11-29,32.9000000000002,32.90007,2015-01-01 00:05:32,bin332,35, +CTSPillarNetworkA,333,333,333,1970-11-30,33.0000000000002,33.00007,2015-01-01 00:05:33,bin333,75, +CTSPillarNetworkA,334,334,334,1970-12-01,33.1000000000002,33.100067,2015-01-01 00:05:34,bin334,35, +CTSPillarNetworkA,335,335,335,1970-12-02,33.2000000000002,33.200066,2015-01-01 00:05:35,bin335,75, +CTSPillarNetworkA,336,336,336,1970-12-03,33.3000000000002,33.300064,2015-01-01 00:05:36,bin336,35, +CTSPillarNetworkA,337,337,337,1970-12-04,33.400000000000205,33.400063,2015-01-01 00:05:37,bin337,75, +CTSPillarNetworkA,338,338,338,1970-12-05,33.500000000000206,33.50006,2015-01-01 00:05:38,bin338,35, +CTSPillarNetworkA,339,339,339,1970-12-06,33.60000000000021,33.60006,2015-01-01 00:05:39,bin339,75, +CTSPillarNetworkA,340,340,340,1970-12-07,33.70000000000021,33.700058,2015-01-01 00:05:40,bin340,35, +CTSPillarNetworkA,341,341,341,1970-12-08,33.80000000000021,33.800056,2015-01-01 00:05:41,bin341,75, +CTSPillarNetworkA,342,342,342,1970-12-09,33.90000000000021,33.900055,2015-01-01 00:05:42,bin342,35, +CTSPillarNetworkA,343,343,343,1970-12-10,34.00000000000021,34.000053,2015-01-01 00:05:43,bin343,75, +CTSPillarNetworkA,344,344,344,1970-12-11,34.100000000000215,34.10005,2015-01-01 00:05:44,bin344,35, +CTSPillarNetworkA,345,345,345,1970-12-12,34.200000000000216,34.20005,2015-01-01 00:05:45,bin345,75, +CTSPillarNetworkA,346,346,346,1970-12-13,34.30000000000022,34.30005,2015-01-01 00:05:46,bin346,35, +CTSPillarNetworkA,347,347,347,1970-12-14,34.40000000000022,34.400047,2015-01-01 00:05:47,bin347,75, +CTSPillarNetworkA,348,348,348,1970-12-15,34.50000000000022,34.500046,2015-01-01 00:05:48,bin348,35, +CTSPillarNetworkA,349,349,349,1970-12-16,34.60000000000022,34.600044,2015-01-01 00:05:49,bin349,75, +CTSPillarNetworkA,350,350,350,1970-12-17,34.70000000000022,34.700043,2015-01-01 00:05:50,bin350,35, +CTSPillarNetworkA,351,351,351,1970-12-18,34.800000000000225,34.80004,2015-01-01 00:05:51,bin351,75, +CTSPillarNetworkA,352,352,352,1970-12-19,34.900000000000226,34.90004,2015-01-01 00:05:52,bin352,35, +CTSPillarNetworkA,353,353,353,1970-12-20,35.00000000000023,35.00004,2015-01-01 00:05:53,bin353,75, +CTSPillarNetworkA,354,354,354,1970-12-21,35.10000000000023,35.100037,2015-01-01 00:05:54,bin354,35, +CTSPillarNetworkA,355,355,355,1970-12-22,35.20000000000023,35.200035,2015-01-01 00:05:55,bin355,75, +CTSPillarNetworkA,356,356,356,1970-12-23,35.30000000000023,35.300034,2015-01-01 00:05:56,bin356,35, +CTSPillarNetworkA,357,357,357,1970-12-24,35.40000000000023,35.400032,2015-01-01 00:05:57,bin357,75, +CTSPillarNetworkA,358,358,358,1970-12-25,35.500000000000234,35.50003,2015-01-01 00:05:58,bin358,35, +CTSPillarNetworkA,359,359,359,1970-12-26,35.600000000000236,35.60003,2015-01-01 00:05:59,bin359,75, +CTSPillarNetworkA,360,360,360,1970-12-27,35.70000000000024,35.700027,2015-01-01 00:06:00,bin360,35, +CTSPillarNetworkA,361,361,361,1970-12-28,35.80000000000024,35.800026,2015-01-01 00:06:01,bin361,75, +CTSPillarNetworkA,362,362,362,1970-12-29,35.90000000000024,35.900024,2015-01-01 00:06:02,bin362,35, +CTSPillarNetworkA,363,363,363,1970-12-30,36.00000000000024,36.000023,2015-01-01 00:06:03,bin363,75, +CTSPillarNetworkA,364,364,364,1970-12-31,36.10000000000024,36.10002,2015-01-01 00:06:04,bin364,35, +CTSPillarNetworkA,365,365,365,1971-01-01,36.200000000000244,36.20002,2015-01-01 00:06:05,bin365,75, +CTSPillarNetworkA,366,366,366,1971-01-02,36.300000000000246,36.30002,2015-01-01 00:06:06,bin366,35, +CTSPillarNetworkA,367,367,367,1971-01-03,36.40000000000025,36.400017,2015-01-01 00:06:07,bin367,75, +CTSPillarNetworkA,368,368,368,1971-01-04,36.50000000000025,36.500015,2015-01-01 00:06:08,bin368,35, +CTSPillarNetworkA,369,369,369,1971-01-05,36.60000000000025,36.600014,2015-01-01 00:06:09,bin369,75, +CTSPillarNetworkA,370,370,370,1971-01-06,36.70000000000025,36.700012,2015-01-01 00:06:10,bin370,35, +CTSPillarNetworkA,371,371,371,1971-01-07,36.80000000000025,36.80001,2015-01-01 00:06:11,bin371,75, +CTSPillarNetworkA,372,372,372,1971-01-08,36.900000000000254,36.90001,2015-01-01 00:06:12,bin372,35, +CTSPillarNetworkA,373,373,373,1971-01-09,37.000000000000256,37.000008,2015-01-01 00:06:13,bin373,75, +CTSPillarNetworkA,374,374,374,1971-01-10,37.10000000000026,37.100006,2015-01-01 00:06:14,bin374,35, +CTSPillarNetworkA,375,375,375,1971-01-11,37.20000000000026,37.200005,2015-01-01 00:06:15,bin375,75, +CTSPillarNetworkA,376,376,376,1971-01-12,37.30000000000026,37.300003,2015-01-01 00:06:16,bin376,35, +CTSPillarNetworkA,377,377,377,1971-01-13,37.40000000000026,37.4,2015-01-01 00:06:17,bin377,75, +CTSPillarNetworkA,378,378,378,1971-01-14,37.50000000000026,37.5,2015-01-01 00:06:18,bin378,35, +CTSPillarNetworkA,379,379,379,1971-01-15,37.600000000000264,37.6,2015-01-01 00:06:19,bin379,75, +CTSPillarNetworkA,380,380,380,1971-01-16,37.700000000000266,37.699997,2015-01-01 00:06:20,bin380,35, +CTSPillarNetworkA,381,381,381,1971-01-17,37.80000000000027,37.799995,2015-01-01 00:06:21,bin381,75, +CTSPillarNetworkA,382,382,382,1971-01-18,37.90000000000027,37.899994,2015-01-01 00:06:22,bin382,35, +CTSPillarNetworkA,383,383,383,1971-01-19,38.00000000000027,37.999992,2015-01-01 00:06:23,bin383,75, +CTSPillarNetworkA,384,384,384,1971-01-20,38.10000000000027,38.09999,2015-01-01 00:06:24,bin384,35, +CTSPillarNetworkA,385,385,385,1971-01-21,38.20000000000027,38.19999,2015-01-01 00:06:25,bin385,75, +CTSPillarNetworkA,386,386,386,1971-01-22,38.300000000000274,38.299988,2015-01-01 00:06:26,bin386,35, +CTSPillarNetworkA,387,387,387,1971-01-23,38.400000000000276,38.399986,2015-01-01 00:06:27,bin387,75, +CTSPillarNetworkA,388,388,388,1971-01-24,38.50000000000028,38.499985,2015-01-01 00:06:28,bin388,35, +CTSPillarNetworkA,389,389,389,1971-01-25,38.60000000000028,38.599983,2015-01-01 00:06:29,bin389,75, +CTSPillarNetworkA,390,390,390,1971-01-26,38.70000000000028,38.69998,2015-01-01 00:06:30,bin390,35, +CTSPillarNetworkA,391,391,391,1971-01-27,38.80000000000028,38.79998,2015-01-01 00:06:31,bin391,75, +CTSPillarNetworkA,392,392,392,1971-01-28,38.90000000000028,38.89998,2015-01-01 00:06:32,bin392,35, +CTSPillarNetworkA,393,393,393,1971-01-29,39.000000000000284,38.999977,2015-01-01 00:06:33,bin393,75, +CTSPillarNetworkA,394,394,394,1971-01-30,39.100000000000286,39.099976,2015-01-01 00:06:34,bin394,35, +CTSPillarNetworkA,395,395,395,1971-01-31,39.20000000000029,39.199974,2015-01-01 00:06:35,bin395,75, +CTSPillarNetworkA,396,396,396,1971-02-01,39.30000000000029,39.299973,2015-01-01 00:06:36,bin396,35, +CTSPillarNetworkA,397,397,397,1971-02-02,39.40000000000029,39.39997,2015-01-01 00:06:37,bin397,75, +CTSPillarNetworkA,398,398,398,1971-02-03,39.50000000000029,39.49997,2015-01-01 00:06:38,bin398,35, +CTSPillarNetworkA,399,399,399,1971-02-04,39.60000000000029,39.599968,2015-01-01 00:06:39,bin399,75, +CTSPillarNetworkA,400,400,400,1971-02-05,39.700000000000294,39.699966,2015-01-01 00:06:40,bin400,35, +CTSPillarNetworkA,401,401,401,1971-02-06,39.800000000000296,39.799965,2015-01-01 00:06:41,bin401,75, +CTSPillarNetworkA,402,402,402,1971-02-07,39.9000000000003,39.899963,2015-01-01 00:06:42,bin402,35, +CTSPillarNetworkA,403,403,403,1971-02-08,40.0000000000003,39.99996,2015-01-01 00:06:43,bin403,75, +CTSPillarNetworkA,404,404,404,1971-02-09,40.1000000000003,40.09996,2015-01-01 00:06:44,bin404,35, +CTSPillarNetworkA,405,405,405,1971-02-10,40.2000000000003,40.19996,2015-01-01 00:06:45,bin405,75, +CTSPillarNetworkA,406,406,406,1971-02-11,40.3000000000003,40.299957,2015-01-01 00:06:46,bin406,35, +CTSPillarNetworkA,407,407,407,1971-02-12,40.400000000000304,40.399956,2015-01-01 00:06:47,bin407,75, +CTSPillarNetworkA,408,408,408,1971-02-13,40.500000000000306,40.499954,2015-01-01 00:06:48,bin408,35, +CTSPillarNetworkA,409,409,409,1971-02-14,40.60000000000031,40.599953,2015-01-01 00:06:49,bin409,75, +CTSPillarNetworkA,410,410,410,1971-02-15,40.70000000000031,40.69995,2015-01-01 00:06:50,bin410,35, +CTSPillarNetworkA,411,411,411,1971-02-16,40.80000000000031,40.79995,2015-01-01 00:06:51,bin411,75, +CTSPillarNetworkA,412,412,412,1971-02-17,40.90000000000031,40.89995,2015-01-01 00:06:52,bin412,35, +CTSPillarNetworkA,413,413,413,1971-02-18,41.00000000000031,40.999947,2015-01-01 00:06:53,bin413,75, +CTSPillarNetworkA,414,414,414,1971-02-19,41.100000000000314,41.099945,2015-01-01 00:06:54,bin414,35, +CTSPillarNetworkA,415,415,415,1971-02-20,41.200000000000315,41.199944,2015-01-01 00:06:55,bin415,75, +CTSPillarNetworkA,416,416,416,1971-02-21,41.30000000000032,41.299942,2015-01-01 00:06:56,bin416,35, +CTSPillarNetworkA,417,417,417,1971-02-22,41.40000000000032,41.39994,2015-01-01 00:06:57,bin417,75, +CTSPillarNetworkA,418,418,418,1971-02-23,41.50000000000032,41.49994,2015-01-01 00:06:58,bin418,35, +CTSPillarNetworkA,419,419,419,1971-02-24,41.60000000000032,41.599937,2015-01-01 00:06:59,bin419,75, +CTSPillarNetworkA,420,420,420,1971-02-25,41.70000000000032,41.699936,2015-01-01 00:07:00,bin420,35, +CTSPillarNetworkA,421,421,421,1971-02-26,41.800000000000324,41.799934,2015-01-01 00:07:01,bin421,75, +CTSPillarNetworkA,422,422,422,1971-02-27,41.900000000000325,41.899933,2015-01-01 00:07:02,bin422,35, +CTSPillarNetworkA,423,423,423,1971-02-28,42.00000000000033,41.99993,2015-01-01 00:07:03,bin423,75, +CTSPillarNetworkA,424,424,424,1971-03-01,42.10000000000033,42.09993,2015-01-01 00:07:04,bin424,35, +CTSPillarNetworkA,425,425,425,1971-03-02,42.20000000000033,42.19993,2015-01-01 00:07:05,bin425,75, +CTSPillarNetworkA,426,426,426,1971-03-03,42.30000000000033,42.299927,2015-01-01 00:07:06,bin426,35, +CTSPillarNetworkA,427,427,427,1971-03-04,42.40000000000033,42.399925,2015-01-01 00:07:07,bin427,75, +CTSPillarNetworkA,428,428,428,1971-03-05,42.500000000000334,42.499924,2015-01-01 00:07:08,bin428,35, +CTSPillarNetworkA,429,429,429,1971-03-06,42.600000000000335,42.599922,2015-01-01 00:07:09,bin429,75, +CTSPillarNetworkA,430,430,430,1971-03-07,42.70000000000034,42.69992,2015-01-01 00:07:10,bin430,35, +CTSPillarNetworkA,431,431,431,1971-03-08,42.80000000000034,42.79992,2015-01-01 00:07:11,bin431,75, +CTSPillarNetworkA,432,432,432,1971-03-09,42.90000000000034,42.899918,2015-01-01 00:07:12,bin432,35, +CTSPillarNetworkA,433,433,433,1971-03-10,43.00000000000034,42.999916,2015-01-01 00:07:13,bin433,75, +CTSPillarNetworkA,434,434,434,1971-03-11,43.10000000000034,43.099915,2015-01-01 00:07:14,bin434,35, +CTSPillarNetworkA,435,435,435,1971-03-12,43.200000000000344,43.199913,2015-01-01 00:07:15,bin435,75, +CTSPillarNetworkA,436,436,436,1971-03-13,43.300000000000345,43.29991,2015-01-01 00:07:16,bin436,35, +CTSPillarNetworkA,437,437,437,1971-03-14,43.40000000000035,43.39991,2015-01-01 00:07:17,bin437,75, +CTSPillarNetworkA,438,438,438,1971-03-15,43.50000000000035,43.49991,2015-01-01 00:07:18,bin438,35, +CTSPillarNetworkA,439,439,439,1971-03-16,43.60000000000035,43.599907,2015-01-01 00:07:19,bin439,75, +CTSPillarNetworkA,440,440,440,1971-03-17,43.70000000000035,43.699905,2015-01-01 00:07:20,bin440,35, +CTSPillarNetworkA,441,441,441,1971-03-18,43.80000000000035,43.799904,2015-01-01 00:07:21,bin441,75, +CTSPillarNetworkA,442,442,442,1971-03-19,43.900000000000354,43.899902,2015-01-01 00:07:22,bin442,35, +CTSPillarNetworkA,443,443,443,1971-03-20,44.000000000000355,43.9999,2015-01-01 00:07:23,bin443,75, +CTSPillarNetworkA,444,444,444,1971-03-21,44.10000000000036,44.0999,2015-01-01 00:07:24,bin444,35, +CTSPillarNetworkA,445,445,445,1971-03-22,44.20000000000036,44.199898,2015-01-01 00:07:25,bin445,75, +CTSPillarNetworkA,446,446,446,1971-03-23,44.30000000000036,44.299896,2015-01-01 00:07:26,bin446,35, +CTSPillarNetworkA,447,447,447,1971-03-24,44.40000000000036,44.399895,2015-01-01 00:07:27,bin447,75, +CTSPillarNetworkA,448,448,448,1971-03-25,44.50000000000036,44.499893,2015-01-01 00:07:28,bin448,35, +CTSPillarNetworkA,449,449,449,1971-03-26,44.600000000000364,44.59989,2015-01-01 00:07:29,bin449,75, +CTSPillarNetworkA,450,450,450,1971-03-27,44.700000000000365,44.69989,2015-01-01 00:07:30,bin450,35, +CTSPillarNetworkA,451,451,451,1971-03-28,44.80000000000037,44.79989,2015-01-01 00:07:31,bin451,75, +CTSPillarNetworkA,452,452,452,1971-03-29,44.90000000000037,44.899887,2015-01-01 00:07:32,bin452,35, +CTSPillarNetworkA,453,453,453,1971-03-30,45.00000000000037,44.999886,2015-01-01 00:07:33,bin453,75, +CTSPillarNetworkA,454,454,454,1971-03-31,45.10000000000037,45.099884,2015-01-01 00:07:34,bin454,35, +CTSPillarNetworkA,455,455,455,1971-04-01,45.20000000000037,45.199883,2015-01-01 00:07:35,bin455,75, +CTSPillarNetworkA,456,456,456,1971-04-02,45.300000000000374,45.29988,2015-01-01 00:07:36,bin456,35, +CTSPillarNetworkA,457,457,457,1971-04-03,45.400000000000375,45.39988,2015-01-01 00:07:37,bin457,75, +CTSPillarNetworkA,458,458,458,1971-04-04,45.50000000000038,45.499878,2015-01-01 00:07:38,bin458,35, +CTSPillarNetworkA,459,459,459,1971-04-05,45.60000000000038,45.599876,2015-01-01 00:07:39,bin459,75, +CTSPillarNetworkA,460,460,460,1971-04-06,45.70000000000038,45.699875,2015-01-01 00:07:40,bin460,35, +CTSPillarNetworkA,461,461,461,1971-04-07,45.80000000000038,45.799873,2015-01-01 00:07:41,bin461,75, +CTSPillarNetworkA,462,462,462,1971-04-08,45.90000000000038,45.89987,2015-01-01 00:07:42,bin462,35, +CTSPillarNetworkA,463,463,463,1971-04-09,46.000000000000384,45.99987,2015-01-01 00:07:43,bin463,75, +CTSPillarNetworkA,464,464,464,1971-04-10,46.100000000000385,46.09987,2015-01-01 00:07:44,bin464,35, +CTSPillarNetworkA,465,465,465,1971-04-11,46.20000000000039,46.199867,2015-01-01 00:07:45,bin465,75, +CTSPillarNetworkA,466,466,466,1971-04-12,46.30000000000039,46.299866,2015-01-01 00:07:46,bin466,35, +CTSPillarNetworkA,467,467,467,1971-04-13,46.40000000000039,46.399864,2015-01-01 00:07:47,bin467,75, +CTSPillarNetworkA,468,468,468,1971-04-14,46.50000000000039,46.499863,2015-01-01 00:07:48,bin468,35, +CTSPillarNetworkA,469,469,469,1971-04-15,46.60000000000039,46.59986,2015-01-01 00:07:49,bin469,75, +CTSPillarNetworkA,470,470,470,1971-04-16,46.700000000000394,46.69986,2015-01-01 00:07:50,bin470,35, +CTSPillarNetworkA,471,471,471,1971-04-17,46.800000000000395,46.79986,2015-01-01 00:07:51,bin471,75, +CTSPillarNetworkA,472,472,472,1971-04-18,46.9000000000004,46.899857,2015-01-01 00:07:52,bin472,35, +CTSPillarNetworkA,473,473,473,1971-04-19,47.0000000000004,46.999855,2015-01-01 00:07:53,bin473,75, +CTSPillarNetworkA,474,474,474,1971-04-20,47.1000000000004,47.099854,2015-01-01 00:07:54,bin474,35, +CTSPillarNetworkA,475,475,475,1971-04-21,47.2000000000004,47.199852,2015-01-01 00:07:55,bin475,75, +CTSPillarNetworkA,476,476,476,1971-04-22,47.3000000000004,47.29985,2015-01-01 00:07:56,bin476,35, +CTSPillarNetworkA,477,477,477,1971-04-23,47.400000000000404,47.39985,2015-01-01 00:07:57,bin477,75, +CTSPillarNetworkA,478,478,478,1971-04-24,47.500000000000405,47.499847,2015-01-01 00:07:58,bin478,35, +CTSPillarNetworkA,479,479,479,1971-04-25,47.600000000000406,47.599846,2015-01-01 00:07:59,bin479,75, +CTSPillarNetworkA,480,480,480,1971-04-26,47.70000000000041,47.699844,2015-01-01 00:08:00,bin480,35, +CTSPillarNetworkA,481,481,481,1971-04-27,47.80000000000041,47.799843,2015-01-01 00:08:01,bin481,75, +CTSPillarNetworkA,482,482,482,1971-04-28,47.90000000000041,47.89984,2015-01-01 00:08:02,bin482,35, +CTSPillarNetworkA,483,483,483,1971-04-29,48.00000000000041,47.99984,2015-01-01 00:08:03,bin483,75, +CTSPillarNetworkA,484,484,484,1971-04-30,48.10000000000041,48.09984,2015-01-01 00:08:04,bin484,35, +CTSPillarNetworkA,485,485,485,1971-05-01,48.200000000000415,48.199837,2015-01-01 00:08:05,bin485,75, +CTSPillarNetworkA,486,486,486,1971-05-02,48.300000000000416,48.299835,2015-01-01 00:08:06,bin486,35, +CTSPillarNetworkA,487,487,487,1971-05-03,48.40000000000042,48.399834,2015-01-01 00:08:07,bin487,75, +CTSPillarNetworkA,488,488,488,1971-05-04,48.50000000000042,48.499832,2015-01-01 00:08:08,bin488,35, +CTSPillarNetworkA,489,489,489,1971-05-05,48.60000000000042,48.59983,2015-01-01 00:08:09,bin489,75, +CTSPillarNetworkA,490,490,490,1971-05-06,48.70000000000042,48.69983,2015-01-01 00:08:10,bin490,35, +CTSPillarNetworkA,491,491,491,1971-05-07,48.80000000000042,48.799828,2015-01-01 00:08:11,bin491,75, +CTSPillarNetworkA,492,492,492,1971-05-08,48.900000000000425,48.899826,2015-01-01 00:08:12,bin492,35, +CTSPillarNetworkA,493,493,493,1971-05-09,49.000000000000426,48.999825,2015-01-01 00:08:13,bin493,75, +CTSPillarNetworkA,494,494,494,1971-05-10,49.10000000000043,49.099823,2015-01-01 00:08:14,bin494,35, +CTSPillarNetworkA,495,495,495,1971-05-11,49.20000000000043,49.19982,2015-01-01 00:08:15,bin495,75, +CTSPillarNetworkA,496,496,496,1971-05-12,49.30000000000043,49.29982,2015-01-01 00:08:16,bin496,35, +CTSPillarNetworkA,497,497,497,1971-05-13,49.40000000000043,49.39982,2015-01-01 00:08:17,bin497,75, +CTSPillarNetworkA,498,498,498,1971-05-14,49.50000000000043,49.499817,2015-01-01 00:08:18,bin498,35, +CTSPillarNetworkA,499,499,499,1971-05-15,49.600000000000435,49.599815,2015-01-01 00:08:19,bin499,75, +CTSPillarNetworkA,500,500,500,1971-05-16,49.700000000000436,49.699814,2015-01-01 00:08:20,bin500,35, +CTSPillarNetworkA,501,501,501,1971-05-17,49.80000000000044,49.799812,2015-01-01 00:08:21,bin501,75, +CTSPillarNetworkA,502,502,502,1971-05-18,49.90000000000044,49.89981,2015-01-01 00:08:22,bin502,35, +CTSPillarNetworkA,503,503,503,1971-05-19,50.00000000000044,49.99981,2015-01-01 00:08:23,bin503,75, +CTSPillarNetworkA,504,504,504,1971-05-20,50.10000000000044,50.099808,2015-01-01 00:08:24,bin504,35, +CTSPillarNetworkA,505,505,505,1971-05-21,50.20000000000044,50.199806,2015-01-01 00:08:25,bin505,75, +CTSPillarNetworkA,506,506,506,1971-05-22,50.300000000000445,50.299805,2015-01-01 00:08:26,bin506,35, +CTSPillarNetworkA,507,507,507,1971-05-23,50.400000000000446,50.399803,2015-01-01 00:08:27,bin507,75, +CTSPillarNetworkA,508,508,508,1971-05-24,50.50000000000045,50.4998,2015-01-01 00:08:28,bin508,35, +CTSPillarNetworkA,509,509,509,1971-05-25,50.60000000000045,50.5998,2015-01-01 00:08:29,bin509,75, +CTSPillarNetworkA,510,510,510,1971-05-26,50.70000000000045,50.6998,2015-01-01 00:08:30,bin510,35, +CTSPillarNetworkA,511,511,511,1971-05-27,50.80000000000045,50.799797,2015-01-01 00:08:31,bin511,75, +CTSPillarNetworkA,512,512,512,1971-05-28,50.90000000000045,50.899796,2015-01-01 00:08:32,bin512,35, +CTSPillarNetworkA,513,513,513,1971-05-29,51.000000000000455,50.999794,2015-01-01 00:08:33,bin513,75, +CTSPillarNetworkA,514,514,514,1971-05-30,51.100000000000456,51.099792,2015-01-01 00:08:34,bin514,35, +CTSPillarNetworkA,515,515,515,1971-05-31,51.20000000000046,51.19979,2015-01-01 00:08:35,bin515,75, +CTSPillarNetworkA,516,516,516,1971-06-01,51.30000000000046,51.29979,2015-01-01 00:08:36,bin516,35, +CTSPillarNetworkA,517,517,517,1971-06-02,51.40000000000046,51.399788,2015-01-01 00:08:37,bin517,75, +CTSPillarNetworkA,518,518,518,1971-06-03,51.50000000000046,51.499786,2015-01-01 00:08:38,bin518,35, +CTSPillarNetworkA,519,519,519,1971-06-04,51.60000000000046,51.599785,2015-01-01 00:08:39,bin519,75, +CTSPillarNetworkA,520,520,520,1971-06-05,51.700000000000465,51.699783,2015-01-01 00:08:40,bin520,35, +CTSPillarNetworkA,521,521,521,1971-06-06,51.800000000000466,51.79978,2015-01-01 00:08:41,bin521,75, +CTSPillarNetworkA,522,522,522,1971-06-07,51.90000000000047,51.89978,2015-01-01 00:08:42,bin522,35, +CTSPillarNetworkA,523,523,523,1971-06-08,52.00000000000047,51.99978,2015-01-01 00:08:43,bin523,75, +CTSPillarNetworkA,524,524,524,1971-06-09,52.10000000000047,52.099777,2015-01-01 00:08:44,bin524,35, +CTSPillarNetworkA,525,525,525,1971-06-10,52.20000000000047,52.199776,2015-01-01 00:08:45,bin525,75, +CTSPillarNetworkA,526,526,526,1971-06-11,52.30000000000047,52.299774,2015-01-01 00:08:46,bin526,35, +CTSPillarNetworkA,527,527,527,1971-06-12,52.400000000000475,52.399773,2015-01-01 00:08:47,bin527,75, +CTSPillarNetworkA,528,528,528,1971-06-13,52.500000000000476,52.49977,2015-01-01 00:08:48,bin528,35, +CTSPillarNetworkA,529,529,529,1971-06-14,52.60000000000048,52.59977,2015-01-01 00:08:49,bin529,75, +CTSPillarNetworkA,530,530,530,1971-06-15,52.70000000000048,52.699768,2015-01-01 00:08:50,bin530,35, +CTSPillarNetworkA,531,531,531,1971-06-16,52.80000000000048,52.799767,2015-01-01 00:08:51,bin531,75, +CTSPillarNetworkA,532,532,532,1971-06-17,52.90000000000048,52.899765,2015-01-01 00:08:52,bin532,35, +CTSPillarNetworkA,533,533,533,1971-06-18,53.00000000000048,52.999763,2015-01-01 00:08:53,bin533,75, +CTSPillarNetworkA,534,534,534,1971-06-19,53.100000000000485,53.099762,2015-01-01 00:08:54,bin534,35, +CTSPillarNetworkA,535,535,535,1971-06-20,53.200000000000486,53.19976,2015-01-01 00:08:55,bin535,75, +CTSPillarNetworkA,536,536,536,1971-06-21,53.30000000000049,53.29976,2015-01-01 00:08:56,bin536,35, +CTSPillarNetworkA,537,537,537,1971-06-22,53.40000000000049,53.399757,2015-01-01 00:08:57,bin537,75, +CTSPillarNetworkA,538,538,538,1971-06-23,53.50000000000049,53.499756,2015-01-01 00:08:58,bin538,35, +CTSPillarNetworkA,539,539,539,1971-06-24,53.60000000000049,53.599754,2015-01-01 00:08:59,bin539,75, +CTSPillarNetworkA,540,540,540,1971-06-25,53.70000000000049,53.699753,2015-01-01 00:09:00,bin540,35, +CTSPillarNetworkA,541,541,541,1971-06-26,53.800000000000495,53.79975,2015-01-01 00:09:01,bin541,75, +CTSPillarNetworkA,542,542,542,1971-06-27,53.900000000000496,53.89975,2015-01-01 00:09:02,bin542,35, +CTSPillarNetworkA,543,543,543,1971-06-28,54.0000000000005,53.99975,2015-01-01 00:09:03,bin543,75, +CTSPillarNetworkA,544,544,544,1971-06-29,54.1000000000005,54.099747,2015-01-01 00:09:04,bin544,35, +CTSPillarNetworkA,545,545,545,1971-06-30,54.2000000000005,54.199745,2015-01-01 00:09:05,bin545,75, +CTSPillarNetworkA,546,546,546,1971-07-01,54.3000000000005,54.299744,2015-01-01 00:09:06,bin546,35, +CTSPillarNetworkA,547,547,547,1971-07-02,54.4000000000005,54.399742,2015-01-01 00:09:07,bin547,75, +CTSPillarNetworkA,548,548,548,1971-07-03,54.500000000000504,54.49974,2015-01-01 00:09:08,bin548,35, +CTSPillarNetworkA,549,549,549,1971-07-04,54.600000000000506,54.59974,2015-01-01 00:09:09,bin549,75, +CTSPillarNetworkA,550,550,550,1971-07-05,54.70000000000051,54.699738,2015-01-01 00:09:10,bin550,35, +CTSPillarNetworkA,551,551,551,1971-07-06,54.80000000000051,54.799736,2015-01-01 00:09:11,bin551,75, +CTSPillarNetworkA,552,552,552,1971-07-07,54.90000000000051,54.899734,2015-01-01 00:09:12,bin552,35, +CTSPillarNetworkA,553,553,553,1971-07-08,55.00000000000051,54.999733,2015-01-01 00:09:13,bin553,75, +CTSPillarNetworkA,554,554,554,1971-07-09,55.10000000000051,55.09973,2015-01-01 00:09:14,bin554,35, +CTSPillarNetworkA,555,555,555,1971-07-10,55.200000000000514,55.19973,2015-01-01 00:09:15,bin555,75, +CTSPillarNetworkA,556,556,556,1971-07-11,55.300000000000516,55.29973,2015-01-01 00:09:16,bin556,35, +CTSPillarNetworkA,557,557,557,1971-07-12,55.40000000000052,55.399727,2015-01-01 00:09:17,bin557,75, +CTSPillarNetworkA,558,558,558,1971-07-13,55.50000000000052,55.499725,2015-01-01 00:09:18,bin558,35, +CTSPillarNetworkA,559,559,559,1971-07-14,55.60000000000052,55.599724,2015-01-01 00:09:19,bin559,75, +CTSPillarNetworkA,560,560,560,1971-07-15,55.70000000000052,55.699722,2015-01-01 00:09:20,bin560,35, +CTSPillarNetworkA,561,561,561,1971-07-16,55.80000000000052,55.79972,2015-01-01 00:09:21,bin561,75, +CTSPillarNetworkA,562,562,562,1971-07-17,55.900000000000524,55.89972,2015-01-01 00:09:22,bin562,35, +CTSPillarNetworkA,563,563,563,1971-07-18,56.000000000000526,55.999718,2015-01-01 00:09:23,bin563,75, +CTSPillarNetworkA,564,564,564,1971-07-19,56.10000000000053,56.099716,2015-01-01 00:09:24,bin564,35, +CTSPillarNetworkA,565,565,565,1971-07-20,56.20000000000053,56.199715,2015-01-01 00:09:25,bin565,75, +CTSPillarNetworkA,566,566,566,1971-07-21,56.30000000000053,56.299713,2015-01-01 00:09:26,bin566,35, +CTSPillarNetworkA,567,567,567,1971-07-22,56.40000000000053,56.39971,2015-01-01 00:09:27,bin567,75, +CTSPillarNetworkA,568,568,568,1971-07-23,56.50000000000053,56.49971,2015-01-01 00:09:28,bin568,35, +CTSPillarNetworkA,569,569,569,1971-07-24,56.600000000000534,56.59971,2015-01-01 00:09:29,bin569,75, +CTSPillarNetworkA,570,570,570,1971-07-25,56.700000000000536,56.699707,2015-01-01 00:09:30,bin570,35, +CTSPillarNetworkA,571,571,571,1971-07-26,56.80000000000054,56.799706,2015-01-01 00:09:31,bin571,75, +CTSPillarNetworkA,572,572,572,1971-07-27,56.90000000000054,56.899704,2015-01-01 00:09:32,bin572,35, +CTSPillarNetworkA,573,573,573,1971-07-28,57.00000000000054,56.999702,2015-01-01 00:09:33,bin573,75, +CTSPillarNetworkA,574,574,574,1971-07-29,57.10000000000054,57.0997,2015-01-01 00:09:34,bin574,35, +CTSPillarNetworkA,575,575,575,1971-07-30,57.20000000000054,57.1997,2015-01-01 00:09:35,bin575,75, +CTSPillarNetworkA,576,576,576,1971-07-31,57.300000000000544,57.299698,2015-01-01 00:09:36,bin576,35, +CTSPillarNetworkA,577,577,577,1971-08-01,57.400000000000546,57.399696,2015-01-01 00:09:37,bin577,75, +CTSPillarNetworkA,578,578,578,1971-08-02,57.50000000000055,57.499695,2015-01-01 00:09:38,bin578,35, +CTSPillarNetworkA,579,579,579,1971-08-03,57.60000000000055,57.599693,2015-01-01 00:09:39,bin579,75, +CTSPillarNetworkA,580,580,580,1971-08-04,57.70000000000055,57.69969,2015-01-01 00:09:40,bin580,35, +CTSPillarNetworkA,581,581,581,1971-08-05,57.80000000000055,57.79969,2015-01-01 00:09:41,bin581,75, +CTSPillarNetworkA,582,582,582,1971-08-06,57.90000000000055,57.89969,2015-01-01 00:09:42,bin582,35, +CTSPillarNetworkA,583,583,583,1971-08-07,58.000000000000554,57.999687,2015-01-01 00:09:43,bin583,75, +CTSPillarNetworkA,584,584,584,1971-08-08,58.100000000000556,58.099686,2015-01-01 00:09:44,bin584,35, +CTSPillarNetworkA,585,585,585,1971-08-09,58.20000000000056,58.199684,2015-01-01 00:09:45,bin585,75, +CTSPillarNetworkA,586,586,586,1971-08-10,58.30000000000056,58.299683,2015-01-01 00:09:46,bin586,35, +CTSPillarNetworkA,587,587,587,1971-08-11,58.40000000000056,58.39968,2015-01-01 00:09:47,bin587,75, +CTSPillarNetworkA,588,588,588,1971-08-12,58.50000000000056,58.49968,2015-01-01 00:09:48,bin588,35, +CTSPillarNetworkA,589,589,589,1971-08-13,58.60000000000056,58.599678,2015-01-01 00:09:49,bin589,75, +CTSPillarNetworkA,590,590,590,1971-08-14,58.700000000000564,58.699677,2015-01-01 00:09:50,bin590,35, +CTSPillarNetworkA,591,591,591,1971-08-15,58.800000000000566,58.799675,2015-01-01 00:09:51,bin591,75, +CTSPillarNetworkA,592,592,592,1971-08-16,58.90000000000057,58.899673,2015-01-01 00:09:52,bin592,35, +CTSPillarNetworkA,593,593,593,1971-08-17,59.00000000000057,58.999672,2015-01-01 00:09:53,bin593,75, +CTSPillarNetworkA,594,594,594,1971-08-18,59.10000000000057,59.09967,2015-01-01 00:09:54,bin594,35, +CTSPillarNetworkA,595,595,595,1971-08-19,59.20000000000057,59.19967,2015-01-01 00:09:55,bin595,75, +CTSPillarNetworkA,596,596,596,1971-08-20,59.30000000000057,59.299667,2015-01-01 00:09:56,bin596,35, +CTSPillarNetworkA,597,597,597,1971-08-21,59.400000000000574,59.399666,2015-01-01 00:09:57,bin597,75, +CTSPillarNetworkA,598,598,598,1971-08-22,59.500000000000576,59.499664,2015-01-01 00:09:58,bin598,35, +CTSPillarNetworkA,599,599,599,1971-08-23,59.60000000000058,59.599663,2015-01-01 00:09:59,bin599,75, +CTSPillarNetworkA,600,600,600,1971-08-24,59.70000000000058,59.69966,2015-01-01 00:10:00,bin600,35, +CTSPillarNetworkA,601,601,601,1971-08-25,59.80000000000058,59.79966,2015-01-01 00:10:01,bin601,75, +CTSPillarNetworkA,602,602,602,1971-08-26,59.90000000000058,59.89966,2015-01-01 00:10:02,bin602,35, +CTSPillarNetworkA,603,603,603,1971-08-27,60.00000000000058,59.999657,2015-01-01 00:10:03,bin603,75, +CTSPillarNetworkA,604,604,604,1971-08-28,60.100000000000584,60.099655,2015-01-01 00:10:04,bin604,35, +CTSPillarNetworkA,605,605,605,1971-08-29,60.200000000000585,60.199654,2015-01-01 00:10:05,bin605,75, +CTSPillarNetworkA,606,606,606,1971-08-30,60.30000000000059,60.299652,2015-01-01 00:10:06,bin606,35, +CTSPillarNetworkA,607,607,607,1971-08-31,60.40000000000059,60.39965,2015-01-01 00:10:07,bin607,75, +CTSPillarNetworkA,608,608,608,1971-09-01,60.50000000000059,60.49965,2015-01-01 00:10:08,bin608,35, +CTSPillarNetworkA,609,609,609,1971-09-02,60.60000000000059,60.599648,2015-01-01 00:10:09,bin609,75, +CTSPillarNetworkA,610,610,610,1971-09-03,60.70000000000059,60.699646,2015-01-01 00:10:10,bin610,35, +CTSPillarNetworkA,611,611,611,1971-09-04,60.800000000000594,60.799644,2015-01-01 00:10:11,bin611,75, +CTSPillarNetworkA,612,612,612,1971-09-05,60.900000000000595,60.899643,2015-01-01 00:10:12,bin612,35, +CTSPillarNetworkA,613,613,613,1971-09-06,61.0000000000006,60.99964,2015-01-01 00:10:13,bin613,75, +CTSPillarNetworkA,614,614,614,1971-09-07,61.1000000000006,61.09964,2015-01-01 00:10:14,bin614,35, +CTSPillarNetworkA,615,615,615,1971-09-08,61.2000000000006,61.19964,2015-01-01 00:10:15,bin615,75, +CTSPillarNetworkA,616,616,616,1971-09-09,61.3000000000006,61.299637,2015-01-01 00:10:16,bin616,35, +CTSPillarNetworkA,617,617,617,1971-09-10,61.4000000000006,61.399635,2015-01-01 00:10:17,bin617,75, +CTSPillarNetworkA,618,618,618,1971-09-11,61.500000000000604,61.499634,2015-01-01 00:10:18,bin618,35, +CTSPillarNetworkA,619,619,619,1971-09-12,61.600000000000605,61.599632,2015-01-01 00:10:19,bin619,75, +CTSPillarNetworkA,620,620,620,1971-09-13,61.70000000000061,61.69963,2015-01-01 00:10:20,bin620,35, +CTSPillarNetworkA,621,621,621,1971-09-14,61.80000000000061,61.79963,2015-01-01 00:10:21,bin621,75, +CTSPillarNetworkA,622,622,622,1971-09-15,61.90000000000061,61.899628,2015-01-01 00:10:22,bin622,35, +CTSPillarNetworkA,623,623,623,1971-09-16,62.00000000000061,61.999626,2015-01-01 00:10:23,bin623,75, +CTSPillarNetworkA,624,624,624,1971-09-17,62.10000000000061,62.099625,2015-01-01 00:10:24,bin624,35, +CTSPillarNetworkA,625,625,625,1971-09-18,62.200000000000614,62.199623,2015-01-01 00:10:25,bin625,75, +CTSPillarNetworkA,626,626,626,1971-09-19,62.300000000000615,62.29962,2015-01-01 00:10:26,bin626,35, +CTSPillarNetworkA,627,627,627,1971-09-20,62.40000000000062,62.39962,2015-01-01 00:10:27,bin627,75, +CTSPillarNetworkA,628,628,628,1971-09-21,62.50000000000062,62.49962,2015-01-01 00:10:28,bin628,35, +CTSPillarNetworkA,629,629,629,1971-09-22,62.60000000000062,62.599617,2015-01-01 00:10:29,bin629,75, +CTSPillarNetworkA,630,630,630,1971-09-23,62.70000000000062,62.699615,2015-01-01 00:10:30,bin630,35, +CTSPillarNetworkA,631,631,631,1971-09-24,62.80000000000062,62.799614,2015-01-01 00:10:31,bin631,75, +CTSPillarNetworkA,632,632,632,1971-09-25,62.900000000000624,62.899612,2015-01-01 00:10:32,bin632,35, +CTSPillarNetworkA,633,633,633,1971-09-26,63.000000000000625,62.99961,2015-01-01 00:10:33,bin633,75, +CTSPillarNetworkA,634,634,634,1971-09-27,63.10000000000063,63.09961,2015-01-01 00:10:34,bin634,35, +CTSPillarNetworkA,635,635,635,1971-09-28,63.20000000000063,63.199608,2015-01-01 00:10:35,bin635,75, +CTSPillarNetworkA,636,636,636,1971-09-29,63.30000000000063,63.299606,2015-01-01 00:10:36,bin636,35, +CTSPillarNetworkA,637,637,637,1971-09-30,63.40000000000063,63.399605,2015-01-01 00:10:37,bin637,75, +CTSPillarNetworkA,638,638,638,1971-10-01,63.50000000000063,63.499603,2015-01-01 00:10:38,bin638,35, +CTSPillarNetworkA,639,639,639,1971-10-02,63.600000000000634,63.5996,2015-01-01 00:10:39,bin639,75, +CTSPillarNetworkA,640,640,640,1971-10-03,63.700000000000635,63.6996,2015-01-01 00:10:40,bin640,35, +CTSPillarNetworkA,641,641,641,1971-10-04,63.80000000000064,63.7996,2015-01-01 00:10:41,bin641,75, +CTSPillarNetworkA,642,642,642,1971-10-05,63.90000000000064,63.899597,2015-01-01 00:10:42,bin642,35, +CTSPillarNetworkA,643,643,643,1971-10-06,64.00000000000064,63.999596,2015-01-01 00:10:43,bin643,75, +CTSPillarNetworkA,644,644,644,1971-10-07,64.10000000000063,64.099594,2015-01-01 00:10:44,bin644,35, +CTSPillarNetworkA,645,645,645,1971-10-08,64.20000000000063,64.19959,2015-01-01 00:10:45,bin645,75, +CTSPillarNetworkA,646,646,646,1971-10-09,64.30000000000062,64.29959,2015-01-01 00:10:46,bin646,35, +CTSPillarNetworkA,647,647,647,1971-10-10,64.40000000000062,64.39959,2015-01-01 00:10:47,bin647,75, +CTSPillarNetworkA,648,648,648,1971-10-11,64.50000000000061,64.49959,2015-01-01 00:10:48,bin648,35, +CTSPillarNetworkA,649,649,649,1971-10-12,64.6000000000006,64.59959,2015-01-01 00:10:49,bin649,75, +CTSPillarNetworkA,650,650,650,1971-10-13,64.7000000000006,64.699585,2015-01-01 00:10:50,bin650,35, +CTSPillarNetworkA,651,651,651,1971-10-14,64.8000000000006,64.79958,2015-01-01 00:10:51,bin651,75, +CTSPillarNetworkA,652,652,652,1971-10-15,64.90000000000059,64.89958,2015-01-01 00:10:52,bin652,35, +CTSPillarNetworkA,653,653,653,1971-10-16,65.00000000000058,64.99958,2015-01-01 00:10:53,bin653,75, +CTSPillarNetworkA,654,654,654,1971-10-17,65.10000000000058,65.09958,2015-01-01 00:10:54,bin654,35, +CTSPillarNetworkA,655,655,655,1971-10-18,65.20000000000057,65.19958,2015-01-01 00:10:55,bin655,75, +CTSPillarNetworkA,656,656,656,1971-10-19,65.30000000000057,65.299576,2015-01-01 00:10:56,bin656,35, +CTSPillarNetworkA,657,657,657,1971-10-20,65.40000000000056,65.399574,2015-01-01 00:10:57,bin657,75, +CTSPillarNetworkA,658,658,658,1971-10-21,65.50000000000055,65.49957,2015-01-01 00:10:58,bin658,35, +CTSPillarNetworkA,659,659,659,1971-10-22,65.60000000000055,65.59957,2015-01-01 00:10:59,bin659,75, +CTSPillarNetworkA,660,660,660,1971-10-23,65.70000000000054,65.69957,2015-01-01 00:11:00,bin660,35, +CTSPillarNetworkA,661,661,661,1971-10-24,65.80000000000054,65.79957,2015-01-01 00:11:01,bin661,75, +CTSPillarNetworkA,662,662,662,1971-10-25,65.90000000000053,65.89957,2015-01-01 00:11:02,bin662,35, +CTSPillarNetworkA,663,663,663,1971-10-26,66.00000000000053,65.999565,2015-01-01 00:11:03,bin663,75, +CTSPillarNetworkA,664,664,664,1971-10-27,66.10000000000052,66.09956,2015-01-01 00:11:04,bin664,35, +CTSPillarNetworkA,665,665,665,1971-10-28,66.20000000000051,66.19956,2015-01-01 00:11:05,bin665,75, +CTSPillarNetworkA,666,666,666,1971-10-29,66.30000000000051,66.29956,2015-01-01 00:11:06,bin666,35, +CTSPillarNetworkA,667,667,667,1971-10-30,66.4000000000005,66.39956,2015-01-01 00:11:07,bin667,75, +CTSPillarNetworkA,668,668,668,1971-10-31,66.5000000000005,66.49956,2015-01-01 00:11:08,bin668,35, +CTSPillarNetworkA,669,669,669,1971-11-01,66.60000000000049,66.599556,2015-01-01 00:11:09,bin669,75, +CTSPillarNetworkA,670,670,670,1971-11-02,66.70000000000049,66.699554,2015-01-01 00:11:10,bin670,35, +CTSPillarNetworkA,671,671,671,1971-11-03,66.80000000000048,66.79955,2015-01-01 00:11:11,bin671,75, +CTSPillarNetworkA,672,672,672,1971-11-04,66.90000000000047,66.89955,2015-01-01 00:11:12,bin672,35, +CTSPillarNetworkA,673,673,673,1971-11-05,67.00000000000047,66.99955,2015-01-01 00:11:13,bin673,75, +CTSPillarNetworkA,674,674,674,1971-11-06,67.10000000000046,67.09955,2015-01-01 00:11:14,bin674,35, +CTSPillarNetworkA,675,675,675,1971-11-07,67.20000000000046,67.19955,2015-01-01 00:11:15,bin675,75, +CTSPillarNetworkA,676,676,676,1971-11-08,67.30000000000045,67.299545,2015-01-01 00:11:16,bin676,35, +CTSPillarNetworkA,677,677,677,1971-11-09,67.40000000000045,67.39954,2015-01-01 00:11:17,bin677,75, +CTSPillarNetworkA,678,678,678,1971-11-10,67.50000000000044,67.49954,2015-01-01 00:11:18,bin678,35, +CTSPillarNetworkA,679,679,679,1971-11-11,67.60000000000043,67.59954,2015-01-01 00:11:19,bin679,75, +CTSPillarNetworkA,680,680,680,1971-11-12,67.70000000000043,67.69954,2015-01-01 00:11:20,bin680,35, +CTSPillarNetworkA,681,681,681,1971-11-13,67.80000000000042,67.79954,2015-01-01 00:11:21,bin681,75, +CTSPillarNetworkA,682,682,682,1971-11-14,67.90000000000042,67.899536,2015-01-01 00:11:22,bin682,35, +CTSPillarNetworkA,683,683,683,1971-11-15,68.00000000000041,67.999535,2015-01-01 00:11:23,bin683,75, +CTSPillarNetworkA,684,684,684,1971-11-16,68.1000000000004,68.09953,2015-01-01 00:11:24,bin684,35, +CTSPillarNetworkA,685,685,685,1971-11-17,68.2000000000004,68.19953,2015-01-01 00:11:25,bin685,75, +CTSPillarNetworkA,686,686,686,1971-11-18,68.3000000000004,68.29953,2015-01-01 00:11:26,bin686,35, +CTSPillarNetworkA,687,687,687,1971-11-19,68.40000000000039,68.39953,2015-01-01 00:11:27,bin687,75, +CTSPillarNetworkA,688,688,688,1971-11-20,68.50000000000038,68.49953,2015-01-01 00:11:28,bin688,35, +CTSPillarNetworkA,689,689,689,1971-11-21,68.60000000000038,68.599525,2015-01-01 00:11:29,bin689,75, +CTSPillarNetworkA,690,690,690,1971-11-22,68.70000000000037,68.699524,2015-01-01 00:11:30,bin690,35, +CTSPillarNetworkA,691,691,691,1971-11-23,68.80000000000037,68.79952,2015-01-01 00:11:31,bin691,75, +CTSPillarNetworkA,692,692,692,1971-11-24,68.90000000000036,68.89952,2015-01-01 00:11:32,bin692,35, +CTSPillarNetworkA,693,693,693,1971-11-25,69.00000000000036,68.99952,2015-01-01 00:11:33,bin693,75, +CTSPillarNetworkA,694,694,694,1971-11-26,69.10000000000035,69.09952,2015-01-01 00:11:34,bin694,35, +CTSPillarNetworkA,695,695,695,1971-11-27,69.20000000000034,69.19952,2015-01-01 00:11:35,bin695,75, +CTSPillarNetworkA,696,696,696,1971-11-28,69.30000000000034,69.299515,2015-01-01 00:11:36,bin696,35, +CTSPillarNetworkA,697,697,697,1971-11-29,69.40000000000033,69.39951,2015-01-01 00:11:37,bin697,75, +CTSPillarNetworkA,698,698,698,1971-11-30,69.50000000000033,69.49951,2015-01-01 00:11:38,bin698,35, +CTSPillarNetworkA,699,699,699,1971-12-01,69.60000000000032,69.59951,2015-01-01 00:11:39,bin699,75, +CTSPillarNetworkA,700,700,700,1971-12-02,69.70000000000032,69.69951,2015-01-01 00:11:40,bin700,35, +CTSPillarNetworkA,701,701,701,1971-12-03,69.80000000000031,69.79951,2015-01-01 00:11:41,bin701,75, +CTSPillarNetworkA,702,702,702,1971-12-04,69.9000000000003,69.899506,2015-01-01 00:11:42,bin702,35, +CTSPillarNetworkA,703,703,703,1971-12-05,70.0000000000003,69.999504,2015-01-01 00:11:43,bin703,75, +CTSPillarNetworkA,704,704,704,1971-12-06,70.10000000000029,70.0995,2015-01-01 00:11:44,bin704,35, +CTSPillarNetworkA,705,705,705,1971-12-07,70.20000000000029,70.1995,2015-01-01 00:11:45,bin705,75, +CTSPillarNetworkA,706,706,706,1971-12-08,70.30000000000028,70.2995,2015-01-01 00:11:46,bin706,35, +CTSPillarNetworkA,707,707,707,1971-12-09,70.40000000000028,70.3995,2015-01-01 00:11:47,bin707,75, +CTSPillarNetworkA,708,708,708,1971-12-10,70.50000000000027,70.4995,2015-01-01 00:11:48,bin708,35, +CTSPillarNetworkA,709,709,709,1971-12-11,70.60000000000026,70.599495,2015-01-01 00:11:49,bin709,75, +CTSPillarNetworkA,710,710,710,1971-12-12,70.70000000000026,70.69949,2015-01-01 00:11:50,bin710,35, +CTSPillarNetworkA,711,711,711,1971-12-13,70.80000000000025,70.79949,2015-01-01 00:11:51,bin711,75, +CTSPillarNetworkA,712,712,712,1971-12-14,70.90000000000025,70.89949,2015-01-01 00:11:52,bin712,35, +CTSPillarNetworkA,713,713,713,1971-12-15,71.00000000000024,70.99949,2015-01-01 00:11:53,bin713,75, +CTSPillarNetworkA,714,714,714,1971-12-16,71.10000000000024,71.09949,2015-01-01 00:11:54,bin714,35, +CTSPillarNetworkA,715,715,715,1971-12-17,71.20000000000023,71.199486,2015-01-01 00:11:55,bin715,75, +CTSPillarNetworkA,716,716,716,1971-12-18,71.30000000000022,71.299484,2015-01-01 00:11:56,bin716,35, +CTSPillarNetworkA,717,717,717,1971-12-19,71.40000000000022,71.39948,2015-01-01 00:11:57,bin717,75, +CTSPillarNetworkA,718,718,718,1971-12-20,71.50000000000021,71.49948,2015-01-01 00:11:58,bin718,35, +CTSPillarNetworkA,719,719,719,1971-12-21,71.60000000000021,71.59948,2015-01-01 00:11:59,bin719,75, +CTSPillarNetworkA,720,720,720,1971-12-22,71.7000000000002,71.69948,2015-01-01 00:12:00,bin720,35, +CTSPillarNetworkA,721,721,721,1971-12-23,71.8000000000002,71.79948,2015-01-01 00:12:01,bin721,75, +CTSPillarNetworkA,722,722,722,1971-12-24,71.90000000000019,71.899475,2015-01-01 00:12:02,bin722,35, +CTSPillarNetworkA,723,723,723,1971-12-25,72.00000000000018,71.99947,2015-01-01 00:12:03,bin723,75, +CTSPillarNetworkA,724,724,724,1971-12-26,72.10000000000018,72.09947,2015-01-01 00:12:04,bin724,35, +CTSPillarNetworkA,725,725,725,1971-12-27,72.20000000000017,72.19947,2015-01-01 00:12:05,bin725,75, +CTSPillarNetworkA,726,726,726,1971-12-28,72.30000000000017,72.29947,2015-01-01 00:12:06,bin726,35, +CTSPillarNetworkA,727,727,727,1971-12-29,72.40000000000016,72.39947,2015-01-01 00:12:07,bin727,75, +CTSPillarNetworkA,728,728,728,1971-12-30,72.50000000000016,72.499466,2015-01-01 00:12:08,bin728,35, +CTSPillarNetworkA,729,729,729,1971-12-31,72.60000000000015,72.599464,2015-01-01 00:12:09,bin729,75, +CTSPillarNetworkA,730,730,730,1972-01-01,72.70000000000014,72.69946,2015-01-01 00:12:10,bin730,35, +CTSPillarNetworkA,731,731,731,1972-01-02,72.80000000000014,72.79946,2015-01-01 00:12:11,bin731,75, +CTSPillarNetworkA,732,732,732,1972-01-03,72.90000000000013,72.89946,2015-01-01 00:12:12,bin732,35, +CTSPillarNetworkA,733,733,733,1972-01-04,73.00000000000013,72.99946,2015-01-01 00:12:13,bin733,75, +CTSPillarNetworkA,734,734,734,1972-01-05,73.10000000000012,73.09946,2015-01-01 00:12:14,bin734,35, +CTSPillarNetworkA,735,735,735,1972-01-06,73.20000000000012,73.199455,2015-01-01 00:12:15,bin735,75, +CTSPillarNetworkA,736,736,736,1972-01-07,73.30000000000011,73.29945,2015-01-01 00:12:16,bin736,35, +CTSPillarNetworkA,737,737,737,1972-01-08,73.4000000000001,73.39945,2015-01-01 00:12:17,bin737,75, +CTSPillarNetworkA,738,738,738,1972-01-09,73.5000000000001,73.49945,2015-01-01 00:12:18,bin738,35, +CTSPillarNetworkA,739,739,739,1972-01-10,73.6000000000001,73.59945,2015-01-01 00:12:19,bin739,75, +CTSPillarNetworkA,740,740,740,1972-01-11,73.70000000000009,73.69945,2015-01-01 00:12:20,bin740,35, +CTSPillarNetworkA,741,741,741,1972-01-12,73.80000000000008,73.799446,2015-01-01 00:12:21,bin741,75, +CTSPillarNetworkA,742,742,742,1972-01-13,73.90000000000008,73.899445,2015-01-01 00:12:22,bin742,35, +CTSPillarNetworkA,743,743,743,1972-01-14,74.00000000000007,73.99944,2015-01-01 00:12:23,bin743,75, +CTSPillarNetworkA,744,744,744,1972-01-15,74.10000000000007,74.09944,2015-01-01 00:12:24,bin744,35, +CTSPillarNetworkA,745,745,745,1972-01-16,74.20000000000006,74.19944,2015-01-01 00:12:25,bin745,75, +CTSPillarNetworkA,746,746,746,1972-01-17,74.30000000000005,74.29944,2015-01-01 00:12:26,bin746,35, +CTSPillarNetworkA,747,747,747,1972-01-18,74.40000000000005,74.39944,2015-01-01 00:12:27,bin747,75, +CTSPillarNetworkA,748,748,748,1972-01-19,74.50000000000004,74.499435,2015-01-01 00:12:28,bin748,35, +CTSPillarNetworkA,749,749,749,1972-01-20,74.60000000000004,74.599434,2015-01-01 00:12:29,bin749,75, +CTSPillarNetworkA,750,750,750,1972-01-21,74.70000000000003,74.69943,2015-01-01 00:12:30,bin750,35, +CTSPillarNetworkA,751,751,751,1972-01-22,74.80000000000003,74.79943,2015-01-01 00:12:31,bin751,75, +CTSPillarNetworkA,752,752,752,1972-01-23,74.90000000000002,74.89943,2015-01-01 00:12:32,bin752,35, +CTSPillarNetworkA,753,753,753,1972-01-24,75.00000000000001,74.99943,2015-01-01 00:12:33,bin753,75, +CTSPillarNetworkA,754,754,754,1972-01-25,75.10000000000001,75.09943,2015-01-01 00:12:34,bin754,35, +CTSPillarNetworkA,755,755,755,1972-01-26,75.2,75.199425,2015-01-01 00:12:35,bin755,75, +CTSPillarNetworkA,756,756,756,1972-01-27,75.3,75.29942,2015-01-01 00:12:36,bin756,35, +CTSPillarNetworkA,757,757,757,1972-01-28,75.39999999999999,75.39942,2015-01-01 00:12:37,bin757,75, +CTSPillarNetworkA,758,758,758,1972-01-29,75.49999999999999,75.49942,2015-01-01 00:12:38,bin758,35, +CTSPillarNetworkA,759,759,759,1972-01-30,75.59999999999998,75.59942,2015-01-01 00:12:39,bin759,75, +CTSPillarNetworkA,760,760,760,1972-01-31,75.69999999999997,75.69942,2015-01-01 00:12:40,bin760,35, +CTSPillarNetworkA,761,761,761,1972-02-01,75.79999999999997,75.799416,2015-01-01 00:12:41,bin761,75, +CTSPillarNetworkA,762,762,762,1972-02-02,75.89999999999996,75.899414,2015-01-01 00:12:42,bin762,35, +CTSPillarNetworkA,763,763,763,1972-02-03,75.99999999999996,75.99941,2015-01-01 00:12:43,bin763,75, +CTSPillarNetworkA,764,764,764,1972-02-04,76.09999999999995,76.09941,2015-01-01 00:12:44,bin764,35, +CTSPillarNetworkA,765,765,765,1972-02-05,76.19999999999995,76.19941,2015-01-01 00:12:45,bin765,75, +CTSPillarNetworkA,766,766,766,1972-02-06,76.29999999999994,76.29941,2015-01-01 00:12:46,bin766,35, +CTSPillarNetworkA,767,767,767,1972-02-07,76.39999999999993,76.39941,2015-01-01 00:12:47,bin767,75, +CTSPillarNetworkA,768,768,768,1972-02-08,76.49999999999993,76.499405,2015-01-01 00:12:48,bin768,35, +CTSPillarNetworkA,769,769,769,1972-02-09,76.59999999999992,76.5994,2015-01-01 00:12:49,bin769,75, +CTSPillarNetworkA,770,770,770,1972-02-10,76.69999999999992,76.6994,2015-01-01 00:12:50,bin770,35, +CTSPillarNetworkA,771,771,771,1972-02-11,76.79999999999991,76.7994,2015-01-01 00:12:51,bin771,75, +CTSPillarNetworkA,772,772,772,1972-02-12,76.8999999999999,76.8994,2015-01-01 00:12:52,bin772,35, +CTSPillarNetworkA,773,773,773,1972-02-13,76.9999999999999,76.9994,2015-01-01 00:12:53,bin773,75, +CTSPillarNetworkA,774,774,774,1972-02-14,77.0999999999999,77.099396,2015-01-01 00:12:54,bin774,35, +CTSPillarNetworkA,775,775,775,1972-02-15,77.19999999999989,77.199394,2015-01-01 00:12:55,bin775,75, +CTSPillarNetworkA,776,776,776,1972-02-16,77.29999999999988,77.29939,2015-01-01 00:12:56,bin776,35, +CTSPillarNetworkA,777,777,777,1972-02-17,77.39999999999988,77.39939,2015-01-01 00:12:57,bin777,75, +CTSPillarNetworkA,778,778,778,1972-02-18,77.49999999999987,77.49939,2015-01-01 00:12:58,bin778,35, +CTSPillarNetworkA,779,779,779,1972-02-19,77.59999999999987,77.59939,2015-01-01 00:12:59,bin779,75, +CTSPillarNetworkA,780,780,780,1972-02-20,77.69999999999986,77.69939,2015-01-01 00:13:00,bin780,35, +CTSPillarNetworkA,781,781,781,1972-02-21,77.79999999999986,77.799385,2015-01-01 00:13:01,bin781,75, +CTSPillarNetworkA,782,782,782,1972-02-22,77.89999999999985,77.89938,2015-01-01 00:13:02,bin782,35, +CTSPillarNetworkA,783,783,783,1972-02-23,77.99999999999984,77.99938,2015-01-01 00:13:03,bin783,75, +CTSPillarNetworkA,784,784,784,1972-02-24,78.09999999999984,78.09938,2015-01-01 00:13:04,bin784,35, +CTSPillarNetworkA,785,785,785,1972-02-25,78.19999999999983,78.19938,2015-01-01 00:13:05,bin785,75, +CTSPillarNetworkA,786,786,786,1972-02-26,78.29999999999983,78.29938,2015-01-01 00:13:06,bin786,35, +CTSPillarNetworkA,787,787,787,1972-02-27,78.39999999999982,78.399376,2015-01-01 00:13:07,bin787,75, +CTSPillarNetworkA,788,788,788,1972-02-28,78.49999999999982,78.499374,2015-01-01 00:13:08,bin788,35, +CTSPillarNetworkA,789,789,789,1972-02-29,78.59999999999981,78.59937,2015-01-01 00:13:09,bin789,75, +CTSPillarNetworkA,790,790,790,1972-03-01,78.6999999999998,78.69937,2015-01-01 00:13:10,bin790,35, +CTSPillarNetworkA,791,791,791,1972-03-02,78.7999999999998,78.79937,2015-01-01 00:13:11,bin791,75, +CTSPillarNetworkA,792,792,792,1972-03-03,78.89999999999979,78.89937,2015-01-01 00:13:12,bin792,35, +CTSPillarNetworkA,793,793,793,1972-03-04,78.99999999999979,78.99937,2015-01-01 00:13:13,bin793,75, +CTSPillarNetworkA,794,794,794,1972-03-05,79.09999999999978,79.099365,2015-01-01 00:13:14,bin794,35, +CTSPillarNetworkA,795,795,795,1972-03-06,79.19999999999978,79.19936,2015-01-01 00:13:15,bin795,75, +CTSPillarNetworkA,796,796,796,1972-03-07,79.29999999999977,79.29936,2015-01-01 00:13:16,bin796,35, +CTSPillarNetworkA,797,797,797,1972-03-08,79.39999999999976,79.39936,2015-01-01 00:13:17,bin797,75, +CTSPillarNetworkA,798,798,798,1972-03-09,79.49999999999976,79.49936,2015-01-01 00:13:18,bin798,35, +CTSPillarNetworkA,799,799,799,1972-03-10,79.59999999999975,79.59936,2015-01-01 00:13:19,bin799,75, +CTSPillarNetworkA,800,800,800,1972-03-11,79.69999999999975,79.699356,2015-01-01 00:13:20,bin800,35, +CTSPillarNetworkA,801,801,801,1972-03-12,79.79999999999974,79.799355,2015-01-01 00:13:21,bin801,75, +CTSPillarNetworkA,802,802,802,1972-03-13,79.89999999999974,79.89935,2015-01-01 00:13:22,bin802,35, +CTSPillarNetworkA,803,803,803,1972-03-14,79.99999999999973,79.99935,2015-01-01 00:13:23,bin803,75, +CTSPillarNetworkA,804,804,804,1972-03-15,80.09999999999972,80.09935,2015-01-01 00:13:24,bin804,35, +CTSPillarNetworkA,805,805,805,1972-03-16,80.19999999999972,80.19935,2015-01-01 00:13:25,bin805,75, +CTSPillarNetworkA,806,806,806,1972-03-17,80.29999999999971,80.29935,2015-01-01 00:13:26,bin806,35, +CTSPillarNetworkA,807,807,807,1972-03-18,80.39999999999971,80.399345,2015-01-01 00:13:27,bin807,75, +CTSPillarNetworkA,808,808,808,1972-03-19,80.4999999999997,80.499344,2015-01-01 00:13:28,bin808,35, +CTSPillarNetworkA,809,809,809,1972-03-20,80.5999999999997,80.59934,2015-01-01 00:13:29,bin809,75, +CTSPillarNetworkA,810,810,810,1972-03-21,80.69999999999969,80.69934,2015-01-01 00:13:30,bin810,35, +CTSPillarNetworkA,811,811,811,1972-03-22,80.79999999999968,80.79934,2015-01-01 00:13:31,bin811,75, +CTSPillarNetworkA,812,812,812,1972-03-23,80.89999999999968,80.89934,2015-01-01 00:13:32,bin812,35, +CTSPillarNetworkA,813,813,813,1972-03-24,80.99999999999967,80.99934,2015-01-01 00:13:33,bin813,75, +CTSPillarNetworkA,814,814,814,1972-03-25,81.09999999999967,81.099335,2015-01-01 00:13:34,bin814,35, +CTSPillarNetworkA,815,815,815,1972-03-26,81.19999999999966,81.19933,2015-01-01 00:13:35,bin815,75, +CTSPillarNetworkA,816,816,816,1972-03-27,81.29999999999966,81.29933,2015-01-01 00:13:36,bin816,35, +CTSPillarNetworkA,817,817,817,1972-03-28,81.39999999999965,81.39933,2015-01-01 00:13:37,bin817,75, +CTSPillarNetworkA,818,818,818,1972-03-29,81.49999999999964,81.49933,2015-01-01 00:13:38,bin818,35, +CTSPillarNetworkA,819,819,819,1972-03-30,81.59999999999964,81.59933,2015-01-01 00:13:39,bin819,75, +CTSPillarNetworkA,820,820,820,1972-03-31,81.69999999999963,81.699326,2015-01-01 00:13:40,bin820,35, +CTSPillarNetworkA,821,821,821,1972-04-01,81.79999999999963,81.799324,2015-01-01 00:13:41,bin821,75, +CTSPillarNetworkA,822,822,822,1972-04-02,81.89999999999962,81.89932,2015-01-01 00:13:42,bin822,35, +CTSPillarNetworkA,823,823,823,1972-04-03,81.99999999999962,81.99932,2015-01-01 00:13:43,bin823,75, +CTSPillarNetworkA,824,824,824,1972-04-04,82.09999999999961,82.09932,2015-01-01 00:13:44,bin824,35, +CTSPillarNetworkA,825,825,825,1972-04-05,82.1999999999996,82.19932,2015-01-01 00:13:45,bin825,75, +CTSPillarNetworkA,826,826,826,1972-04-06,82.2999999999996,82.29932,2015-01-01 00:13:46,bin826,35, +CTSPillarNetworkA,827,827,827,1972-04-07,82.3999999999996,82.399315,2015-01-01 00:13:47,bin827,75, +CTSPillarNetworkA,828,828,828,1972-04-08,82.49999999999959,82.49931,2015-01-01 00:13:48,bin828,35, +CTSPillarNetworkA,829,829,829,1972-04-09,82.59999999999958,82.59931,2015-01-01 00:13:49,bin829,75, +CTSPillarNetworkA,830,830,830,1972-04-10,82.69999999999958,82.69931,2015-01-01 00:13:50,bin830,35, +CTSPillarNetworkA,831,831,831,1972-04-11,82.79999999999957,82.79931,2015-01-01 00:13:51,bin831,75, +CTSPillarNetworkA,832,832,832,1972-04-12,82.89999999999957,82.89931,2015-01-01 00:13:52,bin832,35, +CTSPillarNetworkA,833,833,833,1972-04-13,82.99999999999956,82.999306,2015-01-01 00:13:53,bin833,75, +CTSPillarNetworkA,834,834,834,1972-04-14,83.09999999999955,83.099304,2015-01-01 00:13:54,bin834,35, +CTSPillarNetworkA,835,835,835,1972-04-15,83.19999999999955,83.1993,2015-01-01 00:13:55,bin835,75, +CTSPillarNetworkA,836,836,836,1972-04-16,83.29999999999954,83.2993,2015-01-01 00:13:56,bin836,35, +CTSPillarNetworkA,837,837,837,1972-04-17,83.39999999999954,83.3993,2015-01-01 00:13:57,bin837,75, +CTSPillarNetworkA,838,838,838,1972-04-18,83.49999999999953,83.4993,2015-01-01 00:13:58,bin838,35, +CTSPillarNetworkA,839,839,839,1972-04-19,83.59999999999953,83.5993,2015-01-01 00:13:59,bin839,75, +CTSPillarNetworkA,840,840,840,1972-04-20,83.69999999999952,83.699295,2015-01-01 00:14:00,bin840,35, +CTSPillarNetworkA,841,841,841,1972-04-21,83.79999999999951,83.79929,2015-01-01 00:14:01,bin841,75, +CTSPillarNetworkA,842,842,842,1972-04-22,83.89999999999951,83.89929,2015-01-01 00:14:02,bin842,35, +CTSPillarNetworkA,843,843,843,1972-04-23,83.9999999999995,83.99929,2015-01-01 00:14:03,bin843,75, +CTSPillarNetworkA,844,844,844,1972-04-24,84.0999999999995,84.09929,2015-01-01 00:14:04,bin844,35, +CTSPillarNetworkA,845,845,845,1972-04-25,84.19999999999949,84.19929,2015-01-01 00:14:05,bin845,75, +CTSPillarNetworkA,846,846,846,1972-04-26,84.29999999999949,84.299286,2015-01-01 00:14:06,bin846,35, +CTSPillarNetworkA,847,847,847,1972-04-27,84.39999999999948,84.399284,2015-01-01 00:14:07,bin847,75, +CTSPillarNetworkA,848,848,848,1972-04-28,84.49999999999947,84.49928,2015-01-01 00:14:08,bin848,35, +CTSPillarNetworkA,849,849,849,1972-04-29,84.59999999999947,84.59928,2015-01-01 00:14:09,bin849,75, +CTSPillarNetworkA,850,850,850,1972-04-30,84.69999999999946,84.69928,2015-01-01 00:14:10,bin850,35, +CTSPillarNetworkA,851,851,851,1972-05-01,84.79999999999946,84.79928,2015-01-01 00:14:11,bin851,75, +CTSPillarNetworkA,852,852,852,1972-05-02,84.89999999999945,84.89928,2015-01-01 00:14:12,bin852,35, +CTSPillarNetworkA,853,853,853,1972-05-03,84.99999999999945,84.999275,2015-01-01 00:14:13,bin853,75, +CTSPillarNetworkA,854,854,854,1972-05-04,85.09999999999944,85.09927,2015-01-01 00:14:14,bin854,35, +CTSPillarNetworkA,855,855,855,1972-05-05,85.19999999999943,85.19927,2015-01-01 00:14:15,bin855,75, +CTSPillarNetworkA,856,856,856,1972-05-06,85.29999999999943,85.29927,2015-01-01 00:14:16,bin856,35, +CTSPillarNetworkA,857,857,857,1972-05-07,85.39999999999942,85.39927,2015-01-01 00:14:17,bin857,75, +CTSPillarNetworkA,858,858,858,1972-05-08,85.49999999999942,85.49927,2015-01-01 00:14:18,bin858,35, +CTSPillarNetworkA,859,859,859,1972-05-09,85.59999999999941,85.599266,2015-01-01 00:14:19,bin859,75, +CTSPillarNetworkA,860,860,860,1972-05-10,85.6999999999994,85.699265,2015-01-01 00:14:20,bin860,35, +CTSPillarNetworkA,861,861,861,1972-05-11,85.7999999999994,85.79926,2015-01-01 00:14:21,bin861,75, +CTSPillarNetworkA,862,862,862,1972-05-12,85.8999999999994,85.89926,2015-01-01 00:14:22,bin862,35, +CTSPillarNetworkA,863,863,863,1972-05-13,85.99999999999939,85.99926,2015-01-01 00:14:23,bin863,75, +CTSPillarNetworkA,864,864,864,1972-05-14,86.09999999999938,86.09926,2015-01-01 00:14:24,bin864,35, +CTSPillarNetworkA,865,865,865,1972-05-15,86.19999999999938,86.19926,2015-01-01 00:14:25,bin865,75, +CTSPillarNetworkA,866,866,866,1972-05-16,86.29999999999937,86.299255,2015-01-01 00:14:26,bin866,35, +CTSPillarNetworkA,867,867,867,1972-05-17,86.39999999999937,86.399254,2015-01-01 00:14:27,bin867,75, +CTSPillarNetworkA,868,868,868,1972-05-18,86.49999999999936,86.49925,2015-01-01 00:14:28,bin868,35, +CTSPillarNetworkA,869,869,869,1972-05-19,86.59999999999935,86.59925,2015-01-01 00:14:29,bin869,75, +CTSPillarNetworkA,870,870,870,1972-05-20,86.69999999999935,86.69925,2015-01-01 00:14:30,bin870,35, +CTSPillarNetworkA,871,871,871,1972-05-21,86.79999999999934,86.79925,2015-01-01 00:14:31,bin871,75, +CTSPillarNetworkA,872,872,872,1972-05-22,86.89999999999934,86.89925,2015-01-01 00:14:32,bin872,35, +CTSPillarNetworkA,873,873,873,1972-05-23,86.99999999999933,86.999245,2015-01-01 00:14:33,bin873,75, +CTSPillarNetworkA,874,874,874,1972-05-24,87.09999999999933,87.09924,2015-01-01 00:14:34,bin874,35, +CTSPillarNetworkA,875,875,875,1972-05-25,87.19999999999932,87.19924,2015-01-01 00:14:35,bin875,75, +CTSPillarNetworkA,876,876,876,1972-05-26,87.29999999999932,87.29924,2015-01-01 00:14:36,bin876,35, +CTSPillarNetworkA,877,877,877,1972-05-27,87.39999999999931,87.39924,2015-01-01 00:14:37,bin877,75, +CTSPillarNetworkA,878,878,878,1972-05-28,87.4999999999993,87.49924,2015-01-01 00:14:38,bin878,35, +CTSPillarNetworkA,879,879,879,1972-05-29,87.5999999999993,87.599236,2015-01-01 00:14:39,bin879,75, +CTSPillarNetworkA,880,880,880,1972-05-30,87.69999999999929,87.699234,2015-01-01 00:14:40,bin880,35, +CTSPillarNetworkA,881,881,881,1972-05-31,87.79999999999929,87.79923,2015-01-01 00:14:41,bin881,75, +CTSPillarNetworkA,882,882,882,1972-06-01,87.89999999999928,87.89923,2015-01-01 00:14:42,bin882,35, +CTSPillarNetworkA,883,883,883,1972-06-02,87.99999999999928,87.99923,2015-01-01 00:14:43,bin883,75, +CTSPillarNetworkA,884,884,884,1972-06-03,88.09999999999927,88.09923,2015-01-01 00:14:44,bin884,35, +CTSPillarNetworkA,885,885,885,1972-06-04,88.19999999999926,88.19923,2015-01-01 00:14:45,bin885,75, +CTSPillarNetworkA,886,886,886,1972-06-05,88.29999999999926,88.299225,2015-01-01 00:14:46,bin886,35, +CTSPillarNetworkA,887,887,887,1972-06-06,88.39999999999925,88.39922,2015-01-01 00:14:47,bin887,75, +CTSPillarNetworkA,888,888,888,1972-06-07,88.49999999999925,88.49922,2015-01-01 00:14:48,bin888,35, +CTSPillarNetworkA,889,889,889,1972-06-08,88.59999999999924,88.59922,2015-01-01 00:14:49,bin889,75, +CTSPillarNetworkA,890,890,890,1972-06-09,88.69999999999924,88.69922,2015-01-01 00:14:50,bin890,35, +CTSPillarNetworkA,891,891,891,1972-06-10,88.79999999999923,88.79922,2015-01-01 00:14:51,bin891,75, +CTSPillarNetworkA,892,892,892,1972-06-11,88.89999999999922,88.899216,2015-01-01 00:14:52,bin892,35, +CTSPillarNetworkA,893,893,893,1972-06-12,88.99999999999922,88.999214,2015-01-01 00:14:53,bin893,75, +CTSPillarNetworkA,894,894,894,1972-06-13,89.09999999999921,89.09921,2015-01-01 00:14:54,bin894,35, +CTSPillarNetworkA,895,895,895,1972-06-14,89.1999999999992,89.19921,2015-01-01 00:14:55,bin895,75, +CTSPillarNetworkA,896,896,896,1972-06-15,89.2999999999992,89.29921,2015-01-01 00:14:56,bin896,35, +CTSPillarNetworkA,897,897,897,1972-06-16,89.3999999999992,89.39921,2015-01-01 00:14:57,bin897,75, +CTSPillarNetworkA,898,898,898,1972-06-17,89.49999999999919,89.49921,2015-01-01 00:14:58,bin898,35, +CTSPillarNetworkA,899,899,899,1972-06-18,89.59999999999918,89.599205,2015-01-01 00:14:59,bin899,75, +CTSPillarNetworkA,900,900,900,1972-06-19,89.69999999999918,89.6992,2015-01-01 00:15:00,bin900,35, +CTSPillarNetworkA,901,901,901,1972-06-20,89.79999999999917,89.7992,2015-01-01 00:15:01,bin901,75, +CTSPillarNetworkA,902,902,902,1972-06-21,89.89999999999917,89.8992,2015-01-01 00:15:02,bin902,35, +CTSPillarNetworkA,903,903,903,1972-06-22,89.99999999999916,89.9992,2015-01-01 00:15:03,bin903,75, +CTSPillarNetworkA,904,904,904,1972-06-23,90.09999999999916,90.0992,2015-01-01 00:15:04,bin904,35, +CTSPillarNetworkA,905,905,905,1972-06-24,90.19999999999915,90.199196,2015-01-01 00:15:05,bin905,75, +CTSPillarNetworkA,906,906,906,1972-06-25,90.29999999999914,90.299194,2015-01-01 00:15:06,bin906,35, +CTSPillarNetworkA,907,907,907,1972-06-26,90.39999999999914,90.39919,2015-01-01 00:15:07,bin907,75, +CTSPillarNetworkA,908,908,908,1972-06-27,90.49999999999913,90.49919,2015-01-01 00:15:08,bin908,35, +CTSPillarNetworkA,909,909,909,1972-06-28,90.59999999999913,90.59919,2015-01-01 00:15:09,bin909,75, +CTSPillarNetworkA,910,910,910,1972-06-29,90.69999999999912,90.69919,2015-01-01 00:15:10,bin910,35, +CTSPillarNetworkA,911,911,911,1972-06-30,90.79999999999912,90.79919,2015-01-01 00:15:11,bin911,75, +CTSPillarNetworkA,912,912,912,1972-07-01,90.89999999999911,90.899185,2015-01-01 00:15:12,bin912,35, +CTSPillarNetworkA,913,913,913,1972-07-02,90.9999999999991,90.99918,2015-01-01 00:15:13,bin913,75, +CTSPillarNetworkA,914,914,914,1972-07-03,91.0999999999991,91.09918,2015-01-01 00:15:14,bin914,35, +CTSPillarNetworkA,915,915,915,1972-07-04,91.1999999999991,91.19918,2015-01-01 00:15:15,bin915,75, +CTSPillarNetworkA,916,916,916,1972-07-05,91.29999999999909,91.29918,2015-01-01 00:15:16,bin916,35, +CTSPillarNetworkA,917,917,917,1972-07-06,91.39999999999908,91.39918,2015-01-01 00:15:17,bin917,75, +CTSPillarNetworkA,918,918,918,1972-07-07,91.49999999999908,91.499176,2015-01-01 00:15:18,bin918,35, +CTSPillarNetworkA,919,919,919,1972-07-08,91.59999999999907,91.599174,2015-01-01 00:15:19,bin919,75, +CTSPillarNetworkA,920,920,920,1972-07-09,91.69999999999906,91.69917,2015-01-01 00:15:20,bin920,35, +CTSPillarNetworkA,921,921,921,1972-07-10,91.79999999999906,91.79917,2015-01-01 00:15:21,bin921,75, +CTSPillarNetworkA,922,922,922,1972-07-11,91.89999999999905,91.89917,2015-01-01 00:15:22,bin922,35, +CTSPillarNetworkA,923,923,923,1972-07-12,91.99999999999905,91.99917,2015-01-01 00:15:23,bin923,75, +CTSPillarNetworkA,924,924,924,1972-07-13,92.09999999999904,92.09917,2015-01-01 00:15:24,bin924,35, +CTSPillarNetworkA,925,925,925,1972-07-14,92.19999999999904,92.199165,2015-01-01 00:15:25,bin925,75, +CTSPillarNetworkA,926,926,926,1972-07-15,92.29999999999903,92.299164,2015-01-01 00:15:26,bin926,35, +CTSPillarNetworkA,927,927,927,1972-07-16,92.39999999999903,92.39916,2015-01-01 00:15:27,bin927,75, +CTSPillarNetworkA,928,928,928,1972-07-17,92.49999999999902,92.49916,2015-01-01 00:15:28,bin928,35, +CTSPillarNetworkA,929,929,929,1972-07-18,92.59999999999901,92.59916,2015-01-01 00:15:29,bin929,75, +CTSPillarNetworkA,930,930,930,1972-07-19,92.69999999999901,92.69916,2015-01-01 00:15:30,bin930,35, +CTSPillarNetworkA,931,931,931,1972-07-20,92.799999999999,92.79916,2015-01-01 00:15:31,bin931,75, +CTSPillarNetworkA,932,932,932,1972-07-21,92.899999999999,92.899155,2015-01-01 00:15:32,bin932,35, +CTSPillarNetworkA,933,933,933,1972-07-22,92.99999999999899,92.99915,2015-01-01 00:15:33,bin933,75, +CTSPillarNetworkA,934,934,934,1972-07-23,93.09999999999899,93.09915,2015-01-01 00:15:34,bin934,35, +CTSPillarNetworkA,935,935,935,1972-07-24,93.19999999999898,93.19915,2015-01-01 00:15:35,bin935,75, +CTSPillarNetworkA,936,936,936,1972-07-25,93.29999999999897,93.29915,2015-01-01 00:15:36,bin936,35, +CTSPillarNetworkA,937,937,937,1972-07-26,93.39999999999897,93.39915,2015-01-01 00:15:37,bin937,75, +CTSPillarNetworkA,938,938,938,1972-07-27,93.49999999999896,93.499146,2015-01-01 00:15:38,bin938,35, +CTSPillarNetworkA,939,939,939,1972-07-28,93.59999999999896,93.599144,2015-01-01 00:15:39,bin939,75, +CTSPillarNetworkA,940,940,940,1972-07-29,93.69999999999895,93.69914,2015-01-01 00:15:40,bin940,35, +CTSPillarNetworkA,941,941,941,1972-07-30,93.79999999999895,93.79914,2015-01-01 00:15:41,bin941,75, +CTSPillarNetworkA,942,942,942,1972-07-31,93.89999999999894,93.89914,2015-01-01 00:15:42,bin942,35, +CTSPillarNetworkA,943,943,943,1972-08-01,93.99999999999893,93.99914,2015-01-01 00:15:43,bin943,75, +CTSPillarNetworkA,944,944,944,1972-08-02,94.09999999999893,94.09914,2015-01-01 00:15:44,bin944,35, +CTSPillarNetworkA,945,945,945,1972-08-03,94.19999999999892,94.199135,2015-01-01 00:15:45,bin945,75, +CTSPillarNetworkA,946,946,946,1972-08-04,94.29999999999892,94.29913,2015-01-01 00:15:46,bin946,35, +CTSPillarNetworkA,947,947,947,1972-08-05,94.39999999999891,94.39913,2015-01-01 00:15:47,bin947,75, +CTSPillarNetworkA,948,948,948,1972-08-06,94.4999999999989,94.49913,2015-01-01 00:15:48,bin948,35, +CTSPillarNetworkA,949,949,949,1972-08-07,94.5999999999989,94.59913,2015-01-01 00:15:49,bin949,75, +CTSPillarNetworkA,950,950,950,1972-08-08,94.6999999999989,94.69913,2015-01-01 00:15:50,bin950,35, +CTSPillarNetworkA,951,951,951,1972-08-09,94.79999999999889,94.799126,2015-01-01 00:15:51,bin951,75, +CTSPillarNetworkA,952,952,952,1972-08-10,94.89999999999888,94.899124,2015-01-01 00:15:52,bin952,35, +CTSPillarNetworkA,953,953,953,1972-08-11,94.99999999999888,94.99912,2015-01-01 00:15:53,bin953,75, +CTSPillarNetworkA,954,954,954,1972-08-12,95.09999999999887,95.09912,2015-01-01 00:15:54,bin954,35, +CTSPillarNetworkA,955,955,955,1972-08-13,95.19999999999887,95.19912,2015-01-01 00:15:55,bin955,75, +CTSPillarNetworkA,956,956,956,1972-08-14,95.29999999999886,95.29912,2015-01-01 00:15:56,bin956,35, +CTSPillarNetworkA,957,957,957,1972-08-15,95.39999999999885,95.39912,2015-01-01 00:15:57,bin957,75, +CTSPillarNetworkA,958,958,958,1972-08-16,95.49999999999885,95.499115,2015-01-01 00:15:58,bin958,35, +CTSPillarNetworkA,959,959,959,1972-08-17,95.59999999999884,95.59911,2015-01-01 00:15:59,bin959,75, +CTSPillarNetworkA,960,960,960,1972-08-18,95.69999999999884,95.69911,2015-01-01 00:16:00,bin960,35, +CTSPillarNetworkA,961,961,961,1972-08-19,95.79999999999883,95.79911,2015-01-01 00:16:01,bin961,75, +CTSPillarNetworkA,962,962,962,1972-08-20,95.89999999999883,95.89911,2015-01-01 00:16:02,bin962,35, +CTSPillarNetworkA,963,963,963,1972-08-21,95.99999999999882,95.99911,2015-01-01 00:16:03,bin963,75, +CTSPillarNetworkA,964,964,964,1972-08-22,96.09999999999881,96.099106,2015-01-01 00:16:04,bin964,35, +CTSPillarNetworkA,965,965,965,1972-08-23,96.19999999999881,96.199104,2015-01-01 00:16:05,bin965,75, +CTSPillarNetworkA,966,966,966,1972-08-24,96.2999999999988,96.2991,2015-01-01 00:16:06,bin966,35, +CTSPillarNetworkA,967,967,967,1972-08-25,96.3999999999988,96.3991,2015-01-01 00:16:07,bin967,75, +CTSPillarNetworkA,968,968,968,1972-08-26,96.49999999999879,96.4991,2015-01-01 00:16:08,bin968,35, +CTSPillarNetworkA,969,969,969,1972-08-27,96.59999999999879,96.5991,2015-01-01 00:16:09,bin969,75, +CTSPillarNetworkA,970,970,970,1972-08-28,96.69999999999878,96.6991,2015-01-01 00:16:10,bin970,35, +CTSPillarNetworkA,971,971,971,1972-08-29,96.79999999999878,96.799095,2015-01-01 00:16:11,bin971,75, +CTSPillarNetworkA,972,972,972,1972-08-30,96.89999999999877,96.89909,2015-01-01 00:16:12,bin972,35, +CTSPillarNetworkA,973,973,973,1972-08-31,96.99999999999876,96.99909,2015-01-01 00:16:13,bin973,75, +CTSPillarNetworkA,974,974,974,1972-09-01,97.09999999999876,97.09909,2015-01-01 00:16:14,bin974,35, +CTSPillarNetworkA,975,975,975,1972-09-02,97.19999999999875,97.19909,2015-01-01 00:16:15,bin975,75, +CTSPillarNetworkA,976,976,976,1972-09-03,97.29999999999875,97.29909,2015-01-01 00:16:16,bin976,35, +CTSPillarNetworkA,977,977,977,1972-09-04,97.39999999999874,97.399086,2015-01-01 00:16:17,bin977,75, +CTSPillarNetworkA,978,978,978,1972-09-05,97.49999999999874,97.499084,2015-01-01 00:16:18,bin978,35, +CTSPillarNetworkA,979,979,979,1972-09-06,97.59999999999873,97.59908,2015-01-01 00:16:19,bin979,75, +CTSPillarNetworkA,980,980,980,1972-09-07,97.69999999999872,97.69908,2015-01-01 00:16:20,bin980,35, +CTSPillarNetworkA,981,981,981,1972-09-08,97.79999999999872,97.79908,2015-01-01 00:16:21,bin981,75, +CTSPillarNetworkA,982,982,982,1972-09-09,97.89999999999871,97.89908,2015-01-01 00:16:22,bin982,35, +CTSPillarNetworkA,983,983,983,1972-09-10,97.9999999999987,97.99908,2015-01-01 00:16:23,bin983,75, +CTSPillarNetworkA,984,984,984,1972-09-11,98.0999999999987,98.099075,2015-01-01 00:16:24,bin984,35, +CTSPillarNetworkA,985,985,985,1972-09-12,98.1999999999987,98.19907,2015-01-01 00:16:25,bin985,75, +CTSPillarNetworkA,986,986,986,1972-09-13,98.29999999999869,98.29907,2015-01-01 00:16:26,bin986,35, +CTSPillarNetworkA,987,987,987,1972-09-14,98.39999999999868,98.39907,2015-01-01 00:16:27,bin987,75, +CTSPillarNetworkA,988,988,988,1972-09-15,98.49999999999868,98.49907,2015-01-01 00:16:28,bin988,35, +CTSPillarNetworkA,989,989,989,1972-09-16,98.59999999999867,98.59907,2015-01-01 00:16:29,bin989,75, +CTSPillarNetworkA,990,990,990,1972-09-17,98.69999999999867,98.699066,2015-01-01 00:16:30,bin990,35, +CTSPillarNetworkA,991,991,991,1972-09-18,98.79999999999866,98.799065,2015-01-01 00:16:31,bin991,75, +CTSPillarNetworkA,992,992,992,1972-09-19,98.89999999999866,98.89906,2015-01-01 00:16:32,bin992,35, +CTSPillarNetworkA,993,993,993,1972-09-20,98.99999999999865,98.99906,2015-01-01 00:16:33,bin993,75, +CTSPillarNetworkA,994,994,994,1972-09-21,99.09999999999864,99.09906,2015-01-01 00:16:34,bin994,35, +CTSPillarNetworkA,995,995,995,1972-09-22,99.19999999999864,99.19906,2015-01-01 00:16:35,bin995,75, +CTSPillarNetworkA,996,996,996,1972-09-23,99.29999999999863,99.29906,2015-01-01 00:16:36,bin996,35, +CTSPillarNetworkA,997,997,997,1972-09-24,99.39999999999863,99.399055,2015-01-01 00:16:37,bin997,75, +CTSPillarNetworkA,998,998,998,1972-09-25,99.49999999999862,99.499054,2015-01-01 00:16:38,bin998,35, +CTSPillarNetworkA,999,999,999,1972-09-26,99.59999999999862,99.59905,2015-01-01 00:16:39,bin999,75, +CTSPillarNetworkA,1000,1000,1000,1972-09-27,99.69999999999861,99.69905,2015-01-01 00:16:40,bin1000,35, +CTSPillarNetworkA,1001,1001,1001,1972-09-28,99.7999999999986,99.79905,2015-01-01 00:16:41,bin1001,75, +CTSPillarNetworkA,1002,1002,1002,1972-09-29,99.8999999999986,99.89905,2015-01-01 00:16:42,bin1002,35, +CTSPillarNetworkA,1003,1003,1003,1972-09-30,99.9999999999986,99.99905,2015-01-01 00:16:43,bin1003,75, +CTSPillarNetworkA,1004,1004,1004,1972-10-01,100.09999999999859,100.099045,2015-01-01 00:16:44,bin1004,35, +CTSPillarNetworkA,1005,1005,1005,1972-10-02,100.19999999999858,100.19904,2015-01-01 00:16:45,bin1005,75, +CTSPillarNetworkA,1006,1006,1006,1972-10-03,100.29999999999858,100.29904,2015-01-01 00:16:46,bin1006,35, +CTSPillarNetworkA,1007,1007,1007,1972-10-04,100.39999999999857,100.39904,2015-01-01 00:16:47,bin1007,75, +CTSPillarNetworkA,1008,1008,1008,1972-10-05,100.49999999999856,100.49904,2015-01-01 00:16:48,bin1008,35, +CTSPillarNetworkA,1009,1009,1009,1972-10-06,100.59999999999856,100.59904,2015-01-01 00:16:49,bin1009,75, +CTSPillarNetworkA,1010,1010,1010,1972-10-07,100.69999999999855,100.699036,2015-01-01 00:16:50,bin1010,35, +CTSPillarNetworkA,1011,1011,1011,1972-10-08,100.79999999999855,100.799034,2015-01-01 00:16:51,bin1011,75, +CTSPillarNetworkA,1012,1012,1012,1972-10-09,100.89999999999854,100.89903,2015-01-01 00:16:52,bin1012,35, +CTSPillarNetworkA,1013,1013,1013,1972-10-10,100.99999999999854,100.99903,2015-01-01 00:16:53,bin1013,75, +CTSPillarNetworkA,1014,1014,1014,1972-10-11,101.09999999999853,101.09903,2015-01-01 00:16:54,bin1014,35, +CTSPillarNetworkA,1015,1015,1015,1972-10-12,101.19999999999852,101.19903,2015-01-01 00:16:55,bin1015,75, +CTSPillarNetworkA,1016,1016,1016,1972-10-13,101.29999999999852,101.29903,2015-01-01 00:16:56,bin1016,35, +CTSPillarNetworkA,1017,1017,1017,1972-10-14,101.39999999999851,101.399025,2015-01-01 00:16:57,bin1017,75, +CTSPillarNetworkA,1018,1018,1018,1972-10-15,101.49999999999851,101.49902,2015-01-01 00:16:58,bin1018,35, +CTSPillarNetworkA,1019,1019,1019,1972-10-16,101.5999999999985,101.59902,2015-01-01 00:16:59,bin1019,75, +CTSPillarNetworkA,1020,1020,1020,1972-10-17,101.6999999999985,101.69902,2015-01-01 00:17:00,bin1020,35, +CTSPillarNetworkA,1021,1021,1021,1972-10-18,101.79999999999849,101.79902,2015-01-01 00:17:01,bin1021,75, +CTSPillarNetworkA,1022,1022,1022,1972-10-19,101.89999999999849,101.89902,2015-01-01 00:17:02,bin1022,35, +CTSPillarNetworkA,1023,1023,1023,1972-10-20,101.99999999999848,101.999016,2015-01-01 00:17:03,bin1023,75, +CTSPillarNetworkA,1024,1024,1024,1972-10-21,102.09999999999847,102.099014,2015-01-01 00:17:04,bin1024,35, +CTSPillarNetworkA,1025,1025,1025,1972-10-22,102.19999999999847,102.19901,2015-01-01 00:17:05,bin1025,75, +CTSPillarNetworkA,1026,1026,1026,1972-10-23,102.29999999999846,102.29901,2015-01-01 00:17:06,bin1026,35, +CTSPillarNetworkA,1027,1027,1027,1972-10-24,102.39999999999846,102.39901,2015-01-01 00:17:07,bin1027,75, +CTSPillarNetworkA,1028,1028,1028,1972-10-25,102.49999999999845,102.49901,2015-01-01 00:17:08,bin1028,35, +CTSPillarNetworkA,1029,1029,1029,1972-10-26,102.59999999999845,102.59901,2015-01-01 00:17:09,bin1029,75, +CTSPillarNetworkA,1030,1030,1030,1972-10-27,102.69999999999844,102.699005,2015-01-01 00:17:10,bin1030,35, +CTSPillarNetworkA,1031,1031,1031,1972-10-28,102.79999999999843,102.799,2015-01-01 00:17:11,bin1031,75, +CTSPillarNetworkA,1032,1032,1032,1972-10-29,102.89999999999843,102.899,2015-01-01 00:17:12,bin1032,35, +CTSPillarNetworkA,1033,1033,1033,1972-10-30,102.99999999999842,102.999,2015-01-01 00:17:13,bin1033,75, +CTSPillarNetworkA,1034,1034,1034,1972-10-31,103.09999999999842,103.099,2015-01-01 00:17:14,bin1034,35, +CTSPillarNetworkA,1035,1035,1035,1972-11-01,103.19999999999841,103.199,2015-01-01 00:17:15,bin1035,75, +CTSPillarNetworkA,1036,1036,1036,1972-11-02,103.2999999999984,103.298996,2015-01-01 00:17:16,bin1036,35, +CTSPillarNetworkA,1037,1037,1037,1972-11-03,103.3999999999984,103.398994,2015-01-01 00:17:17,bin1037,75, +CTSPillarNetworkA,1038,1038,1038,1972-11-04,103.4999999999984,103.49899,2015-01-01 00:17:18,bin1038,35, +CTSPillarNetworkA,1039,1039,1039,1972-11-05,103.59999999999839,103.59899,2015-01-01 00:17:19,bin1039,75, +CTSPillarNetworkA,1040,1040,1040,1972-11-06,103.69999999999838,103.69899,2015-01-01 00:17:20,bin1040,35, +CTSPillarNetworkA,1041,1041,1041,1972-11-07,103.79999999999838,103.79899,2015-01-01 00:17:21,bin1041,75, +CTSPillarNetworkA,1042,1042,1042,1972-11-08,103.89999999999837,103.89899,2015-01-01 00:17:22,bin1042,35, +CTSPillarNetworkA,1043,1043,1043,1972-11-09,103.99999999999837,103.998985,2015-01-01 00:17:23,bin1043,75, +CTSPillarNetworkA,1044,1044,1044,1972-11-10,104.09999999999836,104.09898,2015-01-01 00:17:24,bin1044,35, +CTSPillarNetworkA,1045,1045,1045,1972-11-11,104.19999999999835,104.19898,2015-01-01 00:17:25,bin1045,75, +CTSPillarNetworkA,1046,1046,1046,1972-11-12,104.29999999999835,104.29898,2015-01-01 00:17:26,bin1046,35, +CTSPillarNetworkA,1047,1047,1047,1972-11-13,104.39999999999834,104.39898,2015-01-01 00:17:27,bin1047,75, +CTSPillarNetworkA,1048,1048,1048,1972-11-14,104.49999999999834,104.49898,2015-01-01 00:17:28,bin1048,35, +CTSPillarNetworkA,1049,1049,1049,1972-11-15,104.59999999999833,104.598976,2015-01-01 00:17:29,bin1049,75, +CTSPillarNetworkA,1050,1050,1050,1972-11-16,104.69999999999833,104.698975,2015-01-01 00:17:30,bin1050,35, +CTSPillarNetworkA,1051,1051,1051,1972-11-17,104.79999999999832,104.79897,2015-01-01 00:17:31,bin1051,75, +CTSPillarNetworkA,1052,1052,1052,1972-11-18,104.89999999999831,104.89897,2015-01-01 00:17:32,bin1052,35, +CTSPillarNetworkA,1053,1053,1053,1972-11-19,104.99999999999831,104.99897,2015-01-01 00:17:33,bin1053,75, +CTSPillarNetworkA,1054,1054,1054,1972-11-20,105.0999999999983,105.09897,2015-01-01 00:17:34,bin1054,35, +CTSPillarNetworkA,1055,1055,1055,1972-11-21,105.1999999999983,105.19897,2015-01-01 00:17:35,bin1055,75, +CTSPillarNetworkA,1056,1056,1056,1972-11-22,105.29999999999829,105.298965,2015-01-01 00:17:36,bin1056,35, +CTSPillarNetworkA,1057,1057,1057,1972-11-23,105.39999999999829,105.398964,2015-01-01 00:17:37,bin1057,75, +CTSPillarNetworkA,1058,1058,1058,1972-11-24,105.49999999999828,105.49896,2015-01-01 00:17:38,bin1058,35, +CTSPillarNetworkA,1059,1059,1059,1972-11-25,105.59999999999827,105.59896,2015-01-01 00:17:39,bin1059,75, +CTSPillarNetworkA,1060,1060,1060,1972-11-26,105.69999999999827,105.69896,2015-01-01 00:17:40,bin1060,35, +CTSPillarNetworkA,1061,1061,1061,1972-11-27,105.79999999999826,105.79896,2015-01-01 00:17:41,bin1061,75, +CTSPillarNetworkA,1062,1062,1062,1972-11-28,105.89999999999826,105.89896,2015-01-01 00:17:42,bin1062,35, +CTSPillarNetworkA,1063,1063,1063,1972-11-29,105.99999999999825,105.998955,2015-01-01 00:17:43,bin1063,75, +CTSPillarNetworkA,1064,1064,1064,1972-11-30,106.09999999999825,106.09895,2015-01-01 00:17:44,bin1064,35, +CTSPillarNetworkA,1065,1065,1065,1972-12-01,106.19999999999824,106.19895,2015-01-01 00:17:45,bin1065,75, +CTSPillarNetworkA,1066,1066,1066,1972-12-02,106.29999999999824,106.29895,2015-01-01 00:17:46,bin1066,35, +CTSPillarNetworkA,1067,1067,1067,1972-12-03,106.39999999999823,106.39895,2015-01-01 00:17:47,bin1067,75, +CTSPillarNetworkA,1068,1068,1068,1972-12-04,106.49999999999822,106.49895,2015-01-01 00:17:48,bin1068,35, +CTSPillarNetworkA,1069,1069,1069,1972-12-05,106.59999999999822,106.598946,2015-01-01 00:17:49,bin1069,75, +CTSPillarNetworkA,1070,1070,1070,1972-12-06,106.69999999999821,106.698944,2015-01-01 00:17:50,bin1070,35, +CTSPillarNetworkA,1071,1071,1071,1972-12-07,106.7999999999982,106.79894,2015-01-01 00:17:51,bin1071,75, +CTSPillarNetworkA,1072,1072,1072,1972-12-08,106.8999999999982,106.89894,2015-01-01 00:17:52,bin1072,35, +CTSPillarNetworkA,1073,1073,1073,1972-12-09,106.9999999999982,106.99894,2015-01-01 00:17:53,bin1073,75, +CTSPillarNetworkA,1074,1074,1074,1972-12-10,107.09999999999819,107.09894,2015-01-01 00:17:54,bin1074,35, +CTSPillarNetworkA,1075,1075,1075,1972-12-11,107.19999999999818,107.19894,2015-01-01 00:17:55,bin1075,75, +CTSPillarNetworkA,1076,1076,1076,1972-12-12,107.29999999999818,107.298935,2015-01-01 00:17:56,bin1076,35, +CTSPillarNetworkA,1077,1077,1077,1972-12-13,107.39999999999817,107.39893,2015-01-01 00:17:57,bin1077,75, +CTSPillarNetworkA,1078,1078,1078,1972-12-14,107.49999999999817,107.49893,2015-01-01 00:17:58,bin1078,35, +CTSPillarNetworkA,1079,1079,1079,1972-12-15,107.59999999999816,107.59893,2015-01-01 00:17:59,bin1079,75, +CTSPillarNetworkA,1080,1080,1080,1972-12-16,107.69999999999816,107.69893,2015-01-01 00:18:00,bin1080,35, +CTSPillarNetworkA,1081,1081,1081,1972-12-17,107.79999999999815,107.79893,2015-01-01 00:18:01,bin1081,75, +CTSPillarNetworkA,1082,1082,1082,1972-12-18,107.89999999999814,107.898926,2015-01-01 00:18:02,bin1082,35, +CTSPillarNetworkA,1083,1083,1083,1972-12-19,107.99999999999814,107.998924,2015-01-01 00:18:03,bin1083,75, +CTSPillarNetworkA,1084,1084,1084,1972-12-20,108.09999999999813,108.09892,2015-01-01 00:18:04,bin1084,35, +CTSPillarNetworkA,1085,1085,1085,1972-12-21,108.19999999999813,108.19892,2015-01-01 00:18:05,bin1085,75, +CTSPillarNetworkA,1086,1086,1086,1972-12-22,108.29999999999812,108.29892,2015-01-01 00:18:06,bin1086,35, +CTSPillarNetworkA,1087,1087,1087,1972-12-23,108.39999999999812,108.39892,2015-01-01 00:18:07,bin1087,75, +CTSPillarNetworkA,1088,1088,1088,1972-12-24,108.49999999999811,108.49892,2015-01-01 00:18:08,bin1088,35, +CTSPillarNetworkA,1089,1089,1089,1972-12-25,108.5999999999981,108.598915,2015-01-01 00:18:09,bin1089,75, +CTSPillarNetworkA,1090,1090,1090,1972-12-26,108.6999999999981,108.69891,2015-01-01 00:18:10,bin1090,35, +CTSPillarNetworkA,1091,1091,1091,1972-12-27,108.7999999999981,108.79891,2015-01-01 00:18:11,bin1091,75, +CTSPillarNetworkA,1092,1092,1092,1972-12-28,108.89999999999809,108.89891,2015-01-01 00:18:12,bin1092,35, +CTSPillarNetworkA,1093,1093,1093,1972-12-29,108.99999999999808,108.99891,2015-01-01 00:18:13,bin1093,75, +CTSPillarNetworkA,1094,1094,1094,1972-12-30,109.09999999999808,109.09891,2015-01-01 00:18:14,bin1094,35, +CTSPillarNetworkA,1095,1095,1095,1972-12-31,109.19999999999807,109.198906,2015-01-01 00:18:15,bin1095,75, +CTSPillarNetworkA,1096,1096,1096,1973-01-01,109.29999999999806,109.298904,2015-01-01 00:18:16,bin1096,35, +CTSPillarNetworkA,1097,1097,1097,1973-01-02,109.39999999999806,109.3989,2015-01-01 00:18:17,bin1097,75, +CTSPillarNetworkA,1098,1098,1098,1973-01-03,109.49999999999805,109.4989,2015-01-01 00:18:18,bin1098,35, +CTSPillarNetworkA,1099,1099,1099,1973-01-04,109.59999999999805,109.5989,2015-01-01 00:18:19,bin1099,75, +CTSPillarNetworkA,1100,1100,1100,1973-01-05,109.69999999999804,109.6989,2015-01-01 00:18:20,bin1100,35, +CTSPillarNetworkA,1101,1101,1101,1973-01-06,109.79999999999804,109.7989,2015-01-01 00:18:21,bin1101,75, +CTSPillarNetworkA,1102,1102,1102,1973-01-07,109.89999999999803,109.898895,2015-01-01 00:18:22,bin1102,35, +CTSPillarNetworkA,1103,1103,1103,1973-01-08,109.99999999999802,109.99889,2015-01-01 00:18:23,bin1103,75, +CTSPillarNetworkA,1104,1104,1104,1973-01-09,110.09999999999802,110.09889,2015-01-01 00:18:24,bin1104,35, +CTSPillarNetworkA,1105,1105,1105,1973-01-10,110.19999999999801,110.19889,2015-01-01 00:18:25,bin1105,75, +CTSPillarNetworkA,1106,1106,1106,1973-01-11,110.29999999999801,110.29889,2015-01-01 00:18:26,bin1106,35, +CTSPillarNetworkA,1107,1107,1107,1973-01-12,110.399999999998,110.39889,2015-01-01 00:18:27,bin1107,75, +CTSPillarNetworkA,1108,1108,1108,1973-01-13,110.499999999998,110.498886,2015-01-01 00:18:28,bin1108,35, +CTSPillarNetworkA,1109,1109,1109,1973-01-14,110.59999999999799,110.598885,2015-01-01 00:18:29,bin1109,75, +CTSPillarNetworkA,1110,1110,1110,1973-01-15,110.69999999999798,110.69888,2015-01-01 00:18:30,bin1110,35, +CTSPillarNetworkA,1111,1111,1111,1973-01-16,110.79999999999798,110.79888,2015-01-01 00:18:31,bin1111,75, +CTSPillarNetworkA,1112,1112,1112,1973-01-17,110.89999999999797,110.89888,2015-01-01 00:18:32,bin1112,35, +CTSPillarNetworkA,1113,1113,1113,1973-01-18,110.99999999999797,110.99888,2015-01-01 00:18:33,bin1113,75, +CTSPillarNetworkA,1114,1114,1114,1973-01-19,111.09999999999796,111.09888,2015-01-01 00:18:34,bin1114,35, +CTSPillarNetworkA,1115,1115,1115,1973-01-20,111.19999999999796,111.198875,2015-01-01 00:18:35,bin1115,75, +CTSPillarNetworkA,1116,1116,1116,1973-01-21,111.29999999999795,111.298874,2015-01-01 00:18:36,bin1116,35, +CTSPillarNetworkA,1117,1117,1117,1973-01-22,111.39999999999795,111.39887,2015-01-01 00:18:37,bin1117,75, +CTSPillarNetworkA,1118,1118,1118,1973-01-23,111.49999999999794,111.49887,2015-01-01 00:18:38,bin1118,35, +CTSPillarNetworkA,1119,1119,1119,1973-01-24,111.59999999999793,111.59887,2015-01-01 00:18:39,bin1119,75, +CTSPillarNetworkA,1120,1120,1120,1973-01-25,111.69999999999793,111.69887,2015-01-01 00:18:40,bin1120,35, +CTSPillarNetworkA,1121,1121,1121,1973-01-26,111.79999999999792,111.79887,2015-01-01 00:18:41,bin1121,75, +CTSPillarNetworkA,1122,1122,1122,1973-01-27,111.89999999999792,111.898865,2015-01-01 00:18:42,bin1122,35, +CTSPillarNetworkA,1123,1123,1123,1973-01-28,111.99999999999791,111.99886,2015-01-01 00:18:43,bin1123,75, +CTSPillarNetworkA,1124,1124,1124,1973-01-29,112.0999999999979,112.09886,2015-01-01 00:18:44,bin1124,35, +CTSPillarNetworkA,1125,1125,1125,1973-01-30,112.1999999999979,112.19886,2015-01-01 00:18:45,bin1125,75, +CTSPillarNetworkA,1126,1126,1126,1973-01-31,112.2999999999979,112.29886,2015-01-01 00:18:46,bin1126,35, +CTSPillarNetworkA,1127,1127,1127,1973-02-01,112.39999999999789,112.39886,2015-01-01 00:18:47,bin1127,75, +CTSPillarNetworkA,1128,1128,1128,1973-02-02,112.49999999999788,112.498856,2015-01-01 00:18:48,bin1128,35, +CTSPillarNetworkA,1129,1129,1129,1973-02-03,112.59999999999788,112.598854,2015-01-01 00:18:49,bin1129,75, +CTSPillarNetworkA,1130,1130,1130,1973-02-04,112.69999999999787,112.69885,2015-01-01 00:18:50,bin1130,35, +CTSPillarNetworkA,1131,1131,1131,1973-02-05,112.79999999999787,112.79885,2015-01-01 00:18:51,bin1131,75, +CTSPillarNetworkA,1132,1132,1132,1973-02-06,112.89999999999786,112.89885,2015-01-01 00:18:52,bin1132,35, +CTSPillarNetworkA,1133,1133,1133,1973-02-07,112.99999999999785,112.99885,2015-01-01 00:18:53,bin1133,75, +CTSPillarNetworkA,1134,1134,1134,1973-02-08,113.09999999999785,113.09885,2015-01-01 00:18:54,bin1134,35, +CTSPillarNetworkA,1135,1135,1135,1973-02-09,113.19999999999784,113.198845,2015-01-01 00:18:55,bin1135,75, +CTSPillarNetworkA,1136,1136,1136,1973-02-10,113.29999999999784,113.29884,2015-01-01 00:18:56,bin1136,35, +CTSPillarNetworkA,1137,1137,1137,1973-02-11,113.39999999999783,113.39884,2015-01-01 00:18:57,bin1137,75, +CTSPillarNetworkA,1138,1138,1138,1973-02-12,113.49999999999783,113.49884,2015-01-01 00:18:58,bin1138,35, +CTSPillarNetworkA,1139,1139,1139,1973-02-13,113.59999999999782,113.59884,2015-01-01 00:18:59,bin1139,75, +CTSPillarNetworkA,1140,1140,1140,1973-02-14,113.69999999999781,113.69884,2015-01-01 00:19:00,bin1140,35, +CTSPillarNetworkA,1141,1141,1141,1973-02-15,113.79999999999781,113.798836,2015-01-01 00:19:01,bin1141,75, +CTSPillarNetworkA,1142,1142,1142,1973-02-16,113.8999999999978,113.898834,2015-01-01 00:19:02,bin1142,35, +CTSPillarNetworkA,1143,1143,1143,1973-02-17,113.9999999999978,113.99883,2015-01-01 00:19:03,bin1143,75, +CTSPillarNetworkA,1144,1144,1144,1973-02-18,114.09999999999779,114.09883,2015-01-01 00:19:04,bin1144,35, +CTSPillarNetworkA,1145,1145,1145,1973-02-19,114.19999999999779,114.19883,2015-01-01 00:19:05,bin1145,75, +CTSPillarNetworkA,1146,1146,1146,1973-02-20,114.29999999999778,114.29883,2015-01-01 00:19:06,bin1146,35, +CTSPillarNetworkA,1147,1147,1147,1973-02-21,114.39999999999777,114.39883,2015-01-01 00:19:07,bin1147,75, +CTSPillarNetworkA,1148,1148,1148,1973-02-22,114.49999999999777,114.498825,2015-01-01 00:19:08,bin1148,35, +CTSPillarNetworkA,1149,1149,1149,1973-02-23,114.59999999999776,114.59882,2015-01-01 00:19:09,bin1149,75, +CTSPillarNetworkA,1150,1150,1150,1973-02-24,114.69999999999776,114.69882,2015-01-01 00:19:10,bin1150,35, +CTSPillarNetworkA,1151,1151,1151,1973-02-25,114.79999999999775,114.79882,2015-01-01 00:19:11,bin1151,75, +CTSPillarNetworkA,1152,1152,1152,1973-02-26,114.89999999999775,114.89882,2015-01-01 00:19:12,bin1152,35, +CTSPillarNetworkA,1153,1153,1153,1973-02-27,114.99999999999774,114.99882,2015-01-01 00:19:13,bin1153,75, +CTSPillarNetworkA,1154,1154,1154,1973-02-28,115.09999999999773,115.098816,2015-01-01 00:19:14,bin1154,35, +CTSPillarNetworkA,1155,1155,1155,1973-03-01,115.19999999999773,115.198814,2015-01-01 00:19:15,bin1155,75, +CTSPillarNetworkA,1156,1156,1156,1973-03-02,115.29999999999772,115.29881,2015-01-01 00:19:16,bin1156,35, +CTSPillarNetworkA,1157,1157,1157,1973-03-03,115.39999999999772,115.39881,2015-01-01 00:19:17,bin1157,75, +CTSPillarNetworkA,1158,1158,1158,1973-03-04,115.49999999999771,115.49881,2015-01-01 00:19:18,bin1158,35, +CTSPillarNetworkA,1159,1159,1159,1973-03-05,115.5999999999977,115.59881,2015-01-01 00:19:19,bin1159,75, +CTSPillarNetworkA,1160,1160,1160,1973-03-06,115.6999999999977,115.69881,2015-01-01 00:19:20,bin1160,35, +CTSPillarNetworkA,1161,1161,1161,1973-03-07,115.7999999999977,115.798805,2015-01-01 00:19:21,bin1161,75, +CTSPillarNetworkA,1162,1162,1162,1973-03-08,115.89999999999769,115.8988,2015-01-01 00:19:22,bin1162,35, +CTSPillarNetworkA,1163,1163,1163,1973-03-09,115.99999999999768,115.9988,2015-01-01 00:19:23,bin1163,75, +CTSPillarNetworkA,1164,1164,1164,1973-03-10,116.09999999999768,116.0988,2015-01-01 00:19:24,bin1164,35, +CTSPillarNetworkA,1165,1165,1165,1973-03-11,116.19999999999767,116.1988,2015-01-01 00:19:25,bin1165,75, +CTSPillarNetworkA,1166,1166,1166,1973-03-12,116.29999999999767,116.2988,2015-01-01 00:19:26,bin1166,35, +CTSPillarNetworkA,1167,1167,1167,1973-03-13,116.39999999999766,116.398796,2015-01-01 00:19:27,bin1167,75, +CTSPillarNetworkA,1168,1168,1168,1973-03-14,116.49999999999766,116.498795,2015-01-01 00:19:28,bin1168,35, +CTSPillarNetworkA,1169,1169,1169,1973-03-15,116.59999999999765,116.59879,2015-01-01 00:19:29,bin1169,75, +CTSPillarNetworkA,1170,1170,1170,1973-03-16,116.69999999999764,116.69879,2015-01-01 00:19:30,bin1170,35, +CTSPillarNetworkA,1171,1171,1171,1973-03-17,116.79999999999764,116.79879,2015-01-01 00:19:31,bin1171,75, +CTSPillarNetworkA,1172,1172,1172,1973-03-18,116.89999999999763,116.89879,2015-01-01 00:19:32,bin1172,35, +CTSPillarNetworkA,1173,1173,1173,1973-03-19,116.99999999999763,116.99879,2015-01-01 00:19:33,bin1173,75, +CTSPillarNetworkA,1174,1174,1174,1973-03-20,117.09999999999762,117.098785,2015-01-01 00:19:34,bin1174,35, +CTSPillarNetworkA,1175,1175,1175,1973-03-21,117.19999999999762,117.198784,2015-01-01 00:19:35,bin1175,75, +CTSPillarNetworkA,1176,1176,1176,1973-03-22,117.29999999999761,117.29878,2015-01-01 00:19:36,bin1176,35, +CTSPillarNetworkA,1177,1177,1177,1973-03-23,117.3999999999976,117.39878,2015-01-01 00:19:37,bin1177,75, +CTSPillarNetworkA,1178,1178,1178,1973-03-24,117.4999999999976,117.49878,2015-01-01 00:19:38,bin1178,35, +CTSPillarNetworkA,1179,1179,1179,1973-03-25,117.59999999999759,117.59878,2015-01-01 00:19:39,bin1179,75, +CTSPillarNetworkA,1180,1180,1180,1973-03-26,117.69999999999759,117.69878,2015-01-01 00:19:40,bin1180,35, +CTSPillarNetworkA,1181,1181,1181,1973-03-27,117.79999999999758,117.798775,2015-01-01 00:19:41,bin1181,75, +CTSPillarNetworkA,1182,1182,1182,1973-03-28,117.89999999999758,117.89877,2015-01-01 00:19:42,bin1182,35, +CTSPillarNetworkA,1183,1183,1183,1973-03-29,117.99999999999757,117.99877,2015-01-01 00:19:43,bin1183,75, +CTSPillarNetworkA,1184,1184,1184,1973-03-30,118.09999999999756,118.09877,2015-01-01 00:19:44,bin1184,35, +CTSPillarNetworkA,1185,1185,1185,1973-03-31,118.19999999999756,118.19877,2015-01-01 00:19:45,bin1185,75, +CTSPillarNetworkA,1186,1186,1186,1973-04-01,118.29999999999755,118.29877,2015-01-01 00:19:46,bin1186,35, +CTSPillarNetworkA,1187,1187,1187,1973-04-02,118.39999999999755,118.398766,2015-01-01 00:19:47,bin1187,75, +CTSPillarNetworkA,1188,1188,1188,1973-04-03,118.49999999999754,118.498764,2015-01-01 00:19:48,bin1188,35, +CTSPillarNetworkA,1189,1189,1189,1973-04-04,118.59999999999754,118.59876,2015-01-01 00:19:49,bin1189,75, +CTSPillarNetworkA,1190,1190,1190,1973-04-05,118.69999999999753,118.69876,2015-01-01 00:19:50,bin1190,35, +CTSPillarNetworkA,1191,1191,1191,1973-04-06,118.79999999999752,118.79876,2015-01-01 00:19:51,bin1191,75, +CTSPillarNetworkA,1192,1192,1192,1973-04-07,118.89999999999752,118.89876,2015-01-01 00:19:52,bin1192,35, +CTSPillarNetworkA,1193,1193,1193,1973-04-08,118.99999999999751,118.99876,2015-01-01 00:19:53,bin1193,75, +CTSPillarNetworkA,1194,1194,1194,1973-04-09,119.09999999999751,119.098755,2015-01-01 00:19:54,bin1194,35, +CTSPillarNetworkA,1195,1195,1195,1973-04-10,119.1999999999975,119.19875,2015-01-01 00:19:55,bin1195,75, +CTSPillarNetworkA,1196,1196,1196,1973-04-11,119.2999999999975,119.29875,2015-01-01 00:19:56,bin1196,35, +CTSPillarNetworkA,1197,1197,1197,1973-04-12,119.39999999999749,119.39875,2015-01-01 00:19:57,bin1197,75, +CTSPillarNetworkA,1198,1198,1198,1973-04-13,119.49999999999748,119.49875,2015-01-01 00:19:58,bin1198,35, +CTSPillarNetworkA,1199,1199,1199,1973-04-14,119.59999999999748,119.59875,2015-01-01 00:19:59,bin1199,75, +CTSPillarNetworkA,1200,1200,1200,1973-04-15,119.69999999999747,119.698746,2015-01-01 00:20:00,bin1200,35, +CTSPillarNetworkA,1201,1201,1201,1973-04-16,119.79999999999747,119.798744,2015-01-01 00:20:01,bin1201,75, +CTSPillarNetworkA,1202,1202,1202,1973-04-17,119.89999999999746,119.89874,2015-01-01 00:20:02,bin1202,35, +CTSPillarNetworkA,1203,1203,1203,1973-04-18,119.99999999999746,119.99874,2015-01-01 00:20:03,bin1203,75, +CTSPillarNetworkA,1204,1204,1204,1973-04-19,120.09999999999745,120.09874,2015-01-01 00:20:04,bin1204,35, +CTSPillarNetworkA,1205,1205,1205,1973-04-20,120.19999999999744,120.19874,2015-01-01 00:20:05,bin1205,75, +CTSPillarNetworkA,1206,1206,1206,1973-04-21,120.29999999999744,120.29874,2015-01-01 00:20:06,bin1206,35, +CTSPillarNetworkA,1207,1207,1207,1973-04-22,120.39999999999743,120.398735,2015-01-01 00:20:07,bin1207,75, +CTSPillarNetworkA,1208,1208,1208,1973-04-23,120.49999999999743,120.49873,2015-01-01 00:20:08,bin1208,35, +CTSPillarNetworkA,1209,1209,1209,1973-04-24,120.59999999999742,120.59873,2015-01-01 00:20:09,bin1209,75, +CTSPillarNetworkA,1210,1210,1210,1973-04-25,120.69999999999742,120.69873,2015-01-01 00:20:10,bin1210,35, +CTSPillarNetworkA,1211,1211,1211,1973-04-26,120.79999999999741,120.79873,2015-01-01 00:20:11,bin1211,75, +CTSPillarNetworkA,1212,1212,1212,1973-04-27,120.8999999999974,120.89873,2015-01-01 00:20:12,bin1212,35, +CTSPillarNetworkA,1213,1213,1213,1973-04-28,120.9999999999974,120.998726,2015-01-01 00:20:13,bin1213,75, +CTSPillarNetworkA,1214,1214,1214,1973-04-29,121.0999999999974,121.098724,2015-01-01 00:20:14,bin1214,35, +CTSPillarNetworkA,1215,1215,1215,1973-04-30,121.19999999999739,121.19872,2015-01-01 00:20:15,bin1215,75, +CTSPillarNetworkA,1216,1216,1216,1973-05-01,121.29999999999738,121.29872,2015-01-01 00:20:16,bin1216,35, +CTSPillarNetworkA,1217,1217,1217,1973-05-02,121.39999999999738,121.39872,2015-01-01 00:20:17,bin1217,75, +CTSPillarNetworkA,1218,1218,1218,1973-05-03,121.49999999999737,121.49872,2015-01-01 00:20:18,bin1218,35, +CTSPillarNetworkA,1219,1219,1219,1973-05-04,121.59999999999737,121.59872,2015-01-01 00:20:19,bin1219,75, +CTSPillarNetworkA,1220,1220,1220,1973-05-05,121.69999999999736,121.698715,2015-01-01 00:20:20,bin1220,35, +CTSPillarNetworkA,1221,1221,1221,1973-05-06,121.79999999999735,121.79871,2015-01-01 00:20:21,bin1221,75, +CTSPillarNetworkA,1222,1222,1222,1973-05-07,121.89999999999735,121.89871,2015-01-01 00:20:22,bin1222,35, +CTSPillarNetworkA,1223,1223,1223,1973-05-08,121.99999999999734,121.99871,2015-01-01 00:20:23,bin1223,75, +CTSPillarNetworkA,1224,1224,1224,1973-05-09,122.09999999999734,122.09871,2015-01-01 00:20:24,bin1224,35, +CTSPillarNetworkA,1225,1225,1225,1973-05-10,122.19999999999733,122.19871,2015-01-01 00:20:25,bin1225,75, +CTSPillarNetworkA,1226,1226,1226,1973-05-11,122.29999999999733,122.298706,2015-01-01 00:20:26,bin1226,35, +CTSPillarNetworkA,1227,1227,1227,1973-05-12,122.39999999999732,122.398705,2015-01-01 00:20:27,bin1227,75, +CTSPillarNetworkA,1228,1228,1228,1973-05-13,122.49999999999731,122.4987,2015-01-01 00:20:28,bin1228,35, +CTSPillarNetworkA,1229,1229,1229,1973-05-14,122.59999999999731,122.5987,2015-01-01 00:20:29,bin1229,75, +CTSPillarNetworkA,1230,1230,1230,1973-05-15,122.6999999999973,122.6987,2015-01-01 00:20:30,bin1230,35, +CTSPillarNetworkA,1231,1231,1231,1973-05-16,122.7999999999973,122.7987,2015-01-01 00:20:31,bin1231,75, +CTSPillarNetworkA,1232,1232,1232,1973-05-17,122.89999999999729,122.8987,2015-01-01 00:20:32,bin1232,35, +CTSPillarNetworkA,1233,1233,1233,1973-05-18,122.99999999999729,122.998695,2015-01-01 00:20:33,bin1233,75, +CTSPillarNetworkA,1234,1234,1234,1973-05-19,123.09999999999728,123.098694,2015-01-01 00:20:34,bin1234,35, +CTSPillarNetworkA,1235,1235,1235,1973-05-20,123.19999999999727,123.19869,2015-01-01 00:20:35,bin1235,75, +CTSPillarNetworkA,1236,1236,1236,1973-05-21,123.29999999999727,123.29869,2015-01-01 00:20:36,bin1236,35, +CTSPillarNetworkA,1237,1237,1237,1973-05-22,123.39999999999726,123.39869,2015-01-01 00:20:37,bin1237,75, +CTSPillarNetworkA,1238,1238,1238,1973-05-23,123.49999999999726,123.49869,2015-01-01 00:20:38,bin1238,35, +CTSPillarNetworkA,1239,1239,1239,1973-05-24,123.59999999999725,123.59869,2015-01-01 00:20:39,bin1239,75, +CTSPillarNetworkA,1240,1240,1240,1973-05-25,123.69999999999725,123.698685,2015-01-01 00:20:40,bin1240,35, +CTSPillarNetworkA,1241,1241,1241,1973-05-26,123.79999999999724,123.79868,2015-01-01 00:20:41,bin1241,75, +CTSPillarNetworkA,1242,1242,1242,1973-05-27,123.89999999999723,123.89868,2015-01-01 00:20:42,bin1242,35, +CTSPillarNetworkA,1243,1243,1243,1973-05-28,123.99999999999723,123.99868,2015-01-01 00:20:43,bin1243,75, +CTSPillarNetworkA,1244,1244,1244,1973-05-29,124.09999999999722,124.09868,2015-01-01 00:20:44,bin1244,35, +CTSPillarNetworkA,1245,1245,1245,1973-05-30,124.19999999999722,124.19868,2015-01-01 00:20:45,bin1245,75, +CTSPillarNetworkA,1246,1246,1246,1973-05-31,124.29999999999721,124.298676,2015-01-01 00:20:46,bin1246,35, +CTSPillarNetworkA,1247,1247,1247,1973-06-01,124.3999999999972,124.398674,2015-01-01 00:20:47,bin1247,75, +CTSPillarNetworkA,1248,1248,1248,1973-06-02,124.4999999999972,124.49867,2015-01-01 00:20:48,bin1248,35, +CTSPillarNetworkA,1249,1249,1249,1973-06-03,124.5999999999972,124.59867,2015-01-01 00:20:49,bin1249,75, +CTSPillarNetworkA,1250,1250,1250,1973-06-04,124.69999999999719,124.69867,2015-01-01 00:20:50,bin1250,35, +CTSPillarNetworkA,1251,1251,1251,1973-06-05,124.79999999999718,124.79867,2015-01-01 00:20:51,bin1251,75, +CTSPillarNetworkA,1252,1252,1252,1973-06-06,124.89999999999718,124.89867,2015-01-01 00:20:52,bin1252,35, +CTSPillarNetworkA,1253,1253,1253,1973-06-07,124.99999999999717,124.998665,2015-01-01 00:20:53,bin1253,75, +CTSPillarNetworkA,1254,1254,1254,1973-06-08,125.09999999999717,125.09866,2015-01-01 00:20:54,bin1254,35, +CTSPillarNetworkA,1255,1255,1255,1973-06-09,125.19999999999716,125.19866,2015-01-01 00:20:55,bin1255,75, +CTSPillarNetworkA,1256,1256,1256,1973-06-10,125.29999999999715,125.29866,2015-01-01 00:20:56,bin1256,35, +CTSPillarNetworkA,1257,1257,1257,1973-06-11,125.39999999999715,125.39866,2015-01-01 00:20:57,bin1257,75, +CTSPillarNetworkA,1258,1258,1258,1973-06-12,125.49999999999714,125.49866,2015-01-01 00:20:58,bin1258,35, +CTSPillarNetworkA,1259,1259,1259,1973-06-13,125.59999999999714,125.598656,2015-01-01 00:20:59,bin1259,75, +CTSPillarNetworkA,1260,1260,1260,1973-06-14,125.69999999999713,125.698654,2015-01-01 00:21:00,bin1260,35, +CTSPillarNetworkA,1261,1261,1261,1973-06-15,125.79999999999713,125.79865,2015-01-01 00:21:01,bin1261,75, +CTSPillarNetworkA,1262,1262,1262,1973-06-16,125.89999999999712,125.89865,2015-01-01 00:21:02,bin1262,35, +CTSPillarNetworkA,1263,1263,1263,1973-06-17,125.99999999999712,125.99865,2015-01-01 00:21:03,bin1263,75, +CTSPillarNetworkA,1264,1264,1264,1973-06-18,126.09999999999711,126.09865,2015-01-01 00:21:04,bin1264,35, +CTSPillarNetworkA,1265,1265,1265,1973-06-19,126.1999999999971,126.19865,2015-01-01 00:21:05,bin1265,75, +CTSPillarNetworkA,1266,1266,1266,1973-06-20,126.2999999999971,126.298645,2015-01-01 00:21:06,bin1266,35, +CTSPillarNetworkA,1267,1267,1267,1973-06-21,126.39999999999709,126.39864,2015-01-01 00:21:07,bin1267,75, +CTSPillarNetworkA,1268,1268,1268,1973-06-22,126.49999999999709,126.49864,2015-01-01 00:21:08,bin1268,35, +CTSPillarNetworkA,1269,1269,1269,1973-06-23,126.59999999999708,126.59864,2015-01-01 00:21:09,bin1269,75, +CTSPillarNetworkA,1270,1270,1270,1973-06-24,126.69999999999708,126.69864,2015-01-01 00:21:10,bin1270,35, +CTSPillarNetworkA,1271,1271,1271,1973-06-25,126.79999999999707,126.79864,2015-01-01 00:21:11,bin1271,75, +CTSPillarNetworkA,1272,1272,1272,1973-06-26,126.89999999999706,126.898636,2015-01-01 00:21:12,bin1272,35, +CTSPillarNetworkA,1273,1273,1273,1973-06-27,126.99999999999706,126.998634,2015-01-01 00:21:13,bin1273,75, +CTSPillarNetworkA,1274,1274,1274,1973-06-28,127.09999999999705,127.09863,2015-01-01 00:21:14,bin1274,35, +CTSPillarNetworkA,1275,1275,1275,1973-06-29,127.19999999999705,127.19863,2015-01-01 00:21:15,bin1275,75, +CTSPillarNetworkA,1276,1276,1276,1973-06-30,127.29999999999704,127.29863,2015-01-01 00:21:16,bin1276,35, +CTSPillarNetworkA,1277,1277,1277,1973-07-01,127.39999999999704,127.39863,2015-01-01 00:21:17,bin1277,75, +CTSPillarNetworkA,1278,1278,1278,1973-07-02,127.49999999999703,127.49863,2015-01-01 00:21:18,bin1278,35, +CTSPillarNetworkA,1279,1279,1279,1973-07-03,127.59999999999702,127.598625,2015-01-01 00:21:19,bin1279,75, +CTSPillarNetworkA,1280,1280,1280,1973-07-04,127.69999999999702,127.69862,2015-01-01 00:21:20,bin1280,35, +CTSPillarNetworkA,1281,1281,1281,1973-07-05,127.79999999999701,127.79862,2015-01-01 00:21:21,bin1281,75, +CTSPillarNetworkA,1282,1282,1282,1973-07-06,127.89999999999701,127.89862,2015-01-01 00:21:22,bin1282,35, +CTSPillarNetworkA,1283,1283,1283,1973-07-07,127.999999999997,127.99862,2015-01-01 00:21:23,bin1283,75, +CTSPillarNetworkA,1284,1284,1284,1973-07-08,128.099999999997,128.09862,2015-01-01 00:21:24,bin1284,35, +CTSPillarNetworkA,1285,1285,1285,1973-07-09,128.199999999997,128.19862,2015-01-01 00:21:25,bin1285,75, +CTSPillarNetworkA,1286,1286,1286,1973-07-10,128.299999999997,128.29863,2015-01-01 00:21:26,bin1286,35, +CTSPillarNetworkA,1287,1287,1287,1973-07-11,128.399999999997,128.39864,2015-01-01 00:21:27,bin1287,75, +CTSPillarNetworkA,1288,1288,1288,1973-07-12,128.499999999997,128.49864,2015-01-01 00:21:28,bin1288,35, +CTSPillarNetworkA,1289,1289,1289,1973-07-13,128.59999999999698,128.59865,2015-01-01 00:21:29,bin1289,75, +CTSPillarNetworkA,1290,1290,1290,1973-07-14,128.69999999999698,128.69865,2015-01-01 00:21:30,bin1290,35, +CTSPillarNetworkA,1291,1291,1291,1973-07-15,128.79999999999697,128.79866,2015-01-01 00:21:31,bin1291,75, +CTSPillarNetworkA,1292,1292,1292,1973-07-16,128.89999999999696,128.89867,2015-01-01 00:21:32,bin1292,35, +CTSPillarNetworkA,1293,1293,1293,1973-07-17,128.99999999999696,128.99867,2015-01-01 00:21:33,bin1293,75, +CTSPillarNetworkA,1294,1294,1294,1973-07-18,129.09999999999695,129.09868,2015-01-01 00:21:34,bin1294,35, +CTSPillarNetworkA,1295,1295,1295,1973-07-19,129.19999999999695,129.19868,2015-01-01 00:21:35,bin1295,75, +CTSPillarNetworkA,1296,1296,1296,1973-07-20,129.29999999999694,129.29869,2015-01-01 00:21:36,bin1296,35, +CTSPillarNetworkA,1297,1297,1297,1973-07-21,129.39999999999694,129.3987,2015-01-01 00:21:37,bin1297,75, +CTSPillarNetworkA,1298,1298,1298,1973-07-22,129.49999999999693,129.4987,2015-01-01 00:21:38,bin1298,35, +CTSPillarNetworkA,1299,1299,1299,1973-07-23,129.59999999999692,129.59871,2015-01-01 00:21:39,bin1299,75, +CTSPillarNetworkA,1300,1300,1300,1973-07-24,129.69999999999692,129.69872,2015-01-01 00:21:40,bin1300,35, +CTSPillarNetworkA,1301,1301,1301,1973-07-25,129.7999999999969,129.79872,2015-01-01 00:21:41,bin1301,75, +CTSPillarNetworkA,1302,1302,1302,1973-07-26,129.8999999999969,129.89873,2015-01-01 00:21:42,bin1302,35, +CTSPillarNetworkA,1303,1303,1303,1973-07-27,129.9999999999969,129.99873,2015-01-01 00:21:43,bin1303,75, +CTSPillarNetworkA,1304,1304,1304,1973-07-28,130.0999999999969,130.09874,2015-01-01 00:21:44,bin1304,35, +CTSPillarNetworkA,1305,1305,1305,1973-07-29,130.1999999999969,130.19875,2015-01-01 00:21:45,bin1305,75, +CTSPillarNetworkA,1306,1306,1306,1973-07-30,130.29999999999688,130.29875,2015-01-01 00:21:46,bin1306,35, +CTSPillarNetworkA,1307,1307,1307,1973-07-31,130.39999999999688,130.39876,2015-01-01 00:21:47,bin1307,75, +CTSPillarNetworkA,1308,1308,1308,1973-08-01,130.49999999999687,130.49876,2015-01-01 00:21:48,bin1308,35, +CTSPillarNetworkA,1309,1309,1309,1973-08-02,130.59999999999687,130.59877,2015-01-01 00:21:49,bin1309,75, +CTSPillarNetworkA,1310,1310,1310,1973-08-03,130.69999999999686,130.69878,2015-01-01 00:21:50,bin1310,35, +CTSPillarNetworkA,1311,1311,1311,1973-08-04,130.79999999999686,130.79878,2015-01-01 00:21:51,bin1311,75, +CTSPillarNetworkA,1312,1312,1312,1973-08-05,130.89999999999685,130.89879,2015-01-01 00:21:52,bin1312,35, +CTSPillarNetworkA,1313,1313,1313,1973-08-06,130.99999999999685,130.9988,2015-01-01 00:21:53,bin1313,75, +CTSPillarNetworkA,1314,1314,1314,1973-08-07,131.09999999999684,131.0988,2015-01-01 00:21:54,bin1314,35, +CTSPillarNetworkA,1315,1315,1315,1973-08-08,131.19999999999683,131.1988,2015-01-01 00:21:55,bin1315,75, +CTSPillarNetworkA,1316,1316,1316,1973-08-09,131.29999999999683,131.29881,2015-01-01 00:21:56,bin1316,35, +CTSPillarNetworkA,1317,1317,1317,1973-08-10,131.39999999999682,131.39882,2015-01-01 00:21:57,bin1317,75, +CTSPillarNetworkA,1318,1318,1318,1973-08-11,131.49999999999682,131.49883,2015-01-01 00:21:58,bin1318,35, +CTSPillarNetworkA,1319,1319,1319,1973-08-12,131.5999999999968,131.59883,2015-01-01 00:21:59,bin1319,75, +CTSPillarNetworkA,1320,1320,1320,1973-08-13,131.6999999999968,131.69884,2015-01-01 00:22:00,bin1320,35, +CTSPillarNetworkA,1321,1321,1321,1973-08-14,131.7999999999968,131.79884,2015-01-01 00:22:01,bin1321,75, +CTSPillarNetworkA,1322,1322,1322,1973-08-15,131.8999999999968,131.89885,2015-01-01 00:22:02,bin1322,35, +CTSPillarNetworkA,1323,1323,1323,1973-08-16,131.9999999999968,131.99886,2015-01-01 00:22:03,bin1323,75, +CTSPillarNetworkA,1324,1324,1324,1973-08-17,132.09999999999678,132.09886,2015-01-01 00:22:04,bin1324,35, +CTSPillarNetworkA,1325,1325,1325,1973-08-18,132.19999999999678,132.19887,2015-01-01 00:22:05,bin1325,75, +CTSPillarNetworkA,1326,1326,1326,1973-08-19,132.29999999999677,132.29887,2015-01-01 00:22:06,bin1326,35, +CTSPillarNetworkA,1327,1327,1327,1973-08-20,132.39999999999677,132.39888,2015-01-01 00:22:07,bin1327,75, +CTSPillarNetworkA,1328,1328,1328,1973-08-21,132.49999999999676,132.49889,2015-01-01 00:22:08,bin1328,35, +CTSPillarNetworkA,1329,1329,1329,1973-08-22,132.59999999999675,132.59889,2015-01-01 00:22:09,bin1329,75, +CTSPillarNetworkA,1330,1330,1330,1973-08-23,132.69999999999675,132.6989,2015-01-01 00:22:10,bin1330,35, +CTSPillarNetworkA,1331,1331,1331,1973-08-24,132.79999999999674,132.7989,2015-01-01 00:22:11,bin1331,75, +CTSPillarNetworkA,1332,1332,1332,1973-08-25,132.89999999999674,132.89891,2015-01-01 00:22:12,bin1332,35, +CTSPillarNetworkA,1333,1333,1333,1973-08-26,132.99999999999673,132.99892,2015-01-01 00:22:13,bin1333,75, +CTSPillarNetworkA,1334,1334,1334,1973-08-27,133.09999999999673,133.09892,2015-01-01 00:22:14,bin1334,35, +CTSPillarNetworkA,1335,1335,1335,1973-08-28,133.19999999999672,133.19893,2015-01-01 00:22:15,bin1335,75, +CTSPillarNetworkA,1336,1336,1336,1973-08-29,133.29999999999671,133.29893,2015-01-01 00:22:16,bin1336,35, +CTSPillarNetworkA,1337,1337,1337,1973-08-30,133.3999999999967,133.39894,2015-01-01 00:22:17,bin1337,75, +CTSPillarNetworkA,1338,1338,1338,1973-08-31,133.4999999999967,133.49895,2015-01-01 00:22:18,bin1338,35, +CTSPillarNetworkA,1339,1339,1339,1973-09-01,133.5999999999967,133.59895,2015-01-01 00:22:19,bin1339,75, +CTSPillarNetworkA,1340,1340,1340,1973-09-02,133.6999999999967,133.69896,2015-01-01 00:22:20,bin1340,35, +CTSPillarNetworkA,1341,1341,1341,1973-09-03,133.7999999999967,133.79897,2015-01-01 00:22:21,bin1341,75, +CTSPillarNetworkA,1342,1342,1342,1973-09-04,133.89999999999668,133.89897,2015-01-01 00:22:22,bin1342,35, +CTSPillarNetworkA,1343,1343,1343,1973-09-05,133.99999999999667,133.99898,2015-01-01 00:22:23,bin1343,75, +CTSPillarNetworkA,1344,1344,1344,1973-09-06,134.09999999999667,134.09898,2015-01-01 00:22:24,bin1344,35, +CTSPillarNetworkA,1345,1345,1345,1973-09-07,134.19999999999666,134.19899,2015-01-01 00:22:25,bin1345,75, +CTSPillarNetworkA,1346,1346,1346,1973-09-08,134.29999999999666,134.299,2015-01-01 00:22:26,bin1346,35, +CTSPillarNetworkA,1347,1347,1347,1973-09-09,134.39999999999665,134.399,2015-01-01 00:22:27,bin1347,75, +CTSPillarNetworkA,1348,1348,1348,1973-09-10,134.49999999999665,134.49901,2015-01-01 00:22:28,bin1348,35, +CTSPillarNetworkA,1349,1349,1349,1973-09-11,134.59999999999664,134.59901,2015-01-01 00:22:29,bin1349,75, +CTSPillarNetworkA,1350,1350,1350,1973-09-12,134.69999999999663,134.69902,2015-01-01 00:22:30,bin1350,35, +CTSPillarNetworkA,1351,1351,1351,1973-09-13,134.79999999999663,134.79903,2015-01-01 00:22:31,bin1351,75, +CTSPillarNetworkA,1352,1352,1352,1973-09-14,134.89999999999662,134.89903,2015-01-01 00:22:32,bin1352,35, +CTSPillarNetworkA,1353,1353,1353,1973-09-15,134.99999999999662,134.99904,2015-01-01 00:22:33,bin1353,75, +CTSPillarNetworkA,1354,1354,1354,1973-09-16,135.0999999999966,135.09904,2015-01-01 00:22:34,bin1354,35, +CTSPillarNetworkA,1355,1355,1355,1973-09-17,135.1999999999966,135.19905,2015-01-01 00:22:35,bin1355,75, +CTSPillarNetworkA,1356,1356,1356,1973-09-18,135.2999999999966,135.29906,2015-01-01 00:22:36,bin1356,35, +CTSPillarNetworkA,1357,1357,1357,1973-09-19,135.3999999999966,135.39906,2015-01-01 00:22:37,bin1357,75, +CTSPillarNetworkA,1358,1358,1358,1973-09-20,135.4999999999966,135.49907,2015-01-01 00:22:38,bin1358,35, +CTSPillarNetworkA,1359,1359,1359,1973-09-21,135.59999999999658,135.59908,2015-01-01 00:22:39,bin1359,75, +CTSPillarNetworkA,1360,1360,1360,1973-09-22,135.69999999999658,135.69908,2015-01-01 00:22:40,bin1360,35, +CTSPillarNetworkA,1361,1361,1361,1973-09-23,135.79999999999657,135.79909,2015-01-01 00:22:41,bin1361,75, +CTSPillarNetworkA,1362,1362,1362,1973-09-24,135.89999999999657,135.8991,2015-01-01 00:22:42,bin1362,35, +CTSPillarNetworkA,1363,1363,1363,1973-09-25,135.99999999999656,135.9991,2015-01-01 00:22:43,bin1363,75, +CTSPillarNetworkA,1364,1364,1364,1973-09-26,136.09999999999656,136.0991,2015-01-01 00:22:44,bin1364,35, +CTSPillarNetworkA,1365,1365,1365,1973-09-27,136.19999999999655,136.19911,2015-01-01 00:22:45,bin1365,75, +CTSPillarNetworkA,1366,1366,1366,1973-09-28,136.29999999999654,136.29912,2015-01-01 00:22:46,bin1366,35, +CTSPillarNetworkA,1367,1367,1367,1973-09-29,136.39999999999654,136.39912,2015-01-01 00:22:47,bin1367,75, +CTSPillarNetworkA,1368,1368,1368,1973-09-30,136.49999999999653,136.49913,2015-01-01 00:22:48,bin1368,35, +CTSPillarNetworkA,1369,1369,1369,1973-10-01,136.59999999999653,136.59914,2015-01-01 00:22:49,bin1369,75, +CTSPillarNetworkA,1370,1370,1370,1973-10-02,136.69999999999652,136.69914,2015-01-01 00:22:50,bin1370,35, +CTSPillarNetworkA,1371,1371,1371,1973-10-03,136.79999999999652,136.79915,2015-01-01 00:22:51,bin1371,75, +CTSPillarNetworkA,1372,1372,1372,1973-10-04,136.8999999999965,136.89915,2015-01-01 00:22:52,bin1372,35, +CTSPillarNetworkA,1373,1373,1373,1973-10-05,136.9999999999965,136.99916,2015-01-01 00:22:53,bin1373,75, +CTSPillarNetworkA,1374,1374,1374,1973-10-06,137.0999999999965,137.09917,2015-01-01 00:22:54,bin1374,35, +CTSPillarNetworkA,1375,1375,1375,1973-10-07,137.1999999999965,137.19917,2015-01-01 00:22:55,bin1375,75, +CTSPillarNetworkA,1376,1376,1376,1973-10-08,137.2999999999965,137.29918,2015-01-01 00:22:56,bin1376,35, +CTSPillarNetworkA,1377,1377,1377,1973-10-09,137.39999999999648,137.39919,2015-01-01 00:22:57,bin1377,75, +CTSPillarNetworkA,1378,1378,1378,1973-10-10,137.49999999999648,137.49919,2015-01-01 00:22:58,bin1378,35, +CTSPillarNetworkA,1379,1379,1379,1973-10-11,137.59999999999647,137.5992,2015-01-01 00:22:59,bin1379,75, +CTSPillarNetworkA,1380,1380,1380,1973-10-12,137.69999999999646,137.6992,2015-01-01 00:23:00,bin1380,35, +CTSPillarNetworkA,1381,1381,1381,1973-10-13,137.79999999999646,137.79921,2015-01-01 00:23:01,bin1381,75, +CTSPillarNetworkA,1382,1382,1382,1973-10-14,137.89999999999645,137.89922,2015-01-01 00:23:02,bin1382,35, +CTSPillarNetworkA,1383,1383,1383,1973-10-15,137.99999999999645,137.99922,2015-01-01 00:23:03,bin1383,75, +CTSPillarNetworkA,1384,1384,1384,1973-10-16,138.09999999999644,138.09923,2015-01-01 00:23:04,bin1384,35, +CTSPillarNetworkA,1385,1385,1385,1973-10-17,138.19999999999644,138.19923,2015-01-01 00:23:05,bin1385,75, +CTSPillarNetworkA,1386,1386,1386,1973-10-18,138.29999999999643,138.29924,2015-01-01 00:23:06,bin1386,35, +CTSPillarNetworkA,1387,1387,1387,1973-10-19,138.39999999999642,138.39925,2015-01-01 00:23:07,bin1387,75, +CTSPillarNetworkA,1388,1388,1388,1973-10-20,138.49999999999642,138.49925,2015-01-01 00:23:08,bin1388,35, +CTSPillarNetworkA,1389,1389,1389,1973-10-21,138.5999999999964,138.59926,2015-01-01 00:23:09,bin1389,75, +CTSPillarNetworkA,1390,1390,1390,1973-10-22,138.6999999999964,138.69926,2015-01-01 00:23:10,bin1390,35, +CTSPillarNetworkA,1391,1391,1391,1973-10-23,138.7999999999964,138.79927,2015-01-01 00:23:11,bin1391,75, +CTSPillarNetworkA,1392,1392,1392,1973-10-24,138.8999999999964,138.89928,2015-01-01 00:23:12,bin1392,35, +CTSPillarNetworkA,1393,1393,1393,1973-10-25,138.9999999999964,138.99928,2015-01-01 00:23:13,bin1393,75, +CTSPillarNetworkA,1394,1394,1394,1973-10-26,139.09999999999638,139.09929,2015-01-01 00:23:14,bin1394,35, +CTSPillarNetworkA,1395,1395,1395,1973-10-27,139.19999999999638,139.1993,2015-01-01 00:23:15,bin1395,75, +CTSPillarNetworkA,1396,1396,1396,1973-10-28,139.29999999999637,139.2993,2015-01-01 00:23:16,bin1396,35, +CTSPillarNetworkA,1397,1397,1397,1973-10-29,139.39999999999637,139.3993,2015-01-01 00:23:17,bin1397,75, +CTSPillarNetworkA,1398,1398,1398,1973-10-30,139.49999999999636,139.49931,2015-01-01 00:23:18,bin1398,35, +CTSPillarNetworkA,1399,1399,1399,1973-10-31,139.59999999999636,139.59932,2015-01-01 00:23:19,bin1399,75, +CTSPillarNetworkA,1400,1400,1400,1973-11-01,139.69999999999635,139.69933,2015-01-01 00:23:20,bin1400,35, +CTSPillarNetworkA,1401,1401,1401,1973-11-02,139.79999999999634,139.79933,2015-01-01 00:23:21,bin1401,75, +CTSPillarNetworkA,1402,1402,1402,1973-11-03,139.89999999999634,139.89934,2015-01-01 00:23:22,bin1402,35, +CTSPillarNetworkA,1403,1403,1403,1973-11-04,139.99999999999633,139.99934,2015-01-01 00:23:23,bin1403,75, +CTSPillarNetworkA,1404,1404,1404,1973-11-05,140.09999999999633,140.09935,2015-01-01 00:23:24,bin1404,35, +CTSPillarNetworkA,1405,1405,1405,1973-11-06,140.19999999999632,140.19936,2015-01-01 00:23:25,bin1405,75, +CTSPillarNetworkA,1406,1406,1406,1973-11-07,140.29999999999632,140.29936,2015-01-01 00:23:26,bin1406,35, +CTSPillarNetworkA,1407,1407,1407,1973-11-08,140.3999999999963,140.39937,2015-01-01 00:23:27,bin1407,75, +CTSPillarNetworkA,1408,1408,1408,1973-11-09,140.4999999999963,140.49937,2015-01-01 00:23:28,bin1408,35, +CTSPillarNetworkA,1409,1409,1409,1973-11-10,140.5999999999963,140.59938,2015-01-01 00:23:29,bin1409,75, +CTSPillarNetworkA,1410,1410,1410,1973-11-11,140.6999999999963,140.69939,2015-01-01 00:23:30,bin1410,35, +CTSPillarNetworkA,1411,1411,1411,1973-11-12,140.7999999999963,140.7994,2015-01-01 00:23:31,bin1411,75, +CTSPillarNetworkA,1412,1412,1412,1973-11-13,140.89999999999628,140.8994,2015-01-01 00:23:32,bin1412,35, +CTSPillarNetworkA,1413,1413,1413,1973-11-14,140.99999999999628,140.9994,2015-01-01 00:23:33,bin1413,75, +CTSPillarNetworkA,1414,1414,1414,1973-11-15,141.09999999999627,141.09941,2015-01-01 00:23:34,bin1414,35, +CTSPillarNetworkA,1415,1415,1415,1973-11-16,141.19999999999627,141.19942,2015-01-01 00:23:35,bin1415,75, +CTSPillarNetworkA,1416,1416,1416,1973-11-17,141.29999999999626,141.29942,2015-01-01 00:23:36,bin1416,35, +CTSPillarNetworkA,1417,1417,1417,1973-11-18,141.39999999999625,141.39943,2015-01-01 00:23:37,bin1417,75, +CTSPillarNetworkA,1418,1418,1418,1973-11-19,141.49999999999625,141.49944,2015-01-01 00:23:38,bin1418,35, +CTSPillarNetworkA,1419,1419,1419,1973-11-20,141.59999999999624,141.59944,2015-01-01 00:23:39,bin1419,75, +CTSPillarNetworkA,1420,1420,1420,1973-11-21,141.69999999999624,141.69945,2015-01-01 00:23:40,bin1420,35, +CTSPillarNetworkA,1421,1421,1421,1973-11-22,141.79999999999623,141.79945,2015-01-01 00:23:41,bin1421,75, +CTSPillarNetworkA,1422,1422,1422,1973-11-23,141.89999999999623,141.89946,2015-01-01 00:23:42,bin1422,35, +CTSPillarNetworkA,1423,1423,1423,1973-11-24,141.99999999999622,141.99947,2015-01-01 00:23:43,bin1423,75, +CTSPillarNetworkA,1424,1424,1424,1973-11-25,142.09999999999621,142.09947,2015-01-01 00:23:44,bin1424,35, +CTSPillarNetworkA,1425,1425,1425,1973-11-26,142.1999999999962,142.19948,2015-01-01 00:23:45,bin1425,75, +CTSPillarNetworkA,1426,1426,1426,1973-11-27,142.2999999999962,142.29948,2015-01-01 00:23:46,bin1426,35, +CTSPillarNetworkA,1427,1427,1427,1973-11-28,142.3999999999962,142.39949,2015-01-01 00:23:47,bin1427,75, +CTSPillarNetworkA,1428,1428,1428,1973-11-29,142.4999999999962,142.4995,2015-01-01 00:23:48,bin1428,35, +CTSPillarNetworkA,1429,1429,1429,1973-11-30,142.5999999999962,142.5995,2015-01-01 00:23:49,bin1429,75, +CTSPillarNetworkA,1430,1430,1430,1973-12-01,142.69999999999618,142.69951,2015-01-01 00:23:50,bin1430,35, +CTSPillarNetworkA,1431,1431,1431,1973-12-02,142.79999999999617,142.79951,2015-01-01 00:23:51,bin1431,75, +CTSPillarNetworkA,1432,1432,1432,1973-12-03,142.89999999999617,142.89952,2015-01-01 00:23:52,bin1432,35, +CTSPillarNetworkA,1433,1433,1433,1973-12-04,142.99999999999616,142.99953,2015-01-01 00:23:53,bin1433,75, +CTSPillarNetworkA,1434,1434,1434,1973-12-05,143.09999999999616,143.09953,2015-01-01 00:23:54,bin1434,35, +CTSPillarNetworkA,1435,1435,1435,1973-12-06,143.19999999999615,143.19954,2015-01-01 00:23:55,bin1435,75, +CTSPillarNetworkA,1436,1436,1436,1973-12-07,143.29999999999615,143.29955,2015-01-01 00:23:56,bin1436,35, +CTSPillarNetworkA,1437,1437,1437,1973-12-08,143.39999999999614,143.39955,2015-01-01 00:23:57,bin1437,75, +CTSPillarNetworkA,1438,1438,1438,1973-12-09,143.49999999999613,143.49956,2015-01-01 00:23:58,bin1438,35, +CTSPillarNetworkA,1439,1439,1439,1973-12-10,143.59999999999613,143.59956,2015-01-01 00:23:59,bin1439,75, +CTSPillarNetworkA,1440,1440,1440,1973-12-11,143.69999999999612,143.69957,2015-01-01 00:24:00,bin1440,35, +CTSPillarNetworkA,1441,1441,1441,1973-12-12,143.79999999999612,143.79958,2015-01-01 00:24:01,bin1441,75, +CTSPillarNetworkA,1442,1442,1442,1973-12-13,143.8999999999961,143.89958,2015-01-01 00:24:02,bin1442,35, +CTSPillarNetworkA,1443,1443,1443,1973-12-14,143.9999999999961,143.99959,2015-01-01 00:24:03,bin1443,75, +CTSPillarNetworkA,1444,1444,1444,1973-12-15,144.0999999999961,144.0996,2015-01-01 00:24:04,bin1444,35, +CTSPillarNetworkA,1445,1445,1445,1973-12-16,144.1999999999961,144.1996,2015-01-01 00:24:05,bin1445,75, +CTSPillarNetworkA,1446,1446,1446,1973-12-17,144.2999999999961,144.2996,2015-01-01 00:24:06,bin1446,35, +CTSPillarNetworkA,1447,1447,1447,1973-12-18,144.39999999999608,144.39961,2015-01-01 00:24:07,bin1447,75, +CTSPillarNetworkA,1448,1448,1448,1973-12-19,144.49999999999608,144.49962,2015-01-01 00:24:08,bin1448,35, +CTSPillarNetworkA,1449,1449,1449,1973-12-20,144.59999999999607,144.59962,2015-01-01 00:24:09,bin1449,75, +CTSPillarNetworkA,1450,1450,1450,1973-12-21,144.69999999999607,144.69963,2015-01-01 00:24:10,bin1450,35, +CTSPillarNetworkA,1451,1451,1451,1973-12-22,144.79999999999606,144.79964,2015-01-01 00:24:11,bin1451,75, +CTSPillarNetworkA,1452,1452,1452,1973-12-23,144.89999999999606,144.89964,2015-01-01 00:24:12,bin1452,35, +CTSPillarNetworkA,1453,1453,1453,1973-12-24,144.99999999999605,144.99965,2015-01-01 00:24:13,bin1453,75, +CTSPillarNetworkA,1454,1454,1454,1973-12-25,145.09999999999604,145.09966,2015-01-01 00:24:14,bin1454,35, +CTSPillarNetworkA,1455,1455,1455,1973-12-26,145.19999999999604,145.19966,2015-01-01 00:24:15,bin1455,75, +CTSPillarNetworkA,1456,1456,1456,1973-12-27,145.29999999999603,145.29967,2015-01-01 00:24:16,bin1456,35, +CTSPillarNetworkA,1457,1457,1457,1973-12-28,145.39999999999603,145.39967,2015-01-01 00:24:17,bin1457,75, +CTSPillarNetworkA,1458,1458,1458,1973-12-29,145.49999999999602,145.49968,2015-01-01 00:24:18,bin1458,35, +CTSPillarNetworkA,1459,1459,1459,1973-12-30,145.59999999999602,145.59969,2015-01-01 00:24:19,bin1459,75, +CTSPillarNetworkA,1460,1460,1460,1973-12-31,145.699999999996,145.69969,2015-01-01 00:24:20,bin1460,35, +CTSPillarNetworkA,1461,1461,1461,1974-01-01,145.799999999996,145.7997,2015-01-01 00:24:21,bin1461,75, +CTSPillarNetworkA,1462,1462,1462,1974-01-02,145.899999999996,145.8997,2015-01-01 00:24:22,bin1462,35, +CTSPillarNetworkA,1463,1463,1463,1974-01-03,145.999999999996,145.99971,2015-01-01 00:24:23,bin1463,75, +CTSPillarNetworkA,1464,1464,1464,1974-01-04,146.099999999996,146.09972,2015-01-01 00:24:24,bin1464,35, +CTSPillarNetworkA,1465,1465,1465,1974-01-05,146.19999999999598,146.19972,2015-01-01 00:24:25,bin1465,75, +CTSPillarNetworkA,1466,1466,1466,1974-01-06,146.29999999999598,146.29973,2015-01-01 00:24:26,bin1466,35, +CTSPillarNetworkA,1467,1467,1467,1974-01-07,146.39999999999597,146.39973,2015-01-01 00:24:27,bin1467,75, +CTSPillarNetworkA,1468,1468,1468,1974-01-08,146.49999999999596,146.49974,2015-01-01 00:24:28,bin1468,35, +CTSPillarNetworkA,1469,1469,1469,1974-01-09,146.59999999999596,146.59975,2015-01-01 00:24:29,bin1469,75, +CTSPillarNetworkA,1470,1470,1470,1974-01-10,146.69999999999595,146.69975,2015-01-01 00:24:30,bin1470,35, +CTSPillarNetworkA,1471,1471,1471,1974-01-11,146.79999999999595,146.79976,2015-01-01 00:24:31,bin1471,75, +CTSPillarNetworkA,1472,1472,1472,1974-01-12,146.89999999999594,146.89977,2015-01-01 00:24:32,bin1472,35, +CTSPillarNetworkA,1473,1473,1473,1974-01-13,146.99999999999594,146.99977,2015-01-01 00:24:33,bin1473,75, +CTSPillarNetworkA,1474,1474,1474,1974-01-14,147.09999999999593,147.09978,2015-01-01 00:24:34,bin1474,35, +CTSPillarNetworkA,1475,1475,1475,1974-01-15,147.19999999999592,147.19978,2015-01-01 00:24:35,bin1475,75, +CTSPillarNetworkA,1476,1476,1476,1974-01-16,147.29999999999592,147.29979,2015-01-01 00:24:36,bin1476,35, +CTSPillarNetworkA,1477,1477,1477,1974-01-17,147.3999999999959,147.3998,2015-01-01 00:24:37,bin1477,75, +CTSPillarNetworkA,1478,1478,1478,1974-01-18,147.4999999999959,147.4998,2015-01-01 00:24:38,bin1478,35, +CTSPillarNetworkA,1479,1479,1479,1974-01-19,147.5999999999959,147.59981,2015-01-01 00:24:39,bin1479,75, +CTSPillarNetworkA,1480,1480,1480,1974-01-20,147.6999999999959,147.69981,2015-01-01 00:24:40,bin1480,35, +CTSPillarNetworkA,1481,1481,1481,1974-01-21,147.7999999999959,147.79982,2015-01-01 00:24:41,bin1481,75, +CTSPillarNetworkA,1482,1482,1482,1974-01-22,147.89999999999588,147.89983,2015-01-01 00:24:42,bin1482,35, +CTSPillarNetworkA,1483,1483,1483,1974-01-23,147.99999999999588,147.99983,2015-01-01 00:24:43,bin1483,75, +CTSPillarNetworkA,1484,1484,1484,1974-01-24,148.09999999999587,148.09984,2015-01-01 00:24:44,bin1484,35, +CTSPillarNetworkA,1485,1485,1485,1974-01-25,148.19999999999587,148.19984,2015-01-01 00:24:45,bin1485,75, +CTSPillarNetworkA,1486,1486,1486,1974-01-26,148.29999999999586,148.29985,2015-01-01 00:24:46,bin1486,35, +CTSPillarNetworkA,1487,1487,1487,1974-01-27,148.39999999999586,148.39986,2015-01-01 00:24:47,bin1487,75, +CTSPillarNetworkA,1488,1488,1488,1974-01-28,148.49999999999585,148.49986,2015-01-01 00:24:48,bin1488,35, +CTSPillarNetworkA,1489,1489,1489,1974-01-29,148.59999999999584,148.59987,2015-01-01 00:24:49,bin1489,75, +CTSPillarNetworkA,1490,1490,1490,1974-01-30,148.69999999999584,148.69987,2015-01-01 00:24:50,bin1490,35, +CTSPillarNetworkA,1491,1491,1491,1974-01-31,148.79999999999583,148.79988,2015-01-01 00:24:51,bin1491,75, +CTSPillarNetworkA,1492,1492,1492,1974-02-01,148.89999999999583,148.89989,2015-01-01 00:24:52,bin1492,35, +CTSPillarNetworkA,1493,1493,1493,1974-02-02,148.99999999999582,148.9999,2015-01-01 00:24:53,bin1493,75, +CTSPillarNetworkA,1494,1494,1494,1974-02-03,149.09999999999582,149.0999,2015-01-01 00:24:54,bin1494,35, +CTSPillarNetworkA,1495,1495,1495,1974-02-04,149.1999999999958,149.1999,2015-01-01 00:24:55,bin1495,75, +CTSPillarNetworkA,1496,1496,1496,1974-02-05,149.2999999999958,149.29991,2015-01-01 00:24:56,bin1496,35, +CTSPillarNetworkA,1497,1497,1497,1974-02-06,149.3999999999958,149.39992,2015-01-01 00:24:57,bin1497,75, +CTSPillarNetworkA,1498,1498,1498,1974-02-07,149.4999999999958,149.49992,2015-01-01 00:24:58,bin1498,35, +CTSPillarNetworkA,1499,1499,1499,1974-02-08,149.5999999999958,149.59993,2015-01-01 00:24:59,bin1499,75, +CTSPillarNetworkA,1500,1500,1500,1974-02-09,149.69999999999578,149.69994,2015-01-01 00:25:00,bin1500,35, +CTSPillarNetworkA,1501,1501,1501,1974-02-10,149.79999999999578,149.79994,2015-01-01 00:25:01,bin1501,75, +CTSPillarNetworkA,1502,1502,1502,1974-02-11,149.89999999999577,149.89995,2015-01-01 00:25:02,bin1502,35, +CTSPillarNetworkA,1503,1503,1503,1974-02-12,149.99999999999577,149.99995,2015-01-01 00:25:03,bin1503,75, +CTSPillarNetworkA,1504,1504,1504,1974-02-13,150.09999999999576,150.09996,2015-01-01 00:25:04,bin1504,35, +CTSPillarNetworkA,1505,1505,1505,1974-02-14,150.19999999999575,150.19997,2015-01-01 00:25:05,bin1505,75, +CTSPillarNetworkA,1506,1506,1506,1974-02-15,150.29999999999575,150.29997,2015-01-01 00:25:06,bin1506,35, +CTSPillarNetworkA,1507,1507,1507,1974-02-16,150.39999999999574,150.39998,2015-01-01 00:25:07,bin1507,75, +CTSPillarNetworkA,1508,1508,1508,1974-02-17,150.49999999999574,150.49998,2015-01-01 00:25:08,bin1508,35, +CTSPillarNetworkA,1509,1509,1509,1974-02-18,150.59999999999573,150.59999,2015-01-01 00:25:09,bin1509,75, +CTSPillarNetworkA,1510,1510,1510,1974-02-19,150.69999999999573,150.7,2015-01-01 00:25:10,bin1510,35, +CTSPillarNetworkA,1511,1511,1511,1974-02-20,150.79999999999572,150.8,2015-01-01 00:25:11,bin1511,75, +CTSPillarNetworkA,1512,1512,1512,1974-02-21,150.8999999999957,150.90001,2015-01-01 00:25:12,bin1512,35, +CTSPillarNetworkA,1513,1513,1513,1974-02-22,150.9999999999957,151.00002,2015-01-01 00:25:13,bin1513,75, +CTSPillarNetworkA,1514,1514,1514,1974-02-23,151.0999999999957,151.10002,2015-01-01 00:25:14,bin1514,35, +CTSPillarNetworkA,1515,1515,1515,1974-02-24,151.1999999999957,151.20003,2015-01-01 00:25:15,bin1515,75, +CTSPillarNetworkA,1516,1516,1516,1974-02-25,151.2999999999957,151.30003,2015-01-01 00:25:16,bin1516,35, +CTSPillarNetworkA,1517,1517,1517,1974-02-26,151.39999999999569,151.40004,2015-01-01 00:25:17,bin1517,75, +CTSPillarNetworkA,1518,1518,1518,1974-02-27,151.49999999999568,151.50005,2015-01-01 00:25:18,bin1518,35, +CTSPillarNetworkA,1519,1519,1519,1974-02-28,151.59999999999567,151.60005,2015-01-01 00:25:19,bin1519,75, +CTSPillarNetworkA,1520,1520,1520,1974-03-01,151.69999999999567,151.70006,2015-01-01 00:25:20,bin1520,35, +CTSPillarNetworkA,1521,1521,1521,1974-03-02,151.79999999999566,151.80006,2015-01-01 00:25:21,bin1521,75, +CTSPillarNetworkA,1522,1522,1522,1974-03-03,151.89999999999566,151.90007,2015-01-01 00:25:22,bin1522,35, +CTSPillarNetworkA,1523,1523,1523,1974-03-04,151.99999999999565,152.00008,2015-01-01 00:25:23,bin1523,75, +CTSPillarNetworkA,1524,1524,1524,1974-03-05,152.09999999999565,152.10008,2015-01-01 00:25:24,bin1524,35, +CTSPillarNetworkA,1525,1525,1525,1974-03-06,152.19999999999564,152.20009,2015-01-01 00:25:25,bin1525,75, +CTSPillarNetworkA,1526,1526,1526,1974-03-07,152.29999999999563,152.3001,2015-01-01 00:25:26,bin1526,35, +CTSPillarNetworkA,1527,1527,1527,1974-03-08,152.39999999999563,152.4001,2015-01-01 00:25:27,bin1527,75, +CTSPillarNetworkA,1528,1528,1528,1974-03-09,152.49999999999562,152.5001,2015-01-01 00:25:28,bin1528,35, +CTSPillarNetworkA,1529,1529,1529,1974-03-10,152.59999999999562,152.60011,2015-01-01 00:25:29,bin1529,75, +CTSPillarNetworkA,1530,1530,1530,1974-03-11,152.6999999999956,152.70012,2015-01-01 00:25:30,bin1530,35, +CTSPillarNetworkA,1531,1531,1531,1974-03-12,152.7999999999956,152.80013,2015-01-01 00:25:31,bin1531,75, +CTSPillarNetworkA,1532,1532,1532,1974-03-13,152.8999999999956,152.90013,2015-01-01 00:25:32,bin1532,35, +CTSPillarNetworkA,1533,1533,1533,1974-03-14,152.9999999999956,153.00014,2015-01-01 00:25:33,bin1533,75, +CTSPillarNetworkA,1534,1534,1534,1974-03-15,153.0999999999956,153.10014,2015-01-01 00:25:34,bin1534,35, +CTSPillarNetworkA,1535,1535,1535,1974-03-16,153.19999999999558,153.20015,2015-01-01 00:25:35,bin1535,75, +CTSPillarNetworkA,1536,1536,1536,1974-03-17,153.29999999999558,153.30016,2015-01-01 00:25:36,bin1536,35, +CTSPillarNetworkA,1537,1537,1537,1974-03-18,153.39999999999557,153.40016,2015-01-01 00:25:37,bin1537,75, +CTSPillarNetworkA,1538,1538,1538,1974-03-19,153.49999999999557,153.50017,2015-01-01 00:25:38,bin1538,35, +CTSPillarNetworkA,1539,1539,1539,1974-03-20,153.59999999999556,153.60017,2015-01-01 00:25:39,bin1539,75, +CTSPillarNetworkA,1540,1540,1540,1974-03-21,153.69999999999555,153.70018,2015-01-01 00:25:40,bin1540,35, +CTSPillarNetworkA,1541,1541,1541,1974-03-22,153.79999999999555,153.80019,2015-01-01 00:25:41,bin1541,75, +CTSPillarNetworkA,1542,1542,1542,1974-03-23,153.89999999999554,153.90019,2015-01-01 00:25:42,bin1542,35, +CTSPillarNetworkA,1543,1543,1543,1974-03-24,153.99999999999554,154.0002,2015-01-01 00:25:43,bin1543,75, +CTSPillarNetworkA,1544,1544,1544,1974-03-25,154.09999999999553,154.1002,2015-01-01 00:25:44,bin1544,35, +CTSPillarNetworkA,1545,1545,1545,1974-03-26,154.19999999999553,154.20021,2015-01-01 00:25:45,bin1545,75, +CTSPillarNetworkA,1546,1546,1546,1974-03-27,154.29999999999552,154.30022,2015-01-01 00:25:46,bin1546,35, +CTSPillarNetworkA,1547,1547,1547,1974-03-28,154.39999999999552,154.40022,2015-01-01 00:25:47,bin1547,75, +CTSPillarNetworkA,1548,1548,1548,1974-03-29,154.4999999999955,154.50023,2015-01-01 00:25:48,bin1548,35, +CTSPillarNetworkA,1549,1549,1549,1974-03-30,154.5999999999955,154.60023,2015-01-01 00:25:49,bin1549,75, +CTSPillarNetworkA,1550,1550,1550,1974-03-31,154.6999999999955,154.70024,2015-01-01 00:25:50,bin1550,35, +CTSPillarNetworkA,1551,1551,1551,1974-04-01,154.7999999999955,154.80025,2015-01-01 00:25:51,bin1551,75, +CTSPillarNetworkA,1552,1552,1552,1974-04-02,154.8999999999955,154.90025,2015-01-01 00:25:52,bin1552,35, +CTSPillarNetworkA,1553,1553,1553,1974-04-03,154.99999999999548,155.00026,2015-01-01 00:25:53,bin1553,75, +CTSPillarNetworkA,1554,1554,1554,1974-04-04,155.09999999999548,155.10027,2015-01-01 00:25:54,bin1554,35, +CTSPillarNetworkA,1555,1555,1555,1974-04-05,155.19999999999547,155.20027,2015-01-01 00:25:55,bin1555,75, +CTSPillarNetworkA,1556,1556,1556,1974-04-06,155.29999999999546,155.30028,2015-01-01 00:25:56,bin1556,35, +CTSPillarNetworkA,1557,1557,1557,1974-04-07,155.39999999999546,155.40028,2015-01-01 00:25:57,bin1557,75, +CTSPillarNetworkA,1558,1558,1558,1974-04-08,155.49999999999545,155.50029,2015-01-01 00:25:58,bin1558,35, +CTSPillarNetworkA,1559,1559,1559,1974-04-09,155.59999999999545,155.6003,2015-01-01 00:25:59,bin1559,75, +CTSPillarNetworkA,1560,1560,1560,1974-04-10,155.69999999999544,155.7003,2015-01-01 00:26:00,bin1560,35, +CTSPillarNetworkA,1561,1561,1561,1974-04-11,155.79999999999544,155.80031,2015-01-01 00:26:01,bin1561,75, +CTSPillarNetworkA,1562,1562,1562,1974-04-12,155.89999999999543,155.90031,2015-01-01 00:26:02,bin1562,35, +CTSPillarNetworkA,1563,1563,1563,1974-04-13,155.99999999999542,156.00032,2015-01-01 00:26:03,bin1563,75, +CTSPillarNetworkA,1564,1564,1564,1974-04-14,156.09999999999542,156.10033,2015-01-01 00:26:04,bin1564,35, +CTSPillarNetworkA,1565,1565,1565,1974-04-15,156.1999999999954,156.20033,2015-01-01 00:26:05,bin1565,75, +CTSPillarNetworkA,1566,1566,1566,1974-04-16,156.2999999999954,156.30034,2015-01-01 00:26:06,bin1566,35, +CTSPillarNetworkA,1567,1567,1567,1974-04-17,156.3999999999954,156.40034,2015-01-01 00:26:07,bin1567,75, +CTSPillarNetworkA,1568,1568,1568,1974-04-18,156.4999999999954,156.50035,2015-01-01 00:26:08,bin1568,35, +CTSPillarNetworkA,1569,1569,1569,1974-04-19,156.5999999999954,156.60036,2015-01-01 00:26:09,bin1569,75, +CTSPillarNetworkA,1570,1570,1570,1974-04-20,156.69999999999538,156.70036,2015-01-01 00:26:10,bin1570,35, +CTSPillarNetworkA,1571,1571,1571,1974-04-21,156.79999999999538,156.80037,2015-01-01 00:26:11,bin1571,75, +CTSPillarNetworkA,1572,1572,1572,1974-04-22,156.89999999999537,156.90038,2015-01-01 00:26:12,bin1572,35, +CTSPillarNetworkA,1573,1573,1573,1974-04-23,156.99999999999537,157.00038,2015-01-01 00:26:13,bin1573,75, +CTSPillarNetworkA,1574,1574,1574,1974-04-24,157.09999999999536,157.10039,2015-01-01 00:26:14,bin1574,35, +CTSPillarNetworkA,1575,1575,1575,1974-04-25,157.19999999999536,157.2004,2015-01-01 00:26:15,bin1575,75, +CTSPillarNetworkA,1576,1576,1576,1974-04-26,157.29999999999535,157.3004,2015-01-01 00:26:16,bin1576,35, +CTSPillarNetworkA,1577,1577,1577,1974-04-27,157.39999999999534,157.4004,2015-01-01 00:26:17,bin1577,75, +CTSPillarNetworkA,1578,1578,1578,1974-04-28,157.49999999999534,157.50041,2015-01-01 00:26:18,bin1578,35, +CTSPillarNetworkA,1579,1579,1579,1974-04-29,157.59999999999533,157.60042,2015-01-01 00:26:19,bin1579,75, +CTSPillarNetworkA,1580,1580,1580,1974-04-30,157.69999999999533,157.70042,2015-01-01 00:26:20,bin1580,35, +CTSPillarNetworkA,1581,1581,1581,1974-05-01,157.79999999999532,157.80043,2015-01-01 00:26:21,bin1581,75, +CTSPillarNetworkA,1582,1582,1582,1974-05-02,157.89999999999532,157.90044,2015-01-01 00:26:22,bin1582,35, +CTSPillarNetworkA,1583,1583,1583,1974-05-03,157.9999999999953,158.00044,2015-01-01 00:26:23,bin1583,75, +CTSPillarNetworkA,1584,1584,1584,1974-05-04,158.0999999999953,158.10045,2015-01-01 00:26:24,bin1584,35, +CTSPillarNetworkA,1585,1585,1585,1974-05-05,158.1999999999953,158.20045,2015-01-01 00:26:25,bin1585,75, +CTSPillarNetworkA,1586,1586,1586,1974-05-06,158.2999999999953,158.30046,2015-01-01 00:26:26,bin1586,35, +CTSPillarNetworkA,1587,1587,1587,1974-05-07,158.3999999999953,158.40047,2015-01-01 00:26:27,bin1587,75, +CTSPillarNetworkA,1588,1588,1588,1974-05-08,158.49999999999528,158.50047,2015-01-01 00:26:28,bin1588,35, +CTSPillarNetworkA,1589,1589,1589,1974-05-09,158.59999999999528,158.60048,2015-01-01 00:26:29,bin1589,75, +CTSPillarNetworkA,1590,1590,1590,1974-05-10,158.69999999999527,158.70049,2015-01-01 00:26:30,bin1590,35, +CTSPillarNetworkA,1591,1591,1591,1974-05-11,158.79999999999526,158.80049,2015-01-01 00:26:31,bin1591,75, +CTSPillarNetworkA,1592,1592,1592,1974-05-12,158.89999999999526,158.9005,2015-01-01 00:26:32,bin1592,35, +CTSPillarNetworkA,1593,1593,1593,1974-05-13,158.99999999999525,159.0005,2015-01-01 00:26:33,bin1593,75, +CTSPillarNetworkA,1594,1594,1594,1974-05-14,159.09999999999525,159.10051,2015-01-01 00:26:34,bin1594,35, +CTSPillarNetworkA,1595,1595,1595,1974-05-15,159.19999999999524,159.20052,2015-01-01 00:26:35,bin1595,75, +CTSPillarNetworkA,1596,1596,1596,1974-05-16,159.29999999999524,159.30052,2015-01-01 00:26:36,bin1596,35, +CTSPillarNetworkA,1597,1597,1597,1974-05-17,159.39999999999523,159.40053,2015-01-01 00:26:37,bin1597,75, +CTSPillarNetworkA,1598,1598,1598,1974-05-18,159.49999999999523,159.50053,2015-01-01 00:26:38,bin1598,35, +CTSPillarNetworkA,1599,1599,1599,1974-05-19,159.59999999999522,159.60054,2015-01-01 00:26:39,bin1599,75, +CTSPillarNetworkA,1600,1600,1600,1974-05-20,159.6999999999952,159.70055,2015-01-01 00:26:40,bin1600,35, +CTSPillarNetworkA,1601,1601,1601,1974-05-21,159.7999999999952,159.80055,2015-01-01 00:26:41,bin1601,75, +CTSPillarNetworkA,1602,1602,1602,1974-05-22,159.8999999999952,159.90056,2015-01-01 00:26:42,bin1602,35, +CTSPillarNetworkA,1603,1603,1603,1974-05-23,159.9999999999952,160.00056,2015-01-01 00:26:43,bin1603,75, +CTSPillarNetworkA,1604,1604,1604,1974-05-24,160.0999999999952,160.10057,2015-01-01 00:26:44,bin1604,35, +CTSPillarNetworkA,1605,1605,1605,1974-05-25,160.19999999999519,160.20058,2015-01-01 00:26:45,bin1605,75, +CTSPillarNetworkA,1606,1606,1606,1974-05-26,160.29999999999518,160.30058,2015-01-01 00:26:46,bin1606,35, +CTSPillarNetworkA,1607,1607,1607,1974-05-27,160.39999999999517,160.40059,2015-01-01 00:26:47,bin1607,75, +CTSPillarNetworkA,1608,1608,1608,1974-05-28,160.49999999999517,160.5006,2015-01-01 00:26:48,bin1608,35, +CTSPillarNetworkA,1609,1609,1609,1974-05-29,160.59999999999516,160.6006,2015-01-01 00:26:49,bin1609,75, +CTSPillarNetworkA,1610,1610,1610,1974-05-30,160.69999999999516,160.7006,2015-01-01 00:26:50,bin1610,35, +CTSPillarNetworkA,1611,1611,1611,1974-05-31,160.79999999999515,160.80061,2015-01-01 00:26:51,bin1611,75, +CTSPillarNetworkA,1612,1612,1612,1974-06-01,160.89999999999515,160.90062,2015-01-01 00:26:52,bin1612,35, +CTSPillarNetworkA,1613,1613,1613,1974-06-02,160.99999999999514,161.00063,2015-01-01 00:26:53,bin1613,75, +CTSPillarNetworkA,1614,1614,1614,1974-06-03,161.09999999999513,161.10063,2015-01-01 00:26:54,bin1614,35, +CTSPillarNetworkA,1615,1615,1615,1974-06-04,161.19999999999513,161.20064,2015-01-01 00:26:55,bin1615,75, +CTSPillarNetworkA,1616,1616,1616,1974-06-05,161.29999999999512,161.30064,2015-01-01 00:26:56,bin1616,35, +CTSPillarNetworkA,1617,1617,1617,1974-06-06,161.39999999999512,161.40065,2015-01-01 00:26:57,bin1617,75, +CTSPillarNetworkA,1618,1618,1618,1974-06-07,161.4999999999951,161.50066,2015-01-01 00:26:58,bin1618,35, +CTSPillarNetworkA,1619,1619,1619,1974-06-08,161.5999999999951,161.60066,2015-01-01 00:26:59,bin1619,75, +CTSPillarNetworkA,1620,1620,1620,1974-06-09,161.6999999999951,161.70067,2015-01-01 00:27:00,bin1620,35, +CTSPillarNetworkA,1621,1621,1621,1974-06-10,161.7999999999951,161.80067,2015-01-01 00:27:01,bin1621,75, +CTSPillarNetworkA,1622,1622,1622,1974-06-11,161.8999999999951,161.90068,2015-01-01 00:27:02,bin1622,35, +CTSPillarNetworkA,1623,1623,1623,1974-06-12,161.99999999999508,162.00069,2015-01-01 00:27:03,bin1623,75, +CTSPillarNetworkA,1624,1624,1624,1974-06-13,162.09999999999508,162.1007,2015-01-01 00:27:04,bin1624,35, +CTSPillarNetworkA,1625,1625,1625,1974-06-14,162.19999999999507,162.2007,2015-01-01 00:27:05,bin1625,75, +CTSPillarNetworkA,1626,1626,1626,1974-06-15,162.29999999999507,162.3007,2015-01-01 00:27:06,bin1626,35, +CTSPillarNetworkA,1627,1627,1627,1974-06-16,162.39999999999506,162.40071,2015-01-01 00:27:07,bin1627,75, +CTSPillarNetworkA,1628,1628,1628,1974-06-17,162.49999999999505,162.50072,2015-01-01 00:27:08,bin1628,35, +CTSPillarNetworkA,1629,1629,1629,1974-06-18,162.59999999999505,162.60072,2015-01-01 00:27:09,bin1629,75, +CTSPillarNetworkA,1630,1630,1630,1974-06-19,162.69999999999504,162.70073,2015-01-01 00:27:10,bin1630,35, +CTSPillarNetworkA,1631,1631,1631,1974-06-20,162.79999999999504,162.80074,2015-01-01 00:27:11,bin1631,75, +CTSPillarNetworkA,1632,1632,1632,1974-06-21,162.89999999999503,162.90074,2015-01-01 00:27:12,bin1632,35, +CTSPillarNetworkA,1633,1633,1633,1974-06-22,162.99999999999503,163.00075,2015-01-01 00:27:13,bin1633,75, +CTSPillarNetworkA,1634,1634,1634,1974-06-23,163.09999999999502,163.10075,2015-01-01 00:27:14,bin1634,35, +CTSPillarNetworkA,1635,1635,1635,1974-06-24,163.19999999999501,163.20076,2015-01-01 00:27:15,bin1635,75, +CTSPillarNetworkA,1636,1636,1636,1974-06-25,163.299999999995,163.30077,2015-01-01 00:27:16,bin1636,35, +CTSPillarNetworkA,1637,1637,1637,1974-06-26,163.399999999995,163.40077,2015-01-01 00:27:17,bin1637,75, +CTSPillarNetworkA,1638,1638,1638,1974-06-27,163.499999999995,163.50078,2015-01-01 00:27:18,bin1638,35, +CTSPillarNetworkA,1639,1639,1639,1974-06-28,163.599999999995,163.60078,2015-01-01 00:27:19,bin1639,75, +CTSPillarNetworkA,1640,1640,1640,1974-06-29,163.699999999995,163.70079,2015-01-01 00:27:20,bin1640,35, +CTSPillarNetworkA,1641,1641,1641,1974-06-30,163.79999999999498,163.8008,2015-01-01 00:27:21,bin1641,75, +CTSPillarNetworkA,1642,1642,1642,1974-07-01,163.89999999999498,163.9008,2015-01-01 00:27:22,bin1642,35, +CTSPillarNetworkA,1643,1643,1643,1974-07-02,163.99999999999497,164.00081,2015-01-01 00:27:23,bin1643,75, +CTSPillarNetworkA,1644,1644,1644,1974-07-03,164.09999999999496,164.10081,2015-01-01 00:27:24,bin1644,35, +CTSPillarNetworkA,1645,1645,1645,1974-07-04,164.19999999999496,164.20082,2015-01-01 00:27:25,bin1645,75, +CTSPillarNetworkA,1646,1646,1646,1974-07-05,164.29999999999495,164.30083,2015-01-01 00:27:26,bin1646,35, +CTSPillarNetworkA,1647,1647,1647,1974-07-06,164.39999999999495,164.40083,2015-01-01 00:27:27,bin1647,75, +CTSPillarNetworkA,1648,1648,1648,1974-07-07,164.49999999999494,164.50084,2015-01-01 00:27:28,bin1648,35, +CTSPillarNetworkA,1649,1649,1649,1974-07-08,164.59999999999494,164.60085,2015-01-01 00:27:29,bin1649,75, +CTSPillarNetworkA,1650,1650,1650,1974-07-09,164.69999999999493,164.70085,2015-01-01 00:27:30,bin1650,35, +CTSPillarNetworkA,1651,1651,1651,1974-07-10,164.79999999999492,164.80086,2015-01-01 00:27:31,bin1651,75, +CTSPillarNetworkA,1652,1652,1652,1974-07-11,164.89999999999492,164.90086,2015-01-01 00:27:32,bin1652,35, +CTSPillarNetworkA,1653,1653,1653,1974-07-12,164.9999999999949,165.00087,2015-01-01 00:27:33,bin1653,75, +CTSPillarNetworkA,1654,1654,1654,1974-07-13,165.0999999999949,165.10088,2015-01-01 00:27:34,bin1654,35, +CTSPillarNetworkA,1655,1655,1655,1974-07-14,165.1999999999949,165.20088,2015-01-01 00:27:35,bin1655,75, +CTSPillarNetworkA,1656,1656,1656,1974-07-15,165.2999999999949,165.30089,2015-01-01 00:27:36,bin1656,35, +CTSPillarNetworkA,1657,1657,1657,1974-07-16,165.3999999999949,165.4009,2015-01-01 00:27:37,bin1657,75, +CTSPillarNetworkA,1658,1658,1658,1974-07-17,165.49999999999488,165.5009,2015-01-01 00:27:38,bin1658,35, +CTSPillarNetworkA,1659,1659,1659,1974-07-18,165.59999999999488,165.6009,2015-01-01 00:27:39,bin1659,75, +CTSPillarNetworkA,1660,1660,1660,1974-07-19,165.69999999999487,165.70091,2015-01-01 00:27:40,bin1660,35, +CTSPillarNetworkA,1661,1661,1661,1974-07-20,165.79999999999487,165.80092,2015-01-01 00:27:41,bin1661,75, +CTSPillarNetworkA,1662,1662,1662,1974-07-21,165.89999999999486,165.90092,2015-01-01 00:27:42,bin1662,35, +CTSPillarNetworkA,1663,1663,1663,1974-07-22,165.99999999999486,166.00093,2015-01-01 00:27:43,bin1663,75, +CTSPillarNetworkA,1664,1664,1664,1974-07-23,166.09999999999485,166.10094,2015-01-01 00:27:44,bin1664,35, +CTSPillarNetworkA,1665,1665,1665,1974-07-24,166.19999999999484,166.20094,2015-01-01 00:27:45,bin1665,75, +CTSPillarNetworkA,1666,1666,1666,1974-07-25,166.29999999999484,166.30095,2015-01-01 00:27:46,bin1666,35, +CTSPillarNetworkA,1667,1667,1667,1974-07-26,166.39999999999483,166.40096,2015-01-01 00:27:47,bin1667,75, +CTSPillarNetworkA,1668,1668,1668,1974-07-27,166.49999999999483,166.50096,2015-01-01 00:27:48,bin1668,35, +CTSPillarNetworkA,1669,1669,1669,1974-07-28,166.59999999999482,166.60097,2015-01-01 00:27:49,bin1669,75, +CTSPillarNetworkA,1670,1670,1670,1974-07-29,166.69999999999482,166.70097,2015-01-01 00:27:50,bin1670,35, +CTSPillarNetworkA,1671,1671,1671,1974-07-30,166.7999999999948,166.80098,2015-01-01 00:27:51,bin1671,75, +CTSPillarNetworkA,1672,1672,1672,1974-07-31,166.8999999999948,166.90099,2015-01-01 00:27:52,bin1672,35, +CTSPillarNetworkA,1673,1673,1673,1974-08-01,166.9999999999948,167.00099,2015-01-01 00:27:53,bin1673,75, +CTSPillarNetworkA,1674,1674,1674,1974-08-02,167.0999999999948,167.101,2015-01-01 00:27:54,bin1674,35, +CTSPillarNetworkA,1675,1675,1675,1974-08-03,167.1999999999948,167.201,2015-01-01 00:27:55,bin1675,75, +CTSPillarNetworkA,1676,1676,1676,1974-08-04,167.29999999999478,167.30101,2015-01-01 00:27:56,bin1676,35, +CTSPillarNetworkA,1677,1677,1677,1974-08-05,167.39999999999478,167.40102,2015-01-01 00:27:57,bin1677,75, +CTSPillarNetworkA,1678,1678,1678,1974-08-06,167.49999999999477,167.50102,2015-01-01 00:27:58,bin1678,35, +CTSPillarNetworkA,1679,1679,1679,1974-08-07,167.59999999999476,167.60103,2015-01-01 00:27:59,bin1679,75, +CTSPillarNetworkA,1680,1680,1680,1974-08-08,167.69999999999476,167.70103,2015-01-01 00:28:00,bin1680,35, +CTSPillarNetworkA,1681,1681,1681,1974-08-09,167.79999999999475,167.80104,2015-01-01 00:28:01,bin1681,75, +CTSPillarNetworkA,1682,1682,1682,1974-08-10,167.89999999999475,167.90105,2015-01-01 00:28:02,bin1682,35, +CTSPillarNetworkA,1683,1683,1683,1974-08-11,167.99999999999474,168.00105,2015-01-01 00:28:03,bin1683,75, +CTSPillarNetworkA,1684,1684,1684,1974-08-12,168.09999999999474,168.10106,2015-01-01 00:28:04,bin1684,35, +CTSPillarNetworkA,1685,1685,1685,1974-08-13,168.19999999999473,168.20107,2015-01-01 00:28:05,bin1685,75, +CTSPillarNetworkA,1686,1686,1686,1974-08-14,168.29999999999472,168.30107,2015-01-01 00:28:06,bin1686,35, +CTSPillarNetworkA,1687,1687,1687,1974-08-15,168.39999999999472,168.40108,2015-01-01 00:28:07,bin1687,75, +CTSPillarNetworkA,1688,1688,1688,1974-08-16,168.4999999999947,168.50108,2015-01-01 00:28:08,bin1688,35, +CTSPillarNetworkA,1689,1689,1689,1974-08-17,168.5999999999947,168.60109,2015-01-01 00:28:09,bin1689,75, +CTSPillarNetworkA,1690,1690,1690,1974-08-18,168.6999999999947,168.7011,2015-01-01 00:28:10,bin1690,35, +CTSPillarNetworkA,1691,1691,1691,1974-08-19,168.7999999999947,168.8011,2015-01-01 00:28:11,bin1691,75, +CTSPillarNetworkA,1692,1692,1692,1974-08-20,168.8999999999947,168.90111,2015-01-01 00:28:12,bin1692,35, +CTSPillarNetworkA,1693,1693,1693,1974-08-21,168.99999999999469,169.00111,2015-01-01 00:28:13,bin1693,75, +CTSPillarNetworkA,1694,1694,1694,1974-08-22,169.09999999999468,169.10112,2015-01-01 00:28:14,bin1694,35, +CTSPillarNetworkA,1695,1695,1695,1974-08-23,169.19999999999467,169.20113,2015-01-01 00:28:15,bin1695,75, +CTSPillarNetworkA,1696,1696,1696,1974-08-24,169.29999999999467,169.30113,2015-01-01 00:28:16,bin1696,35, +CTSPillarNetworkA,1697,1697,1697,1974-08-25,169.39999999999466,169.40114,2015-01-01 00:28:17,bin1697,75, +CTSPillarNetworkA,1698,1698,1698,1974-08-26,169.49999999999466,169.50114,2015-01-01 00:28:18,bin1698,35, +CTSPillarNetworkA,1699,1699,1699,1974-08-27,169.59999999999465,169.60115,2015-01-01 00:28:19,bin1699,75, +CTSPillarNetworkA,1700,1700,1700,1974-08-28,169.69999999999465,169.70116,2015-01-01 00:28:20,bin1700,35, +CTSPillarNetworkA,1701,1701,1701,1974-08-29,169.79999999999464,169.80116,2015-01-01 00:28:21,bin1701,75, +CTSPillarNetworkA,1702,1702,1702,1974-08-30,169.89999999999463,169.90117,2015-01-01 00:28:22,bin1702,35, +CTSPillarNetworkA,1703,1703,1703,1974-08-31,169.99999999999463,170.00117,2015-01-01 00:28:23,bin1703,75, +CTSPillarNetworkA,1704,1704,1704,1974-09-01,170.09999999999462,170.10118,2015-01-01 00:28:24,bin1704,35, +CTSPillarNetworkA,1705,1705,1705,1974-09-02,170.19999999999462,170.20119,2015-01-01 00:28:25,bin1705,75, +CTSPillarNetworkA,1706,1706,1706,1974-09-03,170.2999999999946,170.3012,2015-01-01 00:28:26,bin1706,35, +CTSPillarNetworkA,1707,1707,1707,1974-09-04,170.3999999999946,170.4012,2015-01-01 00:28:27,bin1707,75, +CTSPillarNetworkA,1708,1708,1708,1974-09-05,170.4999999999946,170.5012,2015-01-01 00:28:28,bin1708,35, +CTSPillarNetworkA,1709,1709,1709,1974-09-06,170.5999999999946,170.60121,2015-01-01 00:28:29,bin1709,75, +CTSPillarNetworkA,1710,1710,1710,1974-09-07,170.6999999999946,170.70122,2015-01-01 00:28:30,bin1710,35, +CTSPillarNetworkA,1711,1711,1711,1974-09-08,170.79999999999458,170.80122,2015-01-01 00:28:31,bin1711,75, +CTSPillarNetworkA,1712,1712,1712,1974-09-09,170.89999999999458,170.90123,2015-01-01 00:28:32,bin1712,35, +CTSPillarNetworkA,1713,1713,1713,1974-09-10,170.99999999999457,171.00124,2015-01-01 00:28:33,bin1713,75, +CTSPillarNetworkA,1714,1714,1714,1974-09-11,171.09999999999457,171.10124,2015-01-01 00:28:34,bin1714,35, +CTSPillarNetworkA,1715,1715,1715,1974-09-12,171.19999999999456,171.20125,2015-01-01 00:28:35,bin1715,75, +CTSPillarNetworkA,1716,1716,1716,1974-09-13,171.29999999999455,171.30125,2015-01-01 00:28:36,bin1716,35, +CTSPillarNetworkA,1717,1717,1717,1974-09-14,171.39999999999455,171.40126,2015-01-01 00:28:37,bin1717,75, +CTSPillarNetworkA,1718,1718,1718,1974-09-15,171.49999999999454,171.50127,2015-01-01 00:28:38,bin1718,35, +CTSPillarNetworkA,1719,1719,1719,1974-09-16,171.59999999999454,171.60127,2015-01-01 00:28:39,bin1719,75, +CTSPillarNetworkA,1720,1720,1720,1974-09-17,171.69999999999453,171.70128,2015-01-01 00:28:40,bin1720,35, +CTSPillarNetworkA,1721,1721,1721,1974-09-18,171.79999999999453,171.80128,2015-01-01 00:28:41,bin1721,75, +CTSPillarNetworkA,1722,1722,1722,1974-09-19,171.89999999999452,171.90129,2015-01-01 00:28:42,bin1722,35, +CTSPillarNetworkA,1723,1723,1723,1974-09-20,171.99999999999451,172.0013,2015-01-01 00:28:43,bin1723,75, +CTSPillarNetworkA,1724,1724,1724,1974-09-21,172.0999999999945,172.1013,2015-01-01 00:28:44,bin1724,35, +CTSPillarNetworkA,1725,1725,1725,1974-09-22,172.1999999999945,172.20131,2015-01-01 00:28:45,bin1725,75, +CTSPillarNetworkA,1726,1726,1726,1974-09-23,172.2999999999945,172.30132,2015-01-01 00:28:46,bin1726,35, +CTSPillarNetworkA,1727,1727,1727,1974-09-24,172.3999999999945,172.40132,2015-01-01 00:28:47,bin1727,75, +CTSPillarNetworkA,1728,1728,1728,1974-09-25,172.4999999999945,172.50133,2015-01-01 00:28:48,bin1728,35, +CTSPillarNetworkA,1729,1729,1729,1974-09-26,172.59999999999448,172.60133,2015-01-01 00:28:49,bin1729,75, +CTSPillarNetworkA,1730,1730,1730,1974-09-27,172.69999999999447,172.70134,2015-01-01 00:28:50,bin1730,35, +CTSPillarNetworkA,1731,1731,1731,1974-09-28,172.79999999999447,172.80135,2015-01-01 00:28:51,bin1731,75, +CTSPillarNetworkA,1732,1732,1732,1974-09-29,172.89999999999446,172.90135,2015-01-01 00:28:52,bin1732,35, +CTSPillarNetworkA,1733,1733,1733,1974-09-30,172.99999999999446,173.00136,2015-01-01 00:28:53,bin1733,75, +CTSPillarNetworkA,1734,1734,1734,1974-10-01,173.09999999999445,173.10136,2015-01-01 00:28:54,bin1734,35, +CTSPillarNetworkA,1735,1735,1735,1974-10-02,173.19999999999445,173.20137,2015-01-01 00:28:55,bin1735,75, +CTSPillarNetworkA,1736,1736,1736,1974-10-03,173.29999999999444,173.30138,2015-01-01 00:28:56,bin1736,35, +CTSPillarNetworkA,1737,1737,1737,1974-10-04,173.39999999999444,173.40138,2015-01-01 00:28:57,bin1737,75, +CTSPillarNetworkA,1738,1738,1738,1974-10-05,173.49999999999443,173.50139,2015-01-01 00:28:58,bin1738,35, +CTSPillarNetworkA,1739,1739,1739,1974-10-06,173.59999999999442,173.6014,2015-01-01 00:28:59,bin1739,75, +CTSPillarNetworkA,1740,1740,1740,1974-10-07,173.69999999999442,173.7014,2015-01-01 00:29:00,bin1740,35, +CTSPillarNetworkA,1741,1741,1741,1974-10-08,173.7999999999944,173.8014,2015-01-01 00:29:01,bin1741,75, +CTSPillarNetworkA,1742,1742,1742,1974-10-09,173.8999999999944,173.90141,2015-01-01 00:29:02,bin1742,35, +CTSPillarNetworkA,1743,1743,1743,1974-10-10,173.9999999999944,174.00142,2015-01-01 00:29:03,bin1743,75, +CTSPillarNetworkA,1744,1744,1744,1974-10-11,174.0999999999944,174.10143,2015-01-01 00:29:04,bin1744,35, +CTSPillarNetworkA,1745,1745,1745,1974-10-12,174.1999999999944,174.20143,2015-01-01 00:29:05,bin1745,75, +CTSPillarNetworkA,1746,1746,1746,1974-10-13,174.29999999999438,174.30144,2015-01-01 00:29:06,bin1746,35, +CTSPillarNetworkA,1747,1747,1747,1974-10-14,174.39999999999438,174.40144,2015-01-01 00:29:07,bin1747,75, +CTSPillarNetworkA,1748,1748,1748,1974-10-15,174.49999999999437,174.50145,2015-01-01 00:29:08,bin1748,35, +CTSPillarNetworkA,1749,1749,1749,1974-10-16,174.59999999999437,174.60146,2015-01-01 00:29:09,bin1749,75, +CTSPillarNetworkA,1750,1750,1750,1974-10-17,174.69999999999436,174.70146,2015-01-01 00:29:10,bin1750,35, +CTSPillarNetworkA,1751,1751,1751,1974-10-18,174.79999999999436,174.80147,2015-01-01 00:29:11,bin1751,75, +CTSPillarNetworkA,1752,1752,1752,1974-10-19,174.89999999999435,174.90147,2015-01-01 00:29:12,bin1752,35, +CTSPillarNetworkA,1753,1753,1753,1974-10-20,174.99999999999434,175.00148,2015-01-01 00:29:13,bin1753,75, +CTSPillarNetworkA,1754,1754,1754,1974-10-21,175.09999999999434,175.10149,2015-01-01 00:29:14,bin1754,35, +CTSPillarNetworkA,1755,1755,1755,1974-10-22,175.19999999999433,175.20149,2015-01-01 00:29:15,bin1755,75, +CTSPillarNetworkA,1756,1756,1756,1974-10-23,175.29999999999433,175.3015,2015-01-01 00:29:16,bin1756,35, +CTSPillarNetworkA,1757,1757,1757,1974-10-24,175.39999999999432,175.4015,2015-01-01 00:29:17,bin1757,75, +CTSPillarNetworkA,1758,1758,1758,1974-10-25,175.49999999999432,175.50151,2015-01-01 00:29:18,bin1758,35, +CTSPillarNetworkA,1759,1759,1759,1974-10-26,175.5999999999943,175.60152,2015-01-01 00:29:19,bin1759,75, +CTSPillarNetworkA,1760,1760,1760,1974-10-27,175.6999999999943,175.70152,2015-01-01 00:29:20,bin1760,35, +CTSPillarNetworkA,1761,1761,1761,1974-10-28,175.7999999999943,175.80153,2015-01-01 00:29:21,bin1761,75, +CTSPillarNetworkA,1762,1762,1762,1974-10-29,175.8999999999943,175.90154,2015-01-01 00:29:22,bin1762,35, +CTSPillarNetworkA,1763,1763,1763,1974-10-30,175.9999999999943,176.00154,2015-01-01 00:29:23,bin1763,75, +CTSPillarNetworkA,1764,1764,1764,1974-10-31,176.09999999999428,176.10155,2015-01-01 00:29:24,bin1764,35, +CTSPillarNetworkA,1765,1765,1765,1974-11-01,176.19999999999428,176.20155,2015-01-01 00:29:25,bin1765,75, +CTSPillarNetworkA,1766,1766,1766,1974-11-02,176.29999999999427,176.30156,2015-01-01 00:29:26,bin1766,35, +CTSPillarNetworkA,1767,1767,1767,1974-11-03,176.39999999999426,176.40157,2015-01-01 00:29:27,bin1767,75, +CTSPillarNetworkA,1768,1768,1768,1974-11-04,176.49999999999426,176.50157,2015-01-01 00:29:28,bin1768,35, +CTSPillarNetworkA,1769,1769,1769,1974-11-05,176.59999999999425,176.60158,2015-01-01 00:29:29,bin1769,75, +CTSPillarNetworkA,1770,1770,1770,1974-11-06,176.69999999999425,176.70158,2015-01-01 00:29:30,bin1770,35, +CTSPillarNetworkA,1771,1771,1771,1974-11-07,176.79999999999424,176.80159,2015-01-01 00:29:31,bin1771,75, +CTSPillarNetworkA,1772,1772,1772,1974-11-08,176.89999999999424,176.9016,2015-01-01 00:29:32,bin1772,35, +CTSPillarNetworkA,1773,1773,1773,1974-11-09,176.99999999999423,177.0016,2015-01-01 00:29:33,bin1773,75, +CTSPillarNetworkA,1774,1774,1774,1974-11-10,177.09999999999422,177.10161,2015-01-01 00:29:34,bin1774,35, +CTSPillarNetworkA,1775,1775,1775,1974-11-11,177.19999999999422,177.20161,2015-01-01 00:29:35,bin1775,75, +CTSPillarNetworkA,1776,1776,1776,1974-11-12,177.2999999999942,177.30162,2015-01-01 00:29:36,bin1776,35, +CTSPillarNetworkA,1777,1777,1777,1974-11-13,177.3999999999942,177.40163,2015-01-01 00:29:37,bin1777,75, +CTSPillarNetworkA,1778,1778,1778,1974-11-14,177.4999999999942,177.50163,2015-01-01 00:29:38,bin1778,35, +CTSPillarNetworkA,1779,1779,1779,1974-11-15,177.5999999999942,177.60164,2015-01-01 00:29:39,bin1779,75, +CTSPillarNetworkA,1780,1780,1780,1974-11-16,177.6999999999942,177.70164,2015-01-01 00:29:40,bin1780,35, +CTSPillarNetworkA,1781,1781,1781,1974-11-17,177.79999999999418,177.80165,2015-01-01 00:29:41,bin1781,75, +CTSPillarNetworkA,1782,1782,1782,1974-11-18,177.89999999999418,177.90166,2015-01-01 00:29:42,bin1782,35, +CTSPillarNetworkA,1783,1783,1783,1974-11-19,177.99999999999417,178.00166,2015-01-01 00:29:43,bin1783,75, +CTSPillarNetworkA,1784,1784,1784,1974-11-20,178.09999999999417,178.10167,2015-01-01 00:29:44,bin1784,35, +CTSPillarNetworkA,1785,1785,1785,1974-11-21,178.19999999999416,178.20168,2015-01-01 00:29:45,bin1785,75, +CTSPillarNetworkA,1786,1786,1786,1974-11-22,178.29999999999416,178.30168,2015-01-01 00:29:46,bin1786,35, +CTSPillarNetworkA,1787,1787,1787,1974-11-23,178.39999999999415,178.40169,2015-01-01 00:29:47,bin1787,75, +CTSPillarNetworkA,1788,1788,1788,1974-11-24,178.49999999999415,178.5017,2015-01-01 00:29:48,bin1788,35, +CTSPillarNetworkA,1789,1789,1789,1974-11-25,178.59999999999414,178.6017,2015-01-01 00:29:49,bin1789,75, +CTSPillarNetworkA,1790,1790,1790,1974-11-26,178.69999999999413,178.7017,2015-01-01 00:29:50,bin1790,35, +CTSPillarNetworkA,1791,1791,1791,1974-11-27,178.79999999999413,178.80171,2015-01-01 00:29:51,bin1791,75, +CTSPillarNetworkA,1792,1792,1792,1974-11-28,178.89999999999412,178.90172,2015-01-01 00:29:52,bin1792,35, +CTSPillarNetworkA,1793,1793,1793,1974-11-29,178.99999999999412,179.00172,2015-01-01 00:29:53,bin1793,75, +CTSPillarNetworkA,1794,1794,1794,1974-11-30,179.0999999999941,179.10173,2015-01-01 00:29:54,bin1794,35, +CTSPillarNetworkA,1795,1795,1795,1974-12-01,179.1999999999941,179.20174,2015-01-01 00:29:55,bin1795,75, +CTSPillarNetworkA,1796,1796,1796,1974-12-02,179.2999999999941,179.30174,2015-01-01 00:29:56,bin1796,35, +CTSPillarNetworkA,1797,1797,1797,1974-12-03,179.3999999999941,179.40175,2015-01-01 00:29:57,bin1797,75, +CTSPillarNetworkA,1798,1798,1798,1974-12-04,179.4999999999941,179.50175,2015-01-01 00:29:58,bin1798,35, +CTSPillarNetworkA,1799,1799,1799,1974-12-05,179.59999999999408,179.60176,2015-01-01 00:29:59,bin1799,75, +CTSPillarNetworkA,1800,1800,1800,1974-12-06,179.69999999999408,179.70177,2015-01-01 00:30:00,bin1800,35, +CTSPillarNetworkA,1801,1801,1801,1974-12-07,179.79999999999407,179.80177,2015-01-01 00:30:01,bin1801,75, +CTSPillarNetworkA,1802,1802,1802,1974-12-08,179.89999999999407,179.90178,2015-01-01 00:30:02,bin1802,35, +CTSPillarNetworkA,1803,1803,1803,1974-12-09,179.99999999999406,180.00179,2015-01-01 00:30:03,bin1803,75, +CTSPillarNetworkA,1804,1804,1804,1974-12-10,180.09999999999405,180.10179,2015-01-01 00:30:04,bin1804,35, +CTSPillarNetworkA,1805,1805,1805,1974-12-11,180.19999999999405,180.2018,2015-01-01 00:30:05,bin1805,75, +CTSPillarNetworkA,1806,1806,1806,1974-12-12,180.29999999999404,180.3018,2015-01-01 00:30:06,bin1806,35, +CTSPillarNetworkA,1807,1807,1807,1974-12-13,180.39999999999404,180.40181,2015-01-01 00:30:07,bin1807,75, +CTSPillarNetworkA,1808,1808,1808,1974-12-14,180.49999999999403,180.50182,2015-01-01 00:30:08,bin1808,35, +CTSPillarNetworkA,1809,1809,1809,1974-12-15,180.59999999999403,180.60182,2015-01-01 00:30:09,bin1809,75, +CTSPillarNetworkA,1810,1810,1810,1974-12-16,180.69999999999402,180.70183,2015-01-01 00:30:10,bin1810,35, +CTSPillarNetworkA,1811,1811,1811,1974-12-17,180.79999999999401,180.80183,2015-01-01 00:30:11,bin1811,75, +CTSPillarNetworkA,1812,1812,1812,1974-12-18,180.899999999994,180.90184,2015-01-01 00:30:12,bin1812,35, +CTSPillarNetworkA,1813,1813,1813,1974-12-19,180.999999999994,181.00185,2015-01-01 00:30:13,bin1813,75, +CTSPillarNetworkA,1814,1814,1814,1974-12-20,181.099999999994,181.10185,2015-01-01 00:30:14,bin1814,35, +CTSPillarNetworkA,1815,1815,1815,1974-12-21,181.199999999994,181.20186,2015-01-01 00:30:15,bin1815,75, +CTSPillarNetworkA,1816,1816,1816,1974-12-22,181.299999999994,181.30186,2015-01-01 00:30:16,bin1816,35, +CTSPillarNetworkA,1817,1817,1817,1974-12-23,181.39999999999398,181.40187,2015-01-01 00:30:17,bin1817,75, +CTSPillarNetworkA,1818,1818,1818,1974-12-24,181.49999999999397,181.50188,2015-01-01 00:30:18,bin1818,35, +CTSPillarNetworkA,1819,1819,1819,1974-12-25,181.59999999999397,181.60188,2015-01-01 00:30:19,bin1819,75, +CTSPillarNetworkA,1820,1820,1820,1974-12-26,181.69999999999396,181.70189,2015-01-01 00:30:20,bin1820,35, +CTSPillarNetworkA,1821,1821,1821,1974-12-27,181.79999999999396,181.8019,2015-01-01 00:30:21,bin1821,75, +CTSPillarNetworkA,1822,1822,1822,1974-12-28,181.89999999999395,181.9019,2015-01-01 00:30:22,bin1822,35, +CTSPillarNetworkA,1823,1823,1823,1974-12-29,181.99999999999395,182.0019,2015-01-01 00:30:23,bin1823,75, +CTSPillarNetworkA,1824,1824,1824,1974-12-30,182.09999999999394,182.10191,2015-01-01 00:30:24,bin1824,35, +CTSPillarNetworkA,1825,1825,1825,1974-12-31,182.19999999999393,182.20192,2015-01-01 00:30:25,bin1825,75, +CTSPillarNetworkA,1826,1826,1826,1975-01-01,182.29999999999393,182.30193,2015-01-01 00:30:26,bin1826,35, +CTSPillarNetworkA,1827,1827,1827,1975-01-02,182.39999999999392,182.40193,2015-01-01 00:30:27,bin1827,75, +CTSPillarNetworkA,1828,1828,1828,1975-01-03,182.49999999999392,182.50194,2015-01-01 00:30:28,bin1828,35, +CTSPillarNetworkA,1829,1829,1829,1975-01-04,182.5999999999939,182.60194,2015-01-01 00:30:29,bin1829,75, +CTSPillarNetworkA,1830,1830,1830,1975-01-05,182.6999999999939,182.70195,2015-01-01 00:30:30,bin1830,35, +CTSPillarNetworkA,1831,1831,1831,1975-01-06,182.7999999999939,182.80196,2015-01-01 00:30:31,bin1831,75, +CTSPillarNetworkA,1832,1832,1832,1975-01-07,182.8999999999939,182.90196,2015-01-01 00:30:32,bin1832,35, +CTSPillarNetworkA,1833,1833,1833,1975-01-08,182.9999999999939,183.00197,2015-01-01 00:30:33,bin1833,75, +CTSPillarNetworkA,1834,1834,1834,1975-01-09,183.09999999999388,183.10197,2015-01-01 00:30:34,bin1834,35, +CTSPillarNetworkA,1835,1835,1835,1975-01-10,183.19999999999388,183.20198,2015-01-01 00:30:35,bin1835,75, +CTSPillarNetworkA,1836,1836,1836,1975-01-11,183.29999999999387,183.30199,2015-01-01 00:30:36,bin1836,35, +CTSPillarNetworkA,1837,1837,1837,1975-01-12,183.39999999999387,183.402,2015-01-01 00:30:37,bin1837,75, +CTSPillarNetworkA,1838,1838,1838,1975-01-13,183.49999999999386,183.502,2015-01-01 00:30:38,bin1838,35, +CTSPillarNetworkA,1839,1839,1839,1975-01-14,183.59999999999386,183.602,2015-01-01 00:30:39,bin1839,75, +CTSPillarNetworkA,1840,1840,1840,1975-01-15,183.69999999999385,183.70201,2015-01-01 00:30:40,bin1840,35, +CTSPillarNetworkA,1841,1841,1841,1975-01-16,183.79999999999384,183.80202,2015-01-01 00:30:41,bin1841,75, +CTSPillarNetworkA,1842,1842,1842,1975-01-17,183.89999999999384,183.90202,2015-01-01 00:30:42,bin1842,35, +CTSPillarNetworkA,1843,1843,1843,1975-01-18,183.99999999999383,184.00203,2015-01-01 00:30:43,bin1843,75, +CTSPillarNetworkA,1844,1844,1844,1975-01-19,184.09999999999383,184.10204,2015-01-01 00:30:44,bin1844,35, +CTSPillarNetworkA,1845,1845,1845,1975-01-20,184.19999999999382,184.20204,2015-01-01 00:30:45,bin1845,75, +CTSPillarNetworkA,1846,1846,1846,1975-01-21,184.29999999999382,184.30205,2015-01-01 00:30:46,bin1846,35, +CTSPillarNetworkA,1847,1847,1847,1975-01-22,184.3999999999938,184.40205,2015-01-01 00:30:47,bin1847,75, +CTSPillarNetworkA,1848,1848,1848,1975-01-23,184.4999999999938,184.50206,2015-01-01 00:30:48,bin1848,35, +CTSPillarNetworkA,1849,1849,1849,1975-01-24,184.5999999999938,184.60207,2015-01-01 00:30:49,bin1849,75, +CTSPillarNetworkA,1850,1850,1850,1975-01-25,184.6999999999938,184.70207,2015-01-01 00:30:50,bin1850,35, +CTSPillarNetworkA,1851,1851,1851,1975-01-26,184.7999999999938,184.80208,2015-01-01 00:30:51,bin1851,75, +CTSPillarNetworkA,1852,1852,1852,1975-01-27,184.89999999999378,184.90208,2015-01-01 00:30:52,bin1852,35, +CTSPillarNetworkA,1853,1853,1853,1975-01-28,184.99999999999378,185.00209,2015-01-01 00:30:53,bin1853,75, +CTSPillarNetworkA,1854,1854,1854,1975-01-29,185.09999999999377,185.1021,2015-01-01 00:30:54,bin1854,35, +CTSPillarNetworkA,1855,1855,1855,1975-01-30,185.19999999999376,185.2021,2015-01-01 00:30:55,bin1855,75, +CTSPillarNetworkA,1856,1856,1856,1975-01-31,185.29999999999376,185.30211,2015-01-01 00:30:56,bin1856,35, +CTSPillarNetworkA,1857,1857,1857,1975-02-01,185.39999999999375,185.40211,2015-01-01 00:30:57,bin1857,75, +CTSPillarNetworkA,1858,1858,1858,1975-02-02,185.49999999999375,185.50212,2015-01-01 00:30:58,bin1858,35, +CTSPillarNetworkA,1859,1859,1859,1975-02-03,185.59999999999374,185.60213,2015-01-01 00:30:59,bin1859,75, +CTSPillarNetworkA,1860,1860,1860,1975-02-04,185.69999999999374,185.70213,2015-01-01 00:31:00,bin1860,35, +CTSPillarNetworkA,1861,1861,1861,1975-02-05,185.79999999999373,185.80214,2015-01-01 00:31:01,bin1861,75, +CTSPillarNetworkA,1862,1862,1862,1975-02-06,185.89999999999372,185.90215,2015-01-01 00:31:02,bin1862,35, +CTSPillarNetworkA,1863,1863,1863,1975-02-07,185.99999999999372,186.00215,2015-01-01 00:31:03,bin1863,75, +CTSPillarNetworkA,1864,1864,1864,1975-02-08,186.0999999999937,186.10216,2015-01-01 00:31:04,bin1864,35, +CTSPillarNetworkA,1865,1865,1865,1975-02-09,186.1999999999937,186.20216,2015-01-01 00:31:05,bin1865,75, +CTSPillarNetworkA,1866,1866,1866,1975-02-10,186.2999999999937,186.30217,2015-01-01 00:31:06,bin1866,35, +CTSPillarNetworkA,1867,1867,1867,1975-02-11,186.3999999999937,186.40218,2015-01-01 00:31:07,bin1867,75, +CTSPillarNetworkA,1868,1868,1868,1975-02-12,186.4999999999937,186.50218,2015-01-01 00:31:08,bin1868,35, +CTSPillarNetworkA,1869,1869,1869,1975-02-13,186.59999999999368,186.60219,2015-01-01 00:31:09,bin1869,75, +CTSPillarNetworkA,1870,1870,1870,1975-02-14,186.69999999999368,186.7022,2015-01-01 00:31:10,bin1870,35, +CTSPillarNetworkA,1871,1871,1871,1975-02-15,186.79999999999367,186.8022,2015-01-01 00:31:11,bin1871,75, +CTSPillarNetworkA,1872,1872,1872,1975-02-16,186.89999999999367,186.9022,2015-01-01 00:31:12,bin1872,35, +CTSPillarNetworkA,1873,1873,1873,1975-02-17,186.99999999999366,187.00221,2015-01-01 00:31:13,bin1873,75, +CTSPillarNetworkA,1874,1874,1874,1975-02-18,187.09999999999366,187.10222,2015-01-01 00:31:14,bin1874,35, +CTSPillarNetworkA,1875,1875,1875,1975-02-19,187.19999999999365,187.20222,2015-01-01 00:31:15,bin1875,75, +CTSPillarNetworkA,1876,1876,1876,1975-02-20,187.29999999999364,187.30223,2015-01-01 00:31:16,bin1876,35, +CTSPillarNetworkA,1877,1877,1877,1975-02-21,187.39999999999364,187.40224,2015-01-01 00:31:17,bin1877,75, +CTSPillarNetworkA,1878,1878,1878,1975-02-22,187.49999999999363,187.50224,2015-01-01 00:31:18,bin1878,35, +CTSPillarNetworkA,1879,1879,1879,1975-02-23,187.59999999999363,187.60225,2015-01-01 00:31:19,bin1879,75, +CTSPillarNetworkA,1880,1880,1880,1975-02-24,187.69999999999362,187.70226,2015-01-01 00:31:20,bin1880,35, +CTSPillarNetworkA,1881,1881,1881,1975-02-25,187.79999999999362,187.80226,2015-01-01 00:31:21,bin1881,75, +CTSPillarNetworkA,1882,1882,1882,1975-02-26,187.8999999999936,187.90227,2015-01-01 00:31:22,bin1882,35, +CTSPillarNetworkA,1883,1883,1883,1975-02-27,187.9999999999936,188.00227,2015-01-01 00:31:23,bin1883,75, +CTSPillarNetworkA,1884,1884,1884,1975-02-28,188.0999999999936,188.10228,2015-01-01 00:31:24,bin1884,35, +CTSPillarNetworkA,1885,1885,1885,1975-03-01,188.1999999999936,188.20229,2015-01-01 00:31:25,bin1885,75, +CTSPillarNetworkA,1886,1886,1886,1975-03-02,188.2999999999936,188.30229,2015-01-01 00:31:26,bin1886,35, +CTSPillarNetworkA,1887,1887,1887,1975-03-03,188.39999999999358,188.4023,2015-01-01 00:31:27,bin1887,75, +CTSPillarNetworkA,1888,1888,1888,1975-03-04,188.49999999999358,188.5023,2015-01-01 00:31:28,bin1888,35, +CTSPillarNetworkA,1889,1889,1889,1975-03-05,188.59999999999357,188.60231,2015-01-01 00:31:29,bin1889,75, +CTSPillarNetworkA,1890,1890,1890,1975-03-06,188.69999999999357,188.70232,2015-01-01 00:31:30,bin1890,35, +CTSPillarNetworkA,1891,1891,1891,1975-03-07,188.79999999999356,188.80232,2015-01-01 00:31:31,bin1891,75, +CTSPillarNetworkA,1892,1892,1892,1975-03-08,188.89999999999355,188.90233,2015-01-01 00:31:32,bin1892,35, +CTSPillarNetworkA,1893,1893,1893,1975-03-09,188.99999999999355,189.00233,2015-01-01 00:31:33,bin1893,75, +CTSPillarNetworkA,1894,1894,1894,1975-03-10,189.09999999999354,189.10234,2015-01-01 00:31:34,bin1894,35, +CTSPillarNetworkA,1895,1895,1895,1975-03-11,189.19999999999354,189.20235,2015-01-01 00:31:35,bin1895,75, +CTSPillarNetworkA,1896,1896,1896,1975-03-12,189.29999999999353,189.30235,2015-01-01 00:31:36,bin1896,35, +CTSPillarNetworkA,1897,1897,1897,1975-03-13,189.39999999999353,189.40236,2015-01-01 00:31:37,bin1897,75, +CTSPillarNetworkA,1898,1898,1898,1975-03-14,189.49999999999352,189.50237,2015-01-01 00:31:38,bin1898,35, +CTSPillarNetworkA,1899,1899,1899,1975-03-15,189.5999999999935,189.60237,2015-01-01 00:31:39,bin1899,75, +CTSPillarNetworkA,1900,1900,1900,1975-03-16,189.6999999999935,189.70238,2015-01-01 00:31:40,bin1900,35, +CTSPillarNetworkA,1901,1901,1901,1975-03-17,189.7999999999935,189.80238,2015-01-01 00:31:41,bin1901,75, +CTSPillarNetworkA,1902,1902,1902,1975-03-18,189.8999999999935,189.90239,2015-01-01 00:31:42,bin1902,35, +CTSPillarNetworkA,1903,1903,1903,1975-03-19,189.9999999999935,190.0024,2015-01-01 00:31:43,bin1903,75, +CTSPillarNetworkA,1904,1904,1904,1975-03-20,190.09999999999349,190.1024,2015-01-01 00:31:44,bin1904,35, +CTSPillarNetworkA,1905,1905,1905,1975-03-21,190.19999999999348,190.20241,2015-01-01 00:31:45,bin1905,75, +CTSPillarNetworkA,1906,1906,1906,1975-03-22,190.29999999999347,190.30241,2015-01-01 00:31:46,bin1906,35, +CTSPillarNetworkA,1907,1907,1907,1975-03-23,190.39999999999347,190.40242,2015-01-01 00:31:47,bin1907,75, +CTSPillarNetworkA,1908,1908,1908,1975-03-24,190.49999999999346,190.50243,2015-01-01 00:31:48,bin1908,35, +CTSPillarNetworkA,1909,1909,1909,1975-03-25,190.59999999999346,190.60243,2015-01-01 00:31:49,bin1909,75, +CTSPillarNetworkA,1910,1910,1910,1975-03-26,190.69999999999345,190.70244,2015-01-01 00:31:50,bin1910,35, +CTSPillarNetworkA,1911,1911,1911,1975-03-27,190.79999999999345,190.80244,2015-01-01 00:31:51,bin1911,75, +CTSPillarNetworkA,1912,1912,1912,1975-03-28,190.89999999999344,190.90245,2015-01-01 00:31:52,bin1912,35, +CTSPillarNetworkA,1913,1913,1913,1975-03-29,190.99999999999343,191.00246,2015-01-01 00:31:53,bin1913,75, +CTSPillarNetworkA,1914,1914,1914,1975-03-30,191.09999999999343,191.10246,2015-01-01 00:31:54,bin1914,35, +CTSPillarNetworkA,1915,1915,1915,1975-03-31,191.19999999999342,191.20247,2015-01-01 00:31:55,bin1915,75, +CTSPillarNetworkA,1916,1916,1916,1975-04-01,191.29999999999342,191.30247,2015-01-01 00:31:56,bin1916,35, +CTSPillarNetworkA,1917,1917,1917,1975-04-02,191.3999999999934,191.40248,2015-01-01 00:31:57,bin1917,75, +CTSPillarNetworkA,1918,1918,1918,1975-04-03,191.4999999999934,191.50249,2015-01-01 00:31:58,bin1918,35, +CTSPillarNetworkA,1919,1919,1919,1975-04-04,191.5999999999934,191.6025,2015-01-01 00:31:59,bin1919,75, +CTSPillarNetworkA,1920,1920,1920,1975-04-05,191.6999999999934,191.7025,2015-01-01 00:32:00,bin1920,35, +CTSPillarNetworkA,1921,1921,1921,1975-04-06,191.7999999999934,191.8025,2015-01-01 00:32:01,bin1921,75, +CTSPillarNetworkA,1922,1922,1922,1975-04-07,191.89999999999338,191.90251,2015-01-01 00:32:02,bin1922,35, +CTSPillarNetworkA,1923,1923,1923,1975-04-08,191.99999999999338,192.00252,2015-01-01 00:32:03,bin1923,75, +CTSPillarNetworkA,1924,1924,1924,1975-04-09,192.09999999999337,192.10252,2015-01-01 00:32:04,bin1924,35, +CTSPillarNetworkA,1925,1925,1925,1975-04-10,192.19999999999337,192.20253,2015-01-01 00:32:05,bin1925,75, +CTSPillarNetworkA,1926,1926,1926,1975-04-11,192.29999999999336,192.30254,2015-01-01 00:32:06,bin1926,35, +CTSPillarNetworkA,1927,1927,1927,1975-04-12,192.39999999999336,192.40254,2015-01-01 00:32:07,bin1927,75, +CTSPillarNetworkA,1928,1928,1928,1975-04-13,192.49999999999335,192.50255,2015-01-01 00:32:08,bin1928,35, +CTSPillarNetworkA,1929,1929,1929,1975-04-14,192.59999999999334,192.60255,2015-01-01 00:32:09,bin1929,75, +CTSPillarNetworkA,1930,1930,1930,1975-04-15,192.69999999999334,192.70256,2015-01-01 00:32:10,bin1930,35, +CTSPillarNetworkA,1931,1931,1931,1975-04-16,192.79999999999333,192.80257,2015-01-01 00:32:11,bin1931,75, +CTSPillarNetworkA,1932,1932,1932,1975-04-17,192.89999999999333,192.90257,2015-01-01 00:32:12,bin1932,35, +CTSPillarNetworkA,1933,1933,1933,1975-04-18,192.99999999999332,193.00258,2015-01-01 00:32:13,bin1933,75, +CTSPillarNetworkA,1934,1934,1934,1975-04-19,193.09999999999332,193.10258,2015-01-01 00:32:14,bin1934,35, +CTSPillarNetworkA,1935,1935,1935,1975-04-20,193.1999999999933,193.20259,2015-01-01 00:32:15,bin1935,75, +CTSPillarNetworkA,1936,1936,1936,1975-04-21,193.2999999999933,193.3026,2015-01-01 00:32:16,bin1936,35, +CTSPillarNetworkA,1937,1937,1937,1975-04-22,193.3999999999933,193.4026,2015-01-01 00:32:17,bin1937,75, +CTSPillarNetworkA,1938,1938,1938,1975-04-23,193.4999999999933,193.50261,2015-01-01 00:32:18,bin1938,35, +CTSPillarNetworkA,1939,1939,1939,1975-04-24,193.5999999999933,193.60262,2015-01-01 00:32:19,bin1939,75, +CTSPillarNetworkA,1940,1940,1940,1975-04-25,193.69999999999328,193.70262,2015-01-01 00:32:20,bin1940,35, +CTSPillarNetworkA,1941,1941,1941,1975-04-26,193.79999999999328,193.80263,2015-01-01 00:32:21,bin1941,75, +CTSPillarNetworkA,1942,1942,1942,1975-04-27,193.89999999999327,193.90263,2015-01-01 00:32:22,bin1942,35, +CTSPillarNetworkA,1943,1943,1943,1975-04-28,193.99999999999326,194.00264,2015-01-01 00:32:23,bin1943,75, +CTSPillarNetworkA,1944,1944,1944,1975-04-29,194.09999999999326,194.10265,2015-01-01 00:32:24,bin1944,35, +CTSPillarNetworkA,1945,1945,1945,1975-04-30,194.19999999999325,194.20265,2015-01-01 00:32:25,bin1945,75, +CTSPillarNetworkA,1946,1946,1946,1975-05-01,194.29999999999325,194.30266,2015-01-01 00:32:26,bin1946,35, +CTSPillarNetworkA,1947,1947,1947,1975-05-02,194.39999999999324,194.40266,2015-01-01 00:32:27,bin1947,75, +CTSPillarNetworkA,1948,1948,1948,1975-05-03,194.49999999999324,194.50267,2015-01-01 00:32:28,bin1948,35, +CTSPillarNetworkA,1949,1949,1949,1975-05-04,194.59999999999323,194.60268,2015-01-01 00:32:29,bin1949,75, +CTSPillarNetworkA,1950,1950,1950,1975-05-05,194.69999999999322,194.70268,2015-01-01 00:32:30,bin1950,35, +CTSPillarNetworkA,1951,1951,1951,1975-05-06,194.79999999999322,194.80269,2015-01-01 00:32:31,bin1951,75, +CTSPillarNetworkA,1952,1952,1952,1975-05-07,194.8999999999932,194.9027,2015-01-01 00:32:32,bin1952,35, +CTSPillarNetworkA,1953,1953,1953,1975-05-08,194.9999999999932,195.0027,2015-01-01 00:32:33,bin1953,75, +CTSPillarNetworkA,1954,1954,1954,1975-05-09,195.0999999999932,195.1027,2015-01-01 00:32:34,bin1954,35, +CTSPillarNetworkA,1955,1955,1955,1975-05-10,195.1999999999932,195.20271,2015-01-01 00:32:35,bin1955,75, +CTSPillarNetworkA,1956,1956,1956,1975-05-11,195.2999999999932,195.30272,2015-01-01 00:32:36,bin1956,35, +CTSPillarNetworkA,1957,1957,1957,1975-05-12,195.39999999999318,195.40273,2015-01-01 00:32:37,bin1957,75, +CTSPillarNetworkA,1958,1958,1958,1975-05-13,195.49999999999318,195.50273,2015-01-01 00:32:38,bin1958,35, +CTSPillarNetworkA,1959,1959,1959,1975-05-14,195.59999999999317,195.60274,2015-01-01 00:32:39,bin1959,75, +CTSPillarNetworkA,1960,1960,1960,1975-05-15,195.69999999999317,195.70274,2015-01-01 00:32:40,bin1960,35, +CTSPillarNetworkA,1961,1961,1961,1975-05-16,195.79999999999316,195.80275,2015-01-01 00:32:41,bin1961,75, +CTSPillarNetworkA,1962,1962,1962,1975-05-17,195.89999999999316,195.90276,2015-01-01 00:32:42,bin1962,35, +CTSPillarNetworkA,1963,1963,1963,1975-05-18,195.99999999999315,196.00276,2015-01-01 00:32:43,bin1963,75, +CTSPillarNetworkA,1964,1964,1964,1975-05-19,196.09999999999314,196.10277,2015-01-01 00:32:44,bin1964,35, +CTSPillarNetworkA,1965,1965,1965,1975-05-20,196.19999999999314,196.20277,2015-01-01 00:32:45,bin1965,75, +CTSPillarNetworkA,1966,1966,1966,1975-05-21,196.29999999999313,196.30278,2015-01-01 00:32:46,bin1966,35, +CTSPillarNetworkA,1967,1967,1967,1975-05-22,196.39999999999313,196.40279,2015-01-01 00:32:47,bin1967,75, +CTSPillarNetworkA,1968,1968,1968,1975-05-23,196.49999999999312,196.50279,2015-01-01 00:32:48,bin1968,35, +CTSPillarNetworkA,1969,1969,1969,1975-05-24,196.59999999999312,196.6028,2015-01-01 00:32:49,bin1969,75, +CTSPillarNetworkA,1970,1970,1970,1975-05-25,196.6999999999931,196.7028,2015-01-01 00:32:50,bin1970,35, +CTSPillarNetworkA,1971,1971,1971,1975-05-26,196.7999999999931,196.80281,2015-01-01 00:32:51,bin1971,75, +CTSPillarNetworkA,1972,1972,1972,1975-05-27,196.8999999999931,196.90282,2015-01-01 00:32:52,bin1972,35, +CTSPillarNetworkA,1973,1973,1973,1975-05-28,196.9999999999931,197.00282,2015-01-01 00:32:53,bin1973,75, +CTSPillarNetworkA,1974,1974,1974,1975-05-29,197.0999999999931,197.10283,2015-01-01 00:32:54,bin1974,35, +CTSPillarNetworkA,1975,1975,1975,1975-05-30,197.19999999999308,197.20284,2015-01-01 00:32:55,bin1975,75, +CTSPillarNetworkA,1976,1976,1976,1975-05-31,197.29999999999308,197.30284,2015-01-01 00:32:56,bin1976,35, +CTSPillarNetworkA,1977,1977,1977,1975-06-01,197.39999999999307,197.40285,2015-01-01 00:32:57,bin1977,75, +CTSPillarNetworkA,1978,1978,1978,1975-06-02,197.49999999999307,197.50285,2015-01-01 00:32:58,bin1978,35, +CTSPillarNetworkA,1979,1979,1979,1975-06-03,197.59999999999306,197.60286,2015-01-01 00:32:59,bin1979,75, +CTSPillarNetworkA,1980,1980,1980,1975-06-04,197.69999999999305,197.70287,2015-01-01 00:33:00,bin1980,35, +CTSPillarNetworkA,1981,1981,1981,1975-06-05,197.79999999999305,197.80287,2015-01-01 00:33:01,bin1981,75, +CTSPillarNetworkA,1982,1982,1982,1975-06-06,197.89999999999304,197.90288,2015-01-01 00:33:02,bin1982,35, +CTSPillarNetworkA,1983,1983,1983,1975-06-07,197.99999999999304,198.00288,2015-01-01 00:33:03,bin1983,75, +CTSPillarNetworkA,1984,1984,1984,1975-06-08,198.09999999999303,198.10289,2015-01-01 00:33:04,bin1984,35, +CTSPillarNetworkA,1985,1985,1985,1975-06-09,198.19999999999303,198.2029,2015-01-01 00:33:05,bin1985,75, +CTSPillarNetworkA,1986,1986,1986,1975-06-10,198.29999999999302,198.3029,2015-01-01 00:33:06,bin1986,35, +CTSPillarNetworkA,1987,1987,1987,1975-06-11,198.399999999993,198.40291,2015-01-01 00:33:07,bin1987,75, +CTSPillarNetworkA,1988,1988,1988,1975-06-12,198.499999999993,198.50291,2015-01-01 00:33:08,bin1988,35, +CTSPillarNetworkA,1989,1989,1989,1975-06-13,198.599999999993,198.60292,2015-01-01 00:33:09,bin1989,75, +CTSPillarNetworkA,1990,1990,1990,1975-06-14,198.699999999993,198.70293,2015-01-01 00:33:10,bin1990,35, +CTSPillarNetworkA,1991,1991,1991,1975-06-15,198.799999999993,198.80293,2015-01-01 00:33:11,bin1991,75, +CTSPillarNetworkA,1992,1992,1992,1975-06-16,198.89999999999299,198.90294,2015-01-01 00:33:12,bin1992,35, +CTSPillarNetworkA,1993,1993,1993,1975-06-17,198.99999999999298,199.00294,2015-01-01 00:33:13,bin1993,75, +CTSPillarNetworkA,1994,1994,1994,1975-06-18,199.09999999999297,199.10295,2015-01-01 00:33:14,bin1994,35, +CTSPillarNetworkA,1995,1995,1995,1975-06-19,199.19999999999297,199.20296,2015-01-01 00:33:15,bin1995,75, +CTSPillarNetworkA,1996,1996,1996,1975-06-20,199.29999999999296,199.30296,2015-01-01 00:33:16,bin1996,35, +CTSPillarNetworkA,1997,1997,1997,1975-06-21,199.39999999999296,199.40297,2015-01-01 00:33:17,bin1997,75, +CTSPillarNetworkA,1998,1998,1998,1975-06-22,199.49999999999295,199.50298,2015-01-01 00:33:18,bin1998,35, +CTSPillarNetworkA,1999,1999,1999,1975-06-23,199.59999999999295,199.60298,2015-01-01 00:33:19,bin1999,75, +CTSPillarNetworkA,2000,2000,2000,1975-06-24,199.69999999999294,199.70299,2015-01-01 00:33:20,bin2000,35, +CTSPillarNetworkA,2001,2001,2001,1975-06-25,199.79999999999293,199.803,2015-01-01 00:33:21,bin2001,75, +CTSPillarNetworkA,2002,2002,2002,1975-06-26,199.89999999999293,199.903,2015-01-01 00:33:22,bin2002,35, +CTSPillarNetworkA,2003,2003,2003,1975-06-27,199.99999999999292,200.003,2015-01-01 00:33:23,bin2003,75, +CTSPillarNetworkA,2004,2004,2004,1975-06-28,200.09999999999292,200.10301,2015-01-01 00:33:24,bin2004,35, +CTSPillarNetworkA,2005,2005,2005,1975-06-29,200.1999999999929,200.20302,2015-01-01 00:33:25,bin2005,75, +CTSPillarNetworkA,2006,2006,2006,1975-06-30,200.2999999999929,200.30302,2015-01-01 00:33:26,bin2006,35, +CTSPillarNetworkA,2007,2007,2007,1975-07-01,200.3999999999929,200.40303,2015-01-01 00:33:27,bin2007,75, +CTSPillarNetworkA,2008,2008,2008,1975-07-02,200.4999999999929,200.50304,2015-01-01 00:33:28,bin2008,35, +CTSPillarNetworkA,2009,2009,2009,1975-07-03,200.5999999999929,200.60304,2015-01-01 00:33:29,bin2009,75, +CTSPillarNetworkA,2010,2010,2010,1975-07-04,200.69999999999288,200.70305,2015-01-01 00:33:30,bin2010,35, +CTSPillarNetworkA,2011,2011,2011,1975-07-05,200.79999999999288,200.80305,2015-01-01 00:33:31,bin2011,75, +CTSPillarNetworkA,2012,2012,2012,1975-07-06,200.89999999999287,200.90306,2015-01-01 00:33:32,bin2012,35, +CTSPillarNetworkA,2013,2013,2013,1975-07-07,200.99999999999287,201.00307,2015-01-01 00:33:33,bin2013,75, +CTSPillarNetworkA,2014,2014,2014,1975-07-08,201.09999999999286,201.10307,2015-01-01 00:33:34,bin2014,35, +CTSPillarNetworkA,2015,2015,2015,1975-07-09,201.19999999999285,201.20308,2015-01-01 00:33:35,bin2015,75, +CTSPillarNetworkA,2016,2016,2016,1975-07-10,201.29999999999285,201.30309,2015-01-01 00:33:36,bin2016,35, +CTSPillarNetworkA,2017,2017,2017,1975-07-11,201.39999999999284,201.40309,2015-01-01 00:33:37,bin2017,75, +CTSPillarNetworkA,2018,2018,2018,1975-07-12,201.49999999999284,201.5031,2015-01-01 00:33:38,bin2018,35, +CTSPillarNetworkA,2019,2019,2019,1975-07-13,201.59999999999283,201.6031,2015-01-01 00:33:39,bin2019,75, +CTSPillarNetworkA,2020,2020,2020,1975-07-14,201.69999999999283,201.70311,2015-01-01 00:33:40,bin2020,35, +CTSPillarNetworkA,2021,2021,2021,1975-07-15,201.79999999999282,201.80312,2015-01-01 00:33:41,bin2021,75, +CTSPillarNetworkA,2022,2022,2022,1975-07-16,201.89999999999281,201.90312,2015-01-01 00:33:42,bin2022,35, +CTSPillarNetworkA,2023,2023,2023,1975-07-17,201.9999999999928,202.00313,2015-01-01 00:33:43,bin2023,75, +CTSPillarNetworkA,2024,2024,2024,1975-07-18,202.0999999999928,202.10313,2015-01-01 00:33:44,bin2024,35, +CTSPillarNetworkA,2025,2025,2025,1975-07-19,202.1999999999928,202.20314,2015-01-01 00:33:45,bin2025,75, +CTSPillarNetworkA,2026,2026,2026,1975-07-20,202.2999999999928,202.30315,2015-01-01 00:33:46,bin2026,35, +CTSPillarNetworkA,2027,2027,2027,1975-07-21,202.3999999999928,202.40315,2015-01-01 00:33:47,bin2027,75, +CTSPillarNetworkA,2028,2028,2028,1975-07-22,202.49999999999278,202.50316,2015-01-01 00:33:48,bin2028,35, +CTSPillarNetworkA,2029,2029,2029,1975-07-23,202.59999999999278,202.60316,2015-01-01 00:33:49,bin2029,75, +CTSPillarNetworkA,2030,2030,2030,1975-07-24,202.69999999999277,202.70317,2015-01-01 00:33:50,bin2030,35, +CTSPillarNetworkA,2031,2031,2031,1975-07-25,202.79999999999276,202.80318,2015-01-01 00:33:51,bin2031,75, +CTSPillarNetworkA,2032,2032,2032,1975-07-26,202.89999999999276,202.90318,2015-01-01 00:33:52,bin2032,35, +CTSPillarNetworkA,2033,2033,2033,1975-07-27,202.99999999999275,203.00319,2015-01-01 00:33:53,bin2033,75, +CTSPillarNetworkA,2034,2034,2034,1975-07-28,203.09999999999275,203.1032,2015-01-01 00:33:54,bin2034,35, +CTSPillarNetworkA,2035,2035,2035,1975-07-29,203.19999999999274,203.2032,2015-01-01 00:33:55,bin2035,75, +CTSPillarNetworkA,2036,2036,2036,1975-07-30,203.29999999999274,203.3032,2015-01-01 00:33:56,bin2036,35, +CTSPillarNetworkA,2037,2037,2037,1975-07-31,203.39999999999273,203.40321,2015-01-01 00:33:57,bin2037,75, +CTSPillarNetworkA,2038,2038,2038,1975-08-01,203.49999999999272,203.50322,2015-01-01 00:33:58,bin2038,35, +CTSPillarNetworkA,2039,2039,2039,1975-08-02,203.59999999999272,203.60323,2015-01-01 00:33:59,bin2039,75, +CTSPillarNetworkA,2040,2040,2040,1975-08-03,203.6999999999927,203.70323,2015-01-01 00:34:00,bin2040,35, +CTSPillarNetworkA,2041,2041,2041,1975-08-04,203.7999999999927,203.80324,2015-01-01 00:34:01,bin2041,75, +CTSPillarNetworkA,2042,2042,2042,1975-08-05,203.8999999999927,203.90324,2015-01-01 00:34:02,bin2042,35, +CTSPillarNetworkA,2043,2043,2043,1975-08-06,203.9999999999927,204.00325,2015-01-01 00:34:03,bin2043,75, +CTSPillarNetworkA,2044,2044,2044,1975-08-07,204.0999999999927,204.10326,2015-01-01 00:34:04,bin2044,35, +CTSPillarNetworkA,2045,2045,2045,1975-08-08,204.19999999999268,204.20326,2015-01-01 00:34:05,bin2045,75, +CTSPillarNetworkA,2046,2046,2046,1975-08-09,204.29999999999268,204.30327,2015-01-01 00:34:06,bin2046,35, +CTSPillarNetworkA,2047,2047,2047,1975-08-10,204.39999999999267,204.40327,2015-01-01 00:34:07,bin2047,75, +CTSPillarNetworkA,2048,2048,2048,1975-08-11,204.49999999999267,204.50328,2015-01-01 00:34:08,bin2048,35, +CTSPillarNetworkA,2049,2049,2049,1975-08-12,204.59999999999266,204.60329,2015-01-01 00:34:09,bin2049,75, +CTSPillarNetworkA,2050,2050,2050,1975-08-13,204.69999999999266,204.7033,2015-01-01 00:34:10,bin2050,35, +CTSPillarNetworkA,2051,2051,2051,1975-08-14,204.79999999999265,204.8033,2015-01-01 00:34:11,bin2051,75, +CTSPillarNetworkA,2052,2052,2052,1975-08-15,204.89999999999264,204.9033,2015-01-01 00:34:12,bin2052,35, +CTSPillarNetworkA,2053,2053,2053,1975-08-16,204.99999999999264,205.00331,2015-01-01 00:34:13,bin2053,75, +CTSPillarNetworkA,2054,2054,2054,1975-08-17,205.09999999999263,205.10332,2015-01-01 00:34:14,bin2054,35, +CTSPillarNetworkA,2055,2055,2055,1975-08-18,205.19999999999263,205.20332,2015-01-01 00:34:15,bin2055,75, +CTSPillarNetworkA,2056,2056,2056,1975-08-19,205.29999999999262,205.30333,2015-01-01 00:34:16,bin2056,35, +CTSPillarNetworkA,2057,2057,2057,1975-08-20,205.39999999999262,205.40334,2015-01-01 00:34:17,bin2057,75, +CTSPillarNetworkA,2058,2058,2058,1975-08-21,205.4999999999926,205.50334,2015-01-01 00:34:18,bin2058,35, +CTSPillarNetworkA,2059,2059,2059,1975-08-22,205.5999999999926,205.60335,2015-01-01 00:34:19,bin2059,75, +CTSPillarNetworkA,2060,2060,2060,1975-08-23,205.6999999999926,205.70335,2015-01-01 00:34:20,bin2060,35, +CTSPillarNetworkA,2061,2061,2061,1975-08-24,205.7999999999926,205.80336,2015-01-01 00:34:21,bin2061,75, +CTSPillarNetworkA,2062,2062,2062,1975-08-25,205.8999999999926,205.90337,2015-01-01 00:34:22,bin2062,35, +CTSPillarNetworkA,2063,2063,2063,1975-08-26,205.99999999999258,206.00337,2015-01-01 00:34:23,bin2063,75, +CTSPillarNetworkA,2064,2064,2064,1975-08-27,206.09999999999258,206.10338,2015-01-01 00:34:24,bin2064,35, +CTSPillarNetworkA,2065,2065,2065,1975-08-28,206.19999999999257,206.20338,2015-01-01 00:34:25,bin2065,75, +CTSPillarNetworkA,2066,2066,2066,1975-08-29,206.29999999999256,206.30339,2015-01-01 00:34:26,bin2066,35, +CTSPillarNetworkA,2067,2067,2067,1975-08-30,206.39999999999256,206.4034,2015-01-01 00:34:27,bin2067,75, +CTSPillarNetworkA,2068,2068,2068,1975-08-31,206.49999999999255,206.5034,2015-01-01 00:34:28,bin2068,35, +CTSPillarNetworkA,2069,2069,2069,1975-09-01,206.59999999999255,206.60341,2015-01-01 00:34:29,bin2069,75, +CTSPillarNetworkA,2070,2070,2070,1975-09-02,206.69999999999254,206.70341,2015-01-01 00:34:30,bin2070,35, +CTSPillarNetworkA,2071,2071,2071,1975-09-03,206.79999999999254,206.80342,2015-01-01 00:34:31,bin2071,75, +CTSPillarNetworkA,2072,2072,2072,1975-09-04,206.89999999999253,206.90343,2015-01-01 00:34:32,bin2072,35, +CTSPillarNetworkA,2073,2073,2073,1975-09-05,206.99999999999253,207.00343,2015-01-01 00:34:33,bin2073,75, +CTSPillarNetworkA,2074,2074,2074,1975-09-06,207.09999999999252,207.10344,2015-01-01 00:34:34,bin2074,35, +CTSPillarNetworkA,2075,2075,2075,1975-09-07,207.1999999999925,207.20345,2015-01-01 00:34:35,bin2075,75, +CTSPillarNetworkA,2076,2076,2076,1975-09-08,207.2999999999925,207.30345,2015-01-01 00:34:36,bin2076,35, +CTSPillarNetworkA,2077,2077,2077,1975-09-09,207.3999999999925,207.40346,2015-01-01 00:34:37,bin2077,75, +CTSPillarNetworkA,2078,2078,2078,1975-09-10,207.4999999999925,207.50346,2015-01-01 00:34:38,bin2078,35, +CTSPillarNetworkA,2079,2079,2079,1975-09-11,207.5999999999925,207.60347,2015-01-01 00:34:39,bin2079,75, +CTSPillarNetworkA,2080,2080,2080,1975-09-12,207.69999999999249,207.70348,2015-01-01 00:34:40,bin2080,35, +CTSPillarNetworkA,2081,2081,2081,1975-09-13,207.79999999999248,207.80348,2015-01-01 00:34:41,bin2081,75, +CTSPillarNetworkA,2082,2082,2082,1975-09-14,207.89999999999247,207.90349,2015-01-01 00:34:42,bin2082,35, +CTSPillarNetworkA,2083,2083,2083,1975-09-15,207.99999999999247,208.0035,2015-01-01 00:34:43,bin2083,75, +CTSPillarNetworkA,2084,2084,2084,1975-09-16,208.09999999999246,208.1035,2015-01-01 00:34:44,bin2084,35, +CTSPillarNetworkA,2085,2085,2085,1975-09-17,208.19999999999246,208.2035,2015-01-01 00:34:45,bin2085,75, +CTSPillarNetworkA,2086,2086,2086,1975-09-18,208.29999999999245,208.30351,2015-01-01 00:34:46,bin2086,35, +CTSPillarNetworkA,2087,2087,2087,1975-09-19,208.39999999999245,208.40352,2015-01-01 00:34:47,bin2087,75, +CTSPillarNetworkA,2088,2088,2088,1975-09-20,208.49999999999244,208.50352,2015-01-01 00:34:48,bin2088,35, +CTSPillarNetworkA,2089,2089,2089,1975-09-21,208.59999999999243,208.60353,2015-01-01 00:34:49,bin2089,75, +CTSPillarNetworkA,2090,2090,2090,1975-09-22,208.69999999999243,208.70354,2015-01-01 00:34:50,bin2090,35, +CTSPillarNetworkA,2091,2091,2091,1975-09-23,208.79999999999242,208.80354,2015-01-01 00:34:51,bin2091,75, +CTSPillarNetworkA,2092,2092,2092,1975-09-24,208.89999999999242,208.90355,2015-01-01 00:34:52,bin2092,35, +CTSPillarNetworkA,2093,2093,2093,1975-09-25,208.9999999999924,209.00356,2015-01-01 00:34:53,bin2093,75, +CTSPillarNetworkA,2094,2094,2094,1975-09-26,209.0999999999924,209.10356,2015-01-01 00:34:54,bin2094,35, +CTSPillarNetworkA,2095,2095,2095,1975-09-27,209.1999999999924,209.20357,2015-01-01 00:34:55,bin2095,75, +CTSPillarNetworkA,2096,2096,2096,1975-09-28,209.2999999999924,209.30357,2015-01-01 00:34:56,bin2096,35, +CTSPillarNetworkA,2097,2097,2097,1975-09-29,209.3999999999924,209.40358,2015-01-01 00:34:57,bin2097,75, +CTSPillarNetworkA,2098,2098,2098,1975-09-30,209.49999999999238,209.50359,2015-01-01 00:34:58,bin2098,35, +CTSPillarNetworkA,2099,2099,2099,1975-10-01,209.59999999999238,209.60359,2015-01-01 00:34:59,bin2099,75, +CTSPillarNetworkA,2100,2100,2100,1975-10-02,209.69999999999237,209.7036,2015-01-01 00:35:00,bin2100,35, +CTSPillarNetworkA,2101,2101,2101,1975-10-03,209.79999999999237,209.8036,2015-01-01 00:35:01,bin2101,75, +CTSPillarNetworkA,2102,2102,2102,1975-10-04,209.89999999999236,209.90361,2015-01-01 00:35:02,bin2102,35, +CTSPillarNetworkA,2103,2103,2103,1975-10-05,209.99999999999235,210.00362,2015-01-01 00:35:03,bin2103,75, +CTSPillarNetworkA,2104,2104,2104,1975-10-06,210.09999999999235,210.10362,2015-01-01 00:35:04,bin2104,35, +CTSPillarNetworkA,2105,2105,2105,1975-10-07,210.19999999999234,210.20363,2015-01-01 00:35:05,bin2105,75, +CTSPillarNetworkA,2106,2106,2106,1975-10-08,210.29999999999234,210.30363,2015-01-01 00:35:06,bin2106,35, +CTSPillarNetworkA,2107,2107,2107,1975-10-09,210.39999999999233,210.40364,2015-01-01 00:35:07,bin2107,75, +CTSPillarNetworkA,2108,2108,2108,1975-10-10,210.49999999999233,210.50365,2015-01-01 00:35:08,bin2108,35, +CTSPillarNetworkA,2109,2109,2109,1975-10-11,210.59999999999232,210.60365,2015-01-01 00:35:09,bin2109,75, +CTSPillarNetworkA,2110,2110,2110,1975-10-12,210.69999999999231,210.70366,2015-01-01 00:35:10,bin2110,35, +CTSPillarNetworkA,2111,2111,2111,1975-10-13,210.7999999999923,210.80367,2015-01-01 00:35:11,bin2111,75, +CTSPillarNetworkA,2112,2112,2112,1975-10-14,210.8999999999923,210.90367,2015-01-01 00:35:12,bin2112,35, +CTSPillarNetworkA,2113,2113,2113,1975-10-15,210.9999999999923,211.00368,2015-01-01 00:35:13,bin2113,75, +CTSPillarNetworkA,2114,2114,2114,1975-10-16,211.0999999999923,211.10368,2015-01-01 00:35:14,bin2114,35, +CTSPillarNetworkA,2115,2115,2115,1975-10-17,211.1999999999923,211.20369,2015-01-01 00:35:15,bin2115,75, +CTSPillarNetworkA,2116,2116,2116,1975-10-18,211.29999999999228,211.3037,2015-01-01 00:35:16,bin2116,35, +CTSPillarNetworkA,2117,2117,2117,1975-10-19,211.39999999999227,211.4037,2015-01-01 00:35:17,bin2117,75, +CTSPillarNetworkA,2118,2118,2118,1975-10-20,211.49999999999227,211.50371,2015-01-01 00:35:18,bin2118,35, +CTSPillarNetworkA,2119,2119,2119,1975-10-21,211.59999999999226,211.60371,2015-01-01 00:35:19,bin2119,75, +CTSPillarNetworkA,2120,2120,2120,1975-10-22,211.69999999999226,211.70372,2015-01-01 00:35:20,bin2120,35, +CTSPillarNetworkA,2121,2121,2121,1975-10-23,211.79999999999225,211.80373,2015-01-01 00:35:21,bin2121,75, +CTSPillarNetworkA,2122,2122,2122,1975-10-24,211.89999999999225,211.90373,2015-01-01 00:35:22,bin2122,35, +CTSPillarNetworkA,2123,2123,2123,1975-10-25,211.99999999999224,212.00374,2015-01-01 00:35:23,bin2123,75, +CTSPillarNetworkA,2124,2124,2124,1975-10-26,212.09999999999224,212.10374,2015-01-01 00:35:24,bin2124,35, +CTSPillarNetworkA,2125,2125,2125,1975-10-27,212.19999999999223,212.20375,2015-01-01 00:35:25,bin2125,75, +CTSPillarNetworkA,2126,2126,2126,1975-10-28,212.29999999999222,212.30376,2015-01-01 00:35:26,bin2126,35, +CTSPillarNetworkA,2127,2127,2127,1975-10-29,212.39999999999222,212.40376,2015-01-01 00:35:27,bin2127,75, +CTSPillarNetworkA,2128,2128,2128,1975-10-30,212.4999999999922,212.50377,2015-01-01 00:35:28,bin2128,35, +CTSPillarNetworkA,2129,2129,2129,1975-10-31,212.5999999999922,212.60378,2015-01-01 00:35:29,bin2129,75, +CTSPillarNetworkA,2130,2130,2130,1975-11-01,212.6999999999922,212.70378,2015-01-01 00:35:30,bin2130,35, +CTSPillarNetworkA,2131,2131,2131,1975-11-02,212.7999999999922,212.80379,2015-01-01 00:35:31,bin2131,75, +CTSPillarNetworkA,2132,2132,2132,1975-11-03,212.8999999999922,212.9038,2015-01-01 00:35:32,bin2132,35, +CTSPillarNetworkA,2133,2133,2133,1975-11-04,212.99999999999218,213.0038,2015-01-01 00:35:33,bin2133,75, +CTSPillarNetworkA,2134,2134,2134,1975-11-05,213.09999999999218,213.1038,2015-01-01 00:35:34,bin2134,35, +CTSPillarNetworkA,2135,2135,2135,1975-11-06,213.19999999999217,213.20381,2015-01-01 00:35:35,bin2135,75, +CTSPillarNetworkA,2136,2136,2136,1975-11-07,213.29999999999217,213.30382,2015-01-01 00:35:36,bin2136,35, +CTSPillarNetworkA,2137,2137,2137,1975-11-08,213.39999999999216,213.40382,2015-01-01 00:35:37,bin2137,75, +CTSPillarNetworkA,2138,2138,2138,1975-11-09,213.49999999999216,213.50383,2015-01-01 00:35:38,bin2138,35, +CTSPillarNetworkA,2139,2139,2139,1975-11-10,213.59999999999215,213.60384,2015-01-01 00:35:39,bin2139,75, +CTSPillarNetworkA,2140,2140,2140,1975-11-11,213.69999999999214,213.70384,2015-01-01 00:35:40,bin2140,35, +CTSPillarNetworkA,2141,2141,2141,1975-11-12,213.79999999999214,213.80385,2015-01-01 00:35:41,bin2141,75, +CTSPillarNetworkA,2142,2142,2142,1975-11-13,213.89999999999213,213.90385,2015-01-01 00:35:42,bin2142,35, +CTSPillarNetworkA,2143,2143,2143,1975-11-14,213.99999999999213,214.00386,2015-01-01 00:35:43,bin2143,75, +CTSPillarNetworkA,2144,2144,2144,1975-11-15,214.09999999999212,214.10387,2015-01-01 00:35:44,bin2144,35, +CTSPillarNetworkA,2145,2145,2145,1975-11-16,214.19999999999212,214.20387,2015-01-01 00:35:45,bin2145,75, +CTSPillarNetworkA,2146,2146,2146,1975-11-17,214.2999999999921,214.30388,2015-01-01 00:35:46,bin2146,35, +CTSPillarNetworkA,2147,2147,2147,1975-11-18,214.3999999999921,214.40388,2015-01-01 00:35:47,bin2147,75, +CTSPillarNetworkA,2148,2148,2148,1975-11-19,214.4999999999921,214.50389,2015-01-01 00:35:48,bin2148,35, +CTSPillarNetworkA,2149,2149,2149,1975-11-20,214.5999999999921,214.6039,2015-01-01 00:35:49,bin2149,75, +CTSPillarNetworkA,2150,2150,2150,1975-11-21,214.6999999999921,214.7039,2015-01-01 00:35:50,bin2150,35, +CTSPillarNetworkA,2151,2151,2151,1975-11-22,214.79999999999208,214.80391,2015-01-01 00:35:51,bin2151,75, +CTSPillarNetworkA,2152,2152,2152,1975-11-23,214.89999999999208,214.90392,2015-01-01 00:35:52,bin2152,35, +CTSPillarNetworkA,2153,2153,2153,1975-11-24,214.99999999999207,215.00392,2015-01-01 00:35:53,bin2153,75, +CTSPillarNetworkA,2154,2154,2154,1975-11-25,215.09999999999206,215.10393,2015-01-01 00:35:54,bin2154,35, +CTSPillarNetworkA,2155,2155,2155,1975-11-26,215.19999999999206,215.20393,2015-01-01 00:35:55,bin2155,75, +CTSPillarNetworkA,2156,2156,2156,1975-11-27,215.29999999999205,215.30394,2015-01-01 00:35:56,bin2156,35, +CTSPillarNetworkA,2157,2157,2157,1975-11-28,215.39999999999205,215.40395,2015-01-01 00:35:57,bin2157,75, +CTSPillarNetworkA,2158,2158,2158,1975-11-29,215.49999999999204,215.50395,2015-01-01 00:35:58,bin2158,35, +CTSPillarNetworkA,2159,2159,2159,1975-11-30,215.59999999999204,215.60396,2015-01-01 00:35:59,bin2159,75, +CTSPillarNetworkA,2160,2160,2160,1975-12-01,215.69999999999203,215.70396,2015-01-01 00:36:00,bin2160,35, +CTSPillarNetworkA,2161,2161,2161,1975-12-02,215.79999999999202,215.80397,2015-01-01 00:36:01,bin2161,75, +CTSPillarNetworkA,2162,2162,2162,1975-12-03,215.89999999999202,215.90398,2015-01-01 00:36:02,bin2162,35, +CTSPillarNetworkA,2163,2163,2163,1975-12-04,215.999999999992,216.00398,2015-01-01 00:36:03,bin2163,75, +CTSPillarNetworkA,2164,2164,2164,1975-12-05,216.099999999992,216.10399,2015-01-01 00:36:04,bin2164,35, +CTSPillarNetworkA,2165,2165,2165,1975-12-06,216.199999999992,216.204,2015-01-01 00:36:05,bin2165,75, +CTSPillarNetworkA,2166,2166,2166,1975-12-07,216.299999999992,216.304,2015-01-01 00:36:06,bin2166,35, +CTSPillarNetworkA,2167,2167,2167,1975-12-08,216.399999999992,216.404,2015-01-01 00:36:07,bin2167,75, +CTSPillarNetworkA,2168,2168,2168,1975-12-09,216.49999999999199,216.50401,2015-01-01 00:36:08,bin2168,35, +CTSPillarNetworkA,2169,2169,2169,1975-12-10,216.59999999999198,216.60402,2015-01-01 00:36:09,bin2169,75, +CTSPillarNetworkA,2170,2170,2170,1975-12-11,216.69999999999197,216.70403,2015-01-01 00:36:10,bin2170,35, +CTSPillarNetworkA,2171,2171,2171,1975-12-12,216.79999999999197,216.80403,2015-01-01 00:36:11,bin2171,75, +CTSPillarNetworkA,2172,2172,2172,1975-12-13,216.89999999999196,216.90404,2015-01-01 00:36:12,bin2172,35, +CTSPillarNetworkA,2173,2173,2173,1975-12-14,216.99999999999196,217.00404,2015-01-01 00:36:13,bin2173,75, +CTSPillarNetworkA,2174,2174,2174,1975-12-15,217.09999999999195,217.10405,2015-01-01 00:36:14,bin2174,35, +CTSPillarNetworkA,2175,2175,2175,1975-12-16,217.19999999999195,217.20406,2015-01-01 00:36:15,bin2175,75, +CTSPillarNetworkA,2176,2176,2176,1975-12-17,217.29999999999194,217.30406,2015-01-01 00:36:16,bin2176,35, +CTSPillarNetworkA,2177,2177,2177,1975-12-18,217.39999999999193,217.40407,2015-01-01 00:36:17,bin2177,75, +CTSPillarNetworkA,2178,2178,2178,1975-12-19,217.49999999999193,217.50407,2015-01-01 00:36:18,bin2178,35, +CTSPillarNetworkA,2179,2179,2179,1975-12-20,217.59999999999192,217.60408,2015-01-01 00:36:19,bin2179,75, +CTSPillarNetworkA,2180,2180,2180,1975-12-21,217.69999999999192,217.70409,2015-01-01 00:36:20,bin2180,35, +CTSPillarNetworkA,2181,2181,2181,1975-12-22,217.7999999999919,217.8041,2015-01-01 00:36:21,bin2181,75, +CTSPillarNetworkA,2182,2182,2182,1975-12-23,217.8999999999919,217.9041,2015-01-01 00:36:22,bin2182,35, +CTSPillarNetworkA,2183,2183,2183,1975-12-24,217.9999999999919,218.0041,2015-01-01 00:36:23,bin2183,75, +CTSPillarNetworkA,2184,2184,2184,1975-12-25,218.0999999999919,218.10411,2015-01-01 00:36:24,bin2184,35, +CTSPillarNetworkA,2185,2185,2185,1975-12-26,218.1999999999919,218.20412,2015-01-01 00:36:25,bin2185,75, +CTSPillarNetworkA,2186,2186,2186,1975-12-27,218.29999999999188,218.30412,2015-01-01 00:36:26,bin2186,35, +CTSPillarNetworkA,2187,2187,2187,1975-12-28,218.39999999999188,218.40413,2015-01-01 00:36:27,bin2187,75, +CTSPillarNetworkA,2188,2188,2188,1975-12-29,218.49999999999187,218.50414,2015-01-01 00:36:28,bin2188,35, +CTSPillarNetworkA,2189,2189,2189,1975-12-30,218.59999999999187,218.60414,2015-01-01 00:36:29,bin2189,75, +CTSPillarNetworkA,2190,2190,2190,1975-12-31,218.69999999999186,218.70415,2015-01-01 00:36:30,bin2190,35, +CTSPillarNetworkA,2191,2191,2191,1976-01-01,218.79999999999185,218.80415,2015-01-01 00:36:31,bin2191,75, +CTSPillarNetworkA,2192,2192,2192,1976-01-02,218.89999999999185,218.90416,2015-01-01 00:36:32,bin2192,35, +CTSPillarNetworkA,2193,2193,2193,1976-01-03,218.99999999999184,219.00417,2015-01-01 00:36:33,bin2193,75, +CTSPillarNetworkA,2194,2194,2194,1976-01-04,219.09999999999184,219.10417,2015-01-01 00:36:34,bin2194,35, +CTSPillarNetworkA,2195,2195,2195,1976-01-05,219.19999999999183,219.20418,2015-01-01 00:36:35,bin2195,75, +CTSPillarNetworkA,2196,2196,2196,1976-01-06,219.29999999999183,219.30418,2015-01-01 00:36:36,bin2196,35, +CTSPillarNetworkA,2197,2197,2197,1976-01-07,219.39999999999182,219.40419,2015-01-01 00:36:37,bin2197,75, +CTSPillarNetworkA,2198,2198,2198,1976-01-08,219.49999999999181,219.5042,2015-01-01 00:36:38,bin2198,35, +CTSPillarNetworkA,2199,2199,2199,1976-01-09,219.5999999999918,219.6042,2015-01-01 00:36:39,bin2199,75, +CTSPillarNetworkA,2200,2200,2200,1976-01-10,219.6999999999918,219.70421,2015-01-01 00:36:40,bin2200,35, +CTSPillarNetworkA,2201,2201,2201,1976-01-11,219.7999999999918,219.80421,2015-01-01 00:36:41,bin2201,75, +CTSPillarNetworkA,2202,2202,2202,1976-01-12,219.8999999999918,219.90422,2015-01-01 00:36:42,bin2202,35, +CTSPillarNetworkA,2203,2203,2203,1976-01-13,219.9999999999918,220.00423,2015-01-01 00:36:43,bin2203,75, +CTSPillarNetworkA,2204,2204,2204,1976-01-14,220.09999999999178,220.10423,2015-01-01 00:36:44,bin2204,35, +CTSPillarNetworkA,2205,2205,2205,1976-01-15,220.19999999999177,220.20424,2015-01-01 00:36:45,bin2205,75, +CTSPillarNetworkA,2206,2206,2206,1976-01-16,220.29999999999177,220.30424,2015-01-01 00:36:46,bin2206,35, +CTSPillarNetworkA,2207,2207,2207,1976-01-17,220.39999999999176,220.40425,2015-01-01 00:36:47,bin2207,75, +CTSPillarNetworkA,2208,2208,2208,1976-01-18,220.49999999999176,220.50426,2015-01-01 00:36:48,bin2208,35, +CTSPillarNetworkA,2209,2209,2209,1976-01-19,220.59999999999175,220.60426,2015-01-01 00:36:49,bin2209,75, +CTSPillarNetworkA,2210,2210,2210,1976-01-20,220.69999999999175,220.70427,2015-01-01 00:36:50,bin2210,35, +CTSPillarNetworkA,2211,2211,2211,1976-01-21,220.79999999999174,220.80428,2015-01-01 00:36:51,bin2211,75, +CTSPillarNetworkA,2212,2212,2212,1976-01-22,220.89999999999173,220.90428,2015-01-01 00:36:52,bin2212,35, +CTSPillarNetworkA,2213,2213,2213,1976-01-23,220.99999999999173,221.00429,2015-01-01 00:36:53,bin2213,75, +CTSPillarNetworkA,2214,2214,2214,1976-01-24,221.09999999999172,221.1043,2015-01-01 00:36:54,bin2214,35, +CTSPillarNetworkA,2215,2215,2215,1976-01-25,221.19999999999172,221.2043,2015-01-01 00:36:55,bin2215,75, +CTSPillarNetworkA,2216,2216,2216,1976-01-26,221.2999999999917,221.3043,2015-01-01 00:36:56,bin2216,35, +CTSPillarNetworkA,2217,2217,2217,1976-01-27,221.3999999999917,221.40431,2015-01-01 00:36:57,bin2217,75, +CTSPillarNetworkA,2218,2218,2218,1976-01-28,221.4999999999917,221.50432,2015-01-01 00:36:58,bin2218,35, +CTSPillarNetworkA,2219,2219,2219,1976-01-29,221.5999999999917,221.60432,2015-01-01 00:36:59,bin2219,75, +CTSPillarNetworkA,2220,2220,2220,1976-01-30,221.6999999999917,221.70433,2015-01-01 00:37:00,bin2220,35, +CTSPillarNetworkA,2221,2221,2221,1976-01-31,221.79999999999168,221.80434,2015-01-01 00:37:01,bin2221,75, +CTSPillarNetworkA,2222,2222,2222,1976-02-01,221.89999999999168,221.90434,2015-01-01 00:37:02,bin2222,35, +CTSPillarNetworkA,2223,2223,2223,1976-02-02,221.99999999999167,222.00435,2015-01-01 00:37:03,bin2223,75, +CTSPillarNetworkA,2224,2224,2224,1976-02-03,222.09999999999167,222.10435,2015-01-01 00:37:04,bin2224,35, +CTSPillarNetworkA,2225,2225,2225,1976-02-04,222.19999999999166,222.20436,2015-01-01 00:37:05,bin2225,75, +CTSPillarNetworkA,2226,2226,2226,1976-02-05,222.29999999999166,222.30437,2015-01-01 00:37:06,bin2226,35, +CTSPillarNetworkA,2227,2227,2227,1976-02-06,222.39999999999165,222.40437,2015-01-01 00:37:07,bin2227,75, +CTSPillarNetworkA,2228,2228,2228,1976-02-07,222.49999999999164,222.50438,2015-01-01 00:37:08,bin2228,35, +CTSPillarNetworkA,2229,2229,2229,1976-02-08,222.59999999999164,222.60439,2015-01-01 00:37:09,bin2229,75, +CTSPillarNetworkA,2230,2230,2230,1976-02-09,222.69999999999163,222.70439,2015-01-01 00:37:10,bin2230,35, +CTSPillarNetworkA,2231,2231,2231,1976-02-10,222.79999999999163,222.8044,2015-01-01 00:37:11,bin2231,75, +CTSPillarNetworkA,2232,2232,2232,1976-02-11,222.89999999999162,222.9044,2015-01-01 00:37:12,bin2232,35, +CTSPillarNetworkA,2233,2233,2233,1976-02-12,222.99999999999162,223.00441,2015-01-01 00:37:13,bin2233,75, +CTSPillarNetworkA,2234,2234,2234,1976-02-13,223.0999999999916,223.10442,2015-01-01 00:37:14,bin2234,35, +CTSPillarNetworkA,2235,2235,2235,1976-02-14,223.1999999999916,223.20442,2015-01-01 00:37:15,bin2235,75, +CTSPillarNetworkA,2236,2236,2236,1976-02-15,223.2999999999916,223.30443,2015-01-01 00:37:16,bin2236,35, +CTSPillarNetworkA,2237,2237,2237,1976-02-16,223.3999999999916,223.40443,2015-01-01 00:37:17,bin2237,75, +CTSPillarNetworkA,2238,2238,2238,1976-02-17,223.4999999999916,223.50444,2015-01-01 00:37:18,bin2238,35, +CTSPillarNetworkA,2239,2239,2239,1976-02-18,223.59999999999158,223.60445,2015-01-01 00:37:19,bin2239,75, +CTSPillarNetworkA,2240,2240,2240,1976-02-19,223.69999999999158,223.70445,2015-01-01 00:37:20,bin2240,35, +CTSPillarNetworkA,2241,2241,2241,1976-02-20,223.79999999999157,223.80446,2015-01-01 00:37:21,bin2241,75, +CTSPillarNetworkA,2242,2242,2242,1976-02-21,223.89999999999156,223.90446,2015-01-01 00:37:22,bin2242,35, +CTSPillarNetworkA,2243,2243,2243,1976-02-22,223.99999999999156,224.00447,2015-01-01 00:37:23,bin2243,75, +CTSPillarNetworkA,2244,2244,2244,1976-02-23,224.09999999999155,224.10448,2015-01-01 00:37:24,bin2244,35, +CTSPillarNetworkA,2245,2245,2245,1976-02-24,224.19999999999155,224.20448,2015-01-01 00:37:25,bin2245,75, +CTSPillarNetworkA,2246,2246,2246,1976-02-25,224.29999999999154,224.30449,2015-01-01 00:37:26,bin2246,35, +CTSPillarNetworkA,2247,2247,2247,1976-02-26,224.39999999999154,224.4045,2015-01-01 00:37:27,bin2247,75, +CTSPillarNetworkA,2248,2248,2248,1976-02-27,224.49999999999153,224.5045,2015-01-01 00:37:28,bin2248,35, +CTSPillarNetworkA,2249,2249,2249,1976-02-28,224.59999999999152,224.6045,2015-01-01 00:37:29,bin2249,75, +CTSPillarNetworkA,2250,2250,2250,1976-02-29,224.69999999999152,224.70451,2015-01-01 00:37:30,bin2250,35, +CTSPillarNetworkA,2251,2251,2251,1976-03-01,224.7999999999915,224.80452,2015-01-01 00:37:31,bin2251,75, +CTSPillarNetworkA,2252,2252,2252,1976-03-02,224.8999999999915,224.90453,2015-01-01 00:37:32,bin2252,35, +CTSPillarNetworkA,2253,2253,2253,1976-03-03,224.9999999999915,225.00453,2015-01-01 00:37:33,bin2253,75, +CTSPillarNetworkA,2254,2254,2254,1976-03-04,225.0999999999915,225.10454,2015-01-01 00:37:34,bin2254,35, +CTSPillarNetworkA,2255,2255,2255,1976-03-05,225.1999999999915,225.20454,2015-01-01 00:37:35,bin2255,75, +CTSPillarNetworkA,2256,2256,2256,1976-03-06,225.29999999999148,225.30455,2015-01-01 00:37:36,bin2256,35, +CTSPillarNetworkA,2257,2257,2257,1976-03-07,225.39999999999148,225.40456,2015-01-01 00:37:37,bin2257,75, +CTSPillarNetworkA,2258,2258,2258,1976-03-08,225.49999999999147,225.50456,2015-01-01 00:37:38,bin2258,35, +CTSPillarNetworkA,2259,2259,2259,1976-03-09,225.59999999999147,225.60457,2015-01-01 00:37:39,bin2259,75, +CTSPillarNetworkA,2260,2260,2260,1976-03-10,225.69999999999146,225.70457,2015-01-01 00:37:40,bin2260,35, +CTSPillarNetworkA,2261,2261,2261,1976-03-11,225.79999999999146,225.80458,2015-01-01 00:37:41,bin2261,75, +CTSPillarNetworkA,2262,2262,2262,1976-03-12,225.89999999999145,225.90459,2015-01-01 00:37:42,bin2262,35, +CTSPillarNetworkA,2263,2263,2263,1976-03-13,225.99999999999145,226.0046,2015-01-01 00:37:43,bin2263,75, +CTSPillarNetworkA,2264,2264,2264,1976-03-14,226.09999999999144,226.1046,2015-01-01 00:37:44,bin2264,35, +CTSPillarNetworkA,2265,2265,2265,1976-03-15,226.19999999999143,226.2046,2015-01-01 00:37:45,bin2265,75, +CTSPillarNetworkA,2266,2266,2266,1976-03-16,226.29999999999143,226.30461,2015-01-01 00:37:46,bin2266,35, +CTSPillarNetworkA,2267,2267,2267,1976-03-17,226.39999999999142,226.40462,2015-01-01 00:37:47,bin2267,75, +CTSPillarNetworkA,2268,2268,2268,1976-03-18,226.49999999999142,226.50462,2015-01-01 00:37:48,bin2268,35, +CTSPillarNetworkA,2269,2269,2269,1976-03-19,226.5999999999914,226.60463,2015-01-01 00:37:49,bin2269,75, +CTSPillarNetworkA,2270,2270,2270,1976-03-20,226.6999999999914,226.70464,2015-01-01 00:37:50,bin2270,35, +CTSPillarNetworkA,2271,2271,2271,1976-03-21,226.7999999999914,226.80464,2015-01-01 00:37:51,bin2271,75, +CTSPillarNetworkA,2272,2272,2272,1976-03-22,226.8999999999914,226.90465,2015-01-01 00:37:52,bin2272,35, +CTSPillarNetworkA,2273,2273,2273,1976-03-23,226.9999999999914,227.00465,2015-01-01 00:37:53,bin2273,75, +CTSPillarNetworkA,2274,2274,2274,1976-03-24,227.09999999999138,227.10466,2015-01-01 00:37:54,bin2274,35, +CTSPillarNetworkA,2275,2275,2275,1976-03-25,227.19999999999138,227.20467,2015-01-01 00:37:55,bin2275,75, +CTSPillarNetworkA,2276,2276,2276,1976-03-26,227.29999999999137,227.30467,2015-01-01 00:37:56,bin2276,35, +CTSPillarNetworkA,2277,2277,2277,1976-03-27,227.39999999999137,227.40468,2015-01-01 00:37:57,bin2277,75, +CTSPillarNetworkA,2278,2278,2278,1976-03-28,227.49999999999136,227.50468,2015-01-01 00:37:58,bin2278,35, +CTSPillarNetworkA,2279,2279,2279,1976-03-29,227.59999999999135,227.60469,2015-01-01 00:37:59,bin2279,75, +CTSPillarNetworkA,2280,2280,2280,1976-03-30,227.69999999999135,227.7047,2015-01-01 00:38:00,bin2280,35, +CTSPillarNetworkA,2281,2281,2281,1976-03-31,227.79999999999134,227.8047,2015-01-01 00:38:01,bin2281,75, +CTSPillarNetworkA,2282,2282,2282,1976-04-01,227.89999999999134,227.90471,2015-01-01 00:38:02,bin2282,35, +CTSPillarNetworkA,2283,2283,2283,1976-04-02,227.99999999999133,228.00471,2015-01-01 00:38:03,bin2283,75, +CTSPillarNetworkA,2284,2284,2284,1976-04-03,228.09999999999133,228.10472,2015-01-01 00:38:04,bin2284,35, +CTSPillarNetworkA,2285,2285,2285,1976-04-04,228.19999999999132,228.20473,2015-01-01 00:38:05,bin2285,75, +CTSPillarNetworkA,2286,2286,2286,1976-04-05,228.29999999999131,228.30473,2015-01-01 00:38:06,bin2286,35, +CTSPillarNetworkA,2287,2287,2287,1976-04-06,228.3999999999913,228.40474,2015-01-01 00:38:07,bin2287,75, +CTSPillarNetworkA,2288,2288,2288,1976-04-07,228.4999999999913,228.50475,2015-01-01 00:38:08,bin2288,35, +CTSPillarNetworkA,2289,2289,2289,1976-04-08,228.5999999999913,228.60475,2015-01-01 00:38:09,bin2289,75, +CTSPillarNetworkA,2290,2290,2290,1976-04-09,228.6999999999913,228.70476,2015-01-01 00:38:10,bin2290,35, +CTSPillarNetworkA,2291,2291,2291,1976-04-10,228.7999999999913,228.80476,2015-01-01 00:38:11,bin2291,75, +CTSPillarNetworkA,2292,2292,2292,1976-04-11,228.89999999999128,228.90477,2015-01-01 00:38:12,bin2292,35, +CTSPillarNetworkA,2293,2293,2293,1976-04-12,228.99999999999127,229.00478,2015-01-01 00:38:13,bin2293,75, +CTSPillarNetworkA,2294,2294,2294,1976-04-13,229.09999999999127,229.10478,2015-01-01 00:38:14,bin2294,35, +CTSPillarNetworkA,2295,2295,2295,1976-04-14,229.19999999999126,229.20479,2015-01-01 00:38:15,bin2295,75, +CTSPillarNetworkA,2296,2296,2296,1976-04-15,229.29999999999126,229.3048,2015-01-01 00:38:16,bin2296,35, +CTSPillarNetworkA,2297,2297,2297,1976-04-16,229.39999999999125,229.4048,2015-01-01 00:38:17,bin2297,75, +CTSPillarNetworkA,2298,2298,2298,1976-04-17,229.49999999999125,229.5048,2015-01-01 00:38:18,bin2298,35, +CTSPillarNetworkA,2299,2299,2299,1976-04-18,229.59999999999124,229.60481,2015-01-01 00:38:19,bin2299,75, +CTSPillarNetworkA,2300,2300,2300,1976-04-19,229.69999999999123,229.70482,2015-01-01 00:38:20,bin2300,35, +CTSPillarNetworkA,2301,2301,2301,1976-04-20,229.79999999999123,229.80482,2015-01-01 00:38:21,bin2301,75, +CTSPillarNetworkA,2302,2302,2302,1976-04-21,229.89999999999122,229.90483,2015-01-01 00:38:22,bin2302,35, +CTSPillarNetworkA,2303,2303,2303,1976-04-22,229.99999999999122,230.00484,2015-01-01 00:38:23,bin2303,75, +CTSPillarNetworkA,2304,2304,2304,1976-04-23,230.0999999999912,230.10484,2015-01-01 00:38:24,bin2304,35, +CTSPillarNetworkA,2305,2305,2305,1976-04-24,230.1999999999912,230.20485,2015-01-01 00:38:25,bin2305,75, +CTSPillarNetworkA,2306,2306,2306,1976-04-25,230.2999999999912,230.30486,2015-01-01 00:38:26,bin2306,35, +CTSPillarNetworkA,2307,2307,2307,1976-04-26,230.3999999999912,230.40486,2015-01-01 00:38:27,bin2307,75, +CTSPillarNetworkA,2308,2308,2308,1976-04-27,230.4999999999912,230.50487,2015-01-01 00:38:28,bin2308,35, +CTSPillarNetworkA,2309,2309,2309,1976-04-28,230.59999999999118,230.60487,2015-01-01 00:38:29,bin2309,75, +CTSPillarNetworkA,2310,2310,2310,1976-04-29,230.69999999999118,230.70488,2015-01-01 00:38:30,bin2310,35, +CTSPillarNetworkA,2311,2311,2311,1976-04-30,230.79999999999117,230.80489,2015-01-01 00:38:31,bin2311,75, +CTSPillarNetworkA,2312,2312,2312,1976-05-01,230.89999999999117,230.90489,2015-01-01 00:38:32,bin2312,35, +CTSPillarNetworkA,2313,2313,2313,1976-05-02,230.99999999999116,231.0049,2015-01-01 00:38:33,bin2313,75, +CTSPillarNetworkA,2314,2314,2314,1976-05-03,231.09999999999116,231.1049,2015-01-01 00:38:34,bin2314,35, +CTSPillarNetworkA,2315,2315,2315,1976-05-04,231.19999999999115,231.20491,2015-01-01 00:38:35,bin2315,75, +CTSPillarNetworkA,2316,2316,2316,1976-05-05,231.29999999999114,231.30492,2015-01-01 00:38:36,bin2316,35, +CTSPillarNetworkA,2317,2317,2317,1976-05-06,231.39999999999114,231.40492,2015-01-01 00:38:37,bin2317,75, +CTSPillarNetworkA,2318,2318,2318,1976-05-07,231.49999999999113,231.50493,2015-01-01 00:38:38,bin2318,35, +CTSPillarNetworkA,2319,2319,2319,1976-05-08,231.59999999999113,231.60493,2015-01-01 00:38:39,bin2319,75, +CTSPillarNetworkA,2320,2320,2320,1976-05-09,231.69999999999112,231.70494,2015-01-01 00:38:40,bin2320,35, +CTSPillarNetworkA,2321,2321,2321,1976-05-10,231.79999999999112,231.80495,2015-01-01 00:38:41,bin2321,75, +CTSPillarNetworkA,2322,2322,2322,1976-05-11,231.8999999999911,231.90495,2015-01-01 00:38:42,bin2322,35, +CTSPillarNetworkA,2323,2323,2323,1976-05-12,231.9999999999911,232.00496,2015-01-01 00:38:43,bin2323,75, +CTSPillarNetworkA,2324,2324,2324,1976-05-13,232.0999999999911,232.10497,2015-01-01 00:38:44,bin2324,35, +CTSPillarNetworkA,2325,2325,2325,1976-05-14,232.1999999999911,232.20497,2015-01-01 00:38:45,bin2325,75, +CTSPillarNetworkA,2326,2326,2326,1976-05-15,232.2999999999911,232.30498,2015-01-01 00:38:46,bin2326,35, +CTSPillarNetworkA,2327,2327,2327,1976-05-16,232.39999999999108,232.40498,2015-01-01 00:38:47,bin2327,75, +CTSPillarNetworkA,2328,2328,2328,1976-05-17,232.49999999999108,232.50499,2015-01-01 00:38:48,bin2328,35, +CTSPillarNetworkA,2329,2329,2329,1976-05-18,232.59999999999107,232.605,2015-01-01 00:38:49,bin2329,75, +CTSPillarNetworkA,2330,2330,2330,1976-05-19,232.69999999999106,232.705,2015-01-01 00:38:50,bin2330,35, +CTSPillarNetworkA,2331,2331,2331,1976-05-20,232.79999999999106,232.80501,2015-01-01 00:38:51,bin2331,75, +CTSPillarNetworkA,2332,2332,2332,1976-05-21,232.89999999999105,232.90501,2015-01-01 00:38:52,bin2332,35, +CTSPillarNetworkA,2333,2333,2333,1976-05-22,232.99999999999105,233.00502,2015-01-01 00:38:53,bin2333,75, +CTSPillarNetworkA,2334,2334,2334,1976-05-23,233.09999999999104,233.10503,2015-01-01 00:38:54,bin2334,35, +CTSPillarNetworkA,2335,2335,2335,1976-05-24,233.19999999999104,233.20503,2015-01-01 00:38:55,bin2335,75, +CTSPillarNetworkA,2336,2336,2336,1976-05-25,233.29999999999103,233.30504,2015-01-01 00:38:56,bin2336,35, +CTSPillarNetworkA,2337,2337,2337,1976-05-26,233.39999999999102,233.40504,2015-01-01 00:38:57,bin2337,75, +CTSPillarNetworkA,2338,2338,2338,1976-05-27,233.49999999999102,233.50505,2015-01-01 00:38:58,bin2338,35, +CTSPillarNetworkA,2339,2339,2339,1976-05-28,233.599999999991,233.60506,2015-01-01 00:38:59,bin2339,75, +CTSPillarNetworkA,2340,2340,2340,1976-05-29,233.699999999991,233.70506,2015-01-01 00:39:00,bin2340,35, +CTSPillarNetworkA,2341,2341,2341,1976-05-30,233.799999999991,233.80507,2015-01-01 00:39:01,bin2341,75, +CTSPillarNetworkA,2342,2342,2342,1976-05-31,233.899999999991,233.90508,2015-01-01 00:39:02,bin2342,35, +CTSPillarNetworkA,2343,2343,2343,1976-06-01,233.999999999991,234.00508,2015-01-01 00:39:03,bin2343,75, +CTSPillarNetworkA,2344,2344,2344,1976-06-02,234.09999999999098,234.10509,2015-01-01 00:39:04,bin2344,35, +CTSPillarNetworkA,2345,2345,2345,1976-06-03,234.19999999999098,234.2051,2015-01-01 00:39:05,bin2345,75, +CTSPillarNetworkA,2346,2346,2346,1976-06-04,234.29999999999097,234.3051,2015-01-01 00:39:06,bin2346,35, +CTSPillarNetworkA,2347,2347,2347,1976-06-05,234.39999999999097,234.4051,2015-01-01 00:39:07,bin2347,75, +CTSPillarNetworkA,2348,2348,2348,1976-06-06,234.49999999999096,234.50511,2015-01-01 00:39:08,bin2348,35, +CTSPillarNetworkA,2349,2349,2349,1976-06-07,234.59999999999096,234.60512,2015-01-01 00:39:09,bin2349,75, +CTSPillarNetworkA,2350,2350,2350,1976-06-08,234.69999999999095,234.70512,2015-01-01 00:39:10,bin2350,35, +CTSPillarNetworkA,2351,2351,2351,1976-06-09,234.79999999999094,234.80513,2015-01-01 00:39:11,bin2351,75, +CTSPillarNetworkA,2352,2352,2352,1976-06-10,234.89999999999094,234.90514,2015-01-01 00:39:12,bin2352,35, +CTSPillarNetworkA,2353,2353,2353,1976-06-11,234.99999999999093,235.00514,2015-01-01 00:39:13,bin2353,75, +CTSPillarNetworkA,2354,2354,2354,1976-06-12,235.09999999999093,235.10515,2015-01-01 00:39:14,bin2354,35, +CTSPillarNetworkA,2355,2355,2355,1976-06-13,235.19999999999092,235.20515,2015-01-01 00:39:15,bin2355,75, +CTSPillarNetworkA,2356,2356,2356,1976-06-14,235.29999999999092,235.30516,2015-01-01 00:39:16,bin2356,35, +CTSPillarNetworkA,2357,2357,2357,1976-06-15,235.3999999999909,235.40517,2015-01-01 00:39:17,bin2357,75, +CTSPillarNetworkA,2358,2358,2358,1976-06-16,235.4999999999909,235.50517,2015-01-01 00:39:18,bin2358,35, +CTSPillarNetworkA,2359,2359,2359,1976-06-17,235.5999999999909,235.60518,2015-01-01 00:39:19,bin2359,75, +CTSPillarNetworkA,2360,2360,2360,1976-06-18,235.6999999999909,235.70518,2015-01-01 00:39:20,bin2360,35, +CTSPillarNetworkA,2361,2361,2361,1976-06-19,235.7999999999909,235.80519,2015-01-01 00:39:21,bin2361,75, +CTSPillarNetworkA,2362,2362,2362,1976-06-20,235.89999999999088,235.9052,2015-01-01 00:39:22,bin2362,35, +CTSPillarNetworkA,2363,2363,2363,1976-06-21,235.99999999999088,236.0052,2015-01-01 00:39:23,bin2363,75, +CTSPillarNetworkA,2364,2364,2364,1976-06-22,236.09999999999087,236.10521,2015-01-01 00:39:24,bin2364,35, +CTSPillarNetworkA,2365,2365,2365,1976-06-23,236.19999999999087,236.20522,2015-01-01 00:39:25,bin2365,75, +CTSPillarNetworkA,2366,2366,2366,1976-06-24,236.29999999999086,236.30522,2015-01-01 00:39:26,bin2366,35, +CTSPillarNetworkA,2367,2367,2367,1976-06-25,236.39999999999085,236.40523,2015-01-01 00:39:27,bin2367,75, +CTSPillarNetworkA,2368,2368,2368,1976-06-26,236.49999999999085,236.50523,2015-01-01 00:39:28,bin2368,35, +CTSPillarNetworkA,2369,2369,2369,1976-06-27,236.59999999999084,236.60524,2015-01-01 00:39:29,bin2369,75, +CTSPillarNetworkA,2370,2370,2370,1976-06-28,236.69999999999084,236.70525,2015-01-01 00:39:30,bin2370,35, +CTSPillarNetworkA,2371,2371,2371,1976-06-29,236.79999999999083,236.80525,2015-01-01 00:39:31,bin2371,75, +CTSPillarNetworkA,2372,2372,2372,1976-06-30,236.89999999999083,236.90526,2015-01-01 00:39:32,bin2372,35, +CTSPillarNetworkA,2373,2373,2373,1976-07-01,236.99999999999082,237.00526,2015-01-01 00:39:33,bin2373,75, +CTSPillarNetworkA,2374,2374,2374,1976-07-02,237.0999999999908,237.10527,2015-01-01 00:39:34,bin2374,35, +CTSPillarNetworkA,2375,2375,2375,1976-07-03,237.1999999999908,237.20528,2015-01-01 00:39:35,bin2375,75, +CTSPillarNetworkA,2376,2376,2376,1976-07-04,237.2999999999908,237.30528,2015-01-01 00:39:36,bin2376,35, +CTSPillarNetworkA,2377,2377,2377,1976-07-05,237.3999999999908,237.40529,2015-01-01 00:39:37,bin2377,75, +CTSPillarNetworkA,2378,2378,2378,1976-07-06,237.4999999999908,237.5053,2015-01-01 00:39:38,bin2378,35, +CTSPillarNetworkA,2379,2379,2379,1976-07-07,237.59999999999079,237.6053,2015-01-01 00:39:39,bin2379,75, +CTSPillarNetworkA,2380,2380,2380,1976-07-08,237.69999999999078,237.7053,2015-01-01 00:39:40,bin2380,35, +CTSPillarNetworkA,2381,2381,2381,1976-07-09,237.79999999999077,237.80531,2015-01-01 00:39:41,bin2381,75, +CTSPillarNetworkA,2382,2382,2382,1976-07-10,237.89999999999077,237.90532,2015-01-01 00:39:42,bin2382,35, +CTSPillarNetworkA,2383,2383,2383,1976-07-11,237.99999999999076,238.00533,2015-01-01 00:39:43,bin2383,75, +CTSPillarNetworkA,2384,2384,2384,1976-07-12,238.09999999999076,238.10533,2015-01-01 00:39:44,bin2384,35, +CTSPillarNetworkA,2385,2385,2385,1976-07-13,238.19999999999075,238.20534,2015-01-01 00:39:45,bin2385,75, +CTSPillarNetworkA,2386,2386,2386,1976-07-14,238.29999999999075,238.30534,2015-01-01 00:39:46,bin2386,35, +CTSPillarNetworkA,2387,2387,2387,1976-07-15,238.39999999999074,238.40535,2015-01-01 00:39:47,bin2387,75, +CTSPillarNetworkA,2388,2388,2388,1976-07-16,238.49999999999073,238.50536,2015-01-01 00:39:48,bin2388,35, +CTSPillarNetworkA,2389,2389,2389,1976-07-17,238.59999999999073,238.60536,2015-01-01 00:39:49,bin2389,75, +CTSPillarNetworkA,2390,2390,2390,1976-07-18,238.69999999999072,238.70537,2015-01-01 00:39:50,bin2390,35, +CTSPillarNetworkA,2391,2391,2391,1976-07-19,238.79999999999072,238.80537,2015-01-01 00:39:51,bin2391,75, +CTSPillarNetworkA,2392,2392,2392,1976-07-20,238.8999999999907,238.90538,2015-01-01 00:39:52,bin2392,35, +CTSPillarNetworkA,2393,2393,2393,1976-07-21,238.9999999999907,239.00539,2015-01-01 00:39:53,bin2393,75, +CTSPillarNetworkA,2394,2394,2394,1976-07-22,239.0999999999907,239.1054,2015-01-01 00:39:54,bin2394,35, +CTSPillarNetworkA,2395,2395,2395,1976-07-23,239.1999999999907,239.2054,2015-01-01 00:39:55,bin2395,75, +CTSPillarNetworkA,2396,2396,2396,1976-07-24,239.2999999999907,239.3054,2015-01-01 00:39:56,bin2396,35, +CTSPillarNetworkA,2397,2397,2397,1976-07-25,239.39999999999068,239.40541,2015-01-01 00:39:57,bin2397,75, +CTSPillarNetworkA,2398,2398,2398,1976-07-26,239.49999999999068,239.50542,2015-01-01 00:39:58,bin2398,35, +CTSPillarNetworkA,2399,2399,2399,1976-07-27,239.59999999999067,239.60542,2015-01-01 00:39:59,bin2399,75, +CTSPillarNetworkA,2400,2400,2400,1976-07-28,239.69999999999067,239.70543,2015-01-01 00:40:00,bin2400,35, +CTSPillarNetworkA,2401,2401,2401,1976-07-29,239.79999999999066,239.80544,2015-01-01 00:40:01,bin2401,75, +CTSPillarNetworkA,2402,2402,2402,1976-07-30,239.89999999999065,239.90544,2015-01-01 00:40:02,bin2402,35, +CTSPillarNetworkA,2403,2403,2403,1976-07-31,239.99999999999065,240.00545,2015-01-01 00:40:03,bin2403,75, +CTSPillarNetworkA,2404,2404,2404,1976-08-01,240.09999999999064,240.10545,2015-01-01 00:40:04,bin2404,35, +CTSPillarNetworkA,2405,2405,2405,1976-08-02,240.19999999999064,240.20546,2015-01-01 00:40:05,bin2405,75, +CTSPillarNetworkA,2406,2406,2406,1976-08-03,240.29999999999063,240.30547,2015-01-01 00:40:06,bin2406,35, +CTSPillarNetworkA,2407,2407,2407,1976-08-04,240.39999999999063,240.40547,2015-01-01 00:40:07,bin2407,75, +CTSPillarNetworkA,2408,2408,2408,1976-08-05,240.49999999999062,240.50548,2015-01-01 00:40:08,bin2408,35, +CTSPillarNetworkA,2409,2409,2409,1976-08-06,240.59999999999062,240.60548,2015-01-01 00:40:09,bin2409,75, +CTSPillarNetworkA,2410,2410,2410,1976-08-07,240.6999999999906,240.70549,2015-01-01 00:40:10,bin2410,35, +CTSPillarNetworkA,2411,2411,2411,1976-08-08,240.7999999999906,240.8055,2015-01-01 00:40:11,bin2411,75, +CTSPillarNetworkA,2412,2412,2412,1976-08-09,240.8999999999906,240.9055,2015-01-01 00:40:12,bin2412,35, +CTSPillarNetworkA,2413,2413,2413,1976-08-10,240.9999999999906,241.00551,2015-01-01 00:40:13,bin2413,75, +CTSPillarNetworkA,2414,2414,2414,1976-08-11,241.0999999999906,241.10551,2015-01-01 00:40:14,bin2414,35, +CTSPillarNetworkA,2415,2415,2415,1976-08-12,241.19999999999058,241.20552,2015-01-01 00:40:15,bin2415,75, +CTSPillarNetworkA,2416,2416,2416,1976-08-13,241.29999999999058,241.30553,2015-01-01 00:40:16,bin2416,35, +CTSPillarNetworkA,2417,2417,2417,1976-08-14,241.39999999999057,241.40553,2015-01-01 00:40:17,bin2417,75, +CTSPillarNetworkA,2418,2418,2418,1976-08-15,241.49999999999056,241.50554,2015-01-01 00:40:18,bin2418,35, +CTSPillarNetworkA,2419,2419,2419,1976-08-16,241.59999999999056,241.60555,2015-01-01 00:40:19,bin2419,75, +CTSPillarNetworkA,2420,2420,2420,1976-08-17,241.69999999999055,241.70555,2015-01-01 00:40:20,bin2420,35, +CTSPillarNetworkA,2421,2421,2421,1976-08-18,241.79999999999055,241.80556,2015-01-01 00:40:21,bin2421,75, +CTSPillarNetworkA,2422,2422,2422,1976-08-19,241.89999999999054,241.90556,2015-01-01 00:40:22,bin2422,35, +CTSPillarNetworkA,2423,2423,2423,1976-08-20,241.99999999999054,242.00557,2015-01-01 00:40:23,bin2423,75, +CTSPillarNetworkA,2424,2424,2424,1976-08-21,242.09999999999053,242.10558,2015-01-01 00:40:24,bin2424,35, +CTSPillarNetworkA,2425,2425,2425,1976-08-22,242.19999999999052,242.20558,2015-01-01 00:40:25,bin2425,75, +CTSPillarNetworkA,2426,2426,2426,1976-08-23,242.29999999999052,242.30559,2015-01-01 00:40:26,bin2426,35, +CTSPillarNetworkA,2427,2427,2427,1976-08-24,242.3999999999905,242.4056,2015-01-01 00:40:27,bin2427,75, +CTSPillarNetworkA,2428,2428,2428,1976-08-25,242.4999999999905,242.5056,2015-01-01 00:40:28,bin2428,35, +CTSPillarNetworkA,2429,2429,2429,1976-08-26,242.5999999999905,242.6056,2015-01-01 00:40:29,bin2429,75, +CTSPillarNetworkA,2430,2430,2430,1976-08-27,242.6999999999905,242.70561,2015-01-01 00:40:30,bin2430,35, +CTSPillarNetworkA,2431,2431,2431,1976-08-28,242.7999999999905,242.80562,2015-01-01 00:40:31,bin2431,75, +CTSPillarNetworkA,2432,2432,2432,1976-08-29,242.89999999999048,242.90562,2015-01-01 00:40:32,bin2432,35, +CTSPillarNetworkA,2433,2433,2433,1976-08-30,242.99999999999048,243.00563,2015-01-01 00:40:33,bin2433,75, +CTSPillarNetworkA,2434,2434,2434,1976-08-31,243.09999999999047,243.10564,2015-01-01 00:40:34,bin2434,35, +CTSPillarNetworkA,2435,2435,2435,1976-09-01,243.19999999999047,243.20564,2015-01-01 00:40:35,bin2435,75, +CTSPillarNetworkA,2436,2436,2436,1976-09-02,243.29999999999046,243.30565,2015-01-01 00:40:36,bin2436,35, +CTSPillarNetworkA,2437,2437,2437,1976-09-03,243.39999999999046,243.40565,2015-01-01 00:40:37,bin2437,75, +CTSPillarNetworkA,2438,2438,2438,1976-09-04,243.49999999999045,243.50566,2015-01-01 00:40:38,bin2438,35, +CTSPillarNetworkA,2439,2439,2439,1976-09-05,243.59999999999044,243.60567,2015-01-01 00:40:39,bin2439,75, +CTSPillarNetworkA,2440,2440,2440,1976-09-06,243.69999999999044,243.70567,2015-01-01 00:40:40,bin2440,35, +CTSPillarNetworkA,2441,2441,2441,1976-09-07,243.79999999999043,243.80568,2015-01-01 00:40:41,bin2441,75, +CTSPillarNetworkA,2442,2442,2442,1976-09-08,243.89999999999043,243.90569,2015-01-01 00:40:42,bin2442,35, +CTSPillarNetworkA,2443,2443,2443,1976-09-09,243.99999999999042,244.00569,2015-01-01 00:40:43,bin2443,75, +CTSPillarNetworkA,2444,2444,2444,1976-09-10,244.09999999999042,244.1057,2015-01-01 00:40:44,bin2444,35, +CTSPillarNetworkA,2445,2445,2445,1976-09-11,244.1999999999904,244.2057,2015-01-01 00:40:45,bin2445,75, +CTSPillarNetworkA,2446,2446,2446,1976-09-12,244.2999999999904,244.30571,2015-01-01 00:40:46,bin2446,35, +CTSPillarNetworkA,2447,2447,2447,1976-09-13,244.3999999999904,244.40572,2015-01-01 00:40:47,bin2447,75, +CTSPillarNetworkA,2448,2448,2448,1976-09-14,244.4999999999904,244.50572,2015-01-01 00:40:48,bin2448,35, +CTSPillarNetworkA,2449,2449,2449,1976-09-15,244.5999999999904,244.60573,2015-01-01 00:40:49,bin2449,75, +CTSPillarNetworkA,2450,2450,2450,1976-09-16,244.69999999999038,244.70573,2015-01-01 00:40:50,bin2450,35, +CTSPillarNetworkA,2451,2451,2451,1976-09-17,244.79999999999038,244.80574,2015-01-01 00:40:51,bin2451,75, +CTSPillarNetworkA,2452,2452,2452,1976-09-18,244.89999999999037,244.90575,2015-01-01 00:40:52,bin2452,35, +CTSPillarNetworkA,2453,2453,2453,1976-09-19,244.99999999999037,245.00575,2015-01-01 00:40:53,bin2453,75, +CTSPillarNetworkA,2454,2454,2454,1976-09-20,245.09999999999036,245.10576,2015-01-01 00:40:54,bin2454,35, +CTSPillarNetworkA,2455,2455,2455,1976-09-21,245.19999999999035,245.20576,2015-01-01 00:40:55,bin2455,75, +CTSPillarNetworkA,2456,2456,2456,1976-09-22,245.29999999999035,245.30577,2015-01-01 00:40:56,bin2456,35, +CTSPillarNetworkA,2457,2457,2457,1976-09-23,245.39999999999034,245.40578,2015-01-01 00:40:57,bin2457,75, +CTSPillarNetworkA,2458,2458,2458,1976-09-24,245.49999999999034,245.50578,2015-01-01 00:40:58,bin2458,35, +CTSPillarNetworkA,2459,2459,2459,1976-09-25,245.59999999999033,245.60579,2015-01-01 00:40:59,bin2459,75, +CTSPillarNetworkA,2460,2460,2460,1976-09-26,245.69999999999033,245.7058,2015-01-01 00:41:00,bin2460,35, +CTSPillarNetworkA,2461,2461,2461,1976-09-27,245.79999999999032,245.8058,2015-01-01 00:41:01,bin2461,75, +CTSPillarNetworkA,2462,2462,2462,1976-09-28,245.8999999999903,245.9058,2015-01-01 00:41:02,bin2462,35, +CTSPillarNetworkA,2463,2463,2463,1976-09-29,245.9999999999903,246.00581,2015-01-01 00:41:03,bin2463,75, +CTSPillarNetworkA,2464,2464,2464,1976-09-30,246.0999999999903,246.10582,2015-01-01 00:41:04,bin2464,35, +CTSPillarNetworkA,2465,2465,2465,1976-10-01,246.1999999999903,246.20583,2015-01-01 00:41:05,bin2465,75, +CTSPillarNetworkA,2466,2466,2466,1976-10-02,246.2999999999903,246.30583,2015-01-01 00:41:06,bin2466,35, +CTSPillarNetworkA,2467,2467,2467,1976-10-03,246.39999999999029,246.40584,2015-01-01 00:41:07,bin2467,75, +CTSPillarNetworkA,2468,2468,2468,1976-10-04,246.49999999999028,246.50584,2015-01-01 00:41:08,bin2468,35, +CTSPillarNetworkA,2469,2469,2469,1976-10-05,246.59999999999027,246.60585,2015-01-01 00:41:09,bin2469,75, +CTSPillarNetworkA,2470,2470,2470,1976-10-06,246.69999999999027,246.70586,2015-01-01 00:41:10,bin2470,35, +CTSPillarNetworkA,2471,2471,2471,1976-10-07,246.79999999999026,246.80586,2015-01-01 00:41:11,bin2471,75, +CTSPillarNetworkA,2472,2472,2472,1976-10-08,246.89999999999026,246.90587,2015-01-01 00:41:12,bin2472,35, +CTSPillarNetworkA,2473,2473,2473,1976-10-09,246.99999999999025,247.00587,2015-01-01 00:41:13,bin2473,75, +CTSPillarNetworkA,2474,2474,2474,1976-10-10,247.09999999999025,247.10588,2015-01-01 00:41:14,bin2474,35, +CTSPillarNetworkA,2475,2475,2475,1976-10-11,247.19999999999024,247.20589,2015-01-01 00:41:15,bin2475,75, +CTSPillarNetworkA,2476,2476,2476,1976-10-12,247.29999999999023,247.3059,2015-01-01 00:41:16,bin2476,35, +CTSPillarNetworkA,2477,2477,2477,1976-10-13,247.39999999999023,247.4059,2015-01-01 00:41:17,bin2477,75, +CTSPillarNetworkA,2478,2478,2478,1976-10-14,247.49999999999022,247.5059,2015-01-01 00:41:18,bin2478,35, +CTSPillarNetworkA,2479,2479,2479,1976-10-15,247.59999999999022,247.60591,2015-01-01 00:41:19,bin2479,75, +CTSPillarNetworkA,2480,2480,2480,1976-10-16,247.6999999999902,247.70592,2015-01-01 00:41:20,bin2480,35, +CTSPillarNetworkA,2481,2481,2481,1976-10-17,247.7999999999902,247.80592,2015-01-01 00:41:21,bin2481,75, +CTSPillarNetworkA,2482,2482,2482,1976-10-18,247.8999999999902,247.90593,2015-01-01 00:41:22,bin2482,35, +CTSPillarNetworkA,2483,2483,2483,1976-10-19,247.9999999999902,248.00594,2015-01-01 00:41:23,bin2483,75, +CTSPillarNetworkA,2484,2484,2484,1976-10-20,248.0999999999902,248.10594,2015-01-01 00:41:24,bin2484,35, +CTSPillarNetworkA,2485,2485,2485,1976-10-21,248.19999999999018,248.20595,2015-01-01 00:41:25,bin2485,75, +CTSPillarNetworkA,2486,2486,2486,1976-10-22,248.29999999999018,248.30595,2015-01-01 00:41:26,bin2486,35, +CTSPillarNetworkA,2487,2487,2487,1976-10-23,248.39999999999017,248.40596,2015-01-01 00:41:27,bin2487,75, +CTSPillarNetworkA,2488,2488,2488,1976-10-24,248.49999999999017,248.50597,2015-01-01 00:41:28,bin2488,35, +CTSPillarNetworkA,2489,2489,2489,1976-10-25,248.59999999999016,248.60597,2015-01-01 00:41:29,bin2489,75, +CTSPillarNetworkA,2490,2490,2490,1976-10-26,248.69999999999015,248.70598,2015-01-01 00:41:30,bin2490,35, +CTSPillarNetworkA,2491,2491,2491,1976-10-27,248.79999999999015,248.80598,2015-01-01 00:41:31,bin2491,75, +CTSPillarNetworkA,2492,2492,2492,1976-10-28,248.89999999999014,248.90599,2015-01-01 00:41:32,bin2492,35, +CTSPillarNetworkA,2493,2493,2493,1976-10-29,248.99999999999014,249.006,2015-01-01 00:41:33,bin2493,75, +CTSPillarNetworkA,2494,2494,2494,1976-10-30,249.09999999999013,249.106,2015-01-01 00:41:34,bin2494,35, +CTSPillarNetworkA,2495,2495,2495,1976-10-31,249.19999999999013,249.20601,2015-01-01 00:41:35,bin2495,75, +CTSPillarNetworkA,2496,2496,2496,1976-11-01,249.29999999999012,249.30602,2015-01-01 00:41:36,bin2496,35, +CTSPillarNetworkA,2497,2497,2497,1976-11-02,249.39999999999011,249.40602,2015-01-01 00:41:37,bin2497,75, +CTSPillarNetworkA,2498,2498,2498,1976-11-03,249.4999999999901,249.50603,2015-01-01 00:41:38,bin2498,35, +CTSPillarNetworkA,2499,2499,2499,1976-11-04,249.5999999999901,249.60603,2015-01-01 00:41:39,bin2499,75, +CTSPillarNetworkA,2500,2500,2500,1976-11-05,249.6999999999901,249.70604,2015-01-01 00:41:40,bin2500,35, +CTSPillarNetworkA,2501,2501,2501,1976-11-06,249.7999999999901,249.80605,2015-01-01 00:41:41,bin2501,75, +CTSPillarNetworkA,2502,2502,2502,1976-11-07,249.8999999999901,249.90605,2015-01-01 00:41:42,bin2502,35, +CTSPillarNetworkA,2503,2503,2503,1976-11-08,249.99999999999008,250.00606,2015-01-01 00:41:43,bin2503,75, +CTSPillarNetworkA,2504,2504,2504,1976-11-09,250.09999999999008,250.10606,2015-01-01 00:41:44,bin2504,35, +CTSPillarNetworkA,2505,2505,2505,1976-11-10,250.19999999999007,250.20607,2015-01-01 00:41:45,bin2505,75, +CTSPillarNetworkA,2506,2506,2506,1976-11-11,250.29999999999006,250.30608,2015-01-01 00:41:46,bin2506,35, +CTSPillarNetworkA,2507,2507,2507,1976-11-12,250.39999999999006,250.40608,2015-01-01 00:41:47,bin2507,75, +CTSPillarNetworkA,2508,2508,2508,1976-11-13,250.49999999999005,250.50609,2015-01-01 00:41:48,bin2508,35, +CTSPillarNetworkA,2509,2509,2509,1976-11-14,250.59999999999005,250.6061,2015-01-01 00:41:49,bin2509,75, +CTSPillarNetworkA,2510,2510,2510,1976-11-15,250.69999999999004,250.7061,2015-01-01 00:41:50,bin2510,35, +CTSPillarNetworkA,2511,2511,2511,1976-11-16,250.79999999999004,250.8061,2015-01-01 00:41:51,bin2511,75, +CTSPillarNetworkA,2512,2512,2512,1976-11-17,250.89999999999003,250.90611,2015-01-01 00:41:52,bin2512,35, +CTSPillarNetworkA,2513,2513,2513,1976-11-18,250.99999999999002,251.00612,2015-01-01 00:41:53,bin2513,75, +CTSPillarNetworkA,2514,2514,2514,1976-11-19,251.09999999999002,251.10612,2015-01-01 00:41:54,bin2514,35, +CTSPillarNetworkA,2515,2515,2515,1976-11-20,251.19999999999,251.20613,2015-01-01 00:41:55,bin2515,75, +CTSPillarNetworkA,2516,2516,2516,1976-11-21,251.29999999999,251.30614,2015-01-01 00:41:56,bin2516,35, +CTSPillarNetworkA,2517,2517,2517,1976-11-22,251.39999999999,251.40614,2015-01-01 00:41:57,bin2517,75, +CTSPillarNetworkA,2518,2518,2518,1976-11-23,251.49999999999,251.50615,2015-01-01 00:41:58,bin2518,35, +CTSPillarNetworkA,2519,2519,2519,1976-11-24,251.59999999999,251.60616,2015-01-01 00:41:59,bin2519,75, +CTSPillarNetworkA,2520,2520,2520,1976-11-25,251.69999999998998,251.70616,2015-01-01 00:42:00,bin2520,35, +CTSPillarNetworkA,2521,2521,2521,1976-11-26,251.79999999998998,251.80617,2015-01-01 00:42:01,bin2521,75, +CTSPillarNetworkA,2522,2522,2522,1976-11-27,251.89999999998997,251.90617,2015-01-01 00:42:02,bin2522,35, +CTSPillarNetworkA,2523,2523,2523,1976-11-28,251.99999999998997,252.00618,2015-01-01 00:42:03,bin2523,75, +CTSPillarNetworkA,2524,2524,2524,1976-11-29,252.09999999998996,252.10619,2015-01-01 00:42:04,bin2524,35, +CTSPillarNetworkA,2525,2525,2525,1976-11-30,252.19999999998996,252.20619,2015-01-01 00:42:05,bin2525,75, +CTSPillarNetworkA,2526,2526,2526,1976-12-01,252.29999999998995,252.3062,2015-01-01 00:42:06,bin2526,35, +CTSPillarNetworkA,2527,2527,2527,1976-12-02,252.39999999998994,252.4062,2015-01-01 00:42:07,bin2527,75, +CTSPillarNetworkA,2528,2528,2528,1976-12-03,252.49999999998994,252.50621,2015-01-01 00:42:08,bin2528,35, +CTSPillarNetworkA,2529,2529,2529,1976-12-04,252.59999999998993,252.60622,2015-01-01 00:42:09,bin2529,75, +CTSPillarNetworkA,2530,2530,2530,1976-12-05,252.69999999998993,252.70622,2015-01-01 00:42:10,bin2530,35, +CTSPillarNetworkA,2531,2531,2531,1976-12-06,252.79999999998992,252.80623,2015-01-01 00:42:11,bin2531,75, +CTSPillarNetworkA,2532,2532,2532,1976-12-07,252.89999999998992,252.90623,2015-01-01 00:42:12,bin2532,35, +CTSPillarNetworkA,2533,2533,2533,1976-12-08,252.9999999999899,253.00624,2015-01-01 00:42:13,bin2533,75, +CTSPillarNetworkA,2534,2534,2534,1976-12-09,253.0999999999899,253.10625,2015-01-01 00:42:14,bin2534,35, +CTSPillarNetworkA,2535,2535,2535,1976-12-10,253.1999999999899,253.20625,2015-01-01 00:42:15,bin2535,75, +CTSPillarNetworkA,2536,2536,2536,1976-12-11,253.2999999999899,253.30626,2015-01-01 00:42:16,bin2536,35, +CTSPillarNetworkA,2537,2537,2537,1976-12-12,253.3999999999899,253.40627,2015-01-01 00:42:17,bin2537,75, +CTSPillarNetworkA,2538,2538,2538,1976-12-13,253.49999999998988,253.50627,2015-01-01 00:42:18,bin2538,35, +CTSPillarNetworkA,2539,2539,2539,1976-12-14,253.59999999998988,253.60628,2015-01-01 00:42:19,bin2539,75, +CTSPillarNetworkA,2540,2540,2540,1976-12-15,253.69999999998987,253.70628,2015-01-01 00:42:20,bin2540,35, +CTSPillarNetworkA,2541,2541,2541,1976-12-16,253.79999999998986,253.80629,2015-01-01 00:42:21,bin2541,75, +CTSPillarNetworkA,2542,2542,2542,1976-12-17,253.89999999998986,253.9063,2015-01-01 00:42:22,bin2542,35, +CTSPillarNetworkA,2543,2543,2543,1976-12-18,253.99999999998985,254.0063,2015-01-01 00:42:23,bin2543,75, +CTSPillarNetworkA,2544,2544,2544,1976-12-19,254.09999999998985,254.10631,2015-01-01 00:42:24,bin2544,35, +CTSPillarNetworkA,2545,2545,2545,1976-12-20,254.19999999998984,254.20631,2015-01-01 00:42:25,bin2545,75, +CTSPillarNetworkA,2546,2546,2546,1976-12-21,254.29999999998984,254.30632,2015-01-01 00:42:26,bin2546,35, +CTSPillarNetworkA,2547,2547,2547,1976-12-22,254.39999999998983,254.40633,2015-01-01 00:42:27,bin2547,75, +CTSPillarNetworkA,2548,2548,2548,1976-12-23,254.49999999998983,254.50633,2015-01-01 00:42:28,bin2548,35, +CTSPillarNetworkA,2549,2549,2549,1976-12-24,254.59999999998982,254.60634,2015-01-01 00:42:29,bin2549,75, +CTSPillarNetworkA,2550,2550,2550,1976-12-25,254.6999999999898,254.70634,2015-01-01 00:42:30,bin2550,35, +CTSPillarNetworkA,2551,2551,2551,1976-12-26,254.7999999999898,254.80635,2015-01-01 00:42:31,bin2551,75, +CTSPillarNetworkA,2552,2552,2552,1976-12-27,254.8999999999898,254.90636,2015-01-01 00:42:32,bin2552,35, +CTSPillarNetworkA,2553,2553,2553,1976-12-28,254.9999999999898,255.00636,2015-01-01 00:42:33,bin2553,75, +CTSPillarNetworkA,2554,2554,2554,1976-12-29,255.0999999999898,255.10637,2015-01-01 00:42:34,bin2554,35, +CTSPillarNetworkA,2555,2555,2555,1976-12-30,255.19999999998979,255.20638,2015-01-01 00:42:35,bin2555,75, +CTSPillarNetworkA,2556,2556,2556,1976-12-31,255.29999999998978,255.30638,2015-01-01 00:42:36,bin2556,35, +CTSPillarNetworkA,2557,2557,2557,1977-01-01,255.39999999998977,255.40639,2015-01-01 00:42:37,bin2557,75, +CTSPillarNetworkA,2558,2558,2558,1977-01-02,255.49999999998977,255.5064,2015-01-01 00:42:38,bin2558,35, +CTSPillarNetworkA,2559,2559,2559,1977-01-03,255.59999999998976,255.6064,2015-01-01 00:42:39,bin2559,75, +CTSPillarNetworkA,2560,2560,2560,1977-01-04,255.69999999998976,255.7064,2015-01-01 00:42:40,bin2560,35, +CTSPillarNetworkA,2561,2561,2561,1977-01-05,255.79999999998975,255.80641,2015-01-01 00:42:41,bin2561,75, +CTSPillarNetworkA,2562,2562,2562,1977-01-06,255.89999999998975,255.90642,2015-01-01 00:42:42,bin2562,35, +CTSPillarNetworkA,2563,2563,2563,1977-01-07,255.99999999998974,256.0064,2015-01-01 00:42:43,bin2563,75, +CTSPillarNetworkA,2564,2564,2564,1977-01-08,256.09999999998973,256.1064,2015-01-01 00:42:44,bin2564,35, +CTSPillarNetworkA,2565,2565,2565,1977-01-09,256.19999999998976,256.20642,2015-01-01 00:42:45,bin2565,75, +CTSPillarNetworkA,2566,2566,2566,1977-01-10,256.2999999999898,256.30643,2015-01-01 00:42:46,bin2566,35, +CTSPillarNetworkA,2567,2567,2567,1977-01-11,256.3999999999898,256.40643,2015-01-01 00:42:47,bin2567,75, +CTSPillarNetworkA,2568,2568,2568,1977-01-12,256.4999999999898,256.50644,2015-01-01 00:42:48,bin2568,35, +CTSPillarNetworkA,2569,2569,2569,1977-01-13,256.59999999998985,256.60645,2015-01-01 00:42:49,bin2569,75, +CTSPillarNetworkA,2570,2570,2570,1977-01-14,256.69999999998987,256.70645,2015-01-01 00:42:50,bin2570,35, +CTSPillarNetworkA,2571,2571,2571,1977-01-15,256.7999999999899,256.80646,2015-01-01 00:42:51,bin2571,75, +CTSPillarNetworkA,2572,2572,2572,1977-01-16,256.8999999999899,256.90646,2015-01-01 00:42:52,bin2572,35, +CTSPillarNetworkA,2573,2573,2573,1977-01-17,256.99999999998994,257.00647,2015-01-01 00:42:53,bin2573,75, +CTSPillarNetworkA,2574,2574,2574,1977-01-18,257.09999999998996,257.10648,2015-01-01 00:42:54,bin2574,35, +CTSPillarNetworkA,2575,2575,2575,1977-01-19,257.19999999999,257.20648,2015-01-01 00:42:55,bin2575,75, +CTSPillarNetworkA,2576,2576,2576,1977-01-20,257.29999999999,257.3065,2015-01-01 00:42:56,bin2576,35, +CTSPillarNetworkA,2577,2577,2577,1977-01-21,257.39999999999003,257.4065,2015-01-01 00:42:57,bin2577,75, +CTSPillarNetworkA,2578,2578,2578,1977-01-22,257.49999999999005,257.5065,2015-01-01 00:42:58,bin2578,35, +CTSPillarNetworkA,2579,2579,2579,1977-01-23,257.5999999999901,257.6065,2015-01-01 00:42:59,bin2579,75, +CTSPillarNetworkA,2580,2580,2580,1977-01-24,257.6999999999901,257.7065,2015-01-01 00:43:00,bin2580,35, +CTSPillarNetworkA,2581,2581,2581,1977-01-25,257.7999999999901,257.80652,2015-01-01 00:43:01,bin2581,75, +CTSPillarNetworkA,2582,2582,2582,1977-01-26,257.89999999999014,257.90652,2015-01-01 00:43:02,bin2582,35, +CTSPillarNetworkA,2583,2583,2583,1977-01-27,257.99999999999017,258.00653,2015-01-01 00:43:03,bin2583,75, +CTSPillarNetworkA,2584,2584,2584,1977-01-28,258.0999999999902,258.10654,2015-01-01 00:43:04,bin2584,35, +CTSPillarNetworkA,2585,2585,2585,1977-01-29,258.1999999999902,258.20654,2015-01-01 00:43:05,bin2585,75, +CTSPillarNetworkA,2586,2586,2586,1977-01-30,258.29999999999023,258.30655,2015-01-01 00:43:06,bin2586,35, +CTSPillarNetworkA,2587,2587,2587,1977-01-31,258.39999999999026,258.40656,2015-01-01 00:43:07,bin2587,75, +CTSPillarNetworkA,2588,2588,2588,1977-02-01,258.4999999999903,258.50656,2015-01-01 00:43:08,bin2588,35, +CTSPillarNetworkA,2589,2589,2589,1977-02-02,258.5999999999903,258.60657,2015-01-01 00:43:09,bin2589,75, +CTSPillarNetworkA,2590,2590,2590,1977-02-03,258.6999999999903,258.70657,2015-01-01 00:43:10,bin2590,35, +CTSPillarNetworkA,2591,2591,2591,1977-02-04,258.79999999999035,258.80658,2015-01-01 00:43:11,bin2591,75, +CTSPillarNetworkA,2592,2592,2592,1977-02-05,258.89999999999037,258.9066,2015-01-01 00:43:12,bin2592,35, +CTSPillarNetworkA,2593,2593,2593,1977-02-06,258.9999999999904,259.0066,2015-01-01 00:43:13,bin2593,75, +CTSPillarNetworkA,2594,2594,2594,1977-02-07,259.0999999999904,259.1066,2015-01-01 00:43:14,bin2594,35, +CTSPillarNetworkA,2595,2595,2595,1977-02-08,259.19999999999044,259.2066,2015-01-01 00:43:15,bin2595,75, +CTSPillarNetworkA,2596,2596,2596,1977-02-09,259.29999999999046,259.3066,2015-01-01 00:43:16,bin2596,35, +CTSPillarNetworkA,2597,2597,2597,1977-02-10,259.3999999999905,259.40662,2015-01-01 00:43:17,bin2597,75, +CTSPillarNetworkA,2598,2598,2598,1977-02-11,259.4999999999905,259.50662,2015-01-01 00:43:18,bin2598,35, +CTSPillarNetworkA,2599,2599,2599,1977-02-12,259.59999999999053,259.60663,2015-01-01 00:43:19,bin2599,75, +CTSPillarNetworkA,2600,2600,2600,1977-02-13,259.69999999999055,259.70663,2015-01-01 00:43:20,bin2600,35, +CTSPillarNetworkA,2601,2601,2601,1977-02-14,259.7999999999906,259.80664,2015-01-01 00:43:21,bin2601,75, +CTSPillarNetworkA,2602,2602,2602,1977-02-15,259.8999999999906,259.90665,2015-01-01 00:43:22,bin2602,35, +CTSPillarNetworkA,2603,2603,2603,1977-02-16,259.9999999999906,260.00665,2015-01-01 00:43:23,bin2603,75, +CTSPillarNetworkA,2604,2604,2604,1977-02-17,260.09999999999064,260.10666,2015-01-01 00:43:24,bin2604,35, +CTSPillarNetworkA,2605,2605,2605,1977-02-18,260.19999999999067,260.20667,2015-01-01 00:43:25,bin2605,75, +CTSPillarNetworkA,2606,2606,2606,1977-02-19,260.2999999999907,260.30667,2015-01-01 00:43:26,bin2606,35, +CTSPillarNetworkA,2607,2607,2607,1977-02-20,260.3999999999907,260.40668,2015-01-01 00:43:27,bin2607,75, +CTSPillarNetworkA,2608,2608,2608,1977-02-21,260.49999999999073,260.50668,2015-01-01 00:43:28,bin2608,35, +CTSPillarNetworkA,2609,2609,2609,1977-02-22,260.59999999999076,260.6067,2015-01-01 00:43:29,bin2609,75, +CTSPillarNetworkA,2610,2610,2610,1977-02-23,260.6999999999908,260.7067,2015-01-01 00:43:30,bin2610,35, +CTSPillarNetworkA,2611,2611,2611,1977-02-24,260.7999999999908,260.8067,2015-01-01 00:43:31,bin2611,75, +CTSPillarNetworkA,2612,2612,2612,1977-02-25,260.8999999999908,260.9067,2015-01-01 00:43:32,bin2612,35, +CTSPillarNetworkA,2613,2613,2613,1977-02-26,260.99999999999085,261.0067,2015-01-01 00:43:33,bin2613,75, +CTSPillarNetworkA,2614,2614,2614,1977-02-27,261.09999999999087,261.10672,2015-01-01 00:43:34,bin2614,35, +CTSPillarNetworkA,2615,2615,2615,1977-02-28,261.1999999999909,261.20673,2015-01-01 00:43:35,bin2615,75, +CTSPillarNetworkA,2616,2616,2616,1977-03-01,261.2999999999909,261.30673,2015-01-01 00:43:36,bin2616,35, +CTSPillarNetworkA,2617,2617,2617,1977-03-02,261.39999999999094,261.40674,2015-01-01 00:43:37,bin2617,75, +CTSPillarNetworkA,2618,2618,2618,1977-03-03,261.49999999999096,261.50674,2015-01-01 00:43:38,bin2618,35, +CTSPillarNetworkA,2619,2619,2619,1977-03-04,261.599999999991,261.60675,2015-01-01 00:43:39,bin2619,75, +CTSPillarNetworkA,2620,2620,2620,1977-03-05,261.699999999991,261.70676,2015-01-01 00:43:40,bin2620,35, +CTSPillarNetworkA,2621,2621,2621,1977-03-06,261.79999999999103,261.80676,2015-01-01 00:43:41,bin2621,75, +CTSPillarNetworkA,2622,2622,2622,1977-03-07,261.89999999999105,261.90677,2015-01-01 00:43:42,bin2622,35, +CTSPillarNetworkA,2623,2623,2623,1977-03-08,261.9999999999911,262.00677,2015-01-01 00:43:43,bin2623,75, +CTSPillarNetworkA,2624,2624,2624,1977-03-09,262.0999999999911,262.10678,2015-01-01 00:43:44,bin2624,35, +CTSPillarNetworkA,2625,2625,2625,1977-03-10,262.1999999999911,262.2068,2015-01-01 00:43:45,bin2625,75, +CTSPillarNetworkA,2626,2626,2626,1977-03-11,262.29999999999114,262.3068,2015-01-01 00:43:46,bin2626,35, +CTSPillarNetworkA,2627,2627,2627,1977-03-12,262.39999999999117,262.4068,2015-01-01 00:43:47,bin2627,75, +CTSPillarNetworkA,2628,2628,2628,1977-03-13,262.4999999999912,262.5068,2015-01-01 00:43:48,bin2628,35, +CTSPillarNetworkA,2629,2629,2629,1977-03-14,262.5999999999912,262.6068,2015-01-01 00:43:49,bin2629,75, +CTSPillarNetworkA,2630,2630,2630,1977-03-15,262.69999999999123,262.70682,2015-01-01 00:43:50,bin2630,35, +CTSPillarNetworkA,2631,2631,2631,1977-03-16,262.79999999999126,262.80682,2015-01-01 00:43:51,bin2631,75, +CTSPillarNetworkA,2632,2632,2632,1977-03-17,262.8999999999913,262.90683,2015-01-01 00:43:52,bin2632,35, +CTSPillarNetworkA,2633,2633,2633,1977-03-18,262.9999999999913,263.00684,2015-01-01 00:43:53,bin2633,75, +CTSPillarNetworkA,2634,2634,2634,1977-03-19,263.0999999999913,263.10684,2015-01-01 00:43:54,bin2634,35, +CTSPillarNetworkA,2635,2635,2635,1977-03-20,263.19999999999135,263.20685,2015-01-01 00:43:55,bin2635,75, +CTSPillarNetworkA,2636,2636,2636,1977-03-21,263.29999999999137,263.30685,2015-01-01 00:43:56,bin2636,35, +CTSPillarNetworkA,2637,2637,2637,1977-03-22,263.3999999999914,263.40686,2015-01-01 00:43:57,bin2637,75, +CTSPillarNetworkA,2638,2638,2638,1977-03-23,263.4999999999914,263.50687,2015-01-01 00:43:58,bin2638,35, +CTSPillarNetworkA,2639,2639,2639,1977-03-24,263.59999999999144,263.60687,2015-01-01 00:43:59,bin2639,75, +CTSPillarNetworkA,2640,2640,2640,1977-03-25,263.69999999999146,263.70688,2015-01-01 00:44:00,bin2640,35, +CTSPillarNetworkA,2641,2641,2641,1977-03-26,263.7999999999915,263.8069,2015-01-01 00:44:01,bin2641,75, +CTSPillarNetworkA,2642,2642,2642,1977-03-27,263.8999999999915,263.9069,2015-01-01 00:44:02,bin2642,35, +CTSPillarNetworkA,2643,2643,2643,1977-03-28,263.99999999999153,264.0069,2015-01-01 00:44:03,bin2643,75, +CTSPillarNetworkA,2644,2644,2644,1977-03-29,264.09999999999155,264.1069,2015-01-01 00:44:04,bin2644,35, +CTSPillarNetworkA,2645,2645,2645,1977-03-30,264.1999999999916,264.2069,2015-01-01 00:44:05,bin2645,75, +CTSPillarNetworkA,2646,2646,2646,1977-03-31,264.2999999999916,264.30692,2015-01-01 00:44:06,bin2646,35, +CTSPillarNetworkA,2647,2647,2647,1977-04-01,264.3999999999916,264.40692,2015-01-01 00:44:07,bin2647,75, +CTSPillarNetworkA,2648,2648,2648,1977-04-02,264.49999999999164,264.50693,2015-01-01 00:44:08,bin2648,35, +CTSPillarNetworkA,2649,2649,2649,1977-04-03,264.59999999999167,264.60693,2015-01-01 00:44:09,bin2649,75, +CTSPillarNetworkA,2650,2650,2650,1977-04-04,264.6999999999917,264.70694,2015-01-01 00:44:10,bin2650,35, +CTSPillarNetworkA,2651,2651,2651,1977-04-05,264.7999999999917,264.80695,2015-01-01 00:44:11,bin2651,75, +CTSPillarNetworkA,2652,2652,2652,1977-04-06,264.89999999999173,264.90695,2015-01-01 00:44:12,bin2652,35, +CTSPillarNetworkA,2653,2653,2653,1977-04-07,264.99999999999176,265.00696,2015-01-01 00:44:13,bin2653,75, +CTSPillarNetworkA,2654,2654,2654,1977-04-08,265.0999999999918,265.10696,2015-01-01 00:44:14,bin2654,35, +CTSPillarNetworkA,2655,2655,2655,1977-04-09,265.1999999999918,265.20697,2015-01-01 00:44:15,bin2655,75, +CTSPillarNetworkA,2656,2656,2656,1977-04-10,265.2999999999918,265.30698,2015-01-01 00:44:16,bin2656,35, +CTSPillarNetworkA,2657,2657,2657,1977-04-11,265.39999999999185,265.40698,2015-01-01 00:44:17,bin2657,75, +CTSPillarNetworkA,2658,2658,2658,1977-04-12,265.49999999999187,265.507,2015-01-01 00:44:18,bin2658,35, +CTSPillarNetworkA,2659,2659,2659,1977-04-13,265.5999999999919,265.607,2015-01-01 00:44:19,bin2659,75, +CTSPillarNetworkA,2660,2660,2660,1977-04-14,265.6999999999919,265.707,2015-01-01 00:44:20,bin2660,35, +CTSPillarNetworkA,2661,2661,2661,1977-04-15,265.79999999999194,265.807,2015-01-01 00:44:21,bin2661,75, +CTSPillarNetworkA,2662,2662,2662,1977-04-16,265.89999999999196,265.907,2015-01-01 00:44:22,bin2662,35, +CTSPillarNetworkA,2663,2663,2663,1977-04-17,265.999999999992,266.00702,2015-01-01 00:44:23,bin2663,75, +CTSPillarNetworkA,2664,2664,2664,1977-04-18,266.099999999992,266.10703,2015-01-01 00:44:24,bin2664,35, +CTSPillarNetworkA,2665,2665,2665,1977-04-19,266.19999999999203,266.20703,2015-01-01 00:44:25,bin2665,75, +CTSPillarNetworkA,2666,2666,2666,1977-04-20,266.29999999999205,266.30704,2015-01-01 00:44:26,bin2666,35, +CTSPillarNetworkA,2667,2667,2667,1977-04-21,266.3999999999921,266.40704,2015-01-01 00:44:27,bin2667,75, +CTSPillarNetworkA,2668,2668,2668,1977-04-22,266.4999999999921,266.50705,2015-01-01 00:44:28,bin2668,35, +CTSPillarNetworkA,2669,2669,2669,1977-04-23,266.5999999999921,266.60706,2015-01-01 00:44:29,bin2669,75, +CTSPillarNetworkA,2670,2670,2670,1977-04-24,266.69999999999214,266.70706,2015-01-01 00:44:30,bin2670,35, +CTSPillarNetworkA,2671,2671,2671,1977-04-25,266.79999999999217,266.80707,2015-01-01 00:44:31,bin2671,75, +CTSPillarNetworkA,2672,2672,2672,1977-04-26,266.8999999999922,266.90707,2015-01-01 00:44:32,bin2672,35, +CTSPillarNetworkA,2673,2673,2673,1977-04-27,266.9999999999922,267.00708,2015-01-01 00:44:33,bin2673,75, +CTSPillarNetworkA,2674,2674,2674,1977-04-28,267.09999999999224,267.1071,2015-01-01 00:44:34,bin2674,35, +CTSPillarNetworkA,2675,2675,2675,1977-04-29,267.19999999999226,267.2071,2015-01-01 00:44:35,bin2675,75, +CTSPillarNetworkA,2676,2676,2676,1977-04-30,267.2999999999923,267.3071,2015-01-01 00:44:36,bin2676,35, +CTSPillarNetworkA,2677,2677,2677,1977-05-01,267.3999999999923,267.4071,2015-01-01 00:44:37,bin2677,75, +CTSPillarNetworkA,2678,2678,2678,1977-05-02,267.4999999999923,267.5071,2015-01-01 00:44:38,bin2678,35, +CTSPillarNetworkA,2679,2679,2679,1977-05-03,267.59999999999235,267.60712,2015-01-01 00:44:39,bin2679,75, +CTSPillarNetworkA,2680,2680,2680,1977-05-04,267.6999999999924,267.70712,2015-01-01 00:44:40,bin2680,35, +CTSPillarNetworkA,2681,2681,2681,1977-05-05,267.7999999999924,267.80713,2015-01-01 00:44:41,bin2681,75, +CTSPillarNetworkA,2682,2682,2682,1977-05-06,267.8999999999924,267.90714,2015-01-01 00:44:42,bin2682,35, +CTSPillarNetworkA,2683,2683,2683,1977-05-07,267.99999999999244,268.00714,2015-01-01 00:44:43,bin2683,75, +CTSPillarNetworkA,2684,2684,2684,1977-05-08,268.09999999999246,268.10715,2015-01-01 00:44:44,bin2684,35, +CTSPillarNetworkA,2685,2685,2685,1977-05-09,268.1999999999925,268.20715,2015-01-01 00:44:45,bin2685,75, +CTSPillarNetworkA,2686,2686,2686,1977-05-10,268.2999999999925,268.30716,2015-01-01 00:44:46,bin2686,35, +CTSPillarNetworkA,2687,2687,2687,1977-05-11,268.39999999999253,268.40717,2015-01-01 00:44:47,bin2687,75, +CTSPillarNetworkA,2688,2688,2688,1977-05-12,268.49999999999255,268.50717,2015-01-01 00:44:48,bin2688,35, +CTSPillarNetworkA,2689,2689,2689,1977-05-13,268.5999999999926,268.60718,2015-01-01 00:44:49,bin2689,75, +CTSPillarNetworkA,2690,2690,2690,1977-05-14,268.6999999999926,268.70718,2015-01-01 00:44:50,bin2690,35, +CTSPillarNetworkA,2691,2691,2691,1977-05-15,268.7999999999926,268.8072,2015-01-01 00:44:51,bin2691,75, +CTSPillarNetworkA,2692,2692,2692,1977-05-16,268.89999999999264,268.9072,2015-01-01 00:44:52,bin2692,35, +CTSPillarNetworkA,2693,2693,2693,1977-05-17,268.99999999999267,269.0072,2015-01-01 00:44:53,bin2693,75, +CTSPillarNetworkA,2694,2694,2694,1977-05-18,269.0999999999927,269.1072,2015-01-01 00:44:54,bin2694,35, +CTSPillarNetworkA,2695,2695,2695,1977-05-19,269.1999999999927,269.2072,2015-01-01 00:44:55,bin2695,75, +CTSPillarNetworkA,2696,2696,2696,1977-05-20,269.29999999999274,269.30722,2015-01-01 00:44:56,bin2696,35, +CTSPillarNetworkA,2697,2697,2697,1977-05-21,269.39999999999276,269.40723,2015-01-01 00:44:57,bin2697,75, +CTSPillarNetworkA,2698,2698,2698,1977-05-22,269.4999999999928,269.50723,2015-01-01 00:44:58,bin2698,35, +CTSPillarNetworkA,2699,2699,2699,1977-05-23,269.5999999999928,269.60724,2015-01-01 00:44:59,bin2699,75, +CTSPillarNetworkA,2700,2700,2700,1977-05-24,269.6999999999928,269.70724,2015-01-01 00:45:00,bin2700,35, +CTSPillarNetworkA,2701,2701,2701,1977-05-25,269.79999999999285,269.80725,2015-01-01 00:45:01,bin2701,75, +CTSPillarNetworkA,2702,2702,2702,1977-05-26,269.8999999999929,269.90726,2015-01-01 00:45:02,bin2702,35, +CTSPillarNetworkA,2703,2703,2703,1977-05-27,269.9999999999929,270.00726,2015-01-01 00:45:03,bin2703,75, +CTSPillarNetworkA,2704,2704,2704,1977-05-28,270.0999999999929,270.10727,2015-01-01 00:45:04,bin2704,35, +CTSPillarNetworkA,2705,2705,2705,1977-05-29,270.19999999999294,270.20728,2015-01-01 00:45:05,bin2705,75, +CTSPillarNetworkA,2706,2706,2706,1977-05-30,270.29999999999296,270.30728,2015-01-01 00:45:06,bin2706,35, +CTSPillarNetworkA,2707,2707,2707,1977-05-31,270.399999999993,270.4073,2015-01-01 00:45:07,bin2707,75, +CTSPillarNetworkA,2708,2708,2708,1977-06-01,270.499999999993,270.5073,2015-01-01 00:45:08,bin2708,35, +CTSPillarNetworkA,2709,2709,2709,1977-06-02,270.59999999999303,270.6073,2015-01-01 00:45:09,bin2709,75, +CTSPillarNetworkA,2710,2710,2710,1977-06-03,270.69999999999305,270.7073,2015-01-01 00:45:10,bin2710,35, +CTSPillarNetworkA,2711,2711,2711,1977-06-04,270.7999999999931,270.8073,2015-01-01 00:45:11,bin2711,75, +CTSPillarNetworkA,2712,2712,2712,1977-06-05,270.8999999999931,270.90732,2015-01-01 00:45:12,bin2712,35, +CTSPillarNetworkA,2713,2713,2713,1977-06-06,270.9999999999931,271.00732,2015-01-01 00:45:13,bin2713,75, +CTSPillarNetworkA,2714,2714,2714,1977-06-07,271.09999999999314,271.10733,2015-01-01 00:45:14,bin2714,35, +CTSPillarNetworkA,2715,2715,2715,1977-06-08,271.19999999999317,271.20734,2015-01-01 00:45:15,bin2715,75, +CTSPillarNetworkA,2716,2716,2716,1977-06-09,271.2999999999932,271.30734,2015-01-01 00:45:16,bin2716,35, +CTSPillarNetworkA,2717,2717,2717,1977-06-10,271.3999999999932,271.40735,2015-01-01 00:45:17,bin2717,75, +CTSPillarNetworkA,2718,2718,2718,1977-06-11,271.49999999999324,271.50735,2015-01-01 00:45:18,bin2718,35, +CTSPillarNetworkA,2719,2719,2719,1977-06-12,271.59999999999326,271.60736,2015-01-01 00:45:19,bin2719,75, +CTSPillarNetworkA,2720,2720,2720,1977-06-13,271.6999999999933,271.70737,2015-01-01 00:45:20,bin2720,35, +CTSPillarNetworkA,2721,2721,2721,1977-06-14,271.7999999999933,271.80737,2015-01-01 00:45:21,bin2721,75, +CTSPillarNetworkA,2722,2722,2722,1977-06-15,271.8999999999933,271.90738,2015-01-01 00:45:22,bin2722,35, +CTSPillarNetworkA,2723,2723,2723,1977-06-16,271.99999999999335,272.0074,2015-01-01 00:45:23,bin2723,75, +CTSPillarNetworkA,2724,2724,2724,1977-06-17,272.0999999999934,272.1074,2015-01-01 00:45:24,bin2724,35, +CTSPillarNetworkA,2725,2725,2725,1977-06-18,272.1999999999934,272.2074,2015-01-01 00:45:25,bin2725,75, +CTSPillarNetworkA,2726,2726,2726,1977-06-19,272.2999999999934,272.3074,2015-01-01 00:45:26,bin2726,35, +CTSPillarNetworkA,2727,2727,2727,1977-06-20,272.39999999999344,272.4074,2015-01-01 00:45:27,bin2727,75, +CTSPillarNetworkA,2728,2728,2728,1977-06-21,272.49999999999346,272.50742,2015-01-01 00:45:28,bin2728,35, +CTSPillarNetworkA,2729,2729,2729,1977-06-22,272.5999999999935,272.60742,2015-01-01 00:45:29,bin2729,75, +CTSPillarNetworkA,2730,2730,2730,1977-06-23,272.6999999999935,272.70743,2015-01-01 00:45:30,bin2730,35, +CTSPillarNetworkA,2731,2731,2731,1977-06-24,272.79999999999353,272.80743,2015-01-01 00:45:31,bin2731,75, +CTSPillarNetworkA,2732,2732,2732,1977-06-25,272.89999999999355,272.90744,2015-01-01 00:45:32,bin2732,35, +CTSPillarNetworkA,2733,2733,2733,1977-06-26,272.9999999999936,273.00745,2015-01-01 00:45:33,bin2733,75, +CTSPillarNetworkA,2734,2734,2734,1977-06-27,273.0999999999936,273.10745,2015-01-01 00:45:34,bin2734,35, +CTSPillarNetworkA,2735,2735,2735,1977-06-28,273.1999999999936,273.20746,2015-01-01 00:45:35,bin2735,75, +CTSPillarNetworkA,2736,2736,2736,1977-06-29,273.29999999999364,273.30746,2015-01-01 00:45:36,bin2736,35, +CTSPillarNetworkA,2737,2737,2737,1977-06-30,273.39999999999367,273.40747,2015-01-01 00:45:37,bin2737,75, +CTSPillarNetworkA,2738,2738,2738,1977-07-01,273.4999999999937,273.50748,2015-01-01 00:45:38,bin2738,35, +CTSPillarNetworkA,2739,2739,2739,1977-07-02,273.5999999999937,273.60748,2015-01-01 00:45:39,bin2739,75, +CTSPillarNetworkA,2740,2740,2740,1977-07-03,273.69999999999374,273.7075,2015-01-01 00:45:40,bin2740,35, +CTSPillarNetworkA,2741,2741,2741,1977-07-04,273.79999999999376,273.8075,2015-01-01 00:45:41,bin2741,75, +CTSPillarNetworkA,2742,2742,2742,1977-07-05,273.8999999999938,273.9075,2015-01-01 00:45:42,bin2742,35, +CTSPillarNetworkA,2743,2743,2743,1977-07-06,273.9999999999938,274.0075,2015-01-01 00:45:43,bin2743,75, +CTSPillarNetworkA,2744,2744,2744,1977-07-07,274.0999999999938,274.1075,2015-01-01 00:45:44,bin2744,35, +CTSPillarNetworkA,2745,2745,2745,1977-07-08,274.19999999999385,274.20752,2015-01-01 00:45:45,bin2745,75, +CTSPillarNetworkA,2746,2746,2746,1977-07-09,274.2999999999939,274.30753,2015-01-01 00:45:46,bin2746,35, +CTSPillarNetworkA,2747,2747,2747,1977-07-10,274.3999999999939,274.40753,2015-01-01 00:45:47,bin2747,75, +CTSPillarNetworkA,2748,2748,2748,1977-07-11,274.4999999999939,274.50754,2015-01-01 00:45:48,bin2748,35, +CTSPillarNetworkA,2749,2749,2749,1977-07-12,274.59999999999394,274.60754,2015-01-01 00:45:49,bin2749,75, +CTSPillarNetworkA,2750,2750,2750,1977-07-13,274.69999999999396,274.70755,2015-01-01 00:45:50,bin2750,35, +CTSPillarNetworkA,2751,2751,2751,1977-07-14,274.799999999994,274.80756,2015-01-01 00:45:51,bin2751,75, +CTSPillarNetworkA,2752,2752,2752,1977-07-15,274.899999999994,274.90756,2015-01-01 00:45:52,bin2752,35, +CTSPillarNetworkA,2753,2753,2753,1977-07-16,274.99999999999403,275.00757,2015-01-01 00:45:53,bin2753,75, +CTSPillarNetworkA,2754,2754,2754,1977-07-17,275.09999999999405,275.10757,2015-01-01 00:45:54,bin2754,35, +CTSPillarNetworkA,2755,2755,2755,1977-07-18,275.1999999999941,275.20758,2015-01-01 00:45:55,bin2755,75, +CTSPillarNetworkA,2756,2756,2756,1977-07-19,275.2999999999941,275.3076,2015-01-01 00:45:56,bin2756,35, +CTSPillarNetworkA,2757,2757,2757,1977-07-20,275.3999999999941,275.4076,2015-01-01 00:45:57,bin2757,75, +CTSPillarNetworkA,2758,2758,2758,1977-07-21,275.49999999999415,275.5076,2015-01-01 00:45:58,bin2758,35, +CTSPillarNetworkA,2759,2759,2759,1977-07-22,275.59999999999417,275.6076,2015-01-01 00:45:59,bin2759,75, +CTSPillarNetworkA,2760,2760,2760,1977-07-23,275.6999999999942,275.7076,2015-01-01 00:46:00,bin2760,35, +CTSPillarNetworkA,2761,2761,2761,1977-07-24,275.7999999999942,275.80762,2015-01-01 00:46:01,bin2761,75, +CTSPillarNetworkA,2762,2762,2762,1977-07-25,275.89999999999424,275.90762,2015-01-01 00:46:02,bin2762,35, +CTSPillarNetworkA,2763,2763,2763,1977-07-26,275.99999999999426,276.00763,2015-01-01 00:46:03,bin2763,75, +CTSPillarNetworkA,2764,2764,2764,1977-07-27,276.0999999999943,276.10764,2015-01-01 00:46:04,bin2764,35, +CTSPillarNetworkA,2765,2765,2765,1977-07-28,276.1999999999943,276.20764,2015-01-01 00:46:05,bin2765,75, +CTSPillarNetworkA,2766,2766,2766,1977-07-29,276.2999999999943,276.30765,2015-01-01 00:46:06,bin2766,35, +CTSPillarNetworkA,2767,2767,2767,1977-07-30,276.39999999999435,276.40765,2015-01-01 00:46:07,bin2767,75, +CTSPillarNetworkA,2768,2768,2768,1977-07-31,276.4999999999944,276.50766,2015-01-01 00:46:08,bin2768,35, +CTSPillarNetworkA,2769,2769,2769,1977-08-01,276.5999999999944,276.60767,2015-01-01 00:46:09,bin2769,75, +CTSPillarNetworkA,2770,2770,2770,1977-08-02,276.6999999999944,276.70767,2015-01-01 00:46:10,bin2770,35, +CTSPillarNetworkA,2771,2771,2771,1977-08-03,276.79999999999444,276.80768,2015-01-01 00:46:11,bin2771,75, +CTSPillarNetworkA,2772,2772,2772,1977-08-04,276.89999999999446,276.90768,2015-01-01 00:46:12,bin2772,35, +CTSPillarNetworkA,2773,2773,2773,1977-08-05,276.9999999999945,277.0077,2015-01-01 00:46:13,bin2773,75, +CTSPillarNetworkA,2774,2774,2774,1977-08-06,277.0999999999945,277.1077,2015-01-01 00:46:14,bin2774,35, +CTSPillarNetworkA,2775,2775,2775,1977-08-07,277.19999999999453,277.2077,2015-01-01 00:46:15,bin2775,75, +CTSPillarNetworkA,2776,2776,2776,1977-08-08,277.29999999999455,277.3077,2015-01-01 00:46:16,bin2776,35, +CTSPillarNetworkA,2777,2777,2777,1977-08-09,277.3999999999946,277.4077,2015-01-01 00:46:17,bin2777,75, +CTSPillarNetworkA,2778,2778,2778,1977-08-10,277.4999999999946,277.50772,2015-01-01 00:46:18,bin2778,35, +CTSPillarNetworkA,2779,2779,2779,1977-08-11,277.5999999999946,277.60773,2015-01-01 00:46:19,bin2779,75, +CTSPillarNetworkA,2780,2780,2780,1977-08-12,277.69999999999465,277.70773,2015-01-01 00:46:20,bin2780,35, +CTSPillarNetworkA,2781,2781,2781,1977-08-13,277.79999999999467,277.80774,2015-01-01 00:46:21,bin2781,75, +CTSPillarNetworkA,2782,2782,2782,1977-08-14,277.8999999999947,277.90775,2015-01-01 00:46:22,bin2782,35, +CTSPillarNetworkA,2783,2783,2783,1977-08-15,277.9999999999947,278.00775,2015-01-01 00:46:23,bin2783,75, +CTSPillarNetworkA,2784,2784,2784,1977-08-16,278.09999999999474,278.10776,2015-01-01 00:46:24,bin2784,35, +CTSPillarNetworkA,2785,2785,2785,1977-08-17,278.19999999999476,278.20776,2015-01-01 00:46:25,bin2785,75, +CTSPillarNetworkA,2786,2786,2786,1977-08-18,278.2999999999948,278.30777,2015-01-01 00:46:26,bin2786,35, +CTSPillarNetworkA,2787,2787,2787,1977-08-19,278.3999999999948,278.40778,2015-01-01 00:46:27,bin2787,75, +CTSPillarNetworkA,2788,2788,2788,1977-08-20,278.4999999999948,278.50778,2015-01-01 00:46:28,bin2788,35, +CTSPillarNetworkA,2789,2789,2789,1977-08-21,278.59999999999485,278.6078,2015-01-01 00:46:29,bin2789,75, +CTSPillarNetworkA,2790,2790,2790,1977-08-22,278.6999999999949,278.7078,2015-01-01 00:46:30,bin2790,35, +CTSPillarNetworkA,2791,2791,2791,1977-08-23,278.7999999999949,278.8078,2015-01-01 00:46:31,bin2791,75, +CTSPillarNetworkA,2792,2792,2792,1977-08-24,278.8999999999949,278.9078,2015-01-01 00:46:32,bin2792,35, +CTSPillarNetworkA,2793,2793,2793,1977-08-25,278.99999999999494,279.0078,2015-01-01 00:46:33,bin2793,75, +CTSPillarNetworkA,2794,2794,2794,1977-08-26,279.09999999999496,279.10782,2015-01-01 00:46:34,bin2794,35, +CTSPillarNetworkA,2795,2795,2795,1977-08-27,279.199999999995,279.20782,2015-01-01 00:46:35,bin2795,75, +CTSPillarNetworkA,2796,2796,2796,1977-08-28,279.299999999995,279.30783,2015-01-01 00:46:36,bin2796,35, +CTSPillarNetworkA,2797,2797,2797,1977-08-29,279.39999999999503,279.40784,2015-01-01 00:46:37,bin2797,75, +CTSPillarNetworkA,2798,2798,2798,1977-08-30,279.49999999999505,279.50784,2015-01-01 00:46:38,bin2798,35, +CTSPillarNetworkA,2799,2799,2799,1977-08-31,279.5999999999951,279.60785,2015-01-01 00:46:39,bin2799,75, +CTSPillarNetworkA,2800,2800,2800,1977-09-01,279.6999999999951,279.70786,2015-01-01 00:46:40,bin2800,35, +CTSPillarNetworkA,2801,2801,2801,1977-09-02,279.7999999999951,279.80786,2015-01-01 00:46:41,bin2801,75, +CTSPillarNetworkA,2802,2802,2802,1977-09-03,279.89999999999515,279.90787,2015-01-01 00:46:42,bin2802,35, +CTSPillarNetworkA,2803,2803,2803,1977-09-04,279.99999999999517,280.00787,2015-01-01 00:46:43,bin2803,75, +CTSPillarNetworkA,2804,2804,2804,1977-09-05,280.0999999999952,280.10788,2015-01-01 00:46:44,bin2804,35, +CTSPillarNetworkA,2805,2805,2805,1977-09-06,280.1999999999952,280.2079,2015-01-01 00:46:45,bin2805,75, +CTSPillarNetworkA,2806,2806,2806,1977-09-07,280.29999999999524,280.3079,2015-01-01 00:46:46,bin2806,35, +CTSPillarNetworkA,2807,2807,2807,1977-09-08,280.39999999999526,280.4079,2015-01-01 00:46:47,bin2807,75, +CTSPillarNetworkA,2808,2808,2808,1977-09-09,280.4999999999953,280.5079,2015-01-01 00:46:48,bin2808,35, +CTSPillarNetworkA,2809,2809,2809,1977-09-10,280.5999999999953,280.6079,2015-01-01 00:46:49,bin2809,75, +CTSPillarNetworkA,2810,2810,2810,1977-09-11,280.6999999999953,280.70792,2015-01-01 00:46:50,bin2810,35, +CTSPillarNetworkA,2811,2811,2811,1977-09-12,280.79999999999535,280.80792,2015-01-01 00:46:51,bin2811,75, +CTSPillarNetworkA,2812,2812,2812,1977-09-13,280.8999999999954,280.90793,2015-01-01 00:46:52,bin2812,35, +CTSPillarNetworkA,2813,2813,2813,1977-09-14,280.9999999999954,281.00793,2015-01-01 00:46:53,bin2813,75, +CTSPillarNetworkA,2814,2814,2814,1977-09-15,281.0999999999954,281.10794,2015-01-01 00:46:54,bin2814,35, +CTSPillarNetworkA,2815,2815,2815,1977-09-16,281.19999999999544,281.20795,2015-01-01 00:46:55,bin2815,75, +CTSPillarNetworkA,2816,2816,2816,1977-09-17,281.29999999999546,281.30795,2015-01-01 00:46:56,bin2816,35, +CTSPillarNetworkA,2817,2817,2817,1977-09-18,281.3999999999955,281.40796,2015-01-01 00:46:57,bin2817,75, +CTSPillarNetworkA,2818,2818,2818,1977-09-19,281.4999999999955,281.50797,2015-01-01 00:46:58,bin2818,35, +CTSPillarNetworkA,2819,2819,2819,1977-09-20,281.59999999999553,281.60797,2015-01-01 00:46:59,bin2819,75, +CTSPillarNetworkA,2820,2820,2820,1977-09-21,281.69999999999555,281.70798,2015-01-01 00:47:00,bin2820,35, +CTSPillarNetworkA,2821,2821,2821,1977-09-22,281.7999999999956,281.80798,2015-01-01 00:47:01,bin2821,75, +CTSPillarNetworkA,2822,2822,2822,1977-09-23,281.8999999999956,281.908,2015-01-01 00:47:02,bin2822,35, +CTSPillarNetworkA,2823,2823,2823,1977-09-24,281.9999999999956,282.008,2015-01-01 00:47:03,bin2823,75, +CTSPillarNetworkA,2824,2824,2824,1977-09-25,282.09999999999565,282.108,2015-01-01 00:47:04,bin2824,35, +CTSPillarNetworkA,2825,2825,2825,1977-09-26,282.19999999999567,282.208,2015-01-01 00:47:05,bin2825,75, +CTSPillarNetworkA,2826,2826,2826,1977-09-27,282.2999999999957,282.308,2015-01-01 00:47:06,bin2826,35, +CTSPillarNetworkA,2827,2827,2827,1977-09-28,282.3999999999957,282.40802,2015-01-01 00:47:07,bin2827,75, +CTSPillarNetworkA,2828,2828,2828,1977-09-29,282.49999999999574,282.50803,2015-01-01 00:47:08,bin2828,35, +CTSPillarNetworkA,2829,2829,2829,1977-09-30,282.59999999999576,282.60803,2015-01-01 00:47:09,bin2829,75, +CTSPillarNetworkA,2830,2830,2830,1977-10-01,282.6999999999958,282.70804,2015-01-01 00:47:10,bin2830,35, +CTSPillarNetworkA,2831,2831,2831,1977-10-02,282.7999999999958,282.80804,2015-01-01 00:47:11,bin2831,75, +CTSPillarNetworkA,2832,2832,2832,1977-10-03,282.8999999999958,282.90805,2015-01-01 00:47:12,bin2832,35, +CTSPillarNetworkA,2833,2833,2833,1977-10-04,282.99999999999585,283.00806,2015-01-01 00:47:13,bin2833,75, +CTSPillarNetworkA,2834,2834,2834,1977-10-05,283.0999999999959,283.10806,2015-01-01 00:47:14,bin2834,35, +CTSPillarNetworkA,2835,2835,2835,1977-10-06,283.1999999999959,283.20807,2015-01-01 00:47:15,bin2835,75, +CTSPillarNetworkA,2836,2836,2836,1977-10-07,283.2999999999959,283.30807,2015-01-01 00:47:16,bin2836,35, +CTSPillarNetworkA,2837,2837,2837,1977-10-08,283.39999999999594,283.40808,2015-01-01 00:47:17,bin2837,75, +CTSPillarNetworkA,2838,2838,2838,1977-10-09,283.49999999999596,283.5081,2015-01-01 00:47:18,bin2838,35, +CTSPillarNetworkA,2839,2839,2839,1977-10-10,283.599999999996,283.6081,2015-01-01 00:47:19,bin2839,75, +CTSPillarNetworkA,2840,2840,2840,1977-10-11,283.699999999996,283.7081,2015-01-01 00:47:20,bin2840,35, +CTSPillarNetworkA,2841,2841,2841,1977-10-12,283.79999999999603,283.8081,2015-01-01 00:47:21,bin2841,75, +CTSPillarNetworkA,2842,2842,2842,1977-10-13,283.89999999999606,283.9081,2015-01-01 00:47:22,bin2842,35, +CTSPillarNetworkA,2843,2843,2843,1977-10-14,283.9999999999961,284.00812,2015-01-01 00:47:23,bin2843,75, +CTSPillarNetworkA,2844,2844,2844,1977-10-15,284.0999999999961,284.10812,2015-01-01 00:47:24,bin2844,35, +CTSPillarNetworkA,2845,2845,2845,1977-10-16,284.1999999999961,284.20813,2015-01-01 00:47:25,bin2845,75, +CTSPillarNetworkA,2846,2846,2846,1977-10-17,284.29999999999615,284.30814,2015-01-01 00:47:26,bin2846,35, +CTSPillarNetworkA,2847,2847,2847,1977-10-18,284.39999999999617,284.40814,2015-01-01 00:47:27,bin2847,75, +CTSPillarNetworkA,2848,2848,2848,1977-10-19,284.4999999999962,284.50815,2015-01-01 00:47:28,bin2848,35, +CTSPillarNetworkA,2849,2849,2849,1977-10-20,284.5999999999962,284.60815,2015-01-01 00:47:29,bin2849,75, +CTSPillarNetworkA,2850,2850,2850,1977-10-21,284.69999999999624,284.70816,2015-01-01 00:47:30,bin2850,35, +CTSPillarNetworkA,2851,2851,2851,1977-10-22,284.79999999999626,284.80817,2015-01-01 00:47:31,bin2851,75, +CTSPillarNetworkA,2852,2852,2852,1977-10-23,284.8999999999963,284.90817,2015-01-01 00:47:32,bin2852,35, +CTSPillarNetworkA,2853,2853,2853,1977-10-24,284.9999999999963,285.00818,2015-01-01 00:47:33,bin2853,75, +CTSPillarNetworkA,2854,2854,2854,1977-10-25,285.0999999999963,285.1082,2015-01-01 00:47:34,bin2854,35, +CTSPillarNetworkA,2855,2855,2855,1977-10-26,285.19999999999635,285.2082,2015-01-01 00:47:35,bin2855,75, +CTSPillarNetworkA,2856,2856,2856,1977-10-27,285.2999999999964,285.3082,2015-01-01 00:47:36,bin2856,35, +CTSPillarNetworkA,2857,2857,2857,1977-10-28,285.3999999999964,285.4082,2015-01-01 00:47:37,bin2857,75, +CTSPillarNetworkA,2858,2858,2858,1977-10-29,285.4999999999964,285.5082,2015-01-01 00:47:38,bin2858,35, +CTSPillarNetworkA,2859,2859,2859,1977-10-30,285.59999999999644,285.60822,2015-01-01 00:47:39,bin2859,75, +CTSPillarNetworkA,2860,2860,2860,1977-10-31,285.69999999999646,285.70822,2015-01-01 00:47:40,bin2860,35, +CTSPillarNetworkA,2861,2861,2861,1977-11-01,285.7999999999965,285.80823,2015-01-01 00:47:41,bin2861,75, +CTSPillarNetworkA,2862,2862,2862,1977-11-02,285.8999999999965,285.90823,2015-01-01 00:47:42,bin2862,35, +CTSPillarNetworkA,2863,2863,2863,1977-11-03,285.99999999999653,286.00824,2015-01-01 00:47:43,bin2863,75, +CTSPillarNetworkA,2864,2864,2864,1977-11-04,286.09999999999656,286.10825,2015-01-01 00:47:44,bin2864,35, +CTSPillarNetworkA,2865,2865,2865,1977-11-05,286.1999999999966,286.20825,2015-01-01 00:47:45,bin2865,75, +CTSPillarNetworkA,2866,2866,2866,1977-11-06,286.2999999999966,286.30826,2015-01-01 00:47:46,bin2866,35, +CTSPillarNetworkA,2867,2867,2867,1977-11-07,286.3999999999966,286.40826,2015-01-01 00:47:47,bin2867,75, +CTSPillarNetworkA,2868,2868,2868,1977-11-08,286.49999999999665,286.50827,2015-01-01 00:47:48,bin2868,35, +CTSPillarNetworkA,2869,2869,2869,1977-11-09,286.59999999999667,286.60828,2015-01-01 00:47:49,bin2869,75, +CTSPillarNetworkA,2870,2870,2870,1977-11-10,286.6999999999967,286.70828,2015-01-01 00:47:50,bin2870,35, +CTSPillarNetworkA,2871,2871,2871,1977-11-11,286.7999999999967,286.8083,2015-01-01 00:47:51,bin2871,75, +CTSPillarNetworkA,2872,2872,2872,1977-11-12,286.89999999999674,286.9083,2015-01-01 00:47:52,bin2872,35, +CTSPillarNetworkA,2873,2873,2873,1977-11-13,286.99999999999676,287.0083,2015-01-01 00:47:53,bin2873,75, +CTSPillarNetworkA,2874,2874,2874,1977-11-14,287.0999999999968,287.1083,2015-01-01 00:47:54,bin2874,35, +CTSPillarNetworkA,2875,2875,2875,1977-11-15,287.1999999999968,287.2083,2015-01-01 00:47:55,bin2875,75, +CTSPillarNetworkA,2876,2876,2876,1977-11-16,287.2999999999968,287.30832,2015-01-01 00:47:56,bin2876,35, +CTSPillarNetworkA,2877,2877,2877,1977-11-17,287.39999999999685,287.40833,2015-01-01 00:47:57,bin2877,75, +CTSPillarNetworkA,2878,2878,2878,1977-11-18,287.4999999999969,287.50833,2015-01-01 00:47:58,bin2878,35, +CTSPillarNetworkA,2879,2879,2879,1977-11-19,287.5999999999969,287.60834,2015-01-01 00:47:59,bin2879,75, +CTSPillarNetworkA,2880,2880,2880,1977-11-20,287.6999999999969,287.70834,2015-01-01 00:48:00,bin2880,35, +CTSPillarNetworkA,2881,2881,2881,1977-11-21,287.79999999999694,287.80835,2015-01-01 00:48:01,bin2881,75, +CTSPillarNetworkA,2882,2882,2882,1977-11-22,287.89999999999696,287.90836,2015-01-01 00:48:02,bin2882,35, +CTSPillarNetworkA,2883,2883,2883,1977-11-23,287.999999999997,288.00836,2015-01-01 00:48:03,bin2883,75, +CTSPillarNetworkA,2884,2884,2884,1977-11-24,288.099999999997,288.10837,2015-01-01 00:48:04,bin2884,35, +CTSPillarNetworkA,2885,2885,2885,1977-11-25,288.19999999999703,288.20837,2015-01-01 00:48:05,bin2885,75, +CTSPillarNetworkA,2886,2886,2886,1977-11-26,288.29999999999706,288.30838,2015-01-01 00:48:06,bin2886,35, +CTSPillarNetworkA,2887,2887,2887,1977-11-27,288.3999999999971,288.4084,2015-01-01 00:48:07,bin2887,75, +CTSPillarNetworkA,2888,2888,2888,1977-11-28,288.4999999999971,288.5084,2015-01-01 00:48:08,bin2888,35, +CTSPillarNetworkA,2889,2889,2889,1977-11-29,288.5999999999971,288.6084,2015-01-01 00:48:09,bin2889,75, +CTSPillarNetworkA,2890,2890,2890,1977-11-30,288.69999999999715,288.7084,2015-01-01 00:48:10,bin2890,35, +CTSPillarNetworkA,2891,2891,2891,1977-12-01,288.79999999999717,288.8084,2015-01-01 00:48:11,bin2891,75, +CTSPillarNetworkA,2892,2892,2892,1977-12-02,288.8999999999972,288.90842,2015-01-01 00:48:12,bin2892,35, +CTSPillarNetworkA,2893,2893,2893,1977-12-03,288.9999999999972,289.00842,2015-01-01 00:48:13,bin2893,75, +CTSPillarNetworkA,2894,2894,2894,1977-12-04,289.09999999999724,289.10843,2015-01-01 00:48:14,bin2894,35, +CTSPillarNetworkA,2895,2895,2895,1977-12-05,289.19999999999726,289.20844,2015-01-01 00:48:15,bin2895,75, +CTSPillarNetworkA,2896,2896,2896,1977-12-06,289.2999999999973,289.30844,2015-01-01 00:48:16,bin2896,35, +CTSPillarNetworkA,2897,2897,2897,1977-12-07,289.3999999999973,289.40845,2015-01-01 00:48:17,bin2897,75, +CTSPillarNetworkA,2898,2898,2898,1977-12-08,289.4999999999973,289.50845,2015-01-01 00:48:18,bin2898,35, +CTSPillarNetworkA,2899,2899,2899,1977-12-09,289.59999999999735,289.60846,2015-01-01 00:48:19,bin2899,75, +CTSPillarNetworkA,2900,2900,2900,1977-12-10,289.6999999999974,289.70847,2015-01-01 00:48:20,bin2900,35, +CTSPillarNetworkA,2901,2901,2901,1977-12-11,289.7999999999974,289.80847,2015-01-01 00:48:21,bin2901,75, +CTSPillarNetworkA,2902,2902,2902,1977-12-12,289.8999999999974,289.90848,2015-01-01 00:48:22,bin2902,35, +CTSPillarNetworkA,2903,2903,2903,1977-12-13,289.99999999999744,290.00848,2015-01-01 00:48:23,bin2903,75, +CTSPillarNetworkA,2904,2904,2904,1977-12-14,290.09999999999746,290.1085,2015-01-01 00:48:24,bin2904,35, +CTSPillarNetworkA,2905,2905,2905,1977-12-15,290.1999999999975,290.2085,2015-01-01 00:48:25,bin2905,75, +CTSPillarNetworkA,2906,2906,2906,1977-12-16,290.2999999999975,290.3085,2015-01-01 00:48:26,bin2906,35, +CTSPillarNetworkA,2907,2907,2907,1977-12-17,290.39999999999753,290.4085,2015-01-01 00:48:27,bin2907,75, +CTSPillarNetworkA,2908,2908,2908,1977-12-18,290.49999999999756,290.5085,2015-01-01 00:48:28,bin2908,35, +CTSPillarNetworkA,2909,2909,2909,1977-12-19,290.5999999999976,290.60852,2015-01-01 00:48:29,bin2909,75, +CTSPillarNetworkA,2910,2910,2910,1977-12-20,290.6999999999976,290.70853,2015-01-01 00:48:30,bin2910,35, +CTSPillarNetworkA,2911,2911,2911,1977-12-21,290.7999999999976,290.80853,2015-01-01 00:48:31,bin2911,75, +CTSPillarNetworkA,2912,2912,2912,1977-12-22,290.89999999999765,290.90854,2015-01-01 00:48:32,bin2912,35, +CTSPillarNetworkA,2913,2913,2913,1977-12-23,290.99999999999767,291.00854,2015-01-01 00:48:33,bin2913,75, +CTSPillarNetworkA,2914,2914,2914,1977-12-24,291.0999999999977,291.10855,2015-01-01 00:48:34,bin2914,35, +CTSPillarNetworkA,2915,2915,2915,1977-12-25,291.1999999999977,291.20856,2015-01-01 00:48:35,bin2915,75, +CTSPillarNetworkA,2916,2916,2916,1977-12-26,291.29999999999774,291.30856,2015-01-01 00:48:36,bin2916,35, +CTSPillarNetworkA,2917,2917,2917,1977-12-27,291.39999999999776,291.40857,2015-01-01 00:48:37,bin2917,75, +CTSPillarNetworkA,2918,2918,2918,1977-12-28,291.4999999999978,291.50858,2015-01-01 00:48:38,bin2918,35, +CTSPillarNetworkA,2919,2919,2919,1977-12-29,291.5999999999978,291.60858,2015-01-01 00:48:39,bin2919,75, +CTSPillarNetworkA,2920,2920,2920,1977-12-30,291.69999999999783,291.7086,2015-01-01 00:48:40,bin2920,35, +CTSPillarNetworkA,2921,2921,2921,1977-12-31,291.79999999999785,291.8086,2015-01-01 00:48:41,bin2921,75, +CTSPillarNetworkA,2922,2922,2922,1978-01-01,291.8999999999979,291.9086,2015-01-01 00:48:42,bin2922,35, +CTSPillarNetworkA,2923,2923,2923,1978-01-02,291.9999999999979,292.0086,2015-01-01 00:48:43,bin2923,75, +CTSPillarNetworkA,2924,2924,2924,1978-01-03,292.0999999999979,292.1086,2015-01-01 00:48:44,bin2924,35, +CTSPillarNetworkA,2925,2925,2925,1978-01-04,292.19999999999794,292.20862,2015-01-01 00:48:45,bin2925,75, +CTSPillarNetworkA,2926,2926,2926,1978-01-05,292.29999999999797,292.30862,2015-01-01 00:48:46,bin2926,35, +CTSPillarNetworkA,2927,2927,2927,1978-01-06,292.399999999998,292.40863,2015-01-01 00:48:47,bin2927,75, +CTSPillarNetworkA,2928,2928,2928,1978-01-07,292.499999999998,292.50864,2015-01-01 00:48:48,bin2928,35, +CTSPillarNetworkA,2929,2929,2929,1978-01-08,292.59999999999803,292.60864,2015-01-01 00:48:49,bin2929,75, +CTSPillarNetworkA,2930,2930,2930,1978-01-09,292.69999999999806,292.70865,2015-01-01 00:48:50,bin2930,35, +CTSPillarNetworkA,2931,2931,2931,1978-01-10,292.7999999999981,292.80865,2015-01-01 00:48:51,bin2931,75, +CTSPillarNetworkA,2932,2932,2932,1978-01-11,292.8999999999981,292.90866,2015-01-01 00:48:52,bin2932,35, +CTSPillarNetworkA,2933,2933,2933,1978-01-12,292.9999999999981,293.00867,2015-01-01 00:48:53,bin2933,75, +CTSPillarNetworkA,2934,2934,2934,1978-01-13,293.09999999999815,293.10867,2015-01-01 00:48:54,bin2934,35, +CTSPillarNetworkA,2935,2935,2935,1978-01-14,293.19999999999817,293.20868,2015-01-01 00:48:55,bin2935,75, +CTSPillarNetworkA,2936,2936,2936,1978-01-15,293.2999999999982,293.3087,2015-01-01 00:48:56,bin2936,35, +CTSPillarNetworkA,2937,2937,2937,1978-01-16,293.3999999999982,293.4087,2015-01-01 00:48:57,bin2937,75, +CTSPillarNetworkA,2938,2938,2938,1978-01-17,293.49999999999824,293.5087,2015-01-01 00:48:58,bin2938,35, +CTSPillarNetworkA,2939,2939,2939,1978-01-18,293.59999999999826,293.6087,2015-01-01 00:48:59,bin2939,75, +CTSPillarNetworkA,2940,2940,2940,1978-01-19,293.6999999999983,293.7087,2015-01-01 00:49:00,bin2940,35, +CTSPillarNetworkA,2941,2941,2941,1978-01-20,293.7999999999983,293.80872,2015-01-01 00:49:01,bin2941,75, +CTSPillarNetworkA,2942,2942,2942,1978-01-21,293.89999999999833,293.90872,2015-01-01 00:49:02,bin2942,35, +CTSPillarNetworkA,2943,2943,2943,1978-01-22,293.99999999999835,294.00873,2015-01-01 00:49:03,bin2943,75, +CTSPillarNetworkA,2944,2944,2944,1978-01-23,294.0999999999984,294.10873,2015-01-01 00:49:04,bin2944,35, +CTSPillarNetworkA,2945,2945,2945,1978-01-24,294.1999999999984,294.20874,2015-01-01 00:49:05,bin2945,75, +CTSPillarNetworkA,2946,2946,2946,1978-01-25,294.2999999999984,294.30875,2015-01-01 00:49:06,bin2946,35, +CTSPillarNetworkA,2947,2947,2947,1978-01-26,294.39999999999844,294.40875,2015-01-01 00:49:07,bin2947,75, +CTSPillarNetworkA,2948,2948,2948,1978-01-27,294.49999999999847,294.50876,2015-01-01 00:49:08,bin2948,35, +CTSPillarNetworkA,2949,2949,2949,1978-01-28,294.5999999999985,294.60876,2015-01-01 00:49:09,bin2949,75, +CTSPillarNetworkA,2950,2950,2950,1978-01-29,294.6999999999985,294.70877,2015-01-01 00:49:10,bin2950,35, +CTSPillarNetworkA,2951,2951,2951,1978-01-30,294.79999999999853,294.80878,2015-01-01 00:49:11,bin2951,75, +CTSPillarNetworkA,2952,2952,2952,1978-01-31,294.89999999999856,294.90878,2015-01-01 00:49:12,bin2952,35, +CTSPillarNetworkA,2953,2953,2953,1978-02-01,294.9999999999986,295.0088,2015-01-01 00:49:13,bin2953,75, +CTSPillarNetworkA,2954,2954,2954,1978-02-02,295.0999999999986,295.1088,2015-01-01 00:49:14,bin2954,35, +CTSPillarNetworkA,2955,2955,2955,1978-02-03,295.1999999999986,295.2088,2015-01-01 00:49:15,bin2955,75, +CTSPillarNetworkA,2956,2956,2956,1978-02-04,295.29999999999865,295.3088,2015-01-01 00:49:16,bin2956,35, +CTSPillarNetworkA,2957,2957,2957,1978-02-05,295.39999999999867,295.4088,2015-01-01 00:49:17,bin2957,75, +CTSPillarNetworkA,2958,2958,2958,1978-02-06,295.4999999999987,295.50882,2015-01-01 00:49:18,bin2958,35, +CTSPillarNetworkA,2959,2959,2959,1978-02-07,295.5999999999987,295.60883,2015-01-01 00:49:19,bin2959,75, +CTSPillarNetworkA,2960,2960,2960,1978-02-08,295.69999999999874,295.70883,2015-01-01 00:49:20,bin2960,35, +CTSPillarNetworkA,2961,2961,2961,1978-02-09,295.79999999999876,295.80884,2015-01-01 00:49:21,bin2961,75, +CTSPillarNetworkA,2962,2962,2962,1978-02-10,295.8999999999988,295.90884,2015-01-01 00:49:22,bin2962,35, +CTSPillarNetworkA,2963,2963,2963,1978-02-11,295.9999999999988,296.00885,2015-01-01 00:49:23,bin2963,75, +CTSPillarNetworkA,2964,2964,2964,1978-02-12,296.09999999999883,296.10886,2015-01-01 00:49:24,bin2964,35, +CTSPillarNetworkA,2965,2965,2965,1978-02-13,296.19999999999885,296.20886,2015-01-01 00:49:25,bin2965,75, +CTSPillarNetworkA,2966,2966,2966,1978-02-14,296.2999999999989,296.30887,2015-01-01 00:49:26,bin2966,35, +CTSPillarNetworkA,2967,2967,2967,1978-02-15,296.3999999999989,296.40887,2015-01-01 00:49:27,bin2967,75, +CTSPillarNetworkA,2968,2968,2968,1978-02-16,296.4999999999989,296.50888,2015-01-01 00:49:28,bin2968,35, +CTSPillarNetworkA,2969,2969,2969,1978-02-17,296.59999999999894,296.6089,2015-01-01 00:49:29,bin2969,75, +CTSPillarNetworkA,2970,2970,2970,1978-02-18,296.69999999999897,296.7089,2015-01-01 00:49:30,bin2970,35, +CTSPillarNetworkA,2971,2971,2971,1978-02-19,296.799999999999,296.8089,2015-01-01 00:49:31,bin2971,75, +CTSPillarNetworkA,2972,2972,2972,1978-02-20,296.899999999999,296.9089,2015-01-01 00:49:32,bin2972,35, +CTSPillarNetworkA,2973,2973,2973,1978-02-21,296.99999999999903,297.0089,2015-01-01 00:49:33,bin2973,75, +CTSPillarNetworkA,2974,2974,2974,1978-02-22,297.09999999999906,297.10892,2015-01-01 00:49:34,bin2974,35, +CTSPillarNetworkA,2975,2975,2975,1978-02-23,297.1999999999991,297.20892,2015-01-01 00:49:35,bin2975,75, +CTSPillarNetworkA,2976,2976,2976,1978-02-24,297.2999999999991,297.30893,2015-01-01 00:49:36,bin2976,35, +CTSPillarNetworkA,2977,2977,2977,1978-02-25,297.3999999999991,297.40894,2015-01-01 00:49:37,bin2977,75, +CTSPillarNetworkA,2978,2978,2978,1978-02-26,297.49999999999915,297.50894,2015-01-01 00:49:38,bin2978,35, +CTSPillarNetworkA,2979,2979,2979,1978-02-27,297.59999999999917,297.60895,2015-01-01 00:49:39,bin2979,75, +CTSPillarNetworkA,2980,2980,2980,1978-02-28,297.6999999999992,297.70895,2015-01-01 00:49:40,bin2980,35, +CTSPillarNetworkA,2981,2981,2981,1978-03-01,297.7999999999992,297.80896,2015-01-01 00:49:41,bin2981,75, +CTSPillarNetworkA,2982,2982,2982,1978-03-02,297.89999999999924,297.90897,2015-01-01 00:49:42,bin2982,35, +CTSPillarNetworkA,2983,2983,2983,1978-03-03,297.99999999999926,298.00897,2015-01-01 00:49:43,bin2983,75, +CTSPillarNetworkA,2984,2984,2984,1978-03-04,298.0999999999993,298.10898,2015-01-01 00:49:44,bin2984,35, +CTSPillarNetworkA,2985,2985,2985,1978-03-05,298.1999999999993,298.20898,2015-01-01 00:49:45,bin2985,75, +CTSPillarNetworkA,2986,2986,2986,1978-03-06,298.29999999999933,298.309,2015-01-01 00:49:46,bin2986,35, +CTSPillarNetworkA,2987,2987,2987,1978-03-07,298.39999999999935,298.409,2015-01-01 00:49:47,bin2987,75, +CTSPillarNetworkA,2988,2988,2988,1978-03-08,298.4999999999994,298.509,2015-01-01 00:49:48,bin2988,35, +CTSPillarNetworkA,2989,2989,2989,1978-03-09,298.5999999999994,298.609,2015-01-01 00:49:49,bin2989,75, +CTSPillarNetworkA,2990,2990,2990,1978-03-10,298.6999999999994,298.709,2015-01-01 00:49:50,bin2990,35, +CTSPillarNetworkA,2991,2991,2991,1978-03-11,298.79999999999944,298.80902,2015-01-01 00:49:51,bin2991,75, +CTSPillarNetworkA,2992,2992,2992,1978-03-12,298.89999999999947,298.90903,2015-01-01 00:49:52,bin2992,35, +CTSPillarNetworkA,2993,2993,2993,1978-03-13,298.9999999999995,299.00903,2015-01-01 00:49:53,bin2993,75, +CTSPillarNetworkA,2994,2994,2994,1978-03-14,299.0999999999995,299.10904,2015-01-01 00:49:54,bin2994,35, +CTSPillarNetworkA,2995,2995,2995,1978-03-15,299.19999999999953,299.20905,2015-01-01 00:49:55,bin2995,75, +CTSPillarNetworkA,2996,2996,2996,1978-03-16,299.29999999999956,299.30905,2015-01-01 00:49:56,bin2996,35, +CTSPillarNetworkA,2997,2997,2997,1978-03-17,299.3999999999996,299.40906,2015-01-01 00:49:57,bin2997,75, +CTSPillarNetworkA,2998,2998,2998,1978-03-18,299.4999999999996,299.50906,2015-01-01 00:49:58,bin2998,35, +CTSPillarNetworkA,2999,2999,2999,1978-03-19,299.5999999999996,299.60907,2015-01-01 00:49:59,bin2999,75, +CTSPillarNetworkA,3000,3000,3000,1978-03-20,299.69999999999965,299.70908,2015-01-01 00:50:00,bin3000,35, +CTSPillarNetworkA,3001,3001,3001,1978-03-21,299.79999999999967,299.80908,2015-01-01 00:50:01,bin3001,75, +CTSPillarNetworkA,3002,3002,3002,1978-03-22,299.8999999999997,299.9091,2015-01-01 00:50:02,bin3002,35, +CTSPillarNetworkA,3003,3003,3003,1978-03-23,299.9999999999997,300.0091,2015-01-01 00:50:03,bin3003,75, +CTSPillarNetworkA,3004,3004,3004,1978-03-24,300.09999999999974,300.1091,2015-01-01 00:50:04,bin3004,35, +CTSPillarNetworkA,3005,3005,3005,1978-03-25,300.19999999999976,300.2091,2015-01-01 00:50:05,bin3005,75, +CTSPillarNetworkA,3006,3006,3006,1978-03-26,300.2999999999998,300.3091,2015-01-01 00:50:06,bin3006,35, +CTSPillarNetworkA,3007,3007,3007,1978-03-27,300.3999999999998,300.40912,2015-01-01 00:50:07,bin3007,75, +CTSPillarNetworkA,3008,3008,3008,1978-03-28,300.49999999999983,300.50912,2015-01-01 00:50:08,bin3008,35, +CTSPillarNetworkA,3009,3009,3009,1978-03-29,300.59999999999985,300.60913,2015-01-01 00:50:09,bin3009,75, +CTSPillarNetworkA,3010,3010,3010,1978-03-30,300.6999999999999,300.70914,2015-01-01 00:50:10,bin3010,35, +CTSPillarNetworkA,3011,3011,3011,1978-03-31,300.7999999999999,300.80914,2015-01-01 00:50:11,bin3011,75, +CTSPillarNetworkA,3012,3012,3012,1978-04-01,300.8999999999999,300.90915,2015-01-01 00:50:12,bin3012,35, +CTSPillarNetworkA,3013,3013,3013,1978-04-02,300.99999999999994,301.00916,2015-01-01 00:50:13,bin3013,75, +CTSPillarNetworkA,3014,3014,3014,1978-04-03,301.09999999999997,301.10916,2015-01-01 00:50:14,bin3014,35, +CTSPillarNetworkA,3015,3015,3015,1978-04-04,301.2,301.20917,2015-01-01 00:50:15,bin3015,75, +CTSPillarNetworkA,3016,3016,3016,1978-04-05,301.3,301.30917,2015-01-01 00:50:16,bin3016,35, +CTSPillarNetworkA,3017,3017,3017,1978-04-06,301.40000000000003,301.40918,2015-01-01 00:50:17,bin3017,75, +CTSPillarNetworkA,3018,3018,3018,1978-04-07,301.50000000000006,301.5092,2015-01-01 00:50:18,bin3018,35, +CTSPillarNetworkA,3019,3019,3019,1978-04-08,301.6000000000001,301.6092,2015-01-01 00:50:19,bin3019,75, +CTSPillarNetworkA,3020,3020,3020,1978-04-09,301.7000000000001,301.7092,2015-01-01 00:50:20,bin3020,35, +CTSPillarNetworkA,3021,3021,3021,1978-04-10,301.8000000000001,301.8092,2015-01-01 00:50:21,bin3021,75, +CTSPillarNetworkA,3022,3022,3022,1978-04-11,301.90000000000015,301.9092,2015-01-01 00:50:22,bin3022,35, +CTSPillarNetworkA,3023,3023,3023,1978-04-12,302.00000000000017,302.00922,2015-01-01 00:50:23,bin3023,75, +CTSPillarNetworkA,3024,3024,3024,1978-04-13,302.1000000000002,302.10922,2015-01-01 00:50:24,bin3024,35, +CTSPillarNetworkA,3025,3025,3025,1978-04-14,302.2000000000002,302.20923,2015-01-01 00:50:25,bin3025,75, +CTSPillarNetworkA,3026,3026,3026,1978-04-15,302.30000000000024,302.30923,2015-01-01 00:50:26,bin3026,35, +CTSPillarNetworkA,3027,3027,3027,1978-04-16,302.40000000000026,302.40924,2015-01-01 00:50:27,bin3027,75, +CTSPillarNetworkA,3028,3028,3028,1978-04-17,302.5000000000003,302.50925,2015-01-01 00:50:28,bin3028,35, +CTSPillarNetworkA,3029,3029,3029,1978-04-18,302.6000000000003,302.60925,2015-01-01 00:50:29,bin3029,75, +CTSPillarNetworkA,3030,3030,3030,1978-04-19,302.70000000000033,302.70926,2015-01-01 00:50:30,bin3030,35, +CTSPillarNetworkA,3031,3031,3031,1978-04-20,302.80000000000035,302.80927,2015-01-01 00:50:31,bin3031,75, +CTSPillarNetworkA,3032,3032,3032,1978-04-21,302.9000000000004,302.90927,2015-01-01 00:50:32,bin3032,35, +CTSPillarNetworkA,3033,3033,3033,1978-04-22,303.0000000000004,303.00928,2015-01-01 00:50:33,bin3033,75, +CTSPillarNetworkA,3034,3034,3034,1978-04-23,303.1000000000004,303.10928,2015-01-01 00:50:34,bin3034,35, +CTSPillarNetworkA,3035,3035,3035,1978-04-24,303.20000000000044,303.2093,2015-01-01 00:50:35,bin3035,75, +CTSPillarNetworkA,3036,3036,3036,1978-04-25,303.30000000000047,303.3093,2015-01-01 00:50:36,bin3036,35, +CTSPillarNetworkA,3037,3037,3037,1978-04-26,303.4000000000005,303.4093,2015-01-01 00:50:37,bin3037,75, +CTSPillarNetworkA,3038,3038,3038,1978-04-27,303.5000000000005,303.5093,2015-01-01 00:50:38,bin3038,35, +CTSPillarNetworkA,3039,3039,3039,1978-04-28,303.60000000000053,303.6093,2015-01-01 00:50:39,bin3039,75, +CTSPillarNetworkA,3040,3040,3040,1978-04-29,303.70000000000056,303.70932,2015-01-01 00:50:40,bin3040,35, +CTSPillarNetworkA,3041,3041,3041,1978-04-30,303.8000000000006,303.80933,2015-01-01 00:50:41,bin3041,75, +CTSPillarNetworkA,3042,3042,3042,1978-05-01,303.9000000000006,303.90933,2015-01-01 00:50:42,bin3042,35, +CTSPillarNetworkA,3043,3043,3043,1978-05-02,304.0000000000006,304.00934,2015-01-01 00:50:43,bin3043,75, +CTSPillarNetworkA,3044,3044,3044,1978-05-03,304.10000000000065,304.10934,2015-01-01 00:50:44,bin3044,35, +CTSPillarNetworkA,3045,3045,3045,1978-05-04,304.20000000000067,304.20935,2015-01-01 00:50:45,bin3045,75, +CTSPillarNetworkA,3046,3046,3046,1978-05-05,304.3000000000007,304.30936,2015-01-01 00:50:46,bin3046,35, +CTSPillarNetworkA,3047,3047,3047,1978-05-06,304.4000000000007,304.40936,2015-01-01 00:50:47,bin3047,75, +CTSPillarNetworkA,3048,3048,3048,1978-05-07,304.50000000000074,304.50937,2015-01-01 00:50:48,bin3048,35, +CTSPillarNetworkA,3049,3049,3049,1978-05-08,304.60000000000076,304.60938,2015-01-01 00:50:49,bin3049,75, +CTSPillarNetworkA,3050,3050,3050,1978-05-09,304.7000000000008,304.70938,2015-01-01 00:50:50,bin3050,35, +CTSPillarNetworkA,3051,3051,3051,1978-05-10,304.8000000000008,304.8094,2015-01-01 00:50:51,bin3051,75, +CTSPillarNetworkA,3052,3052,3052,1978-05-11,304.90000000000083,304.9094,2015-01-01 00:50:52,bin3052,35, +CTSPillarNetworkA,3053,3053,3053,1978-05-12,305.00000000000085,305.0094,2015-01-01 00:50:53,bin3053,75, +CTSPillarNetworkA,3054,3054,3054,1978-05-13,305.1000000000009,305.1094,2015-01-01 00:50:54,bin3054,35, +CTSPillarNetworkA,3055,3055,3055,1978-05-14,305.2000000000009,305.2094,2015-01-01 00:50:55,bin3055,75, +CTSPillarNetworkA,3056,3056,3056,1978-05-15,305.3000000000009,305.30942,2015-01-01 00:50:56,bin3056,35, +CTSPillarNetworkA,3057,3057,3057,1978-05-16,305.40000000000094,305.40942,2015-01-01 00:50:57,bin3057,75, +CTSPillarNetworkA,3058,3058,3058,1978-05-17,305.50000000000097,305.50943,2015-01-01 00:50:58,bin3058,35, +CTSPillarNetworkA,3059,3059,3059,1978-05-18,305.600000000001,305.60944,2015-01-01 00:50:59,bin3059,75, +CTSPillarNetworkA,3060,3060,3060,1978-05-19,305.700000000001,305.70944,2015-01-01 00:51:00,bin3060,35, +CTSPillarNetworkA,3061,3061,3061,1978-05-20,305.80000000000103,305.80945,2015-01-01 00:51:01,bin3061,75, +CTSPillarNetworkA,3062,3062,3062,1978-05-21,305.90000000000106,305.90945,2015-01-01 00:51:02,bin3062,35, +CTSPillarNetworkA,3063,3063,3063,1978-05-22,306.0000000000011,306.00946,2015-01-01 00:51:03,bin3063,75, +CTSPillarNetworkA,3064,3064,3064,1978-05-23,306.1000000000011,306.10947,2015-01-01 00:51:04,bin3064,35, +CTSPillarNetworkA,3065,3065,3065,1978-05-24,306.2000000000011,306.20947,2015-01-01 00:51:05,bin3065,75, +CTSPillarNetworkA,3066,3066,3066,1978-05-25,306.30000000000115,306.30948,2015-01-01 00:51:06,bin3066,35, +CTSPillarNetworkA,3067,3067,3067,1978-05-26,306.40000000000117,306.4095,2015-01-01 00:51:07,bin3067,75, +CTSPillarNetworkA,3068,3068,3068,1978-05-27,306.5000000000012,306.5095,2015-01-01 00:51:08,bin3068,35, +CTSPillarNetworkA,3069,3069,3069,1978-05-28,306.6000000000012,306.6095,2015-01-01 00:51:09,bin3069,75, +CTSPillarNetworkA,3070,3070,3070,1978-05-29,306.70000000000124,306.7095,2015-01-01 00:51:10,bin3070,35, +CTSPillarNetworkA,3071,3071,3071,1978-05-30,306.80000000000126,306.8095,2015-01-01 00:51:11,bin3071,75, +CTSPillarNetworkA,3072,3072,3072,1978-05-31,306.9000000000013,306.90952,2015-01-01 00:51:12,bin3072,35, +CTSPillarNetworkA,3073,3073,3073,1978-06-01,307.0000000000013,307.00952,2015-01-01 00:51:13,bin3073,75, +CTSPillarNetworkA,3074,3074,3074,1978-06-02,307.10000000000133,307.10953,2015-01-01 00:51:14,bin3074,35, +CTSPillarNetworkA,3075,3075,3075,1978-06-03,307.20000000000135,307.20953,2015-01-01 00:51:15,bin3075,75, +CTSPillarNetworkA,3076,3076,3076,1978-06-04,307.3000000000014,307.30954,2015-01-01 00:51:16,bin3076,35, +CTSPillarNetworkA,3077,3077,3077,1978-06-05,307.4000000000014,307.40955,2015-01-01 00:51:17,bin3077,75, +CTSPillarNetworkA,3078,3078,3078,1978-06-06,307.5000000000014,307.50955,2015-01-01 00:51:18,bin3078,35, +CTSPillarNetworkA,3079,3079,3079,1978-06-07,307.60000000000144,307.60956,2015-01-01 00:51:19,bin3079,75, +CTSPillarNetworkA,3080,3080,3080,1978-06-08,307.70000000000147,307.70956,2015-01-01 00:51:20,bin3080,35, +CTSPillarNetworkA,3081,3081,3081,1978-06-09,307.8000000000015,307.80957,2015-01-01 00:51:21,bin3081,75, +CTSPillarNetworkA,3082,3082,3082,1978-06-10,307.9000000000015,307.90958,2015-01-01 00:51:22,bin3082,35, +CTSPillarNetworkA,3083,3083,3083,1978-06-11,308.00000000000153,308.00958,2015-01-01 00:51:23,bin3083,75, +CTSPillarNetworkA,3084,3084,3084,1978-06-12,308.10000000000156,308.1096,2015-01-01 00:51:24,bin3084,35, +CTSPillarNetworkA,3085,3085,3085,1978-06-13,308.2000000000016,308.2096,2015-01-01 00:51:25,bin3085,75, +CTSPillarNetworkA,3086,3086,3086,1978-06-14,308.3000000000016,308.3096,2015-01-01 00:51:26,bin3086,35, +CTSPillarNetworkA,3087,3087,3087,1978-06-15,308.4000000000016,308.4096,2015-01-01 00:51:27,bin3087,75, +CTSPillarNetworkA,3088,3088,3088,1978-06-16,308.50000000000165,308.5096,2015-01-01 00:51:28,bin3088,35, +CTSPillarNetworkA,3089,3089,3089,1978-06-17,308.60000000000167,308.60962,2015-01-01 00:51:29,bin3089,75, +CTSPillarNetworkA,3090,3090,3090,1978-06-18,308.7000000000017,308.70963,2015-01-01 00:51:30,bin3090,35, +CTSPillarNetworkA,3091,3091,3091,1978-06-19,308.8000000000017,308.80963,2015-01-01 00:51:31,bin3091,75, +CTSPillarNetworkA,3092,3092,3092,1978-06-20,308.90000000000174,308.90964,2015-01-01 00:51:32,bin3092,35, +CTSPillarNetworkA,3093,3093,3093,1978-06-21,309.00000000000176,309.00964,2015-01-01 00:51:33,bin3093,75, +CTSPillarNetworkA,3094,3094,3094,1978-06-22,309.1000000000018,309.10965,2015-01-01 00:51:34,bin3094,35, +CTSPillarNetworkA,3095,3095,3095,1978-06-23,309.2000000000018,309.20966,2015-01-01 00:51:35,bin3095,75, +CTSPillarNetworkA,3096,3096,3096,1978-06-24,309.30000000000183,309.30966,2015-01-01 00:51:36,bin3096,35, +CTSPillarNetworkA,3097,3097,3097,1978-06-25,309.40000000000185,309.40967,2015-01-01 00:51:37,bin3097,75, +CTSPillarNetworkA,3098,3098,3098,1978-06-26,309.5000000000019,309.50967,2015-01-01 00:51:38,bin3098,35, +CTSPillarNetworkA,3099,3099,3099,1978-06-27,309.6000000000019,309.60968,2015-01-01 00:51:39,bin3099,75, +CTSPillarNetworkA,3100,3100,3100,1978-06-28,309.7000000000019,309.7097,2015-01-01 00:51:40,bin3100,35, +CTSPillarNetworkA,3101,3101,3101,1978-06-29,309.80000000000194,309.8097,2015-01-01 00:51:41,bin3101,75, +CTSPillarNetworkA,3102,3102,3102,1978-06-30,309.90000000000197,309.9097,2015-01-01 00:51:42,bin3102,35, +CTSPillarNetworkA,3103,3103,3103,1978-07-01,310.000000000002,310.0097,2015-01-01 00:51:43,bin3103,75, +CTSPillarNetworkA,3104,3104,3104,1978-07-02,310.100000000002,310.1097,2015-01-01 00:51:44,bin3104,35, +CTSPillarNetworkA,3105,3105,3105,1978-07-03,310.20000000000203,310.20972,2015-01-01 00:51:45,bin3105,75, +CTSPillarNetworkA,3106,3106,3106,1978-07-04,310.30000000000206,310.30972,2015-01-01 00:51:46,bin3106,35, +CTSPillarNetworkA,3107,3107,3107,1978-07-05,310.4000000000021,310.40973,2015-01-01 00:51:47,bin3107,75, +CTSPillarNetworkA,3108,3108,3108,1978-07-06,310.5000000000021,310.50974,2015-01-01 00:51:48,bin3108,35, +CTSPillarNetworkA,3109,3109,3109,1978-07-07,310.6000000000021,310.60974,2015-01-01 00:51:49,bin3109,75, +CTSPillarNetworkA,3110,3110,3110,1978-07-08,310.70000000000215,310.70975,2015-01-01 00:51:50,bin3110,35, +CTSPillarNetworkA,3111,3111,3111,1978-07-09,310.80000000000217,310.80975,2015-01-01 00:51:51,bin3111,75, +CTSPillarNetworkA,3112,3112,3112,1978-07-10,310.9000000000022,310.90976,2015-01-01 00:51:52,bin3112,35, +CTSPillarNetworkA,3113,3113,3113,1978-07-11,311.0000000000022,311.00977,2015-01-01 00:51:53,bin3113,75, +CTSPillarNetworkA,3114,3114,3114,1978-07-12,311.10000000000224,311.10977,2015-01-01 00:51:54,bin3114,35, +CTSPillarNetworkA,3115,3115,3115,1978-07-13,311.20000000000226,311.20978,2015-01-01 00:51:55,bin3115,75, +CTSPillarNetworkA,3116,3116,3116,1978-07-14,311.3000000000023,311.30978,2015-01-01 00:51:56,bin3116,35, +CTSPillarNetworkA,3117,3117,3117,1978-07-15,311.4000000000023,311.4098,2015-01-01 00:51:57,bin3117,75, +CTSPillarNetworkA,3118,3118,3118,1978-07-16,311.50000000000233,311.5098,2015-01-01 00:51:58,bin3118,35, +CTSPillarNetworkA,3119,3119,3119,1978-07-17,311.60000000000235,311.6098,2015-01-01 00:51:59,bin3119,75, +CTSPillarNetworkA,3120,3120,3120,1978-07-18,311.7000000000024,311.7098,2015-01-01 00:52:00,bin3120,35, +CTSPillarNetworkA,3121,3121,3121,1978-07-19,311.8000000000024,311.8098,2015-01-01 00:52:01,bin3121,75, +CTSPillarNetworkA,3122,3122,3122,1978-07-20,311.9000000000024,311.90982,2015-01-01 00:52:02,bin3122,35, +CTSPillarNetworkA,3123,3123,3123,1978-07-21,312.00000000000244,312.00983,2015-01-01 00:52:03,bin3123,75, +CTSPillarNetworkA,3124,3124,3124,1978-07-22,312.10000000000247,312.10983,2015-01-01 00:52:04,bin3124,35, +CTSPillarNetworkA,3125,3125,3125,1978-07-23,312.2000000000025,312.20984,2015-01-01 00:52:05,bin3125,75, +CTSPillarNetworkA,3126,3126,3126,1978-07-24,312.3000000000025,312.30984,2015-01-01 00:52:06,bin3126,35, +CTSPillarNetworkA,3127,3127,3127,1978-07-25,312.40000000000254,312.40985,2015-01-01 00:52:07,bin3127,75, +CTSPillarNetworkA,3128,3128,3128,1978-07-26,312.50000000000256,312.50986,2015-01-01 00:52:08,bin3128,35, +CTSPillarNetworkA,3129,3129,3129,1978-07-27,312.6000000000026,312.60986,2015-01-01 00:52:09,bin3129,75, +CTSPillarNetworkA,3130,3130,3130,1978-07-28,312.7000000000026,312.70987,2015-01-01 00:52:10,bin3130,35, +CTSPillarNetworkA,3131,3131,3131,1978-07-29,312.8000000000026,312.80988,2015-01-01 00:52:11,bin3131,75, +CTSPillarNetworkA,3132,3132,3132,1978-07-30,312.90000000000265,312.90988,2015-01-01 00:52:12,bin3132,35, +CTSPillarNetworkA,3133,3133,3133,1978-07-31,313.0000000000027,313.0099,2015-01-01 00:52:13,bin3133,75, +CTSPillarNetworkA,3134,3134,3134,1978-08-01,313.1000000000027,313.1099,2015-01-01 00:52:14,bin3134,35, +CTSPillarNetworkA,3135,3135,3135,1978-08-02,313.2000000000027,313.2099,2015-01-01 00:52:15,bin3135,75, +CTSPillarNetworkA,3136,3136,3136,1978-08-03,313.30000000000274,313.3099,2015-01-01 00:52:16,bin3136,35, +CTSPillarNetworkA,3137,3137,3137,1978-08-04,313.40000000000276,313.4099,2015-01-01 00:52:17,bin3137,75, +CTSPillarNetworkA,3138,3138,3138,1978-08-05,313.5000000000028,313.50992,2015-01-01 00:52:18,bin3138,35, +CTSPillarNetworkA,3139,3139,3139,1978-08-06,313.6000000000028,313.60992,2015-01-01 00:52:19,bin3139,75, +CTSPillarNetworkA,3140,3140,3140,1978-08-07,313.70000000000283,313.70993,2015-01-01 00:52:20,bin3140,35, +CTSPillarNetworkA,3141,3141,3141,1978-08-08,313.80000000000285,313.80994,2015-01-01 00:52:21,bin3141,75, +CTSPillarNetworkA,3142,3142,3142,1978-08-09,313.9000000000029,313.90994,2015-01-01 00:52:22,bin3142,35, +CTSPillarNetworkA,3143,3143,3143,1978-08-10,314.0000000000029,314.00995,2015-01-01 00:52:23,bin3143,75, +CTSPillarNetworkA,3144,3144,3144,1978-08-11,314.1000000000029,314.10995,2015-01-01 00:52:24,bin3144,35, +CTSPillarNetworkA,3145,3145,3145,1978-08-12,314.20000000000294,314.20996,2015-01-01 00:52:25,bin3145,75, +CTSPillarNetworkA,3146,3146,3146,1978-08-13,314.30000000000297,314.30997,2015-01-01 00:52:26,bin3146,35, +CTSPillarNetworkA,3147,3147,3147,1978-08-14,314.400000000003,314.40997,2015-01-01 00:52:27,bin3147,75, +CTSPillarNetworkA,3148,3148,3148,1978-08-15,314.500000000003,314.50998,2015-01-01 00:52:28,bin3148,35, +CTSPillarNetworkA,3149,3149,3149,1978-08-16,314.60000000000304,314.61,2015-01-01 00:52:29,bin3149,75, +CTSPillarNetworkA,3150,3150,3150,1978-08-17,314.70000000000306,314.71,2015-01-01 00:52:30,bin3150,35, +CTSPillarNetworkA,3151,3151,3151,1978-08-18,314.8000000000031,314.81,2015-01-01 00:52:31,bin3151,75, +CTSPillarNetworkA,3152,3152,3152,1978-08-19,314.9000000000031,314.91,2015-01-01 00:52:32,bin3152,35, +CTSPillarNetworkA,3153,3153,3153,1978-08-20,315.0000000000031,315.01,2015-01-01 00:52:33,bin3153,75, +CTSPillarNetworkA,3154,3154,3154,1978-08-21,315.10000000000315,315.11002,2015-01-01 00:52:34,bin3154,35, +CTSPillarNetworkA,3155,3155,3155,1978-08-22,315.2000000000032,315.21002,2015-01-01 00:52:35,bin3155,75, +CTSPillarNetworkA,3156,3156,3156,1978-08-23,315.3000000000032,315.31003,2015-01-01 00:52:36,bin3156,35, +CTSPillarNetworkA,3157,3157,3157,1978-08-24,315.4000000000032,315.41003,2015-01-01 00:52:37,bin3157,75, +CTSPillarNetworkA,3158,3158,3158,1978-08-25,315.50000000000324,315.51004,2015-01-01 00:52:38,bin3158,35, +CTSPillarNetworkA,3159,3159,3159,1978-08-26,315.60000000000326,315.61005,2015-01-01 00:52:39,bin3159,75, +CTSPillarNetworkA,3160,3160,3160,1978-08-27,315.7000000000033,315.71005,2015-01-01 00:52:40,bin3160,35, +CTSPillarNetworkA,3161,3161,3161,1978-08-28,315.8000000000033,315.81006,2015-01-01 00:52:41,bin3161,75, +CTSPillarNetworkA,3162,3162,3162,1978-08-29,315.90000000000333,315.91006,2015-01-01 00:52:42,bin3162,35, +CTSPillarNetworkA,3163,3163,3163,1978-08-30,316.00000000000335,316.01007,2015-01-01 00:52:43,bin3163,75, +CTSPillarNetworkA,3164,3164,3164,1978-08-31,316.1000000000034,316.11008,2015-01-01 00:52:44,bin3164,35, +CTSPillarNetworkA,3165,3165,3165,1978-09-01,316.2000000000034,316.21008,2015-01-01 00:52:45,bin3165,75, +CTSPillarNetworkA,3166,3166,3166,1978-09-02,316.3000000000034,316.3101,2015-01-01 00:52:46,bin3166,35, +CTSPillarNetworkA,3167,3167,3167,1978-09-03,316.40000000000344,316.4101,2015-01-01 00:52:47,bin3167,75, +CTSPillarNetworkA,3168,3168,3168,1978-09-04,316.50000000000347,316.5101,2015-01-01 00:52:48,bin3168,35, +CTSPillarNetworkA,3169,3169,3169,1978-09-05,316.6000000000035,316.6101,2015-01-01 00:52:49,bin3169,75, +CTSPillarNetworkA,3170,3170,3170,1978-09-06,316.7000000000035,316.7101,2015-01-01 00:52:50,bin3170,35, +CTSPillarNetworkA,3171,3171,3171,1978-09-07,316.80000000000354,316.81012,2015-01-01 00:52:51,bin3171,75, +CTSPillarNetworkA,3172,3172,3172,1978-09-08,316.90000000000356,316.91013,2015-01-01 00:52:52,bin3172,35, +CTSPillarNetworkA,3173,3173,3173,1978-09-09,317.0000000000036,317.01013,2015-01-01 00:52:53,bin3173,75, +CTSPillarNetworkA,3174,3174,3174,1978-09-10,317.1000000000036,317.11014,2015-01-01 00:52:54,bin3174,35, +CTSPillarNetworkA,3175,3175,3175,1978-09-11,317.2000000000036,317.21014,2015-01-01 00:52:55,bin3175,75, +CTSPillarNetworkA,3176,3176,3176,1978-09-12,317.30000000000365,317.31015,2015-01-01 00:52:56,bin3176,35, +CTSPillarNetworkA,3177,3177,3177,1978-09-13,317.4000000000037,317.41016,2015-01-01 00:52:57,bin3177,75, +CTSPillarNetworkA,3178,3178,3178,1978-09-14,317.5000000000037,317.51016,2015-01-01 00:52:58,bin3178,35, +CTSPillarNetworkA,3179,3179,3179,1978-09-15,317.6000000000037,317.61017,2015-01-01 00:52:59,bin3179,75, +CTSPillarNetworkA,3180,3180,3180,1978-09-16,317.70000000000374,317.71017,2015-01-01 00:53:00,bin3180,35, +CTSPillarNetworkA,3181,3181,3181,1978-09-17,317.80000000000376,317.81018,2015-01-01 00:53:01,bin3181,75, +CTSPillarNetworkA,3182,3182,3182,1978-09-18,317.9000000000038,317.9102,2015-01-01 00:53:02,bin3182,35, +CTSPillarNetworkA,3183,3183,3183,1978-09-19,318.0000000000038,318.0102,2015-01-01 00:53:03,bin3183,75, +CTSPillarNetworkA,3184,3184,3184,1978-09-20,318.10000000000383,318.1102,2015-01-01 00:53:04,bin3184,35, +CTSPillarNetworkA,3185,3185,3185,1978-09-21,318.20000000000385,318.2102,2015-01-01 00:53:05,bin3185,75, +CTSPillarNetworkA,3186,3186,3186,1978-09-22,318.3000000000039,318.3102,2015-01-01 00:53:06,bin3186,35, +CTSPillarNetworkA,3187,3187,3187,1978-09-23,318.4000000000039,318.41022,2015-01-01 00:53:07,bin3187,75, +CTSPillarNetworkA,3188,3188,3188,1978-09-24,318.5000000000039,318.51022,2015-01-01 00:53:08,bin3188,35, +CTSPillarNetworkA,3189,3189,3189,1978-09-25,318.60000000000394,318.61023,2015-01-01 00:53:09,bin3189,75, +CTSPillarNetworkA,3190,3190,3190,1978-09-26,318.70000000000397,318.71024,2015-01-01 00:53:10,bin3190,35, +CTSPillarNetworkA,3191,3191,3191,1978-09-27,318.800000000004,318.81024,2015-01-01 00:53:11,bin3191,75, +CTSPillarNetworkA,3192,3192,3192,1978-09-28,318.900000000004,318.91025,2015-01-01 00:53:12,bin3192,35, +CTSPillarNetworkA,3193,3193,3193,1978-09-29,319.00000000000404,319.01025,2015-01-01 00:53:13,bin3193,75, +CTSPillarNetworkA,3194,3194,3194,1978-09-30,319.10000000000406,319.11026,2015-01-01 00:53:14,bin3194,35, +CTSPillarNetworkA,3195,3195,3195,1978-10-01,319.2000000000041,319.21027,2015-01-01 00:53:15,bin3195,75, +CTSPillarNetworkA,3196,3196,3196,1978-10-02,319.3000000000041,319.31027,2015-01-01 00:53:16,bin3196,35, +CTSPillarNetworkA,3197,3197,3197,1978-10-03,319.4000000000041,319.41028,2015-01-01 00:53:17,bin3197,75, +CTSPillarNetworkA,3198,3198,3198,1978-10-04,319.50000000000415,319.51028,2015-01-01 00:53:18,bin3198,35, +CTSPillarNetworkA,3199,3199,3199,1978-10-05,319.6000000000042,319.6103,2015-01-01 00:53:19,bin3199,75, +CTSPillarNetworkA,3200,3200,3200,1978-10-06,319.7000000000042,319.7103,2015-01-01 00:53:20,bin3200,35, +CTSPillarNetworkA,3201,3201,3201,1978-10-07,319.8000000000042,319.8103,2015-01-01 00:53:21,bin3201,75, +CTSPillarNetworkA,3202,3202,3202,1978-10-08,319.90000000000424,319.9103,2015-01-01 00:53:22,bin3202,35, +CTSPillarNetworkA,3203,3203,3203,1978-10-09,320.00000000000426,320.0103,2015-01-01 00:53:23,bin3203,75, +CTSPillarNetworkA,3204,3204,3204,1978-10-10,320.1000000000043,320.11032,2015-01-01 00:53:24,bin3204,35, +CTSPillarNetworkA,3205,3205,3205,1978-10-11,320.2000000000043,320.21033,2015-01-01 00:53:25,bin3205,75, +CTSPillarNetworkA,3206,3206,3206,1978-10-12,320.30000000000433,320.31033,2015-01-01 00:53:26,bin3206,35, +CTSPillarNetworkA,3207,3207,3207,1978-10-13,320.40000000000435,320.41034,2015-01-01 00:53:27,bin3207,75, +CTSPillarNetworkA,3208,3208,3208,1978-10-14,320.5000000000044,320.51035,2015-01-01 00:53:28,bin3208,35, +CTSPillarNetworkA,3209,3209,3209,1978-10-15,320.6000000000044,320.61035,2015-01-01 00:53:29,bin3209,75, +CTSPillarNetworkA,3210,3210,3210,1978-10-16,320.7000000000044,320.71036,2015-01-01 00:53:30,bin3210,35, +CTSPillarNetworkA,3211,3211,3211,1978-10-17,320.80000000000445,320.81036,2015-01-01 00:53:31,bin3211,75, +CTSPillarNetworkA,3212,3212,3212,1978-10-18,320.90000000000447,320.91037,2015-01-01 00:53:32,bin3212,35, +CTSPillarNetworkA,3213,3213,3213,1978-10-19,321.0000000000045,321.01038,2015-01-01 00:53:33,bin3213,75, +CTSPillarNetworkA,3214,3214,3214,1978-10-20,321.1000000000045,321.11038,2015-01-01 00:53:34,bin3214,35, +CTSPillarNetworkA,3215,3215,3215,1978-10-21,321.20000000000454,321.2104,2015-01-01 00:53:35,bin3215,75, +CTSPillarNetworkA,3216,3216,3216,1978-10-22,321.30000000000456,321.3104,2015-01-01 00:53:36,bin3216,35, +CTSPillarNetworkA,3217,3217,3217,1978-10-23,321.4000000000046,321.4104,2015-01-01 00:53:37,bin3217,75, +CTSPillarNetworkA,3218,3218,3218,1978-10-24,321.5000000000046,321.5104,2015-01-01 00:53:38,bin3218,35, +CTSPillarNetworkA,3219,3219,3219,1978-10-25,321.6000000000046,321.6104,2015-01-01 00:53:39,bin3219,75, +CTSPillarNetworkA,3220,3220,3220,1978-10-26,321.70000000000465,321.71042,2015-01-01 00:53:40,bin3220,35, +CTSPillarNetworkA,3221,3221,3221,1978-10-27,321.8000000000047,321.81042,2015-01-01 00:53:41,bin3221,75, +CTSPillarNetworkA,3222,3222,3222,1978-10-28,321.9000000000047,321.91043,2015-01-01 00:53:42,bin3222,35, +CTSPillarNetworkA,3223,3223,3223,1978-10-29,322.0000000000047,322.01044,2015-01-01 00:53:43,bin3223,75, +CTSPillarNetworkA,3224,3224,3224,1978-10-30,322.10000000000474,322.11044,2015-01-01 00:53:44,bin3224,35, +CTSPillarNetworkA,3225,3225,3225,1978-10-31,322.20000000000476,322.21045,2015-01-01 00:53:45,bin3225,75, +CTSPillarNetworkA,3226,3226,3226,1978-11-01,322.3000000000048,322.31046,2015-01-01 00:53:46,bin3226,35, +CTSPillarNetworkA,3227,3227,3227,1978-11-02,322.4000000000048,322.41046,2015-01-01 00:53:47,bin3227,75, +CTSPillarNetworkA,3228,3228,3228,1978-11-03,322.50000000000483,322.51047,2015-01-01 00:53:48,bin3228,35, +CTSPillarNetworkA,3229,3229,3229,1978-11-04,322.60000000000485,322.61047,2015-01-01 00:53:49,bin3229,75, +CTSPillarNetworkA,3230,3230,3230,1978-11-05,322.7000000000049,322.71048,2015-01-01 00:53:50,bin3230,35, +CTSPillarNetworkA,3231,3231,3231,1978-11-06,322.8000000000049,322.8105,2015-01-01 00:53:51,bin3231,75, +CTSPillarNetworkA,3232,3232,3232,1978-11-07,322.9000000000049,322.9105,2015-01-01 00:53:52,bin3232,35, +CTSPillarNetworkA,3233,3233,3233,1978-11-08,323.00000000000495,323.0105,2015-01-01 00:53:53,bin3233,75, +CTSPillarNetworkA,3234,3234,3234,1978-11-09,323.10000000000497,323.1105,2015-01-01 00:53:54,bin3234,35, +CTSPillarNetworkA,3235,3235,3235,1978-11-10,323.200000000005,323.2105,2015-01-01 00:53:55,bin3235,75, +CTSPillarNetworkA,3236,3236,3236,1978-11-11,323.300000000005,323.31052,2015-01-01 00:53:56,bin3236,35, +CTSPillarNetworkA,3237,3237,3237,1978-11-12,323.40000000000504,323.41052,2015-01-01 00:53:57,bin3237,75, +CTSPillarNetworkA,3238,3238,3238,1978-11-13,323.50000000000506,323.51053,2015-01-01 00:53:58,bin3238,35, +CTSPillarNetworkA,3239,3239,3239,1978-11-14,323.6000000000051,323.61053,2015-01-01 00:53:59,bin3239,75, +CTSPillarNetworkA,3240,3240,3240,1978-11-15,323.7000000000051,323.71054,2015-01-01 00:54:00,bin3240,35, +CTSPillarNetworkA,3241,3241,3241,1978-11-16,323.8000000000051,323.81055,2015-01-01 00:54:01,bin3241,75, +CTSPillarNetworkA,3242,3242,3242,1978-11-17,323.90000000000515,323.91055,2015-01-01 00:54:02,bin3242,35, +CTSPillarNetworkA,3243,3243,3243,1978-11-18,324.0000000000052,324.01056,2015-01-01 00:54:03,bin3243,75, +CTSPillarNetworkA,3244,3244,3244,1978-11-19,324.1000000000052,324.11057,2015-01-01 00:54:04,bin3244,35, +CTSPillarNetworkA,3245,3245,3245,1978-11-20,324.2000000000052,324.21057,2015-01-01 00:54:05,bin3245,75, +CTSPillarNetworkA,3246,3246,3246,1978-11-21,324.30000000000524,324.31058,2015-01-01 00:54:06,bin3246,35, +CTSPillarNetworkA,3247,3247,3247,1978-11-22,324.40000000000526,324.41058,2015-01-01 00:54:07,bin3247,75, +CTSPillarNetworkA,3248,3248,3248,1978-11-23,324.5000000000053,324.5106,2015-01-01 00:54:08,bin3248,35, +CTSPillarNetworkA,3249,3249,3249,1978-11-24,324.6000000000053,324.6106,2015-01-01 00:54:09,bin3249,75, +CTSPillarNetworkA,3250,3250,3250,1978-11-25,324.70000000000533,324.7106,2015-01-01 00:54:10,bin3250,35, +CTSPillarNetworkA,3251,3251,3251,1978-11-26,324.80000000000535,324.8106,2015-01-01 00:54:11,bin3251,75, +CTSPillarNetworkA,3252,3252,3252,1978-11-27,324.9000000000054,324.9106,2015-01-01 00:54:12,bin3252,35, +CTSPillarNetworkA,3253,3253,3253,1978-11-28,325.0000000000054,325.01062,2015-01-01 00:54:13,bin3253,75, +CTSPillarNetworkA,3254,3254,3254,1978-11-29,325.1000000000054,325.11063,2015-01-01 00:54:14,bin3254,35, +CTSPillarNetworkA,3255,3255,3255,1978-11-30,325.20000000000545,325.21063,2015-01-01 00:54:15,bin3255,75, +CTSPillarNetworkA,3256,3256,3256,1978-12-01,325.30000000000547,325.31064,2015-01-01 00:54:16,bin3256,35, +CTSPillarNetworkA,3257,3257,3257,1978-12-02,325.4000000000055,325.41064,2015-01-01 00:54:17,bin3257,75, +CTSPillarNetworkA,3258,3258,3258,1978-12-03,325.5000000000055,325.51065,2015-01-01 00:54:18,bin3258,35, +CTSPillarNetworkA,3259,3259,3259,1978-12-04,325.60000000000554,325.61066,2015-01-01 00:54:19,bin3259,75, +CTSPillarNetworkA,3260,3260,3260,1978-12-05,325.70000000000556,325.71066,2015-01-01 00:54:20,bin3260,35, +CTSPillarNetworkA,3261,3261,3261,1978-12-06,325.8000000000056,325.81067,2015-01-01 00:54:21,bin3261,75, +CTSPillarNetworkA,3262,3262,3262,1978-12-07,325.9000000000056,325.91068,2015-01-01 00:54:22,bin3262,35, +CTSPillarNetworkA,3263,3263,3263,1978-12-08,326.0000000000056,326.01068,2015-01-01 00:54:23,bin3263,75, +CTSPillarNetworkA,3264,3264,3264,1978-12-09,326.10000000000565,326.1107,2015-01-01 00:54:24,bin3264,35, +CTSPillarNetworkA,3265,3265,3265,1978-12-10,326.2000000000057,326.2107,2015-01-01 00:54:25,bin3265,75, +CTSPillarNetworkA,3266,3266,3266,1978-12-11,326.3000000000057,326.3107,2015-01-01 00:54:26,bin3266,35, +CTSPillarNetworkA,3267,3267,3267,1978-12-12,326.4000000000057,326.4107,2015-01-01 00:54:27,bin3267,75, +CTSPillarNetworkA,3268,3268,3268,1978-12-13,326.50000000000574,326.5107,2015-01-01 00:54:28,bin3268,35, +CTSPillarNetworkA,3269,3269,3269,1978-12-14,326.60000000000576,326.61072,2015-01-01 00:54:29,bin3269,75, +CTSPillarNetworkA,3270,3270,3270,1978-12-15,326.7000000000058,326.71072,2015-01-01 00:54:30,bin3270,35, +CTSPillarNetworkA,3271,3271,3271,1978-12-16,326.8000000000058,326.81073,2015-01-01 00:54:31,bin3271,75, +CTSPillarNetworkA,3272,3272,3272,1978-12-17,326.90000000000583,326.91074,2015-01-01 00:54:32,bin3272,35, +CTSPillarNetworkA,3273,3273,3273,1978-12-18,327.00000000000585,327.01074,2015-01-01 00:54:33,bin3273,75, +CTSPillarNetworkA,3274,3274,3274,1978-12-19,327.1000000000059,327.11075,2015-01-01 00:54:34,bin3274,35, +CTSPillarNetworkA,3275,3275,3275,1978-12-20,327.2000000000059,327.21075,2015-01-01 00:54:35,bin3275,75, +CTSPillarNetworkA,3276,3276,3276,1978-12-21,327.3000000000059,327.31076,2015-01-01 00:54:36,bin3276,35, +CTSPillarNetworkA,3277,3277,3277,1978-12-22,327.40000000000595,327.41077,2015-01-01 00:54:37,bin3277,75, +CTSPillarNetworkA,3278,3278,3278,1978-12-23,327.50000000000597,327.51077,2015-01-01 00:54:38,bin3278,35, +CTSPillarNetworkA,3279,3279,3279,1978-12-24,327.600000000006,327.61078,2015-01-01 00:54:39,bin3279,75, +CTSPillarNetworkA,3280,3280,3280,1978-12-25,327.700000000006,327.7108,2015-01-01 00:54:40,bin3280,35, +CTSPillarNetworkA,3281,3281,3281,1978-12-26,327.80000000000604,327.8108,2015-01-01 00:54:41,bin3281,75, +CTSPillarNetworkA,3282,3282,3282,1978-12-27,327.90000000000606,327.9108,2015-01-01 00:54:42,bin3282,35, +CTSPillarNetworkA,3283,3283,3283,1978-12-28,328.0000000000061,328.0108,2015-01-01 00:54:43,bin3283,75, +CTSPillarNetworkA,3284,3284,3284,1978-12-29,328.1000000000061,328.1108,2015-01-01 00:54:44,bin3284,35, +CTSPillarNetworkA,3285,3285,3285,1978-12-30,328.2000000000061,328.21082,2015-01-01 00:54:45,bin3285,75, +CTSPillarNetworkA,3286,3286,3286,1978-12-31,328.30000000000615,328.31082,2015-01-01 00:54:46,bin3286,35, +CTSPillarNetworkA,3287,3287,3287,1979-01-01,328.4000000000062,328.41083,2015-01-01 00:54:47,bin3287,75, +CTSPillarNetworkA,3288,3288,3288,1979-01-02,328.5000000000062,328.51083,2015-01-01 00:54:48,bin3288,35, +CTSPillarNetworkA,3289,3289,3289,1979-01-03,328.6000000000062,328.61084,2015-01-01 00:54:49,bin3289,75, +CTSPillarNetworkA,3290,3290,3290,1979-01-04,328.70000000000624,328.71085,2015-01-01 00:54:50,bin3290,35, +CTSPillarNetworkA,3291,3291,3291,1979-01-05,328.80000000000626,328.81085,2015-01-01 00:54:51,bin3291,75, +CTSPillarNetworkA,3292,3292,3292,1979-01-06,328.9000000000063,328.91086,2015-01-01 00:54:52,bin3292,35, +CTSPillarNetworkA,3293,3293,3293,1979-01-07,329.0000000000063,329.01086,2015-01-01 00:54:53,bin3293,75, +CTSPillarNetworkA,3294,3294,3294,1979-01-08,329.10000000000633,329.11087,2015-01-01 00:54:54,bin3294,35, +CTSPillarNetworkA,3295,3295,3295,1979-01-09,329.20000000000636,329.21088,2015-01-01 00:54:55,bin3295,75, +CTSPillarNetworkA,3296,3296,3296,1979-01-10,329.3000000000064,329.31088,2015-01-01 00:54:56,bin3296,35, +CTSPillarNetworkA,3297,3297,3297,1979-01-11,329.4000000000064,329.4109,2015-01-01 00:54:57,bin3297,75, +CTSPillarNetworkA,3298,3298,3298,1979-01-12,329.5000000000064,329.5109,2015-01-01 00:54:58,bin3298,35, +CTSPillarNetworkA,3299,3299,3299,1979-01-13,329.60000000000645,329.6109,2015-01-01 00:54:59,bin3299,75, +CTSPillarNetworkA,3300,3300,3300,1979-01-14,329.70000000000647,329.7109,2015-01-01 00:55:00,bin3300,35, +CTSPillarNetworkA,3301,3301,3301,1979-01-15,329.8000000000065,329.8109,2015-01-01 00:55:01,bin3301,75, +CTSPillarNetworkA,3302,3302,3302,1979-01-16,329.9000000000065,329.91092,2015-01-01 00:55:02,bin3302,35, +CTSPillarNetworkA,3303,3303,3303,1979-01-17,330.00000000000654,330.01093,2015-01-01 00:55:03,bin3303,75, +CTSPillarNetworkA,3304,3304,3304,1979-01-18,330.10000000000656,330.11093,2015-01-01 00:55:04,bin3304,35, +CTSPillarNetworkA,3305,3305,3305,1979-01-19,330.2000000000066,330.21094,2015-01-01 00:55:05,bin3305,75, +CTSPillarNetworkA,3306,3306,3306,1979-01-20,330.3000000000066,330.31094,2015-01-01 00:55:06,bin3306,35, +CTSPillarNetworkA,3307,3307,3307,1979-01-21,330.4000000000066,330.41095,2015-01-01 00:55:07,bin3307,75, +CTSPillarNetworkA,3308,3308,3308,1979-01-22,330.50000000000665,330.51096,2015-01-01 00:55:08,bin3308,35, +CTSPillarNetworkA,3309,3309,3309,1979-01-23,330.6000000000067,330.61096,2015-01-01 00:55:09,bin3309,75, +CTSPillarNetworkA,3310,3310,3310,1979-01-24,330.7000000000067,330.71097,2015-01-01 00:55:10,bin3310,35, +CTSPillarNetworkA,3311,3311,3311,1979-01-25,330.8000000000067,330.81097,2015-01-01 00:55:11,bin3311,75, +CTSPillarNetworkA,3312,3312,3312,1979-01-26,330.90000000000674,330.91098,2015-01-01 00:55:12,bin3312,35, +CTSPillarNetworkA,3313,3313,3313,1979-01-27,331.00000000000676,331.011,2015-01-01 00:55:13,bin3313,75, +CTSPillarNetworkA,3314,3314,3314,1979-01-28,331.1000000000068,331.111,2015-01-01 00:55:14,bin3314,35, +CTSPillarNetworkA,3315,3315,3315,1979-01-29,331.2000000000068,331.211,2015-01-01 00:55:15,bin3315,75, +CTSPillarNetworkA,3316,3316,3316,1979-01-30,331.30000000000683,331.311,2015-01-01 00:55:16,bin3316,35, +CTSPillarNetworkA,3317,3317,3317,1979-01-31,331.40000000000686,331.411,2015-01-01 00:55:17,bin3317,75, +CTSPillarNetworkA,3318,3318,3318,1979-02-01,331.5000000000069,331.51102,2015-01-01 00:55:18,bin3318,35, +CTSPillarNetworkA,3319,3319,3319,1979-02-02,331.6000000000069,331.61102,2015-01-01 00:55:19,bin3319,75, +CTSPillarNetworkA,3320,3320,3320,1979-02-03,331.7000000000069,331.71103,2015-01-01 00:55:20,bin3320,35, +CTSPillarNetworkA,3321,3321,3321,1979-02-04,331.80000000000695,331.81104,2015-01-01 00:55:21,bin3321,75, +CTSPillarNetworkA,3322,3322,3322,1979-02-05,331.90000000000697,331.91104,2015-01-01 00:55:22,bin3322,35, +CTSPillarNetworkA,3323,3323,3323,1979-02-06,332.000000000007,332.01105,2015-01-01 00:55:23,bin3323,75, +CTSPillarNetworkA,3324,3324,3324,1979-02-07,332.100000000007,332.11105,2015-01-01 00:55:24,bin3324,35, +CTSPillarNetworkA,3325,3325,3325,1979-02-08,332.20000000000704,332.21106,2015-01-01 00:55:25,bin3325,75, +CTSPillarNetworkA,3326,3326,3326,1979-02-09,332.30000000000706,332.31107,2015-01-01 00:55:26,bin3326,35, +CTSPillarNetworkA,3327,3327,3327,1979-02-10,332.4000000000071,332.41107,2015-01-01 00:55:27,bin3327,75, +CTSPillarNetworkA,3328,3328,3328,1979-02-11,332.5000000000071,332.51108,2015-01-01 00:55:28,bin3328,35, +CTSPillarNetworkA,3329,3329,3329,1979-02-12,332.6000000000071,332.61108,2015-01-01 00:55:29,bin3329,75, +CTSPillarNetworkA,3330,3330,3330,1979-02-13,332.70000000000715,332.7111,2015-01-01 00:55:30,bin3330,35, +CTSPillarNetworkA,3331,3331,3331,1979-02-14,332.8000000000072,332.8111,2015-01-01 00:55:31,bin3331,75, +CTSPillarNetworkA,3332,3332,3332,1979-02-15,332.9000000000072,332.9111,2015-01-01 00:55:32,bin3332,35, +CTSPillarNetworkA,3333,3333,3333,1979-02-16,333.0000000000072,333.0111,2015-01-01 00:55:33,bin3333,75, +CTSPillarNetworkA,3334,3334,3334,1979-02-17,333.10000000000724,333.1111,2015-01-01 00:55:34,bin3334,35, +CTSPillarNetworkA,3335,3335,3335,1979-02-18,333.20000000000726,333.21112,2015-01-01 00:55:35,bin3335,75, +CTSPillarNetworkA,3336,3336,3336,1979-02-19,333.3000000000073,333.31113,2015-01-01 00:55:36,bin3336,35, +CTSPillarNetworkA,3337,3337,3337,1979-02-20,333.4000000000073,333.41113,2015-01-01 00:55:37,bin3337,75, +CTSPillarNetworkA,3338,3338,3338,1979-02-21,333.50000000000733,333.51114,2015-01-01 00:55:38,bin3338,35, +CTSPillarNetworkA,3339,3339,3339,1979-02-22,333.60000000000736,333.61115,2015-01-01 00:55:39,bin3339,75, +CTSPillarNetworkA,3340,3340,3340,1979-02-23,333.7000000000074,333.71115,2015-01-01 00:55:40,bin3340,35, +CTSPillarNetworkA,3341,3341,3341,1979-02-24,333.8000000000074,333.81116,2015-01-01 00:55:41,bin3341,75, +CTSPillarNetworkA,3342,3342,3342,1979-02-25,333.9000000000074,333.91116,2015-01-01 00:55:42,bin3342,35, +CTSPillarNetworkA,3343,3343,3343,1979-02-26,334.00000000000745,334.01117,2015-01-01 00:55:43,bin3343,75, +CTSPillarNetworkA,3344,3344,3344,1979-02-27,334.10000000000747,334.11118,2015-01-01 00:55:44,bin3344,35, +CTSPillarNetworkA,3345,3345,3345,1979-02-28,334.2000000000075,334.21118,2015-01-01 00:55:45,bin3345,75, +CTSPillarNetworkA,3346,3346,3346,1979-03-01,334.3000000000075,334.3112,2015-01-01 00:55:46,bin3346,35, +CTSPillarNetworkA,3347,3347,3347,1979-03-02,334.40000000000754,334.4112,2015-01-01 00:55:47,bin3347,75, +CTSPillarNetworkA,3348,3348,3348,1979-03-03,334.50000000000756,334.5112,2015-01-01 00:55:48,bin3348,35, +CTSPillarNetworkA,3349,3349,3349,1979-03-04,334.6000000000076,334.6112,2015-01-01 00:55:49,bin3349,75, +CTSPillarNetworkA,3350,3350,3350,1979-03-05,334.7000000000076,334.7112,2015-01-01 00:55:50,bin3350,35, +CTSPillarNetworkA,3351,3351,3351,1979-03-06,334.8000000000076,334.81122,2015-01-01 00:55:51,bin3351,75, +CTSPillarNetworkA,3352,3352,3352,1979-03-07,334.90000000000765,334.91122,2015-01-01 00:55:52,bin3352,35, +CTSPillarNetworkA,3353,3353,3353,1979-03-08,335.0000000000077,335.01123,2015-01-01 00:55:53,bin3353,75, +CTSPillarNetworkA,3354,3354,3354,1979-03-09,335.1000000000077,335.11124,2015-01-01 00:55:54,bin3354,35, +CTSPillarNetworkA,3355,3355,3355,1979-03-10,335.2000000000077,335.21124,2015-01-01 00:55:55,bin3355,75, +CTSPillarNetworkA,3356,3356,3356,1979-03-11,335.30000000000774,335.31125,2015-01-01 00:55:56,bin3356,35, +CTSPillarNetworkA,3357,3357,3357,1979-03-12,335.40000000000776,335.41125,2015-01-01 00:55:57,bin3357,75, +CTSPillarNetworkA,3358,3358,3358,1979-03-13,335.5000000000078,335.51126,2015-01-01 00:55:58,bin3358,35, +CTSPillarNetworkA,3359,3359,3359,1979-03-14,335.6000000000078,335.61127,2015-01-01 00:55:59,bin3359,75, +CTSPillarNetworkA,3360,3360,3360,1979-03-15,335.70000000000783,335.71127,2015-01-01 00:56:00,bin3360,35, +CTSPillarNetworkA,3361,3361,3361,1979-03-16,335.80000000000786,335.81128,2015-01-01 00:56:01,bin3361,75, +CTSPillarNetworkA,3362,3362,3362,1979-03-17,335.9000000000079,335.9113,2015-01-01 00:56:02,bin3362,35, +CTSPillarNetworkA,3363,3363,3363,1979-03-18,336.0000000000079,336.0113,2015-01-01 00:56:03,bin3363,75, +CTSPillarNetworkA,3364,3364,3364,1979-03-19,336.1000000000079,336.1113,2015-01-01 00:56:04,bin3364,35, +CTSPillarNetworkA,3365,3365,3365,1979-03-20,336.20000000000795,336.2113,2015-01-01 00:56:05,bin3365,75, +CTSPillarNetworkA,3366,3366,3366,1979-03-21,336.30000000000797,336.3113,2015-01-01 00:56:06,bin3366,35, +CTSPillarNetworkA,3367,3367,3367,1979-03-22,336.400000000008,336.41132,2015-01-01 00:56:07,bin3367,75, +CTSPillarNetworkA,3368,3368,3368,1979-03-23,336.500000000008,336.51132,2015-01-01 00:56:08,bin3368,35, +CTSPillarNetworkA,3369,3369,3369,1979-03-24,336.60000000000804,336.61133,2015-01-01 00:56:09,bin3369,75, +CTSPillarNetworkA,3370,3370,3370,1979-03-25,336.70000000000806,336.71133,2015-01-01 00:56:10,bin3370,35, +CTSPillarNetworkA,3371,3371,3371,1979-03-26,336.8000000000081,336.81134,2015-01-01 00:56:11,bin3371,75, +CTSPillarNetworkA,3372,3372,3372,1979-03-27,336.9000000000081,336.91135,2015-01-01 00:56:12,bin3372,35, +CTSPillarNetworkA,3373,3373,3373,1979-03-28,337.00000000000813,337.01135,2015-01-01 00:56:13,bin3373,75, +CTSPillarNetworkA,3374,3374,3374,1979-03-29,337.10000000000815,337.11136,2015-01-01 00:56:14,bin3374,35, +CTSPillarNetworkA,3375,3375,3375,1979-03-30,337.2000000000082,337.21136,2015-01-01 00:56:15,bin3375,75, +CTSPillarNetworkA,3376,3376,3376,1979-03-31,337.3000000000082,337.31137,2015-01-01 00:56:16,bin3376,35, +CTSPillarNetworkA,3377,3377,3377,1979-04-01,337.4000000000082,337.41138,2015-01-01 00:56:17,bin3377,75, +CTSPillarNetworkA,3378,3378,3378,1979-04-02,337.50000000000824,337.51138,2015-01-01 00:56:18,bin3378,35, +CTSPillarNetworkA,3379,3379,3379,1979-04-03,337.60000000000827,337.6114,2015-01-01 00:56:19,bin3379,75, +CTSPillarNetworkA,3380,3380,3380,1979-04-04,337.7000000000083,337.7114,2015-01-01 00:56:20,bin3380,35, +CTSPillarNetworkA,3381,3381,3381,1979-04-05,337.8000000000083,337.8114,2015-01-01 00:56:21,bin3381,75, +CTSPillarNetworkA,3382,3382,3382,1979-04-06,337.90000000000833,337.9114,2015-01-01 00:56:22,bin3382,35, +CTSPillarNetworkA,3383,3383,3383,1979-04-07,338.00000000000836,338.0114,2015-01-01 00:56:23,bin3383,75, +CTSPillarNetworkA,3384,3384,3384,1979-04-08,338.1000000000084,338.11142,2015-01-01 00:56:24,bin3384,35, +CTSPillarNetworkA,3385,3385,3385,1979-04-09,338.2000000000084,338.21143,2015-01-01 00:56:25,bin3385,75, +CTSPillarNetworkA,3386,3386,3386,1979-04-10,338.3000000000084,338.31143,2015-01-01 00:56:26,bin3386,35, +CTSPillarNetworkA,3387,3387,3387,1979-04-11,338.40000000000845,338.41144,2015-01-01 00:56:27,bin3387,75, +CTSPillarNetworkA,3388,3388,3388,1979-04-12,338.50000000000847,338.51144,2015-01-01 00:56:28,bin3388,35, +CTSPillarNetworkA,3389,3389,3389,1979-04-13,338.6000000000085,338.61145,2015-01-01 00:56:29,bin3389,75, +CTSPillarNetworkA,3390,3390,3390,1979-04-14,338.7000000000085,338.71146,2015-01-01 00:56:30,bin3390,35, +CTSPillarNetworkA,3391,3391,3391,1979-04-15,338.80000000000854,338.81146,2015-01-01 00:56:31,bin3391,75, +CTSPillarNetworkA,3392,3392,3392,1979-04-16,338.90000000000856,338.91147,2015-01-01 00:56:32,bin3392,35, +CTSPillarNetworkA,3393,3393,3393,1979-04-17,339.0000000000086,339.01147,2015-01-01 00:56:33,bin3393,75, +CTSPillarNetworkA,3394,3394,3394,1979-04-18,339.1000000000086,339.11148,2015-01-01 00:56:34,bin3394,35, +CTSPillarNetworkA,3395,3395,3395,1979-04-19,339.20000000000863,339.2115,2015-01-01 00:56:35,bin3395,75, +CTSPillarNetworkA,3396,3396,3396,1979-04-20,339.30000000000865,339.3115,2015-01-01 00:56:36,bin3396,35, +CTSPillarNetworkA,3397,3397,3397,1979-04-21,339.4000000000087,339.4115,2015-01-01 00:56:37,bin3397,75, +CTSPillarNetworkA,3398,3398,3398,1979-04-22,339.5000000000087,339.5115,2015-01-01 00:56:38,bin3398,35, +CTSPillarNetworkA,3399,3399,3399,1979-04-23,339.6000000000087,339.6115,2015-01-01 00:56:39,bin3399,75, +CTSPillarNetworkA,3400,3400,3400,1979-04-24,339.70000000000874,339.71152,2015-01-01 00:56:40,bin3400,35, +CTSPillarNetworkA,3401,3401,3401,1979-04-25,339.80000000000877,339.81152,2015-01-01 00:56:41,bin3401,75, +CTSPillarNetworkA,3402,3402,3402,1979-04-26,339.9000000000088,339.91153,2015-01-01 00:56:42,bin3402,35, +CTSPillarNetworkA,3403,3403,3403,1979-04-27,340.0000000000088,340.01154,2015-01-01 00:56:43,bin3403,75, +CTSPillarNetworkA,3404,3404,3404,1979-04-28,340.10000000000883,340.11154,2015-01-01 00:56:44,bin3404,35, +CTSPillarNetworkA,3405,3405,3405,1979-04-29,340.20000000000886,340.21155,2015-01-01 00:56:45,bin3405,75, +CTSPillarNetworkA,3406,3406,3406,1979-04-30,340.3000000000089,340.31155,2015-01-01 00:56:46,bin3406,35, +CTSPillarNetworkA,3407,3407,3407,1979-05-01,340.4000000000089,340.41156,2015-01-01 00:56:47,bin3407,75, +CTSPillarNetworkA,3408,3408,3408,1979-05-02,340.5000000000089,340.51157,2015-01-01 00:56:48,bin3408,35, +CTSPillarNetworkA,3409,3409,3409,1979-05-03,340.60000000000895,340.61157,2015-01-01 00:56:49,bin3409,75, +CTSPillarNetworkA,3410,3410,3410,1979-05-04,340.70000000000897,340.71158,2015-01-01 00:56:50,bin3410,35, +CTSPillarNetworkA,3411,3411,3411,1979-05-05,340.800000000009,340.81158,2015-01-01 00:56:51,bin3411,75, +CTSPillarNetworkA,3412,3412,3412,1979-05-06,340.900000000009,340.9116,2015-01-01 00:56:52,bin3412,35, +CTSPillarNetworkA,3413,3413,3413,1979-05-07,341.00000000000904,341.0116,2015-01-01 00:56:53,bin3413,75, +CTSPillarNetworkA,3414,3414,3414,1979-05-08,341.10000000000906,341.1116,2015-01-01 00:56:54,bin3414,35, +CTSPillarNetworkA,3415,3415,3415,1979-05-09,341.2000000000091,341.2116,2015-01-01 00:56:55,bin3415,75, +CTSPillarNetworkA,3416,3416,3416,1979-05-10,341.3000000000091,341.3116,2015-01-01 00:56:56,bin3416,35, +CTSPillarNetworkA,3417,3417,3417,1979-05-11,341.40000000000913,341.41162,2015-01-01 00:56:57,bin3417,75, +CTSPillarNetworkA,3418,3418,3418,1979-05-12,341.50000000000915,341.51163,2015-01-01 00:56:58,bin3418,35, +CTSPillarNetworkA,3419,3419,3419,1979-05-13,341.6000000000092,341.61163,2015-01-01 00:56:59,bin3419,75, +CTSPillarNetworkA,3420,3420,3420,1979-05-14,341.7000000000092,341.71164,2015-01-01 00:57:00,bin3420,35, +CTSPillarNetworkA,3421,3421,3421,1979-05-15,341.8000000000092,341.81165,2015-01-01 00:57:01,bin3421,75, +CTSPillarNetworkA,3422,3422,3422,1979-05-16,341.90000000000924,341.91165,2015-01-01 00:57:02,bin3422,35, +CTSPillarNetworkA,3423,3423,3423,1979-05-17,342.00000000000927,342.01166,2015-01-01 00:57:03,bin3423,75, +CTSPillarNetworkA,3424,3424,3424,1979-05-18,342.1000000000093,342.11166,2015-01-01 00:57:04,bin3424,35, +CTSPillarNetworkA,3425,3425,3425,1979-05-19,342.2000000000093,342.21167,2015-01-01 00:57:05,bin3425,75, +CTSPillarNetworkA,3426,3426,3426,1979-05-20,342.30000000000933,342.31168,2015-01-01 00:57:06,bin3426,35, +CTSPillarNetworkA,3427,3427,3427,1979-05-21,342.40000000000936,342.41168,2015-01-01 00:57:07,bin3427,75, +CTSPillarNetworkA,3428,3428,3428,1979-05-22,342.5000000000094,342.5117,2015-01-01 00:57:08,bin3428,35, +CTSPillarNetworkA,3429,3429,3429,1979-05-23,342.6000000000094,342.6117,2015-01-01 00:57:09,bin3429,75, +CTSPillarNetworkA,3430,3430,3430,1979-05-24,342.7000000000094,342.7117,2015-01-01 00:57:10,bin3430,35, +CTSPillarNetworkA,3431,3431,3431,1979-05-25,342.80000000000945,342.8117,2015-01-01 00:57:11,bin3431,75, +CTSPillarNetworkA,3432,3432,3432,1979-05-26,342.90000000000947,342.9117,2015-01-01 00:57:12,bin3432,35, +CTSPillarNetworkA,3433,3433,3433,1979-05-27,343.0000000000095,343.01172,2015-01-01 00:57:13,bin3433,75, +CTSPillarNetworkA,3434,3434,3434,1979-05-28,343.1000000000095,343.11172,2015-01-01 00:57:14,bin3434,35, +CTSPillarNetworkA,3435,3435,3435,1979-05-29,343.20000000000954,343.21173,2015-01-01 00:57:15,bin3435,75, +CTSPillarNetworkA,3436,3436,3436,1979-05-30,343.30000000000956,343.31174,2015-01-01 00:57:16,bin3436,35, +CTSPillarNetworkA,3437,3437,3437,1979-05-31,343.4000000000096,343.41174,2015-01-01 00:57:17,bin3437,75, +CTSPillarNetworkA,3438,3438,3438,1979-06-01,343.5000000000096,343.51175,2015-01-01 00:57:18,bin3438,35, +CTSPillarNetworkA,3439,3439,3439,1979-06-02,343.60000000000963,343.61176,2015-01-01 00:57:19,bin3439,75, +CTSPillarNetworkA,3440,3440,3440,1979-06-03,343.70000000000965,343.71176,2015-01-01 00:57:20,bin3440,35, +CTSPillarNetworkA,3441,3441,3441,1979-06-04,343.8000000000097,343.81177,2015-01-01 00:57:21,bin3441,75, +CTSPillarNetworkA,3442,3442,3442,1979-06-05,343.9000000000097,343.91177,2015-01-01 00:57:22,bin3442,35, +CTSPillarNetworkA,3443,3443,3443,1979-06-06,344.0000000000097,344.01178,2015-01-01 00:57:23,bin3443,75, +CTSPillarNetworkA,3444,3444,3444,1979-06-07,344.10000000000974,344.1118,2015-01-01 00:57:24,bin3444,35, +CTSPillarNetworkA,3445,3445,3445,1979-06-08,344.20000000000977,344.2118,2015-01-01 00:57:25,bin3445,75, +CTSPillarNetworkA,3446,3446,3446,1979-06-09,344.3000000000098,344.3118,2015-01-01 00:57:26,bin3446,35, +CTSPillarNetworkA,3447,3447,3447,1979-06-10,344.4000000000098,344.4118,2015-01-01 00:57:27,bin3447,75, +CTSPillarNetworkA,3448,3448,3448,1979-06-11,344.50000000000983,344.5118,2015-01-01 00:57:28,bin3448,35, +CTSPillarNetworkA,3449,3449,3449,1979-06-12,344.60000000000986,344.61182,2015-01-01 00:57:29,bin3449,75, +CTSPillarNetworkA,3450,3450,3450,1979-06-13,344.7000000000099,344.71182,2015-01-01 00:57:30,bin3450,35, +CTSPillarNetworkA,3451,3451,3451,1979-06-14,344.8000000000099,344.81183,2015-01-01 00:57:31,bin3451,75, +CTSPillarNetworkA,3452,3452,3452,1979-06-15,344.9000000000099,344.91183,2015-01-01 00:57:32,bin3452,35, +CTSPillarNetworkA,3453,3453,3453,1979-06-16,345.00000000000995,345.01184,2015-01-01 00:57:33,bin3453,75, +CTSPillarNetworkA,3454,3454,3454,1979-06-17,345.10000000000997,345.11185,2015-01-01 00:57:34,bin3454,35, +CTSPillarNetworkA,3455,3455,3455,1979-06-18,345.20000000001,345.21185,2015-01-01 00:57:35,bin3455,75, +CTSPillarNetworkA,3456,3456,3456,1979-06-19,345.30000000001,345.31186,2015-01-01 00:57:36,bin3456,35, +CTSPillarNetworkA,3457,3457,3457,1979-06-20,345.40000000001004,345.41187,2015-01-01 00:57:37,bin3457,75, +CTSPillarNetworkA,3458,3458,3458,1979-06-21,345.50000000001006,345.51187,2015-01-01 00:57:38,bin3458,35, +CTSPillarNetworkA,3459,3459,3459,1979-06-22,345.6000000000101,345.61188,2015-01-01 00:57:39,bin3459,75, +CTSPillarNetworkA,3460,3460,3460,1979-06-23,345.7000000000101,345.71188,2015-01-01 00:57:40,bin3460,35, +CTSPillarNetworkA,3461,3461,3461,1979-06-24,345.80000000001013,345.8119,2015-01-01 00:57:41,bin3461,75, +CTSPillarNetworkA,3462,3462,3462,1979-06-25,345.90000000001015,345.9119,2015-01-01 00:57:42,bin3462,35, +CTSPillarNetworkA,3463,3463,3463,1979-06-26,346.0000000000102,346.0119,2015-01-01 00:57:43,bin3463,75, +CTSPillarNetworkA,3464,3464,3464,1979-06-27,346.1000000000102,346.1119,2015-01-01 00:57:44,bin3464,35, +CTSPillarNetworkA,3465,3465,3465,1979-06-28,346.2000000000102,346.2119,2015-01-01 00:57:45,bin3465,75, +CTSPillarNetworkA,3466,3466,3466,1979-06-29,346.30000000001024,346.31192,2015-01-01 00:57:46,bin3466,35, +CTSPillarNetworkA,3467,3467,3467,1979-06-30,346.40000000001027,346.41193,2015-01-01 00:57:47,bin3467,75, +CTSPillarNetworkA,3468,3468,3468,1979-07-01,346.5000000000103,346.51193,2015-01-01 00:57:48,bin3468,35, +CTSPillarNetworkA,3469,3469,3469,1979-07-02,346.6000000000103,346.61194,2015-01-01 00:57:49,bin3469,75, +CTSPillarNetworkA,3470,3470,3470,1979-07-03,346.70000000001033,346.71194,2015-01-01 00:57:50,bin3470,35, +CTSPillarNetworkA,3471,3471,3471,1979-07-04,346.80000000001036,346.81195,2015-01-01 00:57:51,bin3471,75, +CTSPillarNetworkA,3472,3472,3472,1979-07-05,346.9000000000104,346.91196,2015-01-01 00:57:52,bin3472,35, +CTSPillarNetworkA,3473,3473,3473,1979-07-06,347.0000000000104,347.01196,2015-01-01 00:57:53,bin3473,75, +CTSPillarNetworkA,3474,3474,3474,1979-07-07,347.1000000000104,347.11197,2015-01-01 00:57:54,bin3474,35, +CTSPillarNetworkA,3475,3475,3475,1979-07-08,347.20000000001045,347.21198,2015-01-01 00:57:55,bin3475,75, +CTSPillarNetworkA,3476,3476,3476,1979-07-09,347.30000000001047,347.31198,2015-01-01 00:57:56,bin3476,35, +CTSPillarNetworkA,3477,3477,3477,1979-07-10,347.4000000000105,347.412,2015-01-01 00:57:57,bin3477,75, +CTSPillarNetworkA,3478,3478,3478,1979-07-11,347.5000000000105,347.512,2015-01-01 00:57:58,bin3478,35, +CTSPillarNetworkA,3479,3479,3479,1979-07-12,347.60000000001054,347.612,2015-01-01 00:57:59,bin3479,75, +CTSPillarNetworkA,3480,3480,3480,1979-07-13,347.70000000001056,347.712,2015-01-01 00:58:00,bin3480,35, +CTSPillarNetworkA,3481,3481,3481,1979-07-14,347.8000000000106,347.812,2015-01-01 00:58:01,bin3481,75, +CTSPillarNetworkA,3482,3482,3482,1979-07-15,347.9000000000106,347.91202,2015-01-01 00:58:02,bin3482,35, +CTSPillarNetworkA,3483,3483,3483,1979-07-16,348.00000000001063,348.01202,2015-01-01 00:58:03,bin3483,75, +CTSPillarNetworkA,3484,3484,3484,1979-07-17,348.10000000001065,348.11203,2015-01-01 00:58:04,bin3484,35, +CTSPillarNetworkA,3485,3485,3485,1979-07-18,348.2000000000107,348.21204,2015-01-01 00:58:05,bin3485,75, +CTSPillarNetworkA,3486,3486,3486,1979-07-19,348.3000000000107,348.31204,2015-01-01 00:58:06,bin3486,35, +CTSPillarNetworkA,3487,3487,3487,1979-07-20,348.4000000000107,348.41205,2015-01-01 00:58:07,bin3487,75, +CTSPillarNetworkA,3488,3488,3488,1979-07-21,348.50000000001074,348.51205,2015-01-01 00:58:08,bin3488,35, +CTSPillarNetworkA,3489,3489,3489,1979-07-22,348.60000000001077,348.61206,2015-01-01 00:58:09,bin3489,75, +CTSPillarNetworkA,3490,3490,3490,1979-07-23,348.7000000000108,348.71207,2015-01-01 00:58:10,bin3490,35, +CTSPillarNetworkA,3491,3491,3491,1979-07-24,348.8000000000108,348.81207,2015-01-01 00:58:11,bin3491,75, +CTSPillarNetworkA,3492,3492,3492,1979-07-25,348.90000000001083,348.91208,2015-01-01 00:58:12,bin3492,35, +CTSPillarNetworkA,3493,3493,3493,1979-07-26,349.00000000001086,349.0121,2015-01-01 00:58:13,bin3493,75, +CTSPillarNetworkA,3494,3494,3494,1979-07-27,349.1000000000109,349.1121,2015-01-01 00:58:14,bin3494,35, +CTSPillarNetworkA,3495,3495,3495,1979-07-28,349.2000000000109,349.2121,2015-01-01 00:58:15,bin3495,75, +CTSPillarNetworkA,3496,3496,3496,1979-07-29,349.3000000000109,349.3121,2015-01-01 00:58:16,bin3496,35, +CTSPillarNetworkA,3497,3497,3497,1979-07-30,349.40000000001095,349.4121,2015-01-01 00:58:17,bin3497,75, +CTSPillarNetworkA,3498,3498,3498,1979-07-31,349.50000000001097,349.51212,2015-01-01 00:58:18,bin3498,35, +CTSPillarNetworkA,3499,3499,3499,1979-08-01,349.600000000011,349.61212,2015-01-01 00:58:19,bin3499,75, +CTSPillarNetworkA,3500,3500,3500,1979-08-02,349.700000000011,349.71213,2015-01-01 00:58:20,bin3500,35, +CTSPillarNetworkA,3501,3501,3501,1979-08-03,349.80000000001104,349.81213,2015-01-01 00:58:21,bin3501,75, +CTSPillarNetworkA,3502,3502,3502,1979-08-04,349.90000000001106,349.91214,2015-01-01 00:58:22,bin3502,35, +CTSPillarNetworkA,3503,3503,3503,1979-08-05,350.0000000000111,350.01215,2015-01-01 00:58:23,bin3503,75, +CTSPillarNetworkA,3504,3504,3504,1979-08-06,350.1000000000111,350.11215,2015-01-01 00:58:24,bin3504,35, +CTSPillarNetworkA,3505,3505,3505,1979-08-07,350.20000000001113,350.21216,2015-01-01 00:58:25,bin3505,75, +CTSPillarNetworkA,3506,3506,3506,1979-08-08,350.30000000001115,350.31216,2015-01-01 00:58:26,bin3506,35, +CTSPillarNetworkA,3507,3507,3507,1979-08-09,350.4000000000112,350.41217,2015-01-01 00:58:27,bin3507,75, +CTSPillarNetworkA,3508,3508,3508,1979-08-10,350.5000000000112,350.51218,2015-01-01 00:58:28,bin3508,35, +CTSPillarNetworkA,3509,3509,3509,1979-08-11,350.6000000000112,350.61218,2015-01-01 00:58:29,bin3509,75, +CTSPillarNetworkA,3510,3510,3510,1979-08-12,350.70000000001124,350.7122,2015-01-01 00:58:30,bin3510,35, +CTSPillarNetworkA,3511,3511,3511,1979-08-13,350.80000000001127,350.8122,2015-01-01 00:58:31,bin3511,75, +CTSPillarNetworkA,3512,3512,3512,1979-08-14,350.9000000000113,350.9122,2015-01-01 00:58:32,bin3512,35, +CTSPillarNetworkA,3513,3513,3513,1979-08-15,351.0000000000113,351.0122,2015-01-01 00:58:33,bin3513,75, +CTSPillarNetworkA,3514,3514,3514,1979-08-16,351.10000000001133,351.1122,2015-01-01 00:58:34,bin3514,35, +CTSPillarNetworkA,3515,3515,3515,1979-08-17,351.20000000001136,351.21222,2015-01-01 00:58:35,bin3515,75, +CTSPillarNetworkA,3516,3516,3516,1979-08-18,351.3000000000114,351.31223,2015-01-01 00:58:36,bin3516,35, +CTSPillarNetworkA,3517,3517,3517,1979-08-19,351.4000000000114,351.41223,2015-01-01 00:58:37,bin3517,75, +CTSPillarNetworkA,3518,3518,3518,1979-08-20,351.5000000000114,351.51224,2015-01-01 00:58:38,bin3518,35, +CTSPillarNetworkA,3519,3519,3519,1979-08-21,351.60000000001145,351.61224,2015-01-01 00:58:39,bin3519,75, +CTSPillarNetworkA,3520,3520,3520,1979-08-22,351.70000000001147,351.71225,2015-01-01 00:58:40,bin3520,35, +CTSPillarNetworkA,3521,3521,3521,1979-08-23,351.8000000000115,351.81226,2015-01-01 00:58:41,bin3521,75, +CTSPillarNetworkA,3522,3522,3522,1979-08-24,351.9000000000115,351.91226,2015-01-01 00:58:42,bin3522,35, +CTSPillarNetworkA,3523,3523,3523,1979-08-25,352.00000000001154,352.01227,2015-01-01 00:58:43,bin3523,75, +CTSPillarNetworkA,3524,3524,3524,1979-08-26,352.10000000001156,352.11227,2015-01-01 00:58:44,bin3524,35, +CTSPillarNetworkA,3525,3525,3525,1979-08-27,352.2000000000116,352.21228,2015-01-01 00:58:45,bin3525,75, +CTSPillarNetworkA,3526,3526,3526,1979-08-28,352.3000000000116,352.3123,2015-01-01 00:58:46,bin3526,35, +CTSPillarNetworkA,3527,3527,3527,1979-08-29,352.40000000001163,352.4123,2015-01-01 00:58:47,bin3527,75, +CTSPillarNetworkA,3528,3528,3528,1979-08-30,352.50000000001165,352.5123,2015-01-01 00:58:48,bin3528,35, +CTSPillarNetworkA,3529,3529,3529,1979-08-31,352.6000000000117,352.6123,2015-01-01 00:58:49,bin3529,75, +CTSPillarNetworkA,3530,3530,3530,1979-09-01,352.7000000000117,352.7123,2015-01-01 00:58:50,bin3530,35, +CTSPillarNetworkA,3531,3531,3531,1979-09-02,352.8000000000117,352.81232,2015-01-01 00:58:51,bin3531,75, +CTSPillarNetworkA,3532,3532,3532,1979-09-03,352.90000000001174,352.91232,2015-01-01 00:58:52,bin3532,35, +CTSPillarNetworkA,3533,3533,3533,1979-09-04,353.00000000001177,353.01233,2015-01-01 00:58:53,bin3533,75, +CTSPillarNetworkA,3534,3534,3534,1979-09-05,353.1000000000118,353.11234,2015-01-01 00:58:54,bin3534,35, +CTSPillarNetworkA,3535,3535,3535,1979-09-06,353.2000000000118,353.21234,2015-01-01 00:58:55,bin3535,75, +CTSPillarNetworkA,3536,3536,3536,1979-09-07,353.30000000001183,353.31235,2015-01-01 00:58:56,bin3536,35, +CTSPillarNetworkA,3537,3537,3537,1979-09-08,353.40000000001186,353.41235,2015-01-01 00:58:57,bin3537,75, +CTSPillarNetworkA,3538,3538,3538,1979-09-09,353.5000000000119,353.51236,2015-01-01 00:58:58,bin3538,35, +CTSPillarNetworkA,3539,3539,3539,1979-09-10,353.6000000000119,353.61237,2015-01-01 00:58:59,bin3539,75, +CTSPillarNetworkA,3540,3540,3540,1979-09-11,353.7000000000119,353.71237,2015-01-01 00:59:00,bin3540,35, +CTSPillarNetworkA,3541,3541,3541,1979-09-12,353.80000000001195,353.81238,2015-01-01 00:59:01,bin3541,75, +CTSPillarNetworkA,3542,3542,3542,1979-09-13,353.90000000001197,353.91238,2015-01-01 00:59:02,bin3542,35, +CTSPillarNetworkA,3543,3543,3543,1979-09-14,354.000000000012,354.0124,2015-01-01 00:59:03,bin3543,75, +CTSPillarNetworkA,3544,3544,3544,1979-09-15,354.100000000012,354.1124,2015-01-01 00:59:04,bin3544,35, +CTSPillarNetworkA,3545,3545,3545,1979-09-16,354.20000000001204,354.2124,2015-01-01 00:59:05,bin3545,75, +CTSPillarNetworkA,3546,3546,3546,1979-09-17,354.30000000001206,354.3124,2015-01-01 00:59:06,bin3546,35, +CTSPillarNetworkA,3547,3547,3547,1979-09-18,354.4000000000121,354.4124,2015-01-01 00:59:07,bin3547,75, +CTSPillarNetworkA,3548,3548,3548,1979-09-19,354.5000000000121,354.51242,2015-01-01 00:59:08,bin3548,35, +CTSPillarNetworkA,3549,3549,3549,1979-09-20,354.60000000001213,354.61243,2015-01-01 00:59:09,bin3549,75, +CTSPillarNetworkA,3550,3550,3550,1979-09-21,354.70000000001215,354.71243,2015-01-01 00:59:10,bin3550,35, +CTSPillarNetworkA,3551,3551,3551,1979-09-22,354.8000000000122,354.81244,2015-01-01 00:59:11,bin3551,75, +CTSPillarNetworkA,3552,3552,3552,1979-09-23,354.9000000000122,354.91245,2015-01-01 00:59:12,bin3552,35, +CTSPillarNetworkA,3553,3553,3553,1979-09-24,355.0000000000122,355.01245,2015-01-01 00:59:13,bin3553,75, +CTSPillarNetworkA,3554,3554,3554,1979-09-25,355.10000000001224,355.11246,2015-01-01 00:59:14,bin3554,35, +CTSPillarNetworkA,3555,3555,3555,1979-09-26,355.20000000001227,355.21246,2015-01-01 00:59:15,bin3555,75, +CTSPillarNetworkA,3556,3556,3556,1979-09-27,355.3000000000123,355.31247,2015-01-01 00:59:16,bin3556,35, +CTSPillarNetworkA,3557,3557,3557,1979-09-28,355.4000000000123,355.41248,2015-01-01 00:59:17,bin3557,75, +CTSPillarNetworkA,3558,3558,3558,1979-09-29,355.50000000001234,355.51248,2015-01-01 00:59:18,bin3558,35, +CTSPillarNetworkA,3559,3559,3559,1979-09-30,355.60000000001236,355.6125,2015-01-01 00:59:19,bin3559,75, +CTSPillarNetworkA,3560,3560,3560,1979-10-01,355.7000000000124,355.7125,2015-01-01 00:59:20,bin3560,35, +CTSPillarNetworkA,3561,3561,3561,1979-10-02,355.8000000000124,355.8125,2015-01-01 00:59:21,bin3561,75, +CTSPillarNetworkA,3562,3562,3562,1979-10-03,355.9000000000124,355.9125,2015-01-01 00:59:22,bin3562,35, +CTSPillarNetworkA,3563,3563,3563,1979-10-04,356.00000000001245,356.0125,2015-01-01 00:59:23,bin3563,75, +CTSPillarNetworkA,3564,3564,3564,1979-10-05,356.10000000001247,356.11252,2015-01-01 00:59:24,bin3564,35, +CTSPillarNetworkA,3565,3565,3565,1979-10-06,356.2000000000125,356.21252,2015-01-01 00:59:25,bin3565,75, +CTSPillarNetworkA,3566,3566,3566,1979-10-07,356.3000000000125,356.31253,2015-01-01 00:59:26,bin3566,35, +CTSPillarNetworkA,3567,3567,3567,1979-10-08,356.40000000001254,356.41254,2015-01-01 00:59:27,bin3567,75, +CTSPillarNetworkA,3568,3568,3568,1979-10-09,356.50000000001256,356.51254,2015-01-01 00:59:28,bin3568,35, +CTSPillarNetworkA,3569,3569,3569,1979-10-10,356.6000000000126,356.61255,2015-01-01 00:59:29,bin3569,75, +CTSPillarNetworkA,3570,3570,3570,1979-10-11,356.7000000000126,356.71255,2015-01-01 00:59:30,bin3570,35, +CTSPillarNetworkA,3571,3571,3571,1979-10-12,356.80000000001263,356.81256,2015-01-01 00:59:31,bin3571,75, +CTSPillarNetworkA,3572,3572,3572,1979-10-13,356.90000000001265,356.91257,2015-01-01 00:59:32,bin3572,35, +CTSPillarNetworkA,3573,3573,3573,1979-10-14,357.0000000000127,357.01257,2015-01-01 00:59:33,bin3573,75, +CTSPillarNetworkA,3574,3574,3574,1979-10-15,357.1000000000127,357.11258,2015-01-01 00:59:34,bin3574,35, +CTSPillarNetworkA,3575,3575,3575,1979-10-16,357.2000000000127,357.2126,2015-01-01 00:59:35,bin3575,75, +CTSPillarNetworkA,3576,3576,3576,1979-10-17,357.30000000001274,357.3126,2015-01-01 00:59:36,bin3576,35, +CTSPillarNetworkA,3577,3577,3577,1979-10-18,357.40000000001277,357.4126,2015-01-01 00:59:37,bin3577,75, +CTSPillarNetworkA,3578,3578,3578,1979-10-19,357.5000000000128,357.5126,2015-01-01 00:59:38,bin3578,35, +CTSPillarNetworkA,3579,3579,3579,1979-10-20,357.6000000000128,357.6126,2015-01-01 00:59:39,bin3579,75, +CTSPillarNetworkA,3580,3580,3580,1979-10-21,357.70000000001284,357.71262,2015-01-01 00:59:40,bin3580,35, +CTSPillarNetworkA,3581,3581,3581,1979-10-22,357.80000000001286,357.81262,2015-01-01 00:59:41,bin3581,75, +CTSPillarNetworkA,3582,3582,3582,1979-10-23,357.9000000000129,357.91263,2015-01-01 00:59:42,bin3582,35, +CTSPillarNetworkA,3583,3583,3583,1979-10-24,358.0000000000129,358.01263,2015-01-01 00:59:43,bin3583,75, +CTSPillarNetworkA,3584,3584,3584,1979-10-25,358.1000000000129,358.11264,2015-01-01 00:59:44,bin3584,35, +CTSPillarNetworkA,3585,3585,3585,1979-10-26,358.20000000001295,358.21265,2015-01-01 00:59:45,bin3585,75, +CTSPillarNetworkA,3586,3586,3586,1979-10-27,358.300000000013,358.31265,2015-01-01 00:59:46,bin3586,35, +CTSPillarNetworkA,3587,3587,3587,1979-10-28,358.400000000013,358.41266,2015-01-01 00:59:47,bin3587,75, +CTSPillarNetworkA,3588,3588,3588,1979-10-29,358.500000000013,358.51266,2015-01-01 00:59:48,bin3588,35, +CTSPillarNetworkA,3589,3589,3589,1979-10-30,358.60000000001304,358.61267,2015-01-01 00:59:49,bin3589,75, +CTSPillarNetworkA,3590,3590,3590,1979-10-31,358.70000000001306,358.71268,2015-01-01 00:59:50,bin3590,35, +CTSPillarNetworkA,3591,3591,3591,1979-11-01,358.8000000000131,358.81268,2015-01-01 00:59:51,bin3591,75, +CTSPillarNetworkA,3592,3592,3592,1979-11-02,358.9000000000131,358.9127,2015-01-01 00:59:52,bin3592,35, +CTSPillarNetworkA,3593,3593,3593,1979-11-03,359.00000000001313,359.0127,2015-01-01 00:59:53,bin3593,75, +CTSPillarNetworkA,3594,3594,3594,1979-11-04,359.10000000001315,359.1127,2015-01-01 00:59:54,bin3594,35, +CTSPillarNetworkA,3595,3595,3595,1979-11-05,359.2000000000132,359.2127,2015-01-01 00:59:55,bin3595,75, +CTSPillarNetworkA,3596,3596,3596,1979-11-06,359.3000000000132,359.3127,2015-01-01 00:59:56,bin3596,35, +CTSPillarNetworkA,3597,3597,3597,1979-11-07,359.4000000000132,359.41272,2015-01-01 00:59:57,bin3597,75, +CTSPillarNetworkA,3598,3598,3598,1979-11-08,359.50000000001324,359.51273,2015-01-01 00:59:58,bin3598,35, +CTSPillarNetworkA,3599,3599,3599,1979-11-09,359.60000000001327,359.61273,2015-01-01 00:59:59,bin3599,75, +CTSPillarNetworkA,3600,3600,3600,1979-11-10,359.7000000000133,359.71274,2015-01-01 01:00:00,bin3600,35, +CTSPillarNetworkA,3601,3601,3601,1979-11-11,359.8000000000133,359.81274,2015-01-01 01:00:01,bin3601,75, +CTSPillarNetworkA,3602,3602,3602,1979-11-12,359.90000000001334,359.91275,2015-01-01 01:00:02,bin3602,35, +CTSPillarNetworkA,3603,3603,3603,1979-11-13,360.00000000001336,360.01276,2015-01-01 01:00:03,bin3603,75, +CTSPillarNetworkA,3604,3604,3604,1979-11-14,360.1000000000134,360.11276,2015-01-01 01:00:04,bin3604,35, +CTSPillarNetworkA,3605,3605,3605,1979-11-15,360.2000000000134,360.21277,2015-01-01 01:00:05,bin3605,75, +CTSPillarNetworkA,3606,3606,3606,1979-11-16,360.3000000000134,360.31277,2015-01-01 01:00:06,bin3606,35, +CTSPillarNetworkA,3607,3607,3607,1979-11-17,360.40000000001345,360.41278,2015-01-01 01:00:07,bin3607,75, +CTSPillarNetworkA,3608,3608,3608,1979-11-18,360.5000000000135,360.5128,2015-01-01 01:00:08,bin3608,35, +CTSPillarNetworkA,3609,3609,3609,1979-11-19,360.6000000000135,360.6128,2015-01-01 01:00:09,bin3609,75, +CTSPillarNetworkA,3610,3610,3610,1979-11-20,360.7000000000135,360.7128,2015-01-01 01:00:10,bin3610,35, +CTSPillarNetworkA,3611,3611,3611,1979-11-21,360.80000000001354,360.8128,2015-01-01 01:00:11,bin3611,75, +CTSPillarNetworkA,3612,3612,3612,1979-11-22,360.90000000001356,360.9128,2015-01-01 01:00:12,bin3612,35, +CTSPillarNetworkA,3613,3613,3613,1979-11-23,361.0000000000136,361.01282,2015-01-01 01:00:13,bin3613,75, +CTSPillarNetworkA,3614,3614,3614,1979-11-24,361.1000000000136,361.11282,2015-01-01 01:00:14,bin3614,35, +CTSPillarNetworkA,3615,3615,3615,1979-11-25,361.20000000001363,361.21283,2015-01-01 01:00:15,bin3615,75, +CTSPillarNetworkA,3616,3616,3616,1979-11-26,361.30000000001365,361.31284,2015-01-01 01:00:16,bin3616,35, +CTSPillarNetworkA,3617,3617,3617,1979-11-27,361.4000000000137,361.41284,2015-01-01 01:00:17,bin3617,75, +CTSPillarNetworkA,3618,3618,3618,1979-11-28,361.5000000000137,361.51285,2015-01-01 01:00:18,bin3618,35, +CTSPillarNetworkA,3619,3619,3619,1979-11-29,361.6000000000137,361.61285,2015-01-01 01:00:19,bin3619,75, +CTSPillarNetworkA,3620,3620,3620,1979-11-30,361.70000000001374,361.71286,2015-01-01 01:00:20,bin3620,35, +CTSPillarNetworkA,3621,3621,3621,1979-12-01,361.80000000001377,361.81287,2015-01-01 01:00:21,bin3621,75, +CTSPillarNetworkA,3622,3622,3622,1979-12-02,361.9000000000138,361.91287,2015-01-01 01:00:22,bin3622,35, +CTSPillarNetworkA,3623,3623,3623,1979-12-03,362.0000000000138,362.01288,2015-01-01 01:00:23,bin3623,75, +CTSPillarNetworkA,3624,3624,3624,1979-12-04,362.10000000001384,362.11288,2015-01-01 01:00:24,bin3624,35, +CTSPillarNetworkA,3625,3625,3625,1979-12-05,362.20000000001386,362.2129,2015-01-01 01:00:25,bin3625,75, +CTSPillarNetworkA,3626,3626,3626,1979-12-06,362.3000000000139,362.3129,2015-01-01 01:00:26,bin3626,35, +CTSPillarNetworkA,3627,3627,3627,1979-12-07,362.4000000000139,362.4129,2015-01-01 01:00:27,bin3627,75, +CTSPillarNetworkA,3628,3628,3628,1979-12-08,362.5000000000139,362.5129,2015-01-01 01:00:28,bin3628,35, +CTSPillarNetworkA,3629,3629,3629,1979-12-09,362.60000000001395,362.6129,2015-01-01 01:00:29,bin3629,75, +CTSPillarNetworkA,3630,3630,3630,1979-12-10,362.700000000014,362.71292,2015-01-01 01:00:30,bin3630,35, +CTSPillarNetworkA,3631,3631,3631,1979-12-11,362.800000000014,362.81293,2015-01-01 01:00:31,bin3631,75, +CTSPillarNetworkA,3632,3632,3632,1979-12-12,362.900000000014,362.91293,2015-01-01 01:00:32,bin3632,35, +CTSPillarNetworkA,3633,3633,3633,1979-12-13,363.00000000001404,363.01294,2015-01-01 01:00:33,bin3633,75, +CTSPillarNetworkA,3634,3634,3634,1979-12-14,363.10000000001406,363.11295,2015-01-01 01:00:34,bin3634,35, +CTSPillarNetworkA,3635,3635,3635,1979-12-15,363.2000000000141,363.21295,2015-01-01 01:00:35,bin3635,75, +CTSPillarNetworkA,3636,3636,3636,1979-12-16,363.3000000000141,363.31296,2015-01-01 01:00:36,bin3636,35, +CTSPillarNetworkA,3637,3637,3637,1979-12-17,363.40000000001413,363.41296,2015-01-01 01:00:37,bin3637,75, +CTSPillarNetworkA,3638,3638,3638,1979-12-18,363.50000000001415,363.51297,2015-01-01 01:00:38,bin3638,35, +CTSPillarNetworkA,3639,3639,3639,1979-12-19,363.6000000000142,363.61298,2015-01-01 01:00:39,bin3639,75, +CTSPillarNetworkA,3640,3640,3640,1979-12-20,363.7000000000142,363.71298,2015-01-01 01:00:40,bin3640,35, +CTSPillarNetworkA,3641,3641,3641,1979-12-21,363.8000000000142,363.813,2015-01-01 01:00:41,bin3641,75, +CTSPillarNetworkA,3642,3642,3642,1979-12-22,363.90000000001424,363.913,2015-01-01 01:00:42,bin3642,35, +CTSPillarNetworkA,3643,3643,3643,1979-12-23,364.00000000001427,364.013,2015-01-01 01:00:43,bin3643,75, +CTSPillarNetworkA,3644,3644,3644,1979-12-24,364.1000000000143,364.113,2015-01-01 01:00:44,bin3644,35, +CTSPillarNetworkA,3645,3645,3645,1979-12-25,364.2000000000143,364.213,2015-01-01 01:00:45,bin3645,75, +CTSPillarNetworkA,3646,3646,3646,1979-12-26,364.30000000001434,364.31302,2015-01-01 01:00:46,bin3646,35, +CTSPillarNetworkA,3647,3647,3647,1979-12-27,364.40000000001436,364.41302,2015-01-01 01:00:47,bin3647,75, +CTSPillarNetworkA,3648,3648,3648,1979-12-28,364.5000000000144,364.51303,2015-01-01 01:00:48,bin3648,35, +CTSPillarNetworkA,3649,3649,3649,1979-12-29,364.6000000000144,364.61304,2015-01-01 01:00:49,bin3649,75, +CTSPillarNetworkA,3650,3650,3650,1979-12-30,364.7000000000144,364.71304,2015-01-01 01:00:50,bin3650,35, +CTSPillarNetworkA,3651,3651,3651,1979-12-31,364.80000000001445,364.81305,2015-01-01 01:00:51,bin3651,75, +CTSPillarNetworkA,3652,3652,3652,1980-01-01,364.9000000000145,364.91306,2015-01-01 01:00:52,bin3652,35, +CTSPillarNetworkA,3653,3653,3653,1980-01-02,365.0000000000145,365.01306,2015-01-01 01:00:53,bin3653,75, +CTSPillarNetworkA,3654,3654,3654,1980-01-03,365.1000000000145,365.11307,2015-01-01 01:00:54,bin3654,35, +CTSPillarNetworkA,3655,3655,3655,1980-01-04,365.20000000001454,365.21307,2015-01-01 01:00:55,bin3655,75, +CTSPillarNetworkA,3656,3656,3656,1980-01-05,365.30000000001456,365.31308,2015-01-01 01:00:56,bin3656,35, +CTSPillarNetworkA,3657,3657,3657,1980-01-06,365.4000000000146,365.4131,2015-01-01 01:00:57,bin3657,75, +CTSPillarNetworkA,3658,3658,3658,1980-01-07,365.5000000000146,365.5131,2015-01-01 01:00:58,bin3658,35, +CTSPillarNetworkA,3659,3659,3659,1980-01-08,365.60000000001463,365.6131,2015-01-01 01:00:59,bin3659,75, +CTSPillarNetworkA,3660,3660,3660,1980-01-09,365.70000000001465,365.7131,2015-01-01 01:01:00,bin3660,35, +CTSPillarNetworkA,3661,3661,3661,1980-01-10,365.8000000000147,365.8131,2015-01-01 01:01:01,bin3661,75, +CTSPillarNetworkA,3662,3662,3662,1980-01-11,365.9000000000147,365.91312,2015-01-01 01:01:02,bin3662,35, +CTSPillarNetworkA,3663,3663,3663,1980-01-12,366.0000000000147,366.01312,2015-01-01 01:01:03,bin3663,75, +CTSPillarNetworkA,3664,3664,3664,1980-01-13,366.10000000001475,366.11313,2015-01-01 01:01:04,bin3664,35, +CTSPillarNetworkA,3665,3665,3665,1980-01-14,366.20000000001477,366.21313,2015-01-01 01:01:05,bin3665,75, +CTSPillarNetworkA,3666,3666,3666,1980-01-15,366.3000000000148,366.31314,2015-01-01 01:01:06,bin3666,35, +CTSPillarNetworkA,3667,3667,3667,1980-01-16,366.4000000000148,366.41315,2015-01-01 01:01:07,bin3667,75, +CTSPillarNetworkA,3668,3668,3668,1980-01-17,366.50000000001484,366.51315,2015-01-01 01:01:08,bin3668,35, +CTSPillarNetworkA,3669,3669,3669,1980-01-18,366.60000000001486,366.61316,2015-01-01 01:01:09,bin3669,75, +CTSPillarNetworkA,3670,3670,3670,1980-01-19,366.7000000000149,366.71317,2015-01-01 01:01:10,bin3670,35, +CTSPillarNetworkA,3671,3671,3671,1980-01-20,366.8000000000149,366.81317,2015-01-01 01:01:11,bin3671,75, +CTSPillarNetworkA,3672,3672,3672,1980-01-21,366.9000000000149,366.91318,2015-01-01 01:01:12,bin3672,35, +CTSPillarNetworkA,3673,3673,3673,1980-01-22,367.00000000001495,367.01318,2015-01-01 01:01:13,bin3673,75, +CTSPillarNetworkA,3674,3674,3674,1980-01-23,367.100000000015,367.1132,2015-01-01 01:01:14,bin3674,35, +CTSPillarNetworkA,3675,3675,3675,1980-01-24,367.200000000015,367.2132,2015-01-01 01:01:15,bin3675,75, +CTSPillarNetworkA,3676,3676,3676,1980-01-25,367.300000000015,367.3132,2015-01-01 01:01:16,bin3676,35, +CTSPillarNetworkA,3677,3677,3677,1980-01-26,367.40000000001504,367.4132,2015-01-01 01:01:17,bin3677,75, +CTSPillarNetworkA,3678,3678,3678,1980-01-27,367.50000000001506,367.5132,2015-01-01 01:01:18,bin3678,35, +CTSPillarNetworkA,3679,3679,3679,1980-01-28,367.6000000000151,367.61322,2015-01-01 01:01:19,bin3679,75, +CTSPillarNetworkA,3680,3680,3680,1980-01-29,367.7000000000151,367.71323,2015-01-01 01:01:20,bin3680,35, +CTSPillarNetworkA,3681,3681,3681,1980-01-30,367.80000000001513,367.81323,2015-01-01 01:01:21,bin3681,75, +CTSPillarNetworkA,3682,3682,3682,1980-01-31,367.90000000001515,367.91324,2015-01-01 01:01:22,bin3682,35, +CTSPillarNetworkA,3683,3683,3683,1980-02-01,368.0000000000152,368.01324,2015-01-01 01:01:23,bin3683,75, +CTSPillarNetworkA,3684,3684,3684,1980-02-02,368.1000000000152,368.11325,2015-01-01 01:01:24,bin3684,35, +CTSPillarNetworkA,3685,3685,3685,1980-02-03,368.2000000000152,368.21326,2015-01-01 01:01:25,bin3685,75, +CTSPillarNetworkA,3686,3686,3686,1980-02-04,368.30000000001525,368.31326,2015-01-01 01:01:26,bin3686,35, +CTSPillarNetworkA,3687,3687,3687,1980-02-05,368.40000000001527,368.41327,2015-01-01 01:01:27,bin3687,75, +CTSPillarNetworkA,3688,3688,3688,1980-02-06,368.5000000000153,368.51328,2015-01-01 01:01:28,bin3688,35, +CTSPillarNetworkA,3689,3689,3689,1980-02-07,368.6000000000153,368.61328,2015-01-01 01:01:29,bin3689,75, +CTSPillarNetworkA,3690,3690,3690,1980-02-08,368.70000000001534,368.7133,2015-01-01 01:01:30,bin3690,35, +CTSPillarNetworkA,3691,3691,3691,1980-02-09,368.80000000001536,368.8133,2015-01-01 01:01:31,bin3691,75, +CTSPillarNetworkA,3692,3692,3692,1980-02-10,368.9000000000154,368.9133,2015-01-01 01:01:32,bin3692,35, +CTSPillarNetworkA,3693,3693,3693,1980-02-11,369.0000000000154,369.0133,2015-01-01 01:01:33,bin3693,75, +CTSPillarNetworkA,3694,3694,3694,1980-02-12,369.1000000000154,369.1133,2015-01-01 01:01:34,bin3694,35, +CTSPillarNetworkA,3695,3695,3695,1980-02-13,369.20000000001545,369.21332,2015-01-01 01:01:35,bin3695,75, +CTSPillarNetworkA,3696,3696,3696,1980-02-14,369.3000000000155,369.31332,2015-01-01 01:01:36,bin3696,35, +CTSPillarNetworkA,3697,3697,3697,1980-02-15,369.4000000000155,369.41333,2015-01-01 01:01:37,bin3697,75, +CTSPillarNetworkA,3698,3698,3698,1980-02-16,369.5000000000155,369.51334,2015-01-01 01:01:38,bin3698,35, +CTSPillarNetworkA,3699,3699,3699,1980-02-17,369.60000000001554,369.61334,2015-01-01 01:01:39,bin3699,75, +CTSPillarNetworkA,3700,3700,3700,1980-02-18,369.70000000001556,369.71335,2015-01-01 01:01:40,bin3700,35, +CTSPillarNetworkA,3701,3701,3701,1980-02-19,369.8000000000156,369.81335,2015-01-01 01:01:41,bin3701,75, +CTSPillarNetworkA,3702,3702,3702,1980-02-20,369.9000000000156,369.91336,2015-01-01 01:01:42,bin3702,35, +CTSPillarNetworkA,3703,3703,3703,1980-02-21,370.00000000001563,370.01337,2015-01-01 01:01:43,bin3703,75, +CTSPillarNetworkA,3704,3704,3704,1980-02-22,370.10000000001565,370.11337,2015-01-01 01:01:44,bin3704,35, +CTSPillarNetworkA,3705,3705,3705,1980-02-23,370.2000000000157,370.21338,2015-01-01 01:01:45,bin3705,75, +CTSPillarNetworkA,3706,3706,3706,1980-02-24,370.3000000000157,370.3134,2015-01-01 01:01:46,bin3706,35, +CTSPillarNetworkA,3707,3707,3707,1980-02-25,370.4000000000157,370.4134,2015-01-01 01:01:47,bin3707,75, +CTSPillarNetworkA,3708,3708,3708,1980-02-26,370.50000000001575,370.5134,2015-01-01 01:01:48,bin3708,35, +CTSPillarNetworkA,3709,3709,3709,1980-02-27,370.60000000001577,370.6134,2015-01-01 01:01:49,bin3709,75, +CTSPillarNetworkA,3710,3710,3710,1980-02-28,370.7000000000158,370.7134,2015-01-01 01:01:50,bin3710,35, +CTSPillarNetworkA,3711,3711,3711,1980-02-29,370.8000000000158,370.81342,2015-01-01 01:01:51,bin3711,75, +CTSPillarNetworkA,3712,3712,3712,1980-03-01,370.90000000001584,370.91342,2015-01-01 01:01:52,bin3712,35, +CTSPillarNetworkA,3713,3713,3713,1980-03-02,371.00000000001586,371.01343,2015-01-01 01:01:53,bin3713,75, +CTSPillarNetworkA,3714,3714,3714,1980-03-03,371.1000000000159,371.11343,2015-01-01 01:01:54,bin3714,35, +CTSPillarNetworkA,3715,3715,3715,1980-03-04,371.2000000000159,371.21344,2015-01-01 01:01:55,bin3715,75, +CTSPillarNetworkA,3716,3716,3716,1980-03-05,371.3000000000159,371.31345,2015-01-01 01:01:56,bin3716,35, +CTSPillarNetworkA,3717,3717,3717,1980-03-06,371.40000000001595,371.41345,2015-01-01 01:01:57,bin3717,75, +CTSPillarNetworkA,3718,3718,3718,1980-03-07,371.500000000016,371.51346,2015-01-01 01:01:58,bin3718,35, +CTSPillarNetworkA,3719,3719,3719,1980-03-08,371.600000000016,371.61346,2015-01-01 01:01:59,bin3719,75, +CTSPillarNetworkA,3720,3720,3720,1980-03-09,371.700000000016,371.71347,2015-01-01 01:02:00,bin3720,35, +CTSPillarNetworkA,3721,3721,3721,1980-03-10,371.80000000001604,371.81348,2015-01-01 01:02:01,bin3721,75, +CTSPillarNetworkA,3722,3722,3722,1980-03-11,371.90000000001606,371.91348,2015-01-01 01:02:02,bin3722,35, +CTSPillarNetworkA,3723,3723,3723,1980-03-12,372.0000000000161,372.0135,2015-01-01 01:02:03,bin3723,75, +CTSPillarNetworkA,3724,3724,3724,1980-03-13,372.1000000000161,372.1135,2015-01-01 01:02:04,bin3724,35, +CTSPillarNetworkA,3725,3725,3725,1980-03-14,372.20000000001613,372.2135,2015-01-01 01:02:05,bin3725,75, +CTSPillarNetworkA,3726,3726,3726,1980-03-15,372.30000000001615,372.3135,2015-01-01 01:02:06,bin3726,35, +CTSPillarNetworkA,3727,3727,3727,1980-03-16,372.4000000000162,372.4135,2015-01-01 01:02:07,bin3727,75, +CTSPillarNetworkA,3728,3728,3728,1980-03-17,372.5000000000162,372.51352,2015-01-01 01:02:08,bin3728,35, +CTSPillarNetworkA,3729,3729,3729,1980-03-18,372.6000000000162,372.61353,2015-01-01 01:02:09,bin3729,75, +CTSPillarNetworkA,3730,3730,3730,1980-03-19,372.70000000001625,372.71353,2015-01-01 01:02:10,bin3730,35, +CTSPillarNetworkA,3731,3731,3731,1980-03-20,372.80000000001627,372.81354,2015-01-01 01:02:11,bin3731,75, +CTSPillarNetworkA,3732,3732,3732,1980-03-21,372.9000000000163,372.91354,2015-01-01 01:02:12,bin3732,35, +CTSPillarNetworkA,3733,3733,3733,1980-03-22,373.0000000000163,373.01355,2015-01-01 01:02:13,bin3733,75, +CTSPillarNetworkA,3734,3734,3734,1980-03-23,373.10000000001634,373.11356,2015-01-01 01:02:14,bin3734,35, +CTSPillarNetworkA,3735,3735,3735,1980-03-24,373.20000000001636,373.21356,2015-01-01 01:02:15,bin3735,75, +CTSPillarNetworkA,3736,3736,3736,1980-03-25,373.3000000000164,373.31357,2015-01-01 01:02:16,bin3736,35, +CTSPillarNetworkA,3737,3737,3737,1980-03-26,373.4000000000164,373.41357,2015-01-01 01:02:17,bin3737,75, +CTSPillarNetworkA,3738,3738,3738,1980-03-27,373.5000000000164,373.51358,2015-01-01 01:02:18,bin3738,35, +CTSPillarNetworkA,3739,3739,3739,1980-03-28,373.60000000001645,373.6136,2015-01-01 01:02:19,bin3739,75, +CTSPillarNetworkA,3740,3740,3740,1980-03-29,373.7000000000165,373.7136,2015-01-01 01:02:20,bin3740,35, +CTSPillarNetworkA,3741,3741,3741,1980-03-30,373.8000000000165,373.8136,2015-01-01 01:02:21,bin3741,75, +CTSPillarNetworkA,3742,3742,3742,1980-03-31,373.9000000000165,373.9136,2015-01-01 01:02:22,bin3742,35, +CTSPillarNetworkA,3743,3743,3743,1980-04-01,374.00000000001654,374.0136,2015-01-01 01:02:23,bin3743,75, +CTSPillarNetworkA,3744,3744,3744,1980-04-02,374.10000000001656,374.11362,2015-01-01 01:02:24,bin3744,35, +CTSPillarNetworkA,3745,3745,3745,1980-04-03,374.2000000000166,374.21362,2015-01-01 01:02:25,bin3745,75, +CTSPillarNetworkA,3746,3746,3746,1980-04-04,374.3000000000166,374.31363,2015-01-01 01:02:26,bin3746,35, +CTSPillarNetworkA,3747,3747,3747,1980-04-05,374.40000000001663,374.41364,2015-01-01 01:02:27,bin3747,75, +CTSPillarNetworkA,3748,3748,3748,1980-04-06,374.50000000001666,374.51364,2015-01-01 01:02:28,bin3748,35, +CTSPillarNetworkA,3749,3749,3749,1980-04-07,374.6000000000167,374.61365,2015-01-01 01:02:29,bin3749,75, +CTSPillarNetworkA,3750,3750,3750,1980-04-08,374.7000000000167,374.71365,2015-01-01 01:02:30,bin3750,35, +CTSPillarNetworkA,3751,3751,3751,1980-04-09,374.8000000000167,374.81366,2015-01-01 01:02:31,bin3751,75, +CTSPillarNetworkA,3752,3752,3752,1980-04-10,374.90000000001675,374.91367,2015-01-01 01:02:32,bin3752,35, +CTSPillarNetworkA,3753,3753,3753,1980-04-11,375.00000000001677,375.01367,2015-01-01 01:02:33,bin3753,75, +CTSPillarNetworkA,3754,3754,3754,1980-04-12,375.1000000000168,375.11368,2015-01-01 01:02:34,bin3754,35, +CTSPillarNetworkA,3755,3755,3755,1980-04-13,375.2000000000168,375.21368,2015-01-01 01:02:35,bin3755,75, +CTSPillarNetworkA,3756,3756,3756,1980-04-14,375.30000000001684,375.3137,2015-01-01 01:02:36,bin3756,35, +CTSPillarNetworkA,3757,3757,3757,1980-04-15,375.40000000001686,375.4137,2015-01-01 01:02:37,bin3757,75, +CTSPillarNetworkA,3758,3758,3758,1980-04-16,375.5000000000169,375.5137,2015-01-01 01:02:38,bin3758,35, +CTSPillarNetworkA,3759,3759,3759,1980-04-17,375.6000000000169,375.6137,2015-01-01 01:02:39,bin3759,75, +CTSPillarNetworkA,3760,3760,3760,1980-04-18,375.7000000000169,375.7137,2015-01-01 01:02:40,bin3760,35, +CTSPillarNetworkA,3761,3761,3761,1980-04-19,375.80000000001695,375.81372,2015-01-01 01:02:41,bin3761,75, +CTSPillarNetworkA,3762,3762,3762,1980-04-20,375.900000000017,375.91373,2015-01-01 01:02:42,bin3762,35, +CTSPillarNetworkA,3763,3763,3763,1980-04-21,376.000000000017,376.01373,2015-01-01 01:02:43,bin3763,75, +CTSPillarNetworkA,3764,3764,3764,1980-04-22,376.100000000017,376.11374,2015-01-01 01:02:44,bin3764,35, +CTSPillarNetworkA,3765,3765,3765,1980-04-23,376.20000000001704,376.21375,2015-01-01 01:02:45,bin3765,75, +CTSPillarNetworkA,3766,3766,3766,1980-04-24,376.30000000001706,376.31375,2015-01-01 01:02:46,bin3766,35, +CTSPillarNetworkA,3767,3767,3767,1980-04-25,376.4000000000171,376.41376,2015-01-01 01:02:47,bin3767,75, +CTSPillarNetworkA,3768,3768,3768,1980-04-26,376.5000000000171,376.51376,2015-01-01 01:02:48,bin3768,35, +CTSPillarNetworkA,3769,3769,3769,1980-04-27,376.60000000001713,376.61377,2015-01-01 01:02:49,bin3769,75, +CTSPillarNetworkA,3770,3770,3770,1980-04-28,376.70000000001716,376.71378,2015-01-01 01:02:50,bin3770,35, +CTSPillarNetworkA,3771,3771,3771,1980-04-29,376.8000000000172,376.81378,2015-01-01 01:02:51,bin3771,75, +CTSPillarNetworkA,3772,3772,3772,1980-04-30,376.9000000000172,376.9138,2015-01-01 01:02:52,bin3772,35, +CTSPillarNetworkA,3773,3773,3773,1980-05-01,377.0000000000172,377.0138,2015-01-01 01:02:53,bin3773,75, +CTSPillarNetworkA,3774,3774,3774,1980-05-02,377.10000000001725,377.1138,2015-01-01 01:02:54,bin3774,35, +CTSPillarNetworkA,3775,3775,3775,1980-05-03,377.20000000001727,377.2138,2015-01-01 01:02:55,bin3775,75, +CTSPillarNetworkA,3776,3776,3776,1980-05-04,377.3000000000173,377.3138,2015-01-01 01:02:56,bin3776,35, +CTSPillarNetworkA,3777,3777,3777,1980-05-05,377.4000000000173,377.41382,2015-01-01 01:02:57,bin3777,75, +CTSPillarNetworkA,3778,3778,3778,1980-05-06,377.50000000001734,377.51382,2015-01-01 01:02:58,bin3778,35, +CTSPillarNetworkA,3779,3779,3779,1980-05-07,377.60000000001736,377.61383,2015-01-01 01:02:59,bin3779,75, +CTSPillarNetworkA,3780,3780,3780,1980-05-08,377.7000000000174,377.71384,2015-01-01 01:03:00,bin3780,35, +CTSPillarNetworkA,3781,3781,3781,1980-05-09,377.8000000000174,377.81384,2015-01-01 01:03:01,bin3781,75, +CTSPillarNetworkA,3782,3782,3782,1980-05-10,377.9000000000174,377.91385,2015-01-01 01:03:02,bin3782,35, +CTSPillarNetworkA,3783,3783,3783,1980-05-11,378.00000000001745,378.01385,2015-01-01 01:03:03,bin3783,75, +CTSPillarNetworkA,3784,3784,3784,1980-05-12,378.1000000000175,378.11386,2015-01-01 01:03:04,bin3784,35, +CTSPillarNetworkA,3785,3785,3785,1980-05-13,378.2000000000175,378.21387,2015-01-01 01:03:05,bin3785,75, +CTSPillarNetworkA,3786,3786,3786,1980-05-14,378.3000000000175,378.31387,2015-01-01 01:03:06,bin3786,35, +CTSPillarNetworkA,3787,3787,3787,1980-05-15,378.40000000001754,378.41388,2015-01-01 01:03:07,bin3787,75, +CTSPillarNetworkA,3788,3788,3788,1980-05-16,378.50000000001756,378.5139,2015-01-01 01:03:08,bin3788,35, +CTSPillarNetworkA,3789,3789,3789,1980-05-17,378.6000000000176,378.6139,2015-01-01 01:03:09,bin3789,75, +CTSPillarNetworkA,3790,3790,3790,1980-05-18,378.7000000000176,378.7139,2015-01-01 01:03:10,bin3790,35, +CTSPillarNetworkA,3791,3791,3791,1980-05-19,378.80000000001763,378.8139,2015-01-01 01:03:11,bin3791,75, +CTSPillarNetworkA,3792,3792,3792,1980-05-20,378.90000000001766,378.9139,2015-01-01 01:03:12,bin3792,35, +CTSPillarNetworkA,3793,3793,3793,1980-05-21,379.0000000000177,379.01392,2015-01-01 01:03:13,bin3793,75, +CTSPillarNetworkA,3794,3794,3794,1980-05-22,379.1000000000177,379.11392,2015-01-01 01:03:14,bin3794,35, +CTSPillarNetworkA,3795,3795,3795,1980-05-23,379.2000000000177,379.21393,2015-01-01 01:03:15,bin3795,75, +CTSPillarNetworkA,3796,3796,3796,1980-05-24,379.30000000001775,379.31393,2015-01-01 01:03:16,bin3796,35, +CTSPillarNetworkA,3797,3797,3797,1980-05-25,379.40000000001777,379.41394,2015-01-01 01:03:17,bin3797,75, +CTSPillarNetworkA,3798,3798,3798,1980-05-26,379.5000000000178,379.51395,2015-01-01 01:03:18,bin3798,35, +CTSPillarNetworkA,3799,3799,3799,1980-05-27,379.6000000000178,379.61395,2015-01-01 01:03:19,bin3799,75, +CTSPillarNetworkA,3800,3800,3800,1980-05-28,379.70000000001784,379.71396,2015-01-01 01:03:20,bin3800,35, +CTSPillarNetworkA,3801,3801,3801,1980-05-29,379.80000000001786,379.81396,2015-01-01 01:03:21,bin3801,75, +CTSPillarNetworkA,3802,3802,3802,1980-05-30,379.9000000000179,379.91397,2015-01-01 01:03:22,bin3802,35, +CTSPillarNetworkA,3803,3803,3803,1980-05-31,380.0000000000179,380.01398,2015-01-01 01:03:23,bin3803,75, +CTSPillarNetworkA,3804,3804,3804,1980-06-01,380.1000000000179,380.11398,2015-01-01 01:03:24,bin3804,35, +CTSPillarNetworkA,3805,3805,3805,1980-06-02,380.20000000001795,380.214,2015-01-01 01:03:25,bin3805,75, +CTSPillarNetworkA,3806,3806,3806,1980-06-03,380.300000000018,380.314,2015-01-01 01:03:26,bin3806,35, +CTSPillarNetworkA,3807,3807,3807,1980-06-04,380.400000000018,380.414,2015-01-01 01:03:27,bin3807,75, +CTSPillarNetworkA,3808,3808,3808,1980-06-05,380.500000000018,380.514,2015-01-01 01:03:28,bin3808,35, +CTSPillarNetworkA,3809,3809,3809,1980-06-06,380.60000000001804,380.614,2015-01-01 01:03:29,bin3809,75, +CTSPillarNetworkA,3810,3810,3810,1980-06-07,380.70000000001806,380.71402,2015-01-01 01:03:30,bin3810,35, +CTSPillarNetworkA,3811,3811,3811,1980-06-08,380.8000000000181,380.81403,2015-01-01 01:03:31,bin3811,75, +CTSPillarNetworkA,3812,3812,3812,1980-06-09,380.9000000000181,380.91403,2015-01-01 01:03:32,bin3812,35, +CTSPillarNetworkA,3813,3813,3813,1980-06-10,381.00000000001813,381.01404,2015-01-01 01:03:33,bin3813,75, +CTSPillarNetworkA,3814,3814,3814,1980-06-11,381.10000000001816,381.11404,2015-01-01 01:03:34,bin3814,35, +CTSPillarNetworkA,3815,3815,3815,1980-06-12,381.2000000000182,381.21405,2015-01-01 01:03:35,bin3815,75, +CTSPillarNetworkA,3816,3816,3816,1980-06-13,381.3000000000182,381.31406,2015-01-01 01:03:36,bin3816,35, +CTSPillarNetworkA,3817,3817,3817,1980-06-14,381.4000000000182,381.41406,2015-01-01 01:03:37,bin3817,75, +CTSPillarNetworkA,3818,3818,3818,1980-06-15,381.50000000001825,381.51407,2015-01-01 01:03:38,bin3818,35, +CTSPillarNetworkA,3819,3819,3819,1980-06-16,381.60000000001827,381.61407,2015-01-01 01:03:39,bin3819,75, +CTSPillarNetworkA,3820,3820,3820,1980-06-17,381.7000000000183,381.71408,2015-01-01 01:03:40,bin3820,35, +CTSPillarNetworkA,3821,3821,3821,1980-06-18,381.8000000000183,381.8141,2015-01-01 01:03:41,bin3821,75, +CTSPillarNetworkA,3822,3822,3822,1980-06-19,381.90000000001834,381.9141,2015-01-01 01:03:42,bin3822,35, +CTSPillarNetworkA,3823,3823,3823,1980-06-20,382.00000000001836,382.0141,2015-01-01 01:03:43,bin3823,75, +CTSPillarNetworkA,3824,3824,3824,1980-06-21,382.1000000000184,382.1141,2015-01-01 01:03:44,bin3824,35, +CTSPillarNetworkA,3825,3825,3825,1980-06-22,382.2000000000184,382.2141,2015-01-01 01:03:45,bin3825,75, +CTSPillarNetworkA,3826,3826,3826,1980-06-23,382.30000000001843,382.31412,2015-01-01 01:03:46,bin3826,35, +CTSPillarNetworkA,3827,3827,3827,1980-06-24,382.40000000001845,382.41412,2015-01-01 01:03:47,bin3827,75, +CTSPillarNetworkA,3828,3828,3828,1980-06-25,382.5000000000185,382.51413,2015-01-01 01:03:48,bin3828,35, +CTSPillarNetworkA,3829,3829,3829,1980-06-26,382.6000000000185,382.61414,2015-01-01 01:03:49,bin3829,75, +CTSPillarNetworkA,3830,3830,3830,1980-06-27,382.7000000000185,382.71414,2015-01-01 01:03:50,bin3830,35, +CTSPillarNetworkA,3831,3831,3831,1980-06-28,382.80000000001854,382.81415,2015-01-01 01:03:51,bin3831,75, +CTSPillarNetworkA,3832,3832,3832,1980-06-29,382.90000000001857,382.91415,2015-01-01 01:03:52,bin3832,35, +CTSPillarNetworkA,3833,3833,3833,1980-06-30,383.0000000000186,383.01416,2015-01-01 01:03:53,bin3833,75, +CTSPillarNetworkA,3834,3834,3834,1980-07-01,383.1000000000186,383.11417,2015-01-01 01:03:54,bin3834,35, +CTSPillarNetworkA,3835,3835,3835,1980-07-02,383.20000000001863,383.21417,2015-01-01 01:03:55,bin3835,75, +CTSPillarNetworkA,3836,3836,3836,1980-07-03,383.30000000001866,383.31418,2015-01-01 01:03:56,bin3836,35, +CTSPillarNetworkA,3837,3837,3837,1980-07-04,383.4000000000187,383.41418,2015-01-01 01:03:57,bin3837,75, +CTSPillarNetworkA,3838,3838,3838,1980-07-05,383.5000000000187,383.5142,2015-01-01 01:03:58,bin3838,35, +CTSPillarNetworkA,3839,3839,3839,1980-07-06,383.6000000000187,383.6142,2015-01-01 01:03:59,bin3839,75, +CTSPillarNetworkA,3840,3840,3840,1980-07-07,383.70000000001875,383.7142,2015-01-01 01:04:00,bin3840,35, +CTSPillarNetworkA,3841,3841,3841,1980-07-08,383.80000000001877,383.8142,2015-01-01 01:04:01,bin3841,75, +CTSPillarNetworkA,3842,3842,3842,1980-07-09,383.9000000000188,383.9142,2015-01-01 01:04:02,bin3842,35, +CTSPillarNetworkA,3843,3843,3843,1980-07-10,384.0000000000188,384.01422,2015-01-01 01:04:03,bin3843,75, +CTSPillarNetworkA,3844,3844,3844,1980-07-11,384.10000000001884,384.11423,2015-01-01 01:04:04,bin3844,35, +CTSPillarNetworkA,3845,3845,3845,1980-07-12,384.20000000001886,384.21423,2015-01-01 01:04:05,bin3845,75, +CTSPillarNetworkA,3846,3846,3846,1980-07-13,384.3000000000189,384.31424,2015-01-01 01:04:06,bin3846,35, +CTSPillarNetworkA,3847,3847,3847,1980-07-14,384.4000000000189,384.41425,2015-01-01 01:04:07,bin3847,75, +CTSPillarNetworkA,3848,3848,3848,1980-07-15,384.50000000001893,384.51425,2015-01-01 01:04:08,bin3848,35, +CTSPillarNetworkA,3849,3849,3849,1980-07-16,384.60000000001895,384.61426,2015-01-01 01:04:09,bin3849,75, +CTSPillarNetworkA,3850,3850,3850,1980-07-17,384.700000000019,384.71426,2015-01-01 01:04:10,bin3850,35, +CTSPillarNetworkA,3851,3851,3851,1980-07-18,384.800000000019,384.81427,2015-01-01 01:04:11,bin3851,75, +CTSPillarNetworkA,3852,3852,3852,1980-07-19,384.900000000019,384.91428,2015-01-01 01:04:12,bin3852,35, +CTSPillarNetworkA,3853,3853,3853,1980-07-20,385.00000000001904,385.01428,2015-01-01 01:04:13,bin3853,75, +CTSPillarNetworkA,3854,3854,3854,1980-07-21,385.10000000001907,385.1143,2015-01-01 01:04:14,bin3854,35, +CTSPillarNetworkA,3855,3855,3855,1980-07-22,385.2000000000191,385.2143,2015-01-01 01:04:15,bin3855,75, +CTSPillarNetworkA,3856,3856,3856,1980-07-23,385.3000000000191,385.3143,2015-01-01 01:04:16,bin3856,35, +CTSPillarNetworkA,3857,3857,3857,1980-07-24,385.40000000001913,385.4143,2015-01-01 01:04:17,bin3857,75, +CTSPillarNetworkA,3858,3858,3858,1980-07-25,385.50000000001916,385.5143,2015-01-01 01:04:18,bin3858,35, +CTSPillarNetworkA,3859,3859,3859,1980-07-26,385.6000000000192,385.61432,2015-01-01 01:04:19,bin3859,75, +CTSPillarNetworkA,3860,3860,3860,1980-07-27,385.7000000000192,385.71432,2015-01-01 01:04:20,bin3860,35, +CTSPillarNetworkA,3861,3861,3861,1980-07-28,385.8000000000192,385.81433,2015-01-01 01:04:21,bin3861,75, +CTSPillarNetworkA,3862,3862,3862,1980-07-29,385.90000000001925,385.91434,2015-01-01 01:04:22,bin3862,35, +CTSPillarNetworkA,3863,3863,3863,1980-07-30,386.00000000001927,386.01434,2015-01-01 01:04:23,bin3863,75, +CTSPillarNetworkA,3864,3864,3864,1980-07-31,386.1000000000193,386.11435,2015-01-01 01:04:24,bin3864,35, +CTSPillarNetworkA,3865,3865,3865,1980-08-01,386.2000000000193,386.21436,2015-01-01 01:04:25,bin3865,75, +CTSPillarNetworkA,3866,3866,3866,1980-08-02,386.30000000001934,386.31436,2015-01-01 01:04:26,bin3866,35, +CTSPillarNetworkA,3867,3867,3867,1980-08-03,386.40000000001936,386.41437,2015-01-01 01:04:27,bin3867,75, +CTSPillarNetworkA,3868,3868,3868,1980-08-04,386.5000000000194,386.51437,2015-01-01 01:04:28,bin3868,35, +CTSPillarNetworkA,3869,3869,3869,1980-08-05,386.6000000000194,386.61438,2015-01-01 01:04:29,bin3869,75, +CTSPillarNetworkA,3870,3870,3870,1980-08-06,386.70000000001943,386.7144,2015-01-01 01:04:30,bin3870,35, +CTSPillarNetworkA,3871,3871,3871,1980-08-07,386.80000000001945,386.8144,2015-01-01 01:04:31,bin3871,75, +CTSPillarNetworkA,3872,3872,3872,1980-08-08,386.9000000000195,386.9144,2015-01-01 01:04:32,bin3872,35, +CTSPillarNetworkA,3873,3873,3873,1980-08-09,387.0000000000195,387.0144,2015-01-01 01:04:33,bin3873,75, +CTSPillarNetworkA,3874,3874,3874,1980-08-10,387.1000000000195,387.1144,2015-01-01 01:04:34,bin3874,35, +CTSPillarNetworkA,3875,3875,3875,1980-08-11,387.20000000001954,387.21442,2015-01-01 01:04:35,bin3875,75, +CTSPillarNetworkA,3876,3876,3876,1980-08-12,387.30000000001957,387.31442,2015-01-01 01:04:36,bin3876,35, +CTSPillarNetworkA,3877,3877,3877,1980-08-13,387.4000000000196,387.41443,2015-01-01 01:04:37,bin3877,75, +CTSPillarNetworkA,3878,3878,3878,1980-08-14,387.5000000000196,387.51443,2015-01-01 01:04:38,bin3878,35, +CTSPillarNetworkA,3879,3879,3879,1980-08-15,387.60000000001963,387.61444,2015-01-01 01:04:39,bin3879,75, +CTSPillarNetworkA,3880,3880,3880,1980-08-16,387.70000000001966,387.71445,2015-01-01 01:04:40,bin3880,35, +CTSPillarNetworkA,3881,3881,3881,1980-08-17,387.8000000000197,387.81445,2015-01-01 01:04:41,bin3881,75, +CTSPillarNetworkA,3882,3882,3882,1980-08-18,387.9000000000197,387.91446,2015-01-01 01:04:42,bin3882,35, +CTSPillarNetworkA,3883,3883,3883,1980-08-19,388.0000000000197,388.01447,2015-01-01 01:04:43,bin3883,75, +CTSPillarNetworkA,3884,3884,3884,1980-08-20,388.10000000001975,388.11447,2015-01-01 01:04:44,bin3884,35, +CTSPillarNetworkA,3885,3885,3885,1980-08-21,388.20000000001977,388.21448,2015-01-01 01:04:45,bin3885,75, +CTSPillarNetworkA,3886,3886,3886,1980-08-22,388.3000000000198,388.31448,2015-01-01 01:04:46,bin3886,35, +CTSPillarNetworkA,3887,3887,3887,1980-08-23,388.4000000000198,388.4145,2015-01-01 01:04:47,bin3887,75, +CTSPillarNetworkA,3888,3888,3888,1980-08-24,388.50000000001984,388.5145,2015-01-01 01:04:48,bin3888,35, +CTSPillarNetworkA,3889,3889,3889,1980-08-25,388.60000000001986,388.6145,2015-01-01 01:04:49,bin3889,75, +CTSPillarNetworkA,3890,3890,3890,1980-08-26,388.7000000000199,388.7145,2015-01-01 01:04:50,bin3890,35, +CTSPillarNetworkA,3891,3891,3891,1980-08-27,388.8000000000199,388.8145,2015-01-01 01:04:51,bin3891,75, +CTSPillarNetworkA,3892,3892,3892,1980-08-28,388.90000000001993,388.91452,2015-01-01 01:04:52,bin3892,35, +CTSPillarNetworkA,3893,3893,3893,1980-08-29,389.00000000001995,389.01453,2015-01-01 01:04:53,bin3893,75, +CTSPillarNetworkA,3894,3894,3894,1980-08-30,389.10000000002,389.11453,2015-01-01 01:04:54,bin3894,35, +CTSPillarNetworkA,3895,3895,3895,1980-08-31,389.20000000002,389.21454,2015-01-01 01:04:55,bin3895,75, +CTSPillarNetworkA,3896,3896,3896,1980-09-01,389.30000000002,389.31454,2015-01-01 01:04:56,bin3896,35, +CTSPillarNetworkA,3897,3897,3897,1980-09-02,389.40000000002004,389.41455,2015-01-01 01:04:57,bin3897,75, +CTSPillarNetworkA,3898,3898,3898,1980-09-03,389.50000000002007,389.51456,2015-01-01 01:04:58,bin3898,35, +CTSPillarNetworkA,3899,3899,3899,1980-09-04,389.6000000000201,389.61456,2015-01-01 01:04:59,bin3899,75, +CTSPillarNetworkA,3900,3900,3900,1980-09-05,389.7000000000201,389.71457,2015-01-01 01:05:00,bin3900,35, +CTSPillarNetworkA,3901,3901,3901,1980-09-06,389.80000000002013,389.81458,2015-01-01 01:05:01,bin3901,75, +CTSPillarNetworkA,3902,3902,3902,1980-09-07,389.90000000002016,389.91458,2015-01-01 01:05:02,bin3902,35, +CTSPillarNetworkA,3903,3903,3903,1980-09-08,390.0000000000202,390.0146,2015-01-01 01:05:03,bin3903,75, +CTSPillarNetworkA,3904,3904,3904,1980-09-09,390.1000000000202,390.1146,2015-01-01 01:05:04,bin3904,35, +CTSPillarNetworkA,3905,3905,3905,1980-09-10,390.2000000000202,390.2146,2015-01-01 01:05:05,bin3905,75, +CTSPillarNetworkA,3906,3906,3906,1980-09-11,390.30000000002025,390.3146,2015-01-01 01:05:06,bin3906,35, +CTSPillarNetworkA,3907,3907,3907,1980-09-12,390.40000000002027,390.4146,2015-01-01 01:05:07,bin3907,75, +CTSPillarNetworkA,3908,3908,3908,1980-09-13,390.5000000000203,390.51462,2015-01-01 01:05:08,bin3908,35, +CTSPillarNetworkA,3909,3909,3909,1980-09-14,390.6000000000203,390.61462,2015-01-01 01:05:09,bin3909,75, +CTSPillarNetworkA,3910,3910,3910,1980-09-15,390.70000000002034,390.71463,2015-01-01 01:05:10,bin3910,35, +CTSPillarNetworkA,3911,3911,3911,1980-09-16,390.80000000002036,390.81464,2015-01-01 01:05:11,bin3911,75, +CTSPillarNetworkA,3912,3912,3912,1980-09-17,390.9000000000204,390.91464,2015-01-01 01:05:12,bin3912,35, +CTSPillarNetworkA,3913,3913,3913,1980-09-18,391.0000000000204,391.01465,2015-01-01 01:05:13,bin3913,75, +CTSPillarNetworkA,3914,3914,3914,1980-09-19,391.10000000002043,391.11465,2015-01-01 01:05:14,bin3914,35, +CTSPillarNetworkA,3915,3915,3915,1980-09-20,391.20000000002045,391.21466,2015-01-01 01:05:15,bin3915,75, +CTSPillarNetworkA,3916,3916,3916,1980-09-21,391.3000000000205,391.31467,2015-01-01 01:05:16,bin3916,35, +CTSPillarNetworkA,3917,3917,3917,1980-09-22,391.4000000000205,391.41467,2015-01-01 01:05:17,bin3917,75, +CTSPillarNetworkA,3918,3918,3918,1980-09-23,391.5000000000205,391.51468,2015-01-01 01:05:18,bin3918,35, +CTSPillarNetworkA,3919,3919,3919,1980-09-24,391.60000000002054,391.6147,2015-01-01 01:05:19,bin3919,75, +CTSPillarNetworkA,3920,3920,3920,1980-09-25,391.70000000002057,391.7147,2015-01-01 01:05:20,bin3920,35, +CTSPillarNetworkA,3921,3921,3921,1980-09-26,391.8000000000206,391.8147,2015-01-01 01:05:21,bin3921,75, +CTSPillarNetworkA,3922,3922,3922,1980-09-27,391.9000000000206,391.9147,2015-01-01 01:05:22,bin3922,35, +CTSPillarNetworkA,3923,3923,3923,1980-09-28,392.00000000002063,392.0147,2015-01-01 01:05:23,bin3923,75, +CTSPillarNetworkA,3924,3924,3924,1980-09-29,392.10000000002066,392.11472,2015-01-01 01:05:24,bin3924,35, +CTSPillarNetworkA,3925,3925,3925,1980-09-30,392.2000000000207,392.21472,2015-01-01 01:05:25,bin3925,75, +CTSPillarNetworkA,3926,3926,3926,1980-10-01,392.3000000000207,392.31473,2015-01-01 01:05:26,bin3926,35, +CTSPillarNetworkA,3927,3927,3927,1980-10-02,392.4000000000207,392.41473,2015-01-01 01:05:27,bin3927,75, +CTSPillarNetworkA,3928,3928,3928,1980-10-03,392.50000000002075,392.51474,2015-01-01 01:05:28,bin3928,35, +CTSPillarNetworkA,3929,3929,3929,1980-10-04,392.60000000002077,392.61475,2015-01-01 01:05:29,bin3929,75, +CTSPillarNetworkA,3930,3930,3930,1980-10-05,392.7000000000208,392.71475,2015-01-01 01:05:30,bin3930,35, +CTSPillarNetworkA,3931,3931,3931,1980-10-06,392.8000000000208,392.81476,2015-01-01 01:05:31,bin3931,75, +CTSPillarNetworkA,3932,3932,3932,1980-10-07,392.90000000002084,392.91476,2015-01-01 01:05:32,bin3932,35, +CTSPillarNetworkA,3933,3933,3933,1980-10-08,393.00000000002086,393.01477,2015-01-01 01:05:33,bin3933,75, +CTSPillarNetworkA,3934,3934,3934,1980-10-09,393.1000000000209,393.11478,2015-01-01 01:05:34,bin3934,35, +CTSPillarNetworkA,3935,3935,3935,1980-10-10,393.2000000000209,393.21478,2015-01-01 01:05:35,bin3935,75, +CTSPillarNetworkA,3936,3936,3936,1980-10-11,393.30000000002093,393.3148,2015-01-01 01:05:36,bin3936,35, +CTSPillarNetworkA,3937,3937,3937,1980-10-12,393.40000000002095,393.4148,2015-01-01 01:05:37,bin3937,75, +CTSPillarNetworkA,3938,3938,3938,1980-10-13,393.500000000021,393.5148,2015-01-01 01:05:38,bin3938,35, +CTSPillarNetworkA,3939,3939,3939,1980-10-14,393.600000000021,393.6148,2015-01-01 01:05:39,bin3939,75, +CTSPillarNetworkA,3940,3940,3940,1980-10-15,393.700000000021,393.7148,2015-01-01 01:05:40,bin3940,35, +CTSPillarNetworkA,3941,3941,3941,1980-10-16,393.80000000002104,393.81482,2015-01-01 01:05:41,bin3941,75, +CTSPillarNetworkA,3942,3942,3942,1980-10-17,393.90000000002107,393.91483,2015-01-01 01:05:42,bin3942,35, +CTSPillarNetworkA,3943,3943,3943,1980-10-18,394.0000000000211,394.01483,2015-01-01 01:05:43,bin3943,75, +CTSPillarNetworkA,3944,3944,3944,1980-10-19,394.1000000000211,394.11484,2015-01-01 01:05:44,bin3944,35, +CTSPillarNetworkA,3945,3945,3945,1980-10-20,394.20000000002113,394.21484,2015-01-01 01:05:45,bin3945,75, +CTSPillarNetworkA,3946,3946,3946,1980-10-21,394.30000000002116,394.31485,2015-01-01 01:05:46,bin3946,35, +CTSPillarNetworkA,3947,3947,3947,1980-10-22,394.4000000000212,394.41486,2015-01-01 01:05:47,bin3947,75, +CTSPillarNetworkA,3948,3948,3948,1980-10-23,394.5000000000212,394.51486,2015-01-01 01:05:48,bin3948,35, +CTSPillarNetworkA,3949,3949,3949,1980-10-24,394.6000000000212,394.61487,2015-01-01 01:05:49,bin3949,75, +CTSPillarNetworkA,3950,3950,3950,1980-10-25,394.70000000002125,394.71487,2015-01-01 01:05:50,bin3950,35, +CTSPillarNetworkA,3951,3951,3951,1980-10-26,394.80000000002127,394.81488,2015-01-01 01:05:51,bin3951,75, +CTSPillarNetworkA,3952,3952,3952,1980-10-27,394.9000000000213,394.9149,2015-01-01 01:05:52,bin3952,35, +CTSPillarNetworkA,3953,3953,3953,1980-10-28,395.0000000000213,395.0149,2015-01-01 01:05:53,bin3953,75, +CTSPillarNetworkA,3954,3954,3954,1980-10-29,395.10000000002134,395.1149,2015-01-01 01:05:54,bin3954,35, +CTSPillarNetworkA,3955,3955,3955,1980-10-30,395.20000000002136,395.2149,2015-01-01 01:05:55,bin3955,75, +CTSPillarNetworkA,3956,3956,3956,1980-10-31,395.3000000000214,395.3149,2015-01-01 01:05:56,bin3956,35, +CTSPillarNetworkA,3957,3957,3957,1980-11-01,395.4000000000214,395.41492,2015-01-01 01:05:57,bin3957,75, +CTSPillarNetworkA,3958,3958,3958,1980-11-02,395.50000000002143,395.51492,2015-01-01 01:05:58,bin3958,35, +CTSPillarNetworkA,3959,3959,3959,1980-11-03,395.60000000002145,395.61493,2015-01-01 01:05:59,bin3959,75, +CTSPillarNetworkA,3960,3960,3960,1980-11-04,395.7000000000215,395.71494,2015-01-01 01:06:00,bin3960,35, +CTSPillarNetworkA,3961,3961,3961,1980-11-05,395.8000000000215,395.81494,2015-01-01 01:06:01,bin3961,75, +CTSPillarNetworkA,3962,3962,3962,1980-11-06,395.9000000000215,395.91495,2015-01-01 01:06:02,bin3962,35, +CTSPillarNetworkA,3963,3963,3963,1980-11-07,396.00000000002154,396.01495,2015-01-01 01:06:03,bin3963,75, +CTSPillarNetworkA,3964,3964,3964,1980-11-08,396.10000000002157,396.11496,2015-01-01 01:06:04,bin3964,35, +CTSPillarNetworkA,3965,3965,3965,1980-11-09,396.2000000000216,396.21497,2015-01-01 01:06:05,bin3965,75, +CTSPillarNetworkA,3966,3966,3966,1980-11-10,396.3000000000216,396.31497,2015-01-01 01:06:06,bin3966,35, +CTSPillarNetworkA,3967,3967,3967,1980-11-11,396.40000000002163,396.41498,2015-01-01 01:06:07,bin3967,75, +CTSPillarNetworkA,3968,3968,3968,1980-11-12,396.50000000002166,396.51498,2015-01-01 01:06:08,bin3968,35, +CTSPillarNetworkA,3969,3969,3969,1980-11-13,396.6000000000217,396.615,2015-01-01 01:06:09,bin3969,75, +CTSPillarNetworkA,3970,3970,3970,1980-11-14,396.7000000000217,396.715,2015-01-01 01:06:10,bin3970,35, +CTSPillarNetworkA,3971,3971,3971,1980-11-15,396.8000000000217,396.815,2015-01-01 01:06:11,bin3971,75, +CTSPillarNetworkA,3972,3972,3972,1980-11-16,396.90000000002175,396.915,2015-01-01 01:06:12,bin3972,35, +CTSPillarNetworkA,3973,3973,3973,1980-11-17,397.00000000002177,397.015,2015-01-01 01:06:13,bin3973,75, +CTSPillarNetworkA,3974,3974,3974,1980-11-18,397.1000000000218,397.11502,2015-01-01 01:06:14,bin3974,35, +CTSPillarNetworkA,3975,3975,3975,1980-11-19,397.2000000000218,397.21503,2015-01-01 01:06:15,bin3975,75, +CTSPillarNetworkA,3976,3976,3976,1980-11-20,397.30000000002184,397.31503,2015-01-01 01:06:16,bin3976,35, +CTSPillarNetworkA,3977,3977,3977,1980-11-21,397.40000000002186,397.41504,2015-01-01 01:06:17,bin3977,75, +CTSPillarNetworkA,3978,3978,3978,1980-11-22,397.5000000000219,397.51505,2015-01-01 01:06:18,bin3978,35, +CTSPillarNetworkA,3979,3979,3979,1980-11-23,397.6000000000219,397.61505,2015-01-01 01:06:19,bin3979,75, +CTSPillarNetworkA,3980,3980,3980,1980-11-24,397.70000000002193,397.71506,2015-01-01 01:06:20,bin3980,35, +CTSPillarNetworkA,3981,3981,3981,1980-11-25,397.80000000002195,397.81506,2015-01-01 01:06:21,bin3981,75, +CTSPillarNetworkA,3982,3982,3982,1980-11-26,397.900000000022,397.91507,2015-01-01 01:06:22,bin3982,35, +CTSPillarNetworkA,3983,3983,3983,1980-11-27,398.000000000022,398.01508,2015-01-01 01:06:23,bin3983,75, +CTSPillarNetworkA,3984,3984,3984,1980-11-28,398.100000000022,398.11508,2015-01-01 01:06:24,bin3984,35, +CTSPillarNetworkA,3985,3985,3985,1980-11-29,398.20000000002204,398.2151,2015-01-01 01:06:25,bin3985,75, +CTSPillarNetworkA,3986,3986,3986,1980-11-30,398.30000000002207,398.3151,2015-01-01 01:06:26,bin3986,35, +CTSPillarNetworkA,3987,3987,3987,1980-12-01,398.4000000000221,398.4151,2015-01-01 01:06:27,bin3987,75, +CTSPillarNetworkA,3988,3988,3988,1980-12-02,398.5000000000221,398.5151,2015-01-01 01:06:28,bin3988,35, +CTSPillarNetworkA,3989,3989,3989,1980-12-03,398.60000000002213,398.6151,2015-01-01 01:06:29,bin3989,75, +CTSPillarNetworkA,3990,3990,3990,1980-12-04,398.70000000002216,398.71512,2015-01-01 01:06:30,bin3990,35, +CTSPillarNetworkA,3991,3991,3991,1980-12-05,398.8000000000222,398.81512,2015-01-01 01:06:31,bin3991,75, +CTSPillarNetworkA,3992,3992,3992,1980-12-06,398.9000000000222,398.91513,2015-01-01 01:06:32,bin3992,35, +CTSPillarNetworkA,3993,3993,3993,1980-12-07,399.0000000000222,399.01514,2015-01-01 01:06:33,bin3993,75, +CTSPillarNetworkA,3994,3994,3994,1980-12-08,399.10000000002225,399.11514,2015-01-01 01:06:34,bin3994,35, +CTSPillarNetworkA,3995,3995,3995,1980-12-09,399.20000000002227,399.21515,2015-01-01 01:06:35,bin3995,75, +CTSPillarNetworkA,3996,3996,3996,1980-12-10,399.3000000000223,399.31516,2015-01-01 01:06:36,bin3996,35, +CTSPillarNetworkA,3997,3997,3997,1980-12-11,399.4000000000223,399.41516,2015-01-01 01:06:37,bin3997,75, +CTSPillarNetworkA,3998,3998,3998,1980-12-12,399.50000000002234,399.51517,2015-01-01 01:06:38,bin3998,35, +CTSPillarNetworkA,3999,3999,3999,1980-12-13,399.60000000002236,399.61517,2015-01-01 01:06:39,bin3999,75, +CTSPillarNetworkA,4000,4000,4000,1980-12-14,399.7000000000224,399.71518,2015-01-01 01:06:40,bin4000,35, +CTSPillarNetworkA,4001,4001,4001,1980-12-15,399.8000000000224,399.8152,2015-01-01 01:06:41,bin4001,75, +CTSPillarNetworkA,4002,4002,4002,1980-12-16,399.90000000002243,399.9152,2015-01-01 01:06:42,bin4002,35, +CTSPillarNetworkA,4003,4003,4003,1980-12-17,400.00000000002245,400.0152,2015-01-01 01:06:43,bin4003,75, +CTSPillarNetworkA,4004,4004,4004,1980-12-18,400.1000000000225,400.1152,2015-01-01 01:06:44,bin4004,35, +CTSPillarNetworkA,4005,4005,4005,1980-12-19,400.2000000000225,400.2152,2015-01-01 01:06:45,bin4005,75, +CTSPillarNetworkA,4006,4006,4006,1980-12-20,400.3000000000225,400.31522,2015-01-01 01:06:46,bin4006,35, +CTSPillarNetworkA,4007,4007,4007,1980-12-21,400.40000000002254,400.41522,2015-01-01 01:06:47,bin4007,75, +CTSPillarNetworkA,4008,4008,4008,1980-12-22,400.50000000002257,400.51523,2015-01-01 01:06:48,bin4008,35, +CTSPillarNetworkA,4009,4009,4009,1980-12-23,400.6000000000226,400.61523,2015-01-01 01:06:49,bin4009,75, +CTSPillarNetworkA,4010,4010,4010,1980-12-24,400.7000000000226,400.71524,2015-01-01 01:06:50,bin4010,35, +CTSPillarNetworkA,4011,4011,4011,1980-12-25,400.80000000002264,400.81525,2015-01-01 01:06:51,bin4011,75, +CTSPillarNetworkA,4012,4012,4012,1980-12-26,400.90000000002266,400.91525,2015-01-01 01:06:52,bin4012,35, +CTSPillarNetworkA,4013,4013,4013,1980-12-27,401.0000000000227,401.01526,2015-01-01 01:06:53,bin4013,75, +CTSPillarNetworkA,4014,4014,4014,1980-12-28,401.1000000000227,401.11526,2015-01-01 01:06:54,bin4014,35, +CTSPillarNetworkA,4015,4015,4015,1980-12-29,401.2000000000227,401.21527,2015-01-01 01:06:55,bin4015,75, +CTSPillarNetworkA,4016,4016,4016,1980-12-30,401.30000000002275,401.31528,2015-01-01 01:06:56,bin4016,35, +CTSPillarNetworkA,4017,4017,4017,1980-12-31,401.40000000002277,401.41528,2015-01-01 01:06:57,bin4017,75, +CTSPillarNetworkA,4018,4018,4018,1981-01-01,401.5000000000228,401.5153,2015-01-01 01:06:58,bin4018,35, +CTSPillarNetworkA,4019,4019,4019,1981-01-02,401.6000000000228,401.6153,2015-01-01 01:06:59,bin4019,75, +CTSPillarNetworkA,4020,4020,4020,1981-01-03,401.70000000002284,401.7153,2015-01-01 01:07:00,bin4020,35, +CTSPillarNetworkA,4021,4021,4021,1981-01-04,401.80000000002286,401.8153,2015-01-01 01:07:01,bin4021,75, +CTSPillarNetworkA,4022,4022,4022,1981-01-05,401.9000000000229,401.9153,2015-01-01 01:07:02,bin4022,35, +CTSPillarNetworkA,4023,4023,4023,1981-01-06,402.0000000000229,402.01532,2015-01-01 01:07:03,bin4023,75, +CTSPillarNetworkA,4024,4024,4024,1981-01-07,402.10000000002293,402.11533,2015-01-01 01:07:04,bin4024,35, +CTSPillarNetworkA,4025,4025,4025,1981-01-08,402.20000000002295,402.21533,2015-01-01 01:07:05,bin4025,75, +CTSPillarNetworkA,4026,4026,4026,1981-01-09,402.300000000023,402.31534,2015-01-01 01:07:06,bin4026,35, +CTSPillarNetworkA,4027,4027,4027,1981-01-10,402.400000000023,402.41534,2015-01-01 01:07:07,bin4027,75, +CTSPillarNetworkA,4028,4028,4028,1981-01-11,402.500000000023,402.51535,2015-01-01 01:07:08,bin4028,35, +CTSPillarNetworkA,4029,4029,4029,1981-01-12,402.60000000002304,402.61536,2015-01-01 01:07:09,bin4029,75, +CTSPillarNetworkA,4030,4030,4030,1981-01-13,402.70000000002307,402.71536,2015-01-01 01:07:10,bin4030,35, +CTSPillarNetworkA,4031,4031,4031,1981-01-14,402.8000000000231,402.81537,2015-01-01 01:07:11,bin4031,75, +CTSPillarNetworkA,4032,4032,4032,1981-01-15,402.9000000000231,402.91537,2015-01-01 01:07:12,bin4032,35, +CTSPillarNetworkA,4033,4033,4033,1981-01-16,403.00000000002314,403.01538,2015-01-01 01:07:13,bin4033,75, +CTSPillarNetworkA,4034,4034,4034,1981-01-17,403.10000000002316,403.1154,2015-01-01 01:07:14,bin4034,35, +CTSPillarNetworkA,4035,4035,4035,1981-01-18,403.2000000000232,403.2154,2015-01-01 01:07:15,bin4035,75, +CTSPillarNetworkA,4036,4036,4036,1981-01-19,403.3000000000232,403.3154,2015-01-01 01:07:16,bin4036,35, +CTSPillarNetworkA,4037,4037,4037,1981-01-20,403.4000000000232,403.4154,2015-01-01 01:07:17,bin4037,75, +CTSPillarNetworkA,4038,4038,4038,1981-01-21,403.50000000002325,403.5154,2015-01-01 01:07:18,bin4038,35, +CTSPillarNetworkA,4039,4039,4039,1981-01-22,403.6000000000233,403.61542,2015-01-01 01:07:19,bin4039,75, +CTSPillarNetworkA,4040,4040,4040,1981-01-23,403.7000000000233,403.71542,2015-01-01 01:07:20,bin4040,35, +CTSPillarNetworkA,4041,4041,4041,1981-01-24,403.8000000000233,403.81543,2015-01-01 01:07:21,bin4041,75, +CTSPillarNetworkA,4042,4042,4042,1981-01-25,403.90000000002334,403.91544,2015-01-01 01:07:22,bin4042,35, +CTSPillarNetworkA,4043,4043,4043,1981-01-26,404.00000000002336,404.01544,2015-01-01 01:07:23,bin4043,75, +CTSPillarNetworkA,4044,4044,4044,1981-01-27,404.1000000000234,404.11545,2015-01-01 01:07:24,bin4044,35, +CTSPillarNetworkA,4045,4045,4045,1981-01-28,404.2000000000234,404.21545,2015-01-01 01:07:25,bin4045,75, +CTSPillarNetworkA,4046,4046,4046,1981-01-29,404.30000000002343,404.31546,2015-01-01 01:07:26,bin4046,35, +CTSPillarNetworkA,4047,4047,4047,1981-01-30,404.40000000002345,404.41547,2015-01-01 01:07:27,bin4047,75, +CTSPillarNetworkA,4048,4048,4048,1981-01-31,404.5000000000235,404.51547,2015-01-01 01:07:28,bin4048,35, +CTSPillarNetworkA,4049,4049,4049,1981-02-01,404.6000000000235,404.61548,2015-01-01 01:07:29,bin4049,75, +CTSPillarNetworkA,4050,4050,4050,1981-02-02,404.7000000000235,404.71548,2015-01-01 01:07:30,bin4050,35, +CTSPillarNetworkA,4051,4051,4051,1981-02-03,404.80000000002354,404.8155,2015-01-01 01:07:31,bin4051,75, +CTSPillarNetworkA,4052,4052,4052,1981-02-04,404.90000000002357,404.9155,2015-01-01 01:07:32,bin4052,35, +CTSPillarNetworkA,4053,4053,4053,1981-02-05,405.0000000000236,405.0155,2015-01-01 01:07:33,bin4053,75, +CTSPillarNetworkA,4054,4054,4054,1981-02-06,405.1000000000236,405.1155,2015-01-01 01:07:34,bin4054,35, +CTSPillarNetworkA,4055,4055,4055,1981-02-07,405.20000000002364,405.2155,2015-01-01 01:07:35,bin4055,75, +CTSPillarNetworkA,4056,4056,4056,1981-02-08,405.30000000002366,405.31552,2015-01-01 01:07:36,bin4056,35, +CTSPillarNetworkA,4057,4057,4057,1981-02-09,405.4000000000237,405.41553,2015-01-01 01:07:37,bin4057,75, +CTSPillarNetworkA,4058,4058,4058,1981-02-10,405.5000000000237,405.51553,2015-01-01 01:07:38,bin4058,35, +CTSPillarNetworkA,4059,4059,4059,1981-02-11,405.6000000000237,405.61554,2015-01-01 01:07:39,bin4059,75, +CTSPillarNetworkA,4060,4060,4060,1981-02-12,405.70000000002375,405.71555,2015-01-01 01:07:40,bin4060,35, +CTSPillarNetworkA,4061,4061,4061,1981-02-13,405.8000000000238,405.81555,2015-01-01 01:07:41,bin4061,75, +CTSPillarNetworkA,4062,4062,4062,1981-02-14,405.9000000000238,405.91556,2015-01-01 01:07:42,bin4062,35, +CTSPillarNetworkA,4063,4063,4063,1981-02-15,406.0000000000238,406.01556,2015-01-01 01:07:43,bin4063,75, +CTSPillarNetworkA,4064,4064,4064,1981-02-16,406.10000000002384,406.11557,2015-01-01 01:07:44,bin4064,35, +CTSPillarNetworkA,4065,4065,4065,1981-02-17,406.20000000002386,406.21558,2015-01-01 01:07:45,bin4065,75, +CTSPillarNetworkA,4066,4066,4066,1981-02-18,406.3000000000239,406.31558,2015-01-01 01:07:46,bin4066,35, +CTSPillarNetworkA,4067,4067,4067,1981-02-19,406.4000000000239,406.4156,2015-01-01 01:07:47,bin4067,75, +CTSPillarNetworkA,4068,4068,4068,1981-02-20,406.50000000002393,406.5156,2015-01-01 01:07:48,bin4068,35, +CTSPillarNetworkA,4069,4069,4069,1981-02-21,406.60000000002395,406.6156,2015-01-01 01:07:49,bin4069,75, +CTSPillarNetworkA,4070,4070,4070,1981-02-22,406.700000000024,406.7156,2015-01-01 01:07:50,bin4070,35, +CTSPillarNetworkA,4071,4071,4071,1981-02-23,406.800000000024,406.8156,2015-01-01 01:07:51,bin4071,75, +CTSPillarNetworkA,4072,4072,4072,1981-02-24,406.900000000024,406.91562,2015-01-01 01:07:52,bin4072,35, +CTSPillarNetworkA,4073,4073,4073,1981-02-25,407.00000000002404,407.01562,2015-01-01 01:07:53,bin4073,75, +CTSPillarNetworkA,4074,4074,4074,1981-02-26,407.10000000002407,407.11563,2015-01-01 01:07:54,bin4074,35, +CTSPillarNetworkA,4075,4075,4075,1981-02-27,407.2000000000241,407.21564,2015-01-01 01:07:55,bin4075,75, +CTSPillarNetworkA,4076,4076,4076,1981-02-28,407.3000000000241,407.31564,2015-01-01 01:07:56,bin4076,35, +CTSPillarNetworkA,4077,4077,4077,1981-03-01,407.40000000002414,407.41565,2015-01-01 01:07:57,bin4077,75, +CTSPillarNetworkA,4078,4078,4078,1981-03-02,407.50000000002416,407.51566,2015-01-01 01:07:58,bin4078,35, +CTSPillarNetworkA,4079,4079,4079,1981-03-03,407.6000000000242,407.61566,2015-01-01 01:07:59,bin4079,75, +CTSPillarNetworkA,4080,4080,4080,1981-03-04,407.7000000000242,407.71567,2015-01-01 01:08:00,bin4080,35, +CTSPillarNetworkA,4081,4081,4081,1981-03-05,407.8000000000242,407.81567,2015-01-01 01:08:01,bin4081,75, +CTSPillarNetworkA,4082,4082,4082,1981-03-06,407.90000000002425,407.91568,2015-01-01 01:08:02,bin4082,35, +CTSPillarNetworkA,4083,4083,4083,1981-03-07,408.0000000000243,408.0157,2015-01-01 01:08:03,bin4083,75, +CTSPillarNetworkA,4084,4084,4084,1981-03-08,408.1000000000243,408.1157,2015-01-01 01:08:04,bin4084,35, +CTSPillarNetworkA,4085,4085,4085,1981-03-09,408.2000000000243,408.2157,2015-01-01 01:08:05,bin4085,75, +CTSPillarNetworkA,4086,4086,4086,1981-03-10,408.30000000002434,408.3157,2015-01-01 01:08:06,bin4086,35, +CTSPillarNetworkA,4087,4087,4087,1981-03-11,408.40000000002436,408.4157,2015-01-01 01:08:07,bin4087,75, +CTSPillarNetworkA,4088,4088,4088,1981-03-12,408.5000000000244,408.51572,2015-01-01 01:08:08,bin4088,35, +CTSPillarNetworkA,4089,4089,4089,1981-03-13,408.6000000000244,408.61572,2015-01-01 01:08:09,bin4089,75, +CTSPillarNetworkA,4090,4090,4090,1981-03-14,408.70000000002443,408.71573,2015-01-01 01:08:10,bin4090,35, +CTSPillarNetworkA,4091,4091,4091,1981-03-15,408.80000000002445,408.81573,2015-01-01 01:08:11,bin4091,75, +CTSPillarNetworkA,4092,4092,4092,1981-03-16,408.9000000000245,408.91574,2015-01-01 01:08:12,bin4092,35, +CTSPillarNetworkA,4093,4093,4093,1981-03-17,409.0000000000245,409.01575,2015-01-01 01:08:13,bin4093,75, +CTSPillarNetworkA,4094,4094,4094,1981-03-18,409.1000000000245,409.11575,2015-01-01 01:08:14,bin4094,35, +CTSPillarNetworkA,4095,4095,4095,1981-03-19,409.20000000002454,409.21576,2015-01-01 01:08:15,bin4095,75, +CTSPillarNetworkA,4096,4096,4096,1981-03-20,409.30000000002457,409.31577,2015-01-01 01:08:16,bin4096,35, +CTSPillarNetworkA,4097,4097,4097,1981-03-21,409.4000000000246,409.41577,2015-01-01 01:08:17,bin4097,75, +CTSPillarNetworkA,4098,4098,4098,1981-03-22,409.5000000000246,409.51578,2015-01-01 01:08:18,bin4098,35, +CTSPillarNetworkA,4099,4099,4099,1981-03-23,409.60000000002464,409.61578,2015-01-01 01:08:19,bin4099,75, +CTSPillarNetworkA,4100,4100,4100,1981-03-24,409.70000000002466,409.7158,2015-01-01 01:08:20,bin4100,35, +CTSPillarNetworkA,4101,4101,4101,1981-03-25,409.8000000000247,409.8158,2015-01-01 01:08:21,bin4101,75, +CTSPillarNetworkA,4102,4102,4102,1981-03-26,409.9000000000247,409.9158,2015-01-01 01:08:22,bin4102,35, +CTSPillarNetworkA,4103,4103,4103,1981-03-27,410.0000000000247,410.0158,2015-01-01 01:08:23,bin4103,75, +CTSPillarNetworkA,4104,4104,4104,1981-03-28,410.10000000002475,410.1158,2015-01-01 01:08:24,bin4104,35, +CTSPillarNetworkA,4105,4105,4105,1981-03-29,410.2000000000248,410.21582,2015-01-01 01:08:25,bin4105,75, +CTSPillarNetworkA,4106,4106,4106,1981-03-30,410.3000000000248,410.31583,2015-01-01 01:08:26,bin4106,35, +CTSPillarNetworkA,4107,4107,4107,1981-03-31,410.4000000000248,410.41583,2015-01-01 01:08:27,bin4107,75, +CTSPillarNetworkA,4108,4108,4108,1981-04-01,410.50000000002484,410.51584,2015-01-01 01:08:28,bin4108,35, +CTSPillarNetworkA,4109,4109,4109,1981-04-02,410.60000000002486,410.61584,2015-01-01 01:08:29,bin4109,75, +CTSPillarNetworkA,4110,4110,4110,1981-04-03,410.7000000000249,410.71585,2015-01-01 01:08:30,bin4110,35, +CTSPillarNetworkA,4111,4111,4111,1981-04-04,410.8000000000249,410.81586,2015-01-01 01:08:31,bin4111,75, +CTSPillarNetworkA,4112,4112,4112,1981-04-05,410.90000000002493,410.91586,2015-01-01 01:08:32,bin4112,35, +CTSPillarNetworkA,4113,4113,4113,1981-04-06,411.00000000002495,411.01587,2015-01-01 01:08:33,bin4113,75, +CTSPillarNetworkA,4114,4114,4114,1981-04-07,411.100000000025,411.11588,2015-01-01 01:08:34,bin4114,35, +CTSPillarNetworkA,4115,4115,4115,1981-04-08,411.200000000025,411.21588,2015-01-01 01:08:35,bin4115,75, +CTSPillarNetworkA,4116,4116,4116,1981-04-09,411.300000000025,411.3159,2015-01-01 01:08:36,bin4116,35, +CTSPillarNetworkA,4117,4117,4117,1981-04-10,411.40000000002505,411.4159,2015-01-01 01:08:37,bin4117,75, +CTSPillarNetworkA,4118,4118,4118,1981-04-11,411.50000000002507,411.5159,2015-01-01 01:08:38,bin4118,35, +CTSPillarNetworkA,4119,4119,4119,1981-04-12,411.6000000000251,411.6159,2015-01-01 01:08:39,bin4119,75, +CTSPillarNetworkA,4120,4120,4120,1981-04-13,411.7000000000251,411.7159,2015-01-01 01:08:40,bin4120,35, +CTSPillarNetworkA,4121,4121,4121,1981-04-14,411.80000000002514,411.81592,2015-01-01 01:08:41,bin4121,75, +CTSPillarNetworkA,4122,4122,4122,1981-04-15,411.90000000002516,411.91592,2015-01-01 01:08:42,bin4122,35, +CTSPillarNetworkA,4123,4123,4123,1981-04-16,412.0000000000252,412.01593,2015-01-01 01:08:43,bin4123,75, +CTSPillarNetworkA,4124,4124,4124,1981-04-17,412.1000000000252,412.11594,2015-01-01 01:08:44,bin4124,35, +CTSPillarNetworkA,4125,4125,4125,1981-04-18,412.2000000000252,412.21594,2015-01-01 01:08:45,bin4125,75, +CTSPillarNetworkA,4126,4126,4126,1981-04-19,412.30000000002525,412.31595,2015-01-01 01:08:46,bin4126,35, +CTSPillarNetworkA,4127,4127,4127,1981-04-20,412.4000000000253,412.41595,2015-01-01 01:08:47,bin4127,75, +CTSPillarNetworkA,4128,4128,4128,1981-04-21,412.5000000000253,412.51596,2015-01-01 01:08:48,bin4128,35, +CTSPillarNetworkA,4129,4129,4129,1981-04-22,412.6000000000253,412.61597,2015-01-01 01:08:49,bin4129,75, +CTSPillarNetworkA,4130,4130,4130,1981-04-23,412.70000000002534,412.71597,2015-01-01 01:08:50,bin4130,35, +CTSPillarNetworkA,4131,4131,4131,1981-04-24,412.80000000002536,412.81598,2015-01-01 01:08:51,bin4131,75, +CTSPillarNetworkA,4132,4132,4132,1981-04-25,412.9000000000254,412.916,2015-01-01 01:08:52,bin4132,35, +CTSPillarNetworkA,4133,4133,4133,1981-04-26,413.0000000000254,413.016,2015-01-01 01:08:53,bin4133,75, +CTSPillarNetworkA,4134,4134,4134,1981-04-27,413.10000000002543,413.116,2015-01-01 01:08:54,bin4134,35, +CTSPillarNetworkA,4135,4135,4135,1981-04-28,413.20000000002545,413.216,2015-01-01 01:08:55,bin4135,75, +CTSPillarNetworkA,4136,4136,4136,1981-04-29,413.3000000000255,413.316,2015-01-01 01:08:56,bin4136,35, +CTSPillarNetworkA,4137,4137,4137,1981-04-30,413.4000000000255,413.41602,2015-01-01 01:08:57,bin4137,75, +CTSPillarNetworkA,4138,4138,4138,1981-05-01,413.5000000000255,413.51602,2015-01-01 01:08:58,bin4138,35, +CTSPillarNetworkA,4139,4139,4139,1981-05-02,413.60000000002555,413.61603,2015-01-01 01:08:59,bin4139,75, +CTSPillarNetworkA,4140,4140,4140,1981-05-03,413.70000000002557,413.71603,2015-01-01 01:09:00,bin4140,35, +CTSPillarNetworkA,4141,4141,4141,1981-05-04,413.8000000000256,413.81604,2015-01-01 01:09:01,bin4141,75, +CTSPillarNetworkA,4142,4142,4142,1981-05-05,413.9000000000256,413.91605,2015-01-01 01:09:02,bin4142,35, +CTSPillarNetworkA,4143,4143,4143,1981-05-06,414.00000000002564,414.01605,2015-01-01 01:09:03,bin4143,75, +CTSPillarNetworkA,4144,4144,4144,1981-05-07,414.10000000002566,414.11606,2015-01-01 01:09:04,bin4144,35, +CTSPillarNetworkA,4145,4145,4145,1981-05-08,414.2000000000257,414.21606,2015-01-01 01:09:05,bin4145,75, +CTSPillarNetworkA,4146,4146,4146,1981-05-09,414.3000000000257,414.31607,2015-01-01 01:09:06,bin4146,35, +CTSPillarNetworkA,4147,4147,4147,1981-05-10,414.4000000000257,414.41608,2015-01-01 01:09:07,bin4147,75, +CTSPillarNetworkA,4148,4148,4148,1981-05-11,414.50000000002575,414.51608,2015-01-01 01:09:08,bin4148,35, +CTSPillarNetworkA,4149,4149,4149,1981-05-12,414.6000000000258,414.6161,2015-01-01 01:09:09,bin4149,75, +CTSPillarNetworkA,4150,4150,4150,1981-05-13,414.7000000000258,414.7161,2015-01-01 01:09:10,bin4150,35, +CTSPillarNetworkA,4151,4151,4151,1981-05-14,414.8000000000258,414.8161,2015-01-01 01:09:11,bin4151,75, +CTSPillarNetworkA,4152,4152,4152,1981-05-15,414.90000000002584,414.9161,2015-01-01 01:09:12,bin4152,35, +CTSPillarNetworkA,4153,4153,4153,1981-05-16,415.00000000002586,415.0161,2015-01-01 01:09:13,bin4153,75, +CTSPillarNetworkA,4154,4154,4154,1981-05-17,415.1000000000259,415.11612,2015-01-01 01:09:14,bin4154,35, +CTSPillarNetworkA,4155,4155,4155,1981-05-18,415.2000000000259,415.21613,2015-01-01 01:09:15,bin4155,75, +CTSPillarNetworkA,4156,4156,4156,1981-05-19,415.30000000002593,415.31613,2015-01-01 01:09:16,bin4156,35, +CTSPillarNetworkA,4157,4157,4157,1981-05-20,415.40000000002595,415.41614,2015-01-01 01:09:17,bin4157,75, +CTSPillarNetworkA,4158,4158,4158,1981-05-21,415.500000000026,415.51614,2015-01-01 01:09:18,bin4158,35, +CTSPillarNetworkA,4159,4159,4159,1981-05-22,415.600000000026,415.61615,2015-01-01 01:09:19,bin4159,75, +CTSPillarNetworkA,4160,4160,4160,1981-05-23,415.700000000026,415.71616,2015-01-01 01:09:20,bin4160,35, +CTSPillarNetworkA,4161,4161,4161,1981-05-24,415.80000000002605,415.81616,2015-01-01 01:09:21,bin4161,75, +CTSPillarNetworkA,4162,4162,4162,1981-05-25,415.90000000002607,415.91617,2015-01-01 01:09:22,bin4162,35, +CTSPillarNetworkA,4163,4163,4163,1981-05-26,416.0000000000261,416.01617,2015-01-01 01:09:23,bin4163,75, +CTSPillarNetworkA,4164,4164,4164,1981-05-27,416.1000000000261,416.11618,2015-01-01 01:09:24,bin4164,35, +CTSPillarNetworkA,4165,4165,4165,1981-05-28,416.20000000002614,416.2162,2015-01-01 01:09:25,bin4165,75, +CTSPillarNetworkA,4166,4166,4166,1981-05-29,416.30000000002616,416.3162,2015-01-01 01:09:26,bin4166,35, +CTSPillarNetworkA,4167,4167,4167,1981-05-30,416.4000000000262,416.4162,2015-01-01 01:09:27,bin4167,75, +CTSPillarNetworkA,4168,4168,4168,1981-05-31,416.5000000000262,416.5162,2015-01-01 01:09:28,bin4168,35, +CTSPillarNetworkA,4169,4169,4169,1981-06-01,416.6000000000262,416.6162,2015-01-01 01:09:29,bin4169,75, +CTSPillarNetworkA,4170,4170,4170,1981-06-02,416.70000000002625,416.71622,2015-01-01 01:09:30,bin4170,35, +CTSPillarNetworkA,4171,4171,4171,1981-06-03,416.8000000000263,416.81622,2015-01-01 01:09:31,bin4171,75, +CTSPillarNetworkA,4172,4172,4172,1981-06-04,416.9000000000263,416.91623,2015-01-01 01:09:32,bin4172,35, +CTSPillarNetworkA,4173,4173,4173,1981-06-05,417.0000000000263,417.01624,2015-01-01 01:09:33,bin4173,75, +CTSPillarNetworkA,4174,4174,4174,1981-06-06,417.10000000002634,417.11624,2015-01-01 01:09:34,bin4174,35, +CTSPillarNetworkA,4175,4175,4175,1981-06-07,417.20000000002636,417.21625,2015-01-01 01:09:35,bin4175,75, +CTSPillarNetworkA,4176,4176,4176,1981-06-08,417.3000000000264,417.31625,2015-01-01 01:09:36,bin4176,35, +CTSPillarNetworkA,4177,4177,4177,1981-06-09,417.4000000000264,417.41626,2015-01-01 01:09:37,bin4177,75, +CTSPillarNetworkA,4178,4178,4178,1981-06-10,417.50000000002643,417.51627,2015-01-01 01:09:38,bin4178,35, +CTSPillarNetworkA,4179,4179,4179,1981-06-11,417.60000000002645,417.61627,2015-01-01 01:09:39,bin4179,75, +CTSPillarNetworkA,4180,4180,4180,1981-06-12,417.7000000000265,417.71628,2015-01-01 01:09:40,bin4180,35, +CTSPillarNetworkA,4181,4181,4181,1981-06-13,417.8000000000265,417.81628,2015-01-01 01:09:41,bin4181,75, +CTSPillarNetworkA,4182,4182,4182,1981-06-14,417.9000000000265,417.9163,2015-01-01 01:09:42,bin4182,35, +CTSPillarNetworkA,4183,4183,4183,1981-06-15,418.00000000002655,418.0163,2015-01-01 01:09:43,bin4183,75, +CTSPillarNetworkA,4184,4184,4184,1981-06-16,418.10000000002657,418.1163,2015-01-01 01:09:44,bin4184,35, +CTSPillarNetworkA,4185,4185,4185,1981-06-17,418.2000000000266,418.2163,2015-01-01 01:09:45,bin4185,75, +CTSPillarNetworkA,4186,4186,4186,1981-06-18,418.3000000000266,418.3163,2015-01-01 01:09:46,bin4186,35, +CTSPillarNetworkA,4187,4187,4187,1981-06-19,418.40000000002664,418.41632,2015-01-01 01:09:47,bin4187,75, +CTSPillarNetworkA,4188,4188,4188,1981-06-20,418.50000000002666,418.51633,2015-01-01 01:09:48,bin4188,35, +CTSPillarNetworkA,4189,4189,4189,1981-06-21,418.6000000000267,418.61633,2015-01-01 01:09:49,bin4189,75, +CTSPillarNetworkA,4190,4190,4190,1981-06-22,418.7000000000267,418.71634,2015-01-01 01:09:50,bin4190,35, +CTSPillarNetworkA,4191,4191,4191,1981-06-23,418.8000000000267,418.81635,2015-01-01 01:09:51,bin4191,75, +CTSPillarNetworkA,4192,4192,4192,1981-06-24,418.90000000002675,418.91635,2015-01-01 01:09:52,bin4192,35, +CTSPillarNetworkA,4193,4193,4193,1981-06-25,419.0000000000268,419.01636,2015-01-01 01:09:53,bin4193,75, +CTSPillarNetworkA,4194,4194,4194,1981-06-26,419.1000000000268,419.11636,2015-01-01 01:09:54,bin4194,35, +CTSPillarNetworkA,4195,4195,4195,1981-06-27,419.2000000000268,419.21637,2015-01-01 01:09:55,bin4195,75, +CTSPillarNetworkA,4196,4196,4196,1981-06-28,419.30000000002684,419.31638,2015-01-01 01:09:56,bin4196,35, +CTSPillarNetworkA,4197,4197,4197,1981-06-29,419.40000000002686,419.41638,2015-01-01 01:09:57,bin4197,75, +CTSPillarNetworkA,4198,4198,4198,1981-06-30,419.5000000000269,419.5164,2015-01-01 01:09:58,bin4198,35, +CTSPillarNetworkA,4199,4199,4199,1981-07-01,419.6000000000269,419.6164,2015-01-01 01:09:59,bin4199,75, +CTSPillarNetworkA,4200,4200,4200,1981-07-02,419.70000000002693,419.7164,2015-01-01 01:10:00,bin4200,35, +CTSPillarNetworkA,4201,4201,4201,1981-07-03,419.80000000002696,419.8164,2015-01-01 01:10:01,bin4201,75, +CTSPillarNetworkA,4202,4202,4202,1981-07-04,419.900000000027,419.9164,2015-01-01 01:10:02,bin4202,35, +CTSPillarNetworkA,4203,4203,4203,1981-07-05,420.000000000027,420.01642,2015-01-01 01:10:03,bin4203,75, +CTSPillarNetworkA,4204,4204,4204,1981-07-06,420.100000000027,420.11642,2015-01-01 01:10:04,bin4204,35, +CTSPillarNetworkA,4205,4205,4205,1981-07-07,420.20000000002705,420.21643,2015-01-01 01:10:05,bin4205,75, +CTSPillarNetworkA,4206,4206,4206,1981-07-08,420.30000000002707,420.31644,2015-01-01 01:10:06,bin4206,35, +CTSPillarNetworkA,4207,4207,4207,1981-07-09,420.4000000000271,420.41644,2015-01-01 01:10:07,bin4207,75, +CTSPillarNetworkA,4208,4208,4208,1981-07-10,420.5000000000271,420.51645,2015-01-01 01:10:08,bin4208,35, +CTSPillarNetworkA,4209,4209,4209,1981-07-11,420.60000000002714,420.61646,2015-01-01 01:10:09,bin4209,75, +CTSPillarNetworkA,4210,4210,4210,1981-07-12,420.70000000002716,420.71646,2015-01-01 01:10:10,bin4210,35, +CTSPillarNetworkA,4211,4211,4211,1981-07-13,420.8000000000272,420.81647,2015-01-01 01:10:11,bin4211,75, +CTSPillarNetworkA,4212,4212,4212,1981-07-14,420.9000000000272,420.91647,2015-01-01 01:10:12,bin4212,35, +CTSPillarNetworkA,4213,4213,4213,1981-07-15,421.0000000000272,421.01648,2015-01-01 01:10:13,bin4213,75, +CTSPillarNetworkA,4214,4214,4214,1981-07-16,421.10000000002725,421.1165,2015-01-01 01:10:14,bin4214,35, +CTSPillarNetworkA,4215,4215,4215,1981-07-17,421.2000000000273,421.2165,2015-01-01 01:10:15,bin4215,75, +CTSPillarNetworkA,4216,4216,4216,1981-07-18,421.3000000000273,421.3165,2015-01-01 01:10:16,bin4216,35, +CTSPillarNetworkA,4217,4217,4217,1981-07-19,421.4000000000273,421.4165,2015-01-01 01:10:17,bin4217,75, +CTSPillarNetworkA,4218,4218,4218,1981-07-20,421.50000000002734,421.5165,2015-01-01 01:10:18,bin4218,35, +CTSPillarNetworkA,4219,4219,4219,1981-07-21,421.60000000002736,421.61652,2015-01-01 01:10:19,bin4219,75, +CTSPillarNetworkA,4220,4220,4220,1981-07-22,421.7000000000274,421.71652,2015-01-01 01:10:20,bin4220,35, +CTSPillarNetworkA,4221,4221,4221,1981-07-23,421.8000000000274,421.81653,2015-01-01 01:10:21,bin4221,75, +CTSPillarNetworkA,4222,4222,4222,1981-07-24,421.90000000002743,421.91653,2015-01-01 01:10:22,bin4222,35, +CTSPillarNetworkA,4223,4223,4223,1981-07-25,422.00000000002746,422.01654,2015-01-01 01:10:23,bin4223,75, +CTSPillarNetworkA,4224,4224,4224,1981-07-26,422.1000000000275,422.11655,2015-01-01 01:10:24,bin4224,35, +CTSPillarNetworkA,4225,4225,4225,1981-07-27,422.2000000000275,422.21655,2015-01-01 01:10:25,bin4225,75, +CTSPillarNetworkA,4226,4226,4226,1981-07-28,422.3000000000275,422.31656,2015-01-01 01:10:26,bin4226,35, +CTSPillarNetworkA,4227,4227,4227,1981-07-29,422.40000000002755,422.41656,2015-01-01 01:10:27,bin4227,75, +CTSPillarNetworkA,4228,4228,4228,1981-07-30,422.50000000002757,422.51657,2015-01-01 01:10:28,bin4228,35, +CTSPillarNetworkA,4229,4229,4229,1981-07-31,422.6000000000276,422.61658,2015-01-01 01:10:29,bin4229,75, +CTSPillarNetworkA,4230,4230,4230,1981-08-01,422.7000000000276,422.71658,2015-01-01 01:10:30,bin4230,35, +CTSPillarNetworkA,4231,4231,4231,1981-08-02,422.80000000002764,422.8166,2015-01-01 01:10:31,bin4231,75, +CTSPillarNetworkA,4232,4232,4232,1981-08-03,422.90000000002766,422.9166,2015-01-01 01:10:32,bin4232,35, +CTSPillarNetworkA,4233,4233,4233,1981-08-04,423.0000000000277,423.0166,2015-01-01 01:10:33,bin4233,75, +CTSPillarNetworkA,4234,4234,4234,1981-08-05,423.1000000000277,423.1166,2015-01-01 01:10:34,bin4234,35, +CTSPillarNetworkA,4235,4235,4235,1981-08-06,423.2000000000277,423.2166,2015-01-01 01:10:35,bin4235,75, +CTSPillarNetworkA,4236,4236,4236,1981-08-07,423.30000000002775,423.31662,2015-01-01 01:10:36,bin4236,35, +CTSPillarNetworkA,4237,4237,4237,1981-08-08,423.4000000000278,423.41663,2015-01-01 01:10:37,bin4237,75, +CTSPillarNetworkA,4238,4238,4238,1981-08-09,423.5000000000278,423.51663,2015-01-01 01:10:38,bin4238,35, +CTSPillarNetworkA,4239,4239,4239,1981-08-10,423.6000000000278,423.61664,2015-01-01 01:10:39,bin4239,75, +CTSPillarNetworkA,4240,4240,4240,1981-08-11,423.70000000002784,423.71664,2015-01-01 01:10:40,bin4240,35, +CTSPillarNetworkA,4241,4241,4241,1981-08-12,423.80000000002786,423.81665,2015-01-01 01:10:41,bin4241,75, +CTSPillarNetworkA,4242,4242,4242,1981-08-13,423.9000000000279,423.91666,2015-01-01 01:10:42,bin4242,35, +CTSPillarNetworkA,4243,4243,4243,1981-08-14,424.0000000000279,424.01666,2015-01-01 01:10:43,bin4243,75, +CTSPillarNetworkA,4244,4244,4244,1981-08-15,424.10000000002793,424.11667,2015-01-01 01:10:44,bin4244,35, +CTSPillarNetworkA,4245,4245,4245,1981-08-16,424.20000000002796,424.21667,2015-01-01 01:10:45,bin4245,75, +CTSPillarNetworkA,4246,4246,4246,1981-08-17,424.300000000028,424.31668,2015-01-01 01:10:46,bin4246,35, +CTSPillarNetworkA,4247,4247,4247,1981-08-18,424.400000000028,424.4167,2015-01-01 01:10:47,bin4247,75, +CTSPillarNetworkA,4248,4248,4248,1981-08-19,424.500000000028,424.5167,2015-01-01 01:10:48,bin4248,35, +CTSPillarNetworkA,4249,4249,4249,1981-08-20,424.60000000002805,424.6167,2015-01-01 01:10:49,bin4249,75, +CTSPillarNetworkA,4250,4250,4250,1981-08-21,424.70000000002807,424.7167,2015-01-01 01:10:50,bin4250,35, +CTSPillarNetworkA,4251,4251,4251,1981-08-22,424.8000000000281,424.8167,2015-01-01 01:10:51,bin4251,75, +CTSPillarNetworkA,4252,4252,4252,1981-08-23,424.9000000000281,424.91672,2015-01-01 01:10:52,bin4252,35, +CTSPillarNetworkA,4253,4253,4253,1981-08-24,425.00000000002814,425.01672,2015-01-01 01:10:53,bin4253,75, +CTSPillarNetworkA,4254,4254,4254,1981-08-25,425.10000000002816,425.11673,2015-01-01 01:10:54,bin4254,35, +CTSPillarNetworkA,4255,4255,4255,1981-08-26,425.2000000000282,425.21674,2015-01-01 01:10:55,bin4255,75, +CTSPillarNetworkA,4256,4256,4256,1981-08-27,425.3000000000282,425.31674,2015-01-01 01:10:56,bin4256,35, +CTSPillarNetworkA,4257,4257,4257,1981-08-28,425.40000000002823,425.41675,2015-01-01 01:10:57,bin4257,75, +CTSPillarNetworkA,4258,4258,4258,1981-08-29,425.50000000002825,425.51675,2015-01-01 01:10:58,bin4258,35, +CTSPillarNetworkA,4259,4259,4259,1981-08-30,425.6000000000283,425.61676,2015-01-01 01:10:59,bin4259,75, +CTSPillarNetworkA,4260,4260,4260,1981-08-31,425.7000000000283,425.71677,2015-01-01 01:11:00,bin4260,35, +CTSPillarNetworkA,4261,4261,4261,1981-09-01,425.8000000000283,425.81677,2015-01-01 01:11:01,bin4261,75, +CTSPillarNetworkA,4262,4262,4262,1981-09-02,425.90000000002834,425.91678,2015-01-01 01:11:02,bin4262,35, +CTSPillarNetworkA,4263,4263,4263,1981-09-03,426.00000000002836,426.01678,2015-01-01 01:11:03,bin4263,75, +CTSPillarNetworkA,4264,4264,4264,1981-09-04,426.1000000000284,426.1168,2015-01-01 01:11:04,bin4264,35, +CTSPillarNetworkA,4265,4265,4265,1981-09-05,426.2000000000284,426.2168,2015-01-01 01:11:05,bin4265,75, +CTSPillarNetworkA,4266,4266,4266,1981-09-06,426.30000000002843,426.3168,2015-01-01 01:11:06,bin4266,35, +CTSPillarNetworkA,4267,4267,4267,1981-09-07,426.40000000002846,426.4168,2015-01-01 01:11:07,bin4267,75, +CTSPillarNetworkA,4268,4268,4268,1981-09-08,426.5000000000285,426.5168,2015-01-01 01:11:08,bin4268,35, +CTSPillarNetworkA,4269,4269,4269,1981-09-09,426.6000000000285,426.61682,2015-01-01 01:11:09,bin4269,75, +CTSPillarNetworkA,4270,4270,4270,1981-09-10,426.7000000000285,426.71683,2015-01-01 01:11:10,bin4270,35, +CTSPillarNetworkA,4271,4271,4271,1981-09-11,426.80000000002855,426.81683,2015-01-01 01:11:11,bin4271,75, +CTSPillarNetworkA,4272,4272,4272,1981-09-12,426.90000000002857,426.91684,2015-01-01 01:11:12,bin4272,35, +CTSPillarNetworkA,4273,4273,4273,1981-09-13,427.0000000000286,427.01685,2015-01-01 01:11:13,bin4273,75, +CTSPillarNetworkA,4274,4274,4274,1981-09-14,427.1000000000286,427.11685,2015-01-01 01:11:14,bin4274,35, +CTSPillarNetworkA,4275,4275,4275,1981-09-15,427.20000000002864,427.21686,2015-01-01 01:11:15,bin4275,75, +CTSPillarNetworkA,4276,4276,4276,1981-09-16,427.30000000002866,427.31686,2015-01-01 01:11:16,bin4276,35, +CTSPillarNetworkA,4277,4277,4277,1981-09-17,427.4000000000287,427.41687,2015-01-01 01:11:17,bin4277,75, +CTSPillarNetworkA,4278,4278,4278,1981-09-18,427.5000000000287,427.51688,2015-01-01 01:11:18,bin4278,35, +CTSPillarNetworkA,4279,4279,4279,1981-09-19,427.60000000002873,427.61688,2015-01-01 01:11:19,bin4279,75, +CTSPillarNetworkA,4280,4280,4280,1981-09-20,427.70000000002875,427.7169,2015-01-01 01:11:20,bin4280,35, +CTSPillarNetworkA,4281,4281,4281,1981-09-21,427.8000000000288,427.8169,2015-01-01 01:11:21,bin4281,75, +CTSPillarNetworkA,4282,4282,4282,1981-09-22,427.9000000000288,427.9169,2015-01-01 01:11:22,bin4282,35, +CTSPillarNetworkA,4283,4283,4283,1981-09-23,428.0000000000288,428.0169,2015-01-01 01:11:23,bin4283,75, +CTSPillarNetworkA,4284,4284,4284,1981-09-24,428.10000000002884,428.1169,2015-01-01 01:11:24,bin4284,35, +CTSPillarNetworkA,4285,4285,4285,1981-09-25,428.20000000002887,428.21692,2015-01-01 01:11:25,bin4285,75, +CTSPillarNetworkA,4286,4286,4286,1981-09-26,428.3000000000289,428.31693,2015-01-01 01:11:26,bin4286,35, +CTSPillarNetworkA,4287,4287,4287,1981-09-27,428.4000000000289,428.41693,2015-01-01 01:11:27,bin4287,75, +CTSPillarNetworkA,4288,4288,4288,1981-09-28,428.50000000002893,428.51694,2015-01-01 01:11:28,bin4288,35, +CTSPillarNetworkA,4289,4289,4289,1981-09-29,428.60000000002896,428.61694,2015-01-01 01:11:29,bin4289,75, +CTSPillarNetworkA,4290,4290,4290,1981-09-30,428.700000000029,428.71695,2015-01-01 01:11:30,bin4290,35, +CTSPillarNetworkA,4291,4291,4291,1981-10-01,428.800000000029,428.81696,2015-01-01 01:11:31,bin4291,75, +CTSPillarNetworkA,4292,4292,4292,1981-10-02,428.900000000029,428.91696,2015-01-01 01:11:32,bin4292,35, +CTSPillarNetworkA,4293,4293,4293,1981-10-03,429.00000000002905,429.01697,2015-01-01 01:11:33,bin4293,75, +CTSPillarNetworkA,4294,4294,4294,1981-10-04,429.10000000002907,429.11697,2015-01-01 01:11:34,bin4294,35, +CTSPillarNetworkA,4295,4295,4295,1981-10-05,429.2000000000291,429.21698,2015-01-01 01:11:35,bin4295,75, +CTSPillarNetworkA,4296,4296,4296,1981-10-06,429.3000000000291,429.317,2015-01-01 01:11:36,bin4296,35, +CTSPillarNetworkA,4297,4297,4297,1981-10-07,429.40000000002914,429.417,2015-01-01 01:11:37,bin4297,75, +CTSPillarNetworkA,4298,4298,4298,1981-10-08,429.50000000002916,429.517,2015-01-01 01:11:38,bin4298,35, +CTSPillarNetworkA,4299,4299,4299,1981-10-09,429.6000000000292,429.617,2015-01-01 01:11:39,bin4299,75, +CTSPillarNetworkA,4300,4300,4300,1981-10-10,429.7000000000292,429.717,2015-01-01 01:11:40,bin4300,35, +CTSPillarNetworkA,4301,4301,4301,1981-10-11,429.80000000002923,429.81702,2015-01-01 01:11:41,bin4301,75, +CTSPillarNetworkA,4302,4302,4302,1981-10-12,429.90000000002925,429.91702,2015-01-01 01:11:42,bin4302,35, +CTSPillarNetworkA,4303,4303,4303,1981-10-13,430.0000000000293,430.01703,2015-01-01 01:11:43,bin4303,75, +CTSPillarNetworkA,4304,4304,4304,1981-10-14,430.1000000000293,430.11703,2015-01-01 01:11:44,bin4304,35, +CTSPillarNetworkA,4305,4305,4305,1981-10-15,430.2000000000293,430.21704,2015-01-01 01:11:45,bin4305,75, +CTSPillarNetworkA,4306,4306,4306,1981-10-16,430.30000000002934,430.31705,2015-01-01 01:11:46,bin4306,35, +CTSPillarNetworkA,4307,4307,4307,1981-10-17,430.40000000002937,430.41705,2015-01-01 01:11:47,bin4307,75, +CTSPillarNetworkA,4308,4308,4308,1981-10-18,430.5000000000294,430.51706,2015-01-01 01:11:48,bin4308,35, +CTSPillarNetworkA,4309,4309,4309,1981-10-19,430.6000000000294,430.61707,2015-01-01 01:11:49,bin4309,75, +CTSPillarNetworkA,4310,4310,4310,1981-10-20,430.70000000002943,430.71707,2015-01-01 01:11:50,bin4310,35, +CTSPillarNetworkA,4311,4311,4311,1981-10-21,430.80000000002946,430.81708,2015-01-01 01:11:51,bin4311,75, +CTSPillarNetworkA,4312,4312,4312,1981-10-22,430.9000000000295,430.91708,2015-01-01 01:11:52,bin4312,35, +CTSPillarNetworkA,4313,4313,4313,1981-10-23,431.0000000000295,431.0171,2015-01-01 01:11:53,bin4313,75, +CTSPillarNetworkA,4314,4314,4314,1981-10-24,431.1000000000295,431.1171,2015-01-01 01:11:54,bin4314,35, +CTSPillarNetworkA,4315,4315,4315,1981-10-25,431.20000000002955,431.2171,2015-01-01 01:11:55,bin4315,75, +CTSPillarNetworkA,4316,4316,4316,1981-10-26,431.30000000002957,431.3171,2015-01-01 01:11:56,bin4316,35, +CTSPillarNetworkA,4317,4317,4317,1981-10-27,431.4000000000296,431.4171,2015-01-01 01:11:57,bin4317,75, +CTSPillarNetworkA,4318,4318,4318,1981-10-28,431.5000000000296,431.51712,2015-01-01 01:11:58,bin4318,35, +CTSPillarNetworkA,4319,4319,4319,1981-10-29,431.60000000002964,431.61713,2015-01-01 01:11:59,bin4319,75, +CTSPillarNetworkA,4320,4320,4320,1981-10-30,431.70000000002966,431.71713,2015-01-01 01:12:00,bin4320,35, +CTSPillarNetworkA,4321,4321,4321,1981-10-31,431.8000000000297,431.81714,2015-01-01 01:12:01,bin4321,75, +CTSPillarNetworkA,4322,4322,4322,1981-11-01,431.9000000000297,431.91714,2015-01-01 01:12:02,bin4322,35, +CTSPillarNetworkA,4323,4323,4323,1981-11-02,432.00000000002973,432.01715,2015-01-01 01:12:03,bin4323,75, +CTSPillarNetworkA,4324,4324,4324,1981-11-03,432.10000000002975,432.11716,2015-01-01 01:12:04,bin4324,35, +CTSPillarNetworkA,4325,4325,4325,1981-11-04,432.2000000000298,432.21716,2015-01-01 01:12:05,bin4325,75, +CTSPillarNetworkA,4326,4326,4326,1981-11-05,432.3000000000298,432.31717,2015-01-01 01:12:06,bin4326,35, +CTSPillarNetworkA,4327,4327,4327,1981-11-06,432.4000000000298,432.41718,2015-01-01 01:12:07,bin4327,75, +CTSPillarNetworkA,4328,4328,4328,1981-11-07,432.50000000002984,432.51718,2015-01-01 01:12:08,bin4328,35, +CTSPillarNetworkA,4329,4329,4329,1981-11-08,432.60000000002987,432.6172,2015-01-01 01:12:09,bin4329,75, +CTSPillarNetworkA,4330,4330,4330,1981-11-09,432.7000000000299,432.7172,2015-01-01 01:12:10,bin4330,35, +CTSPillarNetworkA,4331,4331,4331,1981-11-10,432.8000000000299,432.8172,2015-01-01 01:12:11,bin4331,75, +CTSPillarNetworkA,4332,4332,4332,1981-11-11,432.90000000002993,432.9172,2015-01-01 01:12:12,bin4332,35, +CTSPillarNetworkA,4333,4333,4333,1981-11-12,433.00000000002996,433.0172,2015-01-01 01:12:13,bin4333,75, +CTSPillarNetworkA,4334,4334,4334,1981-11-13,433.10000000003,433.11722,2015-01-01 01:12:14,bin4334,35, +CTSPillarNetworkA,4335,4335,4335,1981-11-14,433.20000000003,433.21722,2015-01-01 01:12:15,bin4335,75, +CTSPillarNetworkA,4336,4336,4336,1981-11-15,433.30000000003,433.31723,2015-01-01 01:12:16,bin4336,35, +CTSPillarNetworkA,4337,4337,4337,1981-11-16,433.40000000003005,433.41724,2015-01-01 01:12:17,bin4337,75, +CTSPillarNetworkA,4338,4338,4338,1981-11-17,433.50000000003007,433.51724,2015-01-01 01:12:18,bin4338,35, +CTSPillarNetworkA,4339,4339,4339,1981-11-18,433.6000000000301,433.61725,2015-01-01 01:12:19,bin4339,75, +CTSPillarNetworkA,4340,4340,4340,1981-11-19,433.7000000000301,433.71725,2015-01-01 01:12:20,bin4340,35, +CTSPillarNetworkA,4341,4341,4341,1981-11-20,433.80000000003014,433.81726,2015-01-01 01:12:21,bin4341,75, +CTSPillarNetworkA,4342,4342,4342,1981-11-21,433.90000000003016,433.91727,2015-01-01 01:12:22,bin4342,35, +CTSPillarNetworkA,4343,4343,4343,1981-11-22,434.0000000000302,434.01727,2015-01-01 01:12:23,bin4343,75, +CTSPillarNetworkA,4344,4344,4344,1981-11-23,434.1000000000302,434.11728,2015-01-01 01:12:24,bin4344,35, +CTSPillarNetworkA,4345,4345,4345,1981-11-24,434.20000000003023,434.2173,2015-01-01 01:12:25,bin4345,75, +CTSPillarNetworkA,4346,4346,4346,1981-11-25,434.30000000003025,434.3173,2015-01-01 01:12:26,bin4346,35, +CTSPillarNetworkA,4347,4347,4347,1981-11-26,434.4000000000303,434.4173,2015-01-01 01:12:27,bin4347,75, +CTSPillarNetworkA,4348,4348,4348,1981-11-27,434.5000000000303,434.5173,2015-01-01 01:12:28,bin4348,35, +CTSPillarNetworkA,4349,4349,4349,1981-11-28,434.6000000000303,434.6173,2015-01-01 01:12:29,bin4349,75, +CTSPillarNetworkA,4350,4350,4350,1981-11-29,434.70000000003034,434.71732,2015-01-01 01:12:30,bin4350,35, +CTSPillarNetworkA,4351,4351,4351,1981-11-30,434.80000000003037,434.81732,2015-01-01 01:12:31,bin4351,75, +CTSPillarNetworkA,4352,4352,4352,1981-12-01,434.9000000000304,434.91733,2015-01-01 01:12:32,bin4352,35, +CTSPillarNetworkA,4353,4353,4353,1981-12-02,435.0000000000304,435.01733,2015-01-01 01:12:33,bin4353,75, +CTSPillarNetworkA,4354,4354,4354,1981-12-03,435.10000000003043,435.11734,2015-01-01 01:12:34,bin4354,35, +CTSPillarNetworkA,4355,4355,4355,1981-12-04,435.20000000003046,435.21735,2015-01-01 01:12:35,bin4355,75, +CTSPillarNetworkA,4356,4356,4356,1981-12-05,435.3000000000305,435.31735,2015-01-01 01:12:36,bin4356,35, +CTSPillarNetworkA,4357,4357,4357,1981-12-06,435.4000000000305,435.41736,2015-01-01 01:12:37,bin4357,75, +CTSPillarNetworkA,4358,4358,4358,1981-12-07,435.5000000000305,435.51736,2015-01-01 01:12:38,bin4358,35, +CTSPillarNetworkA,4359,4359,4359,1981-12-08,435.60000000003055,435.61737,2015-01-01 01:12:39,bin4359,75, +CTSPillarNetworkA,4360,4360,4360,1981-12-09,435.70000000003057,435.71738,2015-01-01 01:12:40,bin4360,35, +CTSPillarNetworkA,4361,4361,4361,1981-12-10,435.8000000000306,435.81738,2015-01-01 01:12:41,bin4361,75, +CTSPillarNetworkA,4362,4362,4362,1981-12-11,435.9000000000306,435.9174,2015-01-01 01:12:42,bin4362,35, +CTSPillarNetworkA,4363,4363,4363,1981-12-12,436.00000000003064,436.0174,2015-01-01 01:12:43,bin4363,75, +CTSPillarNetworkA,4364,4364,4364,1981-12-13,436.10000000003066,436.1174,2015-01-01 01:12:44,bin4364,35, +CTSPillarNetworkA,4365,4365,4365,1981-12-14,436.2000000000307,436.2174,2015-01-01 01:12:45,bin4365,75, +CTSPillarNetworkA,4366,4366,4366,1981-12-15,436.3000000000307,436.3174,2015-01-01 01:12:46,bin4366,35, +CTSPillarNetworkA,4367,4367,4367,1981-12-16,436.40000000003073,436.41742,2015-01-01 01:12:47,bin4367,75, +CTSPillarNetworkA,4368,4368,4368,1981-12-17,436.50000000003075,436.51743,2015-01-01 01:12:48,bin4368,35, +CTSPillarNetworkA,4369,4369,4369,1981-12-18,436.6000000000308,436.61743,2015-01-01 01:12:49,bin4369,75, +CTSPillarNetworkA,4370,4370,4370,1981-12-19,436.7000000000308,436.71744,2015-01-01 01:12:50,bin4370,35, +CTSPillarNetworkA,4371,4371,4371,1981-12-20,436.8000000000308,436.81744,2015-01-01 01:12:51,bin4371,75, +CTSPillarNetworkA,4372,4372,4372,1981-12-21,436.90000000003084,436.91745,2015-01-01 01:12:52,bin4372,35, +CTSPillarNetworkA,4373,4373,4373,1981-12-22,437.00000000003087,437.01746,2015-01-01 01:12:53,bin4373,75, +CTSPillarNetworkA,4374,4374,4374,1981-12-23,437.1000000000309,437.11746,2015-01-01 01:12:54,bin4374,35, +CTSPillarNetworkA,4375,4375,4375,1981-12-24,437.2000000000309,437.21747,2015-01-01 01:12:55,bin4375,75, +CTSPillarNetworkA,4376,4376,4376,1981-12-25,437.30000000003093,437.31747,2015-01-01 01:12:56,bin4376,35, +CTSPillarNetworkA,4377,4377,4377,1981-12-26,437.40000000003096,437.41748,2015-01-01 01:12:57,bin4377,75, +CTSPillarNetworkA,4378,4378,4378,1981-12-27,437.500000000031,437.5175,2015-01-01 01:12:58,bin4378,35, +CTSPillarNetworkA,4379,4379,4379,1981-12-28,437.600000000031,437.6175,2015-01-01 01:12:59,bin4379,75, +CTSPillarNetworkA,4380,4380,4380,1981-12-29,437.700000000031,437.7175,2015-01-01 01:13:00,bin4380,35, +CTSPillarNetworkA,4381,4381,4381,1981-12-30,437.80000000003105,437.8175,2015-01-01 01:13:01,bin4381,75, +CTSPillarNetworkA,4382,4382,4382,1981-12-31,437.90000000003107,437.9175,2015-01-01 01:13:02,bin4382,35, +CTSPillarNetworkA,4383,4383,4383,1982-01-01,438.0000000000311,438.01752,2015-01-01 01:13:03,bin4383,75, +CTSPillarNetworkA,4384,4384,4384,1982-01-02,438.1000000000311,438.11752,2015-01-01 01:13:04,bin4384,35, +CTSPillarNetworkA,4385,4385,4385,1982-01-03,438.20000000003114,438.21753,2015-01-01 01:13:05,bin4385,75, +CTSPillarNetworkA,4386,4386,4386,1982-01-04,438.30000000003116,438.31754,2015-01-01 01:13:06,bin4386,35, +CTSPillarNetworkA,4387,4387,4387,1982-01-05,438.4000000000312,438.41754,2015-01-01 01:13:07,bin4387,75, +CTSPillarNetworkA,4388,4388,4388,1982-01-06,438.5000000000312,438.51755,2015-01-01 01:13:08,bin4388,35, +CTSPillarNetworkA,4389,4389,4389,1982-01-07,438.60000000003123,438.61755,2015-01-01 01:13:09,bin4389,75, +CTSPillarNetworkA,4390,4390,4390,1982-01-08,438.70000000003125,438.71756,2015-01-01 01:13:10,bin4390,35, +CTSPillarNetworkA,4391,4391,4391,1982-01-09,438.8000000000313,438.81757,2015-01-01 01:13:11,bin4391,75, +CTSPillarNetworkA,4392,4392,4392,1982-01-10,438.9000000000313,438.91757,2015-01-01 01:13:12,bin4392,35, +CTSPillarNetworkA,4393,4393,4393,1982-01-11,439.0000000000313,439.01758,2015-01-01 01:13:13,bin4393,75, +CTSPillarNetworkA,4394,4394,4394,1982-01-12,439.10000000003134,439.11758,2015-01-01 01:13:14,bin4394,35, +CTSPillarNetworkA,4395,4395,4395,1982-01-13,439.20000000003137,439.2176,2015-01-01 01:13:15,bin4395,75, +CTSPillarNetworkA,4396,4396,4396,1982-01-14,439.3000000000314,439.3176,2015-01-01 01:13:16,bin4396,35, +CTSPillarNetworkA,4397,4397,4397,1982-01-15,439.4000000000314,439.4176,2015-01-01 01:13:17,bin4397,75, +CTSPillarNetworkA,4398,4398,4398,1982-01-16,439.50000000003143,439.5176,2015-01-01 01:13:18,bin4398,35, +CTSPillarNetworkA,4399,4399,4399,1982-01-17,439.60000000003146,439.6176,2015-01-01 01:13:19,bin4399,75, +CTSPillarNetworkA,4400,4400,4400,1982-01-18,439.7000000000315,439.71762,2015-01-01 01:13:20,bin4400,35, +CTSPillarNetworkA,4401,4401,4401,1982-01-19,439.8000000000315,439.81763,2015-01-01 01:13:21,bin4401,75, +CTSPillarNetworkA,4402,4402,4402,1982-01-20,439.9000000000315,439.91763,2015-01-01 01:13:22,bin4402,35, +CTSPillarNetworkA,4403,4403,4403,1982-01-21,440.00000000003155,440.01764,2015-01-01 01:13:23,bin4403,75, +CTSPillarNetworkA,4404,4404,4404,1982-01-22,440.10000000003157,440.11765,2015-01-01 01:13:24,bin4404,35, +CTSPillarNetworkA,4405,4405,4405,1982-01-23,440.2000000000316,440.21765,2015-01-01 01:13:25,bin4405,75, +CTSPillarNetworkA,4406,4406,4406,1982-01-24,440.3000000000316,440.31766,2015-01-01 01:13:26,bin4406,35, +CTSPillarNetworkA,4407,4407,4407,1982-01-25,440.40000000003164,440.41766,2015-01-01 01:13:27,bin4407,75, +CTSPillarNetworkA,4408,4408,4408,1982-01-26,440.50000000003166,440.51767,2015-01-01 01:13:28,bin4408,35, +CTSPillarNetworkA,4409,4409,4409,1982-01-27,440.6000000000317,440.61768,2015-01-01 01:13:29,bin4409,75, +CTSPillarNetworkA,4410,4410,4410,1982-01-28,440.7000000000317,440.71768,2015-01-01 01:13:30,bin4410,35, +CTSPillarNetworkA,4411,4411,4411,1982-01-29,440.80000000003173,440.8177,2015-01-01 01:13:31,bin4411,75, +CTSPillarNetworkA,4412,4412,4412,1982-01-30,440.90000000003175,440.9177,2015-01-01 01:13:32,bin4412,35, +CTSPillarNetworkA,4413,4413,4413,1982-01-31,441.0000000000318,441.0177,2015-01-01 01:13:33,bin4413,75, +CTSPillarNetworkA,4414,4414,4414,1982-02-01,441.1000000000318,441.1177,2015-01-01 01:13:34,bin4414,35, +CTSPillarNetworkA,4415,4415,4415,1982-02-02,441.2000000000318,441.2177,2015-01-01 01:13:35,bin4415,75, +CTSPillarNetworkA,4416,4416,4416,1982-02-03,441.30000000003184,441.31772,2015-01-01 01:13:36,bin4416,35, +CTSPillarNetworkA,4417,4417,4417,1982-02-04,441.40000000003187,441.41772,2015-01-01 01:13:37,bin4417,75, +CTSPillarNetworkA,4418,4418,4418,1982-02-05,441.5000000000319,441.51773,2015-01-01 01:13:38,bin4418,35, +CTSPillarNetworkA,4419,4419,4419,1982-02-06,441.6000000000319,441.61774,2015-01-01 01:13:39,bin4419,75, +CTSPillarNetworkA,4420,4420,4420,1982-02-07,441.70000000003193,441.71774,2015-01-01 01:13:40,bin4420,35, +CTSPillarNetworkA,4421,4421,4421,1982-02-08,441.80000000003196,441.81775,2015-01-01 01:13:41,bin4421,75, +CTSPillarNetworkA,4422,4422,4422,1982-02-09,441.900000000032,441.91776,2015-01-01 01:13:42,bin4422,35, +CTSPillarNetworkA,4423,4423,4423,1982-02-10,442.000000000032,442.01776,2015-01-01 01:13:43,bin4423,75, +CTSPillarNetworkA,4424,4424,4424,1982-02-11,442.100000000032,442.11777,2015-01-01 01:13:44,bin4424,35, +CTSPillarNetworkA,4425,4425,4425,1982-02-12,442.20000000003205,442.21777,2015-01-01 01:13:45,bin4425,75, +CTSPillarNetworkA,4426,4426,4426,1982-02-13,442.30000000003207,442.31778,2015-01-01 01:13:46,bin4426,35, +CTSPillarNetworkA,4427,4427,4427,1982-02-14,442.4000000000321,442.4178,2015-01-01 01:13:47,bin4427,75, +CTSPillarNetworkA,4428,4428,4428,1982-02-15,442.5000000000321,442.5178,2015-01-01 01:13:48,bin4428,35, +CTSPillarNetworkA,4429,4429,4429,1982-02-16,442.60000000003214,442.6178,2015-01-01 01:13:49,bin4429,75, +CTSPillarNetworkA,4430,4430,4430,1982-02-17,442.70000000003216,442.7178,2015-01-01 01:13:50,bin4430,35, +CTSPillarNetworkA,4431,4431,4431,1982-02-18,442.8000000000322,442.8178,2015-01-01 01:13:51,bin4431,75, +CTSPillarNetworkA,4432,4432,4432,1982-02-19,442.9000000000322,442.91782,2015-01-01 01:13:52,bin4432,35, +CTSPillarNetworkA,4433,4433,4433,1982-02-20,443.00000000003223,443.01782,2015-01-01 01:13:53,bin4433,75, +CTSPillarNetworkA,4434,4434,4434,1982-02-21,443.10000000003225,443.11783,2015-01-01 01:13:54,bin4434,35, +CTSPillarNetworkA,4435,4435,4435,1982-02-22,443.2000000000323,443.21783,2015-01-01 01:13:55,bin4435,75, +CTSPillarNetworkA,4436,4436,4436,1982-02-23,443.3000000000323,443.31784,2015-01-01 01:13:56,bin4436,35, +CTSPillarNetworkA,4437,4437,4437,1982-02-24,443.4000000000323,443.41785,2015-01-01 01:13:57,bin4437,75, +CTSPillarNetworkA,4438,4438,4438,1982-02-25,443.50000000003234,443.51785,2015-01-01 01:13:58,bin4438,35, +CTSPillarNetworkA,4439,4439,4439,1982-02-26,443.60000000003237,443.61786,2015-01-01 01:13:59,bin4439,75, +CTSPillarNetworkA,4440,4440,4440,1982-02-27,443.7000000000324,443.71786,2015-01-01 01:14:00,bin4440,35, +CTSPillarNetworkA,4441,4441,4441,1982-02-28,443.8000000000324,443.81787,2015-01-01 01:14:01,bin4441,75, +CTSPillarNetworkA,4442,4442,4442,1982-03-01,443.90000000003243,443.91788,2015-01-01 01:14:02,bin4442,35, +CTSPillarNetworkA,4443,4443,4443,1982-03-02,444.00000000003246,444.01788,2015-01-01 01:14:03,bin4443,75, +CTSPillarNetworkA,4444,4444,4444,1982-03-03,444.1000000000325,444.1179,2015-01-01 01:14:04,bin4444,35, +CTSPillarNetworkA,4445,4445,4445,1982-03-04,444.2000000000325,444.2179,2015-01-01 01:14:05,bin4445,75, +CTSPillarNetworkA,4446,4446,4446,1982-03-05,444.3000000000325,444.3179,2015-01-01 01:14:06,bin4446,35, +CTSPillarNetworkA,4447,4447,4447,1982-03-06,444.40000000003255,444.4179,2015-01-01 01:14:07,bin4447,75, +CTSPillarNetworkA,4448,4448,4448,1982-03-07,444.50000000003257,444.5179,2015-01-01 01:14:08,bin4448,35, +CTSPillarNetworkA,4449,4449,4449,1982-03-08,444.6000000000326,444.61792,2015-01-01 01:14:09,bin4449,75, +CTSPillarNetworkA,4450,4450,4450,1982-03-09,444.7000000000326,444.71793,2015-01-01 01:14:10,bin4450,35, +CTSPillarNetworkA,4451,4451,4451,1982-03-10,444.80000000003264,444.81793,2015-01-01 01:14:11,bin4451,75, +CTSPillarNetworkA,4452,4452,4452,1982-03-11,444.90000000003266,444.91794,2015-01-01 01:14:12,bin4452,35, +CTSPillarNetworkA,4453,4453,4453,1982-03-12,445.0000000000327,445.01794,2015-01-01 01:14:13,bin4453,75, +CTSPillarNetworkA,4454,4454,4454,1982-03-13,445.1000000000327,445.11795,2015-01-01 01:14:14,bin4454,35, +CTSPillarNetworkA,4455,4455,4455,1982-03-14,445.20000000003273,445.21796,2015-01-01 01:14:15,bin4455,75, +CTSPillarNetworkA,4456,4456,4456,1982-03-15,445.30000000003275,445.31796,2015-01-01 01:14:16,bin4456,35, +CTSPillarNetworkA,4457,4457,4457,1982-03-16,445.4000000000328,445.41797,2015-01-01 01:14:17,bin4457,75, +CTSPillarNetworkA,4458,4458,4458,1982-03-17,445.5000000000328,445.51797,2015-01-01 01:14:18,bin4458,35, +CTSPillarNetworkA,4459,4459,4459,1982-03-18,445.6000000000328,445.61798,2015-01-01 01:14:19,bin4459,75, +CTSPillarNetworkA,4460,4460,4460,1982-03-19,445.70000000003284,445.718,2015-01-01 01:14:20,bin4460,35, +CTSPillarNetworkA,4461,4461,4461,1982-03-20,445.80000000003287,445.818,2015-01-01 01:14:21,bin4461,75, +CTSPillarNetworkA,4462,4462,4462,1982-03-21,445.9000000000329,445.918,2015-01-01 01:14:22,bin4462,35, +CTSPillarNetworkA,4463,4463,4463,1982-03-22,446.0000000000329,446.018,2015-01-01 01:14:23,bin4463,75, +CTSPillarNetworkA,4464,4464,4464,1982-03-23,446.10000000003294,446.118,2015-01-01 01:14:24,bin4464,35, +CTSPillarNetworkA,4465,4465,4465,1982-03-24,446.20000000003296,446.21802,2015-01-01 01:14:25,bin4465,75, +CTSPillarNetworkA,4466,4466,4466,1982-03-25,446.300000000033,446.31802,2015-01-01 01:14:26,bin4466,35, +CTSPillarNetworkA,4467,4467,4467,1982-03-26,446.400000000033,446.41803,2015-01-01 01:14:27,bin4467,75, +CTSPillarNetworkA,4468,4468,4468,1982-03-27,446.500000000033,446.51804,2015-01-01 01:14:28,bin4468,35, +CTSPillarNetworkA,4469,4469,4469,1982-03-28,446.60000000003305,446.61804,2015-01-01 01:14:29,bin4469,75, +CTSPillarNetworkA,4470,4470,4470,1982-03-29,446.70000000003307,446.71805,2015-01-01 01:14:30,bin4470,35, +CTSPillarNetworkA,4471,4471,4471,1982-03-30,446.8000000000331,446.81805,2015-01-01 01:14:31,bin4471,75, +CTSPillarNetworkA,4472,4472,4472,1982-03-31,446.9000000000331,446.91806,2015-01-01 01:14:32,bin4472,35, +CTSPillarNetworkA,4473,4473,4473,1982-04-01,447.00000000003314,447.01807,2015-01-01 01:14:33,bin4473,75, +CTSPillarNetworkA,4474,4474,4474,1982-04-02,447.10000000003316,447.11807,2015-01-01 01:14:34,bin4474,35, +CTSPillarNetworkA,4475,4475,4475,1982-04-03,447.2000000000332,447.21808,2015-01-01 01:14:35,bin4475,75, +CTSPillarNetworkA,4476,4476,4476,1982-04-04,447.3000000000332,447.31808,2015-01-01 01:14:36,bin4476,35, +CTSPillarNetworkA,4477,4477,4477,1982-04-05,447.40000000003323,447.4181,2015-01-01 01:14:37,bin4477,75, +CTSPillarNetworkA,4478,4478,4478,1982-04-06,447.50000000003325,447.5181,2015-01-01 01:14:38,bin4478,35, +CTSPillarNetworkA,4479,4479,4479,1982-04-07,447.6000000000333,447.6181,2015-01-01 01:14:39,bin4479,75, +CTSPillarNetworkA,4480,4480,4480,1982-04-08,447.7000000000333,447.7181,2015-01-01 01:14:40,bin4480,35, +CTSPillarNetworkA,4481,4481,4481,1982-04-09,447.8000000000333,447.8181,2015-01-01 01:14:41,bin4481,75, +CTSPillarNetworkA,4482,4482,4482,1982-04-10,447.90000000003334,447.91812,2015-01-01 01:14:42,bin4482,35, +CTSPillarNetworkA,4483,4483,4483,1982-04-11,448.00000000003337,448.01813,2015-01-01 01:14:43,bin4483,75, +CTSPillarNetworkA,4484,4484,4484,1982-04-12,448.1000000000334,448.11813,2015-01-01 01:14:44,bin4484,35, +CTSPillarNetworkA,4485,4485,4485,1982-04-13,448.2000000000334,448.21814,2015-01-01 01:14:45,bin4485,75, +CTSPillarNetworkA,4486,4486,4486,1982-04-14,448.30000000003344,448.31815,2015-01-01 01:14:46,bin4486,35, +CTSPillarNetworkA,4487,4487,4487,1982-04-15,448.40000000003346,448.41815,2015-01-01 01:14:47,bin4487,75, +CTSPillarNetworkA,4488,4488,4488,1982-04-16,448.5000000000335,448.51816,2015-01-01 01:14:48,bin4488,35, +CTSPillarNetworkA,4489,4489,4489,1982-04-17,448.6000000000335,448.61816,2015-01-01 01:14:49,bin4489,75, +CTSPillarNetworkA,4490,4490,4490,1982-04-18,448.7000000000335,448.71817,2015-01-01 01:14:50,bin4490,35, +CTSPillarNetworkA,4491,4491,4491,1982-04-19,448.80000000003355,448.81818,2015-01-01 01:14:51,bin4491,75, +CTSPillarNetworkA,4492,4492,4492,1982-04-20,448.9000000000336,448.91818,2015-01-01 01:14:52,bin4492,35, +CTSPillarNetworkA,4493,4493,4493,1982-04-21,449.0000000000336,449.0182,2015-01-01 01:14:53,bin4493,75, +CTSPillarNetworkA,4494,4494,4494,1982-04-22,449.1000000000336,449.1182,2015-01-01 01:14:54,bin4494,35, +CTSPillarNetworkA,4495,4495,4495,1982-04-23,449.20000000003364,449.2182,2015-01-01 01:14:55,bin4495,75, +CTSPillarNetworkA,4496,4496,4496,1982-04-24,449.30000000003366,449.3182,2015-01-01 01:14:56,bin4496,35, +CTSPillarNetworkA,4497,4497,4497,1982-04-25,449.4000000000337,449.4182,2015-01-01 01:14:57,bin4497,75, +CTSPillarNetworkA,4498,4498,4498,1982-04-26,449.5000000000337,449.51822,2015-01-01 01:14:58,bin4498,35, +CTSPillarNetworkA,4499,4499,4499,1982-04-27,449.60000000003373,449.61823,2015-01-01 01:14:59,bin4499,75, +CTSPillarNetworkA,4500,4500,4500,1982-04-28,449.70000000003375,449.71823,2015-01-01 01:15:00,bin4500,35, +CTSPillarNetworkA,4501,4501,4501,1982-04-29,449.8000000000338,449.81824,2015-01-01 01:15:01,bin4501,75, +CTSPillarNetworkA,4502,4502,4502,1982-04-30,449.9000000000338,449.91824,2015-01-01 01:15:02,bin4502,35, +CTSPillarNetworkA,4503,4503,4503,1982-05-01,450.0000000000338,450.01825,2015-01-01 01:15:03,bin4503,75, +CTSPillarNetworkA,4504,4504,4504,1982-05-02,450.10000000003384,450.11826,2015-01-01 01:15:04,bin4504,35, +CTSPillarNetworkA,4505,4505,4505,1982-05-03,450.20000000003387,450.21826,2015-01-01 01:15:05,bin4505,75, +CTSPillarNetworkA,4506,4506,4506,1982-05-04,450.3000000000339,450.31827,2015-01-01 01:15:06,bin4506,35, +CTSPillarNetworkA,4507,4507,4507,1982-05-05,450.4000000000339,450.41827,2015-01-01 01:15:07,bin4507,75, +CTSPillarNetworkA,4508,4508,4508,1982-05-06,450.50000000003394,450.51828,2015-01-01 01:15:08,bin4508,35, +CTSPillarNetworkA,4509,4509,4509,1982-05-07,450.60000000003396,450.6183,2015-01-01 01:15:09,bin4509,75, +CTSPillarNetworkA,4510,4510,4510,1982-05-08,450.700000000034,450.7183,2015-01-01 01:15:10,bin4510,35, +CTSPillarNetworkA,4511,4511,4511,1982-05-09,450.800000000034,450.8183,2015-01-01 01:15:11,bin4511,75, +CTSPillarNetworkA,4512,4512,4512,1982-05-10,450.900000000034,450.9183,2015-01-01 01:15:12,bin4512,35, +CTSPillarNetworkA,4513,4513,4513,1982-05-11,451.00000000003405,451.0183,2015-01-01 01:15:13,bin4513,75, +CTSPillarNetworkA,4514,4514,4514,1982-05-12,451.1000000000341,451.11832,2015-01-01 01:15:14,bin4514,35, +CTSPillarNetworkA,4515,4515,4515,1982-05-13,451.2000000000341,451.21832,2015-01-01 01:15:15,bin4515,75, +CTSPillarNetworkA,4516,4516,4516,1982-05-14,451.3000000000341,451.31833,2015-01-01 01:15:16,bin4516,35, +CTSPillarNetworkA,4517,4517,4517,1982-05-15,451.40000000003414,451.41833,2015-01-01 01:15:17,bin4517,75, +CTSPillarNetworkA,4518,4518,4518,1982-05-16,451.50000000003416,451.51834,2015-01-01 01:15:18,bin4518,35, +CTSPillarNetworkA,4519,4519,4519,1982-05-17,451.6000000000342,451.61835,2015-01-01 01:15:19,bin4519,75, +CTSPillarNetworkA,4520,4520,4520,1982-05-18,451.7000000000342,451.71835,2015-01-01 01:15:20,bin4520,35, +CTSPillarNetworkA,4521,4521,4521,1982-05-19,451.80000000003423,451.81836,2015-01-01 01:15:21,bin4521,75, +CTSPillarNetworkA,4522,4522,4522,1982-05-20,451.90000000003425,451.91837,2015-01-01 01:15:22,bin4522,35, +CTSPillarNetworkA,4523,4523,4523,1982-05-21,452.0000000000343,452.01837,2015-01-01 01:15:23,bin4523,75, +CTSPillarNetworkA,4524,4524,4524,1982-05-22,452.1000000000343,452.11838,2015-01-01 01:15:24,bin4524,35, +CTSPillarNetworkA,4525,4525,4525,1982-05-23,452.2000000000343,452.21838,2015-01-01 01:15:25,bin4525,75, +CTSPillarNetworkA,4526,4526,4526,1982-05-24,452.30000000003434,452.3184,2015-01-01 01:15:26,bin4526,35, +CTSPillarNetworkA,4527,4527,4527,1982-05-25,452.40000000003437,452.4184,2015-01-01 01:15:27,bin4527,75, +CTSPillarNetworkA,4528,4528,4528,1982-05-26,452.5000000000344,452.5184,2015-01-01 01:15:28,bin4528,35, +CTSPillarNetworkA,4529,4529,4529,1982-05-27,452.6000000000344,452.6184,2015-01-01 01:15:29,bin4529,75, +CTSPillarNetworkA,4530,4530,4530,1982-05-28,452.70000000003444,452.7184,2015-01-01 01:15:30,bin4530,35, +CTSPillarNetworkA,4531,4531,4531,1982-05-29,452.80000000003446,452.81842,2015-01-01 01:15:31,bin4531,75, +CTSPillarNetworkA,4532,4532,4532,1982-05-30,452.9000000000345,452.91843,2015-01-01 01:15:32,bin4532,35, +CTSPillarNetworkA,4533,4533,4533,1982-05-31,453.0000000000345,453.01843,2015-01-01 01:15:33,bin4533,75, +CTSPillarNetworkA,4534,4534,4534,1982-06-01,453.1000000000345,453.11844,2015-01-01 01:15:34,bin4534,35, +CTSPillarNetworkA,4535,4535,4535,1982-06-02,453.20000000003455,453.21844,2015-01-01 01:15:35,bin4535,75, +CTSPillarNetworkA,4536,4536,4536,1982-06-03,453.3000000000346,453.31845,2015-01-01 01:15:36,bin4536,35, +CTSPillarNetworkA,4537,4537,4537,1982-06-04,453.4000000000346,453.41846,2015-01-01 01:15:37,bin4537,75, +CTSPillarNetworkA,4538,4538,4538,1982-06-05,453.5000000000346,453.51846,2015-01-01 01:15:38,bin4538,35, +CTSPillarNetworkA,4539,4539,4539,1982-06-06,453.60000000003464,453.61847,2015-01-01 01:15:39,bin4539,75, +CTSPillarNetworkA,4540,4540,4540,1982-06-07,453.70000000003466,453.71848,2015-01-01 01:15:40,bin4540,35, +CTSPillarNetworkA,4541,4541,4541,1982-06-08,453.8000000000347,453.81848,2015-01-01 01:15:41,bin4541,75, +CTSPillarNetworkA,4542,4542,4542,1982-06-09,453.9000000000347,453.9185,2015-01-01 01:15:42,bin4542,35, +CTSPillarNetworkA,4543,4543,4543,1982-06-10,454.00000000003473,454.0185,2015-01-01 01:15:43,bin4543,75, +CTSPillarNetworkA,4544,4544,4544,1982-06-11,454.10000000003475,454.1185,2015-01-01 01:15:44,bin4544,35, +CTSPillarNetworkA,4545,4545,4545,1982-06-12,454.2000000000348,454.2185,2015-01-01 01:15:45,bin4545,75, +CTSPillarNetworkA,4546,4546,4546,1982-06-13,454.3000000000348,454.3185,2015-01-01 01:15:46,bin4546,35, +CTSPillarNetworkA,4547,4547,4547,1982-06-14,454.4000000000348,454.41852,2015-01-01 01:15:47,bin4547,75, +CTSPillarNetworkA,4548,4548,4548,1982-06-15,454.50000000003485,454.51852,2015-01-01 01:15:48,bin4548,35, +CTSPillarNetworkA,4549,4549,4549,1982-06-16,454.60000000003487,454.61853,2015-01-01 01:15:49,bin4549,75, +CTSPillarNetworkA,4550,4550,4550,1982-06-17,454.7000000000349,454.71854,2015-01-01 01:15:50,bin4550,35, +CTSPillarNetworkA,4551,4551,4551,1982-06-18,454.8000000000349,454.81854,2015-01-01 01:15:51,bin4551,75, +CTSPillarNetworkA,4552,4552,4552,1982-06-19,454.90000000003494,454.91855,2015-01-01 01:15:52,bin4552,35, +CTSPillarNetworkA,4553,4553,4553,1982-06-20,455.00000000003496,455.01855,2015-01-01 01:15:53,bin4553,75, +CTSPillarNetworkA,4554,4554,4554,1982-06-21,455.100000000035,455.11856,2015-01-01 01:15:54,bin4554,35, +CTSPillarNetworkA,4555,4555,4555,1982-06-22,455.200000000035,455.21857,2015-01-01 01:15:55,bin4555,75, +CTSPillarNetworkA,4556,4556,4556,1982-06-23,455.300000000035,455.31857,2015-01-01 01:15:56,bin4556,35, +CTSPillarNetworkA,4557,4557,4557,1982-06-24,455.40000000003505,455.41858,2015-01-01 01:15:57,bin4557,75, +CTSPillarNetworkA,4558,4558,4558,1982-06-25,455.5000000000351,455.5186,2015-01-01 01:15:58,bin4558,35, +CTSPillarNetworkA,4559,4559,4559,1982-06-26,455.6000000000351,455.6186,2015-01-01 01:15:59,bin4559,75, +CTSPillarNetworkA,4560,4560,4560,1982-06-27,455.7000000000351,455.7186,2015-01-01 01:16:00,bin4560,35, +CTSPillarNetworkA,4561,4561,4561,1982-06-28,455.80000000003514,455.8186,2015-01-01 01:16:01,bin4561,75, +CTSPillarNetworkA,4562,4562,4562,1982-06-29,455.90000000003516,455.9186,2015-01-01 01:16:02,bin4562,35, +CTSPillarNetworkA,4563,4563,4563,1982-06-30,456.0000000000352,456.01862,2015-01-01 01:16:03,bin4563,75, +CTSPillarNetworkA,4564,4564,4564,1982-07-01,456.1000000000352,456.11862,2015-01-01 01:16:04,bin4564,35, +CTSPillarNetworkA,4565,4565,4565,1982-07-02,456.20000000003523,456.21863,2015-01-01 01:16:05,bin4565,75, +CTSPillarNetworkA,4566,4566,4566,1982-07-03,456.30000000003525,456.31863,2015-01-01 01:16:06,bin4566,35, +CTSPillarNetworkA,4567,4567,4567,1982-07-04,456.4000000000353,456.41864,2015-01-01 01:16:07,bin4567,75, +CTSPillarNetworkA,4568,4568,4568,1982-07-05,456.5000000000353,456.51865,2015-01-01 01:16:08,bin4568,35, +CTSPillarNetworkA,4569,4569,4569,1982-07-06,456.6000000000353,456.61865,2015-01-01 01:16:09,bin4569,75, +CTSPillarNetworkA,4570,4570,4570,1982-07-07,456.70000000003535,456.71866,2015-01-01 01:16:10,bin4570,35, +CTSPillarNetworkA,4571,4571,4571,1982-07-08,456.80000000003537,456.81866,2015-01-01 01:16:11,bin4571,75, +CTSPillarNetworkA,4572,4572,4572,1982-07-09,456.9000000000354,456.91867,2015-01-01 01:16:12,bin4572,35, +CTSPillarNetworkA,4573,4573,4573,1982-07-10,457.0000000000354,457.01868,2015-01-01 01:16:13,bin4573,75, +CTSPillarNetworkA,4574,4574,4574,1982-07-11,457.10000000003544,457.11868,2015-01-01 01:16:14,bin4574,35, +CTSPillarNetworkA,4575,4575,4575,1982-07-12,457.20000000003546,457.2187,2015-01-01 01:16:15,bin4575,75, +CTSPillarNetworkA,4576,4576,4576,1982-07-13,457.3000000000355,457.3187,2015-01-01 01:16:16,bin4576,35, +CTSPillarNetworkA,4577,4577,4577,1982-07-14,457.4000000000355,457.4187,2015-01-01 01:16:17,bin4577,75, +CTSPillarNetworkA,4578,4578,4578,1982-07-15,457.5000000000355,457.5187,2015-01-01 01:16:18,bin4578,35, +CTSPillarNetworkA,4579,4579,4579,1982-07-16,457.60000000003555,457.6187,2015-01-01 01:16:19,bin4579,75, +CTSPillarNetworkA,4580,4580,4580,1982-07-17,457.7000000000356,457.71872,2015-01-01 01:16:20,bin4580,35, +CTSPillarNetworkA,4581,4581,4581,1982-07-18,457.8000000000356,457.81873,2015-01-01 01:16:21,bin4581,75, +CTSPillarNetworkA,4582,4582,4582,1982-07-19,457.9000000000356,457.91873,2015-01-01 01:16:22,bin4582,35, +CTSPillarNetworkA,4583,4583,4583,1982-07-20,458.00000000003564,458.01874,2015-01-01 01:16:23,bin4583,75, +CTSPillarNetworkA,4584,4584,4584,1982-07-21,458.10000000003566,458.11874,2015-01-01 01:16:24,bin4584,35, +CTSPillarNetworkA,4585,4585,4585,1982-07-22,458.2000000000357,458.21875,2015-01-01 01:16:25,bin4585,75, +CTSPillarNetworkA,4586,4586,4586,1982-07-23,458.3000000000357,458.31876,2015-01-01 01:16:26,bin4586,35, +CTSPillarNetworkA,4587,4587,4587,1982-07-24,458.40000000003573,458.41876,2015-01-01 01:16:27,bin4587,75, +CTSPillarNetworkA,4588,4588,4588,1982-07-25,458.50000000003575,458.51877,2015-01-01 01:16:28,bin4588,35, +CTSPillarNetworkA,4589,4589,4589,1982-07-26,458.6000000000358,458.61877,2015-01-01 01:16:29,bin4589,75, +CTSPillarNetworkA,4590,4590,4590,1982-07-27,458.7000000000358,458.71878,2015-01-01 01:16:30,bin4590,35, +CTSPillarNetworkA,4591,4591,4591,1982-07-28,458.8000000000358,458.8188,2015-01-01 01:16:31,bin4591,75, +CTSPillarNetworkA,4592,4592,4592,1982-07-29,458.90000000003585,458.9188,2015-01-01 01:16:32,bin4592,35, +CTSPillarNetworkA,4593,4593,4593,1982-07-30,459.00000000003587,459.0188,2015-01-01 01:16:33,bin4593,75, +CTSPillarNetworkA,4594,4594,4594,1982-07-31,459.1000000000359,459.1188,2015-01-01 01:16:34,bin4594,35, +CTSPillarNetworkA,4595,4595,4595,1982-08-01,459.2000000000359,459.2188,2015-01-01 01:16:35,bin4595,75, +CTSPillarNetworkA,4596,4596,4596,1982-08-02,459.30000000003594,459.31882,2015-01-01 01:16:36,bin4596,35, +CTSPillarNetworkA,4597,4597,4597,1982-08-03,459.40000000003596,459.41882,2015-01-01 01:16:37,bin4597,75, +CTSPillarNetworkA,4598,4598,4598,1982-08-04,459.500000000036,459.51883,2015-01-01 01:16:38,bin4598,35, +CTSPillarNetworkA,4599,4599,4599,1982-08-05,459.600000000036,459.61884,2015-01-01 01:16:39,bin4599,75, +CTSPillarNetworkA,4600,4600,4600,1982-08-06,459.700000000036,459.71884,2015-01-01 01:16:40,bin4600,35, +CTSPillarNetworkA,4601,4601,4601,1982-08-07,459.80000000003605,459.81885,2015-01-01 01:16:41,bin4601,75, +CTSPillarNetworkA,4602,4602,4602,1982-08-08,459.9000000000361,459.91885,2015-01-01 01:16:42,bin4602,35, +CTSPillarNetworkA,4603,4603,4603,1982-08-09,460.0000000000361,460.01886,2015-01-01 01:16:43,bin4603,75, +CTSPillarNetworkA,4604,4604,4604,1982-08-10,460.1000000000361,460.11887,2015-01-01 01:16:44,bin4604,35, +CTSPillarNetworkA,4605,4605,4605,1982-08-11,460.20000000003614,460.21887,2015-01-01 01:16:45,bin4605,75, +CTSPillarNetworkA,4606,4606,4606,1982-08-12,460.30000000003616,460.31888,2015-01-01 01:16:46,bin4606,35, +CTSPillarNetworkA,4607,4607,4607,1982-08-13,460.4000000000362,460.41888,2015-01-01 01:16:47,bin4607,75, +CTSPillarNetworkA,4608,4608,4608,1982-08-14,460.5000000000362,460.5189,2015-01-01 01:16:48,bin4608,35, +CTSPillarNetworkA,4609,4609,4609,1982-08-15,460.60000000003623,460.6189,2015-01-01 01:16:49,bin4609,75, +CTSPillarNetworkA,4610,4610,4610,1982-08-16,460.70000000003625,460.7189,2015-01-01 01:16:50,bin4610,35, +CTSPillarNetworkA,4611,4611,4611,1982-08-17,460.8000000000363,460.8189,2015-01-01 01:16:51,bin4611,75, +CTSPillarNetworkA,4612,4612,4612,1982-08-18,460.9000000000363,460.9189,2015-01-01 01:16:52,bin4612,35, +CTSPillarNetworkA,4613,4613,4613,1982-08-19,461.0000000000363,461.01892,2015-01-01 01:16:53,bin4613,75, +CTSPillarNetworkA,4614,4614,4614,1982-08-20,461.10000000003635,461.11893,2015-01-01 01:16:54,bin4614,35, +CTSPillarNetworkA,4615,4615,4615,1982-08-21,461.20000000003637,461.21893,2015-01-01 01:16:55,bin4615,75, +CTSPillarNetworkA,4616,4616,4616,1982-08-22,461.3000000000364,461.31894,2015-01-01 01:16:56,bin4616,35, +CTSPillarNetworkA,4617,4617,4617,1982-08-23,461.4000000000364,461.41895,2015-01-01 01:16:57,bin4617,75, +CTSPillarNetworkA,4618,4618,4618,1982-08-24,461.50000000003644,461.51895,2015-01-01 01:16:58,bin4618,35, +CTSPillarNetworkA,4619,4619,4619,1982-08-25,461.60000000003646,461.61896,2015-01-01 01:16:59,bin4619,75, +CTSPillarNetworkA,4620,4620,4620,1982-08-26,461.7000000000365,461.71896,2015-01-01 01:17:00,bin4620,35, +CTSPillarNetworkA,4621,4621,4621,1982-08-27,461.8000000000365,461.81897,2015-01-01 01:17:01,bin4621,75, +CTSPillarNetworkA,4622,4622,4622,1982-08-28,461.9000000000365,461.91898,2015-01-01 01:17:02,bin4622,35, +CTSPillarNetworkA,4623,4623,4623,1982-08-29,462.00000000003655,462.01898,2015-01-01 01:17:03,bin4623,75, +CTSPillarNetworkA,4624,4624,4624,1982-08-30,462.1000000000366,462.119,2015-01-01 01:17:04,bin4624,35, +CTSPillarNetworkA,4625,4625,4625,1982-08-31,462.2000000000366,462.219,2015-01-01 01:17:05,bin4625,75, +CTSPillarNetworkA,4626,4626,4626,1982-09-01,462.3000000000366,462.319,2015-01-01 01:17:06,bin4626,35, +CTSPillarNetworkA,4627,4627,4627,1982-09-02,462.40000000003664,462.419,2015-01-01 01:17:07,bin4627,75, +CTSPillarNetworkA,4628,4628,4628,1982-09-03,462.50000000003666,462.519,2015-01-01 01:17:08,bin4628,35, +CTSPillarNetworkA,4629,4629,4629,1982-09-04,462.6000000000367,462.61902,2015-01-01 01:17:09,bin4629,75, +CTSPillarNetworkA,4630,4630,4630,1982-09-05,462.7000000000367,462.71902,2015-01-01 01:17:10,bin4630,35, +CTSPillarNetworkA,4631,4631,4631,1982-09-06,462.80000000003673,462.81903,2015-01-01 01:17:11,bin4631,75, +CTSPillarNetworkA,4632,4632,4632,1982-09-07,462.90000000003675,462.91904,2015-01-01 01:17:12,bin4632,35, +CTSPillarNetworkA,4633,4633,4633,1982-09-08,463.0000000000368,463.01904,2015-01-01 01:17:13,bin4633,75, +CTSPillarNetworkA,4634,4634,4634,1982-09-09,463.1000000000368,463.11905,2015-01-01 01:17:14,bin4634,35, +CTSPillarNetworkA,4635,4635,4635,1982-09-10,463.2000000000368,463.21906,2015-01-01 01:17:15,bin4635,75, +CTSPillarNetworkA,4636,4636,4636,1982-09-11,463.30000000003685,463.31906,2015-01-01 01:17:16,bin4636,35, +CTSPillarNetworkA,4637,4637,4637,1982-09-12,463.40000000003687,463.41907,2015-01-01 01:17:17,bin4637,75, +CTSPillarNetworkA,4638,4638,4638,1982-09-13,463.5000000000369,463.51907,2015-01-01 01:17:18,bin4638,35, +CTSPillarNetworkA,4639,4639,4639,1982-09-14,463.6000000000369,463.61908,2015-01-01 01:17:19,bin4639,75, +CTSPillarNetworkA,4640,4640,4640,1982-09-15,463.70000000003694,463.7191,2015-01-01 01:17:20,bin4640,35, +CTSPillarNetworkA,4641,4641,4641,1982-09-16,463.80000000003696,463.8191,2015-01-01 01:17:21,bin4641,75, +CTSPillarNetworkA,4642,4642,4642,1982-09-17,463.900000000037,463.9191,2015-01-01 01:17:22,bin4642,35, +CTSPillarNetworkA,4643,4643,4643,1982-09-18,464.000000000037,464.0191,2015-01-01 01:17:23,bin4643,75, +CTSPillarNetworkA,4644,4644,4644,1982-09-19,464.100000000037,464.1191,2015-01-01 01:17:24,bin4644,35, +CTSPillarNetworkA,4645,4645,4645,1982-09-20,464.20000000003705,464.21912,2015-01-01 01:17:25,bin4645,75, +CTSPillarNetworkA,4646,4646,4646,1982-09-21,464.3000000000371,464.31912,2015-01-01 01:17:26,bin4646,35, +CTSPillarNetworkA,4647,4647,4647,1982-09-22,464.4000000000371,464.41913,2015-01-01 01:17:27,bin4647,75, +CTSPillarNetworkA,4648,4648,4648,1982-09-23,464.5000000000371,464.51913,2015-01-01 01:17:28,bin4648,35, +CTSPillarNetworkA,4649,4649,4649,1982-09-24,464.60000000003714,464.61914,2015-01-01 01:17:29,bin4649,75, +CTSPillarNetworkA,4650,4650,4650,1982-09-25,464.70000000003716,464.71915,2015-01-01 01:17:30,bin4650,35, +CTSPillarNetworkA,4651,4651,4651,1982-09-26,464.8000000000372,464.81915,2015-01-01 01:17:31,bin4651,75, +CTSPillarNetworkA,4652,4652,4652,1982-09-27,464.9000000000372,464.91916,2015-01-01 01:17:32,bin4652,35, +CTSPillarNetworkA,4653,4653,4653,1982-09-28,465.00000000003723,465.01917,2015-01-01 01:17:33,bin4653,75, +CTSPillarNetworkA,4654,4654,4654,1982-09-29,465.10000000003726,465.11917,2015-01-01 01:17:34,bin4654,35, +CTSPillarNetworkA,4655,4655,4655,1982-09-30,465.2000000000373,465.21918,2015-01-01 01:17:35,bin4655,75, +CTSPillarNetworkA,4656,4656,4656,1982-10-01,465.3000000000373,465.31918,2015-01-01 01:17:36,bin4656,35, +CTSPillarNetworkA,4657,4657,4657,1982-10-02,465.4000000000373,465.4192,2015-01-01 01:17:37,bin4657,75, +CTSPillarNetworkA,4658,4658,4658,1982-10-03,465.50000000003735,465.5192,2015-01-01 01:17:38,bin4658,35, +CTSPillarNetworkA,4659,4659,4659,1982-10-04,465.60000000003737,465.6192,2015-01-01 01:17:39,bin4659,75, +CTSPillarNetworkA,4660,4660,4660,1982-10-05,465.7000000000374,465.7192,2015-01-01 01:17:40,bin4660,35, +CTSPillarNetworkA,4661,4661,4661,1982-10-06,465.8000000000374,465.8192,2015-01-01 01:17:41,bin4661,75, +CTSPillarNetworkA,4662,4662,4662,1982-10-07,465.90000000003744,465.91922,2015-01-01 01:17:42,bin4662,35, +CTSPillarNetworkA,4663,4663,4663,1982-10-08,466.00000000003746,466.01923,2015-01-01 01:17:43,bin4663,75, +CTSPillarNetworkA,4664,4664,4664,1982-10-09,466.1000000000375,466.11923,2015-01-01 01:17:44,bin4664,35, +CTSPillarNetworkA,4665,4665,4665,1982-10-10,466.2000000000375,466.21924,2015-01-01 01:17:45,bin4665,75, +CTSPillarNetworkA,4666,4666,4666,1982-10-11,466.3000000000375,466.31924,2015-01-01 01:17:46,bin4666,35, +CTSPillarNetworkA,4667,4667,4667,1982-10-12,466.40000000003755,466.41925,2015-01-01 01:17:47,bin4667,75, +CTSPillarNetworkA,4668,4668,4668,1982-10-13,466.5000000000376,466.51926,2015-01-01 01:17:48,bin4668,35, +CTSPillarNetworkA,4669,4669,4669,1982-10-14,466.6000000000376,466.61926,2015-01-01 01:17:49,bin4669,75, +CTSPillarNetworkA,4670,4670,4670,1982-10-15,466.7000000000376,466.71927,2015-01-01 01:17:50,bin4670,35, +CTSPillarNetworkA,4671,4671,4671,1982-10-16,466.80000000003764,466.81927,2015-01-01 01:17:51,bin4671,75, +CTSPillarNetworkA,4672,4672,4672,1982-10-17,466.90000000003766,466.91928,2015-01-01 01:17:52,bin4672,35, +CTSPillarNetworkA,4673,4673,4673,1982-10-18,467.0000000000377,467.0193,2015-01-01 01:17:53,bin4673,75, +CTSPillarNetworkA,4674,4674,4674,1982-10-19,467.1000000000377,467.1193,2015-01-01 01:17:54,bin4674,35, +CTSPillarNetworkA,4675,4675,4675,1982-10-20,467.20000000003773,467.2193,2015-01-01 01:17:55,bin4675,75, +CTSPillarNetworkA,4676,4676,4676,1982-10-21,467.30000000003776,467.3193,2015-01-01 01:17:56,bin4676,35, +CTSPillarNetworkA,4677,4677,4677,1982-10-22,467.4000000000378,467.4193,2015-01-01 01:17:57,bin4677,75, +CTSPillarNetworkA,4678,4678,4678,1982-10-23,467.5000000000378,467.51932,2015-01-01 01:17:58,bin4678,35, +CTSPillarNetworkA,4679,4679,4679,1982-10-24,467.6000000000378,467.61932,2015-01-01 01:17:59,bin4679,75, +CTSPillarNetworkA,4680,4680,4680,1982-10-25,467.70000000003785,467.71933,2015-01-01 01:18:00,bin4680,35, +CTSPillarNetworkA,4681,4681,4681,1982-10-26,467.80000000003787,467.81934,2015-01-01 01:18:01,bin4681,75, +CTSPillarNetworkA,4682,4682,4682,1982-10-27,467.9000000000379,467.91934,2015-01-01 01:18:02,bin4682,35, +CTSPillarNetworkA,4683,4683,4683,1982-10-28,468.0000000000379,468.01935,2015-01-01 01:18:03,bin4683,75, +CTSPillarNetworkA,4684,4684,4684,1982-10-29,468.10000000003794,468.11935,2015-01-01 01:18:04,bin4684,35, +CTSPillarNetworkA,4685,4685,4685,1982-10-30,468.20000000003796,468.21936,2015-01-01 01:18:05,bin4685,75, +CTSPillarNetworkA,4686,4686,4686,1982-10-31,468.300000000038,468.31937,2015-01-01 01:18:06,bin4686,35, +CTSPillarNetworkA,4687,4687,4687,1982-11-01,468.400000000038,468.41937,2015-01-01 01:18:07,bin4687,75, +CTSPillarNetworkA,4688,4688,4688,1982-11-02,468.500000000038,468.51938,2015-01-01 01:18:08,bin4688,35, +CTSPillarNetworkA,4689,4689,4689,1982-11-03,468.60000000003805,468.6194,2015-01-01 01:18:09,bin4689,75, +CTSPillarNetworkA,4690,4690,4690,1982-11-04,468.7000000000381,468.7194,2015-01-01 01:18:10,bin4690,35, +CTSPillarNetworkA,4691,4691,4691,1982-11-05,468.8000000000381,468.8194,2015-01-01 01:18:11,bin4691,75, +CTSPillarNetworkA,4692,4692,4692,1982-11-06,468.9000000000381,468.9194,2015-01-01 01:18:12,bin4692,35, +CTSPillarNetworkA,4693,4693,4693,1982-11-07,469.00000000003814,469.0194,2015-01-01 01:18:13,bin4693,75, +CTSPillarNetworkA,4694,4694,4694,1982-11-08,469.10000000003816,469.11942,2015-01-01 01:18:14,bin4694,35, +CTSPillarNetworkA,4695,4695,4695,1982-11-09,469.2000000000382,469.21942,2015-01-01 01:18:15,bin4695,75, +CTSPillarNetworkA,4696,4696,4696,1982-11-10,469.3000000000382,469.31943,2015-01-01 01:18:16,bin4696,35, +CTSPillarNetworkA,4697,4697,4697,1982-11-11,469.40000000003823,469.41943,2015-01-01 01:18:17,bin4697,75, +CTSPillarNetworkA,4698,4698,4698,1982-11-12,469.50000000003826,469.51944,2015-01-01 01:18:18,bin4698,35, +CTSPillarNetworkA,4699,4699,4699,1982-11-13,469.6000000000383,469.61945,2015-01-01 01:18:19,bin4699,75, +CTSPillarNetworkA,4700,4700,4700,1982-11-14,469.7000000000383,469.71945,2015-01-01 01:18:20,bin4700,35, +CTSPillarNetworkA,4701,4701,4701,1982-11-15,469.8000000000383,469.81946,2015-01-01 01:18:21,bin4701,75, +CTSPillarNetworkA,4702,4702,4702,1982-11-16,469.90000000003835,469.91946,2015-01-01 01:18:22,bin4702,35, +CTSPillarNetworkA,4703,4703,4703,1982-11-17,470.00000000003837,470.01947,2015-01-01 01:18:23,bin4703,75, +CTSPillarNetworkA,4704,4704,4704,1982-11-18,470.1000000000384,470.11948,2015-01-01 01:18:24,bin4704,35, +CTSPillarNetworkA,4705,4705,4705,1982-11-19,470.2000000000384,470.21948,2015-01-01 01:18:25,bin4705,75, +CTSPillarNetworkA,4706,4706,4706,1982-11-20,470.30000000003844,470.3195,2015-01-01 01:18:26,bin4706,35, +CTSPillarNetworkA,4707,4707,4707,1982-11-21,470.40000000003846,470.4195,2015-01-01 01:18:27,bin4707,75, +CTSPillarNetworkA,4708,4708,4708,1982-11-22,470.5000000000385,470.5195,2015-01-01 01:18:28,bin4708,35, +CTSPillarNetworkA,4709,4709,4709,1982-11-23,470.6000000000385,470.6195,2015-01-01 01:18:29,bin4709,75, +CTSPillarNetworkA,4710,4710,4710,1982-11-24,470.70000000003853,470.7195,2015-01-01 01:18:30,bin4710,35, +CTSPillarNetworkA,4711,4711,4711,1982-11-25,470.80000000003855,470.81952,2015-01-01 01:18:31,bin4711,75, +CTSPillarNetworkA,4712,4712,4712,1982-11-26,470.9000000000386,470.91953,2015-01-01 01:18:32,bin4712,35, +CTSPillarNetworkA,4713,4713,4713,1982-11-27,471.0000000000386,471.01953,2015-01-01 01:18:33,bin4713,75, +CTSPillarNetworkA,4714,4714,4714,1982-11-28,471.1000000000386,471.11954,2015-01-01 01:18:34,bin4714,35, +CTSPillarNetworkA,4715,4715,4715,1982-11-29,471.20000000003864,471.21954,2015-01-01 01:18:35,bin4715,75, +CTSPillarNetworkA,4716,4716,4716,1982-11-30,471.30000000003866,471.31955,2015-01-01 01:18:36,bin4716,35, +CTSPillarNetworkA,4717,4717,4717,1982-12-01,471.4000000000387,471.41956,2015-01-01 01:18:37,bin4717,75, +CTSPillarNetworkA,4718,4718,4718,1982-12-02,471.5000000000387,471.51956,2015-01-01 01:18:38,bin4718,35, +CTSPillarNetworkA,4719,4719,4719,1982-12-03,471.60000000003873,471.61957,2015-01-01 01:18:39,bin4719,75, +CTSPillarNetworkA,4720,4720,4720,1982-12-04,471.70000000003876,471.71957,2015-01-01 01:18:40,bin4720,35, +CTSPillarNetworkA,4721,4721,4721,1982-12-05,471.8000000000388,471.81958,2015-01-01 01:18:41,bin4721,75, +CTSPillarNetworkA,4722,4722,4722,1982-12-06,471.9000000000388,471.9196,2015-01-01 01:18:42,bin4722,35, +CTSPillarNetworkA,4723,4723,4723,1982-12-07,472.0000000000388,472.0196,2015-01-01 01:18:43,bin4723,75, +CTSPillarNetworkA,4724,4724,4724,1982-12-08,472.10000000003885,472.1196,2015-01-01 01:18:44,bin4724,35, +CTSPillarNetworkA,4725,4725,4725,1982-12-09,472.20000000003887,472.2196,2015-01-01 01:18:45,bin4725,75, +CTSPillarNetworkA,4726,4726,4726,1982-12-10,472.3000000000389,472.3196,2015-01-01 01:18:46,bin4726,35, +CTSPillarNetworkA,4727,4727,4727,1982-12-11,472.4000000000389,472.41962,2015-01-01 01:18:47,bin4727,75, +CTSPillarNetworkA,4728,4728,4728,1982-12-12,472.50000000003894,472.51962,2015-01-01 01:18:48,bin4728,35, +CTSPillarNetworkA,4729,4729,4729,1982-12-13,472.60000000003896,472.61963,2015-01-01 01:18:49,bin4729,75, +CTSPillarNetworkA,4730,4730,4730,1982-12-14,472.700000000039,472.71964,2015-01-01 01:18:50,bin4730,35, +CTSPillarNetworkA,4731,4731,4731,1982-12-15,472.800000000039,472.81964,2015-01-01 01:18:51,bin4731,75, +CTSPillarNetworkA,4732,4732,4732,1982-12-16,472.90000000003903,472.91965,2015-01-01 01:18:52,bin4732,35, +CTSPillarNetworkA,4733,4733,4733,1982-12-17,473.00000000003905,473.01965,2015-01-01 01:18:53,bin4733,75, +CTSPillarNetworkA,4734,4734,4734,1982-12-18,473.1000000000391,473.11966,2015-01-01 01:18:54,bin4734,35, +CTSPillarNetworkA,4735,4735,4735,1982-12-19,473.2000000000391,473.21967,2015-01-01 01:18:55,bin4735,75, +CTSPillarNetworkA,4736,4736,4736,1982-12-20,473.3000000000391,473.31967,2015-01-01 01:18:56,bin4736,35, +CTSPillarNetworkA,4737,4737,4737,1982-12-21,473.40000000003914,473.41968,2015-01-01 01:18:57,bin4737,75, +CTSPillarNetworkA,4738,4738,4738,1982-12-22,473.50000000003917,473.51968,2015-01-01 01:18:58,bin4738,35, +CTSPillarNetworkA,4739,4739,4739,1982-12-23,473.6000000000392,473.6197,2015-01-01 01:18:59,bin4739,75, +CTSPillarNetworkA,4740,4740,4740,1982-12-24,473.7000000000392,473.7197,2015-01-01 01:19:00,bin4740,35, +CTSPillarNetworkA,4741,4741,4741,1982-12-25,473.80000000003923,473.8197,2015-01-01 01:19:01,bin4741,75, +CTSPillarNetworkA,4742,4742,4742,1982-12-26,473.90000000003926,473.9197,2015-01-01 01:19:02,bin4742,35, +CTSPillarNetworkA,4743,4743,4743,1982-12-27,474.0000000000393,474.0197,2015-01-01 01:19:03,bin4743,75, +CTSPillarNetworkA,4744,4744,4744,1982-12-28,474.1000000000393,474.11972,2015-01-01 01:19:04,bin4744,35, +CTSPillarNetworkA,4745,4745,4745,1982-12-29,474.2000000000393,474.21973,2015-01-01 01:19:05,bin4745,75, +CTSPillarNetworkA,4746,4746,4746,1982-12-30,474.30000000003935,474.31973,2015-01-01 01:19:06,bin4746,35, +CTSPillarNetworkA,4747,4747,4747,1982-12-31,474.40000000003937,474.41974,2015-01-01 01:19:07,bin4747,75, +CTSPillarNetworkA,4748,4748,4748,1983-01-01,474.5000000000394,474.51974,2015-01-01 01:19:08,bin4748,35, +CTSPillarNetworkA,4749,4749,4749,1983-01-02,474.6000000000394,474.61975,2015-01-01 01:19:09,bin4749,75, +CTSPillarNetworkA,4750,4750,4750,1983-01-03,474.70000000003944,474.71976,2015-01-01 01:19:10,bin4750,35, +CTSPillarNetworkA,4751,4751,4751,1983-01-04,474.80000000003946,474.81976,2015-01-01 01:19:11,bin4751,75, +CTSPillarNetworkA,4752,4752,4752,1983-01-05,474.9000000000395,474.91977,2015-01-01 01:19:12,bin4752,35, +CTSPillarNetworkA,4753,4753,4753,1983-01-06,475.0000000000395,475.01978,2015-01-01 01:19:13,bin4753,75, +CTSPillarNetworkA,4754,4754,4754,1983-01-07,475.10000000003953,475.11978,2015-01-01 01:19:14,bin4754,35, +CTSPillarNetworkA,4755,4755,4755,1983-01-08,475.20000000003955,475.2198,2015-01-01 01:19:15,bin4755,75, +CTSPillarNetworkA,4756,4756,4756,1983-01-09,475.3000000000396,475.3198,2015-01-01 01:19:16,bin4756,35, +CTSPillarNetworkA,4757,4757,4757,1983-01-10,475.4000000000396,475.4198,2015-01-01 01:19:17,bin4757,75, +CTSPillarNetworkA,4758,4758,4758,1983-01-11,475.5000000000396,475.5198,2015-01-01 01:19:18,bin4758,35, +CTSPillarNetworkA,4759,4759,4759,1983-01-12,475.60000000003964,475.6198,2015-01-01 01:19:19,bin4759,75, +CTSPillarNetworkA,4760,4760,4760,1983-01-13,475.70000000003967,475.71982,2015-01-01 01:19:20,bin4760,35, +CTSPillarNetworkA,4761,4761,4761,1983-01-14,475.8000000000397,475.81982,2015-01-01 01:19:21,bin4761,75, +CTSPillarNetworkA,4762,4762,4762,1983-01-15,475.9000000000397,475.91983,2015-01-01 01:19:22,bin4762,35, +CTSPillarNetworkA,4763,4763,4763,1983-01-16,476.00000000003973,476.01984,2015-01-01 01:19:23,bin4763,75, +CTSPillarNetworkA,4764,4764,4764,1983-01-17,476.10000000003976,476.11984,2015-01-01 01:19:24,bin4764,35, +CTSPillarNetworkA,4765,4765,4765,1983-01-18,476.2000000000398,476.21985,2015-01-01 01:19:25,bin4765,75, +CTSPillarNetworkA,4766,4766,4766,1983-01-19,476.3000000000398,476.31985,2015-01-01 01:19:26,bin4766,35, +CTSPillarNetworkA,4767,4767,4767,1983-01-20,476.4000000000398,476.41986,2015-01-01 01:19:27,bin4767,75, +CTSPillarNetworkA,4768,4768,4768,1983-01-21,476.50000000003985,476.51987,2015-01-01 01:19:28,bin4768,35, +CTSPillarNetworkA,4769,4769,4769,1983-01-22,476.60000000003987,476.61987,2015-01-01 01:19:29,bin4769,75, +CTSPillarNetworkA,4770,4770,4770,1983-01-23,476.7000000000399,476.71988,2015-01-01 01:19:30,bin4770,35, +CTSPillarNetworkA,4771,4771,4771,1983-01-24,476.8000000000399,476.8199,2015-01-01 01:19:31,bin4771,75, +CTSPillarNetworkA,4772,4772,4772,1983-01-25,476.90000000003994,476.9199,2015-01-01 01:19:32,bin4772,35, +CTSPillarNetworkA,4773,4773,4773,1983-01-26,477.00000000003996,477.0199,2015-01-01 01:19:33,bin4773,75, +CTSPillarNetworkA,4774,4774,4774,1983-01-27,477.10000000004,477.1199,2015-01-01 01:19:34,bin4774,35, +CTSPillarNetworkA,4775,4775,4775,1983-01-28,477.20000000004,477.2199,2015-01-01 01:19:35,bin4775,75, +CTSPillarNetworkA,4776,4776,4776,1983-01-29,477.30000000004003,477.31992,2015-01-01 01:19:36,bin4776,35, +CTSPillarNetworkA,4777,4777,4777,1983-01-30,477.40000000004005,477.41992,2015-01-01 01:19:37,bin4777,75, +CTSPillarNetworkA,4778,4778,4778,1983-01-31,477.5000000000401,477.51993,2015-01-01 01:19:38,bin4778,35, +CTSPillarNetworkA,4779,4779,4779,1983-02-01,477.6000000000401,477.61993,2015-01-01 01:19:39,bin4779,75, +CTSPillarNetworkA,4780,4780,4780,1983-02-02,477.7000000000401,477.71994,2015-01-01 01:19:40,bin4780,35, +CTSPillarNetworkA,4781,4781,4781,1983-02-03,477.80000000004014,477.81995,2015-01-01 01:19:41,bin4781,75, +CTSPillarNetworkA,4782,4782,4782,1983-02-04,477.90000000004017,477.91995,2015-01-01 01:19:42,bin4782,35, +CTSPillarNetworkA,4783,4783,4783,1983-02-05,478.0000000000402,478.01996,2015-01-01 01:19:43,bin4783,75, +CTSPillarNetworkA,4784,4784,4784,1983-02-06,478.1000000000402,478.11996,2015-01-01 01:19:44,bin4784,35, +CTSPillarNetworkA,4785,4785,4785,1983-02-07,478.20000000004023,478.21997,2015-01-01 01:19:45,bin4785,75, +CTSPillarNetworkA,4786,4786,4786,1983-02-08,478.30000000004026,478.31998,2015-01-01 01:19:46,bin4786,35, +CTSPillarNetworkA,4787,4787,4787,1983-02-09,478.4000000000403,478.41998,2015-01-01 01:19:47,bin4787,75, +CTSPillarNetworkA,4788,4788,4788,1983-02-10,478.5000000000403,478.52,2015-01-01 01:19:48,bin4788,35, +CTSPillarNetworkA,4789,4789,4789,1983-02-11,478.6000000000403,478.62,2015-01-01 01:19:49,bin4789,75, +CTSPillarNetworkA,4790,4790,4790,1983-02-12,478.70000000004035,478.72,2015-01-01 01:19:50,bin4790,35, +CTSPillarNetworkA,4791,4791,4791,1983-02-13,478.80000000004037,478.82,2015-01-01 01:19:51,bin4791,75, +CTSPillarNetworkA,4792,4792,4792,1983-02-14,478.9000000000404,478.92,2015-01-01 01:19:52,bin4792,35, +CTSPillarNetworkA,4793,4793,4793,1983-02-15,479.0000000000404,479.02002,2015-01-01 01:19:53,bin4793,75, +CTSPillarNetworkA,4794,4794,4794,1983-02-16,479.10000000004044,479.12003,2015-01-01 01:19:54,bin4794,35, +CTSPillarNetworkA,4795,4795,4795,1983-02-17,479.20000000004046,479.22003,2015-01-01 01:19:55,bin4795,75, +CTSPillarNetworkA,4796,4796,4796,1983-02-18,479.3000000000405,479.32004,2015-01-01 01:19:56,bin4796,35, +CTSPillarNetworkA,4797,4797,4797,1983-02-19,479.4000000000405,479.42004,2015-01-01 01:19:57,bin4797,75, +CTSPillarNetworkA,4798,4798,4798,1983-02-20,479.50000000004053,479.52005,2015-01-01 01:19:58,bin4798,35, +CTSPillarNetworkA,4799,4799,4799,1983-02-21,479.60000000004055,479.62006,2015-01-01 01:19:59,bin4799,75, +CTSPillarNetworkA,4800,4800,4800,1983-02-22,479.7000000000406,479.72006,2015-01-01 01:20:00,bin4800,35, +CTSPillarNetworkA,4801,4801,4801,1983-02-23,479.8000000000406,479.82007,2015-01-01 01:20:01,bin4801,75, +CTSPillarNetworkA,4802,4802,4802,1983-02-24,479.9000000000406,479.92007,2015-01-01 01:20:02,bin4802,35, +CTSPillarNetworkA,4803,4803,4803,1983-02-25,480.00000000004064,480.02008,2015-01-01 01:20:03,bin4803,75, +CTSPillarNetworkA,4804,4804,4804,1983-02-26,480.10000000004067,480.1201,2015-01-01 01:20:04,bin4804,35, +CTSPillarNetworkA,4805,4805,4805,1983-02-27,480.2000000000407,480.2201,2015-01-01 01:20:05,bin4805,75, +CTSPillarNetworkA,4806,4806,4806,1983-02-28,480.3000000000407,480.3201,2015-01-01 01:20:06,bin4806,35, +CTSPillarNetworkA,4807,4807,4807,1983-03-01,480.40000000004073,480.4201,2015-01-01 01:20:07,bin4807,75, +CTSPillarNetworkA,4808,4808,4808,1983-03-02,480.50000000004076,480.5201,2015-01-01 01:20:08,bin4808,35, +CTSPillarNetworkA,4809,4809,4809,1983-03-03,480.6000000000408,480.62012,2015-01-01 01:20:09,bin4809,75, +CTSPillarNetworkA,4810,4810,4810,1983-03-04,480.7000000000408,480.72012,2015-01-01 01:20:10,bin4810,35, +CTSPillarNetworkA,4811,4811,4811,1983-03-05,480.8000000000408,480.82013,2015-01-01 01:20:11,bin4811,75, +CTSPillarNetworkA,4812,4812,4812,1983-03-06,480.90000000004085,480.92014,2015-01-01 01:20:12,bin4812,35, +CTSPillarNetworkA,4813,4813,4813,1983-03-07,481.00000000004087,481.02014,2015-01-01 01:20:13,bin4813,75, +CTSPillarNetworkA,4814,4814,4814,1983-03-08,481.1000000000409,481.12015,2015-01-01 01:20:14,bin4814,35, +CTSPillarNetworkA,4815,4815,4815,1983-03-09,481.2000000000409,481.22015,2015-01-01 01:20:15,bin4815,75, +CTSPillarNetworkA,4816,4816,4816,1983-03-10,481.30000000004094,481.32016,2015-01-01 01:20:16,bin4816,35, +CTSPillarNetworkA,4817,4817,4817,1983-03-11,481.40000000004096,481.42017,2015-01-01 01:20:17,bin4817,75, +CTSPillarNetworkA,4818,4818,4818,1983-03-12,481.500000000041,481.52017,2015-01-01 01:20:18,bin4818,35, +CTSPillarNetworkA,4819,4819,4819,1983-03-13,481.600000000041,481.62018,2015-01-01 01:20:19,bin4819,75, +CTSPillarNetworkA,4820,4820,4820,1983-03-14,481.70000000004103,481.72018,2015-01-01 01:20:20,bin4820,35, +CTSPillarNetworkA,4821,4821,4821,1983-03-15,481.80000000004105,481.8202,2015-01-01 01:20:21,bin4821,75, +CTSPillarNetworkA,4822,4822,4822,1983-03-16,481.9000000000411,481.9202,2015-01-01 01:20:22,bin4822,35, +CTSPillarNetworkA,4823,4823,4823,1983-03-17,482.0000000000411,482.0202,2015-01-01 01:20:23,bin4823,75, +CTSPillarNetworkA,4824,4824,4824,1983-03-18,482.1000000000411,482.1202,2015-01-01 01:20:24,bin4824,35, +CTSPillarNetworkA,4825,4825,4825,1983-03-19,482.20000000004114,482.2202,2015-01-01 01:20:25,bin4825,75, +CTSPillarNetworkA,4826,4826,4826,1983-03-20,482.30000000004117,482.32022,2015-01-01 01:20:26,bin4826,35, +CTSPillarNetworkA,4827,4827,4827,1983-03-21,482.4000000000412,482.42023,2015-01-01 01:20:27,bin4827,75, +CTSPillarNetworkA,4828,4828,4828,1983-03-22,482.5000000000412,482.52023,2015-01-01 01:20:28,bin4828,35, +CTSPillarNetworkA,4829,4829,4829,1983-03-23,482.60000000004123,482.62024,2015-01-01 01:20:29,bin4829,75, +CTSPillarNetworkA,4830,4830,4830,1983-03-24,482.70000000004126,482.72025,2015-01-01 01:20:30,bin4830,35, +CTSPillarNetworkA,4831,4831,4831,1983-03-25,482.8000000000413,482.82025,2015-01-01 01:20:31,bin4831,75, +CTSPillarNetworkA,4832,4832,4832,1983-03-26,482.9000000000413,482.92026,2015-01-01 01:20:32,bin4832,35, +CTSPillarNetworkA,4833,4833,4833,1983-03-27,483.0000000000413,483.02026,2015-01-01 01:20:33,bin4833,75, +CTSPillarNetworkA,4834,4834,4834,1983-03-28,483.10000000004135,483.12027,2015-01-01 01:20:34,bin4834,35, +CTSPillarNetworkA,4835,4835,4835,1983-03-29,483.20000000004137,483.22028,2015-01-01 01:20:35,bin4835,75, +CTSPillarNetworkA,4836,4836,4836,1983-03-30,483.3000000000414,483.32028,2015-01-01 01:20:36,bin4836,35, +CTSPillarNetworkA,4837,4837,4837,1983-03-31,483.4000000000414,483.4203,2015-01-01 01:20:37,bin4837,75, +CTSPillarNetworkA,4838,4838,4838,1983-04-01,483.50000000004144,483.5203,2015-01-01 01:20:38,bin4838,35, +CTSPillarNetworkA,4839,4839,4839,1983-04-02,483.60000000004146,483.6203,2015-01-01 01:20:39,bin4839,75, +CTSPillarNetworkA,4840,4840,4840,1983-04-03,483.7000000000415,483.7203,2015-01-01 01:20:40,bin4840,35, +CTSPillarNetworkA,4841,4841,4841,1983-04-04,483.8000000000415,483.8203,2015-01-01 01:20:41,bin4841,75, +CTSPillarNetworkA,4842,4842,4842,1983-04-05,483.90000000004153,483.92032,2015-01-01 01:20:42,bin4842,35, +CTSPillarNetworkA,4843,4843,4843,1983-04-06,484.00000000004155,484.02032,2015-01-01 01:20:43,bin4843,75, +CTSPillarNetworkA,4844,4844,4844,1983-04-07,484.1000000000416,484.12033,2015-01-01 01:20:44,bin4844,35, +CTSPillarNetworkA,4845,4845,4845,1983-04-08,484.2000000000416,484.22034,2015-01-01 01:20:45,bin4845,75, +CTSPillarNetworkA,4846,4846,4846,1983-04-09,484.3000000000416,484.32034,2015-01-01 01:20:46,bin4846,35, +CTSPillarNetworkA,4847,4847,4847,1983-04-10,484.40000000004164,484.42035,2015-01-01 01:20:47,bin4847,75, +CTSPillarNetworkA,4848,4848,4848,1983-04-11,484.50000000004167,484.52036,2015-01-01 01:20:48,bin4848,35, +CTSPillarNetworkA,4849,4849,4849,1983-04-12,484.6000000000417,484.62036,2015-01-01 01:20:49,bin4849,75, +CTSPillarNetworkA,4850,4850,4850,1983-04-13,484.7000000000417,484.72037,2015-01-01 01:20:50,bin4850,35, +CTSPillarNetworkA,4851,4851,4851,1983-04-14,484.80000000004173,484.82037,2015-01-01 01:20:51,bin4851,75, +CTSPillarNetworkA,4852,4852,4852,1983-04-15,484.90000000004176,484.92038,2015-01-01 01:20:52,bin4852,35, +CTSPillarNetworkA,4853,4853,4853,1983-04-16,485.0000000000418,485.0204,2015-01-01 01:20:53,bin4853,75, +CTSPillarNetworkA,4854,4854,4854,1983-04-17,485.1000000000418,485.1204,2015-01-01 01:20:54,bin4854,35, +CTSPillarNetworkA,4855,4855,4855,1983-04-18,485.2000000000418,485.2204,2015-01-01 01:20:55,bin4855,75, +CTSPillarNetworkA,4856,4856,4856,1983-04-19,485.30000000004185,485.3204,2015-01-01 01:20:56,bin4856,35, +CTSPillarNetworkA,4857,4857,4857,1983-04-20,485.40000000004187,485.4204,2015-01-01 01:20:57,bin4857,75, +CTSPillarNetworkA,4858,4858,4858,1983-04-21,485.5000000000419,485.52042,2015-01-01 01:20:58,bin4858,35, +CTSPillarNetworkA,4859,4859,4859,1983-04-22,485.6000000000419,485.62042,2015-01-01 01:20:59,bin4859,75, +CTSPillarNetworkA,4860,4860,4860,1983-04-23,485.70000000004194,485.72043,2015-01-01 01:21:00,bin4860,35, +CTSPillarNetworkA,4861,4861,4861,1983-04-24,485.80000000004196,485.82043,2015-01-01 01:21:01,bin4861,75, +CTSPillarNetworkA,4862,4862,4862,1983-04-25,485.900000000042,485.92044,2015-01-01 01:21:02,bin4862,35, +CTSPillarNetworkA,4863,4863,4863,1983-04-26,486.000000000042,486.02045,2015-01-01 01:21:03,bin4863,75, +CTSPillarNetworkA,4864,4864,4864,1983-04-27,486.10000000004203,486.12045,2015-01-01 01:21:04,bin4864,35, +CTSPillarNetworkA,4865,4865,4865,1983-04-28,486.20000000004205,486.22046,2015-01-01 01:21:05,bin4865,75, +CTSPillarNetworkA,4866,4866,4866,1983-04-29,486.3000000000421,486.32047,2015-01-01 01:21:06,bin4866,35, +CTSPillarNetworkA,4867,4867,4867,1983-04-30,486.4000000000421,486.42047,2015-01-01 01:21:07,bin4867,75, +CTSPillarNetworkA,4868,4868,4868,1983-05-01,486.5000000000421,486.52048,2015-01-01 01:21:08,bin4868,35, +CTSPillarNetworkA,4869,4869,4869,1983-05-02,486.60000000004214,486.62048,2015-01-01 01:21:09,bin4869,75, +CTSPillarNetworkA,4870,4870,4870,1983-05-03,486.70000000004217,486.7205,2015-01-01 01:21:10,bin4870,35, +CTSPillarNetworkA,4871,4871,4871,1983-05-04,486.8000000000422,486.8205,2015-01-01 01:21:11,bin4871,75, +CTSPillarNetworkA,4872,4872,4872,1983-05-05,486.9000000000422,486.9205,2015-01-01 01:21:12,bin4872,35, +CTSPillarNetworkA,4873,4873,4873,1983-05-06,487.00000000004223,487.0205,2015-01-01 01:21:13,bin4873,75, +CTSPillarNetworkA,4874,4874,4874,1983-05-07,487.10000000004226,487.1205,2015-01-01 01:21:14,bin4874,35, +CTSPillarNetworkA,4875,4875,4875,1983-05-08,487.2000000000423,487.22052,2015-01-01 01:21:15,bin4875,75, +CTSPillarNetworkA,4876,4876,4876,1983-05-09,487.3000000000423,487.32053,2015-01-01 01:21:16,bin4876,35, +CTSPillarNetworkA,4877,4877,4877,1983-05-10,487.4000000000423,487.42053,2015-01-01 01:21:17,bin4877,75, +CTSPillarNetworkA,4878,4878,4878,1983-05-11,487.50000000004235,487.52054,2015-01-01 01:21:18,bin4878,35, +CTSPillarNetworkA,4879,4879,4879,1983-05-12,487.60000000004237,487.62054,2015-01-01 01:21:19,bin4879,75, +CTSPillarNetworkA,4880,4880,4880,1983-05-13,487.7000000000424,487.72055,2015-01-01 01:21:20,bin4880,35, +CTSPillarNetworkA,4881,4881,4881,1983-05-14,487.8000000000424,487.82056,2015-01-01 01:21:21,bin4881,75, +CTSPillarNetworkA,4882,4882,4882,1983-05-15,487.90000000004244,487.92056,2015-01-01 01:21:22,bin4882,35, +CTSPillarNetworkA,4883,4883,4883,1983-05-16,488.00000000004246,488.02057,2015-01-01 01:21:23,bin4883,75, +CTSPillarNetworkA,4884,4884,4884,1983-05-17,488.1000000000425,488.12057,2015-01-01 01:21:24,bin4884,35, +CTSPillarNetworkA,4885,4885,4885,1983-05-18,488.2000000000425,488.22058,2015-01-01 01:21:25,bin4885,75, +CTSPillarNetworkA,4886,4886,4886,1983-05-19,488.30000000004253,488.3206,2015-01-01 01:21:26,bin4886,35, +CTSPillarNetworkA,4887,4887,4887,1983-05-20,488.40000000004255,488.4206,2015-01-01 01:21:27,bin4887,75, +CTSPillarNetworkA,4888,4888,4888,1983-05-21,488.5000000000426,488.5206,2015-01-01 01:21:28,bin4888,35, +CTSPillarNetworkA,4889,4889,4889,1983-05-22,488.6000000000426,488.6206,2015-01-01 01:21:29,bin4889,75, +CTSPillarNetworkA,4890,4890,4890,1983-05-23,488.7000000000426,488.7206,2015-01-01 01:21:30,bin4890,35, +CTSPillarNetworkA,4891,4891,4891,1983-05-24,488.80000000004264,488.82062,2015-01-01 01:21:31,bin4891,75, +CTSPillarNetworkA,4892,4892,4892,1983-05-25,488.90000000004267,488.92062,2015-01-01 01:21:32,bin4892,35, +CTSPillarNetworkA,4893,4893,4893,1983-05-26,489.0000000000427,489.02063,2015-01-01 01:21:33,bin4893,75, +CTSPillarNetworkA,4894,4894,4894,1983-05-27,489.1000000000427,489.12064,2015-01-01 01:21:34,bin4894,35, +CTSPillarNetworkA,4895,4895,4895,1983-05-28,489.20000000004273,489.22064,2015-01-01 01:21:35,bin4895,75, +CTSPillarNetworkA,4896,4896,4896,1983-05-29,489.30000000004276,489.32065,2015-01-01 01:21:36,bin4896,35, +CTSPillarNetworkA,4897,4897,4897,1983-05-30,489.4000000000428,489.42065,2015-01-01 01:21:37,bin4897,75, +CTSPillarNetworkA,4898,4898,4898,1983-05-31,489.5000000000428,489.52066,2015-01-01 01:21:38,bin4898,35, +CTSPillarNetworkA,4899,4899,4899,1983-06-01,489.6000000000428,489.62067,2015-01-01 01:21:39,bin4899,75, +CTSPillarNetworkA,4900,4900,4900,1983-06-02,489.70000000004285,489.72067,2015-01-01 01:21:40,bin4900,35, +CTSPillarNetworkA,4901,4901,4901,1983-06-03,489.80000000004287,489.82068,2015-01-01 01:21:41,bin4901,75, +CTSPillarNetworkA,4902,4902,4902,1983-06-04,489.9000000000429,489.9207,2015-01-01 01:21:42,bin4902,35, +CTSPillarNetworkA,4903,4903,4903,1983-06-05,490.0000000000429,490.0207,2015-01-01 01:21:43,bin4903,75, +CTSPillarNetworkA,4904,4904,4904,1983-06-06,490.10000000004294,490.1207,2015-01-01 01:21:44,bin4904,35, +CTSPillarNetworkA,4905,4905,4905,1983-06-07,490.20000000004296,490.2207,2015-01-01 01:21:45,bin4905,75, +CTSPillarNetworkA,4906,4906,4906,1983-06-08,490.300000000043,490.3207,2015-01-01 01:21:46,bin4906,35, +CTSPillarNetworkA,4907,4907,4907,1983-06-09,490.400000000043,490.42072,2015-01-01 01:21:47,bin4907,75, +CTSPillarNetworkA,4908,4908,4908,1983-06-10,490.50000000004303,490.52072,2015-01-01 01:21:48,bin4908,35, +CTSPillarNetworkA,4909,4909,4909,1983-06-11,490.60000000004305,490.62073,2015-01-01 01:21:49,bin4909,75, +CTSPillarNetworkA,4910,4910,4910,1983-06-12,490.7000000000431,490.72073,2015-01-01 01:21:50,bin4910,35, +CTSPillarNetworkA,4911,4911,4911,1983-06-13,490.8000000000431,490.82074,2015-01-01 01:21:51,bin4911,75, +CTSPillarNetworkA,4912,4912,4912,1983-06-14,490.9000000000431,490.92075,2015-01-01 01:21:52,bin4912,35, +CTSPillarNetworkA,4913,4913,4913,1983-06-15,491.00000000004314,491.02075,2015-01-01 01:21:53,bin4913,75, +CTSPillarNetworkA,4914,4914,4914,1983-06-16,491.10000000004317,491.12076,2015-01-01 01:21:54,bin4914,35, +CTSPillarNetworkA,4915,4915,4915,1983-06-17,491.2000000000432,491.22076,2015-01-01 01:21:55,bin4915,75, +CTSPillarNetworkA,4916,4916,4916,1983-06-18,491.3000000000432,491.32077,2015-01-01 01:21:56,bin4916,35, +CTSPillarNetworkA,4917,4917,4917,1983-06-19,491.40000000004324,491.42078,2015-01-01 01:21:57,bin4917,75, +CTSPillarNetworkA,4918,4918,4918,1983-06-20,491.50000000004326,491.52078,2015-01-01 01:21:58,bin4918,35, +CTSPillarNetworkA,4919,4919,4919,1983-06-21,491.6000000000433,491.6208,2015-01-01 01:21:59,bin4919,75, +CTSPillarNetworkA,4920,4920,4920,1983-06-22,491.7000000000433,491.7208,2015-01-01 01:22:00,bin4920,35, +CTSPillarNetworkA,4921,4921,4921,1983-06-23,491.8000000000433,491.8208,2015-01-01 01:22:01,bin4921,75, +CTSPillarNetworkA,4922,4922,4922,1983-06-24,491.90000000004335,491.9208,2015-01-01 01:22:02,bin4922,35, +CTSPillarNetworkA,4923,4923,4923,1983-06-25,492.00000000004337,492.0208,2015-01-01 01:22:03,bin4923,75, +CTSPillarNetworkA,4924,4924,4924,1983-06-26,492.1000000000434,492.12082,2015-01-01 01:22:04,bin4924,35, +CTSPillarNetworkA,4925,4925,4925,1983-06-27,492.2000000000434,492.22083,2015-01-01 01:22:05,bin4925,75, +CTSPillarNetworkA,4926,4926,4926,1983-06-28,492.30000000004344,492.32083,2015-01-01 01:22:06,bin4926,35, +CTSPillarNetworkA,4927,4927,4927,1983-06-29,492.40000000004346,492.42084,2015-01-01 01:22:07,bin4927,75, +CTSPillarNetworkA,4928,4928,4928,1983-06-30,492.5000000000435,492.52084,2015-01-01 01:22:08,bin4928,35, +CTSPillarNetworkA,4929,4929,4929,1983-07-01,492.6000000000435,492.62085,2015-01-01 01:22:09,bin4929,75, +CTSPillarNetworkA,4930,4930,4930,1983-07-02,492.70000000004353,492.72086,2015-01-01 01:22:10,bin4930,35, +CTSPillarNetworkA,4931,4931,4931,1983-07-03,492.80000000004355,492.82086,2015-01-01 01:22:11,bin4931,75, +CTSPillarNetworkA,4932,4932,4932,1983-07-04,492.9000000000436,492.92087,2015-01-01 01:22:12,bin4932,35, +CTSPillarNetworkA,4933,4933,4933,1983-07-05,493.0000000000436,493.02087,2015-01-01 01:22:13,bin4933,75, +CTSPillarNetworkA,4934,4934,4934,1983-07-06,493.1000000000436,493.12088,2015-01-01 01:22:14,bin4934,35, +CTSPillarNetworkA,4935,4935,4935,1983-07-07,493.20000000004364,493.2209,2015-01-01 01:22:15,bin4935,75, +CTSPillarNetworkA,4936,4936,4936,1983-07-08,493.30000000004367,493.3209,2015-01-01 01:22:16,bin4936,35, +CTSPillarNetworkA,4937,4937,4937,1983-07-09,493.4000000000437,493.4209,2015-01-01 01:22:17,bin4937,75, +CTSPillarNetworkA,4938,4938,4938,1983-07-10,493.5000000000437,493.5209,2015-01-01 01:22:18,bin4938,35, +CTSPillarNetworkA,4939,4939,4939,1983-07-11,493.60000000004374,493.6209,2015-01-01 01:22:19,bin4939,75, +CTSPillarNetworkA,4940,4940,4940,1983-07-12,493.70000000004376,493.72092,2015-01-01 01:22:20,bin4940,35, +CTSPillarNetworkA,4941,4941,4941,1983-07-13,493.8000000000438,493.82092,2015-01-01 01:22:21,bin4941,75, +CTSPillarNetworkA,4942,4942,4942,1983-07-14,493.9000000000438,493.92093,2015-01-01 01:22:22,bin4942,35, +CTSPillarNetworkA,4943,4943,4943,1983-07-15,494.0000000000438,494.02094,2015-01-01 01:22:23,bin4943,75, +CTSPillarNetworkA,4944,4944,4944,1983-07-16,494.10000000004385,494.12094,2015-01-01 01:22:24,bin4944,35, +CTSPillarNetworkA,4945,4945,4945,1983-07-17,494.2000000000439,494.22095,2015-01-01 01:22:25,bin4945,75, +CTSPillarNetworkA,4946,4946,4946,1983-07-18,494.3000000000439,494.32095,2015-01-01 01:22:26,bin4946,35, +CTSPillarNetworkA,4947,4947,4947,1983-07-19,494.4000000000439,494.42096,2015-01-01 01:22:27,bin4947,75, +CTSPillarNetworkA,4948,4948,4948,1983-07-20,494.50000000004394,494.52097,2015-01-01 01:22:28,bin4948,35, +CTSPillarNetworkA,4949,4949,4949,1983-07-21,494.60000000004396,494.62097,2015-01-01 01:22:29,bin4949,75, +CTSPillarNetworkA,4950,4950,4950,1983-07-22,494.700000000044,494.72098,2015-01-01 01:22:30,bin4950,35, +CTSPillarNetworkA,4951,4951,4951,1983-07-23,494.800000000044,494.82098,2015-01-01 01:22:31,bin4951,75, +CTSPillarNetworkA,4952,4952,4952,1983-07-24,494.90000000004403,494.921,2015-01-01 01:22:32,bin4952,35, +CTSPillarNetworkA,4953,4953,4953,1983-07-25,495.00000000004405,495.021,2015-01-01 01:22:33,bin4953,75, +CTSPillarNetworkA,4954,4954,4954,1983-07-26,495.1000000000441,495.121,2015-01-01 01:22:34,bin4954,35, +CTSPillarNetworkA,4955,4955,4955,1983-07-27,495.2000000000441,495.221,2015-01-01 01:22:35,bin4955,75, +CTSPillarNetworkA,4956,4956,4956,1983-07-28,495.3000000000441,495.321,2015-01-01 01:22:36,bin4956,35, +CTSPillarNetworkA,4957,4957,4957,1983-07-29,495.40000000004414,495.42102,2015-01-01 01:22:37,bin4957,75, +CTSPillarNetworkA,4958,4958,4958,1983-07-30,495.50000000004417,495.52103,2015-01-01 01:22:38,bin4958,35, +CTSPillarNetworkA,4959,4959,4959,1983-07-31,495.6000000000442,495.62103,2015-01-01 01:22:39,bin4959,75, +CTSPillarNetworkA,4960,4960,4960,1983-08-01,495.7000000000442,495.72104,2015-01-01 01:22:40,bin4960,35, +CTSPillarNetworkA,4961,4961,4961,1983-08-02,495.80000000004424,495.82104,2015-01-01 01:22:41,bin4961,75, +CTSPillarNetworkA,4962,4962,4962,1983-08-03,495.90000000004426,495.92105,2015-01-01 01:22:42,bin4962,35, +CTSPillarNetworkA,4963,4963,4963,1983-08-04,496.0000000000443,496.02106,2015-01-01 01:22:43,bin4963,75, +CTSPillarNetworkA,4964,4964,4964,1983-08-05,496.1000000000443,496.12106,2015-01-01 01:22:44,bin4964,35, +CTSPillarNetworkA,4965,4965,4965,1983-08-06,496.2000000000443,496.22107,2015-01-01 01:22:45,bin4965,75, +CTSPillarNetworkA,4966,4966,4966,1983-08-07,496.30000000004435,496.32108,2015-01-01 01:22:46,bin4966,35, +CTSPillarNetworkA,4967,4967,4967,1983-08-08,496.4000000000444,496.42108,2015-01-01 01:22:47,bin4967,75, +CTSPillarNetworkA,4968,4968,4968,1983-08-09,496.5000000000444,496.5211,2015-01-01 01:22:48,bin4968,35, +CTSPillarNetworkA,4969,4969,4969,1983-08-10,496.6000000000444,496.6211,2015-01-01 01:22:49,bin4969,75, +CTSPillarNetworkA,4970,4970,4970,1983-08-11,496.70000000004444,496.7211,2015-01-01 01:22:50,bin4970,35, +CTSPillarNetworkA,4971,4971,4971,1983-08-12,496.80000000004446,496.8211,2015-01-01 01:22:51,bin4971,75, +CTSPillarNetworkA,4972,4972,4972,1983-08-13,496.9000000000445,496.9211,2015-01-01 01:22:52,bin4972,35, +CTSPillarNetworkA,4973,4973,4973,1983-08-14,497.0000000000445,497.02112,2015-01-01 01:22:53,bin4973,75, +CTSPillarNetworkA,4974,4974,4974,1983-08-15,497.10000000004453,497.12112,2015-01-01 01:22:54,bin4974,35, +CTSPillarNetworkA,4975,4975,4975,1983-08-16,497.20000000004455,497.22113,2015-01-01 01:22:55,bin4975,75, +CTSPillarNetworkA,4976,4976,4976,1983-08-17,497.3000000000446,497.32114,2015-01-01 01:22:56,bin4976,35, +CTSPillarNetworkA,4977,4977,4977,1983-08-18,497.4000000000446,497.42114,2015-01-01 01:22:57,bin4977,75, +CTSPillarNetworkA,4978,4978,4978,1983-08-19,497.5000000000446,497.52115,2015-01-01 01:22:58,bin4978,35, +CTSPillarNetworkA,4979,4979,4979,1983-08-20,497.60000000004464,497.62115,2015-01-01 01:22:59,bin4979,75, +CTSPillarNetworkA,4980,4980,4980,1983-08-21,497.70000000004467,497.72116,2015-01-01 01:23:00,bin4980,35, +CTSPillarNetworkA,4981,4981,4981,1983-08-22,497.8000000000447,497.82117,2015-01-01 01:23:01,bin4981,75, +CTSPillarNetworkA,4982,4982,4982,1983-08-23,497.9000000000447,497.92117,2015-01-01 01:23:02,bin4982,35, +CTSPillarNetworkA,4983,4983,4983,1983-08-24,498.00000000004474,498.02118,2015-01-01 01:23:03,bin4983,75, +CTSPillarNetworkA,4984,4984,4984,1983-08-25,498.10000000004476,498.1212,2015-01-01 01:23:04,bin4984,35, +CTSPillarNetworkA,4985,4985,4985,1983-08-26,498.2000000000448,498.2212,2015-01-01 01:23:05,bin4985,75, +CTSPillarNetworkA,4986,4986,4986,1983-08-27,498.3000000000448,498.3212,2015-01-01 01:23:06,bin4986,35, +CTSPillarNetworkA,4987,4987,4987,1983-08-28,498.4000000000448,498.4212,2015-01-01 01:23:07,bin4987,75, +CTSPillarNetworkA,4988,4988,4988,1983-08-29,498.50000000004485,498.5212,2015-01-01 01:23:08,bin4988,35, +CTSPillarNetworkA,4989,4989,4989,1983-08-30,498.6000000000449,498.62122,2015-01-01 01:23:09,bin4989,75, +CTSPillarNetworkA,4990,4990,4990,1983-08-31,498.7000000000449,498.72122,2015-01-01 01:23:10,bin4990,35, +CTSPillarNetworkA,4991,4991,4991,1983-09-01,498.8000000000449,498.82123,2015-01-01 01:23:11,bin4991,75, +CTSPillarNetworkA,4992,4992,4992,1983-09-02,498.90000000004494,498.92123,2015-01-01 01:23:12,bin4992,35, +CTSPillarNetworkA,4993,4993,4993,1983-09-03,499.00000000004496,499.02124,2015-01-01 01:23:13,bin4993,75, +CTSPillarNetworkA,4994,4994,4994,1983-09-04,499.100000000045,499.12125,2015-01-01 01:23:14,bin4994,35, +CTSPillarNetworkA,4995,4995,4995,1983-09-05,499.200000000045,499.22125,2015-01-01 01:23:15,bin4995,75, +CTSPillarNetworkA,4996,4996,4996,1983-09-06,499.30000000004503,499.32126,2015-01-01 01:23:16,bin4996,35, +CTSPillarNetworkA,4997,4997,4997,1983-09-07,499.40000000004505,499.42126,2015-01-01 01:23:17,bin4997,75, +CTSPillarNetworkA,4998,4998,4998,1983-09-08,499.5000000000451,499.52127,2015-01-01 01:23:18,bin4998,35, +CTSPillarNetworkA,4999,4999,4999,1983-09-09,499.6000000000451,499.62128,2015-01-01 01:23:19,bin4999,75, +CTSPillarNetworkA,5000,5000,5000,1983-09-10,499.7000000000451,499.72128,2015-01-01 01:23:20,bin5000,35, +CTSPillarNetworkA,5001,5001,5001,1983-09-11,499.80000000004515,499.8213,2015-01-01 01:23:21,bin5001,75, +CTSPillarNetworkA,5002,5002,5002,1983-09-12,499.90000000004517,499.9213,2015-01-01 01:23:22,bin5002,35, +CTSPillarNetworkA,5003,5003,5003,1983-09-13,500.0000000000452,500.0213,2015-01-01 01:23:23,bin5003,75, +CTSPillarNetworkA,5004,5004,5004,1983-09-14,500.1000000000452,500.1213,2015-01-01 01:23:24,bin5004,35, +CTSPillarNetworkA,5005,5005,5005,1983-09-15,500.20000000004524,500.2213,2015-01-01 01:23:25,bin5005,75, +CTSPillarNetworkA,5006,5006,5006,1983-09-16,500.30000000004526,500.32132,2015-01-01 01:23:26,bin5006,35, +CTSPillarNetworkA,5007,5007,5007,1983-09-17,500.4000000000453,500.42133,2015-01-01 01:23:27,bin5007,75, +CTSPillarNetworkA,5008,5008,5008,1983-09-18,500.5000000000453,500.52133,2015-01-01 01:23:28,bin5008,35, +CTSPillarNetworkA,5009,5009,5009,1983-09-19,500.6000000000453,500.62134,2015-01-01 01:23:29,bin5009,75, +CTSPillarNetworkA,5010,5010,5010,1983-09-20,500.70000000004535,500.72134,2015-01-01 01:23:30,bin5010,35, +CTSPillarNetworkA,5011,5011,5011,1983-09-21,500.8000000000454,500.82135,2015-01-01 01:23:31,bin5011,75, +CTSPillarNetworkA,5012,5012,5012,1983-09-22,500.9000000000454,500.92136,2015-01-01 01:23:32,bin5012,35, +CTSPillarNetworkA,5013,5013,5013,1983-09-23,501.0000000000454,501.02136,2015-01-01 01:23:33,bin5013,75, +CTSPillarNetworkA,5014,5014,5014,1983-09-24,501.10000000004544,501.12137,2015-01-01 01:23:34,bin5014,35, +CTSPillarNetworkA,5015,5015,5015,1983-09-25,501.20000000004546,501.22137,2015-01-01 01:23:35,bin5015,75, +CTSPillarNetworkA,5016,5016,5016,1983-09-26,501.3000000000455,501.32138,2015-01-01 01:23:36,bin5016,35, +CTSPillarNetworkA,5017,5017,5017,1983-09-27,501.4000000000455,501.4214,2015-01-01 01:23:37,bin5017,75, +CTSPillarNetworkA,5018,5018,5018,1983-09-28,501.50000000004553,501.5214,2015-01-01 01:23:38,bin5018,35, +CTSPillarNetworkA,5019,5019,5019,1983-09-29,501.60000000004555,501.6214,2015-01-01 01:23:39,bin5019,75, +CTSPillarNetworkA,5020,5020,5020,1983-09-30,501.7000000000456,501.7214,2015-01-01 01:23:40,bin5020,35, +CTSPillarNetworkA,5021,5021,5021,1983-10-01,501.8000000000456,501.8214,2015-01-01 01:23:41,bin5021,75, +CTSPillarNetworkA,5022,5022,5022,1983-10-02,501.9000000000456,501.92142,2015-01-01 01:23:42,bin5022,35, +CTSPillarNetworkA,5023,5023,5023,1983-10-03,502.00000000004565,502.02142,2015-01-01 01:23:43,bin5023,75, +CTSPillarNetworkA,5024,5024,5024,1983-10-04,502.10000000004567,502.12143,2015-01-01 01:23:44,bin5024,35, +CTSPillarNetworkA,5025,5025,5025,1983-10-05,502.2000000000457,502.22144,2015-01-01 01:23:45,bin5025,75, +CTSPillarNetworkA,5026,5026,5026,1983-10-06,502.3000000000457,502.32144,2015-01-01 01:23:46,bin5026,35, +CTSPillarNetworkA,5027,5027,5027,1983-10-07,502.40000000004574,502.42145,2015-01-01 01:23:47,bin5027,75, +CTSPillarNetworkA,5028,5028,5028,1983-10-08,502.50000000004576,502.52145,2015-01-01 01:23:48,bin5028,35, +CTSPillarNetworkA,5029,5029,5029,1983-10-09,502.6000000000458,502.62146,2015-01-01 01:23:49,bin5029,75, +CTSPillarNetworkA,5030,5030,5030,1983-10-10,502.7000000000458,502.72147,2015-01-01 01:23:50,bin5030,35, +CTSPillarNetworkA,5031,5031,5031,1983-10-11,502.8000000000458,502.82147,2015-01-01 01:23:51,bin5031,75, +CTSPillarNetworkA,5032,5032,5032,1983-10-12,502.90000000004585,502.92148,2015-01-01 01:23:52,bin5032,35, +CTSPillarNetworkA,5033,5033,5033,1983-10-13,503.0000000000459,503.02148,2015-01-01 01:23:53,bin5033,75, +CTSPillarNetworkA,5034,5034,5034,1983-10-14,503.1000000000459,503.1215,2015-01-01 01:23:54,bin5034,35, +CTSPillarNetworkA,5035,5035,5035,1983-10-15,503.2000000000459,503.2215,2015-01-01 01:23:55,bin5035,75, +CTSPillarNetworkA,5036,5036,5036,1983-10-16,503.30000000004594,503.3215,2015-01-01 01:23:56,bin5036,35, +CTSPillarNetworkA,5037,5037,5037,1983-10-17,503.40000000004596,503.4215,2015-01-01 01:23:57,bin5037,75, +CTSPillarNetworkA,5038,5038,5038,1983-10-18,503.500000000046,503.5215,2015-01-01 01:23:58,bin5038,35, +CTSPillarNetworkA,5039,5039,5039,1983-10-19,503.600000000046,503.62152,2015-01-01 01:23:59,bin5039,75, +CTSPillarNetworkA,5040,5040,5040,1983-10-20,503.70000000004603,503.72153,2015-01-01 01:24:00,bin5040,35, +CTSPillarNetworkA,5041,5041,5041,1983-10-21,503.80000000004605,503.82153,2015-01-01 01:24:01,bin5041,75, +CTSPillarNetworkA,5042,5042,5042,1983-10-22,503.9000000000461,503.92154,2015-01-01 01:24:02,bin5042,35, +CTSPillarNetworkA,5043,5043,5043,1983-10-23,504.0000000000461,504.02155,2015-01-01 01:24:03,bin5043,75, +CTSPillarNetworkA,5044,5044,5044,1983-10-24,504.1000000000461,504.12155,2015-01-01 01:24:04,bin5044,35, +CTSPillarNetworkA,5045,5045,5045,1983-10-25,504.20000000004615,504.22156,2015-01-01 01:24:05,bin5045,75, +CTSPillarNetworkA,5046,5046,5046,1983-10-26,504.30000000004617,504.32156,2015-01-01 01:24:06,bin5046,35, +CTSPillarNetworkA,5047,5047,5047,1983-10-27,504.4000000000462,504.42157,2015-01-01 01:24:07,bin5047,75, +CTSPillarNetworkA,5048,5048,5048,1983-10-28,504.5000000000462,504.52158,2015-01-01 01:24:08,bin5048,35, +CTSPillarNetworkA,5049,5049,5049,1983-10-29,504.60000000004624,504.62158,2015-01-01 01:24:09,bin5049,75, +CTSPillarNetworkA,5050,5050,5050,1983-10-30,504.70000000004626,504.7216,2015-01-01 01:24:10,bin5050,35, +CTSPillarNetworkA,5051,5051,5051,1983-10-31,504.8000000000463,504.8216,2015-01-01 01:24:11,bin5051,75, +CTSPillarNetworkA,5052,5052,5052,1983-11-01,504.9000000000463,504.9216,2015-01-01 01:24:12,bin5052,35, +CTSPillarNetworkA,5053,5053,5053,1983-11-02,505.0000000000463,505.0216,2015-01-01 01:24:13,bin5053,75, +CTSPillarNetworkA,5054,5054,5054,1983-11-03,505.10000000004635,505.1216,2015-01-01 01:24:14,bin5054,35, +CTSPillarNetworkA,5055,5055,5055,1983-11-04,505.2000000000464,505.22162,2015-01-01 01:24:15,bin5055,75, +CTSPillarNetworkA,5056,5056,5056,1983-11-05,505.3000000000464,505.32162,2015-01-01 01:24:16,bin5056,35, +CTSPillarNetworkA,5057,5057,5057,1983-11-06,505.4000000000464,505.42163,2015-01-01 01:24:17,bin5057,75, +CTSPillarNetworkA,5058,5058,5058,1983-11-07,505.50000000004644,505.52164,2015-01-01 01:24:18,bin5058,35, +CTSPillarNetworkA,5059,5059,5059,1983-11-08,505.60000000004646,505.62164,2015-01-01 01:24:19,bin5059,75, +CTSPillarNetworkA,5060,5060,5060,1983-11-09,505.7000000000465,505.72165,2015-01-01 01:24:20,bin5060,35, +CTSPillarNetworkA,5061,5061,5061,1983-11-10,505.8000000000465,505.82166,2015-01-01 01:24:21,bin5061,75, +CTSPillarNetworkA,5062,5062,5062,1983-11-11,505.90000000004653,505.92166,2015-01-01 01:24:22,bin5062,35, +CTSPillarNetworkA,5063,5063,5063,1983-11-12,506.00000000004655,506.02167,2015-01-01 01:24:23,bin5063,75, +CTSPillarNetworkA,5064,5064,5064,1983-11-13,506.1000000000466,506.12167,2015-01-01 01:24:24,bin5064,35, +CTSPillarNetworkA,5065,5065,5065,1983-11-14,506.2000000000466,506.22168,2015-01-01 01:24:25,bin5065,75, +CTSPillarNetworkA,5066,5066,5066,1983-11-15,506.3000000000466,506.3217,2015-01-01 01:24:26,bin5066,35, +CTSPillarNetworkA,5067,5067,5067,1983-11-16,506.40000000004665,506.4217,2015-01-01 01:24:27,bin5067,75, +CTSPillarNetworkA,5068,5068,5068,1983-11-17,506.50000000004667,506.5217,2015-01-01 01:24:28,bin5068,35, +CTSPillarNetworkA,5069,5069,5069,1983-11-18,506.6000000000467,506.6217,2015-01-01 01:24:29,bin5069,75, +CTSPillarNetworkA,5070,5070,5070,1983-11-19,506.7000000000467,506.7217,2015-01-01 01:24:30,bin5070,35, +CTSPillarNetworkA,5071,5071,5071,1983-11-20,506.80000000004674,506.82172,2015-01-01 01:24:31,bin5071,75, +CTSPillarNetworkA,5072,5072,5072,1983-11-21,506.90000000004676,506.92172,2015-01-01 01:24:32,bin5072,35, +CTSPillarNetworkA,5073,5073,5073,1983-11-22,507.0000000000468,507.02173,2015-01-01 01:24:33,bin5073,75, +CTSPillarNetworkA,5074,5074,5074,1983-11-23,507.1000000000468,507.12173,2015-01-01 01:24:34,bin5074,35, +CTSPillarNetworkA,5075,5075,5075,1983-11-24,507.2000000000468,507.22174,2015-01-01 01:24:35,bin5075,75, +CTSPillarNetworkA,5076,5076,5076,1983-11-25,507.30000000004685,507.32175,2015-01-01 01:24:36,bin5076,35, +CTSPillarNetworkA,5077,5077,5077,1983-11-26,507.4000000000469,507.42175,2015-01-01 01:24:37,bin5077,75, +CTSPillarNetworkA,5078,5078,5078,1983-11-27,507.5000000000469,507.52176,2015-01-01 01:24:38,bin5078,35, +CTSPillarNetworkA,5079,5079,5079,1983-11-28,507.6000000000469,507.62177,2015-01-01 01:24:39,bin5079,75, +CTSPillarNetworkA,5080,5080,5080,1983-11-29,507.70000000004694,507.72177,2015-01-01 01:24:40,bin5080,35, +CTSPillarNetworkA,5081,5081,5081,1983-11-30,507.80000000004696,507.82178,2015-01-01 01:24:41,bin5081,75, +CTSPillarNetworkA,5082,5082,5082,1983-12-01,507.900000000047,507.92178,2015-01-01 01:24:42,bin5082,35, +CTSPillarNetworkA,5083,5083,5083,1983-12-02,508.000000000047,508.0218,2015-01-01 01:24:43,bin5083,75, +CTSPillarNetworkA,5084,5084,5084,1983-12-03,508.10000000004703,508.1218,2015-01-01 01:24:44,bin5084,35, +CTSPillarNetworkA,5085,5085,5085,1983-12-04,508.20000000004705,508.2218,2015-01-01 01:24:45,bin5085,75, +CTSPillarNetworkA,5086,5086,5086,1983-12-05,508.3000000000471,508.3218,2015-01-01 01:24:46,bin5086,35, +CTSPillarNetworkA,5087,5087,5087,1983-12-06,508.4000000000471,508.4218,2015-01-01 01:24:47,bin5087,75, +CTSPillarNetworkA,5088,5088,5088,1983-12-07,508.5000000000471,508.52182,2015-01-01 01:24:48,bin5088,35, +CTSPillarNetworkA,5089,5089,5089,1983-12-08,508.60000000004715,508.62183,2015-01-01 01:24:49,bin5089,75, +CTSPillarNetworkA,5090,5090,5090,1983-12-09,508.70000000004717,508.72183,2015-01-01 01:24:50,bin5090,35, +CTSPillarNetworkA,5091,5091,5091,1983-12-10,508.8000000000472,508.82184,2015-01-01 01:24:51,bin5091,75, +CTSPillarNetworkA,5092,5092,5092,1983-12-11,508.9000000000472,508.92184,2015-01-01 01:24:52,bin5092,35, +CTSPillarNetworkA,5093,5093,5093,1983-12-12,509.00000000004724,509.02185,2015-01-01 01:24:53,bin5093,75, +CTSPillarNetworkA,5094,5094,5094,1983-12-13,509.10000000004726,509.12186,2015-01-01 01:24:54,bin5094,35, +CTSPillarNetworkA,5095,5095,5095,1983-12-14,509.2000000000473,509.22186,2015-01-01 01:24:55,bin5095,75, +CTSPillarNetworkA,5096,5096,5096,1983-12-15,509.3000000000473,509.32187,2015-01-01 01:24:56,bin5096,35, +CTSPillarNetworkA,5097,5097,5097,1983-12-16,509.4000000000473,509.42188,2015-01-01 01:24:57,bin5097,75, +CTSPillarNetworkA,5098,5098,5098,1983-12-17,509.50000000004735,509.52188,2015-01-01 01:24:58,bin5098,35, +CTSPillarNetworkA,5099,5099,5099,1983-12-18,509.6000000000474,509.6219,2015-01-01 01:24:59,bin5099,75, +CTSPillarNetworkA,5100,5100,5100,1983-12-19,509.7000000000474,509.7219,2015-01-01 01:25:00,bin5100,35, +CTSPillarNetworkA,5101,5101,5101,1983-12-20,509.8000000000474,509.8219,2015-01-01 01:25:01,bin5101,75, +CTSPillarNetworkA,5102,5102,5102,1983-12-21,509.90000000004744,509.9219,2015-01-01 01:25:02,bin5102,35, +CTSPillarNetworkA,5103,5103,5103,1983-12-22,510.00000000004746,510.0219,2015-01-01 01:25:03,bin5103,75, +CTSPillarNetworkA,5104,5104,5104,1983-12-23,510.1000000000475,510.12192,2015-01-01 01:25:04,bin5104,35, +CTSPillarNetworkA,5105,5105,5105,1983-12-24,510.2000000000475,510.22192,2015-01-01 01:25:05,bin5105,75, +CTSPillarNetworkA,5106,5106,5106,1983-12-25,510.30000000004753,510.32193,2015-01-01 01:25:06,bin5106,35, +CTSPillarNetworkA,5107,5107,5107,1983-12-26,510.40000000004756,510.42194,2015-01-01 01:25:07,bin5107,75, +CTSPillarNetworkA,5108,5108,5108,1983-12-27,510.5000000000476,510.52194,2015-01-01 01:25:08,bin5108,35, +CTSPillarNetworkA,5109,5109,5109,1983-12-28,510.6000000000476,510.62195,2015-01-01 01:25:09,bin5109,75, +CTSPillarNetworkA,5110,5110,5110,1983-12-29,510.7000000000476,510.72195,2015-01-01 01:25:10,bin5110,35, +CTSPillarNetworkA,5111,5111,5111,1983-12-30,510.80000000004765,510.82196,2015-01-01 01:25:11,bin5111,75, +CTSPillarNetworkA,5112,5112,5112,1983-12-31,510.90000000004767,510.92197,2015-01-01 01:25:12,bin5112,35, +CTSPillarNetworkA,5113,5113,5113,1984-01-01,511.0000000000477,511.02197,2015-01-01 01:25:13,bin5113,75, +CTSPillarNetworkA,5114,5114,5114,1984-01-02,511.1000000000477,511.12198,2015-01-01 01:25:14,bin5114,35, +CTSPillarNetworkA,5115,5115,5115,1984-01-03,511.20000000004774,511.222,2015-01-01 01:25:15,bin5115,75, +CTSPillarNetworkA,5116,5116,5116,1984-01-04,511.30000000004776,511.322,2015-01-01 01:25:16,bin5116,35, +CTSPillarNetworkA,5117,5117,5117,1984-01-05,511.4000000000478,511.422,2015-01-01 01:25:17,bin5117,75, +CTSPillarNetworkA,5118,5118,5118,1984-01-06,511.5000000000478,511.522,2015-01-01 01:25:18,bin5118,35, +CTSPillarNetworkA,5119,5119,5119,1984-01-07,511.6000000000478,511.622,2015-01-01 01:25:19,bin5119,75, +CTSPillarNetworkA,5120,5120,5120,1984-01-08,511.70000000004785,511.72202,2015-01-01 01:25:20,bin5120,35, +CTSPillarNetworkA,5121,5121,5121,1984-01-09,511.8000000000479,511.82202,2015-01-01 01:25:21,bin5121,75, +CTSPillarNetworkA,5122,5122,5122,1984-01-10,511.9000000000479,511.92203,2015-01-01 01:25:22,bin5122,35, +CTSPillarNetworkA,5123,5123,5123,1984-01-11,512.0000000000479,512.02203,2015-01-01 01:25:23,bin5123,75, +CTSPillarNetworkA,5124,5124,5124,1984-01-12,512.1000000000479,512.122,2015-01-01 01:25:24,bin5124,35, +CTSPillarNetworkA,5125,5125,5125,1984-01-13,512.2000000000479,512.222,2015-01-01 01:25:25,bin5125,75, +CTSPillarNetworkA,5126,5126,5126,1984-01-14,512.3000000000479,512.32196,2015-01-01 01:25:26,bin5126,35, +CTSPillarNetworkA,5127,5127,5127,1984-01-15,512.400000000048,512.42194,2015-01-01 01:25:27,bin5127,75, +CTSPillarNetworkA,5128,5128,5128,1984-01-16,512.500000000048,512.5219,2015-01-01 01:25:28,bin5128,35, +CTSPillarNetworkA,5129,5129,5129,1984-01-17,512.600000000048,512.6219,2015-01-01 01:25:29,bin5129,75, +CTSPillarNetworkA,5130,5130,5130,1984-01-18,512.700000000048,512.72186,2015-01-01 01:25:30,bin5130,35, +CTSPillarNetworkA,5131,5131,5131,1984-01-19,512.800000000048,512.82184,2015-01-01 01:25:31,bin5131,75, +CTSPillarNetworkA,5132,5132,5132,1984-01-20,512.9000000000481,512.9218,2015-01-01 01:25:32,bin5132,35, +CTSPillarNetworkA,5133,5133,5133,1984-01-21,513.0000000000481,513.0218,2015-01-01 01:25:33,bin5133,75, +CTSPillarNetworkA,5134,5134,5134,1984-01-22,513.1000000000481,513.12177,2015-01-01 01:25:34,bin5134,35, +CTSPillarNetworkA,5135,5135,5135,1984-01-23,513.2000000000481,513.22174,2015-01-01 01:25:35,bin5135,75, +CTSPillarNetworkA,5136,5136,5136,1984-01-24,513.3000000000482,513.3217,2015-01-01 01:25:36,bin5136,35, +CTSPillarNetworkA,5137,5137,5137,1984-01-25,513.4000000000482,513.4217,2015-01-01 01:25:37,bin5137,75, +CTSPillarNetworkA,5138,5138,5138,1984-01-26,513.5000000000482,513.52167,2015-01-01 01:25:38,bin5138,35, +CTSPillarNetworkA,5139,5139,5139,1984-01-27,513.6000000000482,513.62164,2015-01-01 01:25:39,bin5139,75, +CTSPillarNetworkA,5140,5140,5140,1984-01-28,513.7000000000482,513.7216,2015-01-01 01:25:40,bin5140,35, +CTSPillarNetworkA,5141,5141,5141,1984-01-29,513.8000000000483,513.8216,2015-01-01 01:25:41,bin5141,75, +CTSPillarNetworkA,5142,5142,5142,1984-01-30,513.9000000000483,513.9216,2015-01-01 01:25:42,bin5142,35, +CTSPillarNetworkA,5143,5143,5143,1984-01-31,514.0000000000483,514.02155,2015-01-01 01:25:43,bin5143,75, +CTSPillarNetworkA,5144,5144,5144,1984-02-01,514.1000000000483,514.1215,2015-01-01 01:25:44,bin5144,35, +CTSPillarNetworkA,5145,5145,5145,1984-02-02,514.2000000000484,514.2215,2015-01-01 01:25:45,bin5145,75, +CTSPillarNetworkA,5146,5146,5146,1984-02-03,514.3000000000484,514.3215,2015-01-01 01:25:46,bin5146,35, +CTSPillarNetworkA,5147,5147,5147,1984-02-04,514.4000000000484,514.42145,2015-01-01 01:25:47,bin5147,75, +CTSPillarNetworkA,5148,5148,5148,1984-02-05,514.5000000000484,514.5214,2015-01-01 01:25:48,bin5148,35, +CTSPillarNetworkA,5149,5149,5149,1984-02-06,514.6000000000485,514.6214,2015-01-01 01:25:49,bin5149,75, +CTSPillarNetworkA,5150,5150,5150,1984-02-07,514.7000000000485,514.7214,2015-01-01 01:25:50,bin5150,35, +CTSPillarNetworkA,5151,5151,5151,1984-02-08,514.8000000000485,514.82135,2015-01-01 01:25:51,bin5151,75, +CTSPillarNetworkA,5152,5152,5152,1984-02-09,514.9000000000485,514.9213,2015-01-01 01:25:52,bin5152,35, +CTSPillarNetworkA,5153,5153,5153,1984-02-10,515.0000000000485,515.0213,2015-01-01 01:25:53,bin5153,75, +CTSPillarNetworkA,5154,5154,5154,1984-02-11,515.1000000000486,515.1213,2015-01-01 01:25:54,bin5154,35, +CTSPillarNetworkA,5155,5155,5155,1984-02-12,515.2000000000486,515.22125,2015-01-01 01:25:55,bin5155,75, +CTSPillarNetworkA,5156,5156,5156,1984-02-13,515.3000000000486,515.3212,2015-01-01 01:25:56,bin5156,35, +CTSPillarNetworkA,5157,5157,5157,1984-02-14,515.4000000000486,515.4212,2015-01-01 01:25:57,bin5157,75, +CTSPillarNetworkA,5158,5158,5158,1984-02-15,515.5000000000487,515.5212,2015-01-01 01:25:58,bin5158,35, +CTSPillarNetworkA,5159,5159,5159,1984-02-16,515.6000000000487,515.62115,2015-01-01 01:25:59,bin5159,75, +CTSPillarNetworkA,5160,5160,5160,1984-02-17,515.7000000000487,515.7211,2015-01-01 01:26:00,bin5160,35, +CTSPillarNetworkA,5161,5161,5161,1984-02-18,515.8000000000487,515.8211,2015-01-01 01:26:01,bin5161,75, +CTSPillarNetworkA,5162,5162,5162,1984-02-19,515.9000000000487,515.9211,2015-01-01 01:26:02,bin5162,35, +CTSPillarNetworkA,5163,5163,5163,1984-02-20,516.0000000000488,516.02106,2015-01-01 01:26:03,bin5163,75, +CTSPillarNetworkA,5164,5164,5164,1984-02-21,516.1000000000488,516.12103,2015-01-01 01:26:04,bin5164,35, +CTSPillarNetworkA,5165,5165,5165,1984-02-22,516.2000000000488,516.221,2015-01-01 01:26:05,bin5165,75, +CTSPillarNetworkA,5166,5166,5166,1984-02-23,516.3000000000488,516.321,2015-01-01 01:26:06,bin5166,35, +CTSPillarNetworkA,5167,5167,5167,1984-02-24,516.4000000000489,516.42096,2015-01-01 01:26:07,bin5167,75, +CTSPillarNetworkA,5168,5168,5168,1984-02-25,516.5000000000489,516.52094,2015-01-01 01:26:08,bin5168,35, +CTSPillarNetworkA,5169,5169,5169,1984-02-26,516.6000000000489,516.6209,2015-01-01 01:26:09,bin5169,75, +CTSPillarNetworkA,5170,5170,5170,1984-02-27,516.7000000000489,516.7209,2015-01-01 01:26:10,bin5170,35, +CTSPillarNetworkA,5171,5171,5171,1984-02-28,516.800000000049,516.82086,2015-01-01 01:26:11,bin5171,75, +CTSPillarNetworkA,5172,5172,5172,1984-02-29,516.900000000049,516.92084,2015-01-01 01:26:12,bin5172,35, +CTSPillarNetworkA,5173,5173,5173,1984-03-01,517.000000000049,517.0208,2015-01-01 01:26:13,bin5173,75, +CTSPillarNetworkA,5174,5174,5174,1984-03-02,517.100000000049,517.1208,2015-01-01 01:26:14,bin5174,35, +CTSPillarNetworkA,5175,5175,5175,1984-03-03,517.200000000049,517.22076,2015-01-01 01:26:15,bin5175,75, +CTSPillarNetworkA,5176,5176,5176,1984-03-04,517.3000000000491,517.32074,2015-01-01 01:26:16,bin5176,35, +CTSPillarNetworkA,5177,5177,5177,1984-03-05,517.4000000000491,517.4207,2015-01-01 01:26:17,bin5177,75, +CTSPillarNetworkA,5178,5178,5178,1984-03-06,517.5000000000491,517.5207,2015-01-01 01:26:18,bin5178,35, +CTSPillarNetworkA,5179,5179,5179,1984-03-07,517.6000000000491,517.62067,2015-01-01 01:26:19,bin5179,75, +CTSPillarNetworkA,5180,5180,5180,1984-03-08,517.7000000000492,517.72064,2015-01-01 01:26:20,bin5180,35, +CTSPillarNetworkA,5181,5181,5181,1984-03-09,517.8000000000492,517.8206,2015-01-01 01:26:21,bin5181,75, +CTSPillarNetworkA,5182,5182,5182,1984-03-10,517.9000000000492,517.9206,2015-01-01 01:26:22,bin5182,35, +CTSPillarNetworkA,5183,5183,5183,1984-03-11,518.0000000000492,518.02057,2015-01-01 01:26:23,bin5183,75, +CTSPillarNetworkA,5184,5184,5184,1984-03-12,518.1000000000492,518.12054,2015-01-01 01:26:24,bin5184,35, +CTSPillarNetworkA,5185,5185,5185,1984-03-13,518.2000000000493,518.2205,2015-01-01 01:26:25,bin5185,75, +CTSPillarNetworkA,5186,5186,5186,1984-03-14,518.3000000000493,518.3205,2015-01-01 01:26:26,bin5186,35, +CTSPillarNetworkA,5187,5187,5187,1984-03-15,518.4000000000493,518.4205,2015-01-01 01:26:27,bin5187,75, +CTSPillarNetworkA,5188,5188,5188,1984-03-16,518.5000000000493,518.52045,2015-01-01 01:26:28,bin5188,35, +CTSPillarNetworkA,5189,5189,5189,1984-03-17,518.6000000000494,518.6204,2015-01-01 01:26:29,bin5189,75, +CTSPillarNetworkA,5190,5190,5190,1984-03-18,518.7000000000494,518.7204,2015-01-01 01:26:30,bin5190,35, +CTSPillarNetworkA,5191,5191,5191,1984-03-19,518.8000000000494,518.8204,2015-01-01 01:26:31,bin5191,75, +CTSPillarNetworkA,5192,5192,5192,1984-03-20,518.9000000000494,518.92035,2015-01-01 01:26:32,bin5192,35, +CTSPillarNetworkA,5193,5193,5193,1984-03-21,519.0000000000495,519.0203,2015-01-01 01:26:33,bin5193,75, +CTSPillarNetworkA,5194,5194,5194,1984-03-22,519.1000000000495,519.1203,2015-01-01 01:26:34,bin5194,35, +CTSPillarNetworkA,5195,5195,5195,1984-03-23,519.2000000000495,519.2203,2015-01-01 01:26:35,bin5195,75, +CTSPillarNetworkA,5196,5196,5196,1984-03-24,519.3000000000495,519.32025,2015-01-01 01:26:36,bin5196,35, +CTSPillarNetworkA,5197,5197,5197,1984-03-25,519.4000000000495,519.4202,2015-01-01 01:26:37,bin5197,75, +CTSPillarNetworkA,5198,5198,5198,1984-03-26,519.5000000000496,519.5202,2015-01-01 01:26:38,bin5198,35, +CTSPillarNetworkA,5199,5199,5199,1984-03-27,519.6000000000496,519.6202,2015-01-01 01:26:39,bin5199,75, +CTSPillarNetworkA,5200,5200,5200,1984-03-28,519.7000000000496,519.72015,2015-01-01 01:26:40,bin5200,35, +CTSPillarNetworkA,5201,5201,5201,1984-03-29,519.8000000000496,519.8201,2015-01-01 01:26:41,bin5201,75, +CTSPillarNetworkA,5202,5202,5202,1984-03-30,519.9000000000497,519.9201,2015-01-01 01:26:42,bin5202,35, +CTSPillarNetworkA,5203,5203,5203,1984-03-31,520.0000000000497,520.0201,2015-01-01 01:26:43,bin5203,75, +CTSPillarNetworkA,5204,5204,5204,1984-04-01,520.1000000000497,520.12006,2015-01-01 01:26:44,bin5204,35, +CTSPillarNetworkA,5205,5205,5205,1984-04-02,520.2000000000497,520.22003,2015-01-01 01:26:45,bin5205,75, +CTSPillarNetworkA,5206,5206,5206,1984-04-03,520.3000000000497,520.32,2015-01-01 01:26:46,bin5206,35, +CTSPillarNetworkA,5207,5207,5207,1984-04-04,520.4000000000498,520.42,2015-01-01 01:26:47,bin5207,75, +CTSPillarNetworkA,5208,5208,5208,1984-04-05,520.5000000000498,520.51996,2015-01-01 01:26:48,bin5208,35, +CTSPillarNetworkA,5209,5209,5209,1984-04-06,520.6000000000498,520.61993,2015-01-01 01:26:49,bin5209,75, +CTSPillarNetworkA,5210,5210,5210,1984-04-07,520.7000000000498,520.7199,2015-01-01 01:26:50,bin5210,35, +CTSPillarNetworkA,5211,5211,5211,1984-04-08,520.8000000000499,520.8199,2015-01-01 01:26:51,bin5211,75, +CTSPillarNetworkA,5212,5212,5212,1984-04-09,520.9000000000499,520.91986,2015-01-01 01:26:52,bin5212,35, +CTSPillarNetworkA,5213,5213,5213,1984-04-10,521.0000000000499,521.01984,2015-01-01 01:26:53,bin5213,75, +CTSPillarNetworkA,5214,5214,5214,1984-04-11,521.1000000000499,521.1198,2015-01-01 01:26:54,bin5214,35, +CTSPillarNetworkA,5215,5215,5215,1984-04-12,521.20000000005,521.2198,2015-01-01 01:26:55,bin5215,75, +CTSPillarNetworkA,5216,5216,5216,1984-04-13,521.30000000005,521.31976,2015-01-01 01:26:56,bin5216,35, +CTSPillarNetworkA,5217,5217,5217,1984-04-14,521.40000000005,521.41974,2015-01-01 01:26:57,bin5217,75, +CTSPillarNetworkA,5218,5218,5218,1984-04-15,521.50000000005,521.5197,2015-01-01 01:26:58,bin5218,35, +CTSPillarNetworkA,5219,5219,5219,1984-04-16,521.60000000005,521.6197,2015-01-01 01:26:59,bin5219,75, +CTSPillarNetworkA,5220,5220,5220,1984-04-17,521.7000000000501,521.71967,2015-01-01 01:27:00,bin5220,35, +CTSPillarNetworkA,5221,5221,5221,1984-04-18,521.8000000000501,521.81964,2015-01-01 01:27:01,bin5221,75, +CTSPillarNetworkA,5222,5222,5222,1984-04-19,521.9000000000501,521.9196,2015-01-01 01:27:02,bin5222,35, +CTSPillarNetworkA,5223,5223,5223,1984-04-20,522.0000000000501,522.0196,2015-01-01 01:27:03,bin5223,75, +CTSPillarNetworkA,5224,5224,5224,1984-04-21,522.1000000000502,522.11957,2015-01-01 01:27:04,bin5224,35, +CTSPillarNetworkA,5225,5225,5225,1984-04-22,522.2000000000502,522.21954,2015-01-01 01:27:05,bin5225,75, +CTSPillarNetworkA,5226,5226,5226,1984-04-23,522.3000000000502,522.3195,2015-01-01 01:27:06,bin5226,35, +CTSPillarNetworkA,5227,5227,5227,1984-04-24,522.4000000000502,522.4195,2015-01-01 01:27:07,bin5227,75, +CTSPillarNetworkA,5228,5228,5228,1984-04-25,522.5000000000502,522.5195,2015-01-01 01:27:08,bin5228,35, +CTSPillarNetworkA,5229,5229,5229,1984-04-26,522.6000000000503,522.61945,2015-01-01 01:27:09,bin5229,75, +CTSPillarNetworkA,5230,5230,5230,1984-04-27,522.7000000000503,522.7194,2015-01-01 01:27:10,bin5230,35, +CTSPillarNetworkA,5231,5231,5231,1984-04-28,522.8000000000503,522.8194,2015-01-01 01:27:11,bin5231,75, +CTSPillarNetworkA,5232,5232,5232,1984-04-29,522.9000000000503,522.9194,2015-01-01 01:27:12,bin5232,35, +CTSPillarNetworkA,5233,5233,5233,1984-04-30,523.0000000000504,523.01935,2015-01-01 01:27:13,bin5233,75, +CTSPillarNetworkA,5234,5234,5234,1984-05-01,523.1000000000504,523.1193,2015-01-01 01:27:14,bin5234,35, +CTSPillarNetworkA,5235,5235,5235,1984-05-02,523.2000000000504,523.2193,2015-01-01 01:27:15,bin5235,75, +CTSPillarNetworkA,5236,5236,5236,1984-05-03,523.3000000000504,523.3193,2015-01-01 01:27:16,bin5236,35, +CTSPillarNetworkA,5237,5237,5237,1984-05-04,523.4000000000505,523.41925,2015-01-01 01:27:17,bin5237,75, +CTSPillarNetworkA,5238,5238,5238,1984-05-05,523.5000000000505,523.5192,2015-01-01 01:27:18,bin5238,35, +CTSPillarNetworkA,5239,5239,5239,1984-05-06,523.6000000000505,523.6192,2015-01-01 01:27:19,bin5239,75, +CTSPillarNetworkA,5240,5240,5240,1984-05-07,523.7000000000505,523.7192,2015-01-01 01:27:20,bin5240,35, +CTSPillarNetworkA,5241,5241,5241,1984-05-08,523.8000000000505,523.81915,2015-01-01 01:27:21,bin5241,75, +CTSPillarNetworkA,5242,5242,5242,1984-05-09,523.9000000000506,523.9191,2015-01-01 01:27:22,bin5242,35, +CTSPillarNetworkA,5243,5243,5243,1984-05-10,524.0000000000506,524.0191,2015-01-01 01:27:23,bin5243,75, +CTSPillarNetworkA,5244,5244,5244,1984-05-11,524.1000000000506,524.1191,2015-01-01 01:27:24,bin5244,35, +CTSPillarNetworkA,5245,5245,5245,1984-05-12,524.2000000000506,524.21906,2015-01-01 01:27:25,bin5245,75, +CTSPillarNetworkA,5246,5246,5246,1984-05-13,524.3000000000507,524.31903,2015-01-01 01:27:26,bin5246,35, +CTSPillarNetworkA,5247,5247,5247,1984-05-14,524.4000000000507,524.419,2015-01-01 01:27:27,bin5247,75, +CTSPillarNetworkA,5248,5248,5248,1984-05-15,524.5000000000507,524.519,2015-01-01 01:27:28,bin5248,35, +CTSPillarNetworkA,5249,5249,5249,1984-05-16,524.6000000000507,524.61896,2015-01-01 01:27:29,bin5249,75, +CTSPillarNetworkA,5250,5250,5250,1984-05-17,524.7000000000507,524.71893,2015-01-01 01:27:30,bin5250,35, +CTSPillarNetworkA,5251,5251,5251,1984-05-18,524.8000000000508,524.8189,2015-01-01 01:27:31,bin5251,75, +CTSPillarNetworkA,5252,5252,5252,1984-05-19,524.9000000000508,524.9189,2015-01-01 01:27:32,bin5252,35, +CTSPillarNetworkA,5253,5253,5253,1984-05-20,525.0000000000508,525.01886,2015-01-01 01:27:33,bin5253,75, +CTSPillarNetworkA,5254,5254,5254,1984-05-21,525.1000000000508,525.11884,2015-01-01 01:27:34,bin5254,35, +CTSPillarNetworkA,5255,5255,5255,1984-05-22,525.2000000000509,525.2188,2015-01-01 01:27:35,bin5255,75, +CTSPillarNetworkA,5256,5256,5256,1984-05-23,525.3000000000509,525.3188,2015-01-01 01:27:36,bin5256,35, +CTSPillarNetworkA,5257,5257,5257,1984-05-24,525.4000000000509,525.41876,2015-01-01 01:27:37,bin5257,75, +CTSPillarNetworkA,5258,5258,5258,1984-05-25,525.5000000000509,525.51874,2015-01-01 01:27:38,bin5258,35, +CTSPillarNetworkA,5259,5259,5259,1984-05-26,525.600000000051,525.6187,2015-01-01 01:27:39,bin5259,75, +CTSPillarNetworkA,5260,5260,5260,1984-05-27,525.700000000051,525.7187,2015-01-01 01:27:40,bin5260,35, +CTSPillarNetworkA,5261,5261,5261,1984-05-28,525.800000000051,525.81866,2015-01-01 01:27:41,bin5261,75, +CTSPillarNetworkA,5262,5262,5262,1984-05-29,525.900000000051,525.91864,2015-01-01 01:27:42,bin5262,35, +CTSPillarNetworkA,5263,5263,5263,1984-05-30,526.000000000051,526.0186,2015-01-01 01:27:43,bin5263,75, +CTSPillarNetworkA,5264,5264,5264,1984-05-31,526.1000000000511,526.1186,2015-01-01 01:27:44,bin5264,35, +CTSPillarNetworkA,5265,5265,5265,1984-06-01,526.2000000000511,526.21857,2015-01-01 01:27:45,bin5265,75, +CTSPillarNetworkA,5266,5266,5266,1984-06-02,526.3000000000511,526.31854,2015-01-01 01:27:46,bin5266,35, +CTSPillarNetworkA,5267,5267,5267,1984-06-03,526.4000000000511,526.4185,2015-01-01 01:27:47,bin5267,75, +CTSPillarNetworkA,5268,5268,5268,1984-06-04,526.5000000000512,526.5185,2015-01-01 01:27:48,bin5268,35, +CTSPillarNetworkA,5269,5269,5269,1984-06-05,526.6000000000512,526.61847,2015-01-01 01:27:49,bin5269,75, +CTSPillarNetworkA,5270,5270,5270,1984-06-06,526.7000000000512,526.71844,2015-01-01 01:27:50,bin5270,35, +CTSPillarNetworkA,5271,5271,5271,1984-06-07,526.8000000000512,526.8184,2015-01-01 01:27:51,bin5271,75, +CTSPillarNetworkA,5272,5272,5272,1984-06-08,526.9000000000513,526.9184,2015-01-01 01:27:52,bin5272,35, +CTSPillarNetworkA,5273,5273,5273,1984-06-09,527.0000000000513,527.0184,2015-01-01 01:27:53,bin5273,75, +CTSPillarNetworkA,5274,5274,5274,1984-06-10,527.1000000000513,527.11835,2015-01-01 01:27:54,bin5274,35, +CTSPillarNetworkA,5275,5275,5275,1984-06-11,527.2000000000513,527.2183,2015-01-01 01:27:55,bin5275,75, +CTSPillarNetworkA,5276,5276,5276,1984-06-12,527.3000000000513,527.3183,2015-01-01 01:27:56,bin5276,35, +CTSPillarNetworkA,5277,5277,5277,1984-06-13,527.4000000000514,527.4183,2015-01-01 01:27:57,bin5277,75, +CTSPillarNetworkA,5278,5278,5278,1984-06-14,527.5000000000514,527.51825,2015-01-01 01:27:58,bin5278,35, +CTSPillarNetworkA,5279,5279,5279,1984-06-15,527.6000000000514,527.6182,2015-01-01 01:27:59,bin5279,75, +CTSPillarNetworkA,5280,5280,5280,1984-06-16,527.7000000000514,527.7182,2015-01-01 01:28:00,bin5280,35, +CTSPillarNetworkA,5281,5281,5281,1984-06-17,527.8000000000515,527.8182,2015-01-01 01:28:01,bin5281,75, +CTSPillarNetworkA,5282,5282,5282,1984-06-18,527.9000000000515,527.91815,2015-01-01 01:28:02,bin5282,35, +CTSPillarNetworkA,5283,5283,5283,1984-06-19,528.0000000000515,528.0181,2015-01-01 01:28:03,bin5283,75, +CTSPillarNetworkA,5284,5284,5284,1984-06-20,528.1000000000515,528.1181,2015-01-01 01:28:04,bin5284,35, +CTSPillarNetworkA,5285,5285,5285,1984-06-21,528.2000000000515,528.2181,2015-01-01 01:28:05,bin5285,75, +CTSPillarNetworkA,5286,5286,5286,1984-06-22,528.3000000000516,528.31805,2015-01-01 01:28:06,bin5286,35, +CTSPillarNetworkA,5287,5287,5287,1984-06-23,528.4000000000516,528.418,2015-01-01 01:28:07,bin5287,75, +CTSPillarNetworkA,5288,5288,5288,1984-06-24,528.5000000000516,528.518,2015-01-01 01:28:08,bin5288,35, +CTSPillarNetworkA,5289,5289,5289,1984-06-25,528.6000000000516,528.618,2015-01-01 01:28:09,bin5289,75, +CTSPillarNetworkA,5290,5290,5290,1984-06-26,528.7000000000517,528.71796,2015-01-01 01:28:10,bin5290,35, +CTSPillarNetworkA,5291,5291,5291,1984-06-27,528.8000000000517,528.81793,2015-01-01 01:28:11,bin5291,75, +CTSPillarNetworkA,5292,5292,5292,1984-06-28,528.9000000000517,528.9179,2015-01-01 01:28:12,bin5292,35, +CTSPillarNetworkA,5293,5293,5293,1984-06-29,529.0000000000517,529.0179,2015-01-01 01:28:13,bin5293,75, +CTSPillarNetworkA,5294,5294,5294,1984-06-30,529.1000000000518,529.11786,2015-01-01 01:28:14,bin5294,35, +CTSPillarNetworkA,5295,5295,5295,1984-07-01,529.2000000000518,529.21783,2015-01-01 01:28:15,bin5295,75, +CTSPillarNetworkA,5296,5296,5296,1984-07-02,529.3000000000518,529.3178,2015-01-01 01:28:16,bin5296,35, +CTSPillarNetworkA,5297,5297,5297,1984-07-03,529.4000000000518,529.4178,2015-01-01 01:28:17,bin5297,75, +CTSPillarNetworkA,5298,5298,5298,1984-07-04,529.5000000000518,529.51776,2015-01-01 01:28:18,bin5298,35, +CTSPillarNetworkA,5299,5299,5299,1984-07-05,529.6000000000519,529.61774,2015-01-01 01:28:19,bin5299,75, +CTSPillarNetworkA,5300,5300,5300,1984-07-06,529.7000000000519,529.7177,2015-01-01 01:28:20,bin5300,35, +CTSPillarNetworkA,5301,5301,5301,1984-07-07,529.8000000000519,529.8177,2015-01-01 01:28:21,bin5301,75, +CTSPillarNetworkA,5302,5302,5302,1984-07-08,529.9000000000519,529.91766,2015-01-01 01:28:22,bin5302,35, +CTSPillarNetworkA,5303,5303,5303,1984-07-09,530.000000000052,530.01764,2015-01-01 01:28:23,bin5303,75, +CTSPillarNetworkA,5304,5304,5304,1984-07-10,530.100000000052,530.1176,2015-01-01 01:28:24,bin5304,35, +CTSPillarNetworkA,5305,5305,5305,1984-07-11,530.200000000052,530.2176,2015-01-01 01:28:25,bin5305,75, +CTSPillarNetworkA,5306,5306,5306,1984-07-12,530.300000000052,530.31757,2015-01-01 01:28:26,bin5306,35, +CTSPillarNetworkA,5307,5307,5307,1984-07-13,530.400000000052,530.41754,2015-01-01 01:28:27,bin5307,75, +CTSPillarNetworkA,5308,5308,5308,1984-07-14,530.5000000000521,530.5175,2015-01-01 01:28:28,bin5308,35, +CTSPillarNetworkA,5309,5309,5309,1984-07-15,530.6000000000521,530.6175,2015-01-01 01:28:29,bin5309,75, +CTSPillarNetworkA,5310,5310,5310,1984-07-16,530.7000000000521,530.71747,2015-01-01 01:28:30,bin5310,35, +CTSPillarNetworkA,5311,5311,5311,1984-07-17,530.8000000000521,530.81744,2015-01-01 01:28:31,bin5311,75, +CTSPillarNetworkA,5312,5312,5312,1984-07-18,530.9000000000522,530.9174,2015-01-01 01:28:32,bin5312,35, +CTSPillarNetworkA,5313,5313,5313,1984-07-19,531.0000000000522,531.0174,2015-01-01 01:28:33,bin5313,75, +CTSPillarNetworkA,5314,5314,5314,1984-07-20,531.1000000000522,531.1174,2015-01-01 01:28:34,bin5314,35, +CTSPillarNetworkA,5315,5315,5315,1984-07-21,531.2000000000522,531.21735,2015-01-01 01:28:35,bin5315,75, +CTSPillarNetworkA,5316,5316,5316,1984-07-22,531.3000000000523,531.3173,2015-01-01 01:28:36,bin5316,35, +CTSPillarNetworkA,5317,5317,5317,1984-07-23,531.4000000000523,531.4173,2015-01-01 01:28:37,bin5317,75, +CTSPillarNetworkA,5318,5318,5318,1984-07-24,531.5000000000523,531.5173,2015-01-01 01:28:38,bin5318,35, +CTSPillarNetworkA,5319,5319,5319,1984-07-25,531.6000000000523,531.61725,2015-01-01 01:28:39,bin5319,75, +CTSPillarNetworkA,5320,5320,5320,1984-07-26,531.7000000000523,531.7172,2015-01-01 01:28:40,bin5320,35, +CTSPillarNetworkA,5321,5321,5321,1984-07-27,531.8000000000524,531.8172,2015-01-01 01:28:41,bin5321,75, +CTSPillarNetworkA,5322,5322,5322,1984-07-28,531.9000000000524,531.9172,2015-01-01 01:28:42,bin5322,35, +CTSPillarNetworkA,5323,5323,5323,1984-07-29,532.0000000000524,532.01715,2015-01-01 01:28:43,bin5323,75, +CTSPillarNetworkA,5324,5324,5324,1984-07-30,532.1000000000524,532.1171,2015-01-01 01:28:44,bin5324,35, +CTSPillarNetworkA,5325,5325,5325,1984-07-31,532.2000000000525,532.2171,2015-01-01 01:28:45,bin5325,75, +CTSPillarNetworkA,5326,5326,5326,1984-08-01,532.3000000000525,532.3171,2015-01-01 01:28:46,bin5326,35, +CTSPillarNetworkA,5327,5327,5327,1984-08-02,532.4000000000525,532.41705,2015-01-01 01:28:47,bin5327,75, +CTSPillarNetworkA,5328,5328,5328,1984-08-03,532.5000000000525,532.517,2015-01-01 01:28:48,bin5328,35, +CTSPillarNetworkA,5329,5329,5329,1984-08-04,532.6000000000525,532.617,2015-01-01 01:28:49,bin5329,75, +CTSPillarNetworkA,5330,5330,5330,1984-08-05,532.7000000000526,532.717,2015-01-01 01:28:50,bin5330,35, +CTSPillarNetworkA,5331,5331,5331,1984-08-06,532.8000000000526,532.81696,2015-01-01 01:28:51,bin5331,75, +CTSPillarNetworkA,5332,5332,5332,1984-08-07,532.9000000000526,532.91693,2015-01-01 01:28:52,bin5332,35, +CTSPillarNetworkA,5333,5333,5333,1984-08-08,533.0000000000526,533.0169,2015-01-01 01:28:53,bin5333,75, +CTSPillarNetworkA,5334,5334,5334,1984-08-09,533.1000000000527,533.1169,2015-01-01 01:28:54,bin5334,35, +CTSPillarNetworkA,5335,5335,5335,1984-08-10,533.2000000000527,533.21686,2015-01-01 01:28:55,bin5335,75, +CTSPillarNetworkA,5336,5336,5336,1984-08-11,533.3000000000527,533.31683,2015-01-01 01:28:56,bin5336,35, +CTSPillarNetworkA,5337,5337,5337,1984-08-12,533.4000000000527,533.4168,2015-01-01 01:28:57,bin5337,75, +CTSPillarNetworkA,5338,5338,5338,1984-08-13,533.5000000000528,533.5168,2015-01-01 01:28:58,bin5338,35, +CTSPillarNetworkA,5339,5339,5339,1984-08-14,533.6000000000528,533.61676,2015-01-01 01:28:59,bin5339,75, +CTSPillarNetworkA,5340,5340,5340,1984-08-15,533.7000000000528,533.71674,2015-01-01 01:29:00,bin5340,35, +CTSPillarNetworkA,5341,5341,5341,1984-08-16,533.8000000000528,533.8167,2015-01-01 01:29:01,bin5341,75, +CTSPillarNetworkA,5342,5342,5342,1984-08-17,533.9000000000528,533.9167,2015-01-01 01:29:02,bin5342,35, +CTSPillarNetworkA,5343,5343,5343,1984-08-18,534.0000000000529,534.01666,2015-01-01 01:29:03,bin5343,75, +CTSPillarNetworkA,5344,5344,5344,1984-08-19,534.1000000000529,534.11664,2015-01-01 01:29:04,bin5344,35, +CTSPillarNetworkA,5345,5345,5345,1984-08-20,534.2000000000529,534.2166,2015-01-01 01:29:05,bin5345,75, +CTSPillarNetworkA,5346,5346,5346,1984-08-21,534.3000000000529,534.3166,2015-01-01 01:29:06,bin5346,35, +CTSPillarNetworkA,5347,5347,5347,1984-08-22,534.400000000053,534.41656,2015-01-01 01:29:07,bin5347,75, +CTSPillarNetworkA,5348,5348,5348,1984-08-23,534.500000000053,534.51654,2015-01-01 01:29:08,bin5348,35, +CTSPillarNetworkA,5349,5349,5349,1984-08-24,534.600000000053,534.6165,2015-01-01 01:29:09,bin5349,75, +CTSPillarNetworkA,5350,5350,5350,1984-08-25,534.700000000053,534.7165,2015-01-01 01:29:10,bin5350,35, +CTSPillarNetworkA,5351,5351,5351,1984-08-26,534.800000000053,534.81647,2015-01-01 01:29:11,bin5351,75, +CTSPillarNetworkA,5352,5352,5352,1984-08-27,534.9000000000531,534.91644,2015-01-01 01:29:12,bin5352,35, +CTSPillarNetworkA,5353,5353,5353,1984-08-28,535.0000000000531,535.0164,2015-01-01 01:29:13,bin5353,75, +CTSPillarNetworkA,5354,5354,5354,1984-08-29,535.1000000000531,535.1164,2015-01-01 01:29:14,bin5354,35, +CTSPillarNetworkA,5355,5355,5355,1984-08-30,535.2000000000531,535.2164,2015-01-01 01:29:15,bin5355,75, +CTSPillarNetworkA,5356,5356,5356,1984-08-31,535.3000000000532,535.31635,2015-01-01 01:29:16,bin5356,35, +CTSPillarNetworkA,5357,5357,5357,1984-09-01,535.4000000000532,535.4163,2015-01-01 01:29:17,bin5357,75, +CTSPillarNetworkA,5358,5358,5358,1984-09-02,535.5000000000532,535.5163,2015-01-01 01:29:18,bin5358,35, +CTSPillarNetworkA,5359,5359,5359,1984-09-03,535.6000000000532,535.6163,2015-01-01 01:29:19,bin5359,75, +CTSPillarNetworkA,5360,5360,5360,1984-09-04,535.7000000000533,535.71625,2015-01-01 01:29:20,bin5360,35, +CTSPillarNetworkA,5361,5361,5361,1984-09-05,535.8000000000533,535.8162,2015-01-01 01:29:21,bin5361,75, +CTSPillarNetworkA,5362,5362,5362,1984-09-06,535.9000000000533,535.9162,2015-01-01 01:29:22,bin5362,35, +CTSPillarNetworkA,5363,5363,5363,1984-09-07,536.0000000000533,536.0162,2015-01-01 01:29:23,bin5363,75, +CTSPillarNetworkA,5364,5364,5364,1984-09-08,536.1000000000533,536.11615,2015-01-01 01:29:24,bin5364,35, +CTSPillarNetworkA,5365,5365,5365,1984-09-09,536.2000000000534,536.2161,2015-01-01 01:29:25,bin5365,75, +CTSPillarNetworkA,5366,5366,5366,1984-09-10,536.3000000000534,536.3161,2015-01-01 01:29:26,bin5366,35, +CTSPillarNetworkA,5367,5367,5367,1984-09-11,536.4000000000534,536.4161,2015-01-01 01:29:27,bin5367,75, +CTSPillarNetworkA,5368,5368,5368,1984-09-12,536.5000000000534,536.51605,2015-01-01 01:29:28,bin5368,35, +CTSPillarNetworkA,5369,5369,5369,1984-09-13,536.6000000000535,536.616,2015-01-01 01:29:29,bin5369,75, +CTSPillarNetworkA,5370,5370,5370,1984-09-14,536.7000000000535,536.716,2015-01-01 01:29:30,bin5370,35, +CTSPillarNetworkA,5371,5371,5371,1984-09-15,536.8000000000535,536.816,2015-01-01 01:29:31,bin5371,75, +CTSPillarNetworkA,5372,5372,5372,1984-09-16,536.9000000000535,536.91595,2015-01-01 01:29:32,bin5372,35, +CTSPillarNetworkA,5373,5373,5373,1984-09-17,537.0000000000535,537.0159,2015-01-01 01:29:33,bin5373,75, +CTSPillarNetworkA,5374,5374,5374,1984-09-18,537.1000000000536,537.1159,2015-01-01 01:29:34,bin5374,35, +CTSPillarNetworkA,5375,5375,5375,1984-09-19,537.2000000000536,537.2159,2015-01-01 01:29:35,bin5375,75, +CTSPillarNetworkA,5376,5376,5376,1984-09-20,537.3000000000536,537.31586,2015-01-01 01:29:36,bin5376,35, +CTSPillarNetworkA,5377,5377,5377,1984-09-21,537.4000000000536,537.41583,2015-01-01 01:29:37,bin5377,75, +CTSPillarNetworkA,5378,5378,5378,1984-09-22,537.5000000000537,537.5158,2015-01-01 01:29:38,bin5378,35, +CTSPillarNetworkA,5379,5379,5379,1984-09-23,537.6000000000537,537.6158,2015-01-01 01:29:39,bin5379,75, +CTSPillarNetworkA,5380,5380,5380,1984-09-24,537.7000000000537,537.71576,2015-01-01 01:29:40,bin5380,35, +CTSPillarNetworkA,5381,5381,5381,1984-09-25,537.8000000000537,537.81573,2015-01-01 01:29:41,bin5381,75, +CTSPillarNetworkA,5382,5382,5382,1984-09-26,537.9000000000538,537.9157,2015-01-01 01:29:42,bin5382,35, +CTSPillarNetworkA,5383,5383,5383,1984-09-27,538.0000000000538,538.0157,2015-01-01 01:29:43,bin5383,75, +CTSPillarNetworkA,5384,5384,5384,1984-09-28,538.1000000000538,538.11566,2015-01-01 01:29:44,bin5384,35, +CTSPillarNetworkA,5385,5385,5385,1984-09-29,538.2000000000538,538.21564,2015-01-01 01:29:45,bin5385,75, +CTSPillarNetworkA,5386,5386,5386,1984-09-30,538.3000000000538,538.3156,2015-01-01 01:29:46,bin5386,35, +CTSPillarNetworkA,5387,5387,5387,1984-10-01,538.4000000000539,538.4156,2015-01-01 01:29:47,bin5387,75, +CTSPillarNetworkA,5388,5388,5388,1984-10-02,538.5000000000539,538.51556,2015-01-01 01:29:48,bin5388,35, +CTSPillarNetworkA,5389,5389,5389,1984-10-03,538.6000000000539,538.61554,2015-01-01 01:29:49,bin5389,75, +CTSPillarNetworkA,5390,5390,5390,1984-10-04,538.7000000000539,538.7155,2015-01-01 01:29:50,bin5390,35, +CTSPillarNetworkA,5391,5391,5391,1984-10-05,538.800000000054,538.8155,2015-01-01 01:29:51,bin5391,75, +CTSPillarNetworkA,5392,5392,5392,1984-10-06,538.900000000054,538.91547,2015-01-01 01:29:52,bin5392,35, +CTSPillarNetworkA,5393,5393,5393,1984-10-07,539.000000000054,539.01544,2015-01-01 01:29:53,bin5393,75, +CTSPillarNetworkA,5394,5394,5394,1984-10-08,539.100000000054,539.1154,2015-01-01 01:29:54,bin5394,35, +CTSPillarNetworkA,5395,5395,5395,1984-10-09,539.200000000054,539.2154,2015-01-01 01:29:55,bin5395,75, +CTSPillarNetworkA,5396,5396,5396,1984-10-10,539.3000000000541,539.31537,2015-01-01 01:29:56,bin5396,35, +CTSPillarNetworkA,5397,5397,5397,1984-10-11,539.4000000000541,539.41534,2015-01-01 01:29:57,bin5397,75, +CTSPillarNetworkA,5398,5398,5398,1984-10-12,539.5000000000541,539.5153,2015-01-01 01:29:58,bin5398,35, +CTSPillarNetworkA,5399,5399,5399,1984-10-13,539.6000000000541,539.6153,2015-01-01 01:29:59,bin5399,75, +CTSPillarNetworkA,5400,5400,5400,1984-10-14,539.7000000000542,539.7153,2015-01-01 01:30:00,bin5400,35, +CTSPillarNetworkA,5401,5401,5401,1984-10-15,539.8000000000542,539.81525,2015-01-01 01:30:01,bin5401,75, +CTSPillarNetworkA,5402,5402,5402,1984-10-16,539.9000000000542,539.9152,2015-01-01 01:30:02,bin5402,35, +CTSPillarNetworkA,5403,5403,5403,1984-10-17,540.0000000000542,540.0152,2015-01-01 01:30:03,bin5403,75, +CTSPillarNetworkA,5404,5404,5404,1984-10-18,540.1000000000543,540.1152,2015-01-01 01:30:04,bin5404,35, +CTSPillarNetworkA,5405,5405,5405,1984-10-19,540.2000000000543,540.21515,2015-01-01 01:30:05,bin5405,75, +CTSPillarNetworkA,5406,5406,5406,1984-10-20,540.3000000000543,540.3151,2015-01-01 01:30:06,bin5406,35, +CTSPillarNetworkA,5407,5407,5407,1984-10-21,540.4000000000543,540.4151,2015-01-01 01:30:07,bin5407,75, +CTSPillarNetworkA,5408,5408,5408,1984-10-22,540.5000000000543,540.5151,2015-01-01 01:30:08,bin5408,35, +CTSPillarNetworkA,5409,5409,5409,1984-10-23,540.6000000000544,540.61505,2015-01-01 01:30:09,bin5409,75, +CTSPillarNetworkA,5410,5410,5410,1984-10-24,540.7000000000544,540.715,2015-01-01 01:30:10,bin5410,35, +CTSPillarNetworkA,5411,5411,5411,1984-10-25,540.8000000000544,540.815,2015-01-01 01:30:11,bin5411,75, +CTSPillarNetworkA,5412,5412,5412,1984-10-26,540.9000000000544,540.915,2015-01-01 01:30:12,bin5412,35, +CTSPillarNetworkA,5413,5413,5413,1984-10-27,541.0000000000545,541.01495,2015-01-01 01:30:13,bin5413,75, +CTSPillarNetworkA,5414,5414,5414,1984-10-28,541.1000000000545,541.1149,2015-01-01 01:30:14,bin5414,35, +CTSPillarNetworkA,5415,5415,5415,1984-10-29,541.2000000000545,541.2149,2015-01-01 01:30:15,bin5415,75, +CTSPillarNetworkA,5416,5416,5416,1984-10-30,541.3000000000545,541.3149,2015-01-01 01:30:16,bin5416,35, +CTSPillarNetworkA,5417,5417,5417,1984-10-31,541.4000000000545,541.41486,2015-01-01 01:30:17,bin5417,75, +CTSPillarNetworkA,5418,5418,5418,1984-11-01,541.5000000000546,541.51483,2015-01-01 01:30:18,bin5418,35, +CTSPillarNetworkA,5419,5419,5419,1984-11-02,541.6000000000546,541.6148,2015-01-01 01:30:19,bin5419,75, +CTSPillarNetworkA,5420,5420,5420,1984-11-03,541.7000000000546,541.7148,2015-01-01 01:30:20,bin5420,35, +CTSPillarNetworkA,5421,5421,5421,1984-11-04,541.8000000000546,541.81476,2015-01-01 01:30:21,bin5421,75, +CTSPillarNetworkA,5422,5422,5422,1984-11-05,541.9000000000547,541.91473,2015-01-01 01:30:22,bin5422,35, +CTSPillarNetworkA,5423,5423,5423,1984-11-06,542.0000000000547,542.0147,2015-01-01 01:30:23,bin5423,75, +CTSPillarNetworkA,5424,5424,5424,1984-11-07,542.1000000000547,542.1147,2015-01-01 01:30:24,bin5424,35, +CTSPillarNetworkA,5425,5425,5425,1984-11-08,542.2000000000547,542.21466,2015-01-01 01:30:25,bin5425,75, +CTSPillarNetworkA,5426,5426,5426,1984-11-09,542.3000000000548,542.31464,2015-01-01 01:30:26,bin5426,35, +CTSPillarNetworkA,5427,5427,5427,1984-11-10,542.4000000000548,542.4146,2015-01-01 01:30:27,bin5427,75, +CTSPillarNetworkA,5428,5428,5428,1984-11-11,542.5000000000548,542.5146,2015-01-01 01:30:28,bin5428,35, +CTSPillarNetworkA,5429,5429,5429,1984-11-12,542.6000000000548,542.61456,2015-01-01 01:30:29,bin5429,75, +CTSPillarNetworkA,5430,5430,5430,1984-11-13,542.7000000000548,542.71454,2015-01-01 01:30:30,bin5430,35, +CTSPillarNetworkA,5431,5431,5431,1984-11-14,542.8000000000549,542.8145,2015-01-01 01:30:31,bin5431,75, +CTSPillarNetworkA,5432,5432,5432,1984-11-15,542.9000000000549,542.9145,2015-01-01 01:30:32,bin5432,35, +CTSPillarNetworkA,5433,5433,5433,1984-11-16,543.0000000000549,543.01447,2015-01-01 01:30:33,bin5433,75, +CTSPillarNetworkA,5434,5434,5434,1984-11-17,543.1000000000549,543.11444,2015-01-01 01:30:34,bin5434,35, +CTSPillarNetworkA,5435,5435,5435,1984-11-18,543.200000000055,543.2144,2015-01-01 01:30:35,bin5435,75, +CTSPillarNetworkA,5436,5436,5436,1984-11-19,543.300000000055,543.3144,2015-01-01 01:30:36,bin5436,35, +CTSPillarNetworkA,5437,5437,5437,1984-11-20,543.400000000055,543.41437,2015-01-01 01:30:37,bin5437,75, +CTSPillarNetworkA,5438,5438,5438,1984-11-21,543.500000000055,543.51434,2015-01-01 01:30:38,bin5438,35, +CTSPillarNetworkA,5439,5439,5439,1984-11-22,543.600000000055,543.6143,2015-01-01 01:30:39,bin5439,75, +CTSPillarNetworkA,5440,5440,5440,1984-11-23,543.7000000000551,543.7143,2015-01-01 01:30:40,bin5440,35, +CTSPillarNetworkA,5441,5441,5441,1984-11-24,543.8000000000551,543.8143,2015-01-01 01:30:41,bin5441,75, +CTSPillarNetworkA,5442,5442,5442,1984-11-25,543.9000000000551,543.91425,2015-01-01 01:30:42,bin5442,35, +CTSPillarNetworkA,5443,5443,5443,1984-11-26,544.0000000000551,544.0142,2015-01-01 01:30:43,bin5443,75, +CTSPillarNetworkA,5444,5444,5444,1984-11-27,544.1000000000552,544.1142,2015-01-01 01:30:44,bin5444,35, +CTSPillarNetworkA,5445,5445,5445,1984-11-28,544.2000000000552,544.2142,2015-01-01 01:30:45,bin5445,75, +CTSPillarNetworkA,5446,5446,5446,1984-11-29,544.3000000000552,544.31415,2015-01-01 01:30:46,bin5446,35, +CTSPillarNetworkA,5447,5447,5447,1984-11-30,544.4000000000552,544.4141,2015-01-01 01:30:47,bin5447,75, +CTSPillarNetworkA,5448,5448,5448,1984-12-01,544.5000000000553,544.5141,2015-01-01 01:30:48,bin5448,35, +CTSPillarNetworkA,5449,5449,5449,1984-12-02,544.6000000000553,544.6141,2015-01-01 01:30:49,bin5449,75, +CTSPillarNetworkA,5450,5450,5450,1984-12-03,544.7000000000553,544.71405,2015-01-01 01:30:50,bin5450,35, +CTSPillarNetworkA,5451,5451,5451,1984-12-04,544.8000000000553,544.814,2015-01-01 01:30:51,bin5451,75, +CTSPillarNetworkA,5452,5452,5452,1984-12-05,544.9000000000553,544.914,2015-01-01 01:30:52,bin5452,35, +CTSPillarNetworkA,5453,5453,5453,1984-12-06,545.0000000000554,545.014,2015-01-01 01:30:53,bin5453,75, +CTSPillarNetworkA,5454,5454,5454,1984-12-07,545.1000000000554,545.11395,2015-01-01 01:30:54,bin5454,35, +CTSPillarNetworkA,5455,5455,5455,1984-12-08,545.2000000000554,545.2139,2015-01-01 01:30:55,bin5455,75, +CTSPillarNetworkA,5456,5456,5456,1984-12-09,545.3000000000554,545.3139,2015-01-01 01:30:56,bin5456,35, +CTSPillarNetworkA,5457,5457,5457,1984-12-10,545.4000000000555,545.4139,2015-01-01 01:30:57,bin5457,75, +CTSPillarNetworkA,5458,5458,5458,1984-12-11,545.5000000000555,545.51385,2015-01-01 01:30:58,bin5458,35, +CTSPillarNetworkA,5459,5459,5459,1984-12-12,545.6000000000555,545.61383,2015-01-01 01:30:59,bin5459,75, +CTSPillarNetworkA,5460,5460,5460,1984-12-13,545.7000000000555,545.7138,2015-01-01 01:31:00,bin5460,35, +CTSPillarNetworkA,5461,5461,5461,1984-12-14,545.8000000000555,545.8138,2015-01-01 01:31:01,bin5461,75, +CTSPillarNetworkA,5462,5462,5462,1984-12-15,545.9000000000556,545.91376,2015-01-01 01:31:02,bin5462,35, +CTSPillarNetworkA,5463,5463,5463,1984-12-16,546.0000000000556,546.01373,2015-01-01 01:31:03,bin5463,75, +CTSPillarNetworkA,5464,5464,5464,1984-12-17,546.1000000000556,546.1137,2015-01-01 01:31:04,bin5464,35, +CTSPillarNetworkA,5465,5465,5465,1984-12-18,546.2000000000556,546.2137,2015-01-01 01:31:05,bin5465,75, +CTSPillarNetworkA,5466,5466,5466,1984-12-19,546.3000000000557,546.31366,2015-01-01 01:31:06,bin5466,35, +CTSPillarNetworkA,5467,5467,5467,1984-12-20,546.4000000000557,546.41364,2015-01-01 01:31:07,bin5467,75, +CTSPillarNetworkA,5468,5468,5468,1984-12-21,546.5000000000557,546.5136,2015-01-01 01:31:08,bin5468,35, +CTSPillarNetworkA,5469,5469,5469,1984-12-22,546.6000000000557,546.6136,2015-01-01 01:31:09,bin5469,75, +CTSPillarNetworkA,5470,5470,5470,1984-12-23,546.7000000000558,546.71356,2015-01-01 01:31:10,bin5470,35, +CTSPillarNetworkA,5471,5471,5471,1984-12-24,546.8000000000558,546.81354,2015-01-01 01:31:11,bin5471,75, +CTSPillarNetworkA,5472,5472,5472,1984-12-25,546.9000000000558,546.9135,2015-01-01 01:31:12,bin5472,35, +CTSPillarNetworkA,5473,5473,5473,1984-12-26,547.0000000000558,547.0135,2015-01-01 01:31:13,bin5473,75, +CTSPillarNetworkA,5474,5474,5474,1984-12-27,547.1000000000558,547.11346,2015-01-01 01:31:14,bin5474,35, +CTSPillarNetworkA,5475,5475,5475,1984-12-28,547.2000000000559,547.21344,2015-01-01 01:31:15,bin5475,75, +CTSPillarNetworkA,5476,5476,5476,1984-12-29,547.3000000000559,547.3134,2015-01-01 01:31:16,bin5476,35, +CTSPillarNetworkA,5477,5477,5477,1984-12-30,547.4000000000559,547.4134,2015-01-01 01:31:17,bin5477,75, +CTSPillarNetworkA,5478,5478,5478,1984-12-31,547.5000000000559,547.51337,2015-01-01 01:31:18,bin5478,35, +CTSPillarNetworkA,5479,5479,5479,1985-01-01,547.600000000056,547.61334,2015-01-01 01:31:19,bin5479,75, +CTSPillarNetworkA,5480,5480,5480,1985-01-02,547.700000000056,547.7133,2015-01-01 01:31:20,bin5480,35, +CTSPillarNetworkA,5481,5481,5481,1985-01-03,547.800000000056,547.8133,2015-01-01 01:31:21,bin5481,75, +CTSPillarNetworkA,5482,5482,5482,1985-01-04,547.900000000056,547.91327,2015-01-01 01:31:22,bin5482,35, +CTSPillarNetworkA,5483,5483,5483,1985-01-05,548.000000000056,548.01324,2015-01-01 01:31:23,bin5483,75, +CTSPillarNetworkA,5484,5484,5484,1985-01-06,548.1000000000561,548.1132,2015-01-01 01:31:24,bin5484,35, +CTSPillarNetworkA,5485,5485,5485,1985-01-07,548.2000000000561,548.2132,2015-01-01 01:31:25,bin5485,75, +CTSPillarNetworkA,5486,5486,5486,1985-01-08,548.3000000000561,548.3132,2015-01-01 01:31:26,bin5486,35, +CTSPillarNetworkA,5487,5487,5487,1985-01-09,548.4000000000561,548.41315,2015-01-01 01:31:27,bin5487,75, +CTSPillarNetworkA,5488,5488,5488,1985-01-10,548.5000000000562,548.5131,2015-01-01 01:31:28,bin5488,35, +CTSPillarNetworkA,5489,5489,5489,1985-01-11,548.6000000000562,548.6131,2015-01-01 01:31:29,bin5489,75, +CTSPillarNetworkA,5490,5490,5490,1985-01-12,548.7000000000562,548.7131,2015-01-01 01:31:30,bin5490,35, +CTSPillarNetworkA,5491,5491,5491,1985-01-13,548.8000000000562,548.81305,2015-01-01 01:31:31,bin5491,75, +CTSPillarNetworkA,5492,5492,5492,1985-01-14,548.9000000000563,548.913,2015-01-01 01:31:32,bin5492,35, +CTSPillarNetworkA,5493,5493,5493,1985-01-15,549.0000000000563,549.013,2015-01-01 01:31:33,bin5493,75, +CTSPillarNetworkA,5494,5494,5494,1985-01-16,549.1000000000563,549.113,2015-01-01 01:31:34,bin5494,35, +CTSPillarNetworkA,5495,5495,5495,1985-01-17,549.2000000000563,549.21295,2015-01-01 01:31:35,bin5495,75, +CTSPillarNetworkA,5496,5496,5496,1985-01-18,549.3000000000563,549.3129,2015-01-01 01:31:36,bin5496,35, +CTSPillarNetworkA,5497,5497,5497,1985-01-19,549.4000000000564,549.4129,2015-01-01 01:31:37,bin5497,75, +CTSPillarNetworkA,5498,5498,5498,1985-01-20,549.5000000000564,549.5129,2015-01-01 01:31:38,bin5498,35, +CTSPillarNetworkA,5499,5499,5499,1985-01-21,549.6000000000564,549.61285,2015-01-01 01:31:39,bin5499,75, +CTSPillarNetworkA,5500,5500,5500,1985-01-22,549.7000000000564,549.7128,2015-01-01 01:31:40,bin5500,35, +CTSPillarNetworkA,5501,5501,5501,1985-01-23,549.8000000000565,549.8128,2015-01-01 01:31:41,bin5501,75, +CTSPillarNetworkA,5502,5502,5502,1985-01-24,549.9000000000565,549.9128,2015-01-01 01:31:42,bin5502,35, +CTSPillarNetworkA,5503,5503,5503,1985-01-25,550.0000000000565,550.01276,2015-01-01 01:31:43,bin5503,75, +CTSPillarNetworkA,5504,5504,5504,1985-01-26,550.1000000000565,550.11273,2015-01-01 01:31:44,bin5504,35, +CTSPillarNetworkA,5505,5505,5505,1985-01-27,550.2000000000565,550.2127,2015-01-01 01:31:45,bin5505,75, +CTSPillarNetworkA,5506,5506,5506,1985-01-28,550.3000000000566,550.3127,2015-01-01 01:31:46,bin5506,35, +CTSPillarNetworkA,5507,5507,5507,1985-01-29,550.4000000000566,550.41266,2015-01-01 01:31:47,bin5507,75, +CTSPillarNetworkA,5508,5508,5508,1985-01-30,550.5000000000566,550.51263,2015-01-01 01:31:48,bin5508,35, +CTSPillarNetworkA,5509,5509,5509,1985-01-31,550.6000000000566,550.6126,2015-01-01 01:31:49,bin5509,75, +CTSPillarNetworkA,5510,5510,5510,1985-02-01,550.7000000000567,550.7126,2015-01-01 01:31:50,bin5510,35, +CTSPillarNetworkA,5511,5511,5511,1985-02-02,550.8000000000567,550.81256,2015-01-01 01:31:51,bin5511,75, +CTSPillarNetworkA,5512,5512,5512,1985-02-03,550.9000000000567,550.91254,2015-01-01 01:31:52,bin5512,35, +CTSPillarNetworkA,5513,5513,5513,1985-02-04,551.0000000000567,551.0125,2015-01-01 01:31:53,bin5513,75, +CTSPillarNetworkA,5514,5514,5514,1985-02-05,551.1000000000568,551.1125,2015-01-01 01:31:54,bin5514,35, +CTSPillarNetworkA,5515,5515,5515,1985-02-06,551.2000000000568,551.21246,2015-01-01 01:31:55,bin5515,75, +CTSPillarNetworkA,5516,5516,5516,1985-02-07,551.3000000000568,551.31244,2015-01-01 01:31:56,bin5516,35, +CTSPillarNetworkA,5517,5517,5517,1985-02-08,551.4000000000568,551.4124,2015-01-01 01:31:57,bin5517,75, +CTSPillarNetworkA,5518,5518,5518,1985-02-09,551.5000000000568,551.5124,2015-01-01 01:31:58,bin5518,35, +CTSPillarNetworkA,5519,5519,5519,1985-02-10,551.6000000000569,551.61237,2015-01-01 01:31:59,bin5519,75, +CTSPillarNetworkA,5520,5520,5520,1985-02-11,551.7000000000569,551.71234,2015-01-01 01:32:00,bin5520,35, +CTSPillarNetworkA,5521,5521,5521,1985-02-12,551.8000000000569,551.8123,2015-01-01 01:32:01,bin5521,75, +CTSPillarNetworkA,5522,5522,5522,1985-02-13,551.9000000000569,551.9123,2015-01-01 01:32:02,bin5522,35, +CTSPillarNetworkA,5523,5523,5523,1985-02-14,552.000000000057,552.01227,2015-01-01 01:32:03,bin5523,75, +CTSPillarNetworkA,5524,5524,5524,1985-02-15,552.100000000057,552.11224,2015-01-01 01:32:04,bin5524,35, +CTSPillarNetworkA,5525,5525,5525,1985-02-16,552.200000000057,552.2122,2015-01-01 01:32:05,bin5525,75, +CTSPillarNetworkA,5526,5526,5526,1985-02-17,552.300000000057,552.3122,2015-01-01 01:32:06,bin5526,35, +CTSPillarNetworkA,5527,5527,5527,1985-02-18,552.400000000057,552.4122,2015-01-01 01:32:07,bin5527,75, +CTSPillarNetworkA,5528,5528,5528,1985-02-19,552.5000000000571,552.51215,2015-01-01 01:32:08,bin5528,35, +CTSPillarNetworkA,5529,5529,5529,1985-02-20,552.6000000000571,552.6121,2015-01-01 01:32:09,bin5529,75, +CTSPillarNetworkA,5530,5530,5530,1985-02-21,552.7000000000571,552.7121,2015-01-01 01:32:10,bin5530,35, +CTSPillarNetworkA,5531,5531,5531,1985-02-22,552.8000000000571,552.8121,2015-01-01 01:32:11,bin5531,75, +CTSPillarNetworkA,5532,5532,5532,1985-02-23,552.9000000000572,552.91205,2015-01-01 01:32:12,bin5532,35, +CTSPillarNetworkA,5533,5533,5533,1985-02-24,553.0000000000572,553.012,2015-01-01 01:32:13,bin5533,75, +CTSPillarNetworkA,5534,5534,5534,1985-02-25,553.1000000000572,553.112,2015-01-01 01:32:14,bin5534,35, +CTSPillarNetworkA,5535,5535,5535,1985-02-26,553.2000000000572,553.212,2015-01-01 01:32:15,bin5535,75, +CTSPillarNetworkA,5536,5536,5536,1985-02-27,553.3000000000573,553.31195,2015-01-01 01:32:16,bin5536,35, +CTSPillarNetworkA,5537,5537,5537,1985-02-28,553.4000000000573,553.4119,2015-01-01 01:32:17,bin5537,75, +CTSPillarNetworkA,5538,5538,5538,1985-03-01,553.5000000000573,553.5119,2015-01-01 01:32:18,bin5538,35, +CTSPillarNetworkA,5539,5539,5539,1985-03-02,553.6000000000573,553.6119,2015-01-01 01:32:19,bin5539,75, +CTSPillarNetworkA,5540,5540,5540,1985-03-03,553.7000000000573,553.71185,2015-01-01 01:32:20,bin5540,35, +CTSPillarNetworkA,5541,5541,5541,1985-03-04,553.8000000000574,553.8118,2015-01-01 01:32:21,bin5541,75, +CTSPillarNetworkA,5542,5542,5542,1985-03-05,553.9000000000574,553.9118,2015-01-01 01:32:22,bin5542,35, +CTSPillarNetworkA,5543,5543,5543,1985-03-06,554.0000000000574,554.0118,2015-01-01 01:32:23,bin5543,75, +CTSPillarNetworkA,5544,5544,5544,1985-03-07,554.1000000000574,554.11176,2015-01-01 01:32:24,bin5544,35, +CTSPillarNetworkA,5545,5545,5545,1985-03-08,554.2000000000575,554.21173,2015-01-01 01:32:25,bin5545,75, +CTSPillarNetworkA,5546,5546,5546,1985-03-09,554.3000000000575,554.3117,2015-01-01 01:32:26,bin5546,35, +CTSPillarNetworkA,5547,5547,5547,1985-03-10,554.4000000000575,554.4117,2015-01-01 01:32:27,bin5547,75, +CTSPillarNetworkA,5548,5548,5548,1985-03-11,554.5000000000575,554.51166,2015-01-01 01:32:28,bin5548,35, +CTSPillarNetworkA,5549,5549,5549,1985-03-12,554.6000000000575,554.61163,2015-01-01 01:32:29,bin5549,75, +CTSPillarNetworkA,5550,5550,5550,1985-03-13,554.7000000000576,554.7116,2015-01-01 01:32:30,bin5550,35, +CTSPillarNetworkA,5551,5551,5551,1985-03-14,554.8000000000576,554.8116,2015-01-01 01:32:31,bin5551,75, +CTSPillarNetworkA,5552,5552,5552,1985-03-15,554.9000000000576,554.91156,2015-01-01 01:32:32,bin5552,35, +CTSPillarNetworkA,5553,5553,5553,1985-03-16,555.0000000000576,555.01154,2015-01-01 01:32:33,bin5553,75, +CTSPillarNetworkA,5554,5554,5554,1985-03-17,555.1000000000577,555.1115,2015-01-01 01:32:34,bin5554,35, +CTSPillarNetworkA,5555,5555,5555,1985-03-18,555.2000000000577,555.2115,2015-01-01 01:32:35,bin5555,75, +CTSPillarNetworkA,5556,5556,5556,1985-03-19,555.3000000000577,555.31146,2015-01-01 01:32:36,bin5556,35, +CTSPillarNetworkA,5557,5557,5557,1985-03-20,555.4000000000577,555.41144,2015-01-01 01:32:37,bin5557,75, +CTSPillarNetworkA,5558,5558,5558,1985-03-21,555.5000000000578,555.5114,2015-01-01 01:32:38,bin5558,35, +CTSPillarNetworkA,5559,5559,5559,1985-03-22,555.6000000000578,555.6114,2015-01-01 01:32:39,bin5559,75, +CTSPillarNetworkA,5560,5560,5560,1985-03-23,555.7000000000578,555.71136,2015-01-01 01:32:40,bin5560,35, +CTSPillarNetworkA,5561,5561,5561,1985-03-24,555.8000000000578,555.81134,2015-01-01 01:32:41,bin5561,75, +CTSPillarNetworkA,5562,5562,5562,1985-03-25,555.9000000000578,555.9113,2015-01-01 01:32:42,bin5562,35, +CTSPillarNetworkA,5563,5563,5563,1985-03-26,556.0000000000579,556.0113,2015-01-01 01:32:43,bin5563,75, +CTSPillarNetworkA,5564,5564,5564,1985-03-27,556.1000000000579,556.11127,2015-01-01 01:32:44,bin5564,35, +CTSPillarNetworkA,5565,5565,5565,1985-03-28,556.2000000000579,556.21124,2015-01-01 01:32:45,bin5565,75, +CTSPillarNetworkA,5566,5566,5566,1985-03-29,556.3000000000579,556.3112,2015-01-01 01:32:46,bin5566,35, +CTSPillarNetworkA,5567,5567,5567,1985-03-30,556.400000000058,556.4112,2015-01-01 01:32:47,bin5567,75, +CTSPillarNetworkA,5568,5568,5568,1985-03-31,556.500000000058,556.51117,2015-01-01 01:32:48,bin5568,35, +CTSPillarNetworkA,5569,5569,5569,1985-04-01,556.600000000058,556.61115,2015-01-01 01:32:49,bin5569,75, +CTSPillarNetworkA,5570,5570,5570,1985-04-02,556.700000000058,556.7111,2015-01-01 01:32:50,bin5570,35, +CTSPillarNetworkA,5571,5571,5571,1985-04-03,556.800000000058,556.8111,2015-01-01 01:32:51,bin5571,75, +CTSPillarNetworkA,5572,5572,5572,1985-04-04,556.9000000000581,556.9111,2015-01-01 01:32:52,bin5572,35, +CTSPillarNetworkA,5573,5573,5573,1985-04-05,557.0000000000581,557.01105,2015-01-01 01:32:53,bin5573,75, +CTSPillarNetworkA,5574,5574,5574,1985-04-06,557.1000000000581,557.111,2015-01-01 01:32:54,bin5574,35, +CTSPillarNetworkA,5575,5575,5575,1985-04-07,557.2000000000581,557.211,2015-01-01 01:32:55,bin5575,75, +CTSPillarNetworkA,5576,5576,5576,1985-04-08,557.3000000000582,557.311,2015-01-01 01:32:56,bin5576,35, +CTSPillarNetworkA,5577,5577,5577,1985-04-09,557.4000000000582,557.41095,2015-01-01 01:32:57,bin5577,75, +CTSPillarNetworkA,5578,5578,5578,1985-04-10,557.5000000000582,557.5109,2015-01-01 01:32:58,bin5578,35, +CTSPillarNetworkA,5579,5579,5579,1985-04-11,557.6000000000582,557.6109,2015-01-01 01:32:59,bin5579,75, +CTSPillarNetworkA,5580,5580,5580,1985-04-12,557.7000000000583,557.7109,2015-01-01 01:33:00,bin5580,35, +CTSPillarNetworkA,5581,5581,5581,1985-04-13,557.8000000000583,557.81085,2015-01-01 01:33:01,bin5581,75, +CTSPillarNetworkA,5582,5582,5582,1985-04-14,557.9000000000583,557.9108,2015-01-01 01:33:02,bin5582,35, +CTSPillarNetworkA,5583,5583,5583,1985-04-15,558.0000000000583,558.0108,2015-01-01 01:33:03,bin5583,75, +CTSPillarNetworkA,5584,5584,5584,1985-04-16,558.1000000000583,558.1108,2015-01-01 01:33:04,bin5584,35, +CTSPillarNetworkA,5585,5585,5585,1985-04-17,558.2000000000584,558.21075,2015-01-01 01:33:05,bin5585,75, +CTSPillarNetworkA,5586,5586,5586,1985-04-18,558.3000000000584,558.3107,2015-01-01 01:33:06,bin5586,35, +CTSPillarNetworkA,5587,5587,5587,1985-04-19,558.4000000000584,558.4107,2015-01-01 01:33:07,bin5587,75, +CTSPillarNetworkA,5588,5588,5588,1985-04-20,558.5000000000584,558.5107,2015-01-01 01:33:08,bin5588,35, +CTSPillarNetworkA,5589,5589,5589,1985-04-21,558.6000000000585,558.61066,2015-01-01 01:33:09,bin5589,75, +CTSPillarNetworkA,5590,5590,5590,1985-04-22,558.7000000000585,558.71063,2015-01-01 01:33:10,bin5590,35, +CTSPillarNetworkA,5591,5591,5591,1985-04-23,558.8000000000585,558.8106,2015-01-01 01:33:11,bin5591,75, +CTSPillarNetworkA,5592,5592,5592,1985-04-24,558.9000000000585,558.9106,2015-01-01 01:33:12,bin5592,35, +CTSPillarNetworkA,5593,5593,5593,1985-04-25,559.0000000000585,559.01056,2015-01-01 01:33:13,bin5593,75, +CTSPillarNetworkA,5594,5594,5594,1985-04-26,559.1000000000586,559.11053,2015-01-01 01:33:14,bin5594,35, +CTSPillarNetworkA,5595,5595,5595,1985-04-27,559.2000000000586,559.2105,2015-01-01 01:33:15,bin5595,75, +CTSPillarNetworkA,5596,5596,5596,1985-04-28,559.3000000000586,559.3105,2015-01-01 01:33:16,bin5596,35, +CTSPillarNetworkA,5597,5597,5597,1985-04-29,559.4000000000586,559.41046,2015-01-01 01:33:17,bin5597,75, +CTSPillarNetworkA,5598,5598,5598,1985-04-30,559.5000000000587,559.51044,2015-01-01 01:33:18,bin5598,35, +CTSPillarNetworkA,5599,5599,5599,1985-05-01,559.6000000000587,559.6104,2015-01-01 01:33:19,bin5599,75, +CTSPillarNetworkA,5600,5600,5600,1985-05-02,559.7000000000587,559.7104,2015-01-01 01:33:20,bin5600,35, +CTSPillarNetworkA,5601,5601,5601,1985-05-03,559.8000000000587,559.81036,2015-01-01 01:33:21,bin5601,75, +CTSPillarNetworkA,5602,5602,5602,1985-05-04,559.9000000000588,559.91034,2015-01-01 01:33:22,bin5602,35, +CTSPillarNetworkA,5603,5603,5603,1985-05-05,560.0000000000588,560.0103,2015-01-01 01:33:23,bin5603,75, +CTSPillarNetworkA,5604,5604,5604,1985-05-06,560.1000000000588,560.1103,2015-01-01 01:33:24,bin5604,35, +CTSPillarNetworkA,5605,5605,5605,1985-05-07,560.2000000000588,560.21027,2015-01-01 01:33:25,bin5605,75, +CTSPillarNetworkA,5606,5606,5606,1985-05-08,560.3000000000588,560.31024,2015-01-01 01:33:26,bin5606,35, +CTSPillarNetworkA,5607,5607,5607,1985-05-09,560.4000000000589,560.4102,2015-01-01 01:33:27,bin5607,75, +CTSPillarNetworkA,5608,5608,5608,1985-05-10,560.5000000000589,560.5102,2015-01-01 01:33:28,bin5608,35, +CTSPillarNetworkA,5609,5609,5609,1985-05-11,560.6000000000589,560.61017,2015-01-01 01:33:29,bin5609,75, +CTSPillarNetworkA,5610,5610,5610,1985-05-12,560.7000000000589,560.71014,2015-01-01 01:33:30,bin5610,35, +CTSPillarNetworkA,5611,5611,5611,1985-05-13,560.800000000059,560.8101,2015-01-01 01:33:31,bin5611,75, +CTSPillarNetworkA,5612,5612,5612,1985-05-14,560.900000000059,560.9101,2015-01-01 01:33:32,bin5612,35, +CTSPillarNetworkA,5613,5613,5613,1985-05-15,561.000000000059,561.0101,2015-01-01 01:33:33,bin5613,75, +CTSPillarNetworkA,5614,5614,5614,1985-05-16,561.100000000059,561.11005,2015-01-01 01:33:34,bin5614,35, +CTSPillarNetworkA,5615,5615,5615,1985-05-17,561.200000000059,561.21,2015-01-01 01:33:35,bin5615,75, +CTSPillarNetworkA,5616,5616,5616,1985-05-18,561.3000000000591,561.31,2015-01-01 01:33:36,bin5616,35, +CTSPillarNetworkA,5617,5617,5617,1985-05-19,561.4000000000591,561.41,2015-01-01 01:33:37,bin5617,75, +CTSPillarNetworkA,5618,5618,5618,1985-05-20,561.5000000000591,561.50995,2015-01-01 01:33:38,bin5618,35, +CTSPillarNetworkA,5619,5619,5619,1985-05-21,561.6000000000591,561.6099,2015-01-01 01:33:39,bin5619,75, +CTSPillarNetworkA,5620,5620,5620,1985-05-22,561.7000000000592,561.7099,2015-01-01 01:33:40,bin5620,35, +CTSPillarNetworkA,5621,5621,5621,1985-05-23,561.8000000000592,561.8099,2015-01-01 01:33:41,bin5621,75, +CTSPillarNetworkA,5622,5622,5622,1985-05-24,561.9000000000592,561.90985,2015-01-01 01:33:42,bin5622,35, +CTSPillarNetworkA,5623,5623,5623,1985-05-25,562.0000000000592,562.0098,2015-01-01 01:33:43,bin5623,75, +CTSPillarNetworkA,5624,5624,5624,1985-05-26,562.1000000000593,562.1098,2015-01-01 01:33:44,bin5624,35, +CTSPillarNetworkA,5625,5625,5625,1985-05-27,562.2000000000593,562.2098,2015-01-01 01:33:45,bin5625,75, +CTSPillarNetworkA,5626,5626,5626,1985-05-28,562.3000000000593,562.30975,2015-01-01 01:33:46,bin5626,35, +CTSPillarNetworkA,5627,5627,5627,1985-05-29,562.4000000000593,562.4097,2015-01-01 01:33:47,bin5627,75, +CTSPillarNetworkA,5628,5628,5628,1985-05-30,562.5000000000593,562.5097,2015-01-01 01:33:48,bin5628,35, +CTSPillarNetworkA,5629,5629,5629,1985-05-31,562.6000000000594,562.6097,2015-01-01 01:33:49,bin5629,75, +CTSPillarNetworkA,5630,5630,5630,1985-06-01,562.7000000000594,562.70966,2015-01-01 01:33:50,bin5630,35, +CTSPillarNetworkA,5631,5631,5631,1985-06-02,562.8000000000594,562.80963,2015-01-01 01:33:51,bin5631,75, +CTSPillarNetworkA,5632,5632,5632,1985-06-03,562.9000000000594,562.9096,2015-01-01 01:33:52,bin5632,35, +CTSPillarNetworkA,5633,5633,5633,1985-06-04,563.0000000000595,563.0096,2015-01-01 01:33:53,bin5633,75, +CTSPillarNetworkA,5634,5634,5634,1985-06-05,563.1000000000595,563.10956,2015-01-01 01:33:54,bin5634,35, +CTSPillarNetworkA,5635,5635,5635,1985-06-06,563.2000000000595,563.20953,2015-01-01 01:33:55,bin5635,75, +CTSPillarNetworkA,5636,5636,5636,1985-06-07,563.3000000000595,563.3095,2015-01-01 01:33:56,bin5636,35, +CTSPillarNetworkA,5637,5637,5637,1985-06-08,563.4000000000595,563.4095,2015-01-01 01:33:57,bin5637,75, +CTSPillarNetworkA,5638,5638,5638,1985-06-09,563.5000000000596,563.50946,2015-01-01 01:33:58,bin5638,35, +CTSPillarNetworkA,5639,5639,5639,1985-06-10,563.6000000000596,563.60944,2015-01-01 01:33:59,bin5639,75, +CTSPillarNetworkA,5640,5640,5640,1985-06-11,563.7000000000596,563.7094,2015-01-01 01:34:00,bin5640,35, +CTSPillarNetworkA,5641,5641,5641,1985-06-12,563.8000000000596,563.8094,2015-01-01 01:34:01,bin5641,75, +CTSPillarNetworkA,5642,5642,5642,1985-06-13,563.9000000000597,563.90936,2015-01-01 01:34:02,bin5642,35, +CTSPillarNetworkA,5643,5643,5643,1985-06-14,564.0000000000597,564.00934,2015-01-01 01:34:03,bin5643,75, +CTSPillarNetworkA,5644,5644,5644,1985-06-15,564.1000000000597,564.1093,2015-01-01 01:34:04,bin5644,35, +CTSPillarNetworkA,5645,5645,5645,1985-06-16,564.2000000000597,564.2093,2015-01-01 01:34:05,bin5645,75, +CTSPillarNetworkA,5646,5646,5646,1985-06-17,564.3000000000598,564.30927,2015-01-01 01:34:06,bin5646,35, +CTSPillarNetworkA,5647,5647,5647,1985-06-18,564.4000000000598,564.40924,2015-01-01 01:34:07,bin5647,75, +CTSPillarNetworkA,5648,5648,5648,1985-06-19,564.5000000000598,564.5092,2015-01-01 01:34:08,bin5648,35, +CTSPillarNetworkA,5649,5649,5649,1985-06-20,564.6000000000598,564.6092,2015-01-01 01:34:09,bin5649,75, +CTSPillarNetworkA,5650,5650,5650,1985-06-21,564.7000000000598,564.70917,2015-01-01 01:34:10,bin5650,35, +CTSPillarNetworkA,5651,5651,5651,1985-06-22,564.8000000000599,564.80914,2015-01-01 01:34:11,bin5651,75, +CTSPillarNetworkA,5652,5652,5652,1985-06-23,564.9000000000599,564.9091,2015-01-01 01:34:12,bin5652,35, +CTSPillarNetworkA,5653,5653,5653,1985-06-24,565.0000000000599,565.0091,2015-01-01 01:34:13,bin5653,75, +CTSPillarNetworkA,5654,5654,5654,1985-06-25,565.1000000000599,565.1091,2015-01-01 01:34:14,bin5654,35, +CTSPillarNetworkA,5655,5655,5655,1985-06-26,565.20000000006,565.20905,2015-01-01 01:34:15,bin5655,75, +CTSPillarNetworkA,5656,5656,5656,1985-06-27,565.30000000006,565.309,2015-01-01 01:34:16,bin5656,35, +CTSPillarNetworkA,5657,5657,5657,1985-06-28,565.40000000006,565.409,2015-01-01 01:34:17,bin5657,75, +CTSPillarNetworkA,5658,5658,5658,1985-06-29,565.50000000006,565.509,2015-01-01 01:34:18,bin5658,35, +CTSPillarNetworkA,5659,5659,5659,1985-06-30,565.60000000006,565.60895,2015-01-01 01:34:19,bin5659,75, +CTSPillarNetworkA,5660,5660,5660,1985-07-01,565.7000000000601,565.7089,2015-01-01 01:34:20,bin5660,35, +CTSPillarNetworkA,5661,5661,5661,1985-07-02,565.8000000000601,565.8089,2015-01-01 01:34:21,bin5661,75, +CTSPillarNetworkA,5662,5662,5662,1985-07-03,565.9000000000601,565.9089,2015-01-01 01:34:22,bin5662,35, +CTSPillarNetworkA,5663,5663,5663,1985-07-04,566.0000000000601,566.00885,2015-01-01 01:34:23,bin5663,75, +CTSPillarNetworkA,5664,5664,5664,1985-07-05,566.1000000000602,566.1088,2015-01-01 01:34:24,bin5664,35, +CTSPillarNetworkA,5665,5665,5665,1985-07-06,566.2000000000602,566.2088,2015-01-01 01:34:25,bin5665,75, +CTSPillarNetworkA,5666,5666,5666,1985-07-07,566.3000000000602,566.3088,2015-01-01 01:34:26,bin5666,35, +CTSPillarNetworkA,5667,5667,5667,1985-07-08,566.4000000000602,566.40875,2015-01-01 01:34:27,bin5667,75, +CTSPillarNetworkA,5668,5668,5668,1985-07-09,566.5000000000603,566.5087,2015-01-01 01:34:28,bin5668,35, +CTSPillarNetworkA,5669,5669,5669,1985-07-10,566.6000000000603,566.6087,2015-01-01 01:34:29,bin5669,75, +CTSPillarNetworkA,5670,5670,5670,1985-07-11,566.7000000000603,566.7087,2015-01-01 01:34:30,bin5670,35, +CTSPillarNetworkA,5671,5671,5671,1985-07-12,566.8000000000603,566.80865,2015-01-01 01:34:31,bin5671,75, +CTSPillarNetworkA,5672,5672,5672,1985-07-13,566.9000000000603,566.9086,2015-01-01 01:34:32,bin5672,35, +CTSPillarNetworkA,5673,5673,5673,1985-07-14,567.0000000000604,567.0086,2015-01-01 01:34:33,bin5673,75, +CTSPillarNetworkA,5674,5674,5674,1985-07-15,567.1000000000604,567.1086,2015-01-01 01:34:34,bin5674,35, +CTSPillarNetworkA,5675,5675,5675,1985-07-16,567.2000000000604,567.20856,2015-01-01 01:34:35,bin5675,75, +CTSPillarNetworkA,5676,5676,5676,1985-07-17,567.3000000000604,567.30853,2015-01-01 01:34:36,bin5676,35, +CTSPillarNetworkA,5677,5677,5677,1985-07-18,567.4000000000605,567.4085,2015-01-01 01:34:37,bin5677,75, +CTSPillarNetworkA,5678,5678,5678,1985-07-19,567.5000000000605,567.5085,2015-01-01 01:34:38,bin5678,35, +CTSPillarNetworkA,5679,5679,5679,1985-07-20,567.6000000000605,567.60846,2015-01-01 01:34:39,bin5679,75, +CTSPillarNetworkA,5680,5680,5680,1985-07-21,567.7000000000605,567.70844,2015-01-01 01:34:40,bin5680,35, +CTSPillarNetworkA,5681,5681,5681,1985-07-22,567.8000000000605,567.8084,2015-01-01 01:34:41,bin5681,75, +CTSPillarNetworkA,5682,5682,5682,1985-07-23,567.9000000000606,567.9084,2015-01-01 01:34:42,bin5682,35, +CTSPillarNetworkA,5683,5683,5683,1985-07-24,568.0000000000606,568.00836,2015-01-01 01:34:43,bin5683,75, +CTSPillarNetworkA,5684,5684,5684,1985-07-25,568.1000000000606,568.10834,2015-01-01 01:34:44,bin5684,35, +CTSPillarNetworkA,5685,5685,5685,1985-07-26,568.2000000000606,568.2083,2015-01-01 01:34:45,bin5685,75, +CTSPillarNetworkA,5686,5686,5686,1985-07-27,568.3000000000607,568.3083,2015-01-01 01:34:46,bin5686,35, +CTSPillarNetworkA,5687,5687,5687,1985-07-28,568.4000000000607,568.40826,2015-01-01 01:34:47,bin5687,75, +CTSPillarNetworkA,5688,5688,5688,1985-07-29,568.5000000000607,568.50824,2015-01-01 01:34:48,bin5688,35, +CTSPillarNetworkA,5689,5689,5689,1985-07-30,568.6000000000607,568.6082,2015-01-01 01:34:49,bin5689,75, +CTSPillarNetworkA,5690,5690,5690,1985-07-31,568.7000000000608,568.7082,2015-01-01 01:34:50,bin5690,35, +CTSPillarNetworkA,5691,5691,5691,1985-08-01,568.8000000000608,568.80817,2015-01-01 01:34:51,bin5691,75, +CTSPillarNetworkA,5692,5692,5692,1985-08-02,568.9000000000608,568.90814,2015-01-01 01:34:52,bin5692,35, +CTSPillarNetworkA,5693,5693,5693,1985-08-03,569.0000000000608,569.0081,2015-01-01 01:34:53,bin5693,75, +CTSPillarNetworkA,5694,5694,5694,1985-08-04,569.1000000000608,569.1081,2015-01-01 01:34:54,bin5694,35, +CTSPillarNetworkA,5695,5695,5695,1985-08-05,569.2000000000609,569.20807,2015-01-01 01:34:55,bin5695,75, +CTSPillarNetworkA,5696,5696,5696,1985-08-06,569.3000000000609,569.30804,2015-01-01 01:34:56,bin5696,35, +CTSPillarNetworkA,5697,5697,5697,1985-08-07,569.4000000000609,569.408,2015-01-01 01:34:57,bin5697,75, +CTSPillarNetworkA,5698,5698,5698,1985-08-08,569.5000000000609,569.508,2015-01-01 01:34:58,bin5698,35, +CTSPillarNetworkA,5699,5699,5699,1985-08-09,569.600000000061,569.608,2015-01-01 01:34:59,bin5699,75, +CTSPillarNetworkA,5700,5700,5700,1985-08-10,569.700000000061,569.70795,2015-01-01 01:35:00,bin5700,35, +CTSPillarNetworkA,5701,5701,5701,1985-08-11,569.800000000061,569.8079,2015-01-01 01:35:01,bin5701,75, +CTSPillarNetworkA,5702,5702,5702,1985-08-12,569.900000000061,569.9079,2015-01-01 01:35:02,bin5702,35, +CTSPillarNetworkA,5703,5703,5703,1985-08-13,570.000000000061,570.0079,2015-01-01 01:35:03,bin5703,75, +CTSPillarNetworkA,5704,5704,5704,1985-08-14,570.1000000000611,570.10785,2015-01-01 01:35:04,bin5704,35, +CTSPillarNetworkA,5705,5705,5705,1985-08-15,570.2000000000611,570.2078,2015-01-01 01:35:05,bin5705,75, +CTSPillarNetworkA,5706,5706,5706,1985-08-16,570.3000000000611,570.3078,2015-01-01 01:35:06,bin5706,35, +CTSPillarNetworkA,5707,5707,5707,1985-08-17,570.4000000000611,570.4078,2015-01-01 01:35:07,bin5707,75, +CTSPillarNetworkA,5708,5708,5708,1985-08-18,570.5000000000612,570.50775,2015-01-01 01:35:08,bin5708,35, +CTSPillarNetworkA,5709,5709,5709,1985-08-19,570.6000000000612,570.6077,2015-01-01 01:35:09,bin5709,75, +CTSPillarNetworkA,5710,5710,5710,1985-08-20,570.7000000000612,570.7077,2015-01-01 01:35:10,bin5710,35, +CTSPillarNetworkA,5711,5711,5711,1985-08-21,570.8000000000612,570.8077,2015-01-01 01:35:11,bin5711,75, +CTSPillarNetworkA,5712,5712,5712,1985-08-22,570.9000000000613,570.90765,2015-01-01 01:35:12,bin5712,35, +CTSPillarNetworkA,5713,5713,5713,1985-08-23,571.0000000000613,571.0076,2015-01-01 01:35:13,bin5713,75, +CTSPillarNetworkA,5714,5714,5714,1985-08-24,571.1000000000613,571.1076,2015-01-01 01:35:14,bin5714,35, +CTSPillarNetworkA,5715,5715,5715,1985-08-25,571.2000000000613,571.2076,2015-01-01 01:35:15,bin5715,75, +CTSPillarNetworkA,5716,5716,5716,1985-08-26,571.3000000000613,571.30756,2015-01-01 01:35:16,bin5716,35, +CTSPillarNetworkA,5717,5717,5717,1985-08-27,571.4000000000614,571.40753,2015-01-01 01:35:17,bin5717,75, +CTSPillarNetworkA,5718,5718,5718,1985-08-28,571.5000000000614,571.5075,2015-01-01 01:35:18,bin5718,35, +CTSPillarNetworkA,5719,5719,5719,1985-08-29,571.6000000000614,571.6075,2015-01-01 01:35:19,bin5719,75, +CTSPillarNetworkA,5720,5720,5720,1985-08-30,571.7000000000614,571.70746,2015-01-01 01:35:20,bin5720,35, +CTSPillarNetworkA,5721,5721,5721,1985-08-31,571.8000000000615,571.80743,2015-01-01 01:35:21,bin5721,75, +CTSPillarNetworkA,5722,5722,5722,1985-09-01,571.9000000000615,571.9074,2015-01-01 01:35:22,bin5722,35, +CTSPillarNetworkA,5723,5723,5723,1985-09-02,572.0000000000615,572.0074,2015-01-01 01:35:23,bin5723,75, +CTSPillarNetworkA,5724,5724,5724,1985-09-03,572.1000000000615,572.10736,2015-01-01 01:35:24,bin5724,35, +CTSPillarNetworkA,5725,5725,5725,1985-09-04,572.2000000000616,572.20734,2015-01-01 01:35:25,bin5725,75, +CTSPillarNetworkA,5726,5726,5726,1985-09-05,572.3000000000616,572.3073,2015-01-01 01:35:26,bin5726,35, +CTSPillarNetworkA,5727,5727,5727,1985-09-06,572.4000000000616,572.4073,2015-01-01 01:35:27,bin5727,75, +CTSPillarNetworkA,5728,5728,5728,1985-09-07,572.5000000000616,572.50726,2015-01-01 01:35:28,bin5728,35, +CTSPillarNetworkA,5729,5729,5729,1985-09-08,572.6000000000616,572.60724,2015-01-01 01:35:29,bin5729,75, +CTSPillarNetworkA,5730,5730,5730,1985-09-09,572.7000000000617,572.7072,2015-01-01 01:35:30,bin5730,35, +CTSPillarNetworkA,5731,5731,5731,1985-09-10,572.8000000000617,572.8072,2015-01-01 01:35:31,bin5731,75, +CTSPillarNetworkA,5732,5732,5732,1985-09-11,572.9000000000617,572.90717,2015-01-01 01:35:32,bin5732,35, +CTSPillarNetworkA,5733,5733,5733,1985-09-12,573.0000000000617,573.00714,2015-01-01 01:35:33,bin5733,75, +CTSPillarNetworkA,5734,5734,5734,1985-09-13,573.1000000000618,573.1071,2015-01-01 01:35:34,bin5734,35, +CTSPillarNetworkA,5735,5735,5735,1985-09-14,573.2000000000618,573.2071,2015-01-01 01:35:35,bin5735,75, +CTSPillarNetworkA,5736,5736,5736,1985-09-15,573.3000000000618,573.30707,2015-01-01 01:35:36,bin5736,35, +CTSPillarNetworkA,5737,5737,5737,1985-09-16,573.4000000000618,573.40704,2015-01-01 01:35:37,bin5737,75, +CTSPillarNetworkA,5738,5738,5738,1985-09-17,573.5000000000618,573.507,2015-01-01 01:35:38,bin5738,35, +CTSPillarNetworkA,5739,5739,5739,1985-09-18,573.6000000000619,573.607,2015-01-01 01:35:39,bin5739,75, +CTSPillarNetworkA,5740,5740,5740,1985-09-19,573.7000000000619,573.707,2015-01-01 01:35:40,bin5740,35, +CTSPillarNetworkA,5741,5741,5741,1985-09-20,573.8000000000619,573.80695,2015-01-01 01:35:41,bin5741,75, +CTSPillarNetworkA,5742,5742,5742,1985-09-21,573.9000000000619,573.9069,2015-01-01 01:35:42,bin5742,35, +CTSPillarNetworkA,5743,5743,5743,1985-09-22,574.000000000062,574.0069,2015-01-01 01:35:43,bin5743,75, +CTSPillarNetworkA,5744,5744,5744,1985-09-23,574.100000000062,574.1069,2015-01-01 01:35:44,bin5744,35, +CTSPillarNetworkA,5745,5745,5745,1985-09-24,574.200000000062,574.20685,2015-01-01 01:35:45,bin5745,75, +CTSPillarNetworkA,5746,5746,5746,1985-09-25,574.300000000062,574.3068,2015-01-01 01:35:46,bin5746,35, +CTSPillarNetworkA,5747,5747,5747,1985-09-26,574.400000000062,574.4068,2015-01-01 01:35:47,bin5747,75, +CTSPillarNetworkA,5748,5748,5748,1985-09-27,574.5000000000621,574.5068,2015-01-01 01:35:48,bin5748,35, +CTSPillarNetworkA,5749,5749,5749,1985-09-28,574.6000000000621,574.60675,2015-01-01 01:35:49,bin5749,75, +CTSPillarNetworkA,5750,5750,5750,1985-09-29,574.7000000000621,574.7067,2015-01-01 01:35:50,bin5750,35, +CTSPillarNetworkA,5751,5751,5751,1985-09-30,574.8000000000621,574.8067,2015-01-01 01:35:51,bin5751,75, +CTSPillarNetworkA,5752,5752,5752,1985-10-01,574.9000000000622,574.9067,2015-01-01 01:35:52,bin5752,35, +CTSPillarNetworkA,5753,5753,5753,1985-10-02,575.0000000000622,575.00665,2015-01-01 01:35:53,bin5753,75, +CTSPillarNetworkA,5754,5754,5754,1985-10-03,575.1000000000622,575.1066,2015-01-01 01:35:54,bin5754,35, +CTSPillarNetworkA,5755,5755,5755,1985-10-04,575.2000000000622,575.2066,2015-01-01 01:35:55,bin5755,75, +CTSPillarNetworkA,5756,5756,5756,1985-10-05,575.3000000000623,575.3066,2015-01-01 01:35:56,bin5756,35, +CTSPillarNetworkA,5757,5757,5757,1985-10-06,575.4000000000623,575.40656,2015-01-01 01:35:57,bin5757,75, +CTSPillarNetworkA,5758,5758,5758,1985-10-07,575.5000000000623,575.50653,2015-01-01 01:35:58,bin5758,35, +CTSPillarNetworkA,5759,5759,5759,1985-10-08,575.6000000000623,575.6065,2015-01-01 01:35:59,bin5759,75, +CTSPillarNetworkA,5760,5760,5760,1985-10-09,575.7000000000623,575.7065,2015-01-01 01:36:00,bin5760,35, +CTSPillarNetworkA,5761,5761,5761,1985-10-10,575.8000000000624,575.80646,2015-01-01 01:36:01,bin5761,75, +CTSPillarNetworkA,5762,5762,5762,1985-10-11,575.9000000000624,575.90643,2015-01-01 01:36:02,bin5762,35, +CTSPillarNetworkA,5763,5763,5763,1985-10-12,576.0000000000624,576.0064,2015-01-01 01:36:03,bin5763,75, +CTSPillarNetworkA,5764,5764,5764,1985-10-13,576.1000000000624,576.1064,2015-01-01 01:36:04,bin5764,35, +CTSPillarNetworkA,5765,5765,5765,1985-10-14,576.2000000000625,576.20636,2015-01-01 01:36:05,bin5765,75, +CTSPillarNetworkA,5766,5766,5766,1985-10-15,576.3000000000625,576.30634,2015-01-01 01:36:06,bin5766,35, +CTSPillarNetworkA,5767,5767,5767,1985-10-16,576.4000000000625,576.4063,2015-01-01 01:36:07,bin5767,75, +CTSPillarNetworkA,5768,5768,5768,1985-10-17,576.5000000000625,576.5063,2015-01-01 01:36:08,bin5768,35, +CTSPillarNetworkA,5769,5769,5769,1985-10-18,576.6000000000626,576.60626,2015-01-01 01:36:09,bin5769,75, +CTSPillarNetworkA,5770,5770,5770,1985-10-19,576.7000000000626,576.70624,2015-01-01 01:36:10,bin5770,35, +CTSPillarNetworkA,5771,5771,5771,1985-10-20,576.8000000000626,576.8062,2015-01-01 01:36:11,bin5771,75, +CTSPillarNetworkA,5772,5772,5772,1985-10-21,576.9000000000626,576.9062,2015-01-01 01:36:12,bin5772,35, +CTSPillarNetworkA,5773,5773,5773,1985-10-22,577.0000000000626,577.00616,2015-01-01 01:36:13,bin5773,75, +CTSPillarNetworkA,5774,5774,5774,1985-10-23,577.1000000000627,577.10614,2015-01-01 01:36:14,bin5774,35, +CTSPillarNetworkA,5775,5775,5775,1985-10-24,577.2000000000627,577.2061,2015-01-01 01:36:15,bin5775,75, +CTSPillarNetworkA,5776,5776,5776,1985-10-25,577.3000000000627,577.3061,2015-01-01 01:36:16,bin5776,35, +CTSPillarNetworkA,5777,5777,5777,1985-10-26,577.4000000000627,577.40607,2015-01-01 01:36:17,bin5777,75, +CTSPillarNetworkA,5778,5778,5778,1985-10-27,577.5000000000628,577.50604,2015-01-01 01:36:18,bin5778,35, +CTSPillarNetworkA,5779,5779,5779,1985-10-28,577.6000000000628,577.606,2015-01-01 01:36:19,bin5779,75, +CTSPillarNetworkA,5780,5780,5780,1985-10-29,577.7000000000628,577.706,2015-01-01 01:36:20,bin5780,35, +CTSPillarNetworkA,5781,5781,5781,1985-10-30,577.8000000000628,577.80597,2015-01-01 01:36:21,bin5781,75, +CTSPillarNetworkA,5782,5782,5782,1985-10-31,577.9000000000628,577.90594,2015-01-01 01:36:22,bin5782,35, +CTSPillarNetworkA,5783,5783,5783,1985-11-01,578.0000000000629,578.0059,2015-01-01 01:36:23,bin5783,75, +CTSPillarNetworkA,5784,5784,5784,1985-11-02,578.1000000000629,578.1059,2015-01-01 01:36:24,bin5784,35, +CTSPillarNetworkA,5785,5785,5785,1985-11-03,578.2000000000629,578.2059,2015-01-01 01:36:25,bin5785,75, +CTSPillarNetworkA,5786,5786,5786,1985-11-04,578.3000000000629,578.30585,2015-01-01 01:36:26,bin5786,35, +CTSPillarNetworkA,5787,5787,5787,1985-11-05,578.400000000063,578.4058,2015-01-01 01:36:27,bin5787,75, +CTSPillarNetworkA,5788,5788,5788,1985-11-06,578.500000000063,578.5058,2015-01-01 01:36:28,bin5788,35, +CTSPillarNetworkA,5789,5789,5789,1985-11-07,578.600000000063,578.6058,2015-01-01 01:36:29,bin5789,75, +CTSPillarNetworkA,5790,5790,5790,1985-11-08,578.700000000063,578.70575,2015-01-01 01:36:30,bin5790,35, +CTSPillarNetworkA,5791,5791,5791,1985-11-09,578.800000000063,578.8057,2015-01-01 01:36:31,bin5791,75, +CTSPillarNetworkA,5792,5792,5792,1985-11-10,578.9000000000631,578.9057,2015-01-01 01:36:32,bin5792,35, +CTSPillarNetworkA,5793,5793,5793,1985-11-11,579.0000000000631,579.0057,2015-01-01 01:36:33,bin5793,75, +CTSPillarNetworkA,5794,5794,5794,1985-11-12,579.1000000000631,579.10565,2015-01-01 01:36:34,bin5794,35, +CTSPillarNetworkA,5795,5795,5795,1985-11-13,579.2000000000631,579.2056,2015-01-01 01:36:35,bin5795,75, +CTSPillarNetworkA,5796,5796,5796,1985-11-14,579.3000000000632,579.3056,2015-01-01 01:36:36,bin5796,35, +CTSPillarNetworkA,5797,5797,5797,1985-11-15,579.4000000000632,579.4056,2015-01-01 01:36:37,bin5797,75, +CTSPillarNetworkA,5798,5798,5798,1985-11-16,579.5000000000632,579.50555,2015-01-01 01:36:38,bin5798,35, +CTSPillarNetworkA,5799,5799,5799,1985-11-17,579.6000000000632,579.6055,2015-01-01 01:36:39,bin5799,75, +CTSPillarNetworkA,5800,5800,5800,1985-11-18,579.7000000000633,579.7055,2015-01-01 01:36:40,bin5800,35, +CTSPillarNetworkA,5801,5801,5801,1985-11-19,579.8000000000633,579.8055,2015-01-01 01:36:41,bin5801,75, +CTSPillarNetworkA,5802,5802,5802,1985-11-20,579.9000000000633,579.90546,2015-01-01 01:36:42,bin5802,35, +CTSPillarNetworkA,5803,5803,5803,1985-11-21,580.0000000000633,580.00543,2015-01-01 01:36:43,bin5803,75, +CTSPillarNetworkA,5804,5804,5804,1985-11-22,580.1000000000633,580.1054,2015-01-01 01:36:44,bin5804,35, +CTSPillarNetworkA,5805,5805,5805,1985-11-23,580.2000000000634,580.2054,2015-01-01 01:36:45,bin5805,75, +CTSPillarNetworkA,5806,5806,5806,1985-11-24,580.3000000000634,580.30536,2015-01-01 01:36:46,bin5806,35, +CTSPillarNetworkA,5807,5807,5807,1985-11-25,580.4000000000634,580.40533,2015-01-01 01:36:47,bin5807,75, +CTSPillarNetworkA,5808,5808,5808,1985-11-26,580.5000000000634,580.5053,2015-01-01 01:36:48,bin5808,35, +CTSPillarNetworkA,5809,5809,5809,1985-11-27,580.6000000000635,580.6053,2015-01-01 01:36:49,bin5809,75, +CTSPillarNetworkA,5810,5810,5810,1985-11-28,580.7000000000635,580.70526,2015-01-01 01:36:50,bin5810,35, +CTSPillarNetworkA,5811,5811,5811,1985-11-29,580.8000000000635,580.80524,2015-01-01 01:36:51,bin5811,75, +CTSPillarNetworkA,5812,5812,5812,1985-11-30,580.9000000000635,580.9052,2015-01-01 01:36:52,bin5812,35, +CTSPillarNetworkA,5813,5813,5813,1985-12-01,581.0000000000636,581.0052,2015-01-01 01:36:53,bin5813,75, +CTSPillarNetworkA,5814,5814,5814,1985-12-02,581.1000000000636,581.10516,2015-01-01 01:36:54,bin5814,35, +CTSPillarNetworkA,5815,5815,5815,1985-12-03,581.2000000000636,581.20514,2015-01-01 01:36:55,bin5815,75, +CTSPillarNetworkA,5816,5816,5816,1985-12-04,581.3000000000636,581.3051,2015-01-01 01:36:56,bin5816,35, +CTSPillarNetworkA,5817,5817,5817,1985-12-05,581.4000000000636,581.4051,2015-01-01 01:36:57,bin5817,75, +CTSPillarNetworkA,5818,5818,5818,1985-12-06,581.5000000000637,581.50507,2015-01-01 01:36:58,bin5818,35, +CTSPillarNetworkA,5819,5819,5819,1985-12-07,581.6000000000637,581.60504,2015-01-01 01:36:59,bin5819,75, +CTSPillarNetworkA,5820,5820,5820,1985-12-08,581.7000000000637,581.705,2015-01-01 01:37:00,bin5820,35, +CTSPillarNetworkA,5821,5821,5821,1985-12-09,581.8000000000637,581.805,2015-01-01 01:37:01,bin5821,75, +CTSPillarNetworkA,5822,5822,5822,1985-12-10,581.9000000000638,581.90497,2015-01-01 01:37:02,bin5822,35, +CTSPillarNetworkA,5823,5823,5823,1985-12-11,582.0000000000638,582.00494,2015-01-01 01:37:03,bin5823,75, +CTSPillarNetworkA,5824,5824,5824,1985-12-12,582.1000000000638,582.1049,2015-01-01 01:37:04,bin5824,35, +CTSPillarNetworkA,5825,5825,5825,1985-12-13,582.2000000000638,582.2049,2015-01-01 01:37:05,bin5825,75, +CTSPillarNetworkA,5826,5826,5826,1985-12-14,582.3000000000638,582.3049,2015-01-01 01:37:06,bin5826,35, +CTSPillarNetworkA,5827,5827,5827,1985-12-15,582.4000000000639,582.40485,2015-01-01 01:37:07,bin5827,75, +CTSPillarNetworkA,5828,5828,5828,1985-12-16,582.5000000000639,582.5048,2015-01-01 01:37:08,bin5828,35, +CTSPillarNetworkA,5829,5829,5829,1985-12-17,582.6000000000639,582.6048,2015-01-01 01:37:09,bin5829,75, +CTSPillarNetworkA,5830,5830,5830,1985-12-18,582.7000000000639,582.7048,2015-01-01 01:37:10,bin5830,35, +CTSPillarNetworkA,5831,5831,5831,1985-12-19,582.800000000064,582.80475,2015-01-01 01:37:11,bin5831,75, +CTSPillarNetworkA,5832,5832,5832,1985-12-20,582.900000000064,582.9047,2015-01-01 01:37:12,bin5832,35, +CTSPillarNetworkA,5833,5833,5833,1985-12-21,583.000000000064,583.0047,2015-01-01 01:37:13,bin5833,75, +CTSPillarNetworkA,5834,5834,5834,1985-12-22,583.100000000064,583.1047,2015-01-01 01:37:14,bin5834,35, +CTSPillarNetworkA,5835,5835,5835,1985-12-23,583.200000000064,583.20465,2015-01-01 01:37:15,bin5835,75, +CTSPillarNetworkA,5836,5836,5836,1985-12-24,583.3000000000641,583.3046,2015-01-01 01:37:16,bin5836,35, +CTSPillarNetworkA,5837,5837,5837,1985-12-25,583.4000000000641,583.4046,2015-01-01 01:37:17,bin5837,75, +CTSPillarNetworkA,5838,5838,5838,1985-12-26,583.5000000000641,583.5046,2015-01-01 01:37:18,bin5838,35, +CTSPillarNetworkA,5839,5839,5839,1985-12-27,583.6000000000641,583.60455,2015-01-01 01:37:19,bin5839,75, +CTSPillarNetworkA,5840,5840,5840,1985-12-28,583.7000000000642,583.7045,2015-01-01 01:37:20,bin5840,35, +CTSPillarNetworkA,5841,5841,5841,1985-12-29,583.8000000000642,583.8045,2015-01-01 01:37:21,bin5841,75, +CTSPillarNetworkA,5842,5842,5842,1985-12-30,583.9000000000642,583.9045,2015-01-01 01:37:22,bin5842,35, +CTSPillarNetworkA,5843,5843,5843,1985-12-31,584.0000000000642,584.00446,2015-01-01 01:37:23,bin5843,75, +CTSPillarNetworkA,5844,5844,5844,1986-01-01,584.1000000000643,584.10443,2015-01-01 01:37:24,bin5844,35, +CTSPillarNetworkA,5845,5845,5845,1986-01-02,584.2000000000643,584.2044,2015-01-01 01:37:25,bin5845,75, +CTSPillarNetworkA,5846,5846,5846,1986-01-03,584.3000000000643,584.3044,2015-01-01 01:37:26,bin5846,35, +CTSPillarNetworkA,5847,5847,5847,1986-01-04,584.4000000000643,584.40436,2015-01-01 01:37:27,bin5847,75, +CTSPillarNetworkA,5848,5848,5848,1986-01-05,584.5000000000643,584.50433,2015-01-01 01:37:28,bin5848,35, +CTSPillarNetworkA,5849,5849,5849,1986-01-06,584.6000000000644,584.6043,2015-01-01 01:37:29,bin5849,75, +CTSPillarNetworkA,5850,5850,5850,1986-01-07,584.7000000000644,584.7043,2015-01-01 01:37:30,bin5850,35, +CTSPillarNetworkA,5851,5851,5851,1986-01-08,584.8000000000644,584.80426,2015-01-01 01:37:31,bin5851,75, +CTSPillarNetworkA,5852,5852,5852,1986-01-09,584.9000000000644,584.90424,2015-01-01 01:37:32,bin5852,35, +CTSPillarNetworkA,5853,5853,5853,1986-01-10,585.0000000000645,585.0042,2015-01-01 01:37:33,bin5853,75, +CTSPillarNetworkA,5854,5854,5854,1986-01-11,585.1000000000645,585.1042,2015-01-01 01:37:34,bin5854,35, +CTSPillarNetworkA,5855,5855,5855,1986-01-12,585.2000000000645,585.20416,2015-01-01 01:37:35,bin5855,75, +CTSPillarNetworkA,5856,5856,5856,1986-01-13,585.3000000000645,585.30414,2015-01-01 01:37:36,bin5856,35, +CTSPillarNetworkA,5857,5857,5857,1986-01-14,585.4000000000646,585.4041,2015-01-01 01:37:37,bin5857,75, +CTSPillarNetworkA,5858,5858,5858,1986-01-15,585.5000000000646,585.5041,2015-01-01 01:37:38,bin5858,35, +CTSPillarNetworkA,5859,5859,5859,1986-01-16,585.6000000000646,585.60406,2015-01-01 01:37:39,bin5859,75, +CTSPillarNetworkA,5860,5860,5860,1986-01-17,585.7000000000646,585.70404,2015-01-01 01:37:40,bin5860,35, +CTSPillarNetworkA,5861,5861,5861,1986-01-18,585.8000000000646,585.804,2015-01-01 01:37:41,bin5861,75, +CTSPillarNetworkA,5862,5862,5862,1986-01-19,585.9000000000647,585.904,2015-01-01 01:37:42,bin5862,35, +CTSPillarNetworkA,5863,5863,5863,1986-01-20,586.0000000000647,586.00397,2015-01-01 01:37:43,bin5863,75, +CTSPillarNetworkA,5864,5864,5864,1986-01-21,586.1000000000647,586.10394,2015-01-01 01:37:44,bin5864,35, +CTSPillarNetworkA,5865,5865,5865,1986-01-22,586.2000000000647,586.2039,2015-01-01 01:37:45,bin5865,75, +CTSPillarNetworkA,5866,5866,5866,1986-01-23,586.3000000000648,586.3039,2015-01-01 01:37:46,bin5866,35, +CTSPillarNetworkA,5867,5867,5867,1986-01-24,586.4000000000648,586.4039,2015-01-01 01:37:47,bin5867,75, +CTSPillarNetworkA,5868,5868,5868,1986-01-25,586.5000000000648,586.50385,2015-01-01 01:37:48,bin5868,35, +CTSPillarNetworkA,5869,5869,5869,1986-01-26,586.6000000000648,586.6038,2015-01-01 01:37:49,bin5869,75, +CTSPillarNetworkA,5870,5870,5870,1986-01-27,586.7000000000648,586.7038,2015-01-01 01:37:50,bin5870,35, +CTSPillarNetworkA,5871,5871,5871,1986-01-28,586.8000000000649,586.8038,2015-01-01 01:37:51,bin5871,75, +CTSPillarNetworkA,5872,5872,5872,1986-01-29,586.9000000000649,586.90375,2015-01-01 01:37:52,bin5872,35, +CTSPillarNetworkA,5873,5873,5873,1986-01-30,587.0000000000649,587.0037,2015-01-01 01:37:53,bin5873,75, +CTSPillarNetworkA,5874,5874,5874,1986-01-31,587.1000000000649,587.1037,2015-01-01 01:37:54,bin5874,35, +CTSPillarNetworkA,5875,5875,5875,1986-02-01,587.200000000065,587.2037,2015-01-01 01:37:55,bin5875,75, +CTSPillarNetworkA,5876,5876,5876,1986-02-02,587.300000000065,587.30365,2015-01-01 01:37:56,bin5876,35, +CTSPillarNetworkA,5877,5877,5877,1986-02-03,587.400000000065,587.4036,2015-01-01 01:37:57,bin5877,75, +CTSPillarNetworkA,5878,5878,5878,1986-02-04,587.500000000065,587.5036,2015-01-01 01:37:58,bin5878,35, +CTSPillarNetworkA,5879,5879,5879,1986-02-05,587.600000000065,587.6036,2015-01-01 01:37:59,bin5879,75, +CTSPillarNetworkA,5880,5880,5880,1986-02-06,587.7000000000651,587.70355,2015-01-01 01:38:00,bin5880,35, +CTSPillarNetworkA,5881,5881,5881,1986-02-07,587.8000000000651,587.8035,2015-01-01 01:38:01,bin5881,75, +CTSPillarNetworkA,5882,5882,5882,1986-02-08,587.9000000000651,587.9035,2015-01-01 01:38:02,bin5882,35, +CTSPillarNetworkA,5883,5883,5883,1986-02-09,588.0000000000651,588.0035,2015-01-01 01:38:03,bin5883,75, +CTSPillarNetworkA,5884,5884,5884,1986-02-10,588.1000000000652,588.10345,2015-01-01 01:38:04,bin5884,35, +CTSPillarNetworkA,5885,5885,5885,1986-02-11,588.2000000000652,588.2034,2015-01-01 01:38:05,bin5885,75, +CTSPillarNetworkA,5886,5886,5886,1986-02-12,588.3000000000652,588.3034,2015-01-01 01:38:06,bin5886,35, +CTSPillarNetworkA,5887,5887,5887,1986-02-13,588.4000000000652,588.4034,2015-01-01 01:38:07,bin5887,75, +CTSPillarNetworkA,5888,5888,5888,1986-02-14,588.5000000000653,588.50336,2015-01-01 01:38:08,bin5888,35, +CTSPillarNetworkA,5889,5889,5889,1986-02-15,588.6000000000653,588.60333,2015-01-01 01:38:09,bin5889,75, +CTSPillarNetworkA,5890,5890,5890,1986-02-16,588.7000000000653,588.7033,2015-01-01 01:38:10,bin5890,35, +CTSPillarNetworkA,5891,5891,5891,1986-02-17,588.8000000000653,588.8033,2015-01-01 01:38:11,bin5891,75, +CTSPillarNetworkA,5892,5892,5892,1986-02-18,588.9000000000653,588.90326,2015-01-01 01:38:12,bin5892,35, +CTSPillarNetworkA,5893,5893,5893,1986-02-19,589.0000000000654,589.00323,2015-01-01 01:38:13,bin5893,75, +CTSPillarNetworkA,5894,5894,5894,1986-02-20,589.1000000000654,589.1032,2015-01-01 01:38:14,bin5894,35, +CTSPillarNetworkA,5895,5895,5895,1986-02-21,589.2000000000654,589.2032,2015-01-01 01:38:15,bin5895,75, +CTSPillarNetworkA,5896,5896,5896,1986-02-22,589.3000000000654,589.30316,2015-01-01 01:38:16,bin5896,35, +CTSPillarNetworkA,5897,5897,5897,1986-02-23,589.4000000000655,589.40314,2015-01-01 01:38:17,bin5897,75, +CTSPillarNetworkA,5898,5898,5898,1986-02-24,589.5000000000655,589.5031,2015-01-01 01:38:18,bin5898,35, +CTSPillarNetworkA,5899,5899,5899,1986-02-25,589.6000000000655,589.6031,2015-01-01 01:38:19,bin5899,75, +CTSPillarNetworkA,5900,5900,5900,1986-02-26,589.7000000000655,589.70306,2015-01-01 01:38:20,bin5900,35, +CTSPillarNetworkA,5901,5901,5901,1986-02-27,589.8000000000656,589.80304,2015-01-01 01:38:21,bin5901,75, +CTSPillarNetworkA,5902,5902,5902,1986-02-28,589.9000000000656,589.903,2015-01-01 01:38:22,bin5902,35, +CTSPillarNetworkA,5903,5903,5903,1986-03-01,590.0000000000656,590.003,2015-01-01 01:38:23,bin5903,75, +CTSPillarNetworkA,5904,5904,5904,1986-03-02,590.1000000000656,590.10297,2015-01-01 01:38:24,bin5904,35, +CTSPillarNetworkA,5905,5905,5905,1986-03-03,590.2000000000656,590.20294,2015-01-01 01:38:25,bin5905,75, +CTSPillarNetworkA,5906,5906,5906,1986-03-04,590.3000000000657,590.3029,2015-01-01 01:38:26,bin5906,35, +CTSPillarNetworkA,5907,5907,5907,1986-03-05,590.4000000000657,590.4029,2015-01-01 01:38:27,bin5907,75, +CTSPillarNetworkA,5908,5908,5908,1986-03-06,590.5000000000657,590.50287,2015-01-01 01:38:28,bin5908,35, +CTSPillarNetworkA,5909,5909,5909,1986-03-07,590.6000000000657,590.60284,2015-01-01 01:38:29,bin5909,75, +CTSPillarNetworkA,5910,5910,5910,1986-03-08,590.7000000000658,590.7028,2015-01-01 01:38:30,bin5910,35, +CTSPillarNetworkA,5911,5911,5911,1986-03-09,590.8000000000658,590.8028,2015-01-01 01:38:31,bin5911,75, +CTSPillarNetworkA,5912,5912,5912,1986-03-10,590.9000000000658,590.9028,2015-01-01 01:38:32,bin5912,35, +CTSPillarNetworkA,5913,5913,5913,1986-03-11,591.0000000000658,591.00275,2015-01-01 01:38:33,bin5913,75, +CTSPillarNetworkA,5914,5914,5914,1986-03-12,591.1000000000658,591.1027,2015-01-01 01:38:34,bin5914,35, +CTSPillarNetworkA,5915,5915,5915,1986-03-13,591.2000000000659,591.2027,2015-01-01 01:38:35,bin5915,75, +CTSPillarNetworkA,5916,5916,5916,1986-03-14,591.3000000000659,591.3027,2015-01-01 01:38:36,bin5916,35, +CTSPillarNetworkA,5917,5917,5917,1986-03-15,591.4000000000659,591.40265,2015-01-01 01:38:37,bin5917,75, +CTSPillarNetworkA,5918,5918,5918,1986-03-16,591.5000000000659,591.5026,2015-01-01 01:38:38,bin5918,35, +CTSPillarNetworkA,5919,5919,5919,1986-03-17,591.600000000066,591.6026,2015-01-01 01:38:39,bin5919,75, +CTSPillarNetworkA,5920,5920,5920,1986-03-18,591.700000000066,591.7026,2015-01-01 01:38:40,bin5920,35, +CTSPillarNetworkA,5921,5921,5921,1986-03-19,591.800000000066,591.80255,2015-01-01 01:38:41,bin5921,75, +CTSPillarNetworkA,5922,5922,5922,1986-03-20,591.900000000066,591.9025,2015-01-01 01:38:42,bin5922,35, +CTSPillarNetworkA,5923,5923,5923,1986-03-21,592.000000000066,592.0025,2015-01-01 01:38:43,bin5923,75, +CTSPillarNetworkA,5924,5924,5924,1986-03-22,592.1000000000661,592.1025,2015-01-01 01:38:44,bin5924,35, +CTSPillarNetworkA,5925,5925,5925,1986-03-23,592.2000000000661,592.20245,2015-01-01 01:38:45,bin5925,75, +CTSPillarNetworkA,5926,5926,5926,1986-03-24,592.3000000000661,592.3024,2015-01-01 01:38:46,bin5926,35, +CTSPillarNetworkA,5927,5927,5927,1986-03-25,592.4000000000661,592.4024,2015-01-01 01:38:47,bin5927,75, +CTSPillarNetworkA,5928,5928,5928,1986-03-26,592.5000000000662,592.5024,2015-01-01 01:38:48,bin5928,35, +CTSPillarNetworkA,5929,5929,5929,1986-03-27,592.6000000000662,592.60236,2015-01-01 01:38:49,bin5929,75, +CTSPillarNetworkA,5930,5930,5930,1986-03-28,592.7000000000662,592.70233,2015-01-01 01:38:50,bin5930,35, +CTSPillarNetworkA,5931,5931,5931,1986-03-29,592.8000000000662,592.8023,2015-01-01 01:38:51,bin5931,75, +CTSPillarNetworkA,5932,5932,5932,1986-03-30,592.9000000000663,592.9023,2015-01-01 01:38:52,bin5932,35, +CTSPillarNetworkA,5933,5933,5933,1986-03-31,593.0000000000663,593.00226,2015-01-01 01:38:53,bin5933,75, +CTSPillarNetworkA,5934,5934,5934,1986-04-01,593.1000000000663,593.10223,2015-01-01 01:38:54,bin5934,35, +CTSPillarNetworkA,5935,5935,5935,1986-04-02,593.2000000000663,593.2022,2015-01-01 01:38:55,bin5935,75, +CTSPillarNetworkA,5936,5936,5936,1986-04-03,593.3000000000663,593.3022,2015-01-01 01:38:56,bin5936,35, +CTSPillarNetworkA,5937,5937,5937,1986-04-04,593.4000000000664,593.40216,2015-01-01 01:38:57,bin5937,75, +CTSPillarNetworkA,5938,5938,5938,1986-04-05,593.5000000000664,593.50214,2015-01-01 01:38:58,bin5938,35, +CTSPillarNetworkA,5939,5939,5939,1986-04-06,593.6000000000664,593.6021,2015-01-01 01:38:59,bin5939,75, +CTSPillarNetworkA,5940,5940,5940,1986-04-07,593.7000000000664,593.7021,2015-01-01 01:39:00,bin5940,35, +CTSPillarNetworkA,5941,5941,5941,1986-04-08,593.8000000000665,593.80206,2015-01-01 01:39:01,bin5941,75, +CTSPillarNetworkA,5942,5942,5942,1986-04-09,593.9000000000665,593.90204,2015-01-01 01:39:02,bin5942,35, +CTSPillarNetworkA,5943,5943,5943,1986-04-10,594.0000000000665,594.002,2015-01-01 01:39:03,bin5943,75, +CTSPillarNetworkA,5944,5944,5944,1986-04-11,594.1000000000665,594.102,2015-01-01 01:39:04,bin5944,35, +CTSPillarNetworkA,5945,5945,5945,1986-04-12,594.2000000000666,594.20197,2015-01-01 01:39:05,bin5945,75, +CTSPillarNetworkA,5946,5946,5946,1986-04-13,594.3000000000666,594.30194,2015-01-01 01:39:06,bin5946,35, +CTSPillarNetworkA,5947,5947,5947,1986-04-14,594.4000000000666,594.4019,2015-01-01 01:39:07,bin5947,75, +CTSPillarNetworkA,5948,5948,5948,1986-04-15,594.5000000000666,594.5019,2015-01-01 01:39:08,bin5948,35, +CTSPillarNetworkA,5949,5949,5949,1986-04-16,594.6000000000666,594.60187,2015-01-01 01:39:09,bin5949,75, +CTSPillarNetworkA,5950,5950,5950,1986-04-17,594.7000000000667,594.70184,2015-01-01 01:39:10,bin5950,35, +CTSPillarNetworkA,5951,5951,5951,1986-04-18,594.8000000000667,594.8018,2015-01-01 01:39:11,bin5951,75, +CTSPillarNetworkA,5952,5952,5952,1986-04-19,594.9000000000667,594.9018,2015-01-01 01:39:12,bin5952,35, +CTSPillarNetworkA,5953,5953,5953,1986-04-20,595.0000000000667,595.0018,2015-01-01 01:39:13,bin5953,75, +CTSPillarNetworkA,5954,5954,5954,1986-04-21,595.1000000000668,595.10175,2015-01-01 01:39:14,bin5954,35, +CTSPillarNetworkA,5955,5955,5955,1986-04-22,595.2000000000668,595.2017,2015-01-01 01:39:15,bin5955,75, +CTSPillarNetworkA,5956,5956,5956,1986-04-23,595.3000000000668,595.3017,2015-01-01 01:39:16,bin5956,35, +CTSPillarNetworkA,5957,5957,5957,1986-04-24,595.4000000000668,595.4017,2015-01-01 01:39:17,bin5957,75, +CTSPillarNetworkA,5958,5958,5958,1986-04-25,595.5000000000668,595.50165,2015-01-01 01:39:18,bin5958,35, +CTSPillarNetworkA,5959,5959,5959,1986-04-26,595.6000000000669,595.6016,2015-01-01 01:39:19,bin5959,75, +CTSPillarNetworkA,5960,5960,5960,1986-04-27,595.7000000000669,595.7016,2015-01-01 01:39:20,bin5960,35, +CTSPillarNetworkA,5961,5961,5961,1986-04-28,595.8000000000669,595.8016,2015-01-01 01:39:21,bin5961,75, +CTSPillarNetworkA,5962,5962,5962,1986-04-29,595.9000000000669,595.90155,2015-01-01 01:39:22,bin5962,35, +CTSPillarNetworkA,5963,5963,5963,1986-04-30,596.000000000067,596.0015,2015-01-01 01:39:23,bin5963,75, +CTSPillarNetworkA,5964,5964,5964,1986-05-01,596.100000000067,596.1015,2015-01-01 01:39:24,bin5964,35, +CTSPillarNetworkA,5965,5965,5965,1986-05-02,596.200000000067,596.2015,2015-01-01 01:39:25,bin5965,75, +CTSPillarNetworkA,5966,5966,5966,1986-05-03,596.300000000067,596.30145,2015-01-01 01:39:26,bin5966,35, +CTSPillarNetworkA,5967,5967,5967,1986-05-04,596.400000000067,596.4014,2015-01-01 01:39:27,bin5967,75, +CTSPillarNetworkA,5968,5968,5968,1986-05-05,596.5000000000671,596.5014,2015-01-01 01:39:28,bin5968,35, +CTSPillarNetworkA,5969,5969,5969,1986-05-06,596.6000000000671,596.6014,2015-01-01 01:39:29,bin5969,75, +CTSPillarNetworkA,5970,5970,5970,1986-05-07,596.7000000000671,596.70135,2015-01-01 01:39:30,bin5970,35, +CTSPillarNetworkA,5971,5971,5971,1986-05-08,596.8000000000671,596.80133,2015-01-01 01:39:31,bin5971,75, +CTSPillarNetworkA,5972,5972,5972,1986-05-09,596.9000000000672,596.9013,2015-01-01 01:39:32,bin5972,35, +CTSPillarNetworkA,5973,5973,5973,1986-05-10,597.0000000000672,597.0013,2015-01-01 01:39:33,bin5973,75, +CTSPillarNetworkA,5974,5974,5974,1986-05-11,597.1000000000672,597.10126,2015-01-01 01:39:34,bin5974,35, +CTSPillarNetworkA,5975,5975,5975,1986-05-12,597.2000000000672,597.20123,2015-01-01 01:39:35,bin5975,75, +CTSPillarNetworkA,5976,5976,5976,1986-05-13,597.3000000000673,597.3012,2015-01-01 01:39:36,bin5976,35, +CTSPillarNetworkA,5977,5977,5977,1986-05-14,597.4000000000673,597.4012,2015-01-01 01:39:37,bin5977,75, +CTSPillarNetworkA,5978,5978,5978,1986-05-15,597.5000000000673,597.50116,2015-01-01 01:39:38,bin5978,35, +CTSPillarNetworkA,5979,5979,5979,1986-05-16,597.6000000000673,597.60114,2015-01-01 01:39:39,bin5979,75, +CTSPillarNetworkA,5980,5980,5980,1986-05-17,597.7000000000673,597.7011,2015-01-01 01:39:40,bin5980,35, +CTSPillarNetworkA,5981,5981,5981,1986-05-18,597.8000000000674,597.8011,2015-01-01 01:39:41,bin5981,75, +CTSPillarNetworkA,5982,5982,5982,1986-05-19,597.9000000000674,597.90106,2015-01-01 01:39:42,bin5982,35, +CTSPillarNetworkA,5983,5983,5983,1986-05-20,598.0000000000674,598.00104,2015-01-01 01:39:43,bin5983,75, +CTSPillarNetworkA,5984,5984,5984,1986-05-21,598.1000000000674,598.101,2015-01-01 01:39:44,bin5984,35, +CTSPillarNetworkA,5985,5985,5985,1986-05-22,598.2000000000675,598.201,2015-01-01 01:39:45,bin5985,75, +CTSPillarNetworkA,5986,5986,5986,1986-05-23,598.3000000000675,598.30096,2015-01-01 01:39:46,bin5986,35, +CTSPillarNetworkA,5987,5987,5987,1986-05-24,598.4000000000675,598.40094,2015-01-01 01:39:47,bin5987,75, +CTSPillarNetworkA,5988,5988,5988,1986-05-25,598.5000000000675,598.5009,2015-01-01 01:39:48,bin5988,35, +CTSPillarNetworkA,5989,5989,5989,1986-05-26,598.6000000000676,598.6009,2015-01-01 01:39:49,bin5989,75, +CTSPillarNetworkA,5990,5990,5990,1986-05-27,598.7000000000676,598.70087,2015-01-01 01:39:50,bin5990,35, +CTSPillarNetworkA,5991,5991,5991,1986-05-28,598.8000000000676,598.80084,2015-01-01 01:39:51,bin5991,75, +CTSPillarNetworkA,5992,5992,5992,1986-05-29,598.9000000000676,598.9008,2015-01-01 01:39:52,bin5992,35, +CTSPillarNetworkA,5993,5993,5993,1986-05-30,599.0000000000676,599.0008,2015-01-01 01:39:53,bin5993,75, +CTSPillarNetworkA,5994,5994,5994,1986-05-31,599.1000000000677,599.10077,2015-01-01 01:39:54,bin5994,35, +CTSPillarNetworkA,5995,5995,5995,1986-06-01,599.2000000000677,599.20074,2015-01-01 01:39:55,bin5995,75, +CTSPillarNetworkA,5996,5996,5996,1986-06-02,599.3000000000677,599.3007,2015-01-01 01:39:56,bin5996,35, +CTSPillarNetworkA,5997,5997,5997,1986-06-03,599.4000000000677,599.4007,2015-01-01 01:39:57,bin5997,75, +CTSPillarNetworkA,5998,5998,5998,1986-06-04,599.5000000000678,599.5007,2015-01-01 01:39:58,bin5998,35, +CTSPillarNetworkA,5999,5999,5999,1986-06-05,599.6000000000678,599.60065,2015-01-01 01:39:59,bin5999,75, +CTSPillarNetworkA,6000,6000,6000,1986-06-06,599.7000000000678,599.7006,2015-01-01 01:40:00,bin6000,35, +CTSPillarNetworkA,6001,6001,6001,1986-06-07,599.8000000000678,599.8006,2015-01-01 01:40:01,bin6001,75, +CTSPillarNetworkA,6002,6002,6002,1986-06-08,599.9000000000678,599.9006,2015-01-01 01:40:02,bin6002,35, +CTSPillarNetworkA,6003,6003,6003,1986-06-09,600.0000000000679,600.00055,2015-01-01 01:40:03,bin6003,75, +CTSPillarNetworkA,6004,6004,6004,1986-06-10,600.1000000000679,600.1005,2015-01-01 01:40:04,bin6004,35, +CTSPillarNetworkA,6005,6005,6005,1986-06-11,600.2000000000679,600.2005,2015-01-01 01:40:05,bin6005,75, +CTSPillarNetworkA,6006,6006,6006,1986-06-12,600.3000000000679,600.3005,2015-01-01 01:40:06,bin6006,35, +CTSPillarNetworkA,6007,6007,6007,1986-06-13,600.400000000068,600.40045,2015-01-01 01:40:07,bin6007,75, +CTSPillarNetworkA,6008,6008,6008,1986-06-14,600.500000000068,600.5004,2015-01-01 01:40:08,bin6008,35, +CTSPillarNetworkA,6009,6009,6009,1986-06-15,600.600000000068,600.6004,2015-01-01 01:40:09,bin6009,75, +CTSPillarNetworkA,6010,6010,6010,1986-06-16,600.700000000068,600.7004,2015-01-01 01:40:10,bin6010,35, +CTSPillarNetworkA,6011,6011,6011,1986-06-17,600.800000000068,600.80035,2015-01-01 01:40:11,bin6011,75, +CTSPillarNetworkA,6012,6012,6012,1986-06-18,600.9000000000681,600.9003,2015-01-01 01:40:12,bin6012,35, +CTSPillarNetworkA,6013,6013,6013,1986-06-19,601.0000000000681,601.0003,2015-01-01 01:40:13,bin6013,75, +CTSPillarNetworkA,6014,6014,6014,1986-06-20,601.1000000000681,601.1003,2015-01-01 01:40:14,bin6014,35, +CTSPillarNetworkA,6015,6015,6015,1986-06-21,601.2000000000681,601.20026,2015-01-01 01:40:15,bin6015,75, +CTSPillarNetworkA,6016,6016,6016,1986-06-22,601.3000000000682,601.30023,2015-01-01 01:40:16,bin6016,35, +CTSPillarNetworkA,6017,6017,6017,1986-06-23,601.4000000000682,601.4002,2015-01-01 01:40:17,bin6017,75, +CTSPillarNetworkA,6018,6018,6018,1986-06-24,601.5000000000682,601.5002,2015-01-01 01:40:18,bin6018,35, +CTSPillarNetworkA,6019,6019,6019,1986-06-25,601.6000000000682,601.60016,2015-01-01 01:40:19,bin6019,75, +CTSPillarNetworkA,6020,6020,6020,1986-06-26,601.7000000000683,601.70013,2015-01-01 01:40:20,bin6020,35, +CTSPillarNetworkA,6021,6021,6021,1986-06-27,601.8000000000683,601.8001,2015-01-01 01:40:21,bin6021,75, +CTSPillarNetworkA,6022,6022,6022,1986-06-28,601.9000000000683,601.9001,2015-01-01 01:40:22,bin6022,35, +CTSPillarNetworkA,6023,6023,6023,1986-06-29,602.0000000000683,602.00006,2015-01-01 01:40:23,bin6023,75, +CTSPillarNetworkA,6024,6024,6024,1986-06-30,602.1000000000683,602.10004,2015-01-01 01:40:24,bin6024,35, +CTSPillarNetworkA,6025,6025,6025,1986-07-01,602.2000000000684,602.2,2015-01-01 01:40:25,bin6025,75, +CTSPillarNetworkA,6026,6026,6026,1986-07-02,602.3000000000684,602.3,2015-01-01 01:40:26,bin6026,35, +CTSPillarNetworkA,6027,6027,6027,1986-07-03,602.4000000000684,602.39996,2015-01-01 01:40:27,bin6027,75, +CTSPillarNetworkA,6028,6028,6028,1986-07-04,602.5000000000684,602.49994,2015-01-01 01:40:28,bin6028,35, +CTSPillarNetworkA,6029,6029,6029,1986-07-05,602.6000000000685,602.5999,2015-01-01 01:40:29,bin6029,75, +CTSPillarNetworkA,6030,6030,6030,1986-07-06,602.7000000000685,602.6999,2015-01-01 01:40:30,bin6030,35, +CTSPillarNetworkA,6031,6031,6031,1986-07-07,602.8000000000685,602.79987,2015-01-01 01:40:31,bin6031,75, +CTSPillarNetworkA,6032,6032,6032,1986-07-08,602.9000000000685,602.89984,2015-01-01 01:40:32,bin6032,35, +CTSPillarNetworkA,6033,6033,6033,1986-07-09,603.0000000000686,602.9998,2015-01-01 01:40:33,bin6033,75, +CTSPillarNetworkA,6034,6034,6034,1986-07-10,603.1000000000686,603.0998,2015-01-01 01:40:34,bin6034,35, +CTSPillarNetworkA,6035,6035,6035,1986-07-11,603.2000000000686,603.19977,2015-01-01 01:40:35,bin6035,75, +CTSPillarNetworkA,6036,6036,6036,1986-07-12,603.3000000000686,603.29974,2015-01-01 01:40:36,bin6036,35, +CTSPillarNetworkA,6037,6037,6037,1986-07-13,603.4000000000686,603.3997,2015-01-01 01:40:37,bin6037,75, +CTSPillarNetworkA,6038,6038,6038,1986-07-14,603.5000000000687,603.4997,2015-01-01 01:40:38,bin6038,35, +CTSPillarNetworkA,6039,6039,6039,1986-07-15,603.6000000000687,603.5997,2015-01-01 01:40:39,bin6039,75, +CTSPillarNetworkA,6040,6040,6040,1986-07-16,603.7000000000687,603.69965,2015-01-01 01:40:40,bin6040,35, +CTSPillarNetworkA,6041,6041,6041,1986-07-17,603.8000000000687,603.7996,2015-01-01 01:40:41,bin6041,75, +CTSPillarNetworkA,6042,6042,6042,1986-07-18,603.9000000000688,603.8996,2015-01-01 01:40:42,bin6042,35, +CTSPillarNetworkA,6043,6043,6043,1986-07-19,604.0000000000688,603.9996,2015-01-01 01:40:43,bin6043,75, +CTSPillarNetworkA,6044,6044,6044,1986-07-20,604.1000000000688,604.09955,2015-01-01 01:40:44,bin6044,35, +CTSPillarNetworkA,6045,6045,6045,1986-07-21,604.2000000000688,604.1995,2015-01-01 01:40:45,bin6045,75, +CTSPillarNetworkA,6046,6046,6046,1986-07-22,604.3000000000688,604.2995,2015-01-01 01:40:46,bin6046,35, +CTSPillarNetworkA,6047,6047,6047,1986-07-23,604.4000000000689,604.3995,2015-01-01 01:40:47,bin6047,75, +CTSPillarNetworkA,6048,6048,6048,1986-07-24,604.5000000000689,604.49945,2015-01-01 01:40:48,bin6048,35, +CTSPillarNetworkA,6049,6049,6049,1986-07-25,604.6000000000689,604.5994,2015-01-01 01:40:49,bin6049,75, +CTSPillarNetworkA,6050,6050,6050,1986-07-26,604.7000000000689,604.6994,2015-01-01 01:40:50,bin6050,35, +CTSPillarNetworkA,6051,6051,6051,1986-07-27,604.800000000069,604.7994,2015-01-01 01:40:51,bin6051,75, +CTSPillarNetworkA,6052,6052,6052,1986-07-28,604.900000000069,604.89935,2015-01-01 01:40:52,bin6052,35, +CTSPillarNetworkA,6053,6053,6053,1986-07-29,605.000000000069,604.9993,2015-01-01 01:40:53,bin6053,75, +CTSPillarNetworkA,6054,6054,6054,1986-07-30,605.100000000069,605.0993,2015-01-01 01:40:54,bin6054,35, +CTSPillarNetworkA,6055,6055,6055,1986-07-31,605.200000000069,605.1993,2015-01-01 01:40:55,bin6055,75, +CTSPillarNetworkA,6056,6056,6056,1986-08-01,605.3000000000691,605.29926,2015-01-01 01:40:56,bin6056,35, +CTSPillarNetworkA,6057,6057,6057,1986-08-02,605.4000000000691,605.39923,2015-01-01 01:40:57,bin6057,75, +CTSPillarNetworkA,6058,6058,6058,1986-08-03,605.5000000000691,605.4992,2015-01-01 01:40:58,bin6058,35, +CTSPillarNetworkA,6059,6059,6059,1986-08-04,605.6000000000691,605.5992,2015-01-01 01:40:59,bin6059,75, +CTSPillarNetworkA,6060,6060,6060,1986-08-05,605.7000000000692,605.69916,2015-01-01 01:41:00,bin6060,35, +CTSPillarNetworkA,6061,6061,6061,1986-08-06,605.8000000000692,605.79913,2015-01-01 01:41:01,bin6061,75, +CTSPillarNetworkA,6062,6062,6062,1986-08-07,605.9000000000692,605.8991,2015-01-01 01:41:02,bin6062,35, +CTSPillarNetworkA,6063,6063,6063,1986-08-08,606.0000000000692,605.9991,2015-01-01 01:41:03,bin6063,75, +CTSPillarNetworkA,6064,6064,6064,1986-08-09,606.1000000000693,606.09906,2015-01-01 01:41:04,bin6064,35, +CTSPillarNetworkA,6065,6065,6065,1986-08-10,606.2000000000693,606.19904,2015-01-01 01:41:05,bin6065,75, +CTSPillarNetworkA,6066,6066,6066,1986-08-11,606.3000000000693,606.299,2015-01-01 01:41:06,bin6066,35, +CTSPillarNetworkA,6067,6067,6067,1986-08-12,606.4000000000693,606.399,2015-01-01 01:41:07,bin6067,75, +CTSPillarNetworkA,6068,6068,6068,1986-08-13,606.5000000000693,606.49896,2015-01-01 01:41:08,bin6068,35, +CTSPillarNetworkA,6069,6069,6069,1986-08-14,606.6000000000694,606.59894,2015-01-01 01:41:09,bin6069,75, +CTSPillarNetworkA,6070,6070,6070,1986-08-15,606.7000000000694,606.6989,2015-01-01 01:41:10,bin6070,35, +CTSPillarNetworkA,6071,6071,6071,1986-08-16,606.8000000000694,606.7989,2015-01-01 01:41:11,bin6071,75, +CTSPillarNetworkA,6072,6072,6072,1986-08-17,606.9000000000694,606.89886,2015-01-01 01:41:12,bin6072,35, +CTSPillarNetworkA,6073,6073,6073,1986-08-18,607.0000000000695,606.99884,2015-01-01 01:41:13,bin6073,75, +CTSPillarNetworkA,6074,6074,6074,1986-08-19,607.1000000000695,607.0988,2015-01-01 01:41:14,bin6074,35, +CTSPillarNetworkA,6075,6075,6075,1986-08-20,607.2000000000695,607.1988,2015-01-01 01:41:15,bin6075,75, +CTSPillarNetworkA,6076,6076,6076,1986-08-21,607.3000000000695,607.29877,2015-01-01 01:41:16,bin6076,35, +CTSPillarNetworkA,6077,6077,6077,1986-08-22,607.4000000000696,607.39874,2015-01-01 01:41:17,bin6077,75, +CTSPillarNetworkA,6078,6078,6078,1986-08-23,607.5000000000696,607.4987,2015-01-01 01:41:18,bin6078,35, +CTSPillarNetworkA,6079,6079,6079,1986-08-24,607.6000000000696,607.5987,2015-01-01 01:41:19,bin6079,75, +CTSPillarNetworkA,6080,6080,6080,1986-08-25,607.7000000000696,607.69867,2015-01-01 01:41:20,bin6080,35, +CTSPillarNetworkA,6081,6081,6081,1986-08-26,607.8000000000696,607.79865,2015-01-01 01:41:21,bin6081,75, +CTSPillarNetworkA,6082,6082,6082,1986-08-27,607.9000000000697,607.8986,2015-01-01 01:41:22,bin6082,35, +CTSPillarNetworkA,6083,6083,6083,1986-08-28,608.0000000000697,607.9986,2015-01-01 01:41:23,bin6083,75, +CTSPillarNetworkA,6084,6084,6084,1986-08-29,608.1000000000697,608.0986,2015-01-01 01:41:24,bin6084,35, +CTSPillarNetworkA,6085,6085,6085,1986-08-30,608.2000000000697,608.19855,2015-01-01 01:41:25,bin6085,75, +CTSPillarNetworkA,6086,6086,6086,1986-08-31,608.3000000000698,608.2985,2015-01-01 01:41:26,bin6086,35, +CTSPillarNetworkA,6087,6087,6087,1986-09-01,608.4000000000698,608.3985,2015-01-01 01:41:27,bin6087,75, +CTSPillarNetworkA,6088,6088,6088,1986-09-02,608.5000000000698,608.4985,2015-01-01 01:41:28,bin6088,35, +CTSPillarNetworkA,6089,6089,6089,1986-09-03,608.6000000000698,608.59845,2015-01-01 01:41:29,bin6089,75, +CTSPillarNetworkA,6090,6090,6090,1986-09-04,608.7000000000698,608.6984,2015-01-01 01:41:30,bin6090,35, +CTSPillarNetworkA,6091,6091,6091,1986-09-05,608.8000000000699,608.7984,2015-01-01 01:41:31,bin6091,75, +CTSPillarNetworkA,6092,6092,6092,1986-09-06,608.9000000000699,608.8984,2015-01-01 01:41:32,bin6092,35, +CTSPillarNetworkA,6093,6093,6093,1986-09-07,609.0000000000699,608.99835,2015-01-01 01:41:33,bin6093,75, +CTSPillarNetworkA,6094,6094,6094,1986-09-08,609.1000000000699,609.0983,2015-01-01 01:41:34,bin6094,35, +CTSPillarNetworkA,6095,6095,6095,1986-09-09,609.20000000007,609.1983,2015-01-01 01:41:35,bin6095,75, +CTSPillarNetworkA,6096,6096,6096,1986-09-10,609.30000000007,609.2983,2015-01-01 01:41:36,bin6096,35, +CTSPillarNetworkA,6097,6097,6097,1986-09-11,609.40000000007,609.39825,2015-01-01 01:41:37,bin6097,75, +CTSPillarNetworkA,6098,6098,6098,1986-09-12,609.50000000007,609.4982,2015-01-01 01:41:38,bin6098,35, +CTSPillarNetworkA,6099,6099,6099,1986-09-13,609.60000000007,609.5982,2015-01-01 01:41:39,bin6099,75, +CTSPillarNetworkA,6100,6100,6100,1986-09-14,609.7000000000701,609.6982,2015-01-01 01:41:40,bin6100,35, +CTSPillarNetworkA,6101,6101,6101,1986-09-15,609.8000000000701,609.79816,2015-01-01 01:41:41,bin6101,75, +CTSPillarNetworkA,6102,6102,6102,1986-09-16,609.9000000000701,609.89813,2015-01-01 01:41:42,bin6102,35, +CTSPillarNetworkA,6103,6103,6103,1986-09-17,610.0000000000701,609.9981,2015-01-01 01:41:43,bin6103,75, +CTSPillarNetworkA,6104,6104,6104,1986-09-18,610.1000000000702,610.0981,2015-01-01 01:41:44,bin6104,35, +CTSPillarNetworkA,6105,6105,6105,1986-09-19,610.2000000000702,610.19806,2015-01-01 01:41:45,bin6105,75, +CTSPillarNetworkA,6106,6106,6106,1986-09-20,610.3000000000702,610.29803,2015-01-01 01:41:46,bin6106,35, +CTSPillarNetworkA,6107,6107,6107,1986-09-21,610.4000000000702,610.398,2015-01-01 01:41:47,bin6107,75, +CTSPillarNetworkA,6108,6108,6108,1986-09-22,610.5000000000703,610.498,2015-01-01 01:41:48,bin6108,35, +CTSPillarNetworkA,6109,6109,6109,1986-09-23,610.6000000000703,610.59796,2015-01-01 01:41:49,bin6109,75, +CTSPillarNetworkA,6110,6110,6110,1986-09-24,610.7000000000703,610.69794,2015-01-01 01:41:50,bin6110,35, +CTSPillarNetworkA,6111,6111,6111,1986-09-25,610.8000000000703,610.7979,2015-01-01 01:41:51,bin6111,75, +CTSPillarNetworkA,6112,6112,6112,1986-09-26,610.9000000000703,610.8979,2015-01-01 01:41:52,bin6112,35, +CTSPillarNetworkA,6113,6113,6113,1986-09-27,611.0000000000704,610.99786,2015-01-01 01:41:53,bin6113,75, +CTSPillarNetworkA,6114,6114,6114,1986-09-28,611.1000000000704,611.09784,2015-01-01 01:41:54,bin6114,35, +CTSPillarNetworkA,6115,6115,6115,1986-09-29,611.2000000000704,611.1978,2015-01-01 01:41:55,bin6115,75, +CTSPillarNetworkA,6116,6116,6116,1986-09-30,611.3000000000704,611.2978,2015-01-01 01:41:56,bin6116,35, +CTSPillarNetworkA,6117,6117,6117,1986-10-01,611.4000000000705,611.39777,2015-01-01 01:41:57,bin6117,75, +CTSPillarNetworkA,6118,6118,6118,1986-10-02,611.5000000000705,611.49774,2015-01-01 01:41:58,bin6118,35, +CTSPillarNetworkA,6119,6119,6119,1986-10-03,611.6000000000705,611.5977,2015-01-01 01:41:59,bin6119,75, +CTSPillarNetworkA,6120,6120,6120,1986-10-04,611.7000000000705,611.6977,2015-01-01 01:42:00,bin6120,35, +CTSPillarNetworkA,6121,6121,6121,1986-10-05,611.8000000000706,611.79767,2015-01-01 01:42:01,bin6121,75, +CTSPillarNetworkA,6122,6122,6122,1986-10-06,611.9000000000706,611.89764,2015-01-01 01:42:02,bin6122,35, +CTSPillarNetworkA,6123,6123,6123,1986-10-07,612.0000000000706,611.9976,2015-01-01 01:42:03,bin6123,75, +CTSPillarNetworkA,6124,6124,6124,1986-10-08,612.1000000000706,612.0976,2015-01-01 01:42:04,bin6124,35, +CTSPillarNetworkA,6125,6125,6125,1986-10-09,612.2000000000706,612.1976,2015-01-01 01:42:05,bin6125,75, +CTSPillarNetworkA,6126,6126,6126,1986-10-10,612.3000000000707,612.29755,2015-01-01 01:42:06,bin6126,35, +CTSPillarNetworkA,6127,6127,6127,1986-10-11,612.4000000000707,612.3975,2015-01-01 01:42:07,bin6127,75, +CTSPillarNetworkA,6128,6128,6128,1986-10-12,612.5000000000707,612.4975,2015-01-01 01:42:08,bin6128,35, +CTSPillarNetworkA,6129,6129,6129,1986-10-13,612.6000000000707,612.5975,2015-01-01 01:42:09,bin6129,75, +CTSPillarNetworkA,6130,6130,6130,1986-10-14,612.7000000000708,612.69745,2015-01-01 01:42:10,bin6130,35, +CTSPillarNetworkA,6131,6131,6131,1986-10-15,612.8000000000708,612.7974,2015-01-01 01:42:11,bin6131,75, +CTSPillarNetworkA,6132,6132,6132,1986-10-16,612.9000000000708,612.8974,2015-01-01 01:42:12,bin6132,35, +CTSPillarNetworkA,6133,6133,6133,1986-10-17,613.0000000000708,612.9974,2015-01-01 01:42:13,bin6133,75, +CTSPillarNetworkA,6134,6134,6134,1986-10-18,613.1000000000708,613.09735,2015-01-01 01:42:14,bin6134,35, +CTSPillarNetworkA,6135,6135,6135,1986-10-19,613.2000000000709,613.1973,2015-01-01 01:42:15,bin6135,75, +CTSPillarNetworkA,6136,6136,6136,1986-10-20,613.3000000000709,613.2973,2015-01-01 01:42:16,bin6136,35, +CTSPillarNetworkA,6137,6137,6137,1986-10-21,613.4000000000709,613.3973,2015-01-01 01:42:17,bin6137,75, +CTSPillarNetworkA,6138,6138,6138,1986-10-22,613.5000000000709,613.49725,2015-01-01 01:42:18,bin6138,35, +CTSPillarNetworkA,6139,6139,6139,1986-10-23,613.600000000071,613.5972,2015-01-01 01:42:19,bin6139,75, +CTSPillarNetworkA,6140,6140,6140,1986-10-24,613.700000000071,613.6972,2015-01-01 01:42:20,bin6140,35, +CTSPillarNetworkA,6141,6141,6141,1986-10-25,613.800000000071,613.7972,2015-01-01 01:42:21,bin6141,75, +CTSPillarNetworkA,6142,6142,6142,1986-10-26,613.900000000071,613.89716,2015-01-01 01:42:22,bin6142,35, +CTSPillarNetworkA,6143,6143,6143,1986-10-27,614.000000000071,613.99713,2015-01-01 01:42:23,bin6143,75, +CTSPillarNetworkA,6144,6144,6144,1986-10-28,614.1000000000711,614.0971,2015-01-01 01:42:24,bin6144,35, +CTSPillarNetworkA,6145,6145,6145,1986-10-29,614.2000000000711,614.1971,2015-01-01 01:42:25,bin6145,75, +CTSPillarNetworkA,6146,6146,6146,1986-10-30,614.3000000000711,614.29706,2015-01-01 01:42:26,bin6146,35, +CTSPillarNetworkA,6147,6147,6147,1986-10-31,614.4000000000711,614.39703,2015-01-01 01:42:27,bin6147,75, +CTSPillarNetworkA,6148,6148,6148,1986-11-01,614.5000000000712,614.497,2015-01-01 01:42:28,bin6148,35, +CTSPillarNetworkA,6149,6149,6149,1986-11-02,614.6000000000712,614.597,2015-01-01 01:42:29,bin6149,75, +CTSPillarNetworkA,6150,6150,6150,1986-11-03,614.7000000000712,614.69696,2015-01-01 01:42:30,bin6150,35, +CTSPillarNetworkA,6151,6151,6151,1986-11-04,614.8000000000712,614.79694,2015-01-01 01:42:31,bin6151,75, +CTSPillarNetworkA,6152,6152,6152,1986-11-05,614.9000000000713,614.8969,2015-01-01 01:42:32,bin6152,35, +CTSPillarNetworkA,6153,6153,6153,1986-11-06,615.0000000000713,614.9969,2015-01-01 01:42:33,bin6153,75, +CTSPillarNetworkA,6154,6154,6154,1986-11-07,615.1000000000713,615.09686,2015-01-01 01:42:34,bin6154,35, +CTSPillarNetworkA,6155,6155,6155,1986-11-08,615.2000000000713,615.19684,2015-01-01 01:42:35,bin6155,75, +CTSPillarNetworkA,6156,6156,6156,1986-11-09,615.3000000000713,615.2968,2015-01-01 01:42:36,bin6156,35, +CTSPillarNetworkA,6157,6157,6157,1986-11-10,615.4000000000714,615.3968,2015-01-01 01:42:37,bin6157,75, +CTSPillarNetworkA,6158,6158,6158,1986-11-11,615.5000000000714,615.49677,2015-01-01 01:42:38,bin6158,35, +CTSPillarNetworkA,6159,6159,6159,1986-11-12,615.6000000000714,615.59674,2015-01-01 01:42:39,bin6159,75, +CTSPillarNetworkA,6160,6160,6160,1986-11-13,615.7000000000714,615.6967,2015-01-01 01:42:40,bin6160,35, +CTSPillarNetworkA,6161,6161,6161,1986-11-14,615.8000000000715,615.7967,2015-01-01 01:42:41,bin6161,75, +CTSPillarNetworkA,6162,6162,6162,1986-11-15,615.9000000000715,615.89667,2015-01-01 01:42:42,bin6162,35, +CTSPillarNetworkA,6163,6163,6163,1986-11-16,616.0000000000715,615.99664,2015-01-01 01:42:43,bin6163,75, +CTSPillarNetworkA,6164,6164,6164,1986-11-17,616.1000000000715,616.0966,2015-01-01 01:42:44,bin6164,35, +CTSPillarNetworkA,6165,6165,6165,1986-11-18,616.2000000000716,616.1966,2015-01-01 01:42:45,bin6165,75, +CTSPillarNetworkA,6166,6166,6166,1986-11-19,616.3000000000716,616.2966,2015-01-01 01:42:46,bin6166,35, +CTSPillarNetworkA,6167,6167,6167,1986-11-20,616.4000000000716,616.39655,2015-01-01 01:42:47,bin6167,75, +CTSPillarNetworkA,6168,6168,6168,1986-11-21,616.5000000000716,616.4965,2015-01-01 01:42:48,bin6168,35, +CTSPillarNetworkA,6169,6169,6169,1986-11-22,616.6000000000716,616.5965,2015-01-01 01:42:49,bin6169,75, +CTSPillarNetworkA,6170,6170,6170,1986-11-23,616.7000000000717,616.6965,2015-01-01 01:42:50,bin6170,35, +CTSPillarNetworkA,6171,6171,6171,1986-11-24,616.8000000000717,616.79645,2015-01-01 01:42:51,bin6171,75, +CTSPillarNetworkA,6172,6172,6172,1986-11-25,616.9000000000717,616.8964,2015-01-01 01:42:52,bin6172,35, +CTSPillarNetworkA,6173,6173,6173,1986-11-26,617.0000000000717,616.9964,2015-01-01 01:42:53,bin6173,75, +CTSPillarNetworkA,6174,6174,6174,1986-11-27,617.1000000000718,617.0964,2015-01-01 01:42:54,bin6174,35, +CTSPillarNetworkA,6175,6175,6175,1986-11-28,617.2000000000718,617.19635,2015-01-01 01:42:55,bin6175,75, +CTSPillarNetworkA,6176,6176,6176,1986-11-29,617.3000000000718,617.2963,2015-01-01 01:42:56,bin6176,35, +CTSPillarNetworkA,6177,6177,6177,1986-11-30,617.4000000000718,617.3963,2015-01-01 01:42:57,bin6177,75, +CTSPillarNetworkA,6178,6178,6178,1986-12-01,617.5000000000719,617.4963,2015-01-01 01:42:58,bin6178,35, +CTSPillarNetworkA,6179,6179,6179,1986-12-02,617.6000000000719,617.59625,2015-01-01 01:42:59,bin6179,75, +CTSPillarNetworkA,6180,6180,6180,1986-12-03,617.7000000000719,617.6962,2015-01-01 01:43:00,bin6180,35, +CTSPillarNetworkA,6181,6181,6181,1986-12-04,617.8000000000719,617.7962,2015-01-01 01:43:01,bin6181,75, +CTSPillarNetworkA,6182,6182,6182,1986-12-05,617.9000000000719,617.8962,2015-01-01 01:43:02,bin6182,35, +CTSPillarNetworkA,6183,6183,6183,1986-12-06,618.000000000072,617.99615,2015-01-01 01:43:03,bin6183,75, +CTSPillarNetworkA,6184,6184,6184,1986-12-07,618.100000000072,618.0961,2015-01-01 01:43:04,bin6184,35, +CTSPillarNetworkA,6185,6185,6185,1986-12-08,618.200000000072,618.1961,2015-01-01 01:43:05,bin6185,75, +CTSPillarNetworkA,6186,6186,6186,1986-12-09,618.300000000072,618.2961,2015-01-01 01:43:06,bin6186,35, +CTSPillarNetworkA,6187,6187,6187,1986-12-10,618.400000000072,618.39606,2015-01-01 01:43:07,bin6187,75, +CTSPillarNetworkA,6188,6188,6188,1986-12-11,618.5000000000721,618.49603,2015-01-01 01:43:08,bin6188,35, +CTSPillarNetworkA,6189,6189,6189,1986-12-12,618.6000000000721,618.596,2015-01-01 01:43:09,bin6189,75, +CTSPillarNetworkA,6190,6190,6190,1986-12-13,618.7000000000721,618.696,2015-01-01 01:43:10,bin6190,35, +CTSPillarNetworkA,6191,6191,6191,1986-12-14,618.8000000000721,618.79596,2015-01-01 01:43:11,bin6191,75, +CTSPillarNetworkA,6192,6192,6192,1986-12-15,618.9000000000722,618.89594,2015-01-01 01:43:12,bin6192,35, +CTSPillarNetworkA,6193,6193,6193,1986-12-16,619.0000000000722,618.9959,2015-01-01 01:43:13,bin6193,75, +CTSPillarNetworkA,6194,6194,6194,1986-12-17,619.1000000000722,619.0959,2015-01-01 01:43:14,bin6194,35, +CTSPillarNetworkA,6195,6195,6195,1986-12-18,619.2000000000722,619.19586,2015-01-01 01:43:15,bin6195,75, +CTSPillarNetworkA,6196,6196,6196,1986-12-19,619.3000000000723,619.29584,2015-01-01 01:43:16,bin6196,35, +CTSPillarNetworkA,6197,6197,6197,1986-12-20,619.4000000000723,619.3958,2015-01-01 01:43:17,bin6197,75, +CTSPillarNetworkA,6198,6198,6198,1986-12-21,619.5000000000723,619.4958,2015-01-01 01:43:18,bin6198,35, +CTSPillarNetworkA,6199,6199,6199,1986-12-22,619.6000000000723,619.59576,2015-01-01 01:43:19,bin6199,75, +CTSPillarNetworkA,6200,6200,6200,1986-12-23,619.7000000000724,619.69574,2015-01-01 01:43:20,bin6200,35, +CTSPillarNetworkA,6201,6201,6201,1986-12-24,619.8000000000724,619.7957,2015-01-01 01:43:21,bin6201,75, +CTSPillarNetworkA,6202,6202,6202,1986-12-25,619.9000000000724,619.8957,2015-01-01 01:43:22,bin6202,35, +CTSPillarNetworkA,6203,6203,6203,1986-12-26,620.0000000000724,619.99567,2015-01-01 01:43:23,bin6203,75, +CTSPillarNetworkA,6204,6204,6204,1986-12-27,620.1000000000724,620.09564,2015-01-01 01:43:24,bin6204,35, +CTSPillarNetworkA,6205,6205,6205,1986-12-28,620.2000000000725,620.1956,2015-01-01 01:43:25,bin6205,75, +CTSPillarNetworkA,6206,6206,6206,1986-12-29,620.3000000000725,620.2956,2015-01-01 01:43:26,bin6206,35, +CTSPillarNetworkA,6207,6207,6207,1986-12-30,620.4000000000725,620.39557,2015-01-01 01:43:27,bin6207,75, +CTSPillarNetworkA,6208,6208,6208,1986-12-31,620.5000000000725,620.49554,2015-01-01 01:43:28,bin6208,35, +CTSPillarNetworkA,6209,6209,6209,1987-01-01,620.6000000000726,620.5955,2015-01-01 01:43:29,bin6209,75, +CTSPillarNetworkA,6210,6210,6210,1987-01-02,620.7000000000726,620.6955,2015-01-01 01:43:30,bin6210,35, +CTSPillarNetworkA,6211,6211,6211,1987-01-03,620.8000000000726,620.7955,2015-01-01 01:43:31,bin6211,75, +CTSPillarNetworkA,6212,6212,6212,1987-01-04,620.9000000000726,620.89545,2015-01-01 01:43:32,bin6212,35, +CTSPillarNetworkA,6213,6213,6213,1987-01-05,621.0000000000726,620.9954,2015-01-01 01:43:33,bin6213,75, +CTSPillarNetworkA,6214,6214,6214,1987-01-06,621.1000000000727,621.0954,2015-01-01 01:43:34,bin6214,35, +CTSPillarNetworkA,6215,6215,6215,1987-01-07,621.2000000000727,621.1954,2015-01-01 01:43:35,bin6215,75, +CTSPillarNetworkA,6216,6216,6216,1987-01-08,621.3000000000727,621.29535,2015-01-01 01:43:36,bin6216,35, +CTSPillarNetworkA,6217,6217,6217,1987-01-09,621.4000000000727,621.3953,2015-01-01 01:43:37,bin6217,75, +CTSPillarNetworkA,6218,6218,6218,1987-01-10,621.5000000000728,621.4953,2015-01-01 01:43:38,bin6218,35, +CTSPillarNetworkA,6219,6219,6219,1987-01-11,621.6000000000728,621.5953,2015-01-01 01:43:39,bin6219,75, +CTSPillarNetworkA,6220,6220,6220,1987-01-12,621.7000000000728,621.69525,2015-01-01 01:43:40,bin6220,35, +CTSPillarNetworkA,6221,6221,6221,1987-01-13,621.8000000000728,621.7952,2015-01-01 01:43:41,bin6221,75, +CTSPillarNetworkA,6222,6222,6222,1987-01-14,621.9000000000729,621.8952,2015-01-01 01:43:42,bin6222,35, +CTSPillarNetworkA,6223,6223,6223,1987-01-15,622.0000000000729,621.9952,2015-01-01 01:43:43,bin6223,75, +CTSPillarNetworkA,6224,6224,6224,1987-01-16,622.1000000000729,622.09515,2015-01-01 01:43:44,bin6224,35, +CTSPillarNetworkA,6225,6225,6225,1987-01-17,622.2000000000729,622.1951,2015-01-01 01:43:45,bin6225,75, +CTSPillarNetworkA,6226,6226,6226,1987-01-18,622.3000000000729,622.2951,2015-01-01 01:43:46,bin6226,35, +CTSPillarNetworkA,6227,6227,6227,1987-01-19,622.400000000073,622.3951,2015-01-01 01:43:47,bin6227,75, +CTSPillarNetworkA,6228,6228,6228,1987-01-20,622.500000000073,622.49506,2015-01-01 01:43:48,bin6228,35, +CTSPillarNetworkA,6229,6229,6229,1987-01-21,622.600000000073,622.59503,2015-01-01 01:43:49,bin6229,75, +CTSPillarNetworkA,6230,6230,6230,1987-01-22,622.700000000073,622.695,2015-01-01 01:43:50,bin6230,35, +CTSPillarNetworkA,6231,6231,6231,1987-01-23,622.800000000073,622.795,2015-01-01 01:43:51,bin6231,75, +CTSPillarNetworkA,6232,6232,6232,1987-01-24,622.9000000000731,622.89496,2015-01-01 01:43:52,bin6232,35, +CTSPillarNetworkA,6233,6233,6233,1987-01-25,623.0000000000731,622.99493,2015-01-01 01:43:53,bin6233,75, +CTSPillarNetworkA,6234,6234,6234,1987-01-26,623.1000000000731,623.0949,2015-01-01 01:43:54,bin6234,35, +CTSPillarNetworkA,6235,6235,6235,1987-01-27,623.2000000000731,623.1949,2015-01-01 01:43:55,bin6235,75, +CTSPillarNetworkA,6236,6236,6236,1987-01-28,623.3000000000732,623.29486,2015-01-01 01:43:56,bin6236,35, +CTSPillarNetworkA,6237,6237,6237,1987-01-29,623.4000000000732,623.39484,2015-01-01 01:43:57,bin6237,75, +CTSPillarNetworkA,6238,6238,6238,1987-01-30,623.5000000000732,623.4948,2015-01-01 01:43:58,bin6238,35, +CTSPillarNetworkA,6239,6239,6239,1987-01-31,623.6000000000732,623.5948,2015-01-01 01:43:59,bin6239,75, +CTSPillarNetworkA,6240,6240,6240,1987-02-01,623.7000000000733,623.69476,2015-01-01 01:44:00,bin6240,35, +CTSPillarNetworkA,6241,6241,6241,1987-02-02,623.8000000000733,623.79474,2015-01-01 01:44:01,bin6241,75, +CTSPillarNetworkA,6242,6242,6242,1987-02-03,623.9000000000733,623.8947,2015-01-01 01:44:02,bin6242,35, +CTSPillarNetworkA,6243,6243,6243,1987-02-04,624.0000000000733,623.9947,2015-01-01 01:44:03,bin6243,75, +CTSPillarNetworkA,6244,6244,6244,1987-02-05,624.1000000000734,624.09467,2015-01-01 01:44:04,bin6244,35, +CTSPillarNetworkA,6245,6245,6245,1987-02-06,624.2000000000734,624.19464,2015-01-01 01:44:05,bin6245,75, +CTSPillarNetworkA,6246,6246,6246,1987-02-07,624.3000000000734,624.2946,2015-01-01 01:44:06,bin6246,35, +CTSPillarNetworkA,6247,6247,6247,1987-02-08,624.4000000000734,624.3946,2015-01-01 01:44:07,bin6247,75, +CTSPillarNetworkA,6248,6248,6248,1987-02-09,624.5000000000734,624.49457,2015-01-01 01:44:08,bin6248,35, +CTSPillarNetworkA,6249,6249,6249,1987-02-10,624.6000000000735,624.59454,2015-01-01 01:44:09,bin6249,75, +CTSPillarNetworkA,6250,6250,6250,1987-02-11,624.7000000000735,624.6945,2015-01-01 01:44:10,bin6250,35, +CTSPillarNetworkA,6251,6251,6251,1987-02-12,624.8000000000735,624.7945,2015-01-01 01:44:11,bin6251,75, +CTSPillarNetworkA,6252,6252,6252,1987-02-13,624.9000000000735,624.8945,2015-01-01 01:44:12,bin6252,35, +CTSPillarNetworkA,6253,6253,6253,1987-02-14,625.0000000000736,624.99445,2015-01-01 01:44:13,bin6253,75, +CTSPillarNetworkA,6254,6254,6254,1987-02-15,625.1000000000736,625.0944,2015-01-01 01:44:14,bin6254,35, +CTSPillarNetworkA,6255,6255,6255,1987-02-16,625.2000000000736,625.1944,2015-01-01 01:44:15,bin6255,75, +CTSPillarNetworkA,6256,6256,6256,1987-02-17,625.3000000000736,625.2944,2015-01-01 01:44:16,bin6256,35, +CTSPillarNetworkA,6257,6257,6257,1987-02-18,625.4000000000736,625.39435,2015-01-01 01:44:17,bin6257,75, +CTSPillarNetworkA,6258,6258,6258,1987-02-19,625.5000000000737,625.4943,2015-01-01 01:44:18,bin6258,35, +CTSPillarNetworkA,6259,6259,6259,1987-02-20,625.6000000000737,625.5943,2015-01-01 01:44:19,bin6259,75, +CTSPillarNetworkA,6260,6260,6260,1987-02-21,625.7000000000737,625.6943,2015-01-01 01:44:20,bin6260,35, +CTSPillarNetworkA,6261,6261,6261,1987-02-22,625.8000000000737,625.79425,2015-01-01 01:44:21,bin6261,75, +CTSPillarNetworkA,6262,6262,6262,1987-02-23,625.9000000000738,625.8942,2015-01-01 01:44:22,bin6262,35, +CTSPillarNetworkA,6263,6263,6263,1987-02-24,626.0000000000738,625.9942,2015-01-01 01:44:23,bin6263,75, +CTSPillarNetworkA,6264,6264,6264,1987-02-25,626.1000000000738,626.0942,2015-01-01 01:44:24,bin6264,35, +CTSPillarNetworkA,6265,6265,6265,1987-02-26,626.2000000000738,626.19415,2015-01-01 01:44:25,bin6265,75, +CTSPillarNetworkA,6266,6266,6266,1987-02-27,626.3000000000739,626.2941,2015-01-01 01:44:26,bin6266,35, +CTSPillarNetworkA,6267,6267,6267,1987-02-28,626.4000000000739,626.3941,2015-01-01 01:44:27,bin6267,75, +CTSPillarNetworkA,6268,6268,6268,1987-03-01,626.5000000000739,626.4941,2015-01-01 01:44:28,bin6268,35, +CTSPillarNetworkA,6269,6269,6269,1987-03-02,626.6000000000739,626.59406,2015-01-01 01:44:29,bin6269,75, +CTSPillarNetworkA,6270,6270,6270,1987-03-03,626.7000000000739,626.69403,2015-01-01 01:44:30,bin6270,35, +CTSPillarNetworkA,6271,6271,6271,1987-03-04,626.800000000074,626.794,2015-01-01 01:44:31,bin6271,75, +CTSPillarNetworkA,6272,6272,6272,1987-03-05,626.900000000074,626.894,2015-01-01 01:44:32,bin6272,35, +CTSPillarNetworkA,6273,6273,6273,1987-03-06,627.000000000074,626.99396,2015-01-01 01:44:33,bin6273,75, +CTSPillarNetworkA,6274,6274,6274,1987-03-07,627.100000000074,627.09393,2015-01-01 01:44:34,bin6274,35, +CTSPillarNetworkA,6275,6275,6275,1987-03-08,627.200000000074,627.1939,2015-01-01 01:44:35,bin6275,75, +CTSPillarNetworkA,6276,6276,6276,1987-03-09,627.3000000000741,627.2939,2015-01-01 01:44:36,bin6276,35, +CTSPillarNetworkA,6277,6277,6277,1987-03-10,627.4000000000741,627.39386,2015-01-01 01:44:37,bin6277,75, +CTSPillarNetworkA,6278,6278,6278,1987-03-11,627.5000000000741,627.49384,2015-01-01 01:44:38,bin6278,35, +CTSPillarNetworkA,6279,6279,6279,1987-03-12,627.6000000000741,627.5938,2015-01-01 01:44:39,bin6279,75, +CTSPillarNetworkA,6280,6280,6280,1987-03-13,627.7000000000742,627.6938,2015-01-01 01:44:40,bin6280,35, +CTSPillarNetworkA,6281,6281,6281,1987-03-14,627.8000000000742,627.79376,2015-01-01 01:44:41,bin6281,75, +CTSPillarNetworkA,6282,6282,6282,1987-03-15,627.9000000000742,627.89374,2015-01-01 01:44:42,bin6282,35, +CTSPillarNetworkA,6283,6283,6283,1987-03-16,628.0000000000742,627.9937,2015-01-01 01:44:43,bin6283,75, +CTSPillarNetworkA,6284,6284,6284,1987-03-17,628.1000000000743,628.0937,2015-01-01 01:44:44,bin6284,35, +CTSPillarNetworkA,6285,6285,6285,1987-03-18,628.2000000000743,628.19366,2015-01-01 01:44:45,bin6285,75, +CTSPillarNetworkA,6286,6286,6286,1987-03-19,628.3000000000743,628.29364,2015-01-01 01:44:46,bin6286,35, +CTSPillarNetworkA,6287,6287,6287,1987-03-20,628.4000000000743,628.3936,2015-01-01 01:44:47,bin6287,75, +CTSPillarNetworkA,6288,6288,6288,1987-03-21,628.5000000000744,628.4936,2015-01-01 01:44:48,bin6288,35, +CTSPillarNetworkA,6289,6289,6289,1987-03-22,628.6000000000744,628.59357,2015-01-01 01:44:49,bin6289,75, +CTSPillarNetworkA,6290,6290,6290,1987-03-23,628.7000000000744,628.69354,2015-01-01 01:44:50,bin6290,35, +CTSPillarNetworkA,6291,6291,6291,1987-03-24,628.8000000000744,628.7935,2015-01-01 01:44:51,bin6291,75, +CTSPillarNetworkA,6292,6292,6292,1987-03-25,628.9000000000744,628.8935,2015-01-01 01:44:52,bin6292,35, +CTSPillarNetworkA,6293,6293,6293,1987-03-26,629.0000000000745,628.99347,2015-01-01 01:44:53,bin6293,75, +CTSPillarNetworkA,6294,6294,6294,1987-03-27,629.1000000000745,629.09344,2015-01-01 01:44:54,bin6294,35, +CTSPillarNetworkA,6295,6295,6295,1987-03-28,629.2000000000745,629.1934,2015-01-01 01:44:55,bin6295,75, +CTSPillarNetworkA,6296,6296,6296,1987-03-29,629.3000000000745,629.2934,2015-01-01 01:44:56,bin6296,35, +CTSPillarNetworkA,6297,6297,6297,1987-03-30,629.4000000000746,629.3934,2015-01-01 01:44:57,bin6297,75, +CTSPillarNetworkA,6298,6298,6298,1987-03-31,629.5000000000746,629.49335,2015-01-01 01:44:58,bin6298,35, +CTSPillarNetworkA,6299,6299,6299,1987-04-01,629.6000000000746,629.5933,2015-01-01 01:44:59,bin6299,75, +CTSPillarNetworkA,6300,6300,6300,1987-04-02,629.7000000000746,629.6933,2015-01-01 01:45:00,bin6300,35, +CTSPillarNetworkA,6301,6301,6301,1987-04-03,629.8000000000746,629.7933,2015-01-01 01:45:01,bin6301,75, +CTSPillarNetworkA,6302,6302,6302,1987-04-04,629.9000000000747,629.89325,2015-01-01 01:45:02,bin6302,35, +CTSPillarNetworkA,6303,6303,6303,1987-04-05,630.0000000000747,629.9932,2015-01-01 01:45:03,bin6303,75, +CTSPillarNetworkA,6304,6304,6304,1987-04-06,630.1000000000747,630.0932,2015-01-01 01:45:04,bin6304,35, +CTSPillarNetworkA,6305,6305,6305,1987-04-07,630.2000000000747,630.1932,2015-01-01 01:45:05,bin6305,75, +CTSPillarNetworkA,6306,6306,6306,1987-04-08,630.3000000000748,630.29315,2015-01-01 01:45:06,bin6306,35, +CTSPillarNetworkA,6307,6307,6307,1987-04-09,630.4000000000748,630.3931,2015-01-01 01:45:07,bin6307,75, +CTSPillarNetworkA,6308,6308,6308,1987-04-10,630.5000000000748,630.4931,2015-01-01 01:45:08,bin6308,35, +CTSPillarNetworkA,6309,6309,6309,1987-04-11,630.6000000000748,630.5931,2015-01-01 01:45:09,bin6309,75, +CTSPillarNetworkA,6310,6310,6310,1987-04-12,630.7000000000749,630.69305,2015-01-01 01:45:10,bin6310,35, +CTSPillarNetworkA,6311,6311,6311,1987-04-13,630.8000000000749,630.793,2015-01-01 01:45:11,bin6311,75, +CTSPillarNetworkA,6312,6312,6312,1987-04-14,630.9000000000749,630.893,2015-01-01 01:45:12,bin6312,35, +CTSPillarNetworkA,6313,6313,6313,1987-04-15,631.0000000000749,630.993,2015-01-01 01:45:13,bin6313,75, +CTSPillarNetworkA,6314,6314,6314,1987-04-16,631.1000000000749,631.09296,2015-01-01 01:45:14,bin6314,35, +CTSPillarNetworkA,6315,6315,6315,1987-04-17,631.200000000075,631.19293,2015-01-01 01:45:15,bin6315,75, +CTSPillarNetworkA,6316,6316,6316,1987-04-18,631.300000000075,631.2929,2015-01-01 01:45:16,bin6316,35, +CTSPillarNetworkA,6317,6317,6317,1987-04-19,631.400000000075,631.3929,2015-01-01 01:45:17,bin6317,75, +CTSPillarNetworkA,6318,6318,6318,1987-04-20,631.500000000075,631.49286,2015-01-01 01:45:18,bin6318,35, +CTSPillarNetworkA,6319,6319,6319,1987-04-21,631.600000000075,631.59283,2015-01-01 01:45:19,bin6319,75, +CTSPillarNetworkA,6320,6320,6320,1987-04-22,631.7000000000751,631.6928,2015-01-01 01:45:20,bin6320,35, +CTSPillarNetworkA,6321,6321,6321,1987-04-23,631.8000000000751,631.7928,2015-01-01 01:45:21,bin6321,75, +CTSPillarNetworkA,6322,6322,6322,1987-04-24,631.9000000000751,631.89276,2015-01-01 01:45:22,bin6322,35, +CTSPillarNetworkA,6323,6323,6323,1987-04-25,632.0000000000751,631.99274,2015-01-01 01:45:23,bin6323,75, +CTSPillarNetworkA,6324,6324,6324,1987-04-26,632.1000000000752,632.0927,2015-01-01 01:45:24,bin6324,35, +CTSPillarNetworkA,6325,6325,6325,1987-04-27,632.2000000000752,632.1927,2015-01-01 01:45:25,bin6325,75, +CTSPillarNetworkA,6326,6326,6326,1987-04-28,632.3000000000752,632.29266,2015-01-01 01:45:26,bin6326,35, +CTSPillarNetworkA,6327,6327,6327,1987-04-29,632.4000000000752,632.39264,2015-01-01 01:45:27,bin6327,75, +CTSPillarNetworkA,6328,6328,6328,1987-04-30,632.5000000000753,632.4926,2015-01-01 01:45:28,bin6328,35, +CTSPillarNetworkA,6329,6329,6329,1987-05-01,632.6000000000753,632.5926,2015-01-01 01:45:29,bin6329,75, +CTSPillarNetworkA,6330,6330,6330,1987-05-02,632.7000000000753,632.69257,2015-01-01 01:45:30,bin6330,35, +CTSPillarNetworkA,6331,6331,6331,1987-05-03,632.8000000000753,632.79254,2015-01-01 01:45:31,bin6331,75, +CTSPillarNetworkA,6332,6332,6332,1987-05-04,632.9000000000754,632.8925,2015-01-01 01:45:32,bin6332,35, +CTSPillarNetworkA,6333,6333,6333,1987-05-05,633.0000000000754,632.9925,2015-01-01 01:45:33,bin6333,75, +CTSPillarNetworkA,6334,6334,6334,1987-05-06,633.1000000000754,633.09247,2015-01-01 01:45:34,bin6334,35, +CTSPillarNetworkA,6335,6335,6335,1987-05-07,633.2000000000754,633.19244,2015-01-01 01:45:35,bin6335,75, +CTSPillarNetworkA,6336,6336,6336,1987-05-08,633.3000000000754,633.2924,2015-01-01 01:45:36,bin6336,35, +CTSPillarNetworkA,6337,6337,6337,1987-05-09,633.4000000000755,633.3924,2015-01-01 01:45:37,bin6337,75, +CTSPillarNetworkA,6338,6338,6338,1987-05-10,633.5000000000755,633.4924,2015-01-01 01:45:38,bin6338,35, +CTSPillarNetworkA,6339,6339,6339,1987-05-11,633.6000000000755,633.59235,2015-01-01 01:45:39,bin6339,75, +CTSPillarNetworkA,6340,6340,6340,1987-05-12,633.7000000000755,633.6923,2015-01-01 01:45:40,bin6340,35, +CTSPillarNetworkA,6341,6341,6341,1987-05-13,633.8000000000756,633.7923,2015-01-01 01:45:41,bin6341,75, +CTSPillarNetworkA,6342,6342,6342,1987-05-14,633.9000000000756,633.8923,2015-01-01 01:45:42,bin6342,35, +CTSPillarNetworkA,6343,6343,6343,1987-05-15,634.0000000000756,633.99225,2015-01-01 01:45:43,bin6343,75, +CTSPillarNetworkA,6344,6344,6344,1987-05-16,634.1000000000756,634.0922,2015-01-01 01:45:44,bin6344,35, +CTSPillarNetworkA,6345,6345,6345,1987-05-17,634.2000000000756,634.1922,2015-01-01 01:45:45,bin6345,75, +CTSPillarNetworkA,6346,6346,6346,1987-05-18,634.3000000000757,634.2922,2015-01-01 01:45:46,bin6346,35, +CTSPillarNetworkA,6347,6347,6347,1987-05-19,634.4000000000757,634.39215,2015-01-01 01:45:47,bin6347,75, +CTSPillarNetworkA,6348,6348,6348,1987-05-20,634.5000000000757,634.4921,2015-01-01 01:45:48,bin6348,35, +CTSPillarNetworkA,6349,6349,6349,1987-05-21,634.6000000000757,634.5921,2015-01-01 01:45:49,bin6349,75, +CTSPillarNetworkA,6350,6350,6350,1987-05-22,634.7000000000758,634.6921,2015-01-01 01:45:50,bin6350,35, +CTSPillarNetworkA,6351,6351,6351,1987-05-23,634.8000000000758,634.79205,2015-01-01 01:45:51,bin6351,75, +CTSPillarNetworkA,6352,6352,6352,1987-05-24,634.9000000000758,634.892,2015-01-01 01:45:52,bin6352,35, +CTSPillarNetworkA,6353,6353,6353,1987-05-25,635.0000000000758,634.992,2015-01-01 01:45:53,bin6353,75, +CTSPillarNetworkA,6354,6354,6354,1987-05-26,635.1000000000759,635.092,2015-01-01 01:45:54,bin6354,35, +CTSPillarNetworkA,6355,6355,6355,1987-05-27,635.2000000000759,635.19196,2015-01-01 01:45:55,bin6355,75, +CTSPillarNetworkA,6356,6356,6356,1987-05-28,635.3000000000759,635.29193,2015-01-01 01:45:56,bin6356,35, +CTSPillarNetworkA,6357,6357,6357,1987-05-29,635.4000000000759,635.3919,2015-01-01 01:45:57,bin6357,75, +CTSPillarNetworkA,6358,6358,6358,1987-05-30,635.5000000000759,635.4919,2015-01-01 01:45:58,bin6358,35, +CTSPillarNetworkA,6359,6359,6359,1987-05-31,635.600000000076,635.59186,2015-01-01 01:45:59,bin6359,75, +CTSPillarNetworkA,6360,6360,6360,1987-06-01,635.700000000076,635.69183,2015-01-01 01:46:00,bin6360,35, +CTSPillarNetworkA,6361,6361,6361,1987-06-02,635.800000000076,635.7918,2015-01-01 01:46:01,bin6361,75, +CTSPillarNetworkA,6362,6362,6362,1987-06-03,635.900000000076,635.8918,2015-01-01 01:46:02,bin6362,35, +CTSPillarNetworkA,6363,6363,6363,1987-06-04,636.000000000076,635.99176,2015-01-01 01:46:03,bin6363,75, +CTSPillarNetworkA,6364,6364,6364,1987-06-05,636.1000000000761,636.09174,2015-01-01 01:46:04,bin6364,35, +CTSPillarNetworkA,6365,6365,6365,1987-06-06,636.2000000000761,636.1917,2015-01-01 01:46:05,bin6365,75, +CTSPillarNetworkA,6366,6366,6366,1987-06-07,636.3000000000761,636.2917,2015-01-01 01:46:06,bin6366,35, +CTSPillarNetworkA,6367,6367,6367,1987-06-08,636.4000000000761,636.39166,2015-01-01 01:46:07,bin6367,75, +CTSPillarNetworkA,6368,6368,6368,1987-06-09,636.5000000000762,636.49164,2015-01-01 01:46:08,bin6368,35, +CTSPillarNetworkA,6369,6369,6369,1987-06-10,636.6000000000762,636.5916,2015-01-01 01:46:09,bin6369,75, +CTSPillarNetworkA,6370,6370,6370,1987-06-11,636.7000000000762,636.6916,2015-01-01 01:46:10,bin6370,35, +CTSPillarNetworkA,6371,6371,6371,1987-06-12,636.8000000000762,636.79156,2015-01-01 01:46:11,bin6371,75, +CTSPillarNetworkA,6372,6372,6372,1987-06-13,636.9000000000763,636.89154,2015-01-01 01:46:12,bin6372,35, +CTSPillarNetworkA,6373,6373,6373,1987-06-14,637.0000000000763,636.9915,2015-01-01 01:46:13,bin6373,75, +CTSPillarNetworkA,6374,6374,6374,1987-06-15,637.1000000000763,637.0915,2015-01-01 01:46:14,bin6374,35, +CTSPillarNetworkA,6375,6375,6375,1987-06-16,637.2000000000763,637.19147,2015-01-01 01:46:15,bin6375,75, +CTSPillarNetworkA,6376,6376,6376,1987-06-17,637.3000000000764,637.29144,2015-01-01 01:46:16,bin6376,35, +CTSPillarNetworkA,6377,6377,6377,1987-06-18,637.4000000000764,637.3914,2015-01-01 01:46:17,bin6377,75, +CTSPillarNetworkA,6378,6378,6378,1987-06-19,637.5000000000764,637.4914,2015-01-01 01:46:18,bin6378,35, +CTSPillarNetworkA,6379,6379,6379,1987-06-20,637.6000000000764,637.5914,2015-01-01 01:46:19,bin6379,75, +CTSPillarNetworkA,6380,6380,6380,1987-06-21,637.7000000000764,637.69135,2015-01-01 01:46:20,bin6380,35, +CTSPillarNetworkA,6381,6381,6381,1987-06-22,637.8000000000765,637.7913,2015-01-01 01:46:21,bin6381,75, +CTSPillarNetworkA,6382,6382,6382,1987-06-23,637.9000000000765,637.8913,2015-01-01 01:46:22,bin6382,35, +CTSPillarNetworkA,6383,6383,6383,1987-06-24,638.0000000000765,637.9913,2015-01-01 01:46:23,bin6383,75, +CTSPillarNetworkA,6384,6384,6384,1987-06-25,638.1000000000765,638.09125,2015-01-01 01:46:24,bin6384,35, +CTSPillarNetworkA,6385,6385,6385,1987-06-26,638.2000000000766,638.1912,2015-01-01 01:46:25,bin6385,75, +CTSPillarNetworkA,6386,6386,6386,1987-06-27,638.3000000000766,638.2912,2015-01-01 01:46:26,bin6386,35, +CTSPillarNetworkA,6387,6387,6387,1987-06-28,638.4000000000766,638.3912,2015-01-01 01:46:27,bin6387,75, +CTSPillarNetworkA,6388,6388,6388,1987-06-29,638.5000000000766,638.49115,2015-01-01 01:46:28,bin6388,35, +CTSPillarNetworkA,6389,6389,6389,1987-06-30,638.6000000000766,638.5911,2015-01-01 01:46:29,bin6389,75, +CTSPillarNetworkA,6390,6390,6390,1987-07-01,638.7000000000767,638.6911,2015-01-01 01:46:30,bin6390,35, +CTSPillarNetworkA,6391,6391,6391,1987-07-02,638.8000000000767,638.7911,2015-01-01 01:46:31,bin6391,75, +CTSPillarNetworkA,6392,6392,6392,1987-07-03,638.9000000000767,638.89105,2015-01-01 01:46:32,bin6392,35, +CTSPillarNetworkA,6393,6393,6393,1987-07-04,639.0000000000767,638.991,2015-01-01 01:46:33,bin6393,75, +CTSPillarNetworkA,6394,6394,6394,1987-07-05,639.1000000000768,639.091,2015-01-01 01:46:34,bin6394,35, +CTSPillarNetworkA,6395,6395,6395,1987-07-06,639.2000000000768,639.191,2015-01-01 01:46:35,bin6395,75, +CTSPillarNetworkA,6396,6396,6396,1987-07-07,639.3000000000768,639.29095,2015-01-01 01:46:36,bin6396,35, +CTSPillarNetworkA,6397,6397,6397,1987-07-08,639.4000000000768,639.3909,2015-01-01 01:46:37,bin6397,75, +CTSPillarNetworkA,6398,6398,6398,1987-07-09,639.5000000000769,639.4909,2015-01-01 01:46:38,bin6398,35, +CTSPillarNetworkA,6399,6399,6399,1987-07-10,639.6000000000769,639.5909,2015-01-01 01:46:39,bin6399,75, +CTSPillarNetworkA,6400,6400,6400,1987-07-11,639.7000000000769,639.69086,2015-01-01 01:46:40,bin6400,35, +CTSPillarNetworkA,6401,6401,6401,1987-07-12,639.8000000000769,639.79083,2015-01-01 01:46:41,bin6401,75, +CTSPillarNetworkA,6402,6402,6402,1987-07-13,639.900000000077,639.8908,2015-01-01 01:46:42,bin6402,35, +CTSPillarNetworkA,6403,6403,6403,1987-07-14,640.000000000077,639.9908,2015-01-01 01:46:43,bin6403,75, +CTSPillarNetworkA,6404,6404,6404,1987-07-15,640.100000000077,640.09076,2015-01-01 01:46:44,bin6404,35, +CTSPillarNetworkA,6405,6405,6405,1987-07-16,640.200000000077,640.19073,2015-01-01 01:46:45,bin6405,75, +CTSPillarNetworkA,6406,6406,6406,1987-07-17,640.300000000077,640.2907,2015-01-01 01:46:46,bin6406,35, +CTSPillarNetworkA,6407,6407,6407,1987-07-18,640.4000000000771,640.3907,2015-01-01 01:46:47,bin6407,75, +CTSPillarNetworkA,6408,6408,6408,1987-07-19,640.5000000000771,640.49066,2015-01-01 01:46:48,bin6408,35, +CTSPillarNetworkA,6409,6409,6409,1987-07-20,640.6000000000771,640.59064,2015-01-01 01:46:49,bin6409,75, +CTSPillarNetworkA,6410,6410,6410,1987-07-21,640.7000000000771,640.6906,2015-01-01 01:46:50,bin6410,35, +CTSPillarNetworkA,6411,6411,6411,1987-07-22,640.8000000000771,640.7906,2015-01-01 01:46:51,bin6411,75, +CTSPillarNetworkA,6412,6412,6412,1987-07-23,640.9000000000772,640.89056,2015-01-01 01:46:52,bin6412,35, +CTSPillarNetworkA,6413,6413,6413,1987-07-24,641.0000000000772,640.99054,2015-01-01 01:46:53,bin6413,75, +CTSPillarNetworkA,6414,6414,6414,1987-07-25,641.1000000000772,641.0905,2015-01-01 01:46:54,bin6414,35, +CTSPillarNetworkA,6415,6415,6415,1987-07-26,641.2000000000772,641.1905,2015-01-01 01:46:55,bin6415,75, +CTSPillarNetworkA,6416,6416,6416,1987-07-27,641.3000000000773,641.29047,2015-01-01 01:46:56,bin6416,35, +CTSPillarNetworkA,6417,6417,6417,1987-07-28,641.4000000000773,641.39044,2015-01-01 01:46:57,bin6417,75, +CTSPillarNetworkA,6418,6418,6418,1987-07-29,641.5000000000773,641.4904,2015-01-01 01:46:58,bin6418,35, +CTSPillarNetworkA,6419,6419,6419,1987-07-30,641.6000000000773,641.5904,2015-01-01 01:46:59,bin6419,75, +CTSPillarNetworkA,6420,6420,6420,1987-07-31,641.7000000000774,641.69037,2015-01-01 01:47:00,bin6420,35, +CTSPillarNetworkA,6421,6421,6421,1987-08-01,641.8000000000774,641.79034,2015-01-01 01:47:01,bin6421,75, +CTSPillarNetworkA,6422,6422,6422,1987-08-02,641.9000000000774,641.8903,2015-01-01 01:47:02,bin6422,35, +CTSPillarNetworkA,6423,6423,6423,1987-08-03,642.0000000000774,641.9903,2015-01-01 01:47:03,bin6423,75, +CTSPillarNetworkA,6424,6424,6424,1987-08-04,642.1000000000774,642.0903,2015-01-01 01:47:04,bin6424,35, +CTSPillarNetworkA,6425,6425,6425,1987-08-05,642.2000000000775,642.19025,2015-01-01 01:47:05,bin6425,75, +CTSPillarNetworkA,6426,6426,6426,1987-08-06,642.3000000000775,642.2902,2015-01-01 01:47:06,bin6426,35, +CTSPillarNetworkA,6427,6427,6427,1987-08-07,642.4000000000775,642.3902,2015-01-01 01:47:07,bin6427,75, +CTSPillarNetworkA,6428,6428,6428,1987-08-08,642.5000000000775,642.4902,2015-01-01 01:47:08,bin6428,35, +CTSPillarNetworkA,6429,6429,6429,1987-08-09,642.6000000000776,642.59015,2015-01-01 01:47:09,bin6429,75, +CTSPillarNetworkA,6430,6430,6430,1987-08-10,642.7000000000776,642.6901,2015-01-01 01:47:10,bin6430,35, +CTSPillarNetworkA,6431,6431,6431,1987-08-11,642.8000000000776,642.7901,2015-01-01 01:47:11,bin6431,75, +CTSPillarNetworkA,6432,6432,6432,1987-08-12,642.9000000000776,642.8901,2015-01-01 01:47:12,bin6432,35, +CTSPillarNetworkA,6433,6433,6433,1987-08-13,643.0000000000776,642.99005,2015-01-01 01:47:13,bin6433,75, +CTSPillarNetworkA,6434,6434,6434,1987-08-14,643.1000000000777,643.09,2015-01-01 01:47:14,bin6434,35, +CTSPillarNetworkA,6435,6435,6435,1987-08-15,643.2000000000777,643.19,2015-01-01 01:47:15,bin6435,75, +CTSPillarNetworkA,6436,6436,6436,1987-08-16,643.3000000000777,643.29,2015-01-01 01:47:16,bin6436,35, +CTSPillarNetworkA,6437,6437,6437,1987-08-17,643.4000000000777,643.38995,2015-01-01 01:47:17,bin6437,75, +CTSPillarNetworkA,6438,6438,6438,1987-08-18,643.5000000000778,643.4899,2015-01-01 01:47:18,bin6438,35, +CTSPillarNetworkA,6439,6439,6439,1987-08-19,643.6000000000778,643.5899,2015-01-01 01:47:19,bin6439,75, +CTSPillarNetworkA,6440,6440,6440,1987-08-20,643.7000000000778,643.6899,2015-01-01 01:47:20,bin6440,35, +CTSPillarNetworkA,6441,6441,6441,1987-08-21,643.8000000000778,643.78986,2015-01-01 01:47:21,bin6441,75, +CTSPillarNetworkA,6442,6442,6442,1987-08-22,643.9000000000779,643.88983,2015-01-01 01:47:22,bin6442,35, +CTSPillarNetworkA,6443,6443,6443,1987-08-23,644.0000000000779,643.9898,2015-01-01 01:47:23,bin6443,75, +CTSPillarNetworkA,6444,6444,6444,1987-08-24,644.1000000000779,644.0898,2015-01-01 01:47:24,bin6444,35, +CTSPillarNetworkA,6445,6445,6445,1987-08-25,644.2000000000779,644.18976,2015-01-01 01:47:25,bin6445,75, +CTSPillarNetworkA,6446,6446,6446,1987-08-26,644.300000000078,644.28973,2015-01-01 01:47:26,bin6446,35, +CTSPillarNetworkA,6447,6447,6447,1987-08-27,644.400000000078,644.3897,2015-01-01 01:47:27,bin6447,75, +CTSPillarNetworkA,6448,6448,6448,1987-08-28,644.500000000078,644.4897,2015-01-01 01:47:28,bin6448,35, +CTSPillarNetworkA,6449,6449,6449,1987-08-29,644.600000000078,644.58966,2015-01-01 01:47:29,bin6449,75, +CTSPillarNetworkA,6450,6450,6450,1987-08-30,644.700000000078,644.68964,2015-01-01 01:47:30,bin6450,35, +CTSPillarNetworkA,6451,6451,6451,1987-08-31,644.8000000000781,644.7896,2015-01-01 01:47:31,bin6451,75, +CTSPillarNetworkA,6452,6452,6452,1987-09-01,644.9000000000781,644.8896,2015-01-01 01:47:32,bin6452,35, +CTSPillarNetworkA,6453,6453,6453,1987-09-02,645.0000000000781,644.98956,2015-01-01 01:47:33,bin6453,75, +CTSPillarNetworkA,6454,6454,6454,1987-09-03,645.1000000000781,645.08954,2015-01-01 01:47:34,bin6454,35, +CTSPillarNetworkA,6455,6455,6455,1987-09-04,645.2000000000781,645.1895,2015-01-01 01:47:35,bin6455,75, +CTSPillarNetworkA,6456,6456,6456,1987-09-05,645.3000000000782,645.2895,2015-01-01 01:47:36,bin6456,35, +CTSPillarNetworkA,6457,6457,6457,1987-09-06,645.4000000000782,645.38947,2015-01-01 01:47:37,bin6457,75, +CTSPillarNetworkA,6458,6458,6458,1987-09-07,645.5000000000782,645.48944,2015-01-01 01:47:38,bin6458,35, +CTSPillarNetworkA,6459,6459,6459,1987-09-08,645.6000000000782,645.5894,2015-01-01 01:47:39,bin6459,75, +CTSPillarNetworkA,6460,6460,6460,1987-09-09,645.7000000000783,645.6894,2015-01-01 01:47:40,bin6460,35, +CTSPillarNetworkA,6461,6461,6461,1987-09-10,645.8000000000783,645.78937,2015-01-01 01:47:41,bin6461,75, +CTSPillarNetworkA,6462,6462,6462,1987-09-11,645.9000000000783,645.88934,2015-01-01 01:47:42,bin6462,35, +CTSPillarNetworkA,6463,6463,6463,1987-09-12,646.0000000000783,645.9893,2015-01-01 01:47:43,bin6463,75, +CTSPillarNetworkA,6464,6464,6464,1987-09-13,646.1000000000784,646.0893,2015-01-01 01:47:44,bin6464,35, +CTSPillarNetworkA,6465,6465,6465,1987-09-14,646.2000000000784,646.1893,2015-01-01 01:47:45,bin6465,75, +CTSPillarNetworkA,6466,6466,6466,1987-09-15,646.3000000000784,646.28925,2015-01-01 01:47:46,bin6466,35, +CTSPillarNetworkA,6467,6467,6467,1987-09-16,646.4000000000784,646.3892,2015-01-01 01:47:47,bin6467,75, +CTSPillarNetworkA,6468,6468,6468,1987-09-17,646.5000000000784,646.4892,2015-01-01 01:47:48,bin6468,35, +CTSPillarNetworkA,6469,6469,6469,1987-09-18,646.6000000000785,646.5892,2015-01-01 01:47:49,bin6469,75, +CTSPillarNetworkA,6470,6470,6470,1987-09-19,646.7000000000785,646.68915,2015-01-01 01:47:50,bin6470,35, +CTSPillarNetworkA,6471,6471,6471,1987-09-20,646.8000000000785,646.7891,2015-01-01 01:47:51,bin6471,75, +CTSPillarNetworkA,6472,6472,6472,1987-09-21,646.9000000000785,646.8891,2015-01-01 01:47:52,bin6472,35, +CTSPillarNetworkA,6473,6473,6473,1987-09-22,647.0000000000786,646.9891,2015-01-01 01:47:53,bin6473,75, +CTSPillarNetworkA,6474,6474,6474,1987-09-23,647.1000000000786,647.08905,2015-01-01 01:47:54,bin6474,35, +CTSPillarNetworkA,6475,6475,6475,1987-09-24,647.2000000000786,647.189,2015-01-01 01:47:55,bin6475,75, +CTSPillarNetworkA,6476,6476,6476,1987-09-25,647.3000000000786,647.289,2015-01-01 01:47:56,bin6476,35, +CTSPillarNetworkA,6477,6477,6477,1987-09-26,647.4000000000786,647.389,2015-01-01 01:47:57,bin6477,75, +CTSPillarNetworkA,6478,6478,6478,1987-09-27,647.5000000000787,647.48895,2015-01-01 01:47:58,bin6478,35, +CTSPillarNetworkA,6479,6479,6479,1987-09-28,647.6000000000787,647.5889,2015-01-01 01:47:59,bin6479,75, +CTSPillarNetworkA,6480,6480,6480,1987-09-29,647.7000000000787,647.6889,2015-01-01 01:48:00,bin6480,35, +CTSPillarNetworkA,6481,6481,6481,1987-09-30,647.8000000000787,647.7889,2015-01-01 01:48:01,bin6481,75, +CTSPillarNetworkA,6482,6482,6482,1987-10-01,647.9000000000788,647.88885,2015-01-01 01:48:02,bin6482,35, +CTSPillarNetworkA,6483,6483,6483,1987-10-02,648.0000000000788,647.98883,2015-01-01 01:48:03,bin6483,75, +CTSPillarNetworkA,6484,6484,6484,1987-10-03,648.1000000000788,648.0888,2015-01-01 01:48:04,bin6484,35, +CTSPillarNetworkA,6485,6485,6485,1987-10-04,648.2000000000788,648.1888,2015-01-01 01:48:05,bin6485,75, +CTSPillarNetworkA,6486,6486,6486,1987-10-05,648.3000000000789,648.28876,2015-01-01 01:48:06,bin6486,35, +CTSPillarNetworkA,6487,6487,6487,1987-10-06,648.4000000000789,648.38873,2015-01-01 01:48:07,bin6487,75, +CTSPillarNetworkA,6488,6488,6488,1987-10-07,648.5000000000789,648.4887,2015-01-01 01:48:08,bin6488,35, +CTSPillarNetworkA,6489,6489,6489,1987-10-08,648.6000000000789,648.5887,2015-01-01 01:48:09,bin6489,75, +CTSPillarNetworkA,6490,6490,6490,1987-10-09,648.700000000079,648.68866,2015-01-01 01:48:10,bin6490,35, +CTSPillarNetworkA,6491,6491,6491,1987-10-10,648.800000000079,648.78864,2015-01-01 01:48:11,bin6491,75, +CTSPillarNetworkA,6492,6492,6492,1987-10-11,648.900000000079,648.8886,2015-01-01 01:48:12,bin6492,35, +CTSPillarNetworkA,6493,6493,6493,1987-10-12,649.000000000079,648.9886,2015-01-01 01:48:13,bin6493,75, +CTSPillarNetworkA,6494,6494,6494,1987-10-13,649.100000000079,649.08856,2015-01-01 01:48:14,bin6494,35, +CTSPillarNetworkA,6495,6495,6495,1987-10-14,649.2000000000791,649.18854,2015-01-01 01:48:15,bin6495,75, +CTSPillarNetworkA,6496,6496,6496,1987-10-15,649.3000000000791,649.2885,2015-01-01 01:48:16,bin6496,35, +CTSPillarNetworkA,6497,6497,6497,1987-10-16,649.4000000000791,649.3885,2015-01-01 01:48:17,bin6497,75, +CTSPillarNetworkA,6498,6498,6498,1987-10-17,649.5000000000791,649.48846,2015-01-01 01:48:18,bin6498,35, +CTSPillarNetworkA,6499,6499,6499,1987-10-18,649.6000000000791,649.58844,2015-01-01 01:48:19,bin6499,75, +CTSPillarNetworkA,6500,6500,6500,1987-10-19,649.7000000000792,649.6884,2015-01-01 01:48:20,bin6500,35, +CTSPillarNetworkA,6501,6501,6501,1987-10-20,649.8000000000792,649.7884,2015-01-01 01:48:21,bin6501,75, +CTSPillarNetworkA,6502,6502,6502,1987-10-21,649.9000000000792,649.88837,2015-01-01 01:48:22,bin6502,35, +CTSPillarNetworkA,6503,6503,6503,1987-10-22,650.0000000000792,649.98834,2015-01-01 01:48:23,bin6503,75, +CTSPillarNetworkA,6504,6504,6504,1987-10-23,650.1000000000793,650.0883,2015-01-01 01:48:24,bin6504,35, +CTSPillarNetworkA,6505,6505,6505,1987-10-24,650.2000000000793,650.1883,2015-01-01 01:48:25,bin6505,75, +CTSPillarNetworkA,6506,6506,6506,1987-10-25,650.3000000000793,650.28827,2015-01-01 01:48:26,bin6506,35, +CTSPillarNetworkA,6507,6507,6507,1987-10-26,650.4000000000793,650.38824,2015-01-01 01:48:27,bin6507,75, +CTSPillarNetworkA,6508,6508,6508,1987-10-27,650.5000000000794,650.4882,2015-01-01 01:48:28,bin6508,35, +CTSPillarNetworkA,6509,6509,6509,1987-10-28,650.6000000000794,650.5882,2015-01-01 01:48:29,bin6509,75, +CTSPillarNetworkA,6510,6510,6510,1987-10-29,650.7000000000794,650.6882,2015-01-01 01:48:30,bin6510,35, +CTSPillarNetworkA,6511,6511,6511,1987-10-30,650.8000000000794,650.78815,2015-01-01 01:48:31,bin6511,75, +CTSPillarNetworkA,6512,6512,6512,1987-10-31,650.9000000000794,650.8881,2015-01-01 01:48:32,bin6512,35, +CTSPillarNetworkA,6513,6513,6513,1987-11-01,651.0000000000795,650.9881,2015-01-01 01:48:33,bin6513,75, +CTSPillarNetworkA,6514,6514,6514,1987-11-02,651.1000000000795,651.0881,2015-01-01 01:48:34,bin6514,35, +CTSPillarNetworkA,6515,6515,6515,1987-11-03,651.2000000000795,651.18805,2015-01-01 01:48:35,bin6515,75, +CTSPillarNetworkA,6516,6516,6516,1987-11-04,651.3000000000795,651.288,2015-01-01 01:48:36,bin6516,35, +CTSPillarNetworkA,6517,6517,6517,1987-11-05,651.4000000000796,651.388,2015-01-01 01:48:37,bin6517,75, +CTSPillarNetworkA,6518,6518,6518,1987-11-06,651.5000000000796,651.488,2015-01-01 01:48:38,bin6518,35, +CTSPillarNetworkA,6519,6519,6519,1987-11-07,651.6000000000796,651.58795,2015-01-01 01:48:39,bin6519,75, +CTSPillarNetworkA,6520,6520,6520,1987-11-08,651.7000000000796,651.6879,2015-01-01 01:48:40,bin6520,35, +CTSPillarNetworkA,6521,6521,6521,1987-11-09,651.8000000000796,651.7879,2015-01-01 01:48:41,bin6521,75, +CTSPillarNetworkA,6522,6522,6522,1987-11-10,651.9000000000797,651.8879,2015-01-01 01:48:42,bin6522,35, +CTSPillarNetworkA,6523,6523,6523,1987-11-11,652.0000000000797,651.98785,2015-01-01 01:48:43,bin6523,75, +CTSPillarNetworkA,6524,6524,6524,1987-11-12,652.1000000000797,652.0878,2015-01-01 01:48:44,bin6524,35, +CTSPillarNetworkA,6525,6525,6525,1987-11-13,652.2000000000797,652.1878,2015-01-01 01:48:45,bin6525,75, +CTSPillarNetworkA,6526,6526,6526,1987-11-14,652.3000000000798,652.2878,2015-01-01 01:48:46,bin6526,35, +CTSPillarNetworkA,6527,6527,6527,1987-11-15,652.4000000000798,652.38776,2015-01-01 01:48:47,bin6527,75, +CTSPillarNetworkA,6528,6528,6528,1987-11-16,652.5000000000798,652.48773,2015-01-01 01:48:48,bin6528,35, +CTSPillarNetworkA,6529,6529,6529,1987-11-17,652.6000000000798,652.5877,2015-01-01 01:48:49,bin6529,75, +CTSPillarNetworkA,6530,6530,6530,1987-11-18,652.7000000000799,652.6877,2015-01-01 01:48:50,bin6530,35, +CTSPillarNetworkA,6531,6531,6531,1987-11-19,652.8000000000799,652.78766,2015-01-01 01:48:51,bin6531,75, +CTSPillarNetworkA,6532,6532,6532,1987-11-20,652.9000000000799,652.88763,2015-01-01 01:48:52,bin6532,35, +CTSPillarNetworkA,6533,6533,6533,1987-11-21,653.0000000000799,652.9876,2015-01-01 01:48:53,bin6533,75, +CTSPillarNetworkA,6534,6534,6534,1987-11-22,653.10000000008,653.0876,2015-01-01 01:48:54,bin6534,35, +CTSPillarNetworkA,6535,6535,6535,1987-11-23,653.20000000008,653.18756,2015-01-01 01:48:55,bin6535,75, +CTSPillarNetworkA,6536,6536,6536,1987-11-24,653.30000000008,653.28754,2015-01-01 01:48:56,bin6536,35, +CTSPillarNetworkA,6537,6537,6537,1987-11-25,653.40000000008,653.3875,2015-01-01 01:48:57,bin6537,75, +CTSPillarNetworkA,6538,6538,6538,1987-11-26,653.50000000008,653.4875,2015-01-01 01:48:58,bin6538,35, +CTSPillarNetworkA,6539,6539,6539,1987-11-27,653.6000000000801,653.58746,2015-01-01 01:48:59,bin6539,75, +CTSPillarNetworkA,6540,6540,6540,1987-11-28,653.7000000000801,653.68744,2015-01-01 01:49:00,bin6540,35, +CTSPillarNetworkA,6541,6541,6541,1987-11-29,653.8000000000801,653.7874,2015-01-01 01:49:01,bin6541,75, +CTSPillarNetworkA,6542,6542,6542,1987-11-30,653.9000000000801,653.8874,2015-01-01 01:49:02,bin6542,35, +CTSPillarNetworkA,6543,6543,6543,1987-12-01,654.0000000000801,653.98737,2015-01-01 01:49:03,bin6543,75, +CTSPillarNetworkA,6544,6544,6544,1987-12-02,654.1000000000802,654.08734,2015-01-01 01:49:04,bin6544,35, +CTSPillarNetworkA,6545,6545,6545,1987-12-03,654.2000000000802,654.1873,2015-01-01 01:49:05,bin6545,75, +CTSPillarNetworkA,6546,6546,6546,1987-12-04,654.3000000000802,654.2873,2015-01-01 01:49:06,bin6546,35, +CTSPillarNetworkA,6547,6547,6547,1987-12-05,654.4000000000802,654.38727,2015-01-01 01:49:07,bin6547,75, +CTSPillarNetworkA,6548,6548,6548,1987-12-06,654.5000000000803,654.48724,2015-01-01 01:49:08,bin6548,35, +CTSPillarNetworkA,6549,6549,6549,1987-12-07,654.6000000000803,654.5872,2015-01-01 01:49:09,bin6549,75, +CTSPillarNetworkA,6550,6550,6550,1987-12-08,654.7000000000803,654.6872,2015-01-01 01:49:10,bin6550,35, +CTSPillarNetworkA,6551,6551,6551,1987-12-09,654.8000000000803,654.7872,2015-01-01 01:49:11,bin6551,75, +CTSPillarNetworkA,6552,6552,6552,1987-12-10,654.9000000000804,654.88715,2015-01-01 01:49:12,bin6552,35, +CTSPillarNetworkA,6553,6553,6553,1987-12-11,655.0000000000804,654.9871,2015-01-01 01:49:13,bin6553,75, +CTSPillarNetworkA,6554,6554,6554,1987-12-12,655.1000000000804,655.0871,2015-01-01 01:49:14,bin6554,35, +CTSPillarNetworkA,6555,6555,6555,1987-12-13,655.2000000000804,655.1871,2015-01-01 01:49:15,bin6555,75, +CTSPillarNetworkA,6556,6556,6556,1987-12-14,655.3000000000804,655.28705,2015-01-01 01:49:16,bin6556,35, +CTSPillarNetworkA,6557,6557,6557,1987-12-15,655.4000000000805,655.387,2015-01-01 01:49:17,bin6557,75, +CTSPillarNetworkA,6558,6558,6558,1987-12-16,655.5000000000805,655.487,2015-01-01 01:49:18,bin6558,35, +CTSPillarNetworkA,6559,6559,6559,1987-12-17,655.6000000000805,655.587,2015-01-01 01:49:19,bin6559,75, +CTSPillarNetworkA,6560,6560,6560,1987-12-18,655.7000000000805,655.68695,2015-01-01 01:49:20,bin6560,35, +CTSPillarNetworkA,6561,6561,6561,1987-12-19,655.8000000000806,655.7869,2015-01-01 01:49:21,bin6561,75, +CTSPillarNetworkA,6562,6562,6562,1987-12-20,655.9000000000806,655.8869,2015-01-01 01:49:22,bin6562,35, +CTSPillarNetworkA,6563,6563,6563,1987-12-21,656.0000000000806,655.9869,2015-01-01 01:49:23,bin6563,75, +CTSPillarNetworkA,6564,6564,6564,1987-12-22,656.1000000000806,656.08685,2015-01-01 01:49:24,bin6564,35, +CTSPillarNetworkA,6565,6565,6565,1987-12-23,656.2000000000806,656.1868,2015-01-01 01:49:25,bin6565,75, +CTSPillarNetworkA,6566,6566,6566,1987-12-24,656.3000000000807,656.2868,2015-01-01 01:49:26,bin6566,35, +CTSPillarNetworkA,6567,6567,6567,1987-12-25,656.4000000000807,656.3868,2015-01-01 01:49:27,bin6567,75, +CTSPillarNetworkA,6568,6568,6568,1987-12-26,656.5000000000807,656.48676,2015-01-01 01:49:28,bin6568,35, +CTSPillarNetworkA,6569,6569,6569,1987-12-27,656.6000000000807,656.58673,2015-01-01 01:49:29,bin6569,75, +CTSPillarNetworkA,6570,6570,6570,1987-12-28,656.7000000000808,656.6867,2015-01-01 01:49:30,bin6570,35, +CTSPillarNetworkA,6571,6571,6571,1987-12-29,656.8000000000808,656.7867,2015-01-01 01:49:31,bin6571,75, +CTSPillarNetworkA,6572,6572,6572,1987-12-30,656.9000000000808,656.88666,2015-01-01 01:49:32,bin6572,35, +CTSPillarNetworkA,6573,6573,6573,1987-12-31,657.0000000000808,656.98663,2015-01-01 01:49:33,bin6573,75, +CTSPillarNetworkA,6574,6574,6574,1988-01-01,657.1000000000809,657.0866,2015-01-01 01:49:34,bin6574,35, +CTSPillarNetworkA,6575,6575,6575,1988-01-02,657.2000000000809,657.1866,2015-01-01 01:49:35,bin6575,75, +CTSPillarNetworkA,6576,6576,6576,1988-01-03,657.3000000000809,657.28656,2015-01-01 01:49:36,bin6576,35, +CTSPillarNetworkA,6577,6577,6577,1988-01-04,657.4000000000809,657.38654,2015-01-01 01:49:37,bin6577,75, +CTSPillarNetworkA,6578,6578,6578,1988-01-05,657.500000000081,657.4865,2015-01-01 01:49:38,bin6578,35, +CTSPillarNetworkA,6579,6579,6579,1988-01-06,657.600000000081,657.5865,2015-01-01 01:49:39,bin6579,75, +CTSPillarNetworkA,6580,6580,6580,1988-01-07,657.700000000081,657.68646,2015-01-01 01:49:40,bin6580,35, +CTSPillarNetworkA,6581,6581,6581,1988-01-08,657.800000000081,657.78644,2015-01-01 01:49:41,bin6581,75, +CTSPillarNetworkA,6582,6582,6582,1988-01-09,657.900000000081,657.8864,2015-01-01 01:49:42,bin6582,35, +CTSPillarNetworkA,6583,6583,6583,1988-01-10,658.0000000000811,657.9864,2015-01-01 01:49:43,bin6583,75, +CTSPillarNetworkA,6584,6584,6584,1988-01-11,658.1000000000811,658.08636,2015-01-01 01:49:44,bin6584,35, +CTSPillarNetworkA,6585,6585,6585,1988-01-12,658.2000000000811,658.18634,2015-01-01 01:49:45,bin6585,75, +CTSPillarNetworkA,6586,6586,6586,1988-01-13,658.3000000000811,658.2863,2015-01-01 01:49:46,bin6586,35, +CTSPillarNetworkA,6587,6587,6587,1988-01-14,658.4000000000811,658.3863,2015-01-01 01:49:47,bin6587,75, +CTSPillarNetworkA,6588,6588,6588,1988-01-15,658.5000000000812,658.48627,2015-01-01 01:49:48,bin6588,35, +CTSPillarNetworkA,6589,6589,6589,1988-01-16,658.6000000000812,658.58624,2015-01-01 01:49:49,bin6589,75, +CTSPillarNetworkA,6590,6590,6590,1988-01-17,658.7000000000812,658.6862,2015-01-01 01:49:50,bin6590,35, +CTSPillarNetworkA,6591,6591,6591,1988-01-18,658.8000000000812,658.7862,2015-01-01 01:49:51,bin6591,75, +CTSPillarNetworkA,6592,6592,6592,1988-01-19,658.9000000000813,658.88617,2015-01-01 01:49:52,bin6592,35, +CTSPillarNetworkA,6593,6593,6593,1988-01-20,659.0000000000813,658.98615,2015-01-01 01:49:53,bin6593,75, +CTSPillarNetworkA,6594,6594,6594,1988-01-21,659.1000000000813,659.0861,2015-01-01 01:49:54,bin6594,35, +CTSPillarNetworkA,6595,6595,6595,1988-01-22,659.2000000000813,659.1861,2015-01-01 01:49:55,bin6595,75, +CTSPillarNetworkA,6596,6596,6596,1988-01-23,659.3000000000814,659.2861,2015-01-01 01:49:56,bin6596,35, +CTSPillarNetworkA,6597,6597,6597,1988-01-24,659.4000000000814,659.38605,2015-01-01 01:49:57,bin6597,75, +CTSPillarNetworkA,6598,6598,6598,1988-01-25,659.5000000000814,659.486,2015-01-01 01:49:58,bin6598,35, +CTSPillarNetworkA,6599,6599,6599,1988-01-26,659.6000000000814,659.586,2015-01-01 01:49:59,bin6599,75, +CTSPillarNetworkA,6600,6600,6600,1988-01-27,659.7000000000814,659.686,2015-01-01 01:50:00,bin6600,35, +CTSPillarNetworkA,6601,6601,6601,1988-01-28,659.8000000000815,659.78595,2015-01-01 01:50:01,bin6601,75, +CTSPillarNetworkA,6602,6602,6602,1988-01-29,659.9000000000815,659.8859,2015-01-01 01:50:02,bin6602,35, +CTSPillarNetworkA,6603,6603,6603,1988-01-30,660.0000000000815,659.9859,2015-01-01 01:50:03,bin6603,75, +CTSPillarNetworkA,6604,6604,6604,1988-01-31,660.1000000000815,660.0859,2015-01-01 01:50:04,bin6604,35, +CTSPillarNetworkA,6605,6605,6605,1988-02-01,660.2000000000816,660.18585,2015-01-01 01:50:05,bin6605,75, +CTSPillarNetworkA,6606,6606,6606,1988-02-02,660.3000000000816,660.2858,2015-01-01 01:50:06,bin6606,35, +CTSPillarNetworkA,6607,6607,6607,1988-02-03,660.4000000000816,660.3858,2015-01-01 01:50:07,bin6607,75, +CTSPillarNetworkA,6608,6608,6608,1988-02-04,660.5000000000816,660.4858,2015-01-01 01:50:08,bin6608,35, +CTSPillarNetworkA,6609,6609,6609,1988-02-05,660.6000000000816,660.58575,2015-01-01 01:50:09,bin6609,75, +CTSPillarNetworkA,6610,6610,6610,1988-02-06,660.7000000000817,660.6857,2015-01-01 01:50:10,bin6610,35, +CTSPillarNetworkA,6611,6611,6611,1988-02-07,660.8000000000817,660.7857,2015-01-01 01:50:11,bin6611,75, +CTSPillarNetworkA,6612,6612,6612,1988-02-08,660.9000000000817,660.8857,2015-01-01 01:50:12,bin6612,35, +CTSPillarNetworkA,6613,6613,6613,1988-02-09,661.0000000000817,660.98566,2015-01-01 01:50:13,bin6613,75, +CTSPillarNetworkA,6614,6614,6614,1988-02-10,661.1000000000818,661.08563,2015-01-01 01:50:14,bin6614,35, +CTSPillarNetworkA,6615,6615,6615,1988-02-11,661.2000000000818,661.1856,2015-01-01 01:50:15,bin6615,75, +CTSPillarNetworkA,6616,6616,6616,1988-02-12,661.3000000000818,661.2856,2015-01-01 01:50:16,bin6616,35, +CTSPillarNetworkA,6617,6617,6617,1988-02-13,661.4000000000818,661.38556,2015-01-01 01:50:17,bin6617,75, +CTSPillarNetworkA,6618,6618,6618,1988-02-14,661.5000000000819,661.48553,2015-01-01 01:50:18,bin6618,35, +CTSPillarNetworkA,6619,6619,6619,1988-02-15,661.6000000000819,661.5855,2015-01-01 01:50:19,bin6619,75, +CTSPillarNetworkA,6620,6620,6620,1988-02-16,661.7000000000819,661.6855,2015-01-01 01:50:20,bin6620,35, +CTSPillarNetworkA,6621,6621,6621,1988-02-17,661.8000000000819,661.78546,2015-01-01 01:50:21,bin6621,75, +CTSPillarNetworkA,6622,6622,6622,1988-02-18,661.900000000082,661.88544,2015-01-01 01:50:22,bin6622,35, +CTSPillarNetworkA,6623,6623,6623,1988-02-19,662.000000000082,661.9854,2015-01-01 01:50:23,bin6623,75, +CTSPillarNetworkA,6624,6624,6624,1988-02-20,662.100000000082,662.0854,2015-01-01 01:50:24,bin6624,35, +CTSPillarNetworkA,6625,6625,6625,1988-02-21,662.200000000082,662.18536,2015-01-01 01:50:25,bin6625,75, +CTSPillarNetworkA,6626,6626,6626,1988-02-22,662.300000000082,662.28534,2015-01-01 01:50:26,bin6626,35, +CTSPillarNetworkA,6627,6627,6627,1988-02-23,662.4000000000821,662.3853,2015-01-01 01:50:27,bin6627,75, +CTSPillarNetworkA,6628,6628,6628,1988-02-24,662.5000000000821,662.4853,2015-01-01 01:50:28,bin6628,35, +CTSPillarNetworkA,6629,6629,6629,1988-02-25,662.6000000000821,662.58527,2015-01-01 01:50:29,bin6629,75, +CTSPillarNetworkA,6630,6630,6630,1988-02-26,662.7000000000821,662.68524,2015-01-01 01:50:30,bin6630,35, +CTSPillarNetworkA,6631,6631,6631,1988-02-27,662.8000000000822,662.7852,2015-01-01 01:50:31,bin6631,75, +CTSPillarNetworkA,6632,6632,6632,1988-02-28,662.9000000000822,662.8852,2015-01-01 01:50:32,bin6632,35, +CTSPillarNetworkA,6633,6633,6633,1988-02-29,663.0000000000822,662.98517,2015-01-01 01:50:33,bin6633,75, +CTSPillarNetworkA,6634,6634,6634,1988-03-01,663.1000000000822,663.08514,2015-01-01 01:50:34,bin6634,35, +CTSPillarNetworkA,6635,6635,6635,1988-03-02,663.2000000000822,663.1851,2015-01-01 01:50:35,bin6635,75, +CTSPillarNetworkA,6636,6636,6636,1988-03-03,663.3000000000823,663.2851,2015-01-01 01:50:36,bin6636,35, +CTSPillarNetworkA,6637,6637,6637,1988-03-04,663.4000000000823,663.3851,2015-01-01 01:50:37,bin6637,75, +CTSPillarNetworkA,6638,6638,6638,1988-03-05,663.5000000000823,663.48505,2015-01-01 01:50:38,bin6638,35, +CTSPillarNetworkA,6639,6639,6639,1988-03-06,663.6000000000823,663.585,2015-01-01 01:50:39,bin6639,75, +CTSPillarNetworkA,6640,6640,6640,1988-03-07,663.7000000000824,663.685,2015-01-01 01:50:40,bin6640,35, +CTSPillarNetworkA,6641,6641,6641,1988-03-08,663.8000000000824,663.785,2015-01-01 01:50:41,bin6641,75, +CTSPillarNetworkA,6642,6642,6642,1988-03-09,663.9000000000824,663.88495,2015-01-01 01:50:42,bin6642,35, +CTSPillarNetworkA,6643,6643,6643,1988-03-10,664.0000000000824,663.9849,2015-01-01 01:50:43,bin6643,75, +CTSPillarNetworkA,6644,6644,6644,1988-03-11,664.1000000000824,664.0849,2015-01-01 01:50:44,bin6644,35, +CTSPillarNetworkA,6645,6645,6645,1988-03-12,664.2000000000825,664.1849,2015-01-01 01:50:45,bin6645,75, +CTSPillarNetworkA,6646,6646,6646,1988-03-13,664.3000000000825,664.28485,2015-01-01 01:50:46,bin6646,35, +CTSPillarNetworkA,6647,6647,6647,1988-03-14,664.4000000000825,664.3848,2015-01-01 01:50:47,bin6647,75, +CTSPillarNetworkA,6648,6648,6648,1988-03-15,664.5000000000825,664.4848,2015-01-01 01:50:48,bin6648,35, +CTSPillarNetworkA,6649,6649,6649,1988-03-16,664.6000000000826,664.5848,2015-01-01 01:50:49,bin6649,75, +CTSPillarNetworkA,6650,6650,6650,1988-03-17,664.7000000000826,664.68475,2015-01-01 01:50:50,bin6650,35, +CTSPillarNetworkA,6651,6651,6651,1988-03-18,664.8000000000826,664.7847,2015-01-01 01:50:51,bin6651,75, +CTSPillarNetworkA,6652,6652,6652,1988-03-19,664.9000000000826,664.8847,2015-01-01 01:50:52,bin6652,35, +CTSPillarNetworkA,6653,6653,6653,1988-03-20,665.0000000000827,664.9847,2015-01-01 01:50:53,bin6653,75, +CTSPillarNetworkA,6654,6654,6654,1988-03-21,665.1000000000827,665.08466,2015-01-01 01:50:54,bin6654,35, +CTSPillarNetworkA,6655,6655,6655,1988-03-22,665.2000000000827,665.18463,2015-01-01 01:50:55,bin6655,75, +CTSPillarNetworkA,6656,6656,6656,1988-03-23,665.3000000000827,665.2846,2015-01-01 01:50:56,bin6656,35, +CTSPillarNetworkA,6657,6657,6657,1988-03-24,665.4000000000827,665.3846,2015-01-01 01:50:57,bin6657,75, +CTSPillarNetworkA,6658,6658,6658,1988-03-25,665.5000000000828,665.48456,2015-01-01 01:50:58,bin6658,35, +CTSPillarNetworkA,6659,6659,6659,1988-03-26,665.6000000000828,665.58453,2015-01-01 01:50:59,bin6659,75, +CTSPillarNetworkA,6660,6660,6660,1988-03-27,665.7000000000828,665.6845,2015-01-01 01:51:00,bin6660,35, +CTSPillarNetworkA,6661,6661,6661,1988-03-28,665.8000000000828,665.7845,2015-01-01 01:51:01,bin6661,75, +CTSPillarNetworkA,6662,6662,6662,1988-03-29,665.9000000000829,665.88446,2015-01-01 01:51:02,bin6662,35, +CTSPillarNetworkA,6663,6663,6663,1988-03-30,666.0000000000829,665.98444,2015-01-01 01:51:03,bin6663,75, +CTSPillarNetworkA,6664,6664,6664,1988-03-31,666.1000000000829,666.0844,2015-01-01 01:51:04,bin6664,35, +CTSPillarNetworkA,6665,6665,6665,1988-04-01,666.2000000000829,666.1844,2015-01-01 01:51:05,bin6665,75, +CTSPillarNetworkA,6666,6666,6666,1988-04-02,666.300000000083,666.28436,2015-01-01 01:51:06,bin6666,35, +CTSPillarNetworkA,6667,6667,6667,1988-04-03,666.400000000083,666.38434,2015-01-01 01:51:07,bin6667,75, +CTSPillarNetworkA,6668,6668,6668,1988-04-04,666.500000000083,666.4843,2015-01-01 01:51:08,bin6668,35, +CTSPillarNetworkA,6669,6669,6669,1988-04-05,666.600000000083,666.5843,2015-01-01 01:51:09,bin6669,75, +CTSPillarNetworkA,6670,6670,6670,1988-04-06,666.700000000083,666.68427,2015-01-01 01:51:10,bin6670,35, +CTSPillarNetworkA,6671,6671,6671,1988-04-07,666.8000000000831,666.78424,2015-01-01 01:51:11,bin6671,75, +CTSPillarNetworkA,6672,6672,6672,1988-04-08,666.9000000000831,666.8842,2015-01-01 01:51:12,bin6672,35, +CTSPillarNetworkA,6673,6673,6673,1988-04-09,667.0000000000831,666.9842,2015-01-01 01:51:13,bin6673,75, +CTSPillarNetworkA,6674,6674,6674,1988-04-10,667.1000000000831,667.08417,2015-01-01 01:51:14,bin6674,35, +CTSPillarNetworkA,6675,6675,6675,1988-04-11,667.2000000000832,667.18414,2015-01-01 01:51:15,bin6675,75, +CTSPillarNetworkA,6676,6676,6676,1988-04-12,667.3000000000832,667.2841,2015-01-01 01:51:16,bin6676,35, +CTSPillarNetworkA,6677,6677,6677,1988-04-13,667.4000000000832,667.3841,2015-01-01 01:51:17,bin6677,75, +CTSPillarNetworkA,6678,6678,6678,1988-04-14,667.5000000000832,667.4841,2015-01-01 01:51:18,bin6678,35, +CTSPillarNetworkA,6679,6679,6679,1988-04-15,667.6000000000832,667.58405,2015-01-01 01:51:19,bin6679,75, +CTSPillarNetworkA,6680,6680,6680,1988-04-16,667.7000000000833,667.684,2015-01-01 01:51:20,bin6680,35, +CTSPillarNetworkA,6681,6681,6681,1988-04-17,667.8000000000833,667.784,2015-01-01 01:51:21,bin6681,75, +CTSPillarNetworkA,6682,6682,6682,1988-04-18,667.9000000000833,667.884,2015-01-01 01:51:22,bin6682,35, +CTSPillarNetworkA,6683,6683,6683,1988-04-19,668.0000000000833,667.98395,2015-01-01 01:51:23,bin6683,75, +CTSPillarNetworkA,6684,6684,6684,1988-04-20,668.1000000000834,668.0839,2015-01-01 01:51:24,bin6684,35, +CTSPillarNetworkA,6685,6685,6685,1988-04-21,668.2000000000834,668.1839,2015-01-01 01:51:25,bin6685,75, +CTSPillarNetworkA,6686,6686,6686,1988-04-22,668.3000000000834,668.2839,2015-01-01 01:51:26,bin6686,35, +CTSPillarNetworkA,6687,6687,6687,1988-04-23,668.4000000000834,668.38385,2015-01-01 01:51:27,bin6687,75, +CTSPillarNetworkA,6688,6688,6688,1988-04-24,668.5000000000834,668.4838,2015-01-01 01:51:28,bin6688,35, +CTSPillarNetworkA,6689,6689,6689,1988-04-25,668.6000000000835,668.5838,2015-01-01 01:51:29,bin6689,75, +CTSPillarNetworkA,6690,6690,6690,1988-04-26,668.7000000000835,668.6838,2015-01-01 01:51:30,bin6690,35, +CTSPillarNetworkA,6691,6691,6691,1988-04-27,668.8000000000835,668.78375,2015-01-01 01:51:31,bin6691,75, +CTSPillarNetworkA,6692,6692,6692,1988-04-28,668.9000000000835,668.8837,2015-01-01 01:51:32,bin6692,35, +CTSPillarNetworkA,6693,6693,6693,1988-04-29,669.0000000000836,668.9837,2015-01-01 01:51:33,bin6693,75, +CTSPillarNetworkA,6694,6694,6694,1988-04-30,669.1000000000836,669.0837,2015-01-01 01:51:34,bin6694,35, +CTSPillarNetworkA,6695,6695,6695,1988-05-01,669.2000000000836,669.18365,2015-01-01 01:51:35,bin6695,75, +CTSPillarNetworkA,6696,6696,6696,1988-05-02,669.3000000000836,669.2836,2015-01-01 01:51:36,bin6696,35, +CTSPillarNetworkA,6697,6697,6697,1988-05-03,669.4000000000837,669.3836,2015-01-01 01:51:37,bin6697,75, +CTSPillarNetworkA,6698,6698,6698,1988-05-04,669.5000000000837,669.4836,2015-01-01 01:51:38,bin6698,35, +CTSPillarNetworkA,6699,6699,6699,1988-05-05,669.6000000000837,669.58356,2015-01-01 01:51:39,bin6699,75, +CTSPillarNetworkA,6700,6700,6700,1988-05-06,669.7000000000837,669.68353,2015-01-01 01:51:40,bin6700,35, +CTSPillarNetworkA,6701,6701,6701,1988-05-07,669.8000000000837,669.7835,2015-01-01 01:51:41,bin6701,75, +CTSPillarNetworkA,6702,6702,6702,1988-05-08,669.9000000000838,669.8835,2015-01-01 01:51:42,bin6702,35, +CTSPillarNetworkA,6703,6703,6703,1988-05-09,670.0000000000838,669.98346,2015-01-01 01:51:43,bin6703,75, +CTSPillarNetworkA,6704,6704,6704,1988-05-10,670.1000000000838,670.08344,2015-01-01 01:51:44,bin6704,35, +CTSPillarNetworkA,6705,6705,6705,1988-05-11,670.2000000000838,670.1834,2015-01-01 01:51:45,bin6705,75, +CTSPillarNetworkA,6706,6706,6706,1988-05-12,670.3000000000839,670.2834,2015-01-01 01:51:46,bin6706,35, +CTSPillarNetworkA,6707,6707,6707,1988-05-13,670.4000000000839,670.38336,2015-01-01 01:51:47,bin6707,75, +CTSPillarNetworkA,6708,6708,6708,1988-05-14,670.5000000000839,670.48334,2015-01-01 01:51:48,bin6708,35, +CTSPillarNetworkA,6709,6709,6709,1988-05-15,670.6000000000839,670.5833,2015-01-01 01:51:49,bin6709,75, +CTSPillarNetworkA,6710,6710,6710,1988-05-16,670.700000000084,670.6833,2015-01-01 01:51:50,bin6710,35, +CTSPillarNetworkA,6711,6711,6711,1988-05-17,670.800000000084,670.78326,2015-01-01 01:51:51,bin6711,75, +CTSPillarNetworkA,6712,6712,6712,1988-05-18,670.900000000084,670.88324,2015-01-01 01:51:52,bin6712,35, +CTSPillarNetworkA,6713,6713,6713,1988-05-19,671.000000000084,670.9832,2015-01-01 01:51:53,bin6713,75, +CTSPillarNetworkA,6714,6714,6714,1988-05-20,671.100000000084,671.0832,2015-01-01 01:51:54,bin6714,35, +CTSPillarNetworkA,6715,6715,6715,1988-05-21,671.2000000000841,671.18317,2015-01-01 01:51:55,bin6715,75, +CTSPillarNetworkA,6716,6716,6716,1988-05-22,671.3000000000841,671.28314,2015-01-01 01:51:56,bin6716,35, +CTSPillarNetworkA,6717,6717,6717,1988-05-23,671.4000000000841,671.3831,2015-01-01 01:51:57,bin6717,75, +CTSPillarNetworkA,6718,6718,6718,1988-05-24,671.5000000000841,671.4831,2015-01-01 01:51:58,bin6718,35, +CTSPillarNetworkA,6719,6719,6719,1988-05-25,671.6000000000842,671.58307,2015-01-01 01:51:59,bin6719,75, +CTSPillarNetworkA,6720,6720,6720,1988-05-26,671.7000000000842,671.68304,2015-01-01 01:52:00,bin6720,35, +CTSPillarNetworkA,6721,6721,6721,1988-05-27,671.8000000000842,671.783,2015-01-01 01:52:01,bin6721,75, +CTSPillarNetworkA,6722,6722,6722,1988-05-28,671.9000000000842,671.883,2015-01-01 01:52:02,bin6722,35, +CTSPillarNetworkA,6723,6723,6723,1988-05-29,672.0000000000842,671.983,2015-01-01 01:52:03,bin6723,75, +CTSPillarNetworkA,6724,6724,6724,1988-05-30,672.1000000000843,672.08295,2015-01-01 01:52:04,bin6724,35, +CTSPillarNetworkA,6725,6725,6725,1988-05-31,672.2000000000843,672.1829,2015-01-01 01:52:05,bin6725,75, +CTSPillarNetworkA,6726,6726,6726,1988-06-01,672.3000000000843,672.2829,2015-01-01 01:52:06,bin6726,35, +CTSPillarNetworkA,6727,6727,6727,1988-06-02,672.4000000000843,672.3829,2015-01-01 01:52:07,bin6727,75, +CTSPillarNetworkA,6728,6728,6728,1988-06-03,672.5000000000844,672.48285,2015-01-01 01:52:08,bin6728,35, +CTSPillarNetworkA,6729,6729,6729,1988-06-04,672.6000000000844,672.5828,2015-01-01 01:52:09,bin6729,75, +CTSPillarNetworkA,6730,6730,6730,1988-06-05,672.7000000000844,672.6828,2015-01-01 01:52:10,bin6730,35, +CTSPillarNetworkA,6731,6731,6731,1988-06-06,672.8000000000844,672.7828,2015-01-01 01:52:11,bin6731,75, +CTSPillarNetworkA,6732,6732,6732,1988-06-07,672.9000000000844,672.88275,2015-01-01 01:52:12,bin6732,35, +CTSPillarNetworkA,6733,6733,6733,1988-06-08,673.0000000000845,672.9827,2015-01-01 01:52:13,bin6733,75, +CTSPillarNetworkA,6734,6734,6734,1988-06-09,673.1000000000845,673.0827,2015-01-01 01:52:14,bin6734,35, +CTSPillarNetworkA,6735,6735,6735,1988-06-10,673.2000000000845,673.1827,2015-01-01 01:52:15,bin6735,75, +CTSPillarNetworkA,6736,6736,6736,1988-06-11,673.3000000000845,673.28265,2015-01-01 01:52:16,bin6736,35, +CTSPillarNetworkA,6737,6737,6737,1988-06-12,673.4000000000846,673.3826,2015-01-01 01:52:17,bin6737,75, +CTSPillarNetworkA,6738,6738,6738,1988-06-13,673.5000000000846,673.4826,2015-01-01 01:52:18,bin6738,35, +CTSPillarNetworkA,6739,6739,6739,1988-06-14,673.6000000000846,673.5826,2015-01-01 01:52:19,bin6739,75, +CTSPillarNetworkA,6740,6740,6740,1988-06-15,673.7000000000846,673.68256,2015-01-01 01:52:20,bin6740,35, +CTSPillarNetworkA,6741,6741,6741,1988-06-16,673.8000000000847,673.78253,2015-01-01 01:52:21,bin6741,75, +CTSPillarNetworkA,6742,6742,6742,1988-06-17,673.9000000000847,673.8825,2015-01-01 01:52:22,bin6742,35, +CTSPillarNetworkA,6743,6743,6743,1988-06-18,674.0000000000847,673.9825,2015-01-01 01:52:23,bin6743,75, +CTSPillarNetworkA,6744,6744,6744,1988-06-19,674.1000000000847,674.08246,2015-01-01 01:52:24,bin6744,35, +CTSPillarNetworkA,6745,6745,6745,1988-06-20,674.2000000000847,674.18243,2015-01-01 01:52:25,bin6745,75, +CTSPillarNetworkA,6746,6746,6746,1988-06-21,674.3000000000848,674.2824,2015-01-01 01:52:26,bin6746,35, +CTSPillarNetworkA,6747,6747,6747,1988-06-22,674.4000000000848,674.3824,2015-01-01 01:52:27,bin6747,75, +CTSPillarNetworkA,6748,6748,6748,1988-06-23,674.5000000000848,674.48236,2015-01-01 01:52:28,bin6748,35, +CTSPillarNetworkA,6749,6749,6749,1988-06-24,674.6000000000848,674.58234,2015-01-01 01:52:29,bin6749,75, +CTSPillarNetworkA,6750,6750,6750,1988-06-25,674.7000000000849,674.6823,2015-01-01 01:52:30,bin6750,35, +CTSPillarNetworkA,6751,6751,6751,1988-06-26,674.8000000000849,674.7823,2015-01-01 01:52:31,bin6751,75, +CTSPillarNetworkA,6752,6752,6752,1988-06-27,674.9000000000849,674.88226,2015-01-01 01:52:32,bin6752,35, +CTSPillarNetworkA,6753,6753,6753,1988-06-28,675.0000000000849,674.98224,2015-01-01 01:52:33,bin6753,75, +CTSPillarNetworkA,6754,6754,6754,1988-06-29,675.100000000085,675.0822,2015-01-01 01:52:34,bin6754,35, +CTSPillarNetworkA,6755,6755,6755,1988-06-30,675.200000000085,675.1822,2015-01-01 01:52:35,bin6755,75, +CTSPillarNetworkA,6756,6756,6756,1988-07-01,675.300000000085,675.28217,2015-01-01 01:52:36,bin6756,35, +CTSPillarNetworkA,6757,6757,6757,1988-07-02,675.400000000085,675.38214,2015-01-01 01:52:37,bin6757,75, +CTSPillarNetworkA,6758,6758,6758,1988-07-03,675.500000000085,675.4821,2015-01-01 01:52:38,bin6758,35, +CTSPillarNetworkA,6759,6759,6759,1988-07-04,675.6000000000851,675.5821,2015-01-01 01:52:39,bin6759,75, +CTSPillarNetworkA,6760,6760,6760,1988-07-05,675.7000000000851,675.68207,2015-01-01 01:52:40,bin6760,35, +CTSPillarNetworkA,6761,6761,6761,1988-07-06,675.8000000000851,675.78204,2015-01-01 01:52:41,bin6761,75, +CTSPillarNetworkA,6762,6762,6762,1988-07-07,675.9000000000851,675.882,2015-01-01 01:52:42,bin6762,35, +CTSPillarNetworkA,6763,6763,6763,1988-07-08,676.0000000000852,675.982,2015-01-01 01:52:43,bin6763,75, +CTSPillarNetworkA,6764,6764,6764,1988-07-09,676.1000000000852,676.082,2015-01-01 01:52:44,bin6764,35, +CTSPillarNetworkA,6765,6765,6765,1988-07-10,676.2000000000852,676.18195,2015-01-01 01:52:45,bin6765,75, +CTSPillarNetworkA,6766,6766,6766,1988-07-11,676.3000000000852,676.2819,2015-01-01 01:52:46,bin6766,35, +CTSPillarNetworkA,6767,6767,6767,1988-07-12,676.4000000000852,676.3819,2015-01-01 01:52:47,bin6767,75, +CTSPillarNetworkA,6768,6768,6768,1988-07-13,676.5000000000853,676.4819,2015-01-01 01:52:48,bin6768,35, +CTSPillarNetworkA,6769,6769,6769,1988-07-14,676.6000000000853,676.58185,2015-01-01 01:52:49,bin6769,75, +CTSPillarNetworkA,6770,6770,6770,1988-07-15,676.7000000000853,676.6818,2015-01-01 01:52:50,bin6770,35, +CTSPillarNetworkA,6771,6771,6771,1988-07-16,676.8000000000853,676.7818,2015-01-01 01:52:51,bin6771,75, +CTSPillarNetworkA,6772,6772,6772,1988-07-17,676.9000000000854,676.8818,2015-01-01 01:52:52,bin6772,35, +CTSPillarNetworkA,6773,6773,6773,1988-07-18,677.0000000000854,676.98175,2015-01-01 01:52:53,bin6773,75, +CTSPillarNetworkA,6774,6774,6774,1988-07-19,677.1000000000854,677.0817,2015-01-01 01:52:54,bin6774,35, +CTSPillarNetworkA,6775,6775,6775,1988-07-20,677.2000000000854,677.1817,2015-01-01 01:52:55,bin6775,75, +CTSPillarNetworkA,6776,6776,6776,1988-07-21,677.3000000000854,677.2817,2015-01-01 01:52:56,bin6776,35, +CTSPillarNetworkA,6777,6777,6777,1988-07-22,677.4000000000855,677.38165,2015-01-01 01:52:57,bin6777,75, +CTSPillarNetworkA,6778,6778,6778,1988-07-23,677.5000000000855,677.4816,2015-01-01 01:52:58,bin6778,35, +CTSPillarNetworkA,6779,6779,6779,1988-07-24,677.6000000000855,677.5816,2015-01-01 01:52:59,bin6779,75, +CTSPillarNetworkA,6780,6780,6780,1988-07-25,677.7000000000855,677.6816,2015-01-01 01:53:00,bin6780,35, +CTSPillarNetworkA,6781,6781,6781,1988-07-26,677.8000000000856,677.78156,2015-01-01 01:53:01,bin6781,75, +CTSPillarNetworkA,6782,6782,6782,1988-07-27,677.9000000000856,677.88153,2015-01-01 01:53:02,bin6782,35, +CTSPillarNetworkA,6783,6783,6783,1988-07-28,678.0000000000856,677.9815,2015-01-01 01:53:03,bin6783,75, +CTSPillarNetworkA,6784,6784,6784,1988-07-29,678.1000000000856,678.0815,2015-01-01 01:53:04,bin6784,35, +CTSPillarNetworkA,6785,6785,6785,1988-07-30,678.2000000000857,678.18146,2015-01-01 01:53:05,bin6785,75, +CTSPillarNetworkA,6786,6786,6786,1988-07-31,678.3000000000857,678.28143,2015-01-01 01:53:06,bin6786,35, +CTSPillarNetworkA,6787,6787,6787,1988-08-01,678.4000000000857,678.3814,2015-01-01 01:53:07,bin6787,75, +CTSPillarNetworkA,6788,6788,6788,1988-08-02,678.5000000000857,678.4814,2015-01-01 01:53:08,bin6788,35, +CTSPillarNetworkA,6789,6789,6789,1988-08-03,678.6000000000857,678.58136,2015-01-01 01:53:09,bin6789,75, +CTSPillarNetworkA,6790,6790,6790,1988-08-04,678.7000000000858,678.68134,2015-01-01 01:53:10,bin6790,35, +CTSPillarNetworkA,6791,6791,6791,1988-08-05,678.8000000000858,678.7813,2015-01-01 01:53:11,bin6791,75, +CTSPillarNetworkA,6792,6792,6792,1988-08-06,678.9000000000858,678.8813,2015-01-01 01:53:12,bin6792,35, +CTSPillarNetworkA,6793,6793,6793,1988-08-07,679.0000000000858,678.98126,2015-01-01 01:53:13,bin6793,75, +CTSPillarNetworkA,6794,6794,6794,1988-08-08,679.1000000000859,679.08124,2015-01-01 01:53:14,bin6794,35, +CTSPillarNetworkA,6795,6795,6795,1988-08-09,679.2000000000859,679.1812,2015-01-01 01:53:15,bin6795,75, +CTSPillarNetworkA,6796,6796,6796,1988-08-10,679.3000000000859,679.2812,2015-01-01 01:53:16,bin6796,35, +CTSPillarNetworkA,6797,6797,6797,1988-08-11,679.4000000000859,679.38116,2015-01-01 01:53:17,bin6797,75, +CTSPillarNetworkA,6798,6798,6798,1988-08-12,679.500000000086,679.48114,2015-01-01 01:53:18,bin6798,35, +CTSPillarNetworkA,6799,6799,6799,1988-08-13,679.600000000086,679.5811,2015-01-01 01:53:19,bin6799,75, +CTSPillarNetworkA,6800,6800,6800,1988-08-14,679.700000000086,679.6811,2015-01-01 01:53:20,bin6800,35, +CTSPillarNetworkA,6801,6801,6801,1988-08-15,679.800000000086,679.78107,2015-01-01 01:53:21,bin6801,75, +CTSPillarNetworkA,6802,6802,6802,1988-08-16,679.900000000086,679.88104,2015-01-01 01:53:22,bin6802,35, +CTSPillarNetworkA,6803,6803,6803,1988-08-17,680.0000000000861,679.981,2015-01-01 01:53:23,bin6803,75, +CTSPillarNetworkA,6804,6804,6804,1988-08-18,680.1000000000861,680.081,2015-01-01 01:53:24,bin6804,35, +CTSPillarNetworkA,6805,6805,6805,1988-08-19,680.2000000000861,680.18097,2015-01-01 01:53:25,bin6805,75, +CTSPillarNetworkA,6806,6806,6806,1988-08-20,680.3000000000861,680.28094,2015-01-01 01:53:26,bin6806,35, +CTSPillarNetworkA,6807,6807,6807,1988-08-21,680.4000000000862,680.3809,2015-01-01 01:53:27,bin6807,75, +CTSPillarNetworkA,6808,6808,6808,1988-08-22,680.5000000000862,680.4809,2015-01-01 01:53:28,bin6808,35, +CTSPillarNetworkA,6809,6809,6809,1988-08-23,680.6000000000862,680.5809,2015-01-01 01:53:29,bin6809,75, +CTSPillarNetworkA,6810,6810,6810,1988-08-24,680.7000000000862,680.68085,2015-01-01 01:53:30,bin6810,35, +CTSPillarNetworkA,6811,6811,6811,1988-08-25,680.8000000000862,680.7808,2015-01-01 01:53:31,bin6811,75, +CTSPillarNetworkA,6812,6812,6812,1988-08-26,680.9000000000863,680.8808,2015-01-01 01:53:32,bin6812,35, +CTSPillarNetworkA,6813,6813,6813,1988-08-27,681.0000000000863,680.9808,2015-01-01 01:53:33,bin6813,75, +CTSPillarNetworkA,6814,6814,6814,1988-08-28,681.1000000000863,681.08075,2015-01-01 01:53:34,bin6814,35, +CTSPillarNetworkA,6815,6815,6815,1988-08-29,681.2000000000863,681.1807,2015-01-01 01:53:35,bin6815,75, +CTSPillarNetworkA,6816,6816,6816,1988-08-30,681.3000000000864,681.2807,2015-01-01 01:53:36,bin6816,35, +CTSPillarNetworkA,6817,6817,6817,1988-08-31,681.4000000000864,681.3807,2015-01-01 01:53:37,bin6817,75, +CTSPillarNetworkA,6818,6818,6818,1988-09-01,681.5000000000864,681.48065,2015-01-01 01:53:38,bin6818,35, +CTSPillarNetworkA,6819,6819,6819,1988-09-02,681.6000000000864,681.5806,2015-01-01 01:53:39,bin6819,75, +CTSPillarNetworkA,6820,6820,6820,1988-09-03,681.7000000000864,681.6806,2015-01-01 01:53:40,bin6820,35, +CTSPillarNetworkA,6821,6821,6821,1988-09-04,681.8000000000865,681.7806,2015-01-01 01:53:41,bin6821,75, +CTSPillarNetworkA,6822,6822,6822,1988-09-05,681.9000000000865,681.88055,2015-01-01 01:53:42,bin6822,35, +CTSPillarNetworkA,6823,6823,6823,1988-09-06,682.0000000000865,681.9805,2015-01-01 01:53:43,bin6823,75, +CTSPillarNetworkA,6824,6824,6824,1988-09-07,682.1000000000865,682.0805,2015-01-01 01:53:44,bin6824,35, +CTSPillarNetworkA,6825,6825,6825,1988-09-08,682.2000000000866,682.1805,2015-01-01 01:53:45,bin6825,75, +CTSPillarNetworkA,6826,6826,6826,1988-09-09,682.3000000000866,682.28046,2015-01-01 01:53:46,bin6826,35, +CTSPillarNetworkA,6827,6827,6827,1988-09-10,682.4000000000866,682.38043,2015-01-01 01:53:47,bin6827,75, +CTSPillarNetworkA,6828,6828,6828,1988-09-11,682.5000000000866,682.4804,2015-01-01 01:53:48,bin6828,35, +CTSPillarNetworkA,6829,6829,6829,1988-09-12,682.6000000000867,682.5804,2015-01-01 01:53:49,bin6829,75, +CTSPillarNetworkA,6830,6830,6830,1988-09-13,682.7000000000867,682.68036,2015-01-01 01:53:50,bin6830,35, +CTSPillarNetworkA,6831,6831,6831,1988-09-14,682.8000000000867,682.78033,2015-01-01 01:53:51,bin6831,75, +CTSPillarNetworkA,6832,6832,6832,1988-09-15,682.9000000000867,682.8803,2015-01-01 01:53:52,bin6832,35, +CTSPillarNetworkA,6833,6833,6833,1988-09-16,683.0000000000867,682.9803,2015-01-01 01:53:53,bin6833,75, +CTSPillarNetworkA,6834,6834,6834,1988-09-17,683.1000000000868,683.08026,2015-01-01 01:53:54,bin6834,35, +CTSPillarNetworkA,6835,6835,6835,1988-09-18,683.2000000000868,683.18024,2015-01-01 01:53:55,bin6835,75, +CTSPillarNetworkA,6836,6836,6836,1988-09-19,683.3000000000868,683.2802,2015-01-01 01:53:56,bin6836,35, +CTSPillarNetworkA,6837,6837,6837,1988-09-20,683.4000000000868,683.3802,2015-01-01 01:53:57,bin6837,75, +CTSPillarNetworkA,6838,6838,6838,1988-09-21,683.5000000000869,683.48016,2015-01-01 01:53:58,bin6838,35, +CTSPillarNetworkA,6839,6839,6839,1988-09-22,683.6000000000869,683.58014,2015-01-01 01:53:59,bin6839,75, +CTSPillarNetworkA,6840,6840,6840,1988-09-23,683.7000000000869,683.6801,2015-01-01 01:54:00,bin6840,35, +CTSPillarNetworkA,6841,6841,6841,1988-09-24,683.8000000000869,683.7801,2015-01-01 01:54:01,bin6841,75, +CTSPillarNetworkA,6842,6842,6842,1988-09-25,683.900000000087,683.88007,2015-01-01 01:54:02,bin6842,35, +CTSPillarNetworkA,6843,6843,6843,1988-09-26,684.000000000087,683.98004,2015-01-01 01:54:03,bin6843,75, +CTSPillarNetworkA,6844,6844,6844,1988-09-27,684.100000000087,684.08,2015-01-01 01:54:04,bin6844,35, +CTSPillarNetworkA,6845,6845,6845,1988-09-28,684.200000000087,684.18,2015-01-01 01:54:05,bin6845,75, +CTSPillarNetworkA,6846,6846,6846,1988-09-29,684.300000000087,684.27997,2015-01-01 01:54:06,bin6846,35, +CTSPillarNetworkA,6847,6847,6847,1988-09-30,684.4000000000871,684.37994,2015-01-01 01:54:07,bin6847,75, +CTSPillarNetworkA,6848,6848,6848,1988-10-01,684.5000000000871,684.4799,2015-01-01 01:54:08,bin6848,35, +CTSPillarNetworkA,6849,6849,6849,1988-10-02,684.6000000000871,684.5799,2015-01-01 01:54:09,bin6849,75, +CTSPillarNetworkA,6850,6850,6850,1988-10-03,684.7000000000871,684.6799,2015-01-01 01:54:10,bin6850,35, +CTSPillarNetworkA,6851,6851,6851,1988-10-04,684.8000000000872,684.77985,2015-01-01 01:54:11,bin6851,75, +CTSPillarNetworkA,6852,6852,6852,1988-10-05,684.9000000000872,684.8798,2015-01-01 01:54:12,bin6852,35, +CTSPillarNetworkA,6853,6853,6853,1988-10-06,685.0000000000872,684.9798,2015-01-01 01:54:13,bin6853,75, +CTSPillarNetworkA,6854,6854,6854,1988-10-07,685.1000000000872,685.0798,2015-01-01 01:54:14,bin6854,35, +CTSPillarNetworkA,6855,6855,6855,1988-10-08,685.2000000000872,685.17975,2015-01-01 01:54:15,bin6855,75, +CTSPillarNetworkA,6856,6856,6856,1988-10-09,685.3000000000873,685.2797,2015-01-01 01:54:16,bin6856,35, +CTSPillarNetworkA,6857,6857,6857,1988-10-10,685.4000000000873,685.3797,2015-01-01 01:54:17,bin6857,75, +CTSPillarNetworkA,6858,6858,6858,1988-10-11,685.5000000000873,685.4797,2015-01-01 01:54:18,bin6858,35, +CTSPillarNetworkA,6859,6859,6859,1988-10-12,685.6000000000873,685.57965,2015-01-01 01:54:19,bin6859,75, +CTSPillarNetworkA,6860,6860,6860,1988-10-13,685.7000000000874,685.6796,2015-01-01 01:54:20,bin6860,35, +CTSPillarNetworkA,6861,6861,6861,1988-10-14,685.8000000000874,685.7796,2015-01-01 01:54:21,bin6861,75, +CTSPillarNetworkA,6862,6862,6862,1988-10-15,685.9000000000874,685.8796,2015-01-01 01:54:22,bin6862,35, +CTSPillarNetworkA,6863,6863,6863,1988-10-16,686.0000000000874,685.97955,2015-01-01 01:54:23,bin6863,75, +CTSPillarNetworkA,6864,6864,6864,1988-10-17,686.1000000000874,686.0795,2015-01-01 01:54:24,bin6864,35, +CTSPillarNetworkA,6865,6865,6865,1988-10-18,686.2000000000875,686.1795,2015-01-01 01:54:25,bin6865,75, +CTSPillarNetworkA,6866,6866,6866,1988-10-19,686.3000000000875,686.2795,2015-01-01 01:54:26,bin6866,35, +CTSPillarNetworkA,6867,6867,6867,1988-10-20,686.4000000000875,686.37946,2015-01-01 01:54:27,bin6867,75, +CTSPillarNetworkA,6868,6868,6868,1988-10-21,686.5000000000875,686.47943,2015-01-01 01:54:28,bin6868,35, +CTSPillarNetworkA,6869,6869,6869,1988-10-22,686.6000000000876,686.5794,2015-01-01 01:54:29,bin6869,75, +CTSPillarNetworkA,6870,6870,6870,1988-10-23,686.7000000000876,686.6794,2015-01-01 01:54:30,bin6870,35, +CTSPillarNetworkA,6871,6871,6871,1988-10-24,686.8000000000876,686.77936,2015-01-01 01:54:31,bin6871,75, +CTSPillarNetworkA,6872,6872,6872,1988-10-25,686.9000000000876,686.87933,2015-01-01 01:54:32,bin6872,35, +CTSPillarNetworkA,6873,6873,6873,1988-10-26,687.0000000000877,686.9793,2015-01-01 01:54:33,bin6873,75, +CTSPillarNetworkA,6874,6874,6874,1988-10-27,687.1000000000877,687.0793,2015-01-01 01:54:34,bin6874,35, +CTSPillarNetworkA,6875,6875,6875,1988-10-28,687.2000000000877,687.17926,2015-01-01 01:54:35,bin6875,75, +CTSPillarNetworkA,6876,6876,6876,1988-10-29,687.3000000000877,687.27924,2015-01-01 01:54:36,bin6876,35, +CTSPillarNetworkA,6877,6877,6877,1988-10-30,687.4000000000877,687.3792,2015-01-01 01:54:37,bin6877,75, +CTSPillarNetworkA,6878,6878,6878,1988-10-31,687.5000000000878,687.4792,2015-01-01 01:54:38,bin6878,35, +CTSPillarNetworkA,6879,6879,6879,1988-11-01,687.6000000000878,687.57916,2015-01-01 01:54:39,bin6879,75, +CTSPillarNetworkA,6880,6880,6880,1988-11-02,687.7000000000878,687.67914,2015-01-01 01:54:40,bin6880,35, +CTSPillarNetworkA,6881,6881,6881,1988-11-03,687.8000000000878,687.7791,2015-01-01 01:54:41,bin6881,75, +CTSPillarNetworkA,6882,6882,6882,1988-11-04,687.9000000000879,687.8791,2015-01-01 01:54:42,bin6882,35, +CTSPillarNetworkA,6883,6883,6883,1988-11-05,688.0000000000879,687.97906,2015-01-01 01:54:43,bin6883,75, +CTSPillarNetworkA,6884,6884,6884,1988-11-06,688.1000000000879,688.07904,2015-01-01 01:54:44,bin6884,35, +CTSPillarNetworkA,6885,6885,6885,1988-11-07,688.2000000000879,688.179,2015-01-01 01:54:45,bin6885,75, +CTSPillarNetworkA,6886,6886,6886,1988-11-08,688.300000000088,688.279,2015-01-01 01:54:46,bin6886,35, +CTSPillarNetworkA,6887,6887,6887,1988-11-09,688.400000000088,688.37897,2015-01-01 01:54:47,bin6887,75, +CTSPillarNetworkA,6888,6888,6888,1988-11-10,688.500000000088,688.47894,2015-01-01 01:54:48,bin6888,35, +CTSPillarNetworkA,6889,6889,6889,1988-11-11,688.600000000088,688.5789,2015-01-01 01:54:49,bin6889,75, +CTSPillarNetworkA,6890,6890,6890,1988-11-12,688.700000000088,688.6789,2015-01-01 01:54:50,bin6890,35, +CTSPillarNetworkA,6891,6891,6891,1988-11-13,688.8000000000881,688.7789,2015-01-01 01:54:51,bin6891,75, +CTSPillarNetworkA,6892,6892,6892,1988-11-14,688.9000000000881,688.87885,2015-01-01 01:54:52,bin6892,35, +CTSPillarNetworkA,6893,6893,6893,1988-11-15,689.0000000000881,688.9788,2015-01-01 01:54:53,bin6893,75, +CTSPillarNetworkA,6894,6894,6894,1988-11-16,689.1000000000881,689.0788,2015-01-01 01:54:54,bin6894,35, +CTSPillarNetworkA,6895,6895,6895,1988-11-17,689.2000000000882,689.1788,2015-01-01 01:54:55,bin6895,75, +CTSPillarNetworkA,6896,6896,6896,1988-11-18,689.3000000000882,689.27875,2015-01-01 01:54:56,bin6896,35, +CTSPillarNetworkA,6897,6897,6897,1988-11-19,689.4000000000882,689.3787,2015-01-01 01:54:57,bin6897,75, +CTSPillarNetworkA,6898,6898,6898,1988-11-20,689.5000000000882,689.4787,2015-01-01 01:54:58,bin6898,35, +CTSPillarNetworkA,6899,6899,6899,1988-11-21,689.6000000000882,689.5787,2015-01-01 01:54:59,bin6899,75, +CTSPillarNetworkA,6900,6900,6900,1988-11-22,689.7000000000883,689.67865,2015-01-01 01:55:00,bin6900,35, +CTSPillarNetworkA,6901,6901,6901,1988-11-23,689.8000000000883,689.7786,2015-01-01 01:55:01,bin6901,75, +CTSPillarNetworkA,6902,6902,6902,1988-11-24,689.9000000000883,689.8786,2015-01-01 01:55:02,bin6902,35, +CTSPillarNetworkA,6903,6903,6903,1988-11-25,690.0000000000883,689.9786,2015-01-01 01:55:03,bin6903,75, +CTSPillarNetworkA,6904,6904,6904,1988-11-26,690.1000000000884,690.07855,2015-01-01 01:55:04,bin6904,35, +CTSPillarNetworkA,6905,6905,6905,1988-11-27,690.2000000000884,690.1785,2015-01-01 01:55:05,bin6905,75, +CTSPillarNetworkA,6906,6906,6906,1988-11-28,690.3000000000884,690.2785,2015-01-01 01:55:06,bin6906,35, +CTSPillarNetworkA,6907,6907,6907,1988-11-29,690.4000000000884,690.3785,2015-01-01 01:55:07,bin6907,75, +CTSPillarNetworkA,6908,6908,6908,1988-11-30,690.5000000000884,690.47845,2015-01-01 01:55:08,bin6908,35, +CTSPillarNetworkA,6909,6909,6909,1988-12-01,690.6000000000885,690.5784,2015-01-01 01:55:09,bin6909,75, +CTSPillarNetworkA,6910,6910,6910,1988-12-02,690.7000000000885,690.6784,2015-01-01 01:55:10,bin6910,35, +CTSPillarNetworkA,6911,6911,6911,1988-12-03,690.8000000000885,690.7784,2015-01-01 01:55:11,bin6911,75, +CTSPillarNetworkA,6912,6912,6912,1988-12-04,690.9000000000885,690.87836,2015-01-01 01:55:12,bin6912,35, +CTSPillarNetworkA,6913,6913,6913,1988-12-05,691.0000000000886,690.97833,2015-01-01 01:55:13,bin6913,75, +CTSPillarNetworkA,6914,6914,6914,1988-12-06,691.1000000000886,691.0783,2015-01-01 01:55:14,bin6914,35, +CTSPillarNetworkA,6915,6915,6915,1988-12-07,691.2000000000886,691.1783,2015-01-01 01:55:15,bin6915,75, +CTSPillarNetworkA,6916,6916,6916,1988-12-08,691.3000000000886,691.27826,2015-01-01 01:55:16,bin6916,35, +CTSPillarNetworkA,6917,6917,6917,1988-12-09,691.4000000000887,691.37823,2015-01-01 01:55:17,bin6917,75, +CTSPillarNetworkA,6918,6918,6918,1988-12-10,691.5000000000887,691.4782,2015-01-01 01:55:18,bin6918,35, +CTSPillarNetworkA,6919,6919,6919,1988-12-11,691.6000000000887,691.5782,2015-01-01 01:55:19,bin6919,75, +CTSPillarNetworkA,6920,6920,6920,1988-12-12,691.7000000000887,691.67816,2015-01-01 01:55:20,bin6920,35, +CTSPillarNetworkA,6921,6921,6921,1988-12-13,691.8000000000887,691.77814,2015-01-01 01:55:21,bin6921,75, +CTSPillarNetworkA,6922,6922,6922,1988-12-14,691.9000000000888,691.8781,2015-01-01 01:55:22,bin6922,35, +CTSPillarNetworkA,6923,6923,6923,1988-12-15,692.0000000000888,691.9781,2015-01-01 01:55:23,bin6923,75, +CTSPillarNetworkA,6924,6924,6924,1988-12-16,692.1000000000888,692.07806,2015-01-01 01:55:24,bin6924,35, +CTSPillarNetworkA,6925,6925,6925,1988-12-17,692.2000000000888,692.17804,2015-01-01 01:55:25,bin6925,75, +CTSPillarNetworkA,6926,6926,6926,1988-12-18,692.3000000000889,692.278,2015-01-01 01:55:26,bin6926,35, +CTSPillarNetworkA,6927,6927,6927,1988-12-19,692.4000000000889,692.378,2015-01-01 01:55:27,bin6927,75, +CTSPillarNetworkA,6928,6928,6928,1988-12-20,692.5000000000889,692.47797,2015-01-01 01:55:28,bin6928,35, +CTSPillarNetworkA,6929,6929,6929,1988-12-21,692.6000000000889,692.57794,2015-01-01 01:55:29,bin6929,75, +CTSPillarNetworkA,6930,6930,6930,1988-12-22,692.700000000089,692.6779,2015-01-01 01:55:30,bin6930,35, +CTSPillarNetworkA,6931,6931,6931,1988-12-23,692.800000000089,692.7779,2015-01-01 01:55:31,bin6931,75, +CTSPillarNetworkA,6932,6932,6932,1988-12-24,692.900000000089,692.87787,2015-01-01 01:55:32,bin6932,35, +CTSPillarNetworkA,6933,6933,6933,1988-12-25,693.000000000089,692.97784,2015-01-01 01:55:33,bin6933,75, +CTSPillarNetworkA,6934,6934,6934,1988-12-26,693.100000000089,693.0778,2015-01-01 01:55:34,bin6934,35, +CTSPillarNetworkA,6935,6935,6935,1988-12-27,693.2000000000891,693.1778,2015-01-01 01:55:35,bin6935,75, +CTSPillarNetworkA,6936,6936,6936,1988-12-28,693.3000000000891,693.2778,2015-01-01 01:55:36,bin6936,35, +CTSPillarNetworkA,6937,6937,6937,1988-12-29,693.4000000000891,693.37775,2015-01-01 01:55:37,bin6937,75, +CTSPillarNetworkA,6938,6938,6938,1988-12-30,693.5000000000891,693.4777,2015-01-01 01:55:38,bin6938,35, +CTSPillarNetworkA,6939,6939,6939,1988-12-31,693.6000000000892,693.5777,2015-01-01 01:55:39,bin6939,75, +CTSPillarNetworkA,6940,6940,6940,1989-01-01,693.7000000000892,693.6777,2015-01-01 01:55:40,bin6940,35, +CTSPillarNetworkA,6941,6941,6941,1989-01-02,693.8000000000892,693.77765,2015-01-01 01:55:41,bin6941,75, +CTSPillarNetworkA,6942,6942,6942,1989-01-03,693.9000000000892,693.8776,2015-01-01 01:55:42,bin6942,35, +CTSPillarNetworkA,6943,6943,6943,1989-01-04,694.0000000000892,693.9776,2015-01-01 01:55:43,bin6943,75, +CTSPillarNetworkA,6944,6944,6944,1989-01-05,694.1000000000893,694.0776,2015-01-01 01:55:44,bin6944,35, +CTSPillarNetworkA,6945,6945,6945,1989-01-06,694.2000000000893,694.17755,2015-01-01 01:55:45,bin6945,75, +CTSPillarNetworkA,6946,6946,6946,1989-01-07,694.3000000000893,694.2775,2015-01-01 01:55:46,bin6946,35, +CTSPillarNetworkA,6947,6947,6947,1989-01-08,694.4000000000893,694.3775,2015-01-01 01:55:47,bin6947,75, +CTSPillarNetworkA,6948,6948,6948,1989-01-09,694.5000000000894,694.4775,2015-01-01 01:55:48,bin6948,35, +CTSPillarNetworkA,6949,6949,6949,1989-01-10,694.6000000000894,694.57745,2015-01-01 01:55:49,bin6949,75, +CTSPillarNetworkA,6950,6950,6950,1989-01-11,694.7000000000894,694.6774,2015-01-01 01:55:50,bin6950,35, +CTSPillarNetworkA,6951,6951,6951,1989-01-12,694.8000000000894,694.7774,2015-01-01 01:55:51,bin6951,75, +CTSPillarNetworkA,6952,6952,6952,1989-01-13,694.9000000000894,694.8774,2015-01-01 01:55:52,bin6952,35, +CTSPillarNetworkA,6953,6953,6953,1989-01-14,695.0000000000895,694.97736,2015-01-01 01:55:53,bin6953,75, +CTSPillarNetworkA,6954,6954,6954,1989-01-15,695.1000000000895,695.07733,2015-01-01 01:55:54,bin6954,35, +CTSPillarNetworkA,6955,6955,6955,1989-01-16,695.2000000000895,695.1773,2015-01-01 01:55:55,bin6955,75, +CTSPillarNetworkA,6956,6956,6956,1989-01-17,695.3000000000895,695.2773,2015-01-01 01:55:56,bin6956,35, +CTSPillarNetworkA,6957,6957,6957,1989-01-18,695.4000000000896,695.37726,2015-01-01 01:55:57,bin6957,75, +CTSPillarNetworkA,6958,6958,6958,1989-01-19,695.5000000000896,695.47723,2015-01-01 01:55:58,bin6958,35, +CTSPillarNetworkA,6959,6959,6959,1989-01-20,695.6000000000896,695.5772,2015-01-01 01:55:59,bin6959,75, +CTSPillarNetworkA,6960,6960,6960,1989-01-21,695.7000000000896,695.6772,2015-01-01 01:56:00,bin6960,35, +CTSPillarNetworkA,6961,6961,6961,1989-01-22,695.8000000000897,695.77716,2015-01-01 01:56:01,bin6961,75, +CTSPillarNetworkA,6962,6962,6962,1989-01-23,695.9000000000897,695.87714,2015-01-01 01:56:02,bin6962,35, +CTSPillarNetworkA,6963,6963,6963,1989-01-24,696.0000000000897,695.9771,2015-01-01 01:56:03,bin6963,75, +CTSPillarNetworkA,6964,6964,6964,1989-01-25,696.1000000000897,696.0771,2015-01-01 01:56:04,bin6964,35, +CTSPillarNetworkA,6965,6965,6965,1989-01-26,696.2000000000897,696.17706,2015-01-01 01:56:05,bin6965,75, +CTSPillarNetworkA,6966,6966,6966,1989-01-27,696.3000000000898,696.27704,2015-01-01 01:56:06,bin6966,35, +CTSPillarNetworkA,6967,6967,6967,1989-01-28,696.4000000000898,696.377,2015-01-01 01:56:07,bin6967,75, +CTSPillarNetworkA,6968,6968,6968,1989-01-29,696.5000000000898,696.477,2015-01-01 01:56:08,bin6968,35, +CTSPillarNetworkA,6969,6969,6969,1989-01-30,696.6000000000898,696.57697,2015-01-01 01:56:09,bin6969,75, +CTSPillarNetworkA,6970,6970,6970,1989-01-31,696.7000000000899,696.67694,2015-01-01 01:56:10,bin6970,35, +CTSPillarNetworkA,6971,6971,6971,1989-02-01,696.8000000000899,696.7769,2015-01-01 01:56:11,bin6971,75, +CTSPillarNetworkA,6972,6972,6972,1989-02-02,696.9000000000899,696.8769,2015-01-01 01:56:12,bin6972,35, +CTSPillarNetworkA,6973,6973,6973,1989-02-03,697.0000000000899,696.97687,2015-01-01 01:56:13,bin6973,75, +CTSPillarNetworkA,6974,6974,6974,1989-02-04,697.10000000009,697.07684,2015-01-01 01:56:14,bin6974,35, +CTSPillarNetworkA,6975,6975,6975,1989-02-05,697.20000000009,697.1768,2015-01-01 01:56:15,bin6975,75, +CTSPillarNetworkA,6976,6976,6976,1989-02-06,697.30000000009,697.2768,2015-01-01 01:56:16,bin6976,35, +CTSPillarNetworkA,6977,6977,6977,1989-02-07,697.40000000009,697.3768,2015-01-01 01:56:17,bin6977,75, +CTSPillarNetworkA,6978,6978,6978,1989-02-08,697.50000000009,697.47675,2015-01-01 01:56:18,bin6978,35, +CTSPillarNetworkA,6979,6979,6979,1989-02-09,697.6000000000901,697.5767,2015-01-01 01:56:19,bin6979,75, +CTSPillarNetworkA,6980,6980,6980,1989-02-10,697.7000000000901,697.6767,2015-01-01 01:56:20,bin6980,35, +CTSPillarNetworkA,6981,6981,6981,1989-02-11,697.8000000000901,697.7767,2015-01-01 01:56:21,bin6981,75, +CTSPillarNetworkA,6982,6982,6982,1989-02-12,697.9000000000901,697.87665,2015-01-01 01:56:22,bin6982,35, +CTSPillarNetworkA,6983,6983,6983,1989-02-13,698.0000000000902,697.9766,2015-01-01 01:56:23,bin6983,75, +CTSPillarNetworkA,6984,6984,6984,1989-02-14,698.1000000000902,698.0766,2015-01-01 01:56:24,bin6984,35, +CTSPillarNetworkA,6985,6985,6985,1989-02-15,698.2000000000902,698.1766,2015-01-01 01:56:25,bin6985,75, +CTSPillarNetworkA,6986,6986,6986,1989-02-16,698.3000000000902,698.27655,2015-01-01 01:56:26,bin6986,35, +CTSPillarNetworkA,6987,6987,6987,1989-02-17,698.4000000000902,698.3765,2015-01-01 01:56:27,bin6987,75, +CTSPillarNetworkA,6988,6988,6988,1989-02-18,698.5000000000903,698.4765,2015-01-01 01:56:28,bin6988,35, +CTSPillarNetworkA,6989,6989,6989,1989-02-19,698.6000000000903,698.5765,2015-01-01 01:56:29,bin6989,75, +CTSPillarNetworkA,6990,6990,6990,1989-02-20,698.7000000000903,698.67645,2015-01-01 01:56:30,bin6990,35, +CTSPillarNetworkA,6991,6991,6991,1989-02-21,698.8000000000903,698.7764,2015-01-01 01:56:31,bin6991,75, +CTSPillarNetworkA,6992,6992,6992,1989-02-22,698.9000000000904,698.8764,2015-01-01 01:56:32,bin6992,35, +CTSPillarNetworkA,6993,6993,6993,1989-02-23,699.0000000000904,698.9764,2015-01-01 01:56:33,bin6993,75, +CTSPillarNetworkA,6994,6994,6994,1989-02-24,699.1000000000904,699.07635,2015-01-01 01:56:34,bin6994,35, +CTSPillarNetworkA,6995,6995,6995,1989-02-25,699.2000000000904,699.17633,2015-01-01 01:56:35,bin6995,75, +CTSPillarNetworkA,6996,6996,6996,1989-02-26,699.3000000000904,699.2763,2015-01-01 01:56:36,bin6996,35, +CTSPillarNetworkA,6997,6997,6997,1989-02-27,699.4000000000905,699.3763,2015-01-01 01:56:37,bin6997,75, +CTSPillarNetworkA,6998,6998,6998,1989-02-28,699.5000000000905,699.47626,2015-01-01 01:56:38,bin6998,35, +CTSPillarNetworkA,6999,6999,6999,1989-03-01,699.6000000000905,699.57623,2015-01-01 01:56:39,bin6999,75, +CTSPillarNetworkA,7000,7000,7000,1989-03-02,699.7000000000905,699.6762,2015-01-01 01:56:40,bin7000,35, +CTSPillarNetworkA,7001,7001,7001,1989-03-03,699.8000000000906,699.7762,2015-01-01 01:56:41,bin7001,75, +CTSPillarNetworkA,7002,7002,7002,1989-03-04,699.9000000000906,699.87616,2015-01-01 01:56:42,bin7002,35, +CTSPillarNetworkA,7003,7003,7003,1989-03-05,700.0000000000906,699.97614,2015-01-01 01:56:43,bin7003,75, +CTSPillarNetworkA,7004,7004,7004,1989-03-06,700.1000000000906,700.0761,2015-01-01 01:56:44,bin7004,35, +CTSPillarNetworkA,7005,7005,7005,1989-03-07,700.2000000000907,700.1761,2015-01-01 01:56:45,bin7005,75, +CTSPillarNetworkA,7006,7006,7006,1989-03-08,700.3000000000907,700.27606,2015-01-01 01:56:46,bin7006,35, +CTSPillarNetworkA,7007,7007,7007,1989-03-09,700.4000000000907,700.37604,2015-01-01 01:56:47,bin7007,75, +CTSPillarNetworkA,7008,7008,7008,1989-03-10,700.5000000000907,700.476,2015-01-01 01:56:48,bin7008,35, +CTSPillarNetworkA,7009,7009,7009,1989-03-11,700.6000000000907,700.576,2015-01-01 01:56:49,bin7009,75, +CTSPillarNetworkA,7010,7010,7010,1989-03-12,700.7000000000908,700.67596,2015-01-01 01:56:50,bin7010,35, +CTSPillarNetworkA,7011,7011,7011,1989-03-13,700.8000000000908,700.77594,2015-01-01 01:56:51,bin7011,75, +CTSPillarNetworkA,7012,7012,7012,1989-03-14,700.9000000000908,700.8759,2015-01-01 01:56:52,bin7012,35, +CTSPillarNetworkA,7013,7013,7013,1989-03-15,701.0000000000908,700.9759,2015-01-01 01:56:53,bin7013,75, +CTSPillarNetworkA,7014,7014,7014,1989-03-16,701.1000000000909,701.07587,2015-01-01 01:56:54,bin7014,35, +CTSPillarNetworkA,7015,7015,7015,1989-03-17,701.2000000000909,701.17584,2015-01-01 01:56:55,bin7015,75, +CTSPillarNetworkA,7016,7016,7016,1989-03-18,701.3000000000909,701.2758,2015-01-01 01:56:56,bin7016,35, +CTSPillarNetworkA,7017,7017,7017,1989-03-19,701.4000000000909,701.3758,2015-01-01 01:56:57,bin7017,75, +CTSPillarNetworkA,7018,7018,7018,1989-03-20,701.500000000091,701.47577,2015-01-01 01:56:58,bin7018,35, +CTSPillarNetworkA,7019,7019,7019,1989-03-21,701.600000000091,701.57574,2015-01-01 01:56:59,bin7019,75, +CTSPillarNetworkA,7020,7020,7020,1989-03-22,701.700000000091,701.6757,2015-01-01 01:57:00,bin7020,35, +CTSPillarNetworkA,7021,7021,7021,1989-03-23,701.800000000091,701.7757,2015-01-01 01:57:01,bin7021,75, +CTSPillarNetworkA,7022,7022,7022,1989-03-24,701.900000000091,701.8757,2015-01-01 01:57:02,bin7022,35, +CTSPillarNetworkA,7023,7023,7023,1989-03-25,702.0000000000911,701.97565,2015-01-01 01:57:03,bin7023,75, +CTSPillarNetworkA,7024,7024,7024,1989-03-26,702.1000000000911,702.0756,2015-01-01 01:57:04,bin7024,35, +CTSPillarNetworkA,7025,7025,7025,1989-03-27,702.2000000000911,702.1756,2015-01-01 01:57:05,bin7025,75, +CTSPillarNetworkA,7026,7026,7026,1989-03-28,702.3000000000911,702.2756,2015-01-01 01:57:06,bin7026,35, +CTSPillarNetworkA,7027,7027,7027,1989-03-29,702.4000000000912,702.37555,2015-01-01 01:57:07,bin7027,75, +CTSPillarNetworkA,7028,7028,7028,1989-03-30,702.5000000000912,702.4755,2015-01-01 01:57:08,bin7028,35, +CTSPillarNetworkA,7029,7029,7029,1989-03-31,702.6000000000912,702.5755,2015-01-01 01:57:09,bin7029,75, +CTSPillarNetworkA,7030,7030,7030,1989-04-01,702.7000000000912,702.6755,2015-01-01 01:57:10,bin7030,35, +CTSPillarNetworkA,7031,7031,7031,1989-04-02,702.8000000000912,702.77545,2015-01-01 01:57:11,bin7031,75, +CTSPillarNetworkA,7032,7032,7032,1989-04-03,702.9000000000913,702.8754,2015-01-01 01:57:12,bin7032,35, +CTSPillarNetworkA,7033,7033,7033,1989-04-04,703.0000000000913,702.9754,2015-01-01 01:57:13,bin7033,75, +CTSPillarNetworkA,7034,7034,7034,1989-04-05,703.1000000000913,703.0754,2015-01-01 01:57:14,bin7034,35, +CTSPillarNetworkA,7035,7035,7035,1989-04-06,703.2000000000913,703.17535,2015-01-01 01:57:15,bin7035,75, +CTSPillarNetworkA,7036,7036,7036,1989-04-07,703.3000000000914,703.2753,2015-01-01 01:57:16,bin7036,35, +CTSPillarNetworkA,7037,7037,7037,1989-04-08,703.4000000000914,703.3753,2015-01-01 01:57:17,bin7037,75, +CTSPillarNetworkA,7038,7038,7038,1989-04-09,703.5000000000914,703.4753,2015-01-01 01:57:18,bin7038,35, +CTSPillarNetworkA,7039,7039,7039,1989-04-10,703.6000000000914,703.57526,2015-01-01 01:57:19,bin7039,75, +CTSPillarNetworkA,7040,7040,7040,1989-04-11,703.7000000000914,703.67523,2015-01-01 01:57:20,bin7040,35, +CTSPillarNetworkA,7041,7041,7041,1989-04-12,703.8000000000915,703.7752,2015-01-01 01:57:21,bin7041,75, +CTSPillarNetworkA,7042,7042,7042,1989-04-13,703.9000000000915,703.8752,2015-01-01 01:57:22,bin7042,35, +CTSPillarNetworkA,7043,7043,7043,1989-04-14,704.0000000000915,703.97516,2015-01-01 01:57:23,bin7043,75, +CTSPillarNetworkA,7044,7044,7044,1989-04-15,704.1000000000915,704.07513,2015-01-01 01:57:24,bin7044,35, +CTSPillarNetworkA,7045,7045,7045,1989-04-16,704.2000000000916,704.1751,2015-01-01 01:57:25,bin7045,75, +CTSPillarNetworkA,7046,7046,7046,1989-04-17,704.3000000000916,704.2751,2015-01-01 01:57:26,bin7046,35, +CTSPillarNetworkA,7047,7047,7047,1989-04-18,704.4000000000916,704.37506,2015-01-01 01:57:27,bin7047,75, +CTSPillarNetworkA,7048,7048,7048,1989-04-19,704.5000000000916,704.47504,2015-01-01 01:57:28,bin7048,35, +CTSPillarNetworkA,7049,7049,7049,1989-04-20,704.6000000000917,704.575,2015-01-01 01:57:29,bin7049,75, +CTSPillarNetworkA,7050,7050,7050,1989-04-21,704.7000000000917,704.675,2015-01-01 01:57:30,bin7050,35, +CTSPillarNetworkA,7051,7051,7051,1989-04-22,704.8000000000917,704.77496,2015-01-01 01:57:31,bin7051,75, +CTSPillarNetworkA,7052,7052,7052,1989-04-23,704.9000000000917,704.87494,2015-01-01 01:57:32,bin7052,35, +CTSPillarNetworkA,7053,7053,7053,1989-04-24,705.0000000000917,704.9749,2015-01-01 01:57:33,bin7053,75, +CTSPillarNetworkA,7054,7054,7054,1989-04-25,705.1000000000918,705.0749,2015-01-01 01:57:34,bin7054,35, +CTSPillarNetworkA,7055,7055,7055,1989-04-26,705.2000000000918,705.17487,2015-01-01 01:57:35,bin7055,75, +CTSPillarNetworkA,7056,7056,7056,1989-04-27,705.3000000000918,705.27484,2015-01-01 01:57:36,bin7056,35, +CTSPillarNetworkA,7057,7057,7057,1989-04-28,705.4000000000918,705.3748,2015-01-01 01:57:37,bin7057,75, +CTSPillarNetworkA,7058,7058,7058,1989-04-29,705.5000000000919,705.4748,2015-01-01 01:57:38,bin7058,35, +CTSPillarNetworkA,7059,7059,7059,1989-04-30,705.6000000000919,705.57477,2015-01-01 01:57:39,bin7059,75, +CTSPillarNetworkA,7060,7060,7060,1989-05-01,705.7000000000919,705.67474,2015-01-01 01:57:40,bin7060,35, +CTSPillarNetworkA,7061,7061,7061,1989-05-02,705.8000000000919,705.7747,2015-01-01 01:57:41,bin7061,75, +CTSPillarNetworkA,7062,7062,7062,1989-05-03,705.900000000092,705.8747,2015-01-01 01:57:42,bin7062,35, +CTSPillarNetworkA,7063,7063,7063,1989-05-04,706.000000000092,705.9747,2015-01-01 01:57:43,bin7063,75, +CTSPillarNetworkA,7064,7064,7064,1989-05-05,706.100000000092,706.07465,2015-01-01 01:57:44,bin7064,35, +CTSPillarNetworkA,7065,7065,7065,1989-05-06,706.200000000092,706.1746,2015-01-01 01:57:45,bin7065,75, +CTSPillarNetworkA,7066,7066,7066,1989-05-07,706.300000000092,706.2746,2015-01-01 01:57:46,bin7066,35, +CTSPillarNetworkA,7067,7067,7067,1989-05-08,706.4000000000921,706.3746,2015-01-01 01:57:47,bin7067,75, +CTSPillarNetworkA,7068,7068,7068,1989-05-09,706.5000000000921,706.47455,2015-01-01 01:57:48,bin7068,35, +CTSPillarNetworkA,7069,7069,7069,1989-05-10,706.6000000000921,706.5745,2015-01-01 01:57:49,bin7069,75, +CTSPillarNetworkA,7070,7070,7070,1989-05-11,706.7000000000921,706.6745,2015-01-01 01:57:50,bin7070,35, +CTSPillarNetworkA,7071,7071,7071,1989-05-12,706.8000000000922,706.7745,2015-01-01 01:57:51,bin7071,75, +CTSPillarNetworkA,7072,7072,7072,1989-05-13,706.9000000000922,706.87445,2015-01-01 01:57:52,bin7072,35, +CTSPillarNetworkA,7073,7073,7073,1989-05-14,707.0000000000922,706.9744,2015-01-01 01:57:53,bin7073,75, +CTSPillarNetworkA,7074,7074,7074,1989-05-15,707.1000000000922,707.0744,2015-01-01 01:57:54,bin7074,35, +CTSPillarNetworkA,7075,7075,7075,1989-05-16,707.2000000000922,707.1744,2015-01-01 01:57:55,bin7075,75, +CTSPillarNetworkA,7076,7076,7076,1989-05-17,707.3000000000923,707.27435,2015-01-01 01:57:56,bin7076,35, +CTSPillarNetworkA,7077,7077,7077,1989-05-18,707.4000000000923,707.3743,2015-01-01 01:57:57,bin7077,75, +CTSPillarNetworkA,7078,7078,7078,1989-05-19,707.5000000000923,707.4743,2015-01-01 01:57:58,bin7078,35, +CTSPillarNetworkA,7079,7079,7079,1989-05-20,707.6000000000923,707.5743,2015-01-01 01:57:59,bin7079,75, +CTSPillarNetworkA,7080,7080,7080,1989-05-21,707.7000000000924,707.67426,2015-01-01 01:58:00,bin7080,35, +CTSPillarNetworkA,7081,7081,7081,1989-05-22,707.8000000000924,707.77423,2015-01-01 01:58:01,bin7081,75, +CTSPillarNetworkA,7082,7082,7082,1989-05-23,707.9000000000924,707.8742,2015-01-01 01:58:02,bin7082,35, +CTSPillarNetworkA,7083,7083,7083,1989-05-24,708.0000000000924,707.9742,2015-01-01 01:58:03,bin7083,75, +CTSPillarNetworkA,7084,7084,7084,1989-05-25,708.1000000000925,708.07416,2015-01-01 01:58:04,bin7084,35, +CTSPillarNetworkA,7085,7085,7085,1989-05-26,708.2000000000925,708.17413,2015-01-01 01:58:05,bin7085,75, +CTSPillarNetworkA,7086,7086,7086,1989-05-27,708.3000000000925,708.2741,2015-01-01 01:58:06,bin7086,35, +CTSPillarNetworkA,7087,7087,7087,1989-05-28,708.4000000000925,708.3741,2015-01-01 01:58:07,bin7087,75, +CTSPillarNetworkA,7088,7088,7088,1989-05-29,708.5000000000925,708.47406,2015-01-01 01:58:08,bin7088,35, +CTSPillarNetworkA,7089,7089,7089,1989-05-30,708.6000000000926,708.57404,2015-01-01 01:58:09,bin7089,75, +CTSPillarNetworkA,7090,7090,7090,1989-05-31,708.7000000000926,708.674,2015-01-01 01:58:10,bin7090,35, +CTSPillarNetworkA,7091,7091,7091,1989-06-01,708.8000000000926,708.774,2015-01-01 01:58:11,bin7091,75, +CTSPillarNetworkA,7092,7092,7092,1989-06-02,708.9000000000926,708.87396,2015-01-01 01:58:12,bin7092,35, +CTSPillarNetworkA,7093,7093,7093,1989-06-03,709.0000000000927,708.97394,2015-01-01 01:58:13,bin7093,75, +CTSPillarNetworkA,7094,7094,7094,1989-06-04,709.1000000000927,709.0739,2015-01-01 01:58:14,bin7094,35, +CTSPillarNetworkA,7095,7095,7095,1989-06-05,709.2000000000927,709.1739,2015-01-01 01:58:15,bin7095,75, +CTSPillarNetworkA,7096,7096,7096,1989-06-06,709.3000000000927,709.27386,2015-01-01 01:58:16,bin7096,35, +CTSPillarNetworkA,7097,7097,7097,1989-06-07,709.4000000000927,709.37384,2015-01-01 01:58:17,bin7097,75, +CTSPillarNetworkA,7098,7098,7098,1989-06-08,709.5000000000928,709.4738,2015-01-01 01:58:18,bin7098,35, +CTSPillarNetworkA,7099,7099,7099,1989-06-09,709.6000000000928,709.5738,2015-01-01 01:58:19,bin7099,75, +CTSPillarNetworkA,7100,7100,7100,1989-06-10,709.7000000000928,709.67377,2015-01-01 01:58:20,bin7100,35, +CTSPillarNetworkA,7101,7101,7101,1989-06-11,709.8000000000928,709.77374,2015-01-01 01:58:21,bin7101,75, +CTSPillarNetworkA,7102,7102,7102,1989-06-12,709.9000000000929,709.8737,2015-01-01 01:58:22,bin7102,35, +CTSPillarNetworkA,7103,7103,7103,1989-06-13,710.0000000000929,709.9737,2015-01-01 01:58:23,bin7103,75, +CTSPillarNetworkA,7104,7104,7104,1989-06-14,710.1000000000929,710.07367,2015-01-01 01:58:24,bin7104,35, +CTSPillarNetworkA,7105,7105,7105,1989-06-15,710.2000000000929,710.17365,2015-01-01 01:58:25,bin7105,75, +CTSPillarNetworkA,7106,7106,7106,1989-06-16,710.300000000093,710.2736,2015-01-01 01:58:26,bin7106,35, +CTSPillarNetworkA,7107,7107,7107,1989-06-17,710.400000000093,710.3736,2015-01-01 01:58:27,bin7107,75, +CTSPillarNetworkA,7108,7108,7108,1989-06-18,710.500000000093,710.4736,2015-01-01 01:58:28,bin7108,35, +CTSPillarNetworkA,7109,7109,7109,1989-06-19,710.600000000093,710.57355,2015-01-01 01:58:29,bin7109,75, +CTSPillarNetworkA,7110,7110,7110,1989-06-20,710.700000000093,710.6735,2015-01-01 01:58:30,bin7110,35, +CTSPillarNetworkA,7111,7111,7111,1989-06-21,710.8000000000931,710.7735,2015-01-01 01:58:31,bin7111,75, +CTSPillarNetworkA,7112,7112,7112,1989-06-22,710.9000000000931,710.8735,2015-01-01 01:58:32,bin7112,35, +CTSPillarNetworkA,7113,7113,7113,1989-06-23,711.0000000000931,710.97345,2015-01-01 01:58:33,bin7113,75, +CTSPillarNetworkA,7114,7114,7114,1989-06-24,711.1000000000931,711.0734,2015-01-01 01:58:34,bin7114,35, +CTSPillarNetworkA,7115,7115,7115,1989-06-25,711.2000000000932,711.1734,2015-01-01 01:58:35,bin7115,75, +CTSPillarNetworkA,7116,7116,7116,1989-06-26,711.3000000000932,711.2734,2015-01-01 01:58:36,bin7116,35, +CTSPillarNetworkA,7117,7117,7117,1989-06-27,711.4000000000932,711.37335,2015-01-01 01:58:37,bin7117,75, +CTSPillarNetworkA,7118,7118,7118,1989-06-28,711.5000000000932,711.4733,2015-01-01 01:58:38,bin7118,35, +CTSPillarNetworkA,7119,7119,7119,1989-06-29,711.6000000000932,711.5733,2015-01-01 01:58:39,bin7119,75, +CTSPillarNetworkA,7120,7120,7120,1989-06-30,711.7000000000933,711.6733,2015-01-01 01:58:40,bin7120,35, +CTSPillarNetworkA,7121,7121,7121,1989-07-01,711.8000000000933,711.77325,2015-01-01 01:58:41,bin7121,75, +CTSPillarNetworkA,7122,7122,7122,1989-07-02,711.9000000000933,711.8732,2015-01-01 01:58:42,bin7122,35, +CTSPillarNetworkA,7123,7123,7123,1989-07-03,712.0000000000933,711.9732,2015-01-01 01:58:43,bin7123,75, +CTSPillarNetworkA,7124,7124,7124,1989-07-04,712.1000000000934,712.0732,2015-01-01 01:58:44,bin7124,35, +CTSPillarNetworkA,7125,7125,7125,1989-07-05,712.2000000000934,712.17316,2015-01-01 01:58:45,bin7125,75, +CTSPillarNetworkA,7126,7126,7126,1989-07-06,712.3000000000934,712.27313,2015-01-01 01:58:46,bin7126,35, +CTSPillarNetworkA,7127,7127,7127,1989-07-07,712.4000000000934,712.3731,2015-01-01 01:58:47,bin7127,75, +CTSPillarNetworkA,7128,7128,7128,1989-07-08,712.5000000000935,712.4731,2015-01-01 01:58:48,bin7128,35, +CTSPillarNetworkA,7129,7129,7129,1989-07-09,712.6000000000935,712.57306,2015-01-01 01:58:49,bin7129,75, +CTSPillarNetworkA,7130,7130,7130,1989-07-10,712.7000000000935,712.67303,2015-01-01 01:58:50,bin7130,35, +CTSPillarNetworkA,7131,7131,7131,1989-07-11,712.8000000000935,712.773,2015-01-01 01:58:51,bin7131,75, +CTSPillarNetworkA,7132,7132,7132,1989-07-12,712.9000000000935,712.873,2015-01-01 01:58:52,bin7132,35, +CTSPillarNetworkA,7133,7133,7133,1989-07-13,713.0000000000936,712.97296,2015-01-01 01:58:53,bin7133,75, +CTSPillarNetworkA,7134,7134,7134,1989-07-14,713.1000000000936,713.07294,2015-01-01 01:58:54,bin7134,35, +CTSPillarNetworkA,7135,7135,7135,1989-07-15,713.2000000000936,713.1729,2015-01-01 01:58:55,bin7135,75, +CTSPillarNetworkA,7136,7136,7136,1989-07-16,713.3000000000936,713.2729,2015-01-01 01:58:56,bin7136,35, +CTSPillarNetworkA,7137,7137,7137,1989-07-17,713.4000000000937,713.37286,2015-01-01 01:58:57,bin7137,75, +CTSPillarNetworkA,7138,7138,7138,1989-07-18,713.5000000000937,713.47284,2015-01-01 01:58:58,bin7138,35, +CTSPillarNetworkA,7139,7139,7139,1989-07-19,713.6000000000937,713.5728,2015-01-01 01:58:59,bin7139,75, +CTSPillarNetworkA,7140,7140,7140,1989-07-20,713.7000000000937,713.6728,2015-01-01 01:59:00,bin7140,35, +CTSPillarNetworkA,7141,7141,7141,1989-07-21,713.8000000000937,713.77277,2015-01-01 01:59:01,bin7141,75, +CTSPillarNetworkA,7142,7142,7142,1989-07-22,713.9000000000938,713.87274,2015-01-01 01:59:02,bin7142,35, +CTSPillarNetworkA,7143,7143,7143,1989-07-23,714.0000000000938,713.9727,2015-01-01 01:59:03,bin7143,75, +CTSPillarNetworkA,7144,7144,7144,1989-07-24,714.1000000000938,714.0727,2015-01-01 01:59:04,bin7144,35, +CTSPillarNetworkA,7145,7145,7145,1989-07-25,714.2000000000938,714.17267,2015-01-01 01:59:05,bin7145,75, +CTSPillarNetworkA,7146,7146,7146,1989-07-26,714.3000000000939,714.27264,2015-01-01 01:59:06,bin7146,35, +CTSPillarNetworkA,7147,7147,7147,1989-07-27,714.4000000000939,714.3726,2015-01-01 01:59:07,bin7147,75, +CTSPillarNetworkA,7148,7148,7148,1989-07-28,714.5000000000939,714.4726,2015-01-01 01:59:08,bin7148,35, +CTSPillarNetworkA,7149,7149,7149,1989-07-29,714.6000000000939,714.5726,2015-01-01 01:59:09,bin7149,75, +CTSPillarNetworkA,7150,7150,7150,1989-07-30,714.700000000094,714.67255,2015-01-01 01:59:10,bin7150,35, +CTSPillarNetworkA,7151,7151,7151,1989-07-31,714.800000000094,714.7725,2015-01-01 01:59:11,bin7151,75, +CTSPillarNetworkA,7152,7152,7152,1989-08-01,714.900000000094,714.8725,2015-01-01 01:59:12,bin7152,35, +CTSPillarNetworkA,7153,7153,7153,1989-08-02,715.000000000094,714.9725,2015-01-01 01:59:13,bin7153,75, +CTSPillarNetworkA,7154,7154,7154,1989-08-03,715.100000000094,715.07245,2015-01-01 01:59:14,bin7154,35, +CTSPillarNetworkA,7155,7155,7155,1989-08-04,715.2000000000941,715.1724,2015-01-01 01:59:15,bin7155,75, +CTSPillarNetworkA,7156,7156,7156,1989-08-05,715.3000000000941,715.2724,2015-01-01 01:59:16,bin7156,35, +CTSPillarNetworkA,7157,7157,7157,1989-08-06,715.4000000000941,715.3724,2015-01-01 01:59:17,bin7157,75, +CTSPillarNetworkA,7158,7158,7158,1989-08-07,715.5000000000941,715.47235,2015-01-01 01:59:18,bin7158,35, +CTSPillarNetworkA,7159,7159,7159,1989-08-08,715.6000000000942,715.5723,2015-01-01 01:59:19,bin7159,75, +CTSPillarNetworkA,7160,7160,7160,1989-08-09,715.7000000000942,715.6723,2015-01-01 01:59:20,bin7160,35, +CTSPillarNetworkA,7161,7161,7161,1989-08-10,715.8000000000942,715.7723,2015-01-01 01:59:21,bin7161,75, +CTSPillarNetworkA,7162,7162,7162,1989-08-11,715.9000000000942,715.87225,2015-01-01 01:59:22,bin7162,35, +CTSPillarNetworkA,7163,7163,7163,1989-08-12,716.0000000000942,715.9722,2015-01-01 01:59:23,bin7163,75, +CTSPillarNetworkA,7164,7164,7164,1989-08-13,716.1000000000943,716.0722,2015-01-01 01:59:24,bin7164,35, +CTSPillarNetworkA,7165,7165,7165,1989-08-14,716.2000000000943,716.1722,2015-01-01 01:59:25,bin7165,75, +CTSPillarNetworkA,7166,7166,7166,1989-08-15,716.3000000000943,716.27216,2015-01-01 01:59:26,bin7166,35, +CTSPillarNetworkA,7167,7167,7167,1989-08-16,716.4000000000943,716.37213,2015-01-01 01:59:27,bin7167,75, +CTSPillarNetworkA,7168,7168,7168,1989-08-17,716.5000000000944,716.4721,2015-01-01 01:59:28,bin7168,35, +CTSPillarNetworkA,7169,7169,7169,1989-08-18,716.6000000000944,716.5721,2015-01-01 01:59:29,bin7169,75, +CTSPillarNetworkA,7170,7170,7170,1989-08-19,716.7000000000944,716.67206,2015-01-01 01:59:30,bin7170,35, +CTSPillarNetworkA,7171,7171,7171,1989-08-20,716.8000000000944,716.77203,2015-01-01 01:59:31,bin7171,75, +CTSPillarNetworkA,7172,7172,7172,1989-08-21,716.9000000000945,716.872,2015-01-01 01:59:32,bin7172,35, +CTSPillarNetworkA,7173,7173,7173,1989-08-22,717.0000000000945,716.972,2015-01-01 01:59:33,bin7173,75, +CTSPillarNetworkA,7174,7174,7174,1989-08-23,717.1000000000945,717.07196,2015-01-01 01:59:34,bin7174,35, +CTSPillarNetworkA,7175,7175,7175,1989-08-24,717.2000000000945,717.17194,2015-01-01 01:59:35,bin7175,75, +CTSPillarNetworkA,7176,7176,7176,1989-08-25,717.3000000000945,717.2719,2015-01-01 01:59:36,bin7176,35, +CTSPillarNetworkA,7177,7177,7177,1989-08-26,717.4000000000946,717.3719,2015-01-01 01:59:37,bin7177,75, +CTSPillarNetworkA,7178,7178,7178,1989-08-27,717.5000000000946,717.47186,2015-01-01 01:59:38,bin7178,35, +CTSPillarNetworkA,7179,7179,7179,1989-08-28,717.6000000000946,717.57184,2015-01-01 01:59:39,bin7179,75, +CTSPillarNetworkA,7180,7180,7180,1989-08-29,717.7000000000946,717.6718,2015-01-01 01:59:40,bin7180,35, +CTSPillarNetworkA,7181,7181,7181,1989-08-30,717.8000000000947,717.7718,2015-01-01 01:59:41,bin7181,75, +CTSPillarNetworkA,7182,7182,7182,1989-08-31,717.9000000000947,717.87177,2015-01-01 01:59:42,bin7182,35, +CTSPillarNetworkA,7183,7183,7183,1989-09-01,718.0000000000947,717.97174,2015-01-01 01:59:43,bin7183,75, +CTSPillarNetworkA,7184,7184,7184,1989-09-02,718.1000000000947,718.0717,2015-01-01 01:59:44,bin7184,35, +CTSPillarNetworkA,7185,7185,7185,1989-09-03,718.2000000000947,718.1717,2015-01-01 01:59:45,bin7185,75, +CTSPillarNetworkA,7186,7186,7186,1989-09-04,718.3000000000948,718.27167,2015-01-01 01:59:46,bin7186,35, +CTSPillarNetworkA,7187,7187,7187,1989-09-05,718.4000000000948,718.37164,2015-01-01 01:59:47,bin7187,75, +CTSPillarNetworkA,7188,7188,7188,1989-09-06,718.5000000000948,718.4716,2015-01-01 01:59:48,bin7188,35, +CTSPillarNetworkA,7189,7189,7189,1989-09-07,718.6000000000948,718.5716,2015-01-01 01:59:49,bin7189,75, +CTSPillarNetworkA,7190,7190,7190,1989-09-08,718.7000000000949,718.6716,2015-01-01 01:59:50,bin7190,35, +CTSPillarNetworkA,7191,7191,7191,1989-09-09,718.8000000000949,718.77155,2015-01-01 01:59:51,bin7191,75, +CTSPillarNetworkA,7192,7192,7192,1989-09-10,718.9000000000949,718.8715,2015-01-01 01:59:52,bin7192,35, +CTSPillarNetworkA,7193,7193,7193,1989-09-11,719.0000000000949,718.9715,2015-01-01 01:59:53,bin7193,75, +CTSPillarNetworkA,7194,7194,7194,1989-09-12,719.100000000095,719.0715,2015-01-01 01:59:54,bin7194,35, +CTSPillarNetworkA,7195,7195,7195,1989-09-13,719.200000000095,719.17145,2015-01-01 01:59:55,bin7195,75, +CTSPillarNetworkA,7196,7196,7196,1989-09-14,719.300000000095,719.2714,2015-01-01 01:59:56,bin7196,35, +CTSPillarNetworkA,7197,7197,7197,1989-09-15,719.400000000095,719.3714,2015-01-01 01:59:57,bin7197,75, +CTSPillarNetworkA,7198,7198,7198,1989-09-16,719.500000000095,719.4714,2015-01-01 01:59:58,bin7198,35, +CTSPillarNetworkA,7199,7199,7199,1989-09-17,719.6000000000951,719.57135,2015-01-01 01:59:59,bin7199,75, +CTSPillarNetworkA,7200,7200,7200,1989-09-18,719.7000000000951,719.6713,2015-01-01 02:00:00,bin7200,35, +CTSPillarNetworkA,7201,7201,7201,1989-09-19,719.8000000000951,719.7713,2015-01-01 02:00:01,bin7201,75, +CTSPillarNetworkA,7202,7202,7202,1989-09-20,719.9000000000951,719.8713,2015-01-01 02:00:02,bin7202,35, +CTSPillarNetworkA,7203,7203,7203,1989-09-21,720.0000000000952,719.97125,2015-01-01 02:00:03,bin7203,75, +CTSPillarNetworkA,7204,7204,7204,1989-09-22,720.1000000000952,720.0712,2015-01-01 02:00:04,bin7204,35, +CTSPillarNetworkA,7205,7205,7205,1989-09-23,720.2000000000952,720.1712,2015-01-01 02:00:05,bin7205,75, +CTSPillarNetworkA,7206,7206,7206,1989-09-24,720.3000000000952,720.2712,2015-01-01 02:00:06,bin7206,35, +CTSPillarNetworkA,7207,7207,7207,1989-09-25,720.4000000000952,720.37115,2015-01-01 02:00:07,bin7207,75, +CTSPillarNetworkA,7208,7208,7208,1989-09-26,720.5000000000953,720.4711,2015-01-01 02:00:08,bin7208,35, +CTSPillarNetworkA,7209,7209,7209,1989-09-27,720.6000000000953,720.5711,2015-01-01 02:00:09,bin7209,75, +CTSPillarNetworkA,7210,7210,7210,1989-09-28,720.7000000000953,720.6711,2015-01-01 02:00:10,bin7210,35, +CTSPillarNetworkA,7211,7211,7211,1989-09-29,720.8000000000953,720.77106,2015-01-01 02:00:11,bin7211,75, +CTSPillarNetworkA,7212,7212,7212,1989-09-30,720.9000000000954,720.87103,2015-01-01 02:00:12,bin7212,35, +CTSPillarNetworkA,7213,7213,7213,1989-10-01,721.0000000000954,720.971,2015-01-01 02:00:13,bin7213,75, +CTSPillarNetworkA,7214,7214,7214,1989-10-02,721.1000000000954,721.071,2015-01-01 02:00:14,bin7214,35, +CTSPillarNetworkA,7215,7215,7215,1989-10-03,721.2000000000954,721.17096,2015-01-01 02:00:15,bin7215,75, +CTSPillarNetworkA,7216,7216,7216,1989-10-04,721.3000000000955,721.27094,2015-01-01 02:00:16,bin7216,35, +CTSPillarNetworkA,7217,7217,7217,1989-10-05,721.4000000000955,721.3709,2015-01-01 02:00:17,bin7217,75, +CTSPillarNetworkA,7218,7218,7218,1989-10-06,721.5000000000955,721.4709,2015-01-01 02:00:18,bin7218,35, +CTSPillarNetworkA,7219,7219,7219,1989-10-07,721.6000000000955,721.57086,2015-01-01 02:00:19,bin7219,75, +CTSPillarNetworkA,7220,7220,7220,1989-10-08,721.7000000000955,721.67084,2015-01-01 02:00:20,bin7220,35, +CTSPillarNetworkA,7221,7221,7221,1989-10-09,721.8000000000956,721.7708,2015-01-01 02:00:21,bin7221,75, +CTSPillarNetworkA,7222,7222,7222,1989-10-10,721.9000000000956,721.8708,2015-01-01 02:00:22,bin7222,35, +CTSPillarNetworkA,7223,7223,7223,1989-10-11,722.0000000000956,721.97076,2015-01-01 02:00:23,bin7223,75, +CTSPillarNetworkA,7224,7224,7224,1989-10-12,722.1000000000956,722.07074,2015-01-01 02:00:24,bin7224,35, +CTSPillarNetworkA,7225,7225,7225,1989-10-13,722.2000000000957,722.1707,2015-01-01 02:00:25,bin7225,75, +CTSPillarNetworkA,7226,7226,7226,1989-10-14,722.3000000000957,722.2707,2015-01-01 02:00:26,bin7226,35, +CTSPillarNetworkA,7227,7227,7227,1989-10-15,722.4000000000957,722.37067,2015-01-01 02:00:27,bin7227,75, +CTSPillarNetworkA,7228,7228,7228,1989-10-16,722.5000000000957,722.47064,2015-01-01 02:00:28,bin7228,35, +CTSPillarNetworkA,7229,7229,7229,1989-10-17,722.6000000000957,722.5706,2015-01-01 02:00:29,bin7229,75, +CTSPillarNetworkA,7230,7230,7230,1989-10-18,722.7000000000958,722.6706,2015-01-01 02:00:30,bin7230,35, +CTSPillarNetworkA,7231,7231,7231,1989-10-19,722.8000000000958,722.77057,2015-01-01 02:00:31,bin7231,75, +CTSPillarNetworkA,7232,7232,7232,1989-10-20,722.9000000000958,722.87054,2015-01-01 02:00:32,bin7232,35, +CTSPillarNetworkA,7233,7233,7233,1989-10-21,723.0000000000958,722.9705,2015-01-01 02:00:33,bin7233,75, +CTSPillarNetworkA,7234,7234,7234,1989-10-22,723.1000000000959,723.0705,2015-01-01 02:00:34,bin7234,35, +CTSPillarNetworkA,7235,7235,7235,1989-10-23,723.2000000000959,723.1705,2015-01-01 02:00:35,bin7235,75, +CTSPillarNetworkA,7236,7236,7236,1989-10-24,723.3000000000959,723.27045,2015-01-01 02:00:36,bin7236,35, +CTSPillarNetworkA,7237,7237,7237,1989-10-25,723.4000000000959,723.3704,2015-01-01 02:00:37,bin7237,75, +CTSPillarNetworkA,7238,7238,7238,1989-10-26,723.500000000096,723.4704,2015-01-01 02:00:38,bin7238,35, +CTSPillarNetworkA,7239,7239,7239,1989-10-27,723.600000000096,723.5704,2015-01-01 02:00:39,bin7239,75, +CTSPillarNetworkA,7240,7240,7240,1989-10-28,723.700000000096,723.67035,2015-01-01 02:00:40,bin7240,35, +CTSPillarNetworkA,7241,7241,7241,1989-10-29,723.800000000096,723.7703,2015-01-01 02:00:41,bin7241,75, +CTSPillarNetworkA,7242,7242,7242,1989-10-30,723.900000000096,723.8703,2015-01-01 02:00:42,bin7242,35, +CTSPillarNetworkA,7243,7243,7243,1989-10-31,724.0000000000961,723.9703,2015-01-01 02:00:43,bin7243,75, +CTSPillarNetworkA,7244,7244,7244,1989-11-01,724.1000000000961,724.07025,2015-01-01 02:00:44,bin7244,35, +CTSPillarNetworkA,7245,7245,7245,1989-11-02,724.2000000000961,724.1702,2015-01-01 02:00:45,bin7245,75, +CTSPillarNetworkA,7246,7246,7246,1989-11-03,724.3000000000961,724.2702,2015-01-01 02:00:46,bin7246,35, +CTSPillarNetworkA,7247,7247,7247,1989-11-04,724.4000000000962,724.3702,2015-01-01 02:00:47,bin7247,75, +CTSPillarNetworkA,7248,7248,7248,1989-11-05,724.5000000000962,724.47015,2015-01-01 02:00:48,bin7248,35, +CTSPillarNetworkA,7249,7249,7249,1989-11-06,724.6000000000962,724.5701,2015-01-01 02:00:49,bin7249,75, +CTSPillarNetworkA,7250,7250,7250,1989-11-07,724.7000000000962,724.6701,2015-01-01 02:00:50,bin7250,35, +CTSPillarNetworkA,7251,7251,7251,1989-11-08,724.8000000000962,724.7701,2015-01-01 02:00:51,bin7251,75, +CTSPillarNetworkA,7252,7252,7252,1989-11-09,724.9000000000963,724.87006,2015-01-01 02:00:52,bin7252,35, +CTSPillarNetworkA,7253,7253,7253,1989-11-10,725.0000000000963,724.97003,2015-01-01 02:00:53,bin7253,75, +CTSPillarNetworkA,7254,7254,7254,1989-11-11,725.1000000000963,725.07,2015-01-01 02:00:54,bin7254,35, +CTSPillarNetworkA,7255,7255,7255,1989-11-12,725.2000000000963,725.17,2015-01-01 02:00:55,bin7255,75, +CTSPillarNetworkA,7256,7256,7256,1989-11-13,725.3000000000964,725.26996,2015-01-01 02:00:56,bin7256,35, +CTSPillarNetworkA,7257,7257,7257,1989-11-14,725.4000000000964,725.36993,2015-01-01 02:00:57,bin7257,75, +CTSPillarNetworkA,7258,7258,7258,1989-11-15,725.5000000000964,725.4699,2015-01-01 02:00:58,bin7258,35, +CTSPillarNetworkA,7259,7259,7259,1989-11-16,725.6000000000964,725.5699,2015-01-01 02:00:59,bin7259,75, +CTSPillarNetworkA,7260,7260,7260,1989-11-17,725.7000000000965,725.66986,2015-01-01 02:01:00,bin7260,35, +CTSPillarNetworkA,7261,7261,7261,1989-11-18,725.8000000000965,725.76984,2015-01-01 02:01:01,bin7261,75, +CTSPillarNetworkA,7262,7262,7262,1989-11-19,725.9000000000965,725.8698,2015-01-01 02:01:02,bin7262,35, +CTSPillarNetworkA,7263,7263,7263,1989-11-20,726.0000000000965,725.9698,2015-01-01 02:01:03,bin7263,75, +CTSPillarNetworkA,7264,7264,7264,1989-11-21,726.1000000000965,726.06976,2015-01-01 02:01:04,bin7264,35, +CTSPillarNetworkA,7265,7265,7265,1989-11-22,726.2000000000966,726.16974,2015-01-01 02:01:05,bin7265,75, +CTSPillarNetworkA,7266,7266,7266,1989-11-23,726.3000000000966,726.2697,2015-01-01 02:01:06,bin7266,35, +CTSPillarNetworkA,7267,7267,7267,1989-11-24,726.4000000000966,726.3697,2015-01-01 02:01:07,bin7267,75, +CTSPillarNetworkA,7268,7268,7268,1989-11-25,726.5000000000966,726.46967,2015-01-01 02:01:08,bin7268,35, +CTSPillarNetworkA,7269,7269,7269,1989-11-26,726.6000000000967,726.56964,2015-01-01 02:01:09,bin7269,75, +CTSPillarNetworkA,7270,7270,7270,1989-11-27,726.7000000000967,726.6696,2015-01-01 02:01:10,bin7270,35, +CTSPillarNetworkA,7271,7271,7271,1989-11-28,726.8000000000967,726.7696,2015-01-01 02:01:11,bin7271,75, +CTSPillarNetworkA,7272,7272,7272,1989-11-29,726.9000000000967,726.86957,2015-01-01 02:01:12,bin7272,35, +CTSPillarNetworkA,7273,7273,7273,1989-11-30,727.0000000000967,726.96954,2015-01-01 02:01:13,bin7273,75, +CTSPillarNetworkA,7274,7274,7274,1989-12-01,727.1000000000968,727.0695,2015-01-01 02:01:14,bin7274,35, +CTSPillarNetworkA,7275,7275,7275,1989-12-02,727.2000000000968,727.1695,2015-01-01 02:01:15,bin7275,75, +CTSPillarNetworkA,7276,7276,7276,1989-12-03,727.3000000000968,727.2695,2015-01-01 02:01:16,bin7276,35, +CTSPillarNetworkA,7277,7277,7277,1989-12-04,727.4000000000968,727.36945,2015-01-01 02:01:17,bin7277,75, +CTSPillarNetworkA,7278,7278,7278,1989-12-05,727.5000000000969,727.4694,2015-01-01 02:01:18,bin7278,35, +CTSPillarNetworkA,7279,7279,7279,1989-12-06,727.6000000000969,727.5694,2015-01-01 02:01:19,bin7279,75, +CTSPillarNetworkA,7280,7280,7280,1989-12-07,727.7000000000969,727.6694,2015-01-01 02:01:20,bin7280,35, +CTSPillarNetworkA,7281,7281,7281,1989-12-08,727.8000000000969,727.76935,2015-01-01 02:01:21,bin7281,75, +CTSPillarNetworkA,7282,7282,7282,1989-12-09,727.900000000097,727.8693,2015-01-01 02:01:22,bin7282,35, +CTSPillarNetworkA,7283,7283,7283,1989-12-10,728.000000000097,727.9693,2015-01-01 02:01:23,bin7283,75, +CTSPillarNetworkA,7284,7284,7284,1989-12-11,728.100000000097,728.0693,2015-01-01 02:01:24,bin7284,35, +CTSPillarNetworkA,7285,7285,7285,1989-12-12,728.200000000097,728.16925,2015-01-01 02:01:25,bin7285,75, +CTSPillarNetworkA,7286,7286,7286,1989-12-13,728.300000000097,728.2692,2015-01-01 02:01:26,bin7286,35, +CTSPillarNetworkA,7287,7287,7287,1989-12-14,728.4000000000971,728.3692,2015-01-01 02:01:27,bin7287,75, +CTSPillarNetworkA,7288,7288,7288,1989-12-15,728.5000000000971,728.4692,2015-01-01 02:01:28,bin7288,35, +CTSPillarNetworkA,7289,7289,7289,1989-12-16,728.6000000000971,728.56915,2015-01-01 02:01:29,bin7289,75, +CTSPillarNetworkA,7290,7290,7290,1989-12-17,728.7000000000971,728.6691,2015-01-01 02:01:30,bin7290,35, +CTSPillarNetworkA,7291,7291,7291,1989-12-18,728.8000000000972,728.7691,2015-01-01 02:01:31,bin7291,75, +CTSPillarNetworkA,7292,7292,7292,1989-12-19,728.9000000000972,728.8691,2015-01-01 02:01:32,bin7292,35, +CTSPillarNetworkA,7293,7293,7293,1989-12-20,729.0000000000972,728.96906,2015-01-01 02:01:33,bin7293,75, +CTSPillarNetworkA,7294,7294,7294,1989-12-21,729.1000000000972,729.06903,2015-01-01 02:01:34,bin7294,35, +CTSPillarNetworkA,7295,7295,7295,1989-12-22,729.2000000000972,729.169,2015-01-01 02:01:35,bin7295,75, +CTSPillarNetworkA,7296,7296,7296,1989-12-23,729.3000000000973,729.269,2015-01-01 02:01:36,bin7296,35, +CTSPillarNetworkA,7297,7297,7297,1989-12-24,729.4000000000973,729.36896,2015-01-01 02:01:37,bin7297,75, +CTSPillarNetworkA,7298,7298,7298,1989-12-25,729.5000000000973,729.46893,2015-01-01 02:01:38,bin7298,35, +CTSPillarNetworkA,7299,7299,7299,1989-12-26,729.6000000000973,729.5689,2015-01-01 02:01:39,bin7299,75, +CTSPillarNetworkA,7300,7300,7300,1989-12-27,729.7000000000974,729.6689,2015-01-01 02:01:40,bin7300,35, +CTSPillarNetworkA,7301,7301,7301,1989-12-28,729.8000000000974,729.76886,2015-01-01 02:01:41,bin7301,75, +CTSPillarNetworkA,7302,7302,7302,1989-12-29,729.9000000000974,729.86884,2015-01-01 02:01:42,bin7302,35, +CTSPillarNetworkA,7303,7303,7303,1989-12-30,730.0000000000974,729.9688,2015-01-01 02:01:43,bin7303,75, +CTSPillarNetworkA,7304,7304,7304,1989-12-31,730.1000000000975,730.0688,2015-01-01 02:01:44,bin7304,35, +CTSPillarNetworkA,7305,7305,7305,1990-01-01,730.2000000000975,730.16876,2015-01-01 02:01:45,bin7305,75, +CTSPillarNetworkA,7306,7306,7306,1990-01-02,730.3000000000975,730.26874,2015-01-01 02:01:46,bin7306,35, +CTSPillarNetworkA,7307,7307,7307,1990-01-03,730.4000000000975,730.3687,2015-01-01 02:01:47,bin7307,75, +CTSPillarNetworkA,7308,7308,7308,1990-01-04,730.5000000000975,730.4687,2015-01-01 02:01:48,bin7308,35, +CTSPillarNetworkA,7309,7309,7309,1990-01-05,730.6000000000976,730.56866,2015-01-01 02:01:49,bin7309,75, +CTSPillarNetworkA,7310,7310,7310,1990-01-06,730.7000000000976,730.66864,2015-01-01 02:01:50,bin7310,35, +CTSPillarNetworkA,7311,7311,7311,1990-01-07,730.8000000000976,730.7686,2015-01-01 02:01:51,bin7311,75, +CTSPillarNetworkA,7312,7312,7312,1990-01-08,730.9000000000976,730.8686,2015-01-01 02:01:52,bin7312,35, +CTSPillarNetworkA,7313,7313,7313,1990-01-09,731.0000000000977,730.96857,2015-01-01 02:01:53,bin7313,75, +CTSPillarNetworkA,7314,7314,7314,1990-01-10,731.1000000000977,731.06854,2015-01-01 02:01:54,bin7314,35, +CTSPillarNetworkA,7315,7315,7315,1990-01-11,731.2000000000977,731.1685,2015-01-01 02:01:55,bin7315,75, +CTSPillarNetworkA,7316,7316,7316,1990-01-12,731.3000000000977,731.2685,2015-01-01 02:01:56,bin7316,35, +CTSPillarNetworkA,7317,7317,7317,1990-01-13,731.4000000000977,731.36847,2015-01-01 02:01:57,bin7317,75, +CTSPillarNetworkA,7318,7318,7318,1990-01-14,731.5000000000978,731.46844,2015-01-01 02:01:58,bin7318,35, +CTSPillarNetworkA,7319,7319,7319,1990-01-15,731.6000000000978,731.5684,2015-01-01 02:01:59,bin7319,75, +CTSPillarNetworkA,7320,7320,7320,1990-01-16,731.7000000000978,731.6684,2015-01-01 02:02:00,bin7320,35, +CTSPillarNetworkA,7321,7321,7321,1990-01-17,731.8000000000978,731.7684,2015-01-01 02:02:01,bin7321,75, +CTSPillarNetworkA,7322,7322,7322,1990-01-18,731.9000000000979,731.86835,2015-01-01 02:02:02,bin7322,35, +CTSPillarNetworkA,7323,7323,7323,1990-01-19,732.0000000000979,731.9683,2015-01-01 02:02:03,bin7323,75, +CTSPillarNetworkA,7324,7324,7324,1990-01-20,732.1000000000979,732.0683,2015-01-01 02:02:04,bin7324,35, +CTSPillarNetworkA,7325,7325,7325,1990-01-21,732.2000000000979,732.1683,2015-01-01 02:02:05,bin7325,75, +CTSPillarNetworkA,7326,7326,7326,1990-01-22,732.300000000098,732.26825,2015-01-01 02:02:06,bin7326,35, +CTSPillarNetworkA,7327,7327,7327,1990-01-23,732.400000000098,732.3682,2015-01-01 02:02:07,bin7327,75, +CTSPillarNetworkA,7328,7328,7328,1990-01-24,732.500000000098,732.4682,2015-01-01 02:02:08,bin7328,35, +CTSPillarNetworkA,7329,7329,7329,1990-01-25,732.600000000098,732.5682,2015-01-01 02:02:09,bin7329,75, +CTSPillarNetworkA,7330,7330,7330,1990-01-26,732.700000000098,732.66815,2015-01-01 02:02:10,bin7330,35, +CTSPillarNetworkA,7331,7331,7331,1990-01-27,732.8000000000981,732.7681,2015-01-01 02:02:11,bin7331,75, +CTSPillarNetworkA,7332,7332,7332,1990-01-28,732.9000000000981,732.8681,2015-01-01 02:02:12,bin7332,35, +CTSPillarNetworkA,7333,7333,7333,1990-01-29,733.0000000000981,732.9681,2015-01-01 02:02:13,bin7333,75, +CTSPillarNetworkA,7334,7334,7334,1990-01-30,733.1000000000981,733.06805,2015-01-01 02:02:14,bin7334,35, +CTSPillarNetworkA,7335,7335,7335,1990-01-31,733.2000000000982,733.168,2015-01-01 02:02:15,bin7335,75, +CTSPillarNetworkA,7336,7336,7336,1990-02-01,733.3000000000982,733.268,2015-01-01 02:02:16,bin7336,35, +CTSPillarNetworkA,7337,7337,7337,1990-02-02,733.4000000000982,733.368,2015-01-01 02:02:17,bin7337,75, +CTSPillarNetworkA,7338,7338,7338,1990-02-03,733.5000000000982,733.46796,2015-01-01 02:02:18,bin7338,35, +CTSPillarNetworkA,7339,7339,7339,1990-02-04,733.6000000000982,733.56793,2015-01-01 02:02:19,bin7339,75, +CTSPillarNetworkA,7340,7340,7340,1990-02-05,733.7000000000983,733.6679,2015-01-01 02:02:20,bin7340,35, +CTSPillarNetworkA,7341,7341,7341,1990-02-06,733.8000000000983,733.7679,2015-01-01 02:02:21,bin7341,75, +CTSPillarNetworkA,7342,7342,7342,1990-02-07,733.9000000000983,733.86786,2015-01-01 02:02:22,bin7342,35, +CTSPillarNetworkA,7343,7343,7343,1990-02-08,734.0000000000983,733.96783,2015-01-01 02:02:23,bin7343,75, +CTSPillarNetworkA,7344,7344,7344,1990-02-09,734.1000000000984,734.0678,2015-01-01 02:02:24,bin7344,35, +CTSPillarNetworkA,7345,7345,7345,1990-02-10,734.2000000000984,734.1678,2015-01-01 02:02:25,bin7345,75, +CTSPillarNetworkA,7346,7346,7346,1990-02-11,734.3000000000984,734.26776,2015-01-01 02:02:26,bin7346,35, +CTSPillarNetworkA,7347,7347,7347,1990-02-12,734.4000000000984,734.36774,2015-01-01 02:02:27,bin7347,75, +CTSPillarNetworkA,7348,7348,7348,1990-02-13,734.5000000000985,734.4677,2015-01-01 02:02:28,bin7348,35, +CTSPillarNetworkA,7349,7349,7349,1990-02-14,734.6000000000985,734.5677,2015-01-01 02:02:29,bin7349,75, +CTSPillarNetworkA,7350,7350,7350,1990-02-15,734.7000000000985,734.66766,2015-01-01 02:02:30,bin7350,35, +CTSPillarNetworkA,7351,7351,7351,1990-02-16,734.8000000000985,734.76764,2015-01-01 02:02:31,bin7351,75, +CTSPillarNetworkA,7352,7352,7352,1990-02-17,734.9000000000985,734.8676,2015-01-01 02:02:32,bin7352,35, +CTSPillarNetworkA,7353,7353,7353,1990-02-18,735.0000000000986,734.9676,2015-01-01 02:02:33,bin7353,75, +CTSPillarNetworkA,7354,7354,7354,1990-02-19,735.1000000000986,735.06757,2015-01-01 02:02:34,bin7354,35, +CTSPillarNetworkA,7355,7355,7355,1990-02-20,735.2000000000986,735.16754,2015-01-01 02:02:35,bin7355,75, +CTSPillarNetworkA,7356,7356,7356,1990-02-21,735.3000000000986,735.2675,2015-01-01 02:02:36,bin7356,35, +CTSPillarNetworkA,7357,7357,7357,1990-02-22,735.4000000000987,735.3675,2015-01-01 02:02:37,bin7357,75, +CTSPillarNetworkA,7358,7358,7358,1990-02-23,735.5000000000987,735.46747,2015-01-01 02:02:38,bin7358,35, +CTSPillarNetworkA,7359,7359,7359,1990-02-24,735.6000000000987,735.56744,2015-01-01 02:02:39,bin7359,75, +CTSPillarNetworkA,7360,7360,7360,1990-02-25,735.7000000000987,735.6674,2015-01-01 02:02:40,bin7360,35, +CTSPillarNetworkA,7361,7361,7361,1990-02-26,735.8000000000987,735.7674,2015-01-01 02:02:41,bin7361,75, +CTSPillarNetworkA,7362,7362,7362,1990-02-27,735.9000000000988,735.8674,2015-01-01 02:02:42,bin7362,35, +CTSPillarNetworkA,7363,7363,7363,1990-02-28,736.0000000000988,735.96735,2015-01-01 02:02:43,bin7363,75, +CTSPillarNetworkA,7364,7364,7364,1990-03-01,736.1000000000988,736.0673,2015-01-01 02:02:44,bin7364,35, +CTSPillarNetworkA,7365,7365,7365,1990-03-02,736.2000000000988,736.1673,2015-01-01 02:02:45,bin7365,75, +CTSPillarNetworkA,7366,7366,7366,1990-03-03,736.3000000000989,736.2673,2015-01-01 02:02:46,bin7366,35, +CTSPillarNetworkA,7367,7367,7367,1990-03-04,736.4000000000989,736.36725,2015-01-01 02:02:47,bin7367,75, +CTSPillarNetworkA,7368,7368,7368,1990-03-05,736.5000000000989,736.4672,2015-01-01 02:02:48,bin7368,35, +CTSPillarNetworkA,7369,7369,7369,1990-03-06,736.6000000000989,736.5672,2015-01-01 02:02:49,bin7369,75, +CTSPillarNetworkA,7370,7370,7370,1990-03-07,736.700000000099,736.6672,2015-01-01 02:02:50,bin7370,35, +CTSPillarNetworkA,7371,7371,7371,1990-03-08,736.800000000099,736.76715,2015-01-01 02:02:51,bin7371,75, +CTSPillarNetworkA,7372,7372,7372,1990-03-09,736.900000000099,736.8671,2015-01-01 02:02:52,bin7372,35, +CTSPillarNetworkA,7373,7373,7373,1990-03-10,737.000000000099,736.9671,2015-01-01 02:02:53,bin7373,75, +CTSPillarNetworkA,7374,7374,7374,1990-03-11,737.100000000099,737.0671,2015-01-01 02:02:54,bin7374,35, +CTSPillarNetworkA,7375,7375,7375,1990-03-12,737.2000000000991,737.16705,2015-01-01 02:02:55,bin7375,75, +CTSPillarNetworkA,7376,7376,7376,1990-03-13,737.3000000000991,737.267,2015-01-01 02:02:56,bin7376,35, +CTSPillarNetworkA,7377,7377,7377,1990-03-14,737.4000000000991,737.367,2015-01-01 02:02:57,bin7377,75, +CTSPillarNetworkA,7378,7378,7378,1990-03-15,737.5000000000991,737.467,2015-01-01 02:02:58,bin7378,35, +CTSPillarNetworkA,7379,7379,7379,1990-03-16,737.6000000000992,737.56696,2015-01-01 02:02:59,bin7379,75, +CTSPillarNetworkA,7380,7380,7380,1990-03-17,737.7000000000992,737.66693,2015-01-01 02:03:00,bin7380,35, +CTSPillarNetworkA,7381,7381,7381,1990-03-18,737.8000000000992,737.7669,2015-01-01 02:03:01,bin7381,75, +CTSPillarNetworkA,7382,7382,7382,1990-03-19,737.9000000000992,737.8669,2015-01-01 02:03:02,bin7382,35, +CTSPillarNetworkA,7383,7383,7383,1990-03-20,738.0000000000992,737.96686,2015-01-01 02:03:03,bin7383,75, +CTSPillarNetworkA,7384,7384,7384,1990-03-21,738.1000000000993,738.06683,2015-01-01 02:03:04,bin7384,35, +CTSPillarNetworkA,7385,7385,7385,1990-03-22,738.2000000000993,738.1668,2015-01-01 02:03:05,bin7385,75, +CTSPillarNetworkA,7386,7386,7386,1990-03-23,738.3000000000993,738.2668,2015-01-01 02:03:06,bin7386,35, +CTSPillarNetworkA,7387,7387,7387,1990-03-24,738.4000000000993,738.36676,2015-01-01 02:03:07,bin7387,75, +CTSPillarNetworkA,7388,7388,7388,1990-03-25,738.5000000000994,738.46674,2015-01-01 02:03:08,bin7388,35, +CTSPillarNetworkA,7389,7389,7389,1990-03-26,738.6000000000994,738.5667,2015-01-01 02:03:09,bin7389,75, +CTSPillarNetworkA,7390,7390,7390,1990-03-27,738.7000000000994,738.6667,2015-01-01 02:03:10,bin7390,35, +CTSPillarNetworkA,7391,7391,7391,1990-03-28,738.8000000000994,738.76666,2015-01-01 02:03:11,bin7391,75, +CTSPillarNetworkA,7392,7392,7392,1990-03-29,738.9000000000995,738.86664,2015-01-01 02:03:12,bin7392,35, +CTSPillarNetworkA,7393,7393,7393,1990-03-30,739.0000000000995,738.9666,2015-01-01 02:03:13,bin7393,75, +CTSPillarNetworkA,7394,7394,7394,1990-03-31,739.1000000000995,739.0666,2015-01-01 02:03:14,bin7394,35, +CTSPillarNetworkA,7395,7395,7395,1990-04-01,739.2000000000995,739.16656,2015-01-01 02:03:15,bin7395,75, +CTSPillarNetworkA,7396,7396,7396,1990-04-02,739.3000000000995,739.26654,2015-01-01 02:03:16,bin7396,35, +CTSPillarNetworkA,7397,7397,7397,1990-04-03,739.4000000000996,739.3665,2015-01-01 02:03:17,bin7397,75, +CTSPillarNetworkA,7398,7398,7398,1990-04-04,739.5000000000996,739.4665,2015-01-01 02:03:18,bin7398,35, +CTSPillarNetworkA,7399,7399,7399,1990-04-05,739.6000000000996,739.56647,2015-01-01 02:03:19,bin7399,75, +CTSPillarNetworkA,7400,7400,7400,1990-04-06,739.7000000000996,739.66644,2015-01-01 02:03:20,bin7400,35, +CTSPillarNetworkA,7401,7401,7401,1990-04-07,739.8000000000997,739.7664,2015-01-01 02:03:21,bin7401,75, +CTSPillarNetworkA,7402,7402,7402,1990-04-08,739.9000000000997,739.8664,2015-01-01 02:03:22,bin7402,35, +CTSPillarNetworkA,7403,7403,7403,1990-04-09,740.0000000000997,739.9664,2015-01-01 02:03:23,bin7403,75, +CTSPillarNetworkA,7404,7404,7404,1990-04-10,740.1000000000997,740.06635,2015-01-01 02:03:24,bin7404,35, +CTSPillarNetworkA,7405,7405,7405,1990-04-11,740.2000000000997,740.1663,2015-01-01 02:03:25,bin7405,75, +CTSPillarNetworkA,7406,7406,7406,1990-04-12,740.3000000000998,740.2663,2015-01-01 02:03:26,bin7406,35, +CTSPillarNetworkA,7407,7407,7407,1990-04-13,740.4000000000998,740.3663,2015-01-01 02:03:27,bin7407,75, +CTSPillarNetworkA,7408,7408,7408,1990-04-14,740.5000000000998,740.46625,2015-01-01 02:03:28,bin7408,35, +CTSPillarNetworkA,7409,7409,7409,1990-04-15,740.6000000000998,740.5662,2015-01-01 02:03:29,bin7409,75, +CTSPillarNetworkA,7410,7410,7410,1990-04-16,740.7000000000999,740.6662,2015-01-01 02:03:30,bin7410,35, +CTSPillarNetworkA,7411,7411,7411,1990-04-17,740.8000000000999,740.7662,2015-01-01 02:03:31,bin7411,75, +CTSPillarNetworkA,7412,7412,7412,1990-04-18,740.9000000000999,740.86615,2015-01-01 02:03:32,bin7412,35, +CTSPillarNetworkA,7413,7413,7413,1990-04-19,741.0000000000999,740.9661,2015-01-01 02:03:33,bin7413,75, +CTSPillarNetworkA,7414,7414,7414,1990-04-20,741.1000000001,741.0661,2015-01-01 02:03:34,bin7414,35, +CTSPillarNetworkA,7415,7415,7415,1990-04-21,741.2000000001,741.1661,2015-01-01 02:03:35,bin7415,75, +CTSPillarNetworkA,7416,7416,7416,1990-04-22,741.3000000001,741.26605,2015-01-01 02:03:36,bin7416,35, +CTSPillarNetworkA,7417,7417,7417,1990-04-23,741.4000000001,741.366,2015-01-01 02:03:37,bin7417,75, +CTSPillarNetworkA,7418,7418,7418,1990-04-24,741.5000000001,741.466,2015-01-01 02:03:38,bin7418,35, +CTSPillarNetworkA,7419,7419,7419,1990-04-25,741.6000000001001,741.566,2015-01-01 02:03:39,bin7419,75, +CTSPillarNetworkA,7420,7420,7420,1990-04-26,741.7000000001001,741.66595,2015-01-01 02:03:40,bin7420,35, +CTSPillarNetworkA,7421,7421,7421,1990-04-27,741.8000000001001,741.7659,2015-01-01 02:03:41,bin7421,75, +CTSPillarNetworkA,7422,7422,7422,1990-04-28,741.9000000001001,741.8659,2015-01-01 02:03:42,bin7422,35, +CTSPillarNetworkA,7423,7423,7423,1990-04-29,742.0000000001002,741.9659,2015-01-01 02:03:43,bin7423,75, +CTSPillarNetworkA,7424,7424,7424,1990-04-30,742.1000000001002,742.06586,2015-01-01 02:03:44,bin7424,35, +CTSPillarNetworkA,7425,7425,7425,1990-05-01,742.2000000001002,742.16583,2015-01-01 02:03:45,bin7425,75, +CTSPillarNetworkA,7426,7426,7426,1990-05-02,742.3000000001002,742.2658,2015-01-01 02:03:46,bin7426,35, +CTSPillarNetworkA,7427,7427,7427,1990-05-03,742.4000000001002,742.3658,2015-01-01 02:03:47,bin7427,75, +CTSPillarNetworkA,7428,7428,7428,1990-05-04,742.5000000001003,742.46576,2015-01-01 02:03:48,bin7428,35, +CTSPillarNetworkA,7429,7429,7429,1990-05-05,742.6000000001003,742.56573,2015-01-01 02:03:49,bin7429,75, +CTSPillarNetworkA,7430,7430,7430,1990-05-06,742.7000000001003,742.6657,2015-01-01 02:03:50,bin7430,35, +CTSPillarNetworkA,7431,7431,7431,1990-05-07,742.8000000001003,742.7657,2015-01-01 02:03:51,bin7431,75, +CTSPillarNetworkA,7432,7432,7432,1990-05-08,742.9000000001004,742.86566,2015-01-01 02:03:52,bin7432,35, +CTSPillarNetworkA,7433,7433,7433,1990-05-09,743.0000000001004,742.96564,2015-01-01 02:03:53,bin7433,75, +CTSPillarNetworkA,7434,7434,7434,1990-05-10,743.1000000001004,743.0656,2015-01-01 02:03:54,bin7434,35, +CTSPillarNetworkA,7435,7435,7435,1990-05-11,743.2000000001004,743.1656,2015-01-01 02:03:55,bin7435,75, +CTSPillarNetworkA,7436,7436,7436,1990-05-12,743.3000000001005,743.26556,2015-01-01 02:03:56,bin7436,35, +CTSPillarNetworkA,7437,7437,7437,1990-05-13,743.4000000001005,743.36554,2015-01-01 02:03:57,bin7437,75, +CTSPillarNetworkA,7438,7438,7438,1990-05-14,743.5000000001005,743.4655,2015-01-01 02:03:58,bin7438,35, +CTSPillarNetworkA,7439,7439,7439,1990-05-15,743.6000000001005,743.5655,2015-01-01 02:03:59,bin7439,75, +CTSPillarNetworkA,7440,7440,7440,1990-05-16,743.7000000001005,743.66547,2015-01-01 02:04:00,bin7440,35, +CTSPillarNetworkA,7441,7441,7441,1990-05-17,743.8000000001006,743.76544,2015-01-01 02:04:01,bin7441,75, +CTSPillarNetworkA,7442,7442,7442,1990-05-18,743.9000000001006,743.8654,2015-01-01 02:04:02,bin7442,35, +CTSPillarNetworkA,7443,7443,7443,1990-05-19,744.0000000001006,743.9654,2015-01-01 02:04:03,bin7443,75, +CTSPillarNetworkA,7444,7444,7444,1990-05-20,744.1000000001006,744.06537,2015-01-01 02:04:04,bin7444,35, +CTSPillarNetworkA,7445,7445,7445,1990-05-21,744.2000000001007,744.16534,2015-01-01 02:04:05,bin7445,75, +CTSPillarNetworkA,7446,7446,7446,1990-05-22,744.3000000001007,744.2653,2015-01-01 02:04:06,bin7446,35, +CTSPillarNetworkA,7447,7447,7447,1990-05-23,744.4000000001007,744.3653,2015-01-01 02:04:07,bin7447,75, +CTSPillarNetworkA,7448,7448,7448,1990-05-24,744.5000000001007,744.4653,2015-01-01 02:04:08,bin7448,35, +CTSPillarNetworkA,7449,7449,7449,1990-05-25,744.6000000001007,744.56525,2015-01-01 02:04:09,bin7449,75, +CTSPillarNetworkA,7450,7450,7450,1990-05-26,744.7000000001008,744.6652,2015-01-01 02:04:10,bin7450,35, +CTSPillarNetworkA,7451,7451,7451,1990-05-27,744.8000000001008,744.7652,2015-01-01 02:04:11,bin7451,75, +CTSPillarNetworkA,7452,7452,7452,1990-05-28,744.9000000001008,744.8652,2015-01-01 02:04:12,bin7452,35, +CTSPillarNetworkA,7453,7453,7453,1990-05-29,745.0000000001008,744.96515,2015-01-01 02:04:13,bin7453,75, +CTSPillarNetworkA,7454,7454,7454,1990-05-30,745.1000000001009,745.0651,2015-01-01 02:04:14,bin7454,35, +CTSPillarNetworkA,7455,7455,7455,1990-05-31,745.2000000001009,745.1651,2015-01-01 02:04:15,bin7455,75, +CTSPillarNetworkA,7456,7456,7456,1990-06-01,745.3000000001009,745.2651,2015-01-01 02:04:16,bin7456,35, +CTSPillarNetworkA,7457,7457,7457,1990-06-02,745.4000000001009,745.36505,2015-01-01 02:04:17,bin7457,75, +CTSPillarNetworkA,7458,7458,7458,1990-06-03,745.500000000101,745.465,2015-01-01 02:04:18,bin7458,35, +CTSPillarNetworkA,7459,7459,7459,1990-06-04,745.600000000101,745.565,2015-01-01 02:04:19,bin7459,75, +CTSPillarNetworkA,7460,7460,7460,1990-06-05,745.700000000101,745.665,2015-01-01 02:04:20,bin7460,35, +CTSPillarNetworkA,7461,7461,7461,1990-06-06,745.800000000101,745.76495,2015-01-01 02:04:21,bin7461,75, +CTSPillarNetworkA,7462,7462,7462,1990-06-07,745.900000000101,745.8649,2015-01-01 02:04:22,bin7462,35, +CTSPillarNetworkA,7463,7463,7463,1990-06-08,746.0000000001011,745.9649,2015-01-01 02:04:23,bin7463,75, +CTSPillarNetworkA,7464,7464,7464,1990-06-09,746.1000000001011,746.0649,2015-01-01 02:04:24,bin7464,35, +CTSPillarNetworkA,7465,7465,7465,1990-06-10,746.2000000001011,746.16486,2015-01-01 02:04:25,bin7465,75, +CTSPillarNetworkA,7466,7466,7466,1990-06-11,746.3000000001011,746.26483,2015-01-01 02:04:26,bin7466,35, +CTSPillarNetworkA,7467,7467,7467,1990-06-12,746.4000000001012,746.3648,2015-01-01 02:04:27,bin7467,75, +CTSPillarNetworkA,7468,7468,7468,1990-06-13,746.5000000001012,746.4648,2015-01-01 02:04:28,bin7468,35, +CTSPillarNetworkA,7469,7469,7469,1990-06-14,746.6000000001012,746.56476,2015-01-01 02:04:29,bin7469,75, +CTSPillarNetworkA,7470,7470,7470,1990-06-15,746.7000000001012,746.66473,2015-01-01 02:04:30,bin7470,35, +CTSPillarNetworkA,7471,7471,7471,1990-06-16,746.8000000001012,746.7647,2015-01-01 02:04:31,bin7471,75, +CTSPillarNetworkA,7472,7472,7472,1990-06-17,746.9000000001013,746.8647,2015-01-01 02:04:32,bin7472,35, +CTSPillarNetworkA,7473,7473,7473,1990-06-18,747.0000000001013,746.96466,2015-01-01 02:04:33,bin7473,75, +CTSPillarNetworkA,7474,7474,7474,1990-06-19,747.1000000001013,747.06464,2015-01-01 02:04:34,bin7474,35, +CTSPillarNetworkA,7475,7475,7475,1990-06-20,747.2000000001013,747.1646,2015-01-01 02:04:35,bin7475,75, +CTSPillarNetworkA,7476,7476,7476,1990-06-21,747.3000000001014,747.2646,2015-01-01 02:04:36,bin7476,35, +CTSPillarNetworkA,7477,7477,7477,1990-06-22,747.4000000001014,747.36456,2015-01-01 02:04:37,bin7477,75, +CTSPillarNetworkA,7478,7478,7478,1990-06-23,747.5000000001014,747.46454,2015-01-01 02:04:38,bin7478,35, +CTSPillarNetworkA,7479,7479,7479,1990-06-24,747.6000000001014,747.5645,2015-01-01 02:04:39,bin7479,75, +CTSPillarNetworkA,7480,7480,7480,1990-06-25,747.7000000001015,747.6645,2015-01-01 02:04:40,bin7480,35, +CTSPillarNetworkA,7481,7481,7481,1990-06-26,747.8000000001015,747.76447,2015-01-01 02:04:41,bin7481,75, +CTSPillarNetworkA,7482,7482,7482,1990-06-27,747.9000000001015,747.86444,2015-01-01 02:04:42,bin7482,35, +CTSPillarNetworkA,7483,7483,7483,1990-06-28,748.0000000001015,747.9644,2015-01-01 02:04:43,bin7483,75, +CTSPillarNetworkA,7484,7484,7484,1990-06-29,748.1000000001015,748.0644,2015-01-01 02:04:44,bin7484,35, +CTSPillarNetworkA,7485,7485,7485,1990-06-30,748.2000000001016,748.16437,2015-01-01 02:04:45,bin7485,75, +CTSPillarNetworkA,7486,7486,7486,1990-07-01,748.3000000001016,748.26434,2015-01-01 02:04:46,bin7486,35, +CTSPillarNetworkA,7487,7487,7487,1990-07-02,748.4000000001016,748.3643,2015-01-01 02:04:47,bin7487,75, +CTSPillarNetworkA,7488,7488,7488,1990-07-03,748.5000000001016,748.4643,2015-01-01 02:04:48,bin7488,35, +CTSPillarNetworkA,7489,7489,7489,1990-07-04,748.6000000001017,748.5643,2015-01-01 02:04:49,bin7489,75, +CTSPillarNetworkA,7490,7490,7490,1990-07-05,748.7000000001017,748.66425,2015-01-01 02:04:50,bin7490,35, +CTSPillarNetworkA,7491,7491,7491,1990-07-06,748.8000000001017,748.7642,2015-01-01 02:04:51,bin7491,75, +CTSPillarNetworkA,7492,7492,7492,1990-07-07,748.9000000001017,748.8642,2015-01-01 02:04:52,bin7492,35, +CTSPillarNetworkA,7493,7493,7493,1990-07-08,749.0000000001017,748.9642,2015-01-01 02:04:53,bin7493,75, +CTSPillarNetworkA,7494,7494,7494,1990-07-09,749.1000000001018,749.06415,2015-01-01 02:04:54,bin7494,35, +CTSPillarNetworkA,7495,7495,7495,1990-07-10,749.2000000001018,749.1641,2015-01-01 02:04:55,bin7495,75, +CTSPillarNetworkA,7496,7496,7496,1990-07-11,749.3000000001018,749.2641,2015-01-01 02:04:56,bin7496,35, +CTSPillarNetworkA,7497,7497,7497,1990-07-12,749.4000000001018,749.3641,2015-01-01 02:04:57,bin7497,75, +CTSPillarNetworkA,7498,7498,7498,1990-07-13,749.5000000001019,749.46405,2015-01-01 02:04:58,bin7498,35, +CTSPillarNetworkA,7499,7499,7499,1990-07-14,749.6000000001019,749.564,2015-01-01 02:04:59,bin7499,75, +CTSPillarNetworkA,7500,7500,7500,1990-07-15,749.7000000001019,749.664,2015-01-01 02:05:00,bin7500,35, +CTSPillarNetworkA,7501,7501,7501,1990-07-16,749.8000000001019,749.764,2015-01-01 02:05:01,bin7501,75, +CTSPillarNetworkA,7502,7502,7502,1990-07-17,749.900000000102,749.86395,2015-01-01 02:05:02,bin7502,35, +CTSPillarNetworkA,7503,7503,7503,1990-07-18,750.000000000102,749.9639,2015-01-01 02:05:03,bin7503,75, +CTSPillarNetworkA,7504,7504,7504,1990-07-19,750.100000000102,750.0639,2015-01-01 02:05:04,bin7504,35, +CTSPillarNetworkA,7505,7505,7505,1990-07-20,750.200000000102,750.1639,2015-01-01 02:05:05,bin7505,75, +CTSPillarNetworkA,7506,7506,7506,1990-07-21,750.300000000102,750.26385,2015-01-01 02:05:06,bin7506,35, +CTSPillarNetworkA,7507,7507,7507,1990-07-22,750.4000000001021,750.36383,2015-01-01 02:05:07,bin7507,75, +CTSPillarNetworkA,7508,7508,7508,1990-07-23,750.5000000001021,750.4638,2015-01-01 02:05:08,bin7508,35, +CTSPillarNetworkA,7509,7509,7509,1990-07-24,750.6000000001021,750.5638,2015-01-01 02:05:09,bin7509,75, +CTSPillarNetworkA,7510,7510,7510,1990-07-25,750.7000000001021,750.66376,2015-01-01 02:05:10,bin7510,35, +CTSPillarNetworkA,7511,7511,7511,1990-07-26,750.8000000001022,750.76373,2015-01-01 02:05:11,bin7511,75, +CTSPillarNetworkA,7512,7512,7512,1990-07-27,750.9000000001022,750.8637,2015-01-01 02:05:12,bin7512,35, +CTSPillarNetworkA,7513,7513,7513,1990-07-28,751.0000000001022,750.9637,2015-01-01 02:05:13,bin7513,75, +CTSPillarNetworkA,7514,7514,7514,1990-07-29,751.1000000001022,751.06366,2015-01-01 02:05:14,bin7514,35, +CTSPillarNetworkA,7515,7515,7515,1990-07-30,751.2000000001022,751.16364,2015-01-01 02:05:15,bin7515,75, +CTSPillarNetworkA,7516,7516,7516,1990-07-31,751.3000000001023,751.2636,2015-01-01 02:05:16,bin7516,35, +CTSPillarNetworkA,7517,7517,7517,1990-08-01,751.4000000001023,751.3636,2015-01-01 02:05:17,bin7517,75, +CTSPillarNetworkA,7518,7518,7518,1990-08-02,751.5000000001023,751.46356,2015-01-01 02:05:18,bin7518,35, +CTSPillarNetworkA,7519,7519,7519,1990-08-03,751.6000000001023,751.56354,2015-01-01 02:05:19,bin7519,75, +CTSPillarNetworkA,7520,7520,7520,1990-08-04,751.7000000001024,751.6635,2015-01-01 02:05:20,bin7520,35, +CTSPillarNetworkA,7521,7521,7521,1990-08-05,751.8000000001024,751.7635,2015-01-01 02:05:21,bin7521,75, +CTSPillarNetworkA,7522,7522,7522,1990-08-06,751.9000000001024,751.86346,2015-01-01 02:05:22,bin7522,35, +CTSPillarNetworkA,7523,7523,7523,1990-08-07,752.0000000001024,751.96344,2015-01-01 02:05:23,bin7523,75, +CTSPillarNetworkA,7524,7524,7524,1990-08-08,752.1000000001025,752.0634,2015-01-01 02:05:24,bin7524,35, +CTSPillarNetworkA,7525,7525,7525,1990-08-09,752.2000000001025,752.1634,2015-01-01 02:05:25,bin7525,75, +CTSPillarNetworkA,7526,7526,7526,1990-08-10,752.3000000001025,752.26337,2015-01-01 02:05:26,bin7526,35, +CTSPillarNetworkA,7527,7527,7527,1990-08-11,752.4000000001025,752.36334,2015-01-01 02:05:27,bin7527,75, +CTSPillarNetworkA,7528,7528,7528,1990-08-12,752.5000000001025,752.4633,2015-01-01 02:05:28,bin7528,35, +CTSPillarNetworkA,7529,7529,7529,1990-08-13,752.6000000001026,752.5633,2015-01-01 02:05:29,bin7529,75, +CTSPillarNetworkA,7530,7530,7530,1990-08-14,752.7000000001026,752.66327,2015-01-01 02:05:30,bin7530,35, +CTSPillarNetworkA,7531,7531,7531,1990-08-15,752.8000000001026,752.76324,2015-01-01 02:05:31,bin7531,75, +CTSPillarNetworkA,7532,7532,7532,1990-08-16,752.9000000001026,752.8632,2015-01-01 02:05:32,bin7532,35, +CTSPillarNetworkA,7533,7533,7533,1990-08-17,753.0000000001027,752.9632,2015-01-01 02:05:33,bin7533,75, +CTSPillarNetworkA,7534,7534,7534,1990-08-18,753.1000000001027,753.0632,2015-01-01 02:05:34,bin7534,35, +CTSPillarNetworkA,7535,7535,7535,1990-08-19,753.2000000001027,753.16315,2015-01-01 02:05:35,bin7535,75, +CTSPillarNetworkA,7536,7536,7536,1990-08-20,753.3000000001027,753.2631,2015-01-01 02:05:36,bin7536,35, +CTSPillarNetworkA,7537,7537,7537,1990-08-21,753.4000000001028,753.3631,2015-01-01 02:05:37,bin7537,75, +CTSPillarNetworkA,7538,7538,7538,1990-08-22,753.5000000001028,753.4631,2015-01-01 02:05:38,bin7538,35, +CTSPillarNetworkA,7539,7539,7539,1990-08-23,753.6000000001028,753.56305,2015-01-01 02:05:39,bin7539,75, +CTSPillarNetworkA,7540,7540,7540,1990-08-24,753.7000000001028,753.663,2015-01-01 02:05:40,bin7540,35, +CTSPillarNetworkA,7541,7541,7541,1990-08-25,753.8000000001028,753.763,2015-01-01 02:05:41,bin7541,75, +CTSPillarNetworkA,7542,7542,7542,1990-08-26,753.9000000001029,753.863,2015-01-01 02:05:42,bin7542,35, +CTSPillarNetworkA,7543,7543,7543,1990-08-27,754.0000000001029,753.96295,2015-01-01 02:05:43,bin7543,75, +CTSPillarNetworkA,7544,7544,7544,1990-08-28,754.1000000001029,754.0629,2015-01-01 02:05:44,bin7544,35, +CTSPillarNetworkA,7545,7545,7545,1990-08-29,754.2000000001029,754.1629,2015-01-01 02:05:45,bin7545,75, +CTSPillarNetworkA,7546,7546,7546,1990-08-30,754.300000000103,754.2629,2015-01-01 02:05:46,bin7546,35, +CTSPillarNetworkA,7547,7547,7547,1990-08-31,754.400000000103,754.36285,2015-01-01 02:05:47,bin7547,75, +CTSPillarNetworkA,7548,7548,7548,1990-09-01,754.500000000103,754.4628,2015-01-01 02:05:48,bin7548,35, +CTSPillarNetworkA,7549,7549,7549,1990-09-02,754.600000000103,754.5628,2015-01-01 02:05:49,bin7549,75, +CTSPillarNetworkA,7550,7550,7550,1990-09-03,754.700000000103,754.6628,2015-01-01 02:05:50,bin7550,35, +CTSPillarNetworkA,7551,7551,7551,1990-09-04,754.8000000001031,754.76276,2015-01-01 02:05:51,bin7551,75, +CTSPillarNetworkA,7552,7552,7552,1990-09-05,754.9000000001031,754.86273,2015-01-01 02:05:52,bin7552,35, +CTSPillarNetworkA,7553,7553,7553,1990-09-06,755.0000000001031,754.9627,2015-01-01 02:05:53,bin7553,75, +CTSPillarNetworkA,7554,7554,7554,1990-09-07,755.1000000001031,755.0627,2015-01-01 02:05:54,bin7554,35, +CTSPillarNetworkA,7555,7555,7555,1990-09-08,755.2000000001032,755.16266,2015-01-01 02:05:55,bin7555,75, +CTSPillarNetworkA,7556,7556,7556,1990-09-09,755.3000000001032,755.26263,2015-01-01 02:05:56,bin7556,35, +CTSPillarNetworkA,7557,7557,7557,1990-09-10,755.4000000001032,755.3626,2015-01-01 02:05:57,bin7557,75, +CTSPillarNetworkA,7558,7558,7558,1990-09-11,755.5000000001032,755.4626,2015-01-01 02:05:58,bin7558,35, +CTSPillarNetworkA,7559,7559,7559,1990-09-12,755.6000000001033,755.56256,2015-01-01 02:05:59,bin7559,75, +CTSPillarNetworkA,7560,7560,7560,1990-09-13,755.7000000001033,755.66254,2015-01-01 02:06:00,bin7560,35, +CTSPillarNetworkA,7561,7561,7561,1990-09-14,755.8000000001033,755.7625,2015-01-01 02:06:01,bin7561,75, +CTSPillarNetworkA,7562,7562,7562,1990-09-15,755.9000000001033,755.8625,2015-01-01 02:06:02,bin7562,35, +CTSPillarNetworkA,7563,7563,7563,1990-09-16,756.0000000001033,755.96246,2015-01-01 02:06:03,bin7563,75, +CTSPillarNetworkA,7564,7564,7564,1990-09-17,756.1000000001034,756.06244,2015-01-01 02:06:04,bin7564,35, +CTSPillarNetworkA,7565,7565,7565,1990-09-18,756.2000000001034,756.1624,2015-01-01 02:06:05,bin7565,75, +CTSPillarNetworkA,7566,7566,7566,1990-09-19,756.3000000001034,756.2624,2015-01-01 02:06:06,bin7566,35, +CTSPillarNetworkA,7567,7567,7567,1990-09-20,756.4000000001034,756.36237,2015-01-01 02:06:07,bin7567,75, +CTSPillarNetworkA,7568,7568,7568,1990-09-21,756.5000000001035,756.46234,2015-01-01 02:06:08,bin7568,35, +CTSPillarNetworkA,7569,7569,7569,1990-09-22,756.6000000001035,756.5623,2015-01-01 02:06:09,bin7569,75, +CTSPillarNetworkA,7570,7570,7570,1990-09-23,756.7000000001035,756.6623,2015-01-01 02:06:10,bin7570,35, +CTSPillarNetworkA,7571,7571,7571,1990-09-24,756.8000000001035,756.76227,2015-01-01 02:06:11,bin7571,75, +CTSPillarNetworkA,7572,7572,7572,1990-09-25,756.9000000001035,756.86224,2015-01-01 02:06:12,bin7572,35, +CTSPillarNetworkA,7573,7573,7573,1990-09-26,757.0000000001036,756.9622,2015-01-01 02:06:13,bin7573,75, +CTSPillarNetworkA,7574,7574,7574,1990-09-27,757.1000000001036,757.0622,2015-01-01 02:06:14,bin7574,35, +CTSPillarNetworkA,7575,7575,7575,1990-09-28,757.2000000001036,757.1622,2015-01-01 02:06:15,bin7575,75, +CTSPillarNetworkA,7576,7576,7576,1990-09-29,757.3000000001036,757.26215,2015-01-01 02:06:16,bin7576,35, +CTSPillarNetworkA,7577,7577,7577,1990-09-30,757.4000000001037,757.3621,2015-01-01 02:06:17,bin7577,75, +CTSPillarNetworkA,7578,7578,7578,1990-10-01,757.5000000001037,757.4621,2015-01-01 02:06:18,bin7578,35, +CTSPillarNetworkA,7579,7579,7579,1990-10-02,757.6000000001037,757.5621,2015-01-01 02:06:19,bin7579,75, +CTSPillarNetworkA,7580,7580,7580,1990-10-03,757.7000000001037,757.66205,2015-01-01 02:06:20,bin7580,35, +CTSPillarNetworkA,7581,7581,7581,1990-10-04,757.8000000001038,757.762,2015-01-01 02:06:21,bin7581,75, +CTSPillarNetworkA,7582,7582,7582,1990-10-05,757.9000000001038,757.862,2015-01-01 02:06:22,bin7582,35, +CTSPillarNetworkA,7583,7583,7583,1990-10-06,758.0000000001038,757.962,2015-01-01 02:06:23,bin7583,75, +CTSPillarNetworkA,7584,7584,7584,1990-10-07,758.1000000001038,758.06195,2015-01-01 02:06:24,bin7584,35, +CTSPillarNetworkA,7585,7585,7585,1990-10-08,758.2000000001038,758.1619,2015-01-01 02:06:25,bin7585,75, +CTSPillarNetworkA,7586,7586,7586,1990-10-09,758.3000000001039,758.2619,2015-01-01 02:06:26,bin7586,35, +CTSPillarNetworkA,7587,7587,7587,1990-10-10,758.4000000001039,758.3619,2015-01-01 02:06:27,bin7587,75, +CTSPillarNetworkA,7588,7588,7588,1990-10-11,758.5000000001039,758.46185,2015-01-01 02:06:28,bin7588,35, +CTSPillarNetworkA,7589,7589,7589,1990-10-12,758.6000000001039,758.5618,2015-01-01 02:06:29,bin7589,75, +CTSPillarNetworkA,7590,7590,7590,1990-10-13,758.700000000104,758.6618,2015-01-01 02:06:30,bin7590,35, +CTSPillarNetworkA,7591,7591,7591,1990-10-14,758.800000000104,758.7618,2015-01-01 02:06:31,bin7591,75, +CTSPillarNetworkA,7592,7592,7592,1990-10-15,758.900000000104,758.86176,2015-01-01 02:06:32,bin7592,35, +CTSPillarNetworkA,7593,7593,7593,1990-10-16,759.000000000104,758.96173,2015-01-01 02:06:33,bin7593,75, +CTSPillarNetworkA,7594,7594,7594,1990-10-17,759.100000000104,759.0617,2015-01-01 02:06:34,bin7594,35, +CTSPillarNetworkA,7595,7595,7595,1990-10-18,759.2000000001041,759.1617,2015-01-01 02:06:35,bin7595,75, +CTSPillarNetworkA,7596,7596,7596,1990-10-19,759.3000000001041,759.26166,2015-01-01 02:06:36,bin7596,35, +CTSPillarNetworkA,7597,7597,7597,1990-10-20,759.4000000001041,759.36163,2015-01-01 02:06:37,bin7597,75, +CTSPillarNetworkA,7598,7598,7598,1990-10-21,759.5000000001041,759.4616,2015-01-01 02:06:38,bin7598,35, +CTSPillarNetworkA,7599,7599,7599,1990-10-22,759.6000000001042,759.5616,2015-01-01 02:06:39,bin7599,75, +CTSPillarNetworkA,7600,7600,7600,1990-10-23,759.7000000001042,759.66156,2015-01-01 02:06:40,bin7600,35, +CTSPillarNetworkA,7601,7601,7601,1990-10-24,759.8000000001042,759.76154,2015-01-01 02:06:41,bin7601,75, +CTSPillarNetworkA,7602,7602,7602,1990-10-25,759.9000000001042,759.8615,2015-01-01 02:06:42,bin7602,35, +CTSPillarNetworkA,7603,7603,7603,1990-10-26,760.0000000001043,759.9615,2015-01-01 02:06:43,bin7603,75, +CTSPillarNetworkA,7604,7604,7604,1990-10-27,760.1000000001043,760.06146,2015-01-01 02:06:44,bin7604,35, +CTSPillarNetworkA,7605,7605,7605,1990-10-28,760.2000000001043,760.16144,2015-01-01 02:06:45,bin7605,75, +CTSPillarNetworkA,7606,7606,7606,1990-10-29,760.3000000001043,760.2614,2015-01-01 02:06:46,bin7606,35, +CTSPillarNetworkA,7607,7607,7607,1990-10-30,760.4000000001043,760.3614,2015-01-01 02:06:47,bin7607,75, +CTSPillarNetworkA,7608,7608,7608,1990-10-31,760.5000000001044,760.46136,2015-01-01 02:06:48,bin7608,35, +CTSPillarNetworkA,7609,7609,7609,1990-11-01,760.6000000001044,760.56134,2015-01-01 02:06:49,bin7609,75, +CTSPillarNetworkA,7610,7610,7610,1990-11-02,760.7000000001044,760.6613,2015-01-01 02:06:50,bin7610,35, +CTSPillarNetworkA,7611,7611,7611,1990-11-03,760.8000000001044,760.7613,2015-01-01 02:06:51,bin7611,75, +CTSPillarNetworkA,7612,7612,7612,1990-11-04,760.9000000001045,760.86127,2015-01-01 02:06:52,bin7612,35, +CTSPillarNetworkA,7613,7613,7613,1990-11-05,761.0000000001045,760.96124,2015-01-01 02:06:53,bin7613,75, +CTSPillarNetworkA,7614,7614,7614,1990-11-06,761.1000000001045,761.0612,2015-01-01 02:06:54,bin7614,35, +CTSPillarNetworkA,7615,7615,7615,1990-11-07,761.2000000001045,761.1612,2015-01-01 02:06:55,bin7615,75, +CTSPillarNetworkA,7616,7616,7616,1990-11-08,761.3000000001045,761.26117,2015-01-01 02:06:56,bin7616,35, +CTSPillarNetworkA,7617,7617,7617,1990-11-09,761.4000000001046,761.36115,2015-01-01 02:06:57,bin7617,75, +CTSPillarNetworkA,7618,7618,7618,1990-11-10,761.5000000001046,761.4611,2015-01-01 02:06:58,bin7618,35, +CTSPillarNetworkA,7619,7619,7619,1990-11-11,761.6000000001046,761.5611,2015-01-01 02:06:59,bin7619,75, +CTSPillarNetworkA,7620,7620,7620,1990-11-12,761.7000000001046,761.6611,2015-01-01 02:07:00,bin7620,35, +CTSPillarNetworkA,7621,7621,7621,1990-11-13,761.8000000001047,761.76105,2015-01-01 02:07:01,bin7621,75, +CTSPillarNetworkA,7622,7622,7622,1990-11-14,761.9000000001047,761.861,2015-01-01 02:07:02,bin7622,35, +CTSPillarNetworkA,7623,7623,7623,1990-11-15,762.0000000001047,761.961,2015-01-01 02:07:03,bin7623,75, +CTSPillarNetworkA,7624,7624,7624,1990-11-16,762.1000000001047,762.061,2015-01-01 02:07:04,bin7624,35, +CTSPillarNetworkA,7625,7625,7625,1990-11-17,762.2000000001048,762.16095,2015-01-01 02:07:05,bin7625,75, +CTSPillarNetworkA,7626,7626,7626,1990-11-18,762.3000000001048,762.2609,2015-01-01 02:07:06,bin7626,35, +CTSPillarNetworkA,7627,7627,7627,1990-11-19,762.4000000001048,762.3609,2015-01-01 02:07:07,bin7627,75, +CTSPillarNetworkA,7628,7628,7628,1990-11-20,762.5000000001048,762.4609,2015-01-01 02:07:08,bin7628,35, +CTSPillarNetworkA,7629,7629,7629,1990-11-21,762.6000000001048,762.56085,2015-01-01 02:07:09,bin7629,75, +CTSPillarNetworkA,7630,7630,7630,1990-11-22,762.7000000001049,762.6608,2015-01-01 02:07:10,bin7630,35, +CTSPillarNetworkA,7631,7631,7631,1990-11-23,762.8000000001049,762.7608,2015-01-01 02:07:11,bin7631,75, +CTSPillarNetworkA,7632,7632,7632,1990-11-24,762.9000000001049,762.8608,2015-01-01 02:07:12,bin7632,35, +CTSPillarNetworkA,7633,7633,7633,1990-11-25,763.0000000001049,762.96075,2015-01-01 02:07:13,bin7633,75, +CTSPillarNetworkA,7634,7634,7634,1990-11-26,763.100000000105,763.0607,2015-01-01 02:07:14,bin7634,35, +CTSPillarNetworkA,7635,7635,7635,1990-11-27,763.200000000105,763.1607,2015-01-01 02:07:15,bin7635,75, +CTSPillarNetworkA,7636,7636,7636,1990-11-28,763.300000000105,763.2607,2015-01-01 02:07:16,bin7636,35, +CTSPillarNetworkA,7637,7637,7637,1990-11-29,763.400000000105,763.36066,2015-01-01 02:07:17,bin7637,75, +CTSPillarNetworkA,7638,7638,7638,1990-11-30,763.500000000105,763.46063,2015-01-01 02:07:18,bin7638,35, +CTSPillarNetworkA,7639,7639,7639,1990-12-01,763.6000000001051,763.5606,2015-01-01 02:07:19,bin7639,75, +CTSPillarNetworkA,7640,7640,7640,1990-12-02,763.7000000001051,763.6606,2015-01-01 02:07:20,bin7640,35, +CTSPillarNetworkA,7641,7641,7641,1990-12-03,763.8000000001051,763.76056,2015-01-01 02:07:21,bin7641,75, +CTSPillarNetworkA,7642,7642,7642,1990-12-04,763.9000000001051,763.86053,2015-01-01 02:07:22,bin7642,35, +CTSPillarNetworkA,7643,7643,7643,1990-12-05,764.0000000001052,763.9605,2015-01-01 02:07:23,bin7643,75, +CTSPillarNetworkA,7644,7644,7644,1990-12-06,764.1000000001052,764.0605,2015-01-01 02:07:24,bin7644,35, +CTSPillarNetworkA,7645,7645,7645,1990-12-07,764.2000000001052,764.16046,2015-01-01 02:07:25,bin7645,75, +CTSPillarNetworkA,7646,7646,7646,1990-12-08,764.3000000001052,764.26044,2015-01-01 02:07:26,bin7646,35, +CTSPillarNetworkA,7647,7647,7647,1990-12-09,764.4000000001053,764.3604,2015-01-01 02:07:27,bin7647,75, +CTSPillarNetworkA,7648,7648,7648,1990-12-10,764.5000000001053,764.4604,2015-01-01 02:07:28,bin7648,35, +CTSPillarNetworkA,7649,7649,7649,1990-12-11,764.6000000001053,764.56036,2015-01-01 02:07:29,bin7649,75, +CTSPillarNetworkA,7650,7650,7650,1990-12-12,764.7000000001053,764.66034,2015-01-01 02:07:30,bin7650,35, +CTSPillarNetworkA,7651,7651,7651,1990-12-13,764.8000000001053,764.7603,2015-01-01 02:07:31,bin7651,75, +CTSPillarNetworkA,7652,7652,7652,1990-12-14,764.9000000001054,764.8603,2015-01-01 02:07:32,bin7652,35, +CTSPillarNetworkA,7653,7653,7653,1990-12-15,765.0000000001054,764.96027,2015-01-01 02:07:33,bin7653,75, +CTSPillarNetworkA,7654,7654,7654,1990-12-16,765.1000000001054,765.06024,2015-01-01 02:07:34,bin7654,35, +CTSPillarNetworkA,7655,7655,7655,1990-12-17,765.2000000001054,765.1602,2015-01-01 02:07:35,bin7655,75, +CTSPillarNetworkA,7656,7656,7656,1990-12-18,765.3000000001055,765.2602,2015-01-01 02:07:36,bin7656,35, +CTSPillarNetworkA,7657,7657,7657,1990-12-19,765.4000000001055,765.36017,2015-01-01 02:07:37,bin7657,75, +CTSPillarNetworkA,7658,7658,7658,1990-12-20,765.5000000001055,765.46014,2015-01-01 02:07:38,bin7658,35, +CTSPillarNetworkA,7659,7659,7659,1990-12-21,765.6000000001055,765.5601,2015-01-01 02:07:39,bin7659,75, +CTSPillarNetworkA,7660,7660,7660,1990-12-22,765.7000000001055,765.6601,2015-01-01 02:07:40,bin7660,35, +CTSPillarNetworkA,7661,7661,7661,1990-12-23,765.8000000001056,765.7601,2015-01-01 02:07:41,bin7661,75, +CTSPillarNetworkA,7662,7662,7662,1990-12-24,765.9000000001056,765.86005,2015-01-01 02:07:42,bin7662,35, +CTSPillarNetworkA,7663,7663,7663,1990-12-25,766.0000000001056,765.96,2015-01-01 02:07:43,bin7663,75, +CTSPillarNetworkA,7664,7664,7664,1990-12-26,766.1000000001056,766.06,2015-01-01 02:07:44,bin7664,35, +CTSPillarNetworkA,7665,7665,7665,1990-12-27,766.2000000001057,766.16,2015-01-01 02:07:45,bin7665,75, +CTSPillarNetworkA,7666,7666,7666,1990-12-28,766.3000000001057,766.25995,2015-01-01 02:07:46,bin7666,35, +CTSPillarNetworkA,7667,7667,7667,1990-12-29,766.4000000001057,766.3599,2015-01-01 02:07:47,bin7667,75, +CTSPillarNetworkA,7668,7668,7668,1990-12-30,766.5000000001057,766.4599,2015-01-01 02:07:48,bin7668,35, +CTSPillarNetworkA,7669,7669,7669,1990-12-31,766.6000000001058,766.5599,2015-01-01 02:07:49,bin7669,75, +CTSPillarNetworkA,7670,7670,7670,1991-01-01,766.7000000001058,766.65985,2015-01-01 02:07:50,bin7670,35, +CTSPillarNetworkA,7671,7671,7671,1991-01-02,766.8000000001058,766.7598,2015-01-01 02:07:51,bin7671,75, +CTSPillarNetworkA,7672,7672,7672,1991-01-03,766.9000000001058,766.8598,2015-01-01 02:07:52,bin7672,35, +CTSPillarNetworkA,7673,7673,7673,1991-01-04,767.0000000001058,766.9598,2015-01-01 02:07:53,bin7673,75, +CTSPillarNetworkA,7674,7674,7674,1991-01-05,767.1000000001059,767.05975,2015-01-01 02:07:54,bin7674,35, +CTSPillarNetworkA,7675,7675,7675,1991-01-06,767.2000000001059,767.1597,2015-01-01 02:07:55,bin7675,75, +CTSPillarNetworkA,7676,7676,7676,1991-01-07,767.3000000001059,767.2597,2015-01-01 02:07:56,bin7676,35, +CTSPillarNetworkA,7677,7677,7677,1991-01-08,767.4000000001059,767.3597,2015-01-01 02:07:57,bin7677,75, +CTSPillarNetworkA,7678,7678,7678,1991-01-09,767.500000000106,767.45966,2015-01-01 02:07:58,bin7678,35, +CTSPillarNetworkA,7679,7679,7679,1991-01-10,767.600000000106,767.55963,2015-01-01 02:07:59,bin7679,75, +CTSPillarNetworkA,7680,7680,7680,1991-01-11,767.700000000106,767.6596,2015-01-01 02:08:00,bin7680,35, +CTSPillarNetworkA,7681,7681,7681,1991-01-12,767.800000000106,767.7596,2015-01-01 02:08:01,bin7681,75, +CTSPillarNetworkA,7682,7682,7682,1991-01-13,767.900000000106,767.85956,2015-01-01 02:08:02,bin7682,35, +CTSPillarNetworkA,7683,7683,7683,1991-01-14,768.0000000001061,767.95953,2015-01-01 02:08:03,bin7683,75, +CTSPillarNetworkA,7684,7684,7684,1991-01-15,768.1000000001061,768.0595,2015-01-01 02:08:04,bin7684,35, +CTSPillarNetworkA,7685,7685,7685,1991-01-16,768.2000000001061,768.1595,2015-01-01 02:08:05,bin7685,75, +CTSPillarNetworkA,7686,7686,7686,1991-01-17,768.3000000001061,768.25946,2015-01-01 02:08:06,bin7686,35, +CTSPillarNetworkA,7687,7687,7687,1991-01-18,768.4000000001062,768.35944,2015-01-01 02:08:07,bin7687,75, +CTSPillarNetworkA,7688,7688,7688,1991-01-19,768.5000000001062,768.4594,2015-01-01 02:08:08,bin7688,35, +CTSPillarNetworkA,7689,7689,7689,1991-01-20,768.6000000001062,768.5594,2015-01-01 02:08:09,bin7689,75, +CTSPillarNetworkA,7690,7690,7690,1991-01-21,768.7000000001062,768.65936,2015-01-01 02:08:10,bin7690,35, +CTSPillarNetworkA,7691,7691,7691,1991-01-22,768.8000000001063,768.75934,2015-01-01 02:08:11,bin7691,75, +CTSPillarNetworkA,7692,7692,7692,1991-01-23,768.9000000001063,768.8593,2015-01-01 02:08:12,bin7692,35, +CTSPillarNetworkA,7693,7693,7693,1991-01-24,769.0000000001063,768.9593,2015-01-01 02:08:13,bin7693,75, +CTSPillarNetworkA,7694,7694,7694,1991-01-25,769.1000000001063,769.05927,2015-01-01 02:08:14,bin7694,35, +CTSPillarNetworkA,7695,7695,7695,1991-01-26,769.2000000001063,769.15924,2015-01-01 02:08:15,bin7695,75, +CTSPillarNetworkA,7696,7696,7696,1991-01-27,769.3000000001064,769.2592,2015-01-01 02:08:16,bin7696,35, +CTSPillarNetworkA,7697,7697,7697,1991-01-28,769.4000000001064,769.3592,2015-01-01 02:08:17,bin7697,75, +CTSPillarNetworkA,7698,7698,7698,1991-01-29,769.5000000001064,769.45917,2015-01-01 02:08:18,bin7698,35, +CTSPillarNetworkA,7699,7699,7699,1991-01-30,769.6000000001064,769.55914,2015-01-01 02:08:19,bin7699,75, +CTSPillarNetworkA,7700,7700,7700,1991-01-31,769.7000000001065,769.6591,2015-01-01 02:08:20,bin7700,35, +CTSPillarNetworkA,7701,7701,7701,1991-02-01,769.8000000001065,769.7591,2015-01-01 02:08:21,bin7701,75, +CTSPillarNetworkA,7702,7702,7702,1991-02-02,769.9000000001065,769.8591,2015-01-01 02:08:22,bin7702,35, +CTSPillarNetworkA,7703,7703,7703,1991-02-03,770.0000000001065,769.95905,2015-01-01 02:08:23,bin7703,75, +CTSPillarNetworkA,7704,7704,7704,1991-02-04,770.1000000001065,770.059,2015-01-01 02:08:24,bin7704,35, +CTSPillarNetworkA,7705,7705,7705,1991-02-05,770.2000000001066,770.159,2015-01-01 02:08:25,bin7705,75, +CTSPillarNetworkA,7706,7706,7706,1991-02-06,770.3000000001066,770.259,2015-01-01 02:08:26,bin7706,35, +CTSPillarNetworkA,7707,7707,7707,1991-02-07,770.4000000001066,770.35895,2015-01-01 02:08:27,bin7707,75, +CTSPillarNetworkA,7708,7708,7708,1991-02-08,770.5000000001066,770.4589,2015-01-01 02:08:28,bin7708,35, +CTSPillarNetworkA,7709,7709,7709,1991-02-09,770.6000000001067,770.5589,2015-01-01 02:08:29,bin7709,75, +CTSPillarNetworkA,7710,7710,7710,1991-02-10,770.7000000001067,770.6589,2015-01-01 02:08:30,bin7710,35, +CTSPillarNetworkA,7711,7711,7711,1991-02-11,770.8000000001067,770.75885,2015-01-01 02:08:31,bin7711,75, +CTSPillarNetworkA,7712,7712,7712,1991-02-12,770.9000000001067,770.8588,2015-01-01 02:08:32,bin7712,35, +CTSPillarNetworkA,7713,7713,7713,1991-02-13,771.0000000001068,770.9588,2015-01-01 02:08:33,bin7713,75, +CTSPillarNetworkA,7714,7714,7714,1991-02-14,771.1000000001068,771.0588,2015-01-01 02:08:34,bin7714,35, +CTSPillarNetworkA,7715,7715,7715,1991-02-15,771.2000000001068,771.15875,2015-01-01 02:08:35,bin7715,75, +CTSPillarNetworkA,7716,7716,7716,1991-02-16,771.3000000001068,771.2587,2015-01-01 02:08:36,bin7716,35, +CTSPillarNetworkA,7717,7717,7717,1991-02-17,771.4000000001068,771.3587,2015-01-01 02:08:37,bin7717,75, +CTSPillarNetworkA,7718,7718,7718,1991-02-18,771.5000000001069,771.4587,2015-01-01 02:08:38,bin7718,35, +CTSPillarNetworkA,7719,7719,7719,1991-02-19,771.6000000001069,771.55865,2015-01-01 02:08:39,bin7719,75, +CTSPillarNetworkA,7720,7720,7720,1991-02-20,771.7000000001069,771.6586,2015-01-01 02:08:40,bin7720,35, +CTSPillarNetworkA,7721,7721,7721,1991-02-21,771.8000000001069,771.7586,2015-01-01 02:08:41,bin7721,75, +CTSPillarNetworkA,7722,7722,7722,1991-02-22,771.900000000107,771.8586,2015-01-01 02:08:42,bin7722,35, +CTSPillarNetworkA,7723,7723,7723,1991-02-23,772.000000000107,771.95856,2015-01-01 02:08:43,bin7723,75, +CTSPillarNetworkA,7724,7724,7724,1991-02-24,772.100000000107,772.05853,2015-01-01 02:08:44,bin7724,35, +CTSPillarNetworkA,7725,7725,7725,1991-02-25,772.200000000107,772.1585,2015-01-01 02:08:45,bin7725,75, +CTSPillarNetworkA,7726,7726,7726,1991-02-26,772.300000000107,772.2585,2015-01-01 02:08:46,bin7726,35, +CTSPillarNetworkA,7727,7727,7727,1991-02-27,772.4000000001071,772.35846,2015-01-01 02:08:47,bin7727,75, +CTSPillarNetworkA,7728,7728,7728,1991-02-28,772.5000000001071,772.45844,2015-01-01 02:08:48,bin7728,35, +CTSPillarNetworkA,7729,7729,7729,1991-03-01,772.6000000001071,772.5584,2015-01-01 02:08:49,bin7729,75, +CTSPillarNetworkA,7730,7730,7730,1991-03-02,772.7000000001071,772.6584,2015-01-01 02:08:50,bin7730,35, +CTSPillarNetworkA,7731,7731,7731,1991-03-03,772.8000000001072,772.75836,2015-01-01 02:08:51,bin7731,75, +CTSPillarNetworkA,7732,7732,7732,1991-03-04,772.9000000001072,772.85834,2015-01-01 02:08:52,bin7732,35, +CTSPillarNetworkA,7733,7733,7733,1991-03-05,773.0000000001072,772.9583,2015-01-01 02:08:53,bin7733,75, +CTSPillarNetworkA,7734,7734,7734,1991-03-06,773.1000000001072,773.0583,2015-01-01 02:08:54,bin7734,35, +CTSPillarNetworkA,7735,7735,7735,1991-03-07,773.2000000001073,773.15826,2015-01-01 02:08:55,bin7735,75, +CTSPillarNetworkA,7736,7736,7736,1991-03-08,773.3000000001073,773.25824,2015-01-01 02:08:56,bin7736,35, +CTSPillarNetworkA,7737,7737,7737,1991-03-09,773.4000000001073,773.3582,2015-01-01 02:08:57,bin7737,75, +CTSPillarNetworkA,7738,7738,7738,1991-03-10,773.5000000001073,773.4582,2015-01-01 02:08:58,bin7738,35, +CTSPillarNetworkA,7739,7739,7739,1991-03-11,773.6000000001073,773.55817,2015-01-01 02:08:59,bin7739,75, +CTSPillarNetworkA,7740,7740,7740,1991-03-12,773.7000000001074,773.65814,2015-01-01 02:09:00,bin7740,35, +CTSPillarNetworkA,7741,7741,7741,1991-03-13,773.8000000001074,773.7581,2015-01-01 02:09:01,bin7741,75, +CTSPillarNetworkA,7742,7742,7742,1991-03-14,773.9000000001074,773.8581,2015-01-01 02:09:02,bin7742,35, +CTSPillarNetworkA,7743,7743,7743,1991-03-15,774.0000000001074,773.95807,2015-01-01 02:09:03,bin7743,75, +CTSPillarNetworkA,7744,7744,7744,1991-03-16,774.1000000001075,774.05804,2015-01-01 02:09:04,bin7744,35, +CTSPillarNetworkA,7745,7745,7745,1991-03-17,774.2000000001075,774.158,2015-01-01 02:09:05,bin7745,75, +CTSPillarNetworkA,7746,7746,7746,1991-03-18,774.3000000001075,774.258,2015-01-01 02:09:06,bin7746,35, +CTSPillarNetworkA,7747,7747,7747,1991-03-19,774.4000000001075,774.358,2015-01-01 02:09:07,bin7747,75, +CTSPillarNetworkA,7748,7748,7748,1991-03-20,774.5000000001075,774.45795,2015-01-01 02:09:08,bin7748,35, +CTSPillarNetworkA,7749,7749,7749,1991-03-21,774.6000000001076,774.5579,2015-01-01 02:09:09,bin7749,75, +CTSPillarNetworkA,7750,7750,7750,1991-03-22,774.7000000001076,774.6579,2015-01-01 02:09:10,bin7750,35, +CTSPillarNetworkA,7751,7751,7751,1991-03-23,774.8000000001076,774.7579,2015-01-01 02:09:11,bin7751,75, +CTSPillarNetworkA,7752,7752,7752,1991-03-24,774.9000000001076,774.85785,2015-01-01 02:09:12,bin7752,35, +CTSPillarNetworkA,7753,7753,7753,1991-03-25,775.0000000001077,774.9578,2015-01-01 02:09:13,bin7753,75, +CTSPillarNetworkA,7754,7754,7754,1991-03-26,775.1000000001077,775.0578,2015-01-01 02:09:14,bin7754,35, +CTSPillarNetworkA,7755,7755,7755,1991-03-27,775.2000000001077,775.1578,2015-01-01 02:09:15,bin7755,75, +CTSPillarNetworkA,7756,7756,7756,1991-03-28,775.3000000001077,775.25775,2015-01-01 02:09:16,bin7756,35, +CTSPillarNetworkA,7757,7757,7757,1991-03-29,775.4000000001078,775.3577,2015-01-01 02:09:17,bin7757,75, +CTSPillarNetworkA,7758,7758,7758,1991-03-30,775.5000000001078,775.4577,2015-01-01 02:09:18,bin7758,35, +CTSPillarNetworkA,7759,7759,7759,1991-03-31,775.6000000001078,775.5577,2015-01-01 02:09:19,bin7759,75, +CTSPillarNetworkA,7760,7760,7760,1991-04-01,775.7000000001078,775.65765,2015-01-01 02:09:20,bin7760,35, +CTSPillarNetworkA,7761,7761,7761,1991-04-02,775.8000000001078,775.7576,2015-01-01 02:09:21,bin7761,75, +CTSPillarNetworkA,7762,7762,7762,1991-04-03,775.9000000001079,775.8576,2015-01-01 02:09:22,bin7762,35, +CTSPillarNetworkA,7763,7763,7763,1991-04-04,776.0000000001079,775.9576,2015-01-01 02:09:23,bin7763,75, +CTSPillarNetworkA,7764,7764,7764,1991-04-05,776.1000000001079,776.05756,2015-01-01 02:09:24,bin7764,35, +CTSPillarNetworkA,7765,7765,7765,1991-04-06,776.2000000001079,776.15753,2015-01-01 02:09:25,bin7765,75, +CTSPillarNetworkA,7766,7766,7766,1991-04-07,776.300000000108,776.2575,2015-01-01 02:09:26,bin7766,35, +CTSPillarNetworkA,7767,7767,7767,1991-04-08,776.400000000108,776.3575,2015-01-01 02:09:27,bin7767,75, +CTSPillarNetworkA,7768,7768,7768,1991-04-09,776.500000000108,776.45746,2015-01-01 02:09:28,bin7768,35, +CTSPillarNetworkA,7769,7769,7769,1991-04-10,776.600000000108,776.55743,2015-01-01 02:09:29,bin7769,75, +CTSPillarNetworkA,7770,7770,7770,1991-04-11,776.700000000108,776.6574,2015-01-01 02:09:30,bin7770,35, +CTSPillarNetworkA,7771,7771,7771,1991-04-12,776.8000000001081,776.7574,2015-01-01 02:09:31,bin7771,75, +CTSPillarNetworkA,7772,7772,7772,1991-04-13,776.9000000001081,776.85736,2015-01-01 02:09:32,bin7772,35, +CTSPillarNetworkA,7773,7773,7773,1991-04-14,777.0000000001081,776.95734,2015-01-01 02:09:33,bin7773,75, +CTSPillarNetworkA,7774,7774,7774,1991-04-15,777.1000000001081,777.0573,2015-01-01 02:09:34,bin7774,35, +CTSPillarNetworkA,7775,7775,7775,1991-04-16,777.2000000001082,777.1573,2015-01-01 02:09:35,bin7775,75, +CTSPillarNetworkA,7776,7776,7776,1991-04-17,777.3000000001082,777.25726,2015-01-01 02:09:36,bin7776,35, +CTSPillarNetworkA,7777,7777,7777,1991-04-18,777.4000000001082,777.35724,2015-01-01 02:09:37,bin7777,75, +CTSPillarNetworkA,7778,7778,7778,1991-04-19,777.5000000001082,777.4572,2015-01-01 02:09:38,bin7778,35, +CTSPillarNetworkA,7779,7779,7779,1991-04-20,777.6000000001083,777.5572,2015-01-01 02:09:39,bin7779,75, +CTSPillarNetworkA,7780,7780,7780,1991-04-21,777.7000000001083,777.65717,2015-01-01 02:09:40,bin7780,35, +CTSPillarNetworkA,7781,7781,7781,1991-04-22,777.8000000001083,777.75714,2015-01-01 02:09:41,bin7781,75, +CTSPillarNetworkA,7782,7782,7782,1991-04-23,777.9000000001083,777.8571,2015-01-01 02:09:42,bin7782,35, +CTSPillarNetworkA,7783,7783,7783,1991-04-24,778.0000000001083,777.9571,2015-01-01 02:09:43,bin7783,75, +CTSPillarNetworkA,7784,7784,7784,1991-04-25,778.1000000001084,778.05707,2015-01-01 02:09:44,bin7784,35, +CTSPillarNetworkA,7785,7785,7785,1991-04-26,778.2000000001084,778.15704,2015-01-01 02:09:45,bin7785,75, +CTSPillarNetworkA,7786,7786,7786,1991-04-27,778.3000000001084,778.257,2015-01-01 02:09:46,bin7786,35, +CTSPillarNetworkA,7787,7787,7787,1991-04-28,778.4000000001084,778.357,2015-01-01 02:09:47,bin7787,75, +CTSPillarNetworkA,7788,7788,7788,1991-04-29,778.5000000001085,778.457,2015-01-01 02:09:48,bin7788,35, +CTSPillarNetworkA,7789,7789,7789,1991-04-30,778.6000000001085,778.55695,2015-01-01 02:09:49,bin7789,75, +CTSPillarNetworkA,7790,7790,7790,1991-05-01,778.7000000001085,778.6569,2015-01-01 02:09:50,bin7790,35, +CTSPillarNetworkA,7791,7791,7791,1991-05-02,778.8000000001085,778.7569,2015-01-01 02:09:51,bin7791,75, +CTSPillarNetworkA,7792,7792,7792,1991-05-03,778.9000000001085,778.8569,2015-01-01 02:09:52,bin7792,35, +CTSPillarNetworkA,7793,7793,7793,1991-05-04,779.0000000001086,778.95685,2015-01-01 02:09:53,bin7793,75, +CTSPillarNetworkA,7794,7794,7794,1991-05-05,779.1000000001086,779.0568,2015-01-01 02:09:54,bin7794,35, +CTSPillarNetworkA,7795,7795,7795,1991-05-06,779.2000000001086,779.1568,2015-01-01 02:09:55,bin7795,75, +CTSPillarNetworkA,7796,7796,7796,1991-05-07,779.3000000001086,779.2568,2015-01-01 02:09:56,bin7796,35, +CTSPillarNetworkA,7797,7797,7797,1991-05-08,779.4000000001087,779.35675,2015-01-01 02:09:57,bin7797,75, +CTSPillarNetworkA,7798,7798,7798,1991-05-09,779.5000000001087,779.4567,2015-01-01 02:09:58,bin7798,35, +CTSPillarNetworkA,7799,7799,7799,1991-05-10,779.6000000001087,779.5567,2015-01-01 02:09:59,bin7799,75, +CTSPillarNetworkA,7800,7800,7800,1991-05-11,779.7000000001087,779.6567,2015-01-01 02:10:00,bin7800,35, +CTSPillarNetworkA,7801,7801,7801,1991-05-12,779.8000000001088,779.75665,2015-01-01 02:10:01,bin7801,75, +CTSPillarNetworkA,7802,7802,7802,1991-05-13,779.9000000001088,779.8566,2015-01-01 02:10:02,bin7802,35, +CTSPillarNetworkA,7803,7803,7803,1991-05-14,780.0000000001088,779.9566,2015-01-01 02:10:03,bin7803,75, +CTSPillarNetworkA,7804,7804,7804,1991-05-15,780.1000000001088,780.0566,2015-01-01 02:10:04,bin7804,35, +CTSPillarNetworkA,7805,7805,7805,1991-05-16,780.2000000001088,780.15656,2015-01-01 02:10:05,bin7805,75, +CTSPillarNetworkA,7806,7806,7806,1991-05-17,780.3000000001089,780.25653,2015-01-01 02:10:06,bin7806,35, +CTSPillarNetworkA,7807,7807,7807,1991-05-18,780.4000000001089,780.3565,2015-01-01 02:10:07,bin7807,75, +CTSPillarNetworkA,7808,7808,7808,1991-05-19,780.5000000001089,780.4565,2015-01-01 02:10:08,bin7808,35, +CTSPillarNetworkA,7809,7809,7809,1991-05-20,780.6000000001089,780.55646,2015-01-01 02:10:09,bin7809,75, +CTSPillarNetworkA,7810,7810,7810,1991-05-21,780.700000000109,780.65643,2015-01-01 02:10:10,bin7810,35, +CTSPillarNetworkA,7811,7811,7811,1991-05-22,780.800000000109,780.7564,2015-01-01 02:10:11,bin7811,75, +CTSPillarNetworkA,7812,7812,7812,1991-05-23,780.900000000109,780.8564,2015-01-01 02:10:12,bin7812,35, +CTSPillarNetworkA,7813,7813,7813,1991-05-24,781.000000000109,780.95636,2015-01-01 02:10:13,bin7813,75, +CTSPillarNetworkA,7814,7814,7814,1991-05-25,781.100000000109,781.05634,2015-01-01 02:10:14,bin7814,35, +CTSPillarNetworkA,7815,7815,7815,1991-05-26,781.2000000001091,781.1563,2015-01-01 02:10:15,bin7815,75, +CTSPillarNetworkA,7816,7816,7816,1991-05-27,781.3000000001091,781.2563,2015-01-01 02:10:16,bin7816,35, +CTSPillarNetworkA,7817,7817,7817,1991-05-28,781.4000000001091,781.35626,2015-01-01 02:10:17,bin7817,75, +CTSPillarNetworkA,7818,7818,7818,1991-05-29,781.5000000001091,781.45624,2015-01-01 02:10:18,bin7818,35, +CTSPillarNetworkA,7819,7819,7819,1991-05-30,781.6000000001092,781.5562,2015-01-01 02:10:19,bin7819,75, +CTSPillarNetworkA,7820,7820,7820,1991-05-31,781.7000000001092,781.6562,2015-01-01 02:10:20,bin7820,35, +CTSPillarNetworkA,7821,7821,7821,1991-06-01,781.8000000001092,781.75616,2015-01-01 02:10:21,bin7821,75, +CTSPillarNetworkA,7822,7822,7822,1991-06-02,781.9000000001092,781.85614,2015-01-01 02:10:22,bin7822,35, +CTSPillarNetworkA,7823,7823,7823,1991-06-03,782.0000000001093,781.9561,2015-01-01 02:10:23,bin7823,75, +CTSPillarNetworkA,7824,7824,7824,1991-06-04,782.1000000001093,782.0561,2015-01-01 02:10:24,bin7824,35, +CTSPillarNetworkA,7825,7825,7825,1991-06-05,782.2000000001093,782.15607,2015-01-01 02:10:25,bin7825,75, +CTSPillarNetworkA,7826,7826,7826,1991-06-06,782.3000000001093,782.25604,2015-01-01 02:10:26,bin7826,35, +CTSPillarNetworkA,7827,7827,7827,1991-06-07,782.4000000001093,782.356,2015-01-01 02:10:27,bin7827,75, +CTSPillarNetworkA,7828,7828,7828,1991-06-08,782.5000000001094,782.456,2015-01-01 02:10:28,bin7828,35, +CTSPillarNetworkA,7829,7829,7829,1991-06-09,782.6000000001094,782.55597,2015-01-01 02:10:29,bin7829,75, +CTSPillarNetworkA,7830,7830,7830,1991-06-10,782.7000000001094,782.65594,2015-01-01 02:10:30,bin7830,35, +CTSPillarNetworkA,7831,7831,7831,1991-06-11,782.8000000001094,782.7559,2015-01-01 02:10:31,bin7831,75, +CTSPillarNetworkA,7832,7832,7832,1991-06-12,782.9000000001095,782.8559,2015-01-01 02:10:32,bin7832,35, +CTSPillarNetworkA,7833,7833,7833,1991-06-13,783.0000000001095,782.9559,2015-01-01 02:10:33,bin7833,75, +CTSPillarNetworkA,7834,7834,7834,1991-06-14,783.1000000001095,783.05585,2015-01-01 02:10:34,bin7834,35, +CTSPillarNetworkA,7835,7835,7835,1991-06-15,783.2000000001095,783.1558,2015-01-01 02:10:35,bin7835,75, +CTSPillarNetworkA,7836,7836,7836,1991-06-16,783.3000000001095,783.2558,2015-01-01 02:10:36,bin7836,35, +CTSPillarNetworkA,7837,7837,7837,1991-06-17,783.4000000001096,783.3558,2015-01-01 02:10:37,bin7837,75, +CTSPillarNetworkA,7838,7838,7838,1991-06-18,783.5000000001096,783.45575,2015-01-01 02:10:38,bin7838,35, +CTSPillarNetworkA,7839,7839,7839,1991-06-19,783.6000000001096,783.5557,2015-01-01 02:10:39,bin7839,75, +CTSPillarNetworkA,7840,7840,7840,1991-06-20,783.7000000001096,783.6557,2015-01-01 02:10:40,bin7840,35, +CTSPillarNetworkA,7841,7841,7841,1991-06-21,783.8000000001097,783.7557,2015-01-01 02:10:41,bin7841,75, +CTSPillarNetworkA,7842,7842,7842,1991-06-22,783.9000000001097,783.85565,2015-01-01 02:10:42,bin7842,35, +CTSPillarNetworkA,7843,7843,7843,1991-06-23,784.0000000001097,783.9556,2015-01-01 02:10:43,bin7843,75, +CTSPillarNetworkA,7844,7844,7844,1991-06-24,784.1000000001097,784.0556,2015-01-01 02:10:44,bin7844,35, +CTSPillarNetworkA,7845,7845,7845,1991-06-25,784.2000000001098,784.1556,2015-01-01 02:10:45,bin7845,75, +CTSPillarNetworkA,7846,7846,7846,1991-06-26,784.3000000001098,784.25555,2015-01-01 02:10:46,bin7846,35, +CTSPillarNetworkA,7847,7847,7847,1991-06-27,784.4000000001098,784.3555,2015-01-01 02:10:47,bin7847,75, +CTSPillarNetworkA,7848,7848,7848,1991-06-28,784.5000000001098,784.4555,2015-01-01 02:10:48,bin7848,35, +CTSPillarNetworkA,7849,7849,7849,1991-06-29,784.6000000001098,784.5555,2015-01-01 02:10:49,bin7849,75, +CTSPillarNetworkA,7850,7850,7850,1991-06-30,784.7000000001099,784.65546,2015-01-01 02:10:50,bin7850,35, +CTSPillarNetworkA,7851,7851,7851,1991-07-01,784.8000000001099,784.75543,2015-01-01 02:10:51,bin7851,75, +CTSPillarNetworkA,7852,7852,7852,1991-07-02,784.9000000001099,784.8554,2015-01-01 02:10:52,bin7852,35, +CTSPillarNetworkA,7853,7853,7853,1991-07-03,785.0000000001099,784.9554,2015-01-01 02:10:53,bin7853,75, +CTSPillarNetworkA,7854,7854,7854,1991-07-04,785.10000000011,785.05536,2015-01-01 02:10:54,bin7854,35, +CTSPillarNetworkA,7855,7855,7855,1991-07-05,785.20000000011,785.15533,2015-01-01 02:10:55,bin7855,75, +CTSPillarNetworkA,7856,7856,7856,1991-07-06,785.30000000011,785.2553,2015-01-01 02:10:56,bin7856,35, +CTSPillarNetworkA,7857,7857,7857,1991-07-07,785.40000000011,785.3553,2015-01-01 02:10:57,bin7857,75, +CTSPillarNetworkA,7858,7858,7858,1991-07-08,785.50000000011,785.45526,2015-01-01 02:10:58,bin7858,35, +CTSPillarNetworkA,7859,7859,7859,1991-07-09,785.6000000001101,785.55524,2015-01-01 02:10:59,bin7859,75, +CTSPillarNetworkA,7860,7860,7860,1991-07-10,785.7000000001101,785.6552,2015-01-01 02:11:00,bin7860,35, +CTSPillarNetworkA,7861,7861,7861,1991-07-11,785.8000000001101,785.7552,2015-01-01 02:11:01,bin7861,75, +CTSPillarNetworkA,7862,7862,7862,1991-07-12,785.9000000001101,785.85516,2015-01-01 02:11:02,bin7862,35, +CTSPillarNetworkA,7863,7863,7863,1991-07-13,786.0000000001102,785.95514,2015-01-01 02:11:03,bin7863,75, +CTSPillarNetworkA,7864,7864,7864,1991-07-14,786.1000000001102,786.0551,2015-01-01 02:11:04,bin7864,35, +CTSPillarNetworkA,7865,7865,7865,1991-07-15,786.2000000001102,786.1551,2015-01-01 02:11:05,bin7865,75, +CTSPillarNetworkA,7866,7866,7866,1991-07-16,786.3000000001102,786.25507,2015-01-01 02:11:06,bin7866,35, +CTSPillarNetworkA,7867,7867,7867,1991-07-17,786.4000000001103,786.35504,2015-01-01 02:11:07,bin7867,75, +CTSPillarNetworkA,7868,7868,7868,1991-07-18,786.5000000001103,786.455,2015-01-01 02:11:08,bin7868,35, +CTSPillarNetworkA,7869,7869,7869,1991-07-19,786.6000000001103,786.555,2015-01-01 02:11:09,bin7869,75, +CTSPillarNetworkA,7870,7870,7870,1991-07-20,786.7000000001103,786.65497,2015-01-01 02:11:10,bin7870,35, +CTSPillarNetworkA,7871,7871,7871,1991-07-21,786.8000000001103,786.75494,2015-01-01 02:11:11,bin7871,75, +CTSPillarNetworkA,7872,7872,7872,1991-07-22,786.9000000001104,786.8549,2015-01-01 02:11:12,bin7872,35, +CTSPillarNetworkA,7873,7873,7873,1991-07-23,787.0000000001104,786.9549,2015-01-01 02:11:13,bin7873,75, +CTSPillarNetworkA,7874,7874,7874,1991-07-24,787.1000000001104,787.0549,2015-01-01 02:11:14,bin7874,35, +CTSPillarNetworkA,7875,7875,7875,1991-07-25,787.2000000001104,787.15485,2015-01-01 02:11:15,bin7875,75, +CTSPillarNetworkA,7876,7876,7876,1991-07-26,787.3000000001105,787.2548,2015-01-01 02:11:16,bin7876,35, +CTSPillarNetworkA,7877,7877,7877,1991-07-27,787.4000000001105,787.3548,2015-01-01 02:11:17,bin7877,75, +CTSPillarNetworkA,7878,7878,7878,1991-07-28,787.5000000001105,787.4548,2015-01-01 02:11:18,bin7878,35, +CTSPillarNetworkA,7879,7879,7879,1991-07-29,787.6000000001105,787.55475,2015-01-01 02:11:19,bin7879,75, +CTSPillarNetworkA,7880,7880,7880,1991-07-30,787.7000000001105,787.6547,2015-01-01 02:11:20,bin7880,35, +CTSPillarNetworkA,7881,7881,7881,1991-07-31,787.8000000001106,787.7547,2015-01-01 02:11:21,bin7881,75, +CTSPillarNetworkA,7882,7882,7882,1991-08-01,787.9000000001106,787.8547,2015-01-01 02:11:22,bin7882,35, +CTSPillarNetworkA,7883,7883,7883,1991-08-02,788.0000000001106,787.95465,2015-01-01 02:11:23,bin7883,75, +CTSPillarNetworkA,7884,7884,7884,1991-08-03,788.1000000001106,788.0546,2015-01-01 02:11:24,bin7884,35, +CTSPillarNetworkA,7885,7885,7885,1991-08-04,788.2000000001107,788.1546,2015-01-01 02:11:25,bin7885,75, +CTSPillarNetworkA,7886,7886,7886,1991-08-05,788.3000000001107,788.2546,2015-01-01 02:11:26,bin7886,35, +CTSPillarNetworkA,7887,7887,7887,1991-08-06,788.4000000001107,788.35455,2015-01-01 02:11:27,bin7887,75, +CTSPillarNetworkA,7888,7888,7888,1991-08-07,788.5000000001107,788.4545,2015-01-01 02:11:28,bin7888,35, +CTSPillarNetworkA,7889,7889,7889,1991-08-08,788.6000000001108,788.5545,2015-01-01 02:11:29,bin7889,75, +CTSPillarNetworkA,7890,7890,7890,1991-08-09,788.7000000001108,788.6545,2015-01-01 02:11:30,bin7890,35, +CTSPillarNetworkA,7891,7891,7891,1991-08-10,788.8000000001108,788.75446,2015-01-01 02:11:31,bin7891,75, +CTSPillarNetworkA,7892,7892,7892,1991-08-11,788.9000000001108,788.85443,2015-01-01 02:11:32,bin7892,35, +CTSPillarNetworkA,7893,7893,7893,1991-08-12,789.0000000001108,788.9544,2015-01-01 02:11:33,bin7893,75, +CTSPillarNetworkA,7894,7894,7894,1991-08-13,789.1000000001109,789.0544,2015-01-01 02:11:34,bin7894,35, +CTSPillarNetworkA,7895,7895,7895,1991-08-14,789.2000000001109,789.15436,2015-01-01 02:11:35,bin7895,75, +CTSPillarNetworkA,7896,7896,7896,1991-08-15,789.3000000001109,789.25433,2015-01-01 02:11:36,bin7896,35, +CTSPillarNetworkA,7897,7897,7897,1991-08-16,789.4000000001109,789.3543,2015-01-01 02:11:37,bin7897,75, +CTSPillarNetworkA,7898,7898,7898,1991-08-17,789.500000000111,789.4543,2015-01-01 02:11:38,bin7898,35, +CTSPillarNetworkA,7899,7899,7899,1991-08-18,789.600000000111,789.55426,2015-01-01 02:11:39,bin7899,75, +CTSPillarNetworkA,7900,7900,7900,1991-08-19,789.700000000111,789.65424,2015-01-01 02:11:40,bin7900,35, +CTSPillarNetworkA,7901,7901,7901,1991-08-20,789.800000000111,789.7542,2015-01-01 02:11:41,bin7901,75, +CTSPillarNetworkA,7902,7902,7902,1991-08-21,789.900000000111,789.8542,2015-01-01 02:11:42,bin7902,35, +CTSPillarNetworkA,7903,7903,7903,1991-08-22,790.0000000001111,789.95416,2015-01-01 02:11:43,bin7903,75, +CTSPillarNetworkA,7904,7904,7904,1991-08-23,790.1000000001111,790.05414,2015-01-01 02:11:44,bin7904,35, +CTSPillarNetworkA,7905,7905,7905,1991-08-24,790.2000000001111,790.1541,2015-01-01 02:11:45,bin7905,75, +CTSPillarNetworkA,7906,7906,7906,1991-08-25,790.3000000001111,790.2541,2015-01-01 02:11:46,bin7906,35, +CTSPillarNetworkA,7907,7907,7907,1991-08-26,790.4000000001112,790.35406,2015-01-01 02:11:47,bin7907,75, +CTSPillarNetworkA,7908,7908,7908,1991-08-27,790.5000000001112,790.45404,2015-01-01 02:11:48,bin7908,35, +CTSPillarNetworkA,7909,7909,7909,1991-08-28,790.6000000001112,790.554,2015-01-01 02:11:49,bin7909,75, +CTSPillarNetworkA,7910,7910,7910,1991-08-29,790.7000000001112,790.654,2015-01-01 02:11:50,bin7910,35, +CTSPillarNetworkA,7911,7911,7911,1991-08-30,790.8000000001113,790.75397,2015-01-01 02:11:51,bin7911,75, +CTSPillarNetworkA,7912,7912,7912,1991-08-31,790.9000000001113,790.85394,2015-01-01 02:11:52,bin7912,35, +CTSPillarNetworkA,7913,7913,7913,1991-09-01,791.0000000001113,790.9539,2015-01-01 02:11:53,bin7913,75, +CTSPillarNetworkA,7914,7914,7914,1991-09-02,791.1000000001113,791.0539,2015-01-01 02:11:54,bin7914,35, +CTSPillarNetworkA,7915,7915,7915,1991-09-03,791.2000000001113,791.1539,2015-01-01 02:11:55,bin7915,75, +CTSPillarNetworkA,7916,7916,7916,1991-09-04,791.3000000001114,791.25385,2015-01-01 02:11:56,bin7916,35, +CTSPillarNetworkA,7917,7917,7917,1991-09-05,791.4000000001114,791.3538,2015-01-01 02:11:57,bin7917,75, +CTSPillarNetworkA,7918,7918,7918,1991-09-06,791.5000000001114,791.4538,2015-01-01 02:11:58,bin7918,35, +CTSPillarNetworkA,7919,7919,7919,1991-09-07,791.6000000001114,791.5538,2015-01-01 02:11:59,bin7919,75, +CTSPillarNetworkA,7920,7920,7920,1991-09-08,791.7000000001115,791.65375,2015-01-01 02:12:00,bin7920,35, +CTSPillarNetworkA,7921,7921,7921,1991-09-09,791.8000000001115,791.7537,2015-01-01 02:12:01,bin7921,75, +CTSPillarNetworkA,7922,7922,7922,1991-09-10,791.9000000001115,791.8537,2015-01-01 02:12:02,bin7922,35, +CTSPillarNetworkA,7923,7923,7923,1991-09-11,792.0000000001115,791.9537,2015-01-01 02:12:03,bin7923,75, +CTSPillarNetworkA,7924,7924,7924,1991-09-12,792.1000000001115,792.05365,2015-01-01 02:12:04,bin7924,35, +CTSPillarNetworkA,7925,7925,7925,1991-09-13,792.2000000001116,792.1536,2015-01-01 02:12:05,bin7925,75, +CTSPillarNetworkA,7926,7926,7926,1991-09-14,792.3000000001116,792.2536,2015-01-01 02:12:06,bin7926,35, +CTSPillarNetworkA,7927,7927,7927,1991-09-15,792.4000000001116,792.3536,2015-01-01 02:12:07,bin7927,75, +CTSPillarNetworkA,7928,7928,7928,1991-09-16,792.5000000001116,792.45355,2015-01-01 02:12:08,bin7928,35, +CTSPillarNetworkA,7929,7929,7929,1991-09-17,792.6000000001117,792.5535,2015-01-01 02:12:09,bin7929,75, +CTSPillarNetworkA,7930,7930,7930,1991-09-18,792.7000000001117,792.6535,2015-01-01 02:12:10,bin7930,35, +CTSPillarNetworkA,7931,7931,7931,1991-09-19,792.8000000001117,792.7535,2015-01-01 02:12:11,bin7931,75, +CTSPillarNetworkA,7932,7932,7932,1991-09-20,792.9000000001117,792.85345,2015-01-01 02:12:12,bin7932,35, +CTSPillarNetworkA,7933,7933,7933,1991-09-21,793.0000000001118,792.9534,2015-01-01 02:12:13,bin7933,75, +CTSPillarNetworkA,7934,7934,7934,1991-09-22,793.1000000001118,793.0534,2015-01-01 02:12:14,bin7934,35, +CTSPillarNetworkA,7935,7935,7935,1991-09-23,793.2000000001118,793.1534,2015-01-01 02:12:15,bin7935,75, +CTSPillarNetworkA,7936,7936,7936,1991-09-24,793.3000000001118,793.25336,2015-01-01 02:12:16,bin7936,35, +CTSPillarNetworkA,7937,7937,7937,1991-09-25,793.4000000001118,793.35333,2015-01-01 02:12:17,bin7937,75, +CTSPillarNetworkA,7938,7938,7938,1991-09-26,793.5000000001119,793.4533,2015-01-01 02:12:18,bin7938,35, +CTSPillarNetworkA,7939,7939,7939,1991-09-27,793.6000000001119,793.5533,2015-01-01 02:12:19,bin7939,75, +CTSPillarNetworkA,7940,7940,7940,1991-09-28,793.7000000001119,793.65326,2015-01-01 02:12:20,bin7940,35, +CTSPillarNetworkA,7941,7941,7941,1991-09-29,793.8000000001119,793.75323,2015-01-01 02:12:21,bin7941,75, +CTSPillarNetworkA,7942,7942,7942,1991-09-30,793.900000000112,793.8532,2015-01-01 02:12:22,bin7942,35, +CTSPillarNetworkA,7943,7943,7943,1991-10-01,794.000000000112,793.9532,2015-01-01 02:12:23,bin7943,75, +CTSPillarNetworkA,7944,7944,7944,1991-10-02,794.100000000112,794.05316,2015-01-01 02:12:24,bin7944,35, +CTSPillarNetworkA,7945,7945,7945,1991-10-03,794.200000000112,794.15314,2015-01-01 02:12:25,bin7945,75, +CTSPillarNetworkA,7946,7946,7946,1991-10-04,794.300000000112,794.2531,2015-01-01 02:12:26,bin7946,35, +CTSPillarNetworkA,7947,7947,7947,1991-10-05,794.4000000001121,794.3531,2015-01-01 02:12:27,bin7947,75, +CTSPillarNetworkA,7948,7948,7948,1991-10-06,794.5000000001121,794.45306,2015-01-01 02:12:28,bin7948,35, +CTSPillarNetworkA,7949,7949,7949,1991-10-07,794.6000000001121,794.55304,2015-01-01 02:12:29,bin7949,75, +CTSPillarNetworkA,7950,7950,7950,1991-10-08,794.7000000001121,794.653,2015-01-01 02:12:30,bin7950,35, +CTSPillarNetworkA,7951,7951,7951,1991-10-09,794.8000000001122,794.753,2015-01-01 02:12:31,bin7951,75, +CTSPillarNetworkA,7952,7952,7952,1991-10-10,794.9000000001122,794.85297,2015-01-01 02:12:32,bin7952,35, +CTSPillarNetworkA,7953,7953,7953,1991-10-11,795.0000000001122,794.95294,2015-01-01 02:12:33,bin7953,75, +CTSPillarNetworkA,7954,7954,7954,1991-10-12,795.1000000001122,795.0529,2015-01-01 02:12:34,bin7954,35, +CTSPillarNetworkA,7955,7955,7955,1991-10-13,795.2000000001123,795.1529,2015-01-01 02:12:35,bin7955,75, +CTSPillarNetworkA,7956,7956,7956,1991-10-14,795.3000000001123,795.25287,2015-01-01 02:12:36,bin7956,35, +CTSPillarNetworkA,7957,7957,7957,1991-10-15,795.4000000001123,795.35284,2015-01-01 02:12:37,bin7957,75, +CTSPillarNetworkA,7958,7958,7958,1991-10-16,795.5000000001123,795.4528,2015-01-01 02:12:38,bin7958,35, +CTSPillarNetworkA,7959,7959,7959,1991-10-17,795.6000000001123,795.5528,2015-01-01 02:12:39,bin7959,75, +CTSPillarNetworkA,7960,7960,7960,1991-10-18,795.7000000001124,795.6528,2015-01-01 02:12:40,bin7960,35, +CTSPillarNetworkA,7961,7961,7961,1991-10-19,795.8000000001124,795.75275,2015-01-01 02:12:41,bin7961,75, +CTSPillarNetworkA,7962,7962,7962,1991-10-20,795.9000000001124,795.8527,2015-01-01 02:12:42,bin7962,35, +CTSPillarNetworkA,7963,7963,7963,1991-10-21,796.0000000001124,795.9527,2015-01-01 02:12:43,bin7963,75, +CTSPillarNetworkA,7964,7964,7964,1991-10-22,796.1000000001125,796.0527,2015-01-01 02:12:44,bin7964,35, +CTSPillarNetworkA,7965,7965,7965,1991-10-23,796.2000000001125,796.15265,2015-01-01 02:12:45,bin7965,75, +CTSPillarNetworkA,7966,7966,7966,1991-10-24,796.3000000001125,796.2526,2015-01-01 02:12:46,bin7966,35, +CTSPillarNetworkA,7967,7967,7967,1991-10-25,796.4000000001125,796.3526,2015-01-01 02:12:47,bin7967,75, +CTSPillarNetworkA,7968,7968,7968,1991-10-26,796.5000000001125,796.4526,2015-01-01 02:12:48,bin7968,35, +CTSPillarNetworkA,7969,7969,7969,1991-10-27,796.6000000001126,796.55255,2015-01-01 02:12:49,bin7969,75, +CTSPillarNetworkA,7970,7970,7970,1991-10-28,796.7000000001126,796.6525,2015-01-01 02:12:50,bin7970,35, +CTSPillarNetworkA,7971,7971,7971,1991-10-29,796.8000000001126,796.7525,2015-01-01 02:12:51,bin7971,75, +CTSPillarNetworkA,7972,7972,7972,1991-10-30,796.9000000001126,796.8525,2015-01-01 02:12:52,bin7972,35, +CTSPillarNetworkA,7973,7973,7973,1991-10-31,797.0000000001127,796.95245,2015-01-01 02:12:53,bin7973,75, +CTSPillarNetworkA,7974,7974,7974,1991-11-01,797.1000000001127,797.0524,2015-01-01 02:12:54,bin7974,35, +CTSPillarNetworkA,7975,7975,7975,1991-11-02,797.2000000001127,797.1524,2015-01-01 02:12:55,bin7975,75, +CTSPillarNetworkA,7976,7976,7976,1991-11-03,797.3000000001127,797.2524,2015-01-01 02:12:56,bin7976,35, +CTSPillarNetworkA,7977,7977,7977,1991-11-04,797.4000000001128,797.35236,2015-01-01 02:12:57,bin7977,75, +CTSPillarNetworkA,7978,7978,7978,1991-11-05,797.5000000001128,797.45233,2015-01-01 02:12:58,bin7978,35, +CTSPillarNetworkA,7979,7979,7979,1991-11-06,797.6000000001128,797.5523,2015-01-01 02:12:59,bin7979,75, +CTSPillarNetworkA,7980,7980,7980,1991-11-07,797.7000000001128,797.6523,2015-01-01 02:13:00,bin7980,35, +CTSPillarNetworkA,7981,7981,7981,1991-11-08,797.8000000001128,797.75226,2015-01-01 02:13:01,bin7981,75, +CTSPillarNetworkA,7982,7982,7982,1991-11-09,797.9000000001129,797.85223,2015-01-01 02:13:02,bin7982,35, +CTSPillarNetworkA,7983,7983,7983,1991-11-10,798.0000000001129,797.9522,2015-01-01 02:13:03,bin7983,75, +CTSPillarNetworkA,7984,7984,7984,1991-11-11,798.1000000001129,798.0522,2015-01-01 02:13:04,bin7984,35, +CTSPillarNetworkA,7985,7985,7985,1991-11-12,798.2000000001129,798.15216,2015-01-01 02:13:05,bin7985,75, +CTSPillarNetworkA,7986,7986,7986,1991-11-13,798.300000000113,798.25214,2015-01-01 02:13:06,bin7986,35, +CTSPillarNetworkA,7987,7987,7987,1991-11-14,798.400000000113,798.3521,2015-01-01 02:13:07,bin7987,75, +CTSPillarNetworkA,7988,7988,7988,1991-11-15,798.500000000113,798.4521,2015-01-01 02:13:08,bin7988,35, +CTSPillarNetworkA,7989,7989,7989,1991-11-16,798.600000000113,798.55206,2015-01-01 02:13:09,bin7989,75, +CTSPillarNetworkA,7990,7990,7990,1991-11-17,798.700000000113,798.65204,2015-01-01 02:13:10,bin7990,35, +CTSPillarNetworkA,7991,7991,7991,1991-11-18,798.8000000001131,798.752,2015-01-01 02:13:11,bin7991,75, +CTSPillarNetworkA,7992,7992,7992,1991-11-19,798.9000000001131,798.852,2015-01-01 02:13:12,bin7992,35, +CTSPillarNetworkA,7993,7993,7993,1991-11-20,799.0000000001131,798.95197,2015-01-01 02:13:13,bin7993,75, +CTSPillarNetworkA,7994,7994,7994,1991-11-21,799.1000000001131,799.05194,2015-01-01 02:13:14,bin7994,35, +CTSPillarNetworkA,7995,7995,7995,1991-11-22,799.2000000001132,799.1519,2015-01-01 02:13:15,bin7995,75, +CTSPillarNetworkA,7996,7996,7996,1991-11-23,799.3000000001132,799.2519,2015-01-01 02:13:16,bin7996,35, +CTSPillarNetworkA,7997,7997,7997,1991-11-24,799.4000000001132,799.35187,2015-01-01 02:13:17,bin7997,75, +CTSPillarNetworkA,7998,7998,7998,1991-11-25,799.5000000001132,799.45184,2015-01-01 02:13:18,bin7998,35, +CTSPillarNetworkA,7999,7999,7999,1991-11-26,799.6000000001133,799.5518,2015-01-01 02:13:19,bin7999,75, +CTSPillarNetworkA,8000,8000,8000,1991-11-27,799.7000000001133,799.6518,2015-01-01 02:13:20,bin8000,35, +CTSPillarNetworkA,8001,8001,8001,1991-11-28,799.8000000001133,799.7518,2015-01-01 02:13:21,bin8001,75, +CTSPillarNetworkA,8002,8002,8002,1991-11-29,799.9000000001133,799.85175,2015-01-01 02:13:22,bin8002,35, +CTSPillarNetworkA,8003,8003,8003,1991-11-30,800.0000000001133,799.9517,2015-01-01 02:13:23,bin8003,75, +CTSPillarNetworkA,8004,8004,8004,1991-12-01,800.1000000001134,800.0517,2015-01-01 02:13:24,bin8004,35, +CTSPillarNetworkA,8005,8005,8005,1991-12-02,800.2000000001134,800.1517,2015-01-01 02:13:25,bin8005,75, +CTSPillarNetworkA,8006,8006,8006,1991-12-03,800.3000000001134,800.25165,2015-01-01 02:13:26,bin8006,35, +CTSPillarNetworkA,8007,8007,8007,1991-12-04,800.4000000001134,800.3516,2015-01-01 02:13:27,bin8007,75, +CTSPillarNetworkA,8008,8008,8008,1991-12-05,800.5000000001135,800.4516,2015-01-01 02:13:28,bin8008,35, +CTSPillarNetworkA,8009,8009,8009,1991-12-06,800.6000000001135,800.5516,2015-01-01 02:13:29,bin8009,75, +CTSPillarNetworkA,8010,8010,8010,1991-12-07,800.7000000001135,800.65155,2015-01-01 02:13:30,bin8010,35, +CTSPillarNetworkA,8011,8011,8011,1991-12-08,800.8000000001135,800.7515,2015-01-01 02:13:31,bin8011,75, +CTSPillarNetworkA,8012,8012,8012,1991-12-09,800.9000000001136,800.8515,2015-01-01 02:13:32,bin8012,35, +CTSPillarNetworkA,8013,8013,8013,1991-12-10,801.0000000001136,800.9515,2015-01-01 02:13:33,bin8013,75, +CTSPillarNetworkA,8014,8014,8014,1991-12-11,801.1000000001136,801.05145,2015-01-01 02:13:34,bin8014,35, +CTSPillarNetworkA,8015,8015,8015,1991-12-12,801.2000000001136,801.1514,2015-01-01 02:13:35,bin8015,75, +CTSPillarNetworkA,8016,8016,8016,1991-12-13,801.3000000001136,801.2514,2015-01-01 02:13:36,bin8016,35, +CTSPillarNetworkA,8017,8017,8017,1991-12-14,801.4000000001137,801.3514,2015-01-01 02:13:37,bin8017,75, +CTSPillarNetworkA,8018,8018,8018,1991-12-15,801.5000000001137,801.45135,2015-01-01 02:13:38,bin8018,35, +CTSPillarNetworkA,8019,8019,8019,1991-12-16,801.6000000001137,801.55133,2015-01-01 02:13:39,bin8019,75, +CTSPillarNetworkA,8020,8020,8020,1991-12-17,801.7000000001137,801.6513,2015-01-01 02:13:40,bin8020,35, +CTSPillarNetworkA,8021,8021,8021,1991-12-18,801.8000000001138,801.7513,2015-01-01 02:13:41,bin8021,75, +CTSPillarNetworkA,8022,8022,8022,1991-12-19,801.9000000001138,801.85126,2015-01-01 02:13:42,bin8022,35, +CTSPillarNetworkA,8023,8023,8023,1991-12-20,802.0000000001138,801.95123,2015-01-01 02:13:43,bin8023,75, +CTSPillarNetworkA,8024,8024,8024,1991-12-21,802.1000000001138,802.0512,2015-01-01 02:13:44,bin8024,35, +CTSPillarNetworkA,8025,8025,8025,1991-12-22,802.2000000001138,802.1512,2015-01-01 02:13:45,bin8025,75, +CTSPillarNetworkA,8026,8026,8026,1991-12-23,802.3000000001139,802.25116,2015-01-01 02:13:46,bin8026,35, +CTSPillarNetworkA,8027,8027,8027,1991-12-24,802.4000000001139,802.35114,2015-01-01 02:13:47,bin8027,75, +CTSPillarNetworkA,8028,8028,8028,1991-12-25,802.5000000001139,802.4511,2015-01-01 02:13:48,bin8028,35, +CTSPillarNetworkA,8029,8029,8029,1991-12-26,802.6000000001139,802.5511,2015-01-01 02:13:49,bin8029,75, +CTSPillarNetworkA,8030,8030,8030,1991-12-27,802.700000000114,802.65106,2015-01-01 02:13:50,bin8030,35, +CTSPillarNetworkA,8031,8031,8031,1991-12-28,802.800000000114,802.75104,2015-01-01 02:13:51,bin8031,75, +CTSPillarNetworkA,8032,8032,8032,1991-12-29,802.900000000114,802.851,2015-01-01 02:13:52,bin8032,35, +CTSPillarNetworkA,8033,8033,8033,1991-12-30,803.000000000114,802.951,2015-01-01 02:13:53,bin8033,75, +CTSPillarNetworkA,8034,8034,8034,1991-12-31,803.100000000114,803.05096,2015-01-01 02:13:54,bin8034,35, +CTSPillarNetworkA,8035,8035,8035,1992-01-01,803.2000000001141,803.15094,2015-01-01 02:13:55,bin8035,75, +CTSPillarNetworkA,8036,8036,8036,1992-01-02,803.3000000001141,803.2509,2015-01-01 02:13:56,bin8036,35, +CTSPillarNetworkA,8037,8037,8037,1992-01-03,803.4000000001141,803.3509,2015-01-01 02:13:57,bin8037,75, +CTSPillarNetworkA,8038,8038,8038,1992-01-04,803.5000000001141,803.45087,2015-01-01 02:13:58,bin8038,35, +CTSPillarNetworkA,8039,8039,8039,1992-01-05,803.6000000001142,803.55084,2015-01-01 02:13:59,bin8039,75, +CTSPillarNetworkA,8040,8040,8040,1992-01-06,803.7000000001142,803.6508,2015-01-01 02:14:00,bin8040,35, +CTSPillarNetworkA,8041,8041,8041,1992-01-07,803.8000000001142,803.7508,2015-01-01 02:14:01,bin8041,75, +CTSPillarNetworkA,8042,8042,8042,1992-01-08,803.9000000001142,803.85077,2015-01-01 02:14:02,bin8042,35, +CTSPillarNetworkA,8043,8043,8043,1992-01-09,804.0000000001143,803.95074,2015-01-01 02:14:03,bin8043,75, +CTSPillarNetworkA,8044,8044,8044,1992-01-10,804.1000000001143,804.0507,2015-01-01 02:14:04,bin8044,35, +CTSPillarNetworkA,8045,8045,8045,1992-01-11,804.2000000001143,804.1507,2015-01-01 02:14:05,bin8045,75, +CTSPillarNetworkA,8046,8046,8046,1992-01-12,804.3000000001143,804.2507,2015-01-01 02:14:06,bin8046,35, +CTSPillarNetworkA,8047,8047,8047,1992-01-13,804.4000000001143,804.35065,2015-01-01 02:14:07,bin8047,75, +CTSPillarNetworkA,8048,8048,8048,1992-01-14,804.5000000001144,804.4506,2015-01-01 02:14:08,bin8048,35, +CTSPillarNetworkA,8049,8049,8049,1992-01-15,804.6000000001144,804.5506,2015-01-01 02:14:09,bin8049,75, +CTSPillarNetworkA,8050,8050,8050,1992-01-16,804.7000000001144,804.6506,2015-01-01 02:14:10,bin8050,35, +CTSPillarNetworkA,8051,8051,8051,1992-01-17,804.8000000001144,804.75055,2015-01-01 02:14:11,bin8051,75, +CTSPillarNetworkA,8052,8052,8052,1992-01-18,804.9000000001145,804.8505,2015-01-01 02:14:12,bin8052,35, +CTSPillarNetworkA,8053,8053,8053,1992-01-19,805.0000000001145,804.9505,2015-01-01 02:14:13,bin8053,75, +CTSPillarNetworkA,8054,8054,8054,1992-01-20,805.1000000001145,805.0505,2015-01-01 02:14:14,bin8054,35, +CTSPillarNetworkA,8055,8055,8055,1992-01-21,805.2000000001145,805.15045,2015-01-01 02:14:15,bin8055,75, +CTSPillarNetworkA,8056,8056,8056,1992-01-22,805.3000000001146,805.2504,2015-01-01 02:14:16,bin8056,35, +CTSPillarNetworkA,8057,8057,8057,1992-01-23,805.4000000001146,805.3504,2015-01-01 02:14:17,bin8057,75, +CTSPillarNetworkA,8058,8058,8058,1992-01-24,805.5000000001146,805.4504,2015-01-01 02:14:18,bin8058,35, +CTSPillarNetworkA,8059,8059,8059,1992-01-25,805.6000000001146,805.55035,2015-01-01 02:14:19,bin8059,75, +CTSPillarNetworkA,8060,8060,8060,1992-01-26,805.7000000001146,805.6503,2015-01-01 02:14:20,bin8060,35, +CTSPillarNetworkA,8061,8061,8061,1992-01-27,805.8000000001147,805.7503,2015-01-01 02:14:21,bin8061,75, +CTSPillarNetworkA,8062,8062,8062,1992-01-28,805.9000000001147,805.8503,2015-01-01 02:14:22,bin8062,35, +CTSPillarNetworkA,8063,8063,8063,1992-01-29,806.0000000001147,805.95026,2015-01-01 02:14:23,bin8063,75, +CTSPillarNetworkA,8064,8064,8064,1992-01-30,806.1000000001147,806.05023,2015-01-01 02:14:24,bin8064,35, +CTSPillarNetworkA,8065,8065,8065,1992-01-31,806.2000000001148,806.1502,2015-01-01 02:14:25,bin8065,75, +CTSPillarNetworkA,8066,8066,8066,1992-02-01,806.3000000001148,806.2502,2015-01-01 02:14:26,bin8066,35, +CTSPillarNetworkA,8067,8067,8067,1992-02-02,806.4000000001148,806.35016,2015-01-01 02:14:27,bin8067,75, +CTSPillarNetworkA,8068,8068,8068,1992-02-03,806.5000000001148,806.45013,2015-01-01 02:14:28,bin8068,35, +CTSPillarNetworkA,8069,8069,8069,1992-02-04,806.6000000001148,806.5501,2015-01-01 02:14:29,bin8069,75, +CTSPillarNetworkA,8070,8070,8070,1992-02-05,806.7000000001149,806.6501,2015-01-01 02:14:30,bin8070,35, +CTSPillarNetworkA,8071,8071,8071,1992-02-06,806.8000000001149,806.75006,2015-01-01 02:14:31,bin8071,75, +CTSPillarNetworkA,8072,8072,8072,1992-02-07,806.9000000001149,806.85004,2015-01-01 02:14:32,bin8072,35, +CTSPillarNetworkA,8073,8073,8073,1992-02-08,807.0000000001149,806.95,2015-01-01 02:14:33,bin8073,75, +CTSPillarNetworkA,8074,8074,8074,1992-02-09,807.100000000115,807.05,2015-01-01 02:14:34,bin8074,35, +CTSPillarNetworkA,8075,8075,8075,1992-02-10,807.200000000115,807.14996,2015-01-01 02:14:35,bin8075,75, +CTSPillarNetworkA,8076,8076,8076,1992-02-11,807.300000000115,807.24994,2015-01-01 02:14:36,bin8076,35, +CTSPillarNetworkA,8077,8077,8077,1992-02-12,807.400000000115,807.3499,2015-01-01 02:14:37,bin8077,75, +CTSPillarNetworkA,8078,8078,8078,1992-02-13,807.500000000115,807.4499,2015-01-01 02:14:38,bin8078,35, +CTSPillarNetworkA,8079,8079,8079,1992-02-14,807.6000000001151,807.54987,2015-01-01 02:14:39,bin8079,75, +CTSPillarNetworkA,8080,8080,8080,1992-02-15,807.7000000001151,807.64984,2015-01-01 02:14:40,bin8080,35, +CTSPillarNetworkA,8081,8081,8081,1992-02-16,807.8000000001151,807.7498,2015-01-01 02:14:41,bin8081,75, +CTSPillarNetworkA,8082,8082,8082,1992-02-17,807.9000000001151,807.8498,2015-01-01 02:14:42,bin8082,35, +CTSPillarNetworkA,8083,8083,8083,1992-02-18,808.0000000001152,807.94977,2015-01-01 02:14:43,bin8083,75, +CTSPillarNetworkA,8084,8084,8084,1992-02-19,808.1000000001152,808.04974,2015-01-01 02:14:44,bin8084,35, +CTSPillarNetworkA,8085,8085,8085,1992-02-20,808.2000000001152,808.1497,2015-01-01 02:14:45,bin8085,75, +CTSPillarNetworkA,8086,8086,8086,1992-02-21,808.3000000001152,808.2497,2015-01-01 02:14:46,bin8086,35, +CTSPillarNetworkA,8087,8087,8087,1992-02-22,808.4000000001153,808.3497,2015-01-01 02:14:47,bin8087,75, +CTSPillarNetworkA,8088,8088,8088,1992-02-23,808.5000000001153,808.44965,2015-01-01 02:14:48,bin8088,35, +CTSPillarNetworkA,8089,8089,8089,1992-02-24,808.6000000001153,808.5496,2015-01-01 02:14:49,bin8089,75, +CTSPillarNetworkA,8090,8090,8090,1992-02-25,808.7000000001153,808.6496,2015-01-01 02:14:50,bin8090,35, +CTSPillarNetworkA,8091,8091,8091,1992-02-26,808.8000000001153,808.7496,2015-01-01 02:14:51,bin8091,75, +CTSPillarNetworkA,8092,8092,8092,1992-02-27,808.9000000001154,808.84955,2015-01-01 02:14:52,bin8092,35, +CTSPillarNetworkA,8093,8093,8093,1992-02-28,809.0000000001154,808.9495,2015-01-01 02:14:53,bin8093,75, +CTSPillarNetworkA,8094,8094,8094,1992-02-29,809.1000000001154,809.0495,2015-01-01 02:14:54,bin8094,35, +CTSPillarNetworkA,8095,8095,8095,1992-03-01,809.2000000001154,809.1495,2015-01-01 02:14:55,bin8095,75, +CTSPillarNetworkA,8096,8096,8096,1992-03-02,809.3000000001155,809.24945,2015-01-01 02:14:56,bin8096,35, +CTSPillarNetworkA,8097,8097,8097,1992-03-03,809.4000000001155,809.3494,2015-01-01 02:14:57,bin8097,75, +CTSPillarNetworkA,8098,8098,8098,1992-03-04,809.5000000001155,809.4494,2015-01-01 02:14:58,bin8098,35, +CTSPillarNetworkA,8099,8099,8099,1992-03-05,809.6000000001155,809.5494,2015-01-01 02:14:59,bin8099,75, +CTSPillarNetworkA,8100,8100,8100,1992-03-06,809.7000000001156,809.64935,2015-01-01 02:15:00,bin8100,35, +CTSPillarNetworkA,8101,8101,8101,1992-03-07,809.8000000001156,809.7493,2015-01-01 02:15:01,bin8101,75, +CTSPillarNetworkA,8102,8102,8102,1992-03-08,809.9000000001156,809.8493,2015-01-01 02:15:02,bin8102,35, +CTSPillarNetworkA,8103,8103,8103,1992-03-09,810.0000000001156,809.9493,2015-01-01 02:15:03,bin8103,75, +CTSPillarNetworkA,8104,8104,8104,1992-03-10,810.1000000001156,810.04926,2015-01-01 02:15:04,bin8104,35, +CTSPillarNetworkA,8105,8105,8105,1992-03-11,810.2000000001157,810.14923,2015-01-01 02:15:05,bin8105,75, +CTSPillarNetworkA,8106,8106,8106,1992-03-12,810.3000000001157,810.2492,2015-01-01 02:15:06,bin8106,35, +CTSPillarNetworkA,8107,8107,8107,1992-03-13,810.4000000001157,810.3492,2015-01-01 02:15:07,bin8107,75, +CTSPillarNetworkA,8108,8108,8108,1992-03-14,810.5000000001157,810.44916,2015-01-01 02:15:08,bin8108,35, +CTSPillarNetworkA,8109,8109,8109,1992-03-15,810.6000000001158,810.54913,2015-01-01 02:15:09,bin8109,75, +CTSPillarNetworkA,8110,8110,8110,1992-03-16,810.7000000001158,810.6491,2015-01-01 02:15:10,bin8110,35, +CTSPillarNetworkA,8111,8111,8111,1992-03-17,810.8000000001158,810.7491,2015-01-01 02:15:11,bin8111,75, +CTSPillarNetworkA,8112,8112,8112,1992-03-18,810.9000000001158,810.84906,2015-01-01 02:15:12,bin8112,35, +CTSPillarNetworkA,8113,8113,8113,1992-03-19,811.0000000001158,810.94904,2015-01-01 02:15:13,bin8113,75, +CTSPillarNetworkA,8114,8114,8114,1992-03-20,811.1000000001159,811.049,2015-01-01 02:15:14,bin8114,35, +CTSPillarNetworkA,8115,8115,8115,1992-03-21,811.2000000001159,811.149,2015-01-01 02:15:15,bin8115,75, +CTSPillarNetworkA,8116,8116,8116,1992-03-22,811.3000000001159,811.24896,2015-01-01 02:15:16,bin8116,35, +CTSPillarNetworkA,8117,8117,8117,1992-03-23,811.4000000001159,811.34894,2015-01-01 02:15:17,bin8117,75, +CTSPillarNetworkA,8118,8118,8118,1992-03-24,811.500000000116,811.4489,2015-01-01 02:15:18,bin8118,35, +CTSPillarNetworkA,8119,8119,8119,1992-03-25,811.600000000116,811.5489,2015-01-01 02:15:19,bin8119,75, +CTSPillarNetworkA,8120,8120,8120,1992-03-26,811.700000000116,811.64886,2015-01-01 02:15:20,bin8120,35, +CTSPillarNetworkA,8121,8121,8121,1992-03-27,811.800000000116,811.74884,2015-01-01 02:15:21,bin8121,75, +CTSPillarNetworkA,8122,8122,8122,1992-03-28,811.900000000116,811.8488,2015-01-01 02:15:22,bin8122,35, +CTSPillarNetworkA,8123,8123,8123,1992-03-29,812.0000000001161,811.9488,2015-01-01 02:15:23,bin8123,75, +CTSPillarNetworkA,8124,8124,8124,1992-03-30,812.1000000001161,812.04877,2015-01-01 02:15:24,bin8124,35, +CTSPillarNetworkA,8125,8125,8125,1992-03-31,812.2000000001161,812.14874,2015-01-01 02:15:25,bin8125,75, +CTSPillarNetworkA,8126,8126,8126,1992-04-01,812.3000000001161,812.2487,2015-01-01 02:15:26,bin8126,35, +CTSPillarNetworkA,8127,8127,8127,1992-04-02,812.4000000001162,812.3487,2015-01-01 02:15:27,bin8127,75, +CTSPillarNetworkA,8128,8128,8128,1992-04-03,812.5000000001162,812.44867,2015-01-01 02:15:28,bin8128,35, +CTSPillarNetworkA,8129,8129,8129,1992-04-04,812.6000000001162,812.54865,2015-01-01 02:15:29,bin8129,75, +CTSPillarNetworkA,8130,8130,8130,1992-04-05,812.7000000001162,812.6486,2015-01-01 02:15:30,bin8130,35, +CTSPillarNetworkA,8131,8131,8131,1992-04-06,812.8000000001163,812.7486,2015-01-01 02:15:31,bin8131,75, +CTSPillarNetworkA,8132,8132,8132,1992-04-07,812.9000000001163,812.8486,2015-01-01 02:15:32,bin8132,35, +CTSPillarNetworkA,8133,8133,8133,1992-04-08,813.0000000001163,812.94855,2015-01-01 02:15:33,bin8133,75, +CTSPillarNetworkA,8134,8134,8134,1992-04-09,813.1000000001163,813.0485,2015-01-01 02:15:34,bin8134,35, +CTSPillarNetworkA,8135,8135,8135,1992-04-10,813.2000000001163,813.1485,2015-01-01 02:15:35,bin8135,75, +CTSPillarNetworkA,8136,8136,8136,1992-04-11,813.3000000001164,813.2485,2015-01-01 02:15:36,bin8136,35, +CTSPillarNetworkA,8137,8137,8137,1992-04-12,813.4000000001164,813.34845,2015-01-01 02:15:37,bin8137,75, +CTSPillarNetworkA,8138,8138,8138,1992-04-13,813.5000000001164,813.4484,2015-01-01 02:15:38,bin8138,35, +CTSPillarNetworkA,8139,8139,8139,1992-04-14,813.6000000001164,813.5484,2015-01-01 02:15:39,bin8139,75, +CTSPillarNetworkA,8140,8140,8140,1992-04-15,813.7000000001165,813.6484,2015-01-01 02:15:40,bin8140,35, +CTSPillarNetworkA,8141,8141,8141,1992-04-16,813.8000000001165,813.74835,2015-01-01 02:15:41,bin8141,75, +CTSPillarNetworkA,8142,8142,8142,1992-04-17,813.9000000001165,813.8483,2015-01-01 02:15:42,bin8142,35, +CTSPillarNetworkA,8143,8143,8143,1992-04-18,814.0000000001165,813.9483,2015-01-01 02:15:43,bin8143,75, +CTSPillarNetworkA,8144,8144,8144,1992-04-19,814.1000000001166,814.0483,2015-01-01 02:15:44,bin8144,35, +CTSPillarNetworkA,8145,8145,8145,1992-04-20,814.2000000001166,814.14825,2015-01-01 02:15:45,bin8145,75, +CTSPillarNetworkA,8146,8146,8146,1992-04-21,814.3000000001166,814.2482,2015-01-01 02:15:46,bin8146,35, +CTSPillarNetworkA,8147,8147,8147,1992-04-22,814.4000000001166,814.3482,2015-01-01 02:15:47,bin8147,75, +CTSPillarNetworkA,8148,8148,8148,1992-04-23,814.5000000001166,814.4482,2015-01-01 02:15:48,bin8148,35, +CTSPillarNetworkA,8149,8149,8149,1992-04-24,814.6000000001167,814.54816,2015-01-01 02:15:49,bin8149,75, +CTSPillarNetworkA,8150,8150,8150,1992-04-25,814.7000000001167,814.64813,2015-01-01 02:15:50,bin8150,35, +CTSPillarNetworkA,8151,8151,8151,1992-04-26,814.8000000001167,814.7481,2015-01-01 02:15:51,bin8151,75, +CTSPillarNetworkA,8152,8152,8152,1992-04-27,814.9000000001167,814.8481,2015-01-01 02:15:52,bin8152,35, +CTSPillarNetworkA,8153,8153,8153,1992-04-28,815.0000000001168,814.94806,2015-01-01 02:15:53,bin8153,75, +CTSPillarNetworkA,8154,8154,8154,1992-04-29,815.1000000001168,815.04803,2015-01-01 02:15:54,bin8154,35, +CTSPillarNetworkA,8155,8155,8155,1992-04-30,815.2000000001168,815.148,2015-01-01 02:15:55,bin8155,75, +CTSPillarNetworkA,8156,8156,8156,1992-05-01,815.3000000001168,815.248,2015-01-01 02:15:56,bin8156,35, +CTSPillarNetworkA,8157,8157,8157,1992-05-02,815.4000000001168,815.34796,2015-01-01 02:15:57,bin8157,75, +CTSPillarNetworkA,8158,8158,8158,1992-05-03,815.5000000001169,815.44794,2015-01-01 02:15:58,bin8158,35, +CTSPillarNetworkA,8159,8159,8159,1992-05-04,815.6000000001169,815.5479,2015-01-01 02:15:59,bin8159,75, +CTSPillarNetworkA,8160,8160,8160,1992-05-05,815.7000000001169,815.6479,2015-01-01 02:16:00,bin8160,35, +CTSPillarNetworkA,8161,8161,8161,1992-05-06,815.8000000001169,815.74786,2015-01-01 02:16:01,bin8161,75, +CTSPillarNetworkA,8162,8162,8162,1992-05-07,815.900000000117,815.84784,2015-01-01 02:16:02,bin8162,35, +CTSPillarNetworkA,8163,8163,8163,1992-05-08,816.000000000117,815.9478,2015-01-01 02:16:03,bin8163,75, +CTSPillarNetworkA,8164,8164,8164,1992-05-09,816.100000000117,816.0478,2015-01-01 02:16:04,bin8164,35, +CTSPillarNetworkA,8165,8165,8165,1992-05-10,816.200000000117,816.14777,2015-01-01 02:16:05,bin8165,75, +CTSPillarNetworkA,8166,8166,8166,1992-05-11,816.300000000117,816.24774,2015-01-01 02:16:06,bin8166,35, +CTSPillarNetworkA,8167,8167,8167,1992-05-12,816.4000000001171,816.3477,2015-01-01 02:16:07,bin8167,75, +CTSPillarNetworkA,8168,8168,8168,1992-05-13,816.5000000001171,816.4477,2015-01-01 02:16:08,bin8168,35, +CTSPillarNetworkA,8169,8169,8169,1992-05-14,816.6000000001171,816.54767,2015-01-01 02:16:09,bin8169,75, +CTSPillarNetworkA,8170,8170,8170,1992-05-15,816.7000000001171,816.64764,2015-01-01 02:16:10,bin8170,35, +CTSPillarNetworkA,8171,8171,8171,1992-05-16,816.8000000001172,816.7476,2015-01-01 02:16:11,bin8171,75, +CTSPillarNetworkA,8172,8172,8172,1992-05-17,816.9000000001172,816.8476,2015-01-01 02:16:12,bin8172,35, +CTSPillarNetworkA,8173,8173,8173,1992-05-18,817.0000000001172,816.9476,2015-01-01 02:16:13,bin8173,75, +CTSPillarNetworkA,8174,8174,8174,1992-05-19,817.1000000001172,817.04755,2015-01-01 02:16:14,bin8174,35, +CTSPillarNetworkA,8175,8175,8175,1992-05-20,817.2000000001173,817.1475,2015-01-01 02:16:15,bin8175,75, +CTSPillarNetworkA,8176,8176,8176,1992-05-21,817.3000000001173,817.2475,2015-01-01 02:16:16,bin8176,35, +CTSPillarNetworkA,8177,8177,8177,1992-05-22,817.4000000001173,817.3475,2015-01-01 02:16:17,bin8177,75, +CTSPillarNetworkA,8178,8178,8178,1992-05-23,817.5000000001173,817.44745,2015-01-01 02:16:18,bin8178,35, +CTSPillarNetworkA,8179,8179,8179,1992-05-24,817.6000000001173,817.5474,2015-01-01 02:16:19,bin8179,75, +CTSPillarNetworkA,8180,8180,8180,1992-05-25,817.7000000001174,817.6474,2015-01-01 02:16:20,bin8180,35, +CTSPillarNetworkA,8181,8181,8181,1992-05-26,817.8000000001174,817.7474,2015-01-01 02:16:21,bin8181,75, +CTSPillarNetworkA,8182,8182,8182,1992-05-27,817.9000000001174,817.84735,2015-01-01 02:16:22,bin8182,35, +CTSPillarNetworkA,8183,8183,8183,1992-05-28,818.0000000001174,817.9473,2015-01-01 02:16:23,bin8183,75, +CTSPillarNetworkA,8184,8184,8184,1992-05-29,818.1000000001175,818.0473,2015-01-01 02:16:24,bin8184,35, +CTSPillarNetworkA,8185,8185,8185,1992-05-30,818.2000000001175,818.1473,2015-01-01 02:16:25,bin8185,75, +CTSPillarNetworkA,8186,8186,8186,1992-05-31,818.3000000001175,818.24725,2015-01-01 02:16:26,bin8186,35, +CTSPillarNetworkA,8187,8187,8187,1992-06-01,818.4000000001175,818.3472,2015-01-01 02:16:27,bin8187,75, +CTSPillarNetworkA,8188,8188,8188,1992-06-02,818.5000000001176,818.4472,2015-01-01 02:16:28,bin8188,35, +CTSPillarNetworkA,8189,8189,8189,1992-06-03,818.6000000001176,818.5472,2015-01-01 02:16:29,bin8189,75, +CTSPillarNetworkA,8190,8190,8190,1992-06-04,818.7000000001176,818.64716,2015-01-01 02:16:30,bin8190,35, +CTSPillarNetworkA,8191,8191,8191,1992-06-05,818.8000000001176,818.74713,2015-01-01 02:16:31,bin8191,75, +CTSPillarNetworkA,8192,8192,8192,1992-06-06,818.9000000001176,818.8471,2015-01-01 02:16:32,bin8192,35, +CTSPillarNetworkA,8193,8193,8193,1992-06-07,819.0000000001177,818.9471,2015-01-01 02:16:33,bin8193,75, +CTSPillarNetworkA,8194,8194,8194,1992-06-08,819.1000000001177,819.04706,2015-01-01 02:16:34,bin8194,35, +CTSPillarNetworkA,8195,8195,8195,1992-06-09,819.2000000001177,819.14703,2015-01-01 02:16:35,bin8195,75, +CTSPillarNetworkA,8196,8196,8196,1992-06-10,819.3000000001177,819.247,2015-01-01 02:16:36,bin8196,35, +CTSPillarNetworkA,8197,8197,8197,1992-06-11,819.4000000001178,819.347,2015-01-01 02:16:37,bin8197,75, +CTSPillarNetworkA,8198,8198,8198,1992-06-12,819.5000000001178,819.44696,2015-01-01 02:16:38,bin8198,35, +CTSPillarNetworkA,8199,8199,8199,1992-06-13,819.6000000001178,819.54694,2015-01-01 02:16:39,bin8199,75, +CTSPillarNetworkA,8200,8200,8200,1992-06-14,819.7000000001178,819.6469,2015-01-01 02:16:40,bin8200,35, +CTSPillarNetworkA,8201,8201,8201,1992-06-15,819.8000000001178,819.7469,2015-01-01 02:16:41,bin8201,75, +CTSPillarNetworkA,8202,8202,8202,1992-06-16,819.9000000001179,819.84686,2015-01-01 02:16:42,bin8202,35, +CTSPillarNetworkA,8203,8203,8203,1992-06-17,820.0000000001179,819.94684,2015-01-01 02:16:43,bin8203,75, +CTSPillarNetworkA,8204,8204,8204,1992-06-18,820.1000000001179,820.0468,2015-01-01 02:16:44,bin8204,35, +CTSPillarNetworkA,8205,8205,8205,1992-06-19,820.2000000001179,820.1468,2015-01-01 02:16:45,bin8205,75, +CTSPillarNetworkA,8206,8206,8206,1992-06-20,820.300000000118,820.24677,2015-01-01 02:16:46,bin8206,35, +CTSPillarNetworkA,8207,8207,8207,1992-06-21,820.400000000118,820.34674,2015-01-01 02:16:47,bin8207,75, +CTSPillarNetworkA,8208,8208,8208,1992-06-22,820.500000000118,820.4467,2015-01-01 02:16:48,bin8208,35, +CTSPillarNetworkA,8209,8209,8209,1992-06-23,820.600000000118,820.5467,2015-01-01 02:16:49,bin8209,75, +CTSPillarNetworkA,8210,8210,8210,1992-06-24,820.700000000118,820.64667,2015-01-01 02:16:50,bin8210,35, +CTSPillarNetworkA,8211,8211,8211,1992-06-25,820.8000000001181,820.74664,2015-01-01 02:16:51,bin8211,75, +CTSPillarNetworkA,8212,8212,8212,1992-06-26,820.9000000001181,820.8466,2015-01-01 02:16:52,bin8212,35, +CTSPillarNetworkA,8213,8213,8213,1992-06-27,821.0000000001181,820.9466,2015-01-01 02:16:53,bin8213,75, +CTSPillarNetworkA,8214,8214,8214,1992-06-28,821.1000000001181,821.0466,2015-01-01 02:16:54,bin8214,35, +CTSPillarNetworkA,8215,8215,8215,1992-06-29,821.2000000001182,821.14655,2015-01-01 02:16:55,bin8215,75, +CTSPillarNetworkA,8216,8216,8216,1992-06-30,821.3000000001182,821.2465,2015-01-01 02:16:56,bin8216,35, +CTSPillarNetworkA,8217,8217,8217,1992-07-01,821.4000000001182,821.3465,2015-01-01 02:16:57,bin8217,75, +CTSPillarNetworkA,8218,8218,8218,1992-07-02,821.5000000001182,821.4465,2015-01-01 02:16:58,bin8218,35, +CTSPillarNetworkA,8219,8219,8219,1992-07-03,821.6000000001183,821.54645,2015-01-01 02:16:59,bin8219,75, +CTSPillarNetworkA,8220,8220,8220,1992-07-04,821.7000000001183,821.6464,2015-01-01 02:17:00,bin8220,35, +CTSPillarNetworkA,8221,8221,8221,1992-07-05,821.8000000001183,821.7464,2015-01-01 02:17:01,bin8221,75, +CTSPillarNetworkA,8222,8222,8222,1992-07-06,821.9000000001183,821.8464,2015-01-01 02:17:02,bin8222,35, +CTSPillarNetworkA,8223,8223,8223,1992-07-07,822.0000000001183,821.94635,2015-01-01 02:17:03,bin8223,75, +CTSPillarNetworkA,8224,8224,8224,1992-07-08,822.1000000001184,822.0463,2015-01-01 02:17:04,bin8224,35, +CTSPillarNetworkA,8225,8225,8225,1992-07-09,822.2000000001184,822.1463,2015-01-01 02:17:05,bin8225,75, +CTSPillarNetworkA,8226,8226,8226,1992-07-10,822.3000000001184,822.2463,2015-01-01 02:17:06,bin8226,35, +CTSPillarNetworkA,8227,8227,8227,1992-07-11,822.4000000001184,822.34625,2015-01-01 02:17:07,bin8227,75, +CTSPillarNetworkA,8228,8228,8228,1992-07-12,822.5000000001185,822.4462,2015-01-01 02:17:08,bin8228,35, +CTSPillarNetworkA,8229,8229,8229,1992-07-13,822.6000000001185,822.5462,2015-01-01 02:17:09,bin8229,75, +CTSPillarNetworkA,8230,8230,8230,1992-07-14,822.7000000001185,822.6462,2015-01-01 02:17:10,bin8230,35, +CTSPillarNetworkA,8231,8231,8231,1992-07-15,822.8000000001185,822.74615,2015-01-01 02:17:11,bin8231,75, +CTSPillarNetworkA,8232,8232,8232,1992-07-16,822.9000000001186,822.8461,2015-01-01 02:17:12,bin8232,35, +CTSPillarNetworkA,8233,8233,8233,1992-07-17,823.0000000001186,822.9461,2015-01-01 02:17:13,bin8233,75, +CTSPillarNetworkA,8234,8234,8234,1992-07-18,823.1000000001186,823.0461,2015-01-01 02:17:14,bin8234,35, +CTSPillarNetworkA,8235,8235,8235,1992-07-19,823.2000000001186,823.14606,2015-01-01 02:17:15,bin8235,75, +CTSPillarNetworkA,8236,8236,8236,1992-07-20,823.3000000001186,823.24603,2015-01-01 02:17:16,bin8236,35, +CTSPillarNetworkA,8237,8237,8237,1992-07-21,823.4000000001187,823.346,2015-01-01 02:17:17,bin8237,75, +CTSPillarNetworkA,8238,8238,8238,1992-07-22,823.5000000001187,823.446,2015-01-01 02:17:18,bin8238,35, +CTSPillarNetworkA,8239,8239,8239,1992-07-23,823.6000000001187,823.54596,2015-01-01 02:17:19,bin8239,75, +CTSPillarNetworkA,8240,8240,8240,1992-07-24,823.7000000001187,823.64594,2015-01-01 02:17:20,bin8240,35, +CTSPillarNetworkA,8241,8241,8241,1992-07-25,823.8000000001188,823.7459,2015-01-01 02:17:21,bin8241,75, +CTSPillarNetworkA,8242,8242,8242,1992-07-26,823.9000000001188,823.8459,2015-01-01 02:17:22,bin8242,35, +CTSPillarNetworkA,8243,8243,8243,1992-07-27,824.0000000001188,823.94586,2015-01-01 02:17:23,bin8243,75, +CTSPillarNetworkA,8244,8244,8244,1992-07-28,824.1000000001188,824.04584,2015-01-01 02:17:24,bin8244,35, +CTSPillarNetworkA,8245,8245,8245,1992-07-29,824.2000000001188,824.1458,2015-01-01 02:17:25,bin8245,75, +CTSPillarNetworkA,8246,8246,8246,1992-07-30,824.3000000001189,824.2458,2015-01-01 02:17:26,bin8246,35, +CTSPillarNetworkA,8247,8247,8247,1992-07-31,824.4000000001189,824.34576,2015-01-01 02:17:27,bin8247,75, +CTSPillarNetworkA,8248,8248,8248,1992-08-01,824.5000000001189,824.44574,2015-01-01 02:17:28,bin8248,35, +CTSPillarNetworkA,8249,8249,8249,1992-08-02,824.6000000001189,824.5457,2015-01-01 02:17:29,bin8249,75, +CTSPillarNetworkA,8250,8250,8250,1992-08-03,824.700000000119,824.6457,2015-01-01 02:17:30,bin8250,35, +CTSPillarNetworkA,8251,8251,8251,1992-08-04,824.800000000119,824.74567,2015-01-01 02:17:31,bin8251,75, +CTSPillarNetworkA,8252,8252,8252,1992-08-05,824.900000000119,824.84564,2015-01-01 02:17:32,bin8252,35, +CTSPillarNetworkA,8253,8253,8253,1992-08-06,825.000000000119,824.9456,2015-01-01 02:17:33,bin8253,75, +CTSPillarNetworkA,8254,8254,8254,1992-08-07,825.100000000119,825.0456,2015-01-01 02:17:34,bin8254,35, +CTSPillarNetworkA,8255,8255,8255,1992-08-08,825.2000000001191,825.14557,2015-01-01 02:17:35,bin8255,75, +CTSPillarNetworkA,8256,8256,8256,1992-08-09,825.3000000001191,825.24554,2015-01-01 02:17:36,bin8256,35, +CTSPillarNetworkA,8257,8257,8257,1992-08-10,825.4000000001191,825.3455,2015-01-01 02:17:37,bin8257,75, +CTSPillarNetworkA,8258,8258,8258,1992-08-11,825.5000000001191,825.4455,2015-01-01 02:17:38,bin8258,35, +CTSPillarNetworkA,8259,8259,8259,1992-08-12,825.6000000001192,825.5455,2015-01-01 02:17:39,bin8259,75, +CTSPillarNetworkA,8260,8260,8260,1992-08-13,825.7000000001192,825.64545,2015-01-01 02:17:40,bin8260,35, +CTSPillarNetworkA,8261,8261,8261,1992-08-14,825.8000000001192,825.7454,2015-01-01 02:17:41,bin8261,75, +CTSPillarNetworkA,8262,8262,8262,1992-08-15,825.9000000001192,825.8454,2015-01-01 02:17:42,bin8262,35, +CTSPillarNetworkA,8263,8263,8263,1992-08-16,826.0000000001193,825.9454,2015-01-01 02:17:43,bin8263,75, +CTSPillarNetworkA,8264,8264,8264,1992-08-17,826.1000000001193,826.04535,2015-01-01 02:17:44,bin8264,35, +CTSPillarNetworkA,8265,8265,8265,1992-08-18,826.2000000001193,826.1453,2015-01-01 02:17:45,bin8265,75, +CTSPillarNetworkA,8266,8266,8266,1992-08-19,826.3000000001193,826.2453,2015-01-01 02:17:46,bin8266,35, +CTSPillarNetworkA,8267,8267,8267,1992-08-20,826.4000000001193,826.3453,2015-01-01 02:17:47,bin8267,75, +CTSPillarNetworkA,8268,8268,8268,1992-08-21,826.5000000001194,826.44525,2015-01-01 02:17:48,bin8268,35, +CTSPillarNetworkA,8269,8269,8269,1992-08-22,826.6000000001194,826.5452,2015-01-01 02:17:49,bin8269,75, +CTSPillarNetworkA,8270,8270,8270,1992-08-23,826.7000000001194,826.6452,2015-01-01 02:17:50,bin8270,35, +CTSPillarNetworkA,8271,8271,8271,1992-08-24,826.8000000001194,826.7452,2015-01-01 02:17:51,bin8271,75, +CTSPillarNetworkA,8272,8272,8272,1992-08-25,826.9000000001195,826.84515,2015-01-01 02:17:52,bin8272,35, +CTSPillarNetworkA,8273,8273,8273,1992-08-26,827.0000000001195,826.9451,2015-01-01 02:17:53,bin8273,75, +CTSPillarNetworkA,8274,8274,8274,1992-08-27,827.1000000001195,827.0451,2015-01-01 02:17:54,bin8274,35, +CTSPillarNetworkA,8275,8275,8275,1992-08-28,827.2000000001195,827.1451,2015-01-01 02:17:55,bin8275,75, +CTSPillarNetworkA,8276,8276,8276,1992-08-29,827.3000000001196,827.24506,2015-01-01 02:17:56,bin8276,35, +CTSPillarNetworkA,8277,8277,8277,1992-08-30,827.4000000001196,827.34503,2015-01-01 02:17:57,bin8277,75, +CTSPillarNetworkA,8278,8278,8278,1992-08-31,827.5000000001196,827.445,2015-01-01 02:17:58,bin8278,35, +CTSPillarNetworkA,8279,8279,8279,1992-09-01,827.6000000001196,827.545,2015-01-01 02:17:59,bin8279,75, +CTSPillarNetworkA,8280,8280,8280,1992-09-02,827.7000000001196,827.64496,2015-01-01 02:18:00,bin8280,35, +CTSPillarNetworkA,8281,8281,8281,1992-09-03,827.8000000001197,827.74493,2015-01-01 02:18:01,bin8281,75, +CTSPillarNetworkA,8282,8282,8282,1992-09-04,827.9000000001197,827.8449,2015-01-01 02:18:02,bin8282,35, +CTSPillarNetworkA,8283,8283,8283,1992-09-05,828.0000000001197,827.9449,2015-01-01 02:18:03,bin8283,75, +CTSPillarNetworkA,8284,8284,8284,1992-09-06,828.1000000001197,828.04486,2015-01-01 02:18:04,bin8284,35, +CTSPillarNetworkA,8285,8285,8285,1992-09-07,828.2000000001198,828.14484,2015-01-01 02:18:05,bin8285,75, +CTSPillarNetworkA,8286,8286,8286,1992-09-08,828.3000000001198,828.2448,2015-01-01 02:18:06,bin8286,35, +CTSPillarNetworkA,8287,8287,8287,1992-09-09,828.4000000001198,828.3448,2015-01-01 02:18:07,bin8287,75, +CTSPillarNetworkA,8288,8288,8288,1992-09-10,828.5000000001198,828.44476,2015-01-01 02:18:08,bin8288,35, +CTSPillarNetworkA,8289,8289,8289,1992-09-11,828.6000000001198,828.54474,2015-01-01 02:18:09,bin8289,75, +CTSPillarNetworkA,8290,8290,8290,1992-09-12,828.7000000001199,828.6447,2015-01-01 02:18:10,bin8290,35, +CTSPillarNetworkA,8291,8291,8291,1992-09-13,828.8000000001199,828.7447,2015-01-01 02:18:11,bin8291,75, +CTSPillarNetworkA,8292,8292,8292,1992-09-14,828.9000000001199,828.84467,2015-01-01 02:18:12,bin8292,35, +CTSPillarNetworkA,8293,8293,8293,1992-09-15,829.0000000001199,828.94464,2015-01-01 02:18:13,bin8293,75, +CTSPillarNetworkA,8294,8294,8294,1992-09-16,829.10000000012,829.0446,2015-01-01 02:18:14,bin8294,35, +CTSPillarNetworkA,8295,8295,8295,1992-09-17,829.20000000012,829.1446,2015-01-01 02:18:15,bin8295,75, +CTSPillarNetworkA,8296,8296,8296,1992-09-18,829.30000000012,829.24457,2015-01-01 02:18:16,bin8296,35, +CTSPillarNetworkA,8297,8297,8297,1992-09-19,829.40000000012,829.34454,2015-01-01 02:18:17,bin8297,75, +CTSPillarNetworkA,8298,8298,8298,1992-09-20,829.50000000012,829.4445,2015-01-01 02:18:18,bin8298,35, +CTSPillarNetworkA,8299,8299,8299,1992-09-21,829.6000000001201,829.5445,2015-01-01 02:18:19,bin8299,75, +CTSPillarNetworkA,8300,8300,8300,1992-09-22,829.7000000001201,829.6445,2015-01-01 02:18:20,bin8300,35, +CTSPillarNetworkA,8301,8301,8301,1992-09-23,829.8000000001201,829.74445,2015-01-01 02:18:21,bin8301,75, +CTSPillarNetworkA,8302,8302,8302,1992-09-24,829.9000000001201,829.8444,2015-01-01 02:18:22,bin8302,35, +CTSPillarNetworkA,8303,8303,8303,1992-09-25,830.0000000001202,829.9444,2015-01-01 02:18:23,bin8303,75, +CTSPillarNetworkA,8304,8304,8304,1992-09-26,830.1000000001202,830.0444,2015-01-01 02:18:24,bin8304,35, +CTSPillarNetworkA,8305,8305,8305,1992-09-27,830.2000000001202,830.14435,2015-01-01 02:18:25,bin8305,75, +CTSPillarNetworkA,8306,8306,8306,1992-09-28,830.3000000001202,830.2443,2015-01-01 02:18:26,bin8306,35, +CTSPillarNetworkA,8307,8307,8307,1992-09-29,830.4000000001203,830.3443,2015-01-01 02:18:27,bin8307,75, +CTSPillarNetworkA,8308,8308,8308,1992-09-30,830.5000000001203,830.4443,2015-01-01 02:18:28,bin8308,35, +CTSPillarNetworkA,8309,8309,8309,1992-10-01,830.6000000001203,830.54425,2015-01-01 02:18:29,bin8309,75, +CTSPillarNetworkA,8310,8310,8310,1992-10-02,830.7000000001203,830.6442,2015-01-01 02:18:30,bin8310,35, +CTSPillarNetworkA,8311,8311,8311,1992-10-03,830.8000000001203,830.7442,2015-01-01 02:18:31,bin8311,75, +CTSPillarNetworkA,8312,8312,8312,1992-10-04,830.9000000001204,830.8442,2015-01-01 02:18:32,bin8312,35, +CTSPillarNetworkA,8313,8313,8313,1992-10-05,831.0000000001204,830.94415,2015-01-01 02:18:33,bin8313,75, +CTSPillarNetworkA,8314,8314,8314,1992-10-06,831.1000000001204,831.0441,2015-01-01 02:18:34,bin8314,35, +CTSPillarNetworkA,8315,8315,8315,1992-10-07,831.2000000001204,831.1441,2015-01-01 02:18:35,bin8315,75, +CTSPillarNetworkA,8316,8316,8316,1992-10-08,831.3000000001205,831.2441,2015-01-01 02:18:36,bin8316,35, +CTSPillarNetworkA,8317,8317,8317,1992-10-09,831.4000000001205,831.34406,2015-01-01 02:18:37,bin8317,75, +CTSPillarNetworkA,8318,8318,8318,1992-10-10,831.5000000001205,831.44403,2015-01-01 02:18:38,bin8318,35, +CTSPillarNetworkA,8319,8319,8319,1992-10-11,831.6000000001205,831.544,2015-01-01 02:18:39,bin8319,75, +CTSPillarNetworkA,8320,8320,8320,1992-10-12,831.7000000001206,831.644,2015-01-01 02:18:40,bin8320,35, +CTSPillarNetworkA,8321,8321,8321,1992-10-13,831.8000000001206,831.74396,2015-01-01 02:18:41,bin8321,75, +CTSPillarNetworkA,8322,8322,8322,1992-10-14,831.9000000001206,831.84393,2015-01-01 02:18:42,bin8322,35, +CTSPillarNetworkA,8323,8323,8323,1992-10-15,832.0000000001206,831.9439,2015-01-01 02:18:43,bin8323,75, +CTSPillarNetworkA,8324,8324,8324,1992-10-16,832.1000000001206,832.0439,2015-01-01 02:18:44,bin8324,35, +CTSPillarNetworkA,8325,8325,8325,1992-10-17,832.2000000001207,832.14386,2015-01-01 02:18:45,bin8325,75, +CTSPillarNetworkA,8326,8326,8326,1992-10-18,832.3000000001207,832.24384,2015-01-01 02:18:46,bin8326,35, +CTSPillarNetworkA,8327,8327,8327,1992-10-19,832.4000000001207,832.3438,2015-01-01 02:18:47,bin8327,75, +CTSPillarNetworkA,8328,8328,8328,1992-10-20,832.5000000001207,832.4438,2015-01-01 02:18:48,bin8328,35, +CTSPillarNetworkA,8329,8329,8329,1992-10-21,832.6000000001208,832.54376,2015-01-01 02:18:49,bin8329,75, +CTSPillarNetworkA,8330,8330,8330,1992-10-22,832.7000000001208,832.64374,2015-01-01 02:18:50,bin8330,35, +CTSPillarNetworkA,8331,8331,8331,1992-10-23,832.8000000001208,832.7437,2015-01-01 02:18:51,bin8331,75, +CTSPillarNetworkA,8332,8332,8332,1992-10-24,832.9000000001208,832.8437,2015-01-01 02:18:52,bin8332,35, +CTSPillarNetworkA,8333,8333,8333,1992-10-25,833.0000000001208,832.94366,2015-01-01 02:18:53,bin8333,75, +CTSPillarNetworkA,8334,8334,8334,1992-10-26,833.1000000001209,833.04364,2015-01-01 02:18:54,bin8334,35, +CTSPillarNetworkA,8335,8335,8335,1992-10-27,833.2000000001209,833.1436,2015-01-01 02:18:55,bin8335,75, +CTSPillarNetworkA,8336,8336,8336,1992-10-28,833.3000000001209,833.2436,2015-01-01 02:18:56,bin8336,35, +CTSPillarNetworkA,8337,8337,8337,1992-10-29,833.4000000001209,833.34357,2015-01-01 02:18:57,bin8337,75, +CTSPillarNetworkA,8338,8338,8338,1992-10-30,833.500000000121,833.44354,2015-01-01 02:18:58,bin8338,35, +CTSPillarNetworkA,8339,8339,8339,1992-10-31,833.600000000121,833.5435,2015-01-01 02:18:59,bin8339,75, +CTSPillarNetworkA,8340,8340,8340,1992-11-01,833.700000000121,833.6435,2015-01-01 02:19:00,bin8340,35, +CTSPillarNetworkA,8341,8341,8341,1992-11-02,833.800000000121,833.74347,2015-01-01 02:19:01,bin8341,75, +CTSPillarNetworkA,8342,8342,8342,1992-11-03,833.900000000121,833.84344,2015-01-01 02:19:02,bin8342,35, +CTSPillarNetworkA,8343,8343,8343,1992-11-04,834.0000000001211,833.9434,2015-01-01 02:19:03,bin8343,75, +CTSPillarNetworkA,8344,8344,8344,1992-11-05,834.1000000001211,834.0434,2015-01-01 02:19:04,bin8344,35, +CTSPillarNetworkA,8345,8345,8345,1992-11-06,834.2000000001211,834.1434,2015-01-01 02:19:05,bin8345,75, +CTSPillarNetworkA,8346,8346,8346,1992-11-07,834.3000000001211,834.24335,2015-01-01 02:19:06,bin8346,35, +CTSPillarNetworkA,8347,8347,8347,1992-11-08,834.4000000001212,834.3433,2015-01-01 02:19:07,bin8347,75, +CTSPillarNetworkA,8348,8348,8348,1992-11-09,834.5000000001212,834.4433,2015-01-01 02:19:08,bin8348,35, +CTSPillarNetworkA,8349,8349,8349,1992-11-10,834.6000000001212,834.5433,2015-01-01 02:19:09,bin8349,75, +CTSPillarNetworkA,8350,8350,8350,1992-11-11,834.7000000001212,834.64325,2015-01-01 02:19:10,bin8350,35, +CTSPillarNetworkA,8351,8351,8351,1992-11-12,834.8000000001213,834.7432,2015-01-01 02:19:11,bin8351,75, +CTSPillarNetworkA,8352,8352,8352,1992-11-13,834.9000000001213,834.8432,2015-01-01 02:19:12,bin8352,35, +CTSPillarNetworkA,8353,8353,8353,1992-11-14,835.0000000001213,834.9432,2015-01-01 02:19:13,bin8353,75, +CTSPillarNetworkA,8354,8354,8354,1992-11-15,835.1000000001213,835.04315,2015-01-01 02:19:14,bin8354,35, +CTSPillarNetworkA,8355,8355,8355,1992-11-16,835.2000000001213,835.1431,2015-01-01 02:19:15,bin8355,75, +CTSPillarNetworkA,8356,8356,8356,1992-11-17,835.3000000001214,835.2431,2015-01-01 02:19:16,bin8356,35, +CTSPillarNetworkA,8357,8357,8357,1992-11-18,835.4000000001214,835.3431,2015-01-01 02:19:17,bin8357,75, +CTSPillarNetworkA,8358,8358,8358,1992-11-19,835.5000000001214,835.44305,2015-01-01 02:19:18,bin8358,35, +CTSPillarNetworkA,8359,8359,8359,1992-11-20,835.6000000001214,835.543,2015-01-01 02:19:19,bin8359,75, +CTSPillarNetworkA,8360,8360,8360,1992-11-21,835.7000000001215,835.643,2015-01-01 02:19:20,bin8360,35, +CTSPillarNetworkA,8361,8361,8361,1992-11-22,835.8000000001215,835.743,2015-01-01 02:19:21,bin8361,75, +CTSPillarNetworkA,8362,8362,8362,1992-11-23,835.9000000001215,835.84296,2015-01-01 02:19:22,bin8362,35, +CTSPillarNetworkA,8363,8363,8363,1992-11-24,836.0000000001215,835.94293,2015-01-01 02:19:23,bin8363,75, +CTSPillarNetworkA,8364,8364,8364,1992-11-25,836.1000000001216,836.0429,2015-01-01 02:19:24,bin8364,35, +CTSPillarNetworkA,8365,8365,8365,1992-11-26,836.2000000001216,836.1429,2015-01-01 02:19:25,bin8365,75, +CTSPillarNetworkA,8366,8366,8366,1992-11-27,836.3000000001216,836.24286,2015-01-01 02:19:26,bin8366,35, +CTSPillarNetworkA,8367,8367,8367,1992-11-28,836.4000000001216,836.34283,2015-01-01 02:19:27,bin8367,75, +CTSPillarNetworkA,8368,8368,8368,1992-11-29,836.5000000001216,836.4428,2015-01-01 02:19:28,bin8368,35, +CTSPillarNetworkA,8369,8369,8369,1992-11-30,836.6000000001217,836.5428,2015-01-01 02:19:29,bin8369,75, +CTSPillarNetworkA,8370,8370,8370,1992-12-01,836.7000000001217,836.64276,2015-01-01 02:19:30,bin8370,35, +CTSPillarNetworkA,8371,8371,8371,1992-12-02,836.8000000001217,836.74274,2015-01-01 02:19:31,bin8371,75, +CTSPillarNetworkA,8372,8372,8372,1992-12-03,836.9000000001217,836.8427,2015-01-01 02:19:32,bin8372,35, +CTSPillarNetworkA,8373,8373,8373,1992-12-04,837.0000000001218,836.9427,2015-01-01 02:19:33,bin8373,75, +CTSPillarNetworkA,8374,8374,8374,1992-12-05,837.1000000001218,837.04266,2015-01-01 02:19:34,bin8374,35, +CTSPillarNetworkA,8375,8375,8375,1992-12-06,837.2000000001218,837.14264,2015-01-01 02:19:35,bin8375,75, +CTSPillarNetworkA,8376,8376,8376,1992-12-07,837.3000000001218,837.2426,2015-01-01 02:19:36,bin8376,35, +CTSPillarNetworkA,8377,8377,8377,1992-12-08,837.4000000001218,837.3426,2015-01-01 02:19:37,bin8377,75, +CTSPillarNetworkA,8378,8378,8378,1992-12-09,837.5000000001219,837.44257,2015-01-01 02:19:38,bin8378,35, +CTSPillarNetworkA,8379,8379,8379,1992-12-10,837.6000000001219,837.54254,2015-01-01 02:19:39,bin8379,75, +CTSPillarNetworkA,8380,8380,8380,1992-12-11,837.7000000001219,837.6425,2015-01-01 02:19:40,bin8380,35, +CTSPillarNetworkA,8381,8381,8381,1992-12-12,837.8000000001219,837.7425,2015-01-01 02:19:41,bin8381,75, +CTSPillarNetworkA,8382,8382,8382,1992-12-13,837.900000000122,837.84247,2015-01-01 02:19:42,bin8382,35, +CTSPillarNetworkA,8383,8383,8383,1992-12-14,838.000000000122,837.94244,2015-01-01 02:19:43,bin8383,75, +CTSPillarNetworkA,8384,8384,8384,1992-12-15,838.100000000122,838.0424,2015-01-01 02:19:44,bin8384,35, +CTSPillarNetworkA,8385,8385,8385,1992-12-16,838.200000000122,838.1424,2015-01-01 02:19:45,bin8385,75, +CTSPillarNetworkA,8386,8386,8386,1992-12-17,838.300000000122,838.2424,2015-01-01 02:19:46,bin8386,35, +CTSPillarNetworkA,8387,8387,8387,1992-12-18,838.4000000001221,838.34235,2015-01-01 02:19:47,bin8387,75, +CTSPillarNetworkA,8388,8388,8388,1992-12-19,838.5000000001221,838.4423,2015-01-01 02:19:48,bin8388,35, +CTSPillarNetworkA,8389,8389,8389,1992-12-20,838.6000000001221,838.5423,2015-01-01 02:19:49,bin8389,75, +CTSPillarNetworkA,8390,8390,8390,1992-12-21,838.7000000001221,838.6423,2015-01-01 02:19:50,bin8390,35, +CTSPillarNetworkA,8391,8391,8391,1992-12-22,838.8000000001222,838.74225,2015-01-01 02:19:51,bin8391,75, +CTSPillarNetworkA,8392,8392,8392,1992-12-23,838.9000000001222,838.8422,2015-01-01 02:19:52,bin8392,35, +CTSPillarNetworkA,8393,8393,8393,1992-12-24,839.0000000001222,838.9422,2015-01-01 02:19:53,bin8393,75, +CTSPillarNetworkA,8394,8394,8394,1992-12-25,839.1000000001222,839.0422,2015-01-01 02:19:54,bin8394,35, +CTSPillarNetworkA,8395,8395,8395,1992-12-26,839.2000000001223,839.14215,2015-01-01 02:19:55,bin8395,75, +CTSPillarNetworkA,8396,8396,8396,1992-12-27,839.3000000001223,839.2421,2015-01-01 02:19:56,bin8396,35, +CTSPillarNetworkA,8397,8397,8397,1992-12-28,839.4000000001223,839.3421,2015-01-01 02:19:57,bin8397,75, +CTSPillarNetworkA,8398,8398,8398,1992-12-29,839.5000000001223,839.4421,2015-01-01 02:19:58,bin8398,35, +CTSPillarNetworkA,8399,8399,8399,1992-12-30,839.6000000001223,839.54205,2015-01-01 02:19:59,bin8399,75, +CTSPillarNetworkA,8400,8400,8400,1992-12-31,839.7000000001224,839.642,2015-01-01 02:20:00,bin8400,35, +CTSPillarNetworkA,8401,8401,8401,1993-01-01,839.8000000001224,839.742,2015-01-01 02:20:01,bin8401,75, +CTSPillarNetworkA,8402,8402,8402,1993-01-02,839.9000000001224,839.842,2015-01-01 02:20:02,bin8402,35, +CTSPillarNetworkA,8403,8403,8403,1993-01-03,840.0000000001224,839.94196,2015-01-01 02:20:03,bin8403,75, +CTSPillarNetworkA,8404,8404,8404,1993-01-04,840.1000000001225,840.04193,2015-01-01 02:20:04,bin8404,35, +CTSPillarNetworkA,8405,8405,8405,1993-01-05,840.2000000001225,840.1419,2015-01-01 02:20:05,bin8405,75, +CTSPillarNetworkA,8406,8406,8406,1993-01-06,840.3000000001225,840.2419,2015-01-01 02:20:06,bin8406,35, +CTSPillarNetworkA,8407,8407,8407,1993-01-07,840.4000000001225,840.34186,2015-01-01 02:20:07,bin8407,75, +CTSPillarNetworkA,8408,8408,8408,1993-01-08,840.5000000001226,840.44183,2015-01-01 02:20:08,bin8408,35, +CTSPillarNetworkA,8409,8409,8409,1993-01-09,840.6000000001226,840.5418,2015-01-01 02:20:09,bin8409,75, +CTSPillarNetworkA,8410,8410,8410,1993-01-10,840.7000000001226,840.6418,2015-01-01 02:20:10,bin8410,35, +CTSPillarNetworkA,8411,8411,8411,1993-01-11,840.8000000001226,840.74176,2015-01-01 02:20:11,bin8411,75, +CTSPillarNetworkA,8412,8412,8412,1993-01-12,840.9000000001226,840.84174,2015-01-01 02:20:12,bin8412,35, +CTSPillarNetworkA,8413,8413,8413,1993-01-13,841.0000000001227,840.9417,2015-01-01 02:20:13,bin8413,75, +CTSPillarNetworkA,8414,8414,8414,1993-01-14,841.1000000001227,841.0417,2015-01-01 02:20:14,bin8414,35, +CTSPillarNetworkA,8415,8415,8415,1993-01-15,841.2000000001227,841.14166,2015-01-01 02:20:15,bin8415,75, +CTSPillarNetworkA,8416,8416,8416,1993-01-16,841.3000000001227,841.24164,2015-01-01 02:20:16,bin8416,35, +CTSPillarNetworkA,8417,8417,8417,1993-01-17,841.4000000001228,841.3416,2015-01-01 02:20:17,bin8417,75, +CTSPillarNetworkA,8418,8418,8418,1993-01-18,841.5000000001228,841.4416,2015-01-01 02:20:18,bin8418,35, +CTSPillarNetworkA,8419,8419,8419,1993-01-19,841.6000000001228,841.54156,2015-01-01 02:20:19,bin8419,75, +CTSPillarNetworkA,8420,8420,8420,1993-01-20,841.7000000001228,841.64154,2015-01-01 02:20:20,bin8420,35, +CTSPillarNetworkA,8421,8421,8421,1993-01-21,841.8000000001228,841.7415,2015-01-01 02:20:21,bin8421,75, +CTSPillarNetworkA,8422,8422,8422,1993-01-22,841.9000000001229,841.8415,2015-01-01 02:20:22,bin8422,35, +CTSPillarNetworkA,8423,8423,8423,1993-01-23,842.0000000001229,841.94147,2015-01-01 02:20:23,bin8423,75, +CTSPillarNetworkA,8424,8424,8424,1993-01-24,842.1000000001229,842.04144,2015-01-01 02:20:24,bin8424,35, +CTSPillarNetworkA,8425,8425,8425,1993-01-25,842.2000000001229,842.1414,2015-01-01 02:20:25,bin8425,75, +CTSPillarNetworkA,8426,8426,8426,1993-01-26,842.300000000123,842.2414,2015-01-01 02:20:26,bin8426,35, +CTSPillarNetworkA,8427,8427,8427,1993-01-27,842.400000000123,842.3414,2015-01-01 02:20:27,bin8427,75, +CTSPillarNetworkA,8428,8428,8428,1993-01-28,842.500000000123,842.44135,2015-01-01 02:20:28,bin8428,35, +CTSPillarNetworkA,8429,8429,8429,1993-01-29,842.600000000123,842.5413,2015-01-01 02:20:29,bin8429,75, +CTSPillarNetworkA,8430,8430,8430,1993-01-30,842.700000000123,842.6413,2015-01-01 02:20:30,bin8430,35, +CTSPillarNetworkA,8431,8431,8431,1993-01-31,842.8000000001231,842.7413,2015-01-01 02:20:31,bin8431,75, +CTSPillarNetworkA,8432,8432,8432,1993-02-01,842.9000000001231,842.84125,2015-01-01 02:20:32,bin8432,35, +CTSPillarNetworkA,8433,8433,8433,1993-02-02,843.0000000001231,842.9412,2015-01-01 02:20:33,bin8433,75, +CTSPillarNetworkA,8434,8434,8434,1993-02-03,843.1000000001231,843.0412,2015-01-01 02:20:34,bin8434,35, +CTSPillarNetworkA,8435,8435,8435,1993-02-04,843.2000000001232,843.1412,2015-01-01 02:20:35,bin8435,75, +CTSPillarNetworkA,8436,8436,8436,1993-02-05,843.3000000001232,843.24115,2015-01-01 02:20:36,bin8436,35, +CTSPillarNetworkA,8437,8437,8437,1993-02-06,843.4000000001232,843.3411,2015-01-01 02:20:37,bin8437,75, +CTSPillarNetworkA,8438,8438,8438,1993-02-07,843.5000000001232,843.4411,2015-01-01 02:20:38,bin8438,35, +CTSPillarNetworkA,8439,8439,8439,1993-02-08,843.6000000001233,843.5411,2015-01-01 02:20:39,bin8439,75, +CTSPillarNetworkA,8440,8440,8440,1993-02-09,843.7000000001233,843.64105,2015-01-01 02:20:40,bin8440,35, +CTSPillarNetworkA,8441,8441,8441,1993-02-10,843.8000000001233,843.741,2015-01-01 02:20:41,bin8441,75, +CTSPillarNetworkA,8442,8442,8442,1993-02-11,843.9000000001233,843.841,2015-01-01 02:20:42,bin8442,35, +CTSPillarNetworkA,8443,8443,8443,1993-02-12,844.0000000001234,843.941,2015-01-01 02:20:43,bin8443,75, +CTSPillarNetworkA,8444,8444,8444,1993-02-13,844.1000000001234,844.04095,2015-01-01 02:20:44,bin8444,35, +CTSPillarNetworkA,8445,8445,8445,1993-02-14,844.2000000001234,844.1409,2015-01-01 02:20:45,bin8445,75, +CTSPillarNetworkA,8446,8446,8446,1993-02-15,844.3000000001234,844.2409,2015-01-01 02:20:46,bin8446,35, +CTSPillarNetworkA,8447,8447,8447,1993-02-16,844.4000000001234,844.3409,2015-01-01 02:20:47,bin8447,75, +CTSPillarNetworkA,8448,8448,8448,1993-02-17,844.5000000001235,844.44086,2015-01-01 02:20:48,bin8448,35, +CTSPillarNetworkA,8449,8449,8449,1993-02-18,844.6000000001235,844.54083,2015-01-01 02:20:49,bin8449,75, +CTSPillarNetworkA,8450,8450,8450,1993-02-19,844.7000000001235,844.6408,2015-01-01 02:20:50,bin8450,35, +CTSPillarNetworkA,8451,8451,8451,1993-02-20,844.8000000001235,844.7408,2015-01-01 02:20:51,bin8451,75, +CTSPillarNetworkA,8452,8452,8452,1993-02-21,844.9000000001236,844.84076,2015-01-01 02:20:52,bin8452,35, +CTSPillarNetworkA,8453,8453,8453,1993-02-22,845.0000000001236,844.94073,2015-01-01 02:20:53,bin8453,75, +CTSPillarNetworkA,8454,8454,8454,1993-02-23,845.1000000001236,845.0407,2015-01-01 02:20:54,bin8454,35, +CTSPillarNetworkA,8455,8455,8455,1993-02-24,845.2000000001236,845.1407,2015-01-01 02:20:55,bin8455,75, +CTSPillarNetworkA,8456,8456,8456,1993-02-25,845.3000000001236,845.24066,2015-01-01 02:20:56,bin8456,35, +CTSPillarNetworkA,8457,8457,8457,1993-02-26,845.4000000001237,845.34064,2015-01-01 02:20:57,bin8457,75, +CTSPillarNetworkA,8458,8458,8458,1993-02-27,845.5000000001237,845.4406,2015-01-01 02:20:58,bin8458,35, +CTSPillarNetworkA,8459,8459,8459,1993-02-28,845.6000000001237,845.5406,2015-01-01 02:20:59,bin8459,75, +CTSPillarNetworkA,8460,8460,8460,1993-03-01,845.7000000001237,845.64056,2015-01-01 02:21:00,bin8460,35, +CTSPillarNetworkA,8461,8461,8461,1993-03-02,845.8000000001238,845.74054,2015-01-01 02:21:01,bin8461,75, +CTSPillarNetworkA,8462,8462,8462,1993-03-03,845.9000000001238,845.8405,2015-01-01 02:21:02,bin8462,35, +CTSPillarNetworkA,8463,8463,8463,1993-03-04,846.0000000001238,845.9405,2015-01-01 02:21:03,bin8463,75, +CTSPillarNetworkA,8464,8464,8464,1993-03-05,846.1000000001238,846.04047,2015-01-01 02:21:04,bin8464,35, +CTSPillarNetworkA,8465,8465,8465,1993-03-06,846.2000000001239,846.14044,2015-01-01 02:21:05,bin8465,75, +CTSPillarNetworkA,8466,8466,8466,1993-03-07,846.3000000001239,846.2404,2015-01-01 02:21:06,bin8466,35, +CTSPillarNetworkA,8467,8467,8467,1993-03-08,846.4000000001239,846.3404,2015-01-01 02:21:07,bin8467,75, +CTSPillarNetworkA,8468,8468,8468,1993-03-09,846.5000000001239,846.44037,2015-01-01 02:21:08,bin8468,35, +CTSPillarNetworkA,8469,8469,8469,1993-03-10,846.6000000001239,846.54034,2015-01-01 02:21:09,bin8469,75, +CTSPillarNetworkA,8470,8470,8470,1993-03-11,846.700000000124,846.6403,2015-01-01 02:21:10,bin8470,35, +CTSPillarNetworkA,8471,8471,8471,1993-03-12,846.800000000124,846.7403,2015-01-01 02:21:11,bin8471,75, +CTSPillarNetworkA,8472,8472,8472,1993-03-13,846.900000000124,846.8403,2015-01-01 02:21:12,bin8472,35, +CTSPillarNetworkA,8473,8473,8473,1993-03-14,847.000000000124,846.94025,2015-01-01 02:21:13,bin8473,75, +CTSPillarNetworkA,8474,8474,8474,1993-03-15,847.100000000124,847.0402,2015-01-01 02:21:14,bin8474,35, +CTSPillarNetworkA,8475,8475,8475,1993-03-16,847.2000000001241,847.1402,2015-01-01 02:21:15,bin8475,75, +CTSPillarNetworkA,8476,8476,8476,1993-03-17,847.3000000001241,847.2402,2015-01-01 02:21:16,bin8476,35, +CTSPillarNetworkA,8477,8477,8477,1993-03-18,847.4000000001241,847.34015,2015-01-01 02:21:17,bin8477,75, +CTSPillarNetworkA,8478,8478,8478,1993-03-19,847.5000000001241,847.4401,2015-01-01 02:21:18,bin8478,35, +CTSPillarNetworkA,8479,8479,8479,1993-03-20,847.6000000001242,847.5401,2015-01-01 02:21:19,bin8479,75, +CTSPillarNetworkA,8480,8480,8480,1993-03-21,847.7000000001242,847.6401,2015-01-01 02:21:20,bin8480,35, +CTSPillarNetworkA,8481,8481,8481,1993-03-22,847.8000000001242,847.74005,2015-01-01 02:21:21,bin8481,75, +CTSPillarNetworkA,8482,8482,8482,1993-03-23,847.9000000001242,847.84,2015-01-01 02:21:22,bin8482,35, +CTSPillarNetworkA,8483,8483,8483,1993-03-24,848.0000000001243,847.94,2015-01-01 02:21:23,bin8483,75, +CTSPillarNetworkA,8484,8484,8484,1993-03-25,848.1000000001243,848.04,2015-01-01 02:21:24,bin8484,35, +CTSPillarNetworkA,8485,8485,8485,1993-03-26,848.2000000001243,848.13995,2015-01-01 02:21:25,bin8485,75, +CTSPillarNetworkA,8486,8486,8486,1993-03-27,848.3000000001243,848.2399,2015-01-01 02:21:26,bin8486,35, +CTSPillarNetworkA,8487,8487,8487,1993-03-28,848.4000000001244,848.3399,2015-01-01 02:21:27,bin8487,75, +CTSPillarNetworkA,8488,8488,8488,1993-03-29,848.5000000001244,848.4399,2015-01-01 02:21:28,bin8488,35, +CTSPillarNetworkA,8489,8489,8489,1993-03-30,848.6000000001244,848.53986,2015-01-01 02:21:29,bin8489,75, +CTSPillarNetworkA,8490,8490,8490,1993-03-31,848.7000000001244,848.63983,2015-01-01 02:21:30,bin8490,35, +CTSPillarNetworkA,8491,8491,8491,1993-04-01,848.8000000001244,848.7398,2015-01-01 02:21:31,bin8491,75, +CTSPillarNetworkA,8492,8492,8492,1993-04-02,848.9000000001245,848.8398,2015-01-01 02:21:32,bin8492,35, +CTSPillarNetworkA,8493,8493,8493,1993-04-03,849.0000000001245,848.93976,2015-01-01 02:21:33,bin8493,75, +CTSPillarNetworkA,8494,8494,8494,1993-04-04,849.1000000001245,849.03973,2015-01-01 02:21:34,bin8494,35, +CTSPillarNetworkA,8495,8495,8495,1993-04-05,849.2000000001245,849.1397,2015-01-01 02:21:35,bin8495,75, +CTSPillarNetworkA,8496,8496,8496,1993-04-06,849.3000000001246,849.2397,2015-01-01 02:21:36,bin8496,35, +CTSPillarNetworkA,8497,8497,8497,1993-04-07,849.4000000001246,849.33966,2015-01-01 02:21:37,bin8497,75, +CTSPillarNetworkA,8498,8498,8498,1993-04-08,849.5000000001246,849.43964,2015-01-01 02:21:38,bin8498,35, +CTSPillarNetworkA,8499,8499,8499,1993-04-09,849.6000000001246,849.5396,2015-01-01 02:21:39,bin8499,75, +CTSPillarNetworkA,8500,8500,8500,1993-04-10,849.7000000001246,849.6396,2015-01-01 02:21:40,bin8500,35, +CTSPillarNetworkA,8501,8501,8501,1993-04-11,849.8000000001247,849.73956,2015-01-01 02:21:41,bin8501,75, +CTSPillarNetworkA,8502,8502,8502,1993-04-12,849.9000000001247,849.83954,2015-01-01 02:21:42,bin8502,35, +CTSPillarNetworkA,8503,8503,8503,1993-04-13,850.0000000001247,849.9395,2015-01-01 02:21:43,bin8503,75, +CTSPillarNetworkA,8504,8504,8504,1993-04-14,850.1000000001247,850.0395,2015-01-01 02:21:44,bin8504,35, +CTSPillarNetworkA,8505,8505,8505,1993-04-15,850.2000000001248,850.13947,2015-01-01 02:21:45,bin8505,75, +CTSPillarNetworkA,8506,8506,8506,1993-04-16,850.3000000001248,850.23944,2015-01-01 02:21:46,bin8506,35, +CTSPillarNetworkA,8507,8507,8507,1993-04-17,850.4000000001248,850.3394,2015-01-01 02:21:47,bin8507,75, +CTSPillarNetworkA,8508,8508,8508,1993-04-18,850.5000000001248,850.4394,2015-01-01 02:21:48,bin8508,35, +CTSPillarNetworkA,8509,8509,8509,1993-04-19,850.6000000001249,850.53937,2015-01-01 02:21:49,bin8509,75, +CTSPillarNetworkA,8510,8510,8510,1993-04-20,850.7000000001249,850.63934,2015-01-01 02:21:50,bin8510,35, +CTSPillarNetworkA,8511,8511,8511,1993-04-21,850.8000000001249,850.7393,2015-01-01 02:21:51,bin8511,75, +CTSPillarNetworkA,8512,8512,8512,1993-04-22,850.9000000001249,850.8393,2015-01-01 02:21:52,bin8512,35, +CTSPillarNetworkA,8513,8513,8513,1993-04-23,851.0000000001249,850.9393,2015-01-01 02:21:53,bin8513,75, +CTSPillarNetworkA,8514,8514,8514,1993-04-24,851.100000000125,851.03925,2015-01-01 02:21:54,bin8514,35, +CTSPillarNetworkA,8515,8515,8515,1993-04-25,851.200000000125,851.1392,2015-01-01 02:21:55,bin8515,75, +CTSPillarNetworkA,8516,8516,8516,1993-04-26,851.300000000125,851.2392,2015-01-01 02:21:56,bin8516,35, +CTSPillarNetworkA,8517,8517,8517,1993-04-27,851.400000000125,851.3392,2015-01-01 02:21:57,bin8517,75, +CTSPillarNetworkA,8518,8518,8518,1993-04-28,851.500000000125,851.43915,2015-01-01 02:21:58,bin8518,35, +CTSPillarNetworkA,8519,8519,8519,1993-04-29,851.6000000001251,851.5391,2015-01-01 02:21:59,bin8519,75, +CTSPillarNetworkA,8520,8520,8520,1993-04-30,851.7000000001251,851.6391,2015-01-01 02:22:00,bin8520,35, +CTSPillarNetworkA,8521,8521,8521,1993-05-01,851.8000000001251,851.7391,2015-01-01 02:22:01,bin8521,75, +CTSPillarNetworkA,8522,8522,8522,1993-05-02,851.9000000001251,851.83905,2015-01-01 02:22:02,bin8522,35, +CTSPillarNetworkA,8523,8523,8523,1993-05-03,852.0000000001252,851.939,2015-01-01 02:22:03,bin8523,75, +CTSPillarNetworkA,8524,8524,8524,1993-05-04,852.1000000001252,852.039,2015-01-01 02:22:04,bin8524,35, +CTSPillarNetworkA,8525,8525,8525,1993-05-05,852.2000000001252,852.139,2015-01-01 02:22:05,bin8525,75, +CTSPillarNetworkA,8526,8526,8526,1993-05-06,852.3000000001252,852.23895,2015-01-01 02:22:06,bin8526,35, +CTSPillarNetworkA,8527,8527,8527,1993-05-07,852.4000000001253,852.3389,2015-01-01 02:22:07,bin8527,75, +CTSPillarNetworkA,8528,8528,8528,1993-05-08,852.5000000001253,852.4389,2015-01-01 02:22:08,bin8528,35, +CTSPillarNetworkA,8529,8529,8529,1993-05-09,852.6000000001253,852.5389,2015-01-01 02:22:09,bin8529,75, +CTSPillarNetworkA,8530,8530,8530,1993-05-10,852.7000000001253,852.63885,2015-01-01 02:22:10,bin8530,35, +CTSPillarNetworkA,8531,8531,8531,1993-05-11,852.8000000001254,852.73883,2015-01-01 02:22:11,bin8531,75, +CTSPillarNetworkA,8532,8532,8532,1993-05-12,852.9000000001254,852.8388,2015-01-01 02:22:12,bin8532,35, +CTSPillarNetworkA,8533,8533,8533,1993-05-13,853.0000000001254,852.9388,2015-01-01 02:22:13,bin8533,75, +CTSPillarNetworkA,8534,8534,8534,1993-05-14,853.1000000001254,853.03876,2015-01-01 02:22:14,bin8534,35, +CTSPillarNetworkA,8535,8535,8535,1993-05-15,853.2000000001254,853.13873,2015-01-01 02:22:15,bin8535,75, +CTSPillarNetworkA,8536,8536,8536,1993-05-16,853.3000000001255,853.2387,2015-01-01 02:22:16,bin8536,35, +CTSPillarNetworkA,8537,8537,8537,1993-05-17,853.4000000001255,853.3387,2015-01-01 02:22:17,bin8537,75, +CTSPillarNetworkA,8538,8538,8538,1993-05-18,853.5000000001255,853.43866,2015-01-01 02:22:18,bin8538,35, +CTSPillarNetworkA,8539,8539,8539,1993-05-19,853.6000000001255,853.53864,2015-01-01 02:22:19,bin8539,75, +CTSPillarNetworkA,8540,8540,8540,1993-05-20,853.7000000001256,853.6386,2015-01-01 02:22:20,bin8540,35, +CTSPillarNetworkA,8541,8541,8541,1993-05-21,853.8000000001256,853.7386,2015-01-01 02:22:21,bin8541,75, +CTSPillarNetworkA,8542,8542,8542,1993-05-22,853.9000000001256,853.83856,2015-01-01 02:22:22,bin8542,35, +CTSPillarNetworkA,8543,8543,8543,1993-05-23,854.0000000001256,853.93854,2015-01-01 02:22:23,bin8543,75, +CTSPillarNetworkA,8544,8544,8544,1993-05-24,854.1000000001256,854.0385,2015-01-01 02:22:24,bin8544,35, +CTSPillarNetworkA,8545,8545,8545,1993-05-25,854.2000000001257,854.1385,2015-01-01 02:22:25,bin8545,75, +CTSPillarNetworkA,8546,8546,8546,1993-05-26,854.3000000001257,854.23846,2015-01-01 02:22:26,bin8546,35, +CTSPillarNetworkA,8547,8547,8547,1993-05-27,854.4000000001257,854.33844,2015-01-01 02:22:27,bin8547,75, +CTSPillarNetworkA,8548,8548,8548,1993-05-28,854.5000000001257,854.4384,2015-01-01 02:22:28,bin8548,35, +CTSPillarNetworkA,8549,8549,8549,1993-05-29,854.6000000001258,854.5384,2015-01-01 02:22:29,bin8549,75, +CTSPillarNetworkA,8550,8550,8550,1993-05-30,854.7000000001258,854.63837,2015-01-01 02:22:30,bin8550,35, +CTSPillarNetworkA,8551,8551,8551,1993-05-31,854.8000000001258,854.73834,2015-01-01 02:22:31,bin8551,75, +CTSPillarNetworkA,8552,8552,8552,1993-06-01,854.9000000001258,854.8383,2015-01-01 02:22:32,bin8552,35, +CTSPillarNetworkA,8553,8553,8553,1993-06-02,855.0000000001259,854.9383,2015-01-01 02:22:33,bin8553,75, +CTSPillarNetworkA,8554,8554,8554,1993-06-03,855.1000000001259,855.03827,2015-01-01 02:22:34,bin8554,35, +CTSPillarNetworkA,8555,8555,8555,1993-06-04,855.2000000001259,855.13824,2015-01-01 02:22:35,bin8555,75, +CTSPillarNetworkA,8556,8556,8556,1993-06-05,855.3000000001259,855.2382,2015-01-01 02:22:36,bin8556,35, +CTSPillarNetworkA,8557,8557,8557,1993-06-06,855.4000000001259,855.3382,2015-01-01 02:22:37,bin8557,75, +CTSPillarNetworkA,8558,8558,8558,1993-06-07,855.500000000126,855.4382,2015-01-01 02:22:38,bin8558,35, +CTSPillarNetworkA,8559,8559,8559,1993-06-08,855.600000000126,855.53815,2015-01-01 02:22:39,bin8559,75, +CTSPillarNetworkA,8560,8560,8560,1993-06-09,855.700000000126,855.6381,2015-01-01 02:22:40,bin8560,35, +CTSPillarNetworkA,8561,8561,8561,1993-06-10,855.800000000126,855.7381,2015-01-01 02:22:41,bin8561,75, +CTSPillarNetworkA,8562,8562,8562,1993-06-11,855.900000000126,855.8381,2015-01-01 02:22:42,bin8562,35, +CTSPillarNetworkA,8563,8563,8563,1993-06-12,856.0000000001261,855.93805,2015-01-01 02:22:43,bin8563,75, +CTSPillarNetworkA,8564,8564,8564,1993-06-13,856.1000000001261,856.038,2015-01-01 02:22:44,bin8564,35, +CTSPillarNetworkA,8565,8565,8565,1993-06-14,856.2000000001261,856.138,2015-01-01 02:22:45,bin8565,75, +CTSPillarNetworkA,8566,8566,8566,1993-06-15,856.3000000001261,856.238,2015-01-01 02:22:46,bin8566,35, +CTSPillarNetworkA,8567,8567,8567,1993-06-16,856.4000000001262,856.33795,2015-01-01 02:22:47,bin8567,75, +CTSPillarNetworkA,8568,8568,8568,1993-06-17,856.5000000001262,856.4379,2015-01-01 02:22:48,bin8568,35, +CTSPillarNetworkA,8569,8569,8569,1993-06-18,856.6000000001262,856.5379,2015-01-01 02:22:49,bin8569,75, +CTSPillarNetworkA,8570,8570,8570,1993-06-19,856.7000000001262,856.6379,2015-01-01 02:22:50,bin8570,35, +CTSPillarNetworkA,8571,8571,8571,1993-06-20,856.8000000001263,856.73785,2015-01-01 02:22:51,bin8571,75, +CTSPillarNetworkA,8572,8572,8572,1993-06-21,856.9000000001263,856.8378,2015-01-01 02:22:52,bin8572,35, +CTSPillarNetworkA,8573,8573,8573,1993-06-22,857.0000000001263,856.9378,2015-01-01 02:22:53,bin8573,75, +CTSPillarNetworkA,8574,8574,8574,1993-06-23,857.1000000001263,857.0378,2015-01-01 02:22:54,bin8574,35, +CTSPillarNetworkA,8575,8575,8575,1993-06-24,857.2000000001264,857.13776,2015-01-01 02:22:55,bin8575,75, +CTSPillarNetworkA,8576,8576,8576,1993-06-25,857.3000000001264,857.23773,2015-01-01 02:22:56,bin8576,35, +CTSPillarNetworkA,8577,8577,8577,1993-06-26,857.4000000001264,857.3377,2015-01-01 02:22:57,bin8577,75, +CTSPillarNetworkA,8578,8578,8578,1993-06-27,857.5000000001264,857.4377,2015-01-01 02:22:58,bin8578,35, +CTSPillarNetworkA,8579,8579,8579,1993-06-28,857.6000000001264,857.53766,2015-01-01 02:22:59,bin8579,75, +CTSPillarNetworkA,8580,8580,8580,1993-06-29,857.7000000001265,857.63763,2015-01-01 02:23:00,bin8580,35, +CTSPillarNetworkA,8581,8581,8581,1993-06-30,857.8000000001265,857.7376,2015-01-01 02:23:01,bin8581,75, +CTSPillarNetworkA,8582,8582,8582,1993-07-01,857.9000000001265,857.8376,2015-01-01 02:23:02,bin8582,35, +CTSPillarNetworkA,8583,8583,8583,1993-07-02,858.0000000001265,857.93756,2015-01-01 02:23:03,bin8583,75, +CTSPillarNetworkA,8584,8584,8584,1993-07-03,858.1000000001266,858.03754,2015-01-01 02:23:04,bin8584,35, +CTSPillarNetworkA,8585,8585,8585,1993-07-04,858.2000000001266,858.1375,2015-01-01 02:23:05,bin8585,75, +CTSPillarNetworkA,8586,8586,8586,1993-07-05,858.3000000001266,858.2375,2015-01-01 02:23:06,bin8586,35, +CTSPillarNetworkA,8587,8587,8587,1993-07-06,858.4000000001266,858.33746,2015-01-01 02:23:07,bin8587,75, +CTSPillarNetworkA,8588,8588,8588,1993-07-07,858.5000000001266,858.43744,2015-01-01 02:23:08,bin8588,35, +CTSPillarNetworkA,8589,8589,8589,1993-07-08,858.6000000001267,858.5374,2015-01-01 02:23:09,bin8589,75, +CTSPillarNetworkA,8590,8590,8590,1993-07-09,858.7000000001267,858.6374,2015-01-01 02:23:10,bin8590,35, +CTSPillarNetworkA,8591,8591,8591,1993-07-10,858.8000000001267,858.73737,2015-01-01 02:23:11,bin8591,75, +CTSPillarNetworkA,8592,8592,8592,1993-07-11,858.9000000001267,858.83734,2015-01-01 02:23:12,bin8592,35, +CTSPillarNetworkA,8593,8593,8593,1993-07-12,859.0000000001268,858.9373,2015-01-01 02:23:13,bin8593,75, +CTSPillarNetworkA,8594,8594,8594,1993-07-13,859.1000000001268,859.0373,2015-01-01 02:23:14,bin8594,35, +CTSPillarNetworkA,8595,8595,8595,1993-07-14,859.2000000001268,859.13727,2015-01-01 02:23:15,bin8595,75, +CTSPillarNetworkA,8596,8596,8596,1993-07-15,859.3000000001268,859.23724,2015-01-01 02:23:16,bin8596,35, +CTSPillarNetworkA,8597,8597,8597,1993-07-16,859.4000000001269,859.3372,2015-01-01 02:23:17,bin8597,75, +CTSPillarNetworkA,8598,8598,8598,1993-07-17,859.5000000001269,859.4372,2015-01-01 02:23:18,bin8598,35, +CTSPillarNetworkA,8599,8599,8599,1993-07-18,859.6000000001269,859.5372,2015-01-01 02:23:19,bin8599,75, +CTSPillarNetworkA,8600,8600,8600,1993-07-19,859.7000000001269,859.63715,2015-01-01 02:23:20,bin8600,35, +CTSPillarNetworkA,8601,8601,8601,1993-07-20,859.8000000001269,859.7371,2015-01-01 02:23:21,bin8601,75, +CTSPillarNetworkA,8602,8602,8602,1993-07-21,859.900000000127,859.8371,2015-01-01 02:23:22,bin8602,35, +CTSPillarNetworkA,8603,8603,8603,1993-07-22,860.000000000127,859.9371,2015-01-01 02:23:23,bin8603,75, +CTSPillarNetworkA,8604,8604,8604,1993-07-23,860.100000000127,860.03705,2015-01-01 02:23:24,bin8604,35, +CTSPillarNetworkA,8605,8605,8605,1993-07-24,860.200000000127,860.137,2015-01-01 02:23:25,bin8605,75, +CTSPillarNetworkA,8606,8606,8606,1993-07-25,860.300000000127,860.237,2015-01-01 02:23:26,bin8606,35, +CTSPillarNetworkA,8607,8607,8607,1993-07-26,860.4000000001271,860.337,2015-01-01 02:23:27,bin8607,75, +CTSPillarNetworkA,8608,8608,8608,1993-07-27,860.5000000001271,860.43695,2015-01-01 02:23:28,bin8608,35, +CTSPillarNetworkA,8609,8609,8609,1993-07-28,860.6000000001271,860.5369,2015-01-01 02:23:29,bin8609,75, +CTSPillarNetworkA,8610,8610,8610,1993-07-29,860.7000000001271,860.6369,2015-01-01 02:23:30,bin8610,35, +CTSPillarNetworkA,8611,8611,8611,1993-07-30,860.8000000001272,860.7369,2015-01-01 02:23:31,bin8611,75, +CTSPillarNetworkA,8612,8612,8612,1993-07-31,860.9000000001272,860.83685,2015-01-01 02:23:32,bin8612,35, +CTSPillarNetworkA,8613,8613,8613,1993-08-01,861.0000000001272,860.9368,2015-01-01 02:23:33,bin8613,75, +CTSPillarNetworkA,8614,8614,8614,1993-08-02,861.1000000001272,861.0368,2015-01-01 02:23:34,bin8614,35, +CTSPillarNetworkA,8615,8615,8615,1993-08-03,861.2000000001273,861.1368,2015-01-01 02:23:35,bin8615,75, +CTSPillarNetworkA,8616,8616,8616,1993-08-04,861.3000000001273,861.23676,2015-01-01 02:23:36,bin8616,35, +CTSPillarNetworkA,8617,8617,8617,1993-08-05,861.4000000001273,861.33673,2015-01-01 02:23:37,bin8617,75, +CTSPillarNetworkA,8618,8618,8618,1993-08-06,861.5000000001273,861.4367,2015-01-01 02:23:38,bin8618,35, +CTSPillarNetworkA,8619,8619,8619,1993-08-07,861.6000000001274,861.5367,2015-01-01 02:23:39,bin8619,75, +CTSPillarNetworkA,8620,8620,8620,1993-08-08,861.7000000001274,861.63666,2015-01-01 02:23:40,bin8620,35, +CTSPillarNetworkA,8621,8621,8621,1993-08-09,861.8000000001274,861.73663,2015-01-01 02:23:41,bin8621,75, +CTSPillarNetworkA,8622,8622,8622,1993-08-10,861.9000000001274,861.8366,2015-01-01 02:23:42,bin8622,35, +CTSPillarNetworkA,8623,8623,8623,1993-08-11,862.0000000001274,861.9366,2015-01-01 02:23:43,bin8623,75, +CTSPillarNetworkA,8624,8624,8624,1993-08-12,862.1000000001275,862.03656,2015-01-01 02:23:44,bin8624,35, +CTSPillarNetworkA,8625,8625,8625,1993-08-13,862.2000000001275,862.13654,2015-01-01 02:23:45,bin8625,75, +CTSPillarNetworkA,8626,8626,8626,1993-08-14,862.3000000001275,862.2365,2015-01-01 02:23:46,bin8626,35, +CTSPillarNetworkA,8627,8627,8627,1993-08-15,862.4000000001275,862.3365,2015-01-01 02:23:47,bin8627,75, +CTSPillarNetworkA,8628,8628,8628,1993-08-16,862.5000000001276,862.43646,2015-01-01 02:23:48,bin8628,35, +CTSPillarNetworkA,8629,8629,8629,1993-08-17,862.6000000001276,862.53644,2015-01-01 02:23:49,bin8629,75, +CTSPillarNetworkA,8630,8630,8630,1993-08-18,862.7000000001276,862.6364,2015-01-01 02:23:50,bin8630,35, +CTSPillarNetworkA,8631,8631,8631,1993-08-19,862.8000000001276,862.7364,2015-01-01 02:23:51,bin8631,75, +CTSPillarNetworkA,8632,8632,8632,1993-08-20,862.9000000001276,862.83636,2015-01-01 02:23:52,bin8632,35, +CTSPillarNetworkA,8633,8633,8633,1993-08-21,863.0000000001277,862.93634,2015-01-01 02:23:53,bin8633,75, +CTSPillarNetworkA,8634,8634,8634,1993-08-22,863.1000000001277,863.0363,2015-01-01 02:23:54,bin8634,35, +CTSPillarNetworkA,8635,8635,8635,1993-08-23,863.2000000001277,863.1363,2015-01-01 02:23:55,bin8635,75, +CTSPillarNetworkA,8636,8636,8636,1993-08-24,863.3000000001277,863.23627,2015-01-01 02:23:56,bin8636,35, +CTSPillarNetworkA,8637,8637,8637,1993-08-25,863.4000000001278,863.33624,2015-01-01 02:23:57,bin8637,75, +CTSPillarNetworkA,8638,8638,8638,1993-08-26,863.5000000001278,863.4362,2015-01-01 02:23:58,bin8638,35, +CTSPillarNetworkA,8639,8639,8639,1993-08-27,863.6000000001278,863.5362,2015-01-01 02:23:59,bin8639,75, +CTSPillarNetworkA,8640,8640,8640,1993-08-28,863.7000000001278,863.63617,2015-01-01 02:24:00,bin8640,35, +CTSPillarNetworkA,8641,8641,8641,1993-08-29,863.8000000001279,863.73615,2015-01-01 02:24:01,bin8641,75, +CTSPillarNetworkA,8642,8642,8642,1993-08-30,863.9000000001279,863.8361,2015-01-01 02:24:02,bin8642,35, +CTSPillarNetworkA,8643,8643,8643,1993-08-31,864.0000000001279,863.9361,2015-01-01 02:24:03,bin8643,75, +CTSPillarNetworkA,8644,8644,8644,1993-09-01,864.1000000001279,864.0361,2015-01-01 02:24:04,bin8644,35, +CTSPillarNetworkA,8645,8645,8645,1993-09-02,864.200000000128,864.13605,2015-01-01 02:24:05,bin8645,75, +CTSPillarNetworkA,8646,8646,8646,1993-09-03,864.300000000128,864.236,2015-01-01 02:24:06,bin8646,35, +CTSPillarNetworkA,8647,8647,8647,1993-09-04,864.400000000128,864.336,2015-01-01 02:24:07,bin8647,75, +CTSPillarNetworkA,8648,8648,8648,1993-09-05,864.500000000128,864.436,2015-01-01 02:24:08,bin8648,35, +CTSPillarNetworkA,8649,8649,8649,1993-09-06,864.600000000128,864.53595,2015-01-01 02:24:09,bin8649,75, +CTSPillarNetworkA,8650,8650,8650,1993-09-07,864.7000000001281,864.6359,2015-01-01 02:24:10,bin8650,35, +CTSPillarNetworkA,8651,8651,8651,1993-09-08,864.8000000001281,864.7359,2015-01-01 02:24:11,bin8651,75, +CTSPillarNetworkA,8652,8652,8652,1993-09-09,864.9000000001281,864.8359,2015-01-01 02:24:12,bin8652,35, +CTSPillarNetworkA,8653,8653,8653,1993-09-10,865.0000000001281,864.93585,2015-01-01 02:24:13,bin8653,75, +CTSPillarNetworkA,8654,8654,8654,1993-09-11,865.1000000001281,865.0358,2015-01-01 02:24:14,bin8654,35, +CTSPillarNetworkA,8655,8655,8655,1993-09-12,865.2000000001282,865.1358,2015-01-01 02:24:15,bin8655,75, +CTSPillarNetworkA,8656,8656,8656,1993-09-13,865.3000000001282,865.2358,2015-01-01 02:24:16,bin8656,35, +CTSPillarNetworkA,8657,8657,8657,1993-09-14,865.4000000001282,865.33575,2015-01-01 02:24:17,bin8657,75, +CTSPillarNetworkA,8658,8658,8658,1993-09-15,865.5000000001282,865.4357,2015-01-01 02:24:18,bin8658,35, +CTSPillarNetworkA,8659,8659,8659,1993-09-16,865.6000000001283,865.5357,2015-01-01 02:24:19,bin8659,75, +CTSPillarNetworkA,8660,8660,8660,1993-09-17,865.7000000001283,865.6357,2015-01-01 02:24:20,bin8660,35, +CTSPillarNetworkA,8661,8661,8661,1993-09-18,865.8000000001283,865.73566,2015-01-01 02:24:21,bin8661,75, +CTSPillarNetworkA,8662,8662,8662,1993-09-19,865.9000000001283,865.83563,2015-01-01 02:24:22,bin8662,35, +CTSPillarNetworkA,8663,8663,8663,1993-09-20,866.0000000001284,865.9356,2015-01-01 02:24:23,bin8663,75, +CTSPillarNetworkA,8664,8664,8664,1993-09-21,866.1000000001284,866.0356,2015-01-01 02:24:24,bin8664,35, +CTSPillarNetworkA,8665,8665,8665,1993-09-22,866.2000000001284,866.13556,2015-01-01 02:24:25,bin8665,75, +CTSPillarNetworkA,8666,8666,8666,1993-09-23,866.3000000001284,866.23553,2015-01-01 02:24:26,bin8666,35, +CTSPillarNetworkA,8667,8667,8667,1993-09-24,866.4000000001284,866.3355,2015-01-01 02:24:27,bin8667,75, +CTSPillarNetworkA,8668,8668,8668,1993-09-25,866.5000000001285,866.4355,2015-01-01 02:24:28,bin8668,35, +CTSPillarNetworkA,8669,8669,8669,1993-09-26,866.6000000001285,866.53546,2015-01-01 02:24:29,bin8669,75, +CTSPillarNetworkA,8670,8670,8670,1993-09-27,866.7000000001285,866.63544,2015-01-01 02:24:30,bin8670,35, +CTSPillarNetworkA,8671,8671,8671,1993-09-28,866.8000000001285,866.7354,2015-01-01 02:24:31,bin8671,75, +CTSPillarNetworkA,8672,8672,8672,1993-09-29,866.9000000001286,866.8354,2015-01-01 02:24:32,bin8672,35, +CTSPillarNetworkA,8673,8673,8673,1993-09-30,867.0000000001286,866.93536,2015-01-01 02:24:33,bin8673,75, +CTSPillarNetworkA,8674,8674,8674,1993-10-01,867.1000000001286,867.03534,2015-01-01 02:24:34,bin8674,35, +CTSPillarNetworkA,8675,8675,8675,1993-10-02,867.2000000001286,867.1353,2015-01-01 02:24:35,bin8675,75, +CTSPillarNetworkA,8676,8676,8676,1993-10-03,867.3000000001286,867.2353,2015-01-01 02:24:36,bin8676,35, +CTSPillarNetworkA,8677,8677,8677,1993-10-04,867.4000000001287,867.33527,2015-01-01 02:24:37,bin8677,75, +CTSPillarNetworkA,8678,8678,8678,1993-10-05,867.5000000001287,867.43524,2015-01-01 02:24:38,bin8678,35, +CTSPillarNetworkA,8679,8679,8679,1993-10-06,867.6000000001287,867.5352,2015-01-01 02:24:39,bin8679,75, +CTSPillarNetworkA,8680,8680,8680,1993-10-07,867.7000000001287,867.6352,2015-01-01 02:24:40,bin8680,35, +CTSPillarNetworkA,8681,8681,8681,1993-10-08,867.8000000001288,867.73517,2015-01-01 02:24:41,bin8681,75, +CTSPillarNetworkA,8682,8682,8682,1993-10-09,867.9000000001288,867.83514,2015-01-01 02:24:42,bin8682,35, +CTSPillarNetworkA,8683,8683,8683,1993-10-10,868.0000000001288,867.9351,2015-01-01 02:24:43,bin8683,75, +CTSPillarNetworkA,8684,8684,8684,1993-10-11,868.1000000001288,868.0351,2015-01-01 02:24:44,bin8684,35, +CTSPillarNetworkA,8685,8685,8685,1993-10-12,868.2000000001289,868.1351,2015-01-01 02:24:45,bin8685,75, +CTSPillarNetworkA,8686,8686,8686,1993-10-13,868.3000000001289,868.23505,2015-01-01 02:24:46,bin8686,35, +CTSPillarNetworkA,8687,8687,8687,1993-10-14,868.4000000001289,868.335,2015-01-01 02:24:47,bin8687,75, +CTSPillarNetworkA,8688,8688,8688,1993-10-15,868.5000000001289,868.435,2015-01-01 02:24:48,bin8688,35, +CTSPillarNetworkA,8689,8689,8689,1993-10-16,868.600000000129,868.535,2015-01-01 02:24:49,bin8689,75, +CTSPillarNetworkA,8690,8690,8690,1993-10-17,868.700000000129,868.63495,2015-01-01 02:24:50,bin8690,35, +CTSPillarNetworkA,8691,8691,8691,1993-10-18,868.800000000129,868.7349,2015-01-01 02:24:51,bin8691,75, +CTSPillarNetworkA,8692,8692,8692,1993-10-19,868.900000000129,868.8349,2015-01-01 02:24:52,bin8692,35, +CTSPillarNetworkA,8693,8693,8693,1993-10-20,869.000000000129,868.9349,2015-01-01 02:24:53,bin8693,75, +CTSPillarNetworkA,8694,8694,8694,1993-10-21,869.1000000001291,869.03485,2015-01-01 02:24:54,bin8694,35, +CTSPillarNetworkA,8695,8695,8695,1993-10-22,869.2000000001291,869.1348,2015-01-01 02:24:55,bin8695,75, +CTSPillarNetworkA,8696,8696,8696,1993-10-23,869.3000000001291,869.2348,2015-01-01 02:24:56,bin8696,35, +CTSPillarNetworkA,8697,8697,8697,1993-10-24,869.4000000001291,869.3348,2015-01-01 02:24:57,bin8697,75, +CTSPillarNetworkA,8698,8698,8698,1993-10-25,869.5000000001291,869.43475,2015-01-01 02:24:58,bin8698,35, +CTSPillarNetworkA,8699,8699,8699,1993-10-26,869.6000000001292,869.5347,2015-01-01 02:24:59,bin8699,75, +CTSPillarNetworkA,8700,8700,8700,1993-10-27,869.7000000001292,869.6347,2015-01-01 02:25:00,bin8700,35, +CTSPillarNetworkA,8701,8701,8701,1993-10-28,869.8000000001292,869.7347,2015-01-01 02:25:01,bin8701,75, +CTSPillarNetworkA,8702,8702,8702,1993-10-29,869.9000000001292,869.83466,2015-01-01 02:25:02,bin8702,35, +CTSPillarNetworkA,8703,8703,8703,1993-10-30,870.0000000001293,869.93463,2015-01-01 02:25:03,bin8703,75, +CTSPillarNetworkA,8704,8704,8704,1993-10-31,870.1000000001293,870.0346,2015-01-01 02:25:04,bin8704,35, +CTSPillarNetworkA,8705,8705,8705,1993-11-01,870.2000000001293,870.1346,2015-01-01 02:25:05,bin8705,75, +CTSPillarNetworkA,8706,8706,8706,1993-11-02,870.3000000001293,870.23456,2015-01-01 02:25:06,bin8706,35, +CTSPillarNetworkA,8707,8707,8707,1993-11-03,870.4000000001294,870.33453,2015-01-01 02:25:07,bin8707,75, +CTSPillarNetworkA,8708,8708,8708,1993-11-04,870.5000000001294,870.4345,2015-01-01 02:25:08,bin8708,35, +CTSPillarNetworkA,8709,8709,8709,1993-11-05,870.6000000001294,870.5345,2015-01-01 02:25:09,bin8709,75, +CTSPillarNetworkA,8710,8710,8710,1993-11-06,870.7000000001294,870.63446,2015-01-01 02:25:10,bin8710,35, +CTSPillarNetworkA,8711,8711,8711,1993-11-07,870.8000000001294,870.73444,2015-01-01 02:25:11,bin8711,75, +CTSPillarNetworkA,8712,8712,8712,1993-11-08,870.9000000001295,870.8344,2015-01-01 02:25:12,bin8712,35, +CTSPillarNetworkA,8713,8713,8713,1993-11-09,871.0000000001295,870.9344,2015-01-01 02:25:13,bin8713,75, +CTSPillarNetworkA,8714,8714,8714,1993-11-10,871.1000000001295,871.03436,2015-01-01 02:25:14,bin8714,35, +CTSPillarNetworkA,8715,8715,8715,1993-11-11,871.2000000001295,871.13434,2015-01-01 02:25:15,bin8715,75, +CTSPillarNetworkA,8716,8716,8716,1993-11-12,871.3000000001296,871.2343,2015-01-01 02:25:16,bin8716,35, +CTSPillarNetworkA,8717,8717,8717,1993-11-13,871.4000000001296,871.3343,2015-01-01 02:25:17,bin8717,75, +CTSPillarNetworkA,8718,8718,8718,1993-11-14,871.5000000001296,871.43427,2015-01-01 02:25:18,bin8718,35, +CTSPillarNetworkA,8719,8719,8719,1993-11-15,871.6000000001296,871.53424,2015-01-01 02:25:19,bin8719,75, +CTSPillarNetworkA,8720,8720,8720,1993-11-16,871.7000000001296,871.6342,2015-01-01 02:25:20,bin8720,35, +CTSPillarNetworkA,8721,8721,8721,1993-11-17,871.8000000001297,871.7342,2015-01-01 02:25:21,bin8721,75, +CTSPillarNetworkA,8722,8722,8722,1993-11-18,871.9000000001297,871.83417,2015-01-01 02:25:22,bin8722,35, +CTSPillarNetworkA,8723,8723,8723,1993-11-19,872.0000000001297,871.93414,2015-01-01 02:25:23,bin8723,75, +CTSPillarNetworkA,8724,8724,8724,1993-11-20,872.1000000001297,872.0341,2015-01-01 02:25:24,bin8724,35, +CTSPillarNetworkA,8725,8725,8725,1993-11-21,872.2000000001298,872.1341,2015-01-01 02:25:25,bin8725,75, +CTSPillarNetworkA,8726,8726,8726,1993-11-22,872.3000000001298,872.2341,2015-01-01 02:25:26,bin8726,35, +CTSPillarNetworkA,8727,8727,8727,1993-11-23,872.4000000001298,872.33405,2015-01-01 02:25:27,bin8727,75, +CTSPillarNetworkA,8728,8728,8728,1993-11-24,872.5000000001298,872.434,2015-01-01 02:25:28,bin8728,35, +CTSPillarNetworkA,8729,8729,8729,1993-11-25,872.6000000001299,872.534,2015-01-01 02:25:29,bin8729,75, +CTSPillarNetworkA,8730,8730,8730,1993-11-26,872.7000000001299,872.634,2015-01-01 02:25:30,bin8730,35, +CTSPillarNetworkA,8731,8731,8731,1993-11-27,872.8000000001299,872.73395,2015-01-01 02:25:31,bin8731,75, +CTSPillarNetworkA,8732,8732,8732,1993-11-28,872.9000000001299,872.8339,2015-01-01 02:25:32,bin8732,35, +CTSPillarNetworkA,8733,8733,8733,1993-11-29,873.00000000013,872.9339,2015-01-01 02:25:33,bin8733,75, +CTSPillarNetworkA,8734,8734,8734,1993-11-30,873.10000000013,873.0339,2015-01-01 02:25:34,bin8734,35, +CTSPillarNetworkA,8735,8735,8735,1993-12-01,873.20000000013,873.13385,2015-01-01 02:25:35,bin8735,75, +CTSPillarNetworkA,8736,8736,8736,1993-12-02,873.30000000013,873.2338,2015-01-01 02:25:36,bin8736,35, +CTSPillarNetworkA,8737,8737,8737,1993-12-03,873.40000000013,873.3338,2015-01-01 02:25:37,bin8737,75, +CTSPillarNetworkA,8738,8738,8738,1993-12-04,873.5000000001301,873.4338,2015-01-01 02:25:38,bin8738,35, +CTSPillarNetworkA,8739,8739,8739,1993-12-05,873.6000000001301,873.53375,2015-01-01 02:25:39,bin8739,75, +CTSPillarNetworkA,8740,8740,8740,1993-12-06,873.7000000001301,873.6337,2015-01-01 02:25:40,bin8740,35, +CTSPillarNetworkA,8741,8741,8741,1993-12-07,873.8000000001301,873.7337,2015-01-01 02:25:41,bin8741,75, +CTSPillarNetworkA,8742,8742,8742,1993-12-08,873.9000000001301,873.8337,2015-01-01 02:25:42,bin8742,35, +CTSPillarNetworkA,8743,8743,8743,1993-12-09,874.0000000001302,873.93365,2015-01-01 02:25:43,bin8743,75, +CTSPillarNetworkA,8744,8744,8744,1993-12-10,874.1000000001302,874.0336,2015-01-01 02:25:44,bin8744,35, +CTSPillarNetworkA,8745,8745,8745,1993-12-11,874.2000000001302,874.1336,2015-01-01 02:25:45,bin8745,75, +CTSPillarNetworkA,8746,8746,8746,1993-12-12,874.3000000001302,874.2336,2015-01-01 02:25:46,bin8746,35, +CTSPillarNetworkA,8747,8747,8747,1993-12-13,874.4000000001303,874.33356,2015-01-01 02:25:47,bin8747,75, +CTSPillarNetworkA,8748,8748,8748,1993-12-14,874.5000000001303,874.43353,2015-01-01 02:25:48,bin8748,35, +CTSPillarNetworkA,8749,8749,8749,1993-12-15,874.6000000001303,874.5335,2015-01-01 02:25:49,bin8749,75, +CTSPillarNetworkA,8750,8750,8750,1993-12-16,874.7000000001303,874.6335,2015-01-01 02:25:50,bin8750,35, +CTSPillarNetworkA,8751,8751,8751,1993-12-17,874.8000000001304,874.73346,2015-01-01 02:25:51,bin8751,75, +CTSPillarNetworkA,8752,8752,8752,1993-12-18,874.9000000001304,874.83344,2015-01-01 02:25:52,bin8752,35, +CTSPillarNetworkA,8753,8753,8753,1993-12-19,875.0000000001304,874.9334,2015-01-01 02:25:53,bin8753,75, +CTSPillarNetworkA,8754,8754,8754,1993-12-20,875.1000000001304,875.0334,2015-01-01 02:25:54,bin8754,35, +CTSPillarNetworkA,8755,8755,8755,1993-12-21,875.2000000001304,875.13336,2015-01-01 02:25:55,bin8755,75, +CTSPillarNetworkA,8756,8756,8756,1993-12-22,875.3000000001305,875.23334,2015-01-01 02:25:56,bin8756,35, +CTSPillarNetworkA,8757,8757,8757,1993-12-23,875.4000000001305,875.3333,2015-01-01 02:25:57,bin8757,75, +CTSPillarNetworkA,8758,8758,8758,1993-12-24,875.5000000001305,875.4333,2015-01-01 02:25:58,bin8758,35, +CTSPillarNetworkA,8759,8759,8759,1993-12-25,875.6000000001305,875.53326,2015-01-01 02:25:59,bin8759,75, +CTSPillarNetworkA,8760,8760,8760,1993-12-26,875.7000000001306,875.63324,2015-01-01 02:26:00,bin8760,35, +CTSPillarNetworkA,8761,8761,8761,1993-12-27,875.8000000001306,875.7332,2015-01-01 02:26:01,bin8761,75, +CTSPillarNetworkA,8762,8762,8762,1993-12-28,875.9000000001306,875.8332,2015-01-01 02:26:02,bin8762,35, +CTSPillarNetworkA,8763,8763,8763,1993-12-29,876.0000000001306,875.93317,2015-01-01 02:26:03,bin8763,75, +CTSPillarNetworkA,8764,8764,8764,1993-12-30,876.1000000001306,876.03314,2015-01-01 02:26:04,bin8764,35, +CTSPillarNetworkA,8765,8765,8765,1993-12-31,876.2000000001307,876.1331,2015-01-01 02:26:05,bin8765,75, +CTSPillarNetworkA,8766,8766,8766,1994-01-01,876.3000000001307,876.2331,2015-01-01 02:26:06,bin8766,35, +CTSPillarNetworkA,8767,8767,8767,1994-01-02,876.4000000001307,876.33307,2015-01-01 02:26:07,bin8767,75, +CTSPillarNetworkA,8768,8768,8768,1994-01-03,876.5000000001307,876.43304,2015-01-01 02:26:08,bin8768,35, +CTSPillarNetworkA,8769,8769,8769,1994-01-04,876.6000000001308,876.533,2015-01-01 02:26:09,bin8769,75, +CTSPillarNetworkA,8770,8770,8770,1994-01-05,876.7000000001308,876.633,2015-01-01 02:26:10,bin8770,35, +CTSPillarNetworkA,8771,8771,8771,1994-01-06,876.8000000001308,876.733,2015-01-01 02:26:11,bin8771,75, +CTSPillarNetworkA,8772,8772,8772,1994-01-07,876.9000000001308,876.83295,2015-01-01 02:26:12,bin8772,35, +CTSPillarNetworkA,8773,8773,8773,1994-01-08,877.0000000001309,876.9329,2015-01-01 02:26:13,bin8773,75, +CTSPillarNetworkA,8774,8774,8774,1994-01-09,877.1000000001309,877.0329,2015-01-01 02:26:14,bin8774,35, +CTSPillarNetworkA,8775,8775,8775,1994-01-10,877.2000000001309,877.1329,2015-01-01 02:26:15,bin8775,75, +CTSPillarNetworkA,8776,8776,8776,1994-01-11,877.3000000001309,877.23285,2015-01-01 02:26:16,bin8776,35, +CTSPillarNetworkA,8777,8777,8777,1994-01-12,877.400000000131,877.3328,2015-01-01 02:26:17,bin8777,75, +CTSPillarNetworkA,8778,8778,8778,1994-01-13,877.500000000131,877.4328,2015-01-01 02:26:18,bin8778,35, +CTSPillarNetworkA,8779,8779,8779,1994-01-14,877.600000000131,877.5328,2015-01-01 02:26:19,bin8779,75, +CTSPillarNetworkA,8780,8780,8780,1994-01-15,877.700000000131,877.63275,2015-01-01 02:26:20,bin8780,35, +CTSPillarNetworkA,8781,8781,8781,1994-01-16,877.800000000131,877.7327,2015-01-01 02:26:21,bin8781,75, +CTSPillarNetworkA,8782,8782,8782,1994-01-17,877.9000000001311,877.8327,2015-01-01 02:26:22,bin8782,35, +CTSPillarNetworkA,8783,8783,8783,1994-01-18,878.0000000001311,877.9327,2015-01-01 02:26:23,bin8783,75, +CTSPillarNetworkA,8784,8784,8784,1994-01-19,878.1000000001311,878.03265,2015-01-01 02:26:24,bin8784,35, +CTSPillarNetworkA,8785,8785,8785,1994-01-20,878.2000000001311,878.1326,2015-01-01 02:26:25,bin8785,75, +CTSPillarNetworkA,8786,8786,8786,1994-01-21,878.3000000001311,878.2326,2015-01-01 02:26:26,bin8786,35, +CTSPillarNetworkA,8787,8787,8787,1994-01-22,878.4000000001312,878.3326,2015-01-01 02:26:27,bin8787,75, +CTSPillarNetworkA,8788,8788,8788,1994-01-23,878.5000000001312,878.43256,2015-01-01 02:26:28,bin8788,35, +CTSPillarNetworkA,8789,8789,8789,1994-01-24,878.6000000001312,878.53253,2015-01-01 02:26:29,bin8789,75, +CTSPillarNetworkA,8790,8790,8790,1994-01-25,878.7000000001312,878.6325,2015-01-01 02:26:30,bin8790,35, +CTSPillarNetworkA,8791,8791,8791,1994-01-26,878.8000000001313,878.7325,2015-01-01 02:26:31,bin8791,75, +CTSPillarNetworkA,8792,8792,8792,1994-01-27,878.9000000001313,878.83246,2015-01-01 02:26:32,bin8792,35, +CTSPillarNetworkA,8793,8793,8793,1994-01-28,879.0000000001313,878.93243,2015-01-01 02:26:33,bin8793,75, +CTSPillarNetworkA,8794,8794,8794,1994-01-29,879.1000000001313,879.0324,2015-01-01 02:26:34,bin8794,35, +CTSPillarNetworkA,8795,8795,8795,1994-01-30,879.2000000001314,879.1324,2015-01-01 02:26:35,bin8795,75, +CTSPillarNetworkA,8796,8796,8796,1994-01-31,879.3000000001314,879.23236,2015-01-01 02:26:36,bin8796,35, +CTSPillarNetworkA,8797,8797,8797,1994-02-01,879.4000000001314,879.33234,2015-01-01 02:26:37,bin8797,75, +CTSPillarNetworkA,8798,8798,8798,1994-02-02,879.5000000001314,879.4323,2015-01-01 02:26:38,bin8798,35, +CTSPillarNetworkA,8799,8799,8799,1994-02-03,879.6000000001314,879.5323,2015-01-01 02:26:39,bin8799,75, +CTSPillarNetworkA,8800,8800,8800,1994-02-04,879.7000000001315,879.63226,2015-01-01 02:26:40,bin8800,35, +CTSPillarNetworkA,8801,8801,8801,1994-02-05,879.8000000001315,879.73224,2015-01-01 02:26:41,bin8801,75, +CTSPillarNetworkA,8802,8802,8802,1994-02-06,879.9000000001315,879.8322,2015-01-01 02:26:42,bin8802,35, +CTSPillarNetworkA,8803,8803,8803,1994-02-07,880.0000000001315,879.9322,2015-01-01 02:26:43,bin8803,75, +CTSPillarNetworkA,8804,8804,8804,1994-02-08,880.1000000001316,880.03217,2015-01-01 02:26:44,bin8804,35, +CTSPillarNetworkA,8805,8805,8805,1994-02-09,880.2000000001316,880.13214,2015-01-01 02:26:45,bin8805,75, +CTSPillarNetworkA,8806,8806,8806,1994-02-10,880.3000000001316,880.2321,2015-01-01 02:26:46,bin8806,35, +CTSPillarNetworkA,8807,8807,8807,1994-02-11,880.4000000001316,880.3321,2015-01-01 02:26:47,bin8807,75, +CTSPillarNetworkA,8808,8808,8808,1994-02-12,880.5000000001316,880.43207,2015-01-01 02:26:48,bin8808,35, +CTSPillarNetworkA,8809,8809,8809,1994-02-13,880.6000000001317,880.53204,2015-01-01 02:26:49,bin8809,75, +CTSPillarNetworkA,8810,8810,8810,1994-02-14,880.7000000001317,880.632,2015-01-01 02:26:50,bin8810,35, +CTSPillarNetworkA,8811,8811,8811,1994-02-15,880.8000000001317,880.732,2015-01-01 02:26:51,bin8811,75, +CTSPillarNetworkA,8812,8812,8812,1994-02-16,880.9000000001317,880.832,2015-01-01 02:26:52,bin8812,35, +CTSPillarNetworkA,8813,8813,8813,1994-02-17,881.0000000001318,880.93195,2015-01-01 02:26:53,bin8813,75, +CTSPillarNetworkA,8814,8814,8814,1994-02-18,881.1000000001318,881.0319,2015-01-01 02:26:54,bin8814,35, +CTSPillarNetworkA,8815,8815,8815,1994-02-19,881.2000000001318,881.1319,2015-01-01 02:26:55,bin8815,75, +CTSPillarNetworkA,8816,8816,8816,1994-02-20,881.3000000001318,881.2319,2015-01-01 02:26:56,bin8816,35, +CTSPillarNetworkA,8817,8817,8817,1994-02-21,881.4000000001319,881.33185,2015-01-01 02:26:57,bin8817,75, +CTSPillarNetworkA,8818,8818,8818,1994-02-22,881.5000000001319,881.4318,2015-01-01 02:26:58,bin8818,35, +CTSPillarNetworkA,8819,8819,8819,1994-02-23,881.6000000001319,881.5318,2015-01-01 02:26:59,bin8819,75, +CTSPillarNetworkA,8820,8820,8820,1994-02-24,881.7000000001319,881.6318,2015-01-01 02:27:00,bin8820,35, +CTSPillarNetworkA,8821,8821,8821,1994-02-25,881.800000000132,881.73175,2015-01-01 02:27:01,bin8821,75, +CTSPillarNetworkA,8822,8822,8822,1994-02-26,881.900000000132,881.8317,2015-01-01 02:27:02,bin8822,35, +CTSPillarNetworkA,8823,8823,8823,1994-02-27,882.000000000132,881.9317,2015-01-01 02:27:03,bin8823,75, +CTSPillarNetworkA,8824,8824,8824,1994-02-28,882.100000000132,882.0317,2015-01-01 02:27:04,bin8824,35, +CTSPillarNetworkA,8825,8825,8825,1994-03-01,882.200000000132,882.13165,2015-01-01 02:27:05,bin8825,75, +CTSPillarNetworkA,8826,8826,8826,1994-03-02,882.3000000001321,882.2316,2015-01-01 02:27:06,bin8826,35, +CTSPillarNetworkA,8827,8827,8827,1994-03-03,882.4000000001321,882.3316,2015-01-01 02:27:07,bin8827,75, +CTSPillarNetworkA,8828,8828,8828,1994-03-04,882.5000000001321,882.4316,2015-01-01 02:27:08,bin8828,35, +CTSPillarNetworkA,8829,8829,8829,1994-03-05,882.6000000001321,882.53156,2015-01-01 02:27:09,bin8829,75, +CTSPillarNetworkA,8830,8830,8830,1994-03-06,882.7000000001321,882.63153,2015-01-01 02:27:10,bin8830,35, +CTSPillarNetworkA,8831,8831,8831,1994-03-07,882.8000000001322,882.7315,2015-01-01 02:27:11,bin8831,75, +CTSPillarNetworkA,8832,8832,8832,1994-03-08,882.9000000001322,882.8315,2015-01-01 02:27:12,bin8832,35, +CTSPillarNetworkA,8833,8833,8833,1994-03-09,883.0000000001322,882.93146,2015-01-01 02:27:13,bin8833,75, +CTSPillarNetworkA,8834,8834,8834,1994-03-10,883.1000000001322,883.03143,2015-01-01 02:27:14,bin8834,35, +CTSPillarNetworkA,8835,8835,8835,1994-03-11,883.2000000001323,883.1314,2015-01-01 02:27:15,bin8835,75, +CTSPillarNetworkA,8836,8836,8836,1994-03-12,883.3000000001323,883.2314,2015-01-01 02:27:16,bin8836,35, +CTSPillarNetworkA,8837,8837,8837,1994-03-13,883.4000000001323,883.33136,2015-01-01 02:27:17,bin8837,75, +CTSPillarNetworkA,8838,8838,8838,1994-03-14,883.5000000001323,883.43134,2015-01-01 02:27:18,bin8838,35, +CTSPillarNetworkA,8839,8839,8839,1994-03-15,883.6000000001324,883.5313,2015-01-01 02:27:19,bin8839,75, +CTSPillarNetworkA,8840,8840,8840,1994-03-16,883.7000000001324,883.6313,2015-01-01 02:27:20,bin8840,35, +CTSPillarNetworkA,8841,8841,8841,1994-03-17,883.8000000001324,883.73126,2015-01-01 02:27:21,bin8841,75, +CTSPillarNetworkA,8842,8842,8842,1994-03-18,883.9000000001324,883.83124,2015-01-01 02:27:22,bin8842,35, +CTSPillarNetworkA,8843,8843,8843,1994-03-19,884.0000000001324,883.9312,2015-01-01 02:27:23,bin8843,75, +CTSPillarNetworkA,8844,8844,8844,1994-03-20,884.1000000001325,884.0312,2015-01-01 02:27:24,bin8844,35, +CTSPillarNetworkA,8845,8845,8845,1994-03-21,884.2000000001325,884.13116,2015-01-01 02:27:25,bin8845,75, +CTSPillarNetworkA,8846,8846,8846,1994-03-22,884.3000000001325,884.23114,2015-01-01 02:27:26,bin8846,35, +CTSPillarNetworkA,8847,8847,8847,1994-03-23,884.4000000001325,884.3311,2015-01-01 02:27:27,bin8847,75, +CTSPillarNetworkA,8848,8848,8848,1994-03-24,884.5000000001326,884.4311,2015-01-01 02:27:28,bin8848,35, +CTSPillarNetworkA,8849,8849,8849,1994-03-25,884.6000000001326,884.53107,2015-01-01 02:27:29,bin8849,75, +CTSPillarNetworkA,8850,8850,8850,1994-03-26,884.7000000001326,884.63104,2015-01-01 02:27:30,bin8850,35, +CTSPillarNetworkA,8851,8851,8851,1994-03-27,884.8000000001326,884.731,2015-01-01 02:27:31,bin8851,75, +CTSPillarNetworkA,8852,8852,8852,1994-03-28,884.9000000001326,884.831,2015-01-01 02:27:32,bin8852,35, +CTSPillarNetworkA,8853,8853,8853,1994-03-29,885.0000000001327,884.93097,2015-01-01 02:27:33,bin8853,75, +CTSPillarNetworkA,8854,8854,8854,1994-03-30,885.1000000001327,885.03094,2015-01-01 02:27:34,bin8854,35, +CTSPillarNetworkA,8855,8855,8855,1994-03-31,885.2000000001327,885.1309,2015-01-01 02:27:35,bin8855,75, +CTSPillarNetworkA,8856,8856,8856,1994-04-01,885.3000000001327,885.2309,2015-01-01 02:27:36,bin8856,35, +CTSPillarNetworkA,8857,8857,8857,1994-04-02,885.4000000001328,885.3309,2015-01-01 02:27:37,bin8857,75, +CTSPillarNetworkA,8858,8858,8858,1994-04-03,885.5000000001328,885.43085,2015-01-01 02:27:38,bin8858,35, +CTSPillarNetworkA,8859,8859,8859,1994-04-04,885.6000000001328,885.5308,2015-01-01 02:27:39,bin8859,75, +CTSPillarNetworkA,8860,8860,8860,1994-04-05,885.7000000001328,885.6308,2015-01-01 02:27:40,bin8860,35, +CTSPillarNetworkA,8861,8861,8861,1994-04-06,885.8000000001329,885.7308,2015-01-01 02:27:41,bin8861,75, +CTSPillarNetworkA,8862,8862,8862,1994-04-07,885.9000000001329,885.83075,2015-01-01 02:27:42,bin8862,35, +CTSPillarNetworkA,8863,8863,8863,1994-04-08,886.0000000001329,885.9307,2015-01-01 02:27:43,bin8863,75, +CTSPillarNetworkA,8864,8864,8864,1994-04-09,886.1000000001329,886.0307,2015-01-01 02:27:44,bin8864,35, +CTSPillarNetworkA,8865,8865,8865,1994-04-10,886.200000000133,886.1307,2015-01-01 02:27:45,bin8865,75, +CTSPillarNetworkA,8866,8866,8866,1994-04-11,886.300000000133,886.23065,2015-01-01 02:27:46,bin8866,35, +CTSPillarNetworkA,8867,8867,8867,1994-04-12,886.400000000133,886.3306,2015-01-01 02:27:47,bin8867,75, +CTSPillarNetworkA,8868,8868,8868,1994-04-13,886.500000000133,886.4306,2015-01-01 02:27:48,bin8868,35, +CTSPillarNetworkA,8869,8869,8869,1994-04-14,886.600000000133,886.5306,2015-01-01 02:27:49,bin8869,75, +CTSPillarNetworkA,8870,8870,8870,1994-04-15,886.7000000001331,886.63055,2015-01-01 02:27:50,bin8870,35, +CTSPillarNetworkA,8871,8871,8871,1994-04-16,886.8000000001331,886.7305,2015-01-01 02:27:51,bin8871,75, +CTSPillarNetworkA,8872,8872,8872,1994-04-17,886.9000000001331,886.8305,2015-01-01 02:27:52,bin8872,35, +CTSPillarNetworkA,8873,8873,8873,1994-04-18,887.0000000001331,886.9305,2015-01-01 02:27:53,bin8873,75, +CTSPillarNetworkA,8874,8874,8874,1994-04-19,887.1000000001332,887.03046,2015-01-01 02:27:54,bin8874,35, +CTSPillarNetworkA,8875,8875,8875,1994-04-20,887.2000000001332,887.13043,2015-01-01 02:27:55,bin8875,75, +CTSPillarNetworkA,8876,8876,8876,1994-04-21,887.3000000001332,887.2304,2015-01-01 02:27:56,bin8876,35, +CTSPillarNetworkA,8877,8877,8877,1994-04-22,887.4000000001332,887.3304,2015-01-01 02:27:57,bin8877,75, +CTSPillarNetworkA,8878,8878,8878,1994-04-23,887.5000000001332,887.43036,2015-01-01 02:27:58,bin8878,35, +CTSPillarNetworkA,8879,8879,8879,1994-04-24,887.6000000001333,887.53033,2015-01-01 02:27:59,bin8879,75, +CTSPillarNetworkA,8880,8880,8880,1994-04-25,887.7000000001333,887.6303,2015-01-01 02:28:00,bin8880,35, +CTSPillarNetworkA,8881,8881,8881,1994-04-26,887.8000000001333,887.7303,2015-01-01 02:28:01,bin8881,75, +CTSPillarNetworkA,8882,8882,8882,1994-04-27,887.9000000001333,887.83026,2015-01-01 02:28:02,bin8882,35, +CTSPillarNetworkA,8883,8883,8883,1994-04-28,888.0000000001334,887.93024,2015-01-01 02:28:03,bin8883,75, +CTSPillarNetworkA,8884,8884,8884,1994-04-29,888.1000000001334,888.0302,2015-01-01 02:28:04,bin8884,35, +CTSPillarNetworkA,8885,8885,8885,1994-04-30,888.2000000001334,888.1302,2015-01-01 02:28:05,bin8885,75, +CTSPillarNetworkA,8886,8886,8886,1994-05-01,888.3000000001334,888.23016,2015-01-01 02:28:06,bin8886,35, +CTSPillarNetworkA,8887,8887,8887,1994-05-02,888.4000000001334,888.33014,2015-01-01 02:28:07,bin8887,75, +CTSPillarNetworkA,8888,8888,8888,1994-05-03,888.5000000001335,888.4301,2015-01-01 02:28:08,bin8888,35, +CTSPillarNetworkA,8889,8889,8889,1994-05-04,888.6000000001335,888.5301,2015-01-01 02:28:09,bin8889,75, +CTSPillarNetworkA,8890,8890,8890,1994-05-05,888.7000000001335,888.63007,2015-01-01 02:28:10,bin8890,35, +CTSPillarNetworkA,8891,8891,8891,1994-05-06,888.8000000001335,888.73004,2015-01-01 02:28:11,bin8891,75, +CTSPillarNetworkA,8892,8892,8892,1994-05-07,888.9000000001336,888.83,2015-01-01 02:28:12,bin8892,35, +CTSPillarNetworkA,8893,8893,8893,1994-05-08,889.0000000001336,888.93,2015-01-01 02:28:13,bin8893,75, +CTSPillarNetworkA,8894,8894,8894,1994-05-09,889.1000000001336,889.02997,2015-01-01 02:28:14,bin8894,35, +CTSPillarNetworkA,8895,8895,8895,1994-05-10,889.2000000001336,889.12994,2015-01-01 02:28:15,bin8895,75, +CTSPillarNetworkA,8896,8896,8896,1994-05-11,889.3000000001337,889.2299,2015-01-01 02:28:16,bin8896,35, +CTSPillarNetworkA,8897,8897,8897,1994-05-12,889.4000000001337,889.3299,2015-01-01 02:28:17,bin8897,75, +CTSPillarNetworkA,8898,8898,8898,1994-05-13,889.5000000001337,889.4299,2015-01-01 02:28:18,bin8898,35, +CTSPillarNetworkA,8899,8899,8899,1994-05-14,889.6000000001337,889.52985,2015-01-01 02:28:19,bin8899,75, +CTSPillarNetworkA,8900,8900,8900,1994-05-15,889.7000000001337,889.6298,2015-01-01 02:28:20,bin8900,35, +CTSPillarNetworkA,8901,8901,8901,1994-05-16,889.8000000001338,889.7298,2015-01-01 02:28:21,bin8901,75, +CTSPillarNetworkA,8902,8902,8902,1994-05-17,889.9000000001338,889.8298,2015-01-01 02:28:22,bin8902,35, +CTSPillarNetworkA,8903,8903,8903,1994-05-18,890.0000000001338,889.92975,2015-01-01 02:28:23,bin8903,75, +CTSPillarNetworkA,8904,8904,8904,1994-05-19,890.1000000001338,890.0297,2015-01-01 02:28:24,bin8904,35, +CTSPillarNetworkA,8905,8905,8905,1994-05-20,890.2000000001339,890.1297,2015-01-01 02:28:25,bin8905,75, +CTSPillarNetworkA,8906,8906,8906,1994-05-21,890.3000000001339,890.2297,2015-01-01 02:28:26,bin8906,35, +CTSPillarNetworkA,8907,8907,8907,1994-05-22,890.4000000001339,890.32965,2015-01-01 02:28:27,bin8907,75, +CTSPillarNetworkA,8908,8908,8908,1994-05-23,890.5000000001339,890.4296,2015-01-01 02:28:28,bin8908,35, +CTSPillarNetworkA,8909,8909,8909,1994-05-24,890.600000000134,890.5296,2015-01-01 02:28:29,bin8909,75, +CTSPillarNetworkA,8910,8910,8910,1994-05-25,890.700000000134,890.6296,2015-01-01 02:28:30,bin8910,35, +CTSPillarNetworkA,8911,8911,8911,1994-05-26,890.800000000134,890.72955,2015-01-01 02:28:31,bin8911,75, +CTSPillarNetworkA,8912,8912,8912,1994-05-27,890.900000000134,890.8295,2015-01-01 02:28:32,bin8912,35, +CTSPillarNetworkA,8913,8913,8913,1994-05-28,891.000000000134,890.9295,2015-01-01 02:28:33,bin8913,75, +CTSPillarNetworkA,8914,8914,8914,1994-05-29,891.1000000001341,891.0295,2015-01-01 02:28:34,bin8914,35, +CTSPillarNetworkA,8915,8915,8915,1994-05-30,891.2000000001341,891.12946,2015-01-01 02:28:35,bin8915,75, +CTSPillarNetworkA,8916,8916,8916,1994-05-31,891.3000000001341,891.22943,2015-01-01 02:28:36,bin8916,35, +CTSPillarNetworkA,8917,8917,8917,1994-06-01,891.4000000001341,891.3294,2015-01-01 02:28:37,bin8917,75, +CTSPillarNetworkA,8918,8918,8918,1994-06-02,891.5000000001342,891.4294,2015-01-01 02:28:38,bin8918,35, +CTSPillarNetworkA,8919,8919,8919,1994-06-03,891.6000000001342,891.52936,2015-01-01 02:28:39,bin8919,75, +CTSPillarNetworkA,8920,8920,8920,1994-06-04,891.7000000001342,891.62933,2015-01-01 02:28:40,bin8920,35, +CTSPillarNetworkA,8921,8921,8921,1994-06-05,891.8000000001342,891.7293,2015-01-01 02:28:41,bin8921,75, +CTSPillarNetworkA,8922,8922,8922,1994-06-06,891.9000000001342,891.8293,2015-01-01 02:28:42,bin8922,35, +CTSPillarNetworkA,8923,8923,8923,1994-06-07,892.0000000001343,891.92926,2015-01-01 02:28:43,bin8923,75, +CTSPillarNetworkA,8924,8924,8924,1994-06-08,892.1000000001343,892.02924,2015-01-01 02:28:44,bin8924,35, +CTSPillarNetworkA,8925,8925,8925,1994-06-09,892.2000000001343,892.1292,2015-01-01 02:28:45,bin8925,75, +CTSPillarNetworkA,8926,8926,8926,1994-06-10,892.3000000001343,892.2292,2015-01-01 02:28:46,bin8926,35, +CTSPillarNetworkA,8927,8927,8927,1994-06-11,892.4000000001344,892.32916,2015-01-01 02:28:47,bin8927,75, +CTSPillarNetworkA,8928,8928,8928,1994-06-12,892.5000000001344,892.42914,2015-01-01 02:28:48,bin8928,35, +CTSPillarNetworkA,8929,8929,8929,1994-06-13,892.6000000001344,892.5291,2015-01-01 02:28:49,bin8929,75, +CTSPillarNetworkA,8930,8930,8930,1994-06-14,892.7000000001344,892.6291,2015-01-01 02:28:50,bin8930,35, +CTSPillarNetworkA,8931,8931,8931,1994-06-15,892.8000000001344,892.72906,2015-01-01 02:28:51,bin8931,75, +CTSPillarNetworkA,8932,8932,8932,1994-06-16,892.9000000001345,892.82904,2015-01-01 02:28:52,bin8932,35, +CTSPillarNetworkA,8933,8933,8933,1994-06-17,893.0000000001345,892.929,2015-01-01 02:28:53,bin8933,75, +CTSPillarNetworkA,8934,8934,8934,1994-06-18,893.1000000001345,893.029,2015-01-01 02:28:54,bin8934,35, +CTSPillarNetworkA,8935,8935,8935,1994-06-19,893.2000000001345,893.12897,2015-01-01 02:28:55,bin8935,75, +CTSPillarNetworkA,8936,8936,8936,1994-06-20,893.3000000001346,893.22894,2015-01-01 02:28:56,bin8936,35, +CTSPillarNetworkA,8937,8937,8937,1994-06-21,893.4000000001346,893.3289,2015-01-01 02:28:57,bin8937,75, +CTSPillarNetworkA,8938,8938,8938,1994-06-22,893.5000000001346,893.4289,2015-01-01 02:28:58,bin8938,35, +CTSPillarNetworkA,8939,8939,8939,1994-06-23,893.6000000001346,893.5289,2015-01-01 02:28:59,bin8939,75, +CTSPillarNetworkA,8940,8940,8940,1994-06-24,893.7000000001347,893.62885,2015-01-01 02:29:00,bin8940,35, +CTSPillarNetworkA,8941,8941,8941,1994-06-25,893.8000000001347,893.7288,2015-01-01 02:29:01,bin8941,75, +CTSPillarNetworkA,8942,8942,8942,1994-06-26,893.9000000001347,893.8288,2015-01-01 02:29:02,bin8942,35, +CTSPillarNetworkA,8943,8943,8943,1994-06-27,894.0000000001347,893.9288,2015-01-01 02:29:03,bin8943,75, +CTSPillarNetworkA,8944,8944,8944,1994-06-28,894.1000000001347,894.02875,2015-01-01 02:29:04,bin8944,35, +CTSPillarNetworkA,8945,8945,8945,1994-06-29,894.2000000001348,894.1287,2015-01-01 02:29:05,bin8945,75, +CTSPillarNetworkA,8946,8946,8946,1994-06-30,894.3000000001348,894.2287,2015-01-01 02:29:06,bin8946,35, +CTSPillarNetworkA,8947,8947,8947,1994-07-01,894.4000000001348,894.3287,2015-01-01 02:29:07,bin8947,75, +CTSPillarNetworkA,8948,8948,8948,1994-07-02,894.5000000001348,894.42865,2015-01-01 02:29:08,bin8948,35, +CTSPillarNetworkA,8949,8949,8949,1994-07-03,894.6000000001349,894.5286,2015-01-01 02:29:09,bin8949,75, +CTSPillarNetworkA,8950,8950,8950,1994-07-04,894.7000000001349,894.6286,2015-01-01 02:29:10,bin8950,35, +CTSPillarNetworkA,8951,8951,8951,1994-07-05,894.8000000001349,894.7286,2015-01-01 02:29:11,bin8951,75, +CTSPillarNetworkA,8952,8952,8952,1994-07-06,894.9000000001349,894.82855,2015-01-01 02:29:12,bin8952,35, +CTSPillarNetworkA,8953,8953,8953,1994-07-07,895.000000000135,894.9285,2015-01-01 02:29:13,bin8953,75, +CTSPillarNetworkA,8954,8954,8954,1994-07-08,895.100000000135,895.0285,2015-01-01 02:29:14,bin8954,35, +CTSPillarNetworkA,8955,8955,8955,1994-07-09,895.200000000135,895.1285,2015-01-01 02:29:15,bin8955,75, +CTSPillarNetworkA,8956,8956,8956,1994-07-10,895.300000000135,895.22845,2015-01-01 02:29:16,bin8956,35, +CTSPillarNetworkA,8957,8957,8957,1994-07-11,895.400000000135,895.3284,2015-01-01 02:29:17,bin8957,75, +CTSPillarNetworkA,8958,8958,8958,1994-07-12,895.5000000001351,895.4284,2015-01-01 02:29:18,bin8958,35, +CTSPillarNetworkA,8959,8959,8959,1994-07-13,895.6000000001351,895.5284,2015-01-01 02:29:19,bin8959,75, +CTSPillarNetworkA,8960,8960,8960,1994-07-14,895.7000000001351,895.62836,2015-01-01 02:29:20,bin8960,35, +CTSPillarNetworkA,8961,8961,8961,1994-07-15,895.8000000001351,895.72833,2015-01-01 02:29:21,bin8961,75, +CTSPillarNetworkA,8962,8962,8962,1994-07-16,895.9000000001352,895.8283,2015-01-01 02:29:22,bin8962,35, +CTSPillarNetworkA,8963,8963,8963,1994-07-17,896.0000000001352,895.9283,2015-01-01 02:29:23,bin8963,75, +CTSPillarNetworkA,8964,8964,8964,1994-07-18,896.1000000001352,896.02826,2015-01-01 02:29:24,bin8964,35, +CTSPillarNetworkA,8965,8965,8965,1994-07-19,896.2000000001352,896.12823,2015-01-01 02:29:25,bin8965,75, +CTSPillarNetworkA,8966,8966,8966,1994-07-20,896.3000000001352,896.2282,2015-01-01 02:29:26,bin8966,35, +CTSPillarNetworkA,8967,8967,8967,1994-07-21,896.4000000001353,896.3282,2015-01-01 02:29:27,bin8967,75, +CTSPillarNetworkA,8968,8968,8968,1994-07-22,896.5000000001353,896.42816,2015-01-01 02:29:28,bin8968,35, +CTSPillarNetworkA,8969,8969,8969,1994-07-23,896.6000000001353,896.52814,2015-01-01 02:29:29,bin8969,75, +CTSPillarNetworkA,8970,8970,8970,1994-07-24,896.7000000001353,896.6281,2015-01-01 02:29:30,bin8970,35, +CTSPillarNetworkA,8971,8971,8971,1994-07-25,896.8000000001354,896.7281,2015-01-01 02:29:31,bin8971,75, +CTSPillarNetworkA,8972,8972,8972,1994-07-26,896.9000000001354,896.82806,2015-01-01 02:29:32,bin8972,35, +CTSPillarNetworkA,8973,8973,8973,1994-07-27,897.0000000001354,896.92804,2015-01-01 02:29:33,bin8973,75, +CTSPillarNetworkA,8974,8974,8974,1994-07-28,897.1000000001354,897.028,2015-01-01 02:29:34,bin8974,35, +CTSPillarNetworkA,8975,8975,8975,1994-07-29,897.2000000001354,897.128,2015-01-01 02:29:35,bin8975,75, +CTSPillarNetworkA,8976,8976,8976,1994-07-30,897.3000000001355,897.22797,2015-01-01 02:29:36,bin8976,35, +CTSPillarNetworkA,8977,8977,8977,1994-07-31,897.4000000001355,897.32794,2015-01-01 02:29:37,bin8977,75, +CTSPillarNetworkA,8978,8978,8978,1994-08-01,897.5000000001355,897.4279,2015-01-01 02:29:38,bin8978,35, +CTSPillarNetworkA,8979,8979,8979,1994-08-02,897.6000000001355,897.5279,2015-01-01 02:29:39,bin8979,75, +CTSPillarNetworkA,8980,8980,8980,1994-08-03,897.7000000001356,897.62787,2015-01-01 02:29:40,bin8980,35, +CTSPillarNetworkA,8981,8981,8981,1994-08-04,897.8000000001356,897.72784,2015-01-01 02:29:41,bin8981,75, +CTSPillarNetworkA,8982,8982,8982,1994-08-05,897.9000000001356,897.8278,2015-01-01 02:29:42,bin8982,35, +CTSPillarNetworkA,8983,8983,8983,1994-08-06,898.0000000001356,897.9278,2015-01-01 02:29:43,bin8983,75, +CTSPillarNetworkA,8984,8984,8984,1994-08-07,898.1000000001357,898.0278,2015-01-01 02:29:44,bin8984,35, +CTSPillarNetworkA,8985,8985,8985,1994-08-08,898.2000000001357,898.12775,2015-01-01 02:29:45,bin8985,75, +CTSPillarNetworkA,8986,8986,8986,1994-08-09,898.3000000001357,898.2277,2015-01-01 02:29:46,bin8986,35, +CTSPillarNetworkA,8987,8987,8987,1994-08-10,898.4000000001357,898.3277,2015-01-01 02:29:47,bin8987,75, +CTSPillarNetworkA,8988,8988,8988,1994-08-11,898.5000000001357,898.4277,2015-01-01 02:29:48,bin8988,35, +CTSPillarNetworkA,8989,8989,8989,1994-08-12,898.6000000001358,898.52765,2015-01-01 02:29:49,bin8989,75, +CTSPillarNetworkA,8990,8990,8990,1994-08-13,898.7000000001358,898.6276,2015-01-01 02:29:50,bin8990,35, +CTSPillarNetworkA,8991,8991,8991,1994-08-14,898.8000000001358,898.7276,2015-01-01 02:29:51,bin8991,75, +CTSPillarNetworkA,8992,8992,8992,1994-08-15,898.9000000001358,898.8276,2015-01-01 02:29:52,bin8992,35, +CTSPillarNetworkA,8993,8993,8993,1994-08-16,899.0000000001359,898.92755,2015-01-01 02:29:53,bin8993,75, +CTSPillarNetworkA,8994,8994,8994,1994-08-17,899.1000000001359,899.0275,2015-01-01 02:29:54,bin8994,35, +CTSPillarNetworkA,8995,8995,8995,1994-08-18,899.2000000001359,899.1275,2015-01-01 02:29:55,bin8995,75, +CTSPillarNetworkA,8996,8996,8996,1994-08-19,899.3000000001359,899.2275,2015-01-01 02:29:56,bin8996,35, +CTSPillarNetworkA,8997,8997,8997,1994-08-20,899.400000000136,899.32745,2015-01-01 02:29:57,bin8997,75, +CTSPillarNetworkA,8998,8998,8998,1994-08-21,899.500000000136,899.4274,2015-01-01 02:29:58,bin8998,35, +CTSPillarNetworkA,8999,8999,8999,1994-08-22,899.600000000136,899.5274,2015-01-01 02:29:59,bin8999,75, +CTSPillarNetworkA,9000,9000,9000,1994-08-23,899.700000000136,899.6274,2015-01-01 02:30:00,bin9000,35, +CTSPillarNetworkA,9001,9001,9001,1994-08-24,899.800000000136,899.72736,2015-01-01 02:30:01,bin9001,75, +CTSPillarNetworkA,9002,9002,9002,1994-08-25,899.9000000001361,899.82733,2015-01-01 02:30:02,bin9002,35, +CTSPillarNetworkA,9003,9003,9003,1994-08-26,900.0000000001361,899.9273,2015-01-01 02:30:03,bin9003,75, +CTSPillarNetworkA,9004,9004,9004,1994-08-27,900.1000000001361,900.0273,2015-01-01 02:30:04,bin9004,35, +CTSPillarNetworkA,9005,9005,9005,1994-08-28,900.2000000001361,900.12726,2015-01-01 02:30:05,bin9005,75, +CTSPillarNetworkA,9006,9006,9006,1994-08-29,900.3000000001362,900.22723,2015-01-01 02:30:06,bin9006,35, +CTSPillarNetworkA,9007,9007,9007,1994-08-30,900.4000000001362,900.3272,2015-01-01 02:30:07,bin9007,75, +CTSPillarNetworkA,9008,9008,9008,1994-08-31,900.5000000001362,900.4272,2015-01-01 02:30:08,bin9008,35, +CTSPillarNetworkA,9009,9009,9009,1994-09-01,900.6000000001362,900.52716,2015-01-01 02:30:09,bin9009,75, +CTSPillarNetworkA,9010,9010,9010,1994-09-02,900.7000000001362,900.62714,2015-01-01 02:30:10,bin9010,35, +CTSPillarNetworkA,9011,9011,9011,1994-09-03,900.8000000001363,900.7271,2015-01-01 02:30:11,bin9011,75, +CTSPillarNetworkA,9012,9012,9012,1994-09-04,900.9000000001363,900.8271,2015-01-01 02:30:12,bin9012,35, +CTSPillarNetworkA,9013,9013,9013,1994-09-05,901.0000000001363,900.92706,2015-01-01 02:30:13,bin9013,75, +CTSPillarNetworkA,9014,9014,9014,1994-09-06,901.1000000001363,901.02704,2015-01-01 02:30:14,bin9014,35, +CTSPillarNetworkA,9015,9015,9015,1994-09-07,901.2000000001364,901.127,2015-01-01 02:30:15,bin9015,75, +CTSPillarNetworkA,9016,9016,9016,1994-09-08,901.3000000001364,901.227,2015-01-01 02:30:16,bin9016,35, +CTSPillarNetworkA,9017,9017,9017,1994-09-09,901.4000000001364,901.32697,2015-01-01 02:30:17,bin9017,75, +CTSPillarNetworkA,9018,9018,9018,1994-09-10,901.5000000001364,901.42694,2015-01-01 02:30:18,bin9018,35, +CTSPillarNetworkA,9019,9019,9019,1994-09-11,901.6000000001364,901.5269,2015-01-01 02:30:19,bin9019,75, +CTSPillarNetworkA,9020,9020,9020,1994-09-12,901.7000000001365,901.6269,2015-01-01 02:30:20,bin9020,35, +CTSPillarNetworkA,9021,9021,9021,1994-09-13,901.8000000001365,901.72687,2015-01-01 02:30:21,bin9021,75, +CTSPillarNetworkA,9022,9022,9022,1994-09-14,901.9000000001365,901.82684,2015-01-01 02:30:22,bin9022,35, +CTSPillarNetworkA,9023,9023,9023,1994-09-15,902.0000000001365,901.9268,2015-01-01 02:30:23,bin9023,75, +CTSPillarNetworkA,9024,9024,9024,1994-09-16,902.1000000001366,902.0268,2015-01-01 02:30:24,bin9024,35, +CTSPillarNetworkA,9025,9025,9025,1994-09-17,902.2000000001366,902.1268,2015-01-01 02:30:25,bin9025,75, +CTSPillarNetworkA,9026,9026,9026,1994-09-18,902.3000000001366,902.22675,2015-01-01 02:30:26,bin9026,35, +CTSPillarNetworkA,9027,9027,9027,1994-09-19,902.4000000001366,902.3267,2015-01-01 02:30:27,bin9027,75, +CTSPillarNetworkA,9028,9028,9028,1994-09-20,902.5000000001367,902.4267,2015-01-01 02:30:28,bin9028,35, +CTSPillarNetworkA,9029,9029,9029,1994-09-21,902.6000000001367,902.5267,2015-01-01 02:30:29,bin9029,75, +CTSPillarNetworkA,9030,9030,9030,1994-09-22,902.7000000001367,902.62665,2015-01-01 02:30:30,bin9030,35, +CTSPillarNetworkA,9031,9031,9031,1994-09-23,902.8000000001367,902.7266,2015-01-01 02:30:31,bin9031,75, +CTSPillarNetworkA,9032,9032,9032,1994-09-24,902.9000000001367,902.8266,2015-01-01 02:30:32,bin9032,35, +CTSPillarNetworkA,9033,9033,9033,1994-09-25,903.0000000001368,902.9266,2015-01-01 02:30:33,bin9033,75, +CTSPillarNetworkA,9034,9034,9034,1994-09-26,903.1000000001368,903.02655,2015-01-01 02:30:34,bin9034,35, +CTSPillarNetworkA,9035,9035,9035,1994-09-27,903.2000000001368,903.1265,2015-01-01 02:30:35,bin9035,75, +CTSPillarNetworkA,9036,9036,9036,1994-09-28,903.3000000001368,903.2265,2015-01-01 02:30:36,bin9036,35, +CTSPillarNetworkA,9037,9037,9037,1994-09-29,903.4000000001369,903.3265,2015-01-01 02:30:37,bin9037,75, +CTSPillarNetworkA,9038,9038,9038,1994-09-30,903.5000000001369,903.42645,2015-01-01 02:30:38,bin9038,35, +CTSPillarNetworkA,9039,9039,9039,1994-10-01,903.6000000001369,903.5264,2015-01-01 02:30:39,bin9039,75, +CTSPillarNetworkA,9040,9040,9040,1994-10-02,903.7000000001369,903.6264,2015-01-01 02:30:40,bin9040,35, +CTSPillarNetworkA,9041,9041,9041,1994-10-03,903.800000000137,903.7264,2015-01-01 02:30:41,bin9041,75, +CTSPillarNetworkA,9042,9042,9042,1994-10-04,903.900000000137,903.82635,2015-01-01 02:30:42,bin9042,35, +CTSPillarNetworkA,9043,9043,9043,1994-10-05,904.000000000137,903.92633,2015-01-01 02:30:43,bin9043,75, +CTSPillarNetworkA,9044,9044,9044,1994-10-06,904.100000000137,904.0263,2015-01-01 02:30:44,bin9044,35, +CTSPillarNetworkA,9045,9045,9045,1994-10-07,904.200000000137,904.1263,2015-01-01 02:30:45,bin9045,75, +CTSPillarNetworkA,9046,9046,9046,1994-10-08,904.3000000001371,904.22626,2015-01-01 02:30:46,bin9046,35, +CTSPillarNetworkA,9047,9047,9047,1994-10-09,904.4000000001371,904.32623,2015-01-01 02:30:47,bin9047,75, +CTSPillarNetworkA,9048,9048,9048,1994-10-10,904.5000000001371,904.4262,2015-01-01 02:30:48,bin9048,35, +CTSPillarNetworkA,9049,9049,9049,1994-10-11,904.6000000001371,904.5262,2015-01-01 02:30:49,bin9049,75, +CTSPillarNetworkA,9050,9050,9050,1994-10-12,904.7000000001372,904.62616,2015-01-01 02:30:50,bin9050,35, +CTSPillarNetworkA,9051,9051,9051,1994-10-13,904.8000000001372,904.72614,2015-01-01 02:30:51,bin9051,75, +CTSPillarNetworkA,9052,9052,9052,1994-10-14,904.9000000001372,904.8261,2015-01-01 02:30:52,bin9052,35, +CTSPillarNetworkA,9053,9053,9053,1994-10-15,905.0000000001372,904.9261,2015-01-01 02:30:53,bin9053,75, +CTSPillarNetworkA,9054,9054,9054,1994-10-16,905.1000000001372,905.02606,2015-01-01 02:30:54,bin9054,35, +CTSPillarNetworkA,9055,9055,9055,1994-10-17,905.2000000001373,905.12604,2015-01-01 02:30:55,bin9055,75, +CTSPillarNetworkA,9056,9056,9056,1994-10-18,905.3000000001373,905.226,2015-01-01 02:30:56,bin9056,35, +CTSPillarNetworkA,9057,9057,9057,1994-10-19,905.4000000001373,905.326,2015-01-01 02:30:57,bin9057,75, +CTSPillarNetworkA,9058,9058,9058,1994-10-20,905.5000000001373,905.42596,2015-01-01 02:30:58,bin9058,35, +CTSPillarNetworkA,9059,9059,9059,1994-10-21,905.6000000001374,905.52594,2015-01-01 02:30:59,bin9059,75, +CTSPillarNetworkA,9060,9060,9060,1994-10-22,905.7000000001374,905.6259,2015-01-01 02:31:00,bin9060,35, +CTSPillarNetworkA,9061,9061,9061,1994-10-23,905.8000000001374,905.7259,2015-01-01 02:31:01,bin9061,75, +CTSPillarNetworkA,9062,9062,9062,1994-10-24,905.9000000001374,905.82587,2015-01-01 02:31:02,bin9062,35, +CTSPillarNetworkA,9063,9063,9063,1994-10-25,906.0000000001374,905.92584,2015-01-01 02:31:03,bin9063,75, +CTSPillarNetworkA,9064,9064,9064,1994-10-26,906.1000000001375,906.0258,2015-01-01 02:31:04,bin9064,35, +CTSPillarNetworkA,9065,9065,9065,1994-10-27,906.2000000001375,906.1258,2015-01-01 02:31:05,bin9065,75, +CTSPillarNetworkA,9066,9066,9066,1994-10-28,906.3000000001375,906.22577,2015-01-01 02:31:06,bin9066,35, +CTSPillarNetworkA,9067,9067,9067,1994-10-29,906.4000000001375,906.32574,2015-01-01 02:31:07,bin9067,75, +CTSPillarNetworkA,9068,9068,9068,1994-10-30,906.5000000001376,906.4257,2015-01-01 02:31:08,bin9068,35, +CTSPillarNetworkA,9069,9069,9069,1994-10-31,906.6000000001376,906.5257,2015-01-01 02:31:09,bin9069,75, +CTSPillarNetworkA,9070,9070,9070,1994-11-01,906.7000000001376,906.6257,2015-01-01 02:31:10,bin9070,35, +CTSPillarNetworkA,9071,9071,9071,1994-11-02,906.8000000001376,906.72565,2015-01-01 02:31:11,bin9071,75, +CTSPillarNetworkA,9072,9072,9072,1994-11-03,906.9000000001377,906.8256,2015-01-01 02:31:12,bin9072,35, +CTSPillarNetworkA,9073,9073,9073,1994-11-04,907.0000000001377,906.9256,2015-01-01 02:31:13,bin9073,75, +CTSPillarNetworkA,9074,9074,9074,1994-11-05,907.1000000001377,907.0256,2015-01-01 02:31:14,bin9074,35, +CTSPillarNetworkA,9075,9075,9075,1994-11-06,907.2000000001377,907.12555,2015-01-01 02:31:15,bin9075,75, +CTSPillarNetworkA,9076,9076,9076,1994-11-07,907.3000000001377,907.2255,2015-01-01 02:31:16,bin9076,35, +CTSPillarNetworkA,9077,9077,9077,1994-11-08,907.4000000001378,907.3255,2015-01-01 02:31:17,bin9077,75, +CTSPillarNetworkA,9078,9078,9078,1994-11-09,907.5000000001378,907.4255,2015-01-01 02:31:18,bin9078,35, +CTSPillarNetworkA,9079,9079,9079,1994-11-10,907.6000000001378,907.52545,2015-01-01 02:31:19,bin9079,75, +CTSPillarNetworkA,9080,9080,9080,1994-11-11,907.7000000001378,907.6254,2015-01-01 02:31:20,bin9080,35, +CTSPillarNetworkA,9081,9081,9081,1994-11-12,907.8000000001379,907.7254,2015-01-01 02:31:21,bin9081,75, +CTSPillarNetworkA,9082,9082,9082,1994-11-13,907.9000000001379,907.8254,2015-01-01 02:31:22,bin9082,35, +CTSPillarNetworkA,9083,9083,9083,1994-11-14,908.0000000001379,907.92535,2015-01-01 02:31:23,bin9083,75, +CTSPillarNetworkA,9084,9084,9084,1994-11-15,908.1000000001379,908.0253,2015-01-01 02:31:24,bin9084,35, +CTSPillarNetworkA,9085,9085,9085,1994-11-16,908.200000000138,908.1253,2015-01-01 02:31:25,bin9085,75, +CTSPillarNetworkA,9086,9086,9086,1994-11-17,908.300000000138,908.2253,2015-01-01 02:31:26,bin9086,35, +CTSPillarNetworkA,9087,9087,9087,1994-11-18,908.400000000138,908.32526,2015-01-01 02:31:27,bin9087,75, +CTSPillarNetworkA,9088,9088,9088,1994-11-19,908.500000000138,908.42523,2015-01-01 02:31:28,bin9088,35, +CTSPillarNetworkA,9089,9089,9089,1994-11-20,908.600000000138,908.5252,2015-01-01 02:31:29,bin9089,75, +CTSPillarNetworkA,9090,9090,9090,1994-11-21,908.7000000001381,908.6252,2015-01-01 02:31:30,bin9090,35, +CTSPillarNetworkA,9091,9091,9091,1994-11-22,908.8000000001381,908.72516,2015-01-01 02:31:31,bin9091,75, +CTSPillarNetworkA,9092,9092,9092,1994-11-23,908.9000000001381,908.82513,2015-01-01 02:31:32,bin9092,35, +CTSPillarNetworkA,9093,9093,9093,1994-11-24,909.0000000001381,908.9251,2015-01-01 02:31:33,bin9093,75, +CTSPillarNetworkA,9094,9094,9094,1994-11-25,909.1000000001382,909.0251,2015-01-01 02:31:34,bin9094,35, +CTSPillarNetworkA,9095,9095,9095,1994-11-26,909.2000000001382,909.12506,2015-01-01 02:31:35,bin9095,75, +CTSPillarNetworkA,9096,9096,9096,1994-11-27,909.3000000001382,909.22504,2015-01-01 02:31:36,bin9096,35, +CTSPillarNetworkA,9097,9097,9097,1994-11-28,909.4000000001382,909.325,2015-01-01 02:31:37,bin9097,75, +CTSPillarNetworkA,9098,9098,9098,1994-11-29,909.5000000001382,909.425,2015-01-01 02:31:38,bin9098,35, +CTSPillarNetworkA,9099,9099,9099,1994-11-30,909.6000000001383,909.52496,2015-01-01 02:31:39,bin9099,75, +CTSPillarNetworkA,9100,9100,9100,1994-12-01,909.7000000001383,909.62494,2015-01-01 02:31:40,bin9100,35, +CTSPillarNetworkA,9101,9101,9101,1994-12-02,909.8000000001383,909.7249,2015-01-01 02:31:41,bin9101,75, +CTSPillarNetworkA,9102,9102,9102,1994-12-03,909.9000000001383,909.8249,2015-01-01 02:31:42,bin9102,35, +CTSPillarNetworkA,9103,9103,9103,1994-12-04,910.0000000001384,909.92487,2015-01-01 02:31:43,bin9103,75, +CTSPillarNetworkA,9104,9104,9104,1994-12-05,910.1000000001384,910.02484,2015-01-01 02:31:44,bin9104,35, +CTSPillarNetworkA,9105,9105,9105,1994-12-06,910.2000000001384,910.1248,2015-01-01 02:31:45,bin9105,75, +CTSPillarNetworkA,9106,9106,9106,1994-12-07,910.3000000001384,910.2248,2015-01-01 02:31:46,bin9106,35, +CTSPillarNetworkA,9107,9107,9107,1994-12-08,910.4000000001384,910.32477,2015-01-01 02:31:47,bin9107,75, +CTSPillarNetworkA,9108,9108,9108,1994-12-09,910.5000000001385,910.42474,2015-01-01 02:31:48,bin9108,35, +CTSPillarNetworkA,9109,9109,9109,1994-12-10,910.6000000001385,910.5247,2015-01-01 02:31:49,bin9109,75, +CTSPillarNetworkA,9110,9110,9110,1994-12-11,910.7000000001385,910.6247,2015-01-01 02:31:50,bin9110,35, +CTSPillarNetworkA,9111,9111,9111,1994-12-12,910.8000000001385,910.7247,2015-01-01 02:31:51,bin9111,75, +CTSPillarNetworkA,9112,9112,9112,1994-12-13,910.9000000001386,910.82465,2015-01-01 02:31:52,bin9112,35, +CTSPillarNetworkA,9113,9113,9113,1994-12-14,911.0000000001386,910.9246,2015-01-01 02:31:53,bin9113,75, +CTSPillarNetworkA,9114,9114,9114,1994-12-15,911.1000000001386,911.0246,2015-01-01 02:31:54,bin9114,35, +CTSPillarNetworkA,9115,9115,9115,1994-12-16,911.2000000001386,911.1246,2015-01-01 02:31:55,bin9115,75, +CTSPillarNetworkA,9116,9116,9116,1994-12-17,911.3000000001387,911.22455,2015-01-01 02:31:56,bin9116,35, +CTSPillarNetworkA,9117,9117,9117,1994-12-18,911.4000000001387,911.3245,2015-01-01 02:31:57,bin9117,75, +CTSPillarNetworkA,9118,9118,9118,1994-12-19,911.5000000001387,911.4245,2015-01-01 02:31:58,bin9118,35, +CTSPillarNetworkA,9119,9119,9119,1994-12-20,911.6000000001387,911.5245,2015-01-01 02:31:59,bin9119,75, +CTSPillarNetworkA,9120,9120,9120,1994-12-21,911.7000000001387,911.62445,2015-01-01 02:32:00,bin9120,35, +CTSPillarNetworkA,9121,9121,9121,1994-12-22,911.8000000001388,911.7244,2015-01-01 02:32:01,bin9121,75, +CTSPillarNetworkA,9122,9122,9122,1994-12-23,911.9000000001388,911.8244,2015-01-01 02:32:02,bin9122,35, +CTSPillarNetworkA,9123,9123,9123,1994-12-24,912.0000000001388,911.9244,2015-01-01 02:32:03,bin9123,75, +CTSPillarNetworkA,9124,9124,9124,1994-12-25,912.1000000001388,912.02435,2015-01-01 02:32:04,bin9124,35, +CTSPillarNetworkA,9125,9125,9125,1994-12-26,912.2000000001389,912.1243,2015-01-01 02:32:05,bin9125,75, +CTSPillarNetworkA,9126,9126,9126,1994-12-27,912.3000000001389,912.2243,2015-01-01 02:32:06,bin9126,35, +CTSPillarNetworkA,9127,9127,9127,1994-12-28,912.4000000001389,912.3243,2015-01-01 02:32:07,bin9127,75, +CTSPillarNetworkA,9128,9128,9128,1994-12-29,912.5000000001389,912.42426,2015-01-01 02:32:08,bin9128,35, +CTSPillarNetworkA,9129,9129,9129,1994-12-30,912.600000000139,912.52423,2015-01-01 02:32:09,bin9129,75, +CTSPillarNetworkA,9130,9130,9130,1994-12-31,912.700000000139,912.6242,2015-01-01 02:32:10,bin9130,35, +CTSPillarNetworkA,9131,9131,9131,1995-01-01,912.800000000139,912.7242,2015-01-01 02:32:11,bin9131,75, +CTSPillarNetworkA,9132,9132,9132,1995-01-02,912.900000000139,912.82416,2015-01-01 02:32:12,bin9132,35, +CTSPillarNetworkA,9133,9133,9133,1995-01-03,913.000000000139,912.92413,2015-01-01 02:32:13,bin9133,75, +CTSPillarNetworkA,9134,9134,9134,1995-01-04,913.1000000001391,913.0241,2015-01-01 02:32:14,bin9134,35, +CTSPillarNetworkA,9135,9135,9135,1995-01-05,913.2000000001391,913.1241,2015-01-01 02:32:15,bin9135,75, +CTSPillarNetworkA,9136,9136,9136,1995-01-06,913.3000000001391,913.22406,2015-01-01 02:32:16,bin9136,35, +CTSPillarNetworkA,9137,9137,9137,1995-01-07,913.4000000001391,913.32404,2015-01-01 02:32:17,bin9137,75, +CTSPillarNetworkA,9138,9138,9138,1995-01-08,913.5000000001392,913.424,2015-01-01 02:32:18,bin9138,35, +CTSPillarNetworkA,9139,9139,9139,1995-01-09,913.6000000001392,913.524,2015-01-01 02:32:19,bin9139,75, +CTSPillarNetworkA,9140,9140,9140,1995-01-10,913.7000000001392,913.62396,2015-01-01 02:32:20,bin9140,35, +CTSPillarNetworkA,9141,9141,9141,1995-01-11,913.8000000001392,913.72394,2015-01-01 02:32:21,bin9141,75, +CTSPillarNetworkA,9142,9142,9142,1995-01-12,913.9000000001392,913.8239,2015-01-01 02:32:22,bin9142,35, +CTSPillarNetworkA,9143,9143,9143,1995-01-13,914.0000000001393,913.9239,2015-01-01 02:32:23,bin9143,75, +CTSPillarNetworkA,9144,9144,9144,1995-01-14,914.1000000001393,914.02386,2015-01-01 02:32:24,bin9144,35, +CTSPillarNetworkA,9145,9145,9145,1995-01-15,914.2000000001393,914.12384,2015-01-01 02:32:25,bin9145,75, +CTSPillarNetworkA,9146,9146,9146,1995-01-16,914.3000000001393,914.2238,2015-01-01 02:32:26,bin9146,35, +CTSPillarNetworkA,9147,9147,9147,1995-01-17,914.4000000001394,914.3238,2015-01-01 02:32:27,bin9147,75, +CTSPillarNetworkA,9148,9148,9148,1995-01-18,914.5000000001394,914.42377,2015-01-01 02:32:28,bin9148,35, +CTSPillarNetworkA,9149,9149,9149,1995-01-19,914.6000000001394,914.52374,2015-01-01 02:32:29,bin9149,75, +CTSPillarNetworkA,9150,9150,9150,1995-01-20,914.7000000001394,914.6237,2015-01-01 02:32:30,bin9150,35, +CTSPillarNetworkA,9151,9151,9151,1995-01-21,914.8000000001394,914.7237,2015-01-01 02:32:31,bin9151,75, +CTSPillarNetworkA,9152,9152,9152,1995-01-22,914.9000000001395,914.82367,2015-01-01 02:32:32,bin9152,35, +CTSPillarNetworkA,9153,9153,9153,1995-01-23,915.0000000001395,914.92365,2015-01-01 02:32:33,bin9153,75, +CTSPillarNetworkA,9154,9154,9154,1995-01-24,915.1000000001395,915.0236,2015-01-01 02:32:34,bin9154,35, +CTSPillarNetworkA,9155,9155,9155,1995-01-25,915.2000000001395,915.1236,2015-01-01 02:32:35,bin9155,75, +CTSPillarNetworkA,9156,9156,9156,1995-01-26,915.3000000001396,915.2236,2015-01-01 02:32:36,bin9156,35, +CTSPillarNetworkA,9157,9157,9157,1995-01-27,915.4000000001396,915.32355,2015-01-01 02:32:37,bin9157,75, +CTSPillarNetworkA,9158,9158,9158,1995-01-28,915.5000000001396,915.4235,2015-01-01 02:32:38,bin9158,35, +CTSPillarNetworkA,9159,9159,9159,1995-01-29,915.6000000001396,915.5235,2015-01-01 02:32:39,bin9159,75, +CTSPillarNetworkA,9160,9160,9160,1995-01-30,915.7000000001397,915.6235,2015-01-01 02:32:40,bin9160,35, +CTSPillarNetworkA,9161,9161,9161,1995-01-31,915.8000000001397,915.72345,2015-01-01 02:32:41,bin9161,75, +CTSPillarNetworkA,9162,9162,9162,1995-02-01,915.9000000001397,915.8234,2015-01-01 02:32:42,bin9162,35, +CTSPillarNetworkA,9163,9163,9163,1995-02-02,916.0000000001397,915.9234,2015-01-01 02:32:43,bin9163,75, +CTSPillarNetworkA,9164,9164,9164,1995-02-03,916.1000000001397,916.0234,2015-01-01 02:32:44,bin9164,35, +CTSPillarNetworkA,9165,9165,9165,1995-02-04,916.2000000001398,916.12335,2015-01-01 02:32:45,bin9165,75, +CTSPillarNetworkA,9166,9166,9166,1995-02-05,916.3000000001398,916.2233,2015-01-01 02:32:46,bin9166,35, +CTSPillarNetworkA,9167,9167,9167,1995-02-06,916.4000000001398,916.3233,2015-01-01 02:32:47,bin9167,75, +CTSPillarNetworkA,9168,9168,9168,1995-02-07,916.5000000001398,916.4233,2015-01-01 02:32:48,bin9168,35, +CTSPillarNetworkA,9169,9169,9169,1995-02-08,916.6000000001399,916.52325,2015-01-01 02:32:49,bin9169,75, +CTSPillarNetworkA,9170,9170,9170,1995-02-09,916.7000000001399,916.6232,2015-01-01 02:32:50,bin9170,35, +CTSPillarNetworkA,9171,9171,9171,1995-02-10,916.8000000001399,916.7232,2015-01-01 02:32:51,bin9171,75, +CTSPillarNetworkA,9172,9172,9172,1995-02-11,916.9000000001399,916.8232,2015-01-01 02:32:52,bin9172,35, +CTSPillarNetworkA,9173,9173,9173,1995-02-12,917.00000000014,916.92316,2015-01-01 02:32:53,bin9173,75, +CTSPillarNetworkA,9174,9174,9174,1995-02-13,917.10000000014,917.02313,2015-01-01 02:32:54,bin9174,35, +CTSPillarNetworkA,9175,9175,9175,1995-02-14,917.20000000014,917.1231,2015-01-01 02:32:55,bin9175,75, +CTSPillarNetworkA,9176,9176,9176,1995-02-15,917.30000000014,917.2231,2015-01-01 02:32:56,bin9176,35, +CTSPillarNetworkA,9177,9177,9177,1995-02-16,917.40000000014,917.32306,2015-01-01 02:32:57,bin9177,75, +CTSPillarNetworkA,9178,9178,9178,1995-02-17,917.5000000001401,917.42303,2015-01-01 02:32:58,bin9178,35, +CTSPillarNetworkA,9179,9179,9179,1995-02-18,917.6000000001401,917.523,2015-01-01 02:32:59,bin9179,75, +CTSPillarNetworkA,9180,9180,9180,1995-02-19,917.7000000001401,917.623,2015-01-01 02:33:00,bin9180,35, +CTSPillarNetworkA,9181,9181,9181,1995-02-20,917.8000000001401,917.72296,2015-01-01 02:33:01,bin9181,75, +CTSPillarNetworkA,9182,9182,9182,1995-02-21,917.9000000001402,917.82294,2015-01-01 02:33:02,bin9182,35, +CTSPillarNetworkA,9183,9183,9183,1995-02-22,918.0000000001402,917.9229,2015-01-01 02:33:03,bin9183,75, +CTSPillarNetworkA,9184,9184,9184,1995-02-23,918.1000000001402,918.0229,2015-01-01 02:33:04,bin9184,35, +CTSPillarNetworkA,9185,9185,9185,1995-02-24,918.2000000001402,918.12286,2015-01-01 02:33:05,bin9185,75, +CTSPillarNetworkA,9186,9186,9186,1995-02-25,918.3000000001402,918.22284,2015-01-01 02:33:06,bin9186,35, +CTSPillarNetworkA,9187,9187,9187,1995-02-26,918.4000000001403,918.3228,2015-01-01 02:33:07,bin9187,75, +CTSPillarNetworkA,9188,9188,9188,1995-02-27,918.5000000001403,918.4228,2015-01-01 02:33:08,bin9188,35, +CTSPillarNetworkA,9189,9189,9189,1995-02-28,918.6000000001403,918.52277,2015-01-01 02:33:09,bin9189,75, +CTSPillarNetworkA,9190,9190,9190,1995-03-01,918.7000000001403,918.62274,2015-01-01 02:33:10,bin9190,35, +CTSPillarNetworkA,9191,9191,9191,1995-03-02,918.8000000001404,918.7227,2015-01-01 02:33:11,bin9191,75, +CTSPillarNetworkA,9192,9192,9192,1995-03-03,918.9000000001404,918.8227,2015-01-01 02:33:12,bin9192,35, +CTSPillarNetworkA,9193,9193,9193,1995-03-04,919.0000000001404,918.92267,2015-01-01 02:33:13,bin9193,75, +CTSPillarNetworkA,9194,9194,9194,1995-03-05,919.1000000001404,919.02264,2015-01-01 02:33:14,bin9194,35, +CTSPillarNetworkA,9195,9195,9195,1995-03-06,919.2000000001404,919.1226,2015-01-01 02:33:15,bin9195,75, +CTSPillarNetworkA,9196,9196,9196,1995-03-07,919.3000000001405,919.2226,2015-01-01 02:33:16,bin9196,35, +CTSPillarNetworkA,9197,9197,9197,1995-03-08,919.4000000001405,919.3226,2015-01-01 02:33:17,bin9197,75, +CTSPillarNetworkA,9198,9198,9198,1995-03-09,919.5000000001405,919.42255,2015-01-01 02:33:18,bin9198,35, +CTSPillarNetworkA,9199,9199,9199,1995-03-10,919.6000000001405,919.5225,2015-01-01 02:33:19,bin9199,75, +CTSPillarNetworkA,9200,9200,9200,1995-03-11,919.7000000001406,919.6225,2015-01-01 02:33:20,bin9200,35, +CTSPillarNetworkA,9201,9201,9201,1995-03-12,919.8000000001406,919.7225,2015-01-01 02:33:21,bin9201,75, +CTSPillarNetworkA,9202,9202,9202,1995-03-13,919.9000000001406,919.82245,2015-01-01 02:33:22,bin9202,35, +CTSPillarNetworkA,9203,9203,9203,1995-03-14,920.0000000001406,919.9224,2015-01-01 02:33:23,bin9203,75, +CTSPillarNetworkA,9204,9204,9204,1995-03-15,920.1000000001407,920.0224,2015-01-01 02:33:24,bin9204,35, +CTSPillarNetworkA,9205,9205,9205,1995-03-16,920.2000000001407,920.1224,2015-01-01 02:33:25,bin9205,75, +CTSPillarNetworkA,9206,9206,9206,1995-03-17,920.3000000001407,920.22235,2015-01-01 02:33:26,bin9206,35, +CTSPillarNetworkA,9207,9207,9207,1995-03-18,920.4000000001407,920.3223,2015-01-01 02:33:27,bin9207,75, +CTSPillarNetworkA,9208,9208,9208,1995-03-19,920.5000000001407,920.4223,2015-01-01 02:33:28,bin9208,35, +CTSPillarNetworkA,9209,9209,9209,1995-03-20,920.6000000001408,920.5223,2015-01-01 02:33:29,bin9209,75, +CTSPillarNetworkA,9210,9210,9210,1995-03-21,920.7000000001408,920.62225,2015-01-01 02:33:30,bin9210,35, +CTSPillarNetworkA,9211,9211,9211,1995-03-22,920.8000000001408,920.7222,2015-01-01 02:33:31,bin9211,75, +CTSPillarNetworkA,9212,9212,9212,1995-03-23,920.9000000001408,920.8222,2015-01-01 02:33:32,bin9212,35, +CTSPillarNetworkA,9213,9213,9213,1995-03-24,921.0000000001409,920.9222,2015-01-01 02:33:33,bin9213,75, +CTSPillarNetworkA,9214,9214,9214,1995-03-25,921.1000000001409,921.02216,2015-01-01 02:33:34,bin9214,35, +CTSPillarNetworkA,9215,9215,9215,1995-03-26,921.2000000001409,921.12213,2015-01-01 02:33:35,bin9215,75, +CTSPillarNetworkA,9216,9216,9216,1995-03-27,921.3000000001409,921.2221,2015-01-01 02:33:36,bin9216,35, +CTSPillarNetworkA,9217,9217,9217,1995-03-28,921.400000000141,921.3221,2015-01-01 02:33:37,bin9217,75, +CTSPillarNetworkA,9218,9218,9218,1995-03-29,921.500000000141,921.42206,2015-01-01 02:33:38,bin9218,35, +CTSPillarNetworkA,9219,9219,9219,1995-03-30,921.600000000141,921.52203,2015-01-01 02:33:39,bin9219,75, +CTSPillarNetworkA,9220,9220,9220,1995-03-31,921.700000000141,921.622,2015-01-01 02:33:40,bin9220,35, +CTSPillarNetworkA,9221,9221,9221,1995-04-01,921.800000000141,921.722,2015-01-01 02:33:41,bin9221,75, +CTSPillarNetworkA,9222,9222,9222,1995-04-02,921.9000000001411,921.82196,2015-01-01 02:33:42,bin9222,35, +CTSPillarNetworkA,9223,9223,9223,1995-04-03,922.0000000001411,921.92194,2015-01-01 02:33:43,bin9223,75, +CTSPillarNetworkA,9224,9224,9224,1995-04-04,922.1000000001411,922.0219,2015-01-01 02:33:44,bin9224,35, +CTSPillarNetworkA,9225,9225,9225,1995-04-05,922.2000000001411,922.1219,2015-01-01 02:33:45,bin9225,75, +CTSPillarNetworkA,9226,9226,9226,1995-04-06,922.3000000001412,922.22186,2015-01-01 02:33:46,bin9226,35, +CTSPillarNetworkA,9227,9227,9227,1995-04-07,922.4000000001412,922.32184,2015-01-01 02:33:47,bin9227,75, +CTSPillarNetworkA,9228,9228,9228,1995-04-08,922.5000000001412,922.4218,2015-01-01 02:33:48,bin9228,35, +CTSPillarNetworkA,9229,9229,9229,1995-04-09,922.6000000001412,922.5218,2015-01-01 02:33:49,bin9229,75, +CTSPillarNetworkA,9230,9230,9230,1995-04-10,922.7000000001412,922.62177,2015-01-01 02:33:50,bin9230,35, +CTSPillarNetworkA,9231,9231,9231,1995-04-11,922.8000000001413,922.72174,2015-01-01 02:33:51,bin9231,75, +CTSPillarNetworkA,9232,9232,9232,1995-04-12,922.9000000001413,922.8217,2015-01-01 02:33:52,bin9232,35, +CTSPillarNetworkA,9233,9233,9233,1995-04-13,923.0000000001413,922.9217,2015-01-01 02:33:53,bin9233,75, +CTSPillarNetworkA,9234,9234,9234,1995-04-14,923.1000000001413,923.02167,2015-01-01 02:33:54,bin9234,35, +CTSPillarNetworkA,9235,9235,9235,1995-04-15,923.2000000001414,923.12164,2015-01-01 02:33:55,bin9235,75, +CTSPillarNetworkA,9236,9236,9236,1995-04-16,923.3000000001414,923.2216,2015-01-01 02:33:56,bin9236,35, +CTSPillarNetworkA,9237,9237,9237,1995-04-17,923.4000000001414,923.3216,2015-01-01 02:33:57,bin9237,75, +CTSPillarNetworkA,9238,9238,9238,1995-04-18,923.5000000001414,923.4216,2015-01-01 02:33:58,bin9238,35, +CTSPillarNetworkA,9239,9239,9239,1995-04-19,923.6000000001414,923.52155,2015-01-01 02:33:59,bin9239,75, +CTSPillarNetworkA,9240,9240,9240,1995-04-20,923.7000000001415,923.6215,2015-01-01 02:34:00,bin9240,35, +CTSPillarNetworkA,9241,9241,9241,1995-04-21,923.8000000001415,923.7215,2015-01-01 02:34:01,bin9241,75, +CTSPillarNetworkA,9242,9242,9242,1995-04-22,923.9000000001415,923.8215,2015-01-01 02:34:02,bin9242,35, +CTSPillarNetworkA,9243,9243,9243,1995-04-23,924.0000000001415,923.92145,2015-01-01 02:34:03,bin9243,75, +CTSPillarNetworkA,9244,9244,9244,1995-04-24,924.1000000001416,924.0214,2015-01-01 02:34:04,bin9244,35, +CTSPillarNetworkA,9245,9245,9245,1995-04-25,924.2000000001416,924.1214,2015-01-01 02:34:05,bin9245,75, +CTSPillarNetworkA,9246,9246,9246,1995-04-26,924.3000000001416,924.2214,2015-01-01 02:34:06,bin9246,35, +CTSPillarNetworkA,9247,9247,9247,1995-04-27,924.4000000001416,924.32135,2015-01-01 02:34:07,bin9247,75, +CTSPillarNetworkA,9248,9248,9248,1995-04-28,924.5000000001417,924.4213,2015-01-01 02:34:08,bin9248,35, +CTSPillarNetworkA,9249,9249,9249,1995-04-29,924.6000000001417,924.5213,2015-01-01 02:34:09,bin9249,75, +CTSPillarNetworkA,9250,9250,9250,1995-04-30,924.7000000001417,924.6213,2015-01-01 02:34:10,bin9250,35, +CTSPillarNetworkA,9251,9251,9251,1995-05-01,924.8000000001417,924.72125,2015-01-01 02:34:11,bin9251,75, +CTSPillarNetworkA,9252,9252,9252,1995-05-02,924.9000000001417,924.8212,2015-01-01 02:34:12,bin9252,35, +CTSPillarNetworkA,9253,9253,9253,1995-05-03,925.0000000001418,924.9212,2015-01-01 02:34:13,bin9253,75, +CTSPillarNetworkA,9254,9254,9254,1995-05-04,925.1000000001418,925.0212,2015-01-01 02:34:14,bin9254,35, +CTSPillarNetworkA,9255,9255,9255,1995-05-05,925.2000000001418,925.12115,2015-01-01 02:34:15,bin9255,75, +CTSPillarNetworkA,9256,9256,9256,1995-05-06,925.3000000001418,925.2211,2015-01-01 02:34:16,bin9256,35, +CTSPillarNetworkA,9257,9257,9257,1995-05-07,925.4000000001419,925.3211,2015-01-01 02:34:17,bin9257,75, +CTSPillarNetworkA,9258,9258,9258,1995-05-08,925.5000000001419,925.4211,2015-01-01 02:34:18,bin9258,35, +CTSPillarNetworkA,9259,9259,9259,1995-05-09,925.6000000001419,925.52106,2015-01-01 02:34:19,bin9259,75, +CTSPillarNetworkA,9260,9260,9260,1995-05-10,925.7000000001419,925.62103,2015-01-01 02:34:20,bin9260,35, +CTSPillarNetworkA,9261,9261,9261,1995-05-11,925.800000000142,925.721,2015-01-01 02:34:21,bin9261,75, +CTSPillarNetworkA,9262,9262,9262,1995-05-12,925.900000000142,925.821,2015-01-01 02:34:22,bin9262,35, +CTSPillarNetworkA,9263,9263,9263,1995-05-13,926.000000000142,925.92096,2015-01-01 02:34:23,bin9263,75, +CTSPillarNetworkA,9264,9264,9264,1995-05-14,926.100000000142,926.02094,2015-01-01 02:34:24,bin9264,35, +CTSPillarNetworkA,9265,9265,9265,1995-05-15,926.200000000142,926.1209,2015-01-01 02:34:25,bin9265,75, +CTSPillarNetworkA,9266,9266,9266,1995-05-16,926.3000000001421,926.2209,2015-01-01 02:34:26,bin9266,35, +CTSPillarNetworkA,9267,9267,9267,1995-05-17,926.4000000001421,926.32086,2015-01-01 02:34:27,bin9267,75, +CTSPillarNetworkA,9268,9268,9268,1995-05-18,926.5000000001421,926.42084,2015-01-01 02:34:28,bin9268,35, +CTSPillarNetworkA,9269,9269,9269,1995-05-19,926.6000000001421,926.5208,2015-01-01 02:34:29,bin9269,75, +CTSPillarNetworkA,9270,9270,9270,1995-05-20,926.7000000001422,926.6208,2015-01-01 02:34:30,bin9270,35, +CTSPillarNetworkA,9271,9271,9271,1995-05-21,926.8000000001422,926.72076,2015-01-01 02:34:31,bin9271,75, +CTSPillarNetworkA,9272,9272,9272,1995-05-22,926.9000000001422,926.82074,2015-01-01 02:34:32,bin9272,35, +CTSPillarNetworkA,9273,9273,9273,1995-05-23,927.0000000001422,926.9207,2015-01-01 02:34:33,bin9273,75, +CTSPillarNetworkA,9274,9274,9274,1995-05-24,927.1000000001422,927.0207,2015-01-01 02:34:34,bin9274,35, +CTSPillarNetworkA,9275,9275,9275,1995-05-25,927.2000000001423,927.12067,2015-01-01 02:34:35,bin9275,75, +CTSPillarNetworkA,9276,9276,9276,1995-05-26,927.3000000001423,927.22064,2015-01-01 02:34:36,bin9276,35, +CTSPillarNetworkA,9277,9277,9277,1995-05-27,927.4000000001423,927.3206,2015-01-01 02:34:37,bin9277,75, +CTSPillarNetworkA,9278,9278,9278,1995-05-28,927.5000000001423,927.4206,2015-01-01 02:34:38,bin9278,35, +CTSPillarNetworkA,9279,9279,9279,1995-05-29,927.6000000001424,927.52057,2015-01-01 02:34:39,bin9279,75, +CTSPillarNetworkA,9280,9280,9280,1995-05-30,927.7000000001424,927.62054,2015-01-01 02:34:40,bin9280,35, +CTSPillarNetworkA,9281,9281,9281,1995-05-31,927.8000000001424,927.7205,2015-01-01 02:34:41,bin9281,75, +CTSPillarNetworkA,9282,9282,9282,1995-06-01,927.9000000001424,927.8205,2015-01-01 02:34:42,bin9282,35, +CTSPillarNetworkA,9283,9283,9283,1995-06-02,928.0000000001424,927.9205,2015-01-01 02:34:43,bin9283,75, +CTSPillarNetworkA,9284,9284,9284,1995-06-03,928.1000000001425,928.02045,2015-01-01 02:34:44,bin9284,35, +CTSPillarNetworkA,9285,9285,9285,1995-06-04,928.2000000001425,928.1204,2015-01-01 02:34:45,bin9285,75, +CTSPillarNetworkA,9286,9286,9286,1995-06-05,928.3000000001425,928.2204,2015-01-01 02:34:46,bin9286,35, +CTSPillarNetworkA,9287,9287,9287,1995-06-06,928.4000000001425,928.3204,2015-01-01 02:34:47,bin9287,75, +CTSPillarNetworkA,9288,9288,9288,1995-06-07,928.5000000001426,928.42035,2015-01-01 02:34:48,bin9288,35, +CTSPillarNetworkA,9289,9289,9289,1995-06-08,928.6000000001426,928.5203,2015-01-01 02:34:49,bin9289,75, +CTSPillarNetworkA,9290,9290,9290,1995-06-09,928.7000000001426,928.6203,2015-01-01 02:34:50,bin9290,35, +CTSPillarNetworkA,9291,9291,9291,1995-06-10,928.8000000001426,928.7203,2015-01-01 02:34:51,bin9291,75, +CTSPillarNetworkA,9292,9292,9292,1995-06-11,928.9000000001427,928.82025,2015-01-01 02:34:52,bin9292,35, +CTSPillarNetworkA,9293,9293,9293,1995-06-12,929.0000000001427,928.9202,2015-01-01 02:34:53,bin9293,75, +CTSPillarNetworkA,9294,9294,9294,1995-06-13,929.1000000001427,929.0202,2015-01-01 02:34:54,bin9294,35, +CTSPillarNetworkA,9295,9295,9295,1995-06-14,929.2000000001427,929.1202,2015-01-01 02:34:55,bin9295,75, +CTSPillarNetworkA,9296,9296,9296,1995-06-15,929.3000000001427,929.22015,2015-01-01 02:34:56,bin9296,35, +CTSPillarNetworkA,9297,9297,9297,1995-06-16,929.4000000001428,929.3201,2015-01-01 02:34:57,bin9297,75, +CTSPillarNetworkA,9298,9298,9298,1995-06-17,929.5000000001428,929.4201,2015-01-01 02:34:58,bin9298,35, +CTSPillarNetworkA,9299,9299,9299,1995-06-18,929.6000000001428,929.5201,2015-01-01 02:34:59,bin9299,75, +CTSPillarNetworkA,9300,9300,9300,1995-06-19,929.7000000001428,929.62006,2015-01-01 02:35:00,bin9300,35, +CTSPillarNetworkA,9301,9301,9301,1995-06-20,929.8000000001429,929.72003,2015-01-01 02:35:01,bin9301,75, +CTSPillarNetworkA,9302,9302,9302,1995-06-21,929.9000000001429,929.82,2015-01-01 02:35:02,bin9302,35, +CTSPillarNetworkA,9303,9303,9303,1995-06-22,930.0000000001429,929.92,2015-01-01 02:35:03,bin9303,75, +CTSPillarNetworkA,9304,9304,9304,1995-06-23,930.1000000001429,930.01996,2015-01-01 02:35:04,bin9304,35, +CTSPillarNetworkA,9305,9305,9305,1995-06-24,930.200000000143,930.11993,2015-01-01 02:35:05,bin9305,75, +CTSPillarNetworkA,9306,9306,9306,1995-06-25,930.300000000143,930.2199,2015-01-01 02:35:06,bin9306,35, +CTSPillarNetworkA,9307,9307,9307,1995-06-26,930.400000000143,930.3199,2015-01-01 02:35:07,bin9307,75, +CTSPillarNetworkA,9308,9308,9308,1995-06-27,930.500000000143,930.41986,2015-01-01 02:35:08,bin9308,35, +CTSPillarNetworkA,9309,9309,9309,1995-06-28,930.600000000143,930.51984,2015-01-01 02:35:09,bin9309,75, +CTSPillarNetworkA,9310,9310,9310,1995-06-29,930.7000000001431,930.6198,2015-01-01 02:35:10,bin9310,35, +CTSPillarNetworkA,9311,9311,9311,1995-06-30,930.8000000001431,930.7198,2015-01-01 02:35:11,bin9311,75, +CTSPillarNetworkA,9312,9312,9312,1995-07-01,930.9000000001431,930.81976,2015-01-01 02:35:12,bin9312,35, +CTSPillarNetworkA,9313,9313,9313,1995-07-02,931.0000000001431,930.91974,2015-01-01 02:35:13,bin9313,75, +CTSPillarNetworkA,9314,9314,9314,1995-07-03,931.1000000001432,931.0197,2015-01-01 02:35:14,bin9314,35, +CTSPillarNetworkA,9315,9315,9315,1995-07-04,931.2000000001432,931.1197,2015-01-01 02:35:15,bin9315,75, +CTSPillarNetworkA,9316,9316,9316,1995-07-05,931.3000000001432,931.21967,2015-01-01 02:35:16,bin9316,35, +CTSPillarNetworkA,9317,9317,9317,1995-07-06,931.4000000001432,931.31964,2015-01-01 02:35:17,bin9317,75, +CTSPillarNetworkA,9318,9318,9318,1995-07-07,931.5000000001432,931.4196,2015-01-01 02:35:18,bin9318,35, +CTSPillarNetworkA,9319,9319,9319,1995-07-08,931.6000000001433,931.5196,2015-01-01 02:35:19,bin9319,75, +CTSPillarNetworkA,9320,9320,9320,1995-07-09,931.7000000001433,931.61957,2015-01-01 02:35:20,bin9320,35, +CTSPillarNetworkA,9321,9321,9321,1995-07-10,931.8000000001433,931.71954,2015-01-01 02:35:21,bin9321,75, +CTSPillarNetworkA,9322,9322,9322,1995-07-11,931.9000000001433,931.8195,2015-01-01 02:35:22,bin9322,35, +CTSPillarNetworkA,9323,9323,9323,1995-07-12,932.0000000001434,931.9195,2015-01-01 02:35:23,bin9323,75, +CTSPillarNetworkA,9324,9324,9324,1995-07-13,932.1000000001434,932.0195,2015-01-01 02:35:24,bin9324,35, +CTSPillarNetworkA,9325,9325,9325,1995-07-14,932.2000000001434,932.11945,2015-01-01 02:35:25,bin9325,75, +CTSPillarNetworkA,9326,9326,9326,1995-07-15,932.3000000001434,932.2194,2015-01-01 02:35:26,bin9326,35, +CTSPillarNetworkA,9327,9327,9327,1995-07-16,932.4000000001435,932.3194,2015-01-01 02:35:27,bin9327,75, +CTSPillarNetworkA,9328,9328,9328,1995-07-17,932.5000000001435,932.4194,2015-01-01 02:35:28,bin9328,35, +CTSPillarNetworkA,9329,9329,9329,1995-07-18,932.6000000001435,932.51935,2015-01-01 02:35:29,bin9329,75, +CTSPillarNetworkA,9330,9330,9330,1995-07-19,932.7000000001435,932.6193,2015-01-01 02:35:30,bin9330,35, +CTSPillarNetworkA,9331,9331,9331,1995-07-20,932.8000000001435,932.7193,2015-01-01 02:35:31,bin9331,75, +CTSPillarNetworkA,9332,9332,9332,1995-07-21,932.9000000001436,932.8193,2015-01-01 02:35:32,bin9332,35, +CTSPillarNetworkA,9333,9333,9333,1995-07-22,933.0000000001436,932.91925,2015-01-01 02:35:33,bin9333,75, +CTSPillarNetworkA,9334,9334,9334,1995-07-23,933.1000000001436,933.0192,2015-01-01 02:35:34,bin9334,35, +CTSPillarNetworkA,9335,9335,9335,1995-07-24,933.2000000001436,933.1192,2015-01-01 02:35:35,bin9335,75, +CTSPillarNetworkA,9336,9336,9336,1995-07-25,933.3000000001437,933.2192,2015-01-01 02:35:36,bin9336,35, +CTSPillarNetworkA,9337,9337,9337,1995-07-26,933.4000000001437,933.31915,2015-01-01 02:35:37,bin9337,75, +CTSPillarNetworkA,9338,9338,9338,1995-07-27,933.5000000001437,933.4191,2015-01-01 02:35:38,bin9338,35, +CTSPillarNetworkA,9339,9339,9339,1995-07-28,933.6000000001437,933.5191,2015-01-01 02:35:39,bin9339,75, +CTSPillarNetworkA,9340,9340,9340,1995-07-29,933.7000000001437,933.6191,2015-01-01 02:35:40,bin9340,35, +CTSPillarNetworkA,9341,9341,9341,1995-07-30,933.8000000001438,933.71906,2015-01-01 02:35:41,bin9341,75, +CTSPillarNetworkA,9342,9342,9342,1995-07-31,933.9000000001438,933.81903,2015-01-01 02:35:42,bin9342,35, +CTSPillarNetworkA,9343,9343,9343,1995-08-01,934.0000000001438,933.919,2015-01-01 02:35:43,bin9343,75, +CTSPillarNetworkA,9344,9344,9344,1995-08-02,934.1000000001438,934.019,2015-01-01 02:35:44,bin9344,35, +CTSPillarNetworkA,9345,9345,9345,1995-08-03,934.2000000001439,934.11896,2015-01-01 02:35:45,bin9345,75, +CTSPillarNetworkA,9346,9346,9346,1995-08-04,934.3000000001439,934.21893,2015-01-01 02:35:46,bin9346,35, +CTSPillarNetworkA,9347,9347,9347,1995-08-05,934.4000000001439,934.3189,2015-01-01 02:35:47,bin9347,75, +CTSPillarNetworkA,9348,9348,9348,1995-08-06,934.5000000001439,934.4189,2015-01-01 02:35:48,bin9348,35, +CTSPillarNetworkA,9349,9349,9349,1995-08-07,934.600000000144,934.51886,2015-01-01 02:35:49,bin9349,75, +CTSPillarNetworkA,9350,9350,9350,1995-08-08,934.700000000144,934.61884,2015-01-01 02:35:50,bin9350,35, +CTSPillarNetworkA,9351,9351,9351,1995-08-09,934.800000000144,934.7188,2015-01-01 02:35:51,bin9351,75, +CTSPillarNetworkA,9352,9352,9352,1995-08-10,934.900000000144,934.8188,2015-01-01 02:35:52,bin9352,35, +CTSPillarNetworkA,9353,9353,9353,1995-08-11,935.000000000144,934.91876,2015-01-01 02:35:53,bin9353,75, +CTSPillarNetworkA,9354,9354,9354,1995-08-12,935.1000000001441,935.01874,2015-01-01 02:35:54,bin9354,35, +CTSPillarNetworkA,9355,9355,9355,1995-08-13,935.2000000001441,935.1187,2015-01-01 02:35:55,bin9355,75, +CTSPillarNetworkA,9356,9356,9356,1995-08-14,935.3000000001441,935.2187,2015-01-01 02:35:56,bin9356,35, +CTSPillarNetworkA,9357,9357,9357,1995-08-15,935.4000000001441,935.31866,2015-01-01 02:35:57,bin9357,75, +CTSPillarNetworkA,9358,9358,9358,1995-08-16,935.5000000001442,935.41864,2015-01-01 02:35:58,bin9358,35, +CTSPillarNetworkA,9359,9359,9359,1995-08-17,935.6000000001442,935.5186,2015-01-01 02:35:59,bin9359,75, +CTSPillarNetworkA,9360,9360,9360,1995-08-18,935.7000000001442,935.6186,2015-01-01 02:36:00,bin9360,35, +CTSPillarNetworkA,9361,9361,9361,1995-08-19,935.8000000001442,935.71857,2015-01-01 02:36:01,bin9361,75, +CTSPillarNetworkA,9362,9362,9362,1995-08-20,935.9000000001442,935.81854,2015-01-01 02:36:02,bin9362,35, +CTSPillarNetworkA,9363,9363,9363,1995-08-21,936.0000000001443,935.9185,2015-01-01 02:36:03,bin9363,75, +CTSPillarNetworkA,9364,9364,9364,1995-08-22,936.1000000001443,936.0185,2015-01-01 02:36:04,bin9364,35, +CTSPillarNetworkA,9365,9365,9365,1995-08-23,936.2000000001443,936.11847,2015-01-01 02:36:05,bin9365,75, +CTSPillarNetworkA,9366,9366,9366,1995-08-24,936.3000000001443,936.21844,2015-01-01 02:36:06,bin9366,35, +CTSPillarNetworkA,9367,9367,9367,1995-08-25,936.4000000001444,936.3184,2015-01-01 02:36:07,bin9367,75, +CTSPillarNetworkA,9368,9368,9368,1995-08-26,936.5000000001444,936.4184,2015-01-01 02:36:08,bin9368,35, +CTSPillarNetworkA,9369,9369,9369,1995-08-27,936.6000000001444,936.5184,2015-01-01 02:36:09,bin9369,75, +CTSPillarNetworkA,9370,9370,9370,1995-08-28,936.7000000001444,936.61835,2015-01-01 02:36:10,bin9370,35, +CTSPillarNetworkA,9371,9371,9371,1995-08-29,936.8000000001445,936.7183,2015-01-01 02:36:11,bin9371,75, +CTSPillarNetworkA,9372,9372,9372,1995-08-30,936.9000000001445,936.8183,2015-01-01 02:36:12,bin9372,35, +CTSPillarNetworkA,9373,9373,9373,1995-08-31,937.0000000001445,936.9183,2015-01-01 02:36:13,bin9373,75, +CTSPillarNetworkA,9374,9374,9374,1995-09-01,937.1000000001445,937.01825,2015-01-01 02:36:14,bin9374,35, +CTSPillarNetworkA,9375,9375,9375,1995-09-02,937.2000000001445,937.1182,2015-01-01 02:36:15,bin9375,75, +CTSPillarNetworkA,9376,9376,9376,1995-09-03,937.3000000001446,937.2182,2015-01-01 02:36:16,bin9376,35, +CTSPillarNetworkA,9377,9377,9377,1995-09-04,937.4000000001446,937.3182,2015-01-01 02:36:17,bin9377,75, +CTSPillarNetworkA,9378,9378,9378,1995-09-05,937.5000000001446,937.41815,2015-01-01 02:36:18,bin9378,35, +CTSPillarNetworkA,9379,9379,9379,1995-09-06,937.6000000001446,937.5181,2015-01-01 02:36:19,bin9379,75, +CTSPillarNetworkA,9380,9380,9380,1995-09-07,937.7000000001447,937.6181,2015-01-01 02:36:20,bin9380,35, +CTSPillarNetworkA,9381,9381,9381,1995-09-08,937.8000000001447,937.7181,2015-01-01 02:36:21,bin9381,75, +CTSPillarNetworkA,9382,9382,9382,1995-09-09,937.9000000001447,937.81805,2015-01-01 02:36:22,bin9382,35, +CTSPillarNetworkA,9383,9383,9383,1995-09-10,938.0000000001447,937.918,2015-01-01 02:36:23,bin9383,75, +CTSPillarNetworkA,9384,9384,9384,1995-09-11,938.1000000001447,938.018,2015-01-01 02:36:24,bin9384,35, +CTSPillarNetworkA,9385,9385,9385,1995-09-12,938.2000000001448,938.118,2015-01-01 02:36:25,bin9385,75, +CTSPillarNetworkA,9386,9386,9386,1995-09-13,938.3000000001448,938.21796,2015-01-01 02:36:26,bin9386,35, +CTSPillarNetworkA,9387,9387,9387,1995-09-14,938.4000000001448,938.31793,2015-01-01 02:36:27,bin9387,75, +CTSPillarNetworkA,9388,9388,9388,1995-09-15,938.5000000001448,938.4179,2015-01-01 02:36:28,bin9388,35, +CTSPillarNetworkA,9389,9389,9389,1995-09-16,938.6000000001449,938.5179,2015-01-01 02:36:29,bin9389,75, +CTSPillarNetworkA,9390,9390,9390,1995-09-17,938.7000000001449,938.61786,2015-01-01 02:36:30,bin9390,35, +CTSPillarNetworkA,9391,9391,9391,1995-09-18,938.8000000001449,938.71783,2015-01-01 02:36:31,bin9391,75, +CTSPillarNetworkA,9392,9392,9392,1995-09-19,938.9000000001449,938.8178,2015-01-01 02:36:32,bin9392,35, +CTSPillarNetworkA,9393,9393,9393,1995-09-20,939.000000000145,938.9178,2015-01-01 02:36:33,bin9393,75, +CTSPillarNetworkA,9394,9394,9394,1995-09-21,939.100000000145,939.01776,2015-01-01 02:36:34,bin9394,35, +CTSPillarNetworkA,9395,9395,9395,1995-09-22,939.200000000145,939.11774,2015-01-01 02:36:35,bin9395,75, +CTSPillarNetworkA,9396,9396,9396,1995-09-23,939.300000000145,939.2177,2015-01-01 02:36:36,bin9396,35, +CTSPillarNetworkA,9397,9397,9397,1995-09-24,939.400000000145,939.3177,2015-01-01 02:36:37,bin9397,75, +CTSPillarNetworkA,9398,9398,9398,1995-09-25,939.5000000001451,939.41766,2015-01-01 02:36:38,bin9398,35, +CTSPillarNetworkA,9399,9399,9399,1995-09-26,939.6000000001451,939.51764,2015-01-01 02:36:39,bin9399,75, +CTSPillarNetworkA,9400,9400,9400,1995-09-27,939.7000000001451,939.6176,2015-01-01 02:36:40,bin9400,35, +CTSPillarNetworkA,9401,9401,9401,1995-09-28,939.8000000001451,939.7176,2015-01-01 02:36:41,bin9401,75, +CTSPillarNetworkA,9402,9402,9402,1995-09-29,939.9000000001452,939.81757,2015-01-01 02:36:42,bin9402,35, +CTSPillarNetworkA,9403,9403,9403,1995-09-30,940.0000000001452,939.91754,2015-01-01 02:36:43,bin9403,75, +CTSPillarNetworkA,9404,9404,9404,1995-10-01,940.1000000001452,940.0175,2015-01-01 02:36:44,bin9404,35, +CTSPillarNetworkA,9405,9405,9405,1995-10-02,940.2000000001452,940.1175,2015-01-01 02:36:45,bin9405,75, +CTSPillarNetworkA,9406,9406,9406,1995-10-03,940.3000000001452,940.21747,2015-01-01 02:36:46,bin9406,35, +CTSPillarNetworkA,9407,9407,9407,1995-10-04,940.4000000001453,940.31744,2015-01-01 02:36:47,bin9407,75, +CTSPillarNetworkA,9408,9408,9408,1995-10-05,940.5000000001453,940.4174,2015-01-01 02:36:48,bin9408,35, +CTSPillarNetworkA,9409,9409,9409,1995-10-06,940.6000000001453,940.5174,2015-01-01 02:36:49,bin9409,75, +CTSPillarNetworkA,9410,9410,9410,1995-10-07,940.7000000001453,940.6174,2015-01-01 02:36:50,bin9410,35, +CTSPillarNetworkA,9411,9411,9411,1995-10-08,940.8000000001454,940.71735,2015-01-01 02:36:51,bin9411,75, +CTSPillarNetworkA,9412,9412,9412,1995-10-09,940.9000000001454,940.8173,2015-01-01 02:36:52,bin9412,35, +CTSPillarNetworkA,9413,9413,9413,1995-10-10,941.0000000001454,940.9173,2015-01-01 02:36:53,bin9413,75, +CTSPillarNetworkA,9414,9414,9414,1995-10-11,941.1000000001454,941.0173,2015-01-01 02:36:54,bin9414,35, +CTSPillarNetworkA,9415,9415,9415,1995-10-12,941.2000000001455,941.11725,2015-01-01 02:36:55,bin9415,75, +CTSPillarNetworkA,9416,9416,9416,1995-10-13,941.3000000001455,941.2172,2015-01-01 02:36:56,bin9416,35, +CTSPillarNetworkA,9417,9417,9417,1995-10-14,941.4000000001455,941.3172,2015-01-01 02:36:57,bin9417,75, +CTSPillarNetworkA,9418,9418,9418,1995-10-15,941.5000000001455,941.4172,2015-01-01 02:36:58,bin9418,35, +CTSPillarNetworkA,9419,9419,9419,1995-10-16,941.6000000001455,941.51715,2015-01-01 02:36:59,bin9419,75, +CTSPillarNetworkA,9420,9420,9420,1995-10-17,941.7000000001456,941.6171,2015-01-01 02:37:00,bin9420,35, +CTSPillarNetworkA,9421,9421,9421,1995-10-18,941.8000000001456,941.7171,2015-01-01 02:37:01,bin9421,75, +CTSPillarNetworkA,9422,9422,9422,1995-10-19,941.9000000001456,941.8171,2015-01-01 02:37:02,bin9422,35, +CTSPillarNetworkA,9423,9423,9423,1995-10-20,942.0000000001456,941.91705,2015-01-01 02:37:03,bin9423,75, +CTSPillarNetworkA,9424,9424,9424,1995-10-21,942.1000000001457,942.017,2015-01-01 02:37:04,bin9424,35, +CTSPillarNetworkA,9425,9425,9425,1995-10-22,942.2000000001457,942.117,2015-01-01 02:37:05,bin9425,75, +CTSPillarNetworkA,9426,9426,9426,1995-10-23,942.3000000001457,942.217,2015-01-01 02:37:06,bin9426,35, +CTSPillarNetworkA,9427,9427,9427,1995-10-24,942.4000000001457,942.31696,2015-01-01 02:37:07,bin9427,75, +CTSPillarNetworkA,9428,9428,9428,1995-10-25,942.5000000001457,942.41693,2015-01-01 02:37:08,bin9428,35, +CTSPillarNetworkA,9429,9429,9429,1995-10-26,942.6000000001458,942.5169,2015-01-01 02:37:09,bin9429,75, +CTSPillarNetworkA,9430,9430,9430,1995-10-27,942.7000000001458,942.6169,2015-01-01 02:37:10,bin9430,35, +CTSPillarNetworkA,9431,9431,9431,1995-10-28,942.8000000001458,942.71686,2015-01-01 02:37:11,bin9431,75, +CTSPillarNetworkA,9432,9432,9432,1995-10-29,942.9000000001458,942.81683,2015-01-01 02:37:12,bin9432,35, +CTSPillarNetworkA,9433,9433,9433,1995-10-30,943.0000000001459,942.9168,2015-01-01 02:37:13,bin9433,75, +CTSPillarNetworkA,9434,9434,9434,1995-10-31,943.1000000001459,943.0168,2015-01-01 02:37:14,bin9434,35, +CTSPillarNetworkA,9435,9435,9435,1995-11-01,943.2000000001459,943.11676,2015-01-01 02:37:15,bin9435,75, +CTSPillarNetworkA,9436,9436,9436,1995-11-02,943.3000000001459,943.21674,2015-01-01 02:37:16,bin9436,35, +CTSPillarNetworkA,9437,9437,9437,1995-11-03,943.400000000146,943.3167,2015-01-01 02:37:17,bin9437,75, +CTSPillarNetworkA,9438,9438,9438,1995-11-04,943.500000000146,943.4167,2015-01-01 02:37:18,bin9438,35, +CTSPillarNetworkA,9439,9439,9439,1995-11-05,943.600000000146,943.51666,2015-01-01 02:37:19,bin9439,75, +CTSPillarNetworkA,9440,9440,9440,1995-11-06,943.700000000146,943.61664,2015-01-01 02:37:20,bin9440,35, +CTSPillarNetworkA,9441,9441,9441,1995-11-07,943.800000000146,943.7166,2015-01-01 02:37:21,bin9441,75, +CTSPillarNetworkA,9442,9442,9442,1995-11-08,943.9000000001461,943.8166,2015-01-01 02:37:22,bin9442,35, +CTSPillarNetworkA,9443,9443,9443,1995-11-09,944.0000000001461,943.91656,2015-01-01 02:37:23,bin9443,75, +CTSPillarNetworkA,9444,9444,9444,1995-11-10,944.1000000001461,944.01654,2015-01-01 02:37:24,bin9444,35, +CTSPillarNetworkA,9445,9445,9445,1995-11-11,944.2000000001461,944.1165,2015-01-01 02:37:25,bin9445,75, +CTSPillarNetworkA,9446,9446,9446,1995-11-12,944.3000000001462,944.2165,2015-01-01 02:37:26,bin9446,35, +CTSPillarNetworkA,9447,9447,9447,1995-11-13,944.4000000001462,944.31647,2015-01-01 02:37:27,bin9447,75, +CTSPillarNetworkA,9448,9448,9448,1995-11-14,944.5000000001462,944.41644,2015-01-01 02:37:28,bin9448,35, +CTSPillarNetworkA,9449,9449,9449,1995-11-15,944.6000000001462,944.5164,2015-01-01 02:37:29,bin9449,75, +CTSPillarNetworkA,9450,9450,9450,1995-11-16,944.7000000001462,944.6164,2015-01-01 02:37:30,bin9450,35, +CTSPillarNetworkA,9451,9451,9451,1995-11-17,944.8000000001463,944.7164,2015-01-01 02:37:31,bin9451,75, +CTSPillarNetworkA,9452,9452,9452,1995-11-18,944.9000000001463,944.81635,2015-01-01 02:37:32,bin9452,35, +CTSPillarNetworkA,9453,9453,9453,1995-11-19,945.0000000001463,944.9163,2015-01-01 02:37:33,bin9453,75, +CTSPillarNetworkA,9454,9454,9454,1995-11-20,945.1000000001463,945.0163,2015-01-01 02:37:34,bin9454,35, +CTSPillarNetworkA,9455,9455,9455,1995-11-21,945.2000000001464,945.1163,2015-01-01 02:37:35,bin9455,75, +CTSPillarNetworkA,9456,9456,9456,1995-11-22,945.3000000001464,945.21625,2015-01-01 02:37:36,bin9456,35, +CTSPillarNetworkA,9457,9457,9457,1995-11-23,945.4000000001464,945.3162,2015-01-01 02:37:37,bin9457,75, +CTSPillarNetworkA,9458,9458,9458,1995-11-24,945.5000000001464,945.4162,2015-01-01 02:37:38,bin9458,35, +CTSPillarNetworkA,9459,9459,9459,1995-11-25,945.6000000001465,945.5162,2015-01-01 02:37:39,bin9459,75, +CTSPillarNetworkA,9460,9460,9460,1995-11-26,945.7000000001465,945.61615,2015-01-01 02:37:40,bin9460,35, +CTSPillarNetworkA,9461,9461,9461,1995-11-27,945.8000000001465,945.7161,2015-01-01 02:37:41,bin9461,75, +CTSPillarNetworkA,9462,9462,9462,1995-11-28,945.9000000001465,945.8161,2015-01-01 02:37:42,bin9462,35, +CTSPillarNetworkA,9463,9463,9463,1995-11-29,946.0000000001465,945.9161,2015-01-01 02:37:43,bin9463,75, +CTSPillarNetworkA,9464,9464,9464,1995-11-30,946.1000000001466,946.01605,2015-01-01 02:37:44,bin9464,35, +CTSPillarNetworkA,9465,9465,9465,1995-12-01,946.2000000001466,946.116,2015-01-01 02:37:45,bin9465,75, +CTSPillarNetworkA,9466,9466,9466,1995-12-02,946.3000000001466,946.216,2015-01-01 02:37:46,bin9466,35, +CTSPillarNetworkA,9467,9467,9467,1995-12-03,946.4000000001466,946.316,2015-01-01 02:37:47,bin9467,75, +CTSPillarNetworkA,9468,9468,9468,1995-12-04,946.5000000001467,946.41595,2015-01-01 02:37:48,bin9468,35, +CTSPillarNetworkA,9469,9469,9469,1995-12-05,946.6000000001467,946.5159,2015-01-01 02:37:49,bin9469,75, +CTSPillarNetworkA,9470,9470,9470,1995-12-06,946.7000000001467,946.6159,2015-01-01 02:37:50,bin9470,35, +CTSPillarNetworkA,9471,9471,9471,1995-12-07,946.8000000001467,946.7159,2015-01-01 02:37:51,bin9471,75, +CTSPillarNetworkA,9472,9472,9472,1995-12-08,946.9000000001467,946.81586,2015-01-01 02:37:52,bin9472,35, +CTSPillarNetworkA,9473,9473,9473,1995-12-09,947.0000000001468,946.91583,2015-01-01 02:37:53,bin9473,75, +CTSPillarNetworkA,9474,9474,9474,1995-12-10,947.1000000001468,947.0158,2015-01-01 02:37:54,bin9474,35, +CTSPillarNetworkA,9475,9475,9475,1995-12-11,947.2000000001468,947.1158,2015-01-01 02:37:55,bin9475,75, +CTSPillarNetworkA,9476,9476,9476,1995-12-12,947.3000000001468,947.21576,2015-01-01 02:37:56,bin9476,35, +CTSPillarNetworkA,9477,9477,9477,1995-12-13,947.4000000001469,947.31573,2015-01-01 02:37:57,bin9477,75, +CTSPillarNetworkA,9478,9478,9478,1995-12-14,947.5000000001469,947.4157,2015-01-01 02:37:58,bin9478,35, +CTSPillarNetworkA,9479,9479,9479,1995-12-15,947.6000000001469,947.5157,2015-01-01 02:37:59,bin9479,75, +CTSPillarNetworkA,9480,9480,9480,1995-12-16,947.7000000001469,947.61566,2015-01-01 02:38:00,bin9480,35, +CTSPillarNetworkA,9481,9481,9481,1995-12-17,947.800000000147,947.71564,2015-01-01 02:38:01,bin9481,75, +CTSPillarNetworkA,9482,9482,9482,1995-12-18,947.900000000147,947.8156,2015-01-01 02:38:02,bin9482,35, +CTSPillarNetworkA,9483,9483,9483,1995-12-19,948.000000000147,947.9156,2015-01-01 02:38:03,bin9483,75, +CTSPillarNetworkA,9484,9484,9484,1995-12-20,948.100000000147,948.01556,2015-01-01 02:38:04,bin9484,35, +CTSPillarNetworkA,9485,9485,9485,1995-12-21,948.200000000147,948.11554,2015-01-01 02:38:05,bin9485,75, +CTSPillarNetworkA,9486,9486,9486,1995-12-22,948.3000000001471,948.2155,2015-01-01 02:38:06,bin9486,35, +CTSPillarNetworkA,9487,9487,9487,1995-12-23,948.4000000001471,948.3155,2015-01-01 02:38:07,bin9487,75, +CTSPillarNetworkA,9488,9488,9488,1995-12-24,948.5000000001471,948.41547,2015-01-01 02:38:08,bin9488,35, +CTSPillarNetworkA,9489,9489,9489,1995-12-25,948.6000000001471,948.51544,2015-01-01 02:38:09,bin9489,75, +CTSPillarNetworkA,9490,9490,9490,1995-12-26,948.7000000001472,948.6154,2015-01-01 02:38:10,bin9490,35, +CTSPillarNetworkA,9491,9491,9491,1995-12-27,948.8000000001472,948.7154,2015-01-01 02:38:11,bin9491,75, +CTSPillarNetworkA,9492,9492,9492,1995-12-28,948.9000000001472,948.81537,2015-01-01 02:38:12,bin9492,35, +CTSPillarNetworkA,9493,9493,9493,1995-12-29,949.0000000001472,948.91534,2015-01-01 02:38:13,bin9493,75, +CTSPillarNetworkA,9494,9494,9494,1995-12-30,949.1000000001472,949.0153,2015-01-01 02:38:14,bin9494,35, +CTSPillarNetworkA,9495,9495,9495,1995-12-31,949.2000000001473,949.1153,2015-01-01 02:38:15,bin9495,75, +CTSPillarNetworkA,9496,9496,9496,1996-01-01,949.3000000001473,949.2153,2015-01-01 02:38:16,bin9496,35, +CTSPillarNetworkA,9497,9497,9497,1996-01-02,949.4000000001473,949.31525,2015-01-01 02:38:17,bin9497,75, +CTSPillarNetworkA,9498,9498,9498,1996-01-03,949.5000000001473,949.4152,2015-01-01 02:38:18,bin9498,35, +CTSPillarNetworkA,9499,9499,9499,1996-01-04,949.6000000001474,949.5152,2015-01-01 02:38:19,bin9499,75, +CTSPillarNetworkA,9500,9500,9500,1996-01-05,949.7000000001474,949.6152,2015-01-01 02:38:20,bin9500,35, +CTSPillarNetworkA,9501,9501,9501,1996-01-06,949.8000000001474,949.71515,2015-01-01 02:38:21,bin9501,75, +CTSPillarNetworkA,9502,9502,9502,1996-01-07,949.9000000001474,949.8151,2015-01-01 02:38:22,bin9502,35, +CTSPillarNetworkA,9503,9503,9503,1996-01-08,950.0000000001475,949.9151,2015-01-01 02:38:23,bin9503,75, +CTSPillarNetworkA,9504,9504,9504,1996-01-09,950.1000000001475,950.0151,2015-01-01 02:38:24,bin9504,35, +CTSPillarNetworkA,9505,9505,9505,1996-01-10,950.2000000001475,950.11505,2015-01-01 02:38:25,bin9505,75, +CTSPillarNetworkA,9506,9506,9506,1996-01-11,950.3000000001475,950.215,2015-01-01 02:38:26,bin9506,35, +CTSPillarNetworkA,9507,9507,9507,1996-01-12,950.4000000001475,950.315,2015-01-01 02:38:27,bin9507,75, +CTSPillarNetworkA,9508,9508,9508,1996-01-13,950.5000000001476,950.415,2015-01-01 02:38:28,bin9508,35, +CTSPillarNetworkA,9509,9509,9509,1996-01-14,950.6000000001476,950.51495,2015-01-01 02:38:29,bin9509,75, +CTSPillarNetworkA,9510,9510,9510,1996-01-15,950.7000000001476,950.6149,2015-01-01 02:38:30,bin9510,35, +CTSPillarNetworkA,9511,9511,9511,1996-01-16,950.8000000001476,950.7149,2015-01-01 02:38:31,bin9511,75, +CTSPillarNetworkA,9512,9512,9512,1996-01-17,950.9000000001477,950.8149,2015-01-01 02:38:32,bin9512,35, +CTSPillarNetworkA,9513,9513,9513,1996-01-18,951.0000000001477,950.91486,2015-01-01 02:38:33,bin9513,75, +CTSPillarNetworkA,9514,9514,9514,1996-01-19,951.1000000001477,951.01483,2015-01-01 02:38:34,bin9514,35, +CTSPillarNetworkA,9515,9515,9515,1996-01-20,951.2000000001477,951.1148,2015-01-01 02:38:35,bin9515,75, +CTSPillarNetworkA,9516,9516,9516,1996-01-21,951.3000000001477,951.2148,2015-01-01 02:38:36,bin9516,35, +CTSPillarNetworkA,9517,9517,9517,1996-01-22,951.4000000001478,951.31476,2015-01-01 02:38:37,bin9517,75, +CTSPillarNetworkA,9518,9518,9518,1996-01-23,951.5000000001478,951.41473,2015-01-01 02:38:38,bin9518,35, +CTSPillarNetworkA,9519,9519,9519,1996-01-24,951.6000000001478,951.5147,2015-01-01 02:38:39,bin9519,75, +CTSPillarNetworkA,9520,9520,9520,1996-01-25,951.7000000001478,951.6147,2015-01-01 02:38:40,bin9520,35, +CTSPillarNetworkA,9521,9521,9521,1996-01-26,951.8000000001479,951.71466,2015-01-01 02:38:41,bin9521,75, +CTSPillarNetworkA,9522,9522,9522,1996-01-27,951.9000000001479,951.81464,2015-01-01 02:38:42,bin9522,35, +CTSPillarNetworkA,9523,9523,9523,1996-01-28,952.0000000001479,951.9146,2015-01-01 02:38:43,bin9523,75, +CTSPillarNetworkA,9524,9524,9524,1996-01-29,952.1000000001479,952.0146,2015-01-01 02:38:44,bin9524,35, +CTSPillarNetworkA,9525,9525,9525,1996-01-30,952.200000000148,952.11456,2015-01-01 02:38:45,bin9525,75, +CTSPillarNetworkA,9526,9526,9526,1996-01-31,952.300000000148,952.21454,2015-01-01 02:38:46,bin9526,35, +CTSPillarNetworkA,9527,9527,9527,1996-02-01,952.400000000148,952.3145,2015-01-01 02:38:47,bin9527,75, +CTSPillarNetworkA,9528,9528,9528,1996-02-02,952.500000000148,952.4145,2015-01-01 02:38:48,bin9528,35, +CTSPillarNetworkA,9529,9529,9529,1996-02-03,952.600000000148,952.51447,2015-01-01 02:38:49,bin9529,75, +CTSPillarNetworkA,9530,9530,9530,1996-02-04,952.7000000001481,952.61444,2015-01-01 02:38:50,bin9530,35, +CTSPillarNetworkA,9531,9531,9531,1996-02-05,952.8000000001481,952.7144,2015-01-01 02:38:51,bin9531,75, +CTSPillarNetworkA,9532,9532,9532,1996-02-06,952.9000000001481,952.8144,2015-01-01 02:38:52,bin9532,35, +CTSPillarNetworkA,9533,9533,9533,1996-02-07,953.0000000001481,952.91437,2015-01-01 02:38:53,bin9533,75, +CTSPillarNetworkA,9534,9534,9534,1996-02-08,953.1000000001482,953.01434,2015-01-01 02:38:54,bin9534,35, +CTSPillarNetworkA,9535,9535,9535,1996-02-09,953.2000000001482,953.1143,2015-01-01 02:38:55,bin9535,75, +CTSPillarNetworkA,9536,9536,9536,1996-02-10,953.3000000001482,953.2143,2015-01-01 02:38:56,bin9536,35, +CTSPillarNetworkA,9537,9537,9537,1996-02-11,953.4000000001482,953.3143,2015-01-01 02:38:57,bin9537,75, +CTSPillarNetworkA,9538,9538,9538,1996-02-12,953.5000000001482,953.41425,2015-01-01 02:38:58,bin9538,35, +CTSPillarNetworkA,9539,9539,9539,1996-02-13,953.6000000001483,953.5142,2015-01-01 02:38:59,bin9539,75, +CTSPillarNetworkA,9540,9540,9540,1996-02-14,953.7000000001483,953.6142,2015-01-01 02:39:00,bin9540,35, +CTSPillarNetworkA,9541,9541,9541,1996-02-15,953.8000000001483,953.7142,2015-01-01 02:39:01,bin9541,75, +CTSPillarNetworkA,9542,9542,9542,1996-02-16,953.9000000001483,953.81415,2015-01-01 02:39:02,bin9542,35, +CTSPillarNetworkA,9543,9543,9543,1996-02-17,954.0000000001484,953.9141,2015-01-01 02:39:03,bin9543,75, +CTSPillarNetworkA,9544,9544,9544,1996-02-18,954.1000000001484,954.0141,2015-01-01 02:39:04,bin9544,35, +CTSPillarNetworkA,9545,9545,9545,1996-02-19,954.2000000001484,954.1141,2015-01-01 02:39:05,bin9545,75, +CTSPillarNetworkA,9546,9546,9546,1996-02-20,954.3000000001484,954.21405,2015-01-01 02:39:06,bin9546,35, +CTSPillarNetworkA,9547,9547,9547,1996-02-21,954.4000000001485,954.314,2015-01-01 02:39:07,bin9547,75, +CTSPillarNetworkA,9548,9548,9548,1996-02-22,954.5000000001485,954.414,2015-01-01 02:39:08,bin9548,35, +CTSPillarNetworkA,9549,9549,9549,1996-02-23,954.6000000001485,954.514,2015-01-01 02:39:09,bin9549,75, +CTSPillarNetworkA,9550,9550,9550,1996-02-24,954.7000000001485,954.61395,2015-01-01 02:39:10,bin9550,35, +CTSPillarNetworkA,9551,9551,9551,1996-02-25,954.8000000001485,954.7139,2015-01-01 02:39:11,bin9551,75, +CTSPillarNetworkA,9552,9552,9552,1996-02-26,954.9000000001486,954.8139,2015-01-01 02:39:12,bin9552,35, +CTSPillarNetworkA,9553,9553,9553,1996-02-27,955.0000000001486,954.9139,2015-01-01 02:39:13,bin9553,75, +CTSPillarNetworkA,9554,9554,9554,1996-02-28,955.1000000001486,955.01385,2015-01-01 02:39:14,bin9554,35, +CTSPillarNetworkA,9555,9555,9555,1996-02-29,955.2000000001486,955.11383,2015-01-01 02:39:15,bin9555,75, +CTSPillarNetworkA,9556,9556,9556,1996-03-01,955.3000000001487,955.2138,2015-01-01 02:39:16,bin9556,35, +CTSPillarNetworkA,9557,9557,9557,1996-03-02,955.4000000001487,955.3138,2015-01-01 02:39:17,bin9557,75, +CTSPillarNetworkA,9558,9558,9558,1996-03-03,955.5000000001487,955.41376,2015-01-01 02:39:18,bin9558,35, +CTSPillarNetworkA,9559,9559,9559,1996-03-04,955.6000000001487,955.51373,2015-01-01 02:39:19,bin9559,75, +CTSPillarNetworkA,9560,9560,9560,1996-03-05,955.7000000001487,955.6137,2015-01-01 02:39:20,bin9560,35, +CTSPillarNetworkA,9561,9561,9561,1996-03-06,955.8000000001488,955.7137,2015-01-01 02:39:21,bin9561,75, +CTSPillarNetworkA,9562,9562,9562,1996-03-07,955.9000000001488,955.81366,2015-01-01 02:39:22,bin9562,35, +CTSPillarNetworkA,9563,9563,9563,1996-03-08,956.0000000001488,955.91364,2015-01-01 02:39:23,bin9563,75, +CTSPillarNetworkA,9564,9564,9564,1996-03-09,956.1000000001488,956.0136,2015-01-01 02:39:24,bin9564,35, +CTSPillarNetworkA,9565,9565,9565,1996-03-10,956.2000000001489,956.1136,2015-01-01 02:39:25,bin9565,75, +CTSPillarNetworkA,9566,9566,9566,1996-03-11,956.3000000001489,956.21356,2015-01-01 02:39:26,bin9566,35, +CTSPillarNetworkA,9567,9567,9567,1996-03-12,956.4000000001489,956.31354,2015-01-01 02:39:27,bin9567,75, +CTSPillarNetworkA,9568,9568,9568,1996-03-13,956.5000000001489,956.4135,2015-01-01 02:39:28,bin9568,35, +CTSPillarNetworkA,9569,9569,9569,1996-03-14,956.600000000149,956.5135,2015-01-01 02:39:29,bin9569,75, +CTSPillarNetworkA,9570,9570,9570,1996-03-15,956.700000000149,956.61346,2015-01-01 02:39:30,bin9570,35, +CTSPillarNetworkA,9571,9571,9571,1996-03-16,956.800000000149,956.71344,2015-01-01 02:39:31,bin9571,75, +CTSPillarNetworkA,9572,9572,9572,1996-03-17,956.900000000149,956.8134,2015-01-01 02:39:32,bin9572,35, +CTSPillarNetworkA,9573,9573,9573,1996-03-18,957.000000000149,956.9134,2015-01-01 02:39:33,bin9573,75, +CTSPillarNetworkA,9574,9574,9574,1996-03-19,957.1000000001491,957.01337,2015-01-01 02:39:34,bin9574,35, +CTSPillarNetworkA,9575,9575,9575,1996-03-20,957.2000000001491,957.11334,2015-01-01 02:39:35,bin9575,75, +CTSPillarNetworkA,9576,9576,9576,1996-03-21,957.3000000001491,957.2133,2015-01-01 02:39:36,bin9576,35, +CTSPillarNetworkA,9577,9577,9577,1996-03-22,957.4000000001491,957.3133,2015-01-01 02:39:37,bin9577,75, +CTSPillarNetworkA,9578,9578,9578,1996-03-23,957.5000000001492,957.41327,2015-01-01 02:39:38,bin9578,35, +CTSPillarNetworkA,9579,9579,9579,1996-03-24,957.6000000001492,957.51324,2015-01-01 02:39:39,bin9579,75, +CTSPillarNetworkA,9580,9580,9580,1996-03-25,957.7000000001492,957.6132,2015-01-01 02:39:40,bin9580,35, +CTSPillarNetworkA,9581,9581,9581,1996-03-26,957.8000000001492,957.7132,2015-01-01 02:39:41,bin9581,75, +CTSPillarNetworkA,9582,9582,9582,1996-03-27,957.9000000001492,957.8132,2015-01-01 02:39:42,bin9582,35, +CTSPillarNetworkA,9583,9583,9583,1996-03-28,958.0000000001493,957.91315,2015-01-01 02:39:43,bin9583,75, +CTSPillarNetworkA,9584,9584,9584,1996-03-29,958.1000000001493,958.0131,2015-01-01 02:39:44,bin9584,35, +CTSPillarNetworkA,9585,9585,9585,1996-03-30,958.2000000001493,958.1131,2015-01-01 02:39:45,bin9585,75, +CTSPillarNetworkA,9586,9586,9586,1996-03-31,958.3000000001493,958.2131,2015-01-01 02:39:46,bin9586,35, +CTSPillarNetworkA,9587,9587,9587,1996-04-01,958.4000000001494,958.31305,2015-01-01 02:39:47,bin9587,75, +CTSPillarNetworkA,9588,9588,9588,1996-04-02,958.5000000001494,958.413,2015-01-01 02:39:48,bin9588,35, +CTSPillarNetworkA,9589,9589,9589,1996-04-03,958.6000000001494,958.513,2015-01-01 02:39:49,bin9589,75, +CTSPillarNetworkA,9590,9590,9590,1996-04-04,958.7000000001494,958.613,2015-01-01 02:39:50,bin9590,35, +CTSPillarNetworkA,9591,9591,9591,1996-04-05,958.8000000001495,958.71295,2015-01-01 02:39:51,bin9591,75, +CTSPillarNetworkA,9592,9592,9592,1996-04-06,958.9000000001495,958.8129,2015-01-01 02:39:52,bin9592,35, +CTSPillarNetworkA,9593,9593,9593,1996-04-07,959.0000000001495,958.9129,2015-01-01 02:39:53,bin9593,75, +CTSPillarNetworkA,9594,9594,9594,1996-04-08,959.1000000001495,959.0129,2015-01-01 02:39:54,bin9594,35, +CTSPillarNetworkA,9595,9595,9595,1996-04-09,959.2000000001495,959.11285,2015-01-01 02:39:55,bin9595,75, +CTSPillarNetworkA,9596,9596,9596,1996-04-10,959.3000000001496,959.2128,2015-01-01 02:39:56,bin9596,35, +CTSPillarNetworkA,9597,9597,9597,1996-04-11,959.4000000001496,959.3128,2015-01-01 02:39:57,bin9597,75, +CTSPillarNetworkA,9598,9598,9598,1996-04-12,959.5000000001496,959.4128,2015-01-01 02:39:58,bin9598,35, +CTSPillarNetworkA,9599,9599,9599,1996-04-13,959.6000000001496,959.51276,2015-01-01 02:39:59,bin9599,75, +CTSPillarNetworkA,9600,9600,9600,1996-04-14,959.7000000001497,959.61273,2015-01-01 02:40:00,bin9600,35, +CTSPillarNetworkA,9601,9601,9601,1996-04-15,959.8000000001497,959.7127,2015-01-01 02:40:01,bin9601,75, +CTSPillarNetworkA,9602,9602,9602,1996-04-16,959.9000000001497,959.8127,2015-01-01 02:40:02,bin9602,35, +CTSPillarNetworkA,9603,9603,9603,1996-04-17,960.0000000001497,959.91266,2015-01-01 02:40:03,bin9603,75, +CTSPillarNetworkA,9604,9604,9604,1996-04-18,960.1000000001497,960.01263,2015-01-01 02:40:04,bin9604,35, +CTSPillarNetworkA,9605,9605,9605,1996-04-19,960.2000000001498,960.1126,2015-01-01 02:40:05,bin9605,75, +CTSPillarNetworkA,9606,9606,9606,1996-04-20,960.3000000001498,960.2126,2015-01-01 02:40:06,bin9606,35, +CTSPillarNetworkA,9607,9607,9607,1996-04-21,960.4000000001498,960.31256,2015-01-01 02:40:07,bin9607,75, +CTSPillarNetworkA,9608,9608,9608,1996-04-22,960.5000000001498,960.41254,2015-01-01 02:40:08,bin9608,35, +CTSPillarNetworkA,9609,9609,9609,1996-04-23,960.6000000001499,960.5125,2015-01-01 02:40:09,bin9609,75, +CTSPillarNetworkA,9610,9610,9610,1996-04-24,960.7000000001499,960.6125,2015-01-01 02:40:10,bin9610,35, +CTSPillarNetworkA,9611,9611,9611,1996-04-25,960.8000000001499,960.71246,2015-01-01 02:40:11,bin9611,75, +CTSPillarNetworkA,9612,9612,9612,1996-04-26,960.9000000001499,960.81244,2015-01-01 02:40:12,bin9612,35, +CTSPillarNetworkA,9613,9613,9613,1996-04-27,961.00000000015,960.9124,2015-01-01 02:40:13,bin9613,75, +CTSPillarNetworkA,9614,9614,9614,1996-04-28,961.10000000015,961.0124,2015-01-01 02:40:14,bin9614,35, +CTSPillarNetworkA,9615,9615,9615,1996-04-29,961.20000000015,961.11237,2015-01-01 02:40:15,bin9615,75, +CTSPillarNetworkA,9616,9616,9616,1996-04-30,961.30000000015,961.21234,2015-01-01 02:40:16,bin9616,35, +CTSPillarNetworkA,9617,9617,9617,1996-05-01,961.40000000015,961.3123,2015-01-01 02:40:17,bin9617,75, +CTSPillarNetworkA,9618,9618,9618,1996-05-02,961.5000000001501,961.4123,2015-01-01 02:40:18,bin9618,35, +CTSPillarNetworkA,9619,9619,9619,1996-05-03,961.6000000001501,961.51227,2015-01-01 02:40:19,bin9619,75, +CTSPillarNetworkA,9620,9620,9620,1996-05-04,961.7000000001501,961.61224,2015-01-01 02:40:20,bin9620,35, +CTSPillarNetworkA,9621,9621,9621,1996-05-05,961.8000000001501,961.7122,2015-01-01 02:40:21,bin9621,75, +CTSPillarNetworkA,9622,9622,9622,1996-05-06,961.9000000001502,961.8122,2015-01-01 02:40:22,bin9622,35, +CTSPillarNetworkA,9623,9623,9623,1996-05-07,962.0000000001502,961.9122,2015-01-01 02:40:23,bin9623,75, +CTSPillarNetworkA,9624,9624,9624,1996-05-08,962.1000000001502,962.01215,2015-01-01 02:40:24,bin9624,35, +CTSPillarNetworkA,9625,9625,9625,1996-05-09,962.2000000001502,962.1121,2015-01-01 02:40:25,bin9625,75, +CTSPillarNetworkA,9626,9626,9626,1996-05-10,962.3000000001502,962.2121,2015-01-01 02:40:26,bin9626,35, +CTSPillarNetworkA,9627,9627,9627,1996-05-11,962.4000000001503,962.3121,2015-01-01 02:40:27,bin9627,75, +CTSPillarNetworkA,9628,9628,9628,1996-05-12,962.5000000001503,962.41205,2015-01-01 02:40:28,bin9628,35, +CTSPillarNetworkA,9629,9629,9629,1996-05-13,962.6000000001503,962.512,2015-01-01 02:40:29,bin9629,75, +CTSPillarNetworkA,9630,9630,9630,1996-05-14,962.7000000001503,962.612,2015-01-01 02:40:30,bin9630,35, +CTSPillarNetworkA,9631,9631,9631,1996-05-15,962.8000000001504,962.712,2015-01-01 02:40:31,bin9631,75, +CTSPillarNetworkA,9632,9632,9632,1996-05-16,962.9000000001504,962.81195,2015-01-01 02:40:32,bin9632,35, +CTSPillarNetworkA,9633,9633,9633,1996-05-17,963.0000000001504,962.9119,2015-01-01 02:40:33,bin9633,75, +CTSPillarNetworkA,9634,9634,9634,1996-05-18,963.1000000001504,963.0119,2015-01-01 02:40:34,bin9634,35, +CTSPillarNetworkA,9635,9635,9635,1996-05-19,963.2000000001505,963.1119,2015-01-01 02:40:35,bin9635,75, +CTSPillarNetworkA,9636,9636,9636,1996-05-20,963.3000000001505,963.21185,2015-01-01 02:40:36,bin9636,35, +CTSPillarNetworkA,9637,9637,9637,1996-05-21,963.4000000001505,963.3118,2015-01-01 02:40:37,bin9637,75, +CTSPillarNetworkA,9638,9638,9638,1996-05-22,963.5000000001505,963.4118,2015-01-01 02:40:38,bin9638,35, +CTSPillarNetworkA,9639,9639,9639,1996-05-23,963.6000000001505,963.5118,2015-01-01 02:40:39,bin9639,75, +CTSPillarNetworkA,9640,9640,9640,1996-05-24,963.7000000001506,963.61176,2015-01-01 02:40:40,bin9640,35, +CTSPillarNetworkA,9641,9641,9641,1996-05-25,963.8000000001506,963.71173,2015-01-01 02:40:41,bin9641,75, +CTSPillarNetworkA,9642,9642,9642,1996-05-26,963.9000000001506,963.8117,2015-01-01 02:40:42,bin9642,35, +CTSPillarNetworkA,9643,9643,9643,1996-05-27,964.0000000001506,963.9117,2015-01-01 02:40:43,bin9643,75, +CTSPillarNetworkA,9644,9644,9644,1996-05-28,964.1000000001507,964.01166,2015-01-01 02:40:44,bin9644,35, +CTSPillarNetworkA,9645,9645,9645,1996-05-29,964.2000000001507,964.11163,2015-01-01 02:40:45,bin9645,75, +CTSPillarNetworkA,9646,9646,9646,1996-05-30,964.3000000001507,964.2116,2015-01-01 02:40:46,bin9646,35, +CTSPillarNetworkA,9647,9647,9647,1996-05-31,964.4000000001507,964.3116,2015-01-01 02:40:47,bin9647,75, +CTSPillarNetworkA,9648,9648,9648,1996-06-01,964.5000000001507,964.41156,2015-01-01 02:40:48,bin9648,35, +CTSPillarNetworkA,9649,9649,9649,1996-06-02,964.6000000001508,964.51154,2015-01-01 02:40:49,bin9649,75, +CTSPillarNetworkA,9650,9650,9650,1996-06-03,964.7000000001508,964.6115,2015-01-01 02:40:50,bin9650,35, +CTSPillarNetworkA,9651,9651,9651,1996-06-04,964.8000000001508,964.7115,2015-01-01 02:40:51,bin9651,75, +CTSPillarNetworkA,9652,9652,9652,1996-06-05,964.9000000001508,964.81146,2015-01-01 02:40:52,bin9652,35, +CTSPillarNetworkA,9653,9653,9653,1996-06-06,965.0000000001509,964.91144,2015-01-01 02:40:53,bin9653,75, +CTSPillarNetworkA,9654,9654,9654,1996-06-07,965.1000000001509,965.0114,2015-01-01 02:40:54,bin9654,35, +CTSPillarNetworkA,9655,9655,9655,1996-06-08,965.2000000001509,965.1114,2015-01-01 02:40:55,bin9655,75, +CTSPillarNetworkA,9656,9656,9656,1996-06-09,965.3000000001509,965.21136,2015-01-01 02:40:56,bin9656,35, +CTSPillarNetworkA,9657,9657,9657,1996-06-10,965.400000000151,965.31134,2015-01-01 02:40:57,bin9657,75, +CTSPillarNetworkA,9658,9658,9658,1996-06-11,965.500000000151,965.4113,2015-01-01 02:40:58,bin9658,35, +CTSPillarNetworkA,9659,9659,9659,1996-06-12,965.600000000151,965.5113,2015-01-01 02:40:59,bin9659,75, +CTSPillarNetworkA,9660,9660,9660,1996-06-13,965.700000000151,965.61127,2015-01-01 02:41:00,bin9660,35, +CTSPillarNetworkA,9661,9661,9661,1996-06-14,965.800000000151,965.71124,2015-01-01 02:41:01,bin9661,75, +CTSPillarNetworkA,9662,9662,9662,1996-06-15,965.9000000001511,965.8112,2015-01-01 02:41:02,bin9662,35, +CTSPillarNetworkA,9663,9663,9663,1996-06-16,966.0000000001511,965.9112,2015-01-01 02:41:03,bin9663,75, +CTSPillarNetworkA,9664,9664,9664,1996-06-17,966.1000000001511,966.01117,2015-01-01 02:41:04,bin9664,35, +CTSPillarNetworkA,9665,9665,9665,1996-06-18,966.2000000001511,966.11115,2015-01-01 02:41:05,bin9665,75, +CTSPillarNetworkA,9666,9666,9666,1996-06-19,966.3000000001512,966.2111,2015-01-01 02:41:06,bin9666,35, +CTSPillarNetworkA,9667,9667,9667,1996-06-20,966.4000000001512,966.3111,2015-01-01 02:41:07,bin9667,75, +CTSPillarNetworkA,9668,9668,9668,1996-06-21,966.5000000001512,966.4111,2015-01-01 02:41:08,bin9668,35, +CTSPillarNetworkA,9669,9669,9669,1996-06-22,966.6000000001512,966.51105,2015-01-01 02:41:09,bin9669,75, +CTSPillarNetworkA,9670,9670,9670,1996-06-23,966.7000000001512,966.611,2015-01-01 02:41:10,bin9670,35, +CTSPillarNetworkA,9671,9671,9671,1996-06-24,966.8000000001513,966.711,2015-01-01 02:41:11,bin9671,75, +CTSPillarNetworkA,9672,9672,9672,1996-06-25,966.9000000001513,966.811,2015-01-01 02:41:12,bin9672,35, +CTSPillarNetworkA,9673,9673,9673,1996-06-26,967.0000000001513,966.91095,2015-01-01 02:41:13,bin9673,75, +CTSPillarNetworkA,9674,9674,9674,1996-06-27,967.1000000001513,967.0109,2015-01-01 02:41:14,bin9674,35, +CTSPillarNetworkA,9675,9675,9675,1996-06-28,967.2000000001514,967.1109,2015-01-01 02:41:15,bin9675,75, +CTSPillarNetworkA,9676,9676,9676,1996-06-29,967.3000000001514,967.2109,2015-01-01 02:41:16,bin9676,35, +CTSPillarNetworkA,9677,9677,9677,1996-06-30,967.4000000001514,967.31085,2015-01-01 02:41:17,bin9677,75, +CTSPillarNetworkA,9678,9678,9678,1996-07-01,967.5000000001514,967.4108,2015-01-01 02:41:18,bin9678,35, +CTSPillarNetworkA,9679,9679,9679,1996-07-02,967.6000000001515,967.5108,2015-01-01 02:41:19,bin9679,75, +CTSPillarNetworkA,9680,9680,9680,1996-07-03,967.7000000001515,967.6108,2015-01-01 02:41:20,bin9680,35, +CTSPillarNetworkA,9681,9681,9681,1996-07-04,967.8000000001515,967.71075,2015-01-01 02:41:21,bin9681,75, +CTSPillarNetworkA,9682,9682,9682,1996-07-05,967.9000000001515,967.8107,2015-01-01 02:41:22,bin9682,35, +CTSPillarNetworkA,9683,9683,9683,1996-07-06,968.0000000001515,967.9107,2015-01-01 02:41:23,bin9683,75, +CTSPillarNetworkA,9684,9684,9684,1996-07-07,968.1000000001516,968.0107,2015-01-01 02:41:24,bin9684,35, +CTSPillarNetworkA,9685,9685,9685,1996-07-08,968.2000000001516,968.11066,2015-01-01 02:41:25,bin9685,75, +CTSPillarNetworkA,9686,9686,9686,1996-07-09,968.3000000001516,968.21063,2015-01-01 02:41:26,bin9686,35, +CTSPillarNetworkA,9687,9687,9687,1996-07-10,968.4000000001516,968.3106,2015-01-01 02:41:27,bin9687,75, +CTSPillarNetworkA,9688,9688,9688,1996-07-11,968.5000000001517,968.4106,2015-01-01 02:41:28,bin9688,35, +CTSPillarNetworkA,9689,9689,9689,1996-07-12,968.6000000001517,968.51056,2015-01-01 02:41:29,bin9689,75, +CTSPillarNetworkA,9690,9690,9690,1996-07-13,968.7000000001517,968.61053,2015-01-01 02:41:30,bin9690,35, +CTSPillarNetworkA,9691,9691,9691,1996-07-14,968.8000000001517,968.7105,2015-01-01 02:41:31,bin9691,75, +CTSPillarNetworkA,9692,9692,9692,1996-07-15,968.9000000001517,968.8105,2015-01-01 02:41:32,bin9692,35, +CTSPillarNetworkA,9693,9693,9693,1996-07-16,969.0000000001518,968.91046,2015-01-01 02:41:33,bin9693,75, +CTSPillarNetworkA,9694,9694,9694,1996-07-17,969.1000000001518,969.01044,2015-01-01 02:41:34,bin9694,35, +CTSPillarNetworkA,9695,9695,9695,1996-07-18,969.2000000001518,969.1104,2015-01-01 02:41:35,bin9695,75, +CTSPillarNetworkA,9696,9696,9696,1996-07-19,969.3000000001518,969.2104,2015-01-01 02:41:36,bin9696,35, +CTSPillarNetworkA,9697,9697,9697,1996-07-20,969.4000000001519,969.31036,2015-01-01 02:41:37,bin9697,75, +CTSPillarNetworkA,9698,9698,9698,1996-07-21,969.5000000001519,969.41034,2015-01-01 02:41:38,bin9698,35, +CTSPillarNetworkA,9699,9699,9699,1996-07-22,969.6000000001519,969.5103,2015-01-01 02:41:39,bin9699,75, +CTSPillarNetworkA,9700,9700,9700,1996-07-23,969.7000000001519,969.6103,2015-01-01 02:41:40,bin9700,35, +CTSPillarNetworkA,9701,9701,9701,1996-07-24,969.800000000152,969.71027,2015-01-01 02:41:41,bin9701,75, +CTSPillarNetworkA,9702,9702,9702,1996-07-25,969.900000000152,969.81024,2015-01-01 02:41:42,bin9702,35, +CTSPillarNetworkA,9703,9703,9703,1996-07-26,970.000000000152,969.9102,2015-01-01 02:41:43,bin9703,75, +CTSPillarNetworkA,9704,9704,9704,1996-07-27,970.100000000152,970.0102,2015-01-01 02:41:44,bin9704,35, +CTSPillarNetworkA,9705,9705,9705,1996-07-28,970.200000000152,970.11017,2015-01-01 02:41:45,bin9705,75, +CTSPillarNetworkA,9706,9706,9706,1996-07-29,970.3000000001521,970.21014,2015-01-01 02:41:46,bin9706,35, +CTSPillarNetworkA,9707,9707,9707,1996-07-30,970.4000000001521,970.3101,2015-01-01 02:41:47,bin9707,75, +CTSPillarNetworkA,9708,9708,9708,1996-07-31,970.5000000001521,970.4101,2015-01-01 02:41:48,bin9708,35, +CTSPillarNetworkA,9709,9709,9709,1996-08-01,970.6000000001521,970.5101,2015-01-01 02:41:49,bin9709,75, +CTSPillarNetworkA,9710,9710,9710,1996-08-02,970.7000000001522,970.61005,2015-01-01 02:41:50,bin9710,35, +CTSPillarNetworkA,9711,9711,9711,1996-08-03,970.8000000001522,970.71,2015-01-01 02:41:51,bin9711,75, +CTSPillarNetworkA,9712,9712,9712,1996-08-04,970.9000000001522,970.81,2015-01-01 02:41:52,bin9712,35, +CTSPillarNetworkA,9713,9713,9713,1996-08-05,971.0000000001522,970.91,2015-01-01 02:41:53,bin9713,75, +CTSPillarNetworkA,9714,9714,9714,1996-08-06,971.1000000001522,971.00995,2015-01-01 02:41:54,bin9714,35, +CTSPillarNetworkA,9715,9715,9715,1996-08-07,971.2000000001523,971.1099,2015-01-01 02:41:55,bin9715,75, +CTSPillarNetworkA,9716,9716,9716,1996-08-08,971.3000000001523,971.2099,2015-01-01 02:41:56,bin9716,35, +CTSPillarNetworkA,9717,9717,9717,1996-08-09,971.4000000001523,971.3099,2015-01-01 02:41:57,bin9717,75, +CTSPillarNetworkA,9718,9718,9718,1996-08-10,971.5000000001523,971.40985,2015-01-01 02:41:58,bin9718,35, +CTSPillarNetworkA,9719,9719,9719,1996-08-11,971.6000000001524,971.5098,2015-01-01 02:41:59,bin9719,75, +CTSPillarNetworkA,9720,9720,9720,1996-08-12,971.7000000001524,971.6098,2015-01-01 02:42:00,bin9720,35, +CTSPillarNetworkA,9721,9721,9721,1996-08-13,971.8000000001524,971.7098,2015-01-01 02:42:01,bin9721,75, +CTSPillarNetworkA,9722,9722,9722,1996-08-14,971.9000000001524,971.80975,2015-01-01 02:42:02,bin9722,35, +CTSPillarNetworkA,9723,9723,9723,1996-08-15,972.0000000001525,971.9097,2015-01-01 02:42:03,bin9723,75, +CTSPillarNetworkA,9724,9724,9724,1996-08-16,972.1000000001525,972.0097,2015-01-01 02:42:04,bin9724,35, +CTSPillarNetworkA,9725,9725,9725,1996-08-17,972.2000000001525,972.1097,2015-01-01 02:42:05,bin9725,75, +CTSPillarNetworkA,9726,9726,9726,1996-08-18,972.3000000001525,972.20966,2015-01-01 02:42:06,bin9726,35, +CTSPillarNetworkA,9727,9727,9727,1996-08-19,972.4000000001525,972.30963,2015-01-01 02:42:07,bin9727,75, +CTSPillarNetworkA,9728,9728,9728,1996-08-20,972.5000000001526,972.4096,2015-01-01 02:42:08,bin9728,35, +CTSPillarNetworkA,9729,9729,9729,1996-08-21,972.6000000001526,972.5096,2015-01-01 02:42:09,bin9729,75, +CTSPillarNetworkA,9730,9730,9730,1996-08-22,972.7000000001526,972.60956,2015-01-01 02:42:10,bin9730,35, +CTSPillarNetworkA,9731,9731,9731,1996-08-23,972.8000000001526,972.70953,2015-01-01 02:42:11,bin9731,75, +CTSPillarNetworkA,9732,9732,9732,1996-08-24,972.9000000001527,972.8095,2015-01-01 02:42:12,bin9732,35, +CTSPillarNetworkA,9733,9733,9733,1996-08-25,973.0000000001527,972.9095,2015-01-01 02:42:13,bin9733,75, +CTSPillarNetworkA,9734,9734,9734,1996-08-26,973.1000000001527,973.00946,2015-01-01 02:42:14,bin9734,35, +CTSPillarNetworkA,9735,9735,9735,1996-08-27,973.2000000001527,973.10944,2015-01-01 02:42:15,bin9735,75, +CTSPillarNetworkA,9736,9736,9736,1996-08-28,973.3000000001527,973.2094,2015-01-01 02:42:16,bin9736,35, +CTSPillarNetworkA,9737,9737,9737,1996-08-29,973.4000000001528,973.3094,2015-01-01 02:42:17,bin9737,75, +CTSPillarNetworkA,9738,9738,9738,1996-08-30,973.5000000001528,973.40936,2015-01-01 02:42:18,bin9738,35, +CTSPillarNetworkA,9739,9739,9739,1996-08-31,973.6000000001528,973.50934,2015-01-01 02:42:19,bin9739,75, +CTSPillarNetworkA,9740,9740,9740,1996-09-01,973.7000000001528,973.6093,2015-01-01 02:42:20,bin9740,35, +CTSPillarNetworkA,9741,9741,9741,1996-09-02,973.8000000001529,973.7093,2015-01-01 02:42:21,bin9741,75, +CTSPillarNetworkA,9742,9742,9742,1996-09-03,973.9000000001529,973.80927,2015-01-01 02:42:22,bin9742,35, +CTSPillarNetworkA,9743,9743,9743,1996-09-04,974.0000000001529,973.90924,2015-01-01 02:42:23,bin9743,75, +CTSPillarNetworkA,9744,9744,9744,1996-09-05,974.1000000001529,974.0092,2015-01-01 02:42:24,bin9744,35, +CTSPillarNetworkA,9745,9745,9745,1996-09-06,974.200000000153,974.1092,2015-01-01 02:42:25,bin9745,75, +CTSPillarNetworkA,9746,9746,9746,1996-09-07,974.300000000153,974.20917,2015-01-01 02:42:26,bin9746,35, +CTSPillarNetworkA,9747,9747,9747,1996-09-08,974.400000000153,974.30914,2015-01-01 02:42:27,bin9747,75, +CTSPillarNetworkA,9748,9748,9748,1996-09-09,974.500000000153,974.4091,2015-01-01 02:42:28,bin9748,35, +CTSPillarNetworkA,9749,9749,9749,1996-09-10,974.600000000153,974.5091,2015-01-01 02:42:29,bin9749,75, +CTSPillarNetworkA,9750,9750,9750,1996-09-11,974.7000000001531,974.6091,2015-01-01 02:42:30,bin9750,35, +CTSPillarNetworkA,9751,9751,9751,1996-09-12,974.8000000001531,974.70905,2015-01-01 02:42:31,bin9751,75, +CTSPillarNetworkA,9752,9752,9752,1996-09-13,974.9000000001531,974.809,2015-01-01 02:42:32,bin9752,35, +CTSPillarNetworkA,9753,9753,9753,1996-09-14,975.0000000001531,974.909,2015-01-01 02:42:33,bin9753,75, +CTSPillarNetworkA,9754,9754,9754,1996-09-15,975.1000000001532,975.009,2015-01-01 02:42:34,bin9754,35, +CTSPillarNetworkA,9755,9755,9755,1996-09-16,975.2000000001532,975.10895,2015-01-01 02:42:35,bin9755,75, +CTSPillarNetworkA,9756,9756,9756,1996-09-17,975.3000000001532,975.2089,2015-01-01 02:42:36,bin9756,35, +CTSPillarNetworkA,9757,9757,9757,1996-09-18,975.4000000001532,975.3089,2015-01-01 02:42:37,bin9757,75, +CTSPillarNetworkA,9758,9758,9758,1996-09-19,975.5000000001532,975.4089,2015-01-01 02:42:38,bin9758,35, +CTSPillarNetworkA,9759,9759,9759,1996-09-20,975.6000000001533,975.50885,2015-01-01 02:42:39,bin9759,75, +CTSPillarNetworkA,9760,9760,9760,1996-09-21,975.7000000001533,975.6088,2015-01-01 02:42:40,bin9760,35, +CTSPillarNetworkA,9761,9761,9761,1996-09-22,975.8000000001533,975.7088,2015-01-01 02:42:41,bin9761,75, +CTSPillarNetworkA,9762,9762,9762,1996-09-23,975.9000000001533,975.8088,2015-01-01 02:42:42,bin9762,35, +CTSPillarNetworkA,9763,9763,9763,1996-09-24,976.0000000001534,975.90875,2015-01-01 02:42:43,bin9763,75, +CTSPillarNetworkA,9764,9764,9764,1996-09-25,976.1000000001534,976.0087,2015-01-01 02:42:44,bin9764,35, +CTSPillarNetworkA,9765,9765,9765,1996-09-26,976.2000000001534,976.1087,2015-01-01 02:42:45,bin9765,75, +CTSPillarNetworkA,9766,9766,9766,1996-09-27,976.3000000001534,976.2087,2015-01-01 02:42:46,bin9766,35, +CTSPillarNetworkA,9767,9767,9767,1996-09-28,976.4000000001535,976.30865,2015-01-01 02:42:47,bin9767,75, +CTSPillarNetworkA,9768,9768,9768,1996-09-29,976.5000000001535,976.4086,2015-01-01 02:42:48,bin9768,35, +CTSPillarNetworkA,9769,9769,9769,1996-09-30,976.6000000001535,976.5086,2015-01-01 02:42:49,bin9769,75, +CTSPillarNetworkA,9770,9770,9770,1996-10-01,976.7000000001535,976.6086,2015-01-01 02:42:50,bin9770,35, +CTSPillarNetworkA,9771,9771,9771,1996-10-02,976.8000000001535,976.70856,2015-01-01 02:42:51,bin9771,75, +CTSPillarNetworkA,9772,9772,9772,1996-10-03,976.9000000001536,976.80853,2015-01-01 02:42:52,bin9772,35, +CTSPillarNetworkA,9773,9773,9773,1996-10-04,977.0000000001536,976.9085,2015-01-01 02:42:53,bin9773,75, +CTSPillarNetworkA,9774,9774,9774,1996-10-05,977.1000000001536,977.0085,2015-01-01 02:42:54,bin9774,35, +CTSPillarNetworkA,9775,9775,9775,1996-10-06,977.2000000001536,977.10846,2015-01-01 02:42:55,bin9775,75, +CTSPillarNetworkA,9776,9776,9776,1996-10-07,977.3000000001537,977.20844,2015-01-01 02:42:56,bin9776,35, +CTSPillarNetworkA,9777,9777,9777,1996-10-08,977.4000000001537,977.3084,2015-01-01 02:42:57,bin9777,75, +CTSPillarNetworkA,9778,9778,9778,1996-10-09,977.5000000001537,977.4084,2015-01-01 02:42:58,bin9778,35, +CTSPillarNetworkA,9779,9779,9779,1996-10-10,977.6000000001537,977.50836,2015-01-01 02:42:59,bin9779,75, +CTSPillarNetworkA,9780,9780,9780,1996-10-11,977.7000000001538,977.60834,2015-01-01 02:43:00,bin9780,35, +CTSPillarNetworkA,9781,9781,9781,1996-10-12,977.8000000001538,977.7083,2015-01-01 02:43:01,bin9781,75, +CTSPillarNetworkA,9782,9782,9782,1996-10-13,977.9000000001538,977.8083,2015-01-01 02:43:02,bin9782,35, +CTSPillarNetworkA,9783,9783,9783,1996-10-14,978.0000000001538,977.90826,2015-01-01 02:43:03,bin9783,75, +CTSPillarNetworkA,9784,9784,9784,1996-10-15,978.1000000001538,978.00824,2015-01-01 02:43:04,bin9784,35, +CTSPillarNetworkA,9785,9785,9785,1996-10-16,978.2000000001539,978.1082,2015-01-01 02:43:05,bin9785,75, +CTSPillarNetworkA,9786,9786,9786,1996-10-17,978.3000000001539,978.2082,2015-01-01 02:43:06,bin9786,35, +CTSPillarNetworkA,9787,9787,9787,1996-10-18,978.4000000001539,978.30817,2015-01-01 02:43:07,bin9787,75, +CTSPillarNetworkA,9788,9788,9788,1996-10-19,978.5000000001539,978.40814,2015-01-01 02:43:08,bin9788,35, +CTSPillarNetworkA,9789,9789,9789,1996-10-20,978.600000000154,978.5081,2015-01-01 02:43:09,bin9789,75, +CTSPillarNetworkA,9790,9790,9790,1996-10-21,978.700000000154,978.6081,2015-01-01 02:43:10,bin9790,35, +CTSPillarNetworkA,9791,9791,9791,1996-10-22,978.800000000154,978.70807,2015-01-01 02:43:11,bin9791,75, +CTSPillarNetworkA,9792,9792,9792,1996-10-23,978.900000000154,978.80804,2015-01-01 02:43:12,bin9792,35, +CTSPillarNetworkA,9793,9793,9793,1996-10-24,979.000000000154,978.908,2015-01-01 02:43:13,bin9793,75, +CTSPillarNetworkA,9794,9794,9794,1996-10-25,979.1000000001541,979.008,2015-01-01 02:43:14,bin9794,35, +CTSPillarNetworkA,9795,9795,9795,1996-10-26,979.2000000001541,979.108,2015-01-01 02:43:15,bin9795,75, +CTSPillarNetworkA,9796,9796,9796,1996-10-27,979.3000000001541,979.20795,2015-01-01 02:43:16,bin9796,35, +CTSPillarNetworkA,9797,9797,9797,1996-10-28,979.4000000001541,979.3079,2015-01-01 02:43:17,bin9797,75, +CTSPillarNetworkA,9798,9798,9798,1996-10-29,979.5000000001542,979.4079,2015-01-01 02:43:18,bin9798,35, +CTSPillarNetworkA,9799,9799,9799,1996-10-30,979.6000000001542,979.5079,2015-01-01 02:43:19,bin9799,75, +CTSPillarNetworkA,9800,9800,9800,1996-10-31,979.7000000001542,979.60785,2015-01-01 02:43:20,bin9800,35, +CTSPillarNetworkA,9801,9801,9801,1996-11-01,979.8000000001542,979.7078,2015-01-01 02:43:21,bin9801,75, +CTSPillarNetworkA,9802,9802,9802,1996-11-02,979.9000000001543,979.8078,2015-01-01 02:43:22,bin9802,35, +CTSPillarNetworkA,9803,9803,9803,1996-11-03,980.0000000001543,979.9078,2015-01-01 02:43:23,bin9803,75, +CTSPillarNetworkA,9804,9804,9804,1996-11-04,980.1000000001543,980.00775,2015-01-01 02:43:24,bin9804,35, +CTSPillarNetworkA,9805,9805,9805,1996-11-05,980.2000000001543,980.1077,2015-01-01 02:43:25,bin9805,75, +CTSPillarNetworkA,9806,9806,9806,1996-11-06,980.3000000001543,980.2077,2015-01-01 02:43:26,bin9806,35, +CTSPillarNetworkA,9807,9807,9807,1996-11-07,980.4000000001544,980.3077,2015-01-01 02:43:27,bin9807,75, +CTSPillarNetworkA,9808,9808,9808,1996-11-08,980.5000000001544,980.40765,2015-01-01 02:43:28,bin9808,35, +CTSPillarNetworkA,9809,9809,9809,1996-11-09,980.6000000001544,980.5076,2015-01-01 02:43:29,bin9809,75, +CTSPillarNetworkA,9810,9810,9810,1996-11-10,980.7000000001544,980.6076,2015-01-01 02:43:30,bin9810,35, +CTSPillarNetworkA,9811,9811,9811,1996-11-11,980.8000000001545,980.7076,2015-01-01 02:43:31,bin9811,75, +CTSPillarNetworkA,9812,9812,9812,1996-11-12,980.9000000001545,980.80756,2015-01-01 02:43:32,bin9812,35, +CTSPillarNetworkA,9813,9813,9813,1996-11-13,981.0000000001545,980.90753,2015-01-01 02:43:33,bin9813,75, +CTSPillarNetworkA,9814,9814,9814,1996-11-14,981.1000000001545,981.0075,2015-01-01 02:43:34,bin9814,35, +CTSPillarNetworkA,9815,9815,9815,1996-11-15,981.2000000001545,981.1075,2015-01-01 02:43:35,bin9815,75, +CTSPillarNetworkA,9816,9816,9816,1996-11-16,981.3000000001546,981.20746,2015-01-01 02:43:36,bin9816,35, +CTSPillarNetworkA,9817,9817,9817,1996-11-17,981.4000000001546,981.30743,2015-01-01 02:43:37,bin9817,75, +CTSPillarNetworkA,9818,9818,9818,1996-11-18,981.5000000001546,981.4074,2015-01-01 02:43:38,bin9818,35, +CTSPillarNetworkA,9819,9819,9819,1996-11-19,981.6000000001546,981.5074,2015-01-01 02:43:39,bin9819,75, +CTSPillarNetworkA,9820,9820,9820,1996-11-20,981.7000000001547,981.60736,2015-01-01 02:43:40,bin9820,35, +CTSPillarNetworkA,9821,9821,9821,1996-11-21,981.8000000001547,981.70734,2015-01-01 02:43:41,bin9821,75, +CTSPillarNetworkA,9822,9822,9822,1996-11-22,981.9000000001547,981.8073,2015-01-01 02:43:42,bin9822,35, +CTSPillarNetworkA,9823,9823,9823,1996-11-23,982.0000000001547,981.9073,2015-01-01 02:43:43,bin9823,75, +CTSPillarNetworkA,9824,9824,9824,1996-11-24,982.1000000001548,982.00726,2015-01-01 02:43:44,bin9824,35, +CTSPillarNetworkA,9825,9825,9825,1996-11-25,982.2000000001548,982.10724,2015-01-01 02:43:45,bin9825,75, +CTSPillarNetworkA,9826,9826,9826,1996-11-26,982.3000000001548,982.2072,2015-01-01 02:43:46,bin9826,35, +CTSPillarNetworkA,9827,9827,9827,1996-11-27,982.4000000001548,982.3072,2015-01-01 02:43:47,bin9827,75, +CTSPillarNetworkA,9828,9828,9828,1996-11-28,982.5000000001548,982.40717,2015-01-01 02:43:48,bin9828,35, +CTSPillarNetworkA,9829,9829,9829,1996-11-29,982.6000000001549,982.50714,2015-01-01 02:43:49,bin9829,75, +CTSPillarNetworkA,9830,9830,9830,1996-11-30,982.7000000001549,982.6071,2015-01-01 02:43:50,bin9830,35, +CTSPillarNetworkA,9831,9831,9831,1996-12-01,982.8000000001549,982.7071,2015-01-01 02:43:51,bin9831,75, +CTSPillarNetworkA,9832,9832,9832,1996-12-02,982.9000000001549,982.80707,2015-01-01 02:43:52,bin9832,35, +CTSPillarNetworkA,9833,9833,9833,1996-12-03,983.000000000155,982.90704,2015-01-01 02:43:53,bin9833,75, +CTSPillarNetworkA,9834,9834,9834,1996-12-04,983.100000000155,983.007,2015-01-01 02:43:54,bin9834,35, +CTSPillarNetworkA,9835,9835,9835,1996-12-05,983.200000000155,983.107,2015-01-01 02:43:55,bin9835,75, +CTSPillarNetworkA,9836,9836,9836,1996-12-06,983.300000000155,983.207,2015-01-01 02:43:56,bin9836,35, +CTSPillarNetworkA,9837,9837,9837,1996-12-07,983.400000000155,983.30695,2015-01-01 02:43:57,bin9837,75, +CTSPillarNetworkA,9838,9838,9838,1996-12-08,983.5000000001551,983.4069,2015-01-01 02:43:58,bin9838,35, +CTSPillarNetworkA,9839,9839,9839,1996-12-09,983.6000000001551,983.5069,2015-01-01 02:43:59,bin9839,75, +CTSPillarNetworkA,9840,9840,9840,1996-12-10,983.7000000001551,983.6069,2015-01-01 02:44:00,bin9840,35, +CTSPillarNetworkA,9841,9841,9841,1996-12-11,983.8000000001551,983.70685,2015-01-01 02:44:01,bin9841,75, +CTSPillarNetworkA,9842,9842,9842,1996-12-12,983.9000000001552,983.8068,2015-01-01 02:44:02,bin9842,35, +CTSPillarNetworkA,9843,9843,9843,1996-12-13,984.0000000001552,983.9068,2015-01-01 02:44:03,bin9843,75, +CTSPillarNetworkA,9844,9844,9844,1996-12-14,984.1000000001552,984.0068,2015-01-01 02:44:04,bin9844,35, +CTSPillarNetworkA,9845,9845,9845,1996-12-15,984.2000000001552,984.10675,2015-01-01 02:44:05,bin9845,75, +CTSPillarNetworkA,9846,9846,9846,1996-12-16,984.3000000001553,984.2067,2015-01-01 02:44:06,bin9846,35, +CTSPillarNetworkA,9847,9847,9847,1996-12-17,984.4000000001553,984.3067,2015-01-01 02:44:07,bin9847,75, +CTSPillarNetworkA,9848,9848,9848,1996-12-18,984.5000000001553,984.4067,2015-01-01 02:44:08,bin9848,35, +CTSPillarNetworkA,9849,9849,9849,1996-12-19,984.6000000001553,984.50665,2015-01-01 02:44:09,bin9849,75, +CTSPillarNetworkA,9850,9850,9850,1996-12-20,984.7000000001553,984.6066,2015-01-01 02:44:10,bin9850,35, +CTSPillarNetworkA,9851,9851,9851,1996-12-21,984.8000000001554,984.7066,2015-01-01 02:44:11,bin9851,75, +CTSPillarNetworkA,9852,9852,9852,1996-12-22,984.9000000001554,984.8066,2015-01-01 02:44:12,bin9852,35, +CTSPillarNetworkA,9853,9853,9853,1996-12-23,985.0000000001554,984.90656,2015-01-01 02:44:13,bin9853,75, +CTSPillarNetworkA,9854,9854,9854,1996-12-24,985.1000000001554,985.00653,2015-01-01 02:44:14,bin9854,35, +CTSPillarNetworkA,9855,9855,9855,1996-12-25,985.2000000001555,985.1065,2015-01-01 02:44:15,bin9855,75, +CTSPillarNetworkA,9856,9856,9856,1996-12-26,985.3000000001555,985.2065,2015-01-01 02:44:16,bin9856,35, +CTSPillarNetworkA,9857,9857,9857,1996-12-27,985.4000000001555,985.30646,2015-01-01 02:44:17,bin9857,75, +CTSPillarNetworkA,9858,9858,9858,1996-12-28,985.5000000001555,985.40643,2015-01-01 02:44:18,bin9858,35, +CTSPillarNetworkA,9859,9859,9859,1996-12-29,985.6000000001555,985.5064,2015-01-01 02:44:19,bin9859,75, +CTSPillarNetworkA,9860,9860,9860,1996-12-30,985.7000000001556,985.6064,2015-01-01 02:44:20,bin9860,35, +CTSPillarNetworkA,9861,9861,9861,1996-12-31,985.8000000001556,985.70636,2015-01-01 02:44:21,bin9861,75, +CTSPillarNetworkA,9862,9862,9862,1997-01-01,985.9000000001556,985.80634,2015-01-01 02:44:22,bin9862,35, +CTSPillarNetworkA,9863,9863,9863,1997-01-02,986.0000000001556,985.9063,2015-01-01 02:44:23,bin9863,75, +CTSPillarNetworkA,9864,9864,9864,1997-01-03,986.1000000001557,986.0063,2015-01-01 02:44:24,bin9864,35, +CTSPillarNetworkA,9865,9865,9865,1997-01-04,986.2000000001557,986.10626,2015-01-01 02:44:25,bin9865,75, +CTSPillarNetworkA,9866,9866,9866,1997-01-05,986.3000000001557,986.20624,2015-01-01 02:44:26,bin9866,35, +CTSPillarNetworkA,9867,9867,9867,1997-01-06,986.4000000001557,986.3062,2015-01-01 02:44:27,bin9867,75, +CTSPillarNetworkA,9868,9868,9868,1997-01-07,986.5000000001558,986.4062,2015-01-01 02:44:28,bin9868,35, +CTSPillarNetworkA,9869,9869,9869,1997-01-08,986.6000000001558,986.50616,2015-01-01 02:44:29,bin9869,75, +CTSPillarNetworkA,9870,9870,9870,1997-01-09,986.7000000001558,986.60614,2015-01-01 02:44:30,bin9870,35, +CTSPillarNetworkA,9871,9871,9871,1997-01-10,986.8000000001558,986.7061,2015-01-01 02:44:31,bin9871,75, +CTSPillarNetworkA,9872,9872,9872,1997-01-11,986.9000000001558,986.8061,2015-01-01 02:44:32,bin9872,35, +CTSPillarNetworkA,9873,9873,9873,1997-01-12,987.0000000001559,986.90607,2015-01-01 02:44:33,bin9873,75, +CTSPillarNetworkA,9874,9874,9874,1997-01-13,987.1000000001559,987.00604,2015-01-01 02:44:34,bin9874,35, +CTSPillarNetworkA,9875,9875,9875,1997-01-14,987.2000000001559,987.106,2015-01-01 02:44:35,bin9875,75, +CTSPillarNetworkA,9876,9876,9876,1997-01-15,987.3000000001559,987.206,2015-01-01 02:44:36,bin9876,35, +CTSPillarNetworkA,9877,9877,9877,1997-01-16,987.400000000156,987.30597,2015-01-01 02:44:37,bin9877,75, +CTSPillarNetworkA,9878,9878,9878,1997-01-17,987.500000000156,987.40594,2015-01-01 02:44:38,bin9878,35, +CTSPillarNetworkA,9879,9879,9879,1997-01-18,987.600000000156,987.5059,2015-01-01 02:44:39,bin9879,75, +CTSPillarNetworkA,9880,9880,9880,1997-01-19,987.700000000156,987.6059,2015-01-01 02:44:40,bin9880,35, +CTSPillarNetworkA,9881,9881,9881,1997-01-20,987.800000000156,987.7059,2015-01-01 02:44:41,bin9881,75, +CTSPillarNetworkA,9882,9882,9882,1997-01-21,987.9000000001561,987.80585,2015-01-01 02:44:42,bin9882,35, +CTSPillarNetworkA,9883,9883,9883,1997-01-22,988.0000000001561,987.9058,2015-01-01 02:44:43,bin9883,75, +CTSPillarNetworkA,9884,9884,9884,1997-01-23,988.1000000001561,988.0058,2015-01-01 02:44:44,bin9884,35, +CTSPillarNetworkA,9885,9885,9885,1997-01-24,988.2000000001561,988.1058,2015-01-01 02:44:45,bin9885,75, +CTSPillarNetworkA,9886,9886,9886,1997-01-25,988.3000000001562,988.20575,2015-01-01 02:44:46,bin9886,35, +CTSPillarNetworkA,9887,9887,9887,1997-01-26,988.4000000001562,988.3057,2015-01-01 02:44:47,bin9887,75, +CTSPillarNetworkA,9888,9888,9888,1997-01-27,988.5000000001562,988.4057,2015-01-01 02:44:48,bin9888,35, +CTSPillarNetworkA,9889,9889,9889,1997-01-28,988.6000000001562,988.5057,2015-01-01 02:44:49,bin9889,75, +CTSPillarNetworkA,9890,9890,9890,1997-01-29,988.7000000001563,988.60565,2015-01-01 02:44:50,bin9890,35, +CTSPillarNetworkA,9891,9891,9891,1997-01-30,988.8000000001563,988.7056,2015-01-01 02:44:51,bin9891,75, +CTSPillarNetworkA,9892,9892,9892,1997-01-31,988.9000000001563,988.8056,2015-01-01 02:44:52,bin9892,35, +CTSPillarNetworkA,9893,9893,9893,1997-02-01,989.0000000001563,988.9056,2015-01-01 02:44:53,bin9893,75, +CTSPillarNetworkA,9894,9894,9894,1997-02-02,989.1000000001563,989.00555,2015-01-01 02:44:54,bin9894,35, +CTSPillarNetworkA,9895,9895,9895,1997-02-03,989.2000000001564,989.1055,2015-01-01 02:44:55,bin9895,75, +CTSPillarNetworkA,9896,9896,9896,1997-02-04,989.3000000001564,989.2055,2015-01-01 02:44:56,bin9896,35, +CTSPillarNetworkA,9897,9897,9897,1997-02-05,989.4000000001564,989.3055,2015-01-01 02:44:57,bin9897,75, +CTSPillarNetworkA,9898,9898,9898,1997-02-06,989.5000000001564,989.40546,2015-01-01 02:44:58,bin9898,35, +CTSPillarNetworkA,9899,9899,9899,1997-02-07,989.6000000001565,989.50543,2015-01-01 02:44:59,bin9899,75, +CTSPillarNetworkA,9900,9900,9900,1997-02-08,989.7000000001565,989.6054,2015-01-01 02:45:00,bin9900,35, +CTSPillarNetworkA,9901,9901,9901,1997-02-09,989.8000000001565,989.7054,2015-01-01 02:45:01,bin9901,75, +CTSPillarNetworkA,9902,9902,9902,1997-02-10,989.9000000001565,989.80536,2015-01-01 02:45:02,bin9902,35, +CTSPillarNetworkA,9903,9903,9903,1997-02-11,990.0000000001565,989.90533,2015-01-01 02:45:03,bin9903,75, +CTSPillarNetworkA,9904,9904,9904,1997-02-12,990.1000000001566,990.0053,2015-01-01 02:45:04,bin9904,35, +CTSPillarNetworkA,9905,9905,9905,1997-02-13,990.2000000001566,990.1053,2015-01-01 02:45:05,bin9905,75, +CTSPillarNetworkA,9906,9906,9906,1997-02-14,990.3000000001566,990.20526,2015-01-01 02:45:06,bin9906,35, +CTSPillarNetworkA,9907,9907,9907,1997-02-15,990.4000000001566,990.30524,2015-01-01 02:45:07,bin9907,75, +CTSPillarNetworkA,9908,9908,9908,1997-02-16,990.5000000001567,990.4052,2015-01-01 02:45:08,bin9908,35, +CTSPillarNetworkA,9909,9909,9909,1997-02-17,990.6000000001567,990.5052,2015-01-01 02:45:09,bin9909,75, +CTSPillarNetworkA,9910,9910,9910,1997-02-18,990.7000000001567,990.60516,2015-01-01 02:45:10,bin9910,35, +CTSPillarNetworkA,9911,9911,9911,1997-02-19,990.8000000001567,990.70514,2015-01-01 02:45:11,bin9911,75, +CTSPillarNetworkA,9912,9912,9912,1997-02-20,990.9000000001568,990.8051,2015-01-01 02:45:12,bin9912,35, +CTSPillarNetworkA,9913,9913,9913,1997-02-21,991.0000000001568,990.9051,2015-01-01 02:45:13,bin9913,75, +CTSPillarNetworkA,9914,9914,9914,1997-02-22,991.1000000001568,991.00507,2015-01-01 02:45:14,bin9914,35, +CTSPillarNetworkA,9915,9915,9915,1997-02-23,991.2000000001568,991.10504,2015-01-01 02:45:15,bin9915,75, +CTSPillarNetworkA,9916,9916,9916,1997-02-24,991.3000000001568,991.205,2015-01-01 02:45:16,bin9916,35, +CTSPillarNetworkA,9917,9917,9917,1997-02-25,991.4000000001569,991.305,2015-01-01 02:45:17,bin9917,75, +CTSPillarNetworkA,9918,9918,9918,1997-02-26,991.5000000001569,991.40497,2015-01-01 02:45:18,bin9918,35, +CTSPillarNetworkA,9919,9919,9919,1997-02-27,991.6000000001569,991.50494,2015-01-01 02:45:19,bin9919,75, +CTSPillarNetworkA,9920,9920,9920,1997-02-28,991.7000000001569,991.6049,2015-01-01 02:45:20,bin9920,35, +CTSPillarNetworkA,9921,9921,9921,1997-03-01,991.800000000157,991.7049,2015-01-01 02:45:21,bin9921,75, +CTSPillarNetworkA,9922,9922,9922,1997-03-02,991.900000000157,991.8049,2015-01-01 02:45:22,bin9922,35, +CTSPillarNetworkA,9923,9923,9923,1997-03-03,992.000000000157,991.90485,2015-01-01 02:45:23,bin9923,75, +CTSPillarNetworkA,9924,9924,9924,1997-03-04,992.100000000157,992.0048,2015-01-01 02:45:24,bin9924,35, +CTSPillarNetworkA,9925,9925,9925,1997-03-05,992.200000000157,992.1048,2015-01-01 02:45:25,bin9925,75, +CTSPillarNetworkA,9926,9926,9926,1997-03-06,992.3000000001571,992.2048,2015-01-01 02:45:26,bin9926,35, +CTSPillarNetworkA,9927,9927,9927,1997-03-07,992.4000000001571,992.30475,2015-01-01 02:45:27,bin9927,75, +CTSPillarNetworkA,9928,9928,9928,1997-03-08,992.5000000001571,992.4047,2015-01-01 02:45:28,bin9928,35, +CTSPillarNetworkA,9929,9929,9929,1997-03-09,992.6000000001571,992.5047,2015-01-01 02:45:29,bin9929,75, +CTSPillarNetworkA,9930,9930,9930,1997-03-10,992.7000000001572,992.6047,2015-01-01 02:45:30,bin9930,35, +CTSPillarNetworkA,9931,9931,9931,1997-03-11,992.8000000001572,992.70465,2015-01-01 02:45:31,bin9931,75, +CTSPillarNetworkA,9932,9932,9932,1997-03-12,992.9000000001572,992.8046,2015-01-01 02:45:32,bin9932,35, +CTSPillarNetworkA,9933,9933,9933,1997-03-13,993.0000000001572,992.9046,2015-01-01 02:45:33,bin9933,75, +CTSPillarNetworkA,9934,9934,9934,1997-03-14,993.1000000001573,993.0046,2015-01-01 02:45:34,bin9934,35, +CTSPillarNetworkA,9935,9935,9935,1997-03-15,993.2000000001573,993.10455,2015-01-01 02:45:35,bin9935,75, +CTSPillarNetworkA,9936,9936,9936,1997-03-16,993.3000000001573,993.2045,2015-01-01 02:45:36,bin9936,35, +CTSPillarNetworkA,9937,9937,9937,1997-03-17,993.4000000001573,993.3045,2015-01-01 02:45:37,bin9937,75, +CTSPillarNetworkA,9938,9938,9938,1997-03-18,993.5000000001573,993.4045,2015-01-01 02:45:38,bin9938,35, +CTSPillarNetworkA,9939,9939,9939,1997-03-19,993.6000000001574,993.50446,2015-01-01 02:45:39,bin9939,75, +CTSPillarNetworkA,9940,9940,9940,1997-03-20,993.7000000001574,993.60443,2015-01-01 02:45:40,bin9940,35, +CTSPillarNetworkA,9941,9941,9941,1997-03-21,993.8000000001574,993.7044,2015-01-01 02:45:41,bin9941,75, +CTSPillarNetworkA,9942,9942,9942,1997-03-22,993.9000000001574,993.8044,2015-01-01 02:45:42,bin9942,35, +CTSPillarNetworkA,9943,9943,9943,1997-03-23,994.0000000001575,993.90436,2015-01-01 02:45:43,bin9943,75, +CTSPillarNetworkA,9944,9944,9944,1997-03-24,994.1000000001575,994.00433,2015-01-01 02:45:44,bin9944,35, +CTSPillarNetworkA,9945,9945,9945,1997-03-25,994.2000000001575,994.1043,2015-01-01 02:45:45,bin9945,75, +CTSPillarNetworkA,9946,9946,9946,1997-03-26,994.3000000001575,994.2043,2015-01-01 02:45:46,bin9946,35, +CTSPillarNetworkA,9947,9947,9947,1997-03-27,994.4000000001575,994.30426,2015-01-01 02:45:47,bin9947,75, +CTSPillarNetworkA,9948,9948,9948,1997-03-28,994.5000000001576,994.40424,2015-01-01 02:45:48,bin9948,35, +CTSPillarNetworkA,9949,9949,9949,1997-03-29,994.6000000001576,994.5042,2015-01-01 02:45:49,bin9949,75, +CTSPillarNetworkA,9950,9950,9950,1997-03-30,994.7000000001576,994.6042,2015-01-01 02:45:50,bin9950,35, +CTSPillarNetworkA,9951,9951,9951,1997-03-31,994.8000000001576,994.70416,2015-01-01 02:45:51,bin9951,75, +CTSPillarNetworkA,9952,9952,9952,1997-04-01,994.9000000001577,994.80414,2015-01-01 02:45:52,bin9952,35, +CTSPillarNetworkA,9953,9953,9953,1997-04-02,995.0000000001577,994.9041,2015-01-01 02:45:53,bin9953,75, +CTSPillarNetworkA,9954,9954,9954,1997-04-03,995.1000000001577,995.0041,2015-01-01 02:45:54,bin9954,35, +CTSPillarNetworkA,9955,9955,9955,1997-04-04,995.2000000001577,995.10406,2015-01-01 02:45:55,bin9955,75, +CTSPillarNetworkA,9956,9956,9956,1997-04-05,995.3000000001578,995.20404,2015-01-01 02:45:56,bin9956,35, +CTSPillarNetworkA,9957,9957,9957,1997-04-06,995.4000000001578,995.304,2015-01-01 02:45:57,bin9957,75, +CTSPillarNetworkA,9958,9958,9958,1997-04-07,995.5000000001578,995.404,2015-01-01 02:45:58,bin9958,35, +CTSPillarNetworkA,9959,9959,9959,1997-04-08,995.6000000001578,995.50397,2015-01-01 02:45:59,bin9959,75, +CTSPillarNetworkA,9960,9960,9960,1997-04-09,995.7000000001578,995.60394,2015-01-01 02:46:00,bin9960,35, +CTSPillarNetworkA,9961,9961,9961,1997-04-10,995.8000000001579,995.7039,2015-01-01 02:46:01,bin9961,75, +CTSPillarNetworkA,9962,9962,9962,1997-04-11,995.9000000001579,995.8039,2015-01-01 02:46:02,bin9962,35, +CTSPillarNetworkA,9963,9963,9963,1997-04-12,996.0000000001579,995.9039,2015-01-01 02:46:03,bin9963,75, +CTSPillarNetworkA,9964,9964,9964,1997-04-13,996.1000000001579,996.00385,2015-01-01 02:46:04,bin9964,35, +CTSPillarNetworkA,9965,9965,9965,1997-04-14,996.200000000158,996.1038,2015-01-01 02:46:05,bin9965,75, +CTSPillarNetworkA,9966,9966,9966,1997-04-15,996.300000000158,996.2038,2015-01-01 02:46:06,bin9966,35, +CTSPillarNetworkA,9967,9967,9967,1997-04-16,996.400000000158,996.3038,2015-01-01 02:46:07,bin9967,75, +CTSPillarNetworkA,9968,9968,9968,1997-04-17,996.500000000158,996.40375,2015-01-01 02:46:08,bin9968,35, +CTSPillarNetworkA,9969,9969,9969,1997-04-18,996.600000000158,996.5037,2015-01-01 02:46:09,bin9969,75, +CTSPillarNetworkA,9970,9970,9970,1997-04-19,996.7000000001581,996.6037,2015-01-01 02:46:10,bin9970,35, +CTSPillarNetworkA,9971,9971,9971,1997-04-20,996.8000000001581,996.7037,2015-01-01 02:46:11,bin9971,75, +CTSPillarNetworkA,9972,9972,9972,1997-04-21,996.9000000001581,996.80365,2015-01-01 02:46:12,bin9972,35, +CTSPillarNetworkA,9973,9973,9973,1997-04-22,997.0000000001581,996.9036,2015-01-01 02:46:13,bin9973,75, +CTSPillarNetworkB,SPY,35000.332257024,,1997-04-24,997.1000000001582,997.0036,2015-01-01 02:46:15,binA,250,false +CTSPillarNetworkB,SPY,35000.332278016,30,,997.2000000001582,997.1036,2015-01-01 02:46:16,bin,255, +CTSPillarNetworkB,SPY,35000.332319232,22,1997-04-26,,,2015-01-01 02:46:17,bin,255, +CTSPillarNetworkB,SPY,35000.420437719,250,1997-04-27,997.4000000001582,997.3035,,bin,255, +CTSPillarNetworkB,SPY,35000.509000000,21,1997-04-28,997.5000000001583,997.4035,2015-01-01 02:46:19,,255, +CTSPillarNetworkB,SPY,35000.623816380,100,1997-04-29,997.6000000001583,997.5035,2015-01-01 02:46:20,bin,, +CTSPillarNetworkB,SPY,35000.733000000,1,1997-04-30,997.7000000001583,997.60345,2015-01-01 02:46:21,bin,255, +CTSPillarNetworkB,SPY,35000.918482000,11,1997-05-01,997.8000000001583,997.7034,2015-01-01 02:46:22,bin,255, +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-02,997.9000000001583,997.8034,2015-01-01 02:46:23,bin,255, +CTSPillarNetworkB,SPY,35000.918484000,30,1997-05-03,998.0000000001584,997.9034,2015-01-01 02:46:24,bin,255,false +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-04,998.1000000001584,998.00336,2015-01-01 02:46:25,bin,255,false +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-05,998.2000000001584,998.10333,2015-01-01 02:46:26,bin,255, +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-06,998.3000000001584,998.2033,2015-01-01 02:46:27,bin,255, +CTSPillarNetworkB,SPY,35000.919489536,100,1997-05-07,998.4000000001585,998.3033,2015-01-01 02:46:28,bin,255, +CTSPillarNetworkB,SPY,35000.919650899,100,1997-05-08,998.5000000001585,998.40326,2015-01-01 02:46:29,bin,255, +CTSPillarNetworkB,SPY,35000.919685139,100,1997-05-09,998.6000000001585,998.50323,2015-01-01 02:46:30,bin,255, +CTSPillarNetworkB,SPY,35000.974576770,100,1997-05-10,998.7000000001585,998.6032,2015-01-01 02:46:31,bin,255, +CTSPillarNetworkB,SPY,35000.974911035,100,1997-05-11,998.8000000001585,998.7032,2015-01-01 02:46:32,bin,255, +CTSPillarNetworkB,SPY,35000.977960728,23,1997-05-12,998.9000000001586,998.80316,2015-01-01 02:46:33,bin,255, +CTSPillarNetworkB,SPY,35000.978023000,6,1997-05-13,999.0000000001586,998.90314,2015-01-01 02:46:34,bin,255, +CTSPillarNetworkB,SPY,35000.978102524,18,1997-05-14,999.1000000001586,999.0031,2015-01-01 02:46:35,bin,255, +CTSPillarNetworkB,SPY,35000.978124544,100,1997-05-15,999.2000000001586,999.1031,2015-01-01 02:46:36,bin,255, +CTSPillarNetworkB,SPY,35000.978349245,23,1997-05-16,999.3000000001587,999.20306,2015-01-01 02:46:37,bin,255, +CTSPillarNetworkB,SPY,35000.978601023,6,1997-05-17,999.4000000001587,999.30304,2015-01-01 02:46:38,bin,255, +CTSPillarNetworkB,SPY,35000.978704313,18,1997-05-18,999.5000000001587,999.403,2015-01-01 02:46:39,bin,255,true +CTSPillarNetworkB,SPY,35000.978803110,100,1997-05-19,999.6000000001587,999.503,2015-01-01 02:46:40,bin,255,true +CTSPillarNetworkB,SPY,35000.983917824,53,,999.7000000001588,,2015-01-01 02:46:47,binZ,251,true diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc new file mode 100644 index 0000000000000000000000000000000000000000..8d389adf37d44fa62b3fb20b8e107c16e9280a11 GIT binary patch literal 139599 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%0D8IKCz8V{lUoithFAL=eYp2CS3NBUy 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 literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index 78bb79c..ec26433 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -16,7 +16,7 @@ public class OrcReader_Test [Fact] public void FileTail_DefaultOptomisticSize() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); var expectedColumns = new[] { new OrcColumn(1, "Source", ColumnTypeKind.String), @@ -35,7 +35,7 @@ public void FileTail_DefaultOptomisticSize() [Fact] public void FileTail_MinimumInitialReadSize() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration { OptimisticFileTailReadLength = 1 }, _byteRangeProvider); var expectedColumns = new[] { new OrcColumn(1, "Source", ColumnTypeKind.String), @@ -54,7 +54,7 @@ public void FileTail_MinimumInitialReadSize() [Fact] public void FileColumnStatistics() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); Assert.Equal("BZX", reader.GetFileColumnStatistics(1).StringStatistics.Minimum); Assert.Equal("UTDFNetworkC", reader.GetFileColumnStatistics(1).StringStatistics.Maximum); Assert.Equal(1, reader.GetFileColumnStatistics(2).IntStatistics.Minimum); @@ -68,7 +68,7 @@ public void FileColumnStatistics() [Fact] public void StripeColumnStatistics() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Minimum); Assert.Equal("BZX", reader.GetStripeColumnStatistics(1, 0).StringStatistics.Maximum); Assert.Equal(1, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Minimum); @@ -82,7 +82,7 @@ public void StripeColumnStatistics() [Fact] public void RowGroupStatistics() { - var reader = new OrcReader(new OrcOptimizedReaderConfiguration(), _byteRangeProvider); + var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); var rowGroupEntry = reader.GetRowGroupIndex(columnId: 1, stripeId: 0).Entry[0]; Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Minimum); Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Maximum); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs new file mode 100644 index 0000000..cf3fde3 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -0,0 +1,58 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Test.TestHelpers; +using System; +using System.IO; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public sealed class TestByteRangeProviderParallel : IByteRangeProvider + { + readonly object _syncRoot = new object(); + readonly Stream _stream; + + internal TestByteRangeProviderParallel() + { + var dataFileHelper = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.orc"); + _stream = dataFileHelper.GetStream(); + } + + public void Dispose() + { + _stream.Dispose(); + } + + public int GetRange(Span buffer, long position) + { + lock (_syncRoot) + { + _stream.Seek(position, SeekOrigin.Begin); + return DoRead(buffer); + } + } + + public int GetRangeFromEnd(Span buffer, long positionFromEnd) + { + lock (_syncRoot) + { + _stream.Seek(-positionFromEnd, SeekOrigin.End); + return DoRead(buffer); + } + } + + private int DoRead(Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = _stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } + } +} From f2cf967adb8ea47f90c7a90f7fde912462138f73 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:26:19 -0300 Subject: [PATCH 060/143] Add unit tests with and without nulls. --- .../OptimizedORCApp.cs | 22 +- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 5 + ...{_BaseColumnType.cs => BaseColumnTypes.cs} | 29 +- .../{ => WithNulls}/BinaryColumn_Test.cs | 4 +- .../{ => WithNulls}/BooleanColumn_Test.cs | 4 +- .../{ => WithNulls}/ByteColumn_Test.cs | 4 +- .../{ => WithNulls}/DateColumn_Test.cs | 6 +- .../DecimalAsDoubleColumn_Test.cs | 4 +- .../{ => WithNulls}/DecimalColumn_Test.cs | 4 +- .../{ => WithNulls}/DoubleColumn_Test.cs | 4 +- .../{ => WithNulls}/FloatColumn_Test.cs | 4 +- .../{ => WithNulls}/IntegerColumn_Test.cs | 4 +- .../{ => WithNulls}/StringColumn_Test.cs | 4 +- .../{ => WithNulls}/TimestampColumn_Test.cs | 4 +- .../WithoutNulls/BinaryColumn_Test.cs | 50 + .../WithoutNulls/BooleanColumn_Test.cs | 49 + .../WithoutNulls/ByteColumn_Test.cs | 49 + .../WithoutNulls/DateColumn_Test.cs | 50 + .../DecimalAsDoubleColumn_Test.cs | 49 + .../WithoutNulls/DecimalColumn_Test.cs | 49 + .../WithoutNulls/DoubleColumn_Test.cs | 49 + .../WithoutNulls/FloatColumn_Test.cs | 49 + .../WithoutNulls/IntegerColumn_Test.cs | 49 + .../WithoutNulls/StringColumn_Test.cs | 91 + .../WithoutNulls/TimestampColumn_Test.cs | 50 + .../Data/optimized_reader_test_file-info.txt | 163 +- .../optimized_reader_test_file_no_nulls.csv | 10001 ++++++++++++++++ .../optimized_reader_test_file_no_nulls.orc | Bin 0 -> 139313 bytes .../optimized_reader_test_file_no_nulls.txt | 131 + .../TestByteRangeProviderParallel.cs | 4 +- 30 files changed, 10856 insertions(+), 129 deletions(-) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{_BaseColumnType.cs => BaseColumnTypes.cs} (77%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/BinaryColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/BooleanColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/ByteColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DateColumn_Test.cs (89%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DecimalAsDoubleColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DecimalColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/DoubleColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/FloatColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/IntegerColumn_Test.cs (92%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/StringColumn_Test.cs (95%) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{ => WithNulls}/TimestampColumn_Test.cs (92%) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 13a08bb..7046bee 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -116,18 +116,18 @@ public void Run() if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { Console.WriteLine($"" + - //$"{source}," + - //$"{symbol}," + - //$"{time.ToString().PadRight(15, '0')}," + - //$"{size}" + - //$" " + - //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - //$"{dobl}," + + $"{source}," + + $"{symbol}," + + $"{time.ToString().PadRight(15, '0')}," + + $"{size}" + + $" " + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + $"{dobl}," + $"{sing}," + - //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - //$"{tinyInt}," + - //$"{boolean}" + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}," + + $"{boolean}" + $"" ); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index 485bde9..a5c959f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -17,11 +17,16 @@ + + + + + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs similarity index 77% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs index 722ca49..5506719 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_BaseColumnType.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs @@ -6,17 +6,34 @@ namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes { - public abstract class _BaseColumnType + public abstract class _BaseColumnTypeWithNulls : BaseColumnTypes + { + public _BaseColumnTypeWithNulls() : base("optimized_reader_test_file") + { + } + } + + public abstract class _BaseColumnTypeWithoutNulls : BaseColumnTypes + { + public _BaseColumnTypeWithoutNulls() : base("optimized_reader_test_file_no_nulls") + { + } + } + + public abstract class BaseColumnTypes { private protected readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); - private protected readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProviderParallel(); private protected readonly (List sources, List symbols, List times, List timesAsDouble, List sizes, List dates, List doubles, List floats, List timestamps, List binaries, List bytes, List booleans) _expectedValues = (new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List()); + private protected readonly IByteRangeProvider _byteRangeProvider; + private readonly DataFileHelper _expectedValuesFile; - private protected _BaseColumnType() + public BaseColumnTypes(string fileName) { - var expectedDataFile = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.csv"); - var expectedDataStream = expectedDataFile.GetStream(); + _byteRangeProvider = new TestByteRangeProviderParallel($"{fileName}.orc"); + _expectedValuesFile = new DataFileHelper(typeof(TestByteRangeProvider), $"{fileName}.csv"); + + var expectedDataStream = _expectedValuesFile.GetStream(); using (StreamReader reader = new StreamReader(expectedDataStream)) { while (!reader.EndOfStream) @@ -40,7 +57,7 @@ private protected _BaseColumnType() } } - ~_BaseColumnType() + ~BaseColumnTypes() { _byteRangeProvider.Dispose(); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index b9c21bf..84f0558 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -1,9 +1,9 @@ using System.Text; using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class BinaryColumn_Test : _BaseColumnType + public class BinaryColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Binary_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index 7ebe496..c881e80 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class BooleanColumn_Test : _BaseColumnType + public class BooleanColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Boolean_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 1bd583a..0de92dd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class ByteColumn_Test : _BaseColumnType + public class ByteColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Byte_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs similarity index 89% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 794f60e..54dfac0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -1,9 +1,9 @@ using System; using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DateColumn_Test : _BaseColumnType + public class DateColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Date_Column_10k_Values() @@ -32,7 +32,7 @@ public void Date_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("byte"); + var column = reader.GetColumn("date"); var buffer = reader.CreateDateColumnBuffer(column); reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 2c4f76d..8a2499a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DecimalAsDoubleColumn_Test : _BaseColumnType + public class DecimalAsDoubleColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void DecimalAsDouble_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index b02c7a6..5950f4d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DecimalColumn_Test : _BaseColumnType + public class DecimalColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Decimal_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index 101ad06..a7fad46 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class DoubleColumn_Test : _BaseColumnType + public class DoubleColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Double_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index ee160f6..5e802e3 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class FloatColumn_Test : _BaseColumnType + public class FloatColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Float_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 84724ad..f526c1b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class IntegerColumn_Test : _BaseColumnType + public class IntegerColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Integer_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs similarity index 95% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index ee9f10b..43e00ff 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -1,8 +1,8 @@ using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class StringColumn_Test : _BaseColumnType + public class StringColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void String_DirectV2_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs similarity index 92% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index 2b2e772..6f8fd7b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -1,9 +1,9 @@ using System; using Xunit; -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls { - public class TimestampColumn_Test : _BaseColumnType + public class TimestampColumn_Test : _BaseColumnTypeWithNulls { [Fact] public void Timestamp_Column_10k_Values() diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs new file mode 100644 index 0000000..0ba1c5c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -0,0 +1,50 @@ +using System.Text; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class BinaryColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Binary_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + + [Fact] + public void Binary_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var buffer = reader.CreateBinaryColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.binaries[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs new file mode 100644 index 0000000..24696e1 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class BooleanColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Boolean_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + + [Fact] + public void Boolean_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("boolean"); + var buffer = reader.CreateBooleanColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.booleans[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs new file mode 100644 index 0000000..2dcb07a --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class ByteColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Byte_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + + [Fact] + public void Byte_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("byte"); + var buffer = reader.CreateByteColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.bytes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs new file mode 100644 index 0000000..c0cb127 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DateColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Date_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("date"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Date_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("date"); + var buffer = reader.CreateDateColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.dates[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs new file mode 100644 index 0000000..3f6fbc7 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DecimalAsDoubleColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void DecimalAsDouble_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void DecimalAsDouble_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timesAsDouble[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs new file mode 100644 index 0000000..049f4b9 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DecimalColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Decimal_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Decimal_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("time"); + var buffer = reader.CreateDecimalColumnReader(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.times[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs new file mode 100644 index 0000000..83184ee --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DoubleColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Double_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Double_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var buffer = reader.CreateDoubleColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.doubles[i] == null) + Assert.Equal(double.NaN, buffer.Values[i]); + else + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs new file mode 100644 index 0000000..b2aced9 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class FloatColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Float_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Float_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var buffer = reader.CreateFloatColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.floats[i] == null) + Assert.Equal(float.NaN, buffer.Values[i]); + else + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs new file mode 100644 index 0000000..653626c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class IntegerColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Integer_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Integer_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("size"); + var buffer = reader.CreateIntegerColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sizes[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs new file mode 100644 index 0000000..e3f8dd0 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -0,0 +1,91 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class StringColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void String_DirectV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DirectV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("symbol"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.symbols[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + + [Fact] + public void String_DictionaryV2_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("source"); + var buffer = reader.CreateStringColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.sources[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs new file mode 100644 index 0000000..7894686 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -0,0 +1,50 @@ +using System; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class TimestampColumn_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Timestamp_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + + Assert.Equal(10_000, buffer.Values.Length); + + for (int i = 0; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + + [Fact] + public void Timestamp_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("timestamp"); + var buffer = reader.CreateTimestampColumnBuffer(column); + reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + + Assert.Equal(1, buffer.Values.Length); + + for (int i = 10_000; i < buffer.Values.Length; i++) + { + if (_expectedValues.timestamps[i] == null) + Assert.Null(buffer.Values[i]); + else + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt index f4269d3..b8215dc 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt @@ -1,5 +1,5 @@ -Processing data file optimized_reader_test_file.orc [length: 139598] -Structure for optimized_reader_test_file.orc +Processing data file optimized_reader_test_file_no_nulls.orc [length: 139313] +Structure for optimized_reader_test_file_no_nulls.orc File Version: 0.12 with ORC_14 by ORC Java 1.7.4 Compression: ZLIB @@ -24,74 +24,63 @@ Type: struct< Stripe Statistics: Stripe 1: Column 0: count: 10001 hasNull: false - Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 - Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 - Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 - Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 - Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 - Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 - Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 - Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 - Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 - Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 - Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22229 sum: 68791 + Column 10: count: 10001 hasNull: false bytesOnDisk: 87 min: -6 max: 75 sum: 548534 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3015 File Statistics: Column 0: count: 10001 hasNull: false - Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 - Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 - Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 - Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 - Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 - Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 - Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 - Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 - Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 - Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 - Column 11: count: 10 hasNull: true bytesOnDisk: 27 true: 6 + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22229 sum: 68791 + Column 10: count: 10001 hasNull: false bytesOnDisk: 87 min: -6 max: 75 sum: 548534 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3015 Stripes: - Stripe: offset: 3 data: 137885 rows: 10001 tail: 233 index: 716 + Stripe: offset: 3 data: 137692 rows: 10001 tail: 197 index: 680 Stream: column 0 section ROW_INDEX start: 3 length 20 - Stream: column 1 section ROW_INDEX start: 23 length 72 - Stream: column 2 section ROW_INDEX start: 95 length 61 - Stream: column 3 section ROW_INDEX start: 156 length 100 - Stream: column 4 section ROW_INDEX start: 256 length 58 - Stream: column 5 section ROW_INDEX start: 314 length 46 - Stream: column 6 section ROW_INDEX start: 360 length 78 - Stream: column 7 section ROW_INDEX start: 438 length 65 - Stream: column 8 section ROW_INDEX start: 503 length 71 - Stream: column 9 section ROW_INDEX start: 574 length 50 - Stream: column 10 section ROW_INDEX start: 624 length 56 - Stream: column 11 section ROW_INDEX start: 680 length 39 - Stream: column 1 section PRESENT start: 719 length 15 - Stream: column 1 section DATA start: 734 length 20 - Stream: column 1 section LENGTH start: 754 length 7 - Stream: column 1 section DICTIONARY_DATA start: 761 length 26 - Stream: column 2 section PRESENT start: 787 length 15 - Stream: column 2 section DATA start: 802 length 18391 - Stream: column 2 section LENGTH start: 19193 length 30 - Stream: column 3 section PRESENT start: 19223 length 15 - Stream: column 3 section DATA start: 19238 length 18959 - Stream: column 3 section SECONDARY start: 38197 length 37 - Stream: column 4 section PRESENT start: 38234 length 19 - Stream: column 4 section DATA start: 38253 length 464 - Stream: column 5 section PRESENT start: 38717 length 19 - Stream: column 5 section DATA start: 38736 length 80 - Stream: column 6 section PRESENT start: 38816 length 18 - Stream: column 6 section DATA start: 38834 length 43239 - Stream: column 7 section PRESENT start: 82073 length 18 - Stream: column 7 section DATA start: 82091 length 34023 - Stream: column 8 section PRESENT start: 116114 length 18 - Stream: column 8 section DATA start: 116132 length 83 - Stream: column 8 section SECONDARY start: 116215 length 15 - Stream: column 9 section PRESENT start: 116230 length 18 - Stream: column 9 section DATA start: 116248 length 22191 - Stream: column 9 section LENGTH start: 138439 length 33 - Stream: column 10 section PRESENT start: 138472 length 18 - Stream: column 10 section DATA start: 138490 length 87 - Stream: column 11 section PRESENT start: 138577 length 21 - Stream: column 11 section DATA start: 138598 length 6 + Stream: column 1 section ROW_INDEX start: 23 length 68 + Stream: column 2 section ROW_INDEX start: 91 length 57 + Stream: column 3 section ROW_INDEX start: 148 length 96 + Stream: column 4 section ROW_INDEX start: 244 length 52 + Stream: column 5 section ROW_INDEX start: 296 length 49 + Stream: column 6 section ROW_INDEX start: 345 length 69 + Stream: column 7 section ROW_INDEX start: 414 length 68 + Stream: column 8 section ROW_INDEX start: 482 length 64 + Stream: column 9 section ROW_INDEX start: 546 length 45 + Stream: column 10 section ROW_INDEX start: 591 length 50 + Stream: column 11 section ROW_INDEX start: 641 length 42 + Stream: column 1 section DATA start: 683 length 20 + Stream: column 1 section LENGTH start: 703 length 7 + Stream: column 1 section DICTIONARY_DATA start: 710 length 26 + Stream: column 2 section DATA start: 736 length 18396 + Stream: column 2 section LENGTH start: 19132 length 30 + Stream: column 3 section DATA start: 19162 length 18962 + Stream: column 3 section SECONDARY start: 38124 length 37 + Stream: column 4 section DATA start: 38161 length 459 + Stream: column 5 section DATA start: 38620 length 74 + Stream: column 6 section DATA start: 38694 length 43212 + Stream: column 7 section DATA start: 81906 length 34041 + Stream: column 8 section DATA start: 115947 length 74 + Stream: column 8 section SECONDARY start: 116021 length 15 + Stream: column 9 section DATA start: 116036 length 22196 + Stream: column 9 section LENGTH start: 138232 length 33 + Stream: column 10 section DATA start: 138265 length 87 + Stream: column 11 section DATA start: 138352 length 23 Encoding column 0: DIRECT Encoding column 1: DICTIONARY_V2[2] Encoding column 2: DIRECT_V2 @@ -105,39 +94,39 @@ Stripes: Encoding column 10: DIRECT Encoding column 11: DIRECT Row group indices for column 1: - Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 Row group indices for column 2: - Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 Row group indices for column 3: - Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 + Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 Row group indices for column 4: - Entry 0: count: 9996 hasNull: true min: 0 max: 9973 sum: 49736817 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,24,3,0,0,735,8 + Entry 0: count: 10000 hasNull: false min: 0 max: 9973 sum: 49736873 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,615,8 Row group indices for column 5: - Entry 0: count: 9996 hasNull: true min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0,0,0,0,0 - Entry 1: count: 0 hasNull: true positions: 0,24,3,0,0,225,268 + Entry 0: count: 10000 hasNull: false min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: Hybrid AD 1997-05-20 max: Hybrid AD 1997-05-20 positions: 0,97,272 Row group indices for column 6: - Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.6000000001587 sum: 4995503.300000527 positions: 0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 999.7000000001588 max: 999.7000000001588 sum: 999.7000000001588 positions: 0,22,3,0,0,79968 + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.9000000001588 sum: 4999500.000000527 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 1000.0000000001588 max: 1000.0000000001588 sum: 1000.0000000001588 positions: 0,80000 Row group indices for column 7: - Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 positions: 0,0,0,0,0,0 - Entry 1: count: 0 hasNull: true sum: 0.0 positions: 0,22,3,0,0,39984 + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.8029174804688 sum: 4999355.885653399 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 999.9028930664062 max: 999.9028930664062 sum: 999.9028930664062 positions: 0,40000 Row group indices for column 8: - Entry 0: count: 9996 hasNull: true min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:47.0 max: 2015-01-01 02:46:47.0 positions: 0,22,3,0,0,225,268,0,76,268 + Entry 0: count: 10000 hasNull: false min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:41.0 max: 2015-01-01 02:46:41.0 positions: 0,97,272,0,76,272 Row group indices for column 9: - Entry 0: count: 9996 hasNull: true sum: 68772 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false sum: 4 positions: 0,22,3,0,0,68772,0,89,24 + Entry 0: count: 10000 hasNull: false sum: 68787 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 4 positions: 0,68787,0,89,25 Row group indices for column 10: - Entry 0: count: 9996 hasNull: true min: -6 max: 75 sum: 548315 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: -5 max: -5 sum: -5 positions: 0,22,3,0,0,10049,24 + Entry 0: count: 10000 hasNull: false min: -5 max: 75 sum: 548540 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: -6 max: -6 sum: -6 positions: 0,10053,25 Row group indices for column 11: - Entry 0: count: 9 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,3,0,0,0,1,1 + Entry 0: count: 10000 hasNull: false true: 3014 positions: 0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,20,4,0 -File length: 139598 bytes +File length: 139313 bytes Padding length: 0 bytes Padding ratio: 0% \ No newline at end of file diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv new file mode 100644 index 0000000..01a321b --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv @@ -0,0 +1,10001 @@ +CTSPillarNetworkA,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,True +CTSPillarNetworkA,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,True +CTSPillarNetworkA,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35,True +CTSPillarNetworkA,3,3,3,1970-01-04,0.30000000000000004,0.3,2015-01-01 00:00:03,bin3,75,True +CTSPillarNetworkA,4,4,4,1970-01-05,0.4,0.4,2015-01-01 00:00:04,bin4,35,True +CTSPillarNetworkA,5,5,5,1970-01-06,0.5,0.5,2015-01-01 00:00:05,bin5,75,True +CTSPillarNetworkA,6,6,6,1970-01-07,0.6,0.6,2015-01-01 00:00:06,bin6,35,True +CTSPillarNetworkA,7,7,7,1970-01-08,0.7,0.70000005,2015-01-01 00:00:07,bin7,75,True +CTSPillarNetworkA,8,8,8,1970-01-09,0.7999999999999999,0.8000001,2015-01-01 00:00:08,bin8,35,True +CTSPillarNetworkA,9,9,9,1970-01-10,0.8999999999999999,0.9000001,2015-01-01 00:00:09,bin9,75,True +CTSPillarNetworkA,10,10,10,1970-01-11,0.9999999999999999,1.0000001,2015-01-01 00:00:10,bin10,35,True +CTSPillarNetworkA,11,11,11,1970-01-12,1.0999999999999999,1.1000001,2015-01-01 00:00:11,bin11,75,True +CTSPillarNetworkA,12,12,12,1970-01-13,1.2,1.2000002,2015-01-01 00:00:12,bin12,35,True +CTSPillarNetworkA,13,13,13,1970-01-14,1.3,1.3000002,2015-01-01 00:00:13,bin13,75,True +CTSPillarNetworkA,14,14,14,1970-01-15,1.4000000000000001,1.4000002,2015-01-01 00:00:14,bin14,35,True +CTSPillarNetworkA,15,15,15,1970-01-16,1.5000000000000002,1.5000002,2015-01-01 00:00:15,bin15,75,True +CTSPillarNetworkA,16,16,16,1970-01-17,1.6000000000000003,1.6000003,2015-01-01 00:00:16,bin16,35,True +CTSPillarNetworkA,17,17,17,1970-01-18,1.7000000000000004,1.7000003,2015-01-01 00:00:17,bin17,75,True +CTSPillarNetworkA,18,18,18,1970-01-19,1.8000000000000005,1.8000003,2015-01-01 00:00:18,bin18,35,True +CTSPillarNetworkA,19,19,19,1970-01-20,1.9000000000000006,1.9000003,2015-01-01 00:00:19,bin19,75,True +CTSPillarNetworkA,20,20,20,1970-01-21,2.0000000000000004,2.0000002,2015-01-01 00:00:20,bin20,35,True +CTSPillarNetworkA,21,21,21,1970-01-22,2.1000000000000005,2.1000001,2015-01-01 00:00:21,bin21,75,True +CTSPillarNetworkA,22,22,22,1970-01-23,2.2000000000000006,2.2,2015-01-01 00:00:22,bin22,35,True +CTSPillarNetworkA,23,23,23,1970-01-24,2.3000000000000007,2.3,2015-01-01 00:00:23,bin23,75,True +CTSPillarNetworkA,24,24,24,1970-01-25,2.400000000000001,2.3999999,2015-01-01 00:00:24,bin24,35,True +CTSPillarNetworkA,25,25,25,1970-01-26,2.500000000000001,2.4999998,2015-01-01 00:00:25,bin25,75,True +CTSPillarNetworkA,26,26,26,1970-01-27,2.600000000000001,2.5999997,2015-01-01 00:00:26,bin26,35,True +CTSPillarNetworkA,27,27,27,1970-01-28,2.700000000000001,2.6999996,2015-01-01 00:00:27,bin27,75,True +CTSPillarNetworkA,28,28,28,1970-01-29,2.800000000000001,2.7999995,2015-01-01 00:00:28,bin28,35,True +CTSPillarNetworkA,29,29,29,1970-01-30,2.9000000000000012,2.8999994,2015-01-01 00:00:29,bin29,75,True +CTSPillarNetworkA,30,30,30,1970-01-31,3.0000000000000013,2.9999993,2015-01-01 00:00:30,bin30,35,True +CTSPillarNetworkA,31,31,31,1970-02-01,3.1000000000000014,3.0999992,2015-01-01 00:00:31,bin31,75,True +CTSPillarNetworkA,32,32,32,1970-02-02,3.2000000000000015,3.199999,2015-01-01 00:00:32,bin32,35,True +CTSPillarNetworkA,33,33,33,1970-02-03,3.3000000000000016,3.299999,2015-01-01 00:00:33,bin33,75,True +CTSPillarNetworkA,34,34,34,1970-02-04,3.4000000000000017,3.399999,2015-01-01 00:00:34,bin34,35,True +CTSPillarNetworkA,35,35,35,1970-02-05,3.5000000000000018,3.4999988,2015-01-01 00:00:35,bin35,75,True +CTSPillarNetworkA,36,36,36,1970-02-06,3.600000000000002,3.5999987,2015-01-01 00:00:36,bin36,35,True +CTSPillarNetworkA,37,37,37,1970-02-07,3.700000000000002,3.6999986,2015-01-01 00:00:37,bin37,75,True +CTSPillarNetworkA,38,38,38,1970-02-08,3.800000000000002,3.7999985,2015-01-01 00:00:38,bin38,35,True +CTSPillarNetworkA,39,39,39,1970-02-09,3.900000000000002,3.8999984,2015-01-01 00:00:39,bin39,75,True +CTSPillarNetworkA,40,40,40,1970-02-10,4.000000000000002,3.9999983,2015-01-01 00:00:40,bin40,35,True +CTSPillarNetworkA,41,41,41,1970-02-11,4.100000000000001,4.0999985,2015-01-01 00:00:41,bin41,75,True +CTSPillarNetworkA,42,42,42,1970-02-12,4.200000000000001,4.1999984,2015-01-01 00:00:42,bin42,35,True +CTSPillarNetworkA,43,43,43,1970-02-13,4.300000000000001,4.2999983,2015-01-01 00:00:43,bin43,75,True +CTSPillarNetworkA,44,44,44,1970-02-14,4.4,4.399998,2015-01-01 00:00:44,bin44,35,True +CTSPillarNetworkA,45,45,45,1970-02-15,4.5,4.499998,2015-01-01 00:00:45,bin45,75,True +CTSPillarNetworkA,46,46,46,1970-02-16,4.6,4.599998,2015-01-01 00:00:46,bin46,35,True +CTSPillarNetworkA,47,47,47,1970-02-17,4.699999999999999,4.699998,2015-01-01 00:00:47,bin47,75,True +CTSPillarNetworkA,48,48,48,1970-02-18,4.799999999999999,4.799998,2015-01-01 00:00:48,bin48,35,True +CTSPillarNetworkA,49,49,49,1970-02-19,4.899999999999999,4.8999977,2015-01-01 00:00:49,bin49,75,True +CTSPillarNetworkA,50,50,50,1970-02-20,4.999999999999998,4.9999976,2015-01-01 00:00:50,bin50,35,True +CTSPillarNetworkA,51,51,51,1970-02-21,5.099999999999998,5.0999975,2015-01-01 00:00:51,bin51,75,True +CTSPillarNetworkA,52,52,52,1970-02-22,5.1999999999999975,5.1999974,2015-01-01 00:00:52,bin52,35,True +CTSPillarNetworkA,53,53,53,1970-02-23,5.299999999999997,5.2999973,2015-01-01 00:00:53,bin53,75,True +CTSPillarNetworkA,54,54,54,1970-02-24,5.399999999999997,5.399997,2015-01-01 00:00:54,bin54,35,True +CTSPillarNetworkA,55,55,55,1970-02-25,5.4999999999999964,5.499997,2015-01-01 00:00:55,bin55,75,True +CTSPillarNetworkA,56,56,56,1970-02-26,5.599999999999996,5.599997,2015-01-01 00:00:56,bin56,35,True +CTSPillarNetworkA,57,57,57,1970-02-27,5.699999999999996,5.699997,2015-01-01 00:00:57,bin57,75,True +CTSPillarNetworkA,58,58,58,1970-02-28,5.799999999999995,5.799997,2015-01-01 00:00:58,bin58,35,True +CTSPillarNetworkA,59,59,59,1970-03-01,5.899999999999995,5.8999968,2015-01-01 00:00:59,bin59,75,True +CTSPillarNetworkA,60,60,60,1970-03-02,5.999999999999995,5.9999967,2015-01-01 00:01:00,bin60,35,True +CTSPillarNetworkA,61,61,61,1970-03-03,6.099999999999994,6.0999966,2015-01-01 00:01:01,bin61,75,True +CTSPillarNetworkA,62,62,62,1970-03-04,6.199999999999994,6.1999965,2015-01-01 00:01:02,bin62,35,True +CTSPillarNetworkA,63,63,63,1970-03-05,6.299999999999994,6.2999964,2015-01-01 00:01:03,bin63,75,True +CTSPillarNetworkA,64,64,64,1970-03-06,6.399999999999993,6.3999963,2015-01-01 00:01:04,bin64,35,True +CTSPillarNetworkA,65,65,65,1970-03-07,6.499999999999993,6.499996,2015-01-01 00:01:05,bin65,75,True +CTSPillarNetworkA,66,66,66,1970-03-08,6.5999999999999925,6.599996,2015-01-01 00:01:06,bin66,35,True +CTSPillarNetworkA,67,67,67,1970-03-09,6.699999999999992,6.699996,2015-01-01 00:01:07,bin67,75,True +CTSPillarNetworkA,68,68,68,1970-03-10,6.799999999999992,6.799996,2015-01-01 00:01:08,bin68,35,True +CTSPillarNetworkA,69,69,69,1970-03-11,6.8999999999999915,6.899996,2015-01-01 00:01:09,bin69,75,True +CTSPillarNetworkA,70,70,70,1970-03-12,6.999999999999991,6.9999957,2015-01-01 00:01:10,bin70,35,True +CTSPillarNetworkA,71,71,71,1970-03-13,7.099999999999991,7.0999956,2015-01-01 00:01:11,bin71,75,True +CTSPillarNetworkA,72,72,72,1970-03-14,7.19999999999999,7.1999955,2015-01-01 00:01:12,bin72,35,True +CTSPillarNetworkA,73,73,73,1970-03-15,7.29999999999999,7.2999954,2015-01-01 00:01:13,bin73,75,True +CTSPillarNetworkA,74,74,74,1970-03-16,7.39999999999999,7.3999953,2015-01-01 00:01:14,bin74,35,True +CTSPillarNetworkA,75,75,75,1970-03-17,7.499999999999989,7.499995,2015-01-01 00:01:15,bin75,75,True +CTSPillarNetworkA,76,76,76,1970-03-18,7.599999999999989,7.599995,2015-01-01 00:01:16,bin76,35,True +CTSPillarNetworkA,77,77,77,1970-03-19,7.699999999999989,7.699995,2015-01-01 00:01:17,bin77,75,True +CTSPillarNetworkA,78,78,78,1970-03-20,7.799999999999988,7.799995,2015-01-01 00:01:18,bin78,35,True +CTSPillarNetworkA,79,79,79,1970-03-21,7.899999999999988,7.899995,2015-01-01 00:01:19,bin79,75,True +CTSPillarNetworkA,80,80,80,1970-03-22,7.999999999999988,7.9999948,2015-01-01 00:01:20,bin80,35,True +CTSPillarNetworkA,81,81,81,1970-03-23,8.099999999999987,8.099995,2015-01-01 00:01:21,bin81,75,True +CTSPillarNetworkA,82,82,82,1970-03-24,8.199999999999987,8.199995,2015-01-01 00:01:22,bin82,35,True +CTSPillarNetworkA,83,83,83,1970-03-25,8.299999999999986,8.299995,2015-01-01 00:01:23,bin83,75,True +CTSPillarNetworkA,84,84,84,1970-03-26,8.399999999999986,8.399996,2015-01-01 00:01:24,bin84,35,True +CTSPillarNetworkA,85,85,85,1970-03-27,8.499999999999986,8.499996,2015-01-01 00:01:25,bin85,75,True +CTSPillarNetworkA,86,86,86,1970-03-28,8.599999999999985,8.599997,2015-01-01 00:01:26,bin86,35,True +CTSPillarNetworkA,87,87,87,1970-03-29,8.699999999999985,8.699997,2015-01-01 00:01:27,bin87,75,True +CTSPillarNetworkA,88,88,88,1970-03-30,8.799999999999985,8.799997,2015-01-01 00:01:28,bin88,35,True +CTSPillarNetworkA,89,89,89,1970-03-31,8.899999999999984,8.899998,2015-01-01 00:01:29,bin89,75,True +CTSPillarNetworkA,90,90,90,1970-04-01,8.999999999999984,8.999998,2015-01-01 00:01:30,bin90,35,True +CTSPillarNetworkA,91,91,91,1970-04-02,9.099999999999984,9.099998,2015-01-01 00:01:31,bin91,75,True +CTSPillarNetworkA,92,92,92,1970-04-03,9.199999999999983,9.199999,2015-01-01 00:01:32,bin92,35,True +CTSPillarNetworkA,93,93,93,1970-04-04,9.299999999999983,9.299999,2015-01-01 00:01:33,bin93,75,True +CTSPillarNetworkA,94,94,94,1970-04-05,9.399999999999983,9.4,2015-01-01 00:01:34,bin94,35,True +CTSPillarNetworkA,95,95,95,1970-04-06,9.499999999999982,9.5,2015-01-01 00:01:35,bin95,75,True +CTSPillarNetworkA,96,96,96,1970-04-07,9.599999999999982,9.6,2015-01-01 00:01:36,bin96,35,True +CTSPillarNetworkA,97,97,97,1970-04-08,9.699999999999982,9.700001,2015-01-01 00:01:37,bin97,75,True +CTSPillarNetworkA,98,98,98,1970-04-09,9.799999999999981,9.800001,2015-01-01 00:01:38,bin98,35,True +CTSPillarNetworkA,99,99,99,1970-04-10,9.89999999999998,9.900002,2015-01-01 00:01:39,bin99,75,True +CTSPillarNetworkA,100,100,100,1970-04-11,9.99999999999998,10.000002,2015-01-01 00:01:40,bin100,35,True +CTSPillarNetworkA,101,101,101,1970-04-12,10.09999999999998,10.100002,2015-01-01 00:01:41,bin101,75,True +CTSPillarNetworkA,102,102,102,1970-04-13,10.19999999999998,10.200003,2015-01-01 00:01:42,bin102,35,True +CTSPillarNetworkA,103,103,103,1970-04-14,10.29999999999998,10.300003,2015-01-01 00:01:43,bin103,75,True +CTSPillarNetworkA,104,104,104,1970-04-15,10.399999999999979,10.400003,2015-01-01 00:01:44,bin104,35,True +CTSPillarNetworkA,105,105,105,1970-04-16,10.499999999999979,10.500004,2015-01-01 00:01:45,bin105,75,True +CTSPillarNetworkA,106,106,106,1970-04-17,10.599999999999978,10.600004,2015-01-01 00:01:46,bin106,35,True +CTSPillarNetworkA,107,107,107,1970-04-18,10.699999999999978,10.700005,2015-01-01 00:01:47,bin107,75,True +CTSPillarNetworkA,108,108,108,1970-04-19,10.799999999999978,10.800005,2015-01-01 00:01:48,bin108,35,True +CTSPillarNetworkA,109,109,109,1970-04-20,10.899999999999977,10.900005,2015-01-01 00:01:49,bin109,75,True +CTSPillarNetworkA,110,110,110,1970-04-21,10.999999999999977,11.000006,2015-01-01 00:01:50,bin110,35,True +CTSPillarNetworkA,111,111,111,1970-04-22,11.099999999999977,11.100006,2015-01-01 00:01:51,bin111,75,True +CTSPillarNetworkA,112,112,112,1970-04-23,11.199999999999976,11.2000065,2015-01-01 00:01:52,bin112,35,True +CTSPillarNetworkA,113,113,113,1970-04-24,11.299999999999976,11.300007,2015-01-01 00:01:53,bin113,75,True +CTSPillarNetworkA,114,114,114,1970-04-25,11.399999999999975,11.400007,2015-01-01 00:01:54,bin114,35,True +CTSPillarNetworkA,115,115,115,1970-04-26,11.499999999999975,11.500008,2015-01-01 00:01:55,bin115,75,True +CTSPillarNetworkA,116,116,116,1970-04-27,11.599999999999975,11.600008,2015-01-01 00:01:56,bin116,35,True +CTSPillarNetworkA,117,117,117,1970-04-28,11.699999999999974,11.700008,2015-01-01 00:01:57,bin117,75,True +CTSPillarNetworkA,118,118,118,1970-04-29,11.799999999999974,11.800009,2015-01-01 00:01:58,bin118,35,True +CTSPillarNetworkA,119,119,119,1970-04-30,11.899999999999974,11.900009,2015-01-01 00:01:59,bin119,75,True +CTSPillarNetworkA,120,120,120,1970-05-01,11.999999999999973,12.00001,2015-01-01 00:02:00,bin120,35,True +CTSPillarNetworkA,121,121,121,1970-05-02,12.099999999999973,12.10001,2015-01-01 00:02:01,bin121,75,True +CTSPillarNetworkA,122,122,122,1970-05-03,12.199999999999973,12.20001,2015-01-01 00:02:02,bin122,35,True +CTSPillarNetworkA,123,123,123,1970-05-04,12.299999999999972,12.300011,2015-01-01 00:02:03,bin123,75,True +CTSPillarNetworkA,124,124,124,1970-05-05,12.399999999999972,12.400011,2015-01-01 00:02:04,bin124,35,True +CTSPillarNetworkA,125,125,125,1970-05-06,12.499999999999972,12.500011,2015-01-01 00:02:05,bin125,75,True +CTSPillarNetworkA,126,126,126,1970-05-07,12.599999999999971,12.600012,2015-01-01 00:02:06,bin126,35,True +CTSPillarNetworkA,127,127,127,1970-05-08,12.69999999999997,12.700012,2015-01-01 00:02:07,bin127,75,True +CTSPillarNetworkA,128,128,128,1970-05-09,12.79999999999997,12.800013,2015-01-01 00:02:08,bin128,35,True +CTSPillarNetworkA,129,129,129,1970-05-10,12.89999999999997,12.900013,2015-01-01 00:02:09,bin129,75,True +CTSPillarNetworkA,130,130,130,1970-05-11,12.99999999999997,13.000013,2015-01-01 00:02:10,bin130,35,True +CTSPillarNetworkA,131,131,131,1970-05-12,13.09999999999997,13.100014,2015-01-01 00:02:11,bin131,75,True +CTSPillarNetworkA,132,132,132,1970-05-13,13.199999999999969,13.200014,2015-01-01 00:02:12,bin132,35,True +CTSPillarNetworkA,133,133,133,1970-05-14,13.299999999999969,13.3000145,2015-01-01 00:02:13,bin133,75,True +CTSPillarNetworkA,134,134,134,1970-05-15,13.399999999999968,13.400015,2015-01-01 00:02:14,bin134,35,True +CTSPillarNetworkA,135,135,135,1970-05-16,13.499999999999968,13.500015,2015-01-01 00:02:15,bin135,75,True +CTSPillarNetworkA,136,136,136,1970-05-17,13.599999999999968,13.600016,2015-01-01 00:02:16,bin136,35,True +CTSPillarNetworkA,137,137,137,1970-05-18,13.699999999999967,13.700016,2015-01-01 00:02:17,bin137,75,True +CTSPillarNetworkA,138,138,138,1970-05-19,13.799999999999967,13.800016,2015-01-01 00:02:18,bin138,35,True +CTSPillarNetworkA,139,139,139,1970-05-20,13.899999999999967,13.900017,2015-01-01 00:02:19,bin139,75,True +CTSPillarNetworkA,140,140,140,1970-05-21,13.999999999999966,14.000017,2015-01-01 00:02:20,bin140,35,True +CTSPillarNetworkA,141,141,141,1970-05-22,14.099999999999966,14.100018,2015-01-01 00:02:21,bin141,75,True +CTSPillarNetworkA,142,142,142,1970-05-23,14.199999999999966,14.200018,2015-01-01 00:02:22,bin142,35,True +CTSPillarNetworkA,143,143,143,1970-05-24,14.299999999999965,14.300018,2015-01-01 00:02:23,bin143,75,True +CTSPillarNetworkA,144,144,144,1970-05-25,14.399999999999965,14.400019,2015-01-01 00:02:24,bin144,35,True +CTSPillarNetworkA,145,145,145,1970-05-26,14.499999999999964,14.500019,2015-01-01 00:02:25,bin145,75,True +CTSPillarNetworkA,146,146,146,1970-05-27,14.599999999999964,14.600019,2015-01-01 00:02:26,bin146,35,True +CTSPillarNetworkA,147,147,147,1970-05-28,14.699999999999964,14.70002,2015-01-01 00:02:27,bin147,75,True +CTSPillarNetworkA,148,148,148,1970-05-29,14.799999999999963,14.80002,2015-01-01 00:02:28,bin148,35,True +CTSPillarNetworkA,149,149,149,1970-05-30,14.899999999999963,14.900021,2015-01-01 00:02:29,bin149,75,True +CTSPillarNetworkA,150,150,150,1970-05-31,14.999999999999963,15.000021,2015-01-01 00:02:30,bin150,35,True +CTSPillarNetworkA,151,151,151,1970-06-01,15.099999999999962,15.100021,2015-01-01 00:02:31,bin151,75,True +CTSPillarNetworkA,152,152,152,1970-06-02,15.199999999999962,15.200022,2015-01-01 00:02:32,bin152,35,True +CTSPillarNetworkA,153,153,153,1970-06-03,15.299999999999962,15.300022,2015-01-01 00:02:33,bin153,75,True +CTSPillarNetworkA,154,154,154,1970-06-04,15.399999999999961,15.4000225,2015-01-01 00:02:34,bin154,35,True +CTSPillarNetworkA,155,155,155,1970-06-05,15.499999999999961,15.500023,2015-01-01 00:02:35,bin155,75,True +CTSPillarNetworkA,156,156,156,1970-06-06,15.59999999999996,15.600023,2015-01-01 00:02:36,bin156,35,True +CTSPillarNetworkA,157,157,157,1970-06-07,15.69999999999996,15.700024,2015-01-01 00:02:37,bin157,75,True +CTSPillarNetworkA,158,158,158,1970-06-08,15.79999999999996,15.800024,2015-01-01 00:02:38,bin158,35,True +CTSPillarNetworkA,159,159,159,1970-06-09,15.89999999999996,15.900024,2015-01-01 00:02:39,bin159,75,True +CTSPillarNetworkA,160,160,160,1970-06-10,15.99999999999996,16.000025,2015-01-01 00:02:40,bin160,35,True +CTSPillarNetworkA,161,161,161,1970-06-11,16.09999999999996,16.100025,2015-01-01 00:02:41,bin161,75,True +CTSPillarNetworkA,162,162,162,1970-06-12,16.19999999999996,16.200026,2015-01-01 00:02:42,bin162,35,True +CTSPillarNetworkA,163,163,163,1970-06-13,16.29999999999996,16.300026,2015-01-01 00:02:43,bin163,75,True +CTSPillarNetworkA,164,164,164,1970-06-14,16.399999999999963,16.400026,2015-01-01 00:02:44,bin164,35,True +CTSPillarNetworkA,165,165,165,1970-06-15,16.499999999999964,16.500027,2015-01-01 00:02:45,bin165,75,True +CTSPillarNetworkA,166,166,166,1970-06-16,16.599999999999966,16.600027,2015-01-01 00:02:46,bin166,35,True +CTSPillarNetworkA,167,167,167,1970-06-17,16.699999999999967,16.700027,2015-01-01 00:02:47,bin167,75,True +CTSPillarNetworkA,168,168,168,1970-06-18,16.79999999999997,16.800028,2015-01-01 00:02:48,bin168,35,True +CTSPillarNetworkA,169,169,169,1970-06-19,16.89999999999997,16.900028,2015-01-01 00:02:49,bin169,75,True +CTSPillarNetworkA,170,170,170,1970-06-20,16.99999999999997,17.000029,2015-01-01 00:02:50,bin170,35,True +CTSPillarNetworkA,171,171,171,1970-06-21,17.099999999999973,17.100029,2015-01-01 00:02:51,bin171,75,True +CTSPillarNetworkA,172,172,172,1970-06-22,17.199999999999974,17.20003,2015-01-01 00:02:52,bin172,35,True +CTSPillarNetworkA,173,173,173,1970-06-23,17.299999999999976,17.30003,2015-01-01 00:02:53,bin173,75,True +CTSPillarNetworkA,174,174,174,1970-06-24,17.399999999999977,17.40003,2015-01-01 00:02:54,bin174,35,True +CTSPillarNetworkA,175,175,175,1970-06-25,17.49999999999998,17.50003,2015-01-01 00:02:55,bin175,75,True +CTSPillarNetworkA,176,176,176,1970-06-26,17.59999999999998,17.60003,2015-01-01 00:02:56,bin176,35,True +CTSPillarNetworkA,177,177,177,1970-06-27,17.69999999999998,17.700031,2015-01-01 00:02:57,bin177,75,True +CTSPillarNetworkA,178,178,178,1970-06-28,17.799999999999983,17.800032,2015-01-01 00:02:58,bin178,35,True +CTSPillarNetworkA,179,179,179,1970-06-29,17.899999999999984,17.900032,2015-01-01 00:02:59,bin179,75,True +CTSPillarNetworkA,180,180,180,1970-06-30,17.999999999999986,18.000032,2015-01-01 00:03:00,bin180,35,True +CTSPillarNetworkA,181,181,181,1970-07-01,18.099999999999987,18.100033,2015-01-01 00:03:01,bin181,75,True +CTSPillarNetworkA,182,182,182,1970-07-02,18.19999999999999,18.200033,2015-01-01 00:03:02,bin182,35,True +CTSPillarNetworkA,183,183,183,1970-07-03,18.29999999999999,18.300034,2015-01-01 00:03:03,bin183,75,True +CTSPillarNetworkA,184,184,184,1970-07-04,18.39999999999999,18.400034,2015-01-01 00:03:04,bin184,35,True +CTSPillarNetworkA,185,185,185,1970-07-05,18.499999999999993,18.500034,2015-01-01 00:03:05,bin185,75,True +CTSPillarNetworkA,186,186,186,1970-07-06,18.599999999999994,18.600035,2015-01-01 00:03:06,bin186,35,True +CTSPillarNetworkA,187,187,187,1970-07-07,18.699999999999996,18.700035,2015-01-01 00:03:07,bin187,75,True +CTSPillarNetworkA,188,188,188,1970-07-08,18.799999999999997,18.800035,2015-01-01 00:03:08,bin188,35,True +CTSPillarNetworkA,189,189,189,1970-07-09,18.9,18.900036,2015-01-01 00:03:09,bin189,75,True +CTSPillarNetworkA,190,190,190,1970-07-10,19,19.000036,2015-01-01 00:03:10,bin190,35,True +CTSPillarNetworkA,191,191,191,1970-07-11,19.1,19.100037,2015-01-01 00:03:11,bin191,75,True +CTSPillarNetworkA,192,192,192,1970-07-12,19.200000000000003,19.200037,2015-01-01 00:03:12,bin192,35,True +CTSPillarNetworkA,193,193,193,1970-07-13,19.300000000000004,19.300037,2015-01-01 00:03:13,bin193,75,True +CTSPillarNetworkA,194,194,194,1970-07-14,19.400000000000006,19.400038,2015-01-01 00:03:14,bin194,35,True +CTSPillarNetworkA,195,195,195,1970-07-15,19.500000000000007,19.500038,2015-01-01 00:03:15,bin195,75,True +CTSPillarNetworkA,196,196,196,1970-07-16,19.60000000000001,19.600039,2015-01-01 00:03:16,bin196,35,True +CTSPillarNetworkA,197,197,197,1970-07-17,19.70000000000001,19.700039,2015-01-01 00:03:17,bin197,75,True +CTSPillarNetworkA,198,198,198,1970-07-18,19.80000000000001,19.80004,2015-01-01 00:03:18,bin198,35,True +CTSPillarNetworkA,199,199,199,1970-07-19,19.900000000000013,19.90004,2015-01-01 00:03:19,bin199,75,True +CTSPillarNetworkA,200,200,200,1970-07-20,20.000000000000014,20.00004,2015-01-01 00:03:20,bin200,35,True +CTSPillarNetworkA,201,201,201,1970-07-21,20.100000000000016,20.10004,2015-01-01 00:03:21,bin201,75,True +CTSPillarNetworkA,202,202,202,1970-07-22,20.200000000000017,20.20004,2015-01-01 00:03:22,bin202,35,True +CTSPillarNetworkA,203,203,203,1970-07-23,20.30000000000002,20.300041,2015-01-01 00:03:23,bin203,75,True +CTSPillarNetworkA,204,204,204,1970-07-24,20.40000000000002,20.400042,2015-01-01 00:03:24,bin204,35,True +CTSPillarNetworkA,205,205,205,1970-07-25,20.50000000000002,20.500042,2015-01-01 00:03:25,bin205,75,True +CTSPillarNetworkA,206,206,206,1970-07-26,20.600000000000023,20.600042,2015-01-01 00:03:26,bin206,35,True +CTSPillarNetworkA,207,207,207,1970-07-27,20.700000000000024,20.700043,2015-01-01 00:03:27,bin207,75,True +CTSPillarNetworkA,208,208,208,1970-07-28,20.800000000000026,20.800043,2015-01-01 00:03:28,bin208,35,True +CTSPillarNetworkA,209,209,209,1970-07-29,20.900000000000027,20.900043,2015-01-01 00:03:29,bin209,75,True +CTSPillarNetworkA,210,210,210,1970-07-30,21.00000000000003,21.000044,2015-01-01 00:03:30,bin210,35,True +CTSPillarNetworkA,211,211,211,1970-07-31,21.10000000000003,21.100044,2015-01-01 00:03:31,bin211,75,True +CTSPillarNetworkA,212,212,212,1970-08-01,21.20000000000003,21.200045,2015-01-01 00:03:32,bin212,35,True +CTSPillarNetworkA,213,213,213,1970-08-02,21.300000000000033,21.300045,2015-01-01 00:03:33,bin213,75,True +CTSPillarNetworkA,214,214,214,1970-08-03,21.400000000000034,21.400045,2015-01-01 00:03:34,bin214,35,True +CTSPillarNetworkA,215,215,215,1970-08-04,21.500000000000036,21.500046,2015-01-01 00:03:35,bin215,75,True +CTSPillarNetworkA,216,216,216,1970-08-05,21.600000000000037,21.600046,2015-01-01 00:03:36,bin216,35,True +CTSPillarNetworkA,217,217,217,1970-08-06,21.70000000000004,21.700047,2015-01-01 00:03:37,bin217,75,True +CTSPillarNetworkA,218,218,218,1970-08-07,21.80000000000004,21.800047,2015-01-01 00:03:38,bin218,35,True +CTSPillarNetworkA,219,219,219,1970-08-08,21.90000000000004,21.900047,2015-01-01 00:03:39,bin219,75,True +CTSPillarNetworkA,220,220,220,1970-08-09,22.000000000000043,22.000048,2015-01-01 00:03:40,bin220,35,True +CTSPillarNetworkA,221,221,221,1970-08-10,22.100000000000044,22.100048,2015-01-01 00:03:41,bin221,75,True +CTSPillarNetworkA,222,222,222,1970-08-11,22.200000000000045,22.200048,2015-01-01 00:03:42,bin222,35,True +CTSPillarNetworkA,223,223,223,1970-08-12,22.300000000000047,22.300049,2015-01-01 00:03:43,bin223,75,True +CTSPillarNetworkA,224,224,224,1970-08-13,22.40000000000005,22.40005,2015-01-01 00:03:44,bin224,35,True +CTSPillarNetworkA,225,225,225,1970-08-14,22.50000000000005,22.50005,2015-01-01 00:03:45,bin225,75,True +CTSPillarNetworkA,226,226,226,1970-08-15,22.60000000000005,22.60005,2015-01-01 00:03:46,bin226,35,True +CTSPillarNetworkA,227,227,227,1970-08-16,22.700000000000053,22.70005,2015-01-01 00:03:47,bin227,75,True +CTSPillarNetworkA,228,228,228,1970-08-17,22.800000000000054,22.80005,2015-01-01 00:03:48,bin228,35,True +CTSPillarNetworkA,229,229,229,1970-08-18,22.900000000000055,22.900051,2015-01-01 00:03:49,bin229,75,True +CTSPillarNetworkA,230,230,230,1970-08-19,23.000000000000057,23.000051,2015-01-01 00:03:50,bin230,35,True +CTSPillarNetworkA,231,231,231,1970-08-20,23.10000000000006,23.100052,2015-01-01 00:03:51,bin231,75,True +CTSPillarNetworkA,232,232,232,1970-08-21,23.20000000000006,23.200052,2015-01-01 00:03:52,bin232,35,True +CTSPillarNetworkA,233,233,233,1970-08-22,23.30000000000006,23.300053,2015-01-01 00:03:53,bin233,75,True +CTSPillarNetworkA,234,234,234,1970-08-23,23.400000000000063,23.400053,2015-01-01 00:03:54,bin234,35,True +CTSPillarNetworkA,235,235,235,1970-08-24,23.500000000000064,23.500053,2015-01-01 00:03:55,bin235,75,True +CTSPillarNetworkA,236,236,236,1970-08-25,23.600000000000065,23.600054,2015-01-01 00:03:56,bin236,35,True +CTSPillarNetworkA,237,237,237,1970-08-26,23.700000000000067,23.700054,2015-01-01 00:03:57,bin237,75,True +CTSPillarNetworkA,238,238,238,1970-08-27,23.800000000000068,23.800055,2015-01-01 00:03:58,bin238,35,True +CTSPillarNetworkA,239,239,239,1970-08-28,23.90000000000007,23.900055,2015-01-01 00:03:59,bin239,75,True +CTSPillarNetworkA,240,240,240,1970-08-29,24.00000000000007,24.000055,2015-01-01 00:04:00,bin240,35,True +CTSPillarNetworkA,241,241,241,1970-08-30,24.100000000000072,24.100056,2015-01-01 00:04:01,bin241,75,True +CTSPillarNetworkA,242,242,242,1970-08-31,24.200000000000074,24.200056,2015-01-01 00:04:02,bin242,35,True +CTSPillarNetworkA,243,243,243,1970-09-01,24.300000000000075,24.300056,2015-01-01 00:04:03,bin243,75,True +CTSPillarNetworkA,244,244,244,1970-09-02,24.400000000000077,24.400057,2015-01-01 00:04:04,bin244,35,True +CTSPillarNetworkA,245,245,245,1970-09-03,24.500000000000078,24.500057,2015-01-01 00:04:05,bin245,75,True +CTSPillarNetworkA,246,246,246,1970-09-04,24.60000000000008,24.600058,2015-01-01 00:04:06,bin246,35,True +CTSPillarNetworkA,247,247,247,1970-09-05,24.70000000000008,24.700058,2015-01-01 00:04:07,bin247,75,True +CTSPillarNetworkA,248,248,248,1970-09-06,24.800000000000082,24.800058,2015-01-01 00:04:08,bin248,35,True +CTSPillarNetworkA,249,249,249,1970-09-07,24.900000000000084,24.900059,2015-01-01 00:04:09,bin249,75,True +CTSPillarNetworkA,250,250,250,1970-09-08,25.000000000000085,25.00006,2015-01-01 00:04:10,bin250,35,True +CTSPillarNetworkA,251,251,251,1970-09-09,25.100000000000087,25.10006,2015-01-01 00:04:11,bin251,75,True +CTSPillarNetworkA,252,252,252,1970-09-10,25.200000000000088,25.20006,2015-01-01 00:04:12,bin252,35,True +CTSPillarNetworkA,253,253,253,1970-09-11,25.30000000000009,25.30006,2015-01-01 00:04:13,bin253,75,True +CTSPillarNetworkA,254,254,254,1970-09-12,25.40000000000009,25.40006,2015-01-01 00:04:14,bin254,35,True +CTSPillarNetworkA,255,255,255,1970-09-13,25.500000000000092,25.500061,2015-01-01 00:04:15,bin255,75,True +CTSPillarNetworkA,256,256,256,1970-09-14,25.600000000000094,25.600061,2015-01-01 00:04:16,bin256,35,True +CTSPillarNetworkA,257,257,257,1970-09-15,25.700000000000095,25.700062,2015-01-01 00:04:17,bin257,75,True +CTSPillarNetworkA,258,258,258,1970-09-16,25.800000000000097,25.800062,2015-01-01 00:04:18,bin258,35,True +CTSPillarNetworkA,259,259,259,1970-09-17,25.900000000000098,25.900063,2015-01-01 00:04:19,bin259,75,True +CTSPillarNetworkA,260,260,260,1970-09-18,26.0000000000001,26.000063,2015-01-01 00:04:20,bin260,35,True +CTSPillarNetworkA,261,261,261,1970-09-19,26.1000000000001,26.100063,2015-01-01 00:04:21,bin261,75,True +CTSPillarNetworkA,262,262,262,1970-09-20,26.200000000000102,26.200064,2015-01-01 00:04:22,bin262,35,True +CTSPillarNetworkA,263,263,263,1970-09-21,26.300000000000104,26.300064,2015-01-01 00:04:23,bin263,75,True +CTSPillarNetworkA,264,264,264,1970-09-22,26.400000000000105,26.400064,2015-01-01 00:04:24,bin264,35,True +CTSPillarNetworkA,265,265,265,1970-09-23,26.500000000000107,26.500065,2015-01-01 00:04:25,bin265,75,True +CTSPillarNetworkA,266,266,266,1970-09-24,26.600000000000108,26.600065,2015-01-01 00:04:26,bin266,35,True +CTSPillarNetworkA,267,267,267,1970-09-25,26.70000000000011,26.700066,2015-01-01 00:04:27,bin267,75,True +CTSPillarNetworkA,268,268,268,1970-09-26,26.80000000000011,26.800066,2015-01-01 00:04:28,bin268,35,True +CTSPillarNetworkA,269,269,269,1970-09-27,26.900000000000112,26.900066,2015-01-01 00:04:29,bin269,75,True +CTSPillarNetworkA,270,270,270,1970-09-28,27.000000000000114,27.000067,2015-01-01 00:04:30,bin270,35,True +CTSPillarNetworkA,271,271,271,1970-09-29,27.100000000000115,27.100067,2015-01-01 00:04:31,bin271,75,True +CTSPillarNetworkA,272,272,272,1970-09-30,27.200000000000117,27.200068,2015-01-01 00:04:32,bin272,35,True +CTSPillarNetworkA,273,273,273,1970-10-01,27.300000000000118,27.300068,2015-01-01 00:04:33,bin273,75,True +CTSPillarNetworkA,274,274,274,1970-10-02,27.40000000000012,27.400068,2015-01-01 00:04:34,bin274,35,True +CTSPillarNetworkA,275,275,275,1970-10-03,27.50000000000012,27.500069,2015-01-01 00:04:35,bin275,75,True +CTSPillarNetworkA,276,276,276,1970-10-04,27.600000000000122,27.600069,2015-01-01 00:04:36,bin276,35,True +CTSPillarNetworkA,277,277,277,1970-10-05,27.700000000000124,27.70007,2015-01-01 00:04:37,bin277,75,True +CTSPillarNetworkA,278,278,278,1970-10-06,27.800000000000125,27.80007,2015-01-01 00:04:38,bin278,35,True +CTSPillarNetworkA,279,279,279,1970-10-07,27.900000000000126,27.90007,2015-01-01 00:04:39,bin279,75,True +CTSPillarNetworkA,280,280,280,1970-10-08,28.000000000000128,28.00007,2015-01-01 00:04:40,bin280,35,True +CTSPillarNetworkA,281,281,281,1970-10-09,28.10000000000013,28.10007,2015-01-01 00:04:41,bin281,75,True +CTSPillarNetworkA,282,282,282,1970-10-10,28.20000000000013,28.200071,2015-01-01 00:04:42,bin282,35,True +CTSPillarNetworkA,283,283,283,1970-10-11,28.300000000000132,28.300072,2015-01-01 00:04:43,bin283,75,True +CTSPillarNetworkA,284,284,284,1970-10-12,28.400000000000134,28.400072,2015-01-01 00:04:44,bin284,35,True +CTSPillarNetworkA,285,285,285,1970-10-13,28.500000000000135,28.500072,2015-01-01 00:04:45,bin285,75,True +CTSPillarNetworkA,286,286,286,1970-10-14,28.600000000000136,28.600073,2015-01-01 00:04:46,bin286,35,True +CTSPillarNetworkA,287,287,287,1970-10-15,28.700000000000138,28.700073,2015-01-01 00:04:47,bin287,75,True +CTSPillarNetworkA,288,288,288,1970-10-16,28.80000000000014,28.800074,2015-01-01 00:04:48,bin288,35,True +CTSPillarNetworkA,289,289,289,1970-10-17,28.90000000000014,28.900074,2015-01-01 00:04:49,bin289,75,True +CTSPillarNetworkA,290,290,290,1970-10-18,29.000000000000142,29.000074,2015-01-01 00:04:50,bin290,35,True +CTSPillarNetworkA,291,291,291,1970-10-19,29.100000000000144,29.100075,2015-01-01 00:04:51,bin291,75,True +CTSPillarNetworkA,292,292,292,1970-10-20,29.200000000000145,29.200075,2015-01-01 00:04:52,bin292,35,True +CTSPillarNetworkA,293,293,293,1970-10-21,29.300000000000146,29.300076,2015-01-01 00:04:53,bin293,75,True +CTSPillarNetworkA,294,294,294,1970-10-22,29.400000000000148,29.400076,2015-01-01 00:04:54,bin294,35,True +CTSPillarNetworkA,295,295,295,1970-10-23,29.50000000000015,29.500076,2015-01-01 00:04:55,bin295,75,True +CTSPillarNetworkA,296,296,296,1970-10-24,29.60000000000015,29.600077,2015-01-01 00:04:56,bin296,35,True +CTSPillarNetworkA,297,297,297,1970-10-25,29.700000000000152,29.700077,2015-01-01 00:04:57,bin297,75,True +CTSPillarNetworkA,298,298,298,1970-10-26,29.800000000000153,29.800077,2015-01-01 00:04:58,bin298,35,True +CTSPillarNetworkA,299,299,299,1970-10-27,29.900000000000155,29.900078,2015-01-01 00:04:59,bin299,75,True +CTSPillarNetworkA,300,300,300,1970-10-28,30.000000000000156,30.000078,2015-01-01 00:05:00,bin300,35,True +CTSPillarNetworkA,301,301,301,1970-10-29,30.100000000000158,30.100079,2015-01-01 00:05:01,bin301,75,True +CTSPillarNetworkA,302,302,302,1970-10-30,30.20000000000016,30.200079,2015-01-01 00:05:02,bin302,35,True +CTSPillarNetworkA,303,303,303,1970-10-31,30.30000000000016,30.30008,2015-01-01 00:05:03,bin303,75,True +CTSPillarNetworkA,304,304,304,1970-11-01,30.400000000000162,30.40008,2015-01-01 00:05:04,bin304,35,True +CTSPillarNetworkA,305,305,305,1970-11-02,30.500000000000163,30.50008,2015-01-01 00:05:05,bin305,75,True +CTSPillarNetworkA,306,306,306,1970-11-03,30.600000000000165,30.60008,2015-01-01 00:05:06,bin306,35,True +CTSPillarNetworkA,307,307,307,1970-11-04,30.700000000000166,30.70008,2015-01-01 00:05:07,bin307,75,True +CTSPillarNetworkA,308,308,308,1970-11-05,30.800000000000168,30.800081,2015-01-01 00:05:08,bin308,35,True +CTSPillarNetworkA,309,309,309,1970-11-06,30.90000000000017,30.900082,2015-01-01 00:05:09,bin309,75,True +CTSPillarNetworkA,310,310,310,1970-11-07,31.00000000000017,31.000082,2015-01-01 00:05:10,bin310,35,True +CTSPillarNetworkA,311,311,311,1970-11-08,31.100000000000172,31.100082,2015-01-01 00:05:11,bin311,75,True +CTSPillarNetworkA,312,312,312,1970-11-09,31.200000000000173,31.200083,2015-01-01 00:05:12,bin312,35,True +CTSPillarNetworkA,313,313,313,1970-11-10,31.300000000000175,31.300083,2015-01-01 00:05:13,bin313,75,True +CTSPillarNetworkA,314,314,314,1970-11-11,31.400000000000176,31.400084,2015-01-01 00:05:14,bin314,35,True +CTSPillarNetworkA,315,315,315,1970-11-12,31.500000000000178,31.500084,2015-01-01 00:05:15,bin315,75,True +CTSPillarNetworkA,316,316,316,1970-11-13,31.60000000000018,31.600084,2015-01-01 00:05:16,bin316,35,True +CTSPillarNetworkA,317,317,317,1970-11-14,31.70000000000018,31.700085,2015-01-01 00:05:17,bin317,75,True +CTSPillarNetworkA,318,318,318,1970-11-15,31.800000000000182,31.800085,2015-01-01 00:05:18,bin318,35,True +CTSPillarNetworkA,319,319,319,1970-11-16,31.900000000000183,31.900085,2015-01-01 00:05:19,bin319,75,True +CTSPillarNetworkA,320,320,320,1970-11-17,32.000000000000185,32.000084,2015-01-01 00:05:20,bin320,35,True +CTSPillarNetworkA,321,321,321,1970-11-18,32.100000000000186,32.100082,2015-01-01 00:05:21,bin321,75,True +CTSPillarNetworkA,322,322,322,1970-11-19,32.20000000000019,32.20008,2015-01-01 00:05:22,bin322,35,True +CTSPillarNetworkA,323,323,323,1970-11-20,32.30000000000019,32.30008,2015-01-01 00:05:23,bin323,75,True +CTSPillarNetworkA,324,324,324,1970-11-21,32.40000000000019,32.400078,2015-01-01 00:05:24,bin324,35,True +CTSPillarNetworkA,325,325,325,1970-11-22,32.50000000000019,32.500076,2015-01-01 00:05:25,bin325,75,True +CTSPillarNetworkA,326,326,326,1970-11-23,32.60000000000019,32.600075,2015-01-01 00:05:26,bin326,35,True +CTSPillarNetworkA,327,327,327,1970-11-24,32.700000000000195,32.700073,2015-01-01 00:05:27,bin327,75,True +CTSPillarNetworkA,328,328,328,1970-11-25,32.800000000000196,32.80007,2015-01-01 00:05:28,bin328,35,True +CTSPillarNetworkA,329,329,329,1970-11-26,32.9000000000002,32.90007,2015-01-01 00:05:29,bin329,75,True +CTSPillarNetworkA,330,330,330,1970-11-27,33.0000000000002,33.00007,2015-01-01 00:05:30,bin330,35,True +CTSPillarNetworkA,331,331,331,1970-11-28,33.1000000000002,33.100067,2015-01-01 00:05:31,bin331,75,True +CTSPillarNetworkA,332,332,332,1970-11-29,33.2000000000002,33.200066,2015-01-01 00:05:32,bin332,35,True +CTSPillarNetworkA,333,333,333,1970-11-30,33.3000000000002,33.300064,2015-01-01 00:05:33,bin333,75,True +CTSPillarNetworkA,334,334,334,1970-12-01,33.400000000000205,33.400063,2015-01-01 00:05:34,bin334,35,True +CTSPillarNetworkA,335,335,335,1970-12-02,33.500000000000206,33.50006,2015-01-01 00:05:35,bin335,75,True +CTSPillarNetworkA,336,336,336,1970-12-03,33.60000000000021,33.60006,2015-01-01 00:05:36,bin336,35,True +CTSPillarNetworkA,337,337,337,1970-12-04,33.70000000000021,33.700058,2015-01-01 00:05:37,bin337,75,True +CTSPillarNetworkA,338,338,338,1970-12-05,33.80000000000021,33.800056,2015-01-01 00:05:38,bin338,35,True +CTSPillarNetworkA,339,339,339,1970-12-06,33.90000000000021,33.900055,2015-01-01 00:05:39,bin339,75,True +CTSPillarNetworkA,340,340,340,1970-12-07,34.00000000000021,34.000053,2015-01-01 00:05:40,bin340,35,True +CTSPillarNetworkA,341,341,341,1970-12-08,34.100000000000215,34.10005,2015-01-01 00:05:41,bin341,75,True +CTSPillarNetworkA,342,342,342,1970-12-09,34.200000000000216,34.20005,2015-01-01 00:05:42,bin342,35,True +CTSPillarNetworkA,343,343,343,1970-12-10,34.30000000000022,34.30005,2015-01-01 00:05:43,bin343,75,True +CTSPillarNetworkA,344,344,344,1970-12-11,34.40000000000022,34.400047,2015-01-01 00:05:44,bin344,35,True +CTSPillarNetworkA,345,345,345,1970-12-12,34.50000000000022,34.500046,2015-01-01 00:05:45,bin345,75,True +CTSPillarNetworkA,346,346,346,1970-12-13,34.60000000000022,34.600044,2015-01-01 00:05:46,bin346,35,True +CTSPillarNetworkA,347,347,347,1970-12-14,34.70000000000022,34.700043,2015-01-01 00:05:47,bin347,75,True +CTSPillarNetworkA,348,348,348,1970-12-15,34.800000000000225,34.80004,2015-01-01 00:05:48,bin348,35,True +CTSPillarNetworkA,349,349,349,1970-12-16,34.900000000000226,34.90004,2015-01-01 00:05:49,bin349,75,True +CTSPillarNetworkA,350,350,350,1970-12-17,35.00000000000023,35.00004,2015-01-01 00:05:50,bin350,35,True +CTSPillarNetworkA,351,351,351,1970-12-18,35.10000000000023,35.100037,2015-01-01 00:05:51,bin351,75,True +CTSPillarNetworkA,352,352,352,1970-12-19,35.20000000000023,35.200035,2015-01-01 00:05:52,bin352,35,True +CTSPillarNetworkA,353,353,353,1970-12-20,35.30000000000023,35.300034,2015-01-01 00:05:53,bin353,75,True +CTSPillarNetworkA,354,354,354,1970-12-21,35.40000000000023,35.400032,2015-01-01 00:05:54,bin354,35,True +CTSPillarNetworkA,355,355,355,1970-12-22,35.500000000000234,35.50003,2015-01-01 00:05:55,bin355,75,True +CTSPillarNetworkA,356,356,356,1970-12-23,35.600000000000236,35.60003,2015-01-01 00:05:56,bin356,35,True +CTSPillarNetworkA,357,357,357,1970-12-24,35.70000000000024,35.700027,2015-01-01 00:05:57,bin357,75,True +CTSPillarNetworkA,358,358,358,1970-12-25,35.80000000000024,35.800026,2015-01-01 00:05:58,bin358,35,True +CTSPillarNetworkA,359,359,359,1970-12-26,35.90000000000024,35.900024,2015-01-01 00:05:59,bin359,75,True +CTSPillarNetworkA,360,360,360,1970-12-27,36.00000000000024,36.000023,2015-01-01 00:06:00,bin360,35,True +CTSPillarNetworkA,361,361,361,1970-12-28,36.10000000000024,36.10002,2015-01-01 00:06:01,bin361,75,True +CTSPillarNetworkA,362,362,362,1970-12-29,36.200000000000244,36.20002,2015-01-01 00:06:02,bin362,35,True +CTSPillarNetworkA,363,363,363,1970-12-30,36.300000000000246,36.30002,2015-01-01 00:06:03,bin363,75,True +CTSPillarNetworkA,364,364,364,1970-12-31,36.40000000000025,36.400017,2015-01-01 00:06:04,bin364,35,True +CTSPillarNetworkA,365,365,365,1971-01-01,36.50000000000025,36.500015,2015-01-01 00:06:05,bin365,75,True +CTSPillarNetworkA,366,366,366,1971-01-02,36.60000000000025,36.600014,2015-01-01 00:06:06,bin366,35,True +CTSPillarNetworkA,367,367,367,1971-01-03,36.70000000000025,36.700012,2015-01-01 00:06:07,bin367,75,True +CTSPillarNetworkA,368,368,368,1971-01-04,36.80000000000025,36.80001,2015-01-01 00:06:08,bin368,35,True +CTSPillarNetworkA,369,369,369,1971-01-05,36.900000000000254,36.90001,2015-01-01 00:06:09,bin369,75,True +CTSPillarNetworkA,370,370,370,1971-01-06,37.000000000000256,37.000008,2015-01-01 00:06:10,bin370,35,True +CTSPillarNetworkA,371,371,371,1971-01-07,37.10000000000026,37.100006,2015-01-01 00:06:11,bin371,75,True +CTSPillarNetworkA,372,372,372,1971-01-08,37.20000000000026,37.200005,2015-01-01 00:06:12,bin372,35,True +CTSPillarNetworkA,373,373,373,1971-01-09,37.30000000000026,37.300003,2015-01-01 00:06:13,bin373,75,True +CTSPillarNetworkA,374,374,374,1971-01-10,37.40000000000026,37.4,2015-01-01 00:06:14,bin374,35,True +CTSPillarNetworkA,375,375,375,1971-01-11,37.50000000000026,37.5,2015-01-01 00:06:15,bin375,75,True +CTSPillarNetworkA,376,376,376,1971-01-12,37.600000000000264,37.6,2015-01-01 00:06:16,bin376,35,True +CTSPillarNetworkA,377,377,377,1971-01-13,37.700000000000266,37.699997,2015-01-01 00:06:17,bin377,75,True +CTSPillarNetworkA,378,378,378,1971-01-14,37.80000000000027,37.799995,2015-01-01 00:06:18,bin378,35,True +CTSPillarNetworkA,379,379,379,1971-01-15,37.90000000000027,37.899994,2015-01-01 00:06:19,bin379,75,True +CTSPillarNetworkA,380,380,380,1971-01-16,38.00000000000027,37.999992,2015-01-01 00:06:20,bin380,35,True +CTSPillarNetworkA,381,381,381,1971-01-17,38.10000000000027,38.09999,2015-01-01 00:06:21,bin381,75,True +CTSPillarNetworkA,382,382,382,1971-01-18,38.20000000000027,38.19999,2015-01-01 00:06:22,bin382,35,True +CTSPillarNetworkA,383,383,383,1971-01-19,38.300000000000274,38.299988,2015-01-01 00:06:23,bin383,75,True +CTSPillarNetworkA,384,384,384,1971-01-20,38.400000000000276,38.399986,2015-01-01 00:06:24,bin384,35,True +CTSPillarNetworkA,385,385,385,1971-01-21,38.50000000000028,38.499985,2015-01-01 00:06:25,bin385,75,True +CTSPillarNetworkA,386,386,386,1971-01-22,38.60000000000028,38.599983,2015-01-01 00:06:26,bin386,35,True +CTSPillarNetworkA,387,387,387,1971-01-23,38.70000000000028,38.69998,2015-01-01 00:06:27,bin387,75,True +CTSPillarNetworkA,388,388,388,1971-01-24,38.80000000000028,38.79998,2015-01-01 00:06:28,bin388,35,True +CTSPillarNetworkA,389,389,389,1971-01-25,38.90000000000028,38.89998,2015-01-01 00:06:29,bin389,75,True +CTSPillarNetworkA,390,390,390,1971-01-26,39.000000000000284,38.999977,2015-01-01 00:06:30,bin390,35,True +CTSPillarNetworkA,391,391,391,1971-01-27,39.100000000000286,39.099976,2015-01-01 00:06:31,bin391,75,True +CTSPillarNetworkA,392,392,392,1971-01-28,39.20000000000029,39.199974,2015-01-01 00:06:32,bin392,35,True +CTSPillarNetworkA,393,393,393,1971-01-29,39.30000000000029,39.299973,2015-01-01 00:06:33,bin393,75,True +CTSPillarNetworkA,394,394,394,1971-01-30,39.40000000000029,39.39997,2015-01-01 00:06:34,bin394,35,True +CTSPillarNetworkA,395,395,395,1971-01-31,39.50000000000029,39.49997,2015-01-01 00:06:35,bin395,75,True +CTSPillarNetworkA,396,396,396,1971-02-01,39.60000000000029,39.599968,2015-01-01 00:06:36,bin396,35,True +CTSPillarNetworkA,397,397,397,1971-02-02,39.700000000000294,39.699966,2015-01-01 00:06:37,bin397,75,True +CTSPillarNetworkA,398,398,398,1971-02-03,39.800000000000296,39.799965,2015-01-01 00:06:38,bin398,35,True +CTSPillarNetworkA,399,399,399,1971-02-04,39.9000000000003,39.899963,2015-01-01 00:06:39,bin399,75,True +CTSPillarNetworkA,400,400,400,1971-02-05,40.0000000000003,39.99996,2015-01-01 00:06:40,bin400,35,True +CTSPillarNetworkA,401,401,401,1971-02-06,40.1000000000003,40.09996,2015-01-01 00:06:41,bin401,75,True +CTSPillarNetworkA,402,402,402,1971-02-07,40.2000000000003,40.19996,2015-01-01 00:06:42,bin402,35,True +CTSPillarNetworkA,403,403,403,1971-02-08,40.3000000000003,40.299957,2015-01-01 00:06:43,bin403,75,True +CTSPillarNetworkA,404,404,404,1971-02-09,40.400000000000304,40.399956,2015-01-01 00:06:44,bin404,35,True +CTSPillarNetworkA,405,405,405,1971-02-10,40.500000000000306,40.499954,2015-01-01 00:06:45,bin405,75,True +CTSPillarNetworkA,406,406,406,1971-02-11,40.60000000000031,40.599953,2015-01-01 00:06:46,bin406,35,True +CTSPillarNetworkA,407,407,407,1971-02-12,40.70000000000031,40.69995,2015-01-01 00:06:47,bin407,75,True +CTSPillarNetworkA,408,408,408,1971-02-13,40.80000000000031,40.79995,2015-01-01 00:06:48,bin408,35,True +CTSPillarNetworkA,409,409,409,1971-02-14,40.90000000000031,40.89995,2015-01-01 00:06:49,bin409,75,True +CTSPillarNetworkA,410,410,410,1971-02-15,41.00000000000031,40.999947,2015-01-01 00:06:50,bin410,35,True +CTSPillarNetworkA,411,411,411,1971-02-16,41.100000000000314,41.099945,2015-01-01 00:06:51,bin411,75,True +CTSPillarNetworkA,412,412,412,1971-02-17,41.200000000000315,41.199944,2015-01-01 00:06:52,bin412,35,True +CTSPillarNetworkA,413,413,413,1971-02-18,41.30000000000032,41.299942,2015-01-01 00:06:53,bin413,75,True +CTSPillarNetworkA,414,414,414,1971-02-19,41.40000000000032,41.39994,2015-01-01 00:06:54,bin414,35,True +CTSPillarNetworkA,415,415,415,1971-02-20,41.50000000000032,41.49994,2015-01-01 00:06:55,bin415,75,True +CTSPillarNetworkA,416,416,416,1971-02-21,41.60000000000032,41.599937,2015-01-01 00:06:56,bin416,35,True +CTSPillarNetworkA,417,417,417,1971-02-22,41.70000000000032,41.699936,2015-01-01 00:06:57,bin417,75,True +CTSPillarNetworkA,418,418,418,1971-02-23,41.800000000000324,41.799934,2015-01-01 00:06:58,bin418,35,True +CTSPillarNetworkA,419,419,419,1971-02-24,41.900000000000325,41.899933,2015-01-01 00:06:59,bin419,75,True +CTSPillarNetworkA,420,420,420,1971-02-25,42.00000000000033,41.99993,2015-01-01 00:07:00,bin420,35,True +CTSPillarNetworkA,421,421,421,1971-02-26,42.10000000000033,42.09993,2015-01-01 00:07:01,bin421,75,True +CTSPillarNetworkA,422,422,422,1971-02-27,42.20000000000033,42.19993,2015-01-01 00:07:02,bin422,35,True +CTSPillarNetworkA,423,423,423,1971-02-28,42.30000000000033,42.299927,2015-01-01 00:07:03,bin423,75,True +CTSPillarNetworkA,424,424,424,1971-03-01,42.40000000000033,42.399925,2015-01-01 00:07:04,bin424,35,True +CTSPillarNetworkA,425,425,425,1971-03-02,42.500000000000334,42.499924,2015-01-01 00:07:05,bin425,75,True +CTSPillarNetworkA,426,426,426,1971-03-03,42.600000000000335,42.599922,2015-01-01 00:07:06,bin426,35,True +CTSPillarNetworkA,427,427,427,1971-03-04,42.70000000000034,42.69992,2015-01-01 00:07:07,bin427,75,True +CTSPillarNetworkA,428,428,428,1971-03-05,42.80000000000034,42.79992,2015-01-01 00:07:08,bin428,35,True +CTSPillarNetworkA,429,429,429,1971-03-06,42.90000000000034,42.899918,2015-01-01 00:07:09,bin429,75,True +CTSPillarNetworkA,430,430,430,1971-03-07,43.00000000000034,42.999916,2015-01-01 00:07:10,bin430,35,True +CTSPillarNetworkA,431,431,431,1971-03-08,43.10000000000034,43.099915,2015-01-01 00:07:11,bin431,75,True +CTSPillarNetworkA,432,432,432,1971-03-09,43.200000000000344,43.199913,2015-01-01 00:07:12,bin432,35,True +CTSPillarNetworkA,433,433,433,1971-03-10,43.300000000000345,43.29991,2015-01-01 00:07:13,bin433,75,True +CTSPillarNetworkA,434,434,434,1971-03-11,43.40000000000035,43.39991,2015-01-01 00:07:14,bin434,35,True +CTSPillarNetworkA,435,435,435,1971-03-12,43.50000000000035,43.49991,2015-01-01 00:07:15,bin435,75,True +CTSPillarNetworkA,436,436,436,1971-03-13,43.60000000000035,43.599907,2015-01-01 00:07:16,bin436,35,True +CTSPillarNetworkA,437,437,437,1971-03-14,43.70000000000035,43.699905,2015-01-01 00:07:17,bin437,75,True +CTSPillarNetworkA,438,438,438,1971-03-15,43.80000000000035,43.799904,2015-01-01 00:07:18,bin438,35,True +CTSPillarNetworkA,439,439,439,1971-03-16,43.900000000000354,43.899902,2015-01-01 00:07:19,bin439,75,True +CTSPillarNetworkA,440,440,440,1971-03-17,44.000000000000355,43.9999,2015-01-01 00:07:20,bin440,35,True +CTSPillarNetworkA,441,441,441,1971-03-18,44.10000000000036,44.0999,2015-01-01 00:07:21,bin441,75,True +CTSPillarNetworkA,442,442,442,1971-03-19,44.20000000000036,44.199898,2015-01-01 00:07:22,bin442,35,True +CTSPillarNetworkA,443,443,443,1971-03-20,44.30000000000036,44.299896,2015-01-01 00:07:23,bin443,75,True +CTSPillarNetworkA,444,444,444,1971-03-21,44.40000000000036,44.399895,2015-01-01 00:07:24,bin444,35,True +CTSPillarNetworkA,445,445,445,1971-03-22,44.50000000000036,44.499893,2015-01-01 00:07:25,bin445,75,True +CTSPillarNetworkA,446,446,446,1971-03-23,44.600000000000364,44.59989,2015-01-01 00:07:26,bin446,35,True +CTSPillarNetworkA,447,447,447,1971-03-24,44.700000000000365,44.69989,2015-01-01 00:07:27,bin447,75,True +CTSPillarNetworkA,448,448,448,1971-03-25,44.80000000000037,44.79989,2015-01-01 00:07:28,bin448,35,True +CTSPillarNetworkA,449,449,449,1971-03-26,44.90000000000037,44.899887,2015-01-01 00:07:29,bin449,75,True +CTSPillarNetworkA,450,450,450,1971-03-27,45.00000000000037,44.999886,2015-01-01 00:07:30,bin450,35,True +CTSPillarNetworkA,451,451,451,1971-03-28,45.10000000000037,45.099884,2015-01-01 00:07:31,bin451,75,True +CTSPillarNetworkA,452,452,452,1971-03-29,45.20000000000037,45.199883,2015-01-01 00:07:32,bin452,35,True +CTSPillarNetworkA,453,453,453,1971-03-30,45.300000000000374,45.29988,2015-01-01 00:07:33,bin453,75,True +CTSPillarNetworkA,454,454,454,1971-03-31,45.400000000000375,45.39988,2015-01-01 00:07:34,bin454,35,True +CTSPillarNetworkA,455,455,455,1971-04-01,45.50000000000038,45.499878,2015-01-01 00:07:35,bin455,75,True +CTSPillarNetworkA,456,456,456,1971-04-02,45.60000000000038,45.599876,2015-01-01 00:07:36,bin456,35,True +CTSPillarNetworkA,457,457,457,1971-04-03,45.70000000000038,45.699875,2015-01-01 00:07:37,bin457,75,True +CTSPillarNetworkA,458,458,458,1971-04-04,45.80000000000038,45.799873,2015-01-01 00:07:38,bin458,35,True +CTSPillarNetworkA,459,459,459,1971-04-05,45.90000000000038,45.89987,2015-01-01 00:07:39,bin459,75,True +CTSPillarNetworkA,460,460,460,1971-04-06,46.000000000000384,45.99987,2015-01-01 00:07:40,bin460,35,True +CTSPillarNetworkA,461,461,461,1971-04-07,46.100000000000385,46.09987,2015-01-01 00:07:41,bin461,75,True +CTSPillarNetworkA,462,462,462,1971-04-08,46.20000000000039,46.199867,2015-01-01 00:07:42,bin462,35,True +CTSPillarNetworkA,463,463,463,1971-04-09,46.30000000000039,46.299866,2015-01-01 00:07:43,bin463,75,True +CTSPillarNetworkA,464,464,464,1971-04-10,46.40000000000039,46.399864,2015-01-01 00:07:44,bin464,35,True +CTSPillarNetworkA,465,465,465,1971-04-11,46.50000000000039,46.499863,2015-01-01 00:07:45,bin465,75,True +CTSPillarNetworkA,466,466,466,1971-04-12,46.60000000000039,46.59986,2015-01-01 00:07:46,bin466,35,True +CTSPillarNetworkA,467,467,467,1971-04-13,46.700000000000394,46.69986,2015-01-01 00:07:47,bin467,75,True +CTSPillarNetworkA,468,468,468,1971-04-14,46.800000000000395,46.79986,2015-01-01 00:07:48,bin468,35,True +CTSPillarNetworkA,469,469,469,1971-04-15,46.9000000000004,46.899857,2015-01-01 00:07:49,bin469,75,True +CTSPillarNetworkA,470,470,470,1971-04-16,47.0000000000004,46.999855,2015-01-01 00:07:50,bin470,35,True +CTSPillarNetworkA,471,471,471,1971-04-17,47.1000000000004,47.099854,2015-01-01 00:07:51,bin471,75,True +CTSPillarNetworkA,472,472,472,1971-04-18,47.2000000000004,47.199852,2015-01-01 00:07:52,bin472,35,True +CTSPillarNetworkA,473,473,473,1971-04-19,47.3000000000004,47.29985,2015-01-01 00:07:53,bin473,75,True +CTSPillarNetworkA,474,474,474,1971-04-20,47.400000000000404,47.39985,2015-01-01 00:07:54,bin474,35,True +CTSPillarNetworkA,475,475,475,1971-04-21,47.500000000000405,47.499847,2015-01-01 00:07:55,bin475,75,True +CTSPillarNetworkA,476,476,476,1971-04-22,47.600000000000406,47.599846,2015-01-01 00:07:56,bin476,35,True +CTSPillarNetworkA,477,477,477,1971-04-23,47.70000000000041,47.699844,2015-01-01 00:07:57,bin477,75,True +CTSPillarNetworkA,478,478,478,1971-04-24,47.80000000000041,47.799843,2015-01-01 00:07:58,bin478,35,True +CTSPillarNetworkA,479,479,479,1971-04-25,47.90000000000041,47.89984,2015-01-01 00:07:59,bin479,75,True +CTSPillarNetworkA,480,480,480,1971-04-26,48.00000000000041,47.99984,2015-01-01 00:08:00,bin480,35,True +CTSPillarNetworkA,481,481,481,1971-04-27,48.10000000000041,48.09984,2015-01-01 00:08:01,bin481,75,True +CTSPillarNetworkA,482,482,482,1971-04-28,48.200000000000415,48.199837,2015-01-01 00:08:02,bin482,35,True +CTSPillarNetworkA,483,483,483,1971-04-29,48.300000000000416,48.299835,2015-01-01 00:08:03,bin483,75,True +CTSPillarNetworkA,484,484,484,1971-04-30,48.40000000000042,48.399834,2015-01-01 00:08:04,bin484,35,True +CTSPillarNetworkA,485,485,485,1971-05-01,48.50000000000042,48.499832,2015-01-01 00:08:05,bin485,75,True +CTSPillarNetworkA,486,486,486,1971-05-02,48.60000000000042,48.59983,2015-01-01 00:08:06,bin486,35,True +CTSPillarNetworkA,487,487,487,1971-05-03,48.70000000000042,48.69983,2015-01-01 00:08:07,bin487,75,True +CTSPillarNetworkA,488,488,488,1971-05-04,48.80000000000042,48.799828,2015-01-01 00:08:08,bin488,35,True +CTSPillarNetworkA,489,489,489,1971-05-05,48.900000000000425,48.899826,2015-01-01 00:08:09,bin489,75,True +CTSPillarNetworkA,490,490,490,1971-05-06,49.000000000000426,48.999825,2015-01-01 00:08:10,bin490,35,True +CTSPillarNetworkA,491,491,491,1971-05-07,49.10000000000043,49.099823,2015-01-01 00:08:11,bin491,75,True +CTSPillarNetworkA,492,492,492,1971-05-08,49.20000000000043,49.19982,2015-01-01 00:08:12,bin492,35,True +CTSPillarNetworkA,493,493,493,1971-05-09,49.30000000000043,49.29982,2015-01-01 00:08:13,bin493,75,True +CTSPillarNetworkA,494,494,494,1971-05-10,49.40000000000043,49.39982,2015-01-01 00:08:14,bin494,35,True +CTSPillarNetworkA,495,495,495,1971-05-11,49.50000000000043,49.499817,2015-01-01 00:08:15,bin495,75,True +CTSPillarNetworkA,496,496,496,1971-05-12,49.600000000000435,49.599815,2015-01-01 00:08:16,bin496,35,True +CTSPillarNetworkA,497,497,497,1971-05-13,49.700000000000436,49.699814,2015-01-01 00:08:17,bin497,75,True +CTSPillarNetworkA,498,498,498,1971-05-14,49.80000000000044,49.799812,2015-01-01 00:08:18,bin498,35,True +CTSPillarNetworkA,499,499,499,1971-05-15,49.90000000000044,49.89981,2015-01-01 00:08:19,bin499,75,True +CTSPillarNetworkA,500,500,500,1971-05-16,50.00000000000044,49.99981,2015-01-01 00:08:20,bin500,35,True +CTSPillarNetworkA,501,501,501,1971-05-17,50.10000000000044,50.099808,2015-01-01 00:08:21,bin501,75,True +CTSPillarNetworkA,502,502,502,1971-05-18,50.20000000000044,50.199806,2015-01-01 00:08:22,bin502,35,True +CTSPillarNetworkA,503,503,503,1971-05-19,50.300000000000445,50.299805,2015-01-01 00:08:23,bin503,75,True +CTSPillarNetworkA,504,504,504,1971-05-20,50.400000000000446,50.399803,2015-01-01 00:08:24,bin504,35,True +CTSPillarNetworkA,505,505,505,1971-05-21,50.50000000000045,50.4998,2015-01-01 00:08:25,bin505,75,True +CTSPillarNetworkA,506,506,506,1971-05-22,50.60000000000045,50.5998,2015-01-01 00:08:26,bin506,35,True +CTSPillarNetworkA,507,507,507,1971-05-23,50.70000000000045,50.6998,2015-01-01 00:08:27,bin507,75,True +CTSPillarNetworkA,508,508,508,1971-05-24,50.80000000000045,50.799797,2015-01-01 00:08:28,bin508,35,True +CTSPillarNetworkA,509,509,509,1971-05-25,50.90000000000045,50.899796,2015-01-01 00:08:29,bin509,75,True +CTSPillarNetworkA,510,510,510,1971-05-26,51.000000000000455,50.999794,2015-01-01 00:08:30,bin510,35,True +CTSPillarNetworkA,511,511,511,1971-05-27,51.100000000000456,51.099792,2015-01-01 00:08:31,bin511,75,True +CTSPillarNetworkA,512,512,512,1971-05-28,51.20000000000046,51.19979,2015-01-01 00:08:32,bin512,35,True +CTSPillarNetworkA,513,513,513,1971-05-29,51.30000000000046,51.29979,2015-01-01 00:08:33,bin513,75,True +CTSPillarNetworkA,514,514,514,1971-05-30,51.40000000000046,51.399788,2015-01-01 00:08:34,bin514,35,True +CTSPillarNetworkA,515,515,515,1971-05-31,51.50000000000046,51.499786,2015-01-01 00:08:35,bin515,75,True +CTSPillarNetworkA,516,516,516,1971-06-01,51.60000000000046,51.599785,2015-01-01 00:08:36,bin516,35,True +CTSPillarNetworkA,517,517,517,1971-06-02,51.700000000000465,51.699783,2015-01-01 00:08:37,bin517,75,True +CTSPillarNetworkA,518,518,518,1971-06-03,51.800000000000466,51.79978,2015-01-01 00:08:38,bin518,35,True +CTSPillarNetworkA,519,519,519,1971-06-04,51.90000000000047,51.89978,2015-01-01 00:08:39,bin519,75,True +CTSPillarNetworkA,520,520,520,1971-06-05,52.00000000000047,51.99978,2015-01-01 00:08:40,bin520,35,True +CTSPillarNetworkA,521,521,521,1971-06-06,52.10000000000047,52.099777,2015-01-01 00:08:41,bin521,75,True +CTSPillarNetworkA,522,522,522,1971-06-07,52.20000000000047,52.199776,2015-01-01 00:08:42,bin522,35,True +CTSPillarNetworkA,523,523,523,1971-06-08,52.30000000000047,52.299774,2015-01-01 00:08:43,bin523,75,True +CTSPillarNetworkA,524,524,524,1971-06-09,52.400000000000475,52.399773,2015-01-01 00:08:44,bin524,35,True +CTSPillarNetworkA,525,525,525,1971-06-10,52.500000000000476,52.49977,2015-01-01 00:08:45,bin525,75,True +CTSPillarNetworkA,526,526,526,1971-06-11,52.60000000000048,52.59977,2015-01-01 00:08:46,bin526,35,True +CTSPillarNetworkA,527,527,527,1971-06-12,52.70000000000048,52.699768,2015-01-01 00:08:47,bin527,75,True +CTSPillarNetworkA,528,528,528,1971-06-13,52.80000000000048,52.799767,2015-01-01 00:08:48,bin528,35,True +CTSPillarNetworkA,529,529,529,1971-06-14,52.90000000000048,52.899765,2015-01-01 00:08:49,bin529,75,True +CTSPillarNetworkA,530,530,530,1971-06-15,53.00000000000048,52.999763,2015-01-01 00:08:50,bin530,35,True +CTSPillarNetworkA,531,531,531,1971-06-16,53.100000000000485,53.099762,2015-01-01 00:08:51,bin531,75,True +CTSPillarNetworkA,532,532,532,1971-06-17,53.200000000000486,53.19976,2015-01-01 00:08:52,bin532,35,True +CTSPillarNetworkA,533,533,533,1971-06-18,53.30000000000049,53.29976,2015-01-01 00:08:53,bin533,75,True +CTSPillarNetworkA,534,534,534,1971-06-19,53.40000000000049,53.399757,2015-01-01 00:08:54,bin534,35,True +CTSPillarNetworkA,535,535,535,1971-06-20,53.50000000000049,53.499756,2015-01-01 00:08:55,bin535,75,True +CTSPillarNetworkA,536,536,536,1971-06-21,53.60000000000049,53.599754,2015-01-01 00:08:56,bin536,35,True +CTSPillarNetworkA,537,537,537,1971-06-22,53.70000000000049,53.699753,2015-01-01 00:08:57,bin537,75,True +CTSPillarNetworkA,538,538,538,1971-06-23,53.800000000000495,53.79975,2015-01-01 00:08:58,bin538,35,True +CTSPillarNetworkA,539,539,539,1971-06-24,53.900000000000496,53.89975,2015-01-01 00:08:59,bin539,75,True +CTSPillarNetworkA,540,540,540,1971-06-25,54.0000000000005,53.99975,2015-01-01 00:09:00,bin540,35,True +CTSPillarNetworkA,541,541,541,1971-06-26,54.1000000000005,54.099747,2015-01-01 00:09:01,bin541,75,True +CTSPillarNetworkA,542,542,542,1971-06-27,54.2000000000005,54.199745,2015-01-01 00:09:02,bin542,35,True +CTSPillarNetworkA,543,543,543,1971-06-28,54.3000000000005,54.299744,2015-01-01 00:09:03,bin543,75,True +CTSPillarNetworkA,544,544,544,1971-06-29,54.4000000000005,54.399742,2015-01-01 00:09:04,bin544,35,True +CTSPillarNetworkA,545,545,545,1971-06-30,54.500000000000504,54.49974,2015-01-01 00:09:05,bin545,75,True +CTSPillarNetworkA,546,546,546,1971-07-01,54.600000000000506,54.59974,2015-01-01 00:09:06,bin546,35,True +CTSPillarNetworkA,547,547,547,1971-07-02,54.70000000000051,54.699738,2015-01-01 00:09:07,bin547,75,True +CTSPillarNetworkA,548,548,548,1971-07-03,54.80000000000051,54.799736,2015-01-01 00:09:08,bin548,35,True +CTSPillarNetworkA,549,549,549,1971-07-04,54.90000000000051,54.899734,2015-01-01 00:09:09,bin549,75,True +CTSPillarNetworkA,550,550,550,1971-07-05,55.00000000000051,54.999733,2015-01-01 00:09:10,bin550,35,True +CTSPillarNetworkA,551,551,551,1971-07-06,55.10000000000051,55.09973,2015-01-01 00:09:11,bin551,75,True +CTSPillarNetworkA,552,552,552,1971-07-07,55.200000000000514,55.19973,2015-01-01 00:09:12,bin552,35,True +CTSPillarNetworkA,553,553,553,1971-07-08,55.300000000000516,55.29973,2015-01-01 00:09:13,bin553,75,True +CTSPillarNetworkA,554,554,554,1971-07-09,55.40000000000052,55.399727,2015-01-01 00:09:14,bin554,35,True +CTSPillarNetworkA,555,555,555,1971-07-10,55.50000000000052,55.499725,2015-01-01 00:09:15,bin555,75,True +CTSPillarNetworkA,556,556,556,1971-07-11,55.60000000000052,55.599724,2015-01-01 00:09:16,bin556,35,True +CTSPillarNetworkA,557,557,557,1971-07-12,55.70000000000052,55.699722,2015-01-01 00:09:17,bin557,75,True +CTSPillarNetworkA,558,558,558,1971-07-13,55.80000000000052,55.79972,2015-01-01 00:09:18,bin558,35,True +CTSPillarNetworkA,559,559,559,1971-07-14,55.900000000000524,55.89972,2015-01-01 00:09:19,bin559,75,True +CTSPillarNetworkA,560,560,560,1971-07-15,56.000000000000526,55.999718,2015-01-01 00:09:20,bin560,35,True +CTSPillarNetworkA,561,561,561,1971-07-16,56.10000000000053,56.099716,2015-01-01 00:09:21,bin561,75,True +CTSPillarNetworkA,562,562,562,1971-07-17,56.20000000000053,56.199715,2015-01-01 00:09:22,bin562,35,True +CTSPillarNetworkA,563,563,563,1971-07-18,56.30000000000053,56.299713,2015-01-01 00:09:23,bin563,75,True +CTSPillarNetworkA,564,564,564,1971-07-19,56.40000000000053,56.39971,2015-01-01 00:09:24,bin564,35,True +CTSPillarNetworkA,565,565,565,1971-07-20,56.50000000000053,56.49971,2015-01-01 00:09:25,bin565,75,True +CTSPillarNetworkA,566,566,566,1971-07-21,56.600000000000534,56.59971,2015-01-01 00:09:26,bin566,35,True +CTSPillarNetworkA,567,567,567,1971-07-22,56.700000000000536,56.699707,2015-01-01 00:09:27,bin567,75,True +CTSPillarNetworkA,568,568,568,1971-07-23,56.80000000000054,56.799706,2015-01-01 00:09:28,bin568,35,True +CTSPillarNetworkA,569,569,569,1971-07-24,56.90000000000054,56.899704,2015-01-01 00:09:29,bin569,75,True +CTSPillarNetworkA,570,570,570,1971-07-25,57.00000000000054,56.999702,2015-01-01 00:09:30,bin570,35,True +CTSPillarNetworkA,571,571,571,1971-07-26,57.10000000000054,57.0997,2015-01-01 00:09:31,bin571,75,True +CTSPillarNetworkA,572,572,572,1971-07-27,57.20000000000054,57.1997,2015-01-01 00:09:32,bin572,35,True +CTSPillarNetworkA,573,573,573,1971-07-28,57.300000000000544,57.299698,2015-01-01 00:09:33,bin573,75,True +CTSPillarNetworkA,574,574,574,1971-07-29,57.400000000000546,57.399696,2015-01-01 00:09:34,bin574,35,True +CTSPillarNetworkA,575,575,575,1971-07-30,57.50000000000055,57.499695,2015-01-01 00:09:35,bin575,75,True +CTSPillarNetworkA,576,576,576,1971-07-31,57.60000000000055,57.599693,2015-01-01 00:09:36,bin576,35,True +CTSPillarNetworkA,577,577,577,1971-08-01,57.70000000000055,57.69969,2015-01-01 00:09:37,bin577,75,True +CTSPillarNetworkA,578,578,578,1971-08-02,57.80000000000055,57.79969,2015-01-01 00:09:38,bin578,35,True +CTSPillarNetworkA,579,579,579,1971-08-03,57.90000000000055,57.89969,2015-01-01 00:09:39,bin579,75,True +CTSPillarNetworkA,580,580,580,1971-08-04,58.000000000000554,57.999687,2015-01-01 00:09:40,bin580,35,True +CTSPillarNetworkA,581,581,581,1971-08-05,58.100000000000556,58.099686,2015-01-01 00:09:41,bin581,75,True +CTSPillarNetworkA,582,582,582,1971-08-06,58.20000000000056,58.199684,2015-01-01 00:09:42,bin582,35,True +CTSPillarNetworkA,583,583,583,1971-08-07,58.30000000000056,58.299683,2015-01-01 00:09:43,bin583,75,True +CTSPillarNetworkA,584,584,584,1971-08-08,58.40000000000056,58.39968,2015-01-01 00:09:44,bin584,35,True +CTSPillarNetworkA,585,585,585,1971-08-09,58.50000000000056,58.49968,2015-01-01 00:09:45,bin585,75,True +CTSPillarNetworkA,586,586,586,1971-08-10,58.60000000000056,58.599678,2015-01-01 00:09:46,bin586,35,True +CTSPillarNetworkA,587,587,587,1971-08-11,58.700000000000564,58.699677,2015-01-01 00:09:47,bin587,75,True +CTSPillarNetworkA,588,588,588,1971-08-12,58.800000000000566,58.799675,2015-01-01 00:09:48,bin588,35,True +CTSPillarNetworkA,589,589,589,1971-08-13,58.90000000000057,58.899673,2015-01-01 00:09:49,bin589,75,True +CTSPillarNetworkA,590,590,590,1971-08-14,59.00000000000057,58.999672,2015-01-01 00:09:50,bin590,35,True +CTSPillarNetworkA,591,591,591,1971-08-15,59.10000000000057,59.09967,2015-01-01 00:09:51,bin591,75,True +CTSPillarNetworkA,592,592,592,1971-08-16,59.20000000000057,59.19967,2015-01-01 00:09:52,bin592,35,True +CTSPillarNetworkA,593,593,593,1971-08-17,59.30000000000057,59.299667,2015-01-01 00:09:53,bin593,75,True +CTSPillarNetworkA,594,594,594,1971-08-18,59.400000000000574,59.399666,2015-01-01 00:09:54,bin594,35,True +CTSPillarNetworkA,595,595,595,1971-08-19,59.500000000000576,59.499664,2015-01-01 00:09:55,bin595,75,True +CTSPillarNetworkA,596,596,596,1971-08-20,59.60000000000058,59.599663,2015-01-01 00:09:56,bin596,35,True +CTSPillarNetworkA,597,597,597,1971-08-21,59.70000000000058,59.69966,2015-01-01 00:09:57,bin597,75,True +CTSPillarNetworkA,598,598,598,1971-08-22,59.80000000000058,59.79966,2015-01-01 00:09:58,bin598,35,True +CTSPillarNetworkA,599,599,599,1971-08-23,59.90000000000058,59.89966,2015-01-01 00:09:59,bin599,75,True +CTSPillarNetworkA,600,600,600,1971-08-24,60.00000000000058,59.999657,2015-01-01 00:10:00,bin600,35,True +CTSPillarNetworkA,601,601,601,1971-08-25,60.100000000000584,60.099655,2015-01-01 00:10:01,bin601,75,True +CTSPillarNetworkA,602,602,602,1971-08-26,60.200000000000585,60.199654,2015-01-01 00:10:02,bin602,35,True +CTSPillarNetworkA,603,603,603,1971-08-27,60.30000000000059,60.299652,2015-01-01 00:10:03,bin603,75,True +CTSPillarNetworkA,604,604,604,1971-08-28,60.40000000000059,60.39965,2015-01-01 00:10:04,bin604,35,True +CTSPillarNetworkA,605,605,605,1971-08-29,60.50000000000059,60.49965,2015-01-01 00:10:05,bin605,75,True +CTSPillarNetworkA,606,606,606,1971-08-30,60.60000000000059,60.599648,2015-01-01 00:10:06,bin606,35,True +CTSPillarNetworkA,607,607,607,1971-08-31,60.70000000000059,60.699646,2015-01-01 00:10:07,bin607,75,True +CTSPillarNetworkA,608,608,608,1971-09-01,60.800000000000594,60.799644,2015-01-01 00:10:08,bin608,35,True +CTSPillarNetworkA,609,609,609,1971-09-02,60.900000000000595,60.899643,2015-01-01 00:10:09,bin609,75,True +CTSPillarNetworkA,610,610,610,1971-09-03,61.0000000000006,60.99964,2015-01-01 00:10:10,bin610,35,True +CTSPillarNetworkA,611,611,611,1971-09-04,61.1000000000006,61.09964,2015-01-01 00:10:11,bin611,75,True +CTSPillarNetworkA,612,612,612,1971-09-05,61.2000000000006,61.19964,2015-01-01 00:10:12,bin612,35,True +CTSPillarNetworkA,613,613,613,1971-09-06,61.3000000000006,61.299637,2015-01-01 00:10:13,bin613,75,True +CTSPillarNetworkA,614,614,614,1971-09-07,61.4000000000006,61.399635,2015-01-01 00:10:14,bin614,35,True +CTSPillarNetworkA,615,615,615,1971-09-08,61.500000000000604,61.499634,2015-01-01 00:10:15,bin615,75,True +CTSPillarNetworkA,616,616,616,1971-09-09,61.600000000000605,61.599632,2015-01-01 00:10:16,bin616,35,True +CTSPillarNetworkA,617,617,617,1971-09-10,61.70000000000061,61.69963,2015-01-01 00:10:17,bin617,75,True +CTSPillarNetworkA,618,618,618,1971-09-11,61.80000000000061,61.79963,2015-01-01 00:10:18,bin618,35,True +CTSPillarNetworkA,619,619,619,1971-09-12,61.90000000000061,61.899628,2015-01-01 00:10:19,bin619,75,True +CTSPillarNetworkA,620,620,620,1971-09-13,62.00000000000061,61.999626,2015-01-01 00:10:20,bin620,35,True +CTSPillarNetworkA,621,621,621,1971-09-14,62.10000000000061,62.099625,2015-01-01 00:10:21,bin621,75,True +CTSPillarNetworkA,622,622,622,1971-09-15,62.200000000000614,62.199623,2015-01-01 00:10:22,bin622,35,True +CTSPillarNetworkA,623,623,623,1971-09-16,62.300000000000615,62.29962,2015-01-01 00:10:23,bin623,75,True +CTSPillarNetworkA,624,624,624,1971-09-17,62.40000000000062,62.39962,2015-01-01 00:10:24,bin624,35,True +CTSPillarNetworkA,625,625,625,1971-09-18,62.50000000000062,62.49962,2015-01-01 00:10:25,bin625,75,True +CTSPillarNetworkA,626,626,626,1971-09-19,62.60000000000062,62.599617,2015-01-01 00:10:26,bin626,35,True +CTSPillarNetworkA,627,627,627,1971-09-20,62.70000000000062,62.699615,2015-01-01 00:10:27,bin627,75,True +CTSPillarNetworkA,628,628,628,1971-09-21,62.80000000000062,62.799614,2015-01-01 00:10:28,bin628,35,True +CTSPillarNetworkA,629,629,629,1971-09-22,62.900000000000624,62.899612,2015-01-01 00:10:29,bin629,75,True +CTSPillarNetworkA,630,630,630,1971-09-23,63.000000000000625,62.99961,2015-01-01 00:10:30,bin630,35,True +CTSPillarNetworkA,631,631,631,1971-09-24,63.10000000000063,63.09961,2015-01-01 00:10:31,bin631,75,True +CTSPillarNetworkA,632,632,632,1971-09-25,63.20000000000063,63.199608,2015-01-01 00:10:32,bin632,35,True +CTSPillarNetworkA,633,633,633,1971-09-26,63.30000000000063,63.299606,2015-01-01 00:10:33,bin633,75,True +CTSPillarNetworkA,634,634,634,1971-09-27,63.40000000000063,63.399605,2015-01-01 00:10:34,bin634,35,True +CTSPillarNetworkA,635,635,635,1971-09-28,63.50000000000063,63.499603,2015-01-01 00:10:35,bin635,75,True +CTSPillarNetworkA,636,636,636,1971-09-29,63.600000000000634,63.5996,2015-01-01 00:10:36,bin636,35,True +CTSPillarNetworkA,637,637,637,1971-09-30,63.700000000000635,63.6996,2015-01-01 00:10:37,bin637,75,True +CTSPillarNetworkA,638,638,638,1971-10-01,63.80000000000064,63.7996,2015-01-01 00:10:38,bin638,35,True +CTSPillarNetworkA,639,639,639,1971-10-02,63.90000000000064,63.899597,2015-01-01 00:10:39,bin639,75,True +CTSPillarNetworkA,640,640,640,1971-10-03,64.00000000000064,63.999596,2015-01-01 00:10:40,bin640,35,True +CTSPillarNetworkA,641,641,641,1971-10-04,64.10000000000063,64.099594,2015-01-01 00:10:41,bin641,75,True +CTSPillarNetworkA,642,642,642,1971-10-05,64.20000000000063,64.19959,2015-01-01 00:10:42,bin642,35,True +CTSPillarNetworkA,643,643,643,1971-10-06,64.30000000000062,64.29959,2015-01-01 00:10:43,bin643,75,True +CTSPillarNetworkA,644,644,644,1971-10-07,64.40000000000062,64.39959,2015-01-01 00:10:44,bin644,35,True +CTSPillarNetworkA,645,645,645,1971-10-08,64.50000000000061,64.49959,2015-01-01 00:10:45,bin645,75,True +CTSPillarNetworkA,646,646,646,1971-10-09,64.6000000000006,64.59959,2015-01-01 00:10:46,bin646,35,True +CTSPillarNetworkA,647,647,647,1971-10-10,64.7000000000006,64.699585,2015-01-01 00:10:47,bin647,75,True +CTSPillarNetworkA,648,648,648,1971-10-11,64.8000000000006,64.79958,2015-01-01 00:10:48,bin648,35,True +CTSPillarNetworkA,649,649,649,1971-10-12,64.90000000000059,64.89958,2015-01-01 00:10:49,bin649,75,True +CTSPillarNetworkA,650,650,650,1971-10-13,65.00000000000058,64.99958,2015-01-01 00:10:50,bin650,35,True +CTSPillarNetworkA,651,651,651,1971-10-14,65.10000000000058,65.09958,2015-01-01 00:10:51,bin651,75,True +CTSPillarNetworkA,652,652,652,1971-10-15,65.20000000000057,65.19958,2015-01-01 00:10:52,bin652,35,True +CTSPillarNetworkA,653,653,653,1971-10-16,65.30000000000057,65.299576,2015-01-01 00:10:53,bin653,75,True +CTSPillarNetworkA,654,654,654,1971-10-17,65.40000000000056,65.399574,2015-01-01 00:10:54,bin654,35,True +CTSPillarNetworkA,655,655,655,1971-10-18,65.50000000000055,65.49957,2015-01-01 00:10:55,bin655,75,True +CTSPillarNetworkA,656,656,656,1971-10-19,65.60000000000055,65.59957,2015-01-01 00:10:56,bin656,35,True +CTSPillarNetworkA,657,657,657,1971-10-20,65.70000000000054,65.69957,2015-01-01 00:10:57,bin657,75,True +CTSPillarNetworkA,658,658,658,1971-10-21,65.80000000000054,65.79957,2015-01-01 00:10:58,bin658,35,True +CTSPillarNetworkA,659,659,659,1971-10-22,65.90000000000053,65.89957,2015-01-01 00:10:59,bin659,75,True +CTSPillarNetworkA,660,660,660,1971-10-23,66.00000000000053,65.999565,2015-01-01 00:11:00,bin660,35,True +CTSPillarNetworkA,661,661,661,1971-10-24,66.10000000000052,66.09956,2015-01-01 00:11:01,bin661,75,True +CTSPillarNetworkA,662,662,662,1971-10-25,66.20000000000051,66.19956,2015-01-01 00:11:02,bin662,35,True +CTSPillarNetworkA,663,663,663,1971-10-26,66.30000000000051,66.29956,2015-01-01 00:11:03,bin663,75,True +CTSPillarNetworkA,664,664,664,1971-10-27,66.4000000000005,66.39956,2015-01-01 00:11:04,bin664,35,True +CTSPillarNetworkA,665,665,665,1971-10-28,66.5000000000005,66.49956,2015-01-01 00:11:05,bin665,75,True +CTSPillarNetworkA,666,666,666,1971-10-29,66.60000000000049,66.599556,2015-01-01 00:11:06,bin666,35,True +CTSPillarNetworkA,667,667,667,1971-10-30,66.70000000000049,66.699554,2015-01-01 00:11:07,bin667,75,True +CTSPillarNetworkA,668,668,668,1971-10-31,66.80000000000048,66.79955,2015-01-01 00:11:08,bin668,35,True +CTSPillarNetworkA,669,669,669,1971-11-01,66.90000000000047,66.89955,2015-01-01 00:11:09,bin669,75,True +CTSPillarNetworkA,670,670,670,1971-11-02,67.00000000000047,66.99955,2015-01-01 00:11:10,bin670,35,True +CTSPillarNetworkA,671,671,671,1971-11-03,67.10000000000046,67.09955,2015-01-01 00:11:11,bin671,75,True +CTSPillarNetworkA,672,672,672,1971-11-04,67.20000000000046,67.19955,2015-01-01 00:11:12,bin672,35,True +CTSPillarNetworkA,673,673,673,1971-11-05,67.30000000000045,67.299545,2015-01-01 00:11:13,bin673,75,True +CTSPillarNetworkA,674,674,674,1971-11-06,67.40000000000045,67.39954,2015-01-01 00:11:14,bin674,35,True +CTSPillarNetworkA,675,675,675,1971-11-07,67.50000000000044,67.49954,2015-01-01 00:11:15,bin675,75,True +CTSPillarNetworkA,676,676,676,1971-11-08,67.60000000000043,67.59954,2015-01-01 00:11:16,bin676,35,True +CTSPillarNetworkA,677,677,677,1971-11-09,67.70000000000043,67.69954,2015-01-01 00:11:17,bin677,75,True +CTSPillarNetworkA,678,678,678,1971-11-10,67.80000000000042,67.79954,2015-01-01 00:11:18,bin678,35,True +CTSPillarNetworkA,679,679,679,1971-11-11,67.90000000000042,67.899536,2015-01-01 00:11:19,bin679,75,True +CTSPillarNetworkA,680,680,680,1971-11-12,68.00000000000041,67.999535,2015-01-01 00:11:20,bin680,35,True +CTSPillarNetworkA,681,681,681,1971-11-13,68.1000000000004,68.09953,2015-01-01 00:11:21,bin681,75,True +CTSPillarNetworkA,682,682,682,1971-11-14,68.2000000000004,68.19953,2015-01-01 00:11:22,bin682,35,True +CTSPillarNetworkA,683,683,683,1971-11-15,68.3000000000004,68.29953,2015-01-01 00:11:23,bin683,75,True +CTSPillarNetworkA,684,684,684,1971-11-16,68.40000000000039,68.39953,2015-01-01 00:11:24,bin684,35,True +CTSPillarNetworkA,685,685,685,1971-11-17,68.50000000000038,68.49953,2015-01-01 00:11:25,bin685,75,True +CTSPillarNetworkA,686,686,686,1971-11-18,68.60000000000038,68.599525,2015-01-01 00:11:26,bin686,35,True +CTSPillarNetworkA,687,687,687,1971-11-19,68.70000000000037,68.699524,2015-01-01 00:11:27,bin687,75,True +CTSPillarNetworkA,688,688,688,1971-11-20,68.80000000000037,68.79952,2015-01-01 00:11:28,bin688,35,True +CTSPillarNetworkA,689,689,689,1971-11-21,68.90000000000036,68.89952,2015-01-01 00:11:29,bin689,75,True +CTSPillarNetworkA,690,690,690,1971-11-22,69.00000000000036,68.99952,2015-01-01 00:11:30,bin690,35,True +CTSPillarNetworkA,691,691,691,1971-11-23,69.10000000000035,69.09952,2015-01-01 00:11:31,bin691,75,True +CTSPillarNetworkA,692,692,692,1971-11-24,69.20000000000034,69.19952,2015-01-01 00:11:32,bin692,35,True +CTSPillarNetworkA,693,693,693,1971-11-25,69.30000000000034,69.299515,2015-01-01 00:11:33,bin693,75,True +CTSPillarNetworkA,694,694,694,1971-11-26,69.40000000000033,69.39951,2015-01-01 00:11:34,bin694,35,True +CTSPillarNetworkA,695,695,695,1971-11-27,69.50000000000033,69.49951,2015-01-01 00:11:35,bin695,75,True +CTSPillarNetworkA,696,696,696,1971-11-28,69.60000000000032,69.59951,2015-01-01 00:11:36,bin696,35,True +CTSPillarNetworkA,697,697,697,1971-11-29,69.70000000000032,69.69951,2015-01-01 00:11:37,bin697,75,True +CTSPillarNetworkA,698,698,698,1971-11-30,69.80000000000031,69.79951,2015-01-01 00:11:38,bin698,35,True +CTSPillarNetworkA,699,699,699,1971-12-01,69.9000000000003,69.899506,2015-01-01 00:11:39,bin699,75,True +CTSPillarNetworkA,700,700,700,1971-12-02,70.0000000000003,69.999504,2015-01-01 00:11:40,bin700,35,True +CTSPillarNetworkA,701,701,701,1971-12-03,70.10000000000029,70.0995,2015-01-01 00:11:41,bin701,75,True +CTSPillarNetworkA,702,702,702,1971-12-04,70.20000000000029,70.1995,2015-01-01 00:11:42,bin702,35,True +CTSPillarNetworkA,703,703,703,1971-12-05,70.30000000000028,70.2995,2015-01-01 00:11:43,bin703,75,True +CTSPillarNetworkA,704,704,704,1971-12-06,70.40000000000028,70.3995,2015-01-01 00:11:44,bin704,35,True +CTSPillarNetworkA,705,705,705,1971-12-07,70.50000000000027,70.4995,2015-01-01 00:11:45,bin705,75,True +CTSPillarNetworkA,706,706,706,1971-12-08,70.60000000000026,70.599495,2015-01-01 00:11:46,bin706,35,True +CTSPillarNetworkA,707,707,707,1971-12-09,70.70000000000026,70.69949,2015-01-01 00:11:47,bin707,75,True +CTSPillarNetworkA,708,708,708,1971-12-10,70.80000000000025,70.79949,2015-01-01 00:11:48,bin708,35,True +CTSPillarNetworkA,709,709,709,1971-12-11,70.90000000000025,70.89949,2015-01-01 00:11:49,bin709,75,True +CTSPillarNetworkA,710,710,710,1971-12-12,71.00000000000024,70.99949,2015-01-01 00:11:50,bin710,35,True +CTSPillarNetworkA,711,711,711,1971-12-13,71.10000000000024,71.09949,2015-01-01 00:11:51,bin711,75,True +CTSPillarNetworkA,712,712,712,1971-12-14,71.20000000000023,71.199486,2015-01-01 00:11:52,bin712,35,True +CTSPillarNetworkA,713,713,713,1971-12-15,71.30000000000022,71.299484,2015-01-01 00:11:53,bin713,75,True +CTSPillarNetworkA,714,714,714,1971-12-16,71.40000000000022,71.39948,2015-01-01 00:11:54,bin714,35,True +CTSPillarNetworkA,715,715,715,1971-12-17,71.50000000000021,71.49948,2015-01-01 00:11:55,bin715,75,True +CTSPillarNetworkA,716,716,716,1971-12-18,71.60000000000021,71.59948,2015-01-01 00:11:56,bin716,35,True +CTSPillarNetworkA,717,717,717,1971-12-19,71.7000000000002,71.69948,2015-01-01 00:11:57,bin717,75,True +CTSPillarNetworkA,718,718,718,1971-12-20,71.8000000000002,71.79948,2015-01-01 00:11:58,bin718,35,True +CTSPillarNetworkA,719,719,719,1971-12-21,71.90000000000019,71.899475,2015-01-01 00:11:59,bin719,75,True +CTSPillarNetworkA,720,720,720,1971-12-22,72.00000000000018,71.99947,2015-01-01 00:12:00,bin720,35,True +CTSPillarNetworkA,721,721,721,1971-12-23,72.10000000000018,72.09947,2015-01-01 00:12:01,bin721,75,True +CTSPillarNetworkA,722,722,722,1971-12-24,72.20000000000017,72.19947,2015-01-01 00:12:02,bin722,35,True +CTSPillarNetworkA,723,723,723,1971-12-25,72.30000000000017,72.29947,2015-01-01 00:12:03,bin723,75,True +CTSPillarNetworkA,724,724,724,1971-12-26,72.40000000000016,72.39947,2015-01-01 00:12:04,bin724,35,True +CTSPillarNetworkA,725,725,725,1971-12-27,72.50000000000016,72.499466,2015-01-01 00:12:05,bin725,75,True +CTSPillarNetworkA,726,726,726,1971-12-28,72.60000000000015,72.599464,2015-01-01 00:12:06,bin726,35,True +CTSPillarNetworkA,727,727,727,1971-12-29,72.70000000000014,72.69946,2015-01-01 00:12:07,bin727,75,True +CTSPillarNetworkA,728,728,728,1971-12-30,72.80000000000014,72.79946,2015-01-01 00:12:08,bin728,35,True +CTSPillarNetworkA,729,729,729,1971-12-31,72.90000000000013,72.89946,2015-01-01 00:12:09,bin729,75,True +CTSPillarNetworkA,730,730,730,1972-01-01,73.00000000000013,72.99946,2015-01-01 00:12:10,bin730,35,True +CTSPillarNetworkA,731,731,731,1972-01-02,73.10000000000012,73.09946,2015-01-01 00:12:11,bin731,75,True +CTSPillarNetworkA,732,732,732,1972-01-03,73.20000000000012,73.199455,2015-01-01 00:12:12,bin732,35,True +CTSPillarNetworkA,733,733,733,1972-01-04,73.30000000000011,73.29945,2015-01-01 00:12:13,bin733,75,True +CTSPillarNetworkA,734,734,734,1972-01-05,73.4000000000001,73.39945,2015-01-01 00:12:14,bin734,35,True +CTSPillarNetworkA,735,735,735,1972-01-06,73.5000000000001,73.49945,2015-01-01 00:12:15,bin735,75,True +CTSPillarNetworkA,736,736,736,1972-01-07,73.6000000000001,73.59945,2015-01-01 00:12:16,bin736,35,True +CTSPillarNetworkA,737,737,737,1972-01-08,73.70000000000009,73.69945,2015-01-01 00:12:17,bin737,75,True +CTSPillarNetworkA,738,738,738,1972-01-09,73.80000000000008,73.799446,2015-01-01 00:12:18,bin738,35,True +CTSPillarNetworkA,739,739,739,1972-01-10,73.90000000000008,73.899445,2015-01-01 00:12:19,bin739,75,True +CTSPillarNetworkA,740,740,740,1972-01-11,74.00000000000007,73.99944,2015-01-01 00:12:20,bin740,35,True +CTSPillarNetworkA,741,741,741,1972-01-12,74.10000000000007,74.09944,2015-01-01 00:12:21,bin741,75,True +CTSPillarNetworkA,742,742,742,1972-01-13,74.20000000000006,74.19944,2015-01-01 00:12:22,bin742,35,True +CTSPillarNetworkA,743,743,743,1972-01-14,74.30000000000005,74.29944,2015-01-01 00:12:23,bin743,75,True +CTSPillarNetworkA,744,744,744,1972-01-15,74.40000000000005,74.39944,2015-01-01 00:12:24,bin744,35,True +CTSPillarNetworkA,745,745,745,1972-01-16,74.50000000000004,74.499435,2015-01-01 00:12:25,bin745,75,True +CTSPillarNetworkA,746,746,746,1972-01-17,74.60000000000004,74.599434,2015-01-01 00:12:26,bin746,35,True +CTSPillarNetworkA,747,747,747,1972-01-18,74.70000000000003,74.69943,2015-01-01 00:12:27,bin747,75,True +CTSPillarNetworkA,748,748,748,1972-01-19,74.80000000000003,74.79943,2015-01-01 00:12:28,bin748,35,True +CTSPillarNetworkA,749,749,749,1972-01-20,74.90000000000002,74.89943,2015-01-01 00:12:29,bin749,75,True +CTSPillarNetworkA,750,750,750,1972-01-21,75.00000000000001,74.99943,2015-01-01 00:12:30,bin750,35,True +CTSPillarNetworkA,751,751,751,1972-01-22,75.10000000000001,75.09943,2015-01-01 00:12:31,bin751,75,True +CTSPillarNetworkA,752,752,752,1972-01-23,75.2,75.199425,2015-01-01 00:12:32,bin752,35,True +CTSPillarNetworkA,753,753,753,1972-01-24,75.3,75.29942,2015-01-01 00:12:33,bin753,75,True +CTSPillarNetworkA,754,754,754,1972-01-25,75.39999999999999,75.39942,2015-01-01 00:12:34,bin754,35,True +CTSPillarNetworkA,755,755,755,1972-01-26,75.49999999999999,75.49942,2015-01-01 00:12:35,bin755,75,True +CTSPillarNetworkA,756,756,756,1972-01-27,75.59999999999998,75.59942,2015-01-01 00:12:36,bin756,35,True +CTSPillarNetworkA,757,757,757,1972-01-28,75.69999999999997,75.69942,2015-01-01 00:12:37,bin757,75,True +CTSPillarNetworkA,758,758,758,1972-01-29,75.79999999999997,75.799416,2015-01-01 00:12:38,bin758,35,True +CTSPillarNetworkA,759,759,759,1972-01-30,75.89999999999996,75.899414,2015-01-01 00:12:39,bin759,75,True +CTSPillarNetworkA,760,760,760,1972-01-31,75.99999999999996,75.99941,2015-01-01 00:12:40,bin760,35,True +CTSPillarNetworkA,761,761,761,1972-02-01,76.09999999999995,76.09941,2015-01-01 00:12:41,bin761,75,True +CTSPillarNetworkA,762,762,762,1972-02-02,76.19999999999995,76.19941,2015-01-01 00:12:42,bin762,35,True +CTSPillarNetworkA,763,763,763,1972-02-03,76.29999999999994,76.29941,2015-01-01 00:12:43,bin763,75,True +CTSPillarNetworkA,764,764,764,1972-02-04,76.39999999999993,76.39941,2015-01-01 00:12:44,bin764,35,True +CTSPillarNetworkA,765,765,765,1972-02-05,76.49999999999993,76.499405,2015-01-01 00:12:45,bin765,75,True +CTSPillarNetworkA,766,766,766,1972-02-06,76.59999999999992,76.5994,2015-01-01 00:12:46,bin766,35,True +CTSPillarNetworkA,767,767,767,1972-02-07,76.69999999999992,76.6994,2015-01-01 00:12:47,bin767,75,True +CTSPillarNetworkA,768,768,768,1972-02-08,76.79999999999991,76.7994,2015-01-01 00:12:48,bin768,35,True +CTSPillarNetworkA,769,769,769,1972-02-09,76.8999999999999,76.8994,2015-01-01 00:12:49,bin769,75,True +CTSPillarNetworkA,770,770,770,1972-02-10,76.9999999999999,76.9994,2015-01-01 00:12:50,bin770,35,True +CTSPillarNetworkA,771,771,771,1972-02-11,77.0999999999999,77.099396,2015-01-01 00:12:51,bin771,75,True +CTSPillarNetworkA,772,772,772,1972-02-12,77.19999999999989,77.199394,2015-01-01 00:12:52,bin772,35,True +CTSPillarNetworkA,773,773,773,1972-02-13,77.29999999999988,77.29939,2015-01-01 00:12:53,bin773,75,True +CTSPillarNetworkA,774,774,774,1972-02-14,77.39999999999988,77.39939,2015-01-01 00:12:54,bin774,35,True +CTSPillarNetworkA,775,775,775,1972-02-15,77.49999999999987,77.49939,2015-01-01 00:12:55,bin775,75,True +CTSPillarNetworkA,776,776,776,1972-02-16,77.59999999999987,77.59939,2015-01-01 00:12:56,bin776,35,True +CTSPillarNetworkA,777,777,777,1972-02-17,77.69999999999986,77.69939,2015-01-01 00:12:57,bin777,75,True +CTSPillarNetworkA,778,778,778,1972-02-18,77.79999999999986,77.799385,2015-01-01 00:12:58,bin778,35,True +CTSPillarNetworkA,779,779,779,1972-02-19,77.89999999999985,77.89938,2015-01-01 00:12:59,bin779,75,True +CTSPillarNetworkA,780,780,780,1972-02-20,77.99999999999984,77.99938,2015-01-01 00:13:00,bin780,35,True +CTSPillarNetworkA,781,781,781,1972-02-21,78.09999999999984,78.09938,2015-01-01 00:13:01,bin781,75,True +CTSPillarNetworkA,782,782,782,1972-02-22,78.19999999999983,78.19938,2015-01-01 00:13:02,bin782,35,True +CTSPillarNetworkA,783,783,783,1972-02-23,78.29999999999983,78.29938,2015-01-01 00:13:03,bin783,75,True +CTSPillarNetworkA,784,784,784,1972-02-24,78.39999999999982,78.399376,2015-01-01 00:13:04,bin784,35,True +CTSPillarNetworkA,785,785,785,1972-02-25,78.49999999999982,78.499374,2015-01-01 00:13:05,bin785,75,True +CTSPillarNetworkA,786,786,786,1972-02-26,78.59999999999981,78.59937,2015-01-01 00:13:06,bin786,35,True +CTSPillarNetworkA,787,787,787,1972-02-27,78.6999999999998,78.69937,2015-01-01 00:13:07,bin787,75,True +CTSPillarNetworkA,788,788,788,1972-02-28,78.7999999999998,78.79937,2015-01-01 00:13:08,bin788,35,True +CTSPillarNetworkA,789,789,789,1972-02-29,78.89999999999979,78.89937,2015-01-01 00:13:09,bin789,75,True +CTSPillarNetworkA,790,790,790,1972-03-01,78.99999999999979,78.99937,2015-01-01 00:13:10,bin790,35,True +CTSPillarNetworkA,791,791,791,1972-03-02,79.09999999999978,79.099365,2015-01-01 00:13:11,bin791,75,True +CTSPillarNetworkA,792,792,792,1972-03-03,79.19999999999978,79.19936,2015-01-01 00:13:12,bin792,35,True +CTSPillarNetworkA,793,793,793,1972-03-04,79.29999999999977,79.29936,2015-01-01 00:13:13,bin793,75,True +CTSPillarNetworkA,794,794,794,1972-03-05,79.39999999999976,79.39936,2015-01-01 00:13:14,bin794,35,True +CTSPillarNetworkA,795,795,795,1972-03-06,79.49999999999976,79.49936,2015-01-01 00:13:15,bin795,75,True +CTSPillarNetworkA,796,796,796,1972-03-07,79.59999999999975,79.59936,2015-01-01 00:13:16,bin796,35,True +CTSPillarNetworkA,797,797,797,1972-03-08,79.69999999999975,79.699356,2015-01-01 00:13:17,bin797,75,True +CTSPillarNetworkA,798,798,798,1972-03-09,79.79999999999974,79.799355,2015-01-01 00:13:18,bin798,35,True +CTSPillarNetworkA,799,799,799,1972-03-10,79.89999999999974,79.89935,2015-01-01 00:13:19,bin799,75,True +CTSPillarNetworkA,800,800,800,1972-03-11,79.99999999999973,79.99935,2015-01-01 00:13:20,bin800,35,True +CTSPillarNetworkA,801,801,801,1972-03-12,80.09999999999972,80.09935,2015-01-01 00:13:21,bin801,75,True +CTSPillarNetworkA,802,802,802,1972-03-13,80.19999999999972,80.19935,2015-01-01 00:13:22,bin802,35,True +CTSPillarNetworkA,803,803,803,1972-03-14,80.29999999999971,80.29935,2015-01-01 00:13:23,bin803,75,True +CTSPillarNetworkA,804,804,804,1972-03-15,80.39999999999971,80.399345,2015-01-01 00:13:24,bin804,35,True +CTSPillarNetworkA,805,805,805,1972-03-16,80.4999999999997,80.499344,2015-01-01 00:13:25,bin805,75,True +CTSPillarNetworkA,806,806,806,1972-03-17,80.5999999999997,80.59934,2015-01-01 00:13:26,bin806,35,True +CTSPillarNetworkA,807,807,807,1972-03-18,80.69999999999969,80.69934,2015-01-01 00:13:27,bin807,75,True +CTSPillarNetworkA,808,808,808,1972-03-19,80.79999999999968,80.79934,2015-01-01 00:13:28,bin808,35,True +CTSPillarNetworkA,809,809,809,1972-03-20,80.89999999999968,80.89934,2015-01-01 00:13:29,bin809,75,True +CTSPillarNetworkA,810,810,810,1972-03-21,80.99999999999967,80.99934,2015-01-01 00:13:30,bin810,35,True +CTSPillarNetworkA,811,811,811,1972-03-22,81.09999999999967,81.099335,2015-01-01 00:13:31,bin811,75,True +CTSPillarNetworkA,812,812,812,1972-03-23,81.19999999999966,81.19933,2015-01-01 00:13:32,bin812,35,True +CTSPillarNetworkA,813,813,813,1972-03-24,81.29999999999966,81.29933,2015-01-01 00:13:33,bin813,75,True +CTSPillarNetworkA,814,814,814,1972-03-25,81.39999999999965,81.39933,2015-01-01 00:13:34,bin814,35,True +CTSPillarNetworkA,815,815,815,1972-03-26,81.49999999999964,81.49933,2015-01-01 00:13:35,bin815,75,True +CTSPillarNetworkA,816,816,816,1972-03-27,81.59999999999964,81.59933,2015-01-01 00:13:36,bin816,35,True +CTSPillarNetworkA,817,817,817,1972-03-28,81.69999999999963,81.699326,2015-01-01 00:13:37,bin817,75,True +CTSPillarNetworkA,818,818,818,1972-03-29,81.79999999999963,81.799324,2015-01-01 00:13:38,bin818,35,True +CTSPillarNetworkA,819,819,819,1972-03-30,81.89999999999962,81.89932,2015-01-01 00:13:39,bin819,75,True +CTSPillarNetworkA,820,820,820,1972-03-31,81.99999999999962,81.99932,2015-01-01 00:13:40,bin820,35,True +CTSPillarNetworkA,821,821,821,1972-04-01,82.09999999999961,82.09932,2015-01-01 00:13:41,bin821,75,True +CTSPillarNetworkA,822,822,822,1972-04-02,82.1999999999996,82.19932,2015-01-01 00:13:42,bin822,35,True +CTSPillarNetworkA,823,823,823,1972-04-03,82.2999999999996,82.29932,2015-01-01 00:13:43,bin823,75,True +CTSPillarNetworkA,824,824,824,1972-04-04,82.3999999999996,82.399315,2015-01-01 00:13:44,bin824,35,True +CTSPillarNetworkA,825,825,825,1972-04-05,82.49999999999959,82.49931,2015-01-01 00:13:45,bin825,75,True +CTSPillarNetworkA,826,826,826,1972-04-06,82.59999999999958,82.59931,2015-01-01 00:13:46,bin826,35,True +CTSPillarNetworkA,827,827,827,1972-04-07,82.69999999999958,82.69931,2015-01-01 00:13:47,bin827,75,True +CTSPillarNetworkA,828,828,828,1972-04-08,82.79999999999957,82.79931,2015-01-01 00:13:48,bin828,35,True +CTSPillarNetworkA,829,829,829,1972-04-09,82.89999999999957,82.89931,2015-01-01 00:13:49,bin829,75,True +CTSPillarNetworkA,830,830,830,1972-04-10,82.99999999999956,82.999306,2015-01-01 00:13:50,bin830,35,True +CTSPillarNetworkA,831,831,831,1972-04-11,83.09999999999955,83.099304,2015-01-01 00:13:51,bin831,75,True +CTSPillarNetworkA,832,832,832,1972-04-12,83.19999999999955,83.1993,2015-01-01 00:13:52,bin832,35,True +CTSPillarNetworkA,833,833,833,1972-04-13,83.29999999999954,83.2993,2015-01-01 00:13:53,bin833,75,True +CTSPillarNetworkA,834,834,834,1972-04-14,83.39999999999954,83.3993,2015-01-01 00:13:54,bin834,35,True +CTSPillarNetworkA,835,835,835,1972-04-15,83.49999999999953,83.4993,2015-01-01 00:13:55,bin835,75,True +CTSPillarNetworkA,836,836,836,1972-04-16,83.59999999999953,83.5993,2015-01-01 00:13:56,bin836,35,True +CTSPillarNetworkA,837,837,837,1972-04-17,83.69999999999952,83.699295,2015-01-01 00:13:57,bin837,75,True +CTSPillarNetworkA,838,838,838,1972-04-18,83.79999999999951,83.79929,2015-01-01 00:13:58,bin838,35,True +CTSPillarNetworkA,839,839,839,1972-04-19,83.89999999999951,83.89929,2015-01-01 00:13:59,bin839,75,True +CTSPillarNetworkA,840,840,840,1972-04-20,83.9999999999995,83.99929,2015-01-01 00:14:00,bin840,35,True +CTSPillarNetworkA,841,841,841,1972-04-21,84.0999999999995,84.09929,2015-01-01 00:14:01,bin841,75,True +CTSPillarNetworkA,842,842,842,1972-04-22,84.19999999999949,84.19929,2015-01-01 00:14:02,bin842,35,True +CTSPillarNetworkA,843,843,843,1972-04-23,84.29999999999949,84.299286,2015-01-01 00:14:03,bin843,75,True +CTSPillarNetworkA,844,844,844,1972-04-24,84.39999999999948,84.399284,2015-01-01 00:14:04,bin844,35,True +CTSPillarNetworkA,845,845,845,1972-04-25,84.49999999999947,84.49928,2015-01-01 00:14:05,bin845,75,True +CTSPillarNetworkA,846,846,846,1972-04-26,84.59999999999947,84.59928,2015-01-01 00:14:06,bin846,35,True +CTSPillarNetworkA,847,847,847,1972-04-27,84.69999999999946,84.69928,2015-01-01 00:14:07,bin847,75,True +CTSPillarNetworkA,848,848,848,1972-04-28,84.79999999999946,84.79928,2015-01-01 00:14:08,bin848,35,True +CTSPillarNetworkA,849,849,849,1972-04-29,84.89999999999945,84.89928,2015-01-01 00:14:09,bin849,75,True +CTSPillarNetworkA,850,850,850,1972-04-30,84.99999999999945,84.999275,2015-01-01 00:14:10,bin850,35,True +CTSPillarNetworkA,851,851,851,1972-05-01,85.09999999999944,85.09927,2015-01-01 00:14:11,bin851,75,True +CTSPillarNetworkA,852,852,852,1972-05-02,85.19999999999943,85.19927,2015-01-01 00:14:12,bin852,35,True +CTSPillarNetworkA,853,853,853,1972-05-03,85.29999999999943,85.29927,2015-01-01 00:14:13,bin853,75,True +CTSPillarNetworkA,854,854,854,1972-05-04,85.39999999999942,85.39927,2015-01-01 00:14:14,bin854,35,True +CTSPillarNetworkA,855,855,855,1972-05-05,85.49999999999942,85.49927,2015-01-01 00:14:15,bin855,75,True +CTSPillarNetworkA,856,856,856,1972-05-06,85.59999999999941,85.599266,2015-01-01 00:14:16,bin856,35,True +CTSPillarNetworkA,857,857,857,1972-05-07,85.6999999999994,85.699265,2015-01-01 00:14:17,bin857,75,True +CTSPillarNetworkA,858,858,858,1972-05-08,85.7999999999994,85.79926,2015-01-01 00:14:18,bin858,35,True +CTSPillarNetworkA,859,859,859,1972-05-09,85.8999999999994,85.89926,2015-01-01 00:14:19,bin859,75,True +CTSPillarNetworkA,860,860,860,1972-05-10,85.99999999999939,85.99926,2015-01-01 00:14:20,bin860,35,True +CTSPillarNetworkA,861,861,861,1972-05-11,86.09999999999938,86.09926,2015-01-01 00:14:21,bin861,75,True +CTSPillarNetworkA,862,862,862,1972-05-12,86.19999999999938,86.19926,2015-01-01 00:14:22,bin862,35,True +CTSPillarNetworkA,863,863,863,1972-05-13,86.29999999999937,86.299255,2015-01-01 00:14:23,bin863,75,True +CTSPillarNetworkA,864,864,864,1972-05-14,86.39999999999937,86.399254,2015-01-01 00:14:24,bin864,35,True +CTSPillarNetworkA,865,865,865,1972-05-15,86.49999999999936,86.49925,2015-01-01 00:14:25,bin865,75,True +CTSPillarNetworkA,866,866,866,1972-05-16,86.59999999999935,86.59925,2015-01-01 00:14:26,bin866,35,True +CTSPillarNetworkA,867,867,867,1972-05-17,86.69999999999935,86.69925,2015-01-01 00:14:27,bin867,75,True +CTSPillarNetworkA,868,868,868,1972-05-18,86.79999999999934,86.79925,2015-01-01 00:14:28,bin868,35,True +CTSPillarNetworkA,869,869,869,1972-05-19,86.89999999999934,86.89925,2015-01-01 00:14:29,bin869,75,True +CTSPillarNetworkA,870,870,870,1972-05-20,86.99999999999933,86.999245,2015-01-01 00:14:30,bin870,35,True +CTSPillarNetworkA,871,871,871,1972-05-21,87.09999999999933,87.09924,2015-01-01 00:14:31,bin871,75,True +CTSPillarNetworkA,872,872,872,1972-05-22,87.19999999999932,87.19924,2015-01-01 00:14:32,bin872,35,True +CTSPillarNetworkA,873,873,873,1972-05-23,87.29999999999932,87.29924,2015-01-01 00:14:33,bin873,75,True +CTSPillarNetworkA,874,874,874,1972-05-24,87.39999999999931,87.39924,2015-01-01 00:14:34,bin874,35,True +CTSPillarNetworkA,875,875,875,1972-05-25,87.4999999999993,87.49924,2015-01-01 00:14:35,bin875,75,True +CTSPillarNetworkA,876,876,876,1972-05-26,87.5999999999993,87.599236,2015-01-01 00:14:36,bin876,35,True +CTSPillarNetworkA,877,877,877,1972-05-27,87.69999999999929,87.699234,2015-01-01 00:14:37,bin877,75,True +CTSPillarNetworkA,878,878,878,1972-05-28,87.79999999999929,87.79923,2015-01-01 00:14:38,bin878,35,True +CTSPillarNetworkA,879,879,879,1972-05-29,87.89999999999928,87.89923,2015-01-01 00:14:39,bin879,75,True +CTSPillarNetworkA,880,880,880,1972-05-30,87.99999999999928,87.99923,2015-01-01 00:14:40,bin880,35,True +CTSPillarNetworkA,881,881,881,1972-05-31,88.09999999999927,88.09923,2015-01-01 00:14:41,bin881,75,True +CTSPillarNetworkA,882,882,882,1972-06-01,88.19999999999926,88.19923,2015-01-01 00:14:42,bin882,35,True +CTSPillarNetworkA,883,883,883,1972-06-02,88.29999999999926,88.299225,2015-01-01 00:14:43,bin883,75,True +CTSPillarNetworkA,884,884,884,1972-06-03,88.39999999999925,88.39922,2015-01-01 00:14:44,bin884,35,True +CTSPillarNetworkA,885,885,885,1972-06-04,88.49999999999925,88.49922,2015-01-01 00:14:45,bin885,75,True +CTSPillarNetworkA,886,886,886,1972-06-05,88.59999999999924,88.59922,2015-01-01 00:14:46,bin886,35,True +CTSPillarNetworkA,887,887,887,1972-06-06,88.69999999999924,88.69922,2015-01-01 00:14:47,bin887,75,True +CTSPillarNetworkA,888,888,888,1972-06-07,88.79999999999923,88.79922,2015-01-01 00:14:48,bin888,35,True +CTSPillarNetworkA,889,889,889,1972-06-08,88.89999999999922,88.899216,2015-01-01 00:14:49,bin889,75,True +CTSPillarNetworkA,890,890,890,1972-06-09,88.99999999999922,88.999214,2015-01-01 00:14:50,bin890,35,True +CTSPillarNetworkA,891,891,891,1972-06-10,89.09999999999921,89.09921,2015-01-01 00:14:51,bin891,75,True +CTSPillarNetworkA,892,892,892,1972-06-11,89.1999999999992,89.19921,2015-01-01 00:14:52,bin892,35,True +CTSPillarNetworkA,893,893,893,1972-06-12,89.2999999999992,89.29921,2015-01-01 00:14:53,bin893,75,True +CTSPillarNetworkA,894,894,894,1972-06-13,89.3999999999992,89.39921,2015-01-01 00:14:54,bin894,35,True +CTSPillarNetworkA,895,895,895,1972-06-14,89.49999999999919,89.49921,2015-01-01 00:14:55,bin895,75,True +CTSPillarNetworkA,896,896,896,1972-06-15,89.59999999999918,89.599205,2015-01-01 00:14:56,bin896,35,True +CTSPillarNetworkA,897,897,897,1972-06-16,89.69999999999918,89.6992,2015-01-01 00:14:57,bin897,75,True +CTSPillarNetworkA,898,898,898,1972-06-17,89.79999999999917,89.7992,2015-01-01 00:14:58,bin898,35,True +CTSPillarNetworkA,899,899,899,1972-06-18,89.89999999999917,89.8992,2015-01-01 00:14:59,bin899,75,True +CTSPillarNetworkA,900,900,900,1972-06-19,89.99999999999916,89.9992,2015-01-01 00:15:00,bin900,35,True +CTSPillarNetworkA,901,901,901,1972-06-20,90.09999999999916,90.0992,2015-01-01 00:15:01,bin901,75,True +CTSPillarNetworkA,902,902,902,1972-06-21,90.19999999999915,90.199196,2015-01-01 00:15:02,bin902,35,True +CTSPillarNetworkA,903,903,903,1972-06-22,90.29999999999914,90.299194,2015-01-01 00:15:03,bin903,75,True +CTSPillarNetworkA,904,904,904,1972-06-23,90.39999999999914,90.39919,2015-01-01 00:15:04,bin904,35,True +CTSPillarNetworkA,905,905,905,1972-06-24,90.49999999999913,90.49919,2015-01-01 00:15:05,bin905,75,True +CTSPillarNetworkA,906,906,906,1972-06-25,90.59999999999913,90.59919,2015-01-01 00:15:06,bin906,35,True +CTSPillarNetworkA,907,907,907,1972-06-26,90.69999999999912,90.69919,2015-01-01 00:15:07,bin907,75,True +CTSPillarNetworkA,908,908,908,1972-06-27,90.79999999999912,90.79919,2015-01-01 00:15:08,bin908,35,True +CTSPillarNetworkA,909,909,909,1972-06-28,90.89999999999911,90.899185,2015-01-01 00:15:09,bin909,75,True +CTSPillarNetworkA,910,910,910,1972-06-29,90.9999999999991,90.99918,2015-01-01 00:15:10,bin910,35,True +CTSPillarNetworkA,911,911,911,1972-06-30,91.0999999999991,91.09918,2015-01-01 00:15:11,bin911,75,True +CTSPillarNetworkA,912,912,912,1972-07-01,91.1999999999991,91.19918,2015-01-01 00:15:12,bin912,35,True +CTSPillarNetworkA,913,913,913,1972-07-02,91.29999999999909,91.29918,2015-01-01 00:15:13,bin913,75,True +CTSPillarNetworkA,914,914,914,1972-07-03,91.39999999999908,91.39918,2015-01-01 00:15:14,bin914,35,True +CTSPillarNetworkA,915,915,915,1972-07-04,91.49999999999908,91.499176,2015-01-01 00:15:15,bin915,75,True +CTSPillarNetworkA,916,916,916,1972-07-05,91.59999999999907,91.599174,2015-01-01 00:15:16,bin916,35,True +CTSPillarNetworkA,917,917,917,1972-07-06,91.69999999999906,91.69917,2015-01-01 00:15:17,bin917,75,True +CTSPillarNetworkA,918,918,918,1972-07-07,91.79999999999906,91.79917,2015-01-01 00:15:18,bin918,35,True +CTSPillarNetworkA,919,919,919,1972-07-08,91.89999999999905,91.89917,2015-01-01 00:15:19,bin919,75,True +CTSPillarNetworkA,920,920,920,1972-07-09,91.99999999999905,91.99917,2015-01-01 00:15:20,bin920,35,True +CTSPillarNetworkA,921,921,921,1972-07-10,92.09999999999904,92.09917,2015-01-01 00:15:21,bin921,75,True +CTSPillarNetworkA,922,922,922,1972-07-11,92.19999999999904,92.199165,2015-01-01 00:15:22,bin922,35,True +CTSPillarNetworkA,923,923,923,1972-07-12,92.29999999999903,92.299164,2015-01-01 00:15:23,bin923,75,True +CTSPillarNetworkA,924,924,924,1972-07-13,92.39999999999903,92.39916,2015-01-01 00:15:24,bin924,35,True +CTSPillarNetworkA,925,925,925,1972-07-14,92.49999999999902,92.49916,2015-01-01 00:15:25,bin925,75,True +CTSPillarNetworkA,926,926,926,1972-07-15,92.59999999999901,92.59916,2015-01-01 00:15:26,bin926,35,True +CTSPillarNetworkA,927,927,927,1972-07-16,92.69999999999901,92.69916,2015-01-01 00:15:27,bin927,75,True +CTSPillarNetworkA,928,928,928,1972-07-17,92.799999999999,92.79916,2015-01-01 00:15:28,bin928,35,True +CTSPillarNetworkA,929,929,929,1972-07-18,92.899999999999,92.899155,2015-01-01 00:15:29,bin929,75,True +CTSPillarNetworkA,930,930,930,1972-07-19,92.99999999999899,92.99915,2015-01-01 00:15:30,bin930,35,True +CTSPillarNetworkA,931,931,931,1972-07-20,93.09999999999899,93.09915,2015-01-01 00:15:31,bin931,75,True +CTSPillarNetworkA,932,932,932,1972-07-21,93.19999999999898,93.19915,2015-01-01 00:15:32,bin932,35,True +CTSPillarNetworkA,933,933,933,1972-07-22,93.29999999999897,93.29915,2015-01-01 00:15:33,bin933,75,True +CTSPillarNetworkA,934,934,934,1972-07-23,93.39999999999897,93.39915,2015-01-01 00:15:34,bin934,35,True +CTSPillarNetworkA,935,935,935,1972-07-24,93.49999999999896,93.499146,2015-01-01 00:15:35,bin935,75,True +CTSPillarNetworkA,936,936,936,1972-07-25,93.59999999999896,93.599144,2015-01-01 00:15:36,bin936,35,True +CTSPillarNetworkA,937,937,937,1972-07-26,93.69999999999895,93.69914,2015-01-01 00:15:37,bin937,75,True +CTSPillarNetworkA,938,938,938,1972-07-27,93.79999999999895,93.79914,2015-01-01 00:15:38,bin938,35,True +CTSPillarNetworkA,939,939,939,1972-07-28,93.89999999999894,93.89914,2015-01-01 00:15:39,bin939,75,True +CTSPillarNetworkA,940,940,940,1972-07-29,93.99999999999893,93.99914,2015-01-01 00:15:40,bin940,35,True +CTSPillarNetworkA,941,941,941,1972-07-30,94.09999999999893,94.09914,2015-01-01 00:15:41,bin941,75,True +CTSPillarNetworkA,942,942,942,1972-07-31,94.19999999999892,94.199135,2015-01-01 00:15:42,bin942,35,True +CTSPillarNetworkA,943,943,943,1972-08-01,94.29999999999892,94.29913,2015-01-01 00:15:43,bin943,75,True +CTSPillarNetworkA,944,944,944,1972-08-02,94.39999999999891,94.39913,2015-01-01 00:15:44,bin944,35,True +CTSPillarNetworkA,945,945,945,1972-08-03,94.4999999999989,94.49913,2015-01-01 00:15:45,bin945,75,True +CTSPillarNetworkA,946,946,946,1972-08-04,94.5999999999989,94.59913,2015-01-01 00:15:46,bin946,35,True +CTSPillarNetworkA,947,947,947,1972-08-05,94.6999999999989,94.69913,2015-01-01 00:15:47,bin947,75,True +CTSPillarNetworkA,948,948,948,1972-08-06,94.79999999999889,94.799126,2015-01-01 00:15:48,bin948,35,True +CTSPillarNetworkA,949,949,949,1972-08-07,94.89999999999888,94.899124,2015-01-01 00:15:49,bin949,75,True +CTSPillarNetworkA,950,950,950,1972-08-08,94.99999999999888,94.99912,2015-01-01 00:15:50,bin950,35,True +CTSPillarNetworkA,951,951,951,1972-08-09,95.09999999999887,95.09912,2015-01-01 00:15:51,bin951,75,True +CTSPillarNetworkA,952,952,952,1972-08-10,95.19999999999887,95.19912,2015-01-01 00:15:52,bin952,35,True +CTSPillarNetworkA,953,953,953,1972-08-11,95.29999999999886,95.29912,2015-01-01 00:15:53,bin953,75,True +CTSPillarNetworkA,954,954,954,1972-08-12,95.39999999999885,95.39912,2015-01-01 00:15:54,bin954,35,True +CTSPillarNetworkA,955,955,955,1972-08-13,95.49999999999885,95.499115,2015-01-01 00:15:55,bin955,75,True +CTSPillarNetworkA,956,956,956,1972-08-14,95.59999999999884,95.59911,2015-01-01 00:15:56,bin956,35,True +CTSPillarNetworkA,957,957,957,1972-08-15,95.69999999999884,95.69911,2015-01-01 00:15:57,bin957,75,True +CTSPillarNetworkA,958,958,958,1972-08-16,95.79999999999883,95.79911,2015-01-01 00:15:58,bin958,35,True +CTSPillarNetworkA,959,959,959,1972-08-17,95.89999999999883,95.89911,2015-01-01 00:15:59,bin959,75,True +CTSPillarNetworkA,960,960,960,1972-08-18,95.99999999999882,95.99911,2015-01-01 00:16:00,bin960,35,True +CTSPillarNetworkA,961,961,961,1972-08-19,96.09999999999881,96.099106,2015-01-01 00:16:01,bin961,75,True +CTSPillarNetworkA,962,962,962,1972-08-20,96.19999999999881,96.199104,2015-01-01 00:16:02,bin962,35,True +CTSPillarNetworkA,963,963,963,1972-08-21,96.2999999999988,96.2991,2015-01-01 00:16:03,bin963,75,True +CTSPillarNetworkA,964,964,964,1972-08-22,96.3999999999988,96.3991,2015-01-01 00:16:04,bin964,35,True +CTSPillarNetworkA,965,965,965,1972-08-23,96.49999999999879,96.4991,2015-01-01 00:16:05,bin965,75,True +CTSPillarNetworkA,966,966,966,1972-08-24,96.59999999999879,96.5991,2015-01-01 00:16:06,bin966,35,True +CTSPillarNetworkA,967,967,967,1972-08-25,96.69999999999878,96.6991,2015-01-01 00:16:07,bin967,75,True +CTSPillarNetworkA,968,968,968,1972-08-26,96.79999999999878,96.799095,2015-01-01 00:16:08,bin968,35,True +CTSPillarNetworkA,969,969,969,1972-08-27,96.89999999999877,96.89909,2015-01-01 00:16:09,bin969,75,True +CTSPillarNetworkA,970,970,970,1972-08-28,96.99999999999876,96.99909,2015-01-01 00:16:10,bin970,35,True +CTSPillarNetworkA,971,971,971,1972-08-29,97.09999999999876,97.09909,2015-01-01 00:16:11,bin971,75,True +CTSPillarNetworkA,972,972,972,1972-08-30,97.19999999999875,97.19909,2015-01-01 00:16:12,bin972,35,True +CTSPillarNetworkA,973,973,973,1972-08-31,97.29999999999875,97.29909,2015-01-01 00:16:13,bin973,75,True +CTSPillarNetworkA,974,974,974,1972-09-01,97.39999999999874,97.399086,2015-01-01 00:16:14,bin974,35,True +CTSPillarNetworkA,975,975,975,1972-09-02,97.49999999999874,97.499084,2015-01-01 00:16:15,bin975,75,True +CTSPillarNetworkA,976,976,976,1972-09-03,97.59999999999873,97.59908,2015-01-01 00:16:16,bin976,35,True +CTSPillarNetworkA,977,977,977,1972-09-04,97.69999999999872,97.69908,2015-01-01 00:16:17,bin977,75,True +CTSPillarNetworkA,978,978,978,1972-09-05,97.79999999999872,97.79908,2015-01-01 00:16:18,bin978,35,True +CTSPillarNetworkA,979,979,979,1972-09-06,97.89999999999871,97.89908,2015-01-01 00:16:19,bin979,75,True +CTSPillarNetworkA,980,980,980,1972-09-07,97.9999999999987,97.99908,2015-01-01 00:16:20,bin980,35,True +CTSPillarNetworkA,981,981,981,1972-09-08,98.0999999999987,98.099075,2015-01-01 00:16:21,bin981,75,True +CTSPillarNetworkA,982,982,982,1972-09-09,98.1999999999987,98.19907,2015-01-01 00:16:22,bin982,35,True +CTSPillarNetworkA,983,983,983,1972-09-10,98.29999999999869,98.29907,2015-01-01 00:16:23,bin983,75,True +CTSPillarNetworkA,984,984,984,1972-09-11,98.39999999999868,98.39907,2015-01-01 00:16:24,bin984,35,True +CTSPillarNetworkA,985,985,985,1972-09-12,98.49999999999868,98.49907,2015-01-01 00:16:25,bin985,75,True +CTSPillarNetworkA,986,986,986,1972-09-13,98.59999999999867,98.59907,2015-01-01 00:16:26,bin986,35,True +CTSPillarNetworkA,987,987,987,1972-09-14,98.69999999999867,98.699066,2015-01-01 00:16:27,bin987,75,True +CTSPillarNetworkA,988,988,988,1972-09-15,98.79999999999866,98.799065,2015-01-01 00:16:28,bin988,35,True +CTSPillarNetworkA,989,989,989,1972-09-16,98.89999999999866,98.89906,2015-01-01 00:16:29,bin989,75,True +CTSPillarNetworkA,990,990,990,1972-09-17,98.99999999999865,98.99906,2015-01-01 00:16:30,bin990,35,True +CTSPillarNetworkA,991,991,991,1972-09-18,99.09999999999864,99.09906,2015-01-01 00:16:31,bin991,75,True +CTSPillarNetworkA,992,992,992,1972-09-19,99.19999999999864,99.19906,2015-01-01 00:16:32,bin992,35,True +CTSPillarNetworkA,993,993,993,1972-09-20,99.29999999999863,99.29906,2015-01-01 00:16:33,bin993,75,True +CTSPillarNetworkA,994,994,994,1972-09-21,99.39999999999863,99.399055,2015-01-01 00:16:34,bin994,35,True +CTSPillarNetworkA,995,995,995,1972-09-22,99.49999999999862,99.499054,2015-01-01 00:16:35,bin995,75,True +CTSPillarNetworkA,996,996,996,1972-09-23,99.59999999999862,99.59905,2015-01-01 00:16:36,bin996,35,True +CTSPillarNetworkA,997,997,997,1972-09-24,99.69999999999861,99.69905,2015-01-01 00:16:37,bin997,75,True +CTSPillarNetworkA,998,998,998,1972-09-25,99.7999999999986,99.79905,2015-01-01 00:16:38,bin998,35,True +CTSPillarNetworkA,999,999,999,1972-09-26,99.8999999999986,99.89905,2015-01-01 00:16:39,bin999,75,True +CTSPillarNetworkA,1000,1000,1000,1972-09-27,99.9999999999986,99.99905,2015-01-01 00:16:40,bin1000,35,True +CTSPillarNetworkA,1001,1001,1001,1972-09-28,100.09999999999859,100.099045,2015-01-01 00:16:41,bin1001,75,True +CTSPillarNetworkA,1002,1002,1002,1972-09-29,100.19999999999858,100.19904,2015-01-01 00:16:42,bin1002,35,True +CTSPillarNetworkA,1003,1003,1003,1972-09-30,100.29999999999858,100.29904,2015-01-01 00:16:43,bin1003,75,True +CTSPillarNetworkA,1004,1004,1004,1972-10-01,100.39999999999857,100.39904,2015-01-01 00:16:44,bin1004,35,True +CTSPillarNetworkA,1005,1005,1005,1972-10-02,100.49999999999856,100.49904,2015-01-01 00:16:45,bin1005,75,True +CTSPillarNetworkA,1006,1006,1006,1972-10-03,100.59999999999856,100.59904,2015-01-01 00:16:46,bin1006,35,True +CTSPillarNetworkA,1007,1007,1007,1972-10-04,100.69999999999855,100.699036,2015-01-01 00:16:47,bin1007,75,True +CTSPillarNetworkA,1008,1008,1008,1972-10-05,100.79999999999855,100.799034,2015-01-01 00:16:48,bin1008,35,True +CTSPillarNetworkA,1009,1009,1009,1972-10-06,100.89999999999854,100.89903,2015-01-01 00:16:49,bin1009,75,True +CTSPillarNetworkA,1010,1010,1010,1972-10-07,100.99999999999854,100.99903,2015-01-01 00:16:50,bin1010,35,True +CTSPillarNetworkA,1011,1011,1011,1972-10-08,101.09999999999853,101.09903,2015-01-01 00:16:51,bin1011,75,True +CTSPillarNetworkA,1012,1012,1012,1972-10-09,101.19999999999852,101.19903,2015-01-01 00:16:52,bin1012,35,True +CTSPillarNetworkA,1013,1013,1013,1972-10-10,101.29999999999852,101.29903,2015-01-01 00:16:53,bin1013,75,True +CTSPillarNetworkA,1014,1014,1014,1972-10-11,101.39999999999851,101.399025,2015-01-01 00:16:54,bin1014,35,True +CTSPillarNetworkA,1015,1015,1015,1972-10-12,101.49999999999851,101.49902,2015-01-01 00:16:55,bin1015,75,True +CTSPillarNetworkA,1016,1016,1016,1972-10-13,101.5999999999985,101.59902,2015-01-01 00:16:56,bin1016,35,True +CTSPillarNetworkA,1017,1017,1017,1972-10-14,101.6999999999985,101.69902,2015-01-01 00:16:57,bin1017,75,True +CTSPillarNetworkA,1018,1018,1018,1972-10-15,101.79999999999849,101.79902,2015-01-01 00:16:58,bin1018,35,True +CTSPillarNetworkA,1019,1019,1019,1972-10-16,101.89999999999849,101.89902,2015-01-01 00:16:59,bin1019,75,True +CTSPillarNetworkA,1020,1020,1020,1972-10-17,101.99999999999848,101.999016,2015-01-01 00:17:00,bin1020,35,True +CTSPillarNetworkA,1021,1021,1021,1972-10-18,102.09999999999847,102.099014,2015-01-01 00:17:01,bin1021,75,True +CTSPillarNetworkA,1022,1022,1022,1972-10-19,102.19999999999847,102.19901,2015-01-01 00:17:02,bin1022,35,True +CTSPillarNetworkA,1023,1023,1023,1972-10-20,102.29999999999846,102.29901,2015-01-01 00:17:03,bin1023,75,True +CTSPillarNetworkA,1024,1024,1024,1972-10-21,102.39999999999846,102.39901,2015-01-01 00:17:04,bin1024,35,True +CTSPillarNetworkA,1025,1025,1025,1972-10-22,102.49999999999845,102.49901,2015-01-01 00:17:05,bin1025,75,True +CTSPillarNetworkA,1026,1026,1026,1972-10-23,102.59999999999845,102.59901,2015-01-01 00:17:06,bin1026,35,True +CTSPillarNetworkA,1027,1027,1027,1972-10-24,102.69999999999844,102.699005,2015-01-01 00:17:07,bin1027,75,True +CTSPillarNetworkA,1028,1028,1028,1972-10-25,102.79999999999843,102.799,2015-01-01 00:17:08,bin1028,35,True +CTSPillarNetworkA,1029,1029,1029,1972-10-26,102.89999999999843,102.899,2015-01-01 00:17:09,bin1029,75,True +CTSPillarNetworkA,1030,1030,1030,1972-10-27,102.99999999999842,102.999,2015-01-01 00:17:10,bin1030,35,True +CTSPillarNetworkA,1031,1031,1031,1972-10-28,103.09999999999842,103.099,2015-01-01 00:17:11,bin1031,75,True +CTSPillarNetworkA,1032,1032,1032,1972-10-29,103.19999999999841,103.199,2015-01-01 00:17:12,bin1032,35,True +CTSPillarNetworkA,1033,1033,1033,1972-10-30,103.2999999999984,103.298996,2015-01-01 00:17:13,bin1033,75,True +CTSPillarNetworkA,1034,1034,1034,1972-10-31,103.3999999999984,103.398994,2015-01-01 00:17:14,bin1034,35,True +CTSPillarNetworkA,1035,1035,1035,1972-11-01,103.4999999999984,103.49899,2015-01-01 00:17:15,bin1035,75,True +CTSPillarNetworkA,1036,1036,1036,1972-11-02,103.59999999999839,103.59899,2015-01-01 00:17:16,bin1036,35,True +CTSPillarNetworkA,1037,1037,1037,1972-11-03,103.69999999999838,103.69899,2015-01-01 00:17:17,bin1037,75,True +CTSPillarNetworkA,1038,1038,1038,1972-11-04,103.79999999999838,103.79899,2015-01-01 00:17:18,bin1038,35,True +CTSPillarNetworkA,1039,1039,1039,1972-11-05,103.89999999999837,103.89899,2015-01-01 00:17:19,bin1039,75,True +CTSPillarNetworkA,1040,1040,1040,1972-11-06,103.99999999999837,103.998985,2015-01-01 00:17:20,bin1040,35,True +CTSPillarNetworkA,1041,1041,1041,1972-11-07,104.09999999999836,104.09898,2015-01-01 00:17:21,bin1041,75,True +CTSPillarNetworkA,1042,1042,1042,1972-11-08,104.19999999999835,104.19898,2015-01-01 00:17:22,bin1042,35,True +CTSPillarNetworkA,1043,1043,1043,1972-11-09,104.29999999999835,104.29898,2015-01-01 00:17:23,bin1043,75,True +CTSPillarNetworkA,1044,1044,1044,1972-11-10,104.39999999999834,104.39898,2015-01-01 00:17:24,bin1044,35,True +CTSPillarNetworkA,1045,1045,1045,1972-11-11,104.49999999999834,104.49898,2015-01-01 00:17:25,bin1045,75,True +CTSPillarNetworkA,1046,1046,1046,1972-11-12,104.59999999999833,104.598976,2015-01-01 00:17:26,bin1046,35,True +CTSPillarNetworkA,1047,1047,1047,1972-11-13,104.69999999999833,104.698975,2015-01-01 00:17:27,bin1047,75,True +CTSPillarNetworkA,1048,1048,1048,1972-11-14,104.79999999999832,104.79897,2015-01-01 00:17:28,bin1048,35,True +CTSPillarNetworkA,1049,1049,1049,1972-11-15,104.89999999999831,104.89897,2015-01-01 00:17:29,bin1049,75,True +CTSPillarNetworkA,1050,1050,1050,1972-11-16,104.99999999999831,104.99897,2015-01-01 00:17:30,bin1050,35,True +CTSPillarNetworkA,1051,1051,1051,1972-11-17,105.0999999999983,105.09897,2015-01-01 00:17:31,bin1051,75,True +CTSPillarNetworkA,1052,1052,1052,1972-11-18,105.1999999999983,105.19897,2015-01-01 00:17:32,bin1052,35,True +CTSPillarNetworkA,1053,1053,1053,1972-11-19,105.29999999999829,105.298965,2015-01-01 00:17:33,bin1053,75,True +CTSPillarNetworkA,1054,1054,1054,1972-11-20,105.39999999999829,105.398964,2015-01-01 00:17:34,bin1054,35,True +CTSPillarNetworkA,1055,1055,1055,1972-11-21,105.49999999999828,105.49896,2015-01-01 00:17:35,bin1055,75,True +CTSPillarNetworkA,1056,1056,1056,1972-11-22,105.59999999999827,105.59896,2015-01-01 00:17:36,bin1056,35,True +CTSPillarNetworkA,1057,1057,1057,1972-11-23,105.69999999999827,105.69896,2015-01-01 00:17:37,bin1057,75,True +CTSPillarNetworkA,1058,1058,1058,1972-11-24,105.79999999999826,105.79896,2015-01-01 00:17:38,bin1058,35,True +CTSPillarNetworkA,1059,1059,1059,1972-11-25,105.89999999999826,105.89896,2015-01-01 00:17:39,bin1059,75,True +CTSPillarNetworkA,1060,1060,1060,1972-11-26,105.99999999999825,105.998955,2015-01-01 00:17:40,bin1060,35,True +CTSPillarNetworkA,1061,1061,1061,1972-11-27,106.09999999999825,106.09895,2015-01-01 00:17:41,bin1061,75,True +CTSPillarNetworkA,1062,1062,1062,1972-11-28,106.19999999999824,106.19895,2015-01-01 00:17:42,bin1062,35,True +CTSPillarNetworkA,1063,1063,1063,1972-11-29,106.29999999999824,106.29895,2015-01-01 00:17:43,bin1063,75,True +CTSPillarNetworkA,1064,1064,1064,1972-11-30,106.39999999999823,106.39895,2015-01-01 00:17:44,bin1064,35,True +CTSPillarNetworkA,1065,1065,1065,1972-12-01,106.49999999999822,106.49895,2015-01-01 00:17:45,bin1065,75,True +CTSPillarNetworkA,1066,1066,1066,1972-12-02,106.59999999999822,106.598946,2015-01-01 00:17:46,bin1066,35,True +CTSPillarNetworkA,1067,1067,1067,1972-12-03,106.69999999999821,106.698944,2015-01-01 00:17:47,bin1067,75,True +CTSPillarNetworkA,1068,1068,1068,1972-12-04,106.7999999999982,106.79894,2015-01-01 00:17:48,bin1068,35,True +CTSPillarNetworkA,1069,1069,1069,1972-12-05,106.8999999999982,106.89894,2015-01-01 00:17:49,bin1069,75,True +CTSPillarNetworkA,1070,1070,1070,1972-12-06,106.9999999999982,106.99894,2015-01-01 00:17:50,bin1070,35,True +CTSPillarNetworkA,1071,1071,1071,1972-12-07,107.09999999999819,107.09894,2015-01-01 00:17:51,bin1071,75,True +CTSPillarNetworkA,1072,1072,1072,1972-12-08,107.19999999999818,107.19894,2015-01-01 00:17:52,bin1072,35,True +CTSPillarNetworkA,1073,1073,1073,1972-12-09,107.29999999999818,107.298935,2015-01-01 00:17:53,bin1073,75,True +CTSPillarNetworkA,1074,1074,1074,1972-12-10,107.39999999999817,107.39893,2015-01-01 00:17:54,bin1074,35,True +CTSPillarNetworkA,1075,1075,1075,1972-12-11,107.49999999999817,107.49893,2015-01-01 00:17:55,bin1075,75,True +CTSPillarNetworkA,1076,1076,1076,1972-12-12,107.59999999999816,107.59893,2015-01-01 00:17:56,bin1076,35,True +CTSPillarNetworkA,1077,1077,1077,1972-12-13,107.69999999999816,107.69893,2015-01-01 00:17:57,bin1077,75,True +CTSPillarNetworkA,1078,1078,1078,1972-12-14,107.79999999999815,107.79893,2015-01-01 00:17:58,bin1078,35,True +CTSPillarNetworkA,1079,1079,1079,1972-12-15,107.89999999999814,107.898926,2015-01-01 00:17:59,bin1079,75,True +CTSPillarNetworkA,1080,1080,1080,1972-12-16,107.99999999999814,107.998924,2015-01-01 00:18:00,bin1080,35,True +CTSPillarNetworkA,1081,1081,1081,1972-12-17,108.09999999999813,108.09892,2015-01-01 00:18:01,bin1081,75,True +CTSPillarNetworkA,1082,1082,1082,1972-12-18,108.19999999999813,108.19892,2015-01-01 00:18:02,bin1082,35,True +CTSPillarNetworkA,1083,1083,1083,1972-12-19,108.29999999999812,108.29892,2015-01-01 00:18:03,bin1083,75,True +CTSPillarNetworkA,1084,1084,1084,1972-12-20,108.39999999999812,108.39892,2015-01-01 00:18:04,bin1084,35,True +CTSPillarNetworkA,1085,1085,1085,1972-12-21,108.49999999999811,108.49892,2015-01-01 00:18:05,bin1085,75,True +CTSPillarNetworkA,1086,1086,1086,1972-12-22,108.5999999999981,108.598915,2015-01-01 00:18:06,bin1086,35,True +CTSPillarNetworkA,1087,1087,1087,1972-12-23,108.6999999999981,108.69891,2015-01-01 00:18:07,bin1087,75,True +CTSPillarNetworkA,1088,1088,1088,1972-12-24,108.7999999999981,108.79891,2015-01-01 00:18:08,bin1088,35,True +CTSPillarNetworkA,1089,1089,1089,1972-12-25,108.89999999999809,108.89891,2015-01-01 00:18:09,bin1089,75,True +CTSPillarNetworkA,1090,1090,1090,1972-12-26,108.99999999999808,108.99891,2015-01-01 00:18:10,bin1090,35,True +CTSPillarNetworkA,1091,1091,1091,1972-12-27,109.09999999999808,109.09891,2015-01-01 00:18:11,bin1091,75,True +CTSPillarNetworkA,1092,1092,1092,1972-12-28,109.19999999999807,109.198906,2015-01-01 00:18:12,bin1092,35,True +CTSPillarNetworkA,1093,1093,1093,1972-12-29,109.29999999999806,109.298904,2015-01-01 00:18:13,bin1093,75,True +CTSPillarNetworkA,1094,1094,1094,1972-12-30,109.39999999999806,109.3989,2015-01-01 00:18:14,bin1094,35,True +CTSPillarNetworkA,1095,1095,1095,1972-12-31,109.49999999999805,109.4989,2015-01-01 00:18:15,bin1095,75,True +CTSPillarNetworkA,1096,1096,1096,1973-01-01,109.59999999999805,109.5989,2015-01-01 00:18:16,bin1096,35,True +CTSPillarNetworkA,1097,1097,1097,1973-01-02,109.69999999999804,109.6989,2015-01-01 00:18:17,bin1097,75,True +CTSPillarNetworkA,1098,1098,1098,1973-01-03,109.79999999999804,109.7989,2015-01-01 00:18:18,bin1098,35,True +CTSPillarNetworkA,1099,1099,1099,1973-01-04,109.89999999999803,109.898895,2015-01-01 00:18:19,bin1099,75,True +CTSPillarNetworkA,1100,1100,1100,1973-01-05,109.99999999999802,109.99889,2015-01-01 00:18:20,bin1100,35,True +CTSPillarNetworkA,1101,1101,1101,1973-01-06,110.09999999999802,110.09889,2015-01-01 00:18:21,bin1101,75,True +CTSPillarNetworkA,1102,1102,1102,1973-01-07,110.19999999999801,110.19889,2015-01-01 00:18:22,bin1102,35,True +CTSPillarNetworkA,1103,1103,1103,1973-01-08,110.29999999999801,110.29889,2015-01-01 00:18:23,bin1103,75,True +CTSPillarNetworkA,1104,1104,1104,1973-01-09,110.399999999998,110.39889,2015-01-01 00:18:24,bin1104,35,True +CTSPillarNetworkA,1105,1105,1105,1973-01-10,110.499999999998,110.498886,2015-01-01 00:18:25,bin1105,75,True +CTSPillarNetworkA,1106,1106,1106,1973-01-11,110.59999999999799,110.598885,2015-01-01 00:18:26,bin1106,35,True +CTSPillarNetworkA,1107,1107,1107,1973-01-12,110.69999999999798,110.69888,2015-01-01 00:18:27,bin1107,75,True +CTSPillarNetworkA,1108,1108,1108,1973-01-13,110.79999999999798,110.79888,2015-01-01 00:18:28,bin1108,35,True +CTSPillarNetworkA,1109,1109,1109,1973-01-14,110.89999999999797,110.89888,2015-01-01 00:18:29,bin1109,75,True +CTSPillarNetworkA,1110,1110,1110,1973-01-15,110.99999999999797,110.99888,2015-01-01 00:18:30,bin1110,35,True +CTSPillarNetworkA,1111,1111,1111,1973-01-16,111.09999999999796,111.09888,2015-01-01 00:18:31,bin1111,75,True +CTSPillarNetworkA,1112,1112,1112,1973-01-17,111.19999999999796,111.198875,2015-01-01 00:18:32,bin1112,35,True +CTSPillarNetworkA,1113,1113,1113,1973-01-18,111.29999999999795,111.298874,2015-01-01 00:18:33,bin1113,75,True +CTSPillarNetworkA,1114,1114,1114,1973-01-19,111.39999999999795,111.39887,2015-01-01 00:18:34,bin1114,35,True +CTSPillarNetworkA,1115,1115,1115,1973-01-20,111.49999999999794,111.49887,2015-01-01 00:18:35,bin1115,75,True +CTSPillarNetworkA,1116,1116,1116,1973-01-21,111.59999999999793,111.59887,2015-01-01 00:18:36,bin1116,35,True +CTSPillarNetworkA,1117,1117,1117,1973-01-22,111.69999999999793,111.69887,2015-01-01 00:18:37,bin1117,75,True +CTSPillarNetworkA,1118,1118,1118,1973-01-23,111.79999999999792,111.79887,2015-01-01 00:18:38,bin1118,35,True +CTSPillarNetworkA,1119,1119,1119,1973-01-24,111.89999999999792,111.898865,2015-01-01 00:18:39,bin1119,75,True +CTSPillarNetworkA,1120,1120,1120,1973-01-25,111.99999999999791,111.99886,2015-01-01 00:18:40,bin1120,35,True +CTSPillarNetworkA,1121,1121,1121,1973-01-26,112.0999999999979,112.09886,2015-01-01 00:18:41,bin1121,75,True +CTSPillarNetworkA,1122,1122,1122,1973-01-27,112.1999999999979,112.19886,2015-01-01 00:18:42,bin1122,35,True +CTSPillarNetworkA,1123,1123,1123,1973-01-28,112.2999999999979,112.29886,2015-01-01 00:18:43,bin1123,75,True +CTSPillarNetworkA,1124,1124,1124,1973-01-29,112.39999999999789,112.39886,2015-01-01 00:18:44,bin1124,35,True +CTSPillarNetworkA,1125,1125,1125,1973-01-30,112.49999999999788,112.498856,2015-01-01 00:18:45,bin1125,75,True +CTSPillarNetworkA,1126,1126,1126,1973-01-31,112.59999999999788,112.598854,2015-01-01 00:18:46,bin1126,35,True +CTSPillarNetworkA,1127,1127,1127,1973-02-01,112.69999999999787,112.69885,2015-01-01 00:18:47,bin1127,75,True +CTSPillarNetworkA,1128,1128,1128,1973-02-02,112.79999999999787,112.79885,2015-01-01 00:18:48,bin1128,35,True +CTSPillarNetworkA,1129,1129,1129,1973-02-03,112.89999999999786,112.89885,2015-01-01 00:18:49,bin1129,75,True +CTSPillarNetworkA,1130,1130,1130,1973-02-04,112.99999999999785,112.99885,2015-01-01 00:18:50,bin1130,35,True +CTSPillarNetworkA,1131,1131,1131,1973-02-05,113.09999999999785,113.09885,2015-01-01 00:18:51,bin1131,75,True +CTSPillarNetworkA,1132,1132,1132,1973-02-06,113.19999999999784,113.198845,2015-01-01 00:18:52,bin1132,35,True +CTSPillarNetworkA,1133,1133,1133,1973-02-07,113.29999999999784,113.29884,2015-01-01 00:18:53,bin1133,75,True +CTSPillarNetworkA,1134,1134,1134,1973-02-08,113.39999999999783,113.39884,2015-01-01 00:18:54,bin1134,35,True +CTSPillarNetworkA,1135,1135,1135,1973-02-09,113.49999999999783,113.49884,2015-01-01 00:18:55,bin1135,75,True +CTSPillarNetworkA,1136,1136,1136,1973-02-10,113.59999999999782,113.59884,2015-01-01 00:18:56,bin1136,35,True +CTSPillarNetworkA,1137,1137,1137,1973-02-11,113.69999999999781,113.69884,2015-01-01 00:18:57,bin1137,75,True +CTSPillarNetworkA,1138,1138,1138,1973-02-12,113.79999999999781,113.798836,2015-01-01 00:18:58,bin1138,35,True +CTSPillarNetworkA,1139,1139,1139,1973-02-13,113.8999999999978,113.898834,2015-01-01 00:18:59,bin1139,75,True +CTSPillarNetworkA,1140,1140,1140,1973-02-14,113.9999999999978,113.99883,2015-01-01 00:19:00,bin1140,35,True +CTSPillarNetworkA,1141,1141,1141,1973-02-15,114.09999999999779,114.09883,2015-01-01 00:19:01,bin1141,75,True +CTSPillarNetworkA,1142,1142,1142,1973-02-16,114.19999999999779,114.19883,2015-01-01 00:19:02,bin1142,35,True +CTSPillarNetworkA,1143,1143,1143,1973-02-17,114.29999999999778,114.29883,2015-01-01 00:19:03,bin1143,75,True +CTSPillarNetworkA,1144,1144,1144,1973-02-18,114.39999999999777,114.39883,2015-01-01 00:19:04,bin1144,35,True +CTSPillarNetworkA,1145,1145,1145,1973-02-19,114.49999999999777,114.498825,2015-01-01 00:19:05,bin1145,75,True +CTSPillarNetworkA,1146,1146,1146,1973-02-20,114.59999999999776,114.59882,2015-01-01 00:19:06,bin1146,35,True +CTSPillarNetworkA,1147,1147,1147,1973-02-21,114.69999999999776,114.69882,2015-01-01 00:19:07,bin1147,75,True +CTSPillarNetworkA,1148,1148,1148,1973-02-22,114.79999999999775,114.79882,2015-01-01 00:19:08,bin1148,35,True +CTSPillarNetworkA,1149,1149,1149,1973-02-23,114.89999999999775,114.89882,2015-01-01 00:19:09,bin1149,75,True +CTSPillarNetworkA,1150,1150,1150,1973-02-24,114.99999999999774,114.99882,2015-01-01 00:19:10,bin1150,35,True +CTSPillarNetworkA,1151,1151,1151,1973-02-25,115.09999999999773,115.098816,2015-01-01 00:19:11,bin1151,75,True +CTSPillarNetworkA,1152,1152,1152,1973-02-26,115.19999999999773,115.198814,2015-01-01 00:19:12,bin1152,35,True +CTSPillarNetworkA,1153,1153,1153,1973-02-27,115.29999999999772,115.29881,2015-01-01 00:19:13,bin1153,75,True +CTSPillarNetworkA,1154,1154,1154,1973-02-28,115.39999999999772,115.39881,2015-01-01 00:19:14,bin1154,35,True +CTSPillarNetworkA,1155,1155,1155,1973-03-01,115.49999999999771,115.49881,2015-01-01 00:19:15,bin1155,75,True +CTSPillarNetworkA,1156,1156,1156,1973-03-02,115.5999999999977,115.59881,2015-01-01 00:19:16,bin1156,35,True +CTSPillarNetworkA,1157,1157,1157,1973-03-03,115.6999999999977,115.69881,2015-01-01 00:19:17,bin1157,75,True +CTSPillarNetworkA,1158,1158,1158,1973-03-04,115.7999999999977,115.798805,2015-01-01 00:19:18,bin1158,35,True +CTSPillarNetworkA,1159,1159,1159,1973-03-05,115.89999999999769,115.8988,2015-01-01 00:19:19,bin1159,75,True +CTSPillarNetworkA,1160,1160,1160,1973-03-06,115.99999999999768,115.9988,2015-01-01 00:19:20,bin1160,35,True +CTSPillarNetworkA,1161,1161,1161,1973-03-07,116.09999999999768,116.0988,2015-01-01 00:19:21,bin1161,75,True +CTSPillarNetworkA,1162,1162,1162,1973-03-08,116.19999999999767,116.1988,2015-01-01 00:19:22,bin1162,35,True +CTSPillarNetworkA,1163,1163,1163,1973-03-09,116.29999999999767,116.2988,2015-01-01 00:19:23,bin1163,75,True +CTSPillarNetworkA,1164,1164,1164,1973-03-10,116.39999999999766,116.398796,2015-01-01 00:19:24,bin1164,35,True +CTSPillarNetworkA,1165,1165,1165,1973-03-11,116.49999999999766,116.498795,2015-01-01 00:19:25,bin1165,75,True +CTSPillarNetworkA,1166,1166,1166,1973-03-12,116.59999999999765,116.59879,2015-01-01 00:19:26,bin1166,35,True +CTSPillarNetworkA,1167,1167,1167,1973-03-13,116.69999999999764,116.69879,2015-01-01 00:19:27,bin1167,75,True +CTSPillarNetworkA,1168,1168,1168,1973-03-14,116.79999999999764,116.79879,2015-01-01 00:19:28,bin1168,35,True +CTSPillarNetworkA,1169,1169,1169,1973-03-15,116.89999999999763,116.89879,2015-01-01 00:19:29,bin1169,75,True +CTSPillarNetworkA,1170,1170,1170,1973-03-16,116.99999999999763,116.99879,2015-01-01 00:19:30,bin1170,35,True +CTSPillarNetworkA,1171,1171,1171,1973-03-17,117.09999999999762,117.098785,2015-01-01 00:19:31,bin1171,75,True +CTSPillarNetworkA,1172,1172,1172,1973-03-18,117.19999999999762,117.198784,2015-01-01 00:19:32,bin1172,35,True +CTSPillarNetworkA,1173,1173,1173,1973-03-19,117.29999999999761,117.29878,2015-01-01 00:19:33,bin1173,75,True +CTSPillarNetworkA,1174,1174,1174,1973-03-20,117.3999999999976,117.39878,2015-01-01 00:19:34,bin1174,35,True +CTSPillarNetworkA,1175,1175,1175,1973-03-21,117.4999999999976,117.49878,2015-01-01 00:19:35,bin1175,75,True +CTSPillarNetworkA,1176,1176,1176,1973-03-22,117.59999999999759,117.59878,2015-01-01 00:19:36,bin1176,35,True +CTSPillarNetworkA,1177,1177,1177,1973-03-23,117.69999999999759,117.69878,2015-01-01 00:19:37,bin1177,75,True +CTSPillarNetworkA,1178,1178,1178,1973-03-24,117.79999999999758,117.798775,2015-01-01 00:19:38,bin1178,35,True +CTSPillarNetworkA,1179,1179,1179,1973-03-25,117.89999999999758,117.89877,2015-01-01 00:19:39,bin1179,75,True +CTSPillarNetworkA,1180,1180,1180,1973-03-26,117.99999999999757,117.99877,2015-01-01 00:19:40,bin1180,35,True +CTSPillarNetworkA,1181,1181,1181,1973-03-27,118.09999999999756,118.09877,2015-01-01 00:19:41,bin1181,75,True +CTSPillarNetworkA,1182,1182,1182,1973-03-28,118.19999999999756,118.19877,2015-01-01 00:19:42,bin1182,35,True +CTSPillarNetworkA,1183,1183,1183,1973-03-29,118.29999999999755,118.29877,2015-01-01 00:19:43,bin1183,75,True +CTSPillarNetworkA,1184,1184,1184,1973-03-30,118.39999999999755,118.398766,2015-01-01 00:19:44,bin1184,35,True +CTSPillarNetworkA,1185,1185,1185,1973-03-31,118.49999999999754,118.498764,2015-01-01 00:19:45,bin1185,75,True +CTSPillarNetworkA,1186,1186,1186,1973-04-01,118.59999999999754,118.59876,2015-01-01 00:19:46,bin1186,35,True +CTSPillarNetworkA,1187,1187,1187,1973-04-02,118.69999999999753,118.69876,2015-01-01 00:19:47,bin1187,75,True +CTSPillarNetworkA,1188,1188,1188,1973-04-03,118.79999999999752,118.79876,2015-01-01 00:19:48,bin1188,35,True +CTSPillarNetworkA,1189,1189,1189,1973-04-04,118.89999999999752,118.89876,2015-01-01 00:19:49,bin1189,75,True +CTSPillarNetworkA,1190,1190,1190,1973-04-05,118.99999999999751,118.99876,2015-01-01 00:19:50,bin1190,35,True +CTSPillarNetworkA,1191,1191,1191,1973-04-06,119.09999999999751,119.098755,2015-01-01 00:19:51,bin1191,75,True +CTSPillarNetworkA,1192,1192,1192,1973-04-07,119.1999999999975,119.19875,2015-01-01 00:19:52,bin1192,35,True +CTSPillarNetworkA,1193,1193,1193,1973-04-08,119.2999999999975,119.29875,2015-01-01 00:19:53,bin1193,75,True +CTSPillarNetworkA,1194,1194,1194,1973-04-09,119.39999999999749,119.39875,2015-01-01 00:19:54,bin1194,35,True +CTSPillarNetworkA,1195,1195,1195,1973-04-10,119.49999999999748,119.49875,2015-01-01 00:19:55,bin1195,75,True +CTSPillarNetworkA,1196,1196,1196,1973-04-11,119.59999999999748,119.59875,2015-01-01 00:19:56,bin1196,35,True +CTSPillarNetworkA,1197,1197,1197,1973-04-12,119.69999999999747,119.698746,2015-01-01 00:19:57,bin1197,75,True +CTSPillarNetworkA,1198,1198,1198,1973-04-13,119.79999999999747,119.798744,2015-01-01 00:19:58,bin1198,35,True +CTSPillarNetworkA,1199,1199,1199,1973-04-14,119.89999999999746,119.89874,2015-01-01 00:19:59,bin1199,75,True +CTSPillarNetworkA,1200,1200,1200,1973-04-15,119.99999999999746,119.99874,2015-01-01 00:20:00,bin1200,35,True +CTSPillarNetworkA,1201,1201,1201,1973-04-16,120.09999999999745,120.09874,2015-01-01 00:20:01,bin1201,75,True +CTSPillarNetworkA,1202,1202,1202,1973-04-17,120.19999999999744,120.19874,2015-01-01 00:20:02,bin1202,35,True +CTSPillarNetworkA,1203,1203,1203,1973-04-18,120.29999999999744,120.29874,2015-01-01 00:20:03,bin1203,75,True +CTSPillarNetworkA,1204,1204,1204,1973-04-19,120.39999999999743,120.398735,2015-01-01 00:20:04,bin1204,35,True +CTSPillarNetworkA,1205,1205,1205,1973-04-20,120.49999999999743,120.49873,2015-01-01 00:20:05,bin1205,75,True +CTSPillarNetworkA,1206,1206,1206,1973-04-21,120.59999999999742,120.59873,2015-01-01 00:20:06,bin1206,35,True +CTSPillarNetworkA,1207,1207,1207,1973-04-22,120.69999999999742,120.69873,2015-01-01 00:20:07,bin1207,75,True +CTSPillarNetworkA,1208,1208,1208,1973-04-23,120.79999999999741,120.79873,2015-01-01 00:20:08,bin1208,35,True +CTSPillarNetworkA,1209,1209,1209,1973-04-24,120.8999999999974,120.89873,2015-01-01 00:20:09,bin1209,75,True +CTSPillarNetworkA,1210,1210,1210,1973-04-25,120.9999999999974,120.998726,2015-01-01 00:20:10,bin1210,35,True +CTSPillarNetworkA,1211,1211,1211,1973-04-26,121.0999999999974,121.098724,2015-01-01 00:20:11,bin1211,75,True +CTSPillarNetworkA,1212,1212,1212,1973-04-27,121.19999999999739,121.19872,2015-01-01 00:20:12,bin1212,35,True +CTSPillarNetworkA,1213,1213,1213,1973-04-28,121.29999999999738,121.29872,2015-01-01 00:20:13,bin1213,75,True +CTSPillarNetworkA,1214,1214,1214,1973-04-29,121.39999999999738,121.39872,2015-01-01 00:20:14,bin1214,35,True +CTSPillarNetworkA,1215,1215,1215,1973-04-30,121.49999999999737,121.49872,2015-01-01 00:20:15,bin1215,75,True +CTSPillarNetworkA,1216,1216,1216,1973-05-01,121.59999999999737,121.59872,2015-01-01 00:20:16,bin1216,35,True +CTSPillarNetworkA,1217,1217,1217,1973-05-02,121.69999999999736,121.698715,2015-01-01 00:20:17,bin1217,75,True +CTSPillarNetworkA,1218,1218,1218,1973-05-03,121.79999999999735,121.79871,2015-01-01 00:20:18,bin1218,35,True +CTSPillarNetworkA,1219,1219,1219,1973-05-04,121.89999999999735,121.89871,2015-01-01 00:20:19,bin1219,75,True +CTSPillarNetworkA,1220,1220,1220,1973-05-05,121.99999999999734,121.99871,2015-01-01 00:20:20,bin1220,35,True +CTSPillarNetworkA,1221,1221,1221,1973-05-06,122.09999999999734,122.09871,2015-01-01 00:20:21,bin1221,75,True +CTSPillarNetworkA,1222,1222,1222,1973-05-07,122.19999999999733,122.19871,2015-01-01 00:20:22,bin1222,35,True +CTSPillarNetworkA,1223,1223,1223,1973-05-08,122.29999999999733,122.298706,2015-01-01 00:20:23,bin1223,75,True +CTSPillarNetworkA,1224,1224,1224,1973-05-09,122.39999999999732,122.398705,2015-01-01 00:20:24,bin1224,35,True +CTSPillarNetworkA,1225,1225,1225,1973-05-10,122.49999999999731,122.4987,2015-01-01 00:20:25,bin1225,75,True +CTSPillarNetworkA,1226,1226,1226,1973-05-11,122.59999999999731,122.5987,2015-01-01 00:20:26,bin1226,35,True +CTSPillarNetworkA,1227,1227,1227,1973-05-12,122.6999999999973,122.6987,2015-01-01 00:20:27,bin1227,75,True +CTSPillarNetworkA,1228,1228,1228,1973-05-13,122.7999999999973,122.7987,2015-01-01 00:20:28,bin1228,35,True +CTSPillarNetworkA,1229,1229,1229,1973-05-14,122.89999999999729,122.8987,2015-01-01 00:20:29,bin1229,75,True +CTSPillarNetworkA,1230,1230,1230,1973-05-15,122.99999999999729,122.998695,2015-01-01 00:20:30,bin1230,35,True +CTSPillarNetworkA,1231,1231,1231,1973-05-16,123.09999999999728,123.098694,2015-01-01 00:20:31,bin1231,75,True +CTSPillarNetworkA,1232,1232,1232,1973-05-17,123.19999999999727,123.19869,2015-01-01 00:20:32,bin1232,35,True +CTSPillarNetworkA,1233,1233,1233,1973-05-18,123.29999999999727,123.29869,2015-01-01 00:20:33,bin1233,75,True +CTSPillarNetworkA,1234,1234,1234,1973-05-19,123.39999999999726,123.39869,2015-01-01 00:20:34,bin1234,35,True +CTSPillarNetworkA,1235,1235,1235,1973-05-20,123.49999999999726,123.49869,2015-01-01 00:20:35,bin1235,75,True +CTSPillarNetworkA,1236,1236,1236,1973-05-21,123.59999999999725,123.59869,2015-01-01 00:20:36,bin1236,35,True +CTSPillarNetworkA,1237,1237,1237,1973-05-22,123.69999999999725,123.698685,2015-01-01 00:20:37,bin1237,75,True +CTSPillarNetworkA,1238,1238,1238,1973-05-23,123.79999999999724,123.79868,2015-01-01 00:20:38,bin1238,35,True +CTSPillarNetworkA,1239,1239,1239,1973-05-24,123.89999999999723,123.89868,2015-01-01 00:20:39,bin1239,75,True +CTSPillarNetworkA,1240,1240,1240,1973-05-25,123.99999999999723,123.99868,2015-01-01 00:20:40,bin1240,35,True +CTSPillarNetworkA,1241,1241,1241,1973-05-26,124.09999999999722,124.09868,2015-01-01 00:20:41,bin1241,75,True +CTSPillarNetworkA,1242,1242,1242,1973-05-27,124.19999999999722,124.19868,2015-01-01 00:20:42,bin1242,35,True +CTSPillarNetworkA,1243,1243,1243,1973-05-28,124.29999999999721,124.298676,2015-01-01 00:20:43,bin1243,75,True +CTSPillarNetworkA,1244,1244,1244,1973-05-29,124.3999999999972,124.398674,2015-01-01 00:20:44,bin1244,35,True +CTSPillarNetworkA,1245,1245,1245,1973-05-30,124.4999999999972,124.49867,2015-01-01 00:20:45,bin1245,75,True +CTSPillarNetworkA,1246,1246,1246,1973-05-31,124.5999999999972,124.59867,2015-01-01 00:20:46,bin1246,35,True +CTSPillarNetworkA,1247,1247,1247,1973-06-01,124.69999999999719,124.69867,2015-01-01 00:20:47,bin1247,75,True +CTSPillarNetworkA,1248,1248,1248,1973-06-02,124.79999999999718,124.79867,2015-01-01 00:20:48,bin1248,35,True +CTSPillarNetworkA,1249,1249,1249,1973-06-03,124.89999999999718,124.89867,2015-01-01 00:20:49,bin1249,75,True +CTSPillarNetworkA,1250,1250,1250,1973-06-04,124.99999999999717,124.998665,2015-01-01 00:20:50,bin1250,35,True +CTSPillarNetworkA,1251,1251,1251,1973-06-05,125.09999999999717,125.09866,2015-01-01 00:20:51,bin1251,75,True +CTSPillarNetworkA,1252,1252,1252,1973-06-06,125.19999999999716,125.19866,2015-01-01 00:20:52,bin1252,35,True +CTSPillarNetworkA,1253,1253,1253,1973-06-07,125.29999999999715,125.29866,2015-01-01 00:20:53,bin1253,75,True +CTSPillarNetworkA,1254,1254,1254,1973-06-08,125.39999999999715,125.39866,2015-01-01 00:20:54,bin1254,35,True +CTSPillarNetworkA,1255,1255,1255,1973-06-09,125.49999999999714,125.49866,2015-01-01 00:20:55,bin1255,75,True +CTSPillarNetworkA,1256,1256,1256,1973-06-10,125.59999999999714,125.598656,2015-01-01 00:20:56,bin1256,35,True +CTSPillarNetworkA,1257,1257,1257,1973-06-11,125.69999999999713,125.698654,2015-01-01 00:20:57,bin1257,75,True +CTSPillarNetworkA,1258,1258,1258,1973-06-12,125.79999999999713,125.79865,2015-01-01 00:20:58,bin1258,35,True +CTSPillarNetworkA,1259,1259,1259,1973-06-13,125.89999999999712,125.89865,2015-01-01 00:20:59,bin1259,75,True +CTSPillarNetworkA,1260,1260,1260,1973-06-14,125.99999999999712,125.99865,2015-01-01 00:21:00,bin1260,35,True +CTSPillarNetworkA,1261,1261,1261,1973-06-15,126.09999999999711,126.09865,2015-01-01 00:21:01,bin1261,75,True +CTSPillarNetworkA,1262,1262,1262,1973-06-16,126.1999999999971,126.19865,2015-01-01 00:21:02,bin1262,35,True +CTSPillarNetworkA,1263,1263,1263,1973-06-17,126.2999999999971,126.298645,2015-01-01 00:21:03,bin1263,75,True +CTSPillarNetworkA,1264,1264,1264,1973-06-18,126.39999999999709,126.39864,2015-01-01 00:21:04,bin1264,35,True +CTSPillarNetworkA,1265,1265,1265,1973-06-19,126.49999999999709,126.49864,2015-01-01 00:21:05,bin1265,75,True +CTSPillarNetworkA,1266,1266,1266,1973-06-20,126.59999999999708,126.59864,2015-01-01 00:21:06,bin1266,35,True +CTSPillarNetworkA,1267,1267,1267,1973-06-21,126.69999999999708,126.69864,2015-01-01 00:21:07,bin1267,75,True +CTSPillarNetworkA,1268,1268,1268,1973-06-22,126.79999999999707,126.79864,2015-01-01 00:21:08,bin1268,35,True +CTSPillarNetworkA,1269,1269,1269,1973-06-23,126.89999999999706,126.898636,2015-01-01 00:21:09,bin1269,75,True +CTSPillarNetworkA,1270,1270,1270,1973-06-24,126.99999999999706,126.998634,2015-01-01 00:21:10,bin1270,35,True +CTSPillarNetworkA,1271,1271,1271,1973-06-25,127.09999999999705,127.09863,2015-01-01 00:21:11,bin1271,75,True +CTSPillarNetworkA,1272,1272,1272,1973-06-26,127.19999999999705,127.19863,2015-01-01 00:21:12,bin1272,35,True +CTSPillarNetworkA,1273,1273,1273,1973-06-27,127.29999999999704,127.29863,2015-01-01 00:21:13,bin1273,75,True +CTSPillarNetworkA,1274,1274,1274,1973-06-28,127.39999999999704,127.39863,2015-01-01 00:21:14,bin1274,35,True +CTSPillarNetworkA,1275,1275,1275,1973-06-29,127.49999999999703,127.49863,2015-01-01 00:21:15,bin1275,75,True +CTSPillarNetworkA,1276,1276,1276,1973-06-30,127.59999999999702,127.598625,2015-01-01 00:21:16,bin1276,35,True +CTSPillarNetworkA,1277,1277,1277,1973-07-01,127.69999999999702,127.69862,2015-01-01 00:21:17,bin1277,75,True +CTSPillarNetworkA,1278,1278,1278,1973-07-02,127.79999999999701,127.79862,2015-01-01 00:21:18,bin1278,35,True +CTSPillarNetworkA,1279,1279,1279,1973-07-03,127.89999999999701,127.89862,2015-01-01 00:21:19,bin1279,75,True +CTSPillarNetworkA,1280,1280,1280,1973-07-04,127.999999999997,127.99862,2015-01-01 00:21:20,bin1280,35,True +CTSPillarNetworkA,1281,1281,1281,1973-07-05,128.099999999997,128.09862,2015-01-01 00:21:21,bin1281,75,True +CTSPillarNetworkA,1282,1282,1282,1973-07-06,128.199999999997,128.19862,2015-01-01 00:21:22,bin1282,35,True +CTSPillarNetworkA,1283,1283,1283,1973-07-07,128.299999999997,128.29863,2015-01-01 00:21:23,bin1283,75,True +CTSPillarNetworkA,1284,1284,1284,1973-07-08,128.399999999997,128.39864,2015-01-01 00:21:24,bin1284,35,True +CTSPillarNetworkA,1285,1285,1285,1973-07-09,128.499999999997,128.49864,2015-01-01 00:21:25,bin1285,75,True +CTSPillarNetworkA,1286,1286,1286,1973-07-10,128.59999999999698,128.59865,2015-01-01 00:21:26,bin1286,35,True +CTSPillarNetworkA,1287,1287,1287,1973-07-11,128.69999999999698,128.69865,2015-01-01 00:21:27,bin1287,75,True +CTSPillarNetworkA,1288,1288,1288,1973-07-12,128.79999999999697,128.79866,2015-01-01 00:21:28,bin1288,35,True +CTSPillarNetworkA,1289,1289,1289,1973-07-13,128.89999999999696,128.89867,2015-01-01 00:21:29,bin1289,75,True +CTSPillarNetworkA,1290,1290,1290,1973-07-14,128.99999999999696,128.99867,2015-01-01 00:21:30,bin1290,35,True +CTSPillarNetworkA,1291,1291,1291,1973-07-15,129.09999999999695,129.09868,2015-01-01 00:21:31,bin1291,75,True +CTSPillarNetworkA,1292,1292,1292,1973-07-16,129.19999999999695,129.19868,2015-01-01 00:21:32,bin1292,35,True +CTSPillarNetworkA,1293,1293,1293,1973-07-17,129.29999999999694,129.29869,2015-01-01 00:21:33,bin1293,75,True +CTSPillarNetworkA,1294,1294,1294,1973-07-18,129.39999999999694,129.3987,2015-01-01 00:21:34,bin1294,35,True +CTSPillarNetworkA,1295,1295,1295,1973-07-19,129.49999999999693,129.4987,2015-01-01 00:21:35,bin1295,75,True +CTSPillarNetworkA,1296,1296,1296,1973-07-20,129.59999999999692,129.59871,2015-01-01 00:21:36,bin1296,35,True +CTSPillarNetworkA,1297,1297,1297,1973-07-21,129.69999999999692,129.69872,2015-01-01 00:21:37,bin1297,75,True +CTSPillarNetworkA,1298,1298,1298,1973-07-22,129.7999999999969,129.79872,2015-01-01 00:21:38,bin1298,35,True +CTSPillarNetworkA,1299,1299,1299,1973-07-23,129.8999999999969,129.89873,2015-01-01 00:21:39,bin1299,75,True +CTSPillarNetworkA,1300,1300,1300,1973-07-24,129.9999999999969,129.99873,2015-01-01 00:21:40,bin1300,35,True +CTSPillarNetworkA,1301,1301,1301,1973-07-25,130.0999999999969,130.09874,2015-01-01 00:21:41,bin1301,75,True +CTSPillarNetworkA,1302,1302,1302,1973-07-26,130.1999999999969,130.19875,2015-01-01 00:21:42,bin1302,35,True +CTSPillarNetworkA,1303,1303,1303,1973-07-27,130.29999999999688,130.29875,2015-01-01 00:21:43,bin1303,75,True +CTSPillarNetworkA,1304,1304,1304,1973-07-28,130.39999999999688,130.39876,2015-01-01 00:21:44,bin1304,35,True +CTSPillarNetworkA,1305,1305,1305,1973-07-29,130.49999999999687,130.49876,2015-01-01 00:21:45,bin1305,75,True +CTSPillarNetworkA,1306,1306,1306,1973-07-30,130.59999999999687,130.59877,2015-01-01 00:21:46,bin1306,35,True +CTSPillarNetworkA,1307,1307,1307,1973-07-31,130.69999999999686,130.69878,2015-01-01 00:21:47,bin1307,75,True +CTSPillarNetworkA,1308,1308,1308,1973-08-01,130.79999999999686,130.79878,2015-01-01 00:21:48,bin1308,35,True +CTSPillarNetworkA,1309,1309,1309,1973-08-02,130.89999999999685,130.89879,2015-01-01 00:21:49,bin1309,75,True +CTSPillarNetworkA,1310,1310,1310,1973-08-03,130.99999999999685,130.9988,2015-01-01 00:21:50,bin1310,35,True +CTSPillarNetworkA,1311,1311,1311,1973-08-04,131.09999999999684,131.0988,2015-01-01 00:21:51,bin1311,75,True +CTSPillarNetworkA,1312,1312,1312,1973-08-05,131.19999999999683,131.1988,2015-01-01 00:21:52,bin1312,35,True +CTSPillarNetworkA,1313,1313,1313,1973-08-06,131.29999999999683,131.29881,2015-01-01 00:21:53,bin1313,75,True +CTSPillarNetworkA,1314,1314,1314,1973-08-07,131.39999999999682,131.39882,2015-01-01 00:21:54,bin1314,35,True +CTSPillarNetworkA,1315,1315,1315,1973-08-08,131.49999999999682,131.49883,2015-01-01 00:21:55,bin1315,75,True +CTSPillarNetworkA,1316,1316,1316,1973-08-09,131.5999999999968,131.59883,2015-01-01 00:21:56,bin1316,35,True +CTSPillarNetworkA,1317,1317,1317,1973-08-10,131.6999999999968,131.69884,2015-01-01 00:21:57,bin1317,75,True +CTSPillarNetworkA,1318,1318,1318,1973-08-11,131.7999999999968,131.79884,2015-01-01 00:21:58,bin1318,35,True +CTSPillarNetworkA,1319,1319,1319,1973-08-12,131.8999999999968,131.89885,2015-01-01 00:21:59,bin1319,75,True +CTSPillarNetworkA,1320,1320,1320,1973-08-13,131.9999999999968,131.99886,2015-01-01 00:22:00,bin1320,35,True +CTSPillarNetworkA,1321,1321,1321,1973-08-14,132.09999999999678,132.09886,2015-01-01 00:22:01,bin1321,75,True +CTSPillarNetworkA,1322,1322,1322,1973-08-15,132.19999999999678,132.19887,2015-01-01 00:22:02,bin1322,35,True +CTSPillarNetworkA,1323,1323,1323,1973-08-16,132.29999999999677,132.29887,2015-01-01 00:22:03,bin1323,75,True +CTSPillarNetworkA,1324,1324,1324,1973-08-17,132.39999999999677,132.39888,2015-01-01 00:22:04,bin1324,35,True +CTSPillarNetworkA,1325,1325,1325,1973-08-18,132.49999999999676,132.49889,2015-01-01 00:22:05,bin1325,75,True +CTSPillarNetworkA,1326,1326,1326,1973-08-19,132.59999999999675,132.59889,2015-01-01 00:22:06,bin1326,35,True +CTSPillarNetworkA,1327,1327,1327,1973-08-20,132.69999999999675,132.6989,2015-01-01 00:22:07,bin1327,75,True +CTSPillarNetworkA,1328,1328,1328,1973-08-21,132.79999999999674,132.7989,2015-01-01 00:22:08,bin1328,35,True +CTSPillarNetworkA,1329,1329,1329,1973-08-22,132.89999999999674,132.89891,2015-01-01 00:22:09,bin1329,75,True +CTSPillarNetworkA,1330,1330,1330,1973-08-23,132.99999999999673,132.99892,2015-01-01 00:22:10,bin1330,35,True +CTSPillarNetworkA,1331,1331,1331,1973-08-24,133.09999999999673,133.09892,2015-01-01 00:22:11,bin1331,75,True +CTSPillarNetworkA,1332,1332,1332,1973-08-25,133.19999999999672,133.19893,2015-01-01 00:22:12,bin1332,35,True +CTSPillarNetworkA,1333,1333,1333,1973-08-26,133.29999999999671,133.29893,2015-01-01 00:22:13,bin1333,75,True +CTSPillarNetworkA,1334,1334,1334,1973-08-27,133.3999999999967,133.39894,2015-01-01 00:22:14,bin1334,35,True +CTSPillarNetworkA,1335,1335,1335,1973-08-28,133.4999999999967,133.49895,2015-01-01 00:22:15,bin1335,75,True +CTSPillarNetworkA,1336,1336,1336,1973-08-29,133.5999999999967,133.59895,2015-01-01 00:22:16,bin1336,35,True +CTSPillarNetworkA,1337,1337,1337,1973-08-30,133.6999999999967,133.69896,2015-01-01 00:22:17,bin1337,75,True +CTSPillarNetworkA,1338,1338,1338,1973-08-31,133.7999999999967,133.79897,2015-01-01 00:22:18,bin1338,35,True +CTSPillarNetworkA,1339,1339,1339,1973-09-01,133.89999999999668,133.89897,2015-01-01 00:22:19,bin1339,75,True +CTSPillarNetworkA,1340,1340,1340,1973-09-02,133.99999999999667,133.99898,2015-01-01 00:22:20,bin1340,35,True +CTSPillarNetworkA,1341,1341,1341,1973-09-03,134.09999999999667,134.09898,2015-01-01 00:22:21,bin1341,75,True +CTSPillarNetworkA,1342,1342,1342,1973-09-04,134.19999999999666,134.19899,2015-01-01 00:22:22,bin1342,35,True +CTSPillarNetworkA,1343,1343,1343,1973-09-05,134.29999999999666,134.299,2015-01-01 00:22:23,bin1343,75,True +CTSPillarNetworkA,1344,1344,1344,1973-09-06,134.39999999999665,134.399,2015-01-01 00:22:24,bin1344,35,True +CTSPillarNetworkA,1345,1345,1345,1973-09-07,134.49999999999665,134.49901,2015-01-01 00:22:25,bin1345,75,True +CTSPillarNetworkA,1346,1346,1346,1973-09-08,134.59999999999664,134.59901,2015-01-01 00:22:26,bin1346,35,True +CTSPillarNetworkA,1347,1347,1347,1973-09-09,134.69999999999663,134.69902,2015-01-01 00:22:27,bin1347,75,True +CTSPillarNetworkA,1348,1348,1348,1973-09-10,134.79999999999663,134.79903,2015-01-01 00:22:28,bin1348,35,True +CTSPillarNetworkA,1349,1349,1349,1973-09-11,134.89999999999662,134.89903,2015-01-01 00:22:29,bin1349,75,True +CTSPillarNetworkA,1350,1350,1350,1973-09-12,134.99999999999662,134.99904,2015-01-01 00:22:30,bin1350,35,True +CTSPillarNetworkA,1351,1351,1351,1973-09-13,135.0999999999966,135.09904,2015-01-01 00:22:31,bin1351,75,True +CTSPillarNetworkA,1352,1352,1352,1973-09-14,135.1999999999966,135.19905,2015-01-01 00:22:32,bin1352,35,True +CTSPillarNetworkA,1353,1353,1353,1973-09-15,135.2999999999966,135.29906,2015-01-01 00:22:33,bin1353,75,True +CTSPillarNetworkA,1354,1354,1354,1973-09-16,135.3999999999966,135.39906,2015-01-01 00:22:34,bin1354,35,True +CTSPillarNetworkA,1355,1355,1355,1973-09-17,135.4999999999966,135.49907,2015-01-01 00:22:35,bin1355,75,True +CTSPillarNetworkA,1356,1356,1356,1973-09-18,135.59999999999658,135.59908,2015-01-01 00:22:36,bin1356,35,True +CTSPillarNetworkA,1357,1357,1357,1973-09-19,135.69999999999658,135.69908,2015-01-01 00:22:37,bin1357,75,True +CTSPillarNetworkA,1358,1358,1358,1973-09-20,135.79999999999657,135.79909,2015-01-01 00:22:38,bin1358,35,True +CTSPillarNetworkA,1359,1359,1359,1973-09-21,135.89999999999657,135.8991,2015-01-01 00:22:39,bin1359,75,True +CTSPillarNetworkA,1360,1360,1360,1973-09-22,135.99999999999656,135.9991,2015-01-01 00:22:40,bin1360,35,True +CTSPillarNetworkA,1361,1361,1361,1973-09-23,136.09999999999656,136.0991,2015-01-01 00:22:41,bin1361,75,True +CTSPillarNetworkA,1362,1362,1362,1973-09-24,136.19999999999655,136.19911,2015-01-01 00:22:42,bin1362,35,True +CTSPillarNetworkA,1363,1363,1363,1973-09-25,136.29999999999654,136.29912,2015-01-01 00:22:43,bin1363,75,True +CTSPillarNetworkA,1364,1364,1364,1973-09-26,136.39999999999654,136.39912,2015-01-01 00:22:44,bin1364,35,True +CTSPillarNetworkA,1365,1365,1365,1973-09-27,136.49999999999653,136.49913,2015-01-01 00:22:45,bin1365,75,True +CTSPillarNetworkA,1366,1366,1366,1973-09-28,136.59999999999653,136.59914,2015-01-01 00:22:46,bin1366,35,True +CTSPillarNetworkA,1367,1367,1367,1973-09-29,136.69999999999652,136.69914,2015-01-01 00:22:47,bin1367,75,True +CTSPillarNetworkA,1368,1368,1368,1973-09-30,136.79999999999652,136.79915,2015-01-01 00:22:48,bin1368,35,True +CTSPillarNetworkA,1369,1369,1369,1973-10-01,136.8999999999965,136.89915,2015-01-01 00:22:49,bin1369,75,True +CTSPillarNetworkA,1370,1370,1370,1973-10-02,136.9999999999965,136.99916,2015-01-01 00:22:50,bin1370,35,True +CTSPillarNetworkA,1371,1371,1371,1973-10-03,137.0999999999965,137.09917,2015-01-01 00:22:51,bin1371,75,True +CTSPillarNetworkA,1372,1372,1372,1973-10-04,137.1999999999965,137.19917,2015-01-01 00:22:52,bin1372,35,True +CTSPillarNetworkA,1373,1373,1373,1973-10-05,137.2999999999965,137.29918,2015-01-01 00:22:53,bin1373,75,True +CTSPillarNetworkA,1374,1374,1374,1973-10-06,137.39999999999648,137.39919,2015-01-01 00:22:54,bin1374,35,True +CTSPillarNetworkA,1375,1375,1375,1973-10-07,137.49999999999648,137.49919,2015-01-01 00:22:55,bin1375,75,True +CTSPillarNetworkA,1376,1376,1376,1973-10-08,137.59999999999647,137.5992,2015-01-01 00:22:56,bin1376,35,True +CTSPillarNetworkA,1377,1377,1377,1973-10-09,137.69999999999646,137.6992,2015-01-01 00:22:57,bin1377,75,True +CTSPillarNetworkA,1378,1378,1378,1973-10-10,137.79999999999646,137.79921,2015-01-01 00:22:58,bin1378,35,True +CTSPillarNetworkA,1379,1379,1379,1973-10-11,137.89999999999645,137.89922,2015-01-01 00:22:59,bin1379,75,True +CTSPillarNetworkA,1380,1380,1380,1973-10-12,137.99999999999645,137.99922,2015-01-01 00:23:00,bin1380,35,True +CTSPillarNetworkA,1381,1381,1381,1973-10-13,138.09999999999644,138.09923,2015-01-01 00:23:01,bin1381,75,True +CTSPillarNetworkA,1382,1382,1382,1973-10-14,138.19999999999644,138.19923,2015-01-01 00:23:02,bin1382,35,True +CTSPillarNetworkA,1383,1383,1383,1973-10-15,138.29999999999643,138.29924,2015-01-01 00:23:03,bin1383,75,True +CTSPillarNetworkA,1384,1384,1384,1973-10-16,138.39999999999642,138.39925,2015-01-01 00:23:04,bin1384,35,True +CTSPillarNetworkA,1385,1385,1385,1973-10-17,138.49999999999642,138.49925,2015-01-01 00:23:05,bin1385,75,True +CTSPillarNetworkA,1386,1386,1386,1973-10-18,138.5999999999964,138.59926,2015-01-01 00:23:06,bin1386,35,True +CTSPillarNetworkA,1387,1387,1387,1973-10-19,138.6999999999964,138.69926,2015-01-01 00:23:07,bin1387,75,True +CTSPillarNetworkA,1388,1388,1388,1973-10-20,138.7999999999964,138.79927,2015-01-01 00:23:08,bin1388,35,True +CTSPillarNetworkA,1389,1389,1389,1973-10-21,138.8999999999964,138.89928,2015-01-01 00:23:09,bin1389,75,True +CTSPillarNetworkA,1390,1390,1390,1973-10-22,138.9999999999964,138.99928,2015-01-01 00:23:10,bin1390,35,True +CTSPillarNetworkA,1391,1391,1391,1973-10-23,139.09999999999638,139.09929,2015-01-01 00:23:11,bin1391,75,True +CTSPillarNetworkA,1392,1392,1392,1973-10-24,139.19999999999638,139.1993,2015-01-01 00:23:12,bin1392,35,True +CTSPillarNetworkA,1393,1393,1393,1973-10-25,139.29999999999637,139.2993,2015-01-01 00:23:13,bin1393,75,True +CTSPillarNetworkA,1394,1394,1394,1973-10-26,139.39999999999637,139.3993,2015-01-01 00:23:14,bin1394,35,True +CTSPillarNetworkA,1395,1395,1395,1973-10-27,139.49999999999636,139.49931,2015-01-01 00:23:15,bin1395,75,True +CTSPillarNetworkA,1396,1396,1396,1973-10-28,139.59999999999636,139.59932,2015-01-01 00:23:16,bin1396,35,True +CTSPillarNetworkA,1397,1397,1397,1973-10-29,139.69999999999635,139.69933,2015-01-01 00:23:17,bin1397,75,True +CTSPillarNetworkA,1398,1398,1398,1973-10-30,139.79999999999634,139.79933,2015-01-01 00:23:18,bin1398,35,True +CTSPillarNetworkA,1399,1399,1399,1973-10-31,139.89999999999634,139.89934,2015-01-01 00:23:19,bin1399,75,True +CTSPillarNetworkA,1400,1400,1400,1973-11-01,139.99999999999633,139.99934,2015-01-01 00:23:20,bin1400,35,True +CTSPillarNetworkA,1401,1401,1401,1973-11-02,140.09999999999633,140.09935,2015-01-01 00:23:21,bin1401,75,True +CTSPillarNetworkA,1402,1402,1402,1973-11-03,140.19999999999632,140.19936,2015-01-01 00:23:22,bin1402,35,True +CTSPillarNetworkA,1403,1403,1403,1973-11-04,140.29999999999632,140.29936,2015-01-01 00:23:23,bin1403,75,True +CTSPillarNetworkA,1404,1404,1404,1973-11-05,140.3999999999963,140.39937,2015-01-01 00:23:24,bin1404,35,True +CTSPillarNetworkA,1405,1405,1405,1973-11-06,140.4999999999963,140.49937,2015-01-01 00:23:25,bin1405,75,True +CTSPillarNetworkA,1406,1406,1406,1973-11-07,140.5999999999963,140.59938,2015-01-01 00:23:26,bin1406,35,True +CTSPillarNetworkA,1407,1407,1407,1973-11-08,140.6999999999963,140.69939,2015-01-01 00:23:27,bin1407,75,True +CTSPillarNetworkA,1408,1408,1408,1973-11-09,140.7999999999963,140.7994,2015-01-01 00:23:28,bin1408,35,True +CTSPillarNetworkA,1409,1409,1409,1973-11-10,140.89999999999628,140.8994,2015-01-01 00:23:29,bin1409,75,True +CTSPillarNetworkA,1410,1410,1410,1973-11-11,140.99999999999628,140.9994,2015-01-01 00:23:30,bin1410,35,True +CTSPillarNetworkA,1411,1411,1411,1973-11-12,141.09999999999627,141.09941,2015-01-01 00:23:31,bin1411,75,True +CTSPillarNetworkA,1412,1412,1412,1973-11-13,141.19999999999627,141.19942,2015-01-01 00:23:32,bin1412,35,True +CTSPillarNetworkA,1413,1413,1413,1973-11-14,141.29999999999626,141.29942,2015-01-01 00:23:33,bin1413,75,True +CTSPillarNetworkA,1414,1414,1414,1973-11-15,141.39999999999625,141.39943,2015-01-01 00:23:34,bin1414,35,True +CTSPillarNetworkA,1415,1415,1415,1973-11-16,141.49999999999625,141.49944,2015-01-01 00:23:35,bin1415,75,True +CTSPillarNetworkA,1416,1416,1416,1973-11-17,141.59999999999624,141.59944,2015-01-01 00:23:36,bin1416,35,True +CTSPillarNetworkA,1417,1417,1417,1973-11-18,141.69999999999624,141.69945,2015-01-01 00:23:37,bin1417,75,True +CTSPillarNetworkA,1418,1418,1418,1973-11-19,141.79999999999623,141.79945,2015-01-01 00:23:38,bin1418,35,True +CTSPillarNetworkA,1419,1419,1419,1973-11-20,141.89999999999623,141.89946,2015-01-01 00:23:39,bin1419,75,True +CTSPillarNetworkA,1420,1420,1420,1973-11-21,141.99999999999622,141.99947,2015-01-01 00:23:40,bin1420,35,True +CTSPillarNetworkA,1421,1421,1421,1973-11-22,142.09999999999621,142.09947,2015-01-01 00:23:41,bin1421,75,True +CTSPillarNetworkA,1422,1422,1422,1973-11-23,142.1999999999962,142.19948,2015-01-01 00:23:42,bin1422,35,True +CTSPillarNetworkA,1423,1423,1423,1973-11-24,142.2999999999962,142.29948,2015-01-01 00:23:43,bin1423,75,True +CTSPillarNetworkA,1424,1424,1424,1973-11-25,142.3999999999962,142.39949,2015-01-01 00:23:44,bin1424,35,True +CTSPillarNetworkA,1425,1425,1425,1973-11-26,142.4999999999962,142.4995,2015-01-01 00:23:45,bin1425,75,True +CTSPillarNetworkA,1426,1426,1426,1973-11-27,142.5999999999962,142.5995,2015-01-01 00:23:46,bin1426,35,True +CTSPillarNetworkA,1427,1427,1427,1973-11-28,142.69999999999618,142.69951,2015-01-01 00:23:47,bin1427,75,True +CTSPillarNetworkA,1428,1428,1428,1973-11-29,142.79999999999617,142.79951,2015-01-01 00:23:48,bin1428,35,True +CTSPillarNetworkA,1429,1429,1429,1973-11-30,142.89999999999617,142.89952,2015-01-01 00:23:49,bin1429,75,True +CTSPillarNetworkA,1430,1430,1430,1973-12-01,142.99999999999616,142.99953,2015-01-01 00:23:50,bin1430,35,True +CTSPillarNetworkA,1431,1431,1431,1973-12-02,143.09999999999616,143.09953,2015-01-01 00:23:51,bin1431,75,True +CTSPillarNetworkA,1432,1432,1432,1973-12-03,143.19999999999615,143.19954,2015-01-01 00:23:52,bin1432,35,True +CTSPillarNetworkA,1433,1433,1433,1973-12-04,143.29999999999615,143.29955,2015-01-01 00:23:53,bin1433,75,True +CTSPillarNetworkA,1434,1434,1434,1973-12-05,143.39999999999614,143.39955,2015-01-01 00:23:54,bin1434,35,True +CTSPillarNetworkA,1435,1435,1435,1973-12-06,143.49999999999613,143.49956,2015-01-01 00:23:55,bin1435,75,True +CTSPillarNetworkA,1436,1436,1436,1973-12-07,143.59999999999613,143.59956,2015-01-01 00:23:56,bin1436,35,True +CTSPillarNetworkA,1437,1437,1437,1973-12-08,143.69999999999612,143.69957,2015-01-01 00:23:57,bin1437,75,True +CTSPillarNetworkA,1438,1438,1438,1973-12-09,143.79999999999612,143.79958,2015-01-01 00:23:58,bin1438,35,True +CTSPillarNetworkA,1439,1439,1439,1973-12-10,143.8999999999961,143.89958,2015-01-01 00:23:59,bin1439,75,True +CTSPillarNetworkA,1440,1440,1440,1973-12-11,143.9999999999961,143.99959,2015-01-01 00:24:00,bin1440,35,True +CTSPillarNetworkA,1441,1441,1441,1973-12-12,144.0999999999961,144.0996,2015-01-01 00:24:01,bin1441,75,True +CTSPillarNetworkA,1442,1442,1442,1973-12-13,144.1999999999961,144.1996,2015-01-01 00:24:02,bin1442,35,True +CTSPillarNetworkA,1443,1443,1443,1973-12-14,144.2999999999961,144.2996,2015-01-01 00:24:03,bin1443,75,True +CTSPillarNetworkA,1444,1444,1444,1973-12-15,144.39999999999608,144.39961,2015-01-01 00:24:04,bin1444,35,True +CTSPillarNetworkA,1445,1445,1445,1973-12-16,144.49999999999608,144.49962,2015-01-01 00:24:05,bin1445,75,True +CTSPillarNetworkA,1446,1446,1446,1973-12-17,144.59999999999607,144.59962,2015-01-01 00:24:06,bin1446,35,True +CTSPillarNetworkA,1447,1447,1447,1973-12-18,144.69999999999607,144.69963,2015-01-01 00:24:07,bin1447,75,True +CTSPillarNetworkA,1448,1448,1448,1973-12-19,144.79999999999606,144.79964,2015-01-01 00:24:08,bin1448,35,True +CTSPillarNetworkA,1449,1449,1449,1973-12-20,144.89999999999606,144.89964,2015-01-01 00:24:09,bin1449,75,True +CTSPillarNetworkA,1450,1450,1450,1973-12-21,144.99999999999605,144.99965,2015-01-01 00:24:10,bin1450,35,True +CTSPillarNetworkA,1451,1451,1451,1973-12-22,145.09999999999604,145.09966,2015-01-01 00:24:11,bin1451,75,True +CTSPillarNetworkA,1452,1452,1452,1973-12-23,145.19999999999604,145.19966,2015-01-01 00:24:12,bin1452,35,True +CTSPillarNetworkA,1453,1453,1453,1973-12-24,145.29999999999603,145.29967,2015-01-01 00:24:13,bin1453,75,True +CTSPillarNetworkA,1454,1454,1454,1973-12-25,145.39999999999603,145.39967,2015-01-01 00:24:14,bin1454,35,True +CTSPillarNetworkA,1455,1455,1455,1973-12-26,145.49999999999602,145.49968,2015-01-01 00:24:15,bin1455,75,True +CTSPillarNetworkA,1456,1456,1456,1973-12-27,145.59999999999602,145.59969,2015-01-01 00:24:16,bin1456,35,True +CTSPillarNetworkA,1457,1457,1457,1973-12-28,145.699999999996,145.69969,2015-01-01 00:24:17,bin1457,75,True +CTSPillarNetworkA,1458,1458,1458,1973-12-29,145.799999999996,145.7997,2015-01-01 00:24:18,bin1458,35,True +CTSPillarNetworkA,1459,1459,1459,1973-12-30,145.899999999996,145.8997,2015-01-01 00:24:19,bin1459,75,True +CTSPillarNetworkA,1460,1460,1460,1973-12-31,145.999999999996,145.99971,2015-01-01 00:24:20,bin1460,35,True +CTSPillarNetworkA,1461,1461,1461,1974-01-01,146.099999999996,146.09972,2015-01-01 00:24:21,bin1461,75,True +CTSPillarNetworkA,1462,1462,1462,1974-01-02,146.19999999999598,146.19972,2015-01-01 00:24:22,bin1462,35,True +CTSPillarNetworkA,1463,1463,1463,1974-01-03,146.29999999999598,146.29973,2015-01-01 00:24:23,bin1463,75,True +CTSPillarNetworkA,1464,1464,1464,1974-01-04,146.39999999999597,146.39973,2015-01-01 00:24:24,bin1464,35,True +CTSPillarNetworkA,1465,1465,1465,1974-01-05,146.49999999999596,146.49974,2015-01-01 00:24:25,bin1465,75,True +CTSPillarNetworkA,1466,1466,1466,1974-01-06,146.59999999999596,146.59975,2015-01-01 00:24:26,bin1466,35,True +CTSPillarNetworkA,1467,1467,1467,1974-01-07,146.69999999999595,146.69975,2015-01-01 00:24:27,bin1467,75,True +CTSPillarNetworkA,1468,1468,1468,1974-01-08,146.79999999999595,146.79976,2015-01-01 00:24:28,bin1468,35,True +CTSPillarNetworkA,1469,1469,1469,1974-01-09,146.89999999999594,146.89977,2015-01-01 00:24:29,bin1469,75,True +CTSPillarNetworkA,1470,1470,1470,1974-01-10,146.99999999999594,146.99977,2015-01-01 00:24:30,bin1470,35,True +CTSPillarNetworkA,1471,1471,1471,1974-01-11,147.09999999999593,147.09978,2015-01-01 00:24:31,bin1471,75,True +CTSPillarNetworkA,1472,1472,1472,1974-01-12,147.19999999999592,147.19978,2015-01-01 00:24:32,bin1472,35,True +CTSPillarNetworkA,1473,1473,1473,1974-01-13,147.29999999999592,147.29979,2015-01-01 00:24:33,bin1473,75,True +CTSPillarNetworkA,1474,1474,1474,1974-01-14,147.3999999999959,147.3998,2015-01-01 00:24:34,bin1474,35,True +CTSPillarNetworkA,1475,1475,1475,1974-01-15,147.4999999999959,147.4998,2015-01-01 00:24:35,bin1475,75,True +CTSPillarNetworkA,1476,1476,1476,1974-01-16,147.5999999999959,147.59981,2015-01-01 00:24:36,bin1476,35,True +CTSPillarNetworkA,1477,1477,1477,1974-01-17,147.6999999999959,147.69981,2015-01-01 00:24:37,bin1477,75,True +CTSPillarNetworkA,1478,1478,1478,1974-01-18,147.7999999999959,147.79982,2015-01-01 00:24:38,bin1478,35,True +CTSPillarNetworkA,1479,1479,1479,1974-01-19,147.89999999999588,147.89983,2015-01-01 00:24:39,bin1479,75,True +CTSPillarNetworkA,1480,1480,1480,1974-01-20,147.99999999999588,147.99983,2015-01-01 00:24:40,bin1480,35,True +CTSPillarNetworkA,1481,1481,1481,1974-01-21,148.09999999999587,148.09984,2015-01-01 00:24:41,bin1481,75,True +CTSPillarNetworkA,1482,1482,1482,1974-01-22,148.19999999999587,148.19984,2015-01-01 00:24:42,bin1482,35,True +CTSPillarNetworkA,1483,1483,1483,1974-01-23,148.29999999999586,148.29985,2015-01-01 00:24:43,bin1483,75,True +CTSPillarNetworkA,1484,1484,1484,1974-01-24,148.39999999999586,148.39986,2015-01-01 00:24:44,bin1484,35,True +CTSPillarNetworkA,1485,1485,1485,1974-01-25,148.49999999999585,148.49986,2015-01-01 00:24:45,bin1485,75,True +CTSPillarNetworkA,1486,1486,1486,1974-01-26,148.59999999999584,148.59987,2015-01-01 00:24:46,bin1486,35,True +CTSPillarNetworkA,1487,1487,1487,1974-01-27,148.69999999999584,148.69987,2015-01-01 00:24:47,bin1487,75,True +CTSPillarNetworkA,1488,1488,1488,1974-01-28,148.79999999999583,148.79988,2015-01-01 00:24:48,bin1488,35,True +CTSPillarNetworkA,1489,1489,1489,1974-01-29,148.89999999999583,148.89989,2015-01-01 00:24:49,bin1489,75,True +CTSPillarNetworkA,1490,1490,1490,1974-01-30,148.99999999999582,148.9999,2015-01-01 00:24:50,bin1490,35,True +CTSPillarNetworkA,1491,1491,1491,1974-01-31,149.09999999999582,149.0999,2015-01-01 00:24:51,bin1491,75,True +CTSPillarNetworkA,1492,1492,1492,1974-02-01,149.1999999999958,149.1999,2015-01-01 00:24:52,bin1492,35,True +CTSPillarNetworkA,1493,1493,1493,1974-02-02,149.2999999999958,149.29991,2015-01-01 00:24:53,bin1493,75,True +CTSPillarNetworkA,1494,1494,1494,1974-02-03,149.3999999999958,149.39992,2015-01-01 00:24:54,bin1494,35,True +CTSPillarNetworkA,1495,1495,1495,1974-02-04,149.4999999999958,149.49992,2015-01-01 00:24:55,bin1495,75,True +CTSPillarNetworkA,1496,1496,1496,1974-02-05,149.5999999999958,149.59993,2015-01-01 00:24:56,bin1496,35,True +CTSPillarNetworkA,1497,1497,1497,1974-02-06,149.69999999999578,149.69994,2015-01-01 00:24:57,bin1497,75,True +CTSPillarNetworkA,1498,1498,1498,1974-02-07,149.79999999999578,149.79994,2015-01-01 00:24:58,bin1498,35,True +CTSPillarNetworkA,1499,1499,1499,1974-02-08,149.89999999999577,149.89995,2015-01-01 00:24:59,bin1499,75,True +CTSPillarNetworkA,1500,1500,1500,1974-02-09,149.99999999999577,149.99995,2015-01-01 00:25:00,bin1500,35,True +CTSPillarNetworkA,1501,1501,1501,1974-02-10,150.09999999999576,150.09996,2015-01-01 00:25:01,bin1501,75,True +CTSPillarNetworkA,1502,1502,1502,1974-02-11,150.19999999999575,150.19997,2015-01-01 00:25:02,bin1502,35,True +CTSPillarNetworkA,1503,1503,1503,1974-02-12,150.29999999999575,150.29997,2015-01-01 00:25:03,bin1503,75,True +CTSPillarNetworkA,1504,1504,1504,1974-02-13,150.39999999999574,150.39998,2015-01-01 00:25:04,bin1504,35,True +CTSPillarNetworkA,1505,1505,1505,1974-02-14,150.49999999999574,150.49998,2015-01-01 00:25:05,bin1505,75,True +CTSPillarNetworkA,1506,1506,1506,1974-02-15,150.59999999999573,150.59999,2015-01-01 00:25:06,bin1506,35,True +CTSPillarNetworkA,1507,1507,1507,1974-02-16,150.69999999999573,150.7,2015-01-01 00:25:07,bin1507,75,True +CTSPillarNetworkA,1508,1508,1508,1974-02-17,150.79999999999572,150.8,2015-01-01 00:25:08,bin1508,35,True +CTSPillarNetworkA,1509,1509,1509,1974-02-18,150.8999999999957,150.90001,2015-01-01 00:25:09,bin1509,75,True +CTSPillarNetworkA,1510,1510,1510,1974-02-19,150.9999999999957,151.00002,2015-01-01 00:25:10,bin1510,35,True +CTSPillarNetworkA,1511,1511,1511,1974-02-20,151.0999999999957,151.10002,2015-01-01 00:25:11,bin1511,75,True +CTSPillarNetworkA,1512,1512,1512,1974-02-21,151.1999999999957,151.20003,2015-01-01 00:25:12,bin1512,35,True +CTSPillarNetworkA,1513,1513,1513,1974-02-22,151.2999999999957,151.30003,2015-01-01 00:25:13,bin1513,75,True +CTSPillarNetworkA,1514,1514,1514,1974-02-23,151.39999999999569,151.40004,2015-01-01 00:25:14,bin1514,35,True +CTSPillarNetworkA,1515,1515,1515,1974-02-24,151.49999999999568,151.50005,2015-01-01 00:25:15,bin1515,75,True +CTSPillarNetworkA,1516,1516,1516,1974-02-25,151.59999999999567,151.60005,2015-01-01 00:25:16,bin1516,35,True +CTSPillarNetworkA,1517,1517,1517,1974-02-26,151.69999999999567,151.70006,2015-01-01 00:25:17,bin1517,75,True +CTSPillarNetworkA,1518,1518,1518,1974-02-27,151.79999999999566,151.80006,2015-01-01 00:25:18,bin1518,35,True +CTSPillarNetworkA,1519,1519,1519,1974-02-28,151.89999999999566,151.90007,2015-01-01 00:25:19,bin1519,75,True +CTSPillarNetworkA,1520,1520,1520,1974-03-01,151.99999999999565,152.00008,2015-01-01 00:25:20,bin1520,35,True +CTSPillarNetworkA,1521,1521,1521,1974-03-02,152.09999999999565,152.10008,2015-01-01 00:25:21,bin1521,75,True +CTSPillarNetworkA,1522,1522,1522,1974-03-03,152.19999999999564,152.20009,2015-01-01 00:25:22,bin1522,35,True +CTSPillarNetworkA,1523,1523,1523,1974-03-04,152.29999999999563,152.3001,2015-01-01 00:25:23,bin1523,75,True +CTSPillarNetworkA,1524,1524,1524,1974-03-05,152.39999999999563,152.4001,2015-01-01 00:25:24,bin1524,35,True +CTSPillarNetworkA,1525,1525,1525,1974-03-06,152.49999999999562,152.5001,2015-01-01 00:25:25,bin1525,75,True +CTSPillarNetworkA,1526,1526,1526,1974-03-07,152.59999999999562,152.60011,2015-01-01 00:25:26,bin1526,35,True +CTSPillarNetworkA,1527,1527,1527,1974-03-08,152.6999999999956,152.70012,2015-01-01 00:25:27,bin1527,75,True +CTSPillarNetworkA,1528,1528,1528,1974-03-09,152.7999999999956,152.80013,2015-01-01 00:25:28,bin1528,35,True +CTSPillarNetworkA,1529,1529,1529,1974-03-10,152.8999999999956,152.90013,2015-01-01 00:25:29,bin1529,75,True +CTSPillarNetworkA,1530,1530,1530,1974-03-11,152.9999999999956,153.00014,2015-01-01 00:25:30,bin1530,35,True +CTSPillarNetworkA,1531,1531,1531,1974-03-12,153.0999999999956,153.10014,2015-01-01 00:25:31,bin1531,75,True +CTSPillarNetworkA,1532,1532,1532,1974-03-13,153.19999999999558,153.20015,2015-01-01 00:25:32,bin1532,35,True +CTSPillarNetworkA,1533,1533,1533,1974-03-14,153.29999999999558,153.30016,2015-01-01 00:25:33,bin1533,75,True +CTSPillarNetworkA,1534,1534,1534,1974-03-15,153.39999999999557,153.40016,2015-01-01 00:25:34,bin1534,35,True +CTSPillarNetworkA,1535,1535,1535,1974-03-16,153.49999999999557,153.50017,2015-01-01 00:25:35,bin1535,75,True +CTSPillarNetworkA,1536,1536,1536,1974-03-17,153.59999999999556,153.60017,2015-01-01 00:25:36,bin1536,35,True +CTSPillarNetworkA,1537,1537,1537,1974-03-18,153.69999999999555,153.70018,2015-01-01 00:25:37,bin1537,75,True +CTSPillarNetworkA,1538,1538,1538,1974-03-19,153.79999999999555,153.80019,2015-01-01 00:25:38,bin1538,35,True +CTSPillarNetworkA,1539,1539,1539,1974-03-20,153.89999999999554,153.90019,2015-01-01 00:25:39,bin1539,75,True +CTSPillarNetworkA,1540,1540,1540,1974-03-21,153.99999999999554,154.0002,2015-01-01 00:25:40,bin1540,35,True +CTSPillarNetworkA,1541,1541,1541,1974-03-22,154.09999999999553,154.1002,2015-01-01 00:25:41,bin1541,75,True +CTSPillarNetworkA,1542,1542,1542,1974-03-23,154.19999999999553,154.20021,2015-01-01 00:25:42,bin1542,35,True +CTSPillarNetworkA,1543,1543,1543,1974-03-24,154.29999999999552,154.30022,2015-01-01 00:25:43,bin1543,75,True +CTSPillarNetworkA,1544,1544,1544,1974-03-25,154.39999999999552,154.40022,2015-01-01 00:25:44,bin1544,35,True +CTSPillarNetworkA,1545,1545,1545,1974-03-26,154.4999999999955,154.50023,2015-01-01 00:25:45,bin1545,75,True +CTSPillarNetworkA,1546,1546,1546,1974-03-27,154.5999999999955,154.60023,2015-01-01 00:25:46,bin1546,35,True +CTSPillarNetworkA,1547,1547,1547,1974-03-28,154.6999999999955,154.70024,2015-01-01 00:25:47,bin1547,75,True +CTSPillarNetworkA,1548,1548,1548,1974-03-29,154.7999999999955,154.80025,2015-01-01 00:25:48,bin1548,35,True +CTSPillarNetworkA,1549,1549,1549,1974-03-30,154.8999999999955,154.90025,2015-01-01 00:25:49,bin1549,75,True +CTSPillarNetworkA,1550,1550,1550,1974-03-31,154.99999999999548,155.00026,2015-01-01 00:25:50,bin1550,35,True +CTSPillarNetworkA,1551,1551,1551,1974-04-01,155.09999999999548,155.10027,2015-01-01 00:25:51,bin1551,75,True +CTSPillarNetworkA,1552,1552,1552,1974-04-02,155.19999999999547,155.20027,2015-01-01 00:25:52,bin1552,35,True +CTSPillarNetworkA,1553,1553,1553,1974-04-03,155.29999999999546,155.30028,2015-01-01 00:25:53,bin1553,75,True +CTSPillarNetworkA,1554,1554,1554,1974-04-04,155.39999999999546,155.40028,2015-01-01 00:25:54,bin1554,35,True +CTSPillarNetworkA,1555,1555,1555,1974-04-05,155.49999999999545,155.50029,2015-01-01 00:25:55,bin1555,75,True +CTSPillarNetworkA,1556,1556,1556,1974-04-06,155.59999999999545,155.6003,2015-01-01 00:25:56,bin1556,35,True +CTSPillarNetworkA,1557,1557,1557,1974-04-07,155.69999999999544,155.7003,2015-01-01 00:25:57,bin1557,75,True +CTSPillarNetworkA,1558,1558,1558,1974-04-08,155.79999999999544,155.80031,2015-01-01 00:25:58,bin1558,35,True +CTSPillarNetworkA,1559,1559,1559,1974-04-09,155.89999999999543,155.90031,2015-01-01 00:25:59,bin1559,75,True +CTSPillarNetworkA,1560,1560,1560,1974-04-10,155.99999999999542,156.00032,2015-01-01 00:26:00,bin1560,35,True +CTSPillarNetworkA,1561,1561,1561,1974-04-11,156.09999999999542,156.10033,2015-01-01 00:26:01,bin1561,75,True +CTSPillarNetworkA,1562,1562,1562,1974-04-12,156.1999999999954,156.20033,2015-01-01 00:26:02,bin1562,35,True +CTSPillarNetworkA,1563,1563,1563,1974-04-13,156.2999999999954,156.30034,2015-01-01 00:26:03,bin1563,75,True +CTSPillarNetworkA,1564,1564,1564,1974-04-14,156.3999999999954,156.40034,2015-01-01 00:26:04,bin1564,35,True +CTSPillarNetworkA,1565,1565,1565,1974-04-15,156.4999999999954,156.50035,2015-01-01 00:26:05,bin1565,75,True +CTSPillarNetworkA,1566,1566,1566,1974-04-16,156.5999999999954,156.60036,2015-01-01 00:26:06,bin1566,35,True +CTSPillarNetworkA,1567,1567,1567,1974-04-17,156.69999999999538,156.70036,2015-01-01 00:26:07,bin1567,75,True +CTSPillarNetworkA,1568,1568,1568,1974-04-18,156.79999999999538,156.80037,2015-01-01 00:26:08,bin1568,35,True +CTSPillarNetworkA,1569,1569,1569,1974-04-19,156.89999999999537,156.90038,2015-01-01 00:26:09,bin1569,75,True +CTSPillarNetworkA,1570,1570,1570,1974-04-20,156.99999999999537,157.00038,2015-01-01 00:26:10,bin1570,35,True +CTSPillarNetworkA,1571,1571,1571,1974-04-21,157.09999999999536,157.10039,2015-01-01 00:26:11,bin1571,75,True +CTSPillarNetworkA,1572,1572,1572,1974-04-22,157.19999999999536,157.2004,2015-01-01 00:26:12,bin1572,35,True +CTSPillarNetworkA,1573,1573,1573,1974-04-23,157.29999999999535,157.3004,2015-01-01 00:26:13,bin1573,75,True +CTSPillarNetworkA,1574,1574,1574,1974-04-24,157.39999999999534,157.4004,2015-01-01 00:26:14,bin1574,35,True +CTSPillarNetworkA,1575,1575,1575,1974-04-25,157.49999999999534,157.50041,2015-01-01 00:26:15,bin1575,75,True +CTSPillarNetworkA,1576,1576,1576,1974-04-26,157.59999999999533,157.60042,2015-01-01 00:26:16,bin1576,35,True +CTSPillarNetworkA,1577,1577,1577,1974-04-27,157.69999999999533,157.70042,2015-01-01 00:26:17,bin1577,75,True +CTSPillarNetworkA,1578,1578,1578,1974-04-28,157.79999999999532,157.80043,2015-01-01 00:26:18,bin1578,35,True +CTSPillarNetworkA,1579,1579,1579,1974-04-29,157.89999999999532,157.90044,2015-01-01 00:26:19,bin1579,75,True +CTSPillarNetworkA,1580,1580,1580,1974-04-30,157.9999999999953,158.00044,2015-01-01 00:26:20,bin1580,35,True +CTSPillarNetworkA,1581,1581,1581,1974-05-01,158.0999999999953,158.10045,2015-01-01 00:26:21,bin1581,75,True +CTSPillarNetworkA,1582,1582,1582,1974-05-02,158.1999999999953,158.20045,2015-01-01 00:26:22,bin1582,35,True +CTSPillarNetworkA,1583,1583,1583,1974-05-03,158.2999999999953,158.30046,2015-01-01 00:26:23,bin1583,75,True +CTSPillarNetworkA,1584,1584,1584,1974-05-04,158.3999999999953,158.40047,2015-01-01 00:26:24,bin1584,35,True +CTSPillarNetworkA,1585,1585,1585,1974-05-05,158.49999999999528,158.50047,2015-01-01 00:26:25,bin1585,75,True +CTSPillarNetworkA,1586,1586,1586,1974-05-06,158.59999999999528,158.60048,2015-01-01 00:26:26,bin1586,35,True +CTSPillarNetworkA,1587,1587,1587,1974-05-07,158.69999999999527,158.70049,2015-01-01 00:26:27,bin1587,75,True +CTSPillarNetworkA,1588,1588,1588,1974-05-08,158.79999999999526,158.80049,2015-01-01 00:26:28,bin1588,35,True +CTSPillarNetworkA,1589,1589,1589,1974-05-09,158.89999999999526,158.9005,2015-01-01 00:26:29,bin1589,75,True +CTSPillarNetworkA,1590,1590,1590,1974-05-10,158.99999999999525,159.0005,2015-01-01 00:26:30,bin1590,35,True +CTSPillarNetworkA,1591,1591,1591,1974-05-11,159.09999999999525,159.10051,2015-01-01 00:26:31,bin1591,75,True +CTSPillarNetworkA,1592,1592,1592,1974-05-12,159.19999999999524,159.20052,2015-01-01 00:26:32,bin1592,35,True +CTSPillarNetworkA,1593,1593,1593,1974-05-13,159.29999999999524,159.30052,2015-01-01 00:26:33,bin1593,75,True +CTSPillarNetworkA,1594,1594,1594,1974-05-14,159.39999999999523,159.40053,2015-01-01 00:26:34,bin1594,35,True +CTSPillarNetworkA,1595,1595,1595,1974-05-15,159.49999999999523,159.50053,2015-01-01 00:26:35,bin1595,75,True +CTSPillarNetworkA,1596,1596,1596,1974-05-16,159.59999999999522,159.60054,2015-01-01 00:26:36,bin1596,35,True +CTSPillarNetworkA,1597,1597,1597,1974-05-17,159.6999999999952,159.70055,2015-01-01 00:26:37,bin1597,75,True +CTSPillarNetworkA,1598,1598,1598,1974-05-18,159.7999999999952,159.80055,2015-01-01 00:26:38,bin1598,35,True +CTSPillarNetworkA,1599,1599,1599,1974-05-19,159.8999999999952,159.90056,2015-01-01 00:26:39,bin1599,75,True +CTSPillarNetworkA,1600,1600,1600,1974-05-20,159.9999999999952,160.00056,2015-01-01 00:26:40,bin1600,35,True +CTSPillarNetworkA,1601,1601,1601,1974-05-21,160.0999999999952,160.10057,2015-01-01 00:26:41,bin1601,75,True +CTSPillarNetworkA,1602,1602,1602,1974-05-22,160.19999999999519,160.20058,2015-01-01 00:26:42,bin1602,35,True +CTSPillarNetworkA,1603,1603,1603,1974-05-23,160.29999999999518,160.30058,2015-01-01 00:26:43,bin1603,75,True +CTSPillarNetworkA,1604,1604,1604,1974-05-24,160.39999999999517,160.40059,2015-01-01 00:26:44,bin1604,35,True +CTSPillarNetworkA,1605,1605,1605,1974-05-25,160.49999999999517,160.5006,2015-01-01 00:26:45,bin1605,75,True +CTSPillarNetworkA,1606,1606,1606,1974-05-26,160.59999999999516,160.6006,2015-01-01 00:26:46,bin1606,35,True +CTSPillarNetworkA,1607,1607,1607,1974-05-27,160.69999999999516,160.7006,2015-01-01 00:26:47,bin1607,75,True +CTSPillarNetworkA,1608,1608,1608,1974-05-28,160.79999999999515,160.80061,2015-01-01 00:26:48,bin1608,35,True +CTSPillarNetworkA,1609,1609,1609,1974-05-29,160.89999999999515,160.90062,2015-01-01 00:26:49,bin1609,75,True +CTSPillarNetworkA,1610,1610,1610,1974-05-30,160.99999999999514,161.00063,2015-01-01 00:26:50,bin1610,35,True +CTSPillarNetworkA,1611,1611,1611,1974-05-31,161.09999999999513,161.10063,2015-01-01 00:26:51,bin1611,75,True +CTSPillarNetworkA,1612,1612,1612,1974-06-01,161.19999999999513,161.20064,2015-01-01 00:26:52,bin1612,35,True +CTSPillarNetworkA,1613,1613,1613,1974-06-02,161.29999999999512,161.30064,2015-01-01 00:26:53,bin1613,75,True +CTSPillarNetworkA,1614,1614,1614,1974-06-03,161.39999999999512,161.40065,2015-01-01 00:26:54,bin1614,35,True +CTSPillarNetworkA,1615,1615,1615,1974-06-04,161.4999999999951,161.50066,2015-01-01 00:26:55,bin1615,75,True +CTSPillarNetworkA,1616,1616,1616,1974-06-05,161.5999999999951,161.60066,2015-01-01 00:26:56,bin1616,35,True +CTSPillarNetworkA,1617,1617,1617,1974-06-06,161.6999999999951,161.70067,2015-01-01 00:26:57,bin1617,75,True +CTSPillarNetworkA,1618,1618,1618,1974-06-07,161.7999999999951,161.80067,2015-01-01 00:26:58,bin1618,35,True +CTSPillarNetworkA,1619,1619,1619,1974-06-08,161.8999999999951,161.90068,2015-01-01 00:26:59,bin1619,75,True +CTSPillarNetworkA,1620,1620,1620,1974-06-09,161.99999999999508,162.00069,2015-01-01 00:27:00,bin1620,35,True +CTSPillarNetworkA,1621,1621,1621,1974-06-10,162.09999999999508,162.1007,2015-01-01 00:27:01,bin1621,75,True +CTSPillarNetworkA,1622,1622,1622,1974-06-11,162.19999999999507,162.2007,2015-01-01 00:27:02,bin1622,35,True +CTSPillarNetworkA,1623,1623,1623,1974-06-12,162.29999999999507,162.3007,2015-01-01 00:27:03,bin1623,75,True +CTSPillarNetworkA,1624,1624,1624,1974-06-13,162.39999999999506,162.40071,2015-01-01 00:27:04,bin1624,35,True +CTSPillarNetworkA,1625,1625,1625,1974-06-14,162.49999999999505,162.50072,2015-01-01 00:27:05,bin1625,75,True +CTSPillarNetworkA,1626,1626,1626,1974-06-15,162.59999999999505,162.60072,2015-01-01 00:27:06,bin1626,35,True +CTSPillarNetworkA,1627,1627,1627,1974-06-16,162.69999999999504,162.70073,2015-01-01 00:27:07,bin1627,75,True +CTSPillarNetworkA,1628,1628,1628,1974-06-17,162.79999999999504,162.80074,2015-01-01 00:27:08,bin1628,35,True +CTSPillarNetworkA,1629,1629,1629,1974-06-18,162.89999999999503,162.90074,2015-01-01 00:27:09,bin1629,75,True +CTSPillarNetworkA,1630,1630,1630,1974-06-19,162.99999999999503,163.00075,2015-01-01 00:27:10,bin1630,35,True +CTSPillarNetworkA,1631,1631,1631,1974-06-20,163.09999999999502,163.10075,2015-01-01 00:27:11,bin1631,75,True +CTSPillarNetworkA,1632,1632,1632,1974-06-21,163.19999999999501,163.20076,2015-01-01 00:27:12,bin1632,35,True +CTSPillarNetworkA,1633,1633,1633,1974-06-22,163.299999999995,163.30077,2015-01-01 00:27:13,bin1633,75,True +CTSPillarNetworkA,1634,1634,1634,1974-06-23,163.399999999995,163.40077,2015-01-01 00:27:14,bin1634,35,True +CTSPillarNetworkA,1635,1635,1635,1974-06-24,163.499999999995,163.50078,2015-01-01 00:27:15,bin1635,75,True +CTSPillarNetworkA,1636,1636,1636,1974-06-25,163.599999999995,163.60078,2015-01-01 00:27:16,bin1636,35,True +CTSPillarNetworkA,1637,1637,1637,1974-06-26,163.699999999995,163.70079,2015-01-01 00:27:17,bin1637,75,True +CTSPillarNetworkA,1638,1638,1638,1974-06-27,163.79999999999498,163.8008,2015-01-01 00:27:18,bin1638,35,True +CTSPillarNetworkA,1639,1639,1639,1974-06-28,163.89999999999498,163.9008,2015-01-01 00:27:19,bin1639,75,True +CTSPillarNetworkA,1640,1640,1640,1974-06-29,163.99999999999497,164.00081,2015-01-01 00:27:20,bin1640,35,True +CTSPillarNetworkA,1641,1641,1641,1974-06-30,164.09999999999496,164.10081,2015-01-01 00:27:21,bin1641,75,True +CTSPillarNetworkA,1642,1642,1642,1974-07-01,164.19999999999496,164.20082,2015-01-01 00:27:22,bin1642,35,True +CTSPillarNetworkA,1643,1643,1643,1974-07-02,164.29999999999495,164.30083,2015-01-01 00:27:23,bin1643,75,True +CTSPillarNetworkA,1644,1644,1644,1974-07-03,164.39999999999495,164.40083,2015-01-01 00:27:24,bin1644,35,True +CTSPillarNetworkA,1645,1645,1645,1974-07-04,164.49999999999494,164.50084,2015-01-01 00:27:25,bin1645,75,True +CTSPillarNetworkA,1646,1646,1646,1974-07-05,164.59999999999494,164.60085,2015-01-01 00:27:26,bin1646,35,True +CTSPillarNetworkA,1647,1647,1647,1974-07-06,164.69999999999493,164.70085,2015-01-01 00:27:27,bin1647,75,True +CTSPillarNetworkA,1648,1648,1648,1974-07-07,164.79999999999492,164.80086,2015-01-01 00:27:28,bin1648,35,True +CTSPillarNetworkA,1649,1649,1649,1974-07-08,164.89999999999492,164.90086,2015-01-01 00:27:29,bin1649,75,True +CTSPillarNetworkA,1650,1650,1650,1974-07-09,164.9999999999949,165.00087,2015-01-01 00:27:30,bin1650,35,True +CTSPillarNetworkA,1651,1651,1651,1974-07-10,165.0999999999949,165.10088,2015-01-01 00:27:31,bin1651,75,True +CTSPillarNetworkA,1652,1652,1652,1974-07-11,165.1999999999949,165.20088,2015-01-01 00:27:32,bin1652,35,True +CTSPillarNetworkA,1653,1653,1653,1974-07-12,165.2999999999949,165.30089,2015-01-01 00:27:33,bin1653,75,True +CTSPillarNetworkA,1654,1654,1654,1974-07-13,165.3999999999949,165.4009,2015-01-01 00:27:34,bin1654,35,True +CTSPillarNetworkA,1655,1655,1655,1974-07-14,165.49999999999488,165.5009,2015-01-01 00:27:35,bin1655,75,True +CTSPillarNetworkA,1656,1656,1656,1974-07-15,165.59999999999488,165.6009,2015-01-01 00:27:36,bin1656,35,True +CTSPillarNetworkA,1657,1657,1657,1974-07-16,165.69999999999487,165.70091,2015-01-01 00:27:37,bin1657,75,True +CTSPillarNetworkA,1658,1658,1658,1974-07-17,165.79999999999487,165.80092,2015-01-01 00:27:38,bin1658,35,True +CTSPillarNetworkA,1659,1659,1659,1974-07-18,165.89999999999486,165.90092,2015-01-01 00:27:39,bin1659,75,True +CTSPillarNetworkA,1660,1660,1660,1974-07-19,165.99999999999486,166.00093,2015-01-01 00:27:40,bin1660,35,True +CTSPillarNetworkA,1661,1661,1661,1974-07-20,166.09999999999485,166.10094,2015-01-01 00:27:41,bin1661,75,True +CTSPillarNetworkA,1662,1662,1662,1974-07-21,166.19999999999484,166.20094,2015-01-01 00:27:42,bin1662,35,True +CTSPillarNetworkA,1663,1663,1663,1974-07-22,166.29999999999484,166.30095,2015-01-01 00:27:43,bin1663,75,True +CTSPillarNetworkA,1664,1664,1664,1974-07-23,166.39999999999483,166.40096,2015-01-01 00:27:44,bin1664,35,True +CTSPillarNetworkA,1665,1665,1665,1974-07-24,166.49999999999483,166.50096,2015-01-01 00:27:45,bin1665,75,True +CTSPillarNetworkA,1666,1666,1666,1974-07-25,166.59999999999482,166.60097,2015-01-01 00:27:46,bin1666,35,True +CTSPillarNetworkA,1667,1667,1667,1974-07-26,166.69999999999482,166.70097,2015-01-01 00:27:47,bin1667,75,True +CTSPillarNetworkA,1668,1668,1668,1974-07-27,166.7999999999948,166.80098,2015-01-01 00:27:48,bin1668,35,True +CTSPillarNetworkA,1669,1669,1669,1974-07-28,166.8999999999948,166.90099,2015-01-01 00:27:49,bin1669,75,True +CTSPillarNetworkA,1670,1670,1670,1974-07-29,166.9999999999948,167.00099,2015-01-01 00:27:50,bin1670,35,True +CTSPillarNetworkA,1671,1671,1671,1974-07-30,167.0999999999948,167.101,2015-01-01 00:27:51,bin1671,75,True +CTSPillarNetworkA,1672,1672,1672,1974-07-31,167.1999999999948,167.201,2015-01-01 00:27:52,bin1672,35,True +CTSPillarNetworkA,1673,1673,1673,1974-08-01,167.29999999999478,167.30101,2015-01-01 00:27:53,bin1673,75,True +CTSPillarNetworkA,1674,1674,1674,1974-08-02,167.39999999999478,167.40102,2015-01-01 00:27:54,bin1674,35,True +CTSPillarNetworkA,1675,1675,1675,1974-08-03,167.49999999999477,167.50102,2015-01-01 00:27:55,bin1675,75,True +CTSPillarNetworkA,1676,1676,1676,1974-08-04,167.59999999999476,167.60103,2015-01-01 00:27:56,bin1676,35,True +CTSPillarNetworkA,1677,1677,1677,1974-08-05,167.69999999999476,167.70103,2015-01-01 00:27:57,bin1677,75,True +CTSPillarNetworkA,1678,1678,1678,1974-08-06,167.79999999999475,167.80104,2015-01-01 00:27:58,bin1678,35,True +CTSPillarNetworkA,1679,1679,1679,1974-08-07,167.89999999999475,167.90105,2015-01-01 00:27:59,bin1679,75,True +CTSPillarNetworkA,1680,1680,1680,1974-08-08,167.99999999999474,168.00105,2015-01-01 00:28:00,bin1680,35,True +CTSPillarNetworkA,1681,1681,1681,1974-08-09,168.09999999999474,168.10106,2015-01-01 00:28:01,bin1681,75,True +CTSPillarNetworkA,1682,1682,1682,1974-08-10,168.19999999999473,168.20107,2015-01-01 00:28:02,bin1682,35,True +CTSPillarNetworkA,1683,1683,1683,1974-08-11,168.29999999999472,168.30107,2015-01-01 00:28:03,bin1683,75,True +CTSPillarNetworkA,1684,1684,1684,1974-08-12,168.39999999999472,168.40108,2015-01-01 00:28:04,bin1684,35,True +CTSPillarNetworkA,1685,1685,1685,1974-08-13,168.4999999999947,168.50108,2015-01-01 00:28:05,bin1685,75,True +CTSPillarNetworkA,1686,1686,1686,1974-08-14,168.5999999999947,168.60109,2015-01-01 00:28:06,bin1686,35,True +CTSPillarNetworkA,1687,1687,1687,1974-08-15,168.6999999999947,168.7011,2015-01-01 00:28:07,bin1687,75,True +CTSPillarNetworkA,1688,1688,1688,1974-08-16,168.7999999999947,168.8011,2015-01-01 00:28:08,bin1688,35,True +CTSPillarNetworkA,1689,1689,1689,1974-08-17,168.8999999999947,168.90111,2015-01-01 00:28:09,bin1689,75,True +CTSPillarNetworkA,1690,1690,1690,1974-08-18,168.99999999999469,169.00111,2015-01-01 00:28:10,bin1690,35,True +CTSPillarNetworkA,1691,1691,1691,1974-08-19,169.09999999999468,169.10112,2015-01-01 00:28:11,bin1691,75,True +CTSPillarNetworkA,1692,1692,1692,1974-08-20,169.19999999999467,169.20113,2015-01-01 00:28:12,bin1692,35,True +CTSPillarNetworkA,1693,1693,1693,1974-08-21,169.29999999999467,169.30113,2015-01-01 00:28:13,bin1693,75,True +CTSPillarNetworkA,1694,1694,1694,1974-08-22,169.39999999999466,169.40114,2015-01-01 00:28:14,bin1694,35,True +CTSPillarNetworkA,1695,1695,1695,1974-08-23,169.49999999999466,169.50114,2015-01-01 00:28:15,bin1695,75,True +CTSPillarNetworkA,1696,1696,1696,1974-08-24,169.59999999999465,169.60115,2015-01-01 00:28:16,bin1696,35,True +CTSPillarNetworkA,1697,1697,1697,1974-08-25,169.69999999999465,169.70116,2015-01-01 00:28:17,bin1697,75,True +CTSPillarNetworkA,1698,1698,1698,1974-08-26,169.79999999999464,169.80116,2015-01-01 00:28:18,bin1698,35,True +CTSPillarNetworkA,1699,1699,1699,1974-08-27,169.89999999999463,169.90117,2015-01-01 00:28:19,bin1699,75,True +CTSPillarNetworkA,1700,1700,1700,1974-08-28,169.99999999999463,170.00117,2015-01-01 00:28:20,bin1700,35,True +CTSPillarNetworkA,1701,1701,1701,1974-08-29,170.09999999999462,170.10118,2015-01-01 00:28:21,bin1701,75,True +CTSPillarNetworkA,1702,1702,1702,1974-08-30,170.19999999999462,170.20119,2015-01-01 00:28:22,bin1702,35,True +CTSPillarNetworkA,1703,1703,1703,1974-08-31,170.2999999999946,170.3012,2015-01-01 00:28:23,bin1703,75,True +CTSPillarNetworkA,1704,1704,1704,1974-09-01,170.3999999999946,170.4012,2015-01-01 00:28:24,bin1704,35,True +CTSPillarNetworkA,1705,1705,1705,1974-09-02,170.4999999999946,170.5012,2015-01-01 00:28:25,bin1705,75,True +CTSPillarNetworkA,1706,1706,1706,1974-09-03,170.5999999999946,170.60121,2015-01-01 00:28:26,bin1706,35,True +CTSPillarNetworkA,1707,1707,1707,1974-09-04,170.6999999999946,170.70122,2015-01-01 00:28:27,bin1707,75,True +CTSPillarNetworkA,1708,1708,1708,1974-09-05,170.79999999999458,170.80122,2015-01-01 00:28:28,bin1708,35,True +CTSPillarNetworkA,1709,1709,1709,1974-09-06,170.89999999999458,170.90123,2015-01-01 00:28:29,bin1709,75,True +CTSPillarNetworkA,1710,1710,1710,1974-09-07,170.99999999999457,171.00124,2015-01-01 00:28:30,bin1710,35,True +CTSPillarNetworkA,1711,1711,1711,1974-09-08,171.09999999999457,171.10124,2015-01-01 00:28:31,bin1711,75,True +CTSPillarNetworkA,1712,1712,1712,1974-09-09,171.19999999999456,171.20125,2015-01-01 00:28:32,bin1712,35,True +CTSPillarNetworkA,1713,1713,1713,1974-09-10,171.29999999999455,171.30125,2015-01-01 00:28:33,bin1713,75,True +CTSPillarNetworkA,1714,1714,1714,1974-09-11,171.39999999999455,171.40126,2015-01-01 00:28:34,bin1714,35,True +CTSPillarNetworkA,1715,1715,1715,1974-09-12,171.49999999999454,171.50127,2015-01-01 00:28:35,bin1715,75,True +CTSPillarNetworkA,1716,1716,1716,1974-09-13,171.59999999999454,171.60127,2015-01-01 00:28:36,bin1716,35,True +CTSPillarNetworkA,1717,1717,1717,1974-09-14,171.69999999999453,171.70128,2015-01-01 00:28:37,bin1717,75,True +CTSPillarNetworkA,1718,1718,1718,1974-09-15,171.79999999999453,171.80128,2015-01-01 00:28:38,bin1718,35,True +CTSPillarNetworkA,1719,1719,1719,1974-09-16,171.89999999999452,171.90129,2015-01-01 00:28:39,bin1719,75,True +CTSPillarNetworkA,1720,1720,1720,1974-09-17,171.99999999999451,172.0013,2015-01-01 00:28:40,bin1720,35,True +CTSPillarNetworkA,1721,1721,1721,1974-09-18,172.0999999999945,172.1013,2015-01-01 00:28:41,bin1721,75,True +CTSPillarNetworkA,1722,1722,1722,1974-09-19,172.1999999999945,172.20131,2015-01-01 00:28:42,bin1722,35,True +CTSPillarNetworkA,1723,1723,1723,1974-09-20,172.2999999999945,172.30132,2015-01-01 00:28:43,bin1723,75,True +CTSPillarNetworkA,1724,1724,1724,1974-09-21,172.3999999999945,172.40132,2015-01-01 00:28:44,bin1724,35,True +CTSPillarNetworkA,1725,1725,1725,1974-09-22,172.4999999999945,172.50133,2015-01-01 00:28:45,bin1725,75,True +CTSPillarNetworkA,1726,1726,1726,1974-09-23,172.59999999999448,172.60133,2015-01-01 00:28:46,bin1726,35,True +CTSPillarNetworkA,1727,1727,1727,1974-09-24,172.69999999999447,172.70134,2015-01-01 00:28:47,bin1727,75,True +CTSPillarNetworkA,1728,1728,1728,1974-09-25,172.79999999999447,172.80135,2015-01-01 00:28:48,bin1728,35,True +CTSPillarNetworkA,1729,1729,1729,1974-09-26,172.89999999999446,172.90135,2015-01-01 00:28:49,bin1729,75,True +CTSPillarNetworkA,1730,1730,1730,1974-09-27,172.99999999999446,173.00136,2015-01-01 00:28:50,bin1730,35,True +CTSPillarNetworkA,1731,1731,1731,1974-09-28,173.09999999999445,173.10136,2015-01-01 00:28:51,bin1731,75,True +CTSPillarNetworkA,1732,1732,1732,1974-09-29,173.19999999999445,173.20137,2015-01-01 00:28:52,bin1732,35,True +CTSPillarNetworkA,1733,1733,1733,1974-09-30,173.29999999999444,173.30138,2015-01-01 00:28:53,bin1733,75,True +CTSPillarNetworkA,1734,1734,1734,1974-10-01,173.39999999999444,173.40138,2015-01-01 00:28:54,bin1734,35,True +CTSPillarNetworkA,1735,1735,1735,1974-10-02,173.49999999999443,173.50139,2015-01-01 00:28:55,bin1735,75,True +CTSPillarNetworkA,1736,1736,1736,1974-10-03,173.59999999999442,173.6014,2015-01-01 00:28:56,bin1736,35,True +CTSPillarNetworkA,1737,1737,1737,1974-10-04,173.69999999999442,173.7014,2015-01-01 00:28:57,bin1737,75,True +CTSPillarNetworkA,1738,1738,1738,1974-10-05,173.7999999999944,173.8014,2015-01-01 00:28:58,bin1738,35,True +CTSPillarNetworkA,1739,1739,1739,1974-10-06,173.8999999999944,173.90141,2015-01-01 00:28:59,bin1739,75,True +CTSPillarNetworkA,1740,1740,1740,1974-10-07,173.9999999999944,174.00142,2015-01-01 00:29:00,bin1740,35,True +CTSPillarNetworkA,1741,1741,1741,1974-10-08,174.0999999999944,174.10143,2015-01-01 00:29:01,bin1741,75,True +CTSPillarNetworkA,1742,1742,1742,1974-10-09,174.1999999999944,174.20143,2015-01-01 00:29:02,bin1742,35,True +CTSPillarNetworkA,1743,1743,1743,1974-10-10,174.29999999999438,174.30144,2015-01-01 00:29:03,bin1743,75,True +CTSPillarNetworkA,1744,1744,1744,1974-10-11,174.39999999999438,174.40144,2015-01-01 00:29:04,bin1744,35,True +CTSPillarNetworkA,1745,1745,1745,1974-10-12,174.49999999999437,174.50145,2015-01-01 00:29:05,bin1745,75,True +CTSPillarNetworkA,1746,1746,1746,1974-10-13,174.59999999999437,174.60146,2015-01-01 00:29:06,bin1746,35,True +CTSPillarNetworkA,1747,1747,1747,1974-10-14,174.69999999999436,174.70146,2015-01-01 00:29:07,bin1747,75,True +CTSPillarNetworkA,1748,1748,1748,1974-10-15,174.79999999999436,174.80147,2015-01-01 00:29:08,bin1748,35,True +CTSPillarNetworkA,1749,1749,1749,1974-10-16,174.89999999999435,174.90147,2015-01-01 00:29:09,bin1749,75,True +CTSPillarNetworkA,1750,1750,1750,1974-10-17,174.99999999999434,175.00148,2015-01-01 00:29:10,bin1750,35,True +CTSPillarNetworkA,1751,1751,1751,1974-10-18,175.09999999999434,175.10149,2015-01-01 00:29:11,bin1751,75,True +CTSPillarNetworkA,1752,1752,1752,1974-10-19,175.19999999999433,175.20149,2015-01-01 00:29:12,bin1752,35,True +CTSPillarNetworkA,1753,1753,1753,1974-10-20,175.29999999999433,175.3015,2015-01-01 00:29:13,bin1753,75,True +CTSPillarNetworkA,1754,1754,1754,1974-10-21,175.39999999999432,175.4015,2015-01-01 00:29:14,bin1754,35,True +CTSPillarNetworkA,1755,1755,1755,1974-10-22,175.49999999999432,175.50151,2015-01-01 00:29:15,bin1755,75,True +CTSPillarNetworkA,1756,1756,1756,1974-10-23,175.5999999999943,175.60152,2015-01-01 00:29:16,bin1756,35,True +CTSPillarNetworkA,1757,1757,1757,1974-10-24,175.6999999999943,175.70152,2015-01-01 00:29:17,bin1757,75,True +CTSPillarNetworkA,1758,1758,1758,1974-10-25,175.7999999999943,175.80153,2015-01-01 00:29:18,bin1758,35,True +CTSPillarNetworkA,1759,1759,1759,1974-10-26,175.8999999999943,175.90154,2015-01-01 00:29:19,bin1759,75,True +CTSPillarNetworkA,1760,1760,1760,1974-10-27,175.9999999999943,176.00154,2015-01-01 00:29:20,bin1760,35,True +CTSPillarNetworkA,1761,1761,1761,1974-10-28,176.09999999999428,176.10155,2015-01-01 00:29:21,bin1761,75,True +CTSPillarNetworkA,1762,1762,1762,1974-10-29,176.19999999999428,176.20155,2015-01-01 00:29:22,bin1762,35,True +CTSPillarNetworkA,1763,1763,1763,1974-10-30,176.29999999999427,176.30156,2015-01-01 00:29:23,bin1763,75,True +CTSPillarNetworkA,1764,1764,1764,1974-10-31,176.39999999999426,176.40157,2015-01-01 00:29:24,bin1764,35,True +CTSPillarNetworkA,1765,1765,1765,1974-11-01,176.49999999999426,176.50157,2015-01-01 00:29:25,bin1765,75,True +CTSPillarNetworkA,1766,1766,1766,1974-11-02,176.59999999999425,176.60158,2015-01-01 00:29:26,bin1766,35,True +CTSPillarNetworkA,1767,1767,1767,1974-11-03,176.69999999999425,176.70158,2015-01-01 00:29:27,bin1767,75,True +CTSPillarNetworkA,1768,1768,1768,1974-11-04,176.79999999999424,176.80159,2015-01-01 00:29:28,bin1768,35,True +CTSPillarNetworkA,1769,1769,1769,1974-11-05,176.89999999999424,176.9016,2015-01-01 00:29:29,bin1769,75,True +CTSPillarNetworkA,1770,1770,1770,1974-11-06,176.99999999999423,177.0016,2015-01-01 00:29:30,bin1770,35,True +CTSPillarNetworkA,1771,1771,1771,1974-11-07,177.09999999999422,177.10161,2015-01-01 00:29:31,bin1771,75,True +CTSPillarNetworkA,1772,1772,1772,1974-11-08,177.19999999999422,177.20161,2015-01-01 00:29:32,bin1772,35,True +CTSPillarNetworkA,1773,1773,1773,1974-11-09,177.2999999999942,177.30162,2015-01-01 00:29:33,bin1773,75,True +CTSPillarNetworkA,1774,1774,1774,1974-11-10,177.3999999999942,177.40163,2015-01-01 00:29:34,bin1774,35,True +CTSPillarNetworkA,1775,1775,1775,1974-11-11,177.4999999999942,177.50163,2015-01-01 00:29:35,bin1775,75,True +CTSPillarNetworkA,1776,1776,1776,1974-11-12,177.5999999999942,177.60164,2015-01-01 00:29:36,bin1776,35,True +CTSPillarNetworkA,1777,1777,1777,1974-11-13,177.6999999999942,177.70164,2015-01-01 00:29:37,bin1777,75,True +CTSPillarNetworkA,1778,1778,1778,1974-11-14,177.79999999999418,177.80165,2015-01-01 00:29:38,bin1778,35,True +CTSPillarNetworkA,1779,1779,1779,1974-11-15,177.89999999999418,177.90166,2015-01-01 00:29:39,bin1779,75,True +CTSPillarNetworkA,1780,1780,1780,1974-11-16,177.99999999999417,178.00166,2015-01-01 00:29:40,bin1780,35,True +CTSPillarNetworkA,1781,1781,1781,1974-11-17,178.09999999999417,178.10167,2015-01-01 00:29:41,bin1781,75,True +CTSPillarNetworkA,1782,1782,1782,1974-11-18,178.19999999999416,178.20168,2015-01-01 00:29:42,bin1782,35,True +CTSPillarNetworkA,1783,1783,1783,1974-11-19,178.29999999999416,178.30168,2015-01-01 00:29:43,bin1783,75,True +CTSPillarNetworkA,1784,1784,1784,1974-11-20,178.39999999999415,178.40169,2015-01-01 00:29:44,bin1784,35,True +CTSPillarNetworkA,1785,1785,1785,1974-11-21,178.49999999999415,178.5017,2015-01-01 00:29:45,bin1785,75,True +CTSPillarNetworkA,1786,1786,1786,1974-11-22,178.59999999999414,178.6017,2015-01-01 00:29:46,bin1786,35,True +CTSPillarNetworkA,1787,1787,1787,1974-11-23,178.69999999999413,178.7017,2015-01-01 00:29:47,bin1787,75,True +CTSPillarNetworkA,1788,1788,1788,1974-11-24,178.79999999999413,178.80171,2015-01-01 00:29:48,bin1788,35,True +CTSPillarNetworkA,1789,1789,1789,1974-11-25,178.89999999999412,178.90172,2015-01-01 00:29:49,bin1789,75,True +CTSPillarNetworkA,1790,1790,1790,1974-11-26,178.99999999999412,179.00172,2015-01-01 00:29:50,bin1790,35,True +CTSPillarNetworkA,1791,1791,1791,1974-11-27,179.0999999999941,179.10173,2015-01-01 00:29:51,bin1791,75,True +CTSPillarNetworkA,1792,1792,1792,1974-11-28,179.1999999999941,179.20174,2015-01-01 00:29:52,bin1792,35,True +CTSPillarNetworkA,1793,1793,1793,1974-11-29,179.2999999999941,179.30174,2015-01-01 00:29:53,bin1793,75,True +CTSPillarNetworkA,1794,1794,1794,1974-11-30,179.3999999999941,179.40175,2015-01-01 00:29:54,bin1794,35,True +CTSPillarNetworkA,1795,1795,1795,1974-12-01,179.4999999999941,179.50175,2015-01-01 00:29:55,bin1795,75,True +CTSPillarNetworkA,1796,1796,1796,1974-12-02,179.59999999999408,179.60176,2015-01-01 00:29:56,bin1796,35,True +CTSPillarNetworkA,1797,1797,1797,1974-12-03,179.69999999999408,179.70177,2015-01-01 00:29:57,bin1797,75,True +CTSPillarNetworkA,1798,1798,1798,1974-12-04,179.79999999999407,179.80177,2015-01-01 00:29:58,bin1798,35,True +CTSPillarNetworkA,1799,1799,1799,1974-12-05,179.89999999999407,179.90178,2015-01-01 00:29:59,bin1799,75,True +CTSPillarNetworkA,1800,1800,1800,1974-12-06,179.99999999999406,180.00179,2015-01-01 00:30:00,bin1800,35,True +CTSPillarNetworkA,1801,1801,1801,1974-12-07,180.09999999999405,180.10179,2015-01-01 00:30:01,bin1801,75,True +CTSPillarNetworkA,1802,1802,1802,1974-12-08,180.19999999999405,180.2018,2015-01-01 00:30:02,bin1802,35,True +CTSPillarNetworkA,1803,1803,1803,1974-12-09,180.29999999999404,180.3018,2015-01-01 00:30:03,bin1803,75,True +CTSPillarNetworkA,1804,1804,1804,1974-12-10,180.39999999999404,180.40181,2015-01-01 00:30:04,bin1804,35,True +CTSPillarNetworkA,1805,1805,1805,1974-12-11,180.49999999999403,180.50182,2015-01-01 00:30:05,bin1805,75,True +CTSPillarNetworkA,1806,1806,1806,1974-12-12,180.59999999999403,180.60182,2015-01-01 00:30:06,bin1806,35,True +CTSPillarNetworkA,1807,1807,1807,1974-12-13,180.69999999999402,180.70183,2015-01-01 00:30:07,bin1807,75,True +CTSPillarNetworkA,1808,1808,1808,1974-12-14,180.79999999999401,180.80183,2015-01-01 00:30:08,bin1808,35,True +CTSPillarNetworkA,1809,1809,1809,1974-12-15,180.899999999994,180.90184,2015-01-01 00:30:09,bin1809,75,True +CTSPillarNetworkA,1810,1810,1810,1974-12-16,180.999999999994,181.00185,2015-01-01 00:30:10,bin1810,35,True +CTSPillarNetworkA,1811,1811,1811,1974-12-17,181.099999999994,181.10185,2015-01-01 00:30:11,bin1811,75,True +CTSPillarNetworkA,1812,1812,1812,1974-12-18,181.199999999994,181.20186,2015-01-01 00:30:12,bin1812,35,True +CTSPillarNetworkA,1813,1813,1813,1974-12-19,181.299999999994,181.30186,2015-01-01 00:30:13,bin1813,75,True +CTSPillarNetworkA,1814,1814,1814,1974-12-20,181.39999999999398,181.40187,2015-01-01 00:30:14,bin1814,35,True +CTSPillarNetworkA,1815,1815,1815,1974-12-21,181.49999999999397,181.50188,2015-01-01 00:30:15,bin1815,75,True +CTSPillarNetworkA,1816,1816,1816,1974-12-22,181.59999999999397,181.60188,2015-01-01 00:30:16,bin1816,35,True +CTSPillarNetworkA,1817,1817,1817,1974-12-23,181.69999999999396,181.70189,2015-01-01 00:30:17,bin1817,75,True +CTSPillarNetworkA,1818,1818,1818,1974-12-24,181.79999999999396,181.8019,2015-01-01 00:30:18,bin1818,35,True +CTSPillarNetworkA,1819,1819,1819,1974-12-25,181.89999999999395,181.9019,2015-01-01 00:30:19,bin1819,75,True +CTSPillarNetworkA,1820,1820,1820,1974-12-26,181.99999999999395,182.0019,2015-01-01 00:30:20,bin1820,35,True +CTSPillarNetworkA,1821,1821,1821,1974-12-27,182.09999999999394,182.10191,2015-01-01 00:30:21,bin1821,75,True +CTSPillarNetworkA,1822,1822,1822,1974-12-28,182.19999999999393,182.20192,2015-01-01 00:30:22,bin1822,35,True +CTSPillarNetworkA,1823,1823,1823,1974-12-29,182.29999999999393,182.30193,2015-01-01 00:30:23,bin1823,75,True +CTSPillarNetworkA,1824,1824,1824,1974-12-30,182.39999999999392,182.40193,2015-01-01 00:30:24,bin1824,35,True +CTSPillarNetworkA,1825,1825,1825,1974-12-31,182.49999999999392,182.50194,2015-01-01 00:30:25,bin1825,75,True +CTSPillarNetworkA,1826,1826,1826,1975-01-01,182.5999999999939,182.60194,2015-01-01 00:30:26,bin1826,35,True +CTSPillarNetworkA,1827,1827,1827,1975-01-02,182.6999999999939,182.70195,2015-01-01 00:30:27,bin1827,75,True +CTSPillarNetworkA,1828,1828,1828,1975-01-03,182.7999999999939,182.80196,2015-01-01 00:30:28,bin1828,35,True +CTSPillarNetworkA,1829,1829,1829,1975-01-04,182.8999999999939,182.90196,2015-01-01 00:30:29,bin1829,75,True +CTSPillarNetworkA,1830,1830,1830,1975-01-05,182.9999999999939,183.00197,2015-01-01 00:30:30,bin1830,35,True +CTSPillarNetworkA,1831,1831,1831,1975-01-06,183.09999999999388,183.10197,2015-01-01 00:30:31,bin1831,75,True +CTSPillarNetworkA,1832,1832,1832,1975-01-07,183.19999999999388,183.20198,2015-01-01 00:30:32,bin1832,35,True +CTSPillarNetworkA,1833,1833,1833,1975-01-08,183.29999999999387,183.30199,2015-01-01 00:30:33,bin1833,75,True +CTSPillarNetworkA,1834,1834,1834,1975-01-09,183.39999999999387,183.402,2015-01-01 00:30:34,bin1834,35,True +CTSPillarNetworkA,1835,1835,1835,1975-01-10,183.49999999999386,183.502,2015-01-01 00:30:35,bin1835,75,True +CTSPillarNetworkA,1836,1836,1836,1975-01-11,183.59999999999386,183.602,2015-01-01 00:30:36,bin1836,35,True +CTSPillarNetworkA,1837,1837,1837,1975-01-12,183.69999999999385,183.70201,2015-01-01 00:30:37,bin1837,75,True +CTSPillarNetworkA,1838,1838,1838,1975-01-13,183.79999999999384,183.80202,2015-01-01 00:30:38,bin1838,35,True +CTSPillarNetworkA,1839,1839,1839,1975-01-14,183.89999999999384,183.90202,2015-01-01 00:30:39,bin1839,75,True +CTSPillarNetworkA,1840,1840,1840,1975-01-15,183.99999999999383,184.00203,2015-01-01 00:30:40,bin1840,35,True +CTSPillarNetworkA,1841,1841,1841,1975-01-16,184.09999999999383,184.10204,2015-01-01 00:30:41,bin1841,75,True +CTSPillarNetworkA,1842,1842,1842,1975-01-17,184.19999999999382,184.20204,2015-01-01 00:30:42,bin1842,35,True +CTSPillarNetworkA,1843,1843,1843,1975-01-18,184.29999999999382,184.30205,2015-01-01 00:30:43,bin1843,75,True +CTSPillarNetworkA,1844,1844,1844,1975-01-19,184.3999999999938,184.40205,2015-01-01 00:30:44,bin1844,35,True +CTSPillarNetworkA,1845,1845,1845,1975-01-20,184.4999999999938,184.50206,2015-01-01 00:30:45,bin1845,75,True +CTSPillarNetworkA,1846,1846,1846,1975-01-21,184.5999999999938,184.60207,2015-01-01 00:30:46,bin1846,35,True +CTSPillarNetworkA,1847,1847,1847,1975-01-22,184.6999999999938,184.70207,2015-01-01 00:30:47,bin1847,75,True +CTSPillarNetworkA,1848,1848,1848,1975-01-23,184.7999999999938,184.80208,2015-01-01 00:30:48,bin1848,35,True +CTSPillarNetworkA,1849,1849,1849,1975-01-24,184.89999999999378,184.90208,2015-01-01 00:30:49,bin1849,75,True +CTSPillarNetworkA,1850,1850,1850,1975-01-25,184.99999999999378,185.00209,2015-01-01 00:30:50,bin1850,35,True +CTSPillarNetworkA,1851,1851,1851,1975-01-26,185.09999999999377,185.1021,2015-01-01 00:30:51,bin1851,75,True +CTSPillarNetworkA,1852,1852,1852,1975-01-27,185.19999999999376,185.2021,2015-01-01 00:30:52,bin1852,35,True +CTSPillarNetworkA,1853,1853,1853,1975-01-28,185.29999999999376,185.30211,2015-01-01 00:30:53,bin1853,75,True +CTSPillarNetworkA,1854,1854,1854,1975-01-29,185.39999999999375,185.40211,2015-01-01 00:30:54,bin1854,35,True +CTSPillarNetworkA,1855,1855,1855,1975-01-30,185.49999999999375,185.50212,2015-01-01 00:30:55,bin1855,75,True +CTSPillarNetworkA,1856,1856,1856,1975-01-31,185.59999999999374,185.60213,2015-01-01 00:30:56,bin1856,35,True +CTSPillarNetworkA,1857,1857,1857,1975-02-01,185.69999999999374,185.70213,2015-01-01 00:30:57,bin1857,75,True +CTSPillarNetworkA,1858,1858,1858,1975-02-02,185.79999999999373,185.80214,2015-01-01 00:30:58,bin1858,35,True +CTSPillarNetworkA,1859,1859,1859,1975-02-03,185.89999999999372,185.90215,2015-01-01 00:30:59,bin1859,75,True +CTSPillarNetworkA,1860,1860,1860,1975-02-04,185.99999999999372,186.00215,2015-01-01 00:31:00,bin1860,35,True +CTSPillarNetworkA,1861,1861,1861,1975-02-05,186.0999999999937,186.10216,2015-01-01 00:31:01,bin1861,75,True +CTSPillarNetworkA,1862,1862,1862,1975-02-06,186.1999999999937,186.20216,2015-01-01 00:31:02,bin1862,35,True +CTSPillarNetworkA,1863,1863,1863,1975-02-07,186.2999999999937,186.30217,2015-01-01 00:31:03,bin1863,75,True +CTSPillarNetworkA,1864,1864,1864,1975-02-08,186.3999999999937,186.40218,2015-01-01 00:31:04,bin1864,35,True +CTSPillarNetworkA,1865,1865,1865,1975-02-09,186.4999999999937,186.50218,2015-01-01 00:31:05,bin1865,75,True +CTSPillarNetworkA,1866,1866,1866,1975-02-10,186.59999999999368,186.60219,2015-01-01 00:31:06,bin1866,35,True +CTSPillarNetworkA,1867,1867,1867,1975-02-11,186.69999999999368,186.7022,2015-01-01 00:31:07,bin1867,75,True +CTSPillarNetworkA,1868,1868,1868,1975-02-12,186.79999999999367,186.8022,2015-01-01 00:31:08,bin1868,35,True +CTSPillarNetworkA,1869,1869,1869,1975-02-13,186.89999999999367,186.9022,2015-01-01 00:31:09,bin1869,75,True +CTSPillarNetworkA,1870,1870,1870,1975-02-14,186.99999999999366,187.00221,2015-01-01 00:31:10,bin1870,35,True +CTSPillarNetworkA,1871,1871,1871,1975-02-15,187.09999999999366,187.10222,2015-01-01 00:31:11,bin1871,75,True +CTSPillarNetworkA,1872,1872,1872,1975-02-16,187.19999999999365,187.20222,2015-01-01 00:31:12,bin1872,35,True +CTSPillarNetworkA,1873,1873,1873,1975-02-17,187.29999999999364,187.30223,2015-01-01 00:31:13,bin1873,75,True +CTSPillarNetworkA,1874,1874,1874,1975-02-18,187.39999999999364,187.40224,2015-01-01 00:31:14,bin1874,35,True +CTSPillarNetworkA,1875,1875,1875,1975-02-19,187.49999999999363,187.50224,2015-01-01 00:31:15,bin1875,75,True +CTSPillarNetworkA,1876,1876,1876,1975-02-20,187.59999999999363,187.60225,2015-01-01 00:31:16,bin1876,35,True +CTSPillarNetworkA,1877,1877,1877,1975-02-21,187.69999999999362,187.70226,2015-01-01 00:31:17,bin1877,75,True +CTSPillarNetworkA,1878,1878,1878,1975-02-22,187.79999999999362,187.80226,2015-01-01 00:31:18,bin1878,35,True +CTSPillarNetworkA,1879,1879,1879,1975-02-23,187.8999999999936,187.90227,2015-01-01 00:31:19,bin1879,75,True +CTSPillarNetworkA,1880,1880,1880,1975-02-24,187.9999999999936,188.00227,2015-01-01 00:31:20,bin1880,35,True +CTSPillarNetworkA,1881,1881,1881,1975-02-25,188.0999999999936,188.10228,2015-01-01 00:31:21,bin1881,75,True +CTSPillarNetworkA,1882,1882,1882,1975-02-26,188.1999999999936,188.20229,2015-01-01 00:31:22,bin1882,35,True +CTSPillarNetworkA,1883,1883,1883,1975-02-27,188.2999999999936,188.30229,2015-01-01 00:31:23,bin1883,75,True +CTSPillarNetworkA,1884,1884,1884,1975-02-28,188.39999999999358,188.4023,2015-01-01 00:31:24,bin1884,35,True +CTSPillarNetworkA,1885,1885,1885,1975-03-01,188.49999999999358,188.5023,2015-01-01 00:31:25,bin1885,75,True +CTSPillarNetworkA,1886,1886,1886,1975-03-02,188.59999999999357,188.60231,2015-01-01 00:31:26,bin1886,35,True +CTSPillarNetworkA,1887,1887,1887,1975-03-03,188.69999999999357,188.70232,2015-01-01 00:31:27,bin1887,75,True +CTSPillarNetworkA,1888,1888,1888,1975-03-04,188.79999999999356,188.80232,2015-01-01 00:31:28,bin1888,35,True +CTSPillarNetworkA,1889,1889,1889,1975-03-05,188.89999999999355,188.90233,2015-01-01 00:31:29,bin1889,75,True +CTSPillarNetworkA,1890,1890,1890,1975-03-06,188.99999999999355,189.00233,2015-01-01 00:31:30,bin1890,35,True +CTSPillarNetworkA,1891,1891,1891,1975-03-07,189.09999999999354,189.10234,2015-01-01 00:31:31,bin1891,75,True +CTSPillarNetworkA,1892,1892,1892,1975-03-08,189.19999999999354,189.20235,2015-01-01 00:31:32,bin1892,35,True +CTSPillarNetworkA,1893,1893,1893,1975-03-09,189.29999999999353,189.30235,2015-01-01 00:31:33,bin1893,75,True +CTSPillarNetworkA,1894,1894,1894,1975-03-10,189.39999999999353,189.40236,2015-01-01 00:31:34,bin1894,35,True +CTSPillarNetworkA,1895,1895,1895,1975-03-11,189.49999999999352,189.50237,2015-01-01 00:31:35,bin1895,75,True +CTSPillarNetworkA,1896,1896,1896,1975-03-12,189.5999999999935,189.60237,2015-01-01 00:31:36,bin1896,35,True +CTSPillarNetworkA,1897,1897,1897,1975-03-13,189.6999999999935,189.70238,2015-01-01 00:31:37,bin1897,75,True +CTSPillarNetworkA,1898,1898,1898,1975-03-14,189.7999999999935,189.80238,2015-01-01 00:31:38,bin1898,35,True +CTSPillarNetworkA,1899,1899,1899,1975-03-15,189.8999999999935,189.90239,2015-01-01 00:31:39,bin1899,75,True +CTSPillarNetworkA,1900,1900,1900,1975-03-16,189.9999999999935,190.0024,2015-01-01 00:31:40,bin1900,35,True +CTSPillarNetworkA,1901,1901,1901,1975-03-17,190.09999999999349,190.1024,2015-01-01 00:31:41,bin1901,75,True +CTSPillarNetworkA,1902,1902,1902,1975-03-18,190.19999999999348,190.20241,2015-01-01 00:31:42,bin1902,35,True +CTSPillarNetworkA,1903,1903,1903,1975-03-19,190.29999999999347,190.30241,2015-01-01 00:31:43,bin1903,75,True +CTSPillarNetworkA,1904,1904,1904,1975-03-20,190.39999999999347,190.40242,2015-01-01 00:31:44,bin1904,35,True +CTSPillarNetworkA,1905,1905,1905,1975-03-21,190.49999999999346,190.50243,2015-01-01 00:31:45,bin1905,75,True +CTSPillarNetworkA,1906,1906,1906,1975-03-22,190.59999999999346,190.60243,2015-01-01 00:31:46,bin1906,35,True +CTSPillarNetworkA,1907,1907,1907,1975-03-23,190.69999999999345,190.70244,2015-01-01 00:31:47,bin1907,75,True +CTSPillarNetworkA,1908,1908,1908,1975-03-24,190.79999999999345,190.80244,2015-01-01 00:31:48,bin1908,35,True +CTSPillarNetworkA,1909,1909,1909,1975-03-25,190.89999999999344,190.90245,2015-01-01 00:31:49,bin1909,75,True +CTSPillarNetworkA,1910,1910,1910,1975-03-26,190.99999999999343,191.00246,2015-01-01 00:31:50,bin1910,35,True +CTSPillarNetworkA,1911,1911,1911,1975-03-27,191.09999999999343,191.10246,2015-01-01 00:31:51,bin1911,75,True +CTSPillarNetworkA,1912,1912,1912,1975-03-28,191.19999999999342,191.20247,2015-01-01 00:31:52,bin1912,35,True +CTSPillarNetworkA,1913,1913,1913,1975-03-29,191.29999999999342,191.30247,2015-01-01 00:31:53,bin1913,75,True +CTSPillarNetworkA,1914,1914,1914,1975-03-30,191.3999999999934,191.40248,2015-01-01 00:31:54,bin1914,35,True +CTSPillarNetworkA,1915,1915,1915,1975-03-31,191.4999999999934,191.50249,2015-01-01 00:31:55,bin1915,75,True +CTSPillarNetworkA,1916,1916,1916,1975-04-01,191.5999999999934,191.6025,2015-01-01 00:31:56,bin1916,35,True +CTSPillarNetworkA,1917,1917,1917,1975-04-02,191.6999999999934,191.7025,2015-01-01 00:31:57,bin1917,75,True +CTSPillarNetworkA,1918,1918,1918,1975-04-03,191.7999999999934,191.8025,2015-01-01 00:31:58,bin1918,35,True +CTSPillarNetworkA,1919,1919,1919,1975-04-04,191.89999999999338,191.90251,2015-01-01 00:31:59,bin1919,75,True +CTSPillarNetworkA,1920,1920,1920,1975-04-05,191.99999999999338,192.00252,2015-01-01 00:32:00,bin1920,35,True +CTSPillarNetworkA,1921,1921,1921,1975-04-06,192.09999999999337,192.10252,2015-01-01 00:32:01,bin1921,75,True +CTSPillarNetworkA,1922,1922,1922,1975-04-07,192.19999999999337,192.20253,2015-01-01 00:32:02,bin1922,35,True +CTSPillarNetworkA,1923,1923,1923,1975-04-08,192.29999999999336,192.30254,2015-01-01 00:32:03,bin1923,75,True +CTSPillarNetworkA,1924,1924,1924,1975-04-09,192.39999999999336,192.40254,2015-01-01 00:32:04,bin1924,35,True +CTSPillarNetworkA,1925,1925,1925,1975-04-10,192.49999999999335,192.50255,2015-01-01 00:32:05,bin1925,75,True +CTSPillarNetworkA,1926,1926,1926,1975-04-11,192.59999999999334,192.60255,2015-01-01 00:32:06,bin1926,35,True +CTSPillarNetworkA,1927,1927,1927,1975-04-12,192.69999999999334,192.70256,2015-01-01 00:32:07,bin1927,75,True +CTSPillarNetworkA,1928,1928,1928,1975-04-13,192.79999999999333,192.80257,2015-01-01 00:32:08,bin1928,35,True +CTSPillarNetworkA,1929,1929,1929,1975-04-14,192.89999999999333,192.90257,2015-01-01 00:32:09,bin1929,75,True +CTSPillarNetworkA,1930,1930,1930,1975-04-15,192.99999999999332,193.00258,2015-01-01 00:32:10,bin1930,35,True +CTSPillarNetworkA,1931,1931,1931,1975-04-16,193.09999999999332,193.10258,2015-01-01 00:32:11,bin1931,75,True +CTSPillarNetworkA,1932,1932,1932,1975-04-17,193.1999999999933,193.20259,2015-01-01 00:32:12,bin1932,35,True +CTSPillarNetworkA,1933,1933,1933,1975-04-18,193.2999999999933,193.3026,2015-01-01 00:32:13,bin1933,75,True +CTSPillarNetworkA,1934,1934,1934,1975-04-19,193.3999999999933,193.4026,2015-01-01 00:32:14,bin1934,35,True +CTSPillarNetworkA,1935,1935,1935,1975-04-20,193.4999999999933,193.50261,2015-01-01 00:32:15,bin1935,75,True +CTSPillarNetworkA,1936,1936,1936,1975-04-21,193.5999999999933,193.60262,2015-01-01 00:32:16,bin1936,35,True +CTSPillarNetworkA,1937,1937,1937,1975-04-22,193.69999999999328,193.70262,2015-01-01 00:32:17,bin1937,75,True +CTSPillarNetworkA,1938,1938,1938,1975-04-23,193.79999999999328,193.80263,2015-01-01 00:32:18,bin1938,35,True +CTSPillarNetworkA,1939,1939,1939,1975-04-24,193.89999999999327,193.90263,2015-01-01 00:32:19,bin1939,75,True +CTSPillarNetworkA,1940,1940,1940,1975-04-25,193.99999999999326,194.00264,2015-01-01 00:32:20,bin1940,35,True +CTSPillarNetworkA,1941,1941,1941,1975-04-26,194.09999999999326,194.10265,2015-01-01 00:32:21,bin1941,75,True +CTSPillarNetworkA,1942,1942,1942,1975-04-27,194.19999999999325,194.20265,2015-01-01 00:32:22,bin1942,35,True +CTSPillarNetworkA,1943,1943,1943,1975-04-28,194.29999999999325,194.30266,2015-01-01 00:32:23,bin1943,75,True +CTSPillarNetworkA,1944,1944,1944,1975-04-29,194.39999999999324,194.40266,2015-01-01 00:32:24,bin1944,35,True +CTSPillarNetworkA,1945,1945,1945,1975-04-30,194.49999999999324,194.50267,2015-01-01 00:32:25,bin1945,75,True +CTSPillarNetworkA,1946,1946,1946,1975-05-01,194.59999999999323,194.60268,2015-01-01 00:32:26,bin1946,35,True +CTSPillarNetworkA,1947,1947,1947,1975-05-02,194.69999999999322,194.70268,2015-01-01 00:32:27,bin1947,75,True +CTSPillarNetworkA,1948,1948,1948,1975-05-03,194.79999999999322,194.80269,2015-01-01 00:32:28,bin1948,35,True +CTSPillarNetworkA,1949,1949,1949,1975-05-04,194.8999999999932,194.9027,2015-01-01 00:32:29,bin1949,75,True +CTSPillarNetworkA,1950,1950,1950,1975-05-05,194.9999999999932,195.0027,2015-01-01 00:32:30,bin1950,35,True +CTSPillarNetworkA,1951,1951,1951,1975-05-06,195.0999999999932,195.1027,2015-01-01 00:32:31,bin1951,75,True +CTSPillarNetworkA,1952,1952,1952,1975-05-07,195.1999999999932,195.20271,2015-01-01 00:32:32,bin1952,35,True +CTSPillarNetworkA,1953,1953,1953,1975-05-08,195.2999999999932,195.30272,2015-01-01 00:32:33,bin1953,75,True +CTSPillarNetworkA,1954,1954,1954,1975-05-09,195.39999999999318,195.40273,2015-01-01 00:32:34,bin1954,35,True +CTSPillarNetworkA,1955,1955,1955,1975-05-10,195.49999999999318,195.50273,2015-01-01 00:32:35,bin1955,75,True +CTSPillarNetworkA,1956,1956,1956,1975-05-11,195.59999999999317,195.60274,2015-01-01 00:32:36,bin1956,35,True +CTSPillarNetworkA,1957,1957,1957,1975-05-12,195.69999999999317,195.70274,2015-01-01 00:32:37,bin1957,75,True +CTSPillarNetworkA,1958,1958,1958,1975-05-13,195.79999999999316,195.80275,2015-01-01 00:32:38,bin1958,35,True +CTSPillarNetworkA,1959,1959,1959,1975-05-14,195.89999999999316,195.90276,2015-01-01 00:32:39,bin1959,75,True +CTSPillarNetworkA,1960,1960,1960,1975-05-15,195.99999999999315,196.00276,2015-01-01 00:32:40,bin1960,35,True +CTSPillarNetworkA,1961,1961,1961,1975-05-16,196.09999999999314,196.10277,2015-01-01 00:32:41,bin1961,75,True +CTSPillarNetworkA,1962,1962,1962,1975-05-17,196.19999999999314,196.20277,2015-01-01 00:32:42,bin1962,35,True +CTSPillarNetworkA,1963,1963,1963,1975-05-18,196.29999999999313,196.30278,2015-01-01 00:32:43,bin1963,75,True +CTSPillarNetworkA,1964,1964,1964,1975-05-19,196.39999999999313,196.40279,2015-01-01 00:32:44,bin1964,35,True +CTSPillarNetworkA,1965,1965,1965,1975-05-20,196.49999999999312,196.50279,2015-01-01 00:32:45,bin1965,75,True +CTSPillarNetworkA,1966,1966,1966,1975-05-21,196.59999999999312,196.6028,2015-01-01 00:32:46,bin1966,35,True +CTSPillarNetworkA,1967,1967,1967,1975-05-22,196.6999999999931,196.7028,2015-01-01 00:32:47,bin1967,75,True +CTSPillarNetworkA,1968,1968,1968,1975-05-23,196.7999999999931,196.80281,2015-01-01 00:32:48,bin1968,35,True +CTSPillarNetworkA,1969,1969,1969,1975-05-24,196.8999999999931,196.90282,2015-01-01 00:32:49,bin1969,75,True +CTSPillarNetworkA,1970,1970,1970,1975-05-25,196.9999999999931,197.00282,2015-01-01 00:32:50,bin1970,35,True +CTSPillarNetworkA,1971,1971,1971,1975-05-26,197.0999999999931,197.10283,2015-01-01 00:32:51,bin1971,75,True +CTSPillarNetworkA,1972,1972,1972,1975-05-27,197.19999999999308,197.20284,2015-01-01 00:32:52,bin1972,35,True +CTSPillarNetworkA,1973,1973,1973,1975-05-28,197.29999999999308,197.30284,2015-01-01 00:32:53,bin1973,75,True +CTSPillarNetworkA,1974,1974,1974,1975-05-29,197.39999999999307,197.40285,2015-01-01 00:32:54,bin1974,35,True +CTSPillarNetworkA,1975,1975,1975,1975-05-30,197.49999999999307,197.50285,2015-01-01 00:32:55,bin1975,75,True +CTSPillarNetworkA,1976,1976,1976,1975-05-31,197.59999999999306,197.60286,2015-01-01 00:32:56,bin1976,35,True +CTSPillarNetworkA,1977,1977,1977,1975-06-01,197.69999999999305,197.70287,2015-01-01 00:32:57,bin1977,75,True +CTSPillarNetworkA,1978,1978,1978,1975-06-02,197.79999999999305,197.80287,2015-01-01 00:32:58,bin1978,35,True +CTSPillarNetworkA,1979,1979,1979,1975-06-03,197.89999999999304,197.90288,2015-01-01 00:32:59,bin1979,75,True +CTSPillarNetworkA,1980,1980,1980,1975-06-04,197.99999999999304,198.00288,2015-01-01 00:33:00,bin1980,35,True +CTSPillarNetworkA,1981,1981,1981,1975-06-05,198.09999999999303,198.10289,2015-01-01 00:33:01,bin1981,75,True +CTSPillarNetworkA,1982,1982,1982,1975-06-06,198.19999999999303,198.2029,2015-01-01 00:33:02,bin1982,35,True +CTSPillarNetworkA,1983,1983,1983,1975-06-07,198.29999999999302,198.3029,2015-01-01 00:33:03,bin1983,75,True +CTSPillarNetworkA,1984,1984,1984,1975-06-08,198.399999999993,198.40291,2015-01-01 00:33:04,bin1984,35,True +CTSPillarNetworkA,1985,1985,1985,1975-06-09,198.499999999993,198.50291,2015-01-01 00:33:05,bin1985,75,True +CTSPillarNetworkA,1986,1986,1986,1975-06-10,198.599999999993,198.60292,2015-01-01 00:33:06,bin1986,35,True +CTSPillarNetworkA,1987,1987,1987,1975-06-11,198.699999999993,198.70293,2015-01-01 00:33:07,bin1987,75,True +CTSPillarNetworkA,1988,1988,1988,1975-06-12,198.799999999993,198.80293,2015-01-01 00:33:08,bin1988,35,True +CTSPillarNetworkA,1989,1989,1989,1975-06-13,198.89999999999299,198.90294,2015-01-01 00:33:09,bin1989,75,True +CTSPillarNetworkA,1990,1990,1990,1975-06-14,198.99999999999298,199.00294,2015-01-01 00:33:10,bin1990,35,True +CTSPillarNetworkA,1991,1991,1991,1975-06-15,199.09999999999297,199.10295,2015-01-01 00:33:11,bin1991,75,True +CTSPillarNetworkA,1992,1992,1992,1975-06-16,199.19999999999297,199.20296,2015-01-01 00:33:12,bin1992,35,True +CTSPillarNetworkA,1993,1993,1993,1975-06-17,199.29999999999296,199.30296,2015-01-01 00:33:13,bin1993,75,True +CTSPillarNetworkA,1994,1994,1994,1975-06-18,199.39999999999296,199.40297,2015-01-01 00:33:14,bin1994,35,True +CTSPillarNetworkA,1995,1995,1995,1975-06-19,199.49999999999295,199.50298,2015-01-01 00:33:15,bin1995,75,True +CTSPillarNetworkA,1996,1996,1996,1975-06-20,199.59999999999295,199.60298,2015-01-01 00:33:16,bin1996,35,True +CTSPillarNetworkA,1997,1997,1997,1975-06-21,199.69999999999294,199.70299,2015-01-01 00:33:17,bin1997,75,True +CTSPillarNetworkA,1998,1998,1998,1975-06-22,199.79999999999293,199.803,2015-01-01 00:33:18,bin1998,35,True +CTSPillarNetworkA,1999,1999,1999,1975-06-23,199.89999999999293,199.903,2015-01-01 00:33:19,bin1999,75,True +CTSPillarNetworkA,2000,2000,2000,1975-06-24,199.99999999999292,200.003,2015-01-01 00:33:20,bin2000,35,True +CTSPillarNetworkA,2001,2001,2001,1975-06-25,200.09999999999292,200.10301,2015-01-01 00:33:21,bin2001,75,True +CTSPillarNetworkA,2002,2002,2002,1975-06-26,200.1999999999929,200.20302,2015-01-01 00:33:22,bin2002,35,True +CTSPillarNetworkA,2003,2003,2003,1975-06-27,200.2999999999929,200.30302,2015-01-01 00:33:23,bin2003,75,True +CTSPillarNetworkA,2004,2004,2004,1975-06-28,200.3999999999929,200.40303,2015-01-01 00:33:24,bin2004,35,True +CTSPillarNetworkA,2005,2005,2005,1975-06-29,200.4999999999929,200.50304,2015-01-01 00:33:25,bin2005,75,True +CTSPillarNetworkA,2006,2006,2006,1975-06-30,200.5999999999929,200.60304,2015-01-01 00:33:26,bin2006,35,True +CTSPillarNetworkA,2007,2007,2007,1975-07-01,200.69999999999288,200.70305,2015-01-01 00:33:27,bin2007,75,True +CTSPillarNetworkA,2008,2008,2008,1975-07-02,200.79999999999288,200.80305,2015-01-01 00:33:28,bin2008,35,True +CTSPillarNetworkA,2009,2009,2009,1975-07-03,200.89999999999287,200.90306,2015-01-01 00:33:29,bin2009,75,True +CTSPillarNetworkA,2010,2010,2010,1975-07-04,200.99999999999287,201.00307,2015-01-01 00:33:30,bin2010,35,True +CTSPillarNetworkA,2011,2011,2011,1975-07-05,201.09999999999286,201.10307,2015-01-01 00:33:31,bin2011,75,True +CTSPillarNetworkA,2012,2012,2012,1975-07-06,201.19999999999285,201.20308,2015-01-01 00:33:32,bin2012,35,True +CTSPillarNetworkA,2013,2013,2013,1975-07-07,201.29999999999285,201.30309,2015-01-01 00:33:33,bin2013,75,True +CTSPillarNetworkA,2014,2014,2014,1975-07-08,201.39999999999284,201.40309,2015-01-01 00:33:34,bin2014,35,True +CTSPillarNetworkA,2015,2015,2015,1975-07-09,201.49999999999284,201.5031,2015-01-01 00:33:35,bin2015,75,True +CTSPillarNetworkA,2016,2016,2016,1975-07-10,201.59999999999283,201.6031,2015-01-01 00:33:36,bin2016,35,True +CTSPillarNetworkA,2017,2017,2017,1975-07-11,201.69999999999283,201.70311,2015-01-01 00:33:37,bin2017,75,True +CTSPillarNetworkA,2018,2018,2018,1975-07-12,201.79999999999282,201.80312,2015-01-01 00:33:38,bin2018,35,True +CTSPillarNetworkA,2019,2019,2019,1975-07-13,201.89999999999281,201.90312,2015-01-01 00:33:39,bin2019,75,True +CTSPillarNetworkA,2020,2020,2020,1975-07-14,201.9999999999928,202.00313,2015-01-01 00:33:40,bin2020,35,True +CTSPillarNetworkA,2021,2021,2021,1975-07-15,202.0999999999928,202.10313,2015-01-01 00:33:41,bin2021,75,True +CTSPillarNetworkA,2022,2022,2022,1975-07-16,202.1999999999928,202.20314,2015-01-01 00:33:42,bin2022,35,True +CTSPillarNetworkA,2023,2023,2023,1975-07-17,202.2999999999928,202.30315,2015-01-01 00:33:43,bin2023,75,True +CTSPillarNetworkA,2024,2024,2024,1975-07-18,202.3999999999928,202.40315,2015-01-01 00:33:44,bin2024,35,True +CTSPillarNetworkA,2025,2025,2025,1975-07-19,202.49999999999278,202.50316,2015-01-01 00:33:45,bin2025,75,True +CTSPillarNetworkA,2026,2026,2026,1975-07-20,202.59999999999278,202.60316,2015-01-01 00:33:46,bin2026,35,True +CTSPillarNetworkA,2027,2027,2027,1975-07-21,202.69999999999277,202.70317,2015-01-01 00:33:47,bin2027,75,True +CTSPillarNetworkA,2028,2028,2028,1975-07-22,202.79999999999276,202.80318,2015-01-01 00:33:48,bin2028,35,True +CTSPillarNetworkA,2029,2029,2029,1975-07-23,202.89999999999276,202.90318,2015-01-01 00:33:49,bin2029,75,True +CTSPillarNetworkA,2030,2030,2030,1975-07-24,202.99999999999275,203.00319,2015-01-01 00:33:50,bin2030,35,True +CTSPillarNetworkA,2031,2031,2031,1975-07-25,203.09999999999275,203.1032,2015-01-01 00:33:51,bin2031,75,True +CTSPillarNetworkA,2032,2032,2032,1975-07-26,203.19999999999274,203.2032,2015-01-01 00:33:52,bin2032,35,True +CTSPillarNetworkA,2033,2033,2033,1975-07-27,203.29999999999274,203.3032,2015-01-01 00:33:53,bin2033,75,True +CTSPillarNetworkA,2034,2034,2034,1975-07-28,203.39999999999273,203.40321,2015-01-01 00:33:54,bin2034,35,True +CTSPillarNetworkA,2035,2035,2035,1975-07-29,203.49999999999272,203.50322,2015-01-01 00:33:55,bin2035,75,True +CTSPillarNetworkA,2036,2036,2036,1975-07-30,203.59999999999272,203.60323,2015-01-01 00:33:56,bin2036,35,True +CTSPillarNetworkA,2037,2037,2037,1975-07-31,203.6999999999927,203.70323,2015-01-01 00:33:57,bin2037,75,True +CTSPillarNetworkA,2038,2038,2038,1975-08-01,203.7999999999927,203.80324,2015-01-01 00:33:58,bin2038,35,True +CTSPillarNetworkA,2039,2039,2039,1975-08-02,203.8999999999927,203.90324,2015-01-01 00:33:59,bin2039,75,True +CTSPillarNetworkA,2040,2040,2040,1975-08-03,203.9999999999927,204.00325,2015-01-01 00:34:00,bin2040,35,True +CTSPillarNetworkA,2041,2041,2041,1975-08-04,204.0999999999927,204.10326,2015-01-01 00:34:01,bin2041,75,True +CTSPillarNetworkA,2042,2042,2042,1975-08-05,204.19999999999268,204.20326,2015-01-01 00:34:02,bin2042,35,True +CTSPillarNetworkA,2043,2043,2043,1975-08-06,204.29999999999268,204.30327,2015-01-01 00:34:03,bin2043,75,True +CTSPillarNetworkA,2044,2044,2044,1975-08-07,204.39999999999267,204.40327,2015-01-01 00:34:04,bin2044,35,True +CTSPillarNetworkA,2045,2045,2045,1975-08-08,204.49999999999267,204.50328,2015-01-01 00:34:05,bin2045,75,True +CTSPillarNetworkA,2046,2046,2046,1975-08-09,204.59999999999266,204.60329,2015-01-01 00:34:06,bin2046,35,True +CTSPillarNetworkA,2047,2047,2047,1975-08-10,204.69999999999266,204.7033,2015-01-01 00:34:07,bin2047,75,True +CTSPillarNetworkA,2048,2048,2048,1975-08-11,204.79999999999265,204.8033,2015-01-01 00:34:08,bin2048,35,True +CTSPillarNetworkA,2049,2049,2049,1975-08-12,204.89999999999264,204.9033,2015-01-01 00:34:09,bin2049,75,True +CTSPillarNetworkA,2050,2050,2050,1975-08-13,204.99999999999264,205.00331,2015-01-01 00:34:10,bin2050,35,True +CTSPillarNetworkA,2051,2051,2051,1975-08-14,205.09999999999263,205.10332,2015-01-01 00:34:11,bin2051,75,True +CTSPillarNetworkA,2052,2052,2052,1975-08-15,205.19999999999263,205.20332,2015-01-01 00:34:12,bin2052,35,True +CTSPillarNetworkA,2053,2053,2053,1975-08-16,205.29999999999262,205.30333,2015-01-01 00:34:13,bin2053,75,True +CTSPillarNetworkA,2054,2054,2054,1975-08-17,205.39999999999262,205.40334,2015-01-01 00:34:14,bin2054,35,True +CTSPillarNetworkA,2055,2055,2055,1975-08-18,205.4999999999926,205.50334,2015-01-01 00:34:15,bin2055,75,True +CTSPillarNetworkA,2056,2056,2056,1975-08-19,205.5999999999926,205.60335,2015-01-01 00:34:16,bin2056,35,True +CTSPillarNetworkA,2057,2057,2057,1975-08-20,205.6999999999926,205.70335,2015-01-01 00:34:17,bin2057,75,True +CTSPillarNetworkA,2058,2058,2058,1975-08-21,205.7999999999926,205.80336,2015-01-01 00:34:18,bin2058,35,True +CTSPillarNetworkA,2059,2059,2059,1975-08-22,205.8999999999926,205.90337,2015-01-01 00:34:19,bin2059,75,True +CTSPillarNetworkA,2060,2060,2060,1975-08-23,205.99999999999258,206.00337,2015-01-01 00:34:20,bin2060,35,True +CTSPillarNetworkA,2061,2061,2061,1975-08-24,206.09999999999258,206.10338,2015-01-01 00:34:21,bin2061,75,True +CTSPillarNetworkA,2062,2062,2062,1975-08-25,206.19999999999257,206.20338,2015-01-01 00:34:22,bin2062,35,True +CTSPillarNetworkA,2063,2063,2063,1975-08-26,206.29999999999256,206.30339,2015-01-01 00:34:23,bin2063,75,True +CTSPillarNetworkA,2064,2064,2064,1975-08-27,206.39999999999256,206.4034,2015-01-01 00:34:24,bin2064,35,True +CTSPillarNetworkA,2065,2065,2065,1975-08-28,206.49999999999255,206.5034,2015-01-01 00:34:25,bin2065,75,True +CTSPillarNetworkA,2066,2066,2066,1975-08-29,206.59999999999255,206.60341,2015-01-01 00:34:26,bin2066,35,True +CTSPillarNetworkA,2067,2067,2067,1975-08-30,206.69999999999254,206.70341,2015-01-01 00:34:27,bin2067,75,True +CTSPillarNetworkA,2068,2068,2068,1975-08-31,206.79999999999254,206.80342,2015-01-01 00:34:28,bin2068,35,True +CTSPillarNetworkA,2069,2069,2069,1975-09-01,206.89999999999253,206.90343,2015-01-01 00:34:29,bin2069,75,True +CTSPillarNetworkA,2070,2070,2070,1975-09-02,206.99999999999253,207.00343,2015-01-01 00:34:30,bin2070,35,True +CTSPillarNetworkA,2071,2071,2071,1975-09-03,207.09999999999252,207.10344,2015-01-01 00:34:31,bin2071,75,True +CTSPillarNetworkA,2072,2072,2072,1975-09-04,207.1999999999925,207.20345,2015-01-01 00:34:32,bin2072,35,True +CTSPillarNetworkA,2073,2073,2073,1975-09-05,207.2999999999925,207.30345,2015-01-01 00:34:33,bin2073,75,True +CTSPillarNetworkA,2074,2074,2074,1975-09-06,207.3999999999925,207.40346,2015-01-01 00:34:34,bin2074,35,True +CTSPillarNetworkA,2075,2075,2075,1975-09-07,207.4999999999925,207.50346,2015-01-01 00:34:35,bin2075,75,True +CTSPillarNetworkA,2076,2076,2076,1975-09-08,207.5999999999925,207.60347,2015-01-01 00:34:36,bin2076,35,True +CTSPillarNetworkA,2077,2077,2077,1975-09-09,207.69999999999249,207.70348,2015-01-01 00:34:37,bin2077,75,True +CTSPillarNetworkA,2078,2078,2078,1975-09-10,207.79999999999248,207.80348,2015-01-01 00:34:38,bin2078,35,True +CTSPillarNetworkA,2079,2079,2079,1975-09-11,207.89999999999247,207.90349,2015-01-01 00:34:39,bin2079,75,True +CTSPillarNetworkA,2080,2080,2080,1975-09-12,207.99999999999247,208.0035,2015-01-01 00:34:40,bin2080,35,True +CTSPillarNetworkA,2081,2081,2081,1975-09-13,208.09999999999246,208.1035,2015-01-01 00:34:41,bin2081,75,True +CTSPillarNetworkA,2082,2082,2082,1975-09-14,208.19999999999246,208.2035,2015-01-01 00:34:42,bin2082,35,True +CTSPillarNetworkA,2083,2083,2083,1975-09-15,208.29999999999245,208.30351,2015-01-01 00:34:43,bin2083,75,True +CTSPillarNetworkA,2084,2084,2084,1975-09-16,208.39999999999245,208.40352,2015-01-01 00:34:44,bin2084,35,True +CTSPillarNetworkA,2085,2085,2085,1975-09-17,208.49999999999244,208.50352,2015-01-01 00:34:45,bin2085,75,True +CTSPillarNetworkA,2086,2086,2086,1975-09-18,208.59999999999243,208.60353,2015-01-01 00:34:46,bin2086,35,True +CTSPillarNetworkA,2087,2087,2087,1975-09-19,208.69999999999243,208.70354,2015-01-01 00:34:47,bin2087,75,True +CTSPillarNetworkA,2088,2088,2088,1975-09-20,208.79999999999242,208.80354,2015-01-01 00:34:48,bin2088,35,True +CTSPillarNetworkA,2089,2089,2089,1975-09-21,208.89999999999242,208.90355,2015-01-01 00:34:49,bin2089,75,True +CTSPillarNetworkA,2090,2090,2090,1975-09-22,208.9999999999924,209.00356,2015-01-01 00:34:50,bin2090,35,True +CTSPillarNetworkA,2091,2091,2091,1975-09-23,209.0999999999924,209.10356,2015-01-01 00:34:51,bin2091,75,True +CTSPillarNetworkA,2092,2092,2092,1975-09-24,209.1999999999924,209.20357,2015-01-01 00:34:52,bin2092,35,True +CTSPillarNetworkA,2093,2093,2093,1975-09-25,209.2999999999924,209.30357,2015-01-01 00:34:53,bin2093,75,True +CTSPillarNetworkA,2094,2094,2094,1975-09-26,209.3999999999924,209.40358,2015-01-01 00:34:54,bin2094,35,True +CTSPillarNetworkA,2095,2095,2095,1975-09-27,209.49999999999238,209.50359,2015-01-01 00:34:55,bin2095,75,True +CTSPillarNetworkA,2096,2096,2096,1975-09-28,209.59999999999238,209.60359,2015-01-01 00:34:56,bin2096,35,True +CTSPillarNetworkA,2097,2097,2097,1975-09-29,209.69999999999237,209.7036,2015-01-01 00:34:57,bin2097,75,True +CTSPillarNetworkA,2098,2098,2098,1975-09-30,209.79999999999237,209.8036,2015-01-01 00:34:58,bin2098,35,True +CTSPillarNetworkA,2099,2099,2099,1975-10-01,209.89999999999236,209.90361,2015-01-01 00:34:59,bin2099,75,True +CTSPillarNetworkA,2100,2100,2100,1975-10-02,209.99999999999235,210.00362,2015-01-01 00:35:00,bin2100,35,True +CTSPillarNetworkA,2101,2101,2101,1975-10-03,210.09999999999235,210.10362,2015-01-01 00:35:01,bin2101,75,True +CTSPillarNetworkA,2102,2102,2102,1975-10-04,210.19999999999234,210.20363,2015-01-01 00:35:02,bin2102,35,True +CTSPillarNetworkA,2103,2103,2103,1975-10-05,210.29999999999234,210.30363,2015-01-01 00:35:03,bin2103,75,True +CTSPillarNetworkA,2104,2104,2104,1975-10-06,210.39999999999233,210.40364,2015-01-01 00:35:04,bin2104,35,True +CTSPillarNetworkA,2105,2105,2105,1975-10-07,210.49999999999233,210.50365,2015-01-01 00:35:05,bin2105,75,True +CTSPillarNetworkA,2106,2106,2106,1975-10-08,210.59999999999232,210.60365,2015-01-01 00:35:06,bin2106,35,True +CTSPillarNetworkA,2107,2107,2107,1975-10-09,210.69999999999231,210.70366,2015-01-01 00:35:07,bin2107,75,True +CTSPillarNetworkA,2108,2108,2108,1975-10-10,210.7999999999923,210.80367,2015-01-01 00:35:08,bin2108,35,True +CTSPillarNetworkA,2109,2109,2109,1975-10-11,210.8999999999923,210.90367,2015-01-01 00:35:09,bin2109,75,True +CTSPillarNetworkA,2110,2110,2110,1975-10-12,210.9999999999923,211.00368,2015-01-01 00:35:10,bin2110,35,True +CTSPillarNetworkA,2111,2111,2111,1975-10-13,211.0999999999923,211.10368,2015-01-01 00:35:11,bin2111,75,True +CTSPillarNetworkA,2112,2112,2112,1975-10-14,211.1999999999923,211.20369,2015-01-01 00:35:12,bin2112,35,True +CTSPillarNetworkA,2113,2113,2113,1975-10-15,211.29999999999228,211.3037,2015-01-01 00:35:13,bin2113,75,True +CTSPillarNetworkA,2114,2114,2114,1975-10-16,211.39999999999227,211.4037,2015-01-01 00:35:14,bin2114,35,True +CTSPillarNetworkA,2115,2115,2115,1975-10-17,211.49999999999227,211.50371,2015-01-01 00:35:15,bin2115,75,True +CTSPillarNetworkA,2116,2116,2116,1975-10-18,211.59999999999226,211.60371,2015-01-01 00:35:16,bin2116,35,True +CTSPillarNetworkA,2117,2117,2117,1975-10-19,211.69999999999226,211.70372,2015-01-01 00:35:17,bin2117,75,True +CTSPillarNetworkA,2118,2118,2118,1975-10-20,211.79999999999225,211.80373,2015-01-01 00:35:18,bin2118,35,True +CTSPillarNetworkA,2119,2119,2119,1975-10-21,211.89999999999225,211.90373,2015-01-01 00:35:19,bin2119,75,True +CTSPillarNetworkA,2120,2120,2120,1975-10-22,211.99999999999224,212.00374,2015-01-01 00:35:20,bin2120,35,True +CTSPillarNetworkA,2121,2121,2121,1975-10-23,212.09999999999224,212.10374,2015-01-01 00:35:21,bin2121,75,True +CTSPillarNetworkA,2122,2122,2122,1975-10-24,212.19999999999223,212.20375,2015-01-01 00:35:22,bin2122,35,True +CTSPillarNetworkA,2123,2123,2123,1975-10-25,212.29999999999222,212.30376,2015-01-01 00:35:23,bin2123,75,True +CTSPillarNetworkA,2124,2124,2124,1975-10-26,212.39999999999222,212.40376,2015-01-01 00:35:24,bin2124,35,True +CTSPillarNetworkA,2125,2125,2125,1975-10-27,212.4999999999922,212.50377,2015-01-01 00:35:25,bin2125,75,True +CTSPillarNetworkA,2126,2126,2126,1975-10-28,212.5999999999922,212.60378,2015-01-01 00:35:26,bin2126,35,True +CTSPillarNetworkA,2127,2127,2127,1975-10-29,212.6999999999922,212.70378,2015-01-01 00:35:27,bin2127,75,True +CTSPillarNetworkA,2128,2128,2128,1975-10-30,212.7999999999922,212.80379,2015-01-01 00:35:28,bin2128,35,True +CTSPillarNetworkA,2129,2129,2129,1975-10-31,212.8999999999922,212.9038,2015-01-01 00:35:29,bin2129,75,True +CTSPillarNetworkA,2130,2130,2130,1975-11-01,212.99999999999218,213.0038,2015-01-01 00:35:30,bin2130,35,True +CTSPillarNetworkA,2131,2131,2131,1975-11-02,213.09999999999218,213.1038,2015-01-01 00:35:31,bin2131,75,True +CTSPillarNetworkA,2132,2132,2132,1975-11-03,213.19999999999217,213.20381,2015-01-01 00:35:32,bin2132,35,True +CTSPillarNetworkA,2133,2133,2133,1975-11-04,213.29999999999217,213.30382,2015-01-01 00:35:33,bin2133,75,True +CTSPillarNetworkA,2134,2134,2134,1975-11-05,213.39999999999216,213.40382,2015-01-01 00:35:34,bin2134,35,True +CTSPillarNetworkA,2135,2135,2135,1975-11-06,213.49999999999216,213.50383,2015-01-01 00:35:35,bin2135,75,True +CTSPillarNetworkA,2136,2136,2136,1975-11-07,213.59999999999215,213.60384,2015-01-01 00:35:36,bin2136,35,True +CTSPillarNetworkA,2137,2137,2137,1975-11-08,213.69999999999214,213.70384,2015-01-01 00:35:37,bin2137,75,True +CTSPillarNetworkA,2138,2138,2138,1975-11-09,213.79999999999214,213.80385,2015-01-01 00:35:38,bin2138,35,True +CTSPillarNetworkA,2139,2139,2139,1975-11-10,213.89999999999213,213.90385,2015-01-01 00:35:39,bin2139,75,True +CTSPillarNetworkA,2140,2140,2140,1975-11-11,213.99999999999213,214.00386,2015-01-01 00:35:40,bin2140,35,True +CTSPillarNetworkA,2141,2141,2141,1975-11-12,214.09999999999212,214.10387,2015-01-01 00:35:41,bin2141,75,True +CTSPillarNetworkA,2142,2142,2142,1975-11-13,214.19999999999212,214.20387,2015-01-01 00:35:42,bin2142,35,True +CTSPillarNetworkA,2143,2143,2143,1975-11-14,214.2999999999921,214.30388,2015-01-01 00:35:43,bin2143,75,True +CTSPillarNetworkA,2144,2144,2144,1975-11-15,214.3999999999921,214.40388,2015-01-01 00:35:44,bin2144,35,True +CTSPillarNetworkA,2145,2145,2145,1975-11-16,214.4999999999921,214.50389,2015-01-01 00:35:45,bin2145,75,True +CTSPillarNetworkA,2146,2146,2146,1975-11-17,214.5999999999921,214.6039,2015-01-01 00:35:46,bin2146,35,True +CTSPillarNetworkA,2147,2147,2147,1975-11-18,214.6999999999921,214.7039,2015-01-01 00:35:47,bin2147,75,True +CTSPillarNetworkA,2148,2148,2148,1975-11-19,214.79999999999208,214.80391,2015-01-01 00:35:48,bin2148,35,True +CTSPillarNetworkA,2149,2149,2149,1975-11-20,214.89999999999208,214.90392,2015-01-01 00:35:49,bin2149,75,True +CTSPillarNetworkA,2150,2150,2150,1975-11-21,214.99999999999207,215.00392,2015-01-01 00:35:50,bin2150,35,True +CTSPillarNetworkA,2151,2151,2151,1975-11-22,215.09999999999206,215.10393,2015-01-01 00:35:51,bin2151,75,True +CTSPillarNetworkA,2152,2152,2152,1975-11-23,215.19999999999206,215.20393,2015-01-01 00:35:52,bin2152,35,True +CTSPillarNetworkA,2153,2153,2153,1975-11-24,215.29999999999205,215.30394,2015-01-01 00:35:53,bin2153,75,True +CTSPillarNetworkA,2154,2154,2154,1975-11-25,215.39999999999205,215.40395,2015-01-01 00:35:54,bin2154,35,True +CTSPillarNetworkA,2155,2155,2155,1975-11-26,215.49999999999204,215.50395,2015-01-01 00:35:55,bin2155,75,True +CTSPillarNetworkA,2156,2156,2156,1975-11-27,215.59999999999204,215.60396,2015-01-01 00:35:56,bin2156,35,True +CTSPillarNetworkA,2157,2157,2157,1975-11-28,215.69999999999203,215.70396,2015-01-01 00:35:57,bin2157,75,True +CTSPillarNetworkA,2158,2158,2158,1975-11-29,215.79999999999202,215.80397,2015-01-01 00:35:58,bin2158,35,True +CTSPillarNetworkA,2159,2159,2159,1975-11-30,215.89999999999202,215.90398,2015-01-01 00:35:59,bin2159,75,True +CTSPillarNetworkA,2160,2160,2160,1975-12-01,215.999999999992,216.00398,2015-01-01 00:36:00,bin2160,35,True +CTSPillarNetworkA,2161,2161,2161,1975-12-02,216.099999999992,216.10399,2015-01-01 00:36:01,bin2161,75,True +CTSPillarNetworkA,2162,2162,2162,1975-12-03,216.199999999992,216.204,2015-01-01 00:36:02,bin2162,35,True +CTSPillarNetworkA,2163,2163,2163,1975-12-04,216.299999999992,216.304,2015-01-01 00:36:03,bin2163,75,True +CTSPillarNetworkA,2164,2164,2164,1975-12-05,216.399999999992,216.404,2015-01-01 00:36:04,bin2164,35,True +CTSPillarNetworkA,2165,2165,2165,1975-12-06,216.49999999999199,216.50401,2015-01-01 00:36:05,bin2165,75,True +CTSPillarNetworkA,2166,2166,2166,1975-12-07,216.59999999999198,216.60402,2015-01-01 00:36:06,bin2166,35,True +CTSPillarNetworkA,2167,2167,2167,1975-12-08,216.69999999999197,216.70403,2015-01-01 00:36:07,bin2167,75,True +CTSPillarNetworkA,2168,2168,2168,1975-12-09,216.79999999999197,216.80403,2015-01-01 00:36:08,bin2168,35,True +CTSPillarNetworkA,2169,2169,2169,1975-12-10,216.89999999999196,216.90404,2015-01-01 00:36:09,bin2169,75,True +CTSPillarNetworkA,2170,2170,2170,1975-12-11,216.99999999999196,217.00404,2015-01-01 00:36:10,bin2170,35,True +CTSPillarNetworkA,2171,2171,2171,1975-12-12,217.09999999999195,217.10405,2015-01-01 00:36:11,bin2171,75,True +CTSPillarNetworkA,2172,2172,2172,1975-12-13,217.19999999999195,217.20406,2015-01-01 00:36:12,bin2172,35,True +CTSPillarNetworkA,2173,2173,2173,1975-12-14,217.29999999999194,217.30406,2015-01-01 00:36:13,bin2173,75,True +CTSPillarNetworkA,2174,2174,2174,1975-12-15,217.39999999999193,217.40407,2015-01-01 00:36:14,bin2174,35,True +CTSPillarNetworkA,2175,2175,2175,1975-12-16,217.49999999999193,217.50407,2015-01-01 00:36:15,bin2175,75,True +CTSPillarNetworkA,2176,2176,2176,1975-12-17,217.59999999999192,217.60408,2015-01-01 00:36:16,bin2176,35,True +CTSPillarNetworkA,2177,2177,2177,1975-12-18,217.69999999999192,217.70409,2015-01-01 00:36:17,bin2177,75,True +CTSPillarNetworkA,2178,2178,2178,1975-12-19,217.7999999999919,217.8041,2015-01-01 00:36:18,bin2178,35,True +CTSPillarNetworkA,2179,2179,2179,1975-12-20,217.8999999999919,217.9041,2015-01-01 00:36:19,bin2179,75,True +CTSPillarNetworkA,2180,2180,2180,1975-12-21,217.9999999999919,218.0041,2015-01-01 00:36:20,bin2180,35,True +CTSPillarNetworkA,2181,2181,2181,1975-12-22,218.0999999999919,218.10411,2015-01-01 00:36:21,bin2181,75,True +CTSPillarNetworkA,2182,2182,2182,1975-12-23,218.1999999999919,218.20412,2015-01-01 00:36:22,bin2182,35,True +CTSPillarNetworkA,2183,2183,2183,1975-12-24,218.29999999999188,218.30412,2015-01-01 00:36:23,bin2183,75,True +CTSPillarNetworkA,2184,2184,2184,1975-12-25,218.39999999999188,218.40413,2015-01-01 00:36:24,bin2184,35,True +CTSPillarNetworkA,2185,2185,2185,1975-12-26,218.49999999999187,218.50414,2015-01-01 00:36:25,bin2185,75,True +CTSPillarNetworkA,2186,2186,2186,1975-12-27,218.59999999999187,218.60414,2015-01-01 00:36:26,bin2186,35,True +CTSPillarNetworkA,2187,2187,2187,1975-12-28,218.69999999999186,218.70415,2015-01-01 00:36:27,bin2187,75,True +CTSPillarNetworkA,2188,2188,2188,1975-12-29,218.79999999999185,218.80415,2015-01-01 00:36:28,bin2188,35,True +CTSPillarNetworkA,2189,2189,2189,1975-12-30,218.89999999999185,218.90416,2015-01-01 00:36:29,bin2189,75,True +CTSPillarNetworkA,2190,2190,2190,1975-12-31,218.99999999999184,219.00417,2015-01-01 00:36:30,bin2190,35,True +CTSPillarNetworkA,2191,2191,2191,1976-01-01,219.09999999999184,219.10417,2015-01-01 00:36:31,bin2191,75,True +CTSPillarNetworkA,2192,2192,2192,1976-01-02,219.19999999999183,219.20418,2015-01-01 00:36:32,bin2192,35,True +CTSPillarNetworkA,2193,2193,2193,1976-01-03,219.29999999999183,219.30418,2015-01-01 00:36:33,bin2193,75,True +CTSPillarNetworkA,2194,2194,2194,1976-01-04,219.39999999999182,219.40419,2015-01-01 00:36:34,bin2194,35,True +CTSPillarNetworkA,2195,2195,2195,1976-01-05,219.49999999999181,219.5042,2015-01-01 00:36:35,bin2195,75,True +CTSPillarNetworkA,2196,2196,2196,1976-01-06,219.5999999999918,219.6042,2015-01-01 00:36:36,bin2196,35,True +CTSPillarNetworkA,2197,2197,2197,1976-01-07,219.6999999999918,219.70421,2015-01-01 00:36:37,bin2197,75,True +CTSPillarNetworkA,2198,2198,2198,1976-01-08,219.7999999999918,219.80421,2015-01-01 00:36:38,bin2198,35,True +CTSPillarNetworkA,2199,2199,2199,1976-01-09,219.8999999999918,219.90422,2015-01-01 00:36:39,bin2199,75,True +CTSPillarNetworkA,2200,2200,2200,1976-01-10,219.9999999999918,220.00423,2015-01-01 00:36:40,bin2200,35,True +CTSPillarNetworkA,2201,2201,2201,1976-01-11,220.09999999999178,220.10423,2015-01-01 00:36:41,bin2201,75,True +CTSPillarNetworkA,2202,2202,2202,1976-01-12,220.19999999999177,220.20424,2015-01-01 00:36:42,bin2202,35,True +CTSPillarNetworkA,2203,2203,2203,1976-01-13,220.29999999999177,220.30424,2015-01-01 00:36:43,bin2203,75,True +CTSPillarNetworkA,2204,2204,2204,1976-01-14,220.39999999999176,220.40425,2015-01-01 00:36:44,bin2204,35,True +CTSPillarNetworkA,2205,2205,2205,1976-01-15,220.49999999999176,220.50426,2015-01-01 00:36:45,bin2205,75,True +CTSPillarNetworkA,2206,2206,2206,1976-01-16,220.59999999999175,220.60426,2015-01-01 00:36:46,bin2206,35,True +CTSPillarNetworkA,2207,2207,2207,1976-01-17,220.69999999999175,220.70427,2015-01-01 00:36:47,bin2207,75,True +CTSPillarNetworkA,2208,2208,2208,1976-01-18,220.79999999999174,220.80428,2015-01-01 00:36:48,bin2208,35,True +CTSPillarNetworkA,2209,2209,2209,1976-01-19,220.89999999999173,220.90428,2015-01-01 00:36:49,bin2209,75,True +CTSPillarNetworkA,2210,2210,2210,1976-01-20,220.99999999999173,221.00429,2015-01-01 00:36:50,bin2210,35,True +CTSPillarNetworkA,2211,2211,2211,1976-01-21,221.09999999999172,221.1043,2015-01-01 00:36:51,bin2211,75,True +CTSPillarNetworkA,2212,2212,2212,1976-01-22,221.19999999999172,221.2043,2015-01-01 00:36:52,bin2212,35,True +CTSPillarNetworkA,2213,2213,2213,1976-01-23,221.2999999999917,221.3043,2015-01-01 00:36:53,bin2213,75,True +CTSPillarNetworkA,2214,2214,2214,1976-01-24,221.3999999999917,221.40431,2015-01-01 00:36:54,bin2214,35,True +CTSPillarNetworkA,2215,2215,2215,1976-01-25,221.4999999999917,221.50432,2015-01-01 00:36:55,bin2215,75,True +CTSPillarNetworkA,2216,2216,2216,1976-01-26,221.5999999999917,221.60432,2015-01-01 00:36:56,bin2216,35,True +CTSPillarNetworkA,2217,2217,2217,1976-01-27,221.6999999999917,221.70433,2015-01-01 00:36:57,bin2217,75,True +CTSPillarNetworkA,2218,2218,2218,1976-01-28,221.79999999999168,221.80434,2015-01-01 00:36:58,bin2218,35,True +CTSPillarNetworkA,2219,2219,2219,1976-01-29,221.89999999999168,221.90434,2015-01-01 00:36:59,bin2219,75,True +CTSPillarNetworkA,2220,2220,2220,1976-01-30,221.99999999999167,222.00435,2015-01-01 00:37:00,bin2220,35,True +CTSPillarNetworkA,2221,2221,2221,1976-01-31,222.09999999999167,222.10435,2015-01-01 00:37:01,bin2221,75,True +CTSPillarNetworkA,2222,2222,2222,1976-02-01,222.19999999999166,222.20436,2015-01-01 00:37:02,bin2222,35,True +CTSPillarNetworkA,2223,2223,2223,1976-02-02,222.29999999999166,222.30437,2015-01-01 00:37:03,bin2223,75,True +CTSPillarNetworkA,2224,2224,2224,1976-02-03,222.39999999999165,222.40437,2015-01-01 00:37:04,bin2224,35,True +CTSPillarNetworkA,2225,2225,2225,1976-02-04,222.49999999999164,222.50438,2015-01-01 00:37:05,bin2225,75,True +CTSPillarNetworkA,2226,2226,2226,1976-02-05,222.59999999999164,222.60439,2015-01-01 00:37:06,bin2226,35,True +CTSPillarNetworkA,2227,2227,2227,1976-02-06,222.69999999999163,222.70439,2015-01-01 00:37:07,bin2227,75,True +CTSPillarNetworkA,2228,2228,2228,1976-02-07,222.79999999999163,222.8044,2015-01-01 00:37:08,bin2228,35,True +CTSPillarNetworkA,2229,2229,2229,1976-02-08,222.89999999999162,222.9044,2015-01-01 00:37:09,bin2229,75,True +CTSPillarNetworkA,2230,2230,2230,1976-02-09,222.99999999999162,223.00441,2015-01-01 00:37:10,bin2230,35,True +CTSPillarNetworkA,2231,2231,2231,1976-02-10,223.0999999999916,223.10442,2015-01-01 00:37:11,bin2231,75,True +CTSPillarNetworkA,2232,2232,2232,1976-02-11,223.1999999999916,223.20442,2015-01-01 00:37:12,bin2232,35,True +CTSPillarNetworkA,2233,2233,2233,1976-02-12,223.2999999999916,223.30443,2015-01-01 00:37:13,bin2233,75,True +CTSPillarNetworkA,2234,2234,2234,1976-02-13,223.3999999999916,223.40443,2015-01-01 00:37:14,bin2234,35,True +CTSPillarNetworkA,2235,2235,2235,1976-02-14,223.4999999999916,223.50444,2015-01-01 00:37:15,bin2235,75,True +CTSPillarNetworkA,2236,2236,2236,1976-02-15,223.59999999999158,223.60445,2015-01-01 00:37:16,bin2236,35,True +CTSPillarNetworkA,2237,2237,2237,1976-02-16,223.69999999999158,223.70445,2015-01-01 00:37:17,bin2237,75,True +CTSPillarNetworkA,2238,2238,2238,1976-02-17,223.79999999999157,223.80446,2015-01-01 00:37:18,bin2238,35,True +CTSPillarNetworkA,2239,2239,2239,1976-02-18,223.89999999999156,223.90446,2015-01-01 00:37:19,bin2239,75,True +CTSPillarNetworkA,2240,2240,2240,1976-02-19,223.99999999999156,224.00447,2015-01-01 00:37:20,bin2240,35,True +CTSPillarNetworkA,2241,2241,2241,1976-02-20,224.09999999999155,224.10448,2015-01-01 00:37:21,bin2241,75,True +CTSPillarNetworkA,2242,2242,2242,1976-02-21,224.19999999999155,224.20448,2015-01-01 00:37:22,bin2242,35,True +CTSPillarNetworkA,2243,2243,2243,1976-02-22,224.29999999999154,224.30449,2015-01-01 00:37:23,bin2243,75,True +CTSPillarNetworkA,2244,2244,2244,1976-02-23,224.39999999999154,224.4045,2015-01-01 00:37:24,bin2244,35,True +CTSPillarNetworkA,2245,2245,2245,1976-02-24,224.49999999999153,224.5045,2015-01-01 00:37:25,bin2245,75,True +CTSPillarNetworkA,2246,2246,2246,1976-02-25,224.59999999999152,224.6045,2015-01-01 00:37:26,bin2246,35,True +CTSPillarNetworkA,2247,2247,2247,1976-02-26,224.69999999999152,224.70451,2015-01-01 00:37:27,bin2247,75,True +CTSPillarNetworkA,2248,2248,2248,1976-02-27,224.7999999999915,224.80452,2015-01-01 00:37:28,bin2248,35,True +CTSPillarNetworkA,2249,2249,2249,1976-02-28,224.8999999999915,224.90453,2015-01-01 00:37:29,bin2249,75,True +CTSPillarNetworkA,2250,2250,2250,1976-02-29,224.9999999999915,225.00453,2015-01-01 00:37:30,bin2250,35,True +CTSPillarNetworkA,2251,2251,2251,1976-03-01,225.0999999999915,225.10454,2015-01-01 00:37:31,bin2251,75,True +CTSPillarNetworkA,2252,2252,2252,1976-03-02,225.1999999999915,225.20454,2015-01-01 00:37:32,bin2252,35,True +CTSPillarNetworkA,2253,2253,2253,1976-03-03,225.29999999999148,225.30455,2015-01-01 00:37:33,bin2253,75,True +CTSPillarNetworkA,2254,2254,2254,1976-03-04,225.39999999999148,225.40456,2015-01-01 00:37:34,bin2254,35,True +CTSPillarNetworkA,2255,2255,2255,1976-03-05,225.49999999999147,225.50456,2015-01-01 00:37:35,bin2255,75,True +CTSPillarNetworkA,2256,2256,2256,1976-03-06,225.59999999999147,225.60457,2015-01-01 00:37:36,bin2256,35,True +CTSPillarNetworkA,2257,2257,2257,1976-03-07,225.69999999999146,225.70457,2015-01-01 00:37:37,bin2257,75,True +CTSPillarNetworkA,2258,2258,2258,1976-03-08,225.79999999999146,225.80458,2015-01-01 00:37:38,bin2258,35,True +CTSPillarNetworkA,2259,2259,2259,1976-03-09,225.89999999999145,225.90459,2015-01-01 00:37:39,bin2259,75,True +CTSPillarNetworkA,2260,2260,2260,1976-03-10,225.99999999999145,226.0046,2015-01-01 00:37:40,bin2260,35,True +CTSPillarNetworkA,2261,2261,2261,1976-03-11,226.09999999999144,226.1046,2015-01-01 00:37:41,bin2261,75,True +CTSPillarNetworkA,2262,2262,2262,1976-03-12,226.19999999999143,226.2046,2015-01-01 00:37:42,bin2262,35,True +CTSPillarNetworkA,2263,2263,2263,1976-03-13,226.29999999999143,226.30461,2015-01-01 00:37:43,bin2263,75,True +CTSPillarNetworkA,2264,2264,2264,1976-03-14,226.39999999999142,226.40462,2015-01-01 00:37:44,bin2264,35,True +CTSPillarNetworkA,2265,2265,2265,1976-03-15,226.49999999999142,226.50462,2015-01-01 00:37:45,bin2265,75,True +CTSPillarNetworkA,2266,2266,2266,1976-03-16,226.5999999999914,226.60463,2015-01-01 00:37:46,bin2266,35,True +CTSPillarNetworkA,2267,2267,2267,1976-03-17,226.6999999999914,226.70464,2015-01-01 00:37:47,bin2267,75,True +CTSPillarNetworkA,2268,2268,2268,1976-03-18,226.7999999999914,226.80464,2015-01-01 00:37:48,bin2268,35,True +CTSPillarNetworkA,2269,2269,2269,1976-03-19,226.8999999999914,226.90465,2015-01-01 00:37:49,bin2269,75,True +CTSPillarNetworkA,2270,2270,2270,1976-03-20,226.9999999999914,227.00465,2015-01-01 00:37:50,bin2270,35,True +CTSPillarNetworkA,2271,2271,2271,1976-03-21,227.09999999999138,227.10466,2015-01-01 00:37:51,bin2271,75,True +CTSPillarNetworkA,2272,2272,2272,1976-03-22,227.19999999999138,227.20467,2015-01-01 00:37:52,bin2272,35,True +CTSPillarNetworkA,2273,2273,2273,1976-03-23,227.29999999999137,227.30467,2015-01-01 00:37:53,bin2273,75,True +CTSPillarNetworkA,2274,2274,2274,1976-03-24,227.39999999999137,227.40468,2015-01-01 00:37:54,bin2274,35,True +CTSPillarNetworkA,2275,2275,2275,1976-03-25,227.49999999999136,227.50468,2015-01-01 00:37:55,bin2275,75,True +CTSPillarNetworkA,2276,2276,2276,1976-03-26,227.59999999999135,227.60469,2015-01-01 00:37:56,bin2276,35,True +CTSPillarNetworkA,2277,2277,2277,1976-03-27,227.69999999999135,227.7047,2015-01-01 00:37:57,bin2277,75,True +CTSPillarNetworkA,2278,2278,2278,1976-03-28,227.79999999999134,227.8047,2015-01-01 00:37:58,bin2278,35,True +CTSPillarNetworkA,2279,2279,2279,1976-03-29,227.89999999999134,227.90471,2015-01-01 00:37:59,bin2279,75,True +CTSPillarNetworkA,2280,2280,2280,1976-03-30,227.99999999999133,228.00471,2015-01-01 00:38:00,bin2280,35,True +CTSPillarNetworkA,2281,2281,2281,1976-03-31,228.09999999999133,228.10472,2015-01-01 00:38:01,bin2281,75,True +CTSPillarNetworkA,2282,2282,2282,1976-04-01,228.19999999999132,228.20473,2015-01-01 00:38:02,bin2282,35,True +CTSPillarNetworkA,2283,2283,2283,1976-04-02,228.29999999999131,228.30473,2015-01-01 00:38:03,bin2283,75,True +CTSPillarNetworkA,2284,2284,2284,1976-04-03,228.3999999999913,228.40474,2015-01-01 00:38:04,bin2284,35,True +CTSPillarNetworkA,2285,2285,2285,1976-04-04,228.4999999999913,228.50475,2015-01-01 00:38:05,bin2285,75,True +CTSPillarNetworkA,2286,2286,2286,1976-04-05,228.5999999999913,228.60475,2015-01-01 00:38:06,bin2286,35,True +CTSPillarNetworkA,2287,2287,2287,1976-04-06,228.6999999999913,228.70476,2015-01-01 00:38:07,bin2287,75,True +CTSPillarNetworkA,2288,2288,2288,1976-04-07,228.7999999999913,228.80476,2015-01-01 00:38:08,bin2288,35,True +CTSPillarNetworkA,2289,2289,2289,1976-04-08,228.89999999999128,228.90477,2015-01-01 00:38:09,bin2289,75,True +CTSPillarNetworkA,2290,2290,2290,1976-04-09,228.99999999999127,229.00478,2015-01-01 00:38:10,bin2290,35,True +CTSPillarNetworkA,2291,2291,2291,1976-04-10,229.09999999999127,229.10478,2015-01-01 00:38:11,bin2291,75,True +CTSPillarNetworkA,2292,2292,2292,1976-04-11,229.19999999999126,229.20479,2015-01-01 00:38:12,bin2292,35,True +CTSPillarNetworkA,2293,2293,2293,1976-04-12,229.29999999999126,229.3048,2015-01-01 00:38:13,bin2293,75,True +CTSPillarNetworkA,2294,2294,2294,1976-04-13,229.39999999999125,229.4048,2015-01-01 00:38:14,bin2294,35,True +CTSPillarNetworkA,2295,2295,2295,1976-04-14,229.49999999999125,229.5048,2015-01-01 00:38:15,bin2295,75,True +CTSPillarNetworkA,2296,2296,2296,1976-04-15,229.59999999999124,229.60481,2015-01-01 00:38:16,bin2296,35,True +CTSPillarNetworkA,2297,2297,2297,1976-04-16,229.69999999999123,229.70482,2015-01-01 00:38:17,bin2297,75,True +CTSPillarNetworkA,2298,2298,2298,1976-04-17,229.79999999999123,229.80482,2015-01-01 00:38:18,bin2298,35,True +CTSPillarNetworkA,2299,2299,2299,1976-04-18,229.89999999999122,229.90483,2015-01-01 00:38:19,bin2299,75,True +CTSPillarNetworkA,2300,2300,2300,1976-04-19,229.99999999999122,230.00484,2015-01-01 00:38:20,bin2300,35,True +CTSPillarNetworkA,2301,2301,2301,1976-04-20,230.0999999999912,230.10484,2015-01-01 00:38:21,bin2301,75,True +CTSPillarNetworkA,2302,2302,2302,1976-04-21,230.1999999999912,230.20485,2015-01-01 00:38:22,bin2302,35,True +CTSPillarNetworkA,2303,2303,2303,1976-04-22,230.2999999999912,230.30486,2015-01-01 00:38:23,bin2303,75,True +CTSPillarNetworkA,2304,2304,2304,1976-04-23,230.3999999999912,230.40486,2015-01-01 00:38:24,bin2304,35,True +CTSPillarNetworkA,2305,2305,2305,1976-04-24,230.4999999999912,230.50487,2015-01-01 00:38:25,bin2305,75,True +CTSPillarNetworkA,2306,2306,2306,1976-04-25,230.59999999999118,230.60487,2015-01-01 00:38:26,bin2306,35,True +CTSPillarNetworkA,2307,2307,2307,1976-04-26,230.69999999999118,230.70488,2015-01-01 00:38:27,bin2307,75,True +CTSPillarNetworkA,2308,2308,2308,1976-04-27,230.79999999999117,230.80489,2015-01-01 00:38:28,bin2308,35,True +CTSPillarNetworkA,2309,2309,2309,1976-04-28,230.89999999999117,230.90489,2015-01-01 00:38:29,bin2309,75,True +CTSPillarNetworkA,2310,2310,2310,1976-04-29,230.99999999999116,231.0049,2015-01-01 00:38:30,bin2310,35,True +CTSPillarNetworkA,2311,2311,2311,1976-04-30,231.09999999999116,231.1049,2015-01-01 00:38:31,bin2311,75,True +CTSPillarNetworkA,2312,2312,2312,1976-05-01,231.19999999999115,231.20491,2015-01-01 00:38:32,bin2312,35,True +CTSPillarNetworkA,2313,2313,2313,1976-05-02,231.29999999999114,231.30492,2015-01-01 00:38:33,bin2313,75,True +CTSPillarNetworkA,2314,2314,2314,1976-05-03,231.39999999999114,231.40492,2015-01-01 00:38:34,bin2314,35,True +CTSPillarNetworkA,2315,2315,2315,1976-05-04,231.49999999999113,231.50493,2015-01-01 00:38:35,bin2315,75,True +CTSPillarNetworkA,2316,2316,2316,1976-05-05,231.59999999999113,231.60493,2015-01-01 00:38:36,bin2316,35,True +CTSPillarNetworkA,2317,2317,2317,1976-05-06,231.69999999999112,231.70494,2015-01-01 00:38:37,bin2317,75,True +CTSPillarNetworkA,2318,2318,2318,1976-05-07,231.79999999999112,231.80495,2015-01-01 00:38:38,bin2318,35,True +CTSPillarNetworkA,2319,2319,2319,1976-05-08,231.8999999999911,231.90495,2015-01-01 00:38:39,bin2319,75,True +CTSPillarNetworkA,2320,2320,2320,1976-05-09,231.9999999999911,232.00496,2015-01-01 00:38:40,bin2320,35,True +CTSPillarNetworkA,2321,2321,2321,1976-05-10,232.0999999999911,232.10497,2015-01-01 00:38:41,bin2321,75,True +CTSPillarNetworkA,2322,2322,2322,1976-05-11,232.1999999999911,232.20497,2015-01-01 00:38:42,bin2322,35,True +CTSPillarNetworkA,2323,2323,2323,1976-05-12,232.2999999999911,232.30498,2015-01-01 00:38:43,bin2323,75,True +CTSPillarNetworkA,2324,2324,2324,1976-05-13,232.39999999999108,232.40498,2015-01-01 00:38:44,bin2324,35,True +CTSPillarNetworkA,2325,2325,2325,1976-05-14,232.49999999999108,232.50499,2015-01-01 00:38:45,bin2325,75,True +CTSPillarNetworkA,2326,2326,2326,1976-05-15,232.59999999999107,232.605,2015-01-01 00:38:46,bin2326,35,True +CTSPillarNetworkA,2327,2327,2327,1976-05-16,232.69999999999106,232.705,2015-01-01 00:38:47,bin2327,75,True +CTSPillarNetworkA,2328,2328,2328,1976-05-17,232.79999999999106,232.80501,2015-01-01 00:38:48,bin2328,35,True +CTSPillarNetworkA,2329,2329,2329,1976-05-18,232.89999999999105,232.90501,2015-01-01 00:38:49,bin2329,75,True +CTSPillarNetworkA,2330,2330,2330,1976-05-19,232.99999999999105,233.00502,2015-01-01 00:38:50,bin2330,35,True +CTSPillarNetworkA,2331,2331,2331,1976-05-20,233.09999999999104,233.10503,2015-01-01 00:38:51,bin2331,75,True +CTSPillarNetworkA,2332,2332,2332,1976-05-21,233.19999999999104,233.20503,2015-01-01 00:38:52,bin2332,35,True +CTSPillarNetworkA,2333,2333,2333,1976-05-22,233.29999999999103,233.30504,2015-01-01 00:38:53,bin2333,75,True +CTSPillarNetworkA,2334,2334,2334,1976-05-23,233.39999999999102,233.40504,2015-01-01 00:38:54,bin2334,35,True +CTSPillarNetworkA,2335,2335,2335,1976-05-24,233.49999999999102,233.50505,2015-01-01 00:38:55,bin2335,75,True +CTSPillarNetworkA,2336,2336,2336,1976-05-25,233.599999999991,233.60506,2015-01-01 00:38:56,bin2336,35,True +CTSPillarNetworkA,2337,2337,2337,1976-05-26,233.699999999991,233.70506,2015-01-01 00:38:57,bin2337,75,True +CTSPillarNetworkA,2338,2338,2338,1976-05-27,233.799999999991,233.80507,2015-01-01 00:38:58,bin2338,35,True +CTSPillarNetworkA,2339,2339,2339,1976-05-28,233.899999999991,233.90508,2015-01-01 00:38:59,bin2339,75,True +CTSPillarNetworkA,2340,2340,2340,1976-05-29,233.999999999991,234.00508,2015-01-01 00:39:00,bin2340,35,True +CTSPillarNetworkA,2341,2341,2341,1976-05-30,234.09999999999098,234.10509,2015-01-01 00:39:01,bin2341,75,True +CTSPillarNetworkA,2342,2342,2342,1976-05-31,234.19999999999098,234.2051,2015-01-01 00:39:02,bin2342,35,True +CTSPillarNetworkA,2343,2343,2343,1976-06-01,234.29999999999097,234.3051,2015-01-01 00:39:03,bin2343,75,True +CTSPillarNetworkA,2344,2344,2344,1976-06-02,234.39999999999097,234.4051,2015-01-01 00:39:04,bin2344,35,True +CTSPillarNetworkA,2345,2345,2345,1976-06-03,234.49999999999096,234.50511,2015-01-01 00:39:05,bin2345,75,True +CTSPillarNetworkA,2346,2346,2346,1976-06-04,234.59999999999096,234.60512,2015-01-01 00:39:06,bin2346,35,True +CTSPillarNetworkA,2347,2347,2347,1976-06-05,234.69999999999095,234.70512,2015-01-01 00:39:07,bin2347,75,True +CTSPillarNetworkA,2348,2348,2348,1976-06-06,234.79999999999094,234.80513,2015-01-01 00:39:08,bin2348,35,True +CTSPillarNetworkA,2349,2349,2349,1976-06-07,234.89999999999094,234.90514,2015-01-01 00:39:09,bin2349,75,True +CTSPillarNetworkA,2350,2350,2350,1976-06-08,234.99999999999093,235.00514,2015-01-01 00:39:10,bin2350,35,True +CTSPillarNetworkA,2351,2351,2351,1976-06-09,235.09999999999093,235.10515,2015-01-01 00:39:11,bin2351,75,True +CTSPillarNetworkA,2352,2352,2352,1976-06-10,235.19999999999092,235.20515,2015-01-01 00:39:12,bin2352,35,True +CTSPillarNetworkA,2353,2353,2353,1976-06-11,235.29999999999092,235.30516,2015-01-01 00:39:13,bin2353,75,True +CTSPillarNetworkA,2354,2354,2354,1976-06-12,235.3999999999909,235.40517,2015-01-01 00:39:14,bin2354,35,True +CTSPillarNetworkA,2355,2355,2355,1976-06-13,235.4999999999909,235.50517,2015-01-01 00:39:15,bin2355,75,True +CTSPillarNetworkA,2356,2356,2356,1976-06-14,235.5999999999909,235.60518,2015-01-01 00:39:16,bin2356,35,True +CTSPillarNetworkA,2357,2357,2357,1976-06-15,235.6999999999909,235.70518,2015-01-01 00:39:17,bin2357,75,True +CTSPillarNetworkA,2358,2358,2358,1976-06-16,235.7999999999909,235.80519,2015-01-01 00:39:18,bin2358,35,True +CTSPillarNetworkA,2359,2359,2359,1976-06-17,235.89999999999088,235.9052,2015-01-01 00:39:19,bin2359,75,True +CTSPillarNetworkA,2360,2360,2360,1976-06-18,235.99999999999088,236.0052,2015-01-01 00:39:20,bin2360,35,True +CTSPillarNetworkA,2361,2361,2361,1976-06-19,236.09999999999087,236.10521,2015-01-01 00:39:21,bin2361,75,True +CTSPillarNetworkA,2362,2362,2362,1976-06-20,236.19999999999087,236.20522,2015-01-01 00:39:22,bin2362,35,True +CTSPillarNetworkA,2363,2363,2363,1976-06-21,236.29999999999086,236.30522,2015-01-01 00:39:23,bin2363,75,True +CTSPillarNetworkA,2364,2364,2364,1976-06-22,236.39999999999085,236.40523,2015-01-01 00:39:24,bin2364,35,True +CTSPillarNetworkA,2365,2365,2365,1976-06-23,236.49999999999085,236.50523,2015-01-01 00:39:25,bin2365,75,True +CTSPillarNetworkA,2366,2366,2366,1976-06-24,236.59999999999084,236.60524,2015-01-01 00:39:26,bin2366,35,True +CTSPillarNetworkA,2367,2367,2367,1976-06-25,236.69999999999084,236.70525,2015-01-01 00:39:27,bin2367,75,True +CTSPillarNetworkA,2368,2368,2368,1976-06-26,236.79999999999083,236.80525,2015-01-01 00:39:28,bin2368,35,True +CTSPillarNetworkA,2369,2369,2369,1976-06-27,236.89999999999083,236.90526,2015-01-01 00:39:29,bin2369,75,True +CTSPillarNetworkA,2370,2370,2370,1976-06-28,236.99999999999082,237.00526,2015-01-01 00:39:30,bin2370,35,True +CTSPillarNetworkA,2371,2371,2371,1976-06-29,237.0999999999908,237.10527,2015-01-01 00:39:31,bin2371,75,True +CTSPillarNetworkA,2372,2372,2372,1976-06-30,237.1999999999908,237.20528,2015-01-01 00:39:32,bin2372,35,True +CTSPillarNetworkA,2373,2373,2373,1976-07-01,237.2999999999908,237.30528,2015-01-01 00:39:33,bin2373,75,True +CTSPillarNetworkA,2374,2374,2374,1976-07-02,237.3999999999908,237.40529,2015-01-01 00:39:34,bin2374,35,True +CTSPillarNetworkA,2375,2375,2375,1976-07-03,237.4999999999908,237.5053,2015-01-01 00:39:35,bin2375,75,True +CTSPillarNetworkA,2376,2376,2376,1976-07-04,237.59999999999079,237.6053,2015-01-01 00:39:36,bin2376,35,True +CTSPillarNetworkA,2377,2377,2377,1976-07-05,237.69999999999078,237.7053,2015-01-01 00:39:37,bin2377,75,True +CTSPillarNetworkA,2378,2378,2378,1976-07-06,237.79999999999077,237.80531,2015-01-01 00:39:38,bin2378,35,True +CTSPillarNetworkA,2379,2379,2379,1976-07-07,237.89999999999077,237.90532,2015-01-01 00:39:39,bin2379,75,True +CTSPillarNetworkA,2380,2380,2380,1976-07-08,237.99999999999076,238.00533,2015-01-01 00:39:40,bin2380,35,True +CTSPillarNetworkA,2381,2381,2381,1976-07-09,238.09999999999076,238.10533,2015-01-01 00:39:41,bin2381,75,True +CTSPillarNetworkA,2382,2382,2382,1976-07-10,238.19999999999075,238.20534,2015-01-01 00:39:42,bin2382,35,True +CTSPillarNetworkA,2383,2383,2383,1976-07-11,238.29999999999075,238.30534,2015-01-01 00:39:43,bin2383,75,True +CTSPillarNetworkA,2384,2384,2384,1976-07-12,238.39999999999074,238.40535,2015-01-01 00:39:44,bin2384,35,True +CTSPillarNetworkA,2385,2385,2385,1976-07-13,238.49999999999073,238.50536,2015-01-01 00:39:45,bin2385,75,True +CTSPillarNetworkA,2386,2386,2386,1976-07-14,238.59999999999073,238.60536,2015-01-01 00:39:46,bin2386,35,True +CTSPillarNetworkA,2387,2387,2387,1976-07-15,238.69999999999072,238.70537,2015-01-01 00:39:47,bin2387,75,True +CTSPillarNetworkA,2388,2388,2388,1976-07-16,238.79999999999072,238.80537,2015-01-01 00:39:48,bin2388,35,True +CTSPillarNetworkA,2389,2389,2389,1976-07-17,238.8999999999907,238.90538,2015-01-01 00:39:49,bin2389,75,True +CTSPillarNetworkA,2390,2390,2390,1976-07-18,238.9999999999907,239.00539,2015-01-01 00:39:50,bin2390,35,True +CTSPillarNetworkA,2391,2391,2391,1976-07-19,239.0999999999907,239.1054,2015-01-01 00:39:51,bin2391,75,True +CTSPillarNetworkA,2392,2392,2392,1976-07-20,239.1999999999907,239.2054,2015-01-01 00:39:52,bin2392,35,True +CTSPillarNetworkA,2393,2393,2393,1976-07-21,239.2999999999907,239.3054,2015-01-01 00:39:53,bin2393,75,True +CTSPillarNetworkA,2394,2394,2394,1976-07-22,239.39999999999068,239.40541,2015-01-01 00:39:54,bin2394,35,True +CTSPillarNetworkA,2395,2395,2395,1976-07-23,239.49999999999068,239.50542,2015-01-01 00:39:55,bin2395,75,True +CTSPillarNetworkA,2396,2396,2396,1976-07-24,239.59999999999067,239.60542,2015-01-01 00:39:56,bin2396,35,True +CTSPillarNetworkA,2397,2397,2397,1976-07-25,239.69999999999067,239.70543,2015-01-01 00:39:57,bin2397,75,True +CTSPillarNetworkA,2398,2398,2398,1976-07-26,239.79999999999066,239.80544,2015-01-01 00:39:58,bin2398,35,True +CTSPillarNetworkA,2399,2399,2399,1976-07-27,239.89999999999065,239.90544,2015-01-01 00:39:59,bin2399,75,True +CTSPillarNetworkA,2400,2400,2400,1976-07-28,239.99999999999065,240.00545,2015-01-01 00:40:00,bin2400,35,True +CTSPillarNetworkA,2401,2401,2401,1976-07-29,240.09999999999064,240.10545,2015-01-01 00:40:01,bin2401,75,True +CTSPillarNetworkA,2402,2402,2402,1976-07-30,240.19999999999064,240.20546,2015-01-01 00:40:02,bin2402,35,True +CTSPillarNetworkA,2403,2403,2403,1976-07-31,240.29999999999063,240.30547,2015-01-01 00:40:03,bin2403,75,True +CTSPillarNetworkA,2404,2404,2404,1976-08-01,240.39999999999063,240.40547,2015-01-01 00:40:04,bin2404,35,True +CTSPillarNetworkA,2405,2405,2405,1976-08-02,240.49999999999062,240.50548,2015-01-01 00:40:05,bin2405,75,True +CTSPillarNetworkA,2406,2406,2406,1976-08-03,240.59999999999062,240.60548,2015-01-01 00:40:06,bin2406,35,True +CTSPillarNetworkA,2407,2407,2407,1976-08-04,240.6999999999906,240.70549,2015-01-01 00:40:07,bin2407,75,True +CTSPillarNetworkA,2408,2408,2408,1976-08-05,240.7999999999906,240.8055,2015-01-01 00:40:08,bin2408,35,True +CTSPillarNetworkA,2409,2409,2409,1976-08-06,240.8999999999906,240.9055,2015-01-01 00:40:09,bin2409,75,True +CTSPillarNetworkA,2410,2410,2410,1976-08-07,240.9999999999906,241.00551,2015-01-01 00:40:10,bin2410,35,True +CTSPillarNetworkA,2411,2411,2411,1976-08-08,241.0999999999906,241.10551,2015-01-01 00:40:11,bin2411,75,True +CTSPillarNetworkA,2412,2412,2412,1976-08-09,241.19999999999058,241.20552,2015-01-01 00:40:12,bin2412,35,True +CTSPillarNetworkA,2413,2413,2413,1976-08-10,241.29999999999058,241.30553,2015-01-01 00:40:13,bin2413,75,True +CTSPillarNetworkA,2414,2414,2414,1976-08-11,241.39999999999057,241.40553,2015-01-01 00:40:14,bin2414,35,True +CTSPillarNetworkA,2415,2415,2415,1976-08-12,241.49999999999056,241.50554,2015-01-01 00:40:15,bin2415,75,True +CTSPillarNetworkA,2416,2416,2416,1976-08-13,241.59999999999056,241.60555,2015-01-01 00:40:16,bin2416,35,True +CTSPillarNetworkA,2417,2417,2417,1976-08-14,241.69999999999055,241.70555,2015-01-01 00:40:17,bin2417,75,True +CTSPillarNetworkA,2418,2418,2418,1976-08-15,241.79999999999055,241.80556,2015-01-01 00:40:18,bin2418,35,True +CTSPillarNetworkA,2419,2419,2419,1976-08-16,241.89999999999054,241.90556,2015-01-01 00:40:19,bin2419,75,True +CTSPillarNetworkA,2420,2420,2420,1976-08-17,241.99999999999054,242.00557,2015-01-01 00:40:20,bin2420,35,True +CTSPillarNetworkA,2421,2421,2421,1976-08-18,242.09999999999053,242.10558,2015-01-01 00:40:21,bin2421,75,True +CTSPillarNetworkA,2422,2422,2422,1976-08-19,242.19999999999052,242.20558,2015-01-01 00:40:22,bin2422,35,True +CTSPillarNetworkA,2423,2423,2423,1976-08-20,242.29999999999052,242.30559,2015-01-01 00:40:23,bin2423,75,True +CTSPillarNetworkA,2424,2424,2424,1976-08-21,242.3999999999905,242.4056,2015-01-01 00:40:24,bin2424,35,True +CTSPillarNetworkA,2425,2425,2425,1976-08-22,242.4999999999905,242.5056,2015-01-01 00:40:25,bin2425,75,True +CTSPillarNetworkA,2426,2426,2426,1976-08-23,242.5999999999905,242.6056,2015-01-01 00:40:26,bin2426,35,True +CTSPillarNetworkA,2427,2427,2427,1976-08-24,242.6999999999905,242.70561,2015-01-01 00:40:27,bin2427,75,True +CTSPillarNetworkA,2428,2428,2428,1976-08-25,242.7999999999905,242.80562,2015-01-01 00:40:28,bin2428,35,True +CTSPillarNetworkA,2429,2429,2429,1976-08-26,242.89999999999048,242.90562,2015-01-01 00:40:29,bin2429,75,True +CTSPillarNetworkA,2430,2430,2430,1976-08-27,242.99999999999048,243.00563,2015-01-01 00:40:30,bin2430,35,True +CTSPillarNetworkA,2431,2431,2431,1976-08-28,243.09999999999047,243.10564,2015-01-01 00:40:31,bin2431,75,True +CTSPillarNetworkA,2432,2432,2432,1976-08-29,243.19999999999047,243.20564,2015-01-01 00:40:32,bin2432,35,True +CTSPillarNetworkA,2433,2433,2433,1976-08-30,243.29999999999046,243.30565,2015-01-01 00:40:33,bin2433,75,True +CTSPillarNetworkA,2434,2434,2434,1976-08-31,243.39999999999046,243.40565,2015-01-01 00:40:34,bin2434,35,True +CTSPillarNetworkA,2435,2435,2435,1976-09-01,243.49999999999045,243.50566,2015-01-01 00:40:35,bin2435,75,True +CTSPillarNetworkA,2436,2436,2436,1976-09-02,243.59999999999044,243.60567,2015-01-01 00:40:36,bin2436,35,True +CTSPillarNetworkA,2437,2437,2437,1976-09-03,243.69999999999044,243.70567,2015-01-01 00:40:37,bin2437,75,True +CTSPillarNetworkA,2438,2438,2438,1976-09-04,243.79999999999043,243.80568,2015-01-01 00:40:38,bin2438,35,True +CTSPillarNetworkA,2439,2439,2439,1976-09-05,243.89999999999043,243.90569,2015-01-01 00:40:39,bin2439,75,True +CTSPillarNetworkA,2440,2440,2440,1976-09-06,243.99999999999042,244.00569,2015-01-01 00:40:40,bin2440,35,True +CTSPillarNetworkA,2441,2441,2441,1976-09-07,244.09999999999042,244.1057,2015-01-01 00:40:41,bin2441,75,True +CTSPillarNetworkA,2442,2442,2442,1976-09-08,244.1999999999904,244.2057,2015-01-01 00:40:42,bin2442,35,True +CTSPillarNetworkA,2443,2443,2443,1976-09-09,244.2999999999904,244.30571,2015-01-01 00:40:43,bin2443,75,True +CTSPillarNetworkA,2444,2444,2444,1976-09-10,244.3999999999904,244.40572,2015-01-01 00:40:44,bin2444,35,True +CTSPillarNetworkA,2445,2445,2445,1976-09-11,244.4999999999904,244.50572,2015-01-01 00:40:45,bin2445,75,True +CTSPillarNetworkA,2446,2446,2446,1976-09-12,244.5999999999904,244.60573,2015-01-01 00:40:46,bin2446,35,True +CTSPillarNetworkA,2447,2447,2447,1976-09-13,244.69999999999038,244.70573,2015-01-01 00:40:47,bin2447,75,True +CTSPillarNetworkA,2448,2448,2448,1976-09-14,244.79999999999038,244.80574,2015-01-01 00:40:48,bin2448,35,True +CTSPillarNetworkA,2449,2449,2449,1976-09-15,244.89999999999037,244.90575,2015-01-01 00:40:49,bin2449,75,True +CTSPillarNetworkA,2450,2450,2450,1976-09-16,244.99999999999037,245.00575,2015-01-01 00:40:50,bin2450,35,True +CTSPillarNetworkA,2451,2451,2451,1976-09-17,245.09999999999036,245.10576,2015-01-01 00:40:51,bin2451,75,True +CTSPillarNetworkA,2452,2452,2452,1976-09-18,245.19999999999035,245.20576,2015-01-01 00:40:52,bin2452,35,True +CTSPillarNetworkA,2453,2453,2453,1976-09-19,245.29999999999035,245.30577,2015-01-01 00:40:53,bin2453,75,True +CTSPillarNetworkA,2454,2454,2454,1976-09-20,245.39999999999034,245.40578,2015-01-01 00:40:54,bin2454,35,True +CTSPillarNetworkA,2455,2455,2455,1976-09-21,245.49999999999034,245.50578,2015-01-01 00:40:55,bin2455,75,True +CTSPillarNetworkA,2456,2456,2456,1976-09-22,245.59999999999033,245.60579,2015-01-01 00:40:56,bin2456,35,True +CTSPillarNetworkA,2457,2457,2457,1976-09-23,245.69999999999033,245.7058,2015-01-01 00:40:57,bin2457,75,True +CTSPillarNetworkA,2458,2458,2458,1976-09-24,245.79999999999032,245.8058,2015-01-01 00:40:58,bin2458,35,True +CTSPillarNetworkA,2459,2459,2459,1976-09-25,245.8999999999903,245.9058,2015-01-01 00:40:59,bin2459,75,True +CTSPillarNetworkA,2460,2460,2460,1976-09-26,245.9999999999903,246.00581,2015-01-01 00:41:00,bin2460,35,True +CTSPillarNetworkA,2461,2461,2461,1976-09-27,246.0999999999903,246.10582,2015-01-01 00:41:01,bin2461,75,True +CTSPillarNetworkA,2462,2462,2462,1976-09-28,246.1999999999903,246.20583,2015-01-01 00:41:02,bin2462,35,True +CTSPillarNetworkA,2463,2463,2463,1976-09-29,246.2999999999903,246.30583,2015-01-01 00:41:03,bin2463,75,True +CTSPillarNetworkA,2464,2464,2464,1976-09-30,246.39999999999029,246.40584,2015-01-01 00:41:04,bin2464,35,True +CTSPillarNetworkA,2465,2465,2465,1976-10-01,246.49999999999028,246.50584,2015-01-01 00:41:05,bin2465,75,True +CTSPillarNetworkA,2466,2466,2466,1976-10-02,246.59999999999027,246.60585,2015-01-01 00:41:06,bin2466,35,True +CTSPillarNetworkA,2467,2467,2467,1976-10-03,246.69999999999027,246.70586,2015-01-01 00:41:07,bin2467,75,True +CTSPillarNetworkA,2468,2468,2468,1976-10-04,246.79999999999026,246.80586,2015-01-01 00:41:08,bin2468,35,True +CTSPillarNetworkA,2469,2469,2469,1976-10-05,246.89999999999026,246.90587,2015-01-01 00:41:09,bin2469,75,True +CTSPillarNetworkA,2470,2470,2470,1976-10-06,246.99999999999025,247.00587,2015-01-01 00:41:10,bin2470,35,True +CTSPillarNetworkA,2471,2471,2471,1976-10-07,247.09999999999025,247.10588,2015-01-01 00:41:11,bin2471,75,True +CTSPillarNetworkA,2472,2472,2472,1976-10-08,247.19999999999024,247.20589,2015-01-01 00:41:12,bin2472,35,True +CTSPillarNetworkA,2473,2473,2473,1976-10-09,247.29999999999023,247.3059,2015-01-01 00:41:13,bin2473,75,True +CTSPillarNetworkA,2474,2474,2474,1976-10-10,247.39999999999023,247.4059,2015-01-01 00:41:14,bin2474,35,True +CTSPillarNetworkA,2475,2475,2475,1976-10-11,247.49999999999022,247.5059,2015-01-01 00:41:15,bin2475,75,True +CTSPillarNetworkA,2476,2476,2476,1976-10-12,247.59999999999022,247.60591,2015-01-01 00:41:16,bin2476,35,True +CTSPillarNetworkA,2477,2477,2477,1976-10-13,247.6999999999902,247.70592,2015-01-01 00:41:17,bin2477,75,True +CTSPillarNetworkA,2478,2478,2478,1976-10-14,247.7999999999902,247.80592,2015-01-01 00:41:18,bin2478,35,True +CTSPillarNetworkA,2479,2479,2479,1976-10-15,247.8999999999902,247.90593,2015-01-01 00:41:19,bin2479,75,True +CTSPillarNetworkA,2480,2480,2480,1976-10-16,247.9999999999902,248.00594,2015-01-01 00:41:20,bin2480,35,True +CTSPillarNetworkA,2481,2481,2481,1976-10-17,248.0999999999902,248.10594,2015-01-01 00:41:21,bin2481,75,True +CTSPillarNetworkA,2482,2482,2482,1976-10-18,248.19999999999018,248.20595,2015-01-01 00:41:22,bin2482,35,True +CTSPillarNetworkA,2483,2483,2483,1976-10-19,248.29999999999018,248.30595,2015-01-01 00:41:23,bin2483,75,True +CTSPillarNetworkA,2484,2484,2484,1976-10-20,248.39999999999017,248.40596,2015-01-01 00:41:24,bin2484,35,True +CTSPillarNetworkA,2485,2485,2485,1976-10-21,248.49999999999017,248.50597,2015-01-01 00:41:25,bin2485,75,True +CTSPillarNetworkA,2486,2486,2486,1976-10-22,248.59999999999016,248.60597,2015-01-01 00:41:26,bin2486,35,True +CTSPillarNetworkA,2487,2487,2487,1976-10-23,248.69999999999015,248.70598,2015-01-01 00:41:27,bin2487,75,True +CTSPillarNetworkA,2488,2488,2488,1976-10-24,248.79999999999015,248.80598,2015-01-01 00:41:28,bin2488,35,True +CTSPillarNetworkA,2489,2489,2489,1976-10-25,248.89999999999014,248.90599,2015-01-01 00:41:29,bin2489,75,True +CTSPillarNetworkA,2490,2490,2490,1976-10-26,248.99999999999014,249.006,2015-01-01 00:41:30,bin2490,35,True +CTSPillarNetworkA,2491,2491,2491,1976-10-27,249.09999999999013,249.106,2015-01-01 00:41:31,bin2491,75,True +CTSPillarNetworkA,2492,2492,2492,1976-10-28,249.19999999999013,249.20601,2015-01-01 00:41:32,bin2492,35,True +CTSPillarNetworkA,2493,2493,2493,1976-10-29,249.29999999999012,249.30602,2015-01-01 00:41:33,bin2493,75,True +CTSPillarNetworkA,2494,2494,2494,1976-10-30,249.39999999999011,249.40602,2015-01-01 00:41:34,bin2494,35,True +CTSPillarNetworkA,2495,2495,2495,1976-10-31,249.4999999999901,249.50603,2015-01-01 00:41:35,bin2495,75,True +CTSPillarNetworkA,2496,2496,2496,1976-11-01,249.5999999999901,249.60603,2015-01-01 00:41:36,bin2496,35,True +CTSPillarNetworkA,2497,2497,2497,1976-11-02,249.6999999999901,249.70604,2015-01-01 00:41:37,bin2497,75,True +CTSPillarNetworkA,2498,2498,2498,1976-11-03,249.7999999999901,249.80605,2015-01-01 00:41:38,bin2498,35,True +CTSPillarNetworkA,2499,2499,2499,1976-11-04,249.8999999999901,249.90605,2015-01-01 00:41:39,bin2499,75,True +CTSPillarNetworkA,2500,2500,2500,1976-11-05,249.99999999999008,250.00606,2015-01-01 00:41:40,bin2500,35,True +CTSPillarNetworkA,2501,2501,2501,1976-11-06,250.09999999999008,250.10606,2015-01-01 00:41:41,bin2501,75,True +CTSPillarNetworkA,2502,2502,2502,1976-11-07,250.19999999999007,250.20607,2015-01-01 00:41:42,bin2502,35,True +CTSPillarNetworkA,2503,2503,2503,1976-11-08,250.29999999999006,250.30608,2015-01-01 00:41:43,bin2503,75,True +CTSPillarNetworkA,2504,2504,2504,1976-11-09,250.39999999999006,250.40608,2015-01-01 00:41:44,bin2504,35,True +CTSPillarNetworkA,2505,2505,2505,1976-11-10,250.49999999999005,250.50609,2015-01-01 00:41:45,bin2505,75,True +CTSPillarNetworkA,2506,2506,2506,1976-11-11,250.59999999999005,250.6061,2015-01-01 00:41:46,bin2506,35,True +CTSPillarNetworkA,2507,2507,2507,1976-11-12,250.69999999999004,250.7061,2015-01-01 00:41:47,bin2507,75,True +CTSPillarNetworkA,2508,2508,2508,1976-11-13,250.79999999999004,250.8061,2015-01-01 00:41:48,bin2508,35,True +CTSPillarNetworkA,2509,2509,2509,1976-11-14,250.89999999999003,250.90611,2015-01-01 00:41:49,bin2509,75,True +CTSPillarNetworkA,2510,2510,2510,1976-11-15,250.99999999999002,251.00612,2015-01-01 00:41:50,bin2510,35,True +CTSPillarNetworkA,2511,2511,2511,1976-11-16,251.09999999999002,251.10612,2015-01-01 00:41:51,bin2511,75,True +CTSPillarNetworkA,2512,2512,2512,1976-11-17,251.19999999999,251.20613,2015-01-01 00:41:52,bin2512,35,True +CTSPillarNetworkA,2513,2513,2513,1976-11-18,251.29999999999,251.30614,2015-01-01 00:41:53,bin2513,75,True +CTSPillarNetworkA,2514,2514,2514,1976-11-19,251.39999999999,251.40614,2015-01-01 00:41:54,bin2514,35,True +CTSPillarNetworkA,2515,2515,2515,1976-11-20,251.49999999999,251.50615,2015-01-01 00:41:55,bin2515,75,True +CTSPillarNetworkA,2516,2516,2516,1976-11-21,251.59999999999,251.60616,2015-01-01 00:41:56,bin2516,35,True +CTSPillarNetworkA,2517,2517,2517,1976-11-22,251.69999999998998,251.70616,2015-01-01 00:41:57,bin2517,75,True +CTSPillarNetworkA,2518,2518,2518,1976-11-23,251.79999999998998,251.80617,2015-01-01 00:41:58,bin2518,35,True +CTSPillarNetworkA,2519,2519,2519,1976-11-24,251.89999999998997,251.90617,2015-01-01 00:41:59,bin2519,75,True +CTSPillarNetworkA,2520,2520,2520,1976-11-25,251.99999999998997,252.00618,2015-01-01 00:42:00,bin2520,35,True +CTSPillarNetworkA,2521,2521,2521,1976-11-26,252.09999999998996,252.10619,2015-01-01 00:42:01,bin2521,75,True +CTSPillarNetworkA,2522,2522,2522,1976-11-27,252.19999999998996,252.20619,2015-01-01 00:42:02,bin2522,35,True +CTSPillarNetworkA,2523,2523,2523,1976-11-28,252.29999999998995,252.3062,2015-01-01 00:42:03,bin2523,75,True +CTSPillarNetworkA,2524,2524,2524,1976-11-29,252.39999999998994,252.4062,2015-01-01 00:42:04,bin2524,35,True +CTSPillarNetworkA,2525,2525,2525,1976-11-30,252.49999999998994,252.50621,2015-01-01 00:42:05,bin2525,75,True +CTSPillarNetworkA,2526,2526,2526,1976-12-01,252.59999999998993,252.60622,2015-01-01 00:42:06,bin2526,35,True +CTSPillarNetworkA,2527,2527,2527,1976-12-02,252.69999999998993,252.70622,2015-01-01 00:42:07,bin2527,75,True +CTSPillarNetworkA,2528,2528,2528,1976-12-03,252.79999999998992,252.80623,2015-01-01 00:42:08,bin2528,35,True +CTSPillarNetworkA,2529,2529,2529,1976-12-04,252.89999999998992,252.90623,2015-01-01 00:42:09,bin2529,75,True +CTSPillarNetworkA,2530,2530,2530,1976-12-05,252.9999999999899,253.00624,2015-01-01 00:42:10,bin2530,35,True +CTSPillarNetworkA,2531,2531,2531,1976-12-06,253.0999999999899,253.10625,2015-01-01 00:42:11,bin2531,75,True +CTSPillarNetworkA,2532,2532,2532,1976-12-07,253.1999999999899,253.20625,2015-01-01 00:42:12,bin2532,35,True +CTSPillarNetworkA,2533,2533,2533,1976-12-08,253.2999999999899,253.30626,2015-01-01 00:42:13,bin2533,75,True +CTSPillarNetworkA,2534,2534,2534,1976-12-09,253.3999999999899,253.40627,2015-01-01 00:42:14,bin2534,35,True +CTSPillarNetworkA,2535,2535,2535,1976-12-10,253.49999999998988,253.50627,2015-01-01 00:42:15,bin2535,75,True +CTSPillarNetworkA,2536,2536,2536,1976-12-11,253.59999999998988,253.60628,2015-01-01 00:42:16,bin2536,35,True +CTSPillarNetworkA,2537,2537,2537,1976-12-12,253.69999999998987,253.70628,2015-01-01 00:42:17,bin2537,75,True +CTSPillarNetworkA,2538,2538,2538,1976-12-13,253.79999999998986,253.80629,2015-01-01 00:42:18,bin2538,35,True +CTSPillarNetworkA,2539,2539,2539,1976-12-14,253.89999999998986,253.9063,2015-01-01 00:42:19,bin2539,75,True +CTSPillarNetworkA,2540,2540,2540,1976-12-15,253.99999999998985,254.0063,2015-01-01 00:42:20,bin2540,35,True +CTSPillarNetworkA,2541,2541,2541,1976-12-16,254.09999999998985,254.10631,2015-01-01 00:42:21,bin2541,75,True +CTSPillarNetworkA,2542,2542,2542,1976-12-17,254.19999999998984,254.20631,2015-01-01 00:42:22,bin2542,35,True +CTSPillarNetworkA,2543,2543,2543,1976-12-18,254.29999999998984,254.30632,2015-01-01 00:42:23,bin2543,75,True +CTSPillarNetworkA,2544,2544,2544,1976-12-19,254.39999999998983,254.40633,2015-01-01 00:42:24,bin2544,35,True +CTSPillarNetworkA,2545,2545,2545,1976-12-20,254.49999999998983,254.50633,2015-01-01 00:42:25,bin2545,75,True +CTSPillarNetworkA,2546,2546,2546,1976-12-21,254.59999999998982,254.60634,2015-01-01 00:42:26,bin2546,35,True +CTSPillarNetworkA,2547,2547,2547,1976-12-22,254.6999999999898,254.70634,2015-01-01 00:42:27,bin2547,75,True +CTSPillarNetworkA,2548,2548,2548,1976-12-23,254.7999999999898,254.80635,2015-01-01 00:42:28,bin2548,35,True +CTSPillarNetworkA,2549,2549,2549,1976-12-24,254.8999999999898,254.90636,2015-01-01 00:42:29,bin2549,75,True +CTSPillarNetworkA,2550,2550,2550,1976-12-25,254.9999999999898,255.00636,2015-01-01 00:42:30,bin2550,35,True +CTSPillarNetworkA,2551,2551,2551,1976-12-26,255.0999999999898,255.10637,2015-01-01 00:42:31,bin2551,75,True +CTSPillarNetworkA,2552,2552,2552,1976-12-27,255.19999999998979,255.20638,2015-01-01 00:42:32,bin2552,35,True +CTSPillarNetworkA,2553,2553,2553,1976-12-28,255.29999999998978,255.30638,2015-01-01 00:42:33,bin2553,75,True +CTSPillarNetworkA,2554,2554,2554,1976-12-29,255.39999999998977,255.40639,2015-01-01 00:42:34,bin2554,35,True +CTSPillarNetworkA,2555,2555,2555,1976-12-30,255.49999999998977,255.5064,2015-01-01 00:42:35,bin2555,75,True +CTSPillarNetworkA,2556,2556,2556,1976-12-31,255.59999999998976,255.6064,2015-01-01 00:42:36,bin2556,35,True +CTSPillarNetworkA,2557,2557,2557,1977-01-01,255.69999999998976,255.7064,2015-01-01 00:42:37,bin2557,75,True +CTSPillarNetworkA,2558,2558,2558,1977-01-02,255.79999999998975,255.80641,2015-01-01 00:42:38,bin2558,35,True +CTSPillarNetworkA,2559,2559,2559,1977-01-03,255.89999999998975,255.90642,2015-01-01 00:42:39,bin2559,75,True +CTSPillarNetworkA,2560,2560,2560,1977-01-04,255.99999999998974,256.0064,2015-01-01 00:42:40,bin2560,35,True +CTSPillarNetworkA,2561,2561,2561,1977-01-05,256.09999999998973,256.1064,2015-01-01 00:42:41,bin2561,75,True +CTSPillarNetworkA,2562,2562,2562,1977-01-06,256.19999999998976,256.20642,2015-01-01 00:42:42,bin2562,35,True +CTSPillarNetworkA,2563,2563,2563,1977-01-07,256.2999999999898,256.30643,2015-01-01 00:42:43,bin2563,75,True +CTSPillarNetworkA,2564,2564,2564,1977-01-08,256.3999999999898,256.40643,2015-01-01 00:42:44,bin2564,35,True +CTSPillarNetworkA,2565,2565,2565,1977-01-09,256.4999999999898,256.50644,2015-01-01 00:42:45,bin2565,75,True +CTSPillarNetworkA,2566,2566,2566,1977-01-10,256.59999999998985,256.60645,2015-01-01 00:42:46,bin2566,35,True +CTSPillarNetworkA,2567,2567,2567,1977-01-11,256.69999999998987,256.70645,2015-01-01 00:42:47,bin2567,75,True +CTSPillarNetworkA,2568,2568,2568,1977-01-12,256.7999999999899,256.80646,2015-01-01 00:42:48,bin2568,35,True +CTSPillarNetworkA,2569,2569,2569,1977-01-13,256.8999999999899,256.90646,2015-01-01 00:42:49,bin2569,75,True +CTSPillarNetworkA,2570,2570,2570,1977-01-14,256.99999999998994,257.00647,2015-01-01 00:42:50,bin2570,35,True +CTSPillarNetworkA,2571,2571,2571,1977-01-15,257.09999999998996,257.10648,2015-01-01 00:42:51,bin2571,75,True +CTSPillarNetworkA,2572,2572,2572,1977-01-16,257.19999999999,257.20648,2015-01-01 00:42:52,bin2572,35,True +CTSPillarNetworkA,2573,2573,2573,1977-01-17,257.29999999999,257.3065,2015-01-01 00:42:53,bin2573,75,True +CTSPillarNetworkA,2574,2574,2574,1977-01-18,257.39999999999003,257.4065,2015-01-01 00:42:54,bin2574,35,True +CTSPillarNetworkA,2575,2575,2575,1977-01-19,257.49999999999005,257.5065,2015-01-01 00:42:55,bin2575,75,True +CTSPillarNetworkA,2576,2576,2576,1977-01-20,257.5999999999901,257.6065,2015-01-01 00:42:56,bin2576,35,True +CTSPillarNetworkA,2577,2577,2577,1977-01-21,257.6999999999901,257.7065,2015-01-01 00:42:57,bin2577,75,True +CTSPillarNetworkA,2578,2578,2578,1977-01-22,257.7999999999901,257.80652,2015-01-01 00:42:58,bin2578,35,True +CTSPillarNetworkA,2579,2579,2579,1977-01-23,257.89999999999014,257.90652,2015-01-01 00:42:59,bin2579,75,True +CTSPillarNetworkA,2580,2580,2580,1977-01-24,257.99999999999017,258.00653,2015-01-01 00:43:00,bin2580,35,True +CTSPillarNetworkA,2581,2581,2581,1977-01-25,258.0999999999902,258.10654,2015-01-01 00:43:01,bin2581,75,True +CTSPillarNetworkA,2582,2582,2582,1977-01-26,258.1999999999902,258.20654,2015-01-01 00:43:02,bin2582,35,True +CTSPillarNetworkA,2583,2583,2583,1977-01-27,258.29999999999023,258.30655,2015-01-01 00:43:03,bin2583,75,True +CTSPillarNetworkA,2584,2584,2584,1977-01-28,258.39999999999026,258.40656,2015-01-01 00:43:04,bin2584,35,True +CTSPillarNetworkA,2585,2585,2585,1977-01-29,258.4999999999903,258.50656,2015-01-01 00:43:05,bin2585,75,True +CTSPillarNetworkA,2586,2586,2586,1977-01-30,258.5999999999903,258.60657,2015-01-01 00:43:06,bin2586,35,True +CTSPillarNetworkA,2587,2587,2587,1977-01-31,258.6999999999903,258.70657,2015-01-01 00:43:07,bin2587,75,True +CTSPillarNetworkA,2588,2588,2588,1977-02-01,258.79999999999035,258.80658,2015-01-01 00:43:08,bin2588,35,True +CTSPillarNetworkA,2589,2589,2589,1977-02-02,258.89999999999037,258.9066,2015-01-01 00:43:09,bin2589,75,True +CTSPillarNetworkA,2590,2590,2590,1977-02-03,258.9999999999904,259.0066,2015-01-01 00:43:10,bin2590,35,True +CTSPillarNetworkA,2591,2591,2591,1977-02-04,259.0999999999904,259.1066,2015-01-01 00:43:11,bin2591,75,True +CTSPillarNetworkA,2592,2592,2592,1977-02-05,259.19999999999044,259.2066,2015-01-01 00:43:12,bin2592,35,True +CTSPillarNetworkA,2593,2593,2593,1977-02-06,259.29999999999046,259.3066,2015-01-01 00:43:13,bin2593,75,True +CTSPillarNetworkA,2594,2594,2594,1977-02-07,259.3999999999905,259.40662,2015-01-01 00:43:14,bin2594,35,True +CTSPillarNetworkA,2595,2595,2595,1977-02-08,259.4999999999905,259.50662,2015-01-01 00:43:15,bin2595,75,True +CTSPillarNetworkA,2596,2596,2596,1977-02-09,259.59999999999053,259.60663,2015-01-01 00:43:16,bin2596,35,True +CTSPillarNetworkA,2597,2597,2597,1977-02-10,259.69999999999055,259.70663,2015-01-01 00:43:17,bin2597,75,True +CTSPillarNetworkA,2598,2598,2598,1977-02-11,259.7999999999906,259.80664,2015-01-01 00:43:18,bin2598,35,True +CTSPillarNetworkA,2599,2599,2599,1977-02-12,259.8999999999906,259.90665,2015-01-01 00:43:19,bin2599,75,True +CTSPillarNetworkA,2600,2600,2600,1977-02-13,259.9999999999906,260.00665,2015-01-01 00:43:20,bin2600,35,True +CTSPillarNetworkA,2601,2601,2601,1977-02-14,260.09999999999064,260.10666,2015-01-01 00:43:21,bin2601,75,True +CTSPillarNetworkA,2602,2602,2602,1977-02-15,260.19999999999067,260.20667,2015-01-01 00:43:22,bin2602,35,True +CTSPillarNetworkA,2603,2603,2603,1977-02-16,260.2999999999907,260.30667,2015-01-01 00:43:23,bin2603,75,True +CTSPillarNetworkA,2604,2604,2604,1977-02-17,260.3999999999907,260.40668,2015-01-01 00:43:24,bin2604,35,True +CTSPillarNetworkA,2605,2605,2605,1977-02-18,260.49999999999073,260.50668,2015-01-01 00:43:25,bin2605,75,True +CTSPillarNetworkA,2606,2606,2606,1977-02-19,260.59999999999076,260.6067,2015-01-01 00:43:26,bin2606,35,True +CTSPillarNetworkA,2607,2607,2607,1977-02-20,260.6999999999908,260.7067,2015-01-01 00:43:27,bin2607,75,True +CTSPillarNetworkA,2608,2608,2608,1977-02-21,260.7999999999908,260.8067,2015-01-01 00:43:28,bin2608,35,True +CTSPillarNetworkA,2609,2609,2609,1977-02-22,260.8999999999908,260.9067,2015-01-01 00:43:29,bin2609,75,True +CTSPillarNetworkA,2610,2610,2610,1977-02-23,260.99999999999085,261.0067,2015-01-01 00:43:30,bin2610,35,True +CTSPillarNetworkA,2611,2611,2611,1977-02-24,261.09999999999087,261.10672,2015-01-01 00:43:31,bin2611,75,True +CTSPillarNetworkA,2612,2612,2612,1977-02-25,261.1999999999909,261.20673,2015-01-01 00:43:32,bin2612,35,True +CTSPillarNetworkA,2613,2613,2613,1977-02-26,261.2999999999909,261.30673,2015-01-01 00:43:33,bin2613,75,True +CTSPillarNetworkA,2614,2614,2614,1977-02-27,261.39999999999094,261.40674,2015-01-01 00:43:34,bin2614,35,True +CTSPillarNetworkA,2615,2615,2615,1977-02-28,261.49999999999096,261.50674,2015-01-01 00:43:35,bin2615,75,True +CTSPillarNetworkA,2616,2616,2616,1977-03-01,261.599999999991,261.60675,2015-01-01 00:43:36,bin2616,35,True +CTSPillarNetworkA,2617,2617,2617,1977-03-02,261.699999999991,261.70676,2015-01-01 00:43:37,bin2617,75,True +CTSPillarNetworkA,2618,2618,2618,1977-03-03,261.79999999999103,261.80676,2015-01-01 00:43:38,bin2618,35,True +CTSPillarNetworkA,2619,2619,2619,1977-03-04,261.89999999999105,261.90677,2015-01-01 00:43:39,bin2619,75,True +CTSPillarNetworkA,2620,2620,2620,1977-03-05,261.9999999999911,262.00677,2015-01-01 00:43:40,bin2620,35,True +CTSPillarNetworkA,2621,2621,2621,1977-03-06,262.0999999999911,262.10678,2015-01-01 00:43:41,bin2621,75,True +CTSPillarNetworkA,2622,2622,2622,1977-03-07,262.1999999999911,262.2068,2015-01-01 00:43:42,bin2622,35,True +CTSPillarNetworkA,2623,2623,2623,1977-03-08,262.29999999999114,262.3068,2015-01-01 00:43:43,bin2623,75,True +CTSPillarNetworkA,2624,2624,2624,1977-03-09,262.39999999999117,262.4068,2015-01-01 00:43:44,bin2624,35,True +CTSPillarNetworkA,2625,2625,2625,1977-03-10,262.4999999999912,262.5068,2015-01-01 00:43:45,bin2625,75,True +CTSPillarNetworkA,2626,2626,2626,1977-03-11,262.5999999999912,262.6068,2015-01-01 00:43:46,bin2626,35,True +CTSPillarNetworkA,2627,2627,2627,1977-03-12,262.69999999999123,262.70682,2015-01-01 00:43:47,bin2627,75,True +CTSPillarNetworkA,2628,2628,2628,1977-03-13,262.79999999999126,262.80682,2015-01-01 00:43:48,bin2628,35,True +CTSPillarNetworkA,2629,2629,2629,1977-03-14,262.8999999999913,262.90683,2015-01-01 00:43:49,bin2629,75,True +CTSPillarNetworkA,2630,2630,2630,1977-03-15,262.9999999999913,263.00684,2015-01-01 00:43:50,bin2630,35,True +CTSPillarNetworkA,2631,2631,2631,1977-03-16,263.0999999999913,263.10684,2015-01-01 00:43:51,bin2631,75,True +CTSPillarNetworkA,2632,2632,2632,1977-03-17,263.19999999999135,263.20685,2015-01-01 00:43:52,bin2632,35,True +CTSPillarNetworkA,2633,2633,2633,1977-03-18,263.29999999999137,263.30685,2015-01-01 00:43:53,bin2633,75,True +CTSPillarNetworkA,2634,2634,2634,1977-03-19,263.3999999999914,263.40686,2015-01-01 00:43:54,bin2634,35,True +CTSPillarNetworkA,2635,2635,2635,1977-03-20,263.4999999999914,263.50687,2015-01-01 00:43:55,bin2635,75,True +CTSPillarNetworkA,2636,2636,2636,1977-03-21,263.59999999999144,263.60687,2015-01-01 00:43:56,bin2636,35,True +CTSPillarNetworkA,2637,2637,2637,1977-03-22,263.69999999999146,263.70688,2015-01-01 00:43:57,bin2637,75,True +CTSPillarNetworkA,2638,2638,2638,1977-03-23,263.7999999999915,263.8069,2015-01-01 00:43:58,bin2638,35,True +CTSPillarNetworkA,2639,2639,2639,1977-03-24,263.8999999999915,263.9069,2015-01-01 00:43:59,bin2639,75,True +CTSPillarNetworkA,2640,2640,2640,1977-03-25,263.99999999999153,264.0069,2015-01-01 00:44:00,bin2640,35,True +CTSPillarNetworkA,2641,2641,2641,1977-03-26,264.09999999999155,264.1069,2015-01-01 00:44:01,bin2641,75,True +CTSPillarNetworkA,2642,2642,2642,1977-03-27,264.1999999999916,264.2069,2015-01-01 00:44:02,bin2642,35,True +CTSPillarNetworkA,2643,2643,2643,1977-03-28,264.2999999999916,264.30692,2015-01-01 00:44:03,bin2643,75,True +CTSPillarNetworkA,2644,2644,2644,1977-03-29,264.3999999999916,264.40692,2015-01-01 00:44:04,bin2644,35,True +CTSPillarNetworkA,2645,2645,2645,1977-03-30,264.49999999999164,264.50693,2015-01-01 00:44:05,bin2645,75,True +CTSPillarNetworkA,2646,2646,2646,1977-03-31,264.59999999999167,264.60693,2015-01-01 00:44:06,bin2646,35,True +CTSPillarNetworkA,2647,2647,2647,1977-04-01,264.6999999999917,264.70694,2015-01-01 00:44:07,bin2647,75,True +CTSPillarNetworkA,2648,2648,2648,1977-04-02,264.7999999999917,264.80695,2015-01-01 00:44:08,bin2648,35,True +CTSPillarNetworkA,2649,2649,2649,1977-04-03,264.89999999999173,264.90695,2015-01-01 00:44:09,bin2649,75,True +CTSPillarNetworkA,2650,2650,2650,1977-04-04,264.99999999999176,265.00696,2015-01-01 00:44:10,bin2650,35,True +CTSPillarNetworkA,2651,2651,2651,1977-04-05,265.0999999999918,265.10696,2015-01-01 00:44:11,bin2651,75,True +CTSPillarNetworkA,2652,2652,2652,1977-04-06,265.1999999999918,265.20697,2015-01-01 00:44:12,bin2652,35,True +CTSPillarNetworkA,2653,2653,2653,1977-04-07,265.2999999999918,265.30698,2015-01-01 00:44:13,bin2653,75,True +CTSPillarNetworkA,2654,2654,2654,1977-04-08,265.39999999999185,265.40698,2015-01-01 00:44:14,bin2654,35,True +CTSPillarNetworkA,2655,2655,2655,1977-04-09,265.49999999999187,265.507,2015-01-01 00:44:15,bin2655,75,True +CTSPillarNetworkA,2656,2656,2656,1977-04-10,265.5999999999919,265.607,2015-01-01 00:44:16,bin2656,35,True +CTSPillarNetworkA,2657,2657,2657,1977-04-11,265.6999999999919,265.707,2015-01-01 00:44:17,bin2657,75,True +CTSPillarNetworkA,2658,2658,2658,1977-04-12,265.79999999999194,265.807,2015-01-01 00:44:18,bin2658,35,True +CTSPillarNetworkA,2659,2659,2659,1977-04-13,265.89999999999196,265.907,2015-01-01 00:44:19,bin2659,75,True +CTSPillarNetworkA,2660,2660,2660,1977-04-14,265.999999999992,266.00702,2015-01-01 00:44:20,bin2660,35,True +CTSPillarNetworkA,2661,2661,2661,1977-04-15,266.099999999992,266.10703,2015-01-01 00:44:21,bin2661,75,True +CTSPillarNetworkA,2662,2662,2662,1977-04-16,266.19999999999203,266.20703,2015-01-01 00:44:22,bin2662,35,True +CTSPillarNetworkA,2663,2663,2663,1977-04-17,266.29999999999205,266.30704,2015-01-01 00:44:23,bin2663,75,True +CTSPillarNetworkA,2664,2664,2664,1977-04-18,266.3999999999921,266.40704,2015-01-01 00:44:24,bin2664,35,True +CTSPillarNetworkA,2665,2665,2665,1977-04-19,266.4999999999921,266.50705,2015-01-01 00:44:25,bin2665,75,True +CTSPillarNetworkA,2666,2666,2666,1977-04-20,266.5999999999921,266.60706,2015-01-01 00:44:26,bin2666,35,True +CTSPillarNetworkA,2667,2667,2667,1977-04-21,266.69999999999214,266.70706,2015-01-01 00:44:27,bin2667,75,True +CTSPillarNetworkA,2668,2668,2668,1977-04-22,266.79999999999217,266.80707,2015-01-01 00:44:28,bin2668,35,True +CTSPillarNetworkA,2669,2669,2669,1977-04-23,266.8999999999922,266.90707,2015-01-01 00:44:29,bin2669,75,True +CTSPillarNetworkA,2670,2670,2670,1977-04-24,266.9999999999922,267.00708,2015-01-01 00:44:30,bin2670,35,True +CTSPillarNetworkA,2671,2671,2671,1977-04-25,267.09999999999224,267.1071,2015-01-01 00:44:31,bin2671,75,True +CTSPillarNetworkA,2672,2672,2672,1977-04-26,267.19999999999226,267.2071,2015-01-01 00:44:32,bin2672,35,True +CTSPillarNetworkA,2673,2673,2673,1977-04-27,267.2999999999923,267.3071,2015-01-01 00:44:33,bin2673,75,True +CTSPillarNetworkA,2674,2674,2674,1977-04-28,267.3999999999923,267.4071,2015-01-01 00:44:34,bin2674,35,True +CTSPillarNetworkA,2675,2675,2675,1977-04-29,267.4999999999923,267.5071,2015-01-01 00:44:35,bin2675,75,True +CTSPillarNetworkA,2676,2676,2676,1977-04-30,267.59999999999235,267.60712,2015-01-01 00:44:36,bin2676,35,True +CTSPillarNetworkA,2677,2677,2677,1977-05-01,267.6999999999924,267.70712,2015-01-01 00:44:37,bin2677,75,True +CTSPillarNetworkA,2678,2678,2678,1977-05-02,267.7999999999924,267.80713,2015-01-01 00:44:38,bin2678,35,True +CTSPillarNetworkA,2679,2679,2679,1977-05-03,267.8999999999924,267.90714,2015-01-01 00:44:39,bin2679,75,True +CTSPillarNetworkA,2680,2680,2680,1977-05-04,267.99999999999244,268.00714,2015-01-01 00:44:40,bin2680,35,True +CTSPillarNetworkA,2681,2681,2681,1977-05-05,268.09999999999246,268.10715,2015-01-01 00:44:41,bin2681,75,True +CTSPillarNetworkA,2682,2682,2682,1977-05-06,268.1999999999925,268.20715,2015-01-01 00:44:42,bin2682,35,True +CTSPillarNetworkA,2683,2683,2683,1977-05-07,268.2999999999925,268.30716,2015-01-01 00:44:43,bin2683,75,True +CTSPillarNetworkA,2684,2684,2684,1977-05-08,268.39999999999253,268.40717,2015-01-01 00:44:44,bin2684,35,True +CTSPillarNetworkA,2685,2685,2685,1977-05-09,268.49999999999255,268.50717,2015-01-01 00:44:45,bin2685,75,True +CTSPillarNetworkA,2686,2686,2686,1977-05-10,268.5999999999926,268.60718,2015-01-01 00:44:46,bin2686,35,True +CTSPillarNetworkA,2687,2687,2687,1977-05-11,268.6999999999926,268.70718,2015-01-01 00:44:47,bin2687,75,True +CTSPillarNetworkA,2688,2688,2688,1977-05-12,268.7999999999926,268.8072,2015-01-01 00:44:48,bin2688,35,True +CTSPillarNetworkA,2689,2689,2689,1977-05-13,268.89999999999264,268.9072,2015-01-01 00:44:49,bin2689,75,True +CTSPillarNetworkA,2690,2690,2690,1977-05-14,268.99999999999267,269.0072,2015-01-01 00:44:50,bin2690,35,True +CTSPillarNetworkA,2691,2691,2691,1977-05-15,269.0999999999927,269.1072,2015-01-01 00:44:51,bin2691,75,True +CTSPillarNetworkA,2692,2692,2692,1977-05-16,269.1999999999927,269.2072,2015-01-01 00:44:52,bin2692,35,True +CTSPillarNetworkA,2693,2693,2693,1977-05-17,269.29999999999274,269.30722,2015-01-01 00:44:53,bin2693,75,True +CTSPillarNetworkA,2694,2694,2694,1977-05-18,269.39999999999276,269.40723,2015-01-01 00:44:54,bin2694,35,True +CTSPillarNetworkA,2695,2695,2695,1977-05-19,269.4999999999928,269.50723,2015-01-01 00:44:55,bin2695,75,True +CTSPillarNetworkA,2696,2696,2696,1977-05-20,269.5999999999928,269.60724,2015-01-01 00:44:56,bin2696,35,True +CTSPillarNetworkA,2697,2697,2697,1977-05-21,269.6999999999928,269.70724,2015-01-01 00:44:57,bin2697,75,True +CTSPillarNetworkA,2698,2698,2698,1977-05-22,269.79999999999285,269.80725,2015-01-01 00:44:58,bin2698,35,True +CTSPillarNetworkA,2699,2699,2699,1977-05-23,269.8999999999929,269.90726,2015-01-01 00:44:59,bin2699,75,True +CTSPillarNetworkA,2700,2700,2700,1977-05-24,269.9999999999929,270.00726,2015-01-01 00:45:00,bin2700,35,True +CTSPillarNetworkA,2701,2701,2701,1977-05-25,270.0999999999929,270.10727,2015-01-01 00:45:01,bin2701,75,True +CTSPillarNetworkA,2702,2702,2702,1977-05-26,270.19999999999294,270.20728,2015-01-01 00:45:02,bin2702,35,True +CTSPillarNetworkA,2703,2703,2703,1977-05-27,270.29999999999296,270.30728,2015-01-01 00:45:03,bin2703,75,True +CTSPillarNetworkA,2704,2704,2704,1977-05-28,270.399999999993,270.4073,2015-01-01 00:45:04,bin2704,35,True +CTSPillarNetworkA,2705,2705,2705,1977-05-29,270.499999999993,270.5073,2015-01-01 00:45:05,bin2705,75,True +CTSPillarNetworkA,2706,2706,2706,1977-05-30,270.59999999999303,270.6073,2015-01-01 00:45:06,bin2706,35,True +CTSPillarNetworkA,2707,2707,2707,1977-05-31,270.69999999999305,270.7073,2015-01-01 00:45:07,bin2707,75,True +CTSPillarNetworkA,2708,2708,2708,1977-06-01,270.7999999999931,270.8073,2015-01-01 00:45:08,bin2708,35,True +CTSPillarNetworkA,2709,2709,2709,1977-06-02,270.8999999999931,270.90732,2015-01-01 00:45:09,bin2709,75,True +CTSPillarNetworkA,2710,2710,2710,1977-06-03,270.9999999999931,271.00732,2015-01-01 00:45:10,bin2710,35,True +CTSPillarNetworkA,2711,2711,2711,1977-06-04,271.09999999999314,271.10733,2015-01-01 00:45:11,bin2711,75,True +CTSPillarNetworkA,2712,2712,2712,1977-06-05,271.19999999999317,271.20734,2015-01-01 00:45:12,bin2712,35,True +CTSPillarNetworkA,2713,2713,2713,1977-06-06,271.2999999999932,271.30734,2015-01-01 00:45:13,bin2713,75,True +CTSPillarNetworkA,2714,2714,2714,1977-06-07,271.3999999999932,271.40735,2015-01-01 00:45:14,bin2714,35,True +CTSPillarNetworkA,2715,2715,2715,1977-06-08,271.49999999999324,271.50735,2015-01-01 00:45:15,bin2715,75,True +CTSPillarNetworkA,2716,2716,2716,1977-06-09,271.59999999999326,271.60736,2015-01-01 00:45:16,bin2716,35,True +CTSPillarNetworkA,2717,2717,2717,1977-06-10,271.6999999999933,271.70737,2015-01-01 00:45:17,bin2717,75,True +CTSPillarNetworkA,2718,2718,2718,1977-06-11,271.7999999999933,271.80737,2015-01-01 00:45:18,bin2718,35,True +CTSPillarNetworkA,2719,2719,2719,1977-06-12,271.8999999999933,271.90738,2015-01-01 00:45:19,bin2719,75,True +CTSPillarNetworkA,2720,2720,2720,1977-06-13,271.99999999999335,272.0074,2015-01-01 00:45:20,bin2720,35,True +CTSPillarNetworkA,2721,2721,2721,1977-06-14,272.0999999999934,272.1074,2015-01-01 00:45:21,bin2721,75,True +CTSPillarNetworkA,2722,2722,2722,1977-06-15,272.1999999999934,272.2074,2015-01-01 00:45:22,bin2722,35,True +CTSPillarNetworkA,2723,2723,2723,1977-06-16,272.2999999999934,272.3074,2015-01-01 00:45:23,bin2723,75,True +CTSPillarNetworkA,2724,2724,2724,1977-06-17,272.39999999999344,272.4074,2015-01-01 00:45:24,bin2724,35,True +CTSPillarNetworkA,2725,2725,2725,1977-06-18,272.49999999999346,272.50742,2015-01-01 00:45:25,bin2725,75,True +CTSPillarNetworkA,2726,2726,2726,1977-06-19,272.5999999999935,272.60742,2015-01-01 00:45:26,bin2726,35,True +CTSPillarNetworkA,2727,2727,2727,1977-06-20,272.6999999999935,272.70743,2015-01-01 00:45:27,bin2727,75,True +CTSPillarNetworkA,2728,2728,2728,1977-06-21,272.79999999999353,272.80743,2015-01-01 00:45:28,bin2728,35,True +CTSPillarNetworkA,2729,2729,2729,1977-06-22,272.89999999999355,272.90744,2015-01-01 00:45:29,bin2729,75,True +CTSPillarNetworkA,2730,2730,2730,1977-06-23,272.9999999999936,273.00745,2015-01-01 00:45:30,bin2730,35,True +CTSPillarNetworkA,2731,2731,2731,1977-06-24,273.0999999999936,273.10745,2015-01-01 00:45:31,bin2731,75,True +CTSPillarNetworkA,2732,2732,2732,1977-06-25,273.1999999999936,273.20746,2015-01-01 00:45:32,bin2732,35,True +CTSPillarNetworkA,2733,2733,2733,1977-06-26,273.29999999999364,273.30746,2015-01-01 00:45:33,bin2733,75,True +CTSPillarNetworkA,2734,2734,2734,1977-06-27,273.39999999999367,273.40747,2015-01-01 00:45:34,bin2734,35,True +CTSPillarNetworkA,2735,2735,2735,1977-06-28,273.4999999999937,273.50748,2015-01-01 00:45:35,bin2735,75,True +CTSPillarNetworkA,2736,2736,2736,1977-06-29,273.5999999999937,273.60748,2015-01-01 00:45:36,bin2736,35,True +CTSPillarNetworkA,2737,2737,2737,1977-06-30,273.69999999999374,273.7075,2015-01-01 00:45:37,bin2737,75,True +CTSPillarNetworkA,2738,2738,2738,1977-07-01,273.79999999999376,273.8075,2015-01-01 00:45:38,bin2738,35,True +CTSPillarNetworkA,2739,2739,2739,1977-07-02,273.8999999999938,273.9075,2015-01-01 00:45:39,bin2739,75,True +CTSPillarNetworkA,2740,2740,2740,1977-07-03,273.9999999999938,274.0075,2015-01-01 00:45:40,bin2740,35,True +CTSPillarNetworkA,2741,2741,2741,1977-07-04,274.0999999999938,274.1075,2015-01-01 00:45:41,bin2741,75,True +CTSPillarNetworkA,2742,2742,2742,1977-07-05,274.19999999999385,274.20752,2015-01-01 00:45:42,bin2742,35,True +CTSPillarNetworkA,2743,2743,2743,1977-07-06,274.2999999999939,274.30753,2015-01-01 00:45:43,bin2743,75,True +CTSPillarNetworkA,2744,2744,2744,1977-07-07,274.3999999999939,274.40753,2015-01-01 00:45:44,bin2744,35,True +CTSPillarNetworkA,2745,2745,2745,1977-07-08,274.4999999999939,274.50754,2015-01-01 00:45:45,bin2745,75,True +CTSPillarNetworkA,2746,2746,2746,1977-07-09,274.59999999999394,274.60754,2015-01-01 00:45:46,bin2746,35,True +CTSPillarNetworkA,2747,2747,2747,1977-07-10,274.69999999999396,274.70755,2015-01-01 00:45:47,bin2747,75,True +CTSPillarNetworkA,2748,2748,2748,1977-07-11,274.799999999994,274.80756,2015-01-01 00:45:48,bin2748,35,True +CTSPillarNetworkA,2749,2749,2749,1977-07-12,274.899999999994,274.90756,2015-01-01 00:45:49,bin2749,75,True +CTSPillarNetworkA,2750,2750,2750,1977-07-13,274.99999999999403,275.00757,2015-01-01 00:45:50,bin2750,35,True +CTSPillarNetworkA,2751,2751,2751,1977-07-14,275.09999999999405,275.10757,2015-01-01 00:45:51,bin2751,75,True +CTSPillarNetworkA,2752,2752,2752,1977-07-15,275.1999999999941,275.20758,2015-01-01 00:45:52,bin2752,35,True +CTSPillarNetworkA,2753,2753,2753,1977-07-16,275.2999999999941,275.3076,2015-01-01 00:45:53,bin2753,75,True +CTSPillarNetworkA,2754,2754,2754,1977-07-17,275.3999999999941,275.4076,2015-01-01 00:45:54,bin2754,35,True +CTSPillarNetworkA,2755,2755,2755,1977-07-18,275.49999999999415,275.5076,2015-01-01 00:45:55,bin2755,75,True +CTSPillarNetworkA,2756,2756,2756,1977-07-19,275.59999999999417,275.6076,2015-01-01 00:45:56,bin2756,35,True +CTSPillarNetworkA,2757,2757,2757,1977-07-20,275.6999999999942,275.7076,2015-01-01 00:45:57,bin2757,75,True +CTSPillarNetworkA,2758,2758,2758,1977-07-21,275.7999999999942,275.80762,2015-01-01 00:45:58,bin2758,35,True +CTSPillarNetworkA,2759,2759,2759,1977-07-22,275.89999999999424,275.90762,2015-01-01 00:45:59,bin2759,75,True +CTSPillarNetworkA,2760,2760,2760,1977-07-23,275.99999999999426,276.00763,2015-01-01 00:46:00,bin2760,35,True +CTSPillarNetworkA,2761,2761,2761,1977-07-24,276.0999999999943,276.10764,2015-01-01 00:46:01,bin2761,75,True +CTSPillarNetworkA,2762,2762,2762,1977-07-25,276.1999999999943,276.20764,2015-01-01 00:46:02,bin2762,35,True +CTSPillarNetworkA,2763,2763,2763,1977-07-26,276.2999999999943,276.30765,2015-01-01 00:46:03,bin2763,75,True +CTSPillarNetworkA,2764,2764,2764,1977-07-27,276.39999999999435,276.40765,2015-01-01 00:46:04,bin2764,35,True +CTSPillarNetworkA,2765,2765,2765,1977-07-28,276.4999999999944,276.50766,2015-01-01 00:46:05,bin2765,75,True +CTSPillarNetworkA,2766,2766,2766,1977-07-29,276.5999999999944,276.60767,2015-01-01 00:46:06,bin2766,35,True +CTSPillarNetworkA,2767,2767,2767,1977-07-30,276.6999999999944,276.70767,2015-01-01 00:46:07,bin2767,75,True +CTSPillarNetworkA,2768,2768,2768,1977-07-31,276.79999999999444,276.80768,2015-01-01 00:46:08,bin2768,35,True +CTSPillarNetworkA,2769,2769,2769,1977-08-01,276.89999999999446,276.90768,2015-01-01 00:46:09,bin2769,75,True +CTSPillarNetworkA,2770,2770,2770,1977-08-02,276.9999999999945,277.0077,2015-01-01 00:46:10,bin2770,35,True +CTSPillarNetworkA,2771,2771,2771,1977-08-03,277.0999999999945,277.1077,2015-01-01 00:46:11,bin2771,75,True +CTSPillarNetworkA,2772,2772,2772,1977-08-04,277.19999999999453,277.2077,2015-01-01 00:46:12,bin2772,35,True +CTSPillarNetworkA,2773,2773,2773,1977-08-05,277.29999999999455,277.3077,2015-01-01 00:46:13,bin2773,75,True +CTSPillarNetworkA,2774,2774,2774,1977-08-06,277.3999999999946,277.4077,2015-01-01 00:46:14,bin2774,35,True +CTSPillarNetworkA,2775,2775,2775,1977-08-07,277.4999999999946,277.50772,2015-01-01 00:46:15,bin2775,75,True +CTSPillarNetworkA,2776,2776,2776,1977-08-08,277.5999999999946,277.60773,2015-01-01 00:46:16,bin2776,35,True +CTSPillarNetworkA,2777,2777,2777,1977-08-09,277.69999999999465,277.70773,2015-01-01 00:46:17,bin2777,75,True +CTSPillarNetworkA,2778,2778,2778,1977-08-10,277.79999999999467,277.80774,2015-01-01 00:46:18,bin2778,35,True +CTSPillarNetworkA,2779,2779,2779,1977-08-11,277.8999999999947,277.90775,2015-01-01 00:46:19,bin2779,75,True +CTSPillarNetworkA,2780,2780,2780,1977-08-12,277.9999999999947,278.00775,2015-01-01 00:46:20,bin2780,35,True +CTSPillarNetworkA,2781,2781,2781,1977-08-13,278.09999999999474,278.10776,2015-01-01 00:46:21,bin2781,75,True +CTSPillarNetworkA,2782,2782,2782,1977-08-14,278.19999999999476,278.20776,2015-01-01 00:46:22,bin2782,35,True +CTSPillarNetworkA,2783,2783,2783,1977-08-15,278.2999999999948,278.30777,2015-01-01 00:46:23,bin2783,75,True +CTSPillarNetworkA,2784,2784,2784,1977-08-16,278.3999999999948,278.40778,2015-01-01 00:46:24,bin2784,35,True +CTSPillarNetworkA,2785,2785,2785,1977-08-17,278.4999999999948,278.50778,2015-01-01 00:46:25,bin2785,75,True +CTSPillarNetworkA,2786,2786,2786,1977-08-18,278.59999999999485,278.6078,2015-01-01 00:46:26,bin2786,35,True +CTSPillarNetworkA,2787,2787,2787,1977-08-19,278.6999999999949,278.7078,2015-01-01 00:46:27,bin2787,75,True +CTSPillarNetworkA,2788,2788,2788,1977-08-20,278.7999999999949,278.8078,2015-01-01 00:46:28,bin2788,35,True +CTSPillarNetworkA,2789,2789,2789,1977-08-21,278.8999999999949,278.9078,2015-01-01 00:46:29,bin2789,75,True +CTSPillarNetworkA,2790,2790,2790,1977-08-22,278.99999999999494,279.0078,2015-01-01 00:46:30,bin2790,35,True +CTSPillarNetworkA,2791,2791,2791,1977-08-23,279.09999999999496,279.10782,2015-01-01 00:46:31,bin2791,75,True +CTSPillarNetworkA,2792,2792,2792,1977-08-24,279.199999999995,279.20782,2015-01-01 00:46:32,bin2792,35,True +CTSPillarNetworkA,2793,2793,2793,1977-08-25,279.299999999995,279.30783,2015-01-01 00:46:33,bin2793,75,True +CTSPillarNetworkA,2794,2794,2794,1977-08-26,279.39999999999503,279.40784,2015-01-01 00:46:34,bin2794,35,True +CTSPillarNetworkA,2795,2795,2795,1977-08-27,279.49999999999505,279.50784,2015-01-01 00:46:35,bin2795,75,True +CTSPillarNetworkA,2796,2796,2796,1977-08-28,279.5999999999951,279.60785,2015-01-01 00:46:36,bin2796,35,True +CTSPillarNetworkA,2797,2797,2797,1977-08-29,279.6999999999951,279.70786,2015-01-01 00:46:37,bin2797,75,True +CTSPillarNetworkA,2798,2798,2798,1977-08-30,279.7999999999951,279.80786,2015-01-01 00:46:38,bin2798,35,True +CTSPillarNetworkA,2799,2799,2799,1977-08-31,279.89999999999515,279.90787,2015-01-01 00:46:39,bin2799,75,True +CTSPillarNetworkA,2800,2800,2800,1977-09-01,279.99999999999517,280.00787,2015-01-01 00:46:40,bin2800,35,True +CTSPillarNetworkA,2801,2801,2801,1977-09-02,280.0999999999952,280.10788,2015-01-01 00:46:41,bin2801,75,True +CTSPillarNetworkA,2802,2802,2802,1977-09-03,280.1999999999952,280.2079,2015-01-01 00:46:42,bin2802,35,True +CTSPillarNetworkA,2803,2803,2803,1977-09-04,280.29999999999524,280.3079,2015-01-01 00:46:43,bin2803,75,True +CTSPillarNetworkA,2804,2804,2804,1977-09-05,280.39999999999526,280.4079,2015-01-01 00:46:44,bin2804,35,True +CTSPillarNetworkA,2805,2805,2805,1977-09-06,280.4999999999953,280.5079,2015-01-01 00:46:45,bin2805,75,True +CTSPillarNetworkA,2806,2806,2806,1977-09-07,280.5999999999953,280.6079,2015-01-01 00:46:46,bin2806,35,True +CTSPillarNetworkA,2807,2807,2807,1977-09-08,280.6999999999953,280.70792,2015-01-01 00:46:47,bin2807,75,True +CTSPillarNetworkA,2808,2808,2808,1977-09-09,280.79999999999535,280.80792,2015-01-01 00:46:48,bin2808,35,True +CTSPillarNetworkA,2809,2809,2809,1977-09-10,280.8999999999954,280.90793,2015-01-01 00:46:49,bin2809,75,True +CTSPillarNetworkA,2810,2810,2810,1977-09-11,280.9999999999954,281.00793,2015-01-01 00:46:50,bin2810,35,True +CTSPillarNetworkA,2811,2811,2811,1977-09-12,281.0999999999954,281.10794,2015-01-01 00:46:51,bin2811,75,True +CTSPillarNetworkA,2812,2812,2812,1977-09-13,281.19999999999544,281.20795,2015-01-01 00:46:52,bin2812,35,True +CTSPillarNetworkA,2813,2813,2813,1977-09-14,281.29999999999546,281.30795,2015-01-01 00:46:53,bin2813,75,True +CTSPillarNetworkA,2814,2814,2814,1977-09-15,281.3999999999955,281.40796,2015-01-01 00:46:54,bin2814,35,True +CTSPillarNetworkA,2815,2815,2815,1977-09-16,281.4999999999955,281.50797,2015-01-01 00:46:55,bin2815,75,True +CTSPillarNetworkA,2816,2816,2816,1977-09-17,281.59999999999553,281.60797,2015-01-01 00:46:56,bin2816,35,True +CTSPillarNetworkA,2817,2817,2817,1977-09-18,281.69999999999555,281.70798,2015-01-01 00:46:57,bin2817,75,True +CTSPillarNetworkA,2818,2818,2818,1977-09-19,281.7999999999956,281.80798,2015-01-01 00:46:58,bin2818,35,True +CTSPillarNetworkA,2819,2819,2819,1977-09-20,281.8999999999956,281.908,2015-01-01 00:46:59,bin2819,75,True +CTSPillarNetworkA,2820,2820,2820,1977-09-21,281.9999999999956,282.008,2015-01-01 00:47:00,bin2820,35,True +CTSPillarNetworkA,2821,2821,2821,1977-09-22,282.09999999999565,282.108,2015-01-01 00:47:01,bin2821,75,True +CTSPillarNetworkA,2822,2822,2822,1977-09-23,282.19999999999567,282.208,2015-01-01 00:47:02,bin2822,35,True +CTSPillarNetworkA,2823,2823,2823,1977-09-24,282.2999999999957,282.308,2015-01-01 00:47:03,bin2823,75,True +CTSPillarNetworkA,2824,2824,2824,1977-09-25,282.3999999999957,282.40802,2015-01-01 00:47:04,bin2824,35,True +CTSPillarNetworkA,2825,2825,2825,1977-09-26,282.49999999999574,282.50803,2015-01-01 00:47:05,bin2825,75,True +CTSPillarNetworkA,2826,2826,2826,1977-09-27,282.59999999999576,282.60803,2015-01-01 00:47:06,bin2826,35,True +CTSPillarNetworkA,2827,2827,2827,1977-09-28,282.6999999999958,282.70804,2015-01-01 00:47:07,bin2827,75,True +CTSPillarNetworkA,2828,2828,2828,1977-09-29,282.7999999999958,282.80804,2015-01-01 00:47:08,bin2828,35,True +CTSPillarNetworkA,2829,2829,2829,1977-09-30,282.8999999999958,282.90805,2015-01-01 00:47:09,bin2829,75,True +CTSPillarNetworkA,2830,2830,2830,1977-10-01,282.99999999999585,283.00806,2015-01-01 00:47:10,bin2830,35,True +CTSPillarNetworkA,2831,2831,2831,1977-10-02,283.0999999999959,283.10806,2015-01-01 00:47:11,bin2831,75,True +CTSPillarNetworkA,2832,2832,2832,1977-10-03,283.1999999999959,283.20807,2015-01-01 00:47:12,bin2832,35,True +CTSPillarNetworkA,2833,2833,2833,1977-10-04,283.2999999999959,283.30807,2015-01-01 00:47:13,bin2833,75,True +CTSPillarNetworkA,2834,2834,2834,1977-10-05,283.39999999999594,283.40808,2015-01-01 00:47:14,bin2834,35,True +CTSPillarNetworkA,2835,2835,2835,1977-10-06,283.49999999999596,283.5081,2015-01-01 00:47:15,bin2835,75,True +CTSPillarNetworkA,2836,2836,2836,1977-10-07,283.599999999996,283.6081,2015-01-01 00:47:16,bin2836,35,True +CTSPillarNetworkA,2837,2837,2837,1977-10-08,283.699999999996,283.7081,2015-01-01 00:47:17,bin2837,75,True +CTSPillarNetworkA,2838,2838,2838,1977-10-09,283.79999999999603,283.8081,2015-01-01 00:47:18,bin2838,35,True +CTSPillarNetworkA,2839,2839,2839,1977-10-10,283.89999999999606,283.9081,2015-01-01 00:47:19,bin2839,75,True +CTSPillarNetworkA,2840,2840,2840,1977-10-11,283.9999999999961,284.00812,2015-01-01 00:47:20,bin2840,35,True +CTSPillarNetworkA,2841,2841,2841,1977-10-12,284.0999999999961,284.10812,2015-01-01 00:47:21,bin2841,75,True +CTSPillarNetworkA,2842,2842,2842,1977-10-13,284.1999999999961,284.20813,2015-01-01 00:47:22,bin2842,35,True +CTSPillarNetworkA,2843,2843,2843,1977-10-14,284.29999999999615,284.30814,2015-01-01 00:47:23,bin2843,75,True +CTSPillarNetworkA,2844,2844,2844,1977-10-15,284.39999999999617,284.40814,2015-01-01 00:47:24,bin2844,35,True +CTSPillarNetworkA,2845,2845,2845,1977-10-16,284.4999999999962,284.50815,2015-01-01 00:47:25,bin2845,75,True +CTSPillarNetworkA,2846,2846,2846,1977-10-17,284.5999999999962,284.60815,2015-01-01 00:47:26,bin2846,35,True +CTSPillarNetworkA,2847,2847,2847,1977-10-18,284.69999999999624,284.70816,2015-01-01 00:47:27,bin2847,75,True +CTSPillarNetworkA,2848,2848,2848,1977-10-19,284.79999999999626,284.80817,2015-01-01 00:47:28,bin2848,35,True +CTSPillarNetworkA,2849,2849,2849,1977-10-20,284.8999999999963,284.90817,2015-01-01 00:47:29,bin2849,75,True +CTSPillarNetworkA,2850,2850,2850,1977-10-21,284.9999999999963,285.00818,2015-01-01 00:47:30,bin2850,35,True +CTSPillarNetworkA,2851,2851,2851,1977-10-22,285.0999999999963,285.1082,2015-01-01 00:47:31,bin2851,75,True +CTSPillarNetworkA,2852,2852,2852,1977-10-23,285.19999999999635,285.2082,2015-01-01 00:47:32,bin2852,35,True +CTSPillarNetworkA,2853,2853,2853,1977-10-24,285.2999999999964,285.3082,2015-01-01 00:47:33,bin2853,75,True +CTSPillarNetworkA,2854,2854,2854,1977-10-25,285.3999999999964,285.4082,2015-01-01 00:47:34,bin2854,35,True +CTSPillarNetworkA,2855,2855,2855,1977-10-26,285.4999999999964,285.5082,2015-01-01 00:47:35,bin2855,75,True +CTSPillarNetworkA,2856,2856,2856,1977-10-27,285.59999999999644,285.60822,2015-01-01 00:47:36,bin2856,35,True +CTSPillarNetworkA,2857,2857,2857,1977-10-28,285.69999999999646,285.70822,2015-01-01 00:47:37,bin2857,75,True +CTSPillarNetworkA,2858,2858,2858,1977-10-29,285.7999999999965,285.80823,2015-01-01 00:47:38,bin2858,35,True +CTSPillarNetworkA,2859,2859,2859,1977-10-30,285.8999999999965,285.90823,2015-01-01 00:47:39,bin2859,75,True +CTSPillarNetworkA,2860,2860,2860,1977-10-31,285.99999999999653,286.00824,2015-01-01 00:47:40,bin2860,35,True +CTSPillarNetworkA,2861,2861,2861,1977-11-01,286.09999999999656,286.10825,2015-01-01 00:47:41,bin2861,75,True +CTSPillarNetworkA,2862,2862,2862,1977-11-02,286.1999999999966,286.20825,2015-01-01 00:47:42,bin2862,35,True +CTSPillarNetworkA,2863,2863,2863,1977-11-03,286.2999999999966,286.30826,2015-01-01 00:47:43,bin2863,75,True +CTSPillarNetworkA,2864,2864,2864,1977-11-04,286.3999999999966,286.40826,2015-01-01 00:47:44,bin2864,35,True +CTSPillarNetworkA,2865,2865,2865,1977-11-05,286.49999999999665,286.50827,2015-01-01 00:47:45,bin2865,75,True +CTSPillarNetworkA,2866,2866,2866,1977-11-06,286.59999999999667,286.60828,2015-01-01 00:47:46,bin2866,35,True +CTSPillarNetworkA,2867,2867,2867,1977-11-07,286.6999999999967,286.70828,2015-01-01 00:47:47,bin2867,75,True +CTSPillarNetworkA,2868,2868,2868,1977-11-08,286.7999999999967,286.8083,2015-01-01 00:47:48,bin2868,35,True +CTSPillarNetworkA,2869,2869,2869,1977-11-09,286.89999999999674,286.9083,2015-01-01 00:47:49,bin2869,75,True +CTSPillarNetworkA,2870,2870,2870,1977-11-10,286.99999999999676,287.0083,2015-01-01 00:47:50,bin2870,35,True +CTSPillarNetworkA,2871,2871,2871,1977-11-11,287.0999999999968,287.1083,2015-01-01 00:47:51,bin2871,75,True +CTSPillarNetworkA,2872,2872,2872,1977-11-12,287.1999999999968,287.2083,2015-01-01 00:47:52,bin2872,35,True +CTSPillarNetworkA,2873,2873,2873,1977-11-13,287.2999999999968,287.30832,2015-01-01 00:47:53,bin2873,75,True +CTSPillarNetworkA,2874,2874,2874,1977-11-14,287.39999999999685,287.40833,2015-01-01 00:47:54,bin2874,35,True +CTSPillarNetworkA,2875,2875,2875,1977-11-15,287.4999999999969,287.50833,2015-01-01 00:47:55,bin2875,75,True +CTSPillarNetworkA,2876,2876,2876,1977-11-16,287.5999999999969,287.60834,2015-01-01 00:47:56,bin2876,35,True +CTSPillarNetworkA,2877,2877,2877,1977-11-17,287.6999999999969,287.70834,2015-01-01 00:47:57,bin2877,75,True +CTSPillarNetworkA,2878,2878,2878,1977-11-18,287.79999999999694,287.80835,2015-01-01 00:47:58,bin2878,35,True +CTSPillarNetworkA,2879,2879,2879,1977-11-19,287.89999999999696,287.90836,2015-01-01 00:47:59,bin2879,75,True +CTSPillarNetworkA,2880,2880,2880,1977-11-20,287.999999999997,288.00836,2015-01-01 00:48:00,bin2880,35,True +CTSPillarNetworkA,2881,2881,2881,1977-11-21,288.099999999997,288.10837,2015-01-01 00:48:01,bin2881,75,True +CTSPillarNetworkA,2882,2882,2882,1977-11-22,288.19999999999703,288.20837,2015-01-01 00:48:02,bin2882,35,True +CTSPillarNetworkA,2883,2883,2883,1977-11-23,288.29999999999706,288.30838,2015-01-01 00:48:03,bin2883,75,True +CTSPillarNetworkA,2884,2884,2884,1977-11-24,288.3999999999971,288.4084,2015-01-01 00:48:04,bin2884,35,True +CTSPillarNetworkA,2885,2885,2885,1977-11-25,288.4999999999971,288.5084,2015-01-01 00:48:05,bin2885,75,True +CTSPillarNetworkA,2886,2886,2886,1977-11-26,288.5999999999971,288.6084,2015-01-01 00:48:06,bin2886,35,True +CTSPillarNetworkA,2887,2887,2887,1977-11-27,288.69999999999715,288.7084,2015-01-01 00:48:07,bin2887,75,True +CTSPillarNetworkA,2888,2888,2888,1977-11-28,288.79999999999717,288.8084,2015-01-01 00:48:08,bin2888,35,True +CTSPillarNetworkA,2889,2889,2889,1977-11-29,288.8999999999972,288.90842,2015-01-01 00:48:09,bin2889,75,True +CTSPillarNetworkA,2890,2890,2890,1977-11-30,288.9999999999972,289.00842,2015-01-01 00:48:10,bin2890,35,True +CTSPillarNetworkA,2891,2891,2891,1977-12-01,289.09999999999724,289.10843,2015-01-01 00:48:11,bin2891,75,True +CTSPillarNetworkA,2892,2892,2892,1977-12-02,289.19999999999726,289.20844,2015-01-01 00:48:12,bin2892,35,True +CTSPillarNetworkA,2893,2893,2893,1977-12-03,289.2999999999973,289.30844,2015-01-01 00:48:13,bin2893,75,True +CTSPillarNetworkA,2894,2894,2894,1977-12-04,289.3999999999973,289.40845,2015-01-01 00:48:14,bin2894,35,True +CTSPillarNetworkA,2895,2895,2895,1977-12-05,289.4999999999973,289.50845,2015-01-01 00:48:15,bin2895,75,True +CTSPillarNetworkA,2896,2896,2896,1977-12-06,289.59999999999735,289.60846,2015-01-01 00:48:16,bin2896,35,True +CTSPillarNetworkA,2897,2897,2897,1977-12-07,289.6999999999974,289.70847,2015-01-01 00:48:17,bin2897,75,True +CTSPillarNetworkA,2898,2898,2898,1977-12-08,289.7999999999974,289.80847,2015-01-01 00:48:18,bin2898,35,True +CTSPillarNetworkA,2899,2899,2899,1977-12-09,289.8999999999974,289.90848,2015-01-01 00:48:19,bin2899,75,True +CTSPillarNetworkA,2900,2900,2900,1977-12-10,289.99999999999744,290.00848,2015-01-01 00:48:20,bin2900,35,True +CTSPillarNetworkA,2901,2901,2901,1977-12-11,290.09999999999746,290.1085,2015-01-01 00:48:21,bin2901,75,True +CTSPillarNetworkA,2902,2902,2902,1977-12-12,290.1999999999975,290.2085,2015-01-01 00:48:22,bin2902,35,True +CTSPillarNetworkA,2903,2903,2903,1977-12-13,290.2999999999975,290.3085,2015-01-01 00:48:23,bin2903,75,True +CTSPillarNetworkA,2904,2904,2904,1977-12-14,290.39999999999753,290.4085,2015-01-01 00:48:24,bin2904,35,True +CTSPillarNetworkA,2905,2905,2905,1977-12-15,290.49999999999756,290.5085,2015-01-01 00:48:25,bin2905,75,True +CTSPillarNetworkA,2906,2906,2906,1977-12-16,290.5999999999976,290.60852,2015-01-01 00:48:26,bin2906,35,True +CTSPillarNetworkA,2907,2907,2907,1977-12-17,290.6999999999976,290.70853,2015-01-01 00:48:27,bin2907,75,True +CTSPillarNetworkA,2908,2908,2908,1977-12-18,290.7999999999976,290.80853,2015-01-01 00:48:28,bin2908,35,True +CTSPillarNetworkA,2909,2909,2909,1977-12-19,290.89999999999765,290.90854,2015-01-01 00:48:29,bin2909,75,True +CTSPillarNetworkA,2910,2910,2910,1977-12-20,290.99999999999767,291.00854,2015-01-01 00:48:30,bin2910,35,True +CTSPillarNetworkA,2911,2911,2911,1977-12-21,291.0999999999977,291.10855,2015-01-01 00:48:31,bin2911,75,True +CTSPillarNetworkA,2912,2912,2912,1977-12-22,291.1999999999977,291.20856,2015-01-01 00:48:32,bin2912,35,True +CTSPillarNetworkA,2913,2913,2913,1977-12-23,291.29999999999774,291.30856,2015-01-01 00:48:33,bin2913,75,True +CTSPillarNetworkA,2914,2914,2914,1977-12-24,291.39999999999776,291.40857,2015-01-01 00:48:34,bin2914,35,True +CTSPillarNetworkA,2915,2915,2915,1977-12-25,291.4999999999978,291.50858,2015-01-01 00:48:35,bin2915,75,True +CTSPillarNetworkA,2916,2916,2916,1977-12-26,291.5999999999978,291.60858,2015-01-01 00:48:36,bin2916,35,True +CTSPillarNetworkA,2917,2917,2917,1977-12-27,291.69999999999783,291.7086,2015-01-01 00:48:37,bin2917,75,True +CTSPillarNetworkA,2918,2918,2918,1977-12-28,291.79999999999785,291.8086,2015-01-01 00:48:38,bin2918,35,True +CTSPillarNetworkA,2919,2919,2919,1977-12-29,291.8999999999979,291.9086,2015-01-01 00:48:39,bin2919,75,True +CTSPillarNetworkA,2920,2920,2920,1977-12-30,291.9999999999979,292.0086,2015-01-01 00:48:40,bin2920,35,True +CTSPillarNetworkA,2921,2921,2921,1977-12-31,292.0999999999979,292.1086,2015-01-01 00:48:41,bin2921,75,True +CTSPillarNetworkA,2922,2922,2922,1978-01-01,292.19999999999794,292.20862,2015-01-01 00:48:42,bin2922,35,True +CTSPillarNetworkA,2923,2923,2923,1978-01-02,292.29999999999797,292.30862,2015-01-01 00:48:43,bin2923,75,True +CTSPillarNetworkA,2924,2924,2924,1978-01-03,292.399999999998,292.40863,2015-01-01 00:48:44,bin2924,35,True +CTSPillarNetworkA,2925,2925,2925,1978-01-04,292.499999999998,292.50864,2015-01-01 00:48:45,bin2925,75,True +CTSPillarNetworkA,2926,2926,2926,1978-01-05,292.59999999999803,292.60864,2015-01-01 00:48:46,bin2926,35,True +CTSPillarNetworkA,2927,2927,2927,1978-01-06,292.69999999999806,292.70865,2015-01-01 00:48:47,bin2927,75,True +CTSPillarNetworkA,2928,2928,2928,1978-01-07,292.7999999999981,292.80865,2015-01-01 00:48:48,bin2928,35,True +CTSPillarNetworkA,2929,2929,2929,1978-01-08,292.8999999999981,292.90866,2015-01-01 00:48:49,bin2929,75,True +CTSPillarNetworkA,2930,2930,2930,1978-01-09,292.9999999999981,293.00867,2015-01-01 00:48:50,bin2930,35,True +CTSPillarNetworkA,2931,2931,2931,1978-01-10,293.09999999999815,293.10867,2015-01-01 00:48:51,bin2931,75,True +CTSPillarNetworkA,2932,2932,2932,1978-01-11,293.19999999999817,293.20868,2015-01-01 00:48:52,bin2932,35,True +CTSPillarNetworkA,2933,2933,2933,1978-01-12,293.2999999999982,293.3087,2015-01-01 00:48:53,bin2933,75,True +CTSPillarNetworkA,2934,2934,2934,1978-01-13,293.3999999999982,293.4087,2015-01-01 00:48:54,bin2934,35,True +CTSPillarNetworkA,2935,2935,2935,1978-01-14,293.49999999999824,293.5087,2015-01-01 00:48:55,bin2935,75,True +CTSPillarNetworkA,2936,2936,2936,1978-01-15,293.59999999999826,293.6087,2015-01-01 00:48:56,bin2936,35,True +CTSPillarNetworkA,2937,2937,2937,1978-01-16,293.6999999999983,293.7087,2015-01-01 00:48:57,bin2937,75,True +CTSPillarNetworkA,2938,2938,2938,1978-01-17,293.7999999999983,293.80872,2015-01-01 00:48:58,bin2938,35,True +CTSPillarNetworkA,2939,2939,2939,1978-01-18,293.89999999999833,293.90872,2015-01-01 00:48:59,bin2939,75,True +CTSPillarNetworkA,2940,2940,2940,1978-01-19,293.99999999999835,294.00873,2015-01-01 00:49:00,bin2940,35,True +CTSPillarNetworkA,2941,2941,2941,1978-01-20,294.0999999999984,294.10873,2015-01-01 00:49:01,bin2941,75,True +CTSPillarNetworkA,2942,2942,2942,1978-01-21,294.1999999999984,294.20874,2015-01-01 00:49:02,bin2942,35,True +CTSPillarNetworkA,2943,2943,2943,1978-01-22,294.2999999999984,294.30875,2015-01-01 00:49:03,bin2943,75,True +CTSPillarNetworkA,2944,2944,2944,1978-01-23,294.39999999999844,294.40875,2015-01-01 00:49:04,bin2944,35,True +CTSPillarNetworkA,2945,2945,2945,1978-01-24,294.49999999999847,294.50876,2015-01-01 00:49:05,bin2945,75,True +CTSPillarNetworkA,2946,2946,2946,1978-01-25,294.5999999999985,294.60876,2015-01-01 00:49:06,bin2946,35,True +CTSPillarNetworkA,2947,2947,2947,1978-01-26,294.6999999999985,294.70877,2015-01-01 00:49:07,bin2947,75,True +CTSPillarNetworkA,2948,2948,2948,1978-01-27,294.79999999999853,294.80878,2015-01-01 00:49:08,bin2948,35,True +CTSPillarNetworkA,2949,2949,2949,1978-01-28,294.89999999999856,294.90878,2015-01-01 00:49:09,bin2949,75,True +CTSPillarNetworkA,2950,2950,2950,1978-01-29,294.9999999999986,295.0088,2015-01-01 00:49:10,bin2950,35,True +CTSPillarNetworkA,2951,2951,2951,1978-01-30,295.0999999999986,295.1088,2015-01-01 00:49:11,bin2951,75,True +CTSPillarNetworkA,2952,2952,2952,1978-01-31,295.1999999999986,295.2088,2015-01-01 00:49:12,bin2952,35,True +CTSPillarNetworkA,2953,2953,2953,1978-02-01,295.29999999999865,295.3088,2015-01-01 00:49:13,bin2953,75,True +CTSPillarNetworkA,2954,2954,2954,1978-02-02,295.39999999999867,295.4088,2015-01-01 00:49:14,bin2954,35,True +CTSPillarNetworkA,2955,2955,2955,1978-02-03,295.4999999999987,295.50882,2015-01-01 00:49:15,bin2955,75,True +CTSPillarNetworkA,2956,2956,2956,1978-02-04,295.5999999999987,295.60883,2015-01-01 00:49:16,bin2956,35,True +CTSPillarNetworkA,2957,2957,2957,1978-02-05,295.69999999999874,295.70883,2015-01-01 00:49:17,bin2957,75,True +CTSPillarNetworkA,2958,2958,2958,1978-02-06,295.79999999999876,295.80884,2015-01-01 00:49:18,bin2958,35,True +CTSPillarNetworkA,2959,2959,2959,1978-02-07,295.8999999999988,295.90884,2015-01-01 00:49:19,bin2959,75,True +CTSPillarNetworkA,2960,2960,2960,1978-02-08,295.9999999999988,296.00885,2015-01-01 00:49:20,bin2960,35,True +CTSPillarNetworkA,2961,2961,2961,1978-02-09,296.09999999999883,296.10886,2015-01-01 00:49:21,bin2961,75,True +CTSPillarNetworkA,2962,2962,2962,1978-02-10,296.19999999999885,296.20886,2015-01-01 00:49:22,bin2962,35,True +CTSPillarNetworkA,2963,2963,2963,1978-02-11,296.2999999999989,296.30887,2015-01-01 00:49:23,bin2963,75,True +CTSPillarNetworkA,2964,2964,2964,1978-02-12,296.3999999999989,296.40887,2015-01-01 00:49:24,bin2964,35,True +CTSPillarNetworkA,2965,2965,2965,1978-02-13,296.4999999999989,296.50888,2015-01-01 00:49:25,bin2965,75,True +CTSPillarNetworkA,2966,2966,2966,1978-02-14,296.59999999999894,296.6089,2015-01-01 00:49:26,bin2966,35,True +CTSPillarNetworkA,2967,2967,2967,1978-02-15,296.69999999999897,296.7089,2015-01-01 00:49:27,bin2967,75,True +CTSPillarNetworkA,2968,2968,2968,1978-02-16,296.799999999999,296.8089,2015-01-01 00:49:28,bin2968,35,True +CTSPillarNetworkA,2969,2969,2969,1978-02-17,296.899999999999,296.9089,2015-01-01 00:49:29,bin2969,75,True +CTSPillarNetworkA,2970,2970,2970,1978-02-18,296.99999999999903,297.0089,2015-01-01 00:49:30,bin2970,35,True +CTSPillarNetworkA,2971,2971,2971,1978-02-19,297.09999999999906,297.10892,2015-01-01 00:49:31,bin2971,75,True +CTSPillarNetworkA,2972,2972,2972,1978-02-20,297.1999999999991,297.20892,2015-01-01 00:49:32,bin2972,35,True +CTSPillarNetworkA,2973,2973,2973,1978-02-21,297.2999999999991,297.30893,2015-01-01 00:49:33,bin2973,75,True +CTSPillarNetworkA,2974,2974,2974,1978-02-22,297.3999999999991,297.40894,2015-01-01 00:49:34,bin2974,35,True +CTSPillarNetworkA,2975,2975,2975,1978-02-23,297.49999999999915,297.50894,2015-01-01 00:49:35,bin2975,75,True +CTSPillarNetworkA,2976,2976,2976,1978-02-24,297.59999999999917,297.60895,2015-01-01 00:49:36,bin2976,35,True +CTSPillarNetworkA,2977,2977,2977,1978-02-25,297.6999999999992,297.70895,2015-01-01 00:49:37,bin2977,75,True +CTSPillarNetworkA,2978,2978,2978,1978-02-26,297.7999999999992,297.80896,2015-01-01 00:49:38,bin2978,35,True +CTSPillarNetworkA,2979,2979,2979,1978-02-27,297.89999999999924,297.90897,2015-01-01 00:49:39,bin2979,75,True +CTSPillarNetworkA,2980,2980,2980,1978-02-28,297.99999999999926,298.00897,2015-01-01 00:49:40,bin2980,35,True +CTSPillarNetworkA,2981,2981,2981,1978-03-01,298.0999999999993,298.10898,2015-01-01 00:49:41,bin2981,75,True +CTSPillarNetworkA,2982,2982,2982,1978-03-02,298.1999999999993,298.20898,2015-01-01 00:49:42,bin2982,35,True +CTSPillarNetworkA,2983,2983,2983,1978-03-03,298.29999999999933,298.309,2015-01-01 00:49:43,bin2983,75,True +CTSPillarNetworkA,2984,2984,2984,1978-03-04,298.39999999999935,298.409,2015-01-01 00:49:44,bin2984,35,True +CTSPillarNetworkA,2985,2985,2985,1978-03-05,298.4999999999994,298.509,2015-01-01 00:49:45,bin2985,75,True +CTSPillarNetworkA,2986,2986,2986,1978-03-06,298.5999999999994,298.609,2015-01-01 00:49:46,bin2986,35,True +CTSPillarNetworkA,2987,2987,2987,1978-03-07,298.6999999999994,298.709,2015-01-01 00:49:47,bin2987,75,True +CTSPillarNetworkA,2988,2988,2988,1978-03-08,298.79999999999944,298.80902,2015-01-01 00:49:48,bin2988,35,True +CTSPillarNetworkA,2989,2989,2989,1978-03-09,298.89999999999947,298.90903,2015-01-01 00:49:49,bin2989,75,True +CTSPillarNetworkA,2990,2990,2990,1978-03-10,298.9999999999995,299.00903,2015-01-01 00:49:50,bin2990,35,True +CTSPillarNetworkA,2991,2991,2991,1978-03-11,299.0999999999995,299.10904,2015-01-01 00:49:51,bin2991,75,True +CTSPillarNetworkA,2992,2992,2992,1978-03-12,299.19999999999953,299.20905,2015-01-01 00:49:52,bin2992,35,True +CTSPillarNetworkA,2993,2993,2993,1978-03-13,299.29999999999956,299.30905,2015-01-01 00:49:53,bin2993,75,True +CTSPillarNetworkA,2994,2994,2994,1978-03-14,299.3999999999996,299.40906,2015-01-01 00:49:54,bin2994,35,True +CTSPillarNetworkA,2995,2995,2995,1978-03-15,299.4999999999996,299.50906,2015-01-01 00:49:55,bin2995,75,True +CTSPillarNetworkA,2996,2996,2996,1978-03-16,299.5999999999996,299.60907,2015-01-01 00:49:56,bin2996,35,True +CTSPillarNetworkA,2997,2997,2997,1978-03-17,299.69999999999965,299.70908,2015-01-01 00:49:57,bin2997,75,True +CTSPillarNetworkA,2998,2998,2998,1978-03-18,299.79999999999967,299.80908,2015-01-01 00:49:58,bin2998,35,True +CTSPillarNetworkA,2999,2999,2999,1978-03-19,299.8999999999997,299.9091,2015-01-01 00:49:59,bin2999,75,True +CTSPillarNetworkA,3000,3000,3000,1978-03-20,299.9999999999997,300.0091,2015-01-01 00:50:00,bin3000,35,False +CTSPillarNetworkA,3001,3001,3001,1978-03-21,300.09999999999974,300.1091,2015-01-01 00:50:01,bin3001,75,False +CTSPillarNetworkA,3002,3002,3002,1978-03-22,300.19999999999976,300.2091,2015-01-01 00:50:02,bin3002,35,False +CTSPillarNetworkA,3003,3003,3003,1978-03-23,300.2999999999998,300.3091,2015-01-01 00:50:03,bin3003,75,False +CTSPillarNetworkA,3004,3004,3004,1978-03-24,300.3999999999998,300.40912,2015-01-01 00:50:04,bin3004,35,False +CTSPillarNetworkA,3005,3005,3005,1978-03-25,300.49999999999983,300.50912,2015-01-01 00:50:05,bin3005,75,False +CTSPillarNetworkA,3006,3006,3006,1978-03-26,300.59999999999985,300.60913,2015-01-01 00:50:06,bin3006,35,False +CTSPillarNetworkA,3007,3007,3007,1978-03-27,300.6999999999999,300.70914,2015-01-01 00:50:07,bin3007,75,False +CTSPillarNetworkA,3008,3008,3008,1978-03-28,300.7999999999999,300.80914,2015-01-01 00:50:08,bin3008,35,False +CTSPillarNetworkA,3009,3009,3009,1978-03-29,300.8999999999999,300.90915,2015-01-01 00:50:09,bin3009,75,False +CTSPillarNetworkA,3010,3010,3010,1978-03-30,300.99999999999994,301.00916,2015-01-01 00:50:10,bin3010,35,False +CTSPillarNetworkA,3011,3011,3011,1978-03-31,301.09999999999997,301.10916,2015-01-01 00:50:11,bin3011,75,False +CTSPillarNetworkA,3012,3012,3012,1978-04-01,301.2,301.20917,2015-01-01 00:50:12,bin3012,35,False +CTSPillarNetworkA,3013,3013,3013,1978-04-02,301.3,301.30917,2015-01-01 00:50:13,bin3013,75,False +CTSPillarNetworkA,3014,3014,3014,1978-04-03,301.40000000000003,301.40918,2015-01-01 00:50:14,bin3014,35,False +CTSPillarNetworkA,3015,3015,3015,1978-04-04,301.50000000000006,301.5092,2015-01-01 00:50:15,bin3015,75,False +CTSPillarNetworkA,3016,3016,3016,1978-04-05,301.6000000000001,301.6092,2015-01-01 00:50:16,bin3016,35,False +CTSPillarNetworkA,3017,3017,3017,1978-04-06,301.7000000000001,301.7092,2015-01-01 00:50:17,bin3017,75,False +CTSPillarNetworkA,3018,3018,3018,1978-04-07,301.8000000000001,301.8092,2015-01-01 00:50:18,bin3018,35,False +CTSPillarNetworkA,3019,3019,3019,1978-04-08,301.90000000000015,301.9092,2015-01-01 00:50:19,bin3019,75,False +CTSPillarNetworkA,3020,3020,3020,1978-04-09,302.00000000000017,302.00922,2015-01-01 00:50:20,bin3020,35,False +CTSPillarNetworkA,3021,3021,3021,1978-04-10,302.1000000000002,302.10922,2015-01-01 00:50:21,bin3021,75,False +CTSPillarNetworkA,3022,3022,3022,1978-04-11,302.2000000000002,302.20923,2015-01-01 00:50:22,bin3022,35,False +CTSPillarNetworkA,3023,3023,3023,1978-04-12,302.30000000000024,302.30923,2015-01-01 00:50:23,bin3023,75,False +CTSPillarNetworkA,3024,3024,3024,1978-04-13,302.40000000000026,302.40924,2015-01-01 00:50:24,bin3024,35,False +CTSPillarNetworkA,3025,3025,3025,1978-04-14,302.5000000000003,302.50925,2015-01-01 00:50:25,bin3025,75,False +CTSPillarNetworkA,3026,3026,3026,1978-04-15,302.6000000000003,302.60925,2015-01-01 00:50:26,bin3026,35,False +CTSPillarNetworkA,3027,3027,3027,1978-04-16,302.70000000000033,302.70926,2015-01-01 00:50:27,bin3027,75,False +CTSPillarNetworkA,3028,3028,3028,1978-04-17,302.80000000000035,302.80927,2015-01-01 00:50:28,bin3028,35,False +CTSPillarNetworkA,3029,3029,3029,1978-04-18,302.9000000000004,302.90927,2015-01-01 00:50:29,bin3029,75,False +CTSPillarNetworkA,3030,3030,3030,1978-04-19,303.0000000000004,303.00928,2015-01-01 00:50:30,bin3030,35,False +CTSPillarNetworkA,3031,3031,3031,1978-04-20,303.1000000000004,303.10928,2015-01-01 00:50:31,bin3031,75,False +CTSPillarNetworkA,3032,3032,3032,1978-04-21,303.20000000000044,303.2093,2015-01-01 00:50:32,bin3032,35,False +CTSPillarNetworkA,3033,3033,3033,1978-04-22,303.30000000000047,303.3093,2015-01-01 00:50:33,bin3033,75,False +CTSPillarNetworkA,3034,3034,3034,1978-04-23,303.4000000000005,303.4093,2015-01-01 00:50:34,bin3034,35,False +CTSPillarNetworkA,3035,3035,3035,1978-04-24,303.5000000000005,303.5093,2015-01-01 00:50:35,bin3035,75,False +CTSPillarNetworkA,3036,3036,3036,1978-04-25,303.60000000000053,303.6093,2015-01-01 00:50:36,bin3036,35,False +CTSPillarNetworkA,3037,3037,3037,1978-04-26,303.70000000000056,303.70932,2015-01-01 00:50:37,bin3037,75,False +CTSPillarNetworkA,3038,3038,3038,1978-04-27,303.8000000000006,303.80933,2015-01-01 00:50:38,bin3038,35,False +CTSPillarNetworkA,3039,3039,3039,1978-04-28,303.9000000000006,303.90933,2015-01-01 00:50:39,bin3039,75,False +CTSPillarNetworkA,3040,3040,3040,1978-04-29,304.0000000000006,304.00934,2015-01-01 00:50:40,bin3040,35,False +CTSPillarNetworkA,3041,3041,3041,1978-04-30,304.10000000000065,304.10934,2015-01-01 00:50:41,bin3041,75,False +CTSPillarNetworkA,3042,3042,3042,1978-05-01,304.20000000000067,304.20935,2015-01-01 00:50:42,bin3042,35,False +CTSPillarNetworkA,3043,3043,3043,1978-05-02,304.3000000000007,304.30936,2015-01-01 00:50:43,bin3043,75,False +CTSPillarNetworkA,3044,3044,3044,1978-05-03,304.4000000000007,304.40936,2015-01-01 00:50:44,bin3044,35,False +CTSPillarNetworkA,3045,3045,3045,1978-05-04,304.50000000000074,304.50937,2015-01-01 00:50:45,bin3045,75,False +CTSPillarNetworkA,3046,3046,3046,1978-05-05,304.60000000000076,304.60938,2015-01-01 00:50:46,bin3046,35,False +CTSPillarNetworkA,3047,3047,3047,1978-05-06,304.7000000000008,304.70938,2015-01-01 00:50:47,bin3047,75,False +CTSPillarNetworkA,3048,3048,3048,1978-05-07,304.8000000000008,304.8094,2015-01-01 00:50:48,bin3048,35,False +CTSPillarNetworkA,3049,3049,3049,1978-05-08,304.90000000000083,304.9094,2015-01-01 00:50:49,bin3049,75,False +CTSPillarNetworkA,3050,3050,3050,1978-05-09,305.00000000000085,305.0094,2015-01-01 00:50:50,bin3050,35,False +CTSPillarNetworkA,3051,3051,3051,1978-05-10,305.1000000000009,305.1094,2015-01-01 00:50:51,bin3051,75,False +CTSPillarNetworkA,3052,3052,3052,1978-05-11,305.2000000000009,305.2094,2015-01-01 00:50:52,bin3052,35,False +CTSPillarNetworkA,3053,3053,3053,1978-05-12,305.3000000000009,305.30942,2015-01-01 00:50:53,bin3053,75,False +CTSPillarNetworkA,3054,3054,3054,1978-05-13,305.40000000000094,305.40942,2015-01-01 00:50:54,bin3054,35,False +CTSPillarNetworkA,3055,3055,3055,1978-05-14,305.50000000000097,305.50943,2015-01-01 00:50:55,bin3055,75,False +CTSPillarNetworkA,3056,3056,3056,1978-05-15,305.600000000001,305.60944,2015-01-01 00:50:56,bin3056,35,False +CTSPillarNetworkA,3057,3057,3057,1978-05-16,305.700000000001,305.70944,2015-01-01 00:50:57,bin3057,75,False +CTSPillarNetworkA,3058,3058,3058,1978-05-17,305.80000000000103,305.80945,2015-01-01 00:50:58,bin3058,35,False +CTSPillarNetworkA,3059,3059,3059,1978-05-18,305.90000000000106,305.90945,2015-01-01 00:50:59,bin3059,75,False +CTSPillarNetworkA,3060,3060,3060,1978-05-19,306.0000000000011,306.00946,2015-01-01 00:51:00,bin3060,35,False +CTSPillarNetworkA,3061,3061,3061,1978-05-20,306.1000000000011,306.10947,2015-01-01 00:51:01,bin3061,75,False +CTSPillarNetworkA,3062,3062,3062,1978-05-21,306.2000000000011,306.20947,2015-01-01 00:51:02,bin3062,35,False +CTSPillarNetworkA,3063,3063,3063,1978-05-22,306.30000000000115,306.30948,2015-01-01 00:51:03,bin3063,75,False +CTSPillarNetworkA,3064,3064,3064,1978-05-23,306.40000000000117,306.4095,2015-01-01 00:51:04,bin3064,35,False +CTSPillarNetworkA,3065,3065,3065,1978-05-24,306.5000000000012,306.5095,2015-01-01 00:51:05,bin3065,75,False +CTSPillarNetworkA,3066,3066,3066,1978-05-25,306.6000000000012,306.6095,2015-01-01 00:51:06,bin3066,35,False +CTSPillarNetworkA,3067,3067,3067,1978-05-26,306.70000000000124,306.7095,2015-01-01 00:51:07,bin3067,75,False +CTSPillarNetworkA,3068,3068,3068,1978-05-27,306.80000000000126,306.8095,2015-01-01 00:51:08,bin3068,35,False +CTSPillarNetworkA,3069,3069,3069,1978-05-28,306.9000000000013,306.90952,2015-01-01 00:51:09,bin3069,75,False +CTSPillarNetworkA,3070,3070,3070,1978-05-29,307.0000000000013,307.00952,2015-01-01 00:51:10,bin3070,35,False +CTSPillarNetworkA,3071,3071,3071,1978-05-30,307.10000000000133,307.10953,2015-01-01 00:51:11,bin3071,75,False +CTSPillarNetworkA,3072,3072,3072,1978-05-31,307.20000000000135,307.20953,2015-01-01 00:51:12,bin3072,35,False +CTSPillarNetworkA,3073,3073,3073,1978-06-01,307.3000000000014,307.30954,2015-01-01 00:51:13,bin3073,75,False +CTSPillarNetworkA,3074,3074,3074,1978-06-02,307.4000000000014,307.40955,2015-01-01 00:51:14,bin3074,35,False +CTSPillarNetworkA,3075,3075,3075,1978-06-03,307.5000000000014,307.50955,2015-01-01 00:51:15,bin3075,75,False +CTSPillarNetworkA,3076,3076,3076,1978-06-04,307.60000000000144,307.60956,2015-01-01 00:51:16,bin3076,35,False +CTSPillarNetworkA,3077,3077,3077,1978-06-05,307.70000000000147,307.70956,2015-01-01 00:51:17,bin3077,75,False +CTSPillarNetworkA,3078,3078,3078,1978-06-06,307.8000000000015,307.80957,2015-01-01 00:51:18,bin3078,35,False +CTSPillarNetworkA,3079,3079,3079,1978-06-07,307.9000000000015,307.90958,2015-01-01 00:51:19,bin3079,75,False +CTSPillarNetworkA,3080,3080,3080,1978-06-08,308.00000000000153,308.00958,2015-01-01 00:51:20,bin3080,35,False +CTSPillarNetworkA,3081,3081,3081,1978-06-09,308.10000000000156,308.1096,2015-01-01 00:51:21,bin3081,75,False +CTSPillarNetworkA,3082,3082,3082,1978-06-10,308.2000000000016,308.2096,2015-01-01 00:51:22,bin3082,35,False +CTSPillarNetworkA,3083,3083,3083,1978-06-11,308.3000000000016,308.3096,2015-01-01 00:51:23,bin3083,75,False +CTSPillarNetworkA,3084,3084,3084,1978-06-12,308.4000000000016,308.4096,2015-01-01 00:51:24,bin3084,35,False +CTSPillarNetworkA,3085,3085,3085,1978-06-13,308.50000000000165,308.5096,2015-01-01 00:51:25,bin3085,75,False +CTSPillarNetworkA,3086,3086,3086,1978-06-14,308.60000000000167,308.60962,2015-01-01 00:51:26,bin3086,35,False +CTSPillarNetworkA,3087,3087,3087,1978-06-15,308.7000000000017,308.70963,2015-01-01 00:51:27,bin3087,75,False +CTSPillarNetworkA,3088,3088,3088,1978-06-16,308.8000000000017,308.80963,2015-01-01 00:51:28,bin3088,35,False +CTSPillarNetworkA,3089,3089,3089,1978-06-17,308.90000000000174,308.90964,2015-01-01 00:51:29,bin3089,75,False +CTSPillarNetworkA,3090,3090,3090,1978-06-18,309.00000000000176,309.00964,2015-01-01 00:51:30,bin3090,35,False +CTSPillarNetworkA,3091,3091,3091,1978-06-19,309.1000000000018,309.10965,2015-01-01 00:51:31,bin3091,75,False +CTSPillarNetworkA,3092,3092,3092,1978-06-20,309.2000000000018,309.20966,2015-01-01 00:51:32,bin3092,35,False +CTSPillarNetworkA,3093,3093,3093,1978-06-21,309.30000000000183,309.30966,2015-01-01 00:51:33,bin3093,75,False +CTSPillarNetworkA,3094,3094,3094,1978-06-22,309.40000000000185,309.40967,2015-01-01 00:51:34,bin3094,35,False +CTSPillarNetworkA,3095,3095,3095,1978-06-23,309.5000000000019,309.50967,2015-01-01 00:51:35,bin3095,75,False +CTSPillarNetworkA,3096,3096,3096,1978-06-24,309.6000000000019,309.60968,2015-01-01 00:51:36,bin3096,35,False +CTSPillarNetworkA,3097,3097,3097,1978-06-25,309.7000000000019,309.7097,2015-01-01 00:51:37,bin3097,75,False +CTSPillarNetworkA,3098,3098,3098,1978-06-26,309.80000000000194,309.8097,2015-01-01 00:51:38,bin3098,35,False +CTSPillarNetworkA,3099,3099,3099,1978-06-27,309.90000000000197,309.9097,2015-01-01 00:51:39,bin3099,75,False +CTSPillarNetworkA,3100,3100,3100,1978-06-28,310.000000000002,310.0097,2015-01-01 00:51:40,bin3100,35,False +CTSPillarNetworkA,3101,3101,3101,1978-06-29,310.100000000002,310.1097,2015-01-01 00:51:41,bin3101,75,False +CTSPillarNetworkA,3102,3102,3102,1978-06-30,310.20000000000203,310.20972,2015-01-01 00:51:42,bin3102,35,False +CTSPillarNetworkA,3103,3103,3103,1978-07-01,310.30000000000206,310.30972,2015-01-01 00:51:43,bin3103,75,False +CTSPillarNetworkA,3104,3104,3104,1978-07-02,310.4000000000021,310.40973,2015-01-01 00:51:44,bin3104,35,False +CTSPillarNetworkA,3105,3105,3105,1978-07-03,310.5000000000021,310.50974,2015-01-01 00:51:45,bin3105,75,False +CTSPillarNetworkA,3106,3106,3106,1978-07-04,310.6000000000021,310.60974,2015-01-01 00:51:46,bin3106,35,False +CTSPillarNetworkA,3107,3107,3107,1978-07-05,310.70000000000215,310.70975,2015-01-01 00:51:47,bin3107,75,False +CTSPillarNetworkA,3108,3108,3108,1978-07-06,310.80000000000217,310.80975,2015-01-01 00:51:48,bin3108,35,False +CTSPillarNetworkA,3109,3109,3109,1978-07-07,310.9000000000022,310.90976,2015-01-01 00:51:49,bin3109,75,False +CTSPillarNetworkA,3110,3110,3110,1978-07-08,311.0000000000022,311.00977,2015-01-01 00:51:50,bin3110,35,False +CTSPillarNetworkA,3111,3111,3111,1978-07-09,311.10000000000224,311.10977,2015-01-01 00:51:51,bin3111,75,False +CTSPillarNetworkA,3112,3112,3112,1978-07-10,311.20000000000226,311.20978,2015-01-01 00:51:52,bin3112,35,False +CTSPillarNetworkA,3113,3113,3113,1978-07-11,311.3000000000023,311.30978,2015-01-01 00:51:53,bin3113,75,False +CTSPillarNetworkA,3114,3114,3114,1978-07-12,311.4000000000023,311.4098,2015-01-01 00:51:54,bin3114,35,False +CTSPillarNetworkA,3115,3115,3115,1978-07-13,311.50000000000233,311.5098,2015-01-01 00:51:55,bin3115,75,False +CTSPillarNetworkA,3116,3116,3116,1978-07-14,311.60000000000235,311.6098,2015-01-01 00:51:56,bin3116,35,False +CTSPillarNetworkA,3117,3117,3117,1978-07-15,311.7000000000024,311.7098,2015-01-01 00:51:57,bin3117,75,False +CTSPillarNetworkA,3118,3118,3118,1978-07-16,311.8000000000024,311.8098,2015-01-01 00:51:58,bin3118,35,False +CTSPillarNetworkA,3119,3119,3119,1978-07-17,311.9000000000024,311.90982,2015-01-01 00:51:59,bin3119,75,False +CTSPillarNetworkA,3120,3120,3120,1978-07-18,312.00000000000244,312.00983,2015-01-01 00:52:00,bin3120,35,False +CTSPillarNetworkA,3121,3121,3121,1978-07-19,312.10000000000247,312.10983,2015-01-01 00:52:01,bin3121,75,False +CTSPillarNetworkA,3122,3122,3122,1978-07-20,312.2000000000025,312.20984,2015-01-01 00:52:02,bin3122,35,False +CTSPillarNetworkA,3123,3123,3123,1978-07-21,312.3000000000025,312.30984,2015-01-01 00:52:03,bin3123,75,False +CTSPillarNetworkA,3124,3124,3124,1978-07-22,312.40000000000254,312.40985,2015-01-01 00:52:04,bin3124,35,False +CTSPillarNetworkA,3125,3125,3125,1978-07-23,312.50000000000256,312.50986,2015-01-01 00:52:05,bin3125,75,False +CTSPillarNetworkA,3126,3126,3126,1978-07-24,312.6000000000026,312.60986,2015-01-01 00:52:06,bin3126,35,False +CTSPillarNetworkA,3127,3127,3127,1978-07-25,312.7000000000026,312.70987,2015-01-01 00:52:07,bin3127,75,False +CTSPillarNetworkA,3128,3128,3128,1978-07-26,312.8000000000026,312.80988,2015-01-01 00:52:08,bin3128,35,False +CTSPillarNetworkA,3129,3129,3129,1978-07-27,312.90000000000265,312.90988,2015-01-01 00:52:09,bin3129,75,False +CTSPillarNetworkA,3130,3130,3130,1978-07-28,313.0000000000027,313.0099,2015-01-01 00:52:10,bin3130,35,False +CTSPillarNetworkA,3131,3131,3131,1978-07-29,313.1000000000027,313.1099,2015-01-01 00:52:11,bin3131,75,False +CTSPillarNetworkA,3132,3132,3132,1978-07-30,313.2000000000027,313.2099,2015-01-01 00:52:12,bin3132,35,False +CTSPillarNetworkA,3133,3133,3133,1978-07-31,313.30000000000274,313.3099,2015-01-01 00:52:13,bin3133,75,False +CTSPillarNetworkA,3134,3134,3134,1978-08-01,313.40000000000276,313.4099,2015-01-01 00:52:14,bin3134,35,False +CTSPillarNetworkA,3135,3135,3135,1978-08-02,313.5000000000028,313.50992,2015-01-01 00:52:15,bin3135,75,False +CTSPillarNetworkA,3136,3136,3136,1978-08-03,313.6000000000028,313.60992,2015-01-01 00:52:16,bin3136,35,False +CTSPillarNetworkA,3137,3137,3137,1978-08-04,313.70000000000283,313.70993,2015-01-01 00:52:17,bin3137,75,False +CTSPillarNetworkA,3138,3138,3138,1978-08-05,313.80000000000285,313.80994,2015-01-01 00:52:18,bin3138,35,False +CTSPillarNetworkA,3139,3139,3139,1978-08-06,313.9000000000029,313.90994,2015-01-01 00:52:19,bin3139,75,False +CTSPillarNetworkA,3140,3140,3140,1978-08-07,314.0000000000029,314.00995,2015-01-01 00:52:20,bin3140,35,False +CTSPillarNetworkA,3141,3141,3141,1978-08-08,314.1000000000029,314.10995,2015-01-01 00:52:21,bin3141,75,False +CTSPillarNetworkA,3142,3142,3142,1978-08-09,314.20000000000294,314.20996,2015-01-01 00:52:22,bin3142,35,False +CTSPillarNetworkA,3143,3143,3143,1978-08-10,314.30000000000297,314.30997,2015-01-01 00:52:23,bin3143,75,False +CTSPillarNetworkA,3144,3144,3144,1978-08-11,314.400000000003,314.40997,2015-01-01 00:52:24,bin3144,35,False +CTSPillarNetworkA,3145,3145,3145,1978-08-12,314.500000000003,314.50998,2015-01-01 00:52:25,bin3145,75,False +CTSPillarNetworkA,3146,3146,3146,1978-08-13,314.60000000000304,314.61,2015-01-01 00:52:26,bin3146,35,False +CTSPillarNetworkA,3147,3147,3147,1978-08-14,314.70000000000306,314.71,2015-01-01 00:52:27,bin3147,75,False +CTSPillarNetworkA,3148,3148,3148,1978-08-15,314.8000000000031,314.81,2015-01-01 00:52:28,bin3148,35,False +CTSPillarNetworkA,3149,3149,3149,1978-08-16,314.9000000000031,314.91,2015-01-01 00:52:29,bin3149,75,False +CTSPillarNetworkA,3150,3150,3150,1978-08-17,315.0000000000031,315.01,2015-01-01 00:52:30,bin3150,35,False +CTSPillarNetworkA,3151,3151,3151,1978-08-18,315.10000000000315,315.11002,2015-01-01 00:52:31,bin3151,75,False +CTSPillarNetworkA,3152,3152,3152,1978-08-19,315.2000000000032,315.21002,2015-01-01 00:52:32,bin3152,35,False +CTSPillarNetworkA,3153,3153,3153,1978-08-20,315.3000000000032,315.31003,2015-01-01 00:52:33,bin3153,75,False +CTSPillarNetworkA,3154,3154,3154,1978-08-21,315.4000000000032,315.41003,2015-01-01 00:52:34,bin3154,35,False +CTSPillarNetworkA,3155,3155,3155,1978-08-22,315.50000000000324,315.51004,2015-01-01 00:52:35,bin3155,75,False +CTSPillarNetworkA,3156,3156,3156,1978-08-23,315.60000000000326,315.61005,2015-01-01 00:52:36,bin3156,35,False +CTSPillarNetworkA,3157,3157,3157,1978-08-24,315.7000000000033,315.71005,2015-01-01 00:52:37,bin3157,75,False +CTSPillarNetworkA,3158,3158,3158,1978-08-25,315.8000000000033,315.81006,2015-01-01 00:52:38,bin3158,35,False +CTSPillarNetworkA,3159,3159,3159,1978-08-26,315.90000000000333,315.91006,2015-01-01 00:52:39,bin3159,75,False +CTSPillarNetworkA,3160,3160,3160,1978-08-27,316.00000000000335,316.01007,2015-01-01 00:52:40,bin3160,35,False +CTSPillarNetworkA,3161,3161,3161,1978-08-28,316.1000000000034,316.11008,2015-01-01 00:52:41,bin3161,75,False +CTSPillarNetworkA,3162,3162,3162,1978-08-29,316.2000000000034,316.21008,2015-01-01 00:52:42,bin3162,35,False +CTSPillarNetworkA,3163,3163,3163,1978-08-30,316.3000000000034,316.3101,2015-01-01 00:52:43,bin3163,75,False +CTSPillarNetworkA,3164,3164,3164,1978-08-31,316.40000000000344,316.4101,2015-01-01 00:52:44,bin3164,35,False +CTSPillarNetworkA,3165,3165,3165,1978-09-01,316.50000000000347,316.5101,2015-01-01 00:52:45,bin3165,75,False +CTSPillarNetworkA,3166,3166,3166,1978-09-02,316.6000000000035,316.6101,2015-01-01 00:52:46,bin3166,35,False +CTSPillarNetworkA,3167,3167,3167,1978-09-03,316.7000000000035,316.7101,2015-01-01 00:52:47,bin3167,75,False +CTSPillarNetworkA,3168,3168,3168,1978-09-04,316.80000000000354,316.81012,2015-01-01 00:52:48,bin3168,35,False +CTSPillarNetworkA,3169,3169,3169,1978-09-05,316.90000000000356,316.91013,2015-01-01 00:52:49,bin3169,75,False +CTSPillarNetworkA,3170,3170,3170,1978-09-06,317.0000000000036,317.01013,2015-01-01 00:52:50,bin3170,35,False +CTSPillarNetworkA,3171,3171,3171,1978-09-07,317.1000000000036,317.11014,2015-01-01 00:52:51,bin3171,75,False +CTSPillarNetworkA,3172,3172,3172,1978-09-08,317.2000000000036,317.21014,2015-01-01 00:52:52,bin3172,35,False +CTSPillarNetworkA,3173,3173,3173,1978-09-09,317.30000000000365,317.31015,2015-01-01 00:52:53,bin3173,75,False +CTSPillarNetworkA,3174,3174,3174,1978-09-10,317.4000000000037,317.41016,2015-01-01 00:52:54,bin3174,35,False +CTSPillarNetworkA,3175,3175,3175,1978-09-11,317.5000000000037,317.51016,2015-01-01 00:52:55,bin3175,75,False +CTSPillarNetworkA,3176,3176,3176,1978-09-12,317.6000000000037,317.61017,2015-01-01 00:52:56,bin3176,35,False +CTSPillarNetworkA,3177,3177,3177,1978-09-13,317.70000000000374,317.71017,2015-01-01 00:52:57,bin3177,75,False +CTSPillarNetworkA,3178,3178,3178,1978-09-14,317.80000000000376,317.81018,2015-01-01 00:52:58,bin3178,35,False +CTSPillarNetworkA,3179,3179,3179,1978-09-15,317.9000000000038,317.9102,2015-01-01 00:52:59,bin3179,75,False +CTSPillarNetworkA,3180,3180,3180,1978-09-16,318.0000000000038,318.0102,2015-01-01 00:53:00,bin3180,35,False +CTSPillarNetworkA,3181,3181,3181,1978-09-17,318.10000000000383,318.1102,2015-01-01 00:53:01,bin3181,75,False +CTSPillarNetworkA,3182,3182,3182,1978-09-18,318.20000000000385,318.2102,2015-01-01 00:53:02,bin3182,35,False +CTSPillarNetworkA,3183,3183,3183,1978-09-19,318.3000000000039,318.3102,2015-01-01 00:53:03,bin3183,75,False +CTSPillarNetworkA,3184,3184,3184,1978-09-20,318.4000000000039,318.41022,2015-01-01 00:53:04,bin3184,35,False +CTSPillarNetworkA,3185,3185,3185,1978-09-21,318.5000000000039,318.51022,2015-01-01 00:53:05,bin3185,75,False +CTSPillarNetworkA,3186,3186,3186,1978-09-22,318.60000000000394,318.61023,2015-01-01 00:53:06,bin3186,35,False +CTSPillarNetworkA,3187,3187,3187,1978-09-23,318.70000000000397,318.71024,2015-01-01 00:53:07,bin3187,75,False +CTSPillarNetworkA,3188,3188,3188,1978-09-24,318.800000000004,318.81024,2015-01-01 00:53:08,bin3188,35,False +CTSPillarNetworkA,3189,3189,3189,1978-09-25,318.900000000004,318.91025,2015-01-01 00:53:09,bin3189,75,False +CTSPillarNetworkA,3190,3190,3190,1978-09-26,319.00000000000404,319.01025,2015-01-01 00:53:10,bin3190,35,False +CTSPillarNetworkA,3191,3191,3191,1978-09-27,319.10000000000406,319.11026,2015-01-01 00:53:11,bin3191,75,False +CTSPillarNetworkA,3192,3192,3192,1978-09-28,319.2000000000041,319.21027,2015-01-01 00:53:12,bin3192,35,False +CTSPillarNetworkA,3193,3193,3193,1978-09-29,319.3000000000041,319.31027,2015-01-01 00:53:13,bin3193,75,False +CTSPillarNetworkA,3194,3194,3194,1978-09-30,319.4000000000041,319.41028,2015-01-01 00:53:14,bin3194,35,False +CTSPillarNetworkA,3195,3195,3195,1978-10-01,319.50000000000415,319.51028,2015-01-01 00:53:15,bin3195,75,False +CTSPillarNetworkA,3196,3196,3196,1978-10-02,319.6000000000042,319.6103,2015-01-01 00:53:16,bin3196,35,False +CTSPillarNetworkA,3197,3197,3197,1978-10-03,319.7000000000042,319.7103,2015-01-01 00:53:17,bin3197,75,False +CTSPillarNetworkA,3198,3198,3198,1978-10-04,319.8000000000042,319.8103,2015-01-01 00:53:18,bin3198,35,False +CTSPillarNetworkA,3199,3199,3199,1978-10-05,319.90000000000424,319.9103,2015-01-01 00:53:19,bin3199,75,False +CTSPillarNetworkA,3200,3200,3200,1978-10-06,320.00000000000426,320.0103,2015-01-01 00:53:20,bin3200,35,False +CTSPillarNetworkA,3201,3201,3201,1978-10-07,320.1000000000043,320.11032,2015-01-01 00:53:21,bin3201,75,False +CTSPillarNetworkA,3202,3202,3202,1978-10-08,320.2000000000043,320.21033,2015-01-01 00:53:22,bin3202,35,False +CTSPillarNetworkA,3203,3203,3203,1978-10-09,320.30000000000433,320.31033,2015-01-01 00:53:23,bin3203,75,False +CTSPillarNetworkA,3204,3204,3204,1978-10-10,320.40000000000435,320.41034,2015-01-01 00:53:24,bin3204,35,False +CTSPillarNetworkA,3205,3205,3205,1978-10-11,320.5000000000044,320.51035,2015-01-01 00:53:25,bin3205,75,False +CTSPillarNetworkA,3206,3206,3206,1978-10-12,320.6000000000044,320.61035,2015-01-01 00:53:26,bin3206,35,False +CTSPillarNetworkA,3207,3207,3207,1978-10-13,320.7000000000044,320.71036,2015-01-01 00:53:27,bin3207,75,False +CTSPillarNetworkA,3208,3208,3208,1978-10-14,320.80000000000445,320.81036,2015-01-01 00:53:28,bin3208,35,False +CTSPillarNetworkA,3209,3209,3209,1978-10-15,320.90000000000447,320.91037,2015-01-01 00:53:29,bin3209,75,False +CTSPillarNetworkA,3210,3210,3210,1978-10-16,321.0000000000045,321.01038,2015-01-01 00:53:30,bin3210,35,False +CTSPillarNetworkA,3211,3211,3211,1978-10-17,321.1000000000045,321.11038,2015-01-01 00:53:31,bin3211,75,False +CTSPillarNetworkA,3212,3212,3212,1978-10-18,321.20000000000454,321.2104,2015-01-01 00:53:32,bin3212,35,False +CTSPillarNetworkA,3213,3213,3213,1978-10-19,321.30000000000456,321.3104,2015-01-01 00:53:33,bin3213,75,False +CTSPillarNetworkA,3214,3214,3214,1978-10-20,321.4000000000046,321.4104,2015-01-01 00:53:34,bin3214,35,False +CTSPillarNetworkA,3215,3215,3215,1978-10-21,321.5000000000046,321.5104,2015-01-01 00:53:35,bin3215,75,False +CTSPillarNetworkA,3216,3216,3216,1978-10-22,321.6000000000046,321.6104,2015-01-01 00:53:36,bin3216,35,False +CTSPillarNetworkA,3217,3217,3217,1978-10-23,321.70000000000465,321.71042,2015-01-01 00:53:37,bin3217,75,False +CTSPillarNetworkA,3218,3218,3218,1978-10-24,321.8000000000047,321.81042,2015-01-01 00:53:38,bin3218,35,False +CTSPillarNetworkA,3219,3219,3219,1978-10-25,321.9000000000047,321.91043,2015-01-01 00:53:39,bin3219,75,False +CTSPillarNetworkA,3220,3220,3220,1978-10-26,322.0000000000047,322.01044,2015-01-01 00:53:40,bin3220,35,False +CTSPillarNetworkA,3221,3221,3221,1978-10-27,322.10000000000474,322.11044,2015-01-01 00:53:41,bin3221,75,False +CTSPillarNetworkA,3222,3222,3222,1978-10-28,322.20000000000476,322.21045,2015-01-01 00:53:42,bin3222,35,False +CTSPillarNetworkA,3223,3223,3223,1978-10-29,322.3000000000048,322.31046,2015-01-01 00:53:43,bin3223,75,False +CTSPillarNetworkA,3224,3224,3224,1978-10-30,322.4000000000048,322.41046,2015-01-01 00:53:44,bin3224,35,False +CTSPillarNetworkA,3225,3225,3225,1978-10-31,322.50000000000483,322.51047,2015-01-01 00:53:45,bin3225,75,False +CTSPillarNetworkA,3226,3226,3226,1978-11-01,322.60000000000485,322.61047,2015-01-01 00:53:46,bin3226,35,False +CTSPillarNetworkA,3227,3227,3227,1978-11-02,322.7000000000049,322.71048,2015-01-01 00:53:47,bin3227,75,False +CTSPillarNetworkA,3228,3228,3228,1978-11-03,322.8000000000049,322.8105,2015-01-01 00:53:48,bin3228,35,False +CTSPillarNetworkA,3229,3229,3229,1978-11-04,322.9000000000049,322.9105,2015-01-01 00:53:49,bin3229,75,False +CTSPillarNetworkA,3230,3230,3230,1978-11-05,323.00000000000495,323.0105,2015-01-01 00:53:50,bin3230,35,False +CTSPillarNetworkA,3231,3231,3231,1978-11-06,323.10000000000497,323.1105,2015-01-01 00:53:51,bin3231,75,False +CTSPillarNetworkA,3232,3232,3232,1978-11-07,323.200000000005,323.2105,2015-01-01 00:53:52,bin3232,35,False +CTSPillarNetworkA,3233,3233,3233,1978-11-08,323.300000000005,323.31052,2015-01-01 00:53:53,bin3233,75,False +CTSPillarNetworkA,3234,3234,3234,1978-11-09,323.40000000000504,323.41052,2015-01-01 00:53:54,bin3234,35,False +CTSPillarNetworkA,3235,3235,3235,1978-11-10,323.50000000000506,323.51053,2015-01-01 00:53:55,bin3235,75,False +CTSPillarNetworkA,3236,3236,3236,1978-11-11,323.6000000000051,323.61053,2015-01-01 00:53:56,bin3236,35,False +CTSPillarNetworkA,3237,3237,3237,1978-11-12,323.7000000000051,323.71054,2015-01-01 00:53:57,bin3237,75,False +CTSPillarNetworkA,3238,3238,3238,1978-11-13,323.8000000000051,323.81055,2015-01-01 00:53:58,bin3238,35,False +CTSPillarNetworkA,3239,3239,3239,1978-11-14,323.90000000000515,323.91055,2015-01-01 00:53:59,bin3239,75,False +CTSPillarNetworkA,3240,3240,3240,1978-11-15,324.0000000000052,324.01056,2015-01-01 00:54:00,bin3240,35,False +CTSPillarNetworkA,3241,3241,3241,1978-11-16,324.1000000000052,324.11057,2015-01-01 00:54:01,bin3241,75,False +CTSPillarNetworkA,3242,3242,3242,1978-11-17,324.2000000000052,324.21057,2015-01-01 00:54:02,bin3242,35,False +CTSPillarNetworkA,3243,3243,3243,1978-11-18,324.30000000000524,324.31058,2015-01-01 00:54:03,bin3243,75,False +CTSPillarNetworkA,3244,3244,3244,1978-11-19,324.40000000000526,324.41058,2015-01-01 00:54:04,bin3244,35,False +CTSPillarNetworkA,3245,3245,3245,1978-11-20,324.5000000000053,324.5106,2015-01-01 00:54:05,bin3245,75,False +CTSPillarNetworkA,3246,3246,3246,1978-11-21,324.6000000000053,324.6106,2015-01-01 00:54:06,bin3246,35,False +CTSPillarNetworkA,3247,3247,3247,1978-11-22,324.70000000000533,324.7106,2015-01-01 00:54:07,bin3247,75,False +CTSPillarNetworkA,3248,3248,3248,1978-11-23,324.80000000000535,324.8106,2015-01-01 00:54:08,bin3248,35,False +CTSPillarNetworkA,3249,3249,3249,1978-11-24,324.9000000000054,324.9106,2015-01-01 00:54:09,bin3249,75,False +CTSPillarNetworkA,3250,3250,3250,1978-11-25,325.0000000000054,325.01062,2015-01-01 00:54:10,bin3250,35,False +CTSPillarNetworkA,3251,3251,3251,1978-11-26,325.1000000000054,325.11063,2015-01-01 00:54:11,bin3251,75,False +CTSPillarNetworkA,3252,3252,3252,1978-11-27,325.20000000000545,325.21063,2015-01-01 00:54:12,bin3252,35,False +CTSPillarNetworkA,3253,3253,3253,1978-11-28,325.30000000000547,325.31064,2015-01-01 00:54:13,bin3253,75,False +CTSPillarNetworkA,3254,3254,3254,1978-11-29,325.4000000000055,325.41064,2015-01-01 00:54:14,bin3254,35,False +CTSPillarNetworkA,3255,3255,3255,1978-11-30,325.5000000000055,325.51065,2015-01-01 00:54:15,bin3255,75,False +CTSPillarNetworkA,3256,3256,3256,1978-12-01,325.60000000000554,325.61066,2015-01-01 00:54:16,bin3256,35,False +CTSPillarNetworkA,3257,3257,3257,1978-12-02,325.70000000000556,325.71066,2015-01-01 00:54:17,bin3257,75,False +CTSPillarNetworkA,3258,3258,3258,1978-12-03,325.8000000000056,325.81067,2015-01-01 00:54:18,bin3258,35,False +CTSPillarNetworkA,3259,3259,3259,1978-12-04,325.9000000000056,325.91068,2015-01-01 00:54:19,bin3259,75,False +CTSPillarNetworkA,3260,3260,3260,1978-12-05,326.0000000000056,326.01068,2015-01-01 00:54:20,bin3260,35,False +CTSPillarNetworkA,3261,3261,3261,1978-12-06,326.10000000000565,326.1107,2015-01-01 00:54:21,bin3261,75,False +CTSPillarNetworkA,3262,3262,3262,1978-12-07,326.2000000000057,326.2107,2015-01-01 00:54:22,bin3262,35,False +CTSPillarNetworkA,3263,3263,3263,1978-12-08,326.3000000000057,326.3107,2015-01-01 00:54:23,bin3263,75,False +CTSPillarNetworkA,3264,3264,3264,1978-12-09,326.4000000000057,326.4107,2015-01-01 00:54:24,bin3264,35,False +CTSPillarNetworkA,3265,3265,3265,1978-12-10,326.50000000000574,326.5107,2015-01-01 00:54:25,bin3265,75,False +CTSPillarNetworkA,3266,3266,3266,1978-12-11,326.60000000000576,326.61072,2015-01-01 00:54:26,bin3266,35,False +CTSPillarNetworkA,3267,3267,3267,1978-12-12,326.7000000000058,326.71072,2015-01-01 00:54:27,bin3267,75,False +CTSPillarNetworkA,3268,3268,3268,1978-12-13,326.8000000000058,326.81073,2015-01-01 00:54:28,bin3268,35,False +CTSPillarNetworkA,3269,3269,3269,1978-12-14,326.90000000000583,326.91074,2015-01-01 00:54:29,bin3269,75,False +CTSPillarNetworkA,3270,3270,3270,1978-12-15,327.00000000000585,327.01074,2015-01-01 00:54:30,bin3270,35,False +CTSPillarNetworkA,3271,3271,3271,1978-12-16,327.1000000000059,327.11075,2015-01-01 00:54:31,bin3271,75,False +CTSPillarNetworkA,3272,3272,3272,1978-12-17,327.2000000000059,327.21075,2015-01-01 00:54:32,bin3272,35,False +CTSPillarNetworkA,3273,3273,3273,1978-12-18,327.3000000000059,327.31076,2015-01-01 00:54:33,bin3273,75,False +CTSPillarNetworkA,3274,3274,3274,1978-12-19,327.40000000000595,327.41077,2015-01-01 00:54:34,bin3274,35,False +CTSPillarNetworkA,3275,3275,3275,1978-12-20,327.50000000000597,327.51077,2015-01-01 00:54:35,bin3275,75,False +CTSPillarNetworkA,3276,3276,3276,1978-12-21,327.600000000006,327.61078,2015-01-01 00:54:36,bin3276,35,False +CTSPillarNetworkA,3277,3277,3277,1978-12-22,327.700000000006,327.7108,2015-01-01 00:54:37,bin3277,75,False +CTSPillarNetworkA,3278,3278,3278,1978-12-23,327.80000000000604,327.8108,2015-01-01 00:54:38,bin3278,35,False +CTSPillarNetworkA,3279,3279,3279,1978-12-24,327.90000000000606,327.9108,2015-01-01 00:54:39,bin3279,75,False +CTSPillarNetworkA,3280,3280,3280,1978-12-25,328.0000000000061,328.0108,2015-01-01 00:54:40,bin3280,35,False +CTSPillarNetworkA,3281,3281,3281,1978-12-26,328.1000000000061,328.1108,2015-01-01 00:54:41,bin3281,75,False +CTSPillarNetworkA,3282,3282,3282,1978-12-27,328.2000000000061,328.21082,2015-01-01 00:54:42,bin3282,35,False +CTSPillarNetworkA,3283,3283,3283,1978-12-28,328.30000000000615,328.31082,2015-01-01 00:54:43,bin3283,75,False +CTSPillarNetworkA,3284,3284,3284,1978-12-29,328.4000000000062,328.41083,2015-01-01 00:54:44,bin3284,35,False +CTSPillarNetworkA,3285,3285,3285,1978-12-30,328.5000000000062,328.51083,2015-01-01 00:54:45,bin3285,75,False +CTSPillarNetworkA,3286,3286,3286,1978-12-31,328.6000000000062,328.61084,2015-01-01 00:54:46,bin3286,35,False +CTSPillarNetworkA,3287,3287,3287,1979-01-01,328.70000000000624,328.71085,2015-01-01 00:54:47,bin3287,75,False +CTSPillarNetworkA,3288,3288,3288,1979-01-02,328.80000000000626,328.81085,2015-01-01 00:54:48,bin3288,35,False +CTSPillarNetworkA,3289,3289,3289,1979-01-03,328.9000000000063,328.91086,2015-01-01 00:54:49,bin3289,75,False +CTSPillarNetworkA,3290,3290,3290,1979-01-04,329.0000000000063,329.01086,2015-01-01 00:54:50,bin3290,35,False +CTSPillarNetworkA,3291,3291,3291,1979-01-05,329.10000000000633,329.11087,2015-01-01 00:54:51,bin3291,75,False +CTSPillarNetworkA,3292,3292,3292,1979-01-06,329.20000000000636,329.21088,2015-01-01 00:54:52,bin3292,35,False +CTSPillarNetworkA,3293,3293,3293,1979-01-07,329.3000000000064,329.31088,2015-01-01 00:54:53,bin3293,75,False +CTSPillarNetworkA,3294,3294,3294,1979-01-08,329.4000000000064,329.4109,2015-01-01 00:54:54,bin3294,35,False +CTSPillarNetworkA,3295,3295,3295,1979-01-09,329.5000000000064,329.5109,2015-01-01 00:54:55,bin3295,75,False +CTSPillarNetworkA,3296,3296,3296,1979-01-10,329.60000000000645,329.6109,2015-01-01 00:54:56,bin3296,35,False +CTSPillarNetworkA,3297,3297,3297,1979-01-11,329.70000000000647,329.7109,2015-01-01 00:54:57,bin3297,75,False +CTSPillarNetworkA,3298,3298,3298,1979-01-12,329.8000000000065,329.8109,2015-01-01 00:54:58,bin3298,35,False +CTSPillarNetworkA,3299,3299,3299,1979-01-13,329.9000000000065,329.91092,2015-01-01 00:54:59,bin3299,75,False +CTSPillarNetworkA,3300,3300,3300,1979-01-14,330.00000000000654,330.01093,2015-01-01 00:55:00,bin3300,35,False +CTSPillarNetworkA,3301,3301,3301,1979-01-15,330.10000000000656,330.11093,2015-01-01 00:55:01,bin3301,75,False +CTSPillarNetworkA,3302,3302,3302,1979-01-16,330.2000000000066,330.21094,2015-01-01 00:55:02,bin3302,35,False +CTSPillarNetworkA,3303,3303,3303,1979-01-17,330.3000000000066,330.31094,2015-01-01 00:55:03,bin3303,75,False +CTSPillarNetworkA,3304,3304,3304,1979-01-18,330.4000000000066,330.41095,2015-01-01 00:55:04,bin3304,35,False +CTSPillarNetworkA,3305,3305,3305,1979-01-19,330.50000000000665,330.51096,2015-01-01 00:55:05,bin3305,75,False +CTSPillarNetworkA,3306,3306,3306,1979-01-20,330.6000000000067,330.61096,2015-01-01 00:55:06,bin3306,35,False +CTSPillarNetworkA,3307,3307,3307,1979-01-21,330.7000000000067,330.71097,2015-01-01 00:55:07,bin3307,75,False +CTSPillarNetworkA,3308,3308,3308,1979-01-22,330.8000000000067,330.81097,2015-01-01 00:55:08,bin3308,35,False +CTSPillarNetworkA,3309,3309,3309,1979-01-23,330.90000000000674,330.91098,2015-01-01 00:55:09,bin3309,75,False +CTSPillarNetworkA,3310,3310,3310,1979-01-24,331.00000000000676,331.011,2015-01-01 00:55:10,bin3310,35,False +CTSPillarNetworkA,3311,3311,3311,1979-01-25,331.1000000000068,331.111,2015-01-01 00:55:11,bin3311,75,False +CTSPillarNetworkA,3312,3312,3312,1979-01-26,331.2000000000068,331.211,2015-01-01 00:55:12,bin3312,35,False +CTSPillarNetworkA,3313,3313,3313,1979-01-27,331.30000000000683,331.311,2015-01-01 00:55:13,bin3313,75,False +CTSPillarNetworkA,3314,3314,3314,1979-01-28,331.40000000000686,331.411,2015-01-01 00:55:14,bin3314,35,False +CTSPillarNetworkA,3315,3315,3315,1979-01-29,331.5000000000069,331.51102,2015-01-01 00:55:15,bin3315,75,False +CTSPillarNetworkA,3316,3316,3316,1979-01-30,331.6000000000069,331.61102,2015-01-01 00:55:16,bin3316,35,False +CTSPillarNetworkA,3317,3317,3317,1979-01-31,331.7000000000069,331.71103,2015-01-01 00:55:17,bin3317,75,False +CTSPillarNetworkA,3318,3318,3318,1979-02-01,331.80000000000695,331.81104,2015-01-01 00:55:18,bin3318,35,False +CTSPillarNetworkA,3319,3319,3319,1979-02-02,331.90000000000697,331.91104,2015-01-01 00:55:19,bin3319,75,False +CTSPillarNetworkA,3320,3320,3320,1979-02-03,332.000000000007,332.01105,2015-01-01 00:55:20,bin3320,35,False +CTSPillarNetworkA,3321,3321,3321,1979-02-04,332.100000000007,332.11105,2015-01-01 00:55:21,bin3321,75,False +CTSPillarNetworkA,3322,3322,3322,1979-02-05,332.20000000000704,332.21106,2015-01-01 00:55:22,bin3322,35,False +CTSPillarNetworkA,3323,3323,3323,1979-02-06,332.30000000000706,332.31107,2015-01-01 00:55:23,bin3323,75,False +CTSPillarNetworkA,3324,3324,3324,1979-02-07,332.4000000000071,332.41107,2015-01-01 00:55:24,bin3324,35,False +CTSPillarNetworkA,3325,3325,3325,1979-02-08,332.5000000000071,332.51108,2015-01-01 00:55:25,bin3325,75,False +CTSPillarNetworkA,3326,3326,3326,1979-02-09,332.6000000000071,332.61108,2015-01-01 00:55:26,bin3326,35,False +CTSPillarNetworkA,3327,3327,3327,1979-02-10,332.70000000000715,332.7111,2015-01-01 00:55:27,bin3327,75,False +CTSPillarNetworkA,3328,3328,3328,1979-02-11,332.8000000000072,332.8111,2015-01-01 00:55:28,bin3328,35,False +CTSPillarNetworkA,3329,3329,3329,1979-02-12,332.9000000000072,332.9111,2015-01-01 00:55:29,bin3329,75,False +CTSPillarNetworkA,3330,3330,3330,1979-02-13,333.0000000000072,333.0111,2015-01-01 00:55:30,bin3330,35,False +CTSPillarNetworkA,3331,3331,3331,1979-02-14,333.10000000000724,333.1111,2015-01-01 00:55:31,bin3331,75,False +CTSPillarNetworkA,3332,3332,3332,1979-02-15,333.20000000000726,333.21112,2015-01-01 00:55:32,bin3332,35,False +CTSPillarNetworkA,3333,3333,3333,1979-02-16,333.3000000000073,333.31113,2015-01-01 00:55:33,bin3333,75,False +CTSPillarNetworkA,3334,3334,3334,1979-02-17,333.4000000000073,333.41113,2015-01-01 00:55:34,bin3334,35,False +CTSPillarNetworkA,3335,3335,3335,1979-02-18,333.50000000000733,333.51114,2015-01-01 00:55:35,bin3335,75,False +CTSPillarNetworkA,3336,3336,3336,1979-02-19,333.60000000000736,333.61115,2015-01-01 00:55:36,bin3336,35,False +CTSPillarNetworkA,3337,3337,3337,1979-02-20,333.7000000000074,333.71115,2015-01-01 00:55:37,bin3337,75,False +CTSPillarNetworkA,3338,3338,3338,1979-02-21,333.8000000000074,333.81116,2015-01-01 00:55:38,bin3338,35,False +CTSPillarNetworkA,3339,3339,3339,1979-02-22,333.9000000000074,333.91116,2015-01-01 00:55:39,bin3339,75,False +CTSPillarNetworkA,3340,3340,3340,1979-02-23,334.00000000000745,334.01117,2015-01-01 00:55:40,bin3340,35,False +CTSPillarNetworkA,3341,3341,3341,1979-02-24,334.10000000000747,334.11118,2015-01-01 00:55:41,bin3341,75,False +CTSPillarNetworkA,3342,3342,3342,1979-02-25,334.2000000000075,334.21118,2015-01-01 00:55:42,bin3342,35,False +CTSPillarNetworkA,3343,3343,3343,1979-02-26,334.3000000000075,334.3112,2015-01-01 00:55:43,bin3343,75,False +CTSPillarNetworkA,3344,3344,3344,1979-02-27,334.40000000000754,334.4112,2015-01-01 00:55:44,bin3344,35,False +CTSPillarNetworkA,3345,3345,3345,1979-02-28,334.50000000000756,334.5112,2015-01-01 00:55:45,bin3345,75,False +CTSPillarNetworkA,3346,3346,3346,1979-03-01,334.6000000000076,334.6112,2015-01-01 00:55:46,bin3346,35,False +CTSPillarNetworkA,3347,3347,3347,1979-03-02,334.7000000000076,334.7112,2015-01-01 00:55:47,bin3347,75,False +CTSPillarNetworkA,3348,3348,3348,1979-03-03,334.8000000000076,334.81122,2015-01-01 00:55:48,bin3348,35,False +CTSPillarNetworkA,3349,3349,3349,1979-03-04,334.90000000000765,334.91122,2015-01-01 00:55:49,bin3349,75,False +CTSPillarNetworkA,3350,3350,3350,1979-03-05,335.0000000000077,335.01123,2015-01-01 00:55:50,bin3350,35,False +CTSPillarNetworkA,3351,3351,3351,1979-03-06,335.1000000000077,335.11124,2015-01-01 00:55:51,bin3351,75,False +CTSPillarNetworkA,3352,3352,3352,1979-03-07,335.2000000000077,335.21124,2015-01-01 00:55:52,bin3352,35,False +CTSPillarNetworkA,3353,3353,3353,1979-03-08,335.30000000000774,335.31125,2015-01-01 00:55:53,bin3353,75,False +CTSPillarNetworkA,3354,3354,3354,1979-03-09,335.40000000000776,335.41125,2015-01-01 00:55:54,bin3354,35,False +CTSPillarNetworkA,3355,3355,3355,1979-03-10,335.5000000000078,335.51126,2015-01-01 00:55:55,bin3355,75,False +CTSPillarNetworkA,3356,3356,3356,1979-03-11,335.6000000000078,335.61127,2015-01-01 00:55:56,bin3356,35,False +CTSPillarNetworkA,3357,3357,3357,1979-03-12,335.70000000000783,335.71127,2015-01-01 00:55:57,bin3357,75,False +CTSPillarNetworkA,3358,3358,3358,1979-03-13,335.80000000000786,335.81128,2015-01-01 00:55:58,bin3358,35,False +CTSPillarNetworkA,3359,3359,3359,1979-03-14,335.9000000000079,335.9113,2015-01-01 00:55:59,bin3359,75,False +CTSPillarNetworkA,3360,3360,3360,1979-03-15,336.0000000000079,336.0113,2015-01-01 00:56:00,bin3360,35,False +CTSPillarNetworkA,3361,3361,3361,1979-03-16,336.1000000000079,336.1113,2015-01-01 00:56:01,bin3361,75,False +CTSPillarNetworkA,3362,3362,3362,1979-03-17,336.20000000000795,336.2113,2015-01-01 00:56:02,bin3362,35,False +CTSPillarNetworkA,3363,3363,3363,1979-03-18,336.30000000000797,336.3113,2015-01-01 00:56:03,bin3363,75,False +CTSPillarNetworkA,3364,3364,3364,1979-03-19,336.400000000008,336.41132,2015-01-01 00:56:04,bin3364,35,False +CTSPillarNetworkA,3365,3365,3365,1979-03-20,336.500000000008,336.51132,2015-01-01 00:56:05,bin3365,75,False +CTSPillarNetworkA,3366,3366,3366,1979-03-21,336.60000000000804,336.61133,2015-01-01 00:56:06,bin3366,35,False +CTSPillarNetworkA,3367,3367,3367,1979-03-22,336.70000000000806,336.71133,2015-01-01 00:56:07,bin3367,75,False +CTSPillarNetworkA,3368,3368,3368,1979-03-23,336.8000000000081,336.81134,2015-01-01 00:56:08,bin3368,35,False +CTSPillarNetworkA,3369,3369,3369,1979-03-24,336.9000000000081,336.91135,2015-01-01 00:56:09,bin3369,75,False +CTSPillarNetworkA,3370,3370,3370,1979-03-25,337.00000000000813,337.01135,2015-01-01 00:56:10,bin3370,35,False +CTSPillarNetworkA,3371,3371,3371,1979-03-26,337.10000000000815,337.11136,2015-01-01 00:56:11,bin3371,75,False +CTSPillarNetworkA,3372,3372,3372,1979-03-27,337.2000000000082,337.21136,2015-01-01 00:56:12,bin3372,35,False +CTSPillarNetworkA,3373,3373,3373,1979-03-28,337.3000000000082,337.31137,2015-01-01 00:56:13,bin3373,75,False +CTSPillarNetworkA,3374,3374,3374,1979-03-29,337.4000000000082,337.41138,2015-01-01 00:56:14,bin3374,35,False +CTSPillarNetworkA,3375,3375,3375,1979-03-30,337.50000000000824,337.51138,2015-01-01 00:56:15,bin3375,75,False +CTSPillarNetworkA,3376,3376,3376,1979-03-31,337.60000000000827,337.6114,2015-01-01 00:56:16,bin3376,35,False +CTSPillarNetworkA,3377,3377,3377,1979-04-01,337.7000000000083,337.7114,2015-01-01 00:56:17,bin3377,75,False +CTSPillarNetworkA,3378,3378,3378,1979-04-02,337.8000000000083,337.8114,2015-01-01 00:56:18,bin3378,35,False +CTSPillarNetworkA,3379,3379,3379,1979-04-03,337.90000000000833,337.9114,2015-01-01 00:56:19,bin3379,75,False +CTSPillarNetworkA,3380,3380,3380,1979-04-04,338.00000000000836,338.0114,2015-01-01 00:56:20,bin3380,35,False +CTSPillarNetworkA,3381,3381,3381,1979-04-05,338.1000000000084,338.11142,2015-01-01 00:56:21,bin3381,75,False +CTSPillarNetworkA,3382,3382,3382,1979-04-06,338.2000000000084,338.21143,2015-01-01 00:56:22,bin3382,35,False +CTSPillarNetworkA,3383,3383,3383,1979-04-07,338.3000000000084,338.31143,2015-01-01 00:56:23,bin3383,75,False +CTSPillarNetworkA,3384,3384,3384,1979-04-08,338.40000000000845,338.41144,2015-01-01 00:56:24,bin3384,35,False +CTSPillarNetworkA,3385,3385,3385,1979-04-09,338.50000000000847,338.51144,2015-01-01 00:56:25,bin3385,75,False +CTSPillarNetworkA,3386,3386,3386,1979-04-10,338.6000000000085,338.61145,2015-01-01 00:56:26,bin3386,35,False +CTSPillarNetworkA,3387,3387,3387,1979-04-11,338.7000000000085,338.71146,2015-01-01 00:56:27,bin3387,75,False +CTSPillarNetworkA,3388,3388,3388,1979-04-12,338.80000000000854,338.81146,2015-01-01 00:56:28,bin3388,35,False +CTSPillarNetworkA,3389,3389,3389,1979-04-13,338.90000000000856,338.91147,2015-01-01 00:56:29,bin3389,75,False +CTSPillarNetworkA,3390,3390,3390,1979-04-14,339.0000000000086,339.01147,2015-01-01 00:56:30,bin3390,35,False +CTSPillarNetworkA,3391,3391,3391,1979-04-15,339.1000000000086,339.11148,2015-01-01 00:56:31,bin3391,75,False +CTSPillarNetworkA,3392,3392,3392,1979-04-16,339.20000000000863,339.2115,2015-01-01 00:56:32,bin3392,35,False +CTSPillarNetworkA,3393,3393,3393,1979-04-17,339.30000000000865,339.3115,2015-01-01 00:56:33,bin3393,75,False +CTSPillarNetworkA,3394,3394,3394,1979-04-18,339.4000000000087,339.4115,2015-01-01 00:56:34,bin3394,35,False +CTSPillarNetworkA,3395,3395,3395,1979-04-19,339.5000000000087,339.5115,2015-01-01 00:56:35,bin3395,75,False +CTSPillarNetworkA,3396,3396,3396,1979-04-20,339.6000000000087,339.6115,2015-01-01 00:56:36,bin3396,35,False +CTSPillarNetworkA,3397,3397,3397,1979-04-21,339.70000000000874,339.71152,2015-01-01 00:56:37,bin3397,75,False +CTSPillarNetworkA,3398,3398,3398,1979-04-22,339.80000000000877,339.81152,2015-01-01 00:56:38,bin3398,35,False +CTSPillarNetworkA,3399,3399,3399,1979-04-23,339.9000000000088,339.91153,2015-01-01 00:56:39,bin3399,75,False +CTSPillarNetworkA,3400,3400,3400,1979-04-24,340.0000000000088,340.01154,2015-01-01 00:56:40,bin3400,35,False +CTSPillarNetworkA,3401,3401,3401,1979-04-25,340.10000000000883,340.11154,2015-01-01 00:56:41,bin3401,75,False +CTSPillarNetworkA,3402,3402,3402,1979-04-26,340.20000000000886,340.21155,2015-01-01 00:56:42,bin3402,35,False +CTSPillarNetworkA,3403,3403,3403,1979-04-27,340.3000000000089,340.31155,2015-01-01 00:56:43,bin3403,75,False +CTSPillarNetworkA,3404,3404,3404,1979-04-28,340.4000000000089,340.41156,2015-01-01 00:56:44,bin3404,35,False +CTSPillarNetworkA,3405,3405,3405,1979-04-29,340.5000000000089,340.51157,2015-01-01 00:56:45,bin3405,75,False +CTSPillarNetworkA,3406,3406,3406,1979-04-30,340.60000000000895,340.61157,2015-01-01 00:56:46,bin3406,35,False +CTSPillarNetworkA,3407,3407,3407,1979-05-01,340.70000000000897,340.71158,2015-01-01 00:56:47,bin3407,75,False +CTSPillarNetworkA,3408,3408,3408,1979-05-02,340.800000000009,340.81158,2015-01-01 00:56:48,bin3408,35,False +CTSPillarNetworkA,3409,3409,3409,1979-05-03,340.900000000009,340.9116,2015-01-01 00:56:49,bin3409,75,False +CTSPillarNetworkA,3410,3410,3410,1979-05-04,341.00000000000904,341.0116,2015-01-01 00:56:50,bin3410,35,False +CTSPillarNetworkA,3411,3411,3411,1979-05-05,341.10000000000906,341.1116,2015-01-01 00:56:51,bin3411,75,False +CTSPillarNetworkA,3412,3412,3412,1979-05-06,341.2000000000091,341.2116,2015-01-01 00:56:52,bin3412,35,False +CTSPillarNetworkA,3413,3413,3413,1979-05-07,341.3000000000091,341.3116,2015-01-01 00:56:53,bin3413,75,False +CTSPillarNetworkA,3414,3414,3414,1979-05-08,341.40000000000913,341.41162,2015-01-01 00:56:54,bin3414,35,False +CTSPillarNetworkA,3415,3415,3415,1979-05-09,341.50000000000915,341.51163,2015-01-01 00:56:55,bin3415,75,False +CTSPillarNetworkA,3416,3416,3416,1979-05-10,341.6000000000092,341.61163,2015-01-01 00:56:56,bin3416,35,False +CTSPillarNetworkA,3417,3417,3417,1979-05-11,341.7000000000092,341.71164,2015-01-01 00:56:57,bin3417,75,False +CTSPillarNetworkA,3418,3418,3418,1979-05-12,341.8000000000092,341.81165,2015-01-01 00:56:58,bin3418,35,False +CTSPillarNetworkA,3419,3419,3419,1979-05-13,341.90000000000924,341.91165,2015-01-01 00:56:59,bin3419,75,False +CTSPillarNetworkA,3420,3420,3420,1979-05-14,342.00000000000927,342.01166,2015-01-01 00:57:00,bin3420,35,False +CTSPillarNetworkA,3421,3421,3421,1979-05-15,342.1000000000093,342.11166,2015-01-01 00:57:01,bin3421,75,False +CTSPillarNetworkA,3422,3422,3422,1979-05-16,342.2000000000093,342.21167,2015-01-01 00:57:02,bin3422,35,False +CTSPillarNetworkA,3423,3423,3423,1979-05-17,342.30000000000933,342.31168,2015-01-01 00:57:03,bin3423,75,False +CTSPillarNetworkA,3424,3424,3424,1979-05-18,342.40000000000936,342.41168,2015-01-01 00:57:04,bin3424,35,False +CTSPillarNetworkA,3425,3425,3425,1979-05-19,342.5000000000094,342.5117,2015-01-01 00:57:05,bin3425,75,False +CTSPillarNetworkA,3426,3426,3426,1979-05-20,342.6000000000094,342.6117,2015-01-01 00:57:06,bin3426,35,False +CTSPillarNetworkA,3427,3427,3427,1979-05-21,342.7000000000094,342.7117,2015-01-01 00:57:07,bin3427,75,False +CTSPillarNetworkA,3428,3428,3428,1979-05-22,342.80000000000945,342.8117,2015-01-01 00:57:08,bin3428,35,False +CTSPillarNetworkA,3429,3429,3429,1979-05-23,342.90000000000947,342.9117,2015-01-01 00:57:09,bin3429,75,False +CTSPillarNetworkA,3430,3430,3430,1979-05-24,343.0000000000095,343.01172,2015-01-01 00:57:10,bin3430,35,False +CTSPillarNetworkA,3431,3431,3431,1979-05-25,343.1000000000095,343.11172,2015-01-01 00:57:11,bin3431,75,False +CTSPillarNetworkA,3432,3432,3432,1979-05-26,343.20000000000954,343.21173,2015-01-01 00:57:12,bin3432,35,False +CTSPillarNetworkA,3433,3433,3433,1979-05-27,343.30000000000956,343.31174,2015-01-01 00:57:13,bin3433,75,False +CTSPillarNetworkA,3434,3434,3434,1979-05-28,343.4000000000096,343.41174,2015-01-01 00:57:14,bin3434,35,False +CTSPillarNetworkA,3435,3435,3435,1979-05-29,343.5000000000096,343.51175,2015-01-01 00:57:15,bin3435,75,False +CTSPillarNetworkA,3436,3436,3436,1979-05-30,343.60000000000963,343.61176,2015-01-01 00:57:16,bin3436,35,False +CTSPillarNetworkA,3437,3437,3437,1979-05-31,343.70000000000965,343.71176,2015-01-01 00:57:17,bin3437,75,False +CTSPillarNetworkA,3438,3438,3438,1979-06-01,343.8000000000097,343.81177,2015-01-01 00:57:18,bin3438,35,False +CTSPillarNetworkA,3439,3439,3439,1979-06-02,343.9000000000097,343.91177,2015-01-01 00:57:19,bin3439,75,False +CTSPillarNetworkA,3440,3440,3440,1979-06-03,344.0000000000097,344.01178,2015-01-01 00:57:20,bin3440,35,False +CTSPillarNetworkA,3441,3441,3441,1979-06-04,344.10000000000974,344.1118,2015-01-01 00:57:21,bin3441,75,False +CTSPillarNetworkA,3442,3442,3442,1979-06-05,344.20000000000977,344.2118,2015-01-01 00:57:22,bin3442,35,False +CTSPillarNetworkA,3443,3443,3443,1979-06-06,344.3000000000098,344.3118,2015-01-01 00:57:23,bin3443,75,False +CTSPillarNetworkA,3444,3444,3444,1979-06-07,344.4000000000098,344.4118,2015-01-01 00:57:24,bin3444,35,False +CTSPillarNetworkA,3445,3445,3445,1979-06-08,344.50000000000983,344.5118,2015-01-01 00:57:25,bin3445,75,False +CTSPillarNetworkA,3446,3446,3446,1979-06-09,344.60000000000986,344.61182,2015-01-01 00:57:26,bin3446,35,False +CTSPillarNetworkA,3447,3447,3447,1979-06-10,344.7000000000099,344.71182,2015-01-01 00:57:27,bin3447,75,False +CTSPillarNetworkA,3448,3448,3448,1979-06-11,344.8000000000099,344.81183,2015-01-01 00:57:28,bin3448,35,False +CTSPillarNetworkA,3449,3449,3449,1979-06-12,344.9000000000099,344.91183,2015-01-01 00:57:29,bin3449,75,False +CTSPillarNetworkA,3450,3450,3450,1979-06-13,345.00000000000995,345.01184,2015-01-01 00:57:30,bin3450,35,False +CTSPillarNetworkA,3451,3451,3451,1979-06-14,345.10000000000997,345.11185,2015-01-01 00:57:31,bin3451,75,False +CTSPillarNetworkA,3452,3452,3452,1979-06-15,345.20000000001,345.21185,2015-01-01 00:57:32,bin3452,35,False +CTSPillarNetworkA,3453,3453,3453,1979-06-16,345.30000000001,345.31186,2015-01-01 00:57:33,bin3453,75,False +CTSPillarNetworkA,3454,3454,3454,1979-06-17,345.40000000001004,345.41187,2015-01-01 00:57:34,bin3454,35,False +CTSPillarNetworkA,3455,3455,3455,1979-06-18,345.50000000001006,345.51187,2015-01-01 00:57:35,bin3455,75,False +CTSPillarNetworkA,3456,3456,3456,1979-06-19,345.6000000000101,345.61188,2015-01-01 00:57:36,bin3456,35,False +CTSPillarNetworkA,3457,3457,3457,1979-06-20,345.7000000000101,345.71188,2015-01-01 00:57:37,bin3457,75,False +CTSPillarNetworkA,3458,3458,3458,1979-06-21,345.80000000001013,345.8119,2015-01-01 00:57:38,bin3458,35,False +CTSPillarNetworkA,3459,3459,3459,1979-06-22,345.90000000001015,345.9119,2015-01-01 00:57:39,bin3459,75,False +CTSPillarNetworkA,3460,3460,3460,1979-06-23,346.0000000000102,346.0119,2015-01-01 00:57:40,bin3460,35,False +CTSPillarNetworkA,3461,3461,3461,1979-06-24,346.1000000000102,346.1119,2015-01-01 00:57:41,bin3461,75,False +CTSPillarNetworkA,3462,3462,3462,1979-06-25,346.2000000000102,346.2119,2015-01-01 00:57:42,bin3462,35,False +CTSPillarNetworkA,3463,3463,3463,1979-06-26,346.30000000001024,346.31192,2015-01-01 00:57:43,bin3463,75,False +CTSPillarNetworkA,3464,3464,3464,1979-06-27,346.40000000001027,346.41193,2015-01-01 00:57:44,bin3464,35,False +CTSPillarNetworkA,3465,3465,3465,1979-06-28,346.5000000000103,346.51193,2015-01-01 00:57:45,bin3465,75,False +CTSPillarNetworkA,3466,3466,3466,1979-06-29,346.6000000000103,346.61194,2015-01-01 00:57:46,bin3466,35,False +CTSPillarNetworkA,3467,3467,3467,1979-06-30,346.70000000001033,346.71194,2015-01-01 00:57:47,bin3467,75,False +CTSPillarNetworkA,3468,3468,3468,1979-07-01,346.80000000001036,346.81195,2015-01-01 00:57:48,bin3468,35,False +CTSPillarNetworkA,3469,3469,3469,1979-07-02,346.9000000000104,346.91196,2015-01-01 00:57:49,bin3469,75,False +CTSPillarNetworkA,3470,3470,3470,1979-07-03,347.0000000000104,347.01196,2015-01-01 00:57:50,bin3470,35,False +CTSPillarNetworkA,3471,3471,3471,1979-07-04,347.1000000000104,347.11197,2015-01-01 00:57:51,bin3471,75,False +CTSPillarNetworkA,3472,3472,3472,1979-07-05,347.20000000001045,347.21198,2015-01-01 00:57:52,bin3472,35,False +CTSPillarNetworkA,3473,3473,3473,1979-07-06,347.30000000001047,347.31198,2015-01-01 00:57:53,bin3473,75,False +CTSPillarNetworkA,3474,3474,3474,1979-07-07,347.4000000000105,347.412,2015-01-01 00:57:54,bin3474,35,False +CTSPillarNetworkA,3475,3475,3475,1979-07-08,347.5000000000105,347.512,2015-01-01 00:57:55,bin3475,75,False +CTSPillarNetworkA,3476,3476,3476,1979-07-09,347.60000000001054,347.612,2015-01-01 00:57:56,bin3476,35,False +CTSPillarNetworkA,3477,3477,3477,1979-07-10,347.70000000001056,347.712,2015-01-01 00:57:57,bin3477,75,False +CTSPillarNetworkA,3478,3478,3478,1979-07-11,347.8000000000106,347.812,2015-01-01 00:57:58,bin3478,35,False +CTSPillarNetworkA,3479,3479,3479,1979-07-12,347.9000000000106,347.91202,2015-01-01 00:57:59,bin3479,75,False +CTSPillarNetworkA,3480,3480,3480,1979-07-13,348.00000000001063,348.01202,2015-01-01 00:58:00,bin3480,35,False +CTSPillarNetworkA,3481,3481,3481,1979-07-14,348.10000000001065,348.11203,2015-01-01 00:58:01,bin3481,75,False +CTSPillarNetworkA,3482,3482,3482,1979-07-15,348.2000000000107,348.21204,2015-01-01 00:58:02,bin3482,35,False +CTSPillarNetworkA,3483,3483,3483,1979-07-16,348.3000000000107,348.31204,2015-01-01 00:58:03,bin3483,75,False +CTSPillarNetworkA,3484,3484,3484,1979-07-17,348.4000000000107,348.41205,2015-01-01 00:58:04,bin3484,35,False +CTSPillarNetworkA,3485,3485,3485,1979-07-18,348.50000000001074,348.51205,2015-01-01 00:58:05,bin3485,75,False +CTSPillarNetworkA,3486,3486,3486,1979-07-19,348.60000000001077,348.61206,2015-01-01 00:58:06,bin3486,35,False +CTSPillarNetworkA,3487,3487,3487,1979-07-20,348.7000000000108,348.71207,2015-01-01 00:58:07,bin3487,75,False +CTSPillarNetworkA,3488,3488,3488,1979-07-21,348.8000000000108,348.81207,2015-01-01 00:58:08,bin3488,35,False +CTSPillarNetworkA,3489,3489,3489,1979-07-22,348.90000000001083,348.91208,2015-01-01 00:58:09,bin3489,75,False +CTSPillarNetworkA,3490,3490,3490,1979-07-23,349.00000000001086,349.0121,2015-01-01 00:58:10,bin3490,35,False +CTSPillarNetworkA,3491,3491,3491,1979-07-24,349.1000000000109,349.1121,2015-01-01 00:58:11,bin3491,75,False +CTSPillarNetworkA,3492,3492,3492,1979-07-25,349.2000000000109,349.2121,2015-01-01 00:58:12,bin3492,35,False +CTSPillarNetworkA,3493,3493,3493,1979-07-26,349.3000000000109,349.3121,2015-01-01 00:58:13,bin3493,75,False +CTSPillarNetworkA,3494,3494,3494,1979-07-27,349.40000000001095,349.4121,2015-01-01 00:58:14,bin3494,35,False +CTSPillarNetworkA,3495,3495,3495,1979-07-28,349.50000000001097,349.51212,2015-01-01 00:58:15,bin3495,75,False +CTSPillarNetworkA,3496,3496,3496,1979-07-29,349.600000000011,349.61212,2015-01-01 00:58:16,bin3496,35,False +CTSPillarNetworkA,3497,3497,3497,1979-07-30,349.700000000011,349.71213,2015-01-01 00:58:17,bin3497,75,False +CTSPillarNetworkA,3498,3498,3498,1979-07-31,349.80000000001104,349.81213,2015-01-01 00:58:18,bin3498,35,False +CTSPillarNetworkA,3499,3499,3499,1979-08-01,349.90000000001106,349.91214,2015-01-01 00:58:19,bin3499,75,False +CTSPillarNetworkA,3500,3500,3500,1979-08-02,350.0000000000111,350.01215,2015-01-01 00:58:20,bin3500,35,False +CTSPillarNetworkA,3501,3501,3501,1979-08-03,350.1000000000111,350.11215,2015-01-01 00:58:21,bin3501,75,False +CTSPillarNetworkA,3502,3502,3502,1979-08-04,350.20000000001113,350.21216,2015-01-01 00:58:22,bin3502,35,False +CTSPillarNetworkA,3503,3503,3503,1979-08-05,350.30000000001115,350.31216,2015-01-01 00:58:23,bin3503,75,False +CTSPillarNetworkA,3504,3504,3504,1979-08-06,350.4000000000112,350.41217,2015-01-01 00:58:24,bin3504,35,False +CTSPillarNetworkA,3505,3505,3505,1979-08-07,350.5000000000112,350.51218,2015-01-01 00:58:25,bin3505,75,False +CTSPillarNetworkA,3506,3506,3506,1979-08-08,350.6000000000112,350.61218,2015-01-01 00:58:26,bin3506,35,False +CTSPillarNetworkA,3507,3507,3507,1979-08-09,350.70000000001124,350.7122,2015-01-01 00:58:27,bin3507,75,False +CTSPillarNetworkA,3508,3508,3508,1979-08-10,350.80000000001127,350.8122,2015-01-01 00:58:28,bin3508,35,False +CTSPillarNetworkA,3509,3509,3509,1979-08-11,350.9000000000113,350.9122,2015-01-01 00:58:29,bin3509,75,False +CTSPillarNetworkA,3510,3510,3510,1979-08-12,351.0000000000113,351.0122,2015-01-01 00:58:30,bin3510,35,False +CTSPillarNetworkA,3511,3511,3511,1979-08-13,351.10000000001133,351.1122,2015-01-01 00:58:31,bin3511,75,False +CTSPillarNetworkA,3512,3512,3512,1979-08-14,351.20000000001136,351.21222,2015-01-01 00:58:32,bin3512,35,False +CTSPillarNetworkA,3513,3513,3513,1979-08-15,351.3000000000114,351.31223,2015-01-01 00:58:33,bin3513,75,False +CTSPillarNetworkA,3514,3514,3514,1979-08-16,351.4000000000114,351.41223,2015-01-01 00:58:34,bin3514,35,False +CTSPillarNetworkA,3515,3515,3515,1979-08-17,351.5000000000114,351.51224,2015-01-01 00:58:35,bin3515,75,False +CTSPillarNetworkA,3516,3516,3516,1979-08-18,351.60000000001145,351.61224,2015-01-01 00:58:36,bin3516,35,False +CTSPillarNetworkA,3517,3517,3517,1979-08-19,351.70000000001147,351.71225,2015-01-01 00:58:37,bin3517,75,False +CTSPillarNetworkA,3518,3518,3518,1979-08-20,351.8000000000115,351.81226,2015-01-01 00:58:38,bin3518,35,False +CTSPillarNetworkA,3519,3519,3519,1979-08-21,351.9000000000115,351.91226,2015-01-01 00:58:39,bin3519,75,False +CTSPillarNetworkA,3520,3520,3520,1979-08-22,352.00000000001154,352.01227,2015-01-01 00:58:40,bin3520,35,False +CTSPillarNetworkA,3521,3521,3521,1979-08-23,352.10000000001156,352.11227,2015-01-01 00:58:41,bin3521,75,False +CTSPillarNetworkA,3522,3522,3522,1979-08-24,352.2000000000116,352.21228,2015-01-01 00:58:42,bin3522,35,False +CTSPillarNetworkA,3523,3523,3523,1979-08-25,352.3000000000116,352.3123,2015-01-01 00:58:43,bin3523,75,False +CTSPillarNetworkA,3524,3524,3524,1979-08-26,352.40000000001163,352.4123,2015-01-01 00:58:44,bin3524,35,False +CTSPillarNetworkA,3525,3525,3525,1979-08-27,352.50000000001165,352.5123,2015-01-01 00:58:45,bin3525,75,False +CTSPillarNetworkA,3526,3526,3526,1979-08-28,352.6000000000117,352.6123,2015-01-01 00:58:46,bin3526,35,False +CTSPillarNetworkA,3527,3527,3527,1979-08-29,352.7000000000117,352.7123,2015-01-01 00:58:47,bin3527,75,False +CTSPillarNetworkA,3528,3528,3528,1979-08-30,352.8000000000117,352.81232,2015-01-01 00:58:48,bin3528,35,False +CTSPillarNetworkA,3529,3529,3529,1979-08-31,352.90000000001174,352.91232,2015-01-01 00:58:49,bin3529,75,False +CTSPillarNetworkA,3530,3530,3530,1979-09-01,353.00000000001177,353.01233,2015-01-01 00:58:50,bin3530,35,False +CTSPillarNetworkA,3531,3531,3531,1979-09-02,353.1000000000118,353.11234,2015-01-01 00:58:51,bin3531,75,False +CTSPillarNetworkA,3532,3532,3532,1979-09-03,353.2000000000118,353.21234,2015-01-01 00:58:52,bin3532,35,False +CTSPillarNetworkA,3533,3533,3533,1979-09-04,353.30000000001183,353.31235,2015-01-01 00:58:53,bin3533,75,False +CTSPillarNetworkA,3534,3534,3534,1979-09-05,353.40000000001186,353.41235,2015-01-01 00:58:54,bin3534,35,False +CTSPillarNetworkA,3535,3535,3535,1979-09-06,353.5000000000119,353.51236,2015-01-01 00:58:55,bin3535,75,False +CTSPillarNetworkA,3536,3536,3536,1979-09-07,353.6000000000119,353.61237,2015-01-01 00:58:56,bin3536,35,False +CTSPillarNetworkA,3537,3537,3537,1979-09-08,353.7000000000119,353.71237,2015-01-01 00:58:57,bin3537,75,False +CTSPillarNetworkA,3538,3538,3538,1979-09-09,353.80000000001195,353.81238,2015-01-01 00:58:58,bin3538,35,False +CTSPillarNetworkA,3539,3539,3539,1979-09-10,353.90000000001197,353.91238,2015-01-01 00:58:59,bin3539,75,False +CTSPillarNetworkA,3540,3540,3540,1979-09-11,354.000000000012,354.0124,2015-01-01 00:59:00,bin3540,35,False +CTSPillarNetworkA,3541,3541,3541,1979-09-12,354.100000000012,354.1124,2015-01-01 00:59:01,bin3541,75,False +CTSPillarNetworkA,3542,3542,3542,1979-09-13,354.20000000001204,354.2124,2015-01-01 00:59:02,bin3542,35,False +CTSPillarNetworkA,3543,3543,3543,1979-09-14,354.30000000001206,354.3124,2015-01-01 00:59:03,bin3543,75,False +CTSPillarNetworkA,3544,3544,3544,1979-09-15,354.4000000000121,354.4124,2015-01-01 00:59:04,bin3544,35,False +CTSPillarNetworkA,3545,3545,3545,1979-09-16,354.5000000000121,354.51242,2015-01-01 00:59:05,bin3545,75,False +CTSPillarNetworkA,3546,3546,3546,1979-09-17,354.60000000001213,354.61243,2015-01-01 00:59:06,bin3546,35,False +CTSPillarNetworkA,3547,3547,3547,1979-09-18,354.70000000001215,354.71243,2015-01-01 00:59:07,bin3547,75,False +CTSPillarNetworkA,3548,3548,3548,1979-09-19,354.8000000000122,354.81244,2015-01-01 00:59:08,bin3548,35,False +CTSPillarNetworkA,3549,3549,3549,1979-09-20,354.9000000000122,354.91245,2015-01-01 00:59:09,bin3549,75,False +CTSPillarNetworkA,3550,3550,3550,1979-09-21,355.0000000000122,355.01245,2015-01-01 00:59:10,bin3550,35,False +CTSPillarNetworkA,3551,3551,3551,1979-09-22,355.10000000001224,355.11246,2015-01-01 00:59:11,bin3551,75,False +CTSPillarNetworkA,3552,3552,3552,1979-09-23,355.20000000001227,355.21246,2015-01-01 00:59:12,bin3552,35,False +CTSPillarNetworkA,3553,3553,3553,1979-09-24,355.3000000000123,355.31247,2015-01-01 00:59:13,bin3553,75,False +CTSPillarNetworkA,3554,3554,3554,1979-09-25,355.4000000000123,355.41248,2015-01-01 00:59:14,bin3554,35,False +CTSPillarNetworkA,3555,3555,3555,1979-09-26,355.50000000001234,355.51248,2015-01-01 00:59:15,bin3555,75,False +CTSPillarNetworkA,3556,3556,3556,1979-09-27,355.60000000001236,355.6125,2015-01-01 00:59:16,bin3556,35,False +CTSPillarNetworkA,3557,3557,3557,1979-09-28,355.7000000000124,355.7125,2015-01-01 00:59:17,bin3557,75,False +CTSPillarNetworkA,3558,3558,3558,1979-09-29,355.8000000000124,355.8125,2015-01-01 00:59:18,bin3558,35,False +CTSPillarNetworkA,3559,3559,3559,1979-09-30,355.9000000000124,355.9125,2015-01-01 00:59:19,bin3559,75,False +CTSPillarNetworkA,3560,3560,3560,1979-10-01,356.00000000001245,356.0125,2015-01-01 00:59:20,bin3560,35,False +CTSPillarNetworkA,3561,3561,3561,1979-10-02,356.10000000001247,356.11252,2015-01-01 00:59:21,bin3561,75,False +CTSPillarNetworkA,3562,3562,3562,1979-10-03,356.2000000000125,356.21252,2015-01-01 00:59:22,bin3562,35,False +CTSPillarNetworkA,3563,3563,3563,1979-10-04,356.3000000000125,356.31253,2015-01-01 00:59:23,bin3563,75,False +CTSPillarNetworkA,3564,3564,3564,1979-10-05,356.40000000001254,356.41254,2015-01-01 00:59:24,bin3564,35,False +CTSPillarNetworkA,3565,3565,3565,1979-10-06,356.50000000001256,356.51254,2015-01-01 00:59:25,bin3565,75,False +CTSPillarNetworkA,3566,3566,3566,1979-10-07,356.6000000000126,356.61255,2015-01-01 00:59:26,bin3566,35,False +CTSPillarNetworkA,3567,3567,3567,1979-10-08,356.7000000000126,356.71255,2015-01-01 00:59:27,bin3567,75,False +CTSPillarNetworkA,3568,3568,3568,1979-10-09,356.80000000001263,356.81256,2015-01-01 00:59:28,bin3568,35,False +CTSPillarNetworkA,3569,3569,3569,1979-10-10,356.90000000001265,356.91257,2015-01-01 00:59:29,bin3569,75,False +CTSPillarNetworkA,3570,3570,3570,1979-10-11,357.0000000000127,357.01257,2015-01-01 00:59:30,bin3570,35,False +CTSPillarNetworkA,3571,3571,3571,1979-10-12,357.1000000000127,357.11258,2015-01-01 00:59:31,bin3571,75,False +CTSPillarNetworkA,3572,3572,3572,1979-10-13,357.2000000000127,357.2126,2015-01-01 00:59:32,bin3572,35,False +CTSPillarNetworkA,3573,3573,3573,1979-10-14,357.30000000001274,357.3126,2015-01-01 00:59:33,bin3573,75,False +CTSPillarNetworkA,3574,3574,3574,1979-10-15,357.40000000001277,357.4126,2015-01-01 00:59:34,bin3574,35,False +CTSPillarNetworkA,3575,3575,3575,1979-10-16,357.5000000000128,357.5126,2015-01-01 00:59:35,bin3575,75,False +CTSPillarNetworkA,3576,3576,3576,1979-10-17,357.6000000000128,357.6126,2015-01-01 00:59:36,bin3576,35,False +CTSPillarNetworkA,3577,3577,3577,1979-10-18,357.70000000001284,357.71262,2015-01-01 00:59:37,bin3577,75,False +CTSPillarNetworkA,3578,3578,3578,1979-10-19,357.80000000001286,357.81262,2015-01-01 00:59:38,bin3578,35,False +CTSPillarNetworkA,3579,3579,3579,1979-10-20,357.9000000000129,357.91263,2015-01-01 00:59:39,bin3579,75,False +CTSPillarNetworkA,3580,3580,3580,1979-10-21,358.0000000000129,358.01263,2015-01-01 00:59:40,bin3580,35,False +CTSPillarNetworkA,3581,3581,3581,1979-10-22,358.1000000000129,358.11264,2015-01-01 00:59:41,bin3581,75,False +CTSPillarNetworkA,3582,3582,3582,1979-10-23,358.20000000001295,358.21265,2015-01-01 00:59:42,bin3582,35,False +CTSPillarNetworkA,3583,3583,3583,1979-10-24,358.300000000013,358.31265,2015-01-01 00:59:43,bin3583,75,False +CTSPillarNetworkA,3584,3584,3584,1979-10-25,358.400000000013,358.41266,2015-01-01 00:59:44,bin3584,35,False +CTSPillarNetworkA,3585,3585,3585,1979-10-26,358.500000000013,358.51266,2015-01-01 00:59:45,bin3585,75,False +CTSPillarNetworkA,3586,3586,3586,1979-10-27,358.60000000001304,358.61267,2015-01-01 00:59:46,bin3586,35,False +CTSPillarNetworkA,3587,3587,3587,1979-10-28,358.70000000001306,358.71268,2015-01-01 00:59:47,bin3587,75,False +CTSPillarNetworkA,3588,3588,3588,1979-10-29,358.8000000000131,358.81268,2015-01-01 00:59:48,bin3588,35,False +CTSPillarNetworkA,3589,3589,3589,1979-10-30,358.9000000000131,358.9127,2015-01-01 00:59:49,bin3589,75,False +CTSPillarNetworkA,3590,3590,3590,1979-10-31,359.00000000001313,359.0127,2015-01-01 00:59:50,bin3590,35,False +CTSPillarNetworkA,3591,3591,3591,1979-11-01,359.10000000001315,359.1127,2015-01-01 00:59:51,bin3591,75,False +CTSPillarNetworkA,3592,3592,3592,1979-11-02,359.2000000000132,359.2127,2015-01-01 00:59:52,bin3592,35,False +CTSPillarNetworkA,3593,3593,3593,1979-11-03,359.3000000000132,359.3127,2015-01-01 00:59:53,bin3593,75,False +CTSPillarNetworkA,3594,3594,3594,1979-11-04,359.4000000000132,359.41272,2015-01-01 00:59:54,bin3594,35,False +CTSPillarNetworkA,3595,3595,3595,1979-11-05,359.50000000001324,359.51273,2015-01-01 00:59:55,bin3595,75,False +CTSPillarNetworkA,3596,3596,3596,1979-11-06,359.60000000001327,359.61273,2015-01-01 00:59:56,bin3596,35,False +CTSPillarNetworkA,3597,3597,3597,1979-11-07,359.7000000000133,359.71274,2015-01-01 00:59:57,bin3597,75,False +CTSPillarNetworkA,3598,3598,3598,1979-11-08,359.8000000000133,359.81274,2015-01-01 00:59:58,bin3598,35,False +CTSPillarNetworkA,3599,3599,3599,1979-11-09,359.90000000001334,359.91275,2015-01-01 00:59:59,bin3599,75,False +CTSPillarNetworkA,3600,3600,3600,1979-11-10,360.00000000001336,360.01276,2015-01-01 01:00:00,bin3600,35,False +CTSPillarNetworkA,3601,3601,3601,1979-11-11,360.1000000000134,360.11276,2015-01-01 01:00:01,bin3601,75,False +CTSPillarNetworkA,3602,3602,3602,1979-11-12,360.2000000000134,360.21277,2015-01-01 01:00:02,bin3602,35,False +CTSPillarNetworkA,3603,3603,3603,1979-11-13,360.3000000000134,360.31277,2015-01-01 01:00:03,bin3603,75,False +CTSPillarNetworkA,3604,3604,3604,1979-11-14,360.40000000001345,360.41278,2015-01-01 01:00:04,bin3604,35,False +CTSPillarNetworkA,3605,3605,3605,1979-11-15,360.5000000000135,360.5128,2015-01-01 01:00:05,bin3605,75,False +CTSPillarNetworkA,3606,3606,3606,1979-11-16,360.6000000000135,360.6128,2015-01-01 01:00:06,bin3606,35,False +CTSPillarNetworkA,3607,3607,3607,1979-11-17,360.7000000000135,360.7128,2015-01-01 01:00:07,bin3607,75,False +CTSPillarNetworkA,3608,3608,3608,1979-11-18,360.80000000001354,360.8128,2015-01-01 01:00:08,bin3608,35,False +CTSPillarNetworkA,3609,3609,3609,1979-11-19,360.90000000001356,360.9128,2015-01-01 01:00:09,bin3609,75,False +CTSPillarNetworkA,3610,3610,3610,1979-11-20,361.0000000000136,361.01282,2015-01-01 01:00:10,bin3610,35,False +CTSPillarNetworkA,3611,3611,3611,1979-11-21,361.1000000000136,361.11282,2015-01-01 01:00:11,bin3611,75,False +CTSPillarNetworkA,3612,3612,3612,1979-11-22,361.20000000001363,361.21283,2015-01-01 01:00:12,bin3612,35,False +CTSPillarNetworkA,3613,3613,3613,1979-11-23,361.30000000001365,361.31284,2015-01-01 01:00:13,bin3613,75,False +CTSPillarNetworkA,3614,3614,3614,1979-11-24,361.4000000000137,361.41284,2015-01-01 01:00:14,bin3614,35,False +CTSPillarNetworkA,3615,3615,3615,1979-11-25,361.5000000000137,361.51285,2015-01-01 01:00:15,bin3615,75,False +CTSPillarNetworkA,3616,3616,3616,1979-11-26,361.6000000000137,361.61285,2015-01-01 01:00:16,bin3616,35,False +CTSPillarNetworkA,3617,3617,3617,1979-11-27,361.70000000001374,361.71286,2015-01-01 01:00:17,bin3617,75,False +CTSPillarNetworkA,3618,3618,3618,1979-11-28,361.80000000001377,361.81287,2015-01-01 01:00:18,bin3618,35,False +CTSPillarNetworkA,3619,3619,3619,1979-11-29,361.9000000000138,361.91287,2015-01-01 01:00:19,bin3619,75,False +CTSPillarNetworkA,3620,3620,3620,1979-11-30,362.0000000000138,362.01288,2015-01-01 01:00:20,bin3620,35,False +CTSPillarNetworkA,3621,3621,3621,1979-12-01,362.10000000001384,362.11288,2015-01-01 01:00:21,bin3621,75,False +CTSPillarNetworkA,3622,3622,3622,1979-12-02,362.20000000001386,362.2129,2015-01-01 01:00:22,bin3622,35,False +CTSPillarNetworkA,3623,3623,3623,1979-12-03,362.3000000000139,362.3129,2015-01-01 01:00:23,bin3623,75,False +CTSPillarNetworkA,3624,3624,3624,1979-12-04,362.4000000000139,362.4129,2015-01-01 01:00:24,bin3624,35,False +CTSPillarNetworkA,3625,3625,3625,1979-12-05,362.5000000000139,362.5129,2015-01-01 01:00:25,bin3625,75,False +CTSPillarNetworkA,3626,3626,3626,1979-12-06,362.60000000001395,362.6129,2015-01-01 01:00:26,bin3626,35,False +CTSPillarNetworkA,3627,3627,3627,1979-12-07,362.700000000014,362.71292,2015-01-01 01:00:27,bin3627,75,False +CTSPillarNetworkA,3628,3628,3628,1979-12-08,362.800000000014,362.81293,2015-01-01 01:00:28,bin3628,35,False +CTSPillarNetworkA,3629,3629,3629,1979-12-09,362.900000000014,362.91293,2015-01-01 01:00:29,bin3629,75,False +CTSPillarNetworkA,3630,3630,3630,1979-12-10,363.00000000001404,363.01294,2015-01-01 01:00:30,bin3630,35,False +CTSPillarNetworkA,3631,3631,3631,1979-12-11,363.10000000001406,363.11295,2015-01-01 01:00:31,bin3631,75,False +CTSPillarNetworkA,3632,3632,3632,1979-12-12,363.2000000000141,363.21295,2015-01-01 01:00:32,bin3632,35,False +CTSPillarNetworkA,3633,3633,3633,1979-12-13,363.3000000000141,363.31296,2015-01-01 01:00:33,bin3633,75,False +CTSPillarNetworkA,3634,3634,3634,1979-12-14,363.40000000001413,363.41296,2015-01-01 01:00:34,bin3634,35,False +CTSPillarNetworkA,3635,3635,3635,1979-12-15,363.50000000001415,363.51297,2015-01-01 01:00:35,bin3635,75,False +CTSPillarNetworkA,3636,3636,3636,1979-12-16,363.6000000000142,363.61298,2015-01-01 01:00:36,bin3636,35,False +CTSPillarNetworkA,3637,3637,3637,1979-12-17,363.7000000000142,363.71298,2015-01-01 01:00:37,bin3637,75,False +CTSPillarNetworkA,3638,3638,3638,1979-12-18,363.8000000000142,363.813,2015-01-01 01:00:38,bin3638,35,False +CTSPillarNetworkA,3639,3639,3639,1979-12-19,363.90000000001424,363.913,2015-01-01 01:00:39,bin3639,75,False +CTSPillarNetworkA,3640,3640,3640,1979-12-20,364.00000000001427,364.013,2015-01-01 01:00:40,bin3640,35,False +CTSPillarNetworkA,3641,3641,3641,1979-12-21,364.1000000000143,364.113,2015-01-01 01:00:41,bin3641,75,False +CTSPillarNetworkA,3642,3642,3642,1979-12-22,364.2000000000143,364.213,2015-01-01 01:00:42,bin3642,35,False +CTSPillarNetworkA,3643,3643,3643,1979-12-23,364.30000000001434,364.31302,2015-01-01 01:00:43,bin3643,75,False +CTSPillarNetworkA,3644,3644,3644,1979-12-24,364.40000000001436,364.41302,2015-01-01 01:00:44,bin3644,35,False +CTSPillarNetworkA,3645,3645,3645,1979-12-25,364.5000000000144,364.51303,2015-01-01 01:00:45,bin3645,75,False +CTSPillarNetworkA,3646,3646,3646,1979-12-26,364.6000000000144,364.61304,2015-01-01 01:00:46,bin3646,35,False +CTSPillarNetworkA,3647,3647,3647,1979-12-27,364.7000000000144,364.71304,2015-01-01 01:00:47,bin3647,75,False +CTSPillarNetworkA,3648,3648,3648,1979-12-28,364.80000000001445,364.81305,2015-01-01 01:00:48,bin3648,35,False +CTSPillarNetworkA,3649,3649,3649,1979-12-29,364.9000000000145,364.91306,2015-01-01 01:00:49,bin3649,75,False +CTSPillarNetworkA,3650,3650,3650,1979-12-30,365.0000000000145,365.01306,2015-01-01 01:00:50,bin3650,35,False +CTSPillarNetworkA,3651,3651,3651,1979-12-31,365.1000000000145,365.11307,2015-01-01 01:00:51,bin3651,75,False +CTSPillarNetworkA,3652,3652,3652,1980-01-01,365.20000000001454,365.21307,2015-01-01 01:00:52,bin3652,35,False +CTSPillarNetworkA,3653,3653,3653,1980-01-02,365.30000000001456,365.31308,2015-01-01 01:00:53,bin3653,75,False +CTSPillarNetworkA,3654,3654,3654,1980-01-03,365.4000000000146,365.4131,2015-01-01 01:00:54,bin3654,35,False +CTSPillarNetworkA,3655,3655,3655,1980-01-04,365.5000000000146,365.5131,2015-01-01 01:00:55,bin3655,75,False +CTSPillarNetworkA,3656,3656,3656,1980-01-05,365.60000000001463,365.6131,2015-01-01 01:00:56,bin3656,35,False +CTSPillarNetworkA,3657,3657,3657,1980-01-06,365.70000000001465,365.7131,2015-01-01 01:00:57,bin3657,75,False +CTSPillarNetworkA,3658,3658,3658,1980-01-07,365.8000000000147,365.8131,2015-01-01 01:00:58,bin3658,35,False +CTSPillarNetworkA,3659,3659,3659,1980-01-08,365.9000000000147,365.91312,2015-01-01 01:00:59,bin3659,75,False +CTSPillarNetworkA,3660,3660,3660,1980-01-09,366.0000000000147,366.01312,2015-01-01 01:01:00,bin3660,35,False +CTSPillarNetworkA,3661,3661,3661,1980-01-10,366.10000000001475,366.11313,2015-01-01 01:01:01,bin3661,75,False +CTSPillarNetworkA,3662,3662,3662,1980-01-11,366.20000000001477,366.21313,2015-01-01 01:01:02,bin3662,35,False +CTSPillarNetworkA,3663,3663,3663,1980-01-12,366.3000000000148,366.31314,2015-01-01 01:01:03,bin3663,75,False +CTSPillarNetworkA,3664,3664,3664,1980-01-13,366.4000000000148,366.41315,2015-01-01 01:01:04,bin3664,35,False +CTSPillarNetworkA,3665,3665,3665,1980-01-14,366.50000000001484,366.51315,2015-01-01 01:01:05,bin3665,75,False +CTSPillarNetworkA,3666,3666,3666,1980-01-15,366.60000000001486,366.61316,2015-01-01 01:01:06,bin3666,35,False +CTSPillarNetworkA,3667,3667,3667,1980-01-16,366.7000000000149,366.71317,2015-01-01 01:01:07,bin3667,75,False +CTSPillarNetworkA,3668,3668,3668,1980-01-17,366.8000000000149,366.81317,2015-01-01 01:01:08,bin3668,35,False +CTSPillarNetworkA,3669,3669,3669,1980-01-18,366.9000000000149,366.91318,2015-01-01 01:01:09,bin3669,75,False +CTSPillarNetworkA,3670,3670,3670,1980-01-19,367.00000000001495,367.01318,2015-01-01 01:01:10,bin3670,35,False +CTSPillarNetworkA,3671,3671,3671,1980-01-20,367.100000000015,367.1132,2015-01-01 01:01:11,bin3671,75,False +CTSPillarNetworkA,3672,3672,3672,1980-01-21,367.200000000015,367.2132,2015-01-01 01:01:12,bin3672,35,False +CTSPillarNetworkA,3673,3673,3673,1980-01-22,367.300000000015,367.3132,2015-01-01 01:01:13,bin3673,75,False +CTSPillarNetworkA,3674,3674,3674,1980-01-23,367.40000000001504,367.4132,2015-01-01 01:01:14,bin3674,35,False +CTSPillarNetworkA,3675,3675,3675,1980-01-24,367.50000000001506,367.5132,2015-01-01 01:01:15,bin3675,75,False +CTSPillarNetworkA,3676,3676,3676,1980-01-25,367.6000000000151,367.61322,2015-01-01 01:01:16,bin3676,35,False +CTSPillarNetworkA,3677,3677,3677,1980-01-26,367.7000000000151,367.71323,2015-01-01 01:01:17,bin3677,75,False +CTSPillarNetworkA,3678,3678,3678,1980-01-27,367.80000000001513,367.81323,2015-01-01 01:01:18,bin3678,35,False +CTSPillarNetworkA,3679,3679,3679,1980-01-28,367.90000000001515,367.91324,2015-01-01 01:01:19,bin3679,75,False +CTSPillarNetworkA,3680,3680,3680,1980-01-29,368.0000000000152,368.01324,2015-01-01 01:01:20,bin3680,35,False +CTSPillarNetworkA,3681,3681,3681,1980-01-30,368.1000000000152,368.11325,2015-01-01 01:01:21,bin3681,75,False +CTSPillarNetworkA,3682,3682,3682,1980-01-31,368.2000000000152,368.21326,2015-01-01 01:01:22,bin3682,35,False +CTSPillarNetworkA,3683,3683,3683,1980-02-01,368.30000000001525,368.31326,2015-01-01 01:01:23,bin3683,75,False +CTSPillarNetworkA,3684,3684,3684,1980-02-02,368.40000000001527,368.41327,2015-01-01 01:01:24,bin3684,35,False +CTSPillarNetworkA,3685,3685,3685,1980-02-03,368.5000000000153,368.51328,2015-01-01 01:01:25,bin3685,75,False +CTSPillarNetworkA,3686,3686,3686,1980-02-04,368.6000000000153,368.61328,2015-01-01 01:01:26,bin3686,35,False +CTSPillarNetworkA,3687,3687,3687,1980-02-05,368.70000000001534,368.7133,2015-01-01 01:01:27,bin3687,75,False +CTSPillarNetworkA,3688,3688,3688,1980-02-06,368.80000000001536,368.8133,2015-01-01 01:01:28,bin3688,35,False +CTSPillarNetworkA,3689,3689,3689,1980-02-07,368.9000000000154,368.9133,2015-01-01 01:01:29,bin3689,75,False +CTSPillarNetworkA,3690,3690,3690,1980-02-08,369.0000000000154,369.0133,2015-01-01 01:01:30,bin3690,35,False +CTSPillarNetworkA,3691,3691,3691,1980-02-09,369.1000000000154,369.1133,2015-01-01 01:01:31,bin3691,75,False +CTSPillarNetworkA,3692,3692,3692,1980-02-10,369.20000000001545,369.21332,2015-01-01 01:01:32,bin3692,35,False +CTSPillarNetworkA,3693,3693,3693,1980-02-11,369.3000000000155,369.31332,2015-01-01 01:01:33,bin3693,75,False +CTSPillarNetworkA,3694,3694,3694,1980-02-12,369.4000000000155,369.41333,2015-01-01 01:01:34,bin3694,35,False +CTSPillarNetworkA,3695,3695,3695,1980-02-13,369.5000000000155,369.51334,2015-01-01 01:01:35,bin3695,75,False +CTSPillarNetworkA,3696,3696,3696,1980-02-14,369.60000000001554,369.61334,2015-01-01 01:01:36,bin3696,35,False +CTSPillarNetworkA,3697,3697,3697,1980-02-15,369.70000000001556,369.71335,2015-01-01 01:01:37,bin3697,75,False +CTSPillarNetworkA,3698,3698,3698,1980-02-16,369.8000000000156,369.81335,2015-01-01 01:01:38,bin3698,35,False +CTSPillarNetworkA,3699,3699,3699,1980-02-17,369.9000000000156,369.91336,2015-01-01 01:01:39,bin3699,75,False +CTSPillarNetworkA,3700,3700,3700,1980-02-18,370.00000000001563,370.01337,2015-01-01 01:01:40,bin3700,35,False +CTSPillarNetworkA,3701,3701,3701,1980-02-19,370.10000000001565,370.11337,2015-01-01 01:01:41,bin3701,75,False +CTSPillarNetworkA,3702,3702,3702,1980-02-20,370.2000000000157,370.21338,2015-01-01 01:01:42,bin3702,35,False +CTSPillarNetworkA,3703,3703,3703,1980-02-21,370.3000000000157,370.3134,2015-01-01 01:01:43,bin3703,75,False +CTSPillarNetworkA,3704,3704,3704,1980-02-22,370.4000000000157,370.4134,2015-01-01 01:01:44,bin3704,35,False +CTSPillarNetworkA,3705,3705,3705,1980-02-23,370.50000000001575,370.5134,2015-01-01 01:01:45,bin3705,75,False +CTSPillarNetworkA,3706,3706,3706,1980-02-24,370.60000000001577,370.6134,2015-01-01 01:01:46,bin3706,35,False +CTSPillarNetworkA,3707,3707,3707,1980-02-25,370.7000000000158,370.7134,2015-01-01 01:01:47,bin3707,75,False +CTSPillarNetworkA,3708,3708,3708,1980-02-26,370.8000000000158,370.81342,2015-01-01 01:01:48,bin3708,35,False +CTSPillarNetworkA,3709,3709,3709,1980-02-27,370.90000000001584,370.91342,2015-01-01 01:01:49,bin3709,75,False +CTSPillarNetworkA,3710,3710,3710,1980-02-28,371.00000000001586,371.01343,2015-01-01 01:01:50,bin3710,35,False +CTSPillarNetworkA,3711,3711,3711,1980-02-29,371.1000000000159,371.11343,2015-01-01 01:01:51,bin3711,75,False +CTSPillarNetworkA,3712,3712,3712,1980-03-01,371.2000000000159,371.21344,2015-01-01 01:01:52,bin3712,35,False +CTSPillarNetworkA,3713,3713,3713,1980-03-02,371.3000000000159,371.31345,2015-01-01 01:01:53,bin3713,75,False +CTSPillarNetworkA,3714,3714,3714,1980-03-03,371.40000000001595,371.41345,2015-01-01 01:01:54,bin3714,35,False +CTSPillarNetworkA,3715,3715,3715,1980-03-04,371.500000000016,371.51346,2015-01-01 01:01:55,bin3715,75,False +CTSPillarNetworkA,3716,3716,3716,1980-03-05,371.600000000016,371.61346,2015-01-01 01:01:56,bin3716,35,False +CTSPillarNetworkA,3717,3717,3717,1980-03-06,371.700000000016,371.71347,2015-01-01 01:01:57,bin3717,75,False +CTSPillarNetworkA,3718,3718,3718,1980-03-07,371.80000000001604,371.81348,2015-01-01 01:01:58,bin3718,35,False +CTSPillarNetworkA,3719,3719,3719,1980-03-08,371.90000000001606,371.91348,2015-01-01 01:01:59,bin3719,75,False +CTSPillarNetworkA,3720,3720,3720,1980-03-09,372.0000000000161,372.0135,2015-01-01 01:02:00,bin3720,35,False +CTSPillarNetworkA,3721,3721,3721,1980-03-10,372.1000000000161,372.1135,2015-01-01 01:02:01,bin3721,75,False +CTSPillarNetworkA,3722,3722,3722,1980-03-11,372.20000000001613,372.2135,2015-01-01 01:02:02,bin3722,35,False +CTSPillarNetworkA,3723,3723,3723,1980-03-12,372.30000000001615,372.3135,2015-01-01 01:02:03,bin3723,75,False +CTSPillarNetworkA,3724,3724,3724,1980-03-13,372.4000000000162,372.4135,2015-01-01 01:02:04,bin3724,35,False +CTSPillarNetworkA,3725,3725,3725,1980-03-14,372.5000000000162,372.51352,2015-01-01 01:02:05,bin3725,75,False +CTSPillarNetworkA,3726,3726,3726,1980-03-15,372.6000000000162,372.61353,2015-01-01 01:02:06,bin3726,35,False +CTSPillarNetworkA,3727,3727,3727,1980-03-16,372.70000000001625,372.71353,2015-01-01 01:02:07,bin3727,75,False +CTSPillarNetworkA,3728,3728,3728,1980-03-17,372.80000000001627,372.81354,2015-01-01 01:02:08,bin3728,35,False +CTSPillarNetworkA,3729,3729,3729,1980-03-18,372.9000000000163,372.91354,2015-01-01 01:02:09,bin3729,75,False +CTSPillarNetworkA,3730,3730,3730,1980-03-19,373.0000000000163,373.01355,2015-01-01 01:02:10,bin3730,35,False +CTSPillarNetworkA,3731,3731,3731,1980-03-20,373.10000000001634,373.11356,2015-01-01 01:02:11,bin3731,75,False +CTSPillarNetworkA,3732,3732,3732,1980-03-21,373.20000000001636,373.21356,2015-01-01 01:02:12,bin3732,35,False +CTSPillarNetworkA,3733,3733,3733,1980-03-22,373.3000000000164,373.31357,2015-01-01 01:02:13,bin3733,75,False +CTSPillarNetworkA,3734,3734,3734,1980-03-23,373.4000000000164,373.41357,2015-01-01 01:02:14,bin3734,35,False +CTSPillarNetworkA,3735,3735,3735,1980-03-24,373.5000000000164,373.51358,2015-01-01 01:02:15,bin3735,75,False +CTSPillarNetworkA,3736,3736,3736,1980-03-25,373.60000000001645,373.6136,2015-01-01 01:02:16,bin3736,35,False +CTSPillarNetworkA,3737,3737,3737,1980-03-26,373.7000000000165,373.7136,2015-01-01 01:02:17,bin3737,75,False +CTSPillarNetworkA,3738,3738,3738,1980-03-27,373.8000000000165,373.8136,2015-01-01 01:02:18,bin3738,35,False +CTSPillarNetworkA,3739,3739,3739,1980-03-28,373.9000000000165,373.9136,2015-01-01 01:02:19,bin3739,75,False +CTSPillarNetworkA,3740,3740,3740,1980-03-29,374.00000000001654,374.0136,2015-01-01 01:02:20,bin3740,35,False +CTSPillarNetworkA,3741,3741,3741,1980-03-30,374.10000000001656,374.11362,2015-01-01 01:02:21,bin3741,75,False +CTSPillarNetworkA,3742,3742,3742,1980-03-31,374.2000000000166,374.21362,2015-01-01 01:02:22,bin3742,35,False +CTSPillarNetworkA,3743,3743,3743,1980-04-01,374.3000000000166,374.31363,2015-01-01 01:02:23,bin3743,75,False +CTSPillarNetworkA,3744,3744,3744,1980-04-02,374.40000000001663,374.41364,2015-01-01 01:02:24,bin3744,35,False +CTSPillarNetworkA,3745,3745,3745,1980-04-03,374.50000000001666,374.51364,2015-01-01 01:02:25,bin3745,75,False +CTSPillarNetworkA,3746,3746,3746,1980-04-04,374.6000000000167,374.61365,2015-01-01 01:02:26,bin3746,35,False +CTSPillarNetworkA,3747,3747,3747,1980-04-05,374.7000000000167,374.71365,2015-01-01 01:02:27,bin3747,75,False +CTSPillarNetworkA,3748,3748,3748,1980-04-06,374.8000000000167,374.81366,2015-01-01 01:02:28,bin3748,35,False +CTSPillarNetworkA,3749,3749,3749,1980-04-07,374.90000000001675,374.91367,2015-01-01 01:02:29,bin3749,75,False +CTSPillarNetworkA,3750,3750,3750,1980-04-08,375.00000000001677,375.01367,2015-01-01 01:02:30,bin3750,35,False +CTSPillarNetworkA,3751,3751,3751,1980-04-09,375.1000000000168,375.11368,2015-01-01 01:02:31,bin3751,75,False +CTSPillarNetworkA,3752,3752,3752,1980-04-10,375.2000000000168,375.21368,2015-01-01 01:02:32,bin3752,35,False +CTSPillarNetworkA,3753,3753,3753,1980-04-11,375.30000000001684,375.3137,2015-01-01 01:02:33,bin3753,75,False +CTSPillarNetworkA,3754,3754,3754,1980-04-12,375.40000000001686,375.4137,2015-01-01 01:02:34,bin3754,35,False +CTSPillarNetworkA,3755,3755,3755,1980-04-13,375.5000000000169,375.5137,2015-01-01 01:02:35,bin3755,75,False +CTSPillarNetworkA,3756,3756,3756,1980-04-14,375.6000000000169,375.6137,2015-01-01 01:02:36,bin3756,35,False +CTSPillarNetworkA,3757,3757,3757,1980-04-15,375.7000000000169,375.7137,2015-01-01 01:02:37,bin3757,75,False +CTSPillarNetworkA,3758,3758,3758,1980-04-16,375.80000000001695,375.81372,2015-01-01 01:02:38,bin3758,35,False +CTSPillarNetworkA,3759,3759,3759,1980-04-17,375.900000000017,375.91373,2015-01-01 01:02:39,bin3759,75,False +CTSPillarNetworkA,3760,3760,3760,1980-04-18,376.000000000017,376.01373,2015-01-01 01:02:40,bin3760,35,False +CTSPillarNetworkA,3761,3761,3761,1980-04-19,376.100000000017,376.11374,2015-01-01 01:02:41,bin3761,75,False +CTSPillarNetworkA,3762,3762,3762,1980-04-20,376.20000000001704,376.21375,2015-01-01 01:02:42,bin3762,35,False +CTSPillarNetworkA,3763,3763,3763,1980-04-21,376.30000000001706,376.31375,2015-01-01 01:02:43,bin3763,75,False +CTSPillarNetworkA,3764,3764,3764,1980-04-22,376.4000000000171,376.41376,2015-01-01 01:02:44,bin3764,35,False +CTSPillarNetworkA,3765,3765,3765,1980-04-23,376.5000000000171,376.51376,2015-01-01 01:02:45,bin3765,75,False +CTSPillarNetworkA,3766,3766,3766,1980-04-24,376.60000000001713,376.61377,2015-01-01 01:02:46,bin3766,35,False +CTSPillarNetworkA,3767,3767,3767,1980-04-25,376.70000000001716,376.71378,2015-01-01 01:02:47,bin3767,75,False +CTSPillarNetworkA,3768,3768,3768,1980-04-26,376.8000000000172,376.81378,2015-01-01 01:02:48,bin3768,35,False +CTSPillarNetworkA,3769,3769,3769,1980-04-27,376.9000000000172,376.9138,2015-01-01 01:02:49,bin3769,75,False +CTSPillarNetworkA,3770,3770,3770,1980-04-28,377.0000000000172,377.0138,2015-01-01 01:02:50,bin3770,35,False +CTSPillarNetworkA,3771,3771,3771,1980-04-29,377.10000000001725,377.1138,2015-01-01 01:02:51,bin3771,75,False +CTSPillarNetworkA,3772,3772,3772,1980-04-30,377.20000000001727,377.2138,2015-01-01 01:02:52,bin3772,35,False +CTSPillarNetworkA,3773,3773,3773,1980-05-01,377.3000000000173,377.3138,2015-01-01 01:02:53,bin3773,75,False +CTSPillarNetworkA,3774,3774,3774,1980-05-02,377.4000000000173,377.41382,2015-01-01 01:02:54,bin3774,35,False +CTSPillarNetworkA,3775,3775,3775,1980-05-03,377.50000000001734,377.51382,2015-01-01 01:02:55,bin3775,75,False +CTSPillarNetworkA,3776,3776,3776,1980-05-04,377.60000000001736,377.61383,2015-01-01 01:02:56,bin3776,35,False +CTSPillarNetworkA,3777,3777,3777,1980-05-05,377.7000000000174,377.71384,2015-01-01 01:02:57,bin3777,75,False +CTSPillarNetworkA,3778,3778,3778,1980-05-06,377.8000000000174,377.81384,2015-01-01 01:02:58,bin3778,35,False +CTSPillarNetworkA,3779,3779,3779,1980-05-07,377.9000000000174,377.91385,2015-01-01 01:02:59,bin3779,75,False +CTSPillarNetworkA,3780,3780,3780,1980-05-08,378.00000000001745,378.01385,2015-01-01 01:03:00,bin3780,35,False +CTSPillarNetworkA,3781,3781,3781,1980-05-09,378.1000000000175,378.11386,2015-01-01 01:03:01,bin3781,75,False +CTSPillarNetworkA,3782,3782,3782,1980-05-10,378.2000000000175,378.21387,2015-01-01 01:03:02,bin3782,35,False +CTSPillarNetworkA,3783,3783,3783,1980-05-11,378.3000000000175,378.31387,2015-01-01 01:03:03,bin3783,75,False +CTSPillarNetworkA,3784,3784,3784,1980-05-12,378.40000000001754,378.41388,2015-01-01 01:03:04,bin3784,35,False +CTSPillarNetworkA,3785,3785,3785,1980-05-13,378.50000000001756,378.5139,2015-01-01 01:03:05,bin3785,75,False +CTSPillarNetworkA,3786,3786,3786,1980-05-14,378.6000000000176,378.6139,2015-01-01 01:03:06,bin3786,35,False +CTSPillarNetworkA,3787,3787,3787,1980-05-15,378.7000000000176,378.7139,2015-01-01 01:03:07,bin3787,75,False +CTSPillarNetworkA,3788,3788,3788,1980-05-16,378.80000000001763,378.8139,2015-01-01 01:03:08,bin3788,35,False +CTSPillarNetworkA,3789,3789,3789,1980-05-17,378.90000000001766,378.9139,2015-01-01 01:03:09,bin3789,75,False +CTSPillarNetworkA,3790,3790,3790,1980-05-18,379.0000000000177,379.01392,2015-01-01 01:03:10,bin3790,35,False +CTSPillarNetworkA,3791,3791,3791,1980-05-19,379.1000000000177,379.11392,2015-01-01 01:03:11,bin3791,75,False +CTSPillarNetworkA,3792,3792,3792,1980-05-20,379.2000000000177,379.21393,2015-01-01 01:03:12,bin3792,35,False +CTSPillarNetworkA,3793,3793,3793,1980-05-21,379.30000000001775,379.31393,2015-01-01 01:03:13,bin3793,75,False +CTSPillarNetworkA,3794,3794,3794,1980-05-22,379.40000000001777,379.41394,2015-01-01 01:03:14,bin3794,35,False +CTSPillarNetworkA,3795,3795,3795,1980-05-23,379.5000000000178,379.51395,2015-01-01 01:03:15,bin3795,75,False +CTSPillarNetworkA,3796,3796,3796,1980-05-24,379.6000000000178,379.61395,2015-01-01 01:03:16,bin3796,35,False +CTSPillarNetworkA,3797,3797,3797,1980-05-25,379.70000000001784,379.71396,2015-01-01 01:03:17,bin3797,75,False +CTSPillarNetworkA,3798,3798,3798,1980-05-26,379.80000000001786,379.81396,2015-01-01 01:03:18,bin3798,35,False +CTSPillarNetworkA,3799,3799,3799,1980-05-27,379.9000000000179,379.91397,2015-01-01 01:03:19,bin3799,75,False +CTSPillarNetworkA,3800,3800,3800,1980-05-28,380.0000000000179,380.01398,2015-01-01 01:03:20,bin3800,35,False +CTSPillarNetworkA,3801,3801,3801,1980-05-29,380.1000000000179,380.11398,2015-01-01 01:03:21,bin3801,75,False +CTSPillarNetworkA,3802,3802,3802,1980-05-30,380.20000000001795,380.214,2015-01-01 01:03:22,bin3802,35,False +CTSPillarNetworkA,3803,3803,3803,1980-05-31,380.300000000018,380.314,2015-01-01 01:03:23,bin3803,75,False +CTSPillarNetworkA,3804,3804,3804,1980-06-01,380.400000000018,380.414,2015-01-01 01:03:24,bin3804,35,False +CTSPillarNetworkA,3805,3805,3805,1980-06-02,380.500000000018,380.514,2015-01-01 01:03:25,bin3805,75,False +CTSPillarNetworkA,3806,3806,3806,1980-06-03,380.60000000001804,380.614,2015-01-01 01:03:26,bin3806,35,False +CTSPillarNetworkA,3807,3807,3807,1980-06-04,380.70000000001806,380.71402,2015-01-01 01:03:27,bin3807,75,False +CTSPillarNetworkA,3808,3808,3808,1980-06-05,380.8000000000181,380.81403,2015-01-01 01:03:28,bin3808,35,False +CTSPillarNetworkA,3809,3809,3809,1980-06-06,380.9000000000181,380.91403,2015-01-01 01:03:29,bin3809,75,False +CTSPillarNetworkA,3810,3810,3810,1980-06-07,381.00000000001813,381.01404,2015-01-01 01:03:30,bin3810,35,False +CTSPillarNetworkA,3811,3811,3811,1980-06-08,381.10000000001816,381.11404,2015-01-01 01:03:31,bin3811,75,False +CTSPillarNetworkA,3812,3812,3812,1980-06-09,381.2000000000182,381.21405,2015-01-01 01:03:32,bin3812,35,False +CTSPillarNetworkA,3813,3813,3813,1980-06-10,381.3000000000182,381.31406,2015-01-01 01:03:33,bin3813,75,False +CTSPillarNetworkA,3814,3814,3814,1980-06-11,381.4000000000182,381.41406,2015-01-01 01:03:34,bin3814,35,False +CTSPillarNetworkA,3815,3815,3815,1980-06-12,381.50000000001825,381.51407,2015-01-01 01:03:35,bin3815,75,False +CTSPillarNetworkA,3816,3816,3816,1980-06-13,381.60000000001827,381.61407,2015-01-01 01:03:36,bin3816,35,False +CTSPillarNetworkA,3817,3817,3817,1980-06-14,381.7000000000183,381.71408,2015-01-01 01:03:37,bin3817,75,False +CTSPillarNetworkA,3818,3818,3818,1980-06-15,381.8000000000183,381.8141,2015-01-01 01:03:38,bin3818,35,False +CTSPillarNetworkA,3819,3819,3819,1980-06-16,381.90000000001834,381.9141,2015-01-01 01:03:39,bin3819,75,False +CTSPillarNetworkA,3820,3820,3820,1980-06-17,382.00000000001836,382.0141,2015-01-01 01:03:40,bin3820,35,False +CTSPillarNetworkA,3821,3821,3821,1980-06-18,382.1000000000184,382.1141,2015-01-01 01:03:41,bin3821,75,False +CTSPillarNetworkA,3822,3822,3822,1980-06-19,382.2000000000184,382.2141,2015-01-01 01:03:42,bin3822,35,False +CTSPillarNetworkA,3823,3823,3823,1980-06-20,382.30000000001843,382.31412,2015-01-01 01:03:43,bin3823,75,False +CTSPillarNetworkA,3824,3824,3824,1980-06-21,382.40000000001845,382.41412,2015-01-01 01:03:44,bin3824,35,False +CTSPillarNetworkA,3825,3825,3825,1980-06-22,382.5000000000185,382.51413,2015-01-01 01:03:45,bin3825,75,False +CTSPillarNetworkA,3826,3826,3826,1980-06-23,382.6000000000185,382.61414,2015-01-01 01:03:46,bin3826,35,False +CTSPillarNetworkA,3827,3827,3827,1980-06-24,382.7000000000185,382.71414,2015-01-01 01:03:47,bin3827,75,False +CTSPillarNetworkA,3828,3828,3828,1980-06-25,382.80000000001854,382.81415,2015-01-01 01:03:48,bin3828,35,False +CTSPillarNetworkA,3829,3829,3829,1980-06-26,382.90000000001857,382.91415,2015-01-01 01:03:49,bin3829,75,False +CTSPillarNetworkA,3830,3830,3830,1980-06-27,383.0000000000186,383.01416,2015-01-01 01:03:50,bin3830,35,False +CTSPillarNetworkA,3831,3831,3831,1980-06-28,383.1000000000186,383.11417,2015-01-01 01:03:51,bin3831,75,False +CTSPillarNetworkA,3832,3832,3832,1980-06-29,383.20000000001863,383.21417,2015-01-01 01:03:52,bin3832,35,False +CTSPillarNetworkA,3833,3833,3833,1980-06-30,383.30000000001866,383.31418,2015-01-01 01:03:53,bin3833,75,False +CTSPillarNetworkA,3834,3834,3834,1980-07-01,383.4000000000187,383.41418,2015-01-01 01:03:54,bin3834,35,False +CTSPillarNetworkA,3835,3835,3835,1980-07-02,383.5000000000187,383.5142,2015-01-01 01:03:55,bin3835,75,False +CTSPillarNetworkA,3836,3836,3836,1980-07-03,383.6000000000187,383.6142,2015-01-01 01:03:56,bin3836,35,False +CTSPillarNetworkA,3837,3837,3837,1980-07-04,383.70000000001875,383.7142,2015-01-01 01:03:57,bin3837,75,False +CTSPillarNetworkA,3838,3838,3838,1980-07-05,383.80000000001877,383.8142,2015-01-01 01:03:58,bin3838,35,False +CTSPillarNetworkA,3839,3839,3839,1980-07-06,383.9000000000188,383.9142,2015-01-01 01:03:59,bin3839,75,False +CTSPillarNetworkA,3840,3840,3840,1980-07-07,384.0000000000188,384.01422,2015-01-01 01:04:00,bin3840,35,False +CTSPillarNetworkA,3841,3841,3841,1980-07-08,384.10000000001884,384.11423,2015-01-01 01:04:01,bin3841,75,False +CTSPillarNetworkA,3842,3842,3842,1980-07-09,384.20000000001886,384.21423,2015-01-01 01:04:02,bin3842,35,False +CTSPillarNetworkA,3843,3843,3843,1980-07-10,384.3000000000189,384.31424,2015-01-01 01:04:03,bin3843,75,False +CTSPillarNetworkA,3844,3844,3844,1980-07-11,384.4000000000189,384.41425,2015-01-01 01:04:04,bin3844,35,False +CTSPillarNetworkA,3845,3845,3845,1980-07-12,384.50000000001893,384.51425,2015-01-01 01:04:05,bin3845,75,False +CTSPillarNetworkA,3846,3846,3846,1980-07-13,384.60000000001895,384.61426,2015-01-01 01:04:06,bin3846,35,False +CTSPillarNetworkA,3847,3847,3847,1980-07-14,384.700000000019,384.71426,2015-01-01 01:04:07,bin3847,75,False +CTSPillarNetworkA,3848,3848,3848,1980-07-15,384.800000000019,384.81427,2015-01-01 01:04:08,bin3848,35,False +CTSPillarNetworkA,3849,3849,3849,1980-07-16,384.900000000019,384.91428,2015-01-01 01:04:09,bin3849,75,False +CTSPillarNetworkA,3850,3850,3850,1980-07-17,385.00000000001904,385.01428,2015-01-01 01:04:10,bin3850,35,False +CTSPillarNetworkA,3851,3851,3851,1980-07-18,385.10000000001907,385.1143,2015-01-01 01:04:11,bin3851,75,False +CTSPillarNetworkA,3852,3852,3852,1980-07-19,385.2000000000191,385.2143,2015-01-01 01:04:12,bin3852,35,False +CTSPillarNetworkA,3853,3853,3853,1980-07-20,385.3000000000191,385.3143,2015-01-01 01:04:13,bin3853,75,False +CTSPillarNetworkA,3854,3854,3854,1980-07-21,385.40000000001913,385.4143,2015-01-01 01:04:14,bin3854,35,False +CTSPillarNetworkA,3855,3855,3855,1980-07-22,385.50000000001916,385.5143,2015-01-01 01:04:15,bin3855,75,False +CTSPillarNetworkA,3856,3856,3856,1980-07-23,385.6000000000192,385.61432,2015-01-01 01:04:16,bin3856,35,False +CTSPillarNetworkA,3857,3857,3857,1980-07-24,385.7000000000192,385.71432,2015-01-01 01:04:17,bin3857,75,False +CTSPillarNetworkA,3858,3858,3858,1980-07-25,385.8000000000192,385.81433,2015-01-01 01:04:18,bin3858,35,False +CTSPillarNetworkA,3859,3859,3859,1980-07-26,385.90000000001925,385.91434,2015-01-01 01:04:19,bin3859,75,False +CTSPillarNetworkA,3860,3860,3860,1980-07-27,386.00000000001927,386.01434,2015-01-01 01:04:20,bin3860,35,False +CTSPillarNetworkA,3861,3861,3861,1980-07-28,386.1000000000193,386.11435,2015-01-01 01:04:21,bin3861,75,False +CTSPillarNetworkA,3862,3862,3862,1980-07-29,386.2000000000193,386.21436,2015-01-01 01:04:22,bin3862,35,False +CTSPillarNetworkA,3863,3863,3863,1980-07-30,386.30000000001934,386.31436,2015-01-01 01:04:23,bin3863,75,False +CTSPillarNetworkA,3864,3864,3864,1980-07-31,386.40000000001936,386.41437,2015-01-01 01:04:24,bin3864,35,False +CTSPillarNetworkA,3865,3865,3865,1980-08-01,386.5000000000194,386.51437,2015-01-01 01:04:25,bin3865,75,False +CTSPillarNetworkA,3866,3866,3866,1980-08-02,386.6000000000194,386.61438,2015-01-01 01:04:26,bin3866,35,False +CTSPillarNetworkA,3867,3867,3867,1980-08-03,386.70000000001943,386.7144,2015-01-01 01:04:27,bin3867,75,False +CTSPillarNetworkA,3868,3868,3868,1980-08-04,386.80000000001945,386.8144,2015-01-01 01:04:28,bin3868,35,False +CTSPillarNetworkA,3869,3869,3869,1980-08-05,386.9000000000195,386.9144,2015-01-01 01:04:29,bin3869,75,False +CTSPillarNetworkA,3870,3870,3870,1980-08-06,387.0000000000195,387.0144,2015-01-01 01:04:30,bin3870,35,False +CTSPillarNetworkA,3871,3871,3871,1980-08-07,387.1000000000195,387.1144,2015-01-01 01:04:31,bin3871,75,False +CTSPillarNetworkA,3872,3872,3872,1980-08-08,387.20000000001954,387.21442,2015-01-01 01:04:32,bin3872,35,False +CTSPillarNetworkA,3873,3873,3873,1980-08-09,387.30000000001957,387.31442,2015-01-01 01:04:33,bin3873,75,False +CTSPillarNetworkA,3874,3874,3874,1980-08-10,387.4000000000196,387.41443,2015-01-01 01:04:34,bin3874,35,False +CTSPillarNetworkA,3875,3875,3875,1980-08-11,387.5000000000196,387.51443,2015-01-01 01:04:35,bin3875,75,False +CTSPillarNetworkA,3876,3876,3876,1980-08-12,387.60000000001963,387.61444,2015-01-01 01:04:36,bin3876,35,False +CTSPillarNetworkA,3877,3877,3877,1980-08-13,387.70000000001966,387.71445,2015-01-01 01:04:37,bin3877,75,False +CTSPillarNetworkA,3878,3878,3878,1980-08-14,387.8000000000197,387.81445,2015-01-01 01:04:38,bin3878,35,False +CTSPillarNetworkA,3879,3879,3879,1980-08-15,387.9000000000197,387.91446,2015-01-01 01:04:39,bin3879,75,False +CTSPillarNetworkA,3880,3880,3880,1980-08-16,388.0000000000197,388.01447,2015-01-01 01:04:40,bin3880,35,False +CTSPillarNetworkA,3881,3881,3881,1980-08-17,388.10000000001975,388.11447,2015-01-01 01:04:41,bin3881,75,False +CTSPillarNetworkA,3882,3882,3882,1980-08-18,388.20000000001977,388.21448,2015-01-01 01:04:42,bin3882,35,False +CTSPillarNetworkA,3883,3883,3883,1980-08-19,388.3000000000198,388.31448,2015-01-01 01:04:43,bin3883,75,False +CTSPillarNetworkA,3884,3884,3884,1980-08-20,388.4000000000198,388.4145,2015-01-01 01:04:44,bin3884,35,False +CTSPillarNetworkA,3885,3885,3885,1980-08-21,388.50000000001984,388.5145,2015-01-01 01:04:45,bin3885,75,False +CTSPillarNetworkA,3886,3886,3886,1980-08-22,388.60000000001986,388.6145,2015-01-01 01:04:46,bin3886,35,False +CTSPillarNetworkA,3887,3887,3887,1980-08-23,388.7000000000199,388.7145,2015-01-01 01:04:47,bin3887,75,False +CTSPillarNetworkA,3888,3888,3888,1980-08-24,388.8000000000199,388.8145,2015-01-01 01:04:48,bin3888,35,False +CTSPillarNetworkA,3889,3889,3889,1980-08-25,388.90000000001993,388.91452,2015-01-01 01:04:49,bin3889,75,False +CTSPillarNetworkA,3890,3890,3890,1980-08-26,389.00000000001995,389.01453,2015-01-01 01:04:50,bin3890,35,False +CTSPillarNetworkA,3891,3891,3891,1980-08-27,389.10000000002,389.11453,2015-01-01 01:04:51,bin3891,75,False +CTSPillarNetworkA,3892,3892,3892,1980-08-28,389.20000000002,389.21454,2015-01-01 01:04:52,bin3892,35,False +CTSPillarNetworkA,3893,3893,3893,1980-08-29,389.30000000002,389.31454,2015-01-01 01:04:53,bin3893,75,False +CTSPillarNetworkA,3894,3894,3894,1980-08-30,389.40000000002004,389.41455,2015-01-01 01:04:54,bin3894,35,False +CTSPillarNetworkA,3895,3895,3895,1980-08-31,389.50000000002007,389.51456,2015-01-01 01:04:55,bin3895,75,False +CTSPillarNetworkA,3896,3896,3896,1980-09-01,389.6000000000201,389.61456,2015-01-01 01:04:56,bin3896,35,False +CTSPillarNetworkA,3897,3897,3897,1980-09-02,389.7000000000201,389.71457,2015-01-01 01:04:57,bin3897,75,False +CTSPillarNetworkA,3898,3898,3898,1980-09-03,389.80000000002013,389.81458,2015-01-01 01:04:58,bin3898,35,False +CTSPillarNetworkA,3899,3899,3899,1980-09-04,389.90000000002016,389.91458,2015-01-01 01:04:59,bin3899,75,False +CTSPillarNetworkA,3900,3900,3900,1980-09-05,390.0000000000202,390.0146,2015-01-01 01:05:00,bin3900,35,False +CTSPillarNetworkA,3901,3901,3901,1980-09-06,390.1000000000202,390.1146,2015-01-01 01:05:01,bin3901,75,False +CTSPillarNetworkA,3902,3902,3902,1980-09-07,390.2000000000202,390.2146,2015-01-01 01:05:02,bin3902,35,False +CTSPillarNetworkA,3903,3903,3903,1980-09-08,390.30000000002025,390.3146,2015-01-01 01:05:03,bin3903,75,False +CTSPillarNetworkA,3904,3904,3904,1980-09-09,390.40000000002027,390.4146,2015-01-01 01:05:04,bin3904,35,False +CTSPillarNetworkA,3905,3905,3905,1980-09-10,390.5000000000203,390.51462,2015-01-01 01:05:05,bin3905,75,False +CTSPillarNetworkA,3906,3906,3906,1980-09-11,390.6000000000203,390.61462,2015-01-01 01:05:06,bin3906,35,False +CTSPillarNetworkA,3907,3907,3907,1980-09-12,390.70000000002034,390.71463,2015-01-01 01:05:07,bin3907,75,False +CTSPillarNetworkA,3908,3908,3908,1980-09-13,390.80000000002036,390.81464,2015-01-01 01:05:08,bin3908,35,False +CTSPillarNetworkA,3909,3909,3909,1980-09-14,390.9000000000204,390.91464,2015-01-01 01:05:09,bin3909,75,False +CTSPillarNetworkA,3910,3910,3910,1980-09-15,391.0000000000204,391.01465,2015-01-01 01:05:10,bin3910,35,False +CTSPillarNetworkA,3911,3911,3911,1980-09-16,391.10000000002043,391.11465,2015-01-01 01:05:11,bin3911,75,False +CTSPillarNetworkA,3912,3912,3912,1980-09-17,391.20000000002045,391.21466,2015-01-01 01:05:12,bin3912,35,False +CTSPillarNetworkA,3913,3913,3913,1980-09-18,391.3000000000205,391.31467,2015-01-01 01:05:13,bin3913,75,False +CTSPillarNetworkA,3914,3914,3914,1980-09-19,391.4000000000205,391.41467,2015-01-01 01:05:14,bin3914,35,False +CTSPillarNetworkA,3915,3915,3915,1980-09-20,391.5000000000205,391.51468,2015-01-01 01:05:15,bin3915,75,False +CTSPillarNetworkA,3916,3916,3916,1980-09-21,391.60000000002054,391.6147,2015-01-01 01:05:16,bin3916,35,False +CTSPillarNetworkA,3917,3917,3917,1980-09-22,391.70000000002057,391.7147,2015-01-01 01:05:17,bin3917,75,False +CTSPillarNetworkA,3918,3918,3918,1980-09-23,391.8000000000206,391.8147,2015-01-01 01:05:18,bin3918,35,False +CTSPillarNetworkA,3919,3919,3919,1980-09-24,391.9000000000206,391.9147,2015-01-01 01:05:19,bin3919,75,False +CTSPillarNetworkA,3920,3920,3920,1980-09-25,392.00000000002063,392.0147,2015-01-01 01:05:20,bin3920,35,False +CTSPillarNetworkA,3921,3921,3921,1980-09-26,392.10000000002066,392.11472,2015-01-01 01:05:21,bin3921,75,False +CTSPillarNetworkA,3922,3922,3922,1980-09-27,392.2000000000207,392.21472,2015-01-01 01:05:22,bin3922,35,False +CTSPillarNetworkA,3923,3923,3923,1980-09-28,392.3000000000207,392.31473,2015-01-01 01:05:23,bin3923,75,False +CTSPillarNetworkA,3924,3924,3924,1980-09-29,392.4000000000207,392.41473,2015-01-01 01:05:24,bin3924,35,False +CTSPillarNetworkA,3925,3925,3925,1980-09-30,392.50000000002075,392.51474,2015-01-01 01:05:25,bin3925,75,False +CTSPillarNetworkA,3926,3926,3926,1980-10-01,392.60000000002077,392.61475,2015-01-01 01:05:26,bin3926,35,False +CTSPillarNetworkA,3927,3927,3927,1980-10-02,392.7000000000208,392.71475,2015-01-01 01:05:27,bin3927,75,False +CTSPillarNetworkA,3928,3928,3928,1980-10-03,392.8000000000208,392.81476,2015-01-01 01:05:28,bin3928,35,False +CTSPillarNetworkA,3929,3929,3929,1980-10-04,392.90000000002084,392.91476,2015-01-01 01:05:29,bin3929,75,False +CTSPillarNetworkA,3930,3930,3930,1980-10-05,393.00000000002086,393.01477,2015-01-01 01:05:30,bin3930,35,False +CTSPillarNetworkA,3931,3931,3931,1980-10-06,393.1000000000209,393.11478,2015-01-01 01:05:31,bin3931,75,False +CTSPillarNetworkA,3932,3932,3932,1980-10-07,393.2000000000209,393.21478,2015-01-01 01:05:32,bin3932,35,False +CTSPillarNetworkA,3933,3933,3933,1980-10-08,393.30000000002093,393.3148,2015-01-01 01:05:33,bin3933,75,False +CTSPillarNetworkA,3934,3934,3934,1980-10-09,393.40000000002095,393.4148,2015-01-01 01:05:34,bin3934,35,False +CTSPillarNetworkA,3935,3935,3935,1980-10-10,393.500000000021,393.5148,2015-01-01 01:05:35,bin3935,75,False +CTSPillarNetworkA,3936,3936,3936,1980-10-11,393.600000000021,393.6148,2015-01-01 01:05:36,bin3936,35,False +CTSPillarNetworkA,3937,3937,3937,1980-10-12,393.700000000021,393.7148,2015-01-01 01:05:37,bin3937,75,False +CTSPillarNetworkA,3938,3938,3938,1980-10-13,393.80000000002104,393.81482,2015-01-01 01:05:38,bin3938,35,False +CTSPillarNetworkA,3939,3939,3939,1980-10-14,393.90000000002107,393.91483,2015-01-01 01:05:39,bin3939,75,False +CTSPillarNetworkA,3940,3940,3940,1980-10-15,394.0000000000211,394.01483,2015-01-01 01:05:40,bin3940,35,False +CTSPillarNetworkA,3941,3941,3941,1980-10-16,394.1000000000211,394.11484,2015-01-01 01:05:41,bin3941,75,False +CTSPillarNetworkA,3942,3942,3942,1980-10-17,394.20000000002113,394.21484,2015-01-01 01:05:42,bin3942,35,False +CTSPillarNetworkA,3943,3943,3943,1980-10-18,394.30000000002116,394.31485,2015-01-01 01:05:43,bin3943,75,False +CTSPillarNetworkA,3944,3944,3944,1980-10-19,394.4000000000212,394.41486,2015-01-01 01:05:44,bin3944,35,False +CTSPillarNetworkA,3945,3945,3945,1980-10-20,394.5000000000212,394.51486,2015-01-01 01:05:45,bin3945,75,False +CTSPillarNetworkA,3946,3946,3946,1980-10-21,394.6000000000212,394.61487,2015-01-01 01:05:46,bin3946,35,False +CTSPillarNetworkA,3947,3947,3947,1980-10-22,394.70000000002125,394.71487,2015-01-01 01:05:47,bin3947,75,False +CTSPillarNetworkA,3948,3948,3948,1980-10-23,394.80000000002127,394.81488,2015-01-01 01:05:48,bin3948,35,False +CTSPillarNetworkA,3949,3949,3949,1980-10-24,394.9000000000213,394.9149,2015-01-01 01:05:49,bin3949,75,False +CTSPillarNetworkA,3950,3950,3950,1980-10-25,395.0000000000213,395.0149,2015-01-01 01:05:50,bin3950,35,False +CTSPillarNetworkA,3951,3951,3951,1980-10-26,395.10000000002134,395.1149,2015-01-01 01:05:51,bin3951,75,False +CTSPillarNetworkA,3952,3952,3952,1980-10-27,395.20000000002136,395.2149,2015-01-01 01:05:52,bin3952,35,False +CTSPillarNetworkA,3953,3953,3953,1980-10-28,395.3000000000214,395.3149,2015-01-01 01:05:53,bin3953,75,False +CTSPillarNetworkA,3954,3954,3954,1980-10-29,395.4000000000214,395.41492,2015-01-01 01:05:54,bin3954,35,False +CTSPillarNetworkA,3955,3955,3955,1980-10-30,395.50000000002143,395.51492,2015-01-01 01:05:55,bin3955,75,False +CTSPillarNetworkA,3956,3956,3956,1980-10-31,395.60000000002145,395.61493,2015-01-01 01:05:56,bin3956,35,False +CTSPillarNetworkA,3957,3957,3957,1980-11-01,395.7000000000215,395.71494,2015-01-01 01:05:57,bin3957,75,False +CTSPillarNetworkA,3958,3958,3958,1980-11-02,395.8000000000215,395.81494,2015-01-01 01:05:58,bin3958,35,False +CTSPillarNetworkA,3959,3959,3959,1980-11-03,395.9000000000215,395.91495,2015-01-01 01:05:59,bin3959,75,False +CTSPillarNetworkA,3960,3960,3960,1980-11-04,396.00000000002154,396.01495,2015-01-01 01:06:00,bin3960,35,False +CTSPillarNetworkA,3961,3961,3961,1980-11-05,396.10000000002157,396.11496,2015-01-01 01:06:01,bin3961,75,False +CTSPillarNetworkA,3962,3962,3962,1980-11-06,396.2000000000216,396.21497,2015-01-01 01:06:02,bin3962,35,False +CTSPillarNetworkA,3963,3963,3963,1980-11-07,396.3000000000216,396.31497,2015-01-01 01:06:03,bin3963,75,False +CTSPillarNetworkA,3964,3964,3964,1980-11-08,396.40000000002163,396.41498,2015-01-01 01:06:04,bin3964,35,False +CTSPillarNetworkA,3965,3965,3965,1980-11-09,396.50000000002166,396.51498,2015-01-01 01:06:05,bin3965,75,False +CTSPillarNetworkA,3966,3966,3966,1980-11-10,396.6000000000217,396.615,2015-01-01 01:06:06,bin3966,35,False +CTSPillarNetworkA,3967,3967,3967,1980-11-11,396.7000000000217,396.715,2015-01-01 01:06:07,bin3967,75,False +CTSPillarNetworkA,3968,3968,3968,1980-11-12,396.8000000000217,396.815,2015-01-01 01:06:08,bin3968,35,False +CTSPillarNetworkA,3969,3969,3969,1980-11-13,396.90000000002175,396.915,2015-01-01 01:06:09,bin3969,75,False +CTSPillarNetworkA,3970,3970,3970,1980-11-14,397.00000000002177,397.015,2015-01-01 01:06:10,bin3970,35,False +CTSPillarNetworkA,3971,3971,3971,1980-11-15,397.1000000000218,397.11502,2015-01-01 01:06:11,bin3971,75,False +CTSPillarNetworkA,3972,3972,3972,1980-11-16,397.2000000000218,397.21503,2015-01-01 01:06:12,bin3972,35,False +CTSPillarNetworkA,3973,3973,3973,1980-11-17,397.30000000002184,397.31503,2015-01-01 01:06:13,bin3973,75,False +CTSPillarNetworkA,3974,3974,3974,1980-11-18,397.40000000002186,397.41504,2015-01-01 01:06:14,bin3974,35,False +CTSPillarNetworkA,3975,3975,3975,1980-11-19,397.5000000000219,397.51505,2015-01-01 01:06:15,bin3975,75,False +CTSPillarNetworkA,3976,3976,3976,1980-11-20,397.6000000000219,397.61505,2015-01-01 01:06:16,bin3976,35,False +CTSPillarNetworkA,3977,3977,3977,1980-11-21,397.70000000002193,397.71506,2015-01-01 01:06:17,bin3977,75,False +CTSPillarNetworkA,3978,3978,3978,1980-11-22,397.80000000002195,397.81506,2015-01-01 01:06:18,bin3978,35,False +CTSPillarNetworkA,3979,3979,3979,1980-11-23,397.900000000022,397.91507,2015-01-01 01:06:19,bin3979,75,False +CTSPillarNetworkA,3980,3980,3980,1980-11-24,398.000000000022,398.01508,2015-01-01 01:06:20,bin3980,35,False +CTSPillarNetworkA,3981,3981,3981,1980-11-25,398.100000000022,398.11508,2015-01-01 01:06:21,bin3981,75,False +CTSPillarNetworkA,3982,3982,3982,1980-11-26,398.20000000002204,398.2151,2015-01-01 01:06:22,bin3982,35,False +CTSPillarNetworkA,3983,3983,3983,1980-11-27,398.30000000002207,398.3151,2015-01-01 01:06:23,bin3983,75,False +CTSPillarNetworkA,3984,3984,3984,1980-11-28,398.4000000000221,398.4151,2015-01-01 01:06:24,bin3984,35,False +CTSPillarNetworkA,3985,3985,3985,1980-11-29,398.5000000000221,398.5151,2015-01-01 01:06:25,bin3985,75,False +CTSPillarNetworkA,3986,3986,3986,1980-11-30,398.60000000002213,398.6151,2015-01-01 01:06:26,bin3986,35,False +CTSPillarNetworkA,3987,3987,3987,1980-12-01,398.70000000002216,398.71512,2015-01-01 01:06:27,bin3987,75,False +CTSPillarNetworkA,3988,3988,3988,1980-12-02,398.8000000000222,398.81512,2015-01-01 01:06:28,bin3988,35,False +CTSPillarNetworkA,3989,3989,3989,1980-12-03,398.9000000000222,398.91513,2015-01-01 01:06:29,bin3989,75,False +CTSPillarNetworkA,3990,3990,3990,1980-12-04,399.0000000000222,399.01514,2015-01-01 01:06:30,bin3990,35,False +CTSPillarNetworkA,3991,3991,3991,1980-12-05,399.10000000002225,399.11514,2015-01-01 01:06:31,bin3991,75,False +CTSPillarNetworkA,3992,3992,3992,1980-12-06,399.20000000002227,399.21515,2015-01-01 01:06:32,bin3992,35,False +CTSPillarNetworkA,3993,3993,3993,1980-12-07,399.3000000000223,399.31516,2015-01-01 01:06:33,bin3993,75,False +CTSPillarNetworkA,3994,3994,3994,1980-12-08,399.4000000000223,399.41516,2015-01-01 01:06:34,bin3994,35,False +CTSPillarNetworkA,3995,3995,3995,1980-12-09,399.50000000002234,399.51517,2015-01-01 01:06:35,bin3995,75,False +CTSPillarNetworkA,3996,3996,3996,1980-12-10,399.60000000002236,399.61517,2015-01-01 01:06:36,bin3996,35,False +CTSPillarNetworkA,3997,3997,3997,1980-12-11,399.7000000000224,399.71518,2015-01-01 01:06:37,bin3997,75,False +CTSPillarNetworkA,3998,3998,3998,1980-12-12,399.8000000000224,399.8152,2015-01-01 01:06:38,bin3998,35,False +CTSPillarNetworkA,3999,3999,3999,1980-12-13,399.90000000002243,399.9152,2015-01-01 01:06:39,bin3999,75,False +CTSPillarNetworkA,4000,4000,4000,1980-12-14,400.00000000002245,400.0152,2015-01-01 01:06:40,bin4000,35,False +CTSPillarNetworkA,4001,4001,4001,1980-12-15,400.1000000000225,400.1152,2015-01-01 01:06:41,bin4001,75,False +CTSPillarNetworkA,4002,4002,4002,1980-12-16,400.2000000000225,400.2152,2015-01-01 01:06:42,bin4002,35,False +CTSPillarNetworkA,4003,4003,4003,1980-12-17,400.3000000000225,400.31522,2015-01-01 01:06:43,bin4003,75,False +CTSPillarNetworkA,4004,4004,4004,1980-12-18,400.40000000002254,400.41522,2015-01-01 01:06:44,bin4004,35,False +CTSPillarNetworkA,4005,4005,4005,1980-12-19,400.50000000002257,400.51523,2015-01-01 01:06:45,bin4005,75,False +CTSPillarNetworkA,4006,4006,4006,1980-12-20,400.6000000000226,400.61523,2015-01-01 01:06:46,bin4006,35,False +CTSPillarNetworkA,4007,4007,4007,1980-12-21,400.7000000000226,400.71524,2015-01-01 01:06:47,bin4007,75,False +CTSPillarNetworkA,4008,4008,4008,1980-12-22,400.80000000002264,400.81525,2015-01-01 01:06:48,bin4008,35,False +CTSPillarNetworkA,4009,4009,4009,1980-12-23,400.90000000002266,400.91525,2015-01-01 01:06:49,bin4009,75,False +CTSPillarNetworkA,4010,4010,4010,1980-12-24,401.0000000000227,401.01526,2015-01-01 01:06:50,bin4010,35,False +CTSPillarNetworkA,4011,4011,4011,1980-12-25,401.1000000000227,401.11526,2015-01-01 01:06:51,bin4011,75,False +CTSPillarNetworkA,4012,4012,4012,1980-12-26,401.2000000000227,401.21527,2015-01-01 01:06:52,bin4012,35,False +CTSPillarNetworkA,4013,4013,4013,1980-12-27,401.30000000002275,401.31528,2015-01-01 01:06:53,bin4013,75,False +CTSPillarNetworkA,4014,4014,4014,1980-12-28,401.40000000002277,401.41528,2015-01-01 01:06:54,bin4014,35,False +CTSPillarNetworkA,4015,4015,4015,1980-12-29,401.5000000000228,401.5153,2015-01-01 01:06:55,bin4015,75,False +CTSPillarNetworkA,4016,4016,4016,1980-12-30,401.6000000000228,401.6153,2015-01-01 01:06:56,bin4016,35,False +CTSPillarNetworkA,4017,4017,4017,1980-12-31,401.70000000002284,401.7153,2015-01-01 01:06:57,bin4017,75,False +CTSPillarNetworkA,4018,4018,4018,1981-01-01,401.80000000002286,401.8153,2015-01-01 01:06:58,bin4018,35,False +CTSPillarNetworkA,4019,4019,4019,1981-01-02,401.9000000000229,401.9153,2015-01-01 01:06:59,bin4019,75,False +CTSPillarNetworkA,4020,4020,4020,1981-01-03,402.0000000000229,402.01532,2015-01-01 01:07:00,bin4020,35,False +CTSPillarNetworkA,4021,4021,4021,1981-01-04,402.10000000002293,402.11533,2015-01-01 01:07:01,bin4021,75,False +CTSPillarNetworkA,4022,4022,4022,1981-01-05,402.20000000002295,402.21533,2015-01-01 01:07:02,bin4022,35,False +CTSPillarNetworkA,4023,4023,4023,1981-01-06,402.300000000023,402.31534,2015-01-01 01:07:03,bin4023,75,False +CTSPillarNetworkA,4024,4024,4024,1981-01-07,402.400000000023,402.41534,2015-01-01 01:07:04,bin4024,35,False +CTSPillarNetworkA,4025,4025,4025,1981-01-08,402.500000000023,402.51535,2015-01-01 01:07:05,bin4025,75,False +CTSPillarNetworkA,4026,4026,4026,1981-01-09,402.60000000002304,402.61536,2015-01-01 01:07:06,bin4026,35,False +CTSPillarNetworkA,4027,4027,4027,1981-01-10,402.70000000002307,402.71536,2015-01-01 01:07:07,bin4027,75,False +CTSPillarNetworkA,4028,4028,4028,1981-01-11,402.8000000000231,402.81537,2015-01-01 01:07:08,bin4028,35,False +CTSPillarNetworkA,4029,4029,4029,1981-01-12,402.9000000000231,402.91537,2015-01-01 01:07:09,bin4029,75,False +CTSPillarNetworkA,4030,4030,4030,1981-01-13,403.00000000002314,403.01538,2015-01-01 01:07:10,bin4030,35,False +CTSPillarNetworkA,4031,4031,4031,1981-01-14,403.10000000002316,403.1154,2015-01-01 01:07:11,bin4031,75,False +CTSPillarNetworkA,4032,4032,4032,1981-01-15,403.2000000000232,403.2154,2015-01-01 01:07:12,bin4032,35,False +CTSPillarNetworkA,4033,4033,4033,1981-01-16,403.3000000000232,403.3154,2015-01-01 01:07:13,bin4033,75,False +CTSPillarNetworkA,4034,4034,4034,1981-01-17,403.4000000000232,403.4154,2015-01-01 01:07:14,bin4034,35,False +CTSPillarNetworkA,4035,4035,4035,1981-01-18,403.50000000002325,403.5154,2015-01-01 01:07:15,bin4035,75,False +CTSPillarNetworkA,4036,4036,4036,1981-01-19,403.6000000000233,403.61542,2015-01-01 01:07:16,bin4036,35,False +CTSPillarNetworkA,4037,4037,4037,1981-01-20,403.7000000000233,403.71542,2015-01-01 01:07:17,bin4037,75,False +CTSPillarNetworkA,4038,4038,4038,1981-01-21,403.8000000000233,403.81543,2015-01-01 01:07:18,bin4038,35,False +CTSPillarNetworkA,4039,4039,4039,1981-01-22,403.90000000002334,403.91544,2015-01-01 01:07:19,bin4039,75,False +CTSPillarNetworkA,4040,4040,4040,1981-01-23,404.00000000002336,404.01544,2015-01-01 01:07:20,bin4040,35,False +CTSPillarNetworkA,4041,4041,4041,1981-01-24,404.1000000000234,404.11545,2015-01-01 01:07:21,bin4041,75,False +CTSPillarNetworkA,4042,4042,4042,1981-01-25,404.2000000000234,404.21545,2015-01-01 01:07:22,bin4042,35,False +CTSPillarNetworkA,4043,4043,4043,1981-01-26,404.30000000002343,404.31546,2015-01-01 01:07:23,bin4043,75,False +CTSPillarNetworkA,4044,4044,4044,1981-01-27,404.40000000002345,404.41547,2015-01-01 01:07:24,bin4044,35,False +CTSPillarNetworkA,4045,4045,4045,1981-01-28,404.5000000000235,404.51547,2015-01-01 01:07:25,bin4045,75,False +CTSPillarNetworkA,4046,4046,4046,1981-01-29,404.6000000000235,404.61548,2015-01-01 01:07:26,bin4046,35,False +CTSPillarNetworkA,4047,4047,4047,1981-01-30,404.7000000000235,404.71548,2015-01-01 01:07:27,bin4047,75,False +CTSPillarNetworkA,4048,4048,4048,1981-01-31,404.80000000002354,404.8155,2015-01-01 01:07:28,bin4048,35,False +CTSPillarNetworkA,4049,4049,4049,1981-02-01,404.90000000002357,404.9155,2015-01-01 01:07:29,bin4049,75,False +CTSPillarNetworkA,4050,4050,4050,1981-02-02,405.0000000000236,405.0155,2015-01-01 01:07:30,bin4050,35,False +CTSPillarNetworkA,4051,4051,4051,1981-02-03,405.1000000000236,405.1155,2015-01-01 01:07:31,bin4051,75,False +CTSPillarNetworkA,4052,4052,4052,1981-02-04,405.20000000002364,405.2155,2015-01-01 01:07:32,bin4052,35,False +CTSPillarNetworkA,4053,4053,4053,1981-02-05,405.30000000002366,405.31552,2015-01-01 01:07:33,bin4053,75,False +CTSPillarNetworkA,4054,4054,4054,1981-02-06,405.4000000000237,405.41553,2015-01-01 01:07:34,bin4054,35,False +CTSPillarNetworkA,4055,4055,4055,1981-02-07,405.5000000000237,405.51553,2015-01-01 01:07:35,bin4055,75,False +CTSPillarNetworkA,4056,4056,4056,1981-02-08,405.6000000000237,405.61554,2015-01-01 01:07:36,bin4056,35,False +CTSPillarNetworkA,4057,4057,4057,1981-02-09,405.70000000002375,405.71555,2015-01-01 01:07:37,bin4057,75,False +CTSPillarNetworkA,4058,4058,4058,1981-02-10,405.8000000000238,405.81555,2015-01-01 01:07:38,bin4058,35,False +CTSPillarNetworkA,4059,4059,4059,1981-02-11,405.9000000000238,405.91556,2015-01-01 01:07:39,bin4059,75,False +CTSPillarNetworkA,4060,4060,4060,1981-02-12,406.0000000000238,406.01556,2015-01-01 01:07:40,bin4060,35,False +CTSPillarNetworkA,4061,4061,4061,1981-02-13,406.10000000002384,406.11557,2015-01-01 01:07:41,bin4061,75,False +CTSPillarNetworkA,4062,4062,4062,1981-02-14,406.20000000002386,406.21558,2015-01-01 01:07:42,bin4062,35,False +CTSPillarNetworkA,4063,4063,4063,1981-02-15,406.3000000000239,406.31558,2015-01-01 01:07:43,bin4063,75,False +CTSPillarNetworkA,4064,4064,4064,1981-02-16,406.4000000000239,406.4156,2015-01-01 01:07:44,bin4064,35,False +CTSPillarNetworkA,4065,4065,4065,1981-02-17,406.50000000002393,406.5156,2015-01-01 01:07:45,bin4065,75,False +CTSPillarNetworkA,4066,4066,4066,1981-02-18,406.60000000002395,406.6156,2015-01-01 01:07:46,bin4066,35,False +CTSPillarNetworkA,4067,4067,4067,1981-02-19,406.700000000024,406.7156,2015-01-01 01:07:47,bin4067,75,False +CTSPillarNetworkA,4068,4068,4068,1981-02-20,406.800000000024,406.8156,2015-01-01 01:07:48,bin4068,35,False +CTSPillarNetworkA,4069,4069,4069,1981-02-21,406.900000000024,406.91562,2015-01-01 01:07:49,bin4069,75,False +CTSPillarNetworkA,4070,4070,4070,1981-02-22,407.00000000002404,407.01562,2015-01-01 01:07:50,bin4070,35,False +CTSPillarNetworkA,4071,4071,4071,1981-02-23,407.10000000002407,407.11563,2015-01-01 01:07:51,bin4071,75,False +CTSPillarNetworkA,4072,4072,4072,1981-02-24,407.2000000000241,407.21564,2015-01-01 01:07:52,bin4072,35,False +CTSPillarNetworkA,4073,4073,4073,1981-02-25,407.3000000000241,407.31564,2015-01-01 01:07:53,bin4073,75,False +CTSPillarNetworkA,4074,4074,4074,1981-02-26,407.40000000002414,407.41565,2015-01-01 01:07:54,bin4074,35,False +CTSPillarNetworkA,4075,4075,4075,1981-02-27,407.50000000002416,407.51566,2015-01-01 01:07:55,bin4075,75,False +CTSPillarNetworkA,4076,4076,4076,1981-02-28,407.6000000000242,407.61566,2015-01-01 01:07:56,bin4076,35,False +CTSPillarNetworkA,4077,4077,4077,1981-03-01,407.7000000000242,407.71567,2015-01-01 01:07:57,bin4077,75,False +CTSPillarNetworkA,4078,4078,4078,1981-03-02,407.8000000000242,407.81567,2015-01-01 01:07:58,bin4078,35,False +CTSPillarNetworkA,4079,4079,4079,1981-03-03,407.90000000002425,407.91568,2015-01-01 01:07:59,bin4079,75,False +CTSPillarNetworkA,4080,4080,4080,1981-03-04,408.0000000000243,408.0157,2015-01-01 01:08:00,bin4080,35,False +CTSPillarNetworkA,4081,4081,4081,1981-03-05,408.1000000000243,408.1157,2015-01-01 01:08:01,bin4081,75,False +CTSPillarNetworkA,4082,4082,4082,1981-03-06,408.2000000000243,408.2157,2015-01-01 01:08:02,bin4082,35,False +CTSPillarNetworkA,4083,4083,4083,1981-03-07,408.30000000002434,408.3157,2015-01-01 01:08:03,bin4083,75,False +CTSPillarNetworkA,4084,4084,4084,1981-03-08,408.40000000002436,408.4157,2015-01-01 01:08:04,bin4084,35,False +CTSPillarNetworkA,4085,4085,4085,1981-03-09,408.5000000000244,408.51572,2015-01-01 01:08:05,bin4085,75,False +CTSPillarNetworkA,4086,4086,4086,1981-03-10,408.6000000000244,408.61572,2015-01-01 01:08:06,bin4086,35,False +CTSPillarNetworkA,4087,4087,4087,1981-03-11,408.70000000002443,408.71573,2015-01-01 01:08:07,bin4087,75,False +CTSPillarNetworkA,4088,4088,4088,1981-03-12,408.80000000002445,408.81573,2015-01-01 01:08:08,bin4088,35,False +CTSPillarNetworkA,4089,4089,4089,1981-03-13,408.9000000000245,408.91574,2015-01-01 01:08:09,bin4089,75,False +CTSPillarNetworkA,4090,4090,4090,1981-03-14,409.0000000000245,409.01575,2015-01-01 01:08:10,bin4090,35,False +CTSPillarNetworkA,4091,4091,4091,1981-03-15,409.1000000000245,409.11575,2015-01-01 01:08:11,bin4091,75,False +CTSPillarNetworkA,4092,4092,4092,1981-03-16,409.20000000002454,409.21576,2015-01-01 01:08:12,bin4092,35,False +CTSPillarNetworkA,4093,4093,4093,1981-03-17,409.30000000002457,409.31577,2015-01-01 01:08:13,bin4093,75,False +CTSPillarNetworkA,4094,4094,4094,1981-03-18,409.4000000000246,409.41577,2015-01-01 01:08:14,bin4094,35,False +CTSPillarNetworkA,4095,4095,4095,1981-03-19,409.5000000000246,409.51578,2015-01-01 01:08:15,bin4095,75,False +CTSPillarNetworkA,4096,4096,4096,1981-03-20,409.60000000002464,409.61578,2015-01-01 01:08:16,bin4096,35,False +CTSPillarNetworkA,4097,4097,4097,1981-03-21,409.70000000002466,409.7158,2015-01-01 01:08:17,bin4097,75,False +CTSPillarNetworkA,4098,4098,4098,1981-03-22,409.8000000000247,409.8158,2015-01-01 01:08:18,bin4098,35,False +CTSPillarNetworkA,4099,4099,4099,1981-03-23,409.9000000000247,409.9158,2015-01-01 01:08:19,bin4099,75,False +CTSPillarNetworkA,4100,4100,4100,1981-03-24,410.0000000000247,410.0158,2015-01-01 01:08:20,bin4100,35,False +CTSPillarNetworkA,4101,4101,4101,1981-03-25,410.10000000002475,410.1158,2015-01-01 01:08:21,bin4101,75,False +CTSPillarNetworkA,4102,4102,4102,1981-03-26,410.2000000000248,410.21582,2015-01-01 01:08:22,bin4102,35,False +CTSPillarNetworkA,4103,4103,4103,1981-03-27,410.3000000000248,410.31583,2015-01-01 01:08:23,bin4103,75,False +CTSPillarNetworkA,4104,4104,4104,1981-03-28,410.4000000000248,410.41583,2015-01-01 01:08:24,bin4104,35,False +CTSPillarNetworkA,4105,4105,4105,1981-03-29,410.50000000002484,410.51584,2015-01-01 01:08:25,bin4105,75,False +CTSPillarNetworkA,4106,4106,4106,1981-03-30,410.60000000002486,410.61584,2015-01-01 01:08:26,bin4106,35,False +CTSPillarNetworkA,4107,4107,4107,1981-03-31,410.7000000000249,410.71585,2015-01-01 01:08:27,bin4107,75,False +CTSPillarNetworkA,4108,4108,4108,1981-04-01,410.8000000000249,410.81586,2015-01-01 01:08:28,bin4108,35,False +CTSPillarNetworkA,4109,4109,4109,1981-04-02,410.90000000002493,410.91586,2015-01-01 01:08:29,bin4109,75,False +CTSPillarNetworkA,4110,4110,4110,1981-04-03,411.00000000002495,411.01587,2015-01-01 01:08:30,bin4110,35,False +CTSPillarNetworkA,4111,4111,4111,1981-04-04,411.100000000025,411.11588,2015-01-01 01:08:31,bin4111,75,False +CTSPillarNetworkA,4112,4112,4112,1981-04-05,411.200000000025,411.21588,2015-01-01 01:08:32,bin4112,35,False +CTSPillarNetworkA,4113,4113,4113,1981-04-06,411.300000000025,411.3159,2015-01-01 01:08:33,bin4113,75,False +CTSPillarNetworkA,4114,4114,4114,1981-04-07,411.40000000002505,411.4159,2015-01-01 01:08:34,bin4114,35,False +CTSPillarNetworkA,4115,4115,4115,1981-04-08,411.50000000002507,411.5159,2015-01-01 01:08:35,bin4115,75,False +CTSPillarNetworkA,4116,4116,4116,1981-04-09,411.6000000000251,411.6159,2015-01-01 01:08:36,bin4116,35,False +CTSPillarNetworkA,4117,4117,4117,1981-04-10,411.7000000000251,411.7159,2015-01-01 01:08:37,bin4117,75,False +CTSPillarNetworkA,4118,4118,4118,1981-04-11,411.80000000002514,411.81592,2015-01-01 01:08:38,bin4118,35,False +CTSPillarNetworkA,4119,4119,4119,1981-04-12,411.90000000002516,411.91592,2015-01-01 01:08:39,bin4119,75,False +CTSPillarNetworkA,4120,4120,4120,1981-04-13,412.0000000000252,412.01593,2015-01-01 01:08:40,bin4120,35,False +CTSPillarNetworkA,4121,4121,4121,1981-04-14,412.1000000000252,412.11594,2015-01-01 01:08:41,bin4121,75,False +CTSPillarNetworkA,4122,4122,4122,1981-04-15,412.2000000000252,412.21594,2015-01-01 01:08:42,bin4122,35,False +CTSPillarNetworkA,4123,4123,4123,1981-04-16,412.30000000002525,412.31595,2015-01-01 01:08:43,bin4123,75,False +CTSPillarNetworkA,4124,4124,4124,1981-04-17,412.4000000000253,412.41595,2015-01-01 01:08:44,bin4124,35,False +CTSPillarNetworkA,4125,4125,4125,1981-04-18,412.5000000000253,412.51596,2015-01-01 01:08:45,bin4125,75,False +CTSPillarNetworkA,4126,4126,4126,1981-04-19,412.6000000000253,412.61597,2015-01-01 01:08:46,bin4126,35,False +CTSPillarNetworkA,4127,4127,4127,1981-04-20,412.70000000002534,412.71597,2015-01-01 01:08:47,bin4127,75,False +CTSPillarNetworkA,4128,4128,4128,1981-04-21,412.80000000002536,412.81598,2015-01-01 01:08:48,bin4128,35,False +CTSPillarNetworkA,4129,4129,4129,1981-04-22,412.9000000000254,412.916,2015-01-01 01:08:49,bin4129,75,False +CTSPillarNetworkA,4130,4130,4130,1981-04-23,413.0000000000254,413.016,2015-01-01 01:08:50,bin4130,35,False +CTSPillarNetworkA,4131,4131,4131,1981-04-24,413.10000000002543,413.116,2015-01-01 01:08:51,bin4131,75,False +CTSPillarNetworkA,4132,4132,4132,1981-04-25,413.20000000002545,413.216,2015-01-01 01:08:52,bin4132,35,False +CTSPillarNetworkA,4133,4133,4133,1981-04-26,413.3000000000255,413.316,2015-01-01 01:08:53,bin4133,75,False +CTSPillarNetworkA,4134,4134,4134,1981-04-27,413.4000000000255,413.41602,2015-01-01 01:08:54,bin4134,35,False +CTSPillarNetworkA,4135,4135,4135,1981-04-28,413.5000000000255,413.51602,2015-01-01 01:08:55,bin4135,75,False +CTSPillarNetworkA,4136,4136,4136,1981-04-29,413.60000000002555,413.61603,2015-01-01 01:08:56,bin4136,35,False +CTSPillarNetworkA,4137,4137,4137,1981-04-30,413.70000000002557,413.71603,2015-01-01 01:08:57,bin4137,75,False +CTSPillarNetworkA,4138,4138,4138,1981-05-01,413.8000000000256,413.81604,2015-01-01 01:08:58,bin4138,35,False +CTSPillarNetworkA,4139,4139,4139,1981-05-02,413.9000000000256,413.91605,2015-01-01 01:08:59,bin4139,75,False +CTSPillarNetworkA,4140,4140,4140,1981-05-03,414.00000000002564,414.01605,2015-01-01 01:09:00,bin4140,35,False +CTSPillarNetworkA,4141,4141,4141,1981-05-04,414.10000000002566,414.11606,2015-01-01 01:09:01,bin4141,75,False +CTSPillarNetworkA,4142,4142,4142,1981-05-05,414.2000000000257,414.21606,2015-01-01 01:09:02,bin4142,35,False +CTSPillarNetworkA,4143,4143,4143,1981-05-06,414.3000000000257,414.31607,2015-01-01 01:09:03,bin4143,75,False +CTSPillarNetworkA,4144,4144,4144,1981-05-07,414.4000000000257,414.41608,2015-01-01 01:09:04,bin4144,35,False +CTSPillarNetworkA,4145,4145,4145,1981-05-08,414.50000000002575,414.51608,2015-01-01 01:09:05,bin4145,75,False +CTSPillarNetworkA,4146,4146,4146,1981-05-09,414.6000000000258,414.6161,2015-01-01 01:09:06,bin4146,35,False +CTSPillarNetworkA,4147,4147,4147,1981-05-10,414.7000000000258,414.7161,2015-01-01 01:09:07,bin4147,75,False +CTSPillarNetworkA,4148,4148,4148,1981-05-11,414.8000000000258,414.8161,2015-01-01 01:09:08,bin4148,35,False +CTSPillarNetworkA,4149,4149,4149,1981-05-12,414.90000000002584,414.9161,2015-01-01 01:09:09,bin4149,75,False +CTSPillarNetworkA,4150,4150,4150,1981-05-13,415.00000000002586,415.0161,2015-01-01 01:09:10,bin4150,35,False +CTSPillarNetworkA,4151,4151,4151,1981-05-14,415.1000000000259,415.11612,2015-01-01 01:09:11,bin4151,75,False +CTSPillarNetworkA,4152,4152,4152,1981-05-15,415.2000000000259,415.21613,2015-01-01 01:09:12,bin4152,35,False +CTSPillarNetworkA,4153,4153,4153,1981-05-16,415.30000000002593,415.31613,2015-01-01 01:09:13,bin4153,75,False +CTSPillarNetworkA,4154,4154,4154,1981-05-17,415.40000000002595,415.41614,2015-01-01 01:09:14,bin4154,35,False +CTSPillarNetworkA,4155,4155,4155,1981-05-18,415.500000000026,415.51614,2015-01-01 01:09:15,bin4155,75,False +CTSPillarNetworkA,4156,4156,4156,1981-05-19,415.600000000026,415.61615,2015-01-01 01:09:16,bin4156,35,False +CTSPillarNetworkA,4157,4157,4157,1981-05-20,415.700000000026,415.71616,2015-01-01 01:09:17,bin4157,75,False +CTSPillarNetworkA,4158,4158,4158,1981-05-21,415.80000000002605,415.81616,2015-01-01 01:09:18,bin4158,35,False +CTSPillarNetworkA,4159,4159,4159,1981-05-22,415.90000000002607,415.91617,2015-01-01 01:09:19,bin4159,75,False +CTSPillarNetworkA,4160,4160,4160,1981-05-23,416.0000000000261,416.01617,2015-01-01 01:09:20,bin4160,35,False +CTSPillarNetworkA,4161,4161,4161,1981-05-24,416.1000000000261,416.11618,2015-01-01 01:09:21,bin4161,75,False +CTSPillarNetworkA,4162,4162,4162,1981-05-25,416.20000000002614,416.2162,2015-01-01 01:09:22,bin4162,35,False +CTSPillarNetworkA,4163,4163,4163,1981-05-26,416.30000000002616,416.3162,2015-01-01 01:09:23,bin4163,75,False +CTSPillarNetworkA,4164,4164,4164,1981-05-27,416.4000000000262,416.4162,2015-01-01 01:09:24,bin4164,35,False +CTSPillarNetworkA,4165,4165,4165,1981-05-28,416.5000000000262,416.5162,2015-01-01 01:09:25,bin4165,75,False +CTSPillarNetworkA,4166,4166,4166,1981-05-29,416.6000000000262,416.6162,2015-01-01 01:09:26,bin4166,35,False +CTSPillarNetworkA,4167,4167,4167,1981-05-30,416.70000000002625,416.71622,2015-01-01 01:09:27,bin4167,75,False +CTSPillarNetworkA,4168,4168,4168,1981-05-31,416.8000000000263,416.81622,2015-01-01 01:09:28,bin4168,35,False +CTSPillarNetworkA,4169,4169,4169,1981-06-01,416.9000000000263,416.91623,2015-01-01 01:09:29,bin4169,75,False +CTSPillarNetworkA,4170,4170,4170,1981-06-02,417.0000000000263,417.01624,2015-01-01 01:09:30,bin4170,35,False +CTSPillarNetworkA,4171,4171,4171,1981-06-03,417.10000000002634,417.11624,2015-01-01 01:09:31,bin4171,75,False +CTSPillarNetworkA,4172,4172,4172,1981-06-04,417.20000000002636,417.21625,2015-01-01 01:09:32,bin4172,35,False +CTSPillarNetworkA,4173,4173,4173,1981-06-05,417.3000000000264,417.31625,2015-01-01 01:09:33,bin4173,75,False +CTSPillarNetworkA,4174,4174,4174,1981-06-06,417.4000000000264,417.41626,2015-01-01 01:09:34,bin4174,35,False +CTSPillarNetworkA,4175,4175,4175,1981-06-07,417.50000000002643,417.51627,2015-01-01 01:09:35,bin4175,75,False +CTSPillarNetworkA,4176,4176,4176,1981-06-08,417.60000000002645,417.61627,2015-01-01 01:09:36,bin4176,35,False +CTSPillarNetworkA,4177,4177,4177,1981-06-09,417.7000000000265,417.71628,2015-01-01 01:09:37,bin4177,75,False +CTSPillarNetworkA,4178,4178,4178,1981-06-10,417.8000000000265,417.81628,2015-01-01 01:09:38,bin4178,35,False +CTSPillarNetworkA,4179,4179,4179,1981-06-11,417.9000000000265,417.9163,2015-01-01 01:09:39,bin4179,75,False +CTSPillarNetworkA,4180,4180,4180,1981-06-12,418.00000000002655,418.0163,2015-01-01 01:09:40,bin4180,35,False +CTSPillarNetworkA,4181,4181,4181,1981-06-13,418.10000000002657,418.1163,2015-01-01 01:09:41,bin4181,75,False +CTSPillarNetworkA,4182,4182,4182,1981-06-14,418.2000000000266,418.2163,2015-01-01 01:09:42,bin4182,35,False +CTSPillarNetworkA,4183,4183,4183,1981-06-15,418.3000000000266,418.3163,2015-01-01 01:09:43,bin4183,75,False +CTSPillarNetworkA,4184,4184,4184,1981-06-16,418.40000000002664,418.41632,2015-01-01 01:09:44,bin4184,35,False +CTSPillarNetworkA,4185,4185,4185,1981-06-17,418.50000000002666,418.51633,2015-01-01 01:09:45,bin4185,75,False +CTSPillarNetworkA,4186,4186,4186,1981-06-18,418.6000000000267,418.61633,2015-01-01 01:09:46,bin4186,35,False +CTSPillarNetworkA,4187,4187,4187,1981-06-19,418.7000000000267,418.71634,2015-01-01 01:09:47,bin4187,75,False +CTSPillarNetworkA,4188,4188,4188,1981-06-20,418.8000000000267,418.81635,2015-01-01 01:09:48,bin4188,35,False +CTSPillarNetworkA,4189,4189,4189,1981-06-21,418.90000000002675,418.91635,2015-01-01 01:09:49,bin4189,75,False +CTSPillarNetworkA,4190,4190,4190,1981-06-22,419.0000000000268,419.01636,2015-01-01 01:09:50,bin4190,35,False +CTSPillarNetworkA,4191,4191,4191,1981-06-23,419.1000000000268,419.11636,2015-01-01 01:09:51,bin4191,75,False +CTSPillarNetworkA,4192,4192,4192,1981-06-24,419.2000000000268,419.21637,2015-01-01 01:09:52,bin4192,35,False +CTSPillarNetworkA,4193,4193,4193,1981-06-25,419.30000000002684,419.31638,2015-01-01 01:09:53,bin4193,75,False +CTSPillarNetworkA,4194,4194,4194,1981-06-26,419.40000000002686,419.41638,2015-01-01 01:09:54,bin4194,35,False +CTSPillarNetworkA,4195,4195,4195,1981-06-27,419.5000000000269,419.5164,2015-01-01 01:09:55,bin4195,75,False +CTSPillarNetworkA,4196,4196,4196,1981-06-28,419.6000000000269,419.6164,2015-01-01 01:09:56,bin4196,35,False +CTSPillarNetworkA,4197,4197,4197,1981-06-29,419.70000000002693,419.7164,2015-01-01 01:09:57,bin4197,75,False +CTSPillarNetworkA,4198,4198,4198,1981-06-30,419.80000000002696,419.8164,2015-01-01 01:09:58,bin4198,35,False +CTSPillarNetworkA,4199,4199,4199,1981-07-01,419.900000000027,419.9164,2015-01-01 01:09:59,bin4199,75,False +CTSPillarNetworkA,4200,4200,4200,1981-07-02,420.000000000027,420.01642,2015-01-01 01:10:00,bin4200,35,False +CTSPillarNetworkA,4201,4201,4201,1981-07-03,420.100000000027,420.11642,2015-01-01 01:10:01,bin4201,75,False +CTSPillarNetworkA,4202,4202,4202,1981-07-04,420.20000000002705,420.21643,2015-01-01 01:10:02,bin4202,35,False +CTSPillarNetworkA,4203,4203,4203,1981-07-05,420.30000000002707,420.31644,2015-01-01 01:10:03,bin4203,75,False +CTSPillarNetworkA,4204,4204,4204,1981-07-06,420.4000000000271,420.41644,2015-01-01 01:10:04,bin4204,35,False +CTSPillarNetworkA,4205,4205,4205,1981-07-07,420.5000000000271,420.51645,2015-01-01 01:10:05,bin4205,75,False +CTSPillarNetworkA,4206,4206,4206,1981-07-08,420.60000000002714,420.61646,2015-01-01 01:10:06,bin4206,35,False +CTSPillarNetworkA,4207,4207,4207,1981-07-09,420.70000000002716,420.71646,2015-01-01 01:10:07,bin4207,75,False +CTSPillarNetworkA,4208,4208,4208,1981-07-10,420.8000000000272,420.81647,2015-01-01 01:10:08,bin4208,35,False +CTSPillarNetworkA,4209,4209,4209,1981-07-11,420.9000000000272,420.91647,2015-01-01 01:10:09,bin4209,75,False +CTSPillarNetworkA,4210,4210,4210,1981-07-12,421.0000000000272,421.01648,2015-01-01 01:10:10,bin4210,35,False +CTSPillarNetworkA,4211,4211,4211,1981-07-13,421.10000000002725,421.1165,2015-01-01 01:10:11,bin4211,75,False +CTSPillarNetworkA,4212,4212,4212,1981-07-14,421.2000000000273,421.2165,2015-01-01 01:10:12,bin4212,35,False +CTSPillarNetworkA,4213,4213,4213,1981-07-15,421.3000000000273,421.3165,2015-01-01 01:10:13,bin4213,75,False +CTSPillarNetworkA,4214,4214,4214,1981-07-16,421.4000000000273,421.4165,2015-01-01 01:10:14,bin4214,35,False +CTSPillarNetworkA,4215,4215,4215,1981-07-17,421.50000000002734,421.5165,2015-01-01 01:10:15,bin4215,75,False +CTSPillarNetworkA,4216,4216,4216,1981-07-18,421.60000000002736,421.61652,2015-01-01 01:10:16,bin4216,35,False +CTSPillarNetworkA,4217,4217,4217,1981-07-19,421.7000000000274,421.71652,2015-01-01 01:10:17,bin4217,75,False +CTSPillarNetworkA,4218,4218,4218,1981-07-20,421.8000000000274,421.81653,2015-01-01 01:10:18,bin4218,35,False +CTSPillarNetworkA,4219,4219,4219,1981-07-21,421.90000000002743,421.91653,2015-01-01 01:10:19,bin4219,75,False +CTSPillarNetworkA,4220,4220,4220,1981-07-22,422.00000000002746,422.01654,2015-01-01 01:10:20,bin4220,35,False +CTSPillarNetworkA,4221,4221,4221,1981-07-23,422.1000000000275,422.11655,2015-01-01 01:10:21,bin4221,75,False +CTSPillarNetworkA,4222,4222,4222,1981-07-24,422.2000000000275,422.21655,2015-01-01 01:10:22,bin4222,35,False +CTSPillarNetworkA,4223,4223,4223,1981-07-25,422.3000000000275,422.31656,2015-01-01 01:10:23,bin4223,75,False +CTSPillarNetworkA,4224,4224,4224,1981-07-26,422.40000000002755,422.41656,2015-01-01 01:10:24,bin4224,35,False +CTSPillarNetworkA,4225,4225,4225,1981-07-27,422.50000000002757,422.51657,2015-01-01 01:10:25,bin4225,75,False +CTSPillarNetworkA,4226,4226,4226,1981-07-28,422.6000000000276,422.61658,2015-01-01 01:10:26,bin4226,35,False +CTSPillarNetworkA,4227,4227,4227,1981-07-29,422.7000000000276,422.71658,2015-01-01 01:10:27,bin4227,75,False +CTSPillarNetworkA,4228,4228,4228,1981-07-30,422.80000000002764,422.8166,2015-01-01 01:10:28,bin4228,35,False +CTSPillarNetworkA,4229,4229,4229,1981-07-31,422.90000000002766,422.9166,2015-01-01 01:10:29,bin4229,75,False +CTSPillarNetworkA,4230,4230,4230,1981-08-01,423.0000000000277,423.0166,2015-01-01 01:10:30,bin4230,35,False +CTSPillarNetworkA,4231,4231,4231,1981-08-02,423.1000000000277,423.1166,2015-01-01 01:10:31,bin4231,75,False +CTSPillarNetworkA,4232,4232,4232,1981-08-03,423.2000000000277,423.2166,2015-01-01 01:10:32,bin4232,35,False +CTSPillarNetworkA,4233,4233,4233,1981-08-04,423.30000000002775,423.31662,2015-01-01 01:10:33,bin4233,75,False +CTSPillarNetworkA,4234,4234,4234,1981-08-05,423.4000000000278,423.41663,2015-01-01 01:10:34,bin4234,35,False +CTSPillarNetworkA,4235,4235,4235,1981-08-06,423.5000000000278,423.51663,2015-01-01 01:10:35,bin4235,75,False +CTSPillarNetworkA,4236,4236,4236,1981-08-07,423.6000000000278,423.61664,2015-01-01 01:10:36,bin4236,35,False +CTSPillarNetworkA,4237,4237,4237,1981-08-08,423.70000000002784,423.71664,2015-01-01 01:10:37,bin4237,75,False +CTSPillarNetworkA,4238,4238,4238,1981-08-09,423.80000000002786,423.81665,2015-01-01 01:10:38,bin4238,35,False +CTSPillarNetworkA,4239,4239,4239,1981-08-10,423.9000000000279,423.91666,2015-01-01 01:10:39,bin4239,75,False +CTSPillarNetworkA,4240,4240,4240,1981-08-11,424.0000000000279,424.01666,2015-01-01 01:10:40,bin4240,35,False +CTSPillarNetworkA,4241,4241,4241,1981-08-12,424.10000000002793,424.11667,2015-01-01 01:10:41,bin4241,75,False +CTSPillarNetworkA,4242,4242,4242,1981-08-13,424.20000000002796,424.21667,2015-01-01 01:10:42,bin4242,35,False +CTSPillarNetworkA,4243,4243,4243,1981-08-14,424.300000000028,424.31668,2015-01-01 01:10:43,bin4243,75,False +CTSPillarNetworkA,4244,4244,4244,1981-08-15,424.400000000028,424.4167,2015-01-01 01:10:44,bin4244,35,False +CTSPillarNetworkA,4245,4245,4245,1981-08-16,424.500000000028,424.5167,2015-01-01 01:10:45,bin4245,75,False +CTSPillarNetworkA,4246,4246,4246,1981-08-17,424.60000000002805,424.6167,2015-01-01 01:10:46,bin4246,35,False +CTSPillarNetworkA,4247,4247,4247,1981-08-18,424.70000000002807,424.7167,2015-01-01 01:10:47,bin4247,75,False +CTSPillarNetworkA,4248,4248,4248,1981-08-19,424.8000000000281,424.8167,2015-01-01 01:10:48,bin4248,35,False +CTSPillarNetworkA,4249,4249,4249,1981-08-20,424.9000000000281,424.91672,2015-01-01 01:10:49,bin4249,75,False +CTSPillarNetworkA,4250,4250,4250,1981-08-21,425.00000000002814,425.01672,2015-01-01 01:10:50,bin4250,35,False +CTSPillarNetworkA,4251,4251,4251,1981-08-22,425.10000000002816,425.11673,2015-01-01 01:10:51,bin4251,75,False +CTSPillarNetworkA,4252,4252,4252,1981-08-23,425.2000000000282,425.21674,2015-01-01 01:10:52,bin4252,35,False +CTSPillarNetworkA,4253,4253,4253,1981-08-24,425.3000000000282,425.31674,2015-01-01 01:10:53,bin4253,75,False +CTSPillarNetworkA,4254,4254,4254,1981-08-25,425.40000000002823,425.41675,2015-01-01 01:10:54,bin4254,35,False +CTSPillarNetworkA,4255,4255,4255,1981-08-26,425.50000000002825,425.51675,2015-01-01 01:10:55,bin4255,75,False +CTSPillarNetworkA,4256,4256,4256,1981-08-27,425.6000000000283,425.61676,2015-01-01 01:10:56,bin4256,35,False +CTSPillarNetworkA,4257,4257,4257,1981-08-28,425.7000000000283,425.71677,2015-01-01 01:10:57,bin4257,75,False +CTSPillarNetworkA,4258,4258,4258,1981-08-29,425.8000000000283,425.81677,2015-01-01 01:10:58,bin4258,35,False +CTSPillarNetworkA,4259,4259,4259,1981-08-30,425.90000000002834,425.91678,2015-01-01 01:10:59,bin4259,75,False +CTSPillarNetworkA,4260,4260,4260,1981-08-31,426.00000000002836,426.01678,2015-01-01 01:11:00,bin4260,35,False +CTSPillarNetworkA,4261,4261,4261,1981-09-01,426.1000000000284,426.1168,2015-01-01 01:11:01,bin4261,75,False +CTSPillarNetworkA,4262,4262,4262,1981-09-02,426.2000000000284,426.2168,2015-01-01 01:11:02,bin4262,35,False +CTSPillarNetworkA,4263,4263,4263,1981-09-03,426.30000000002843,426.3168,2015-01-01 01:11:03,bin4263,75,False +CTSPillarNetworkA,4264,4264,4264,1981-09-04,426.40000000002846,426.4168,2015-01-01 01:11:04,bin4264,35,False +CTSPillarNetworkA,4265,4265,4265,1981-09-05,426.5000000000285,426.5168,2015-01-01 01:11:05,bin4265,75,False +CTSPillarNetworkA,4266,4266,4266,1981-09-06,426.6000000000285,426.61682,2015-01-01 01:11:06,bin4266,35,False +CTSPillarNetworkA,4267,4267,4267,1981-09-07,426.7000000000285,426.71683,2015-01-01 01:11:07,bin4267,75,False +CTSPillarNetworkA,4268,4268,4268,1981-09-08,426.80000000002855,426.81683,2015-01-01 01:11:08,bin4268,35,False +CTSPillarNetworkA,4269,4269,4269,1981-09-09,426.90000000002857,426.91684,2015-01-01 01:11:09,bin4269,75,False +CTSPillarNetworkA,4270,4270,4270,1981-09-10,427.0000000000286,427.01685,2015-01-01 01:11:10,bin4270,35,False +CTSPillarNetworkA,4271,4271,4271,1981-09-11,427.1000000000286,427.11685,2015-01-01 01:11:11,bin4271,75,False +CTSPillarNetworkA,4272,4272,4272,1981-09-12,427.20000000002864,427.21686,2015-01-01 01:11:12,bin4272,35,False +CTSPillarNetworkA,4273,4273,4273,1981-09-13,427.30000000002866,427.31686,2015-01-01 01:11:13,bin4273,75,False +CTSPillarNetworkA,4274,4274,4274,1981-09-14,427.4000000000287,427.41687,2015-01-01 01:11:14,bin4274,35,False +CTSPillarNetworkA,4275,4275,4275,1981-09-15,427.5000000000287,427.51688,2015-01-01 01:11:15,bin4275,75,False +CTSPillarNetworkA,4276,4276,4276,1981-09-16,427.60000000002873,427.61688,2015-01-01 01:11:16,bin4276,35,False +CTSPillarNetworkA,4277,4277,4277,1981-09-17,427.70000000002875,427.7169,2015-01-01 01:11:17,bin4277,75,False +CTSPillarNetworkA,4278,4278,4278,1981-09-18,427.8000000000288,427.8169,2015-01-01 01:11:18,bin4278,35,False +CTSPillarNetworkA,4279,4279,4279,1981-09-19,427.9000000000288,427.9169,2015-01-01 01:11:19,bin4279,75,False +CTSPillarNetworkA,4280,4280,4280,1981-09-20,428.0000000000288,428.0169,2015-01-01 01:11:20,bin4280,35,False +CTSPillarNetworkA,4281,4281,4281,1981-09-21,428.10000000002884,428.1169,2015-01-01 01:11:21,bin4281,75,False +CTSPillarNetworkA,4282,4282,4282,1981-09-22,428.20000000002887,428.21692,2015-01-01 01:11:22,bin4282,35,False +CTSPillarNetworkA,4283,4283,4283,1981-09-23,428.3000000000289,428.31693,2015-01-01 01:11:23,bin4283,75,False +CTSPillarNetworkA,4284,4284,4284,1981-09-24,428.4000000000289,428.41693,2015-01-01 01:11:24,bin4284,35,False +CTSPillarNetworkA,4285,4285,4285,1981-09-25,428.50000000002893,428.51694,2015-01-01 01:11:25,bin4285,75,False +CTSPillarNetworkA,4286,4286,4286,1981-09-26,428.60000000002896,428.61694,2015-01-01 01:11:26,bin4286,35,False +CTSPillarNetworkA,4287,4287,4287,1981-09-27,428.700000000029,428.71695,2015-01-01 01:11:27,bin4287,75,False +CTSPillarNetworkA,4288,4288,4288,1981-09-28,428.800000000029,428.81696,2015-01-01 01:11:28,bin4288,35,False +CTSPillarNetworkA,4289,4289,4289,1981-09-29,428.900000000029,428.91696,2015-01-01 01:11:29,bin4289,75,False +CTSPillarNetworkA,4290,4290,4290,1981-09-30,429.00000000002905,429.01697,2015-01-01 01:11:30,bin4290,35,False +CTSPillarNetworkA,4291,4291,4291,1981-10-01,429.10000000002907,429.11697,2015-01-01 01:11:31,bin4291,75,False +CTSPillarNetworkA,4292,4292,4292,1981-10-02,429.2000000000291,429.21698,2015-01-01 01:11:32,bin4292,35,False +CTSPillarNetworkA,4293,4293,4293,1981-10-03,429.3000000000291,429.317,2015-01-01 01:11:33,bin4293,75,False +CTSPillarNetworkA,4294,4294,4294,1981-10-04,429.40000000002914,429.417,2015-01-01 01:11:34,bin4294,35,False +CTSPillarNetworkA,4295,4295,4295,1981-10-05,429.50000000002916,429.517,2015-01-01 01:11:35,bin4295,75,False +CTSPillarNetworkA,4296,4296,4296,1981-10-06,429.6000000000292,429.617,2015-01-01 01:11:36,bin4296,35,False +CTSPillarNetworkA,4297,4297,4297,1981-10-07,429.7000000000292,429.717,2015-01-01 01:11:37,bin4297,75,False +CTSPillarNetworkA,4298,4298,4298,1981-10-08,429.80000000002923,429.81702,2015-01-01 01:11:38,bin4298,35,False +CTSPillarNetworkA,4299,4299,4299,1981-10-09,429.90000000002925,429.91702,2015-01-01 01:11:39,bin4299,75,False +CTSPillarNetworkA,4300,4300,4300,1981-10-10,430.0000000000293,430.01703,2015-01-01 01:11:40,bin4300,35,False +CTSPillarNetworkA,4301,4301,4301,1981-10-11,430.1000000000293,430.11703,2015-01-01 01:11:41,bin4301,75,False +CTSPillarNetworkA,4302,4302,4302,1981-10-12,430.2000000000293,430.21704,2015-01-01 01:11:42,bin4302,35,False +CTSPillarNetworkA,4303,4303,4303,1981-10-13,430.30000000002934,430.31705,2015-01-01 01:11:43,bin4303,75,False +CTSPillarNetworkA,4304,4304,4304,1981-10-14,430.40000000002937,430.41705,2015-01-01 01:11:44,bin4304,35,False +CTSPillarNetworkA,4305,4305,4305,1981-10-15,430.5000000000294,430.51706,2015-01-01 01:11:45,bin4305,75,False +CTSPillarNetworkA,4306,4306,4306,1981-10-16,430.6000000000294,430.61707,2015-01-01 01:11:46,bin4306,35,False +CTSPillarNetworkA,4307,4307,4307,1981-10-17,430.70000000002943,430.71707,2015-01-01 01:11:47,bin4307,75,False +CTSPillarNetworkA,4308,4308,4308,1981-10-18,430.80000000002946,430.81708,2015-01-01 01:11:48,bin4308,35,False +CTSPillarNetworkA,4309,4309,4309,1981-10-19,430.9000000000295,430.91708,2015-01-01 01:11:49,bin4309,75,False +CTSPillarNetworkA,4310,4310,4310,1981-10-20,431.0000000000295,431.0171,2015-01-01 01:11:50,bin4310,35,False +CTSPillarNetworkA,4311,4311,4311,1981-10-21,431.1000000000295,431.1171,2015-01-01 01:11:51,bin4311,75,False +CTSPillarNetworkA,4312,4312,4312,1981-10-22,431.20000000002955,431.2171,2015-01-01 01:11:52,bin4312,35,False +CTSPillarNetworkA,4313,4313,4313,1981-10-23,431.30000000002957,431.3171,2015-01-01 01:11:53,bin4313,75,False +CTSPillarNetworkA,4314,4314,4314,1981-10-24,431.4000000000296,431.4171,2015-01-01 01:11:54,bin4314,35,False +CTSPillarNetworkA,4315,4315,4315,1981-10-25,431.5000000000296,431.51712,2015-01-01 01:11:55,bin4315,75,False +CTSPillarNetworkA,4316,4316,4316,1981-10-26,431.60000000002964,431.61713,2015-01-01 01:11:56,bin4316,35,False +CTSPillarNetworkA,4317,4317,4317,1981-10-27,431.70000000002966,431.71713,2015-01-01 01:11:57,bin4317,75,False +CTSPillarNetworkA,4318,4318,4318,1981-10-28,431.8000000000297,431.81714,2015-01-01 01:11:58,bin4318,35,False +CTSPillarNetworkA,4319,4319,4319,1981-10-29,431.9000000000297,431.91714,2015-01-01 01:11:59,bin4319,75,False +CTSPillarNetworkA,4320,4320,4320,1981-10-30,432.00000000002973,432.01715,2015-01-01 01:12:00,bin4320,35,False +CTSPillarNetworkA,4321,4321,4321,1981-10-31,432.10000000002975,432.11716,2015-01-01 01:12:01,bin4321,75,False +CTSPillarNetworkA,4322,4322,4322,1981-11-01,432.2000000000298,432.21716,2015-01-01 01:12:02,bin4322,35,False +CTSPillarNetworkA,4323,4323,4323,1981-11-02,432.3000000000298,432.31717,2015-01-01 01:12:03,bin4323,75,False +CTSPillarNetworkA,4324,4324,4324,1981-11-03,432.4000000000298,432.41718,2015-01-01 01:12:04,bin4324,35,False +CTSPillarNetworkA,4325,4325,4325,1981-11-04,432.50000000002984,432.51718,2015-01-01 01:12:05,bin4325,75,False +CTSPillarNetworkA,4326,4326,4326,1981-11-05,432.60000000002987,432.6172,2015-01-01 01:12:06,bin4326,35,False +CTSPillarNetworkA,4327,4327,4327,1981-11-06,432.7000000000299,432.7172,2015-01-01 01:12:07,bin4327,75,False +CTSPillarNetworkA,4328,4328,4328,1981-11-07,432.8000000000299,432.8172,2015-01-01 01:12:08,bin4328,35,False +CTSPillarNetworkA,4329,4329,4329,1981-11-08,432.90000000002993,432.9172,2015-01-01 01:12:09,bin4329,75,False +CTSPillarNetworkA,4330,4330,4330,1981-11-09,433.00000000002996,433.0172,2015-01-01 01:12:10,bin4330,35,False +CTSPillarNetworkA,4331,4331,4331,1981-11-10,433.10000000003,433.11722,2015-01-01 01:12:11,bin4331,75,False +CTSPillarNetworkA,4332,4332,4332,1981-11-11,433.20000000003,433.21722,2015-01-01 01:12:12,bin4332,35,False +CTSPillarNetworkA,4333,4333,4333,1981-11-12,433.30000000003,433.31723,2015-01-01 01:12:13,bin4333,75,False +CTSPillarNetworkA,4334,4334,4334,1981-11-13,433.40000000003005,433.41724,2015-01-01 01:12:14,bin4334,35,False +CTSPillarNetworkA,4335,4335,4335,1981-11-14,433.50000000003007,433.51724,2015-01-01 01:12:15,bin4335,75,False +CTSPillarNetworkA,4336,4336,4336,1981-11-15,433.6000000000301,433.61725,2015-01-01 01:12:16,bin4336,35,False +CTSPillarNetworkA,4337,4337,4337,1981-11-16,433.7000000000301,433.71725,2015-01-01 01:12:17,bin4337,75,False +CTSPillarNetworkA,4338,4338,4338,1981-11-17,433.80000000003014,433.81726,2015-01-01 01:12:18,bin4338,35,False +CTSPillarNetworkA,4339,4339,4339,1981-11-18,433.90000000003016,433.91727,2015-01-01 01:12:19,bin4339,75,False +CTSPillarNetworkA,4340,4340,4340,1981-11-19,434.0000000000302,434.01727,2015-01-01 01:12:20,bin4340,35,False +CTSPillarNetworkA,4341,4341,4341,1981-11-20,434.1000000000302,434.11728,2015-01-01 01:12:21,bin4341,75,False +CTSPillarNetworkA,4342,4342,4342,1981-11-21,434.20000000003023,434.2173,2015-01-01 01:12:22,bin4342,35,False +CTSPillarNetworkA,4343,4343,4343,1981-11-22,434.30000000003025,434.3173,2015-01-01 01:12:23,bin4343,75,False +CTSPillarNetworkA,4344,4344,4344,1981-11-23,434.4000000000303,434.4173,2015-01-01 01:12:24,bin4344,35,False +CTSPillarNetworkA,4345,4345,4345,1981-11-24,434.5000000000303,434.5173,2015-01-01 01:12:25,bin4345,75,False +CTSPillarNetworkA,4346,4346,4346,1981-11-25,434.6000000000303,434.6173,2015-01-01 01:12:26,bin4346,35,False +CTSPillarNetworkA,4347,4347,4347,1981-11-26,434.70000000003034,434.71732,2015-01-01 01:12:27,bin4347,75,False +CTSPillarNetworkA,4348,4348,4348,1981-11-27,434.80000000003037,434.81732,2015-01-01 01:12:28,bin4348,35,False +CTSPillarNetworkA,4349,4349,4349,1981-11-28,434.9000000000304,434.91733,2015-01-01 01:12:29,bin4349,75,False +CTSPillarNetworkA,4350,4350,4350,1981-11-29,435.0000000000304,435.01733,2015-01-01 01:12:30,bin4350,35,False +CTSPillarNetworkA,4351,4351,4351,1981-11-30,435.10000000003043,435.11734,2015-01-01 01:12:31,bin4351,75,False +CTSPillarNetworkA,4352,4352,4352,1981-12-01,435.20000000003046,435.21735,2015-01-01 01:12:32,bin4352,35,False +CTSPillarNetworkA,4353,4353,4353,1981-12-02,435.3000000000305,435.31735,2015-01-01 01:12:33,bin4353,75,False +CTSPillarNetworkA,4354,4354,4354,1981-12-03,435.4000000000305,435.41736,2015-01-01 01:12:34,bin4354,35,False +CTSPillarNetworkA,4355,4355,4355,1981-12-04,435.5000000000305,435.51736,2015-01-01 01:12:35,bin4355,75,False +CTSPillarNetworkA,4356,4356,4356,1981-12-05,435.60000000003055,435.61737,2015-01-01 01:12:36,bin4356,35,False +CTSPillarNetworkA,4357,4357,4357,1981-12-06,435.70000000003057,435.71738,2015-01-01 01:12:37,bin4357,75,False +CTSPillarNetworkA,4358,4358,4358,1981-12-07,435.8000000000306,435.81738,2015-01-01 01:12:38,bin4358,35,False +CTSPillarNetworkA,4359,4359,4359,1981-12-08,435.9000000000306,435.9174,2015-01-01 01:12:39,bin4359,75,False +CTSPillarNetworkA,4360,4360,4360,1981-12-09,436.00000000003064,436.0174,2015-01-01 01:12:40,bin4360,35,False +CTSPillarNetworkA,4361,4361,4361,1981-12-10,436.10000000003066,436.1174,2015-01-01 01:12:41,bin4361,75,False +CTSPillarNetworkA,4362,4362,4362,1981-12-11,436.2000000000307,436.2174,2015-01-01 01:12:42,bin4362,35,False +CTSPillarNetworkA,4363,4363,4363,1981-12-12,436.3000000000307,436.3174,2015-01-01 01:12:43,bin4363,75,False +CTSPillarNetworkA,4364,4364,4364,1981-12-13,436.40000000003073,436.41742,2015-01-01 01:12:44,bin4364,35,False +CTSPillarNetworkA,4365,4365,4365,1981-12-14,436.50000000003075,436.51743,2015-01-01 01:12:45,bin4365,75,False +CTSPillarNetworkA,4366,4366,4366,1981-12-15,436.6000000000308,436.61743,2015-01-01 01:12:46,bin4366,35,False +CTSPillarNetworkA,4367,4367,4367,1981-12-16,436.7000000000308,436.71744,2015-01-01 01:12:47,bin4367,75,False +CTSPillarNetworkA,4368,4368,4368,1981-12-17,436.8000000000308,436.81744,2015-01-01 01:12:48,bin4368,35,False +CTSPillarNetworkA,4369,4369,4369,1981-12-18,436.90000000003084,436.91745,2015-01-01 01:12:49,bin4369,75,False +CTSPillarNetworkA,4370,4370,4370,1981-12-19,437.00000000003087,437.01746,2015-01-01 01:12:50,bin4370,35,False +CTSPillarNetworkA,4371,4371,4371,1981-12-20,437.1000000000309,437.11746,2015-01-01 01:12:51,bin4371,75,False +CTSPillarNetworkA,4372,4372,4372,1981-12-21,437.2000000000309,437.21747,2015-01-01 01:12:52,bin4372,35,False +CTSPillarNetworkA,4373,4373,4373,1981-12-22,437.30000000003093,437.31747,2015-01-01 01:12:53,bin4373,75,False +CTSPillarNetworkA,4374,4374,4374,1981-12-23,437.40000000003096,437.41748,2015-01-01 01:12:54,bin4374,35,False +CTSPillarNetworkA,4375,4375,4375,1981-12-24,437.500000000031,437.5175,2015-01-01 01:12:55,bin4375,75,False +CTSPillarNetworkA,4376,4376,4376,1981-12-25,437.600000000031,437.6175,2015-01-01 01:12:56,bin4376,35,False +CTSPillarNetworkA,4377,4377,4377,1981-12-26,437.700000000031,437.7175,2015-01-01 01:12:57,bin4377,75,False +CTSPillarNetworkA,4378,4378,4378,1981-12-27,437.80000000003105,437.8175,2015-01-01 01:12:58,bin4378,35,False +CTSPillarNetworkA,4379,4379,4379,1981-12-28,437.90000000003107,437.9175,2015-01-01 01:12:59,bin4379,75,False +CTSPillarNetworkA,4380,4380,4380,1981-12-29,438.0000000000311,438.01752,2015-01-01 01:13:00,bin4380,35,False +CTSPillarNetworkA,4381,4381,4381,1981-12-30,438.1000000000311,438.11752,2015-01-01 01:13:01,bin4381,75,False +CTSPillarNetworkA,4382,4382,4382,1981-12-31,438.20000000003114,438.21753,2015-01-01 01:13:02,bin4382,35,False +CTSPillarNetworkA,4383,4383,4383,1982-01-01,438.30000000003116,438.31754,2015-01-01 01:13:03,bin4383,75,False +CTSPillarNetworkA,4384,4384,4384,1982-01-02,438.4000000000312,438.41754,2015-01-01 01:13:04,bin4384,35,False +CTSPillarNetworkA,4385,4385,4385,1982-01-03,438.5000000000312,438.51755,2015-01-01 01:13:05,bin4385,75,False +CTSPillarNetworkA,4386,4386,4386,1982-01-04,438.60000000003123,438.61755,2015-01-01 01:13:06,bin4386,35,False +CTSPillarNetworkA,4387,4387,4387,1982-01-05,438.70000000003125,438.71756,2015-01-01 01:13:07,bin4387,75,False +CTSPillarNetworkA,4388,4388,4388,1982-01-06,438.8000000000313,438.81757,2015-01-01 01:13:08,bin4388,35,False +CTSPillarNetworkA,4389,4389,4389,1982-01-07,438.9000000000313,438.91757,2015-01-01 01:13:09,bin4389,75,False +CTSPillarNetworkA,4390,4390,4390,1982-01-08,439.0000000000313,439.01758,2015-01-01 01:13:10,bin4390,35,False +CTSPillarNetworkA,4391,4391,4391,1982-01-09,439.10000000003134,439.11758,2015-01-01 01:13:11,bin4391,75,False +CTSPillarNetworkA,4392,4392,4392,1982-01-10,439.20000000003137,439.2176,2015-01-01 01:13:12,bin4392,35,False +CTSPillarNetworkA,4393,4393,4393,1982-01-11,439.3000000000314,439.3176,2015-01-01 01:13:13,bin4393,75,False +CTSPillarNetworkA,4394,4394,4394,1982-01-12,439.4000000000314,439.4176,2015-01-01 01:13:14,bin4394,35,False +CTSPillarNetworkA,4395,4395,4395,1982-01-13,439.50000000003143,439.5176,2015-01-01 01:13:15,bin4395,75,False +CTSPillarNetworkA,4396,4396,4396,1982-01-14,439.60000000003146,439.6176,2015-01-01 01:13:16,bin4396,35,False +CTSPillarNetworkA,4397,4397,4397,1982-01-15,439.7000000000315,439.71762,2015-01-01 01:13:17,bin4397,75,False +CTSPillarNetworkA,4398,4398,4398,1982-01-16,439.8000000000315,439.81763,2015-01-01 01:13:18,bin4398,35,False +CTSPillarNetworkA,4399,4399,4399,1982-01-17,439.9000000000315,439.91763,2015-01-01 01:13:19,bin4399,75,False +CTSPillarNetworkA,4400,4400,4400,1982-01-18,440.00000000003155,440.01764,2015-01-01 01:13:20,bin4400,35,False +CTSPillarNetworkA,4401,4401,4401,1982-01-19,440.10000000003157,440.11765,2015-01-01 01:13:21,bin4401,75,False +CTSPillarNetworkA,4402,4402,4402,1982-01-20,440.2000000000316,440.21765,2015-01-01 01:13:22,bin4402,35,False +CTSPillarNetworkA,4403,4403,4403,1982-01-21,440.3000000000316,440.31766,2015-01-01 01:13:23,bin4403,75,False +CTSPillarNetworkA,4404,4404,4404,1982-01-22,440.40000000003164,440.41766,2015-01-01 01:13:24,bin4404,35,False +CTSPillarNetworkA,4405,4405,4405,1982-01-23,440.50000000003166,440.51767,2015-01-01 01:13:25,bin4405,75,False +CTSPillarNetworkA,4406,4406,4406,1982-01-24,440.6000000000317,440.61768,2015-01-01 01:13:26,bin4406,35,False +CTSPillarNetworkA,4407,4407,4407,1982-01-25,440.7000000000317,440.71768,2015-01-01 01:13:27,bin4407,75,False +CTSPillarNetworkA,4408,4408,4408,1982-01-26,440.80000000003173,440.8177,2015-01-01 01:13:28,bin4408,35,False +CTSPillarNetworkA,4409,4409,4409,1982-01-27,440.90000000003175,440.9177,2015-01-01 01:13:29,bin4409,75,False +CTSPillarNetworkA,4410,4410,4410,1982-01-28,441.0000000000318,441.0177,2015-01-01 01:13:30,bin4410,35,False +CTSPillarNetworkA,4411,4411,4411,1982-01-29,441.1000000000318,441.1177,2015-01-01 01:13:31,bin4411,75,False +CTSPillarNetworkA,4412,4412,4412,1982-01-30,441.2000000000318,441.2177,2015-01-01 01:13:32,bin4412,35,False +CTSPillarNetworkA,4413,4413,4413,1982-01-31,441.30000000003184,441.31772,2015-01-01 01:13:33,bin4413,75,False +CTSPillarNetworkA,4414,4414,4414,1982-02-01,441.40000000003187,441.41772,2015-01-01 01:13:34,bin4414,35,False +CTSPillarNetworkA,4415,4415,4415,1982-02-02,441.5000000000319,441.51773,2015-01-01 01:13:35,bin4415,75,False +CTSPillarNetworkA,4416,4416,4416,1982-02-03,441.6000000000319,441.61774,2015-01-01 01:13:36,bin4416,35,False +CTSPillarNetworkA,4417,4417,4417,1982-02-04,441.70000000003193,441.71774,2015-01-01 01:13:37,bin4417,75,False +CTSPillarNetworkA,4418,4418,4418,1982-02-05,441.80000000003196,441.81775,2015-01-01 01:13:38,bin4418,35,False +CTSPillarNetworkA,4419,4419,4419,1982-02-06,441.900000000032,441.91776,2015-01-01 01:13:39,bin4419,75,False +CTSPillarNetworkA,4420,4420,4420,1982-02-07,442.000000000032,442.01776,2015-01-01 01:13:40,bin4420,35,False +CTSPillarNetworkA,4421,4421,4421,1982-02-08,442.100000000032,442.11777,2015-01-01 01:13:41,bin4421,75,False +CTSPillarNetworkA,4422,4422,4422,1982-02-09,442.20000000003205,442.21777,2015-01-01 01:13:42,bin4422,35,False +CTSPillarNetworkA,4423,4423,4423,1982-02-10,442.30000000003207,442.31778,2015-01-01 01:13:43,bin4423,75,False +CTSPillarNetworkA,4424,4424,4424,1982-02-11,442.4000000000321,442.4178,2015-01-01 01:13:44,bin4424,35,False +CTSPillarNetworkA,4425,4425,4425,1982-02-12,442.5000000000321,442.5178,2015-01-01 01:13:45,bin4425,75,False +CTSPillarNetworkA,4426,4426,4426,1982-02-13,442.60000000003214,442.6178,2015-01-01 01:13:46,bin4426,35,False +CTSPillarNetworkA,4427,4427,4427,1982-02-14,442.70000000003216,442.7178,2015-01-01 01:13:47,bin4427,75,False +CTSPillarNetworkA,4428,4428,4428,1982-02-15,442.8000000000322,442.8178,2015-01-01 01:13:48,bin4428,35,False +CTSPillarNetworkA,4429,4429,4429,1982-02-16,442.9000000000322,442.91782,2015-01-01 01:13:49,bin4429,75,False +CTSPillarNetworkA,4430,4430,4430,1982-02-17,443.00000000003223,443.01782,2015-01-01 01:13:50,bin4430,35,False +CTSPillarNetworkA,4431,4431,4431,1982-02-18,443.10000000003225,443.11783,2015-01-01 01:13:51,bin4431,75,False +CTSPillarNetworkA,4432,4432,4432,1982-02-19,443.2000000000323,443.21783,2015-01-01 01:13:52,bin4432,35,False +CTSPillarNetworkA,4433,4433,4433,1982-02-20,443.3000000000323,443.31784,2015-01-01 01:13:53,bin4433,75,False +CTSPillarNetworkA,4434,4434,4434,1982-02-21,443.4000000000323,443.41785,2015-01-01 01:13:54,bin4434,35,False +CTSPillarNetworkA,4435,4435,4435,1982-02-22,443.50000000003234,443.51785,2015-01-01 01:13:55,bin4435,75,False +CTSPillarNetworkA,4436,4436,4436,1982-02-23,443.60000000003237,443.61786,2015-01-01 01:13:56,bin4436,35,False +CTSPillarNetworkA,4437,4437,4437,1982-02-24,443.7000000000324,443.71786,2015-01-01 01:13:57,bin4437,75,False +CTSPillarNetworkA,4438,4438,4438,1982-02-25,443.8000000000324,443.81787,2015-01-01 01:13:58,bin4438,35,False +CTSPillarNetworkA,4439,4439,4439,1982-02-26,443.90000000003243,443.91788,2015-01-01 01:13:59,bin4439,75,False +CTSPillarNetworkA,4440,4440,4440,1982-02-27,444.00000000003246,444.01788,2015-01-01 01:14:00,bin4440,35,False +CTSPillarNetworkA,4441,4441,4441,1982-02-28,444.1000000000325,444.1179,2015-01-01 01:14:01,bin4441,75,False +CTSPillarNetworkA,4442,4442,4442,1982-03-01,444.2000000000325,444.2179,2015-01-01 01:14:02,bin4442,35,False +CTSPillarNetworkA,4443,4443,4443,1982-03-02,444.3000000000325,444.3179,2015-01-01 01:14:03,bin4443,75,False +CTSPillarNetworkA,4444,4444,4444,1982-03-03,444.40000000003255,444.4179,2015-01-01 01:14:04,bin4444,35,False +CTSPillarNetworkA,4445,4445,4445,1982-03-04,444.50000000003257,444.5179,2015-01-01 01:14:05,bin4445,75,False +CTSPillarNetworkA,4446,4446,4446,1982-03-05,444.6000000000326,444.61792,2015-01-01 01:14:06,bin4446,35,False +CTSPillarNetworkA,4447,4447,4447,1982-03-06,444.7000000000326,444.71793,2015-01-01 01:14:07,bin4447,75,False +CTSPillarNetworkA,4448,4448,4448,1982-03-07,444.80000000003264,444.81793,2015-01-01 01:14:08,bin4448,35,False +CTSPillarNetworkA,4449,4449,4449,1982-03-08,444.90000000003266,444.91794,2015-01-01 01:14:09,bin4449,75,False +CTSPillarNetworkA,4450,4450,4450,1982-03-09,445.0000000000327,445.01794,2015-01-01 01:14:10,bin4450,35,False +CTSPillarNetworkA,4451,4451,4451,1982-03-10,445.1000000000327,445.11795,2015-01-01 01:14:11,bin4451,75,False +CTSPillarNetworkA,4452,4452,4452,1982-03-11,445.20000000003273,445.21796,2015-01-01 01:14:12,bin4452,35,False +CTSPillarNetworkA,4453,4453,4453,1982-03-12,445.30000000003275,445.31796,2015-01-01 01:14:13,bin4453,75,False +CTSPillarNetworkA,4454,4454,4454,1982-03-13,445.4000000000328,445.41797,2015-01-01 01:14:14,bin4454,35,False +CTSPillarNetworkA,4455,4455,4455,1982-03-14,445.5000000000328,445.51797,2015-01-01 01:14:15,bin4455,75,False +CTSPillarNetworkA,4456,4456,4456,1982-03-15,445.6000000000328,445.61798,2015-01-01 01:14:16,bin4456,35,False +CTSPillarNetworkA,4457,4457,4457,1982-03-16,445.70000000003284,445.718,2015-01-01 01:14:17,bin4457,75,False +CTSPillarNetworkA,4458,4458,4458,1982-03-17,445.80000000003287,445.818,2015-01-01 01:14:18,bin4458,35,False +CTSPillarNetworkA,4459,4459,4459,1982-03-18,445.9000000000329,445.918,2015-01-01 01:14:19,bin4459,75,False +CTSPillarNetworkA,4460,4460,4460,1982-03-19,446.0000000000329,446.018,2015-01-01 01:14:20,bin4460,35,False +CTSPillarNetworkA,4461,4461,4461,1982-03-20,446.10000000003294,446.118,2015-01-01 01:14:21,bin4461,75,False +CTSPillarNetworkA,4462,4462,4462,1982-03-21,446.20000000003296,446.21802,2015-01-01 01:14:22,bin4462,35,False +CTSPillarNetworkA,4463,4463,4463,1982-03-22,446.300000000033,446.31802,2015-01-01 01:14:23,bin4463,75,False +CTSPillarNetworkA,4464,4464,4464,1982-03-23,446.400000000033,446.41803,2015-01-01 01:14:24,bin4464,35,False +CTSPillarNetworkA,4465,4465,4465,1982-03-24,446.500000000033,446.51804,2015-01-01 01:14:25,bin4465,75,False +CTSPillarNetworkA,4466,4466,4466,1982-03-25,446.60000000003305,446.61804,2015-01-01 01:14:26,bin4466,35,False +CTSPillarNetworkA,4467,4467,4467,1982-03-26,446.70000000003307,446.71805,2015-01-01 01:14:27,bin4467,75,False +CTSPillarNetworkA,4468,4468,4468,1982-03-27,446.8000000000331,446.81805,2015-01-01 01:14:28,bin4468,35,False +CTSPillarNetworkA,4469,4469,4469,1982-03-28,446.9000000000331,446.91806,2015-01-01 01:14:29,bin4469,75,False +CTSPillarNetworkA,4470,4470,4470,1982-03-29,447.00000000003314,447.01807,2015-01-01 01:14:30,bin4470,35,False +CTSPillarNetworkA,4471,4471,4471,1982-03-30,447.10000000003316,447.11807,2015-01-01 01:14:31,bin4471,75,False +CTSPillarNetworkA,4472,4472,4472,1982-03-31,447.2000000000332,447.21808,2015-01-01 01:14:32,bin4472,35,False +CTSPillarNetworkA,4473,4473,4473,1982-04-01,447.3000000000332,447.31808,2015-01-01 01:14:33,bin4473,75,False +CTSPillarNetworkA,4474,4474,4474,1982-04-02,447.40000000003323,447.4181,2015-01-01 01:14:34,bin4474,35,False +CTSPillarNetworkA,4475,4475,4475,1982-04-03,447.50000000003325,447.5181,2015-01-01 01:14:35,bin4475,75,False +CTSPillarNetworkA,4476,4476,4476,1982-04-04,447.6000000000333,447.6181,2015-01-01 01:14:36,bin4476,35,False +CTSPillarNetworkA,4477,4477,4477,1982-04-05,447.7000000000333,447.7181,2015-01-01 01:14:37,bin4477,75,False +CTSPillarNetworkA,4478,4478,4478,1982-04-06,447.8000000000333,447.8181,2015-01-01 01:14:38,bin4478,35,False +CTSPillarNetworkA,4479,4479,4479,1982-04-07,447.90000000003334,447.91812,2015-01-01 01:14:39,bin4479,75,False +CTSPillarNetworkA,4480,4480,4480,1982-04-08,448.00000000003337,448.01813,2015-01-01 01:14:40,bin4480,35,False +CTSPillarNetworkA,4481,4481,4481,1982-04-09,448.1000000000334,448.11813,2015-01-01 01:14:41,bin4481,75,False +CTSPillarNetworkA,4482,4482,4482,1982-04-10,448.2000000000334,448.21814,2015-01-01 01:14:42,bin4482,35,False +CTSPillarNetworkA,4483,4483,4483,1982-04-11,448.30000000003344,448.31815,2015-01-01 01:14:43,bin4483,75,False +CTSPillarNetworkA,4484,4484,4484,1982-04-12,448.40000000003346,448.41815,2015-01-01 01:14:44,bin4484,35,False +CTSPillarNetworkA,4485,4485,4485,1982-04-13,448.5000000000335,448.51816,2015-01-01 01:14:45,bin4485,75,False +CTSPillarNetworkA,4486,4486,4486,1982-04-14,448.6000000000335,448.61816,2015-01-01 01:14:46,bin4486,35,False +CTSPillarNetworkA,4487,4487,4487,1982-04-15,448.7000000000335,448.71817,2015-01-01 01:14:47,bin4487,75,False +CTSPillarNetworkA,4488,4488,4488,1982-04-16,448.80000000003355,448.81818,2015-01-01 01:14:48,bin4488,35,False +CTSPillarNetworkA,4489,4489,4489,1982-04-17,448.9000000000336,448.91818,2015-01-01 01:14:49,bin4489,75,False +CTSPillarNetworkA,4490,4490,4490,1982-04-18,449.0000000000336,449.0182,2015-01-01 01:14:50,bin4490,35,False +CTSPillarNetworkA,4491,4491,4491,1982-04-19,449.1000000000336,449.1182,2015-01-01 01:14:51,bin4491,75,False +CTSPillarNetworkA,4492,4492,4492,1982-04-20,449.20000000003364,449.2182,2015-01-01 01:14:52,bin4492,35,False +CTSPillarNetworkA,4493,4493,4493,1982-04-21,449.30000000003366,449.3182,2015-01-01 01:14:53,bin4493,75,False +CTSPillarNetworkA,4494,4494,4494,1982-04-22,449.4000000000337,449.4182,2015-01-01 01:14:54,bin4494,35,False +CTSPillarNetworkA,4495,4495,4495,1982-04-23,449.5000000000337,449.51822,2015-01-01 01:14:55,bin4495,75,False +CTSPillarNetworkA,4496,4496,4496,1982-04-24,449.60000000003373,449.61823,2015-01-01 01:14:56,bin4496,35,False +CTSPillarNetworkA,4497,4497,4497,1982-04-25,449.70000000003375,449.71823,2015-01-01 01:14:57,bin4497,75,False +CTSPillarNetworkA,4498,4498,4498,1982-04-26,449.8000000000338,449.81824,2015-01-01 01:14:58,bin4498,35,False +CTSPillarNetworkA,4499,4499,4499,1982-04-27,449.9000000000338,449.91824,2015-01-01 01:14:59,bin4499,75,False +CTSPillarNetworkA,4500,4500,4500,1982-04-28,450.0000000000338,450.01825,2015-01-01 01:15:00,bin4500,35,False +CTSPillarNetworkA,4501,4501,4501,1982-04-29,450.10000000003384,450.11826,2015-01-01 01:15:01,bin4501,75,False +CTSPillarNetworkA,4502,4502,4502,1982-04-30,450.20000000003387,450.21826,2015-01-01 01:15:02,bin4502,35,False +CTSPillarNetworkA,4503,4503,4503,1982-05-01,450.3000000000339,450.31827,2015-01-01 01:15:03,bin4503,75,False +CTSPillarNetworkA,4504,4504,4504,1982-05-02,450.4000000000339,450.41827,2015-01-01 01:15:04,bin4504,35,False +CTSPillarNetworkA,4505,4505,4505,1982-05-03,450.50000000003394,450.51828,2015-01-01 01:15:05,bin4505,75,False +CTSPillarNetworkA,4506,4506,4506,1982-05-04,450.60000000003396,450.6183,2015-01-01 01:15:06,bin4506,35,False +CTSPillarNetworkA,4507,4507,4507,1982-05-05,450.700000000034,450.7183,2015-01-01 01:15:07,bin4507,75,False +CTSPillarNetworkA,4508,4508,4508,1982-05-06,450.800000000034,450.8183,2015-01-01 01:15:08,bin4508,35,False +CTSPillarNetworkA,4509,4509,4509,1982-05-07,450.900000000034,450.9183,2015-01-01 01:15:09,bin4509,75,False +CTSPillarNetworkA,4510,4510,4510,1982-05-08,451.00000000003405,451.0183,2015-01-01 01:15:10,bin4510,35,False +CTSPillarNetworkA,4511,4511,4511,1982-05-09,451.1000000000341,451.11832,2015-01-01 01:15:11,bin4511,75,False +CTSPillarNetworkA,4512,4512,4512,1982-05-10,451.2000000000341,451.21832,2015-01-01 01:15:12,bin4512,35,False +CTSPillarNetworkA,4513,4513,4513,1982-05-11,451.3000000000341,451.31833,2015-01-01 01:15:13,bin4513,75,False +CTSPillarNetworkA,4514,4514,4514,1982-05-12,451.40000000003414,451.41833,2015-01-01 01:15:14,bin4514,35,False +CTSPillarNetworkA,4515,4515,4515,1982-05-13,451.50000000003416,451.51834,2015-01-01 01:15:15,bin4515,75,False +CTSPillarNetworkA,4516,4516,4516,1982-05-14,451.6000000000342,451.61835,2015-01-01 01:15:16,bin4516,35,False +CTSPillarNetworkA,4517,4517,4517,1982-05-15,451.7000000000342,451.71835,2015-01-01 01:15:17,bin4517,75,False +CTSPillarNetworkA,4518,4518,4518,1982-05-16,451.80000000003423,451.81836,2015-01-01 01:15:18,bin4518,35,False +CTSPillarNetworkA,4519,4519,4519,1982-05-17,451.90000000003425,451.91837,2015-01-01 01:15:19,bin4519,75,False +CTSPillarNetworkA,4520,4520,4520,1982-05-18,452.0000000000343,452.01837,2015-01-01 01:15:20,bin4520,35,False +CTSPillarNetworkA,4521,4521,4521,1982-05-19,452.1000000000343,452.11838,2015-01-01 01:15:21,bin4521,75,False +CTSPillarNetworkA,4522,4522,4522,1982-05-20,452.2000000000343,452.21838,2015-01-01 01:15:22,bin4522,35,False +CTSPillarNetworkA,4523,4523,4523,1982-05-21,452.30000000003434,452.3184,2015-01-01 01:15:23,bin4523,75,False +CTSPillarNetworkA,4524,4524,4524,1982-05-22,452.40000000003437,452.4184,2015-01-01 01:15:24,bin4524,35,False +CTSPillarNetworkA,4525,4525,4525,1982-05-23,452.5000000000344,452.5184,2015-01-01 01:15:25,bin4525,75,False +CTSPillarNetworkA,4526,4526,4526,1982-05-24,452.6000000000344,452.6184,2015-01-01 01:15:26,bin4526,35,False +CTSPillarNetworkA,4527,4527,4527,1982-05-25,452.70000000003444,452.7184,2015-01-01 01:15:27,bin4527,75,False +CTSPillarNetworkA,4528,4528,4528,1982-05-26,452.80000000003446,452.81842,2015-01-01 01:15:28,bin4528,35,False +CTSPillarNetworkA,4529,4529,4529,1982-05-27,452.9000000000345,452.91843,2015-01-01 01:15:29,bin4529,75,False +CTSPillarNetworkA,4530,4530,4530,1982-05-28,453.0000000000345,453.01843,2015-01-01 01:15:30,bin4530,35,False +CTSPillarNetworkA,4531,4531,4531,1982-05-29,453.1000000000345,453.11844,2015-01-01 01:15:31,bin4531,75,False +CTSPillarNetworkA,4532,4532,4532,1982-05-30,453.20000000003455,453.21844,2015-01-01 01:15:32,bin4532,35,False +CTSPillarNetworkA,4533,4533,4533,1982-05-31,453.3000000000346,453.31845,2015-01-01 01:15:33,bin4533,75,False +CTSPillarNetworkA,4534,4534,4534,1982-06-01,453.4000000000346,453.41846,2015-01-01 01:15:34,bin4534,35,False +CTSPillarNetworkA,4535,4535,4535,1982-06-02,453.5000000000346,453.51846,2015-01-01 01:15:35,bin4535,75,False +CTSPillarNetworkA,4536,4536,4536,1982-06-03,453.60000000003464,453.61847,2015-01-01 01:15:36,bin4536,35,False +CTSPillarNetworkA,4537,4537,4537,1982-06-04,453.70000000003466,453.71848,2015-01-01 01:15:37,bin4537,75,False +CTSPillarNetworkA,4538,4538,4538,1982-06-05,453.8000000000347,453.81848,2015-01-01 01:15:38,bin4538,35,False +CTSPillarNetworkA,4539,4539,4539,1982-06-06,453.9000000000347,453.9185,2015-01-01 01:15:39,bin4539,75,False +CTSPillarNetworkA,4540,4540,4540,1982-06-07,454.00000000003473,454.0185,2015-01-01 01:15:40,bin4540,35,False +CTSPillarNetworkA,4541,4541,4541,1982-06-08,454.10000000003475,454.1185,2015-01-01 01:15:41,bin4541,75,False +CTSPillarNetworkA,4542,4542,4542,1982-06-09,454.2000000000348,454.2185,2015-01-01 01:15:42,bin4542,35,False +CTSPillarNetworkA,4543,4543,4543,1982-06-10,454.3000000000348,454.3185,2015-01-01 01:15:43,bin4543,75,False +CTSPillarNetworkA,4544,4544,4544,1982-06-11,454.4000000000348,454.41852,2015-01-01 01:15:44,bin4544,35,False +CTSPillarNetworkA,4545,4545,4545,1982-06-12,454.50000000003485,454.51852,2015-01-01 01:15:45,bin4545,75,False +CTSPillarNetworkA,4546,4546,4546,1982-06-13,454.60000000003487,454.61853,2015-01-01 01:15:46,bin4546,35,False +CTSPillarNetworkA,4547,4547,4547,1982-06-14,454.7000000000349,454.71854,2015-01-01 01:15:47,bin4547,75,False +CTSPillarNetworkA,4548,4548,4548,1982-06-15,454.8000000000349,454.81854,2015-01-01 01:15:48,bin4548,35,False +CTSPillarNetworkA,4549,4549,4549,1982-06-16,454.90000000003494,454.91855,2015-01-01 01:15:49,bin4549,75,False +CTSPillarNetworkA,4550,4550,4550,1982-06-17,455.00000000003496,455.01855,2015-01-01 01:15:50,bin4550,35,False +CTSPillarNetworkA,4551,4551,4551,1982-06-18,455.100000000035,455.11856,2015-01-01 01:15:51,bin4551,75,False +CTSPillarNetworkA,4552,4552,4552,1982-06-19,455.200000000035,455.21857,2015-01-01 01:15:52,bin4552,35,False +CTSPillarNetworkA,4553,4553,4553,1982-06-20,455.300000000035,455.31857,2015-01-01 01:15:53,bin4553,75,False +CTSPillarNetworkA,4554,4554,4554,1982-06-21,455.40000000003505,455.41858,2015-01-01 01:15:54,bin4554,35,False +CTSPillarNetworkA,4555,4555,4555,1982-06-22,455.5000000000351,455.5186,2015-01-01 01:15:55,bin4555,75,False +CTSPillarNetworkA,4556,4556,4556,1982-06-23,455.6000000000351,455.6186,2015-01-01 01:15:56,bin4556,35,False +CTSPillarNetworkA,4557,4557,4557,1982-06-24,455.7000000000351,455.7186,2015-01-01 01:15:57,bin4557,75,False +CTSPillarNetworkA,4558,4558,4558,1982-06-25,455.80000000003514,455.8186,2015-01-01 01:15:58,bin4558,35,False +CTSPillarNetworkA,4559,4559,4559,1982-06-26,455.90000000003516,455.9186,2015-01-01 01:15:59,bin4559,75,False +CTSPillarNetworkA,4560,4560,4560,1982-06-27,456.0000000000352,456.01862,2015-01-01 01:16:00,bin4560,35,False +CTSPillarNetworkA,4561,4561,4561,1982-06-28,456.1000000000352,456.11862,2015-01-01 01:16:01,bin4561,75,False +CTSPillarNetworkA,4562,4562,4562,1982-06-29,456.20000000003523,456.21863,2015-01-01 01:16:02,bin4562,35,False +CTSPillarNetworkA,4563,4563,4563,1982-06-30,456.30000000003525,456.31863,2015-01-01 01:16:03,bin4563,75,False +CTSPillarNetworkA,4564,4564,4564,1982-07-01,456.4000000000353,456.41864,2015-01-01 01:16:04,bin4564,35,False +CTSPillarNetworkA,4565,4565,4565,1982-07-02,456.5000000000353,456.51865,2015-01-01 01:16:05,bin4565,75,False +CTSPillarNetworkA,4566,4566,4566,1982-07-03,456.6000000000353,456.61865,2015-01-01 01:16:06,bin4566,35,False +CTSPillarNetworkA,4567,4567,4567,1982-07-04,456.70000000003535,456.71866,2015-01-01 01:16:07,bin4567,75,False +CTSPillarNetworkA,4568,4568,4568,1982-07-05,456.80000000003537,456.81866,2015-01-01 01:16:08,bin4568,35,False +CTSPillarNetworkA,4569,4569,4569,1982-07-06,456.9000000000354,456.91867,2015-01-01 01:16:09,bin4569,75,False +CTSPillarNetworkA,4570,4570,4570,1982-07-07,457.0000000000354,457.01868,2015-01-01 01:16:10,bin4570,35,False +CTSPillarNetworkA,4571,4571,4571,1982-07-08,457.10000000003544,457.11868,2015-01-01 01:16:11,bin4571,75,False +CTSPillarNetworkA,4572,4572,4572,1982-07-09,457.20000000003546,457.2187,2015-01-01 01:16:12,bin4572,35,False +CTSPillarNetworkA,4573,4573,4573,1982-07-10,457.3000000000355,457.3187,2015-01-01 01:16:13,bin4573,75,False +CTSPillarNetworkA,4574,4574,4574,1982-07-11,457.4000000000355,457.4187,2015-01-01 01:16:14,bin4574,35,False +CTSPillarNetworkA,4575,4575,4575,1982-07-12,457.5000000000355,457.5187,2015-01-01 01:16:15,bin4575,75,False +CTSPillarNetworkA,4576,4576,4576,1982-07-13,457.60000000003555,457.6187,2015-01-01 01:16:16,bin4576,35,False +CTSPillarNetworkA,4577,4577,4577,1982-07-14,457.7000000000356,457.71872,2015-01-01 01:16:17,bin4577,75,False +CTSPillarNetworkA,4578,4578,4578,1982-07-15,457.8000000000356,457.81873,2015-01-01 01:16:18,bin4578,35,False +CTSPillarNetworkA,4579,4579,4579,1982-07-16,457.9000000000356,457.91873,2015-01-01 01:16:19,bin4579,75,False +CTSPillarNetworkA,4580,4580,4580,1982-07-17,458.00000000003564,458.01874,2015-01-01 01:16:20,bin4580,35,False +CTSPillarNetworkA,4581,4581,4581,1982-07-18,458.10000000003566,458.11874,2015-01-01 01:16:21,bin4581,75,False +CTSPillarNetworkA,4582,4582,4582,1982-07-19,458.2000000000357,458.21875,2015-01-01 01:16:22,bin4582,35,False +CTSPillarNetworkA,4583,4583,4583,1982-07-20,458.3000000000357,458.31876,2015-01-01 01:16:23,bin4583,75,False +CTSPillarNetworkA,4584,4584,4584,1982-07-21,458.40000000003573,458.41876,2015-01-01 01:16:24,bin4584,35,False +CTSPillarNetworkA,4585,4585,4585,1982-07-22,458.50000000003575,458.51877,2015-01-01 01:16:25,bin4585,75,False +CTSPillarNetworkA,4586,4586,4586,1982-07-23,458.6000000000358,458.61877,2015-01-01 01:16:26,bin4586,35,False +CTSPillarNetworkA,4587,4587,4587,1982-07-24,458.7000000000358,458.71878,2015-01-01 01:16:27,bin4587,75,False +CTSPillarNetworkA,4588,4588,4588,1982-07-25,458.8000000000358,458.8188,2015-01-01 01:16:28,bin4588,35,False +CTSPillarNetworkA,4589,4589,4589,1982-07-26,458.90000000003585,458.9188,2015-01-01 01:16:29,bin4589,75,False +CTSPillarNetworkA,4590,4590,4590,1982-07-27,459.00000000003587,459.0188,2015-01-01 01:16:30,bin4590,35,False +CTSPillarNetworkA,4591,4591,4591,1982-07-28,459.1000000000359,459.1188,2015-01-01 01:16:31,bin4591,75,False +CTSPillarNetworkA,4592,4592,4592,1982-07-29,459.2000000000359,459.2188,2015-01-01 01:16:32,bin4592,35,False +CTSPillarNetworkA,4593,4593,4593,1982-07-30,459.30000000003594,459.31882,2015-01-01 01:16:33,bin4593,75,False +CTSPillarNetworkA,4594,4594,4594,1982-07-31,459.40000000003596,459.41882,2015-01-01 01:16:34,bin4594,35,False +CTSPillarNetworkA,4595,4595,4595,1982-08-01,459.500000000036,459.51883,2015-01-01 01:16:35,bin4595,75,False +CTSPillarNetworkA,4596,4596,4596,1982-08-02,459.600000000036,459.61884,2015-01-01 01:16:36,bin4596,35,False +CTSPillarNetworkA,4597,4597,4597,1982-08-03,459.700000000036,459.71884,2015-01-01 01:16:37,bin4597,75,False +CTSPillarNetworkA,4598,4598,4598,1982-08-04,459.80000000003605,459.81885,2015-01-01 01:16:38,bin4598,35,False +CTSPillarNetworkA,4599,4599,4599,1982-08-05,459.9000000000361,459.91885,2015-01-01 01:16:39,bin4599,75,False +CTSPillarNetworkA,4600,4600,4600,1982-08-06,460.0000000000361,460.01886,2015-01-01 01:16:40,bin4600,35,False +CTSPillarNetworkA,4601,4601,4601,1982-08-07,460.1000000000361,460.11887,2015-01-01 01:16:41,bin4601,75,False +CTSPillarNetworkA,4602,4602,4602,1982-08-08,460.20000000003614,460.21887,2015-01-01 01:16:42,bin4602,35,False +CTSPillarNetworkA,4603,4603,4603,1982-08-09,460.30000000003616,460.31888,2015-01-01 01:16:43,bin4603,75,False +CTSPillarNetworkA,4604,4604,4604,1982-08-10,460.4000000000362,460.41888,2015-01-01 01:16:44,bin4604,35,False +CTSPillarNetworkA,4605,4605,4605,1982-08-11,460.5000000000362,460.5189,2015-01-01 01:16:45,bin4605,75,False +CTSPillarNetworkA,4606,4606,4606,1982-08-12,460.60000000003623,460.6189,2015-01-01 01:16:46,bin4606,35,False +CTSPillarNetworkA,4607,4607,4607,1982-08-13,460.70000000003625,460.7189,2015-01-01 01:16:47,bin4607,75,False +CTSPillarNetworkA,4608,4608,4608,1982-08-14,460.8000000000363,460.8189,2015-01-01 01:16:48,bin4608,35,False +CTSPillarNetworkA,4609,4609,4609,1982-08-15,460.9000000000363,460.9189,2015-01-01 01:16:49,bin4609,75,False +CTSPillarNetworkA,4610,4610,4610,1982-08-16,461.0000000000363,461.01892,2015-01-01 01:16:50,bin4610,35,False +CTSPillarNetworkA,4611,4611,4611,1982-08-17,461.10000000003635,461.11893,2015-01-01 01:16:51,bin4611,75,False +CTSPillarNetworkA,4612,4612,4612,1982-08-18,461.20000000003637,461.21893,2015-01-01 01:16:52,bin4612,35,False +CTSPillarNetworkA,4613,4613,4613,1982-08-19,461.3000000000364,461.31894,2015-01-01 01:16:53,bin4613,75,False +CTSPillarNetworkA,4614,4614,4614,1982-08-20,461.4000000000364,461.41895,2015-01-01 01:16:54,bin4614,35,False +CTSPillarNetworkA,4615,4615,4615,1982-08-21,461.50000000003644,461.51895,2015-01-01 01:16:55,bin4615,75,False +CTSPillarNetworkA,4616,4616,4616,1982-08-22,461.60000000003646,461.61896,2015-01-01 01:16:56,bin4616,35,False +CTSPillarNetworkA,4617,4617,4617,1982-08-23,461.7000000000365,461.71896,2015-01-01 01:16:57,bin4617,75,False +CTSPillarNetworkA,4618,4618,4618,1982-08-24,461.8000000000365,461.81897,2015-01-01 01:16:58,bin4618,35,False +CTSPillarNetworkA,4619,4619,4619,1982-08-25,461.9000000000365,461.91898,2015-01-01 01:16:59,bin4619,75,False +CTSPillarNetworkA,4620,4620,4620,1982-08-26,462.00000000003655,462.01898,2015-01-01 01:17:00,bin4620,35,False +CTSPillarNetworkA,4621,4621,4621,1982-08-27,462.1000000000366,462.119,2015-01-01 01:17:01,bin4621,75,False +CTSPillarNetworkA,4622,4622,4622,1982-08-28,462.2000000000366,462.219,2015-01-01 01:17:02,bin4622,35,False +CTSPillarNetworkA,4623,4623,4623,1982-08-29,462.3000000000366,462.319,2015-01-01 01:17:03,bin4623,75,False +CTSPillarNetworkA,4624,4624,4624,1982-08-30,462.40000000003664,462.419,2015-01-01 01:17:04,bin4624,35,False +CTSPillarNetworkA,4625,4625,4625,1982-08-31,462.50000000003666,462.519,2015-01-01 01:17:05,bin4625,75,False +CTSPillarNetworkA,4626,4626,4626,1982-09-01,462.6000000000367,462.61902,2015-01-01 01:17:06,bin4626,35,False +CTSPillarNetworkA,4627,4627,4627,1982-09-02,462.7000000000367,462.71902,2015-01-01 01:17:07,bin4627,75,False +CTSPillarNetworkA,4628,4628,4628,1982-09-03,462.80000000003673,462.81903,2015-01-01 01:17:08,bin4628,35,False +CTSPillarNetworkA,4629,4629,4629,1982-09-04,462.90000000003675,462.91904,2015-01-01 01:17:09,bin4629,75,False +CTSPillarNetworkA,4630,4630,4630,1982-09-05,463.0000000000368,463.01904,2015-01-01 01:17:10,bin4630,35,False +CTSPillarNetworkA,4631,4631,4631,1982-09-06,463.1000000000368,463.11905,2015-01-01 01:17:11,bin4631,75,False +CTSPillarNetworkA,4632,4632,4632,1982-09-07,463.2000000000368,463.21906,2015-01-01 01:17:12,bin4632,35,False +CTSPillarNetworkA,4633,4633,4633,1982-09-08,463.30000000003685,463.31906,2015-01-01 01:17:13,bin4633,75,False +CTSPillarNetworkA,4634,4634,4634,1982-09-09,463.40000000003687,463.41907,2015-01-01 01:17:14,bin4634,35,False +CTSPillarNetworkA,4635,4635,4635,1982-09-10,463.5000000000369,463.51907,2015-01-01 01:17:15,bin4635,75,False +CTSPillarNetworkA,4636,4636,4636,1982-09-11,463.6000000000369,463.61908,2015-01-01 01:17:16,bin4636,35,False +CTSPillarNetworkA,4637,4637,4637,1982-09-12,463.70000000003694,463.7191,2015-01-01 01:17:17,bin4637,75,False +CTSPillarNetworkA,4638,4638,4638,1982-09-13,463.80000000003696,463.8191,2015-01-01 01:17:18,bin4638,35,False +CTSPillarNetworkA,4639,4639,4639,1982-09-14,463.900000000037,463.9191,2015-01-01 01:17:19,bin4639,75,False +CTSPillarNetworkA,4640,4640,4640,1982-09-15,464.000000000037,464.0191,2015-01-01 01:17:20,bin4640,35,False +CTSPillarNetworkA,4641,4641,4641,1982-09-16,464.100000000037,464.1191,2015-01-01 01:17:21,bin4641,75,False +CTSPillarNetworkA,4642,4642,4642,1982-09-17,464.20000000003705,464.21912,2015-01-01 01:17:22,bin4642,35,False +CTSPillarNetworkA,4643,4643,4643,1982-09-18,464.3000000000371,464.31912,2015-01-01 01:17:23,bin4643,75,False +CTSPillarNetworkA,4644,4644,4644,1982-09-19,464.4000000000371,464.41913,2015-01-01 01:17:24,bin4644,35,False +CTSPillarNetworkA,4645,4645,4645,1982-09-20,464.5000000000371,464.51913,2015-01-01 01:17:25,bin4645,75,False +CTSPillarNetworkA,4646,4646,4646,1982-09-21,464.60000000003714,464.61914,2015-01-01 01:17:26,bin4646,35,False +CTSPillarNetworkA,4647,4647,4647,1982-09-22,464.70000000003716,464.71915,2015-01-01 01:17:27,bin4647,75,False +CTSPillarNetworkA,4648,4648,4648,1982-09-23,464.8000000000372,464.81915,2015-01-01 01:17:28,bin4648,35,False +CTSPillarNetworkA,4649,4649,4649,1982-09-24,464.9000000000372,464.91916,2015-01-01 01:17:29,bin4649,75,False +CTSPillarNetworkA,4650,4650,4650,1982-09-25,465.00000000003723,465.01917,2015-01-01 01:17:30,bin4650,35,False +CTSPillarNetworkA,4651,4651,4651,1982-09-26,465.10000000003726,465.11917,2015-01-01 01:17:31,bin4651,75,False +CTSPillarNetworkA,4652,4652,4652,1982-09-27,465.2000000000373,465.21918,2015-01-01 01:17:32,bin4652,35,False +CTSPillarNetworkA,4653,4653,4653,1982-09-28,465.3000000000373,465.31918,2015-01-01 01:17:33,bin4653,75,False +CTSPillarNetworkA,4654,4654,4654,1982-09-29,465.4000000000373,465.4192,2015-01-01 01:17:34,bin4654,35,False +CTSPillarNetworkA,4655,4655,4655,1982-09-30,465.50000000003735,465.5192,2015-01-01 01:17:35,bin4655,75,False +CTSPillarNetworkA,4656,4656,4656,1982-10-01,465.60000000003737,465.6192,2015-01-01 01:17:36,bin4656,35,False +CTSPillarNetworkA,4657,4657,4657,1982-10-02,465.7000000000374,465.7192,2015-01-01 01:17:37,bin4657,75,False +CTSPillarNetworkA,4658,4658,4658,1982-10-03,465.8000000000374,465.8192,2015-01-01 01:17:38,bin4658,35,False +CTSPillarNetworkA,4659,4659,4659,1982-10-04,465.90000000003744,465.91922,2015-01-01 01:17:39,bin4659,75,False +CTSPillarNetworkA,4660,4660,4660,1982-10-05,466.00000000003746,466.01923,2015-01-01 01:17:40,bin4660,35,False +CTSPillarNetworkA,4661,4661,4661,1982-10-06,466.1000000000375,466.11923,2015-01-01 01:17:41,bin4661,75,False +CTSPillarNetworkA,4662,4662,4662,1982-10-07,466.2000000000375,466.21924,2015-01-01 01:17:42,bin4662,35,False +CTSPillarNetworkA,4663,4663,4663,1982-10-08,466.3000000000375,466.31924,2015-01-01 01:17:43,bin4663,75,False +CTSPillarNetworkA,4664,4664,4664,1982-10-09,466.40000000003755,466.41925,2015-01-01 01:17:44,bin4664,35,False +CTSPillarNetworkA,4665,4665,4665,1982-10-10,466.5000000000376,466.51926,2015-01-01 01:17:45,bin4665,75,False +CTSPillarNetworkA,4666,4666,4666,1982-10-11,466.6000000000376,466.61926,2015-01-01 01:17:46,bin4666,35,False +CTSPillarNetworkA,4667,4667,4667,1982-10-12,466.7000000000376,466.71927,2015-01-01 01:17:47,bin4667,75,False +CTSPillarNetworkA,4668,4668,4668,1982-10-13,466.80000000003764,466.81927,2015-01-01 01:17:48,bin4668,35,False +CTSPillarNetworkA,4669,4669,4669,1982-10-14,466.90000000003766,466.91928,2015-01-01 01:17:49,bin4669,75,False +CTSPillarNetworkA,4670,4670,4670,1982-10-15,467.0000000000377,467.0193,2015-01-01 01:17:50,bin4670,35,False +CTSPillarNetworkA,4671,4671,4671,1982-10-16,467.1000000000377,467.1193,2015-01-01 01:17:51,bin4671,75,False +CTSPillarNetworkA,4672,4672,4672,1982-10-17,467.20000000003773,467.2193,2015-01-01 01:17:52,bin4672,35,False +CTSPillarNetworkA,4673,4673,4673,1982-10-18,467.30000000003776,467.3193,2015-01-01 01:17:53,bin4673,75,False +CTSPillarNetworkA,4674,4674,4674,1982-10-19,467.4000000000378,467.4193,2015-01-01 01:17:54,bin4674,35,False +CTSPillarNetworkA,4675,4675,4675,1982-10-20,467.5000000000378,467.51932,2015-01-01 01:17:55,bin4675,75,False +CTSPillarNetworkA,4676,4676,4676,1982-10-21,467.6000000000378,467.61932,2015-01-01 01:17:56,bin4676,35,False +CTSPillarNetworkA,4677,4677,4677,1982-10-22,467.70000000003785,467.71933,2015-01-01 01:17:57,bin4677,75,False +CTSPillarNetworkA,4678,4678,4678,1982-10-23,467.80000000003787,467.81934,2015-01-01 01:17:58,bin4678,35,False +CTSPillarNetworkA,4679,4679,4679,1982-10-24,467.9000000000379,467.91934,2015-01-01 01:17:59,bin4679,75,False +CTSPillarNetworkA,4680,4680,4680,1982-10-25,468.0000000000379,468.01935,2015-01-01 01:18:00,bin4680,35,False +CTSPillarNetworkA,4681,4681,4681,1982-10-26,468.10000000003794,468.11935,2015-01-01 01:18:01,bin4681,75,False +CTSPillarNetworkA,4682,4682,4682,1982-10-27,468.20000000003796,468.21936,2015-01-01 01:18:02,bin4682,35,False +CTSPillarNetworkA,4683,4683,4683,1982-10-28,468.300000000038,468.31937,2015-01-01 01:18:03,bin4683,75,False +CTSPillarNetworkA,4684,4684,4684,1982-10-29,468.400000000038,468.41937,2015-01-01 01:18:04,bin4684,35,False +CTSPillarNetworkA,4685,4685,4685,1982-10-30,468.500000000038,468.51938,2015-01-01 01:18:05,bin4685,75,False +CTSPillarNetworkA,4686,4686,4686,1982-10-31,468.60000000003805,468.6194,2015-01-01 01:18:06,bin4686,35,False +CTSPillarNetworkA,4687,4687,4687,1982-11-01,468.7000000000381,468.7194,2015-01-01 01:18:07,bin4687,75,False +CTSPillarNetworkA,4688,4688,4688,1982-11-02,468.8000000000381,468.8194,2015-01-01 01:18:08,bin4688,35,False +CTSPillarNetworkA,4689,4689,4689,1982-11-03,468.9000000000381,468.9194,2015-01-01 01:18:09,bin4689,75,False +CTSPillarNetworkA,4690,4690,4690,1982-11-04,469.00000000003814,469.0194,2015-01-01 01:18:10,bin4690,35,False +CTSPillarNetworkA,4691,4691,4691,1982-11-05,469.10000000003816,469.11942,2015-01-01 01:18:11,bin4691,75,False +CTSPillarNetworkA,4692,4692,4692,1982-11-06,469.2000000000382,469.21942,2015-01-01 01:18:12,bin4692,35,False +CTSPillarNetworkA,4693,4693,4693,1982-11-07,469.3000000000382,469.31943,2015-01-01 01:18:13,bin4693,75,False +CTSPillarNetworkA,4694,4694,4694,1982-11-08,469.40000000003823,469.41943,2015-01-01 01:18:14,bin4694,35,False +CTSPillarNetworkA,4695,4695,4695,1982-11-09,469.50000000003826,469.51944,2015-01-01 01:18:15,bin4695,75,False +CTSPillarNetworkA,4696,4696,4696,1982-11-10,469.6000000000383,469.61945,2015-01-01 01:18:16,bin4696,35,False +CTSPillarNetworkA,4697,4697,4697,1982-11-11,469.7000000000383,469.71945,2015-01-01 01:18:17,bin4697,75,False +CTSPillarNetworkA,4698,4698,4698,1982-11-12,469.8000000000383,469.81946,2015-01-01 01:18:18,bin4698,35,False +CTSPillarNetworkA,4699,4699,4699,1982-11-13,469.90000000003835,469.91946,2015-01-01 01:18:19,bin4699,75,False +CTSPillarNetworkA,4700,4700,4700,1982-11-14,470.00000000003837,470.01947,2015-01-01 01:18:20,bin4700,35,False +CTSPillarNetworkA,4701,4701,4701,1982-11-15,470.1000000000384,470.11948,2015-01-01 01:18:21,bin4701,75,False +CTSPillarNetworkA,4702,4702,4702,1982-11-16,470.2000000000384,470.21948,2015-01-01 01:18:22,bin4702,35,False +CTSPillarNetworkA,4703,4703,4703,1982-11-17,470.30000000003844,470.3195,2015-01-01 01:18:23,bin4703,75,False +CTSPillarNetworkA,4704,4704,4704,1982-11-18,470.40000000003846,470.4195,2015-01-01 01:18:24,bin4704,35,False +CTSPillarNetworkA,4705,4705,4705,1982-11-19,470.5000000000385,470.5195,2015-01-01 01:18:25,bin4705,75,False +CTSPillarNetworkA,4706,4706,4706,1982-11-20,470.6000000000385,470.6195,2015-01-01 01:18:26,bin4706,35,False +CTSPillarNetworkA,4707,4707,4707,1982-11-21,470.70000000003853,470.7195,2015-01-01 01:18:27,bin4707,75,False +CTSPillarNetworkA,4708,4708,4708,1982-11-22,470.80000000003855,470.81952,2015-01-01 01:18:28,bin4708,35,False +CTSPillarNetworkA,4709,4709,4709,1982-11-23,470.9000000000386,470.91953,2015-01-01 01:18:29,bin4709,75,False +CTSPillarNetworkA,4710,4710,4710,1982-11-24,471.0000000000386,471.01953,2015-01-01 01:18:30,bin4710,35,False +CTSPillarNetworkA,4711,4711,4711,1982-11-25,471.1000000000386,471.11954,2015-01-01 01:18:31,bin4711,75,False +CTSPillarNetworkA,4712,4712,4712,1982-11-26,471.20000000003864,471.21954,2015-01-01 01:18:32,bin4712,35,False +CTSPillarNetworkA,4713,4713,4713,1982-11-27,471.30000000003866,471.31955,2015-01-01 01:18:33,bin4713,75,False +CTSPillarNetworkA,4714,4714,4714,1982-11-28,471.4000000000387,471.41956,2015-01-01 01:18:34,bin4714,35,False +CTSPillarNetworkA,4715,4715,4715,1982-11-29,471.5000000000387,471.51956,2015-01-01 01:18:35,bin4715,75,False +CTSPillarNetworkA,4716,4716,4716,1982-11-30,471.60000000003873,471.61957,2015-01-01 01:18:36,bin4716,35,False +CTSPillarNetworkA,4717,4717,4717,1982-12-01,471.70000000003876,471.71957,2015-01-01 01:18:37,bin4717,75,False +CTSPillarNetworkA,4718,4718,4718,1982-12-02,471.8000000000388,471.81958,2015-01-01 01:18:38,bin4718,35,False +CTSPillarNetworkA,4719,4719,4719,1982-12-03,471.9000000000388,471.9196,2015-01-01 01:18:39,bin4719,75,False +CTSPillarNetworkA,4720,4720,4720,1982-12-04,472.0000000000388,472.0196,2015-01-01 01:18:40,bin4720,35,False +CTSPillarNetworkA,4721,4721,4721,1982-12-05,472.10000000003885,472.1196,2015-01-01 01:18:41,bin4721,75,False +CTSPillarNetworkA,4722,4722,4722,1982-12-06,472.20000000003887,472.2196,2015-01-01 01:18:42,bin4722,35,False +CTSPillarNetworkA,4723,4723,4723,1982-12-07,472.3000000000389,472.3196,2015-01-01 01:18:43,bin4723,75,False +CTSPillarNetworkA,4724,4724,4724,1982-12-08,472.4000000000389,472.41962,2015-01-01 01:18:44,bin4724,35,False +CTSPillarNetworkA,4725,4725,4725,1982-12-09,472.50000000003894,472.51962,2015-01-01 01:18:45,bin4725,75,False +CTSPillarNetworkA,4726,4726,4726,1982-12-10,472.60000000003896,472.61963,2015-01-01 01:18:46,bin4726,35,False +CTSPillarNetworkA,4727,4727,4727,1982-12-11,472.700000000039,472.71964,2015-01-01 01:18:47,bin4727,75,False +CTSPillarNetworkA,4728,4728,4728,1982-12-12,472.800000000039,472.81964,2015-01-01 01:18:48,bin4728,35,False +CTSPillarNetworkA,4729,4729,4729,1982-12-13,472.90000000003903,472.91965,2015-01-01 01:18:49,bin4729,75,False +CTSPillarNetworkA,4730,4730,4730,1982-12-14,473.00000000003905,473.01965,2015-01-01 01:18:50,bin4730,35,False +CTSPillarNetworkA,4731,4731,4731,1982-12-15,473.1000000000391,473.11966,2015-01-01 01:18:51,bin4731,75,False +CTSPillarNetworkA,4732,4732,4732,1982-12-16,473.2000000000391,473.21967,2015-01-01 01:18:52,bin4732,35,False +CTSPillarNetworkA,4733,4733,4733,1982-12-17,473.3000000000391,473.31967,2015-01-01 01:18:53,bin4733,75,False +CTSPillarNetworkA,4734,4734,4734,1982-12-18,473.40000000003914,473.41968,2015-01-01 01:18:54,bin4734,35,False +CTSPillarNetworkA,4735,4735,4735,1982-12-19,473.50000000003917,473.51968,2015-01-01 01:18:55,bin4735,75,False +CTSPillarNetworkA,4736,4736,4736,1982-12-20,473.6000000000392,473.6197,2015-01-01 01:18:56,bin4736,35,False +CTSPillarNetworkA,4737,4737,4737,1982-12-21,473.7000000000392,473.7197,2015-01-01 01:18:57,bin4737,75,False +CTSPillarNetworkA,4738,4738,4738,1982-12-22,473.80000000003923,473.8197,2015-01-01 01:18:58,bin4738,35,False +CTSPillarNetworkA,4739,4739,4739,1982-12-23,473.90000000003926,473.9197,2015-01-01 01:18:59,bin4739,75,False +CTSPillarNetworkA,4740,4740,4740,1982-12-24,474.0000000000393,474.0197,2015-01-01 01:19:00,bin4740,35,False +CTSPillarNetworkA,4741,4741,4741,1982-12-25,474.1000000000393,474.11972,2015-01-01 01:19:01,bin4741,75,False +CTSPillarNetworkA,4742,4742,4742,1982-12-26,474.2000000000393,474.21973,2015-01-01 01:19:02,bin4742,35,False +CTSPillarNetworkA,4743,4743,4743,1982-12-27,474.30000000003935,474.31973,2015-01-01 01:19:03,bin4743,75,False +CTSPillarNetworkA,4744,4744,4744,1982-12-28,474.40000000003937,474.41974,2015-01-01 01:19:04,bin4744,35,False +CTSPillarNetworkA,4745,4745,4745,1982-12-29,474.5000000000394,474.51974,2015-01-01 01:19:05,bin4745,75,False +CTSPillarNetworkA,4746,4746,4746,1982-12-30,474.6000000000394,474.61975,2015-01-01 01:19:06,bin4746,35,False +CTSPillarNetworkA,4747,4747,4747,1982-12-31,474.70000000003944,474.71976,2015-01-01 01:19:07,bin4747,75,False +CTSPillarNetworkA,4748,4748,4748,1983-01-01,474.80000000003946,474.81976,2015-01-01 01:19:08,bin4748,35,False +CTSPillarNetworkA,4749,4749,4749,1983-01-02,474.9000000000395,474.91977,2015-01-01 01:19:09,bin4749,75,False +CTSPillarNetworkA,4750,4750,4750,1983-01-03,475.0000000000395,475.01978,2015-01-01 01:19:10,bin4750,35,False +CTSPillarNetworkA,4751,4751,4751,1983-01-04,475.10000000003953,475.11978,2015-01-01 01:19:11,bin4751,75,False +CTSPillarNetworkA,4752,4752,4752,1983-01-05,475.20000000003955,475.2198,2015-01-01 01:19:12,bin4752,35,False +CTSPillarNetworkA,4753,4753,4753,1983-01-06,475.3000000000396,475.3198,2015-01-01 01:19:13,bin4753,75,False +CTSPillarNetworkA,4754,4754,4754,1983-01-07,475.4000000000396,475.4198,2015-01-01 01:19:14,bin4754,35,False +CTSPillarNetworkA,4755,4755,4755,1983-01-08,475.5000000000396,475.5198,2015-01-01 01:19:15,bin4755,75,False +CTSPillarNetworkA,4756,4756,4756,1983-01-09,475.60000000003964,475.6198,2015-01-01 01:19:16,bin4756,35,False +CTSPillarNetworkA,4757,4757,4757,1983-01-10,475.70000000003967,475.71982,2015-01-01 01:19:17,bin4757,75,False +CTSPillarNetworkA,4758,4758,4758,1983-01-11,475.8000000000397,475.81982,2015-01-01 01:19:18,bin4758,35,False +CTSPillarNetworkA,4759,4759,4759,1983-01-12,475.9000000000397,475.91983,2015-01-01 01:19:19,bin4759,75,False +CTSPillarNetworkA,4760,4760,4760,1983-01-13,476.00000000003973,476.01984,2015-01-01 01:19:20,bin4760,35,False +CTSPillarNetworkA,4761,4761,4761,1983-01-14,476.10000000003976,476.11984,2015-01-01 01:19:21,bin4761,75,False +CTSPillarNetworkA,4762,4762,4762,1983-01-15,476.2000000000398,476.21985,2015-01-01 01:19:22,bin4762,35,False +CTSPillarNetworkA,4763,4763,4763,1983-01-16,476.3000000000398,476.31985,2015-01-01 01:19:23,bin4763,75,False +CTSPillarNetworkA,4764,4764,4764,1983-01-17,476.4000000000398,476.41986,2015-01-01 01:19:24,bin4764,35,False +CTSPillarNetworkA,4765,4765,4765,1983-01-18,476.50000000003985,476.51987,2015-01-01 01:19:25,bin4765,75,False +CTSPillarNetworkA,4766,4766,4766,1983-01-19,476.60000000003987,476.61987,2015-01-01 01:19:26,bin4766,35,False +CTSPillarNetworkA,4767,4767,4767,1983-01-20,476.7000000000399,476.71988,2015-01-01 01:19:27,bin4767,75,False +CTSPillarNetworkA,4768,4768,4768,1983-01-21,476.8000000000399,476.8199,2015-01-01 01:19:28,bin4768,35,False +CTSPillarNetworkA,4769,4769,4769,1983-01-22,476.90000000003994,476.9199,2015-01-01 01:19:29,bin4769,75,False +CTSPillarNetworkA,4770,4770,4770,1983-01-23,477.00000000003996,477.0199,2015-01-01 01:19:30,bin4770,35,False +CTSPillarNetworkA,4771,4771,4771,1983-01-24,477.10000000004,477.1199,2015-01-01 01:19:31,bin4771,75,False +CTSPillarNetworkA,4772,4772,4772,1983-01-25,477.20000000004,477.2199,2015-01-01 01:19:32,bin4772,35,False +CTSPillarNetworkA,4773,4773,4773,1983-01-26,477.30000000004003,477.31992,2015-01-01 01:19:33,bin4773,75,False +CTSPillarNetworkA,4774,4774,4774,1983-01-27,477.40000000004005,477.41992,2015-01-01 01:19:34,bin4774,35,False +CTSPillarNetworkA,4775,4775,4775,1983-01-28,477.5000000000401,477.51993,2015-01-01 01:19:35,bin4775,75,False +CTSPillarNetworkA,4776,4776,4776,1983-01-29,477.6000000000401,477.61993,2015-01-01 01:19:36,bin4776,35,False +CTSPillarNetworkA,4777,4777,4777,1983-01-30,477.7000000000401,477.71994,2015-01-01 01:19:37,bin4777,75,False +CTSPillarNetworkA,4778,4778,4778,1983-01-31,477.80000000004014,477.81995,2015-01-01 01:19:38,bin4778,35,False +CTSPillarNetworkA,4779,4779,4779,1983-02-01,477.90000000004017,477.91995,2015-01-01 01:19:39,bin4779,75,False +CTSPillarNetworkA,4780,4780,4780,1983-02-02,478.0000000000402,478.01996,2015-01-01 01:19:40,bin4780,35,False +CTSPillarNetworkA,4781,4781,4781,1983-02-03,478.1000000000402,478.11996,2015-01-01 01:19:41,bin4781,75,False +CTSPillarNetworkA,4782,4782,4782,1983-02-04,478.20000000004023,478.21997,2015-01-01 01:19:42,bin4782,35,False +CTSPillarNetworkA,4783,4783,4783,1983-02-05,478.30000000004026,478.31998,2015-01-01 01:19:43,bin4783,75,False +CTSPillarNetworkA,4784,4784,4784,1983-02-06,478.4000000000403,478.41998,2015-01-01 01:19:44,bin4784,35,False +CTSPillarNetworkA,4785,4785,4785,1983-02-07,478.5000000000403,478.52,2015-01-01 01:19:45,bin4785,75,False +CTSPillarNetworkA,4786,4786,4786,1983-02-08,478.6000000000403,478.62,2015-01-01 01:19:46,bin4786,35,False +CTSPillarNetworkA,4787,4787,4787,1983-02-09,478.70000000004035,478.72,2015-01-01 01:19:47,bin4787,75,False +CTSPillarNetworkA,4788,4788,4788,1983-02-10,478.80000000004037,478.82,2015-01-01 01:19:48,bin4788,35,False +CTSPillarNetworkA,4789,4789,4789,1983-02-11,478.9000000000404,478.92,2015-01-01 01:19:49,bin4789,75,False +CTSPillarNetworkA,4790,4790,4790,1983-02-12,479.0000000000404,479.02002,2015-01-01 01:19:50,bin4790,35,False +CTSPillarNetworkA,4791,4791,4791,1983-02-13,479.10000000004044,479.12003,2015-01-01 01:19:51,bin4791,75,False +CTSPillarNetworkA,4792,4792,4792,1983-02-14,479.20000000004046,479.22003,2015-01-01 01:19:52,bin4792,35,False +CTSPillarNetworkA,4793,4793,4793,1983-02-15,479.3000000000405,479.32004,2015-01-01 01:19:53,bin4793,75,False +CTSPillarNetworkA,4794,4794,4794,1983-02-16,479.4000000000405,479.42004,2015-01-01 01:19:54,bin4794,35,False +CTSPillarNetworkA,4795,4795,4795,1983-02-17,479.50000000004053,479.52005,2015-01-01 01:19:55,bin4795,75,False +CTSPillarNetworkA,4796,4796,4796,1983-02-18,479.60000000004055,479.62006,2015-01-01 01:19:56,bin4796,35,False +CTSPillarNetworkA,4797,4797,4797,1983-02-19,479.7000000000406,479.72006,2015-01-01 01:19:57,bin4797,75,False +CTSPillarNetworkA,4798,4798,4798,1983-02-20,479.8000000000406,479.82007,2015-01-01 01:19:58,bin4798,35,False +CTSPillarNetworkA,4799,4799,4799,1983-02-21,479.9000000000406,479.92007,2015-01-01 01:19:59,bin4799,75,False +CTSPillarNetworkA,4800,4800,4800,1983-02-22,480.00000000004064,480.02008,2015-01-01 01:20:00,bin4800,35,False +CTSPillarNetworkA,4801,4801,4801,1983-02-23,480.10000000004067,480.1201,2015-01-01 01:20:01,bin4801,75,False +CTSPillarNetworkA,4802,4802,4802,1983-02-24,480.2000000000407,480.2201,2015-01-01 01:20:02,bin4802,35,False +CTSPillarNetworkA,4803,4803,4803,1983-02-25,480.3000000000407,480.3201,2015-01-01 01:20:03,bin4803,75,False +CTSPillarNetworkA,4804,4804,4804,1983-02-26,480.40000000004073,480.4201,2015-01-01 01:20:04,bin4804,35,False +CTSPillarNetworkA,4805,4805,4805,1983-02-27,480.50000000004076,480.5201,2015-01-01 01:20:05,bin4805,75,False +CTSPillarNetworkA,4806,4806,4806,1983-02-28,480.6000000000408,480.62012,2015-01-01 01:20:06,bin4806,35,False +CTSPillarNetworkA,4807,4807,4807,1983-03-01,480.7000000000408,480.72012,2015-01-01 01:20:07,bin4807,75,False +CTSPillarNetworkA,4808,4808,4808,1983-03-02,480.8000000000408,480.82013,2015-01-01 01:20:08,bin4808,35,False +CTSPillarNetworkA,4809,4809,4809,1983-03-03,480.90000000004085,480.92014,2015-01-01 01:20:09,bin4809,75,False +CTSPillarNetworkA,4810,4810,4810,1983-03-04,481.00000000004087,481.02014,2015-01-01 01:20:10,bin4810,35,False +CTSPillarNetworkA,4811,4811,4811,1983-03-05,481.1000000000409,481.12015,2015-01-01 01:20:11,bin4811,75,False +CTSPillarNetworkA,4812,4812,4812,1983-03-06,481.2000000000409,481.22015,2015-01-01 01:20:12,bin4812,35,False +CTSPillarNetworkA,4813,4813,4813,1983-03-07,481.30000000004094,481.32016,2015-01-01 01:20:13,bin4813,75,False +CTSPillarNetworkA,4814,4814,4814,1983-03-08,481.40000000004096,481.42017,2015-01-01 01:20:14,bin4814,35,False +CTSPillarNetworkA,4815,4815,4815,1983-03-09,481.500000000041,481.52017,2015-01-01 01:20:15,bin4815,75,False +CTSPillarNetworkA,4816,4816,4816,1983-03-10,481.600000000041,481.62018,2015-01-01 01:20:16,bin4816,35,False +CTSPillarNetworkA,4817,4817,4817,1983-03-11,481.70000000004103,481.72018,2015-01-01 01:20:17,bin4817,75,False +CTSPillarNetworkA,4818,4818,4818,1983-03-12,481.80000000004105,481.8202,2015-01-01 01:20:18,bin4818,35,False +CTSPillarNetworkA,4819,4819,4819,1983-03-13,481.9000000000411,481.9202,2015-01-01 01:20:19,bin4819,75,False +CTSPillarNetworkA,4820,4820,4820,1983-03-14,482.0000000000411,482.0202,2015-01-01 01:20:20,bin4820,35,False +CTSPillarNetworkA,4821,4821,4821,1983-03-15,482.1000000000411,482.1202,2015-01-01 01:20:21,bin4821,75,False +CTSPillarNetworkA,4822,4822,4822,1983-03-16,482.20000000004114,482.2202,2015-01-01 01:20:22,bin4822,35,False +CTSPillarNetworkA,4823,4823,4823,1983-03-17,482.30000000004117,482.32022,2015-01-01 01:20:23,bin4823,75,False +CTSPillarNetworkA,4824,4824,4824,1983-03-18,482.4000000000412,482.42023,2015-01-01 01:20:24,bin4824,35,False +CTSPillarNetworkA,4825,4825,4825,1983-03-19,482.5000000000412,482.52023,2015-01-01 01:20:25,bin4825,75,False +CTSPillarNetworkA,4826,4826,4826,1983-03-20,482.60000000004123,482.62024,2015-01-01 01:20:26,bin4826,35,False +CTSPillarNetworkA,4827,4827,4827,1983-03-21,482.70000000004126,482.72025,2015-01-01 01:20:27,bin4827,75,False +CTSPillarNetworkA,4828,4828,4828,1983-03-22,482.8000000000413,482.82025,2015-01-01 01:20:28,bin4828,35,False +CTSPillarNetworkA,4829,4829,4829,1983-03-23,482.9000000000413,482.92026,2015-01-01 01:20:29,bin4829,75,False +CTSPillarNetworkA,4830,4830,4830,1983-03-24,483.0000000000413,483.02026,2015-01-01 01:20:30,bin4830,35,False +CTSPillarNetworkA,4831,4831,4831,1983-03-25,483.10000000004135,483.12027,2015-01-01 01:20:31,bin4831,75,False +CTSPillarNetworkA,4832,4832,4832,1983-03-26,483.20000000004137,483.22028,2015-01-01 01:20:32,bin4832,35,False +CTSPillarNetworkA,4833,4833,4833,1983-03-27,483.3000000000414,483.32028,2015-01-01 01:20:33,bin4833,75,False +CTSPillarNetworkA,4834,4834,4834,1983-03-28,483.4000000000414,483.4203,2015-01-01 01:20:34,bin4834,35,False +CTSPillarNetworkA,4835,4835,4835,1983-03-29,483.50000000004144,483.5203,2015-01-01 01:20:35,bin4835,75,False +CTSPillarNetworkA,4836,4836,4836,1983-03-30,483.60000000004146,483.6203,2015-01-01 01:20:36,bin4836,35,False +CTSPillarNetworkA,4837,4837,4837,1983-03-31,483.7000000000415,483.7203,2015-01-01 01:20:37,bin4837,75,False +CTSPillarNetworkA,4838,4838,4838,1983-04-01,483.8000000000415,483.8203,2015-01-01 01:20:38,bin4838,35,False +CTSPillarNetworkA,4839,4839,4839,1983-04-02,483.90000000004153,483.92032,2015-01-01 01:20:39,bin4839,75,False +CTSPillarNetworkA,4840,4840,4840,1983-04-03,484.00000000004155,484.02032,2015-01-01 01:20:40,bin4840,35,False +CTSPillarNetworkA,4841,4841,4841,1983-04-04,484.1000000000416,484.12033,2015-01-01 01:20:41,bin4841,75,False +CTSPillarNetworkA,4842,4842,4842,1983-04-05,484.2000000000416,484.22034,2015-01-01 01:20:42,bin4842,35,False +CTSPillarNetworkA,4843,4843,4843,1983-04-06,484.3000000000416,484.32034,2015-01-01 01:20:43,bin4843,75,False +CTSPillarNetworkA,4844,4844,4844,1983-04-07,484.40000000004164,484.42035,2015-01-01 01:20:44,bin4844,35,False +CTSPillarNetworkA,4845,4845,4845,1983-04-08,484.50000000004167,484.52036,2015-01-01 01:20:45,bin4845,75,False +CTSPillarNetworkA,4846,4846,4846,1983-04-09,484.6000000000417,484.62036,2015-01-01 01:20:46,bin4846,35,False +CTSPillarNetworkA,4847,4847,4847,1983-04-10,484.7000000000417,484.72037,2015-01-01 01:20:47,bin4847,75,False +CTSPillarNetworkA,4848,4848,4848,1983-04-11,484.80000000004173,484.82037,2015-01-01 01:20:48,bin4848,35,False +CTSPillarNetworkA,4849,4849,4849,1983-04-12,484.90000000004176,484.92038,2015-01-01 01:20:49,bin4849,75,False +CTSPillarNetworkA,4850,4850,4850,1983-04-13,485.0000000000418,485.0204,2015-01-01 01:20:50,bin4850,35,False +CTSPillarNetworkA,4851,4851,4851,1983-04-14,485.1000000000418,485.1204,2015-01-01 01:20:51,bin4851,75,False +CTSPillarNetworkA,4852,4852,4852,1983-04-15,485.2000000000418,485.2204,2015-01-01 01:20:52,bin4852,35,False +CTSPillarNetworkA,4853,4853,4853,1983-04-16,485.30000000004185,485.3204,2015-01-01 01:20:53,bin4853,75,False +CTSPillarNetworkA,4854,4854,4854,1983-04-17,485.40000000004187,485.4204,2015-01-01 01:20:54,bin4854,35,False +CTSPillarNetworkA,4855,4855,4855,1983-04-18,485.5000000000419,485.52042,2015-01-01 01:20:55,bin4855,75,False +CTSPillarNetworkA,4856,4856,4856,1983-04-19,485.6000000000419,485.62042,2015-01-01 01:20:56,bin4856,35,False +CTSPillarNetworkA,4857,4857,4857,1983-04-20,485.70000000004194,485.72043,2015-01-01 01:20:57,bin4857,75,False +CTSPillarNetworkA,4858,4858,4858,1983-04-21,485.80000000004196,485.82043,2015-01-01 01:20:58,bin4858,35,False +CTSPillarNetworkA,4859,4859,4859,1983-04-22,485.900000000042,485.92044,2015-01-01 01:20:59,bin4859,75,False +CTSPillarNetworkA,4860,4860,4860,1983-04-23,486.000000000042,486.02045,2015-01-01 01:21:00,bin4860,35,False +CTSPillarNetworkA,4861,4861,4861,1983-04-24,486.10000000004203,486.12045,2015-01-01 01:21:01,bin4861,75,False +CTSPillarNetworkA,4862,4862,4862,1983-04-25,486.20000000004205,486.22046,2015-01-01 01:21:02,bin4862,35,False +CTSPillarNetworkA,4863,4863,4863,1983-04-26,486.3000000000421,486.32047,2015-01-01 01:21:03,bin4863,75,False +CTSPillarNetworkA,4864,4864,4864,1983-04-27,486.4000000000421,486.42047,2015-01-01 01:21:04,bin4864,35,False +CTSPillarNetworkA,4865,4865,4865,1983-04-28,486.5000000000421,486.52048,2015-01-01 01:21:05,bin4865,75,False +CTSPillarNetworkA,4866,4866,4866,1983-04-29,486.60000000004214,486.62048,2015-01-01 01:21:06,bin4866,35,False +CTSPillarNetworkA,4867,4867,4867,1983-04-30,486.70000000004217,486.7205,2015-01-01 01:21:07,bin4867,75,False +CTSPillarNetworkA,4868,4868,4868,1983-05-01,486.8000000000422,486.8205,2015-01-01 01:21:08,bin4868,35,False +CTSPillarNetworkA,4869,4869,4869,1983-05-02,486.9000000000422,486.9205,2015-01-01 01:21:09,bin4869,75,False +CTSPillarNetworkA,4870,4870,4870,1983-05-03,487.00000000004223,487.0205,2015-01-01 01:21:10,bin4870,35,False +CTSPillarNetworkA,4871,4871,4871,1983-05-04,487.10000000004226,487.1205,2015-01-01 01:21:11,bin4871,75,False +CTSPillarNetworkA,4872,4872,4872,1983-05-05,487.2000000000423,487.22052,2015-01-01 01:21:12,bin4872,35,False +CTSPillarNetworkA,4873,4873,4873,1983-05-06,487.3000000000423,487.32053,2015-01-01 01:21:13,bin4873,75,False +CTSPillarNetworkA,4874,4874,4874,1983-05-07,487.4000000000423,487.42053,2015-01-01 01:21:14,bin4874,35,False +CTSPillarNetworkA,4875,4875,4875,1983-05-08,487.50000000004235,487.52054,2015-01-01 01:21:15,bin4875,75,False +CTSPillarNetworkA,4876,4876,4876,1983-05-09,487.60000000004237,487.62054,2015-01-01 01:21:16,bin4876,35,False +CTSPillarNetworkA,4877,4877,4877,1983-05-10,487.7000000000424,487.72055,2015-01-01 01:21:17,bin4877,75,False +CTSPillarNetworkA,4878,4878,4878,1983-05-11,487.8000000000424,487.82056,2015-01-01 01:21:18,bin4878,35,False +CTSPillarNetworkA,4879,4879,4879,1983-05-12,487.90000000004244,487.92056,2015-01-01 01:21:19,bin4879,75,False +CTSPillarNetworkA,4880,4880,4880,1983-05-13,488.00000000004246,488.02057,2015-01-01 01:21:20,bin4880,35,False +CTSPillarNetworkA,4881,4881,4881,1983-05-14,488.1000000000425,488.12057,2015-01-01 01:21:21,bin4881,75,False +CTSPillarNetworkA,4882,4882,4882,1983-05-15,488.2000000000425,488.22058,2015-01-01 01:21:22,bin4882,35,False +CTSPillarNetworkA,4883,4883,4883,1983-05-16,488.30000000004253,488.3206,2015-01-01 01:21:23,bin4883,75,False +CTSPillarNetworkA,4884,4884,4884,1983-05-17,488.40000000004255,488.4206,2015-01-01 01:21:24,bin4884,35,False +CTSPillarNetworkA,4885,4885,4885,1983-05-18,488.5000000000426,488.5206,2015-01-01 01:21:25,bin4885,75,False +CTSPillarNetworkA,4886,4886,4886,1983-05-19,488.6000000000426,488.6206,2015-01-01 01:21:26,bin4886,35,False +CTSPillarNetworkA,4887,4887,4887,1983-05-20,488.7000000000426,488.7206,2015-01-01 01:21:27,bin4887,75,False +CTSPillarNetworkA,4888,4888,4888,1983-05-21,488.80000000004264,488.82062,2015-01-01 01:21:28,bin4888,35,False +CTSPillarNetworkA,4889,4889,4889,1983-05-22,488.90000000004267,488.92062,2015-01-01 01:21:29,bin4889,75,False +CTSPillarNetworkA,4890,4890,4890,1983-05-23,489.0000000000427,489.02063,2015-01-01 01:21:30,bin4890,35,False +CTSPillarNetworkA,4891,4891,4891,1983-05-24,489.1000000000427,489.12064,2015-01-01 01:21:31,bin4891,75,False +CTSPillarNetworkA,4892,4892,4892,1983-05-25,489.20000000004273,489.22064,2015-01-01 01:21:32,bin4892,35,False +CTSPillarNetworkA,4893,4893,4893,1983-05-26,489.30000000004276,489.32065,2015-01-01 01:21:33,bin4893,75,False +CTSPillarNetworkA,4894,4894,4894,1983-05-27,489.4000000000428,489.42065,2015-01-01 01:21:34,bin4894,35,False +CTSPillarNetworkA,4895,4895,4895,1983-05-28,489.5000000000428,489.52066,2015-01-01 01:21:35,bin4895,75,False +CTSPillarNetworkA,4896,4896,4896,1983-05-29,489.6000000000428,489.62067,2015-01-01 01:21:36,bin4896,35,False +CTSPillarNetworkA,4897,4897,4897,1983-05-30,489.70000000004285,489.72067,2015-01-01 01:21:37,bin4897,75,False +CTSPillarNetworkA,4898,4898,4898,1983-05-31,489.80000000004287,489.82068,2015-01-01 01:21:38,bin4898,35,False +CTSPillarNetworkA,4899,4899,4899,1983-06-01,489.9000000000429,489.9207,2015-01-01 01:21:39,bin4899,75,False +CTSPillarNetworkA,4900,4900,4900,1983-06-02,490.0000000000429,490.0207,2015-01-01 01:21:40,bin4900,35,False +CTSPillarNetworkA,4901,4901,4901,1983-06-03,490.10000000004294,490.1207,2015-01-01 01:21:41,bin4901,75,False +CTSPillarNetworkA,4902,4902,4902,1983-06-04,490.20000000004296,490.2207,2015-01-01 01:21:42,bin4902,35,False +CTSPillarNetworkA,4903,4903,4903,1983-06-05,490.300000000043,490.3207,2015-01-01 01:21:43,bin4903,75,False +CTSPillarNetworkA,4904,4904,4904,1983-06-06,490.400000000043,490.42072,2015-01-01 01:21:44,bin4904,35,False +CTSPillarNetworkA,4905,4905,4905,1983-06-07,490.50000000004303,490.52072,2015-01-01 01:21:45,bin4905,75,False +CTSPillarNetworkA,4906,4906,4906,1983-06-08,490.60000000004305,490.62073,2015-01-01 01:21:46,bin4906,35,False +CTSPillarNetworkA,4907,4907,4907,1983-06-09,490.7000000000431,490.72073,2015-01-01 01:21:47,bin4907,75,False +CTSPillarNetworkA,4908,4908,4908,1983-06-10,490.8000000000431,490.82074,2015-01-01 01:21:48,bin4908,35,False +CTSPillarNetworkA,4909,4909,4909,1983-06-11,490.9000000000431,490.92075,2015-01-01 01:21:49,bin4909,75,False +CTSPillarNetworkA,4910,4910,4910,1983-06-12,491.00000000004314,491.02075,2015-01-01 01:21:50,bin4910,35,False +CTSPillarNetworkA,4911,4911,4911,1983-06-13,491.10000000004317,491.12076,2015-01-01 01:21:51,bin4911,75,False +CTSPillarNetworkA,4912,4912,4912,1983-06-14,491.2000000000432,491.22076,2015-01-01 01:21:52,bin4912,35,False +CTSPillarNetworkA,4913,4913,4913,1983-06-15,491.3000000000432,491.32077,2015-01-01 01:21:53,bin4913,75,False +CTSPillarNetworkA,4914,4914,4914,1983-06-16,491.40000000004324,491.42078,2015-01-01 01:21:54,bin4914,35,False +CTSPillarNetworkA,4915,4915,4915,1983-06-17,491.50000000004326,491.52078,2015-01-01 01:21:55,bin4915,75,False +CTSPillarNetworkA,4916,4916,4916,1983-06-18,491.6000000000433,491.6208,2015-01-01 01:21:56,bin4916,35,False +CTSPillarNetworkA,4917,4917,4917,1983-06-19,491.7000000000433,491.7208,2015-01-01 01:21:57,bin4917,75,False +CTSPillarNetworkA,4918,4918,4918,1983-06-20,491.8000000000433,491.8208,2015-01-01 01:21:58,bin4918,35,False +CTSPillarNetworkA,4919,4919,4919,1983-06-21,491.90000000004335,491.9208,2015-01-01 01:21:59,bin4919,75,False +CTSPillarNetworkA,4920,4920,4920,1983-06-22,492.00000000004337,492.0208,2015-01-01 01:22:00,bin4920,35,False +CTSPillarNetworkA,4921,4921,4921,1983-06-23,492.1000000000434,492.12082,2015-01-01 01:22:01,bin4921,75,False +CTSPillarNetworkA,4922,4922,4922,1983-06-24,492.2000000000434,492.22083,2015-01-01 01:22:02,bin4922,35,False +CTSPillarNetworkA,4923,4923,4923,1983-06-25,492.30000000004344,492.32083,2015-01-01 01:22:03,bin4923,75,False +CTSPillarNetworkA,4924,4924,4924,1983-06-26,492.40000000004346,492.42084,2015-01-01 01:22:04,bin4924,35,False +CTSPillarNetworkA,4925,4925,4925,1983-06-27,492.5000000000435,492.52084,2015-01-01 01:22:05,bin4925,75,False +CTSPillarNetworkA,4926,4926,4926,1983-06-28,492.6000000000435,492.62085,2015-01-01 01:22:06,bin4926,35,False +CTSPillarNetworkA,4927,4927,4927,1983-06-29,492.70000000004353,492.72086,2015-01-01 01:22:07,bin4927,75,False +CTSPillarNetworkA,4928,4928,4928,1983-06-30,492.80000000004355,492.82086,2015-01-01 01:22:08,bin4928,35,False +CTSPillarNetworkA,4929,4929,4929,1983-07-01,492.9000000000436,492.92087,2015-01-01 01:22:09,bin4929,75,False +CTSPillarNetworkA,4930,4930,4930,1983-07-02,493.0000000000436,493.02087,2015-01-01 01:22:10,bin4930,35,False +CTSPillarNetworkA,4931,4931,4931,1983-07-03,493.1000000000436,493.12088,2015-01-01 01:22:11,bin4931,75,False +CTSPillarNetworkA,4932,4932,4932,1983-07-04,493.20000000004364,493.2209,2015-01-01 01:22:12,bin4932,35,False +CTSPillarNetworkA,4933,4933,4933,1983-07-05,493.30000000004367,493.3209,2015-01-01 01:22:13,bin4933,75,False +CTSPillarNetworkA,4934,4934,4934,1983-07-06,493.4000000000437,493.4209,2015-01-01 01:22:14,bin4934,35,False +CTSPillarNetworkA,4935,4935,4935,1983-07-07,493.5000000000437,493.5209,2015-01-01 01:22:15,bin4935,75,False +CTSPillarNetworkA,4936,4936,4936,1983-07-08,493.60000000004374,493.6209,2015-01-01 01:22:16,bin4936,35,False +CTSPillarNetworkA,4937,4937,4937,1983-07-09,493.70000000004376,493.72092,2015-01-01 01:22:17,bin4937,75,False +CTSPillarNetworkA,4938,4938,4938,1983-07-10,493.8000000000438,493.82092,2015-01-01 01:22:18,bin4938,35,False +CTSPillarNetworkA,4939,4939,4939,1983-07-11,493.9000000000438,493.92093,2015-01-01 01:22:19,bin4939,75,False +CTSPillarNetworkA,4940,4940,4940,1983-07-12,494.0000000000438,494.02094,2015-01-01 01:22:20,bin4940,35,False +CTSPillarNetworkA,4941,4941,4941,1983-07-13,494.10000000004385,494.12094,2015-01-01 01:22:21,bin4941,75,False +CTSPillarNetworkA,4942,4942,4942,1983-07-14,494.2000000000439,494.22095,2015-01-01 01:22:22,bin4942,35,False +CTSPillarNetworkA,4943,4943,4943,1983-07-15,494.3000000000439,494.32095,2015-01-01 01:22:23,bin4943,75,False +CTSPillarNetworkA,4944,4944,4944,1983-07-16,494.4000000000439,494.42096,2015-01-01 01:22:24,bin4944,35,False +CTSPillarNetworkA,4945,4945,4945,1983-07-17,494.50000000004394,494.52097,2015-01-01 01:22:25,bin4945,75,False +CTSPillarNetworkA,4946,4946,4946,1983-07-18,494.60000000004396,494.62097,2015-01-01 01:22:26,bin4946,35,False +CTSPillarNetworkA,4947,4947,4947,1983-07-19,494.700000000044,494.72098,2015-01-01 01:22:27,bin4947,75,False +CTSPillarNetworkA,4948,4948,4948,1983-07-20,494.800000000044,494.82098,2015-01-01 01:22:28,bin4948,35,False +CTSPillarNetworkA,4949,4949,4949,1983-07-21,494.90000000004403,494.921,2015-01-01 01:22:29,bin4949,75,False +CTSPillarNetworkA,4950,4950,4950,1983-07-22,495.00000000004405,495.021,2015-01-01 01:22:30,bin4950,35,False +CTSPillarNetworkA,4951,4951,4951,1983-07-23,495.1000000000441,495.121,2015-01-01 01:22:31,bin4951,75,False +CTSPillarNetworkA,4952,4952,4952,1983-07-24,495.2000000000441,495.221,2015-01-01 01:22:32,bin4952,35,False +CTSPillarNetworkA,4953,4953,4953,1983-07-25,495.3000000000441,495.321,2015-01-01 01:22:33,bin4953,75,False +CTSPillarNetworkA,4954,4954,4954,1983-07-26,495.40000000004414,495.42102,2015-01-01 01:22:34,bin4954,35,False +CTSPillarNetworkA,4955,4955,4955,1983-07-27,495.50000000004417,495.52103,2015-01-01 01:22:35,bin4955,75,False +CTSPillarNetworkA,4956,4956,4956,1983-07-28,495.6000000000442,495.62103,2015-01-01 01:22:36,bin4956,35,False +CTSPillarNetworkA,4957,4957,4957,1983-07-29,495.7000000000442,495.72104,2015-01-01 01:22:37,bin4957,75,False +CTSPillarNetworkA,4958,4958,4958,1983-07-30,495.80000000004424,495.82104,2015-01-01 01:22:38,bin4958,35,False +CTSPillarNetworkA,4959,4959,4959,1983-07-31,495.90000000004426,495.92105,2015-01-01 01:22:39,bin4959,75,False +CTSPillarNetworkA,4960,4960,4960,1983-08-01,496.0000000000443,496.02106,2015-01-01 01:22:40,bin4960,35,False +CTSPillarNetworkA,4961,4961,4961,1983-08-02,496.1000000000443,496.12106,2015-01-01 01:22:41,bin4961,75,False +CTSPillarNetworkA,4962,4962,4962,1983-08-03,496.2000000000443,496.22107,2015-01-01 01:22:42,bin4962,35,False +CTSPillarNetworkA,4963,4963,4963,1983-08-04,496.30000000004435,496.32108,2015-01-01 01:22:43,bin4963,75,False +CTSPillarNetworkA,4964,4964,4964,1983-08-05,496.4000000000444,496.42108,2015-01-01 01:22:44,bin4964,35,False +CTSPillarNetworkA,4965,4965,4965,1983-08-06,496.5000000000444,496.5211,2015-01-01 01:22:45,bin4965,75,False +CTSPillarNetworkA,4966,4966,4966,1983-08-07,496.6000000000444,496.6211,2015-01-01 01:22:46,bin4966,35,False +CTSPillarNetworkA,4967,4967,4967,1983-08-08,496.70000000004444,496.7211,2015-01-01 01:22:47,bin4967,75,False +CTSPillarNetworkA,4968,4968,4968,1983-08-09,496.80000000004446,496.8211,2015-01-01 01:22:48,bin4968,35,False +CTSPillarNetworkA,4969,4969,4969,1983-08-10,496.9000000000445,496.9211,2015-01-01 01:22:49,bin4969,75,False +CTSPillarNetworkA,4970,4970,4970,1983-08-11,497.0000000000445,497.02112,2015-01-01 01:22:50,bin4970,35,False +CTSPillarNetworkA,4971,4971,4971,1983-08-12,497.10000000004453,497.12112,2015-01-01 01:22:51,bin4971,75,False +CTSPillarNetworkA,4972,4972,4972,1983-08-13,497.20000000004455,497.22113,2015-01-01 01:22:52,bin4972,35,False +CTSPillarNetworkA,4973,4973,4973,1983-08-14,497.3000000000446,497.32114,2015-01-01 01:22:53,bin4973,75,False +CTSPillarNetworkA,4974,4974,4974,1983-08-15,497.4000000000446,497.42114,2015-01-01 01:22:54,bin4974,35,False +CTSPillarNetworkA,4975,4975,4975,1983-08-16,497.5000000000446,497.52115,2015-01-01 01:22:55,bin4975,75,False +CTSPillarNetworkA,4976,4976,4976,1983-08-17,497.60000000004464,497.62115,2015-01-01 01:22:56,bin4976,35,False +CTSPillarNetworkA,4977,4977,4977,1983-08-18,497.70000000004467,497.72116,2015-01-01 01:22:57,bin4977,75,False +CTSPillarNetworkA,4978,4978,4978,1983-08-19,497.8000000000447,497.82117,2015-01-01 01:22:58,bin4978,35,False +CTSPillarNetworkA,4979,4979,4979,1983-08-20,497.9000000000447,497.92117,2015-01-01 01:22:59,bin4979,75,False +CTSPillarNetworkA,4980,4980,4980,1983-08-21,498.00000000004474,498.02118,2015-01-01 01:23:00,bin4980,35,False +CTSPillarNetworkA,4981,4981,4981,1983-08-22,498.10000000004476,498.1212,2015-01-01 01:23:01,bin4981,75,False +CTSPillarNetworkA,4982,4982,4982,1983-08-23,498.2000000000448,498.2212,2015-01-01 01:23:02,bin4982,35,False +CTSPillarNetworkA,4983,4983,4983,1983-08-24,498.3000000000448,498.3212,2015-01-01 01:23:03,bin4983,75,False +CTSPillarNetworkA,4984,4984,4984,1983-08-25,498.4000000000448,498.4212,2015-01-01 01:23:04,bin4984,35,False +CTSPillarNetworkA,4985,4985,4985,1983-08-26,498.50000000004485,498.5212,2015-01-01 01:23:05,bin4985,75,False +CTSPillarNetworkA,4986,4986,4986,1983-08-27,498.6000000000449,498.62122,2015-01-01 01:23:06,bin4986,35,False +CTSPillarNetworkA,4987,4987,4987,1983-08-28,498.7000000000449,498.72122,2015-01-01 01:23:07,bin4987,75,False +CTSPillarNetworkA,4988,4988,4988,1983-08-29,498.8000000000449,498.82123,2015-01-01 01:23:08,bin4988,35,False +CTSPillarNetworkA,4989,4989,4989,1983-08-30,498.90000000004494,498.92123,2015-01-01 01:23:09,bin4989,75,False +CTSPillarNetworkA,4990,4990,4990,1983-08-31,499.00000000004496,499.02124,2015-01-01 01:23:10,bin4990,35,False +CTSPillarNetworkA,4991,4991,4991,1983-09-01,499.100000000045,499.12125,2015-01-01 01:23:11,bin4991,75,False +CTSPillarNetworkA,4992,4992,4992,1983-09-02,499.200000000045,499.22125,2015-01-01 01:23:12,bin4992,35,False +CTSPillarNetworkA,4993,4993,4993,1983-09-03,499.30000000004503,499.32126,2015-01-01 01:23:13,bin4993,75,False +CTSPillarNetworkA,4994,4994,4994,1983-09-04,499.40000000004505,499.42126,2015-01-01 01:23:14,bin4994,35,False +CTSPillarNetworkA,4995,4995,4995,1983-09-05,499.5000000000451,499.52127,2015-01-01 01:23:15,bin4995,75,False +CTSPillarNetworkA,4996,4996,4996,1983-09-06,499.6000000000451,499.62128,2015-01-01 01:23:16,bin4996,35,False +CTSPillarNetworkA,4997,4997,4997,1983-09-07,499.7000000000451,499.72128,2015-01-01 01:23:17,bin4997,75,False +CTSPillarNetworkA,4998,4998,4998,1983-09-08,499.80000000004515,499.8213,2015-01-01 01:23:18,bin4998,35,False +CTSPillarNetworkA,4999,4999,4999,1983-09-09,499.90000000004517,499.9213,2015-01-01 01:23:19,bin4999,75,False +CTSPillarNetworkA,5000,5000,5000,1983-09-10,500.0000000000452,500.0213,2015-01-01 01:23:20,bin5000,35,False +CTSPillarNetworkA,5001,5001,5001,1983-09-11,500.1000000000452,500.1213,2015-01-01 01:23:21,bin5001,75,False +CTSPillarNetworkA,5002,5002,5002,1983-09-12,500.20000000004524,500.2213,2015-01-01 01:23:22,bin5002,35,False +CTSPillarNetworkA,5003,5003,5003,1983-09-13,500.30000000004526,500.32132,2015-01-01 01:23:23,bin5003,75,False +CTSPillarNetworkA,5004,5004,5004,1983-09-14,500.4000000000453,500.42133,2015-01-01 01:23:24,bin5004,35,False +CTSPillarNetworkA,5005,5005,5005,1983-09-15,500.5000000000453,500.52133,2015-01-01 01:23:25,bin5005,75,False +CTSPillarNetworkA,5006,5006,5006,1983-09-16,500.6000000000453,500.62134,2015-01-01 01:23:26,bin5006,35,False +CTSPillarNetworkA,5007,5007,5007,1983-09-17,500.70000000004535,500.72134,2015-01-01 01:23:27,bin5007,75,False +CTSPillarNetworkA,5008,5008,5008,1983-09-18,500.8000000000454,500.82135,2015-01-01 01:23:28,bin5008,35,False +CTSPillarNetworkA,5009,5009,5009,1983-09-19,500.9000000000454,500.92136,2015-01-01 01:23:29,bin5009,75,False +CTSPillarNetworkA,5010,5010,5010,1983-09-20,501.0000000000454,501.02136,2015-01-01 01:23:30,bin5010,35,False +CTSPillarNetworkA,5011,5011,5011,1983-09-21,501.10000000004544,501.12137,2015-01-01 01:23:31,bin5011,75,False +CTSPillarNetworkA,5012,5012,5012,1983-09-22,501.20000000004546,501.22137,2015-01-01 01:23:32,bin5012,35,False +CTSPillarNetworkA,5013,5013,5013,1983-09-23,501.3000000000455,501.32138,2015-01-01 01:23:33,bin5013,75,False +CTSPillarNetworkA,5014,5014,5014,1983-09-24,501.4000000000455,501.4214,2015-01-01 01:23:34,bin5014,35,False +CTSPillarNetworkA,5015,5015,5015,1983-09-25,501.50000000004553,501.5214,2015-01-01 01:23:35,bin5015,75,False +CTSPillarNetworkA,5016,5016,5016,1983-09-26,501.60000000004555,501.6214,2015-01-01 01:23:36,bin5016,35,False +CTSPillarNetworkA,5017,5017,5017,1983-09-27,501.7000000000456,501.7214,2015-01-01 01:23:37,bin5017,75,False +CTSPillarNetworkA,5018,5018,5018,1983-09-28,501.8000000000456,501.8214,2015-01-01 01:23:38,bin5018,35,False +CTSPillarNetworkA,5019,5019,5019,1983-09-29,501.9000000000456,501.92142,2015-01-01 01:23:39,bin5019,75,False +CTSPillarNetworkA,5020,5020,5020,1983-09-30,502.00000000004565,502.02142,2015-01-01 01:23:40,bin5020,35,False +CTSPillarNetworkA,5021,5021,5021,1983-10-01,502.10000000004567,502.12143,2015-01-01 01:23:41,bin5021,75,False +CTSPillarNetworkA,5022,5022,5022,1983-10-02,502.2000000000457,502.22144,2015-01-01 01:23:42,bin5022,35,False +CTSPillarNetworkA,5023,5023,5023,1983-10-03,502.3000000000457,502.32144,2015-01-01 01:23:43,bin5023,75,False +CTSPillarNetworkA,5024,5024,5024,1983-10-04,502.40000000004574,502.42145,2015-01-01 01:23:44,bin5024,35,False +CTSPillarNetworkA,5025,5025,5025,1983-10-05,502.50000000004576,502.52145,2015-01-01 01:23:45,bin5025,75,False +CTSPillarNetworkA,5026,5026,5026,1983-10-06,502.6000000000458,502.62146,2015-01-01 01:23:46,bin5026,35,False +CTSPillarNetworkA,5027,5027,5027,1983-10-07,502.7000000000458,502.72147,2015-01-01 01:23:47,bin5027,75,False +CTSPillarNetworkA,5028,5028,5028,1983-10-08,502.8000000000458,502.82147,2015-01-01 01:23:48,bin5028,35,False +CTSPillarNetworkA,5029,5029,5029,1983-10-09,502.90000000004585,502.92148,2015-01-01 01:23:49,bin5029,75,False +CTSPillarNetworkA,5030,5030,5030,1983-10-10,503.0000000000459,503.02148,2015-01-01 01:23:50,bin5030,35,False +CTSPillarNetworkA,5031,5031,5031,1983-10-11,503.1000000000459,503.1215,2015-01-01 01:23:51,bin5031,75,False +CTSPillarNetworkA,5032,5032,5032,1983-10-12,503.2000000000459,503.2215,2015-01-01 01:23:52,bin5032,35,False +CTSPillarNetworkA,5033,5033,5033,1983-10-13,503.30000000004594,503.3215,2015-01-01 01:23:53,bin5033,75,False +CTSPillarNetworkA,5034,5034,5034,1983-10-14,503.40000000004596,503.4215,2015-01-01 01:23:54,bin5034,35,False +CTSPillarNetworkA,5035,5035,5035,1983-10-15,503.500000000046,503.5215,2015-01-01 01:23:55,bin5035,75,False +CTSPillarNetworkA,5036,5036,5036,1983-10-16,503.600000000046,503.62152,2015-01-01 01:23:56,bin5036,35,False +CTSPillarNetworkA,5037,5037,5037,1983-10-17,503.70000000004603,503.72153,2015-01-01 01:23:57,bin5037,75,False +CTSPillarNetworkA,5038,5038,5038,1983-10-18,503.80000000004605,503.82153,2015-01-01 01:23:58,bin5038,35,False +CTSPillarNetworkA,5039,5039,5039,1983-10-19,503.9000000000461,503.92154,2015-01-01 01:23:59,bin5039,75,False +CTSPillarNetworkA,5040,5040,5040,1983-10-20,504.0000000000461,504.02155,2015-01-01 01:24:00,bin5040,35,False +CTSPillarNetworkA,5041,5041,5041,1983-10-21,504.1000000000461,504.12155,2015-01-01 01:24:01,bin5041,75,False +CTSPillarNetworkA,5042,5042,5042,1983-10-22,504.20000000004615,504.22156,2015-01-01 01:24:02,bin5042,35,False +CTSPillarNetworkA,5043,5043,5043,1983-10-23,504.30000000004617,504.32156,2015-01-01 01:24:03,bin5043,75,False +CTSPillarNetworkA,5044,5044,5044,1983-10-24,504.4000000000462,504.42157,2015-01-01 01:24:04,bin5044,35,False +CTSPillarNetworkA,5045,5045,5045,1983-10-25,504.5000000000462,504.52158,2015-01-01 01:24:05,bin5045,75,False +CTSPillarNetworkA,5046,5046,5046,1983-10-26,504.60000000004624,504.62158,2015-01-01 01:24:06,bin5046,35,False +CTSPillarNetworkA,5047,5047,5047,1983-10-27,504.70000000004626,504.7216,2015-01-01 01:24:07,bin5047,75,False +CTSPillarNetworkA,5048,5048,5048,1983-10-28,504.8000000000463,504.8216,2015-01-01 01:24:08,bin5048,35,False +CTSPillarNetworkA,5049,5049,5049,1983-10-29,504.9000000000463,504.9216,2015-01-01 01:24:09,bin5049,75,False +CTSPillarNetworkA,5050,5050,5050,1983-10-30,505.0000000000463,505.0216,2015-01-01 01:24:10,bin5050,35,False +CTSPillarNetworkA,5051,5051,5051,1983-10-31,505.10000000004635,505.1216,2015-01-01 01:24:11,bin5051,75,False +CTSPillarNetworkA,5052,5052,5052,1983-11-01,505.2000000000464,505.22162,2015-01-01 01:24:12,bin5052,35,False +CTSPillarNetworkA,5053,5053,5053,1983-11-02,505.3000000000464,505.32162,2015-01-01 01:24:13,bin5053,75,False +CTSPillarNetworkA,5054,5054,5054,1983-11-03,505.4000000000464,505.42163,2015-01-01 01:24:14,bin5054,35,False +CTSPillarNetworkA,5055,5055,5055,1983-11-04,505.50000000004644,505.52164,2015-01-01 01:24:15,bin5055,75,False +CTSPillarNetworkA,5056,5056,5056,1983-11-05,505.60000000004646,505.62164,2015-01-01 01:24:16,bin5056,35,False +CTSPillarNetworkA,5057,5057,5057,1983-11-06,505.7000000000465,505.72165,2015-01-01 01:24:17,bin5057,75,False +CTSPillarNetworkA,5058,5058,5058,1983-11-07,505.8000000000465,505.82166,2015-01-01 01:24:18,bin5058,35,False +CTSPillarNetworkA,5059,5059,5059,1983-11-08,505.90000000004653,505.92166,2015-01-01 01:24:19,bin5059,75,False +CTSPillarNetworkA,5060,5060,5060,1983-11-09,506.00000000004655,506.02167,2015-01-01 01:24:20,bin5060,35,False +CTSPillarNetworkA,5061,5061,5061,1983-11-10,506.1000000000466,506.12167,2015-01-01 01:24:21,bin5061,75,False +CTSPillarNetworkA,5062,5062,5062,1983-11-11,506.2000000000466,506.22168,2015-01-01 01:24:22,bin5062,35,False +CTSPillarNetworkA,5063,5063,5063,1983-11-12,506.3000000000466,506.3217,2015-01-01 01:24:23,bin5063,75,False +CTSPillarNetworkA,5064,5064,5064,1983-11-13,506.40000000004665,506.4217,2015-01-01 01:24:24,bin5064,35,False +CTSPillarNetworkA,5065,5065,5065,1983-11-14,506.50000000004667,506.5217,2015-01-01 01:24:25,bin5065,75,False +CTSPillarNetworkA,5066,5066,5066,1983-11-15,506.6000000000467,506.6217,2015-01-01 01:24:26,bin5066,35,False +CTSPillarNetworkA,5067,5067,5067,1983-11-16,506.7000000000467,506.7217,2015-01-01 01:24:27,bin5067,75,False +CTSPillarNetworkA,5068,5068,5068,1983-11-17,506.80000000004674,506.82172,2015-01-01 01:24:28,bin5068,35,False +CTSPillarNetworkA,5069,5069,5069,1983-11-18,506.90000000004676,506.92172,2015-01-01 01:24:29,bin5069,75,False +CTSPillarNetworkA,5070,5070,5070,1983-11-19,507.0000000000468,507.02173,2015-01-01 01:24:30,bin5070,35,False +CTSPillarNetworkA,5071,5071,5071,1983-11-20,507.1000000000468,507.12173,2015-01-01 01:24:31,bin5071,75,False +CTSPillarNetworkA,5072,5072,5072,1983-11-21,507.2000000000468,507.22174,2015-01-01 01:24:32,bin5072,35,False +CTSPillarNetworkA,5073,5073,5073,1983-11-22,507.30000000004685,507.32175,2015-01-01 01:24:33,bin5073,75,False +CTSPillarNetworkA,5074,5074,5074,1983-11-23,507.4000000000469,507.42175,2015-01-01 01:24:34,bin5074,35,False +CTSPillarNetworkA,5075,5075,5075,1983-11-24,507.5000000000469,507.52176,2015-01-01 01:24:35,bin5075,75,False +CTSPillarNetworkA,5076,5076,5076,1983-11-25,507.6000000000469,507.62177,2015-01-01 01:24:36,bin5076,35,False +CTSPillarNetworkA,5077,5077,5077,1983-11-26,507.70000000004694,507.72177,2015-01-01 01:24:37,bin5077,75,False +CTSPillarNetworkA,5078,5078,5078,1983-11-27,507.80000000004696,507.82178,2015-01-01 01:24:38,bin5078,35,False +CTSPillarNetworkA,5079,5079,5079,1983-11-28,507.900000000047,507.92178,2015-01-01 01:24:39,bin5079,75,False +CTSPillarNetworkA,5080,5080,5080,1983-11-29,508.000000000047,508.0218,2015-01-01 01:24:40,bin5080,35,False +CTSPillarNetworkA,5081,5081,5081,1983-11-30,508.10000000004703,508.1218,2015-01-01 01:24:41,bin5081,75,False +CTSPillarNetworkA,5082,5082,5082,1983-12-01,508.20000000004705,508.2218,2015-01-01 01:24:42,bin5082,35,False +CTSPillarNetworkA,5083,5083,5083,1983-12-02,508.3000000000471,508.3218,2015-01-01 01:24:43,bin5083,75,False +CTSPillarNetworkA,5084,5084,5084,1983-12-03,508.4000000000471,508.4218,2015-01-01 01:24:44,bin5084,35,False +CTSPillarNetworkA,5085,5085,5085,1983-12-04,508.5000000000471,508.52182,2015-01-01 01:24:45,bin5085,75,False +CTSPillarNetworkA,5086,5086,5086,1983-12-05,508.60000000004715,508.62183,2015-01-01 01:24:46,bin5086,35,False +CTSPillarNetworkA,5087,5087,5087,1983-12-06,508.70000000004717,508.72183,2015-01-01 01:24:47,bin5087,75,False +CTSPillarNetworkA,5088,5088,5088,1983-12-07,508.8000000000472,508.82184,2015-01-01 01:24:48,bin5088,35,False +CTSPillarNetworkA,5089,5089,5089,1983-12-08,508.9000000000472,508.92184,2015-01-01 01:24:49,bin5089,75,False +CTSPillarNetworkA,5090,5090,5090,1983-12-09,509.00000000004724,509.02185,2015-01-01 01:24:50,bin5090,35,False +CTSPillarNetworkA,5091,5091,5091,1983-12-10,509.10000000004726,509.12186,2015-01-01 01:24:51,bin5091,75,False +CTSPillarNetworkA,5092,5092,5092,1983-12-11,509.2000000000473,509.22186,2015-01-01 01:24:52,bin5092,35,False +CTSPillarNetworkA,5093,5093,5093,1983-12-12,509.3000000000473,509.32187,2015-01-01 01:24:53,bin5093,75,False +CTSPillarNetworkA,5094,5094,5094,1983-12-13,509.4000000000473,509.42188,2015-01-01 01:24:54,bin5094,35,False +CTSPillarNetworkA,5095,5095,5095,1983-12-14,509.50000000004735,509.52188,2015-01-01 01:24:55,bin5095,75,False +CTSPillarNetworkA,5096,5096,5096,1983-12-15,509.6000000000474,509.6219,2015-01-01 01:24:56,bin5096,35,False +CTSPillarNetworkA,5097,5097,5097,1983-12-16,509.7000000000474,509.7219,2015-01-01 01:24:57,bin5097,75,False +CTSPillarNetworkA,5098,5098,5098,1983-12-17,509.8000000000474,509.8219,2015-01-01 01:24:58,bin5098,35,False +CTSPillarNetworkA,5099,5099,5099,1983-12-18,509.90000000004744,509.9219,2015-01-01 01:24:59,bin5099,75,False +CTSPillarNetworkA,5100,5100,5100,1983-12-19,510.00000000004746,510.0219,2015-01-01 01:25:00,bin5100,35,False +CTSPillarNetworkA,5101,5101,5101,1983-12-20,510.1000000000475,510.12192,2015-01-01 01:25:01,bin5101,75,False +CTSPillarNetworkA,5102,5102,5102,1983-12-21,510.2000000000475,510.22192,2015-01-01 01:25:02,bin5102,35,False +CTSPillarNetworkA,5103,5103,5103,1983-12-22,510.30000000004753,510.32193,2015-01-01 01:25:03,bin5103,75,False +CTSPillarNetworkA,5104,5104,5104,1983-12-23,510.40000000004756,510.42194,2015-01-01 01:25:04,bin5104,35,False +CTSPillarNetworkA,5105,5105,5105,1983-12-24,510.5000000000476,510.52194,2015-01-01 01:25:05,bin5105,75,False +CTSPillarNetworkA,5106,5106,5106,1983-12-25,510.6000000000476,510.62195,2015-01-01 01:25:06,bin5106,35,False +CTSPillarNetworkA,5107,5107,5107,1983-12-26,510.7000000000476,510.72195,2015-01-01 01:25:07,bin5107,75,False +CTSPillarNetworkA,5108,5108,5108,1983-12-27,510.80000000004765,510.82196,2015-01-01 01:25:08,bin5108,35,False +CTSPillarNetworkA,5109,5109,5109,1983-12-28,510.90000000004767,510.92197,2015-01-01 01:25:09,bin5109,75,False +CTSPillarNetworkA,5110,5110,5110,1983-12-29,511.0000000000477,511.02197,2015-01-01 01:25:10,bin5110,35,False +CTSPillarNetworkA,5111,5111,5111,1983-12-30,511.1000000000477,511.12198,2015-01-01 01:25:11,bin5111,75,False +CTSPillarNetworkA,5112,5112,5112,1983-12-31,511.20000000004774,511.222,2015-01-01 01:25:12,bin5112,35,False +CTSPillarNetworkA,5113,5113,5113,1984-01-01,511.30000000004776,511.322,2015-01-01 01:25:13,bin5113,75,False +CTSPillarNetworkA,5114,5114,5114,1984-01-02,511.4000000000478,511.422,2015-01-01 01:25:14,bin5114,35,False +CTSPillarNetworkA,5115,5115,5115,1984-01-03,511.5000000000478,511.522,2015-01-01 01:25:15,bin5115,75,False +CTSPillarNetworkA,5116,5116,5116,1984-01-04,511.6000000000478,511.622,2015-01-01 01:25:16,bin5116,35,False +CTSPillarNetworkA,5117,5117,5117,1984-01-05,511.70000000004785,511.72202,2015-01-01 01:25:17,bin5117,75,False +CTSPillarNetworkA,5118,5118,5118,1984-01-06,511.8000000000479,511.82202,2015-01-01 01:25:18,bin5118,35,False +CTSPillarNetworkA,5119,5119,5119,1984-01-07,511.9000000000479,511.92203,2015-01-01 01:25:19,bin5119,75,False +CTSPillarNetworkA,5120,5120,5120,1984-01-08,512.0000000000479,512.02203,2015-01-01 01:25:20,bin5120,35,False +CTSPillarNetworkA,5121,5121,5121,1984-01-09,512.1000000000479,512.122,2015-01-01 01:25:21,bin5121,75,False +CTSPillarNetworkA,5122,5122,5122,1984-01-10,512.2000000000479,512.222,2015-01-01 01:25:22,bin5122,35,False +CTSPillarNetworkA,5123,5123,5123,1984-01-11,512.3000000000479,512.32196,2015-01-01 01:25:23,bin5123,75,False +CTSPillarNetworkA,5124,5124,5124,1984-01-12,512.400000000048,512.42194,2015-01-01 01:25:24,bin5124,35,False +CTSPillarNetworkA,5125,5125,5125,1984-01-13,512.500000000048,512.5219,2015-01-01 01:25:25,bin5125,75,False +CTSPillarNetworkA,5126,5126,5126,1984-01-14,512.600000000048,512.6219,2015-01-01 01:25:26,bin5126,35,False +CTSPillarNetworkA,5127,5127,5127,1984-01-15,512.700000000048,512.72186,2015-01-01 01:25:27,bin5127,75,False +CTSPillarNetworkA,5128,5128,5128,1984-01-16,512.800000000048,512.82184,2015-01-01 01:25:28,bin5128,35,False +CTSPillarNetworkA,5129,5129,5129,1984-01-17,512.9000000000481,512.9218,2015-01-01 01:25:29,bin5129,75,False +CTSPillarNetworkA,5130,5130,5130,1984-01-18,513.0000000000481,513.0218,2015-01-01 01:25:30,bin5130,35,False +CTSPillarNetworkA,5131,5131,5131,1984-01-19,513.1000000000481,513.12177,2015-01-01 01:25:31,bin5131,75,False +CTSPillarNetworkA,5132,5132,5132,1984-01-20,513.2000000000481,513.22174,2015-01-01 01:25:32,bin5132,35,False +CTSPillarNetworkA,5133,5133,5133,1984-01-21,513.3000000000482,513.3217,2015-01-01 01:25:33,bin5133,75,False +CTSPillarNetworkA,5134,5134,5134,1984-01-22,513.4000000000482,513.4217,2015-01-01 01:25:34,bin5134,35,False +CTSPillarNetworkA,5135,5135,5135,1984-01-23,513.5000000000482,513.52167,2015-01-01 01:25:35,bin5135,75,False +CTSPillarNetworkA,5136,5136,5136,1984-01-24,513.6000000000482,513.62164,2015-01-01 01:25:36,bin5136,35,False +CTSPillarNetworkA,5137,5137,5137,1984-01-25,513.7000000000482,513.7216,2015-01-01 01:25:37,bin5137,75,False +CTSPillarNetworkA,5138,5138,5138,1984-01-26,513.8000000000483,513.8216,2015-01-01 01:25:38,bin5138,35,False +CTSPillarNetworkA,5139,5139,5139,1984-01-27,513.9000000000483,513.9216,2015-01-01 01:25:39,bin5139,75,False +CTSPillarNetworkA,5140,5140,5140,1984-01-28,514.0000000000483,514.02155,2015-01-01 01:25:40,bin5140,35,False +CTSPillarNetworkA,5141,5141,5141,1984-01-29,514.1000000000483,514.1215,2015-01-01 01:25:41,bin5141,75,False +CTSPillarNetworkA,5142,5142,5142,1984-01-30,514.2000000000484,514.2215,2015-01-01 01:25:42,bin5142,35,False +CTSPillarNetworkA,5143,5143,5143,1984-01-31,514.3000000000484,514.3215,2015-01-01 01:25:43,bin5143,75,False +CTSPillarNetworkA,5144,5144,5144,1984-02-01,514.4000000000484,514.42145,2015-01-01 01:25:44,bin5144,35,False +CTSPillarNetworkA,5145,5145,5145,1984-02-02,514.5000000000484,514.5214,2015-01-01 01:25:45,bin5145,75,False +CTSPillarNetworkA,5146,5146,5146,1984-02-03,514.6000000000485,514.6214,2015-01-01 01:25:46,bin5146,35,False +CTSPillarNetworkA,5147,5147,5147,1984-02-04,514.7000000000485,514.7214,2015-01-01 01:25:47,bin5147,75,False +CTSPillarNetworkA,5148,5148,5148,1984-02-05,514.8000000000485,514.82135,2015-01-01 01:25:48,bin5148,35,False +CTSPillarNetworkA,5149,5149,5149,1984-02-06,514.9000000000485,514.9213,2015-01-01 01:25:49,bin5149,75,False +CTSPillarNetworkA,5150,5150,5150,1984-02-07,515.0000000000485,515.0213,2015-01-01 01:25:50,bin5150,35,False +CTSPillarNetworkA,5151,5151,5151,1984-02-08,515.1000000000486,515.1213,2015-01-01 01:25:51,bin5151,75,False +CTSPillarNetworkA,5152,5152,5152,1984-02-09,515.2000000000486,515.22125,2015-01-01 01:25:52,bin5152,35,False +CTSPillarNetworkA,5153,5153,5153,1984-02-10,515.3000000000486,515.3212,2015-01-01 01:25:53,bin5153,75,False +CTSPillarNetworkA,5154,5154,5154,1984-02-11,515.4000000000486,515.4212,2015-01-01 01:25:54,bin5154,35,False +CTSPillarNetworkA,5155,5155,5155,1984-02-12,515.5000000000487,515.5212,2015-01-01 01:25:55,bin5155,75,False +CTSPillarNetworkA,5156,5156,5156,1984-02-13,515.6000000000487,515.62115,2015-01-01 01:25:56,bin5156,35,False +CTSPillarNetworkA,5157,5157,5157,1984-02-14,515.7000000000487,515.7211,2015-01-01 01:25:57,bin5157,75,False +CTSPillarNetworkA,5158,5158,5158,1984-02-15,515.8000000000487,515.8211,2015-01-01 01:25:58,bin5158,35,False +CTSPillarNetworkA,5159,5159,5159,1984-02-16,515.9000000000487,515.9211,2015-01-01 01:25:59,bin5159,75,False +CTSPillarNetworkA,5160,5160,5160,1984-02-17,516.0000000000488,516.02106,2015-01-01 01:26:00,bin5160,35,False +CTSPillarNetworkA,5161,5161,5161,1984-02-18,516.1000000000488,516.12103,2015-01-01 01:26:01,bin5161,75,False +CTSPillarNetworkA,5162,5162,5162,1984-02-19,516.2000000000488,516.221,2015-01-01 01:26:02,bin5162,35,False +CTSPillarNetworkA,5163,5163,5163,1984-02-20,516.3000000000488,516.321,2015-01-01 01:26:03,bin5163,75,False +CTSPillarNetworkA,5164,5164,5164,1984-02-21,516.4000000000489,516.42096,2015-01-01 01:26:04,bin5164,35,False +CTSPillarNetworkA,5165,5165,5165,1984-02-22,516.5000000000489,516.52094,2015-01-01 01:26:05,bin5165,75,False +CTSPillarNetworkA,5166,5166,5166,1984-02-23,516.6000000000489,516.6209,2015-01-01 01:26:06,bin5166,35,False +CTSPillarNetworkA,5167,5167,5167,1984-02-24,516.7000000000489,516.7209,2015-01-01 01:26:07,bin5167,75,False +CTSPillarNetworkA,5168,5168,5168,1984-02-25,516.800000000049,516.82086,2015-01-01 01:26:08,bin5168,35,False +CTSPillarNetworkA,5169,5169,5169,1984-02-26,516.900000000049,516.92084,2015-01-01 01:26:09,bin5169,75,False +CTSPillarNetworkA,5170,5170,5170,1984-02-27,517.000000000049,517.0208,2015-01-01 01:26:10,bin5170,35,False +CTSPillarNetworkA,5171,5171,5171,1984-02-28,517.100000000049,517.1208,2015-01-01 01:26:11,bin5171,75,False +CTSPillarNetworkA,5172,5172,5172,1984-02-29,517.200000000049,517.22076,2015-01-01 01:26:12,bin5172,35,False +CTSPillarNetworkA,5173,5173,5173,1984-03-01,517.3000000000491,517.32074,2015-01-01 01:26:13,bin5173,75,False +CTSPillarNetworkA,5174,5174,5174,1984-03-02,517.4000000000491,517.4207,2015-01-01 01:26:14,bin5174,35,False +CTSPillarNetworkA,5175,5175,5175,1984-03-03,517.5000000000491,517.5207,2015-01-01 01:26:15,bin5175,75,False +CTSPillarNetworkA,5176,5176,5176,1984-03-04,517.6000000000491,517.62067,2015-01-01 01:26:16,bin5176,35,False +CTSPillarNetworkA,5177,5177,5177,1984-03-05,517.7000000000492,517.72064,2015-01-01 01:26:17,bin5177,75,False +CTSPillarNetworkA,5178,5178,5178,1984-03-06,517.8000000000492,517.8206,2015-01-01 01:26:18,bin5178,35,False +CTSPillarNetworkA,5179,5179,5179,1984-03-07,517.9000000000492,517.9206,2015-01-01 01:26:19,bin5179,75,False +CTSPillarNetworkA,5180,5180,5180,1984-03-08,518.0000000000492,518.02057,2015-01-01 01:26:20,bin5180,35,False +CTSPillarNetworkA,5181,5181,5181,1984-03-09,518.1000000000492,518.12054,2015-01-01 01:26:21,bin5181,75,False +CTSPillarNetworkA,5182,5182,5182,1984-03-10,518.2000000000493,518.2205,2015-01-01 01:26:22,bin5182,35,False +CTSPillarNetworkA,5183,5183,5183,1984-03-11,518.3000000000493,518.3205,2015-01-01 01:26:23,bin5183,75,False +CTSPillarNetworkA,5184,5184,5184,1984-03-12,518.4000000000493,518.4205,2015-01-01 01:26:24,bin5184,35,False +CTSPillarNetworkA,5185,5185,5185,1984-03-13,518.5000000000493,518.52045,2015-01-01 01:26:25,bin5185,75,False +CTSPillarNetworkA,5186,5186,5186,1984-03-14,518.6000000000494,518.6204,2015-01-01 01:26:26,bin5186,35,False +CTSPillarNetworkA,5187,5187,5187,1984-03-15,518.7000000000494,518.7204,2015-01-01 01:26:27,bin5187,75,False +CTSPillarNetworkA,5188,5188,5188,1984-03-16,518.8000000000494,518.8204,2015-01-01 01:26:28,bin5188,35,False +CTSPillarNetworkA,5189,5189,5189,1984-03-17,518.9000000000494,518.92035,2015-01-01 01:26:29,bin5189,75,False +CTSPillarNetworkA,5190,5190,5190,1984-03-18,519.0000000000495,519.0203,2015-01-01 01:26:30,bin5190,35,False +CTSPillarNetworkA,5191,5191,5191,1984-03-19,519.1000000000495,519.1203,2015-01-01 01:26:31,bin5191,75,False +CTSPillarNetworkA,5192,5192,5192,1984-03-20,519.2000000000495,519.2203,2015-01-01 01:26:32,bin5192,35,False +CTSPillarNetworkA,5193,5193,5193,1984-03-21,519.3000000000495,519.32025,2015-01-01 01:26:33,bin5193,75,False +CTSPillarNetworkA,5194,5194,5194,1984-03-22,519.4000000000495,519.4202,2015-01-01 01:26:34,bin5194,35,False +CTSPillarNetworkA,5195,5195,5195,1984-03-23,519.5000000000496,519.5202,2015-01-01 01:26:35,bin5195,75,False +CTSPillarNetworkA,5196,5196,5196,1984-03-24,519.6000000000496,519.6202,2015-01-01 01:26:36,bin5196,35,False +CTSPillarNetworkA,5197,5197,5197,1984-03-25,519.7000000000496,519.72015,2015-01-01 01:26:37,bin5197,75,False +CTSPillarNetworkA,5198,5198,5198,1984-03-26,519.8000000000496,519.8201,2015-01-01 01:26:38,bin5198,35,False +CTSPillarNetworkA,5199,5199,5199,1984-03-27,519.9000000000497,519.9201,2015-01-01 01:26:39,bin5199,75,False +CTSPillarNetworkA,5200,5200,5200,1984-03-28,520.0000000000497,520.0201,2015-01-01 01:26:40,bin5200,35,False +CTSPillarNetworkA,5201,5201,5201,1984-03-29,520.1000000000497,520.12006,2015-01-01 01:26:41,bin5201,75,False +CTSPillarNetworkA,5202,5202,5202,1984-03-30,520.2000000000497,520.22003,2015-01-01 01:26:42,bin5202,35,False +CTSPillarNetworkA,5203,5203,5203,1984-03-31,520.3000000000497,520.32,2015-01-01 01:26:43,bin5203,75,False +CTSPillarNetworkA,5204,5204,5204,1984-04-01,520.4000000000498,520.42,2015-01-01 01:26:44,bin5204,35,False +CTSPillarNetworkA,5205,5205,5205,1984-04-02,520.5000000000498,520.51996,2015-01-01 01:26:45,bin5205,75,False +CTSPillarNetworkA,5206,5206,5206,1984-04-03,520.6000000000498,520.61993,2015-01-01 01:26:46,bin5206,35,False +CTSPillarNetworkA,5207,5207,5207,1984-04-04,520.7000000000498,520.7199,2015-01-01 01:26:47,bin5207,75,False +CTSPillarNetworkA,5208,5208,5208,1984-04-05,520.8000000000499,520.8199,2015-01-01 01:26:48,bin5208,35,False +CTSPillarNetworkA,5209,5209,5209,1984-04-06,520.9000000000499,520.91986,2015-01-01 01:26:49,bin5209,75,False +CTSPillarNetworkA,5210,5210,5210,1984-04-07,521.0000000000499,521.01984,2015-01-01 01:26:50,bin5210,35,False +CTSPillarNetworkA,5211,5211,5211,1984-04-08,521.1000000000499,521.1198,2015-01-01 01:26:51,bin5211,75,False +CTSPillarNetworkA,5212,5212,5212,1984-04-09,521.20000000005,521.2198,2015-01-01 01:26:52,bin5212,35,False +CTSPillarNetworkA,5213,5213,5213,1984-04-10,521.30000000005,521.31976,2015-01-01 01:26:53,bin5213,75,False +CTSPillarNetworkA,5214,5214,5214,1984-04-11,521.40000000005,521.41974,2015-01-01 01:26:54,bin5214,35,False +CTSPillarNetworkA,5215,5215,5215,1984-04-12,521.50000000005,521.5197,2015-01-01 01:26:55,bin5215,75,False +CTSPillarNetworkA,5216,5216,5216,1984-04-13,521.60000000005,521.6197,2015-01-01 01:26:56,bin5216,35,False +CTSPillarNetworkA,5217,5217,5217,1984-04-14,521.7000000000501,521.71967,2015-01-01 01:26:57,bin5217,75,False +CTSPillarNetworkA,5218,5218,5218,1984-04-15,521.8000000000501,521.81964,2015-01-01 01:26:58,bin5218,35,False +CTSPillarNetworkA,5219,5219,5219,1984-04-16,521.9000000000501,521.9196,2015-01-01 01:26:59,bin5219,75,False +CTSPillarNetworkA,5220,5220,5220,1984-04-17,522.0000000000501,522.0196,2015-01-01 01:27:00,bin5220,35,False +CTSPillarNetworkA,5221,5221,5221,1984-04-18,522.1000000000502,522.11957,2015-01-01 01:27:01,bin5221,75,False +CTSPillarNetworkA,5222,5222,5222,1984-04-19,522.2000000000502,522.21954,2015-01-01 01:27:02,bin5222,35,False +CTSPillarNetworkA,5223,5223,5223,1984-04-20,522.3000000000502,522.3195,2015-01-01 01:27:03,bin5223,75,False +CTSPillarNetworkA,5224,5224,5224,1984-04-21,522.4000000000502,522.4195,2015-01-01 01:27:04,bin5224,35,False +CTSPillarNetworkA,5225,5225,5225,1984-04-22,522.5000000000502,522.5195,2015-01-01 01:27:05,bin5225,75,False +CTSPillarNetworkA,5226,5226,5226,1984-04-23,522.6000000000503,522.61945,2015-01-01 01:27:06,bin5226,35,False +CTSPillarNetworkA,5227,5227,5227,1984-04-24,522.7000000000503,522.7194,2015-01-01 01:27:07,bin5227,75,False +CTSPillarNetworkA,5228,5228,5228,1984-04-25,522.8000000000503,522.8194,2015-01-01 01:27:08,bin5228,35,False +CTSPillarNetworkA,5229,5229,5229,1984-04-26,522.9000000000503,522.9194,2015-01-01 01:27:09,bin5229,75,False +CTSPillarNetworkA,5230,5230,5230,1984-04-27,523.0000000000504,523.01935,2015-01-01 01:27:10,bin5230,35,False +CTSPillarNetworkA,5231,5231,5231,1984-04-28,523.1000000000504,523.1193,2015-01-01 01:27:11,bin5231,75,False +CTSPillarNetworkA,5232,5232,5232,1984-04-29,523.2000000000504,523.2193,2015-01-01 01:27:12,bin5232,35,False +CTSPillarNetworkA,5233,5233,5233,1984-04-30,523.3000000000504,523.3193,2015-01-01 01:27:13,bin5233,75,False +CTSPillarNetworkA,5234,5234,5234,1984-05-01,523.4000000000505,523.41925,2015-01-01 01:27:14,bin5234,35,False +CTSPillarNetworkA,5235,5235,5235,1984-05-02,523.5000000000505,523.5192,2015-01-01 01:27:15,bin5235,75,False +CTSPillarNetworkA,5236,5236,5236,1984-05-03,523.6000000000505,523.6192,2015-01-01 01:27:16,bin5236,35,False +CTSPillarNetworkA,5237,5237,5237,1984-05-04,523.7000000000505,523.7192,2015-01-01 01:27:17,bin5237,75,False +CTSPillarNetworkA,5238,5238,5238,1984-05-05,523.8000000000505,523.81915,2015-01-01 01:27:18,bin5238,35,False +CTSPillarNetworkA,5239,5239,5239,1984-05-06,523.9000000000506,523.9191,2015-01-01 01:27:19,bin5239,75,False +CTSPillarNetworkA,5240,5240,5240,1984-05-07,524.0000000000506,524.0191,2015-01-01 01:27:20,bin5240,35,False +CTSPillarNetworkA,5241,5241,5241,1984-05-08,524.1000000000506,524.1191,2015-01-01 01:27:21,bin5241,75,False +CTSPillarNetworkA,5242,5242,5242,1984-05-09,524.2000000000506,524.21906,2015-01-01 01:27:22,bin5242,35,False +CTSPillarNetworkA,5243,5243,5243,1984-05-10,524.3000000000507,524.31903,2015-01-01 01:27:23,bin5243,75,False +CTSPillarNetworkA,5244,5244,5244,1984-05-11,524.4000000000507,524.419,2015-01-01 01:27:24,bin5244,35,False +CTSPillarNetworkA,5245,5245,5245,1984-05-12,524.5000000000507,524.519,2015-01-01 01:27:25,bin5245,75,False +CTSPillarNetworkA,5246,5246,5246,1984-05-13,524.6000000000507,524.61896,2015-01-01 01:27:26,bin5246,35,False +CTSPillarNetworkA,5247,5247,5247,1984-05-14,524.7000000000507,524.71893,2015-01-01 01:27:27,bin5247,75,False +CTSPillarNetworkA,5248,5248,5248,1984-05-15,524.8000000000508,524.8189,2015-01-01 01:27:28,bin5248,35,False +CTSPillarNetworkA,5249,5249,5249,1984-05-16,524.9000000000508,524.9189,2015-01-01 01:27:29,bin5249,75,False +CTSPillarNetworkA,5250,5250,5250,1984-05-17,525.0000000000508,525.01886,2015-01-01 01:27:30,bin5250,35,False +CTSPillarNetworkA,5251,5251,5251,1984-05-18,525.1000000000508,525.11884,2015-01-01 01:27:31,bin5251,75,False +CTSPillarNetworkA,5252,5252,5252,1984-05-19,525.2000000000509,525.2188,2015-01-01 01:27:32,bin5252,35,False +CTSPillarNetworkA,5253,5253,5253,1984-05-20,525.3000000000509,525.3188,2015-01-01 01:27:33,bin5253,75,False +CTSPillarNetworkA,5254,5254,5254,1984-05-21,525.4000000000509,525.41876,2015-01-01 01:27:34,bin5254,35,False +CTSPillarNetworkA,5255,5255,5255,1984-05-22,525.5000000000509,525.51874,2015-01-01 01:27:35,bin5255,75,False +CTSPillarNetworkA,5256,5256,5256,1984-05-23,525.600000000051,525.6187,2015-01-01 01:27:36,bin5256,35,False +CTSPillarNetworkA,5257,5257,5257,1984-05-24,525.700000000051,525.7187,2015-01-01 01:27:37,bin5257,75,False +CTSPillarNetworkA,5258,5258,5258,1984-05-25,525.800000000051,525.81866,2015-01-01 01:27:38,bin5258,35,False +CTSPillarNetworkA,5259,5259,5259,1984-05-26,525.900000000051,525.91864,2015-01-01 01:27:39,bin5259,75,False +CTSPillarNetworkA,5260,5260,5260,1984-05-27,526.000000000051,526.0186,2015-01-01 01:27:40,bin5260,35,False +CTSPillarNetworkA,5261,5261,5261,1984-05-28,526.1000000000511,526.1186,2015-01-01 01:27:41,bin5261,75,False +CTSPillarNetworkA,5262,5262,5262,1984-05-29,526.2000000000511,526.21857,2015-01-01 01:27:42,bin5262,35,False +CTSPillarNetworkA,5263,5263,5263,1984-05-30,526.3000000000511,526.31854,2015-01-01 01:27:43,bin5263,75,False +CTSPillarNetworkA,5264,5264,5264,1984-05-31,526.4000000000511,526.4185,2015-01-01 01:27:44,bin5264,35,False +CTSPillarNetworkA,5265,5265,5265,1984-06-01,526.5000000000512,526.5185,2015-01-01 01:27:45,bin5265,75,False +CTSPillarNetworkA,5266,5266,5266,1984-06-02,526.6000000000512,526.61847,2015-01-01 01:27:46,bin5266,35,False +CTSPillarNetworkA,5267,5267,5267,1984-06-03,526.7000000000512,526.71844,2015-01-01 01:27:47,bin5267,75,False +CTSPillarNetworkA,5268,5268,5268,1984-06-04,526.8000000000512,526.8184,2015-01-01 01:27:48,bin5268,35,False +CTSPillarNetworkA,5269,5269,5269,1984-06-05,526.9000000000513,526.9184,2015-01-01 01:27:49,bin5269,75,False +CTSPillarNetworkA,5270,5270,5270,1984-06-06,527.0000000000513,527.0184,2015-01-01 01:27:50,bin5270,35,False +CTSPillarNetworkA,5271,5271,5271,1984-06-07,527.1000000000513,527.11835,2015-01-01 01:27:51,bin5271,75,False +CTSPillarNetworkA,5272,5272,5272,1984-06-08,527.2000000000513,527.2183,2015-01-01 01:27:52,bin5272,35,False +CTSPillarNetworkA,5273,5273,5273,1984-06-09,527.3000000000513,527.3183,2015-01-01 01:27:53,bin5273,75,False +CTSPillarNetworkA,5274,5274,5274,1984-06-10,527.4000000000514,527.4183,2015-01-01 01:27:54,bin5274,35,False +CTSPillarNetworkA,5275,5275,5275,1984-06-11,527.5000000000514,527.51825,2015-01-01 01:27:55,bin5275,75,False +CTSPillarNetworkA,5276,5276,5276,1984-06-12,527.6000000000514,527.6182,2015-01-01 01:27:56,bin5276,35,False +CTSPillarNetworkA,5277,5277,5277,1984-06-13,527.7000000000514,527.7182,2015-01-01 01:27:57,bin5277,75,False +CTSPillarNetworkA,5278,5278,5278,1984-06-14,527.8000000000515,527.8182,2015-01-01 01:27:58,bin5278,35,False +CTSPillarNetworkA,5279,5279,5279,1984-06-15,527.9000000000515,527.91815,2015-01-01 01:27:59,bin5279,75,False +CTSPillarNetworkA,5280,5280,5280,1984-06-16,528.0000000000515,528.0181,2015-01-01 01:28:00,bin5280,35,False +CTSPillarNetworkA,5281,5281,5281,1984-06-17,528.1000000000515,528.1181,2015-01-01 01:28:01,bin5281,75,False +CTSPillarNetworkA,5282,5282,5282,1984-06-18,528.2000000000515,528.2181,2015-01-01 01:28:02,bin5282,35,False +CTSPillarNetworkA,5283,5283,5283,1984-06-19,528.3000000000516,528.31805,2015-01-01 01:28:03,bin5283,75,False +CTSPillarNetworkA,5284,5284,5284,1984-06-20,528.4000000000516,528.418,2015-01-01 01:28:04,bin5284,35,False +CTSPillarNetworkA,5285,5285,5285,1984-06-21,528.5000000000516,528.518,2015-01-01 01:28:05,bin5285,75,False +CTSPillarNetworkA,5286,5286,5286,1984-06-22,528.6000000000516,528.618,2015-01-01 01:28:06,bin5286,35,False +CTSPillarNetworkA,5287,5287,5287,1984-06-23,528.7000000000517,528.71796,2015-01-01 01:28:07,bin5287,75,False +CTSPillarNetworkA,5288,5288,5288,1984-06-24,528.8000000000517,528.81793,2015-01-01 01:28:08,bin5288,35,False +CTSPillarNetworkA,5289,5289,5289,1984-06-25,528.9000000000517,528.9179,2015-01-01 01:28:09,bin5289,75,False +CTSPillarNetworkA,5290,5290,5290,1984-06-26,529.0000000000517,529.0179,2015-01-01 01:28:10,bin5290,35,False +CTSPillarNetworkA,5291,5291,5291,1984-06-27,529.1000000000518,529.11786,2015-01-01 01:28:11,bin5291,75,False +CTSPillarNetworkA,5292,5292,5292,1984-06-28,529.2000000000518,529.21783,2015-01-01 01:28:12,bin5292,35,False +CTSPillarNetworkA,5293,5293,5293,1984-06-29,529.3000000000518,529.3178,2015-01-01 01:28:13,bin5293,75,False +CTSPillarNetworkA,5294,5294,5294,1984-06-30,529.4000000000518,529.4178,2015-01-01 01:28:14,bin5294,35,False +CTSPillarNetworkA,5295,5295,5295,1984-07-01,529.5000000000518,529.51776,2015-01-01 01:28:15,bin5295,75,False +CTSPillarNetworkA,5296,5296,5296,1984-07-02,529.6000000000519,529.61774,2015-01-01 01:28:16,bin5296,35,False +CTSPillarNetworkA,5297,5297,5297,1984-07-03,529.7000000000519,529.7177,2015-01-01 01:28:17,bin5297,75,False +CTSPillarNetworkA,5298,5298,5298,1984-07-04,529.8000000000519,529.8177,2015-01-01 01:28:18,bin5298,35,False +CTSPillarNetworkA,5299,5299,5299,1984-07-05,529.9000000000519,529.91766,2015-01-01 01:28:19,bin5299,75,False +CTSPillarNetworkA,5300,5300,5300,1984-07-06,530.000000000052,530.01764,2015-01-01 01:28:20,bin5300,35,False +CTSPillarNetworkA,5301,5301,5301,1984-07-07,530.100000000052,530.1176,2015-01-01 01:28:21,bin5301,75,False +CTSPillarNetworkA,5302,5302,5302,1984-07-08,530.200000000052,530.2176,2015-01-01 01:28:22,bin5302,35,False +CTSPillarNetworkA,5303,5303,5303,1984-07-09,530.300000000052,530.31757,2015-01-01 01:28:23,bin5303,75,False +CTSPillarNetworkA,5304,5304,5304,1984-07-10,530.400000000052,530.41754,2015-01-01 01:28:24,bin5304,35,False +CTSPillarNetworkA,5305,5305,5305,1984-07-11,530.5000000000521,530.5175,2015-01-01 01:28:25,bin5305,75,False +CTSPillarNetworkA,5306,5306,5306,1984-07-12,530.6000000000521,530.6175,2015-01-01 01:28:26,bin5306,35,False +CTSPillarNetworkA,5307,5307,5307,1984-07-13,530.7000000000521,530.71747,2015-01-01 01:28:27,bin5307,75,False +CTSPillarNetworkA,5308,5308,5308,1984-07-14,530.8000000000521,530.81744,2015-01-01 01:28:28,bin5308,35,False +CTSPillarNetworkA,5309,5309,5309,1984-07-15,530.9000000000522,530.9174,2015-01-01 01:28:29,bin5309,75,False +CTSPillarNetworkA,5310,5310,5310,1984-07-16,531.0000000000522,531.0174,2015-01-01 01:28:30,bin5310,35,False +CTSPillarNetworkA,5311,5311,5311,1984-07-17,531.1000000000522,531.1174,2015-01-01 01:28:31,bin5311,75,False +CTSPillarNetworkA,5312,5312,5312,1984-07-18,531.2000000000522,531.21735,2015-01-01 01:28:32,bin5312,35,False +CTSPillarNetworkA,5313,5313,5313,1984-07-19,531.3000000000523,531.3173,2015-01-01 01:28:33,bin5313,75,False +CTSPillarNetworkA,5314,5314,5314,1984-07-20,531.4000000000523,531.4173,2015-01-01 01:28:34,bin5314,35,False +CTSPillarNetworkA,5315,5315,5315,1984-07-21,531.5000000000523,531.5173,2015-01-01 01:28:35,bin5315,75,False +CTSPillarNetworkA,5316,5316,5316,1984-07-22,531.6000000000523,531.61725,2015-01-01 01:28:36,bin5316,35,False +CTSPillarNetworkA,5317,5317,5317,1984-07-23,531.7000000000523,531.7172,2015-01-01 01:28:37,bin5317,75,False +CTSPillarNetworkA,5318,5318,5318,1984-07-24,531.8000000000524,531.8172,2015-01-01 01:28:38,bin5318,35,False +CTSPillarNetworkA,5319,5319,5319,1984-07-25,531.9000000000524,531.9172,2015-01-01 01:28:39,bin5319,75,False +CTSPillarNetworkA,5320,5320,5320,1984-07-26,532.0000000000524,532.01715,2015-01-01 01:28:40,bin5320,35,False +CTSPillarNetworkA,5321,5321,5321,1984-07-27,532.1000000000524,532.1171,2015-01-01 01:28:41,bin5321,75,False +CTSPillarNetworkA,5322,5322,5322,1984-07-28,532.2000000000525,532.2171,2015-01-01 01:28:42,bin5322,35,False +CTSPillarNetworkA,5323,5323,5323,1984-07-29,532.3000000000525,532.3171,2015-01-01 01:28:43,bin5323,75,False +CTSPillarNetworkA,5324,5324,5324,1984-07-30,532.4000000000525,532.41705,2015-01-01 01:28:44,bin5324,35,False +CTSPillarNetworkA,5325,5325,5325,1984-07-31,532.5000000000525,532.517,2015-01-01 01:28:45,bin5325,75,False +CTSPillarNetworkA,5326,5326,5326,1984-08-01,532.6000000000525,532.617,2015-01-01 01:28:46,bin5326,35,False +CTSPillarNetworkA,5327,5327,5327,1984-08-02,532.7000000000526,532.717,2015-01-01 01:28:47,bin5327,75,False +CTSPillarNetworkA,5328,5328,5328,1984-08-03,532.8000000000526,532.81696,2015-01-01 01:28:48,bin5328,35,False +CTSPillarNetworkA,5329,5329,5329,1984-08-04,532.9000000000526,532.91693,2015-01-01 01:28:49,bin5329,75,False +CTSPillarNetworkA,5330,5330,5330,1984-08-05,533.0000000000526,533.0169,2015-01-01 01:28:50,bin5330,35,False +CTSPillarNetworkA,5331,5331,5331,1984-08-06,533.1000000000527,533.1169,2015-01-01 01:28:51,bin5331,75,False +CTSPillarNetworkA,5332,5332,5332,1984-08-07,533.2000000000527,533.21686,2015-01-01 01:28:52,bin5332,35,False +CTSPillarNetworkA,5333,5333,5333,1984-08-08,533.3000000000527,533.31683,2015-01-01 01:28:53,bin5333,75,False +CTSPillarNetworkA,5334,5334,5334,1984-08-09,533.4000000000527,533.4168,2015-01-01 01:28:54,bin5334,35,False +CTSPillarNetworkA,5335,5335,5335,1984-08-10,533.5000000000528,533.5168,2015-01-01 01:28:55,bin5335,75,False +CTSPillarNetworkA,5336,5336,5336,1984-08-11,533.6000000000528,533.61676,2015-01-01 01:28:56,bin5336,35,False +CTSPillarNetworkA,5337,5337,5337,1984-08-12,533.7000000000528,533.71674,2015-01-01 01:28:57,bin5337,75,False +CTSPillarNetworkA,5338,5338,5338,1984-08-13,533.8000000000528,533.8167,2015-01-01 01:28:58,bin5338,35,False +CTSPillarNetworkA,5339,5339,5339,1984-08-14,533.9000000000528,533.9167,2015-01-01 01:28:59,bin5339,75,False +CTSPillarNetworkA,5340,5340,5340,1984-08-15,534.0000000000529,534.01666,2015-01-01 01:29:00,bin5340,35,False +CTSPillarNetworkA,5341,5341,5341,1984-08-16,534.1000000000529,534.11664,2015-01-01 01:29:01,bin5341,75,False +CTSPillarNetworkA,5342,5342,5342,1984-08-17,534.2000000000529,534.2166,2015-01-01 01:29:02,bin5342,35,False +CTSPillarNetworkA,5343,5343,5343,1984-08-18,534.3000000000529,534.3166,2015-01-01 01:29:03,bin5343,75,False +CTSPillarNetworkA,5344,5344,5344,1984-08-19,534.400000000053,534.41656,2015-01-01 01:29:04,bin5344,35,False +CTSPillarNetworkA,5345,5345,5345,1984-08-20,534.500000000053,534.51654,2015-01-01 01:29:05,bin5345,75,False +CTSPillarNetworkA,5346,5346,5346,1984-08-21,534.600000000053,534.6165,2015-01-01 01:29:06,bin5346,35,False +CTSPillarNetworkA,5347,5347,5347,1984-08-22,534.700000000053,534.7165,2015-01-01 01:29:07,bin5347,75,False +CTSPillarNetworkA,5348,5348,5348,1984-08-23,534.800000000053,534.81647,2015-01-01 01:29:08,bin5348,35,False +CTSPillarNetworkA,5349,5349,5349,1984-08-24,534.9000000000531,534.91644,2015-01-01 01:29:09,bin5349,75,False +CTSPillarNetworkA,5350,5350,5350,1984-08-25,535.0000000000531,535.0164,2015-01-01 01:29:10,bin5350,35,False +CTSPillarNetworkA,5351,5351,5351,1984-08-26,535.1000000000531,535.1164,2015-01-01 01:29:11,bin5351,75,False +CTSPillarNetworkA,5352,5352,5352,1984-08-27,535.2000000000531,535.2164,2015-01-01 01:29:12,bin5352,35,False +CTSPillarNetworkA,5353,5353,5353,1984-08-28,535.3000000000532,535.31635,2015-01-01 01:29:13,bin5353,75,False +CTSPillarNetworkA,5354,5354,5354,1984-08-29,535.4000000000532,535.4163,2015-01-01 01:29:14,bin5354,35,False +CTSPillarNetworkA,5355,5355,5355,1984-08-30,535.5000000000532,535.5163,2015-01-01 01:29:15,bin5355,75,False +CTSPillarNetworkA,5356,5356,5356,1984-08-31,535.6000000000532,535.6163,2015-01-01 01:29:16,bin5356,35,False +CTSPillarNetworkA,5357,5357,5357,1984-09-01,535.7000000000533,535.71625,2015-01-01 01:29:17,bin5357,75,False +CTSPillarNetworkA,5358,5358,5358,1984-09-02,535.8000000000533,535.8162,2015-01-01 01:29:18,bin5358,35,False +CTSPillarNetworkA,5359,5359,5359,1984-09-03,535.9000000000533,535.9162,2015-01-01 01:29:19,bin5359,75,False +CTSPillarNetworkA,5360,5360,5360,1984-09-04,536.0000000000533,536.0162,2015-01-01 01:29:20,bin5360,35,False +CTSPillarNetworkA,5361,5361,5361,1984-09-05,536.1000000000533,536.11615,2015-01-01 01:29:21,bin5361,75,False +CTSPillarNetworkA,5362,5362,5362,1984-09-06,536.2000000000534,536.2161,2015-01-01 01:29:22,bin5362,35,False +CTSPillarNetworkA,5363,5363,5363,1984-09-07,536.3000000000534,536.3161,2015-01-01 01:29:23,bin5363,75,False +CTSPillarNetworkA,5364,5364,5364,1984-09-08,536.4000000000534,536.4161,2015-01-01 01:29:24,bin5364,35,False +CTSPillarNetworkA,5365,5365,5365,1984-09-09,536.5000000000534,536.51605,2015-01-01 01:29:25,bin5365,75,False +CTSPillarNetworkA,5366,5366,5366,1984-09-10,536.6000000000535,536.616,2015-01-01 01:29:26,bin5366,35,False +CTSPillarNetworkA,5367,5367,5367,1984-09-11,536.7000000000535,536.716,2015-01-01 01:29:27,bin5367,75,False +CTSPillarNetworkA,5368,5368,5368,1984-09-12,536.8000000000535,536.816,2015-01-01 01:29:28,bin5368,35,False +CTSPillarNetworkA,5369,5369,5369,1984-09-13,536.9000000000535,536.91595,2015-01-01 01:29:29,bin5369,75,False +CTSPillarNetworkA,5370,5370,5370,1984-09-14,537.0000000000535,537.0159,2015-01-01 01:29:30,bin5370,35,False +CTSPillarNetworkA,5371,5371,5371,1984-09-15,537.1000000000536,537.1159,2015-01-01 01:29:31,bin5371,75,False +CTSPillarNetworkA,5372,5372,5372,1984-09-16,537.2000000000536,537.2159,2015-01-01 01:29:32,bin5372,35,False +CTSPillarNetworkA,5373,5373,5373,1984-09-17,537.3000000000536,537.31586,2015-01-01 01:29:33,bin5373,75,False +CTSPillarNetworkA,5374,5374,5374,1984-09-18,537.4000000000536,537.41583,2015-01-01 01:29:34,bin5374,35,False +CTSPillarNetworkA,5375,5375,5375,1984-09-19,537.5000000000537,537.5158,2015-01-01 01:29:35,bin5375,75,False +CTSPillarNetworkA,5376,5376,5376,1984-09-20,537.6000000000537,537.6158,2015-01-01 01:29:36,bin5376,35,False +CTSPillarNetworkA,5377,5377,5377,1984-09-21,537.7000000000537,537.71576,2015-01-01 01:29:37,bin5377,75,False +CTSPillarNetworkA,5378,5378,5378,1984-09-22,537.8000000000537,537.81573,2015-01-01 01:29:38,bin5378,35,False +CTSPillarNetworkA,5379,5379,5379,1984-09-23,537.9000000000538,537.9157,2015-01-01 01:29:39,bin5379,75,False +CTSPillarNetworkA,5380,5380,5380,1984-09-24,538.0000000000538,538.0157,2015-01-01 01:29:40,bin5380,35,False +CTSPillarNetworkA,5381,5381,5381,1984-09-25,538.1000000000538,538.11566,2015-01-01 01:29:41,bin5381,75,False +CTSPillarNetworkA,5382,5382,5382,1984-09-26,538.2000000000538,538.21564,2015-01-01 01:29:42,bin5382,35,False +CTSPillarNetworkA,5383,5383,5383,1984-09-27,538.3000000000538,538.3156,2015-01-01 01:29:43,bin5383,75,False +CTSPillarNetworkA,5384,5384,5384,1984-09-28,538.4000000000539,538.4156,2015-01-01 01:29:44,bin5384,35,False +CTSPillarNetworkA,5385,5385,5385,1984-09-29,538.5000000000539,538.51556,2015-01-01 01:29:45,bin5385,75,False +CTSPillarNetworkA,5386,5386,5386,1984-09-30,538.6000000000539,538.61554,2015-01-01 01:29:46,bin5386,35,False +CTSPillarNetworkA,5387,5387,5387,1984-10-01,538.7000000000539,538.7155,2015-01-01 01:29:47,bin5387,75,False +CTSPillarNetworkA,5388,5388,5388,1984-10-02,538.800000000054,538.8155,2015-01-01 01:29:48,bin5388,35,False +CTSPillarNetworkA,5389,5389,5389,1984-10-03,538.900000000054,538.91547,2015-01-01 01:29:49,bin5389,75,False +CTSPillarNetworkA,5390,5390,5390,1984-10-04,539.000000000054,539.01544,2015-01-01 01:29:50,bin5390,35,False +CTSPillarNetworkA,5391,5391,5391,1984-10-05,539.100000000054,539.1154,2015-01-01 01:29:51,bin5391,75,False +CTSPillarNetworkA,5392,5392,5392,1984-10-06,539.200000000054,539.2154,2015-01-01 01:29:52,bin5392,35,False +CTSPillarNetworkA,5393,5393,5393,1984-10-07,539.3000000000541,539.31537,2015-01-01 01:29:53,bin5393,75,False +CTSPillarNetworkA,5394,5394,5394,1984-10-08,539.4000000000541,539.41534,2015-01-01 01:29:54,bin5394,35,False +CTSPillarNetworkA,5395,5395,5395,1984-10-09,539.5000000000541,539.5153,2015-01-01 01:29:55,bin5395,75,False +CTSPillarNetworkA,5396,5396,5396,1984-10-10,539.6000000000541,539.6153,2015-01-01 01:29:56,bin5396,35,False +CTSPillarNetworkA,5397,5397,5397,1984-10-11,539.7000000000542,539.7153,2015-01-01 01:29:57,bin5397,75,False +CTSPillarNetworkA,5398,5398,5398,1984-10-12,539.8000000000542,539.81525,2015-01-01 01:29:58,bin5398,35,False +CTSPillarNetworkA,5399,5399,5399,1984-10-13,539.9000000000542,539.9152,2015-01-01 01:29:59,bin5399,75,False +CTSPillarNetworkA,5400,5400,5400,1984-10-14,540.0000000000542,540.0152,2015-01-01 01:30:00,bin5400,35,False +CTSPillarNetworkA,5401,5401,5401,1984-10-15,540.1000000000543,540.1152,2015-01-01 01:30:01,bin5401,75,False +CTSPillarNetworkA,5402,5402,5402,1984-10-16,540.2000000000543,540.21515,2015-01-01 01:30:02,bin5402,35,False +CTSPillarNetworkA,5403,5403,5403,1984-10-17,540.3000000000543,540.3151,2015-01-01 01:30:03,bin5403,75,False +CTSPillarNetworkA,5404,5404,5404,1984-10-18,540.4000000000543,540.4151,2015-01-01 01:30:04,bin5404,35,False +CTSPillarNetworkA,5405,5405,5405,1984-10-19,540.5000000000543,540.5151,2015-01-01 01:30:05,bin5405,75,False +CTSPillarNetworkA,5406,5406,5406,1984-10-20,540.6000000000544,540.61505,2015-01-01 01:30:06,bin5406,35,False +CTSPillarNetworkA,5407,5407,5407,1984-10-21,540.7000000000544,540.715,2015-01-01 01:30:07,bin5407,75,False +CTSPillarNetworkA,5408,5408,5408,1984-10-22,540.8000000000544,540.815,2015-01-01 01:30:08,bin5408,35,False +CTSPillarNetworkA,5409,5409,5409,1984-10-23,540.9000000000544,540.915,2015-01-01 01:30:09,bin5409,75,False +CTSPillarNetworkA,5410,5410,5410,1984-10-24,541.0000000000545,541.01495,2015-01-01 01:30:10,bin5410,35,False +CTSPillarNetworkA,5411,5411,5411,1984-10-25,541.1000000000545,541.1149,2015-01-01 01:30:11,bin5411,75,False +CTSPillarNetworkA,5412,5412,5412,1984-10-26,541.2000000000545,541.2149,2015-01-01 01:30:12,bin5412,35,False +CTSPillarNetworkA,5413,5413,5413,1984-10-27,541.3000000000545,541.3149,2015-01-01 01:30:13,bin5413,75,False +CTSPillarNetworkA,5414,5414,5414,1984-10-28,541.4000000000545,541.41486,2015-01-01 01:30:14,bin5414,35,False +CTSPillarNetworkA,5415,5415,5415,1984-10-29,541.5000000000546,541.51483,2015-01-01 01:30:15,bin5415,75,False +CTSPillarNetworkA,5416,5416,5416,1984-10-30,541.6000000000546,541.6148,2015-01-01 01:30:16,bin5416,35,False +CTSPillarNetworkA,5417,5417,5417,1984-10-31,541.7000000000546,541.7148,2015-01-01 01:30:17,bin5417,75,False +CTSPillarNetworkA,5418,5418,5418,1984-11-01,541.8000000000546,541.81476,2015-01-01 01:30:18,bin5418,35,False +CTSPillarNetworkA,5419,5419,5419,1984-11-02,541.9000000000547,541.91473,2015-01-01 01:30:19,bin5419,75,False +CTSPillarNetworkA,5420,5420,5420,1984-11-03,542.0000000000547,542.0147,2015-01-01 01:30:20,bin5420,35,False +CTSPillarNetworkA,5421,5421,5421,1984-11-04,542.1000000000547,542.1147,2015-01-01 01:30:21,bin5421,75,False +CTSPillarNetworkA,5422,5422,5422,1984-11-05,542.2000000000547,542.21466,2015-01-01 01:30:22,bin5422,35,False +CTSPillarNetworkA,5423,5423,5423,1984-11-06,542.3000000000548,542.31464,2015-01-01 01:30:23,bin5423,75,False +CTSPillarNetworkA,5424,5424,5424,1984-11-07,542.4000000000548,542.4146,2015-01-01 01:30:24,bin5424,35,False +CTSPillarNetworkA,5425,5425,5425,1984-11-08,542.5000000000548,542.5146,2015-01-01 01:30:25,bin5425,75,False +CTSPillarNetworkA,5426,5426,5426,1984-11-09,542.6000000000548,542.61456,2015-01-01 01:30:26,bin5426,35,False +CTSPillarNetworkA,5427,5427,5427,1984-11-10,542.7000000000548,542.71454,2015-01-01 01:30:27,bin5427,75,False +CTSPillarNetworkA,5428,5428,5428,1984-11-11,542.8000000000549,542.8145,2015-01-01 01:30:28,bin5428,35,False +CTSPillarNetworkA,5429,5429,5429,1984-11-12,542.9000000000549,542.9145,2015-01-01 01:30:29,bin5429,75,False +CTSPillarNetworkA,5430,5430,5430,1984-11-13,543.0000000000549,543.01447,2015-01-01 01:30:30,bin5430,35,False +CTSPillarNetworkA,5431,5431,5431,1984-11-14,543.1000000000549,543.11444,2015-01-01 01:30:31,bin5431,75,False +CTSPillarNetworkA,5432,5432,5432,1984-11-15,543.200000000055,543.2144,2015-01-01 01:30:32,bin5432,35,False +CTSPillarNetworkA,5433,5433,5433,1984-11-16,543.300000000055,543.3144,2015-01-01 01:30:33,bin5433,75,False +CTSPillarNetworkA,5434,5434,5434,1984-11-17,543.400000000055,543.41437,2015-01-01 01:30:34,bin5434,35,False +CTSPillarNetworkA,5435,5435,5435,1984-11-18,543.500000000055,543.51434,2015-01-01 01:30:35,bin5435,75,False +CTSPillarNetworkA,5436,5436,5436,1984-11-19,543.600000000055,543.6143,2015-01-01 01:30:36,bin5436,35,False +CTSPillarNetworkA,5437,5437,5437,1984-11-20,543.7000000000551,543.7143,2015-01-01 01:30:37,bin5437,75,False +CTSPillarNetworkA,5438,5438,5438,1984-11-21,543.8000000000551,543.8143,2015-01-01 01:30:38,bin5438,35,False +CTSPillarNetworkA,5439,5439,5439,1984-11-22,543.9000000000551,543.91425,2015-01-01 01:30:39,bin5439,75,False +CTSPillarNetworkA,5440,5440,5440,1984-11-23,544.0000000000551,544.0142,2015-01-01 01:30:40,bin5440,35,False +CTSPillarNetworkA,5441,5441,5441,1984-11-24,544.1000000000552,544.1142,2015-01-01 01:30:41,bin5441,75,False +CTSPillarNetworkA,5442,5442,5442,1984-11-25,544.2000000000552,544.2142,2015-01-01 01:30:42,bin5442,35,False +CTSPillarNetworkA,5443,5443,5443,1984-11-26,544.3000000000552,544.31415,2015-01-01 01:30:43,bin5443,75,False +CTSPillarNetworkA,5444,5444,5444,1984-11-27,544.4000000000552,544.4141,2015-01-01 01:30:44,bin5444,35,False +CTSPillarNetworkA,5445,5445,5445,1984-11-28,544.5000000000553,544.5141,2015-01-01 01:30:45,bin5445,75,False +CTSPillarNetworkA,5446,5446,5446,1984-11-29,544.6000000000553,544.6141,2015-01-01 01:30:46,bin5446,35,False +CTSPillarNetworkA,5447,5447,5447,1984-11-30,544.7000000000553,544.71405,2015-01-01 01:30:47,bin5447,75,False +CTSPillarNetworkA,5448,5448,5448,1984-12-01,544.8000000000553,544.814,2015-01-01 01:30:48,bin5448,35,False +CTSPillarNetworkA,5449,5449,5449,1984-12-02,544.9000000000553,544.914,2015-01-01 01:30:49,bin5449,75,False +CTSPillarNetworkA,5450,5450,5450,1984-12-03,545.0000000000554,545.014,2015-01-01 01:30:50,bin5450,35,False +CTSPillarNetworkA,5451,5451,5451,1984-12-04,545.1000000000554,545.11395,2015-01-01 01:30:51,bin5451,75,False +CTSPillarNetworkA,5452,5452,5452,1984-12-05,545.2000000000554,545.2139,2015-01-01 01:30:52,bin5452,35,False +CTSPillarNetworkA,5453,5453,5453,1984-12-06,545.3000000000554,545.3139,2015-01-01 01:30:53,bin5453,75,False +CTSPillarNetworkA,5454,5454,5454,1984-12-07,545.4000000000555,545.4139,2015-01-01 01:30:54,bin5454,35,False +CTSPillarNetworkA,5455,5455,5455,1984-12-08,545.5000000000555,545.51385,2015-01-01 01:30:55,bin5455,75,False +CTSPillarNetworkA,5456,5456,5456,1984-12-09,545.6000000000555,545.61383,2015-01-01 01:30:56,bin5456,35,False +CTSPillarNetworkA,5457,5457,5457,1984-12-10,545.7000000000555,545.7138,2015-01-01 01:30:57,bin5457,75,False +CTSPillarNetworkA,5458,5458,5458,1984-12-11,545.8000000000555,545.8138,2015-01-01 01:30:58,bin5458,35,False +CTSPillarNetworkA,5459,5459,5459,1984-12-12,545.9000000000556,545.91376,2015-01-01 01:30:59,bin5459,75,False +CTSPillarNetworkA,5460,5460,5460,1984-12-13,546.0000000000556,546.01373,2015-01-01 01:31:00,bin5460,35,False +CTSPillarNetworkA,5461,5461,5461,1984-12-14,546.1000000000556,546.1137,2015-01-01 01:31:01,bin5461,75,False +CTSPillarNetworkA,5462,5462,5462,1984-12-15,546.2000000000556,546.2137,2015-01-01 01:31:02,bin5462,35,False +CTSPillarNetworkA,5463,5463,5463,1984-12-16,546.3000000000557,546.31366,2015-01-01 01:31:03,bin5463,75,False +CTSPillarNetworkA,5464,5464,5464,1984-12-17,546.4000000000557,546.41364,2015-01-01 01:31:04,bin5464,35,False +CTSPillarNetworkA,5465,5465,5465,1984-12-18,546.5000000000557,546.5136,2015-01-01 01:31:05,bin5465,75,False +CTSPillarNetworkA,5466,5466,5466,1984-12-19,546.6000000000557,546.6136,2015-01-01 01:31:06,bin5466,35,False +CTSPillarNetworkA,5467,5467,5467,1984-12-20,546.7000000000558,546.71356,2015-01-01 01:31:07,bin5467,75,False +CTSPillarNetworkA,5468,5468,5468,1984-12-21,546.8000000000558,546.81354,2015-01-01 01:31:08,bin5468,35,False +CTSPillarNetworkA,5469,5469,5469,1984-12-22,546.9000000000558,546.9135,2015-01-01 01:31:09,bin5469,75,False +CTSPillarNetworkA,5470,5470,5470,1984-12-23,547.0000000000558,547.0135,2015-01-01 01:31:10,bin5470,35,False +CTSPillarNetworkA,5471,5471,5471,1984-12-24,547.1000000000558,547.11346,2015-01-01 01:31:11,bin5471,75,False +CTSPillarNetworkA,5472,5472,5472,1984-12-25,547.2000000000559,547.21344,2015-01-01 01:31:12,bin5472,35,False +CTSPillarNetworkA,5473,5473,5473,1984-12-26,547.3000000000559,547.3134,2015-01-01 01:31:13,bin5473,75,False +CTSPillarNetworkA,5474,5474,5474,1984-12-27,547.4000000000559,547.4134,2015-01-01 01:31:14,bin5474,35,False +CTSPillarNetworkA,5475,5475,5475,1984-12-28,547.5000000000559,547.51337,2015-01-01 01:31:15,bin5475,75,False +CTSPillarNetworkA,5476,5476,5476,1984-12-29,547.600000000056,547.61334,2015-01-01 01:31:16,bin5476,35,False +CTSPillarNetworkA,5477,5477,5477,1984-12-30,547.700000000056,547.7133,2015-01-01 01:31:17,bin5477,75,False +CTSPillarNetworkA,5478,5478,5478,1984-12-31,547.800000000056,547.8133,2015-01-01 01:31:18,bin5478,35,False +CTSPillarNetworkA,5479,5479,5479,1985-01-01,547.900000000056,547.91327,2015-01-01 01:31:19,bin5479,75,False +CTSPillarNetworkA,5480,5480,5480,1985-01-02,548.000000000056,548.01324,2015-01-01 01:31:20,bin5480,35,False +CTSPillarNetworkA,5481,5481,5481,1985-01-03,548.1000000000561,548.1132,2015-01-01 01:31:21,bin5481,75,False +CTSPillarNetworkA,5482,5482,5482,1985-01-04,548.2000000000561,548.2132,2015-01-01 01:31:22,bin5482,35,False +CTSPillarNetworkA,5483,5483,5483,1985-01-05,548.3000000000561,548.3132,2015-01-01 01:31:23,bin5483,75,False +CTSPillarNetworkA,5484,5484,5484,1985-01-06,548.4000000000561,548.41315,2015-01-01 01:31:24,bin5484,35,False +CTSPillarNetworkA,5485,5485,5485,1985-01-07,548.5000000000562,548.5131,2015-01-01 01:31:25,bin5485,75,False +CTSPillarNetworkA,5486,5486,5486,1985-01-08,548.6000000000562,548.6131,2015-01-01 01:31:26,bin5486,35,False +CTSPillarNetworkA,5487,5487,5487,1985-01-09,548.7000000000562,548.7131,2015-01-01 01:31:27,bin5487,75,False +CTSPillarNetworkA,5488,5488,5488,1985-01-10,548.8000000000562,548.81305,2015-01-01 01:31:28,bin5488,35,False +CTSPillarNetworkA,5489,5489,5489,1985-01-11,548.9000000000563,548.913,2015-01-01 01:31:29,bin5489,75,False +CTSPillarNetworkA,5490,5490,5490,1985-01-12,549.0000000000563,549.013,2015-01-01 01:31:30,bin5490,35,False +CTSPillarNetworkA,5491,5491,5491,1985-01-13,549.1000000000563,549.113,2015-01-01 01:31:31,bin5491,75,False +CTSPillarNetworkA,5492,5492,5492,1985-01-14,549.2000000000563,549.21295,2015-01-01 01:31:32,bin5492,35,False +CTSPillarNetworkA,5493,5493,5493,1985-01-15,549.3000000000563,549.3129,2015-01-01 01:31:33,bin5493,75,False +CTSPillarNetworkA,5494,5494,5494,1985-01-16,549.4000000000564,549.4129,2015-01-01 01:31:34,bin5494,35,False +CTSPillarNetworkA,5495,5495,5495,1985-01-17,549.5000000000564,549.5129,2015-01-01 01:31:35,bin5495,75,False +CTSPillarNetworkA,5496,5496,5496,1985-01-18,549.6000000000564,549.61285,2015-01-01 01:31:36,bin5496,35,False +CTSPillarNetworkA,5497,5497,5497,1985-01-19,549.7000000000564,549.7128,2015-01-01 01:31:37,bin5497,75,False +CTSPillarNetworkA,5498,5498,5498,1985-01-20,549.8000000000565,549.8128,2015-01-01 01:31:38,bin5498,35,False +CTSPillarNetworkA,5499,5499,5499,1985-01-21,549.9000000000565,549.9128,2015-01-01 01:31:39,bin5499,75,False +CTSPillarNetworkA,5500,5500,5500,1985-01-22,550.0000000000565,550.01276,2015-01-01 01:31:40,bin5500,35,False +CTSPillarNetworkA,5501,5501,5501,1985-01-23,550.1000000000565,550.11273,2015-01-01 01:31:41,bin5501,75,False +CTSPillarNetworkA,5502,5502,5502,1985-01-24,550.2000000000565,550.2127,2015-01-01 01:31:42,bin5502,35,False +CTSPillarNetworkA,5503,5503,5503,1985-01-25,550.3000000000566,550.3127,2015-01-01 01:31:43,bin5503,75,False +CTSPillarNetworkA,5504,5504,5504,1985-01-26,550.4000000000566,550.41266,2015-01-01 01:31:44,bin5504,35,False +CTSPillarNetworkA,5505,5505,5505,1985-01-27,550.5000000000566,550.51263,2015-01-01 01:31:45,bin5505,75,False +CTSPillarNetworkA,5506,5506,5506,1985-01-28,550.6000000000566,550.6126,2015-01-01 01:31:46,bin5506,35,False +CTSPillarNetworkA,5507,5507,5507,1985-01-29,550.7000000000567,550.7126,2015-01-01 01:31:47,bin5507,75,False +CTSPillarNetworkA,5508,5508,5508,1985-01-30,550.8000000000567,550.81256,2015-01-01 01:31:48,bin5508,35,False +CTSPillarNetworkA,5509,5509,5509,1985-01-31,550.9000000000567,550.91254,2015-01-01 01:31:49,bin5509,75,False +CTSPillarNetworkA,5510,5510,5510,1985-02-01,551.0000000000567,551.0125,2015-01-01 01:31:50,bin5510,35,False +CTSPillarNetworkA,5511,5511,5511,1985-02-02,551.1000000000568,551.1125,2015-01-01 01:31:51,bin5511,75,False +CTSPillarNetworkA,5512,5512,5512,1985-02-03,551.2000000000568,551.21246,2015-01-01 01:31:52,bin5512,35,False +CTSPillarNetworkA,5513,5513,5513,1985-02-04,551.3000000000568,551.31244,2015-01-01 01:31:53,bin5513,75,False +CTSPillarNetworkA,5514,5514,5514,1985-02-05,551.4000000000568,551.4124,2015-01-01 01:31:54,bin5514,35,False +CTSPillarNetworkA,5515,5515,5515,1985-02-06,551.5000000000568,551.5124,2015-01-01 01:31:55,bin5515,75,False +CTSPillarNetworkA,5516,5516,5516,1985-02-07,551.6000000000569,551.61237,2015-01-01 01:31:56,bin5516,35,False +CTSPillarNetworkA,5517,5517,5517,1985-02-08,551.7000000000569,551.71234,2015-01-01 01:31:57,bin5517,75,False +CTSPillarNetworkA,5518,5518,5518,1985-02-09,551.8000000000569,551.8123,2015-01-01 01:31:58,bin5518,35,False +CTSPillarNetworkA,5519,5519,5519,1985-02-10,551.9000000000569,551.9123,2015-01-01 01:31:59,bin5519,75,False +CTSPillarNetworkA,5520,5520,5520,1985-02-11,552.000000000057,552.01227,2015-01-01 01:32:00,bin5520,35,False +CTSPillarNetworkA,5521,5521,5521,1985-02-12,552.100000000057,552.11224,2015-01-01 01:32:01,bin5521,75,False +CTSPillarNetworkA,5522,5522,5522,1985-02-13,552.200000000057,552.2122,2015-01-01 01:32:02,bin5522,35,False +CTSPillarNetworkA,5523,5523,5523,1985-02-14,552.300000000057,552.3122,2015-01-01 01:32:03,bin5523,75,False +CTSPillarNetworkA,5524,5524,5524,1985-02-15,552.400000000057,552.4122,2015-01-01 01:32:04,bin5524,35,False +CTSPillarNetworkA,5525,5525,5525,1985-02-16,552.5000000000571,552.51215,2015-01-01 01:32:05,bin5525,75,False +CTSPillarNetworkA,5526,5526,5526,1985-02-17,552.6000000000571,552.6121,2015-01-01 01:32:06,bin5526,35,False +CTSPillarNetworkA,5527,5527,5527,1985-02-18,552.7000000000571,552.7121,2015-01-01 01:32:07,bin5527,75,False +CTSPillarNetworkA,5528,5528,5528,1985-02-19,552.8000000000571,552.8121,2015-01-01 01:32:08,bin5528,35,False +CTSPillarNetworkA,5529,5529,5529,1985-02-20,552.9000000000572,552.91205,2015-01-01 01:32:09,bin5529,75,False +CTSPillarNetworkA,5530,5530,5530,1985-02-21,553.0000000000572,553.012,2015-01-01 01:32:10,bin5530,35,False +CTSPillarNetworkA,5531,5531,5531,1985-02-22,553.1000000000572,553.112,2015-01-01 01:32:11,bin5531,75,False +CTSPillarNetworkA,5532,5532,5532,1985-02-23,553.2000000000572,553.212,2015-01-01 01:32:12,bin5532,35,False +CTSPillarNetworkA,5533,5533,5533,1985-02-24,553.3000000000573,553.31195,2015-01-01 01:32:13,bin5533,75,False +CTSPillarNetworkA,5534,5534,5534,1985-02-25,553.4000000000573,553.4119,2015-01-01 01:32:14,bin5534,35,False +CTSPillarNetworkA,5535,5535,5535,1985-02-26,553.5000000000573,553.5119,2015-01-01 01:32:15,bin5535,75,False +CTSPillarNetworkA,5536,5536,5536,1985-02-27,553.6000000000573,553.6119,2015-01-01 01:32:16,bin5536,35,False +CTSPillarNetworkA,5537,5537,5537,1985-02-28,553.7000000000573,553.71185,2015-01-01 01:32:17,bin5537,75,False +CTSPillarNetworkA,5538,5538,5538,1985-03-01,553.8000000000574,553.8118,2015-01-01 01:32:18,bin5538,35,False +CTSPillarNetworkA,5539,5539,5539,1985-03-02,553.9000000000574,553.9118,2015-01-01 01:32:19,bin5539,75,False +CTSPillarNetworkA,5540,5540,5540,1985-03-03,554.0000000000574,554.0118,2015-01-01 01:32:20,bin5540,35,False +CTSPillarNetworkA,5541,5541,5541,1985-03-04,554.1000000000574,554.11176,2015-01-01 01:32:21,bin5541,75,False +CTSPillarNetworkA,5542,5542,5542,1985-03-05,554.2000000000575,554.21173,2015-01-01 01:32:22,bin5542,35,False +CTSPillarNetworkA,5543,5543,5543,1985-03-06,554.3000000000575,554.3117,2015-01-01 01:32:23,bin5543,75,False +CTSPillarNetworkA,5544,5544,5544,1985-03-07,554.4000000000575,554.4117,2015-01-01 01:32:24,bin5544,35,False +CTSPillarNetworkA,5545,5545,5545,1985-03-08,554.5000000000575,554.51166,2015-01-01 01:32:25,bin5545,75,False +CTSPillarNetworkA,5546,5546,5546,1985-03-09,554.6000000000575,554.61163,2015-01-01 01:32:26,bin5546,35,False +CTSPillarNetworkA,5547,5547,5547,1985-03-10,554.7000000000576,554.7116,2015-01-01 01:32:27,bin5547,75,False +CTSPillarNetworkA,5548,5548,5548,1985-03-11,554.8000000000576,554.8116,2015-01-01 01:32:28,bin5548,35,False +CTSPillarNetworkA,5549,5549,5549,1985-03-12,554.9000000000576,554.91156,2015-01-01 01:32:29,bin5549,75,False +CTSPillarNetworkA,5550,5550,5550,1985-03-13,555.0000000000576,555.01154,2015-01-01 01:32:30,bin5550,35,False +CTSPillarNetworkA,5551,5551,5551,1985-03-14,555.1000000000577,555.1115,2015-01-01 01:32:31,bin5551,75,False +CTSPillarNetworkA,5552,5552,5552,1985-03-15,555.2000000000577,555.2115,2015-01-01 01:32:32,bin5552,35,False +CTSPillarNetworkA,5553,5553,5553,1985-03-16,555.3000000000577,555.31146,2015-01-01 01:32:33,bin5553,75,False +CTSPillarNetworkA,5554,5554,5554,1985-03-17,555.4000000000577,555.41144,2015-01-01 01:32:34,bin5554,35,False +CTSPillarNetworkA,5555,5555,5555,1985-03-18,555.5000000000578,555.5114,2015-01-01 01:32:35,bin5555,75,False +CTSPillarNetworkA,5556,5556,5556,1985-03-19,555.6000000000578,555.6114,2015-01-01 01:32:36,bin5556,35,False +CTSPillarNetworkA,5557,5557,5557,1985-03-20,555.7000000000578,555.71136,2015-01-01 01:32:37,bin5557,75,False +CTSPillarNetworkA,5558,5558,5558,1985-03-21,555.8000000000578,555.81134,2015-01-01 01:32:38,bin5558,35,False +CTSPillarNetworkA,5559,5559,5559,1985-03-22,555.9000000000578,555.9113,2015-01-01 01:32:39,bin5559,75,False +CTSPillarNetworkA,5560,5560,5560,1985-03-23,556.0000000000579,556.0113,2015-01-01 01:32:40,bin5560,35,False +CTSPillarNetworkA,5561,5561,5561,1985-03-24,556.1000000000579,556.11127,2015-01-01 01:32:41,bin5561,75,False +CTSPillarNetworkA,5562,5562,5562,1985-03-25,556.2000000000579,556.21124,2015-01-01 01:32:42,bin5562,35,False +CTSPillarNetworkA,5563,5563,5563,1985-03-26,556.3000000000579,556.3112,2015-01-01 01:32:43,bin5563,75,False +CTSPillarNetworkA,5564,5564,5564,1985-03-27,556.400000000058,556.4112,2015-01-01 01:32:44,bin5564,35,False +CTSPillarNetworkA,5565,5565,5565,1985-03-28,556.500000000058,556.51117,2015-01-01 01:32:45,bin5565,75,False +CTSPillarNetworkA,5566,5566,5566,1985-03-29,556.600000000058,556.61115,2015-01-01 01:32:46,bin5566,35,False +CTSPillarNetworkA,5567,5567,5567,1985-03-30,556.700000000058,556.7111,2015-01-01 01:32:47,bin5567,75,False +CTSPillarNetworkA,5568,5568,5568,1985-03-31,556.800000000058,556.8111,2015-01-01 01:32:48,bin5568,35,False +CTSPillarNetworkA,5569,5569,5569,1985-04-01,556.9000000000581,556.9111,2015-01-01 01:32:49,bin5569,75,False +CTSPillarNetworkA,5570,5570,5570,1985-04-02,557.0000000000581,557.01105,2015-01-01 01:32:50,bin5570,35,False +CTSPillarNetworkA,5571,5571,5571,1985-04-03,557.1000000000581,557.111,2015-01-01 01:32:51,bin5571,75,False +CTSPillarNetworkA,5572,5572,5572,1985-04-04,557.2000000000581,557.211,2015-01-01 01:32:52,bin5572,35,False +CTSPillarNetworkA,5573,5573,5573,1985-04-05,557.3000000000582,557.311,2015-01-01 01:32:53,bin5573,75,False +CTSPillarNetworkA,5574,5574,5574,1985-04-06,557.4000000000582,557.41095,2015-01-01 01:32:54,bin5574,35,False +CTSPillarNetworkA,5575,5575,5575,1985-04-07,557.5000000000582,557.5109,2015-01-01 01:32:55,bin5575,75,False +CTSPillarNetworkA,5576,5576,5576,1985-04-08,557.6000000000582,557.6109,2015-01-01 01:32:56,bin5576,35,False +CTSPillarNetworkA,5577,5577,5577,1985-04-09,557.7000000000583,557.7109,2015-01-01 01:32:57,bin5577,75,False +CTSPillarNetworkA,5578,5578,5578,1985-04-10,557.8000000000583,557.81085,2015-01-01 01:32:58,bin5578,35,False +CTSPillarNetworkA,5579,5579,5579,1985-04-11,557.9000000000583,557.9108,2015-01-01 01:32:59,bin5579,75,False +CTSPillarNetworkA,5580,5580,5580,1985-04-12,558.0000000000583,558.0108,2015-01-01 01:33:00,bin5580,35,False +CTSPillarNetworkA,5581,5581,5581,1985-04-13,558.1000000000583,558.1108,2015-01-01 01:33:01,bin5581,75,False +CTSPillarNetworkA,5582,5582,5582,1985-04-14,558.2000000000584,558.21075,2015-01-01 01:33:02,bin5582,35,False +CTSPillarNetworkA,5583,5583,5583,1985-04-15,558.3000000000584,558.3107,2015-01-01 01:33:03,bin5583,75,False +CTSPillarNetworkA,5584,5584,5584,1985-04-16,558.4000000000584,558.4107,2015-01-01 01:33:04,bin5584,35,False +CTSPillarNetworkA,5585,5585,5585,1985-04-17,558.5000000000584,558.5107,2015-01-01 01:33:05,bin5585,75,False +CTSPillarNetworkA,5586,5586,5586,1985-04-18,558.6000000000585,558.61066,2015-01-01 01:33:06,bin5586,35,False +CTSPillarNetworkA,5587,5587,5587,1985-04-19,558.7000000000585,558.71063,2015-01-01 01:33:07,bin5587,75,False +CTSPillarNetworkA,5588,5588,5588,1985-04-20,558.8000000000585,558.8106,2015-01-01 01:33:08,bin5588,35,False +CTSPillarNetworkA,5589,5589,5589,1985-04-21,558.9000000000585,558.9106,2015-01-01 01:33:09,bin5589,75,False +CTSPillarNetworkA,5590,5590,5590,1985-04-22,559.0000000000585,559.01056,2015-01-01 01:33:10,bin5590,35,False +CTSPillarNetworkA,5591,5591,5591,1985-04-23,559.1000000000586,559.11053,2015-01-01 01:33:11,bin5591,75,False +CTSPillarNetworkA,5592,5592,5592,1985-04-24,559.2000000000586,559.2105,2015-01-01 01:33:12,bin5592,35,False +CTSPillarNetworkA,5593,5593,5593,1985-04-25,559.3000000000586,559.3105,2015-01-01 01:33:13,bin5593,75,False +CTSPillarNetworkA,5594,5594,5594,1985-04-26,559.4000000000586,559.41046,2015-01-01 01:33:14,bin5594,35,False +CTSPillarNetworkA,5595,5595,5595,1985-04-27,559.5000000000587,559.51044,2015-01-01 01:33:15,bin5595,75,False +CTSPillarNetworkA,5596,5596,5596,1985-04-28,559.6000000000587,559.6104,2015-01-01 01:33:16,bin5596,35,False +CTSPillarNetworkA,5597,5597,5597,1985-04-29,559.7000000000587,559.7104,2015-01-01 01:33:17,bin5597,75,False +CTSPillarNetworkA,5598,5598,5598,1985-04-30,559.8000000000587,559.81036,2015-01-01 01:33:18,bin5598,35,False +CTSPillarNetworkA,5599,5599,5599,1985-05-01,559.9000000000588,559.91034,2015-01-01 01:33:19,bin5599,75,False +CTSPillarNetworkA,5600,5600,5600,1985-05-02,560.0000000000588,560.0103,2015-01-01 01:33:20,bin5600,35,False +CTSPillarNetworkA,5601,5601,5601,1985-05-03,560.1000000000588,560.1103,2015-01-01 01:33:21,bin5601,75,False +CTSPillarNetworkA,5602,5602,5602,1985-05-04,560.2000000000588,560.21027,2015-01-01 01:33:22,bin5602,35,False +CTSPillarNetworkA,5603,5603,5603,1985-05-05,560.3000000000588,560.31024,2015-01-01 01:33:23,bin5603,75,False +CTSPillarNetworkA,5604,5604,5604,1985-05-06,560.4000000000589,560.4102,2015-01-01 01:33:24,bin5604,35,False +CTSPillarNetworkA,5605,5605,5605,1985-05-07,560.5000000000589,560.5102,2015-01-01 01:33:25,bin5605,75,False +CTSPillarNetworkA,5606,5606,5606,1985-05-08,560.6000000000589,560.61017,2015-01-01 01:33:26,bin5606,35,False +CTSPillarNetworkA,5607,5607,5607,1985-05-09,560.7000000000589,560.71014,2015-01-01 01:33:27,bin5607,75,False +CTSPillarNetworkA,5608,5608,5608,1985-05-10,560.800000000059,560.8101,2015-01-01 01:33:28,bin5608,35,False +CTSPillarNetworkA,5609,5609,5609,1985-05-11,560.900000000059,560.9101,2015-01-01 01:33:29,bin5609,75,False +CTSPillarNetworkA,5610,5610,5610,1985-05-12,561.000000000059,561.0101,2015-01-01 01:33:30,bin5610,35,False +CTSPillarNetworkA,5611,5611,5611,1985-05-13,561.100000000059,561.11005,2015-01-01 01:33:31,bin5611,75,False +CTSPillarNetworkA,5612,5612,5612,1985-05-14,561.200000000059,561.21,2015-01-01 01:33:32,bin5612,35,False +CTSPillarNetworkA,5613,5613,5613,1985-05-15,561.3000000000591,561.31,2015-01-01 01:33:33,bin5613,75,False +CTSPillarNetworkA,5614,5614,5614,1985-05-16,561.4000000000591,561.41,2015-01-01 01:33:34,bin5614,35,False +CTSPillarNetworkA,5615,5615,5615,1985-05-17,561.5000000000591,561.50995,2015-01-01 01:33:35,bin5615,75,False +CTSPillarNetworkA,5616,5616,5616,1985-05-18,561.6000000000591,561.6099,2015-01-01 01:33:36,bin5616,35,False +CTSPillarNetworkA,5617,5617,5617,1985-05-19,561.7000000000592,561.7099,2015-01-01 01:33:37,bin5617,75,False +CTSPillarNetworkA,5618,5618,5618,1985-05-20,561.8000000000592,561.8099,2015-01-01 01:33:38,bin5618,35,False +CTSPillarNetworkA,5619,5619,5619,1985-05-21,561.9000000000592,561.90985,2015-01-01 01:33:39,bin5619,75,False +CTSPillarNetworkA,5620,5620,5620,1985-05-22,562.0000000000592,562.0098,2015-01-01 01:33:40,bin5620,35,False +CTSPillarNetworkA,5621,5621,5621,1985-05-23,562.1000000000593,562.1098,2015-01-01 01:33:41,bin5621,75,False +CTSPillarNetworkA,5622,5622,5622,1985-05-24,562.2000000000593,562.2098,2015-01-01 01:33:42,bin5622,35,False +CTSPillarNetworkA,5623,5623,5623,1985-05-25,562.3000000000593,562.30975,2015-01-01 01:33:43,bin5623,75,False +CTSPillarNetworkA,5624,5624,5624,1985-05-26,562.4000000000593,562.4097,2015-01-01 01:33:44,bin5624,35,False +CTSPillarNetworkA,5625,5625,5625,1985-05-27,562.5000000000593,562.5097,2015-01-01 01:33:45,bin5625,75,False +CTSPillarNetworkA,5626,5626,5626,1985-05-28,562.6000000000594,562.6097,2015-01-01 01:33:46,bin5626,35,False +CTSPillarNetworkA,5627,5627,5627,1985-05-29,562.7000000000594,562.70966,2015-01-01 01:33:47,bin5627,75,False +CTSPillarNetworkA,5628,5628,5628,1985-05-30,562.8000000000594,562.80963,2015-01-01 01:33:48,bin5628,35,False +CTSPillarNetworkA,5629,5629,5629,1985-05-31,562.9000000000594,562.9096,2015-01-01 01:33:49,bin5629,75,False +CTSPillarNetworkA,5630,5630,5630,1985-06-01,563.0000000000595,563.0096,2015-01-01 01:33:50,bin5630,35,False +CTSPillarNetworkA,5631,5631,5631,1985-06-02,563.1000000000595,563.10956,2015-01-01 01:33:51,bin5631,75,False +CTSPillarNetworkA,5632,5632,5632,1985-06-03,563.2000000000595,563.20953,2015-01-01 01:33:52,bin5632,35,False +CTSPillarNetworkA,5633,5633,5633,1985-06-04,563.3000000000595,563.3095,2015-01-01 01:33:53,bin5633,75,False +CTSPillarNetworkA,5634,5634,5634,1985-06-05,563.4000000000595,563.4095,2015-01-01 01:33:54,bin5634,35,False +CTSPillarNetworkA,5635,5635,5635,1985-06-06,563.5000000000596,563.50946,2015-01-01 01:33:55,bin5635,75,False +CTSPillarNetworkA,5636,5636,5636,1985-06-07,563.6000000000596,563.60944,2015-01-01 01:33:56,bin5636,35,False +CTSPillarNetworkA,5637,5637,5637,1985-06-08,563.7000000000596,563.7094,2015-01-01 01:33:57,bin5637,75,False +CTSPillarNetworkA,5638,5638,5638,1985-06-09,563.8000000000596,563.8094,2015-01-01 01:33:58,bin5638,35,False +CTSPillarNetworkA,5639,5639,5639,1985-06-10,563.9000000000597,563.90936,2015-01-01 01:33:59,bin5639,75,False +CTSPillarNetworkA,5640,5640,5640,1985-06-11,564.0000000000597,564.00934,2015-01-01 01:34:00,bin5640,35,False +CTSPillarNetworkA,5641,5641,5641,1985-06-12,564.1000000000597,564.1093,2015-01-01 01:34:01,bin5641,75,False +CTSPillarNetworkA,5642,5642,5642,1985-06-13,564.2000000000597,564.2093,2015-01-01 01:34:02,bin5642,35,False +CTSPillarNetworkA,5643,5643,5643,1985-06-14,564.3000000000598,564.30927,2015-01-01 01:34:03,bin5643,75,False +CTSPillarNetworkA,5644,5644,5644,1985-06-15,564.4000000000598,564.40924,2015-01-01 01:34:04,bin5644,35,False +CTSPillarNetworkA,5645,5645,5645,1985-06-16,564.5000000000598,564.5092,2015-01-01 01:34:05,bin5645,75,False +CTSPillarNetworkA,5646,5646,5646,1985-06-17,564.6000000000598,564.6092,2015-01-01 01:34:06,bin5646,35,False +CTSPillarNetworkA,5647,5647,5647,1985-06-18,564.7000000000598,564.70917,2015-01-01 01:34:07,bin5647,75,False +CTSPillarNetworkA,5648,5648,5648,1985-06-19,564.8000000000599,564.80914,2015-01-01 01:34:08,bin5648,35,False +CTSPillarNetworkA,5649,5649,5649,1985-06-20,564.9000000000599,564.9091,2015-01-01 01:34:09,bin5649,75,False +CTSPillarNetworkA,5650,5650,5650,1985-06-21,565.0000000000599,565.0091,2015-01-01 01:34:10,bin5650,35,False +CTSPillarNetworkA,5651,5651,5651,1985-06-22,565.1000000000599,565.1091,2015-01-01 01:34:11,bin5651,75,False +CTSPillarNetworkA,5652,5652,5652,1985-06-23,565.20000000006,565.20905,2015-01-01 01:34:12,bin5652,35,False +CTSPillarNetworkA,5653,5653,5653,1985-06-24,565.30000000006,565.309,2015-01-01 01:34:13,bin5653,75,False +CTSPillarNetworkA,5654,5654,5654,1985-06-25,565.40000000006,565.409,2015-01-01 01:34:14,bin5654,35,False +CTSPillarNetworkA,5655,5655,5655,1985-06-26,565.50000000006,565.509,2015-01-01 01:34:15,bin5655,75,False +CTSPillarNetworkA,5656,5656,5656,1985-06-27,565.60000000006,565.60895,2015-01-01 01:34:16,bin5656,35,False +CTSPillarNetworkA,5657,5657,5657,1985-06-28,565.7000000000601,565.7089,2015-01-01 01:34:17,bin5657,75,False +CTSPillarNetworkA,5658,5658,5658,1985-06-29,565.8000000000601,565.8089,2015-01-01 01:34:18,bin5658,35,False +CTSPillarNetworkA,5659,5659,5659,1985-06-30,565.9000000000601,565.9089,2015-01-01 01:34:19,bin5659,75,False +CTSPillarNetworkA,5660,5660,5660,1985-07-01,566.0000000000601,566.00885,2015-01-01 01:34:20,bin5660,35,False +CTSPillarNetworkA,5661,5661,5661,1985-07-02,566.1000000000602,566.1088,2015-01-01 01:34:21,bin5661,75,False +CTSPillarNetworkA,5662,5662,5662,1985-07-03,566.2000000000602,566.2088,2015-01-01 01:34:22,bin5662,35,False +CTSPillarNetworkA,5663,5663,5663,1985-07-04,566.3000000000602,566.3088,2015-01-01 01:34:23,bin5663,75,False +CTSPillarNetworkA,5664,5664,5664,1985-07-05,566.4000000000602,566.40875,2015-01-01 01:34:24,bin5664,35,False +CTSPillarNetworkA,5665,5665,5665,1985-07-06,566.5000000000603,566.5087,2015-01-01 01:34:25,bin5665,75,False +CTSPillarNetworkA,5666,5666,5666,1985-07-07,566.6000000000603,566.6087,2015-01-01 01:34:26,bin5666,35,False +CTSPillarNetworkA,5667,5667,5667,1985-07-08,566.7000000000603,566.7087,2015-01-01 01:34:27,bin5667,75,False +CTSPillarNetworkA,5668,5668,5668,1985-07-09,566.8000000000603,566.80865,2015-01-01 01:34:28,bin5668,35,False +CTSPillarNetworkA,5669,5669,5669,1985-07-10,566.9000000000603,566.9086,2015-01-01 01:34:29,bin5669,75,False +CTSPillarNetworkA,5670,5670,5670,1985-07-11,567.0000000000604,567.0086,2015-01-01 01:34:30,bin5670,35,False +CTSPillarNetworkA,5671,5671,5671,1985-07-12,567.1000000000604,567.1086,2015-01-01 01:34:31,bin5671,75,False +CTSPillarNetworkA,5672,5672,5672,1985-07-13,567.2000000000604,567.20856,2015-01-01 01:34:32,bin5672,35,False +CTSPillarNetworkA,5673,5673,5673,1985-07-14,567.3000000000604,567.30853,2015-01-01 01:34:33,bin5673,75,False +CTSPillarNetworkA,5674,5674,5674,1985-07-15,567.4000000000605,567.4085,2015-01-01 01:34:34,bin5674,35,False +CTSPillarNetworkA,5675,5675,5675,1985-07-16,567.5000000000605,567.5085,2015-01-01 01:34:35,bin5675,75,False +CTSPillarNetworkA,5676,5676,5676,1985-07-17,567.6000000000605,567.60846,2015-01-01 01:34:36,bin5676,35,False +CTSPillarNetworkA,5677,5677,5677,1985-07-18,567.7000000000605,567.70844,2015-01-01 01:34:37,bin5677,75,False +CTSPillarNetworkA,5678,5678,5678,1985-07-19,567.8000000000605,567.8084,2015-01-01 01:34:38,bin5678,35,False +CTSPillarNetworkA,5679,5679,5679,1985-07-20,567.9000000000606,567.9084,2015-01-01 01:34:39,bin5679,75,False +CTSPillarNetworkA,5680,5680,5680,1985-07-21,568.0000000000606,568.00836,2015-01-01 01:34:40,bin5680,35,False +CTSPillarNetworkA,5681,5681,5681,1985-07-22,568.1000000000606,568.10834,2015-01-01 01:34:41,bin5681,75,False +CTSPillarNetworkA,5682,5682,5682,1985-07-23,568.2000000000606,568.2083,2015-01-01 01:34:42,bin5682,35,False +CTSPillarNetworkA,5683,5683,5683,1985-07-24,568.3000000000607,568.3083,2015-01-01 01:34:43,bin5683,75,False +CTSPillarNetworkA,5684,5684,5684,1985-07-25,568.4000000000607,568.40826,2015-01-01 01:34:44,bin5684,35,False +CTSPillarNetworkA,5685,5685,5685,1985-07-26,568.5000000000607,568.50824,2015-01-01 01:34:45,bin5685,75,False +CTSPillarNetworkA,5686,5686,5686,1985-07-27,568.6000000000607,568.6082,2015-01-01 01:34:46,bin5686,35,False +CTSPillarNetworkA,5687,5687,5687,1985-07-28,568.7000000000608,568.7082,2015-01-01 01:34:47,bin5687,75,False +CTSPillarNetworkA,5688,5688,5688,1985-07-29,568.8000000000608,568.80817,2015-01-01 01:34:48,bin5688,35,False +CTSPillarNetworkA,5689,5689,5689,1985-07-30,568.9000000000608,568.90814,2015-01-01 01:34:49,bin5689,75,False +CTSPillarNetworkA,5690,5690,5690,1985-07-31,569.0000000000608,569.0081,2015-01-01 01:34:50,bin5690,35,False +CTSPillarNetworkA,5691,5691,5691,1985-08-01,569.1000000000608,569.1081,2015-01-01 01:34:51,bin5691,75,False +CTSPillarNetworkA,5692,5692,5692,1985-08-02,569.2000000000609,569.20807,2015-01-01 01:34:52,bin5692,35,False +CTSPillarNetworkA,5693,5693,5693,1985-08-03,569.3000000000609,569.30804,2015-01-01 01:34:53,bin5693,75,False +CTSPillarNetworkA,5694,5694,5694,1985-08-04,569.4000000000609,569.408,2015-01-01 01:34:54,bin5694,35,False +CTSPillarNetworkA,5695,5695,5695,1985-08-05,569.5000000000609,569.508,2015-01-01 01:34:55,bin5695,75,False +CTSPillarNetworkA,5696,5696,5696,1985-08-06,569.600000000061,569.608,2015-01-01 01:34:56,bin5696,35,False +CTSPillarNetworkA,5697,5697,5697,1985-08-07,569.700000000061,569.70795,2015-01-01 01:34:57,bin5697,75,False +CTSPillarNetworkA,5698,5698,5698,1985-08-08,569.800000000061,569.8079,2015-01-01 01:34:58,bin5698,35,False +CTSPillarNetworkA,5699,5699,5699,1985-08-09,569.900000000061,569.9079,2015-01-01 01:34:59,bin5699,75,False +CTSPillarNetworkA,5700,5700,5700,1985-08-10,570.000000000061,570.0079,2015-01-01 01:35:00,bin5700,35,False +CTSPillarNetworkA,5701,5701,5701,1985-08-11,570.1000000000611,570.10785,2015-01-01 01:35:01,bin5701,75,False +CTSPillarNetworkA,5702,5702,5702,1985-08-12,570.2000000000611,570.2078,2015-01-01 01:35:02,bin5702,35,False +CTSPillarNetworkA,5703,5703,5703,1985-08-13,570.3000000000611,570.3078,2015-01-01 01:35:03,bin5703,75,False +CTSPillarNetworkA,5704,5704,5704,1985-08-14,570.4000000000611,570.4078,2015-01-01 01:35:04,bin5704,35,False +CTSPillarNetworkA,5705,5705,5705,1985-08-15,570.5000000000612,570.50775,2015-01-01 01:35:05,bin5705,75,False +CTSPillarNetworkA,5706,5706,5706,1985-08-16,570.6000000000612,570.6077,2015-01-01 01:35:06,bin5706,35,False +CTSPillarNetworkA,5707,5707,5707,1985-08-17,570.7000000000612,570.7077,2015-01-01 01:35:07,bin5707,75,False +CTSPillarNetworkA,5708,5708,5708,1985-08-18,570.8000000000612,570.8077,2015-01-01 01:35:08,bin5708,35,False +CTSPillarNetworkA,5709,5709,5709,1985-08-19,570.9000000000613,570.90765,2015-01-01 01:35:09,bin5709,75,False +CTSPillarNetworkA,5710,5710,5710,1985-08-20,571.0000000000613,571.0076,2015-01-01 01:35:10,bin5710,35,False +CTSPillarNetworkA,5711,5711,5711,1985-08-21,571.1000000000613,571.1076,2015-01-01 01:35:11,bin5711,75,False +CTSPillarNetworkA,5712,5712,5712,1985-08-22,571.2000000000613,571.2076,2015-01-01 01:35:12,bin5712,35,False +CTSPillarNetworkA,5713,5713,5713,1985-08-23,571.3000000000613,571.30756,2015-01-01 01:35:13,bin5713,75,False +CTSPillarNetworkA,5714,5714,5714,1985-08-24,571.4000000000614,571.40753,2015-01-01 01:35:14,bin5714,35,False +CTSPillarNetworkA,5715,5715,5715,1985-08-25,571.5000000000614,571.5075,2015-01-01 01:35:15,bin5715,75,False +CTSPillarNetworkA,5716,5716,5716,1985-08-26,571.6000000000614,571.6075,2015-01-01 01:35:16,bin5716,35,False +CTSPillarNetworkA,5717,5717,5717,1985-08-27,571.7000000000614,571.70746,2015-01-01 01:35:17,bin5717,75,False +CTSPillarNetworkA,5718,5718,5718,1985-08-28,571.8000000000615,571.80743,2015-01-01 01:35:18,bin5718,35,False +CTSPillarNetworkA,5719,5719,5719,1985-08-29,571.9000000000615,571.9074,2015-01-01 01:35:19,bin5719,75,False +CTSPillarNetworkA,5720,5720,5720,1985-08-30,572.0000000000615,572.0074,2015-01-01 01:35:20,bin5720,35,False +CTSPillarNetworkA,5721,5721,5721,1985-08-31,572.1000000000615,572.10736,2015-01-01 01:35:21,bin5721,75,False +CTSPillarNetworkA,5722,5722,5722,1985-09-01,572.2000000000616,572.20734,2015-01-01 01:35:22,bin5722,35,False +CTSPillarNetworkA,5723,5723,5723,1985-09-02,572.3000000000616,572.3073,2015-01-01 01:35:23,bin5723,75,False +CTSPillarNetworkA,5724,5724,5724,1985-09-03,572.4000000000616,572.4073,2015-01-01 01:35:24,bin5724,35,False +CTSPillarNetworkA,5725,5725,5725,1985-09-04,572.5000000000616,572.50726,2015-01-01 01:35:25,bin5725,75,False +CTSPillarNetworkA,5726,5726,5726,1985-09-05,572.6000000000616,572.60724,2015-01-01 01:35:26,bin5726,35,False +CTSPillarNetworkA,5727,5727,5727,1985-09-06,572.7000000000617,572.7072,2015-01-01 01:35:27,bin5727,75,False +CTSPillarNetworkA,5728,5728,5728,1985-09-07,572.8000000000617,572.8072,2015-01-01 01:35:28,bin5728,35,False +CTSPillarNetworkA,5729,5729,5729,1985-09-08,572.9000000000617,572.90717,2015-01-01 01:35:29,bin5729,75,False +CTSPillarNetworkA,5730,5730,5730,1985-09-09,573.0000000000617,573.00714,2015-01-01 01:35:30,bin5730,35,False +CTSPillarNetworkA,5731,5731,5731,1985-09-10,573.1000000000618,573.1071,2015-01-01 01:35:31,bin5731,75,False +CTSPillarNetworkA,5732,5732,5732,1985-09-11,573.2000000000618,573.2071,2015-01-01 01:35:32,bin5732,35,False +CTSPillarNetworkA,5733,5733,5733,1985-09-12,573.3000000000618,573.30707,2015-01-01 01:35:33,bin5733,75,False +CTSPillarNetworkA,5734,5734,5734,1985-09-13,573.4000000000618,573.40704,2015-01-01 01:35:34,bin5734,35,False +CTSPillarNetworkA,5735,5735,5735,1985-09-14,573.5000000000618,573.507,2015-01-01 01:35:35,bin5735,75,False +CTSPillarNetworkA,5736,5736,5736,1985-09-15,573.6000000000619,573.607,2015-01-01 01:35:36,bin5736,35,False +CTSPillarNetworkA,5737,5737,5737,1985-09-16,573.7000000000619,573.707,2015-01-01 01:35:37,bin5737,75,False +CTSPillarNetworkA,5738,5738,5738,1985-09-17,573.8000000000619,573.80695,2015-01-01 01:35:38,bin5738,35,False +CTSPillarNetworkA,5739,5739,5739,1985-09-18,573.9000000000619,573.9069,2015-01-01 01:35:39,bin5739,75,False +CTSPillarNetworkA,5740,5740,5740,1985-09-19,574.000000000062,574.0069,2015-01-01 01:35:40,bin5740,35,False +CTSPillarNetworkA,5741,5741,5741,1985-09-20,574.100000000062,574.1069,2015-01-01 01:35:41,bin5741,75,False +CTSPillarNetworkA,5742,5742,5742,1985-09-21,574.200000000062,574.20685,2015-01-01 01:35:42,bin5742,35,False +CTSPillarNetworkA,5743,5743,5743,1985-09-22,574.300000000062,574.3068,2015-01-01 01:35:43,bin5743,75,False +CTSPillarNetworkA,5744,5744,5744,1985-09-23,574.400000000062,574.4068,2015-01-01 01:35:44,bin5744,35,False +CTSPillarNetworkA,5745,5745,5745,1985-09-24,574.5000000000621,574.5068,2015-01-01 01:35:45,bin5745,75,False +CTSPillarNetworkA,5746,5746,5746,1985-09-25,574.6000000000621,574.60675,2015-01-01 01:35:46,bin5746,35,False +CTSPillarNetworkA,5747,5747,5747,1985-09-26,574.7000000000621,574.7067,2015-01-01 01:35:47,bin5747,75,False +CTSPillarNetworkA,5748,5748,5748,1985-09-27,574.8000000000621,574.8067,2015-01-01 01:35:48,bin5748,35,False +CTSPillarNetworkA,5749,5749,5749,1985-09-28,574.9000000000622,574.9067,2015-01-01 01:35:49,bin5749,75,False +CTSPillarNetworkA,5750,5750,5750,1985-09-29,575.0000000000622,575.00665,2015-01-01 01:35:50,bin5750,35,False +CTSPillarNetworkA,5751,5751,5751,1985-09-30,575.1000000000622,575.1066,2015-01-01 01:35:51,bin5751,75,False +CTSPillarNetworkA,5752,5752,5752,1985-10-01,575.2000000000622,575.2066,2015-01-01 01:35:52,bin5752,35,False +CTSPillarNetworkA,5753,5753,5753,1985-10-02,575.3000000000623,575.3066,2015-01-01 01:35:53,bin5753,75,False +CTSPillarNetworkA,5754,5754,5754,1985-10-03,575.4000000000623,575.40656,2015-01-01 01:35:54,bin5754,35,False +CTSPillarNetworkA,5755,5755,5755,1985-10-04,575.5000000000623,575.50653,2015-01-01 01:35:55,bin5755,75,False +CTSPillarNetworkA,5756,5756,5756,1985-10-05,575.6000000000623,575.6065,2015-01-01 01:35:56,bin5756,35,False +CTSPillarNetworkA,5757,5757,5757,1985-10-06,575.7000000000623,575.7065,2015-01-01 01:35:57,bin5757,75,False +CTSPillarNetworkA,5758,5758,5758,1985-10-07,575.8000000000624,575.80646,2015-01-01 01:35:58,bin5758,35,False +CTSPillarNetworkA,5759,5759,5759,1985-10-08,575.9000000000624,575.90643,2015-01-01 01:35:59,bin5759,75,False +CTSPillarNetworkA,5760,5760,5760,1985-10-09,576.0000000000624,576.0064,2015-01-01 01:36:00,bin5760,35,False +CTSPillarNetworkA,5761,5761,5761,1985-10-10,576.1000000000624,576.1064,2015-01-01 01:36:01,bin5761,75,False +CTSPillarNetworkA,5762,5762,5762,1985-10-11,576.2000000000625,576.20636,2015-01-01 01:36:02,bin5762,35,False +CTSPillarNetworkA,5763,5763,5763,1985-10-12,576.3000000000625,576.30634,2015-01-01 01:36:03,bin5763,75,False +CTSPillarNetworkA,5764,5764,5764,1985-10-13,576.4000000000625,576.4063,2015-01-01 01:36:04,bin5764,35,False +CTSPillarNetworkA,5765,5765,5765,1985-10-14,576.5000000000625,576.5063,2015-01-01 01:36:05,bin5765,75,False +CTSPillarNetworkA,5766,5766,5766,1985-10-15,576.6000000000626,576.60626,2015-01-01 01:36:06,bin5766,35,False +CTSPillarNetworkA,5767,5767,5767,1985-10-16,576.7000000000626,576.70624,2015-01-01 01:36:07,bin5767,75,False +CTSPillarNetworkA,5768,5768,5768,1985-10-17,576.8000000000626,576.8062,2015-01-01 01:36:08,bin5768,35,False +CTSPillarNetworkA,5769,5769,5769,1985-10-18,576.9000000000626,576.9062,2015-01-01 01:36:09,bin5769,75,False +CTSPillarNetworkA,5770,5770,5770,1985-10-19,577.0000000000626,577.00616,2015-01-01 01:36:10,bin5770,35,False +CTSPillarNetworkA,5771,5771,5771,1985-10-20,577.1000000000627,577.10614,2015-01-01 01:36:11,bin5771,75,False +CTSPillarNetworkA,5772,5772,5772,1985-10-21,577.2000000000627,577.2061,2015-01-01 01:36:12,bin5772,35,False +CTSPillarNetworkA,5773,5773,5773,1985-10-22,577.3000000000627,577.3061,2015-01-01 01:36:13,bin5773,75,False +CTSPillarNetworkA,5774,5774,5774,1985-10-23,577.4000000000627,577.40607,2015-01-01 01:36:14,bin5774,35,False +CTSPillarNetworkA,5775,5775,5775,1985-10-24,577.5000000000628,577.50604,2015-01-01 01:36:15,bin5775,75,False +CTSPillarNetworkA,5776,5776,5776,1985-10-25,577.6000000000628,577.606,2015-01-01 01:36:16,bin5776,35,False +CTSPillarNetworkA,5777,5777,5777,1985-10-26,577.7000000000628,577.706,2015-01-01 01:36:17,bin5777,75,False +CTSPillarNetworkA,5778,5778,5778,1985-10-27,577.8000000000628,577.80597,2015-01-01 01:36:18,bin5778,35,False +CTSPillarNetworkA,5779,5779,5779,1985-10-28,577.9000000000628,577.90594,2015-01-01 01:36:19,bin5779,75,False +CTSPillarNetworkA,5780,5780,5780,1985-10-29,578.0000000000629,578.0059,2015-01-01 01:36:20,bin5780,35,False +CTSPillarNetworkA,5781,5781,5781,1985-10-30,578.1000000000629,578.1059,2015-01-01 01:36:21,bin5781,75,False +CTSPillarNetworkA,5782,5782,5782,1985-10-31,578.2000000000629,578.2059,2015-01-01 01:36:22,bin5782,35,False +CTSPillarNetworkA,5783,5783,5783,1985-11-01,578.3000000000629,578.30585,2015-01-01 01:36:23,bin5783,75,False +CTSPillarNetworkA,5784,5784,5784,1985-11-02,578.400000000063,578.4058,2015-01-01 01:36:24,bin5784,35,False +CTSPillarNetworkA,5785,5785,5785,1985-11-03,578.500000000063,578.5058,2015-01-01 01:36:25,bin5785,75,False +CTSPillarNetworkA,5786,5786,5786,1985-11-04,578.600000000063,578.6058,2015-01-01 01:36:26,bin5786,35,False +CTSPillarNetworkA,5787,5787,5787,1985-11-05,578.700000000063,578.70575,2015-01-01 01:36:27,bin5787,75,False +CTSPillarNetworkA,5788,5788,5788,1985-11-06,578.800000000063,578.8057,2015-01-01 01:36:28,bin5788,35,False +CTSPillarNetworkA,5789,5789,5789,1985-11-07,578.9000000000631,578.9057,2015-01-01 01:36:29,bin5789,75,False +CTSPillarNetworkA,5790,5790,5790,1985-11-08,579.0000000000631,579.0057,2015-01-01 01:36:30,bin5790,35,False +CTSPillarNetworkA,5791,5791,5791,1985-11-09,579.1000000000631,579.10565,2015-01-01 01:36:31,bin5791,75,False +CTSPillarNetworkA,5792,5792,5792,1985-11-10,579.2000000000631,579.2056,2015-01-01 01:36:32,bin5792,35,False +CTSPillarNetworkA,5793,5793,5793,1985-11-11,579.3000000000632,579.3056,2015-01-01 01:36:33,bin5793,75,False +CTSPillarNetworkA,5794,5794,5794,1985-11-12,579.4000000000632,579.4056,2015-01-01 01:36:34,bin5794,35,False +CTSPillarNetworkA,5795,5795,5795,1985-11-13,579.5000000000632,579.50555,2015-01-01 01:36:35,bin5795,75,False +CTSPillarNetworkA,5796,5796,5796,1985-11-14,579.6000000000632,579.6055,2015-01-01 01:36:36,bin5796,35,False +CTSPillarNetworkA,5797,5797,5797,1985-11-15,579.7000000000633,579.7055,2015-01-01 01:36:37,bin5797,75,False +CTSPillarNetworkA,5798,5798,5798,1985-11-16,579.8000000000633,579.8055,2015-01-01 01:36:38,bin5798,35,False +CTSPillarNetworkA,5799,5799,5799,1985-11-17,579.9000000000633,579.90546,2015-01-01 01:36:39,bin5799,75,False +CTSPillarNetworkA,5800,5800,5800,1985-11-18,580.0000000000633,580.00543,2015-01-01 01:36:40,bin5800,35,False +CTSPillarNetworkA,5801,5801,5801,1985-11-19,580.1000000000633,580.1054,2015-01-01 01:36:41,bin5801,75,False +CTSPillarNetworkA,5802,5802,5802,1985-11-20,580.2000000000634,580.2054,2015-01-01 01:36:42,bin5802,35,False +CTSPillarNetworkA,5803,5803,5803,1985-11-21,580.3000000000634,580.30536,2015-01-01 01:36:43,bin5803,75,False +CTSPillarNetworkA,5804,5804,5804,1985-11-22,580.4000000000634,580.40533,2015-01-01 01:36:44,bin5804,35,False +CTSPillarNetworkA,5805,5805,5805,1985-11-23,580.5000000000634,580.5053,2015-01-01 01:36:45,bin5805,75,False +CTSPillarNetworkA,5806,5806,5806,1985-11-24,580.6000000000635,580.6053,2015-01-01 01:36:46,bin5806,35,False +CTSPillarNetworkA,5807,5807,5807,1985-11-25,580.7000000000635,580.70526,2015-01-01 01:36:47,bin5807,75,False +CTSPillarNetworkA,5808,5808,5808,1985-11-26,580.8000000000635,580.80524,2015-01-01 01:36:48,bin5808,35,False +CTSPillarNetworkA,5809,5809,5809,1985-11-27,580.9000000000635,580.9052,2015-01-01 01:36:49,bin5809,75,False +CTSPillarNetworkA,5810,5810,5810,1985-11-28,581.0000000000636,581.0052,2015-01-01 01:36:50,bin5810,35,False +CTSPillarNetworkA,5811,5811,5811,1985-11-29,581.1000000000636,581.10516,2015-01-01 01:36:51,bin5811,75,False +CTSPillarNetworkA,5812,5812,5812,1985-11-30,581.2000000000636,581.20514,2015-01-01 01:36:52,bin5812,35,False +CTSPillarNetworkA,5813,5813,5813,1985-12-01,581.3000000000636,581.3051,2015-01-01 01:36:53,bin5813,75,False +CTSPillarNetworkA,5814,5814,5814,1985-12-02,581.4000000000636,581.4051,2015-01-01 01:36:54,bin5814,35,False +CTSPillarNetworkA,5815,5815,5815,1985-12-03,581.5000000000637,581.50507,2015-01-01 01:36:55,bin5815,75,False +CTSPillarNetworkA,5816,5816,5816,1985-12-04,581.6000000000637,581.60504,2015-01-01 01:36:56,bin5816,35,False +CTSPillarNetworkA,5817,5817,5817,1985-12-05,581.7000000000637,581.705,2015-01-01 01:36:57,bin5817,75,False +CTSPillarNetworkA,5818,5818,5818,1985-12-06,581.8000000000637,581.805,2015-01-01 01:36:58,bin5818,35,False +CTSPillarNetworkA,5819,5819,5819,1985-12-07,581.9000000000638,581.90497,2015-01-01 01:36:59,bin5819,75,False +CTSPillarNetworkA,5820,5820,5820,1985-12-08,582.0000000000638,582.00494,2015-01-01 01:37:00,bin5820,35,False +CTSPillarNetworkA,5821,5821,5821,1985-12-09,582.1000000000638,582.1049,2015-01-01 01:37:01,bin5821,75,False +CTSPillarNetworkA,5822,5822,5822,1985-12-10,582.2000000000638,582.2049,2015-01-01 01:37:02,bin5822,35,False +CTSPillarNetworkA,5823,5823,5823,1985-12-11,582.3000000000638,582.3049,2015-01-01 01:37:03,bin5823,75,False +CTSPillarNetworkA,5824,5824,5824,1985-12-12,582.4000000000639,582.40485,2015-01-01 01:37:04,bin5824,35,False +CTSPillarNetworkA,5825,5825,5825,1985-12-13,582.5000000000639,582.5048,2015-01-01 01:37:05,bin5825,75,False +CTSPillarNetworkA,5826,5826,5826,1985-12-14,582.6000000000639,582.6048,2015-01-01 01:37:06,bin5826,35,False +CTSPillarNetworkA,5827,5827,5827,1985-12-15,582.7000000000639,582.7048,2015-01-01 01:37:07,bin5827,75,False +CTSPillarNetworkA,5828,5828,5828,1985-12-16,582.800000000064,582.80475,2015-01-01 01:37:08,bin5828,35,False +CTSPillarNetworkA,5829,5829,5829,1985-12-17,582.900000000064,582.9047,2015-01-01 01:37:09,bin5829,75,False +CTSPillarNetworkA,5830,5830,5830,1985-12-18,583.000000000064,583.0047,2015-01-01 01:37:10,bin5830,35,False +CTSPillarNetworkA,5831,5831,5831,1985-12-19,583.100000000064,583.1047,2015-01-01 01:37:11,bin5831,75,False +CTSPillarNetworkA,5832,5832,5832,1985-12-20,583.200000000064,583.20465,2015-01-01 01:37:12,bin5832,35,False +CTSPillarNetworkA,5833,5833,5833,1985-12-21,583.3000000000641,583.3046,2015-01-01 01:37:13,bin5833,75,False +CTSPillarNetworkA,5834,5834,5834,1985-12-22,583.4000000000641,583.4046,2015-01-01 01:37:14,bin5834,35,False +CTSPillarNetworkA,5835,5835,5835,1985-12-23,583.5000000000641,583.5046,2015-01-01 01:37:15,bin5835,75,False +CTSPillarNetworkA,5836,5836,5836,1985-12-24,583.6000000000641,583.60455,2015-01-01 01:37:16,bin5836,35,False +CTSPillarNetworkA,5837,5837,5837,1985-12-25,583.7000000000642,583.7045,2015-01-01 01:37:17,bin5837,75,False +CTSPillarNetworkA,5838,5838,5838,1985-12-26,583.8000000000642,583.8045,2015-01-01 01:37:18,bin5838,35,False +CTSPillarNetworkA,5839,5839,5839,1985-12-27,583.9000000000642,583.9045,2015-01-01 01:37:19,bin5839,75,False +CTSPillarNetworkA,5840,5840,5840,1985-12-28,584.0000000000642,584.00446,2015-01-01 01:37:20,bin5840,35,False +CTSPillarNetworkA,5841,5841,5841,1985-12-29,584.1000000000643,584.10443,2015-01-01 01:37:21,bin5841,75,False +CTSPillarNetworkA,5842,5842,5842,1985-12-30,584.2000000000643,584.2044,2015-01-01 01:37:22,bin5842,35,False +CTSPillarNetworkA,5843,5843,5843,1985-12-31,584.3000000000643,584.3044,2015-01-01 01:37:23,bin5843,75,False +CTSPillarNetworkA,5844,5844,5844,1986-01-01,584.4000000000643,584.40436,2015-01-01 01:37:24,bin5844,35,False +CTSPillarNetworkA,5845,5845,5845,1986-01-02,584.5000000000643,584.50433,2015-01-01 01:37:25,bin5845,75,False +CTSPillarNetworkA,5846,5846,5846,1986-01-03,584.6000000000644,584.6043,2015-01-01 01:37:26,bin5846,35,False +CTSPillarNetworkA,5847,5847,5847,1986-01-04,584.7000000000644,584.7043,2015-01-01 01:37:27,bin5847,75,False +CTSPillarNetworkA,5848,5848,5848,1986-01-05,584.8000000000644,584.80426,2015-01-01 01:37:28,bin5848,35,False +CTSPillarNetworkA,5849,5849,5849,1986-01-06,584.9000000000644,584.90424,2015-01-01 01:37:29,bin5849,75,False +CTSPillarNetworkA,5850,5850,5850,1986-01-07,585.0000000000645,585.0042,2015-01-01 01:37:30,bin5850,35,False +CTSPillarNetworkA,5851,5851,5851,1986-01-08,585.1000000000645,585.1042,2015-01-01 01:37:31,bin5851,75,False +CTSPillarNetworkA,5852,5852,5852,1986-01-09,585.2000000000645,585.20416,2015-01-01 01:37:32,bin5852,35,False +CTSPillarNetworkA,5853,5853,5853,1986-01-10,585.3000000000645,585.30414,2015-01-01 01:37:33,bin5853,75,False +CTSPillarNetworkA,5854,5854,5854,1986-01-11,585.4000000000646,585.4041,2015-01-01 01:37:34,bin5854,35,False +CTSPillarNetworkA,5855,5855,5855,1986-01-12,585.5000000000646,585.5041,2015-01-01 01:37:35,bin5855,75,False +CTSPillarNetworkA,5856,5856,5856,1986-01-13,585.6000000000646,585.60406,2015-01-01 01:37:36,bin5856,35,False +CTSPillarNetworkA,5857,5857,5857,1986-01-14,585.7000000000646,585.70404,2015-01-01 01:37:37,bin5857,75,False +CTSPillarNetworkA,5858,5858,5858,1986-01-15,585.8000000000646,585.804,2015-01-01 01:37:38,bin5858,35,False +CTSPillarNetworkA,5859,5859,5859,1986-01-16,585.9000000000647,585.904,2015-01-01 01:37:39,bin5859,75,False +CTSPillarNetworkA,5860,5860,5860,1986-01-17,586.0000000000647,586.00397,2015-01-01 01:37:40,bin5860,35,False +CTSPillarNetworkA,5861,5861,5861,1986-01-18,586.1000000000647,586.10394,2015-01-01 01:37:41,bin5861,75,False +CTSPillarNetworkA,5862,5862,5862,1986-01-19,586.2000000000647,586.2039,2015-01-01 01:37:42,bin5862,35,False +CTSPillarNetworkA,5863,5863,5863,1986-01-20,586.3000000000648,586.3039,2015-01-01 01:37:43,bin5863,75,False +CTSPillarNetworkA,5864,5864,5864,1986-01-21,586.4000000000648,586.4039,2015-01-01 01:37:44,bin5864,35,False +CTSPillarNetworkA,5865,5865,5865,1986-01-22,586.5000000000648,586.50385,2015-01-01 01:37:45,bin5865,75,False +CTSPillarNetworkA,5866,5866,5866,1986-01-23,586.6000000000648,586.6038,2015-01-01 01:37:46,bin5866,35,False +CTSPillarNetworkA,5867,5867,5867,1986-01-24,586.7000000000648,586.7038,2015-01-01 01:37:47,bin5867,75,False +CTSPillarNetworkA,5868,5868,5868,1986-01-25,586.8000000000649,586.8038,2015-01-01 01:37:48,bin5868,35,False +CTSPillarNetworkA,5869,5869,5869,1986-01-26,586.9000000000649,586.90375,2015-01-01 01:37:49,bin5869,75,False +CTSPillarNetworkA,5870,5870,5870,1986-01-27,587.0000000000649,587.0037,2015-01-01 01:37:50,bin5870,35,False +CTSPillarNetworkA,5871,5871,5871,1986-01-28,587.1000000000649,587.1037,2015-01-01 01:37:51,bin5871,75,False +CTSPillarNetworkA,5872,5872,5872,1986-01-29,587.200000000065,587.2037,2015-01-01 01:37:52,bin5872,35,False +CTSPillarNetworkA,5873,5873,5873,1986-01-30,587.300000000065,587.30365,2015-01-01 01:37:53,bin5873,75,False +CTSPillarNetworkA,5874,5874,5874,1986-01-31,587.400000000065,587.4036,2015-01-01 01:37:54,bin5874,35,False +CTSPillarNetworkA,5875,5875,5875,1986-02-01,587.500000000065,587.5036,2015-01-01 01:37:55,bin5875,75,False +CTSPillarNetworkA,5876,5876,5876,1986-02-02,587.600000000065,587.6036,2015-01-01 01:37:56,bin5876,35,False +CTSPillarNetworkA,5877,5877,5877,1986-02-03,587.7000000000651,587.70355,2015-01-01 01:37:57,bin5877,75,False +CTSPillarNetworkA,5878,5878,5878,1986-02-04,587.8000000000651,587.8035,2015-01-01 01:37:58,bin5878,35,False +CTSPillarNetworkA,5879,5879,5879,1986-02-05,587.9000000000651,587.9035,2015-01-01 01:37:59,bin5879,75,False +CTSPillarNetworkA,5880,5880,5880,1986-02-06,588.0000000000651,588.0035,2015-01-01 01:38:00,bin5880,35,False +CTSPillarNetworkA,5881,5881,5881,1986-02-07,588.1000000000652,588.10345,2015-01-01 01:38:01,bin5881,75,False +CTSPillarNetworkA,5882,5882,5882,1986-02-08,588.2000000000652,588.2034,2015-01-01 01:38:02,bin5882,35,False +CTSPillarNetworkA,5883,5883,5883,1986-02-09,588.3000000000652,588.3034,2015-01-01 01:38:03,bin5883,75,False +CTSPillarNetworkA,5884,5884,5884,1986-02-10,588.4000000000652,588.4034,2015-01-01 01:38:04,bin5884,35,False +CTSPillarNetworkA,5885,5885,5885,1986-02-11,588.5000000000653,588.50336,2015-01-01 01:38:05,bin5885,75,False +CTSPillarNetworkA,5886,5886,5886,1986-02-12,588.6000000000653,588.60333,2015-01-01 01:38:06,bin5886,35,False +CTSPillarNetworkA,5887,5887,5887,1986-02-13,588.7000000000653,588.7033,2015-01-01 01:38:07,bin5887,75,False +CTSPillarNetworkA,5888,5888,5888,1986-02-14,588.8000000000653,588.8033,2015-01-01 01:38:08,bin5888,35,False +CTSPillarNetworkA,5889,5889,5889,1986-02-15,588.9000000000653,588.90326,2015-01-01 01:38:09,bin5889,75,False +CTSPillarNetworkA,5890,5890,5890,1986-02-16,589.0000000000654,589.00323,2015-01-01 01:38:10,bin5890,35,False +CTSPillarNetworkA,5891,5891,5891,1986-02-17,589.1000000000654,589.1032,2015-01-01 01:38:11,bin5891,75,False +CTSPillarNetworkA,5892,5892,5892,1986-02-18,589.2000000000654,589.2032,2015-01-01 01:38:12,bin5892,35,False +CTSPillarNetworkA,5893,5893,5893,1986-02-19,589.3000000000654,589.30316,2015-01-01 01:38:13,bin5893,75,False +CTSPillarNetworkA,5894,5894,5894,1986-02-20,589.4000000000655,589.40314,2015-01-01 01:38:14,bin5894,35,False +CTSPillarNetworkA,5895,5895,5895,1986-02-21,589.5000000000655,589.5031,2015-01-01 01:38:15,bin5895,75,False +CTSPillarNetworkA,5896,5896,5896,1986-02-22,589.6000000000655,589.6031,2015-01-01 01:38:16,bin5896,35,False +CTSPillarNetworkA,5897,5897,5897,1986-02-23,589.7000000000655,589.70306,2015-01-01 01:38:17,bin5897,75,False +CTSPillarNetworkA,5898,5898,5898,1986-02-24,589.8000000000656,589.80304,2015-01-01 01:38:18,bin5898,35,False +CTSPillarNetworkA,5899,5899,5899,1986-02-25,589.9000000000656,589.903,2015-01-01 01:38:19,bin5899,75,False +CTSPillarNetworkA,5900,5900,5900,1986-02-26,590.0000000000656,590.003,2015-01-01 01:38:20,bin5900,35,False +CTSPillarNetworkA,5901,5901,5901,1986-02-27,590.1000000000656,590.10297,2015-01-01 01:38:21,bin5901,75,False +CTSPillarNetworkA,5902,5902,5902,1986-02-28,590.2000000000656,590.20294,2015-01-01 01:38:22,bin5902,35,False +CTSPillarNetworkA,5903,5903,5903,1986-03-01,590.3000000000657,590.3029,2015-01-01 01:38:23,bin5903,75,False +CTSPillarNetworkA,5904,5904,5904,1986-03-02,590.4000000000657,590.4029,2015-01-01 01:38:24,bin5904,35,False +CTSPillarNetworkA,5905,5905,5905,1986-03-03,590.5000000000657,590.50287,2015-01-01 01:38:25,bin5905,75,False +CTSPillarNetworkA,5906,5906,5906,1986-03-04,590.6000000000657,590.60284,2015-01-01 01:38:26,bin5906,35,False +CTSPillarNetworkA,5907,5907,5907,1986-03-05,590.7000000000658,590.7028,2015-01-01 01:38:27,bin5907,75,False +CTSPillarNetworkA,5908,5908,5908,1986-03-06,590.8000000000658,590.8028,2015-01-01 01:38:28,bin5908,35,False +CTSPillarNetworkA,5909,5909,5909,1986-03-07,590.9000000000658,590.9028,2015-01-01 01:38:29,bin5909,75,False +CTSPillarNetworkA,5910,5910,5910,1986-03-08,591.0000000000658,591.00275,2015-01-01 01:38:30,bin5910,35,False +CTSPillarNetworkA,5911,5911,5911,1986-03-09,591.1000000000658,591.1027,2015-01-01 01:38:31,bin5911,75,False +CTSPillarNetworkA,5912,5912,5912,1986-03-10,591.2000000000659,591.2027,2015-01-01 01:38:32,bin5912,35,False +CTSPillarNetworkA,5913,5913,5913,1986-03-11,591.3000000000659,591.3027,2015-01-01 01:38:33,bin5913,75,False +CTSPillarNetworkA,5914,5914,5914,1986-03-12,591.4000000000659,591.40265,2015-01-01 01:38:34,bin5914,35,False +CTSPillarNetworkA,5915,5915,5915,1986-03-13,591.5000000000659,591.5026,2015-01-01 01:38:35,bin5915,75,False +CTSPillarNetworkA,5916,5916,5916,1986-03-14,591.600000000066,591.6026,2015-01-01 01:38:36,bin5916,35,False +CTSPillarNetworkA,5917,5917,5917,1986-03-15,591.700000000066,591.7026,2015-01-01 01:38:37,bin5917,75,False +CTSPillarNetworkA,5918,5918,5918,1986-03-16,591.800000000066,591.80255,2015-01-01 01:38:38,bin5918,35,False +CTSPillarNetworkA,5919,5919,5919,1986-03-17,591.900000000066,591.9025,2015-01-01 01:38:39,bin5919,75,False +CTSPillarNetworkA,5920,5920,5920,1986-03-18,592.000000000066,592.0025,2015-01-01 01:38:40,bin5920,35,False +CTSPillarNetworkA,5921,5921,5921,1986-03-19,592.1000000000661,592.1025,2015-01-01 01:38:41,bin5921,75,False +CTSPillarNetworkA,5922,5922,5922,1986-03-20,592.2000000000661,592.20245,2015-01-01 01:38:42,bin5922,35,False +CTSPillarNetworkA,5923,5923,5923,1986-03-21,592.3000000000661,592.3024,2015-01-01 01:38:43,bin5923,75,False +CTSPillarNetworkA,5924,5924,5924,1986-03-22,592.4000000000661,592.4024,2015-01-01 01:38:44,bin5924,35,False +CTSPillarNetworkA,5925,5925,5925,1986-03-23,592.5000000000662,592.5024,2015-01-01 01:38:45,bin5925,75,False +CTSPillarNetworkA,5926,5926,5926,1986-03-24,592.6000000000662,592.60236,2015-01-01 01:38:46,bin5926,35,False +CTSPillarNetworkA,5927,5927,5927,1986-03-25,592.7000000000662,592.70233,2015-01-01 01:38:47,bin5927,75,False +CTSPillarNetworkA,5928,5928,5928,1986-03-26,592.8000000000662,592.8023,2015-01-01 01:38:48,bin5928,35,False +CTSPillarNetworkA,5929,5929,5929,1986-03-27,592.9000000000663,592.9023,2015-01-01 01:38:49,bin5929,75,False +CTSPillarNetworkA,5930,5930,5930,1986-03-28,593.0000000000663,593.00226,2015-01-01 01:38:50,bin5930,35,False +CTSPillarNetworkA,5931,5931,5931,1986-03-29,593.1000000000663,593.10223,2015-01-01 01:38:51,bin5931,75,False +CTSPillarNetworkA,5932,5932,5932,1986-03-30,593.2000000000663,593.2022,2015-01-01 01:38:52,bin5932,35,False +CTSPillarNetworkA,5933,5933,5933,1986-03-31,593.3000000000663,593.3022,2015-01-01 01:38:53,bin5933,75,False +CTSPillarNetworkA,5934,5934,5934,1986-04-01,593.4000000000664,593.40216,2015-01-01 01:38:54,bin5934,35,False +CTSPillarNetworkA,5935,5935,5935,1986-04-02,593.5000000000664,593.50214,2015-01-01 01:38:55,bin5935,75,False +CTSPillarNetworkA,5936,5936,5936,1986-04-03,593.6000000000664,593.6021,2015-01-01 01:38:56,bin5936,35,False +CTSPillarNetworkA,5937,5937,5937,1986-04-04,593.7000000000664,593.7021,2015-01-01 01:38:57,bin5937,75,False +CTSPillarNetworkA,5938,5938,5938,1986-04-05,593.8000000000665,593.80206,2015-01-01 01:38:58,bin5938,35,False +CTSPillarNetworkA,5939,5939,5939,1986-04-06,593.9000000000665,593.90204,2015-01-01 01:38:59,bin5939,75,False +CTSPillarNetworkA,5940,5940,5940,1986-04-07,594.0000000000665,594.002,2015-01-01 01:39:00,bin5940,35,False +CTSPillarNetworkA,5941,5941,5941,1986-04-08,594.1000000000665,594.102,2015-01-01 01:39:01,bin5941,75,False +CTSPillarNetworkA,5942,5942,5942,1986-04-09,594.2000000000666,594.20197,2015-01-01 01:39:02,bin5942,35,False +CTSPillarNetworkA,5943,5943,5943,1986-04-10,594.3000000000666,594.30194,2015-01-01 01:39:03,bin5943,75,False +CTSPillarNetworkA,5944,5944,5944,1986-04-11,594.4000000000666,594.4019,2015-01-01 01:39:04,bin5944,35,False +CTSPillarNetworkA,5945,5945,5945,1986-04-12,594.5000000000666,594.5019,2015-01-01 01:39:05,bin5945,75,False +CTSPillarNetworkA,5946,5946,5946,1986-04-13,594.6000000000666,594.60187,2015-01-01 01:39:06,bin5946,35,False +CTSPillarNetworkA,5947,5947,5947,1986-04-14,594.7000000000667,594.70184,2015-01-01 01:39:07,bin5947,75,False +CTSPillarNetworkA,5948,5948,5948,1986-04-15,594.8000000000667,594.8018,2015-01-01 01:39:08,bin5948,35,False +CTSPillarNetworkA,5949,5949,5949,1986-04-16,594.9000000000667,594.9018,2015-01-01 01:39:09,bin5949,75,False +CTSPillarNetworkA,5950,5950,5950,1986-04-17,595.0000000000667,595.0018,2015-01-01 01:39:10,bin5950,35,False +CTSPillarNetworkA,5951,5951,5951,1986-04-18,595.1000000000668,595.10175,2015-01-01 01:39:11,bin5951,75,False +CTSPillarNetworkA,5952,5952,5952,1986-04-19,595.2000000000668,595.2017,2015-01-01 01:39:12,bin5952,35,False +CTSPillarNetworkA,5953,5953,5953,1986-04-20,595.3000000000668,595.3017,2015-01-01 01:39:13,bin5953,75,False +CTSPillarNetworkA,5954,5954,5954,1986-04-21,595.4000000000668,595.4017,2015-01-01 01:39:14,bin5954,35,False +CTSPillarNetworkA,5955,5955,5955,1986-04-22,595.5000000000668,595.50165,2015-01-01 01:39:15,bin5955,75,False +CTSPillarNetworkA,5956,5956,5956,1986-04-23,595.6000000000669,595.6016,2015-01-01 01:39:16,bin5956,35,False +CTSPillarNetworkA,5957,5957,5957,1986-04-24,595.7000000000669,595.7016,2015-01-01 01:39:17,bin5957,75,False +CTSPillarNetworkA,5958,5958,5958,1986-04-25,595.8000000000669,595.8016,2015-01-01 01:39:18,bin5958,35,False +CTSPillarNetworkA,5959,5959,5959,1986-04-26,595.9000000000669,595.90155,2015-01-01 01:39:19,bin5959,75,False +CTSPillarNetworkA,5960,5960,5960,1986-04-27,596.000000000067,596.0015,2015-01-01 01:39:20,bin5960,35,False +CTSPillarNetworkA,5961,5961,5961,1986-04-28,596.100000000067,596.1015,2015-01-01 01:39:21,bin5961,75,False +CTSPillarNetworkA,5962,5962,5962,1986-04-29,596.200000000067,596.2015,2015-01-01 01:39:22,bin5962,35,False +CTSPillarNetworkA,5963,5963,5963,1986-04-30,596.300000000067,596.30145,2015-01-01 01:39:23,bin5963,75,False +CTSPillarNetworkA,5964,5964,5964,1986-05-01,596.400000000067,596.4014,2015-01-01 01:39:24,bin5964,35,False +CTSPillarNetworkA,5965,5965,5965,1986-05-02,596.5000000000671,596.5014,2015-01-01 01:39:25,bin5965,75,False +CTSPillarNetworkA,5966,5966,5966,1986-05-03,596.6000000000671,596.6014,2015-01-01 01:39:26,bin5966,35,False +CTSPillarNetworkA,5967,5967,5967,1986-05-04,596.7000000000671,596.70135,2015-01-01 01:39:27,bin5967,75,False +CTSPillarNetworkA,5968,5968,5968,1986-05-05,596.8000000000671,596.80133,2015-01-01 01:39:28,bin5968,35,False +CTSPillarNetworkA,5969,5969,5969,1986-05-06,596.9000000000672,596.9013,2015-01-01 01:39:29,bin5969,75,False +CTSPillarNetworkA,5970,5970,5970,1986-05-07,597.0000000000672,597.0013,2015-01-01 01:39:30,bin5970,35,False +CTSPillarNetworkA,5971,5971,5971,1986-05-08,597.1000000000672,597.10126,2015-01-01 01:39:31,bin5971,75,False +CTSPillarNetworkA,5972,5972,5972,1986-05-09,597.2000000000672,597.20123,2015-01-01 01:39:32,bin5972,35,False +CTSPillarNetworkA,5973,5973,5973,1986-05-10,597.3000000000673,597.3012,2015-01-01 01:39:33,bin5973,75,False +CTSPillarNetworkA,5974,5974,5974,1986-05-11,597.4000000000673,597.4012,2015-01-01 01:39:34,bin5974,35,False +CTSPillarNetworkA,5975,5975,5975,1986-05-12,597.5000000000673,597.50116,2015-01-01 01:39:35,bin5975,75,False +CTSPillarNetworkA,5976,5976,5976,1986-05-13,597.6000000000673,597.60114,2015-01-01 01:39:36,bin5976,35,False +CTSPillarNetworkA,5977,5977,5977,1986-05-14,597.7000000000673,597.7011,2015-01-01 01:39:37,bin5977,75,False +CTSPillarNetworkA,5978,5978,5978,1986-05-15,597.8000000000674,597.8011,2015-01-01 01:39:38,bin5978,35,False +CTSPillarNetworkA,5979,5979,5979,1986-05-16,597.9000000000674,597.90106,2015-01-01 01:39:39,bin5979,75,False +CTSPillarNetworkA,5980,5980,5980,1986-05-17,598.0000000000674,598.00104,2015-01-01 01:39:40,bin5980,35,False +CTSPillarNetworkA,5981,5981,5981,1986-05-18,598.1000000000674,598.101,2015-01-01 01:39:41,bin5981,75,False +CTSPillarNetworkA,5982,5982,5982,1986-05-19,598.2000000000675,598.201,2015-01-01 01:39:42,bin5982,35,False +CTSPillarNetworkA,5983,5983,5983,1986-05-20,598.3000000000675,598.30096,2015-01-01 01:39:43,bin5983,75,False +CTSPillarNetworkA,5984,5984,5984,1986-05-21,598.4000000000675,598.40094,2015-01-01 01:39:44,bin5984,35,False +CTSPillarNetworkA,5985,5985,5985,1986-05-22,598.5000000000675,598.5009,2015-01-01 01:39:45,bin5985,75,False +CTSPillarNetworkA,5986,5986,5986,1986-05-23,598.6000000000676,598.6009,2015-01-01 01:39:46,bin5986,35,False +CTSPillarNetworkA,5987,5987,5987,1986-05-24,598.7000000000676,598.70087,2015-01-01 01:39:47,bin5987,75,False +CTSPillarNetworkA,5988,5988,5988,1986-05-25,598.8000000000676,598.80084,2015-01-01 01:39:48,bin5988,35,False +CTSPillarNetworkA,5989,5989,5989,1986-05-26,598.9000000000676,598.9008,2015-01-01 01:39:49,bin5989,75,False +CTSPillarNetworkA,5990,5990,5990,1986-05-27,599.0000000000676,599.0008,2015-01-01 01:39:50,bin5990,35,False +CTSPillarNetworkA,5991,5991,5991,1986-05-28,599.1000000000677,599.10077,2015-01-01 01:39:51,bin5991,75,False +CTSPillarNetworkA,5992,5992,5992,1986-05-29,599.2000000000677,599.20074,2015-01-01 01:39:52,bin5992,35,False +CTSPillarNetworkA,5993,5993,5993,1986-05-30,599.3000000000677,599.3007,2015-01-01 01:39:53,bin5993,75,False +CTSPillarNetworkA,5994,5994,5994,1986-05-31,599.4000000000677,599.4007,2015-01-01 01:39:54,bin5994,35,False +CTSPillarNetworkA,5995,5995,5995,1986-06-01,599.5000000000678,599.5007,2015-01-01 01:39:55,bin5995,75,False +CTSPillarNetworkA,5996,5996,5996,1986-06-02,599.6000000000678,599.60065,2015-01-01 01:39:56,bin5996,35,False +CTSPillarNetworkA,5997,5997,5997,1986-06-03,599.7000000000678,599.7006,2015-01-01 01:39:57,bin5997,75,False +CTSPillarNetworkA,5998,5998,5998,1986-06-04,599.8000000000678,599.8006,2015-01-01 01:39:58,bin5998,35,False +CTSPillarNetworkA,5999,5999,5999,1986-06-05,599.9000000000678,599.9006,2015-01-01 01:39:59,bin5999,75,False +CTSPillarNetworkA,6000,6000,6000,1986-06-06,600.0000000000679,600.00055,2015-01-01 01:40:00,bin6000,35,False +CTSPillarNetworkA,6001,6001,6001,1986-06-07,600.1000000000679,600.1005,2015-01-01 01:40:01,bin6001,75,False +CTSPillarNetworkA,6002,6002,6002,1986-06-08,600.2000000000679,600.2005,2015-01-01 01:40:02,bin6002,35,False +CTSPillarNetworkA,6003,6003,6003,1986-06-09,600.3000000000679,600.3005,2015-01-01 01:40:03,bin6003,75,False +CTSPillarNetworkA,6004,6004,6004,1986-06-10,600.400000000068,600.40045,2015-01-01 01:40:04,bin6004,35,False +CTSPillarNetworkA,6005,6005,6005,1986-06-11,600.500000000068,600.5004,2015-01-01 01:40:05,bin6005,75,False +CTSPillarNetworkA,6006,6006,6006,1986-06-12,600.600000000068,600.6004,2015-01-01 01:40:06,bin6006,35,False +CTSPillarNetworkA,6007,6007,6007,1986-06-13,600.700000000068,600.7004,2015-01-01 01:40:07,bin6007,75,False +CTSPillarNetworkA,6008,6008,6008,1986-06-14,600.800000000068,600.80035,2015-01-01 01:40:08,bin6008,35,False +CTSPillarNetworkA,6009,6009,6009,1986-06-15,600.9000000000681,600.9003,2015-01-01 01:40:09,bin6009,75,False +CTSPillarNetworkA,6010,6010,6010,1986-06-16,601.0000000000681,601.0003,2015-01-01 01:40:10,bin6010,35,False +CTSPillarNetworkA,6011,6011,6011,1986-06-17,601.1000000000681,601.1003,2015-01-01 01:40:11,bin6011,75,False +CTSPillarNetworkA,6012,6012,6012,1986-06-18,601.2000000000681,601.20026,2015-01-01 01:40:12,bin6012,35,False +CTSPillarNetworkA,6013,6013,6013,1986-06-19,601.3000000000682,601.30023,2015-01-01 01:40:13,bin6013,75,False +CTSPillarNetworkA,6014,6014,6014,1986-06-20,601.4000000000682,601.4002,2015-01-01 01:40:14,bin6014,35,False +CTSPillarNetworkA,6015,6015,6015,1986-06-21,601.5000000000682,601.5002,2015-01-01 01:40:15,bin6015,75,False +CTSPillarNetworkA,6016,6016,6016,1986-06-22,601.6000000000682,601.60016,2015-01-01 01:40:16,bin6016,35,False +CTSPillarNetworkA,6017,6017,6017,1986-06-23,601.7000000000683,601.70013,2015-01-01 01:40:17,bin6017,75,False +CTSPillarNetworkA,6018,6018,6018,1986-06-24,601.8000000000683,601.8001,2015-01-01 01:40:18,bin6018,35,False +CTSPillarNetworkA,6019,6019,6019,1986-06-25,601.9000000000683,601.9001,2015-01-01 01:40:19,bin6019,75,False +CTSPillarNetworkA,6020,6020,6020,1986-06-26,602.0000000000683,602.00006,2015-01-01 01:40:20,bin6020,35,False +CTSPillarNetworkA,6021,6021,6021,1986-06-27,602.1000000000683,602.10004,2015-01-01 01:40:21,bin6021,75,False +CTSPillarNetworkA,6022,6022,6022,1986-06-28,602.2000000000684,602.2,2015-01-01 01:40:22,bin6022,35,False +CTSPillarNetworkA,6023,6023,6023,1986-06-29,602.3000000000684,602.3,2015-01-01 01:40:23,bin6023,75,False +CTSPillarNetworkA,6024,6024,6024,1986-06-30,602.4000000000684,602.39996,2015-01-01 01:40:24,bin6024,35,False +CTSPillarNetworkA,6025,6025,6025,1986-07-01,602.5000000000684,602.49994,2015-01-01 01:40:25,bin6025,75,False +CTSPillarNetworkA,6026,6026,6026,1986-07-02,602.6000000000685,602.5999,2015-01-01 01:40:26,bin6026,35,False +CTSPillarNetworkA,6027,6027,6027,1986-07-03,602.7000000000685,602.6999,2015-01-01 01:40:27,bin6027,75,False +CTSPillarNetworkA,6028,6028,6028,1986-07-04,602.8000000000685,602.79987,2015-01-01 01:40:28,bin6028,35,False +CTSPillarNetworkA,6029,6029,6029,1986-07-05,602.9000000000685,602.89984,2015-01-01 01:40:29,bin6029,75,False +CTSPillarNetworkA,6030,6030,6030,1986-07-06,603.0000000000686,602.9998,2015-01-01 01:40:30,bin6030,35,False +CTSPillarNetworkA,6031,6031,6031,1986-07-07,603.1000000000686,603.0998,2015-01-01 01:40:31,bin6031,75,False +CTSPillarNetworkA,6032,6032,6032,1986-07-08,603.2000000000686,603.19977,2015-01-01 01:40:32,bin6032,35,False +CTSPillarNetworkA,6033,6033,6033,1986-07-09,603.3000000000686,603.29974,2015-01-01 01:40:33,bin6033,75,False +CTSPillarNetworkA,6034,6034,6034,1986-07-10,603.4000000000686,603.3997,2015-01-01 01:40:34,bin6034,35,False +CTSPillarNetworkA,6035,6035,6035,1986-07-11,603.5000000000687,603.4997,2015-01-01 01:40:35,bin6035,75,False +CTSPillarNetworkA,6036,6036,6036,1986-07-12,603.6000000000687,603.5997,2015-01-01 01:40:36,bin6036,35,False +CTSPillarNetworkA,6037,6037,6037,1986-07-13,603.7000000000687,603.69965,2015-01-01 01:40:37,bin6037,75,False +CTSPillarNetworkA,6038,6038,6038,1986-07-14,603.8000000000687,603.7996,2015-01-01 01:40:38,bin6038,35,False +CTSPillarNetworkA,6039,6039,6039,1986-07-15,603.9000000000688,603.8996,2015-01-01 01:40:39,bin6039,75,False +CTSPillarNetworkA,6040,6040,6040,1986-07-16,604.0000000000688,603.9996,2015-01-01 01:40:40,bin6040,35,False +CTSPillarNetworkA,6041,6041,6041,1986-07-17,604.1000000000688,604.09955,2015-01-01 01:40:41,bin6041,75,False +CTSPillarNetworkA,6042,6042,6042,1986-07-18,604.2000000000688,604.1995,2015-01-01 01:40:42,bin6042,35,False +CTSPillarNetworkA,6043,6043,6043,1986-07-19,604.3000000000688,604.2995,2015-01-01 01:40:43,bin6043,75,False +CTSPillarNetworkA,6044,6044,6044,1986-07-20,604.4000000000689,604.3995,2015-01-01 01:40:44,bin6044,35,False +CTSPillarNetworkA,6045,6045,6045,1986-07-21,604.5000000000689,604.49945,2015-01-01 01:40:45,bin6045,75,False +CTSPillarNetworkA,6046,6046,6046,1986-07-22,604.6000000000689,604.5994,2015-01-01 01:40:46,bin6046,35,False +CTSPillarNetworkA,6047,6047,6047,1986-07-23,604.7000000000689,604.6994,2015-01-01 01:40:47,bin6047,75,False +CTSPillarNetworkA,6048,6048,6048,1986-07-24,604.800000000069,604.7994,2015-01-01 01:40:48,bin6048,35,False +CTSPillarNetworkA,6049,6049,6049,1986-07-25,604.900000000069,604.89935,2015-01-01 01:40:49,bin6049,75,False +CTSPillarNetworkA,6050,6050,6050,1986-07-26,605.000000000069,604.9993,2015-01-01 01:40:50,bin6050,35,False +CTSPillarNetworkA,6051,6051,6051,1986-07-27,605.100000000069,605.0993,2015-01-01 01:40:51,bin6051,75,False +CTSPillarNetworkA,6052,6052,6052,1986-07-28,605.200000000069,605.1993,2015-01-01 01:40:52,bin6052,35,False +CTSPillarNetworkA,6053,6053,6053,1986-07-29,605.3000000000691,605.29926,2015-01-01 01:40:53,bin6053,75,False +CTSPillarNetworkA,6054,6054,6054,1986-07-30,605.4000000000691,605.39923,2015-01-01 01:40:54,bin6054,35,False +CTSPillarNetworkA,6055,6055,6055,1986-07-31,605.5000000000691,605.4992,2015-01-01 01:40:55,bin6055,75,False +CTSPillarNetworkA,6056,6056,6056,1986-08-01,605.6000000000691,605.5992,2015-01-01 01:40:56,bin6056,35,False +CTSPillarNetworkA,6057,6057,6057,1986-08-02,605.7000000000692,605.69916,2015-01-01 01:40:57,bin6057,75,False +CTSPillarNetworkA,6058,6058,6058,1986-08-03,605.8000000000692,605.79913,2015-01-01 01:40:58,bin6058,35,False +CTSPillarNetworkA,6059,6059,6059,1986-08-04,605.9000000000692,605.8991,2015-01-01 01:40:59,bin6059,75,False +CTSPillarNetworkA,6060,6060,6060,1986-08-05,606.0000000000692,605.9991,2015-01-01 01:41:00,bin6060,35,False +CTSPillarNetworkA,6061,6061,6061,1986-08-06,606.1000000000693,606.09906,2015-01-01 01:41:01,bin6061,75,False +CTSPillarNetworkA,6062,6062,6062,1986-08-07,606.2000000000693,606.19904,2015-01-01 01:41:02,bin6062,35,False +CTSPillarNetworkA,6063,6063,6063,1986-08-08,606.3000000000693,606.299,2015-01-01 01:41:03,bin6063,75,False +CTSPillarNetworkA,6064,6064,6064,1986-08-09,606.4000000000693,606.399,2015-01-01 01:41:04,bin6064,35,False +CTSPillarNetworkA,6065,6065,6065,1986-08-10,606.5000000000693,606.49896,2015-01-01 01:41:05,bin6065,75,False +CTSPillarNetworkA,6066,6066,6066,1986-08-11,606.6000000000694,606.59894,2015-01-01 01:41:06,bin6066,35,False +CTSPillarNetworkA,6067,6067,6067,1986-08-12,606.7000000000694,606.6989,2015-01-01 01:41:07,bin6067,75,False +CTSPillarNetworkA,6068,6068,6068,1986-08-13,606.8000000000694,606.7989,2015-01-01 01:41:08,bin6068,35,False +CTSPillarNetworkA,6069,6069,6069,1986-08-14,606.9000000000694,606.89886,2015-01-01 01:41:09,bin6069,75,False +CTSPillarNetworkA,6070,6070,6070,1986-08-15,607.0000000000695,606.99884,2015-01-01 01:41:10,bin6070,35,False +CTSPillarNetworkA,6071,6071,6071,1986-08-16,607.1000000000695,607.0988,2015-01-01 01:41:11,bin6071,75,False +CTSPillarNetworkA,6072,6072,6072,1986-08-17,607.2000000000695,607.1988,2015-01-01 01:41:12,bin6072,35,False +CTSPillarNetworkA,6073,6073,6073,1986-08-18,607.3000000000695,607.29877,2015-01-01 01:41:13,bin6073,75,False +CTSPillarNetworkA,6074,6074,6074,1986-08-19,607.4000000000696,607.39874,2015-01-01 01:41:14,bin6074,35,False +CTSPillarNetworkA,6075,6075,6075,1986-08-20,607.5000000000696,607.4987,2015-01-01 01:41:15,bin6075,75,False +CTSPillarNetworkA,6076,6076,6076,1986-08-21,607.6000000000696,607.5987,2015-01-01 01:41:16,bin6076,35,False +CTSPillarNetworkA,6077,6077,6077,1986-08-22,607.7000000000696,607.69867,2015-01-01 01:41:17,bin6077,75,False +CTSPillarNetworkA,6078,6078,6078,1986-08-23,607.8000000000696,607.79865,2015-01-01 01:41:18,bin6078,35,False +CTSPillarNetworkA,6079,6079,6079,1986-08-24,607.9000000000697,607.8986,2015-01-01 01:41:19,bin6079,75,False +CTSPillarNetworkA,6080,6080,6080,1986-08-25,608.0000000000697,607.9986,2015-01-01 01:41:20,bin6080,35,False +CTSPillarNetworkA,6081,6081,6081,1986-08-26,608.1000000000697,608.0986,2015-01-01 01:41:21,bin6081,75,False +CTSPillarNetworkA,6082,6082,6082,1986-08-27,608.2000000000697,608.19855,2015-01-01 01:41:22,bin6082,35,False +CTSPillarNetworkA,6083,6083,6083,1986-08-28,608.3000000000698,608.2985,2015-01-01 01:41:23,bin6083,75,False +CTSPillarNetworkA,6084,6084,6084,1986-08-29,608.4000000000698,608.3985,2015-01-01 01:41:24,bin6084,35,False +CTSPillarNetworkA,6085,6085,6085,1986-08-30,608.5000000000698,608.4985,2015-01-01 01:41:25,bin6085,75,False +CTSPillarNetworkA,6086,6086,6086,1986-08-31,608.6000000000698,608.59845,2015-01-01 01:41:26,bin6086,35,False +CTSPillarNetworkA,6087,6087,6087,1986-09-01,608.7000000000698,608.6984,2015-01-01 01:41:27,bin6087,75,False +CTSPillarNetworkA,6088,6088,6088,1986-09-02,608.8000000000699,608.7984,2015-01-01 01:41:28,bin6088,35,False +CTSPillarNetworkA,6089,6089,6089,1986-09-03,608.9000000000699,608.8984,2015-01-01 01:41:29,bin6089,75,False +CTSPillarNetworkA,6090,6090,6090,1986-09-04,609.0000000000699,608.99835,2015-01-01 01:41:30,bin6090,35,False +CTSPillarNetworkA,6091,6091,6091,1986-09-05,609.1000000000699,609.0983,2015-01-01 01:41:31,bin6091,75,False +CTSPillarNetworkA,6092,6092,6092,1986-09-06,609.20000000007,609.1983,2015-01-01 01:41:32,bin6092,35,False +CTSPillarNetworkA,6093,6093,6093,1986-09-07,609.30000000007,609.2983,2015-01-01 01:41:33,bin6093,75,False +CTSPillarNetworkA,6094,6094,6094,1986-09-08,609.40000000007,609.39825,2015-01-01 01:41:34,bin6094,35,False +CTSPillarNetworkA,6095,6095,6095,1986-09-09,609.50000000007,609.4982,2015-01-01 01:41:35,bin6095,75,False +CTSPillarNetworkA,6096,6096,6096,1986-09-10,609.60000000007,609.5982,2015-01-01 01:41:36,bin6096,35,False +CTSPillarNetworkA,6097,6097,6097,1986-09-11,609.7000000000701,609.6982,2015-01-01 01:41:37,bin6097,75,False +CTSPillarNetworkA,6098,6098,6098,1986-09-12,609.8000000000701,609.79816,2015-01-01 01:41:38,bin6098,35,False +CTSPillarNetworkA,6099,6099,6099,1986-09-13,609.9000000000701,609.89813,2015-01-01 01:41:39,bin6099,75,False +CTSPillarNetworkA,6100,6100,6100,1986-09-14,610.0000000000701,609.9981,2015-01-01 01:41:40,bin6100,35,False +CTSPillarNetworkA,6101,6101,6101,1986-09-15,610.1000000000702,610.0981,2015-01-01 01:41:41,bin6101,75,False +CTSPillarNetworkA,6102,6102,6102,1986-09-16,610.2000000000702,610.19806,2015-01-01 01:41:42,bin6102,35,False +CTSPillarNetworkA,6103,6103,6103,1986-09-17,610.3000000000702,610.29803,2015-01-01 01:41:43,bin6103,75,False +CTSPillarNetworkA,6104,6104,6104,1986-09-18,610.4000000000702,610.398,2015-01-01 01:41:44,bin6104,35,False +CTSPillarNetworkA,6105,6105,6105,1986-09-19,610.5000000000703,610.498,2015-01-01 01:41:45,bin6105,75,False +CTSPillarNetworkA,6106,6106,6106,1986-09-20,610.6000000000703,610.59796,2015-01-01 01:41:46,bin6106,35,False +CTSPillarNetworkA,6107,6107,6107,1986-09-21,610.7000000000703,610.69794,2015-01-01 01:41:47,bin6107,75,False +CTSPillarNetworkA,6108,6108,6108,1986-09-22,610.8000000000703,610.7979,2015-01-01 01:41:48,bin6108,35,False +CTSPillarNetworkA,6109,6109,6109,1986-09-23,610.9000000000703,610.8979,2015-01-01 01:41:49,bin6109,75,False +CTSPillarNetworkA,6110,6110,6110,1986-09-24,611.0000000000704,610.99786,2015-01-01 01:41:50,bin6110,35,False +CTSPillarNetworkA,6111,6111,6111,1986-09-25,611.1000000000704,611.09784,2015-01-01 01:41:51,bin6111,75,False +CTSPillarNetworkA,6112,6112,6112,1986-09-26,611.2000000000704,611.1978,2015-01-01 01:41:52,bin6112,35,False +CTSPillarNetworkA,6113,6113,6113,1986-09-27,611.3000000000704,611.2978,2015-01-01 01:41:53,bin6113,75,False +CTSPillarNetworkA,6114,6114,6114,1986-09-28,611.4000000000705,611.39777,2015-01-01 01:41:54,bin6114,35,False +CTSPillarNetworkA,6115,6115,6115,1986-09-29,611.5000000000705,611.49774,2015-01-01 01:41:55,bin6115,75,False +CTSPillarNetworkA,6116,6116,6116,1986-09-30,611.6000000000705,611.5977,2015-01-01 01:41:56,bin6116,35,False +CTSPillarNetworkA,6117,6117,6117,1986-10-01,611.7000000000705,611.6977,2015-01-01 01:41:57,bin6117,75,False +CTSPillarNetworkA,6118,6118,6118,1986-10-02,611.8000000000706,611.79767,2015-01-01 01:41:58,bin6118,35,False +CTSPillarNetworkA,6119,6119,6119,1986-10-03,611.9000000000706,611.89764,2015-01-01 01:41:59,bin6119,75,False +CTSPillarNetworkA,6120,6120,6120,1986-10-04,612.0000000000706,611.9976,2015-01-01 01:42:00,bin6120,35,False +CTSPillarNetworkA,6121,6121,6121,1986-10-05,612.1000000000706,612.0976,2015-01-01 01:42:01,bin6121,75,False +CTSPillarNetworkA,6122,6122,6122,1986-10-06,612.2000000000706,612.1976,2015-01-01 01:42:02,bin6122,35,False +CTSPillarNetworkA,6123,6123,6123,1986-10-07,612.3000000000707,612.29755,2015-01-01 01:42:03,bin6123,75,False +CTSPillarNetworkA,6124,6124,6124,1986-10-08,612.4000000000707,612.3975,2015-01-01 01:42:04,bin6124,35,False +CTSPillarNetworkA,6125,6125,6125,1986-10-09,612.5000000000707,612.4975,2015-01-01 01:42:05,bin6125,75,False +CTSPillarNetworkA,6126,6126,6126,1986-10-10,612.6000000000707,612.5975,2015-01-01 01:42:06,bin6126,35,False +CTSPillarNetworkA,6127,6127,6127,1986-10-11,612.7000000000708,612.69745,2015-01-01 01:42:07,bin6127,75,False +CTSPillarNetworkA,6128,6128,6128,1986-10-12,612.8000000000708,612.7974,2015-01-01 01:42:08,bin6128,35,False +CTSPillarNetworkA,6129,6129,6129,1986-10-13,612.9000000000708,612.8974,2015-01-01 01:42:09,bin6129,75,False +CTSPillarNetworkA,6130,6130,6130,1986-10-14,613.0000000000708,612.9974,2015-01-01 01:42:10,bin6130,35,False +CTSPillarNetworkA,6131,6131,6131,1986-10-15,613.1000000000708,613.09735,2015-01-01 01:42:11,bin6131,75,False +CTSPillarNetworkA,6132,6132,6132,1986-10-16,613.2000000000709,613.1973,2015-01-01 01:42:12,bin6132,35,False +CTSPillarNetworkA,6133,6133,6133,1986-10-17,613.3000000000709,613.2973,2015-01-01 01:42:13,bin6133,75,False +CTSPillarNetworkA,6134,6134,6134,1986-10-18,613.4000000000709,613.3973,2015-01-01 01:42:14,bin6134,35,False +CTSPillarNetworkA,6135,6135,6135,1986-10-19,613.5000000000709,613.49725,2015-01-01 01:42:15,bin6135,75,False +CTSPillarNetworkA,6136,6136,6136,1986-10-20,613.600000000071,613.5972,2015-01-01 01:42:16,bin6136,35,False +CTSPillarNetworkA,6137,6137,6137,1986-10-21,613.700000000071,613.6972,2015-01-01 01:42:17,bin6137,75,False +CTSPillarNetworkA,6138,6138,6138,1986-10-22,613.800000000071,613.7972,2015-01-01 01:42:18,bin6138,35,False +CTSPillarNetworkA,6139,6139,6139,1986-10-23,613.900000000071,613.89716,2015-01-01 01:42:19,bin6139,75,False +CTSPillarNetworkA,6140,6140,6140,1986-10-24,614.000000000071,613.99713,2015-01-01 01:42:20,bin6140,35,False +CTSPillarNetworkA,6141,6141,6141,1986-10-25,614.1000000000711,614.0971,2015-01-01 01:42:21,bin6141,75,False +CTSPillarNetworkA,6142,6142,6142,1986-10-26,614.2000000000711,614.1971,2015-01-01 01:42:22,bin6142,35,False +CTSPillarNetworkA,6143,6143,6143,1986-10-27,614.3000000000711,614.29706,2015-01-01 01:42:23,bin6143,75,False +CTSPillarNetworkA,6144,6144,6144,1986-10-28,614.4000000000711,614.39703,2015-01-01 01:42:24,bin6144,35,False +CTSPillarNetworkA,6145,6145,6145,1986-10-29,614.5000000000712,614.497,2015-01-01 01:42:25,bin6145,75,False +CTSPillarNetworkA,6146,6146,6146,1986-10-30,614.6000000000712,614.597,2015-01-01 01:42:26,bin6146,35,False +CTSPillarNetworkA,6147,6147,6147,1986-10-31,614.7000000000712,614.69696,2015-01-01 01:42:27,bin6147,75,False +CTSPillarNetworkA,6148,6148,6148,1986-11-01,614.8000000000712,614.79694,2015-01-01 01:42:28,bin6148,35,False +CTSPillarNetworkA,6149,6149,6149,1986-11-02,614.9000000000713,614.8969,2015-01-01 01:42:29,bin6149,75,False +CTSPillarNetworkA,6150,6150,6150,1986-11-03,615.0000000000713,614.9969,2015-01-01 01:42:30,bin6150,35,False +CTSPillarNetworkA,6151,6151,6151,1986-11-04,615.1000000000713,615.09686,2015-01-01 01:42:31,bin6151,75,False +CTSPillarNetworkA,6152,6152,6152,1986-11-05,615.2000000000713,615.19684,2015-01-01 01:42:32,bin6152,35,False +CTSPillarNetworkA,6153,6153,6153,1986-11-06,615.3000000000713,615.2968,2015-01-01 01:42:33,bin6153,75,False +CTSPillarNetworkA,6154,6154,6154,1986-11-07,615.4000000000714,615.3968,2015-01-01 01:42:34,bin6154,35,False +CTSPillarNetworkA,6155,6155,6155,1986-11-08,615.5000000000714,615.49677,2015-01-01 01:42:35,bin6155,75,False +CTSPillarNetworkA,6156,6156,6156,1986-11-09,615.6000000000714,615.59674,2015-01-01 01:42:36,bin6156,35,False +CTSPillarNetworkA,6157,6157,6157,1986-11-10,615.7000000000714,615.6967,2015-01-01 01:42:37,bin6157,75,False +CTSPillarNetworkA,6158,6158,6158,1986-11-11,615.8000000000715,615.7967,2015-01-01 01:42:38,bin6158,35,False +CTSPillarNetworkA,6159,6159,6159,1986-11-12,615.9000000000715,615.89667,2015-01-01 01:42:39,bin6159,75,False +CTSPillarNetworkA,6160,6160,6160,1986-11-13,616.0000000000715,615.99664,2015-01-01 01:42:40,bin6160,35,False +CTSPillarNetworkA,6161,6161,6161,1986-11-14,616.1000000000715,616.0966,2015-01-01 01:42:41,bin6161,75,False +CTSPillarNetworkA,6162,6162,6162,1986-11-15,616.2000000000716,616.1966,2015-01-01 01:42:42,bin6162,35,False +CTSPillarNetworkA,6163,6163,6163,1986-11-16,616.3000000000716,616.2966,2015-01-01 01:42:43,bin6163,75,False +CTSPillarNetworkA,6164,6164,6164,1986-11-17,616.4000000000716,616.39655,2015-01-01 01:42:44,bin6164,35,False +CTSPillarNetworkA,6165,6165,6165,1986-11-18,616.5000000000716,616.4965,2015-01-01 01:42:45,bin6165,75,False +CTSPillarNetworkA,6166,6166,6166,1986-11-19,616.6000000000716,616.5965,2015-01-01 01:42:46,bin6166,35,False +CTSPillarNetworkA,6167,6167,6167,1986-11-20,616.7000000000717,616.6965,2015-01-01 01:42:47,bin6167,75,False +CTSPillarNetworkA,6168,6168,6168,1986-11-21,616.8000000000717,616.79645,2015-01-01 01:42:48,bin6168,35,False +CTSPillarNetworkA,6169,6169,6169,1986-11-22,616.9000000000717,616.8964,2015-01-01 01:42:49,bin6169,75,False +CTSPillarNetworkA,6170,6170,6170,1986-11-23,617.0000000000717,616.9964,2015-01-01 01:42:50,bin6170,35,False +CTSPillarNetworkA,6171,6171,6171,1986-11-24,617.1000000000718,617.0964,2015-01-01 01:42:51,bin6171,75,False +CTSPillarNetworkA,6172,6172,6172,1986-11-25,617.2000000000718,617.19635,2015-01-01 01:42:52,bin6172,35,False +CTSPillarNetworkA,6173,6173,6173,1986-11-26,617.3000000000718,617.2963,2015-01-01 01:42:53,bin6173,75,False +CTSPillarNetworkA,6174,6174,6174,1986-11-27,617.4000000000718,617.3963,2015-01-01 01:42:54,bin6174,35,False +CTSPillarNetworkA,6175,6175,6175,1986-11-28,617.5000000000719,617.4963,2015-01-01 01:42:55,bin6175,75,False +CTSPillarNetworkA,6176,6176,6176,1986-11-29,617.6000000000719,617.59625,2015-01-01 01:42:56,bin6176,35,False +CTSPillarNetworkA,6177,6177,6177,1986-11-30,617.7000000000719,617.6962,2015-01-01 01:42:57,bin6177,75,False +CTSPillarNetworkA,6178,6178,6178,1986-12-01,617.8000000000719,617.7962,2015-01-01 01:42:58,bin6178,35,False +CTSPillarNetworkA,6179,6179,6179,1986-12-02,617.9000000000719,617.8962,2015-01-01 01:42:59,bin6179,75,False +CTSPillarNetworkA,6180,6180,6180,1986-12-03,618.000000000072,617.99615,2015-01-01 01:43:00,bin6180,35,False +CTSPillarNetworkA,6181,6181,6181,1986-12-04,618.100000000072,618.0961,2015-01-01 01:43:01,bin6181,75,False +CTSPillarNetworkA,6182,6182,6182,1986-12-05,618.200000000072,618.1961,2015-01-01 01:43:02,bin6182,35,False +CTSPillarNetworkA,6183,6183,6183,1986-12-06,618.300000000072,618.2961,2015-01-01 01:43:03,bin6183,75,False +CTSPillarNetworkA,6184,6184,6184,1986-12-07,618.400000000072,618.39606,2015-01-01 01:43:04,bin6184,35,False +CTSPillarNetworkA,6185,6185,6185,1986-12-08,618.5000000000721,618.49603,2015-01-01 01:43:05,bin6185,75,False +CTSPillarNetworkA,6186,6186,6186,1986-12-09,618.6000000000721,618.596,2015-01-01 01:43:06,bin6186,35,False +CTSPillarNetworkA,6187,6187,6187,1986-12-10,618.7000000000721,618.696,2015-01-01 01:43:07,bin6187,75,False +CTSPillarNetworkA,6188,6188,6188,1986-12-11,618.8000000000721,618.79596,2015-01-01 01:43:08,bin6188,35,False +CTSPillarNetworkA,6189,6189,6189,1986-12-12,618.9000000000722,618.89594,2015-01-01 01:43:09,bin6189,75,False +CTSPillarNetworkA,6190,6190,6190,1986-12-13,619.0000000000722,618.9959,2015-01-01 01:43:10,bin6190,35,False +CTSPillarNetworkA,6191,6191,6191,1986-12-14,619.1000000000722,619.0959,2015-01-01 01:43:11,bin6191,75,False +CTSPillarNetworkA,6192,6192,6192,1986-12-15,619.2000000000722,619.19586,2015-01-01 01:43:12,bin6192,35,False +CTSPillarNetworkA,6193,6193,6193,1986-12-16,619.3000000000723,619.29584,2015-01-01 01:43:13,bin6193,75,False +CTSPillarNetworkA,6194,6194,6194,1986-12-17,619.4000000000723,619.3958,2015-01-01 01:43:14,bin6194,35,False +CTSPillarNetworkA,6195,6195,6195,1986-12-18,619.5000000000723,619.4958,2015-01-01 01:43:15,bin6195,75,False +CTSPillarNetworkA,6196,6196,6196,1986-12-19,619.6000000000723,619.59576,2015-01-01 01:43:16,bin6196,35,False +CTSPillarNetworkA,6197,6197,6197,1986-12-20,619.7000000000724,619.69574,2015-01-01 01:43:17,bin6197,75,False +CTSPillarNetworkA,6198,6198,6198,1986-12-21,619.8000000000724,619.7957,2015-01-01 01:43:18,bin6198,35,False +CTSPillarNetworkA,6199,6199,6199,1986-12-22,619.9000000000724,619.8957,2015-01-01 01:43:19,bin6199,75,False +CTSPillarNetworkA,6200,6200,6200,1986-12-23,620.0000000000724,619.99567,2015-01-01 01:43:20,bin6200,35,False +CTSPillarNetworkA,6201,6201,6201,1986-12-24,620.1000000000724,620.09564,2015-01-01 01:43:21,bin6201,75,False +CTSPillarNetworkA,6202,6202,6202,1986-12-25,620.2000000000725,620.1956,2015-01-01 01:43:22,bin6202,35,False +CTSPillarNetworkA,6203,6203,6203,1986-12-26,620.3000000000725,620.2956,2015-01-01 01:43:23,bin6203,75,False +CTSPillarNetworkA,6204,6204,6204,1986-12-27,620.4000000000725,620.39557,2015-01-01 01:43:24,bin6204,35,False +CTSPillarNetworkA,6205,6205,6205,1986-12-28,620.5000000000725,620.49554,2015-01-01 01:43:25,bin6205,75,False +CTSPillarNetworkA,6206,6206,6206,1986-12-29,620.6000000000726,620.5955,2015-01-01 01:43:26,bin6206,35,False +CTSPillarNetworkA,6207,6207,6207,1986-12-30,620.7000000000726,620.6955,2015-01-01 01:43:27,bin6207,75,False +CTSPillarNetworkA,6208,6208,6208,1986-12-31,620.8000000000726,620.7955,2015-01-01 01:43:28,bin6208,35,False +CTSPillarNetworkA,6209,6209,6209,1987-01-01,620.9000000000726,620.89545,2015-01-01 01:43:29,bin6209,75,False +CTSPillarNetworkA,6210,6210,6210,1987-01-02,621.0000000000726,620.9954,2015-01-01 01:43:30,bin6210,35,False +CTSPillarNetworkA,6211,6211,6211,1987-01-03,621.1000000000727,621.0954,2015-01-01 01:43:31,bin6211,75,False +CTSPillarNetworkA,6212,6212,6212,1987-01-04,621.2000000000727,621.1954,2015-01-01 01:43:32,bin6212,35,False +CTSPillarNetworkA,6213,6213,6213,1987-01-05,621.3000000000727,621.29535,2015-01-01 01:43:33,bin6213,75,False +CTSPillarNetworkA,6214,6214,6214,1987-01-06,621.4000000000727,621.3953,2015-01-01 01:43:34,bin6214,35,False +CTSPillarNetworkA,6215,6215,6215,1987-01-07,621.5000000000728,621.4953,2015-01-01 01:43:35,bin6215,75,False +CTSPillarNetworkA,6216,6216,6216,1987-01-08,621.6000000000728,621.5953,2015-01-01 01:43:36,bin6216,35,False +CTSPillarNetworkA,6217,6217,6217,1987-01-09,621.7000000000728,621.69525,2015-01-01 01:43:37,bin6217,75,False +CTSPillarNetworkA,6218,6218,6218,1987-01-10,621.8000000000728,621.7952,2015-01-01 01:43:38,bin6218,35,False +CTSPillarNetworkA,6219,6219,6219,1987-01-11,621.9000000000729,621.8952,2015-01-01 01:43:39,bin6219,75,False +CTSPillarNetworkA,6220,6220,6220,1987-01-12,622.0000000000729,621.9952,2015-01-01 01:43:40,bin6220,35,False +CTSPillarNetworkA,6221,6221,6221,1987-01-13,622.1000000000729,622.09515,2015-01-01 01:43:41,bin6221,75,False +CTSPillarNetworkA,6222,6222,6222,1987-01-14,622.2000000000729,622.1951,2015-01-01 01:43:42,bin6222,35,False +CTSPillarNetworkA,6223,6223,6223,1987-01-15,622.3000000000729,622.2951,2015-01-01 01:43:43,bin6223,75,False +CTSPillarNetworkA,6224,6224,6224,1987-01-16,622.400000000073,622.3951,2015-01-01 01:43:44,bin6224,35,False +CTSPillarNetworkA,6225,6225,6225,1987-01-17,622.500000000073,622.49506,2015-01-01 01:43:45,bin6225,75,False +CTSPillarNetworkA,6226,6226,6226,1987-01-18,622.600000000073,622.59503,2015-01-01 01:43:46,bin6226,35,False +CTSPillarNetworkA,6227,6227,6227,1987-01-19,622.700000000073,622.695,2015-01-01 01:43:47,bin6227,75,False +CTSPillarNetworkA,6228,6228,6228,1987-01-20,622.800000000073,622.795,2015-01-01 01:43:48,bin6228,35,False +CTSPillarNetworkA,6229,6229,6229,1987-01-21,622.9000000000731,622.89496,2015-01-01 01:43:49,bin6229,75,False +CTSPillarNetworkA,6230,6230,6230,1987-01-22,623.0000000000731,622.99493,2015-01-01 01:43:50,bin6230,35,False +CTSPillarNetworkA,6231,6231,6231,1987-01-23,623.1000000000731,623.0949,2015-01-01 01:43:51,bin6231,75,False +CTSPillarNetworkA,6232,6232,6232,1987-01-24,623.2000000000731,623.1949,2015-01-01 01:43:52,bin6232,35,False +CTSPillarNetworkA,6233,6233,6233,1987-01-25,623.3000000000732,623.29486,2015-01-01 01:43:53,bin6233,75,False +CTSPillarNetworkA,6234,6234,6234,1987-01-26,623.4000000000732,623.39484,2015-01-01 01:43:54,bin6234,35,False +CTSPillarNetworkA,6235,6235,6235,1987-01-27,623.5000000000732,623.4948,2015-01-01 01:43:55,bin6235,75,False +CTSPillarNetworkA,6236,6236,6236,1987-01-28,623.6000000000732,623.5948,2015-01-01 01:43:56,bin6236,35,False +CTSPillarNetworkA,6237,6237,6237,1987-01-29,623.7000000000733,623.69476,2015-01-01 01:43:57,bin6237,75,False +CTSPillarNetworkA,6238,6238,6238,1987-01-30,623.8000000000733,623.79474,2015-01-01 01:43:58,bin6238,35,False +CTSPillarNetworkA,6239,6239,6239,1987-01-31,623.9000000000733,623.8947,2015-01-01 01:43:59,bin6239,75,False +CTSPillarNetworkA,6240,6240,6240,1987-02-01,624.0000000000733,623.9947,2015-01-01 01:44:00,bin6240,35,False +CTSPillarNetworkA,6241,6241,6241,1987-02-02,624.1000000000734,624.09467,2015-01-01 01:44:01,bin6241,75,False +CTSPillarNetworkA,6242,6242,6242,1987-02-03,624.2000000000734,624.19464,2015-01-01 01:44:02,bin6242,35,False +CTSPillarNetworkA,6243,6243,6243,1987-02-04,624.3000000000734,624.2946,2015-01-01 01:44:03,bin6243,75,False +CTSPillarNetworkA,6244,6244,6244,1987-02-05,624.4000000000734,624.3946,2015-01-01 01:44:04,bin6244,35,False +CTSPillarNetworkA,6245,6245,6245,1987-02-06,624.5000000000734,624.49457,2015-01-01 01:44:05,bin6245,75,False +CTSPillarNetworkA,6246,6246,6246,1987-02-07,624.6000000000735,624.59454,2015-01-01 01:44:06,bin6246,35,False +CTSPillarNetworkA,6247,6247,6247,1987-02-08,624.7000000000735,624.6945,2015-01-01 01:44:07,bin6247,75,False +CTSPillarNetworkA,6248,6248,6248,1987-02-09,624.8000000000735,624.7945,2015-01-01 01:44:08,bin6248,35,False +CTSPillarNetworkA,6249,6249,6249,1987-02-10,624.9000000000735,624.8945,2015-01-01 01:44:09,bin6249,75,False +CTSPillarNetworkA,6250,6250,6250,1987-02-11,625.0000000000736,624.99445,2015-01-01 01:44:10,bin6250,35,False +CTSPillarNetworkA,6251,6251,6251,1987-02-12,625.1000000000736,625.0944,2015-01-01 01:44:11,bin6251,75,False +CTSPillarNetworkA,6252,6252,6252,1987-02-13,625.2000000000736,625.1944,2015-01-01 01:44:12,bin6252,35,False +CTSPillarNetworkA,6253,6253,6253,1987-02-14,625.3000000000736,625.2944,2015-01-01 01:44:13,bin6253,75,False +CTSPillarNetworkA,6254,6254,6254,1987-02-15,625.4000000000736,625.39435,2015-01-01 01:44:14,bin6254,35,False +CTSPillarNetworkA,6255,6255,6255,1987-02-16,625.5000000000737,625.4943,2015-01-01 01:44:15,bin6255,75,False +CTSPillarNetworkA,6256,6256,6256,1987-02-17,625.6000000000737,625.5943,2015-01-01 01:44:16,bin6256,35,False +CTSPillarNetworkA,6257,6257,6257,1987-02-18,625.7000000000737,625.6943,2015-01-01 01:44:17,bin6257,75,False +CTSPillarNetworkA,6258,6258,6258,1987-02-19,625.8000000000737,625.79425,2015-01-01 01:44:18,bin6258,35,False +CTSPillarNetworkA,6259,6259,6259,1987-02-20,625.9000000000738,625.8942,2015-01-01 01:44:19,bin6259,75,False +CTSPillarNetworkA,6260,6260,6260,1987-02-21,626.0000000000738,625.9942,2015-01-01 01:44:20,bin6260,35,False +CTSPillarNetworkA,6261,6261,6261,1987-02-22,626.1000000000738,626.0942,2015-01-01 01:44:21,bin6261,75,False +CTSPillarNetworkA,6262,6262,6262,1987-02-23,626.2000000000738,626.19415,2015-01-01 01:44:22,bin6262,35,False +CTSPillarNetworkA,6263,6263,6263,1987-02-24,626.3000000000739,626.2941,2015-01-01 01:44:23,bin6263,75,False +CTSPillarNetworkA,6264,6264,6264,1987-02-25,626.4000000000739,626.3941,2015-01-01 01:44:24,bin6264,35,False +CTSPillarNetworkA,6265,6265,6265,1987-02-26,626.5000000000739,626.4941,2015-01-01 01:44:25,bin6265,75,False +CTSPillarNetworkA,6266,6266,6266,1987-02-27,626.6000000000739,626.59406,2015-01-01 01:44:26,bin6266,35,False +CTSPillarNetworkA,6267,6267,6267,1987-02-28,626.7000000000739,626.69403,2015-01-01 01:44:27,bin6267,75,False +CTSPillarNetworkA,6268,6268,6268,1987-03-01,626.800000000074,626.794,2015-01-01 01:44:28,bin6268,35,False +CTSPillarNetworkA,6269,6269,6269,1987-03-02,626.900000000074,626.894,2015-01-01 01:44:29,bin6269,75,False +CTSPillarNetworkA,6270,6270,6270,1987-03-03,627.000000000074,626.99396,2015-01-01 01:44:30,bin6270,35,False +CTSPillarNetworkA,6271,6271,6271,1987-03-04,627.100000000074,627.09393,2015-01-01 01:44:31,bin6271,75,False +CTSPillarNetworkA,6272,6272,6272,1987-03-05,627.200000000074,627.1939,2015-01-01 01:44:32,bin6272,35,False +CTSPillarNetworkA,6273,6273,6273,1987-03-06,627.3000000000741,627.2939,2015-01-01 01:44:33,bin6273,75,False +CTSPillarNetworkA,6274,6274,6274,1987-03-07,627.4000000000741,627.39386,2015-01-01 01:44:34,bin6274,35,False +CTSPillarNetworkA,6275,6275,6275,1987-03-08,627.5000000000741,627.49384,2015-01-01 01:44:35,bin6275,75,False +CTSPillarNetworkA,6276,6276,6276,1987-03-09,627.6000000000741,627.5938,2015-01-01 01:44:36,bin6276,35,False +CTSPillarNetworkA,6277,6277,6277,1987-03-10,627.7000000000742,627.6938,2015-01-01 01:44:37,bin6277,75,False +CTSPillarNetworkA,6278,6278,6278,1987-03-11,627.8000000000742,627.79376,2015-01-01 01:44:38,bin6278,35,False +CTSPillarNetworkA,6279,6279,6279,1987-03-12,627.9000000000742,627.89374,2015-01-01 01:44:39,bin6279,75,False +CTSPillarNetworkA,6280,6280,6280,1987-03-13,628.0000000000742,627.9937,2015-01-01 01:44:40,bin6280,35,False +CTSPillarNetworkA,6281,6281,6281,1987-03-14,628.1000000000743,628.0937,2015-01-01 01:44:41,bin6281,75,False +CTSPillarNetworkA,6282,6282,6282,1987-03-15,628.2000000000743,628.19366,2015-01-01 01:44:42,bin6282,35,False +CTSPillarNetworkA,6283,6283,6283,1987-03-16,628.3000000000743,628.29364,2015-01-01 01:44:43,bin6283,75,False +CTSPillarNetworkA,6284,6284,6284,1987-03-17,628.4000000000743,628.3936,2015-01-01 01:44:44,bin6284,35,False +CTSPillarNetworkA,6285,6285,6285,1987-03-18,628.5000000000744,628.4936,2015-01-01 01:44:45,bin6285,75,False +CTSPillarNetworkA,6286,6286,6286,1987-03-19,628.6000000000744,628.59357,2015-01-01 01:44:46,bin6286,35,False +CTSPillarNetworkA,6287,6287,6287,1987-03-20,628.7000000000744,628.69354,2015-01-01 01:44:47,bin6287,75,False +CTSPillarNetworkA,6288,6288,6288,1987-03-21,628.8000000000744,628.7935,2015-01-01 01:44:48,bin6288,35,False +CTSPillarNetworkA,6289,6289,6289,1987-03-22,628.9000000000744,628.8935,2015-01-01 01:44:49,bin6289,75,False +CTSPillarNetworkA,6290,6290,6290,1987-03-23,629.0000000000745,628.99347,2015-01-01 01:44:50,bin6290,35,False +CTSPillarNetworkA,6291,6291,6291,1987-03-24,629.1000000000745,629.09344,2015-01-01 01:44:51,bin6291,75,False +CTSPillarNetworkA,6292,6292,6292,1987-03-25,629.2000000000745,629.1934,2015-01-01 01:44:52,bin6292,35,False +CTSPillarNetworkA,6293,6293,6293,1987-03-26,629.3000000000745,629.2934,2015-01-01 01:44:53,bin6293,75,False +CTSPillarNetworkA,6294,6294,6294,1987-03-27,629.4000000000746,629.3934,2015-01-01 01:44:54,bin6294,35,False +CTSPillarNetworkA,6295,6295,6295,1987-03-28,629.5000000000746,629.49335,2015-01-01 01:44:55,bin6295,75,False +CTSPillarNetworkA,6296,6296,6296,1987-03-29,629.6000000000746,629.5933,2015-01-01 01:44:56,bin6296,35,False +CTSPillarNetworkA,6297,6297,6297,1987-03-30,629.7000000000746,629.6933,2015-01-01 01:44:57,bin6297,75,False +CTSPillarNetworkA,6298,6298,6298,1987-03-31,629.8000000000746,629.7933,2015-01-01 01:44:58,bin6298,35,False +CTSPillarNetworkA,6299,6299,6299,1987-04-01,629.9000000000747,629.89325,2015-01-01 01:44:59,bin6299,75,False +CTSPillarNetworkA,6300,6300,6300,1987-04-02,630.0000000000747,629.9932,2015-01-01 01:45:00,bin6300,35,False +CTSPillarNetworkA,6301,6301,6301,1987-04-03,630.1000000000747,630.0932,2015-01-01 01:45:01,bin6301,75,False +CTSPillarNetworkA,6302,6302,6302,1987-04-04,630.2000000000747,630.1932,2015-01-01 01:45:02,bin6302,35,False +CTSPillarNetworkA,6303,6303,6303,1987-04-05,630.3000000000748,630.29315,2015-01-01 01:45:03,bin6303,75,False +CTSPillarNetworkA,6304,6304,6304,1987-04-06,630.4000000000748,630.3931,2015-01-01 01:45:04,bin6304,35,False +CTSPillarNetworkA,6305,6305,6305,1987-04-07,630.5000000000748,630.4931,2015-01-01 01:45:05,bin6305,75,False +CTSPillarNetworkA,6306,6306,6306,1987-04-08,630.6000000000748,630.5931,2015-01-01 01:45:06,bin6306,35,False +CTSPillarNetworkA,6307,6307,6307,1987-04-09,630.7000000000749,630.69305,2015-01-01 01:45:07,bin6307,75,False +CTSPillarNetworkA,6308,6308,6308,1987-04-10,630.8000000000749,630.793,2015-01-01 01:45:08,bin6308,35,False +CTSPillarNetworkA,6309,6309,6309,1987-04-11,630.9000000000749,630.893,2015-01-01 01:45:09,bin6309,75,False +CTSPillarNetworkA,6310,6310,6310,1987-04-12,631.0000000000749,630.993,2015-01-01 01:45:10,bin6310,35,False +CTSPillarNetworkA,6311,6311,6311,1987-04-13,631.1000000000749,631.09296,2015-01-01 01:45:11,bin6311,75,False +CTSPillarNetworkA,6312,6312,6312,1987-04-14,631.200000000075,631.19293,2015-01-01 01:45:12,bin6312,35,False +CTSPillarNetworkA,6313,6313,6313,1987-04-15,631.300000000075,631.2929,2015-01-01 01:45:13,bin6313,75,False +CTSPillarNetworkA,6314,6314,6314,1987-04-16,631.400000000075,631.3929,2015-01-01 01:45:14,bin6314,35,False +CTSPillarNetworkA,6315,6315,6315,1987-04-17,631.500000000075,631.49286,2015-01-01 01:45:15,bin6315,75,False +CTSPillarNetworkA,6316,6316,6316,1987-04-18,631.600000000075,631.59283,2015-01-01 01:45:16,bin6316,35,False +CTSPillarNetworkA,6317,6317,6317,1987-04-19,631.7000000000751,631.6928,2015-01-01 01:45:17,bin6317,75,False +CTSPillarNetworkA,6318,6318,6318,1987-04-20,631.8000000000751,631.7928,2015-01-01 01:45:18,bin6318,35,False +CTSPillarNetworkA,6319,6319,6319,1987-04-21,631.9000000000751,631.89276,2015-01-01 01:45:19,bin6319,75,False +CTSPillarNetworkA,6320,6320,6320,1987-04-22,632.0000000000751,631.99274,2015-01-01 01:45:20,bin6320,35,False +CTSPillarNetworkA,6321,6321,6321,1987-04-23,632.1000000000752,632.0927,2015-01-01 01:45:21,bin6321,75,False +CTSPillarNetworkA,6322,6322,6322,1987-04-24,632.2000000000752,632.1927,2015-01-01 01:45:22,bin6322,35,False +CTSPillarNetworkA,6323,6323,6323,1987-04-25,632.3000000000752,632.29266,2015-01-01 01:45:23,bin6323,75,False +CTSPillarNetworkA,6324,6324,6324,1987-04-26,632.4000000000752,632.39264,2015-01-01 01:45:24,bin6324,35,False +CTSPillarNetworkA,6325,6325,6325,1987-04-27,632.5000000000753,632.4926,2015-01-01 01:45:25,bin6325,75,False +CTSPillarNetworkA,6326,6326,6326,1987-04-28,632.6000000000753,632.5926,2015-01-01 01:45:26,bin6326,35,False +CTSPillarNetworkA,6327,6327,6327,1987-04-29,632.7000000000753,632.69257,2015-01-01 01:45:27,bin6327,75,False +CTSPillarNetworkA,6328,6328,6328,1987-04-30,632.8000000000753,632.79254,2015-01-01 01:45:28,bin6328,35,False +CTSPillarNetworkA,6329,6329,6329,1987-05-01,632.9000000000754,632.8925,2015-01-01 01:45:29,bin6329,75,False +CTSPillarNetworkA,6330,6330,6330,1987-05-02,633.0000000000754,632.9925,2015-01-01 01:45:30,bin6330,35,False +CTSPillarNetworkA,6331,6331,6331,1987-05-03,633.1000000000754,633.09247,2015-01-01 01:45:31,bin6331,75,False +CTSPillarNetworkA,6332,6332,6332,1987-05-04,633.2000000000754,633.19244,2015-01-01 01:45:32,bin6332,35,False +CTSPillarNetworkA,6333,6333,6333,1987-05-05,633.3000000000754,633.2924,2015-01-01 01:45:33,bin6333,75,False +CTSPillarNetworkA,6334,6334,6334,1987-05-06,633.4000000000755,633.3924,2015-01-01 01:45:34,bin6334,35,False +CTSPillarNetworkA,6335,6335,6335,1987-05-07,633.5000000000755,633.4924,2015-01-01 01:45:35,bin6335,75,False +CTSPillarNetworkA,6336,6336,6336,1987-05-08,633.6000000000755,633.59235,2015-01-01 01:45:36,bin6336,35,False +CTSPillarNetworkA,6337,6337,6337,1987-05-09,633.7000000000755,633.6923,2015-01-01 01:45:37,bin6337,75,False +CTSPillarNetworkA,6338,6338,6338,1987-05-10,633.8000000000756,633.7923,2015-01-01 01:45:38,bin6338,35,False +CTSPillarNetworkA,6339,6339,6339,1987-05-11,633.9000000000756,633.8923,2015-01-01 01:45:39,bin6339,75,False +CTSPillarNetworkA,6340,6340,6340,1987-05-12,634.0000000000756,633.99225,2015-01-01 01:45:40,bin6340,35,False +CTSPillarNetworkA,6341,6341,6341,1987-05-13,634.1000000000756,634.0922,2015-01-01 01:45:41,bin6341,75,False +CTSPillarNetworkA,6342,6342,6342,1987-05-14,634.2000000000756,634.1922,2015-01-01 01:45:42,bin6342,35,False +CTSPillarNetworkA,6343,6343,6343,1987-05-15,634.3000000000757,634.2922,2015-01-01 01:45:43,bin6343,75,False +CTSPillarNetworkA,6344,6344,6344,1987-05-16,634.4000000000757,634.39215,2015-01-01 01:45:44,bin6344,35,False +CTSPillarNetworkA,6345,6345,6345,1987-05-17,634.5000000000757,634.4921,2015-01-01 01:45:45,bin6345,75,False +CTSPillarNetworkA,6346,6346,6346,1987-05-18,634.6000000000757,634.5921,2015-01-01 01:45:46,bin6346,35,False +CTSPillarNetworkA,6347,6347,6347,1987-05-19,634.7000000000758,634.6921,2015-01-01 01:45:47,bin6347,75,False +CTSPillarNetworkA,6348,6348,6348,1987-05-20,634.8000000000758,634.79205,2015-01-01 01:45:48,bin6348,35,False +CTSPillarNetworkA,6349,6349,6349,1987-05-21,634.9000000000758,634.892,2015-01-01 01:45:49,bin6349,75,False +CTSPillarNetworkA,6350,6350,6350,1987-05-22,635.0000000000758,634.992,2015-01-01 01:45:50,bin6350,35,False +CTSPillarNetworkA,6351,6351,6351,1987-05-23,635.1000000000759,635.092,2015-01-01 01:45:51,bin6351,75,False +CTSPillarNetworkA,6352,6352,6352,1987-05-24,635.2000000000759,635.19196,2015-01-01 01:45:52,bin6352,35,False +CTSPillarNetworkA,6353,6353,6353,1987-05-25,635.3000000000759,635.29193,2015-01-01 01:45:53,bin6353,75,False +CTSPillarNetworkA,6354,6354,6354,1987-05-26,635.4000000000759,635.3919,2015-01-01 01:45:54,bin6354,35,False +CTSPillarNetworkA,6355,6355,6355,1987-05-27,635.5000000000759,635.4919,2015-01-01 01:45:55,bin6355,75,False +CTSPillarNetworkA,6356,6356,6356,1987-05-28,635.600000000076,635.59186,2015-01-01 01:45:56,bin6356,35,False +CTSPillarNetworkA,6357,6357,6357,1987-05-29,635.700000000076,635.69183,2015-01-01 01:45:57,bin6357,75,False +CTSPillarNetworkA,6358,6358,6358,1987-05-30,635.800000000076,635.7918,2015-01-01 01:45:58,bin6358,35,False +CTSPillarNetworkA,6359,6359,6359,1987-05-31,635.900000000076,635.8918,2015-01-01 01:45:59,bin6359,75,False +CTSPillarNetworkA,6360,6360,6360,1987-06-01,636.000000000076,635.99176,2015-01-01 01:46:00,bin6360,35,False +CTSPillarNetworkA,6361,6361,6361,1987-06-02,636.1000000000761,636.09174,2015-01-01 01:46:01,bin6361,75,False +CTSPillarNetworkA,6362,6362,6362,1987-06-03,636.2000000000761,636.1917,2015-01-01 01:46:02,bin6362,35,False +CTSPillarNetworkA,6363,6363,6363,1987-06-04,636.3000000000761,636.2917,2015-01-01 01:46:03,bin6363,75,False +CTSPillarNetworkA,6364,6364,6364,1987-06-05,636.4000000000761,636.39166,2015-01-01 01:46:04,bin6364,35,False +CTSPillarNetworkA,6365,6365,6365,1987-06-06,636.5000000000762,636.49164,2015-01-01 01:46:05,bin6365,75,False +CTSPillarNetworkA,6366,6366,6366,1987-06-07,636.6000000000762,636.5916,2015-01-01 01:46:06,bin6366,35,False +CTSPillarNetworkA,6367,6367,6367,1987-06-08,636.7000000000762,636.6916,2015-01-01 01:46:07,bin6367,75,False +CTSPillarNetworkA,6368,6368,6368,1987-06-09,636.8000000000762,636.79156,2015-01-01 01:46:08,bin6368,35,False +CTSPillarNetworkA,6369,6369,6369,1987-06-10,636.9000000000763,636.89154,2015-01-01 01:46:09,bin6369,75,False +CTSPillarNetworkA,6370,6370,6370,1987-06-11,637.0000000000763,636.9915,2015-01-01 01:46:10,bin6370,35,False +CTSPillarNetworkA,6371,6371,6371,1987-06-12,637.1000000000763,637.0915,2015-01-01 01:46:11,bin6371,75,False +CTSPillarNetworkA,6372,6372,6372,1987-06-13,637.2000000000763,637.19147,2015-01-01 01:46:12,bin6372,35,False +CTSPillarNetworkA,6373,6373,6373,1987-06-14,637.3000000000764,637.29144,2015-01-01 01:46:13,bin6373,75,False +CTSPillarNetworkA,6374,6374,6374,1987-06-15,637.4000000000764,637.3914,2015-01-01 01:46:14,bin6374,35,False +CTSPillarNetworkA,6375,6375,6375,1987-06-16,637.5000000000764,637.4914,2015-01-01 01:46:15,bin6375,75,False +CTSPillarNetworkA,6376,6376,6376,1987-06-17,637.6000000000764,637.5914,2015-01-01 01:46:16,bin6376,35,False +CTSPillarNetworkA,6377,6377,6377,1987-06-18,637.7000000000764,637.69135,2015-01-01 01:46:17,bin6377,75,False +CTSPillarNetworkA,6378,6378,6378,1987-06-19,637.8000000000765,637.7913,2015-01-01 01:46:18,bin6378,35,False +CTSPillarNetworkA,6379,6379,6379,1987-06-20,637.9000000000765,637.8913,2015-01-01 01:46:19,bin6379,75,False +CTSPillarNetworkA,6380,6380,6380,1987-06-21,638.0000000000765,637.9913,2015-01-01 01:46:20,bin6380,35,False +CTSPillarNetworkA,6381,6381,6381,1987-06-22,638.1000000000765,638.09125,2015-01-01 01:46:21,bin6381,75,False +CTSPillarNetworkA,6382,6382,6382,1987-06-23,638.2000000000766,638.1912,2015-01-01 01:46:22,bin6382,35,False +CTSPillarNetworkA,6383,6383,6383,1987-06-24,638.3000000000766,638.2912,2015-01-01 01:46:23,bin6383,75,False +CTSPillarNetworkA,6384,6384,6384,1987-06-25,638.4000000000766,638.3912,2015-01-01 01:46:24,bin6384,35,False +CTSPillarNetworkA,6385,6385,6385,1987-06-26,638.5000000000766,638.49115,2015-01-01 01:46:25,bin6385,75,False +CTSPillarNetworkA,6386,6386,6386,1987-06-27,638.6000000000766,638.5911,2015-01-01 01:46:26,bin6386,35,False +CTSPillarNetworkA,6387,6387,6387,1987-06-28,638.7000000000767,638.6911,2015-01-01 01:46:27,bin6387,75,False +CTSPillarNetworkA,6388,6388,6388,1987-06-29,638.8000000000767,638.7911,2015-01-01 01:46:28,bin6388,35,False +CTSPillarNetworkA,6389,6389,6389,1987-06-30,638.9000000000767,638.89105,2015-01-01 01:46:29,bin6389,75,False +CTSPillarNetworkA,6390,6390,6390,1987-07-01,639.0000000000767,638.991,2015-01-01 01:46:30,bin6390,35,False +CTSPillarNetworkA,6391,6391,6391,1987-07-02,639.1000000000768,639.091,2015-01-01 01:46:31,bin6391,75,False +CTSPillarNetworkA,6392,6392,6392,1987-07-03,639.2000000000768,639.191,2015-01-01 01:46:32,bin6392,35,False +CTSPillarNetworkA,6393,6393,6393,1987-07-04,639.3000000000768,639.29095,2015-01-01 01:46:33,bin6393,75,False +CTSPillarNetworkA,6394,6394,6394,1987-07-05,639.4000000000768,639.3909,2015-01-01 01:46:34,bin6394,35,False +CTSPillarNetworkA,6395,6395,6395,1987-07-06,639.5000000000769,639.4909,2015-01-01 01:46:35,bin6395,75,False +CTSPillarNetworkA,6396,6396,6396,1987-07-07,639.6000000000769,639.5909,2015-01-01 01:46:36,bin6396,35,False +CTSPillarNetworkA,6397,6397,6397,1987-07-08,639.7000000000769,639.69086,2015-01-01 01:46:37,bin6397,75,False +CTSPillarNetworkA,6398,6398,6398,1987-07-09,639.8000000000769,639.79083,2015-01-01 01:46:38,bin6398,35,False +CTSPillarNetworkA,6399,6399,6399,1987-07-10,639.900000000077,639.8908,2015-01-01 01:46:39,bin6399,75,False +CTSPillarNetworkA,6400,6400,6400,1987-07-11,640.000000000077,639.9908,2015-01-01 01:46:40,bin6400,35,False +CTSPillarNetworkA,6401,6401,6401,1987-07-12,640.100000000077,640.09076,2015-01-01 01:46:41,bin6401,75,False +CTSPillarNetworkA,6402,6402,6402,1987-07-13,640.200000000077,640.19073,2015-01-01 01:46:42,bin6402,35,False +CTSPillarNetworkA,6403,6403,6403,1987-07-14,640.300000000077,640.2907,2015-01-01 01:46:43,bin6403,75,False +CTSPillarNetworkA,6404,6404,6404,1987-07-15,640.4000000000771,640.3907,2015-01-01 01:46:44,bin6404,35,False +CTSPillarNetworkA,6405,6405,6405,1987-07-16,640.5000000000771,640.49066,2015-01-01 01:46:45,bin6405,75,False +CTSPillarNetworkA,6406,6406,6406,1987-07-17,640.6000000000771,640.59064,2015-01-01 01:46:46,bin6406,35,False +CTSPillarNetworkA,6407,6407,6407,1987-07-18,640.7000000000771,640.6906,2015-01-01 01:46:47,bin6407,75,False +CTSPillarNetworkA,6408,6408,6408,1987-07-19,640.8000000000771,640.7906,2015-01-01 01:46:48,bin6408,35,False +CTSPillarNetworkA,6409,6409,6409,1987-07-20,640.9000000000772,640.89056,2015-01-01 01:46:49,bin6409,75,False +CTSPillarNetworkA,6410,6410,6410,1987-07-21,641.0000000000772,640.99054,2015-01-01 01:46:50,bin6410,35,False +CTSPillarNetworkA,6411,6411,6411,1987-07-22,641.1000000000772,641.0905,2015-01-01 01:46:51,bin6411,75,False +CTSPillarNetworkA,6412,6412,6412,1987-07-23,641.2000000000772,641.1905,2015-01-01 01:46:52,bin6412,35,False +CTSPillarNetworkA,6413,6413,6413,1987-07-24,641.3000000000773,641.29047,2015-01-01 01:46:53,bin6413,75,False +CTSPillarNetworkA,6414,6414,6414,1987-07-25,641.4000000000773,641.39044,2015-01-01 01:46:54,bin6414,35,False +CTSPillarNetworkA,6415,6415,6415,1987-07-26,641.5000000000773,641.4904,2015-01-01 01:46:55,bin6415,75,False +CTSPillarNetworkA,6416,6416,6416,1987-07-27,641.6000000000773,641.5904,2015-01-01 01:46:56,bin6416,35,False +CTSPillarNetworkA,6417,6417,6417,1987-07-28,641.7000000000774,641.69037,2015-01-01 01:46:57,bin6417,75,False +CTSPillarNetworkA,6418,6418,6418,1987-07-29,641.8000000000774,641.79034,2015-01-01 01:46:58,bin6418,35,False +CTSPillarNetworkA,6419,6419,6419,1987-07-30,641.9000000000774,641.8903,2015-01-01 01:46:59,bin6419,75,False +CTSPillarNetworkA,6420,6420,6420,1987-07-31,642.0000000000774,641.9903,2015-01-01 01:47:00,bin6420,35,False +CTSPillarNetworkA,6421,6421,6421,1987-08-01,642.1000000000774,642.0903,2015-01-01 01:47:01,bin6421,75,False +CTSPillarNetworkA,6422,6422,6422,1987-08-02,642.2000000000775,642.19025,2015-01-01 01:47:02,bin6422,35,False +CTSPillarNetworkA,6423,6423,6423,1987-08-03,642.3000000000775,642.2902,2015-01-01 01:47:03,bin6423,75,False +CTSPillarNetworkA,6424,6424,6424,1987-08-04,642.4000000000775,642.3902,2015-01-01 01:47:04,bin6424,35,False +CTSPillarNetworkA,6425,6425,6425,1987-08-05,642.5000000000775,642.4902,2015-01-01 01:47:05,bin6425,75,False +CTSPillarNetworkA,6426,6426,6426,1987-08-06,642.6000000000776,642.59015,2015-01-01 01:47:06,bin6426,35,False +CTSPillarNetworkA,6427,6427,6427,1987-08-07,642.7000000000776,642.6901,2015-01-01 01:47:07,bin6427,75,False +CTSPillarNetworkA,6428,6428,6428,1987-08-08,642.8000000000776,642.7901,2015-01-01 01:47:08,bin6428,35,False +CTSPillarNetworkA,6429,6429,6429,1987-08-09,642.9000000000776,642.8901,2015-01-01 01:47:09,bin6429,75,False +CTSPillarNetworkA,6430,6430,6430,1987-08-10,643.0000000000776,642.99005,2015-01-01 01:47:10,bin6430,35,False +CTSPillarNetworkA,6431,6431,6431,1987-08-11,643.1000000000777,643.09,2015-01-01 01:47:11,bin6431,75,False +CTSPillarNetworkA,6432,6432,6432,1987-08-12,643.2000000000777,643.19,2015-01-01 01:47:12,bin6432,35,False +CTSPillarNetworkA,6433,6433,6433,1987-08-13,643.3000000000777,643.29,2015-01-01 01:47:13,bin6433,75,False +CTSPillarNetworkA,6434,6434,6434,1987-08-14,643.4000000000777,643.38995,2015-01-01 01:47:14,bin6434,35,False +CTSPillarNetworkA,6435,6435,6435,1987-08-15,643.5000000000778,643.4899,2015-01-01 01:47:15,bin6435,75,False +CTSPillarNetworkA,6436,6436,6436,1987-08-16,643.6000000000778,643.5899,2015-01-01 01:47:16,bin6436,35,False +CTSPillarNetworkA,6437,6437,6437,1987-08-17,643.7000000000778,643.6899,2015-01-01 01:47:17,bin6437,75,False +CTSPillarNetworkA,6438,6438,6438,1987-08-18,643.8000000000778,643.78986,2015-01-01 01:47:18,bin6438,35,False +CTSPillarNetworkA,6439,6439,6439,1987-08-19,643.9000000000779,643.88983,2015-01-01 01:47:19,bin6439,75,False +CTSPillarNetworkA,6440,6440,6440,1987-08-20,644.0000000000779,643.9898,2015-01-01 01:47:20,bin6440,35,False +CTSPillarNetworkA,6441,6441,6441,1987-08-21,644.1000000000779,644.0898,2015-01-01 01:47:21,bin6441,75,False +CTSPillarNetworkA,6442,6442,6442,1987-08-22,644.2000000000779,644.18976,2015-01-01 01:47:22,bin6442,35,False +CTSPillarNetworkA,6443,6443,6443,1987-08-23,644.300000000078,644.28973,2015-01-01 01:47:23,bin6443,75,False +CTSPillarNetworkA,6444,6444,6444,1987-08-24,644.400000000078,644.3897,2015-01-01 01:47:24,bin6444,35,False +CTSPillarNetworkA,6445,6445,6445,1987-08-25,644.500000000078,644.4897,2015-01-01 01:47:25,bin6445,75,False +CTSPillarNetworkA,6446,6446,6446,1987-08-26,644.600000000078,644.58966,2015-01-01 01:47:26,bin6446,35,False +CTSPillarNetworkA,6447,6447,6447,1987-08-27,644.700000000078,644.68964,2015-01-01 01:47:27,bin6447,75,False +CTSPillarNetworkA,6448,6448,6448,1987-08-28,644.8000000000781,644.7896,2015-01-01 01:47:28,bin6448,35,False +CTSPillarNetworkA,6449,6449,6449,1987-08-29,644.9000000000781,644.8896,2015-01-01 01:47:29,bin6449,75,False +CTSPillarNetworkA,6450,6450,6450,1987-08-30,645.0000000000781,644.98956,2015-01-01 01:47:30,bin6450,35,False +CTSPillarNetworkA,6451,6451,6451,1987-08-31,645.1000000000781,645.08954,2015-01-01 01:47:31,bin6451,75,False +CTSPillarNetworkA,6452,6452,6452,1987-09-01,645.2000000000781,645.1895,2015-01-01 01:47:32,bin6452,35,False +CTSPillarNetworkA,6453,6453,6453,1987-09-02,645.3000000000782,645.2895,2015-01-01 01:47:33,bin6453,75,False +CTSPillarNetworkA,6454,6454,6454,1987-09-03,645.4000000000782,645.38947,2015-01-01 01:47:34,bin6454,35,False +CTSPillarNetworkA,6455,6455,6455,1987-09-04,645.5000000000782,645.48944,2015-01-01 01:47:35,bin6455,75,False +CTSPillarNetworkA,6456,6456,6456,1987-09-05,645.6000000000782,645.5894,2015-01-01 01:47:36,bin6456,35,False +CTSPillarNetworkA,6457,6457,6457,1987-09-06,645.7000000000783,645.6894,2015-01-01 01:47:37,bin6457,75,False +CTSPillarNetworkA,6458,6458,6458,1987-09-07,645.8000000000783,645.78937,2015-01-01 01:47:38,bin6458,35,False +CTSPillarNetworkA,6459,6459,6459,1987-09-08,645.9000000000783,645.88934,2015-01-01 01:47:39,bin6459,75,False +CTSPillarNetworkA,6460,6460,6460,1987-09-09,646.0000000000783,645.9893,2015-01-01 01:47:40,bin6460,35,False +CTSPillarNetworkA,6461,6461,6461,1987-09-10,646.1000000000784,646.0893,2015-01-01 01:47:41,bin6461,75,False +CTSPillarNetworkA,6462,6462,6462,1987-09-11,646.2000000000784,646.1893,2015-01-01 01:47:42,bin6462,35,False +CTSPillarNetworkA,6463,6463,6463,1987-09-12,646.3000000000784,646.28925,2015-01-01 01:47:43,bin6463,75,False +CTSPillarNetworkA,6464,6464,6464,1987-09-13,646.4000000000784,646.3892,2015-01-01 01:47:44,bin6464,35,False +CTSPillarNetworkA,6465,6465,6465,1987-09-14,646.5000000000784,646.4892,2015-01-01 01:47:45,bin6465,75,False +CTSPillarNetworkA,6466,6466,6466,1987-09-15,646.6000000000785,646.5892,2015-01-01 01:47:46,bin6466,35,False +CTSPillarNetworkA,6467,6467,6467,1987-09-16,646.7000000000785,646.68915,2015-01-01 01:47:47,bin6467,75,False +CTSPillarNetworkA,6468,6468,6468,1987-09-17,646.8000000000785,646.7891,2015-01-01 01:47:48,bin6468,35,False +CTSPillarNetworkA,6469,6469,6469,1987-09-18,646.9000000000785,646.8891,2015-01-01 01:47:49,bin6469,75,False +CTSPillarNetworkA,6470,6470,6470,1987-09-19,647.0000000000786,646.9891,2015-01-01 01:47:50,bin6470,35,False +CTSPillarNetworkA,6471,6471,6471,1987-09-20,647.1000000000786,647.08905,2015-01-01 01:47:51,bin6471,75,False +CTSPillarNetworkA,6472,6472,6472,1987-09-21,647.2000000000786,647.189,2015-01-01 01:47:52,bin6472,35,False +CTSPillarNetworkA,6473,6473,6473,1987-09-22,647.3000000000786,647.289,2015-01-01 01:47:53,bin6473,75,False +CTSPillarNetworkA,6474,6474,6474,1987-09-23,647.4000000000786,647.389,2015-01-01 01:47:54,bin6474,35,False +CTSPillarNetworkA,6475,6475,6475,1987-09-24,647.5000000000787,647.48895,2015-01-01 01:47:55,bin6475,75,False +CTSPillarNetworkA,6476,6476,6476,1987-09-25,647.6000000000787,647.5889,2015-01-01 01:47:56,bin6476,35,False +CTSPillarNetworkA,6477,6477,6477,1987-09-26,647.7000000000787,647.6889,2015-01-01 01:47:57,bin6477,75,False +CTSPillarNetworkA,6478,6478,6478,1987-09-27,647.8000000000787,647.7889,2015-01-01 01:47:58,bin6478,35,False +CTSPillarNetworkA,6479,6479,6479,1987-09-28,647.9000000000788,647.88885,2015-01-01 01:47:59,bin6479,75,False +CTSPillarNetworkA,6480,6480,6480,1987-09-29,648.0000000000788,647.98883,2015-01-01 01:48:00,bin6480,35,False +CTSPillarNetworkA,6481,6481,6481,1987-09-30,648.1000000000788,648.0888,2015-01-01 01:48:01,bin6481,75,False +CTSPillarNetworkA,6482,6482,6482,1987-10-01,648.2000000000788,648.1888,2015-01-01 01:48:02,bin6482,35,False +CTSPillarNetworkA,6483,6483,6483,1987-10-02,648.3000000000789,648.28876,2015-01-01 01:48:03,bin6483,75,False +CTSPillarNetworkA,6484,6484,6484,1987-10-03,648.4000000000789,648.38873,2015-01-01 01:48:04,bin6484,35,False +CTSPillarNetworkA,6485,6485,6485,1987-10-04,648.5000000000789,648.4887,2015-01-01 01:48:05,bin6485,75,False +CTSPillarNetworkA,6486,6486,6486,1987-10-05,648.6000000000789,648.5887,2015-01-01 01:48:06,bin6486,35,False +CTSPillarNetworkA,6487,6487,6487,1987-10-06,648.700000000079,648.68866,2015-01-01 01:48:07,bin6487,75,False +CTSPillarNetworkA,6488,6488,6488,1987-10-07,648.800000000079,648.78864,2015-01-01 01:48:08,bin6488,35,False +CTSPillarNetworkA,6489,6489,6489,1987-10-08,648.900000000079,648.8886,2015-01-01 01:48:09,bin6489,75,False +CTSPillarNetworkA,6490,6490,6490,1987-10-09,649.000000000079,648.9886,2015-01-01 01:48:10,bin6490,35,False +CTSPillarNetworkA,6491,6491,6491,1987-10-10,649.100000000079,649.08856,2015-01-01 01:48:11,bin6491,75,False +CTSPillarNetworkA,6492,6492,6492,1987-10-11,649.2000000000791,649.18854,2015-01-01 01:48:12,bin6492,35,False +CTSPillarNetworkA,6493,6493,6493,1987-10-12,649.3000000000791,649.2885,2015-01-01 01:48:13,bin6493,75,False +CTSPillarNetworkA,6494,6494,6494,1987-10-13,649.4000000000791,649.3885,2015-01-01 01:48:14,bin6494,35,False +CTSPillarNetworkA,6495,6495,6495,1987-10-14,649.5000000000791,649.48846,2015-01-01 01:48:15,bin6495,75,False +CTSPillarNetworkA,6496,6496,6496,1987-10-15,649.6000000000791,649.58844,2015-01-01 01:48:16,bin6496,35,False +CTSPillarNetworkA,6497,6497,6497,1987-10-16,649.7000000000792,649.6884,2015-01-01 01:48:17,bin6497,75,False +CTSPillarNetworkA,6498,6498,6498,1987-10-17,649.8000000000792,649.7884,2015-01-01 01:48:18,bin6498,35,False +CTSPillarNetworkA,6499,6499,6499,1987-10-18,649.9000000000792,649.88837,2015-01-01 01:48:19,bin6499,75,False +CTSPillarNetworkA,6500,6500,6500,1987-10-19,650.0000000000792,649.98834,2015-01-01 01:48:20,bin6500,35,False +CTSPillarNetworkA,6501,6501,6501,1987-10-20,650.1000000000793,650.0883,2015-01-01 01:48:21,bin6501,75,False +CTSPillarNetworkA,6502,6502,6502,1987-10-21,650.2000000000793,650.1883,2015-01-01 01:48:22,bin6502,35,False +CTSPillarNetworkA,6503,6503,6503,1987-10-22,650.3000000000793,650.28827,2015-01-01 01:48:23,bin6503,75,False +CTSPillarNetworkA,6504,6504,6504,1987-10-23,650.4000000000793,650.38824,2015-01-01 01:48:24,bin6504,35,False +CTSPillarNetworkA,6505,6505,6505,1987-10-24,650.5000000000794,650.4882,2015-01-01 01:48:25,bin6505,75,False +CTSPillarNetworkA,6506,6506,6506,1987-10-25,650.6000000000794,650.5882,2015-01-01 01:48:26,bin6506,35,False +CTSPillarNetworkA,6507,6507,6507,1987-10-26,650.7000000000794,650.6882,2015-01-01 01:48:27,bin6507,75,False +CTSPillarNetworkA,6508,6508,6508,1987-10-27,650.8000000000794,650.78815,2015-01-01 01:48:28,bin6508,35,False +CTSPillarNetworkA,6509,6509,6509,1987-10-28,650.9000000000794,650.8881,2015-01-01 01:48:29,bin6509,75,False +CTSPillarNetworkA,6510,6510,6510,1987-10-29,651.0000000000795,650.9881,2015-01-01 01:48:30,bin6510,35,False +CTSPillarNetworkA,6511,6511,6511,1987-10-30,651.1000000000795,651.0881,2015-01-01 01:48:31,bin6511,75,False +CTSPillarNetworkA,6512,6512,6512,1987-10-31,651.2000000000795,651.18805,2015-01-01 01:48:32,bin6512,35,False +CTSPillarNetworkA,6513,6513,6513,1987-11-01,651.3000000000795,651.288,2015-01-01 01:48:33,bin6513,75,False +CTSPillarNetworkA,6514,6514,6514,1987-11-02,651.4000000000796,651.388,2015-01-01 01:48:34,bin6514,35,False +CTSPillarNetworkA,6515,6515,6515,1987-11-03,651.5000000000796,651.488,2015-01-01 01:48:35,bin6515,75,False +CTSPillarNetworkA,6516,6516,6516,1987-11-04,651.6000000000796,651.58795,2015-01-01 01:48:36,bin6516,35,False +CTSPillarNetworkA,6517,6517,6517,1987-11-05,651.7000000000796,651.6879,2015-01-01 01:48:37,bin6517,75,False +CTSPillarNetworkA,6518,6518,6518,1987-11-06,651.8000000000796,651.7879,2015-01-01 01:48:38,bin6518,35,False +CTSPillarNetworkA,6519,6519,6519,1987-11-07,651.9000000000797,651.8879,2015-01-01 01:48:39,bin6519,75,False +CTSPillarNetworkA,6520,6520,6520,1987-11-08,652.0000000000797,651.98785,2015-01-01 01:48:40,bin6520,35,False +CTSPillarNetworkA,6521,6521,6521,1987-11-09,652.1000000000797,652.0878,2015-01-01 01:48:41,bin6521,75,False +CTSPillarNetworkA,6522,6522,6522,1987-11-10,652.2000000000797,652.1878,2015-01-01 01:48:42,bin6522,35,False +CTSPillarNetworkA,6523,6523,6523,1987-11-11,652.3000000000798,652.2878,2015-01-01 01:48:43,bin6523,75,False +CTSPillarNetworkA,6524,6524,6524,1987-11-12,652.4000000000798,652.38776,2015-01-01 01:48:44,bin6524,35,False +CTSPillarNetworkA,6525,6525,6525,1987-11-13,652.5000000000798,652.48773,2015-01-01 01:48:45,bin6525,75,False +CTSPillarNetworkA,6526,6526,6526,1987-11-14,652.6000000000798,652.5877,2015-01-01 01:48:46,bin6526,35,False +CTSPillarNetworkA,6527,6527,6527,1987-11-15,652.7000000000799,652.6877,2015-01-01 01:48:47,bin6527,75,False +CTSPillarNetworkA,6528,6528,6528,1987-11-16,652.8000000000799,652.78766,2015-01-01 01:48:48,bin6528,35,False +CTSPillarNetworkA,6529,6529,6529,1987-11-17,652.9000000000799,652.88763,2015-01-01 01:48:49,bin6529,75,False +CTSPillarNetworkA,6530,6530,6530,1987-11-18,653.0000000000799,652.9876,2015-01-01 01:48:50,bin6530,35,False +CTSPillarNetworkA,6531,6531,6531,1987-11-19,653.10000000008,653.0876,2015-01-01 01:48:51,bin6531,75,False +CTSPillarNetworkA,6532,6532,6532,1987-11-20,653.20000000008,653.18756,2015-01-01 01:48:52,bin6532,35,False +CTSPillarNetworkA,6533,6533,6533,1987-11-21,653.30000000008,653.28754,2015-01-01 01:48:53,bin6533,75,False +CTSPillarNetworkA,6534,6534,6534,1987-11-22,653.40000000008,653.3875,2015-01-01 01:48:54,bin6534,35,False +CTSPillarNetworkA,6535,6535,6535,1987-11-23,653.50000000008,653.4875,2015-01-01 01:48:55,bin6535,75,False +CTSPillarNetworkA,6536,6536,6536,1987-11-24,653.6000000000801,653.58746,2015-01-01 01:48:56,bin6536,35,False +CTSPillarNetworkA,6537,6537,6537,1987-11-25,653.7000000000801,653.68744,2015-01-01 01:48:57,bin6537,75,False +CTSPillarNetworkA,6538,6538,6538,1987-11-26,653.8000000000801,653.7874,2015-01-01 01:48:58,bin6538,35,False +CTSPillarNetworkA,6539,6539,6539,1987-11-27,653.9000000000801,653.8874,2015-01-01 01:48:59,bin6539,75,False +CTSPillarNetworkA,6540,6540,6540,1987-11-28,654.0000000000801,653.98737,2015-01-01 01:49:00,bin6540,35,False +CTSPillarNetworkA,6541,6541,6541,1987-11-29,654.1000000000802,654.08734,2015-01-01 01:49:01,bin6541,75,False +CTSPillarNetworkA,6542,6542,6542,1987-11-30,654.2000000000802,654.1873,2015-01-01 01:49:02,bin6542,35,False +CTSPillarNetworkA,6543,6543,6543,1987-12-01,654.3000000000802,654.2873,2015-01-01 01:49:03,bin6543,75,False +CTSPillarNetworkA,6544,6544,6544,1987-12-02,654.4000000000802,654.38727,2015-01-01 01:49:04,bin6544,35,False +CTSPillarNetworkA,6545,6545,6545,1987-12-03,654.5000000000803,654.48724,2015-01-01 01:49:05,bin6545,75,False +CTSPillarNetworkA,6546,6546,6546,1987-12-04,654.6000000000803,654.5872,2015-01-01 01:49:06,bin6546,35,False +CTSPillarNetworkA,6547,6547,6547,1987-12-05,654.7000000000803,654.6872,2015-01-01 01:49:07,bin6547,75,False +CTSPillarNetworkA,6548,6548,6548,1987-12-06,654.8000000000803,654.7872,2015-01-01 01:49:08,bin6548,35,False +CTSPillarNetworkA,6549,6549,6549,1987-12-07,654.9000000000804,654.88715,2015-01-01 01:49:09,bin6549,75,False +CTSPillarNetworkA,6550,6550,6550,1987-12-08,655.0000000000804,654.9871,2015-01-01 01:49:10,bin6550,35,False +CTSPillarNetworkA,6551,6551,6551,1987-12-09,655.1000000000804,655.0871,2015-01-01 01:49:11,bin6551,75,False +CTSPillarNetworkA,6552,6552,6552,1987-12-10,655.2000000000804,655.1871,2015-01-01 01:49:12,bin6552,35,False +CTSPillarNetworkA,6553,6553,6553,1987-12-11,655.3000000000804,655.28705,2015-01-01 01:49:13,bin6553,75,False +CTSPillarNetworkA,6554,6554,6554,1987-12-12,655.4000000000805,655.387,2015-01-01 01:49:14,bin6554,35,False +CTSPillarNetworkA,6555,6555,6555,1987-12-13,655.5000000000805,655.487,2015-01-01 01:49:15,bin6555,75,False +CTSPillarNetworkA,6556,6556,6556,1987-12-14,655.6000000000805,655.587,2015-01-01 01:49:16,bin6556,35,False +CTSPillarNetworkA,6557,6557,6557,1987-12-15,655.7000000000805,655.68695,2015-01-01 01:49:17,bin6557,75,False +CTSPillarNetworkA,6558,6558,6558,1987-12-16,655.8000000000806,655.7869,2015-01-01 01:49:18,bin6558,35,False +CTSPillarNetworkA,6559,6559,6559,1987-12-17,655.9000000000806,655.8869,2015-01-01 01:49:19,bin6559,75,False +CTSPillarNetworkA,6560,6560,6560,1987-12-18,656.0000000000806,655.9869,2015-01-01 01:49:20,bin6560,35,False +CTSPillarNetworkA,6561,6561,6561,1987-12-19,656.1000000000806,656.08685,2015-01-01 01:49:21,bin6561,75,False +CTSPillarNetworkA,6562,6562,6562,1987-12-20,656.2000000000806,656.1868,2015-01-01 01:49:22,bin6562,35,False +CTSPillarNetworkA,6563,6563,6563,1987-12-21,656.3000000000807,656.2868,2015-01-01 01:49:23,bin6563,75,False +CTSPillarNetworkA,6564,6564,6564,1987-12-22,656.4000000000807,656.3868,2015-01-01 01:49:24,bin6564,35,False +CTSPillarNetworkA,6565,6565,6565,1987-12-23,656.5000000000807,656.48676,2015-01-01 01:49:25,bin6565,75,False +CTSPillarNetworkA,6566,6566,6566,1987-12-24,656.6000000000807,656.58673,2015-01-01 01:49:26,bin6566,35,False +CTSPillarNetworkA,6567,6567,6567,1987-12-25,656.7000000000808,656.6867,2015-01-01 01:49:27,bin6567,75,False +CTSPillarNetworkA,6568,6568,6568,1987-12-26,656.8000000000808,656.7867,2015-01-01 01:49:28,bin6568,35,False +CTSPillarNetworkA,6569,6569,6569,1987-12-27,656.9000000000808,656.88666,2015-01-01 01:49:29,bin6569,75,False +CTSPillarNetworkA,6570,6570,6570,1987-12-28,657.0000000000808,656.98663,2015-01-01 01:49:30,bin6570,35,False +CTSPillarNetworkA,6571,6571,6571,1987-12-29,657.1000000000809,657.0866,2015-01-01 01:49:31,bin6571,75,False +CTSPillarNetworkA,6572,6572,6572,1987-12-30,657.2000000000809,657.1866,2015-01-01 01:49:32,bin6572,35,False +CTSPillarNetworkA,6573,6573,6573,1987-12-31,657.3000000000809,657.28656,2015-01-01 01:49:33,bin6573,75,False +CTSPillarNetworkA,6574,6574,6574,1988-01-01,657.4000000000809,657.38654,2015-01-01 01:49:34,bin6574,35,False +CTSPillarNetworkA,6575,6575,6575,1988-01-02,657.500000000081,657.4865,2015-01-01 01:49:35,bin6575,75,False +CTSPillarNetworkA,6576,6576,6576,1988-01-03,657.600000000081,657.5865,2015-01-01 01:49:36,bin6576,35,False +CTSPillarNetworkA,6577,6577,6577,1988-01-04,657.700000000081,657.68646,2015-01-01 01:49:37,bin6577,75,False +CTSPillarNetworkA,6578,6578,6578,1988-01-05,657.800000000081,657.78644,2015-01-01 01:49:38,bin6578,35,False +CTSPillarNetworkA,6579,6579,6579,1988-01-06,657.900000000081,657.8864,2015-01-01 01:49:39,bin6579,75,False +CTSPillarNetworkA,6580,6580,6580,1988-01-07,658.0000000000811,657.9864,2015-01-01 01:49:40,bin6580,35,False +CTSPillarNetworkA,6581,6581,6581,1988-01-08,658.1000000000811,658.08636,2015-01-01 01:49:41,bin6581,75,False +CTSPillarNetworkA,6582,6582,6582,1988-01-09,658.2000000000811,658.18634,2015-01-01 01:49:42,bin6582,35,False +CTSPillarNetworkA,6583,6583,6583,1988-01-10,658.3000000000811,658.2863,2015-01-01 01:49:43,bin6583,75,False +CTSPillarNetworkA,6584,6584,6584,1988-01-11,658.4000000000811,658.3863,2015-01-01 01:49:44,bin6584,35,False +CTSPillarNetworkA,6585,6585,6585,1988-01-12,658.5000000000812,658.48627,2015-01-01 01:49:45,bin6585,75,False +CTSPillarNetworkA,6586,6586,6586,1988-01-13,658.6000000000812,658.58624,2015-01-01 01:49:46,bin6586,35,False +CTSPillarNetworkA,6587,6587,6587,1988-01-14,658.7000000000812,658.6862,2015-01-01 01:49:47,bin6587,75,False +CTSPillarNetworkA,6588,6588,6588,1988-01-15,658.8000000000812,658.7862,2015-01-01 01:49:48,bin6588,35,False +CTSPillarNetworkA,6589,6589,6589,1988-01-16,658.9000000000813,658.88617,2015-01-01 01:49:49,bin6589,75,False +CTSPillarNetworkA,6590,6590,6590,1988-01-17,659.0000000000813,658.98615,2015-01-01 01:49:50,bin6590,35,False +CTSPillarNetworkA,6591,6591,6591,1988-01-18,659.1000000000813,659.0861,2015-01-01 01:49:51,bin6591,75,False +CTSPillarNetworkA,6592,6592,6592,1988-01-19,659.2000000000813,659.1861,2015-01-01 01:49:52,bin6592,35,False +CTSPillarNetworkA,6593,6593,6593,1988-01-20,659.3000000000814,659.2861,2015-01-01 01:49:53,bin6593,75,False +CTSPillarNetworkA,6594,6594,6594,1988-01-21,659.4000000000814,659.38605,2015-01-01 01:49:54,bin6594,35,False +CTSPillarNetworkA,6595,6595,6595,1988-01-22,659.5000000000814,659.486,2015-01-01 01:49:55,bin6595,75,False +CTSPillarNetworkA,6596,6596,6596,1988-01-23,659.6000000000814,659.586,2015-01-01 01:49:56,bin6596,35,False +CTSPillarNetworkA,6597,6597,6597,1988-01-24,659.7000000000814,659.686,2015-01-01 01:49:57,bin6597,75,False +CTSPillarNetworkA,6598,6598,6598,1988-01-25,659.8000000000815,659.78595,2015-01-01 01:49:58,bin6598,35,False +CTSPillarNetworkA,6599,6599,6599,1988-01-26,659.9000000000815,659.8859,2015-01-01 01:49:59,bin6599,75,False +CTSPillarNetworkA,6600,6600,6600,1988-01-27,660.0000000000815,659.9859,2015-01-01 01:50:00,bin6600,35,False +CTSPillarNetworkA,6601,6601,6601,1988-01-28,660.1000000000815,660.0859,2015-01-01 01:50:01,bin6601,75,False +CTSPillarNetworkA,6602,6602,6602,1988-01-29,660.2000000000816,660.18585,2015-01-01 01:50:02,bin6602,35,False +CTSPillarNetworkA,6603,6603,6603,1988-01-30,660.3000000000816,660.2858,2015-01-01 01:50:03,bin6603,75,False +CTSPillarNetworkA,6604,6604,6604,1988-01-31,660.4000000000816,660.3858,2015-01-01 01:50:04,bin6604,35,False +CTSPillarNetworkA,6605,6605,6605,1988-02-01,660.5000000000816,660.4858,2015-01-01 01:50:05,bin6605,75,False +CTSPillarNetworkA,6606,6606,6606,1988-02-02,660.6000000000816,660.58575,2015-01-01 01:50:06,bin6606,35,False +CTSPillarNetworkA,6607,6607,6607,1988-02-03,660.7000000000817,660.6857,2015-01-01 01:50:07,bin6607,75,False +CTSPillarNetworkA,6608,6608,6608,1988-02-04,660.8000000000817,660.7857,2015-01-01 01:50:08,bin6608,35,False +CTSPillarNetworkA,6609,6609,6609,1988-02-05,660.9000000000817,660.8857,2015-01-01 01:50:09,bin6609,75,False +CTSPillarNetworkA,6610,6610,6610,1988-02-06,661.0000000000817,660.98566,2015-01-01 01:50:10,bin6610,35,False +CTSPillarNetworkA,6611,6611,6611,1988-02-07,661.1000000000818,661.08563,2015-01-01 01:50:11,bin6611,75,False +CTSPillarNetworkA,6612,6612,6612,1988-02-08,661.2000000000818,661.1856,2015-01-01 01:50:12,bin6612,35,False +CTSPillarNetworkA,6613,6613,6613,1988-02-09,661.3000000000818,661.2856,2015-01-01 01:50:13,bin6613,75,False +CTSPillarNetworkA,6614,6614,6614,1988-02-10,661.4000000000818,661.38556,2015-01-01 01:50:14,bin6614,35,False +CTSPillarNetworkA,6615,6615,6615,1988-02-11,661.5000000000819,661.48553,2015-01-01 01:50:15,bin6615,75,False +CTSPillarNetworkA,6616,6616,6616,1988-02-12,661.6000000000819,661.5855,2015-01-01 01:50:16,bin6616,35,False +CTSPillarNetworkA,6617,6617,6617,1988-02-13,661.7000000000819,661.6855,2015-01-01 01:50:17,bin6617,75,False +CTSPillarNetworkA,6618,6618,6618,1988-02-14,661.8000000000819,661.78546,2015-01-01 01:50:18,bin6618,35,False +CTSPillarNetworkA,6619,6619,6619,1988-02-15,661.900000000082,661.88544,2015-01-01 01:50:19,bin6619,75,False +CTSPillarNetworkA,6620,6620,6620,1988-02-16,662.000000000082,661.9854,2015-01-01 01:50:20,bin6620,35,False +CTSPillarNetworkA,6621,6621,6621,1988-02-17,662.100000000082,662.0854,2015-01-01 01:50:21,bin6621,75,False +CTSPillarNetworkA,6622,6622,6622,1988-02-18,662.200000000082,662.18536,2015-01-01 01:50:22,bin6622,35,False +CTSPillarNetworkA,6623,6623,6623,1988-02-19,662.300000000082,662.28534,2015-01-01 01:50:23,bin6623,75,False +CTSPillarNetworkA,6624,6624,6624,1988-02-20,662.4000000000821,662.3853,2015-01-01 01:50:24,bin6624,35,False +CTSPillarNetworkA,6625,6625,6625,1988-02-21,662.5000000000821,662.4853,2015-01-01 01:50:25,bin6625,75,False +CTSPillarNetworkA,6626,6626,6626,1988-02-22,662.6000000000821,662.58527,2015-01-01 01:50:26,bin6626,35,False +CTSPillarNetworkA,6627,6627,6627,1988-02-23,662.7000000000821,662.68524,2015-01-01 01:50:27,bin6627,75,False +CTSPillarNetworkA,6628,6628,6628,1988-02-24,662.8000000000822,662.7852,2015-01-01 01:50:28,bin6628,35,False +CTSPillarNetworkA,6629,6629,6629,1988-02-25,662.9000000000822,662.8852,2015-01-01 01:50:29,bin6629,75,False +CTSPillarNetworkA,6630,6630,6630,1988-02-26,663.0000000000822,662.98517,2015-01-01 01:50:30,bin6630,35,False +CTSPillarNetworkA,6631,6631,6631,1988-02-27,663.1000000000822,663.08514,2015-01-01 01:50:31,bin6631,75,False +CTSPillarNetworkA,6632,6632,6632,1988-02-28,663.2000000000822,663.1851,2015-01-01 01:50:32,bin6632,35,False +CTSPillarNetworkA,6633,6633,6633,1988-02-29,663.3000000000823,663.2851,2015-01-01 01:50:33,bin6633,75,False +CTSPillarNetworkA,6634,6634,6634,1988-03-01,663.4000000000823,663.3851,2015-01-01 01:50:34,bin6634,35,False +CTSPillarNetworkA,6635,6635,6635,1988-03-02,663.5000000000823,663.48505,2015-01-01 01:50:35,bin6635,75,False +CTSPillarNetworkA,6636,6636,6636,1988-03-03,663.6000000000823,663.585,2015-01-01 01:50:36,bin6636,35,False +CTSPillarNetworkA,6637,6637,6637,1988-03-04,663.7000000000824,663.685,2015-01-01 01:50:37,bin6637,75,False +CTSPillarNetworkA,6638,6638,6638,1988-03-05,663.8000000000824,663.785,2015-01-01 01:50:38,bin6638,35,False +CTSPillarNetworkA,6639,6639,6639,1988-03-06,663.9000000000824,663.88495,2015-01-01 01:50:39,bin6639,75,False +CTSPillarNetworkA,6640,6640,6640,1988-03-07,664.0000000000824,663.9849,2015-01-01 01:50:40,bin6640,35,False +CTSPillarNetworkA,6641,6641,6641,1988-03-08,664.1000000000824,664.0849,2015-01-01 01:50:41,bin6641,75,False +CTSPillarNetworkA,6642,6642,6642,1988-03-09,664.2000000000825,664.1849,2015-01-01 01:50:42,bin6642,35,False +CTSPillarNetworkA,6643,6643,6643,1988-03-10,664.3000000000825,664.28485,2015-01-01 01:50:43,bin6643,75,False +CTSPillarNetworkA,6644,6644,6644,1988-03-11,664.4000000000825,664.3848,2015-01-01 01:50:44,bin6644,35,False +CTSPillarNetworkA,6645,6645,6645,1988-03-12,664.5000000000825,664.4848,2015-01-01 01:50:45,bin6645,75,False +CTSPillarNetworkA,6646,6646,6646,1988-03-13,664.6000000000826,664.5848,2015-01-01 01:50:46,bin6646,35,False +CTSPillarNetworkA,6647,6647,6647,1988-03-14,664.7000000000826,664.68475,2015-01-01 01:50:47,bin6647,75,False +CTSPillarNetworkA,6648,6648,6648,1988-03-15,664.8000000000826,664.7847,2015-01-01 01:50:48,bin6648,35,False +CTSPillarNetworkA,6649,6649,6649,1988-03-16,664.9000000000826,664.8847,2015-01-01 01:50:49,bin6649,75,False +CTSPillarNetworkA,6650,6650,6650,1988-03-17,665.0000000000827,664.9847,2015-01-01 01:50:50,bin6650,35,False +CTSPillarNetworkA,6651,6651,6651,1988-03-18,665.1000000000827,665.08466,2015-01-01 01:50:51,bin6651,75,False +CTSPillarNetworkA,6652,6652,6652,1988-03-19,665.2000000000827,665.18463,2015-01-01 01:50:52,bin6652,35,False +CTSPillarNetworkA,6653,6653,6653,1988-03-20,665.3000000000827,665.2846,2015-01-01 01:50:53,bin6653,75,False +CTSPillarNetworkA,6654,6654,6654,1988-03-21,665.4000000000827,665.3846,2015-01-01 01:50:54,bin6654,35,False +CTSPillarNetworkA,6655,6655,6655,1988-03-22,665.5000000000828,665.48456,2015-01-01 01:50:55,bin6655,75,False +CTSPillarNetworkA,6656,6656,6656,1988-03-23,665.6000000000828,665.58453,2015-01-01 01:50:56,bin6656,35,False +CTSPillarNetworkA,6657,6657,6657,1988-03-24,665.7000000000828,665.6845,2015-01-01 01:50:57,bin6657,75,False +CTSPillarNetworkA,6658,6658,6658,1988-03-25,665.8000000000828,665.7845,2015-01-01 01:50:58,bin6658,35,False +CTSPillarNetworkA,6659,6659,6659,1988-03-26,665.9000000000829,665.88446,2015-01-01 01:50:59,bin6659,75,False +CTSPillarNetworkA,6660,6660,6660,1988-03-27,666.0000000000829,665.98444,2015-01-01 01:51:00,bin6660,35,False +CTSPillarNetworkA,6661,6661,6661,1988-03-28,666.1000000000829,666.0844,2015-01-01 01:51:01,bin6661,75,False +CTSPillarNetworkA,6662,6662,6662,1988-03-29,666.2000000000829,666.1844,2015-01-01 01:51:02,bin6662,35,False +CTSPillarNetworkA,6663,6663,6663,1988-03-30,666.300000000083,666.28436,2015-01-01 01:51:03,bin6663,75,False +CTSPillarNetworkA,6664,6664,6664,1988-03-31,666.400000000083,666.38434,2015-01-01 01:51:04,bin6664,35,False +CTSPillarNetworkA,6665,6665,6665,1988-04-01,666.500000000083,666.4843,2015-01-01 01:51:05,bin6665,75,False +CTSPillarNetworkA,6666,6666,6666,1988-04-02,666.600000000083,666.5843,2015-01-01 01:51:06,bin6666,35,False +CTSPillarNetworkA,6667,6667,6667,1988-04-03,666.700000000083,666.68427,2015-01-01 01:51:07,bin6667,75,False +CTSPillarNetworkA,6668,6668,6668,1988-04-04,666.8000000000831,666.78424,2015-01-01 01:51:08,bin6668,35,False +CTSPillarNetworkA,6669,6669,6669,1988-04-05,666.9000000000831,666.8842,2015-01-01 01:51:09,bin6669,75,False +CTSPillarNetworkA,6670,6670,6670,1988-04-06,667.0000000000831,666.9842,2015-01-01 01:51:10,bin6670,35,False +CTSPillarNetworkA,6671,6671,6671,1988-04-07,667.1000000000831,667.08417,2015-01-01 01:51:11,bin6671,75,False +CTSPillarNetworkA,6672,6672,6672,1988-04-08,667.2000000000832,667.18414,2015-01-01 01:51:12,bin6672,35,False +CTSPillarNetworkA,6673,6673,6673,1988-04-09,667.3000000000832,667.2841,2015-01-01 01:51:13,bin6673,75,False +CTSPillarNetworkA,6674,6674,6674,1988-04-10,667.4000000000832,667.3841,2015-01-01 01:51:14,bin6674,35,False +CTSPillarNetworkA,6675,6675,6675,1988-04-11,667.5000000000832,667.4841,2015-01-01 01:51:15,bin6675,75,False +CTSPillarNetworkA,6676,6676,6676,1988-04-12,667.6000000000832,667.58405,2015-01-01 01:51:16,bin6676,35,False +CTSPillarNetworkA,6677,6677,6677,1988-04-13,667.7000000000833,667.684,2015-01-01 01:51:17,bin6677,75,False +CTSPillarNetworkA,6678,6678,6678,1988-04-14,667.8000000000833,667.784,2015-01-01 01:51:18,bin6678,35,False +CTSPillarNetworkA,6679,6679,6679,1988-04-15,667.9000000000833,667.884,2015-01-01 01:51:19,bin6679,75,False +CTSPillarNetworkA,6680,6680,6680,1988-04-16,668.0000000000833,667.98395,2015-01-01 01:51:20,bin6680,35,False +CTSPillarNetworkA,6681,6681,6681,1988-04-17,668.1000000000834,668.0839,2015-01-01 01:51:21,bin6681,75,False +CTSPillarNetworkA,6682,6682,6682,1988-04-18,668.2000000000834,668.1839,2015-01-01 01:51:22,bin6682,35,False +CTSPillarNetworkA,6683,6683,6683,1988-04-19,668.3000000000834,668.2839,2015-01-01 01:51:23,bin6683,75,False +CTSPillarNetworkA,6684,6684,6684,1988-04-20,668.4000000000834,668.38385,2015-01-01 01:51:24,bin6684,35,False +CTSPillarNetworkA,6685,6685,6685,1988-04-21,668.5000000000834,668.4838,2015-01-01 01:51:25,bin6685,75,False +CTSPillarNetworkA,6686,6686,6686,1988-04-22,668.6000000000835,668.5838,2015-01-01 01:51:26,bin6686,35,False +CTSPillarNetworkA,6687,6687,6687,1988-04-23,668.7000000000835,668.6838,2015-01-01 01:51:27,bin6687,75,False +CTSPillarNetworkA,6688,6688,6688,1988-04-24,668.8000000000835,668.78375,2015-01-01 01:51:28,bin6688,35,False +CTSPillarNetworkA,6689,6689,6689,1988-04-25,668.9000000000835,668.8837,2015-01-01 01:51:29,bin6689,75,False +CTSPillarNetworkA,6690,6690,6690,1988-04-26,669.0000000000836,668.9837,2015-01-01 01:51:30,bin6690,35,False +CTSPillarNetworkA,6691,6691,6691,1988-04-27,669.1000000000836,669.0837,2015-01-01 01:51:31,bin6691,75,False +CTSPillarNetworkA,6692,6692,6692,1988-04-28,669.2000000000836,669.18365,2015-01-01 01:51:32,bin6692,35,False +CTSPillarNetworkA,6693,6693,6693,1988-04-29,669.3000000000836,669.2836,2015-01-01 01:51:33,bin6693,75,False +CTSPillarNetworkA,6694,6694,6694,1988-04-30,669.4000000000837,669.3836,2015-01-01 01:51:34,bin6694,35,False +CTSPillarNetworkA,6695,6695,6695,1988-05-01,669.5000000000837,669.4836,2015-01-01 01:51:35,bin6695,75,False +CTSPillarNetworkA,6696,6696,6696,1988-05-02,669.6000000000837,669.58356,2015-01-01 01:51:36,bin6696,35,False +CTSPillarNetworkA,6697,6697,6697,1988-05-03,669.7000000000837,669.68353,2015-01-01 01:51:37,bin6697,75,False +CTSPillarNetworkA,6698,6698,6698,1988-05-04,669.8000000000837,669.7835,2015-01-01 01:51:38,bin6698,35,False +CTSPillarNetworkA,6699,6699,6699,1988-05-05,669.9000000000838,669.8835,2015-01-01 01:51:39,bin6699,75,False +CTSPillarNetworkA,6700,6700,6700,1988-05-06,670.0000000000838,669.98346,2015-01-01 01:51:40,bin6700,35,False +CTSPillarNetworkA,6701,6701,6701,1988-05-07,670.1000000000838,670.08344,2015-01-01 01:51:41,bin6701,75,False +CTSPillarNetworkA,6702,6702,6702,1988-05-08,670.2000000000838,670.1834,2015-01-01 01:51:42,bin6702,35,False +CTSPillarNetworkA,6703,6703,6703,1988-05-09,670.3000000000839,670.2834,2015-01-01 01:51:43,bin6703,75,False +CTSPillarNetworkA,6704,6704,6704,1988-05-10,670.4000000000839,670.38336,2015-01-01 01:51:44,bin6704,35,False +CTSPillarNetworkA,6705,6705,6705,1988-05-11,670.5000000000839,670.48334,2015-01-01 01:51:45,bin6705,75,False +CTSPillarNetworkA,6706,6706,6706,1988-05-12,670.6000000000839,670.5833,2015-01-01 01:51:46,bin6706,35,False +CTSPillarNetworkA,6707,6707,6707,1988-05-13,670.700000000084,670.6833,2015-01-01 01:51:47,bin6707,75,False +CTSPillarNetworkA,6708,6708,6708,1988-05-14,670.800000000084,670.78326,2015-01-01 01:51:48,bin6708,35,False +CTSPillarNetworkA,6709,6709,6709,1988-05-15,670.900000000084,670.88324,2015-01-01 01:51:49,bin6709,75,False +CTSPillarNetworkA,6710,6710,6710,1988-05-16,671.000000000084,670.9832,2015-01-01 01:51:50,bin6710,35,False +CTSPillarNetworkA,6711,6711,6711,1988-05-17,671.100000000084,671.0832,2015-01-01 01:51:51,bin6711,75,False +CTSPillarNetworkA,6712,6712,6712,1988-05-18,671.2000000000841,671.18317,2015-01-01 01:51:52,bin6712,35,False +CTSPillarNetworkA,6713,6713,6713,1988-05-19,671.3000000000841,671.28314,2015-01-01 01:51:53,bin6713,75,False +CTSPillarNetworkA,6714,6714,6714,1988-05-20,671.4000000000841,671.3831,2015-01-01 01:51:54,bin6714,35,False +CTSPillarNetworkA,6715,6715,6715,1988-05-21,671.5000000000841,671.4831,2015-01-01 01:51:55,bin6715,75,False +CTSPillarNetworkA,6716,6716,6716,1988-05-22,671.6000000000842,671.58307,2015-01-01 01:51:56,bin6716,35,False +CTSPillarNetworkA,6717,6717,6717,1988-05-23,671.7000000000842,671.68304,2015-01-01 01:51:57,bin6717,75,False +CTSPillarNetworkA,6718,6718,6718,1988-05-24,671.8000000000842,671.783,2015-01-01 01:51:58,bin6718,35,False +CTSPillarNetworkA,6719,6719,6719,1988-05-25,671.9000000000842,671.883,2015-01-01 01:51:59,bin6719,75,False +CTSPillarNetworkA,6720,6720,6720,1988-05-26,672.0000000000842,671.983,2015-01-01 01:52:00,bin6720,35,False +CTSPillarNetworkA,6721,6721,6721,1988-05-27,672.1000000000843,672.08295,2015-01-01 01:52:01,bin6721,75,False +CTSPillarNetworkA,6722,6722,6722,1988-05-28,672.2000000000843,672.1829,2015-01-01 01:52:02,bin6722,35,False +CTSPillarNetworkA,6723,6723,6723,1988-05-29,672.3000000000843,672.2829,2015-01-01 01:52:03,bin6723,75,False +CTSPillarNetworkA,6724,6724,6724,1988-05-30,672.4000000000843,672.3829,2015-01-01 01:52:04,bin6724,35,False +CTSPillarNetworkA,6725,6725,6725,1988-05-31,672.5000000000844,672.48285,2015-01-01 01:52:05,bin6725,75,False +CTSPillarNetworkA,6726,6726,6726,1988-06-01,672.6000000000844,672.5828,2015-01-01 01:52:06,bin6726,35,False +CTSPillarNetworkA,6727,6727,6727,1988-06-02,672.7000000000844,672.6828,2015-01-01 01:52:07,bin6727,75,False +CTSPillarNetworkA,6728,6728,6728,1988-06-03,672.8000000000844,672.7828,2015-01-01 01:52:08,bin6728,35,False +CTSPillarNetworkA,6729,6729,6729,1988-06-04,672.9000000000844,672.88275,2015-01-01 01:52:09,bin6729,75,False +CTSPillarNetworkA,6730,6730,6730,1988-06-05,673.0000000000845,672.9827,2015-01-01 01:52:10,bin6730,35,False +CTSPillarNetworkA,6731,6731,6731,1988-06-06,673.1000000000845,673.0827,2015-01-01 01:52:11,bin6731,75,False +CTSPillarNetworkA,6732,6732,6732,1988-06-07,673.2000000000845,673.1827,2015-01-01 01:52:12,bin6732,35,False +CTSPillarNetworkA,6733,6733,6733,1988-06-08,673.3000000000845,673.28265,2015-01-01 01:52:13,bin6733,75,False +CTSPillarNetworkA,6734,6734,6734,1988-06-09,673.4000000000846,673.3826,2015-01-01 01:52:14,bin6734,35,False +CTSPillarNetworkA,6735,6735,6735,1988-06-10,673.5000000000846,673.4826,2015-01-01 01:52:15,bin6735,75,False +CTSPillarNetworkA,6736,6736,6736,1988-06-11,673.6000000000846,673.5826,2015-01-01 01:52:16,bin6736,35,False +CTSPillarNetworkA,6737,6737,6737,1988-06-12,673.7000000000846,673.68256,2015-01-01 01:52:17,bin6737,75,False +CTSPillarNetworkA,6738,6738,6738,1988-06-13,673.8000000000847,673.78253,2015-01-01 01:52:18,bin6738,35,False +CTSPillarNetworkA,6739,6739,6739,1988-06-14,673.9000000000847,673.8825,2015-01-01 01:52:19,bin6739,75,False +CTSPillarNetworkA,6740,6740,6740,1988-06-15,674.0000000000847,673.9825,2015-01-01 01:52:20,bin6740,35,False +CTSPillarNetworkA,6741,6741,6741,1988-06-16,674.1000000000847,674.08246,2015-01-01 01:52:21,bin6741,75,False +CTSPillarNetworkA,6742,6742,6742,1988-06-17,674.2000000000847,674.18243,2015-01-01 01:52:22,bin6742,35,False +CTSPillarNetworkA,6743,6743,6743,1988-06-18,674.3000000000848,674.2824,2015-01-01 01:52:23,bin6743,75,False +CTSPillarNetworkA,6744,6744,6744,1988-06-19,674.4000000000848,674.3824,2015-01-01 01:52:24,bin6744,35,False +CTSPillarNetworkA,6745,6745,6745,1988-06-20,674.5000000000848,674.48236,2015-01-01 01:52:25,bin6745,75,False +CTSPillarNetworkA,6746,6746,6746,1988-06-21,674.6000000000848,674.58234,2015-01-01 01:52:26,bin6746,35,False +CTSPillarNetworkA,6747,6747,6747,1988-06-22,674.7000000000849,674.6823,2015-01-01 01:52:27,bin6747,75,False +CTSPillarNetworkA,6748,6748,6748,1988-06-23,674.8000000000849,674.7823,2015-01-01 01:52:28,bin6748,35,False +CTSPillarNetworkA,6749,6749,6749,1988-06-24,674.9000000000849,674.88226,2015-01-01 01:52:29,bin6749,75,False +CTSPillarNetworkA,6750,6750,6750,1988-06-25,675.0000000000849,674.98224,2015-01-01 01:52:30,bin6750,35,False +CTSPillarNetworkA,6751,6751,6751,1988-06-26,675.100000000085,675.0822,2015-01-01 01:52:31,bin6751,75,False +CTSPillarNetworkA,6752,6752,6752,1988-06-27,675.200000000085,675.1822,2015-01-01 01:52:32,bin6752,35,False +CTSPillarNetworkA,6753,6753,6753,1988-06-28,675.300000000085,675.28217,2015-01-01 01:52:33,bin6753,75,False +CTSPillarNetworkA,6754,6754,6754,1988-06-29,675.400000000085,675.38214,2015-01-01 01:52:34,bin6754,35,False +CTSPillarNetworkA,6755,6755,6755,1988-06-30,675.500000000085,675.4821,2015-01-01 01:52:35,bin6755,75,False +CTSPillarNetworkA,6756,6756,6756,1988-07-01,675.6000000000851,675.5821,2015-01-01 01:52:36,bin6756,35,False +CTSPillarNetworkA,6757,6757,6757,1988-07-02,675.7000000000851,675.68207,2015-01-01 01:52:37,bin6757,75,False +CTSPillarNetworkA,6758,6758,6758,1988-07-03,675.8000000000851,675.78204,2015-01-01 01:52:38,bin6758,35,False +CTSPillarNetworkA,6759,6759,6759,1988-07-04,675.9000000000851,675.882,2015-01-01 01:52:39,bin6759,75,False +CTSPillarNetworkA,6760,6760,6760,1988-07-05,676.0000000000852,675.982,2015-01-01 01:52:40,bin6760,35,False +CTSPillarNetworkA,6761,6761,6761,1988-07-06,676.1000000000852,676.082,2015-01-01 01:52:41,bin6761,75,False +CTSPillarNetworkA,6762,6762,6762,1988-07-07,676.2000000000852,676.18195,2015-01-01 01:52:42,bin6762,35,False +CTSPillarNetworkA,6763,6763,6763,1988-07-08,676.3000000000852,676.2819,2015-01-01 01:52:43,bin6763,75,False +CTSPillarNetworkA,6764,6764,6764,1988-07-09,676.4000000000852,676.3819,2015-01-01 01:52:44,bin6764,35,False +CTSPillarNetworkA,6765,6765,6765,1988-07-10,676.5000000000853,676.4819,2015-01-01 01:52:45,bin6765,75,False +CTSPillarNetworkA,6766,6766,6766,1988-07-11,676.6000000000853,676.58185,2015-01-01 01:52:46,bin6766,35,False +CTSPillarNetworkA,6767,6767,6767,1988-07-12,676.7000000000853,676.6818,2015-01-01 01:52:47,bin6767,75,False +CTSPillarNetworkA,6768,6768,6768,1988-07-13,676.8000000000853,676.7818,2015-01-01 01:52:48,bin6768,35,False +CTSPillarNetworkA,6769,6769,6769,1988-07-14,676.9000000000854,676.8818,2015-01-01 01:52:49,bin6769,75,False +CTSPillarNetworkA,6770,6770,6770,1988-07-15,677.0000000000854,676.98175,2015-01-01 01:52:50,bin6770,35,False +CTSPillarNetworkA,6771,6771,6771,1988-07-16,677.1000000000854,677.0817,2015-01-01 01:52:51,bin6771,75,False +CTSPillarNetworkA,6772,6772,6772,1988-07-17,677.2000000000854,677.1817,2015-01-01 01:52:52,bin6772,35,False +CTSPillarNetworkA,6773,6773,6773,1988-07-18,677.3000000000854,677.2817,2015-01-01 01:52:53,bin6773,75,False +CTSPillarNetworkA,6774,6774,6774,1988-07-19,677.4000000000855,677.38165,2015-01-01 01:52:54,bin6774,35,False +CTSPillarNetworkA,6775,6775,6775,1988-07-20,677.5000000000855,677.4816,2015-01-01 01:52:55,bin6775,75,False +CTSPillarNetworkA,6776,6776,6776,1988-07-21,677.6000000000855,677.5816,2015-01-01 01:52:56,bin6776,35,False +CTSPillarNetworkA,6777,6777,6777,1988-07-22,677.7000000000855,677.6816,2015-01-01 01:52:57,bin6777,75,False +CTSPillarNetworkA,6778,6778,6778,1988-07-23,677.8000000000856,677.78156,2015-01-01 01:52:58,bin6778,35,False +CTSPillarNetworkA,6779,6779,6779,1988-07-24,677.9000000000856,677.88153,2015-01-01 01:52:59,bin6779,75,False +CTSPillarNetworkA,6780,6780,6780,1988-07-25,678.0000000000856,677.9815,2015-01-01 01:53:00,bin6780,35,False +CTSPillarNetworkA,6781,6781,6781,1988-07-26,678.1000000000856,678.0815,2015-01-01 01:53:01,bin6781,75,False +CTSPillarNetworkA,6782,6782,6782,1988-07-27,678.2000000000857,678.18146,2015-01-01 01:53:02,bin6782,35,False +CTSPillarNetworkA,6783,6783,6783,1988-07-28,678.3000000000857,678.28143,2015-01-01 01:53:03,bin6783,75,False +CTSPillarNetworkA,6784,6784,6784,1988-07-29,678.4000000000857,678.3814,2015-01-01 01:53:04,bin6784,35,False +CTSPillarNetworkA,6785,6785,6785,1988-07-30,678.5000000000857,678.4814,2015-01-01 01:53:05,bin6785,75,False +CTSPillarNetworkA,6786,6786,6786,1988-07-31,678.6000000000857,678.58136,2015-01-01 01:53:06,bin6786,35,False +CTSPillarNetworkA,6787,6787,6787,1988-08-01,678.7000000000858,678.68134,2015-01-01 01:53:07,bin6787,75,False +CTSPillarNetworkA,6788,6788,6788,1988-08-02,678.8000000000858,678.7813,2015-01-01 01:53:08,bin6788,35,False +CTSPillarNetworkA,6789,6789,6789,1988-08-03,678.9000000000858,678.8813,2015-01-01 01:53:09,bin6789,75,False +CTSPillarNetworkA,6790,6790,6790,1988-08-04,679.0000000000858,678.98126,2015-01-01 01:53:10,bin6790,35,False +CTSPillarNetworkA,6791,6791,6791,1988-08-05,679.1000000000859,679.08124,2015-01-01 01:53:11,bin6791,75,False +CTSPillarNetworkA,6792,6792,6792,1988-08-06,679.2000000000859,679.1812,2015-01-01 01:53:12,bin6792,35,False +CTSPillarNetworkA,6793,6793,6793,1988-08-07,679.3000000000859,679.2812,2015-01-01 01:53:13,bin6793,75,False +CTSPillarNetworkA,6794,6794,6794,1988-08-08,679.4000000000859,679.38116,2015-01-01 01:53:14,bin6794,35,False +CTSPillarNetworkA,6795,6795,6795,1988-08-09,679.500000000086,679.48114,2015-01-01 01:53:15,bin6795,75,False +CTSPillarNetworkA,6796,6796,6796,1988-08-10,679.600000000086,679.5811,2015-01-01 01:53:16,bin6796,35,False +CTSPillarNetworkA,6797,6797,6797,1988-08-11,679.700000000086,679.6811,2015-01-01 01:53:17,bin6797,75,False +CTSPillarNetworkA,6798,6798,6798,1988-08-12,679.800000000086,679.78107,2015-01-01 01:53:18,bin6798,35,False +CTSPillarNetworkA,6799,6799,6799,1988-08-13,679.900000000086,679.88104,2015-01-01 01:53:19,bin6799,75,False +CTSPillarNetworkA,6800,6800,6800,1988-08-14,680.0000000000861,679.981,2015-01-01 01:53:20,bin6800,35,False +CTSPillarNetworkA,6801,6801,6801,1988-08-15,680.1000000000861,680.081,2015-01-01 01:53:21,bin6801,75,False +CTSPillarNetworkA,6802,6802,6802,1988-08-16,680.2000000000861,680.18097,2015-01-01 01:53:22,bin6802,35,False +CTSPillarNetworkA,6803,6803,6803,1988-08-17,680.3000000000861,680.28094,2015-01-01 01:53:23,bin6803,75,False +CTSPillarNetworkA,6804,6804,6804,1988-08-18,680.4000000000862,680.3809,2015-01-01 01:53:24,bin6804,35,False +CTSPillarNetworkA,6805,6805,6805,1988-08-19,680.5000000000862,680.4809,2015-01-01 01:53:25,bin6805,75,False +CTSPillarNetworkA,6806,6806,6806,1988-08-20,680.6000000000862,680.5809,2015-01-01 01:53:26,bin6806,35,False +CTSPillarNetworkA,6807,6807,6807,1988-08-21,680.7000000000862,680.68085,2015-01-01 01:53:27,bin6807,75,False +CTSPillarNetworkA,6808,6808,6808,1988-08-22,680.8000000000862,680.7808,2015-01-01 01:53:28,bin6808,35,False +CTSPillarNetworkA,6809,6809,6809,1988-08-23,680.9000000000863,680.8808,2015-01-01 01:53:29,bin6809,75,False +CTSPillarNetworkA,6810,6810,6810,1988-08-24,681.0000000000863,680.9808,2015-01-01 01:53:30,bin6810,35,False +CTSPillarNetworkA,6811,6811,6811,1988-08-25,681.1000000000863,681.08075,2015-01-01 01:53:31,bin6811,75,False +CTSPillarNetworkA,6812,6812,6812,1988-08-26,681.2000000000863,681.1807,2015-01-01 01:53:32,bin6812,35,False +CTSPillarNetworkA,6813,6813,6813,1988-08-27,681.3000000000864,681.2807,2015-01-01 01:53:33,bin6813,75,False +CTSPillarNetworkA,6814,6814,6814,1988-08-28,681.4000000000864,681.3807,2015-01-01 01:53:34,bin6814,35,False +CTSPillarNetworkA,6815,6815,6815,1988-08-29,681.5000000000864,681.48065,2015-01-01 01:53:35,bin6815,75,False +CTSPillarNetworkA,6816,6816,6816,1988-08-30,681.6000000000864,681.5806,2015-01-01 01:53:36,bin6816,35,False +CTSPillarNetworkA,6817,6817,6817,1988-08-31,681.7000000000864,681.6806,2015-01-01 01:53:37,bin6817,75,False +CTSPillarNetworkA,6818,6818,6818,1988-09-01,681.8000000000865,681.7806,2015-01-01 01:53:38,bin6818,35,False +CTSPillarNetworkA,6819,6819,6819,1988-09-02,681.9000000000865,681.88055,2015-01-01 01:53:39,bin6819,75,False +CTSPillarNetworkA,6820,6820,6820,1988-09-03,682.0000000000865,681.9805,2015-01-01 01:53:40,bin6820,35,False +CTSPillarNetworkA,6821,6821,6821,1988-09-04,682.1000000000865,682.0805,2015-01-01 01:53:41,bin6821,75,False +CTSPillarNetworkA,6822,6822,6822,1988-09-05,682.2000000000866,682.1805,2015-01-01 01:53:42,bin6822,35,False +CTSPillarNetworkA,6823,6823,6823,1988-09-06,682.3000000000866,682.28046,2015-01-01 01:53:43,bin6823,75,False +CTSPillarNetworkA,6824,6824,6824,1988-09-07,682.4000000000866,682.38043,2015-01-01 01:53:44,bin6824,35,False +CTSPillarNetworkA,6825,6825,6825,1988-09-08,682.5000000000866,682.4804,2015-01-01 01:53:45,bin6825,75,False +CTSPillarNetworkA,6826,6826,6826,1988-09-09,682.6000000000867,682.5804,2015-01-01 01:53:46,bin6826,35,False +CTSPillarNetworkA,6827,6827,6827,1988-09-10,682.7000000000867,682.68036,2015-01-01 01:53:47,bin6827,75,False +CTSPillarNetworkA,6828,6828,6828,1988-09-11,682.8000000000867,682.78033,2015-01-01 01:53:48,bin6828,35,False +CTSPillarNetworkA,6829,6829,6829,1988-09-12,682.9000000000867,682.8803,2015-01-01 01:53:49,bin6829,75,False +CTSPillarNetworkA,6830,6830,6830,1988-09-13,683.0000000000867,682.9803,2015-01-01 01:53:50,bin6830,35,False +CTSPillarNetworkA,6831,6831,6831,1988-09-14,683.1000000000868,683.08026,2015-01-01 01:53:51,bin6831,75,False +CTSPillarNetworkA,6832,6832,6832,1988-09-15,683.2000000000868,683.18024,2015-01-01 01:53:52,bin6832,35,False +CTSPillarNetworkA,6833,6833,6833,1988-09-16,683.3000000000868,683.2802,2015-01-01 01:53:53,bin6833,75,False +CTSPillarNetworkA,6834,6834,6834,1988-09-17,683.4000000000868,683.3802,2015-01-01 01:53:54,bin6834,35,False +CTSPillarNetworkA,6835,6835,6835,1988-09-18,683.5000000000869,683.48016,2015-01-01 01:53:55,bin6835,75,False +CTSPillarNetworkA,6836,6836,6836,1988-09-19,683.6000000000869,683.58014,2015-01-01 01:53:56,bin6836,35,False +CTSPillarNetworkA,6837,6837,6837,1988-09-20,683.7000000000869,683.6801,2015-01-01 01:53:57,bin6837,75,False +CTSPillarNetworkA,6838,6838,6838,1988-09-21,683.8000000000869,683.7801,2015-01-01 01:53:58,bin6838,35,False +CTSPillarNetworkA,6839,6839,6839,1988-09-22,683.900000000087,683.88007,2015-01-01 01:53:59,bin6839,75,False +CTSPillarNetworkA,6840,6840,6840,1988-09-23,684.000000000087,683.98004,2015-01-01 01:54:00,bin6840,35,False +CTSPillarNetworkA,6841,6841,6841,1988-09-24,684.100000000087,684.08,2015-01-01 01:54:01,bin6841,75,False +CTSPillarNetworkA,6842,6842,6842,1988-09-25,684.200000000087,684.18,2015-01-01 01:54:02,bin6842,35,False +CTSPillarNetworkA,6843,6843,6843,1988-09-26,684.300000000087,684.27997,2015-01-01 01:54:03,bin6843,75,False +CTSPillarNetworkA,6844,6844,6844,1988-09-27,684.4000000000871,684.37994,2015-01-01 01:54:04,bin6844,35,False +CTSPillarNetworkA,6845,6845,6845,1988-09-28,684.5000000000871,684.4799,2015-01-01 01:54:05,bin6845,75,False +CTSPillarNetworkA,6846,6846,6846,1988-09-29,684.6000000000871,684.5799,2015-01-01 01:54:06,bin6846,35,False +CTSPillarNetworkA,6847,6847,6847,1988-09-30,684.7000000000871,684.6799,2015-01-01 01:54:07,bin6847,75,False +CTSPillarNetworkA,6848,6848,6848,1988-10-01,684.8000000000872,684.77985,2015-01-01 01:54:08,bin6848,35,False +CTSPillarNetworkA,6849,6849,6849,1988-10-02,684.9000000000872,684.8798,2015-01-01 01:54:09,bin6849,75,False +CTSPillarNetworkA,6850,6850,6850,1988-10-03,685.0000000000872,684.9798,2015-01-01 01:54:10,bin6850,35,False +CTSPillarNetworkA,6851,6851,6851,1988-10-04,685.1000000000872,685.0798,2015-01-01 01:54:11,bin6851,75,False +CTSPillarNetworkA,6852,6852,6852,1988-10-05,685.2000000000872,685.17975,2015-01-01 01:54:12,bin6852,35,False +CTSPillarNetworkA,6853,6853,6853,1988-10-06,685.3000000000873,685.2797,2015-01-01 01:54:13,bin6853,75,False +CTSPillarNetworkA,6854,6854,6854,1988-10-07,685.4000000000873,685.3797,2015-01-01 01:54:14,bin6854,35,False +CTSPillarNetworkA,6855,6855,6855,1988-10-08,685.5000000000873,685.4797,2015-01-01 01:54:15,bin6855,75,False +CTSPillarNetworkA,6856,6856,6856,1988-10-09,685.6000000000873,685.57965,2015-01-01 01:54:16,bin6856,35,False +CTSPillarNetworkA,6857,6857,6857,1988-10-10,685.7000000000874,685.6796,2015-01-01 01:54:17,bin6857,75,False +CTSPillarNetworkA,6858,6858,6858,1988-10-11,685.8000000000874,685.7796,2015-01-01 01:54:18,bin6858,35,False +CTSPillarNetworkA,6859,6859,6859,1988-10-12,685.9000000000874,685.8796,2015-01-01 01:54:19,bin6859,75,False +CTSPillarNetworkA,6860,6860,6860,1988-10-13,686.0000000000874,685.97955,2015-01-01 01:54:20,bin6860,35,False +CTSPillarNetworkA,6861,6861,6861,1988-10-14,686.1000000000874,686.0795,2015-01-01 01:54:21,bin6861,75,False +CTSPillarNetworkA,6862,6862,6862,1988-10-15,686.2000000000875,686.1795,2015-01-01 01:54:22,bin6862,35,False +CTSPillarNetworkA,6863,6863,6863,1988-10-16,686.3000000000875,686.2795,2015-01-01 01:54:23,bin6863,75,False +CTSPillarNetworkA,6864,6864,6864,1988-10-17,686.4000000000875,686.37946,2015-01-01 01:54:24,bin6864,35,False +CTSPillarNetworkA,6865,6865,6865,1988-10-18,686.5000000000875,686.47943,2015-01-01 01:54:25,bin6865,75,False +CTSPillarNetworkA,6866,6866,6866,1988-10-19,686.6000000000876,686.5794,2015-01-01 01:54:26,bin6866,35,False +CTSPillarNetworkA,6867,6867,6867,1988-10-20,686.7000000000876,686.6794,2015-01-01 01:54:27,bin6867,75,False +CTSPillarNetworkA,6868,6868,6868,1988-10-21,686.8000000000876,686.77936,2015-01-01 01:54:28,bin6868,35,False +CTSPillarNetworkA,6869,6869,6869,1988-10-22,686.9000000000876,686.87933,2015-01-01 01:54:29,bin6869,75,False +CTSPillarNetworkA,6870,6870,6870,1988-10-23,687.0000000000877,686.9793,2015-01-01 01:54:30,bin6870,35,False +CTSPillarNetworkA,6871,6871,6871,1988-10-24,687.1000000000877,687.0793,2015-01-01 01:54:31,bin6871,75,False +CTSPillarNetworkA,6872,6872,6872,1988-10-25,687.2000000000877,687.17926,2015-01-01 01:54:32,bin6872,35,False +CTSPillarNetworkA,6873,6873,6873,1988-10-26,687.3000000000877,687.27924,2015-01-01 01:54:33,bin6873,75,False +CTSPillarNetworkA,6874,6874,6874,1988-10-27,687.4000000000877,687.3792,2015-01-01 01:54:34,bin6874,35,False +CTSPillarNetworkA,6875,6875,6875,1988-10-28,687.5000000000878,687.4792,2015-01-01 01:54:35,bin6875,75,False +CTSPillarNetworkA,6876,6876,6876,1988-10-29,687.6000000000878,687.57916,2015-01-01 01:54:36,bin6876,35,False +CTSPillarNetworkA,6877,6877,6877,1988-10-30,687.7000000000878,687.67914,2015-01-01 01:54:37,bin6877,75,False +CTSPillarNetworkA,6878,6878,6878,1988-10-31,687.8000000000878,687.7791,2015-01-01 01:54:38,bin6878,35,False +CTSPillarNetworkA,6879,6879,6879,1988-11-01,687.9000000000879,687.8791,2015-01-01 01:54:39,bin6879,75,False +CTSPillarNetworkA,6880,6880,6880,1988-11-02,688.0000000000879,687.97906,2015-01-01 01:54:40,bin6880,35,False +CTSPillarNetworkA,6881,6881,6881,1988-11-03,688.1000000000879,688.07904,2015-01-01 01:54:41,bin6881,75,False +CTSPillarNetworkA,6882,6882,6882,1988-11-04,688.2000000000879,688.179,2015-01-01 01:54:42,bin6882,35,False +CTSPillarNetworkA,6883,6883,6883,1988-11-05,688.300000000088,688.279,2015-01-01 01:54:43,bin6883,75,False +CTSPillarNetworkA,6884,6884,6884,1988-11-06,688.400000000088,688.37897,2015-01-01 01:54:44,bin6884,35,False +CTSPillarNetworkA,6885,6885,6885,1988-11-07,688.500000000088,688.47894,2015-01-01 01:54:45,bin6885,75,False +CTSPillarNetworkA,6886,6886,6886,1988-11-08,688.600000000088,688.5789,2015-01-01 01:54:46,bin6886,35,False +CTSPillarNetworkA,6887,6887,6887,1988-11-09,688.700000000088,688.6789,2015-01-01 01:54:47,bin6887,75,False +CTSPillarNetworkA,6888,6888,6888,1988-11-10,688.8000000000881,688.7789,2015-01-01 01:54:48,bin6888,35,False +CTSPillarNetworkA,6889,6889,6889,1988-11-11,688.9000000000881,688.87885,2015-01-01 01:54:49,bin6889,75,False +CTSPillarNetworkA,6890,6890,6890,1988-11-12,689.0000000000881,688.9788,2015-01-01 01:54:50,bin6890,35,False +CTSPillarNetworkA,6891,6891,6891,1988-11-13,689.1000000000881,689.0788,2015-01-01 01:54:51,bin6891,75,False +CTSPillarNetworkA,6892,6892,6892,1988-11-14,689.2000000000882,689.1788,2015-01-01 01:54:52,bin6892,35,False +CTSPillarNetworkA,6893,6893,6893,1988-11-15,689.3000000000882,689.27875,2015-01-01 01:54:53,bin6893,75,False +CTSPillarNetworkA,6894,6894,6894,1988-11-16,689.4000000000882,689.3787,2015-01-01 01:54:54,bin6894,35,False +CTSPillarNetworkA,6895,6895,6895,1988-11-17,689.5000000000882,689.4787,2015-01-01 01:54:55,bin6895,75,False +CTSPillarNetworkA,6896,6896,6896,1988-11-18,689.6000000000882,689.5787,2015-01-01 01:54:56,bin6896,35,False +CTSPillarNetworkA,6897,6897,6897,1988-11-19,689.7000000000883,689.67865,2015-01-01 01:54:57,bin6897,75,False +CTSPillarNetworkA,6898,6898,6898,1988-11-20,689.8000000000883,689.7786,2015-01-01 01:54:58,bin6898,35,False +CTSPillarNetworkA,6899,6899,6899,1988-11-21,689.9000000000883,689.8786,2015-01-01 01:54:59,bin6899,75,False +CTSPillarNetworkA,6900,6900,6900,1988-11-22,690.0000000000883,689.9786,2015-01-01 01:55:00,bin6900,35,False +CTSPillarNetworkA,6901,6901,6901,1988-11-23,690.1000000000884,690.07855,2015-01-01 01:55:01,bin6901,75,False +CTSPillarNetworkA,6902,6902,6902,1988-11-24,690.2000000000884,690.1785,2015-01-01 01:55:02,bin6902,35,False +CTSPillarNetworkA,6903,6903,6903,1988-11-25,690.3000000000884,690.2785,2015-01-01 01:55:03,bin6903,75,False +CTSPillarNetworkA,6904,6904,6904,1988-11-26,690.4000000000884,690.3785,2015-01-01 01:55:04,bin6904,35,False +CTSPillarNetworkA,6905,6905,6905,1988-11-27,690.5000000000884,690.47845,2015-01-01 01:55:05,bin6905,75,False +CTSPillarNetworkA,6906,6906,6906,1988-11-28,690.6000000000885,690.5784,2015-01-01 01:55:06,bin6906,35,False +CTSPillarNetworkA,6907,6907,6907,1988-11-29,690.7000000000885,690.6784,2015-01-01 01:55:07,bin6907,75,False +CTSPillarNetworkA,6908,6908,6908,1988-11-30,690.8000000000885,690.7784,2015-01-01 01:55:08,bin6908,35,False +CTSPillarNetworkA,6909,6909,6909,1988-12-01,690.9000000000885,690.87836,2015-01-01 01:55:09,bin6909,75,False +CTSPillarNetworkA,6910,6910,6910,1988-12-02,691.0000000000886,690.97833,2015-01-01 01:55:10,bin6910,35,False +CTSPillarNetworkA,6911,6911,6911,1988-12-03,691.1000000000886,691.0783,2015-01-01 01:55:11,bin6911,75,False +CTSPillarNetworkA,6912,6912,6912,1988-12-04,691.2000000000886,691.1783,2015-01-01 01:55:12,bin6912,35,False +CTSPillarNetworkA,6913,6913,6913,1988-12-05,691.3000000000886,691.27826,2015-01-01 01:55:13,bin6913,75,False +CTSPillarNetworkA,6914,6914,6914,1988-12-06,691.4000000000887,691.37823,2015-01-01 01:55:14,bin6914,35,False +CTSPillarNetworkA,6915,6915,6915,1988-12-07,691.5000000000887,691.4782,2015-01-01 01:55:15,bin6915,75,False +CTSPillarNetworkA,6916,6916,6916,1988-12-08,691.6000000000887,691.5782,2015-01-01 01:55:16,bin6916,35,False +CTSPillarNetworkA,6917,6917,6917,1988-12-09,691.7000000000887,691.67816,2015-01-01 01:55:17,bin6917,75,False +CTSPillarNetworkA,6918,6918,6918,1988-12-10,691.8000000000887,691.77814,2015-01-01 01:55:18,bin6918,35,False +CTSPillarNetworkA,6919,6919,6919,1988-12-11,691.9000000000888,691.8781,2015-01-01 01:55:19,bin6919,75,False +CTSPillarNetworkA,6920,6920,6920,1988-12-12,692.0000000000888,691.9781,2015-01-01 01:55:20,bin6920,35,False +CTSPillarNetworkA,6921,6921,6921,1988-12-13,692.1000000000888,692.07806,2015-01-01 01:55:21,bin6921,75,False +CTSPillarNetworkA,6922,6922,6922,1988-12-14,692.2000000000888,692.17804,2015-01-01 01:55:22,bin6922,35,False +CTSPillarNetworkA,6923,6923,6923,1988-12-15,692.3000000000889,692.278,2015-01-01 01:55:23,bin6923,75,False +CTSPillarNetworkA,6924,6924,6924,1988-12-16,692.4000000000889,692.378,2015-01-01 01:55:24,bin6924,35,False +CTSPillarNetworkA,6925,6925,6925,1988-12-17,692.5000000000889,692.47797,2015-01-01 01:55:25,bin6925,75,False +CTSPillarNetworkA,6926,6926,6926,1988-12-18,692.6000000000889,692.57794,2015-01-01 01:55:26,bin6926,35,False +CTSPillarNetworkA,6927,6927,6927,1988-12-19,692.700000000089,692.6779,2015-01-01 01:55:27,bin6927,75,False +CTSPillarNetworkA,6928,6928,6928,1988-12-20,692.800000000089,692.7779,2015-01-01 01:55:28,bin6928,35,False +CTSPillarNetworkA,6929,6929,6929,1988-12-21,692.900000000089,692.87787,2015-01-01 01:55:29,bin6929,75,False +CTSPillarNetworkA,6930,6930,6930,1988-12-22,693.000000000089,692.97784,2015-01-01 01:55:30,bin6930,35,False +CTSPillarNetworkA,6931,6931,6931,1988-12-23,693.100000000089,693.0778,2015-01-01 01:55:31,bin6931,75,False +CTSPillarNetworkA,6932,6932,6932,1988-12-24,693.2000000000891,693.1778,2015-01-01 01:55:32,bin6932,35,False +CTSPillarNetworkA,6933,6933,6933,1988-12-25,693.3000000000891,693.2778,2015-01-01 01:55:33,bin6933,75,False +CTSPillarNetworkA,6934,6934,6934,1988-12-26,693.4000000000891,693.37775,2015-01-01 01:55:34,bin6934,35,False +CTSPillarNetworkA,6935,6935,6935,1988-12-27,693.5000000000891,693.4777,2015-01-01 01:55:35,bin6935,75,False +CTSPillarNetworkA,6936,6936,6936,1988-12-28,693.6000000000892,693.5777,2015-01-01 01:55:36,bin6936,35,False +CTSPillarNetworkA,6937,6937,6937,1988-12-29,693.7000000000892,693.6777,2015-01-01 01:55:37,bin6937,75,False +CTSPillarNetworkA,6938,6938,6938,1988-12-30,693.8000000000892,693.77765,2015-01-01 01:55:38,bin6938,35,False +CTSPillarNetworkA,6939,6939,6939,1988-12-31,693.9000000000892,693.8776,2015-01-01 01:55:39,bin6939,75,False +CTSPillarNetworkA,6940,6940,6940,1989-01-01,694.0000000000892,693.9776,2015-01-01 01:55:40,bin6940,35,False +CTSPillarNetworkA,6941,6941,6941,1989-01-02,694.1000000000893,694.0776,2015-01-01 01:55:41,bin6941,75,False +CTSPillarNetworkA,6942,6942,6942,1989-01-03,694.2000000000893,694.17755,2015-01-01 01:55:42,bin6942,35,False +CTSPillarNetworkA,6943,6943,6943,1989-01-04,694.3000000000893,694.2775,2015-01-01 01:55:43,bin6943,75,False +CTSPillarNetworkA,6944,6944,6944,1989-01-05,694.4000000000893,694.3775,2015-01-01 01:55:44,bin6944,35,False +CTSPillarNetworkA,6945,6945,6945,1989-01-06,694.5000000000894,694.4775,2015-01-01 01:55:45,bin6945,75,False +CTSPillarNetworkA,6946,6946,6946,1989-01-07,694.6000000000894,694.57745,2015-01-01 01:55:46,bin6946,35,False +CTSPillarNetworkA,6947,6947,6947,1989-01-08,694.7000000000894,694.6774,2015-01-01 01:55:47,bin6947,75,False +CTSPillarNetworkA,6948,6948,6948,1989-01-09,694.8000000000894,694.7774,2015-01-01 01:55:48,bin6948,35,False +CTSPillarNetworkA,6949,6949,6949,1989-01-10,694.9000000000894,694.8774,2015-01-01 01:55:49,bin6949,75,False +CTSPillarNetworkA,6950,6950,6950,1989-01-11,695.0000000000895,694.97736,2015-01-01 01:55:50,bin6950,35,False +CTSPillarNetworkA,6951,6951,6951,1989-01-12,695.1000000000895,695.07733,2015-01-01 01:55:51,bin6951,75,False +CTSPillarNetworkA,6952,6952,6952,1989-01-13,695.2000000000895,695.1773,2015-01-01 01:55:52,bin6952,35,False +CTSPillarNetworkA,6953,6953,6953,1989-01-14,695.3000000000895,695.2773,2015-01-01 01:55:53,bin6953,75,False +CTSPillarNetworkA,6954,6954,6954,1989-01-15,695.4000000000896,695.37726,2015-01-01 01:55:54,bin6954,35,False +CTSPillarNetworkA,6955,6955,6955,1989-01-16,695.5000000000896,695.47723,2015-01-01 01:55:55,bin6955,75,False +CTSPillarNetworkA,6956,6956,6956,1989-01-17,695.6000000000896,695.5772,2015-01-01 01:55:56,bin6956,35,False +CTSPillarNetworkA,6957,6957,6957,1989-01-18,695.7000000000896,695.6772,2015-01-01 01:55:57,bin6957,75,False +CTSPillarNetworkA,6958,6958,6958,1989-01-19,695.8000000000897,695.77716,2015-01-01 01:55:58,bin6958,35,False +CTSPillarNetworkA,6959,6959,6959,1989-01-20,695.9000000000897,695.87714,2015-01-01 01:55:59,bin6959,75,False +CTSPillarNetworkA,6960,6960,6960,1989-01-21,696.0000000000897,695.9771,2015-01-01 01:56:00,bin6960,35,False +CTSPillarNetworkA,6961,6961,6961,1989-01-22,696.1000000000897,696.0771,2015-01-01 01:56:01,bin6961,75,False +CTSPillarNetworkA,6962,6962,6962,1989-01-23,696.2000000000897,696.17706,2015-01-01 01:56:02,bin6962,35,False +CTSPillarNetworkA,6963,6963,6963,1989-01-24,696.3000000000898,696.27704,2015-01-01 01:56:03,bin6963,75,False +CTSPillarNetworkA,6964,6964,6964,1989-01-25,696.4000000000898,696.377,2015-01-01 01:56:04,bin6964,35,False +CTSPillarNetworkA,6965,6965,6965,1989-01-26,696.5000000000898,696.477,2015-01-01 01:56:05,bin6965,75,False +CTSPillarNetworkA,6966,6966,6966,1989-01-27,696.6000000000898,696.57697,2015-01-01 01:56:06,bin6966,35,False +CTSPillarNetworkA,6967,6967,6967,1989-01-28,696.7000000000899,696.67694,2015-01-01 01:56:07,bin6967,75,False +CTSPillarNetworkA,6968,6968,6968,1989-01-29,696.8000000000899,696.7769,2015-01-01 01:56:08,bin6968,35,False +CTSPillarNetworkA,6969,6969,6969,1989-01-30,696.9000000000899,696.8769,2015-01-01 01:56:09,bin6969,75,False +CTSPillarNetworkA,6970,6970,6970,1989-01-31,697.0000000000899,696.97687,2015-01-01 01:56:10,bin6970,35,False +CTSPillarNetworkA,6971,6971,6971,1989-02-01,697.10000000009,697.07684,2015-01-01 01:56:11,bin6971,75,False +CTSPillarNetworkA,6972,6972,6972,1989-02-02,697.20000000009,697.1768,2015-01-01 01:56:12,bin6972,35,False +CTSPillarNetworkA,6973,6973,6973,1989-02-03,697.30000000009,697.2768,2015-01-01 01:56:13,bin6973,75,False +CTSPillarNetworkA,6974,6974,6974,1989-02-04,697.40000000009,697.3768,2015-01-01 01:56:14,bin6974,35,False +CTSPillarNetworkA,6975,6975,6975,1989-02-05,697.50000000009,697.47675,2015-01-01 01:56:15,bin6975,75,False +CTSPillarNetworkA,6976,6976,6976,1989-02-06,697.6000000000901,697.5767,2015-01-01 01:56:16,bin6976,35,False +CTSPillarNetworkA,6977,6977,6977,1989-02-07,697.7000000000901,697.6767,2015-01-01 01:56:17,bin6977,75,False +CTSPillarNetworkA,6978,6978,6978,1989-02-08,697.8000000000901,697.7767,2015-01-01 01:56:18,bin6978,35,False +CTSPillarNetworkA,6979,6979,6979,1989-02-09,697.9000000000901,697.87665,2015-01-01 01:56:19,bin6979,75,False +CTSPillarNetworkA,6980,6980,6980,1989-02-10,698.0000000000902,697.9766,2015-01-01 01:56:20,bin6980,35,False +CTSPillarNetworkA,6981,6981,6981,1989-02-11,698.1000000000902,698.0766,2015-01-01 01:56:21,bin6981,75,False +CTSPillarNetworkA,6982,6982,6982,1989-02-12,698.2000000000902,698.1766,2015-01-01 01:56:22,bin6982,35,False +CTSPillarNetworkA,6983,6983,6983,1989-02-13,698.3000000000902,698.27655,2015-01-01 01:56:23,bin6983,75,False +CTSPillarNetworkA,6984,6984,6984,1989-02-14,698.4000000000902,698.3765,2015-01-01 01:56:24,bin6984,35,False +CTSPillarNetworkA,6985,6985,6985,1989-02-15,698.5000000000903,698.4765,2015-01-01 01:56:25,bin6985,75,False +CTSPillarNetworkA,6986,6986,6986,1989-02-16,698.6000000000903,698.5765,2015-01-01 01:56:26,bin6986,35,False +CTSPillarNetworkA,6987,6987,6987,1989-02-17,698.7000000000903,698.67645,2015-01-01 01:56:27,bin6987,75,False +CTSPillarNetworkA,6988,6988,6988,1989-02-18,698.8000000000903,698.7764,2015-01-01 01:56:28,bin6988,35,False +CTSPillarNetworkA,6989,6989,6989,1989-02-19,698.9000000000904,698.8764,2015-01-01 01:56:29,bin6989,75,False +CTSPillarNetworkA,6990,6990,6990,1989-02-20,699.0000000000904,698.9764,2015-01-01 01:56:30,bin6990,35,False +CTSPillarNetworkA,6991,6991,6991,1989-02-21,699.1000000000904,699.07635,2015-01-01 01:56:31,bin6991,75,False +CTSPillarNetworkA,6992,6992,6992,1989-02-22,699.2000000000904,699.17633,2015-01-01 01:56:32,bin6992,35,False +CTSPillarNetworkA,6993,6993,6993,1989-02-23,699.3000000000904,699.2763,2015-01-01 01:56:33,bin6993,75,False +CTSPillarNetworkA,6994,6994,6994,1989-02-24,699.4000000000905,699.3763,2015-01-01 01:56:34,bin6994,35,False +CTSPillarNetworkA,6995,6995,6995,1989-02-25,699.5000000000905,699.47626,2015-01-01 01:56:35,bin6995,75,False +CTSPillarNetworkA,6996,6996,6996,1989-02-26,699.6000000000905,699.57623,2015-01-01 01:56:36,bin6996,35,False +CTSPillarNetworkA,6997,6997,6997,1989-02-27,699.7000000000905,699.6762,2015-01-01 01:56:37,bin6997,75,False +CTSPillarNetworkA,6998,6998,6998,1989-02-28,699.8000000000906,699.7762,2015-01-01 01:56:38,bin6998,35,False +CTSPillarNetworkA,6999,6999,6999,1989-03-01,699.9000000000906,699.87616,2015-01-01 01:56:39,bin6999,75,False +CTSPillarNetworkA,7000,7000,7000,1989-03-02,700.0000000000906,699.97614,2015-01-01 01:56:40,bin7000,35,False +CTSPillarNetworkA,7001,7001,7001,1989-03-03,700.1000000000906,700.0761,2015-01-01 01:56:41,bin7001,75,False +CTSPillarNetworkA,7002,7002,7002,1989-03-04,700.2000000000907,700.1761,2015-01-01 01:56:42,bin7002,35,False +CTSPillarNetworkA,7003,7003,7003,1989-03-05,700.3000000000907,700.27606,2015-01-01 01:56:43,bin7003,75,False +CTSPillarNetworkA,7004,7004,7004,1989-03-06,700.4000000000907,700.37604,2015-01-01 01:56:44,bin7004,35,False +CTSPillarNetworkA,7005,7005,7005,1989-03-07,700.5000000000907,700.476,2015-01-01 01:56:45,bin7005,75,False +CTSPillarNetworkA,7006,7006,7006,1989-03-08,700.6000000000907,700.576,2015-01-01 01:56:46,bin7006,35,False +CTSPillarNetworkA,7007,7007,7007,1989-03-09,700.7000000000908,700.67596,2015-01-01 01:56:47,bin7007,75,False +CTSPillarNetworkA,7008,7008,7008,1989-03-10,700.8000000000908,700.77594,2015-01-01 01:56:48,bin7008,35,False +CTSPillarNetworkA,7009,7009,7009,1989-03-11,700.9000000000908,700.8759,2015-01-01 01:56:49,bin7009,75,False +CTSPillarNetworkA,7010,7010,7010,1989-03-12,701.0000000000908,700.9759,2015-01-01 01:56:50,bin7010,35,False +CTSPillarNetworkA,7011,7011,7011,1989-03-13,701.1000000000909,701.07587,2015-01-01 01:56:51,bin7011,75,False +CTSPillarNetworkA,7012,7012,7012,1989-03-14,701.2000000000909,701.17584,2015-01-01 01:56:52,bin7012,35,False +CTSPillarNetworkA,7013,7013,7013,1989-03-15,701.3000000000909,701.2758,2015-01-01 01:56:53,bin7013,75,False +CTSPillarNetworkA,7014,7014,7014,1989-03-16,701.4000000000909,701.3758,2015-01-01 01:56:54,bin7014,35,False +CTSPillarNetworkA,7015,7015,7015,1989-03-17,701.500000000091,701.47577,2015-01-01 01:56:55,bin7015,75,False +CTSPillarNetworkA,7016,7016,7016,1989-03-18,701.600000000091,701.57574,2015-01-01 01:56:56,bin7016,35,False +CTSPillarNetworkA,7017,7017,7017,1989-03-19,701.700000000091,701.6757,2015-01-01 01:56:57,bin7017,75,False +CTSPillarNetworkA,7018,7018,7018,1989-03-20,701.800000000091,701.7757,2015-01-01 01:56:58,bin7018,35,False +CTSPillarNetworkA,7019,7019,7019,1989-03-21,701.900000000091,701.8757,2015-01-01 01:56:59,bin7019,75,False +CTSPillarNetworkA,7020,7020,7020,1989-03-22,702.0000000000911,701.97565,2015-01-01 01:57:00,bin7020,35,False +CTSPillarNetworkA,7021,7021,7021,1989-03-23,702.1000000000911,702.0756,2015-01-01 01:57:01,bin7021,75,False +CTSPillarNetworkA,7022,7022,7022,1989-03-24,702.2000000000911,702.1756,2015-01-01 01:57:02,bin7022,35,False +CTSPillarNetworkA,7023,7023,7023,1989-03-25,702.3000000000911,702.2756,2015-01-01 01:57:03,bin7023,75,False +CTSPillarNetworkA,7024,7024,7024,1989-03-26,702.4000000000912,702.37555,2015-01-01 01:57:04,bin7024,35,False +CTSPillarNetworkA,7025,7025,7025,1989-03-27,702.5000000000912,702.4755,2015-01-01 01:57:05,bin7025,75,False +CTSPillarNetworkA,7026,7026,7026,1989-03-28,702.6000000000912,702.5755,2015-01-01 01:57:06,bin7026,35,False +CTSPillarNetworkA,7027,7027,7027,1989-03-29,702.7000000000912,702.6755,2015-01-01 01:57:07,bin7027,75,False +CTSPillarNetworkA,7028,7028,7028,1989-03-30,702.8000000000912,702.77545,2015-01-01 01:57:08,bin7028,35,False +CTSPillarNetworkA,7029,7029,7029,1989-03-31,702.9000000000913,702.8754,2015-01-01 01:57:09,bin7029,75,False +CTSPillarNetworkA,7030,7030,7030,1989-04-01,703.0000000000913,702.9754,2015-01-01 01:57:10,bin7030,35,False +CTSPillarNetworkA,7031,7031,7031,1989-04-02,703.1000000000913,703.0754,2015-01-01 01:57:11,bin7031,75,False +CTSPillarNetworkA,7032,7032,7032,1989-04-03,703.2000000000913,703.17535,2015-01-01 01:57:12,bin7032,35,False +CTSPillarNetworkA,7033,7033,7033,1989-04-04,703.3000000000914,703.2753,2015-01-01 01:57:13,bin7033,75,False +CTSPillarNetworkA,7034,7034,7034,1989-04-05,703.4000000000914,703.3753,2015-01-01 01:57:14,bin7034,35,False +CTSPillarNetworkA,7035,7035,7035,1989-04-06,703.5000000000914,703.4753,2015-01-01 01:57:15,bin7035,75,False +CTSPillarNetworkA,7036,7036,7036,1989-04-07,703.6000000000914,703.57526,2015-01-01 01:57:16,bin7036,35,False +CTSPillarNetworkA,7037,7037,7037,1989-04-08,703.7000000000914,703.67523,2015-01-01 01:57:17,bin7037,75,False +CTSPillarNetworkA,7038,7038,7038,1989-04-09,703.8000000000915,703.7752,2015-01-01 01:57:18,bin7038,35,False +CTSPillarNetworkA,7039,7039,7039,1989-04-10,703.9000000000915,703.8752,2015-01-01 01:57:19,bin7039,75,False +CTSPillarNetworkA,7040,7040,7040,1989-04-11,704.0000000000915,703.97516,2015-01-01 01:57:20,bin7040,35,False +CTSPillarNetworkA,7041,7041,7041,1989-04-12,704.1000000000915,704.07513,2015-01-01 01:57:21,bin7041,75,False +CTSPillarNetworkA,7042,7042,7042,1989-04-13,704.2000000000916,704.1751,2015-01-01 01:57:22,bin7042,35,False +CTSPillarNetworkA,7043,7043,7043,1989-04-14,704.3000000000916,704.2751,2015-01-01 01:57:23,bin7043,75,False +CTSPillarNetworkA,7044,7044,7044,1989-04-15,704.4000000000916,704.37506,2015-01-01 01:57:24,bin7044,35,False +CTSPillarNetworkA,7045,7045,7045,1989-04-16,704.5000000000916,704.47504,2015-01-01 01:57:25,bin7045,75,False +CTSPillarNetworkA,7046,7046,7046,1989-04-17,704.6000000000917,704.575,2015-01-01 01:57:26,bin7046,35,False +CTSPillarNetworkA,7047,7047,7047,1989-04-18,704.7000000000917,704.675,2015-01-01 01:57:27,bin7047,75,False +CTSPillarNetworkA,7048,7048,7048,1989-04-19,704.8000000000917,704.77496,2015-01-01 01:57:28,bin7048,35,False +CTSPillarNetworkA,7049,7049,7049,1989-04-20,704.9000000000917,704.87494,2015-01-01 01:57:29,bin7049,75,False +CTSPillarNetworkA,7050,7050,7050,1989-04-21,705.0000000000917,704.9749,2015-01-01 01:57:30,bin7050,35,False +CTSPillarNetworkA,7051,7051,7051,1989-04-22,705.1000000000918,705.0749,2015-01-01 01:57:31,bin7051,75,False +CTSPillarNetworkA,7052,7052,7052,1989-04-23,705.2000000000918,705.17487,2015-01-01 01:57:32,bin7052,35,False +CTSPillarNetworkA,7053,7053,7053,1989-04-24,705.3000000000918,705.27484,2015-01-01 01:57:33,bin7053,75,False +CTSPillarNetworkA,7054,7054,7054,1989-04-25,705.4000000000918,705.3748,2015-01-01 01:57:34,bin7054,35,False +CTSPillarNetworkA,7055,7055,7055,1989-04-26,705.5000000000919,705.4748,2015-01-01 01:57:35,bin7055,75,False +CTSPillarNetworkA,7056,7056,7056,1989-04-27,705.6000000000919,705.57477,2015-01-01 01:57:36,bin7056,35,False +CTSPillarNetworkA,7057,7057,7057,1989-04-28,705.7000000000919,705.67474,2015-01-01 01:57:37,bin7057,75,False +CTSPillarNetworkA,7058,7058,7058,1989-04-29,705.8000000000919,705.7747,2015-01-01 01:57:38,bin7058,35,False +CTSPillarNetworkA,7059,7059,7059,1989-04-30,705.900000000092,705.8747,2015-01-01 01:57:39,bin7059,75,False +CTSPillarNetworkA,7060,7060,7060,1989-05-01,706.000000000092,705.9747,2015-01-01 01:57:40,bin7060,35,False +CTSPillarNetworkA,7061,7061,7061,1989-05-02,706.100000000092,706.07465,2015-01-01 01:57:41,bin7061,75,False +CTSPillarNetworkA,7062,7062,7062,1989-05-03,706.200000000092,706.1746,2015-01-01 01:57:42,bin7062,35,False +CTSPillarNetworkA,7063,7063,7063,1989-05-04,706.300000000092,706.2746,2015-01-01 01:57:43,bin7063,75,False +CTSPillarNetworkA,7064,7064,7064,1989-05-05,706.4000000000921,706.3746,2015-01-01 01:57:44,bin7064,35,False +CTSPillarNetworkA,7065,7065,7065,1989-05-06,706.5000000000921,706.47455,2015-01-01 01:57:45,bin7065,75,False +CTSPillarNetworkA,7066,7066,7066,1989-05-07,706.6000000000921,706.5745,2015-01-01 01:57:46,bin7066,35,False +CTSPillarNetworkA,7067,7067,7067,1989-05-08,706.7000000000921,706.6745,2015-01-01 01:57:47,bin7067,75,False +CTSPillarNetworkA,7068,7068,7068,1989-05-09,706.8000000000922,706.7745,2015-01-01 01:57:48,bin7068,35,False +CTSPillarNetworkA,7069,7069,7069,1989-05-10,706.9000000000922,706.87445,2015-01-01 01:57:49,bin7069,75,False +CTSPillarNetworkA,7070,7070,7070,1989-05-11,707.0000000000922,706.9744,2015-01-01 01:57:50,bin7070,35,False +CTSPillarNetworkA,7071,7071,7071,1989-05-12,707.1000000000922,707.0744,2015-01-01 01:57:51,bin7071,75,False +CTSPillarNetworkA,7072,7072,7072,1989-05-13,707.2000000000922,707.1744,2015-01-01 01:57:52,bin7072,35,False +CTSPillarNetworkA,7073,7073,7073,1989-05-14,707.3000000000923,707.27435,2015-01-01 01:57:53,bin7073,75,False +CTSPillarNetworkA,7074,7074,7074,1989-05-15,707.4000000000923,707.3743,2015-01-01 01:57:54,bin7074,35,False +CTSPillarNetworkA,7075,7075,7075,1989-05-16,707.5000000000923,707.4743,2015-01-01 01:57:55,bin7075,75,False +CTSPillarNetworkA,7076,7076,7076,1989-05-17,707.6000000000923,707.5743,2015-01-01 01:57:56,bin7076,35,False +CTSPillarNetworkA,7077,7077,7077,1989-05-18,707.7000000000924,707.67426,2015-01-01 01:57:57,bin7077,75,False +CTSPillarNetworkA,7078,7078,7078,1989-05-19,707.8000000000924,707.77423,2015-01-01 01:57:58,bin7078,35,False +CTSPillarNetworkA,7079,7079,7079,1989-05-20,707.9000000000924,707.8742,2015-01-01 01:57:59,bin7079,75,False +CTSPillarNetworkA,7080,7080,7080,1989-05-21,708.0000000000924,707.9742,2015-01-01 01:58:00,bin7080,35,False +CTSPillarNetworkA,7081,7081,7081,1989-05-22,708.1000000000925,708.07416,2015-01-01 01:58:01,bin7081,75,False +CTSPillarNetworkA,7082,7082,7082,1989-05-23,708.2000000000925,708.17413,2015-01-01 01:58:02,bin7082,35,False +CTSPillarNetworkA,7083,7083,7083,1989-05-24,708.3000000000925,708.2741,2015-01-01 01:58:03,bin7083,75,False +CTSPillarNetworkA,7084,7084,7084,1989-05-25,708.4000000000925,708.3741,2015-01-01 01:58:04,bin7084,35,False +CTSPillarNetworkA,7085,7085,7085,1989-05-26,708.5000000000925,708.47406,2015-01-01 01:58:05,bin7085,75,False +CTSPillarNetworkA,7086,7086,7086,1989-05-27,708.6000000000926,708.57404,2015-01-01 01:58:06,bin7086,35,False +CTSPillarNetworkA,7087,7087,7087,1989-05-28,708.7000000000926,708.674,2015-01-01 01:58:07,bin7087,75,False +CTSPillarNetworkA,7088,7088,7088,1989-05-29,708.8000000000926,708.774,2015-01-01 01:58:08,bin7088,35,False +CTSPillarNetworkA,7089,7089,7089,1989-05-30,708.9000000000926,708.87396,2015-01-01 01:58:09,bin7089,75,False +CTSPillarNetworkA,7090,7090,7090,1989-05-31,709.0000000000927,708.97394,2015-01-01 01:58:10,bin7090,35,False +CTSPillarNetworkA,7091,7091,7091,1989-06-01,709.1000000000927,709.0739,2015-01-01 01:58:11,bin7091,75,False +CTSPillarNetworkA,7092,7092,7092,1989-06-02,709.2000000000927,709.1739,2015-01-01 01:58:12,bin7092,35,False +CTSPillarNetworkA,7093,7093,7093,1989-06-03,709.3000000000927,709.27386,2015-01-01 01:58:13,bin7093,75,False +CTSPillarNetworkA,7094,7094,7094,1989-06-04,709.4000000000927,709.37384,2015-01-01 01:58:14,bin7094,35,False +CTSPillarNetworkA,7095,7095,7095,1989-06-05,709.5000000000928,709.4738,2015-01-01 01:58:15,bin7095,75,False +CTSPillarNetworkA,7096,7096,7096,1989-06-06,709.6000000000928,709.5738,2015-01-01 01:58:16,bin7096,35,False +CTSPillarNetworkA,7097,7097,7097,1989-06-07,709.7000000000928,709.67377,2015-01-01 01:58:17,bin7097,75,False +CTSPillarNetworkA,7098,7098,7098,1989-06-08,709.8000000000928,709.77374,2015-01-01 01:58:18,bin7098,35,False +CTSPillarNetworkA,7099,7099,7099,1989-06-09,709.9000000000929,709.8737,2015-01-01 01:58:19,bin7099,75,False +CTSPillarNetworkA,7100,7100,7100,1989-06-10,710.0000000000929,709.9737,2015-01-01 01:58:20,bin7100,35,False +CTSPillarNetworkA,7101,7101,7101,1989-06-11,710.1000000000929,710.07367,2015-01-01 01:58:21,bin7101,75,False +CTSPillarNetworkA,7102,7102,7102,1989-06-12,710.2000000000929,710.17365,2015-01-01 01:58:22,bin7102,35,False +CTSPillarNetworkA,7103,7103,7103,1989-06-13,710.300000000093,710.2736,2015-01-01 01:58:23,bin7103,75,False +CTSPillarNetworkA,7104,7104,7104,1989-06-14,710.400000000093,710.3736,2015-01-01 01:58:24,bin7104,35,False +CTSPillarNetworkA,7105,7105,7105,1989-06-15,710.500000000093,710.4736,2015-01-01 01:58:25,bin7105,75,False +CTSPillarNetworkA,7106,7106,7106,1989-06-16,710.600000000093,710.57355,2015-01-01 01:58:26,bin7106,35,False +CTSPillarNetworkA,7107,7107,7107,1989-06-17,710.700000000093,710.6735,2015-01-01 01:58:27,bin7107,75,False +CTSPillarNetworkA,7108,7108,7108,1989-06-18,710.8000000000931,710.7735,2015-01-01 01:58:28,bin7108,35,False +CTSPillarNetworkA,7109,7109,7109,1989-06-19,710.9000000000931,710.8735,2015-01-01 01:58:29,bin7109,75,False +CTSPillarNetworkA,7110,7110,7110,1989-06-20,711.0000000000931,710.97345,2015-01-01 01:58:30,bin7110,35,False +CTSPillarNetworkA,7111,7111,7111,1989-06-21,711.1000000000931,711.0734,2015-01-01 01:58:31,bin7111,75,False +CTSPillarNetworkA,7112,7112,7112,1989-06-22,711.2000000000932,711.1734,2015-01-01 01:58:32,bin7112,35,False +CTSPillarNetworkA,7113,7113,7113,1989-06-23,711.3000000000932,711.2734,2015-01-01 01:58:33,bin7113,75,False +CTSPillarNetworkA,7114,7114,7114,1989-06-24,711.4000000000932,711.37335,2015-01-01 01:58:34,bin7114,35,False +CTSPillarNetworkA,7115,7115,7115,1989-06-25,711.5000000000932,711.4733,2015-01-01 01:58:35,bin7115,75,False +CTSPillarNetworkA,7116,7116,7116,1989-06-26,711.6000000000932,711.5733,2015-01-01 01:58:36,bin7116,35,False +CTSPillarNetworkA,7117,7117,7117,1989-06-27,711.7000000000933,711.6733,2015-01-01 01:58:37,bin7117,75,False +CTSPillarNetworkA,7118,7118,7118,1989-06-28,711.8000000000933,711.77325,2015-01-01 01:58:38,bin7118,35,False +CTSPillarNetworkA,7119,7119,7119,1989-06-29,711.9000000000933,711.8732,2015-01-01 01:58:39,bin7119,75,False +CTSPillarNetworkA,7120,7120,7120,1989-06-30,712.0000000000933,711.9732,2015-01-01 01:58:40,bin7120,35,False +CTSPillarNetworkA,7121,7121,7121,1989-07-01,712.1000000000934,712.0732,2015-01-01 01:58:41,bin7121,75,False +CTSPillarNetworkA,7122,7122,7122,1989-07-02,712.2000000000934,712.17316,2015-01-01 01:58:42,bin7122,35,False +CTSPillarNetworkA,7123,7123,7123,1989-07-03,712.3000000000934,712.27313,2015-01-01 01:58:43,bin7123,75,False +CTSPillarNetworkA,7124,7124,7124,1989-07-04,712.4000000000934,712.3731,2015-01-01 01:58:44,bin7124,35,False +CTSPillarNetworkA,7125,7125,7125,1989-07-05,712.5000000000935,712.4731,2015-01-01 01:58:45,bin7125,75,False +CTSPillarNetworkA,7126,7126,7126,1989-07-06,712.6000000000935,712.57306,2015-01-01 01:58:46,bin7126,35,False +CTSPillarNetworkA,7127,7127,7127,1989-07-07,712.7000000000935,712.67303,2015-01-01 01:58:47,bin7127,75,False +CTSPillarNetworkA,7128,7128,7128,1989-07-08,712.8000000000935,712.773,2015-01-01 01:58:48,bin7128,35,False +CTSPillarNetworkA,7129,7129,7129,1989-07-09,712.9000000000935,712.873,2015-01-01 01:58:49,bin7129,75,False +CTSPillarNetworkA,7130,7130,7130,1989-07-10,713.0000000000936,712.97296,2015-01-01 01:58:50,bin7130,35,False +CTSPillarNetworkA,7131,7131,7131,1989-07-11,713.1000000000936,713.07294,2015-01-01 01:58:51,bin7131,75,False +CTSPillarNetworkA,7132,7132,7132,1989-07-12,713.2000000000936,713.1729,2015-01-01 01:58:52,bin7132,35,False +CTSPillarNetworkA,7133,7133,7133,1989-07-13,713.3000000000936,713.2729,2015-01-01 01:58:53,bin7133,75,False +CTSPillarNetworkA,7134,7134,7134,1989-07-14,713.4000000000937,713.37286,2015-01-01 01:58:54,bin7134,35,False +CTSPillarNetworkA,7135,7135,7135,1989-07-15,713.5000000000937,713.47284,2015-01-01 01:58:55,bin7135,75,False +CTSPillarNetworkA,7136,7136,7136,1989-07-16,713.6000000000937,713.5728,2015-01-01 01:58:56,bin7136,35,False +CTSPillarNetworkA,7137,7137,7137,1989-07-17,713.7000000000937,713.6728,2015-01-01 01:58:57,bin7137,75,False +CTSPillarNetworkA,7138,7138,7138,1989-07-18,713.8000000000937,713.77277,2015-01-01 01:58:58,bin7138,35,False +CTSPillarNetworkA,7139,7139,7139,1989-07-19,713.9000000000938,713.87274,2015-01-01 01:58:59,bin7139,75,False +CTSPillarNetworkA,7140,7140,7140,1989-07-20,714.0000000000938,713.9727,2015-01-01 01:59:00,bin7140,35,False +CTSPillarNetworkA,7141,7141,7141,1989-07-21,714.1000000000938,714.0727,2015-01-01 01:59:01,bin7141,75,False +CTSPillarNetworkA,7142,7142,7142,1989-07-22,714.2000000000938,714.17267,2015-01-01 01:59:02,bin7142,35,False +CTSPillarNetworkA,7143,7143,7143,1989-07-23,714.3000000000939,714.27264,2015-01-01 01:59:03,bin7143,75,False +CTSPillarNetworkA,7144,7144,7144,1989-07-24,714.4000000000939,714.3726,2015-01-01 01:59:04,bin7144,35,False +CTSPillarNetworkA,7145,7145,7145,1989-07-25,714.5000000000939,714.4726,2015-01-01 01:59:05,bin7145,75,False +CTSPillarNetworkA,7146,7146,7146,1989-07-26,714.6000000000939,714.5726,2015-01-01 01:59:06,bin7146,35,False +CTSPillarNetworkA,7147,7147,7147,1989-07-27,714.700000000094,714.67255,2015-01-01 01:59:07,bin7147,75,False +CTSPillarNetworkA,7148,7148,7148,1989-07-28,714.800000000094,714.7725,2015-01-01 01:59:08,bin7148,35,False +CTSPillarNetworkA,7149,7149,7149,1989-07-29,714.900000000094,714.8725,2015-01-01 01:59:09,bin7149,75,False +CTSPillarNetworkA,7150,7150,7150,1989-07-30,715.000000000094,714.9725,2015-01-01 01:59:10,bin7150,35,False +CTSPillarNetworkA,7151,7151,7151,1989-07-31,715.100000000094,715.07245,2015-01-01 01:59:11,bin7151,75,False +CTSPillarNetworkA,7152,7152,7152,1989-08-01,715.2000000000941,715.1724,2015-01-01 01:59:12,bin7152,35,False +CTSPillarNetworkA,7153,7153,7153,1989-08-02,715.3000000000941,715.2724,2015-01-01 01:59:13,bin7153,75,False +CTSPillarNetworkA,7154,7154,7154,1989-08-03,715.4000000000941,715.3724,2015-01-01 01:59:14,bin7154,35,False +CTSPillarNetworkA,7155,7155,7155,1989-08-04,715.5000000000941,715.47235,2015-01-01 01:59:15,bin7155,75,False +CTSPillarNetworkA,7156,7156,7156,1989-08-05,715.6000000000942,715.5723,2015-01-01 01:59:16,bin7156,35,False +CTSPillarNetworkA,7157,7157,7157,1989-08-06,715.7000000000942,715.6723,2015-01-01 01:59:17,bin7157,75,False +CTSPillarNetworkA,7158,7158,7158,1989-08-07,715.8000000000942,715.7723,2015-01-01 01:59:18,bin7158,35,False +CTSPillarNetworkA,7159,7159,7159,1989-08-08,715.9000000000942,715.87225,2015-01-01 01:59:19,bin7159,75,False +CTSPillarNetworkA,7160,7160,7160,1989-08-09,716.0000000000942,715.9722,2015-01-01 01:59:20,bin7160,35,False +CTSPillarNetworkA,7161,7161,7161,1989-08-10,716.1000000000943,716.0722,2015-01-01 01:59:21,bin7161,75,False +CTSPillarNetworkA,7162,7162,7162,1989-08-11,716.2000000000943,716.1722,2015-01-01 01:59:22,bin7162,35,False +CTSPillarNetworkA,7163,7163,7163,1989-08-12,716.3000000000943,716.27216,2015-01-01 01:59:23,bin7163,75,False +CTSPillarNetworkA,7164,7164,7164,1989-08-13,716.4000000000943,716.37213,2015-01-01 01:59:24,bin7164,35,False +CTSPillarNetworkA,7165,7165,7165,1989-08-14,716.5000000000944,716.4721,2015-01-01 01:59:25,bin7165,75,False +CTSPillarNetworkA,7166,7166,7166,1989-08-15,716.6000000000944,716.5721,2015-01-01 01:59:26,bin7166,35,False +CTSPillarNetworkA,7167,7167,7167,1989-08-16,716.7000000000944,716.67206,2015-01-01 01:59:27,bin7167,75,False +CTSPillarNetworkA,7168,7168,7168,1989-08-17,716.8000000000944,716.77203,2015-01-01 01:59:28,bin7168,35,False +CTSPillarNetworkA,7169,7169,7169,1989-08-18,716.9000000000945,716.872,2015-01-01 01:59:29,bin7169,75,False +CTSPillarNetworkA,7170,7170,7170,1989-08-19,717.0000000000945,716.972,2015-01-01 01:59:30,bin7170,35,False +CTSPillarNetworkA,7171,7171,7171,1989-08-20,717.1000000000945,717.07196,2015-01-01 01:59:31,bin7171,75,False +CTSPillarNetworkA,7172,7172,7172,1989-08-21,717.2000000000945,717.17194,2015-01-01 01:59:32,bin7172,35,False +CTSPillarNetworkA,7173,7173,7173,1989-08-22,717.3000000000945,717.2719,2015-01-01 01:59:33,bin7173,75,False +CTSPillarNetworkA,7174,7174,7174,1989-08-23,717.4000000000946,717.3719,2015-01-01 01:59:34,bin7174,35,False +CTSPillarNetworkA,7175,7175,7175,1989-08-24,717.5000000000946,717.47186,2015-01-01 01:59:35,bin7175,75,False +CTSPillarNetworkA,7176,7176,7176,1989-08-25,717.6000000000946,717.57184,2015-01-01 01:59:36,bin7176,35,False +CTSPillarNetworkA,7177,7177,7177,1989-08-26,717.7000000000946,717.6718,2015-01-01 01:59:37,bin7177,75,False +CTSPillarNetworkA,7178,7178,7178,1989-08-27,717.8000000000947,717.7718,2015-01-01 01:59:38,bin7178,35,False +CTSPillarNetworkA,7179,7179,7179,1989-08-28,717.9000000000947,717.87177,2015-01-01 01:59:39,bin7179,75,False +CTSPillarNetworkA,7180,7180,7180,1989-08-29,718.0000000000947,717.97174,2015-01-01 01:59:40,bin7180,35,False +CTSPillarNetworkA,7181,7181,7181,1989-08-30,718.1000000000947,718.0717,2015-01-01 01:59:41,bin7181,75,False +CTSPillarNetworkA,7182,7182,7182,1989-08-31,718.2000000000947,718.1717,2015-01-01 01:59:42,bin7182,35,False +CTSPillarNetworkA,7183,7183,7183,1989-09-01,718.3000000000948,718.27167,2015-01-01 01:59:43,bin7183,75,False +CTSPillarNetworkA,7184,7184,7184,1989-09-02,718.4000000000948,718.37164,2015-01-01 01:59:44,bin7184,35,False +CTSPillarNetworkA,7185,7185,7185,1989-09-03,718.5000000000948,718.4716,2015-01-01 01:59:45,bin7185,75,False +CTSPillarNetworkA,7186,7186,7186,1989-09-04,718.6000000000948,718.5716,2015-01-01 01:59:46,bin7186,35,False +CTSPillarNetworkA,7187,7187,7187,1989-09-05,718.7000000000949,718.6716,2015-01-01 01:59:47,bin7187,75,False +CTSPillarNetworkA,7188,7188,7188,1989-09-06,718.8000000000949,718.77155,2015-01-01 01:59:48,bin7188,35,False +CTSPillarNetworkA,7189,7189,7189,1989-09-07,718.9000000000949,718.8715,2015-01-01 01:59:49,bin7189,75,False +CTSPillarNetworkA,7190,7190,7190,1989-09-08,719.0000000000949,718.9715,2015-01-01 01:59:50,bin7190,35,False +CTSPillarNetworkA,7191,7191,7191,1989-09-09,719.100000000095,719.0715,2015-01-01 01:59:51,bin7191,75,False +CTSPillarNetworkA,7192,7192,7192,1989-09-10,719.200000000095,719.17145,2015-01-01 01:59:52,bin7192,35,False +CTSPillarNetworkA,7193,7193,7193,1989-09-11,719.300000000095,719.2714,2015-01-01 01:59:53,bin7193,75,False +CTSPillarNetworkA,7194,7194,7194,1989-09-12,719.400000000095,719.3714,2015-01-01 01:59:54,bin7194,35,False +CTSPillarNetworkA,7195,7195,7195,1989-09-13,719.500000000095,719.4714,2015-01-01 01:59:55,bin7195,75,False +CTSPillarNetworkA,7196,7196,7196,1989-09-14,719.6000000000951,719.57135,2015-01-01 01:59:56,bin7196,35,False +CTSPillarNetworkA,7197,7197,7197,1989-09-15,719.7000000000951,719.6713,2015-01-01 01:59:57,bin7197,75,False +CTSPillarNetworkA,7198,7198,7198,1989-09-16,719.8000000000951,719.7713,2015-01-01 01:59:58,bin7198,35,False +CTSPillarNetworkA,7199,7199,7199,1989-09-17,719.9000000000951,719.8713,2015-01-01 01:59:59,bin7199,75,False +CTSPillarNetworkA,7200,7200,7200,1989-09-18,720.0000000000952,719.97125,2015-01-01 02:00:00,bin7200,35,False +CTSPillarNetworkA,7201,7201,7201,1989-09-19,720.1000000000952,720.0712,2015-01-01 02:00:01,bin7201,75,False +CTSPillarNetworkA,7202,7202,7202,1989-09-20,720.2000000000952,720.1712,2015-01-01 02:00:02,bin7202,35,False +CTSPillarNetworkA,7203,7203,7203,1989-09-21,720.3000000000952,720.2712,2015-01-01 02:00:03,bin7203,75,False +CTSPillarNetworkA,7204,7204,7204,1989-09-22,720.4000000000952,720.37115,2015-01-01 02:00:04,bin7204,35,False +CTSPillarNetworkA,7205,7205,7205,1989-09-23,720.5000000000953,720.4711,2015-01-01 02:00:05,bin7205,75,False +CTSPillarNetworkA,7206,7206,7206,1989-09-24,720.6000000000953,720.5711,2015-01-01 02:00:06,bin7206,35,False +CTSPillarNetworkA,7207,7207,7207,1989-09-25,720.7000000000953,720.6711,2015-01-01 02:00:07,bin7207,75,False +CTSPillarNetworkA,7208,7208,7208,1989-09-26,720.8000000000953,720.77106,2015-01-01 02:00:08,bin7208,35,False +CTSPillarNetworkA,7209,7209,7209,1989-09-27,720.9000000000954,720.87103,2015-01-01 02:00:09,bin7209,75,False +CTSPillarNetworkA,7210,7210,7210,1989-09-28,721.0000000000954,720.971,2015-01-01 02:00:10,bin7210,35,False +CTSPillarNetworkA,7211,7211,7211,1989-09-29,721.1000000000954,721.071,2015-01-01 02:00:11,bin7211,75,False +CTSPillarNetworkA,7212,7212,7212,1989-09-30,721.2000000000954,721.17096,2015-01-01 02:00:12,bin7212,35,False +CTSPillarNetworkA,7213,7213,7213,1989-10-01,721.3000000000955,721.27094,2015-01-01 02:00:13,bin7213,75,False +CTSPillarNetworkA,7214,7214,7214,1989-10-02,721.4000000000955,721.3709,2015-01-01 02:00:14,bin7214,35,False +CTSPillarNetworkA,7215,7215,7215,1989-10-03,721.5000000000955,721.4709,2015-01-01 02:00:15,bin7215,75,False +CTSPillarNetworkA,7216,7216,7216,1989-10-04,721.6000000000955,721.57086,2015-01-01 02:00:16,bin7216,35,False +CTSPillarNetworkA,7217,7217,7217,1989-10-05,721.7000000000955,721.67084,2015-01-01 02:00:17,bin7217,75,False +CTSPillarNetworkA,7218,7218,7218,1989-10-06,721.8000000000956,721.7708,2015-01-01 02:00:18,bin7218,35,False +CTSPillarNetworkA,7219,7219,7219,1989-10-07,721.9000000000956,721.8708,2015-01-01 02:00:19,bin7219,75,False +CTSPillarNetworkA,7220,7220,7220,1989-10-08,722.0000000000956,721.97076,2015-01-01 02:00:20,bin7220,35,False +CTSPillarNetworkA,7221,7221,7221,1989-10-09,722.1000000000956,722.07074,2015-01-01 02:00:21,bin7221,75,False +CTSPillarNetworkA,7222,7222,7222,1989-10-10,722.2000000000957,722.1707,2015-01-01 02:00:22,bin7222,35,False +CTSPillarNetworkA,7223,7223,7223,1989-10-11,722.3000000000957,722.2707,2015-01-01 02:00:23,bin7223,75,False +CTSPillarNetworkA,7224,7224,7224,1989-10-12,722.4000000000957,722.37067,2015-01-01 02:00:24,bin7224,35,False +CTSPillarNetworkA,7225,7225,7225,1989-10-13,722.5000000000957,722.47064,2015-01-01 02:00:25,bin7225,75,False +CTSPillarNetworkA,7226,7226,7226,1989-10-14,722.6000000000957,722.5706,2015-01-01 02:00:26,bin7226,35,False +CTSPillarNetworkA,7227,7227,7227,1989-10-15,722.7000000000958,722.6706,2015-01-01 02:00:27,bin7227,75,False +CTSPillarNetworkA,7228,7228,7228,1989-10-16,722.8000000000958,722.77057,2015-01-01 02:00:28,bin7228,35,False +CTSPillarNetworkA,7229,7229,7229,1989-10-17,722.9000000000958,722.87054,2015-01-01 02:00:29,bin7229,75,False +CTSPillarNetworkA,7230,7230,7230,1989-10-18,723.0000000000958,722.9705,2015-01-01 02:00:30,bin7230,35,False +CTSPillarNetworkA,7231,7231,7231,1989-10-19,723.1000000000959,723.0705,2015-01-01 02:00:31,bin7231,75,False +CTSPillarNetworkA,7232,7232,7232,1989-10-20,723.2000000000959,723.1705,2015-01-01 02:00:32,bin7232,35,False +CTSPillarNetworkA,7233,7233,7233,1989-10-21,723.3000000000959,723.27045,2015-01-01 02:00:33,bin7233,75,False +CTSPillarNetworkA,7234,7234,7234,1989-10-22,723.4000000000959,723.3704,2015-01-01 02:00:34,bin7234,35,False +CTSPillarNetworkA,7235,7235,7235,1989-10-23,723.500000000096,723.4704,2015-01-01 02:00:35,bin7235,75,False +CTSPillarNetworkA,7236,7236,7236,1989-10-24,723.600000000096,723.5704,2015-01-01 02:00:36,bin7236,35,False +CTSPillarNetworkA,7237,7237,7237,1989-10-25,723.700000000096,723.67035,2015-01-01 02:00:37,bin7237,75,False +CTSPillarNetworkA,7238,7238,7238,1989-10-26,723.800000000096,723.7703,2015-01-01 02:00:38,bin7238,35,False +CTSPillarNetworkA,7239,7239,7239,1989-10-27,723.900000000096,723.8703,2015-01-01 02:00:39,bin7239,75,False +CTSPillarNetworkA,7240,7240,7240,1989-10-28,724.0000000000961,723.9703,2015-01-01 02:00:40,bin7240,35,False +CTSPillarNetworkA,7241,7241,7241,1989-10-29,724.1000000000961,724.07025,2015-01-01 02:00:41,bin7241,75,False +CTSPillarNetworkA,7242,7242,7242,1989-10-30,724.2000000000961,724.1702,2015-01-01 02:00:42,bin7242,35,False +CTSPillarNetworkA,7243,7243,7243,1989-10-31,724.3000000000961,724.2702,2015-01-01 02:00:43,bin7243,75,False +CTSPillarNetworkA,7244,7244,7244,1989-11-01,724.4000000000962,724.3702,2015-01-01 02:00:44,bin7244,35,False +CTSPillarNetworkA,7245,7245,7245,1989-11-02,724.5000000000962,724.47015,2015-01-01 02:00:45,bin7245,75,False +CTSPillarNetworkA,7246,7246,7246,1989-11-03,724.6000000000962,724.5701,2015-01-01 02:00:46,bin7246,35,False +CTSPillarNetworkA,7247,7247,7247,1989-11-04,724.7000000000962,724.6701,2015-01-01 02:00:47,bin7247,75,False +CTSPillarNetworkA,7248,7248,7248,1989-11-05,724.8000000000962,724.7701,2015-01-01 02:00:48,bin7248,35,False +CTSPillarNetworkA,7249,7249,7249,1989-11-06,724.9000000000963,724.87006,2015-01-01 02:00:49,bin7249,75,False +CTSPillarNetworkA,7250,7250,7250,1989-11-07,725.0000000000963,724.97003,2015-01-01 02:00:50,bin7250,35,False +CTSPillarNetworkA,7251,7251,7251,1989-11-08,725.1000000000963,725.07,2015-01-01 02:00:51,bin7251,75,False +CTSPillarNetworkA,7252,7252,7252,1989-11-09,725.2000000000963,725.17,2015-01-01 02:00:52,bin7252,35,False +CTSPillarNetworkA,7253,7253,7253,1989-11-10,725.3000000000964,725.26996,2015-01-01 02:00:53,bin7253,75,False +CTSPillarNetworkA,7254,7254,7254,1989-11-11,725.4000000000964,725.36993,2015-01-01 02:00:54,bin7254,35,False +CTSPillarNetworkA,7255,7255,7255,1989-11-12,725.5000000000964,725.4699,2015-01-01 02:00:55,bin7255,75,False +CTSPillarNetworkA,7256,7256,7256,1989-11-13,725.6000000000964,725.5699,2015-01-01 02:00:56,bin7256,35,False +CTSPillarNetworkA,7257,7257,7257,1989-11-14,725.7000000000965,725.66986,2015-01-01 02:00:57,bin7257,75,False +CTSPillarNetworkA,7258,7258,7258,1989-11-15,725.8000000000965,725.76984,2015-01-01 02:00:58,bin7258,35,False +CTSPillarNetworkA,7259,7259,7259,1989-11-16,725.9000000000965,725.8698,2015-01-01 02:00:59,bin7259,75,False +CTSPillarNetworkA,7260,7260,7260,1989-11-17,726.0000000000965,725.9698,2015-01-01 02:01:00,bin7260,35,False +CTSPillarNetworkA,7261,7261,7261,1989-11-18,726.1000000000965,726.06976,2015-01-01 02:01:01,bin7261,75,False +CTSPillarNetworkA,7262,7262,7262,1989-11-19,726.2000000000966,726.16974,2015-01-01 02:01:02,bin7262,35,False +CTSPillarNetworkA,7263,7263,7263,1989-11-20,726.3000000000966,726.2697,2015-01-01 02:01:03,bin7263,75,False +CTSPillarNetworkA,7264,7264,7264,1989-11-21,726.4000000000966,726.3697,2015-01-01 02:01:04,bin7264,35,False +CTSPillarNetworkA,7265,7265,7265,1989-11-22,726.5000000000966,726.46967,2015-01-01 02:01:05,bin7265,75,False +CTSPillarNetworkA,7266,7266,7266,1989-11-23,726.6000000000967,726.56964,2015-01-01 02:01:06,bin7266,35,False +CTSPillarNetworkA,7267,7267,7267,1989-11-24,726.7000000000967,726.6696,2015-01-01 02:01:07,bin7267,75,False +CTSPillarNetworkA,7268,7268,7268,1989-11-25,726.8000000000967,726.7696,2015-01-01 02:01:08,bin7268,35,False +CTSPillarNetworkA,7269,7269,7269,1989-11-26,726.9000000000967,726.86957,2015-01-01 02:01:09,bin7269,75,False +CTSPillarNetworkA,7270,7270,7270,1989-11-27,727.0000000000967,726.96954,2015-01-01 02:01:10,bin7270,35,False +CTSPillarNetworkA,7271,7271,7271,1989-11-28,727.1000000000968,727.0695,2015-01-01 02:01:11,bin7271,75,False +CTSPillarNetworkA,7272,7272,7272,1989-11-29,727.2000000000968,727.1695,2015-01-01 02:01:12,bin7272,35,False +CTSPillarNetworkA,7273,7273,7273,1989-11-30,727.3000000000968,727.2695,2015-01-01 02:01:13,bin7273,75,False +CTSPillarNetworkA,7274,7274,7274,1989-12-01,727.4000000000968,727.36945,2015-01-01 02:01:14,bin7274,35,False +CTSPillarNetworkA,7275,7275,7275,1989-12-02,727.5000000000969,727.4694,2015-01-01 02:01:15,bin7275,75,False +CTSPillarNetworkA,7276,7276,7276,1989-12-03,727.6000000000969,727.5694,2015-01-01 02:01:16,bin7276,35,False +CTSPillarNetworkA,7277,7277,7277,1989-12-04,727.7000000000969,727.6694,2015-01-01 02:01:17,bin7277,75,False +CTSPillarNetworkA,7278,7278,7278,1989-12-05,727.8000000000969,727.76935,2015-01-01 02:01:18,bin7278,35,False +CTSPillarNetworkA,7279,7279,7279,1989-12-06,727.900000000097,727.8693,2015-01-01 02:01:19,bin7279,75,False +CTSPillarNetworkA,7280,7280,7280,1989-12-07,728.000000000097,727.9693,2015-01-01 02:01:20,bin7280,35,False +CTSPillarNetworkA,7281,7281,7281,1989-12-08,728.100000000097,728.0693,2015-01-01 02:01:21,bin7281,75,False +CTSPillarNetworkA,7282,7282,7282,1989-12-09,728.200000000097,728.16925,2015-01-01 02:01:22,bin7282,35,False +CTSPillarNetworkA,7283,7283,7283,1989-12-10,728.300000000097,728.2692,2015-01-01 02:01:23,bin7283,75,False +CTSPillarNetworkA,7284,7284,7284,1989-12-11,728.4000000000971,728.3692,2015-01-01 02:01:24,bin7284,35,False +CTSPillarNetworkA,7285,7285,7285,1989-12-12,728.5000000000971,728.4692,2015-01-01 02:01:25,bin7285,75,False +CTSPillarNetworkA,7286,7286,7286,1989-12-13,728.6000000000971,728.56915,2015-01-01 02:01:26,bin7286,35,False +CTSPillarNetworkA,7287,7287,7287,1989-12-14,728.7000000000971,728.6691,2015-01-01 02:01:27,bin7287,75,False +CTSPillarNetworkA,7288,7288,7288,1989-12-15,728.8000000000972,728.7691,2015-01-01 02:01:28,bin7288,35,False +CTSPillarNetworkA,7289,7289,7289,1989-12-16,728.9000000000972,728.8691,2015-01-01 02:01:29,bin7289,75,False +CTSPillarNetworkA,7290,7290,7290,1989-12-17,729.0000000000972,728.96906,2015-01-01 02:01:30,bin7290,35,False +CTSPillarNetworkA,7291,7291,7291,1989-12-18,729.1000000000972,729.06903,2015-01-01 02:01:31,bin7291,75,False +CTSPillarNetworkA,7292,7292,7292,1989-12-19,729.2000000000972,729.169,2015-01-01 02:01:32,bin7292,35,False +CTSPillarNetworkA,7293,7293,7293,1989-12-20,729.3000000000973,729.269,2015-01-01 02:01:33,bin7293,75,False +CTSPillarNetworkA,7294,7294,7294,1989-12-21,729.4000000000973,729.36896,2015-01-01 02:01:34,bin7294,35,False +CTSPillarNetworkA,7295,7295,7295,1989-12-22,729.5000000000973,729.46893,2015-01-01 02:01:35,bin7295,75,False +CTSPillarNetworkA,7296,7296,7296,1989-12-23,729.6000000000973,729.5689,2015-01-01 02:01:36,bin7296,35,False +CTSPillarNetworkA,7297,7297,7297,1989-12-24,729.7000000000974,729.6689,2015-01-01 02:01:37,bin7297,75,False +CTSPillarNetworkA,7298,7298,7298,1989-12-25,729.8000000000974,729.76886,2015-01-01 02:01:38,bin7298,35,False +CTSPillarNetworkA,7299,7299,7299,1989-12-26,729.9000000000974,729.86884,2015-01-01 02:01:39,bin7299,75,False +CTSPillarNetworkA,7300,7300,7300,1989-12-27,730.0000000000974,729.9688,2015-01-01 02:01:40,bin7300,35,False +CTSPillarNetworkA,7301,7301,7301,1989-12-28,730.1000000000975,730.0688,2015-01-01 02:01:41,bin7301,75,False +CTSPillarNetworkA,7302,7302,7302,1989-12-29,730.2000000000975,730.16876,2015-01-01 02:01:42,bin7302,35,False +CTSPillarNetworkA,7303,7303,7303,1989-12-30,730.3000000000975,730.26874,2015-01-01 02:01:43,bin7303,75,False +CTSPillarNetworkA,7304,7304,7304,1989-12-31,730.4000000000975,730.3687,2015-01-01 02:01:44,bin7304,35,False +CTSPillarNetworkA,7305,7305,7305,1990-01-01,730.5000000000975,730.4687,2015-01-01 02:01:45,bin7305,75,False +CTSPillarNetworkA,7306,7306,7306,1990-01-02,730.6000000000976,730.56866,2015-01-01 02:01:46,bin7306,35,False +CTSPillarNetworkA,7307,7307,7307,1990-01-03,730.7000000000976,730.66864,2015-01-01 02:01:47,bin7307,75,False +CTSPillarNetworkA,7308,7308,7308,1990-01-04,730.8000000000976,730.7686,2015-01-01 02:01:48,bin7308,35,False +CTSPillarNetworkA,7309,7309,7309,1990-01-05,730.9000000000976,730.8686,2015-01-01 02:01:49,bin7309,75,False +CTSPillarNetworkA,7310,7310,7310,1990-01-06,731.0000000000977,730.96857,2015-01-01 02:01:50,bin7310,35,False +CTSPillarNetworkA,7311,7311,7311,1990-01-07,731.1000000000977,731.06854,2015-01-01 02:01:51,bin7311,75,False +CTSPillarNetworkA,7312,7312,7312,1990-01-08,731.2000000000977,731.1685,2015-01-01 02:01:52,bin7312,35,False +CTSPillarNetworkA,7313,7313,7313,1990-01-09,731.3000000000977,731.2685,2015-01-01 02:01:53,bin7313,75,False +CTSPillarNetworkA,7314,7314,7314,1990-01-10,731.4000000000977,731.36847,2015-01-01 02:01:54,bin7314,35,False +CTSPillarNetworkA,7315,7315,7315,1990-01-11,731.5000000000978,731.46844,2015-01-01 02:01:55,bin7315,75,False +CTSPillarNetworkA,7316,7316,7316,1990-01-12,731.6000000000978,731.5684,2015-01-01 02:01:56,bin7316,35,False +CTSPillarNetworkA,7317,7317,7317,1990-01-13,731.7000000000978,731.6684,2015-01-01 02:01:57,bin7317,75,False +CTSPillarNetworkA,7318,7318,7318,1990-01-14,731.8000000000978,731.7684,2015-01-01 02:01:58,bin7318,35,False +CTSPillarNetworkA,7319,7319,7319,1990-01-15,731.9000000000979,731.86835,2015-01-01 02:01:59,bin7319,75,False +CTSPillarNetworkA,7320,7320,7320,1990-01-16,732.0000000000979,731.9683,2015-01-01 02:02:00,bin7320,35,False +CTSPillarNetworkA,7321,7321,7321,1990-01-17,732.1000000000979,732.0683,2015-01-01 02:02:01,bin7321,75,False +CTSPillarNetworkA,7322,7322,7322,1990-01-18,732.2000000000979,732.1683,2015-01-01 02:02:02,bin7322,35,False +CTSPillarNetworkA,7323,7323,7323,1990-01-19,732.300000000098,732.26825,2015-01-01 02:02:03,bin7323,75,False +CTSPillarNetworkA,7324,7324,7324,1990-01-20,732.400000000098,732.3682,2015-01-01 02:02:04,bin7324,35,False +CTSPillarNetworkA,7325,7325,7325,1990-01-21,732.500000000098,732.4682,2015-01-01 02:02:05,bin7325,75,False +CTSPillarNetworkA,7326,7326,7326,1990-01-22,732.600000000098,732.5682,2015-01-01 02:02:06,bin7326,35,False +CTSPillarNetworkA,7327,7327,7327,1990-01-23,732.700000000098,732.66815,2015-01-01 02:02:07,bin7327,75,False +CTSPillarNetworkA,7328,7328,7328,1990-01-24,732.8000000000981,732.7681,2015-01-01 02:02:08,bin7328,35,False +CTSPillarNetworkA,7329,7329,7329,1990-01-25,732.9000000000981,732.8681,2015-01-01 02:02:09,bin7329,75,False +CTSPillarNetworkA,7330,7330,7330,1990-01-26,733.0000000000981,732.9681,2015-01-01 02:02:10,bin7330,35,False +CTSPillarNetworkA,7331,7331,7331,1990-01-27,733.1000000000981,733.06805,2015-01-01 02:02:11,bin7331,75,False +CTSPillarNetworkA,7332,7332,7332,1990-01-28,733.2000000000982,733.168,2015-01-01 02:02:12,bin7332,35,False +CTSPillarNetworkA,7333,7333,7333,1990-01-29,733.3000000000982,733.268,2015-01-01 02:02:13,bin7333,75,False +CTSPillarNetworkA,7334,7334,7334,1990-01-30,733.4000000000982,733.368,2015-01-01 02:02:14,bin7334,35,False +CTSPillarNetworkA,7335,7335,7335,1990-01-31,733.5000000000982,733.46796,2015-01-01 02:02:15,bin7335,75,False +CTSPillarNetworkA,7336,7336,7336,1990-02-01,733.6000000000982,733.56793,2015-01-01 02:02:16,bin7336,35,False +CTSPillarNetworkA,7337,7337,7337,1990-02-02,733.7000000000983,733.6679,2015-01-01 02:02:17,bin7337,75,False +CTSPillarNetworkA,7338,7338,7338,1990-02-03,733.8000000000983,733.7679,2015-01-01 02:02:18,bin7338,35,False +CTSPillarNetworkA,7339,7339,7339,1990-02-04,733.9000000000983,733.86786,2015-01-01 02:02:19,bin7339,75,False +CTSPillarNetworkA,7340,7340,7340,1990-02-05,734.0000000000983,733.96783,2015-01-01 02:02:20,bin7340,35,False +CTSPillarNetworkA,7341,7341,7341,1990-02-06,734.1000000000984,734.0678,2015-01-01 02:02:21,bin7341,75,False +CTSPillarNetworkA,7342,7342,7342,1990-02-07,734.2000000000984,734.1678,2015-01-01 02:02:22,bin7342,35,False +CTSPillarNetworkA,7343,7343,7343,1990-02-08,734.3000000000984,734.26776,2015-01-01 02:02:23,bin7343,75,False +CTSPillarNetworkA,7344,7344,7344,1990-02-09,734.4000000000984,734.36774,2015-01-01 02:02:24,bin7344,35,False +CTSPillarNetworkA,7345,7345,7345,1990-02-10,734.5000000000985,734.4677,2015-01-01 02:02:25,bin7345,75,False +CTSPillarNetworkA,7346,7346,7346,1990-02-11,734.6000000000985,734.5677,2015-01-01 02:02:26,bin7346,35,False +CTSPillarNetworkA,7347,7347,7347,1990-02-12,734.7000000000985,734.66766,2015-01-01 02:02:27,bin7347,75,False +CTSPillarNetworkA,7348,7348,7348,1990-02-13,734.8000000000985,734.76764,2015-01-01 02:02:28,bin7348,35,False +CTSPillarNetworkA,7349,7349,7349,1990-02-14,734.9000000000985,734.8676,2015-01-01 02:02:29,bin7349,75,False +CTSPillarNetworkA,7350,7350,7350,1990-02-15,735.0000000000986,734.9676,2015-01-01 02:02:30,bin7350,35,False +CTSPillarNetworkA,7351,7351,7351,1990-02-16,735.1000000000986,735.06757,2015-01-01 02:02:31,bin7351,75,False +CTSPillarNetworkA,7352,7352,7352,1990-02-17,735.2000000000986,735.16754,2015-01-01 02:02:32,bin7352,35,False +CTSPillarNetworkA,7353,7353,7353,1990-02-18,735.3000000000986,735.2675,2015-01-01 02:02:33,bin7353,75,False +CTSPillarNetworkA,7354,7354,7354,1990-02-19,735.4000000000987,735.3675,2015-01-01 02:02:34,bin7354,35,False +CTSPillarNetworkA,7355,7355,7355,1990-02-20,735.5000000000987,735.46747,2015-01-01 02:02:35,bin7355,75,False +CTSPillarNetworkA,7356,7356,7356,1990-02-21,735.6000000000987,735.56744,2015-01-01 02:02:36,bin7356,35,False +CTSPillarNetworkA,7357,7357,7357,1990-02-22,735.7000000000987,735.6674,2015-01-01 02:02:37,bin7357,75,False +CTSPillarNetworkA,7358,7358,7358,1990-02-23,735.8000000000987,735.7674,2015-01-01 02:02:38,bin7358,35,False +CTSPillarNetworkA,7359,7359,7359,1990-02-24,735.9000000000988,735.8674,2015-01-01 02:02:39,bin7359,75,False +CTSPillarNetworkA,7360,7360,7360,1990-02-25,736.0000000000988,735.96735,2015-01-01 02:02:40,bin7360,35,False +CTSPillarNetworkA,7361,7361,7361,1990-02-26,736.1000000000988,736.0673,2015-01-01 02:02:41,bin7361,75,False +CTSPillarNetworkA,7362,7362,7362,1990-02-27,736.2000000000988,736.1673,2015-01-01 02:02:42,bin7362,35,False +CTSPillarNetworkA,7363,7363,7363,1990-02-28,736.3000000000989,736.2673,2015-01-01 02:02:43,bin7363,75,False +CTSPillarNetworkA,7364,7364,7364,1990-03-01,736.4000000000989,736.36725,2015-01-01 02:02:44,bin7364,35,False +CTSPillarNetworkA,7365,7365,7365,1990-03-02,736.5000000000989,736.4672,2015-01-01 02:02:45,bin7365,75,False +CTSPillarNetworkA,7366,7366,7366,1990-03-03,736.6000000000989,736.5672,2015-01-01 02:02:46,bin7366,35,False +CTSPillarNetworkA,7367,7367,7367,1990-03-04,736.700000000099,736.6672,2015-01-01 02:02:47,bin7367,75,False +CTSPillarNetworkA,7368,7368,7368,1990-03-05,736.800000000099,736.76715,2015-01-01 02:02:48,bin7368,35,False +CTSPillarNetworkA,7369,7369,7369,1990-03-06,736.900000000099,736.8671,2015-01-01 02:02:49,bin7369,75,False +CTSPillarNetworkA,7370,7370,7370,1990-03-07,737.000000000099,736.9671,2015-01-01 02:02:50,bin7370,35,False +CTSPillarNetworkA,7371,7371,7371,1990-03-08,737.100000000099,737.0671,2015-01-01 02:02:51,bin7371,75,False +CTSPillarNetworkA,7372,7372,7372,1990-03-09,737.2000000000991,737.16705,2015-01-01 02:02:52,bin7372,35,False +CTSPillarNetworkA,7373,7373,7373,1990-03-10,737.3000000000991,737.267,2015-01-01 02:02:53,bin7373,75,False +CTSPillarNetworkA,7374,7374,7374,1990-03-11,737.4000000000991,737.367,2015-01-01 02:02:54,bin7374,35,False +CTSPillarNetworkA,7375,7375,7375,1990-03-12,737.5000000000991,737.467,2015-01-01 02:02:55,bin7375,75,False +CTSPillarNetworkA,7376,7376,7376,1990-03-13,737.6000000000992,737.56696,2015-01-01 02:02:56,bin7376,35,False +CTSPillarNetworkA,7377,7377,7377,1990-03-14,737.7000000000992,737.66693,2015-01-01 02:02:57,bin7377,75,False +CTSPillarNetworkA,7378,7378,7378,1990-03-15,737.8000000000992,737.7669,2015-01-01 02:02:58,bin7378,35,False +CTSPillarNetworkA,7379,7379,7379,1990-03-16,737.9000000000992,737.8669,2015-01-01 02:02:59,bin7379,75,False +CTSPillarNetworkA,7380,7380,7380,1990-03-17,738.0000000000992,737.96686,2015-01-01 02:03:00,bin7380,35,False +CTSPillarNetworkA,7381,7381,7381,1990-03-18,738.1000000000993,738.06683,2015-01-01 02:03:01,bin7381,75,False +CTSPillarNetworkA,7382,7382,7382,1990-03-19,738.2000000000993,738.1668,2015-01-01 02:03:02,bin7382,35,False +CTSPillarNetworkA,7383,7383,7383,1990-03-20,738.3000000000993,738.2668,2015-01-01 02:03:03,bin7383,75,False +CTSPillarNetworkA,7384,7384,7384,1990-03-21,738.4000000000993,738.36676,2015-01-01 02:03:04,bin7384,35,False +CTSPillarNetworkA,7385,7385,7385,1990-03-22,738.5000000000994,738.46674,2015-01-01 02:03:05,bin7385,75,False +CTSPillarNetworkA,7386,7386,7386,1990-03-23,738.6000000000994,738.5667,2015-01-01 02:03:06,bin7386,35,False +CTSPillarNetworkA,7387,7387,7387,1990-03-24,738.7000000000994,738.6667,2015-01-01 02:03:07,bin7387,75,False +CTSPillarNetworkA,7388,7388,7388,1990-03-25,738.8000000000994,738.76666,2015-01-01 02:03:08,bin7388,35,False +CTSPillarNetworkA,7389,7389,7389,1990-03-26,738.9000000000995,738.86664,2015-01-01 02:03:09,bin7389,75,False +CTSPillarNetworkA,7390,7390,7390,1990-03-27,739.0000000000995,738.9666,2015-01-01 02:03:10,bin7390,35,False +CTSPillarNetworkA,7391,7391,7391,1990-03-28,739.1000000000995,739.0666,2015-01-01 02:03:11,bin7391,75,False +CTSPillarNetworkA,7392,7392,7392,1990-03-29,739.2000000000995,739.16656,2015-01-01 02:03:12,bin7392,35,False +CTSPillarNetworkA,7393,7393,7393,1990-03-30,739.3000000000995,739.26654,2015-01-01 02:03:13,bin7393,75,False +CTSPillarNetworkA,7394,7394,7394,1990-03-31,739.4000000000996,739.3665,2015-01-01 02:03:14,bin7394,35,False +CTSPillarNetworkA,7395,7395,7395,1990-04-01,739.5000000000996,739.4665,2015-01-01 02:03:15,bin7395,75,False +CTSPillarNetworkA,7396,7396,7396,1990-04-02,739.6000000000996,739.56647,2015-01-01 02:03:16,bin7396,35,False +CTSPillarNetworkA,7397,7397,7397,1990-04-03,739.7000000000996,739.66644,2015-01-01 02:03:17,bin7397,75,False +CTSPillarNetworkA,7398,7398,7398,1990-04-04,739.8000000000997,739.7664,2015-01-01 02:03:18,bin7398,35,False +CTSPillarNetworkA,7399,7399,7399,1990-04-05,739.9000000000997,739.8664,2015-01-01 02:03:19,bin7399,75,False +CTSPillarNetworkA,7400,7400,7400,1990-04-06,740.0000000000997,739.9664,2015-01-01 02:03:20,bin7400,35,False +CTSPillarNetworkA,7401,7401,7401,1990-04-07,740.1000000000997,740.06635,2015-01-01 02:03:21,bin7401,75,False +CTSPillarNetworkA,7402,7402,7402,1990-04-08,740.2000000000997,740.1663,2015-01-01 02:03:22,bin7402,35,False +CTSPillarNetworkA,7403,7403,7403,1990-04-09,740.3000000000998,740.2663,2015-01-01 02:03:23,bin7403,75,False +CTSPillarNetworkA,7404,7404,7404,1990-04-10,740.4000000000998,740.3663,2015-01-01 02:03:24,bin7404,35,False +CTSPillarNetworkA,7405,7405,7405,1990-04-11,740.5000000000998,740.46625,2015-01-01 02:03:25,bin7405,75,False +CTSPillarNetworkA,7406,7406,7406,1990-04-12,740.6000000000998,740.5662,2015-01-01 02:03:26,bin7406,35,False +CTSPillarNetworkA,7407,7407,7407,1990-04-13,740.7000000000999,740.6662,2015-01-01 02:03:27,bin7407,75,False +CTSPillarNetworkA,7408,7408,7408,1990-04-14,740.8000000000999,740.7662,2015-01-01 02:03:28,bin7408,35,False +CTSPillarNetworkA,7409,7409,7409,1990-04-15,740.9000000000999,740.86615,2015-01-01 02:03:29,bin7409,75,False +CTSPillarNetworkA,7410,7410,7410,1990-04-16,741.0000000000999,740.9661,2015-01-01 02:03:30,bin7410,35,False +CTSPillarNetworkA,7411,7411,7411,1990-04-17,741.1000000001,741.0661,2015-01-01 02:03:31,bin7411,75,False +CTSPillarNetworkA,7412,7412,7412,1990-04-18,741.2000000001,741.1661,2015-01-01 02:03:32,bin7412,35,False +CTSPillarNetworkA,7413,7413,7413,1990-04-19,741.3000000001,741.26605,2015-01-01 02:03:33,bin7413,75,False +CTSPillarNetworkA,7414,7414,7414,1990-04-20,741.4000000001,741.366,2015-01-01 02:03:34,bin7414,35,False +CTSPillarNetworkA,7415,7415,7415,1990-04-21,741.5000000001,741.466,2015-01-01 02:03:35,bin7415,75,False +CTSPillarNetworkA,7416,7416,7416,1990-04-22,741.6000000001001,741.566,2015-01-01 02:03:36,bin7416,35,False +CTSPillarNetworkA,7417,7417,7417,1990-04-23,741.7000000001001,741.66595,2015-01-01 02:03:37,bin7417,75,False +CTSPillarNetworkA,7418,7418,7418,1990-04-24,741.8000000001001,741.7659,2015-01-01 02:03:38,bin7418,35,False +CTSPillarNetworkA,7419,7419,7419,1990-04-25,741.9000000001001,741.8659,2015-01-01 02:03:39,bin7419,75,False +CTSPillarNetworkA,7420,7420,7420,1990-04-26,742.0000000001002,741.9659,2015-01-01 02:03:40,bin7420,35,False +CTSPillarNetworkA,7421,7421,7421,1990-04-27,742.1000000001002,742.06586,2015-01-01 02:03:41,bin7421,75,False +CTSPillarNetworkA,7422,7422,7422,1990-04-28,742.2000000001002,742.16583,2015-01-01 02:03:42,bin7422,35,False +CTSPillarNetworkA,7423,7423,7423,1990-04-29,742.3000000001002,742.2658,2015-01-01 02:03:43,bin7423,75,False +CTSPillarNetworkA,7424,7424,7424,1990-04-30,742.4000000001002,742.3658,2015-01-01 02:03:44,bin7424,35,False +CTSPillarNetworkA,7425,7425,7425,1990-05-01,742.5000000001003,742.46576,2015-01-01 02:03:45,bin7425,75,False +CTSPillarNetworkA,7426,7426,7426,1990-05-02,742.6000000001003,742.56573,2015-01-01 02:03:46,bin7426,35,False +CTSPillarNetworkA,7427,7427,7427,1990-05-03,742.7000000001003,742.6657,2015-01-01 02:03:47,bin7427,75,False +CTSPillarNetworkA,7428,7428,7428,1990-05-04,742.8000000001003,742.7657,2015-01-01 02:03:48,bin7428,35,False +CTSPillarNetworkA,7429,7429,7429,1990-05-05,742.9000000001004,742.86566,2015-01-01 02:03:49,bin7429,75,False +CTSPillarNetworkA,7430,7430,7430,1990-05-06,743.0000000001004,742.96564,2015-01-01 02:03:50,bin7430,35,False +CTSPillarNetworkA,7431,7431,7431,1990-05-07,743.1000000001004,743.0656,2015-01-01 02:03:51,bin7431,75,False +CTSPillarNetworkA,7432,7432,7432,1990-05-08,743.2000000001004,743.1656,2015-01-01 02:03:52,bin7432,35,False +CTSPillarNetworkA,7433,7433,7433,1990-05-09,743.3000000001005,743.26556,2015-01-01 02:03:53,bin7433,75,False +CTSPillarNetworkA,7434,7434,7434,1990-05-10,743.4000000001005,743.36554,2015-01-01 02:03:54,bin7434,35,False +CTSPillarNetworkA,7435,7435,7435,1990-05-11,743.5000000001005,743.4655,2015-01-01 02:03:55,bin7435,75,False +CTSPillarNetworkA,7436,7436,7436,1990-05-12,743.6000000001005,743.5655,2015-01-01 02:03:56,bin7436,35,False +CTSPillarNetworkA,7437,7437,7437,1990-05-13,743.7000000001005,743.66547,2015-01-01 02:03:57,bin7437,75,False +CTSPillarNetworkA,7438,7438,7438,1990-05-14,743.8000000001006,743.76544,2015-01-01 02:03:58,bin7438,35,False +CTSPillarNetworkA,7439,7439,7439,1990-05-15,743.9000000001006,743.8654,2015-01-01 02:03:59,bin7439,75,False +CTSPillarNetworkA,7440,7440,7440,1990-05-16,744.0000000001006,743.9654,2015-01-01 02:04:00,bin7440,35,False +CTSPillarNetworkA,7441,7441,7441,1990-05-17,744.1000000001006,744.06537,2015-01-01 02:04:01,bin7441,75,False +CTSPillarNetworkA,7442,7442,7442,1990-05-18,744.2000000001007,744.16534,2015-01-01 02:04:02,bin7442,35,False +CTSPillarNetworkA,7443,7443,7443,1990-05-19,744.3000000001007,744.2653,2015-01-01 02:04:03,bin7443,75,False +CTSPillarNetworkA,7444,7444,7444,1990-05-20,744.4000000001007,744.3653,2015-01-01 02:04:04,bin7444,35,False +CTSPillarNetworkA,7445,7445,7445,1990-05-21,744.5000000001007,744.4653,2015-01-01 02:04:05,bin7445,75,False +CTSPillarNetworkA,7446,7446,7446,1990-05-22,744.6000000001007,744.56525,2015-01-01 02:04:06,bin7446,35,False +CTSPillarNetworkA,7447,7447,7447,1990-05-23,744.7000000001008,744.6652,2015-01-01 02:04:07,bin7447,75,False +CTSPillarNetworkA,7448,7448,7448,1990-05-24,744.8000000001008,744.7652,2015-01-01 02:04:08,bin7448,35,False +CTSPillarNetworkA,7449,7449,7449,1990-05-25,744.9000000001008,744.8652,2015-01-01 02:04:09,bin7449,75,False +CTSPillarNetworkA,7450,7450,7450,1990-05-26,745.0000000001008,744.96515,2015-01-01 02:04:10,bin7450,35,False +CTSPillarNetworkA,7451,7451,7451,1990-05-27,745.1000000001009,745.0651,2015-01-01 02:04:11,bin7451,75,False +CTSPillarNetworkA,7452,7452,7452,1990-05-28,745.2000000001009,745.1651,2015-01-01 02:04:12,bin7452,35,False +CTSPillarNetworkA,7453,7453,7453,1990-05-29,745.3000000001009,745.2651,2015-01-01 02:04:13,bin7453,75,False +CTSPillarNetworkA,7454,7454,7454,1990-05-30,745.4000000001009,745.36505,2015-01-01 02:04:14,bin7454,35,False +CTSPillarNetworkA,7455,7455,7455,1990-05-31,745.500000000101,745.465,2015-01-01 02:04:15,bin7455,75,False +CTSPillarNetworkA,7456,7456,7456,1990-06-01,745.600000000101,745.565,2015-01-01 02:04:16,bin7456,35,False +CTSPillarNetworkA,7457,7457,7457,1990-06-02,745.700000000101,745.665,2015-01-01 02:04:17,bin7457,75,False +CTSPillarNetworkA,7458,7458,7458,1990-06-03,745.800000000101,745.76495,2015-01-01 02:04:18,bin7458,35,False +CTSPillarNetworkA,7459,7459,7459,1990-06-04,745.900000000101,745.8649,2015-01-01 02:04:19,bin7459,75,False +CTSPillarNetworkA,7460,7460,7460,1990-06-05,746.0000000001011,745.9649,2015-01-01 02:04:20,bin7460,35,False +CTSPillarNetworkA,7461,7461,7461,1990-06-06,746.1000000001011,746.0649,2015-01-01 02:04:21,bin7461,75,False +CTSPillarNetworkA,7462,7462,7462,1990-06-07,746.2000000001011,746.16486,2015-01-01 02:04:22,bin7462,35,False +CTSPillarNetworkA,7463,7463,7463,1990-06-08,746.3000000001011,746.26483,2015-01-01 02:04:23,bin7463,75,False +CTSPillarNetworkA,7464,7464,7464,1990-06-09,746.4000000001012,746.3648,2015-01-01 02:04:24,bin7464,35,False +CTSPillarNetworkA,7465,7465,7465,1990-06-10,746.5000000001012,746.4648,2015-01-01 02:04:25,bin7465,75,False +CTSPillarNetworkA,7466,7466,7466,1990-06-11,746.6000000001012,746.56476,2015-01-01 02:04:26,bin7466,35,False +CTSPillarNetworkA,7467,7467,7467,1990-06-12,746.7000000001012,746.66473,2015-01-01 02:04:27,bin7467,75,False +CTSPillarNetworkA,7468,7468,7468,1990-06-13,746.8000000001012,746.7647,2015-01-01 02:04:28,bin7468,35,False +CTSPillarNetworkA,7469,7469,7469,1990-06-14,746.9000000001013,746.8647,2015-01-01 02:04:29,bin7469,75,False +CTSPillarNetworkA,7470,7470,7470,1990-06-15,747.0000000001013,746.96466,2015-01-01 02:04:30,bin7470,35,False +CTSPillarNetworkA,7471,7471,7471,1990-06-16,747.1000000001013,747.06464,2015-01-01 02:04:31,bin7471,75,False +CTSPillarNetworkA,7472,7472,7472,1990-06-17,747.2000000001013,747.1646,2015-01-01 02:04:32,bin7472,35,False +CTSPillarNetworkA,7473,7473,7473,1990-06-18,747.3000000001014,747.2646,2015-01-01 02:04:33,bin7473,75,False +CTSPillarNetworkA,7474,7474,7474,1990-06-19,747.4000000001014,747.36456,2015-01-01 02:04:34,bin7474,35,False +CTSPillarNetworkA,7475,7475,7475,1990-06-20,747.5000000001014,747.46454,2015-01-01 02:04:35,bin7475,75,False +CTSPillarNetworkA,7476,7476,7476,1990-06-21,747.6000000001014,747.5645,2015-01-01 02:04:36,bin7476,35,False +CTSPillarNetworkA,7477,7477,7477,1990-06-22,747.7000000001015,747.6645,2015-01-01 02:04:37,bin7477,75,False +CTSPillarNetworkA,7478,7478,7478,1990-06-23,747.8000000001015,747.76447,2015-01-01 02:04:38,bin7478,35,False +CTSPillarNetworkA,7479,7479,7479,1990-06-24,747.9000000001015,747.86444,2015-01-01 02:04:39,bin7479,75,False +CTSPillarNetworkA,7480,7480,7480,1990-06-25,748.0000000001015,747.9644,2015-01-01 02:04:40,bin7480,35,False +CTSPillarNetworkA,7481,7481,7481,1990-06-26,748.1000000001015,748.0644,2015-01-01 02:04:41,bin7481,75,False +CTSPillarNetworkA,7482,7482,7482,1990-06-27,748.2000000001016,748.16437,2015-01-01 02:04:42,bin7482,35,False +CTSPillarNetworkA,7483,7483,7483,1990-06-28,748.3000000001016,748.26434,2015-01-01 02:04:43,bin7483,75,False +CTSPillarNetworkA,7484,7484,7484,1990-06-29,748.4000000001016,748.3643,2015-01-01 02:04:44,bin7484,35,False +CTSPillarNetworkA,7485,7485,7485,1990-06-30,748.5000000001016,748.4643,2015-01-01 02:04:45,bin7485,75,False +CTSPillarNetworkA,7486,7486,7486,1990-07-01,748.6000000001017,748.5643,2015-01-01 02:04:46,bin7486,35,False +CTSPillarNetworkA,7487,7487,7487,1990-07-02,748.7000000001017,748.66425,2015-01-01 02:04:47,bin7487,75,False +CTSPillarNetworkA,7488,7488,7488,1990-07-03,748.8000000001017,748.7642,2015-01-01 02:04:48,bin7488,35,False +CTSPillarNetworkA,7489,7489,7489,1990-07-04,748.9000000001017,748.8642,2015-01-01 02:04:49,bin7489,75,False +CTSPillarNetworkA,7490,7490,7490,1990-07-05,749.0000000001017,748.9642,2015-01-01 02:04:50,bin7490,35,False +CTSPillarNetworkA,7491,7491,7491,1990-07-06,749.1000000001018,749.06415,2015-01-01 02:04:51,bin7491,75,False +CTSPillarNetworkA,7492,7492,7492,1990-07-07,749.2000000001018,749.1641,2015-01-01 02:04:52,bin7492,35,False +CTSPillarNetworkA,7493,7493,7493,1990-07-08,749.3000000001018,749.2641,2015-01-01 02:04:53,bin7493,75,False +CTSPillarNetworkA,7494,7494,7494,1990-07-09,749.4000000001018,749.3641,2015-01-01 02:04:54,bin7494,35,False +CTSPillarNetworkA,7495,7495,7495,1990-07-10,749.5000000001019,749.46405,2015-01-01 02:04:55,bin7495,75,False +CTSPillarNetworkA,7496,7496,7496,1990-07-11,749.6000000001019,749.564,2015-01-01 02:04:56,bin7496,35,False +CTSPillarNetworkA,7497,7497,7497,1990-07-12,749.7000000001019,749.664,2015-01-01 02:04:57,bin7497,75,False +CTSPillarNetworkA,7498,7498,7498,1990-07-13,749.8000000001019,749.764,2015-01-01 02:04:58,bin7498,35,False +CTSPillarNetworkA,7499,7499,7499,1990-07-14,749.900000000102,749.86395,2015-01-01 02:04:59,bin7499,75,False +CTSPillarNetworkA,7500,7500,7500,1990-07-15,750.000000000102,749.9639,2015-01-01 02:05:00,bin7500,35,False +CTSPillarNetworkA,7501,7501,7501,1990-07-16,750.100000000102,750.0639,2015-01-01 02:05:01,bin7501,75,False +CTSPillarNetworkA,7502,7502,7502,1990-07-17,750.200000000102,750.1639,2015-01-01 02:05:02,bin7502,35,False +CTSPillarNetworkA,7503,7503,7503,1990-07-18,750.300000000102,750.26385,2015-01-01 02:05:03,bin7503,75,False +CTSPillarNetworkA,7504,7504,7504,1990-07-19,750.4000000001021,750.36383,2015-01-01 02:05:04,bin7504,35,False +CTSPillarNetworkA,7505,7505,7505,1990-07-20,750.5000000001021,750.4638,2015-01-01 02:05:05,bin7505,75,False +CTSPillarNetworkA,7506,7506,7506,1990-07-21,750.6000000001021,750.5638,2015-01-01 02:05:06,bin7506,35,False +CTSPillarNetworkA,7507,7507,7507,1990-07-22,750.7000000001021,750.66376,2015-01-01 02:05:07,bin7507,75,False +CTSPillarNetworkA,7508,7508,7508,1990-07-23,750.8000000001022,750.76373,2015-01-01 02:05:08,bin7508,35,False +CTSPillarNetworkA,7509,7509,7509,1990-07-24,750.9000000001022,750.8637,2015-01-01 02:05:09,bin7509,75,False +CTSPillarNetworkA,7510,7510,7510,1990-07-25,751.0000000001022,750.9637,2015-01-01 02:05:10,bin7510,35,False +CTSPillarNetworkA,7511,7511,7511,1990-07-26,751.1000000001022,751.06366,2015-01-01 02:05:11,bin7511,75,False +CTSPillarNetworkA,7512,7512,7512,1990-07-27,751.2000000001022,751.16364,2015-01-01 02:05:12,bin7512,35,False +CTSPillarNetworkA,7513,7513,7513,1990-07-28,751.3000000001023,751.2636,2015-01-01 02:05:13,bin7513,75,False +CTSPillarNetworkA,7514,7514,7514,1990-07-29,751.4000000001023,751.3636,2015-01-01 02:05:14,bin7514,35,False +CTSPillarNetworkA,7515,7515,7515,1990-07-30,751.5000000001023,751.46356,2015-01-01 02:05:15,bin7515,75,False +CTSPillarNetworkA,7516,7516,7516,1990-07-31,751.6000000001023,751.56354,2015-01-01 02:05:16,bin7516,35,False +CTSPillarNetworkA,7517,7517,7517,1990-08-01,751.7000000001024,751.6635,2015-01-01 02:05:17,bin7517,75,False +CTSPillarNetworkA,7518,7518,7518,1990-08-02,751.8000000001024,751.7635,2015-01-01 02:05:18,bin7518,35,False +CTSPillarNetworkA,7519,7519,7519,1990-08-03,751.9000000001024,751.86346,2015-01-01 02:05:19,bin7519,75,False +CTSPillarNetworkA,7520,7520,7520,1990-08-04,752.0000000001024,751.96344,2015-01-01 02:05:20,bin7520,35,False +CTSPillarNetworkA,7521,7521,7521,1990-08-05,752.1000000001025,752.0634,2015-01-01 02:05:21,bin7521,75,False +CTSPillarNetworkA,7522,7522,7522,1990-08-06,752.2000000001025,752.1634,2015-01-01 02:05:22,bin7522,35,False +CTSPillarNetworkA,7523,7523,7523,1990-08-07,752.3000000001025,752.26337,2015-01-01 02:05:23,bin7523,75,False +CTSPillarNetworkA,7524,7524,7524,1990-08-08,752.4000000001025,752.36334,2015-01-01 02:05:24,bin7524,35,False +CTSPillarNetworkA,7525,7525,7525,1990-08-09,752.5000000001025,752.4633,2015-01-01 02:05:25,bin7525,75,False +CTSPillarNetworkA,7526,7526,7526,1990-08-10,752.6000000001026,752.5633,2015-01-01 02:05:26,bin7526,35,False +CTSPillarNetworkA,7527,7527,7527,1990-08-11,752.7000000001026,752.66327,2015-01-01 02:05:27,bin7527,75,False +CTSPillarNetworkA,7528,7528,7528,1990-08-12,752.8000000001026,752.76324,2015-01-01 02:05:28,bin7528,35,False +CTSPillarNetworkA,7529,7529,7529,1990-08-13,752.9000000001026,752.8632,2015-01-01 02:05:29,bin7529,75,False +CTSPillarNetworkA,7530,7530,7530,1990-08-14,753.0000000001027,752.9632,2015-01-01 02:05:30,bin7530,35,False +CTSPillarNetworkA,7531,7531,7531,1990-08-15,753.1000000001027,753.0632,2015-01-01 02:05:31,bin7531,75,False +CTSPillarNetworkA,7532,7532,7532,1990-08-16,753.2000000001027,753.16315,2015-01-01 02:05:32,bin7532,35,False +CTSPillarNetworkA,7533,7533,7533,1990-08-17,753.3000000001027,753.2631,2015-01-01 02:05:33,bin7533,75,False +CTSPillarNetworkA,7534,7534,7534,1990-08-18,753.4000000001028,753.3631,2015-01-01 02:05:34,bin7534,35,False +CTSPillarNetworkA,7535,7535,7535,1990-08-19,753.5000000001028,753.4631,2015-01-01 02:05:35,bin7535,75,False +CTSPillarNetworkA,7536,7536,7536,1990-08-20,753.6000000001028,753.56305,2015-01-01 02:05:36,bin7536,35,False +CTSPillarNetworkA,7537,7537,7537,1990-08-21,753.7000000001028,753.663,2015-01-01 02:05:37,bin7537,75,False +CTSPillarNetworkA,7538,7538,7538,1990-08-22,753.8000000001028,753.763,2015-01-01 02:05:38,bin7538,35,False +CTSPillarNetworkA,7539,7539,7539,1990-08-23,753.9000000001029,753.863,2015-01-01 02:05:39,bin7539,75,False +CTSPillarNetworkA,7540,7540,7540,1990-08-24,754.0000000001029,753.96295,2015-01-01 02:05:40,bin7540,35,False +CTSPillarNetworkA,7541,7541,7541,1990-08-25,754.1000000001029,754.0629,2015-01-01 02:05:41,bin7541,75,False +CTSPillarNetworkA,7542,7542,7542,1990-08-26,754.2000000001029,754.1629,2015-01-01 02:05:42,bin7542,35,False +CTSPillarNetworkA,7543,7543,7543,1990-08-27,754.300000000103,754.2629,2015-01-01 02:05:43,bin7543,75,False +CTSPillarNetworkA,7544,7544,7544,1990-08-28,754.400000000103,754.36285,2015-01-01 02:05:44,bin7544,35,False +CTSPillarNetworkA,7545,7545,7545,1990-08-29,754.500000000103,754.4628,2015-01-01 02:05:45,bin7545,75,False +CTSPillarNetworkA,7546,7546,7546,1990-08-30,754.600000000103,754.5628,2015-01-01 02:05:46,bin7546,35,False +CTSPillarNetworkA,7547,7547,7547,1990-08-31,754.700000000103,754.6628,2015-01-01 02:05:47,bin7547,75,False +CTSPillarNetworkA,7548,7548,7548,1990-09-01,754.8000000001031,754.76276,2015-01-01 02:05:48,bin7548,35,False +CTSPillarNetworkA,7549,7549,7549,1990-09-02,754.9000000001031,754.86273,2015-01-01 02:05:49,bin7549,75,False +CTSPillarNetworkA,7550,7550,7550,1990-09-03,755.0000000001031,754.9627,2015-01-01 02:05:50,bin7550,35,False +CTSPillarNetworkA,7551,7551,7551,1990-09-04,755.1000000001031,755.0627,2015-01-01 02:05:51,bin7551,75,False +CTSPillarNetworkA,7552,7552,7552,1990-09-05,755.2000000001032,755.16266,2015-01-01 02:05:52,bin7552,35,False +CTSPillarNetworkA,7553,7553,7553,1990-09-06,755.3000000001032,755.26263,2015-01-01 02:05:53,bin7553,75,False +CTSPillarNetworkA,7554,7554,7554,1990-09-07,755.4000000001032,755.3626,2015-01-01 02:05:54,bin7554,35,False +CTSPillarNetworkA,7555,7555,7555,1990-09-08,755.5000000001032,755.4626,2015-01-01 02:05:55,bin7555,75,False +CTSPillarNetworkA,7556,7556,7556,1990-09-09,755.6000000001033,755.56256,2015-01-01 02:05:56,bin7556,35,False +CTSPillarNetworkA,7557,7557,7557,1990-09-10,755.7000000001033,755.66254,2015-01-01 02:05:57,bin7557,75,False +CTSPillarNetworkA,7558,7558,7558,1990-09-11,755.8000000001033,755.7625,2015-01-01 02:05:58,bin7558,35,False +CTSPillarNetworkA,7559,7559,7559,1990-09-12,755.9000000001033,755.8625,2015-01-01 02:05:59,bin7559,75,False +CTSPillarNetworkA,7560,7560,7560,1990-09-13,756.0000000001033,755.96246,2015-01-01 02:06:00,bin7560,35,False +CTSPillarNetworkA,7561,7561,7561,1990-09-14,756.1000000001034,756.06244,2015-01-01 02:06:01,bin7561,75,False +CTSPillarNetworkA,7562,7562,7562,1990-09-15,756.2000000001034,756.1624,2015-01-01 02:06:02,bin7562,35,False +CTSPillarNetworkA,7563,7563,7563,1990-09-16,756.3000000001034,756.2624,2015-01-01 02:06:03,bin7563,75,False +CTSPillarNetworkA,7564,7564,7564,1990-09-17,756.4000000001034,756.36237,2015-01-01 02:06:04,bin7564,35,False +CTSPillarNetworkA,7565,7565,7565,1990-09-18,756.5000000001035,756.46234,2015-01-01 02:06:05,bin7565,75,False +CTSPillarNetworkA,7566,7566,7566,1990-09-19,756.6000000001035,756.5623,2015-01-01 02:06:06,bin7566,35,False +CTSPillarNetworkA,7567,7567,7567,1990-09-20,756.7000000001035,756.6623,2015-01-01 02:06:07,bin7567,75,False +CTSPillarNetworkA,7568,7568,7568,1990-09-21,756.8000000001035,756.76227,2015-01-01 02:06:08,bin7568,35,False +CTSPillarNetworkA,7569,7569,7569,1990-09-22,756.9000000001035,756.86224,2015-01-01 02:06:09,bin7569,75,False +CTSPillarNetworkA,7570,7570,7570,1990-09-23,757.0000000001036,756.9622,2015-01-01 02:06:10,bin7570,35,False +CTSPillarNetworkA,7571,7571,7571,1990-09-24,757.1000000001036,757.0622,2015-01-01 02:06:11,bin7571,75,False +CTSPillarNetworkA,7572,7572,7572,1990-09-25,757.2000000001036,757.1622,2015-01-01 02:06:12,bin7572,35,False +CTSPillarNetworkA,7573,7573,7573,1990-09-26,757.3000000001036,757.26215,2015-01-01 02:06:13,bin7573,75,False +CTSPillarNetworkA,7574,7574,7574,1990-09-27,757.4000000001037,757.3621,2015-01-01 02:06:14,bin7574,35,False +CTSPillarNetworkA,7575,7575,7575,1990-09-28,757.5000000001037,757.4621,2015-01-01 02:06:15,bin7575,75,False +CTSPillarNetworkA,7576,7576,7576,1990-09-29,757.6000000001037,757.5621,2015-01-01 02:06:16,bin7576,35,False +CTSPillarNetworkA,7577,7577,7577,1990-09-30,757.7000000001037,757.66205,2015-01-01 02:06:17,bin7577,75,False +CTSPillarNetworkA,7578,7578,7578,1990-10-01,757.8000000001038,757.762,2015-01-01 02:06:18,bin7578,35,False +CTSPillarNetworkA,7579,7579,7579,1990-10-02,757.9000000001038,757.862,2015-01-01 02:06:19,bin7579,75,False +CTSPillarNetworkA,7580,7580,7580,1990-10-03,758.0000000001038,757.962,2015-01-01 02:06:20,bin7580,35,False +CTSPillarNetworkA,7581,7581,7581,1990-10-04,758.1000000001038,758.06195,2015-01-01 02:06:21,bin7581,75,False +CTSPillarNetworkA,7582,7582,7582,1990-10-05,758.2000000001038,758.1619,2015-01-01 02:06:22,bin7582,35,False +CTSPillarNetworkA,7583,7583,7583,1990-10-06,758.3000000001039,758.2619,2015-01-01 02:06:23,bin7583,75,False +CTSPillarNetworkA,7584,7584,7584,1990-10-07,758.4000000001039,758.3619,2015-01-01 02:06:24,bin7584,35,False +CTSPillarNetworkA,7585,7585,7585,1990-10-08,758.5000000001039,758.46185,2015-01-01 02:06:25,bin7585,75,False +CTSPillarNetworkA,7586,7586,7586,1990-10-09,758.6000000001039,758.5618,2015-01-01 02:06:26,bin7586,35,False +CTSPillarNetworkA,7587,7587,7587,1990-10-10,758.700000000104,758.6618,2015-01-01 02:06:27,bin7587,75,False +CTSPillarNetworkA,7588,7588,7588,1990-10-11,758.800000000104,758.7618,2015-01-01 02:06:28,bin7588,35,False +CTSPillarNetworkA,7589,7589,7589,1990-10-12,758.900000000104,758.86176,2015-01-01 02:06:29,bin7589,75,False +CTSPillarNetworkA,7590,7590,7590,1990-10-13,759.000000000104,758.96173,2015-01-01 02:06:30,bin7590,35,False +CTSPillarNetworkA,7591,7591,7591,1990-10-14,759.100000000104,759.0617,2015-01-01 02:06:31,bin7591,75,False +CTSPillarNetworkA,7592,7592,7592,1990-10-15,759.2000000001041,759.1617,2015-01-01 02:06:32,bin7592,35,False +CTSPillarNetworkA,7593,7593,7593,1990-10-16,759.3000000001041,759.26166,2015-01-01 02:06:33,bin7593,75,False +CTSPillarNetworkA,7594,7594,7594,1990-10-17,759.4000000001041,759.36163,2015-01-01 02:06:34,bin7594,35,False +CTSPillarNetworkA,7595,7595,7595,1990-10-18,759.5000000001041,759.4616,2015-01-01 02:06:35,bin7595,75,False +CTSPillarNetworkA,7596,7596,7596,1990-10-19,759.6000000001042,759.5616,2015-01-01 02:06:36,bin7596,35,False +CTSPillarNetworkA,7597,7597,7597,1990-10-20,759.7000000001042,759.66156,2015-01-01 02:06:37,bin7597,75,False +CTSPillarNetworkA,7598,7598,7598,1990-10-21,759.8000000001042,759.76154,2015-01-01 02:06:38,bin7598,35,False +CTSPillarNetworkA,7599,7599,7599,1990-10-22,759.9000000001042,759.8615,2015-01-01 02:06:39,bin7599,75,False +CTSPillarNetworkA,7600,7600,7600,1990-10-23,760.0000000001043,759.9615,2015-01-01 02:06:40,bin7600,35,False +CTSPillarNetworkA,7601,7601,7601,1990-10-24,760.1000000001043,760.06146,2015-01-01 02:06:41,bin7601,75,False +CTSPillarNetworkA,7602,7602,7602,1990-10-25,760.2000000001043,760.16144,2015-01-01 02:06:42,bin7602,35,False +CTSPillarNetworkA,7603,7603,7603,1990-10-26,760.3000000001043,760.2614,2015-01-01 02:06:43,bin7603,75,False +CTSPillarNetworkA,7604,7604,7604,1990-10-27,760.4000000001043,760.3614,2015-01-01 02:06:44,bin7604,35,False +CTSPillarNetworkA,7605,7605,7605,1990-10-28,760.5000000001044,760.46136,2015-01-01 02:06:45,bin7605,75,False +CTSPillarNetworkA,7606,7606,7606,1990-10-29,760.6000000001044,760.56134,2015-01-01 02:06:46,bin7606,35,False +CTSPillarNetworkA,7607,7607,7607,1990-10-30,760.7000000001044,760.6613,2015-01-01 02:06:47,bin7607,75,False +CTSPillarNetworkA,7608,7608,7608,1990-10-31,760.8000000001044,760.7613,2015-01-01 02:06:48,bin7608,35,False +CTSPillarNetworkA,7609,7609,7609,1990-11-01,760.9000000001045,760.86127,2015-01-01 02:06:49,bin7609,75,False +CTSPillarNetworkA,7610,7610,7610,1990-11-02,761.0000000001045,760.96124,2015-01-01 02:06:50,bin7610,35,False +CTSPillarNetworkA,7611,7611,7611,1990-11-03,761.1000000001045,761.0612,2015-01-01 02:06:51,bin7611,75,False +CTSPillarNetworkA,7612,7612,7612,1990-11-04,761.2000000001045,761.1612,2015-01-01 02:06:52,bin7612,35,False +CTSPillarNetworkA,7613,7613,7613,1990-11-05,761.3000000001045,761.26117,2015-01-01 02:06:53,bin7613,75,False +CTSPillarNetworkA,7614,7614,7614,1990-11-06,761.4000000001046,761.36115,2015-01-01 02:06:54,bin7614,35,False +CTSPillarNetworkA,7615,7615,7615,1990-11-07,761.5000000001046,761.4611,2015-01-01 02:06:55,bin7615,75,False +CTSPillarNetworkA,7616,7616,7616,1990-11-08,761.6000000001046,761.5611,2015-01-01 02:06:56,bin7616,35,False +CTSPillarNetworkA,7617,7617,7617,1990-11-09,761.7000000001046,761.6611,2015-01-01 02:06:57,bin7617,75,False +CTSPillarNetworkA,7618,7618,7618,1990-11-10,761.8000000001047,761.76105,2015-01-01 02:06:58,bin7618,35,False +CTSPillarNetworkA,7619,7619,7619,1990-11-11,761.9000000001047,761.861,2015-01-01 02:06:59,bin7619,75,False +CTSPillarNetworkA,7620,7620,7620,1990-11-12,762.0000000001047,761.961,2015-01-01 02:07:00,bin7620,35,False +CTSPillarNetworkA,7621,7621,7621,1990-11-13,762.1000000001047,762.061,2015-01-01 02:07:01,bin7621,75,False +CTSPillarNetworkA,7622,7622,7622,1990-11-14,762.2000000001048,762.16095,2015-01-01 02:07:02,bin7622,35,False +CTSPillarNetworkA,7623,7623,7623,1990-11-15,762.3000000001048,762.2609,2015-01-01 02:07:03,bin7623,75,False +CTSPillarNetworkA,7624,7624,7624,1990-11-16,762.4000000001048,762.3609,2015-01-01 02:07:04,bin7624,35,False +CTSPillarNetworkA,7625,7625,7625,1990-11-17,762.5000000001048,762.4609,2015-01-01 02:07:05,bin7625,75,False +CTSPillarNetworkA,7626,7626,7626,1990-11-18,762.6000000001048,762.56085,2015-01-01 02:07:06,bin7626,35,False +CTSPillarNetworkA,7627,7627,7627,1990-11-19,762.7000000001049,762.6608,2015-01-01 02:07:07,bin7627,75,False +CTSPillarNetworkA,7628,7628,7628,1990-11-20,762.8000000001049,762.7608,2015-01-01 02:07:08,bin7628,35,False +CTSPillarNetworkA,7629,7629,7629,1990-11-21,762.9000000001049,762.8608,2015-01-01 02:07:09,bin7629,75,False +CTSPillarNetworkA,7630,7630,7630,1990-11-22,763.0000000001049,762.96075,2015-01-01 02:07:10,bin7630,35,False +CTSPillarNetworkA,7631,7631,7631,1990-11-23,763.100000000105,763.0607,2015-01-01 02:07:11,bin7631,75,False +CTSPillarNetworkA,7632,7632,7632,1990-11-24,763.200000000105,763.1607,2015-01-01 02:07:12,bin7632,35,False +CTSPillarNetworkA,7633,7633,7633,1990-11-25,763.300000000105,763.2607,2015-01-01 02:07:13,bin7633,75,False +CTSPillarNetworkA,7634,7634,7634,1990-11-26,763.400000000105,763.36066,2015-01-01 02:07:14,bin7634,35,False +CTSPillarNetworkA,7635,7635,7635,1990-11-27,763.500000000105,763.46063,2015-01-01 02:07:15,bin7635,75,False +CTSPillarNetworkA,7636,7636,7636,1990-11-28,763.6000000001051,763.5606,2015-01-01 02:07:16,bin7636,35,False +CTSPillarNetworkA,7637,7637,7637,1990-11-29,763.7000000001051,763.6606,2015-01-01 02:07:17,bin7637,75,False +CTSPillarNetworkA,7638,7638,7638,1990-11-30,763.8000000001051,763.76056,2015-01-01 02:07:18,bin7638,35,False +CTSPillarNetworkA,7639,7639,7639,1990-12-01,763.9000000001051,763.86053,2015-01-01 02:07:19,bin7639,75,False +CTSPillarNetworkA,7640,7640,7640,1990-12-02,764.0000000001052,763.9605,2015-01-01 02:07:20,bin7640,35,False +CTSPillarNetworkA,7641,7641,7641,1990-12-03,764.1000000001052,764.0605,2015-01-01 02:07:21,bin7641,75,False +CTSPillarNetworkA,7642,7642,7642,1990-12-04,764.2000000001052,764.16046,2015-01-01 02:07:22,bin7642,35,False +CTSPillarNetworkA,7643,7643,7643,1990-12-05,764.3000000001052,764.26044,2015-01-01 02:07:23,bin7643,75,False +CTSPillarNetworkA,7644,7644,7644,1990-12-06,764.4000000001053,764.3604,2015-01-01 02:07:24,bin7644,35,False +CTSPillarNetworkA,7645,7645,7645,1990-12-07,764.5000000001053,764.4604,2015-01-01 02:07:25,bin7645,75,False +CTSPillarNetworkA,7646,7646,7646,1990-12-08,764.6000000001053,764.56036,2015-01-01 02:07:26,bin7646,35,False +CTSPillarNetworkA,7647,7647,7647,1990-12-09,764.7000000001053,764.66034,2015-01-01 02:07:27,bin7647,75,False +CTSPillarNetworkA,7648,7648,7648,1990-12-10,764.8000000001053,764.7603,2015-01-01 02:07:28,bin7648,35,False +CTSPillarNetworkA,7649,7649,7649,1990-12-11,764.9000000001054,764.8603,2015-01-01 02:07:29,bin7649,75,False +CTSPillarNetworkA,7650,7650,7650,1990-12-12,765.0000000001054,764.96027,2015-01-01 02:07:30,bin7650,35,False +CTSPillarNetworkA,7651,7651,7651,1990-12-13,765.1000000001054,765.06024,2015-01-01 02:07:31,bin7651,75,False +CTSPillarNetworkA,7652,7652,7652,1990-12-14,765.2000000001054,765.1602,2015-01-01 02:07:32,bin7652,35,False +CTSPillarNetworkA,7653,7653,7653,1990-12-15,765.3000000001055,765.2602,2015-01-01 02:07:33,bin7653,75,False +CTSPillarNetworkA,7654,7654,7654,1990-12-16,765.4000000001055,765.36017,2015-01-01 02:07:34,bin7654,35,False +CTSPillarNetworkA,7655,7655,7655,1990-12-17,765.5000000001055,765.46014,2015-01-01 02:07:35,bin7655,75,False +CTSPillarNetworkA,7656,7656,7656,1990-12-18,765.6000000001055,765.5601,2015-01-01 02:07:36,bin7656,35,False +CTSPillarNetworkA,7657,7657,7657,1990-12-19,765.7000000001055,765.6601,2015-01-01 02:07:37,bin7657,75,False +CTSPillarNetworkA,7658,7658,7658,1990-12-20,765.8000000001056,765.7601,2015-01-01 02:07:38,bin7658,35,False +CTSPillarNetworkA,7659,7659,7659,1990-12-21,765.9000000001056,765.86005,2015-01-01 02:07:39,bin7659,75,False +CTSPillarNetworkA,7660,7660,7660,1990-12-22,766.0000000001056,765.96,2015-01-01 02:07:40,bin7660,35,False +CTSPillarNetworkA,7661,7661,7661,1990-12-23,766.1000000001056,766.06,2015-01-01 02:07:41,bin7661,75,False +CTSPillarNetworkA,7662,7662,7662,1990-12-24,766.2000000001057,766.16,2015-01-01 02:07:42,bin7662,35,False +CTSPillarNetworkA,7663,7663,7663,1990-12-25,766.3000000001057,766.25995,2015-01-01 02:07:43,bin7663,75,False +CTSPillarNetworkA,7664,7664,7664,1990-12-26,766.4000000001057,766.3599,2015-01-01 02:07:44,bin7664,35,False +CTSPillarNetworkA,7665,7665,7665,1990-12-27,766.5000000001057,766.4599,2015-01-01 02:07:45,bin7665,75,False +CTSPillarNetworkA,7666,7666,7666,1990-12-28,766.6000000001058,766.5599,2015-01-01 02:07:46,bin7666,35,False +CTSPillarNetworkA,7667,7667,7667,1990-12-29,766.7000000001058,766.65985,2015-01-01 02:07:47,bin7667,75,False +CTSPillarNetworkA,7668,7668,7668,1990-12-30,766.8000000001058,766.7598,2015-01-01 02:07:48,bin7668,35,False +CTSPillarNetworkA,7669,7669,7669,1990-12-31,766.9000000001058,766.8598,2015-01-01 02:07:49,bin7669,75,False +CTSPillarNetworkA,7670,7670,7670,1991-01-01,767.0000000001058,766.9598,2015-01-01 02:07:50,bin7670,35,False +CTSPillarNetworkA,7671,7671,7671,1991-01-02,767.1000000001059,767.05975,2015-01-01 02:07:51,bin7671,75,False +CTSPillarNetworkA,7672,7672,7672,1991-01-03,767.2000000001059,767.1597,2015-01-01 02:07:52,bin7672,35,False +CTSPillarNetworkA,7673,7673,7673,1991-01-04,767.3000000001059,767.2597,2015-01-01 02:07:53,bin7673,75,False +CTSPillarNetworkA,7674,7674,7674,1991-01-05,767.4000000001059,767.3597,2015-01-01 02:07:54,bin7674,35,False +CTSPillarNetworkA,7675,7675,7675,1991-01-06,767.500000000106,767.45966,2015-01-01 02:07:55,bin7675,75,False +CTSPillarNetworkA,7676,7676,7676,1991-01-07,767.600000000106,767.55963,2015-01-01 02:07:56,bin7676,35,False +CTSPillarNetworkA,7677,7677,7677,1991-01-08,767.700000000106,767.6596,2015-01-01 02:07:57,bin7677,75,False +CTSPillarNetworkA,7678,7678,7678,1991-01-09,767.800000000106,767.7596,2015-01-01 02:07:58,bin7678,35,False +CTSPillarNetworkA,7679,7679,7679,1991-01-10,767.900000000106,767.85956,2015-01-01 02:07:59,bin7679,75,False +CTSPillarNetworkA,7680,7680,7680,1991-01-11,768.0000000001061,767.95953,2015-01-01 02:08:00,bin7680,35,False +CTSPillarNetworkA,7681,7681,7681,1991-01-12,768.1000000001061,768.0595,2015-01-01 02:08:01,bin7681,75,False +CTSPillarNetworkA,7682,7682,7682,1991-01-13,768.2000000001061,768.1595,2015-01-01 02:08:02,bin7682,35,False +CTSPillarNetworkA,7683,7683,7683,1991-01-14,768.3000000001061,768.25946,2015-01-01 02:08:03,bin7683,75,False +CTSPillarNetworkA,7684,7684,7684,1991-01-15,768.4000000001062,768.35944,2015-01-01 02:08:04,bin7684,35,False +CTSPillarNetworkA,7685,7685,7685,1991-01-16,768.5000000001062,768.4594,2015-01-01 02:08:05,bin7685,75,False +CTSPillarNetworkA,7686,7686,7686,1991-01-17,768.6000000001062,768.5594,2015-01-01 02:08:06,bin7686,35,False +CTSPillarNetworkA,7687,7687,7687,1991-01-18,768.7000000001062,768.65936,2015-01-01 02:08:07,bin7687,75,False +CTSPillarNetworkA,7688,7688,7688,1991-01-19,768.8000000001063,768.75934,2015-01-01 02:08:08,bin7688,35,False +CTSPillarNetworkA,7689,7689,7689,1991-01-20,768.9000000001063,768.8593,2015-01-01 02:08:09,bin7689,75,False +CTSPillarNetworkA,7690,7690,7690,1991-01-21,769.0000000001063,768.9593,2015-01-01 02:08:10,bin7690,35,False +CTSPillarNetworkA,7691,7691,7691,1991-01-22,769.1000000001063,769.05927,2015-01-01 02:08:11,bin7691,75,False +CTSPillarNetworkA,7692,7692,7692,1991-01-23,769.2000000001063,769.15924,2015-01-01 02:08:12,bin7692,35,False +CTSPillarNetworkA,7693,7693,7693,1991-01-24,769.3000000001064,769.2592,2015-01-01 02:08:13,bin7693,75,False +CTSPillarNetworkA,7694,7694,7694,1991-01-25,769.4000000001064,769.3592,2015-01-01 02:08:14,bin7694,35,False +CTSPillarNetworkA,7695,7695,7695,1991-01-26,769.5000000001064,769.45917,2015-01-01 02:08:15,bin7695,75,False +CTSPillarNetworkA,7696,7696,7696,1991-01-27,769.6000000001064,769.55914,2015-01-01 02:08:16,bin7696,35,False +CTSPillarNetworkA,7697,7697,7697,1991-01-28,769.7000000001065,769.6591,2015-01-01 02:08:17,bin7697,75,False +CTSPillarNetworkA,7698,7698,7698,1991-01-29,769.8000000001065,769.7591,2015-01-01 02:08:18,bin7698,35,False +CTSPillarNetworkA,7699,7699,7699,1991-01-30,769.9000000001065,769.8591,2015-01-01 02:08:19,bin7699,75,False +CTSPillarNetworkA,7700,7700,7700,1991-01-31,770.0000000001065,769.95905,2015-01-01 02:08:20,bin7700,35,False +CTSPillarNetworkA,7701,7701,7701,1991-02-01,770.1000000001065,770.059,2015-01-01 02:08:21,bin7701,75,False +CTSPillarNetworkA,7702,7702,7702,1991-02-02,770.2000000001066,770.159,2015-01-01 02:08:22,bin7702,35,False +CTSPillarNetworkA,7703,7703,7703,1991-02-03,770.3000000001066,770.259,2015-01-01 02:08:23,bin7703,75,False +CTSPillarNetworkA,7704,7704,7704,1991-02-04,770.4000000001066,770.35895,2015-01-01 02:08:24,bin7704,35,False +CTSPillarNetworkA,7705,7705,7705,1991-02-05,770.5000000001066,770.4589,2015-01-01 02:08:25,bin7705,75,False +CTSPillarNetworkA,7706,7706,7706,1991-02-06,770.6000000001067,770.5589,2015-01-01 02:08:26,bin7706,35,False +CTSPillarNetworkA,7707,7707,7707,1991-02-07,770.7000000001067,770.6589,2015-01-01 02:08:27,bin7707,75,False +CTSPillarNetworkA,7708,7708,7708,1991-02-08,770.8000000001067,770.75885,2015-01-01 02:08:28,bin7708,35,False +CTSPillarNetworkA,7709,7709,7709,1991-02-09,770.9000000001067,770.8588,2015-01-01 02:08:29,bin7709,75,False +CTSPillarNetworkA,7710,7710,7710,1991-02-10,771.0000000001068,770.9588,2015-01-01 02:08:30,bin7710,35,False +CTSPillarNetworkA,7711,7711,7711,1991-02-11,771.1000000001068,771.0588,2015-01-01 02:08:31,bin7711,75,False +CTSPillarNetworkA,7712,7712,7712,1991-02-12,771.2000000001068,771.15875,2015-01-01 02:08:32,bin7712,35,False +CTSPillarNetworkA,7713,7713,7713,1991-02-13,771.3000000001068,771.2587,2015-01-01 02:08:33,bin7713,75,False +CTSPillarNetworkA,7714,7714,7714,1991-02-14,771.4000000001068,771.3587,2015-01-01 02:08:34,bin7714,35,False +CTSPillarNetworkA,7715,7715,7715,1991-02-15,771.5000000001069,771.4587,2015-01-01 02:08:35,bin7715,75,False +CTSPillarNetworkA,7716,7716,7716,1991-02-16,771.6000000001069,771.55865,2015-01-01 02:08:36,bin7716,35,False +CTSPillarNetworkA,7717,7717,7717,1991-02-17,771.7000000001069,771.6586,2015-01-01 02:08:37,bin7717,75,False +CTSPillarNetworkA,7718,7718,7718,1991-02-18,771.8000000001069,771.7586,2015-01-01 02:08:38,bin7718,35,False +CTSPillarNetworkA,7719,7719,7719,1991-02-19,771.900000000107,771.8586,2015-01-01 02:08:39,bin7719,75,False +CTSPillarNetworkA,7720,7720,7720,1991-02-20,772.000000000107,771.95856,2015-01-01 02:08:40,bin7720,35,False +CTSPillarNetworkA,7721,7721,7721,1991-02-21,772.100000000107,772.05853,2015-01-01 02:08:41,bin7721,75,False +CTSPillarNetworkA,7722,7722,7722,1991-02-22,772.200000000107,772.1585,2015-01-01 02:08:42,bin7722,35,False +CTSPillarNetworkA,7723,7723,7723,1991-02-23,772.300000000107,772.2585,2015-01-01 02:08:43,bin7723,75,False +CTSPillarNetworkA,7724,7724,7724,1991-02-24,772.4000000001071,772.35846,2015-01-01 02:08:44,bin7724,35,False +CTSPillarNetworkA,7725,7725,7725,1991-02-25,772.5000000001071,772.45844,2015-01-01 02:08:45,bin7725,75,False +CTSPillarNetworkA,7726,7726,7726,1991-02-26,772.6000000001071,772.5584,2015-01-01 02:08:46,bin7726,35,False +CTSPillarNetworkA,7727,7727,7727,1991-02-27,772.7000000001071,772.6584,2015-01-01 02:08:47,bin7727,75,False +CTSPillarNetworkA,7728,7728,7728,1991-02-28,772.8000000001072,772.75836,2015-01-01 02:08:48,bin7728,35,False +CTSPillarNetworkA,7729,7729,7729,1991-03-01,772.9000000001072,772.85834,2015-01-01 02:08:49,bin7729,75,False +CTSPillarNetworkA,7730,7730,7730,1991-03-02,773.0000000001072,772.9583,2015-01-01 02:08:50,bin7730,35,False +CTSPillarNetworkA,7731,7731,7731,1991-03-03,773.1000000001072,773.0583,2015-01-01 02:08:51,bin7731,75,False +CTSPillarNetworkA,7732,7732,7732,1991-03-04,773.2000000001073,773.15826,2015-01-01 02:08:52,bin7732,35,False +CTSPillarNetworkA,7733,7733,7733,1991-03-05,773.3000000001073,773.25824,2015-01-01 02:08:53,bin7733,75,False +CTSPillarNetworkA,7734,7734,7734,1991-03-06,773.4000000001073,773.3582,2015-01-01 02:08:54,bin7734,35,False +CTSPillarNetworkA,7735,7735,7735,1991-03-07,773.5000000001073,773.4582,2015-01-01 02:08:55,bin7735,75,False +CTSPillarNetworkA,7736,7736,7736,1991-03-08,773.6000000001073,773.55817,2015-01-01 02:08:56,bin7736,35,False +CTSPillarNetworkA,7737,7737,7737,1991-03-09,773.7000000001074,773.65814,2015-01-01 02:08:57,bin7737,75,False +CTSPillarNetworkA,7738,7738,7738,1991-03-10,773.8000000001074,773.7581,2015-01-01 02:08:58,bin7738,35,False +CTSPillarNetworkA,7739,7739,7739,1991-03-11,773.9000000001074,773.8581,2015-01-01 02:08:59,bin7739,75,False +CTSPillarNetworkA,7740,7740,7740,1991-03-12,774.0000000001074,773.95807,2015-01-01 02:09:00,bin7740,35,False +CTSPillarNetworkA,7741,7741,7741,1991-03-13,774.1000000001075,774.05804,2015-01-01 02:09:01,bin7741,75,False +CTSPillarNetworkA,7742,7742,7742,1991-03-14,774.2000000001075,774.158,2015-01-01 02:09:02,bin7742,35,False +CTSPillarNetworkA,7743,7743,7743,1991-03-15,774.3000000001075,774.258,2015-01-01 02:09:03,bin7743,75,False +CTSPillarNetworkA,7744,7744,7744,1991-03-16,774.4000000001075,774.358,2015-01-01 02:09:04,bin7744,35,False +CTSPillarNetworkA,7745,7745,7745,1991-03-17,774.5000000001075,774.45795,2015-01-01 02:09:05,bin7745,75,False +CTSPillarNetworkA,7746,7746,7746,1991-03-18,774.6000000001076,774.5579,2015-01-01 02:09:06,bin7746,35,False +CTSPillarNetworkA,7747,7747,7747,1991-03-19,774.7000000001076,774.6579,2015-01-01 02:09:07,bin7747,75,False +CTSPillarNetworkA,7748,7748,7748,1991-03-20,774.8000000001076,774.7579,2015-01-01 02:09:08,bin7748,35,False +CTSPillarNetworkA,7749,7749,7749,1991-03-21,774.9000000001076,774.85785,2015-01-01 02:09:09,bin7749,75,False +CTSPillarNetworkA,7750,7750,7750,1991-03-22,775.0000000001077,774.9578,2015-01-01 02:09:10,bin7750,35,False +CTSPillarNetworkA,7751,7751,7751,1991-03-23,775.1000000001077,775.0578,2015-01-01 02:09:11,bin7751,75,False +CTSPillarNetworkA,7752,7752,7752,1991-03-24,775.2000000001077,775.1578,2015-01-01 02:09:12,bin7752,35,False +CTSPillarNetworkA,7753,7753,7753,1991-03-25,775.3000000001077,775.25775,2015-01-01 02:09:13,bin7753,75,False +CTSPillarNetworkA,7754,7754,7754,1991-03-26,775.4000000001078,775.3577,2015-01-01 02:09:14,bin7754,35,False +CTSPillarNetworkA,7755,7755,7755,1991-03-27,775.5000000001078,775.4577,2015-01-01 02:09:15,bin7755,75,False +CTSPillarNetworkA,7756,7756,7756,1991-03-28,775.6000000001078,775.5577,2015-01-01 02:09:16,bin7756,35,False +CTSPillarNetworkA,7757,7757,7757,1991-03-29,775.7000000001078,775.65765,2015-01-01 02:09:17,bin7757,75,False +CTSPillarNetworkA,7758,7758,7758,1991-03-30,775.8000000001078,775.7576,2015-01-01 02:09:18,bin7758,35,False +CTSPillarNetworkA,7759,7759,7759,1991-03-31,775.9000000001079,775.8576,2015-01-01 02:09:19,bin7759,75,False +CTSPillarNetworkA,7760,7760,7760,1991-04-01,776.0000000001079,775.9576,2015-01-01 02:09:20,bin7760,35,False +CTSPillarNetworkA,7761,7761,7761,1991-04-02,776.1000000001079,776.05756,2015-01-01 02:09:21,bin7761,75,False +CTSPillarNetworkA,7762,7762,7762,1991-04-03,776.2000000001079,776.15753,2015-01-01 02:09:22,bin7762,35,False +CTSPillarNetworkA,7763,7763,7763,1991-04-04,776.300000000108,776.2575,2015-01-01 02:09:23,bin7763,75,False +CTSPillarNetworkA,7764,7764,7764,1991-04-05,776.400000000108,776.3575,2015-01-01 02:09:24,bin7764,35,False +CTSPillarNetworkA,7765,7765,7765,1991-04-06,776.500000000108,776.45746,2015-01-01 02:09:25,bin7765,75,False +CTSPillarNetworkA,7766,7766,7766,1991-04-07,776.600000000108,776.55743,2015-01-01 02:09:26,bin7766,35,False +CTSPillarNetworkA,7767,7767,7767,1991-04-08,776.700000000108,776.6574,2015-01-01 02:09:27,bin7767,75,False +CTSPillarNetworkA,7768,7768,7768,1991-04-09,776.8000000001081,776.7574,2015-01-01 02:09:28,bin7768,35,False +CTSPillarNetworkA,7769,7769,7769,1991-04-10,776.9000000001081,776.85736,2015-01-01 02:09:29,bin7769,75,False +CTSPillarNetworkA,7770,7770,7770,1991-04-11,777.0000000001081,776.95734,2015-01-01 02:09:30,bin7770,35,False +CTSPillarNetworkA,7771,7771,7771,1991-04-12,777.1000000001081,777.0573,2015-01-01 02:09:31,bin7771,75,False +CTSPillarNetworkA,7772,7772,7772,1991-04-13,777.2000000001082,777.1573,2015-01-01 02:09:32,bin7772,35,False +CTSPillarNetworkA,7773,7773,7773,1991-04-14,777.3000000001082,777.25726,2015-01-01 02:09:33,bin7773,75,False +CTSPillarNetworkA,7774,7774,7774,1991-04-15,777.4000000001082,777.35724,2015-01-01 02:09:34,bin7774,35,False +CTSPillarNetworkA,7775,7775,7775,1991-04-16,777.5000000001082,777.4572,2015-01-01 02:09:35,bin7775,75,False +CTSPillarNetworkA,7776,7776,7776,1991-04-17,777.6000000001083,777.5572,2015-01-01 02:09:36,bin7776,35,False +CTSPillarNetworkA,7777,7777,7777,1991-04-18,777.7000000001083,777.65717,2015-01-01 02:09:37,bin7777,75,False +CTSPillarNetworkA,7778,7778,7778,1991-04-19,777.8000000001083,777.75714,2015-01-01 02:09:38,bin7778,35,False +CTSPillarNetworkA,7779,7779,7779,1991-04-20,777.9000000001083,777.8571,2015-01-01 02:09:39,bin7779,75,False +CTSPillarNetworkA,7780,7780,7780,1991-04-21,778.0000000001083,777.9571,2015-01-01 02:09:40,bin7780,35,False +CTSPillarNetworkA,7781,7781,7781,1991-04-22,778.1000000001084,778.05707,2015-01-01 02:09:41,bin7781,75,False +CTSPillarNetworkA,7782,7782,7782,1991-04-23,778.2000000001084,778.15704,2015-01-01 02:09:42,bin7782,35,False +CTSPillarNetworkA,7783,7783,7783,1991-04-24,778.3000000001084,778.257,2015-01-01 02:09:43,bin7783,75,False +CTSPillarNetworkA,7784,7784,7784,1991-04-25,778.4000000001084,778.357,2015-01-01 02:09:44,bin7784,35,False +CTSPillarNetworkA,7785,7785,7785,1991-04-26,778.5000000001085,778.457,2015-01-01 02:09:45,bin7785,75,False +CTSPillarNetworkA,7786,7786,7786,1991-04-27,778.6000000001085,778.55695,2015-01-01 02:09:46,bin7786,35,False +CTSPillarNetworkA,7787,7787,7787,1991-04-28,778.7000000001085,778.6569,2015-01-01 02:09:47,bin7787,75,False +CTSPillarNetworkA,7788,7788,7788,1991-04-29,778.8000000001085,778.7569,2015-01-01 02:09:48,bin7788,35,False +CTSPillarNetworkA,7789,7789,7789,1991-04-30,778.9000000001085,778.8569,2015-01-01 02:09:49,bin7789,75,False +CTSPillarNetworkA,7790,7790,7790,1991-05-01,779.0000000001086,778.95685,2015-01-01 02:09:50,bin7790,35,False +CTSPillarNetworkA,7791,7791,7791,1991-05-02,779.1000000001086,779.0568,2015-01-01 02:09:51,bin7791,75,False +CTSPillarNetworkA,7792,7792,7792,1991-05-03,779.2000000001086,779.1568,2015-01-01 02:09:52,bin7792,35,False +CTSPillarNetworkA,7793,7793,7793,1991-05-04,779.3000000001086,779.2568,2015-01-01 02:09:53,bin7793,75,False +CTSPillarNetworkA,7794,7794,7794,1991-05-05,779.4000000001087,779.35675,2015-01-01 02:09:54,bin7794,35,False +CTSPillarNetworkA,7795,7795,7795,1991-05-06,779.5000000001087,779.4567,2015-01-01 02:09:55,bin7795,75,False +CTSPillarNetworkA,7796,7796,7796,1991-05-07,779.6000000001087,779.5567,2015-01-01 02:09:56,bin7796,35,False +CTSPillarNetworkA,7797,7797,7797,1991-05-08,779.7000000001087,779.6567,2015-01-01 02:09:57,bin7797,75,False +CTSPillarNetworkA,7798,7798,7798,1991-05-09,779.8000000001088,779.75665,2015-01-01 02:09:58,bin7798,35,False +CTSPillarNetworkA,7799,7799,7799,1991-05-10,779.9000000001088,779.8566,2015-01-01 02:09:59,bin7799,75,False +CTSPillarNetworkA,7800,7800,7800,1991-05-11,780.0000000001088,779.9566,2015-01-01 02:10:00,bin7800,35,False +CTSPillarNetworkA,7801,7801,7801,1991-05-12,780.1000000001088,780.0566,2015-01-01 02:10:01,bin7801,75,False +CTSPillarNetworkA,7802,7802,7802,1991-05-13,780.2000000001088,780.15656,2015-01-01 02:10:02,bin7802,35,False +CTSPillarNetworkA,7803,7803,7803,1991-05-14,780.3000000001089,780.25653,2015-01-01 02:10:03,bin7803,75,False +CTSPillarNetworkA,7804,7804,7804,1991-05-15,780.4000000001089,780.3565,2015-01-01 02:10:04,bin7804,35,False +CTSPillarNetworkA,7805,7805,7805,1991-05-16,780.5000000001089,780.4565,2015-01-01 02:10:05,bin7805,75,False +CTSPillarNetworkA,7806,7806,7806,1991-05-17,780.6000000001089,780.55646,2015-01-01 02:10:06,bin7806,35,False +CTSPillarNetworkA,7807,7807,7807,1991-05-18,780.700000000109,780.65643,2015-01-01 02:10:07,bin7807,75,False +CTSPillarNetworkA,7808,7808,7808,1991-05-19,780.800000000109,780.7564,2015-01-01 02:10:08,bin7808,35,False +CTSPillarNetworkA,7809,7809,7809,1991-05-20,780.900000000109,780.8564,2015-01-01 02:10:09,bin7809,75,False +CTSPillarNetworkA,7810,7810,7810,1991-05-21,781.000000000109,780.95636,2015-01-01 02:10:10,bin7810,35,False +CTSPillarNetworkA,7811,7811,7811,1991-05-22,781.100000000109,781.05634,2015-01-01 02:10:11,bin7811,75,False +CTSPillarNetworkA,7812,7812,7812,1991-05-23,781.2000000001091,781.1563,2015-01-01 02:10:12,bin7812,35,False +CTSPillarNetworkA,7813,7813,7813,1991-05-24,781.3000000001091,781.2563,2015-01-01 02:10:13,bin7813,75,False +CTSPillarNetworkA,7814,7814,7814,1991-05-25,781.4000000001091,781.35626,2015-01-01 02:10:14,bin7814,35,False +CTSPillarNetworkA,7815,7815,7815,1991-05-26,781.5000000001091,781.45624,2015-01-01 02:10:15,bin7815,75,False +CTSPillarNetworkA,7816,7816,7816,1991-05-27,781.6000000001092,781.5562,2015-01-01 02:10:16,bin7816,35,False +CTSPillarNetworkA,7817,7817,7817,1991-05-28,781.7000000001092,781.6562,2015-01-01 02:10:17,bin7817,75,False +CTSPillarNetworkA,7818,7818,7818,1991-05-29,781.8000000001092,781.75616,2015-01-01 02:10:18,bin7818,35,False +CTSPillarNetworkA,7819,7819,7819,1991-05-30,781.9000000001092,781.85614,2015-01-01 02:10:19,bin7819,75,False +CTSPillarNetworkA,7820,7820,7820,1991-05-31,782.0000000001093,781.9561,2015-01-01 02:10:20,bin7820,35,False +CTSPillarNetworkA,7821,7821,7821,1991-06-01,782.1000000001093,782.0561,2015-01-01 02:10:21,bin7821,75,False +CTSPillarNetworkA,7822,7822,7822,1991-06-02,782.2000000001093,782.15607,2015-01-01 02:10:22,bin7822,35,False +CTSPillarNetworkA,7823,7823,7823,1991-06-03,782.3000000001093,782.25604,2015-01-01 02:10:23,bin7823,75,False +CTSPillarNetworkA,7824,7824,7824,1991-06-04,782.4000000001093,782.356,2015-01-01 02:10:24,bin7824,35,False +CTSPillarNetworkA,7825,7825,7825,1991-06-05,782.5000000001094,782.456,2015-01-01 02:10:25,bin7825,75,False +CTSPillarNetworkA,7826,7826,7826,1991-06-06,782.6000000001094,782.55597,2015-01-01 02:10:26,bin7826,35,False +CTSPillarNetworkA,7827,7827,7827,1991-06-07,782.7000000001094,782.65594,2015-01-01 02:10:27,bin7827,75,False +CTSPillarNetworkA,7828,7828,7828,1991-06-08,782.8000000001094,782.7559,2015-01-01 02:10:28,bin7828,35,False +CTSPillarNetworkA,7829,7829,7829,1991-06-09,782.9000000001095,782.8559,2015-01-01 02:10:29,bin7829,75,False +CTSPillarNetworkA,7830,7830,7830,1991-06-10,783.0000000001095,782.9559,2015-01-01 02:10:30,bin7830,35,False +CTSPillarNetworkA,7831,7831,7831,1991-06-11,783.1000000001095,783.05585,2015-01-01 02:10:31,bin7831,75,False +CTSPillarNetworkA,7832,7832,7832,1991-06-12,783.2000000001095,783.1558,2015-01-01 02:10:32,bin7832,35,False +CTSPillarNetworkA,7833,7833,7833,1991-06-13,783.3000000001095,783.2558,2015-01-01 02:10:33,bin7833,75,False +CTSPillarNetworkA,7834,7834,7834,1991-06-14,783.4000000001096,783.3558,2015-01-01 02:10:34,bin7834,35,False +CTSPillarNetworkA,7835,7835,7835,1991-06-15,783.5000000001096,783.45575,2015-01-01 02:10:35,bin7835,75,False +CTSPillarNetworkA,7836,7836,7836,1991-06-16,783.6000000001096,783.5557,2015-01-01 02:10:36,bin7836,35,False +CTSPillarNetworkA,7837,7837,7837,1991-06-17,783.7000000001096,783.6557,2015-01-01 02:10:37,bin7837,75,False +CTSPillarNetworkA,7838,7838,7838,1991-06-18,783.8000000001097,783.7557,2015-01-01 02:10:38,bin7838,35,False +CTSPillarNetworkA,7839,7839,7839,1991-06-19,783.9000000001097,783.85565,2015-01-01 02:10:39,bin7839,75,False +CTSPillarNetworkA,7840,7840,7840,1991-06-20,784.0000000001097,783.9556,2015-01-01 02:10:40,bin7840,35,False +CTSPillarNetworkA,7841,7841,7841,1991-06-21,784.1000000001097,784.0556,2015-01-01 02:10:41,bin7841,75,False +CTSPillarNetworkA,7842,7842,7842,1991-06-22,784.2000000001098,784.1556,2015-01-01 02:10:42,bin7842,35,False +CTSPillarNetworkA,7843,7843,7843,1991-06-23,784.3000000001098,784.25555,2015-01-01 02:10:43,bin7843,75,False +CTSPillarNetworkA,7844,7844,7844,1991-06-24,784.4000000001098,784.3555,2015-01-01 02:10:44,bin7844,35,False +CTSPillarNetworkA,7845,7845,7845,1991-06-25,784.5000000001098,784.4555,2015-01-01 02:10:45,bin7845,75,False +CTSPillarNetworkA,7846,7846,7846,1991-06-26,784.6000000001098,784.5555,2015-01-01 02:10:46,bin7846,35,False +CTSPillarNetworkA,7847,7847,7847,1991-06-27,784.7000000001099,784.65546,2015-01-01 02:10:47,bin7847,75,False +CTSPillarNetworkA,7848,7848,7848,1991-06-28,784.8000000001099,784.75543,2015-01-01 02:10:48,bin7848,35,False +CTSPillarNetworkA,7849,7849,7849,1991-06-29,784.9000000001099,784.8554,2015-01-01 02:10:49,bin7849,75,False +CTSPillarNetworkA,7850,7850,7850,1991-06-30,785.0000000001099,784.9554,2015-01-01 02:10:50,bin7850,35,False +CTSPillarNetworkA,7851,7851,7851,1991-07-01,785.10000000011,785.05536,2015-01-01 02:10:51,bin7851,75,False +CTSPillarNetworkA,7852,7852,7852,1991-07-02,785.20000000011,785.15533,2015-01-01 02:10:52,bin7852,35,False +CTSPillarNetworkA,7853,7853,7853,1991-07-03,785.30000000011,785.2553,2015-01-01 02:10:53,bin7853,75,False +CTSPillarNetworkA,7854,7854,7854,1991-07-04,785.40000000011,785.3553,2015-01-01 02:10:54,bin7854,35,False +CTSPillarNetworkA,7855,7855,7855,1991-07-05,785.50000000011,785.45526,2015-01-01 02:10:55,bin7855,75,False +CTSPillarNetworkA,7856,7856,7856,1991-07-06,785.6000000001101,785.55524,2015-01-01 02:10:56,bin7856,35,False +CTSPillarNetworkA,7857,7857,7857,1991-07-07,785.7000000001101,785.6552,2015-01-01 02:10:57,bin7857,75,False +CTSPillarNetworkA,7858,7858,7858,1991-07-08,785.8000000001101,785.7552,2015-01-01 02:10:58,bin7858,35,False +CTSPillarNetworkA,7859,7859,7859,1991-07-09,785.9000000001101,785.85516,2015-01-01 02:10:59,bin7859,75,False +CTSPillarNetworkA,7860,7860,7860,1991-07-10,786.0000000001102,785.95514,2015-01-01 02:11:00,bin7860,35,False +CTSPillarNetworkA,7861,7861,7861,1991-07-11,786.1000000001102,786.0551,2015-01-01 02:11:01,bin7861,75,False +CTSPillarNetworkA,7862,7862,7862,1991-07-12,786.2000000001102,786.1551,2015-01-01 02:11:02,bin7862,35,False +CTSPillarNetworkA,7863,7863,7863,1991-07-13,786.3000000001102,786.25507,2015-01-01 02:11:03,bin7863,75,False +CTSPillarNetworkA,7864,7864,7864,1991-07-14,786.4000000001103,786.35504,2015-01-01 02:11:04,bin7864,35,False +CTSPillarNetworkA,7865,7865,7865,1991-07-15,786.5000000001103,786.455,2015-01-01 02:11:05,bin7865,75,False +CTSPillarNetworkA,7866,7866,7866,1991-07-16,786.6000000001103,786.555,2015-01-01 02:11:06,bin7866,35,False +CTSPillarNetworkA,7867,7867,7867,1991-07-17,786.7000000001103,786.65497,2015-01-01 02:11:07,bin7867,75,False +CTSPillarNetworkA,7868,7868,7868,1991-07-18,786.8000000001103,786.75494,2015-01-01 02:11:08,bin7868,35,False +CTSPillarNetworkA,7869,7869,7869,1991-07-19,786.9000000001104,786.8549,2015-01-01 02:11:09,bin7869,75,False +CTSPillarNetworkA,7870,7870,7870,1991-07-20,787.0000000001104,786.9549,2015-01-01 02:11:10,bin7870,35,False +CTSPillarNetworkA,7871,7871,7871,1991-07-21,787.1000000001104,787.0549,2015-01-01 02:11:11,bin7871,75,False +CTSPillarNetworkA,7872,7872,7872,1991-07-22,787.2000000001104,787.15485,2015-01-01 02:11:12,bin7872,35,False +CTSPillarNetworkA,7873,7873,7873,1991-07-23,787.3000000001105,787.2548,2015-01-01 02:11:13,bin7873,75,False +CTSPillarNetworkA,7874,7874,7874,1991-07-24,787.4000000001105,787.3548,2015-01-01 02:11:14,bin7874,35,False +CTSPillarNetworkA,7875,7875,7875,1991-07-25,787.5000000001105,787.4548,2015-01-01 02:11:15,bin7875,75,False +CTSPillarNetworkA,7876,7876,7876,1991-07-26,787.6000000001105,787.55475,2015-01-01 02:11:16,bin7876,35,False +CTSPillarNetworkA,7877,7877,7877,1991-07-27,787.7000000001105,787.6547,2015-01-01 02:11:17,bin7877,75,False +CTSPillarNetworkA,7878,7878,7878,1991-07-28,787.8000000001106,787.7547,2015-01-01 02:11:18,bin7878,35,False +CTSPillarNetworkA,7879,7879,7879,1991-07-29,787.9000000001106,787.8547,2015-01-01 02:11:19,bin7879,75,False +CTSPillarNetworkA,7880,7880,7880,1991-07-30,788.0000000001106,787.95465,2015-01-01 02:11:20,bin7880,35,False +CTSPillarNetworkA,7881,7881,7881,1991-07-31,788.1000000001106,788.0546,2015-01-01 02:11:21,bin7881,75,False +CTSPillarNetworkA,7882,7882,7882,1991-08-01,788.2000000001107,788.1546,2015-01-01 02:11:22,bin7882,35,False +CTSPillarNetworkA,7883,7883,7883,1991-08-02,788.3000000001107,788.2546,2015-01-01 02:11:23,bin7883,75,False +CTSPillarNetworkA,7884,7884,7884,1991-08-03,788.4000000001107,788.35455,2015-01-01 02:11:24,bin7884,35,False +CTSPillarNetworkA,7885,7885,7885,1991-08-04,788.5000000001107,788.4545,2015-01-01 02:11:25,bin7885,75,False +CTSPillarNetworkA,7886,7886,7886,1991-08-05,788.6000000001108,788.5545,2015-01-01 02:11:26,bin7886,35,False +CTSPillarNetworkA,7887,7887,7887,1991-08-06,788.7000000001108,788.6545,2015-01-01 02:11:27,bin7887,75,False +CTSPillarNetworkA,7888,7888,7888,1991-08-07,788.8000000001108,788.75446,2015-01-01 02:11:28,bin7888,35,False +CTSPillarNetworkA,7889,7889,7889,1991-08-08,788.9000000001108,788.85443,2015-01-01 02:11:29,bin7889,75,False +CTSPillarNetworkA,7890,7890,7890,1991-08-09,789.0000000001108,788.9544,2015-01-01 02:11:30,bin7890,35,False +CTSPillarNetworkA,7891,7891,7891,1991-08-10,789.1000000001109,789.0544,2015-01-01 02:11:31,bin7891,75,False +CTSPillarNetworkA,7892,7892,7892,1991-08-11,789.2000000001109,789.15436,2015-01-01 02:11:32,bin7892,35,False +CTSPillarNetworkA,7893,7893,7893,1991-08-12,789.3000000001109,789.25433,2015-01-01 02:11:33,bin7893,75,False +CTSPillarNetworkA,7894,7894,7894,1991-08-13,789.4000000001109,789.3543,2015-01-01 02:11:34,bin7894,35,False +CTSPillarNetworkA,7895,7895,7895,1991-08-14,789.500000000111,789.4543,2015-01-01 02:11:35,bin7895,75,False +CTSPillarNetworkA,7896,7896,7896,1991-08-15,789.600000000111,789.55426,2015-01-01 02:11:36,bin7896,35,False +CTSPillarNetworkA,7897,7897,7897,1991-08-16,789.700000000111,789.65424,2015-01-01 02:11:37,bin7897,75,False +CTSPillarNetworkA,7898,7898,7898,1991-08-17,789.800000000111,789.7542,2015-01-01 02:11:38,bin7898,35,False +CTSPillarNetworkA,7899,7899,7899,1991-08-18,789.900000000111,789.8542,2015-01-01 02:11:39,bin7899,75,False +CTSPillarNetworkA,7900,7900,7900,1991-08-19,790.0000000001111,789.95416,2015-01-01 02:11:40,bin7900,35,False +CTSPillarNetworkA,7901,7901,7901,1991-08-20,790.1000000001111,790.05414,2015-01-01 02:11:41,bin7901,75,False +CTSPillarNetworkA,7902,7902,7902,1991-08-21,790.2000000001111,790.1541,2015-01-01 02:11:42,bin7902,35,False +CTSPillarNetworkA,7903,7903,7903,1991-08-22,790.3000000001111,790.2541,2015-01-01 02:11:43,bin7903,75,False +CTSPillarNetworkA,7904,7904,7904,1991-08-23,790.4000000001112,790.35406,2015-01-01 02:11:44,bin7904,35,False +CTSPillarNetworkA,7905,7905,7905,1991-08-24,790.5000000001112,790.45404,2015-01-01 02:11:45,bin7905,75,False +CTSPillarNetworkA,7906,7906,7906,1991-08-25,790.6000000001112,790.554,2015-01-01 02:11:46,bin7906,35,False +CTSPillarNetworkA,7907,7907,7907,1991-08-26,790.7000000001112,790.654,2015-01-01 02:11:47,bin7907,75,False +CTSPillarNetworkA,7908,7908,7908,1991-08-27,790.8000000001113,790.75397,2015-01-01 02:11:48,bin7908,35,False +CTSPillarNetworkA,7909,7909,7909,1991-08-28,790.9000000001113,790.85394,2015-01-01 02:11:49,bin7909,75,False +CTSPillarNetworkA,7910,7910,7910,1991-08-29,791.0000000001113,790.9539,2015-01-01 02:11:50,bin7910,35,False +CTSPillarNetworkA,7911,7911,7911,1991-08-30,791.1000000001113,791.0539,2015-01-01 02:11:51,bin7911,75,False +CTSPillarNetworkA,7912,7912,7912,1991-08-31,791.2000000001113,791.1539,2015-01-01 02:11:52,bin7912,35,False +CTSPillarNetworkA,7913,7913,7913,1991-09-01,791.3000000001114,791.25385,2015-01-01 02:11:53,bin7913,75,False +CTSPillarNetworkA,7914,7914,7914,1991-09-02,791.4000000001114,791.3538,2015-01-01 02:11:54,bin7914,35,False +CTSPillarNetworkA,7915,7915,7915,1991-09-03,791.5000000001114,791.4538,2015-01-01 02:11:55,bin7915,75,False +CTSPillarNetworkA,7916,7916,7916,1991-09-04,791.6000000001114,791.5538,2015-01-01 02:11:56,bin7916,35,False +CTSPillarNetworkA,7917,7917,7917,1991-09-05,791.7000000001115,791.65375,2015-01-01 02:11:57,bin7917,75,False +CTSPillarNetworkA,7918,7918,7918,1991-09-06,791.8000000001115,791.7537,2015-01-01 02:11:58,bin7918,35,False +CTSPillarNetworkA,7919,7919,7919,1991-09-07,791.9000000001115,791.8537,2015-01-01 02:11:59,bin7919,75,False +CTSPillarNetworkA,7920,7920,7920,1991-09-08,792.0000000001115,791.9537,2015-01-01 02:12:00,bin7920,35,False +CTSPillarNetworkA,7921,7921,7921,1991-09-09,792.1000000001115,792.05365,2015-01-01 02:12:01,bin7921,75,False +CTSPillarNetworkA,7922,7922,7922,1991-09-10,792.2000000001116,792.1536,2015-01-01 02:12:02,bin7922,35,False +CTSPillarNetworkA,7923,7923,7923,1991-09-11,792.3000000001116,792.2536,2015-01-01 02:12:03,bin7923,75,False +CTSPillarNetworkA,7924,7924,7924,1991-09-12,792.4000000001116,792.3536,2015-01-01 02:12:04,bin7924,35,False +CTSPillarNetworkA,7925,7925,7925,1991-09-13,792.5000000001116,792.45355,2015-01-01 02:12:05,bin7925,75,False +CTSPillarNetworkA,7926,7926,7926,1991-09-14,792.6000000001117,792.5535,2015-01-01 02:12:06,bin7926,35,False +CTSPillarNetworkA,7927,7927,7927,1991-09-15,792.7000000001117,792.6535,2015-01-01 02:12:07,bin7927,75,False +CTSPillarNetworkA,7928,7928,7928,1991-09-16,792.8000000001117,792.7535,2015-01-01 02:12:08,bin7928,35,False +CTSPillarNetworkA,7929,7929,7929,1991-09-17,792.9000000001117,792.85345,2015-01-01 02:12:09,bin7929,75,False +CTSPillarNetworkA,7930,7930,7930,1991-09-18,793.0000000001118,792.9534,2015-01-01 02:12:10,bin7930,35,False +CTSPillarNetworkA,7931,7931,7931,1991-09-19,793.1000000001118,793.0534,2015-01-01 02:12:11,bin7931,75,False +CTSPillarNetworkA,7932,7932,7932,1991-09-20,793.2000000001118,793.1534,2015-01-01 02:12:12,bin7932,35,False +CTSPillarNetworkA,7933,7933,7933,1991-09-21,793.3000000001118,793.25336,2015-01-01 02:12:13,bin7933,75,False +CTSPillarNetworkA,7934,7934,7934,1991-09-22,793.4000000001118,793.35333,2015-01-01 02:12:14,bin7934,35,False +CTSPillarNetworkA,7935,7935,7935,1991-09-23,793.5000000001119,793.4533,2015-01-01 02:12:15,bin7935,75,False +CTSPillarNetworkA,7936,7936,7936,1991-09-24,793.6000000001119,793.5533,2015-01-01 02:12:16,bin7936,35,False +CTSPillarNetworkA,7937,7937,7937,1991-09-25,793.7000000001119,793.65326,2015-01-01 02:12:17,bin7937,75,False +CTSPillarNetworkA,7938,7938,7938,1991-09-26,793.8000000001119,793.75323,2015-01-01 02:12:18,bin7938,35,False +CTSPillarNetworkA,7939,7939,7939,1991-09-27,793.900000000112,793.8532,2015-01-01 02:12:19,bin7939,75,False +CTSPillarNetworkA,7940,7940,7940,1991-09-28,794.000000000112,793.9532,2015-01-01 02:12:20,bin7940,35,False +CTSPillarNetworkA,7941,7941,7941,1991-09-29,794.100000000112,794.05316,2015-01-01 02:12:21,bin7941,75,False +CTSPillarNetworkA,7942,7942,7942,1991-09-30,794.200000000112,794.15314,2015-01-01 02:12:22,bin7942,35,False +CTSPillarNetworkA,7943,7943,7943,1991-10-01,794.300000000112,794.2531,2015-01-01 02:12:23,bin7943,75,False +CTSPillarNetworkA,7944,7944,7944,1991-10-02,794.4000000001121,794.3531,2015-01-01 02:12:24,bin7944,35,False +CTSPillarNetworkA,7945,7945,7945,1991-10-03,794.5000000001121,794.45306,2015-01-01 02:12:25,bin7945,75,False +CTSPillarNetworkA,7946,7946,7946,1991-10-04,794.6000000001121,794.55304,2015-01-01 02:12:26,bin7946,35,False +CTSPillarNetworkA,7947,7947,7947,1991-10-05,794.7000000001121,794.653,2015-01-01 02:12:27,bin7947,75,False +CTSPillarNetworkA,7948,7948,7948,1991-10-06,794.8000000001122,794.753,2015-01-01 02:12:28,bin7948,35,False +CTSPillarNetworkA,7949,7949,7949,1991-10-07,794.9000000001122,794.85297,2015-01-01 02:12:29,bin7949,75,False +CTSPillarNetworkA,7950,7950,7950,1991-10-08,795.0000000001122,794.95294,2015-01-01 02:12:30,bin7950,35,False +CTSPillarNetworkA,7951,7951,7951,1991-10-09,795.1000000001122,795.0529,2015-01-01 02:12:31,bin7951,75,False +CTSPillarNetworkA,7952,7952,7952,1991-10-10,795.2000000001123,795.1529,2015-01-01 02:12:32,bin7952,35,False +CTSPillarNetworkA,7953,7953,7953,1991-10-11,795.3000000001123,795.25287,2015-01-01 02:12:33,bin7953,75,False +CTSPillarNetworkA,7954,7954,7954,1991-10-12,795.4000000001123,795.35284,2015-01-01 02:12:34,bin7954,35,False +CTSPillarNetworkA,7955,7955,7955,1991-10-13,795.5000000001123,795.4528,2015-01-01 02:12:35,bin7955,75,False +CTSPillarNetworkA,7956,7956,7956,1991-10-14,795.6000000001123,795.5528,2015-01-01 02:12:36,bin7956,35,False +CTSPillarNetworkA,7957,7957,7957,1991-10-15,795.7000000001124,795.6528,2015-01-01 02:12:37,bin7957,75,False +CTSPillarNetworkA,7958,7958,7958,1991-10-16,795.8000000001124,795.75275,2015-01-01 02:12:38,bin7958,35,False +CTSPillarNetworkA,7959,7959,7959,1991-10-17,795.9000000001124,795.8527,2015-01-01 02:12:39,bin7959,75,False +CTSPillarNetworkA,7960,7960,7960,1991-10-18,796.0000000001124,795.9527,2015-01-01 02:12:40,bin7960,35,False +CTSPillarNetworkA,7961,7961,7961,1991-10-19,796.1000000001125,796.0527,2015-01-01 02:12:41,bin7961,75,False +CTSPillarNetworkA,7962,7962,7962,1991-10-20,796.2000000001125,796.15265,2015-01-01 02:12:42,bin7962,35,False +CTSPillarNetworkA,7963,7963,7963,1991-10-21,796.3000000001125,796.2526,2015-01-01 02:12:43,bin7963,75,False +CTSPillarNetworkA,7964,7964,7964,1991-10-22,796.4000000001125,796.3526,2015-01-01 02:12:44,bin7964,35,False +CTSPillarNetworkA,7965,7965,7965,1991-10-23,796.5000000001125,796.4526,2015-01-01 02:12:45,bin7965,75,False +CTSPillarNetworkA,7966,7966,7966,1991-10-24,796.6000000001126,796.55255,2015-01-01 02:12:46,bin7966,35,False +CTSPillarNetworkA,7967,7967,7967,1991-10-25,796.7000000001126,796.6525,2015-01-01 02:12:47,bin7967,75,False +CTSPillarNetworkA,7968,7968,7968,1991-10-26,796.8000000001126,796.7525,2015-01-01 02:12:48,bin7968,35,False +CTSPillarNetworkA,7969,7969,7969,1991-10-27,796.9000000001126,796.8525,2015-01-01 02:12:49,bin7969,75,False +CTSPillarNetworkA,7970,7970,7970,1991-10-28,797.0000000001127,796.95245,2015-01-01 02:12:50,bin7970,35,False +CTSPillarNetworkA,7971,7971,7971,1991-10-29,797.1000000001127,797.0524,2015-01-01 02:12:51,bin7971,75,False +CTSPillarNetworkA,7972,7972,7972,1991-10-30,797.2000000001127,797.1524,2015-01-01 02:12:52,bin7972,35,False +CTSPillarNetworkA,7973,7973,7973,1991-10-31,797.3000000001127,797.2524,2015-01-01 02:12:53,bin7973,75,False +CTSPillarNetworkA,7974,7974,7974,1991-11-01,797.4000000001128,797.35236,2015-01-01 02:12:54,bin7974,35,False +CTSPillarNetworkA,7975,7975,7975,1991-11-02,797.5000000001128,797.45233,2015-01-01 02:12:55,bin7975,75,False +CTSPillarNetworkA,7976,7976,7976,1991-11-03,797.6000000001128,797.5523,2015-01-01 02:12:56,bin7976,35,False +CTSPillarNetworkA,7977,7977,7977,1991-11-04,797.7000000001128,797.6523,2015-01-01 02:12:57,bin7977,75,False +CTSPillarNetworkA,7978,7978,7978,1991-11-05,797.8000000001128,797.75226,2015-01-01 02:12:58,bin7978,35,False +CTSPillarNetworkA,7979,7979,7979,1991-11-06,797.9000000001129,797.85223,2015-01-01 02:12:59,bin7979,75,False +CTSPillarNetworkA,7980,7980,7980,1991-11-07,798.0000000001129,797.9522,2015-01-01 02:13:00,bin7980,35,False +CTSPillarNetworkA,7981,7981,7981,1991-11-08,798.1000000001129,798.0522,2015-01-01 02:13:01,bin7981,75,False +CTSPillarNetworkA,7982,7982,7982,1991-11-09,798.2000000001129,798.15216,2015-01-01 02:13:02,bin7982,35,False +CTSPillarNetworkA,7983,7983,7983,1991-11-10,798.300000000113,798.25214,2015-01-01 02:13:03,bin7983,75,False +CTSPillarNetworkA,7984,7984,7984,1991-11-11,798.400000000113,798.3521,2015-01-01 02:13:04,bin7984,35,False +CTSPillarNetworkA,7985,7985,7985,1991-11-12,798.500000000113,798.4521,2015-01-01 02:13:05,bin7985,75,False +CTSPillarNetworkA,7986,7986,7986,1991-11-13,798.600000000113,798.55206,2015-01-01 02:13:06,bin7986,35,False +CTSPillarNetworkA,7987,7987,7987,1991-11-14,798.700000000113,798.65204,2015-01-01 02:13:07,bin7987,75,False +CTSPillarNetworkA,7988,7988,7988,1991-11-15,798.8000000001131,798.752,2015-01-01 02:13:08,bin7988,35,False +CTSPillarNetworkA,7989,7989,7989,1991-11-16,798.9000000001131,798.852,2015-01-01 02:13:09,bin7989,75,False +CTSPillarNetworkA,7990,7990,7990,1991-11-17,799.0000000001131,798.95197,2015-01-01 02:13:10,bin7990,35,False +CTSPillarNetworkA,7991,7991,7991,1991-11-18,799.1000000001131,799.05194,2015-01-01 02:13:11,bin7991,75,False +CTSPillarNetworkA,7992,7992,7992,1991-11-19,799.2000000001132,799.1519,2015-01-01 02:13:12,bin7992,35,False +CTSPillarNetworkA,7993,7993,7993,1991-11-20,799.3000000001132,799.2519,2015-01-01 02:13:13,bin7993,75,False +CTSPillarNetworkA,7994,7994,7994,1991-11-21,799.4000000001132,799.35187,2015-01-01 02:13:14,bin7994,35,False +CTSPillarNetworkA,7995,7995,7995,1991-11-22,799.5000000001132,799.45184,2015-01-01 02:13:15,bin7995,75,False +CTSPillarNetworkA,7996,7996,7996,1991-11-23,799.6000000001133,799.5518,2015-01-01 02:13:16,bin7996,35,False +CTSPillarNetworkA,7997,7997,7997,1991-11-24,799.7000000001133,799.6518,2015-01-01 02:13:17,bin7997,75,False +CTSPillarNetworkA,7998,7998,7998,1991-11-25,799.8000000001133,799.7518,2015-01-01 02:13:18,bin7998,35,False +CTSPillarNetworkA,7999,7999,7999,1991-11-26,799.9000000001133,799.85175,2015-01-01 02:13:19,bin7999,75,False +CTSPillarNetworkA,8000,8000,8000,1991-11-27,800.0000000001133,799.9517,2015-01-01 02:13:20,bin8000,35,False +CTSPillarNetworkA,8001,8001,8001,1991-11-28,800.1000000001134,800.0517,2015-01-01 02:13:21,bin8001,75,False +CTSPillarNetworkA,8002,8002,8002,1991-11-29,800.2000000001134,800.1517,2015-01-01 02:13:22,bin8002,35,False +CTSPillarNetworkA,8003,8003,8003,1991-11-30,800.3000000001134,800.25165,2015-01-01 02:13:23,bin8003,75,False +CTSPillarNetworkA,8004,8004,8004,1991-12-01,800.4000000001134,800.3516,2015-01-01 02:13:24,bin8004,35,False +CTSPillarNetworkA,8005,8005,8005,1991-12-02,800.5000000001135,800.4516,2015-01-01 02:13:25,bin8005,75,False +CTSPillarNetworkA,8006,8006,8006,1991-12-03,800.6000000001135,800.5516,2015-01-01 02:13:26,bin8006,35,False +CTSPillarNetworkA,8007,8007,8007,1991-12-04,800.7000000001135,800.65155,2015-01-01 02:13:27,bin8007,75,False +CTSPillarNetworkA,8008,8008,8008,1991-12-05,800.8000000001135,800.7515,2015-01-01 02:13:28,bin8008,35,False +CTSPillarNetworkA,8009,8009,8009,1991-12-06,800.9000000001136,800.8515,2015-01-01 02:13:29,bin8009,75,False +CTSPillarNetworkA,8010,8010,8010,1991-12-07,801.0000000001136,800.9515,2015-01-01 02:13:30,bin8010,35,False +CTSPillarNetworkA,8011,8011,8011,1991-12-08,801.1000000001136,801.05145,2015-01-01 02:13:31,bin8011,75,False +CTSPillarNetworkA,8012,8012,8012,1991-12-09,801.2000000001136,801.1514,2015-01-01 02:13:32,bin8012,35,False +CTSPillarNetworkA,8013,8013,8013,1991-12-10,801.3000000001136,801.2514,2015-01-01 02:13:33,bin8013,75,False +CTSPillarNetworkA,8014,8014,8014,1991-12-11,801.4000000001137,801.3514,2015-01-01 02:13:34,bin8014,35,False +CTSPillarNetworkA,8015,8015,8015,1991-12-12,801.5000000001137,801.45135,2015-01-01 02:13:35,bin8015,75,False +CTSPillarNetworkA,8016,8016,8016,1991-12-13,801.6000000001137,801.55133,2015-01-01 02:13:36,bin8016,35,False +CTSPillarNetworkA,8017,8017,8017,1991-12-14,801.7000000001137,801.6513,2015-01-01 02:13:37,bin8017,75,False +CTSPillarNetworkA,8018,8018,8018,1991-12-15,801.8000000001138,801.7513,2015-01-01 02:13:38,bin8018,35,False +CTSPillarNetworkA,8019,8019,8019,1991-12-16,801.9000000001138,801.85126,2015-01-01 02:13:39,bin8019,75,False +CTSPillarNetworkA,8020,8020,8020,1991-12-17,802.0000000001138,801.95123,2015-01-01 02:13:40,bin8020,35,False +CTSPillarNetworkA,8021,8021,8021,1991-12-18,802.1000000001138,802.0512,2015-01-01 02:13:41,bin8021,75,False +CTSPillarNetworkA,8022,8022,8022,1991-12-19,802.2000000001138,802.1512,2015-01-01 02:13:42,bin8022,35,False +CTSPillarNetworkA,8023,8023,8023,1991-12-20,802.3000000001139,802.25116,2015-01-01 02:13:43,bin8023,75,False +CTSPillarNetworkA,8024,8024,8024,1991-12-21,802.4000000001139,802.35114,2015-01-01 02:13:44,bin8024,35,False +CTSPillarNetworkA,8025,8025,8025,1991-12-22,802.5000000001139,802.4511,2015-01-01 02:13:45,bin8025,75,False +CTSPillarNetworkA,8026,8026,8026,1991-12-23,802.6000000001139,802.5511,2015-01-01 02:13:46,bin8026,35,False +CTSPillarNetworkA,8027,8027,8027,1991-12-24,802.700000000114,802.65106,2015-01-01 02:13:47,bin8027,75,False +CTSPillarNetworkA,8028,8028,8028,1991-12-25,802.800000000114,802.75104,2015-01-01 02:13:48,bin8028,35,False +CTSPillarNetworkA,8029,8029,8029,1991-12-26,802.900000000114,802.851,2015-01-01 02:13:49,bin8029,75,False +CTSPillarNetworkA,8030,8030,8030,1991-12-27,803.000000000114,802.951,2015-01-01 02:13:50,bin8030,35,False +CTSPillarNetworkA,8031,8031,8031,1991-12-28,803.100000000114,803.05096,2015-01-01 02:13:51,bin8031,75,False +CTSPillarNetworkA,8032,8032,8032,1991-12-29,803.2000000001141,803.15094,2015-01-01 02:13:52,bin8032,35,False +CTSPillarNetworkA,8033,8033,8033,1991-12-30,803.3000000001141,803.2509,2015-01-01 02:13:53,bin8033,75,False +CTSPillarNetworkA,8034,8034,8034,1991-12-31,803.4000000001141,803.3509,2015-01-01 02:13:54,bin8034,35,False +CTSPillarNetworkA,8035,8035,8035,1992-01-01,803.5000000001141,803.45087,2015-01-01 02:13:55,bin8035,75,False +CTSPillarNetworkA,8036,8036,8036,1992-01-02,803.6000000001142,803.55084,2015-01-01 02:13:56,bin8036,35,False +CTSPillarNetworkA,8037,8037,8037,1992-01-03,803.7000000001142,803.6508,2015-01-01 02:13:57,bin8037,75,False +CTSPillarNetworkA,8038,8038,8038,1992-01-04,803.8000000001142,803.7508,2015-01-01 02:13:58,bin8038,35,False +CTSPillarNetworkA,8039,8039,8039,1992-01-05,803.9000000001142,803.85077,2015-01-01 02:13:59,bin8039,75,False +CTSPillarNetworkA,8040,8040,8040,1992-01-06,804.0000000001143,803.95074,2015-01-01 02:14:00,bin8040,35,False +CTSPillarNetworkA,8041,8041,8041,1992-01-07,804.1000000001143,804.0507,2015-01-01 02:14:01,bin8041,75,False +CTSPillarNetworkA,8042,8042,8042,1992-01-08,804.2000000001143,804.1507,2015-01-01 02:14:02,bin8042,35,False +CTSPillarNetworkA,8043,8043,8043,1992-01-09,804.3000000001143,804.2507,2015-01-01 02:14:03,bin8043,75,False +CTSPillarNetworkA,8044,8044,8044,1992-01-10,804.4000000001143,804.35065,2015-01-01 02:14:04,bin8044,35,False +CTSPillarNetworkA,8045,8045,8045,1992-01-11,804.5000000001144,804.4506,2015-01-01 02:14:05,bin8045,75,False +CTSPillarNetworkA,8046,8046,8046,1992-01-12,804.6000000001144,804.5506,2015-01-01 02:14:06,bin8046,35,False +CTSPillarNetworkA,8047,8047,8047,1992-01-13,804.7000000001144,804.6506,2015-01-01 02:14:07,bin8047,75,False +CTSPillarNetworkA,8048,8048,8048,1992-01-14,804.8000000001144,804.75055,2015-01-01 02:14:08,bin8048,35,False +CTSPillarNetworkA,8049,8049,8049,1992-01-15,804.9000000001145,804.8505,2015-01-01 02:14:09,bin8049,75,False +CTSPillarNetworkA,8050,8050,8050,1992-01-16,805.0000000001145,804.9505,2015-01-01 02:14:10,bin8050,35,False +CTSPillarNetworkA,8051,8051,8051,1992-01-17,805.1000000001145,805.0505,2015-01-01 02:14:11,bin8051,75,False +CTSPillarNetworkA,8052,8052,8052,1992-01-18,805.2000000001145,805.15045,2015-01-01 02:14:12,bin8052,35,False +CTSPillarNetworkA,8053,8053,8053,1992-01-19,805.3000000001146,805.2504,2015-01-01 02:14:13,bin8053,75,False +CTSPillarNetworkA,8054,8054,8054,1992-01-20,805.4000000001146,805.3504,2015-01-01 02:14:14,bin8054,35,False +CTSPillarNetworkA,8055,8055,8055,1992-01-21,805.5000000001146,805.4504,2015-01-01 02:14:15,bin8055,75,False +CTSPillarNetworkA,8056,8056,8056,1992-01-22,805.6000000001146,805.55035,2015-01-01 02:14:16,bin8056,35,False +CTSPillarNetworkA,8057,8057,8057,1992-01-23,805.7000000001146,805.6503,2015-01-01 02:14:17,bin8057,75,False +CTSPillarNetworkA,8058,8058,8058,1992-01-24,805.8000000001147,805.7503,2015-01-01 02:14:18,bin8058,35,False +CTSPillarNetworkA,8059,8059,8059,1992-01-25,805.9000000001147,805.8503,2015-01-01 02:14:19,bin8059,75,False +CTSPillarNetworkA,8060,8060,8060,1992-01-26,806.0000000001147,805.95026,2015-01-01 02:14:20,bin8060,35,False +CTSPillarNetworkA,8061,8061,8061,1992-01-27,806.1000000001147,806.05023,2015-01-01 02:14:21,bin8061,75,False +CTSPillarNetworkA,8062,8062,8062,1992-01-28,806.2000000001148,806.1502,2015-01-01 02:14:22,bin8062,35,False +CTSPillarNetworkA,8063,8063,8063,1992-01-29,806.3000000001148,806.2502,2015-01-01 02:14:23,bin8063,75,False +CTSPillarNetworkA,8064,8064,8064,1992-01-30,806.4000000001148,806.35016,2015-01-01 02:14:24,bin8064,35,False +CTSPillarNetworkA,8065,8065,8065,1992-01-31,806.5000000001148,806.45013,2015-01-01 02:14:25,bin8065,75,False +CTSPillarNetworkA,8066,8066,8066,1992-02-01,806.6000000001148,806.5501,2015-01-01 02:14:26,bin8066,35,False +CTSPillarNetworkA,8067,8067,8067,1992-02-02,806.7000000001149,806.6501,2015-01-01 02:14:27,bin8067,75,False +CTSPillarNetworkA,8068,8068,8068,1992-02-03,806.8000000001149,806.75006,2015-01-01 02:14:28,bin8068,35,False +CTSPillarNetworkA,8069,8069,8069,1992-02-04,806.9000000001149,806.85004,2015-01-01 02:14:29,bin8069,75,False +CTSPillarNetworkA,8070,8070,8070,1992-02-05,807.0000000001149,806.95,2015-01-01 02:14:30,bin8070,35,False +CTSPillarNetworkA,8071,8071,8071,1992-02-06,807.100000000115,807.05,2015-01-01 02:14:31,bin8071,75,False +CTSPillarNetworkA,8072,8072,8072,1992-02-07,807.200000000115,807.14996,2015-01-01 02:14:32,bin8072,35,False +CTSPillarNetworkA,8073,8073,8073,1992-02-08,807.300000000115,807.24994,2015-01-01 02:14:33,bin8073,75,False +CTSPillarNetworkA,8074,8074,8074,1992-02-09,807.400000000115,807.3499,2015-01-01 02:14:34,bin8074,35,False +CTSPillarNetworkA,8075,8075,8075,1992-02-10,807.500000000115,807.4499,2015-01-01 02:14:35,bin8075,75,False +CTSPillarNetworkA,8076,8076,8076,1992-02-11,807.6000000001151,807.54987,2015-01-01 02:14:36,bin8076,35,False +CTSPillarNetworkA,8077,8077,8077,1992-02-12,807.7000000001151,807.64984,2015-01-01 02:14:37,bin8077,75,False +CTSPillarNetworkA,8078,8078,8078,1992-02-13,807.8000000001151,807.7498,2015-01-01 02:14:38,bin8078,35,False +CTSPillarNetworkA,8079,8079,8079,1992-02-14,807.9000000001151,807.8498,2015-01-01 02:14:39,bin8079,75,False +CTSPillarNetworkA,8080,8080,8080,1992-02-15,808.0000000001152,807.94977,2015-01-01 02:14:40,bin8080,35,False +CTSPillarNetworkA,8081,8081,8081,1992-02-16,808.1000000001152,808.04974,2015-01-01 02:14:41,bin8081,75,False +CTSPillarNetworkA,8082,8082,8082,1992-02-17,808.2000000001152,808.1497,2015-01-01 02:14:42,bin8082,35,False +CTSPillarNetworkA,8083,8083,8083,1992-02-18,808.3000000001152,808.2497,2015-01-01 02:14:43,bin8083,75,False +CTSPillarNetworkA,8084,8084,8084,1992-02-19,808.4000000001153,808.3497,2015-01-01 02:14:44,bin8084,35,False +CTSPillarNetworkA,8085,8085,8085,1992-02-20,808.5000000001153,808.44965,2015-01-01 02:14:45,bin8085,75,False +CTSPillarNetworkA,8086,8086,8086,1992-02-21,808.6000000001153,808.5496,2015-01-01 02:14:46,bin8086,35,False +CTSPillarNetworkA,8087,8087,8087,1992-02-22,808.7000000001153,808.6496,2015-01-01 02:14:47,bin8087,75,False +CTSPillarNetworkA,8088,8088,8088,1992-02-23,808.8000000001153,808.7496,2015-01-01 02:14:48,bin8088,35,False +CTSPillarNetworkA,8089,8089,8089,1992-02-24,808.9000000001154,808.84955,2015-01-01 02:14:49,bin8089,75,False +CTSPillarNetworkA,8090,8090,8090,1992-02-25,809.0000000001154,808.9495,2015-01-01 02:14:50,bin8090,35,False +CTSPillarNetworkA,8091,8091,8091,1992-02-26,809.1000000001154,809.0495,2015-01-01 02:14:51,bin8091,75,False +CTSPillarNetworkA,8092,8092,8092,1992-02-27,809.2000000001154,809.1495,2015-01-01 02:14:52,bin8092,35,False +CTSPillarNetworkA,8093,8093,8093,1992-02-28,809.3000000001155,809.24945,2015-01-01 02:14:53,bin8093,75,False +CTSPillarNetworkA,8094,8094,8094,1992-02-29,809.4000000001155,809.3494,2015-01-01 02:14:54,bin8094,35,False +CTSPillarNetworkA,8095,8095,8095,1992-03-01,809.5000000001155,809.4494,2015-01-01 02:14:55,bin8095,75,False +CTSPillarNetworkA,8096,8096,8096,1992-03-02,809.6000000001155,809.5494,2015-01-01 02:14:56,bin8096,35,False +CTSPillarNetworkA,8097,8097,8097,1992-03-03,809.7000000001156,809.64935,2015-01-01 02:14:57,bin8097,75,False +CTSPillarNetworkA,8098,8098,8098,1992-03-04,809.8000000001156,809.7493,2015-01-01 02:14:58,bin8098,35,False +CTSPillarNetworkA,8099,8099,8099,1992-03-05,809.9000000001156,809.8493,2015-01-01 02:14:59,bin8099,75,False +CTSPillarNetworkA,8100,8100,8100,1992-03-06,810.0000000001156,809.9493,2015-01-01 02:15:00,bin8100,35,False +CTSPillarNetworkA,8101,8101,8101,1992-03-07,810.1000000001156,810.04926,2015-01-01 02:15:01,bin8101,75,False +CTSPillarNetworkA,8102,8102,8102,1992-03-08,810.2000000001157,810.14923,2015-01-01 02:15:02,bin8102,35,False +CTSPillarNetworkA,8103,8103,8103,1992-03-09,810.3000000001157,810.2492,2015-01-01 02:15:03,bin8103,75,False +CTSPillarNetworkA,8104,8104,8104,1992-03-10,810.4000000001157,810.3492,2015-01-01 02:15:04,bin8104,35,False +CTSPillarNetworkA,8105,8105,8105,1992-03-11,810.5000000001157,810.44916,2015-01-01 02:15:05,bin8105,75,False +CTSPillarNetworkA,8106,8106,8106,1992-03-12,810.6000000001158,810.54913,2015-01-01 02:15:06,bin8106,35,False +CTSPillarNetworkA,8107,8107,8107,1992-03-13,810.7000000001158,810.6491,2015-01-01 02:15:07,bin8107,75,False +CTSPillarNetworkA,8108,8108,8108,1992-03-14,810.8000000001158,810.7491,2015-01-01 02:15:08,bin8108,35,False +CTSPillarNetworkA,8109,8109,8109,1992-03-15,810.9000000001158,810.84906,2015-01-01 02:15:09,bin8109,75,False +CTSPillarNetworkA,8110,8110,8110,1992-03-16,811.0000000001158,810.94904,2015-01-01 02:15:10,bin8110,35,False +CTSPillarNetworkA,8111,8111,8111,1992-03-17,811.1000000001159,811.049,2015-01-01 02:15:11,bin8111,75,False +CTSPillarNetworkA,8112,8112,8112,1992-03-18,811.2000000001159,811.149,2015-01-01 02:15:12,bin8112,35,False +CTSPillarNetworkA,8113,8113,8113,1992-03-19,811.3000000001159,811.24896,2015-01-01 02:15:13,bin8113,75,False +CTSPillarNetworkA,8114,8114,8114,1992-03-20,811.4000000001159,811.34894,2015-01-01 02:15:14,bin8114,35,False +CTSPillarNetworkA,8115,8115,8115,1992-03-21,811.500000000116,811.4489,2015-01-01 02:15:15,bin8115,75,False +CTSPillarNetworkA,8116,8116,8116,1992-03-22,811.600000000116,811.5489,2015-01-01 02:15:16,bin8116,35,False +CTSPillarNetworkA,8117,8117,8117,1992-03-23,811.700000000116,811.64886,2015-01-01 02:15:17,bin8117,75,False +CTSPillarNetworkA,8118,8118,8118,1992-03-24,811.800000000116,811.74884,2015-01-01 02:15:18,bin8118,35,False +CTSPillarNetworkA,8119,8119,8119,1992-03-25,811.900000000116,811.8488,2015-01-01 02:15:19,bin8119,75,False +CTSPillarNetworkA,8120,8120,8120,1992-03-26,812.0000000001161,811.9488,2015-01-01 02:15:20,bin8120,35,False +CTSPillarNetworkA,8121,8121,8121,1992-03-27,812.1000000001161,812.04877,2015-01-01 02:15:21,bin8121,75,False +CTSPillarNetworkA,8122,8122,8122,1992-03-28,812.2000000001161,812.14874,2015-01-01 02:15:22,bin8122,35,False +CTSPillarNetworkA,8123,8123,8123,1992-03-29,812.3000000001161,812.2487,2015-01-01 02:15:23,bin8123,75,False +CTSPillarNetworkA,8124,8124,8124,1992-03-30,812.4000000001162,812.3487,2015-01-01 02:15:24,bin8124,35,False +CTSPillarNetworkA,8125,8125,8125,1992-03-31,812.5000000001162,812.44867,2015-01-01 02:15:25,bin8125,75,False +CTSPillarNetworkA,8126,8126,8126,1992-04-01,812.6000000001162,812.54865,2015-01-01 02:15:26,bin8126,35,False +CTSPillarNetworkA,8127,8127,8127,1992-04-02,812.7000000001162,812.6486,2015-01-01 02:15:27,bin8127,75,False +CTSPillarNetworkA,8128,8128,8128,1992-04-03,812.8000000001163,812.7486,2015-01-01 02:15:28,bin8128,35,False +CTSPillarNetworkA,8129,8129,8129,1992-04-04,812.9000000001163,812.8486,2015-01-01 02:15:29,bin8129,75,False +CTSPillarNetworkA,8130,8130,8130,1992-04-05,813.0000000001163,812.94855,2015-01-01 02:15:30,bin8130,35,False +CTSPillarNetworkA,8131,8131,8131,1992-04-06,813.1000000001163,813.0485,2015-01-01 02:15:31,bin8131,75,False +CTSPillarNetworkA,8132,8132,8132,1992-04-07,813.2000000001163,813.1485,2015-01-01 02:15:32,bin8132,35,False +CTSPillarNetworkA,8133,8133,8133,1992-04-08,813.3000000001164,813.2485,2015-01-01 02:15:33,bin8133,75,False +CTSPillarNetworkA,8134,8134,8134,1992-04-09,813.4000000001164,813.34845,2015-01-01 02:15:34,bin8134,35,False +CTSPillarNetworkA,8135,8135,8135,1992-04-10,813.5000000001164,813.4484,2015-01-01 02:15:35,bin8135,75,False +CTSPillarNetworkA,8136,8136,8136,1992-04-11,813.6000000001164,813.5484,2015-01-01 02:15:36,bin8136,35,False +CTSPillarNetworkA,8137,8137,8137,1992-04-12,813.7000000001165,813.6484,2015-01-01 02:15:37,bin8137,75,False +CTSPillarNetworkA,8138,8138,8138,1992-04-13,813.8000000001165,813.74835,2015-01-01 02:15:38,bin8138,35,False +CTSPillarNetworkA,8139,8139,8139,1992-04-14,813.9000000001165,813.8483,2015-01-01 02:15:39,bin8139,75,False +CTSPillarNetworkA,8140,8140,8140,1992-04-15,814.0000000001165,813.9483,2015-01-01 02:15:40,bin8140,35,False +CTSPillarNetworkA,8141,8141,8141,1992-04-16,814.1000000001166,814.0483,2015-01-01 02:15:41,bin8141,75,False +CTSPillarNetworkA,8142,8142,8142,1992-04-17,814.2000000001166,814.14825,2015-01-01 02:15:42,bin8142,35,False +CTSPillarNetworkA,8143,8143,8143,1992-04-18,814.3000000001166,814.2482,2015-01-01 02:15:43,bin8143,75,False +CTSPillarNetworkA,8144,8144,8144,1992-04-19,814.4000000001166,814.3482,2015-01-01 02:15:44,bin8144,35,False +CTSPillarNetworkA,8145,8145,8145,1992-04-20,814.5000000001166,814.4482,2015-01-01 02:15:45,bin8145,75,False +CTSPillarNetworkA,8146,8146,8146,1992-04-21,814.6000000001167,814.54816,2015-01-01 02:15:46,bin8146,35,False +CTSPillarNetworkA,8147,8147,8147,1992-04-22,814.7000000001167,814.64813,2015-01-01 02:15:47,bin8147,75,False +CTSPillarNetworkA,8148,8148,8148,1992-04-23,814.8000000001167,814.7481,2015-01-01 02:15:48,bin8148,35,False +CTSPillarNetworkA,8149,8149,8149,1992-04-24,814.9000000001167,814.8481,2015-01-01 02:15:49,bin8149,75,False +CTSPillarNetworkA,8150,8150,8150,1992-04-25,815.0000000001168,814.94806,2015-01-01 02:15:50,bin8150,35,False +CTSPillarNetworkA,8151,8151,8151,1992-04-26,815.1000000001168,815.04803,2015-01-01 02:15:51,bin8151,75,False +CTSPillarNetworkA,8152,8152,8152,1992-04-27,815.2000000001168,815.148,2015-01-01 02:15:52,bin8152,35,False +CTSPillarNetworkA,8153,8153,8153,1992-04-28,815.3000000001168,815.248,2015-01-01 02:15:53,bin8153,75,False +CTSPillarNetworkA,8154,8154,8154,1992-04-29,815.4000000001168,815.34796,2015-01-01 02:15:54,bin8154,35,False +CTSPillarNetworkA,8155,8155,8155,1992-04-30,815.5000000001169,815.44794,2015-01-01 02:15:55,bin8155,75,False +CTSPillarNetworkA,8156,8156,8156,1992-05-01,815.6000000001169,815.5479,2015-01-01 02:15:56,bin8156,35,False +CTSPillarNetworkA,8157,8157,8157,1992-05-02,815.7000000001169,815.6479,2015-01-01 02:15:57,bin8157,75,False +CTSPillarNetworkA,8158,8158,8158,1992-05-03,815.8000000001169,815.74786,2015-01-01 02:15:58,bin8158,35,False +CTSPillarNetworkA,8159,8159,8159,1992-05-04,815.900000000117,815.84784,2015-01-01 02:15:59,bin8159,75,False +CTSPillarNetworkA,8160,8160,8160,1992-05-05,816.000000000117,815.9478,2015-01-01 02:16:00,bin8160,35,False +CTSPillarNetworkA,8161,8161,8161,1992-05-06,816.100000000117,816.0478,2015-01-01 02:16:01,bin8161,75,False +CTSPillarNetworkA,8162,8162,8162,1992-05-07,816.200000000117,816.14777,2015-01-01 02:16:02,bin8162,35,False +CTSPillarNetworkA,8163,8163,8163,1992-05-08,816.300000000117,816.24774,2015-01-01 02:16:03,bin8163,75,False +CTSPillarNetworkA,8164,8164,8164,1992-05-09,816.4000000001171,816.3477,2015-01-01 02:16:04,bin8164,35,False +CTSPillarNetworkA,8165,8165,8165,1992-05-10,816.5000000001171,816.4477,2015-01-01 02:16:05,bin8165,75,False +CTSPillarNetworkA,8166,8166,8166,1992-05-11,816.6000000001171,816.54767,2015-01-01 02:16:06,bin8166,35,False +CTSPillarNetworkA,8167,8167,8167,1992-05-12,816.7000000001171,816.64764,2015-01-01 02:16:07,bin8167,75,False +CTSPillarNetworkA,8168,8168,8168,1992-05-13,816.8000000001172,816.7476,2015-01-01 02:16:08,bin8168,35,False +CTSPillarNetworkA,8169,8169,8169,1992-05-14,816.9000000001172,816.8476,2015-01-01 02:16:09,bin8169,75,False +CTSPillarNetworkA,8170,8170,8170,1992-05-15,817.0000000001172,816.9476,2015-01-01 02:16:10,bin8170,35,False +CTSPillarNetworkA,8171,8171,8171,1992-05-16,817.1000000001172,817.04755,2015-01-01 02:16:11,bin8171,75,False +CTSPillarNetworkA,8172,8172,8172,1992-05-17,817.2000000001173,817.1475,2015-01-01 02:16:12,bin8172,35,False +CTSPillarNetworkA,8173,8173,8173,1992-05-18,817.3000000001173,817.2475,2015-01-01 02:16:13,bin8173,75,False +CTSPillarNetworkA,8174,8174,8174,1992-05-19,817.4000000001173,817.3475,2015-01-01 02:16:14,bin8174,35,False +CTSPillarNetworkA,8175,8175,8175,1992-05-20,817.5000000001173,817.44745,2015-01-01 02:16:15,bin8175,75,False +CTSPillarNetworkA,8176,8176,8176,1992-05-21,817.6000000001173,817.5474,2015-01-01 02:16:16,bin8176,35,False +CTSPillarNetworkA,8177,8177,8177,1992-05-22,817.7000000001174,817.6474,2015-01-01 02:16:17,bin8177,75,False +CTSPillarNetworkA,8178,8178,8178,1992-05-23,817.8000000001174,817.7474,2015-01-01 02:16:18,bin8178,35,False +CTSPillarNetworkA,8179,8179,8179,1992-05-24,817.9000000001174,817.84735,2015-01-01 02:16:19,bin8179,75,False +CTSPillarNetworkA,8180,8180,8180,1992-05-25,818.0000000001174,817.9473,2015-01-01 02:16:20,bin8180,35,False +CTSPillarNetworkA,8181,8181,8181,1992-05-26,818.1000000001175,818.0473,2015-01-01 02:16:21,bin8181,75,False +CTSPillarNetworkA,8182,8182,8182,1992-05-27,818.2000000001175,818.1473,2015-01-01 02:16:22,bin8182,35,False +CTSPillarNetworkA,8183,8183,8183,1992-05-28,818.3000000001175,818.24725,2015-01-01 02:16:23,bin8183,75,False +CTSPillarNetworkA,8184,8184,8184,1992-05-29,818.4000000001175,818.3472,2015-01-01 02:16:24,bin8184,35,False +CTSPillarNetworkA,8185,8185,8185,1992-05-30,818.5000000001176,818.4472,2015-01-01 02:16:25,bin8185,75,False +CTSPillarNetworkA,8186,8186,8186,1992-05-31,818.6000000001176,818.5472,2015-01-01 02:16:26,bin8186,35,False +CTSPillarNetworkA,8187,8187,8187,1992-06-01,818.7000000001176,818.64716,2015-01-01 02:16:27,bin8187,75,False +CTSPillarNetworkA,8188,8188,8188,1992-06-02,818.8000000001176,818.74713,2015-01-01 02:16:28,bin8188,35,False +CTSPillarNetworkA,8189,8189,8189,1992-06-03,818.9000000001176,818.8471,2015-01-01 02:16:29,bin8189,75,False +CTSPillarNetworkA,8190,8190,8190,1992-06-04,819.0000000001177,818.9471,2015-01-01 02:16:30,bin8190,35,False +CTSPillarNetworkA,8191,8191,8191,1992-06-05,819.1000000001177,819.04706,2015-01-01 02:16:31,bin8191,75,False +CTSPillarNetworkA,8192,8192,8192,1992-06-06,819.2000000001177,819.14703,2015-01-01 02:16:32,bin8192,35,False +CTSPillarNetworkA,8193,8193,8193,1992-06-07,819.3000000001177,819.247,2015-01-01 02:16:33,bin8193,75,False +CTSPillarNetworkA,8194,8194,8194,1992-06-08,819.4000000001178,819.347,2015-01-01 02:16:34,bin8194,35,False +CTSPillarNetworkA,8195,8195,8195,1992-06-09,819.5000000001178,819.44696,2015-01-01 02:16:35,bin8195,75,False +CTSPillarNetworkA,8196,8196,8196,1992-06-10,819.6000000001178,819.54694,2015-01-01 02:16:36,bin8196,35,False +CTSPillarNetworkA,8197,8197,8197,1992-06-11,819.7000000001178,819.6469,2015-01-01 02:16:37,bin8197,75,False +CTSPillarNetworkA,8198,8198,8198,1992-06-12,819.8000000001178,819.7469,2015-01-01 02:16:38,bin8198,35,False +CTSPillarNetworkA,8199,8199,8199,1992-06-13,819.9000000001179,819.84686,2015-01-01 02:16:39,bin8199,75,False +CTSPillarNetworkA,8200,8200,8200,1992-06-14,820.0000000001179,819.94684,2015-01-01 02:16:40,bin8200,35,False +CTSPillarNetworkA,8201,8201,8201,1992-06-15,820.1000000001179,820.0468,2015-01-01 02:16:41,bin8201,75,False +CTSPillarNetworkA,8202,8202,8202,1992-06-16,820.2000000001179,820.1468,2015-01-01 02:16:42,bin8202,35,False +CTSPillarNetworkA,8203,8203,8203,1992-06-17,820.300000000118,820.24677,2015-01-01 02:16:43,bin8203,75,False +CTSPillarNetworkA,8204,8204,8204,1992-06-18,820.400000000118,820.34674,2015-01-01 02:16:44,bin8204,35,False +CTSPillarNetworkA,8205,8205,8205,1992-06-19,820.500000000118,820.4467,2015-01-01 02:16:45,bin8205,75,False +CTSPillarNetworkA,8206,8206,8206,1992-06-20,820.600000000118,820.5467,2015-01-01 02:16:46,bin8206,35,False +CTSPillarNetworkA,8207,8207,8207,1992-06-21,820.700000000118,820.64667,2015-01-01 02:16:47,bin8207,75,False +CTSPillarNetworkA,8208,8208,8208,1992-06-22,820.8000000001181,820.74664,2015-01-01 02:16:48,bin8208,35,False +CTSPillarNetworkA,8209,8209,8209,1992-06-23,820.9000000001181,820.8466,2015-01-01 02:16:49,bin8209,75,False +CTSPillarNetworkA,8210,8210,8210,1992-06-24,821.0000000001181,820.9466,2015-01-01 02:16:50,bin8210,35,False +CTSPillarNetworkA,8211,8211,8211,1992-06-25,821.1000000001181,821.0466,2015-01-01 02:16:51,bin8211,75,False +CTSPillarNetworkA,8212,8212,8212,1992-06-26,821.2000000001182,821.14655,2015-01-01 02:16:52,bin8212,35,False +CTSPillarNetworkA,8213,8213,8213,1992-06-27,821.3000000001182,821.2465,2015-01-01 02:16:53,bin8213,75,False +CTSPillarNetworkA,8214,8214,8214,1992-06-28,821.4000000001182,821.3465,2015-01-01 02:16:54,bin8214,35,False +CTSPillarNetworkA,8215,8215,8215,1992-06-29,821.5000000001182,821.4465,2015-01-01 02:16:55,bin8215,75,False +CTSPillarNetworkA,8216,8216,8216,1992-06-30,821.6000000001183,821.54645,2015-01-01 02:16:56,bin8216,35,False +CTSPillarNetworkA,8217,8217,8217,1992-07-01,821.7000000001183,821.6464,2015-01-01 02:16:57,bin8217,75,False +CTSPillarNetworkA,8218,8218,8218,1992-07-02,821.8000000001183,821.7464,2015-01-01 02:16:58,bin8218,35,False +CTSPillarNetworkA,8219,8219,8219,1992-07-03,821.9000000001183,821.8464,2015-01-01 02:16:59,bin8219,75,False +CTSPillarNetworkA,8220,8220,8220,1992-07-04,822.0000000001183,821.94635,2015-01-01 02:17:00,bin8220,35,False +CTSPillarNetworkA,8221,8221,8221,1992-07-05,822.1000000001184,822.0463,2015-01-01 02:17:01,bin8221,75,False +CTSPillarNetworkA,8222,8222,8222,1992-07-06,822.2000000001184,822.1463,2015-01-01 02:17:02,bin8222,35,False +CTSPillarNetworkA,8223,8223,8223,1992-07-07,822.3000000001184,822.2463,2015-01-01 02:17:03,bin8223,75,False +CTSPillarNetworkA,8224,8224,8224,1992-07-08,822.4000000001184,822.34625,2015-01-01 02:17:04,bin8224,35,False +CTSPillarNetworkA,8225,8225,8225,1992-07-09,822.5000000001185,822.4462,2015-01-01 02:17:05,bin8225,75,False +CTSPillarNetworkA,8226,8226,8226,1992-07-10,822.6000000001185,822.5462,2015-01-01 02:17:06,bin8226,35,False +CTSPillarNetworkA,8227,8227,8227,1992-07-11,822.7000000001185,822.6462,2015-01-01 02:17:07,bin8227,75,False +CTSPillarNetworkA,8228,8228,8228,1992-07-12,822.8000000001185,822.74615,2015-01-01 02:17:08,bin8228,35,False +CTSPillarNetworkA,8229,8229,8229,1992-07-13,822.9000000001186,822.8461,2015-01-01 02:17:09,bin8229,75,False +CTSPillarNetworkA,8230,8230,8230,1992-07-14,823.0000000001186,822.9461,2015-01-01 02:17:10,bin8230,35,False +CTSPillarNetworkA,8231,8231,8231,1992-07-15,823.1000000001186,823.0461,2015-01-01 02:17:11,bin8231,75,False +CTSPillarNetworkA,8232,8232,8232,1992-07-16,823.2000000001186,823.14606,2015-01-01 02:17:12,bin8232,35,False +CTSPillarNetworkA,8233,8233,8233,1992-07-17,823.3000000001186,823.24603,2015-01-01 02:17:13,bin8233,75,False +CTSPillarNetworkA,8234,8234,8234,1992-07-18,823.4000000001187,823.346,2015-01-01 02:17:14,bin8234,35,False +CTSPillarNetworkA,8235,8235,8235,1992-07-19,823.5000000001187,823.446,2015-01-01 02:17:15,bin8235,75,False +CTSPillarNetworkA,8236,8236,8236,1992-07-20,823.6000000001187,823.54596,2015-01-01 02:17:16,bin8236,35,False +CTSPillarNetworkA,8237,8237,8237,1992-07-21,823.7000000001187,823.64594,2015-01-01 02:17:17,bin8237,75,False +CTSPillarNetworkA,8238,8238,8238,1992-07-22,823.8000000001188,823.7459,2015-01-01 02:17:18,bin8238,35,False +CTSPillarNetworkA,8239,8239,8239,1992-07-23,823.9000000001188,823.8459,2015-01-01 02:17:19,bin8239,75,False +CTSPillarNetworkA,8240,8240,8240,1992-07-24,824.0000000001188,823.94586,2015-01-01 02:17:20,bin8240,35,False +CTSPillarNetworkA,8241,8241,8241,1992-07-25,824.1000000001188,824.04584,2015-01-01 02:17:21,bin8241,75,False +CTSPillarNetworkA,8242,8242,8242,1992-07-26,824.2000000001188,824.1458,2015-01-01 02:17:22,bin8242,35,False +CTSPillarNetworkA,8243,8243,8243,1992-07-27,824.3000000001189,824.2458,2015-01-01 02:17:23,bin8243,75,False +CTSPillarNetworkA,8244,8244,8244,1992-07-28,824.4000000001189,824.34576,2015-01-01 02:17:24,bin8244,35,False +CTSPillarNetworkA,8245,8245,8245,1992-07-29,824.5000000001189,824.44574,2015-01-01 02:17:25,bin8245,75,False +CTSPillarNetworkA,8246,8246,8246,1992-07-30,824.6000000001189,824.5457,2015-01-01 02:17:26,bin8246,35,False +CTSPillarNetworkA,8247,8247,8247,1992-07-31,824.700000000119,824.6457,2015-01-01 02:17:27,bin8247,75,False +CTSPillarNetworkA,8248,8248,8248,1992-08-01,824.800000000119,824.74567,2015-01-01 02:17:28,bin8248,35,False +CTSPillarNetworkA,8249,8249,8249,1992-08-02,824.900000000119,824.84564,2015-01-01 02:17:29,bin8249,75,False +CTSPillarNetworkA,8250,8250,8250,1992-08-03,825.000000000119,824.9456,2015-01-01 02:17:30,bin8250,35,False +CTSPillarNetworkA,8251,8251,8251,1992-08-04,825.100000000119,825.0456,2015-01-01 02:17:31,bin8251,75,False +CTSPillarNetworkA,8252,8252,8252,1992-08-05,825.2000000001191,825.14557,2015-01-01 02:17:32,bin8252,35,False +CTSPillarNetworkA,8253,8253,8253,1992-08-06,825.3000000001191,825.24554,2015-01-01 02:17:33,bin8253,75,False +CTSPillarNetworkA,8254,8254,8254,1992-08-07,825.4000000001191,825.3455,2015-01-01 02:17:34,bin8254,35,False +CTSPillarNetworkA,8255,8255,8255,1992-08-08,825.5000000001191,825.4455,2015-01-01 02:17:35,bin8255,75,False +CTSPillarNetworkA,8256,8256,8256,1992-08-09,825.6000000001192,825.5455,2015-01-01 02:17:36,bin8256,35,False +CTSPillarNetworkA,8257,8257,8257,1992-08-10,825.7000000001192,825.64545,2015-01-01 02:17:37,bin8257,75,False +CTSPillarNetworkA,8258,8258,8258,1992-08-11,825.8000000001192,825.7454,2015-01-01 02:17:38,bin8258,35,False +CTSPillarNetworkA,8259,8259,8259,1992-08-12,825.9000000001192,825.8454,2015-01-01 02:17:39,bin8259,75,False +CTSPillarNetworkA,8260,8260,8260,1992-08-13,826.0000000001193,825.9454,2015-01-01 02:17:40,bin8260,35,False +CTSPillarNetworkA,8261,8261,8261,1992-08-14,826.1000000001193,826.04535,2015-01-01 02:17:41,bin8261,75,False +CTSPillarNetworkA,8262,8262,8262,1992-08-15,826.2000000001193,826.1453,2015-01-01 02:17:42,bin8262,35,False +CTSPillarNetworkA,8263,8263,8263,1992-08-16,826.3000000001193,826.2453,2015-01-01 02:17:43,bin8263,75,False +CTSPillarNetworkA,8264,8264,8264,1992-08-17,826.4000000001193,826.3453,2015-01-01 02:17:44,bin8264,35,False +CTSPillarNetworkA,8265,8265,8265,1992-08-18,826.5000000001194,826.44525,2015-01-01 02:17:45,bin8265,75,False +CTSPillarNetworkA,8266,8266,8266,1992-08-19,826.6000000001194,826.5452,2015-01-01 02:17:46,bin8266,35,False +CTSPillarNetworkA,8267,8267,8267,1992-08-20,826.7000000001194,826.6452,2015-01-01 02:17:47,bin8267,75,False +CTSPillarNetworkA,8268,8268,8268,1992-08-21,826.8000000001194,826.7452,2015-01-01 02:17:48,bin8268,35,False +CTSPillarNetworkA,8269,8269,8269,1992-08-22,826.9000000001195,826.84515,2015-01-01 02:17:49,bin8269,75,False +CTSPillarNetworkA,8270,8270,8270,1992-08-23,827.0000000001195,826.9451,2015-01-01 02:17:50,bin8270,35,False +CTSPillarNetworkA,8271,8271,8271,1992-08-24,827.1000000001195,827.0451,2015-01-01 02:17:51,bin8271,75,False +CTSPillarNetworkA,8272,8272,8272,1992-08-25,827.2000000001195,827.1451,2015-01-01 02:17:52,bin8272,35,False +CTSPillarNetworkA,8273,8273,8273,1992-08-26,827.3000000001196,827.24506,2015-01-01 02:17:53,bin8273,75,False +CTSPillarNetworkA,8274,8274,8274,1992-08-27,827.4000000001196,827.34503,2015-01-01 02:17:54,bin8274,35,False +CTSPillarNetworkA,8275,8275,8275,1992-08-28,827.5000000001196,827.445,2015-01-01 02:17:55,bin8275,75,False +CTSPillarNetworkA,8276,8276,8276,1992-08-29,827.6000000001196,827.545,2015-01-01 02:17:56,bin8276,35,False +CTSPillarNetworkA,8277,8277,8277,1992-08-30,827.7000000001196,827.64496,2015-01-01 02:17:57,bin8277,75,False +CTSPillarNetworkA,8278,8278,8278,1992-08-31,827.8000000001197,827.74493,2015-01-01 02:17:58,bin8278,35,False +CTSPillarNetworkA,8279,8279,8279,1992-09-01,827.9000000001197,827.8449,2015-01-01 02:17:59,bin8279,75,False +CTSPillarNetworkA,8280,8280,8280,1992-09-02,828.0000000001197,827.9449,2015-01-01 02:18:00,bin8280,35,False +CTSPillarNetworkA,8281,8281,8281,1992-09-03,828.1000000001197,828.04486,2015-01-01 02:18:01,bin8281,75,False +CTSPillarNetworkA,8282,8282,8282,1992-09-04,828.2000000001198,828.14484,2015-01-01 02:18:02,bin8282,35,False +CTSPillarNetworkA,8283,8283,8283,1992-09-05,828.3000000001198,828.2448,2015-01-01 02:18:03,bin8283,75,False +CTSPillarNetworkA,8284,8284,8284,1992-09-06,828.4000000001198,828.3448,2015-01-01 02:18:04,bin8284,35,False +CTSPillarNetworkA,8285,8285,8285,1992-09-07,828.5000000001198,828.44476,2015-01-01 02:18:05,bin8285,75,False +CTSPillarNetworkA,8286,8286,8286,1992-09-08,828.6000000001198,828.54474,2015-01-01 02:18:06,bin8286,35,False +CTSPillarNetworkA,8287,8287,8287,1992-09-09,828.7000000001199,828.6447,2015-01-01 02:18:07,bin8287,75,False +CTSPillarNetworkA,8288,8288,8288,1992-09-10,828.8000000001199,828.7447,2015-01-01 02:18:08,bin8288,35,False +CTSPillarNetworkA,8289,8289,8289,1992-09-11,828.9000000001199,828.84467,2015-01-01 02:18:09,bin8289,75,False +CTSPillarNetworkA,8290,8290,8290,1992-09-12,829.0000000001199,828.94464,2015-01-01 02:18:10,bin8290,35,False +CTSPillarNetworkA,8291,8291,8291,1992-09-13,829.10000000012,829.0446,2015-01-01 02:18:11,bin8291,75,False +CTSPillarNetworkA,8292,8292,8292,1992-09-14,829.20000000012,829.1446,2015-01-01 02:18:12,bin8292,35,False +CTSPillarNetworkA,8293,8293,8293,1992-09-15,829.30000000012,829.24457,2015-01-01 02:18:13,bin8293,75,False +CTSPillarNetworkA,8294,8294,8294,1992-09-16,829.40000000012,829.34454,2015-01-01 02:18:14,bin8294,35,False +CTSPillarNetworkA,8295,8295,8295,1992-09-17,829.50000000012,829.4445,2015-01-01 02:18:15,bin8295,75,False +CTSPillarNetworkA,8296,8296,8296,1992-09-18,829.6000000001201,829.5445,2015-01-01 02:18:16,bin8296,35,False +CTSPillarNetworkA,8297,8297,8297,1992-09-19,829.7000000001201,829.6445,2015-01-01 02:18:17,bin8297,75,False +CTSPillarNetworkA,8298,8298,8298,1992-09-20,829.8000000001201,829.74445,2015-01-01 02:18:18,bin8298,35,False +CTSPillarNetworkA,8299,8299,8299,1992-09-21,829.9000000001201,829.8444,2015-01-01 02:18:19,bin8299,75,False +CTSPillarNetworkA,8300,8300,8300,1992-09-22,830.0000000001202,829.9444,2015-01-01 02:18:20,bin8300,35,False +CTSPillarNetworkA,8301,8301,8301,1992-09-23,830.1000000001202,830.0444,2015-01-01 02:18:21,bin8301,75,False +CTSPillarNetworkA,8302,8302,8302,1992-09-24,830.2000000001202,830.14435,2015-01-01 02:18:22,bin8302,35,False +CTSPillarNetworkA,8303,8303,8303,1992-09-25,830.3000000001202,830.2443,2015-01-01 02:18:23,bin8303,75,False +CTSPillarNetworkA,8304,8304,8304,1992-09-26,830.4000000001203,830.3443,2015-01-01 02:18:24,bin8304,35,False +CTSPillarNetworkA,8305,8305,8305,1992-09-27,830.5000000001203,830.4443,2015-01-01 02:18:25,bin8305,75,False +CTSPillarNetworkA,8306,8306,8306,1992-09-28,830.6000000001203,830.54425,2015-01-01 02:18:26,bin8306,35,False +CTSPillarNetworkA,8307,8307,8307,1992-09-29,830.7000000001203,830.6442,2015-01-01 02:18:27,bin8307,75,False +CTSPillarNetworkA,8308,8308,8308,1992-09-30,830.8000000001203,830.7442,2015-01-01 02:18:28,bin8308,35,False +CTSPillarNetworkA,8309,8309,8309,1992-10-01,830.9000000001204,830.8442,2015-01-01 02:18:29,bin8309,75,False +CTSPillarNetworkA,8310,8310,8310,1992-10-02,831.0000000001204,830.94415,2015-01-01 02:18:30,bin8310,35,False +CTSPillarNetworkA,8311,8311,8311,1992-10-03,831.1000000001204,831.0441,2015-01-01 02:18:31,bin8311,75,False +CTSPillarNetworkA,8312,8312,8312,1992-10-04,831.2000000001204,831.1441,2015-01-01 02:18:32,bin8312,35,False +CTSPillarNetworkA,8313,8313,8313,1992-10-05,831.3000000001205,831.2441,2015-01-01 02:18:33,bin8313,75,False +CTSPillarNetworkA,8314,8314,8314,1992-10-06,831.4000000001205,831.34406,2015-01-01 02:18:34,bin8314,35,False +CTSPillarNetworkA,8315,8315,8315,1992-10-07,831.5000000001205,831.44403,2015-01-01 02:18:35,bin8315,75,False +CTSPillarNetworkA,8316,8316,8316,1992-10-08,831.6000000001205,831.544,2015-01-01 02:18:36,bin8316,35,False +CTSPillarNetworkA,8317,8317,8317,1992-10-09,831.7000000001206,831.644,2015-01-01 02:18:37,bin8317,75,False +CTSPillarNetworkA,8318,8318,8318,1992-10-10,831.8000000001206,831.74396,2015-01-01 02:18:38,bin8318,35,False +CTSPillarNetworkA,8319,8319,8319,1992-10-11,831.9000000001206,831.84393,2015-01-01 02:18:39,bin8319,75,False +CTSPillarNetworkA,8320,8320,8320,1992-10-12,832.0000000001206,831.9439,2015-01-01 02:18:40,bin8320,35,False +CTSPillarNetworkA,8321,8321,8321,1992-10-13,832.1000000001206,832.0439,2015-01-01 02:18:41,bin8321,75,False +CTSPillarNetworkA,8322,8322,8322,1992-10-14,832.2000000001207,832.14386,2015-01-01 02:18:42,bin8322,35,False +CTSPillarNetworkA,8323,8323,8323,1992-10-15,832.3000000001207,832.24384,2015-01-01 02:18:43,bin8323,75,False +CTSPillarNetworkA,8324,8324,8324,1992-10-16,832.4000000001207,832.3438,2015-01-01 02:18:44,bin8324,35,False +CTSPillarNetworkA,8325,8325,8325,1992-10-17,832.5000000001207,832.4438,2015-01-01 02:18:45,bin8325,75,False +CTSPillarNetworkA,8326,8326,8326,1992-10-18,832.6000000001208,832.54376,2015-01-01 02:18:46,bin8326,35,False +CTSPillarNetworkA,8327,8327,8327,1992-10-19,832.7000000001208,832.64374,2015-01-01 02:18:47,bin8327,75,False +CTSPillarNetworkA,8328,8328,8328,1992-10-20,832.8000000001208,832.7437,2015-01-01 02:18:48,bin8328,35,False +CTSPillarNetworkA,8329,8329,8329,1992-10-21,832.9000000001208,832.8437,2015-01-01 02:18:49,bin8329,75,False +CTSPillarNetworkA,8330,8330,8330,1992-10-22,833.0000000001208,832.94366,2015-01-01 02:18:50,bin8330,35,False +CTSPillarNetworkA,8331,8331,8331,1992-10-23,833.1000000001209,833.04364,2015-01-01 02:18:51,bin8331,75,False +CTSPillarNetworkA,8332,8332,8332,1992-10-24,833.2000000001209,833.1436,2015-01-01 02:18:52,bin8332,35,False +CTSPillarNetworkA,8333,8333,8333,1992-10-25,833.3000000001209,833.2436,2015-01-01 02:18:53,bin8333,75,False +CTSPillarNetworkA,8334,8334,8334,1992-10-26,833.4000000001209,833.34357,2015-01-01 02:18:54,bin8334,35,False +CTSPillarNetworkA,8335,8335,8335,1992-10-27,833.500000000121,833.44354,2015-01-01 02:18:55,bin8335,75,False +CTSPillarNetworkA,8336,8336,8336,1992-10-28,833.600000000121,833.5435,2015-01-01 02:18:56,bin8336,35,False +CTSPillarNetworkA,8337,8337,8337,1992-10-29,833.700000000121,833.6435,2015-01-01 02:18:57,bin8337,75,False +CTSPillarNetworkA,8338,8338,8338,1992-10-30,833.800000000121,833.74347,2015-01-01 02:18:58,bin8338,35,False +CTSPillarNetworkA,8339,8339,8339,1992-10-31,833.900000000121,833.84344,2015-01-01 02:18:59,bin8339,75,False +CTSPillarNetworkA,8340,8340,8340,1992-11-01,834.0000000001211,833.9434,2015-01-01 02:19:00,bin8340,35,False +CTSPillarNetworkA,8341,8341,8341,1992-11-02,834.1000000001211,834.0434,2015-01-01 02:19:01,bin8341,75,False +CTSPillarNetworkA,8342,8342,8342,1992-11-03,834.2000000001211,834.1434,2015-01-01 02:19:02,bin8342,35,False +CTSPillarNetworkA,8343,8343,8343,1992-11-04,834.3000000001211,834.24335,2015-01-01 02:19:03,bin8343,75,False +CTSPillarNetworkA,8344,8344,8344,1992-11-05,834.4000000001212,834.3433,2015-01-01 02:19:04,bin8344,35,False +CTSPillarNetworkA,8345,8345,8345,1992-11-06,834.5000000001212,834.4433,2015-01-01 02:19:05,bin8345,75,False +CTSPillarNetworkA,8346,8346,8346,1992-11-07,834.6000000001212,834.5433,2015-01-01 02:19:06,bin8346,35,False +CTSPillarNetworkA,8347,8347,8347,1992-11-08,834.7000000001212,834.64325,2015-01-01 02:19:07,bin8347,75,False +CTSPillarNetworkA,8348,8348,8348,1992-11-09,834.8000000001213,834.7432,2015-01-01 02:19:08,bin8348,35,False +CTSPillarNetworkA,8349,8349,8349,1992-11-10,834.9000000001213,834.8432,2015-01-01 02:19:09,bin8349,75,False +CTSPillarNetworkA,8350,8350,8350,1992-11-11,835.0000000001213,834.9432,2015-01-01 02:19:10,bin8350,35,False +CTSPillarNetworkA,8351,8351,8351,1992-11-12,835.1000000001213,835.04315,2015-01-01 02:19:11,bin8351,75,False +CTSPillarNetworkA,8352,8352,8352,1992-11-13,835.2000000001213,835.1431,2015-01-01 02:19:12,bin8352,35,False +CTSPillarNetworkA,8353,8353,8353,1992-11-14,835.3000000001214,835.2431,2015-01-01 02:19:13,bin8353,75,False +CTSPillarNetworkA,8354,8354,8354,1992-11-15,835.4000000001214,835.3431,2015-01-01 02:19:14,bin8354,35,False +CTSPillarNetworkA,8355,8355,8355,1992-11-16,835.5000000001214,835.44305,2015-01-01 02:19:15,bin8355,75,False +CTSPillarNetworkA,8356,8356,8356,1992-11-17,835.6000000001214,835.543,2015-01-01 02:19:16,bin8356,35,False +CTSPillarNetworkA,8357,8357,8357,1992-11-18,835.7000000001215,835.643,2015-01-01 02:19:17,bin8357,75,False +CTSPillarNetworkA,8358,8358,8358,1992-11-19,835.8000000001215,835.743,2015-01-01 02:19:18,bin8358,35,False +CTSPillarNetworkA,8359,8359,8359,1992-11-20,835.9000000001215,835.84296,2015-01-01 02:19:19,bin8359,75,False +CTSPillarNetworkA,8360,8360,8360,1992-11-21,836.0000000001215,835.94293,2015-01-01 02:19:20,bin8360,35,False +CTSPillarNetworkA,8361,8361,8361,1992-11-22,836.1000000001216,836.0429,2015-01-01 02:19:21,bin8361,75,False +CTSPillarNetworkA,8362,8362,8362,1992-11-23,836.2000000001216,836.1429,2015-01-01 02:19:22,bin8362,35,False +CTSPillarNetworkA,8363,8363,8363,1992-11-24,836.3000000001216,836.24286,2015-01-01 02:19:23,bin8363,75,False +CTSPillarNetworkA,8364,8364,8364,1992-11-25,836.4000000001216,836.34283,2015-01-01 02:19:24,bin8364,35,False +CTSPillarNetworkA,8365,8365,8365,1992-11-26,836.5000000001216,836.4428,2015-01-01 02:19:25,bin8365,75,False +CTSPillarNetworkA,8366,8366,8366,1992-11-27,836.6000000001217,836.5428,2015-01-01 02:19:26,bin8366,35,False +CTSPillarNetworkA,8367,8367,8367,1992-11-28,836.7000000001217,836.64276,2015-01-01 02:19:27,bin8367,75,False +CTSPillarNetworkA,8368,8368,8368,1992-11-29,836.8000000001217,836.74274,2015-01-01 02:19:28,bin8368,35,False +CTSPillarNetworkA,8369,8369,8369,1992-11-30,836.9000000001217,836.8427,2015-01-01 02:19:29,bin8369,75,False +CTSPillarNetworkA,8370,8370,8370,1992-12-01,837.0000000001218,836.9427,2015-01-01 02:19:30,bin8370,35,False +CTSPillarNetworkA,8371,8371,8371,1992-12-02,837.1000000001218,837.04266,2015-01-01 02:19:31,bin8371,75,False +CTSPillarNetworkA,8372,8372,8372,1992-12-03,837.2000000001218,837.14264,2015-01-01 02:19:32,bin8372,35,False +CTSPillarNetworkA,8373,8373,8373,1992-12-04,837.3000000001218,837.2426,2015-01-01 02:19:33,bin8373,75,False +CTSPillarNetworkA,8374,8374,8374,1992-12-05,837.4000000001218,837.3426,2015-01-01 02:19:34,bin8374,35,False +CTSPillarNetworkA,8375,8375,8375,1992-12-06,837.5000000001219,837.44257,2015-01-01 02:19:35,bin8375,75,False +CTSPillarNetworkA,8376,8376,8376,1992-12-07,837.6000000001219,837.54254,2015-01-01 02:19:36,bin8376,35,False +CTSPillarNetworkA,8377,8377,8377,1992-12-08,837.7000000001219,837.6425,2015-01-01 02:19:37,bin8377,75,False +CTSPillarNetworkA,8378,8378,8378,1992-12-09,837.8000000001219,837.7425,2015-01-01 02:19:38,bin8378,35,False +CTSPillarNetworkA,8379,8379,8379,1992-12-10,837.900000000122,837.84247,2015-01-01 02:19:39,bin8379,75,False +CTSPillarNetworkA,8380,8380,8380,1992-12-11,838.000000000122,837.94244,2015-01-01 02:19:40,bin8380,35,False +CTSPillarNetworkA,8381,8381,8381,1992-12-12,838.100000000122,838.0424,2015-01-01 02:19:41,bin8381,75,False +CTSPillarNetworkA,8382,8382,8382,1992-12-13,838.200000000122,838.1424,2015-01-01 02:19:42,bin8382,35,False +CTSPillarNetworkA,8383,8383,8383,1992-12-14,838.300000000122,838.2424,2015-01-01 02:19:43,bin8383,75,False +CTSPillarNetworkA,8384,8384,8384,1992-12-15,838.4000000001221,838.34235,2015-01-01 02:19:44,bin8384,35,False +CTSPillarNetworkA,8385,8385,8385,1992-12-16,838.5000000001221,838.4423,2015-01-01 02:19:45,bin8385,75,False +CTSPillarNetworkA,8386,8386,8386,1992-12-17,838.6000000001221,838.5423,2015-01-01 02:19:46,bin8386,35,False +CTSPillarNetworkA,8387,8387,8387,1992-12-18,838.7000000001221,838.6423,2015-01-01 02:19:47,bin8387,75,False +CTSPillarNetworkA,8388,8388,8388,1992-12-19,838.8000000001222,838.74225,2015-01-01 02:19:48,bin8388,35,False +CTSPillarNetworkA,8389,8389,8389,1992-12-20,838.9000000001222,838.8422,2015-01-01 02:19:49,bin8389,75,False +CTSPillarNetworkA,8390,8390,8390,1992-12-21,839.0000000001222,838.9422,2015-01-01 02:19:50,bin8390,35,False +CTSPillarNetworkA,8391,8391,8391,1992-12-22,839.1000000001222,839.0422,2015-01-01 02:19:51,bin8391,75,False +CTSPillarNetworkA,8392,8392,8392,1992-12-23,839.2000000001223,839.14215,2015-01-01 02:19:52,bin8392,35,False +CTSPillarNetworkA,8393,8393,8393,1992-12-24,839.3000000001223,839.2421,2015-01-01 02:19:53,bin8393,75,False +CTSPillarNetworkA,8394,8394,8394,1992-12-25,839.4000000001223,839.3421,2015-01-01 02:19:54,bin8394,35,False +CTSPillarNetworkA,8395,8395,8395,1992-12-26,839.5000000001223,839.4421,2015-01-01 02:19:55,bin8395,75,False +CTSPillarNetworkA,8396,8396,8396,1992-12-27,839.6000000001223,839.54205,2015-01-01 02:19:56,bin8396,35,False +CTSPillarNetworkA,8397,8397,8397,1992-12-28,839.7000000001224,839.642,2015-01-01 02:19:57,bin8397,75,False +CTSPillarNetworkA,8398,8398,8398,1992-12-29,839.8000000001224,839.742,2015-01-01 02:19:58,bin8398,35,False +CTSPillarNetworkA,8399,8399,8399,1992-12-30,839.9000000001224,839.842,2015-01-01 02:19:59,bin8399,75,False +CTSPillarNetworkA,8400,8400,8400,1992-12-31,840.0000000001224,839.94196,2015-01-01 02:20:00,bin8400,35,False +CTSPillarNetworkA,8401,8401,8401,1993-01-01,840.1000000001225,840.04193,2015-01-01 02:20:01,bin8401,75,False +CTSPillarNetworkA,8402,8402,8402,1993-01-02,840.2000000001225,840.1419,2015-01-01 02:20:02,bin8402,35,False +CTSPillarNetworkA,8403,8403,8403,1993-01-03,840.3000000001225,840.2419,2015-01-01 02:20:03,bin8403,75,False +CTSPillarNetworkA,8404,8404,8404,1993-01-04,840.4000000001225,840.34186,2015-01-01 02:20:04,bin8404,35,False +CTSPillarNetworkA,8405,8405,8405,1993-01-05,840.5000000001226,840.44183,2015-01-01 02:20:05,bin8405,75,False +CTSPillarNetworkA,8406,8406,8406,1993-01-06,840.6000000001226,840.5418,2015-01-01 02:20:06,bin8406,35,False +CTSPillarNetworkA,8407,8407,8407,1993-01-07,840.7000000001226,840.6418,2015-01-01 02:20:07,bin8407,75,False +CTSPillarNetworkA,8408,8408,8408,1993-01-08,840.8000000001226,840.74176,2015-01-01 02:20:08,bin8408,35,False +CTSPillarNetworkA,8409,8409,8409,1993-01-09,840.9000000001226,840.84174,2015-01-01 02:20:09,bin8409,75,False +CTSPillarNetworkA,8410,8410,8410,1993-01-10,841.0000000001227,840.9417,2015-01-01 02:20:10,bin8410,35,False +CTSPillarNetworkA,8411,8411,8411,1993-01-11,841.1000000001227,841.0417,2015-01-01 02:20:11,bin8411,75,False +CTSPillarNetworkA,8412,8412,8412,1993-01-12,841.2000000001227,841.14166,2015-01-01 02:20:12,bin8412,35,False +CTSPillarNetworkA,8413,8413,8413,1993-01-13,841.3000000001227,841.24164,2015-01-01 02:20:13,bin8413,75,False +CTSPillarNetworkA,8414,8414,8414,1993-01-14,841.4000000001228,841.3416,2015-01-01 02:20:14,bin8414,35,False +CTSPillarNetworkA,8415,8415,8415,1993-01-15,841.5000000001228,841.4416,2015-01-01 02:20:15,bin8415,75,False +CTSPillarNetworkA,8416,8416,8416,1993-01-16,841.6000000001228,841.54156,2015-01-01 02:20:16,bin8416,35,False +CTSPillarNetworkA,8417,8417,8417,1993-01-17,841.7000000001228,841.64154,2015-01-01 02:20:17,bin8417,75,False +CTSPillarNetworkA,8418,8418,8418,1993-01-18,841.8000000001228,841.7415,2015-01-01 02:20:18,bin8418,35,False +CTSPillarNetworkA,8419,8419,8419,1993-01-19,841.9000000001229,841.8415,2015-01-01 02:20:19,bin8419,75,False +CTSPillarNetworkA,8420,8420,8420,1993-01-20,842.0000000001229,841.94147,2015-01-01 02:20:20,bin8420,35,False +CTSPillarNetworkA,8421,8421,8421,1993-01-21,842.1000000001229,842.04144,2015-01-01 02:20:21,bin8421,75,False +CTSPillarNetworkA,8422,8422,8422,1993-01-22,842.2000000001229,842.1414,2015-01-01 02:20:22,bin8422,35,False +CTSPillarNetworkA,8423,8423,8423,1993-01-23,842.300000000123,842.2414,2015-01-01 02:20:23,bin8423,75,False +CTSPillarNetworkA,8424,8424,8424,1993-01-24,842.400000000123,842.3414,2015-01-01 02:20:24,bin8424,35,False +CTSPillarNetworkA,8425,8425,8425,1993-01-25,842.500000000123,842.44135,2015-01-01 02:20:25,bin8425,75,False +CTSPillarNetworkA,8426,8426,8426,1993-01-26,842.600000000123,842.5413,2015-01-01 02:20:26,bin8426,35,False +CTSPillarNetworkA,8427,8427,8427,1993-01-27,842.700000000123,842.6413,2015-01-01 02:20:27,bin8427,75,False +CTSPillarNetworkA,8428,8428,8428,1993-01-28,842.8000000001231,842.7413,2015-01-01 02:20:28,bin8428,35,False +CTSPillarNetworkA,8429,8429,8429,1993-01-29,842.9000000001231,842.84125,2015-01-01 02:20:29,bin8429,75,False +CTSPillarNetworkA,8430,8430,8430,1993-01-30,843.0000000001231,842.9412,2015-01-01 02:20:30,bin8430,35,False +CTSPillarNetworkA,8431,8431,8431,1993-01-31,843.1000000001231,843.0412,2015-01-01 02:20:31,bin8431,75,False +CTSPillarNetworkA,8432,8432,8432,1993-02-01,843.2000000001232,843.1412,2015-01-01 02:20:32,bin8432,35,False +CTSPillarNetworkA,8433,8433,8433,1993-02-02,843.3000000001232,843.24115,2015-01-01 02:20:33,bin8433,75,False +CTSPillarNetworkA,8434,8434,8434,1993-02-03,843.4000000001232,843.3411,2015-01-01 02:20:34,bin8434,35,False +CTSPillarNetworkA,8435,8435,8435,1993-02-04,843.5000000001232,843.4411,2015-01-01 02:20:35,bin8435,75,False +CTSPillarNetworkA,8436,8436,8436,1993-02-05,843.6000000001233,843.5411,2015-01-01 02:20:36,bin8436,35,False +CTSPillarNetworkA,8437,8437,8437,1993-02-06,843.7000000001233,843.64105,2015-01-01 02:20:37,bin8437,75,False +CTSPillarNetworkA,8438,8438,8438,1993-02-07,843.8000000001233,843.741,2015-01-01 02:20:38,bin8438,35,False +CTSPillarNetworkA,8439,8439,8439,1993-02-08,843.9000000001233,843.841,2015-01-01 02:20:39,bin8439,75,False +CTSPillarNetworkA,8440,8440,8440,1993-02-09,844.0000000001234,843.941,2015-01-01 02:20:40,bin8440,35,False +CTSPillarNetworkA,8441,8441,8441,1993-02-10,844.1000000001234,844.04095,2015-01-01 02:20:41,bin8441,75,False +CTSPillarNetworkA,8442,8442,8442,1993-02-11,844.2000000001234,844.1409,2015-01-01 02:20:42,bin8442,35,False +CTSPillarNetworkA,8443,8443,8443,1993-02-12,844.3000000001234,844.2409,2015-01-01 02:20:43,bin8443,75,False +CTSPillarNetworkA,8444,8444,8444,1993-02-13,844.4000000001234,844.3409,2015-01-01 02:20:44,bin8444,35,False +CTSPillarNetworkA,8445,8445,8445,1993-02-14,844.5000000001235,844.44086,2015-01-01 02:20:45,bin8445,75,False +CTSPillarNetworkA,8446,8446,8446,1993-02-15,844.6000000001235,844.54083,2015-01-01 02:20:46,bin8446,35,False +CTSPillarNetworkA,8447,8447,8447,1993-02-16,844.7000000001235,844.6408,2015-01-01 02:20:47,bin8447,75,False +CTSPillarNetworkA,8448,8448,8448,1993-02-17,844.8000000001235,844.7408,2015-01-01 02:20:48,bin8448,35,False +CTSPillarNetworkA,8449,8449,8449,1993-02-18,844.9000000001236,844.84076,2015-01-01 02:20:49,bin8449,75,False +CTSPillarNetworkA,8450,8450,8450,1993-02-19,845.0000000001236,844.94073,2015-01-01 02:20:50,bin8450,35,False +CTSPillarNetworkA,8451,8451,8451,1993-02-20,845.1000000001236,845.0407,2015-01-01 02:20:51,bin8451,75,False +CTSPillarNetworkA,8452,8452,8452,1993-02-21,845.2000000001236,845.1407,2015-01-01 02:20:52,bin8452,35,False +CTSPillarNetworkA,8453,8453,8453,1993-02-22,845.3000000001236,845.24066,2015-01-01 02:20:53,bin8453,75,False +CTSPillarNetworkA,8454,8454,8454,1993-02-23,845.4000000001237,845.34064,2015-01-01 02:20:54,bin8454,35,False +CTSPillarNetworkA,8455,8455,8455,1993-02-24,845.5000000001237,845.4406,2015-01-01 02:20:55,bin8455,75,False +CTSPillarNetworkA,8456,8456,8456,1993-02-25,845.6000000001237,845.5406,2015-01-01 02:20:56,bin8456,35,False +CTSPillarNetworkA,8457,8457,8457,1993-02-26,845.7000000001237,845.64056,2015-01-01 02:20:57,bin8457,75,False +CTSPillarNetworkA,8458,8458,8458,1993-02-27,845.8000000001238,845.74054,2015-01-01 02:20:58,bin8458,35,False +CTSPillarNetworkA,8459,8459,8459,1993-02-28,845.9000000001238,845.8405,2015-01-01 02:20:59,bin8459,75,False +CTSPillarNetworkA,8460,8460,8460,1993-03-01,846.0000000001238,845.9405,2015-01-01 02:21:00,bin8460,35,False +CTSPillarNetworkA,8461,8461,8461,1993-03-02,846.1000000001238,846.04047,2015-01-01 02:21:01,bin8461,75,False +CTSPillarNetworkA,8462,8462,8462,1993-03-03,846.2000000001239,846.14044,2015-01-01 02:21:02,bin8462,35,False +CTSPillarNetworkA,8463,8463,8463,1993-03-04,846.3000000001239,846.2404,2015-01-01 02:21:03,bin8463,75,False +CTSPillarNetworkA,8464,8464,8464,1993-03-05,846.4000000001239,846.3404,2015-01-01 02:21:04,bin8464,35,False +CTSPillarNetworkA,8465,8465,8465,1993-03-06,846.5000000001239,846.44037,2015-01-01 02:21:05,bin8465,75,False +CTSPillarNetworkA,8466,8466,8466,1993-03-07,846.6000000001239,846.54034,2015-01-01 02:21:06,bin8466,35,False +CTSPillarNetworkA,8467,8467,8467,1993-03-08,846.700000000124,846.6403,2015-01-01 02:21:07,bin8467,75,False +CTSPillarNetworkA,8468,8468,8468,1993-03-09,846.800000000124,846.7403,2015-01-01 02:21:08,bin8468,35,False +CTSPillarNetworkA,8469,8469,8469,1993-03-10,846.900000000124,846.8403,2015-01-01 02:21:09,bin8469,75,False +CTSPillarNetworkA,8470,8470,8470,1993-03-11,847.000000000124,846.94025,2015-01-01 02:21:10,bin8470,35,False +CTSPillarNetworkA,8471,8471,8471,1993-03-12,847.100000000124,847.0402,2015-01-01 02:21:11,bin8471,75,False +CTSPillarNetworkA,8472,8472,8472,1993-03-13,847.2000000001241,847.1402,2015-01-01 02:21:12,bin8472,35,False +CTSPillarNetworkA,8473,8473,8473,1993-03-14,847.3000000001241,847.2402,2015-01-01 02:21:13,bin8473,75,False +CTSPillarNetworkA,8474,8474,8474,1993-03-15,847.4000000001241,847.34015,2015-01-01 02:21:14,bin8474,35,False +CTSPillarNetworkA,8475,8475,8475,1993-03-16,847.5000000001241,847.4401,2015-01-01 02:21:15,bin8475,75,False +CTSPillarNetworkA,8476,8476,8476,1993-03-17,847.6000000001242,847.5401,2015-01-01 02:21:16,bin8476,35,False +CTSPillarNetworkA,8477,8477,8477,1993-03-18,847.7000000001242,847.6401,2015-01-01 02:21:17,bin8477,75,False +CTSPillarNetworkA,8478,8478,8478,1993-03-19,847.8000000001242,847.74005,2015-01-01 02:21:18,bin8478,35,False +CTSPillarNetworkA,8479,8479,8479,1993-03-20,847.9000000001242,847.84,2015-01-01 02:21:19,bin8479,75,False +CTSPillarNetworkA,8480,8480,8480,1993-03-21,848.0000000001243,847.94,2015-01-01 02:21:20,bin8480,35,False +CTSPillarNetworkA,8481,8481,8481,1993-03-22,848.1000000001243,848.04,2015-01-01 02:21:21,bin8481,75,False +CTSPillarNetworkA,8482,8482,8482,1993-03-23,848.2000000001243,848.13995,2015-01-01 02:21:22,bin8482,35,False +CTSPillarNetworkA,8483,8483,8483,1993-03-24,848.3000000001243,848.2399,2015-01-01 02:21:23,bin8483,75,False +CTSPillarNetworkA,8484,8484,8484,1993-03-25,848.4000000001244,848.3399,2015-01-01 02:21:24,bin8484,35,False +CTSPillarNetworkA,8485,8485,8485,1993-03-26,848.5000000001244,848.4399,2015-01-01 02:21:25,bin8485,75,False +CTSPillarNetworkA,8486,8486,8486,1993-03-27,848.6000000001244,848.53986,2015-01-01 02:21:26,bin8486,35,False +CTSPillarNetworkA,8487,8487,8487,1993-03-28,848.7000000001244,848.63983,2015-01-01 02:21:27,bin8487,75,False +CTSPillarNetworkA,8488,8488,8488,1993-03-29,848.8000000001244,848.7398,2015-01-01 02:21:28,bin8488,35,False +CTSPillarNetworkA,8489,8489,8489,1993-03-30,848.9000000001245,848.8398,2015-01-01 02:21:29,bin8489,75,False +CTSPillarNetworkA,8490,8490,8490,1993-03-31,849.0000000001245,848.93976,2015-01-01 02:21:30,bin8490,35,False +CTSPillarNetworkA,8491,8491,8491,1993-04-01,849.1000000001245,849.03973,2015-01-01 02:21:31,bin8491,75,False +CTSPillarNetworkA,8492,8492,8492,1993-04-02,849.2000000001245,849.1397,2015-01-01 02:21:32,bin8492,35,False +CTSPillarNetworkA,8493,8493,8493,1993-04-03,849.3000000001246,849.2397,2015-01-01 02:21:33,bin8493,75,False +CTSPillarNetworkA,8494,8494,8494,1993-04-04,849.4000000001246,849.33966,2015-01-01 02:21:34,bin8494,35,False +CTSPillarNetworkA,8495,8495,8495,1993-04-05,849.5000000001246,849.43964,2015-01-01 02:21:35,bin8495,75,False +CTSPillarNetworkA,8496,8496,8496,1993-04-06,849.6000000001246,849.5396,2015-01-01 02:21:36,bin8496,35,False +CTSPillarNetworkA,8497,8497,8497,1993-04-07,849.7000000001246,849.6396,2015-01-01 02:21:37,bin8497,75,False +CTSPillarNetworkA,8498,8498,8498,1993-04-08,849.8000000001247,849.73956,2015-01-01 02:21:38,bin8498,35,False +CTSPillarNetworkA,8499,8499,8499,1993-04-09,849.9000000001247,849.83954,2015-01-01 02:21:39,bin8499,75,False +CTSPillarNetworkA,8500,8500,8500,1993-04-10,850.0000000001247,849.9395,2015-01-01 02:21:40,bin8500,35,False +CTSPillarNetworkA,8501,8501,8501,1993-04-11,850.1000000001247,850.0395,2015-01-01 02:21:41,bin8501,75,False +CTSPillarNetworkA,8502,8502,8502,1993-04-12,850.2000000001248,850.13947,2015-01-01 02:21:42,bin8502,35,False +CTSPillarNetworkA,8503,8503,8503,1993-04-13,850.3000000001248,850.23944,2015-01-01 02:21:43,bin8503,75,False +CTSPillarNetworkA,8504,8504,8504,1993-04-14,850.4000000001248,850.3394,2015-01-01 02:21:44,bin8504,35,False +CTSPillarNetworkA,8505,8505,8505,1993-04-15,850.5000000001248,850.4394,2015-01-01 02:21:45,bin8505,75,False +CTSPillarNetworkA,8506,8506,8506,1993-04-16,850.6000000001249,850.53937,2015-01-01 02:21:46,bin8506,35,False +CTSPillarNetworkA,8507,8507,8507,1993-04-17,850.7000000001249,850.63934,2015-01-01 02:21:47,bin8507,75,False +CTSPillarNetworkA,8508,8508,8508,1993-04-18,850.8000000001249,850.7393,2015-01-01 02:21:48,bin8508,35,False +CTSPillarNetworkA,8509,8509,8509,1993-04-19,850.9000000001249,850.8393,2015-01-01 02:21:49,bin8509,75,False +CTSPillarNetworkA,8510,8510,8510,1993-04-20,851.0000000001249,850.9393,2015-01-01 02:21:50,bin8510,35,False +CTSPillarNetworkA,8511,8511,8511,1993-04-21,851.100000000125,851.03925,2015-01-01 02:21:51,bin8511,75,False +CTSPillarNetworkA,8512,8512,8512,1993-04-22,851.200000000125,851.1392,2015-01-01 02:21:52,bin8512,35,False +CTSPillarNetworkA,8513,8513,8513,1993-04-23,851.300000000125,851.2392,2015-01-01 02:21:53,bin8513,75,False +CTSPillarNetworkA,8514,8514,8514,1993-04-24,851.400000000125,851.3392,2015-01-01 02:21:54,bin8514,35,False +CTSPillarNetworkA,8515,8515,8515,1993-04-25,851.500000000125,851.43915,2015-01-01 02:21:55,bin8515,75,False +CTSPillarNetworkA,8516,8516,8516,1993-04-26,851.6000000001251,851.5391,2015-01-01 02:21:56,bin8516,35,False +CTSPillarNetworkA,8517,8517,8517,1993-04-27,851.7000000001251,851.6391,2015-01-01 02:21:57,bin8517,75,False +CTSPillarNetworkA,8518,8518,8518,1993-04-28,851.8000000001251,851.7391,2015-01-01 02:21:58,bin8518,35,False +CTSPillarNetworkA,8519,8519,8519,1993-04-29,851.9000000001251,851.83905,2015-01-01 02:21:59,bin8519,75,False +CTSPillarNetworkA,8520,8520,8520,1993-04-30,852.0000000001252,851.939,2015-01-01 02:22:00,bin8520,35,False +CTSPillarNetworkA,8521,8521,8521,1993-05-01,852.1000000001252,852.039,2015-01-01 02:22:01,bin8521,75,False +CTSPillarNetworkA,8522,8522,8522,1993-05-02,852.2000000001252,852.139,2015-01-01 02:22:02,bin8522,35,False +CTSPillarNetworkA,8523,8523,8523,1993-05-03,852.3000000001252,852.23895,2015-01-01 02:22:03,bin8523,75,False +CTSPillarNetworkA,8524,8524,8524,1993-05-04,852.4000000001253,852.3389,2015-01-01 02:22:04,bin8524,35,False +CTSPillarNetworkA,8525,8525,8525,1993-05-05,852.5000000001253,852.4389,2015-01-01 02:22:05,bin8525,75,False +CTSPillarNetworkA,8526,8526,8526,1993-05-06,852.6000000001253,852.5389,2015-01-01 02:22:06,bin8526,35,False +CTSPillarNetworkA,8527,8527,8527,1993-05-07,852.7000000001253,852.63885,2015-01-01 02:22:07,bin8527,75,False +CTSPillarNetworkA,8528,8528,8528,1993-05-08,852.8000000001254,852.73883,2015-01-01 02:22:08,bin8528,35,False +CTSPillarNetworkA,8529,8529,8529,1993-05-09,852.9000000001254,852.8388,2015-01-01 02:22:09,bin8529,75,False +CTSPillarNetworkA,8530,8530,8530,1993-05-10,853.0000000001254,852.9388,2015-01-01 02:22:10,bin8530,35,False +CTSPillarNetworkA,8531,8531,8531,1993-05-11,853.1000000001254,853.03876,2015-01-01 02:22:11,bin8531,75,False +CTSPillarNetworkA,8532,8532,8532,1993-05-12,853.2000000001254,853.13873,2015-01-01 02:22:12,bin8532,35,False +CTSPillarNetworkA,8533,8533,8533,1993-05-13,853.3000000001255,853.2387,2015-01-01 02:22:13,bin8533,75,False +CTSPillarNetworkA,8534,8534,8534,1993-05-14,853.4000000001255,853.3387,2015-01-01 02:22:14,bin8534,35,False +CTSPillarNetworkA,8535,8535,8535,1993-05-15,853.5000000001255,853.43866,2015-01-01 02:22:15,bin8535,75,False +CTSPillarNetworkA,8536,8536,8536,1993-05-16,853.6000000001255,853.53864,2015-01-01 02:22:16,bin8536,35,False +CTSPillarNetworkA,8537,8537,8537,1993-05-17,853.7000000001256,853.6386,2015-01-01 02:22:17,bin8537,75,False +CTSPillarNetworkA,8538,8538,8538,1993-05-18,853.8000000001256,853.7386,2015-01-01 02:22:18,bin8538,35,False +CTSPillarNetworkA,8539,8539,8539,1993-05-19,853.9000000001256,853.83856,2015-01-01 02:22:19,bin8539,75,False +CTSPillarNetworkA,8540,8540,8540,1993-05-20,854.0000000001256,853.93854,2015-01-01 02:22:20,bin8540,35,False +CTSPillarNetworkA,8541,8541,8541,1993-05-21,854.1000000001256,854.0385,2015-01-01 02:22:21,bin8541,75,False +CTSPillarNetworkA,8542,8542,8542,1993-05-22,854.2000000001257,854.1385,2015-01-01 02:22:22,bin8542,35,False +CTSPillarNetworkA,8543,8543,8543,1993-05-23,854.3000000001257,854.23846,2015-01-01 02:22:23,bin8543,75,False +CTSPillarNetworkA,8544,8544,8544,1993-05-24,854.4000000001257,854.33844,2015-01-01 02:22:24,bin8544,35,False +CTSPillarNetworkA,8545,8545,8545,1993-05-25,854.5000000001257,854.4384,2015-01-01 02:22:25,bin8545,75,False +CTSPillarNetworkA,8546,8546,8546,1993-05-26,854.6000000001258,854.5384,2015-01-01 02:22:26,bin8546,35,False +CTSPillarNetworkA,8547,8547,8547,1993-05-27,854.7000000001258,854.63837,2015-01-01 02:22:27,bin8547,75,False +CTSPillarNetworkA,8548,8548,8548,1993-05-28,854.8000000001258,854.73834,2015-01-01 02:22:28,bin8548,35,False +CTSPillarNetworkA,8549,8549,8549,1993-05-29,854.9000000001258,854.8383,2015-01-01 02:22:29,bin8549,75,False +CTSPillarNetworkA,8550,8550,8550,1993-05-30,855.0000000001259,854.9383,2015-01-01 02:22:30,bin8550,35,False +CTSPillarNetworkA,8551,8551,8551,1993-05-31,855.1000000001259,855.03827,2015-01-01 02:22:31,bin8551,75,False +CTSPillarNetworkA,8552,8552,8552,1993-06-01,855.2000000001259,855.13824,2015-01-01 02:22:32,bin8552,35,False +CTSPillarNetworkA,8553,8553,8553,1993-06-02,855.3000000001259,855.2382,2015-01-01 02:22:33,bin8553,75,False +CTSPillarNetworkA,8554,8554,8554,1993-06-03,855.4000000001259,855.3382,2015-01-01 02:22:34,bin8554,35,False +CTSPillarNetworkA,8555,8555,8555,1993-06-04,855.500000000126,855.4382,2015-01-01 02:22:35,bin8555,75,False +CTSPillarNetworkA,8556,8556,8556,1993-06-05,855.600000000126,855.53815,2015-01-01 02:22:36,bin8556,35,False +CTSPillarNetworkA,8557,8557,8557,1993-06-06,855.700000000126,855.6381,2015-01-01 02:22:37,bin8557,75,False +CTSPillarNetworkA,8558,8558,8558,1993-06-07,855.800000000126,855.7381,2015-01-01 02:22:38,bin8558,35,False +CTSPillarNetworkA,8559,8559,8559,1993-06-08,855.900000000126,855.8381,2015-01-01 02:22:39,bin8559,75,False +CTSPillarNetworkA,8560,8560,8560,1993-06-09,856.0000000001261,855.93805,2015-01-01 02:22:40,bin8560,35,False +CTSPillarNetworkA,8561,8561,8561,1993-06-10,856.1000000001261,856.038,2015-01-01 02:22:41,bin8561,75,False +CTSPillarNetworkA,8562,8562,8562,1993-06-11,856.2000000001261,856.138,2015-01-01 02:22:42,bin8562,35,False +CTSPillarNetworkA,8563,8563,8563,1993-06-12,856.3000000001261,856.238,2015-01-01 02:22:43,bin8563,75,False +CTSPillarNetworkA,8564,8564,8564,1993-06-13,856.4000000001262,856.33795,2015-01-01 02:22:44,bin8564,35,False +CTSPillarNetworkA,8565,8565,8565,1993-06-14,856.5000000001262,856.4379,2015-01-01 02:22:45,bin8565,75,False +CTSPillarNetworkA,8566,8566,8566,1993-06-15,856.6000000001262,856.5379,2015-01-01 02:22:46,bin8566,35,False +CTSPillarNetworkA,8567,8567,8567,1993-06-16,856.7000000001262,856.6379,2015-01-01 02:22:47,bin8567,75,False +CTSPillarNetworkA,8568,8568,8568,1993-06-17,856.8000000001263,856.73785,2015-01-01 02:22:48,bin8568,35,False +CTSPillarNetworkA,8569,8569,8569,1993-06-18,856.9000000001263,856.8378,2015-01-01 02:22:49,bin8569,75,False +CTSPillarNetworkA,8570,8570,8570,1993-06-19,857.0000000001263,856.9378,2015-01-01 02:22:50,bin8570,35,False +CTSPillarNetworkA,8571,8571,8571,1993-06-20,857.1000000001263,857.0378,2015-01-01 02:22:51,bin8571,75,False +CTSPillarNetworkA,8572,8572,8572,1993-06-21,857.2000000001264,857.13776,2015-01-01 02:22:52,bin8572,35,False +CTSPillarNetworkA,8573,8573,8573,1993-06-22,857.3000000001264,857.23773,2015-01-01 02:22:53,bin8573,75,False +CTSPillarNetworkA,8574,8574,8574,1993-06-23,857.4000000001264,857.3377,2015-01-01 02:22:54,bin8574,35,False +CTSPillarNetworkA,8575,8575,8575,1993-06-24,857.5000000001264,857.4377,2015-01-01 02:22:55,bin8575,75,False +CTSPillarNetworkA,8576,8576,8576,1993-06-25,857.6000000001264,857.53766,2015-01-01 02:22:56,bin8576,35,False +CTSPillarNetworkA,8577,8577,8577,1993-06-26,857.7000000001265,857.63763,2015-01-01 02:22:57,bin8577,75,False +CTSPillarNetworkA,8578,8578,8578,1993-06-27,857.8000000001265,857.7376,2015-01-01 02:22:58,bin8578,35,False +CTSPillarNetworkA,8579,8579,8579,1993-06-28,857.9000000001265,857.8376,2015-01-01 02:22:59,bin8579,75,False +CTSPillarNetworkA,8580,8580,8580,1993-06-29,858.0000000001265,857.93756,2015-01-01 02:23:00,bin8580,35,False +CTSPillarNetworkA,8581,8581,8581,1993-06-30,858.1000000001266,858.03754,2015-01-01 02:23:01,bin8581,75,False +CTSPillarNetworkA,8582,8582,8582,1993-07-01,858.2000000001266,858.1375,2015-01-01 02:23:02,bin8582,35,False +CTSPillarNetworkA,8583,8583,8583,1993-07-02,858.3000000001266,858.2375,2015-01-01 02:23:03,bin8583,75,False +CTSPillarNetworkA,8584,8584,8584,1993-07-03,858.4000000001266,858.33746,2015-01-01 02:23:04,bin8584,35,False +CTSPillarNetworkA,8585,8585,8585,1993-07-04,858.5000000001266,858.43744,2015-01-01 02:23:05,bin8585,75,False +CTSPillarNetworkA,8586,8586,8586,1993-07-05,858.6000000001267,858.5374,2015-01-01 02:23:06,bin8586,35,False +CTSPillarNetworkA,8587,8587,8587,1993-07-06,858.7000000001267,858.6374,2015-01-01 02:23:07,bin8587,75,False +CTSPillarNetworkA,8588,8588,8588,1993-07-07,858.8000000001267,858.73737,2015-01-01 02:23:08,bin8588,35,False +CTSPillarNetworkA,8589,8589,8589,1993-07-08,858.9000000001267,858.83734,2015-01-01 02:23:09,bin8589,75,False +CTSPillarNetworkA,8590,8590,8590,1993-07-09,859.0000000001268,858.9373,2015-01-01 02:23:10,bin8590,35,False +CTSPillarNetworkA,8591,8591,8591,1993-07-10,859.1000000001268,859.0373,2015-01-01 02:23:11,bin8591,75,False +CTSPillarNetworkA,8592,8592,8592,1993-07-11,859.2000000001268,859.13727,2015-01-01 02:23:12,bin8592,35,False +CTSPillarNetworkA,8593,8593,8593,1993-07-12,859.3000000001268,859.23724,2015-01-01 02:23:13,bin8593,75,False +CTSPillarNetworkA,8594,8594,8594,1993-07-13,859.4000000001269,859.3372,2015-01-01 02:23:14,bin8594,35,False +CTSPillarNetworkA,8595,8595,8595,1993-07-14,859.5000000001269,859.4372,2015-01-01 02:23:15,bin8595,75,False +CTSPillarNetworkA,8596,8596,8596,1993-07-15,859.6000000001269,859.5372,2015-01-01 02:23:16,bin8596,35,False +CTSPillarNetworkA,8597,8597,8597,1993-07-16,859.7000000001269,859.63715,2015-01-01 02:23:17,bin8597,75,False +CTSPillarNetworkA,8598,8598,8598,1993-07-17,859.8000000001269,859.7371,2015-01-01 02:23:18,bin8598,35,False +CTSPillarNetworkA,8599,8599,8599,1993-07-18,859.900000000127,859.8371,2015-01-01 02:23:19,bin8599,75,False +CTSPillarNetworkA,8600,8600,8600,1993-07-19,860.000000000127,859.9371,2015-01-01 02:23:20,bin8600,35,False +CTSPillarNetworkA,8601,8601,8601,1993-07-20,860.100000000127,860.03705,2015-01-01 02:23:21,bin8601,75,False +CTSPillarNetworkA,8602,8602,8602,1993-07-21,860.200000000127,860.137,2015-01-01 02:23:22,bin8602,35,False +CTSPillarNetworkA,8603,8603,8603,1993-07-22,860.300000000127,860.237,2015-01-01 02:23:23,bin8603,75,False +CTSPillarNetworkA,8604,8604,8604,1993-07-23,860.4000000001271,860.337,2015-01-01 02:23:24,bin8604,35,False +CTSPillarNetworkA,8605,8605,8605,1993-07-24,860.5000000001271,860.43695,2015-01-01 02:23:25,bin8605,75,False +CTSPillarNetworkA,8606,8606,8606,1993-07-25,860.6000000001271,860.5369,2015-01-01 02:23:26,bin8606,35,False +CTSPillarNetworkA,8607,8607,8607,1993-07-26,860.7000000001271,860.6369,2015-01-01 02:23:27,bin8607,75,False +CTSPillarNetworkA,8608,8608,8608,1993-07-27,860.8000000001272,860.7369,2015-01-01 02:23:28,bin8608,35,False +CTSPillarNetworkA,8609,8609,8609,1993-07-28,860.9000000001272,860.83685,2015-01-01 02:23:29,bin8609,75,False +CTSPillarNetworkA,8610,8610,8610,1993-07-29,861.0000000001272,860.9368,2015-01-01 02:23:30,bin8610,35,False +CTSPillarNetworkA,8611,8611,8611,1993-07-30,861.1000000001272,861.0368,2015-01-01 02:23:31,bin8611,75,False +CTSPillarNetworkA,8612,8612,8612,1993-07-31,861.2000000001273,861.1368,2015-01-01 02:23:32,bin8612,35,False +CTSPillarNetworkA,8613,8613,8613,1993-08-01,861.3000000001273,861.23676,2015-01-01 02:23:33,bin8613,75,False +CTSPillarNetworkA,8614,8614,8614,1993-08-02,861.4000000001273,861.33673,2015-01-01 02:23:34,bin8614,35,False +CTSPillarNetworkA,8615,8615,8615,1993-08-03,861.5000000001273,861.4367,2015-01-01 02:23:35,bin8615,75,False +CTSPillarNetworkA,8616,8616,8616,1993-08-04,861.6000000001274,861.5367,2015-01-01 02:23:36,bin8616,35,False +CTSPillarNetworkA,8617,8617,8617,1993-08-05,861.7000000001274,861.63666,2015-01-01 02:23:37,bin8617,75,False +CTSPillarNetworkA,8618,8618,8618,1993-08-06,861.8000000001274,861.73663,2015-01-01 02:23:38,bin8618,35,False +CTSPillarNetworkA,8619,8619,8619,1993-08-07,861.9000000001274,861.8366,2015-01-01 02:23:39,bin8619,75,False +CTSPillarNetworkA,8620,8620,8620,1993-08-08,862.0000000001274,861.9366,2015-01-01 02:23:40,bin8620,35,False +CTSPillarNetworkA,8621,8621,8621,1993-08-09,862.1000000001275,862.03656,2015-01-01 02:23:41,bin8621,75,False +CTSPillarNetworkA,8622,8622,8622,1993-08-10,862.2000000001275,862.13654,2015-01-01 02:23:42,bin8622,35,False +CTSPillarNetworkA,8623,8623,8623,1993-08-11,862.3000000001275,862.2365,2015-01-01 02:23:43,bin8623,75,False +CTSPillarNetworkA,8624,8624,8624,1993-08-12,862.4000000001275,862.3365,2015-01-01 02:23:44,bin8624,35,False +CTSPillarNetworkA,8625,8625,8625,1993-08-13,862.5000000001276,862.43646,2015-01-01 02:23:45,bin8625,75,False +CTSPillarNetworkA,8626,8626,8626,1993-08-14,862.6000000001276,862.53644,2015-01-01 02:23:46,bin8626,35,False +CTSPillarNetworkA,8627,8627,8627,1993-08-15,862.7000000001276,862.6364,2015-01-01 02:23:47,bin8627,75,False +CTSPillarNetworkA,8628,8628,8628,1993-08-16,862.8000000001276,862.7364,2015-01-01 02:23:48,bin8628,35,False +CTSPillarNetworkA,8629,8629,8629,1993-08-17,862.9000000001276,862.83636,2015-01-01 02:23:49,bin8629,75,False +CTSPillarNetworkA,8630,8630,8630,1993-08-18,863.0000000001277,862.93634,2015-01-01 02:23:50,bin8630,35,False +CTSPillarNetworkA,8631,8631,8631,1993-08-19,863.1000000001277,863.0363,2015-01-01 02:23:51,bin8631,75,False +CTSPillarNetworkA,8632,8632,8632,1993-08-20,863.2000000001277,863.1363,2015-01-01 02:23:52,bin8632,35,False +CTSPillarNetworkA,8633,8633,8633,1993-08-21,863.3000000001277,863.23627,2015-01-01 02:23:53,bin8633,75,False +CTSPillarNetworkA,8634,8634,8634,1993-08-22,863.4000000001278,863.33624,2015-01-01 02:23:54,bin8634,35,False +CTSPillarNetworkA,8635,8635,8635,1993-08-23,863.5000000001278,863.4362,2015-01-01 02:23:55,bin8635,75,False +CTSPillarNetworkA,8636,8636,8636,1993-08-24,863.6000000001278,863.5362,2015-01-01 02:23:56,bin8636,35,False +CTSPillarNetworkA,8637,8637,8637,1993-08-25,863.7000000001278,863.63617,2015-01-01 02:23:57,bin8637,75,False +CTSPillarNetworkA,8638,8638,8638,1993-08-26,863.8000000001279,863.73615,2015-01-01 02:23:58,bin8638,35,False +CTSPillarNetworkA,8639,8639,8639,1993-08-27,863.9000000001279,863.8361,2015-01-01 02:23:59,bin8639,75,False +CTSPillarNetworkA,8640,8640,8640,1993-08-28,864.0000000001279,863.9361,2015-01-01 02:24:00,bin8640,35,False +CTSPillarNetworkA,8641,8641,8641,1993-08-29,864.1000000001279,864.0361,2015-01-01 02:24:01,bin8641,75,False +CTSPillarNetworkA,8642,8642,8642,1993-08-30,864.200000000128,864.13605,2015-01-01 02:24:02,bin8642,35,False +CTSPillarNetworkA,8643,8643,8643,1993-08-31,864.300000000128,864.236,2015-01-01 02:24:03,bin8643,75,False +CTSPillarNetworkA,8644,8644,8644,1993-09-01,864.400000000128,864.336,2015-01-01 02:24:04,bin8644,35,False +CTSPillarNetworkA,8645,8645,8645,1993-09-02,864.500000000128,864.436,2015-01-01 02:24:05,bin8645,75,False +CTSPillarNetworkA,8646,8646,8646,1993-09-03,864.600000000128,864.53595,2015-01-01 02:24:06,bin8646,35,False +CTSPillarNetworkA,8647,8647,8647,1993-09-04,864.7000000001281,864.6359,2015-01-01 02:24:07,bin8647,75,False +CTSPillarNetworkA,8648,8648,8648,1993-09-05,864.8000000001281,864.7359,2015-01-01 02:24:08,bin8648,35,False +CTSPillarNetworkA,8649,8649,8649,1993-09-06,864.9000000001281,864.8359,2015-01-01 02:24:09,bin8649,75,False +CTSPillarNetworkA,8650,8650,8650,1993-09-07,865.0000000001281,864.93585,2015-01-01 02:24:10,bin8650,35,False +CTSPillarNetworkA,8651,8651,8651,1993-09-08,865.1000000001281,865.0358,2015-01-01 02:24:11,bin8651,75,False +CTSPillarNetworkA,8652,8652,8652,1993-09-09,865.2000000001282,865.1358,2015-01-01 02:24:12,bin8652,35,False +CTSPillarNetworkA,8653,8653,8653,1993-09-10,865.3000000001282,865.2358,2015-01-01 02:24:13,bin8653,75,False +CTSPillarNetworkA,8654,8654,8654,1993-09-11,865.4000000001282,865.33575,2015-01-01 02:24:14,bin8654,35,False +CTSPillarNetworkA,8655,8655,8655,1993-09-12,865.5000000001282,865.4357,2015-01-01 02:24:15,bin8655,75,False +CTSPillarNetworkA,8656,8656,8656,1993-09-13,865.6000000001283,865.5357,2015-01-01 02:24:16,bin8656,35,False +CTSPillarNetworkA,8657,8657,8657,1993-09-14,865.7000000001283,865.6357,2015-01-01 02:24:17,bin8657,75,False +CTSPillarNetworkA,8658,8658,8658,1993-09-15,865.8000000001283,865.73566,2015-01-01 02:24:18,bin8658,35,False +CTSPillarNetworkA,8659,8659,8659,1993-09-16,865.9000000001283,865.83563,2015-01-01 02:24:19,bin8659,75,False +CTSPillarNetworkA,8660,8660,8660,1993-09-17,866.0000000001284,865.9356,2015-01-01 02:24:20,bin8660,35,False +CTSPillarNetworkA,8661,8661,8661,1993-09-18,866.1000000001284,866.0356,2015-01-01 02:24:21,bin8661,75,False +CTSPillarNetworkA,8662,8662,8662,1993-09-19,866.2000000001284,866.13556,2015-01-01 02:24:22,bin8662,35,False +CTSPillarNetworkA,8663,8663,8663,1993-09-20,866.3000000001284,866.23553,2015-01-01 02:24:23,bin8663,75,False +CTSPillarNetworkA,8664,8664,8664,1993-09-21,866.4000000001284,866.3355,2015-01-01 02:24:24,bin8664,35,False +CTSPillarNetworkA,8665,8665,8665,1993-09-22,866.5000000001285,866.4355,2015-01-01 02:24:25,bin8665,75,False +CTSPillarNetworkA,8666,8666,8666,1993-09-23,866.6000000001285,866.53546,2015-01-01 02:24:26,bin8666,35,False +CTSPillarNetworkA,8667,8667,8667,1993-09-24,866.7000000001285,866.63544,2015-01-01 02:24:27,bin8667,75,False +CTSPillarNetworkA,8668,8668,8668,1993-09-25,866.8000000001285,866.7354,2015-01-01 02:24:28,bin8668,35,False +CTSPillarNetworkA,8669,8669,8669,1993-09-26,866.9000000001286,866.8354,2015-01-01 02:24:29,bin8669,75,False +CTSPillarNetworkA,8670,8670,8670,1993-09-27,867.0000000001286,866.93536,2015-01-01 02:24:30,bin8670,35,False +CTSPillarNetworkA,8671,8671,8671,1993-09-28,867.1000000001286,867.03534,2015-01-01 02:24:31,bin8671,75,False +CTSPillarNetworkA,8672,8672,8672,1993-09-29,867.2000000001286,867.1353,2015-01-01 02:24:32,bin8672,35,False +CTSPillarNetworkA,8673,8673,8673,1993-09-30,867.3000000001286,867.2353,2015-01-01 02:24:33,bin8673,75,False +CTSPillarNetworkA,8674,8674,8674,1993-10-01,867.4000000001287,867.33527,2015-01-01 02:24:34,bin8674,35,False +CTSPillarNetworkA,8675,8675,8675,1993-10-02,867.5000000001287,867.43524,2015-01-01 02:24:35,bin8675,75,False +CTSPillarNetworkA,8676,8676,8676,1993-10-03,867.6000000001287,867.5352,2015-01-01 02:24:36,bin8676,35,False +CTSPillarNetworkA,8677,8677,8677,1993-10-04,867.7000000001287,867.6352,2015-01-01 02:24:37,bin8677,75,False +CTSPillarNetworkA,8678,8678,8678,1993-10-05,867.8000000001288,867.73517,2015-01-01 02:24:38,bin8678,35,False +CTSPillarNetworkA,8679,8679,8679,1993-10-06,867.9000000001288,867.83514,2015-01-01 02:24:39,bin8679,75,False +CTSPillarNetworkA,8680,8680,8680,1993-10-07,868.0000000001288,867.9351,2015-01-01 02:24:40,bin8680,35,False +CTSPillarNetworkA,8681,8681,8681,1993-10-08,868.1000000001288,868.0351,2015-01-01 02:24:41,bin8681,75,False +CTSPillarNetworkA,8682,8682,8682,1993-10-09,868.2000000001289,868.1351,2015-01-01 02:24:42,bin8682,35,False +CTSPillarNetworkA,8683,8683,8683,1993-10-10,868.3000000001289,868.23505,2015-01-01 02:24:43,bin8683,75,False +CTSPillarNetworkA,8684,8684,8684,1993-10-11,868.4000000001289,868.335,2015-01-01 02:24:44,bin8684,35,False +CTSPillarNetworkA,8685,8685,8685,1993-10-12,868.5000000001289,868.435,2015-01-01 02:24:45,bin8685,75,False +CTSPillarNetworkA,8686,8686,8686,1993-10-13,868.600000000129,868.535,2015-01-01 02:24:46,bin8686,35,False +CTSPillarNetworkA,8687,8687,8687,1993-10-14,868.700000000129,868.63495,2015-01-01 02:24:47,bin8687,75,False +CTSPillarNetworkA,8688,8688,8688,1993-10-15,868.800000000129,868.7349,2015-01-01 02:24:48,bin8688,35,False +CTSPillarNetworkA,8689,8689,8689,1993-10-16,868.900000000129,868.8349,2015-01-01 02:24:49,bin8689,75,False +CTSPillarNetworkA,8690,8690,8690,1993-10-17,869.000000000129,868.9349,2015-01-01 02:24:50,bin8690,35,False +CTSPillarNetworkA,8691,8691,8691,1993-10-18,869.1000000001291,869.03485,2015-01-01 02:24:51,bin8691,75,False +CTSPillarNetworkA,8692,8692,8692,1993-10-19,869.2000000001291,869.1348,2015-01-01 02:24:52,bin8692,35,False +CTSPillarNetworkA,8693,8693,8693,1993-10-20,869.3000000001291,869.2348,2015-01-01 02:24:53,bin8693,75,False +CTSPillarNetworkA,8694,8694,8694,1993-10-21,869.4000000001291,869.3348,2015-01-01 02:24:54,bin8694,35,False +CTSPillarNetworkA,8695,8695,8695,1993-10-22,869.5000000001291,869.43475,2015-01-01 02:24:55,bin8695,75,False +CTSPillarNetworkA,8696,8696,8696,1993-10-23,869.6000000001292,869.5347,2015-01-01 02:24:56,bin8696,35,False +CTSPillarNetworkA,8697,8697,8697,1993-10-24,869.7000000001292,869.6347,2015-01-01 02:24:57,bin8697,75,False +CTSPillarNetworkA,8698,8698,8698,1993-10-25,869.8000000001292,869.7347,2015-01-01 02:24:58,bin8698,35,False +CTSPillarNetworkA,8699,8699,8699,1993-10-26,869.9000000001292,869.83466,2015-01-01 02:24:59,bin8699,75,False +CTSPillarNetworkA,8700,8700,8700,1993-10-27,870.0000000001293,869.93463,2015-01-01 02:25:00,bin8700,35,False +CTSPillarNetworkA,8701,8701,8701,1993-10-28,870.1000000001293,870.0346,2015-01-01 02:25:01,bin8701,75,False +CTSPillarNetworkA,8702,8702,8702,1993-10-29,870.2000000001293,870.1346,2015-01-01 02:25:02,bin8702,35,False +CTSPillarNetworkA,8703,8703,8703,1993-10-30,870.3000000001293,870.23456,2015-01-01 02:25:03,bin8703,75,False +CTSPillarNetworkA,8704,8704,8704,1993-10-31,870.4000000001294,870.33453,2015-01-01 02:25:04,bin8704,35,False +CTSPillarNetworkA,8705,8705,8705,1993-11-01,870.5000000001294,870.4345,2015-01-01 02:25:05,bin8705,75,False +CTSPillarNetworkA,8706,8706,8706,1993-11-02,870.6000000001294,870.5345,2015-01-01 02:25:06,bin8706,35,False +CTSPillarNetworkA,8707,8707,8707,1993-11-03,870.7000000001294,870.63446,2015-01-01 02:25:07,bin8707,75,False +CTSPillarNetworkA,8708,8708,8708,1993-11-04,870.8000000001294,870.73444,2015-01-01 02:25:08,bin8708,35,False +CTSPillarNetworkA,8709,8709,8709,1993-11-05,870.9000000001295,870.8344,2015-01-01 02:25:09,bin8709,75,False +CTSPillarNetworkA,8710,8710,8710,1993-11-06,871.0000000001295,870.9344,2015-01-01 02:25:10,bin8710,35,False +CTSPillarNetworkA,8711,8711,8711,1993-11-07,871.1000000001295,871.03436,2015-01-01 02:25:11,bin8711,75,False +CTSPillarNetworkA,8712,8712,8712,1993-11-08,871.2000000001295,871.13434,2015-01-01 02:25:12,bin8712,35,False +CTSPillarNetworkA,8713,8713,8713,1993-11-09,871.3000000001296,871.2343,2015-01-01 02:25:13,bin8713,75,False +CTSPillarNetworkA,8714,8714,8714,1993-11-10,871.4000000001296,871.3343,2015-01-01 02:25:14,bin8714,35,False +CTSPillarNetworkA,8715,8715,8715,1993-11-11,871.5000000001296,871.43427,2015-01-01 02:25:15,bin8715,75,False +CTSPillarNetworkA,8716,8716,8716,1993-11-12,871.6000000001296,871.53424,2015-01-01 02:25:16,bin8716,35,False +CTSPillarNetworkA,8717,8717,8717,1993-11-13,871.7000000001296,871.6342,2015-01-01 02:25:17,bin8717,75,False +CTSPillarNetworkA,8718,8718,8718,1993-11-14,871.8000000001297,871.7342,2015-01-01 02:25:18,bin8718,35,False +CTSPillarNetworkA,8719,8719,8719,1993-11-15,871.9000000001297,871.83417,2015-01-01 02:25:19,bin8719,75,False +CTSPillarNetworkA,8720,8720,8720,1993-11-16,872.0000000001297,871.93414,2015-01-01 02:25:20,bin8720,35,False +CTSPillarNetworkA,8721,8721,8721,1993-11-17,872.1000000001297,872.0341,2015-01-01 02:25:21,bin8721,75,False +CTSPillarNetworkA,8722,8722,8722,1993-11-18,872.2000000001298,872.1341,2015-01-01 02:25:22,bin8722,35,False +CTSPillarNetworkA,8723,8723,8723,1993-11-19,872.3000000001298,872.2341,2015-01-01 02:25:23,bin8723,75,False +CTSPillarNetworkA,8724,8724,8724,1993-11-20,872.4000000001298,872.33405,2015-01-01 02:25:24,bin8724,35,False +CTSPillarNetworkA,8725,8725,8725,1993-11-21,872.5000000001298,872.434,2015-01-01 02:25:25,bin8725,75,False +CTSPillarNetworkA,8726,8726,8726,1993-11-22,872.6000000001299,872.534,2015-01-01 02:25:26,bin8726,35,False +CTSPillarNetworkA,8727,8727,8727,1993-11-23,872.7000000001299,872.634,2015-01-01 02:25:27,bin8727,75,False +CTSPillarNetworkA,8728,8728,8728,1993-11-24,872.8000000001299,872.73395,2015-01-01 02:25:28,bin8728,35,False +CTSPillarNetworkA,8729,8729,8729,1993-11-25,872.9000000001299,872.8339,2015-01-01 02:25:29,bin8729,75,False +CTSPillarNetworkA,8730,8730,8730,1993-11-26,873.00000000013,872.9339,2015-01-01 02:25:30,bin8730,35,False +CTSPillarNetworkA,8731,8731,8731,1993-11-27,873.10000000013,873.0339,2015-01-01 02:25:31,bin8731,75,False +CTSPillarNetworkA,8732,8732,8732,1993-11-28,873.20000000013,873.13385,2015-01-01 02:25:32,bin8732,35,False +CTSPillarNetworkA,8733,8733,8733,1993-11-29,873.30000000013,873.2338,2015-01-01 02:25:33,bin8733,75,False +CTSPillarNetworkA,8734,8734,8734,1993-11-30,873.40000000013,873.3338,2015-01-01 02:25:34,bin8734,35,False +CTSPillarNetworkA,8735,8735,8735,1993-12-01,873.5000000001301,873.4338,2015-01-01 02:25:35,bin8735,75,False +CTSPillarNetworkA,8736,8736,8736,1993-12-02,873.6000000001301,873.53375,2015-01-01 02:25:36,bin8736,35,False +CTSPillarNetworkA,8737,8737,8737,1993-12-03,873.7000000001301,873.6337,2015-01-01 02:25:37,bin8737,75,False +CTSPillarNetworkA,8738,8738,8738,1993-12-04,873.8000000001301,873.7337,2015-01-01 02:25:38,bin8738,35,False +CTSPillarNetworkA,8739,8739,8739,1993-12-05,873.9000000001301,873.8337,2015-01-01 02:25:39,bin8739,75,False +CTSPillarNetworkA,8740,8740,8740,1993-12-06,874.0000000001302,873.93365,2015-01-01 02:25:40,bin8740,35,False +CTSPillarNetworkA,8741,8741,8741,1993-12-07,874.1000000001302,874.0336,2015-01-01 02:25:41,bin8741,75,False +CTSPillarNetworkA,8742,8742,8742,1993-12-08,874.2000000001302,874.1336,2015-01-01 02:25:42,bin8742,35,False +CTSPillarNetworkA,8743,8743,8743,1993-12-09,874.3000000001302,874.2336,2015-01-01 02:25:43,bin8743,75,False +CTSPillarNetworkA,8744,8744,8744,1993-12-10,874.4000000001303,874.33356,2015-01-01 02:25:44,bin8744,35,False +CTSPillarNetworkA,8745,8745,8745,1993-12-11,874.5000000001303,874.43353,2015-01-01 02:25:45,bin8745,75,False +CTSPillarNetworkA,8746,8746,8746,1993-12-12,874.6000000001303,874.5335,2015-01-01 02:25:46,bin8746,35,False +CTSPillarNetworkA,8747,8747,8747,1993-12-13,874.7000000001303,874.6335,2015-01-01 02:25:47,bin8747,75,False +CTSPillarNetworkA,8748,8748,8748,1993-12-14,874.8000000001304,874.73346,2015-01-01 02:25:48,bin8748,35,False +CTSPillarNetworkA,8749,8749,8749,1993-12-15,874.9000000001304,874.83344,2015-01-01 02:25:49,bin8749,75,False +CTSPillarNetworkA,8750,8750,8750,1993-12-16,875.0000000001304,874.9334,2015-01-01 02:25:50,bin8750,35,False +CTSPillarNetworkA,8751,8751,8751,1993-12-17,875.1000000001304,875.0334,2015-01-01 02:25:51,bin8751,75,False +CTSPillarNetworkA,8752,8752,8752,1993-12-18,875.2000000001304,875.13336,2015-01-01 02:25:52,bin8752,35,False +CTSPillarNetworkA,8753,8753,8753,1993-12-19,875.3000000001305,875.23334,2015-01-01 02:25:53,bin8753,75,False +CTSPillarNetworkA,8754,8754,8754,1993-12-20,875.4000000001305,875.3333,2015-01-01 02:25:54,bin8754,35,False +CTSPillarNetworkA,8755,8755,8755,1993-12-21,875.5000000001305,875.4333,2015-01-01 02:25:55,bin8755,75,False +CTSPillarNetworkA,8756,8756,8756,1993-12-22,875.6000000001305,875.53326,2015-01-01 02:25:56,bin8756,35,False +CTSPillarNetworkA,8757,8757,8757,1993-12-23,875.7000000001306,875.63324,2015-01-01 02:25:57,bin8757,75,False +CTSPillarNetworkA,8758,8758,8758,1993-12-24,875.8000000001306,875.7332,2015-01-01 02:25:58,bin8758,35,False +CTSPillarNetworkA,8759,8759,8759,1993-12-25,875.9000000001306,875.8332,2015-01-01 02:25:59,bin8759,75,False +CTSPillarNetworkA,8760,8760,8760,1993-12-26,876.0000000001306,875.93317,2015-01-01 02:26:00,bin8760,35,False +CTSPillarNetworkA,8761,8761,8761,1993-12-27,876.1000000001306,876.03314,2015-01-01 02:26:01,bin8761,75,False +CTSPillarNetworkA,8762,8762,8762,1993-12-28,876.2000000001307,876.1331,2015-01-01 02:26:02,bin8762,35,False +CTSPillarNetworkA,8763,8763,8763,1993-12-29,876.3000000001307,876.2331,2015-01-01 02:26:03,bin8763,75,False +CTSPillarNetworkA,8764,8764,8764,1993-12-30,876.4000000001307,876.33307,2015-01-01 02:26:04,bin8764,35,False +CTSPillarNetworkA,8765,8765,8765,1993-12-31,876.5000000001307,876.43304,2015-01-01 02:26:05,bin8765,75,False +CTSPillarNetworkA,8766,8766,8766,1994-01-01,876.6000000001308,876.533,2015-01-01 02:26:06,bin8766,35,False +CTSPillarNetworkA,8767,8767,8767,1994-01-02,876.7000000001308,876.633,2015-01-01 02:26:07,bin8767,75,False +CTSPillarNetworkA,8768,8768,8768,1994-01-03,876.8000000001308,876.733,2015-01-01 02:26:08,bin8768,35,False +CTSPillarNetworkA,8769,8769,8769,1994-01-04,876.9000000001308,876.83295,2015-01-01 02:26:09,bin8769,75,False +CTSPillarNetworkA,8770,8770,8770,1994-01-05,877.0000000001309,876.9329,2015-01-01 02:26:10,bin8770,35,False +CTSPillarNetworkA,8771,8771,8771,1994-01-06,877.1000000001309,877.0329,2015-01-01 02:26:11,bin8771,75,False +CTSPillarNetworkA,8772,8772,8772,1994-01-07,877.2000000001309,877.1329,2015-01-01 02:26:12,bin8772,35,False +CTSPillarNetworkA,8773,8773,8773,1994-01-08,877.3000000001309,877.23285,2015-01-01 02:26:13,bin8773,75,False +CTSPillarNetworkA,8774,8774,8774,1994-01-09,877.400000000131,877.3328,2015-01-01 02:26:14,bin8774,35,False +CTSPillarNetworkA,8775,8775,8775,1994-01-10,877.500000000131,877.4328,2015-01-01 02:26:15,bin8775,75,False +CTSPillarNetworkA,8776,8776,8776,1994-01-11,877.600000000131,877.5328,2015-01-01 02:26:16,bin8776,35,False +CTSPillarNetworkA,8777,8777,8777,1994-01-12,877.700000000131,877.63275,2015-01-01 02:26:17,bin8777,75,False +CTSPillarNetworkA,8778,8778,8778,1994-01-13,877.800000000131,877.7327,2015-01-01 02:26:18,bin8778,35,False +CTSPillarNetworkA,8779,8779,8779,1994-01-14,877.9000000001311,877.8327,2015-01-01 02:26:19,bin8779,75,False +CTSPillarNetworkA,8780,8780,8780,1994-01-15,878.0000000001311,877.9327,2015-01-01 02:26:20,bin8780,35,False +CTSPillarNetworkA,8781,8781,8781,1994-01-16,878.1000000001311,878.03265,2015-01-01 02:26:21,bin8781,75,False +CTSPillarNetworkA,8782,8782,8782,1994-01-17,878.2000000001311,878.1326,2015-01-01 02:26:22,bin8782,35,False +CTSPillarNetworkA,8783,8783,8783,1994-01-18,878.3000000001311,878.2326,2015-01-01 02:26:23,bin8783,75,False +CTSPillarNetworkA,8784,8784,8784,1994-01-19,878.4000000001312,878.3326,2015-01-01 02:26:24,bin8784,35,False +CTSPillarNetworkA,8785,8785,8785,1994-01-20,878.5000000001312,878.43256,2015-01-01 02:26:25,bin8785,75,False +CTSPillarNetworkA,8786,8786,8786,1994-01-21,878.6000000001312,878.53253,2015-01-01 02:26:26,bin8786,35,False +CTSPillarNetworkA,8787,8787,8787,1994-01-22,878.7000000001312,878.6325,2015-01-01 02:26:27,bin8787,75,False +CTSPillarNetworkA,8788,8788,8788,1994-01-23,878.8000000001313,878.7325,2015-01-01 02:26:28,bin8788,35,False +CTSPillarNetworkA,8789,8789,8789,1994-01-24,878.9000000001313,878.83246,2015-01-01 02:26:29,bin8789,75,False +CTSPillarNetworkA,8790,8790,8790,1994-01-25,879.0000000001313,878.93243,2015-01-01 02:26:30,bin8790,35,False +CTSPillarNetworkA,8791,8791,8791,1994-01-26,879.1000000001313,879.0324,2015-01-01 02:26:31,bin8791,75,False +CTSPillarNetworkA,8792,8792,8792,1994-01-27,879.2000000001314,879.1324,2015-01-01 02:26:32,bin8792,35,False +CTSPillarNetworkA,8793,8793,8793,1994-01-28,879.3000000001314,879.23236,2015-01-01 02:26:33,bin8793,75,False +CTSPillarNetworkA,8794,8794,8794,1994-01-29,879.4000000001314,879.33234,2015-01-01 02:26:34,bin8794,35,False +CTSPillarNetworkA,8795,8795,8795,1994-01-30,879.5000000001314,879.4323,2015-01-01 02:26:35,bin8795,75,False +CTSPillarNetworkA,8796,8796,8796,1994-01-31,879.6000000001314,879.5323,2015-01-01 02:26:36,bin8796,35,False +CTSPillarNetworkA,8797,8797,8797,1994-02-01,879.7000000001315,879.63226,2015-01-01 02:26:37,bin8797,75,False +CTSPillarNetworkA,8798,8798,8798,1994-02-02,879.8000000001315,879.73224,2015-01-01 02:26:38,bin8798,35,False +CTSPillarNetworkA,8799,8799,8799,1994-02-03,879.9000000001315,879.8322,2015-01-01 02:26:39,bin8799,75,False +CTSPillarNetworkA,8800,8800,8800,1994-02-04,880.0000000001315,879.9322,2015-01-01 02:26:40,bin8800,35,False +CTSPillarNetworkA,8801,8801,8801,1994-02-05,880.1000000001316,880.03217,2015-01-01 02:26:41,bin8801,75,False +CTSPillarNetworkA,8802,8802,8802,1994-02-06,880.2000000001316,880.13214,2015-01-01 02:26:42,bin8802,35,False +CTSPillarNetworkA,8803,8803,8803,1994-02-07,880.3000000001316,880.2321,2015-01-01 02:26:43,bin8803,75,False +CTSPillarNetworkA,8804,8804,8804,1994-02-08,880.4000000001316,880.3321,2015-01-01 02:26:44,bin8804,35,False +CTSPillarNetworkA,8805,8805,8805,1994-02-09,880.5000000001316,880.43207,2015-01-01 02:26:45,bin8805,75,False +CTSPillarNetworkA,8806,8806,8806,1994-02-10,880.6000000001317,880.53204,2015-01-01 02:26:46,bin8806,35,False +CTSPillarNetworkA,8807,8807,8807,1994-02-11,880.7000000001317,880.632,2015-01-01 02:26:47,bin8807,75,False +CTSPillarNetworkA,8808,8808,8808,1994-02-12,880.8000000001317,880.732,2015-01-01 02:26:48,bin8808,35,False +CTSPillarNetworkA,8809,8809,8809,1994-02-13,880.9000000001317,880.832,2015-01-01 02:26:49,bin8809,75,False +CTSPillarNetworkA,8810,8810,8810,1994-02-14,881.0000000001318,880.93195,2015-01-01 02:26:50,bin8810,35,False +CTSPillarNetworkA,8811,8811,8811,1994-02-15,881.1000000001318,881.0319,2015-01-01 02:26:51,bin8811,75,False +CTSPillarNetworkA,8812,8812,8812,1994-02-16,881.2000000001318,881.1319,2015-01-01 02:26:52,bin8812,35,False +CTSPillarNetworkA,8813,8813,8813,1994-02-17,881.3000000001318,881.2319,2015-01-01 02:26:53,bin8813,75,False +CTSPillarNetworkA,8814,8814,8814,1994-02-18,881.4000000001319,881.33185,2015-01-01 02:26:54,bin8814,35,False +CTSPillarNetworkA,8815,8815,8815,1994-02-19,881.5000000001319,881.4318,2015-01-01 02:26:55,bin8815,75,False +CTSPillarNetworkA,8816,8816,8816,1994-02-20,881.6000000001319,881.5318,2015-01-01 02:26:56,bin8816,35,False +CTSPillarNetworkA,8817,8817,8817,1994-02-21,881.7000000001319,881.6318,2015-01-01 02:26:57,bin8817,75,False +CTSPillarNetworkA,8818,8818,8818,1994-02-22,881.800000000132,881.73175,2015-01-01 02:26:58,bin8818,35,False +CTSPillarNetworkA,8819,8819,8819,1994-02-23,881.900000000132,881.8317,2015-01-01 02:26:59,bin8819,75,False +CTSPillarNetworkA,8820,8820,8820,1994-02-24,882.000000000132,881.9317,2015-01-01 02:27:00,bin8820,35,False +CTSPillarNetworkA,8821,8821,8821,1994-02-25,882.100000000132,882.0317,2015-01-01 02:27:01,bin8821,75,False +CTSPillarNetworkA,8822,8822,8822,1994-02-26,882.200000000132,882.13165,2015-01-01 02:27:02,bin8822,35,False +CTSPillarNetworkA,8823,8823,8823,1994-02-27,882.3000000001321,882.2316,2015-01-01 02:27:03,bin8823,75,False +CTSPillarNetworkA,8824,8824,8824,1994-02-28,882.4000000001321,882.3316,2015-01-01 02:27:04,bin8824,35,False +CTSPillarNetworkA,8825,8825,8825,1994-03-01,882.5000000001321,882.4316,2015-01-01 02:27:05,bin8825,75,False +CTSPillarNetworkA,8826,8826,8826,1994-03-02,882.6000000001321,882.53156,2015-01-01 02:27:06,bin8826,35,False +CTSPillarNetworkA,8827,8827,8827,1994-03-03,882.7000000001321,882.63153,2015-01-01 02:27:07,bin8827,75,False +CTSPillarNetworkA,8828,8828,8828,1994-03-04,882.8000000001322,882.7315,2015-01-01 02:27:08,bin8828,35,False +CTSPillarNetworkA,8829,8829,8829,1994-03-05,882.9000000001322,882.8315,2015-01-01 02:27:09,bin8829,75,False +CTSPillarNetworkA,8830,8830,8830,1994-03-06,883.0000000001322,882.93146,2015-01-01 02:27:10,bin8830,35,False +CTSPillarNetworkA,8831,8831,8831,1994-03-07,883.1000000001322,883.03143,2015-01-01 02:27:11,bin8831,75,False +CTSPillarNetworkA,8832,8832,8832,1994-03-08,883.2000000001323,883.1314,2015-01-01 02:27:12,bin8832,35,False +CTSPillarNetworkA,8833,8833,8833,1994-03-09,883.3000000001323,883.2314,2015-01-01 02:27:13,bin8833,75,False +CTSPillarNetworkA,8834,8834,8834,1994-03-10,883.4000000001323,883.33136,2015-01-01 02:27:14,bin8834,35,False +CTSPillarNetworkA,8835,8835,8835,1994-03-11,883.5000000001323,883.43134,2015-01-01 02:27:15,bin8835,75,False +CTSPillarNetworkA,8836,8836,8836,1994-03-12,883.6000000001324,883.5313,2015-01-01 02:27:16,bin8836,35,False +CTSPillarNetworkA,8837,8837,8837,1994-03-13,883.7000000001324,883.6313,2015-01-01 02:27:17,bin8837,75,False +CTSPillarNetworkA,8838,8838,8838,1994-03-14,883.8000000001324,883.73126,2015-01-01 02:27:18,bin8838,35,False +CTSPillarNetworkA,8839,8839,8839,1994-03-15,883.9000000001324,883.83124,2015-01-01 02:27:19,bin8839,75,False +CTSPillarNetworkA,8840,8840,8840,1994-03-16,884.0000000001324,883.9312,2015-01-01 02:27:20,bin8840,35,False +CTSPillarNetworkA,8841,8841,8841,1994-03-17,884.1000000001325,884.0312,2015-01-01 02:27:21,bin8841,75,False +CTSPillarNetworkA,8842,8842,8842,1994-03-18,884.2000000001325,884.13116,2015-01-01 02:27:22,bin8842,35,False +CTSPillarNetworkA,8843,8843,8843,1994-03-19,884.3000000001325,884.23114,2015-01-01 02:27:23,bin8843,75,False +CTSPillarNetworkA,8844,8844,8844,1994-03-20,884.4000000001325,884.3311,2015-01-01 02:27:24,bin8844,35,False +CTSPillarNetworkA,8845,8845,8845,1994-03-21,884.5000000001326,884.4311,2015-01-01 02:27:25,bin8845,75,False +CTSPillarNetworkA,8846,8846,8846,1994-03-22,884.6000000001326,884.53107,2015-01-01 02:27:26,bin8846,35,False +CTSPillarNetworkA,8847,8847,8847,1994-03-23,884.7000000001326,884.63104,2015-01-01 02:27:27,bin8847,75,False +CTSPillarNetworkA,8848,8848,8848,1994-03-24,884.8000000001326,884.731,2015-01-01 02:27:28,bin8848,35,False +CTSPillarNetworkA,8849,8849,8849,1994-03-25,884.9000000001326,884.831,2015-01-01 02:27:29,bin8849,75,False +CTSPillarNetworkA,8850,8850,8850,1994-03-26,885.0000000001327,884.93097,2015-01-01 02:27:30,bin8850,35,False +CTSPillarNetworkA,8851,8851,8851,1994-03-27,885.1000000001327,885.03094,2015-01-01 02:27:31,bin8851,75,False +CTSPillarNetworkA,8852,8852,8852,1994-03-28,885.2000000001327,885.1309,2015-01-01 02:27:32,bin8852,35,False +CTSPillarNetworkA,8853,8853,8853,1994-03-29,885.3000000001327,885.2309,2015-01-01 02:27:33,bin8853,75,False +CTSPillarNetworkA,8854,8854,8854,1994-03-30,885.4000000001328,885.3309,2015-01-01 02:27:34,bin8854,35,False +CTSPillarNetworkA,8855,8855,8855,1994-03-31,885.5000000001328,885.43085,2015-01-01 02:27:35,bin8855,75,False +CTSPillarNetworkA,8856,8856,8856,1994-04-01,885.6000000001328,885.5308,2015-01-01 02:27:36,bin8856,35,False +CTSPillarNetworkA,8857,8857,8857,1994-04-02,885.7000000001328,885.6308,2015-01-01 02:27:37,bin8857,75,False +CTSPillarNetworkA,8858,8858,8858,1994-04-03,885.8000000001329,885.7308,2015-01-01 02:27:38,bin8858,35,False +CTSPillarNetworkA,8859,8859,8859,1994-04-04,885.9000000001329,885.83075,2015-01-01 02:27:39,bin8859,75,False +CTSPillarNetworkA,8860,8860,8860,1994-04-05,886.0000000001329,885.9307,2015-01-01 02:27:40,bin8860,35,False +CTSPillarNetworkA,8861,8861,8861,1994-04-06,886.1000000001329,886.0307,2015-01-01 02:27:41,bin8861,75,False +CTSPillarNetworkA,8862,8862,8862,1994-04-07,886.200000000133,886.1307,2015-01-01 02:27:42,bin8862,35,False +CTSPillarNetworkA,8863,8863,8863,1994-04-08,886.300000000133,886.23065,2015-01-01 02:27:43,bin8863,75,False +CTSPillarNetworkA,8864,8864,8864,1994-04-09,886.400000000133,886.3306,2015-01-01 02:27:44,bin8864,35,False +CTSPillarNetworkA,8865,8865,8865,1994-04-10,886.500000000133,886.4306,2015-01-01 02:27:45,bin8865,75,False +CTSPillarNetworkA,8866,8866,8866,1994-04-11,886.600000000133,886.5306,2015-01-01 02:27:46,bin8866,35,False +CTSPillarNetworkA,8867,8867,8867,1994-04-12,886.7000000001331,886.63055,2015-01-01 02:27:47,bin8867,75,False +CTSPillarNetworkA,8868,8868,8868,1994-04-13,886.8000000001331,886.7305,2015-01-01 02:27:48,bin8868,35,False +CTSPillarNetworkA,8869,8869,8869,1994-04-14,886.9000000001331,886.8305,2015-01-01 02:27:49,bin8869,75,False +CTSPillarNetworkA,8870,8870,8870,1994-04-15,887.0000000001331,886.9305,2015-01-01 02:27:50,bin8870,35,False +CTSPillarNetworkA,8871,8871,8871,1994-04-16,887.1000000001332,887.03046,2015-01-01 02:27:51,bin8871,75,False +CTSPillarNetworkA,8872,8872,8872,1994-04-17,887.2000000001332,887.13043,2015-01-01 02:27:52,bin8872,35,False +CTSPillarNetworkA,8873,8873,8873,1994-04-18,887.3000000001332,887.2304,2015-01-01 02:27:53,bin8873,75,False +CTSPillarNetworkA,8874,8874,8874,1994-04-19,887.4000000001332,887.3304,2015-01-01 02:27:54,bin8874,35,False +CTSPillarNetworkA,8875,8875,8875,1994-04-20,887.5000000001332,887.43036,2015-01-01 02:27:55,bin8875,75,False +CTSPillarNetworkA,8876,8876,8876,1994-04-21,887.6000000001333,887.53033,2015-01-01 02:27:56,bin8876,35,False +CTSPillarNetworkA,8877,8877,8877,1994-04-22,887.7000000001333,887.6303,2015-01-01 02:27:57,bin8877,75,False +CTSPillarNetworkA,8878,8878,8878,1994-04-23,887.8000000001333,887.7303,2015-01-01 02:27:58,bin8878,35,False +CTSPillarNetworkA,8879,8879,8879,1994-04-24,887.9000000001333,887.83026,2015-01-01 02:27:59,bin8879,75,False +CTSPillarNetworkA,8880,8880,8880,1994-04-25,888.0000000001334,887.93024,2015-01-01 02:28:00,bin8880,35,False +CTSPillarNetworkA,8881,8881,8881,1994-04-26,888.1000000001334,888.0302,2015-01-01 02:28:01,bin8881,75,False +CTSPillarNetworkA,8882,8882,8882,1994-04-27,888.2000000001334,888.1302,2015-01-01 02:28:02,bin8882,35,False +CTSPillarNetworkA,8883,8883,8883,1994-04-28,888.3000000001334,888.23016,2015-01-01 02:28:03,bin8883,75,False +CTSPillarNetworkA,8884,8884,8884,1994-04-29,888.4000000001334,888.33014,2015-01-01 02:28:04,bin8884,35,False +CTSPillarNetworkA,8885,8885,8885,1994-04-30,888.5000000001335,888.4301,2015-01-01 02:28:05,bin8885,75,False +CTSPillarNetworkA,8886,8886,8886,1994-05-01,888.6000000001335,888.5301,2015-01-01 02:28:06,bin8886,35,False +CTSPillarNetworkA,8887,8887,8887,1994-05-02,888.7000000001335,888.63007,2015-01-01 02:28:07,bin8887,75,False +CTSPillarNetworkA,8888,8888,8888,1994-05-03,888.8000000001335,888.73004,2015-01-01 02:28:08,bin8888,35,False +CTSPillarNetworkA,8889,8889,8889,1994-05-04,888.9000000001336,888.83,2015-01-01 02:28:09,bin8889,75,False +CTSPillarNetworkA,8890,8890,8890,1994-05-05,889.0000000001336,888.93,2015-01-01 02:28:10,bin8890,35,False +CTSPillarNetworkA,8891,8891,8891,1994-05-06,889.1000000001336,889.02997,2015-01-01 02:28:11,bin8891,75,False +CTSPillarNetworkA,8892,8892,8892,1994-05-07,889.2000000001336,889.12994,2015-01-01 02:28:12,bin8892,35,False +CTSPillarNetworkA,8893,8893,8893,1994-05-08,889.3000000001337,889.2299,2015-01-01 02:28:13,bin8893,75,False +CTSPillarNetworkA,8894,8894,8894,1994-05-09,889.4000000001337,889.3299,2015-01-01 02:28:14,bin8894,35,False +CTSPillarNetworkA,8895,8895,8895,1994-05-10,889.5000000001337,889.4299,2015-01-01 02:28:15,bin8895,75,False +CTSPillarNetworkA,8896,8896,8896,1994-05-11,889.6000000001337,889.52985,2015-01-01 02:28:16,bin8896,35,False +CTSPillarNetworkA,8897,8897,8897,1994-05-12,889.7000000001337,889.6298,2015-01-01 02:28:17,bin8897,75,False +CTSPillarNetworkA,8898,8898,8898,1994-05-13,889.8000000001338,889.7298,2015-01-01 02:28:18,bin8898,35,False +CTSPillarNetworkA,8899,8899,8899,1994-05-14,889.9000000001338,889.8298,2015-01-01 02:28:19,bin8899,75,False +CTSPillarNetworkA,8900,8900,8900,1994-05-15,890.0000000001338,889.92975,2015-01-01 02:28:20,bin8900,35,False +CTSPillarNetworkA,8901,8901,8901,1994-05-16,890.1000000001338,890.0297,2015-01-01 02:28:21,bin8901,75,False +CTSPillarNetworkA,8902,8902,8902,1994-05-17,890.2000000001339,890.1297,2015-01-01 02:28:22,bin8902,35,False +CTSPillarNetworkA,8903,8903,8903,1994-05-18,890.3000000001339,890.2297,2015-01-01 02:28:23,bin8903,75,False +CTSPillarNetworkA,8904,8904,8904,1994-05-19,890.4000000001339,890.32965,2015-01-01 02:28:24,bin8904,35,False +CTSPillarNetworkA,8905,8905,8905,1994-05-20,890.5000000001339,890.4296,2015-01-01 02:28:25,bin8905,75,False +CTSPillarNetworkA,8906,8906,8906,1994-05-21,890.600000000134,890.5296,2015-01-01 02:28:26,bin8906,35,False +CTSPillarNetworkA,8907,8907,8907,1994-05-22,890.700000000134,890.6296,2015-01-01 02:28:27,bin8907,75,False +CTSPillarNetworkA,8908,8908,8908,1994-05-23,890.800000000134,890.72955,2015-01-01 02:28:28,bin8908,35,False +CTSPillarNetworkA,8909,8909,8909,1994-05-24,890.900000000134,890.8295,2015-01-01 02:28:29,bin8909,75,False +CTSPillarNetworkA,8910,8910,8910,1994-05-25,891.000000000134,890.9295,2015-01-01 02:28:30,bin8910,35,False +CTSPillarNetworkA,8911,8911,8911,1994-05-26,891.1000000001341,891.0295,2015-01-01 02:28:31,bin8911,75,False +CTSPillarNetworkA,8912,8912,8912,1994-05-27,891.2000000001341,891.12946,2015-01-01 02:28:32,bin8912,35,False +CTSPillarNetworkA,8913,8913,8913,1994-05-28,891.3000000001341,891.22943,2015-01-01 02:28:33,bin8913,75,False +CTSPillarNetworkA,8914,8914,8914,1994-05-29,891.4000000001341,891.3294,2015-01-01 02:28:34,bin8914,35,False +CTSPillarNetworkA,8915,8915,8915,1994-05-30,891.5000000001342,891.4294,2015-01-01 02:28:35,bin8915,75,False +CTSPillarNetworkA,8916,8916,8916,1994-05-31,891.6000000001342,891.52936,2015-01-01 02:28:36,bin8916,35,False +CTSPillarNetworkA,8917,8917,8917,1994-06-01,891.7000000001342,891.62933,2015-01-01 02:28:37,bin8917,75,False +CTSPillarNetworkA,8918,8918,8918,1994-06-02,891.8000000001342,891.7293,2015-01-01 02:28:38,bin8918,35,False +CTSPillarNetworkA,8919,8919,8919,1994-06-03,891.9000000001342,891.8293,2015-01-01 02:28:39,bin8919,75,False +CTSPillarNetworkA,8920,8920,8920,1994-06-04,892.0000000001343,891.92926,2015-01-01 02:28:40,bin8920,35,False +CTSPillarNetworkA,8921,8921,8921,1994-06-05,892.1000000001343,892.02924,2015-01-01 02:28:41,bin8921,75,False +CTSPillarNetworkA,8922,8922,8922,1994-06-06,892.2000000001343,892.1292,2015-01-01 02:28:42,bin8922,35,False +CTSPillarNetworkA,8923,8923,8923,1994-06-07,892.3000000001343,892.2292,2015-01-01 02:28:43,bin8923,75,False +CTSPillarNetworkA,8924,8924,8924,1994-06-08,892.4000000001344,892.32916,2015-01-01 02:28:44,bin8924,35,False +CTSPillarNetworkA,8925,8925,8925,1994-06-09,892.5000000001344,892.42914,2015-01-01 02:28:45,bin8925,75,False +CTSPillarNetworkA,8926,8926,8926,1994-06-10,892.6000000001344,892.5291,2015-01-01 02:28:46,bin8926,35,False +CTSPillarNetworkA,8927,8927,8927,1994-06-11,892.7000000001344,892.6291,2015-01-01 02:28:47,bin8927,75,False +CTSPillarNetworkA,8928,8928,8928,1994-06-12,892.8000000001344,892.72906,2015-01-01 02:28:48,bin8928,35,False +CTSPillarNetworkA,8929,8929,8929,1994-06-13,892.9000000001345,892.82904,2015-01-01 02:28:49,bin8929,75,False +CTSPillarNetworkA,8930,8930,8930,1994-06-14,893.0000000001345,892.929,2015-01-01 02:28:50,bin8930,35,False +CTSPillarNetworkA,8931,8931,8931,1994-06-15,893.1000000001345,893.029,2015-01-01 02:28:51,bin8931,75,False +CTSPillarNetworkA,8932,8932,8932,1994-06-16,893.2000000001345,893.12897,2015-01-01 02:28:52,bin8932,35,False +CTSPillarNetworkA,8933,8933,8933,1994-06-17,893.3000000001346,893.22894,2015-01-01 02:28:53,bin8933,75,False +CTSPillarNetworkA,8934,8934,8934,1994-06-18,893.4000000001346,893.3289,2015-01-01 02:28:54,bin8934,35,False +CTSPillarNetworkA,8935,8935,8935,1994-06-19,893.5000000001346,893.4289,2015-01-01 02:28:55,bin8935,75,False +CTSPillarNetworkA,8936,8936,8936,1994-06-20,893.6000000001346,893.5289,2015-01-01 02:28:56,bin8936,35,False +CTSPillarNetworkA,8937,8937,8937,1994-06-21,893.7000000001347,893.62885,2015-01-01 02:28:57,bin8937,75,False +CTSPillarNetworkA,8938,8938,8938,1994-06-22,893.8000000001347,893.7288,2015-01-01 02:28:58,bin8938,35,False +CTSPillarNetworkA,8939,8939,8939,1994-06-23,893.9000000001347,893.8288,2015-01-01 02:28:59,bin8939,75,False +CTSPillarNetworkA,8940,8940,8940,1994-06-24,894.0000000001347,893.9288,2015-01-01 02:29:00,bin8940,35,False +CTSPillarNetworkA,8941,8941,8941,1994-06-25,894.1000000001347,894.02875,2015-01-01 02:29:01,bin8941,75,False +CTSPillarNetworkA,8942,8942,8942,1994-06-26,894.2000000001348,894.1287,2015-01-01 02:29:02,bin8942,35,False +CTSPillarNetworkA,8943,8943,8943,1994-06-27,894.3000000001348,894.2287,2015-01-01 02:29:03,bin8943,75,False +CTSPillarNetworkA,8944,8944,8944,1994-06-28,894.4000000001348,894.3287,2015-01-01 02:29:04,bin8944,35,False +CTSPillarNetworkA,8945,8945,8945,1994-06-29,894.5000000001348,894.42865,2015-01-01 02:29:05,bin8945,75,False +CTSPillarNetworkA,8946,8946,8946,1994-06-30,894.6000000001349,894.5286,2015-01-01 02:29:06,bin8946,35,False +CTSPillarNetworkA,8947,8947,8947,1994-07-01,894.7000000001349,894.6286,2015-01-01 02:29:07,bin8947,75,False +CTSPillarNetworkA,8948,8948,8948,1994-07-02,894.8000000001349,894.7286,2015-01-01 02:29:08,bin8948,35,False +CTSPillarNetworkA,8949,8949,8949,1994-07-03,894.9000000001349,894.82855,2015-01-01 02:29:09,bin8949,75,False +CTSPillarNetworkA,8950,8950,8950,1994-07-04,895.000000000135,894.9285,2015-01-01 02:29:10,bin8950,35,False +CTSPillarNetworkA,8951,8951,8951,1994-07-05,895.100000000135,895.0285,2015-01-01 02:29:11,bin8951,75,False +CTSPillarNetworkA,8952,8952,8952,1994-07-06,895.200000000135,895.1285,2015-01-01 02:29:12,bin8952,35,False +CTSPillarNetworkA,8953,8953,8953,1994-07-07,895.300000000135,895.22845,2015-01-01 02:29:13,bin8953,75,False +CTSPillarNetworkA,8954,8954,8954,1994-07-08,895.400000000135,895.3284,2015-01-01 02:29:14,bin8954,35,False +CTSPillarNetworkA,8955,8955,8955,1994-07-09,895.5000000001351,895.4284,2015-01-01 02:29:15,bin8955,75,False +CTSPillarNetworkA,8956,8956,8956,1994-07-10,895.6000000001351,895.5284,2015-01-01 02:29:16,bin8956,35,False +CTSPillarNetworkA,8957,8957,8957,1994-07-11,895.7000000001351,895.62836,2015-01-01 02:29:17,bin8957,75,False +CTSPillarNetworkA,8958,8958,8958,1994-07-12,895.8000000001351,895.72833,2015-01-01 02:29:18,bin8958,35,False +CTSPillarNetworkA,8959,8959,8959,1994-07-13,895.9000000001352,895.8283,2015-01-01 02:29:19,bin8959,75,False +CTSPillarNetworkA,8960,8960,8960,1994-07-14,896.0000000001352,895.9283,2015-01-01 02:29:20,bin8960,35,False +CTSPillarNetworkA,8961,8961,8961,1994-07-15,896.1000000001352,896.02826,2015-01-01 02:29:21,bin8961,75,False +CTSPillarNetworkA,8962,8962,8962,1994-07-16,896.2000000001352,896.12823,2015-01-01 02:29:22,bin8962,35,False +CTSPillarNetworkA,8963,8963,8963,1994-07-17,896.3000000001352,896.2282,2015-01-01 02:29:23,bin8963,75,False +CTSPillarNetworkA,8964,8964,8964,1994-07-18,896.4000000001353,896.3282,2015-01-01 02:29:24,bin8964,35,False +CTSPillarNetworkA,8965,8965,8965,1994-07-19,896.5000000001353,896.42816,2015-01-01 02:29:25,bin8965,75,False +CTSPillarNetworkA,8966,8966,8966,1994-07-20,896.6000000001353,896.52814,2015-01-01 02:29:26,bin8966,35,False +CTSPillarNetworkA,8967,8967,8967,1994-07-21,896.7000000001353,896.6281,2015-01-01 02:29:27,bin8967,75,False +CTSPillarNetworkA,8968,8968,8968,1994-07-22,896.8000000001354,896.7281,2015-01-01 02:29:28,bin8968,35,False +CTSPillarNetworkA,8969,8969,8969,1994-07-23,896.9000000001354,896.82806,2015-01-01 02:29:29,bin8969,75,False +CTSPillarNetworkA,8970,8970,8970,1994-07-24,897.0000000001354,896.92804,2015-01-01 02:29:30,bin8970,35,False +CTSPillarNetworkA,8971,8971,8971,1994-07-25,897.1000000001354,897.028,2015-01-01 02:29:31,bin8971,75,False +CTSPillarNetworkA,8972,8972,8972,1994-07-26,897.2000000001354,897.128,2015-01-01 02:29:32,bin8972,35,False +CTSPillarNetworkA,8973,8973,8973,1994-07-27,897.3000000001355,897.22797,2015-01-01 02:29:33,bin8973,75,False +CTSPillarNetworkA,8974,8974,8974,1994-07-28,897.4000000001355,897.32794,2015-01-01 02:29:34,bin8974,35,False +CTSPillarNetworkA,8975,8975,8975,1994-07-29,897.5000000001355,897.4279,2015-01-01 02:29:35,bin8975,75,False +CTSPillarNetworkA,8976,8976,8976,1994-07-30,897.6000000001355,897.5279,2015-01-01 02:29:36,bin8976,35,False +CTSPillarNetworkA,8977,8977,8977,1994-07-31,897.7000000001356,897.62787,2015-01-01 02:29:37,bin8977,75,False +CTSPillarNetworkA,8978,8978,8978,1994-08-01,897.8000000001356,897.72784,2015-01-01 02:29:38,bin8978,35,False +CTSPillarNetworkA,8979,8979,8979,1994-08-02,897.9000000001356,897.8278,2015-01-01 02:29:39,bin8979,75,False +CTSPillarNetworkA,8980,8980,8980,1994-08-03,898.0000000001356,897.9278,2015-01-01 02:29:40,bin8980,35,False +CTSPillarNetworkA,8981,8981,8981,1994-08-04,898.1000000001357,898.0278,2015-01-01 02:29:41,bin8981,75,False +CTSPillarNetworkA,8982,8982,8982,1994-08-05,898.2000000001357,898.12775,2015-01-01 02:29:42,bin8982,35,False +CTSPillarNetworkA,8983,8983,8983,1994-08-06,898.3000000001357,898.2277,2015-01-01 02:29:43,bin8983,75,False +CTSPillarNetworkA,8984,8984,8984,1994-08-07,898.4000000001357,898.3277,2015-01-01 02:29:44,bin8984,35,False +CTSPillarNetworkA,8985,8985,8985,1994-08-08,898.5000000001357,898.4277,2015-01-01 02:29:45,bin8985,75,False +CTSPillarNetworkA,8986,8986,8986,1994-08-09,898.6000000001358,898.52765,2015-01-01 02:29:46,bin8986,35,False +CTSPillarNetworkA,8987,8987,8987,1994-08-10,898.7000000001358,898.6276,2015-01-01 02:29:47,bin8987,75,False +CTSPillarNetworkA,8988,8988,8988,1994-08-11,898.8000000001358,898.7276,2015-01-01 02:29:48,bin8988,35,False +CTSPillarNetworkA,8989,8989,8989,1994-08-12,898.9000000001358,898.8276,2015-01-01 02:29:49,bin8989,75,False +CTSPillarNetworkA,8990,8990,8990,1994-08-13,899.0000000001359,898.92755,2015-01-01 02:29:50,bin8990,35,False +CTSPillarNetworkA,8991,8991,8991,1994-08-14,899.1000000001359,899.0275,2015-01-01 02:29:51,bin8991,75,False +CTSPillarNetworkA,8992,8992,8992,1994-08-15,899.2000000001359,899.1275,2015-01-01 02:29:52,bin8992,35,False +CTSPillarNetworkA,8993,8993,8993,1994-08-16,899.3000000001359,899.2275,2015-01-01 02:29:53,bin8993,75,False +CTSPillarNetworkA,8994,8994,8994,1994-08-17,899.400000000136,899.32745,2015-01-01 02:29:54,bin8994,35,False +CTSPillarNetworkA,8995,8995,8995,1994-08-18,899.500000000136,899.4274,2015-01-01 02:29:55,bin8995,75,False +CTSPillarNetworkA,8996,8996,8996,1994-08-19,899.600000000136,899.5274,2015-01-01 02:29:56,bin8996,35,False +CTSPillarNetworkA,8997,8997,8997,1994-08-20,899.700000000136,899.6274,2015-01-01 02:29:57,bin8997,75,False +CTSPillarNetworkA,8998,8998,8998,1994-08-21,899.800000000136,899.72736,2015-01-01 02:29:58,bin8998,35,False +CTSPillarNetworkA,8999,8999,8999,1994-08-22,899.9000000001361,899.82733,2015-01-01 02:29:59,bin8999,75,False +CTSPillarNetworkA,9000,9000,9000,1994-08-23,900.0000000001361,899.9273,2015-01-01 02:30:00,bin9000,35,False +CTSPillarNetworkA,9001,9001,9001,1994-08-24,900.1000000001361,900.0273,2015-01-01 02:30:01,bin9001,75,False +CTSPillarNetworkA,9002,9002,9002,1994-08-25,900.2000000001361,900.12726,2015-01-01 02:30:02,bin9002,35,False +CTSPillarNetworkA,9003,9003,9003,1994-08-26,900.3000000001362,900.22723,2015-01-01 02:30:03,bin9003,75,False +CTSPillarNetworkA,9004,9004,9004,1994-08-27,900.4000000001362,900.3272,2015-01-01 02:30:04,bin9004,35,False +CTSPillarNetworkA,9005,9005,9005,1994-08-28,900.5000000001362,900.4272,2015-01-01 02:30:05,bin9005,75,False +CTSPillarNetworkA,9006,9006,9006,1994-08-29,900.6000000001362,900.52716,2015-01-01 02:30:06,bin9006,35,False +CTSPillarNetworkA,9007,9007,9007,1994-08-30,900.7000000001362,900.62714,2015-01-01 02:30:07,bin9007,75,False +CTSPillarNetworkA,9008,9008,9008,1994-08-31,900.8000000001363,900.7271,2015-01-01 02:30:08,bin9008,35,False +CTSPillarNetworkA,9009,9009,9009,1994-09-01,900.9000000001363,900.8271,2015-01-01 02:30:09,bin9009,75,False +CTSPillarNetworkA,9010,9010,9010,1994-09-02,901.0000000001363,900.92706,2015-01-01 02:30:10,bin9010,35,False +CTSPillarNetworkA,9011,9011,9011,1994-09-03,901.1000000001363,901.02704,2015-01-01 02:30:11,bin9011,75,False +CTSPillarNetworkA,9012,9012,9012,1994-09-04,901.2000000001364,901.127,2015-01-01 02:30:12,bin9012,35,False +CTSPillarNetworkA,9013,9013,9013,1994-09-05,901.3000000001364,901.227,2015-01-01 02:30:13,bin9013,75,False +CTSPillarNetworkA,9014,9014,9014,1994-09-06,901.4000000001364,901.32697,2015-01-01 02:30:14,bin9014,35,False +CTSPillarNetworkA,9015,9015,9015,1994-09-07,901.5000000001364,901.42694,2015-01-01 02:30:15,bin9015,75,False +CTSPillarNetworkA,9016,9016,9016,1994-09-08,901.6000000001364,901.5269,2015-01-01 02:30:16,bin9016,35,False +CTSPillarNetworkA,9017,9017,9017,1994-09-09,901.7000000001365,901.6269,2015-01-01 02:30:17,bin9017,75,False +CTSPillarNetworkA,9018,9018,9018,1994-09-10,901.8000000001365,901.72687,2015-01-01 02:30:18,bin9018,35,False +CTSPillarNetworkA,9019,9019,9019,1994-09-11,901.9000000001365,901.82684,2015-01-01 02:30:19,bin9019,75,False +CTSPillarNetworkA,9020,9020,9020,1994-09-12,902.0000000001365,901.9268,2015-01-01 02:30:20,bin9020,35,False +CTSPillarNetworkA,9021,9021,9021,1994-09-13,902.1000000001366,902.0268,2015-01-01 02:30:21,bin9021,75,False +CTSPillarNetworkA,9022,9022,9022,1994-09-14,902.2000000001366,902.1268,2015-01-01 02:30:22,bin9022,35,False +CTSPillarNetworkA,9023,9023,9023,1994-09-15,902.3000000001366,902.22675,2015-01-01 02:30:23,bin9023,75,False +CTSPillarNetworkA,9024,9024,9024,1994-09-16,902.4000000001366,902.3267,2015-01-01 02:30:24,bin9024,35,False +CTSPillarNetworkA,9025,9025,9025,1994-09-17,902.5000000001367,902.4267,2015-01-01 02:30:25,bin9025,75,False +CTSPillarNetworkA,9026,9026,9026,1994-09-18,902.6000000001367,902.5267,2015-01-01 02:30:26,bin9026,35,False +CTSPillarNetworkA,9027,9027,9027,1994-09-19,902.7000000001367,902.62665,2015-01-01 02:30:27,bin9027,75,False +CTSPillarNetworkA,9028,9028,9028,1994-09-20,902.8000000001367,902.7266,2015-01-01 02:30:28,bin9028,35,False +CTSPillarNetworkA,9029,9029,9029,1994-09-21,902.9000000001367,902.8266,2015-01-01 02:30:29,bin9029,75,False +CTSPillarNetworkA,9030,9030,9030,1994-09-22,903.0000000001368,902.9266,2015-01-01 02:30:30,bin9030,35,False +CTSPillarNetworkA,9031,9031,9031,1994-09-23,903.1000000001368,903.02655,2015-01-01 02:30:31,bin9031,75,False +CTSPillarNetworkA,9032,9032,9032,1994-09-24,903.2000000001368,903.1265,2015-01-01 02:30:32,bin9032,35,False +CTSPillarNetworkA,9033,9033,9033,1994-09-25,903.3000000001368,903.2265,2015-01-01 02:30:33,bin9033,75,False +CTSPillarNetworkA,9034,9034,9034,1994-09-26,903.4000000001369,903.3265,2015-01-01 02:30:34,bin9034,35,False +CTSPillarNetworkA,9035,9035,9035,1994-09-27,903.5000000001369,903.42645,2015-01-01 02:30:35,bin9035,75,False +CTSPillarNetworkA,9036,9036,9036,1994-09-28,903.6000000001369,903.5264,2015-01-01 02:30:36,bin9036,35,False +CTSPillarNetworkA,9037,9037,9037,1994-09-29,903.7000000001369,903.6264,2015-01-01 02:30:37,bin9037,75,False +CTSPillarNetworkA,9038,9038,9038,1994-09-30,903.800000000137,903.7264,2015-01-01 02:30:38,bin9038,35,False +CTSPillarNetworkA,9039,9039,9039,1994-10-01,903.900000000137,903.82635,2015-01-01 02:30:39,bin9039,75,False +CTSPillarNetworkA,9040,9040,9040,1994-10-02,904.000000000137,903.92633,2015-01-01 02:30:40,bin9040,35,False +CTSPillarNetworkA,9041,9041,9041,1994-10-03,904.100000000137,904.0263,2015-01-01 02:30:41,bin9041,75,False +CTSPillarNetworkA,9042,9042,9042,1994-10-04,904.200000000137,904.1263,2015-01-01 02:30:42,bin9042,35,False +CTSPillarNetworkA,9043,9043,9043,1994-10-05,904.3000000001371,904.22626,2015-01-01 02:30:43,bin9043,75,False +CTSPillarNetworkA,9044,9044,9044,1994-10-06,904.4000000001371,904.32623,2015-01-01 02:30:44,bin9044,35,False +CTSPillarNetworkA,9045,9045,9045,1994-10-07,904.5000000001371,904.4262,2015-01-01 02:30:45,bin9045,75,False +CTSPillarNetworkA,9046,9046,9046,1994-10-08,904.6000000001371,904.5262,2015-01-01 02:30:46,bin9046,35,False +CTSPillarNetworkA,9047,9047,9047,1994-10-09,904.7000000001372,904.62616,2015-01-01 02:30:47,bin9047,75,False +CTSPillarNetworkA,9048,9048,9048,1994-10-10,904.8000000001372,904.72614,2015-01-01 02:30:48,bin9048,35,False +CTSPillarNetworkA,9049,9049,9049,1994-10-11,904.9000000001372,904.8261,2015-01-01 02:30:49,bin9049,75,False +CTSPillarNetworkA,9050,9050,9050,1994-10-12,905.0000000001372,904.9261,2015-01-01 02:30:50,bin9050,35,False +CTSPillarNetworkA,9051,9051,9051,1994-10-13,905.1000000001372,905.02606,2015-01-01 02:30:51,bin9051,75,False +CTSPillarNetworkA,9052,9052,9052,1994-10-14,905.2000000001373,905.12604,2015-01-01 02:30:52,bin9052,35,False +CTSPillarNetworkA,9053,9053,9053,1994-10-15,905.3000000001373,905.226,2015-01-01 02:30:53,bin9053,75,False +CTSPillarNetworkA,9054,9054,9054,1994-10-16,905.4000000001373,905.326,2015-01-01 02:30:54,bin9054,35,False +CTSPillarNetworkA,9055,9055,9055,1994-10-17,905.5000000001373,905.42596,2015-01-01 02:30:55,bin9055,75,False +CTSPillarNetworkA,9056,9056,9056,1994-10-18,905.6000000001374,905.52594,2015-01-01 02:30:56,bin9056,35,False +CTSPillarNetworkA,9057,9057,9057,1994-10-19,905.7000000001374,905.6259,2015-01-01 02:30:57,bin9057,75,False +CTSPillarNetworkA,9058,9058,9058,1994-10-20,905.8000000001374,905.7259,2015-01-01 02:30:58,bin9058,35,False +CTSPillarNetworkA,9059,9059,9059,1994-10-21,905.9000000001374,905.82587,2015-01-01 02:30:59,bin9059,75,False +CTSPillarNetworkA,9060,9060,9060,1994-10-22,906.0000000001374,905.92584,2015-01-01 02:31:00,bin9060,35,False +CTSPillarNetworkA,9061,9061,9061,1994-10-23,906.1000000001375,906.0258,2015-01-01 02:31:01,bin9061,75,False +CTSPillarNetworkA,9062,9062,9062,1994-10-24,906.2000000001375,906.1258,2015-01-01 02:31:02,bin9062,35,False +CTSPillarNetworkA,9063,9063,9063,1994-10-25,906.3000000001375,906.22577,2015-01-01 02:31:03,bin9063,75,False +CTSPillarNetworkA,9064,9064,9064,1994-10-26,906.4000000001375,906.32574,2015-01-01 02:31:04,bin9064,35,False +CTSPillarNetworkA,9065,9065,9065,1994-10-27,906.5000000001376,906.4257,2015-01-01 02:31:05,bin9065,75,False +CTSPillarNetworkA,9066,9066,9066,1994-10-28,906.6000000001376,906.5257,2015-01-01 02:31:06,bin9066,35,False +CTSPillarNetworkA,9067,9067,9067,1994-10-29,906.7000000001376,906.6257,2015-01-01 02:31:07,bin9067,75,False +CTSPillarNetworkA,9068,9068,9068,1994-10-30,906.8000000001376,906.72565,2015-01-01 02:31:08,bin9068,35,False +CTSPillarNetworkA,9069,9069,9069,1994-10-31,906.9000000001377,906.8256,2015-01-01 02:31:09,bin9069,75,False +CTSPillarNetworkA,9070,9070,9070,1994-11-01,907.0000000001377,906.9256,2015-01-01 02:31:10,bin9070,35,False +CTSPillarNetworkA,9071,9071,9071,1994-11-02,907.1000000001377,907.0256,2015-01-01 02:31:11,bin9071,75,False +CTSPillarNetworkA,9072,9072,9072,1994-11-03,907.2000000001377,907.12555,2015-01-01 02:31:12,bin9072,35,False +CTSPillarNetworkA,9073,9073,9073,1994-11-04,907.3000000001377,907.2255,2015-01-01 02:31:13,bin9073,75,False +CTSPillarNetworkA,9074,9074,9074,1994-11-05,907.4000000001378,907.3255,2015-01-01 02:31:14,bin9074,35,False +CTSPillarNetworkA,9075,9075,9075,1994-11-06,907.5000000001378,907.4255,2015-01-01 02:31:15,bin9075,75,False +CTSPillarNetworkA,9076,9076,9076,1994-11-07,907.6000000001378,907.52545,2015-01-01 02:31:16,bin9076,35,False +CTSPillarNetworkA,9077,9077,9077,1994-11-08,907.7000000001378,907.6254,2015-01-01 02:31:17,bin9077,75,False +CTSPillarNetworkA,9078,9078,9078,1994-11-09,907.8000000001379,907.7254,2015-01-01 02:31:18,bin9078,35,False +CTSPillarNetworkA,9079,9079,9079,1994-11-10,907.9000000001379,907.8254,2015-01-01 02:31:19,bin9079,75,False +CTSPillarNetworkA,9080,9080,9080,1994-11-11,908.0000000001379,907.92535,2015-01-01 02:31:20,bin9080,35,False +CTSPillarNetworkA,9081,9081,9081,1994-11-12,908.1000000001379,908.0253,2015-01-01 02:31:21,bin9081,75,False +CTSPillarNetworkA,9082,9082,9082,1994-11-13,908.200000000138,908.1253,2015-01-01 02:31:22,bin9082,35,False +CTSPillarNetworkA,9083,9083,9083,1994-11-14,908.300000000138,908.2253,2015-01-01 02:31:23,bin9083,75,False +CTSPillarNetworkA,9084,9084,9084,1994-11-15,908.400000000138,908.32526,2015-01-01 02:31:24,bin9084,35,False +CTSPillarNetworkA,9085,9085,9085,1994-11-16,908.500000000138,908.42523,2015-01-01 02:31:25,bin9085,75,False +CTSPillarNetworkA,9086,9086,9086,1994-11-17,908.600000000138,908.5252,2015-01-01 02:31:26,bin9086,35,False +CTSPillarNetworkA,9087,9087,9087,1994-11-18,908.7000000001381,908.6252,2015-01-01 02:31:27,bin9087,75,False +CTSPillarNetworkA,9088,9088,9088,1994-11-19,908.8000000001381,908.72516,2015-01-01 02:31:28,bin9088,35,False +CTSPillarNetworkA,9089,9089,9089,1994-11-20,908.9000000001381,908.82513,2015-01-01 02:31:29,bin9089,75,False +CTSPillarNetworkA,9090,9090,9090,1994-11-21,909.0000000001381,908.9251,2015-01-01 02:31:30,bin9090,35,False +CTSPillarNetworkA,9091,9091,9091,1994-11-22,909.1000000001382,909.0251,2015-01-01 02:31:31,bin9091,75,False +CTSPillarNetworkA,9092,9092,9092,1994-11-23,909.2000000001382,909.12506,2015-01-01 02:31:32,bin9092,35,False +CTSPillarNetworkA,9093,9093,9093,1994-11-24,909.3000000001382,909.22504,2015-01-01 02:31:33,bin9093,75,False +CTSPillarNetworkA,9094,9094,9094,1994-11-25,909.4000000001382,909.325,2015-01-01 02:31:34,bin9094,35,False +CTSPillarNetworkA,9095,9095,9095,1994-11-26,909.5000000001382,909.425,2015-01-01 02:31:35,bin9095,75,False +CTSPillarNetworkA,9096,9096,9096,1994-11-27,909.6000000001383,909.52496,2015-01-01 02:31:36,bin9096,35,False +CTSPillarNetworkA,9097,9097,9097,1994-11-28,909.7000000001383,909.62494,2015-01-01 02:31:37,bin9097,75,False +CTSPillarNetworkA,9098,9098,9098,1994-11-29,909.8000000001383,909.7249,2015-01-01 02:31:38,bin9098,35,False +CTSPillarNetworkA,9099,9099,9099,1994-11-30,909.9000000001383,909.8249,2015-01-01 02:31:39,bin9099,75,False +CTSPillarNetworkA,9100,9100,9100,1994-12-01,910.0000000001384,909.92487,2015-01-01 02:31:40,bin9100,35,False +CTSPillarNetworkA,9101,9101,9101,1994-12-02,910.1000000001384,910.02484,2015-01-01 02:31:41,bin9101,75,False +CTSPillarNetworkA,9102,9102,9102,1994-12-03,910.2000000001384,910.1248,2015-01-01 02:31:42,bin9102,35,False +CTSPillarNetworkA,9103,9103,9103,1994-12-04,910.3000000001384,910.2248,2015-01-01 02:31:43,bin9103,75,False +CTSPillarNetworkA,9104,9104,9104,1994-12-05,910.4000000001384,910.32477,2015-01-01 02:31:44,bin9104,35,False +CTSPillarNetworkA,9105,9105,9105,1994-12-06,910.5000000001385,910.42474,2015-01-01 02:31:45,bin9105,75,False +CTSPillarNetworkA,9106,9106,9106,1994-12-07,910.6000000001385,910.5247,2015-01-01 02:31:46,bin9106,35,False +CTSPillarNetworkA,9107,9107,9107,1994-12-08,910.7000000001385,910.6247,2015-01-01 02:31:47,bin9107,75,False +CTSPillarNetworkA,9108,9108,9108,1994-12-09,910.8000000001385,910.7247,2015-01-01 02:31:48,bin9108,35,False +CTSPillarNetworkA,9109,9109,9109,1994-12-10,910.9000000001386,910.82465,2015-01-01 02:31:49,bin9109,75,False +CTSPillarNetworkA,9110,9110,9110,1994-12-11,911.0000000001386,910.9246,2015-01-01 02:31:50,bin9110,35,False +CTSPillarNetworkA,9111,9111,9111,1994-12-12,911.1000000001386,911.0246,2015-01-01 02:31:51,bin9111,75,False +CTSPillarNetworkA,9112,9112,9112,1994-12-13,911.2000000001386,911.1246,2015-01-01 02:31:52,bin9112,35,False +CTSPillarNetworkA,9113,9113,9113,1994-12-14,911.3000000001387,911.22455,2015-01-01 02:31:53,bin9113,75,False +CTSPillarNetworkA,9114,9114,9114,1994-12-15,911.4000000001387,911.3245,2015-01-01 02:31:54,bin9114,35,False +CTSPillarNetworkA,9115,9115,9115,1994-12-16,911.5000000001387,911.4245,2015-01-01 02:31:55,bin9115,75,False +CTSPillarNetworkA,9116,9116,9116,1994-12-17,911.6000000001387,911.5245,2015-01-01 02:31:56,bin9116,35,False +CTSPillarNetworkA,9117,9117,9117,1994-12-18,911.7000000001387,911.62445,2015-01-01 02:31:57,bin9117,75,False +CTSPillarNetworkA,9118,9118,9118,1994-12-19,911.8000000001388,911.7244,2015-01-01 02:31:58,bin9118,35,False +CTSPillarNetworkA,9119,9119,9119,1994-12-20,911.9000000001388,911.8244,2015-01-01 02:31:59,bin9119,75,False +CTSPillarNetworkA,9120,9120,9120,1994-12-21,912.0000000001388,911.9244,2015-01-01 02:32:00,bin9120,35,False +CTSPillarNetworkA,9121,9121,9121,1994-12-22,912.1000000001388,912.02435,2015-01-01 02:32:01,bin9121,75,False +CTSPillarNetworkA,9122,9122,9122,1994-12-23,912.2000000001389,912.1243,2015-01-01 02:32:02,bin9122,35,False +CTSPillarNetworkA,9123,9123,9123,1994-12-24,912.3000000001389,912.2243,2015-01-01 02:32:03,bin9123,75,False +CTSPillarNetworkA,9124,9124,9124,1994-12-25,912.4000000001389,912.3243,2015-01-01 02:32:04,bin9124,35,False +CTSPillarNetworkA,9125,9125,9125,1994-12-26,912.5000000001389,912.42426,2015-01-01 02:32:05,bin9125,75,False +CTSPillarNetworkA,9126,9126,9126,1994-12-27,912.600000000139,912.52423,2015-01-01 02:32:06,bin9126,35,False +CTSPillarNetworkA,9127,9127,9127,1994-12-28,912.700000000139,912.6242,2015-01-01 02:32:07,bin9127,75,False +CTSPillarNetworkA,9128,9128,9128,1994-12-29,912.800000000139,912.7242,2015-01-01 02:32:08,bin9128,35,False +CTSPillarNetworkA,9129,9129,9129,1994-12-30,912.900000000139,912.82416,2015-01-01 02:32:09,bin9129,75,False +CTSPillarNetworkA,9130,9130,9130,1994-12-31,913.000000000139,912.92413,2015-01-01 02:32:10,bin9130,35,False +CTSPillarNetworkA,9131,9131,9131,1995-01-01,913.1000000001391,913.0241,2015-01-01 02:32:11,bin9131,75,False +CTSPillarNetworkA,9132,9132,9132,1995-01-02,913.2000000001391,913.1241,2015-01-01 02:32:12,bin9132,35,False +CTSPillarNetworkA,9133,9133,9133,1995-01-03,913.3000000001391,913.22406,2015-01-01 02:32:13,bin9133,75,False +CTSPillarNetworkA,9134,9134,9134,1995-01-04,913.4000000001391,913.32404,2015-01-01 02:32:14,bin9134,35,False +CTSPillarNetworkA,9135,9135,9135,1995-01-05,913.5000000001392,913.424,2015-01-01 02:32:15,bin9135,75,False +CTSPillarNetworkA,9136,9136,9136,1995-01-06,913.6000000001392,913.524,2015-01-01 02:32:16,bin9136,35,False +CTSPillarNetworkA,9137,9137,9137,1995-01-07,913.7000000001392,913.62396,2015-01-01 02:32:17,bin9137,75,False +CTSPillarNetworkA,9138,9138,9138,1995-01-08,913.8000000001392,913.72394,2015-01-01 02:32:18,bin9138,35,False +CTSPillarNetworkA,9139,9139,9139,1995-01-09,913.9000000001392,913.8239,2015-01-01 02:32:19,bin9139,75,False +CTSPillarNetworkA,9140,9140,9140,1995-01-10,914.0000000001393,913.9239,2015-01-01 02:32:20,bin9140,35,False +CTSPillarNetworkA,9141,9141,9141,1995-01-11,914.1000000001393,914.02386,2015-01-01 02:32:21,bin9141,75,False +CTSPillarNetworkA,9142,9142,9142,1995-01-12,914.2000000001393,914.12384,2015-01-01 02:32:22,bin9142,35,False +CTSPillarNetworkA,9143,9143,9143,1995-01-13,914.3000000001393,914.2238,2015-01-01 02:32:23,bin9143,75,False +CTSPillarNetworkA,9144,9144,9144,1995-01-14,914.4000000001394,914.3238,2015-01-01 02:32:24,bin9144,35,False +CTSPillarNetworkA,9145,9145,9145,1995-01-15,914.5000000001394,914.42377,2015-01-01 02:32:25,bin9145,75,False +CTSPillarNetworkA,9146,9146,9146,1995-01-16,914.6000000001394,914.52374,2015-01-01 02:32:26,bin9146,35,False +CTSPillarNetworkA,9147,9147,9147,1995-01-17,914.7000000001394,914.6237,2015-01-01 02:32:27,bin9147,75,False +CTSPillarNetworkA,9148,9148,9148,1995-01-18,914.8000000001394,914.7237,2015-01-01 02:32:28,bin9148,35,False +CTSPillarNetworkA,9149,9149,9149,1995-01-19,914.9000000001395,914.82367,2015-01-01 02:32:29,bin9149,75,False +CTSPillarNetworkA,9150,9150,9150,1995-01-20,915.0000000001395,914.92365,2015-01-01 02:32:30,bin9150,35,False +CTSPillarNetworkA,9151,9151,9151,1995-01-21,915.1000000001395,915.0236,2015-01-01 02:32:31,bin9151,75,False +CTSPillarNetworkA,9152,9152,9152,1995-01-22,915.2000000001395,915.1236,2015-01-01 02:32:32,bin9152,35,False +CTSPillarNetworkA,9153,9153,9153,1995-01-23,915.3000000001396,915.2236,2015-01-01 02:32:33,bin9153,75,False +CTSPillarNetworkA,9154,9154,9154,1995-01-24,915.4000000001396,915.32355,2015-01-01 02:32:34,bin9154,35,False +CTSPillarNetworkA,9155,9155,9155,1995-01-25,915.5000000001396,915.4235,2015-01-01 02:32:35,bin9155,75,False +CTSPillarNetworkA,9156,9156,9156,1995-01-26,915.6000000001396,915.5235,2015-01-01 02:32:36,bin9156,35,False +CTSPillarNetworkA,9157,9157,9157,1995-01-27,915.7000000001397,915.6235,2015-01-01 02:32:37,bin9157,75,False +CTSPillarNetworkA,9158,9158,9158,1995-01-28,915.8000000001397,915.72345,2015-01-01 02:32:38,bin9158,35,False +CTSPillarNetworkA,9159,9159,9159,1995-01-29,915.9000000001397,915.8234,2015-01-01 02:32:39,bin9159,75,False +CTSPillarNetworkA,9160,9160,9160,1995-01-30,916.0000000001397,915.9234,2015-01-01 02:32:40,bin9160,35,False +CTSPillarNetworkA,9161,9161,9161,1995-01-31,916.1000000001397,916.0234,2015-01-01 02:32:41,bin9161,75,False +CTSPillarNetworkA,9162,9162,9162,1995-02-01,916.2000000001398,916.12335,2015-01-01 02:32:42,bin9162,35,False +CTSPillarNetworkA,9163,9163,9163,1995-02-02,916.3000000001398,916.2233,2015-01-01 02:32:43,bin9163,75,False +CTSPillarNetworkA,9164,9164,9164,1995-02-03,916.4000000001398,916.3233,2015-01-01 02:32:44,bin9164,35,False +CTSPillarNetworkA,9165,9165,9165,1995-02-04,916.5000000001398,916.4233,2015-01-01 02:32:45,bin9165,75,False +CTSPillarNetworkA,9166,9166,9166,1995-02-05,916.6000000001399,916.52325,2015-01-01 02:32:46,bin9166,35,False +CTSPillarNetworkA,9167,9167,9167,1995-02-06,916.7000000001399,916.6232,2015-01-01 02:32:47,bin9167,75,False +CTSPillarNetworkA,9168,9168,9168,1995-02-07,916.8000000001399,916.7232,2015-01-01 02:32:48,bin9168,35,False +CTSPillarNetworkA,9169,9169,9169,1995-02-08,916.9000000001399,916.8232,2015-01-01 02:32:49,bin9169,75,False +CTSPillarNetworkA,9170,9170,9170,1995-02-09,917.00000000014,916.92316,2015-01-01 02:32:50,bin9170,35,False +CTSPillarNetworkA,9171,9171,9171,1995-02-10,917.10000000014,917.02313,2015-01-01 02:32:51,bin9171,75,False +CTSPillarNetworkA,9172,9172,9172,1995-02-11,917.20000000014,917.1231,2015-01-01 02:32:52,bin9172,35,False +CTSPillarNetworkA,9173,9173,9173,1995-02-12,917.30000000014,917.2231,2015-01-01 02:32:53,bin9173,75,False +CTSPillarNetworkA,9174,9174,9174,1995-02-13,917.40000000014,917.32306,2015-01-01 02:32:54,bin9174,35,False +CTSPillarNetworkA,9175,9175,9175,1995-02-14,917.5000000001401,917.42303,2015-01-01 02:32:55,bin9175,75,False +CTSPillarNetworkA,9176,9176,9176,1995-02-15,917.6000000001401,917.523,2015-01-01 02:32:56,bin9176,35,False +CTSPillarNetworkA,9177,9177,9177,1995-02-16,917.7000000001401,917.623,2015-01-01 02:32:57,bin9177,75,False +CTSPillarNetworkA,9178,9178,9178,1995-02-17,917.8000000001401,917.72296,2015-01-01 02:32:58,bin9178,35,False +CTSPillarNetworkA,9179,9179,9179,1995-02-18,917.9000000001402,917.82294,2015-01-01 02:32:59,bin9179,75,False +CTSPillarNetworkA,9180,9180,9180,1995-02-19,918.0000000001402,917.9229,2015-01-01 02:33:00,bin9180,35,False +CTSPillarNetworkA,9181,9181,9181,1995-02-20,918.1000000001402,918.0229,2015-01-01 02:33:01,bin9181,75,False +CTSPillarNetworkA,9182,9182,9182,1995-02-21,918.2000000001402,918.12286,2015-01-01 02:33:02,bin9182,35,False +CTSPillarNetworkA,9183,9183,9183,1995-02-22,918.3000000001402,918.22284,2015-01-01 02:33:03,bin9183,75,False +CTSPillarNetworkA,9184,9184,9184,1995-02-23,918.4000000001403,918.3228,2015-01-01 02:33:04,bin9184,35,False +CTSPillarNetworkA,9185,9185,9185,1995-02-24,918.5000000001403,918.4228,2015-01-01 02:33:05,bin9185,75,False +CTSPillarNetworkA,9186,9186,9186,1995-02-25,918.6000000001403,918.52277,2015-01-01 02:33:06,bin9186,35,False +CTSPillarNetworkA,9187,9187,9187,1995-02-26,918.7000000001403,918.62274,2015-01-01 02:33:07,bin9187,75,False +CTSPillarNetworkA,9188,9188,9188,1995-02-27,918.8000000001404,918.7227,2015-01-01 02:33:08,bin9188,35,False +CTSPillarNetworkA,9189,9189,9189,1995-02-28,918.9000000001404,918.8227,2015-01-01 02:33:09,bin9189,75,False +CTSPillarNetworkA,9190,9190,9190,1995-03-01,919.0000000001404,918.92267,2015-01-01 02:33:10,bin9190,35,False +CTSPillarNetworkA,9191,9191,9191,1995-03-02,919.1000000001404,919.02264,2015-01-01 02:33:11,bin9191,75,False +CTSPillarNetworkA,9192,9192,9192,1995-03-03,919.2000000001404,919.1226,2015-01-01 02:33:12,bin9192,35,False +CTSPillarNetworkA,9193,9193,9193,1995-03-04,919.3000000001405,919.2226,2015-01-01 02:33:13,bin9193,75,False +CTSPillarNetworkA,9194,9194,9194,1995-03-05,919.4000000001405,919.3226,2015-01-01 02:33:14,bin9194,35,False +CTSPillarNetworkA,9195,9195,9195,1995-03-06,919.5000000001405,919.42255,2015-01-01 02:33:15,bin9195,75,False +CTSPillarNetworkA,9196,9196,9196,1995-03-07,919.6000000001405,919.5225,2015-01-01 02:33:16,bin9196,35,False +CTSPillarNetworkA,9197,9197,9197,1995-03-08,919.7000000001406,919.6225,2015-01-01 02:33:17,bin9197,75,False +CTSPillarNetworkA,9198,9198,9198,1995-03-09,919.8000000001406,919.7225,2015-01-01 02:33:18,bin9198,35,False +CTSPillarNetworkA,9199,9199,9199,1995-03-10,919.9000000001406,919.82245,2015-01-01 02:33:19,bin9199,75,False +CTSPillarNetworkA,9200,9200,9200,1995-03-11,920.0000000001406,919.9224,2015-01-01 02:33:20,bin9200,35,False +CTSPillarNetworkA,9201,9201,9201,1995-03-12,920.1000000001407,920.0224,2015-01-01 02:33:21,bin9201,75,False +CTSPillarNetworkA,9202,9202,9202,1995-03-13,920.2000000001407,920.1224,2015-01-01 02:33:22,bin9202,35,False +CTSPillarNetworkA,9203,9203,9203,1995-03-14,920.3000000001407,920.22235,2015-01-01 02:33:23,bin9203,75,False +CTSPillarNetworkA,9204,9204,9204,1995-03-15,920.4000000001407,920.3223,2015-01-01 02:33:24,bin9204,35,False +CTSPillarNetworkA,9205,9205,9205,1995-03-16,920.5000000001407,920.4223,2015-01-01 02:33:25,bin9205,75,False +CTSPillarNetworkA,9206,9206,9206,1995-03-17,920.6000000001408,920.5223,2015-01-01 02:33:26,bin9206,35,False +CTSPillarNetworkA,9207,9207,9207,1995-03-18,920.7000000001408,920.62225,2015-01-01 02:33:27,bin9207,75,False +CTSPillarNetworkA,9208,9208,9208,1995-03-19,920.8000000001408,920.7222,2015-01-01 02:33:28,bin9208,35,False +CTSPillarNetworkA,9209,9209,9209,1995-03-20,920.9000000001408,920.8222,2015-01-01 02:33:29,bin9209,75,False +CTSPillarNetworkA,9210,9210,9210,1995-03-21,921.0000000001409,920.9222,2015-01-01 02:33:30,bin9210,35,False +CTSPillarNetworkA,9211,9211,9211,1995-03-22,921.1000000001409,921.02216,2015-01-01 02:33:31,bin9211,75,False +CTSPillarNetworkA,9212,9212,9212,1995-03-23,921.2000000001409,921.12213,2015-01-01 02:33:32,bin9212,35,False +CTSPillarNetworkA,9213,9213,9213,1995-03-24,921.3000000001409,921.2221,2015-01-01 02:33:33,bin9213,75,False +CTSPillarNetworkA,9214,9214,9214,1995-03-25,921.400000000141,921.3221,2015-01-01 02:33:34,bin9214,35,False +CTSPillarNetworkA,9215,9215,9215,1995-03-26,921.500000000141,921.42206,2015-01-01 02:33:35,bin9215,75,False +CTSPillarNetworkA,9216,9216,9216,1995-03-27,921.600000000141,921.52203,2015-01-01 02:33:36,bin9216,35,False +CTSPillarNetworkA,9217,9217,9217,1995-03-28,921.700000000141,921.622,2015-01-01 02:33:37,bin9217,75,False +CTSPillarNetworkA,9218,9218,9218,1995-03-29,921.800000000141,921.722,2015-01-01 02:33:38,bin9218,35,False +CTSPillarNetworkA,9219,9219,9219,1995-03-30,921.9000000001411,921.82196,2015-01-01 02:33:39,bin9219,75,False +CTSPillarNetworkA,9220,9220,9220,1995-03-31,922.0000000001411,921.92194,2015-01-01 02:33:40,bin9220,35,False +CTSPillarNetworkA,9221,9221,9221,1995-04-01,922.1000000001411,922.0219,2015-01-01 02:33:41,bin9221,75,False +CTSPillarNetworkA,9222,9222,9222,1995-04-02,922.2000000001411,922.1219,2015-01-01 02:33:42,bin9222,35,False +CTSPillarNetworkA,9223,9223,9223,1995-04-03,922.3000000001412,922.22186,2015-01-01 02:33:43,bin9223,75,False +CTSPillarNetworkA,9224,9224,9224,1995-04-04,922.4000000001412,922.32184,2015-01-01 02:33:44,bin9224,35,False +CTSPillarNetworkA,9225,9225,9225,1995-04-05,922.5000000001412,922.4218,2015-01-01 02:33:45,bin9225,75,False +CTSPillarNetworkA,9226,9226,9226,1995-04-06,922.6000000001412,922.5218,2015-01-01 02:33:46,bin9226,35,False +CTSPillarNetworkA,9227,9227,9227,1995-04-07,922.7000000001412,922.62177,2015-01-01 02:33:47,bin9227,75,False +CTSPillarNetworkA,9228,9228,9228,1995-04-08,922.8000000001413,922.72174,2015-01-01 02:33:48,bin9228,35,False +CTSPillarNetworkA,9229,9229,9229,1995-04-09,922.9000000001413,922.8217,2015-01-01 02:33:49,bin9229,75,False +CTSPillarNetworkA,9230,9230,9230,1995-04-10,923.0000000001413,922.9217,2015-01-01 02:33:50,bin9230,35,False +CTSPillarNetworkA,9231,9231,9231,1995-04-11,923.1000000001413,923.02167,2015-01-01 02:33:51,bin9231,75,False +CTSPillarNetworkA,9232,9232,9232,1995-04-12,923.2000000001414,923.12164,2015-01-01 02:33:52,bin9232,35,False +CTSPillarNetworkA,9233,9233,9233,1995-04-13,923.3000000001414,923.2216,2015-01-01 02:33:53,bin9233,75,False +CTSPillarNetworkA,9234,9234,9234,1995-04-14,923.4000000001414,923.3216,2015-01-01 02:33:54,bin9234,35,False +CTSPillarNetworkA,9235,9235,9235,1995-04-15,923.5000000001414,923.4216,2015-01-01 02:33:55,bin9235,75,False +CTSPillarNetworkA,9236,9236,9236,1995-04-16,923.6000000001414,923.52155,2015-01-01 02:33:56,bin9236,35,False +CTSPillarNetworkA,9237,9237,9237,1995-04-17,923.7000000001415,923.6215,2015-01-01 02:33:57,bin9237,75,False +CTSPillarNetworkA,9238,9238,9238,1995-04-18,923.8000000001415,923.7215,2015-01-01 02:33:58,bin9238,35,False +CTSPillarNetworkA,9239,9239,9239,1995-04-19,923.9000000001415,923.8215,2015-01-01 02:33:59,bin9239,75,False +CTSPillarNetworkA,9240,9240,9240,1995-04-20,924.0000000001415,923.92145,2015-01-01 02:34:00,bin9240,35,False +CTSPillarNetworkA,9241,9241,9241,1995-04-21,924.1000000001416,924.0214,2015-01-01 02:34:01,bin9241,75,False +CTSPillarNetworkA,9242,9242,9242,1995-04-22,924.2000000001416,924.1214,2015-01-01 02:34:02,bin9242,35,False +CTSPillarNetworkA,9243,9243,9243,1995-04-23,924.3000000001416,924.2214,2015-01-01 02:34:03,bin9243,75,False +CTSPillarNetworkA,9244,9244,9244,1995-04-24,924.4000000001416,924.32135,2015-01-01 02:34:04,bin9244,35,False +CTSPillarNetworkA,9245,9245,9245,1995-04-25,924.5000000001417,924.4213,2015-01-01 02:34:05,bin9245,75,False +CTSPillarNetworkA,9246,9246,9246,1995-04-26,924.6000000001417,924.5213,2015-01-01 02:34:06,bin9246,35,False +CTSPillarNetworkA,9247,9247,9247,1995-04-27,924.7000000001417,924.6213,2015-01-01 02:34:07,bin9247,75,False +CTSPillarNetworkA,9248,9248,9248,1995-04-28,924.8000000001417,924.72125,2015-01-01 02:34:08,bin9248,35,False +CTSPillarNetworkA,9249,9249,9249,1995-04-29,924.9000000001417,924.8212,2015-01-01 02:34:09,bin9249,75,False +CTSPillarNetworkA,9250,9250,9250,1995-04-30,925.0000000001418,924.9212,2015-01-01 02:34:10,bin9250,35,False +CTSPillarNetworkA,9251,9251,9251,1995-05-01,925.1000000001418,925.0212,2015-01-01 02:34:11,bin9251,75,False +CTSPillarNetworkA,9252,9252,9252,1995-05-02,925.2000000001418,925.12115,2015-01-01 02:34:12,bin9252,35,False +CTSPillarNetworkA,9253,9253,9253,1995-05-03,925.3000000001418,925.2211,2015-01-01 02:34:13,bin9253,75,False +CTSPillarNetworkA,9254,9254,9254,1995-05-04,925.4000000001419,925.3211,2015-01-01 02:34:14,bin9254,35,False +CTSPillarNetworkA,9255,9255,9255,1995-05-05,925.5000000001419,925.4211,2015-01-01 02:34:15,bin9255,75,False +CTSPillarNetworkA,9256,9256,9256,1995-05-06,925.6000000001419,925.52106,2015-01-01 02:34:16,bin9256,35,False +CTSPillarNetworkA,9257,9257,9257,1995-05-07,925.7000000001419,925.62103,2015-01-01 02:34:17,bin9257,75,False +CTSPillarNetworkA,9258,9258,9258,1995-05-08,925.800000000142,925.721,2015-01-01 02:34:18,bin9258,35,False +CTSPillarNetworkA,9259,9259,9259,1995-05-09,925.900000000142,925.821,2015-01-01 02:34:19,bin9259,75,False +CTSPillarNetworkA,9260,9260,9260,1995-05-10,926.000000000142,925.92096,2015-01-01 02:34:20,bin9260,35,False +CTSPillarNetworkA,9261,9261,9261,1995-05-11,926.100000000142,926.02094,2015-01-01 02:34:21,bin9261,75,False +CTSPillarNetworkA,9262,9262,9262,1995-05-12,926.200000000142,926.1209,2015-01-01 02:34:22,bin9262,35,False +CTSPillarNetworkA,9263,9263,9263,1995-05-13,926.3000000001421,926.2209,2015-01-01 02:34:23,bin9263,75,False +CTSPillarNetworkA,9264,9264,9264,1995-05-14,926.4000000001421,926.32086,2015-01-01 02:34:24,bin9264,35,False +CTSPillarNetworkA,9265,9265,9265,1995-05-15,926.5000000001421,926.42084,2015-01-01 02:34:25,bin9265,75,False +CTSPillarNetworkA,9266,9266,9266,1995-05-16,926.6000000001421,926.5208,2015-01-01 02:34:26,bin9266,35,False +CTSPillarNetworkA,9267,9267,9267,1995-05-17,926.7000000001422,926.6208,2015-01-01 02:34:27,bin9267,75,False +CTSPillarNetworkA,9268,9268,9268,1995-05-18,926.8000000001422,926.72076,2015-01-01 02:34:28,bin9268,35,False +CTSPillarNetworkA,9269,9269,9269,1995-05-19,926.9000000001422,926.82074,2015-01-01 02:34:29,bin9269,75,False +CTSPillarNetworkA,9270,9270,9270,1995-05-20,927.0000000001422,926.9207,2015-01-01 02:34:30,bin9270,35,False +CTSPillarNetworkA,9271,9271,9271,1995-05-21,927.1000000001422,927.0207,2015-01-01 02:34:31,bin9271,75,False +CTSPillarNetworkA,9272,9272,9272,1995-05-22,927.2000000001423,927.12067,2015-01-01 02:34:32,bin9272,35,False +CTSPillarNetworkA,9273,9273,9273,1995-05-23,927.3000000001423,927.22064,2015-01-01 02:34:33,bin9273,75,False +CTSPillarNetworkA,9274,9274,9274,1995-05-24,927.4000000001423,927.3206,2015-01-01 02:34:34,bin9274,35,False +CTSPillarNetworkA,9275,9275,9275,1995-05-25,927.5000000001423,927.4206,2015-01-01 02:34:35,bin9275,75,False +CTSPillarNetworkA,9276,9276,9276,1995-05-26,927.6000000001424,927.52057,2015-01-01 02:34:36,bin9276,35,False +CTSPillarNetworkA,9277,9277,9277,1995-05-27,927.7000000001424,927.62054,2015-01-01 02:34:37,bin9277,75,False +CTSPillarNetworkA,9278,9278,9278,1995-05-28,927.8000000001424,927.7205,2015-01-01 02:34:38,bin9278,35,False +CTSPillarNetworkA,9279,9279,9279,1995-05-29,927.9000000001424,927.8205,2015-01-01 02:34:39,bin9279,75,False +CTSPillarNetworkA,9280,9280,9280,1995-05-30,928.0000000001424,927.9205,2015-01-01 02:34:40,bin9280,35,False +CTSPillarNetworkA,9281,9281,9281,1995-05-31,928.1000000001425,928.02045,2015-01-01 02:34:41,bin9281,75,False +CTSPillarNetworkA,9282,9282,9282,1995-06-01,928.2000000001425,928.1204,2015-01-01 02:34:42,bin9282,35,False +CTSPillarNetworkA,9283,9283,9283,1995-06-02,928.3000000001425,928.2204,2015-01-01 02:34:43,bin9283,75,False +CTSPillarNetworkA,9284,9284,9284,1995-06-03,928.4000000001425,928.3204,2015-01-01 02:34:44,bin9284,35,False +CTSPillarNetworkA,9285,9285,9285,1995-06-04,928.5000000001426,928.42035,2015-01-01 02:34:45,bin9285,75,False +CTSPillarNetworkA,9286,9286,9286,1995-06-05,928.6000000001426,928.5203,2015-01-01 02:34:46,bin9286,35,False +CTSPillarNetworkA,9287,9287,9287,1995-06-06,928.7000000001426,928.6203,2015-01-01 02:34:47,bin9287,75,False +CTSPillarNetworkA,9288,9288,9288,1995-06-07,928.8000000001426,928.7203,2015-01-01 02:34:48,bin9288,35,False +CTSPillarNetworkA,9289,9289,9289,1995-06-08,928.9000000001427,928.82025,2015-01-01 02:34:49,bin9289,75,False +CTSPillarNetworkA,9290,9290,9290,1995-06-09,929.0000000001427,928.9202,2015-01-01 02:34:50,bin9290,35,False +CTSPillarNetworkA,9291,9291,9291,1995-06-10,929.1000000001427,929.0202,2015-01-01 02:34:51,bin9291,75,False +CTSPillarNetworkA,9292,9292,9292,1995-06-11,929.2000000001427,929.1202,2015-01-01 02:34:52,bin9292,35,False +CTSPillarNetworkA,9293,9293,9293,1995-06-12,929.3000000001427,929.22015,2015-01-01 02:34:53,bin9293,75,False +CTSPillarNetworkA,9294,9294,9294,1995-06-13,929.4000000001428,929.3201,2015-01-01 02:34:54,bin9294,35,False +CTSPillarNetworkA,9295,9295,9295,1995-06-14,929.5000000001428,929.4201,2015-01-01 02:34:55,bin9295,75,False +CTSPillarNetworkA,9296,9296,9296,1995-06-15,929.6000000001428,929.5201,2015-01-01 02:34:56,bin9296,35,False +CTSPillarNetworkA,9297,9297,9297,1995-06-16,929.7000000001428,929.62006,2015-01-01 02:34:57,bin9297,75,False +CTSPillarNetworkA,9298,9298,9298,1995-06-17,929.8000000001429,929.72003,2015-01-01 02:34:58,bin9298,35,False +CTSPillarNetworkA,9299,9299,9299,1995-06-18,929.9000000001429,929.82,2015-01-01 02:34:59,bin9299,75,False +CTSPillarNetworkA,9300,9300,9300,1995-06-19,930.0000000001429,929.92,2015-01-01 02:35:00,bin9300,35,False +CTSPillarNetworkA,9301,9301,9301,1995-06-20,930.1000000001429,930.01996,2015-01-01 02:35:01,bin9301,75,False +CTSPillarNetworkA,9302,9302,9302,1995-06-21,930.200000000143,930.11993,2015-01-01 02:35:02,bin9302,35,False +CTSPillarNetworkA,9303,9303,9303,1995-06-22,930.300000000143,930.2199,2015-01-01 02:35:03,bin9303,75,False +CTSPillarNetworkA,9304,9304,9304,1995-06-23,930.400000000143,930.3199,2015-01-01 02:35:04,bin9304,35,False +CTSPillarNetworkA,9305,9305,9305,1995-06-24,930.500000000143,930.41986,2015-01-01 02:35:05,bin9305,75,False +CTSPillarNetworkA,9306,9306,9306,1995-06-25,930.600000000143,930.51984,2015-01-01 02:35:06,bin9306,35,False +CTSPillarNetworkA,9307,9307,9307,1995-06-26,930.7000000001431,930.6198,2015-01-01 02:35:07,bin9307,75,False +CTSPillarNetworkA,9308,9308,9308,1995-06-27,930.8000000001431,930.7198,2015-01-01 02:35:08,bin9308,35,False +CTSPillarNetworkA,9309,9309,9309,1995-06-28,930.9000000001431,930.81976,2015-01-01 02:35:09,bin9309,75,False +CTSPillarNetworkA,9310,9310,9310,1995-06-29,931.0000000001431,930.91974,2015-01-01 02:35:10,bin9310,35,False +CTSPillarNetworkA,9311,9311,9311,1995-06-30,931.1000000001432,931.0197,2015-01-01 02:35:11,bin9311,75,False +CTSPillarNetworkA,9312,9312,9312,1995-07-01,931.2000000001432,931.1197,2015-01-01 02:35:12,bin9312,35,False +CTSPillarNetworkA,9313,9313,9313,1995-07-02,931.3000000001432,931.21967,2015-01-01 02:35:13,bin9313,75,False +CTSPillarNetworkA,9314,9314,9314,1995-07-03,931.4000000001432,931.31964,2015-01-01 02:35:14,bin9314,35,False +CTSPillarNetworkA,9315,9315,9315,1995-07-04,931.5000000001432,931.4196,2015-01-01 02:35:15,bin9315,75,False +CTSPillarNetworkA,9316,9316,9316,1995-07-05,931.6000000001433,931.5196,2015-01-01 02:35:16,bin9316,35,False +CTSPillarNetworkA,9317,9317,9317,1995-07-06,931.7000000001433,931.61957,2015-01-01 02:35:17,bin9317,75,False +CTSPillarNetworkA,9318,9318,9318,1995-07-07,931.8000000001433,931.71954,2015-01-01 02:35:18,bin9318,35,False +CTSPillarNetworkA,9319,9319,9319,1995-07-08,931.9000000001433,931.8195,2015-01-01 02:35:19,bin9319,75,False +CTSPillarNetworkA,9320,9320,9320,1995-07-09,932.0000000001434,931.9195,2015-01-01 02:35:20,bin9320,35,False +CTSPillarNetworkA,9321,9321,9321,1995-07-10,932.1000000001434,932.0195,2015-01-01 02:35:21,bin9321,75,False +CTSPillarNetworkA,9322,9322,9322,1995-07-11,932.2000000001434,932.11945,2015-01-01 02:35:22,bin9322,35,False +CTSPillarNetworkA,9323,9323,9323,1995-07-12,932.3000000001434,932.2194,2015-01-01 02:35:23,bin9323,75,False +CTSPillarNetworkA,9324,9324,9324,1995-07-13,932.4000000001435,932.3194,2015-01-01 02:35:24,bin9324,35,False +CTSPillarNetworkA,9325,9325,9325,1995-07-14,932.5000000001435,932.4194,2015-01-01 02:35:25,bin9325,75,False +CTSPillarNetworkA,9326,9326,9326,1995-07-15,932.6000000001435,932.51935,2015-01-01 02:35:26,bin9326,35,False +CTSPillarNetworkA,9327,9327,9327,1995-07-16,932.7000000001435,932.6193,2015-01-01 02:35:27,bin9327,75,False +CTSPillarNetworkA,9328,9328,9328,1995-07-17,932.8000000001435,932.7193,2015-01-01 02:35:28,bin9328,35,False +CTSPillarNetworkA,9329,9329,9329,1995-07-18,932.9000000001436,932.8193,2015-01-01 02:35:29,bin9329,75,False +CTSPillarNetworkA,9330,9330,9330,1995-07-19,933.0000000001436,932.91925,2015-01-01 02:35:30,bin9330,35,False +CTSPillarNetworkA,9331,9331,9331,1995-07-20,933.1000000001436,933.0192,2015-01-01 02:35:31,bin9331,75,False +CTSPillarNetworkA,9332,9332,9332,1995-07-21,933.2000000001436,933.1192,2015-01-01 02:35:32,bin9332,35,False +CTSPillarNetworkA,9333,9333,9333,1995-07-22,933.3000000001437,933.2192,2015-01-01 02:35:33,bin9333,75,False +CTSPillarNetworkA,9334,9334,9334,1995-07-23,933.4000000001437,933.31915,2015-01-01 02:35:34,bin9334,35,False +CTSPillarNetworkA,9335,9335,9335,1995-07-24,933.5000000001437,933.4191,2015-01-01 02:35:35,bin9335,75,False +CTSPillarNetworkA,9336,9336,9336,1995-07-25,933.6000000001437,933.5191,2015-01-01 02:35:36,bin9336,35,False +CTSPillarNetworkA,9337,9337,9337,1995-07-26,933.7000000001437,933.6191,2015-01-01 02:35:37,bin9337,75,False +CTSPillarNetworkA,9338,9338,9338,1995-07-27,933.8000000001438,933.71906,2015-01-01 02:35:38,bin9338,35,False +CTSPillarNetworkA,9339,9339,9339,1995-07-28,933.9000000001438,933.81903,2015-01-01 02:35:39,bin9339,75,False +CTSPillarNetworkA,9340,9340,9340,1995-07-29,934.0000000001438,933.919,2015-01-01 02:35:40,bin9340,35,False +CTSPillarNetworkA,9341,9341,9341,1995-07-30,934.1000000001438,934.019,2015-01-01 02:35:41,bin9341,75,False +CTSPillarNetworkA,9342,9342,9342,1995-07-31,934.2000000001439,934.11896,2015-01-01 02:35:42,bin9342,35,False +CTSPillarNetworkA,9343,9343,9343,1995-08-01,934.3000000001439,934.21893,2015-01-01 02:35:43,bin9343,75,False +CTSPillarNetworkA,9344,9344,9344,1995-08-02,934.4000000001439,934.3189,2015-01-01 02:35:44,bin9344,35,False +CTSPillarNetworkA,9345,9345,9345,1995-08-03,934.5000000001439,934.4189,2015-01-01 02:35:45,bin9345,75,False +CTSPillarNetworkA,9346,9346,9346,1995-08-04,934.600000000144,934.51886,2015-01-01 02:35:46,bin9346,35,False +CTSPillarNetworkA,9347,9347,9347,1995-08-05,934.700000000144,934.61884,2015-01-01 02:35:47,bin9347,75,False +CTSPillarNetworkA,9348,9348,9348,1995-08-06,934.800000000144,934.7188,2015-01-01 02:35:48,bin9348,35,False +CTSPillarNetworkA,9349,9349,9349,1995-08-07,934.900000000144,934.8188,2015-01-01 02:35:49,bin9349,75,False +CTSPillarNetworkA,9350,9350,9350,1995-08-08,935.000000000144,934.91876,2015-01-01 02:35:50,bin9350,35,False +CTSPillarNetworkA,9351,9351,9351,1995-08-09,935.1000000001441,935.01874,2015-01-01 02:35:51,bin9351,75,False +CTSPillarNetworkA,9352,9352,9352,1995-08-10,935.2000000001441,935.1187,2015-01-01 02:35:52,bin9352,35,False +CTSPillarNetworkA,9353,9353,9353,1995-08-11,935.3000000001441,935.2187,2015-01-01 02:35:53,bin9353,75,False +CTSPillarNetworkA,9354,9354,9354,1995-08-12,935.4000000001441,935.31866,2015-01-01 02:35:54,bin9354,35,False +CTSPillarNetworkA,9355,9355,9355,1995-08-13,935.5000000001442,935.41864,2015-01-01 02:35:55,bin9355,75,False +CTSPillarNetworkA,9356,9356,9356,1995-08-14,935.6000000001442,935.5186,2015-01-01 02:35:56,bin9356,35,False +CTSPillarNetworkA,9357,9357,9357,1995-08-15,935.7000000001442,935.6186,2015-01-01 02:35:57,bin9357,75,False +CTSPillarNetworkA,9358,9358,9358,1995-08-16,935.8000000001442,935.71857,2015-01-01 02:35:58,bin9358,35,False +CTSPillarNetworkA,9359,9359,9359,1995-08-17,935.9000000001442,935.81854,2015-01-01 02:35:59,bin9359,75,False +CTSPillarNetworkA,9360,9360,9360,1995-08-18,936.0000000001443,935.9185,2015-01-01 02:36:00,bin9360,35,False +CTSPillarNetworkA,9361,9361,9361,1995-08-19,936.1000000001443,936.0185,2015-01-01 02:36:01,bin9361,75,False +CTSPillarNetworkA,9362,9362,9362,1995-08-20,936.2000000001443,936.11847,2015-01-01 02:36:02,bin9362,35,False +CTSPillarNetworkA,9363,9363,9363,1995-08-21,936.3000000001443,936.21844,2015-01-01 02:36:03,bin9363,75,False +CTSPillarNetworkA,9364,9364,9364,1995-08-22,936.4000000001444,936.3184,2015-01-01 02:36:04,bin9364,35,False +CTSPillarNetworkA,9365,9365,9365,1995-08-23,936.5000000001444,936.4184,2015-01-01 02:36:05,bin9365,75,False +CTSPillarNetworkA,9366,9366,9366,1995-08-24,936.6000000001444,936.5184,2015-01-01 02:36:06,bin9366,35,False +CTSPillarNetworkA,9367,9367,9367,1995-08-25,936.7000000001444,936.61835,2015-01-01 02:36:07,bin9367,75,False +CTSPillarNetworkA,9368,9368,9368,1995-08-26,936.8000000001445,936.7183,2015-01-01 02:36:08,bin9368,35,False +CTSPillarNetworkA,9369,9369,9369,1995-08-27,936.9000000001445,936.8183,2015-01-01 02:36:09,bin9369,75,False +CTSPillarNetworkA,9370,9370,9370,1995-08-28,937.0000000001445,936.9183,2015-01-01 02:36:10,bin9370,35,False +CTSPillarNetworkA,9371,9371,9371,1995-08-29,937.1000000001445,937.01825,2015-01-01 02:36:11,bin9371,75,False +CTSPillarNetworkA,9372,9372,9372,1995-08-30,937.2000000001445,937.1182,2015-01-01 02:36:12,bin9372,35,False +CTSPillarNetworkA,9373,9373,9373,1995-08-31,937.3000000001446,937.2182,2015-01-01 02:36:13,bin9373,75,False +CTSPillarNetworkA,9374,9374,9374,1995-09-01,937.4000000001446,937.3182,2015-01-01 02:36:14,bin9374,35,False +CTSPillarNetworkA,9375,9375,9375,1995-09-02,937.5000000001446,937.41815,2015-01-01 02:36:15,bin9375,75,False +CTSPillarNetworkA,9376,9376,9376,1995-09-03,937.6000000001446,937.5181,2015-01-01 02:36:16,bin9376,35,False +CTSPillarNetworkA,9377,9377,9377,1995-09-04,937.7000000001447,937.6181,2015-01-01 02:36:17,bin9377,75,False +CTSPillarNetworkA,9378,9378,9378,1995-09-05,937.8000000001447,937.7181,2015-01-01 02:36:18,bin9378,35,False +CTSPillarNetworkA,9379,9379,9379,1995-09-06,937.9000000001447,937.81805,2015-01-01 02:36:19,bin9379,75,False +CTSPillarNetworkA,9380,9380,9380,1995-09-07,938.0000000001447,937.918,2015-01-01 02:36:20,bin9380,35,False +CTSPillarNetworkA,9381,9381,9381,1995-09-08,938.1000000001447,938.018,2015-01-01 02:36:21,bin9381,75,False +CTSPillarNetworkA,9382,9382,9382,1995-09-09,938.2000000001448,938.118,2015-01-01 02:36:22,bin9382,35,False +CTSPillarNetworkA,9383,9383,9383,1995-09-10,938.3000000001448,938.21796,2015-01-01 02:36:23,bin9383,75,False +CTSPillarNetworkA,9384,9384,9384,1995-09-11,938.4000000001448,938.31793,2015-01-01 02:36:24,bin9384,35,False +CTSPillarNetworkA,9385,9385,9385,1995-09-12,938.5000000001448,938.4179,2015-01-01 02:36:25,bin9385,75,False +CTSPillarNetworkA,9386,9386,9386,1995-09-13,938.6000000001449,938.5179,2015-01-01 02:36:26,bin9386,35,False +CTSPillarNetworkA,9387,9387,9387,1995-09-14,938.7000000001449,938.61786,2015-01-01 02:36:27,bin9387,75,False +CTSPillarNetworkA,9388,9388,9388,1995-09-15,938.8000000001449,938.71783,2015-01-01 02:36:28,bin9388,35,False +CTSPillarNetworkA,9389,9389,9389,1995-09-16,938.9000000001449,938.8178,2015-01-01 02:36:29,bin9389,75,False +CTSPillarNetworkA,9390,9390,9390,1995-09-17,939.000000000145,938.9178,2015-01-01 02:36:30,bin9390,35,False +CTSPillarNetworkA,9391,9391,9391,1995-09-18,939.100000000145,939.01776,2015-01-01 02:36:31,bin9391,75,False +CTSPillarNetworkA,9392,9392,9392,1995-09-19,939.200000000145,939.11774,2015-01-01 02:36:32,bin9392,35,False +CTSPillarNetworkA,9393,9393,9393,1995-09-20,939.300000000145,939.2177,2015-01-01 02:36:33,bin9393,75,False +CTSPillarNetworkA,9394,9394,9394,1995-09-21,939.400000000145,939.3177,2015-01-01 02:36:34,bin9394,35,False +CTSPillarNetworkA,9395,9395,9395,1995-09-22,939.5000000001451,939.41766,2015-01-01 02:36:35,bin9395,75,False +CTSPillarNetworkA,9396,9396,9396,1995-09-23,939.6000000001451,939.51764,2015-01-01 02:36:36,bin9396,35,False +CTSPillarNetworkA,9397,9397,9397,1995-09-24,939.7000000001451,939.6176,2015-01-01 02:36:37,bin9397,75,False +CTSPillarNetworkA,9398,9398,9398,1995-09-25,939.8000000001451,939.7176,2015-01-01 02:36:38,bin9398,35,False +CTSPillarNetworkA,9399,9399,9399,1995-09-26,939.9000000001452,939.81757,2015-01-01 02:36:39,bin9399,75,False +CTSPillarNetworkA,9400,9400,9400,1995-09-27,940.0000000001452,939.91754,2015-01-01 02:36:40,bin9400,35,False +CTSPillarNetworkA,9401,9401,9401,1995-09-28,940.1000000001452,940.0175,2015-01-01 02:36:41,bin9401,75,False +CTSPillarNetworkA,9402,9402,9402,1995-09-29,940.2000000001452,940.1175,2015-01-01 02:36:42,bin9402,35,False +CTSPillarNetworkA,9403,9403,9403,1995-09-30,940.3000000001452,940.21747,2015-01-01 02:36:43,bin9403,75,False +CTSPillarNetworkA,9404,9404,9404,1995-10-01,940.4000000001453,940.31744,2015-01-01 02:36:44,bin9404,35,False +CTSPillarNetworkA,9405,9405,9405,1995-10-02,940.5000000001453,940.4174,2015-01-01 02:36:45,bin9405,75,False +CTSPillarNetworkA,9406,9406,9406,1995-10-03,940.6000000001453,940.5174,2015-01-01 02:36:46,bin9406,35,False +CTSPillarNetworkA,9407,9407,9407,1995-10-04,940.7000000001453,940.6174,2015-01-01 02:36:47,bin9407,75,False +CTSPillarNetworkA,9408,9408,9408,1995-10-05,940.8000000001454,940.71735,2015-01-01 02:36:48,bin9408,35,False +CTSPillarNetworkA,9409,9409,9409,1995-10-06,940.9000000001454,940.8173,2015-01-01 02:36:49,bin9409,75,False +CTSPillarNetworkA,9410,9410,9410,1995-10-07,941.0000000001454,940.9173,2015-01-01 02:36:50,bin9410,35,False +CTSPillarNetworkA,9411,9411,9411,1995-10-08,941.1000000001454,941.0173,2015-01-01 02:36:51,bin9411,75,False +CTSPillarNetworkA,9412,9412,9412,1995-10-09,941.2000000001455,941.11725,2015-01-01 02:36:52,bin9412,35,False +CTSPillarNetworkA,9413,9413,9413,1995-10-10,941.3000000001455,941.2172,2015-01-01 02:36:53,bin9413,75,False +CTSPillarNetworkA,9414,9414,9414,1995-10-11,941.4000000001455,941.3172,2015-01-01 02:36:54,bin9414,35,False +CTSPillarNetworkA,9415,9415,9415,1995-10-12,941.5000000001455,941.4172,2015-01-01 02:36:55,bin9415,75,False +CTSPillarNetworkA,9416,9416,9416,1995-10-13,941.6000000001455,941.51715,2015-01-01 02:36:56,bin9416,35,False +CTSPillarNetworkA,9417,9417,9417,1995-10-14,941.7000000001456,941.6171,2015-01-01 02:36:57,bin9417,75,False +CTSPillarNetworkA,9418,9418,9418,1995-10-15,941.8000000001456,941.7171,2015-01-01 02:36:58,bin9418,35,False +CTSPillarNetworkA,9419,9419,9419,1995-10-16,941.9000000001456,941.8171,2015-01-01 02:36:59,bin9419,75,False +CTSPillarNetworkA,9420,9420,9420,1995-10-17,942.0000000001456,941.91705,2015-01-01 02:37:00,bin9420,35,False +CTSPillarNetworkA,9421,9421,9421,1995-10-18,942.1000000001457,942.017,2015-01-01 02:37:01,bin9421,75,False +CTSPillarNetworkA,9422,9422,9422,1995-10-19,942.2000000001457,942.117,2015-01-01 02:37:02,bin9422,35,False +CTSPillarNetworkA,9423,9423,9423,1995-10-20,942.3000000001457,942.217,2015-01-01 02:37:03,bin9423,75,False +CTSPillarNetworkA,9424,9424,9424,1995-10-21,942.4000000001457,942.31696,2015-01-01 02:37:04,bin9424,35,False +CTSPillarNetworkA,9425,9425,9425,1995-10-22,942.5000000001457,942.41693,2015-01-01 02:37:05,bin9425,75,False +CTSPillarNetworkA,9426,9426,9426,1995-10-23,942.6000000001458,942.5169,2015-01-01 02:37:06,bin9426,35,False +CTSPillarNetworkA,9427,9427,9427,1995-10-24,942.7000000001458,942.6169,2015-01-01 02:37:07,bin9427,75,False +CTSPillarNetworkA,9428,9428,9428,1995-10-25,942.8000000001458,942.71686,2015-01-01 02:37:08,bin9428,35,False +CTSPillarNetworkA,9429,9429,9429,1995-10-26,942.9000000001458,942.81683,2015-01-01 02:37:09,bin9429,75,False +CTSPillarNetworkA,9430,9430,9430,1995-10-27,943.0000000001459,942.9168,2015-01-01 02:37:10,bin9430,35,False +CTSPillarNetworkA,9431,9431,9431,1995-10-28,943.1000000001459,943.0168,2015-01-01 02:37:11,bin9431,75,False +CTSPillarNetworkA,9432,9432,9432,1995-10-29,943.2000000001459,943.11676,2015-01-01 02:37:12,bin9432,35,False +CTSPillarNetworkA,9433,9433,9433,1995-10-30,943.3000000001459,943.21674,2015-01-01 02:37:13,bin9433,75,False +CTSPillarNetworkA,9434,9434,9434,1995-10-31,943.400000000146,943.3167,2015-01-01 02:37:14,bin9434,35,False +CTSPillarNetworkA,9435,9435,9435,1995-11-01,943.500000000146,943.4167,2015-01-01 02:37:15,bin9435,75,False +CTSPillarNetworkA,9436,9436,9436,1995-11-02,943.600000000146,943.51666,2015-01-01 02:37:16,bin9436,35,False +CTSPillarNetworkA,9437,9437,9437,1995-11-03,943.700000000146,943.61664,2015-01-01 02:37:17,bin9437,75,False +CTSPillarNetworkA,9438,9438,9438,1995-11-04,943.800000000146,943.7166,2015-01-01 02:37:18,bin9438,35,False +CTSPillarNetworkA,9439,9439,9439,1995-11-05,943.9000000001461,943.8166,2015-01-01 02:37:19,bin9439,75,False +CTSPillarNetworkA,9440,9440,9440,1995-11-06,944.0000000001461,943.91656,2015-01-01 02:37:20,bin9440,35,False +CTSPillarNetworkA,9441,9441,9441,1995-11-07,944.1000000001461,944.01654,2015-01-01 02:37:21,bin9441,75,False +CTSPillarNetworkA,9442,9442,9442,1995-11-08,944.2000000001461,944.1165,2015-01-01 02:37:22,bin9442,35,False +CTSPillarNetworkA,9443,9443,9443,1995-11-09,944.3000000001462,944.2165,2015-01-01 02:37:23,bin9443,75,False +CTSPillarNetworkA,9444,9444,9444,1995-11-10,944.4000000001462,944.31647,2015-01-01 02:37:24,bin9444,35,False +CTSPillarNetworkA,9445,9445,9445,1995-11-11,944.5000000001462,944.41644,2015-01-01 02:37:25,bin9445,75,False +CTSPillarNetworkA,9446,9446,9446,1995-11-12,944.6000000001462,944.5164,2015-01-01 02:37:26,bin9446,35,False +CTSPillarNetworkA,9447,9447,9447,1995-11-13,944.7000000001462,944.6164,2015-01-01 02:37:27,bin9447,75,False +CTSPillarNetworkA,9448,9448,9448,1995-11-14,944.8000000001463,944.7164,2015-01-01 02:37:28,bin9448,35,False +CTSPillarNetworkA,9449,9449,9449,1995-11-15,944.9000000001463,944.81635,2015-01-01 02:37:29,bin9449,75,False +CTSPillarNetworkA,9450,9450,9450,1995-11-16,945.0000000001463,944.9163,2015-01-01 02:37:30,bin9450,35,False +CTSPillarNetworkA,9451,9451,9451,1995-11-17,945.1000000001463,945.0163,2015-01-01 02:37:31,bin9451,75,False +CTSPillarNetworkA,9452,9452,9452,1995-11-18,945.2000000001464,945.1163,2015-01-01 02:37:32,bin9452,35,False +CTSPillarNetworkA,9453,9453,9453,1995-11-19,945.3000000001464,945.21625,2015-01-01 02:37:33,bin9453,75,False +CTSPillarNetworkA,9454,9454,9454,1995-11-20,945.4000000001464,945.3162,2015-01-01 02:37:34,bin9454,35,False +CTSPillarNetworkA,9455,9455,9455,1995-11-21,945.5000000001464,945.4162,2015-01-01 02:37:35,bin9455,75,False +CTSPillarNetworkA,9456,9456,9456,1995-11-22,945.6000000001465,945.5162,2015-01-01 02:37:36,bin9456,35,False +CTSPillarNetworkA,9457,9457,9457,1995-11-23,945.7000000001465,945.61615,2015-01-01 02:37:37,bin9457,75,False +CTSPillarNetworkA,9458,9458,9458,1995-11-24,945.8000000001465,945.7161,2015-01-01 02:37:38,bin9458,35,False +CTSPillarNetworkA,9459,9459,9459,1995-11-25,945.9000000001465,945.8161,2015-01-01 02:37:39,bin9459,75,False +CTSPillarNetworkA,9460,9460,9460,1995-11-26,946.0000000001465,945.9161,2015-01-01 02:37:40,bin9460,35,False +CTSPillarNetworkA,9461,9461,9461,1995-11-27,946.1000000001466,946.01605,2015-01-01 02:37:41,bin9461,75,False +CTSPillarNetworkA,9462,9462,9462,1995-11-28,946.2000000001466,946.116,2015-01-01 02:37:42,bin9462,35,False +CTSPillarNetworkA,9463,9463,9463,1995-11-29,946.3000000001466,946.216,2015-01-01 02:37:43,bin9463,75,False +CTSPillarNetworkA,9464,9464,9464,1995-11-30,946.4000000001466,946.316,2015-01-01 02:37:44,bin9464,35,False +CTSPillarNetworkA,9465,9465,9465,1995-12-01,946.5000000001467,946.41595,2015-01-01 02:37:45,bin9465,75,False +CTSPillarNetworkA,9466,9466,9466,1995-12-02,946.6000000001467,946.5159,2015-01-01 02:37:46,bin9466,35,False +CTSPillarNetworkA,9467,9467,9467,1995-12-03,946.7000000001467,946.6159,2015-01-01 02:37:47,bin9467,75,False +CTSPillarNetworkA,9468,9468,9468,1995-12-04,946.8000000001467,946.7159,2015-01-01 02:37:48,bin9468,35,False +CTSPillarNetworkA,9469,9469,9469,1995-12-05,946.9000000001467,946.81586,2015-01-01 02:37:49,bin9469,75,False +CTSPillarNetworkA,9470,9470,9470,1995-12-06,947.0000000001468,946.91583,2015-01-01 02:37:50,bin9470,35,False +CTSPillarNetworkA,9471,9471,9471,1995-12-07,947.1000000001468,947.0158,2015-01-01 02:37:51,bin9471,75,False +CTSPillarNetworkA,9472,9472,9472,1995-12-08,947.2000000001468,947.1158,2015-01-01 02:37:52,bin9472,35,False +CTSPillarNetworkA,9473,9473,9473,1995-12-09,947.3000000001468,947.21576,2015-01-01 02:37:53,bin9473,75,False +CTSPillarNetworkA,9474,9474,9474,1995-12-10,947.4000000001469,947.31573,2015-01-01 02:37:54,bin9474,35,False +CTSPillarNetworkA,9475,9475,9475,1995-12-11,947.5000000001469,947.4157,2015-01-01 02:37:55,bin9475,75,False +CTSPillarNetworkA,9476,9476,9476,1995-12-12,947.6000000001469,947.5157,2015-01-01 02:37:56,bin9476,35,False +CTSPillarNetworkA,9477,9477,9477,1995-12-13,947.7000000001469,947.61566,2015-01-01 02:37:57,bin9477,75,False +CTSPillarNetworkA,9478,9478,9478,1995-12-14,947.800000000147,947.71564,2015-01-01 02:37:58,bin9478,35,False +CTSPillarNetworkA,9479,9479,9479,1995-12-15,947.900000000147,947.8156,2015-01-01 02:37:59,bin9479,75,False +CTSPillarNetworkA,9480,9480,9480,1995-12-16,948.000000000147,947.9156,2015-01-01 02:38:00,bin9480,35,False +CTSPillarNetworkA,9481,9481,9481,1995-12-17,948.100000000147,948.01556,2015-01-01 02:38:01,bin9481,75,False +CTSPillarNetworkA,9482,9482,9482,1995-12-18,948.200000000147,948.11554,2015-01-01 02:38:02,bin9482,35,False +CTSPillarNetworkA,9483,9483,9483,1995-12-19,948.3000000001471,948.2155,2015-01-01 02:38:03,bin9483,75,False +CTSPillarNetworkA,9484,9484,9484,1995-12-20,948.4000000001471,948.3155,2015-01-01 02:38:04,bin9484,35,False +CTSPillarNetworkA,9485,9485,9485,1995-12-21,948.5000000001471,948.41547,2015-01-01 02:38:05,bin9485,75,False +CTSPillarNetworkA,9486,9486,9486,1995-12-22,948.6000000001471,948.51544,2015-01-01 02:38:06,bin9486,35,False +CTSPillarNetworkA,9487,9487,9487,1995-12-23,948.7000000001472,948.6154,2015-01-01 02:38:07,bin9487,75,False +CTSPillarNetworkA,9488,9488,9488,1995-12-24,948.8000000001472,948.7154,2015-01-01 02:38:08,bin9488,35,False +CTSPillarNetworkA,9489,9489,9489,1995-12-25,948.9000000001472,948.81537,2015-01-01 02:38:09,bin9489,75,False +CTSPillarNetworkA,9490,9490,9490,1995-12-26,949.0000000001472,948.91534,2015-01-01 02:38:10,bin9490,35,False +CTSPillarNetworkA,9491,9491,9491,1995-12-27,949.1000000001472,949.0153,2015-01-01 02:38:11,bin9491,75,False +CTSPillarNetworkA,9492,9492,9492,1995-12-28,949.2000000001473,949.1153,2015-01-01 02:38:12,bin9492,35,False +CTSPillarNetworkA,9493,9493,9493,1995-12-29,949.3000000001473,949.2153,2015-01-01 02:38:13,bin9493,75,False +CTSPillarNetworkA,9494,9494,9494,1995-12-30,949.4000000001473,949.31525,2015-01-01 02:38:14,bin9494,35,False +CTSPillarNetworkA,9495,9495,9495,1995-12-31,949.5000000001473,949.4152,2015-01-01 02:38:15,bin9495,75,False +CTSPillarNetworkA,9496,9496,9496,1996-01-01,949.6000000001474,949.5152,2015-01-01 02:38:16,bin9496,35,False +CTSPillarNetworkA,9497,9497,9497,1996-01-02,949.7000000001474,949.6152,2015-01-01 02:38:17,bin9497,75,False +CTSPillarNetworkA,9498,9498,9498,1996-01-03,949.8000000001474,949.71515,2015-01-01 02:38:18,bin9498,35,False +CTSPillarNetworkA,9499,9499,9499,1996-01-04,949.9000000001474,949.8151,2015-01-01 02:38:19,bin9499,75,False +CTSPillarNetworkA,9500,9500,9500,1996-01-05,950.0000000001475,949.9151,2015-01-01 02:38:20,bin9500,35,False +CTSPillarNetworkA,9501,9501,9501,1996-01-06,950.1000000001475,950.0151,2015-01-01 02:38:21,bin9501,75,False +CTSPillarNetworkA,9502,9502,9502,1996-01-07,950.2000000001475,950.11505,2015-01-01 02:38:22,bin9502,35,False +CTSPillarNetworkA,9503,9503,9503,1996-01-08,950.3000000001475,950.215,2015-01-01 02:38:23,bin9503,75,False +CTSPillarNetworkA,9504,9504,9504,1996-01-09,950.4000000001475,950.315,2015-01-01 02:38:24,bin9504,35,False +CTSPillarNetworkA,9505,9505,9505,1996-01-10,950.5000000001476,950.415,2015-01-01 02:38:25,bin9505,75,False +CTSPillarNetworkA,9506,9506,9506,1996-01-11,950.6000000001476,950.51495,2015-01-01 02:38:26,bin9506,35,False +CTSPillarNetworkA,9507,9507,9507,1996-01-12,950.7000000001476,950.6149,2015-01-01 02:38:27,bin9507,75,False +CTSPillarNetworkA,9508,9508,9508,1996-01-13,950.8000000001476,950.7149,2015-01-01 02:38:28,bin9508,35,False +CTSPillarNetworkA,9509,9509,9509,1996-01-14,950.9000000001477,950.8149,2015-01-01 02:38:29,bin9509,75,False +CTSPillarNetworkA,9510,9510,9510,1996-01-15,951.0000000001477,950.91486,2015-01-01 02:38:30,bin9510,35,False +CTSPillarNetworkA,9511,9511,9511,1996-01-16,951.1000000001477,951.01483,2015-01-01 02:38:31,bin9511,75,False +CTSPillarNetworkA,9512,9512,9512,1996-01-17,951.2000000001477,951.1148,2015-01-01 02:38:32,bin9512,35,False +CTSPillarNetworkA,9513,9513,9513,1996-01-18,951.3000000001477,951.2148,2015-01-01 02:38:33,bin9513,75,False +CTSPillarNetworkA,9514,9514,9514,1996-01-19,951.4000000001478,951.31476,2015-01-01 02:38:34,bin9514,35,False +CTSPillarNetworkA,9515,9515,9515,1996-01-20,951.5000000001478,951.41473,2015-01-01 02:38:35,bin9515,75,False +CTSPillarNetworkA,9516,9516,9516,1996-01-21,951.6000000001478,951.5147,2015-01-01 02:38:36,bin9516,35,False +CTSPillarNetworkA,9517,9517,9517,1996-01-22,951.7000000001478,951.6147,2015-01-01 02:38:37,bin9517,75,False +CTSPillarNetworkA,9518,9518,9518,1996-01-23,951.8000000001479,951.71466,2015-01-01 02:38:38,bin9518,35,False +CTSPillarNetworkA,9519,9519,9519,1996-01-24,951.9000000001479,951.81464,2015-01-01 02:38:39,bin9519,75,False +CTSPillarNetworkA,9520,9520,9520,1996-01-25,952.0000000001479,951.9146,2015-01-01 02:38:40,bin9520,35,False +CTSPillarNetworkA,9521,9521,9521,1996-01-26,952.1000000001479,952.0146,2015-01-01 02:38:41,bin9521,75,False +CTSPillarNetworkA,9522,9522,9522,1996-01-27,952.200000000148,952.11456,2015-01-01 02:38:42,bin9522,35,False +CTSPillarNetworkA,9523,9523,9523,1996-01-28,952.300000000148,952.21454,2015-01-01 02:38:43,bin9523,75,False +CTSPillarNetworkA,9524,9524,9524,1996-01-29,952.400000000148,952.3145,2015-01-01 02:38:44,bin9524,35,False +CTSPillarNetworkA,9525,9525,9525,1996-01-30,952.500000000148,952.4145,2015-01-01 02:38:45,bin9525,75,False +CTSPillarNetworkA,9526,9526,9526,1996-01-31,952.600000000148,952.51447,2015-01-01 02:38:46,bin9526,35,False +CTSPillarNetworkA,9527,9527,9527,1996-02-01,952.7000000001481,952.61444,2015-01-01 02:38:47,bin9527,75,False +CTSPillarNetworkA,9528,9528,9528,1996-02-02,952.8000000001481,952.7144,2015-01-01 02:38:48,bin9528,35,False +CTSPillarNetworkA,9529,9529,9529,1996-02-03,952.9000000001481,952.8144,2015-01-01 02:38:49,bin9529,75,False +CTSPillarNetworkA,9530,9530,9530,1996-02-04,953.0000000001481,952.91437,2015-01-01 02:38:50,bin9530,35,False +CTSPillarNetworkA,9531,9531,9531,1996-02-05,953.1000000001482,953.01434,2015-01-01 02:38:51,bin9531,75,False +CTSPillarNetworkA,9532,9532,9532,1996-02-06,953.2000000001482,953.1143,2015-01-01 02:38:52,bin9532,35,False +CTSPillarNetworkA,9533,9533,9533,1996-02-07,953.3000000001482,953.2143,2015-01-01 02:38:53,bin9533,75,False +CTSPillarNetworkA,9534,9534,9534,1996-02-08,953.4000000001482,953.3143,2015-01-01 02:38:54,bin9534,35,False +CTSPillarNetworkA,9535,9535,9535,1996-02-09,953.5000000001482,953.41425,2015-01-01 02:38:55,bin9535,75,False +CTSPillarNetworkA,9536,9536,9536,1996-02-10,953.6000000001483,953.5142,2015-01-01 02:38:56,bin9536,35,False +CTSPillarNetworkA,9537,9537,9537,1996-02-11,953.7000000001483,953.6142,2015-01-01 02:38:57,bin9537,75,False +CTSPillarNetworkA,9538,9538,9538,1996-02-12,953.8000000001483,953.7142,2015-01-01 02:38:58,bin9538,35,False +CTSPillarNetworkA,9539,9539,9539,1996-02-13,953.9000000001483,953.81415,2015-01-01 02:38:59,bin9539,75,False +CTSPillarNetworkA,9540,9540,9540,1996-02-14,954.0000000001484,953.9141,2015-01-01 02:39:00,bin9540,35,False +CTSPillarNetworkA,9541,9541,9541,1996-02-15,954.1000000001484,954.0141,2015-01-01 02:39:01,bin9541,75,False +CTSPillarNetworkA,9542,9542,9542,1996-02-16,954.2000000001484,954.1141,2015-01-01 02:39:02,bin9542,35,False +CTSPillarNetworkA,9543,9543,9543,1996-02-17,954.3000000001484,954.21405,2015-01-01 02:39:03,bin9543,75,False +CTSPillarNetworkA,9544,9544,9544,1996-02-18,954.4000000001485,954.314,2015-01-01 02:39:04,bin9544,35,False +CTSPillarNetworkA,9545,9545,9545,1996-02-19,954.5000000001485,954.414,2015-01-01 02:39:05,bin9545,75,False +CTSPillarNetworkA,9546,9546,9546,1996-02-20,954.6000000001485,954.514,2015-01-01 02:39:06,bin9546,35,False +CTSPillarNetworkA,9547,9547,9547,1996-02-21,954.7000000001485,954.61395,2015-01-01 02:39:07,bin9547,75,False +CTSPillarNetworkA,9548,9548,9548,1996-02-22,954.8000000001485,954.7139,2015-01-01 02:39:08,bin9548,35,False +CTSPillarNetworkA,9549,9549,9549,1996-02-23,954.9000000001486,954.8139,2015-01-01 02:39:09,bin9549,75,False +CTSPillarNetworkA,9550,9550,9550,1996-02-24,955.0000000001486,954.9139,2015-01-01 02:39:10,bin9550,35,False +CTSPillarNetworkA,9551,9551,9551,1996-02-25,955.1000000001486,955.01385,2015-01-01 02:39:11,bin9551,75,False +CTSPillarNetworkA,9552,9552,9552,1996-02-26,955.2000000001486,955.11383,2015-01-01 02:39:12,bin9552,35,False +CTSPillarNetworkA,9553,9553,9553,1996-02-27,955.3000000001487,955.2138,2015-01-01 02:39:13,bin9553,75,False +CTSPillarNetworkA,9554,9554,9554,1996-02-28,955.4000000001487,955.3138,2015-01-01 02:39:14,bin9554,35,False +CTSPillarNetworkA,9555,9555,9555,1996-02-29,955.5000000001487,955.41376,2015-01-01 02:39:15,bin9555,75,False +CTSPillarNetworkA,9556,9556,9556,1996-03-01,955.6000000001487,955.51373,2015-01-01 02:39:16,bin9556,35,False +CTSPillarNetworkA,9557,9557,9557,1996-03-02,955.7000000001487,955.6137,2015-01-01 02:39:17,bin9557,75,False +CTSPillarNetworkA,9558,9558,9558,1996-03-03,955.8000000001488,955.7137,2015-01-01 02:39:18,bin9558,35,False +CTSPillarNetworkA,9559,9559,9559,1996-03-04,955.9000000001488,955.81366,2015-01-01 02:39:19,bin9559,75,False +CTSPillarNetworkA,9560,9560,9560,1996-03-05,956.0000000001488,955.91364,2015-01-01 02:39:20,bin9560,35,False +CTSPillarNetworkA,9561,9561,9561,1996-03-06,956.1000000001488,956.0136,2015-01-01 02:39:21,bin9561,75,False +CTSPillarNetworkA,9562,9562,9562,1996-03-07,956.2000000001489,956.1136,2015-01-01 02:39:22,bin9562,35,False +CTSPillarNetworkA,9563,9563,9563,1996-03-08,956.3000000001489,956.21356,2015-01-01 02:39:23,bin9563,75,False +CTSPillarNetworkA,9564,9564,9564,1996-03-09,956.4000000001489,956.31354,2015-01-01 02:39:24,bin9564,35,False +CTSPillarNetworkA,9565,9565,9565,1996-03-10,956.5000000001489,956.4135,2015-01-01 02:39:25,bin9565,75,False +CTSPillarNetworkA,9566,9566,9566,1996-03-11,956.600000000149,956.5135,2015-01-01 02:39:26,bin9566,35,False +CTSPillarNetworkA,9567,9567,9567,1996-03-12,956.700000000149,956.61346,2015-01-01 02:39:27,bin9567,75,False +CTSPillarNetworkA,9568,9568,9568,1996-03-13,956.800000000149,956.71344,2015-01-01 02:39:28,bin9568,35,False +CTSPillarNetworkA,9569,9569,9569,1996-03-14,956.900000000149,956.8134,2015-01-01 02:39:29,bin9569,75,False +CTSPillarNetworkA,9570,9570,9570,1996-03-15,957.000000000149,956.9134,2015-01-01 02:39:30,bin9570,35,False +CTSPillarNetworkA,9571,9571,9571,1996-03-16,957.1000000001491,957.01337,2015-01-01 02:39:31,bin9571,75,False +CTSPillarNetworkA,9572,9572,9572,1996-03-17,957.2000000001491,957.11334,2015-01-01 02:39:32,bin9572,35,False +CTSPillarNetworkA,9573,9573,9573,1996-03-18,957.3000000001491,957.2133,2015-01-01 02:39:33,bin9573,75,False +CTSPillarNetworkA,9574,9574,9574,1996-03-19,957.4000000001491,957.3133,2015-01-01 02:39:34,bin9574,35,False +CTSPillarNetworkA,9575,9575,9575,1996-03-20,957.5000000001492,957.41327,2015-01-01 02:39:35,bin9575,75,False +CTSPillarNetworkA,9576,9576,9576,1996-03-21,957.6000000001492,957.51324,2015-01-01 02:39:36,bin9576,35,False +CTSPillarNetworkA,9577,9577,9577,1996-03-22,957.7000000001492,957.6132,2015-01-01 02:39:37,bin9577,75,False +CTSPillarNetworkA,9578,9578,9578,1996-03-23,957.8000000001492,957.7132,2015-01-01 02:39:38,bin9578,35,False +CTSPillarNetworkA,9579,9579,9579,1996-03-24,957.9000000001492,957.8132,2015-01-01 02:39:39,bin9579,75,False +CTSPillarNetworkA,9580,9580,9580,1996-03-25,958.0000000001493,957.91315,2015-01-01 02:39:40,bin9580,35,False +CTSPillarNetworkA,9581,9581,9581,1996-03-26,958.1000000001493,958.0131,2015-01-01 02:39:41,bin9581,75,False +CTSPillarNetworkA,9582,9582,9582,1996-03-27,958.2000000001493,958.1131,2015-01-01 02:39:42,bin9582,35,False +CTSPillarNetworkA,9583,9583,9583,1996-03-28,958.3000000001493,958.2131,2015-01-01 02:39:43,bin9583,75,False +CTSPillarNetworkA,9584,9584,9584,1996-03-29,958.4000000001494,958.31305,2015-01-01 02:39:44,bin9584,35,False +CTSPillarNetworkA,9585,9585,9585,1996-03-30,958.5000000001494,958.413,2015-01-01 02:39:45,bin9585,75,False +CTSPillarNetworkA,9586,9586,9586,1996-03-31,958.6000000001494,958.513,2015-01-01 02:39:46,bin9586,35,False +CTSPillarNetworkA,9587,9587,9587,1996-04-01,958.7000000001494,958.613,2015-01-01 02:39:47,bin9587,75,False +CTSPillarNetworkA,9588,9588,9588,1996-04-02,958.8000000001495,958.71295,2015-01-01 02:39:48,bin9588,35,False +CTSPillarNetworkA,9589,9589,9589,1996-04-03,958.9000000001495,958.8129,2015-01-01 02:39:49,bin9589,75,False +CTSPillarNetworkA,9590,9590,9590,1996-04-04,959.0000000001495,958.9129,2015-01-01 02:39:50,bin9590,35,False +CTSPillarNetworkA,9591,9591,9591,1996-04-05,959.1000000001495,959.0129,2015-01-01 02:39:51,bin9591,75,False +CTSPillarNetworkA,9592,9592,9592,1996-04-06,959.2000000001495,959.11285,2015-01-01 02:39:52,bin9592,35,False +CTSPillarNetworkA,9593,9593,9593,1996-04-07,959.3000000001496,959.2128,2015-01-01 02:39:53,bin9593,75,False +CTSPillarNetworkA,9594,9594,9594,1996-04-08,959.4000000001496,959.3128,2015-01-01 02:39:54,bin9594,35,False +CTSPillarNetworkA,9595,9595,9595,1996-04-09,959.5000000001496,959.4128,2015-01-01 02:39:55,bin9595,75,False +CTSPillarNetworkA,9596,9596,9596,1996-04-10,959.6000000001496,959.51276,2015-01-01 02:39:56,bin9596,35,False +CTSPillarNetworkA,9597,9597,9597,1996-04-11,959.7000000001497,959.61273,2015-01-01 02:39:57,bin9597,75,False +CTSPillarNetworkA,9598,9598,9598,1996-04-12,959.8000000001497,959.7127,2015-01-01 02:39:58,bin9598,35,False +CTSPillarNetworkA,9599,9599,9599,1996-04-13,959.9000000001497,959.8127,2015-01-01 02:39:59,bin9599,75,False +CTSPillarNetworkA,9600,9600,9600,1996-04-14,960.0000000001497,959.91266,2015-01-01 02:40:00,bin9600,35,False +CTSPillarNetworkA,9601,9601,9601,1996-04-15,960.1000000001497,960.01263,2015-01-01 02:40:01,bin9601,75,False +CTSPillarNetworkA,9602,9602,9602,1996-04-16,960.2000000001498,960.1126,2015-01-01 02:40:02,bin9602,35,False +CTSPillarNetworkA,9603,9603,9603,1996-04-17,960.3000000001498,960.2126,2015-01-01 02:40:03,bin9603,75,False +CTSPillarNetworkA,9604,9604,9604,1996-04-18,960.4000000001498,960.31256,2015-01-01 02:40:04,bin9604,35,False +CTSPillarNetworkA,9605,9605,9605,1996-04-19,960.5000000001498,960.41254,2015-01-01 02:40:05,bin9605,75,False +CTSPillarNetworkA,9606,9606,9606,1996-04-20,960.6000000001499,960.5125,2015-01-01 02:40:06,bin9606,35,False +CTSPillarNetworkA,9607,9607,9607,1996-04-21,960.7000000001499,960.6125,2015-01-01 02:40:07,bin9607,75,False +CTSPillarNetworkA,9608,9608,9608,1996-04-22,960.8000000001499,960.71246,2015-01-01 02:40:08,bin9608,35,False +CTSPillarNetworkA,9609,9609,9609,1996-04-23,960.9000000001499,960.81244,2015-01-01 02:40:09,bin9609,75,False +CTSPillarNetworkA,9610,9610,9610,1996-04-24,961.00000000015,960.9124,2015-01-01 02:40:10,bin9610,35,False +CTSPillarNetworkA,9611,9611,9611,1996-04-25,961.10000000015,961.0124,2015-01-01 02:40:11,bin9611,75,False +CTSPillarNetworkA,9612,9612,9612,1996-04-26,961.20000000015,961.11237,2015-01-01 02:40:12,bin9612,35,False +CTSPillarNetworkA,9613,9613,9613,1996-04-27,961.30000000015,961.21234,2015-01-01 02:40:13,bin9613,75,False +CTSPillarNetworkA,9614,9614,9614,1996-04-28,961.40000000015,961.3123,2015-01-01 02:40:14,bin9614,35,False +CTSPillarNetworkA,9615,9615,9615,1996-04-29,961.5000000001501,961.4123,2015-01-01 02:40:15,bin9615,75,False +CTSPillarNetworkA,9616,9616,9616,1996-04-30,961.6000000001501,961.51227,2015-01-01 02:40:16,bin9616,35,False +CTSPillarNetworkA,9617,9617,9617,1996-05-01,961.7000000001501,961.61224,2015-01-01 02:40:17,bin9617,75,False +CTSPillarNetworkA,9618,9618,9618,1996-05-02,961.8000000001501,961.7122,2015-01-01 02:40:18,bin9618,35,False +CTSPillarNetworkA,9619,9619,9619,1996-05-03,961.9000000001502,961.8122,2015-01-01 02:40:19,bin9619,75,False +CTSPillarNetworkA,9620,9620,9620,1996-05-04,962.0000000001502,961.9122,2015-01-01 02:40:20,bin9620,35,False +CTSPillarNetworkA,9621,9621,9621,1996-05-05,962.1000000001502,962.01215,2015-01-01 02:40:21,bin9621,75,False +CTSPillarNetworkA,9622,9622,9622,1996-05-06,962.2000000001502,962.1121,2015-01-01 02:40:22,bin9622,35,False +CTSPillarNetworkA,9623,9623,9623,1996-05-07,962.3000000001502,962.2121,2015-01-01 02:40:23,bin9623,75,False +CTSPillarNetworkA,9624,9624,9624,1996-05-08,962.4000000001503,962.3121,2015-01-01 02:40:24,bin9624,35,False +CTSPillarNetworkA,9625,9625,9625,1996-05-09,962.5000000001503,962.41205,2015-01-01 02:40:25,bin9625,75,False +CTSPillarNetworkA,9626,9626,9626,1996-05-10,962.6000000001503,962.512,2015-01-01 02:40:26,bin9626,35,False +CTSPillarNetworkA,9627,9627,9627,1996-05-11,962.7000000001503,962.612,2015-01-01 02:40:27,bin9627,75,False +CTSPillarNetworkA,9628,9628,9628,1996-05-12,962.8000000001504,962.712,2015-01-01 02:40:28,bin9628,35,False +CTSPillarNetworkA,9629,9629,9629,1996-05-13,962.9000000001504,962.81195,2015-01-01 02:40:29,bin9629,75,False +CTSPillarNetworkA,9630,9630,9630,1996-05-14,963.0000000001504,962.9119,2015-01-01 02:40:30,bin9630,35,False +CTSPillarNetworkA,9631,9631,9631,1996-05-15,963.1000000001504,963.0119,2015-01-01 02:40:31,bin9631,75,False +CTSPillarNetworkA,9632,9632,9632,1996-05-16,963.2000000001505,963.1119,2015-01-01 02:40:32,bin9632,35,False +CTSPillarNetworkA,9633,9633,9633,1996-05-17,963.3000000001505,963.21185,2015-01-01 02:40:33,bin9633,75,False +CTSPillarNetworkA,9634,9634,9634,1996-05-18,963.4000000001505,963.3118,2015-01-01 02:40:34,bin9634,35,False +CTSPillarNetworkA,9635,9635,9635,1996-05-19,963.5000000001505,963.4118,2015-01-01 02:40:35,bin9635,75,False +CTSPillarNetworkA,9636,9636,9636,1996-05-20,963.6000000001505,963.5118,2015-01-01 02:40:36,bin9636,35,False +CTSPillarNetworkA,9637,9637,9637,1996-05-21,963.7000000001506,963.61176,2015-01-01 02:40:37,bin9637,75,False +CTSPillarNetworkA,9638,9638,9638,1996-05-22,963.8000000001506,963.71173,2015-01-01 02:40:38,bin9638,35,False +CTSPillarNetworkA,9639,9639,9639,1996-05-23,963.9000000001506,963.8117,2015-01-01 02:40:39,bin9639,75,False +CTSPillarNetworkA,9640,9640,9640,1996-05-24,964.0000000001506,963.9117,2015-01-01 02:40:40,bin9640,35,False +CTSPillarNetworkA,9641,9641,9641,1996-05-25,964.1000000001507,964.01166,2015-01-01 02:40:41,bin9641,75,False +CTSPillarNetworkA,9642,9642,9642,1996-05-26,964.2000000001507,964.11163,2015-01-01 02:40:42,bin9642,35,False +CTSPillarNetworkA,9643,9643,9643,1996-05-27,964.3000000001507,964.2116,2015-01-01 02:40:43,bin9643,75,False +CTSPillarNetworkA,9644,9644,9644,1996-05-28,964.4000000001507,964.3116,2015-01-01 02:40:44,bin9644,35,False +CTSPillarNetworkA,9645,9645,9645,1996-05-29,964.5000000001507,964.41156,2015-01-01 02:40:45,bin9645,75,False +CTSPillarNetworkA,9646,9646,9646,1996-05-30,964.6000000001508,964.51154,2015-01-01 02:40:46,bin9646,35,False +CTSPillarNetworkA,9647,9647,9647,1996-05-31,964.7000000001508,964.6115,2015-01-01 02:40:47,bin9647,75,False +CTSPillarNetworkA,9648,9648,9648,1996-06-01,964.8000000001508,964.7115,2015-01-01 02:40:48,bin9648,35,False +CTSPillarNetworkA,9649,9649,9649,1996-06-02,964.9000000001508,964.81146,2015-01-01 02:40:49,bin9649,75,False +CTSPillarNetworkA,9650,9650,9650,1996-06-03,965.0000000001509,964.91144,2015-01-01 02:40:50,bin9650,35,False +CTSPillarNetworkA,9651,9651,9651,1996-06-04,965.1000000001509,965.0114,2015-01-01 02:40:51,bin9651,75,False +CTSPillarNetworkA,9652,9652,9652,1996-06-05,965.2000000001509,965.1114,2015-01-01 02:40:52,bin9652,35,False +CTSPillarNetworkA,9653,9653,9653,1996-06-06,965.3000000001509,965.21136,2015-01-01 02:40:53,bin9653,75,False +CTSPillarNetworkA,9654,9654,9654,1996-06-07,965.400000000151,965.31134,2015-01-01 02:40:54,bin9654,35,False +CTSPillarNetworkA,9655,9655,9655,1996-06-08,965.500000000151,965.4113,2015-01-01 02:40:55,bin9655,75,False +CTSPillarNetworkA,9656,9656,9656,1996-06-09,965.600000000151,965.5113,2015-01-01 02:40:56,bin9656,35,False +CTSPillarNetworkA,9657,9657,9657,1996-06-10,965.700000000151,965.61127,2015-01-01 02:40:57,bin9657,75,False +CTSPillarNetworkA,9658,9658,9658,1996-06-11,965.800000000151,965.71124,2015-01-01 02:40:58,bin9658,35,False +CTSPillarNetworkA,9659,9659,9659,1996-06-12,965.9000000001511,965.8112,2015-01-01 02:40:59,bin9659,75,False +CTSPillarNetworkA,9660,9660,9660,1996-06-13,966.0000000001511,965.9112,2015-01-01 02:41:00,bin9660,35,False +CTSPillarNetworkA,9661,9661,9661,1996-06-14,966.1000000001511,966.01117,2015-01-01 02:41:01,bin9661,75,False +CTSPillarNetworkA,9662,9662,9662,1996-06-15,966.2000000001511,966.11115,2015-01-01 02:41:02,bin9662,35,False +CTSPillarNetworkA,9663,9663,9663,1996-06-16,966.3000000001512,966.2111,2015-01-01 02:41:03,bin9663,75,False +CTSPillarNetworkA,9664,9664,9664,1996-06-17,966.4000000001512,966.3111,2015-01-01 02:41:04,bin9664,35,False +CTSPillarNetworkA,9665,9665,9665,1996-06-18,966.5000000001512,966.4111,2015-01-01 02:41:05,bin9665,75,False +CTSPillarNetworkA,9666,9666,9666,1996-06-19,966.6000000001512,966.51105,2015-01-01 02:41:06,bin9666,35,False +CTSPillarNetworkA,9667,9667,9667,1996-06-20,966.7000000001512,966.611,2015-01-01 02:41:07,bin9667,75,False +CTSPillarNetworkA,9668,9668,9668,1996-06-21,966.8000000001513,966.711,2015-01-01 02:41:08,bin9668,35,False +CTSPillarNetworkA,9669,9669,9669,1996-06-22,966.9000000001513,966.811,2015-01-01 02:41:09,bin9669,75,False +CTSPillarNetworkA,9670,9670,9670,1996-06-23,967.0000000001513,966.91095,2015-01-01 02:41:10,bin9670,35,False +CTSPillarNetworkA,9671,9671,9671,1996-06-24,967.1000000001513,967.0109,2015-01-01 02:41:11,bin9671,75,False +CTSPillarNetworkA,9672,9672,9672,1996-06-25,967.2000000001514,967.1109,2015-01-01 02:41:12,bin9672,35,False +CTSPillarNetworkA,9673,9673,9673,1996-06-26,967.3000000001514,967.2109,2015-01-01 02:41:13,bin9673,75,False +CTSPillarNetworkA,9674,9674,9674,1996-06-27,967.4000000001514,967.31085,2015-01-01 02:41:14,bin9674,35,False +CTSPillarNetworkA,9675,9675,9675,1996-06-28,967.5000000001514,967.4108,2015-01-01 02:41:15,bin9675,75,False +CTSPillarNetworkA,9676,9676,9676,1996-06-29,967.6000000001515,967.5108,2015-01-01 02:41:16,bin9676,35,False +CTSPillarNetworkA,9677,9677,9677,1996-06-30,967.7000000001515,967.6108,2015-01-01 02:41:17,bin9677,75,False +CTSPillarNetworkA,9678,9678,9678,1996-07-01,967.8000000001515,967.71075,2015-01-01 02:41:18,bin9678,35,False +CTSPillarNetworkA,9679,9679,9679,1996-07-02,967.9000000001515,967.8107,2015-01-01 02:41:19,bin9679,75,False +CTSPillarNetworkA,9680,9680,9680,1996-07-03,968.0000000001515,967.9107,2015-01-01 02:41:20,bin9680,35,False +CTSPillarNetworkA,9681,9681,9681,1996-07-04,968.1000000001516,968.0107,2015-01-01 02:41:21,bin9681,75,False +CTSPillarNetworkA,9682,9682,9682,1996-07-05,968.2000000001516,968.11066,2015-01-01 02:41:22,bin9682,35,False +CTSPillarNetworkA,9683,9683,9683,1996-07-06,968.3000000001516,968.21063,2015-01-01 02:41:23,bin9683,75,False +CTSPillarNetworkA,9684,9684,9684,1996-07-07,968.4000000001516,968.3106,2015-01-01 02:41:24,bin9684,35,False +CTSPillarNetworkA,9685,9685,9685,1996-07-08,968.5000000001517,968.4106,2015-01-01 02:41:25,bin9685,75,False +CTSPillarNetworkA,9686,9686,9686,1996-07-09,968.6000000001517,968.51056,2015-01-01 02:41:26,bin9686,35,False +CTSPillarNetworkA,9687,9687,9687,1996-07-10,968.7000000001517,968.61053,2015-01-01 02:41:27,bin9687,75,False +CTSPillarNetworkA,9688,9688,9688,1996-07-11,968.8000000001517,968.7105,2015-01-01 02:41:28,bin9688,35,False +CTSPillarNetworkA,9689,9689,9689,1996-07-12,968.9000000001517,968.8105,2015-01-01 02:41:29,bin9689,75,False +CTSPillarNetworkA,9690,9690,9690,1996-07-13,969.0000000001518,968.91046,2015-01-01 02:41:30,bin9690,35,False +CTSPillarNetworkA,9691,9691,9691,1996-07-14,969.1000000001518,969.01044,2015-01-01 02:41:31,bin9691,75,False +CTSPillarNetworkA,9692,9692,9692,1996-07-15,969.2000000001518,969.1104,2015-01-01 02:41:32,bin9692,35,False +CTSPillarNetworkA,9693,9693,9693,1996-07-16,969.3000000001518,969.2104,2015-01-01 02:41:33,bin9693,75,False +CTSPillarNetworkA,9694,9694,9694,1996-07-17,969.4000000001519,969.31036,2015-01-01 02:41:34,bin9694,35,False +CTSPillarNetworkA,9695,9695,9695,1996-07-18,969.5000000001519,969.41034,2015-01-01 02:41:35,bin9695,75,False +CTSPillarNetworkA,9696,9696,9696,1996-07-19,969.6000000001519,969.5103,2015-01-01 02:41:36,bin9696,35,False +CTSPillarNetworkA,9697,9697,9697,1996-07-20,969.7000000001519,969.6103,2015-01-01 02:41:37,bin9697,75,False +CTSPillarNetworkA,9698,9698,9698,1996-07-21,969.800000000152,969.71027,2015-01-01 02:41:38,bin9698,35,False +CTSPillarNetworkA,9699,9699,9699,1996-07-22,969.900000000152,969.81024,2015-01-01 02:41:39,bin9699,75,False +CTSPillarNetworkA,9700,9700,9700,1996-07-23,970.000000000152,969.9102,2015-01-01 02:41:40,bin9700,35,False +CTSPillarNetworkA,9701,9701,9701,1996-07-24,970.100000000152,970.0102,2015-01-01 02:41:41,bin9701,75,False +CTSPillarNetworkA,9702,9702,9702,1996-07-25,970.200000000152,970.11017,2015-01-01 02:41:42,bin9702,35,False +CTSPillarNetworkA,9703,9703,9703,1996-07-26,970.3000000001521,970.21014,2015-01-01 02:41:43,bin9703,75,False +CTSPillarNetworkA,9704,9704,9704,1996-07-27,970.4000000001521,970.3101,2015-01-01 02:41:44,bin9704,35,False +CTSPillarNetworkA,9705,9705,9705,1996-07-28,970.5000000001521,970.4101,2015-01-01 02:41:45,bin9705,75,False +CTSPillarNetworkA,9706,9706,9706,1996-07-29,970.6000000001521,970.5101,2015-01-01 02:41:46,bin9706,35,False +CTSPillarNetworkA,9707,9707,9707,1996-07-30,970.7000000001522,970.61005,2015-01-01 02:41:47,bin9707,75,False +CTSPillarNetworkA,9708,9708,9708,1996-07-31,970.8000000001522,970.71,2015-01-01 02:41:48,bin9708,35,False +CTSPillarNetworkA,9709,9709,9709,1996-08-01,970.9000000001522,970.81,2015-01-01 02:41:49,bin9709,75,False +CTSPillarNetworkA,9710,9710,9710,1996-08-02,971.0000000001522,970.91,2015-01-01 02:41:50,bin9710,35,False +CTSPillarNetworkA,9711,9711,9711,1996-08-03,971.1000000001522,971.00995,2015-01-01 02:41:51,bin9711,75,False +CTSPillarNetworkA,9712,9712,9712,1996-08-04,971.2000000001523,971.1099,2015-01-01 02:41:52,bin9712,35,False +CTSPillarNetworkA,9713,9713,9713,1996-08-05,971.3000000001523,971.2099,2015-01-01 02:41:53,bin9713,75,False +CTSPillarNetworkA,9714,9714,9714,1996-08-06,971.4000000001523,971.3099,2015-01-01 02:41:54,bin9714,35,False +CTSPillarNetworkA,9715,9715,9715,1996-08-07,971.5000000001523,971.40985,2015-01-01 02:41:55,bin9715,75,False +CTSPillarNetworkA,9716,9716,9716,1996-08-08,971.6000000001524,971.5098,2015-01-01 02:41:56,bin9716,35,False +CTSPillarNetworkA,9717,9717,9717,1996-08-09,971.7000000001524,971.6098,2015-01-01 02:41:57,bin9717,75,False +CTSPillarNetworkA,9718,9718,9718,1996-08-10,971.8000000001524,971.7098,2015-01-01 02:41:58,bin9718,35,False +CTSPillarNetworkA,9719,9719,9719,1996-08-11,971.9000000001524,971.80975,2015-01-01 02:41:59,bin9719,75,False +CTSPillarNetworkA,9720,9720,9720,1996-08-12,972.0000000001525,971.9097,2015-01-01 02:42:00,bin9720,35,False +CTSPillarNetworkA,9721,9721,9721,1996-08-13,972.1000000001525,972.0097,2015-01-01 02:42:01,bin9721,75,False +CTSPillarNetworkA,9722,9722,9722,1996-08-14,972.2000000001525,972.1097,2015-01-01 02:42:02,bin9722,35,False +CTSPillarNetworkA,9723,9723,9723,1996-08-15,972.3000000001525,972.20966,2015-01-01 02:42:03,bin9723,75,False +CTSPillarNetworkA,9724,9724,9724,1996-08-16,972.4000000001525,972.30963,2015-01-01 02:42:04,bin9724,35,False +CTSPillarNetworkA,9725,9725,9725,1996-08-17,972.5000000001526,972.4096,2015-01-01 02:42:05,bin9725,75,False +CTSPillarNetworkA,9726,9726,9726,1996-08-18,972.6000000001526,972.5096,2015-01-01 02:42:06,bin9726,35,False +CTSPillarNetworkA,9727,9727,9727,1996-08-19,972.7000000001526,972.60956,2015-01-01 02:42:07,bin9727,75,False +CTSPillarNetworkA,9728,9728,9728,1996-08-20,972.8000000001526,972.70953,2015-01-01 02:42:08,bin9728,35,False +CTSPillarNetworkA,9729,9729,9729,1996-08-21,972.9000000001527,972.8095,2015-01-01 02:42:09,bin9729,75,False +CTSPillarNetworkA,9730,9730,9730,1996-08-22,973.0000000001527,972.9095,2015-01-01 02:42:10,bin9730,35,False +CTSPillarNetworkA,9731,9731,9731,1996-08-23,973.1000000001527,973.00946,2015-01-01 02:42:11,bin9731,75,False +CTSPillarNetworkA,9732,9732,9732,1996-08-24,973.2000000001527,973.10944,2015-01-01 02:42:12,bin9732,35,False +CTSPillarNetworkA,9733,9733,9733,1996-08-25,973.3000000001527,973.2094,2015-01-01 02:42:13,bin9733,75,False +CTSPillarNetworkA,9734,9734,9734,1996-08-26,973.4000000001528,973.3094,2015-01-01 02:42:14,bin9734,35,False +CTSPillarNetworkA,9735,9735,9735,1996-08-27,973.5000000001528,973.40936,2015-01-01 02:42:15,bin9735,75,False +CTSPillarNetworkA,9736,9736,9736,1996-08-28,973.6000000001528,973.50934,2015-01-01 02:42:16,bin9736,35,False +CTSPillarNetworkA,9737,9737,9737,1996-08-29,973.7000000001528,973.6093,2015-01-01 02:42:17,bin9737,75,False +CTSPillarNetworkA,9738,9738,9738,1996-08-30,973.8000000001529,973.7093,2015-01-01 02:42:18,bin9738,35,False +CTSPillarNetworkA,9739,9739,9739,1996-08-31,973.9000000001529,973.80927,2015-01-01 02:42:19,bin9739,75,False +CTSPillarNetworkA,9740,9740,9740,1996-09-01,974.0000000001529,973.90924,2015-01-01 02:42:20,bin9740,35,False +CTSPillarNetworkA,9741,9741,9741,1996-09-02,974.1000000001529,974.0092,2015-01-01 02:42:21,bin9741,75,False +CTSPillarNetworkA,9742,9742,9742,1996-09-03,974.200000000153,974.1092,2015-01-01 02:42:22,bin9742,35,False +CTSPillarNetworkA,9743,9743,9743,1996-09-04,974.300000000153,974.20917,2015-01-01 02:42:23,bin9743,75,False +CTSPillarNetworkA,9744,9744,9744,1996-09-05,974.400000000153,974.30914,2015-01-01 02:42:24,bin9744,35,False +CTSPillarNetworkA,9745,9745,9745,1996-09-06,974.500000000153,974.4091,2015-01-01 02:42:25,bin9745,75,False +CTSPillarNetworkA,9746,9746,9746,1996-09-07,974.600000000153,974.5091,2015-01-01 02:42:26,bin9746,35,False +CTSPillarNetworkA,9747,9747,9747,1996-09-08,974.7000000001531,974.6091,2015-01-01 02:42:27,bin9747,75,False +CTSPillarNetworkA,9748,9748,9748,1996-09-09,974.8000000001531,974.70905,2015-01-01 02:42:28,bin9748,35,False +CTSPillarNetworkA,9749,9749,9749,1996-09-10,974.9000000001531,974.809,2015-01-01 02:42:29,bin9749,75,False +CTSPillarNetworkA,9750,9750,9750,1996-09-11,975.0000000001531,974.909,2015-01-01 02:42:30,bin9750,35,False +CTSPillarNetworkA,9751,9751,9751,1996-09-12,975.1000000001532,975.009,2015-01-01 02:42:31,bin9751,75,False +CTSPillarNetworkA,9752,9752,9752,1996-09-13,975.2000000001532,975.10895,2015-01-01 02:42:32,bin9752,35,False +CTSPillarNetworkA,9753,9753,9753,1996-09-14,975.3000000001532,975.2089,2015-01-01 02:42:33,bin9753,75,False +CTSPillarNetworkA,9754,9754,9754,1996-09-15,975.4000000001532,975.3089,2015-01-01 02:42:34,bin9754,35,False +CTSPillarNetworkA,9755,9755,9755,1996-09-16,975.5000000001532,975.4089,2015-01-01 02:42:35,bin9755,75,False +CTSPillarNetworkA,9756,9756,9756,1996-09-17,975.6000000001533,975.50885,2015-01-01 02:42:36,bin9756,35,False +CTSPillarNetworkA,9757,9757,9757,1996-09-18,975.7000000001533,975.6088,2015-01-01 02:42:37,bin9757,75,False +CTSPillarNetworkA,9758,9758,9758,1996-09-19,975.8000000001533,975.7088,2015-01-01 02:42:38,bin9758,35,False +CTSPillarNetworkA,9759,9759,9759,1996-09-20,975.9000000001533,975.8088,2015-01-01 02:42:39,bin9759,75,False +CTSPillarNetworkA,9760,9760,9760,1996-09-21,976.0000000001534,975.90875,2015-01-01 02:42:40,bin9760,35,False +CTSPillarNetworkA,9761,9761,9761,1996-09-22,976.1000000001534,976.0087,2015-01-01 02:42:41,bin9761,75,False +CTSPillarNetworkA,9762,9762,9762,1996-09-23,976.2000000001534,976.1087,2015-01-01 02:42:42,bin9762,35,False +CTSPillarNetworkA,9763,9763,9763,1996-09-24,976.3000000001534,976.2087,2015-01-01 02:42:43,bin9763,75,False +CTSPillarNetworkA,9764,9764,9764,1996-09-25,976.4000000001535,976.30865,2015-01-01 02:42:44,bin9764,35,False +CTSPillarNetworkA,9765,9765,9765,1996-09-26,976.5000000001535,976.4086,2015-01-01 02:42:45,bin9765,75,False +CTSPillarNetworkA,9766,9766,9766,1996-09-27,976.6000000001535,976.5086,2015-01-01 02:42:46,bin9766,35,False +CTSPillarNetworkA,9767,9767,9767,1996-09-28,976.7000000001535,976.6086,2015-01-01 02:42:47,bin9767,75,False +CTSPillarNetworkA,9768,9768,9768,1996-09-29,976.8000000001535,976.70856,2015-01-01 02:42:48,bin9768,35,False +CTSPillarNetworkA,9769,9769,9769,1996-09-30,976.9000000001536,976.80853,2015-01-01 02:42:49,bin9769,75,False +CTSPillarNetworkA,9770,9770,9770,1996-10-01,977.0000000001536,976.9085,2015-01-01 02:42:50,bin9770,35,False +CTSPillarNetworkA,9771,9771,9771,1996-10-02,977.1000000001536,977.0085,2015-01-01 02:42:51,bin9771,75,False +CTSPillarNetworkA,9772,9772,9772,1996-10-03,977.2000000001536,977.10846,2015-01-01 02:42:52,bin9772,35,False +CTSPillarNetworkA,9773,9773,9773,1996-10-04,977.3000000001537,977.20844,2015-01-01 02:42:53,bin9773,75,False +CTSPillarNetworkA,9774,9774,9774,1996-10-05,977.4000000001537,977.3084,2015-01-01 02:42:54,bin9774,35,False +CTSPillarNetworkA,9775,9775,9775,1996-10-06,977.5000000001537,977.4084,2015-01-01 02:42:55,bin9775,75,False +CTSPillarNetworkA,9776,9776,9776,1996-10-07,977.6000000001537,977.50836,2015-01-01 02:42:56,bin9776,35,False +CTSPillarNetworkA,9777,9777,9777,1996-10-08,977.7000000001538,977.60834,2015-01-01 02:42:57,bin9777,75,False +CTSPillarNetworkA,9778,9778,9778,1996-10-09,977.8000000001538,977.7083,2015-01-01 02:42:58,bin9778,35,False +CTSPillarNetworkA,9779,9779,9779,1996-10-10,977.9000000001538,977.8083,2015-01-01 02:42:59,bin9779,75,False +CTSPillarNetworkA,9780,9780,9780,1996-10-11,978.0000000001538,977.90826,2015-01-01 02:43:00,bin9780,35,False +CTSPillarNetworkA,9781,9781,9781,1996-10-12,978.1000000001538,978.00824,2015-01-01 02:43:01,bin9781,75,False +CTSPillarNetworkA,9782,9782,9782,1996-10-13,978.2000000001539,978.1082,2015-01-01 02:43:02,bin9782,35,False +CTSPillarNetworkA,9783,9783,9783,1996-10-14,978.3000000001539,978.2082,2015-01-01 02:43:03,bin9783,75,False +CTSPillarNetworkA,9784,9784,9784,1996-10-15,978.4000000001539,978.30817,2015-01-01 02:43:04,bin9784,35,False +CTSPillarNetworkA,9785,9785,9785,1996-10-16,978.5000000001539,978.40814,2015-01-01 02:43:05,bin9785,75,False +CTSPillarNetworkA,9786,9786,9786,1996-10-17,978.600000000154,978.5081,2015-01-01 02:43:06,bin9786,35,False +CTSPillarNetworkA,9787,9787,9787,1996-10-18,978.700000000154,978.6081,2015-01-01 02:43:07,bin9787,75,False +CTSPillarNetworkA,9788,9788,9788,1996-10-19,978.800000000154,978.70807,2015-01-01 02:43:08,bin9788,35,False +CTSPillarNetworkA,9789,9789,9789,1996-10-20,978.900000000154,978.80804,2015-01-01 02:43:09,bin9789,75,False +CTSPillarNetworkA,9790,9790,9790,1996-10-21,979.000000000154,978.908,2015-01-01 02:43:10,bin9790,35,False +CTSPillarNetworkA,9791,9791,9791,1996-10-22,979.1000000001541,979.008,2015-01-01 02:43:11,bin9791,75,False +CTSPillarNetworkA,9792,9792,9792,1996-10-23,979.2000000001541,979.108,2015-01-01 02:43:12,bin9792,35,False +CTSPillarNetworkA,9793,9793,9793,1996-10-24,979.3000000001541,979.20795,2015-01-01 02:43:13,bin9793,75,False +CTSPillarNetworkA,9794,9794,9794,1996-10-25,979.4000000001541,979.3079,2015-01-01 02:43:14,bin9794,35,False +CTSPillarNetworkA,9795,9795,9795,1996-10-26,979.5000000001542,979.4079,2015-01-01 02:43:15,bin9795,75,False +CTSPillarNetworkA,9796,9796,9796,1996-10-27,979.6000000001542,979.5079,2015-01-01 02:43:16,bin9796,35,False +CTSPillarNetworkA,9797,9797,9797,1996-10-28,979.7000000001542,979.60785,2015-01-01 02:43:17,bin9797,75,False +CTSPillarNetworkA,9798,9798,9798,1996-10-29,979.8000000001542,979.7078,2015-01-01 02:43:18,bin9798,35,False +CTSPillarNetworkA,9799,9799,9799,1996-10-30,979.9000000001543,979.8078,2015-01-01 02:43:19,bin9799,75,False +CTSPillarNetworkA,9800,9800,9800,1996-10-31,980.0000000001543,979.9078,2015-01-01 02:43:20,bin9800,35,False +CTSPillarNetworkA,9801,9801,9801,1996-11-01,980.1000000001543,980.00775,2015-01-01 02:43:21,bin9801,75,False +CTSPillarNetworkA,9802,9802,9802,1996-11-02,980.2000000001543,980.1077,2015-01-01 02:43:22,bin9802,35,False +CTSPillarNetworkA,9803,9803,9803,1996-11-03,980.3000000001543,980.2077,2015-01-01 02:43:23,bin9803,75,False +CTSPillarNetworkA,9804,9804,9804,1996-11-04,980.4000000001544,980.3077,2015-01-01 02:43:24,bin9804,35,False +CTSPillarNetworkA,9805,9805,9805,1996-11-05,980.5000000001544,980.40765,2015-01-01 02:43:25,bin9805,75,False +CTSPillarNetworkA,9806,9806,9806,1996-11-06,980.6000000001544,980.5076,2015-01-01 02:43:26,bin9806,35,False +CTSPillarNetworkA,9807,9807,9807,1996-11-07,980.7000000001544,980.6076,2015-01-01 02:43:27,bin9807,75,False +CTSPillarNetworkA,9808,9808,9808,1996-11-08,980.8000000001545,980.7076,2015-01-01 02:43:28,bin9808,35,False +CTSPillarNetworkA,9809,9809,9809,1996-11-09,980.9000000001545,980.80756,2015-01-01 02:43:29,bin9809,75,False +CTSPillarNetworkA,9810,9810,9810,1996-11-10,981.0000000001545,980.90753,2015-01-01 02:43:30,bin9810,35,False +CTSPillarNetworkA,9811,9811,9811,1996-11-11,981.1000000001545,981.0075,2015-01-01 02:43:31,bin9811,75,False +CTSPillarNetworkA,9812,9812,9812,1996-11-12,981.2000000001545,981.1075,2015-01-01 02:43:32,bin9812,35,False +CTSPillarNetworkA,9813,9813,9813,1996-11-13,981.3000000001546,981.20746,2015-01-01 02:43:33,bin9813,75,False +CTSPillarNetworkA,9814,9814,9814,1996-11-14,981.4000000001546,981.30743,2015-01-01 02:43:34,bin9814,35,False +CTSPillarNetworkA,9815,9815,9815,1996-11-15,981.5000000001546,981.4074,2015-01-01 02:43:35,bin9815,75,False +CTSPillarNetworkA,9816,9816,9816,1996-11-16,981.6000000001546,981.5074,2015-01-01 02:43:36,bin9816,35,False +CTSPillarNetworkA,9817,9817,9817,1996-11-17,981.7000000001547,981.60736,2015-01-01 02:43:37,bin9817,75,False +CTSPillarNetworkA,9818,9818,9818,1996-11-18,981.8000000001547,981.70734,2015-01-01 02:43:38,bin9818,35,False +CTSPillarNetworkA,9819,9819,9819,1996-11-19,981.9000000001547,981.8073,2015-01-01 02:43:39,bin9819,75,False +CTSPillarNetworkA,9820,9820,9820,1996-11-20,982.0000000001547,981.9073,2015-01-01 02:43:40,bin9820,35,False +CTSPillarNetworkA,9821,9821,9821,1996-11-21,982.1000000001548,982.00726,2015-01-01 02:43:41,bin9821,75,False +CTSPillarNetworkA,9822,9822,9822,1996-11-22,982.2000000001548,982.10724,2015-01-01 02:43:42,bin9822,35,False +CTSPillarNetworkA,9823,9823,9823,1996-11-23,982.3000000001548,982.2072,2015-01-01 02:43:43,bin9823,75,False +CTSPillarNetworkA,9824,9824,9824,1996-11-24,982.4000000001548,982.3072,2015-01-01 02:43:44,bin9824,35,False +CTSPillarNetworkA,9825,9825,9825,1996-11-25,982.5000000001548,982.40717,2015-01-01 02:43:45,bin9825,75,False +CTSPillarNetworkA,9826,9826,9826,1996-11-26,982.6000000001549,982.50714,2015-01-01 02:43:46,bin9826,35,False +CTSPillarNetworkA,9827,9827,9827,1996-11-27,982.7000000001549,982.6071,2015-01-01 02:43:47,bin9827,75,False +CTSPillarNetworkA,9828,9828,9828,1996-11-28,982.8000000001549,982.7071,2015-01-01 02:43:48,bin9828,35,False +CTSPillarNetworkA,9829,9829,9829,1996-11-29,982.9000000001549,982.80707,2015-01-01 02:43:49,bin9829,75,False +CTSPillarNetworkA,9830,9830,9830,1996-11-30,983.000000000155,982.90704,2015-01-01 02:43:50,bin9830,35,False +CTSPillarNetworkA,9831,9831,9831,1996-12-01,983.100000000155,983.007,2015-01-01 02:43:51,bin9831,75,False +CTSPillarNetworkA,9832,9832,9832,1996-12-02,983.200000000155,983.107,2015-01-01 02:43:52,bin9832,35,False +CTSPillarNetworkA,9833,9833,9833,1996-12-03,983.300000000155,983.207,2015-01-01 02:43:53,bin9833,75,False +CTSPillarNetworkA,9834,9834,9834,1996-12-04,983.400000000155,983.30695,2015-01-01 02:43:54,bin9834,35,False +CTSPillarNetworkA,9835,9835,9835,1996-12-05,983.5000000001551,983.4069,2015-01-01 02:43:55,bin9835,75,False +CTSPillarNetworkA,9836,9836,9836,1996-12-06,983.6000000001551,983.5069,2015-01-01 02:43:56,bin9836,35,False +CTSPillarNetworkA,9837,9837,9837,1996-12-07,983.7000000001551,983.6069,2015-01-01 02:43:57,bin9837,75,False +CTSPillarNetworkA,9838,9838,9838,1996-12-08,983.8000000001551,983.70685,2015-01-01 02:43:58,bin9838,35,False +CTSPillarNetworkA,9839,9839,9839,1996-12-09,983.9000000001552,983.8068,2015-01-01 02:43:59,bin9839,75,False +CTSPillarNetworkA,9840,9840,9840,1996-12-10,984.0000000001552,983.9068,2015-01-01 02:44:00,bin9840,35,False +CTSPillarNetworkA,9841,9841,9841,1996-12-11,984.1000000001552,984.0068,2015-01-01 02:44:01,bin9841,75,False +CTSPillarNetworkA,9842,9842,9842,1996-12-12,984.2000000001552,984.10675,2015-01-01 02:44:02,bin9842,35,False +CTSPillarNetworkA,9843,9843,9843,1996-12-13,984.3000000001553,984.2067,2015-01-01 02:44:03,bin9843,75,False +CTSPillarNetworkA,9844,9844,9844,1996-12-14,984.4000000001553,984.3067,2015-01-01 02:44:04,bin9844,35,False +CTSPillarNetworkA,9845,9845,9845,1996-12-15,984.5000000001553,984.4067,2015-01-01 02:44:05,bin9845,75,False +CTSPillarNetworkA,9846,9846,9846,1996-12-16,984.6000000001553,984.50665,2015-01-01 02:44:06,bin9846,35,False +CTSPillarNetworkA,9847,9847,9847,1996-12-17,984.7000000001553,984.6066,2015-01-01 02:44:07,bin9847,75,False +CTSPillarNetworkA,9848,9848,9848,1996-12-18,984.8000000001554,984.7066,2015-01-01 02:44:08,bin9848,35,False +CTSPillarNetworkA,9849,9849,9849,1996-12-19,984.9000000001554,984.8066,2015-01-01 02:44:09,bin9849,75,False +CTSPillarNetworkA,9850,9850,9850,1996-12-20,985.0000000001554,984.90656,2015-01-01 02:44:10,bin9850,35,False +CTSPillarNetworkA,9851,9851,9851,1996-12-21,985.1000000001554,985.00653,2015-01-01 02:44:11,bin9851,75,False +CTSPillarNetworkA,9852,9852,9852,1996-12-22,985.2000000001555,985.1065,2015-01-01 02:44:12,bin9852,35,False +CTSPillarNetworkA,9853,9853,9853,1996-12-23,985.3000000001555,985.2065,2015-01-01 02:44:13,bin9853,75,False +CTSPillarNetworkA,9854,9854,9854,1996-12-24,985.4000000001555,985.30646,2015-01-01 02:44:14,bin9854,35,False +CTSPillarNetworkA,9855,9855,9855,1996-12-25,985.5000000001555,985.40643,2015-01-01 02:44:15,bin9855,75,False +CTSPillarNetworkA,9856,9856,9856,1996-12-26,985.6000000001555,985.5064,2015-01-01 02:44:16,bin9856,35,False +CTSPillarNetworkA,9857,9857,9857,1996-12-27,985.7000000001556,985.6064,2015-01-01 02:44:17,bin9857,75,False +CTSPillarNetworkA,9858,9858,9858,1996-12-28,985.8000000001556,985.70636,2015-01-01 02:44:18,bin9858,35,False +CTSPillarNetworkA,9859,9859,9859,1996-12-29,985.9000000001556,985.80634,2015-01-01 02:44:19,bin9859,75,False +CTSPillarNetworkA,9860,9860,9860,1996-12-30,986.0000000001556,985.9063,2015-01-01 02:44:20,bin9860,35,False +CTSPillarNetworkA,9861,9861,9861,1996-12-31,986.1000000001557,986.0063,2015-01-01 02:44:21,bin9861,75,False +CTSPillarNetworkA,9862,9862,9862,1997-01-01,986.2000000001557,986.10626,2015-01-01 02:44:22,bin9862,35,False +CTSPillarNetworkA,9863,9863,9863,1997-01-02,986.3000000001557,986.20624,2015-01-01 02:44:23,bin9863,75,False +CTSPillarNetworkA,9864,9864,9864,1997-01-03,986.4000000001557,986.3062,2015-01-01 02:44:24,bin9864,35,False +CTSPillarNetworkA,9865,9865,9865,1997-01-04,986.5000000001558,986.4062,2015-01-01 02:44:25,bin9865,75,False +CTSPillarNetworkA,9866,9866,9866,1997-01-05,986.6000000001558,986.50616,2015-01-01 02:44:26,bin9866,35,False +CTSPillarNetworkA,9867,9867,9867,1997-01-06,986.7000000001558,986.60614,2015-01-01 02:44:27,bin9867,75,False +CTSPillarNetworkA,9868,9868,9868,1997-01-07,986.8000000001558,986.7061,2015-01-01 02:44:28,bin9868,35,False +CTSPillarNetworkA,9869,9869,9869,1997-01-08,986.9000000001558,986.8061,2015-01-01 02:44:29,bin9869,75,False +CTSPillarNetworkA,9870,9870,9870,1997-01-09,987.0000000001559,986.90607,2015-01-01 02:44:30,bin9870,35,False +CTSPillarNetworkA,9871,9871,9871,1997-01-10,987.1000000001559,987.00604,2015-01-01 02:44:31,bin9871,75,False +CTSPillarNetworkA,9872,9872,9872,1997-01-11,987.2000000001559,987.106,2015-01-01 02:44:32,bin9872,35,False +CTSPillarNetworkA,9873,9873,9873,1997-01-12,987.3000000001559,987.206,2015-01-01 02:44:33,bin9873,75,False +CTSPillarNetworkA,9874,9874,9874,1997-01-13,987.400000000156,987.30597,2015-01-01 02:44:34,bin9874,35,False +CTSPillarNetworkA,9875,9875,9875,1997-01-14,987.500000000156,987.40594,2015-01-01 02:44:35,bin9875,75,False +CTSPillarNetworkA,9876,9876,9876,1997-01-15,987.600000000156,987.5059,2015-01-01 02:44:36,bin9876,35,False +CTSPillarNetworkA,9877,9877,9877,1997-01-16,987.700000000156,987.6059,2015-01-01 02:44:37,bin9877,75,False +CTSPillarNetworkA,9878,9878,9878,1997-01-17,987.800000000156,987.7059,2015-01-01 02:44:38,bin9878,35,False +CTSPillarNetworkA,9879,9879,9879,1997-01-18,987.9000000001561,987.80585,2015-01-01 02:44:39,bin9879,75,False +CTSPillarNetworkA,9880,9880,9880,1997-01-19,988.0000000001561,987.9058,2015-01-01 02:44:40,bin9880,35,False +CTSPillarNetworkA,9881,9881,9881,1997-01-20,988.1000000001561,988.0058,2015-01-01 02:44:41,bin9881,75,False +CTSPillarNetworkA,9882,9882,9882,1997-01-21,988.2000000001561,988.1058,2015-01-01 02:44:42,bin9882,35,False +CTSPillarNetworkA,9883,9883,9883,1997-01-22,988.3000000001562,988.20575,2015-01-01 02:44:43,bin9883,75,False +CTSPillarNetworkA,9884,9884,9884,1997-01-23,988.4000000001562,988.3057,2015-01-01 02:44:44,bin9884,35,False +CTSPillarNetworkA,9885,9885,9885,1997-01-24,988.5000000001562,988.4057,2015-01-01 02:44:45,bin9885,75,False +CTSPillarNetworkA,9886,9886,9886,1997-01-25,988.6000000001562,988.5057,2015-01-01 02:44:46,bin9886,35,False +CTSPillarNetworkA,9887,9887,9887,1997-01-26,988.7000000001563,988.60565,2015-01-01 02:44:47,bin9887,75,False +CTSPillarNetworkA,9888,9888,9888,1997-01-27,988.8000000001563,988.7056,2015-01-01 02:44:48,bin9888,35,False +CTSPillarNetworkA,9889,9889,9889,1997-01-28,988.9000000001563,988.8056,2015-01-01 02:44:49,bin9889,75,False +CTSPillarNetworkA,9890,9890,9890,1997-01-29,989.0000000001563,988.9056,2015-01-01 02:44:50,bin9890,35,False +CTSPillarNetworkA,9891,9891,9891,1997-01-30,989.1000000001563,989.00555,2015-01-01 02:44:51,bin9891,75,False +CTSPillarNetworkA,9892,9892,9892,1997-01-31,989.2000000001564,989.1055,2015-01-01 02:44:52,bin9892,35,False +CTSPillarNetworkA,9893,9893,9893,1997-02-01,989.3000000001564,989.2055,2015-01-01 02:44:53,bin9893,75,False +CTSPillarNetworkA,9894,9894,9894,1997-02-02,989.4000000001564,989.3055,2015-01-01 02:44:54,bin9894,35,False +CTSPillarNetworkA,9895,9895,9895,1997-02-03,989.5000000001564,989.40546,2015-01-01 02:44:55,bin9895,75,False +CTSPillarNetworkA,9896,9896,9896,1997-02-04,989.6000000001565,989.50543,2015-01-01 02:44:56,bin9896,35,False +CTSPillarNetworkA,9897,9897,9897,1997-02-05,989.7000000001565,989.6054,2015-01-01 02:44:57,bin9897,75,False +CTSPillarNetworkA,9898,9898,9898,1997-02-06,989.8000000001565,989.7054,2015-01-01 02:44:58,bin9898,35,False +CTSPillarNetworkA,9899,9899,9899,1997-02-07,989.9000000001565,989.80536,2015-01-01 02:44:59,bin9899,75,False +CTSPillarNetworkA,9900,9900,9900,1997-02-08,990.0000000001565,989.90533,2015-01-01 02:45:00,bin9900,35,False +CTSPillarNetworkA,9901,9901,9901,1997-02-09,990.1000000001566,990.0053,2015-01-01 02:45:01,bin9901,75,False +CTSPillarNetworkA,9902,9902,9902,1997-02-10,990.2000000001566,990.1053,2015-01-01 02:45:02,bin9902,35,False +CTSPillarNetworkA,9903,9903,9903,1997-02-11,990.3000000001566,990.20526,2015-01-01 02:45:03,bin9903,75,False +CTSPillarNetworkA,9904,9904,9904,1997-02-12,990.4000000001566,990.30524,2015-01-01 02:45:04,bin9904,35,False +CTSPillarNetworkA,9905,9905,9905,1997-02-13,990.5000000001567,990.4052,2015-01-01 02:45:05,bin9905,75,False +CTSPillarNetworkA,9906,9906,9906,1997-02-14,990.6000000001567,990.5052,2015-01-01 02:45:06,bin9906,35,False +CTSPillarNetworkA,9907,9907,9907,1997-02-15,990.7000000001567,990.60516,2015-01-01 02:45:07,bin9907,75,False +CTSPillarNetworkA,9908,9908,9908,1997-02-16,990.8000000001567,990.70514,2015-01-01 02:45:08,bin9908,35,False +CTSPillarNetworkA,9909,9909,9909,1997-02-17,990.9000000001568,990.8051,2015-01-01 02:45:09,bin9909,75,False +CTSPillarNetworkA,9910,9910,9910,1997-02-18,991.0000000001568,990.9051,2015-01-01 02:45:10,bin9910,35,False +CTSPillarNetworkA,9911,9911,9911,1997-02-19,991.1000000001568,991.00507,2015-01-01 02:45:11,bin9911,75,False +CTSPillarNetworkA,9912,9912,9912,1997-02-20,991.2000000001568,991.10504,2015-01-01 02:45:12,bin9912,35,False +CTSPillarNetworkA,9913,9913,9913,1997-02-21,991.3000000001568,991.205,2015-01-01 02:45:13,bin9913,75,False +CTSPillarNetworkA,9914,9914,9914,1997-02-22,991.4000000001569,991.305,2015-01-01 02:45:14,bin9914,35,False +CTSPillarNetworkA,9915,9915,9915,1997-02-23,991.5000000001569,991.40497,2015-01-01 02:45:15,bin9915,75,False +CTSPillarNetworkA,9916,9916,9916,1997-02-24,991.6000000001569,991.50494,2015-01-01 02:45:16,bin9916,35,False +CTSPillarNetworkA,9917,9917,9917,1997-02-25,991.7000000001569,991.6049,2015-01-01 02:45:17,bin9917,75,False +CTSPillarNetworkA,9918,9918,9918,1997-02-26,991.800000000157,991.7049,2015-01-01 02:45:18,bin9918,35,False +CTSPillarNetworkA,9919,9919,9919,1997-02-27,991.900000000157,991.8049,2015-01-01 02:45:19,bin9919,75,False +CTSPillarNetworkA,9920,9920,9920,1997-02-28,992.000000000157,991.90485,2015-01-01 02:45:20,bin9920,35,False +CTSPillarNetworkA,9921,9921,9921,1997-03-01,992.100000000157,992.0048,2015-01-01 02:45:21,bin9921,75,False +CTSPillarNetworkA,9922,9922,9922,1997-03-02,992.200000000157,992.1048,2015-01-01 02:45:22,bin9922,35,False +CTSPillarNetworkA,9923,9923,9923,1997-03-03,992.3000000001571,992.2048,2015-01-01 02:45:23,bin9923,75,False +CTSPillarNetworkA,9924,9924,9924,1997-03-04,992.4000000001571,992.30475,2015-01-01 02:45:24,bin9924,35,False +CTSPillarNetworkA,9925,9925,9925,1997-03-05,992.5000000001571,992.4047,2015-01-01 02:45:25,bin9925,75,False +CTSPillarNetworkA,9926,9926,9926,1997-03-06,992.6000000001571,992.5047,2015-01-01 02:45:26,bin9926,35,False +CTSPillarNetworkA,9927,9927,9927,1997-03-07,992.7000000001572,992.6047,2015-01-01 02:45:27,bin9927,75,False +CTSPillarNetworkA,9928,9928,9928,1997-03-08,992.8000000001572,992.70465,2015-01-01 02:45:28,bin9928,35,False +CTSPillarNetworkA,9929,9929,9929,1997-03-09,992.9000000001572,992.8046,2015-01-01 02:45:29,bin9929,75,False +CTSPillarNetworkA,9930,9930,9930,1997-03-10,993.0000000001572,992.9046,2015-01-01 02:45:30,bin9930,35,False +CTSPillarNetworkA,9931,9931,9931,1997-03-11,993.1000000001573,993.0046,2015-01-01 02:45:31,bin9931,75,False +CTSPillarNetworkA,9932,9932,9932,1997-03-12,993.2000000001573,993.10455,2015-01-01 02:45:32,bin9932,35,False +CTSPillarNetworkA,9933,9933,9933,1997-03-13,993.3000000001573,993.2045,2015-01-01 02:45:33,bin9933,75,False +CTSPillarNetworkA,9934,9934,9934,1997-03-14,993.4000000001573,993.3045,2015-01-01 02:45:34,bin9934,35,False +CTSPillarNetworkA,9935,9935,9935,1997-03-15,993.5000000001573,993.4045,2015-01-01 02:45:35,bin9935,75,False +CTSPillarNetworkA,9936,9936,9936,1997-03-16,993.6000000001574,993.50446,2015-01-01 02:45:36,bin9936,35,False +CTSPillarNetworkA,9937,9937,9937,1997-03-17,993.7000000001574,993.60443,2015-01-01 02:45:37,bin9937,75,False +CTSPillarNetworkA,9938,9938,9938,1997-03-18,993.8000000001574,993.7044,2015-01-01 02:45:38,bin9938,35,False +CTSPillarNetworkA,9939,9939,9939,1997-03-19,993.9000000001574,993.8044,2015-01-01 02:45:39,bin9939,75,False +CTSPillarNetworkA,9940,9940,9940,1997-03-20,994.0000000001575,993.90436,2015-01-01 02:45:40,bin9940,35,False +CTSPillarNetworkA,9941,9941,9941,1997-03-21,994.1000000001575,994.00433,2015-01-01 02:45:41,bin9941,75,False +CTSPillarNetworkA,9942,9942,9942,1997-03-22,994.2000000001575,994.1043,2015-01-01 02:45:42,bin9942,35,False +CTSPillarNetworkA,9943,9943,9943,1997-03-23,994.3000000001575,994.2043,2015-01-01 02:45:43,bin9943,75,False +CTSPillarNetworkA,9944,9944,9944,1997-03-24,994.4000000001575,994.30426,2015-01-01 02:45:44,bin9944,35,False +CTSPillarNetworkA,9945,9945,9945,1997-03-25,994.5000000001576,994.40424,2015-01-01 02:45:45,bin9945,75,False +CTSPillarNetworkA,9946,9946,9946,1997-03-26,994.6000000001576,994.5042,2015-01-01 02:45:46,bin9946,35,False +CTSPillarNetworkA,9947,9947,9947,1997-03-27,994.7000000001576,994.6042,2015-01-01 02:45:47,bin9947,75,False +CTSPillarNetworkA,9948,9948,9948,1997-03-28,994.8000000001576,994.70416,2015-01-01 02:45:48,bin9948,35,False +CTSPillarNetworkA,9949,9949,9949,1997-03-29,994.9000000001577,994.80414,2015-01-01 02:45:49,bin9949,75,False +CTSPillarNetworkA,9950,9950,9950,1997-03-30,995.0000000001577,994.9041,2015-01-01 02:45:50,bin9950,35,False +CTSPillarNetworkA,9951,9951,9951,1997-03-31,995.1000000001577,995.0041,2015-01-01 02:45:51,bin9951,75,False +CTSPillarNetworkA,9952,9952,9952,1997-04-01,995.2000000001577,995.10406,2015-01-01 02:45:52,bin9952,35,False +CTSPillarNetworkA,9953,9953,9953,1997-04-02,995.3000000001578,995.20404,2015-01-01 02:45:53,bin9953,75,False +CTSPillarNetworkA,9954,9954,9954,1997-04-03,995.4000000001578,995.304,2015-01-01 02:45:54,bin9954,35,False +CTSPillarNetworkA,9955,9955,9955,1997-04-04,995.5000000001578,995.404,2015-01-01 02:45:55,bin9955,75,False +CTSPillarNetworkA,9956,9956,9956,1997-04-05,995.6000000001578,995.50397,2015-01-01 02:45:56,bin9956,35,False +CTSPillarNetworkA,9957,9957,9957,1997-04-06,995.7000000001578,995.60394,2015-01-01 02:45:57,bin9957,75,False +CTSPillarNetworkA,9958,9958,9958,1997-04-07,995.8000000001579,995.7039,2015-01-01 02:45:58,bin9958,35,False +CTSPillarNetworkA,9959,9959,9959,1997-04-08,995.9000000001579,995.8039,2015-01-01 02:45:59,bin9959,75,False +CTSPillarNetworkA,9960,9960,9960,1997-04-09,996.0000000001579,995.9039,2015-01-01 02:46:00,bin9960,35,False +CTSPillarNetworkA,9961,9961,9961,1997-04-10,996.1000000001579,996.00385,2015-01-01 02:46:01,bin9961,75,False +CTSPillarNetworkA,9962,9962,9962,1997-04-11,996.200000000158,996.1038,2015-01-01 02:46:02,bin9962,35,False +CTSPillarNetworkA,9963,9963,9963,1997-04-12,996.300000000158,996.2038,2015-01-01 02:46:03,bin9963,75,False +CTSPillarNetworkA,9964,9964,9964,1997-04-13,996.400000000158,996.3038,2015-01-01 02:46:04,bin9964,35,False +CTSPillarNetworkA,9965,9965,9965,1997-04-14,996.500000000158,996.40375,2015-01-01 02:46:05,bin9965,75,False +CTSPillarNetworkA,9966,9966,9966,1997-04-15,996.600000000158,996.5037,2015-01-01 02:46:06,bin9966,35,False +CTSPillarNetworkA,9967,9967,9967,1997-04-16,996.7000000001581,996.6037,2015-01-01 02:46:07,bin9967,75,False +CTSPillarNetworkA,9968,9968,9968,1997-04-17,996.8000000001581,996.7037,2015-01-01 02:46:08,bin9968,35,False +CTSPillarNetworkA,9969,9969,9969,1997-04-18,996.9000000001581,996.80365,2015-01-01 02:46:09,bin9969,75,False +CTSPillarNetworkA,9970,9970,9970,1997-04-19,997.0000000001581,996.9036,2015-01-01 02:46:10,bin9970,35,False +CTSPillarNetworkA,9971,9971,9971,1997-04-20,997.1000000001582,997.0036,2015-01-01 02:46:11,bin9971,75,False +CTSPillarNetworkA,9972,9972,9972,1997-04-21,997.2000000001582,997.1036,2015-01-01 02:46:12,bin9972,35,False +CTSPillarNetworkA,9973,9973,9973,1997-04-22,997.3000000001582,997.20355,2015-01-01 02:46:13,bin9973,75,False +CTSPillarNetworkB,SPY,35000.332257024,41,1997-04-24,997.4000000001582,997.3035,2015-01-01 02:46:15,binA,251,True +CTSPillarNetworkB,SPY,35000.332278016,30,1997-04-25,997.5000000001583,997.4035,2015-01-01 02:46:16,bin,255,False +CTSPillarNetworkB,SPY,35000.332319232,22,1997-04-26,997.6000000001583,997.5035,2015-01-01 02:46:17,bin,255,True +CTSPillarNetworkB,SPY,35000.420437719,250,1997-04-27,997.7000000001583,997.60345,2015-01-01 02:46:18,bin,255,False +CTSPillarNetworkB,SPY,35000.509000000,21,1997-04-28,997.8000000001583,997.7034,2015-01-01 02:46:19,bin,255,True +CTSPillarNetworkB,SPY,35000.623816380,100,1997-04-29,997.9000000001583,997.8034,2015-01-01 02:46:20,bin,255,False +CTSPillarNetworkB,SPY,35000.733000000,1,1997-04-30,998.0000000001584,997.9034,2015-01-01 02:46:21,bin,255,True +CTSPillarNetworkB,SPY,35000.918482000,11,1997-05-01,998.1000000001584,998.00336,2015-01-01 02:46:22,bin,255,False +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-02,998.2000000001584,998.10333,2015-01-01 02:46:23,bin,255,True +CTSPillarNetworkB,SPY,35000.918484000,30,1997-05-03,998.3000000001584,998.2033,2015-01-01 02:46:24,bin,255,False +CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-04,998.4000000001585,998.3033,2015-01-01 02:46:25,bin,255,True +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-05,998.5000000001585,998.40326,2015-01-01 02:46:26,bin,255,False +CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-06,998.6000000001585,998.50323,2015-01-01 02:46:27,bin,255,True +CTSPillarNetworkB,SPY,35000.919489536,100,1997-05-07,998.7000000001585,998.6032,2015-01-01 02:46:28,bin,255,False +CTSPillarNetworkB,SPY,35000.919650899,100,1997-05-08,998.8000000001585,998.7032,2015-01-01 02:46:29,bin,255,True +CTSPillarNetworkB,SPY,35000.919685139,100,1997-05-09,998.9000000001586,998.80316,2015-01-01 02:46:30,bin,255,False +CTSPillarNetworkB,SPY,35000.974576770,100,1997-05-10,999.0000000001586,998.90314,2015-01-01 02:46:31,bin,255,True +CTSPillarNetworkB,SPY,35000.974911035,100,1997-05-11,999.1000000001586,999.0031,2015-01-01 02:46:32,bin,255,False +CTSPillarNetworkB,SPY,35000.977960728,23,1997-05-12,999.2000000001586,999.1031,2015-01-01 02:46:33,bin,255,True +CTSPillarNetworkB,SPY,35000.978023000,6,1997-05-13,999.3000000001587,999.20306,2015-01-01 02:46:34,bin,255,False +CTSPillarNetworkB,SPY,35000.978102524,18,1997-05-14,999.4000000001587,999.30304,2015-01-01 02:46:35,bin,255,True +CTSPillarNetworkB,SPY,35000.978124544,100,1997-05-15,999.5000000001587,999.403,2015-01-01 02:46:36,bin,255,False +CTSPillarNetworkB,SPY,35000.978349245,23,1997-05-16,999.6000000001587,999.503,2015-01-01 02:46:37,bin,255,True +CTSPillarNetworkB,SPY,35000.978601023,6,1997-05-17,999.7000000001588,999.60297,2015-01-01 02:46:38,bin,255,False +CTSPillarNetworkB,SPY,35000.978704313,18,1997-05-18,999.8000000001588,999.70294,2015-01-01 02:46:39,bin,255,True +CTSPillarNetworkB,SPY,35000.978803110,100,1997-05-19,999.9000000001588,999.8029,2015-01-01 02:46:40,bin,255,true +CTSPillarNetworkB,SPY,35000.983917824,53,1997-05-20,1000.0000000001588,999.9029,2015-01-01 02:46:41,binZ,250,True diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc new file mode 100644 index 0000000000000000000000000000000000000000..b25f925c947a14e9f4bfd7b6103f0632e1ae1664 GIT binary patch literal 139313 zcmce;cUY56@HQHH55 z2vVd;O+-XQBp^blo(-a}e&6q0=R4<*b6sySn|=0~ot>Sz=bnj2Z4AUA5LPB02Id=< zRuEQ39(raPD@Zg1GWm??aoWv|OZnq%;-mZ)$zOar5bxB@lt{ZbPbRkbY4EL`a{{FF8Q9mTd-3hXGBjf;(+%?e^kUH+4Y zJA_u0y1av&(_un09e*`_RJ52JyMDIdHHQwTYd}Vb7zCnCxgSLmNh3#rEJPY6R9&eF}D>~KYo9H;>XHL=z87HgIo75mo=m*XDY)@a5!@$*nM*d&z^7n-rb; zuG!U^4*DLy(l9bPzr0cRY6~^rFfu*AyjkbEnNvrzP@CMa{(XLH zt*+tcxBCt2EAxRr)`hDY5*8M}bu|!X=NGmvVzz`Q8m9YC96WouYklG!dUxXB#P`jW zjg5m1m&=MCg^g{wtTYTx&U?MM-o8HnWA$Rh&+!wSl={tA^Oxrd6YHxh#_^(S8?PEJ z-!D4zb94*2($F9w+>JCUH+zi3+JyW)WNjt!}6=K zviRRPy{>xGMS5#P>@V zGfzM4m|ez9+`B*W{o+OEzz;<(DRMl38+Dl&Sx?%3bfJD?Jb7e2{9;!A z-gnc>TjR(Rhc7gCZ7zq8BD+SWgV%54Pp4lwFZ%v@mUY$qmjzCo)oz;f?b{krget++8;m2&Im7}h_s9&4d zvn08^^_8vaOh2%_aQmZO>yyEkU(P3YZ7#ezRQ52Z=SRZ5^!qJ8Y7b4UOiyoZjJuvt z>1$k%059|kcJP^BpAEVkF+X4Q`syy%AD2cay4FWNRD4CQtgLL+WDb5_gxx1>et&t{ zWhJ>HfWzTj#=c}TPVd#RhOYIM;GgyLt`-x+4GtWp%U=g40}mnwX9Hg$2B!n>#HANh zc(8`4ShQSFoayv`H&~sO`1hu6pH*IJ9TeHki6`BCb^FmuqU%Io`)u-5=%S7j=LCLL zr#^YQKli{Od(P$WALCt;r`H!YbnZ%RN4au~iGEJlJ5i& zT5|3dpH%&q3k_vm>(6M0xaVZDB@u4Eo*gkm$G-|X-8&eWH*HeG^j!GPy_PP^ghAP8yM*sg5`_-?&5n9hddOS&wZO=y)02KgnyQQ}shS)yeBSw$+`BhHfY=jw zMX{Lw!ta~nnmqn+Fo>eu(1VcGkk$#iJaNBh^G4S6D>?I^POdd|M0s>K@tN%~jfUE6 z|A7OwTQ_cyHsOv=bGd3v$SxZ-1CEyyp%KW8yEdQQk}HDAiM+L|S9vE+U#(CdlAB8m zfxk`RRIE_?q~|a5GG`7a+}QIyZ#3p)^5L$w>kdB!#mWd33$8i|3{hv2y8>@7I7J4d zlpM={-wFo8-dA@5)-v<<=Dt5266SLY@0cTy!HiGJQLkt03FF6>Rmo_5=02F9@O{r_ zxrdB(|MW!`!LJFUI`dxE+gF|2HKMHOc9WeC6LF~c#Jg_b#ZHh;kXmyKFyql#jF-w2 zBlAp8E$DqikA!FYuT-?~=KGs;97EAvEuB+WOZ$*9N2A$O^YwOi!jv&vz^5OJWkEJK zb?!F>!hZPQoxV^dH+i|J&1Rp-aK~HOvtnwhYG)5)JqiNv;K#ew{nTvY9$Zv9I=>^J z(oah{8GiZQ@`Cch@*?tL@)GiU<)u|U;))p_#@%PQ6PLnpEiR7Xa$Fe0xi~)tuQ(S5 z`#5U`i#S6DWSlyKQk)EfM4S)9pQ_;NTWQ@(3 znh-m?ugc9aUA{iup6$t0Z?5+jbzD~Kk%5OFqt~McqRXSNsdcHvWjkNxM=)loc5`^p z^}Si~IC!43F9XN1w2PHtGj5rI95=%-88^x>KrvNYH*`{R=O%n60o^us;Kaf{Aaqp_{ zjHKLh8%0`J{;kX?JhjaBbkNe>!b+#BsZIU5npxh=db^mAZmX6gTYrqtTyE-lM;##VSf;xEx4~^ zKSoZ@x9;qoHwULfQdF#!d}uQ|Ob<&4@G!>xWLTx}J5#tqR5UQm9Q=aFYU%S$;pcJE z7Q1*Wn@ITjHX>OxO#8*8L3ImHa$EqK@^qh~2FBl)Xz&;ZzS3|*Q;6J0gf#G{=uU$# zy_7XDLoQ$)wHC7bRrj6gGk~@JL?nTTaSPb2X(eZ{~7p+Pj)!YL+CS zK`t+d;aoUmVbDl2kZ1xAry$?3Av|2uofP8Z@d*L9aU@R*F2n~USpVkk7<|IPHl8?q zf_Ea0WUv9|yBnNAQ-*9>6E^SRNO))`7*T)TM5z0& zox+u@9JL4e_3DT``y0EsiRLx%V#QV>SZNxtg|OdI=|4z;pO@ZZjwHQ!8075vY_oUqBG)|9MnU5E(no4n@%V z+Uas8aMmGDFeh;4>;sFs0o55Ww-Cun8CN)Qd|(89g}RHzf+muIDRu9O;544jJ%6TQ zrdkR|EbUflr#yh%mfnpJyE!)+)b-t_|6_~d|n zln066z`gmwT7l{EOi;vmS|D2+(5FFnJCR&o!h#TU2Va)UQZ>^#z>vVXAWHos7R+F8 zZO@Wq3UH@9V7ViZoGb}n5H$vdMBY6jU;MO$wc*N-D0~8>M~!9B?h2>YO`z5bo@fe} z(Xcsb*m6Nn3E10>Fd(n~kr8=8q^XG=N9c z^{~%Un$Z*yv!g@NoQ0`CC`B(I{wSLt`0n1bXHU#*H857G;C-jQuv{kVJpudSDx!Xj zCNo135&s)h6T$T3;6zQr!+rfo z{8Pty*LqCASKMfl>S$(C?Euek zfsb6Lo2Yj2dk z3wWp;JQOPhUh|}_y;bUNTs`H%{X5PA2#EtKlMCg!j7VOjLZN($?+S|0W>KN+k@tbg zNmLE#?F-KJ890;}HFz{09zPjVOMTT-usXB7yB2tdzg>&SYYt%GSzyvAlB9!_MuBH? zsUKmy-++)y;E4zIC(j8&5lhNukPNv-Ciq*hr9|qM`cKh0_0k}gG=OMk)Y0%;ylBQ7 zif7O+Nor@%^@%!X`VUF_=9D82zi{BrmofFa@kIo#pV)qU+E|JyOt%>-ZD zX8OLH%Jj?;Z;7YQ%mgt?Sv~496VkvvFFTdSM9fE1ha&U4UW;nz-6eSRdz&ZYS#Ep= zgWfq^$^Ja1-P6S$mNV`eS;}Aq|I}M{Y8q?VxYtg-)9jX?l8{obh#F@M8i^W*siTcO z)9hH!JBE{7)D=99?yG39B_O3p#KWfzUK7o~XVmYPcdRWx;BZRb+M`zi=l*QJl6#7L zj@vmo?(S;|_=KO9&WWS;H;>n;3nCrh^*4V+Weovu!R?0LWr^OUgWe^B-o=mJ#fWD6 zOyW(%lMEmoMBct8dHy)rM5jpRszxY^Mqre7Up0d+n$3yGi*A&+iX36&Oh^u>9kBwA zRUF)3jXj)#$V!2Z9(<=BzO%fkQ?#k`Ca#kP*BRItfWrsmGzCN%*|FuBO~j&}sc~nW zI`UwzN%M+@n4I$N&y3|XU#2dW3)eD5k0`MAT_zUN*v%B(JJDY{>;%`qpwBQxC!6b~ zX_${?r0nl^U@g}d%LoPWxscD6X)l&fLrzFFFxXykWmtPJ0U8W`1L-#{J2b_g-}!%7ZR}sYuSX?DuI4diPbT zbR8Xj_$2C| z0pCY6F@FzaZ22SsgZcG5Qv_Sp852X*2deiAQFM z!p!h?v55(o_3w>I9US0k{%0U=K)L1b0gLAqso=&?rK4`Ns-q}xkt`nylyWV%6-+cN zq6+1-AKY9`i||LwHvC2vXo`2$?UAAO#Op|^UVzB4dV~t9Bs(9$4t95J_AyZp31@qz z=+bfL{0mPLvaS|JJKhcHx388d>OWeP^1+}jc$6RL{LkwT`LsC+{WI{SeN^=C0aq=R z472}EO*7P?WB`@rNZr#lVKC8Hb6buY7qEk3In#FSij1a6e1eege}(}>F0dn!mH7TW zT~;;q?DLo6C+; z@28?ip#KOwTwQYIKg|S<*!^&OGFhnrsR2w+D3l=NNth-B=x9@ zG=R%S9(uA;Nj>d9Mq9sx5rzC^LQOHgZ*#kw=&2TQ0te)k_N7iQwW6iUt8H&w2(-Kh ziZFU1eD?3_M-jR2d#F$uAi$kV)&$pBCp7W?{jN*x&^R@q#gl1%JJ&FOm>RbKJKxoP zt}wCR7f>J@SI~9zN}gi-o4*BCHqGJvTi~Z(hGBXns$I3>sXI01q#ls$DLfFqy)Ruz z4k(!(ig-)`IDE=8}{_;GIS|lENA2~yyd(`6+u;wA9EbwN;JXkuKI^u z-w^2w!6tX<^iDUO)u0(`LPzlfoxl{RVaqM2>!`pHF4BTP_Vv5q}0?`a#!;0ShgD zOU4s)C$C$pZuGU;h>Ib~%UN%%aKYRS)}bo&HZ(fU&$s=gGCas0rKVsWkJsjz4QNfwu4 zwd4U(dSa|>RP{%YD6#K~am?jFu_#ybzD=<+WZN~O`Y*L>7C$0|?Z4PvV>;?I%4 z$7_76o@MM*fSB6rOx+{cdTAT+zoYkVl=+ps{HS!r8v4zkn)7zU67h(DIP2lE_Jwm zqLn}pW;G;V#lDUnX{`On`;k25;gq4i#vMPs9rrEf4n+L+j#OV*B0w2}QQgF26|it| zyWyCxjt)|dW5K$jj@8fhm5iCKLi_EE0_WXNo+Kq74>eZ^w%!4z?k)Fbbksohy6p_? zi5AQ@$*X z>FC^!Y&#nKe(Pa??Dl!H>i`|Iw+iO&lP-5x zzBKYFoy=Gr=9f)l-nGGPSLGmN6Fk+&ViS^=6l!Z%t*;iHb1nSjuyTx7UVCJI?J?jx z;(~MYcYKG~-UpU%@^u4p?nADELyi^(%3?7bu-g}DALc#zh#K#1Q-fezh0E{|ul_JK zH#~ET3S$YcmJdTi-S?VM0p?rk!-DM&8k*5@xx9)%!*ViUr8}Q1!tKmuoK*AKOY_Wx zYG$O(jzG2DbZPcf$G!0T%-2)Q?Ruu%#?o&f!RT(uH@kGQ7g~RhRbw&Zj;dSJJZ!#gU2jD~`nzn#iik zO(itksOvFkKMDvN`ae{Ma3xAm6h{Es&kzhWt*TzamAJE^uG^vgZbX9_TdESclAFvZ z4qde0XcXS$S)-LwwQ6-^iBcS&y}^~L7D7ILw}xSc-^&|@j(Gaf-9kim^2e6lY{UUB zNR>Wvl$DI8+@{Bwq~#a#d3C($O&5^cW6LPffACIp^0u!=xuoMr;(H%pQ%^>5q2dl! z!#@)3Ok*5rI_4cotSAPlYIqXSju_?W&WK`wSHty*c8!saBpMV0UA5#IDg8l$qlXZR zC9qoZ87Vz7ekY1c`jXP!;v79-D3&ADl46?Wl3blHCATydB)@7*NDgasO12TxhoT+z zSy5LcswE?d>D5t=O$?|jJk^pK#Pr*dj`}%wAt*5f6tM+J80$a0K^WZt6Uu`VCC0Ho zP?bclj-yl0p;eEfQFn(_MGB*$G)8H?s~PIiZ1yBx?+fq(JWWHrWPX@VX4D(_j_mgrvpKW@}+_&EoGQe zgI))IggKDqKk@qJS2a55$Y0wVv8(p=u%Um7YSe|>iOGG;SFbVF>iI`rSao4X0fzj? zRoWkbL;C8Zgw(n^(BlDa*ua7kGg3=>n5GT79PCzN(7Lp`uVK=&fe~?c?_BDsM?bat z2LdN6x+Xn+BI{WZLYi~ZUMBR~YXi8+ilIr*C($5^-?f-~={3!)jTq!UwT3C!>SZ~2 zZu*9H;;7k2tk}D0m%LqVI?BlObDt}ym-!|VxahLseSp4{lkX{-%zOK()@PPj?Dy2N zqBaj)nCaP~kQ44Dg(oDRd@&OE{_KSpW5&2Q^TN$u3ujo*fB1CIrwAfD54b!!6f7U5 zslY6^>1WQb__fqX@(h4d>GEG$ZxF1B~}J8YwBW0o>+bbH1*8=hy2Jd%4N@MP{Udpv%8CrU8nl|$KN0L zhQbF5FW9COx}+*8SkxV`IR-~O`IhSPB{#7WT*JCCG0uwL!CbwCL@u}E#`w2yyJ5y8 zWEDG6XJgn5Gn39h^$I{;jxr#WykS9Bp8xF#({~9X2hyXH<*8{NHMOddWJ*YOIANY# zLBEr22eau)Ju#A@*t3>+QKO%ABM@DF%9XGA6|i~J+H2g*}c{1*;6MDQY)zi=)6lb?=JHLgv$y}pe(*rg-hO5(y_S1gBB z*GM;{QkCbmp}9j{Y5LV|F~w((mf-h4SNG->Bf^dnNU` zHp^!~@|lk9=x#T7`R*s%qqC1ouI_>&f{G}Q+4A4U6pq>27k#lcE4)zt!n>3Y@t^zt z1^sHK!=Kn0`!4~gjg zXJkJ{6CBJ2-P$NGEzo+o`ATKMZ-aSw)iU-faiM%CO+Wn!0JbW4a3R3%7JI5xsqpP? zImpZ;x(~)25G7W}G3qcXGG0gCdqdSaH-u~|uN*_G8lX>cpQzBzRvP`k;BO<=c z%d7JZ$mac9GZ@Uai77x!O@F$6(uEbZZ9@7DLL#vvxI@*@uXBpRf=IhsT*3)AwDt|g zLA_@}JRoMaYg5RX>?o!Jq89N5-U3`=7G^|zG;R*U>BMw4dEh=VU?1jkdo z+cIPb4|19U2@Jo@UYqw(Ou{uWtlF`VGw2g2W$F04xDsweDdU%OK0mD}$LGu-F_wyPoMdp~*yR@= z>9~t78|3ipC=MDleDOqnf@2^!j7y;ILG_W2r=R*C7q~&C;*r0z2Ou%)+4i-@5?$u1 zCSfOr8u$p&P6F_zWv9@x8aP{N2X1Cm%N`9(m>gr3KC=_UHMkVf?l>UhOwOP!y76iD zuDyb&*C;UIAY)atlGC2{lp4F0l&1i<#z(&YnBM(DGcD06g&Xx+PXoihm$Axlj}yx? z$p&Kji)eg8&MCA71eaEQ(uNWB8m1BBUo9}ovkNT=OP7nxYNImmp!fp&izu0*Q!i&y zzsaZ`$e?abudYO=&P}Vn0I7O_K;g7Tqy4KH2xvB667RJp`NUX9GE>z94it`eG+Lti zPx>y;>}}xl9p#C77hn+Z++W=PmLHv8P zY&0KaTVTZ>bw{67Qde?_m4C{6^e-0vAo`a02XWOVvAif0*PaJ1!YIx$x*uMfxw@MG z0@j^oM>rp-6rZ8k`v@UohoS=0bhhfU!JbxwH+rW1%FC{~7Cs=%C_h7q&uS^JjZOwL+;Qea$o`o0Oa=w4 z>?=fSo=WB4q^7$4NO`+j?t099JoV^@mZ&jx{A>S$^_ift7s2QORr^N{W7dAMjf8k6 z#BX12-TG24;0~@peYZX)|4*(q#~c3Gt|dMkp%G(ve@_TlCM-(9DN{mb1Mw@pIW$N| z{3rf@4~l~z2Uw$$|0MAfs&qnLkDYT<55EAMD>aJxbgP~bk2P1O%zHNS3KzeP%2~Q*qT7Iyol8gKm&NrO; zBa>Hw|PlFTNPAuJU3XMvxm?L_A+ZI*j!P06C58k4*f`IQdS}oYgD*aTnGLNkv z-Pbxw*Ct9A!5PEX~SD*S<3VOA2m^6KF z`d26g38tV02&P3f=p7`rT4P6#@Jj~o)cLcagVD(qRwPeH8tTXy;>`C_sTtQ?7x z^`z#ssa7OZCAK$R?US;0TA$f%OV_>y*NpJHox$%)=PV#~a~8ytCYH`3!NSMqO1J5( z-rg>!v;XF#R8SKT6A}aXERd7F?Uz$~QE~fyVx{e{E)bLOtaTK`LizP z9ar{0y~Q%t5;W!wNk|qti6_|1gEIVQwHv4hp9f+rheN68fLy+$gWOOWc%5&F?;}}L z@ma7s2vqL0f5#{)q^~+~2>CxjgD6gytf>NGt1-w<6u09{9>1sIaUE>n6#=@dJPPphqPPK@y=n8o|S zQ?z%#+>NwxBRX`Q2;^;J>1KDN+_ho73)MoA2_v{*@G>KA1lx96qJcTTmW%ya+cDUh zm>jo*Q2(Hsv}0uJAG!ZKGeCs}72ukA(6$4&%C;F2$%SJ2Nepr0L@~{Qh6*y8X@nRe z!hvFXO$>nmKf@*(N@S(Nf{;cQ6w@t`L*Dk0<{yQU+tA;L*Y7-|Q-R4Md6T|HCNZC4 zvH*|LqnI?oLg-*7DPjnb2E_yikAl6(=Q|r58r{7>8qnpeY7GU~;%keEb4+kyzmV;3 z^Kp64iXayMOVP<=T21~fW>Ux%?5OMa(0<*qj-HZ&NZ$Ceo7^alM6{n^tRo%)1`5k? zP}KE6w4Zm3qxfz?BI(mE)XH!F?u)T1pxMI6Uk z)hs>AlZm!4Y?6;+u4+b%@`Ru*Uf|^Q0DRyb<*`9qNZ{mY=&PDJMtSz5Em9k|S$#up zp3xKr^sZIV2IC6g;~$cFThP7BL>?c&>i>_`czHld5ZS6C;i#y+qqK(A3?XQ?w&78> zeAX1!NLCc96RSC^2J2o{*zoyb;>gR9+au>ktVZNUm`6SiH=c_R&;fmQ`~i%bYuRB? zt?4Y!fSaGVfkfrZqBE|Ij z(>Cu1dzu-UQ3?YFE4mRU8>Fp%0wPBp5jsaHy$WvK_=3`^Fg?OqeC$V?vu?fY6uEpL z40HIy3IGPq@5XXQZ9gupVk-xcu2Xoo2{oKyd z>S{R=+R>581va^Czk{hPz1Bl3S;Luh>0j*k_aFulWJoFv!s4|dmE#|fcODy+1Hl!m z4d}{4$LJ7ag#$aAs4Ima{OTJ2Pw)YtH!98&J>PL5Z0m}i+VvNu9RKA}3T|c=QcVBi zqN(`i$n-W>SGUE5&~61_BQJB28ql+&hT&IS&?X0UhHUKQ+1!5Noe5hGA*Lr&`7i7& z5`LxHUA9*#LpQlGazFaFtM;`@C5|tQK2e6sc`$N2g?p`hAb5eDEYtB9U&V2HbI z^RO_fWbL_OmN!C2afDufc`wX)Iwg=HPKkT6{eba$6f#9r`EKT9$v~zd;P1Ic!mLOYv^~ zCgPx47&H{9lA?}XTpxjA20A3VP#i{nf*}joO$%h z?qZ>+#T1LF3mP!RqDr=j&^y|K$dJQH8ZNbbh%KerWfKsGiiS%yafIOta(Mt1M$MjL z5JYNOznrwA*bnm~?wWs*IQ&TA3#IHA_8eS}OAc_QJpP>v{-Vx&X3k*34sWNr1uu_X z+;=T^SZtpLhFaG(#)3vYf7zKur0I+6=`F_R_1< zAx}VCWXLHFgvF~#{2|aD`aj`>+5oMn|4%p}dAo$S?On;`=V*{G8DnO}ZaXj1R=qh1 zqGSp!@}*47Y;=k4J8Qe$GgKSr zQWyXXz(jH4+ljT_ZW+vtbL2yy8gd2yX7>fgK^lq>Dq$q&Jeb2C&H3{dVAKED(GGp^ z<#>^HAvU{K_lwTsVduEuDH!JXHuSITaC`rFhePvl7eZ3&V!v{6YQ=Y(LzpE_K!4!= z<`9HTN8DAasT_jI)Lnhkve!i4=3!CkqQHaGA?+~OL|yht2K1)Z)2Eks}R$?vSAnU=%> z0P{HUVCygKk1>p9iV_E!A!o?!puQ>U)^h3pEm|mgT9qp_niPQk-2}jDDZ3X}!c1Sa z(*z*f?Qj#nzv4q|e|2v3*%m+|L|5`GS=8g@eV|o4eE_n7FY^^gQ)sqAIDl3IE9Gh)U5jsx^84tjPO)a|sg1IiHaDk0(H6XoM?T_7 zcq)VQH$AgRZQjc=jmfHx&XSJKx*e6p9F-Lo>DbL#|l<8Cw8HI!>r_T63*mrM&9u>dgl87-qly`KF;)3WUd{fP?h&n*jJwY()-8c%b$Z% z8%cRZ>$SoU#F;BJQ$bSz$gFQuhWghjLvUJ9;{|O1)W*KP<*E~aDHvoYf}+9z!JA-G zbuaW?NR{?{rY`1dH61b?)D?(%BZIXIMUD?^-+K=NFcZK>8Ct@bJZjVqAN3iuv=1pf zOV|r?siVi(5y5$bG|qzockc!B4fIqlb71^;f52B)=q8VJIq}s zzpcuA$)1$1Zy3Ut-UW5vX zbC-KcM*l1z9KMd)^EJK>Wjjkfn&ApA+QEt{W{s-D3`uui%%2aHO44o_e*IeLD7Tz^ z=jo*2U#Zose`!`F^ldHU;9k#|@pDz>1L0PGcRwgNpDFy^i}ZIZLB|@kN#;2@G%b#y zE?tlllv<5p#nbltaHan*{sQ~)OUJ>pN&)i;CTz6D^w2%bE@%8@%2tS z!9hqWkVJ+YU_w|ZImB zY2-M#axK};=&Fxf$oDjV%{F<+8+;YE#Lk2&2Rzh2&zAxnDa7E{zNb;5^@Grh{_03-hUCSqR=HR zzu^9Yb^6~Cj9S3*9T7qP7s38Oh&d0dYUj@^3CY9V=D}5Wck{GPk|v#uXR5$P+knL@R?%pnILUxw)-R%gLQb}q z!V<|nX6u%r^Y(j?>Guc;hg!d2qVXm|KZEZKzJIx_g^@elXfkFU{IQS0<~Mhh{)u4n zt8Vz_uPzTZb#l*NO^S>xng(%wgq1NS3vasaaeB2$}) zM+2TZ+d>H#g?PjccEEw%4NwV@bwKpPkj>l^dHyFl+bp@~PkTDGUz2xj z4k9`V-NMZ^3XejE0VE-J%PQW4Am6&H6tN?wA^gB};%-oe++{G?23DYln@Tj4EAB#Q ze~d{E(g4Z%bR#=hC+UM{!clS{^g3uB6Z{C83Yu&&U#;lDI*ee?bc|?5lxPW`%kz4s zgGZLpTVx*$D3vw2VETTMwSOc}D_T;B zsMDg&a(Kw_4xh&DizZ^ofh~iCTsbsn*2qb!QVsvB6Q>TtnnY zEDD{Oh|bbQ4>0KqGy7wnSInsoF`PqWg{UPT_7;dPxFd;rIC zz5lU6-&`udMJaREZ$u6=43C{2=NKLve(6WcP@?@!WXNf_RXh~$TvZr+>qM1FuxC%H zESGf2oPOl<8F9s#KY`YAc5W!PGkgY7=0dpa{3%#%@Q5SR87duE5`m9@>eF`f#15If z(;Jy#tQ`Bl@cKr=zVF_f8mu2=T{3T3k(bh<1>(W;II&jv~rF`!ft*U)gS^C+l~)~V4U{C&7iREk;1qVUI)CExv{PtlWhoXAU; zS(^VUT3ovPI_mzVJ;;zB%*X+KzzZ-?D9-isQrR?PKO`7E0_ z3blIo2LK7>fR;NNK==RdVW1vH8XK$G%lN0wrP0X~k_wmfK}*pkiv1Av)80!CUO@M| z&pFU8ly@^C8s4aG0Fq^1`RY40P+tI6=e$M)hj1xFE_*;9BWKtIzM}ZV9H@IWt9Tp-b7C3yCwiNaw!xcfD83JF&2!4I@#vm%wEy`#8$cbT;mC=h~&F)o9nC4IjRi|2q`1-@!RZ1%UG%-ekP# z%wKi(21YxeAd+9)`&@a4dkUGNtcErz$ezFcV_{&5)8hdrpjD) zvhygYjbsxDWl!FKKW$__rVi_00)M)`J)wpGh7a=+CkN>#sS+QNx&&Htz|RRAKCx5J z!!Mq^>n-G{3;%7`caite!XHoMuYj%I5}`c)&EWpNu~MK)^v{n8sc7v|%b`PayFWl(3> z&mgI$U%gA3GK0wOth-)wq>7`WGbJWod(Z9r=rhNB@ZKtIJ=4va(CSJ1%~UDbrrL5PEMuU5t{&V&D~e+vcwKbj(8_CNhI^AkBSx$0_VYHxV_u#>)xxr4Et zrHh`m*-0bYBhCiLEF4Wv9Gz(FZX0Uu>lkh7Z69tOcsssDT9{d#`Z2dT`F(bMdPRW? zLK{iL1%W~68flmzJdv~yX!s$#k#s~FdI+~J?F||j1g=Zh4gN}_U5&I)X#^pBjdWxh z+DI-D+C&Y(x89P7F_%gr zyczm|J}@RsZ$m`yhN3A<0-8c^7IR8(QN-wmvMD?t+Dq>fb6#&v#NdWf8|)PH8U4u^ zf4yZ9lN%~+@Q=_%`tTTx-qr(ME=7JAJ2al&AjTa>b~98|=7(Q{w$gjX1mY-e`ie@o zVTYj)>5s+u;FjEs6;*D-JD{KFgJQyQ8*X|}742bi&~$o>7%$wSo6%Ecdw4N)fZi`A z7`NtT@Kk9C<`1o;cZ>0z|cs90SCH&HT|A+s_) zJQ|9Nbu&PVQn>V)m11G~(41H+18>nKE@NhuSa=hZ6pJ+S@K~u2<_oQebub9XS++8HtkMVn z0{szt!5|`Mt6NuEksZbejfvI6ySbAU4f&PX;qg#>tUDghUUdu`n^2!lcsVh!-_Br@7iLs<}xg%V;t@qr`? zT3wdTaR6x(eVm!}PEZ46VeyxtExY=~bfPI4sc+Egr_b!K@dns1Fmx-Y_&3 zKgGSsY!s`k56{7N8+wbM=U!trh*fHWxnrLi+Kc;hFEg9Osx-k#Sh8W5IEH&GQI}qk z2gZVpHPjb(zezSVlu+h@U%@sTdWZ+!q?qbUD5b#6u=$2I;yyQ*OpPT}QsA$#9}Ulm zhu_>V)yr43f$hVl8k&oH-CQ&^%2&35Kf(4H`ickNTr)MuSL%iNU|$$IhzHzUHZ{pt z>4nc=mkck6N8H?M)0I$Ug)v~G4fXQetjW@bFlAPF9Ja~OJr8Y7k=BPPCBclaxrWwx z-quUf#xRv6cnkJ}VPIaE^@g-ws-ihe5}RUZmUqf}QQ9a~*&JSg?KSktJ8!)vZIG(e z4)el3Gd!8+Z@nySlB&`UpTaI0hUa0dw;t=l6nDcou-bOE! z9pEL{0YksM;GQ*agBMD}umEhOp<`Y^&$7443zcE`9Cq38VqQeg)@R)Vii|KiY*e$Z zr<)R)-;iCI5gvoZHM@DDl_>oB>`L)418h#Sm8ZAT62CFKN<18oB{icx!<07o^{y!z z!^E*Sn@v4WDJ}9FT~juO=V5!Ay*t??UNQ)-2IV#}NDJ^huI`Ax2=w8AH`3(aAk z7^SV-y6lR)Fg9#lv%aT$IoaM&PMH^e72DG6;Tc#?vDcSVN{3ls3z}^_eae^YjpbC* z;cu{0&F4JB%Qx)xiWTi(ve>ld|BIn>@n=H)<9IholnO~Sry_~wwsnXg zWwh(BEu)K25tS_!(M35$vRh6kN4u{gPMMrejxLnb$N9*f9cCza^?MG|{cKW>7&IV^A$y(2XJeuK6`WMfw<-YTANn z4C{BBs4*zmV;rjOCxllp#MQZ`Qh^@B>$I%M@KA_bZH-!yJ4V%+S*Y-kCfB5zRz>O< zNoQn5hle$}4b)61=woc1m4)mM&T~aSsP51#w+A)Dih?nw&cZ@>hm5)& zuIW-_j1}rkEKGOUsN1)i8Ab6}iOyz5ga^;&&PqJ)gK)`q(9VmT6FQrBJW=A4?Lu)d z&qK`#Il)CFUiaDULUb_Bi=Gp9f+tCQ??Z86Iauc*PX;5oKO~;_iE$w~=;uY93`O#; zC;sX~bYVDH=Alo9NV(aGojz$UWCznc%*ik*?|q`yhvmX?u$@B830}%wka)@m<$^z> zjf`9qx|DZ1QQ?#0LOo-SM6C(Az>P_4@kwzZoiRp6uL--rdzv`zLvvxDu|^_q1}AgZ zCvtt_T=LH7BcpDHCi8ww)c727VVqHl)0&zK@HH^W}?{!BFb9Cax< zV^bj31Uqo&C7$#_)@8?PeIl2II`B><%6#y3lvuM5YFWq`Ze-$3pX54XtkEZWS=bq# zBJraSwT=~Q^+8??j^+9!0x42Qh}HWcOi{RQcrAQJTUC~n!8T6oul#oP-U;{BC4-EuUw zIV771u`+lScX4863wjX$MaziX7P^X8lc;XV9i)CSGf>+?u5l9+ zTU$~GNnebN=xt%wc>ReJE%ZV57b^q#bMSsHG_k%VelYKgo)PtP=zd;D;&4mBAoGib zf&Mw<4{lLnS4+lV;TIDF^K;lAys5;Qmg2#ZFE%4$Tku@&?Ed2fL|C?m)+us+=v>~3 zehDEvjN)N-Ld_2;<0AX76LyCYJ&aD#^TWz`Qg9IpC5+`^bwXAIqq(d5&l6(82p)Q; zsESZD??(Tx1Y#J&!{UUl2$6H~{hfrgFtUfq2~!a!=Y8nc5?Emz4_h^2ey|JIq5l*C z6^6f}O^93<>cTtIuOQ@vQLmU2Q0qeKxUu~$gp@GS6=Op5y0ALlv;J`cEsTA|nt;3$ zoXYj@=Mv(=@~-F;qV9yI^6vI)2#3O$S1bwWJ0XKyQoo3>FRbv2DFJgQY>@Y*-$*zb zR&vGGhgcWv$hGS~Nk9s-)3t$-%R?P`<^3`OUPwtd2cnjTRB@yFZxWJ)#B^g|^zyJO zp0fWVfhuIBTLY1og5$Zq{TB(bLPEMeFzQlhJnwe@D*{Q#NVf!{FNO4S^ZEsZbRjw2 z6o|PL*30|UuP3mDoOD||VtKG9cTs-@0WHM8(UK!Kg?jSN^{WWELh2hc8MP^-fxD~! z4k1-YdSfIVG*-q%*c!ywEivYHn^ne>{y&-fHr~)P$*dWBs~u7M-)z)`(af?9O%UFCRzI z@sG5bkJ+HU_(>RUJeq_x=b_DO` z2K4jBL9gw%2|{kO)G4MesvJQ@;K%TxD{ zjZ+OQwly5t6r9BM>#rM+H4xbP@TjKHBwlO(;5f;^U|Yh`O(6r^{C?qhx`E6#g=3n+ z26z+whH^T=l;rZv;qH*mJ=Bf>dmX|SC8i!sQ;KbsECkeZc=~ic&dT) zkC77{5!TEb=${y;8`%F?Imn*i1Kgng`tf)}-amRyR8Qyu-h=+(@d5+$9}5TF6Y`FG zxW8*W!%+B-iG%40d&m3MKQmrzDEY@`MMQLhJA0wWT@jAicG@|Svjwwo$DtC}Y)6Wn zc@Ane|2P%_z3#f(k!WX}6Fpma94CRkccnP8?5uN;Cpr<>AE4)5V;l)~`Z-Z21PI)9 z=&!CsM~0nc4*CRNg3X3@x~4gj?M!npCxjB*d#Kix<;bzKokYy;T!LKy1>Kh;zFdon zTrF6FI}HU5l_Ry>j6$vEpU1{PTU=8dN##aV^lIUG+*9bdE6tHzZbcz)bneEkhk_2u zF|S;Yin<}#jr$P_nj%MLxdny3!T%LYgo<4EITn_iP?#ISUvYmzjjl%>OUi9B#Olrk z*m+RU6;x$MY1c$96)eD=f&!smMTs)6K`rH<#zsPKx+YfVhB!*8&A%y^0ZKS%bd7e~KkQ1+M8;*={11cCNrWL4jJW!Yj2oks*Q=xN0a6pjA|*IR_QOzl=?Q-f>N>A}NhI(ILXi zxIXA-S9%p&Y0W|MJJYa%P@p)g@|60VD83*K*A4|DvWls+Td->_upL)VO|LZvAO z!x#RBn}nKNi>peMwvULA&Ux55P@tmXvwgM8A{_+ta3`Ta7{yb3&C5^@{8LyI^agi# zJki&PGo6vxHBg|0;t9U`Wl?7Yk+_>sAa3FrzLsU^GkgU$ z2g>KB#glza%P?nz3fxDij?0SY_}VTa96DXG3!$L8$K!8nQzHEZuDG*MP_W~vx6LUi ze?Au*2ffWri6`AQrbPP-xwz-hPh46&`?fU&dAAdb-2ep@IzI2VJ|*g|0E@c^1w}WW zdE1hLzRTBO4?)G;ees32O(~eWLJjUO=rs3edwW#w5zkyknsu0=klZl3TBpks_L1(zdy(OP)dc@Yw zIoR19V3!7DyJ;6j+6m_1PIQ2c7eH|{FGSh#PhycB*Ri_;h;GJ((RRXs*F)=m4uH0MFCLMfwVs;m&k`1rb2ynd4Bt{EOJwjuvc60EuUei}n>> z#69a6$I=4WJZl{Cc4rFKzXPm*fIOZ)F6y=*1$Vat{HXyJVY~1r+j3 zahTh}SGX@7M(ojm5}xfj!nboF)~*BmsQINj2oieglBQej*nPs8w+RMfaGHn#X^R z&Fc_g)7!{6(*_Jr_#F4CLyu**ad5VK2)E9a*hL)`SachHNP8#}E?9{>*P+7Zwo!-7 zhfr|-RqU>gJJ{4V(va~`G+cNU_oCx7mfpr5vK~T;JNIEXc3i^7x8)7#4@HRu`*8O= zUSkW|m_wFBXfgkHY+=VkY(`t*km(RcEc_k!cZUgE+*UGV`wIc@oR6K`aYBPA$cAfI zMlKS}$CY(RHQ5CexOpXN5g&Y`jvJcY1w^=UW%MFp1y0`aK|?8E!L2Ki=Q^XYYdbDz zVhRXw{mQ6wf@s{Wj+Yu@0RwJXi9W{%U%!K|Nh=`3O)D|ygeu%vhfc#P;J|HH5sNyP zV;wunHK+o-Si3KBqhL9%sza&CDWHnY`%oMC;Ma8A)}$1W#KwKm8--%Rg?OaG;KT@y+hc98|awO(7&>$tw)i+bY@|LI_fp?U-PE*N27ibWZ@ok3~LI$ zGN&y^(ZBFVv4=alG#OtDr%gvOzX(Th-#TVA#a~ONZ5G6i&e@t-MaN+X&+J9o`H^!4 zvxklsNnqKYltt$GsJVRb&lg>X?e-)tGR}{lD?BkIDS8j1c(N8*=OfEHk(wWh&ck9n z35)deqsj!xq3cDz!ib)XMV9&KGCo))MV+uTPx2zud`y{8I`qCs3uAe57TGEgb32!6 z78IR=p*->Dw9%1k1xtrc7b##lp44;ZXw+IhST#j0uoO?yIb(G6TH%GEr$ys1nkW05 zH5z%VGg-5~hzpDJ%sZ!#j=CjC9{RCJ13To&JZFhU-{ONMRwRP$^DI1PipJa$z8w0q z$Ot>?S#r*%Lagm{(9A132}3qy@6xV|bP+fVohp*S@C}q*=5;6+{uxbV(M?!#196ve zU9^kv%#fn!BaGU>+GSmbtm}-`_!M1)#eypV_3NVQ1hGRcMXz9_2F5PSI&>ZXnTAj# zfTcH(cbV2<>V(gR#*6eYb^~XZ?GD1F(?jD_Q~^Ub;9qDDMurJIhN_EHu-pdf3-du# z82^eUq38}QwSn})crZFlcx9-s=rfGozmV;;^|BZ%R^bnTOQ24@h5F-@68Ja9I!HOG7Uf4b(!aD6VbBa!g5Eb*2Nl2vyR+!FC?$h*-?%3_K*$?{~*iep6I~VAs%{qCpYqEu+w~3EjYdp*dJ2 z6s5l<7n(L<8iX%~J{K88?6;gk+e3tB=PJ$OqDm3^E&gxq|01^wRt?n@sYSVOsehaQ zhuY4+rb#Sn6{Wr<{cZeT^mgI3q5h%?5&bRuZ|nb%k308kphfkf__uj~>;D(^Sg?Pn zqi9%E@Rs?v<$vhM{692BMO~tdw}pS3{)c%i{9|aUXhu~0w&ZV{39-F%u4eYsaRy?0 z_A2e-NPEHDp%YUQM)r2fD)VBLJs+H8Q`Z^0w-Z+x7f0I*%Z8*=?-`WstX0;<$jVN% zX7$v0M$C4?D*fW9N&$N4#?-G2;&#R=%VKmT9~^sAos6{YNRsB%8w6D!KoHT%68H?cc(OrL))3xEQ#n=J~%R`M2vmg3$K|H zF|ESEp)XTL#?kF1*KGX=zfMPu-PB12@^SWlEi}?y;5bx1C1cwK0?(myQz}O8 zW9lE~BGhJngJ##%9Y*S7(jUg6=*_~0p%+u18T7~OKdeQ_uFee2#;Hq;_{VvF=!>Gd z1Q|p3r(QD(9y9;26rsELZ#9Ke4;dMc3;!?`VY-BGhyI>2F^V6T{9&6yZ0@wz%$+)6 zL=YW10vY7pg zH4FKmbFU^~3J9;_ykGQLQ4a)rhuWrqE-7aIV#z{3;DgdM1-uzk(X6lwP`8%=17!mC) ztQ}HMjTx!mStZs8WOHYd#&4?582g=2qK}Ab79p^&TdTX4gDvjvx_b0ihR;}Koc}oZ;bz*_piP*>WSdM(1WRAW5IXk zzm`(;6aG8R;i)cT#`nU1O{JJ8!goX8re=)A-%I|r*$_J^vtY9z$DI)N*&tR`%%aVL zABRYsvh67#EtSopg31iJ?zG#UIM+B^HH&^6E`hvvqS&+MT4zg-QxLEpAm^Q8>5l#uTDgJ#$3y6`Ee>J7nYfj>g)7h;eSGmPDkxa z%4|}}50nM4d61J%$jWTAcC}&&Z2|lgMCOFAq@c~KWlN~1VUduVPRW%-v~jg+3H>x& z0r}`etz@CCtEJ~DF)$yb!6EAetIUJ*=N0k4LroN_Cvax-2QOuY$k zGUTCCMrEPggjaXce}hj#Oism>C34#bNiby|Y!2i^H3E~pR=ZTOfHn_)5+be6#!%Lp zm&z7UfdYcusNRhst~D-IEuf!*%OD@BDHzsT>r&}yN+fIz zSxv++)>@XzPg8+hg7B-;FyytSrRvjk1^gpKSIxq3*4i#e7EoMa3nAszC=C9VHd(Qr z<_bRxQC8<*sJG0?vh`G;o*=iYQ!pg3nN;iPT=;Xyr)nC8eao6G{gHx&ZGiBq<1l%* z^vTK}X;}C@$WZkm4D*&HS^gsxNG*uCdLO3nmMK~NBV7ak3o>1O6jO4`_ENH*;sl!y zDXT`Rvvai}iWM{`cm+gWjaO50%^|WC)M{8XgrrIb<9kaZJ{>85+SYCscI59EmT|RjqrZR zL^WN_9S-o{1g?) z(x%RYG(WP7$w7UJE`xt)(k8I{I4-s`l6jP6Fo&j72`E2&oios~;5bzI&@aNDHH|0G{MdEYSZNC-1?JzxO^EZ$tJB9STWBfpyG@#e zLw?LUORT(w3M6flC}E#pVVx;f-9mo_|I%bkIOiHJwaAwq~bl{S~gX zh4AtwSpvS5l4|ysxl+%0<)5m6dAsmvSj_FyE$&39+q& zRK35FON)cwZhDnKYGtHa{N-Hgb68%JAR)b#oNDq{bLrq2jV65pyOon_yDM>}tb{FU zsz^Y$;s>=P1&p>5ey&NCklRWfG?Qd7>Q&gTraK9#tt4>Xt6=o2@E1*=6X>n%K`Tir zqU?ihY`T;X-+D_R63uxl?#pUM-_36rX+8%gY(@@``e5TNnE^nuT z)}cwY7Gq2bgM6Uf=D-RRe8~C;OeHaKI#OEZrv(vq$I-pn(F#uCkS-?R%IhC5#HJ~ z*hiXR&@Ef#jnsZvev_~-eS%CkZB;kY`{5H!hCcQLhi-c$@uEOr&P|nl=n1?*%T|Qb zAn@8IbzklT)nI1J!l_NLq^8!s)Cm%(*s5@P6MUd)qK`hoHdxuxZb}v`sHwg$ej?AH zXDhpDS?~utgOz!GvmL&?@=U!N4 zic;UCzZCzOWehy(UQ%UKO4d*uMDwyv1|sXT#@+Os^-$n|#$5>CeRDS^7YBJty9FTe6JeA#%#92t?Q8d$oCrP@0FhI!hIp zTTksZ=gC5;S40U}cLG!ENxjBARVe+6xG(E-AibX5Yt54iDCwfWtV@CM^?AMeJf(n^ zE^g0y9avD$?6u^{1=Kepa@NDZjQYY}Q=VEteP6r5;77Oy>SZ(f@or@TkQf%&DO_CtG_Z5EvT9u>60S>pD6dkfo4IQ2dH zkod2x>Gq?0OWJHhk`0taqWM{6?a1Nm0xevzlD0@(ktJ`(4}+U9;j)#~bE4?1TkXli z!~!E+wUT~LtjZc|rw+3UtZ?a7$}Z8mth)BtVM2i(uDnXyCBBn2*iIT|6jwT*sF+@CekP9J7}wKAnYQ}&CXS@rGl!+BrzOy$qC{o;pk+q7gGWv*!U=y5V)bGD~; zkzzh=uK2{Lgq*#Z;%Qzan@!`p*7;Pb^Y$i1rcd6FV>%`AS$H}zK z>;~&D=^aX{$bXbej@z8qpx>puLrWFk9o3KzZDuxDcFFHhf#onNBJbN=*kIbFzC#}r ze;GBBk8Un$u)UD1qd1D}Mo*HF;7uv*M#XZPqquxjM#gthGRzxg%c)hOsL`9`-yeNV zF6d&uwG_%9Qs0USM<0?ix(eT#3e^wkZ^eI)n#jdnC2wtiOEyvLMRP|_Od^hCZ`ZC; zET-9u%SNS>*+(eb&8uXKslag=y)n7_2ywe{m1;4)QY;_+FiAPW+HPGXt)XBCQV9$*5C)19Qx0_a}Yv^k6*r;xjb%e9sc1^OF z;x2L=EuTak!9UjSS3qg*;;K>QWX=)lWAlC)lnUIM(c6}Puw1cu&6fnx0j60I|SifJ{LE9^C8y%WFbcFfXvR~do1=h}}cyiy7!pEll>JIv_ z`0MEO={n6?H36|>;0#<*?ZjE=soFe_5SFs_x{V<;{Dm%&h&`@iP*&D!Qao6XJR&Bo@*W^41u zW_|Nt&6eiR&8Ft5W?S=zW?l1_=6{+$HBUGH-TZI!ShJz|YxDQ!iRPK+Z_WQ5c<)W| z7CDbrPNHY<-?b%*2%5LJc2qr?J45|$E|Eo0n?*^Zt&^!Ur0>QORRq0RJTN*jNuObV zx0XnICcx5|N?9Fp!vvt5(i@5H!+nH!@ zoU58`IL?$ry!WCwv+S*Nr6;rq#t#way<(gR_WHTX6M6*mdc?0@L}!M*Wv={$4%l!J zonC3qWP8(G^$CN7`94DH#d7A@+sY)fwM!TaB2Iasobi=fv;y$G%+nDHuN-G;r5P<- ztpl!HM2lC7GYMD{s?~<`%%>6KUNmQRr4=m&Krdr`1lKFhIj>TWRsu$s`D28}>yR_E z(t?)X&;biCLgcm2xvID9FNd@v1>UP+bzjb?FxodM1>c+ z7O&RkDgY13td3B5<b506hE_z%s~en%!nI}yOW51Mi-TX;S^IA@u88D z#PYMcNCB9~SQBxfF(!%Nr*}~T){c2I;$g8t=d!t;K!I}Bb1FfNz_(zs?1*p+|P*HjVVbaU@EEn z4P55)h)<2QBzCJcRSJMH#)b%9V_Z^Rt3Fi;7%=9&h@r+qNz7JDs{F1FSfvr-#(hbJ zt)^7>%^EJQPzkY$j;Y>DFD~RtcZ{|;s+@C<}jIuu9^`Y zajP+TfS7L#Q+XJwnW~7fM(O}7-x?+bAQKn|uWO7QAmr=Alz>fQ-ia7&Bn>d~En)I2 zx<1Ci2w`LT06E_jroLk6V}6b>G_nUc`8J`%L+iy@98uYb9>7m%=?cKxFl!>zjkyEV z2{T=`RoBQ!jA(649UuYMOtsa}$n1}pXrvFYC#-ZS0Bji0i2BC(fxHPlT?v>OW=F(u zW5ED(!a|on(v2{RBDxwg1_~!kboC>{2y-f8rm=XSWWr{UY}L+T%M|rsp*vdVfnQ1{}cax*K+#q9q=+S1ff;jHBDv6zT8N;FH zR3<72U$2c<06u|vrbm&P6GW{y$IEh1u^R_@$%a`U`h9gGWP`))|=whw+*kDUwVw0M}tc0 zZM_m-?LvlK&&f>WgY3Q900qd+ndLpQO#B1NUUPuVO?Q?N)pIj5`2lgSF+k;JILlP_ ze9WXiVC}UANI_7}@a?&n8T){+S0A7R**Eic&#O$*1IAuUfSjj$&dBQ#WTrnL?==Oe zd4}iAPd)lf_5;pdTbsm9yOOb}ry>*m06(lPP=Gv_d9Fv5nfrh`Y%Y+&bypd?dhTSV zJ|F?#Qw29%WxnY7oJoJc9<~-pL4eBu&tGQ7Kgb)_7brm{%e>$7I{ZY${NT4Zk!0?lEN+KPVZteU-qq^BHq{PK+Q9XK&VeDnQQ2EbEbuWFMw% zHhanz>3}2Ob7N%pVd7?^r)rU*f+_F$FhV)Z+HCcdf?$!cw&%h~%wfW2y{8gnh0I$$ zFGq-n8JjJh@^d<1-}mrG(hie1n>^L$3@YYWk8Xr@n6uf|AX%hc&T#B0A3+_)cWE;e zApc@k^(aSj4pY0#8M2K!;O6(-9!WV&0>-Xtqu~;>x98Ic?J&E`njr;&7bBpDHxhR^ zuS=hy1Q`~yt!HTD&|zkmB}0B+2dw`d@yNczgPH8?}oW z_B~}I$Zy$4wA&RRmtj`+$Vc$sC`ZiOWvg^G3{20hk>qd0BgXBjRfZa-x@T;J`i*tO zx?Ku_7=~X@-AL>=!V&#;CCFBotv!PyByf9$WxM>EuAhmTdV+i0kgJ8J(By4I%6)D?a(zbl6qQ4QooUabFJE8 zXkrfZOpMUKv1hEsQVn_=ITK5 zQF=Xmw>Qz*Xs?=UI590LeIHKoW;t8!rNFp0{!n^8JjR>gthZMJFM9fV>965LZ-%qQ zUS6gHF-d7>c$zoa*<`OSGf1c3mukaV-W+FJC759X0~w{K!cpG%S}jHa{MG5xrHb$z zZ)&X>BU`HjsYz)|c#1cv)`(H9HC&i}S~?z1^JdptF;ZZt8rPR{!{fa3YV{Z;@JOeB zEY*Y`@@CdrF!EbE5V4es!uNR>)|xQtTZWg@f0i1 z6u|eJK2<6U$2U`w%ziQ#9l*UyZ-yr~6O)X7Di_0JbW7>0a8ffP$>Jxk(*bn4R1lutOinWSsp|~SrpHV5;p}EklC4$Zq6GkK zX+=1?89$)SR{%e1y1G;qp4&_vFz3s{bO2K=y%V0=Od2retHKOdru#}ihtr$c1J-;g zFrbWqrI*6voAU4$F00alRJT?&j5F1@Nx@ia453GBopkX&|DCKp>9msp2->U>Y`1HNfq3%Nmm=7#_0cZ9?G%}UT4PTwgV z>?XZq9JXwhH|PKwP%7+Be@8xS+N^FcyqNx6YUpOa;~chiNj$Y6;4Q7}M!&;<(;iWP zerLL-RNbBXj{41fM7CWAV%XBw?$mdrZ^k34?S^a9{iPG#^mpuU)+18T;25E$_1*FB z^1kVhC_&FM-BCK+UGR?i&2mKkSO+4_(ys1|cZJ_fN7RoEe@su6&U6>QEBR)dk!;t3 zV9Iu!gV>qvt#wua9Xx%)CgEi7qDS$qk2ICE!oSoEWbCS$Y2W)R!3nyhKso9vM@-x&;gJA#; zZ6~|gnj{5+%m^5LPTbDCW_^+pXsl^~&T|g!WHwupNsenLE83{trp zs-^)1$)P@B9k2#Tflx34Hjxwigm6F~qy)8p8X$ul(i6r3OOU)?2dpoffRp}&e83c> zt~c~f1Hg{Me!@9mdmwSw0t3TV!9hR4ztbL8fO<9!a28JP6Y4wjVcBLKuo-N3IH^xa z?~I34n+*-q0RG_6pRnIq4@*G-GXf@q6aOUdo&K;A)TC*EN^lCEFyC1Y%e!=-Ww$-# zWIQQ+XF9CzGQ6DzU;(H2Ny$6gH_2u#XnbrZtcYXTJGI^laL!JH7|)u0jIz`0Epyg^ z_QVEe29FVU8ogD{hRSIWdRZyQSUauWQgE;uK^A3=IY!v2_f~?lavDTLR^l`QCTG3pcZ z0a=g^$SNCPHII>=7!Rm|4E58%?6cC2v7cBENWq3T0uRm_cP#IT{(utf;b~xvSq~j! zKCv8-KhOb*VgsDmvBD>&1L_Bc;b~wbS&tqod18Af3DSZ>V*@GYf7!>hI~8DEPJ_0| zivN#t%)C?Ptpnx21~Rh$h{udORo;f$Y0zX?ssFK#S$9goLNo&HZ;kzra7@2b3D(v$ zkmOdS#xJE`C-<= zd6MI^wk$b5YtDJZtc42@b7!ykVV2{(_s3_2FG0+ja~d(rVZje`XS@DzeBr!bkN?M` z9&Y&O)BIEj6O3<%ve>xcLAoC!0^8rD9K~g74%U%=gcG;oN zZuy*nIYD#c!30#BWZ(N;AkKt#x|x@lU4L_!v|Bvqz#PnpI!XHbjQ1GCk_(ZpOLr-j z@FTsJCiyHm6S?d{Ld%l7kXc1=volQ}0(t;5HpEvq@@w=^bl*_p_7$uZbv?#t?z?OiquM7rmh zj5FKMR79rU^nH2h&zKPa6CYhxa>o7)=FADj?i?STPspXqF$um0f%#po5Gtw^DLKBn z4g5>2y5C~D0c#xL6XE;6WyNR86!nT^FdKEre93%a3BkuBD!ML&5a@wX)j1H>T!~y) z=TF#h#qmn~m4GV+SAOn0*LT0~8W`{JAG`>NUcyw~&!Ic6^z@bW-ReUeTpxCkebJ*g zfp7=RK0WF~eNO)zblUV#Ujco@4Q;#jCV+1JyEnAEjk<1H_-$cExpR3^ z`88mSU)SEIV7K@;y7jn~y3TWpjY@urb#jYWChM?scrm`o&#()5ai371Qa;6f+IPEy zc8k_VYkjqwbWeo+eZwkVF|Q*o>GlKtb^VW_yFKnzW1Fz54KBR9&l3Rmx|_X+ot%EJ z9h-%Fz2Wc%Pu>yU{pXd>Tc0Q9J)rIWCuQrsMr{9vcN=zYI9bthgGhWb|8&Le4@B0= z6VWXfh=i5p(YL8LsCTKisrQqIe|q`T&`*OzA`HH7Wg(ao{Uv(ut=5;rtY2B06+|a^ z^va}_x#!LR{`5}Ba2heZpqm&7-?Q?;%7Sy7&z(~}R_z%>kEQ0e@`tw&IV3N5;>!GU zhtGL0LSkMeGhnOG>Q_`o_%(#zt5`3@n9ILP5S%$7a*xG>V%tv&9L7*CKoN9e*n;$b<#KQ-@aEPf-fYvy1Y;X^Ao&W z27H3gBrL1zYYD!a08N1I>PYC=_1C)1>$=t*S+}U}PHb;W;j55Go4;H&CRo-vud7`* zx9-NXr{m8EWH8@%wJ+iGI>);FI`_KU&z_GD0mSa0AcVd7%~j52&eh2T(>nXQpt@Vn zo{f|Bh5FnzX)(*smLJ5Yr9D|#Q=Y#xEpqvpsDsIA*yZla>zD6cJ`DOX&#H{7?Nt>~ zgE#YDKKwIn1aOH*mzPx8S7EA7D1Xf%=m;SXFQ+AJJP3U7a-~pNrF@l>r#r-d$P)gR z)(x=5h`@-A|65*MRi><0z64`Z56utF{3T=`Pi3?)gdFIpRtX)*YZ?^mg#P3W4UP@* z4FL@W4L`p)_u~GGYrv@|4GI7pNS-SEdDD)Do)={=ZoQBkB!&st0*|)|qlFJQd2edow7ub%7t+tYpNVwA*0-Fu*54K^zF7A0`qmYT zFO?a3mu#K4_yYRl`K_*tdGd1kZ8=XaM*s0a_2Ko0{u>{F!?#tmYTM$O#rrFp(CZCur}s?=+q`?DzO%S4( zF`uX(s9&g`sDCHV{G|J7`X>XC1>3O?QV2$Zf58mjns_=u*@@o&*dOJ%o`eY8w zTdvkqIpNI`KYc7Gv{}}wf24h6e58M5y8C^^JYpI72gbP?v9bAKl6qpa_3NPF%lB|| zxW$Q65wW(}4-jRF{J%i6^gWQ%RFcKH6cNz87dX=m1FDHX^1m8B7`}jR=(`uEhXXDs z1;AO?KyB@kAMDo8-UqJ8u-h^_3!!zS+WE{*M=afKmpLzUex_X}!2OEm6wRHQvvT%} z<9iU>ue(sZe_iyaopCN?4rK0pz;z`{QYBlmmjy4nY}Yq;`Rsw&L9=_oTvUN%+xv|G zLV&w?|ki{}Gd7TiTa zQBZUTsssJk>dmXWRv%e??)<@+fRFCmb zPgkB+pGGQzb6j<p7~&n$9P;>bN#E+v0iRdU&u&$7)KS8XKE5KCZ4NUIf1Juf?fkI%LkRwSaKZ}TaNlZ| zbq<54(t$g0LEEUk2v8v3?seeRlVzJ6zB#--ReNgS)P7)BpV#sz30r&{U3y$fmz{F; zkBWVnQtcX`jMb%_9$B{O*5^`<+`9 z7j(N>e_nq%G{)mjbxKo;%D;|FdL9U9oEUZ@J2w4JdrDU7YyZRk4cr-S;d9LM{O8cT zW?IZYaa->+ru6&2^WW)@s^H!r5Iv$RcpnHX4`ej=0)g;kd3H39dVzX{%A;OO9{B0m zPcMGzB@$p^`#k;z)88f0n{U;>9AG_V^{pT{g++TLd5l%Z0xITG$Uqt)JinU|7`Dgb zfydYCuIgQ?V%4UxwPRtq_56V?1Wuk;Sfa;7^|$I~r`4F}$uyDITJ>`(t-J9DzvrU;G3QUBeEk@1nwBcEWjt6T3k{x8vQBBHfnu=mSE_;~ndCtAhUTaB#% zPVvdV8rFMdB9PWZ&!S!0+SWJ>OzMpObrU=C8w?i=SA@N9CcJ1pw3@B0fL%G#pH#E^ z2e2BMUGPoSK7Texd-|9dMf3> zuN(h#Gde;RLLBD~R(9hpyx88d{%#yJ4jSJP*Af4h z?`GdF-y^=~E*^|+YuW$G|54DFOU5{hud{EhZ`nosvmeLr5;8;muUzVj`|MkFapGeA z#k^D`P-Xrj52few(;c_lb#+iI8FFv@K`|R#`rhdOZbqzMgEv|eI9-HQtSiW~D zHWFySJ;_+?la&XRc}kp;8THG@J0Bl@?6{c>I0>96V4K^F+aG7MqMm%b@sXdiJEVOD zE*w`Ku+DApY&vjbl69H76o63Ry7#mPjBeQE_Ra0>+1j%MXZHi!dbbWoZQp`x4Co0c z-EeAU%A(s9d*najhbV_w@RKW(&$UGFx%Ff6&`&>7)5q?qnCFh3YgpL@pE?9P1S=37 z5*08GjSTMI z$cMUze|v5Iadl>+O>FZ%=1=bb@7mwT{*5&p^Z(_Et@cT{^Z$8!@2DoasBct7MX3+c zyHr6SNUwrOCv>F~kS33y)S*cePlBZc02p*`OVIrb7qKj`10}6&%ehLb7=OK)0g#sH^NO$7kB>#KkEj&^Bcea zI{z&S|N8mwPP3}jP`IgIOZe%@vgPrQ{eYIkzuS8~FHS#i?)6Octe;Yq09zjw`H8vX zPp7*^G&xw+>5pBiQ}0T*XnWTFp4B*WMrpq&V&Q7mW<&!ORpRY1{fFlsCMxUS4*PWO z_U)^=Cbuq~NhLeO`TnfNjKi5*#PDmrf*CI|_+OCzT9j|PzT}3$3tdb)IFQoyN$1b_ zq@Vuc1^-8V$&80D6f&Gie^JW$KKS=__w!cR2BP#^N5Wm@RL&2V8P3O(Ek~^0dQ{8< zUZ%YaorlRzBKmG!=aVPS;S;}MV`Euf*z%6LG=bliwP@FhGrm-ID z@?B$H#xFBhb*Wn>y)z!OwOx?LXh^lTt5d#ugEk~Dm?=x}c#Nw^3A@-fMs|_a@j0Do zqU4}Fz5bt6;mV-*PK7u6MSYc*S;vCw|L$%V{_N44E?X??u7?T zf!Ny#qHo`uj)=Ct)2pr9jn;Lq1C96BAM;|b(Smthzd3ClwtV(iTHh{2`TuZg2;Ehh z59OA}rS>O3_nDL!D)7R@7%Kec<34)N>RPZ>GZsRiTtRuE1#&|1A{MqgEuOZ%*jA7I zS=!1IT&0c2(MQeztnVBd?ae>m=#6e}DZ3@7n>-lYtLE3!el0|7aL)XoFE=>SL@}{Y z*pvJ}=Nmu&_aeN3@`63jdQUd&d^=BT6#`H z`bOjjni~ocY52xl{Zv|&#(KSX8-M+CCf($$C^pzO+w3j57w3pi`6r&xw_1&EM0|Z1t0_W~+X)-l8V|>K@fp8JmF#fRCc(8nqIG(en{ZA?IYsq?&KxD(Ho0@L-G zMr6q;d}3PNSdg=LpYa+i?aTd-`(~f*CF_P!(c#wvSnmr3D7+O3P#6^sQ1~>Q)Sm}F z2E(X`qs)$Tf2(E~Z(I)$pb-fWz+@r&iZYRXM#B}w=IwI}GRt8x?3wH-!CCAn&BICB zEk5*{w9A6?kC*G;-5f?e+sNvm$Qni^MS+j>vMIXS_WEg+?do`-V5#9jocdC3?9`XJ zJbCHvxaXCpr{yKyhVNttR^cydvYq_mYhx>zP-JD5dQa z`-CtOBSs&J~neqEpx`>Lg$n2n*s|lQPi1(Q)vu$4^ zYA@FhjSQnwJhM8uGP3gGC6_B5n|xBiiPV1SBUh@^&h8!KBe$rz z?D5`W7#mxg)p7aRF!t#W@V~fF0R3t0j6s_o_$6s$4@KGQa-2t5dC3#Q202Bp!-*wD zTT}-JE1y}cnWdb&q(8A(YfCwYwt(XRDd(HJqb$}{QqCuppE#_iqy#qp+^1Py(Em6R z{X#uR@y?&OkA4|*jb(Nc3KTL|fcTCF*C9unl?wA8K;#2Lj*Y}=w^FhAPT~L};ISv* z45yA&WG0r3)lePG43DrJa*U*owd}B}7nQO8Ihf9t*lvHpQv;I)wQ)E$H02AUaFd;HGWlmcbhlMqJ z-yX+V^YY<(QFXfUq3MO8_d&IWGf!(JvQ2YbJw(qUu0jVlbm8 z0&$1{_?);MzzC~abXinj6sLE;+o>N?0}f~bSFk#;^p2fGG`Fn@RRBSR}^F*4_^DNEFKuY79MX}yJpfXbih@I=Rw~y5a zY+~IQJ$Xif*t;RV^&h$FKuTgRAX-S`@JQFKID)(w!O&*gQSD z+o{>63kW&0PR$#&feBuQ;NbW5S>8{^#HLLnMsZ4W@acIOXccHYF!Jv6bvq_Svrf@( z;6ruinI+R{-J;7!MV5;peX53$bukS0$o>YiIisA&WAI=_Q%lUk#)h(}>nr*Q%)7;)yi3znWazJh$Yh{`HQy@rS^ZR6m)A65XatHlk}H zE)oP|5+Uj&VftmCY2@*UO`^X{_dpY2J;9`Iu+{SG+~L5!b&}`ny8d4SZFfk-(A$CM zSM=U5cEop6Xze#}mPZRMakoZ zOW-Y%iti7}Pj^Ww*mf#ykV4(CJw%iNNpjH0LG_ZjtkYffv)C$0T>Fm-A33XAh(h|` zAca6AV5pF_n-Ry3SwW-HxC`)FjkIpp!*eQww!iIex36kSu0uN=&Y zDuB8aylQ|t4YqNaMJ?wI$HsVt=#V-HeW7y1GP&K^GIDfGJw@YZph#_znX6!b7-%M+y7ebIjGm zSG^sOut;Mb;?ad;h*ji95tWEn3ELb+r?#tQM9=uN#noGtuX@kHJ0dsqk~}XMj>|Ok zay4Z$Uc$7z>b(s|iEP@)bTbAP)dgSRs#rrs{Db;SAzI3woq%==Y2SZ>5MWM0S1j}D z=cG}#sA(h8C-;5O2Cg48DGP2gv%Scs9Dg-7ph;4dL-``OuDO5Id|EHYoPekKwdg3* zZ5yKVwIJad?y)aj#oE}w71%*ULMzErzz|bW_udYElNF10snd{UHDA0U)19>+JKA_9 zyrQ{5BVXSpt^!)KaI9mS(+km`>bzo<-cqL#S^r2N8_j7Ohy1c{UK&#uEMSd)Y*AWR zA1>g7i+**xiEZwB$nBga3L|vIt9KiCNplAUR`Uf(nQpWF%+W>)qlsw?2eB7#DMWBz z8{RFuh170x!@tbFX@6~^Si^lc=gA?=Urz+Ee0IkfTf0ex+PFTWH`PNSf{$KappfZS z4$;a9;tuJ*`fQ2g9` z;1h9NXds+A*F#Sk9VX8FVPkFk+`-L4ldC;*Qj|aUR4B^1J_x5O@-*C9jaiH=flF_# zQaeRV^6Z|gG3vZv+WPMW)3Hfror31>TdPF|7u5YsA|{ar7fiKfm~}#TbRs5EVi!zP zT9|YSzM5a%u?g-oMp<0lnO!(nL#9MouCjhT6@J}uYxScMMfvEuSn6SO!@X*RSn6ZH z;#;fV9G;oZC5vXlay7=Q3qNnyWZa>s2rIOdziYv)*HvH_`{h`{nV~dEwdm9B@@hZh z*o&w6J`_ZS@Q|QqmYU|av95TkXKj(Ama#VY^=I;$D`Fam0`u5VXy;j*?W>&Ibpk)` z#v0+-C|~E-*ZgCImSN_7K}fqjInlyU8dKl$&j{{21(Dw>m}d~fDXNiA@ZwP^T@%%i zMOpCdV*HpLsj%0c#bS1t7S)@&Z;Mv0iN9Zh$ey*udRWp)!)cnhO62v($6ooiPls@( z@i%fGI?~;S9%u#@A-XP6;w9r7V-U@k%5cU{&!7zHX3IuI-i0(R@~&4(F)W-@bfOD^ zc6lLmP(rG16{7<)DwJ-t%Eq35EL4v1Bf`pVben#N;Yv`lI@$yII7XB8G`{;@2ry>wjkh=7QEEc)fnd3Ka1U2^&kql4hk zl>Jk3+{O6Kgh=M~Q*l3L$tHiT# zonsJ9-W|~~`>pupc6aaB%APU|BfekZ#gdiUfj_oiY(&TIv^WMOTic6{8LD>)Ld&> z=<3fr;`^!4F(_;rxD`8!Uk-8!f2~}_A;k4q#Y%KcKs)=x)`#*dK{Vh7evJE$-p_U? zw>V`_eUY@4M7)6d7&G!`yW{;hWus5m)l^m#s?Lx37H;X?uru(zEbCQBEwCTCWor@n z1=_vx1|5V1m%0#5dHhQ8Uls9yo+wh zp7(*@Ua1ps7w@ZrI0Y;X1KQ3Tq5ZP2zNoJ~zXM?fa3yQPeUk9(6=mJ87Ll)^6M@(X z>dbjQxbKSdM3U%$9b9gjSb{`oW+EyWxYH}L9VJlK!dz8I@c~VUwPGA6i9{RZm{IIR z3Rf|tpqH~8rLDY$Z$r_hokkWG@z0=L)Af?AY)6Iy^Y}BUP~q7!ccFohCWDG^22+;t zlpyAXGIxX~Gq&E;8Pk&K$c%Cq9<6d0c@|UG#V~|d)RV{|cnNa>U=Lh^>rLBmFw#4* zzKWq4{}}l?s;+^dAAg8kC}tNLuz{i~J`}TCMc;?ZC8_=l82hk3goIt>^|Gy_UqBCB z0-qqdsCufIbzB<9U9uN0q0Ct;Czdl8!r)HHV|@$Ti}VF0RG#BsvKF)ygIRNNoh~fJ z6T`;Z7WUCoc(&miNe}O^zD3JqFKEM+l9S^yISc<_>m~Io+=cti;jfa%x2DXauQ%;V zcIr);M6cm!auz(`QOWHIzpTDnQ>bVfxKPp-Ib{pIqNVwG5HD1itWSq{_f+ zWjjfsOch3}4@9(uQF;n?yhyPje)x^gjBbuya>JM7tg`2bW{%&G)v`{-i0}|66tujr z_t{>70#CIZ7*Su(VS%0=d7Uy)?)Ym=ee6;v#?ERxNfe=i4S*OzfvjB_G}UO@%R@)f@tINBlX@;B|NJIN#X z$0M(^>l!$UULJ@H`M?oA%9?VP$@Wr< z)|Z?s`zUL6Rb$FBV(-hb**zYV?}gp*-!FTG;B1QXIBSv3LZJQWntMa92b@e{dn=&r zoC-Wj0o5GT-V#IwT<}Nl+?@}BXDI?d9A5Xb{cL~X7l!)oJP+JQkyyy0%IgY(FO?SznCn{Lyi;;5kVlv?uoyT3+#`SYtdas5PS6J?qjY!Q`=cEJ^G2<)^YdLIBi$P%hTHoPBkJH0OP0?~XW58rg% zTkEsEfF4LQF+I0OPrp>^?xGxI1f)o^71n$>$#dr+%!9Th4-D0Z)YZvjkAbfzrh zm`Sd$!@u+%mj5t|0|2_7W;A6Tw*s>7sB9H1AUp1NcM$+63joL}P8JY4C2RE>WGEv6 z5`f~&oI|q$&B4(1#q8DZUqMk>BmhygL%L?)ssNEQQE}Hn%*u^X#ca#s*)oJT3k29@ zOvg*s8XM)9J>!xIH?!2rv3Pb3jOZX*P(lH~aXq9Qm`+2p*Vjo_63~uWEJo(;f;vfA zf6DUN5Kvy=g@0ZD7wUL94yH)4dP~=xk?Ri7MmzsDyM*?;yAVp!)|s+;cGKwh({`QkCP z#MIm#x5VO+y66N%E!z-Cnv*QbPR76bpmxwpQC)@u^7|5q{A@2HiR=9Gulbfmk{Z{g znuh44`Vuy65Ui6R%1MUH81U^U`_kMjasFmYvB0H%mHVr~6EGxE3KcA)4{?48R0m!> z%Gc_&GJu?F+|QycxxR|60i3=;>85VChhUCL-1v(xP1NNqlhoZ#-EL$dYA)J*IsP(F z4rj96O{@4iZzdBi)0T|rx)=b=)KpRTsi`0<85|ft${qj5tx@x{J#}}P)MRmfef>po zpws89=t(V0B3OZ`P=$MSAClxcuKxAKfR}(h1&)mMTWc@=21Kgfly#KSBp6YIq+PyN z-A4)7UW_PLYFU!@1Hk@JwN}%&MRHPD*Km=Yqz!N+V`(5~83l0EqEmu=sTq~qV;usL z%vAfq)SXxdj%>k~c>-xRi<#i)C&uNAV-bmMm}8O90=yAxz>#QGZSBAvaFnLM@=CJ{ zaJIpj7?6act(9wlHzz!sI~{;$LJAm`H_yXDY!`$zzyg1@)*!hCKxzR%GD!eH`m)Fi zk6Ql=oS^}bn5>|iErI%fYZwk%>yAYH#pV6gsRx6{=d zMWQV<9l*!JIe1%f9}HFkK)@-9Z(4065u;TjwNcuDNCrOoZDCkZ8F-}O!*%+3fs)lP zArtQR++fN$hLhwhzy3814d9S~#3_mM|59QFh>PtDp0A<|NKU{U`t{*tMdf1Pq^Fvk z%&(CY38+SX&kd*U#2k?#afQ1TpMyvir~$hz&7+a#@6V!?8+tb-FtMy0Uxmsh8FjTD zUSoI4Jmj5@^-WY774p-Hr@K$%6lt=WbeC_|x$~n|jS?oYEsj{pR&lB$x2Q6h=aH$% z-yi$esZ&9#Mq4uJhUDzIvPl6eEsp!056dR6DQJ~T+0~n@W-9ZYz7IUmsgia$!5M*@yuxr~0NTNzx9yOG%QtsBGtV zf`jZ%>4&1zPgO{ws*2~v?*r-eO&cn5H%qO<1#5m_^xJZYmAU0%NVx@nkn40sME}#j zFLzwiA0sB7o*T5emkuLFo}Rd!yeRJ;k#IP-w47T$IwG||o0#L7{AORz@V#=sIJSl`t3?Tbxr(x9Gi^BNo*o2kT~I7vI~-fN{;D@Zzi73 zNzF=ROqQVpLrO`mF&^|jEF0yzs}o%G)}&b!e0P6W0TRu><5qO}@}QDaI@~h%G=(HO zQM~ugbWq7PUD1F1X%EOx_GABY)|?x&Ld}ycy7%9+cqUq{{&1EuB#9K|1`-7l<@!W- zJYKRIRRazz_c<|v)$^s*>Kr7+n<$4B_4A5m{cFB9Cc5KQ$+|i}d#-tM!0P@RlJcSa zP$K`}hzznI-&N~5@y};dappW?gmw7+nmp?JqK=(z&68t(_my9MEwWnuw}Z9EMLEZ6 z^+5xx+92igiu$jg{@^br|d?al%v|4h8{0i~5CBv3d+D-Oqm9J(3tOc_@WM%{?0A7*u+Yeb_ye zSU^%9-H=(518ElB2`geX1ZmEOd*%{bL7I^#s`my(L7KBedy84aL3((PBGQY$zG>rUajR+w8>MadEVl*yT~o=L><0h z4gj4Nsu6wR?_H9oIDN|dH)hWztcx^>eyb-rU{+wtcj~lFSeN=EdPB;tTXUCvfT{C8 z-<%gIJwT=t)>T(U+l*eRCakNkGaYj;wTm`!6Rqz#cRtbF70A61^X0Jl!)f_!Bs6H_ znii@Tbs^l8G**@Y)A9SjJh3Lv2XBhAiEpi)|6-i`+}%#BoVh0+_E9IcPVgSRKrzkK zlH!mNW6F2w>|&apdt+_C*S#{KZ$_UQHqzT04hNI;oXehciuI+p*qM9aMUhc4As|fiW>) zkoTxEjMDBuM^$GjD{ssyB&?TR6x#>d=F>(=Zx(F^*vTF3H;U9?UBthfcitbc~B7sS4FKagV%l9DJS(;#?+ z;b->&^}}Gd>Z9x%5L!m4TRe4+MBBw6Rk zO>craBs(o9_q{Qe`1ZT=-x=rrGPjdyXKw7neot11I(kCAA~CCw zx4uOF$O~|CPL6eyX2DbuM~D1Mzi!O3bgXY={Qd?KgxWn2_CJm$3Vw6xDRPUs^Gda2 z{b*u6(1t|(o%sEHAaLUMAC9a2$*LqrD`#K$gHm+CKM0ZP5`zLt%G@7bmyyhruYG7< zx<5G5I48! zp6shzmpGPQHIMj4UsU=8=C&NvFQ_#8pC?YX-=HIU`+fO9J%e+vh7`&_pZ!5G`u%2P zD;DL?0*X*sT>U^YsKwI~#f1sq(nbT1)~n0ho0p8Bqu+rA_1NSh9L+Zga37d#4XgV< zEK_$6i*VLHqsi&L)&|-oZa!udY;b88V0Mlup$G zz9(}}`Z6iiS1CDZGopGp_r?oamdxO@O5IgTu0wuMl>c2!lGnTkoJPY@&c1w06_rl* zz}bo8#<+mexQ^Ut1P#nUeyT0k7vYXK<*Y8wTkmCprOE9|@>Y8TAUutJNgm;r0xFs; zygYBIcLaJt6M}5*jra&z(PW}slp0?kh9bzIcAET>5#M<>ID}jeAJ5sAQ2!|+2S-H{ zqHgiKmmgLn*Tad@%;>rX%x^#l^6ttl#T#je`CAeNzj_7X=VZU39hzGTzjQ^r}ZdYkj8P!2%kKy#Xr;LgrbH~vrG)52_$;Qx}-t&~O zA$gc~z^8~W5Q?U*N@?L1JF1ne3%bS$ZfU)*rVuj8sG%;J<0QfxvZ9F{1up?CE4ev( zN6CvFYeimI!R|FL1^d$2s>$Jc^S(1|E(DDD~&;n#Ub&33M{oO*1;yor?_i)D#H+ci{I}pVa03N7_0o) ziRprUk%E!96kMmF?QLc+-aJEJUM*%{M{!ga{Wbho1&QeTzBmDhy&x9z$Y=2~{Mj%> zXA1Xz0J13nw?IENo_ci9r%cEw5k27oLtBm3k;{G&o+F&oH=TSs& z1wAr+ir-ZtvY`RqDu-STrZ-$K zS@T~!kJY`Vh2D{W{e+N7e-^g8c6vMDd)yulZ1JZO66v?_hXtDx1%8fl*eCQGm;&F$ zbFkVqu+Oys?##<6Q^u2gO2E3!vovQX+YjYP|30ML=ra@~j5tp4h@@PZsDN*zcr;OR z!P3lJm3gc0ykUrWv@DPC&K9O(o`HOA17i^r&jN5vZ8stjBhM6|X+#^&$M&0U&e}T( zSeZFYJ!j+HL)eiyA96vg7fZEm%A#5*`|+!`&oy1W`_xSKv)Dvr4s(#8B_`-9;&jf zE?e_kFoLR3pyG@@E5ePo-AJmRdu9zcBOaEqdo9SozKCNTIovyHh;OF4gdIQF1(nUn zYvlYKw1Oo(^Z|&=ay|0dZSbZu`{da3a$&_tzop0UM~}Pcigs^W>|Hs#3S_`iFpT%G z)y`Sa62NlE5h_QZrK{L;a)2aKbm`ifU$78FDMSPto z3;L2Qa4)f7C3G}N7-Ete#;X>=1(>j#o z2s6paqJR6971V!8Qh`G~$}uhNCK|1CNlLiy*uXTx6Lx#FUz@iKmPd{PPt)P8gr$?S zD_(<^dZ3}1w)pyyq;oL6$HVe9ehd^_AiQB8o7ib5f__;!6T0UNBgq z2=SRx6?<3Qf1)Coh`>VPh~kmWMJ8CmZXYMv75LO6f*A!_*(H{b?DA$HhA72R^~@c( zKb>HIzMFYvf-zVkrT!BoZ9!i`4E|-8yrIR)KoG7;ilrn+ zH8Y1-{=kDhjgC$ht=6FgDws)p9SZLHx6*y5G{d8aIjZxY@m~X$)igAN&x!+=z4>oDx5bm&Ik==#Iuq5|O z9F@up=qUPYAwQK6BUj>rqGAVa7KGp?RBj!5r6T6lRSSNpv!OnblcBn3lc2Q_T(SG+ zLO8@8+LrB+LCXl`g?_s|h3glAY(hb~`4}S%{RkDRa^GD@fs{hQ4onX19OgICK@ycf z>jDLbe$$^??LP~Ls^pirZ!NIFCn}kkmLo4_>{)KR(zVS6c353SAAH@ZU&hjL6Ux`N z7dD`wkp0~Hk(fB>T8L2P+O7jVR+sxb{&5JdOlevDI;w$I6RHXY`|@Kk%=poL(BSmY zT1*t|l%#s}#{9sK9&Db&7SsN%U|$$AgZNH_irJTkv|xVK-H9aPk~FG`n;tiKkY<## zIK+(;+$SodUUJ)mLgA#0%H?*)RUW>MKwwi=aFs{I3#e%Bp0d29AvaiG_3MP#W?2$q zB*hMXsA`JyIsQ;KvQrj;7)$9vFCP&VP_MZyFj)t$<45O*9zkEil#v!IL#_~$YJG9@ z(d+clWw0A$r&?G-x$hlsxaGuw`jlb|KUV#UezoPqjf&#_Tk-=pv<&5eA3toJPHBOX z!juhKzoZ!9bC25+Jvz8Y@VO`ZH?fAQg{421hps`v$2yhnM7|i02JRi`RoENM@2#?! z`p+py{O-}~#CmMXdF)x$!t%AvB_~)tEU`jqeaIB%3ww`OJlPk)N~o%ouKiiM0@H^% zPxu|tl_}we>|iccLrlRRCn{6}Hxg%f1RgcnTDlBNg@FcVV`u4LQj(Up~0rJ;R1FJtGD=ox@ckX|Be3*q*V1gwH<33!dL(LAjmb9yg%5 zCylZ`lYpzd_)jU4cHRWWpY1ftq3iX;|2p58ijaD86&rbGciiQIS0qB|i3y}|R%rEpKnqKuOmfn8IhD_dYilH|M z`a$*_ImPiL&%^Z$E&4abJSTkfY+|wdW$@_H>=|3=)!Fs(AI!ZH@Y^$C>aD6zrlH?w z8y^p0wg=F5Cdm44i4kC7+)!UZa{HgNDupCe({Oae%I!`%t__(`y(Y`Q$!a zct#O#c;UteE$^jrR}3!=2hY|<{W+DB5!!fm4JZ+R7I$hFUg3D$ z1I$LJ0B3u$xU;H|DRXZMuNKr0ddGM+z=(D@c=Lr?kZK`a=H9R7$UiEfhQ_naW7ISS zNSfi`g9Ei7`<|;p8${*{%O_#x#o{@RTT%bhU-LMylG)D*ZKX@}eCw2enI+9G{M-_wH(ab@}npBCp^Tt2_d zffN#2v3XOR9~^gnSy^9HXvKL^O+obzcc!n5dz8=YeU$O&!VFX9mIAe!LTfXR&`OZ( z#pV35-)ahfn}vl|A_-K(K_#En6tv$6$V1)0Su)}Ba8UUxHHE4-VnQo9xsg8g`0nET zfbU>bW7_k}A$NU^M-6^o8V-6{pr+uu03yKOw`@*8C1)lD^pp`Cw?M*~{UFV9RZ zsVUIDl@nTdUr054@cL_UzDTg5(8}lC3(Fkeo7EJGzA|O{x{qC0R{jBI;~NZuoBJN+ zgCJCZ3@QDS=?gWSk0G6|8EmbZLP`J#ZrhG>_@Jv_O<`(J%XsvN^YXAlZyCtZH`Yww zD9^Qnv6LvM$ER!D^q+@zj#pI5kz?Uu`dzgvJ%_fKts+9`&A)hf=eX*~cq|;wczik$ zTDPK#N-6vc6|Ei^1?U0p*!FSN+83Zp33LtD4vhA)fH;(-TehN#Wd+>siLIh~d!V}k zTq)H8ZVC`nW?Z@XV~+& z(u19))O{L6`S|xf-GBCTb~-+64bEXo4|dy9_wjtBrbBowM)9%hZC&b&uMJ0f zu;(;SJ9(=#|K6g{Z670#ARWTz<>;SW*q5m@wIh@ZAtyr)_Vnq&0S7$oF%~T8!9fE& z?Nt_6(u0Ftc-n_7z?h-YsWV%(z-P~D>I_*O^~bJWICX|z8U#=*z`u9t6;HdxzqB83 zs%z^IIN{qqv}k$|5pWfMnmS`c_4Fr~lMw$NTMGy%@#)W5CsF>rt4loX%vRj#!RhWG zXdjdg!DJRpA&Z))-L;*Ee-9xCLj3icr#+`#n14@tgX&|~=g%OVb}*hIySmTVR$=PQ z(F|L9aPg1ZKH_hHlEwz*$1XH5(LTJTL&%bi`B{ihPMuN0vZe=D)5b&-Dx!ZDt`a~* zSTNnXl<1#!?noU%y9$_LL$JCJ?e53anS@8wA8$@qftdX5bqHt`_VnPEMzix z5{-6_EsDZP7_J0(ZvY^*2WSnj{y)m7BEXp=akNON-u_?Z2H?jE_z9cbD)PAXzn&FH z9B_qrkS?MHhxPy!UeUerF-lr2l6K_g4&^%^&(OP;gx4uFBVD`YjWfPI@}hgQLr<5v zj=wd|BpA_*+&mZoN@2E^1hhR}cJPj{L%XZ0is&BU8c;g@;?SN`#Fia=m;sc+eJlw? zqst>*r*9f(wt5hvd#6>=6|}u?8n-X#&?1YTkJ)J&(X@aW%_BhEKG}xyTC+c&A1o(NOB9cbJuX-j;`4&M_6V?=X$qnjbDBi=Hk! z;PX=1vsEZ+-(f6x#1mbPgX%7q#i%A9H*Px!0q4<+joS}|E+glnn;N&hg=mrXhC=)nHe!4@#tcQgq|? z^tXSqyV=?MF)>TKjoZuL7_wD31EMQDhki9~6Te-_?&eBzz;AgQSssQxq(*Y5K61cQ zVt^9Q-m?nN55R;j=&JIhk%DNbmjBa=jSr)Z+dM(?%9A<#qM>^JF%_O43mdm3f}}-5 z4Xi6VOyu$>zfY~&5g5X4d zJK!h&m|7mb<+z08&arrhnW_L&x3i;0&gG~(;K{bYRNryXAd8;MfgJtPu{`|1L5;M3 zG1~YTdoLVdH;fb1R(n$Iw#X^`dpr|p0We1Y_>^{{M`iqf;0@D~s%{N{<`4e`n(8yxbZDs|_|y>qusVAG6lJ>lGKE4BvRxr)oV+YYdG)ar<|Nrs9+hBW?%v{iuGT4tqgQPr9Z{z%#^L&bPP8c&&3uUk}|Cyi&9QO{5@m6E}WRLFUlg;w5wfC+F* z77VTa^*}weMjC%d#y+Flj8Yo!)S|<_N?EI0R6CHn-8KBRoc61!!J*^wznE+8&jdr8 zePr-uEqWQ<){1x6+6bJpl%npJEhtXEjc)t5z${U`eGE|%l4GxprrSa;&(9wtK4=`1qz&x9Z z1w%jG{%&l4*WfT;QyL%4G*M1#eLJK3-<{lTU7K3nxi@|wHys8U-ELsY&2QB*y4~4j z@csTBf}zv0z{_uh!C|Jy*K$=nlfhxStQ#g}o6F!Zb+%UbFZxmLHs>Qu`5Z1ZcbgSk zuN#gg2f6uPr>lzQ%-yEL*698nkCDN%AI1uv+zxQZT!T^sPt>@-L?1@FVQ9B68yr3% zd@29Cl99W8^6*Rf+{#4m_CbhN#%bZ08)mB6AS0}B>;Y!Tw@2_q$$qlj)3rnJMA05o zZnSci`lafMNbdHsa<#7Ns09c(NGIboui=4ls2r_3#&gTS;P4?Ay1eI?iNT?pKWHcR z-WLA-)EcmTymF{izoM!t2LqCPzJr82fMo(1z}^3=8Nps7p_T+dVIWo^bsD5gK%9j6 zSAc5)#5(}Odr2fLlSU~3#0kmh|5j^oC6KB$TtqS=eHSzUF?E8D>c<5-Jf8wD?+M>n zg3jEBG&($Ukb}mdMsmDP_y=@aNp~t8o;=7~-atXJQnQ?UX@?Hq zFE7J;!d#_UzTx;-<4|lCC?!boV(h)|YaCv`uTfsKSQoo(l24y@8n?xZk&}?(J-M=? z?Zvs`sdm1>=afm)c!0C_f4zydgKEr zh_2JHRWMQ!j=XdcN5S`RsYvp?7My-*wpb*gSHps?Zw!jQM5wBbzo&@uJFks%<7*se z<=cNY%Fss!Wna3FvEq~0b4}^hT1mW@I?AXfRd6kmO40MYXW9Xu*Z2iKmeKHU{0x0G zieiz|P}-$r^Z+k-rIeRN&4Rm69dhS;j%-ClEEg>iAa6;2OqBV z2SY>(q5cx0_ypP} zvC=(xUION%s}8Te?|L2!(P|f?Z(ixsggW>F^F55tC*Zk~=GEcsOQn#J#*JtX&-20f z!o;h2^)ituxWeSChI{(wo$!T8U`6ijrEK&~W;I&u>7`Y?T_Sjz_hw`j&My9*0yg53 zN=2|hWD7*j*OpKCa%mUM8Gkj0&~nKT&6zxJ4$JYiMG|z*k6}2Iz&c|UKpW^ojP{ZN z0qS(s8maE009Fl2{ci-|Vo6}E2C)0z7KA`gf-m006G+c2oN8V z3NWer@FbOQLqLQ9ZZ~LY2z9_n6&T4C1EVpL5x6P{7C;=W=`Duc6jH=#X*d)siN}Y* zX(lrU{tgUN=%n~XGZ<}h7cHPkB*PAvJgn&8kFSB8%D|E}hbA@F#RRNoBjO)H7FrTX z2!Z%1{Ghgpwj59VS-7_B-_ksmfg~uSG%(7;hd~e)HaXVMVH!ArrnDsrJlq(xag~}5 zCCHRTW;m}j@QH^OgB1S0mUkwCkAfXrCv*}2O9QPhCmv4)e-fJI&EtL+<)OyV-%e-A zFhHZIA(7|d%`k*(D)T~%B{`l)88XnKU&T5iP#)m3VW zJOW-63V{SnY;RdG4S2xuLcbf zwQN7u;}L^5>}Qf#(IFNOc7n8DCwize+=ST6s;fF~#yi6XCd!%t77QbJS#6>)He2W` zMn=n90ejPAy{tnn-WGmjl3(f`zi190m9|BC1T&0bZn6x3XGMins(#REl3_=MOmSSv zrAdS|A@hmf$%~ZmO_PVk!P4gRwZ#+gLUzT$g7LRu z*RuWida-yVTwwxlmPa_lZ%ACrM1P8FU{l=m- zE-npl;QNvKu#d~ z0D2(NsT~kXbr!CXNG#1`>gR&DS(q?bhW;Z+%JCBVbE3nW!^M~38Hkg)Nd7vrp5oGp6TID<%DZ;`i5+kj(!N|v#6BX(5dHx+pyPA ztz%$1LOj|9a(Bd)h{To@*58PBh8I~1OGV-w6i`-FMHsX9joG9B^e;nZ66-K^Bh+sR6GG1p?8o_&SNY(&nK}g#xMQi;5Oh!cZa0cU-4LUFFu$<^|M^Xlkg0 zWpLtwgt8HH98VE~ss912LB)<=b!v@#m=L%Hk815nx0 zekwvZSqMAeomkSrpWFpGEq$m&CNJ^9Ba5*UNeND(*eq{l-JB~!k}%PGd)y$ltdOuO zpN$q;Um7et%A zCtfMwNj8OF%8!nl4ZVI*FPr=k8kD!Ilo~KGbd6h5Qgr9A!L57SB3Ba2qDC2GB1Y-8 zRSV>jJMhQew%W{z;E@bt4l~G_Lv>tp@tYoVg41;rZ?ZbH<2^b4Drrd@_Va#N)*+Vs z09soLEbvh0@PpWwSc*GtCJVv_-ZMG@795`AkCOW}S_P7e@N7$MMTA26$_Xs{5FPx; z+Y*<%xc`jMEzec_gKJ11CSQ`*o8pK`^3djpf|Qp2tqhh=rh>H>0~0&~IB4LT-c&29 z9}fTJP{LU+J~!CY;26T~4la}iOD5Anue_Bt_8<;ld|}*@Jhs_85chpizKGB+?~neS z!k0l9kcV;Kmp0Mhm7EI@`QkT&Jw1*sJk21H3tQ`b9!E1E5l?85-yP>ncH+V2d3PEG z@F)L+MayeV{C{H^;sywxA~nJ>q(*>L!<_)sRY*1b4j>Fkt?>&`%)5X%lysB$0C2lO zk5Ug7OJGk@mthVFu*OlfMrtmCfq0a3`D6eiGGKH9Rs^yCcZtLDT+sxzQE`Na#yMeV zMPOV@P7*u`!YsIX0b6}uc09=tJThW>ZfpXTe@g``a5=w{Jr6u+^7DLsX@_V8Gj348 zSSP^coISdN--{f(f8G=?$Uklv;CF5SqNm@_^)NjbfH5$UbP|GrL0BMqpCC>ZD#abRpgWHLA)D#{?U%&jyapfO>v z8e%}45D<8AfJP=oOqdLfh$)DPAd@Z146#XtBt&G0Dc+WZv`Hg(SKo8jS-;coI_Io) z?^^f#k)>_pjwQ~=9jtPQV0@V`x-?_FPu(eE2 zZF##2r52aBCMBw`|M?!lYlUCpF|ee+Q|;X29uLebuL53q8|IbMfmhbXymC75%4(Qb zP6u9j74XX1z$<%TUU?Pp$|rzV&Tj=?c@^-=$1$(G0(fO@;FYz3SH9Z{yz(mGm9>Fa z_5@zp4S3~y2Y^>j2VQx_g@G^Hz$eWqqxawkmjM`gj_BP@zivqBT2K=$Z7R4%q zis0hbkd`F1Ei|V2axEVC!Zhx`S}j^~)P5S|l^xLKQCD3`gp7&Hc^_9@96Im%qf=EE7WI&`V4wPKxvVvU7I#=`|(*ydeNV0x6wTzw5J-PpIx@D z&%b$iPhbAc#JxN8DqZLI^;IsujSGvTC2!Qpsl0pau->uC!}kw&p1=a7VM|kA6H~w7 zrbtpD>hOsY8YhlK`t@*m`u>kp;HlU>%WPj9VG526Px~R+HV(_>-Z>j5!m0=GaK6o$ zj&046N5n^QiR)3B-r`MtpGRcUg^{XVgmXDZL|r4(8<0Qs7H<`we6)pdCg;9z`^dBg z@0 zhHN1(!OaU_N%Nl;MIX7!Zp!&NL-`X>AqR!(pm5`uvfKQrJWu)C_!A?@Yy<&MKmZp6JnxAK zM;7cUmuv6%q=oQGMn$ue(q;5i52Z-&gLEDJv`3*pZ&IpDCwXWI?|(@AjvnJNM0^+D z@-1f{?Ip=PK4lfhiguOsBwn$K<3KYdo{t~96<0hI0bjJoWyO^b(O^yc(Cgw~hBhLp z_V{$i?`Z8L)sK7BA)*IIp!wTOIC9z^f8B8_&4_gL;~ss^E}EEFnxN3)7}LIo>Gnyl zl6q#;L*yldR@v(q^4DeLzLFagcZUXG?Rdp{$lJqK=+RrPi4K>Pb(WS5?S{kb-?htn zXEuhEmt5>9y*D%uC&bU*5El3vzpXYTcze7QZJ)Y3LH#gn zU~5DB4c1C-P@yqHmY zhqE?>_rgIqJ1JA4r-s=I^gcA<)%R=6>t)5=%YJklX*Ad$~hjeW^ztz(%V``!pj%zHr&5B zIC$lJ>}5y0dRH zo|IXmB`@M(cCt;otVgVYBqx{NV18F`3}=5f5h$jb9MRh^#ydjq2UsGL$>yD*MFDD% zUl>_H|1Hi89ea@?qW6h)k(^{dqV43!8t6orh{*Vuv>jb|k=n^CD$HY=){nx=lUY~w zf8qQNA54DIG4erYB0gDi-SmUZg8oZDc!+(ypPgm>rm3kWTZ^}G>n+~Y8e04&hC&Jg zvTEPe;t9mCJ0$s3k`vnY;%h6uB)}Zaf8ii7=n+#8QF7=_vQ>Q&Oqj)w&ZsUMqEa2-u4$G6>*e zJ-h<}%qwAC=fnH|fE`rKTSv^#E~AGXWC~_=r6%-)2X_ecHa=U+sd_*r=BSV9a4H{o z!BmyfYjOVldGJRSUUr<hf zgHD>GpRYIw=w{Ot#7`ykCX@Og364|OyTxQbppa}gN|&S5D+&=|*I7I|dc~lX7uNq3 zc2rk<0|gu`6s+DL)g}CRP)oR42i%>g4`N`jb5OWOWiiKeqx2hkNPnAM{R2;8>cIfP zt1Ej&6;}+}ja6`2J!=#j0)qSf;5L=>ZM^V)ZCF*^VT+u2u#uRzAyETuxbn3VAJ*>! z?@)JGFHbz!NOE4&qG|i=!4k23jouY9{ecH8RH3Bnd-ZF;y6R(PF8snZdRgSh4<3<> z)D`P(YaSF6AF0<|C9@txlOonQtd{#9oF_)8x2V|CAK*wL^%Mi!hYtvFrpmi+ca!P8 z$cHNzU%Br(yNVEdkVi7yDAhn8T|ryjO{9L~TgiLWnxZ7e?tM>Jly<)TmYO z0XdZba_S@S2=5x@dBq@Q<(LIvfC@gAs+c#xZvC&v_oF*N7IuP)6QD%_<|;soU;?Oo z1+wrlXk`KdMnFIu2p9zcPp|;&Drf@%k3hh75bzEJ1cQL*AmBU*;L@wYiCkU3wvk;m zI&^}Uh$zc)&<=Q66;9H~`b^Tuj?Ibl9d?AfTuO7|yoZm63{@NoX{=ayWn(!T8j@Y1 zm0x_>P$*mr*jvm&*-$)!yAT@} zTqg5*)$g!4yG0X<@LCcQOk%%53o0Ch1oK&SMB>7`%xtWZWE3%Ls~*D3U2r-2r-lpR zgD$*lwYzFGEdquc;X_{Cf-D#CUa#yHl_{Mjqh8C|5mF_J3eqY6sBdz-qiOV?tve=U>8die~vx07tA6JoyM%kDJuJVEhTuQHzSyhIlh^!W1AH3X2 z5!re<`T@hc;6Ge22kfh9+fWq+ySlK_i$jKE;9V}}ZSLkZmzBR(fh5+E0R!v>7DHwS zWfgn*s@XPH;fak|dfCOHz88=wkV^mmr*9>N#4VIAr+c_Al9EmY<<$lZu7nlFlDxQ+ zgGb>T#-Uf@d0aZeu!Q6*7POYgg0GnROvOw>7((OlGu0#JB0K zO}k>O>E~VZgk$#-chV`Ys-+^In`q|G?=s$*qk8Y$zR zbOU&l3j> zo`>g;kEuZiU5$vk_l9wtmz5WYg?AHG(ZSn#0t?F-7v!EXE`wQ9IY;E&P1HrlZtG3Z zEoUN;9AjJ_v$|3R4nD4Tnb}ksN@NsDP0-%k9<4mT!9&R9+i07HSxf-(;Pw$=>~ROR zLerU}ArC9bq|V#-C*Bz6bR`>?UYS3k*sNP{x823qrrp?>mELpQK_eh|a6KZpy#`jE z7{kebbiFWPU{S4$=HD)uFfgsYMt)I=Cwdm_*(gtRWs#hZD^zTsRjwhNa(zPVySGQv z_C=*N$>_L3M}EfD34MG!NEEhf28X=9-P@I85@SqAbp0Nc-ClT=vuh?42{x8>=9tIm z5JFsc6E3-uMceQ0QL}BROod&I7juh4yt9hEy~)V%?d>8bvzbfCQRBt*Vt;RQLW(Pn zXnj1z(6+Hsoz!?dD5E%Z@W=l{(zi}bd=^la3#H60tYqbHRy09XWcRB9l=tAgQ z8?(5bbg#gpBE3SHG2J!LR(QX_PnA6Ac6p~GF96`Y1T6kdFzSPdNrgan#qwaZb#)36Sl_b3T&f1}WZ4hKTQ zT(jEm={|v$B8S4Hee@H7>cr3BIx=y`-6m7C^63$w zhlO|>QXRQ?(~(t2Cb8bcW{E>b&xVvg^=K>g8|{M=-nzU1Avg^W$wgrA|JYRoP z#5^*mofkA(1ao^7I#6_=6H0#?BwBq}rb+lQFj}@2JWIiuUmlIBHg=q;iF$*)gHx4IWe#aKKf?% zGP$l!PRc7x`X2r5>8P;GBJKymu|Va-jRM(n!l}STQs2EM1KSsMszjqVV}|lGfri2` z6Y+Y)G;;B}e&DDx>=lW-sUJGJ2N6ex-q80M<-?3ODXVOs*Igxv-Y8btvg=HV+Hb~g z6`vZ7fL$YTS;ZlvG2q*;sDIh=t1n7f+y&&K`2;gEpjDUb*5O7h4b&Jcc5RsBhf-ctv4=f8| zWnF9=sh{=>xtitCYEyUid%Bm4T%ZU3tS{ZwgB1v)uh zO*PXSLd03AT}{5g(|bZPvI+za{=Th}0Dxpxnt*iq(S=1+4S2Qz zI_6@GoYs+~J62RQz(%ICIbz=dOSo6Zj~HqadtDqfU>Cy3>g`CXpAHDg%eoZOmlY)P z9dLxTO&s(gZx>V2j(`ml9#76%A~QOyY_XqLc*tCqzfj@3LDXAw_5xzBBF5;;tj>=6MgKAWwAgmzk`JMH1vMU5C=MEZQ`xrY(`yEQ41XHPZ(|++Bu< z%~=-hIwlJJfV$~*A+4d0 z*AC?0S?t!FDzMKbTj%_K4st?Aqm$)5FaYQ4P%`!X2HfERosl+H*gzw^TL*WQTw9S0 zH|X%L=m!ks!hh)C^NLS;*&-cTA4S{!67>o3E{;N~@17O5O%*7tWvW;$_i}**RKMY6 zwyX+WlC_D0rfp-z9I?@)MctNJaRcrHS@rQf@V-sJ`$o?h+VX+TjRPrn0aUOVAQyiG zsn!otEgz(sC&G@lUOGyAoDp-k_OxmMghhN@ThkSW|!#?AP(F7?mT zNBbl$!}HRWFKx$vOHi(p;WaAzp0?~5X!VIuTwFldhn+o*X5v0Hv($RDNz9)KX%!7L z7pY{n8K1SiZ1q5NAdhx-wpxwCOeWM<6wx@-acJ}6nw~o(CYjJzah+B^&23LmZZyY_ z^n+OD*~u7N#ex+1>JsN!Kg8)uAa5$5O)PvyoQ?#0X3ucB3FOU^eUmedb!hZ6`EUuF zvX4OYJVi5NVKaVRPb0BAnGjw{qv=R-bIq)E z$!n&;;pUYHsx>G(QV4k;ws~q#JN}-a+*U9p@c07>`>nbx_0im(K1pE-x~l?AZ}eb~ zPq3o*-w50Ff~WS3Sk%nY?nxj;rx2Dtn0eODID%=|IrZ~#tlvjc*>Em90naEL>>DCW zOQ)I_H}uRCr^p1)$rYY))6D(^rHO9x8!YyTRQ^nhqDv;EO|JL!nPv_rkj)Bo1s3y& zQ_p1C=pb}`Y9WX&O*Etwj4T$^?n|nii|vy%hlpZKD4Y}mzw`4}B&m!`ZXO>hm+}P7 zi-r1lo@aSv8sc8I@MtcoPtuM|%s49uG9>KQWGBqs$1qG_(ln$zFfm1rc>J;Q$fWR( z7M`m85Myc~YW2^GU)bqo-13GO8=$P{W>44xssP9X2o zBB$I2so>OSRF?Z-&Z|!%+xKzCT45kZQu8L8;2rxIQ}dOy^HTg|Go_q{$Gd~?H5Yx8 z_Gp^im7v`3jHh_;f9R7e4-CsAk0vM&^d*nwmTT_=V?7X-l|2Nt+`^Sf83%4+Hi|4)ANsxQ2Q&F`K|F;48e!TKeVprxr4gknf-1i_5sC zPhV`7-1^=E&?v5f0{ zUr=p8nM)xU##GRRSnTcX$qof<`94PZp5KQ!QujZQvfGmqSdM4Z?-}u-D4hO{j1Oj% zg*^ZV{8E}vGmug~HRGu?K`P-J$Asfz_OG< zdC}BDX%tye#_q#2Ibp8Rg)|{RH~EG=*8M^5p!vuOjx-F8~3|0|f9c ztz_~5V!L;V#2@>sn-UGmSfDI2=|XJ!yEH@#RH&c-D%$w_U)_P4uNKdO`a7V!50qzv za?qjQ3DDtJ(2y|MqR z?!r=4J5C@r11ig7pK=a2osRp!WbN)*#>k#q=+;xlI`iplu2I}X+zK$`l&4g7@52kW ze91kVd6_=t9fc7dwOM#k&MOO44?jP{ZHJUm<`j2KyrI!IoMx$HhPl`{%Jv5$3z5$j zs1Yprl1ELlkz6*5!YCZ=<&d!q85&bMVfQoo0?g%G3f+5q+LF&X=)sE9O@7B}=?%ae~4uLqPbPgs0dl35NgP7|#78;Z-om zo3mfOMfdV0s^e&_H3b5b^KXyv1WfML$0x-{6zBqPT(B(MvEQ~IQeG`+C(8dM z4-Qz&q`cA#Pr&Y`Iv+3b+``8p<#m) zo%x(6QWZAW`CH1!Bg@Y`r;15p$R{SNql42Reaz;1zP&`j^w6_mlp~SyrkIq@Humfg z^m1-tqj`8MUcg-JRHeus%ze+7>~{Jj4#rgAR^Fd2ci2ZM49=gw)R)eX5lER+U@0v7 zH?K@|hYhp@WD2f)L52rM!0P^*f}|FQ4~Y6o}^8 z-0Ur=SQYCz-{_J?<(vv%;>w<`-A%FlLI@v>--br=CGPAA@nJ=njQ91!vG8nc!n|@n z+uUSxE-^gq#{#q!VRByBy{_zOG(RF%Bko(k`4i zU<; z=8wRYJZ0Y#P{i)L#F(?^2Aohhf$M-a$%QR}+I)Qf7j5nYke+6sx8SQ??QQ&$r^KX= z4K#@Zq_99l;=czH8wVt`6qL!avJuvR3ix+Fs4#!_B`^4=dBbS?8*^5M9_Q23xsT4TKWl_3?HD!PfO>(^DjC_Up179sZY3i; z&K}1g3l`1=uWBh_<5w^)aIN~cW0J^tvI2jcUzW~&c^)^tRx!4Upv8$_O{i~`h@NXC z8dJ!s1WQKfgETDprk-m_?I_As1W$(ZgZ63hCYTc1Qv_31G8oM82emWY{X`{Gb=4Rq zpLz1u1D=D>Nx?$0mS*BAO2#TeJ?FDE@-Uq{hd1j7;%flo`9>?wV_7ms{^8YS=Ane9TIV@hmkYA!aV9qeVCo21FSH~VMpIm{sr-wb9``8L@bL)>ud3rGGY>y$4 zp+eZNSU9k9hG|434??SBu?sw0K|f$L!vtSpXyuC1WBk@uiD$6IE1outpFNnqdH}j0 zSg4L$VS_opfKqj-9_0&os@Gjn>K4A6NFFWNFFc;kWmu@zJgi?2v*IlK3D`HQUp!Dh zqziJ!@!LcbikD!a!CY4~(JG1Dk^WiwIGx+qyTXPBdZdNwpZ%61S0RLxi4TTmm|&W? z1xxMtweX@ub*0V>c_)#KXsN~?1V>t~%s+5pKz>%R&|;{bxSEouN_feQ-;8FqN|N_) zu5#o1q;ut|4ku4w>C1Os!E)zYr*oGK^s2Nd?JF3ngyt>sbApAoa`g`b@=Jn+R~f2f zcR((r{(19&Xombfkvw6!+98`=2=ax{yh0u?Sm+8@+t4qM6)bcgT^;L;W$z{52WnE* zMws$>AiekDoUB!HFZk;XvJp`^8L`4e%GwO$=NT)SFkgScX>b2w#keLi{slfTHE8QZ zR8AGtlIFmyP!2t~#)eih@|<>`bi@vK=FSS%Q9e1H>sh{KdY^&{E+t;P2D;cPsrA&j zJ0L$OSQy>^EqDR~i6F~c;ST-`POGHBQ$2AxWoRX%kI=kP?kZRqi(b`|$M#&w;5%8L zJc{*;Hm-1gJlEJNVfJYzuA`Kz66ScHJrP}?JqhQ&4#^(_F$yVO!cLiR3aA(*avnU; ze*_Qo#Y=WQ8t?_6e(WZoPQ9RvjFruf|Fr_Bmm#Rw2&Bs#*xyFvrg8w(?*QfHn8O89 z3px}R0!dxOWUU&EVudw!hr>a;0?cm40=xO@{d!f&1I=LJaD^V$u%mHlqz|Yl>QeF>^pn8fbSOJC-_Bb^%DPvKw@e4Lb10#yt$t_iiK}@tb;u#L$Q8w&(;8QLcW21eUMZY zJQJtg;<&0O1!f(B^7{7<6BP@ZywF3;lik3au{_Tj&c-Pg)Oe+bGEOpvIJ*<&YYJo} zen#3fs;l|U2 zabF^&dGy+>Yk4Gi?f&bN{2|D98Z~gZ-U7hELuT5q=dL+ABtmOL53vsMcRyriOzYJs zG7QXWp>@1NiwF1(51Dz>2C?5!@Q0usr+?oBg-oNyDL3?7`F}iQ7N4xr#=f0r$=cX; zlpQzF+=gXG>w{iXeC*J#CFUMdze}=cdMTlEY~jP+=AA|0JJ9F-ybQ!3b{_@0hI)MHJsAyf3rn}zba;&d)#UMBUp~2< zveFsaf9ChqkmoddZ1wf~2l%Xq%pKKgNt$3Dn72c!_|rWZD7$j4Nk#pp7Dw%#=dkxQ z>i*{8_Q3!(9xqdOHUwPV@*SyFBT|)zOlLJ`W2wtS=Fx_88QEY;ZeL5uWA90n?+UD% z$MUgy_(qU3pYo6yuz8Egqq(pByeFs7tK{zz<)&IU?jPbiKV(KE+YPG#8JG(+P-`k+ zA9aQ}pHEdOr^)*g<>m!AlIJzFck;KBJ~L#KM7f1$M$1hwS-hTqolF~)yG^6vH*U0) zvrj){UTr|M*3x(IY^F}BN-{busP09Kt%FdG^d}(xus@P%C>ce zqUZgqda#bUw=|kE*$ih0vbGq0B+b#{E#^#q4?~Bb4D0WQzg3KD@bJAICj+o6sHbSd ztf69Dok!{Ya58Vm);JMzD98|wYw=jU!zZn0l;0&nj)pf{?t^c)*n9Nh^FcXj8vU7i zJ>@og<{@*cVc!b5>ol4Ybxm=L?FlX=YwO`AY}zhGT^~EbkABFM7vW}O6i!+^Uf!hF zfAX{AE8jJK>HGRV0I1eHP$f2IEI-{+c704s3ddyD5lGtH-;xJ8s{_eP1rPnffEF-b z1Ic@;jvg&u8euv77pNPvoY|qC4EsGYbhXGm_lwK292>`7@v(f|u zv`5k28kb4{XpQ3K{^mv)pk*;*bud7C3t99N9|M4PdpvXs1GHHP-k*C609wa*C{VH$ z1GMAOO?eog-3rl0z8?gD_6Qo*g8|xnCU?wo5CGc!@$z8R!x*4ti5!0L27nfH!)eP0 zfc9Unc}al)(C&$shi157fHt2w@37Sy1GFqoem(%Sz8_Gwg9`>|^O;Le0ibn=hkgv* z3IOdduX$IKaxg&4QWtN;0BsIJIVC>^0PVVF$K4p9bwR`GqALNQHEd??cEJGccwXsR z4A34yb3auc1Ax{(Uj7pXXfu(}->dThpndk5S6FI*0os)4QB!XKXm28{z`0`p&}ug` ztua7*1pWG{?ic{HU>eR&9mW9d_#;^k2560-!cogX0BCiam3uHidldDMTsZ~+?GN$t zSX~zk(2hTmv4A5pHcpG@GrJoB zpgoFOSY`r18}k93e|ii9w5*}p91PHcGjxGi2>>lPLwF3(g4CUBI|cyl&UomO*3rKK zEqKPs2Y`0qHBW}$hymI>gi?+H+O5!({HIC)Xmy&&FKI>?pp~H)j#UCcyFFf>=4=E2 z?XRzS%Yy)*-5W2z+~+cuOZhxy1nJuC8??r>Xywtvvu=F#e5UrL-Gf^cVOa?4!DJ3x zXaw2*dAt%gO}2@bUo|q)08dycN9|0!broUYED5KNCCrfV@zC`GThaJUgd+UqSkesH zIv%=l!6hXZ%UMdiu>$c`AnZ@FL3hI52z09NR207HJ=&$*AIj0*a7SA&ltF*eKqaohin3!RDr zacN-K=RoDp13TVmCi)8g;Q|IM$2i8thVd>ikNX*UBdQGNPv`-0M^J99K9hX%gcc*> z6M9J8Id+F#dImBK+CTa;untg##+gzVes2R)_xz?f6-v$-$ToJf;9@3k@vP|7`Dw1r zMX1vKj61;RDV}3{M(w4NjZEfXR72{c`s7dO33DR^ZD3lTUsr2RA$OqT&m!wGu`}rr z-04ur#z#PDV-BOSim?t@?%tn$><0K@YW>g(7M zvGne>KcRtIxxk({pMf~B$%bhE zdmh7JW33S-qZ{p&-8}WTHDnrW7H?JLX7PA&v{Pw=9Q%v%`U1HqHwVI?nkVgCsRDl`N-GFQBtbC0{>+;!!@i7IAN& z)8; zsVY`?p{eiVH=$+kdF!;YMy|8T5s+tycAN#~XD34Hif4MdQ8v7`)`HUcp0_#JDZ{iA z9f!Bnno{n)=i$f=Z0y=j`_$cXkNw?6==JHk6sb!C^XT&}x!Dm=VMz!0v1iXk`EP-B z_1LM{#pwblMR^9Q-)HAfQJ{G|-qT5SSoI9_@~j0kZM4ia-bpX$1@=Bj$ zcorl~nI48`Z}NBx84Vbom8B{lodS3kB%b`)DS&4U!0*@?p6x*Cf&Sw~=a zHf0KL>JRYj8E6jg=nwELm|(_##X9meqN1S%5m!0@chgMF|9!?Ps$XANx( z&vx+M1!H)YB%jaG#_((=^U;Odf8$xQf|`lp*$&=_?FkIeYD3`{Fg!bfehS`(;o0@j z1-{h)hG!x9ll2&$&1Am3P>SK%ZKx(6!?PVc5yKtBvpZ0Wm!TCHo*kcJcw%^V8|v}W zxdPzXUtlr?!?W5D<7IdShG$7~rRp{e&&qO_S`TA*b^`sP<$>YZZ77|O;n_^)+i9_|>THAa;yXgg}Ki`;P~Yd!ube{-gC{J`Ad&>8U^ zcuwUBqJ65r6ybl{1!v=p9OTXLt$04UPjI;s1f5_W>NJoHLxCPryHDCMo6`Oag80RR^VBP;poW)FzejAgw}onrTPkTf*DCv=kQZ2=uMl%g)dOcy4n@*|dj( zehh&$=x%?5+ByA@d(*}Wx(5Pj(p`taOIft#td%`;B#tr4RORddctwA`eDSKjwoOG} zJXmFaxV|4sm|$lRPi!54;wISHKYm$>KJTCy3KtGztd_)gg{{3Jz**;?fK3OEDNxY0 z_Udg8`Rw#eW$Km5tq49-nfvO&;j7b3TN2-=%60e}P=81#J~Ql*WjQ=&x?w$rYf1dT zU;k1IIF86SzR8T8uHA+*)x#=yAVpHs+B~HWl!FuO_O;s`?y+~0_z}N`+{y+MbYq)W z8G8?jAN_hgMr;+OH^vS}OfxM>{J2de(}@by6M^*2mNLlSk@y#W{=qAsov~hy%gE4f z0^UJ^&p5iC<-&iIsie0@WcEIo`=f)xZ^NK%2W3k5+u=w>*>SKbFR`LP8u;~!{_W}W ziZWNrmZ>S4TImw>249g~VkZLZ%N-3Bo*|>GpoMMf5YrJ9At& z2*=%q!RqRY=XO1Qa6{(yiE)n&qAp_xU0bJtal4)o7+MduX&t*O7W zyJn8JvkG^1x_cxV5RO+Y*!9@Ja&7l6clWzOr()uW zb@v=z9*q&&3OUJoJugGKXW%+ql<6>G#t}vt-_KH-4g83FI;<;n@_c65``_`bhz($8 zG5C=yy4k=Ma8%S3*uXEqVTNOnl+a4S?Bo+*{~%Dt{~MfM5B?F9fuH)3Lm<`#bEEpC z{lKg)f}fz|jiCGtW+`8iP5?LgUsf7SZbvLZcn{`!fwc?fBd>Uo*H) zBU3QWTcd5nH3?5A)OgtSNXl#&5jB=XnK%9_ch`sptf+PX&AV-m*{CuSY97KjstFx7 z$CLK-#;YP0)$9%%51VfpaW%z6ckiUOz|l4vcN<+sa1B_3>&?3rS2nw;1VggbAB91c zDVmISyQB}x~#j&BgvHRUPG|Mc&zuk?k0DeEexoJOO$xyvKtXK zj?)MSrg(#GYR8fs=@B)kU5^5$_)xBLEl1ShMIRp6cf4sBPZZ?A0F6?>E~Gz>5Sx8v%7KkW+OvrzL3a)=3o&0`!`TxjS6g0 z9oB}s6T6HaXCgF%+LBJlR-*5H>nB=hdN;-Sv#UxXBM?&c#)%ZFUZ$hd2;T0o!@B5Z zQ}mi|HgN}4@4Dlzk?)Y-sy$u>?rkf*J$n?Xt`2K2Etm~MW~x290{3>xj?1*sTfUD- zET0j9qS8Snx>+B6>$_jndtBy#e)6?P?5jOG1NXMe+?zH*gc@7oqW2_e>al}HGzMO4 zjA3=}oVL(kYA!Q(j?CEg@JNe3i&_w=#+FoAX)Zb-p z)>sn@z`nWTP2WOEHDL9y_dODaI-ApYE|Y07VhM|VSUJq^{Zycc8YjCRf4JD&yqi}N zy9F)qH9$vwqbJPd9lV0s07O#VB|?u)icq(tjlEB8P`a-v5u$-Dncw+c*8gSpTuG!p zg0J?USpE3^Wu~p)&05za&E9y+5Q~uu@TD4vblrCy{g)cc-lyjDyRka-lGv^E+a_Jf z)x97ga^`)Wbg5Kt7rydUvp7DY75%%WE=_?etW41=q#h>)*31(NB&4S5Q2~0wX0xrG z-wo#ekuP>V6rxroSe^W1%`P~@dt}1EBWZc>)0JqxZyYI)nqnwFRih;4(OT9<|GrLs zxF!kS;p5(kzZd%hI^(M=G?RB~xXN~*MZSiD8`Ksw+JlU?vbt}(A?@LW~23P zHtt)_`OYT-=`Gqgp%8FzQapky)=4z-eG#g)XYBXHcndTuL?SAk{M;_g?g5g2a! zC+h& zR&-xD78P`h>o}wjUo84;*E2+vSle_6kovFLw+@dw0jHHYj!!g3COTvXd>2~z8 zn@dTgC6ZngB+z^VmV*?Q}sC?3* z6)VHh(kH8NpB9u#U4YfCo&YtBu|g}{HurwM6td)|6j=01RngmSKE%SPn$Ezm%SV&>=lMBr(J3{YO8=Du1U-Uz-(vqR&}vvtq~Y7BheO-p2E**UFaokJ0JJ*FfQ)tTf9oX~=!4zr!?Zd`{yFP1|ilUU0P4Vut?xnFQolH)mo2 zM^yH1SWO;6mE`W0U!qzP+pY0e8(%E9-RcvKs24p48=Ye`(Z_DiqypQCu-?Qy=sh<_ zLD)N~G2tibX}cb-Cz4^$qCdiaAwgBk=ccI_cw`VD9g=JxIJ2- zXKOt4O$oL*)jFx${hhC&{2=uL(J(4yd33TW`p6AWG>neDTwE{{j7Z%qC$N>Nx54`m zZn-&%oZd-sgeYnuu>cZAMb2g_&3v4ZPi}mXQ=inT_cP)D`62(mJ4O3t|8$C)9shKS z<5&Ob6t5Eh=@iNTbc+8k)}(Iyr%`-*^PiG<0)7Y7aS4N+KvB71sX%mK*CH^&3?RDb zejvt@SZqb=6)xMKLUbGkdtg1D6o_U=W4H7Uwo6XcT9ah4O*;s*pvA1(@Y+A@P8f0? z_(uyb(*5E>+Jm07+SH6V+JW_`C!X|n+0gy;5qeWlW}J7enqALY&NKfh!NuB3&aoJ0*d&EYg#>COr<-{|*r>My(H$ zwKqNSb413Q6gUpue@)7<1ZN@?oHQ8?o(Rqo33+4%*Ec3<}XP3C>#&|2-LkksTTbZ zbq$3bdkD`)^O;(|q zwWTqZbPuYWGX9_8c^PqctM}1K)J1qZ(3L=KdJI)b zdS~U=YSWjvjOJ!2tg{cvcGD8j-}tWMSPdNvsdY0H)maMYy~7(Jcj|FC&KmbBv@k}e zSFsgUxJih%Kh@j_ z5zs5jl}7fhxYBAoxZT9UOlw>_@6L=*iA)D!6*&md9$y@kMis%TR+Jl!?5w!rnbRRm zHyff>ltVgs=g^d$I1XMYGH6SB?W-*(Qt!Y=ttjb@>|FAmp-14x6f1Oybhs`qi81eW z(Bl~U91Y>PHIaB$le>PTlc`B|;!PoWZly%L^+=oS&0SrN<4{UTk{R8T+6%LbW+xPp zZ!*N?F)Mq)=9uq%bdgp!8S$#sWVc4|vvtv6r|<1*Q^HxQ0zO@|MsOo~>{_EoYtHLo z4O=Upl}JRl7CsRreZH%7t4CuYSwoY^&1D;F6i(lBB%^SL#FfaS^@KyeDxZA(=Wy9JPma zif#z~qgpiOsnkZ2;ZF*KXo{-*G!@uNtI#~9-H<)(SCrZs$nSj8yJrPs`;Z3gX?3rS za)0J%i42cK7af^!>Ps|2v)!g9MxzvJ(WTkJ(M#P=7)zqP@4-q<$&#ITAF^EuUe>b+ z*1>-Tsof@g5h z6Mt-pH0lD+eFDEQfp&)AUqh_(GhizeSnLlzmf%yrkXDkUhT1CkqY(ILfsZHF`v!U8 zBKYYCeDc7je$g;G^oFtz3>XInY+Mp8fKf&#;gz6^gP_g777d~IU-KI2tvGNrxnSsS zFrEnO+!(zEDhI#jIYusZPm;#68`*h1;tj+vC1~d)WRhVjc%~J-xGbQ5*TfooUWVx> zUxR>-nEkzq@99-OuXGYx3Lswz-k{W?UqQjL& zdRyp+J!_zbA!qnRNzH^sl0#Nw>J{c&u;qEuLqduytr60R4mTQ8vzUW3IwAHnP586N z2uY_TS5#LnG;v^M)qarvK!56^5u!uWwi8dmH6HcC8hiYeTGUrNpnYaruR?`R9TLMq z9(fb7jw7!|NDkK<>764c;%7J#hR;e6L)o^ zL-XQh_iW_6t+u8&`-GO1d=}Q}6U|Gyg!K5?D{(WvTAVk#z^PgXH4XiY*m#7JI1VG- zp;NxgqIuVt<1s7H)ieUEU#ce{#GBk~By{mU?O6w9gDd@shX#pZuk$L9As|5auQA)J zRZ$Px5tv!BMpPF}dQ!SwG-fC3;7NuzL3uvwN|N-^FxoCyS&|||q1Y?r*6N+TEjZ3- zj0qikE74UCcaoO9PCM8eJm%=$o zM)Xw@>3+I+7Q7hbohyub7?VbMuz`m)316xZrPw#M$}XB*Z$#T*|x^?iR|B&EAUx?|`@LPEOJp`;OJ z=n#-@5CQ2%nn6lNN*X~aDZwFTMoAe!8U&v6{og&W-^F4s&OU1$F3$U`z1H5J?UMwE zCRG^3LWYZNkO>MU8SRnjOvqDOpXzxBgtLJqnl)G++wB(bA`VF0c}o&DOZ~d>E;{B5 zWcRz^ZpE(X(m+7DV|v#HabnFFz=m-FA*H25=-e)gogZVySGnhz z;e)%(#b@}4RD(kl7*LX8`W=9caj6xT-Oq$u76V1OJxR)o!g*kJTLR44qlVIh3R9WT zr}REe^ZIb8!8Wo<1wE!PHLMQ_W0slQbwzO1o!}T-p5= z_^tsFM54HKWGbMWM&|3TTJafBG&CTB`pPTChXZ=8h@S>@$fnO|R|VmrDQFnuMaKLA zJh((;%=&(yZ@YtDW_gzZp$G_Eos@_STHlWdLu_JfcTRaLP zK%nsSZC3>0SNj#R^cgBx{0?a$uap_SQ7?tTuKfyKih{7o3y(+q0*Z@4p0T#S&1l_j z>AF@uaDCFVha*q{G8j`p{cGtSQYP0t5`p;zwU=FswcQWkp6;gWn!W>8O5Ou~WdL#i zK`8>*N*RT41rV1CAZ`)B1_oGpevkeLFhv2tMhSq8vj;u^fVzGH#BshKkMIB(NQUZf z14#D~u>XkH2@o$4vH=ip1GrBGAfC#9&W8b|9$@t+KsX8}TI z0CC6vbFPDU1YE2J5I1?3`4w$W-WSuS`f!Sa`_?4T{va7u6>bm!z8ot#l%fcZwhTtZ zgGr!EYVg$FkDDUrz&k$Dh>tO8(UkRaM7V%$p?Tr@W4UL0$vs1jplKVN;P=bYfYcK| z{4cl%_L4@?wN_Te8`aw7AN8LGAQg zO5ir&d1z*Xz`>ly76$4YG-d-Brv$D^G5C;3Aea;wTdZzXni_i2B2jC49 z=BO~eXWoksBhumpU22Ck_w^5V9v8;;{Pd#7u(s?&mfE2gVG)@13B`nMa)O*q!;@Qf1{yBrQr?9)WC9(Pl?DbZcjEgQl!!2ZyZ zUe@8j^X^A(N@UBU`)+oYEunB9a3;Dtd@ZfLG;<$$Mg*%}eq|@x!VBr^^BJ@j9XLC_ zrdeM0!h)48XT$HnU8p8H6kf<}0@F?>xy+Y+euP8IPsma#M7=k1oaD?Vj%n*m(g(hL zAiF;brvOK7YK94qDQ%q*W1uYxkR@G+VaRQA_;;^I82%PFsA2e8ayvLBd~9D7(GJ#y z&V(u@hOh676rYLPZJo(XhYAmewroQO8>Obhi$67crJh#hpT!r!7%X z(a`3B^uK=aygtmBb<02>>WmFz-jWMn?p4GDwuD2L1ff-Z=cuuezD%Zl8VI@nVZ>j1Tn6-N-@yS}|LpZf0LY5lf++Z!JZlCg?@JSd$7ot&V+J>ZS zXde(GUao~-^nnK>HW#tnnlo-@_hm7hEi(|d@V*q=-)CaeHrQRO`#3)7%iD0nUhr_l z-WkEP4b?@#vJPS!Y`@um6vooEv~OJ8N$XPrU}GJ?h68}O|I)BdKrZB>=Y#0JPQu zFjQ2HfG%ypdsVq1S201zzxY!FGz5Ez?Sz(MbzCr`Ssy!Oc>$b5^%lBB3$Ijt4;hU) z-%P=u8peJru-BPBGF1a2?m z6%=*?5OS*a=t-Qucm)}EvFR`=OmDdaWE(#sw&(HAOGLb?I%LTULWf(D+#|bVi{J({ zy7KTyMy*>$pVJ1=V*ZvNLR@0EHem#e3GLv-9`PM-yHDkZ(BHA^gXRQ`8SUWAM*09! zn8_>|d{Xrg)qs;eVC_3#P9hN7NPEf&3!4pxGpcezmzbbZvD2fAgx8NO72HK&2D8qx z`}**1)otV+?rmBlnVCUQ`Uv@p|)@)Tz}j0om2iwk#E{fsKa z7ari>(J4N&uuCl`f?DFagZ*c@;kGe%BWsKuIKj5F?XvqN@Sm|FqiYnWbeQS#_wb&W z(qZevp-$3n;$@y4U&NZ~SI7m9QfB+du{EXuIZS_f6yyS5cwC7*2if!z@-lW3wTgS2 z8ZPFJi>Y{=*uI|b#RkmR)n}vNiLn+a)<=J3_m$vUv9OUq;?>lB>QiNyztMp8;b`C^ zfy8~r4zgw89c;Uc@}&0l#C-}g)@2EI6`190B79x-ky{_zGH=~OnC~o>-RJU5$Zf2j z>^?ReOO*zS9ZQPB!;MH|Vm^I1y-F*?RY&RLKFf~yP;L%K0(xgn2N2E}0kkF_%a{^v z2jfM^tgh^SESxu{VY8H2J|3+EIu8LtGmJHw%s(}#T%sNyJUh}v<5o2n5(3n11LuwI44w;OEJGPI-tZZ>75hlGn3@#J< z7rjonniQ_!t~d>-Z7I|#`xqEuArw@LAcuJR1J*srbt0e^$7Dt>BkC^U6FI9<+^OKB zYNU=BDp!L)Rkekr#_}MWlpwk>jL3I*G-JXJK$+i>=^j+e01en|MmvFL} zn$4y@2pgW%U<9=p^#yb`2+>epFYD!t*ekDrOR0`R%5V+_A{Zq}+zw)Igz6YDC*>%( zXiN}l2~U3jDV$(;L7Yz?P5yC0%#$m%zm!0C9-`;^qNt zkPaLGObG&*5)NQP^uJ8$3BnQ>v<#RGU|s*s4aqSI0BXVk!v{BvKKs=V1n<;>FYk&dpy!k)xqqo3h@)nr<-U8X-EifmwPDI}QH!TI8<^~9O`=57N z%xeH*vjE~=0Eh!v*u)9Z0xnho;Xyz=_{+JEmTt`@~`Gv+*i6l zR*|TM8Tdov6Ufpy6t~J}j3z~%%~E!c&MvF&N_L+LUTNF~XtX_lEy#K%2-8@2SbU~q zH&JH`eP1aulACc&5^S>o#xBs@Dxe~lY!lrs zZ?{<216{0y4VY(MlUZ_la!>C;rK&K4iz(fdmI|IgL2ltj)@xufy_?Qbw1F8Gxu9$p zTSo?2O7fx)WP=%-h1#L(fO?!U8>;EivgBT*U3(oNe9IUgl5$PpHifj&P8;3VwUPS;Xf;vHk+y-U0OlWcM`?RK{yiLrtj>B^q;} z47WgA97u^NsAGk@RWTwfXY2jC-JfWY&c7E!4EqX0t{UD8Z$!#1Q&&E}{se@o_ctKs42fLYHJ9z8WMWeGH3~7Z!jRU{_WDkoCsMR0d;Q5!E8$g~7ru zJh-ZV%z9&}k4}nSMrO|w(OU-;;HvrutvAMmlNe)c=>ti8j28;vqsAMkrgo@qWdiD* z=JQlr+CZTGwh%14&x}Z^bA;y_FC*78<(V#27cOM?72sr5325b%Zq^Iv0#JT4R@rPi zL|JI14>TutV_oQ&F(7J8fh5sw2A4BT@87#U!h|2YR?cmeXb0Y(RyB|tnt_O=Kh9grJd0Pwu{Kkq3w zKyB{^nEc+10|v}V+eLgGT1eh4hUMLB@DF96~I99vs%W&ls41w4W? z5D)sFbIRZ$;3AL`mH;^Z%XKhny)phJrK ztZ8D4DA37;xN)-#Sz98f4Z%C0H`SH~Pe$HOvc zy}T*%j4{4Pc9$K&tz!<&<6#-KRvCQ$?o=G}xB493rn3mKW41^{dJZk>BUPGc+ZVsE{_`y%vdI?G#j8KG zmbHK#>}JA=c&-x10D+z70cR3_R0-t#|~}-6X-j->DH1I(?7}Ua3K)H)hms zYZ+cek~GUA^)i^j>Kb_B+Z1Gz0^}gO1}V>VHmFp*KzyNX0xb^Y#mrUj!ZUOtpe1h$ z(ek{x1AtOrH`mlap#EOs{yQ$ai|V(s`#yG=)dlcUKmxPxt<7c_Z|;!w#pX5F)Xq%37vN63=heuQeJ>C z=Bm0KvUCWs{?1&i%b0MYvy4>xz9PGS0na}r72zfs|NRy=-uEVebov?_Gg=)C73EGJ zNPh;r;C?0y#b;UwL7hV+Sf4RDTzFR#v9Gg@YEnUJ@=gIu?81m;qyec+cs1}PFN319 zw~#zsN*P7@0TMnY-+?c=D11Wa1Zw)WbUGnBatRL#>xI#F@$DKQP}RE7rOyyuKz z=PN`oyL7y-Y=QAY_4{wxeHA!a_B*ulvq=aWZ|7k1GlA6hyHwkf4xqg-fmGJ%X1ehB zP9wV?1)q6qfl@a73l{|hIh*ynDc#oox4EGFKh1@U|7k9S{cm#t|9_hc>i^qZaQvU< z!WqH;G#A4Dx4EG7zs&{o|1=j$|EIZd#`XU-7bfayr^5*IWNJI%ujJCle$Ui%!k!p( zLYEY&rf9x-u)vHAoFVc4dvStqO<9ViL}Bg*`_NH8##F&lQ#ZTh;yqN;6@=S=^|fH` zysX`BardUd*Lv3JLbl*A116~3FG<#5SD?)9_S=ljP58BfLajb9N7~u3{>+ssUPwbhDKHfC>n=-o%t4i zRnIUs!;N!^>t9@E=lUii^U68|92PM#lh=AB^@irgoG@m?< zc&QL?aYsDAUbfx$?`dn|=ZyVBdv@Y;wn4GGCb=YU!JJgIs;Res#D z1qkl$lXCB3^T+SLemcBGU%K4|$Ftq4B#ZvT7jOBO2bH=TzmmD*9y+{>NKDW}|E5n=(#g_a|Hu7E%^&`LIfY`631xDdRxdfj^C%}T z>15xp4f*Fyj{_X!U{r$HfsXGF3(O^+EpZ39#D2nfV_O@ZOKzmHOq@Eh5k{=|!tcB} z3&_IXu?=Ln;-_n${4&eo{btNBg{Tu?LyV@l35B{{M5rn_~IT)06;N*X~=KY{OubJY!6%X@ZpIt(m zfw(DG=9wI6n-GQDU_sg*RWY)g<-A$9F7Qek_jjSA6_GjcN5dat`Tl>|}Xd z(j0^Rc=+9fep&?CO@dFoea zeQZI=q*XO*?MmK|NBviZAkkopz3gv6IVIWhCC=@a)b-1uLGsxGfjtBLlp@-ZgTimq@ILVHy?`QqSH#&+fK&e);O-f=c3| zn6w3Zd%Mrz^y-z}(wFCMoqDW|IcpAH@l4(#Wizb5eA?RcAAW57LwlnM9|dm{tw1o+ z3Pt=*JrgM_8*xt3nZX|t;R=74YvK+>dcOA4VA^CZO{8Ob#;08-f3UXQ{5c$okS-H- zBl9Qw5vqs#)0F4KAx?DPgu;sU^ysvkzzVo6@ekXO`p4H%Bdo}N7do-bmG!p69~VQx ze}wNIF^xvdh`cCmi+G{(A&OAtL;OF9b3V&a5vPWg{x-H1vZ2gBFYn}-rfx?>T)`i1 zU#PT4JyL0Z`cL(Zmnrr4LAWRJEJ8P#w?hBM*U_KbjuH1ia?|*p>oOdm zU!0~suJTALhW+*1d+hZj9FBL|KKr^xjAWN^7N?gysvUkDKe0n@C=6uFiI;F)>bcyl;PH>&fM% zwE;QUshG{s6hGLN+$d%IB5x$N9BrqDZz91m@hzCEpovPyKLMwLsy=@@XC%1hKDoq0 zcsZVx;JLdj`e|*5=(XW#U^h{+zdu*mF8OQ%hF@mS2fR&9ZSF2%|P4b)7+CPHdGl&k;xJ z0g_r~N7+C}%~`BSoLhm6a)#m**du|x5wVU;w;j5y3XkGK7@_Chz~y(=^}I;h2oFM; zw=e?EdKQV4pyR3?UMRIbN^{=DQL@u0bc(1RhyOAuE{yS;< zk%m6~EFSA=GXdk2er5X*m*U{V9rrx86?5=I4GT;3@*~yU2dF zN=ET>5al$3WJgLWJjOu=E)n7!K6)-`;!|^%oJ+CqjO%y?>hQQBs8q-Ew@rc_gcOq~7@kZfjX7qe7YA(KW{DH<%F z>hwM}CTHUY(LE&vJwsvmLjAS4&ofNYAZDmTz6i6Yy2P6El*%?JvBH!Q_vBIMg-ivW z7?JXy_9i|!&_OYxp4EQ5lePZp6vSfae;JazA2LaW=Kg4CB7>@A<3_FFsc%4GrY-{{%` zMNzpy(~nSB^E70;#`};%iQ5C#Z;Al4&P$=NGaRgs=Px&k1X} z-3;b+7a1msBqVcHI6wI(h>uFVRdK6V3bydu5jvoqe#Tnzp044=#QPV8-*|PExlI%D zh2#P=R{gfQTBhd=kj1~2B?-P$E+=-{%ttj7oeSW6&(GMh>iV>BMmAuW|bvyIyU&(bTt@d3D^u zI(~mCU($%^fWeiu0*$|Fa(Rv{CJY7Nr&vtPNqSDd*D0-;b7j}}lS(hG`_64Y@4;Lq zB3ER<@6`S4z{PX&`8!0P9#j0+x1aNNTLskpWMjvU7~YOES#r;`n7kLz^;1fHbtN=$A=H*+ z{q|&8d-{2H?`O?0;DES0DZhp`?)&y+Wcz!DH~PK#!c)=Al!0>Jg}$(tyy2XRWo|H9 zsV;D+qUhBxB$9qc{qno_hk47A=Y?cJHk?1+GdR}znTy=ketqxwN~D?Ak6-oM`!KDa-YGxmx#of87bnv;^Z7Q|L~1O84+0me$G#|B=|RBg&~zBm(BY z=T*92F^+7{`>~gyMqYI{cI%V{$ap-C%6|7qW)~ik{mcyav z$G8tedv(;srwxC~b4)8|7H?K7$mQGr=3%^A3I$QURbY|wo{wqNowP88&phZ@nx;Nw zNAx+x89LRy)ktH`iDJ!yW*+}J=YQ@8_61M}8*F(!t0B2!eD?~cbJzZ;+J z20!ON+tl@d89k$L;$JgbtLo|wUnu#khO9(&({QZ?y6^+Ex~Y9*BVq?uA>SzugeeVgItZsegar7|~*fHE=|61KVygM$2>TUK<_9=8=8L`M$1n zKDc{(At%bfIexpt_?5x7naZ5=n&Cp+eexKA${gM??=y?Oa^FDFI?#QLCXuLn-(}2n zLu8FscUe8fy+k@?WR34g*>2h%x6(pib;3VgM*iOFK$Nb0^L4yH;AbQ3JG#F#krfWd zbZvFuEZvKgU;hM6h+4Eo`#IY8EdBN(xf$*SK|?Jg$)71(!t`S>Qpq|kI^4ZHC6|S7 z&7{mK8Y}L(7iS475|&b=a_ao%u}g~jc|Li-H*2ISiwx>L>+LLcff3)uD&AS7cIK3a zsb2*8?&yAJVif4DFh?=T*I%bk27I3Ttn+z}94TYNf2Voe&=p{K@lKhy@BQGAtqpts zd#Z+wdb10K+w4;X63WQh->5_C+Ayu)z{4HW?+T23y;UwK1$o$Y?6ZKV*$thj*#}56 z8-Y93)`p7!t&7sV?Dg!-qtcj>ix(!hI;3l5W_hQ)p+r$8<(Ispb;?Gq80-kW>nFGI zWE~p+o{XDC8E0WcuLXBS_jvz3O&$HrXLFY2v#Bs0LwTr0j?{#v3w zFl>&s=Hk`{Mjfb=aQp!u-S5(u}&hnulu}r&`}P7IZI*wo;=^tM{nZ79uKx zb;{~$kCL~N%XU8Ou}v=Ds(^OcCMxsDxGW&8zk9E^ z_W9KI`{xDy%RJZAdlUE`(eveq3K<>yy2hh;*JS&h@;#Nw#apdTo%<}4%ghc`)C;o+ z?jDTbr|kZ>YM0L#kAcMz_nbwTD6{NSmA{mCT3D!iK0R)e41?-r9gaW>jY9sEU)$Wn z61l`bv0of*zW9(ZG4NO1Z2Jqjz?a!>&4d7BypV}wJMQu62Xd=^elOxCKm~c|ry0yW zxN@t@U$XcoL5q!8;08tq-zV4szZf42HeuDAkQ@orVx1F_%zmoDY8%DN-(4hcF(;v* zoh1j`ss9*aR2!CwQ>bN6Q&Z>jV&t&&PO=84A89TUAhFVC)4k$)KWOF;%MAT2)=VO2 ztkBZu{FRz6Hq!`NuV>^GF9(G|(~ZfO=!q`JLdxdpjn$k_>pjxcT0yj-QiJ&BR2uk_ zsw%KYDMN)0k2Y}F{0kpzx<5QD<=|O3%rBj|-iZ54kI3qw%|M=4^yCLxtMRTU>b6A16gCcK z`b3J9whn!kx{|Io9CGE{V-VqE*(Pr3zru41OO*U-x@nCb$-GXw-shh2TY7@kcpXDH zFq+bY&LN9_8klQeCZFk9nlG1*uhpz^jFeGtE-PK-D9n#ULI+B z$3j{@?u>Oj1wXOoL2gcO1th(^?OZp{N(5vu}pR2>{9a={E;R~q; z6#I)<*!iS)D^J9Cu$Mj%-V(2L0r` z7|L+3oE^UX6rmPa{&c`-<7?QDnZT!R>Xt7~o`dF>XjDUpw!Jz-NPqyDS(;mZ;>TO4Z=Y&SZxt(5QYUNX0y;Va^u zWO^8HFNqRzGo0hg64jZS;mFeI$OCK9oRG62@ftd1+*38?WujQ(KBLKtAwpZxSF~a5 z{WWw6U&5-sHOg3k`i{BFWhmk6^sYPUe*H2_Kf=(BvrNfSeIT_Zd>U{>x%2fC;vMYL zeeAJWe1m?n(~rt;6mAAg=JEU6`s+^jQUmquB^ORd8DOHC4A&@%4Z8i85pzFQ=q98h zK$=TrnSIxeobzP*Qnzo0&W2^xRTPmoj_u8Cg$g(9oi%JcU#`*hmQmg=*H!OpR7Cu4 zk#0MgZm*)eyUr35+f|yRZU-lOjSqgO8;vnFORZ~f_hQA$l%A~r@Ho-5t(6h?>;+kG z#nOS5e@tDL_l@Bf6qD63zB+n)F$gXqlb4TpV~&p9ZNm!rE%o500Bfg-;kCEV16M}8 zO(~TJjvuj({77FnyFQR?i-v@g#APuMymx)<_bEExg+58<-;=nXc$G!|kNnqraL|f_DJB!FPCiT=-Q`Naj3CEhNGLC5i?RAiP7EPc)tMp}$|f1* zZK+6dPH=kT%J=M3g_R?H%FI8bk)H`pN&bA3o(WF5-t_$;B964%9;{Z1fO-owa!=8VZgq!lkybV3S+ z>~Puu-xPr&O4Fgw5r?rz>+y>8L+4`7Be*M$^rV@4gAseYv174jJZ~{!5s84LOye6* zQ^y$7_*y9e?_7|3y#pl6akJL(D9!o9+Q7i@w*k-WJ0U;uI+!E5fN52yT6%yciTgsx zbbaf5xu$J9BZIUQkHTVzan+blf#|B>tE`Djr-m^)Q91iRQkRugD|FV<_IknBDD!mD z^RJqf?M_^61zGv^49Uv~?KlR_p|6UR(m%D`i#d@nhDTN2)Hx}}UtBaD-?>t+L#oJq z=;M91jK8#}4>51^^)@ra6RfzO8l`C}OE8{DRvl+BrE3qnpNeN{M!%G#mDNH=Ou1`J zjFo3P5fc`Gtg0De$q@7!Ok?F`p~NZP&L2kP@YuY@9&1X|uBWs@#GEOr8B)W1gq%p6 zK?91k+#g%5wwO~5rJN~vnG#h~pnNW4j`6O{%Km6_U;0G$Eht}m`mn&Z?5lc)M4Xin zV$(D&ISE!TN%V0pQ>MmnNSautR{TrFfazm$ud&!X{RdU~4|pZ8!lrP(oKZP|^j^1w zJ`{LK^hkoydnZ`TGq`WCmfG;!qutIiHEV#jl)`k%K22{_=gx3)0D*A zf-)8VbOHT#X)I)y}&Ejv?vp=w%!gBW@8+hvW;2#1jglFENM-7{- z6VDkyax_}eY(9q+Pu?`@%P0W(8hE8cPZuEV-YOwv={ z?x*cY>2C>hicHULyno5NIll{+UjMT7*baohw&4G!wjfsSS}w#ZKbGKx`Sin#YQI0} z)~D^w5^oU>8vi+6B|6-~Pgdn+sTT>KlEi18vfbEG%Wpeng^MVE*+#W<0CqBMVT==@hX#rxxUN|wXEXZ`ZzPfyopDBCtinwh?tKMJP z0=|uI_r^le5Q%B@J#Z<+wR&&=S~LMyTTFC7?B-#P0-Zy8I9C58Er)R{Ip+eAafLNO zNhG_*u-eg9yu%+NWPnKAdLOyp6^9jd>SiN2?%5Pa)4ZsfI+~*xBs#=*!=dOWG8A^f zA^A>Jv&{)KR!4_!bp=W9(N)z$K_=f)LDT*8hQ+C^D}D4+zjfaXohc`5yKu%hT@({6%vkZA7wJMe}sJ@?9uhzd9_4#(swrf7)`%cd<{9nRX!v7FCzI z^83aA&N(AYZr$@8r`l&`rL?bEzTk||^WP!cb{X0iey49+orAFV9UsZ zD}fw73&(;m8f6a)c7xA^v1yG)p5S0>oJ@ngvc$7WJ0sR97j=(?-xY zIOFfFMJs3f^p@#G?SPgsf-6QdzNII%U~J=dyxvF>dNiZ#lvjCIOEjVrkM@G`a&o!S zq?LAm!E4T_ht}=X3p5F*&HU!oy53Kl{@g3;4>%R%$HFQY@S|?2qTV8rx{nl{Ca(zE z|F8m6_s=7(_hI4rBBy8$`O&a7Yw{IYSsGiGH7p^Kco0O&Dne=@gKq)T>Qu`#>SS&1 z46ELMkM(i^{mDABBuHts`}7NBA7ss%MwjC7#{$2qPny2q+CfhW5B*+_KKx*CXNOSp zodW&*@BO1^t)w@L`?JF-Ym}**<6n&U*N5pTfgF6AU}! zgS3o4yu$0X^nQ{PhJEcWQ*QJbD>aSjXs{P+?wn+2d-XNP1)flr?}*l@=185)kZlhI z>8&OXgG}XmFGcHlI{oHq66J-aP`2+7?B`FZMDdpHI;vSJMbDTz7uiJ{I`++R_)RYVBcd zB+==Z@EhBY15O(c?U!lIy1N`oUI{V^bfMD11T{UnP+5_JOH5srtuBIZ4{SkWoiv$i zwynnfB>K5O-&C$AKv!ReRBj|pjlFdDSxGRvk=BE}95%g>_RjUy()}G|XXcw&7Nk(R z+vVH?RZtZA>DcLuzrUK{c@Y#hsXlAN5EBqcP);)FA3+ers6M+y8ABXSz|*64G{h3K z_SdMxGJ(UCC8d7VsCOaJsRcyMB3$vMEzzl4kh%p?@k4YYdU}%Oi^bu9-T`Uv(&3YQ zD1NVyf#f~ zH`B)S^nA?NKSizIVO4;LF~!{?*6;8=&#sSAZ0yKbbK!}=~!>!~w?D>PX9sGae&?zyReQVKyb~4Bz zd*wCM0=sa9B*esfAhZ^%sF9fdP`W&{1Z(4Kn)aEPQ|eICqjk*=Bc|hpjU*yQ&X0JE zAY)&RujHJOV)RhZSkg;Z&VNms9c@g?+$)qh+>S_xXRLHt9Y6$R#l1!M@4Ekm#n@`sdooH{~wH8BqDrY)X4Eq;}Z+=4wZm1K*)^5n<>&cM0_w07_%tLnr>iHEa zantOHM~z7GHfK`g>nn0s8?uVjTXHZRn_9*R`A`EX`#=N%I55$OGxhZp=R>@wIFjoW zMs=K<=b5jcQ(-wf;B;IQ@Tqecc_lsZ(ZeAvQLrE&?tq_v2x7a z9_Qsw6wYWNXVN3Zm?yUsA&JbYB}f8hkd}iuo9df0f>(dEjO<_G1Q%aMyh6Jn%cozphaP~T=D z$(3iUjFQCBm%JQshg`dhvCq9>s6wVCC#*1&^hq&#hD-j+aEBMqeK32<`GbXIquX8b z4V(J=aZs@Z^RWD(Gkv{sLc$-A;sWz^sHux}*!>11 z8N@u?HSMeolTRSQIMbU36YKv1h5Vt2^-rPqKFt`k3M4LU16>+W#pVpqdw(Byu+t_k zWN<#>;=$XV0{!q#9}Ed6E>v(j>XX2$HwXPdWemo3(|5cnI$9WxBO;{w7*-@^{8CMK zDUMB&$BtOiv1lFVGdYzFgMJ9D^ALCYqo2(@mp}E7Ao)hWB?oO>)RKPUe4NHH3>9in za>}YndRiAOq|K7L3Mm}6)<~=Gp!TH-@ zu=(Z&XKSJ4NpPs*de{g$frFJ|{W!ldLyJtB^|Kc$i;X^W_&VepQL>hyv*P;b2)ag& zHESv4Ti1A19w%#*EZW$JCX*8rB2<^E<$I;mdm)=_o06UMS2;O;FMDUWbfl~>n~zvA zx#~LGirSAdBAxe`eT&Pd$dF?-j576rcWwqs86{^}S+~cP@yXChXHDlck9V_5>tPDb zqoiYlC*|^3>)sFdBp*R=cm}EspBQOBe3ka7E>mZK#s8sG^CK%y!+{4{5AT9_%Buyi z#@8NMS>(Nr{%d;q3rZMFQ%k-bLHKpCRxC*=K1#CIh%tna_q6r{$1iF;CPSqEH-3af znOg4|wZ*ETV-lMBF0fS1dXc|4plqn2+mv3waD*;X17XRBtuOzJ$>NP}>pqNX*>%(yuwN(i1m=P>)rmBgw;POY=q zmpxFQJ@7&2jYsw-v0jXI8BT;Y<-!=(7kwQ_LAFCH5BrZ&9D6NFM)+GJ>)g0`3|CX5 z?vS=zW$h*?UBnshj8_7mT;~_#Jnq|{a5~Bv$6~K=K}3zD{aSjnx@!(B9|t^OoT(A@s|SMA*DiDaZ%v1a#$ z#~-6IydU%KRZ8jG(X~+PC`JW!1LwELlBA)+)-S@#MzPMUzrC2LOg$F@wodFc=#Lc*ys%s5s45WpH$G*dMa#yWnm-TDp6iv4{1xPDI&(>=op z!zjM{Y6|)yL37V%V!T(9LbYesx8h*cLLxG#XOy8upp5sc?W$dni1 z^u7qQ`Xcn~MX0qGArHC;m;NFwAr}#Bya->@MKrKnM5Xm2PTMbHo#P@#x-Oz&^+h~% zU&NWZi}*%<38OqOp^@?u9(iBFS@k8XXD?y2_7WNgUBb8eOGpm6gbl_^7-PDGCYDQh zY`uhY_Dk64xP-B;OK4hs3E#OdA*JpTHp#6R=V?VVr4>)StvIi?Vl!*Sc&!!9gRJ;o zZ$)Z|6^p2|$T^UlOgbtWR&Ow8A2qE}ER{?KQlAS4qrbys1MXCcTl z3qHy$)O%;)jyemmY!;SkvoIhi3xDggP!f`bd%3OH(zc=b}0!7iq>^gqm_emRz(>%f*lOT%IpZI(B+q z$0X%-wDq};pVZfp!CuEM?R88Jx{h|i*YP6cI<6S6W4Gx#rdY0{ecE;WY`>07$93#+ zUB}ew>*!E>9WU#yorf$o5Bs!vm>!gePQiJ26_ST*#yspd z;51rHU@T)x!*^WFMaOGiUbsoCZ=HYc+9&+S25axLU0m>Wj^0|Q;^$pnA8!%{Z zKofKWir^b?hunbOcmqb$4QMSlpiH}gTKf&;I&R>g>jq|3-$2*e8+cQ91J~vG2=~m# zY-K*W`Q+m_bw2Xgd>qo|V@^;$x(DauZAdU{L9&BwdCeB6}ZM5O0U%vat-FQ1$ELwyqk>`ffe-o%2So9G>U6YoQA;+F9yqD(ij z&~g)f(r)5U`%M%&ZsMrxCKgrSMBmz*_)vEfx8((h_AJ0+WdZv66yPs)0gBiH9McwH zNl*d$2N&RDNCAqC1&A>fAkb0(@3aEc*$d!s6u{&vKu~o7d}<3&Usr%T@>_`YyoII8 zTNvPT3xBI`p@hAKRT9GdkdfIZsDH15b>UcSg9<;5T8Q)t1d(tTZog|LaYiZ#L(bEdw=0fGPnp0LyPdxScEgCB79>h!l<+&G|DZ)BS#U=x{9#Ax(K6d zi_o~f2;a(!k?dKF4a#DS@hL_V-(oywi*Zg{jEzCX7#m!SrlH07&RC2TQ!zGKiZL#& z7|n8v@x)P#^R8lSt}e#-+F~@XFUI$B2U0y9*rIe`f{z0&d>weoI&eYjz}6rKCI&mu zGSq<|j1F8hIk3&*fM1#et#TcB=5XMW%Yp6H4*1tP;8E{DmHZB@o_7$UyaU$f4m^GD zpqjmdH0>RP2HgP#-$CopJNVIf2kE9e*kQQ?q}@TA+&g&gxP!~CJJ?x$2a{^=pl$sf z{3I_yhGz+ODN8Wfrv&YMOYnj%!4+)@b_bPUN^l9yr!PK-8bjU5i zOGgQ=x=OIOx&+f|OVF{t1i#4dBFpnG_9^dTy3bv7^1X{!>|I>b-o^f)yO2 zd&u*=heOJHnB#K~-F@%jEqf0)wD%AZbPscb@1aNNJ^XIGhkVmL9JbuUytI4hnR^fK z9QSb3bq|r%_b|Wq9(vW^!yoc86nK{5h_Va|e9F+J*(J~+y7+f|0>>M|^@EknQhGW;dKk0Q_eIHtUhB|i7j-}gQ~ zviDJ}y^oln`v?ra5AV?Xs59P&!*m}e%Y6i;-G@)^ebhVde^xEXQ$WIhOg9W1w$2KC$Jvt1U-dP&t+dmt#<9IsP%0qtsN66P9wUNGr$S+;V(& zl;fVO9P!oVSXo<+A@$|>SN;HHo)2(R`2eeY9$={N1AJj0;J)?&5`rFJb?^fW3w?n9 zj1N$5dVo`w2UwH#0K;=1;H%>S9=IMLvHAhl);_?9`Um)*yaE-T6-ZK6K<85dm2U+^ zwgQ5-0(?*fxZnyfp%suFtbo&00kfq7`m_qDb1NXfQvsK&0+#9u1lLx;x4r@m8VIQL z6mVK8V4aVEk-h>Nl7NR=0cU~)d=o5SRH%SP2L(Jb2{>yJus%(|=v)Df?+EzTB_O$4 zz=m1@W9kJoY2d_TPbbbPo!IE(#8_V^nvxUWX`M(3a$-}k6XQaiXm-$vCnhJ(Tb$UO z=EV41Cz{`J;(M19snt$wsdZvPy%Q}OxbW1|g$qg-w)(g*(bt8RtVF0!CCIlD zt*H_}YAcZ*REZtIl|X1E+8nIJb5kWQTPm?LtrC-RE7A5&C4O>MBBQzzyJ{;jxxNzZ z8a%`c&xg38e2CpX4>85}A==YJ{H%S5%%F$Z6Z{ZULm#5U!H0NhdWfr*huE9;5YuuW zqT`*1_{H@QS=A4*ul6CP*FQw329NN{^AWBoA7Q`GBh2u9gwFH`ziJ;LJLnM(1V6&e z&`0QU@DW~{9wEo_2w`cD{?EXjHdH}qdl-k!B;#hD=XojkdYTtQzqW-+NHJq25f1Q`Z?dRp4{_|3-JumKxW*M|-mLFZ3Wo=-y zJgIIL4^6Y&Dr}Y`WzF*L!e%L{Xco`PW*PdRS$?W%mUa7@<*E8+@oH$6+kZ97(e`Hf zpZ;ch|J5QV+gs$r{uY_7ZIK|w zMH#cWD8IQ}ludybZL35nF3FU|CHd3k zl57jSBrmEjNwnsY=oDR&b7hz0vxS#rLB%DBsk|h*)tBV2noCl%?~*L6za;90OQLAJ zB#rHtWPAT5Dc4?-SVf!YDcj_4mp0iE*d{Nj+aylYCi+Ef(p1(apD%2aMHOulU)d%G z)opUVrcHM4Ym=Aj+a#f(O$-~`q`AFKzUXh0#o9JWR9qG#0xa#?l-UY38WFUvo5 zvrH?xEG=c1<$o7mmL(OJCAspl7*}7Gi#3;J_rA;WO8sR?X}ByVjhCgh{jz-7e_57l zFH5STT}+kja>=D#_5`-etLk=1)3l3OQMlSA=oA}er(AXElmmgC z@}{~|vNfGzThuAtWu5Zhg`KjpqEn_bjjg;UGh$SmlQX2iF;$047PX4kNsV;R@)^{Dz1u$ z@~Yf&xhh8jugbgXt5Tx5DxO7GWvJ|`{Iu|@tgE;xPgPzOuj;FEyXLAK-FH>~r~azU zXt*lgjaOy3{i^)je^u6NugcSkZt+oe%N>_)ITqM0@2R_`RMRcKMcpz|)-As*?3N7` z-SSLjxA;|e%iWr8Ilix3-mmYLnGN0I-`Fjq?cMTgf46MZcFVJhYZ9QmCih&f$%(*g z@`3uAlxeO>V9_@i*`n={e<`j@xbnI@a=9*N0gzI3b6p~e zuFGWEb@^lAb=g{RU0$fXE|JyO<#Ek*IlJ$=d|H29<~LlIsK)Cu)qY+6?7uGCwAbZD zMXy9Fdqu~!SI!0Y%4h0cS)l2an4(_Moz*LUE$o$=ie6b**(>VmUQulCmBxL&vc0}n z${Ttmwy{_AI(p^r{$AOk?Uk1lHzZDZL-bv5NK@bq`CNTN7HMuse9;Xtm~}(WFT5c; zD{jckl{X}z`i2;8zah>0Zpat)H)L_c4M}XgAx0fHW9|5o%#lCn>xx%Np* zV4wW2x=)s9`XsriPmE{v$;E|zvb&;BUa9PplGUhuwTAX_scR(zoZxSi}|d6xxBDn_Ez-EYnAV z+xw+`U%%|D@0W^(e$h1ci?X9%I{N#iR@*PHD+WZA17hhqAf15&^0j(EmTLxtq5-j* zH6T|O4#@tB0ePcxKr*Wb#CrRHbnP3EZ|VnRMZ6o-zRa=rhi9MayDw-ketryLYV*FotG9F*_WgR)vPDEUQ$;xubeZY&&>x{5)0 zyK+zpst3h+`=Ipg8?J46}O~Fc}rYfZ^=O5E%`xx zOR6-tu<^0hFkJv<1O*%xFxsx zZ^;quEqPZlBqhor@pK)Mp}-;eNj)U%G(+-K(U5q}8j{-!hvaC*ko-^Okj$ta67TIp zGQ4j{ey$&q^$kPvbmNftbPUOz{vkQ09g_DHx205hTYOz_%ShmD`9*zOHfV0kGex(> zZ`N(OyYRLguedGmSKgMH)wjie`)wKBcUyj~zbzXZZp*WcwN~Pob4Q*px+9^p?#RQ1cjR=% z9r?KOj?AsTBVpU`$i%)o@_+SrWJ|*x`B&o|3GcWgkNWS(8SNeUL@^@slp_-1IwF&S zBl3rOM7C;1y!x)h zZoeyfwRh$3`n$5D;jX;Ycvs>&?u!1vU1`$ZmCqHUvPd~9@vfs{pc<9)>QULL8I_ld zMkQg^s2G-yN^`}id{H?ni>pT^ar>wk)sD)A`cc`{Fe?9U9F?SwQJFR{DlOVk`Cr97 zS)#lr$*%XrSanY>s_)5e%{_Ug=$@p^x+f;(_oTJro_tw(PnK5Slhp0^#I*LFT&lk( zdm8S^tBv<0t>d1U4cwD9?LGNQp_OGyt)#nZ#ayM8%WAFc)oA6lBCTZ1(uzg7R@y7H zvaeDr71dhNY}bmiRx2I#TB&W&%Il3Uu*Qq=8*N5VzdMLNm59O%lq5MzLLzyw_p?H@+l;Mhp@^j@w zSzrB7p5FdYd}<%co%)Aztl^=&*Z5FMJ06Pfz(X0)K9pY+6S6@$AzI(hfeF!S zC!|5~NUD{OWR~kAQK=ruef1+bsd*$H7Cn;LvmQxM`6C&tcqG47K9WtB&Ql4$w!TkWKPE;2^n}KvcGO3-EKNOE;tMakD z;QCl1RgdMd`mvnVJeE(39?Se$k0q-7u}oDwmOm>W%eLyr^5XW#5?%XPbbfd&=NcZ% zXN`|#LC0f>8F(zZ_aDn&iYcj4PRT;oDN(DYL=ihBjhZRhUNj};v!*1rd`k3QpOU{T zr({RUxhDp7~|89JQJ)*-S`hpkWPF!`(w^XBSsW`Pdj|JGs4YdTE4sl(hg zI-FjoL+A%OZ2nk>@y~RavrC6ldvyr@uMV5O*J11@9cG`<;pAx@RDbDEeL)B9WgW`8 zbvV(dL%?kvHr~@=^q~$jb#*yzq>G=0E*orh8FAL7)JvCR0lN5v>9RgXm*GTRW@PAc zG+P(1LS5E9rOVK>x|Gb-<;VhEJpQfA+Sha$d{dX=HM$&Lr;FPMx>S9v%fM&46z$Tb zey=Vr|J7y9_qz1`q)WjGUFuHj;`Em;t1sx%ds&yfZe0%b>Edu(msR(4>3OJ2j;?}( zMhfgK6s)vW(Cw@s+e^WL00lN-3Rc7@=t@+OnW12RwgRg{1MP0o76dFinuKo7kzJ<4PB zXiU^YouNlfwjR2LdMtQKk8{uJ5j|IrZ4306TCB(X*Yr61rXG=N^w_#ikI9XC%==i6 zGoR@ZzDtiSd-a$&pvT#?a%kFg;=X5Z7} z7Fy82Wb>7zB*r_5HL6VCbscvQ-g zecVpyQ*~OOfphv4UC^igvOX@|`mE{Gr*BA~f_wVZJ=DiZ*MQYV2K1U6kY{VaA!h>| zybM?sU_ei(0XZ=S985I8F2jJ8*#>kM7?Ayx0SBHnz-F!iD;5~gwb+2n*9_SIrU6!K z3|PL-fX$<~lv&W0Fy8L~LQkmgWB5@HP5nP`YXh9Qfx z4QVPcBX~f9eMwG5I;@Czbd_Fc}{bxoDe__Ooy+#~8V1(EAMy&hEh@oGNC^>D! zk#k0PTrgtoWg`Z!8d2P5#Ni<$-0m4s_0Wg`ooN&qO{3m?8ZNfeSmQj6KF?_s1WcnY zbQ(@E(^#E2jo$QW|AV&!E44WdefMuw~dKgXUvX`#^`-)O!;TVG=5=>dap4x z2aM7E-k1eH8FTJeW1>$Rv+bNQQ_aTAziiCetHwn38MAfBn8{IN<~=m#jE)K6MkZ`A zH(|oYgt^Wpoc1&!G{A(-p(cz+n=mKQgj4Az1ZSJDslbG>5))=WYr@IrO;9Z`p?a|i z+GQq`y=lUUw@nCGXTrvfCX8-2VdiHh9RI=uzr7}GIAFp^oe8BsnQ-h^6MRmau>PD0 z!_6klxNO4Ft0s8$nXqoigrQLrN*CEJuW1*Y_sm{RbpDRs}A;qr%*bb{jJ?oXyzlX@+@#8OuV=Xp1%@EzyiU>1LQ_o3XUOjMfq}Ql2$q z_w!~LFEC@tVl!HnnUVCS8N1##!)Toui#M9lyxEL|&&=5Qg&78W%~*86jHWs>;(jt? z$FFASoi?NVoEeSHW~eWlQFGM{-99rG44H9m)QsqdW^B_jXUfo=`R3-FwJ|5s*_^GO z=1lsVGcVMfGtuURCz`V*-JFRmbLJM9bGpQw&}Yrr{Jc5iFPbxFu{o!fnG^h`Ih)=# zXY5^bW^Xj-IUBB; zGjhY6(jjw>jhf^0(46%;77QC&FvHw}qc#?JIa{#K(}E#?3ra#QI1+7vN1_F5(=8ax zvY@!Yg2N>ixIJq@)$W=f1#8~6pzmD^3N~6$x7h-x&n#H|g$2D| zS&(>&#dj9Osx(1H~@O1cb{ zWST44Z==M@S;=xwC7u3CBveUlv=U{al8SUC?O94P3Y6?EQDXkAl4Z{;X?syg+F~Vp zmMJlPQ_0e|m9)OABxR$L-J6vdf2L%~7fM>bQj&B)$*wvjMn5T8{Hv1Y-<2esQ?j#J ziNR$hi>@kZx}hX)NXd>-C3+8)l#m_OLUzrS>S2OIe$x{LoL}BZOK%E zCG*oQIh$okWPv4HODvh3Y013jEjja|CE<%L*|N-%i4~U2ecO`L?^+VN(UQ%ZEg9ct z$(%1NIrWt#!3QkaRAZJQ-!S1mbl!;*j@OE!*LGCFR_ zOdTtZ8(QIKZp8*0D@L5GDD|}Bn7Sil?+pNgDYQ>=&RyYh2|Uv+tZo@ z{?^!pTC*bBnyv(EGSjWupJk0zfi=rZtm&L-jXZBn?TgkZ7h6-Y%$oKU)?~bG&E9vd zG2dv-vdz}CZL=or3v2d#WsT_pYnIko(|W|3lwYmc{kt{B=d4-MY)wm>HAz>k*>%Gj zqakY+k6P0_ZcT!Y4Lc2OFfg}ak&O*aPBz4O+OWgl2E9-l%A;*)Ot3+nZbMC$4Y~z3 zEGV(z+)NvypSNM#i#ANXY{UFzHk@5yL*&~wY<<^;$@guTx7mg>+iVE`!iFth*)Z{q z4Rh;kIDN#1&|huX{JRa~f7&po*@jbXHUwX_Vbcv8#%|d#d(?)L<2I;tY^gT1MQdhD znT;(coNNj3v}L2eEu$f}%#60>c!Di{>9%ahvSlRSmeLYij?J{i=XqP!zi7+w%eKr| zX3NnPws^g5%er@M8G7HAlFhap*=CE!7q+bZ%9g=zY$>j@UUcP{@eYb2W7`3Ht+!iMtJ60Ro(Q9T$o{b%coa}J$v}2XO9X%m--I^VZLHrr9V z%?{-kc2s<2NBcK+WYpQQ_lO5Ui6!e5N*%S1bYn9?OBv%PgA}F`wsYQc3}NB2Znb#Fyku+j(+2SSDgdvjyN!M+<}tc9XRr*10Kx|tZj2(u*-qs z8x9=4<$&9$16AV=3`{vtWavn}nIkSXj;wKVq|d{V0)I#9LL705c4T#eBfV*k zDBlr>5=U0ebfjmFBRMZRa`0tG?3OvQa)l$^s~yRH*O3G7J7Tlhkrmq<>DuW?=2wpF z|HcukI!BftaisIOBl5c=wSPLIY<8rg&5`ylM>1|WviFuF=A(`*8+W8_%8@ifC-#^* zVQS;VQYR-`J)B7KcVc&l6UNa_EJ<*pCC!PXEGKs5J7HAf#NwGwG|zD&;YBBQzU+j- zGA9yRB z-ii5bPMqy>BJze4TW>irdDn?~<4&BJaw6Q&nJs3{OjtWJ*U6dF9?pdNJF_{&neixR z<|H_CD$SYTEN3?5J2UpAGqYzpb8?O|su!K9e%TrAtIm|IaOT8nX9C`JX5;(LjDFjk zp>B=~PA|H!`ehe-Uv(jGg$svPyWsGy3#;CDq30tPa<;i}aHk7)U%9aI8yC92b0PbP z3kQz7VDq~REB%0q@Z7%HZa>43`3(If0(0SJd8F!&}$_1sND-~w0v|GE9;pEC* z4_D0nU0D|5N?VjGX$h|ENpr^nQ1x{7+XJ&%2^-bET%s z72O-IEV$*$xx21JkGryM%9SYtH|CqUan{<6NGCV8dbly^=f=DcH_k-45uV`2mNYje zGToS)@5bpT-3XoO#^yP0jL&yt&dY9`dex2K6>e-=?Z((zH)g-@#>tP|P;GOgdZ!!O zJ#LhJV4rjGl61=AUjHKktTLn;RRt+!*O~qx6;=$L_k}Gw#OvDK~}< z+?iqK&QWW3yqw%w=i$zfpF1TX?i`77$0Na=wQ24QX1Y_H@6O>T-Eo`gPSqTD2Ijj{ z^s+nkue#&1!ksm%-RWEFPQm-`)P3ZR(>8Zj?{uekk2`taxO3<`cN~tmv+B4zJ*V8s z`O}?)=iRYub7y6jJKeqRWZ!by7%E^P}9v*c1c_1Mk z)JA!rOz@y0&4cz#4>IyS*!!dh<}*E5Hphdu`5vUb?7^N_JuqG2!P3GjHV>BU^q^&r2T9*}ulgNBewm#{} z7e|l1V-V^O5Ps+MHInnD$z%5TU-t}bkfhRMkJUMRQg`b%h8?3z; zarC0p!;52nUigG~u|CR+;dn1*qH^_{prQ(^Ir5` z@*=Oxi$lF$INb7L)m<-o9(a*6<;6h*Z|uyxS!wM}x1%@N9^M@A^TsB`n-x*sbj5p< zndZ&@OmD36y;=UGH=WOTBXhi|o$rnEWp658^``v|Z!%VUvv;jG=I?v6>?3d5KJ_MT zr#E}{cw_pFH%q_sru9c}QjUAG`;<4ve|odzyf-bEyh-ZvW>>E_Mz_3KeAk=i2i_!1 zd9%~N2Lm%77Fqky@7#s9q_FW%NKJY;`IY)WoDEw$K!qROY>zzrY|FTzLY-c%duyC@tNbx`uV;LFY;x^tG*n4!xyjBzN}m8 z%g_d2Nr9$yCc`%?U!FNc5h#qGE+Ri}IzIO|K%d0*-;`Qp;$%bH$a z`UZU|xa&*Z17Dn`d|7SaN3W?LdDea$a`eN&!;e*de)I(UkrU;|!FWIH()?JN=|^{- zAK6d(ao`z0Z07i}V!j_;i~PuZ)sOve_+ho$kL7Fq=-l9keB?*%r+z4R`cbjRkM{k3 zWPInx-XHxiKkmn}Q+~9a^&{=PAA2tOVcO-#(q2DW2mMI7>&NZ~ei%>rvBbci7E^zc zto_;L=#P!CHULZSW`hBY(Di>d(~Y{>8qB08R!6po$8h zIz9kxY5--K0i4JSAmGUWHa-);=yL(goFBmPMFIG|8o-7(0vLHKfYP-A9NQ3p&qo2Q z|1^N%&jXmTCxD~-1MvDTfOS6xF!W0RC8q*7ay9^u^8u{A6u{t>0E&A9I6N4D+uZ=F z9t1G(IDjI9K3J@YocVzqToj1itAVV1BarU50?A$*$bk)k*nAYoicbUS`aF=#J%Q}sABfd=fh_+q zkj`HM`DcJa?b$$-=L4y@6iEA(Kr(s***h4B`Q1R4JqV=jaUf|1D)yMFFtt{()KNvN zyNVP)6}y8~7)PmC60f2qRYg*!id}gsjGk1n_!$+=e5uVUvS6$Y=WSoDU9rngkY ztyQsOg9^QmRFr?JqVaPT>OCrI_N&nSPQ`*BRh;`pMf52Z+s>+(YEm)(l8UoeR7Ccw z*gB|Uazw?v2P)1yRuOIx#1_*aCai*(>lnmo_aH+3g4i4!#CT*7bK-+Il^R5FW)Pe5 zf*30fV)ipZoO~__)%+l;7X_hR8bsL}L7aFih=8?0Y}^pU=%yfMej3E_&x7#W6U2u7 zL5v&=?{p_h8)of~g7)W*{<{qWECyQ-g8I3}#JUFnz_r6g(45-E+Y>%@1bvqF{QL z29x(jFo)g>#$jzRt2PAFvniOIPlGx5c`$Z+f?2sgnC?TtWd9h7~A(&={urx1(*5VLSo(W<1b0HYd4`Ioo5L%Xokn~0fyWR@HXl)3KH-ylsIM1~R`AIg^0P$mdvZeA#-i$e*0CX~(3 zg);s^D03Eta%yQP!Ec1J>8()4-U(&)hEPs!3Pts4DAk{bqWv!}?*&Fb(6VRTy55VXSix zW5_p*lHf3oM26uJAI93$Fa`;uI4_LD#bLNT6Gqi@VGO(wM$w`$>X(M$@!m)A;XSsVgoxb5na5%M*;V9$7sYnf{op3Vp z!r5CKj`=g;EPF1Twim)lTNKWorQw*q5zf-L!fAacoRkgW?A{cP@u%S|`8=GKFT+XN zAI`2r;TZiG&f;IfY5pyogtOu7YzoKVQaFpQgwu3AoVdYoc8r9h_aL0|$Kf>UN1!&1 zpvEc!UB?I(xJPi#H-hNk2)0E=FclZU{L~1}57B=uiL;<7)IHHRYUI~+;DFOk&!7Kzi@NLDvR(%TwI-jzrWU5~_JFp^axk@Sp3 zlJhu{gZfd}nMSeFDvEB0D6-w7IN%$FO>h(|BBSVviy|{Miv2`kl^4bG;wU;xqmbvK zsC^*{<)SDmmPXOOJc^9BqS*UR6y_VEShgvOwyja5eICW0FQYKsAH~u`QM4Y8BITDT zcK;TI@!2SrG)2+U8b#8TD0W?s!e}sx#UoKPk42I2IEtP6(HNLUv&br%CWmO^+@smy z8;xFYH06=eG{!}vPK~C9Xms+KF!RxIU*1Z$M(0ehIY>MH?))+iKk74bXF${hk zL-C;)4j+!e?Uxv;ev4t?j~I%YVyJJ8!R1N}Yp%!8cQb~9kr?X6VsLsK!)kpsy(Vh% ztkfKGP~+gPW|gm+o**?jk!lXcsj*8{vl2DkxoWbD)f^~QWAmJv6)&jidPz;@QZ@UR ztFd}Z&GL8DbiSuXHmRxIsz&*_nu;&gw12H8qGs7|YTEu#lh&kWPpcZ! zD{7WrSJQe^P0EOx-D7HuAFElSA4`i#EJ;?e>~e_3$UTz2{;ne<7B}mts*bjiqLJEV^&Svf!Oq&b=2)^rl$0ZH;AWM=bNd zjOFatu|ytW0|#&I$z4pn3v)p2oXQ{pHijuW|Y1Qf@yu{4g+*>TK#A&%oO z#o@O!jt$G>7+DoZ={s>8doK>3O>wN>8prUCIA(kq$I-9j@H!O7y2Eh{9gCynw>Xac z5r;=p9BW(S80?Ir_<9_NZ^q#^5=Yfo90QYa6zRuPZxWA-RXl4P;^}jXr@%L!x}bQR zBI8*d7f)|WJbA=(C^sI5;&@h-#?v!9o}3rrIrvgMc1z<~xjdfkRqI^UHYle;tq2p?H=bj;HfjJn~ySwSUB;Y>KC%HJ+UEEQw2?B_)9*64;fSfKhP*i%Sz| zo}EC#3kmFeDFK6}2`pNkK+~!O;@(MM$9oCrZAzegYXXfs5>S7cK+V?)=pIU7!QlkX z9ZMkkw*!ZMM$4vCz0 zOC;1ckI8TmGm(!+@yJC=ygZ;7n`Baz|16PeMP$kEP3 zysjs*?q(uGcM>TXOXSF8A|ColtTjnu&@zc)ha?WWCE@0qL{(4{0})9S#U)Xnl7!1Y zA6%20MBfuh6qF`WH#-TZ7m`^0QWCwdB$2l~i9@TBaCj$)RqrLy^I;M>Ta!4rBMG}N zlUVt665Zb>k$pIc1ILoE`7MbRebw%Wo#pc_#@OOQLo%38j8A z6(-5FTPBm?kj!4UWXye&Sr(K`TSPKxamnmSNye09mgXkY`b07*rOE7`os97d$t-y( znU+_QNm`!Fu2snxy_3x1_mXM;Fqwp{$?V*bjKP=5Ec!Z`rf-vpJDkjpW69|KmQ48{ z$u$0*jJh?Mn$Bc&uP3wMW-{mQBojTB%(ls7ru0&nZ<4}U%M>CVQrPO2!lX|M^MX=1 z6OlrATnbxKQkakw=H{kw`iT@mOHslOySs_ z6nw@~SU;J&nTnS~D(l=*8S+V`Bq)_55vh2@rLs09l|f0RI5(BUPo&~j zno8B|R0igyQuIGESsH1+q^W=UP@!nD`}W6Ph;t- zG+L|DNO>=f-5;i5yfuv_JJM*`okr5vY3%wo4Wq+pEIyV-^T{+4{zzlz-)R`Mrm?6q zji#P7;%=s~<4ziSV`-F6rqQUEj@l%h8q0Ka9nx9gmd-h!bfSaO*%pz`RBSr)Q_?vr z=|twHv-OE|CZA4c-t2VF%u6TyrF6EulFr2I>C9b~&grUjLf=bg^M~n-f0E9e9qF9f zolfxA>1_Hoov|O%nSCsslPA+r{gF=f-|1*Crc>6L&WWCM0&b?W@lHCU_tTj4VCd-#N@izpWL^dy zFJ-Xyl?(=7&!Bi!28XLMaCP`kd_cO?u%;2D&20IfCD=js2+iS>n({R8?gH4cz z6%iV`Vl`x@XxJ|rta3Fhe?mj&(;8&9hT3@=lrL$hctu0|>l!jvY1mt(!Tdc9%Rbc5 z_KAkH9UAuR)?oUzhNa(XX#GJ$$}tVQPiip!L&K84HMCsRkkqMRSC0mxn;I71(a?Nf zL&BtnoqB?SiLl60XtEdL+=LxIf?kkN9w9Ww3hET0Mg-klVZjr^KMXO^vxRN*gsF02 z{wu=S*M-Pc!qzHba=kF`L*dLPLii40%Wh%fA7*9lx5DWkgwSKc=99ws8DY-f!l{cw zaHp`TM;QAj$C!ObIC)?AXJSjW9%zlB%o0x6Lx3A>^npOzcuJ zSt*%x=VX%oL?#EG&ctSRCM)J;(p8>G<|~=(e?1ecRhcZW%A|9BCh}n>wV!07+>uGe z?o8TiGs*Zilf6G=Vty=>WhXOfJCjM;-naL8p zELx1SNV3dgmwgsSZdok$$)Z`6MM6XtJ7cpjNXcT6WYLt9Mcflv?07m0z1dlm&* zJPY+JS=79qh3={>7F1<%ZhaQfA7-)blPspTXEA?w7H4a-i2OE-tv_Tj`EwTYPG)iD zOcvpPXR+mC784y=%2m zql(C;IyM_^ayI|S(VWQ1Cg6!|Ha?xr=&WpJ&dcU_c{YBpWV7M*Y)1Z*O=(p&$JS@# z^I8yHsIz6+dlQVBR2g|2p_sVouzCNAq|4b*lYB~qjPsirN>8$utj|I3!`=M{JXU}FKa7{6L1`cgDMdy?GBYBCC?hK)Gf9*g8L5<& zRg$cbm6er@Y}r&+c3Bs$jOZeS`~5!0xVrd!@89FTfB*mezyFWN<#5hhHJ-2M z>vb-))uL6Ackb;T=@Mva8hkx}Yd5KL<&Vw=f%6fydL6;Eu?MYQx^O+opc6Ph-T%&p z;YrmG+QF`dAGOi6B{<7A{m`06+(9|hIia?7$D5dg>fUO7DzysUA5xRhul3+~ki0;S zH{}5L{IHfneYND7Q$Zt>TA6Z|Ecb+i_AgZ(f6W^76l+D3TyHeUoI~3a?$tA<#oIK< zZOIw*^{}PDv=xU4vz3MmQ_zo3TE<$n118cOI>I?ghboOs_=5uGb7<|Kdp*&izxi~E zT4hktETTfM^=zl(WW3S<*Pd``MKgL_mHmec^fxUhhuEs4zYm`sF&_BAbIP}Q!2UN! z72`PW?Cu3-@+WW4swOu?#|ip|UYg|pAWWXuWuKH(7d?NCzD>0M&UegNGljvl-i!3w zPwfqLY7JbZ=~ad8*$-DnTk(_UL`aWDpMCByt3r)wOsQoq6^ZzmGW&AAKjUKHrK@*E zZlulrl&P;!nbdgo?9xp|5td7sjC-mgpQa`?l)^971ULrhG+b|WndEv~ef`&*IlV4j! zY^aggEc{B*pTeClm34{|juUS!)G3NxqTp23DEf&b4o%_^!^v!J?jZfVXtCKSi#U{D zU95l623 zCH<9t$}sHa5s7ZM=kYrQ_UX7wn;p6NjFhH{LMc?a@<)_-XE?_jQ`I9|mRR4!=ljha zcl(g9Q~7F%Vo`$lfYQ4HzuXb=P!SeG+_bpEQnp`yyZCN8_Oc&O#8nrxE?km0B5-}D zz&CaGu5xizTZ*qv$$mdw#dnh((6=h|qx9W5tVH2|L#xc$Xs_zDB)i?osK&hQij<0n zbRKcPclYc++I~jTu%99=JAV6AoR>N;cIi;=fr#(}_kZ>2E4+%)n4_U%94uq6`|9np z*Mix2wtIXAi@7)NIIgyQyx}XCzC!I+c44UscLAQbe}{ zd-wu>*D1Y07nzBrlRtj3?Z9@+@Sow(1OMJ&Vv#M1wh8F8LnIq>pe2K+w{DQ`;n5;zM^Qv$XA`UaI~YE-NFwO9@EwH}XLr|G(CNHOZC$n4J* z8xYA^{lPpa?HgO)wF{r-ACa}Ca;J<2r47CF-m;6k`%IPJUyf*Ol6Q$0x2ce!w{2DY zqOuf*j)s)J@>|ELzPi`mVJ-_M zxIpncf#Nw0B~J&X(oyJ5(U;fX&pmtawTF@?>vON2a^IegBK@&*(o{eVagreJXYv$(^ z3vb_;7Y3wB$WrW*P2mG2MtK1buLtHAzCPa)*{>NCAnC#?a9g@6Z(jD;f^05HAjM+x zo9V!SFWIthD*~+*ST!b613orh$q$avzaH+%M$9_66tCZ)M474<|4s32RJ4|4aRaOA z`*`ZMlqlJ#DD9Y|J@H2k)P9vj>tDT49`ndEr||8CQMF%x{XCO*v2ySxRL*Nl_9l7$ zAZ2A0QpvPQs9aE%{ORKvInTQE(1^Iq0g zF7?Q0eJ`JuQNi@%g69K$Hb3;i+0w-c3mQMR{|^@MuG0004Bfssa+fnE+B!Ep zR>L87a43y(X!vB4a=OZ;zMaCls@SyW*c`RU>&;Zc74NaL`EtH8F_@Hd4YGORB);KQ zujwVkFI{>X-n-y1LOvYK|5m#74Mx=~eBe5cHs>{_&q(+chcI6rjy*3LGvOrM=leUJ z1ZPc-WpRj!8%qvPBX^*9=8$q}SmSJ0QLzR|cLNs#8|Urh&qYx&B)gM1C(N@p%jCGG z?A+pZm8{8}k2AMMEUQ{9uDFOO&-Eky7K;ZYwoGJN30#~mg|5O+$nr%@uSq|1^`Y8A ze0^7w7AL1=o7j~g*J<-Dvvy>LV~6hksw{ecZcEVPUA0a|47iq}DRPoU@^{~RpS$J{ zOYO_>CTrkQ(zx~}`SXP_CB`&LsmH2^+EmQ@9o_ufu6mz;f5<+!rcx@<--?7$z?Sid zuYd7tf6qt$Ee9Ff=AXJh@g}1^lU`6&IZVZPy5Zn2UCzlr>Hap_QVKSQg6~wg&lLDC zN=sF5dzwjhsLH|U{N0;x#vl5p%P`g{OBGxXzFo)t>$Z=_8Db^{idTPB4NKBW${sc| z$=1m8TzUEOEstJ@d6Zp{$G$)hsfQk?c=uEJdfYp=KXD(EPxH$^S~p9qE6ci~nN)d$ zO-#7B+DuDs7oTr1+F!2CG?FKO@%PKmU3_=2{vHDlnS97X{_yLIPqmcQku$xJf5m^+ zNdIh&x9N-EF#%)GowZGruV~n~qt*2W=S)v~)zr}@aZVL{^)|~3zL{6ct`sbAjdQBr zSgMz+k&;LGC8zRL1LMq=i?}1F!=&rjO}I0%%WFeaPYa!TnPb^j`DvKs89Eet}Z+u8yG|b|>ip zwX2nE*?#fwIJIs>TIRXE*QT<(LZweaD#1${a+a!o+sRr5b@wLqyP7xk`i_udd^9U> zr0+3JyPN8qXVUZJcVF|{t7o!QwJ25TRW&s-x~e_2RSQ^>`N>r2 zza>3)Na7(*zF408%{1wEizbVJVa%`iz*7~;>Y7QNH?z`59t0W$B|8?FmN(rRF!v1% zoJr<6o6bF3=Bf8hw!uBHH(PZ?R6Y2Qp(LNtfa;5<0~uzt!3KSOXAiv+Kg8!{#(q_= zZ^HCY-_2X`tY+3~?I+sJqs@b!a>eX&EB<5?^0b`((6)!X-4(YgP0h3tv(kqAo^Fx8 zl`mv2@l`)Mv03T|@u94sTi!ZZie0y&Gb%nknCG1qN&hwI@ieTIH^uwg%cYi2;pDtJ zF6n6o)l$+g!X9YYnht)W3BDfp_Orr0|FFN5w%m!M`RX^XUv&$U3$z_H&wkc!gvt3@ zulg{|i&w~=UdZEh*pClk)dz)cW!YMiw|UTIown|*kEIgATpg_~xW;VRR^OOt%WK;q z&}zVpDG2+_DD?2sPZhF`8+2*U7FvA%6xSCq3t{7ahSpnhTD{n^M7zxwBcQG}^j*dO zAq^YtT{WR0UF_@pl5=t~50gfBKhoYk_k4FX+3r`jb{CND);hP1yl;0)6Fkt-4EypSSn>RQ#64 zZQJZb1=IxwULUEcGJLP+7 za=tkrr|qnQ>mi%f48f@Q|P4eER+&uKIjfwLDNtR9Cx`Z&8-dH?cFRV_@+4 z*E+I?hf?e03%|#n9g00Z#+3N!>1AweYQ21$B41ram!s(Lr{D$Wzlj7xicX%pW`Ftn1+DLW=9}e{i|Pbj zjiiZpA3i`W%JSNja>#uDiCp%}c2}1VBt?wttji?j`Y^2Lq*t=Cy=s(b41+Dp5$=)27(-er6(4P+&sva|md z{d+=lT<=Mp#FOul3`3DjV|s?!PnPBzOj4)(T$&^XKRh|WENpfYcRQi3w6lg@Nlo}{ z;Sar=zE8Y9(ofRcUpV`V^KY%hfcum8isU(m&z6bUQ_qd)DZdDsYSS@p__Z$>GcYWE z>X27{DBE;EM!TFza!~Ou9ah$lnX2|x-2;*;4m6+dX;@5IYEE#U9x6XPGkG^V$R

  • L_?S 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 F{{RJ3CBpy! literal 0 HcmV?d00001 diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt new file mode 100644 index 0000000..7ac739c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt @@ -0,0 +1,131 @@ +Processing data file optimized_reader_test_file_no_nulls.orc [length: 139297] +Structure for optimized_reader_test_file_no_nulls.orc +File Version: 0.12 with ORC_14 by ORC Java 1.7.4 + +Compression: ZLIB +Compression size: 262144 +Calendar: Julian/Gregorian +Rows: 10001 + +Type: struct< + source:string, + symbol:string, + time:decimal(14,9), + size:bigint,date:date, + double:double, + float:float, + timestamp:timestamp, + binary:binary, + byte:tinyint, + boolean:boolean +> + +Stripe Statistics: + Stripe 1: + Column 0: count: 10001 hasNull: false + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 + Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 + +File Statistics: + Column 0: count: 10001 hasNull: false + Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 + Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 + Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 + Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 + Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 + Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 + Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 + Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 + Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 + +Stripes: + Stripe: offset: 3 data: 137679 rows: 10001 tail: 195 index: 681 + Stream: column 0 section ROW_INDEX start: 3 length 20 + Stream: column 1 section ROW_INDEX start: 23 length 68 + Stream: column 2 section ROW_INDEX start: 91 length 57 + Stream: column 3 section ROW_INDEX start: 148 length 96 + Stream: column 4 section ROW_INDEX start: 244 length 52 + Stream: column 5 section ROW_INDEX start: 296 length 49 + Stream: column 6 section ROW_INDEX start: 345 length 69 + Stream: column 7 section ROW_INDEX start: 414 length 68 + Stream: column 8 section ROW_INDEX start: 482 length 64 + Stream: column 9 section ROW_INDEX start: 546 length 46 + Stream: column 10 section ROW_INDEX start: 592 length 50 + Stream: column 11 section ROW_INDEX start: 642 length 42 + Stream: column 1 section DATA start: 684 length 20 + Stream: column 1 section LENGTH start: 704 length 7 + Stream: column 1 section DICTIONARY_DATA start: 711 length 26 + Stream: column 2 section DATA start: 737 length 18396 + Stream: column 2 section LENGTH start: 19133 length 30 + Stream: column 3 section DATA start: 19163 length 18962 + Stream: column 3 section SECONDARY start: 38125 length 37 + Stream: column 4 section DATA start: 38162 length 459 + Stream: column 5 section DATA start: 38621 length 74 + Stream: column 6 section DATA start: 38695 length 43212 + Stream: column 7 section DATA start: 81907 length 34041 + Stream: column 8 section DATA start: 115948 length 74 + Stream: column 8 section SECONDARY start: 116022 length 15 + Stream: column 9 section DATA start: 116037 length 22190 + Stream: column 9 section LENGTH start: 138227 length 30 + Stream: column 10 section DATA start: 138257 length 83 + Stream: column 11 section DATA start: 138340 length 23 + Encoding column 0: DIRECT + Encoding column 1: DICTIONARY_V2[2] + Encoding column 2: DIRECT_V2 + Encoding column 3: DIRECT_V2 + Encoding column 4: DIRECT_V2 + Encoding column 5: DIRECT_V2 + Encoding column 6: DIRECT + Encoding column 7: DIRECT + Encoding column 8: DIRECT_V2 + Encoding column 9: DIRECT_V2 + Encoding column 10: DIRECT + Encoding column 11: DIRECT + Row group indices for column 1: + Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 + Row group indices for column 2: + Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 + Row group indices for column 3: + Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 + Row group indices for column 4: + Entry 0: count: 10000 hasNull: false min: 0 max: 9973 sum: 49736873 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,615,8 + Row group indices for column 5: + Entry 0: count: 10000 hasNull: false min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: Hybrid AD 1997-05-20 max: Hybrid AD 1997-05-20 positions: 0,97,272 + Row group indices for column 6: + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.9000000001588 sum: 4999500.000000527 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 1000.0000000001588 max: 1000.0000000001588 sum: 1000.0000000001588 positions: 0,80000 + Row group indices for column 7: + Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.8029174804688 sum: 4999355.885653399 positions: 0,0 + Entry 1: count: 1 hasNull: false min: 999.9028930664062 max: 999.9028930664062 sum: 999.9028930664062 positions: 0,40000 + Row group indices for column 8: + Entry 0: count: 10000 hasNull: false min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:41.0 max: 2015-01-01 02:46:41.0 positions: 0,97,272,0,76,272 + Row group indices for column 9: + Entry 0: count: 10000 hasNull: false sum: 68786 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 3 positions: 0,68786,0,86,26 + Row group indices for column 10: + Entry 0: count: 10000 hasNull: false min: -1 max: 75 sum: 548544 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: -1 max: -1 sum: -1 positions: 0,10052,26 + Row group indices for column 11: + Entry 0: count: 10000 hasNull: false true: 3013 positions: 0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,22,3,0 + +File length: 139297 bytes +Padding length: 0 bytes +Padding ratio: 0% diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index cf3fde3..2a055c0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -10,9 +10,9 @@ public sealed class TestByteRangeProviderParallel : IByteRangeProvider readonly object _syncRoot = new object(); readonly Stream _stream; - internal TestByteRangeProviderParallel() + internal TestByteRangeProviderParallel(string fileName) { - var dataFileHelper = new DataFileHelper(typeof(TestByteRangeProvider), "optimized_reader_test_file.orc"); + var dataFileHelper = new DataFileHelper(typeof(TestByteRangeProvider), fileName); _stream = dataFileHelper.GetStream(); } From b66a60cae2b10ce95bbf1f8272b430be142b80a3 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 13:55:21 -0300 Subject: [PATCH 061/143] Add uri based byte range provider. --- .../AmazonS3ByteRangeProviderFactory.cs | 12 ----- .../ByteRangeProviderFactory.cs | 18 +++++++ .../Infrastructure/FileByteRangeProvider.cs | 48 ------------------- .../FileByteRangeProviderFactory.cs | 12 ----- ...geProvider.cs => HttpByteRangeProvider.cs} | 4 +- .../IByteRangeProviderFactory.cs | 1 - .../MemoryMappedFileRangeProviderFactory.cs | 12 ----- .../Program.cs | 2 +- 8 files changed, 21 insertions(+), 88 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs rename src/ApacheOrcDotNet.OptimizedReader/Infrastructure/{AmazonS3ByteRangeProvider.cs => HttpByteRangeProvider.cs} (95%) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs deleted file mode 100644 index b7ea6a2..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProviderFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class AmazonS3ByteRangeProviderFactory : IByteRangeProviderFactory - { - public string Prefix => ""; - - public IByteRangeProvider Create(string location) - { - return new AmazonS3ByteRangeProvider(location); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs new file mode 100644 index 0000000..7b94b6e --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs @@ -0,0 +1,18 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public sealed class ByteRangeProviderFactory : IByteRangeProviderFactory + { + public IByteRangeProvider Create(string location) + { + if (!Uri.TryCreate(location, UriKind.Absolute, out var uri)) + throw new InvalidOperationException($"Byte range provider must be a valid file:// or http(s):// URI."); + + if (uri.IsFile) + return new MemoryMappedFileRangeProvider(uri.LocalPath); + + return new HttpByteRangeProvider(uri.AbsoluteUri); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs deleted file mode 100644 index b76a554..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProvider.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.IO; - -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class FileByteRangeProvider : IByteRangeProvider - { - readonly FileStream _stream; - - internal FileByteRangeProvider(string path) - { - _stream = File.OpenRead(path); - } - - public void Dispose() - { - _stream.Dispose(); - } - - public int GetRange(Span buffer, long position) - { - _stream.Seek(position, SeekOrigin.Begin); - return DoRead(buffer); - } - - public int GetRangeFromEnd(Span buffer, long positionFromEnd) - { - _stream.Seek(-positionFromEnd, SeekOrigin.End); - return DoRead(buffer); - } - - private int DoRead(Span buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = _stream.Read(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs deleted file mode 100644 index a0d67aa..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/FileByteRangeProviderFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class FileByteRangeProviderFactory : IByteRangeProviderFactory - { - public string Prefix => "file://"; - - public IByteRangeProvider Create(string location) - { - return new FileByteRangeProvider(location[Prefix.Length..]); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs similarity index 95% rename from src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index 840e31f..ab26289 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/AmazonS3ByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -6,14 +6,14 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public sealed class AmazonS3ByteRangeProvider : IByteRangeProvider + public sealed class HttpByteRangeProvider : IByteRangeProvider { readonly ConcurrentDictionary _cache = new(); readonly HttpClient _httpClient = new(); readonly string _remoteLocation; readonly long _length; - internal AmazonS3ByteRangeProvider(string remoteLocation) + internal HttpByteRangeProvider(string remoteLocation) { _remoteLocation = remoteLocation; _length = GetLength(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs index 5b1aa91..fd8e6a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProviderFactory.cs @@ -2,7 +2,6 @@ { public interface IByteRangeProviderFactory { - string Prefix { get; } IByteRangeProvider Create(string location); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs deleted file mode 100644 index a00a856..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProviderFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class MemoryMappedFileRangeProviderFactory : IByteRangeProviderFactory - { - public string Prefix => "file://"; - - public IByteRangeProvider Create(string location) - { - return new MemoryMappedFileRangeProvider(location[Prefix.Length..]); - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index b1112f5..6112977 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -58,7 +58,7 @@ static void Main(string[] args) EndTime = parsedEndTime }; - var fileByteRangeProviderFactory = new MemoryMappedFileRangeProviderFactory(); + var fileByteRangeProviderFactory = new ByteRangeProviderFactory(); var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); From 33b474cde008e438310d2449f00a935875ff946e Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 3 Jun 2022 16:43:39 -0300 Subject: [PATCH 062/143] Remove HEAD request dependency. --- .../Buffers/BaseColumnBuffer.cs | 10 --- .../Infrastructure/HttpByteRangeProvider.cs | 19 +---- .../OptimizedORCApp.cs | 72 +++++++++---------- 3 files changed, 38 insertions(+), 63 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index ecd579c..f4d1415 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -402,15 +402,5 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) // Un zig-zag return ((long)value).ZigzagDecode(); } - - //private protected int CalculateNulls(int numPresentValues, int numReferenceValues) - //{ - // if (numPresentValues == _context.MaxValuesToRead) - // return numPresentValues; - - // var diff = Math.Abs(numPresentValues - numReferenceValues); - - // return numPresentValues - diff; - //} } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index ab26289..7298e93 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Concurrent; using System.IO; using System.Net.Http; using System.Net.Http.Headers; @@ -8,15 +7,12 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public sealed class HttpByteRangeProvider : IByteRangeProvider { - readonly ConcurrentDictionary _cache = new(); readonly HttpClient _httpClient = new(); readonly string _remoteLocation; - readonly long _length; internal HttpByteRangeProvider(string remoteLocation) { _remoteLocation = remoteLocation; - _length = GetLength(); } public void Dispose() => _httpClient.Dispose(); @@ -34,7 +30,7 @@ public int GetRange(Span buffer, long position) public int GetRangeFromEnd(Span buffer, long positionFromEnd) { - var request = CreateRangeRequest(_length - positionFromEnd, (_length - positionFromEnd) + buffer.Length); + var request = CreateRangeRequest(null, positionFromEnd); var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) @@ -43,18 +39,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return DoRead(response.Content.ReadAsStream(), buffer); } - private long GetLength() - { - var request = new HttpRequestMessage(HttpMethod.Head, _remoteLocation); - var response = _httpClient.Send(request); - - if (!response.Content.Headers.ContentLength.HasValue) - throw new InvalidOperationException("Remote resouce length is required."); - - return response.Content.Headers.ContentLength.Value; - } - - private HttpRequestMessage CreateRangeRequest(long from, long to) + private HttpRequestMessage CreateRangeRequest(long? from, long? to) { var request = new HttpRequestMessage(HttpMethod.Get, _remoteLocation); var rangeHeader = new RangeHeaderValue(from, to); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 7046bee..953f774 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -50,26 +50,26 @@ public void Run() var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); var sizeColumn = reader.GetColumn("size"); - var dateColumn = reader.GetColumn("date"); - var doubleColumn = reader.GetColumn("double"); - var floatColumn = reader.GetColumn("float"); - var timeStampColumn = reader.GetColumn("timeStamp"); - var binaryColumn = reader.GetColumn("binary"); - var byteColumn = reader.GetColumn("byte"); - var booleanColumn = reader.GetColumn("boolean"); + //var dateColumn = reader.GetColumn("date"); + //var doubleColumn = reader.GetColumn("double"); + //var floatColumn = reader.GetColumn("float"); + //var timeStampColumn = reader.GetColumn("timeStamp"); + //var binaryColumn = reader.GetColumn("binary"); + //var byteColumn = reader.GetColumn("byte"); + //var booleanColumn = reader.GetColumn("boolean"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); - var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); + //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + //var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn); @@ -90,13 +90,13 @@ public void Run() , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) + //, () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) ); for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) @@ -105,13 +105,13 @@ public void Run() var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - var date = dateColumnBuffer.Values[idx]; - var dobl = doubleColumnBuffer.Values[idx]; - var sing = floatColumnBuffer.Values[idx]; - var timeStamp = timeStampColumnBuffer.Values[idx]; - var binary = binaryColumnBuffer.Values[idx]; - var tinyInt = byteColumnBuffer.Values[idx]; - var boolean = booleanColumnBuffer.Values[idx]; + //var date = dateColumnBuffer.Values[idx]; + //var dobl = doubleColumnBuffer.Values[idx]; + //var sing = floatColumnBuffer.Values[idx]; + //var timeStamp = timeStampColumnBuffer.Values[idx]; + //var binary = binaryColumnBuffer.Values[idx]; + //var tinyInt = byteColumnBuffer.Values[idx]; + //var boolean = booleanColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { @@ -120,14 +120,14 @@ public void Run() $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + $"{size}" + - $" " + - $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - $"{dobl}," + - $"{sing}," + - $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - $"{tinyInt}," + - $"{boolean}" + + //$" " + + //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + //$"{dobl}," + + //$"{sing}," + + //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + //$"{tinyInt}," + + //$"{boolean}" + $"" ); } From b64d0a22df8d07ef82342e1886f757bed8d9a3ac Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Sun, 5 Jun 2022 22:36:17 -0300 Subject: [PATCH 063/143] Update unit test orc files metadata. --- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 29 +++- .../Data/optimized_reader_test_file.orc.txt | 143 ++++++++++++++++++ ...timized_reader_test_file_no_nulls.orc.txt} | 0 .../optimized_reader_test_file_no_nulls.txt | 131 ---------------- 4 files changed, 166 insertions(+), 137 deletions(-) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt rename test/ApacheOrcDotNet.OptimizedReader.Test/Data/{optimized_reader_test_file-info.txt => optimized_reader_test_file_no_nulls.orc.txt} (100%) delete mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index a5c959f..a82fe2d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -14,19 +14,36 @@ - + - + - - - - + + Always + + + Always + + + Always + + + Always + + + + + + Always + + + Always + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt new file mode 100644 index 0000000..0742a62 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt @@ -0,0 +1,143 @@ +Processing data file optimized_reader_test_file.orc [length: 139599] +Structure for optimized_reader_test_file.orc +File Version: 0.12 with ORC_14 by ORC Java 1.7.4 + +Compression: ZLIB +Compression size: 262144 +Calendar: Julian/Gregorian +Rows: 10001 + +Type: struct< + source:string, + symbol:string, + time:decimal(14,9), + size:bigint, + date:date, + double:double, + float:float, + timestamp:timestamp, + binary:binary, + byte:tinyint, + boolean:boolean +> + +Stripe Statistics: + Stripe 1: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 11 hasNull: true bytesOnDisk: 28 true: 6 + +File Statistics: + Column 0: count: 10001 hasNull: false + Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 + Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 + Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 + Column 6: count: 9997 hasNull: true bytesOnDisk: 43257 min: 0.0 max: 999.7000000001588 sum: 4996503.000000527 + Column 7: count: 9996 hasNull: true bytesOnDisk: 34041 min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 + Column 8: count: 9997 hasNull: true bytesOnDisk: 116 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:47.0 + Column 9: count: 9997 hasNull: true bytesOnDisk: 22242 sum: 68776 + Column 10: count: 9997 hasNull: true bytesOnDisk: 105 min: -6 max: 75 sum: 548310 + Column 11: count: 11 hasNull: true bytesOnDisk: 28 true: 6 + +Stripes: + Stripe: offset: 3 data: 137886 rows: 10001 tail: 233 index: 716 + Stream: column 0 section ROW_INDEX start: 3 length 20 + Stream: column 1 section ROW_INDEX start: 23 length 72 + Stream: column 2 section ROW_INDEX start: 95 length 61 + Stream: column 3 section ROW_INDEX start: 156 length 100 + Stream: column 4 section ROW_INDEX start: 256 length 58 + Stream: column 5 section ROW_INDEX start: 314 length 46 + Stream: column 6 section ROW_INDEX start: 360 length 78 + Stream: column 7 section ROW_INDEX start: 438 length 65 + Stream: column 8 section ROW_INDEX start: 503 length 71 + Stream: column 9 section ROW_INDEX start: 574 length 50 + Stream: column 10 section ROW_INDEX start: 624 length 56 + Stream: column 11 section ROW_INDEX start: 680 length 39 + Stream: column 1 section PRESENT start: 719 length 15 + Stream: column 1 section DATA start: 734 length 20 + Stream: column 1 section LENGTH start: 754 length 7 + Stream: column 1 section DICTIONARY_DATA start: 761 length 26 + Stream: column 2 section PRESENT start: 787 length 15 + Stream: column 2 section DATA start: 802 length 18391 + Stream: column 2 section LENGTH start: 19193 length 30 + Stream: column 3 section PRESENT start: 19223 length 15 + Stream: column 3 section DATA start: 19238 length 18959 + Stream: column 3 section SECONDARY start: 38197 length 37 + Stream: column 4 section PRESENT start: 38234 length 19 + Stream: column 4 section DATA start: 38253 length 464 + Stream: column 5 section PRESENT start: 38717 length 19 + Stream: column 5 section DATA start: 38736 length 80 + Stream: column 6 section PRESENT start: 38816 length 18 + Stream: column 6 section DATA start: 38834 length 43239 + Stream: column 7 section PRESENT start: 82073 length 18 + Stream: column 7 section DATA start: 82091 length 34023 + Stream: column 8 section PRESENT start: 116114 length 18 + Stream: column 8 section DATA start: 116132 length 83 + Stream: column 8 section SECONDARY start: 116215 length 15 + Stream: column 9 section PRESENT start: 116230 length 18 + Stream: column 9 section DATA start: 116248 length 22191 + Stream: column 9 section LENGTH start: 138439 length 33 + Stream: column 10 section PRESENT start: 138472 length 18 + Stream: column 10 section DATA start: 138490 length 87 + Stream: column 11 section PRESENT start: 138577 length 22 + Stream: column 11 section DATA start: 138599 length 6 + Encoding column 0: DIRECT + Encoding column 1: DICTIONARY_V2[2] + Encoding column 2: DIRECT_V2 + Encoding column 3: DIRECT_V2 + Encoding column 4: DIRECT_V2 + Encoding column 5: DIRECT_V2 + Encoding column 6: DIRECT + Encoding column 7: DIRECT + Encoding column 8: DIRECT_V2 + Encoding column 9: DIRECT_V2 + Encoding column 10: DIRECT + Encoding column 11: DIRECT + Row group indices for column 1: + Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Row group indices for column 2: + Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Row group indices for column 3: + Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 + Row group indices for column 4: + Entry 0: count: 9996 hasNull: true min: 0 max: 9973 sum: 49736817 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,24,3,0,0,735,8 + Row group indices for column 5: + Entry 0: count: 9996 hasNull: true min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true positions: 0,24,3,0,0,225,268 + Row group indices for column 6: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.6000000001587 sum: 4995503.300000527 positions: 0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 999.7000000001588 max: 999.7000000001588 sum: 999.7000000001588 positions: 0,22,3,0,0,79968 + Row group indices for column 7: + Entry 0: count: 9996 hasNull: true min: 0.0 max: 999.5029907226562 sum: 4995359.573275469 positions: 0,0,0,0,0,0 + Entry 1: count: 0 hasNull: true sum: 0.0 positions: 0,22,3,0,0,39984 + Row group indices for column 8: + Entry 0: count: 9996 hasNull: true min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:47.0 max: 2015-01-01 02:46:47.0 positions: 0,22,3,0,0,225,268,0,76,268 + Row group indices for column 9: + Entry 0: count: 9996 hasNull: true sum: 68772 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false sum: 4 positions: 0,22,3,0,0,68772,0,89,24 + Row group indices for column 10: + Entry 0: count: 9996 hasNull: true min: -6 max: 75 sum: 548315 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: -5 max: -5 sum: -5 positions: 0,22,3,0,0,10049,24 + Row group indices for column 11: + Entry 0: count: 10 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,4,0,0,0,1,2 + +File length: 139599 bytes +Padding length: 0 bytes +Padding ratio: 0% diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt similarity index 100% rename from test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file-info.txt rename to test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt deleted file mode 100644 index 7ac739c..0000000 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.txt +++ /dev/null @@ -1,131 +0,0 @@ -Processing data file optimized_reader_test_file_no_nulls.orc [length: 139297] -Structure for optimized_reader_test_file_no_nulls.orc -File Version: 0.12 with ORC_14 by ORC Java 1.7.4 - -Compression: ZLIB -Compression size: 262144 -Calendar: Julian/Gregorian -Rows: 10001 - -Type: struct< - source:string, - symbol:string, - time:decimal(14,9), - size:bigint,date:date, - double:double, - float:float, - timestamp:timestamp, - binary:binary, - byte:tinyint, - boolean:boolean -> - -Stripe Statistics: - Stripe 1: - Column 0: count: 10001 hasNull: false - Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 - Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 - Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 - Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 - Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 - Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 - Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 - Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 - Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 - Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 - Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 - -File Statistics: - Column 0: count: 10001 hasNull: false - Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 - Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 - Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 - Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 - Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 - Column 6: count: 10001 hasNull: false bytesOnDisk: 43212 min: 0.0 max: 1000.0000000001588 sum: 5000500.000000527 - Column 7: count: 10001 hasNull: false bytesOnDisk: 34041 min: 0.0 max: 999.9028930664062 sum: 5000355.788546465 - Column 8: count: 10001 hasNull: false bytesOnDisk: 89 min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:41.0 - Column 9: count: 10001 hasNull: false bytesOnDisk: 22220 sum: 68789 - Column 10: count: 10001 hasNull: false bytesOnDisk: 83 min: -1 max: 75 sum: 548543 - Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3014 - -Stripes: - Stripe: offset: 3 data: 137679 rows: 10001 tail: 195 index: 681 - Stream: column 0 section ROW_INDEX start: 3 length 20 - Stream: column 1 section ROW_INDEX start: 23 length 68 - Stream: column 2 section ROW_INDEX start: 91 length 57 - Stream: column 3 section ROW_INDEX start: 148 length 96 - Stream: column 4 section ROW_INDEX start: 244 length 52 - Stream: column 5 section ROW_INDEX start: 296 length 49 - Stream: column 6 section ROW_INDEX start: 345 length 69 - Stream: column 7 section ROW_INDEX start: 414 length 68 - Stream: column 8 section ROW_INDEX start: 482 length 64 - Stream: column 9 section ROW_INDEX start: 546 length 46 - Stream: column 10 section ROW_INDEX start: 592 length 50 - Stream: column 11 section ROW_INDEX start: 642 length 42 - Stream: column 1 section DATA start: 684 length 20 - Stream: column 1 section LENGTH start: 704 length 7 - Stream: column 1 section DICTIONARY_DATA start: 711 length 26 - Stream: column 2 section DATA start: 737 length 18396 - Stream: column 2 section LENGTH start: 19133 length 30 - Stream: column 3 section DATA start: 19163 length 18962 - Stream: column 3 section SECONDARY start: 38125 length 37 - Stream: column 4 section DATA start: 38162 length 459 - Stream: column 5 section DATA start: 38621 length 74 - Stream: column 6 section DATA start: 38695 length 43212 - Stream: column 7 section DATA start: 81907 length 34041 - Stream: column 8 section DATA start: 115948 length 74 - Stream: column 8 section SECONDARY start: 116022 length 15 - Stream: column 9 section DATA start: 116037 length 22190 - Stream: column 9 section LENGTH start: 138227 length 30 - Stream: column 10 section DATA start: 138257 length 83 - Stream: column 11 section DATA start: 138340 length 23 - Encoding column 0: DIRECT - Encoding column 1: DICTIONARY_V2[2] - Encoding column 2: DIRECT_V2 - Encoding column 3: DIRECT_V2 - Encoding column 4: DIRECT_V2 - Encoding column 5: DIRECT_V2 - Encoding column 6: DIRECT - Encoding column 7: DIRECT - Encoding column 8: DIRECT_V2 - Encoding column 9: DIRECT_V2 - Encoding column 10: DIRECT - Encoding column 11: DIRECT - Row group indices for column 1: - Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 - Row group indices for column 2: - Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 - Row group indices for column 3: - Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 - Row group indices for column 4: - Entry 0: count: 10000 hasNull: false min: 0 max: 9973 sum: 49736873 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: 53 max: 53 sum: 53 positions: 0,615,8 - Row group indices for column 5: - Entry 0: count: 10000 hasNull: false min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: Hybrid AD 1997-05-20 max: Hybrid AD 1997-05-20 positions: 0,97,272 - Row group indices for column 6: - Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.9000000001588 sum: 4999500.000000527 positions: 0,0 - Entry 1: count: 1 hasNull: false min: 1000.0000000001588 max: 1000.0000000001588 sum: 1000.0000000001588 positions: 0,80000 - Row group indices for column 7: - Entry 0: count: 10000 hasNull: false min: 0.0 max: 999.8029174804688 sum: 4999355.885653399 positions: 0,0 - Entry 1: count: 1 hasNull: false min: 999.9028930664062 max: 999.9028930664062 sum: 999.9028930664062 positions: 0,40000 - Row group indices for column 8: - Entry 0: count: 10000 hasNull: false min: 2015-01-01 00:00:00.0 max: 2015-01-01 02:46:40.0 positions: 0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: 2015-01-01 02:46:41.0 max: 2015-01-01 02:46:41.0 positions: 0,97,272,0,76,272 - Row group indices for column 9: - Entry 0: count: 10000 hasNull: false sum: 68786 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false sum: 3 positions: 0,68786,0,86,26 - Row group indices for column 10: - Entry 0: count: 10000 hasNull: false min: -1 max: 75 sum: 548544 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: -1 max: -1 sum: -1 positions: 0,10052,26 - Row group indices for column 11: - Entry 0: count: 10000 hasNull: false true: 3013 positions: 0,0,0,0 - Entry 1: count: 1 hasNull: false true: 1 positions: 0,22,3,0 - -File length: 139297 bytes -Padding length: 0 bytes -Padding ratio: 0% From e44a6544ef8d856ad14f9927ec91c30f55277a65 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 6 Jun 2022 03:41:25 -0300 Subject: [PATCH 064/143] Separate data loading from data parsing. --- .../Buffers/BaseColumnBuffer.cs | 281 +++++++++++------- .../Buffers/BinaryColumnBuffer.cs | 62 ++-- .../Buffers/BooleanColumnBuffer.cs | 63 ++-- .../Buffers/ByteColumnBuffer.cs | 63 ++-- .../Buffers/DateColumnBuffer.cs | 63 ++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 84 ++---- .../Buffers/DecimalColumnBuffer.cs | 84 ++---- .../Buffers/DoubleColumnBuffer.cs | 52 +--- .../Buffers/FloatColumnBuffer.cs | 52 +--- .../Buffers/IntegerColumnBuffer.cs | 65 ++-- .../Buffers/StringColumnBuffer.cs | 186 +++++------- .../Buffers/TimestampColumnBuffer.cs | 87 ++---- .../DataPositions.cs | 4 - .../Infrastructure/HttpByteRangeProvider.cs | 39 +++ .../Infrastructure/IByteRangeProvider.cs | 3 + .../MemoryMappedFileRangeProvider.cs | 33 ++ .../Infrastructure/SpanStripeFooter.cs | 6 +- .../Infrastructure/StreamDetail.cs | 15 + .../Infrastructure/StreamPositions.cs | 4 + .../OrcReader.cs | 35 ++- .../OptimizedORCApp.cs | 50 ++-- .../Program.cs | 19 +- .../WithNulls/BinaryColumn_Test.cs | 26 +- .../WithNulls/BooleanColumn_Test.cs | 26 +- .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 26 +- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 26 +- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 26 +- .../WithNulls/DecimalColumn_Test.cs | 26 +- .../WithNulls/DoubleColumn_Test.cs | 26 +- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 26 +- .../WithNulls/IntegerColumn_Test.cs | 16 +- .../WithNulls/StringColumn_Test.cs | 52 ++-- .../WithNulls/TimestampColumn_Test.cs | 26 +- .../WithoutNulls/BinaryColumn_Test.cs | 26 +- .../WithoutNulls/BooleanColumn_Test.cs | 26 +- .../WithoutNulls/ByteColumn_Test.cs | 26 +- .../WithoutNulls/DateColumn_Test.cs | 26 +- .../DecimalAsDoubleColumn_Test.cs | 26 +- .../WithoutNulls/DecimalColumn_Test.cs | 26 +- .../WithoutNulls/DoubleColumn_Test.cs | 26 +- .../WithoutNulls/FloatColumn_Test.cs | 26 +- .../WithoutNulls/IntegerColumn_Test.cs | 26 +- .../WithoutNulls/StringColumn_Test.cs | 52 ++-- .../WithoutNulls/TimestampColumn_Test.cs | 26 +- .../TestByteRangeProvider.cs | 11 + .../TestByteRangeProviderParallel.cs | 35 +++ 46 files changed, 1019 insertions(+), 991 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index f4d1415..f430a4c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -9,18 +9,53 @@ using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { [SkipLocalsInit] public abstract class BaseColumnBuffer { - private protected readonly ArrayPool _arrayPool; + //private protected readonly BufferStream[] _bufferStreams; private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcContext _context; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; + + private protected readonly ArrayPool _pool; + + private protected StreamDetails _dataStream; + private protected StreamPositions _dataStreamPositions; + private protected byte[] _dataStreamCompressedBuffer; + private protected byte[] _dataStreamDecompressedBuffer; + private protected int _dataStreamDecompressedBufferLength; + + private protected StreamDetails _dictionaryStream; + private protected StreamPositions _dictionaryStreamPositions; + private protected byte[] _dictionaryStreanCompressedBuffer; + private protected byte[] _dictionaryStreamDecompressedBuffer; + private protected int _dictionaryStreamDecompressedBufferLength; + + private protected StreamDetails _lengthStream; + private protected StreamPositions _lengthStreamPositions; + private protected byte[] _lengthStreamCompressedBuffer; + private protected byte[] _lengthStreamDecompressedBuffer; + private protected int _lengthStreamDecompressedBufferLength; + + private protected StreamDetails _presentStream; + private protected StreamPositions _presentStreamPositions; + private protected byte[] _presentStreamCompressedBuffer; + private protected byte[] _presentStreamDecompressedBuffer; + private protected int _presentStreamDecompressedBufferLength; + + private protected StreamDetails _secondaryStream; + private protected StreamPositions _secondaryStreamPositions; + private protected byte[] _secondaryStreamCompressedBuffer; + private protected byte[] _secondaryStreamDecompressedBuffer; + private protected int _secondaryStreamDecompressedBufferLength; + private protected int _numValuesRead; + private long[] _numericStreamBuffer; private byte[] _byteStreamBuffer; private byte[] _boolStreamBuffer; @@ -32,21 +67,49 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context _column = column; _values = new TOutput[_context.MaxValuesToRead]; + _pool = ArrayPool.Create(15 * 1024 * 1024, 8); + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + //var streamKinds = Enum.GetValues(); + //_bufferStreams = new BufferStream[streamKinds.Length]; + + //foreach (var kind in streamKinds) + //{ + // _bufferStreams[(int)kind] = new BufferStream() + // { + // CompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength), + // DecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength) + // }; + //} + _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; - - _arrayPool = ArrayPool.Create(15 * 1024 * 1024, 8); } public OrcColumn Column => _column; public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); - public abstract void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); + public abstract Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); + public abstract void Parse(); public void Reset() => _numValuesRead = 0; - private protected int ReadByteStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) + private protected int ReadByteStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -72,7 +135,7 @@ private protected int ReadByteStream(ReadOnlySpan buffer, int length, in D return numValuesRead; } - private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) + private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -98,62 +161,26 @@ private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, if (isFinalByte && decodedByte == 0) { - // Edge case where there is only one value for the row entry - // and that value is null + // Edge case where there is only one value for the row entry and that value is null outputValues[numValuesRead++] = false; return; } - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 7) - return; - - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 6) - return; - - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 5) - return; - - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 4) - return; - - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 3) - return; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 2) - return; + for (int bitIdx = 7; bitIdx >= 0; bitIdx--) + { + outputValues[numValuesRead++] = (decodedByte & 1 << bitIdx) != 0; - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (numValuesRead >= outputValues.Length) - return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 1) - return; + if (numValuesRead >= outputValues.Length) + return; - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (numValuesRead >= outputValues.Length) - return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == bitIdx) + return; + } } } } - private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in DataPositions positions, bool isSigned, Span outputValues, ref int numValuesRead) + private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in StreamPositions positions, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -177,7 +204,7 @@ private protected void ReadNumericStream(ReadOnlySpan buffer, int length, } } - private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in DataPositions positions, Span outputValues, ref int numValuesRead) + private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -201,19 +228,101 @@ private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, i } } - private protected StreamDetail GetColumnStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + private protected void LoadStreams(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, params StreamKind[] requiredStreams) + { + var missingStreams = requiredStreams.ToList(); + + _presentStream = columnStreams.SingleOrDefault(stream => stream.StreamKind == StreamKind.Present); + _presentStreamPositions = GetPresentStreamPositions(_presentStream, rowIndexEntry); + missingStreams.Remove(StreamKind.Present); + + foreach (var stream in columnStreams) + { + switch (stream.StreamKind) + { + case StreamKind.Present: + case StreamKind.RowIndex: + continue; + case StreamKind.Secondary: + _secondaryStream = stream; + _secondaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + case StreamKind.DictionaryData: + _dictionaryStream = stream; + _dictionaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + case StreamKind.Length: + _lengthStream = stream; + _lengthStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + case StreamKind.Data: + _dataStream = stream; + _dataStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); + missingStreams.Remove(stream.StreamKind); + break; + default: + throw new NotImplementedException($"Unable to set stream '{stream.StreamKind}'"); + } + } + + if (missingStreams.Count > 0) + throw new InvalidDataException($"The following streams must be available: {string.Join(", ", missingStreams)}"); + } + + private protected async Task GetByteRange(Memory output, StreamDetails stream, StreamPositions positions) + { + var rangeLength = 0; + + if (stream != null) + { + var offset = stream.FileOffset + positions.RowGroupOffset; + var compressedLength = stream.Length - positions.RowGroupOffset; + + //Console.WriteLine($"GetByteRangeAsync for '{_column.Name}': {compressedLength}/{offset}"); + + rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, compressedLength), offset); + } + + return rangeLength; + } + + private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetails stream, in StreamPositions positions, ref int decompressedLength) + { + decompressedLength = 0; + + if (stream != null) + { + var compressedLength = stream.Length - positions.RowGroupOffset; + + decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); + } + } + + private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in StreamPositions positions) { - var stream = columnStreams.SingleOrDefault(stream => - stream.StreamKind == streamKind - ); + var rowentrylength = length - positions.RowEntryOffset; + + return buffer.Slice(positions.RowEntryOffset, rowentrylength); + } - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); + private protected double BigIntegerToDouble(BigInteger numerator, long scale) + => (double)BigIntegerToDecimal(numerator, scale); - return stream; + private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + { + if (scale < 0 || scale > 255) + throw new OverflowException("Scale must be positive number"); + + var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var scaler = new decimal(1, 0, 0, false, (byte)scale); + + return decNumerator * scaler; } - private protected DataPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + private StreamPositions GetPresentStreamPositions(StreamDetails presentStream, RowIndexEntry rowIndexEntry) { if (presentStream == null) return new(); @@ -221,9 +330,9 @@ private protected DataPositions GetPresentStreamPositions(StreamDetail presentSt return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); } - private protected DataPositions GetTargetDataStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, RowIndexEntry rowIndexEntry) + private StreamPositions GetRequiredStreamPositions(StreamDetails targetedStream, RowIndexEntry rowIndexEntry) { - var positionStep = presentStream == null ? 0 : 4; + var positionStep = _presentStream == null ? 0 : 4; ulong rowGroupOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch { @@ -318,52 +427,6 @@ private protected DataPositions GetTargetDataStreamPositions(StreamDetail presen return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private protected void GetByteRange(Span output, StreamDetail stream, in DataPositions positions, ref int rangeLength) - { - rangeLength = 0; - - if (stream != null) - { - var offset = stream.FileOffset + positions.RowGroupOffset; - var compressedLength = stream.Length - positions.RowGroupOffset; - - rangeLength = _byteRangeProvider.GetRange(output.Slice(0, compressedLength), offset); - } - } - - private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetail stream, in DataPositions positions, ref int decompressedLength) - { - decompressedLength = 0; - - if (stream != null) - { - var compressedLength = stream.Length - positions.RowGroupOffset; - - decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); - } - } - - private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in DataPositions positions) - { - var rowentrylength = length - positions.RowEntryOffset; - - return buffer.Slice(positions.RowEntryOffset, rowentrylength); - } - - private protected double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); - - private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) - { - if (scale < 0 || scale > 255) - throw new OverflowException("Scale must be positive number"); - - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow - var scaler = new decimal(1, 0, 0, false, (byte)scale); - - return decNumerator * scaler; - } - private BigInteger? ReadBigVarInt(ref BufferReader stream) { var value = BigInteger.Zero; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 49d409d..2cee73c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -11,66 +11,40 @@ public class BinaryColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _lengthInputBuffer; - private byte[] _lengthOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int length, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int length, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int length) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBuffer, ref valuesRead.length); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); + var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); var stringOffset = 0; - if (presentStream != null) + if (_presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamBuffer[idx]) { @@ -84,7 +58,7 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.length; idx++) + for (int idx = 0; idx < lengthValuesRead; idx++) { var length = (int)_lengthStreamBuffer[idx]; _values[_numValuesRead++] = dataBuffer.Slice(stringOffset, length).ToArray(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index c176e1a..6ca2b40 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -9,67 +9,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private bool[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; + private bool[] _dataStreamValues; public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new bool[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new bool[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadBooleanStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); - if (presentStream != null) + if (_presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _dataStreamBuffer[idx]; + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamValues[idx]; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index f095a35..9a624ce 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -9,67 +9,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private byte[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; + private byte[] _dataStreamValues; public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new byte[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new byte[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadByteStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadByteStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); var dataIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _dataStreamBuffer[idx]; + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamValues[idx]; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index bb9c664..7fbdfea 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -11,67 +11,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class DateColumnBuffer : BaseColumnBuffer { readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - private readonly bool[] _presentStreamBuffer; - private readonly long[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); - if (presentStream != null) + if (_presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[dataIndex++] * TimeSpan.TicksPerDay); + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamValues[dataIndex++] * TimeSpan.TicksPerDay); else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamBuffer[idx] * TimeSpan.TicksPerDay); + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamValues[idx] * TimeSpan.TicksPerDay); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 012ff59..6695f7c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; +using System; using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; @@ -10,72 +11,49 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private BigInteger[] _dataStreamBuffer; - private long[] _secondaryStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _secondaryInputBuffer; - private byte[] _secondaryOutputBuffer; + private bool[] _presentStreamValues; + private BigInteger[] _dataStreamValues; + private long[] _secondaryStreamValues; public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; - _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); - // Stream Byte Ranges - (int present, int data, int secondary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) ); - // Decompress Byte Ranges - (int present, int data, int secondary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + } + + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); - // Parse Decompressed Bytes - (int present, int data, int secondary) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); - ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); + if (dataValuesRead != secondaryValuesRead) + throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); var secondaryIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); secondaryIndex++; } else @@ -84,8 +62,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.secondary; idx++) - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[idx], _secondaryStreamValues[idx]); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 8db584a..3eee953 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,5 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; +using System; using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; @@ -10,72 +11,49 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DecimalColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private BigInteger[] _dataStreamBuffer; - private long[] _secondaryStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _secondaryInputBuffer; - private byte[] _secondaryOutputBuffer; + private bool[] _presentStreamValues; + private BigInteger[] _dataStreamValues; + private long[] _secondaryStreamValues; public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new BigInteger[_context.MaxValuesToRead]; - _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; + _secondaryStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); - // Stream Byte Ranges - (int present, int data, int secondary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) ); - // Decompress Byte Ranges - (int present, int data, int secondary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + } + + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); - // Parse Decompressed Bytes - (int present, int data, int secondary) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadVarIntStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, _dataStreamBuffer, ref valuesRead.data); - ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: true, _secondaryStreamBuffer, ref valuesRead.secondary); + if (dataValuesRead != secondaryValuesRead) + throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); var secondaryIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[secondaryIndex], _secondaryStreamBuffer[secondaryIndex]); + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); secondaryIndex++; } else @@ -84,8 +62,8 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.secondary; idx++) - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamBuffer[idx], _secondaryStreamBuffer[idx]); + for (int idx = 0; idx < secondaryValuesRead; idx++) + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[idx], _secondaryStreamValues[idx]); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 4fc2048..472f93a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -10,59 +10,39 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DoubleColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; private byte[] _valueBuffer; public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - + _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[8]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - int presentValuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); + var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); - if (presentStream != null) + if (_presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { if (!dataReader.TryCopyTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 9740f84..8b08165 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -10,59 +10,39 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class FloatColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; private byte[] _valueBuffer; public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - + _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[4]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - int presentValuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref presentValuesRead); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions)); + var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); - if (presentStream != null) + if (_presentStream != null) { for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { if (!dataReader.TryCopyTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index bf6b412..1817483 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -9,69 +9,48 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamBuffer; - private long[] _dataStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; + private bool[] _presentStreamValues; + private long[] _dataStreamValues; public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); - // Stream Byte Ranges - (int present, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) ); - // Decompress Byte Ranges - (int present, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } - // Parse Decompressed Bytes - (int present, int data) valuesRead = default; - Parallel.Invoke( - () => ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present), - () => ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data) - ); + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValueRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); var dataIndex = 0; - if (presentStream != null) + if (_presentStream != null) { - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValueRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = _dataStreamBuffer[dataIndex++]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; else _values[_numValuesRead++] = null; } } else { - for (int idx = 0; idx < valuesRead.data; idx++) - _values[_numValuesRead++] = _dataStreamBuffer[idx]; + for (int idx = 0; idx < dataValuesRead; idx++) + _values[_numValuesRead++] = _dataStreamValues[idx]; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 3f20979..2a4f2b3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -14,94 +14,93 @@ public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary _dictionaryLengthBuffers = new(); - private bool[] _presentStreamBuffer; - private long[] _dataStreamBuffer; - private long[] _lengthStreamBufferDirectV2; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _lengthInputBuffer; - private byte[] _lengthOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _dictionaryInputBuffer; - private byte[] _dictionaryOutputBuffer; + private bool[] _presentStreamValues; + private long[] _dataStreamValues; + private long[] _lengthStreamValues; + + private ColumnEncodingKind _encodingKind; + private int _stripeId; public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - _lengthStreamBufferDirectV2 = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; + _lengthStreamValues = new long[_context.MaxValuesToRead]; + } - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + { + _stripeId = stripeId; + _encodingKind = columnStreams.First().EncodingKind; - _lengthInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _lengthOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + switch (_encodingKind) + { + case ColumnEncodingKind.DirectV2: + { + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + ); - _dictionaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dictionaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + } + break; + case ColumnEncodingKind.DictionaryV2: + { + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data, StreamKind.DictionaryData); + + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStream, _dictionaryStreamPositions) + ); + + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, _dictionaryStream, _dictionaryStreamPositions, ref _dictionaryStreamDecompressedBufferLength); + } + break; + } } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override void Parse() { - switch (columnStreams.First().EncodingKind) + switch (_encodingKind) { case ColumnEncodingKind.DirectV2: - ReadDirectV2(columnStreams, rowIndexEntry); + ReadDirectV2(); break; case ColumnEncodingKind.DictionaryV2: - ReadDictionaryV2(columnStreams, rowIndexEntry, stripeId); + ReadDictionaryV2(); break; default: throw new InvalidOperationException(); } } - private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + private void ReadDirectV2() { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int length, int data) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data) - ); - - // Decompress Byte Ranges - (int present, int length, int data) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - - // Parse Decompressed Bytes - (int present, int length) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, _lengthStreamBufferDirectV2, ref valuesRead.length); - - var dataBuffer = ResizeBuffer(_dataOutputBuffer, decompressedSizes.data, dataPositions); + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamValues, out var lengthValuesRead); + + var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); var stringOffset = 0; - if (presentStream != null) + if (_presentStream != null) { var lengthIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - var length = (int)_lengthStreamBufferDirectV2[lengthIndex++]; + var length = (int)_lengthStreamValues[lengthIndex++]; _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; } @@ -114,9 +113,9 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } else { - for (int idx = 0; idx < valuesRead.length; idx++) + for (int idx = 0; idx < lengthValuesRead; idx++) { - var length = (int)_lengthStreamBufferDirectV2[idx]; + var length = (int)_lengthStreamValues[idx]; _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; @@ -126,60 +125,31 @@ private void ReadDirectV2(IEnumerable columnStreams, RowIndexEntry } } - private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, int stripeId) + private void ReadDictionaryV2() { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var lengthStream = GetColumnStream(columnStreams, StreamKind.Length); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var dictionaryDataStream = GetColumnStream(columnStreams, StreamKind.DictionaryData); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var lengthPositions = GetTargetDataStreamPositions(presentStream, lengthStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var dictionaryDataPositions = GetTargetDataStreamPositions(presentStream, dictionaryDataStream, rowIndexEntry); - - // Stream Byte Ranges - (int present, int length, int data, int dictionary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_lengthInputBuffer, lengthStream, lengthPositions, ref rangeSizes.length), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_dictionaryInputBuffer, dictionaryDataStream, dictionaryDataPositions, ref rangeSizes.dictionary) - ); - - // Decompress Byte Ranges - (int present, int length, int data, int dictionary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_lengthInputBuffer, _lengthOutputBuffer, lengthStream, lengthPositions, ref decompressedSizes.length); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_dictionaryInputBuffer, _dictionaryOutputBuffer, dictionaryDataStream, dictionaryDataPositions, ref decompressedSizes.dictionary); - - // Parse Decompressed Bytes - (int present, int length, int data) valuesRead = default; - var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(stripeId, lengthStream.DictionarySize); - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_lengthOutputBuffer, decompressedSizes.length, lengthPositions, isSigned: false, dictionaryV2LengthStreamBuffer, ref valuesRead.length); - ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: false, _dataStreamBuffer, ref valuesRead.data); + var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _lengthStream.DictionarySize); + + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: false, _dataStreamValues, out var dataValuesRead); int stringOffset = 0; - List stringsList = new(valuesRead.length); - for (int idx = 0; idx < valuesRead.length; idx++) + List stringsList = new(lengthValuesRead); + for (int idx = 0; idx < lengthValuesRead; idx++) { var length = (int)dictionaryV2LengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(_dictionaryOutputBuffer.AsSpan().Slice(stringOffset, length)); + var value = Encoding.UTF8.GetString(_dictionaryStreamDecompressedBuffer.AsSpan().Slice(stringOffset, length)); stringOffset += length; stringsList.Add(value); } - if (presentStream != null) + if (_presentStream != null) { var dataIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[dataIndex++]]; + if (_presentStreamValues[idx]) + _values[_numValuesRead++] = stringsList[(int)_dataStreamValues[dataIndex++]]; else _values[_numValuesRead++] = null; @@ -189,9 +159,9 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE } else { - for (int idx = 0; idx < valuesRead.data; idx++) + for (int idx = 0; idx < dataValuesRead; idx++) { - _values[_numValuesRead++] = stringsList[(int)_dataStreamBuffer[idx]]; + _values[_numValuesRead++] = stringsList[(int)_dataStreamValues[idx]]; if (_numValuesRead >= _values.Length) break; @@ -199,7 +169,7 @@ private void ReadDictionaryV2(IEnumerable columnStreams, RowIndexE } } - private Span GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) + private long[] GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) { if (!_dictionaryLengthBuffers.ContainsKey(stripeId)) _dictionaryLengthBuffers.Add(stripeId, new long[dictionarySize]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index b70c1c3..66c0ed3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -11,73 +11,50 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class TimestampColumnBuffer : BaseColumnBuffer { readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - private readonly bool[] _presentStreamBuffer; - private readonly long[] _dataStreamBuffer; - private long[] _secondaryStreamBuffer; - private byte[] _presentInputBuffer; - private byte[] _presentOutputBuffer; - private byte[] _dataInputBuffer; - private byte[] _dataOutputBuffer; - private byte[] _secondaryInputBuffer; - private byte[] _secondaryOutputBuffer; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + private long[] _secondaryStreamValues; public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _dataStreamBuffer = new long[_context.MaxValuesToRead]; - _secondaryStreamBuffer = new long[_context.MaxValuesToRead]; - - _presentInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _presentOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _dataInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _dataOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryInputBuffer = _arrayPool.Rent(_context.MaxCompressedBufferLength); - _secondaryOutputBuffer = _arrayPool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamValues = new bool[_context.MaxValuesToRead]; + _dataStreamValues = new long[_context.MaxValuesToRead]; + _secondaryStreamValues = new long[_context.MaxValuesToRead]; } - public override void Fill(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) { - // Streams - var presentStream = GetColumnStream(columnStreams, StreamKind.Present, isRequired: false); - var dataStream = GetColumnStream(columnStreams, StreamKind.Data); - var secondaryStream = GetColumnStream(columnStreams, StreamKind.Secondary); - - // Stream Positions - var presentPositions = GetPresentStreamPositions(presentStream, rowIndexEntry); - var dataPositions = GetTargetDataStreamPositions(presentStream, dataStream, rowIndexEntry); - var secondaryPostions = GetTargetDataStreamPositions(presentStream, secondaryStream, rowIndexEntry); + LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); - // Stream Byte Ranges - (int present, int data, int secondary) rangeSizes = default; - Parallel.Invoke( - () => GetByteRange(_presentInputBuffer, presentStream, presentPositions, ref rangeSizes.present), - () => GetByteRange(_dataInputBuffer, dataStream, dataPositions, ref rangeSizes.data), - () => GetByteRange(_secondaryInputBuffer, secondaryStream, secondaryPostions, ref rangeSizes.secondary) + _ = await Task.WhenAll( + GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), + GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), + GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) ); - // Decompress Byte Ranges - (int present, int data, int secondary) decompressedSizes = default; - DecompressByteRange(_presentInputBuffer, _presentOutputBuffer, presentStream, presentPositions, ref decompressedSizes.present); - DecompressByteRange(_dataInputBuffer, _dataOutputBuffer, dataStream, dataPositions, ref decompressedSizes.data); - DecompressByteRange(_secondaryInputBuffer, _secondaryOutputBuffer, secondaryStream, secondaryPostions, ref decompressedSizes.secondary); + DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + } + + public override void Parse() + { + ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); - // Parse Decompressed Bytes - (int present, int data, int secondary) valuesRead = default; - ReadBooleanStream(_presentOutputBuffer, decompressedSizes.present, presentPositions, _presentStreamBuffer, ref valuesRead.present); - ReadNumericStream(_dataOutputBuffer, decompressedSizes.data, dataPositions, isSigned: true, _dataStreamBuffer, ref valuesRead.data); - ReadNumericStream(_secondaryOutputBuffer, decompressedSizes.secondary, secondaryPostions, isSigned: false, _secondaryStreamBuffer, ref valuesRead.secondary); + if (dataValuesRead != secondaryValuesRead) + throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - if (presentStream != null) + if (_presentStream != null) { var secondaryIndex = 0; - for (int idx = 0; idx < valuesRead.present; idx++) + for (int idx = 0; idx < presentValuesRead; idx++) { - if (_presentStreamBuffer[idx]) + if (_presentStreamValues[idx]) { - var seconds = _dataStreamBuffer[secondaryIndex]; - var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[secondaryIndex]); + var seconds = _dataStreamValues[secondaryIndex]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[secondaryIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); secondaryIndex++; @@ -88,10 +65,10 @@ public override void Fill(int stripeId, IEnumerable columnStreams, } else { - for (int idx = 0; idx < valuesRead.data; idx++) + for (int idx = 0; idx < dataValuesRead; idx++) { - var seconds = _dataStreamBuffer[idx]; - var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamBuffer[idx]); + var seconds = _dataStreamValues[idx]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[idx]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs deleted file mode 100644 index a75400e..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/DataPositions.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace ApacheOrcDotNet.OptimizedReader -{ - public readonly record struct DataPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index 7298e93..d6fecc8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -2,6 +2,7 @@ using System.IO; using System.Net.Http; using System.Net.Http.Headers; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { @@ -28,6 +29,17 @@ public int GetRange(Span buffer, long position) return DoRead(response.Content.ReadAsStream(), buffer); } + public async Task GetRangeAsync(Memory buffer, long position) + { + var request = CreateRangeRequest(position, position + buffer.Length); + var response = await _httpClient.SendAsync(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + return await DoReadAsync(await response.Content.ReadAsStreamAsync(), buffer); + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { var request = CreateRangeRequest(null, positionFromEnd); @@ -39,6 +51,17 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return DoRead(response.Content.ReadAsStream(), buffer); } + public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + var request = CreateRangeRequest(null, positionFromEnd); + var response = await _httpClient.SendAsync(request); + + if (!response.Content.Headers.ContentRange.Length.HasValue) + throw new InvalidOperationException("Range respose must include a length."); + + return await DoReadAsync(await response.Content.ReadAsStreamAsync(), buffer); + } + private HttpRequestMessage CreateRangeRequest(long? from, long? to) { var request = new HttpRequestMessage(HttpMethod.Get, _remoteLocation); @@ -62,5 +85,21 @@ private int DoRead(Stream stream, Span buffer) } return bytesRead; } + + private async Task DoReadAsync(Stream stream, Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = await stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index ca7538a..ddf5671 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -1,10 +1,13 @@ using System; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProvider : IDisposable { int GetRange(Span buffer, long position); + Task GetRangeAsync(Memory buffer, long position); int GetRangeFromEnd(Span buffer, long positionFromEnd); + Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs index e018156..b678c58 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.IO.MemoryMappedFiles; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { @@ -30,6 +31,14 @@ public int GetRange(Span buffer, long position) } } + public async Task GetRangeAsync(Memory buffer, long position) + { + using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) + { + return await DoReadAsync(stream, buffer); + } + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) @@ -38,6 +47,14 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) } } + public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) + { + return await DoReadAsync(stream, buffer); + } + } + private int DoRead(Stream stream, Span buffer) { int bytesRead = 0; @@ -53,5 +70,21 @@ private int DoRead(Stream stream, Span buffer) } return bytesRead; } + + private async Task DoReadAsync(Stream stream, Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = await stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index 84a65aa..37ded12 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -6,17 +6,15 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); - public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); return stripeFooter.Streams.Select((stream, i) => { - var result = new StreamDetail + var result = new StreamDetails ( StreamId: i, ColumnId: (int)stream.Column, diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs new file mode 100644 index 0000000..b132586 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs @@ -0,0 +1,15 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public record StreamDetails(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); + + public record BufferStream + { + public StreamDetails Details { get; init; } + public StreamPositions Positions { get; init; } + public byte[] CompressedBuffer { get; init; } + public byte[] DecompressedBuffer { get; init; } + public int DecompressedBufferLength { get; set; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs new file mode 100644 index 0000000..e9a43ba --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamPositions.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public record StreamPositions(int RowGroupOffset = 0, int RowEntryOffset = 0, int ValuesToSkip = 0, int RemainingBits = 0); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index f144930..15565e7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -22,8 +23,8 @@ public sealed class OrcReader private readonly OrcReaderConfiguration _configuration; private readonly IByteRangeProvider _byteRangeProvider; private readonly SpanFileTail _fileTail; - private readonly Dictionary> _stripeStreams = new(); - private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly Dictionary> _stripeStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); private readonly Dictionary _protoColumns = new(); private readonly CompressionKind _compressionKind; @@ -99,16 +100,16 @@ public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) return new DateColumnBuffer(_byteRangeProvider, context, column); } - public BaseColumnBuffer CreateDecimalColumnReader(OrcColumn column) + public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) { var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalColumnBuffer(_byteRangeProvider, context, column); + return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); } - public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) + public BaseColumnBuffer CreateDecimalColumnBuffer(OrcColumn column) { var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); + return new DecimalColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) @@ -175,15 +176,20 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s }); } - public void FillBuffer(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) { - if (discardPreviousData) - columnBuffer.Reset(); - var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; - columnBuffer.Fill(stripeId, columnStreams, rowIndexEntry); + await columnBuffer.LoadDataAsync(stripeId, columnStreams, rowIndexEntry); + } + + public void Parse(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + { + if (discardPreviousData) + columnBuffer.Reset(); + + columnBuffer.Parse(); } public ColumnStatistics GetFileColumnStatistics(int columnId) @@ -222,6 +228,9 @@ private SpanFileTail ReadFileTail() { var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + + //Console.WriteLine($"GetRangeFromEnd: {bufferSpan.Length}/{lengthToReadFromEnd}"); + _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); ArrayPool.Shared.Return(buffer); @@ -233,7 +242,7 @@ private SpanFileTail ReadFileTail() } } - private IEnumerable GetStripeStreams(int stripeId) + private IEnumerable GetStripeStreams(int stripeId) { if (!_stripeStreams.ContainsKey(stripeId)) { @@ -256,7 +265,7 @@ private IEnumerable GetStripeStreams(int stripeId) return _stripeStreams[stripeId]; } - private IEnumerable GetColumnStreams(int columnId, int stripeId) + private IEnumerable GetColumnStreams(int columnId, int stripeId) { var key = (columnId, stripeId); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 953f774..623bf2b 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; -using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -18,23 +17,23 @@ public class OptimizedORCAppConfiguration public class OptimizedORCApp { - private readonly string _orcFileName; + private readonly string _orcFileUri; private readonly OptimizedORCAppConfiguration _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public OptimizedORCApp(string orcFileName, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + public OptimizedORCApp(string orcFileUri, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) { - _orcFileName = orcFileName; + _orcFileUri = orcFileUri; _configuration = confituration; _byteRangeProviderFactory = byteRangeProviderFactory; } - public void Run() + public async Task Run() { // var watch = new Stopwatch(); var configs = new OrcReaderConfiguration(); - var rangeProvider = _byteRangeProviderFactory.Create(_orcFileName); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri); var reader = new OptimizedReader.OrcReader(configs, rangeProvider); watch.Start(); @@ -61,7 +60,7 @@ public void Run() // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = reader.CreateDecimalColumnReader(timeColumn); + var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); @@ -84,21 +83,32 @@ public void Run() foreach (var rowEntryIndex in rowGroupIndexes) { - // Process - Parallel.Invoke( - () => reader.FillBuffer(stripeId, rowEntryIndex, sourceColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, symbolColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, timeColumnBuffer) - , () => reader.FillBuffer(stripeId, rowEntryIndex, sizeColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, dateColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, doubleColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, floatColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, timeStampColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, binaryColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, byteColumnBuffer) - //, () => reader.FillBuffer(stripeId, rowEntryIndex, booleanColumnBuffer) + await Task.WhenAll( + reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer) + //reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), + //reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); + reader.Parse(sourceColumnBuffer); + reader.Parse(symbolColumnBuffer); + reader.Parse(timeColumnBuffer); + reader.Parse(sizeColumnBuffer); + //reader.Parse(dateColumnBuffer); + //reader.Parse(doubleColumnBuffer); + //reader.Parse(floatColumnBuffer); + //reader.Parse(timeStampColumnBuffer); + //reader.Parse(binaryColumnBuffer); + //reader.Parse(byteColumnBuffer); + //reader.Parse(booleanColumnBuffer); + for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) { var source = sourceColumnBuffer.Values[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 6112977..c6b367b 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -3,12 +3,13 @@ using System; using System.Diagnostics; using System.Globalization; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App { internal class Program { - static void Main(string[] args) + static async Task Main(string[] args) { var cultureInfo = CultureInfo.GetCultureInfo("en-US"); @@ -22,7 +23,7 @@ static void Main(string[] args) .Build() ; - var fileName = config.GetValue("fileName", string.Empty); + var uri = config.GetValue("uri", string.Empty); var date = config.GetValue("date", DateTime.Now.ToString("d")); var source = config.GetValue("source", string.Empty); var symbol = config.GetValue("symbol", string.Empty); @@ -33,16 +34,20 @@ static void Main(string[] args) var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); - if (fileName.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + if (uri.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) { - Console.WriteLine("Usage: --fileName orcFileName --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine("Usage: --uri orcFileUri --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine(); + Console.WriteLine("Examples:"); + Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); + Console.WriteLine(@" dotnet run --uri https://s3.amazonaws.com/some/path/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); + Console.WriteLine(); Environment.Exit(-1); } Console.WriteLine("Running.. CTRL+C to exit."); Console.WriteLine(); Console.WriteLine($"Pid: {Environment.ProcessId}"); - Console.WriteLine($"date: '{date}'"); Console.WriteLine($"source: '{source}'"); Console.WriteLine($"symbol: '{symbol}'"); Console.WriteLine($"beginTime: '{beginTime}'"); @@ -59,11 +64,11 @@ static void Main(string[] args) }; var fileByteRangeProviderFactory = new ByteRangeProviderFactory(); - var optimizedORCApp = new OptimizedORCApp(fileName, configs, fileByteRangeProviderFactory); + var optimizedORCApp = new OptimizedORCApp(uri, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); stopWatch.Start(); - optimizedORCApp.Run(); + await optimizedORCApp.Run(); stopWatch.Stop(); Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index 84f0558..5e7e46b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -12,17 +12,18 @@ public void Binary_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -33,17 +34,18 @@ public void Binary_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index c881e80..d4843f0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -11,17 +11,18 @@ public void Boolean_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Boolean_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 0de92dd..7fa6a86 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -11,17 +11,18 @@ public void Byte_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Byte_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 54dfac0..1641c6a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -12,17 +12,18 @@ public void Date_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Date_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 8a2499a..0e3340a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void DecimalAsDouble_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void DecimalAsDouble_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index 5950f4d..f226525 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -11,17 +11,18 @@ public void Decimal_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Decimal_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index a7fad46..a2fe8d7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void Double_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Double_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index 5e802e3..1bb13ca 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -11,17 +11,18 @@ public void Float_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Float_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index f526c1b..0524425 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -11,17 +11,18 @@ public void Integer_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sizes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,7 +34,8 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, buffer).Wait(); + reader.Parse(buffer); Assert.Equal(1, buffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index 43e00ff..19354ae 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -11,17 +11,18 @@ public void String_DirectV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void String_DirectV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -53,17 +55,18 @@ public void String_DictionaryV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } @@ -74,17 +77,18 @@ public void String_DictionaryV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index 6f8fd7b..d2ce52b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -12,17 +12,18 @@ public void Timestamp_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Timestamp_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index 0ba1c5c..0291e2a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -12,17 +12,18 @@ public void Binary_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -33,17 +34,18 @@ public void Binary_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); - var buffer = reader.CreateBinaryColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.binaries[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(buffer.Values[i])); + Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index 24696e1..e83c86c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -11,17 +11,18 @@ public void Boolean_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Boolean_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("boolean"); - var buffer = reader.CreateBooleanColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateBooleanColumnReader(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.booleans[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), buffer.Values[i]); + Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 2dcb07a..20eca9c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -11,17 +11,18 @@ public void Byte_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Byte_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("byte"); - var buffer = reader.CreateByteColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateByteColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.bytes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), buffer.Values[i]); + Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index c0cb127..99a8769 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -12,17 +12,18 @@ public void Date_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Date_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("date"); - var buffer = reader.CreateDateColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDateColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.dates[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 3f6fbc7..bb5886a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void DecimalAsDouble_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void DecimalAsDouble_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnBufferAsDouble(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timesAsDouble[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index 049f4b9..c404dd7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -11,17 +11,18 @@ public void Decimal_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Decimal_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("time"); - var buffer = reader.CreateDecimalColumnReader(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDecimalColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.times[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index 83184ee..bf5273e 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -11,17 +11,18 @@ public void Double_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Double_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("double"); - var buffer = reader.CreateDoubleColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateDoubleColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.doubles[i] == null) - Assert.Equal(double.NaN, buffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index b2aced9..7161c84 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -11,17 +11,18 @@ public void Float_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Float_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("float"); - var buffer = reader.CreateFloatColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateFloatColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.floats[i] == null) - Assert.Equal(float.NaN, buffer.Values[i]); + Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 653626c..6529728 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -11,17 +11,18 @@ public void Integer_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sizes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void Integer_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sizes[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index e3f8dd0..445c269 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -11,17 +11,18 @@ public void String_DirectV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -32,17 +33,18 @@ public void String_DirectV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("symbol"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.symbols[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], buffer.Values[i]); + Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); } } @@ -53,17 +55,18 @@ public void String_DictionaryV2_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } @@ -74,17 +77,18 @@ public void String_DictionaryV2_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("source"); - var buffer = reader.CreateStringColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateStringColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.sources[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], buffer.Values[i]); + Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index 7894686..a7c0a25 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -12,17 +12,18 @@ public void Timestamp_Column_10k_Values() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 0, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(10_000, buffer.Values.Length); + Assert.Equal(10_000, columnBuffer.Values.Length); - for (int i = 0; i < buffer.Values.Length; i++) + for (int i = 0; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -33,17 +34,18 @@ public void Timestamp_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("timestamp"); - var buffer = reader.CreateTimestampColumnBuffer(column); - reader.FillBuffer(stripeId: 0, rowEntryIndexId: 1, buffer); + var columnBuffer = reader.CreateTimestampColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + reader.Parse(columnBuffer); - Assert.Equal(1, buffer.Values.Length); + Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < buffer.Values.Length; i++) + for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (_expectedValues.timestamps[i] == null) - Assert.Null(buffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index a8a5578..ce4f68c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -47,6 +48,11 @@ public int GetRange(Span buffer, long position) return buffer.Length; } + public Task GetRangeAsync(Memory buffer, long position) + { + throw new NotImplementedException(); + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); @@ -66,6 +72,11 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return buffer.Length; } + public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + throw new NotImplementedException(); + } + Stream GetOpenStreamForRange(bool isFromEnd, long position, int length) { if (_openFiles.TryGetValue((isFromEnd, position, length), out var existingStream)) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index 2a055c0..227ee59 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.Test.TestHelpers; using System; using System.IO; +using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader { @@ -30,6 +31,15 @@ public int GetRange(Span buffer, long position) } } + public Task GetRangeAsync(Memory buffer, long position) + { + lock (_syncRoot) + { + _stream.Seek(position, SeekOrigin.Begin); + return DoReadAsync(buffer); + } + } + public int GetRangeFromEnd(Span buffer, long positionFromEnd) { lock (_syncRoot) @@ -39,6 +49,15 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) } } + public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + { + lock (_syncRoot) + { + _stream.Seek(-positionFromEnd, SeekOrigin.End); + return DoReadAsync(buffer); + } + } + private int DoRead(Span buffer) { int bytesRead = 0; @@ -54,5 +73,21 @@ private int DoRead(Span buffer) } return bytesRead; } + + private async Task DoReadAsync(Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + while (bytesRemaining > 0) + { + int count = await _stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + return bytesRead; + } } } From 1e242e7822b4adeb5d0aa8132099829350a6f0ba Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 6 Jun 2022 15:36:46 -0300 Subject: [PATCH 065/143] Calculate ranges and reduce the number of byte requests per read. --- .../Buffers/BaseColumnBuffer.cs | 299 ++++-------------- .../Buffers/BinaryColumnBuffer.cs | 51 ++- .../Buffers/BooleanColumnBuffer.cs | 41 ++- .../Buffers/ByteColumnBuffer.cs | 43 ++- .../Buffers/DateColumnBuffer.cs | 40 ++- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 56 +++- .../Buffers/DecimalColumnBuffer.cs | 57 ++-- .../Buffers/DoubleColumnBuffer.cs | 37 ++- .../Buffers/FloatColumnBuffer.cs | 37 ++- .../Buffers/IntegerColumnBuffer.cs | 46 ++- .../Buffers/StringColumnBuffer.cs | 109 ++++--- .../Buffers/TimestampColumnBuffer.cs | 62 ++-- .../Infrastructure/ColumnDataStreams.cs | 15 + .../Infrastructure/SpanStripeFooter.cs | 4 +- .../Infrastructure/StreamDetail.cs | 9 +- .../Infrastructure/StreamRange.cs | 4 + .../OrcReader.cs | 260 +++++++++++++-- .../OptimizedORCApp.cs | 24 +- .../Program.cs | 4 + .../WithNulls/BinaryColumn_Test.cs | 4 +- .../WithNulls/BooleanColumn_Test.cs | 4 +- .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 4 +- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 4 +- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 4 +- .../WithNulls/DecimalColumn_Test.cs | 4 +- .../WithNulls/DoubleColumn_Test.cs | 4 +- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 4 +- .../WithNulls/IntegerColumn_Test.cs | 4 +- .../WithNulls/StringColumn_Test.cs | 8 +- .../WithNulls/TimestampColumn_Test.cs | 4 +- .../WithoutNulls/BinaryColumn_Test.cs | 4 +- .../WithoutNulls/BooleanColumn_Test.cs | 4 +- .../WithoutNulls/ByteColumn_Test.cs | 4 +- .../WithoutNulls/DateColumn_Test.cs | 4 +- .../DecimalAsDoubleColumn_Test.cs | 4 +- .../WithoutNulls/DecimalColumn_Test.cs | 4 +- .../WithoutNulls/DoubleColumn_Test.cs | 4 +- .../WithoutNulls/FloatColumn_Test.cs | 4 +- .../WithoutNulls/IntegerColumn_Test.cs | 4 +- .../WithoutNulls/StringColumn_Test.cs | 8 +- .../WithoutNulls/TimestampColumn_Test.cs | 4 +- .../OrcReader_Test.cs | 2 +- 42 files changed, 761 insertions(+), 535 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index f430a4c..2dc54fa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -16,7 +16,10 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public abstract class BaseColumnBuffer { - //private protected readonly BufferStream[] _bufferStreams; + private readonly long[] _numericStreamBuffer; + private readonly byte[] _byteStreamBuffer; + private readonly byte[] _boolStreamBuffer; + private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcContext _context; private protected readonly OrcColumn _column; @@ -24,42 +27,8 @@ public abstract class BaseColumnBuffer private protected readonly ArrayPool _pool; - private protected StreamDetails _dataStream; - private protected StreamPositions _dataStreamPositions; - private protected byte[] _dataStreamCompressedBuffer; - private protected byte[] _dataStreamDecompressedBuffer; - private protected int _dataStreamDecompressedBufferLength; - - private protected StreamDetails _dictionaryStream; - private protected StreamPositions _dictionaryStreamPositions; - private protected byte[] _dictionaryStreanCompressedBuffer; - private protected byte[] _dictionaryStreamDecompressedBuffer; - private protected int _dictionaryStreamDecompressedBufferLength; - - private protected StreamDetails _lengthStream; - private protected StreamPositions _lengthStreamPositions; - private protected byte[] _lengthStreamCompressedBuffer; - private protected byte[] _lengthStreamDecompressedBuffer; - private protected int _lengthStreamDecompressedBufferLength; - - private protected StreamDetails _presentStream; - private protected StreamPositions _presentStreamPositions; - private protected byte[] _presentStreamCompressedBuffer; - private protected byte[] _presentStreamDecompressedBuffer; - private protected int _presentStreamDecompressedBufferLength; - - private protected StreamDetails _secondaryStream; - private protected StreamPositions _secondaryStreamPositions; - private protected byte[] _secondaryStreamCompressedBuffer; - private protected byte[] _secondaryStreamDecompressedBuffer; - private protected int _secondaryStreamDecompressedBufferLength; - private protected int _numValuesRead; - private long[] _numericStreamBuffer; - private byte[] _byteStreamBuffer; - private byte[] _boolStreamBuffer; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; @@ -69,33 +38,6 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context _pool = ArrayPool.Create(15 * 1024 * 1024, 8); - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); - - //var streamKinds = Enum.GetValues(); - //_bufferStreams = new BufferStream[streamKinds.Length]; - - //foreach (var kind in streamKinds) - //{ - // _bufferStreams[(int)kind] = new BufferStream() - // { - // CompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength), - // DecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength) - // }; - //} - _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; @@ -104,17 +46,32 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context public OrcColumn Column => _column; public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); - public abstract Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry); - public abstract void Parse(); + public abstract Task LoadDataAsync(int stripeId, ColumnDataStreams streams); + public abstract void Fill(); public void Reset() => _numValuesRead = 0; - private protected int ReadByteStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) + private protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) + { + var stream = columnStreams.SingleOrDefault(stream => + stream.StreamKind == streamKind + ); + + if (isRequired && stream == null) + throw new InvalidDataException($"The '{streamKind}' stream must be available"); + + return stream; + } + + private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); while (!bufferReader.Complete) { @@ -122,26 +79,27 @@ private protected int ReadByteStream(ReadOnlySpan buffer, int length, in S for (int idx = 0; idx < numByteValuesRead; idx++) { - if (numSkipped++ < positions.ValuesToSkip) + if (numSkipped++ < stream.Positions.ValuesToSkip) continue; outputValues[numValuesRead++] = _byteStreamBuffer[idx]; if (numValuesRead >= outputValues.Length) - return numValuesRead; + return; } } - - return numValuesRead; } - private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) + private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); - var numOfTotalBitsToSkip = positions.ValuesToSkip * 8 + positions.RemainingBits; + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); + var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; while (!bufferReader.Complete) { @@ -180,12 +138,15 @@ private protected void ReadBooleanStream(ReadOnlySpan buffer, int length, } } - private protected void ReadNumericStream(ReadOnlySpan buffer, int length, in StreamPositions positions, bool isSigned, Span outputValues, out int numValuesRead) + private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan buffer, int length, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); while (!bufferReader.Complete) { @@ -193,7 +154,7 @@ private protected void ReadNumericStream(ReadOnlySpan buffer, int length, for (int idx = 0; idx < numNewValuesRead; idx++) { - if (numSkipped++ < positions.ValuesToSkip) + if (numSkipped++ < stream.Positions.ValuesToSkip) continue; outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; @@ -204,12 +165,15 @@ private protected void ReadNumericStream(ReadOnlySpan buffer, int length, } } - private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, in StreamPositions positions, Span outputValues, out int numValuesRead) + private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; + if (stream == null) + return; + int numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(buffer, length, in positions)); + var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); while (!bufferReader.Complete) { @@ -218,7 +182,7 @@ private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, i if (!bigInt.HasValue) return; - if (numSkipped++ < positions.ValuesToSkip) + if (numSkipped++ < stream.Positions.ValuesToSkip) continue; outputValues[numValuesRead++] = bigInt.Value; @@ -228,84 +192,32 @@ private protected void ReadVarIntStream(ReadOnlySpan buffer, int length, i } } - private protected void LoadStreams(IEnumerable columnStreams, RowIndexEntry rowIndexEntry, params StreamKind[] requiredStreams) - { - var missingStreams = requiredStreams.ToList(); - - _presentStream = columnStreams.SingleOrDefault(stream => stream.StreamKind == StreamKind.Present); - _presentStreamPositions = GetPresentStreamPositions(_presentStream, rowIndexEntry); - missingStreams.Remove(StreamKind.Present); - - foreach (var stream in columnStreams) - { - switch (stream.StreamKind) - { - case StreamKind.Present: - case StreamKind.RowIndex: - continue; - case StreamKind.Secondary: - _secondaryStream = stream; - _secondaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - case StreamKind.DictionaryData: - _dictionaryStream = stream; - _dictionaryStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - case StreamKind.Length: - _lengthStream = stream; - _lengthStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - case StreamKind.Data: - _dataStream = stream; - _dataStreamPositions = GetRequiredStreamPositions(stream, rowIndexEntry); - missingStreams.Remove(stream.StreamKind); - break; - default: - throw new NotImplementedException($"Unable to set stream '{stream.StreamKind}'"); - } - } - - if (missingStreams.Count > 0) - throw new InvalidDataException($"The following streams must be available: {string.Join(", ", missingStreams)}"); - } - - private protected async Task GetByteRange(Memory output, StreamDetails stream, StreamPositions positions) + private protected async Task GetByteRangeAsync(StreamDetail stream, Memory output) { var rangeLength = 0; if (stream != null) - { - var offset = stream.FileOffset + positions.RowGroupOffset; - var compressedLength = stream.Length - positions.RowGroupOffset; - - //Console.WriteLine($"GetByteRangeAsync for '{_column.Name}': {compressedLength}/{offset}"); - - rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, compressedLength), offset); - } + rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); return rangeLength; } - private protected void DecompressByteRange(ReadOnlySpan compressedInput, Span decompressedOutput, StreamDetails stream, in StreamPositions positions, ref int decompressedLength) + private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, Span decompressedOutput, ref int decompressedLength) { decompressedLength = 0; if (stream != null) - { - var compressedLength = stream.Length - positions.RowGroupOffset; - - decompressedLength = StreamData.Decompress(compressedInput.Slice(0, compressedLength), decompressedOutput, _context.CompressionKind); - } + decompressedLength = StreamData.Decompress(compressedInput.Slice(0, stream.Range.Length), decompressedOutput, _context.CompressionKind); } - private protected ReadOnlySpan ResizeBuffer(ReadOnlySpan buffer, int length, in StreamPositions positions) + /// + /// Applies the offset position into the decompressed data. + /// + private protected ReadOnlySpan ResizeBuffer(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) { - var rowentrylength = length - positions.RowEntryOffset; + var rowEntryLength = decompressedBufferLength - stream.Positions.RowEntryOffset; - return buffer.Slice(positions.RowEntryOffset, rowentrylength); + return decompressedBuffer.Slice(stream.Positions.RowEntryOffset, rowEntryLength); } private protected double BigIntegerToDouble(BigInteger numerator, long scale) @@ -322,111 +234,6 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) return decNumerator * scaler; } - private StreamPositions GetPresentStreamPositions(StreamDetails presentStream, RowIndexEntry rowIndexEntry) - { - if (presentStream == null) - return new(); - - return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); - } - - private StreamPositions GetRequiredStreamPositions(StreamDetails targetedStream, RowIndexEntry rowIndexEntry) - { - var positionStep = _presentStream == null ? 0 : 4; - - ulong rowGroupOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 3], - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 2], - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 0], - - _ => throw new NotImplementedException() - }; - - ulong rowEntryOffset = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 4], - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 3], - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], - - (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 1], - - _ => throw new NotImplementedException() - }; - - ulong valuesToSkip = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - - (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 5], - (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 4], - - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, - (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], - (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], - - (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, - (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Double, _) => 0, - (StreamKind.Data, ColumnTypeKind.Float, _) => 0, - (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 2], - - _ => throw new NotImplementedException() - }; - - ulong remainingBits = (targetedStream.StreamKind, _column.Type, targetedStream.EncodingKind) switch - { - (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 3], - _ => 0 - }; - - return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); - } - private BigInteger? ReadBigVarInt(ref BufferReader stream) { var value = BigInteger.Zero; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 2cee73c..a477068 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -1,6 +1,4 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -12,36 +10,59 @@ public class BinaryColumnBuffer : BaseColumnBuffer private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _lengthStreamCompressedBuffer; + private byte[] _lengthStreamDecompressedBuffer; + private int _lengthStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Length, _lengthStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamBuffer, out var presentValuesRead); - ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); + var dataBuffer = ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { var lengthIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 6ca2b40..4eac21d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -9,34 +8,50 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private bool[] _dataStreamValues; + private readonly bool[] _presentStreamValues; + private readonly bool[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new bool[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadBooleanStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - if (_presentStream != null) + if (presentValuesRead > 0) { var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 9a624ce..f35e5a3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -9,36 +8,52 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private byte[] _dataStreamValues; + private readonly bool[] _presentStreamValues; + private readonly byte[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new byte[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadByteStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadByteStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - var dataIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { + var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 7fbdfea..4a3fd1e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -10,35 +9,52 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class DateColumnBuffer : BaseColumnBuffer { - readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); - if (_presentStream != null) + if (presentValuesRead > 0) { var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 6695f7c..008c355 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -15,46 +14,69 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamValues; private long[] _secondaryStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private byte[] _secondaryStreamCompressedBuffer; + private byte[] _secondaryStreamDecompressedBuffer; + private int _secondaryStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - var secondaryIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { + var valueIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); - secondaryIndex++; + _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); + valueIndex++; } else _values[_numValuesRead++] = double.NaN; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 3eee953..0fd5e48 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,7 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -15,46 +13,69 @@ public class DecimalColumnBuffer : BaseColumnBuffer private BigInteger[] _dataStreamValues; private long[] _secondaryStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private byte[] _secondaryStreamCompressedBuffer; + private byte[] _secondaryStreamDecompressedBuffer; + private int _secondaryStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - var secondaryIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { + var valueIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[secondaryIndex], _secondaryStreamValues[secondaryIndex]); - secondaryIndex++; + _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); + valueIndex++; } else _values[_numValuesRead++] = null; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 472f93a..d146c71 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -13,32 +12,48 @@ public class DoubleColumnBuffer : BaseColumnBuffer private bool[] _presentStreamValues; private byte[] _valueBuffer; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[8]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); + var dataReader = new BufferReader(ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); - if (_presentStream != null) + if (presentValuesRead > 0) { for (int idx = 0; idx < presentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 8b08165..9ba9e92 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -1,7 +1,6 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -13,32 +12,48 @@ public class FloatColumnBuffer : BaseColumnBuffer private bool[] _presentStreamValues; private byte[] _valueBuffer; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[4]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions)); + var dataReader = new BufferReader(ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); - if (_presentStream != null) + if (presentValuesRead > 0) { for (int idx = 0; idx < presentValuesRead; idx++) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 1817483..9ab7fe5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -1,6 +1,4 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -9,37 +7,53 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private long[] _dataStreamValues; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private ColumnDataStreams _streams; public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValueRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); - var dataIndex = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { - for (int idx = 0; idx < presentValueRead; idx++) + var dataIndex = 0; + for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) _values[_numValuesRead++] = _dataStreamValues[dataIndex++]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 2a4f2b3..1190753 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; @@ -13,12 +12,28 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary _dictionaryLengthBuffers = new(); + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + private readonly long[] _lengthStreamValues; - private bool[] _presentStreamValues; - private long[] _dataStreamValues; - private long[] _lengthStreamValues; + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _dictionaryStreanCompressedBuffer; + private byte[] _dictionaryStreamDecompressedBuffer; + private int _dictionaryStreamDecompressedBufferLength; + + private byte[] _lengthStreamCompressedBuffer; + private byte[] _lengthStreamDecompressedBuffer; + private int _lengthStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; private ColumnEncodingKind _encodingKind; + private ColumnDataStreams _streams; private int _stripeId; public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) @@ -26,51 +41,45 @@ public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext conte _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _lengthStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + _streams = streams; _stripeId = stripeId; - _encodingKind = columnStreams.First().EncodingKind; + _encodingKind = _streams.EncodingKind; - switch (_encodingKind) + var byteRangeTasks = new List>() { - case ColumnEncodingKind.DirectV2: - { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data); - - _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions) - ); - - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - } - break; - case ColumnEncodingKind.DictionaryV2: - { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Length, StreamKind.Data, StreamKind.DictionaryData); - - _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_lengthStreamCompressedBuffer, _lengthStream, _lengthStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStream, _dictionaryStreamPositions) - ); - - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, _lengthStream, _lengthStreamPositions, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, _dictionaryStream, _dictionaryStreamPositions, ref _dictionaryStreamDecompressedBufferLength); - } - break; - } + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Length, _lengthStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + }; + if (_encodingKind == ColumnEncodingKind.DictionaryV2) + byteRangeTasks.Add(GetByteRangeAsync(_streams.DictionaryData, _dictionaryStreanCompressedBuffer)); + + _ = await Task.WhenAll(byteRangeTasks); + + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + if (_encodingKind == ColumnEncodingKind.DictionaryV2) + DecompressByteRange(_streams.DictionaryData, _dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, ref _dictionaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { switch (_encodingKind) { @@ -87,13 +96,13 @@ public override void Parse() private void ReadDirectV2() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, _lengthStreamValues, out var lengthValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamValues, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions); + var dataBuffer = ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; - if (_presentStream != null) + if (presentValuesRead > 0) { var lengthIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) @@ -127,11 +136,11 @@ private void ReadDirectV2() private void ReadDictionaryV2() { - var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _lengthStream.DictionarySize); + var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _streams.Length.DictionarySize); - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, _lengthStreamPositions, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: false, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: false, _dataStreamValues, out var dataValuesRead); int stringOffset = 0; List stringsList = new(lengthValuesRead); @@ -143,7 +152,7 @@ private void ReadDictionaryV2() stringsList.Add(value); } - if (_presentStream != null) + if (presentValuesRead > 0) { var dataIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 66c0ed3..700ffc5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -1,7 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; @@ -10,54 +8,78 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class TimestampColumnBuffer : BaseColumnBuffer { - readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + private byte[] _secondaryStreamCompressedBuffer; + private byte[] _secondaryStreamDecompressedBuffer; + private int _secondaryStreamDecompressedBufferLength; + private long[] _secondaryStreamValues; + private ColumnDataStreams _streams; + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; + + _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + + _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); } - public override async Task LoadDataAsync(int stripeId, IEnumerable columnStreams, RowIndexEntry rowIndexEntry) + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - LoadStreams(columnStreams, rowIndexEntry, StreamKind.Data, StreamKind.Secondary); + _streams = streams; _ = await Task.WhenAll( - GetByteRange(_presentStreamCompressedBuffer, _presentStream, _presentStreamPositions), - GetByteRange(_dataStreamCompressedBuffer, _dataStream, _dataStreamPositions), - GetByteRange(_secondaryStreamCompressedBuffer, _secondaryStream, _secondaryStreamPositions) + GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, _presentStream, _presentStreamPositions, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, _dataStream, _dataStreamPositions, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, _secondaryStream, _secondaryStreamPositions, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); } - public override void Parse() + public override void Fill() { - ReadBooleanStream(_presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamPositions, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamPositions, isSigned: true, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, _secondaryStreamPositions, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); - if (_presentStream != null) + if (presentValuesRead > 0) { - var secondaryIndex = 0; + var valueIndex = 0; for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) { - var seconds = _dataStreamValues[secondaryIndex]; - var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[secondaryIndex]); + var seconds = _dataStreamValues[valueIndex]; + var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[valueIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); - secondaryIndex++; + valueIndex++; } else _values[_numValuesRead++] = null; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs new file mode 100644 index 0000000..5614d04 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs @@ -0,0 +1,15 @@ +using ApacheOrcDotNet.Protocol; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public class ColumnDataStreams + { + public ColumnEncodingKind EncodingKind { get; set; } + + public StreamDetail Data { get; set; } + public StreamDetail DictionaryData { get; set; } + public StreamDetail Length { get; set; } + public StreamDetail Present { get; set; } + public StreamDetail Secondary { get; set; } + } +} \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index 37ded12..211e94a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -8,13 +8,13 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); return stripeFooter.Streams.Select((stream, i) => { - var result = new StreamDetails + var result = new StreamDetail ( StreamId: i, ColumnId: (int)stream.Column, diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs index b132586..31652fb 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamDetail.cs @@ -2,14 +2,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamDetails(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize); - - public record BufferStream + public record StreamDetail(int StreamId, int ColumnId, long FileOffset, int Length, StreamKind StreamKind, ColumnEncodingKind EncodingKind, int DictionarySize) { - public StreamDetails Details { get; init; } public StreamPositions Positions { get; init; } - public byte[] CompressedBuffer { get; init; } - public byte[] DecompressedBuffer { get; init; } - public int DecompressedBufferLength { get; set; } + public StreamRange Range { get; set; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs new file mode 100644 index 0000000..1183147 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs @@ -0,0 +1,4 @@ +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public record StreamRange(long Offset, int Length); +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 15565e7..1df9bd3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -23,8 +23,8 @@ public sealed class OrcReader private readonly OrcReaderConfiguration _configuration; private readonly IByteRangeProvider _byteRangeProvider; private readonly SpanFileTail _fileTail; - private readonly Dictionary> _stripeStreams = new(); - private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); + private readonly Dictionary> _stripeStreams = new(); + private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); private readonly Dictionary _protoColumns = new(); private readonly CompressionKind _compressionKind; @@ -52,6 +52,8 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; } + public int NumValues { get; set; } + public OrcColumn GetColumn(int columnId, string min = null, string max = null) { if (columnId == 0 || columnId >= _protoColumns.Count) @@ -161,13 +163,13 @@ public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column) { - var rowIndex = GetRowGroupIndex(column.Id, stripeId); + var rowIndex = GetColumnRowIndex(column.Id, stripeId); return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); } public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column) { - var rowIndex = GetRowGroupIndex(column.Id, stripeId); + var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { @@ -178,18 +180,21 @@ public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int s public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) { - var columnStreams = GetColumnStreams(columnBuffer.Column.Id, stripeId); - var rowIndexEntry = GetRowGroupIndex(columnBuffer.Column.Id, stripeId).Entry[rowEntryIndexId]; + var rowIndex = GetColumnRowIndex(columnBuffer.Column.Id, stripeId); + var columnStreams = GetColumnDataStreams(stripeId, columnBuffer.Column, rowIndex, rowEntryIndexId); - await columnBuffer.LoadDataAsync(stripeId, columnStreams, rowIndexEntry); + await columnBuffer.LoadDataAsync(stripeId, columnStreams); } - public void Parse(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + public void Fill(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) { if (discardPreviousData) columnBuffer.Reset(); - columnBuffer.Parse(); + columnBuffer.Fill(); + + if (NumValues == 0 || NumValues > columnBuffer.Values.Length) + NumValues = columnBuffer.Values.Length; } public ColumnStatistics GetFileColumnStatistics(int columnId) @@ -198,7 +203,7 @@ public ColumnStatistics GetFileColumnStatistics(int columnId) public ColumnStatistics GetStripeColumnStatistics(int columnId, int stripeId) => _fileTail.Metadata.StripeStats[stripeId].ColStats[columnId]; - public RowIndex GetRowGroupIndex(int columnId, int stripeId) + public RowIndex GetColumnRowIndex(int columnId, int stripeId) { var key = (columnId, stripeId); @@ -226,14 +231,13 @@ private SpanFileTail ReadFileTail() int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; while (true) { - var buffer = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var bufferSpan = buffer.AsSpan()[..lengthToReadFromEnd]; + var fileTailBufferRaw = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - //Console.WriteLine($"GetRangeFromEnd: {bufferSpan.Length}/{lengthToReadFromEnd}"); + _byteRangeProvider.GetRangeFromEnd(fileTailBuffer, lengthToReadFromEnd); - _byteRangeProvider.GetRangeFromEnd(bufferSpan, lengthToReadFromEnd); - var success = SpanFileTail.TryRead(bufferSpan, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(buffer); + var success = SpanFileTail.TryRead(fileTailBuffer, out var fileTail, out var additionalBytesRequired); + ArrayPool.Shared.Return(fileTailBufferRaw); if (success) return fileTail; @@ -242,7 +246,7 @@ private SpanFileTail ReadFileTail() } } - private IEnumerable GetStripeStreams(int stripeId) + private IEnumerable GetStripeStreams(int stripeId) { if (!_stripeStreams.ContainsKey(stripeId)) { @@ -265,17 +269,229 @@ private IEnumerable GetStripeStreams(int stripeId) return _stripeStreams[stripeId]; } - private IEnumerable GetColumnStreams(int columnId, int stripeId) + private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { - var key = (columnId, stripeId); - - return _columnStreams.GetOrAdd(key, key => + var key = (column.Id, stripeId); + var rowIndexEntry = rowIndex.Entry[rowEntryIndex]; + var columnStreams = _columnStreams.GetOrAdd(key, key => { var stripeStreams = GetStripeStreams(stripeId); return stripeStreams.Where(s => - s.ColumnId == columnId + s.ColumnId == column.Id + && s.StreamKind != StreamKind.RowIndex ).ToList(); }); + + var result = new ColumnDataStreams(); + + var present = columnStreams.SingleOrDefault(s => s.StreamKind == StreamKind.Present); + if (present != null) + { + result.Present = present with + { + Positions = GetPresentStreamPositions(present, rowIndexEntry), + Range = CalculatePresentRange(present, column, rowIndex, rowEntryIndex) + }; + } + + foreach (var stream in columnStreams) + { + if (stream.StreamKind == StreamKind.Present) + continue; + + result.EncodingKind = stream.EncodingKind; + + switch (stream.StreamKind) + { + case StreamKind.Data: + result.Data = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + case StreamKind.DictionaryData: + result.DictionaryData = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + case StreamKind.Length: + result.Length = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + case StreamKind.Secondary: + result.Secondary = stream with + { + Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), + Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + }; + break; + default: + throw new InvalidOperationException($"Stream kind {stream.StreamKind} is not supported."); + } + } + + return result; + } + + private StreamPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + { + if (presentStream == null) + return new(); + + return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); + } + + private StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndexEntry rowIndexEntry) + { + var positionStep = presentStream == null ? 0 : 4; + + ulong rowGroupOffset = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 2], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 0], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 0], + + _ => throw new NotImplementedException() + }; + + ulong rowEntryOffset = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 3], + + (StreamKind.Data, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Double, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Float, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 1], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 1], + + _ => throw new NotImplementedException() + }; + + ulong valuesToSkip = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.DictionaryData, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + + (StreamKind.Secondary, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 5], + (StreamKind.Secondary, ColumnTypeKind.Decimal, _) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => 0, + (StreamKind.Length, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + (StreamKind.Length, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => rowIndexEntry.Positions[positionStep + 4], + + (StreamKind.Data, ColumnTypeKind.Timestamp, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Decimal, _) => 0, + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DictionaryV2) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.String, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Binary, ColumnEncodingKind.DirectV2) => 0, + (StreamKind.Data, ColumnTypeKind.Short, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Double, _) => 0, + (StreamKind.Data, ColumnTypeKind.Float, _) => 0, + (StreamKind.Data, ColumnTypeKind.Date, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Long, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Int, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Byte, _) => rowIndexEntry.Positions[positionStep + 2], + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 2], + + _ => throw new NotImplementedException() + }; + + ulong remainingBits = (targetedStream.StreamKind, column.Type, targetedStream.EncodingKind) switch + { + (StreamKind.Data, ColumnTypeKind.Boolean, _) => rowIndexEntry.Positions[positionStep + 3], + _ => 0 + }; + + return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); + } + + private StreamRange CalculatePresentRange(StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + { + var rangeLength = 0; + var currentEntry = rowIndex.Entry[rowEntryIndex]; + var currentPositions = GetPresentStreamPositions(presentStream, currentEntry); + + // Change in the current position marks the start of another entry. + for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) + { + var nextOffset = GetPresentStreamPositions(presentStream, rowIndex.Entry[idx]); + + if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) + { + // Calculate the range length, adding possible bytes that might have been included into the next compressed chunk. + rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; + break; + } + } + + if (rangeLength == 0) + rangeLength = presentStream.Length - currentPositions.RowGroupOffset; + + return new(presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + } + + private StreamRange CalculateDataRange(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + { + var rangeLength = 0; + var currentEntry = rowIndex.Entry[rowEntryIndex]; + var currentPositions = GetRequiredStreamPositions(presentStream, targetedStream, column, currentEntry); + + // Change in the current position marks the start of another entry. + for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) + { + var nextOffset = GetRequiredStreamPositions(presentStream, targetedStream, column, rowIndex.Entry[idx]); + + if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) + { + // Calculate the range length, adding possible bytes that might have been included into the next compressed chunk. + rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; + break; + } + } + + if (rangeLength == 0) + rangeLength = targetedStream.Length - currentPositions.RowGroupOffset; + + return new(targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } } } \ No newline at end of file diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 623bf2b..1748178 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -97,19 +97,19 @@ await Task.WhenAll( //reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); - reader.Parse(sourceColumnBuffer); - reader.Parse(symbolColumnBuffer); - reader.Parse(timeColumnBuffer); - reader.Parse(sizeColumnBuffer); - //reader.Parse(dateColumnBuffer); - //reader.Parse(doubleColumnBuffer); - //reader.Parse(floatColumnBuffer); - //reader.Parse(timeStampColumnBuffer); - //reader.Parse(binaryColumnBuffer); - //reader.Parse(byteColumnBuffer); - //reader.Parse(booleanColumnBuffer); + reader.Fill(sourceColumnBuffer); + reader.Fill(symbolColumnBuffer); + reader.Fill(timeColumnBuffer); + reader.Fill(sizeColumnBuffer); + //reader.Fill(dateColumnBuffer); + //reader.Fill(doubleColumnBuffer); + //reader.Fill(floatColumnBuffer); + //reader.Fill(timeStampColumnBuffer); + //reader.Fill(binaryColumnBuffer); + //reader.Fill(byteColumnBuffer); + //reader.Fill(booleanColumnBuffer); - for (int idx = 0; idx < sizeColumnBuffer.Values.Length; idx++) + for (int idx = 0; idx < reader.NumValues; idx++) { var source = sourceColumnBuffer.Values[idx]; var symbol = symbolColumnBuffer.Values[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index c6b367b..745dd14 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -42,6 +42,10 @@ static async Task Main(string[] args) Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); Console.WriteLine(@" dotnet run --uri https://s3.amazonaws.com/some/path/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); Console.WriteLine(); + Console.WriteLine(@" You can use files under ApacheOrcDotNet.OptimizedReader.Test/Data to test the readers:"); + Console.WriteLine(@" - optimized_reader_test_file.orc"); + Console.WriteLine(@" - optimized_reader_test_file_no_nulls.orc"); + Console.WriteLine(); Environment.Exit(-1); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index 5e7e46b..eaab7e6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -14,7 +14,7 @@ public void Binary_Column_10k_Values() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Binary_Column_1_Value() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index d4843f0..2d4c68b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -13,7 +13,7 @@ public void Boolean_Column_10k_Values() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Boolean_Column_1_Value() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 7fa6a86..992b8b1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -13,7 +13,7 @@ public void Byte_Column_10k_Values() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Byte_Column_1_Value() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 1641c6a..b5bd2af 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -14,7 +14,7 @@ public void Date_Column_10k_Values() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Date_Column_1_Value() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 0e3340a..27b89dd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void DecimalAsDouble_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void DecimalAsDouble_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index f226525..b2f0e1f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -13,7 +13,7 @@ public void Decimal_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Decimal_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index a2fe8d7..3310555 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void Double_Column_10k_Values() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Double_Column_1_Value() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index 1bb13ca..de2028b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -13,7 +13,7 @@ public void Float_Column_10k_Values() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Float_Column_1_Value() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 0524425..4c52779 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -13,7 +13,7 @@ public void Integer_Column_10k_Values() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var buffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, buffer).Wait(); - reader.Parse(buffer); + reader.Fill(buffer); Assert.Equal(1, buffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index 19354ae..8fe5068 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -13,7 +13,7 @@ public void String_DirectV2_Column_10k_Values() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void String_DirectV2_Column_1_Value() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); @@ -57,7 +57,7 @@ public void String_DictionaryV2_Column_10k_Values() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -79,7 +79,7 @@ public void String_DictionaryV2_Column_1_Value() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index d2ce52b..a2f764b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -14,7 +14,7 @@ public void Timestamp_Column_10k_Values() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Timestamp_Column_1_Value() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index 0291e2a..f83d57b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -14,7 +14,7 @@ public void Binary_Column_10k_Values() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Binary_Column_1_Value() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index e83c86c..5d3a128 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -13,7 +13,7 @@ public void Boolean_Column_10k_Values() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Boolean_Column_1_Value() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 20eca9c..1863b92 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -13,7 +13,7 @@ public void Byte_Column_10k_Values() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Byte_Column_1_Value() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index 99a8769..7fb2aa7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -14,7 +14,7 @@ public void Date_Column_10k_Values() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Date_Column_1_Value() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index bb5886a..8fe31d6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void DecimalAsDouble_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void DecimalAsDouble_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index c404dd7..231a5b7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -13,7 +13,7 @@ public void Decimal_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Decimal_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index bf5273e..87a6dd9 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -13,7 +13,7 @@ public void Double_Column_10k_Values() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Double_Column_1_Value() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index 7161c84..cade1e1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -13,7 +13,7 @@ public void Float_Column_10k_Values() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Float_Column_1_Value() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 6529728..9e488fa 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -13,7 +13,7 @@ public void Integer_Column_10k_Values() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index 445c269..1aad914 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -13,7 +13,7 @@ public void String_DirectV2_Column_10k_Values() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +35,7 @@ public void String_DirectV2_Column_1_Value() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); @@ -57,7 +57,7 @@ public void String_DictionaryV2_Column_10k_Values() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -79,7 +79,7 @@ public void String_DictionaryV2_Column_1_Value() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index a7c0a25..48207b9 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -14,7 +14,7 @@ public void Timestamp_Column_10k_Values() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +36,7 @@ public void Timestamp_Column_1_Value() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Parse(columnBuffer); + reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index ec26433..db8d4ed 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -83,7 +83,7 @@ public void StripeColumnStatistics() public void RowGroupStatistics() { var reader = new OrcReader(new OrcReaderConfiguration(), _byteRangeProvider); - var rowGroupEntry = reader.GetRowGroupIndex(columnId: 1, stripeId: 0).Entry[0]; + var rowGroupEntry = reader.GetColumnRowIndex(columnId: 1, stripeId: 0).Entry[0]; Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Minimum); Assert.Equal("BZX", rowGroupEntry.Statistics.StringStatistics.Maximum); Assert.Equal(0ul, rowGroupEntry.Positions[0]); From f30ee1124597aa2c963662221cdc929b6d8e3e2c Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 15:43:19 -0300 Subject: [PATCH 066/143] Add simple byte range requests caching. --- .../Buffers/BaseColumnBuffer.cs | 17 +++++++++++++---- .../Buffers/StringColumnBuffer.cs | 6 ------ .../Infrastructure/StreamRange.cs | 2 +- .../OrcReader.cs | 18 +++++++++--------- 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 2dc54fa..4ffc4b2 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -29,6 +29,9 @@ public abstract class BaseColumnBuffer private protected int _numValuesRead; + private StreamRange _lastRange; + private int _lastRangeLength; + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; @@ -194,12 +197,18 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan private protected async Task GetByteRangeAsync(StreamDetail stream, Memory output) { - var rangeLength = 0; - if (stream != null) - rangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + { + // If last range matches, the previous data will already be buffered. + // We can return only the length without requesting the same bytes. + + if (stream.Range != _lastRange) + _lastRangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + + _lastRange = stream.Range; + } - return rangeLength; + return _lastRangeLength; } private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, Span decompressedOutput, ref int decompressedLength) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 1190753..0651e62 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -115,9 +115,6 @@ private void ReadDirectV2() } else _values[_numValuesRead++] = null; - - if (_numValuesRead >= _values.Length) - break; } } else @@ -127,9 +124,6 @@ private void ReadDirectV2() var length = (int)_lengthStreamValues[idx]; _values[_numValuesRead++] = Encoding.UTF8.GetString(dataBuffer.Slice(stringOffset, length)); stringOffset += length; - - if (_numValuesRead >= _values.Length) - break; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs index 1183147..437f12e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamRange.cs @@ -1,4 +1,4 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public record StreamRange(long Offset, int Length); + public record StreamRange(int stripeId, long Offset, int Length); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 1df9bd3..5e062f0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -290,7 +290,7 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.Present = present with { Positions = GetPresentStreamPositions(present, rowIndexEntry), - Range = CalculatePresentRange(present, column, rowIndex, rowEntryIndex) + Range = CalculatePresentRange(stripeId, present, column, rowIndex, rowEntryIndex) }; } @@ -307,28 +307,28 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.Data = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; case StreamKind.DictionaryData: result.DictionaryData = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; case StreamKind.Length: result.Length = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; case StreamKind.Secondary: result.Secondary = stream with { Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(present, stream, column, rowIndex, rowEntryIndex) + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) }; break; default: @@ -444,7 +444,7 @@ private StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, S return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private StreamRange CalculatePresentRange(StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { var rangeLength = 0; var currentEntry = rowIndex.Entry[rowEntryIndex]; @@ -466,10 +466,10 @@ private StreamRange CalculatePresentRange(StreamDetail presentStream, OrcColumn if (rangeLength == 0) rangeLength = presentStream.Length - currentPositions.RowGroupOffset; - return new(presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + return new(stripeId, presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } - private StreamRange CalculateDataRange(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { var rangeLength = 0; var currentEntry = rowIndex.Entry[rowEntryIndex]; @@ -491,7 +491,7 @@ private StreamRange CalculateDataRange(StreamDetail presentStream, StreamDetail if (rangeLength == 0) rangeLength = targetedStream.Length - currentPositions.RowGroupOffset; - return new(targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + return new(stripeId, targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } } } \ No newline at end of file From 28b7367004d436c1f9a618fa750e9605361e84d7 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 18:26:53 -0300 Subject: [PATCH 067/143] Add filter unit tests Move min/max filter out of column record. --- .../Infrastructure/StatsExtensions.cs | 15 ++-- .../OrcColumn.cs | 3 - .../OrcReader.cs | 32 ++++----- .../OptimizedORCApp.cs | 18 ++--- .../ColumnTypes/WithNulls/_Filter_Test.cs | 68 +++++++++++++++++++ .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 68 +++++++++++++++++++ 6 files changed, 166 insertions(+), 38 deletions(-) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index a05eb2a..24ee69a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -1,17 +1,18 @@ using ApacheOrcDotNet.Protocol; using ApacheOrcDotNet.Statistics; using System; +using System.Globalization; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class StatsExtensions { - public static bool InRange(this ColumnStatistics stats, OrcColumn column) + public static bool InRange(this ColumnStatistics stats, OrcColumn column, string min, string max) { - if (string.IsNullOrEmpty(column.Min) && string.IsNullOrEmpty(column.Max)) + if (string.IsNullOrEmpty(min) && string.IsNullOrEmpty(max)) throw new InvalidOperationException($"Invalid lookup parameters for column '{column.Name}'."); - return stats.InRange(column.Type, column.Min, column.Max); + return stats.InRange(column.Type, min, max); } public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) @@ -45,9 +46,9 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp var minVal = decimal.Parse(min); var maxVal = decimal.Parse(max); //TODO it would be better to do a numeric string comparison in the future - if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMinVal)) + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMinVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); - if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMaxVal)) + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMaxVal)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); return stats.InRangeDecimal(minVal, maxVal); } @@ -78,9 +79,9 @@ public static bool InRangeString(this ColumnStatistics stats, string min, string public static bool InRangeDecimal(this ColumnStatistics stats, decimal min, decimal max) { - if (!decimal.TryParse(stats.DecimalStatistics.Minimum, out var statsMin)) + if (!decimal.TryParse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMin)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); - if (!decimal.TryParse(stats.DecimalStatistics.Maximum, out var statsMax)) + if (!decimal.TryParse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMax)) throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); return min <= statsMax && max >= statsMin; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index f3e00a1..cfec0fe 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -16,9 +16,6 @@ public OrcColumn(int id, string name, ColumnTypeKind type) public string Name { get; } public ColumnTypeKind Type { get; } - public string Min { get; init; } - public string Max { get; init; } - public override bool Equals(object obj) { if (obj is OrcColumn) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 5e062f0..5028c42 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -54,28 +54,22 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa public int NumValues { get; set; } - public OrcColumn GetColumn(int columnId, string min = null, string max = null) + public OrcColumn GetColumn(int columnId) { if (columnId == 0 || columnId >= _protoColumns.Count) throw new InvalidOperationException($"The column Id '{columnId}' is invalid."); var columnPair = _protoColumns.ElementAt(columnId - 1); - return GetColumn(columnPair.Value.Name, min, max); + return GetColumn(columnPair.Value.Name); } - public OrcColumn GetColumn(string columnName, string min = null, string max = null) + public OrcColumn GetColumn(string columnName) { if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) throw new InvalidOperationException($"The column name '{columnName}' is invalid."); - var orcColumn = new OrcColumn(column.Id, column.Name, column.Type) - { - Min = min, - Max = max - }; - - return orcColumn; + return new OrcColumn(column.Id, column.Name, column.Type); } public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) @@ -144,37 +138,37 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) return new TimestampColumnBuffer(_byteRangeProvider, context, column); } - public IEnumerable GetStripeIds(OrcColumn column) - => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); + public IEnumerable GetStripeIds(OrcColumn column, string min, string max) + => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, min, max); - public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column) + public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column, string min, string max) { var columnStats = GetFileColumnStatistics(column.Id); - if (!columnStats.InRange(column.Type, column.Min, column.Max)) + if (!columnStats.InRange(column.Type, min, max)) return Enumerable.Empty(); return lookupStripeIds.Where(stripeId => { var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); - return stripeColumnStats.InRange(column); + return stripeColumnStats.InRange(column, min, max); }); } - public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column) + public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column, string min, string max) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); - return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); + return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, min, max); } - public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column) + public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column, string min, string max) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column); + return rowIndexEntry.Statistics.InRange(column, min, max); }); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 1748178..275f257 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -45,9 +45,9 @@ public async Task Run() var endTime = (decimal)_configuration.EndTime.TotalSeconds; // Columns - var sourceColumn = reader.GetColumn("source", lookupSource, lookupSource); - var symbolColumn = reader.GetColumn("symbol", lookupSymbol, lookupSymbol); - var timeColumn = reader.GetColumn("time", $"{beginTime}", $"{endTime}"); + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); var sizeColumn = reader.GetColumn("size"); //var dateColumn = reader.GetColumn("date"); //var doubleColumn = reader.GetColumn("double"); @@ -71,15 +71,15 @@ public async Task Run() //var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - var stripeIds = reader.GetStripeIds(sourceColumn); - stripeIds = reader.GetStripeIds(stripeIds, symbolColumn); - stripeIds = reader.GetStripeIds(stripeIds, timeColumn); + var stripeIds = reader.GetStripeIds(sourceColumn, lookupSource, lookupSource); + stripeIds = reader.GetStripeIds(stripeIds, symbolColumn, lookupSymbol, lookupSymbol); + stripeIds = reader.GetStripeIds(stripeIds, timeColumn, $"{beginTime}", $"{endTime}"); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn); + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn, lookupSource, lookupSource); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn, lookupSymbol, lookupSymbol); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn, $"{beginTime}", $"{endTime}"); foreach (var rowEntryIndex in rowGroupIndexes) { diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs new file mode 100644 index 0000000..f635184 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -0,0 +1,68 @@ +using System; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls +{ + public class _Filter_Test : _BaseColumnTypeWithNulls + { + [Fact] + public void Filter_Single_RowEntry() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "970", "973"); + + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "970", "973"); + + Assert.Single(rowGroupIndexes); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + } + + [Fact] + public void Filter_Multiple_RowEntries() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var beginTime1 = (decimal)(new TimeSpan(09, 43, 20)).TotalSeconds; + var endTime1 = (decimal)(new TimeSpan(09, 43, 21)).TotalSeconds; + + var beginTime2 = (decimal)(new TimeSpan(10, 43, 20)).TotalSeconds; + var endTime2 = (decimal)(new TimeSpan(10, 43, 21)).TotalSeconds; + + // Columns + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "SPY", "SPY"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "SPY", "SPY"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Equal(2, rowGroupIndexes.Count()); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 1); + + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(rowGroupIndexes); + + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(filteredStripeIds); + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs new file mode 100644 index 0000000..1221783 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -0,0 +1,68 @@ +using System; +using System.Linq; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class _Filter_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Filter_Single_RowEntry() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "970", "973"); + + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "970", "973"); + + Assert.Single(rowGroupIndexes); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + } + + [Fact] + public void Filter_Multiple_RowEntries() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var beginTime1 = (decimal)(new TimeSpan(09, 43, 20)).TotalSeconds; + var endTime1 = (decimal)(new TimeSpan(09, 43, 21)).TotalSeconds; + + var beginTime2 = (decimal)(new TimeSpan(10, 43, 20)).TotalSeconds; + var endTime2 = (decimal)(new TimeSpan(10, 43, 21)).TotalSeconds; + + // Columns + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); + + var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "SPY", "SPY"); + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "SPY", "SPY"); + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime1}", $"{endTime1}"); + Assert.Equal(2, rowGroupIndexes.Count()); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 1); + + rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(rowGroupIndexes); + + filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime2}", $"{endTime2}"); + Assert.Empty(filteredStripeIds); + } + } +} From 963c85136d5d0f8b2416f1b85b17282e6a4b8ffc Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 9 Jun 2022 18:31:18 -0300 Subject: [PATCH 068/143] Enable all test columns. --- .../OptimizedORCApp.cs | 89 ++++++++++--------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 275f257..752c782 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; +using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -49,26 +50,26 @@ public async Task Run() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); var sizeColumn = reader.GetColumn("size"); - //var dateColumn = reader.GetColumn("date"); - //var doubleColumn = reader.GetColumn("double"); - //var floatColumn = reader.GetColumn("float"); - //var timeStampColumn = reader.GetColumn("timeStamp"); - //var binaryColumn = reader.GetColumn("binary"); - //var byteColumn = reader.GetColumn("byte"); - //var booleanColumn = reader.GetColumn("boolean"); + var dateColumn = reader.GetColumn("date"); + var doubleColumn = reader.GetColumn("double"); + var floatColumn = reader.GetColumn("float"); + var timeStampColumn = reader.GetColumn("timeStamp"); + var binaryColumn = reader.GetColumn("binary"); + var byteColumn = reader.GetColumn("byte"); + var booleanColumn = reader.GetColumn("boolean"); // Buffers var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - //var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); - //var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); - //var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); - //var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); - //var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); - //var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); - //var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters var stripeIds = reader.GetStripeIds(sourceColumn, lookupSource, lookupSource); @@ -87,27 +88,27 @@ await Task.WhenAll( reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer) - //reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), - //reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) + reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); reader.Fill(sourceColumnBuffer); reader.Fill(symbolColumnBuffer); reader.Fill(timeColumnBuffer); reader.Fill(sizeColumnBuffer); - //reader.Fill(dateColumnBuffer); - //reader.Fill(doubleColumnBuffer); - //reader.Fill(floatColumnBuffer); - //reader.Fill(timeStampColumnBuffer); - //reader.Fill(binaryColumnBuffer); - //reader.Fill(byteColumnBuffer); - //reader.Fill(booleanColumnBuffer); + reader.Fill(dateColumnBuffer); + reader.Fill(doubleColumnBuffer); + reader.Fill(floatColumnBuffer); + reader.Fill(timeStampColumnBuffer); + reader.Fill(binaryColumnBuffer); + reader.Fill(byteColumnBuffer); + reader.Fill(booleanColumnBuffer); for (int idx = 0; idx < reader.NumValues; idx++) { @@ -115,13 +116,13 @@ await Task.WhenAll( var symbol = symbolColumnBuffer.Values[idx]; var time = timeColumnBuffer.Values[idx]; var size = sizeColumnBuffer.Values[idx]; - //var date = dateColumnBuffer.Values[idx]; - //var dobl = doubleColumnBuffer.Values[idx]; - //var sing = floatColumnBuffer.Values[idx]; - //var timeStamp = timeStampColumnBuffer.Values[idx]; - //var binary = binaryColumnBuffer.Values[idx]; - //var tinyInt = byteColumnBuffer.Values[idx]; - //var boolean = booleanColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; + var boolean = booleanColumnBuffer.Values[idx]; if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) { @@ -130,14 +131,14 @@ await Task.WhenAll( $"{symbol}," + $"{time.ToString().PadRight(15, '0')}," + $"{size}" + - //$" " + - //$"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + - //$"{dobl}," + - //$"{sing}," + - //$"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + - //$"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - //$"{tinyInt}," + - //$"{boolean}" + + $" " + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + $"{dobl}," + + $"{sing}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}," + + $"{boolean}" + $"" ); } From 8d710b466043137d68f1d4ecb997b17c4d986bc0 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 1 Jul 2022 14:58:11 -0300 Subject: [PATCH 069/143] Use wildcards for embedded resources. --- ...pacheOrcDotNet.OptimizedReader.Test.csproj | 47 +++++-------------- 1 file changed, 11 insertions(+), 36 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index a82fe2d..004ac6f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -9,41 +9,16 @@ - - - - - - - - - - - - - - - - Always - - - Always - - - Always - - - Always - - - - - - Always - - - Always - - + + + Always + + + Always + + + Always + + From 3f9b484460d2399bb919b83585db2da428ecde27 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 1 Jul 2022 15:29:31 -0300 Subject: [PATCH 070/143] Use properties in test assertions. --- .../ColumnTypes/BaseColumnTypes.cs | 39 ++++++++++++------- .../WithNulls/BinaryColumn_Test.cs | 8 ++-- .../WithNulls/BooleanColumn_Test.cs | 8 ++-- .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 8 ++-- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 8 ++-- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 8 ++-- .../WithNulls/DecimalColumn_Test.cs | 8 ++-- .../WithNulls/DoubleColumn_Test.cs | 8 ++-- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 8 ++-- .../WithNulls/IntegerColumn_Test.cs | 8 ++-- .../WithNulls/StringColumn_Test.cs | 16 ++++---- .../WithNulls/TimestampColumn_Test.cs | 8 ++-- .../WithoutNulls/BinaryColumn_Test.cs | 8 ++-- .../WithoutNulls/BooleanColumn_Test.cs | 8 ++-- .../WithoutNulls/ByteColumn_Test.cs | 8 ++-- .../WithoutNulls/DateColumn_Test.cs | 8 ++-- .../DecimalAsDoubleColumn_Test.cs | 8 ++-- .../WithoutNulls/DecimalColumn_Test.cs | 8 ++-- .../WithoutNulls/DoubleColumn_Test.cs | 8 ++-- .../WithoutNulls/FloatColumn_Test.cs | 8 ++-- .../WithoutNulls/IntegerColumn_Test.cs | 8 ++-- .../WithoutNulls/StringColumn_Test.cs | 16 ++++---- .../WithoutNulls/TimestampColumn_Test.cs | 8 ++-- 23 files changed, 121 insertions(+), 110 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs index 5506719..818661d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs @@ -23,8 +23,6 @@ public _BaseColumnTypeWithoutNulls() : base("optimized_reader_test_file_no_nulls public abstract class BaseColumnTypes { private protected readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); - private protected readonly (List sources, List symbols, List times, List timesAsDouble, List sizes, List dates, List doubles, List floats, List timestamps, List binaries, List bytes, List booleans) _expectedValues - = (new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List(), new List()); private protected readonly IByteRangeProvider _byteRangeProvider; private readonly DataFileHelper _expectedValuesFile; @@ -41,22 +39,35 @@ public BaseColumnTypes(string fileName) var line = reader.ReadLine(); var expectedValues = line.Split(','); - _expectedValues.sources.Add(string.IsNullOrWhiteSpace(expectedValues[0]) ? null : expectedValues[0]); - _expectedValues.symbols.Add(string.IsNullOrWhiteSpace(expectedValues[1]) ? null : expectedValues[1]); - _expectedValues.times.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); - _expectedValues.timesAsDouble.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); - _expectedValues.sizes.Add(string.IsNullOrWhiteSpace(expectedValues[3]) ? null : expectedValues[3]); - _expectedValues.dates.Add(string.IsNullOrWhiteSpace(expectedValues[4]) ? null : expectedValues[4]); - _expectedValues.doubles.Add(string.IsNullOrWhiteSpace(expectedValues[5]) ? null : expectedValues[5]); - _expectedValues.floats.Add(string.IsNullOrWhiteSpace(expectedValues[6]) ? null : expectedValues[6]); - _expectedValues.timestamps.Add(string.IsNullOrWhiteSpace(expectedValues[7]) ? null : expectedValues[7]); - _expectedValues.binaries.Add(string.IsNullOrWhiteSpace(expectedValues[8]) ? null : expectedValues[8]); - _expectedValues.bytes.Add(string.IsNullOrWhiteSpace(expectedValues[9]) ? null : expectedValues[9]); - _expectedValues.booleans.Add(string.IsNullOrWhiteSpace(expectedValues[10]) ? null : expectedValues[10]); + ExpectedSources.Add(string.IsNullOrWhiteSpace(expectedValues[0]) ? null : expectedValues[0]); + ExpectedSymbols.Add(string.IsNullOrWhiteSpace(expectedValues[1]) ? null : expectedValues[1]); + ExpectedTimes.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); + ExpectedTimesAsDouble.Add(string.IsNullOrWhiteSpace(expectedValues[2]) ? null : expectedValues[2]); + ExpectedSizes.Add(string.IsNullOrWhiteSpace(expectedValues[3]) ? null : expectedValues[3]); + ExpectedDates.Add(string.IsNullOrWhiteSpace(expectedValues[4]) ? null : expectedValues[4]); + ExpectedDoubles.Add(string.IsNullOrWhiteSpace(expectedValues[5]) ? null : expectedValues[5]); + ExpectedFloats.Add(string.IsNullOrWhiteSpace(expectedValues[6]) ? null : expectedValues[6]); + ExpectedTimestamps.Add(string.IsNullOrWhiteSpace(expectedValues[7]) ? null : expectedValues[7]); + ExpectedBinaries.Add(string.IsNullOrWhiteSpace(expectedValues[8]) ? null : expectedValues[8]); + ExpectedBytes.Add(string.IsNullOrWhiteSpace(expectedValues[9]) ? null : expectedValues[9]); + ExpectedBooleans.Add(string.IsNullOrWhiteSpace(expectedValues[10]) ? null : expectedValues[10]); } } } + protected List ExpectedSources { get; private set; } = new(); + protected List ExpectedSymbols { get; private set; } = new(); + protected List ExpectedTimes { get; private set; } = new(); + protected List ExpectedTimesAsDouble { get; private set; } = new(); + protected List ExpectedSizes { get; private set; } = new(); + protected List ExpectedDates { get; private set; } = new(); + protected List ExpectedDoubles { get; private set; } = new(); + protected List ExpectedFloats { get; private set; } = new(); + protected List ExpectedTimestamps { get; private set; } = new(); + protected List ExpectedBinaries { get; private set; } = new(); + protected List ExpectedBytes { get; private set; } = new(); + protected List ExpectedBooleans { get; private set; } = new(); + ~BaseColumnTypes() { _byteRangeProvider.Dispose(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index eaab7e6..8fc67bf 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -20,10 +20,10 @@ public void Binary_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.binaries[i] == null) + if (ExpectedBinaries[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); + Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -42,10 +42,10 @@ public void Binary_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.binaries[i] == null) + if (ExpectedBinaries[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); + Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index 2d4c68b..6f89a21 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -19,10 +19,10 @@ public void Boolean_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.booleans[i] == null) + if (ExpectedBooleans[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); + Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Boolean_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.booleans[i] == null) + if (ExpectedBooleans[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); + Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 992b8b1..8fc5beb 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -19,10 +19,10 @@ public void Byte_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.bytes[i] == null) + if (ExpectedBytes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); + Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Byte_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.bytes[i] == null) + if (ExpectedBytes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); + Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index b5bd2af..1023f9c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -20,10 +20,10 @@ public void Date_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.dates[i] == null) + if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -42,10 +42,10 @@ public void Date_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.dates[i] == null) + if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 27b89dd..58b719c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -19,10 +19,10 @@ public void DecimalAsDouble_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timesAsDouble[i] == null) + if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void DecimalAsDouble_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timesAsDouble[i] == null) + if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index b2f0e1f..7c9f0b4 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -19,10 +19,10 @@ public void Decimal_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.times[i] == null) + if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Decimal_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.times[i] == null) + if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index 3310555..aad7ca1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -19,10 +19,10 @@ public void Double_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.doubles[i] == null) + if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Double_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.doubles[i] == null) + if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index de2028b..d691c9f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -19,10 +19,10 @@ public void Float_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.floats[i] == null) + if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Float_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.floats[i] == null) + if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 4c52779..c7f84df 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -19,10 +19,10 @@ public void Integer_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sizes[i] == null) + if (ExpectedSizes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Integer_Column_1_Value() for (int i = 10_000; i < buffer.Values.Length; i++) { - if (_expectedValues.sizes[i] == null) + if (ExpectedSizes[i] == null) Assert.Null(buffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), buffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index 8fe5068..f66f873 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -19,10 +19,10 @@ public void String_DirectV2_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.symbols[i] == null) + if (ExpectedSymbols[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void String_DirectV2_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.symbols[i] == null) + if (ExpectedSymbols[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); } } @@ -63,10 +63,10 @@ public void String_DictionaryV2_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sources[i] == null) + if (ExpectedSources[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); } } @@ -85,10 +85,10 @@ public void String_DictionaryV2_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sources[i] == null) + if (ExpectedSources[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index a2f764b..02673c3 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -20,10 +20,10 @@ public void Timestamp_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timestamps[i] == null) + if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -42,10 +42,10 @@ public void Timestamp_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timestamps[i] == null) + if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index f83d57b..8fa7cc6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -20,10 +20,10 @@ public void Binary_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.binaries[i] == null) + if (ExpectedBinaries[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); + Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -42,10 +42,10 @@ public void Binary_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.binaries[i] == null) + if (ExpectedBinaries[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.binaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); + Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index 5d3a128..a6330b3 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -19,10 +19,10 @@ public void Boolean_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.booleans[i] == null) + if (ExpectedBooleans[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); + Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Boolean_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.booleans[i] == null) + if (ExpectedBooleans[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(bool.Parse(_expectedValues.booleans[i]), columnBuffer.Values[i]); + Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 1863b92..4a1f7e0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -19,10 +19,10 @@ public void Byte_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.bytes[i] == null) + if (ExpectedBytes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); + Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Byte_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.bytes[i] == null) + if (ExpectedBytes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(byte.Parse(_expectedValues.bytes[i]), columnBuffer.Values[i]); + Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index 7fb2aa7..180627e 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -20,10 +20,10 @@ public void Date_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.dates[i] == null) + if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -42,10 +42,10 @@ public void Date_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.dates[i] == null) + if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.dates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 8fe31d6..25f6532 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -19,10 +19,10 @@ public void DecimalAsDouble_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timesAsDouble[i] == null) + if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void DecimalAsDouble_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timesAsDouble[i] == null) + if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.timesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index 231a5b7..731a54b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -19,10 +19,10 @@ public void Decimal_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.times[i] == null) + if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Decimal_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.times[i] == null) + if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(_expectedValues.times[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index 87a6dd9..24c9993 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -19,10 +19,10 @@ public void Double_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.doubles[i] == null) + if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Double_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.doubles[i] == null) + if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(_expectedValues.doubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index cade1e1..f7fb65b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -19,10 +19,10 @@ public void Float_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.floats[i] == null) + if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Float_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.floats[i] == null) + if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(_expectedValues.floats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 9e488fa..60c875e 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -19,10 +19,10 @@ public void Integer_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sizes[i] == null) + if (ExpectedSizes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void Integer_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sizes[i] == null) + if (ExpectedSizes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(_expectedValues.sizes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index 1aad914..59c64b3 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -19,10 +19,10 @@ public void String_DirectV2_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.symbols[i] == null) + if (ExpectedSymbols[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); } } @@ -41,10 +41,10 @@ public void String_DirectV2_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.symbols[i] == null) + if (ExpectedSymbols[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.symbols[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); } } @@ -63,10 +63,10 @@ public void String_DictionaryV2_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sources[i] == null) + if (ExpectedSources[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); } } @@ -85,10 +85,10 @@ public void String_DictionaryV2_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.sources[i] == null) + if (ExpectedSources[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(_expectedValues.sources[i], columnBuffer.Values[i]); + Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index 48207b9..48a987a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -20,10 +20,10 @@ public void Timestamp_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timestamps[i] == null) + if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); } } @@ -42,10 +42,10 @@ public void Timestamp_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (_expectedValues.timestamps[i] == null) + if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(_expectedValues.timestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); } } } From f95699c864105d20a99107474dbe1ca876d3d600 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 1 Jul 2022 15:41:02 -0300 Subject: [PATCH 071/143] No need for copying test files. --- .../ApacheOrcDotNet.OptimizedReader.Test.csproj | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj index 004ac6f..5abf76c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ApacheOrcDotNet.OptimizedReader.Test.csproj @@ -10,15 +10,9 @@ - - Always - - - Always - - - Always - + + + From a62c1f39b2b906d0aabeb49a874a94a260e36e81 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 1 Jul 2022 17:00:02 -0300 Subject: [PATCH 072/143] Fix namings and typos. --- .../Buffers/BaseColumnBuffer.cs | 14 ++++---- .../Buffers/BinaryColumnBuffer.cs | 10 +++--- .../Buffers/BooleanColumnBuffer.cs | 6 ++-- .../Buffers/ByteColumnBuffer.cs | 6 ++-- .../Buffers/DateColumnBuffer.cs | 6 ++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 8 ++--- .../Buffers/DecimalColumnBuffer.cs | 8 ++--- .../Buffers/DoubleColumnBuffer.cs | 8 ++--- .../Buffers/FloatColumnBuffer.cs | 8 ++--- .../Buffers/IntegerColumnBuffer.cs | 6 ++-- .../Buffers/StringColumnBuffer.cs | 12 +++---- .../Buffers/TimestampColumnBuffer.cs | 8 ++--- .../{OrcContext.cs => OrcFileProperties.cs} | 12 +++---- .../OrcReader.cs | 34 +++++++++--------- .../OptimizedORCApp.cs | 12 +++---- .../ColumnTypes/WithNulls/_Filter_Test.cs | 36 +++++++++---------- .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 36 +++++++++---------- .../TestByteRangeProviderParallel.cs | 10 +++--- 18 files changed, 120 insertions(+), 120 deletions(-) rename src/ApacheOrcDotNet.OptimizedReader/{OrcContext.cs => OrcFileProperties.cs} (58%) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 4ffc4b2..b7bceb6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -21,7 +21,7 @@ public abstract class BaseColumnBuffer private readonly byte[] _boolStreamBuffer; private protected readonly IByteRangeProvider _byteRangeProvider; - private protected readonly OrcContext _context; + private protected readonly OrcFileProperties _context; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; @@ -32,7 +32,7 @@ public abstract class BaseColumnBuffer private StreamRange _lastRange; private int _lastRangeLength; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) { _byteRangeProvider = byteRangeProvider; _context = context; @@ -74,7 +74,7 @@ private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan bu return; var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); while (!bufferReader.Complete) { @@ -101,7 +101,7 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan return; var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; while (!bufferReader.Complete) @@ -149,7 +149,7 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan return; var numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); while (!bufferReader.Complete) { @@ -176,7 +176,7 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan return; int numSkipped = 0; - var bufferReader = new BufferReader(ResizeBuffer(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); while (!bufferReader.Complete) { @@ -222,7 +222,7 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan /// Applies the offset position into the decompressed data. /// - private protected ReadOnlySpan ResizeBuffer(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) + private protected ReadOnlySpan GetDataStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) { var rowEntryLength = decompressedBufferLength - stream.Positions.RowEntryOffset; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index a477068..71f37db 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -24,19 +24,19 @@ public class BinaryColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamBuffer = new bool[_context.MaxValuesToRead]; _lengthStreamBuffer = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) @@ -59,7 +59,7 @@ public override void Fill() ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamBuffer, out var presentValuesRead); ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); + var dataBuffer = GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; if (presentValuesRead > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 4eac21d..dbb8f9b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -21,16 +21,16 @@ public class BooleanColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index f35e5a3..8de8865 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -21,16 +21,16 @@ public class ByteColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new byte[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 4a3fd1e..7faa898 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -24,16 +24,16 @@ public class DateColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 008c355..5afe098 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -28,20 +28,20 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 0fd5e48..35d0c5e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -27,20 +27,20 @@ public class DecimalColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index d146c71..72aad48 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -22,16 +22,16 @@ public class DoubleColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[8]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) @@ -51,7 +51,7 @@ public override void Fill() { ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 9ba9e92..3e4b58c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -22,16 +22,16 @@ public class FloatColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _valueBuffer = new byte[4]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) @@ -51,7 +51,7 @@ public override void Fill() { ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 9ab7fe5..76dbe0e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -20,16 +20,16 @@ public class IntegerColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 0651e62..6369cf3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -36,23 +36,23 @@ public class StringColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; private int _stripeId; - public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _lengthStreamValues = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) @@ -99,7 +99,7 @@ private void ReadDirectV2() ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamValues, out var lengthValuesRead); - var dataBuffer = ResizeBuffer(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); + var dataBuffer = GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; if (presentValuesRead > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 700ffc5..14f39a5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -28,20 +28,20 @@ public class TimestampColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcContext context, OrcColumn column) : base(byteRangeProvider, context, column) + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) { _presentStreamValues = new bool[_context.MaxValuesToRead]; _dataStreamValues = new long[_context.MaxValuesToRead]; _secondaryStreamValues = new long[_context.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompresseBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs similarity index 58% rename from src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs rename to src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index 0ac38d7..0b6581d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcContext.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -2,9 +2,9 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcContext + public class OrcFileProperties { - public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int maxCompressedBufferLength = 0, int maxDecompresseBufferLength = 0) + public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int maxCompressedBufferLength = 0, int maxDecompressedBufferLength = 0) { CompressionKind = compressionKind; CompressionBlockSize = compressionBlockSize; @@ -13,17 +13,17 @@ public OrcContext(CompressionKind compressionKind, int compressionBlockSize, int if (maxCompressedBufferLength <= 0) maxCompressedBufferLength = 25 * 1024 * 1024; - if (maxDecompresseBufferLength <= 0) - maxDecompresseBufferLength = 25 * 1024 * 1024; + if (maxDecompressedBufferLength <= 0) + maxDecompressedBufferLength = 25 * 1024 * 1024; MaxCompressedBufferLength = maxCompressedBufferLength; - MaxDecompresseBufferLength = maxDecompresseBufferLength; + MaxDecompressedBufferLength = maxDecompressedBufferLength; } public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } public int MaxValuesToRead { get; } public int MaxCompressedBufferLength { get; } - public int MaxDecompresseBufferLength { get; } + public int MaxDecompressedBufferLength { get; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 5028c42..490cf72 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -74,74 +74,74 @@ public OrcColumn GetColumn(string columnName) public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new BinaryColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new BooleanColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new ByteColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DateColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDecimalColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DecimalColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DoubleColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new FloatColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new IntegerColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new StringColumnBuffer(_byteRangeProvider, context, column); } public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) { - var context = new OrcContext(_compressionKind, _compressionBlockSize, _maxValuesToRead); + var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new TimestampColumnBuffer(_byteRangeProvider, context, column); } - public IEnumerable GetStripeIds(OrcColumn column, string min, string max) - => GetStripeIds(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, min, max); + public IEnumerable FilterStripes(OrcColumn column, string min, string max) + => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, min, max); - public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn column, string min, string max) + public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column, string min, string max) { var columnStats = GetFileColumnStatistics(column.Id); @@ -155,13 +155,13 @@ public IEnumerable GetStripeIds(IEnumerable lookupStripeIds, OrcColumn }); } - public IEnumerable GetRowGroupIndexes(int stripeId, OrcColumn column, string min, string max) + public IEnumerable FilterRowGroups(int stripeId, OrcColumn column, string min, string max) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); - return GetRowGroupIndexes(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, min, max); + return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, min, max); } - public IEnumerable GetRowGroupIndexes(IEnumerable lookupIndexes, int stripeId, OrcColumn column, string min, string max) + public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column, string min, string max) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 752c782..a7645c9 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -72,15 +72,15 @@ public async Task Run() var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - var stripeIds = reader.GetStripeIds(sourceColumn, lookupSource, lookupSource); - stripeIds = reader.GetStripeIds(stripeIds, symbolColumn, lookupSymbol, lookupSymbol); - stripeIds = reader.GetStripeIds(stripeIds, timeColumn, $"{beginTime}", $"{endTime}"); + var stripeIds = reader.FilterStripes(sourceColumn, lookupSource, lookupSource); + stripeIds = reader.FilterStripes(stripeIds, symbolColumn, lookupSymbol, lookupSymbol); + stripeIds = reader.FilterStripes(stripeIds, timeColumn, $"{beginTime}", $"{endTime}"); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId, sourceColumn, lookupSource, lookupSource); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, symbolColumn, lookupSymbol, lookupSymbol); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId, timeColumn, $"{beginTime}", $"{endTime}"); + var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn, lookupSource, lookupSource); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, lookupSymbol, lookupSymbol); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, $"{beginTime}", $"{endTime}"); foreach (var rowEntryIndex in rowGroupIndexes) { diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs index f635184..0bb83d7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -15,17 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "970", "973"); + var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "970", max: "973"); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "970", "973"); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "970", max: "973"); - Assert.Single(rowGroupIndexes); - Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + Assert.Single(rowGroupIndexIds); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); } [Fact] @@ -45,23 +45,23 @@ public void Filter_Multiple_RowEntries() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "SPY", "SPY"); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime1}", $"{endTime1}"); + var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "SPY", max: "SPY"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "SPY", "SPY"); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime1}", $"{endTime1}"); - Assert.Equal(2, rowGroupIndexes.Count()); - Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); - Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 1); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "SPY", max: "SPY"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); + Assert.Equal(2, rowGroupIndexIds.Count()); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime2}", $"{endTime2}"); - Assert.Empty(rowGroupIndexes); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); + Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime2}", $"{endTime2}"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); Assert.Empty(filteredStripeIds); } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs index 1221783..cfdde7c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -15,17 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "970", "973"); + var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "970", max: "973"); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkA", "CTSPillarNetworkB"); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "970", "973"); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "970", max: "973"); - Assert.Single(rowGroupIndexes); - Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); + Assert.Single(rowGroupIndexIds); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); } [Fact] @@ -45,23 +45,23 @@ public void Filter_Multiple_RowEntries() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - var filteredStripeIds = reader.GetStripeIds(sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, symbolColumn, "SPY", "SPY"); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime1}", $"{endTime1}"); + var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "SPY", max: "SPY"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexes = reader.GetRowGroupIndexes(stripeId: 0, sourceColumn, "CTSPillarNetworkB", "CTSPillarNetworkB"); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, symbolColumn, "SPY", "SPY"); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime1}", $"{endTime1}"); - Assert.Equal(2, rowGroupIndexes.Count()); - Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 0); - Assert.Contains(rowGroupIndexes, rowEntryIndex => rowEntryIndex == 1); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "SPY", max: "SPY"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); + Assert.Equal(2, rowGroupIndexIds.Count()); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - rowGroupIndexes = reader.GetRowGroupIndexes(rowGroupIndexes, stripeId: 0, timeColumn, $"{beginTime2}", $"{endTime2}"); - Assert.Empty(rowGroupIndexes); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); + Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.GetStripeIds(filteredStripeIds, timeColumn, $"{beginTime2}", $"{endTime2}"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); Assert.Empty(filteredStripeIds); } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index 227ee59..d782261 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -8,7 +8,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public sealed class TestByteRangeProviderParallel : IByteRangeProvider { - readonly object _syncRoot = new object(); + readonly object _streamLock = new object(); readonly Stream _stream; internal TestByteRangeProviderParallel(string fileName) @@ -24,7 +24,7 @@ public void Dispose() public int GetRange(Span buffer, long position) { - lock (_syncRoot) + lock (_streamLock) { _stream.Seek(position, SeekOrigin.Begin); return DoRead(buffer); @@ -33,7 +33,7 @@ public int GetRange(Span buffer, long position) public Task GetRangeAsync(Memory buffer, long position) { - lock (_syncRoot) + lock (_streamLock) { _stream.Seek(position, SeekOrigin.Begin); return DoReadAsync(buffer); @@ -42,7 +42,7 @@ public Task GetRangeAsync(Memory buffer, long position) public int GetRangeFromEnd(Span buffer, long positionFromEnd) { - lock (_syncRoot) + lock (_streamLock) { _stream.Seek(-positionFromEnd, SeekOrigin.End); return DoRead(buffer); @@ -51,7 +51,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) { - lock (_syncRoot) + lock (_streamLock) { _stream.Seek(-positionFromEnd, SeekOrigin.End); return DoReadAsync(buffer); From 234fdfadcca10938254811eec532b5746039ce2e Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 1 Jul 2022 21:29:07 -0300 Subject: [PATCH 073/143] Add BufferReader benchmarks. --- .../optimized_reader_test_file.orc | Bin 0 -> 139599 bytes .../MicroBenchmarks/BufferReaderBenchmarks.cs | 41 ++++++++++++++++++ perf/MicroBenchmarks/MicroBenchmarks.csproj | 10 +++++ perf/MicroBenchmarks/Program.cs | 2 +- .../BufferReader.cs | 3 ++ 5 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.SampleData/optimized_reader_test_file.orc create mode 100644 perf/MicroBenchmarks/BufferReaderBenchmarks.cs diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.SampleData/optimized_reader_test_file.orc b/perf/MicroBenchmarks/BenchmarkDotNet.SampleData/optimized_reader_test_file.orc new file mode 100644 index 0000000000000000000000000000000000000000..8d389adf37d44fa62b3fb20b8e107c16e9280a11 GIT binary patch literal 139599 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%0D8IKCz8V{lUoithFAL=eYp2CS3NBUy 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 literal 0 HcmV?d00001 diff --git a/perf/MicroBenchmarks/BufferReaderBenchmarks.cs b/perf/MicroBenchmarks/BufferReaderBenchmarks.cs new file mode 100644 index 0000000..e2d6410 --- /dev/null +++ b/perf/MicroBenchmarks/BufferReaderBenchmarks.cs @@ -0,0 +1,41 @@ +using ApacheOrcDotNet.OptimizedReader; +using BenchmarkDotNet.Attributes; +using System; +using System.IO; + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class BufferReaderBenchmarks + { + private readonly string _testFilePath = @"BenchmarkDotNet.SampleData/optimized_reader_test_file.orc"; + private readonly byte[] _testBuffer; + + public BufferReaderBenchmarks() + { + using (var fileStream = File.OpenRead(_testFilePath)) + { + _testBuffer = new byte[fileStream.Length]; + fileStream.Read(_testBuffer); + } + } + + [Benchmark] + public void TryRead() + { + var reader = new BufferReader(_testBuffer); + + while (reader.TryRead(out _)) { } + } + + [Benchmark] + public void TryCopyTo() + { + var reader = new BufferReader(_testBuffer); + + Span targetBuffer = stackalloc byte[3]; + while (reader.TryCopyTo(targetBuffer)) { } + } + } +} diff --git a/perf/MicroBenchmarks/MicroBenchmarks.csproj b/perf/MicroBenchmarks/MicroBenchmarks.csproj index 3e276d4..9ae666d 100644 --- a/perf/MicroBenchmarks/MicroBenchmarks.csproj +++ b/perf/MicroBenchmarks/MicroBenchmarks.csproj @@ -5,8 +5,18 @@ net5.0 + + + Always + + + + + + + diff --git a/perf/MicroBenchmarks/Program.cs b/perf/MicroBenchmarks/Program.cs index 6ed0b6e..0ede5b9 100644 --- a/perf/MicroBenchmarks/Program.cs +++ b/perf/MicroBenchmarks/Program.cs @@ -6,7 +6,7 @@ internal class Program { static void Main(string[] args) { - _ = BenchmarkRunner.Run(); + BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs index f74a79a..feb4169 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -1,4 +1,5 @@ using System; +using System.Runtime.CompilerServices; namespace ApacheOrcDotNet.OptimizedReader { @@ -15,6 +16,7 @@ public BufferReader(ReadOnlySpan buffer) public bool Complete => _position >= _buffer.Length; + [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryRead(out byte value) { value = default; @@ -29,6 +31,7 @@ public bool TryRead(out byte value) return true; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryCopyTo(Span buffer) { if (_position + buffer.Length > _buffer.Length) From 4197141c4eec19a7f5d4d1020f844cd7563c6825 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 4 Jul 2022 22:20:05 -0300 Subject: [PATCH 074/143] Simplify loop in GetNextPatch method. --- .../Encodings/OptimizedIntegerRLE.cs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 86992fc..895f474 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -189,19 +189,20 @@ private static void ReadDeltaValues(int firstByte, bool isSigned, ref BufferRead private static void GetNextPatch(Span patchListValues, ref int patchIndex, ref long gap, out long patch, int patchWidth, long patchMask) { - var raw = patchListValues[patchIndex]; - patchIndex++; - long curGap = (long)((ulong)raw >> patchWidth); - patch = raw & patchMask; - while (curGap == 255 && patch == 0) + while (true) { - gap += 255; - raw = patchListValues[patchIndex]; - patchIndex++; - curGap = (long)((ulong)raw >> patchWidth); + var raw = patchListValues[patchIndex++]; + var curGap = (long)((ulong)raw >> patchWidth); patch = raw & patchMask; + + if (curGap != 255 || patch != 0) + { + gap += curGap; + break; + } + + gap += 255; } - gap += curGap; } private static void ReadBitpackedIntegers(ref BufferReader reader, bool isSigned, int bitWidth, int count, Span outputValues) From e1d0b858cf746c7366bafacc823b9386eeba6d36 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 4 Jul 2022 22:30:53 -0300 Subject: [PATCH 075/143] Use derived span instead of base array. --- .../Encodings/OptimizedIntegerRLE.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 895f474..54c78a9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -111,7 +111,7 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Buff var patchIndex = 0; var patchListWidth = BitManipulation.FindNearestDirectWidth(patchWidth + patchGapWidth); ReadBitpackedIntegers(ref reader, isSigned, patchListWidth, patchListLength, patchListValuesSpan); - GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + GetNextPatch(patchListValuesSpan, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); for (int i = 0; i < numReadValues; i++) { @@ -121,7 +121,7 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Buff outputValues[i] = baseValue + patchedValue; if (patchIndex < patchListLength) - GetNextPatch(patchListValues, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); + GetNextPatch(patchListValuesSpan, ref patchIndex, ref gap, out patch, patchWidth, (1L << patchWidth) - 1); } else outputValues[i] = baseValue + outputValues[i]; @@ -174,8 +174,8 @@ private static void ReadDeltaValues(int firstByte, bool isSigned, ref BufferRead for (int i = 0; i < deltaValuesSpan.Length; i++) { outputValues[index++] = deltaBase > 0 - ? outputValues[index - 2] + deltaValues[i] - : outputValues[index - 2] - deltaValues[i]; + ? outputValues[index - 2] + deltaValuesSpan[i] + : outputValues[index - 2] - deltaValuesSpan[i]; } } finally From 297224a9a42c0335c3fbec49bb8732b5252f40e3 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 4 Jul 2022 23:03:26 -0300 Subject: [PATCH 076/143] Update BufferReader benchmarks. --- .../MicroBenchmarks/BufferReaderBenchmarks.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/perf/MicroBenchmarks/BufferReaderBenchmarks.cs b/perf/MicroBenchmarks/BufferReaderBenchmarks.cs index e2d6410..da8e450 100644 --- a/perf/MicroBenchmarks/BufferReaderBenchmarks.cs +++ b/perf/MicroBenchmarks/BufferReaderBenchmarks.cs @@ -37,5 +37,24 @@ public void TryCopyTo() Span targetBuffer = stackalloc byte[3]; while (reader.TryCopyTo(targetBuffer)) { } } + + [Benchmark] + public void TryRead3Bytes() + { + var reader = new BufferReader(_testBuffer); + + _ = reader.TryRead(out _); + _ = reader.TryRead(out _); + _ = reader.TryRead(out _); + } + + [Benchmark] + public void TryCopyTo3Bytes() + { + var reader = new BufferReader(_testBuffer); + + Span targetBuffer = stackalloc byte[3]; + _ = reader.TryCopyTo(targetBuffer); + } } } From 384f57e16abeca2bc2a7499710594bcfa86c8c34 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 4 Jul 2022 23:10:26 -0300 Subject: [PATCH 077/143] Specify EnumType indexes. --- .../Encodings/OptimizedIntegerRLE.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 54c78a9..9059664 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -7,7 +7,13 @@ namespace ApacheOrcDotNet.OptimizedReader.Encodings { public static class OptimizedIntegerRLE { - enum EncodingType { ShortRepeat, Direct, PatchedBase, Delta } + enum EncodingType + { + ShortRepeat = 0, + Direct = 1, + PatchedBase = 2, + Delta = 3 + } public static int ReadValues(ref BufferReader reader, bool isSigned, Span outputValues) { From 1e197a1c3545ac24d9a2e9083bca4545a7538ed6 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 4 Jul 2022 23:17:32 -0300 Subject: [PATCH 078/143] Optimize sequential bytes read. --- .../Encodings/OptimizedByteRLE.cs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index cc6dbc8..eb13db3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -25,13 +25,8 @@ public static int ReadValues(ref BufferReader reader, Span outputValues) { numReadValues = 0x100 - firstByte; - for (int i = 0; i < numReadValues; i++) - { - if (!reader.TryRead(out var value)) - throw new InvalidOperationException("Read past end of stream"); - - outputValues[i] = value; - } + if (!reader.TryCopyTo(outputValues.Slice(0, numReadValues))) + throw new InvalidOperationException("Read past end of stream"); } return numReadValues; From e103ae712e182fd0fbb7bf6a7e21267e5f9d8aa5 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 00:30:18 -0300 Subject: [PATCH 079/143] Fix stripe dictionaries cache. --- .../Buffers/StringColumnBuffer.cs | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 6369cf3..c51fa21 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -11,7 +11,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers [SkipLocalsInit] public class StringColumnBuffer : BaseColumnBuffer { - private readonly Dictionary _dictionaryLengthBuffers = new(); + private readonly Dictionary> _stripeDictionaries = new(); private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; private readonly long[] _lengthStreamValues; @@ -130,20 +130,25 @@ private void ReadDirectV2() private void ReadDictionaryV2() { - var dictionaryV2LengthStreamBuffer = GetLengthStreamBufferDictinaryV2(_stripeId, _streams.Length.DictionarySize); - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: false, _dataStreamValues, out var dataValuesRead); - int stringOffset = 0; - List stringsList = new(lengthValuesRead); - for (int idx = 0; idx < lengthValuesRead; idx++) + if (!_stripeDictionaries.TryGetValue(_stripeId, out var stringsList)) { - var length = (int)dictionaryV2LengthStreamBuffer[idx]; - var value = Encoding.UTF8.GetString(_dictionaryStreamDecompressedBuffer.AsSpan().Slice(stringOffset, length)); - stringOffset += length; - stringsList.Add(value); + Span dictionaryV2LengthStreamBuffer = stackalloc long[_streams.Length.DictionarySize]; + ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + + int stringOffset = 0; + stringsList = new List(); + for (int idx = 0; idx < lengthValuesRead; idx++) + { + var length = (int)dictionaryV2LengthStreamBuffer[idx]; + var value = Encoding.UTF8.GetString(_dictionaryStreamDecompressedBuffer.AsSpan().Slice(stringOffset, length)); + stringOffset += length; + stringsList.Add(value); + } + + _stripeDictionaries[_stripeId] = stringsList; } if (presentValuesRead > 0) @@ -171,13 +176,5 @@ private void ReadDictionaryV2() } } } - - private long[] GetLengthStreamBufferDictinaryV2(int stripeId, int dictionarySize) - { - if (!_dictionaryLengthBuffers.ContainsKey(stripeId)) - _dictionaryLengthBuffers.Add(stripeId, new long[dictionarySize]); - - return _dictionaryLengthBuffers[stripeId]; - } } } From 5f471adc15c4a6551fe04ffcd77dffead4d6125c Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 00:52:12 -0300 Subject: [PATCH 080/143] Remove SkipLocalsInit attribute. --- .../Buffers/BaseColumnBuffer.cs | 2 -- .../Buffers/BinaryColumnBuffer.cs | 2 -- .../Buffers/BooleanColumnBuffer.cs | 3 --- .../Buffers/ByteColumnBuffer.cs | 3 --- .../Buffers/DateColumnBuffer.cs | 3 --- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 3 --- .../Buffers/DecimalColumnBuffer.cs | 2 -- .../Buffers/DoubleColumnBuffer.cs | 3 --- .../Buffers/FloatColumnBuffer.cs | 3 --- .../Buffers/IntegerColumnBuffer.cs | 2 -- .../Buffers/StringColumnBuffer.cs | 2 -- .../Buffers/TimestampColumnBuffer.cs | 2 -- 12 files changed, 30 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index b7bceb6..ac8a0e3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -8,12 +8,10 @@ using System.IO; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public abstract class BaseColumnBuffer { private readonly long[] _numericStreamBuffer; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 71f37db..c6e3b54 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -1,10 +1,8 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class BinaryColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamBuffer; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index dbb8f9b..112056f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -1,11 +1,8 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class BooleanColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 8de8865..993eadb 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -1,11 +1,8 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class ByteColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 7faa898..343df5f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -1,12 +1,9 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class DateColumnBuffer : BaseColumnBuffer { private readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 5afe098..880955b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,13 +1,10 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 35d0c5e..8cd3b35 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,12 +1,10 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class DecimalColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 72aad48..51aab1f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -1,12 +1,9 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class DoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 3e4b58c..741b361 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -1,12 +1,9 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class FloatColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 76dbe0e..e659119 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -1,10 +1,8 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class IntegerColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamValues; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index c51fa21..9e9f3a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -2,13 +2,11 @@ using ApacheOrcDotNet.Protocol; using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class StringColumnBuffer : BaseColumnBuffer { private readonly Dictionary> _stripeDictionaries = new(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 14f39a5..e9232e9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -1,11 +1,9 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers { - [SkipLocalsInit] public class TimestampColumnBuffer : BaseColumnBuffer { private readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); From 985a267fa792d01b7849706ebea8ac9623ec904b Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 01:55:38 -0300 Subject: [PATCH 081/143] Use invariant culture for tests. --- .../ColumnTypes/BaseColumnTypes.cs | 2 +- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 4 ++-- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 4 ++-- .../ColumnTypes/WithNulls/DecimalColumn_Test.cs | 4 ++-- .../ColumnTypes/WithNulls/DoubleColumn_Test.cs | 4 ++-- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 4 ++-- .../ColumnTypes/WithNulls/IntegerColumn_Test.cs | 4 ++-- .../ColumnTypes/WithNulls/TimestampColumn_Test.cs | 4 ++-- .../ColumnTypes/WithoutNulls/DateColumn_Test.cs | 4 ++-- .../WithoutNulls/DecimalAsDoubleColumn_Test.cs | 4 ++-- .../ColumnTypes/WithoutNulls/DecimalColumn_Test.cs | 4 ++-- .../ColumnTypes/WithoutNulls/DoubleColumn_Test.cs | 4 ++-- .../ColumnTypes/WithoutNulls/FloatColumn_Test.cs | 4 ++-- .../ColumnTypes/WithoutNulls/IntegerColumn_Test.cs | 4 ++-- .../ColumnTypes/WithoutNulls/TimestampColumn_Test.cs | 4 ++-- .../OrcReader_Test.cs | 10 +++++----- 16 files changed, 34 insertions(+), 34 deletions(-) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs index 818661d..2f96f87 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/BaseColumnTypes.cs @@ -22,7 +22,7 @@ public _BaseColumnTypeWithoutNulls() : base("optimized_reader_test_file_no_nulls public abstract class BaseColumnTypes { - private protected readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); + private protected readonly CultureInfo _invariantCulture = CultureInfo.InvariantCulture; private protected readonly IByteRangeProvider _byteRangeProvider; private readonly DataFileHelper _expectedValuesFile; diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 1023f9c..50b9186 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -23,7 +23,7 @@ public void Date_Column_10k_Values() if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -45,7 +45,7 @@ public void Date_Column_1_Value() if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 58b719c..0525374 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -22,7 +22,7 @@ public void DecimalAsDouble_Column_10k_Values() if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void DecimalAsDouble_Column_1_Value() if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index 7c9f0b4..7cd5bb4 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -22,7 +22,7 @@ public void Decimal_Column_10k_Values() if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Decimal_Column_1_Value() if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index aad7ca1..113c563 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -22,7 +22,7 @@ public void Double_Column_10k_Values() if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Double_Column_1_Value() if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index d691c9f..68aba39 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -22,7 +22,7 @@ public void Float_Column_10k_Values() if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Float_Column_1_Value() if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index c7f84df..dc71d5f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -22,7 +22,7 @@ public void Integer_Column_10k_Values() if (ExpectedSizes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Integer_Column_1_Value() if (ExpectedSizes[i] == null) Assert.Null(buffer.Values[i]); else - Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), buffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), buffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index 02673c3..de665dd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -23,7 +23,7 @@ public void Timestamp_Column_10k_Values() if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -45,7 +45,7 @@ public void Timestamp_Column_1_Value() if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index 180627e..30beea4 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -23,7 +23,7 @@ public void Date_Column_10k_Values() if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -45,7 +45,7 @@ public void Date_Column_1_Value() if (ExpectedDates[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 25f6532..8013d3e 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -22,7 +22,7 @@ public void DecimalAsDouble_Column_10k_Values() if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void DecimalAsDouble_Column_1_Value() if (ExpectedTimesAsDouble[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index 731a54b..bf69eec 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -22,7 +22,7 @@ public void Decimal_Column_10k_Values() if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Decimal_Column_1_Value() if (ExpectedTimes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index 24c9993..a39fef3 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -22,7 +22,7 @@ public void Double_Column_10k_Values() if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Double_Column_1_Value() if (ExpectedDoubles[i] == null) Assert.Equal(double.NaN, columnBuffer.Values[i]); else - Assert.Equal(double.Parse(ExpectedDoubles[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index f7fb65b..e716108 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -22,7 +22,7 @@ public void Float_Column_10k_Values() if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Float_Column_1_Value() if (ExpectedFloats[i] == null) Assert.Equal(float.NaN, columnBuffer.Values[i]); else - Assert.Equal(float.Parse(ExpectedFloats[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 60c875e..c31706a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -22,7 +22,7 @@ public void Integer_Column_10k_Values() if (ExpectedSizes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -44,7 +44,7 @@ public void Integer_Column_1_Value() if (ExpectedSizes[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(long.Parse(ExpectedSizes[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index 48a987a..4340407 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -23,7 +23,7 @@ public void Timestamp_Column_10k_Values() if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -45,7 +45,7 @@ public void Timestamp_Column_1_Value() if (ExpectedTimestamps[i] == null) Assert.Null(columnBuffer.Values[i]); else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _enUSCulture), columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs index db8d4ed..d2073e1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/OrcReader_Test.cs @@ -10,7 +10,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcReader_Test { - private readonly CultureInfo _enUSCulture = CultureInfo.GetCultureInfo("en-US"); + private readonly CultureInfo _invariantCulture = CultureInfo.InvariantCulture; private readonly IByteRangeProvider _byteRangeProvider = new TestByteRangeProvider(writeRequestedRangesToFile: false, readRequestedRangesFromFile: true); [Fact] @@ -61,8 +61,8 @@ public void FileColumnStatistics() Assert.Equal(35, reader.GetFileColumnStatistics(2).IntStatistics.Maximum); Assert.Equal(311, reader.GetFileColumnStatistics(3).IntStatistics.Minimum); Assert.Equal(596293502, reader.GetFileColumnStatistics(3).IntStatistics.Maximum); - Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum, _enUSCulture)); - Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum, _enUSCulture)); + Assert.Equal(9.392m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Minimum, _invariantCulture)); + Assert.Equal(72041.725554m, decimal.Parse(reader.GetFileColumnStatistics(5).DecimalStatistics.Maximum, _invariantCulture)); } [Fact] @@ -75,8 +75,8 @@ public void StripeColumnStatistics() Assert.Equal(35, reader.GetStripeColumnStatistics(2, 0).IntStatistics.Maximum); Assert.Equal(311, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Minimum); Assert.Equal(16690225, reader.GetStripeColumnStatistics(3, 0).IntStatistics.Maximum); - Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum, _enUSCulture)); - Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum, _enUSCulture)); + Assert.Equal(25200.063318m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Minimum, _invariantCulture)); + Assert.Equal(71979.49409m, decimal.Parse(reader.GetStripeColumnStatistics(5, 0).DecimalStatistics.Maximum, _invariantCulture)); } [Fact] From f7259d43a524c4b6ebb2d7e30cfeaf33c3670946 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 02:01:14 -0300 Subject: [PATCH 082/143] Remove old git ignored data. --- ...nchmarks.SwitchStatements-report-github.md | 14 --------- ...icroBenchmarks.SwitchStatements-report.csv | 3 -- ...croBenchmarks.SwitchStatements-report.html | 31 ------------------- 3 files changed, 48 deletions(-) delete mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md delete mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv delete mode 100644 perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md deleted file mode 100644 index 0a127ca..0000000 --- a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report-github.md +++ /dev/null @@ -1,14 +0,0 @@ -``` ini - -BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2) -Intel Core i7-10750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores -.NET SDK=6.0.300 - [Host] : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT - DefaultJob : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT - - -``` -| Method | Mean | Error | StdDev | Rank | Allocated | -|---------------- |---------:|----------:|----------:|-----:|----------:| -| Standard | 1.770 ns | 0.0102 ns | 0.0090 ns | 2 | - | -| PatternMatching | 1.688 ns | 0.0584 ns | 0.0738 ns | 1 | - | diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv deleted file mode 100644 index 372d078..0000000 --- a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.csv +++ /dev/null @@ -1,3 +0,0 @@ -Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;Platform;PowerPlanMode;Runtime;AllowVeryLargeObjects;Concurrent;CpuGroups;Force;HeapAffinitizeMask;HeapCount;NoAffinitize;RetainVm;Server;Arguments;BuildConfiguration;Clock;EngineFactory;NuGetReferences;Toolchain;IsMutator;InvocationCount;IterationCount;IterationTime;LaunchCount;MaxIterationCount;MaxWarmupIterationCount;MemoryRandomization;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;Mean;Error;StdDev;Rank;Allocated -Standard;DefaultJob;False;Default;Default;Default;Default;Default;Default;111111111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 5.0;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1.770 ns;0.0102 ns;0.0090 ns;2;0 B -PatternMatching;DefaultJob;False;Default;Default;Default;Default;Default;Default;111111111111;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET 5.0;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;Default;Default;Default;Default;Default;Default;Default;Default;Default;16;Default;1.688 ns;0.0584 ns;0.0738 ns;1;0 B diff --git a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html b/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html deleted file mode 100644 index d872424..0000000 --- a/perf/MicroBenchmarks/BenchmarkDotNet.Artifacts/results/MicroBenchmarks.SwitchStatements-report.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -MicroBenchmarks.SwitchStatements-20220517-160420 - - - - -

    
    -BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2)
    -Intel Core i7-10750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores
    -.NET SDK=6.0.300
    -  [Host]     : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT
    -  DefaultJob : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT
    -
    -
    - - - - - - -
    MethodMeanErrorStdDevRankAllocated
    Standard1.770 ns0.0102 ns0.0090 ns2-
    PatternMatching1.688 ns0.0584 ns0.0738 ns1-
    - - From a331acde037ffda6825294aed3c41e822a175d45 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 02:49:55 -0300 Subject: [PATCH 083/143] Avoid unnecessary initializations. --- src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs index feb4169..e89c960 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -19,10 +19,11 @@ public BufferReader(ReadOnlySpan buffer) [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryRead(out byte value) { - value = default; - if (_position >= _buffer.Length) + { + value = default; return false; + } value = _buffer[_position]; From 556cfcda9a060ce10f0591bff4314c24949ee447 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 02:57:05 -0300 Subject: [PATCH 084/143] Update variable names to match class. --- .../Buffers/BaseColumnBuffer.cs | 10 ++--- .../Buffers/BinaryColumnBuffer.cs | 18 ++++---- .../Buffers/BooleanColumnBuffer.cs | 14 +++--- .../Buffers/ByteColumnBuffer.cs | 14 +++--- .../Buffers/DateColumnBuffer.cs | 14 +++--- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 20 ++++----- .../Buffers/DecimalColumnBuffer.cs | 20 ++++----- .../Buffers/DoubleColumnBuffer.cs | 12 ++--- .../Buffers/FloatColumnBuffer.cs | 12 ++--- .../Buffers/IntegerColumnBuffer.cs | 14 +++--- .../Buffers/StringColumnBuffer.cs | 24 +++++----- .../Buffers/TimestampColumnBuffer.cs | 20 ++++----- .../OrcReader.cs | 44 +++++++++---------- 13 files changed, 118 insertions(+), 118 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index ac8a0e3..6983346 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -19,7 +19,7 @@ public abstract class BaseColumnBuffer private readonly byte[] _boolStreamBuffer; private protected readonly IByteRangeProvider _byteRangeProvider; - private protected readonly OrcFileProperties _context; + private protected readonly OrcFileProperties _orcFileProperties; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; @@ -30,12 +30,12 @@ public abstract class BaseColumnBuffer private StreamRange _lastRange; private int _lastRangeLength; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) + public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) { _byteRangeProvider = byteRangeProvider; - _context = context; + _orcFileProperties = orcFileProperties; _column = column; - _values = new TOutput[_context.MaxValuesToRead]; + _values = new TOutput[_orcFileProperties.MaxValuesToRead]; _pool = ArrayPool.Create(15 * 1024 * 1024, 8); @@ -214,7 +214,7 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index c6e3b54..dc189cf 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -22,19 +22,19 @@ public class BinaryColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamBuffer = new bool[_context.MaxValuesToRead]; - _lengthStreamBuffer = new long[_context.MaxValuesToRead]; + _presentStreamBuffer = new bool[_orcFileProperties.MaxValuesToRead]; + _lengthStreamBuffer = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _lengthStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 112056f..3b27710 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -18,16 +18,16 @@ public class BooleanColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new bool[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 993eadb..75358bd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -18,16 +18,16 @@ public class ByteColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new byte[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new byte[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 343df5f..7b3c15b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -21,16 +21,16 @@ public class DateColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 880955b..0a22105 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -25,20 +25,20 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; - _secondaryStreamValues = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new BigInteger[_orcFileProperties.MaxValuesToRead]; + _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _secondaryStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 8cd3b35..3d8657e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -25,20 +25,20 @@ public class DecimalColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new BigInteger[_context.MaxValuesToRead]; - _secondaryStreamValues = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new BigInteger[_orcFileProperties.MaxValuesToRead]; + _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _secondaryStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 51aab1f..5031657 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -19,16 +19,16 @@ public class DoubleColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[8]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 741b361..24e3e9f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -19,16 +19,16 @@ public class FloatColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[4]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index e659119..15d5321 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -18,16 +18,16 @@ public class IntegerColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 9e9f3a1..2c6b137 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -34,23 +34,23 @@ public class StringColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; private int _stripeId; - public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new long[_context.MaxValuesToRead]; - _lengthStreamValues = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _lengthStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _dictionaryStreanCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dictionaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dictionaryStreanCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dictionaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _lengthStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _lengthStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _lengthStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index e9232e9..148abd1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -26,20 +26,20 @@ public class TimestampColumnBuffer : BaseColumnBuffer private ColumnDataStreams _streams; - public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties context, OrcColumn column) : base(byteRangeProvider, context, column) + public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_context.MaxValuesToRead]; - _dataStreamValues = new long[_context.MaxValuesToRead]; - _secondaryStreamValues = new long[_context.MaxValuesToRead]; + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _presentStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); - _secondaryStreamCompressedBuffer = _pool.Rent(_context.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_context.MaxDecompressedBufferLength); + _secondaryStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); + _secondaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 490cf72..13b81a7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -74,68 +74,68 @@ public OrcColumn GetColumn(string columnName) public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new BinaryColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new BinaryColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new BooleanColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new BooleanColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new ByteColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new ByteColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DateColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DateColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateDecimalColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DecimalColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DoubleColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DoubleColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new FloatColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new FloatColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new IntegerColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new IntegerColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new StringColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new StringColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) { - var context = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new TimestampColumnBuffer(_byteRangeProvider, context, column); + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new TimestampColumnBuffer(_byteRangeProvider, orcFileProperties, column); } public IEnumerable FilterStripes(OrcColumn column, string min, string max) From 8648617560fefc65ff1e3511306367741ebf0f7d Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 17:52:46 -0300 Subject: [PATCH 085/143] Add date and timestamp filter and unit tests. --- .../FilterValues.cs | 47 +++++++ .../Infrastructure/StatsExtensions.cs | 48 ++++--- .../OrcFileProperties.cs | 5 + .../OrcReader.cs | 22 ++-- .../OptimizedORCApp.cs | 24 ++-- .../Statistics/TimestampStatistics.cs | 2 + .../ColumnTypes/WithNulls/_Filter_Test.cs | 101 ++++++++++++--- .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 122 +++++++++++++++--- 8 files changed, 300 insertions(+), 71 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs new file mode 100644 index 0000000..8ab0848 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs @@ -0,0 +1,47 @@ +using System; +using System.Globalization; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class FilterValues + { + public static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; + + private FilterValues(string min, string max) + { + Min = min; + Max = max; + } + + public string Min { get; } + public string Max { get; } + + public static FilterValues CreateFromInteger(long min, long max) + => new FilterValues(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); + + public static FilterValues CreateFromDecimal(decimal min, decimal max) + => new FilterValues(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); + + public static FilterValues CreateFromString(string min, string max) + => new FilterValues(min, max); + + public static FilterValues CreateFromDate(DateTime min, DateTime max) + { + var minVal = (long)(min - OrcFileProperties.UnixEpochUnspecified).TotalDays; + var maxVal = (long)(max - OrcFileProperties.UnixEpochUnspecified).TotalDays; + + return CreateFromInteger(minVal, maxVal); + } + + public static FilterValues CreateFromTimestamp(DateTime min, DateTime max) + { + var minVal = (min - OrcFileProperties.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + var maxVal = (max - OrcFileProperties.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + + return CreateFromInteger(minVal, maxVal); + } + + public static FilterValues CreateFromTime(TimeSpan min, TimeSpan max) + => CreateFromDecimal((decimal)min.TotalSeconds, (decimal)max.TotalSeconds); + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index 24ee69a..2d006e4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -10,13 +10,16 @@ public static class StatsExtensions public static bool InRange(this ColumnStatistics stats, OrcColumn column, string min, string max) { if (string.IsNullOrEmpty(min) && string.IsNullOrEmpty(max)) - throw new InvalidOperationException($"Invalid lookup parameters for column '{column.Name}'."); + throw new InvalidOperationException($"Lookup parameters for column '{column.Name}' cannot be null."); return stats.InRange(column.Type, min, max); } public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { + if (min == null || max == null) + throw new InvalidOperationException($"Lookup parameters cannot be null."); + switch (columnType) { case ColumnTypeKind.Boolean: @@ -26,15 +29,15 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp case ColumnTypeKind.Int: case ColumnTypeKind.Long: { - var minVal = long.Parse(min); - var maxVal = long.Parse(max); + var minVal = long.Parse(min, CultureInfo.InvariantCulture); + var maxVal = long.Parse(max, CultureInfo.InvariantCulture); return stats.InRangeNumeric(minVal, maxVal); } case ColumnTypeKind.Float: case ColumnTypeKind.Double: { - var minVal = double.Parse(min); - var maxVal = double.Parse(max); + var minVal = double.Parse(min, CultureInfo.InvariantCulture); + var maxVal = double.Parse(max, CultureInfo.InvariantCulture); return stats.InRangeDouble(minVal, maxVal); } case ColumnTypeKind.String: @@ -43,15 +46,22 @@ public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnTyp return stats.InRangeString(min, max); case ColumnTypeKind.Decimal: { - var minVal = decimal.Parse(min); - var maxVal = decimal.Parse(max); - //TODO it would be better to do a numeric string comparison in the future - if (!decimal.TryParse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMinVal)) - throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); - if (!decimal.TryParse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMaxVal)) - throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); + var minVal = decimal.Parse(min, NumberStyles.Number, CultureInfo.InvariantCulture); + var maxVal = decimal.Parse(max, NumberStyles.Number, CultureInfo.InvariantCulture); return stats.InRangeDecimal(minVal, maxVal); } + case ColumnTypeKind.Date: + { + var minVal = int.Parse(min, CultureInfo.InvariantCulture); + var maxVal = int.Parse(max, CultureInfo.InvariantCulture); + return stats.InRangeDate(minVal, maxVal); + } + case ColumnTypeKind.Timestamp: + { + var minVal = long.Parse(min, CultureInfo.InvariantCulture); + var maxVal = long.Parse(max, CultureInfo.InvariantCulture); + return stats.InRangeTimespan(minVal, maxVal); + } default: throw new NotImplementedException($"Range check for {columnType} not implemented"); } @@ -78,13 +88,13 @@ public static bool InRangeString(this ColumnStatistics stats, string min, string => min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; public static bool InRangeDecimal(this ColumnStatistics stats, decimal min, decimal max) - { - if (!decimal.TryParse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMin)) - throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Minimum}'"); - if (!decimal.TryParse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture, out var statsMax)) - throw new ArgumentOutOfRangeException($"Unable to parse: '{stats.DecimalStatistics.Maximum}'"); + => min <= decimal.Parse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture) + && max >= decimal.Parse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture); - return min <= statsMax && max >= statsMin; - } + public static bool InRangeDate(this ColumnStatistics stats, int min, int max) + => min <= stats.DateStatistics.Maximum && max >= stats.DateStatistics.Minimum; + + public static bool InRangeTimespan(this ColumnStatistics stats, long min, long max) + => min <= stats.TimestampStatistics.MaximumUtc && max >= stats.TimestampStatistics.MinimumUtc; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index 0b6581d..bfb43f3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -1,4 +1,5 @@ using ApacheOrcDotNet.Protocol; +using System; namespace ApacheOrcDotNet.OptimizedReader { @@ -20,6 +21,10 @@ public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSi MaxDecompressedBufferLength = maxDecompressedBufferLength; } + public static DateTime OrcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + public static DateTime UnixEpochUtc = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + public static DateTime UnixEpochUnspecified = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); + public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } public int MaxValuesToRead { get; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 13b81a7..a8b558f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -138,38 +138,38 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) return new TimestampColumnBuffer(_byteRangeProvider, orcFileProperties, column); } - public IEnumerable FilterStripes(OrcColumn column, string min, string max) - => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, min, max); + public IEnumerable FilterStripes(OrcColumn column, FilterValues filterValues) + => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, filterValues); - public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column, string min, string max) + public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column, FilterValues filterValues) { var columnStats = GetFileColumnStatistics(column.Id); - if (!columnStats.InRange(column.Type, min, max)) + if (!columnStats.InRange(column.Type, filterValues.Min, filterValues.Max)) return Enumerable.Empty(); return lookupStripeIds.Where(stripeId => { var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); - return stripeColumnStats.InRange(column, min, max); - }); + return stripeColumnStats.InRange(column, filterValues.Min, filterValues.Max); + }).ToList(); } - public IEnumerable FilterRowGroups(int stripeId, OrcColumn column, string min, string max) + public IEnumerable FilterRowGroups(int stripeId, OrcColumn column, FilterValues filterValues) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); - return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, min, max); + return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, filterValues); } - public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column, string min, string max) + public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column, FilterValues filterValues) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column, min, max); - }); + return rowIndexEntry.Statistics.InRange(column, filterValues.Min, filterValues.Max); + }).ToList(); } public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index a7645c9..f80af67 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -42,8 +42,8 @@ public async Task Run() // Args var lookupSource = _configuration.Source; var lookupSymbol = _configuration.Symbol; - var beginTime = (decimal)_configuration.BeginTime.TotalSeconds; - var endTime = (decimal)_configuration.EndTime.TotalSeconds; + var beginTime = _configuration.BeginTime; + var endTime = _configuration.EndTime; // Columns var sourceColumn = reader.GetColumn("source"); @@ -72,15 +72,21 @@ public async Task Run() var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - var stripeIds = reader.FilterStripes(sourceColumn, lookupSource, lookupSource); - stripeIds = reader.FilterStripes(stripeIds, symbolColumn, lookupSymbol, lookupSymbol); - stripeIds = reader.FilterStripes(stripeIds, timeColumn, $"{beginTime}", $"{endTime}"); + var sourceFilterValues = FilterValues.CreateFromString(min: lookupSource, max: lookupSource); + var symbolFilterValues = FilterValues.CreateFromString(min: lookupSymbol, max: lookupSymbol); + var timeFilterValues = FilterValues.CreateFromTime(min: beginTime, max: endTime); + + // + var stripeIds = reader.FilterStripes(sourceColumn, sourceFilterValues); + stripeIds = reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); + stripeIds = reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn, lookupSource, lookupSource); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, lookupSymbol, lookupSymbol); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, $"{beginTime}", $"{endTime}"); + // + var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); foreach (var rowEntryIndex in rowGroupIndexes) { @@ -124,7 +130,7 @@ await Task.WhenAll( var tinyInt = byteColumnBuffer.Values[idx]; var boolean = booleanColumnBuffer.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= beginTime && time <= endTime) + if (source == lookupSource && symbol == lookupSymbol && time >= (decimal)beginTime.TotalSeconds && time <= (decimal)endTime.TotalSeconds) { Console.WriteLine($"" + $"{source}," + diff --git a/src/ApacheOrcDotNet/Statistics/TimestampStatistics.cs b/src/ApacheOrcDotNet/Statistics/TimestampStatistics.cs index 735e4d1..e68fec0 100644 --- a/src/ApacheOrcDotNet/Statistics/TimestampStatistics.cs +++ b/src/ApacheOrcDotNet/Statistics/TimestampStatistics.cs @@ -13,6 +13,8 @@ public class TimestampStatistics : IDateTimeStatistics [ProtoMember(1, DataFormat = DataFormat.ZigZag)] public long? Minimum { get; set; } [ProtoMember(2, DataFormat = DataFormat.ZigZag)] public long? Maximum { get; set; } + [ProtoMember(3, DataFormat = DataFormat.ZigZag)] public long? MinimumUtc { get; set; } + [ProtoMember(4, DataFormat = DataFormat.ZigZag)] public long? MaximumUtc { get; set; } DateTime? IDateTimeStatistics.Minimum { diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs index 0bb83d7..0bb0f3f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -15,14 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "970", max: "973"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); + + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "970", max: "973"); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -34,35 +37,101 @@ public void Filter_Multiple_RowEntries() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var beginTime1 = (decimal)(new TimeSpan(09, 43, 20)).TotalSeconds; - var endTime1 = (decimal)(new TimeSpan(09, 43, 21)).TotalSeconds; + var beginTime1 = (new TimeSpan(09, 43, 20)); + var endTime1 = (new TimeSpan(09, 43, 21)); - var beginTime2 = (decimal)(new TimeSpan(10, 43, 20)).TotalSeconds; - var endTime2 = (decimal)(new TimeSpan(10, 43, 21)).TotalSeconds; + var beginTime2 = (new TimeSpan(10, 43, 20)); + var endTime2 = (new TimeSpan(10, 43, 21)); // Columns var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "SPY", max: "SPY"); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); + var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); + var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); + + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues1); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "SPY", max: "SPY"); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues1); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues2); Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues2); Assert.Empty(filteredStripeIds); } + + [Fact] + public void Filter_Unsorted_Date() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var dateColumn = reader.GetColumn("date"); + + var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 17), max: new DateTime(1997, 5, 19)); + + var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); + Assert.Single(rowGroupIndexIds); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); + } + + [Fact] + public void Filter_Unsorted_Timestamp_Multiple() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var timestampColumn = reader.GetColumn("timestamp"); + + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 35), max: new DateTime(2015, 1, 1, 2, 46, 47)); + + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + Assert.Equal(2, rowGroupIndexIds.Count()); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); + } + + [Fact] + public void Filter_Unsorted_Timestamp_Single() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var timestampColumn = reader.GetColumn("timestamp"); + + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 47), max: new DateTime(2015, 1, 1, 2, 46, 47)); + + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + Assert.Single(rowGroupIndexIds); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); + } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs index cfdde7c..67c9aa5 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -15,14 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "970", max: "973"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); + + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "970", max: "973"); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -34,35 +37,122 @@ public void Filter_Multiple_RowEntries() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var beginTime1 = (decimal)(new TimeSpan(09, 43, 20)).TotalSeconds; - var endTime1 = (decimal)(new TimeSpan(09, 43, 21)).TotalSeconds; + var beginTime1 = (new TimeSpan(09, 43, 20)); + var endTime1 = (new TimeSpan(09, 43, 21)); - var beginTime2 = (decimal)(new TimeSpan(10, 43, 20)).TotalSeconds; - var endTime2 = (decimal)(new TimeSpan(10, 43, 21)).TotalSeconds; + var beginTime2 = (new TimeSpan(10, 43, 20)); + var endTime2 = (new TimeSpan(10, 43, 21)); // Columns var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, min: "SPY", max: "SPY"); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); + var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); + var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); + + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues1); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, min: "SPY", max: "SPY"); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime1}", max: $"{endTime1}"); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues1); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues2); Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, min: $"{beginTime2}", max: $"{endTime2}"); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues2); Assert.Empty(filteredStripeIds); } + + [Fact] + public void Filter_Unsorted_Date_Multiple() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var dateColumn = reader.GetColumn("date"); + + var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 17), max: new DateTime(1997, 5, 20)); + + var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); + Assert.Equal(2, rowGroupIndexIds.Count()); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); + } + + [Fact] + public void Filter_Unsorted_Date_Single() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var dateColumn = reader.GetColumn("date"); + + var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 20), max: new DateTime(1997, 5, 20)); + + var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); + Assert.Single(rowGroupIndexIds); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); + } + + [Fact] + public void Filter_Unsorted_Timestamp_Multiple() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var timestampColumn = reader.GetColumn("timestamp"); + + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 35), max: new DateTime(2015, 1, 1, 2, 46, 41)); + + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + Assert.Equal(2, rowGroupIndexIds.Count()); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); + } + + [Fact] + public void Filter_Unsorted_Timestamp_Single() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + // Columns + var timestampColumn = reader.GetColumn("timestamp"); + + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 41), max: new DateTime(2015, 1, 1, 2, 46, 41)); + + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + Assert.Single(filteredStripeIds); + Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); + + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + Assert.Single(rowGroupIndexIds); + Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); + } } } From ebad0e48e6423b0e76162625467361e0f58ae977 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 19:00:46 -0300 Subject: [PATCH 086/143] Update nullable benchmarks. --- perf/MicroBenchmarks/NullableBenchmarks.cs | 62 ++++++++++++++++++---- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/perf/MicroBenchmarks/NullableBenchmarks.cs b/perf/MicroBenchmarks/NullableBenchmarks.cs index 703c96d..1507608 100644 --- a/perf/MicroBenchmarks/NullableBenchmarks.cs +++ b/perf/MicroBenchmarks/NullableBenchmarks.cs @@ -6,43 +6,87 @@ namespace MicroBenchmarks [MemoryDiagnoser] public class NullableBenchmarks { + private const int size = 10_000; + private int[] _ints = new int[size]; + private int?[] _nullInts = new int?[size]; + private decimal[] _decimals = new decimal[size]; + private decimal?[] _nullDecimals = new decimal?[size]; + private double[] _doubles = new double[size]; + private double?[] _nullDoubles = new double?[size]; + [Benchmark] public int IntAllocation() { - return int.MaxValue; + for (int i = 0; i < size; i++) + _ints[i] = Get(i, i); + + var temp = Get(_ints[3], _ints.Length); + + return temp; } [Benchmark] public int? IntAllocationNullable() { - int? value = null; - return value; + for (int i = 0; i < size; i++) + _nullInts[i] = Get((int?)i, i); + + var temp = Get(_nullInts[3], _nullInts.Length); + + return temp; } [Benchmark] public decimal DecimalAllocation() { - return decimal.MaxValue; + for (int i = 0; i < size; i++) + _decimals[i] = Get(i, i); + + var temp = Get(_decimals[3], _decimals.Length); + + return temp; } [Benchmark] public decimal? DecimalAllocationNullable() { - decimal? value = null; - return value; + for (int i = 0; i < size; i++) + _nullDecimals[i] = Get((decimal?)i, i); + + var temp = Get(_nullDecimals[3], _nullDecimals.Length); + + return temp; } [Benchmark] public double DoubleAllocation() { - return double.MaxValue; + for (int i = 0; i < size; i++) + _doubles[i] = Get((double)i, i); + + var temp = Get(_doubles[3], _doubles.Length); + + return temp; } [Benchmark] public double? DoubleAllocationNullable() { - double? value = null; - return value; + for (int i = 0; i < size; i++) + _nullDoubles[i] = Get((double?)i, i); + + var temp = Get(_nullDoubles[3], _nullDoubles.Length); + + return temp; + } + + private T Get(T input, int length) + { + // Attempt to prevent compiler optimization. + if (length < 0) + return default; + + return input; } } } From bc7a8b0b554d5ba42a0615915009bb3a556823be Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 21:21:33 -0300 Subject: [PATCH 087/143] Update compressed buffer length. --- src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs | 9 ++++++++- src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index bfb43f3..04e6521 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -11,9 +11,16 @@ public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSi CompressionBlockSize = compressionBlockSize; MaxValuesToRead = maxValuesToRead; + // When requesting ranges to be decompressed, + // for some edge cases, we may need to load up to two chunks of data + // (to account for blocks that had data saved into the next row group) if (maxCompressedBufferLength <= 0) - maxCompressedBufferLength = 25 * 1024 * 1024; + maxCompressedBufferLength = compressionBlockSize * 2; + // When decompressing data, we only know the total size + // after the data is decopressed. To guarantee we will not + // run out of space during this process, we allocate a 25 Mb buffer for that. + // This is an arbirary number based on the maximum size decompressed using production data (~10Mb). if (maxDecompressedBufferLength <= 0) maxDecompressedBufferLength = 25 * 1024 * 1024; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index a8b558f..67789f7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -451,7 +451,7 @@ private StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStre if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) { - // Calculate the range length, adding possible bytes that might have been included into the next compressed chunk. + // Calculate the range length, adding bytes that may have been included into the next compressed chunk. rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; break; } @@ -476,7 +476,7 @@ private StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) { - // Calculate the range length, adding possible bytes that might have been included into the next compressed chunk. + // Calculate the range length, adding bytes that may have been included into the next compressed chunk. rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; break; } From 6bb7ebc4356a4f664c9507f1834d0bd48b41c3ce Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 5 Jul 2022 21:55:20 -0300 Subject: [PATCH 088/143] Remove unused method. --- .../Buffers/BaseColumnBuffer.cs | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 6983346..6072aa6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -1,12 +1,8 @@ using ApacheOrcDotNet.Encodings; using ApacheOrcDotNet.OptimizedReader.Encodings; using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; using System; using System.Buffers; -using System.Collections.Generic; -using System.IO; -using System.Linq; using System.Numerics; using System.Threading.Tasks; @@ -52,18 +48,6 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public void Reset() => _numValuesRead = 0; - private protected StreamDetail GetStripeStream(IEnumerable columnStreams, StreamKind streamKind, bool isRequired = true) - { - var stream = columnStreams.SingleOrDefault(stream => - stream.StreamKind == streamKind - ); - - if (isRequired && stream == null) - throw new InvalidDataException($"The '{streamKind}' stream must be available"); - - return stream; - } - private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; From d8b3cd1a3771fc434d1adaee10a303b466f39a46 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 6 Jul 2022 14:11:02 -0300 Subject: [PATCH 089/143] Drop usage of BigInteger struct. --- .../Buffers/BaseColumnBuffer.cs | 30 +++++++++---------- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 9 +++--- .../Buffers/DecimalColumnBuffer.cs | 9 +++--- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 6072aa6..d1e4c1c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -142,7 +142,7 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan if (numSkipped++ < stream.Positions.ValuesToSkip) continue; - outputValues[numValuesRead++] = (int)_numericStreamBuffer[idx]; + outputValues[numValuesRead++] = _numericStreamBuffer[idx]; if (numValuesRead >= outputValues.Length) return; @@ -150,7 +150,7 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan } } - private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) + private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -162,7 +162,7 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan while (!bufferReader.Complete) { - var bigInt = ReadBigVarInt(ref bufferReader); + var bigInt = ReadVarInt(ref bufferReader); if (!bigInt.HasValue) return; @@ -211,30 +211,30 @@ private protected ReadOnlySpan GetDataStream(StreamDetail stream, ReadOnly return decompressedBuffer.Slice(stream.Positions.RowEntryOffset, rowEntryLength); } - private protected double BigIntegerToDouble(BigInteger numerator, long scale) - => (double)BigIntegerToDecimal(numerator, scale); + private protected double VarIntToDouble(long numerator, long scale) + => (double)VarIntToDecimal(numerator, scale); - private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) + private protected decimal VarIntToDecimal(long numerator, long scale) { if (scale < 0 || scale > 255) throw new OverflowException("Scale must be positive number"); - var decNumerator = (decimal)numerator; //This will throw for an overflow or underflow + var decNumerator = (decimal)numerator; var scaler = new decimal(1, 0, 0, false, (byte)scale); return decNumerator * scaler; } - private BigInteger? ReadBigVarInt(ref BufferReader stream) + private long? ReadVarInt(ref BufferReader stream) { - var value = BigInteger.Zero; + long value = 0; long currentLong = 0; int bitCount = 0; while (true) { if (!stream.TryRead(out var currentByte)) - return null; // Reached the end of the stream + return null; currentLong |= ((long)currentByte & 0x7f) << bitCount % 63; bitCount += 7; @@ -242,14 +242,14 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (bitCount % 63 == 0) { if (bitCount == 63) - value = new BigInteger(currentLong); + value = currentLong; else - value |= new BigInteger(currentLong) << bitCount - 63; + value |= currentLong << bitCount - 63; currentLong = 0; } - // Done when the high bit is set + // Done when the high bit is cleared if (currentByte < 0x80) break; } @@ -257,11 +257,11 @@ private protected decimal BigIntegerToDecimal(BigInteger numerator, long scale) if (currentLong != 0) // Some bits left to add to result { var shift = bitCount / 63 * 63; - value |= new BigInteger(currentLong) << shift; + value |= currentLong << shift; } // Un zig-zag - return ((long)value).ZigzagDecode(); + return value.ZigzagDecode(); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 0a22105..9c07dcb 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Numerics; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -8,7 +7,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; - private BigInteger[] _dataStreamValues; + private long[] _dataStreamValues; private long[] _secondaryStreamValues; private byte[] _dataStreamCompressedBuffer; @@ -28,7 +27,7 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new BigInteger[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); @@ -72,7 +71,7 @@ public override void Fill() { if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); + _values[_numValuesRead++] = VarIntToDouble(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); valueIndex++; } else @@ -82,7 +81,7 @@ public override void Fill() else { for (int idx = 0; idx < dataValuesRead; idx++) - _values[_numValuesRead++] = BigIntegerToDouble(_dataStreamValues[idx], _secondaryStreamValues[idx]); + _values[_numValuesRead++] = VarIntToDouble(_dataStreamValues[idx], _secondaryStreamValues[idx]); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 3d8657e..2268692 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Numerics; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -8,7 +7,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers public class DecimalColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; - private BigInteger[] _dataStreamValues; + private long[] _dataStreamValues; private long[] _secondaryStreamValues; private byte[] _dataStreamCompressedBuffer; @@ -28,7 +27,7 @@ public class DecimalColumnBuffer : BaseColumnBuffer public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new BigInteger[_orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); @@ -72,7 +71,7 @@ public override void Fill() { if (_presentStreamValues[idx]) { - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); + _values[_numValuesRead++] = VarIntToDecimal(_dataStreamValues[valueIndex], _secondaryStreamValues[valueIndex]); valueIndex++; } else @@ -82,7 +81,7 @@ public override void Fill() else { for (int idx = 0; idx < secondaryValuesRead; idx++) - _values[_numValuesRead++] = BigIntegerToDecimal(_dataStreamValues[idx], _secondaryStreamValues[idx]); + _values[_numValuesRead++] = VarIntToDecimal(_dataStreamValues[idx], _secondaryStreamValues[idx]); } } } From d1a8f726d5ed804ed9de563bf62f59548656841d Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 6 Jul 2022 14:24:54 -0300 Subject: [PATCH 090/143] Drop usage of custom array pool. --- .../Buffers/BaseColumnBuffer.cs | 5 ----- .../Buffers/BinaryColumnBuffer.cs | 12 ++++++------ .../Buffers/BooleanColumnBuffer.cs | 8 ++++---- .../Buffers/ByteColumnBuffer.cs | 8 ++++---- .../Buffers/DateColumnBuffer.cs | 8 ++++---- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 12 ++++++------ .../Buffers/DecimalColumnBuffer.cs | 12 ++++++------ .../Buffers/DoubleColumnBuffer.cs | 8 ++++---- .../Buffers/FloatColumnBuffer.cs | 8 ++++---- .../Buffers/IntegerColumnBuffer.cs | 8 ++++---- .../Buffers/StringColumnBuffer.cs | 16 ++++++++-------- .../Buffers/TimestampColumnBuffer.cs | 12 ++++++------ 12 files changed, 56 insertions(+), 61 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index d1e4c1c..13a164c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.OptimizedReader.Encodings; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Buffers; using System.Numerics; using System.Threading.Tasks; @@ -19,8 +18,6 @@ public abstract class BaseColumnBuffer private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; - private protected readonly ArrayPool _pool; - private protected int _numValuesRead; private StreamRange _lastRange; @@ -33,8 +30,6 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _column = column; _values = new TOutput[_orcFileProperties.MaxValuesToRead]; - _pool = ArrayPool.Create(15 * 1024 * 1024, 8); - _numericStreamBuffer = new long[1000]; _byteStreamBuffer = new byte[1000]; _boolStreamBuffer = new byte[1000]; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index dc189cf..4745af4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -27,14 +27,14 @@ public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie _presentStreamBuffer = new bool[_orcFileProperties.MaxValuesToRead]; _lengthStreamBuffer = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _lengthStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _lengthStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _lengthStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 3b27710..967464f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -23,11 +23,11 @@ public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _dataStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 75358bd..9c25f00 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -23,11 +23,11 @@ public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _dataStreamValues = new byte[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 7b3c15b..5859b43 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -26,11 +26,11 @@ public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 9c07dcb..01a7931 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -30,14 +30,14 @@ public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFile _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _secondaryStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _secondaryStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _secondaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 2268692..eba4e38 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -30,14 +30,14 @@ public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _secondaryStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _secondaryStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _secondaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 5031657..206de32 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -24,11 +24,11 @@ public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[8]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 24e3e9f..e1839a7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -24,11 +24,11 @@ public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[4]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 15d5321..df4a10e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -23,11 +23,11 @@ public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 2c6b137..d008d49 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -40,17 +40,17 @@ public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _lengthStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _dictionaryStreanCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dictionaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dictionaryStreanCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dictionaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _lengthStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _lengthStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _lengthStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _lengthStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 148abd1..ff0a5ed 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -32,14 +32,14 @@ public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProper _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _dataStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _presentStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _presentStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; - _secondaryStreamCompressedBuffer = _pool.Rent(_orcFileProperties.MaxCompressedBufferLength); - _secondaryStreamDecompressedBuffer = _pool.Rent(_orcFileProperties.MaxDecompressedBufferLength); + _secondaryStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _secondaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) From 3223bbb7aef2716677b6be592d7a090e5cdeb01d Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 6 Jul 2022 23:07:54 -0300 Subject: [PATCH 091/143] Remove manual Fill method calls. --- .../Buffers/BaseColumnBuffer.cs | 1 - .../Buffers/BinaryColumnBuffer.cs | 26 ++++---- .../Buffers/BooleanColumnBuffer.cs | 20 +++---- .../Buffers/ByteColumnBuffer.cs | 20 +++---- .../Buffers/DateColumnBuffer.cs | 20 +++---- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 26 ++++---- .../Buffers/DecimalColumnBuffer.cs | 26 ++++---- .../Buffers/DoubleColumnBuffer.cs | 20 +++---- .../Buffers/FloatColumnBuffer.cs | 20 +++---- .../Buffers/IntegerColumnBuffer.cs | 20 +++---- .../Buffers/StringColumnBuffer.cs | 60 +++++++++---------- .../Buffers/TimestampColumnBuffer.cs | 26 ++++---- .../OrcReader.cs | 13 ++-- .../OptimizedORCApp.cs | 12 ---- .../WithNulls/BinaryColumn_Test.cs | 2 - .../WithNulls/BooleanColumn_Test.cs | 2 - .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 2 - .../ColumnTypes/WithNulls/DateColumn_Test.cs | 2 - .../WithNulls/DecimalAsDoubleColumn_Test.cs | 2 - .../WithNulls/DecimalColumn_Test.cs | 2 - .../WithNulls/DoubleColumn_Test.cs | 2 - .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 2 - .../WithNulls/IntegerColumn_Test.cs | 2 - .../WithNulls/StringColumn_Test.cs | 4 -- .../WithNulls/TimestampColumn_Test.cs | 2 - .../WithoutNulls/BinaryColumn_Test.cs | 2 - .../WithoutNulls/BooleanColumn_Test.cs | 2 - .../WithoutNulls/ByteColumn_Test.cs | 2 - .../WithoutNulls/DateColumn_Test.cs | 2 - .../DecimalAsDoubleColumn_Test.cs | 2 - .../WithoutNulls/DecimalColumn_Test.cs | 2 - .../WithoutNulls/DoubleColumn_Test.cs | 2 - .../WithoutNulls/FloatColumn_Test.cs | 2 - .../WithoutNulls/IntegerColumn_Test.cs | 2 - .../WithoutNulls/StringColumn_Test.cs | 4 -- .../WithoutNulls/TimestampColumn_Test.cs | 2 - 36 files changed, 133 insertions(+), 225 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 13a164c..de2e38a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -39,7 +39,6 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); public abstract Task LoadDataAsync(int stripeId, ColumnDataStreams streams); - public abstract void Fill(); public void Reset() => _numValuesRead = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 4745af4..0ae7366 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -20,8 +20,6 @@ public class BinaryColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamBuffer = new bool[_orcFileProperties.MaxValuesToRead]; @@ -39,25 +37,25 @@ public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Length, _lengthStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Length, _lengthStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamBuffer, out var presentValuesRead); - ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); + var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; if (presentValuesRead > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 967464f..2276a18 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -16,8 +16,6 @@ public class BooleanColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -32,21 +30,21 @@ public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadBooleanStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 9c25f00..9eb25a2 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -16,8 +16,6 @@ public class ByteColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -32,21 +30,21 @@ public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadByteStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadByteStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 5859b43..764ad4e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -19,8 +19,6 @@ public class DateColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -35,21 +33,21 @@ public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 01a7931..781c79e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -22,8 +22,6 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer private byte[] _secondaryStreamDecompressedBuffer; private int _secondaryStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -42,24 +40,24 @@ public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFile public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), - GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index eba4e38..0ea959d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -22,8 +22,6 @@ public class DecimalColumnBuffer : BaseColumnBuffer private byte[] _secondaryStreamDecompressedBuffer; private int _secondaryStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -42,24 +40,24 @@ public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), - GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 206de32..b53aab8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -17,8 +17,6 @@ public class DoubleColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -33,22 +31,22 @@ public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index e1839a7..5b68b45 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -17,8 +17,6 @@ public class FloatColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -33,22 +31,22 @@ public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index df4a10e..04df9ca 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -16,8 +16,6 @@ public class IntegerColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnDataStreams _streams; - public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -32,21 +30,21 @@ public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index d008d49..3287311 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -30,10 +30,6 @@ public class StringColumnBuffer : BaseColumnBuffer private byte[] _presentStreamDecompressedBuffer; private int _presentStreamDecompressedBufferLength; - private ColumnEncodingKind _encodingKind; - private ColumnDataStreams _streams; - private int _stripeId; - public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -55,49 +51,47 @@ public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _stripeId = stripeId; - _encodingKind = _streams.EncodingKind; - var byteRangeTasks = new List>() { - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Length, _lengthStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Length, _lengthStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) }; - if (_encodingKind == ColumnEncodingKind.DictionaryV2) - byteRangeTasks.Add(GetByteRangeAsync(_streams.DictionaryData, _dictionaryStreanCompressedBuffer)); + if (streams.EncodingKind == ColumnEncodingKind.DictionaryV2) + byteRangeTasks.Add(GetByteRangeAsync(streams.DictionaryData, _dictionaryStreanCompressedBuffer)); _ = await Task.WhenAll(byteRangeTasks); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - if (_encodingKind == ColumnEncodingKind.DictionaryV2) - DecompressByteRange(_streams.DictionaryData, _dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, ref _dictionaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + if (streams.EncodingKind == ColumnEncodingKind.DictionaryV2) + DecompressByteRange(streams.DictionaryData, _dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, ref _dictionaryStreamDecompressedBufferLength); + + Fill(stripeId, streams); } - public override void Fill() + private void Fill(int stripeId, ColumnDataStreams streams) { - switch (_encodingKind) + switch (streams.EncodingKind) { case ColumnEncodingKind.DirectV2: - ReadDirectV2(); + ReadDirectV2(streams); break; case ColumnEncodingKind.DictionaryV2: - ReadDictionaryV2(); + ReadDictionaryV2(stripeId, streams); break; default: throw new InvalidOperationException(); } } - private void ReadDirectV2() + private void ReadDirectV2(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamValues, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamValues, out var lengthValuesRead); - var dataBuffer = GetDataStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); + var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); var stringOffset = 0; if (presentValuesRead > 0) @@ -126,15 +120,15 @@ private void ReadDirectV2() } } - private void ReadDictionaryV2() + private void ReadDictionaryV2(int stripeId, ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: false, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: false, _dataStreamValues, out var dataValuesRead); - if (!_stripeDictionaries.TryGetValue(_stripeId, out var stringsList)) + if (!_stripeDictionaries.TryGetValue(stripeId, out var stringsList)) { - Span dictionaryV2LengthStreamBuffer = stackalloc long[_streams.Length.DictionarySize]; - ReadNumericStream(_streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + Span dictionaryV2LengthStreamBuffer = stackalloc long[streams.Length.DictionarySize]; + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); int stringOffset = 0; stringsList = new List(); @@ -146,7 +140,7 @@ private void ReadDictionaryV2() stringsList.Add(value); } - _stripeDictionaries[_stripeId] = stringsList; + _stripeDictionaries[stripeId] = stringsList; } if (presentValuesRead > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index ff0a5ed..cb0ac04 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -24,8 +24,6 @@ public class TimestampColumnBuffer : BaseColumnBuffer private long[] _secondaryStreamValues; - private ColumnDataStreams _streams; - public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; @@ -44,24 +42,24 @@ public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProper public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { - _streams = streams; - _ = await Task.WhenAll( - GetByteRangeAsync(_streams.Present, _presentStreamCompressedBuffer), - GetByteRangeAsync(_streams.Data, _dataStreamCompressedBuffer), - GetByteRangeAsync(_streams.Secondary, _secondaryStreamCompressedBuffer) + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), + GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(_streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(_streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(_streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + + Fill(streams); } - public override void Fill() + private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(_streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(_streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(_streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 67789f7..aad7f8a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -172,20 +172,15 @@ public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stri }).ToList(); } - public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) + public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer, bool discardPreviousData = true) { + if (discardPreviousData) + columnBuffer.Reset(); + var rowIndex = GetColumnRowIndex(columnBuffer.Column.Id, stripeId); var columnStreams = GetColumnDataStreams(stripeId, columnBuffer.Column, rowIndex, rowEntryIndexId); await columnBuffer.LoadDataAsync(stripeId, columnStreams); - } - - public void Fill(BaseColumnBuffer columnBuffer, bool discardPreviousData = true) - { - if (discardPreviousData) - columnBuffer.Reset(); - - columnBuffer.Fill(); if (NumValues == 0 || NumValues > columnBuffer.Values.Length) NumValues = columnBuffer.Values.Length; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index f80af67..e280c18 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -104,18 +104,6 @@ await Task.WhenAll( reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); - reader.Fill(sourceColumnBuffer); - reader.Fill(symbolColumnBuffer); - reader.Fill(timeColumnBuffer); - reader.Fill(sizeColumnBuffer); - reader.Fill(dateColumnBuffer); - reader.Fill(doubleColumnBuffer); - reader.Fill(floatColumnBuffer); - reader.Fill(timeStampColumnBuffer); - reader.Fill(binaryColumnBuffer); - reader.Fill(byteColumnBuffer); - reader.Fill(booleanColumnBuffer); - for (int idx = 0; idx < reader.NumValues; idx++) { var source = sourceColumnBuffer.Values[idx]; diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index 8fc67bf..0adaba4 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -14,7 +14,6 @@ public void Binary_Column_10k_Values() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +35,6 @@ public void Binary_Column_1_Value() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index 6f89a21..c599443 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -13,7 +13,6 @@ public void Boolean_Column_10k_Values() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Boolean_Column_1_Value() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index 8fc5beb..cd523b6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -13,7 +13,6 @@ public void Byte_Column_10k_Values() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Byte_Column_1_Value() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index 50b9186..aaa5294 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -14,7 +14,6 @@ public void Date_Column_10k_Values() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +35,6 @@ public void Date_Column_1_Value() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 0525374..5ddb38d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -13,7 +13,6 @@ public void DecimalAsDouble_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void DecimalAsDouble_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index 7cd5bb4..7408a3f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -13,7 +13,6 @@ public void Decimal_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Decimal_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index 113c563..9114661 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -13,7 +13,6 @@ public void Double_Column_10k_Values() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Double_Column_1_Value() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index 68aba39..67a8866 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -13,7 +13,6 @@ public void Float_Column_10k_Values() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Float_Column_1_Value() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index dc71d5f..518dd77 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -13,7 +13,6 @@ public void Integer_Column_10k_Values() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var buffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, buffer).Wait(); - reader.Fill(buffer); Assert.Equal(1, buffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index f66f873..726c355 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -13,7 +13,6 @@ public void String_DirectV2_Column_10k_Values() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void String_DirectV2_Column_1_Value() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); @@ -57,7 +55,6 @@ public void String_DictionaryV2_Column_10k_Values() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -79,7 +76,6 @@ public void String_DictionaryV2_Column_1_Value() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index de665dd..aeaa317 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -14,7 +14,6 @@ public void Timestamp_Column_10k_Values() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +35,6 @@ public void Timestamp_Column_1_Value() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index 8fa7cc6..5d40a78 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -14,7 +14,6 @@ public void Binary_Column_10k_Values() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +35,6 @@ public void Binary_Column_1_Value() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index a6330b3..fd341e2 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -13,7 +13,6 @@ public void Boolean_Column_10k_Values() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Boolean_Column_1_Value() var column = reader.GetColumn("boolean"); var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 4a1f7e0..424cc2a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -13,7 +13,6 @@ public void Byte_Column_10k_Values() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Byte_Column_1_Value() var column = reader.GetColumn("byte"); var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index 30beea4..d1cc553 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -14,7 +14,6 @@ public void Date_Column_10k_Values() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +35,6 @@ public void Date_Column_1_Value() var column = reader.GetColumn("date"); var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 8013d3e..4df3569 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -13,7 +13,6 @@ public void DecimalAsDouble_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void DecimalAsDouble_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index bf69eec..ab81f03 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -13,7 +13,6 @@ public void Decimal_Column_10k_Values() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Decimal_Column_1_Value() var column = reader.GetColumn("time"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index a39fef3..cf4f46a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -13,7 +13,6 @@ public void Double_Column_10k_Values() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Double_Column_1_Value() var column = reader.GetColumn("double"); var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index e716108..03b58ab 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -13,7 +13,6 @@ public void Float_Column_10k_Values() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Float_Column_1_Value() var column = reader.GetColumn("float"); var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index c31706a..ab15a61 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -13,7 +13,6 @@ public void Integer_Column_10k_Values() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void Integer_Column_1_Value() var column = reader.GetColumn("size"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index 59c64b3..809e210 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -13,7 +13,6 @@ public void String_DirectV2_Column_10k_Values() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -35,7 +34,6 @@ public void String_DirectV2_Column_1_Value() var column = reader.GetColumn("symbol"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); @@ -57,7 +55,6 @@ public void String_DictionaryV2_Column_10k_Values() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -79,7 +76,6 @@ public void String_DictionaryV2_Column_1_Value() var column = reader.GetColumn("source"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index 4340407..9322411 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -14,7 +14,6 @@ public void Timestamp_Column_10k_Values() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(10_000, columnBuffer.Values.Length); @@ -36,7 +35,6 @@ public void Timestamp_Column_1_Value() var column = reader.GetColumn("timestamp"); var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - reader.Fill(columnBuffer); Assert.Equal(1, columnBuffer.Values.Length); From 1781a6267269c8bba312515e318569e6e8a9177e Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 6 Jul 2022 23:29:18 -0300 Subject: [PATCH 092/143] Add boolean reader comments. --- .../Buffers/BaseColumnBuffer.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index de2e38a..fc10bff 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -110,6 +110,9 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan if (numValuesRead >= outputValues.Length) return; + // If we are processing the very last byte and all bits after the current + // iteration are unset, we can discard those as they are not being used. + // This is the opposite edge case from the above. Where we have only a few bits set. if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == bitIdx) return; } From e15384fd4308de23cf5f50ad483383ab95d89295 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 7 Jul 2022 16:35:55 -0300 Subject: [PATCH 093/143] Consolidate decompression method. --- .../Buffers/BaseColumnBuffer.cs | 4 +- .../Buffers/BooleanColumnBuffer.cs | 2 +- .../Buffers/ByteColumnBuffer.cs | 2 +- .../Buffers/DateColumnBuffer.cs | 2 +- .../Buffers/DoubleColumnBuffer.cs | 2 +- .../Buffers/FloatColumnBuffer.cs | 2 +- .../Buffers/IntegerColumnBuffer.cs | 2 +- .../ByteRangeProviderExtensions.cs | 26 ------- .../Infrastructure/ColumnDataStreams.cs | 2 +- .../DecompressingMemorySequence.cs | 75 ------------------- .../Infrastructure/SpanFileTail.cs | 37 ++++++--- .../Infrastructure/SpanStripeFooter.cs | 4 +- .../OrcReader.cs | 54 ++++++++----- 13 files changed, 74 insertions(+), 140 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index fc10bff..14b2467 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -178,8 +178,8 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory< { if (stream != null) { - // If last range matches, the previous data will already be buffered. - // We can return only the length without requesting the same bytes. + // If current and last ranges are equal, the previous data will be buffered + // and we can return only the length, without requesting the bytes again. if (stream.Range != _lastRange) _lastRangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 2276a18..1d1f926 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -64,4 +64,4 @@ private void Fill(ColumnDataStreams streams) } } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 9eb25a2..3e0a247 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -64,4 +64,4 @@ private void Fill(ColumnDataStreams streams) } } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 764ad4e..3a88bb5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -67,4 +67,4 @@ private void Fill(ColumnDataStreams streams) } } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index b53aab8..a281a79 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -75,4 +75,4 @@ private void Fill(ColumnDataStreams streams) } } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 5b68b45..ebda329 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -75,4 +75,4 @@ private void Fill(ColumnDataStreams streams) } } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 04df9ca..bba86b6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -64,4 +64,4 @@ private void Fill(ColumnDataStreams streams) } } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs deleted file mode 100644 index 66256ce..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderExtensions.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public static class ByteRangeProviderExtensions - { - public static DecompressingMemorySequence DecompressByteRange(this IByteRangeProvider provider, long offset, int compressedLength, Protocol.CompressionKind compressionKind, int compressionBlockSize) - { - var buffer = ArrayPool.Shared.Rent(compressedLength); - - try - { - var bufferSpan = buffer.AsSpan().Slice(0, compressedLength); - - provider.GetRange(bufferSpan, offset); - - return new DecompressingMemorySequence(bufferSpan, compressionKind, compressionBlockSize); - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs index 5614d04..9057563 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ColumnDataStreams.cs @@ -12,4 +12,4 @@ public class ColumnDataStreams public StreamDetail Present { get; set; } public StreamDetail Secondary { get; set; } } -} \ No newline at end of file +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs deleted file mode 100644 index d829f97..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/DecompressingMemorySequence.cs +++ /dev/null @@ -1,75 +0,0 @@ -using ApacheOrcDotNet.Compression; -using ApacheOrcDotNet.Protocol; -using System; -using System.Buffers; - -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public sealed class DecompressingMemorySequence : IDisposable - { - readonly SequenceNode _begin; - readonly SequenceNode _end; - - public DecompressingMemorySequence(ReadOnlySpan compressedBuffer, CompressionKind compressionKind, int compressionBlockSize) - { - int position = 0; - while (position < compressedBuffer.Length) - { - var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, compressedBuffer[position..]); - var decompressedSegment = new byte[compressionBlockSize]; - var decompressedSegmentSpan = decompressedSegment.AsSpan().Slice(0, compressionBlockSize); - - var chunkToDecompress = (position + compressedChunkLength) > compressedBuffer.Length - ? compressedBuffer.Slice(position) - : compressedBuffer.Slice(position, compressedChunkLength); - - var decompressedLength = OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, decompressedSegmentSpan); - - _end = new SequenceNode(decompressedSegmentSpan.ToArray(), decompressedLength, _end); - if (_begin == null) - _begin = _end; - - position += compressedChunkLength; - - ArrayPool.Shared.Return(decompressedSegment); - } - } - - public void Dispose() - { - var cur = _begin; - while (cur != null) - { - ArrayPool.Shared.Return(cur.LeasedMemory); - cur = (SequenceNode)cur.Next; - } - } - - public ReadOnlySequence Sequence - { - get - { - if (_begin == default || _end == default) - return new(); - - return new(_begin, 0, _end, _end.Memory.Length); - } - } - } - - sealed class SequenceNode : ReadOnlySequenceSegment - { - public byte[] LeasedMemory { get; private set; } - - internal SequenceNode(byte[] leasedMemory, int length, SequenceNode previous) - { - LeasedMemory = leasedMemory; - Memory = leasedMemory.AsMemory(0, length); - if (previous != null) - { - previous.Next = this; - RunningIndex = previous.RunningIndex + previous.Memory.Length; - } - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index 8384cb0..76d840a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -1,5 +1,6 @@ using ProtoBuf; using System; +using System.Buffers; using System.IO; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure @@ -47,20 +48,34 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, return false; } - var compressedFooter = buffer.Slice(footerStart, (int)postScript.FooterLength); - using var decompressedFooterSequence = new DecompressingMemorySequence(compressedFooter, postScript.Compression, (int)postScript.CompressionBlockSize); - var footer = Serializer.Deserialize(decompressedFooterSequence.Sequence); + var compressedFooterBuffer = buffer.Slice(footerStart, (int)postScript.FooterLength); + var compressedMetadataBuffer = buffer.Slice(metadataStart, (int)postScript.MetadataLength); + var decompressedFooterBuffer = ArrayPool.Shared.Rent((int)postScript.FooterLength * 1032); + var decompressedMetadataBuffer = ArrayPool.Shared.Rent((int)postScript.MetadataLength * 1032); + var decompressedFooterBufferSpan = decompressedFooterBuffer.AsSpan().Slice(0, (int)postScript.FooterLength * 1032); + var decompressedMetadataBufferSpan = decompressedMetadataBuffer.AsSpan().Slice(0, (int)postScript.MetadataLength * 1032); - var compressedMetadata = buffer.Slice(metadataStart, (int)postScript.MetadataLength); - using var decompressedMetadataSequence = new DecompressingMemorySequence(compressedMetadata, postScript.Compression, (int)postScript.CompressionBlockSize); - var metadata = Serializer.Deserialize(decompressedMetadataSequence.Sequence); + try + { + var decompressedFooterSize = StreamData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression); + var footer = Serializer.Deserialize(decompressedFooterBufferSpan.Slice(0, decompressedFooterSize)); + + var decompressedMetadataSize = StreamData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression); + var metadata = Serializer.Deserialize(decompressedMetadataBufferSpan.Slice(0, decompressedMetadataSize)); - fileTail = new SpanFileTail + fileTail = new SpanFileTail + { + PostScript = postScript, + Footer = footer, + Metadata = metadata + }; + } + finally { - PostScript = postScript, - Footer = footer, - Metadata = metadata - }; + ArrayPool.Shared.Return(decompressedFooterBuffer); + ArrayPool.Shared.Return(decompressedMetadataBuffer); + } + additionalBytesRequired = 0; return true; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs index 211e94a..f7d9b6c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanStripeFooter.cs @@ -1,6 +1,6 @@ using ApacheOrcDotNet.Protocol; using ProtoBuf; -using System.Buffers; +using System; using System.Collections.Generic; using System.Linq; @@ -8,7 +8,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class SpanStripeFooter { - public static IEnumerable ReadStreamDetails(ReadOnlySequence inputSequence, long stripeOffset) + public static IEnumerable ReadStreamDetails(ReadOnlySpan inputSequence, long stripeOffset) { var stripeFooter = Serializer.Deserialize(inputSequence); diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index aad7f8a..a2ae1d0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -204,14 +204,24 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) && s.ColumnId == columnId ).Single(); - var decompressedData = _byteRangeProvider.DecompressByteRange( - rowIndexStream.FileOffset, - rowIndexStream.Length, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); - - return Serializer.Deserialize(decompressedData.Sequence); + var compressedBuffer = ArrayPool.Shared.Rent(rowIndexStream.Length); + var decompressedBuffer = ArrayPool.Shared.Rent(rowIndexStream.Length * 1032); + var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, rowIndexStream.Length); + var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, rowIndexStream.Length * 1032); + + try + { + _ = _byteRangeProvider.GetRange(compressedBufferSpan, rowIndexStream.FileOffset); + + var decompressedBufferLength = StreamData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); + + return Serializer.Deserialize(decompressedBufferSpan.Slice(0, decompressedBufferLength)); + } + finally + { + ArrayPool.Shared.Return(compressedBuffer); + ArrayPool.Shared.Return(decompressedBuffer); + } }); } @@ -243,16 +253,26 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); var stripeFooterLength = (int)stripe.FooterLength; - var decompressedData = _byteRangeProvider.DecompressByteRange( - stripeFooterStart, - stripeFooterLength, - _fileTail.PostScript.Compression, - (int)_fileTail.PostScript.CompressionBlockSize - ); + var compressedBuffer = ArrayPool.Shared.Rent(stripeFooterLength); + var decompressedBuffer = ArrayPool.Shared.Rent(stripeFooterLength * 1032); + var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, stripeFooterLength); + var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, stripeFooterLength * 1032); - var streams = SpanStripeFooter.ReadStreamDetails(decompressedData.Sequence, (long)stripe.Offset); + try + { + _ = _byteRangeProvider.GetRange(compressedBufferSpan, stripeFooterStart); + + var decompressedBufferLength = StreamData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); + + var streams = SpanStripeFooter.ReadStreamDetails(decompressedBufferSpan.Slice(0, decompressedBufferLength), (long)stripe.Offset); - _stripeStreams.Add(stripeId, streams.ToList()); + _stripeStreams.Add(stripeId, streams.ToList()); + } + finally + { + ArrayPool.Shared.Return(compressedBuffer); + ArrayPool.Shared.Return(decompressedBuffer); + } } return _stripeStreams[stripeId]; @@ -483,4 +503,4 @@ private StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, return new(stripeId, targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } } -} \ No newline at end of file +} From 2362e8028f5e1686d226e3b02f4a9c12ce9690f6 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 7 Jul 2022 16:39:50 -0300 Subject: [PATCH 094/143] Update decompression file name. --- .../Buffers/BaseColumnBuffer.cs | 2 +- .../Infrastructure/{StreamData.cs => CompressedData.cs} | 2 +- .../Infrastructure/SpanFileTail.cs | 4 ++-- src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) rename src/ApacheOrcDotNet.OptimizedReader/Infrastructure/{StreamData.cs => CompressedData.cs} (96%) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 14b2467..6d58daa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -195,7 +195,7 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs similarity index 96% rename from src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs rename to src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index cc00beb..f40b072 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StreamData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -4,7 +4,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { - public static class StreamData + public static class CompressedData { public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index 76d840a..659680a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -57,10 +57,10 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, try { - var decompressedFooterSize = StreamData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression); + var decompressedFooterSize = CompressedData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression); var footer = Serializer.Deserialize(decompressedFooterBufferSpan.Slice(0, decompressedFooterSize)); - var decompressedMetadataSize = StreamData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression); + var decompressedMetadataSize = CompressedData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression); var metadata = Serializer.Deserialize(decompressedMetadataBufferSpan.Slice(0, decompressedMetadataSize)); fileTail = new SpanFileTail diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index a2ae1d0..2aac720 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -213,7 +213,7 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) { _ = _byteRangeProvider.GetRange(compressedBufferSpan, rowIndexStream.FileOffset); - var decompressedBufferLength = StreamData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); + var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); return Serializer.Deserialize(decompressedBufferSpan.Slice(0, decompressedBufferLength)); } @@ -262,7 +262,7 @@ private IEnumerable GetStripeStreams(int stripeId) { _ = _byteRangeProvider.GetRange(compressedBufferSpan, stripeFooterStart); - var decompressedBufferLength = StreamData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); + var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); var streams = SpanStripeFooter.ReadStreamDetails(decompressedBufferSpan.Slice(0, decompressedBufferLength), (long)stripe.Offset); From 633919aed6c615930783e190e96af28670c13eec Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 7 Jul 2022 17:13:12 -0300 Subject: [PATCH 095/143] Strictly check supported byte range schemes. --- .../Infrastructure/ByteRangeProviderFactory.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs index 7b94b6e..e5a17e9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/ByteRangeProviderFactory.cs @@ -9,10 +9,15 @@ public IByteRangeProvider Create(string location) if (!Uri.TryCreate(location, UriKind.Absolute, out var uri)) throw new InvalidOperationException($"Byte range provider must be a valid file:// or http(s):// URI."); - if (uri.IsFile) - return new MemoryMappedFileRangeProvider(uri.LocalPath); + var scheme = uri.Scheme; - return new HttpByteRangeProvider(uri.AbsoluteUri); + return scheme switch + { + "file" => new MemoryMappedFileRangeProvider(uri.LocalPath), + "http" => new HttpByteRangeProvider(uri.AbsoluteUri), + "https" => new HttpByteRangeProvider(uri.AbsoluteUri), + _ => throw new InvalidOperationException($"The scheme '{scheme}' is not supported.") + }; } } } From 785f1bba7d73e1eb3bbf0cb978c14ad672217f33 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 7 Jul 2022 18:25:08 -0300 Subject: [PATCH 096/143] Update byte range providers. --- .../Infrastructure/HttpByteRangeProvider.cs | 49 +++---------------- .../MemoryMappedFileRangeProvider.cs | 44 ++--------------- .../TestByteRangeProvider.cs | 19 +------ .../TestByteRangeProviderParallel.cs | 20 +------- 4 files changed, 17 insertions(+), 115 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index d6fecc8..ac66184 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -1,5 +1,4 @@ using System; -using System.IO; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; @@ -24,9 +23,9 @@ public int GetRange(Span buffer, long position) var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); + throw new InvalidOperationException("Range response must include a length."); - return DoRead(response.Content.ReadAsStream(), buffer); + return response.Content.ReadAsStream().Read(buffer); } public async Task GetRangeAsync(Memory buffer, long position) @@ -35,9 +34,9 @@ public async Task GetRangeAsync(Memory buffer, long position) var response = await _httpClient.SendAsync(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); + throw new InvalidOperationException("Range response must include a length."); - return await DoReadAsync(await response.Content.ReadAsStreamAsync(), buffer); + return await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); } public int GetRangeFromEnd(Span buffer, long positionFromEnd) @@ -46,9 +45,9 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); + throw new InvalidOperationException("Range response must include a length."); - return DoRead(response.Content.ReadAsStream(), buffer); + return response.Content.ReadAsStream().Read(buffer); } public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) @@ -57,9 +56,9 @@ public async Task GetRangeFromEndAsync(Memory buffer, long positionFr var response = await _httpClient.SendAsync(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range respose must include a length."); + throw new InvalidOperationException("Range response must include a length."); - return await DoReadAsync(await response.Content.ReadAsStreamAsync(), buffer); + return await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); } private HttpRequestMessage CreateRangeRequest(long? from, long? to) @@ -69,37 +68,5 @@ private HttpRequestMessage CreateRangeRequest(long? from, long? to) request.Headers.Range = rangeHeader; return request; } - - private int DoRead(Stream stream, Span buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = stream.Read(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; - } - - private async Task DoReadAsync(Stream stream, Memory buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = await stream.ReadAsync(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; - } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs index b678c58..d7fd480 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -12,9 +12,7 @@ public sealed class MemoryMappedFileRangeProvider : IByteRangeProvider internal MemoryMappedFileRangeProvider(string path) { - using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) - _length = fileStream.Length; - + _length = (new FileInfo(path)).Length; _memoryMappedFile = MemoryMappedFile.CreateFromFile(path); } @@ -27,7 +25,7 @@ public int GetRange(Span buffer, long position) { using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) { - return DoRead(stream, buffer); + return stream.Read(buffer); } } @@ -35,7 +33,7 @@ public async Task GetRangeAsync(Memory buffer, long position) { using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) { - return await DoReadAsync(stream, buffer); + return await stream.ReadAsync(buffer); } } @@ -43,7 +41,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) { using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) { - return DoRead(stream, buffer); + return stream.Read(buffer); } } @@ -51,40 +49,8 @@ public async Task GetRangeFromEndAsync(Memory buffer, long positionFr { using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) { - return await DoReadAsync(stream, buffer); - } - } - - private int DoRead(Stream stream, Span buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = stream.Read(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; - } - - private async Task DoReadAsync(Stream stream, Memory buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = await stream.ReadAsync(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; + return await stream.ReadAsync(buffer); } - return bytesRead; } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index ce4f68c..1cb77f0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -34,7 +34,7 @@ public int GetRange(Span buffer, long position) var reader = GetOpenStreamForRange(false, position, buffer.Length); if (!_readRequestedRangesFromFile) reader.Seek(position, SeekOrigin.Begin); - ReadAllBytes(reader, buffer); + _ = reader.Read(buffer); if (_writeRequestedRangesToFile) { var filename = GetRangeFilename(false, position, buffer.Length); @@ -58,7 +58,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); if (!_readRequestedRangesFromFile) reader.Seek(-positionFromEnd, SeekOrigin.End); - ReadAllBytes(reader, buffer); + _ = reader.Read(buffer); if (_writeRequestedRangesToFile) { var filename = GetRangeFilename(true, positionFromEnd, buffer.Length); @@ -111,20 +111,5 @@ string GetRangeFilename(bool isFromEnd, long position, int length) string fromEnd = isFromEnd ? "fromEnd" : "fromStart"; return $"orctest_{fromEnd}_{position}_{length}.orc"; } - - void ReadAllBytes(Stream stream, Span buffer) - { - var remaining = buffer.Length; - var pos = 0; - while (remaining > 0) - { - var count = stream.Read(buffer[pos..]); - if (count == 0) - throw new InvalidOperationException(); - - remaining -= count; - pos += count; - } - } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index d782261..1996adb 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -27,7 +27,7 @@ public int GetRange(Span buffer, long position) lock (_streamLock) { _stream.Seek(position, SeekOrigin.Begin); - return DoRead(buffer); + return _stream.Read(buffer); } } @@ -45,7 +45,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) lock (_streamLock) { _stream.Seek(-positionFromEnd, SeekOrigin.End); - return DoRead(buffer); + return _stream.Read(buffer); } } @@ -58,22 +58,6 @@ public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) } } - private int DoRead(Span buffer) - { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = _stream.Read(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; - } - private async Task DoReadAsync(Memory buffer) { int bytesRead = 0; From a2af3ed19b0c84e784c31636dd7cbed7bda52cff Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 8 Jul 2022 10:07:53 -0300 Subject: [PATCH 097/143] Update OrcColumn class. --- src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index cfec0fe..9c9fc9b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -3,7 +3,7 @@ namespace ApacheOrcDotNet.OptimizedReader { - public class OrcColumn + public class OrcColumn : IEquatable { public OrcColumn(int id, string name, ColumnTypeKind type) { @@ -18,15 +18,15 @@ public OrcColumn(int id, string name, ColumnTypeKind type) public override bool Equals(object obj) { - if (obj is OrcColumn) - { - var other = obj as OrcColumn; - return Id == other.Id && Name == other.Name && Type == other.Type; - } + if (obj is OrcColumn other) + return Equals(other); return false; } + public bool Equals(OrcColumn other) + => Id == other.Id && Name == other.Name && Type == other.Type; + public override int GetHashCode() => HashCode.Combine(Id, Name, Type); } } From 816be689d03de7de63fab5019e798d85cbd3bba8 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 8 Jul 2022 11:05:10 -0300 Subject: [PATCH 098/143] Use invariant culture only. --- .../OptimizedORCApp.cs | 1 - .../Program.cs | 16 ++++------------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index e280c18..09da0ad 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -9,7 +9,6 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { public class OptimizedORCAppConfiguration { - public DateTime Date { get; set; } public string Source { get; set; } public string Symbol { get; set; } public TimeSpan BeginTime { get; set; } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 745dd14..ce07428 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -11,11 +11,6 @@ internal class Program { static async Task Main(string[] args) { - var cultureInfo = CultureInfo.GetCultureInfo("en-US"); - - CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; - CultureInfo.DefaultThreadCurrentCulture = cultureInfo; - var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true) .AddEnvironmentVariables("apacheorc_app_") @@ -24,19 +19,17 @@ static async Task Main(string[] args) ; var uri = config.GetValue("uri", string.Empty); - var date = config.GetValue("date", DateTime.Now.ToString("d")); var source = config.GetValue("source", string.Empty); var symbol = config.GetValue("symbol", string.Empty); var beginTime = config.GetValue("beginTime", "00:00:00"); var endTime = config.GetValue("endTime", "23:45:00"); - var isValidDate = DateTime.TryParse(date, out var parsedDate); - var isValidBeginTime = TimeSpan.TryParse(beginTime, out var parsedBeginTime); - var isValidEndTime = TimeSpan.TryParse(endTime, out var parsedEndTime); + var isValidBeginTime = TimeSpan.TryParse(beginTime, CultureInfo.InvariantCulture, out var parsedBeginTime); + var isValidEndTime = TimeSpan.TryParse(endTime, CultureInfo.InvariantCulture, out var parsedEndTime); - if (uri.Length ==0 || !isValidDate || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + if (uri.Length ==0 || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) { - Console.WriteLine("Usage: --uri orcFileUri --date m/d/yyyy --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine("Usage: --uri orcFileUri --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); Console.WriteLine(); Console.WriteLine("Examples:"); Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); @@ -60,7 +53,6 @@ static async Task Main(string[] args) var configs = new OptimizedORCAppConfiguration { - Date = parsedDate, Source = source, Symbol = symbol, BeginTime = parsedBeginTime, From 74a986864c9d8b5a5f687dd9b3d2def14903285f Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 8 Jul 2022 11:16:30 -0300 Subject: [PATCH 099/143] Do not modify protobuf-net version. --- src/ApacheOrcDotNet/ApacheOrcDotNet.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj index 1c678f1..c4d11ae 100644 --- a/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj +++ b/src/ApacheOrcDotNet/ApacheOrcDotNet.csproj @@ -6,7 +6,7 @@ - + From 7b21479f3cfc77bd676a15ca8b28976f6d772d49 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 8 Jul 2022 11:23:26 -0300 Subject: [PATCH 100/143] Avoid unnecessary changes in original code. --- src/ApacheOrcDotNet/Protocol/RowIndex.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ApacheOrcDotNet/Protocol/RowIndex.cs b/src/ApacheOrcDotNet/Protocol/RowIndex.cs index 20a3692..8f8f0c7 100644 --- a/src/ApacheOrcDotNet/Protocol/RowIndex.cs +++ b/src/ApacheOrcDotNet/Protocol/RowIndex.cs @@ -1,5 +1,8 @@ using ProtoBuf; +using System; using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; namespace ApacheOrcDotNet.Protocol { From 5b467465498dadcf39e333eed61a7a934e375361 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 8 Jul 2022 12:14:31 -0300 Subject: [PATCH 101/143] Update OrcReader class. Minor fixes. --- .../Buffers/DateColumnBuffer.cs | 6 ++---- .../Buffers/TimestampColumnBuffer.cs | 5 ++--- .../OrcReader.cs | 18 ++++-------------- .../OptimizedORCApp.cs | 7 ++++--- 4 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 3a88bb5..68365d7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -6,8 +6,6 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DateColumnBuffer : BaseColumnBuffer { - private readonly static DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; @@ -55,7 +53,7 @@ private void Fill(ColumnDataStreams streams) for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) - _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamValues[dataIndex++] * TimeSpan.TicksPerDay); + _values[_numValuesRead++] = OrcFileProperties.UnixEpochUtc.AddTicks(_dataStreamValues[dataIndex++] * TimeSpan.TicksPerDay); else _values[_numValuesRead++] = null; } @@ -63,7 +61,7 @@ private void Fill(ColumnDataStreams streams) else { for (int idx = 0; idx < dataValuesRead; idx++) - _values[_numValuesRead++] = _unixEpoch.AddTicks(_dataStreamValues[idx] * TimeSpan.TicksPerDay); + _values[_numValuesRead++] = OrcFileProperties.UnixEpochUtc.AddTicks(_dataStreamValues[idx] * TimeSpan.TicksPerDay); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index cb0ac04..a3c2b20 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -6,7 +6,6 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class TimestampColumnBuffer : BaseColumnBuffer { - private readonly static DateTime _orcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; @@ -74,7 +73,7 @@ private void Fill(ColumnDataStreams streams) var seconds = _dataStreamValues[valueIndex]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[valueIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + _values[_numValuesRead++] = OrcFileProperties.OrcEpoch.AddTicks(totalTicks); valueIndex++; } else @@ -88,7 +87,7 @@ private void Fill(ColumnDataStreams streams) var seconds = _dataStreamValues[idx]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[idx]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _values[_numValuesRead++] = _orcEpoch.AddTicks(totalTicks); + _values[_numValuesRead++] = OrcFileProperties.OrcEpoch.AddTicks(totalTicks); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 2aac720..bf0a9b7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -45,29 +45,19 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa var subType = (int)_fileTail.Footer.Types[0].SubTypes[i]; var subTypeKind = _fileTail.Footer.Types[subType].Kind; return (subType, name, subTypeKind); - }).ToDictionary(i => i.name.ToLower(), i => i); + }).ToDictionary(x => x.name.ToLower(), x => x); _compressionKind = _fileTail.PostScript.Compression; - _compressionBlockSize = (int)_fileTail.PostScript.CompressionBlockSize; - _maxValuesToRead = (int)_fileTail.Footer.RowIndexStride; + _compressionBlockSize = checked((int)_fileTail.PostScript.CompressionBlockSize); + _maxValuesToRead = checked((int)_fileTail.Footer.RowIndexStride); } public int NumValues { get; set; } - public OrcColumn GetColumn(int columnId) - { - if (columnId == 0 || columnId >= _protoColumns.Count) - throw new InvalidOperationException($"The column Id '{columnId}' is invalid."); - - var columnPair = _protoColumns.ElementAt(columnId - 1); - - return GetColumn(columnPair.Value.Name); - } - public OrcColumn GetColumn(string columnName) { if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) - throw new InvalidOperationException($"The column name '{columnName}' is invalid."); + throw new ArgumentException($"The column name '{columnName}' is invalid."); return new OrcColumn(column.Id, column.Name, column.Type); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 09da0ad..5c2040b 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -2,6 +2,7 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; using System.Diagnostics; +using System.Globalization; using System.Text; using System.Threading.Tasks; @@ -122,13 +123,13 @@ await Task.WhenAll( Console.WriteLine($"" + $"{source}," + $"{symbol}," + - $"{time.ToString().PadRight(15, '0')}," + + $"{time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0')}," + $"{size}" + $" " + - $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy") : string.Empty)}," + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + $"{dobl}," + $"{sing}," + - $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty)}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + $"{tinyInt}," + $"{boolean}" + From bce119b0a29cd97a5fb696a208d0beb75bd18dc6 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 8 Jul 2022 18:18:36 -0300 Subject: [PATCH 102/143] Add specialized 'TradeDataSource' sample class. --- .../OrcReader.cs | 7 +- .../OptimizedORCApp.cs | 2 +- .../Program.cs | 11 +- .../TradeDataSource.cs | 127 ++++++++++++++++++ .../TradeDataSourceApp.cs | 56 ++++++++ 5 files changed, 197 insertions(+), 6 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index bf0a9b7..e760cfa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -52,7 +52,8 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _maxValuesToRead = checked((int)_fileTail.Footer.RowIndexStride); } - public int NumValues { get; set; } + public int NumValuesLoaded { get; set; } + public int MaxValuesPerRowGroup => _maxValuesToRead; public OrcColumn GetColumn(string columnName) { @@ -172,8 +173,8 @@ public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, Base await columnBuffer.LoadDataAsync(stripeId, columnStreams); - if (NumValues == 0 || NumValues > columnBuffer.Values.Length) - NumValues = columnBuffer.Values.Length; + if (NumValuesLoaded == 0 || NumValuesLoaded > columnBuffer.Values.Length) + NumValuesLoaded = columnBuffer.Values.Length; } public ColumnStatistics GetFileColumnStatistics(int columnId) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 5c2040b..f13efff 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -104,7 +104,7 @@ await Task.WhenAll( reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) ); - for (int idx = 0; idx < reader.NumValues; idx++) + for (int idx = 0; idx < reader.NumValuesLoaded; idx++) { var source = sourceColumnBuffer.Values[idx]; var symbol = symbolColumnBuffer.Values[idx]; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index ce07428..9665215 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -60,11 +60,18 @@ static async Task Main(string[] args) }; var fileByteRangeProviderFactory = new ByteRangeProviderFactory(); - var optimizedORCApp = new OptimizedORCApp(uri, configs, fileByteRangeProviderFactory); var stopWatch = new Stopwatch(); stopWatch.Start(); - await optimizedORCApp.Run(); + + // Sample app 1 + await (new OptimizedORCApp(uri, configs, fileByteRangeProviderFactory)).Run(); + + //// Sample app 2 + //// This requires a test file with a sorce,symbol,time,price and size fields. + //// (Or the test class bellow can be updated to use different fields) + //(new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run(); + stopWatch.Stop(); Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs new file mode 100644 index 0000000..87d7bad --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs @@ -0,0 +1,127 @@ +using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Buffers; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Reader = ApacheOrcDotNet.OptimizedReader.OrcReader; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class TradeDataSource + { + private readonly Reader _reader; + private readonly string _souce; + private readonly string _symbol; + + public TradeDataSource(Reader reader, string source, string symbol) + { + _reader = reader; + _souce = source; + _symbol = symbol; + } + + public TimeRangeReader CreateTimeRangeReader(TimeSpan startTime, TimeSpan endTime) + => new TimeRangeReader(_reader, _souce, _symbol, startTime, endTime); + } + + public class TimeRangeReader + { + private readonly Reader _reader; + private readonly string _souce; + private readonly string _symbol; + private readonly TimeSpan _startTime; + private readonly TimeSpan _endTime; + private readonly BaseColumnBuffer _sourceColumnBuffer; + private readonly BaseColumnBuffer _symbolColumnBuffer; + private readonly BaseColumnBuffer _timeColumnBuffer; + private readonly BaseColumnBuffer _priceColumnBuffer; + private readonly BaseColumnBuffer _sizeColumnBuffer; + private readonly Dictionary> _filters = new(); + + public TimeRangeReader(Reader reader, string source, string symbol, TimeSpan startTime, TimeSpan endTime) + { + _reader = reader; + _souce = source; + _symbol = symbol; + _startTime = startTime; + _endTime = endTime; + + var sourceColumn = _reader.GetColumn("source"); + var symbolColumn = _reader.GetColumn("symbol"); + var timeColumn = _reader.GetColumn("time"); + var priceColumn = _reader.GetColumn("price"); + var sizeColumn = _reader.GetColumn("size"); + + _sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); + _symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); + _timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); + _priceColumnBuffer = reader.CreateDecimalColumnBuffer(priceColumn); + _sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); + + var sourceFilterValues = FilterValues.CreateFromString(min: _souce, max: _souce); + var symbolFilterValues = FilterValues.CreateFromString(min: _symbol, max: _symbol); + var timeFilterValues = FilterValues.CreateFromTime(min: _startTime, max: _endTime); + + var stripeIds = _reader.FilterStripes(sourceColumn, sourceFilterValues); + stripeIds = _reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); + stripeIds = _reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); + + foreach (var stripeId in stripeIds) + { + var rowGroupIndexes = _reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); + + _filters.Add(stripeId, rowGroupIndexes.ToList()); + } + } + + public int ApproxRowCount + { + get + { + var rowGroups = _filters.Values.Sum(v => v.Count); + return rowGroups * _reader.MaxValuesPerRowGroup; + } + } + + public int ReadBatch(Span times, Span prices, Span sizes) + { + var numRows = 0; + var startTimeTotalSeconds = (decimal)_startTime.TotalSeconds; + var endTimeTotalSeconds = (decimal)_endTime.TotalSeconds; + + foreach (var (stripeId, rowGroupIndexes) in _filters) + { + foreach (var rowEntryIndex in rowGroupIndexes) + { + Task.WhenAll( + _reader.LoadDataAsync(stripeId, rowEntryIndex, _sourceColumnBuffer), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _symbolColumnBuffer), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _timeColumnBuffer), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _sizeColumnBuffer), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _priceColumnBuffer) + ).Wait(); + + for (int idx = 0; idx < _reader.NumValuesLoaded; idx++) + { + var source = _sourceColumnBuffer.Values[idx]; + var symbol = _symbolColumnBuffer.Values[idx]; + var time = _timeColumnBuffer.Values[idx]; + + if (source == _souce && symbol == _symbol && time >= startTimeTotalSeconds && time <= endTimeTotalSeconds) + { + times[numRows] = _timeColumnBuffer.Values[idx]; + sizes[numRows] = _sizeColumnBuffer.Values[idx]; + prices[numRows] = _priceColumnBuffer.Values[idx]; + numRows++; + } + } + } + } + + return numRows; + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs new file mode 100644 index 0000000..a2e3c19 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs @@ -0,0 +1,56 @@ +using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Diagnostics; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class TradeDataSourceApp + { + private readonly string _orcFileUri; + private readonly OptimizedORCAppConfiguration _configuration; + private readonly IByteRangeProviderFactory _byteRangeProviderFactory; + + public TradeDataSourceApp(string orcFileUri, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + { + _orcFileUri = orcFileUri; + _configuration = confituration; + _byteRangeProviderFactory = byteRangeProviderFactory; + } + + public void Run() + { + // + var watch = new Stopwatch(); + var configs = new OrcReaderConfiguration(); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri); + var reader = new OptimizedReader.OrcReader(configs, rangeProvider); + + watch.Start(); + + var timeRanges = new[] { (43200, 46800), (50400, 54000) }; + var symbolData = new TradeDataSource(reader, _configuration.Source, _configuration.Symbol); + + foreach (var (sTime, eTime) in timeRanges) + { + var timeRangeReader = symbolData.CreateTimeRangeReader(TimeSpan.FromSeconds(sTime), TimeSpan.FromSeconds(eTime)); + + var approxRowCount = timeRangeReader.ApproxRowCount; + + var times = new decimal?[approxRowCount]; + var prices = new decimal?[approxRowCount]; + var sizes = new long?[approxRowCount]; + + int numRows = timeRangeReader.ReadBatch(times, prices, sizes); + + Console.WriteLine(); + Console.WriteLine($"Read {numRows} rows of data"); + } + + watch.Stop(); + Console.WriteLine(); + Console.WriteLine($"Read execution time: {watch.Elapsed}"); + Console.WriteLine(); + } + } +} From 0da18ad3aa057b00b3f097dc159a5bca31f0929f Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 12 Jul 2022 16:27:52 -0300 Subject: [PATCH 103/143] Add loop unroll benchmark. --- perf/MicroBenchmarks/LoopUnrollBenchmarks.cs | 50 ++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 perf/MicroBenchmarks/LoopUnrollBenchmarks.cs diff --git a/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs b/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs new file mode 100644 index 0000000..d3764b5 --- /dev/null +++ b/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs @@ -0,0 +1,50 @@ +using BenchmarkDotNet.Attributes; +using System; + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class LoopUnrollBenchmarks + { + [Benchmark] + public void NormalLoop() + { + var numValuesRead = 0; + var numByteValuesRead = 1000; + Span outputValues = stackalloc bool[numByteValuesRead * 8]; + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + var decodedByte = 0xff; + + for (int bitIdx = 7; bitIdx >= 0; bitIdx--) + { + outputValues[numValuesRead++] = (decodedByte & 1 << bitIdx) != 0; + } + } + } + + [Benchmark] + public void UnrolledLoop() + { + var numValuesRead = 0; + var numByteValuesRead = 1000; + Span outputValues = stackalloc bool[numByteValuesRead * 8]; + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + var decodedByte = 0xff; + + outputValues[numValuesRead++] = (decodedByte & 128) != 0; + outputValues[numValuesRead++] = (decodedByte & 64) != 0; + outputValues[numValuesRead++] = (decodedByte & 32) != 0; + outputValues[numValuesRead++] = (decodedByte & 16) != 0; + outputValues[numValuesRead++] = (decodedByte & 8) != 0; + outputValues[numValuesRead++] = (decodedByte & 4) != 0; + outputValues[numValuesRead++] = (decodedByte & 2) != 0; + outputValues[numValuesRead++] = (decodedByte & 1) != 0; + } + } + } +} From 6e41c3b5a2f360bb4cad110674de7595c8e32960 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 12 Jul 2022 17:34:06 -0300 Subject: [PATCH 104/143] Remove unnecessary byte range provider params. --- .../Infrastructure/HttpByteRangeProvider.cs | 8 ++++---- .../Infrastructure/IByteRangeProvider.cs | 4 ++-- .../Infrastructure/MemoryMappedFileRangeProvider.cs | 8 ++++---- src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs | 2 +- .../TestByteRangeProvider.cs | 10 +++++----- .../TestByteRangeProviderParallel.cs | 8 ++++---- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index ac66184..35a7654 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -39,9 +39,9 @@ public async Task GetRangeAsync(Memory buffer, long position) return await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); } - public int GetRangeFromEnd(Span buffer, long positionFromEnd) + public int GetRangeFromEnd(Span buffer) { - var request = CreateRangeRequest(null, positionFromEnd); + var request = CreateRangeRequest(null, buffer.Length); var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) @@ -50,9 +50,9 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return response.Content.ReadAsStream().Read(buffer); } - public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + public async Task GetRangeFromEndAsync(Memory buffer) { - var request = CreateRangeRequest(null, positionFromEnd); + var request = CreateRangeRequest(null, buffer.Length); var response = await _httpClient.SendAsync(request); if (!response.Content.Headers.ContentRange.Length.HasValue) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index ddf5671..5a6a101 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -7,7 +7,7 @@ public interface IByteRangeProvider : IDisposable { int GetRange(Span buffer, long position); Task GetRangeAsync(Memory buffer, long position); - int GetRangeFromEnd(Span buffer, long positionFromEnd); - Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd); + int GetRangeFromEnd(Span buffer); + Task GetRangeFromEndAsync(Memory buffer); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs index d7fd480..67a0c55 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -37,17 +37,17 @@ public async Task GetRangeAsync(Memory buffer, long position) } } - public int GetRangeFromEnd(Span buffer, long positionFromEnd) + public int GetRangeFromEnd(Span buffer) { - using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) + using (var stream = _memoryMappedFile.CreateViewStream(_length - buffer.Length, buffer.Length, MemoryMappedFileAccess.Read)) { return stream.Read(buffer); } } - public async Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + public async Task GetRangeFromEndAsync(Memory buffer) { - using (var stream = _memoryMappedFile.CreateViewStream(_length - positionFromEnd, buffer.Length, MemoryMappedFileAccess.Read)) + using (var stream = _memoryMappedFile.CreateViewStream(_length - buffer.Length, buffer.Length, MemoryMappedFileAccess.Read)) { return await stream.ReadAsync(buffer); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index e760cfa..182ea20 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -224,7 +224,7 @@ private SpanFileTail ReadFileTail() var fileTailBufferRaw = ArrayPool.Shared.Rent(lengthToReadFromEnd); var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(fileTailBuffer, lengthToReadFromEnd); + _byteRangeProvider.GetRangeFromEnd(fileTailBuffer); var success = SpanFileTail.TryRead(fileTailBuffer, out var fileTail, out var additionalBytesRequired); ArrayPool.Shared.Return(fileTailBufferRaw); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index 1cb77f0..a478508 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -53,15 +53,15 @@ public Task GetRangeAsync(Memory buffer, long position) throw new NotImplementedException(); } - public int GetRangeFromEnd(Span buffer, long positionFromEnd) + public int GetRangeFromEnd(Span buffer) { - var reader = GetOpenStreamForRange(true, positionFromEnd, buffer.Length); + var reader = GetOpenStreamForRange(true, buffer.Length, buffer.Length); if (!_readRequestedRangesFromFile) - reader.Seek(-positionFromEnd, SeekOrigin.End); + reader.Seek(-buffer.Length, SeekOrigin.End); _ = reader.Read(buffer); if (_writeRequestedRangesToFile) { - var filename = GetRangeFilename(true, positionFromEnd, buffer.Length); + var filename = GetRangeFilename(true, buffer.Length, buffer.Length); var path = Path.Combine(Path.GetTempPath(), filename); lock (_fileLock) { @@ -72,7 +72,7 @@ public int GetRangeFromEnd(Span buffer, long positionFromEnd) return buffer.Length; } - public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + public Task GetRangeFromEndAsync(Memory buffer) { throw new NotImplementedException(); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index 1996adb..9e17746 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -40,20 +40,20 @@ public Task GetRangeAsync(Memory buffer, long position) } } - public int GetRangeFromEnd(Span buffer, long positionFromEnd) + public int GetRangeFromEnd(Span buffer) { lock (_streamLock) { - _stream.Seek(-positionFromEnd, SeekOrigin.End); + _stream.Seek(-buffer.Length, SeekOrigin.End); return _stream.Read(buffer); } } - public Task GetRangeFromEndAsync(Memory buffer, long positionFromEnd) + public Task GetRangeFromEndAsync(Memory buffer) { lock (_streamLock) { - _stream.Seek(-positionFromEnd, SeekOrigin.End); + _stream.Seek(-buffer.Length, SeekOrigin.End); return DoReadAsync(buffer); } } From 8451012633478b5685d6d68ebae92fdfe755f5a5 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 12 Jul 2022 17:59:09 -0300 Subject: [PATCH 105/143] Add float and double buffers for null values as NaN. --- .../Buffers/DoubleColumnBuffer.cs | 4 +- .../DoubleWithNullAsNaNColumnBuffer.cs | 78 +++++++++++++++++++ .../Buffers/FloatColumnBuffer.cs | 4 +- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 78 +++++++++++++++++++ .../OrcReader.cs | 16 +++- .../WithNulls/DoubleColumn_Test.cs | 4 +- .../DoubleWithNullAsNaNColumnBuffer_Test.cs | 49 ++++++++++++ .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 4 +- .../FloatWithNullAsNaNColumnBuffer_Test.cs | 49 ++++++++++++ .../WithoutNulls/BinaryColumn_Test.cs | 12 +-- .../WithoutNulls/BooleanColumn_Test.cs | 12 +-- .../WithoutNulls/ByteColumn_Test.cs | 12 +-- .../WithoutNulls/DateColumn_Test.cs | 12 +-- .../DecimalAsDoubleColumn_Test.cs | 12 +-- .../WithoutNulls/DecimalColumn_Test.cs | 12 +-- .../WithoutNulls/DoubleColumn_Test.cs | 12 +-- .../DoubleWithNullAsNaNColumnBuffer_Test.cs | 45 +++++++++++ .../WithoutNulls/FloatColumn_Test.cs | 12 +-- .../FloatWithNullAsNaNColumnBuffer_Test.cs | 45 +++++++++++ .../WithoutNulls/IntegerColumn_Test.cs | 12 +-- .../WithoutNulls/StringColumn_Test.cs | 24 ++---- .../WithoutNulls/TimestampColumn_Test.cs | 12 +-- 22 files changed, 414 insertions(+), 106 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index a281a79..b70a56f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -4,7 +4,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { - public class DoubleColumnBuffer : BaseColumnBuffer + public class DoubleColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; private byte[] _valueBuffer; @@ -60,7 +60,7 @@ private void Fill(ColumnDataStreams streams) _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); } else - _values[_numValuesRead++] = double.NaN; + _values[_numValuesRead++] = null; } } else diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs new file mode 100644 index 0000000..b91d151 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -0,0 +1,78 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class DoubleWithNullAsNaNColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamValues; + private byte[] _valueBuffer; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + public DoubleWithNullAsNaNColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) + { + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _valueBuffer = new byte[8]; + + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + } + + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) + { + _ = await Task.WhenAll( + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) + ); + + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); + } + + private void Fill(ColumnDataStreams streams) + { + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + + if (presentValuesRead > 0) + { + for (int idx = 0; idx < presentValuesRead; idx++) + { + if (_presentStreamValues[idx]) + { + if (!dataReader.TryCopyTo(_valueBuffer)) + throw new InvalidOperationException("Read past end of stream"); + + _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); + } + else + _values[_numValuesRead++] = double.NaN; + } + } + else + { + while (dataReader.TryCopyTo(_valueBuffer)) + { + _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index ebda329..a4cf5b6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -4,7 +4,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { - public class FloatColumnBuffer : BaseColumnBuffer + public class FloatColumnBuffer : BaseColumnBuffer { private bool[] _presentStreamValues; private byte[] _valueBuffer; @@ -60,7 +60,7 @@ private void Fill(ColumnDataStreams streams) _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); } else - _values[_numValuesRead++] = float.NaN; + _values[_numValuesRead++] = null; } } else diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs new file mode 100644 index 0000000..a17e2be --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -0,0 +1,78 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReader.Buffers +{ + public class FloatWithNullAsNaNColumnBuffer : BaseColumnBuffer + { + private bool[] _presentStreamValues; + private byte[] _valueBuffer; + + private byte[] _dataStreamCompressedBuffer; + private byte[] _dataStreamDecompressedBuffer; + private int _dataStreamDecompressedBufferLength; + + private byte[] _presentStreamCompressedBuffer; + private byte[] _presentStreamDecompressedBuffer; + private int _presentStreamDecompressedBufferLength; + + public FloatWithNullAsNaNColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) + { + _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _valueBuffer = new byte[4]; + + _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + + _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; + _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + } + + public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) + { + _ = await Task.WhenAll( + GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), + GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) + ); + + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + + Fill(streams); + } + + private void Fill(ColumnDataStreams streams) + { + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + + if (presentValuesRead > 0) + { + for (int idx = 0; idx < presentValuesRead; idx++) + { + if (_presentStreamValues[idx]) + { + if (!dataReader.TryCopyTo(_valueBuffer)) + throw new InvalidOperationException("Read past end of stream"); + + _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); + } + else + _values[_numValuesRead++] = float.NaN; + } + } + else + { + while (dataReader.TryCopyTo(_valueBuffer)) + { + _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); + + if (_numValuesRead >= _values.Length) + break; + } + } + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 182ea20..31b0298 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -99,18 +99,30 @@ public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn colu return new DecimalColumnBuffer(_byteRangeProvider, orcFileProperties, column); } - public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) + public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) { var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new DoubleColumnBuffer(_byteRangeProvider, orcFileProperties, column); } - public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) + public BaseColumnBuffer CreateDoubleWithNullAsNaNColumnBuffer(OrcColumn column) + { + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new DoubleWithNullAsNaNColumnBuffer(_byteRangeProvider, orcFileProperties, column); + } + + public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) { var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); return new FloatColumnBuffer(_byteRangeProvider, orcFileProperties, column); } + public BaseColumnBuffer CreateFloatWithNullAsNaNColumnBuffer(OrcColumn column) + { + var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); + return new FloatWithNullAsNaNColumnBuffer(_byteRangeProvider, orcFileProperties, column); + } + public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) { var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index 9114661..1d3ea7a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -19,7 +19,7 @@ public void Double_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { if (ExpectedDoubles[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } @@ -40,7 +40,7 @@ public void Double_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (ExpectedDoubles[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs new file mode 100644 index 0000000..91f70f7 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls +{ + public class DoubleWithNullAsNaNColumnBuffer_Test : _BaseColumnTypeWithNulls + { + [Fact] + public void Double_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var columnBuffer = reader.CreateDoubleWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + + Assert.Equal(10_000, columnBuffer.Values.Length); + + for (int i = 0; i < columnBuffer.Values.Length; i++) + { + if (ExpectedDoubles[i] == null) + Assert.Equal(double.NaN, columnBuffer.Values[i]); + else + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); + } + } + + [Fact] + public void Double_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var columnBuffer = reader.CreateDoubleWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + + Assert.Equal(1, columnBuffer.Values.Length); + + for (int i = 10_000; i < columnBuffer.Values.Length; i++) + { + if (ExpectedDoubles[i] == null) + Assert.Equal(double.NaN, columnBuffer.Values[i]); + else + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index 67a8866..dd56303 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -19,7 +19,7 @@ public void Float_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { if (ExpectedFloats[i] == null) - Assert.Equal(float.NaN, columnBuffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } @@ -40,7 +40,7 @@ public void Float_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { if (ExpectedFloats[i] == null) - Assert.Equal(float.NaN, columnBuffer.Values[i]); + Assert.Null(columnBuffer.Values[i]); else Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs new file mode 100644 index 0000000..9942520 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls +{ + public class FloatWithNullAsNaNColumnBuffer_Test : _BaseColumnTypeWithNulls + { + [Fact] + public void Float_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var columnBuffer = reader.CreateFloatWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + + Assert.Equal(10_000, columnBuffer.Values.Length); + + for (int i = 0; i < columnBuffer.Values.Length; i++) + { + if (ExpectedFloats[i] == null) + Assert.Equal(float.NaN, columnBuffer.Values[i]); + else + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); + } + } + + [Fact] + public void Float_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var columnBuffer = reader.CreateFloatWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + + Assert.Equal(1, columnBuffer.Values.Length); + + for (int i = 10_000; i < columnBuffer.Values.Length; i++) + { + if (ExpectedFloats[i] == null) + Assert.Equal(float.NaN, columnBuffer.Values[i]); + else + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index 5d40a78..fb1bd7c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -19,10 +19,8 @@ public void Binary_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedBinaries[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } @@ -40,10 +38,8 @@ public void Binary_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedBinaries[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index fd341e2..019fd71 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -18,10 +18,8 @@ public void Boolean_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedBooleans[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void Boolean_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedBooleans[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 424cc2a..83ac669 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -18,10 +18,8 @@ public void Byte_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedBytes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void Byte_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedBytes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index d1cc553..a799e4d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -19,10 +19,8 @@ public void Date_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedDates[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -40,10 +38,8 @@ public void Date_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedDates[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 4df3569..a03a597 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -18,10 +18,8 @@ public void DecimalAsDouble_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedTimesAsDouble[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotEqual(double.NaN, columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void DecimalAsDouble_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedTimesAsDouble[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); + Assert.Equal(double.NaN, columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index ab81f03..7f38831 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -18,10 +18,8 @@ public void Decimal_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedTimes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void Decimal_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedTimes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index cf4f46a..5d9e112 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -18,10 +18,8 @@ public void Double_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedDoubles[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void Double_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedDoubles[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs new file mode 100644 index 0000000..7799fc1 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs @@ -0,0 +1,45 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class DoubleWithNullAsNaNColumnBuffer_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Double_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var columnBuffer = reader.CreateDoubleWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + + Assert.Equal(10_000, columnBuffer.Values.Length); + + for (int i = 0; i < columnBuffer.Values.Length; i++) + { + Assert.NotEqual(double.NaN, columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); + } + } + + [Fact] + public void Double_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("double"); + var columnBuffer = reader.CreateDoubleWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + + Assert.Equal(1, columnBuffer.Values.Length); + + for (int i = 10_000; i < columnBuffer.Values.Length; i++) + { + Assert.NotEqual(double.NaN, columnBuffer.Values[i]); + Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index 03b58ab..a737cc0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -18,10 +18,8 @@ public void Float_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedFloats[i] == null) - Assert.Equal(float.NaN, columnBuffer.Values[i]); - else - Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void Float_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedFloats[i] == null) - Assert.Equal(float.NaN, columnBuffer.Values[i]); - else - Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs new file mode 100644 index 0000000..7ef687c --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs @@ -0,0 +1,45 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class FloatWithNullAsNaNColumnBuffer_Test : _BaseColumnTypeWithoutNulls + { + [Fact] + public void Float_Column_10k_Values() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var columnBuffer = reader.CreateFloatWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); + + Assert.Equal(10_000, columnBuffer.Values.Length); + + for (int i = 0; i < columnBuffer.Values.Length; i++) + { + Assert.NotEqual(float.NaN, columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); + } + } + + [Fact] + public void Float_Column_1_Value() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("float"); + var columnBuffer = reader.CreateFloatWithNullAsNaNColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + + Assert.Equal(1, columnBuffer.Values.Length); + + for (int i = 10_000; i < columnBuffer.Values.Length; i++) + { + Assert.NotEqual(float.NaN, columnBuffer.Values[i]); + Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); + } + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index ab15a61..e34ba89 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -18,10 +18,8 @@ public void Integer_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedSizes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void Integer_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedSizes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index 809e210..407ef2b 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -18,10 +18,8 @@ public void String_DirectV2_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedSymbols[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); } } @@ -39,10 +37,8 @@ public void String_DirectV2_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedSymbols[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); } } @@ -60,10 +56,8 @@ public void String_DictionaryV2_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedSources[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); } } @@ -81,10 +75,8 @@ public void String_DictionaryV2_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedSources[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index 9322411..e95e17e 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -19,10 +19,8 @@ public void Timestamp_Column_10k_Values() for (int i = 0; i < columnBuffer.Values.Length; i++) { - if (ExpectedTimestamps[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); } } @@ -40,10 +38,8 @@ public void Timestamp_Column_1_Value() for (int i = 10_000; i < columnBuffer.Values.Length; i++) { - if (ExpectedTimestamps[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); + Assert.NotNull(columnBuffer.Values[i]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); } } } From 5d64fd9427e7f7ce3a72b3a6aeb8a1d545afe1e2 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 12 Jul 2022 18:51:49 -0300 Subject: [PATCH 106/143] Manually unroll bit comparison loop. --- .../Buffers/BaseColumnBuffer.cs | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 6d58daa..ed27174 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -73,6 +73,89 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan { numValuesRead = 0; + if (stream == null) + return; + + var numSkipped = 0; + var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); + var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; + var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + while (!bufferReader.Complete) + { + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); + + for (int idx = 0; idx < numByteValuesRead; idx++) + { + if (numSkipped++ < numOfBytesToSkip) + continue; + + var decodedByte = _boolStreamBuffer[idx]; + var isFinalByte = bufferReader.Complete && idx >= numByteValuesRead - 1; + + // Skip remaining bits. + if (numOfBytesToSkip % 8 != 0) + decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); + + if (isFinalByte && decodedByte == 0) + { + // Edge case where there is only one value for the row entry and that value is null + outputValues[numValuesRead++] = false; + return; + } + + outputValues[numValuesRead++] = (decodedByte & 128) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 7) + return; + + outputValues[numValuesRead++] = (decodedByte & 64) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 6) + return; + + outputValues[numValuesRead++] = (decodedByte & 32) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 5) + return; + + outputValues[numValuesRead++] = (decodedByte & 16) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 4) + return; + + outputValues[numValuesRead++] = (decodedByte & 8) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 3) + return; + + outputValues[numValuesRead++] = (decodedByte & 4) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 2) + return; + + outputValues[numValuesRead++] = (decodedByte & 2) != 0; + if (numValuesRead >= outputValues.Length) + return; + if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 1) + return; + + outputValues[numValuesRead++] = (decodedByte & 1) != 0; + if (numValuesRead >= outputValues.Length) + return; + } + } + } + + private protected void ReadBooleanStreamOld(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) + { + numValuesRead = 0; + if (stream == null) return; From 6708f5f49b47413ebb240658a0e8a76acdf0aa39 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 12 Jul 2022 19:44:25 -0300 Subject: [PATCH 107/143] Set RLE buffers based on used bytes. --- .../Buffers/BaseColumnBuffer.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index ed27174..183842a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -30,9 +30,13 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _column = column; _values = new TOutput[_orcFileProperties.MaxValuesToRead]; - _numericStreamBuffer = new long[1000]; - _byteStreamBuffer = new byte[1000]; - _boolStreamBuffer = new byte[1000]; + // RLEs will decode values from + // at most two bytes. We allocate + // an extra byte to guarantee space. + var runMaxValues = byte.MaxValue * 3; + _numericStreamBuffer = new long[runMaxValues]; + _byteStreamBuffer = new byte[runMaxValues]; + _boolStreamBuffer = new byte[runMaxValues]; } public OrcColumn Column => _column; From 13d6c6f12b9fcfaba2938d08e043f75c1bb3191f Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 19 Jul 2022 23:08:55 -0300 Subject: [PATCH 108/143] Remove read-only need in BufferReader struct. --- perf/MicroBenchmarks/BufferReaderBenchmarks.cs | 12 ++++-------- .../BufferReader.cs | 15 +++++---------- .../Buffers/DoubleColumnBuffer.cs | 4 ++-- .../Buffers/DoubleWithNullAsNaNColumnBuffer.cs | 4 ++-- .../Buffers/FloatColumnBuffer.cs | 4 ++-- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 4 ++-- .../Encodings/OptimizedByteRLE.cs | 2 +- .../Encodings/OptimizedIntegerRLE.cs | 18 ++++++++++-------- 8 files changed, 28 insertions(+), 35 deletions(-) diff --git a/perf/MicroBenchmarks/BufferReaderBenchmarks.cs b/perf/MicroBenchmarks/BufferReaderBenchmarks.cs index da8e450..f3bab25 100644 --- a/perf/MicroBenchmarks/BufferReaderBenchmarks.cs +++ b/perf/MicroBenchmarks/BufferReaderBenchmarks.cs @@ -1,6 +1,5 @@ using ApacheOrcDotNet.OptimizedReader; using BenchmarkDotNet.Attributes; -using System; using System.IO; namespace MicroBenchmarks @@ -9,6 +8,8 @@ namespace MicroBenchmarks [MemoryDiagnoser] public class BufferReaderBenchmarks { + private readonly byte[] _readBuffer1 = new byte[3]; + private readonly byte[] _readBuffer2 = new byte[3]; private readonly string _testFilePath = @"BenchmarkDotNet.SampleData/optimized_reader_test_file.orc"; private readonly byte[] _testBuffer; @@ -25,7 +26,6 @@ public BufferReaderBenchmarks() public void TryRead() { var reader = new BufferReader(_testBuffer); - while (reader.TryRead(out _)) { } } @@ -33,9 +33,7 @@ public void TryRead() public void TryCopyTo() { var reader = new BufferReader(_testBuffer); - - Span targetBuffer = stackalloc byte[3]; - while (reader.TryCopyTo(targetBuffer)) { } + while (reader.TryReadTo(_readBuffer1)) { } } [Benchmark] @@ -52,9 +50,7 @@ public void TryRead3Bytes() public void TryCopyTo3Bytes() { var reader = new BufferReader(_testBuffer); - - Span targetBuffer = stackalloc byte[3]; - _ = reader.TryCopyTo(targetBuffer); + _ = reader.TryReadTo(_readBuffer2); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs index e89c960..5c745a0 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferReader.cs @@ -3,10 +3,10 @@ namespace ApacheOrcDotNet.OptimizedReader { - public readonly ref struct BufferReader + public ref struct BufferReader { private readonly ReadOnlySpan _buffer; - private readonly int _position; + private int _position; public BufferReader(ReadOnlySpan buffer) { @@ -33,7 +33,7 @@ public bool TryRead(out byte value) } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public bool TryCopyTo(Span buffer) + public bool TryReadTo(Span buffer) { if (_position + buffer.Length > _buffer.Length) return false; @@ -45,12 +45,7 @@ public bool TryCopyTo(Span buffer) return true; } - private unsafe void Advance(int length) - { - fixed (int* ptr = &_position) - { - *ptr += length; - } - } + private void Advance(int length) + => _position += length; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index b70a56f..8a1b873 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -54,7 +54,7 @@ private void Fill(ColumnDataStreams streams) { if (_presentStreamValues[idx]) { - if (!dataReader.TryCopyTo(_valueBuffer)) + if (!dataReader.TryReadTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); @@ -65,7 +65,7 @@ private void Fill(ColumnDataStreams streams) } else { - while (dataReader.TryCopyTo(_valueBuffer)) + while (dataReader.TryReadTo(_valueBuffer)) { _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs index b91d151..f09fd33 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -54,7 +54,7 @@ private void Fill(ColumnDataStreams streams) { if (_presentStreamValues[idx]) { - if (!dataReader.TryCopyTo(_valueBuffer)) + if (!dataReader.TryReadTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); @@ -65,7 +65,7 @@ private void Fill(ColumnDataStreams streams) } else { - while (dataReader.TryCopyTo(_valueBuffer)) + while (dataReader.TryReadTo(_valueBuffer)) { _values[_numValuesRead++] = BitConverter.ToDouble(_valueBuffer); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index a4cf5b6..d2c308e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -54,7 +54,7 @@ private void Fill(ColumnDataStreams streams) { if (_presentStreamValues[idx]) { - if (!dataReader.TryCopyTo(_valueBuffer)) + if (!dataReader.TryReadTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); @@ -65,7 +65,7 @@ private void Fill(ColumnDataStreams streams) } else { - while (dataReader.TryCopyTo(_valueBuffer)) + while (dataReader.TryReadTo(_valueBuffer)) { _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs index a17e2be..9bd08b1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -54,7 +54,7 @@ private void Fill(ColumnDataStreams streams) { if (_presentStreamValues[idx]) { - if (!dataReader.TryCopyTo(_valueBuffer)) + if (!dataReader.TryReadTo(_valueBuffer)) throw new InvalidOperationException("Read past end of stream"); _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); @@ -65,7 +65,7 @@ private void Fill(ColumnDataStreams streams) } else { - while (dataReader.TryCopyTo(_valueBuffer)) + while (dataReader.TryReadTo(_valueBuffer)) { _values[_numValuesRead++] = BitConverter.ToSingle(_valueBuffer); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index eb13db3..25fbc49 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -25,7 +25,7 @@ public static int ReadValues(ref BufferReader reader, Span outputValues) { numReadValues = 0x100 - firstByte; - if (!reader.TryCopyTo(outputValues.Slice(0, numReadValues))) + if (!reader.TryReadTo(outputValues.Slice(0, numReadValues))) throw new InvalidOperationException("Read past end of stream"); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 9059664..9e7f040 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -79,19 +79,21 @@ private static void ReadPatchedBaseValues(int firstByte, bool isSigned, ref Buff var directBitWidth = encodedWidth.DecodeDirectWidth(); numReadValues = (firstByte & 0x1) << 8; - Span nextBytes = stackalloc byte[3]; - if (!reader.TryCopyTo(nextBytes)) + if (!reader.TryRead(out var nextByte)) throw new InvalidOperationException("Read past end of stream"); - - numReadValues |= nextBytes[0]; + numReadValues |= nextByte; numReadValues += 1; - var baseValueWidth = ((nextBytes[1] >> 5) & 0x7) + 1; - var encodedPatchWidth = nextBytes[1] & 0x1f; + if (!reader.TryRead(out nextByte)) + throw new InvalidOperationException("Read past end of stream"); + var baseValueWidth = ((nextByte >> 5) & 0x7) + 1; + var encodedPatchWidth = nextByte & 0x1f; var patchWidth = encodedPatchWidth.DecodeDirectWidth(); - var patchGapWidth = ((nextBytes[2] >> 5) & 0x7) + 1; - var patchListLength = nextBytes[2] & 0x1f; + if (!reader.TryRead(out nextByte)) + throw new InvalidOperationException("Read past end of stream"); + var patchGapWidth = ((nextByte >> 5) & 0x7) + 1; + var patchListLength = nextByte & 0x1f; long baseValue = ReadLongBE(ref reader, baseValueWidth); long msbMask = (1L << ((baseValueWidth * 8) - 1)); From 30bf336ebe2f700e963091fd067aed2c81fa1246 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 20 Jul 2022 20:08:51 -0300 Subject: [PATCH 109/143] Allow configuration of decompression buffers. --- .../Buffers/BaseColumnBuffer.cs | 22 +++-- .../Buffers/BinaryColumnBuffer.cs | 16 ++-- .../Buffers/BooleanColumnBuffer.cs | 12 +-- .../Buffers/ByteColumnBuffer.cs | 12 +-- .../Buffers/DateColumnBuffer.cs | 12 +-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 18 ++-- .../Buffers/DecimalColumnBuffer.cs | 18 ++-- .../Buffers/DoubleColumnBuffer.cs | 10 +-- .../DoubleWithNullAsNaNColumnBuffer.cs | 10 +-- .../Buffers/FloatColumnBuffer.cs | 10 +-- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 10 +-- .../Buffers/IntegerColumnBuffer.cs | 12 +-- .../Buffers/StringColumnBuffer.cs | 22 ++--- .../Buffers/TimestampColumnBuffer.cs | 18 ++-- .../Infrastructure/CompressedData.cs | 32 +++++-- .../CompressionBufferException.cs | 12 +++ .../Infrastructure/SpanFileTail.cs | 4 +- .../OrcFileProperties.cs | 22 +---- .../OrcReader.cs | 85 ++++++------------- 19 files changed, 168 insertions(+), 189 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 183842a..ff75b0d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -263,16 +263,20 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan private protected async Task GetByteRangeAsync(StreamDetail stream, Memory output) { - if (stream != null) - { - // If current and last ranges are equal, the previous data will be buffered - // and we can return only the length, without requesting the bytes again. + if (stream == null) + return 0; - if (stream.Range != _lastRange) - _lastRangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + // If current and last ranges are equal, the previous data will be buffered + // and we can return only the length, without requesting the bytes again. - _lastRange = stream.Range; - } + if (stream.Range == _lastRange) + return _lastRangeLength; + + if (stream.Range.Length >= output.Length) + throw new CompressionBufferException(nameof(output), output.Length, stream.Range.Length); + + _lastRangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + _lastRange = stream.Range; return _lastRangeLength; } @@ -282,7 +286,7 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 0ae7366..908e3a1 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -22,17 +22,17 @@ public class BinaryColumnBuffer : BaseColumnBuffer public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamBuffer = new bool[_orcFileProperties.MaxValuesToRead]; - _lengthStreamBuffer = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamBuffer = new bool[orcFileProperties.MaxValuesToRead]; + _lengthStreamBuffer = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _lengthStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _lengthStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _lengthStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _lengthStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 1d1f926..0208824 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -18,14 +18,14 @@ public class BooleanColumnBuffer : BaseColumnBuffer public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new bool[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 3e0a247..67e3c72 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -18,14 +18,14 @@ public class ByteColumnBuffer : BaseColumnBuffer public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new byte[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new byte[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 68365d7..c092f2e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -19,14 +19,14 @@ public class DateColumnBuffer : BaseColumnBuffer public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 781c79e..722f4ac 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -24,18 +24,18 @@ public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[orcFileProperties.MaxValuesToRead]; + _secondaryStreamValues = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _secondaryStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _secondaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _secondaryStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _secondaryStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 0ea959d..7ee9a54 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -24,18 +24,18 @@ public class DecimalColumnBuffer : BaseColumnBuffer public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[orcFileProperties.MaxValuesToRead]; + _secondaryStreamValues = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _secondaryStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _secondaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _secondaryStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _secondaryStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 8a1b873..c7fddbd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -19,14 +19,14 @@ public class DoubleColumnBuffer : BaseColumnBuffer public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[8]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs index f09fd33..6f8c0fa 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -19,14 +19,14 @@ public class DoubleWithNullAsNaNColumnBuffer : BaseColumnBuffer public DoubleWithNullAsNaNColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[8]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index d2c308e..de4fd8e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -19,14 +19,14 @@ public class FloatColumnBuffer : BaseColumnBuffer public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[4]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs index 9bd08b1..5d7b574 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -19,14 +19,14 @@ public class FloatWithNullAsNaNColumnBuffer : BaseColumnBuffer public FloatWithNullAsNaNColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; _valueBuffer = new byte[4]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index bba86b6..2405f80 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -18,14 +18,14 @@ public class IntegerColumnBuffer : BaseColumnBuffer public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 3287311..58fcdcf 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -32,21 +32,21 @@ public class StringColumnBuffer : BaseColumnBuffer public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _lengthStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[orcFileProperties.MaxValuesToRead]; + _lengthStreamValues = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _dictionaryStreanCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dictionaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dictionaryStreanCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dictionaryStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _lengthStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _lengthStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _lengthStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _lengthStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index a3c2b20..3da7abe 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -25,18 +25,18 @@ public class TimestampColumnBuffer : BaseColumnBuffer public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { - _presentStreamValues = new bool[_orcFileProperties.MaxValuesToRead]; - _dataStreamValues = new long[_orcFileProperties.MaxValuesToRead]; - _secondaryStreamValues = new long[_orcFileProperties.MaxValuesToRead]; + _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; + _dataStreamValues = new long[orcFileProperties.MaxValuesToRead]; + _secondaryStreamValues = new long[orcFileProperties.MaxValuesToRead]; - _dataStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _dataStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _dataStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _dataStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _presentStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _presentStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _presentStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _presentStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; - _secondaryStreamCompressedBuffer = new byte[_orcFileProperties.MaxCompressedBufferLength]; - _secondaryStreamDecompressedBuffer = new byte[_orcFileProperties.MaxDecompressedBufferLength]; + _secondaryStreamCompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; + _secondaryStreamDecompressedBuffer = new byte[orcFileProperties.ReusableBufferLength]; } public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index f40b072..975a2b8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -1,29 +1,45 @@ using ApacheOrcDotNet.Compression; using ApacheOrcDotNet.Protocol; using System; +using System.Buffers; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class CompressedData { - public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind) + public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind, ulong decompressionBufferLength) { if (inputBuffer.IsEmpty) return 0; int inputPosition = 0; int outputPosition = 0; - while (inputPosition < inputBuffer.Length) + var decompressionBuffer = ArrayPool.Shared.Rent(checked((int)decompressionBufferLength)); + + try { - var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + while (inputPosition < inputBuffer.Length) + { + var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + + var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length + ? inputBuffer.Slice(inputPosition) + : inputBuffer.Slice(inputPosition, compressedChunkLength); + + var numDecompressBytes = OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, decompressionBuffer.AsSpan()); - var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length - ? inputBuffer.Slice(inputPosition) - : inputBuffer.Slice(inputPosition, compressedChunkLength); + if (outputPosition + numDecompressBytes >= outputBuffer.Length) + throw new CompressionBufferException(nameof(outputBuffer), outputBuffer.Length, outputPosition + numDecompressBytes); - outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer.Slice(outputPosition)); + decompressionBuffer.AsSpan().Slice(0, numDecompressBytes).CopyTo(outputBuffer.Slice(outputPosition)); - inputPosition += compressedChunkLength; + outputPosition += numDecompressBytes; + inputPosition += compressedChunkLength; + } + } + finally + { + ArrayPool.Shared.Return(decompressionBuffer); } return outputPosition; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs new file mode 100644 index 0000000..83712e8 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs @@ -0,0 +1,12 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public class CompressionBufferException : ArgumentException + { + public CompressionBufferException(string parameterName, long bufferCurrentLength, long bufferRequiredLength) + : base($"Buffer too small. Current length is '{bufferCurrentLength}' bytes, but '{bufferRequiredLength}' bytes are required. Please increase the length in '{nameof(OrcReaderConfiguration)}.{nameof(OrcReaderConfiguration.DecompressionBufferLength)}'.", parameterName) + { + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index 659680a..9d4cd29 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -57,10 +57,10 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, try { - var decompressedFooterSize = CompressedData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression); + var decompressedFooterSize = CompressedData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression, postScript.CompressionBlockSize); var footer = Serializer.Deserialize(decompressedFooterBufferSpan.Slice(0, decompressedFooterSize)); - var decompressedMetadataSize = CompressedData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression); + var decompressedMetadataSize = CompressedData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression, postScript.CompressionBlockSize); var metadata = Serializer.Deserialize(decompressedMetadataBufferSpan.Slice(0, decompressedMetadataSize)); fileTail = new SpanFileTail diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index 04e6521..5d0dcae 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -5,27 +5,12 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcFileProperties { - public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int maxCompressedBufferLength = 0, int maxDecompressedBufferLength = 0) + public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int reusableBufferLength) { CompressionKind = compressionKind; CompressionBlockSize = compressionBlockSize; MaxValuesToRead = maxValuesToRead; - - // When requesting ranges to be decompressed, - // for some edge cases, we may need to load up to two chunks of data - // (to account for blocks that had data saved into the next row group) - if (maxCompressedBufferLength <= 0) - maxCompressedBufferLength = compressionBlockSize * 2; - - // When decompressing data, we only know the total size - // after the data is decopressed. To guarantee we will not - // run out of space during this process, we allocate a 25 Mb buffer for that. - // This is an arbirary number based on the maximum size decompressed using production data (~10Mb). - if (maxDecompressedBufferLength <= 0) - maxDecompressedBufferLength = 25 * 1024 * 1024; - - MaxCompressedBufferLength = maxCompressedBufferLength; - MaxDecompressedBufferLength = maxDecompressedBufferLength; + ReusableBufferLength = reusableBufferLength; } public static DateTime OrcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); @@ -35,7 +20,6 @@ public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSi public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } public int MaxValuesToRead { get; } - public int MaxCompressedBufferLength { get; } - public int MaxDecompressedBufferLength { get; } + public int ReusableBufferLength { get; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 31b0298..8735903 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -15,6 +15,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcReaderConfiguration { + public int DecompressionBufferLength { get; set; } = 25 * 1024 * 1024; public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } @@ -27,9 +28,7 @@ public sealed class OrcReader private readonly ConcurrentDictionary<(int columnId, int stripeId), List> _columnStreams = new(); private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); private readonly Dictionary _protoColumns = new(); - private readonly CompressionKind _compressionKind; - private readonly int _compressionBlockSize; - private readonly int _maxValuesToRead; + private readonly OrcFileProperties _orcFileProperties; public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { @@ -47,13 +46,16 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa return (subType, name, subTypeKind); }).ToDictionary(x => x.name.ToLower(), x => x); - _compressionKind = _fileTail.PostScript.Compression; - _compressionBlockSize = checked((int)_fileTail.PostScript.CompressionBlockSize); - _maxValuesToRead = checked((int)_fileTail.Footer.RowIndexStride); + _orcFileProperties = new OrcFileProperties( + _fileTail.PostScript.Compression, + checked((int)_fileTail.PostScript.CompressionBlockSize), + checked((int)_fileTail.Footer.RowIndexStride), + _configuration.DecompressionBufferLength + ); } public int NumValuesLoaded { get; set; } - public int MaxValuesPerRowGroup => _maxValuesToRead; + public int MaxValuesPerRowGroup => _orcFileProperties.MaxValuesToRead; public OrcColumn GetColumn(string columnName) { @@ -64,82 +66,43 @@ public OrcColumn GetColumn(string columnName) } public BaseColumnBuffer CreateBinaryColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new BinaryColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new BinaryColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateBooleanColumnReader(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new BooleanColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new BooleanColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateByteColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new ByteColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new ByteColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateDateColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DateColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new DateColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateDecimalColumnBufferAsDouble(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalAsDoubleColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new DecimalAsDoubleColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateDecimalColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DecimalColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new DecimalColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateDoubleColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DoubleColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new DoubleColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateDoubleWithNullAsNaNColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new DoubleWithNullAsNaNColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new DoubleWithNullAsNaNColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateFloatColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new FloatColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new FloatColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateFloatWithNullAsNaNColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new FloatWithNullAsNaNColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new FloatWithNullAsNaNColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateIntegerColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new IntegerColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new IntegerColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new StringColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new StringColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) - { - var orcFileProperties = new OrcFileProperties(_compressionKind, _compressionBlockSize, _maxValuesToRead); - return new TimestampColumnBuffer(_byteRangeProvider, orcFileProperties, column); - } + => new TimestampColumnBuffer(_byteRangeProvider, _orcFileProperties, column); public IEnumerable FilterStripes(OrcColumn column, FilterValues filterValues) => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, filterValues); @@ -216,7 +179,7 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) { _ = _byteRangeProvider.GetRange(compressedBufferSpan, rowIndexStream.FileOffset); - var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); + var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression, _fileTail.PostScript.CompressionBlockSize); return Serializer.Deserialize(decompressedBufferSpan.Slice(0, decompressedBufferLength)); } @@ -265,7 +228,7 @@ private IEnumerable GetStripeStreams(int stripeId) { _ = _byteRangeProvider.GetRange(compressedBufferSpan, stripeFooterStart); - var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression); + var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression, _fileTail.PostScript.CompressionBlockSize); var streams = SpanStripeFooter.ReadStreamDetails(decompressedBufferSpan.Slice(0, decompressedBufferLength), (long)stripe.Offset); From 278d66b13f66828ee00bb020a30c3b039f4cb460 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 25 Jul 2022 23:36:01 -0300 Subject: [PATCH 110/143] Add decompression buffers unit tests. --- .../Buffers/BaseColumnBuffer.cs | 8 +-- .../ColumnTypes/_Buffers_Test.cs | 55 +++++++++++++++++++ 2 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index ff75b0d..c97d38e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -261,7 +261,7 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan } } - private protected async Task GetByteRangeAsync(StreamDetail stream, Memory output) + private protected async Task GetByteRangeAsync(StreamDetail stream, Memory outputBuffer) { if (stream == null) return 0; @@ -272,10 +272,10 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory< if (stream.Range == _lastRange) return _lastRangeLength; - if (stream.Range.Length >= output.Length) - throw new CompressionBufferException(nameof(output), output.Length, stream.Range.Length); + if (stream.Range.Length >= outputBuffer.Length) + throw new CompressionBufferException(nameof(outputBuffer), outputBuffer.Length, stream.Range.Length); - _lastRangeLength = await _byteRangeProvider.GetRangeAsync(output.Slice(0, stream.Range.Length), stream.Range.Offset); + _lastRangeLength = await _byteRangeProvider.GetRangeAsync(outputBuffer.Slice(0, stream.Range.Length), stream.Range.Offset); _lastRange = stream.Range; return _lastRangeLength; diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs new file mode 100644 index 0000000..2f2d9f9 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs @@ -0,0 +1,55 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Threading.Tasks; +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes +{ + public class _Buffers_Test : _BaseColumnTypeWithNulls + { + [Fact] + public async Task Small_ByteRange_Buffer_Will_Throw() + { + // Maximum byte range requested by the binary column is 22191 bytes. + var config = new OrcReaderConfiguration() { DecompressionBufferLength = 1024 }; + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + + try + { + await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer); + } + catch (Exception ex) + { + Assert.True(ex is CompressionBufferException); + Assert.Contains("22191", ex.Message); + Assert.Contains("1024", ex.Message); + } + } + + [Fact] + public async Task Small_Decompress_Buffer_Will_Throw() + { + // Maximum decompressed length required by the binary column is 68776 bytes. + var config = new OrcReaderConfiguration() { DecompressionBufferLength = 32768 }; + var reader = new OrcReader(config, _byteRangeProvider); + + var column = reader.GetColumn("binary"); + var columnBuffer = reader.CreateBinaryColumnBuffer(column); + + try + { + await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer); + } + catch (Exception ex) + { + Assert.True(ex is CompressionBufferException); + Assert.Contains(nameof(CompressedData.Decompress), ex.Message); + Assert.Contains("68776", ex.Message); + Assert.Contains("32768", ex.Message); + } + } + } +} From 5cfb2393434a950fd3cef5081fd20dde32f6f1d5 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 25 Jul 2022 23:38:15 -0300 Subject: [PATCH 111/143] Update loop unroll benchmarks. --- perf/MicroBenchmarks/LoopUnrollBenchmarks.cs | 23 ++++++++++++-------- perf/MicroBenchmarks/Program.cs | 10 +++++++-- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs b/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs index d3764b5..f430758 100644 --- a/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs +++ b/perf/MicroBenchmarks/LoopUnrollBenchmarks.cs @@ -28,22 +28,27 @@ public void NormalLoop() [Benchmark] public void UnrolledLoop() { + var decodedByte = 0xff; var numValuesRead = 0; var numByteValuesRead = 1000; Span outputValues = stackalloc bool[numByteValuesRead * 8]; for (int idx = 0; idx < numByteValuesRead; idx++) { - var decodedByte = 0xff; + outputValues = outputValues.Slice(8); + if (outputValues.Length < 8) + break; + + outputValues[0] = (decodedByte & 128) != 0; + outputValues[1] = (decodedByte & 64) != 0; + outputValues[2] = (decodedByte & 32) != 0; + outputValues[3] = (decodedByte & 16) != 0; + outputValues[4] = (decodedByte & 8) != 0; + outputValues[5] = (decodedByte & 4) != 0; + outputValues[6] = (decodedByte & 2) != 0; + outputValues[7] = (decodedByte & 1) != 0; - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - outputValues[numValuesRead++] = (decodedByte & 1) != 0; + numValuesRead += 8; } } } diff --git a/perf/MicroBenchmarks/Program.cs b/perf/MicroBenchmarks/Program.cs index 0ede5b9..fb0a9b9 100644 --- a/perf/MicroBenchmarks/Program.cs +++ b/perf/MicroBenchmarks/Program.cs @@ -1,4 +1,6 @@ -using BenchmarkDotNet.Running; +using BenchmarkDotNet.Configs; +using BenchmarkDotNet.Running; +using System.Diagnostics; namespace MicroBenchmarks { @@ -6,7 +8,11 @@ internal class Program { static void Main(string[] args) { - BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args); + IConfig config = Debugger.IsAttached + ? new DebugInProcessConfig() + : DefaultConfig.Instance; + + BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args, config); } } } From 51478c8fa63ca62e606515a8f42e773c060567c9 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 25 Jul 2022 23:43:41 -0300 Subject: [PATCH 112/143] Remove unnecessary old code. --- .../Buffers/BaseColumnBuffer.cs | 51 ------------------- 1 file changed, 51 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index c97d38e..ee4374c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -156,57 +156,6 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan } } - private protected void ReadBooleanStreamOld(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) - { - numValuesRead = 0; - - if (stream == null) - return; - - var numSkipped = 0; - var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); - var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; - var numOfBytesToSkip = numOfTotalBitsToSkip / 8; - while (!bufferReader.Complete) - { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); - - for (int idx = 0; idx < numByteValuesRead; idx++) - { - if (numSkipped++ < numOfBytesToSkip) - continue; - - var decodedByte = _boolStreamBuffer[idx]; - var isFinalByte = bufferReader.Complete && idx >= numByteValuesRead - 1; - - // Skip remaining bits. - if (numOfBytesToSkip % 8 != 0) - decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); - - if (isFinalByte && decodedByte == 0) - { - // Edge case where there is only one value for the row entry and that value is null - outputValues[numValuesRead++] = false; - return; - } - - for (int bitIdx = 7; bitIdx >= 0; bitIdx--) - { - outputValues[numValuesRead++] = (decodedByte & 1 << bitIdx) != 0; - - if (numValuesRead >= outputValues.Length) - return; - - // If we are processing the very last byte and all bits after the current - // iteration are unset, we can discard those as they are not being used. - // This is the opposite edge case from the above. Where we have only a few bits set. - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == bitIdx) - return; - } - } - } - } - private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan buffer, int length, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; From a74d193cfcae0b21cbc376407bfea5a30f17dfb2 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 00:03:56 -0300 Subject: [PATCH 113/143] Simplify unit tests. Minor changes. --- .../Buffers/BaseColumnBuffer.cs | 6 ++-- .../ColumnTypes/_Buffers_Test.cs | 36 ++++++++----------- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index ee4374c..d6481ec 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -195,15 +195,15 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan while (!bufferReader.Complete) { - var bigInt = ReadVarInt(ref bufferReader); + var varInt = ReadVarInt(ref bufferReader); - if (!bigInt.HasValue) + if (!varInt.HasValue) return; if (numSkipped++ < stream.Positions.ValuesToSkip) continue; - outputValues[numValuesRead++] = bigInt.Value; + outputValues[numValuesRead++] = varInt.Value; if (numValuesRead >= outputValues.Length) return; diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs index 2f2d9f9..7f177d6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs @@ -1,5 +1,4 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using System; using System.Threading.Tasks; using Xunit; @@ -17,16 +16,13 @@ public async Task Small_ByteRange_Buffer_Will_Throw() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); - try - { - await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer); - } - catch (Exception ex) - { - Assert.True(ex is CompressionBufferException); - Assert.Contains("22191", ex.Message); - Assert.Contains("1024", ex.Message); - } + var exception = await Assert.ThrowsAsync(async () => + await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) + ); + + Assert.True(exception is CompressionBufferException); + Assert.Contains("22191", exception.Message); + Assert.Contains("1024", exception.Message); } [Fact] @@ -39,17 +35,13 @@ public async Task Small_Decompress_Buffer_Will_Throw() var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); - try - { - await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer); - } - catch (Exception ex) - { - Assert.True(ex is CompressionBufferException); - Assert.Contains(nameof(CompressedData.Decompress), ex.Message); - Assert.Contains("68776", ex.Message); - Assert.Contains("32768", ex.Message); - } + var exception = await Assert.ThrowsAsync(async () => + await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) + ); + + Assert.True(exception is CompressionBufferException); + Assert.Contains("68776", exception.Message); + Assert.Contains("32768", exception.Message); } } } From 04a07c7de244a48ad6293390d505a1b8ac33aa05 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 11:32:10 -0300 Subject: [PATCH 114/143] Update statistics extension methods. --- .../Infrastructure/StatsExtensions.cs | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs index 2d006e4..3e2e986 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/StatsExtensions.cs @@ -10,7 +10,7 @@ public static class StatsExtensions public static bool InRange(this ColumnStatistics stats, OrcColumn column, string min, string max) { if (string.IsNullOrEmpty(min) && string.IsNullOrEmpty(max)) - throw new InvalidOperationException($"Lookup parameters for column '{column.Name}' cannot be null."); + throw new ArgumentException($"Lookup parameters for column '{column.Name}' cannot be null."); return stats.InRange(column.Type, min, max); } @@ -18,7 +18,7 @@ public static bool InRange(this ColumnStatistics stats, OrcColumn column, string public static bool InRange(this ColumnStatistics stats, ColumnTypeKind columnType, string min, string max) { if (min == null || max == null) - throw new InvalidOperationException($"Lookup parameters cannot be null."); + throw new ArgumentException($"Lookup parameters cannot be null."); switch (columnType) { @@ -79,22 +79,34 @@ public static bool InRangeBoolean(this ColumnStatistics stats, bool min, bool ma } public static bool InRangeNumeric(this ColumnStatistics stats, long min, long max) - => min <= stats.IntStatistics.Maximum && max >= stats.IntStatistics.Minimum; + { + return min <= stats.IntStatistics.Maximum && max >= stats.IntStatistics.Minimum; + } public static bool InRangeDouble(this ColumnStatistics stats, double min, double max) - => min <= stats.DoubleStatistics.Maximum && max >= stats.DoubleStatistics.Minimum; + { + return min <= stats.DoubleStatistics.Maximum && max >= stats.DoubleStatistics.Minimum; + } public static bool InRangeString(this ColumnStatistics stats, string min, string max) - => min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; + { + return min.CompareTo(stats.StringStatistics.Maximum) <= 0 && max.CompareTo(stats.StringStatistics.Minimum) >= 0; + } public static bool InRangeDecimal(this ColumnStatistics stats, decimal min, decimal max) - => min <= decimal.Parse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture) - && max >= decimal.Parse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture); + { + return min <= decimal.Parse(stats.DecimalStatistics.Maximum, NumberStyles.Number, CultureInfo.InvariantCulture) + && max >= decimal.Parse(stats.DecimalStatistics.Minimum, NumberStyles.Number, CultureInfo.InvariantCulture); + } public static bool InRangeDate(this ColumnStatistics stats, int min, int max) - => min <= stats.DateStatistics.Maximum && max >= stats.DateStatistics.Minimum; + { + return min <= stats.DateStatistics.Maximum && max >= stats.DateStatistics.Minimum; + } public static bool InRangeTimespan(this ColumnStatistics stats, long min, long max) - => min <= stats.TimestampStatistics.MaximumUtc && max >= stats.TimestampStatistics.MinimumUtc; + { + return min <= stats.TimestampStatistics.MaximumUtc && max >= stats.TimestampStatistics.MinimumUtc; + } } } From f1fc8e7b64382906b755c8b419c5a07a2abe5b81 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 12:09:40 -0300 Subject: [PATCH 115/143] Move constants to specialized file. --- .../Buffers/DateColumnBuffer.cs | 4 ++-- .../Buffers/TimestampColumnBuffer.cs | 4 ++-- src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs | 8 ++++---- .../OrcFileProperties.cs | 4 ---- src/ApacheOrcDotNet.OptimizedReader/_Constants.cs | 11 +++++++++++ 5 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/_Constants.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index c092f2e..4e25b20 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -53,7 +53,7 @@ private void Fill(ColumnDataStreams streams) for (int idx = 0; idx < presentValuesRead; idx++) { if (_presentStreamValues[idx]) - _values[_numValuesRead++] = OrcFileProperties.UnixEpochUtc.AddTicks(_dataStreamValues[dataIndex++] * TimeSpan.TicksPerDay); + _values[_numValuesRead++] = Constants.UnixEpochUtc.AddTicks(_dataStreamValues[dataIndex++] * TimeSpan.TicksPerDay); else _values[_numValuesRead++] = null; } @@ -61,7 +61,7 @@ private void Fill(ColumnDataStreams streams) else { for (int idx = 0; idx < dataValuesRead; idx++) - _values[_numValuesRead++] = OrcFileProperties.UnixEpochUtc.AddTicks(_dataStreamValues[idx] * TimeSpan.TicksPerDay); + _values[_numValuesRead++] = Constants.UnixEpochUtc.AddTicks(_dataStreamValues[idx] * TimeSpan.TicksPerDay); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 3da7abe..fa2c073 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -73,7 +73,7 @@ private void Fill(ColumnDataStreams streams) var seconds = _dataStreamValues[valueIndex]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[valueIndex]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _values[_numValuesRead++] = OrcFileProperties.OrcEpoch.AddTicks(totalTicks); + _values[_numValuesRead++] = Constants.OrcEpoch.AddTicks(totalTicks); valueIndex++; } else @@ -87,7 +87,7 @@ private void Fill(ColumnDataStreams streams) var seconds = _dataStreamValues[idx]; var nanosecondTicks = EncodedNanosToTicks(_secondaryStreamValues[idx]); var totalTicks = seconds * TimeSpan.TicksPerSecond + (seconds >= 0 ? nanosecondTicks : -nanosecondTicks); - _values[_numValuesRead++] = OrcFileProperties.OrcEpoch.AddTicks(totalTicks); + _values[_numValuesRead++] = Constants.OrcEpoch.AddTicks(totalTicks); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs index 8ab0848..1751594 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs @@ -27,16 +27,16 @@ public static FilterValues CreateFromString(string min, string max) public static FilterValues CreateFromDate(DateTime min, DateTime max) { - var minVal = (long)(min - OrcFileProperties.UnixEpochUnspecified).TotalDays; - var maxVal = (long)(max - OrcFileProperties.UnixEpochUnspecified).TotalDays; + var minVal = (long)(min - Constants.UnixEpochUnspecified).TotalDays; + var maxVal = (long)(max - Constants.UnixEpochUnspecified).TotalDays; return CreateFromInteger(minVal, maxVal); } public static FilterValues CreateFromTimestamp(DateTime min, DateTime max) { - var minVal = (min - OrcFileProperties.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; - var maxVal = (max - OrcFileProperties.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + var minVal = (min - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + var maxVal = (max - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; return CreateFromInteger(minVal, maxVal); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index 5d0dcae..cf7f43d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -13,10 +13,6 @@ public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSi ReusableBufferLength = reusableBufferLength; } - public static DateTime OrcEpoch = new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); - public static DateTime UnixEpochUtc = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - public static DateTime UnixEpochUnspecified = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); - public CompressionKind CompressionKind { get; } public int CompressionBlockSize { get; } public int MaxValuesToRead { get; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs new file mode 100644 index 0000000..8343167 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs @@ -0,0 +1,11 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public static class Constants + { + public static DateTime OrcEpoch = new(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); + public static DateTime UnixEpochUtc = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + public static DateTime UnixEpochUnspecified = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); + } +} From 899e945d60fc65511f42e22743b6d631e73fe0a4 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 13:29:16 -0300 Subject: [PATCH 116/143] Use configurable decompression buffers in tail reads. --- .../Infrastructure/SpanFileTail.cs | 10 +++---- .../OrcReader.cs | 29 ++++++++++++------- .../OptimizedORCApp.cs | 2 +- .../Program.cs | 4 +-- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index 9d4cd29..fdf0865 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -11,7 +11,7 @@ public sealed class SpanFileTail public Protocol.Footer Footer { get; private init; } public Protocol.Metadata Metadata { get; private init; } - public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, out int additionalBytesRequired) + public static bool TryRead(ReadOnlySpan buffer, int decompressionBufferLength, out SpanFileTail fileTail, out int additionalBytesRequired) { int accumulatedLength = 1; @@ -50,10 +50,10 @@ public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, var compressedFooterBuffer = buffer.Slice(footerStart, (int)postScript.FooterLength); var compressedMetadataBuffer = buffer.Slice(metadataStart, (int)postScript.MetadataLength); - var decompressedFooterBuffer = ArrayPool.Shared.Rent((int)postScript.FooterLength * 1032); - var decompressedMetadataBuffer = ArrayPool.Shared.Rent((int)postScript.MetadataLength * 1032); - var decompressedFooterBufferSpan = decompressedFooterBuffer.AsSpan().Slice(0, (int)postScript.FooterLength * 1032); - var decompressedMetadataBufferSpan = decompressedMetadataBuffer.AsSpan().Slice(0, (int)postScript.MetadataLength * 1032); + var decompressedFooterBuffer = ArrayPool.Shared.Rent(decompressionBufferLength); + var decompressedMetadataBuffer = ArrayPool.Shared.Rent(decompressionBufferLength); + var decompressedFooterBufferSpan = decompressedFooterBuffer.AsSpan().Slice(0, decompressionBufferLength); + var decompressedMetadataBufferSpan = decompressedMetadataBuffer.AsSpan().Slice(0, decompressionBufferLength); try { diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 8735903..76bb111 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -171,9 +171,9 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) ).Single(); var compressedBuffer = ArrayPool.Shared.Rent(rowIndexStream.Length); - var decompressedBuffer = ArrayPool.Shared.Rent(rowIndexStream.Length * 1032); + var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.DecompressionBufferLength); var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, rowIndexStream.Length); - var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, rowIndexStream.Length * 1032); + var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.DecompressionBufferLength); try { @@ -197,17 +197,24 @@ private SpanFileTail ReadFileTail() while (true) { var fileTailBufferRaw = ArrayPool.Shared.Rent(lengthToReadFromEnd); - var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(fileTailBuffer); + try + { + var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - var success = SpanFileTail.TryRead(fileTailBuffer, out var fileTail, out var additionalBytesRequired); - ArrayPool.Shared.Return(fileTailBufferRaw); + _byteRangeProvider.GetRangeFromEnd(fileTailBuffer); - if (success) - return fileTail; + var success = SpanFileTail.TryRead(fileTailBuffer, _configuration.DecompressionBufferLength, out var fileTail, out var additionalBytesRequired); - lengthToReadFromEnd += additionalBytesRequired; + if (success) + return fileTail; + + lengthToReadFromEnd += additionalBytesRequired; + } + finally + { + ArrayPool.Shared.Return(fileTailBufferRaw); + } } } @@ -220,9 +227,9 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterLength = (int)stripe.FooterLength; var compressedBuffer = ArrayPool.Shared.Rent(stripeFooterLength); - var decompressedBuffer = ArrayPool.Shared.Rent(stripeFooterLength * 1032); + var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.DecompressionBufferLength); var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, stripeFooterLength); - var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, stripeFooterLength * 1032); + var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.DecompressionBufferLength); try { diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index f13efff..774d1ad 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -142,7 +142,7 @@ await Task.WhenAll( watch.Stop(); Console.WriteLine(); - Console.WriteLine($"Read execution time: {watch.Elapsed}"); + Console.WriteLine($"Read execution time: {watch.Elapsed.ToString("mm':'ss':'fff")}"); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 9665215..03e0845 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -69,12 +69,12 @@ static async Task Main(string[] args) //// Sample app 2 //// This requires a test file with a sorce,symbol,time,price and size fields. - //// (Or the test class bellow can be updated to use different fields) + //// (Or the test class below can be updated to use different fields) //(new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run(); stopWatch.Stop(); - Console.WriteLine($"Total execution time: {stopWatch.Elapsed}"); + Console.WriteLine($"Total execution time: {stopWatch.Elapsed.ToString("mm':'ss':'fff")}"); Console.WriteLine(); } } From 5fc8b41db5714535ad2bdb239f274ac001beef50 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 13:45:11 -0300 Subject: [PATCH 117/143] Reduce decompression buffer default length. --- .../Infrastructure/CompressedData.cs | 2 +- .../Infrastructure/SpanFileTail.cs | 4 ++-- src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index 975a2b8..da90eae 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -39,7 +39,7 @@ public static int Decompress(ReadOnlySpan inputBuffer, Span outputBu } finally { - ArrayPool.Shared.Return(decompressionBuffer); + ArrayPool.Shared.Return(decompressionBuffer, clearArray: false); } return outputPosition; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index fdf0865..3aafe91 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -72,8 +72,8 @@ public static bool TryRead(ReadOnlySpan buffer, int decompressionBufferLen } finally { - ArrayPool.Shared.Return(decompressedFooterBuffer); - ArrayPool.Shared.Return(decompressedMetadataBuffer); + ArrayPool.Shared.Return(decompressedFooterBuffer, clearArray: false); + ArrayPool.Shared.Return(decompressedMetadataBuffer, clearArray: false); } additionalBytesRequired = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 76bb111..964dba8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -15,7 +15,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcReaderConfiguration { - public int DecompressionBufferLength { get; set; } = 25 * 1024 * 1024; + public int DecompressionBufferLength { get; set; } = 15 * 1024 * 1024; public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } @@ -185,8 +185,8 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) } finally { - ArrayPool.Shared.Return(compressedBuffer); - ArrayPool.Shared.Return(decompressedBuffer); + ArrayPool.Shared.Return(compressedBuffer, clearArray: false); + ArrayPool.Shared.Return(decompressedBuffer, clearArray: false); } }); } @@ -213,7 +213,7 @@ private SpanFileTail ReadFileTail() } finally { - ArrayPool.Shared.Return(fileTailBufferRaw); + ArrayPool.Shared.Return(fileTailBufferRaw, clearArray: false); } } } @@ -243,8 +243,8 @@ private IEnumerable GetStripeStreams(int stripeId) } finally { - ArrayPool.Shared.Return(compressedBuffer); - ArrayPool.Shared.Return(decompressedBuffer); + ArrayPool.Shared.Return(compressedBuffer, clearArray: false); + ArrayPool.Shared.Return(decompressedBuffer, clearArray: false); } } From 37f65fc88f04921da81ecd6a31dfa979870ad503 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 14:33:13 -0300 Subject: [PATCH 118/143] General code improvements and cleanup. --- perf/MicroBenchmarks/NullableBenchmarks.cs | 14 +++++++------- .../Buffers/BaseColumnBuffer.cs | 8 ++++---- .../FilterValues.cs | 8 ++++---- .../Infrastructure/HttpByteRangeProvider.cs | 4 +++- .../{_Buffers_Test.cs => Buffers_Test.cs} | 6 +++--- 5 files changed, 21 insertions(+), 19 deletions(-) rename test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/{_Buffers_Test.cs => Buffers_Test.cs} (90%) diff --git a/perf/MicroBenchmarks/NullableBenchmarks.cs b/perf/MicroBenchmarks/NullableBenchmarks.cs index 1507608..f1b0735 100644 --- a/perf/MicroBenchmarks/NullableBenchmarks.cs +++ b/perf/MicroBenchmarks/NullableBenchmarks.cs @@ -7,12 +7,12 @@ namespace MicroBenchmarks public class NullableBenchmarks { private const int size = 10_000; - private int[] _ints = new int[size]; - private int?[] _nullInts = new int?[size]; - private decimal[] _decimals = new decimal[size]; - private decimal?[] _nullDecimals = new decimal?[size]; - private double[] _doubles = new double[size]; - private double?[] _nullDoubles = new double?[size]; + private readonly int[] _ints = new int[size]; + private readonly int?[] _nullInts = new int?[size]; + private readonly decimal[] _decimals = new decimal[size]; + private readonly decimal?[] _nullDecimals = new decimal?[size]; + private readonly double[] _doubles = new double[size]; + private readonly double?[] _nullDoubles = new double?[size]; [Benchmark] public int IntAllocation() @@ -80,7 +80,7 @@ public double DoubleAllocation() return temp; } - private T Get(T input, int length) + private static T Get(T input, int length) { // Attempt to prevent compiler optimization. if (length < 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index d6481ec..5e5a0df 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -241,17 +241,17 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan /// Applies the offset position into the decompressed data. /// - private protected ReadOnlySpan GetDataStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) + private static protected ReadOnlySpan GetDataStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) { var rowEntryLength = decompressedBufferLength - stream.Positions.RowEntryOffset; return decompressedBuffer.Slice(stream.Positions.RowEntryOffset, rowEntryLength); } - private protected double VarIntToDouble(long numerator, long scale) + private static protected double VarIntToDouble(long numerator, long scale) => (double)VarIntToDecimal(numerator, scale); - private protected decimal VarIntToDecimal(long numerator, long scale) + private static protected decimal VarIntToDecimal(long numerator, long scale) { if (scale < 0 || scale > 255) throw new OverflowException("Scale must be positive number"); @@ -262,7 +262,7 @@ private protected decimal VarIntToDecimal(long numerator, long scale) return decNumerator * scaler; } - private long? ReadVarInt(ref BufferReader stream) + private static long? ReadVarInt(ref BufferReader stream) { long value = 0; long currentLong = 0; diff --git a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs index 1751594..c6afcee 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs @@ -5,7 +5,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class FilterValues { - public static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; + private static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; private FilterValues(string min, string max) { @@ -17,13 +17,13 @@ private FilterValues(string min, string max) public string Max { get; } public static FilterValues CreateFromInteger(long min, long max) - => new FilterValues(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); + => new(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); public static FilterValues CreateFromDecimal(decimal min, decimal max) - => new FilterValues(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); + => new(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); public static FilterValues CreateFromString(string min, string max) - => new FilterValues(min, max); + => new(min, max); public static FilterValues CreateFromDate(DateTime min, DateTime max) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index 35a7654..81e023b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -36,7 +36,9 @@ public async Task GetRangeAsync(Memory buffer, long position) if (!response.Content.Headers.ContentRange.Length.HasValue) throw new InvalidOperationException("Range response must include a length."); - return await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); + var httpStream = await response.Content.ReadAsStreamAsync(); + + return await httpStream.ReadAsync(buffer); } public int GetRangeFromEnd(Span buffer) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs similarity index 90% rename from test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs rename to test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs index 7f177d6..44286d1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/_Buffers_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs @@ -4,7 +4,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes { - public class _Buffers_Test : _BaseColumnTypeWithNulls + public class Buffers_Test : _BaseColumnTypeWithNulls { [Fact] public async Task Small_ByteRange_Buffer_Will_Throw() @@ -20,7 +20,7 @@ public async Task Small_ByteRange_Buffer_Will_Throw() await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) ); - Assert.True(exception is CompressionBufferException); + Assert.NotNull(exception); Assert.Contains("22191", exception.Message); Assert.Contains("1024", exception.Message); } @@ -39,7 +39,7 @@ public async Task Small_Decompress_Buffer_Will_Throw() await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) ); - Assert.True(exception is CompressionBufferException); + Assert.NotNull(exception); Assert.Contains("68776", exception.Message); Assert.Contains("32768", exception.Message); } From e75bdccf20417cadf819bbc8492ecb49eefd9105 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 17:01:50 -0300 Subject: [PATCH 119/143] Simplify filling buffers with byte range providers. --- .../Buffers/BaseColumnBuffer.cs | 4 ++- .../BufferNotFilledException.cs | 11 +++++++ .../Infrastructure/HttpByteRangeProvider.cs | 32 +++++++++++------- .../Infrastructure/IByteRangeProvider.cs | 8 ++--- .../InvalidRangeResponseException.cs | 11 +++++++ .../MemoryMappedFileRangeProvider.cs | 24 +++++++++----- .../OrcReader.cs | 6 ++-- .../TestByteRangeProvider.cs | 24 +++++++++----- .../TestByteRangeProviderParallel.cs | 33 ++++++++----------- 9 files changed, 98 insertions(+), 55 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/BufferNotFilledException.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/InvalidRangeResponseException.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 5e5a0df..4dcf9ff 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -224,7 +224,9 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory< if (stream.Range.Length >= outputBuffer.Length) throw new CompressionBufferException(nameof(outputBuffer), outputBuffer.Length, stream.Range.Length); - _lastRangeLength = await _byteRangeProvider.GetRangeAsync(outputBuffer.Slice(0, stream.Range.Length), stream.Range.Offset); + await _byteRangeProvider.FillBufferAsync(outputBuffer.Slice(0, stream.Range.Length), stream.Range.Offset); + + _lastRangeLength = stream.Range.Length; _lastRange = stream.Range; return _lastRangeLength; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/BufferNotFilledException.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/BufferNotFilledException.cs new file mode 100644 index 0000000..f675b02 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/BufferNotFilledException.cs @@ -0,0 +1,11 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public class BufferNotFilledException : Exception + { + public BufferNotFilledException() : base("Insufficient data to fill the buffer.") + { + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index 81e023b..b02e0ae 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -17,50 +17,58 @@ internal HttpByteRangeProvider(string remoteLocation) public void Dispose() => _httpClient.Dispose(); - public int GetRange(Span buffer, long position) + public void FillBuffer(Span buffer, long position) { var request = CreateRangeRequest(position, position + buffer.Length); var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range response must include a length."); + throw new InvalidRangeResponseException(); - return response.Content.ReadAsStream().Read(buffer); + var bytesRead = response.Content.ReadAsStream().Read(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } - public async Task GetRangeAsync(Memory buffer, long position) + public async Task FillBufferAsync(Memory buffer, long position) { var request = CreateRangeRequest(position, position + buffer.Length); var response = await _httpClient.SendAsync(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range response must include a length."); + throw new InvalidRangeResponseException(); var httpStream = await response.Content.ReadAsStreamAsync(); - return await httpStream.ReadAsync(buffer); + var bytesRead = await httpStream.ReadAsync(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } - public int GetRangeFromEnd(Span buffer) + public void FillBufferFromEnd(Span buffer) { var request = CreateRangeRequest(null, buffer.Length); var response = _httpClient.Send(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range response must include a length."); + throw new InvalidRangeResponseException(); - return response.Content.ReadAsStream().Read(buffer); + var bytesRead = response.Content.ReadAsStream().Read(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } - public async Task GetRangeFromEndAsync(Memory buffer) + public async Task FillBufferFromEndAsync(Memory buffer) { var request = CreateRangeRequest(null, buffer.Length); var response = await _httpClient.SendAsync(request); if (!response.Content.Headers.ContentRange.Length.HasValue) - throw new InvalidOperationException("Range response must include a length."); + throw new InvalidRangeResponseException(); - return await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); + var bytesRead = await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } private HttpRequestMessage CreateRangeRequest(long? from, long? to) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index 5a6a101..f0f20b8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -5,9 +5,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProvider : IDisposable { - int GetRange(Span buffer, long position); - Task GetRangeAsync(Memory buffer, long position); - int GetRangeFromEnd(Span buffer); - Task GetRangeFromEndAsync(Memory buffer); + void FillBuffer(Span buffer, long position); + Task FillBufferAsync(Memory buffer, long position); + void FillBufferFromEnd(Span buffer); + Task FillBufferFromEndAsync(Memory buffer); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/InvalidRangeResponseException.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/InvalidRangeResponseException.cs new file mode 100644 index 0000000..b7c0449 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/InvalidRangeResponseException.cs @@ -0,0 +1,11 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReader.Infrastructure +{ + public class InvalidRangeResponseException : Exception + { + public InvalidRangeResponseException() : base("Range response must include a length.") + { + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs index 67a0c55..3b51292 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -21,35 +21,43 @@ public void Dispose() _memoryMappedFile.Dispose(); } - public int GetRange(Span buffer, long position) + public void FillBuffer(Span buffer, long position) { using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) { - return stream.Read(buffer); + var bytesRead = stream.Read(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } } - public async Task GetRangeAsync(Memory buffer, long position) + public async Task FillBufferAsync(Memory buffer, long position) { using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) { - return await stream.ReadAsync(buffer); + var bytesRead = await stream.ReadAsync(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } } - public int GetRangeFromEnd(Span buffer) + public void FillBufferFromEnd(Span buffer) { using (var stream = _memoryMappedFile.CreateViewStream(_length - buffer.Length, buffer.Length, MemoryMappedFileAccess.Read)) { - return stream.Read(buffer); + var bytesRead = stream.Read(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } } - public async Task GetRangeFromEndAsync(Memory buffer) + public async Task FillBufferFromEndAsync(Memory buffer) { using (var stream = _memoryMappedFile.CreateViewStream(_length - buffer.Length, buffer.Length, MemoryMappedFileAccess.Read)) { - return await stream.ReadAsync(buffer); + var bytesRead = await stream.ReadAsync(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 964dba8..7e61dc2 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -177,7 +177,7 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) try { - _ = _byteRangeProvider.GetRange(compressedBufferSpan, rowIndexStream.FileOffset); + _byteRangeProvider.FillBuffer(compressedBufferSpan, rowIndexStream.FileOffset); var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression, _fileTail.PostScript.CompressionBlockSize); @@ -202,7 +202,7 @@ private SpanFileTail ReadFileTail() { var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - _byteRangeProvider.GetRangeFromEnd(fileTailBuffer); + _byteRangeProvider.FillBufferFromEnd(fileTailBuffer); var success = SpanFileTail.TryRead(fileTailBuffer, _configuration.DecompressionBufferLength, out var fileTail, out var additionalBytesRequired); @@ -233,7 +233,7 @@ private IEnumerable GetStripeStreams(int stripeId) try { - _ = _byteRangeProvider.GetRange(compressedBufferSpan, stripeFooterStart); + _byteRangeProvider.FillBuffer(compressedBufferSpan, stripeFooterStart); var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression, _fileTail.PostScript.CompressionBlockSize); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index a478508..7dc1941 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -29,12 +29,17 @@ public void Dispose() file.Dispose(); } - public int GetRange(Span buffer, long position) + public void FillBuffer(Span buffer, long position) { var reader = GetOpenStreamForRange(false, position, buffer.Length); + if (!_readRequestedRangesFromFile) reader.Seek(position, SeekOrigin.Begin); - _ = reader.Read(buffer); + + var bytesRead = reader.Read(buffer); + if (bytesRead < buffer.Length) + throw new InvalidOperationException("Insufficient data to fill the buffer."); + if (_writeRequestedRangesToFile) { var filename = GetRangeFilename(false, position, buffer.Length); @@ -45,20 +50,24 @@ public int GetRange(Span buffer, long position) outputStream.Write(buffer); } } - return buffer.Length; } - public Task GetRangeAsync(Memory buffer, long position) + public Task FillBufferAsync(Memory buffer, long position) { throw new NotImplementedException(); } - public int GetRangeFromEnd(Span buffer) + public void FillBufferFromEnd(Span buffer) { var reader = GetOpenStreamForRange(true, buffer.Length, buffer.Length); + if (!_readRequestedRangesFromFile) reader.Seek(-buffer.Length, SeekOrigin.End); - _ = reader.Read(buffer); + + var bytesRead = reader.Read(buffer); + if (bytesRead < buffer.Length) + throw new InvalidOperationException("Insufficient data to fill the buffer."); + if (_writeRequestedRangesToFile) { var filename = GetRangeFilename(true, buffer.Length, buffer.Length); @@ -69,10 +78,9 @@ public int GetRangeFromEnd(Span buffer) outputStream.Write(buffer); } } - return buffer.Length; } - public Task GetRangeFromEndAsync(Memory buffer) + public Task FillBufferFromEndAsync(Memory buffer) { throw new NotImplementedException(); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index 9e17746..5afdfab 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -22,16 +22,18 @@ public void Dispose() _stream.Dispose(); } - public int GetRange(Span buffer, long position) + public void FillBuffer(Span buffer, long position) { lock (_streamLock) { _stream.Seek(position, SeekOrigin.Begin); - return _stream.Read(buffer); + var bytesRead = _stream.Read(buffer); + if (bytesRead < buffer.Length) + throw new InvalidOperationException("Insufficient data to fill the buffer."); } } - public Task GetRangeAsync(Memory buffer, long position) + public Task FillBufferAsync(Memory buffer, long position) { lock (_streamLock) { @@ -40,16 +42,18 @@ public Task GetRangeAsync(Memory buffer, long position) } } - public int GetRangeFromEnd(Span buffer) + public void FillBufferFromEnd(Span buffer) { lock (_streamLock) { _stream.Seek(-buffer.Length, SeekOrigin.End); - return _stream.Read(buffer); + var bytesRead = _stream.Read(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } } - public Task GetRangeFromEndAsync(Memory buffer) + public Task FillBufferFromEndAsync(Memory buffer) { lock (_streamLock) { @@ -58,20 +62,11 @@ public Task GetRangeFromEndAsync(Memory buffer) } } - private async Task DoReadAsync(Memory buffer) + private async Task DoReadAsync(Memory buffer) { - int bytesRead = 0; - int bytesRemaining = buffer.Length; - while (bytesRemaining > 0) - { - int count = await _stream.ReadAsync(buffer[bytesRead..]); - if (count == 0) - break; - - bytesRead += count; - bytesRemaining -= count; - } - return bytesRead; + var bytesRead = await _stream.ReadAsync(buffer); + if (bytesRead < buffer.Length) + throw new BufferNotFilledException(); } } } From 02a93a13427c4e12f4a62d33f9e0485e9a7bbe65 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 26 Jul 2022 17:28:55 -0300 Subject: [PATCH 120/143] Add smaller length for metadata decompression buffers. --- .../CompressionBufferException.cs | 2 +- .../OrcReader.cs | 15 +++++++------ .../ColumnTypes/Buffers_Test.cs | 22 ++++++++++++++++--- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs index 83712e8..cb21272 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs @@ -5,7 +5,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure public class CompressionBufferException : ArgumentException { public CompressionBufferException(string parameterName, long bufferCurrentLength, long bufferRequiredLength) - : base($"Buffer too small. Current length is '{bufferCurrentLength}' bytes, but '{bufferRequiredLength}' bytes are required. Please increase the length in '{nameof(OrcReaderConfiguration)}.{nameof(OrcReaderConfiguration.DecompressionBufferLength)}'.", parameterName) + : base($"Buffer too small. Current length is '{bufferCurrentLength}' bytes, but '{bufferRequiredLength}' bytes are required. Please increase the length of buffers in '{nameof(OrcReaderConfiguration)}'.", parameterName) { } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 7e61dc2..56024dd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -15,7 +15,8 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcReaderConfiguration { - public int DecompressionBufferLength { get; set; } = 15 * 1024 * 1024; + public int MetadataDecompressionBufferLength { get; set; } = 1 * 1024 * 1024; + public int StreamDecompressionBufferLength { get; set; } = 15 * 1024 * 1024; public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } @@ -50,7 +51,7 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize), checked((int)_fileTail.Footer.RowIndexStride), - _configuration.DecompressionBufferLength + _configuration.StreamDecompressionBufferLength ); } @@ -171,9 +172,9 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) ).Single(); var compressedBuffer = ArrayPool.Shared.Rent(rowIndexStream.Length); - var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.DecompressionBufferLength); var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, rowIndexStream.Length); - var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.DecompressionBufferLength); + var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.MetadataDecompressionBufferLength); + var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.MetadataDecompressionBufferLength); try { @@ -204,7 +205,7 @@ private SpanFileTail ReadFileTail() _byteRangeProvider.FillBufferFromEnd(fileTailBuffer); - var success = SpanFileTail.TryRead(fileTailBuffer, _configuration.DecompressionBufferLength, out var fileTail, out var additionalBytesRequired); + var success = SpanFileTail.TryRead(fileTailBuffer, _configuration.MetadataDecompressionBufferLength, out var fileTail, out var additionalBytesRequired); if (success) return fileTail; @@ -227,9 +228,9 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterLength = (int)stripe.FooterLength; var compressedBuffer = ArrayPool.Shared.Rent(stripeFooterLength); - var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.DecompressionBufferLength); var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, stripeFooterLength); - var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.DecompressionBufferLength); + var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.MetadataDecompressionBufferLength); + var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.MetadataDecompressionBufferLength); try { diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs index 44286d1..c5cd834 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs @@ -10,13 +10,13 @@ public class Buffers_Test : _BaseColumnTypeWithNulls public async Task Small_ByteRange_Buffer_Will_Throw() { // Maximum byte range requested by the binary column is 22191 bytes. - var config = new OrcReaderConfiguration() { DecompressionBufferLength = 1024 }; + var config = new OrcReaderConfiguration() { StreamDecompressionBufferLength = 1024 }; var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); var columnBuffer = reader.CreateBinaryColumnBuffer(column); - var exception = await Assert.ThrowsAsync(async () => + var exception = await Assert.ThrowsAsync(async () => await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) ); @@ -29,7 +29,7 @@ await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) public async Task Small_Decompress_Buffer_Will_Throw() { // Maximum decompressed length required by the binary column is 68776 bytes. - var config = new OrcReaderConfiguration() { DecompressionBufferLength = 32768 }; + var config = new OrcReaderConfiguration() { StreamDecompressionBufferLength = 32768 }; var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("binary"); @@ -43,5 +43,21 @@ await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) Assert.Contains("68776", exception.Message); Assert.Contains("32768", exception.Message); } + + [Fact] + public void Tail_Decompress_Buffer_Will_Throw() + { + // Initial decompressed length required by the tail section is 523 bytes. + var config = new OrcReaderConfiguration() { MetadataDecompressionBufferLength = 512 }; + + var exception = Assert.Throws(() => + { + var reader = new OrcReader(config, _byteRangeProvider); + }); + + Assert.NotNull(exception); + Assert.Contains("523", exception.Message); + Assert.Contains("512", exception.Message); + } } } From 48298f2e1bc3de8a28dec12b0033afb4c79d655a Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 27 Jul 2022 11:33:59 -0300 Subject: [PATCH 121/143] Calculate remaining bits only once. Fix RLE max values number calculation. --- .../Buffers/BaseColumnBuffer.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 4dcf9ff..1238650 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -30,10 +30,9 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _column = column; _values = new TOutput[_orcFileProperties.MaxValuesToRead]; - // RLEs will decode values from - // at most two bytes. We allocate - // an extra byte to guarantee space. - var runMaxValues = byte.MaxValue * 3; + // RLEs decode values + // from at most two bytes. + var runMaxValues = (int)Math.Pow(2, 16); _numericStreamBuffer = new long[runMaxValues]; _byteStreamBuffer = new byte[runMaxValues]; _boolStreamBuffer = new byte[runMaxValues]; @@ -84,6 +83,7 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + var checkRemainingBits = true; while (!bufferReader.Complete) { var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); @@ -97,8 +97,11 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan var isFinalByte = bufferReader.Complete && idx >= numByteValuesRead - 1; // Skip remaining bits. - if (numOfBytesToSkip % 8 != 0) + if (checkRemainingBits && numOfBytesToSkip % 8 != 0) + { decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); + checkRemainingBits = false; + } if (isFinalByte && decodedByte == 0) { From 5b47b6d600c78b07a7d549ab76f0928be1f330c8 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 27 Jul 2022 14:35:53 -0300 Subject: [PATCH 122/143] Integrate filters into columns. --- .../FilterValues.cs | 47 -------------- .../OrcColumn.cs | 48 ++++++++++++++ .../OrcReader.cs | 18 +++--- .../OptimizedORCApp.cs | 19 +++--- .../TradeDataSource.cs | 21 +++--- .../ColumnTypes/WithNulls/_Filter_Test.cs | 58 +++++++++-------- .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 64 ++++++++++--------- 7 files changed, 141 insertions(+), 134 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs deleted file mode 100644 index c6afcee..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Globalization; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class FilterValues - { - private static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; - - private FilterValues(string min, string max) - { - Min = min; - Max = max; - } - - public string Min { get; } - public string Max { get; } - - public static FilterValues CreateFromInteger(long min, long max) - => new(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); - - public static FilterValues CreateFromDecimal(decimal min, decimal max) - => new(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); - - public static FilterValues CreateFromString(string min, string max) - => new(min, max); - - public static FilterValues CreateFromDate(DateTime min, DateTime max) - { - var minVal = (long)(min - Constants.UnixEpochUnspecified).TotalDays; - var maxVal = (long)(max - Constants.UnixEpochUnspecified).TotalDays; - - return CreateFromInteger(minVal, maxVal); - } - - public static FilterValues CreateFromTimestamp(DateTime min, DateTime max) - { - var minVal = (min - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; - var maxVal = (max - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; - - return CreateFromInteger(minVal, maxVal); - } - - public static FilterValues CreateFromTime(TimeSpan min, TimeSpan max) - => CreateFromDecimal((decimal)min.TotalSeconds, (decimal)max.TotalSeconds); - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index 9c9fc9b..b2ef18f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -1,10 +1,13 @@ using ApacheOrcDotNet.Protocol; using System; +using System.Globalization; namespace ApacheOrcDotNet.OptimizedReader { public class OrcColumn : IEquatable { + private static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; + public OrcColumn(int id, string name, ColumnTypeKind type) { Id = id; @@ -16,6 +19,9 @@ public OrcColumn(int id, string name, ColumnTypeKind type) public string Name { get; } public ColumnTypeKind Type { get; } + public string Min { get; private set; } + public string Max { get; private set; } + public override bool Equals(object obj) { if (obj is OrcColumn other) @@ -28,5 +34,47 @@ public bool Equals(OrcColumn other) => Id == other.Id && Name == other.Name && Type == other.Type; public override int GetHashCode() => HashCode.Combine(Id, Name, Type); + + public void SetIntegerFilter(long min, long max) + { + Min = min.ToString(_invariantCulture); + Max = max.ToString(_invariantCulture); + } + + public void SetDecimalFilter(decimal min, decimal max) + { + Min = min.ToString(_invariantCulture); + Max = max.ToString(_invariantCulture); + } + + public void SetStringFilter(string min, string max) + { + Min = min; + Max = max; + } + + public void SetDateFilter(DateTime min, DateTime max) + { + var minVal = (long)(min - Constants.UnixEpochUnspecified).TotalDays; + var maxVal = (long)(max - Constants.UnixEpochUnspecified).TotalDays; + + SetIntegerFilter(minVal, maxVal); + } + + public void SetTimestampFilter(DateTime min, DateTime max) + { + var minVal = (min - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + var maxVal = (max - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + + SetIntegerFilter(minVal, maxVal); + } + + public void SetTimeFilter(TimeSpan min, TimeSpan max) + { + var minVal = (decimal)min.TotalSeconds; + var maxVal = (decimal)max.TotalSeconds; + + SetDecimalFilter(minVal, maxVal); + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 56024dd..4bbf035 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -105,37 +105,37 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) => new TimestampColumnBuffer(_byteRangeProvider, _orcFileProperties, column); - public IEnumerable FilterStripes(OrcColumn column, FilterValues filterValues) - => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, filterValues); + public IEnumerable FilterStripes(OrcColumn column) + => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); - public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column, FilterValues filterValues) + public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column) { var columnStats = GetFileColumnStatistics(column.Id); - if (!columnStats.InRange(column.Type, filterValues.Min, filterValues.Max)) + if (!columnStats.InRange(column.Type, column.Min, column.Max)) return Enumerable.Empty(); return lookupStripeIds.Where(stripeId => { var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); - return stripeColumnStats.InRange(column, filterValues.Min, filterValues.Max); + return stripeColumnStats.InRange(column, column.Min, column.Max); }).ToList(); } - public IEnumerable FilterRowGroups(int stripeId, OrcColumn column, FilterValues filterValues) + public IEnumerable FilterRowGroups(int stripeId, OrcColumn column) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); - return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, filterValues); + return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); } - public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column, FilterValues filterValues) + public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column, filterValues.Min, filterValues.Max); + return rowIndexEntry.Statistics.InRange(column, column.Min, column.Max); }).ToList(); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 774d1ad..9e812ec 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -72,21 +72,20 @@ public async Task Run() var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - var sourceFilterValues = FilterValues.CreateFromString(min: lookupSource, max: lookupSource); - var symbolFilterValues = FilterValues.CreateFromString(min: lookupSymbol, max: lookupSymbol); - var timeFilterValues = FilterValues.CreateFromTime(min: beginTime, max: endTime); + sourceColumn.SetStringFilter(min: lookupSource, max: lookupSource); + symbolColumn.SetStringFilter(min: lookupSymbol, max: lookupSymbol); + timeColumn.SetTimeFilter(min: beginTime, max: endTime); - // - var stripeIds = reader.FilterStripes(sourceColumn, sourceFilterValues); - stripeIds = reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); - stripeIds = reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); + var stripeIds = reader.FilterStripes(sourceColumn); + stripeIds = reader.FilterStripes(stripeIds, symbolColumn); + stripeIds = reader.FilterStripes(stripeIds, timeColumn); foreach (var stripeId in stripeIds) { // - var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); + var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn); foreach (var rowEntryIndex in rowGroupIndexes) { diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs index 87d7bad..110c0ba 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs @@ -1,5 +1,4 @@ -using ApacheOrcDotNet.OptimizedReader; -using ApacheOrcDotNet.OptimizedReader.Buffers; +using ApacheOrcDotNet.OptimizedReader.Buffers; using System; using System.Collections.Generic; using System.Linq; @@ -59,19 +58,19 @@ public TimeRangeReader(Reader reader, string source, string symbol, TimeSpan sta _priceColumnBuffer = reader.CreateDecimalColumnBuffer(priceColumn); _sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - var sourceFilterValues = FilterValues.CreateFromString(min: _souce, max: _souce); - var symbolFilterValues = FilterValues.CreateFromString(min: _symbol, max: _symbol); - var timeFilterValues = FilterValues.CreateFromTime(min: _startTime, max: _endTime); + sourceColumn.SetStringFilter(min: _souce, max: _souce); + symbolColumn.SetStringFilter(min: _symbol, max: _symbol); + timeColumn.SetTimeFilter(min: _startTime, max: _endTime); - var stripeIds = _reader.FilterStripes(sourceColumn, sourceFilterValues); - stripeIds = _reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); - stripeIds = _reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); + var stripeIds = _reader.FilterStripes(sourceColumn); + stripeIds = _reader.FilterStripes(stripeIds, symbolColumn); + stripeIds = _reader.FilterStripes(stripeIds, timeColumn); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = _reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); + var rowGroupIndexes = _reader.FilterRowGroups(stripeId, sourceColumn); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn); _filters.Add(stripeId, rowGroupIndexes.ToList()); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs index 0bb0f3f..df99c5d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -15,17 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); + sourceColumn.SetStringFilter(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + symbolColumn.SetStringFilter(min: "970", max: "973"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + var filteredStripeIds = reader.FilterStripes(sourceColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -48,28 +48,32 @@ public void Filter_Multiple_RowEntries() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); - var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); - var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); + sourceColumn.SetStringFilter(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + symbolColumn.SetStringFilter(min: "SPY", max: "SPY"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues1); + // + timeColumn.SetTimeFilter(min: beginTime1, max: endTime1); + + var filteredStripeIds = reader.FilterStripes(sourceColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues1); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues2); + // + timeColumn.SetTimeFilter(min: beginTime2, max: endTime2); + + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues2); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); Assert.Empty(filteredStripeIds); } @@ -82,13 +86,13 @@ public void Filter_Unsorted_Date() // Columns var dateColumn = reader.GetColumn("date"); - var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 17), max: new DateTime(1997, 5, 19)); + dateColumn.SetDateFilter(min: new(1997, 5, 17), max: new(1997, 5, 19)); - var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); + var filteredStripeIds = reader.FilterStripes(dateColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); } @@ -102,13 +106,13 @@ public void Filter_Unsorted_Timestamp_Multiple() // Columns var timestampColumn = reader.GetColumn("timestamp"); - var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 35), max: new DateTime(2015, 1, 1, 2, 46, 47)); + timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 35), max: new(2015, 1, 1, 2, 46, 47)); - var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + var filteredStripeIds = reader.FilterStripes(timestampColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); @@ -123,13 +127,13 @@ public void Filter_Unsorted_Timestamp_Single() // Columns var timestampColumn = reader.GetColumn("timestamp"); - var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 47), max: new DateTime(2015, 1, 1, 2, 46, 47)); + timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 47), max: new(2015, 1, 1, 2, 46, 47)); - var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + var filteredStripeIds = reader.FilterStripes(timestampColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs index 67c9aa5..2076b97 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -15,17 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); + sourceColumn.SetStringFilter(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + symbolColumn.SetStringFilter(min: "970", max: "973"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + var filteredStripeIds = reader.FilterStripes(sourceColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -48,28 +48,32 @@ public void Filter_Multiple_RowEntries() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); - var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); - var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); + sourceColumn.SetStringFilter(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + symbolColumn.SetStringFilter(min: "SPY", max: "SPY"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues1); + // + timeColumn.SetTimeFilter(min: beginTime1, max: endTime1); + + var filteredStripeIds = reader.FilterStripes(sourceColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues1); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues2); + // + timeColumn.SetTimeFilter(min: beginTime2, max: endTime2); + + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues2); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); Assert.Empty(filteredStripeIds); } @@ -82,13 +86,13 @@ public void Filter_Unsorted_Date_Multiple() // Columns var dateColumn = reader.GetColumn("date"); - var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 17), max: new DateTime(1997, 5, 20)); + dateColumn.SetDateFilter(min: new(1997, 5, 17), max: new(1997, 5, 20)); - var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); + var filteredStripeIds = reader.FilterStripes(dateColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); @@ -103,13 +107,13 @@ public void Filter_Unsorted_Date_Single() // Columns var dateColumn = reader.GetColumn("date"); - var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 20), max: new DateTime(1997, 5, 20)); + dateColumn.SetDateFilter(min: new(1997, 5, 20), max: new(1997, 5, 20)); - var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); + var filteredStripeIds = reader.FilterStripes(dateColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); } @@ -123,13 +127,13 @@ public void Filter_Unsorted_Timestamp_Multiple() // Columns var timestampColumn = reader.GetColumn("timestamp"); - var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 35), max: new DateTime(2015, 1, 1, 2, 46, 41)); + timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 35), max: new(2015, 1, 1, 2, 46, 41)); - var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + var filteredStripeIds = reader.FilterStripes(timestampColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); @@ -144,13 +148,13 @@ public void Filter_Unsorted_Timestamp_Single() // Columns var timestampColumn = reader.GetColumn("timestamp"); - var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 41), max: new DateTime(2015, 1, 1, 2, 46, 41)); + timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 41), max: new(2015, 1, 1, 2, 46, 41)); - var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); + var filteredStripeIds = reader.FilterStripes(timestampColumn); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); } From 797dd527de899b834c095dcdf217afff5762713c Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 28 Jul 2022 17:29:33 -0300 Subject: [PATCH 123/143] Revert "Integrate filters into columns." This reverts commit 5b47b6d600c78b07a7d549ab76f0928be1f330c8. --- .../FilterValues.cs | 47 ++++++++++++++ .../OrcColumn.cs | 48 -------------- .../OrcReader.cs | 18 +++--- .../OptimizedORCApp.cs | 19 +++--- .../TradeDataSource.cs | 21 +++--- .../ColumnTypes/WithNulls/_Filter_Test.cs | 58 ++++++++--------- .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 64 +++++++++---------- 7 files changed, 134 insertions(+), 141 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs new file mode 100644 index 0000000..c6afcee --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs @@ -0,0 +1,47 @@ +using System; +using System.Globalization; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class FilterValues + { + private static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; + + private FilterValues(string min, string max) + { + Min = min; + Max = max; + } + + public string Min { get; } + public string Max { get; } + + public static FilterValues CreateFromInteger(long min, long max) + => new(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); + + public static FilterValues CreateFromDecimal(decimal min, decimal max) + => new(min.ToString(_invariantCulture), max.ToString(_invariantCulture)); + + public static FilterValues CreateFromString(string min, string max) + => new(min, max); + + public static FilterValues CreateFromDate(DateTime min, DateTime max) + { + var minVal = (long)(min - Constants.UnixEpochUnspecified).TotalDays; + var maxVal = (long)(max - Constants.UnixEpochUnspecified).TotalDays; + + return CreateFromInteger(minVal, maxVal); + } + + public static FilterValues CreateFromTimestamp(DateTime min, DateTime max) + { + var minVal = (min - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + var maxVal = (max - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; + + return CreateFromInteger(minVal, maxVal); + } + + public static FilterValues CreateFromTime(TimeSpan min, TimeSpan max) + => CreateFromDecimal((decimal)min.TotalSeconds, (decimal)max.TotalSeconds); + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs index b2ef18f..9c9fc9b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcColumn.cs @@ -1,13 +1,10 @@ using ApacheOrcDotNet.Protocol; using System; -using System.Globalization; namespace ApacheOrcDotNet.OptimizedReader { public class OrcColumn : IEquatable { - private static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; - public OrcColumn(int id, string name, ColumnTypeKind type) { Id = id; @@ -19,9 +16,6 @@ public OrcColumn(int id, string name, ColumnTypeKind type) public string Name { get; } public ColumnTypeKind Type { get; } - public string Min { get; private set; } - public string Max { get; private set; } - public override bool Equals(object obj) { if (obj is OrcColumn other) @@ -34,47 +28,5 @@ public bool Equals(OrcColumn other) => Id == other.Id && Name == other.Name && Type == other.Type; public override int GetHashCode() => HashCode.Combine(Id, Name, Type); - - public void SetIntegerFilter(long min, long max) - { - Min = min.ToString(_invariantCulture); - Max = max.ToString(_invariantCulture); - } - - public void SetDecimalFilter(decimal min, decimal max) - { - Min = min.ToString(_invariantCulture); - Max = max.ToString(_invariantCulture); - } - - public void SetStringFilter(string min, string max) - { - Min = min; - Max = max; - } - - public void SetDateFilter(DateTime min, DateTime max) - { - var minVal = (long)(min - Constants.UnixEpochUnspecified).TotalDays; - var maxVal = (long)(max - Constants.UnixEpochUnspecified).TotalDays; - - SetIntegerFilter(minVal, maxVal); - } - - public void SetTimestampFilter(DateTime min, DateTime max) - { - var minVal = (min - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; - var maxVal = (max - Constants.UnixEpochUtc).Ticks / TimeSpan.TicksPerMillisecond; - - SetIntegerFilter(minVal, maxVal); - } - - public void SetTimeFilter(TimeSpan min, TimeSpan max) - { - var minVal = (decimal)min.TotalSeconds; - var maxVal = (decimal)max.TotalSeconds; - - SetDecimalFilter(minVal, maxVal); - } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 4bbf035..56024dd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -105,37 +105,37 @@ public BaseColumnBuffer CreateStringColumnBuffer(OrcColumn column) public BaseColumnBuffer CreateTimestampColumnBuffer(OrcColumn column) => new TimestampColumnBuffer(_byteRangeProvider, _orcFileProperties, column); - public IEnumerable FilterStripes(OrcColumn column) - => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column); + public IEnumerable FilterStripes(OrcColumn column, FilterValues filterValues) + => FilterStripes(Enumerable.Range(0, _fileTail.Metadata.StripeStats.Count), column, filterValues); - public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column) + public IEnumerable FilterStripes(IEnumerable lookupStripeIds, OrcColumn column, FilterValues filterValues) { var columnStats = GetFileColumnStatistics(column.Id); - if (!columnStats.InRange(column.Type, column.Min, column.Max)) + if (!columnStats.InRange(column.Type, filterValues.Min, filterValues.Max)) return Enumerable.Empty(); return lookupStripeIds.Where(stripeId => { var stripeColumnStats = GetStripeColumnStatistics(column.Id, stripeId); - return stripeColumnStats.InRange(column, column.Min, column.Max); + return stripeColumnStats.InRange(column, filterValues.Min, filterValues.Max); }).ToList(); } - public IEnumerable FilterRowGroups(int stripeId, OrcColumn column) + public IEnumerable FilterRowGroups(int stripeId, OrcColumn column, FilterValues filterValues) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); - return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column); + return FilterRowGroups(Enumerable.Range(0, rowIndex.Entry.Count), stripeId, column, filterValues); } - public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column) + public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stripeId, OrcColumn column, FilterValues filterValues) { var rowIndex = GetColumnRowIndex(column.Id, stripeId); return lookupIndexes.Where(index => { var rowIndexEntry = rowIndex.Entry[index]; - return rowIndexEntry.Statistics.InRange(column, column.Min, column.Max); + return rowIndexEntry.Statistics.InRange(column, filterValues.Min, filterValues.Max); }).ToList(); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs index 9e812ec..774d1ad 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs @@ -72,20 +72,21 @@ public async Task Run() var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - sourceColumn.SetStringFilter(min: lookupSource, max: lookupSource); - symbolColumn.SetStringFilter(min: lookupSymbol, max: lookupSymbol); - timeColumn.SetTimeFilter(min: beginTime, max: endTime); + var sourceFilterValues = FilterValues.CreateFromString(min: lookupSource, max: lookupSource); + var symbolFilterValues = FilterValues.CreateFromString(min: lookupSymbol, max: lookupSymbol); + var timeFilterValues = FilterValues.CreateFromTime(min: beginTime, max: endTime); - var stripeIds = reader.FilterStripes(sourceColumn); - stripeIds = reader.FilterStripes(stripeIds, symbolColumn); - stripeIds = reader.FilterStripes(stripeIds, timeColumn); + // + var stripeIds = reader.FilterStripes(sourceColumn, sourceFilterValues); + stripeIds = reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); + stripeIds = reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); foreach (var stripeId in stripeIds) { // - var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn); + var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); foreach (var rowEntryIndex in rowGroupIndexes) { diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs index 110c0ba..87d7bad 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs @@ -1,4 +1,5 @@ -using ApacheOrcDotNet.OptimizedReader.Buffers; +using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Buffers; using System; using System.Collections.Generic; using System.Linq; @@ -58,19 +59,19 @@ public TimeRangeReader(Reader reader, string source, string symbol, TimeSpan sta _priceColumnBuffer = reader.CreateDecimalColumnBuffer(priceColumn); _sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - sourceColumn.SetStringFilter(min: _souce, max: _souce); - symbolColumn.SetStringFilter(min: _symbol, max: _symbol); - timeColumn.SetTimeFilter(min: _startTime, max: _endTime); + var sourceFilterValues = FilterValues.CreateFromString(min: _souce, max: _souce); + var symbolFilterValues = FilterValues.CreateFromString(min: _symbol, max: _symbol); + var timeFilterValues = FilterValues.CreateFromTime(min: _startTime, max: _endTime); - var stripeIds = _reader.FilterStripes(sourceColumn); - stripeIds = _reader.FilterStripes(stripeIds, symbolColumn); - stripeIds = _reader.FilterStripes(stripeIds, timeColumn); + var stripeIds = _reader.FilterStripes(sourceColumn, sourceFilterValues); + stripeIds = _reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); + stripeIds = _reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = _reader.FilterRowGroups(stripeId, sourceColumn); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn); + var rowGroupIndexes = _reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); _filters.Add(stripeId, rowGroupIndexes.ToList()); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs index df99c5d..0bb0f3f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -15,17 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - sourceColumn.SetStringFilter(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - symbolColumn.SetStringFilter(min: "970", max: "973"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); - var filteredStripeIds = reader.FilterStripes(sourceColumn); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -48,32 +48,28 @@ public void Filter_Multiple_RowEntries() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - sourceColumn.SetStringFilter(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - symbolColumn.SetStringFilter(min: "SPY", max: "SPY"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); + var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); + var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); - // - timeColumn.SetTimeFilter(min: beginTime1, max: endTime1); - - var filteredStripeIds = reader.FilterStripes(sourceColumn); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues1); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues1); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - // - timeColumn.SetTimeFilter(min: beginTime2, max: endTime2); - - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues2); Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues2); Assert.Empty(filteredStripeIds); } @@ -86,13 +82,13 @@ public void Filter_Unsorted_Date() // Columns var dateColumn = reader.GetColumn("date"); - dateColumn.SetDateFilter(min: new(1997, 5, 17), max: new(1997, 5, 19)); + var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 17), max: new DateTime(1997, 5, 19)); - var filteredStripeIds = reader.FilterStripes(dateColumn); + var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); } @@ -106,13 +102,13 @@ public void Filter_Unsorted_Timestamp_Multiple() // Columns var timestampColumn = reader.GetColumn("timestamp"); - timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 35), max: new(2015, 1, 1, 2, 46, 47)); + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 35), max: new DateTime(2015, 1, 1, 2, 46, 47)); - var filteredStripeIds = reader.FilterStripes(timestampColumn); + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); @@ -127,13 +123,13 @@ public void Filter_Unsorted_Timestamp_Single() // Columns var timestampColumn = reader.GetColumn("timestamp"); - timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 47), max: new(2015, 1, 1, 2, 46, 47)); + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 47), max: new DateTime(2015, 1, 1, 2, 46, 47)); - var filteredStripeIds = reader.FilterStripes(timestampColumn); + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs index 2076b97..67c9aa5 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -15,17 +15,17 @@ public void Filter_Single_RowEntry() var sourceColumn = reader.GetColumn("source"); var symbolColumn = reader.GetColumn("symbol"); - sourceColumn.SetStringFilter(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - symbolColumn.SetStringFilter(min: "970", max: "973"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); - var filteredStripeIds = reader.FilterStripes(sourceColumn); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -48,32 +48,28 @@ public void Filter_Multiple_RowEntries() var symbolColumn = reader.GetColumn("symbol"); var timeColumn = reader.GetColumn("time"); - sourceColumn.SetStringFilter(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - symbolColumn.SetStringFilter(min: "SPY", max: "SPY"); + var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); + var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); + var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); + var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); - // - timeColumn.SetTimeFilter(min: beginTime1, max: endTime1); - - var filteredStripeIds = reader.FilterStripes(sourceColumn); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); + var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues1); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues1); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); - // - timeColumn.SetTimeFilter(min: beginTime2, max: endTime2); - - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, timeColumn, timefilterValues2); Assert.Empty(rowGroupIndexIds); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, timeColumn, timefilterValues2); Assert.Empty(filteredStripeIds); } @@ -86,13 +82,13 @@ public void Filter_Unsorted_Date_Multiple() // Columns var dateColumn = reader.GetColumn("date"); - dateColumn.SetDateFilter(min: new(1997, 5, 17), max: new(1997, 5, 20)); + var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 17), max: new DateTime(1997, 5, 20)); - var filteredStripeIds = reader.FilterStripes(dateColumn); + var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); @@ -107,13 +103,13 @@ public void Filter_Unsorted_Date_Single() // Columns var dateColumn = reader.GetColumn("date"); - dateColumn.SetDateFilter(min: new(1997, 5, 20), max: new(1997, 5, 20)); + var datefilterValues = FilterValues.CreateFromDate(min: new DateTime(1997, 5, 20), max: new DateTime(1997, 5, 20)); - var filteredStripeIds = reader.FilterStripes(dateColumn); + var filteredStripeIds = reader.FilterStripes(dateColumn, datefilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dateColumn, datefilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); } @@ -127,13 +123,13 @@ public void Filter_Unsorted_Timestamp_Multiple() // Columns var timestampColumn = reader.GetColumn("timestamp"); - timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 35), max: new(2015, 1, 1, 2, 46, 41)); + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 35), max: new DateTime(2015, 1, 1, 2, 46, 41)); - var filteredStripeIds = reader.FilterStripes(timestampColumn); + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); Assert.Equal(2, rowGroupIndexIds.Count()); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); @@ -148,13 +144,13 @@ public void Filter_Unsorted_Timestamp_Single() // Columns var timestampColumn = reader.GetColumn("timestamp"); - timestampColumn.SetTimestampFilter(min: new(2015, 1, 1, 2, 46, 41), max: new(2015, 1, 1, 2, 46, 41)); + var timestampfilterValues = FilterValues.CreateFromTimestamp(min: new DateTime(2015, 1, 1, 2, 46, 41), max: new DateTime(2015, 1, 1, 2, 46, 41)); - var filteredStripeIds = reader.FilterStripes(timestampColumn); + var filteredStripeIds = reader.FilterStripes(timestampColumn, timestampfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, timestampColumn, timestampfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 1); } From 044b850670d38a655de5495640496eb775652b8e Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 28 Jul 2022 18:57:00 -0300 Subject: [PATCH 124/143] Remove unnecessary decompression length parameter. --- .../Buffers/BaseColumnBuffer.cs | 20 +++++++++---------- .../Buffers/BinaryColumnBuffer.cs | 6 +++--- .../Buffers/BooleanColumnBuffer.cs | 4 ++-- .../Buffers/ByteColumnBuffer.cs | 4 ++-- .../Buffers/DateColumnBuffer.cs | 4 ++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 6 +++--- .../Buffers/DecimalColumnBuffer.cs | 6 +++--- .../Buffers/DoubleColumnBuffer.cs | 4 ++-- .../DoubleWithNullAsNaNColumnBuffer.cs | 4 ++-- .../Buffers/FloatColumnBuffer.cs | 4 ++-- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 4 ++-- .../Buffers/IntegerColumnBuffer.cs | 4 ++-- .../Buffers/StringColumnBuffer.cs | 12 +++++------ .../Buffers/TimestampColumnBuffer.cs | 6 +++--- .../FilterValues.cs | 2 +- 15 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 1238650..a9ed6c2 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -45,7 +45,7 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public void Reset() => _numValuesRead = 0; - private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) + private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -53,7 +53,7 @@ private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan bu return; var numSkipped = 0; - var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); while (!bufferReader.Complete) { @@ -72,7 +72,7 @@ private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan bu } } - private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) + private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -80,7 +80,7 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan return; var numSkipped = 0; - var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; var numOfBytesToSkip = numOfTotalBitsToSkip / 8; var checkRemainingBits = true; @@ -159,7 +159,7 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan } } - private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan buffer, int length, bool isSigned, Span outputValues, out int numValuesRead) + private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -167,7 +167,7 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan return; var numSkipped = 0; - var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); while (!bufferReader.Complete) { @@ -186,7 +186,7 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan } } - private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan buffer, int length, Span outputValues, out int numValuesRead) + private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -194,7 +194,7 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan return; int numSkipped = 0; - var bufferReader = new BufferReader(GetDataStream(stream, buffer, length)); + var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); while (!bufferReader.Complete) { @@ -246,9 +246,9 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan /// Applies the offset position into the decompressed data. /// - private static protected ReadOnlySpan GetDataStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, int decompressedBufferLength) + private static protected ReadOnlySpan GetDataStream(StreamDetail stream, ReadOnlySpan decompressedBuffer) { - var rowEntryLength = decompressedBufferLength - stream.Positions.RowEntryOffset; + var rowEntryLength = decompressedBuffer.Length - stream.Positions.RowEntryOffset; return decompressedBuffer.Slice(stream.Positions.RowEntryOffset, rowEntryLength); } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 908e3a1..c4c041c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -52,10 +52,10 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamBuffer, out var presentValuesRead); - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); + var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength]); var stringOffset = 0; if (presentValuesRead > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 0208824..8738192 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -43,8 +43,8 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index 67e3c72..aecc8f9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -43,8 +43,8 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadByteStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadByteStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 4e25b20..06a7e66 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -44,8 +44,8 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 722f4ac..64b326f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -55,9 +55,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 7ee9a54..058a36c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -55,9 +55,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index c7fddbd..a8d8325 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -44,9 +44,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs index 6f8c0fa..09a4437 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -44,9 +44,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index de4fd8e..e76b100 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -44,9 +44,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs index 5d7b574..eb6c6fd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -44,9 +44,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength)); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 2405f80..d3c2011 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -43,8 +43,8 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 58fcdcf..1f9c25f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -88,10 +88,10 @@ private void Fill(int stripeId, ColumnDataStreams streams) private void ReadDirectV2(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, _lengthStreamValues, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamValues, out var lengthValuesRead); - var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength); + var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength]); var stringOffset = 0; if (presentValuesRead > 0) @@ -122,13 +122,13 @@ private void ReadDirectV2(ColumnDataStreams streams) private void ReadDictionaryV2(int stripeId, ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: false, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: false, _dataStreamValues, out var dataValuesRead); if (!_stripeDictionaries.TryGetValue(stripeId, out var stringsList)) { Span dictionaryV2LengthStreamBuffer = stackalloc long[streams.Length.DictionarySize]; - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer, _lengthStreamDecompressedBufferLength, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer[.._lengthStreamDecompressedBufferLength], isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); int stringOffset = 0; stringsList = new List(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index fa2c073..843d5b3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -56,9 +56,9 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer, _presentStreamDecompressedBufferLength, _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer, _dataStreamDecompressedBufferLength, isSigned: true, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer, _secondaryStreamDecompressedBufferLength, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer[.._secondaryStreamDecompressedBufferLength], isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs index c6afcee..a781779 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/FilterValues.cs @@ -5,7 +5,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class FilterValues { - private static CultureInfo _invariantCulture = CultureInfo.InvariantCulture; + private static readonly CultureInfo _invariantCulture = CultureInfo.InvariantCulture; private FilterValues(string min, string max) { From e7362d631c3e225879981a915641cc4a38bdb6b2 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 29 Jul 2022 17:05:57 -0300 Subject: [PATCH 125/143] Dynamically resize byte range and decompression buffers. --- .../Buffers/BaseColumnBuffer.cs | 25 ++++-- .../Buffers/BinaryColumnBuffer.cs | 17 ++-- .../Buffers/BooleanColumnBuffer.cs | 12 ++- .../Buffers/ByteColumnBuffer.cs | 12 ++- .../Buffers/DateColumnBuffer.cs | 11 ++- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 22 +++-- .../Buffers/DecimalColumnBuffer.cs | 22 +++-- .../Buffers/DoubleColumnBuffer.cs | 15 ++-- .../DoubleWithNullAsNaNColumnBuffer.cs | 15 ++-- .../Buffers/FloatColumnBuffer.cs | 15 ++-- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 15 ++-- .../Buffers/IntegerColumnBuffer.cs | 12 ++- .../Buffers/StringColumnBuffer.cs | 27 +++--- .../Buffers/TimestampColumnBuffer.cs | 21 +++-- .../Infrastructure/CompressedData.cs | 56 +++++++------ .../CompressionBufferException.cs | 12 --- .../Infrastructure/SpanFileTail.cs | 35 +++----- .../OrcFileProperties.cs | 9 +- .../OrcReader.cs | 83 ++++++------------- .../ColumnTypes/Buffers_Test.cs | 63 -------------- 20 files changed, 222 insertions(+), 277 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs delete mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index a9ed6c2..1b2cd0b 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -39,7 +39,7 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties } public OrcColumn Column => _column; - public ReadOnlySpan Values => _values.AsSpan().Slice(0, _numValuesRead); + public ReadOnlySpan Values => _values.AsSpan()[.._numValuesRead]; public abstract Task LoadDataAsync(int stripeId, ColumnDataStreams streams); @@ -186,7 +186,7 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan } } - private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) + private protected static void ReadVarIntStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -213,6 +213,15 @@ private protected void ReadVarIntStream(StreamDetail stream, ReadOnlySpan } } + private protected static void CheckByteRangeBufferLength(StreamDetail stream, ref byte[] targetBuffer) + { + if (stream == null) + return; + + if (stream.Range.Length > targetBuffer.Length) + targetBuffer = new byte[stream.Range.Length]; + } + private protected async Task GetByteRangeAsync(StreamDetail stream, Memory outputBuffer) { if (stream == null) @@ -224,10 +233,7 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory< if (stream.Range == _lastRange) return _lastRangeLength; - if (stream.Range.Length >= outputBuffer.Length) - throw new CompressionBufferException(nameof(outputBuffer), outputBuffer.Length, stream.Range.Length); - - await _byteRangeProvider.FillBufferAsync(outputBuffer.Slice(0, stream.Range.Length), stream.Range.Offset); + await _byteRangeProvider.FillBufferAsync(outputBuffer[..stream.Range.Length], stream.Range.Offset); _lastRangeLength = stream.Range.Length; _lastRange = stream.Range; @@ -235,12 +241,15 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory< return _lastRangeLength; } - private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, Span decompressedOutput, ref int decompressedLength) + private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, ref byte[] decompressedOutput, ref int decompressedLength) { decompressedLength = 0; if (stream != null) - decompressedLength = CompressedData.Decompress(compressedInput.Slice(0, stream.Range.Length), decompressedOutput, _orcFileProperties.CompressionKind, (ulong)_orcFileProperties.CompressionBlockSize); + { + decompressedOutput = CompressedData.CheckDecompressionBuffer(compressedInput[..stream.Range.Length], decompressedOutput, _orcFileProperties.CompressionKind, _orcFileProperties.DecompressedChunkMaxLength); + decompressedLength = CompressedData.Decompress(compressedInput[..stream.Range.Length], decompressedOutput, _orcFileProperties.CompressionKind); + } } ///
    diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index c4c041c..b37f3a3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -1,4 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -37,25 +38,29 @@ public BinaryColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Length, ref _lengthStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Length, _lengthStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, ref _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamBuffer, out var presentValuesRead); - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); - var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength]); + var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength]); var stringOffset = 0; if (presentValuesRead > 0) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index 8738192..c2db3d4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -1,4 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -30,21 +31,24 @@ public BooleanColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index aecc8f9..b9282fd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -1,4 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -30,21 +31,24 @@ public ByteColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadByteStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadByteStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 06a7e66..f071470 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -31,21 +31,24 @@ public DateColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 64b326f..1218805 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -6,9 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private long[] _dataStreamValues; - private long[] _secondaryStreamValues; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + private readonly long[] _secondaryStreamValues; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -40,24 +40,28 @@ public DecimalAsDoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFile public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Secondary, ref _secondaryStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, ref _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 058a36c..5503423 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -6,9 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DecimalColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private long[] _dataStreamValues; - private long[] _secondaryStreamValues; + private readonly bool[] _presentStreamValues; + private readonly long[] _dataStreamValues; + private readonly long[] _secondaryStreamValues; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -40,24 +40,28 @@ public DecimalColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Secondary, ref _secondaryStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, ref _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index a8d8325..82a19ae 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -6,8 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DoubleColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private byte[] _valueBuffer; + private readonly bool[] _presentStreamValues; + private readonly byte[] _valueBuffer; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -31,22 +31,25 @@ public DoubleColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs index 09a4437..167cc26 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -6,8 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DoubleWithNullAsNaNColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private byte[] _valueBuffer; + private readonly bool[] _presentStreamValues; + private readonly byte[] _valueBuffer; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -31,22 +31,25 @@ public DoubleWithNullAsNaNColumnBuffer(IByteRangeProvider byteRangeProvider, Orc public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index e76b100..eceb292 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -6,8 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class FloatColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private byte[] _valueBuffer; + private readonly bool[] _presentStreamValues; + private readonly byte[] _valueBuffer; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -31,22 +31,25 @@ public FloatColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs index eb6c6fd..e556782 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -6,8 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class FloatWithNullAsNaNColumnBuffer : BaseColumnBuffer { - private bool[] _presentStreamValues; - private byte[] _valueBuffer; + private readonly bool[] _presentStreamValues; + private readonly byte[] _valueBuffer; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -31,22 +31,25 @@ public FloatWithNullAsNaNColumnBuffer(IByteRangeProvider byteRangeProvider, OrcF public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength])); + var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index d3c2011..972c630 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -1,4 +1,5 @@ using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -30,21 +31,24 @@ public IntegerColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperti public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 1f9c25f..6522108 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -51,6 +51,10 @@ public StringColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFilePropertie public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Length, ref _lengthStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + var byteRangeTasks = new List>() { GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), @@ -58,15 +62,18 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) }; if (streams.EncodingKind == ColumnEncodingKind.DictionaryV2) + { + CheckByteRangeBufferLength(streams.DictionaryData, ref _dictionaryStreanCompressedBuffer); byteRangeTasks.Add(GetByteRangeAsync(streams.DictionaryData, _dictionaryStreanCompressedBuffer)); + } _ = await Task.WhenAll(byteRangeTasks); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, ref _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); if (streams.EncodingKind == ColumnEncodingKind.DictionaryV2) - DecompressByteRange(streams.DictionaryData, _dictionaryStreanCompressedBuffer, _dictionaryStreamDecompressedBuffer, ref _dictionaryStreamDecompressedBufferLength); + DecompressByteRange(streams.DictionaryData, _dictionaryStreanCompressedBuffer, ref _dictionaryStreamDecompressedBuffer, ref _dictionaryStreamDecompressedBufferLength); Fill(stripeId, streams); } @@ -88,10 +95,10 @@ private void Fill(int stripeId, ColumnDataStreams streams) private void ReadDirectV2(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamValues, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamValues, out var lengthValuesRead); - var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength]); + var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength]); var stringOffset = 0; if (presentValuesRead > 0) @@ -122,13 +129,13 @@ private void ReadDirectV2(ColumnDataStreams streams) private void ReadDictionaryV2(int stripeId, ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: false, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: false, _dataStreamValues, out var dataValuesRead); if (!_stripeDictionaries.TryGetValue(stripeId, out var stringsList)) { Span dictionaryV2LengthStreamBuffer = stackalloc long[streams.Length.DictionarySize]; - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer[.._lengthStreamDecompressedBufferLength], isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); int stringOffset = 0; stringsList = new List(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 843d5b3..31bfa12 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -8,6 +8,7 @@ public class TimestampColumnBuffer : BaseColumnBuffer { private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; + private readonly long[] _secondaryStreamValues; private byte[] _dataStreamCompressedBuffer; private byte[] _dataStreamDecompressedBuffer; @@ -21,8 +22,6 @@ public class TimestampColumnBuffer : BaseColumnBuffer private byte[] _secondaryStreamDecompressedBuffer; private int _secondaryStreamDecompressedBufferLength; - private long[] _secondaryStreamValues; - public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) : base(byteRangeProvider, orcFileProperties, column) { _presentStreamValues = new bool[orcFileProperties.MaxValuesToRead]; @@ -41,24 +40,28 @@ public TimestampColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProper public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams) { + CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); + CheckByteRangeBufferLength(streams.Secondary, ref _secondaryStreamCompressedBuffer); + _ = await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) ); - DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); - DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); - DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); + DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); + DecompressByteRange(streams.Data, _dataStreamCompressedBuffer, ref _dataStreamDecompressedBuffer, ref _dataStreamDecompressedBufferLength); + DecompressByteRange(streams.Secondary, _secondaryStreamCompressedBuffer, ref _secondaryStreamDecompressedBuffer, ref _secondaryStreamDecompressedBufferLength); Fill(streams); } private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer[.._secondaryStreamDecompressedBufferLength], isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); @@ -92,7 +95,7 @@ private void Fill(ColumnDataStreams streams) } } - private long EncodedNanosToTicks(long encodedNanos) + private static long EncodedNanosToTicks(long encodedNanos) { var scale = (int)(encodedNanos & 0x7); var nanos = encodedNanos >> 3; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index da90eae..547b2e9 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -1,45 +1,53 @@ using ApacheOrcDotNet.Compression; using ApacheOrcDotNet.Protocol; using System; -using System.Buffers; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class CompressedData { - public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind, ulong decompressionBufferLength) + public static byte[] CheckDecompressionBuffer(ReadOnlySpan inputBuffer, byte[] targetDecompressionBuffer, CompressionKind compressionKind, int maxDecompressedLengthPerChunk) { - if (inputBuffer.IsEmpty) - return 0; - int inputPosition = 0; - int outputPosition = 0; - var decompressionBuffer = ArrayPool.Shared.Rent(checked((int)decompressionBufferLength)); + int maxDecompressionLength = 0; + while (inputPosition < inputBuffer.Length) + { + var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + inputPosition += compressedChunkLength; + maxDecompressionLength += maxDecompressedLengthPerChunk; + } - try + if (maxDecompressionLength > targetDecompressionBuffer.Length) { - while (inputPosition < inputBuffer.Length) - { - var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + Console.WriteLine("Aaaaa"); + targetDecompressionBuffer = new byte[maxDecompressionLength]; + } - var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length - ? inputBuffer.Slice(inputPosition) - : inputBuffer.Slice(inputPosition, compressedChunkLength); - var numDecompressBytes = OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, decompressionBuffer.AsSpan()); + return targetDecompressionBuffer; + } - if (outputPosition + numDecompressBytes >= outputBuffer.Length) - throw new CompressionBufferException(nameof(outputBuffer), outputBuffer.Length, outputPosition + numDecompressBytes); + public static byte[] CreateDecompressionBuffer(ReadOnlySpan inputBuffer, CompressionKind compressionKind, int maxDecompressedLengthPerChunk) + => CheckDecompressionBuffer(inputBuffer, new byte[maxDecompressedLengthPerChunk], compressionKind, maxDecompressedLengthPerChunk); - decompressionBuffer.AsSpan().Slice(0, numDecompressBytes).CopyTo(outputBuffer.Slice(outputPosition)); + public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind) + { + if (inputBuffer.IsEmpty) + return 0; - outputPosition += numDecompressBytes; - inputPosition += compressedChunkLength; - } - } - finally + int inputPosition = 0; + int outputPosition = 0; + while (inputPosition < inputBuffer.Length) { - ArrayPool.Shared.Return(decompressionBuffer, clearArray: false); + var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); + + var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length + ? inputBuffer[inputPosition..] + : inputBuffer.Slice(inputPosition, compressedChunkLength); + + outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer[outputPosition..]); + + inputPosition += compressedChunkLength; } return outputPosition; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs deleted file mode 100644 index cb21272..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressionBufferException.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace ApacheOrcDotNet.OptimizedReader.Infrastructure -{ - public class CompressionBufferException : ArgumentException - { - public CompressionBufferException(string parameterName, long bufferCurrentLength, long bufferRequiredLength) - : base($"Buffer too small. Current length is '{bufferCurrentLength}' bytes, but '{bufferRequiredLength}' bytes are required. Please increase the length of buffers in '{nameof(OrcReaderConfiguration)}'.", parameterName) - { - } - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs index 3aafe91..1426028 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/SpanFileTail.cs @@ -1,6 +1,5 @@ using ProtoBuf; using System; -using System.Buffers; using System.IO; namespace ApacheOrcDotNet.OptimizedReader.Infrastructure @@ -11,7 +10,7 @@ public sealed class SpanFileTail public Protocol.Footer Footer { get; private init; } public Protocol.Metadata Metadata { get; private init; } - public static bool TryRead(ReadOnlySpan buffer, int decompressionBufferLength, out SpanFileTail fileTail, out int additionalBytesRequired) + public static bool TryRead(ReadOnlySpan buffer, out SpanFileTail fileTail, out int additionalBytesRequired) { int accumulatedLength = 1; @@ -50,31 +49,21 @@ public static bool TryRead(ReadOnlySpan buffer, int decompressionBufferLen var compressedFooterBuffer = buffer.Slice(footerStart, (int)postScript.FooterLength); var compressedMetadataBuffer = buffer.Slice(metadataStart, (int)postScript.MetadataLength); - var decompressedFooterBuffer = ArrayPool.Shared.Rent(decompressionBufferLength); - var decompressedMetadataBuffer = ArrayPool.Shared.Rent(decompressionBufferLength); - var decompressedFooterBufferSpan = decompressedFooterBuffer.AsSpan().Slice(0, decompressionBufferLength); - var decompressedMetadataBufferSpan = decompressedMetadataBuffer.AsSpan().Slice(0, decompressionBufferLength); - try - { - var decompressedFooterSize = CompressedData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression, postScript.CompressionBlockSize); - var footer = Serializer.Deserialize(decompressedFooterBufferSpan.Slice(0, decompressedFooterSize)); + var decompressedFooterBuffer = CompressedData.CreateDecompressionBuffer(compressedFooterBuffer, postScript.Compression, checked((int)postScript.CompressionBlockSize)); + var decompressedFooterSize = CompressedData.Decompress(compressedFooterBuffer, decompressedFooterBuffer, postScript.Compression); + var footer = Serializer.Deserialize(decompressedFooterBuffer.AsSpan()[..decompressedFooterSize]); - var decompressedMetadataSize = CompressedData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression, postScript.CompressionBlockSize); - var metadata = Serializer.Deserialize(decompressedMetadataBufferSpan.Slice(0, decompressedMetadataSize)); + var decompressedMetadataBuffer = CompressedData.CreateDecompressionBuffer(compressedFooterBuffer, postScript.Compression, checked((int)postScript.CompressionBlockSize)); + var decompressedMetadataSize = CompressedData.Decompress(compressedMetadataBuffer, decompressedMetadataBuffer, postScript.Compression); + var metadata = Serializer.Deserialize(decompressedMetadataBuffer.AsSpan()[..decompressedMetadataSize]); - fileTail = new SpanFileTail - { - PostScript = postScript, - Footer = footer, - Metadata = metadata - }; - } - finally + fileTail = new SpanFileTail { - ArrayPool.Shared.Return(decompressedFooterBuffer, clearArray: false); - ArrayPool.Shared.Return(decompressedMetadataBuffer, clearArray: false); - } + PostScript = postScript, + Footer = footer, + Metadata = metadata + }; additionalBytesRequired = 0; return true; diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index cf7f43d..a51413c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -1,20 +1,19 @@ using ApacheOrcDotNet.Protocol; -using System; namespace ApacheOrcDotNet.OptimizedReader { public class OrcFileProperties { - public OrcFileProperties(CompressionKind compressionKind, int compressionBlockSize, int maxValuesToRead, int reusableBufferLength) + public OrcFileProperties(CompressionKind compressionKind, int decompressedChunkMaxLength, int maxValuesToRead, int numPreallocatedDecompressionChunks) { CompressionKind = compressionKind; - CompressionBlockSize = compressionBlockSize; + DecompressedChunkMaxLength = decompressedChunkMaxLength; MaxValuesToRead = maxValuesToRead; - ReusableBufferLength = reusableBufferLength; + ReusableBufferLength = decompressedChunkMaxLength * numPreallocatedDecompressionChunks; } public CompressionKind CompressionKind { get; } - public int CompressionBlockSize { get; } + public int DecompressedChunkMaxLength { get; } public int MaxValuesToRead { get; } public int ReusableBufferLength { get; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 56024dd..c4bfc1f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -4,7 +4,6 @@ using ApacheOrcDotNet.Statistics; using ProtoBuf; using System; -using System.Buffers; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; @@ -15,8 +14,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcReaderConfiguration { - public int MetadataDecompressionBufferLength { get; set; } = 1 * 1024 * 1024; - public int StreamDecompressionBufferLength { get; set; } = 15 * 1024 * 1024; + public int NumPreallocatedDecompressionChunks { get; set; } = 3; public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } @@ -51,7 +49,7 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize), checked((int)_fileTail.Footer.RowIndexStride), - _configuration.StreamDecompressionBufferLength + _configuration.NumPreallocatedDecompressionChunks ); } @@ -171,24 +169,13 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) && s.ColumnId == columnId ).Single(); - var compressedBuffer = ArrayPool.Shared.Rent(rowIndexStream.Length); - var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, rowIndexStream.Length); - var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.MetadataDecompressionBufferLength); - var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.MetadataDecompressionBufferLength); + var compressedBuffer = new byte[rowIndexStream.Length]; + _byteRangeProvider.FillBuffer(compressedBuffer, rowIndexStream.FileOffset); - try - { - _byteRangeProvider.FillBuffer(compressedBufferSpan, rowIndexStream.FileOffset); - - var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression, _fileTail.PostScript.CompressionBlockSize); + var decompressedBuffer = CompressedData.CreateDecompressionBuffer(compressedBuffer, _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize)); + var decompressedBufferLength = CompressedData.Decompress(compressedBuffer, decompressedBuffer, _fileTail.PostScript.Compression); - return Serializer.Deserialize(decompressedBufferSpan.Slice(0, decompressedBufferLength)); - } - finally - { - ArrayPool.Shared.Return(compressedBuffer, clearArray: false); - ArrayPool.Shared.Return(decompressedBuffer, clearArray: false); - } + return Serializer.Deserialize(decompressedBuffer.AsSpan()[..decompressedBufferLength]); }); } @@ -197,25 +184,15 @@ private SpanFileTail ReadFileTail() int lengthToReadFromEnd = _configuration.OptimisticFileTailReadLength; while (true) { - var fileTailBufferRaw = ArrayPool.Shared.Rent(lengthToReadFromEnd); + var fileTailBuffer = new byte[lengthToReadFromEnd]; + _byteRangeProvider.FillBufferFromEnd(fileTailBuffer); - try - { - var fileTailBuffer = fileTailBufferRaw.AsSpan()[..lengthToReadFromEnd]; - - _byteRangeProvider.FillBufferFromEnd(fileTailBuffer); + var success = SpanFileTail.TryRead(fileTailBuffer, out var fileTail, out var additionalBytesRequired); - var success = SpanFileTail.TryRead(fileTailBuffer, _configuration.MetadataDecompressionBufferLength, out var fileTail, out var additionalBytesRequired); + if (success) + return fileTail; - if (success) - return fileTail; - - lengthToReadFromEnd += additionalBytesRequired; - } - finally - { - ArrayPool.Shared.Return(fileTailBufferRaw, clearArray: false); - } + lengthToReadFromEnd += additionalBytesRequired; } } @@ -227,26 +204,14 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterStart = (long)(stripe.Offset + stripe.IndexLength + stripe.DataLength); var stripeFooterLength = (int)stripe.FooterLength; - var compressedBuffer = ArrayPool.Shared.Rent(stripeFooterLength); - var compressedBufferSpan = compressedBuffer.AsSpan().Slice(0, stripeFooterLength); - var decompressedBuffer = ArrayPool.Shared.Rent(_configuration.MetadataDecompressionBufferLength); - var decompressedBufferSpan = decompressedBuffer.AsSpan().Slice(0, _configuration.MetadataDecompressionBufferLength); - - try - { - _byteRangeProvider.FillBuffer(compressedBufferSpan, stripeFooterStart); - - var decompressedBufferLength = CompressedData.Decompress(compressedBufferSpan, decompressedBufferSpan, _fileTail.PostScript.Compression, _fileTail.PostScript.CompressionBlockSize); + var compressedBuffer = new byte[stripeFooterLength]; + _byteRangeProvider.FillBuffer(compressedBuffer, stripeFooterStart); - var streams = SpanStripeFooter.ReadStreamDetails(decompressedBufferSpan.Slice(0, decompressedBufferLength), (long)stripe.Offset); + var decompressedBuffer = CompressedData.CreateDecompressionBuffer(compressedBuffer, _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize)); + var decompressedBufferLength = CompressedData.Decompress(compressedBuffer, decompressedBuffer, _fileTail.PostScript.Compression); + var streams = SpanStripeFooter.ReadStreamDetails(decompressedBuffer.AsSpan()[..decompressedBufferLength], (long)stripe.Offset); - _stripeStreams.Add(stripeId, streams.ToList()); - } - finally - { - ArrayPool.Shared.Return(compressedBuffer, clearArray: false); - ArrayPool.Shared.Return(decompressedBuffer, clearArray: false); - } + _stripeStreams.Add(stripeId, streams.ToList()); } return _stripeStreams[stripeId]; @@ -273,7 +238,7 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.Present = present with { Positions = GetPresentStreamPositions(present, rowIndexEntry), - Range = CalculatePresentRange(stripeId, present, column, rowIndex, rowEntryIndex) + Range = CalculatePresentRange(stripeId, present, rowIndex, rowEntryIndex) }; } @@ -322,7 +287,7 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R return result; } - private StreamPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) + private static StreamPositions GetPresentStreamPositions(StreamDetail presentStream, RowIndexEntry rowIndexEntry) { if (presentStream == null) return new(); @@ -330,7 +295,7 @@ private StreamPositions GetPresentStreamPositions(StreamDetail presentStream, Ro return new((int)rowIndexEntry.Positions[0], (int)rowIndexEntry.Positions[1], (int)rowIndexEntry.Positions[2], (int)rowIndexEntry.Positions[3]); } - private StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndexEntry rowIndexEntry) + private static StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndexEntry rowIndexEntry) { var positionStep = presentStream == null ? 0 : 4; @@ -427,7 +392,7 @@ private StreamPositions GetRequiredStreamPositions(StreamDetail presentStream, S return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex) { var rangeLength = 0; var currentEntry = rowIndex.Entry[rowEntryIndex]; @@ -452,7 +417,7 @@ private StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStre return new(stripeId, presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } - private StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) { var rangeLength = 0; var currentEntry = rowIndex.Entry[rowEntryIndex]; diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs deleted file mode 100644 index c5cd834..0000000 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/Buffers_Test.cs +++ /dev/null @@ -1,63 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using System.Threading.Tasks; -using Xunit; - -namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes -{ - public class Buffers_Test : _BaseColumnTypeWithNulls - { - [Fact] - public async Task Small_ByteRange_Buffer_Will_Throw() - { - // Maximum byte range requested by the binary column is 22191 bytes. - var config = new OrcReaderConfiguration() { StreamDecompressionBufferLength = 1024 }; - var reader = new OrcReader(config, _byteRangeProvider); - - var column = reader.GetColumn("binary"); - var columnBuffer = reader.CreateBinaryColumnBuffer(column); - - var exception = await Assert.ThrowsAsync(async () => - await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) - ); - - Assert.NotNull(exception); - Assert.Contains("22191", exception.Message); - Assert.Contains("1024", exception.Message); - } - - [Fact] - public async Task Small_Decompress_Buffer_Will_Throw() - { - // Maximum decompressed length required by the binary column is 68776 bytes. - var config = new OrcReaderConfiguration() { StreamDecompressionBufferLength = 32768 }; - var reader = new OrcReader(config, _byteRangeProvider); - - var column = reader.GetColumn("binary"); - var columnBuffer = reader.CreateBinaryColumnBuffer(column); - - var exception = await Assert.ThrowsAsync(async () => - await reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer) - ); - - Assert.NotNull(exception); - Assert.Contains("68776", exception.Message); - Assert.Contains("32768", exception.Message); - } - - [Fact] - public void Tail_Decompress_Buffer_Will_Throw() - { - // Initial decompressed length required by the tail section is 523 bytes. - var config = new OrcReaderConfiguration() { MetadataDecompressionBufferLength = 512 }; - - var exception = Assert.Throws(() => - { - var reader = new OrcReader(config, _byteRangeProvider); - }); - - Assert.NotNull(exception); - Assert.Contains("523", exception.Message); - Assert.Contains("512", exception.Message); - } - } -} From f06291ef9a0a9100c304a6fc61973328e7cddba1 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Sun, 31 Jul 2022 22:17:09 -0300 Subject: [PATCH 126/143] Remove last byte logic from booleans. Update unit tests. --- .../Buffers/BaseColumnBuffer.cs | 59 ++++++++----------- .../WithNulls/BinaryColumn_Test.cs | 19 +++--- .../WithNulls/BooleanColumn_Test.cs | 19 +++--- .../ColumnTypes/WithNulls/ByteColumn_Test.cs | 19 +++--- .../ColumnTypes/WithNulls/DateColumn_Test.cs | 19 +++--- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 19 +++--- .../WithNulls/DecimalColumn_Test.cs | 19 +++--- .../WithNulls/DoubleColumn_Test.cs | 19 +++--- .../DoubleWithNullAsNaNColumnBuffer_Test.cs | 19 +++--- .../ColumnTypes/WithNulls/FloatColumn_Test.cs | 19 +++--- .../FloatWithNullAsNaNColumnBuffer_Test.cs | 19 +++--- .../WithNulls/IntegerColumn_Test.cs | 25 ++++---- .../WithNulls/StringColumn_Test.cs | 36 +++++------ .../WithNulls/TimestampColumn_Test.cs | 19 +++--- .../WithoutNulls/BinaryColumn_Test.cs | 7 +-- .../WithoutNulls/BooleanColumn_Test.cs | 10 ++-- .../WithoutNulls/ByteColumn_Test.cs | 7 +-- .../WithoutNulls/DateColumn_Test.cs | 7 +-- .../DecimalAsDoubleColumn_Test.cs | 6 +- .../WithoutNulls/DecimalColumn_Test.cs | 7 +-- .../WithoutNulls/DoubleColumn_Test.cs | 7 +-- .../DoubleWithNullAsNaNColumnBuffer_Test.cs | 7 +-- .../WithoutNulls/FloatColumn_Test.cs | 7 +-- .../FloatWithNullAsNaNColumnBuffer_Test.cs | 7 +-- .../WithoutNulls/IntegerColumn_Test.cs | 7 +-- .../WithoutNulls/StringColumn_Test.cs | 14 ++--- .../WithoutNulls/TimestampColumn_Test.cs | 7 +-- 27 files changed, 195 insertions(+), 234 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 1b2cd0b..dc23154 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -2,7 +2,6 @@ using ApacheOrcDotNet.OptimizedReader.Encodings; using ApacheOrcDotNet.OptimizedReader.Infrastructure; using System; -using System.Numerics; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReader.Buffers @@ -79,82 +78,72 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan if (stream == null) return; - var numSkipped = 0; - var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); - var numOfTotalBitsToSkip = stream.Positions.ValuesToSkip * 8 + stream.Positions.RemainingBits; - var numOfBytesToSkip = numOfTotalBitsToSkip / 8; + var numSkippedBits = 0; + var numSkippedBytes = 0; var checkRemainingBits = true; + var numOfBytesToSkip = stream.Positions.ValuesToSkip; + var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); + while (!bufferReader.Complete) { var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { - if (numSkipped++ < numOfBytesToSkip) + if (numSkippedBytes++ < numOfBytesToSkip) continue; var decodedByte = _boolStreamBuffer[idx]; - var isFinalByte = bufferReader.Complete && idx >= numByteValuesRead - 1; - - // Skip remaining bits. - if (checkRemainingBits && numOfBytesToSkip % 8 != 0) - { - decodedByte = (byte)(decodedByte << numOfTotalBitsToSkip % 8); - checkRemainingBits = false; - } - - if (isFinalByte && decodedByte == 0) - { - // Edge case where there is only one value for the row entry and that value is null - outputValues[numValuesRead++] = false; - return; - } outputValues[numValuesRead++] = (decodedByte & 128) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 7) - return; outputValues[numValuesRead++] = (decodedByte & 64) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 6) - return; outputValues[numValuesRead++] = (decodedByte & 32) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 5) - return; outputValues[numValuesRead++] = (decodedByte & 16) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 4) - return; outputValues[numValuesRead++] = (decodedByte & 8) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 3) - return; outputValues[numValuesRead++] = (decodedByte & 4) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 2) - return; outputValues[numValuesRead++] = (decodedByte & 2) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + numValuesRead--; if (numValuesRead >= outputValues.Length) return; - if (isFinalByte && BitOperations.TrailingZeroCount(decodedByte) == 1) - return; outputValues[numValuesRead++] = (decodedByte & 1) != 0; + if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) + return; if (numValuesRead >= outputValues.Length) return; + + checkRemainingBits = false; } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs index 0adaba4..210c6da 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BinaryColumn_Test.cs @@ -36,15 +36,16 @@ public void Binary_Column_1_Value() var columnBuffer = reader.CreateBinaryColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedBinaries[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedBinaries[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(ExpectedBinaries[10_000], Encoding.UTF8.GetString(columnBuffer.Values[0])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs index c599443..de439b6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/BooleanColumn_Test.cs @@ -35,15 +35,16 @@ public void Boolean_Column_1_Value() var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedBooleans[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedBooleans[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(bool.Parse(ExpectedBooleans[10_000]), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs index cd523b6..885ca2d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/ByteColumn_Test.cs @@ -35,15 +35,16 @@ public void Byte_Column_1_Value() var columnBuffer = reader.CreateByteColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedBytes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedBytes[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(byte.Parse(ExpectedBytes[10_000]), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs index aaa5294..e125755 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DateColumn_Test.cs @@ -36,15 +36,16 @@ public void Date_Column_1_Value() var columnBuffer = reader.CreateDateColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedDates[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedDates[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(DateTime.Parse(ExpectedDates[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 5ddb38d..7213560 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -35,15 +35,16 @@ public void DecimalAsDouble_Column_1_Value() var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedTimesAsDouble[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedTimesAsDouble[10_000] == null) + Assert.Equal(double.NaN, columnBuffer.Values[0]); + else + Assert.Equal(double.Parse(ExpectedTimesAsDouble[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index 7408a3f..4315d1a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -35,15 +35,16 @@ public void Decimal_Column_1_Value() var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedTimes[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedTimes[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(decimal.Parse(ExpectedTimes[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs index 1d3ea7a..02be389 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleColumn_Test.cs @@ -35,15 +35,16 @@ public void Double_Column_1_Value() var columnBuffer = reader.CreateDoubleColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedDoubles[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedDoubles[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(double.Parse(ExpectedDoubles[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs index 91f70f7..dfd22f2 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs @@ -35,15 +35,16 @@ public void Double_Column_1_Value() var columnBuffer = reader.CreateDoubleWithNullAsNaNColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedDoubles[i] == null) - Assert.Equal(double.NaN, columnBuffer.Values[i]); - else - Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedDoubles[10_000] == null) + Assert.Equal(double.NaN, columnBuffer.Values[0]); + else + Assert.Equal(double.Parse(ExpectedDoubles[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs index dd56303..a5657b0 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatColumn_Test.cs @@ -35,15 +35,16 @@ public void Float_Column_1_Value() var columnBuffer = reader.CreateFloatColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedFloats[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedFloats[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(float.Parse(ExpectedFloats[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs index 9942520..869c106 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/FloatWithNullAsNaNColumnBuffer_Test.cs @@ -35,15 +35,16 @@ public void Float_Column_1_Value() var columnBuffer = reader.CreateFloatWithNullAsNaNColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedFloats[i] == null) - Assert.Equal(float.NaN, columnBuffer.Values[i]); - else - Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedFloats[10_000] == null) + Assert.Equal(float.NaN, columnBuffer.Values[0]); + else + Assert.Equal(float.Parse(ExpectedFloats[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 518dd77..8756a6d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -32,18 +32,19 @@ public void Integer_Column_1_Value() var reader = new OrcReader(config, _byteRangeProvider); var column = reader.GetColumn("size"); - var buffer = reader.CreateIntegerColumnBuffer(column); - reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, buffer).Wait(); - - Assert.Equal(1, buffer.Values.Length); - - for (int i = 10_000; i < buffer.Values.Length; i++) - { - if (ExpectedSizes[i] == null) - Assert.Null(buffer.Values[i]); - else - Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), buffer.Values[i]); - } + var columnBuffer = reader.CreateIntegerColumnBuffer(column); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); + + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedSizes[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(long.Parse(ExpectedSizes[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index 726c355..bb515f8 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -35,15 +35,16 @@ public void String_DirectV2_Column_1_Value() var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedSymbols[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedSymbols[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(ExpectedSymbols[10_000], columnBuffer.Values[0]); } [Fact] @@ -77,15 +78,16 @@ public void String_DictionaryV2_Column_1_Value() var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedSources[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); - } + // But we are only interested in the first here + if (ExpectedSources[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(ExpectedSources[10_000], columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs index aeaa317..0341d95 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/TimestampColumn_Test.cs @@ -36,15 +36,16 @@ public void Timestamp_Column_1_Value() var columnBuffer = reader.CreateTimestampColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); - - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - if (ExpectedTimestamps[i] == null) - Assert.Null(columnBuffer.Values[i]); - else - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); - } + // When present streams are available, we will + // always have at least 8 values in the + // end of the values buffer. + Assert.Equal(8, columnBuffer.Values.Length); + + // But we are only interested in the first here + if (ExpectedTimestamps[10_000] == null) + Assert.Null(columnBuffer.Values[0]); + else + Assert.Equal(DateTime.Parse(ExpectedTimestamps[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs index fb1bd7c..4b72f10 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BinaryColumn_Test.cs @@ -36,11 +36,8 @@ public void Binary_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(ExpectedBinaries[i], Encoding.UTF8.GetString(columnBuffer.Values[i])); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(ExpectedBinaries[10_000], Encoding.UTF8.GetString(columnBuffer.Values[0])); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs index 019fd71..1997c1c 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/BooleanColumn_Test.cs @@ -33,13 +33,11 @@ public void Boolean_Column_1_Value() var columnBuffer = reader.CreateBooleanColumnReader(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); - Assert.Equal(1, columnBuffer.Values.Length); + // We will always have at least 8 bits being processed. + Assert.Equal(8, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(bool.Parse(ExpectedBooleans[i]), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(bool.Parse(ExpectedBooleans[10_000]), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs index 83ac669..9733174 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/ByteColumn_Test.cs @@ -35,11 +35,8 @@ public void Byte_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(byte.Parse(ExpectedBytes[i]), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(byte.Parse(ExpectedBytes[10_000]), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs index a799e4d..97419a8 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DateColumn_Test.cs @@ -36,11 +36,8 @@ public void Date_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(DateTime.Parse(ExpectedDates[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(DateTime.Parse(ExpectedDates[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index a03a597..6deac99 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -35,11 +35,7 @@ public void DecimalAsDouble_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.Equal(double.NaN, columnBuffer.Values[i]); - Assert.Equal(double.Parse(ExpectedTimesAsDouble[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.Equal(double.Parse(ExpectedTimesAsDouble[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index 7f38831..b720ada 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -35,11 +35,8 @@ public void Decimal_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(decimal.Parse(ExpectedTimes[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(decimal.Parse(ExpectedTimes[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs index 5d9e112..56d24ad 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleColumn_Test.cs @@ -35,11 +35,8 @@ public void Double_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(double.Parse(ExpectedDoubles[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs index 7799fc1..48697e7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DoubleWithNullAsNaNColumnBuffer_Test.cs @@ -35,11 +35,8 @@ public void Double_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotEqual(double.NaN, columnBuffer.Values[i]); - Assert.Equal(double.Parse(ExpectedDoubles[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotEqual(double.NaN, columnBuffer.Values[0]); + Assert.Equal(double.Parse(ExpectedDoubles[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs index a737cc0..6d8d565 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatColumn_Test.cs @@ -35,11 +35,8 @@ public void Float_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(float.Parse(ExpectedFloats[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs index 7ef687c..322000a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/FloatWithNullAsNaNColumnBuffer_Test.cs @@ -35,11 +35,8 @@ public void Float_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotEqual(float.NaN, columnBuffer.Values[i]); - Assert.Equal(float.Parse(ExpectedFloats[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotEqual(float.NaN, columnBuffer.Values[0]); + Assert.Equal(float.Parse(ExpectedFloats[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index e34ba89..96824e1 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -35,11 +35,8 @@ public void Integer_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(long.Parse(ExpectedSizes[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(long.Parse(ExpectedSizes[10_000], _invariantCulture), columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index 407ef2b..c6efea6 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -35,11 +35,8 @@ public void String_DirectV2_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(ExpectedSymbols[i], columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(ExpectedSymbols[10_000], columnBuffer.Values[0]); } [Fact] @@ -73,11 +70,8 @@ public void String_DictionaryV2_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(ExpectedSources[i], columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(ExpectedSources[10_000], columnBuffer.Values[0]); } } } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs index e95e17e..651809f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/TimestampColumn_Test.cs @@ -36,11 +36,8 @@ public void Timestamp_Column_1_Value() Assert.Equal(1, columnBuffer.Values.Length); - for (int i = 10_000; i < columnBuffer.Values.Length; i++) - { - Assert.NotNull(columnBuffer.Values[i]); - Assert.Equal(DateTime.Parse(ExpectedTimestamps[i], _invariantCulture), columnBuffer.Values[i]); - } + Assert.NotNull(columnBuffer.Values[0]); + Assert.Equal(DateTime.Parse(ExpectedTimestamps[10_000], _invariantCulture), columnBuffer.Values[0]); } } } From 35a6d3dafb87c9e8bf47687413b79018821ddb1b Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 1 Aug 2022 11:43:49 -0300 Subject: [PATCH 127/143] Refactor TradeDataSource classes. --- .../Buffers/BaseColumnBuffer.cs | 3 +- .../TradeDataSource.cs | 228 +++++++++++------- .../TradeDataSourceApp.cs | 20 +- 3 files changed, 165 insertions(+), 86 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index dc23154..980fdcc 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -143,7 +143,8 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan if (numValuesRead >= outputValues.Length) return; - checkRemainingBits = false; + if (checkRemainingBits) + checkRemainingBits = false; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs index 87d7bad..c36000a 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs @@ -8,120 +8,182 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { + public class Columns + { + public OrcColumn Source { get; init; } + public OrcColumn Symbol { get; init; } + public OrcColumn Time { get; init; } + public OrcColumn Price { get; init; } + public OrcColumn Size { get; init; } + } + + public class Buffers + { + public BaseColumnBuffer Source { get; init; } + public BaseColumnBuffer Symbol { get; init; } + public BaseColumnBuffer Time { get; init; } + public BaseColumnBuffer Price { get; init; } + public BaseColumnBuffer Size { get; init; } + } + + public class Lookup + { + public string Source { get; init; } + public string Symbol { get; init; } + public TimeSpan StartTime { get; set; } + public TimeSpan EndTime { get; set; } + } + public class TradeDataSource { private readonly Reader _reader; - private readonly string _souce; - private readonly string _symbol; + private readonly Lookup _lookup; + private readonly Columns _columns; + private readonly Buffers _buffers; + private readonly Dictionary> _matchCandidates = new(); public TradeDataSource(Reader reader, string source, string symbol) { _reader = reader; - _souce = source; - _symbol = symbol; + + _lookup = new Lookup + { + Source = source, + Symbol = symbol + }; + + _columns = new Columns + { + Source = _reader.GetColumn("source"), + Symbol = _reader.GetColumn("symbol"), + Time = _reader.GetColumn("time"), + Price = _reader.GetColumn("price"), + Size = _reader.GetColumn("size") + }; + + _buffers = new Buffers + { + Source = reader.CreateStringColumnBuffer(_columns.Source), + Symbol = reader.CreateStringColumnBuffer(_columns.Symbol), + Time = reader.CreateDecimalColumnBuffer(_columns.Time), + Price = reader.CreateDecimalColumnBuffer(_columns.Price), + Size = reader.CreateIntegerColumnBuffer(_columns.Size) + }; + + var sourceFilterValues = FilterValues.CreateFromString(min: source, max: source); + var symbolFilterValues = FilterValues.CreateFromString(min: symbol, max: symbol); + + var stripeIds = _reader.FilterStripes(_columns.Source, sourceFilterValues); + stripeIds = _reader.FilterStripes(stripeIds, _columns.Symbol, symbolFilterValues); + + foreach (var stripeId in stripeIds) + { + var rowGroupIndexes = _reader.FilterRowGroups(stripeId, _columns.Source, sourceFilterValues); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, _columns.Symbol, symbolFilterValues); + + if (rowGroupIndexes.Any()) + _matchCandidates.Add(stripeId, rowGroupIndexes.ToList()); + } } public TimeRangeReader CreateTimeRangeReader(TimeSpan startTime, TimeSpan endTime) - => new TimeRangeReader(_reader, _souce, _symbol, startTime, endTime); + { + _lookup.StartTime = startTime; + _lookup.EndTime = endTime; + + return new TimeRangeReader(_reader, _lookup, _columns, _buffers, _matchCandidates); + } } public class TimeRangeReader { private readonly Reader _reader; - private readonly string _souce; - private readonly string _symbol; - private readonly TimeSpan _startTime; - private readonly TimeSpan _endTime; - private readonly BaseColumnBuffer _sourceColumnBuffer; - private readonly BaseColumnBuffer _symbolColumnBuffer; - private readonly BaseColumnBuffer _timeColumnBuffer; - private readonly BaseColumnBuffer _priceColumnBuffer; - private readonly BaseColumnBuffer _sizeColumnBuffer; - private readonly Dictionary> _filters = new(); - - public TimeRangeReader(Reader reader, string source, string symbol, TimeSpan startTime, TimeSpan endTime) + private readonly Lookup _lookup; + private readonly Columns _columns; + private readonly Buffers _buffers; + private readonly Queue<(int stripeId, int rowGroupIndex)> _matches = new(); + private readonly Dictionary> _matchCandidates = new(); + private bool _valuesFound; + + public TimeRangeReader(Reader reader, Lookup lookup, Columns columns, Buffers buffers, Dictionary> matchCandidates) { _reader = reader; - _souce = source; - _symbol = symbol; - _startTime = startTime; - _endTime = endTime; - - var sourceColumn = _reader.GetColumn("source"); - var symbolColumn = _reader.GetColumn("symbol"); - var timeColumn = _reader.GetColumn("time"); - var priceColumn = _reader.GetColumn("price"); - var sizeColumn = _reader.GetColumn("size"); - - _sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); - _symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - _timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); - _priceColumnBuffer = reader.CreateDecimalColumnBuffer(priceColumn); - _sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); - - var sourceFilterValues = FilterValues.CreateFromString(min: _souce, max: _souce); - var symbolFilterValues = FilterValues.CreateFromString(min: _symbol, max: _symbol); - var timeFilterValues = FilterValues.CreateFromTime(min: _startTime, max: _endTime); - - var stripeIds = _reader.FilterStripes(sourceColumn, sourceFilterValues); - stripeIds = _reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); - stripeIds = _reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); + _lookup = lookup; + _columns = columns; + _buffers = buffers; + _matchCandidates = matchCandidates; - foreach (var stripeId in stripeIds) - { - var rowGroupIndexes = _reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); - - _filters.Add(stripeId, rowGroupIndexes.ToList()); - } + ApplyFilters(); } - public int ApproxRowCount + public int ApproxRowCount => _matches.Count * _reader.MaxValuesPerRowGroup; + + public int ReadBatch(int writeStartIndex, Span times, Span prices, Span sizes) { - get + var writeIndex = 0; + var startTimeTotalSeconds = (decimal)_lookup.StartTime.TotalSeconds; + var endTimeTotalSeconds = (decimal)_lookup.EndTime.TotalSeconds; + + while (_matches.Count > 0) { - var rowGroups = _filters.Values.Sum(v => v.Count); - return rowGroups * _reader.MaxValuesPerRowGroup; + var (stripeId, rowEntryIndex) = _matches.Dequeue(); + + Task.WhenAll( + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Source), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Symbol), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Time), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Size), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Price) + ).Wait(); + + for (int idx = 0; idx < _reader.NumValuesLoaded; idx++) + { + var source = _buffers.Source.Values[idx]; + var symbol = _buffers.Symbol.Values[idx]; + var time = _buffers.Time.Values[idx]; + + if (source == _lookup.Source && symbol == _lookup.Symbol && time >= startTimeTotalSeconds && time <= endTimeTotalSeconds) + { + _valuesFound = true; + + times[writeStartIndex + writeIndex] = _buffers.Time.Values[idx]; + sizes[writeStartIndex + writeIndex] = _buffers.Size.Values[idx]; + prices[writeStartIndex + writeIndex] = _buffers.Price.Values[idx]; + + writeIndex++; + } + } + + // We only keep looking for values if + // nothing has been found before. + if (writeIndex == 0 && !_valuesFound) + continue; + + break; } + + return writeIndex; } - public int ReadBatch(Span times, Span prices, Span sizes) + public void Reset() => ApplyFilters(); + + private void ApplyFilters() { - var numRows = 0; - var startTimeTotalSeconds = (decimal)_startTime.TotalSeconds; - var endTimeTotalSeconds = (decimal)_endTime.TotalSeconds; + _matches.Clear(); + _valuesFound = false; - foreach (var (stripeId, rowGroupIndexes) in _filters) + var timeFilterValue = FilterValues.CreateFromTime(min: _lookup.StartTime, max: _lookup.EndTime); + var stripeIds = _reader.FilterStripes(_matchCandidates.Keys, _columns.Time, timeFilterValue); + + foreach (var stripeId in stripeIds) { - foreach (var rowEntryIndex in rowGroupIndexes) + var rowGroupIndexes = _reader.FilterRowGroups(_matchCandidates[stripeId], stripeId, _columns.Time, timeFilterValue).ToList(); + + foreach (var rowGroupIndex in rowGroupIndexes) { - Task.WhenAll( - _reader.LoadDataAsync(stripeId, rowEntryIndex, _sourceColumnBuffer), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _symbolColumnBuffer), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _timeColumnBuffer), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _sizeColumnBuffer), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _priceColumnBuffer) - ).Wait(); - - for (int idx = 0; idx < _reader.NumValuesLoaded; idx++) - { - var source = _sourceColumnBuffer.Values[idx]; - var symbol = _symbolColumnBuffer.Values[idx]; - var time = _timeColumnBuffer.Values[idx]; - - if (source == _souce && symbol == _symbol && time >= startTimeTotalSeconds && time <= endTimeTotalSeconds) - { - times[numRows] = _timeColumnBuffer.Values[idx]; - sizes[numRows] = _sizeColumnBuffer.Values[idx]; - prices[numRows] = _priceColumnBuffer.Values[idx]; - numRows++; - } - } + _matches.Enqueue((stripeId, rowGroupIndex)); } } - - return numRows; } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs index a2e3c19..edb1cdd 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs @@ -28,7 +28,13 @@ public void Run() watch.Start(); - var timeRanges = new[] { (43200, 46800), (50400, 54000) }; + var timeRanges = new[] { + (35000, 35001), // 09:43:20, 09:43:21 + (35077, 35078), // 09:44:37, 09:44:38 + (43200, 46800), // 12:00:00, 01:00:00 + (50400, 54000) // 02:00:00, 03:00:00 + }; + var symbolData = new TradeDataSource(reader, _configuration.Source, _configuration.Symbol); foreach (var (sTime, eTime) in timeRanges) @@ -40,8 +46,18 @@ public void Run() var times = new decimal?[approxRowCount]; var prices = new decimal?[approxRowCount]; var sizes = new long?[approxRowCount]; + var numRows = 0; + + while (true) + { + var rowsRead = timeRangeReader.ReadBatch(numRows, times, prices, sizes); + if (rowsRead == 0) + break; + Console.Write("."); + numRows += rowsRead; + } - int numRows = timeRangeReader.ReadBatch(times, prices, sizes); + //numRows = timeRangeReader.ReadBatch(times, prices, sizes); Console.WriteLine(); Console.WriteLine($"Read {numRows} rows of data"); From 214c8251df00e754782e17f52dc4d21e804d15ed Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 3 Aug 2022 19:46:45 -0300 Subject: [PATCH 128/143] Add sample to read entire file. Update sample app names. --- .../Infrastructure/CompressedData.cs | 4 - .../OrcFileProperties.cs | 4 +- .../OrcReader.cs | 8 +- .../Configs.cs | 12 ++ .../Program.cs | 11 +- .../ReadAllApp.cs | 120 ++++++++++++++++++ ...{OptimizedORCApp.cs => ReadFilteredApp.cs} | 16 +-- .../TradeDataSourceApp.cs | 13 +- 8 files changed, 156 insertions(+), 32 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs rename src/ApacheOrcDotNet.OptimizedReaderTest.App/{OptimizedORCApp.cs => ReadFilteredApp.cs} (93%) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index 547b2e9..3c5749c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -18,11 +18,7 @@ public static byte[] CheckDecompressionBuffer(ReadOnlySpan inputBuffer, by } if (maxDecompressionLength > targetDecompressionBuffer.Length) - { - Console.WriteLine("Aaaaa"); targetDecompressionBuffer = new byte[maxDecompressionLength]; - } - return targetDecompressionBuffer; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs index a51413c..25a7d94 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcFileProperties.cs @@ -4,12 +4,12 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcFileProperties { - public OrcFileProperties(CompressionKind compressionKind, int decompressedChunkMaxLength, int maxValuesToRead, int numPreallocatedDecompressionChunks) + public OrcFileProperties(CompressionKind compressionKind, int decompressedChunkMaxLength, int maxValuesToRead, int numPreAllocatedDecompressionChunks) { CompressionKind = compressionKind; DecompressedChunkMaxLength = decompressedChunkMaxLength; MaxValuesToRead = maxValuesToRead; - ReusableBufferLength = decompressedChunkMaxLength * numPreallocatedDecompressionChunks; + ReusableBufferLength = decompressedChunkMaxLength * numPreAllocatedDecompressionChunks; } public CompressionKind CompressionKind { get; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index c4bfc1f..19c879c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -14,7 +14,7 @@ namespace ApacheOrcDotNet.OptimizedReader { public class OrcReaderConfiguration { - public int NumPreallocatedDecompressionChunks { get; set; } = 3; + public int NumPreAllocatedDecompressionChunks { get; set; } = 3; public int OptimisticFileTailReadLength { get; set; } = 16 * 1024; } @@ -49,13 +49,17 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize), checked((int)_fileTail.Footer.RowIndexStride), - _configuration.NumPreallocatedDecompressionChunks + _configuration.NumPreAllocatedDecompressionChunks ); } public int NumValuesLoaded { get; set; } public int MaxValuesPerRowGroup => _orcFileProperties.MaxValuesToRead; + public int GetNumberOfStripes() => _fileTail.Metadata.StripeStats.Count; + + public int GetNumberOfRowGroupEntries(int stripeId, int columnId) => GetColumnRowIndex(columnId, stripeId).Entry.Count; + public OrcColumn GetColumn(string columnName) { if (!_protoColumns.TryGetValue(columnName?.ToLower(), out var column)) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs new file mode 100644 index 0000000..905cb5d --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs @@ -0,0 +1,12 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class Configs + { + public string Source { get; set; } + public string Symbol { get; set; } + public TimeSpan BeginTime { get; set; } + public TimeSpan EndTime { get; set; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 03e0845..a92492b 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -51,7 +51,7 @@ static async Task Main(string[] args) Console.WriteLine($"endTime: '{endTime}'"); Console.WriteLine(); - var configs = new OptimizedORCAppConfiguration + var configs = new Configs { Source = source, Symbol = symbol, @@ -65,16 +65,19 @@ static async Task Main(string[] args) stopWatch.Start(); // Sample app 1 - await (new OptimizedORCApp(uri, configs, fileByteRangeProviderFactory)).Run(); + await (new ReadAllApp(uri, fileByteRangeProviderFactory)).Run(); - //// Sample app 2 + // Sample app 2 + //await (new ReadFilteredApp(uri, configs, fileByteRangeProviderFactory)).Run(); + + //// Sample app 3 //// This requires a test file with a sorce,symbol,time,price and size fields. //// (Or the test class below can be updated to use different fields) //(new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run(); stopWatch.Stop(); - Console.WriteLine($"Total execution time: {stopWatch.Elapsed.ToString("mm':'ss':'fff")}"); + Console.WriteLine($"Total execution time: {stopWatch.Elapsed:mm':'ss':'fff}"); Console.WriteLine(); } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs new file mode 100644 index 0000000..3bee5fb --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs @@ -0,0 +1,120 @@ +using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Diagnostics; +using System.Globalization; +using System.Text; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class ReadAllApp + { + private readonly string _orcFileUri; + private readonly IByteRangeProviderFactory _byteRangeProviderFactory; + + public ReadAllApp(string orcFileUri, IByteRangeProviderFactory byteRangeProviderFactory) + { + _orcFileUri = orcFileUri; + _byteRangeProviderFactory = byteRangeProviderFactory; + } + + public async Task Run() + { + // + var watch = new Stopwatch(); + var configs = new OrcReaderConfiguration(); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri); + var reader = new OptimizedReader.OrcReader(configs, rangeProvider); + + watch.Start(); + + // Columns + var sourceColumn = reader.GetColumn("source"); + var symbolColumn = reader.GetColumn("symbol"); + var timeColumn = reader.GetColumn("time"); + var sizeColumn = reader.GetColumn("size"); + var dateColumn = reader.GetColumn("date"); + var doubleColumn = reader.GetColumn("double"); + var floatColumn = reader.GetColumn("float"); + var timeStampColumn = reader.GetColumn("timeStamp"); + var binaryColumn = reader.GetColumn("binary"); + var byteColumn = reader.GetColumn("byte"); + var booleanColumn = reader.GetColumn("boolean"); + + // Buffers + var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); + var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); + var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); + var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); + var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = reader.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = reader.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = reader.CreateByteColumnBuffer(byteColumn); + var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); + + // Read + var totalCount = 0; + + for (var stripeId = 0; stripeId < reader.GetNumberOfStripes(); stripeId++) + { + for (var rowEntryIndex = 0; rowEntryIndex < reader.GetNumberOfRowGroupEntries(stripeId, timeColumn.Id); rowEntryIndex++) + { + await Task.WhenAll( + reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) + ); + + for (int idx = 0; idx < reader.NumValuesLoaded; idx++) + { + totalCount++; + + var source = sourceColumnBuffer.Values[idx]; + var symbol = symbolColumnBuffer.Values[idx]; + var time = timeColumnBuffer.Values[idx]; + var size = sizeColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; + var boolean = booleanColumnBuffer.Values[idx]; + + Console.WriteLine($"" + + $"{source}," + + $"{symbol}," + + $"{time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0')}," + + $"{size}" + + $" " + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + + $"{dobl}," + + $"{sing}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}," + + $"{boolean}" + + $"" + ); + } + } + } + + watch.Stop(); + Console.WriteLine(); + Console.WriteLine($"Read {totalCount} rows."); + Console.WriteLine($"Read execution time: {watch.Elapsed:mm':'ss':'fff}"); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs similarity index 93% rename from src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs rename to src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs index 774d1ad..58f60ef 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/OptimizedORCApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs @@ -8,21 +8,13 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { - public class OptimizedORCAppConfiguration - { - public string Source { get; set; } - public string Symbol { get; set; } - public TimeSpan BeginTime { get; set; } - public TimeSpan EndTime { get; set; } - } - - public class OptimizedORCApp + public class ReadFilteredApp { private readonly string _orcFileUri; - private readonly OptimizedORCAppConfiguration _configuration; + private readonly Configs _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public OptimizedORCApp(string orcFileUri, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + public ReadFilteredApp(string orcFileUri, Configs confituration, IByteRangeProviderFactory byteRangeProviderFactory) { _orcFileUri = orcFileUri; _configuration = confituration; @@ -142,7 +134,7 @@ await Task.WhenAll( watch.Stop(); Console.WriteLine(); - Console.WriteLine($"Read execution time: {watch.Elapsed.ToString("mm':'ss':'fff")}"); + Console.WriteLine($"Read execution time: {watch.Elapsed:mm':'ss':'fff}"); } } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs index edb1cdd..06ca363 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs @@ -8,13 +8,13 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App public class TradeDataSourceApp { private readonly string _orcFileUri; - private readonly OptimizedORCAppConfiguration _configuration; + private readonly Configs _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public TradeDataSourceApp(string orcFileUri, OptimizedORCAppConfiguration confituration, IByteRangeProviderFactory byteRangeProviderFactory) + public TradeDataSourceApp(string orcFileUri, Configs configuration, IByteRangeProviderFactory byteRangeProviderFactory) { _orcFileUri = orcFileUri; - _configuration = confituration; + _configuration = configuration; _byteRangeProviderFactory = byteRangeProviderFactory; } @@ -28,7 +28,7 @@ public void Run() watch.Start(); - var timeRanges = new[] { + var timeRanges = new[] { (35000, 35001), // 09:43:20, 09:43:21 (35077, 35078), // 09:44:37, 09:44:38 (43200, 46800), // 12:00:00, 01:00:00 @@ -57,16 +57,13 @@ public void Run() numRows += rowsRead; } - //numRows = timeRangeReader.ReadBatch(times, prices, sizes); - Console.WriteLine(); Console.WriteLine($"Read {numRows} rows of data"); } watch.Stop(); Console.WriteLine(); - Console.WriteLine($"Read execution time: {watch.Elapsed}"); - Console.WriteLine(); + Console.WriteLine($"Read execution time: {watch.Elapsed:mm':'ss':'fff}"); } } } From a6a7a19f439fc56c89bc2d2400ea94ec4f87c73a Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 3 Aug 2022 20:15:26 -0300 Subject: [PATCH 129/143] Improve range calculations. --- .../OrcReader.cs | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 19c879c..0e59b30 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -237,12 +237,15 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R var result = new ColumnDataStreams(); var present = columnStreams.SingleOrDefault(s => s.StreamKind == StreamKind.Present); + if (present != null) { + var presentPositions = GetPresentStreamPositions(present, rowIndexEntry); + result.Present = present with { - Positions = GetPresentStreamPositions(present, rowIndexEntry), - Range = CalculatePresentRange(stripeId, present, rowIndex, rowEntryIndex) + Positions = presentPositions, + Range = CalculatePresentRange(stripeId, present, rowIndex, rowEntryIndex, presentPositions) }; } @@ -253,34 +256,41 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.EncodingKind = stream.EncodingKind; + var requiredPositions = GetRequiredStreamPositions( + present, + stream, + column, + rowIndexEntry + ); + switch (stream.StreamKind) { case StreamKind.Data: result.Data = stream with { - Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) + Positions = requiredPositions, + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex, requiredPositions) }; break; case StreamKind.DictionaryData: result.DictionaryData = stream with { - Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) + Positions = requiredPositions, + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex, requiredPositions) }; break; case StreamKind.Length: result.Length = stream with { - Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) + Positions = requiredPositions, + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex, requiredPositions) }; break; case StreamKind.Secondary: result.Secondary = stream with { - Positions = GetRequiredStreamPositions(present, stream, column, rowIndexEntry), - Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex) + Positions = requiredPositions, + Range = CalculateDataRange(stripeId, present, stream, column, rowIndex, rowEntryIndex, requiredPositions) }; break; default: @@ -396,11 +406,9 @@ private static StreamPositions GetRequiredStreamPositions(StreamDetail presentSt return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex) + private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPositions) { var rangeLength = 0; - var currentEntry = rowIndex.Entry[rowEntryIndex]; - var currentPositions = GetPresentStreamPositions(presentStream, currentEntry); // Change in the current position marks the start of another entry. for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) @@ -421,11 +429,9 @@ private static StreamRange CalculatePresentRange(int stripeId, StreamDetail pres return new(stripeId, presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); } - private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex) + private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPositions) { var rangeLength = 0; - var currentEntry = rowIndex.Entry[rowEntryIndex]; - var currentPositions = GetRequiredStreamPositions(presentStream, targetedStream, column, currentEntry); // Change in the current position marks the start of another entry. for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) From 6515896cfbe70a1d2fffe09e10f79d0666a01c3b Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 4 Aug 2022 16:25:34 -0300 Subject: [PATCH 130/143] Fix decompression issue when reading entire file. --- .../Buffers/BaseColumnBuffer.cs | 10 ++-- .../Buffers/BinaryColumnBuffer.cs | 2 +- .../Buffers/BooleanColumnBuffer.cs | 2 +- .../Buffers/ByteColumnBuffer.cs | 2 +- .../Buffers/DateColumnBuffer.cs | 2 +- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 2 +- .../Buffers/DecimalColumnBuffer.cs | 2 +- .../Buffers/DoubleColumnBuffer.cs | 2 +- .../DoubleWithNullAsNaNColumnBuffer.cs | 2 +- .../Buffers/FloatColumnBuffer.cs | 2 +- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 2 +- .../Buffers/IntegerColumnBuffer.cs | 2 +- .../Buffers/StringColumnBuffer.cs | 4 +- .../Buffers/TimestampColumnBuffer.cs | 2 +- .../Infrastructure/CompressedData.cs | 6 +-- .../OrcReader.cs | 50 ++++++++++++------- 16 files changed, 51 insertions(+), 43 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 980fdcc..b3f80f8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -20,7 +20,6 @@ public abstract class BaseColumnBuffer private protected int _numValuesRead; private StreamRange _lastRange; - private int _lastRangeLength; public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) { @@ -212,23 +211,20 @@ private protected static void CheckByteRangeBufferLength(StreamDetail stream, re targetBuffer = new byte[stream.Range.Length]; } - private protected async Task GetByteRangeAsync(StreamDetail stream, Memory outputBuffer) + private protected async Task GetByteRangeAsync(StreamDetail stream, Memory outputBuffer) { if (stream == null) - return 0; + return; // If current and last ranges are equal, the previous data will be buffered // and we can return only the length, without requesting the bytes again. if (stream.Range == _lastRange) - return _lastRangeLength; + return; await _byteRangeProvider.FillBufferAsync(outputBuffer[..stream.Range.Length], stream.Range.Offset); - _lastRangeLength = stream.Range.Length; _lastRange = stream.Range; - - return _lastRangeLength; } private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, ref byte[] decompressedOutput, ref int decompressedLength) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index b37f3a3..4984c82 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -42,7 +42,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Length, ref _lengthStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Length, _lengthStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index c2db3d4..dc70e35 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index b9282fd..e819c5e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index f071470..8a07f0c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 1218805..3b6640e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -44,7 +44,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Secondary, ref _secondaryStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 5503423..6ca637c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -44,7 +44,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Secondary, ref _secondaryStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 82a19ae..98bbd22 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs index 167cc26..69c0014 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index eceb292..5103f2a 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs index e556782..baa42e7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 972c630..231a28d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -34,7 +34,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Present, ref _presentStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer) ); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 6522108..3ec3cd5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -55,7 +55,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Length, ref _lengthStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); - var byteRangeTasks = new List>() + var byteRangeTasks = new List() { GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Length, _lengthStreamCompressedBuffer), @@ -67,7 +67,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams byteRangeTasks.Add(GetByteRangeAsync(streams.DictionaryData, _dictionaryStreanCompressedBuffer)); } - _ = await Task.WhenAll(byteRangeTasks); + await Task.WhenAll(byteRangeTasks); DecompressByteRange(streams.Present, _presentStreamCompressedBuffer, ref _presentStreamDecompressedBuffer, ref _presentStreamDecompressedBufferLength); DecompressByteRange(streams.Length, _lengthStreamCompressedBuffer, ref _lengthStreamDecompressedBuffer, ref _lengthStreamDecompressedBufferLength); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 31bfa12..770ed2e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -44,7 +44,7 @@ public override async Task LoadDataAsync(int stripeId, ColumnDataStreams streams CheckByteRangeBufferLength(streams.Data, ref _dataStreamCompressedBuffer); CheckByteRangeBufferLength(streams.Secondary, ref _secondaryStreamCompressedBuffer); - _ = await Task.WhenAll( + await Task.WhenAll( GetByteRangeAsync(streams.Present, _presentStreamCompressedBuffer), GetByteRangeAsync(streams.Data, _dataStreamCompressedBuffer), GetByteRangeAsync(streams.Secondary, _secondaryStreamCompressedBuffer) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index 3c5749c..b657304 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -37,11 +37,7 @@ public static int Decompress(ReadOnlySpan inputBuffer, Span outputBu { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); - var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length - ? inputBuffer[inputPosition..] - : inputBuffer.Slice(inputPosition, compressedChunkLength); - - outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer[outputPosition..]); + outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, inputBuffer.Slice(inputPosition, compressedChunkLength), outputBuffer[outputPosition..]); inputPosition += compressedChunkLength; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 0e59b30..034ef55 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -257,9 +257,9 @@ private ColumnDataStreams GetColumnDataStreams(int stripeId, OrcColumn column, R result.EncodingKind = stream.EncodingKind; var requiredPositions = GetRequiredStreamPositions( - present, - stream, - column, + present, + stream, + column, rowIndexEntry ); @@ -406,50 +406,66 @@ private static StreamPositions GetRequiredStreamPositions(StreamDetail presentSt return new((int)rowGroupOffset, (int)rowEntryOffset, (int)valuesToSkip, (int)remainingBits); } - private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPositions) + private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPosition) { var rangeLength = 0; + var numNextChunksToRead = 0; + var comparisonChunkOffset = currentPosition.RowGroupOffset; // Change in the current position marks the start of another entry. + // Calculate the range length, considering bytes that may exist in the next chunk. for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) { - var nextOffset = GetPresentStreamPositions(presentStream, rowIndex.Entry[idx]); + var nextPosition = GetPresentStreamPositions(presentStream, rowIndex.Entry[idx]); - if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) + if (nextPosition.RowGroupOffset != comparisonChunkOffset) { - // Calculate the range length, adding bytes that may have been included into the next compressed chunk. - rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; + if (++numNextChunksToRead < 2) + { + comparisonChunkOffset = nextPosition.RowGroupOffset; + continue; + } + + rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset); break; } } if (rangeLength == 0) - rangeLength = presentStream.Length - currentPositions.RowGroupOffset; + rangeLength = presentStream.Length - currentPosition.RowGroupOffset; - return new(stripeId, presentStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + return new(stripeId, presentStream.FileOffset + currentPosition.RowGroupOffset, rangeLength); } - private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPositions) + private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPosition) { var rangeLength = 0; + var numNextChunksRead = 0; + var comparisonChunkOffset = currentPosition.RowGroupOffset; // Change in the current position marks the start of another entry. + // Calculate the range length, considering bytes that may exist in the next chunk. for (int idx = rowEntryIndex; idx < rowIndex.Entry.Count; idx++) { - var nextOffset = GetRequiredStreamPositions(presentStream, targetedStream, column, rowIndex.Entry[idx]); + var nextPosition = GetRequiredStreamPositions(presentStream, targetedStream, column, rowIndex.Entry[idx]); - if (nextOffset.RowGroupOffset != currentPositions.RowGroupOffset) + if (nextPosition.RowGroupOffset != comparisonChunkOffset) { - // Calculate the range length, adding bytes that may have been included into the next compressed chunk. - rangeLength = (nextOffset.RowGroupOffset - currentPositions.RowGroupOffset) + nextOffset.RowEntryOffset; + if (++numNextChunksRead < 2) + { + comparisonChunkOffset = nextPosition.RowGroupOffset; + continue; + } + + rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset); break; } } if (rangeLength == 0) - rangeLength = targetedStream.Length - currentPositions.RowGroupOffset; + rangeLength = targetedStream.Length - currentPosition.RowGroupOffset; - return new(stripeId, targetedStream.FileOffset + currentPositions.RowGroupOffset, rangeLength); + return new(stripeId, targetedStream.FileOffset + currentPosition.RowGroupOffset, rangeLength); } } } From 56fd6abb1aea4e382fd622899198d3de0dfa10d9 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 4 Aug 2022 19:19:06 -0300 Subject: [PATCH 131/143] Fix reader not tracking correct number of values. --- .../OrcReader.cs | 19 ++-- .../Program.cs | 7 +- .../ReadAllApp.cs | 47 ++++++---- .../ReadAllOldApp.cs | 89 +++++++++++++++++++ .../ReadFilteredApp.cs | 2 +- .../ColumnTypes/WithNulls/_Edge_Cases.cs | 47 ++++++++++ .../ColumnTypes/WithoutNulls/_Edge_Cases.cs | 49 ++++++++++ 7 files changed, 237 insertions(+), 23 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs create mode 100644 test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 034ef55..fca99b8 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -28,6 +28,7 @@ public sealed class OrcReader private readonly ConcurrentDictionary<(int columnId, int stripeId), RowIndex> _rowGroupIndexes = new(); private readonly Dictionary _protoColumns = new(); private readonly OrcFileProperties _orcFileProperties; + private int _lastLoadedStripeId; public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRangeProvider) { @@ -51,9 +52,11 @@ public OrcReader(OrcReaderConfiguration configuration, IByteRangeProvider byteRa checked((int)_fileTail.Footer.RowIndexStride), _configuration.NumPreAllocatedDecompressionChunks ); + + NumValuesLoaded = _orcFileProperties.MaxValuesToRead; } - public int NumValuesLoaded { get; set; } + public int NumValuesLoaded { get; private set; } public int MaxValuesPerRowGroup => _orcFileProperties.MaxValuesToRead; public int GetNumberOfStripes() => _fileTail.Metadata.StripeStats.Count; @@ -141,17 +144,23 @@ public IEnumerable FilterRowGroups(IEnumerable lookupIndexes, int stri }).ToList(); } - public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer, bool discardPreviousData = true) + public async Task LoadDataAsync(int stripeId, int rowEntryIndexId, BaseColumnBuffer columnBuffer) { - if (discardPreviousData) - columnBuffer.Reset(); + columnBuffer.Reset(); + + if (stripeId != _lastLoadedStripeId) + { + NumValuesLoaded = _orcFileProperties.MaxValuesToRead; + + _lastLoadedStripeId = stripeId; + } var rowIndex = GetColumnRowIndex(columnBuffer.Column.Id, stripeId); var columnStreams = GetColumnDataStreams(stripeId, columnBuffer.Column, rowIndex, rowEntryIndexId); await columnBuffer.LoadDataAsync(stripeId, columnStreams); - if (NumValuesLoaded == 0 || NumValuesLoaded > columnBuffer.Values.Length) + if (NumValuesLoaded > columnBuffer.Values.Length) NumValuesLoaded = columnBuffer.Values.Length; } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index a92492b..e6b0535 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -68,11 +68,16 @@ static async Task Main(string[] args) await (new ReadAllApp(uri, fileByteRangeProviderFactory)).Run(); // Sample app 2 + //await Task.Delay(0); + //(new ReadAllOldApp(uri)).Run(); + + // Sample app 3 //await (new ReadFilteredApp(uri, configs, fileByteRangeProviderFactory)).Run(); - //// Sample app 3 + //// Sample app 4 //// This requires a test file with a sorce,symbol,time,price and size fields. //// (Or the test class below can be updated to use different fields) + //await Task.Delay(0); //(new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run(); stopWatch.Stop(); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs index 3bee5fb..1af0a47 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs @@ -57,10 +57,13 @@ public async Task Run() // Read var totalCount = 0; + var outputData = true; for (var stripeId = 0; stripeId < reader.GetNumberOfStripes(); stripeId++) { - for (var rowEntryIndex = 0; rowEntryIndex < reader.GetNumberOfRowGroupEntries(stripeId, timeColumn.Id); rowEntryIndex++) + var numRowEntryIndexes = reader.GetNumberOfRowGroupEntries(stripeId, timeColumn.Id); + + for (var rowEntryIndex = 0; rowEntryIndex < numRowEntryIndexes; rowEntryIndex++) { await Task.WhenAll( reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), @@ -92,27 +95,39 @@ await Task.WhenAll( var tinyInt = byteColumnBuffer.Values[idx]; var boolean = booleanColumnBuffer.Values[idx]; - Console.WriteLine($"" + - $"{source}," + - $"{symbol}," + - $"{time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0')}," + - $"{size}" + - $" " + - $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + - $"{dobl}," + - $"{sing}," + - $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + - $"{tinyInt}," + - $"{boolean}" + - $"" - ); + if (outputData) + { + Console.WriteLine($"" + + $"{source}," + + $"{symbol}," + + $"{(time.HasValue ? time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + + $"{size}" + + $" " + + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + + $"{dobl}," + + $"{sing}," + + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + + $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{tinyInt}," + + $"{boolean}" + + $"" + ); + } + else + { + if (totalCount % 1000 == 0) + Console.Write("."); + } } } } watch.Stop(); Console.WriteLine(); + + if (!outputData) + Console.WriteLine(); + Console.WriteLine($"Read {totalCount} rows."); Console.WriteLine($"Read execution time: {watch.Elapsed:mm':'ss':'fff}"); } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs new file mode 100644 index 0000000..b335e8b --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs @@ -0,0 +1,89 @@ +using System; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Text; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class Item + { + public string Source { get; set; } + public string Symbol { get; set; } + public decimal? Time { get; set; } + public long? Size { get; set; } + public DateTime? Date { get; set; } + public double? Double { get; set; } + public float? Float { get; set; } + public DateTime? TimeStamp { get; set; } + public byte[] Binary { get; set; } + public byte? Byte { get; set; } + public bool? Boolean { get; set; } + } + + public class ReadAllOldApp + { + private readonly Uri _orcFileUri; + + public ReadAllOldApp(string orcFileUri) + { + if (!Uri.TryCreate(orcFileUri, UriKind.Absolute, out var uri)) + throw new InvalidOperationException($"Invalid file:// URI."); + + if (uri.Scheme != "file") + throw new InvalidOperationException($"Only file:// URIs are supported by this app."); + + _orcFileUri = uri; + } + + public void Run() + { + // + var totalCount = 0; + var outputData = false; + var topwatch = new Stopwatch(); + var fileStream = File.OpenRead(_orcFileUri.LocalPath); + var orcReader = new OrcReader(typeof(Item), fileStream); + + topwatch.Start(); + + foreach (Item item in orcReader.Read()) + { + totalCount++; + + if (outputData) + { + Console.WriteLine($"" + + $"{item.Source}," + + $"{item.Symbol}," + + $"{(item.Time.HasValue ? item.Time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + + $"{item.Size}" + + $" " + + $"{(item.Date.HasValue ? item.Date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + + $"{item.Double}," + + $"{item.Float}," + + $"{(item.TimeStamp.HasValue ? item.TimeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + + $"{(item.Binary != null ? Encoding.ASCII.GetString(item.Binary) : string.Empty)}," + + $"{item.Byte}," + + $"{item.Boolean}" + + $"" + ); + } + else + { + if (totalCount % 1000 == 0) + Console.Write("."); + } + } + + topwatch.Stop(); + Console.WriteLine(); + + if (!outputData) + Console.WriteLine(); + + Console.WriteLine($"Read {totalCount} rows."); + Console.WriteLine($"Read execution time: {topwatch.Elapsed:mm':'ss':'fff}"); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs index 58f60ef..a0f8f71 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs @@ -115,7 +115,7 @@ await Task.WhenAll( Console.WriteLine($"" + $"{source}," + $"{symbol}," + - $"{time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0')}," + + $"{(time.HasValue ? time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + $"{size}" + $" " + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs new file mode 100644 index 0000000..297f881 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs @@ -0,0 +1,47 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithNulls +{ + public class _Edge_Cases : _BaseColumnTypeWithNulls + { + [Fact] + public void All_Values_Will_Track_Stride_Size() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var columnSize = reader.GetColumn("size"); + var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + + var columnBool = reader.GetColumn("boolean"); + var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); + + // rowEntryIndexId '0' has '10_000' data rows. + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBoolBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnSizeBuffer).Wait(); + + // The reader will track the entire stride. + Assert.Equal(10_000, reader.NumValuesLoaded); + } + + [Fact] + public void Few_Values_Will_Track_Lower_Bound_Per_Stripe() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var columnSize = reader.GetColumn("size"); + var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + + var columnBool = reader.GetColumn("boolean"); + var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); + + // rowEntryIndexId '1' has a single data row. + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBoolBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnSizeBuffer).Wait(); + + // When present streams are available, all buffers will have at least 8 values loaded. + Assert.Equal(8, reader.NumValuesLoaded); + } + } +} diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs new file mode 100644 index 0000000..7b15c07 --- /dev/null +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs @@ -0,0 +1,49 @@ +using Xunit; + +namespace ApacheOrcDotNet.OptimizedReader.Test.ColumnTypes.WithoutNulls +{ + public class _Edge_Cases : _BaseColumnTypeWithoutNulls + { + [Fact] + public void All_Values_Will_Track_Stride_Size() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var columnSize = reader.GetColumn("size"); + var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + + var columnBool = reader.GetColumn("boolean"); + var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); + + // rowEntryIndexId '0' has '10_000' data rows. + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBoolBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnSizeBuffer).Wait(); + + // The reader will track the entire stride. + Assert.Equal(10_000, reader.NumValuesLoaded); + } + + [Fact] + public void Few_Values_Will_Track_Lower_Bound_Per_Stripe() + { + var config = new OrcReaderConfiguration(); + var reader = new OrcReader(config, _byteRangeProvider); + + var columnSize = reader.GetColumn("size"); + var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + + var columnBool = reader.GetColumn("boolean"); + var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); + + // rowEntryIndexId '1' has a single data row. + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBoolBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnSizeBuffer).Wait(); + + // The size will contain a sigle value. + // Booleans will still extract 8 values from the last byte. + // The reader tracks the lower bound from all buffers in the last read sequence. + Assert.Equal(1, reader.NumValuesLoaded); + } + } +} From 14a76889d4665ebd083f5306834b06d1135819e5 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 8 Aug 2022 11:24:48 -0300 Subject: [PATCH 132/143] Move RLE buffers ownership to top classes. --- .../BufferFillersBenchmarks.cs | 33 +++++++++++++++++++ .../Buffers/BaseColumnBuffer.cs | 29 +++++----------- .../Buffers/BinaryColumnBuffer.cs | 7 ++-- .../Buffers/BooleanColumnBuffer.cs | 7 ++-- .../Buffers/ByteColumnBuffer.cs | 7 ++-- .../Buffers/DateColumnBuffer.cs | 7 ++-- .../Buffers/DecimalAsDoubleColumnBuffer.cs | 7 ++-- .../Buffers/DecimalColumnBuffer.cs | 7 ++-- .../Buffers/DoubleColumnBuffer.cs | 4 ++- .../DoubleWithNullAsNaNColumnBuffer.cs | 4 ++- .../Buffers/FloatColumnBuffer.cs | 4 ++- .../Buffers/FloatWithNullAsNaNColumnBuffer.cs | 4 ++- .../Buffers/IntegerColumnBuffer.cs | 7 ++-- .../Buffers/StringColumnBuffer.cs | 14 +++++--- .../Buffers/TimestampColumnBuffer.cs | 10 ++++-- .../Encodings/OptimizedByteRLE.cs | 3 +- .../Encodings/OptimizedIntegerRLE.cs | 3 +- .../_Constants.cs | 2 ++ 18 files changed, 109 insertions(+), 50 deletions(-) create mode 100644 perf/MicroBenchmarks/BufferFillersBenchmarks.cs diff --git a/perf/MicroBenchmarks/BufferFillersBenchmarks.cs b/perf/MicroBenchmarks/BufferFillersBenchmarks.cs new file mode 100644 index 0000000..07a6538 --- /dev/null +++ b/perf/MicroBenchmarks/BufferFillersBenchmarks.cs @@ -0,0 +1,33 @@ +using BenchmarkDotNet.Attributes; +using System; + +/* +| Method | Mean | Error | StdDev | Rank | Allocated | +|--------------- |------------:|----------:|----------:|-----:|----------:| +| FillWithLoop | 29,797.8 ns | 481.98 ns | 427.27 ns | 2 | - | +| FillWithMethod | 902.8 ns | 17.79 ns | 28.73 ns | 1 | - | + */ + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class BufferFillersBenchmarks + { + private const int size = 65_536; + private readonly byte[] _buffer = new byte[size]; + + [Benchmark] + public void FillWithLoop() + { + for (int i = 0; i < size; i++) + _buffer[i] = 255; + } + + [Benchmark] + public void FillWithMethod() + { + _buffer.AsSpan().Fill(255); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index b3f80f8..e889f2e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -8,10 +8,6 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public abstract class BaseColumnBuffer { - private readonly long[] _numericStreamBuffer; - private readonly byte[] _byteStreamBuffer; - private readonly byte[] _boolStreamBuffer; - private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcFileProperties _orcFileProperties; private protected readonly OrcColumn _column; @@ -27,13 +23,6 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties _orcFileProperties = orcFileProperties; _column = column; _values = new TOutput[_orcFileProperties.MaxValuesToRead]; - - // RLEs decode values - // from at most two bytes. - var runMaxValues = (int)Math.Pow(2, 16); - _numericStreamBuffer = new long[runMaxValues]; - _byteStreamBuffer = new byte[runMaxValues]; - _boolStreamBuffer = new byte[runMaxValues]; } public OrcColumn Column => _column; @@ -43,7 +32,7 @@ public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties public void Reset() => _numValuesRead = 0; - private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) + private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span rleBuffer, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -55,14 +44,14 @@ private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan de while (!bufferReader.Complete) { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _byteStreamBuffer); + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, rleBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { if (numSkipped++ < stream.Positions.ValuesToSkip) continue; - outputValues[numValuesRead++] = _byteStreamBuffer[idx]; + outputValues[numValuesRead++] = rleBuffer[idx]; if (numValuesRead >= outputValues.Length) return; @@ -70,7 +59,7 @@ private protected void ReadByteStream(StreamDetail stream, ReadOnlySpan de } } - private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span outputValues, out int numValuesRead) + private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span rleBuffer, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -85,14 +74,14 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan while (!bufferReader.Complete) { - var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, _boolStreamBuffer); + var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, rleBuffer); for (int idx = 0; idx < numByteValuesRead; idx++) { if (numSkippedBytes++ < numOfBytesToSkip) continue; - var decodedByte = _boolStreamBuffer[idx]; + var decodedByte = rleBuffer[idx]; outputValues[numValuesRead++] = (decodedByte & 128) != 0; if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) @@ -148,7 +137,7 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan } } - private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, bool isSigned, Span outputValues, out int numValuesRead) + private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan decompressedBuffer, Span rleBuffer, bool isSigned, Span outputValues, out int numValuesRead) { numValuesRead = 0; @@ -160,14 +149,14 @@ private protected void ReadNumericStream(StreamDetail stream, ReadOnlySpan while (!bufferReader.Complete) { - var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned, _numericStreamBuffer); + var numNewValuesRead = OptimizedIntegerRLE.ReadValues(ref bufferReader, isSigned, rleBuffer); for (int idx = 0; idx < numNewValuesRead; idx++) { if (numSkipped++ < stream.Positions.ValuesToSkip) continue; - outputValues[numValuesRead++] = _numericStreamBuffer[idx]; + outputValues[numValuesRead++] = rleBuffer[idx]; if (numValuesRead >= outputValues.Length) return; diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs index 4984c82..fd8c42d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BinaryColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class BinaryColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _lengthRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamBuffer; private readonly long[] _lengthStreamBuffer; @@ -57,8 +60,8 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamBuffer, out var presentValuesRead); - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamBuffer, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], _lengthRleBuffer, isSigned: false, _lengthStreamBuffer, out var lengthValuesRead); var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength]); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs index dc70e35..4be4a8d 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BooleanColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class BooleanColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly byte[] _dataRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly bool[] _dataStreamValues; @@ -47,8 +50,8 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataRleBuffer, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs index e819c5e..91d45d7 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/ByteColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class ByteColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly byte[] _dataRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly byte[] _dataStreamValues; @@ -47,8 +50,8 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadByteStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadByteStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataRleBuffer, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs index 8a07f0c..f14a99c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DateColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DateColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _dataRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; @@ -47,8 +50,8 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataRleBuffer, isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs index 3b6640e..c3662cf 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalAsDoubleColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DecimalAsDoubleColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _secondaryRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; private readonly long[] _secondaryStreamValues; @@ -59,9 +62,9 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], _secondaryRleBuffer, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs index 6ca637c..4ee004f 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DecimalColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DecimalColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _secondaryRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; private readonly long[] _secondaryStreamValues; @@ -59,9 +62,9 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); ReadVarIntStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], _secondaryRleBuffer, isSigned: true, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs index 98bbd22..add9c70 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleColumnBuffer.cs @@ -6,6 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DoubleColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly byte[] _valueBuffer; @@ -47,7 +49,7 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs index 69c0014..2a4b138 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/DoubleWithNullAsNaNColumnBuffer.cs @@ -6,6 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class DoubleWithNullAsNaNColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly byte[] _valueBuffer; @@ -47,7 +49,7 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs index 5103f2a..c91bb36 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatColumnBuffer.cs @@ -6,6 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class FloatColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly byte[] _valueBuffer; @@ -47,7 +49,7 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs index baa42e7..9b31553 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/FloatWithNullAsNaNColumnBuffer.cs @@ -6,6 +6,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class FloatWithNullAsNaNColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly byte[] _valueBuffer; @@ -47,7 +49,7 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); var dataReader = new BufferReader(GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength])); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs index 231a28d..3074520 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/IntegerColumnBuffer.cs @@ -6,6 +6,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class IntegerColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _dataRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; @@ -47,8 +50,8 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataRleBuffer, isSigned: true, _dataStreamValues, out var dataValuesRead); if (presentValuesRead > 0) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs index 3ec3cd5..1d08c36 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/StringColumnBuffer.cs @@ -9,6 +9,10 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class StringColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _lengthRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly long[] _dataRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly Dictionary> _stripeDictionaries = new(); private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; @@ -95,8 +99,8 @@ private void Fill(int stripeId, ColumnDataStreams streams) private void ReadDirectV2(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], isSigned: false, _lengthStreamValues, out var lengthValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], _lengthRleBuffer, isSigned: false, _lengthStreamValues, out var lengthValuesRead); var dataBuffer = GetDataStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength]); @@ -129,13 +133,13 @@ private void ReadDirectV2(ColumnDataStreams streams) private void ReadDictionaryV2(int stripeId, ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: false, _dataStreamValues, out var dataValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataRleBuffer, isSigned: false, _dataStreamValues, out var dataValuesRead); if (!_stripeDictionaries.TryGetValue(stripeId, out var stringsList)) { Span dictionaryV2LengthStreamBuffer = stackalloc long[streams.Length.DictionarySize]; - ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); + ReadNumericStream(streams.Length, _lengthStreamDecompressedBuffer.AsSpan()[.._lengthStreamDecompressedBufferLength], _lengthRleBuffer, isSigned: false, dictionaryV2LengthStreamBuffer, out var lengthValuesRead); int stringOffset = 0; stringsList = new List(); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs index 770ed2e..4291bb3 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/TimestampColumnBuffer.cs @@ -6,6 +6,10 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public class TimestampColumnBuffer : BaseColumnBuffer { + private readonly byte[] _presentRleBuffer = new byte[Constants.RleBufferMaxLength]; + private readonly long[] _dataRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly long[] _secondaryRleBuffer = new long[Constants.RleBufferMaxLength]; + private readonly bool[] _presentStreamValues; private readonly long[] _dataStreamValues; private readonly long[] _secondaryStreamValues; @@ -59,9 +63,9 @@ await Task.WhenAll( private void Fill(ColumnDataStreams streams) { - ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentStreamValues, out var presentValuesRead); - ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], isSigned: true, _dataStreamValues, out var dataValuesRead); - ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); + ReadBooleanStream(streams.Present, _presentStreamDecompressedBuffer.AsSpan()[.._presentStreamDecompressedBufferLength], _presentRleBuffer, _presentStreamValues, out var presentValuesRead); + ReadNumericStream(streams.Data, _dataStreamDecompressedBuffer.AsSpan()[.._dataStreamDecompressedBufferLength], _dataRleBuffer, isSigned: true, _dataStreamValues, out var dataValuesRead); + ReadNumericStream(streams.Secondary, _secondaryStreamDecompressedBuffer.AsSpan()[.._secondaryStreamDecompressedBufferLength], _secondaryRleBuffer, isSigned: false, _secondaryStreamValues, out var secondaryValuesRead); if (dataValuesRead != secondaryValuesRead) throw new InvalidOperationException($"Number of data({dataValuesRead}) and secondary({secondaryValuesRead}) values must match."); diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs index 25fbc49..328abd4 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedByteRLE.cs @@ -18,8 +18,7 @@ public static int ReadValues(ref BufferReader reader, Span outputValues) if (!reader.TryRead(out var repeatedByte)) throw new InvalidOperationException("Read past end of stream"); - for (int i = 0; i < numReadValues; i++) - outputValues[i] = repeatedByte; + outputValues[..numReadValues].Fill(repeatedByte); } else // Literals { diff --git a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs index 9e7f040..2be3fb5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Encodings/OptimizedIntegerRLE.cs @@ -52,8 +52,7 @@ private static int ReadShortRepeatValues(int firstByte, bool isSigned, ref Buffe var repeatingValue = ReadLongBE(ref reader, width, isSigned); - for (int i = 0; i < numReadValues; i++) - outputValues[i] = repeatingValue; + outputValues[..numReadValues].Fill(repeatingValue); return width; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs index 8343167..323eeb6 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs @@ -7,5 +7,7 @@ public static class Constants public static DateTime OrcEpoch = new(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static DateTime UnixEpochUtc = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static DateTime UnixEpochUnspecified = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); + + public const int RleBufferMaxLength = ushort.MaxValue + 1; } } From 477e3187ea69e43c9437d373863fd3f21e6631e9 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 9 Aug 2022 00:36:15 -0300 Subject: [PATCH 133/143] Refactor byte RLE skip functionality for remaining bits. --- .../Buffers/BaseColumnBuffer.cs | 79 ++++++++----------- 1 file changed, 34 insertions(+), 45 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index e889f2e..4f4bf8e 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -66,12 +66,16 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan if (stream == null) return; - var numSkippedBits = 0; + var isFirstByte = true; var numSkippedBytes = 0; - var checkRemainingBits = true; var numOfBytesToSkip = stream.Positions.ValuesToSkip; var bufferReader = new BufferReader(GetDataStream(stream, decompressedBuffer)); + if (outputValues.Length < 8) + throw new ArgumentException($"Boolean buffers length must be greater or equal to 8."); + + Span rleValues = stackalloc bool[8]; + while (!bufferReader.Complete) { var numByteValuesRead = OptimizedByteRLE.ReadValues(ref bufferReader, rleBuffer); @@ -83,56 +87,41 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan var decodedByte = rleBuffer[idx]; - outputValues[numValuesRead++] = (decodedByte & 128) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; + rleValues[0] = (decodedByte & 128) != 0; + rleValues[1] = (decodedByte & 64) != 0; + rleValues[2] = (decodedByte & 32) != 0; + rleValues[3] = (decodedByte & 16) != 0; + rleValues[4] = (decodedByte & 8) != 0; + rleValues[5] = (decodedByte & 4) != 0; + rleValues[6] = (decodedByte & 2) != 0; + rleValues[7] = (decodedByte & 1) != 0; - outputValues[numValuesRead++] = (decodedByte & 64) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; + if (isFirstByte) + { + isFirstByte = false; - outputValues[numValuesRead++] = (decodedByte & 32) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; + var firstValues = rleValues[stream.Positions.RemainingBits..]; - outputValues[numValuesRead++] = (decodedByte & 16) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; + numValuesRead += firstValues.Length; - outputValues[numValuesRead++] = (decodedByte & 8) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; - - outputValues[numValuesRead++] = (decodedByte & 4) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; + firstValues.CopyTo(outputValues); + } + else + { + var targetBuffer = outputValues[numValuesRead..]; - outputValues[numValuesRead++] = (decodedByte & 2) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - numValuesRead--; - if (numValuesRead >= outputValues.Length) - return; + if (numValuesRead + rleValues.Length >= outputValues.Length) + { + var source = rleValues[..(outputValues.Length - numValuesRead)]; + numValuesRead += source.Length; + source.CopyTo(targetBuffer); + return; + } - outputValues[numValuesRead++] = (decodedByte & 1) != 0; - if (checkRemainingBits && ++numSkippedBits <= stream.Positions.RemainingBits) - return; - if (numValuesRead >= outputValues.Length) - return; + numValuesRead += rleValues.Length; - if (checkRemainingBits) - checkRemainingBits = false; + rleValues.CopyTo(targetBuffer); + } } } } From b0e84740d062a8875dcd9c22ffa3616f3c36f709 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 9 Aug 2022 15:18:10 -0300 Subject: [PATCH 134/143] Add comparison of all values between readers. --- .../Item.cs | 19 +++ .../Program.cs | 13 +- .../ReadAllApp.cs | 8 +- .../ReadAllOldApp.cs | 25 +-- .../ReadCompareApp.cs | 150 ++++++++++++++++++ .../ReadFilteredApp.cs | 6 +- 6 files changed, 192 insertions(+), 29 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs create mode 100644 src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs new file mode 100644 index 0000000..13435b1 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs @@ -0,0 +1,19 @@ +using System; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class Item + { + public string Source { get; set; } + public string Symbol { get; set; } + public decimal? Time { get; set; } + public long? Size { get; set; } + public DateTime? Date { get; set; } + public double? Double { get; set; } + public float? Float { get; set; } + public DateTime? TimeStamp { get; set; } + public byte[] Binary { get; set; } + public byte? Byte { get; set; } + public bool? Boolean { get; set; } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index e6b0535..0aa61a8 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -68,17 +68,20 @@ static async Task Main(string[] args) await (new ReadAllApp(uri, fileByteRangeProviderFactory)).Run(); // Sample app 2 - //await Task.Delay(0); - //(new ReadAllOldApp(uri)).Run(); + //await Task.Run(() => (new ReadAllOldApp(uri)).Run()); // Sample app 3 + //var uri1 = uri; + //var uri2 = uri.Replace(System.IO.Path.GetFileNameWithoutExtension(uri), $"{System.IO.Path.GetFileNameWithoutExtension(uri)}2"); + //await (new ReadCompareApp(uri1, uri2, fileByteRangeProviderFactory)).Run(); + + // Sample app 4 //await (new ReadFilteredApp(uri, configs, fileByteRangeProviderFactory)).Run(); - //// Sample app 4 + //// Sample app 5 //// This requires a test file with a sorce,symbol,time,price and size fields. //// (Or the test class below can be updated to use different fields) - //await Task.Delay(0); - //(new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run(); + //await Task.Run(() => (new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run()); stopWatch.Stop(); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs index 1af0a47..ffe3720 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs @@ -3,7 +3,6 @@ using System; using System.Diagnostics; using System.Globalization; -using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -27,6 +26,9 @@ public async Task Run() var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri); var reader = new OptimizedReader.OrcReader(configs, rangeProvider); + Console.WriteLine("Read all values with NEW reader."); + Console.WriteLine(); + watch.Start(); // Columns @@ -107,7 +109,7 @@ await Task.WhenAll( $"{dobl}," + $"{sing}," + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{(binary != null ? System.Text.Encoding.ASCII.GetString(binary) : string.Empty)}," + $"{tinyInt}," + $"{boolean}" + $"" @@ -115,7 +117,7 @@ await Task.WhenAll( } else { - if (totalCount % 1000 == 0) + if (totalCount % 10_000 == 0) Console.Write("."); } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs index b335e8b..65d2247 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs @@ -2,25 +2,9 @@ using System.Diagnostics; using System.Globalization; using System.IO; -using System.Text; namespace ApacheOrcDotNet.OptimizedReaderTest.App { - public class Item - { - public string Source { get; set; } - public string Symbol { get; set; } - public decimal? Time { get; set; } - public long? Size { get; set; } - public DateTime? Date { get; set; } - public double? Double { get; set; } - public float? Float { get; set; } - public DateTime? TimeStamp { get; set; } - public byte[] Binary { get; set; } - public byte? Byte { get; set; } - public bool? Boolean { get; set; } - } - public class ReadAllOldApp { private readonly Uri _orcFileUri; @@ -40,11 +24,14 @@ public void Run() { // var totalCount = 0; - var outputData = false; + var outputData = true; var topwatch = new Stopwatch(); var fileStream = File.OpenRead(_orcFileUri.LocalPath); var orcReader = new OrcReader(typeof(Item), fileStream); + Console.WriteLine("Read all values with OLD reader."); + Console.WriteLine(); + topwatch.Start(); foreach (Item item in orcReader.Read()) @@ -63,7 +50,7 @@ public void Run() $"{item.Double}," + $"{item.Float}," + $"{(item.TimeStamp.HasValue ? item.TimeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + - $"{(item.Binary != null ? Encoding.ASCII.GetString(item.Binary) : string.Empty)}," + + $"{(item.Binary != null ? System.Text.Encoding.ASCII.GetString(item.Binary) : string.Empty)}," + $"{item.Byte}," + $"{item.Boolean}" + $"" @@ -71,7 +58,7 @@ public void Run() } else { - if (totalCount % 1000 == 0) + if (totalCount % 10_000 == 0) Console.Write("."); } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs new file mode 100644 index 0000000..5567a5a --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs @@ -0,0 +1,150 @@ +using ApacheOrcDotNet.OptimizedReader; +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using System; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Threading.Tasks; + +namespace ApacheOrcDotNet.OptimizedReaderTest.App +{ + public class ReadCompareApp + { + private readonly Uri _orcFileUri1; + private readonly Uri _orcFileUri2; + private readonly IByteRangeProviderFactory _byteRangeProviderFactory; + + public ReadCompareApp(string orcFileUri1, string orcFileUri2, IByteRangeProviderFactory byteRangeProviderFactory) + { + var parseUri1 = Uri.TryCreate(orcFileUri1, UriKind.Absolute, out var uri1); + var parseUri2 = Uri.TryCreate(orcFileUri2, UriKind.Absolute, out var uri2); + + if (!parseUri1 || ! parseUri2) + throw new InvalidOperationException($"Invalid file:// URI."); + + if (uri1.Scheme != "file" || uri2.Scheme != "file") + throw new InvalidOperationException($"Only file:// URIs are supported by this app."); + + _orcFileUri1 = uri1; + _orcFileUri2 = uri2; + + _byteRangeProviderFactory = byteRangeProviderFactory; + } + + public async Task Run() + { + // + var watch = new Stopwatch(); + var configs = new OrcReaderConfiguration(); + var fileStream = File.OpenRead(_orcFileUri1.LocalPath); + var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri2.LocalPath); + var orcReaderNew = new OptimizedReader.OrcReader(configs, rangeProvider); + var orcReaderOld = new OrcReader(typeof(Item), fileStream); + + Console.WriteLine("Comparing values from old and new reader."); + Console.WriteLine(); + + watch.Start(); + + // Columns + var sourceColumn = orcReaderNew.GetColumn("source"); + var symbolColumn = orcReaderNew.GetColumn("symbol"); + var timeColumn = orcReaderNew.GetColumn("time"); + var sizeColumn = orcReaderNew.GetColumn("size"); + var dateColumn = orcReaderNew.GetColumn("date"); + var doubleColumn = orcReaderNew.GetColumn("double"); + var floatColumn = orcReaderNew.GetColumn("float"); + var timeStampColumn = orcReaderNew.GetColumn("timeStamp"); + var binaryColumn = orcReaderNew.GetColumn("binary"); + var byteColumn = orcReaderNew.GetColumn("byte"); + var booleanColumn = orcReaderNew.GetColumn("boolean"); + + // Buffers + var sourceColumnBuffer = orcReaderNew.CreateStringColumnBuffer(sourceColumn); + var symbolColumnBuffer = orcReaderNew.CreateStringColumnBuffer(symbolColumn); + var timeColumnBuffer = orcReaderNew.CreateDecimalColumnBuffer(timeColumn); + var sizeColumnBuffer = orcReaderNew.CreateIntegerColumnBuffer(sizeColumn); + var dateColumnBuffer = orcReaderNew.CreateDateColumnBuffer(dateColumn); + var doubleColumnBuffer = orcReaderNew.CreateDoubleColumnBuffer(doubleColumn); + var floatColumnBuffer = orcReaderNew.CreateFloatColumnBuffer(floatColumn); + var timeStampColumnBuffer = orcReaderNew.CreateTimestampColumnBuffer(timeStampColumn); + var binaryColumnBuffer = orcReaderNew.CreateBinaryColumnBuffer(binaryColumn); + var byteColumnBuffer = orcReaderNew.CreateByteColumnBuffer(byteColumn); + var booleanColumnBuffer = orcReaderNew.CreateBooleanColumnReader(booleanColumn); + + // Read + var totalCount = 0; + var outputData = false; + + var oldReaderItemsEnumerator = orcReaderOld.Read().GetEnumerator(); + + for (var stripeId = 0; stripeId < orcReaderNew.GetNumberOfStripes(); stripeId++) + { + var numRowEntryIndexes = orcReaderNew.GetNumberOfRowGroupEntries(stripeId, timeColumn.Id); + + for (var rowEntryIndex = 0; rowEntryIndex < numRowEntryIndexes; rowEntryIndex++) + { + await Task.WhenAll( + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, timeStampColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, binaryColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, byteColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, booleanColumnBuffer) + ); + + for (int idx = 0; idx < orcReaderNew.NumValuesLoaded; idx++) + { + totalCount++; + + var source = sourceColumnBuffer.Values[idx]; + var symbol = symbolColumnBuffer.Values[idx]; + var time = timeColumnBuffer.Values[idx]; + var size = sizeColumnBuffer.Values[idx]; + var date = dateColumnBuffer.Values[idx]; + var dobl = doubleColumnBuffer.Values[idx]; + var sing = floatColumnBuffer.Values[idx]; + var timeStamp = timeStampColumnBuffer.Values[idx]; + var binary = binaryColumnBuffer.Values[idx]; + var tinyInt = byteColumnBuffer.Values[idx]; + var boolean = booleanColumnBuffer.Values[idx]; + + if (!oldReaderItemsEnumerator.MoveNext()) + { + Console.Write($" (Skipping {totalCount})"); + continue; + } + + var item = (Item)oldReaderItemsEnumerator.Current; + + if (source != item.Source || symbol != item.Symbol || time != item.Time || size != item.Size) + throw new InvalidDataException($"{source},{symbol},{time},{size} != {item.Source},{item.Symbol},{item.Time},{item.Size}"); + + if (date != item.Date || dobl != item.Double || sing != item.Float || timeStamp != item.TimeStamp) + throw new InvalidDataException($"{date},{dobl},{sing},{timeStamp} != {item.Date},{item.Double},{item.Float},{item.TimeStamp}"); + + if (!(binary ?? new byte[0]).SequenceEqual(item.Binary ?? new byte[0]) || tinyInt != item.Byte || boolean != item.Boolean) + throw new InvalidDataException($"{binary},{tinyInt},{boolean} != {item.Binary},{item.Byte},{item.Boolean}"); + + if (totalCount % 10_000 == 0) + Console.Write("."); + } + } + } + + watch.Stop(); + Console.WriteLine(); + + if (!outputData) + Console.WriteLine(); + + Console.WriteLine($"Read {totalCount} rows."); + Console.WriteLine($"Read execution time: {watch.Elapsed:mm':'ss':'fff}"); + } + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs index a0f8f71..b58e3f0 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs @@ -3,7 +3,6 @@ using System; using System.Diagnostics; using System.Globalization; -using System.Text; using System.Threading.Tasks; namespace ApacheOrcDotNet.OptimizedReaderTest.App @@ -29,6 +28,9 @@ public async Task Run() var rangeProvider = _byteRangeProviderFactory.Create(_orcFileUri); var reader = new OptimizedReader.OrcReader(configs, rangeProvider); + Console.WriteLine("Read FILTERED with NEW reader."); + Console.WriteLine(); + watch.Start(); // Args @@ -122,7 +124,7 @@ await Task.WhenAll( $"{dobl}," + $"{sing}," + $"{(timeStamp.HasValue ? timeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) : string.Empty)}," + - $"{(binary != null ? Encoding.ASCII.GetString(binary) : string.Empty)}," + + $"{(binary != null ? System.Text.Encoding.ASCII.GetString(binary) : string.Empty)}," + $"{tinyInt}," + $"{boolean}" + $"" From 807ed44bf95ab329cfd3291970150627c59b1e45 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 9 Aug 2022 16:09:07 -0300 Subject: [PATCH 135/143] Ensure http byte range buffers are filled. --- .../Buffers/BaseColumnBuffer.cs | 2 +- .../Infrastructure/HttpByteRangeProvider.cs | 55 ++++++++++++++++--- .../Infrastructure/IByteRangeProvider.cs | 8 +-- .../MemoryMappedFileRangeProvider.cs | 8 +-- .../OrcReader.cs | 6 +- .../TestByteRangeProvider.cs | 8 +-- .../TestByteRangeProviderParallel.cs | 8 +-- 7 files changed, 67 insertions(+), 28 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 4f4bf8e..02a1960 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -200,7 +200,7 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory if (stream.Range == _lastRange) return; - await _byteRangeProvider.FillBufferAsync(outputBuffer[..stream.Range.Length], stream.Range.Offset); + await _byteRangeProvider.GetRangeAsync(outputBuffer[..stream.Range.Length], stream.Range.Offset); _lastRange = stream.Range; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs index b02e0ae..6faa181 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/HttpByteRangeProvider.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; @@ -17,7 +18,7 @@ internal HttpByteRangeProvider(string remoteLocation) public void Dispose() => _httpClient.Dispose(); - public void FillBuffer(Span buffer, long position) + public void GetRange(Span buffer, long position) { var request = CreateRangeRequest(position, position + buffer.Length); var response = _httpClient.Send(request); @@ -25,12 +26,12 @@ public void FillBuffer(Span buffer, long position) if (!response.Content.Headers.ContentRange.Length.HasValue) throw new InvalidRangeResponseException(); - var bytesRead = response.Content.ReadAsStream().Read(buffer); + var bytesRead = DoRead(response.Content.ReadAsStream(), buffer); if (bytesRead < buffer.Length) throw new BufferNotFilledException(); } - public async Task FillBufferAsync(Memory buffer, long position) + public async Task GetRangeAsync(Memory buffer, long position) { var request = CreateRangeRequest(position, position + buffer.Length); var response = await _httpClient.SendAsync(request); @@ -40,12 +41,12 @@ public async Task FillBufferAsync(Memory buffer, long position) var httpStream = await response.Content.ReadAsStreamAsync(); - var bytesRead = await httpStream.ReadAsync(buffer); + var bytesRead = await DoReadAsync(httpStream, buffer); if (bytesRead < buffer.Length) throw new BufferNotFilledException(); } - public void FillBufferFromEnd(Span buffer) + public void GetRangeFromEnd(Span buffer) { var request = CreateRangeRequest(null, buffer.Length); var response = _httpClient.Send(request); @@ -53,12 +54,12 @@ public void FillBufferFromEnd(Span buffer) if (!response.Content.Headers.ContentRange.Length.HasValue) throw new InvalidRangeResponseException(); - var bytesRead = response.Content.ReadAsStream().Read(buffer); + var bytesRead = DoRead(response.Content.ReadAsStream(), buffer); if (bytesRead < buffer.Length) throw new BufferNotFilledException(); } - public async Task FillBufferFromEndAsync(Memory buffer) + public async Task GetRangeFromEndAsync(Memory buffer) { var request = CreateRangeRequest(null, buffer.Length); var response = await _httpClient.SendAsync(request); @@ -66,7 +67,9 @@ public async Task FillBufferFromEndAsync(Memory buffer) if (!response.Content.Headers.ContentRange.Length.HasValue) throw new InvalidRangeResponseException(); - var bytesRead = await (await response.Content.ReadAsStreamAsync()).ReadAsync(buffer); + var httpStream = await response.Content.ReadAsStreamAsync(); + + var bytesRead = await DoReadAsync(httpStream, buffer); if (bytesRead < buffer.Length) throw new BufferNotFilledException(); } @@ -78,5 +81,41 @@ private HttpRequestMessage CreateRangeRequest(long? from, long? to) request.Headers.Range = rangeHeader; return request; } + + private int DoRead(Stream stream, Span buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + + while (bytesRemaining > 0) + { + int count = stream.Read(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + + return bytesRead; + } + + private async Task DoReadAsync(Stream stream, Memory buffer) + { + int bytesRead = 0; + int bytesRemaining = buffer.Length; + + while (bytesRemaining > 0) + { + int count = await stream.ReadAsync(buffer[bytesRead..]); + if (count == 0) + break; + + bytesRead += count; + bytesRemaining -= count; + } + + return bytesRead; + } } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs index f0f20b8..18402f5 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/IByteRangeProvider.cs @@ -5,9 +5,9 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public interface IByteRangeProvider : IDisposable { - void FillBuffer(Span buffer, long position); - Task FillBufferAsync(Memory buffer, long position); - void FillBufferFromEnd(Span buffer); - Task FillBufferFromEndAsync(Memory buffer); + void GetRange(Span buffer, long position); + Task GetRangeAsync(Memory buffer, long position); + void GetRangeFromEnd(Span buffer); + Task GetRangeFromEndAsync(Memory buffer); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs index 3b51292..85b2307 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/MemoryMappedFileRangeProvider.cs @@ -21,7 +21,7 @@ public void Dispose() _memoryMappedFile.Dispose(); } - public void FillBuffer(Span buffer, long position) + public void GetRange(Span buffer, long position) { using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) { @@ -31,7 +31,7 @@ public void FillBuffer(Span buffer, long position) } } - public async Task FillBufferAsync(Memory buffer, long position) + public async Task GetRangeAsync(Memory buffer, long position) { using (var stream = _memoryMappedFile.CreateViewStream(position, buffer.Length, MemoryMappedFileAccess.Read)) { @@ -41,7 +41,7 @@ public async Task FillBufferAsync(Memory buffer, long position) } } - public void FillBufferFromEnd(Span buffer) + public void GetRangeFromEnd(Span buffer) { using (var stream = _memoryMappedFile.CreateViewStream(_length - buffer.Length, buffer.Length, MemoryMappedFileAccess.Read)) { @@ -51,7 +51,7 @@ public void FillBufferFromEnd(Span buffer) } } - public async Task FillBufferFromEndAsync(Memory buffer) + public async Task GetRangeFromEndAsync(Memory buffer) { using (var stream = _memoryMappedFile.CreateViewStream(_length - buffer.Length, buffer.Length, MemoryMappedFileAccess.Read)) { diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index fca99b8..4f2df61 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -183,7 +183,7 @@ public RowIndex GetColumnRowIndex(int columnId, int stripeId) ).Single(); var compressedBuffer = new byte[rowIndexStream.Length]; - _byteRangeProvider.FillBuffer(compressedBuffer, rowIndexStream.FileOffset); + _byteRangeProvider.GetRange(compressedBuffer, rowIndexStream.FileOffset); var decompressedBuffer = CompressedData.CreateDecompressionBuffer(compressedBuffer, _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize)); var decompressedBufferLength = CompressedData.Decompress(compressedBuffer, decompressedBuffer, _fileTail.PostScript.Compression); @@ -198,7 +198,7 @@ private SpanFileTail ReadFileTail() while (true) { var fileTailBuffer = new byte[lengthToReadFromEnd]; - _byteRangeProvider.FillBufferFromEnd(fileTailBuffer); + _byteRangeProvider.GetRangeFromEnd(fileTailBuffer); var success = SpanFileTail.TryRead(fileTailBuffer, out var fileTail, out var additionalBytesRequired); @@ -218,7 +218,7 @@ private IEnumerable GetStripeStreams(int stripeId) var stripeFooterLength = (int)stripe.FooterLength; var compressedBuffer = new byte[stripeFooterLength]; - _byteRangeProvider.FillBuffer(compressedBuffer, stripeFooterStart); + _byteRangeProvider.GetRange(compressedBuffer, stripeFooterStart); var decompressedBuffer = CompressedData.CreateDecompressionBuffer(compressedBuffer, _fileTail.PostScript.Compression, checked((int)_fileTail.PostScript.CompressionBlockSize)); var decompressedBufferLength = CompressedData.Decompress(compressedBuffer, decompressedBuffer, _fileTail.PostScript.Compression); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs index 7dc1941..7973490 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProvider.cs @@ -29,7 +29,7 @@ public void Dispose() file.Dispose(); } - public void FillBuffer(Span buffer, long position) + public void GetRange(Span buffer, long position) { var reader = GetOpenStreamForRange(false, position, buffer.Length); @@ -52,12 +52,12 @@ public void FillBuffer(Span buffer, long position) } } - public Task FillBufferAsync(Memory buffer, long position) + public Task GetRangeAsync(Memory buffer, long position) { throw new NotImplementedException(); } - public void FillBufferFromEnd(Span buffer) + public void GetRangeFromEnd(Span buffer) { var reader = GetOpenStreamForRange(true, buffer.Length, buffer.Length); @@ -80,7 +80,7 @@ public void FillBufferFromEnd(Span buffer) } } - public Task FillBufferFromEndAsync(Memory buffer) + public Task GetRangeFromEndAsync(Memory buffer) { throw new NotImplementedException(); } diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs index 5afdfab..508d7e5 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/TestByteRangeProviderParallel.cs @@ -22,7 +22,7 @@ public void Dispose() _stream.Dispose(); } - public void FillBuffer(Span buffer, long position) + public void GetRange(Span buffer, long position) { lock (_streamLock) { @@ -33,7 +33,7 @@ public void FillBuffer(Span buffer, long position) } } - public Task FillBufferAsync(Memory buffer, long position) + public Task GetRangeAsync(Memory buffer, long position) { lock (_streamLock) { @@ -42,7 +42,7 @@ public Task FillBufferAsync(Memory buffer, long position) } } - public void FillBufferFromEnd(Span buffer) + public void GetRangeFromEnd(Span buffer) { lock (_streamLock) { @@ -53,7 +53,7 @@ public void FillBufferFromEnd(Span buffer) } } - public Task FillBufferFromEndAsync(Memory buffer) + public Task GetRangeFromEndAsync(Memory buffer) { lock (_streamLock) { From f69d150ac55d0f67d6d926dab4b8245882a025af Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Tue, 9 Aug 2022 19:18:08 -0300 Subject: [PATCH 136/143] Update TradeDataSource read sequence behavior. --- .../Buffers/BaseColumnBuffer.cs | 6 ++++- .../Infrastructure/CompressedData.cs | 13 ++++++----- .../TradeDataSource.cs | 17 ++++++-------- .../TradeDataSourceApp.cs | 22 +++++++++++++------ 4 files changed, 34 insertions(+), 24 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 02a1960..fb6eb67 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -211,7 +211,11 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan decompressedOutput.Length) + decompressedOutput = new byte[decompressionMaxLength]; + decompressedLength = CompressedData.Decompress(compressedInput[..stream.Range.Length], decompressedOutput, _orcFileProperties.CompressionKind); } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index b657304..1e25830 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -6,7 +6,7 @@ namespace ApacheOrcDotNet.OptimizedReader.Infrastructure { public static class CompressedData { - public static byte[] CheckDecompressionBuffer(ReadOnlySpan inputBuffer, byte[] targetDecompressionBuffer, CompressionKind compressionKind, int maxDecompressedLengthPerChunk) + public static int GetRequiredBufferSize(ReadOnlySpan inputBuffer, CompressionKind compressionKind, int maxDecompressedLengthPerChunk) { int inputPosition = 0; int maxDecompressionLength = 0; @@ -17,14 +17,15 @@ public static byte[] CheckDecompressionBuffer(ReadOnlySpan inputBuffer, by maxDecompressionLength += maxDecompressedLengthPerChunk; } - if (maxDecompressionLength > targetDecompressionBuffer.Length) - targetDecompressionBuffer = new byte[maxDecompressionLength]; - - return targetDecompressionBuffer; + return maxDecompressionLength; } public static byte[] CreateDecompressionBuffer(ReadOnlySpan inputBuffer, CompressionKind compressionKind, int maxDecompressedLengthPerChunk) - => CheckDecompressionBuffer(inputBuffer, new byte[maxDecompressedLengthPerChunk], compressionKind, maxDecompressedLengthPerChunk); + { + var bufferSize = GetRequiredBufferSize(inputBuffer, compressionKind, maxDecompressedLengthPerChunk); + + return new byte[bufferSize]; + } public static int Decompress(ReadOnlySpan inputBuffer, Span outputBuffer, CompressionKind compressionKind) { diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs index c36000a..b4de6ca 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs @@ -118,7 +118,7 @@ public TimeRangeReader(Reader reader, Lookup lookup, Columns columns, Buffers bu public int ApproxRowCount => _matches.Count * _reader.MaxValuesPerRowGroup; - public int ReadBatch(int writeStartIndex, Span times, Span prices, Span sizes) + public int ReadBatch(Span times, Span prices, Span sizes) { var writeIndex = 0; var startTimeTotalSeconds = (decimal)_lookup.StartTime.TotalSeconds; @@ -146,20 +146,17 @@ public int ReadBatch(int writeStartIndex, Span times, Span p { _valuesFound = true; - times[writeStartIndex + writeIndex] = _buffers.Time.Values[idx]; - sizes[writeStartIndex + writeIndex] = _buffers.Size.Values[idx]; - prices[writeStartIndex + writeIndex] = _buffers.Price.Values[idx]; + times[writeIndex] = _buffers.Time.Values[idx]; + sizes[writeIndex] = _buffers.Size.Values[idx]; + prices[writeIndex] = _buffers.Price.Values[idx]; writeIndex++; } } - // We only keep looking for values if - // nothing has been found before. - if (writeIndex == 0 && !_valuesFound) - continue; - - break; + // Only keep looking for values if nothing has been found yet. + if (_valuesFound) + break; } return writeIndex; diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs index 06ca363..da3aa32 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs @@ -28,18 +28,19 @@ public void Run() watch.Start(); - var timeRanges = new[] { - (35000, 35001), // 09:43:20, 09:43:21 - (35077, 35078), // 09:44:37, 09:44:38 - (43200, 46800), // 12:00:00, 01:00:00 - (50400, 54000) // 02:00:00, 03:00:00 + var timeRanges = new (TimeSpan startTime, TimeSpan endTime)[] { + (new TimeSpan(09, 43, 20), new TimeSpan(09, 43, 21)), // 35000, 35001 + (new TimeSpan(09, 44, 37), new TimeSpan(09, 44, 38)), // 35077, 35078 + (new TimeSpan(12, 00, 00), new TimeSpan(13, 00, 00)), // 43200, 46800 + (new TimeSpan(14, 00, 00), new TimeSpan(15, 00, 00)), // 50400, 54000 + (new TimeSpan(09, 43, 20), new TimeSpan(11, 43, 20)) // 35000, 42200 }; var symbolData = new TradeDataSource(reader, _configuration.Source, _configuration.Symbol); foreach (var (sTime, eTime) in timeRanges) { - var timeRangeReader = symbolData.CreateTimeRangeReader(TimeSpan.FromSeconds(sTime), TimeSpan.FromSeconds(eTime)); + var timeRangeReader = symbolData.CreateTimeRangeReader(sTime, eTime); var approxRowCount = timeRangeReader.ApproxRowCount; @@ -50,10 +51,17 @@ public void Run() while (true) { - var rowsRead = timeRangeReader.ReadBatch(numRows, times, prices, sizes); + var rowsRead = timeRangeReader.ReadBatch( + times.AsSpan()[numRows..], + prices.AsSpan()[numRows..], + sizes.AsSpan()[numRows..] + ); + if (rowsRead == 0) break; + Console.Write("."); + numRows += rowsRead; } From 1ade727e5bc5cbd978598965f88241cf12c2b0b8 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Wed, 10 Aug 2022 21:19:07 -0300 Subject: [PATCH 137/143] Boolean RLEs minor changes and cleanup. --- .../Buffers/BaseColumnBuffer.cs | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index fb6eb67..35bb517 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -87,14 +87,14 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan var decodedByte = rleBuffer[idx]; - rleValues[0] = (decodedByte & 128) != 0; - rleValues[1] = (decodedByte & 64) != 0; - rleValues[2] = (decodedByte & 32) != 0; - rleValues[3] = (decodedByte & 16) != 0; - rleValues[4] = (decodedByte & 8) != 0; - rleValues[5] = (decodedByte & 4) != 0; - rleValues[6] = (decodedByte & 2) != 0; - rleValues[7] = (decodedByte & 1) != 0; + rleValues[0] = (decodedByte & 0b10000000) != 0; + rleValues[1] = (decodedByte & 0b01000000) != 0; + rleValues[2] = (decodedByte & 0b00100000) != 0; + rleValues[3] = (decodedByte & 0b00010000) != 0; + rleValues[4] = (decodedByte & 0b00001000) != 0; + rleValues[5] = (decodedByte & 0b00000100) != 0; + rleValues[6] = (decodedByte & 0b00000010) != 0; + rleValues[7] = (decodedByte & 0b00000001) != 0; if (isFirstByte) { @@ -108,19 +108,21 @@ private protected void ReadBooleanStream(StreamDetail stream, ReadOnlySpan } else { - var targetBuffer = outputValues[numValuesRead..]; + var remainingValues = outputValues[numValuesRead..]; - if (numValuesRead + rleValues.Length >= outputValues.Length) + // Maximum number of values will be reached. + if (rleValues.Length >= remainingValues.Length) { - var source = rleValues[..(outputValues.Length - numValuesRead)]; + // Fill up the remaining positions and return. + var source = rleValues[..remainingValues.Length]; numValuesRead += source.Length; - source.CopyTo(targetBuffer); + source.CopyTo(remainingValues); return; } numValuesRead += rleValues.Length; - rleValues.CopyTo(targetBuffer); + rleValues.CopyTo(remainingValues); } } } From 1c9fa42669a5d4d890d0002ad60716349e16c211 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 11 Aug 2022 17:47:12 -0300 Subject: [PATCH 138/143] Fix partial zlib buffer decompression. --- .../Infrastructure/CompressedData.cs | 6 ++++- .../OrcReader.cs | 24 ++++--------------- .../_Constants.cs | 1 + .../Compression/OrcCompressedBlock.cs | 2 +- 4 files changed, 11 insertions(+), 22 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index 1e25830..c77b878 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -38,7 +38,11 @@ public static int Decompress(ReadOnlySpan inputBuffer, Span outputBu { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); - outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, inputBuffer.Slice(inputPosition, compressedChunkLength), outputBuffer[outputPosition..]); + var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length + ? inputBuffer[inputPosition..] + : inputBuffer.Slice(inputPosition, compressedChunkLength); + + outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer[outputPosition..]); inputPosition += compressedChunkLength; } diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 4f2df61..1d04e38 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -418,8 +418,6 @@ private static StreamPositions GetRequiredStreamPositions(StreamDetail presentSt private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPosition) { var rangeLength = 0; - var numNextChunksToRead = 0; - var comparisonChunkOffset = currentPosition.RowGroupOffset; // Change in the current position marks the start of another entry. // Calculate the range length, considering bytes that may exist in the next chunk. @@ -427,15 +425,9 @@ private static StreamRange CalculatePresentRange(int stripeId, StreamDetail pres { var nextPosition = GetPresentStreamPositions(presentStream, rowIndex.Entry[idx]); - if (nextPosition.RowGroupOffset != comparisonChunkOffset) + if (nextPosition.RowGroupOffset != currentPosition.RowGroupOffset) { - if (++numNextChunksToRead < 2) - { - comparisonChunkOffset = nextPosition.RowGroupOffset; - continue; - } - - rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset); + rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset) + nextPosition.RowEntryOffset + Constants.AdditionalByteRangeLength; break; } } @@ -449,8 +441,6 @@ private static StreamRange CalculatePresentRange(int stripeId, StreamDetail pres private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPosition) { var rangeLength = 0; - var numNextChunksRead = 0; - var comparisonChunkOffset = currentPosition.RowGroupOffset; // Change in the current position marks the start of another entry. // Calculate the range length, considering bytes that may exist in the next chunk. @@ -458,15 +448,9 @@ private static StreamRange CalculateDataRange(int stripeId, StreamDetail present { var nextPosition = GetRequiredStreamPositions(presentStream, targetedStream, column, rowIndex.Entry[idx]); - if (nextPosition.RowGroupOffset != comparisonChunkOffset) + if (nextPosition.RowGroupOffset != currentPosition.RowGroupOffset) { - if (++numNextChunksRead < 2) - { - comparisonChunkOffset = nextPosition.RowGroupOffset; - continue; - } - - rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset); + rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset) + nextPosition.RowEntryOffset + Constants.AdditionalByteRangeLength; break; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs index 323eeb6..61872ec 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs @@ -9,5 +9,6 @@ public static class Constants public static DateTime UnixEpochUnspecified = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); public const int RleBufferMaxLength = ushort.MaxValue + 1; + public const int AdditionalByteRangeLength = 512; } } diff --git a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs index 7998826..810843f 100644 --- a/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs +++ b/src/ApacheOrcDotNet/Compression/OrcCompressedBlock.cs @@ -52,7 +52,7 @@ public unsafe static int DecompressBlock(CompressionKind compressionKind, ReadOn //https://github.com/dotnet/runtime/issues/62113 fixed (byte* pBuffer = &input[3]) //Skip the header { - using var stream = new UnmanagedMemoryStream(pBuffer, input.Length); + using var stream = new UnmanagedMemoryStream(pBuffer, input.Length - 3); using var deflateStream = new DeflateStream(stream, CompressionMode.Decompress); return deflateStream.Read(output); //TODO ensure we don't need to loop here } From 0c7391e2dcb629453e61edefe91b9a16b6845907 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 12 Aug 2022 17:14:57 -0300 Subject: [PATCH 139/143] Fix byte range and decompression caching. --- .../BufferCache.cs | 23 +++++++++++++++ .../Buffers/BaseColumnBuffer.cs | 29 ++++++++++--------- .../OrcReader.cs | 26 ++++++++++++++--- .../_Constants.cs | 2 +- 4 files changed, 62 insertions(+), 18 deletions(-) create mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs new file mode 100644 index 0000000..da29d66 --- /dev/null +++ b/src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs @@ -0,0 +1,23 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using ApacheOrcDotNet.Protocol; +using System; + +namespace ApacheOrcDotNet.OptimizedReader +{ + public class BufferCache + { + public StreamRange[] _ranges; + + public BufferCache() + { + var streamKinds = Enum.GetValues().Length; + _ranges = new StreamRange[streamKinds]; + } + + public bool IsMatch(StreamDetail stream) + => _ranges[(int)stream.StreamKind] == stream.Range; + + public void Set(StreamDetail stream) + => _ranges[(int)stream.StreamKind] = stream.Range; + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index 35bb517..a5faf2c 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -8,15 +8,15 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public abstract class BaseColumnBuffer { + private readonly BufferCache _byteRangeBufferCache = new(); + private readonly BufferCache _decompressionBufferCache = new(); + private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcFileProperties _orcFileProperties; private protected readonly OrcColumn _column; private protected readonly TOutput[] _values; - private protected int _numValuesRead; - private StreamRange _lastRange; - public BaseColumnBuffer(IByteRangeProvider byteRangeProvider, OrcFileProperties orcFileProperties, OrcColumn column) { _byteRangeProvider = byteRangeProvider; @@ -199,27 +199,30 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory // If current and last ranges are equal, the previous data will be buffered // and we can return only the length, without requesting the bytes again. - if (stream.Range == _lastRange) + if (_byteRangeBufferCache.IsMatch(stream)) return; await _byteRangeProvider.GetRangeAsync(outputBuffer[..stream.Range.Length], stream.Range.Offset); - _lastRange = stream.Range; + _byteRangeBufferCache.Set(stream); } private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, ref byte[] decompressedOutput, ref int decompressedLength) { - decompressedLength = 0; + if (stream == null) + return; - if (stream != null) - { - var decompressionMaxLength = CompressedData.GetRequiredBufferSize(compressedInput[..stream.Range.Length], _orcFileProperties.CompressionKind, _orcFileProperties.DecompressedChunkMaxLength); + if (_decompressionBufferCache.IsMatch(stream)) + return; - if (decompressionMaxLength > decompressedOutput.Length) - decompressedOutput = new byte[decompressionMaxLength]; + var decompressionMaxLength = CompressedData.GetRequiredBufferSize(compressedInput[..stream.Range.Length], _orcFileProperties.CompressionKind, _orcFileProperties.DecompressedChunkMaxLength); - decompressedLength = CompressedData.Decompress(compressedInput[..stream.Range.Length], decompressedOutput, _orcFileProperties.CompressionKind); - } + if (decompressionMaxLength > decompressedOutput.Length) + decompressedOutput = new byte[decompressionMaxLength]; + + decompressedLength = CompressedData.Decompress(compressedInput[..stream.Range.Length], decompressedOutput, _orcFileProperties.CompressionKind); + + _decompressionBufferCache.Set(stream); } /// diff --git a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs index 1d04e38..5bb4a36 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/OrcReader.cs @@ -418,6 +418,8 @@ private static StreamPositions GetRequiredStreamPositions(StreamDetail presentSt private static StreamRange CalculatePresentRange(int stripeId, StreamDetail presentStream, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPosition) { var rangeLength = 0; + var numPreloadedChunks = 0; + var comparisonChunkOffset = currentPosition.RowGroupOffset; // Change in the current position marks the start of another entry. // Calculate the range length, considering bytes that may exist in the next chunk. @@ -425,9 +427,16 @@ private static StreamRange CalculatePresentRange(int stripeId, StreamDetail pres { var nextPosition = GetPresentStreamPositions(presentStream, rowIndex.Entry[idx]); - if (nextPosition.RowGroupOffset != currentPosition.RowGroupOffset) + if (nextPosition.RowGroupOffset != comparisonChunkOffset) { - rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset) + nextPosition.RowEntryOffset + Constants.AdditionalByteRangeLength; + if (++numPreloadedChunks < Constants.NumCompressedBlocksToPreLoad) + { + comparisonChunkOffset = nextPosition.RowGroupOffset; + continue; + } + + rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset); + break; } } @@ -441,6 +450,8 @@ private static StreamRange CalculatePresentRange(int stripeId, StreamDetail pres private static StreamRange CalculateDataRange(int stripeId, StreamDetail presentStream, StreamDetail targetedStream, OrcColumn column, RowIndex rowIndex, int rowEntryIndex, StreamPositions currentPosition) { var rangeLength = 0; + var numPreloadedChunks = 0; + var comparisonChunkOffset = currentPosition.RowGroupOffset; // Change in the current position marks the start of another entry. // Calculate the range length, considering bytes that may exist in the next chunk. @@ -448,9 +459,16 @@ private static StreamRange CalculateDataRange(int stripeId, StreamDetail present { var nextPosition = GetRequiredStreamPositions(presentStream, targetedStream, column, rowIndex.Entry[idx]); - if (nextPosition.RowGroupOffset != currentPosition.RowGroupOffset) + if (nextPosition.RowGroupOffset != comparisonChunkOffset) { - rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset) + nextPosition.RowEntryOffset + Constants.AdditionalByteRangeLength; + if (++numPreloadedChunks < Constants.NumCompressedBlocksToPreLoad) + { + comparisonChunkOffset = nextPosition.RowGroupOffset; + continue; + } + + rangeLength = (nextPosition.RowGroupOffset - currentPosition.RowGroupOffset); + break; } } diff --git a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs index 61872ec..c089cbd 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs @@ -9,6 +9,6 @@ public static class Constants public static DateTime UnixEpochUnspecified = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); public const int RleBufferMaxLength = ushort.MaxValue + 1; - public const int AdditionalByteRangeLength = 512; + public const int NumCompressedBlocksToPreLoad = 2; } } From 3e7eb69dcc1ffaba38491f0c8d4344c7c3194bf6 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Fri, 12 Aug 2022 19:28:23 -0300 Subject: [PATCH 140/143] Remove unnecessary buffer slicing. --- .../Infrastructure/CompressedData.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs index c77b878..1e25830 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Infrastructure/CompressedData.cs @@ -38,11 +38,7 @@ public static int Decompress(ReadOnlySpan inputBuffer, Span outputBu { var compressedChunkLength = OrcCompressedBlock.GetChunkLength(compressionKind, inputBuffer[inputPosition..]); - var chunkToDecompress = (inputPosition + compressedChunkLength) > inputBuffer.Length - ? inputBuffer[inputPosition..] - : inputBuffer.Slice(inputPosition, compressedChunkLength); - - outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, chunkToDecompress, outputBuffer[outputPosition..]); + outputPosition += OrcCompressedBlock.DecompressBlock(compressionKind, inputBuffer.Slice(inputPosition, compressedChunkLength), outputBuffer[outputPosition..]); inputPosition += compressedChunkLength; } From 9391009341adb0ffa591a8c13f84e4a18aad4d73 Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Sat, 13 Aug 2022 01:31:37 -0300 Subject: [PATCH 141/143] Remove external class when tracking last stream ranges. --- .../BufferCache.cs | 23 ------------------- .../Buffers/BaseColumnBuffer.cs | 12 +++++----- .../_Constants.cs | 5 +++- 3 files changed, 10 insertions(+), 30 deletions(-) delete mode 100644 src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs diff --git a/src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs b/src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs deleted file mode 100644 index da29d66..0000000 --- a/src/ApacheOrcDotNet.OptimizedReader/BufferCache.cs +++ /dev/null @@ -1,23 +0,0 @@ -using ApacheOrcDotNet.OptimizedReader.Infrastructure; -using ApacheOrcDotNet.Protocol; -using System; - -namespace ApacheOrcDotNet.OptimizedReader -{ - public class BufferCache - { - public StreamRange[] _ranges; - - public BufferCache() - { - var streamKinds = Enum.GetValues().Length; - _ranges = new StreamRange[streamKinds]; - } - - public bool IsMatch(StreamDetail stream) - => _ranges[(int)stream.StreamKind] == stream.Range; - - public void Set(StreamDetail stream) - => _ranges[(int)stream.StreamKind] = stream.Range; - } -} diff --git a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs index a5faf2c..b4e5f79 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/Buffers/BaseColumnBuffer.cs @@ -8,8 +8,8 @@ namespace ApacheOrcDotNet.OptimizedReader.Buffers { public abstract class BaseColumnBuffer { - private readonly BufferCache _byteRangeBufferCache = new(); - private readonly BufferCache _decompressionBufferCache = new(); + private readonly StreamRange[] _lastByteRanges = new StreamRange[Constants.NumPossibleStreams]; + private readonly StreamRange[] _lastDecompressedRanges = new StreamRange[Constants.NumPossibleStreams]; private protected readonly IByteRangeProvider _byteRangeProvider; private protected readonly OrcFileProperties _orcFileProperties; @@ -199,12 +199,12 @@ private protected async Task GetByteRangeAsync(StreamDetail stream, Memory // If current and last ranges are equal, the previous data will be buffered // and we can return only the length, without requesting the bytes again. - if (_byteRangeBufferCache.IsMatch(stream)) + if (_lastByteRanges[(int)stream.StreamKind] == stream.Range) return; await _byteRangeProvider.GetRangeAsync(outputBuffer[..stream.Range.Length], stream.Range.Offset); - _byteRangeBufferCache.Set(stream); + _lastByteRanges[(int)stream.StreamKind] = stream.Range; } private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan compressedInput, ref byte[] decompressedOutput, ref int decompressedLength) @@ -212,7 +212,7 @@ private protected void DecompressByteRange(StreamDetail stream, ReadOnlySpan diff --git a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs index c089cbd..5555818 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs @@ -1,4 +1,5 @@ -using System; +using ApacheOrcDotNet.Protocol; +using System; namespace ApacheOrcDotNet.OptimizedReader { @@ -8,6 +9,8 @@ public static class Constants public static DateTime UnixEpochUtc = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static DateTime UnixEpochUnspecified = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); + public static int NumPossibleStreams = Enum.GetValues().Length; + public const int RleBufferMaxLength = ushort.MaxValue + 1; public const int NumCompressedBlocksToPreLoad = 2; } From 148d5015018e6f21ed5674a918aa45fee918006f Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Mon, 15 Aug 2022 14:27:03 -0300 Subject: [PATCH 142/143] Update number of last range possible streams. --- perf/MicroBenchmarks/ComparisonBenchmarks.cs | 43 +++++++++++++++++++ .../_Constants.cs | 5 +-- 2 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 perf/MicroBenchmarks/ComparisonBenchmarks.cs diff --git a/perf/MicroBenchmarks/ComparisonBenchmarks.cs b/perf/MicroBenchmarks/ComparisonBenchmarks.cs new file mode 100644 index 0000000..53bb44b --- /dev/null +++ b/perf/MicroBenchmarks/ComparisonBenchmarks.cs @@ -0,0 +1,43 @@ +using ApacheOrcDotNet.OptimizedReader.Infrastructure; +using BenchmarkDotNet.Attributes; +using System; +using System.Collections.Generic; + +/* +| Method | Mean | Error | StdDev | Rank | Allocated | +|------------------------------------ |----------:|----------:|----------:|-----:|----------:| +| ArrayEquality | 7.720 ns | 0.0755 ns | 0.0706 ns | 1 | - | +| DictionaryContainsKeyAndEquality | 12.429 ns | 0.0690 ns | 0.0645 ns | 2 | - | +| DictionaryTryGetValue | 13.052 ns | 0.0677 ns | 0.0633 ns | 3 | - | + */ + +namespace MicroBenchmarks +{ + [RankColumn] + [MemoryDiagnoser] + public class ComparisonBenchmarks + { + private const int size = 255; + private readonly StreamRange[] _buffer = new StreamRange[size]; + private readonly Dictionary _buffer2 = new(); + private readonly StreamRange _testRange = new StreamRange(255, 255, 255); + + public ComparisonBenchmarks() + { + for (int i = 0; i < size; i++) + { + _buffer[i] = new StreamRange(i, i, i); + _buffer2.Add(i, new StreamRange(i, i, i)); + } + } + + [Benchmark] + public bool ArrayEquality() => _buffer[128] == _testRange; + + [Benchmark] + public bool DictionaryContainsKeyAndEquality() => _buffer2.ContainsKey(128) && _buffer[128] == _testRange; + + [Benchmark] + public bool DictionaryTryGetValue() => _buffer2.TryGetValue(128, out var range) && range == _testRange; + } +} diff --git a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs index 5555818..ed36390 100644 --- a/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs +++ b/src/ApacheOrcDotNet.OptimizedReader/_Constants.cs @@ -1,5 +1,4 @@ -using ApacheOrcDotNet.Protocol; -using System; +using System; namespace ApacheOrcDotNet.OptimizedReader { @@ -9,7 +8,7 @@ public static class Constants public static DateTime UnixEpochUtc = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static DateTime UnixEpochUnspecified = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); - public static int NumPossibleStreams = Enum.GetValues().Length; + public static int NumPossibleStreams = byte.MaxValue; public const int RleBufferMaxLength = ushort.MaxValue + 1; public const int NumCompressedBlocksToPreLoad = 2; From 10d099908cb1633ecdba589e8115040e21b2a86b Mon Sep 17 00:00:00 2001 From: akasarto <5660350+akasarto@users.noreply.github.com> Date: Thu, 25 Aug 2022 22:30:06 -0300 Subject: [PATCH 143/143] Review sample file columns and apps. --- .../Configs.cs | 4 +- .../Item.cs | 8 +- .../Program.cs | 25 +- .../ReadAllApp.cs | 42 +- .../ReadAllOldApp.cs | 8 +- .../ReadCompareApp.cs | 38 +- .../ReadFilteredApp.cs | 62 +- ...TradeDataSource.cs => SampleDataSource.cs} | 72 +- ...ataSourceApp.cs => SampleDataSourceApp.cs} | 14 +- .../WithNulls/DecimalAsDoubleColumn_Test.cs | 4 +- .../WithNulls/DecimalColumn_Test.cs | 4 +- .../WithNulls/IntegerColumn_Test.cs | 4 +- .../WithNulls/StringColumn_Test.cs | 8 +- .../ColumnTypes/WithNulls/_Edge_Cases.cs | 12 +- .../ColumnTypes/WithNulls/_Filter_Test.cs | 26 +- .../DecimalAsDoubleColumn_Test.cs | 4 +- .../WithoutNulls/DecimalColumn_Test.cs | 4 +- .../WithoutNulls/IntegerColumn_Test.cs | 4 +- .../WithoutNulls/StringColumn_Test.cs | 8 +- .../ColumnTypes/WithoutNulls/_Edge_Cases.cs | 12 +- .../ColumnTypes/WithoutNulls/_Filter_Test.cs | 26 +- .../Data/optimized_reader_test_file.csv | 19996 +++++++-------- .../Data/optimized_reader_test_file.orc | Bin 139599 -> 139558 bytes .../Data/optimized_reader_test_file.orc.txt | 109 +- .../optimized_reader_test_file_no_nulls.csv | 20002 ++++++++-------- .../optimized_reader_test_file_no_nulls.orc | Bin 139313 -> 139279 bytes ...ptimized_reader_test_file_no_nulls.orc.txt | 89 +- 27 files changed, 20289 insertions(+), 20296 deletions(-) rename src/ApacheOrcDotNet.OptimizedReaderTest.App/{TradeDataSource.cs => SampleDataSource.cs} (67%) rename src/ApacheOrcDotNet.OptimizedReaderTest.App/{TradeDataSourceApp.cs => SampleDataSourceApp.cs} (80%) diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs index 905cb5d..b9aceb9 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Configs.cs @@ -4,8 +4,8 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { public class Configs { - public string Source { get; set; } - public string Symbol { get; set; } + public string Vendor { get; set; } + public string Product { get; set; } public TimeSpan BeginTime { get; set; } public TimeSpan EndTime { get; set; } } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs index 13435b1..d5680d2 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Item.cs @@ -4,10 +4,10 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { public class Item { - public string Source { get; set; } - public string Symbol { get; set; } - public decimal? Time { get; set; } - public long? Size { get; set; } + public string StringDictionaryV2 { get; set; } + public string StringDirectV2 { get; set; } + public decimal? Decimal { get; set; } + public long? Integer { get; set; } public DateTime? Date { get; set; } public double? Double { get; set; } public float? Float { get; set; } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs index 0aa61a8..7b4783d 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/Program.cs @@ -19,21 +19,21 @@ static async Task Main(string[] args) ; var uri = config.GetValue("uri", string.Empty); - var source = config.GetValue("source", string.Empty); - var symbol = config.GetValue("symbol", string.Empty); + var vendor = config.GetValue("vendor", string.Empty); + var product = config.GetValue("product", string.Empty); var beginTime = config.GetValue("beginTime", "00:00:00"); var endTime = config.GetValue("endTime", "23:45:00"); var isValidBeginTime = TimeSpan.TryParse(beginTime, CultureInfo.InvariantCulture, out var parsedBeginTime); var isValidEndTime = TimeSpan.TryParse(endTime, CultureInfo.InvariantCulture, out var parsedEndTime); - if (uri.Length ==0 || source.Length == 0 || symbol.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) + if (uri.Length ==0 || vendor.Length == 0 || product.Length == 0 || !isValidBeginTime || !isValidEndTime || (parsedEndTime < parsedBeginTime)) { - Console.WriteLine("Usage: --uri orcFileUri --source sourceName --symbol symbolName --beginTime hh:mm:ss --endTime hh:mm:ss"); + Console.WriteLine("Usage: --uri orcFileUri --vendor vendorName --product productName --beginTime hh:mm:ss --endTime hh:mm:ss"); Console.WriteLine(); Console.WriteLine("Examples:"); - Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); - Console.WriteLine(@" dotnet run --uri https://s3.amazonaws.com/some/path/testFile.orc --source CTSPillarNetworkB --symbol SPY --beginTime 09:43:20 --endTime 09:43:21"); + Console.WriteLine(@" dotnet run --uri file://c:/path/to/testFile.orc --vendor xyz --product test --beginTime 09:43:20 --endTime 09:43:21"); + Console.WriteLine(@" dotnet run --uri https://s3.amazonaws.com/some/path/testFile.orc --vendor xyz --product test --beginTime 09:43:20 --endTime 09:43:21"); Console.WriteLine(); Console.WriteLine(@" You can use files under ApacheOrcDotNet.OptimizedReader.Test/Data to test the readers:"); Console.WriteLine(@" - optimized_reader_test_file.orc"); @@ -45,16 +45,16 @@ static async Task Main(string[] args) Console.WriteLine("Running.. CTRL+C to exit."); Console.WriteLine(); Console.WriteLine($"Pid: {Environment.ProcessId}"); - Console.WriteLine($"source: '{source}'"); - Console.WriteLine($"symbol: '{symbol}'"); + Console.WriteLine($"vendor: '{vendor}'"); + Console.WriteLine($"product: '{product}'"); Console.WriteLine($"beginTime: '{beginTime}'"); Console.WriteLine($"endTime: '{endTime}'"); Console.WriteLine(); var configs = new Configs { - Source = source, - Symbol = symbol, + Vendor = vendor, + Product = product, BeginTime = parsedBeginTime, EndTime = parsedEndTime }; @@ -79,9 +79,8 @@ static async Task Main(string[] args) //await (new ReadFilteredApp(uri, configs, fileByteRangeProviderFactory)).Run(); //// Sample app 5 - //// This requires a test file with a sorce,symbol,time,price and size fields. - //// (Or the test class below can be updated to use different fields) - //await Task.Run(() => (new TradeDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run()); + //// Simulates the usage of the buffers as a specialized data source, filtered by vendor,product and sale time. + //await Task.Run(() => (new SampleDataSourceApp(uri, configs, fileByteRangeProviderFactory)).Run()); stopWatch.Stop(); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs index ffe3720..c94878c 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllApp.cs @@ -32,10 +32,10 @@ public async Task Run() watch.Start(); // Columns - var sourceColumn = reader.GetColumn("source"); - var symbolColumn = reader.GetColumn("symbol"); - var timeColumn = reader.GetColumn("time"); - var sizeColumn = reader.GetColumn("size"); + var stringDictionaryV2Column = reader.GetColumn("stringDictionaryV2"); + var stringDirectV2Column = reader.GetColumn("stringDirectV2"); + var decimalColumn = reader.GetColumn("decimal"); + var integerColumn = reader.GetColumn("integer"); var dateColumn = reader.GetColumn("date"); var doubleColumn = reader.GetColumn("double"); var floatColumn = reader.GetColumn("float"); @@ -45,10 +45,10 @@ public async Task Run() var booleanColumn = reader.GetColumn("boolean"); // Buffers - var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); - var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); - var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); + var stringDictionaryV2ColumnBuffer = reader.CreateStringColumnBuffer(stringDictionaryV2Column); + var stringDirectV2ColumnBuffer = reader.CreateStringColumnBuffer(stringDirectV2Column); + var decimalColumnBuffer = reader.CreateDecimalColumnBuffer(decimalColumn); + var integerColumnBuffer = reader.CreateIntegerColumnBuffer(integerColumn); var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); @@ -63,15 +63,15 @@ public async Task Run() for (var stripeId = 0; stripeId < reader.GetNumberOfStripes(); stripeId++) { - var numRowEntryIndexes = reader.GetNumberOfRowGroupEntries(stripeId, timeColumn.Id); + var numRowEntryIndexes = reader.GetNumberOfRowGroupEntries(stripeId, decimalColumn.Id); for (var rowEntryIndex = 0; rowEntryIndex < numRowEntryIndexes; rowEntryIndex++) { await Task.WhenAll( - reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, stringDictionaryV2ColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, stringDirectV2ColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, decimalColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, integerColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), @@ -85,10 +85,10 @@ await Task.WhenAll( { totalCount++; - var source = sourceColumnBuffer.Values[idx]; - var symbol = symbolColumnBuffer.Values[idx]; - var time = timeColumnBuffer.Values[idx]; - var size = sizeColumnBuffer.Values[idx]; + var stringDictionaryV2 = stringDictionaryV2ColumnBuffer.Values[idx]; + var stringDirectV2 = stringDirectV2ColumnBuffer.Values[idx]; + var @decimal = decimalColumnBuffer.Values[idx]; + var integer = integerColumnBuffer.Values[idx]; var date = dateColumnBuffer.Values[idx]; var dobl = doubleColumnBuffer.Values[idx]; var sing = floatColumnBuffer.Values[idx]; @@ -100,10 +100,10 @@ await Task.WhenAll( if (outputData) { Console.WriteLine($"" + - $"{source}," + - $"{symbol}," + - $"{(time.HasValue ? time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + - $"{size}" + + $"{stringDictionaryV2}," + + $"{stringDirectV2}," + + $"{(@decimal.HasValue ? @decimal.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + + $"{integer}" + $" " + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + $"{dobl}," + diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs index 65d2247..f410d78 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadAllOldApp.cs @@ -41,10 +41,10 @@ public void Run() if (outputData) { Console.WriteLine($"" + - $"{item.Source}," + - $"{item.Symbol}," + - $"{(item.Time.HasValue ? item.Time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + - $"{item.Size}" + + $"{item.StringDictionaryV2}," + + $"{item.StringDirectV2}," + + $"{(item.Decimal.HasValue ? item.Decimal.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + + $"{item.Integer}" + $" " + $"{(item.Date.HasValue ? item.Date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + $"{item.Double}," + diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs index 5567a5a..145f160 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadCompareApp.cs @@ -47,10 +47,10 @@ public async Task Run() watch.Start(); // Columns - var sourceColumn = orcReaderNew.GetColumn("source"); - var symbolColumn = orcReaderNew.GetColumn("symbol"); - var timeColumn = orcReaderNew.GetColumn("time"); - var sizeColumn = orcReaderNew.GetColumn("size"); + var stringDictionaryV2Column = orcReaderNew.GetColumn("stringDictionaryV2"); + var stringDirectV2Column = orcReaderNew.GetColumn("stringDirectV2"); + var decimalColumn = orcReaderNew.GetColumn("decimal"); + var integerColumn = orcReaderNew.GetColumn("integer"); var dateColumn = orcReaderNew.GetColumn("date"); var doubleColumn = orcReaderNew.GetColumn("double"); var floatColumn = orcReaderNew.GetColumn("float"); @@ -60,10 +60,10 @@ public async Task Run() var booleanColumn = orcReaderNew.GetColumn("boolean"); // Buffers - var sourceColumnBuffer = orcReaderNew.CreateStringColumnBuffer(sourceColumn); - var symbolColumnBuffer = orcReaderNew.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = orcReaderNew.CreateDecimalColumnBuffer(timeColumn); - var sizeColumnBuffer = orcReaderNew.CreateIntegerColumnBuffer(sizeColumn); + var stringDictionaryV2ColumnBuffer = orcReaderNew.CreateStringColumnBuffer(stringDictionaryV2Column); + var stringDirectV2ColumnBuffer = orcReaderNew.CreateStringColumnBuffer(stringDirectV2Column); + var decimalColumnBuffer = orcReaderNew.CreateDecimalColumnBuffer(decimalColumn); + var integerColumnBuffer = orcReaderNew.CreateIntegerColumnBuffer(integerColumn); var dateColumnBuffer = orcReaderNew.CreateDateColumnBuffer(dateColumn); var doubleColumnBuffer = orcReaderNew.CreateDoubleColumnBuffer(doubleColumn); var floatColumnBuffer = orcReaderNew.CreateFloatColumnBuffer(floatColumn); @@ -80,15 +80,15 @@ public async Task Run() for (var stripeId = 0; stripeId < orcReaderNew.GetNumberOfStripes(); stripeId++) { - var numRowEntryIndexes = orcReaderNew.GetNumberOfRowGroupEntries(stripeId, timeColumn.Id); + var numRowEntryIndexes = orcReaderNew.GetNumberOfRowGroupEntries(stripeId, decimalColumn.Id); for (var rowEntryIndex = 0; rowEntryIndex < numRowEntryIndexes; rowEntryIndex++) { await Task.WhenAll( - orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), - orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), - orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), - orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, stringDictionaryV2ColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, stringDirectV2ColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, decimalColumnBuffer), + orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, integerColumnBuffer), orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), orcReaderNew.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), @@ -102,10 +102,10 @@ await Task.WhenAll( { totalCount++; - var source = sourceColumnBuffer.Values[idx]; - var symbol = symbolColumnBuffer.Values[idx]; - var time = timeColumnBuffer.Values[idx]; - var size = sizeColumnBuffer.Values[idx]; + var stringDictionaryV2 = stringDictionaryV2ColumnBuffer.Values[idx]; + var stringDirectV2 = stringDirectV2ColumnBuffer.Values[idx]; + var @decimal = decimalColumnBuffer.Values[idx]; + var integer = integerColumnBuffer.Values[idx]; var date = dateColumnBuffer.Values[idx]; var dobl = doubleColumnBuffer.Values[idx]; var sing = floatColumnBuffer.Values[idx]; @@ -122,8 +122,8 @@ await Task.WhenAll( var item = (Item)oldReaderItemsEnumerator.Current; - if (source != item.Source || symbol != item.Symbol || time != item.Time || size != item.Size) - throw new InvalidDataException($"{source},{symbol},{time},{size} != {item.Source},{item.Symbol},{item.Time},{item.Size}"); + if (stringDictionaryV2 != item.StringDictionaryV2 || stringDirectV2 != item.StringDirectV2 || @decimal != item.Decimal || integer != item.Integer) + throw new InvalidDataException($"{stringDictionaryV2},{stringDirectV2},{@decimal},{integer} != {item.StringDictionaryV2},{item.StringDirectV2},{item.Decimal},{item.Integer}"); if (date != item.Date || dobl != item.Double || sing != item.Float || timeStamp != item.TimeStamp) throw new InvalidDataException($"{date},{dobl},{sing},{timeStamp} != {item.Date},{item.Double},{item.Float},{item.TimeStamp}"); diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs index b58e3f0..7bc2dcf 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/ReadFilteredApp.cs @@ -34,16 +34,16 @@ public async Task Run() watch.Start(); // Args - var lookupSource = _configuration.Source; - var lookupSymbol = _configuration.Symbol; + var lookupVendor = _configuration.Vendor; + var lookupProduct = _configuration.Product; var beginTime = _configuration.BeginTime; var endTime = _configuration.EndTime; // Columns - var sourceColumn = reader.GetColumn("source"); - var symbolColumn = reader.GetColumn("symbol"); - var timeColumn = reader.GetColumn("time"); - var sizeColumn = reader.GetColumn("size"); + var stringDictionaryV2Column = reader.GetColumn("stringDictionaryV2"); + var stringDirectV2Column = reader.GetColumn("stringDirectV2"); + var decimalColumn = reader.GetColumn("decimal"); + var integerColumn = reader.GetColumn("integer"); var dateColumn = reader.GetColumn("date"); var doubleColumn = reader.GetColumn("double"); var floatColumn = reader.GetColumn("float"); @@ -53,10 +53,10 @@ public async Task Run() var booleanColumn = reader.GetColumn("boolean"); // Buffers - var sourceColumnBuffer = reader.CreateStringColumnBuffer(sourceColumn); - var symbolColumnBuffer = reader.CreateStringColumnBuffer(symbolColumn); - var timeColumnBuffer = reader.CreateDecimalColumnBuffer(timeColumn); - var sizeColumnBuffer = reader.CreateIntegerColumnBuffer(sizeColumn); + var stringDictionaryV2ColumnBuffer = reader.CreateStringColumnBuffer(stringDictionaryV2Column); + var stringDirectV2ColumnBuffer = reader.CreateStringColumnBuffer(stringDirectV2Column); + var decimalColumnBuffer = reader.CreateDecimalColumnBuffer(decimalColumn); + var integerColumnBuffer = reader.CreateIntegerColumnBuffer(integerColumn); var dateColumnBuffer = reader.CreateDateColumnBuffer(dateColumn); var doubleColumnBuffer = reader.CreateDoubleColumnBuffer(doubleColumn); var floatColumnBuffer = reader.CreateFloatColumnBuffer(floatColumn); @@ -66,29 +66,29 @@ public async Task Run() var booleanColumnBuffer = reader.CreateBooleanColumnReader(booleanColumn); // Filters - var sourceFilterValues = FilterValues.CreateFromString(min: lookupSource, max: lookupSource); - var symbolFilterValues = FilterValues.CreateFromString(min: lookupSymbol, max: lookupSymbol); + var vendorFilterValues = FilterValues.CreateFromString(min: lookupVendor, max: lookupVendor); + var productFilterValues = FilterValues.CreateFromString(min: lookupProduct, max: lookupProduct); var timeFilterValues = FilterValues.CreateFromTime(min: beginTime, max: endTime); // - var stripeIds = reader.FilterStripes(sourceColumn, sourceFilterValues); - stripeIds = reader.FilterStripes(stripeIds, symbolColumn, symbolFilterValues); - stripeIds = reader.FilterStripes(stripeIds, timeColumn, timeFilterValues); + var stripeIds = reader.FilterStripes(stringDictionaryV2Column, vendorFilterValues); + stripeIds = reader.FilterStripes(stripeIds, stringDirectV2Column, productFilterValues); + stripeIds = reader.FilterStripes(stripeIds, decimalColumn, timeFilterValues); foreach (var stripeId in stripeIds) { // - var rowGroupIndexes = reader.FilterRowGroups(stripeId, sourceColumn, sourceFilterValues); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, symbolColumn, symbolFilterValues); - rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, timeColumn, timeFilterValues); + var rowGroupIndexes = reader.FilterRowGroups(stripeId, stringDictionaryV2Column, vendorFilterValues); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, stringDirectV2Column, productFilterValues); + rowGroupIndexes = reader.FilterRowGroups(rowGroupIndexes, stripeId, decimalColumn, timeFilterValues); foreach (var rowEntryIndex in rowGroupIndexes) { await Task.WhenAll( - reader.LoadDataAsync(stripeId, rowEntryIndex, sourceColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, symbolColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, timeColumnBuffer), - reader.LoadDataAsync(stripeId, rowEntryIndex, sizeColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, stringDictionaryV2ColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, stringDirectV2ColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, decimalColumnBuffer), + reader.LoadDataAsync(stripeId, rowEntryIndex, integerColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, dateColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, doubleColumnBuffer), reader.LoadDataAsync(stripeId, rowEntryIndex, floatColumnBuffer), @@ -100,10 +100,10 @@ await Task.WhenAll( for (int idx = 0; idx < reader.NumValuesLoaded; idx++) { - var source = sourceColumnBuffer.Values[idx]; - var symbol = symbolColumnBuffer.Values[idx]; - var time = timeColumnBuffer.Values[idx]; - var size = sizeColumnBuffer.Values[idx]; + var stringDictionaryV2 = stringDictionaryV2ColumnBuffer.Values[idx]; + var stringDirectV2 = stringDirectV2ColumnBuffer.Values[idx]; + var @decimal = decimalColumnBuffer.Values[idx]; + var integer = integerColumnBuffer.Values[idx]; var date = dateColumnBuffer.Values[idx]; var dobl = doubleColumnBuffer.Values[idx]; var sing = floatColumnBuffer.Values[idx]; @@ -112,13 +112,13 @@ await Task.WhenAll( var tinyInt = byteColumnBuffer.Values[idx]; var boolean = booleanColumnBuffer.Values[idx]; - if (source == lookupSource && symbol == lookupSymbol && time >= (decimal)beginTime.TotalSeconds && time <= (decimal)endTime.TotalSeconds) + if (stringDictionaryV2 == lookupVendor && stringDirectV2 == lookupProduct && @decimal >= (decimal)beginTime.TotalSeconds && @decimal <= (decimal)endTime.TotalSeconds) { Console.WriteLine($"" + - $"{source}," + - $"{symbol}," + - $"{(time.HasValue ? time.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + - $"{size}" + + $"{stringDictionaryV2}," + + $"{stringDirectV2}," + + $"{(@decimal.HasValue ? @decimal.Value.ToString(CultureInfo.InvariantCulture).PadRight(15, '0') : string.Empty)}," + + $"{integer}" + $" " + $"{(date.HasValue ? date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : string.Empty)}," + $"{dobl}," + diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/SampleDataSource.cs similarity index 67% rename from src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs rename to src/ApacheOrcDotNet.OptimizedReaderTest.App/SampleDataSource.cs index b4de6ca..5b3b53c 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSource.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/SampleDataSource.cs @@ -10,31 +10,29 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { public class Columns { - public OrcColumn Source { get; init; } - public OrcColumn Symbol { get; init; } + public OrcColumn Vendor { get; init; } + public OrcColumn Product { get; init; } public OrcColumn Time { get; init; } - public OrcColumn Price { get; init; } - public OrcColumn Size { get; init; } + public OrcColumn Sales { get; init; } } public class Buffers { - public BaseColumnBuffer Source { get; init; } - public BaseColumnBuffer Symbol { get; init; } + public BaseColumnBuffer Vendor { get; init; } + public BaseColumnBuffer Product { get; init; } public BaseColumnBuffer Time { get; init; } - public BaseColumnBuffer Price { get; init; } - public BaseColumnBuffer Size { get; init; } + public BaseColumnBuffer Sales { get; init; } } public class Lookup { - public string Source { get; init; } - public string Symbol { get; init; } + public string Vendor { get; init; } + public string Product { get; init; } public TimeSpan StartTime { get; set; } public TimeSpan EndTime { get; set; } } - public class TradeDataSource + public class SampleDataSource { private readonly Reader _reader; private readonly Lookup _lookup; @@ -42,44 +40,42 @@ public class TradeDataSource private readonly Buffers _buffers; private readonly Dictionary> _matchCandidates = new(); - public TradeDataSource(Reader reader, string source, string symbol) + public SampleDataSource(Reader reader, string vendor, string product) { _reader = reader; _lookup = new Lookup { - Source = source, - Symbol = symbol + Vendor = vendor, + Product = product }; _columns = new Columns { - Source = _reader.GetColumn("source"), - Symbol = _reader.GetColumn("symbol"), - Time = _reader.GetColumn("time"), - Price = _reader.GetColumn("price"), - Size = _reader.GetColumn("size") + Vendor = _reader.GetColumn("stringDictionaryV2"), + Product = _reader.GetColumn("stringDirectV2"), + Time = _reader.GetColumn("decimal"), + Sales = _reader.GetColumn("integer") }; _buffers = new Buffers { - Source = reader.CreateStringColumnBuffer(_columns.Source), - Symbol = reader.CreateStringColumnBuffer(_columns.Symbol), + Vendor = reader.CreateStringColumnBuffer(_columns.Vendor), + Product = reader.CreateStringColumnBuffer(_columns.Product), Time = reader.CreateDecimalColumnBuffer(_columns.Time), - Price = reader.CreateDecimalColumnBuffer(_columns.Price), - Size = reader.CreateIntegerColumnBuffer(_columns.Size) + Sales = reader.CreateIntegerColumnBuffer(_columns.Sales) }; - var sourceFilterValues = FilterValues.CreateFromString(min: source, max: source); - var symbolFilterValues = FilterValues.CreateFromString(min: symbol, max: symbol); + var vendorFilterValues = FilterValues.CreateFromString(min: vendor, max: vendor); + var productFilterValues = FilterValues.CreateFromString(min: product, max: product); - var stripeIds = _reader.FilterStripes(_columns.Source, sourceFilterValues); - stripeIds = _reader.FilterStripes(stripeIds, _columns.Symbol, symbolFilterValues); + var stripeIds = _reader.FilterStripes(_columns.Vendor, vendorFilterValues); + stripeIds = _reader.FilterStripes(stripeIds, _columns.Product, productFilterValues); foreach (var stripeId in stripeIds) { - var rowGroupIndexes = _reader.FilterRowGroups(stripeId, _columns.Source, sourceFilterValues); - rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, _columns.Symbol, symbolFilterValues); + var rowGroupIndexes = _reader.FilterRowGroups(stripeId, _columns.Vendor, vendorFilterValues); + rowGroupIndexes = _reader.FilterRowGroups(rowGroupIndexes, stripeId, _columns.Product, productFilterValues); if (rowGroupIndexes.Any()) _matchCandidates.Add(stripeId, rowGroupIndexes.ToList()); @@ -118,7 +114,7 @@ public TimeRangeReader(Reader reader, Lookup lookup, Columns columns, Buffers bu public int ApproxRowCount => _matches.Count * _reader.MaxValuesPerRowGroup; - public int ReadBatch(Span times, Span prices, Span sizes) + public int ReadBatch(Span times, Span sales) { var writeIndex = 0; var startTimeTotalSeconds = (decimal)_lookup.StartTime.TotalSeconds; @@ -129,26 +125,24 @@ public int ReadBatch(Span times, Span prices, Span si var (stripeId, rowEntryIndex) = _matches.Dequeue(); Task.WhenAll( - _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Source), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Symbol), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Vendor), + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Product), _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Time), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Size), - _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Price) + _reader.LoadDataAsync(stripeId, rowEntryIndex, _buffers.Sales) ).Wait(); for (int idx = 0; idx < _reader.NumValuesLoaded; idx++) { - var source = _buffers.Source.Values[idx]; - var symbol = _buffers.Symbol.Values[idx]; + var vendor = _buffers.Vendor.Values[idx]; + var product = _buffers.Product.Values[idx]; var time = _buffers.Time.Values[idx]; - if (source == _lookup.Source && symbol == _lookup.Symbol && time >= startTimeTotalSeconds && time <= endTimeTotalSeconds) + if (vendor == _lookup.Vendor && product == _lookup.Product && time >= startTimeTotalSeconds && time <= endTimeTotalSeconds) { _valuesFound = true; times[writeIndex] = _buffers.Time.Values[idx]; - sizes[writeIndex] = _buffers.Size.Values[idx]; - prices[writeIndex] = _buffers.Price.Values[idx]; + sales[writeIndex] = _buffers.Sales.Values[idx]; writeIndex++; } diff --git a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs b/src/ApacheOrcDotNet.OptimizedReaderTest.App/SampleDataSourceApp.cs similarity index 80% rename from src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs rename to src/ApacheOrcDotNet.OptimizedReaderTest.App/SampleDataSourceApp.cs index da3aa32..5cfe94e 100644 --- a/src/ApacheOrcDotNet.OptimizedReaderTest.App/TradeDataSourceApp.cs +++ b/src/ApacheOrcDotNet.OptimizedReaderTest.App/SampleDataSourceApp.cs @@ -5,13 +5,13 @@ namespace ApacheOrcDotNet.OptimizedReaderTest.App { - public class TradeDataSourceApp + public class SampleDataSourceApp { private readonly string _orcFileUri; private readonly Configs _configuration; private readonly IByteRangeProviderFactory _byteRangeProviderFactory; - public TradeDataSourceApp(string orcFileUri, Configs configuration, IByteRangeProviderFactory byteRangeProviderFactory) + public SampleDataSourceApp(string orcFileUri, Configs configuration, IByteRangeProviderFactory byteRangeProviderFactory) { _orcFileUri = orcFileUri; _configuration = configuration; @@ -36,25 +36,23 @@ public void Run() (new TimeSpan(09, 43, 20), new TimeSpan(11, 43, 20)) // 35000, 42200 }; - var symbolData = new TradeDataSource(reader, _configuration.Source, _configuration.Symbol); + var dataSource = new SampleDataSource(reader, _configuration.Vendor, _configuration.Product); foreach (var (sTime, eTime) in timeRanges) { - var timeRangeReader = symbolData.CreateTimeRangeReader(sTime, eTime); + var timeRangeReader = dataSource.CreateTimeRangeReader(sTime, eTime); var approxRowCount = timeRangeReader.ApproxRowCount; var times = new decimal?[approxRowCount]; - var prices = new decimal?[approxRowCount]; - var sizes = new long?[approxRowCount]; + var sales = new long?[approxRowCount]; var numRows = 0; while (true) { var rowsRead = timeRangeReader.ReadBatch( times.AsSpan()[numRows..], - prices.AsSpan()[numRows..], - sizes.AsSpan()[numRows..] + sales.AsSpan()[numRows..] ); if (rowsRead == 0) diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs index 7213560..fbe6c0f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalAsDoubleColumn_Test.cs @@ -10,7 +10,7 @@ public void DecimalAsDouble_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -31,7 +31,7 @@ public void DecimalAsDouble_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs index 4315d1a..fb8895f 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/DecimalColumn_Test.cs @@ -10,7 +10,7 @@ public void Decimal_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -31,7 +31,7 @@ public void Decimal_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs index 8756a6d..da384b5 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/IntegerColumn_Test.cs @@ -10,7 +10,7 @@ public void Integer_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("size"); + var column = reader.GetColumn("integer"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -31,7 +31,7 @@ public void Integer_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("size"); + var column = reader.GetColumn("integer"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs index bb515f8..371f985 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/StringColumn_Test.cs @@ -10,7 +10,7 @@ public void String_DirectV2_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("symbol"); + var column = reader.GetColumn("stringDirectV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -31,7 +31,7 @@ public void String_DirectV2_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("symbol"); + var column = reader.GetColumn("stringDirectV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); @@ -53,7 +53,7 @@ public void String_DictionaryV2_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("source"); + var column = reader.GetColumn("stringDictionaryV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -74,7 +74,7 @@ public void String_DictionaryV2_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("source"); + var column = reader.GetColumn("stringDictionaryV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs index 297f881..5bcd3bd 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Edge_Cases.cs @@ -10,15 +10,15 @@ public void All_Values_Will_Track_Stride_Size() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var columnSize = reader.GetColumn("size"); - var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + var columnInteger = reader.GetColumn("integer"); + var columnIntegerBuffer = reader.CreateIntegerColumnBuffer(columnInteger); var columnBool = reader.GetColumn("boolean"); var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); // rowEntryIndexId '0' has '10_000' data rows. reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBoolBuffer).Wait(); - reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnSizeBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnIntegerBuffer).Wait(); // The reader will track the entire stride. Assert.Equal(10_000, reader.NumValuesLoaded); @@ -30,15 +30,15 @@ public void Few_Values_Will_Track_Lower_Bound_Per_Stripe() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var columnSize = reader.GetColumn("size"); - var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + var columnInteger = reader.GetColumn("integer"); + var columnIntegerBuffer = reader.CreateIntegerColumnBuffer(columnInteger); var columnBool = reader.GetColumn("boolean"); var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); // rowEntryIndexId '1' has a single data row. reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBoolBuffer).Wait(); - reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnSizeBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnIntegerBuffer).Wait(); // When present streams are available, all buffers will have at least 8 values loaded. Assert.Equal(8, reader.NumValuesLoaded); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs index 0bb0f3f..ccbbee8 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithNulls/_Filter_Test.cs @@ -12,20 +12,20 @@ public void Filter_Single_RowEntry() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var sourceColumn = reader.GetColumn("source"); - var symbolColumn = reader.GetColumn("symbol"); + var dicColumn = reader.GetColumn("stringDictionaryV2"); + var dirColumn = reader.GetColumn("stringDirectV2"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); + var dicfilterValues = FilterValues.CreateFromString(min: "abc", max: "xyz"); + var dirfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + var filteredStripeIds = reader.FilterStripes(dicColumn, dicfilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, dirColumn, dirfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dicColumn, dicfilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, dirColumn, dirfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -44,12 +44,12 @@ public void Filter_Multiple_RowEntries() var endTime2 = (new TimeSpan(10, 43, 21)); // Columns - var sourceColumn = reader.GetColumn("source"); - var symbolColumn = reader.GetColumn("symbol"); - var timeColumn = reader.GetColumn("time"); + var sourceColumn = reader.GetColumn("stringDictionaryV2"); + var symbolColumn = reader.GetColumn("stringDirectV2"); + var timeColumn = reader.GetColumn("decimal"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); + var sourcefilterValues = FilterValues.CreateFromString(min: "xyz", max: "xyz"); + var symbolfilterValues = FilterValues.CreateFromString(min: "test", max: "test"); var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs index 6deac99..588c634 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalAsDoubleColumn_Test.cs @@ -10,7 +10,7 @@ public void DecimalAsDouble_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -29,7 +29,7 @@ public void DecimalAsDouble_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBufferAsDouble(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs index b720ada..419c0ad 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/DecimalColumn_Test.cs @@ -10,7 +10,7 @@ public void Decimal_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -29,7 +29,7 @@ public void Decimal_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("time"); + var column = reader.GetColumn("decimal"); var columnBuffer = reader.CreateDecimalColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs index 96824e1..cf9ed46 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/IntegerColumn_Test.cs @@ -10,7 +10,7 @@ public void Integer_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("size"); + var column = reader.GetColumn("integer"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -29,7 +29,7 @@ public void Integer_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("size"); + var column = reader.GetColumn("integer"); var columnBuffer = reader.CreateIntegerColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs index c6efea6..7d53015 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/StringColumn_Test.cs @@ -10,7 +10,7 @@ public void String_DirectV2_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("symbol"); + var column = reader.GetColumn("stringDirectV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -29,7 +29,7 @@ public void String_DirectV2_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("symbol"); + var column = reader.GetColumn("stringDirectV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); @@ -45,7 +45,7 @@ public void String_DictionaryV2_Column_10k_Values() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("source"); + var column = reader.GetColumn("stringDictionaryV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBuffer).Wait(); @@ -64,7 +64,7 @@ public void String_DictionaryV2_Column_1_Value() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var column = reader.GetColumn("source"); + var column = reader.GetColumn("stringDictionaryV2"); var columnBuffer = reader.CreateStringColumnBuffer(column); reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBuffer).Wait(); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs index 7b15c07..b3fce78 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Edge_Cases.cs @@ -10,15 +10,15 @@ public void All_Values_Will_Track_Stride_Size() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var columnSize = reader.GetColumn("size"); - var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + var columnInteger = reader.GetColumn("integer"); + var columnIntegerBuffer = reader.CreateIntegerColumnBuffer(columnInteger); var columnBool = reader.GetColumn("boolean"); var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); // rowEntryIndexId '0' has '10_000' data rows. reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnBoolBuffer).Wait(); - reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnSizeBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 0, columnIntegerBuffer).Wait(); // The reader will track the entire stride. Assert.Equal(10_000, reader.NumValuesLoaded); @@ -30,15 +30,15 @@ public void Few_Values_Will_Track_Lower_Bound_Per_Stripe() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var columnSize = reader.GetColumn("size"); - var columnSizeBuffer = reader.CreateIntegerColumnBuffer(columnSize); + var columnInteger = reader.GetColumn("integer"); + var columnIntegerBuffer = reader.CreateIntegerColumnBuffer(columnInteger); var columnBool = reader.GetColumn("boolean"); var columnBoolBuffer = reader.CreateBooleanColumnReader(columnBool); // rowEntryIndexId '1' has a single data row. reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnBoolBuffer).Wait(); - reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnSizeBuffer).Wait(); + reader.LoadDataAsync(stripeId: 0, rowEntryIndexId: 1, columnIntegerBuffer).Wait(); // The size will contain a sigle value. // Booleans will still extract 8 values from the last byte. diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs index 67c9aa5..3fdc01d 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/ColumnTypes/WithoutNulls/_Filter_Test.cs @@ -12,20 +12,20 @@ public void Filter_Single_RowEntry() var config = new OrcReaderConfiguration(); var reader = new OrcReader(config, _byteRangeProvider); - var sourceColumn = reader.GetColumn("source"); - var symbolColumn = reader.GetColumn("symbol"); + var dicColumn = reader.GetColumn("stringDictionaryV2"); + var dirColumn = reader.GetColumn("stringDirectV2"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkA", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); + var dicfilterValues = FilterValues.CreateFromString(min: "abc", max: "xyz"); + var dirfilterValues = FilterValues.CreateFromString(min: "970", max: "973"); - var filteredStripeIds = reader.FilterStripes(sourceColumn, sourcefilterValues); - filteredStripeIds = reader.FilterStripes(filteredStripeIds, symbolColumn, symbolfilterValues); + var filteredStripeIds = reader.FilterStripes(dicColumn, dicfilterValues); + filteredStripeIds = reader.FilterStripes(filteredStripeIds, dirColumn, dirfilterValues); Assert.Single(filteredStripeIds); Assert.Contains(filteredStripeIds, stripeId => stripeId == 0); - var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, sourceColumn, sourcefilterValues); - rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, symbolColumn, symbolfilterValues); + var rowGroupIndexIds = reader.FilterRowGroups(stripeId: 0, dicColumn, dicfilterValues); + rowGroupIndexIds = reader.FilterRowGroups(rowGroupIndexIds, stripeId: 0, dirColumn, dirfilterValues); Assert.Single(rowGroupIndexIds); Assert.Contains(rowGroupIndexIds, rowEntryIndex => rowEntryIndex == 0); @@ -44,12 +44,12 @@ public void Filter_Multiple_RowEntries() var endTime2 = (new TimeSpan(10, 43, 21)); // Columns - var sourceColumn = reader.GetColumn("source"); - var symbolColumn = reader.GetColumn("symbol"); - var timeColumn = reader.GetColumn("time"); + var sourceColumn = reader.GetColumn("stringDictionaryV2"); + var symbolColumn = reader.GetColumn("stringDirectV2"); + var timeColumn = reader.GetColumn("decimal"); - var sourcefilterValues = FilterValues.CreateFromString(min: "CTSPillarNetworkB", max: "CTSPillarNetworkB"); - var symbolfilterValues = FilterValues.CreateFromString(min: "SPY", max: "SPY"); + var sourcefilterValues = FilterValues.CreateFromString(min: "xyz", max: "xyz"); + var symbolfilterValues = FilterValues.CreateFromString(min: "test", max: "test"); var timefilterValues1 = FilterValues.CreateFromTime(min: beginTime1, max: endTime1); var timefilterValues2 = FilterValues.CreateFromTime(min: beginTime2, max: endTime2); diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv index 04c71bf..d196ee7 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.csv @@ -1,10001 +1,10001 @@ -CTSPillarNetworkA,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,false -CTSPillarNetworkA,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,true -CTSPillarNetworkA,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35, +abc,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,false +abc,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,true +abc,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35, ,,,,,,,,,,true -CTSPillarNetworkA,4,4,4,1970-01-05,0.30000000000000004,0.3,2015-01-01 00:00:04,bin4,35, +abc,4,4,4,1970-01-05,0.30000000000000004,0.3,2015-01-01 00:00:04,bin4,35, ,,,,,,,,,, -CTSPillarNetworkA,6,6,6,1970-01-07,0.4,0.4,2015-01-01 00:00:06,bin6,35, +abc,6,6,6,1970-01-07,0.4,0.4,2015-01-01 00:00:06,bin6,35, ,,,,,,,,,, -CTSPillarNetworkA,8,8,8,1970-01-09,0.5,0.5,2015-01-01 00:00:08,bin8,35, -CTSPillarNetworkA,9,9,9,1970-01-10,0.6,0.6,2015-01-01 00:00:09,bin9,75, -CTSPillarNetworkA,10,10,10,1970-01-11,0.7,0.70000005,2015-01-01 00:00:10,bin10,35, -CTSPillarNetworkA,11,11,11,1970-01-12,0.7999999999999999,0.8000001,2015-01-01 00:00:11,bin11,75, -CTSPillarNetworkA,12,12,12,1970-01-13,0.8999999999999999,0.9000001,2015-01-01 00:00:12,bin12,35, -CTSPillarNetworkA,13,13,13,1970-01-14,0.9999999999999999,1.0000001,2015-01-01 00:00:13,bin13,75, -CTSPillarNetworkA,14,14,14,1970-01-15,1.0999999999999999,1.1000001,2015-01-01 00:00:14,bin14,35, -CTSPillarNetworkA,15,15,15,1970-01-16,1.2,1.2000002,2015-01-01 00:00:15,bin15,75, -CTSPillarNetworkA,16,16,16,1970-01-17,1.3,1.3000002,2015-01-01 00:00:16,bin16,35, -CTSPillarNetworkA,17,17,17,1970-01-18,1.4000000000000001,1.4000002,2015-01-01 00:00:17,bin17,75, -CTSPillarNetworkA,18,18,18,1970-01-19,1.5000000000000002,1.5000002,2015-01-01 00:00:18,bin18,35, -CTSPillarNetworkA,19,19,19,1970-01-20,1.6000000000000003,1.6000003,2015-01-01 00:00:19,bin19,75, -CTSPillarNetworkA,20,20,20,1970-01-21,1.7000000000000004,1.7000003,2015-01-01 00:00:20,bin20,35, -CTSPillarNetworkA,21,21,21,1970-01-22,1.8000000000000005,1.8000003,2015-01-01 00:00:21,bin21,75, -CTSPillarNetworkA,22,22,22,1970-01-23,1.9000000000000006,1.9000003,2015-01-01 00:00:22,bin22,35, -CTSPillarNetworkA,23,23,23,1970-01-24,2.0000000000000004,2.0000002,2015-01-01 00:00:23,bin23,75, -CTSPillarNetworkA,24,24,24,1970-01-25,2.1000000000000005,2.1000001,2015-01-01 00:00:24,bin24,35, -CTSPillarNetworkA,25,25,25,1970-01-26,2.2000000000000006,2.2,2015-01-01 00:00:25,bin25,75, -CTSPillarNetworkA,26,26,26,1970-01-27,2.3000000000000007,2.3,2015-01-01 00:00:26,bin26,35, -CTSPillarNetworkA,27,27,27,1970-01-28,2.400000000000001,2.3999999,2015-01-01 00:00:27,bin27,75,true -CTSPillarNetworkA,28,28,28,1970-01-29,2.500000000000001,2.4999998,2015-01-01 00:00:28,bin28,35,false -CTSPillarNetworkA,29,29,29,1970-01-30,2.600000000000001,2.5999997,2015-01-01 00:00:29,bin29,75, -CTSPillarNetworkA,30,30,30,1970-01-31,2.700000000000001,2.6999996,2015-01-01 00:00:30,bin30,35, -CTSPillarNetworkA,31,31,31,1970-02-01,2.800000000000001,2.7999995,2015-01-01 00:00:31,bin31,75, -CTSPillarNetworkA,32,32,32,1970-02-02,2.9000000000000012,2.8999994,2015-01-01 00:00:32,bin32,35, -CTSPillarNetworkA,33,33,33,1970-02-03,3.0000000000000013,2.9999993,2015-01-01 00:00:33,bin33,75, -CTSPillarNetworkA,34,34,34,1970-02-04,3.1000000000000014,3.0999992,2015-01-01 00:00:34,bin34,35, -CTSPillarNetworkA,35,35,35,1970-02-05,3.2000000000000015,3.199999,2015-01-01 00:00:35,bin35,75, -CTSPillarNetworkA,36,36,36,1970-02-06,3.3000000000000016,3.299999,2015-01-01 00:00:36,bin36,35, -CTSPillarNetworkA,37,37,37,1970-02-07,3.4000000000000017,3.399999,2015-01-01 00:00:37,bin37,75, -CTSPillarNetworkA,38,38,38,1970-02-08,3.5000000000000018,3.4999988,2015-01-01 00:00:38,bin38,35, -CTSPillarNetworkA,39,39,39,1970-02-09,3.600000000000002,3.5999987,2015-01-01 00:00:39,bin39,75, -CTSPillarNetworkA,40,40,40,1970-02-10,3.700000000000002,3.6999986,2015-01-01 00:00:40,bin40,35, -CTSPillarNetworkA,41,41,41,1970-02-11,3.800000000000002,3.7999985,2015-01-01 00:00:41,bin41,75, -CTSPillarNetworkA,42,42,42,1970-02-12,3.900000000000002,3.8999984,2015-01-01 00:00:42,bin42,35, -CTSPillarNetworkA,43,43,43,1970-02-13,4.000000000000002,3.9999983,2015-01-01 00:00:43,bin43,75, -CTSPillarNetworkA,44,44,44,1970-02-14,4.100000000000001,4.0999985,2015-01-01 00:00:44,bin44,35, -CTSPillarNetworkA,45,45,45,1970-02-15,4.200000000000001,4.1999984,2015-01-01 00:00:45,bin45,75, -CTSPillarNetworkA,46,46,46,1970-02-16,4.300000000000001,4.2999983,2015-01-01 00:00:46,bin46,35, -CTSPillarNetworkA,47,47,47,1970-02-17,4.4,4.399998,2015-01-01 00:00:47,bin47,75, -CTSPillarNetworkA,48,48,48,1970-02-18,4.5,4.499998,2015-01-01 00:00:48,bin48,35, -CTSPillarNetworkA,49,49,49,1970-02-19,4.6,4.599998,2015-01-01 00:00:49,bin49,75, -CTSPillarNetworkA,50,50,50,1970-02-20,4.699999999999999,4.699998,2015-01-01 00:00:50,bin50,35, -CTSPillarNetworkA,51,51,51,1970-02-21,4.799999999999999,4.799998,2015-01-01 00:00:51,bin51,75, -CTSPillarNetworkA,52,52,52,1970-02-22,4.899999999999999,4.8999977,2015-01-01 00:00:52,bin52,35, -CTSPillarNetworkA,53,53,53,1970-02-23,4.999999999999998,4.9999976,2015-01-01 00:00:53,bin53,75, -CTSPillarNetworkA,54,54,54,1970-02-24,5.099999999999998,5.0999975,2015-01-01 00:00:54,bin54,35, -CTSPillarNetworkA,55,55,55,1970-02-25,5.1999999999999975,5.1999974,2015-01-01 00:00:55,bin55,75, -CTSPillarNetworkA,56,56,56,1970-02-26,5.299999999999997,5.2999973,2015-01-01 00:00:56,bin56,35, -CTSPillarNetworkA,57,57,57,1970-02-27,5.399999999999997,5.399997,2015-01-01 00:00:57,bin57,75, -CTSPillarNetworkA,58,58,58,1970-02-28,5.4999999999999964,5.499997,2015-01-01 00:00:58,bin58,35, -CTSPillarNetworkA,59,59,59,1970-03-01,5.599999999999996,5.599997,2015-01-01 00:00:59,bin59,75, -CTSPillarNetworkA,60,60,60,1970-03-02,5.699999999999996,5.699997,2015-01-01 00:01:00,bin60,35, -CTSPillarNetworkA,61,61,61,1970-03-03,5.799999999999995,5.799997,2015-01-01 00:01:01,bin61,75, -CTSPillarNetworkA,62,62,62,1970-03-04,5.899999999999995,5.8999968,2015-01-01 00:01:02,bin62,35, -CTSPillarNetworkA,63,63,63,1970-03-05,5.999999999999995,5.9999967,2015-01-01 00:01:03,bin63,75, -CTSPillarNetworkA,64,64,64,1970-03-06,6.099999999999994,6.0999966,2015-01-01 00:01:04,bin64,35, -CTSPillarNetworkA,65,65,65,1970-03-07,6.199999999999994,6.1999965,2015-01-01 00:01:05,bin65,75, -CTSPillarNetworkA,66,66,66,1970-03-08,6.299999999999994,6.2999964,2015-01-01 00:01:06,bin66,35, -CTSPillarNetworkA,67,67,67,1970-03-09,6.399999999999993,6.3999963,2015-01-01 00:01:07,bin67,75, -CTSPillarNetworkA,68,68,68,1970-03-10,6.499999999999993,6.499996,2015-01-01 00:01:08,bin68,35, -CTSPillarNetworkA,69,69,69,1970-03-11,6.5999999999999925,6.599996,2015-01-01 00:01:09,bin69,75, -CTSPillarNetworkA,70,70,70,1970-03-12,6.699999999999992,6.699996,2015-01-01 00:01:10,bin70,35, -CTSPillarNetworkA,71,71,71,1970-03-13,6.799999999999992,6.799996,2015-01-01 00:01:11,bin71,75, -CTSPillarNetworkA,72,72,72,1970-03-14,6.8999999999999915,6.899996,2015-01-01 00:01:12,bin72,35, -CTSPillarNetworkA,73,73,73,1970-03-15,6.999999999999991,6.9999957,2015-01-01 00:01:13,bin73,75, -CTSPillarNetworkA,74,74,74,1970-03-16,7.099999999999991,7.0999956,2015-01-01 00:01:14,bin74,35, -CTSPillarNetworkA,75,75,75,1970-03-17,7.19999999999999,7.1999955,2015-01-01 00:01:15,bin75,75, -CTSPillarNetworkA,76,76,76,1970-03-18,7.29999999999999,7.2999954,2015-01-01 00:01:16,bin76,35, -CTSPillarNetworkA,77,77,77,1970-03-19,7.39999999999999,7.3999953,2015-01-01 00:01:17,bin77,75, -CTSPillarNetworkA,78,78,78,1970-03-20,7.499999999999989,7.499995,2015-01-01 00:01:18,bin78,35, -CTSPillarNetworkA,79,79,79,1970-03-21,7.599999999999989,7.599995,2015-01-01 00:01:19,bin79,75, -CTSPillarNetworkA,80,80,80,1970-03-22,7.699999999999989,7.699995,2015-01-01 00:01:20,bin80,35, -CTSPillarNetworkA,81,81,81,1970-03-23,7.799999999999988,7.799995,2015-01-01 00:01:21,bin81,75, -CTSPillarNetworkA,82,82,82,1970-03-24,7.899999999999988,7.899995,2015-01-01 00:01:22,bin82,35, -CTSPillarNetworkA,83,83,83,1970-03-25,7.999999999999988,7.9999948,2015-01-01 00:01:23,bin83,75, -CTSPillarNetworkA,84,84,84,1970-03-26,8.099999999999987,8.099995,2015-01-01 00:01:24,bin84,35, -CTSPillarNetworkA,85,85,85,1970-03-27,8.199999999999987,8.199995,2015-01-01 00:01:25,bin85,75, -CTSPillarNetworkA,86,86,86,1970-03-28,8.299999999999986,8.299995,2015-01-01 00:01:26,bin86,35, -CTSPillarNetworkA,87,87,87,1970-03-29,8.399999999999986,8.399996,2015-01-01 00:01:27,bin87,75, -CTSPillarNetworkA,88,88,88,1970-03-30,8.499999999999986,8.499996,2015-01-01 00:01:28,bin88,35, -CTSPillarNetworkA,89,89,89,1970-03-31,8.599999999999985,8.599997,2015-01-01 00:01:29,bin89,75, -CTSPillarNetworkA,90,90,90,1970-04-01,8.699999999999985,8.699997,2015-01-01 00:01:30,bin90,35, -CTSPillarNetworkA,91,91,91,1970-04-02,8.799999999999985,8.799997,2015-01-01 00:01:31,bin91,75, -CTSPillarNetworkA,92,92,92,1970-04-03,8.899999999999984,8.899998,2015-01-01 00:01:32,bin92,35, -CTSPillarNetworkA,93,93,93,1970-04-04,8.999999999999984,8.999998,2015-01-01 00:01:33,bin93,75, -CTSPillarNetworkA,94,94,94,1970-04-05,9.099999999999984,9.099998,2015-01-01 00:01:34,bin94,35, -CTSPillarNetworkA,95,95,95,1970-04-06,9.199999999999983,9.199999,2015-01-01 00:01:35,bin95,75, -CTSPillarNetworkA,96,96,96,1970-04-07,9.299999999999983,9.299999,2015-01-01 00:01:36,bin96,35, -CTSPillarNetworkA,97,97,97,1970-04-08,9.399999999999983,9.4,2015-01-01 00:01:37,bin97,75, -CTSPillarNetworkA,98,98,98,1970-04-09,9.499999999999982,9.5,2015-01-01 00:01:38,bin98,35, -CTSPillarNetworkA,99,99,99,1970-04-10,9.599999999999982,9.6,2015-01-01 00:01:39,bin99,75, -CTSPillarNetworkA,100,100,100,1970-04-11,9.699999999999982,9.700001,2015-01-01 00:01:40,bin100,35, -CTSPillarNetworkA,101,101,101,1970-04-12,9.799999999999981,9.800001,2015-01-01 00:01:41,bin101,75, -CTSPillarNetworkA,102,102,102,1970-04-13,9.89999999999998,9.900002,2015-01-01 00:01:42,bin102,35, -CTSPillarNetworkA,103,103,103,1970-04-14,9.99999999999998,10.000002,2015-01-01 00:01:43,bin103,75, -CTSPillarNetworkA,104,104,104,1970-04-15,10.09999999999998,10.100002,2015-01-01 00:01:44,bin104,35, -CTSPillarNetworkA,105,105,105,1970-04-16,10.19999999999998,10.200003,2015-01-01 00:01:45,bin105,75, -CTSPillarNetworkA,106,106,106,1970-04-17,10.29999999999998,10.300003,2015-01-01 00:01:46,bin106,35, -CTSPillarNetworkA,107,107,107,1970-04-18,10.399999999999979,10.400003,2015-01-01 00:01:47,bin107,75, -CTSPillarNetworkA,108,108,108,1970-04-19,10.499999999999979,10.500004,2015-01-01 00:01:48,bin108,35, -CTSPillarNetworkA,109,109,109,1970-04-20,10.599999999999978,10.600004,2015-01-01 00:01:49,bin109,75, -CTSPillarNetworkA,110,110,110,1970-04-21,10.699999999999978,10.700005,2015-01-01 00:01:50,bin110,35, -CTSPillarNetworkA,111,111,111,1970-04-22,10.799999999999978,10.800005,2015-01-01 00:01:51,bin111,75, -CTSPillarNetworkA,112,112,112,1970-04-23,10.899999999999977,10.900005,2015-01-01 00:01:52,bin112,35, -CTSPillarNetworkA,113,113,113,1970-04-24,10.999999999999977,11.000006,2015-01-01 00:01:53,bin113,75, -CTSPillarNetworkA,114,114,114,1970-04-25,11.099999999999977,11.100006,2015-01-01 00:01:54,bin114,35, -CTSPillarNetworkA,115,115,115,1970-04-26,11.199999999999976,11.2000065,2015-01-01 00:01:55,bin115,75, -CTSPillarNetworkA,116,116,116,1970-04-27,11.299999999999976,11.300007,2015-01-01 00:01:56,bin116,35, -CTSPillarNetworkA,117,117,117,1970-04-28,11.399999999999975,11.400007,2015-01-01 00:01:57,bin117,75, -CTSPillarNetworkA,118,118,118,1970-04-29,11.499999999999975,11.500008,2015-01-01 00:01:58,bin118,35, -CTSPillarNetworkA,119,119,119,1970-04-30,11.599999999999975,11.600008,2015-01-01 00:01:59,bin119,75, -CTSPillarNetworkA,120,120,120,1970-05-01,11.699999999999974,11.700008,2015-01-01 00:02:00,bin120,35, -CTSPillarNetworkA,121,121,121,1970-05-02,11.799999999999974,11.800009,2015-01-01 00:02:01,bin121,75, -CTSPillarNetworkA,122,122,122,1970-05-03,11.899999999999974,11.900009,2015-01-01 00:02:02,bin122,35, -CTSPillarNetworkA,123,123,123,1970-05-04,11.999999999999973,12.00001,2015-01-01 00:02:03,bin123,75, -CTSPillarNetworkA,124,124,124,1970-05-05,12.099999999999973,12.10001,2015-01-01 00:02:04,bin124,35, -CTSPillarNetworkA,125,125,125,1970-05-06,12.199999999999973,12.20001,2015-01-01 00:02:05,bin125,75, -CTSPillarNetworkA,126,126,126,1970-05-07,12.299999999999972,12.300011,2015-01-01 00:02:06,bin126,35, -CTSPillarNetworkA,127,127,127,1970-05-08,12.399999999999972,12.400011,2015-01-01 00:02:07,bin127,75, -CTSPillarNetworkA,128,128,128,1970-05-09,12.499999999999972,12.500011,2015-01-01 00:02:08,bin128,35, -CTSPillarNetworkA,129,129,129,1970-05-10,12.599999999999971,12.600012,2015-01-01 00:02:09,bin129,75, -CTSPillarNetworkA,130,130,130,1970-05-11,12.69999999999997,12.700012,2015-01-01 00:02:10,bin130,35, -CTSPillarNetworkA,131,131,131,1970-05-12,12.79999999999997,12.800013,2015-01-01 00:02:11,bin131,75, -CTSPillarNetworkA,132,132,132,1970-05-13,12.89999999999997,12.900013,2015-01-01 00:02:12,bin132,35, -CTSPillarNetworkA,133,133,133,1970-05-14,12.99999999999997,13.000013,2015-01-01 00:02:13,bin133,75, -CTSPillarNetworkA,134,134,134,1970-05-15,13.09999999999997,13.100014,2015-01-01 00:02:14,bin134,35, -CTSPillarNetworkA,135,135,135,1970-05-16,13.199999999999969,13.200014,2015-01-01 00:02:15,bin135,75, -CTSPillarNetworkA,136,136,136,1970-05-17,13.299999999999969,13.3000145,2015-01-01 00:02:16,bin136,35, -CTSPillarNetworkA,137,137,137,1970-05-18,13.399999999999968,13.400015,2015-01-01 00:02:17,bin137,75, -CTSPillarNetworkA,138,138,138,1970-05-19,13.499999999999968,13.500015,2015-01-01 00:02:18,bin138,35, -CTSPillarNetworkA,139,139,139,1970-05-20,13.599999999999968,13.600016,2015-01-01 00:02:19,bin139,75, -CTSPillarNetworkA,140,140,140,1970-05-21,13.699999999999967,13.700016,2015-01-01 00:02:20,bin140,35, -CTSPillarNetworkA,141,141,141,1970-05-22,13.799999999999967,13.800016,2015-01-01 00:02:21,bin141,75, -CTSPillarNetworkA,142,142,142,1970-05-23,13.899999999999967,13.900017,2015-01-01 00:02:22,bin142,35, -CTSPillarNetworkA,143,143,143,1970-05-24,13.999999999999966,14.000017,2015-01-01 00:02:23,bin143,75, -CTSPillarNetworkA,144,144,144,1970-05-25,14.099999999999966,14.100018,2015-01-01 00:02:24,bin144,35, -CTSPillarNetworkA,145,145,145,1970-05-26,14.199999999999966,14.200018,2015-01-01 00:02:25,bin145,75, -CTSPillarNetworkA,146,146,146,1970-05-27,14.299999999999965,14.300018,2015-01-01 00:02:26,bin146,35, -CTSPillarNetworkA,147,147,147,1970-05-28,14.399999999999965,14.400019,2015-01-01 00:02:27,bin147,75, -CTSPillarNetworkA,148,148,148,1970-05-29,14.499999999999964,14.500019,2015-01-01 00:02:28,bin148,35, -CTSPillarNetworkA,149,149,149,1970-05-30,14.599999999999964,14.600019,2015-01-01 00:02:29,bin149,75, -CTSPillarNetworkA,150,150,150,1970-05-31,14.699999999999964,14.70002,2015-01-01 00:02:30,bin150,35, -CTSPillarNetworkA,151,151,151,1970-06-01,14.799999999999963,14.80002,2015-01-01 00:02:31,bin151,75, -CTSPillarNetworkA,152,152,152,1970-06-02,14.899999999999963,14.900021,2015-01-01 00:02:32,bin152,35, -CTSPillarNetworkA,153,153,153,1970-06-03,14.999999999999963,15.000021,2015-01-01 00:02:33,bin153,75, -CTSPillarNetworkA,154,154,154,1970-06-04,15.099999999999962,15.100021,2015-01-01 00:02:34,bin154,35, -CTSPillarNetworkA,155,155,155,1970-06-05,15.199999999999962,15.200022,2015-01-01 00:02:35,bin155,75, -CTSPillarNetworkA,156,156,156,1970-06-06,15.299999999999962,15.300022,2015-01-01 00:02:36,bin156,35, -CTSPillarNetworkA,157,157,157,1970-06-07,15.399999999999961,15.4000225,2015-01-01 00:02:37,bin157,75, -CTSPillarNetworkA,158,158,158,1970-06-08,15.499999999999961,15.500023,2015-01-01 00:02:38,bin158,35, -CTSPillarNetworkA,159,159,159,1970-06-09,15.59999999999996,15.600023,2015-01-01 00:02:39,bin159,75, -CTSPillarNetworkA,160,160,160,1970-06-10,15.69999999999996,15.700024,2015-01-01 00:02:40,bin160,35, -CTSPillarNetworkA,161,161,161,1970-06-11,15.79999999999996,15.800024,2015-01-01 00:02:41,bin161,75, -CTSPillarNetworkA,162,162,162,1970-06-12,15.89999999999996,15.900024,2015-01-01 00:02:42,bin162,35, -CTSPillarNetworkA,163,163,163,1970-06-13,15.99999999999996,16.000025,2015-01-01 00:02:43,bin163,75, -CTSPillarNetworkA,164,164,164,1970-06-14,16.09999999999996,16.100025,2015-01-01 00:02:44,bin164,35, -CTSPillarNetworkA,165,165,165,1970-06-15,16.19999999999996,16.200026,2015-01-01 00:02:45,bin165,75, -CTSPillarNetworkA,166,166,166,1970-06-16,16.29999999999996,16.300026,2015-01-01 00:02:46,bin166,35, -CTSPillarNetworkA,167,167,167,1970-06-17,16.399999999999963,16.400026,2015-01-01 00:02:47,bin167,75, -CTSPillarNetworkA,168,168,168,1970-06-18,16.499999999999964,16.500027,2015-01-01 00:02:48,bin168,35, -CTSPillarNetworkA,169,169,169,1970-06-19,16.599999999999966,16.600027,2015-01-01 00:02:49,bin169,75, -CTSPillarNetworkA,170,170,170,1970-06-20,16.699999999999967,16.700027,2015-01-01 00:02:50,bin170,35, -CTSPillarNetworkA,171,171,171,1970-06-21,16.79999999999997,16.800028,2015-01-01 00:02:51,bin171,75, -CTSPillarNetworkA,172,172,172,1970-06-22,16.89999999999997,16.900028,2015-01-01 00:02:52,bin172,35, -CTSPillarNetworkA,173,173,173,1970-06-23,16.99999999999997,17.000029,2015-01-01 00:02:53,bin173,75, -CTSPillarNetworkA,174,174,174,1970-06-24,17.099999999999973,17.100029,2015-01-01 00:02:54,bin174,35, -CTSPillarNetworkA,175,175,175,1970-06-25,17.199999999999974,17.20003,2015-01-01 00:02:55,bin175,75, -CTSPillarNetworkA,176,176,176,1970-06-26,17.299999999999976,17.30003,2015-01-01 00:02:56,bin176,35, -CTSPillarNetworkA,177,177,177,1970-06-27,17.399999999999977,17.40003,2015-01-01 00:02:57,bin177,75, -CTSPillarNetworkA,178,178,178,1970-06-28,17.49999999999998,17.50003,2015-01-01 00:02:58,bin178,35, -CTSPillarNetworkA,179,179,179,1970-06-29,17.59999999999998,17.60003,2015-01-01 00:02:59,bin179,75, -CTSPillarNetworkA,180,180,180,1970-06-30,17.69999999999998,17.700031,2015-01-01 00:03:00,bin180,35, -CTSPillarNetworkA,181,181,181,1970-07-01,17.799999999999983,17.800032,2015-01-01 00:03:01,bin181,75, -CTSPillarNetworkA,182,182,182,1970-07-02,17.899999999999984,17.900032,2015-01-01 00:03:02,bin182,35, -CTSPillarNetworkA,183,183,183,1970-07-03,17.999999999999986,18.000032,2015-01-01 00:03:03,bin183,75, -CTSPillarNetworkA,184,184,184,1970-07-04,18.099999999999987,18.100033,2015-01-01 00:03:04,bin184,35, -CTSPillarNetworkA,185,185,185,1970-07-05,18.19999999999999,18.200033,2015-01-01 00:03:05,bin185,75, -CTSPillarNetworkA,186,186,186,1970-07-06,18.29999999999999,18.300034,2015-01-01 00:03:06,bin186,35, -CTSPillarNetworkA,187,187,187,1970-07-07,18.39999999999999,18.400034,2015-01-01 00:03:07,bin187,75, -CTSPillarNetworkA,188,188,188,1970-07-08,18.499999999999993,18.500034,2015-01-01 00:03:08,bin188,35, -CTSPillarNetworkA,189,189,189,1970-07-09,18.599999999999994,18.600035,2015-01-01 00:03:09,bin189,75, -CTSPillarNetworkA,190,190,190,1970-07-10,18.699999999999996,18.700035,2015-01-01 00:03:10,bin190,35, -CTSPillarNetworkA,191,191,191,1970-07-11,18.799999999999997,18.800035,2015-01-01 00:03:11,bin191,75, -CTSPillarNetworkA,192,192,192,1970-07-12,18.9,18.900036,2015-01-01 00:03:12,bin192,35, -CTSPillarNetworkA,193,193,193,1970-07-13,19,19.000036,2015-01-01 00:03:13,bin193,75, -CTSPillarNetworkA,194,194,194,1970-07-14,19.1,19.100037,2015-01-01 00:03:14,bin194,35, -CTSPillarNetworkA,195,195,195,1970-07-15,19.200000000000003,19.200037,2015-01-01 00:03:15,bin195,75, -CTSPillarNetworkA,196,196,196,1970-07-16,19.300000000000004,19.300037,2015-01-01 00:03:16,bin196,35, -CTSPillarNetworkA,197,197,197,1970-07-17,19.400000000000006,19.400038,2015-01-01 00:03:17,bin197,75, -CTSPillarNetworkA,198,198,198,1970-07-18,19.500000000000007,19.500038,2015-01-01 00:03:18,bin198,35, -CTSPillarNetworkA,199,199,199,1970-07-19,19.60000000000001,19.600039,2015-01-01 00:03:19,bin199,75, -CTSPillarNetworkA,200,200,200,1970-07-20,19.70000000000001,19.700039,2015-01-01 00:03:20,bin200,35, -CTSPillarNetworkA,201,201,201,1970-07-21,19.80000000000001,19.80004,2015-01-01 00:03:21,bin201,75, -CTSPillarNetworkA,202,202,202,1970-07-22,19.900000000000013,19.90004,2015-01-01 00:03:22,bin202,35, -CTSPillarNetworkA,203,203,203,1970-07-23,20.000000000000014,20.00004,2015-01-01 00:03:23,bin203,75, -CTSPillarNetworkA,204,204,204,1970-07-24,20.100000000000016,20.10004,2015-01-01 00:03:24,bin204,35, -CTSPillarNetworkA,205,205,205,1970-07-25,20.200000000000017,20.20004,2015-01-01 00:03:25,bin205,75, -CTSPillarNetworkA,206,206,206,1970-07-26,20.30000000000002,20.300041,2015-01-01 00:03:26,bin206,35, -CTSPillarNetworkA,207,207,207,1970-07-27,20.40000000000002,20.400042,2015-01-01 00:03:27,bin207,75, -CTSPillarNetworkA,208,208,208,1970-07-28,20.50000000000002,20.500042,2015-01-01 00:03:28,bin208,35, -CTSPillarNetworkA,209,209,209,1970-07-29,20.600000000000023,20.600042,2015-01-01 00:03:29,bin209,75, -CTSPillarNetworkA,210,210,210,1970-07-30,20.700000000000024,20.700043,2015-01-01 00:03:30,bin210,35, -CTSPillarNetworkA,211,211,211,1970-07-31,20.800000000000026,20.800043,2015-01-01 00:03:31,bin211,75, -CTSPillarNetworkA,212,212,212,1970-08-01,20.900000000000027,20.900043,2015-01-01 00:03:32,bin212,35, -CTSPillarNetworkA,213,213,213,1970-08-02,21.00000000000003,21.000044,2015-01-01 00:03:33,bin213,75, -CTSPillarNetworkA,214,214,214,1970-08-03,21.10000000000003,21.100044,2015-01-01 00:03:34,bin214,35, -CTSPillarNetworkA,215,215,215,1970-08-04,21.20000000000003,21.200045,2015-01-01 00:03:35,bin215,75, -CTSPillarNetworkA,216,216,216,1970-08-05,21.300000000000033,21.300045,2015-01-01 00:03:36,bin216,35, -CTSPillarNetworkA,217,217,217,1970-08-06,21.400000000000034,21.400045,2015-01-01 00:03:37,bin217,75, -CTSPillarNetworkA,218,218,218,1970-08-07,21.500000000000036,21.500046,2015-01-01 00:03:38,bin218,35, -CTSPillarNetworkA,219,219,219,1970-08-08,21.600000000000037,21.600046,2015-01-01 00:03:39,bin219,75, -CTSPillarNetworkA,220,220,220,1970-08-09,21.70000000000004,21.700047,2015-01-01 00:03:40,bin220,35, -CTSPillarNetworkA,221,221,221,1970-08-10,21.80000000000004,21.800047,2015-01-01 00:03:41,bin221,75, -CTSPillarNetworkA,222,222,222,1970-08-11,21.90000000000004,21.900047,2015-01-01 00:03:42,bin222,35, -CTSPillarNetworkA,223,223,223,1970-08-12,22.000000000000043,22.000048,2015-01-01 00:03:43,bin223,75, -CTSPillarNetworkA,224,224,224,1970-08-13,22.100000000000044,22.100048,2015-01-01 00:03:44,bin224,35, -CTSPillarNetworkA,225,225,225,1970-08-14,22.200000000000045,22.200048,2015-01-01 00:03:45,bin225,75, -CTSPillarNetworkA,226,226,226,1970-08-15,22.300000000000047,22.300049,2015-01-01 00:03:46,bin226,35, -CTSPillarNetworkA,227,227,227,1970-08-16,22.40000000000005,22.40005,2015-01-01 00:03:47,bin227,75, -CTSPillarNetworkA,228,228,228,1970-08-17,22.50000000000005,22.50005,2015-01-01 00:03:48,bin228,35, -CTSPillarNetworkA,229,229,229,1970-08-18,22.60000000000005,22.60005,2015-01-01 00:03:49,bin229,75, -CTSPillarNetworkA,230,230,230,1970-08-19,22.700000000000053,22.70005,2015-01-01 00:03:50,bin230,35, -CTSPillarNetworkA,231,231,231,1970-08-20,22.800000000000054,22.80005,2015-01-01 00:03:51,bin231,75, -CTSPillarNetworkA,232,232,232,1970-08-21,22.900000000000055,22.900051,2015-01-01 00:03:52,bin232,35, -CTSPillarNetworkA,233,233,233,1970-08-22,23.000000000000057,23.000051,2015-01-01 00:03:53,bin233,75, -CTSPillarNetworkA,234,234,234,1970-08-23,23.10000000000006,23.100052,2015-01-01 00:03:54,bin234,35, -CTSPillarNetworkA,235,235,235,1970-08-24,23.20000000000006,23.200052,2015-01-01 00:03:55,bin235,75, -CTSPillarNetworkA,236,236,236,1970-08-25,23.30000000000006,23.300053,2015-01-01 00:03:56,bin236,35, -CTSPillarNetworkA,237,237,237,1970-08-26,23.400000000000063,23.400053,2015-01-01 00:03:57,bin237,75, -CTSPillarNetworkA,238,238,238,1970-08-27,23.500000000000064,23.500053,2015-01-01 00:03:58,bin238,35, -CTSPillarNetworkA,239,239,239,1970-08-28,23.600000000000065,23.600054,2015-01-01 00:03:59,bin239,75, -CTSPillarNetworkA,240,240,240,1970-08-29,23.700000000000067,23.700054,2015-01-01 00:04:00,bin240,35, -CTSPillarNetworkA,241,241,241,1970-08-30,23.800000000000068,23.800055,2015-01-01 00:04:01,bin241,75, -CTSPillarNetworkA,242,242,242,1970-08-31,23.90000000000007,23.900055,2015-01-01 00:04:02,bin242,35, -CTSPillarNetworkA,243,243,243,1970-09-01,24.00000000000007,24.000055,2015-01-01 00:04:03,bin243,75, -CTSPillarNetworkA,244,244,244,1970-09-02,24.100000000000072,24.100056,2015-01-01 00:04:04,bin244,35, -CTSPillarNetworkA,245,245,245,1970-09-03,24.200000000000074,24.200056,2015-01-01 00:04:05,bin245,75, -CTSPillarNetworkA,246,246,246,1970-09-04,24.300000000000075,24.300056,2015-01-01 00:04:06,bin246,35, -CTSPillarNetworkA,247,247,247,1970-09-05,24.400000000000077,24.400057,2015-01-01 00:04:07,bin247,75, -CTSPillarNetworkA,248,248,248,1970-09-06,24.500000000000078,24.500057,2015-01-01 00:04:08,bin248,35, -CTSPillarNetworkA,249,249,249,1970-09-07,24.60000000000008,24.600058,2015-01-01 00:04:09,bin249,75, -CTSPillarNetworkA,250,250,250,1970-09-08,24.70000000000008,24.700058,2015-01-01 00:04:10,bin250,35, -CTSPillarNetworkA,251,251,251,1970-09-09,24.800000000000082,24.800058,2015-01-01 00:04:11,bin251,75, -CTSPillarNetworkA,252,252,252,1970-09-10,24.900000000000084,24.900059,2015-01-01 00:04:12,bin252,35, -CTSPillarNetworkA,253,253,253,1970-09-11,25.000000000000085,25.00006,2015-01-01 00:04:13,bin253,75, -CTSPillarNetworkA,254,254,254,1970-09-12,25.100000000000087,25.10006,2015-01-01 00:04:14,bin254,35, -CTSPillarNetworkA,255,255,255,1970-09-13,25.200000000000088,25.20006,2015-01-01 00:04:15,bin255,75, -CTSPillarNetworkA,256,256,256,1970-09-14,25.30000000000009,25.30006,2015-01-01 00:04:16,bin256,35, -CTSPillarNetworkA,257,257,257,1970-09-15,25.40000000000009,25.40006,2015-01-01 00:04:17,bin257,75, -CTSPillarNetworkA,258,258,258,1970-09-16,25.500000000000092,25.500061,2015-01-01 00:04:18,bin258,35, -CTSPillarNetworkA,259,259,259,1970-09-17,25.600000000000094,25.600061,2015-01-01 00:04:19,bin259,75, -CTSPillarNetworkA,260,260,260,1970-09-18,25.700000000000095,25.700062,2015-01-01 00:04:20,bin260,35, -CTSPillarNetworkA,261,261,261,1970-09-19,25.800000000000097,25.800062,2015-01-01 00:04:21,bin261,75, -CTSPillarNetworkA,262,262,262,1970-09-20,25.900000000000098,25.900063,2015-01-01 00:04:22,bin262,35, -CTSPillarNetworkA,263,263,263,1970-09-21,26.0000000000001,26.000063,2015-01-01 00:04:23,bin263,75, -CTSPillarNetworkA,264,264,264,1970-09-22,26.1000000000001,26.100063,2015-01-01 00:04:24,bin264,35, -CTSPillarNetworkA,265,265,265,1970-09-23,26.200000000000102,26.200064,2015-01-01 00:04:25,bin265,75, -CTSPillarNetworkA,266,266,266,1970-09-24,26.300000000000104,26.300064,2015-01-01 00:04:26,bin266,35, -CTSPillarNetworkA,267,267,267,1970-09-25,26.400000000000105,26.400064,2015-01-01 00:04:27,bin267,75, -CTSPillarNetworkA,268,268,268,1970-09-26,26.500000000000107,26.500065,2015-01-01 00:04:28,bin268,35, -CTSPillarNetworkA,269,269,269,1970-09-27,26.600000000000108,26.600065,2015-01-01 00:04:29,bin269,75, -CTSPillarNetworkA,270,270,270,1970-09-28,26.70000000000011,26.700066,2015-01-01 00:04:30,bin270,35, -CTSPillarNetworkA,271,271,271,1970-09-29,26.80000000000011,26.800066,2015-01-01 00:04:31,bin271,75, -CTSPillarNetworkA,272,272,272,1970-09-30,26.900000000000112,26.900066,2015-01-01 00:04:32,bin272,35, -CTSPillarNetworkA,273,273,273,1970-10-01,27.000000000000114,27.000067,2015-01-01 00:04:33,bin273,75, -CTSPillarNetworkA,274,274,274,1970-10-02,27.100000000000115,27.100067,2015-01-01 00:04:34,bin274,35, -CTSPillarNetworkA,275,275,275,1970-10-03,27.200000000000117,27.200068,2015-01-01 00:04:35,bin275,75, -CTSPillarNetworkA,276,276,276,1970-10-04,27.300000000000118,27.300068,2015-01-01 00:04:36,bin276,35, -CTSPillarNetworkA,277,277,277,1970-10-05,27.40000000000012,27.400068,2015-01-01 00:04:37,bin277,75, -CTSPillarNetworkA,278,278,278,1970-10-06,27.50000000000012,27.500069,2015-01-01 00:04:38,bin278,35, -CTSPillarNetworkA,279,279,279,1970-10-07,27.600000000000122,27.600069,2015-01-01 00:04:39,bin279,75, -CTSPillarNetworkA,280,280,280,1970-10-08,27.700000000000124,27.70007,2015-01-01 00:04:40,bin280,35, -CTSPillarNetworkA,281,281,281,1970-10-09,27.800000000000125,27.80007,2015-01-01 00:04:41,bin281,75, -CTSPillarNetworkA,282,282,282,1970-10-10,27.900000000000126,27.90007,2015-01-01 00:04:42,bin282,35, -CTSPillarNetworkA,283,283,283,1970-10-11,28.000000000000128,28.00007,2015-01-01 00:04:43,bin283,75, -CTSPillarNetworkA,284,284,284,1970-10-12,28.10000000000013,28.10007,2015-01-01 00:04:44,bin284,35, -CTSPillarNetworkA,285,285,285,1970-10-13,28.20000000000013,28.200071,2015-01-01 00:04:45,bin285,75, -CTSPillarNetworkA,286,286,286,1970-10-14,28.300000000000132,28.300072,2015-01-01 00:04:46,bin286,35, -CTSPillarNetworkA,287,287,287,1970-10-15,28.400000000000134,28.400072,2015-01-01 00:04:47,bin287,75, -CTSPillarNetworkA,288,288,288,1970-10-16,28.500000000000135,28.500072,2015-01-01 00:04:48,bin288,35, -CTSPillarNetworkA,289,289,289,1970-10-17,28.600000000000136,28.600073,2015-01-01 00:04:49,bin289,75, -CTSPillarNetworkA,290,290,290,1970-10-18,28.700000000000138,28.700073,2015-01-01 00:04:50,bin290,35, -CTSPillarNetworkA,291,291,291,1970-10-19,28.80000000000014,28.800074,2015-01-01 00:04:51,bin291,75, -CTSPillarNetworkA,292,292,292,1970-10-20,28.90000000000014,28.900074,2015-01-01 00:04:52,bin292,35, -CTSPillarNetworkA,293,293,293,1970-10-21,29.000000000000142,29.000074,2015-01-01 00:04:53,bin293,75, -CTSPillarNetworkA,294,294,294,1970-10-22,29.100000000000144,29.100075,2015-01-01 00:04:54,bin294,35, -CTSPillarNetworkA,295,295,295,1970-10-23,29.200000000000145,29.200075,2015-01-01 00:04:55,bin295,75, -CTSPillarNetworkA,296,296,296,1970-10-24,29.300000000000146,29.300076,2015-01-01 00:04:56,bin296,35, -CTSPillarNetworkA,297,297,297,1970-10-25,29.400000000000148,29.400076,2015-01-01 00:04:57,bin297,75, -CTSPillarNetworkA,298,298,298,1970-10-26,29.50000000000015,29.500076,2015-01-01 00:04:58,bin298,35, -CTSPillarNetworkA,299,299,299,1970-10-27,29.60000000000015,29.600077,2015-01-01 00:04:59,bin299,75, -CTSPillarNetworkA,300,300,300,1970-10-28,29.700000000000152,29.700077,2015-01-01 00:05:00,bin300,35, -CTSPillarNetworkA,301,301,301,1970-10-29,29.800000000000153,29.800077,2015-01-01 00:05:01,bin301,75, -CTSPillarNetworkA,302,302,302,1970-10-30,29.900000000000155,29.900078,2015-01-01 00:05:02,bin302,35, -CTSPillarNetworkA,303,303,303,1970-10-31,30.000000000000156,30.000078,2015-01-01 00:05:03,bin303,75, -CTSPillarNetworkA,304,304,304,1970-11-01,30.100000000000158,30.100079,2015-01-01 00:05:04,bin304,35, -CTSPillarNetworkA,305,305,305,1970-11-02,30.20000000000016,30.200079,2015-01-01 00:05:05,bin305,75, -CTSPillarNetworkA,306,306,306,1970-11-03,30.30000000000016,30.30008,2015-01-01 00:05:06,bin306,35, -CTSPillarNetworkA,307,307,307,1970-11-04,30.400000000000162,30.40008,2015-01-01 00:05:07,bin307,75, -CTSPillarNetworkA,308,308,308,1970-11-05,30.500000000000163,30.50008,2015-01-01 00:05:08,bin308,35, -CTSPillarNetworkA,309,309,309,1970-11-06,30.600000000000165,30.60008,2015-01-01 00:05:09,bin309,75, -CTSPillarNetworkA,310,310,310,1970-11-07,30.700000000000166,30.70008,2015-01-01 00:05:10,bin310,35, -CTSPillarNetworkA,311,311,311,1970-11-08,30.800000000000168,30.800081,2015-01-01 00:05:11,bin311,75, -CTSPillarNetworkA,312,312,312,1970-11-09,30.90000000000017,30.900082,2015-01-01 00:05:12,bin312,35, -CTSPillarNetworkA,313,313,313,1970-11-10,31.00000000000017,31.000082,2015-01-01 00:05:13,bin313,75, -CTSPillarNetworkA,314,314,314,1970-11-11,31.100000000000172,31.100082,2015-01-01 00:05:14,bin314,35, -CTSPillarNetworkA,315,315,315,1970-11-12,31.200000000000173,31.200083,2015-01-01 00:05:15,bin315,75, -CTSPillarNetworkA,316,316,316,1970-11-13,31.300000000000175,31.300083,2015-01-01 00:05:16,bin316,35, -CTSPillarNetworkA,317,317,317,1970-11-14,31.400000000000176,31.400084,2015-01-01 00:05:17,bin317,75, -CTSPillarNetworkA,318,318,318,1970-11-15,31.500000000000178,31.500084,2015-01-01 00:05:18,bin318,35, -CTSPillarNetworkA,319,319,319,1970-11-16,31.60000000000018,31.600084,2015-01-01 00:05:19,bin319,75, -CTSPillarNetworkA,320,320,320,1970-11-17,31.70000000000018,31.700085,2015-01-01 00:05:20,bin320,35, -CTSPillarNetworkA,321,321,321,1970-11-18,31.800000000000182,31.800085,2015-01-01 00:05:21,bin321,75, -CTSPillarNetworkA,322,322,322,1970-11-19,31.900000000000183,31.900085,2015-01-01 00:05:22,bin322,35, -CTSPillarNetworkA,323,323,323,1970-11-20,32.000000000000185,32.000084,2015-01-01 00:05:23,bin323,75, -CTSPillarNetworkA,324,324,324,1970-11-21,32.100000000000186,32.100082,2015-01-01 00:05:24,bin324,35, -CTSPillarNetworkA,325,325,325,1970-11-22,32.20000000000019,32.20008,2015-01-01 00:05:25,bin325,75, -CTSPillarNetworkA,326,326,326,1970-11-23,32.30000000000019,32.30008,2015-01-01 00:05:26,bin326,35, -CTSPillarNetworkA,327,327,327,1970-11-24,32.40000000000019,32.400078,2015-01-01 00:05:27,bin327,75, -CTSPillarNetworkA,328,328,328,1970-11-25,32.50000000000019,32.500076,2015-01-01 00:05:28,bin328,35, -CTSPillarNetworkA,329,329,329,1970-11-26,32.60000000000019,32.600075,2015-01-01 00:05:29,bin329,75, -CTSPillarNetworkA,330,330,330,1970-11-27,32.700000000000195,32.700073,2015-01-01 00:05:30,bin330,35, -CTSPillarNetworkA,331,331,331,1970-11-28,32.800000000000196,32.80007,2015-01-01 00:05:31,bin331,75, -CTSPillarNetworkA,332,332,332,1970-11-29,32.9000000000002,32.90007,2015-01-01 00:05:32,bin332,35, -CTSPillarNetworkA,333,333,333,1970-11-30,33.0000000000002,33.00007,2015-01-01 00:05:33,bin333,75, -CTSPillarNetworkA,334,334,334,1970-12-01,33.1000000000002,33.100067,2015-01-01 00:05:34,bin334,35, -CTSPillarNetworkA,335,335,335,1970-12-02,33.2000000000002,33.200066,2015-01-01 00:05:35,bin335,75, -CTSPillarNetworkA,336,336,336,1970-12-03,33.3000000000002,33.300064,2015-01-01 00:05:36,bin336,35, -CTSPillarNetworkA,337,337,337,1970-12-04,33.400000000000205,33.400063,2015-01-01 00:05:37,bin337,75, -CTSPillarNetworkA,338,338,338,1970-12-05,33.500000000000206,33.50006,2015-01-01 00:05:38,bin338,35, -CTSPillarNetworkA,339,339,339,1970-12-06,33.60000000000021,33.60006,2015-01-01 00:05:39,bin339,75, -CTSPillarNetworkA,340,340,340,1970-12-07,33.70000000000021,33.700058,2015-01-01 00:05:40,bin340,35, -CTSPillarNetworkA,341,341,341,1970-12-08,33.80000000000021,33.800056,2015-01-01 00:05:41,bin341,75, -CTSPillarNetworkA,342,342,342,1970-12-09,33.90000000000021,33.900055,2015-01-01 00:05:42,bin342,35, -CTSPillarNetworkA,343,343,343,1970-12-10,34.00000000000021,34.000053,2015-01-01 00:05:43,bin343,75, -CTSPillarNetworkA,344,344,344,1970-12-11,34.100000000000215,34.10005,2015-01-01 00:05:44,bin344,35, -CTSPillarNetworkA,345,345,345,1970-12-12,34.200000000000216,34.20005,2015-01-01 00:05:45,bin345,75, -CTSPillarNetworkA,346,346,346,1970-12-13,34.30000000000022,34.30005,2015-01-01 00:05:46,bin346,35, -CTSPillarNetworkA,347,347,347,1970-12-14,34.40000000000022,34.400047,2015-01-01 00:05:47,bin347,75, -CTSPillarNetworkA,348,348,348,1970-12-15,34.50000000000022,34.500046,2015-01-01 00:05:48,bin348,35, -CTSPillarNetworkA,349,349,349,1970-12-16,34.60000000000022,34.600044,2015-01-01 00:05:49,bin349,75, -CTSPillarNetworkA,350,350,350,1970-12-17,34.70000000000022,34.700043,2015-01-01 00:05:50,bin350,35, -CTSPillarNetworkA,351,351,351,1970-12-18,34.800000000000225,34.80004,2015-01-01 00:05:51,bin351,75, -CTSPillarNetworkA,352,352,352,1970-12-19,34.900000000000226,34.90004,2015-01-01 00:05:52,bin352,35, -CTSPillarNetworkA,353,353,353,1970-12-20,35.00000000000023,35.00004,2015-01-01 00:05:53,bin353,75, -CTSPillarNetworkA,354,354,354,1970-12-21,35.10000000000023,35.100037,2015-01-01 00:05:54,bin354,35, -CTSPillarNetworkA,355,355,355,1970-12-22,35.20000000000023,35.200035,2015-01-01 00:05:55,bin355,75, -CTSPillarNetworkA,356,356,356,1970-12-23,35.30000000000023,35.300034,2015-01-01 00:05:56,bin356,35, -CTSPillarNetworkA,357,357,357,1970-12-24,35.40000000000023,35.400032,2015-01-01 00:05:57,bin357,75, -CTSPillarNetworkA,358,358,358,1970-12-25,35.500000000000234,35.50003,2015-01-01 00:05:58,bin358,35, -CTSPillarNetworkA,359,359,359,1970-12-26,35.600000000000236,35.60003,2015-01-01 00:05:59,bin359,75, -CTSPillarNetworkA,360,360,360,1970-12-27,35.70000000000024,35.700027,2015-01-01 00:06:00,bin360,35, -CTSPillarNetworkA,361,361,361,1970-12-28,35.80000000000024,35.800026,2015-01-01 00:06:01,bin361,75, -CTSPillarNetworkA,362,362,362,1970-12-29,35.90000000000024,35.900024,2015-01-01 00:06:02,bin362,35, -CTSPillarNetworkA,363,363,363,1970-12-30,36.00000000000024,36.000023,2015-01-01 00:06:03,bin363,75, -CTSPillarNetworkA,364,364,364,1970-12-31,36.10000000000024,36.10002,2015-01-01 00:06:04,bin364,35, -CTSPillarNetworkA,365,365,365,1971-01-01,36.200000000000244,36.20002,2015-01-01 00:06:05,bin365,75, -CTSPillarNetworkA,366,366,366,1971-01-02,36.300000000000246,36.30002,2015-01-01 00:06:06,bin366,35, -CTSPillarNetworkA,367,367,367,1971-01-03,36.40000000000025,36.400017,2015-01-01 00:06:07,bin367,75, -CTSPillarNetworkA,368,368,368,1971-01-04,36.50000000000025,36.500015,2015-01-01 00:06:08,bin368,35, -CTSPillarNetworkA,369,369,369,1971-01-05,36.60000000000025,36.600014,2015-01-01 00:06:09,bin369,75, -CTSPillarNetworkA,370,370,370,1971-01-06,36.70000000000025,36.700012,2015-01-01 00:06:10,bin370,35, -CTSPillarNetworkA,371,371,371,1971-01-07,36.80000000000025,36.80001,2015-01-01 00:06:11,bin371,75, -CTSPillarNetworkA,372,372,372,1971-01-08,36.900000000000254,36.90001,2015-01-01 00:06:12,bin372,35, -CTSPillarNetworkA,373,373,373,1971-01-09,37.000000000000256,37.000008,2015-01-01 00:06:13,bin373,75, -CTSPillarNetworkA,374,374,374,1971-01-10,37.10000000000026,37.100006,2015-01-01 00:06:14,bin374,35, -CTSPillarNetworkA,375,375,375,1971-01-11,37.20000000000026,37.200005,2015-01-01 00:06:15,bin375,75, -CTSPillarNetworkA,376,376,376,1971-01-12,37.30000000000026,37.300003,2015-01-01 00:06:16,bin376,35, -CTSPillarNetworkA,377,377,377,1971-01-13,37.40000000000026,37.4,2015-01-01 00:06:17,bin377,75, -CTSPillarNetworkA,378,378,378,1971-01-14,37.50000000000026,37.5,2015-01-01 00:06:18,bin378,35, -CTSPillarNetworkA,379,379,379,1971-01-15,37.600000000000264,37.6,2015-01-01 00:06:19,bin379,75, -CTSPillarNetworkA,380,380,380,1971-01-16,37.700000000000266,37.699997,2015-01-01 00:06:20,bin380,35, -CTSPillarNetworkA,381,381,381,1971-01-17,37.80000000000027,37.799995,2015-01-01 00:06:21,bin381,75, -CTSPillarNetworkA,382,382,382,1971-01-18,37.90000000000027,37.899994,2015-01-01 00:06:22,bin382,35, -CTSPillarNetworkA,383,383,383,1971-01-19,38.00000000000027,37.999992,2015-01-01 00:06:23,bin383,75, -CTSPillarNetworkA,384,384,384,1971-01-20,38.10000000000027,38.09999,2015-01-01 00:06:24,bin384,35, -CTSPillarNetworkA,385,385,385,1971-01-21,38.20000000000027,38.19999,2015-01-01 00:06:25,bin385,75, -CTSPillarNetworkA,386,386,386,1971-01-22,38.300000000000274,38.299988,2015-01-01 00:06:26,bin386,35, -CTSPillarNetworkA,387,387,387,1971-01-23,38.400000000000276,38.399986,2015-01-01 00:06:27,bin387,75, -CTSPillarNetworkA,388,388,388,1971-01-24,38.50000000000028,38.499985,2015-01-01 00:06:28,bin388,35, -CTSPillarNetworkA,389,389,389,1971-01-25,38.60000000000028,38.599983,2015-01-01 00:06:29,bin389,75, -CTSPillarNetworkA,390,390,390,1971-01-26,38.70000000000028,38.69998,2015-01-01 00:06:30,bin390,35, -CTSPillarNetworkA,391,391,391,1971-01-27,38.80000000000028,38.79998,2015-01-01 00:06:31,bin391,75, -CTSPillarNetworkA,392,392,392,1971-01-28,38.90000000000028,38.89998,2015-01-01 00:06:32,bin392,35, -CTSPillarNetworkA,393,393,393,1971-01-29,39.000000000000284,38.999977,2015-01-01 00:06:33,bin393,75, -CTSPillarNetworkA,394,394,394,1971-01-30,39.100000000000286,39.099976,2015-01-01 00:06:34,bin394,35, -CTSPillarNetworkA,395,395,395,1971-01-31,39.20000000000029,39.199974,2015-01-01 00:06:35,bin395,75, -CTSPillarNetworkA,396,396,396,1971-02-01,39.30000000000029,39.299973,2015-01-01 00:06:36,bin396,35, -CTSPillarNetworkA,397,397,397,1971-02-02,39.40000000000029,39.39997,2015-01-01 00:06:37,bin397,75, -CTSPillarNetworkA,398,398,398,1971-02-03,39.50000000000029,39.49997,2015-01-01 00:06:38,bin398,35, -CTSPillarNetworkA,399,399,399,1971-02-04,39.60000000000029,39.599968,2015-01-01 00:06:39,bin399,75, -CTSPillarNetworkA,400,400,400,1971-02-05,39.700000000000294,39.699966,2015-01-01 00:06:40,bin400,35, -CTSPillarNetworkA,401,401,401,1971-02-06,39.800000000000296,39.799965,2015-01-01 00:06:41,bin401,75, -CTSPillarNetworkA,402,402,402,1971-02-07,39.9000000000003,39.899963,2015-01-01 00:06:42,bin402,35, -CTSPillarNetworkA,403,403,403,1971-02-08,40.0000000000003,39.99996,2015-01-01 00:06:43,bin403,75, -CTSPillarNetworkA,404,404,404,1971-02-09,40.1000000000003,40.09996,2015-01-01 00:06:44,bin404,35, -CTSPillarNetworkA,405,405,405,1971-02-10,40.2000000000003,40.19996,2015-01-01 00:06:45,bin405,75, -CTSPillarNetworkA,406,406,406,1971-02-11,40.3000000000003,40.299957,2015-01-01 00:06:46,bin406,35, -CTSPillarNetworkA,407,407,407,1971-02-12,40.400000000000304,40.399956,2015-01-01 00:06:47,bin407,75, -CTSPillarNetworkA,408,408,408,1971-02-13,40.500000000000306,40.499954,2015-01-01 00:06:48,bin408,35, -CTSPillarNetworkA,409,409,409,1971-02-14,40.60000000000031,40.599953,2015-01-01 00:06:49,bin409,75, -CTSPillarNetworkA,410,410,410,1971-02-15,40.70000000000031,40.69995,2015-01-01 00:06:50,bin410,35, -CTSPillarNetworkA,411,411,411,1971-02-16,40.80000000000031,40.79995,2015-01-01 00:06:51,bin411,75, -CTSPillarNetworkA,412,412,412,1971-02-17,40.90000000000031,40.89995,2015-01-01 00:06:52,bin412,35, -CTSPillarNetworkA,413,413,413,1971-02-18,41.00000000000031,40.999947,2015-01-01 00:06:53,bin413,75, -CTSPillarNetworkA,414,414,414,1971-02-19,41.100000000000314,41.099945,2015-01-01 00:06:54,bin414,35, -CTSPillarNetworkA,415,415,415,1971-02-20,41.200000000000315,41.199944,2015-01-01 00:06:55,bin415,75, -CTSPillarNetworkA,416,416,416,1971-02-21,41.30000000000032,41.299942,2015-01-01 00:06:56,bin416,35, -CTSPillarNetworkA,417,417,417,1971-02-22,41.40000000000032,41.39994,2015-01-01 00:06:57,bin417,75, -CTSPillarNetworkA,418,418,418,1971-02-23,41.50000000000032,41.49994,2015-01-01 00:06:58,bin418,35, -CTSPillarNetworkA,419,419,419,1971-02-24,41.60000000000032,41.599937,2015-01-01 00:06:59,bin419,75, -CTSPillarNetworkA,420,420,420,1971-02-25,41.70000000000032,41.699936,2015-01-01 00:07:00,bin420,35, -CTSPillarNetworkA,421,421,421,1971-02-26,41.800000000000324,41.799934,2015-01-01 00:07:01,bin421,75, -CTSPillarNetworkA,422,422,422,1971-02-27,41.900000000000325,41.899933,2015-01-01 00:07:02,bin422,35, -CTSPillarNetworkA,423,423,423,1971-02-28,42.00000000000033,41.99993,2015-01-01 00:07:03,bin423,75, -CTSPillarNetworkA,424,424,424,1971-03-01,42.10000000000033,42.09993,2015-01-01 00:07:04,bin424,35, -CTSPillarNetworkA,425,425,425,1971-03-02,42.20000000000033,42.19993,2015-01-01 00:07:05,bin425,75, -CTSPillarNetworkA,426,426,426,1971-03-03,42.30000000000033,42.299927,2015-01-01 00:07:06,bin426,35, -CTSPillarNetworkA,427,427,427,1971-03-04,42.40000000000033,42.399925,2015-01-01 00:07:07,bin427,75, -CTSPillarNetworkA,428,428,428,1971-03-05,42.500000000000334,42.499924,2015-01-01 00:07:08,bin428,35, -CTSPillarNetworkA,429,429,429,1971-03-06,42.600000000000335,42.599922,2015-01-01 00:07:09,bin429,75, -CTSPillarNetworkA,430,430,430,1971-03-07,42.70000000000034,42.69992,2015-01-01 00:07:10,bin430,35, -CTSPillarNetworkA,431,431,431,1971-03-08,42.80000000000034,42.79992,2015-01-01 00:07:11,bin431,75, -CTSPillarNetworkA,432,432,432,1971-03-09,42.90000000000034,42.899918,2015-01-01 00:07:12,bin432,35, -CTSPillarNetworkA,433,433,433,1971-03-10,43.00000000000034,42.999916,2015-01-01 00:07:13,bin433,75, -CTSPillarNetworkA,434,434,434,1971-03-11,43.10000000000034,43.099915,2015-01-01 00:07:14,bin434,35, -CTSPillarNetworkA,435,435,435,1971-03-12,43.200000000000344,43.199913,2015-01-01 00:07:15,bin435,75, -CTSPillarNetworkA,436,436,436,1971-03-13,43.300000000000345,43.29991,2015-01-01 00:07:16,bin436,35, -CTSPillarNetworkA,437,437,437,1971-03-14,43.40000000000035,43.39991,2015-01-01 00:07:17,bin437,75, -CTSPillarNetworkA,438,438,438,1971-03-15,43.50000000000035,43.49991,2015-01-01 00:07:18,bin438,35, -CTSPillarNetworkA,439,439,439,1971-03-16,43.60000000000035,43.599907,2015-01-01 00:07:19,bin439,75, -CTSPillarNetworkA,440,440,440,1971-03-17,43.70000000000035,43.699905,2015-01-01 00:07:20,bin440,35, -CTSPillarNetworkA,441,441,441,1971-03-18,43.80000000000035,43.799904,2015-01-01 00:07:21,bin441,75, -CTSPillarNetworkA,442,442,442,1971-03-19,43.900000000000354,43.899902,2015-01-01 00:07:22,bin442,35, -CTSPillarNetworkA,443,443,443,1971-03-20,44.000000000000355,43.9999,2015-01-01 00:07:23,bin443,75, -CTSPillarNetworkA,444,444,444,1971-03-21,44.10000000000036,44.0999,2015-01-01 00:07:24,bin444,35, -CTSPillarNetworkA,445,445,445,1971-03-22,44.20000000000036,44.199898,2015-01-01 00:07:25,bin445,75, -CTSPillarNetworkA,446,446,446,1971-03-23,44.30000000000036,44.299896,2015-01-01 00:07:26,bin446,35, -CTSPillarNetworkA,447,447,447,1971-03-24,44.40000000000036,44.399895,2015-01-01 00:07:27,bin447,75, -CTSPillarNetworkA,448,448,448,1971-03-25,44.50000000000036,44.499893,2015-01-01 00:07:28,bin448,35, -CTSPillarNetworkA,449,449,449,1971-03-26,44.600000000000364,44.59989,2015-01-01 00:07:29,bin449,75, -CTSPillarNetworkA,450,450,450,1971-03-27,44.700000000000365,44.69989,2015-01-01 00:07:30,bin450,35, -CTSPillarNetworkA,451,451,451,1971-03-28,44.80000000000037,44.79989,2015-01-01 00:07:31,bin451,75, -CTSPillarNetworkA,452,452,452,1971-03-29,44.90000000000037,44.899887,2015-01-01 00:07:32,bin452,35, -CTSPillarNetworkA,453,453,453,1971-03-30,45.00000000000037,44.999886,2015-01-01 00:07:33,bin453,75, -CTSPillarNetworkA,454,454,454,1971-03-31,45.10000000000037,45.099884,2015-01-01 00:07:34,bin454,35, -CTSPillarNetworkA,455,455,455,1971-04-01,45.20000000000037,45.199883,2015-01-01 00:07:35,bin455,75, -CTSPillarNetworkA,456,456,456,1971-04-02,45.300000000000374,45.29988,2015-01-01 00:07:36,bin456,35, -CTSPillarNetworkA,457,457,457,1971-04-03,45.400000000000375,45.39988,2015-01-01 00:07:37,bin457,75, -CTSPillarNetworkA,458,458,458,1971-04-04,45.50000000000038,45.499878,2015-01-01 00:07:38,bin458,35, -CTSPillarNetworkA,459,459,459,1971-04-05,45.60000000000038,45.599876,2015-01-01 00:07:39,bin459,75, -CTSPillarNetworkA,460,460,460,1971-04-06,45.70000000000038,45.699875,2015-01-01 00:07:40,bin460,35, -CTSPillarNetworkA,461,461,461,1971-04-07,45.80000000000038,45.799873,2015-01-01 00:07:41,bin461,75, -CTSPillarNetworkA,462,462,462,1971-04-08,45.90000000000038,45.89987,2015-01-01 00:07:42,bin462,35, -CTSPillarNetworkA,463,463,463,1971-04-09,46.000000000000384,45.99987,2015-01-01 00:07:43,bin463,75, -CTSPillarNetworkA,464,464,464,1971-04-10,46.100000000000385,46.09987,2015-01-01 00:07:44,bin464,35, -CTSPillarNetworkA,465,465,465,1971-04-11,46.20000000000039,46.199867,2015-01-01 00:07:45,bin465,75, -CTSPillarNetworkA,466,466,466,1971-04-12,46.30000000000039,46.299866,2015-01-01 00:07:46,bin466,35, -CTSPillarNetworkA,467,467,467,1971-04-13,46.40000000000039,46.399864,2015-01-01 00:07:47,bin467,75, -CTSPillarNetworkA,468,468,468,1971-04-14,46.50000000000039,46.499863,2015-01-01 00:07:48,bin468,35, -CTSPillarNetworkA,469,469,469,1971-04-15,46.60000000000039,46.59986,2015-01-01 00:07:49,bin469,75, -CTSPillarNetworkA,470,470,470,1971-04-16,46.700000000000394,46.69986,2015-01-01 00:07:50,bin470,35, -CTSPillarNetworkA,471,471,471,1971-04-17,46.800000000000395,46.79986,2015-01-01 00:07:51,bin471,75, -CTSPillarNetworkA,472,472,472,1971-04-18,46.9000000000004,46.899857,2015-01-01 00:07:52,bin472,35, -CTSPillarNetworkA,473,473,473,1971-04-19,47.0000000000004,46.999855,2015-01-01 00:07:53,bin473,75, -CTSPillarNetworkA,474,474,474,1971-04-20,47.1000000000004,47.099854,2015-01-01 00:07:54,bin474,35, -CTSPillarNetworkA,475,475,475,1971-04-21,47.2000000000004,47.199852,2015-01-01 00:07:55,bin475,75, -CTSPillarNetworkA,476,476,476,1971-04-22,47.3000000000004,47.29985,2015-01-01 00:07:56,bin476,35, -CTSPillarNetworkA,477,477,477,1971-04-23,47.400000000000404,47.39985,2015-01-01 00:07:57,bin477,75, -CTSPillarNetworkA,478,478,478,1971-04-24,47.500000000000405,47.499847,2015-01-01 00:07:58,bin478,35, -CTSPillarNetworkA,479,479,479,1971-04-25,47.600000000000406,47.599846,2015-01-01 00:07:59,bin479,75, -CTSPillarNetworkA,480,480,480,1971-04-26,47.70000000000041,47.699844,2015-01-01 00:08:00,bin480,35, -CTSPillarNetworkA,481,481,481,1971-04-27,47.80000000000041,47.799843,2015-01-01 00:08:01,bin481,75, -CTSPillarNetworkA,482,482,482,1971-04-28,47.90000000000041,47.89984,2015-01-01 00:08:02,bin482,35, -CTSPillarNetworkA,483,483,483,1971-04-29,48.00000000000041,47.99984,2015-01-01 00:08:03,bin483,75, -CTSPillarNetworkA,484,484,484,1971-04-30,48.10000000000041,48.09984,2015-01-01 00:08:04,bin484,35, -CTSPillarNetworkA,485,485,485,1971-05-01,48.200000000000415,48.199837,2015-01-01 00:08:05,bin485,75, -CTSPillarNetworkA,486,486,486,1971-05-02,48.300000000000416,48.299835,2015-01-01 00:08:06,bin486,35, -CTSPillarNetworkA,487,487,487,1971-05-03,48.40000000000042,48.399834,2015-01-01 00:08:07,bin487,75, -CTSPillarNetworkA,488,488,488,1971-05-04,48.50000000000042,48.499832,2015-01-01 00:08:08,bin488,35, -CTSPillarNetworkA,489,489,489,1971-05-05,48.60000000000042,48.59983,2015-01-01 00:08:09,bin489,75, -CTSPillarNetworkA,490,490,490,1971-05-06,48.70000000000042,48.69983,2015-01-01 00:08:10,bin490,35, -CTSPillarNetworkA,491,491,491,1971-05-07,48.80000000000042,48.799828,2015-01-01 00:08:11,bin491,75, -CTSPillarNetworkA,492,492,492,1971-05-08,48.900000000000425,48.899826,2015-01-01 00:08:12,bin492,35, -CTSPillarNetworkA,493,493,493,1971-05-09,49.000000000000426,48.999825,2015-01-01 00:08:13,bin493,75, -CTSPillarNetworkA,494,494,494,1971-05-10,49.10000000000043,49.099823,2015-01-01 00:08:14,bin494,35, -CTSPillarNetworkA,495,495,495,1971-05-11,49.20000000000043,49.19982,2015-01-01 00:08:15,bin495,75, -CTSPillarNetworkA,496,496,496,1971-05-12,49.30000000000043,49.29982,2015-01-01 00:08:16,bin496,35, -CTSPillarNetworkA,497,497,497,1971-05-13,49.40000000000043,49.39982,2015-01-01 00:08:17,bin497,75, -CTSPillarNetworkA,498,498,498,1971-05-14,49.50000000000043,49.499817,2015-01-01 00:08:18,bin498,35, -CTSPillarNetworkA,499,499,499,1971-05-15,49.600000000000435,49.599815,2015-01-01 00:08:19,bin499,75, -CTSPillarNetworkA,500,500,500,1971-05-16,49.700000000000436,49.699814,2015-01-01 00:08:20,bin500,35, -CTSPillarNetworkA,501,501,501,1971-05-17,49.80000000000044,49.799812,2015-01-01 00:08:21,bin501,75, -CTSPillarNetworkA,502,502,502,1971-05-18,49.90000000000044,49.89981,2015-01-01 00:08:22,bin502,35, -CTSPillarNetworkA,503,503,503,1971-05-19,50.00000000000044,49.99981,2015-01-01 00:08:23,bin503,75, -CTSPillarNetworkA,504,504,504,1971-05-20,50.10000000000044,50.099808,2015-01-01 00:08:24,bin504,35, -CTSPillarNetworkA,505,505,505,1971-05-21,50.20000000000044,50.199806,2015-01-01 00:08:25,bin505,75, -CTSPillarNetworkA,506,506,506,1971-05-22,50.300000000000445,50.299805,2015-01-01 00:08:26,bin506,35, -CTSPillarNetworkA,507,507,507,1971-05-23,50.400000000000446,50.399803,2015-01-01 00:08:27,bin507,75, -CTSPillarNetworkA,508,508,508,1971-05-24,50.50000000000045,50.4998,2015-01-01 00:08:28,bin508,35, -CTSPillarNetworkA,509,509,509,1971-05-25,50.60000000000045,50.5998,2015-01-01 00:08:29,bin509,75, -CTSPillarNetworkA,510,510,510,1971-05-26,50.70000000000045,50.6998,2015-01-01 00:08:30,bin510,35, -CTSPillarNetworkA,511,511,511,1971-05-27,50.80000000000045,50.799797,2015-01-01 00:08:31,bin511,75, -CTSPillarNetworkA,512,512,512,1971-05-28,50.90000000000045,50.899796,2015-01-01 00:08:32,bin512,35, -CTSPillarNetworkA,513,513,513,1971-05-29,51.000000000000455,50.999794,2015-01-01 00:08:33,bin513,75, -CTSPillarNetworkA,514,514,514,1971-05-30,51.100000000000456,51.099792,2015-01-01 00:08:34,bin514,35, -CTSPillarNetworkA,515,515,515,1971-05-31,51.20000000000046,51.19979,2015-01-01 00:08:35,bin515,75, -CTSPillarNetworkA,516,516,516,1971-06-01,51.30000000000046,51.29979,2015-01-01 00:08:36,bin516,35, -CTSPillarNetworkA,517,517,517,1971-06-02,51.40000000000046,51.399788,2015-01-01 00:08:37,bin517,75, -CTSPillarNetworkA,518,518,518,1971-06-03,51.50000000000046,51.499786,2015-01-01 00:08:38,bin518,35, -CTSPillarNetworkA,519,519,519,1971-06-04,51.60000000000046,51.599785,2015-01-01 00:08:39,bin519,75, -CTSPillarNetworkA,520,520,520,1971-06-05,51.700000000000465,51.699783,2015-01-01 00:08:40,bin520,35, -CTSPillarNetworkA,521,521,521,1971-06-06,51.800000000000466,51.79978,2015-01-01 00:08:41,bin521,75, -CTSPillarNetworkA,522,522,522,1971-06-07,51.90000000000047,51.89978,2015-01-01 00:08:42,bin522,35, -CTSPillarNetworkA,523,523,523,1971-06-08,52.00000000000047,51.99978,2015-01-01 00:08:43,bin523,75, -CTSPillarNetworkA,524,524,524,1971-06-09,52.10000000000047,52.099777,2015-01-01 00:08:44,bin524,35, -CTSPillarNetworkA,525,525,525,1971-06-10,52.20000000000047,52.199776,2015-01-01 00:08:45,bin525,75, -CTSPillarNetworkA,526,526,526,1971-06-11,52.30000000000047,52.299774,2015-01-01 00:08:46,bin526,35, -CTSPillarNetworkA,527,527,527,1971-06-12,52.400000000000475,52.399773,2015-01-01 00:08:47,bin527,75, -CTSPillarNetworkA,528,528,528,1971-06-13,52.500000000000476,52.49977,2015-01-01 00:08:48,bin528,35, -CTSPillarNetworkA,529,529,529,1971-06-14,52.60000000000048,52.59977,2015-01-01 00:08:49,bin529,75, -CTSPillarNetworkA,530,530,530,1971-06-15,52.70000000000048,52.699768,2015-01-01 00:08:50,bin530,35, -CTSPillarNetworkA,531,531,531,1971-06-16,52.80000000000048,52.799767,2015-01-01 00:08:51,bin531,75, -CTSPillarNetworkA,532,532,532,1971-06-17,52.90000000000048,52.899765,2015-01-01 00:08:52,bin532,35, -CTSPillarNetworkA,533,533,533,1971-06-18,53.00000000000048,52.999763,2015-01-01 00:08:53,bin533,75, -CTSPillarNetworkA,534,534,534,1971-06-19,53.100000000000485,53.099762,2015-01-01 00:08:54,bin534,35, -CTSPillarNetworkA,535,535,535,1971-06-20,53.200000000000486,53.19976,2015-01-01 00:08:55,bin535,75, -CTSPillarNetworkA,536,536,536,1971-06-21,53.30000000000049,53.29976,2015-01-01 00:08:56,bin536,35, -CTSPillarNetworkA,537,537,537,1971-06-22,53.40000000000049,53.399757,2015-01-01 00:08:57,bin537,75, -CTSPillarNetworkA,538,538,538,1971-06-23,53.50000000000049,53.499756,2015-01-01 00:08:58,bin538,35, -CTSPillarNetworkA,539,539,539,1971-06-24,53.60000000000049,53.599754,2015-01-01 00:08:59,bin539,75, -CTSPillarNetworkA,540,540,540,1971-06-25,53.70000000000049,53.699753,2015-01-01 00:09:00,bin540,35, -CTSPillarNetworkA,541,541,541,1971-06-26,53.800000000000495,53.79975,2015-01-01 00:09:01,bin541,75, -CTSPillarNetworkA,542,542,542,1971-06-27,53.900000000000496,53.89975,2015-01-01 00:09:02,bin542,35, -CTSPillarNetworkA,543,543,543,1971-06-28,54.0000000000005,53.99975,2015-01-01 00:09:03,bin543,75, -CTSPillarNetworkA,544,544,544,1971-06-29,54.1000000000005,54.099747,2015-01-01 00:09:04,bin544,35, -CTSPillarNetworkA,545,545,545,1971-06-30,54.2000000000005,54.199745,2015-01-01 00:09:05,bin545,75, -CTSPillarNetworkA,546,546,546,1971-07-01,54.3000000000005,54.299744,2015-01-01 00:09:06,bin546,35, -CTSPillarNetworkA,547,547,547,1971-07-02,54.4000000000005,54.399742,2015-01-01 00:09:07,bin547,75, -CTSPillarNetworkA,548,548,548,1971-07-03,54.500000000000504,54.49974,2015-01-01 00:09:08,bin548,35, -CTSPillarNetworkA,549,549,549,1971-07-04,54.600000000000506,54.59974,2015-01-01 00:09:09,bin549,75, -CTSPillarNetworkA,550,550,550,1971-07-05,54.70000000000051,54.699738,2015-01-01 00:09:10,bin550,35, -CTSPillarNetworkA,551,551,551,1971-07-06,54.80000000000051,54.799736,2015-01-01 00:09:11,bin551,75, -CTSPillarNetworkA,552,552,552,1971-07-07,54.90000000000051,54.899734,2015-01-01 00:09:12,bin552,35, -CTSPillarNetworkA,553,553,553,1971-07-08,55.00000000000051,54.999733,2015-01-01 00:09:13,bin553,75, -CTSPillarNetworkA,554,554,554,1971-07-09,55.10000000000051,55.09973,2015-01-01 00:09:14,bin554,35, -CTSPillarNetworkA,555,555,555,1971-07-10,55.200000000000514,55.19973,2015-01-01 00:09:15,bin555,75, -CTSPillarNetworkA,556,556,556,1971-07-11,55.300000000000516,55.29973,2015-01-01 00:09:16,bin556,35, -CTSPillarNetworkA,557,557,557,1971-07-12,55.40000000000052,55.399727,2015-01-01 00:09:17,bin557,75, -CTSPillarNetworkA,558,558,558,1971-07-13,55.50000000000052,55.499725,2015-01-01 00:09:18,bin558,35, -CTSPillarNetworkA,559,559,559,1971-07-14,55.60000000000052,55.599724,2015-01-01 00:09:19,bin559,75, -CTSPillarNetworkA,560,560,560,1971-07-15,55.70000000000052,55.699722,2015-01-01 00:09:20,bin560,35, -CTSPillarNetworkA,561,561,561,1971-07-16,55.80000000000052,55.79972,2015-01-01 00:09:21,bin561,75, -CTSPillarNetworkA,562,562,562,1971-07-17,55.900000000000524,55.89972,2015-01-01 00:09:22,bin562,35, -CTSPillarNetworkA,563,563,563,1971-07-18,56.000000000000526,55.999718,2015-01-01 00:09:23,bin563,75, -CTSPillarNetworkA,564,564,564,1971-07-19,56.10000000000053,56.099716,2015-01-01 00:09:24,bin564,35, -CTSPillarNetworkA,565,565,565,1971-07-20,56.20000000000053,56.199715,2015-01-01 00:09:25,bin565,75, -CTSPillarNetworkA,566,566,566,1971-07-21,56.30000000000053,56.299713,2015-01-01 00:09:26,bin566,35, -CTSPillarNetworkA,567,567,567,1971-07-22,56.40000000000053,56.39971,2015-01-01 00:09:27,bin567,75, -CTSPillarNetworkA,568,568,568,1971-07-23,56.50000000000053,56.49971,2015-01-01 00:09:28,bin568,35, -CTSPillarNetworkA,569,569,569,1971-07-24,56.600000000000534,56.59971,2015-01-01 00:09:29,bin569,75, -CTSPillarNetworkA,570,570,570,1971-07-25,56.700000000000536,56.699707,2015-01-01 00:09:30,bin570,35, -CTSPillarNetworkA,571,571,571,1971-07-26,56.80000000000054,56.799706,2015-01-01 00:09:31,bin571,75, -CTSPillarNetworkA,572,572,572,1971-07-27,56.90000000000054,56.899704,2015-01-01 00:09:32,bin572,35, -CTSPillarNetworkA,573,573,573,1971-07-28,57.00000000000054,56.999702,2015-01-01 00:09:33,bin573,75, -CTSPillarNetworkA,574,574,574,1971-07-29,57.10000000000054,57.0997,2015-01-01 00:09:34,bin574,35, -CTSPillarNetworkA,575,575,575,1971-07-30,57.20000000000054,57.1997,2015-01-01 00:09:35,bin575,75, -CTSPillarNetworkA,576,576,576,1971-07-31,57.300000000000544,57.299698,2015-01-01 00:09:36,bin576,35, -CTSPillarNetworkA,577,577,577,1971-08-01,57.400000000000546,57.399696,2015-01-01 00:09:37,bin577,75, -CTSPillarNetworkA,578,578,578,1971-08-02,57.50000000000055,57.499695,2015-01-01 00:09:38,bin578,35, -CTSPillarNetworkA,579,579,579,1971-08-03,57.60000000000055,57.599693,2015-01-01 00:09:39,bin579,75, -CTSPillarNetworkA,580,580,580,1971-08-04,57.70000000000055,57.69969,2015-01-01 00:09:40,bin580,35, -CTSPillarNetworkA,581,581,581,1971-08-05,57.80000000000055,57.79969,2015-01-01 00:09:41,bin581,75, -CTSPillarNetworkA,582,582,582,1971-08-06,57.90000000000055,57.89969,2015-01-01 00:09:42,bin582,35, -CTSPillarNetworkA,583,583,583,1971-08-07,58.000000000000554,57.999687,2015-01-01 00:09:43,bin583,75, -CTSPillarNetworkA,584,584,584,1971-08-08,58.100000000000556,58.099686,2015-01-01 00:09:44,bin584,35, -CTSPillarNetworkA,585,585,585,1971-08-09,58.20000000000056,58.199684,2015-01-01 00:09:45,bin585,75, -CTSPillarNetworkA,586,586,586,1971-08-10,58.30000000000056,58.299683,2015-01-01 00:09:46,bin586,35, -CTSPillarNetworkA,587,587,587,1971-08-11,58.40000000000056,58.39968,2015-01-01 00:09:47,bin587,75, -CTSPillarNetworkA,588,588,588,1971-08-12,58.50000000000056,58.49968,2015-01-01 00:09:48,bin588,35, -CTSPillarNetworkA,589,589,589,1971-08-13,58.60000000000056,58.599678,2015-01-01 00:09:49,bin589,75, -CTSPillarNetworkA,590,590,590,1971-08-14,58.700000000000564,58.699677,2015-01-01 00:09:50,bin590,35, -CTSPillarNetworkA,591,591,591,1971-08-15,58.800000000000566,58.799675,2015-01-01 00:09:51,bin591,75, -CTSPillarNetworkA,592,592,592,1971-08-16,58.90000000000057,58.899673,2015-01-01 00:09:52,bin592,35, -CTSPillarNetworkA,593,593,593,1971-08-17,59.00000000000057,58.999672,2015-01-01 00:09:53,bin593,75, -CTSPillarNetworkA,594,594,594,1971-08-18,59.10000000000057,59.09967,2015-01-01 00:09:54,bin594,35, -CTSPillarNetworkA,595,595,595,1971-08-19,59.20000000000057,59.19967,2015-01-01 00:09:55,bin595,75, -CTSPillarNetworkA,596,596,596,1971-08-20,59.30000000000057,59.299667,2015-01-01 00:09:56,bin596,35, -CTSPillarNetworkA,597,597,597,1971-08-21,59.400000000000574,59.399666,2015-01-01 00:09:57,bin597,75, -CTSPillarNetworkA,598,598,598,1971-08-22,59.500000000000576,59.499664,2015-01-01 00:09:58,bin598,35, -CTSPillarNetworkA,599,599,599,1971-08-23,59.60000000000058,59.599663,2015-01-01 00:09:59,bin599,75, -CTSPillarNetworkA,600,600,600,1971-08-24,59.70000000000058,59.69966,2015-01-01 00:10:00,bin600,35, -CTSPillarNetworkA,601,601,601,1971-08-25,59.80000000000058,59.79966,2015-01-01 00:10:01,bin601,75, -CTSPillarNetworkA,602,602,602,1971-08-26,59.90000000000058,59.89966,2015-01-01 00:10:02,bin602,35, -CTSPillarNetworkA,603,603,603,1971-08-27,60.00000000000058,59.999657,2015-01-01 00:10:03,bin603,75, -CTSPillarNetworkA,604,604,604,1971-08-28,60.100000000000584,60.099655,2015-01-01 00:10:04,bin604,35, -CTSPillarNetworkA,605,605,605,1971-08-29,60.200000000000585,60.199654,2015-01-01 00:10:05,bin605,75, -CTSPillarNetworkA,606,606,606,1971-08-30,60.30000000000059,60.299652,2015-01-01 00:10:06,bin606,35, -CTSPillarNetworkA,607,607,607,1971-08-31,60.40000000000059,60.39965,2015-01-01 00:10:07,bin607,75, -CTSPillarNetworkA,608,608,608,1971-09-01,60.50000000000059,60.49965,2015-01-01 00:10:08,bin608,35, -CTSPillarNetworkA,609,609,609,1971-09-02,60.60000000000059,60.599648,2015-01-01 00:10:09,bin609,75, -CTSPillarNetworkA,610,610,610,1971-09-03,60.70000000000059,60.699646,2015-01-01 00:10:10,bin610,35, -CTSPillarNetworkA,611,611,611,1971-09-04,60.800000000000594,60.799644,2015-01-01 00:10:11,bin611,75, -CTSPillarNetworkA,612,612,612,1971-09-05,60.900000000000595,60.899643,2015-01-01 00:10:12,bin612,35, -CTSPillarNetworkA,613,613,613,1971-09-06,61.0000000000006,60.99964,2015-01-01 00:10:13,bin613,75, -CTSPillarNetworkA,614,614,614,1971-09-07,61.1000000000006,61.09964,2015-01-01 00:10:14,bin614,35, -CTSPillarNetworkA,615,615,615,1971-09-08,61.2000000000006,61.19964,2015-01-01 00:10:15,bin615,75, -CTSPillarNetworkA,616,616,616,1971-09-09,61.3000000000006,61.299637,2015-01-01 00:10:16,bin616,35, -CTSPillarNetworkA,617,617,617,1971-09-10,61.4000000000006,61.399635,2015-01-01 00:10:17,bin617,75, -CTSPillarNetworkA,618,618,618,1971-09-11,61.500000000000604,61.499634,2015-01-01 00:10:18,bin618,35, -CTSPillarNetworkA,619,619,619,1971-09-12,61.600000000000605,61.599632,2015-01-01 00:10:19,bin619,75, -CTSPillarNetworkA,620,620,620,1971-09-13,61.70000000000061,61.69963,2015-01-01 00:10:20,bin620,35, -CTSPillarNetworkA,621,621,621,1971-09-14,61.80000000000061,61.79963,2015-01-01 00:10:21,bin621,75, -CTSPillarNetworkA,622,622,622,1971-09-15,61.90000000000061,61.899628,2015-01-01 00:10:22,bin622,35, -CTSPillarNetworkA,623,623,623,1971-09-16,62.00000000000061,61.999626,2015-01-01 00:10:23,bin623,75, -CTSPillarNetworkA,624,624,624,1971-09-17,62.10000000000061,62.099625,2015-01-01 00:10:24,bin624,35, -CTSPillarNetworkA,625,625,625,1971-09-18,62.200000000000614,62.199623,2015-01-01 00:10:25,bin625,75, -CTSPillarNetworkA,626,626,626,1971-09-19,62.300000000000615,62.29962,2015-01-01 00:10:26,bin626,35, -CTSPillarNetworkA,627,627,627,1971-09-20,62.40000000000062,62.39962,2015-01-01 00:10:27,bin627,75, -CTSPillarNetworkA,628,628,628,1971-09-21,62.50000000000062,62.49962,2015-01-01 00:10:28,bin628,35, -CTSPillarNetworkA,629,629,629,1971-09-22,62.60000000000062,62.599617,2015-01-01 00:10:29,bin629,75, -CTSPillarNetworkA,630,630,630,1971-09-23,62.70000000000062,62.699615,2015-01-01 00:10:30,bin630,35, -CTSPillarNetworkA,631,631,631,1971-09-24,62.80000000000062,62.799614,2015-01-01 00:10:31,bin631,75, -CTSPillarNetworkA,632,632,632,1971-09-25,62.900000000000624,62.899612,2015-01-01 00:10:32,bin632,35, -CTSPillarNetworkA,633,633,633,1971-09-26,63.000000000000625,62.99961,2015-01-01 00:10:33,bin633,75, -CTSPillarNetworkA,634,634,634,1971-09-27,63.10000000000063,63.09961,2015-01-01 00:10:34,bin634,35, -CTSPillarNetworkA,635,635,635,1971-09-28,63.20000000000063,63.199608,2015-01-01 00:10:35,bin635,75, -CTSPillarNetworkA,636,636,636,1971-09-29,63.30000000000063,63.299606,2015-01-01 00:10:36,bin636,35, -CTSPillarNetworkA,637,637,637,1971-09-30,63.40000000000063,63.399605,2015-01-01 00:10:37,bin637,75, -CTSPillarNetworkA,638,638,638,1971-10-01,63.50000000000063,63.499603,2015-01-01 00:10:38,bin638,35, -CTSPillarNetworkA,639,639,639,1971-10-02,63.600000000000634,63.5996,2015-01-01 00:10:39,bin639,75, -CTSPillarNetworkA,640,640,640,1971-10-03,63.700000000000635,63.6996,2015-01-01 00:10:40,bin640,35, -CTSPillarNetworkA,641,641,641,1971-10-04,63.80000000000064,63.7996,2015-01-01 00:10:41,bin641,75, -CTSPillarNetworkA,642,642,642,1971-10-05,63.90000000000064,63.899597,2015-01-01 00:10:42,bin642,35, -CTSPillarNetworkA,643,643,643,1971-10-06,64.00000000000064,63.999596,2015-01-01 00:10:43,bin643,75, -CTSPillarNetworkA,644,644,644,1971-10-07,64.10000000000063,64.099594,2015-01-01 00:10:44,bin644,35, -CTSPillarNetworkA,645,645,645,1971-10-08,64.20000000000063,64.19959,2015-01-01 00:10:45,bin645,75, -CTSPillarNetworkA,646,646,646,1971-10-09,64.30000000000062,64.29959,2015-01-01 00:10:46,bin646,35, -CTSPillarNetworkA,647,647,647,1971-10-10,64.40000000000062,64.39959,2015-01-01 00:10:47,bin647,75, -CTSPillarNetworkA,648,648,648,1971-10-11,64.50000000000061,64.49959,2015-01-01 00:10:48,bin648,35, -CTSPillarNetworkA,649,649,649,1971-10-12,64.6000000000006,64.59959,2015-01-01 00:10:49,bin649,75, -CTSPillarNetworkA,650,650,650,1971-10-13,64.7000000000006,64.699585,2015-01-01 00:10:50,bin650,35, -CTSPillarNetworkA,651,651,651,1971-10-14,64.8000000000006,64.79958,2015-01-01 00:10:51,bin651,75, -CTSPillarNetworkA,652,652,652,1971-10-15,64.90000000000059,64.89958,2015-01-01 00:10:52,bin652,35, -CTSPillarNetworkA,653,653,653,1971-10-16,65.00000000000058,64.99958,2015-01-01 00:10:53,bin653,75, -CTSPillarNetworkA,654,654,654,1971-10-17,65.10000000000058,65.09958,2015-01-01 00:10:54,bin654,35, -CTSPillarNetworkA,655,655,655,1971-10-18,65.20000000000057,65.19958,2015-01-01 00:10:55,bin655,75, -CTSPillarNetworkA,656,656,656,1971-10-19,65.30000000000057,65.299576,2015-01-01 00:10:56,bin656,35, -CTSPillarNetworkA,657,657,657,1971-10-20,65.40000000000056,65.399574,2015-01-01 00:10:57,bin657,75, -CTSPillarNetworkA,658,658,658,1971-10-21,65.50000000000055,65.49957,2015-01-01 00:10:58,bin658,35, -CTSPillarNetworkA,659,659,659,1971-10-22,65.60000000000055,65.59957,2015-01-01 00:10:59,bin659,75, -CTSPillarNetworkA,660,660,660,1971-10-23,65.70000000000054,65.69957,2015-01-01 00:11:00,bin660,35, -CTSPillarNetworkA,661,661,661,1971-10-24,65.80000000000054,65.79957,2015-01-01 00:11:01,bin661,75, -CTSPillarNetworkA,662,662,662,1971-10-25,65.90000000000053,65.89957,2015-01-01 00:11:02,bin662,35, -CTSPillarNetworkA,663,663,663,1971-10-26,66.00000000000053,65.999565,2015-01-01 00:11:03,bin663,75, -CTSPillarNetworkA,664,664,664,1971-10-27,66.10000000000052,66.09956,2015-01-01 00:11:04,bin664,35, -CTSPillarNetworkA,665,665,665,1971-10-28,66.20000000000051,66.19956,2015-01-01 00:11:05,bin665,75, -CTSPillarNetworkA,666,666,666,1971-10-29,66.30000000000051,66.29956,2015-01-01 00:11:06,bin666,35, -CTSPillarNetworkA,667,667,667,1971-10-30,66.4000000000005,66.39956,2015-01-01 00:11:07,bin667,75, -CTSPillarNetworkA,668,668,668,1971-10-31,66.5000000000005,66.49956,2015-01-01 00:11:08,bin668,35, -CTSPillarNetworkA,669,669,669,1971-11-01,66.60000000000049,66.599556,2015-01-01 00:11:09,bin669,75, -CTSPillarNetworkA,670,670,670,1971-11-02,66.70000000000049,66.699554,2015-01-01 00:11:10,bin670,35, -CTSPillarNetworkA,671,671,671,1971-11-03,66.80000000000048,66.79955,2015-01-01 00:11:11,bin671,75, -CTSPillarNetworkA,672,672,672,1971-11-04,66.90000000000047,66.89955,2015-01-01 00:11:12,bin672,35, -CTSPillarNetworkA,673,673,673,1971-11-05,67.00000000000047,66.99955,2015-01-01 00:11:13,bin673,75, -CTSPillarNetworkA,674,674,674,1971-11-06,67.10000000000046,67.09955,2015-01-01 00:11:14,bin674,35, -CTSPillarNetworkA,675,675,675,1971-11-07,67.20000000000046,67.19955,2015-01-01 00:11:15,bin675,75, -CTSPillarNetworkA,676,676,676,1971-11-08,67.30000000000045,67.299545,2015-01-01 00:11:16,bin676,35, -CTSPillarNetworkA,677,677,677,1971-11-09,67.40000000000045,67.39954,2015-01-01 00:11:17,bin677,75, -CTSPillarNetworkA,678,678,678,1971-11-10,67.50000000000044,67.49954,2015-01-01 00:11:18,bin678,35, -CTSPillarNetworkA,679,679,679,1971-11-11,67.60000000000043,67.59954,2015-01-01 00:11:19,bin679,75, -CTSPillarNetworkA,680,680,680,1971-11-12,67.70000000000043,67.69954,2015-01-01 00:11:20,bin680,35, -CTSPillarNetworkA,681,681,681,1971-11-13,67.80000000000042,67.79954,2015-01-01 00:11:21,bin681,75, -CTSPillarNetworkA,682,682,682,1971-11-14,67.90000000000042,67.899536,2015-01-01 00:11:22,bin682,35, -CTSPillarNetworkA,683,683,683,1971-11-15,68.00000000000041,67.999535,2015-01-01 00:11:23,bin683,75, -CTSPillarNetworkA,684,684,684,1971-11-16,68.1000000000004,68.09953,2015-01-01 00:11:24,bin684,35, -CTSPillarNetworkA,685,685,685,1971-11-17,68.2000000000004,68.19953,2015-01-01 00:11:25,bin685,75, -CTSPillarNetworkA,686,686,686,1971-11-18,68.3000000000004,68.29953,2015-01-01 00:11:26,bin686,35, -CTSPillarNetworkA,687,687,687,1971-11-19,68.40000000000039,68.39953,2015-01-01 00:11:27,bin687,75, -CTSPillarNetworkA,688,688,688,1971-11-20,68.50000000000038,68.49953,2015-01-01 00:11:28,bin688,35, -CTSPillarNetworkA,689,689,689,1971-11-21,68.60000000000038,68.599525,2015-01-01 00:11:29,bin689,75, -CTSPillarNetworkA,690,690,690,1971-11-22,68.70000000000037,68.699524,2015-01-01 00:11:30,bin690,35, -CTSPillarNetworkA,691,691,691,1971-11-23,68.80000000000037,68.79952,2015-01-01 00:11:31,bin691,75, -CTSPillarNetworkA,692,692,692,1971-11-24,68.90000000000036,68.89952,2015-01-01 00:11:32,bin692,35, -CTSPillarNetworkA,693,693,693,1971-11-25,69.00000000000036,68.99952,2015-01-01 00:11:33,bin693,75, -CTSPillarNetworkA,694,694,694,1971-11-26,69.10000000000035,69.09952,2015-01-01 00:11:34,bin694,35, -CTSPillarNetworkA,695,695,695,1971-11-27,69.20000000000034,69.19952,2015-01-01 00:11:35,bin695,75, -CTSPillarNetworkA,696,696,696,1971-11-28,69.30000000000034,69.299515,2015-01-01 00:11:36,bin696,35, -CTSPillarNetworkA,697,697,697,1971-11-29,69.40000000000033,69.39951,2015-01-01 00:11:37,bin697,75, -CTSPillarNetworkA,698,698,698,1971-11-30,69.50000000000033,69.49951,2015-01-01 00:11:38,bin698,35, -CTSPillarNetworkA,699,699,699,1971-12-01,69.60000000000032,69.59951,2015-01-01 00:11:39,bin699,75, -CTSPillarNetworkA,700,700,700,1971-12-02,69.70000000000032,69.69951,2015-01-01 00:11:40,bin700,35, -CTSPillarNetworkA,701,701,701,1971-12-03,69.80000000000031,69.79951,2015-01-01 00:11:41,bin701,75, -CTSPillarNetworkA,702,702,702,1971-12-04,69.9000000000003,69.899506,2015-01-01 00:11:42,bin702,35, -CTSPillarNetworkA,703,703,703,1971-12-05,70.0000000000003,69.999504,2015-01-01 00:11:43,bin703,75, -CTSPillarNetworkA,704,704,704,1971-12-06,70.10000000000029,70.0995,2015-01-01 00:11:44,bin704,35, -CTSPillarNetworkA,705,705,705,1971-12-07,70.20000000000029,70.1995,2015-01-01 00:11:45,bin705,75, -CTSPillarNetworkA,706,706,706,1971-12-08,70.30000000000028,70.2995,2015-01-01 00:11:46,bin706,35, -CTSPillarNetworkA,707,707,707,1971-12-09,70.40000000000028,70.3995,2015-01-01 00:11:47,bin707,75, -CTSPillarNetworkA,708,708,708,1971-12-10,70.50000000000027,70.4995,2015-01-01 00:11:48,bin708,35, -CTSPillarNetworkA,709,709,709,1971-12-11,70.60000000000026,70.599495,2015-01-01 00:11:49,bin709,75, -CTSPillarNetworkA,710,710,710,1971-12-12,70.70000000000026,70.69949,2015-01-01 00:11:50,bin710,35, -CTSPillarNetworkA,711,711,711,1971-12-13,70.80000000000025,70.79949,2015-01-01 00:11:51,bin711,75, -CTSPillarNetworkA,712,712,712,1971-12-14,70.90000000000025,70.89949,2015-01-01 00:11:52,bin712,35, -CTSPillarNetworkA,713,713,713,1971-12-15,71.00000000000024,70.99949,2015-01-01 00:11:53,bin713,75, -CTSPillarNetworkA,714,714,714,1971-12-16,71.10000000000024,71.09949,2015-01-01 00:11:54,bin714,35, -CTSPillarNetworkA,715,715,715,1971-12-17,71.20000000000023,71.199486,2015-01-01 00:11:55,bin715,75, -CTSPillarNetworkA,716,716,716,1971-12-18,71.30000000000022,71.299484,2015-01-01 00:11:56,bin716,35, -CTSPillarNetworkA,717,717,717,1971-12-19,71.40000000000022,71.39948,2015-01-01 00:11:57,bin717,75, -CTSPillarNetworkA,718,718,718,1971-12-20,71.50000000000021,71.49948,2015-01-01 00:11:58,bin718,35, -CTSPillarNetworkA,719,719,719,1971-12-21,71.60000000000021,71.59948,2015-01-01 00:11:59,bin719,75, -CTSPillarNetworkA,720,720,720,1971-12-22,71.7000000000002,71.69948,2015-01-01 00:12:00,bin720,35, -CTSPillarNetworkA,721,721,721,1971-12-23,71.8000000000002,71.79948,2015-01-01 00:12:01,bin721,75, -CTSPillarNetworkA,722,722,722,1971-12-24,71.90000000000019,71.899475,2015-01-01 00:12:02,bin722,35, -CTSPillarNetworkA,723,723,723,1971-12-25,72.00000000000018,71.99947,2015-01-01 00:12:03,bin723,75, -CTSPillarNetworkA,724,724,724,1971-12-26,72.10000000000018,72.09947,2015-01-01 00:12:04,bin724,35, -CTSPillarNetworkA,725,725,725,1971-12-27,72.20000000000017,72.19947,2015-01-01 00:12:05,bin725,75, -CTSPillarNetworkA,726,726,726,1971-12-28,72.30000000000017,72.29947,2015-01-01 00:12:06,bin726,35, -CTSPillarNetworkA,727,727,727,1971-12-29,72.40000000000016,72.39947,2015-01-01 00:12:07,bin727,75, -CTSPillarNetworkA,728,728,728,1971-12-30,72.50000000000016,72.499466,2015-01-01 00:12:08,bin728,35, -CTSPillarNetworkA,729,729,729,1971-12-31,72.60000000000015,72.599464,2015-01-01 00:12:09,bin729,75, -CTSPillarNetworkA,730,730,730,1972-01-01,72.70000000000014,72.69946,2015-01-01 00:12:10,bin730,35, -CTSPillarNetworkA,731,731,731,1972-01-02,72.80000000000014,72.79946,2015-01-01 00:12:11,bin731,75, -CTSPillarNetworkA,732,732,732,1972-01-03,72.90000000000013,72.89946,2015-01-01 00:12:12,bin732,35, -CTSPillarNetworkA,733,733,733,1972-01-04,73.00000000000013,72.99946,2015-01-01 00:12:13,bin733,75, -CTSPillarNetworkA,734,734,734,1972-01-05,73.10000000000012,73.09946,2015-01-01 00:12:14,bin734,35, -CTSPillarNetworkA,735,735,735,1972-01-06,73.20000000000012,73.199455,2015-01-01 00:12:15,bin735,75, -CTSPillarNetworkA,736,736,736,1972-01-07,73.30000000000011,73.29945,2015-01-01 00:12:16,bin736,35, -CTSPillarNetworkA,737,737,737,1972-01-08,73.4000000000001,73.39945,2015-01-01 00:12:17,bin737,75, -CTSPillarNetworkA,738,738,738,1972-01-09,73.5000000000001,73.49945,2015-01-01 00:12:18,bin738,35, -CTSPillarNetworkA,739,739,739,1972-01-10,73.6000000000001,73.59945,2015-01-01 00:12:19,bin739,75, -CTSPillarNetworkA,740,740,740,1972-01-11,73.70000000000009,73.69945,2015-01-01 00:12:20,bin740,35, -CTSPillarNetworkA,741,741,741,1972-01-12,73.80000000000008,73.799446,2015-01-01 00:12:21,bin741,75, -CTSPillarNetworkA,742,742,742,1972-01-13,73.90000000000008,73.899445,2015-01-01 00:12:22,bin742,35, -CTSPillarNetworkA,743,743,743,1972-01-14,74.00000000000007,73.99944,2015-01-01 00:12:23,bin743,75, -CTSPillarNetworkA,744,744,744,1972-01-15,74.10000000000007,74.09944,2015-01-01 00:12:24,bin744,35, -CTSPillarNetworkA,745,745,745,1972-01-16,74.20000000000006,74.19944,2015-01-01 00:12:25,bin745,75, -CTSPillarNetworkA,746,746,746,1972-01-17,74.30000000000005,74.29944,2015-01-01 00:12:26,bin746,35, -CTSPillarNetworkA,747,747,747,1972-01-18,74.40000000000005,74.39944,2015-01-01 00:12:27,bin747,75, -CTSPillarNetworkA,748,748,748,1972-01-19,74.50000000000004,74.499435,2015-01-01 00:12:28,bin748,35, -CTSPillarNetworkA,749,749,749,1972-01-20,74.60000000000004,74.599434,2015-01-01 00:12:29,bin749,75, -CTSPillarNetworkA,750,750,750,1972-01-21,74.70000000000003,74.69943,2015-01-01 00:12:30,bin750,35, -CTSPillarNetworkA,751,751,751,1972-01-22,74.80000000000003,74.79943,2015-01-01 00:12:31,bin751,75, -CTSPillarNetworkA,752,752,752,1972-01-23,74.90000000000002,74.89943,2015-01-01 00:12:32,bin752,35, -CTSPillarNetworkA,753,753,753,1972-01-24,75.00000000000001,74.99943,2015-01-01 00:12:33,bin753,75, -CTSPillarNetworkA,754,754,754,1972-01-25,75.10000000000001,75.09943,2015-01-01 00:12:34,bin754,35, -CTSPillarNetworkA,755,755,755,1972-01-26,75.2,75.199425,2015-01-01 00:12:35,bin755,75, -CTSPillarNetworkA,756,756,756,1972-01-27,75.3,75.29942,2015-01-01 00:12:36,bin756,35, -CTSPillarNetworkA,757,757,757,1972-01-28,75.39999999999999,75.39942,2015-01-01 00:12:37,bin757,75, -CTSPillarNetworkA,758,758,758,1972-01-29,75.49999999999999,75.49942,2015-01-01 00:12:38,bin758,35, -CTSPillarNetworkA,759,759,759,1972-01-30,75.59999999999998,75.59942,2015-01-01 00:12:39,bin759,75, -CTSPillarNetworkA,760,760,760,1972-01-31,75.69999999999997,75.69942,2015-01-01 00:12:40,bin760,35, -CTSPillarNetworkA,761,761,761,1972-02-01,75.79999999999997,75.799416,2015-01-01 00:12:41,bin761,75, -CTSPillarNetworkA,762,762,762,1972-02-02,75.89999999999996,75.899414,2015-01-01 00:12:42,bin762,35, -CTSPillarNetworkA,763,763,763,1972-02-03,75.99999999999996,75.99941,2015-01-01 00:12:43,bin763,75, -CTSPillarNetworkA,764,764,764,1972-02-04,76.09999999999995,76.09941,2015-01-01 00:12:44,bin764,35, -CTSPillarNetworkA,765,765,765,1972-02-05,76.19999999999995,76.19941,2015-01-01 00:12:45,bin765,75, -CTSPillarNetworkA,766,766,766,1972-02-06,76.29999999999994,76.29941,2015-01-01 00:12:46,bin766,35, -CTSPillarNetworkA,767,767,767,1972-02-07,76.39999999999993,76.39941,2015-01-01 00:12:47,bin767,75, -CTSPillarNetworkA,768,768,768,1972-02-08,76.49999999999993,76.499405,2015-01-01 00:12:48,bin768,35, -CTSPillarNetworkA,769,769,769,1972-02-09,76.59999999999992,76.5994,2015-01-01 00:12:49,bin769,75, -CTSPillarNetworkA,770,770,770,1972-02-10,76.69999999999992,76.6994,2015-01-01 00:12:50,bin770,35, -CTSPillarNetworkA,771,771,771,1972-02-11,76.79999999999991,76.7994,2015-01-01 00:12:51,bin771,75, -CTSPillarNetworkA,772,772,772,1972-02-12,76.8999999999999,76.8994,2015-01-01 00:12:52,bin772,35, -CTSPillarNetworkA,773,773,773,1972-02-13,76.9999999999999,76.9994,2015-01-01 00:12:53,bin773,75, -CTSPillarNetworkA,774,774,774,1972-02-14,77.0999999999999,77.099396,2015-01-01 00:12:54,bin774,35, -CTSPillarNetworkA,775,775,775,1972-02-15,77.19999999999989,77.199394,2015-01-01 00:12:55,bin775,75, -CTSPillarNetworkA,776,776,776,1972-02-16,77.29999999999988,77.29939,2015-01-01 00:12:56,bin776,35, -CTSPillarNetworkA,777,777,777,1972-02-17,77.39999999999988,77.39939,2015-01-01 00:12:57,bin777,75, -CTSPillarNetworkA,778,778,778,1972-02-18,77.49999999999987,77.49939,2015-01-01 00:12:58,bin778,35, -CTSPillarNetworkA,779,779,779,1972-02-19,77.59999999999987,77.59939,2015-01-01 00:12:59,bin779,75, -CTSPillarNetworkA,780,780,780,1972-02-20,77.69999999999986,77.69939,2015-01-01 00:13:00,bin780,35, -CTSPillarNetworkA,781,781,781,1972-02-21,77.79999999999986,77.799385,2015-01-01 00:13:01,bin781,75, -CTSPillarNetworkA,782,782,782,1972-02-22,77.89999999999985,77.89938,2015-01-01 00:13:02,bin782,35, -CTSPillarNetworkA,783,783,783,1972-02-23,77.99999999999984,77.99938,2015-01-01 00:13:03,bin783,75, -CTSPillarNetworkA,784,784,784,1972-02-24,78.09999999999984,78.09938,2015-01-01 00:13:04,bin784,35, -CTSPillarNetworkA,785,785,785,1972-02-25,78.19999999999983,78.19938,2015-01-01 00:13:05,bin785,75, -CTSPillarNetworkA,786,786,786,1972-02-26,78.29999999999983,78.29938,2015-01-01 00:13:06,bin786,35, -CTSPillarNetworkA,787,787,787,1972-02-27,78.39999999999982,78.399376,2015-01-01 00:13:07,bin787,75, -CTSPillarNetworkA,788,788,788,1972-02-28,78.49999999999982,78.499374,2015-01-01 00:13:08,bin788,35, -CTSPillarNetworkA,789,789,789,1972-02-29,78.59999999999981,78.59937,2015-01-01 00:13:09,bin789,75, -CTSPillarNetworkA,790,790,790,1972-03-01,78.6999999999998,78.69937,2015-01-01 00:13:10,bin790,35, -CTSPillarNetworkA,791,791,791,1972-03-02,78.7999999999998,78.79937,2015-01-01 00:13:11,bin791,75, -CTSPillarNetworkA,792,792,792,1972-03-03,78.89999999999979,78.89937,2015-01-01 00:13:12,bin792,35, -CTSPillarNetworkA,793,793,793,1972-03-04,78.99999999999979,78.99937,2015-01-01 00:13:13,bin793,75, -CTSPillarNetworkA,794,794,794,1972-03-05,79.09999999999978,79.099365,2015-01-01 00:13:14,bin794,35, -CTSPillarNetworkA,795,795,795,1972-03-06,79.19999999999978,79.19936,2015-01-01 00:13:15,bin795,75, -CTSPillarNetworkA,796,796,796,1972-03-07,79.29999999999977,79.29936,2015-01-01 00:13:16,bin796,35, -CTSPillarNetworkA,797,797,797,1972-03-08,79.39999999999976,79.39936,2015-01-01 00:13:17,bin797,75, -CTSPillarNetworkA,798,798,798,1972-03-09,79.49999999999976,79.49936,2015-01-01 00:13:18,bin798,35, -CTSPillarNetworkA,799,799,799,1972-03-10,79.59999999999975,79.59936,2015-01-01 00:13:19,bin799,75, -CTSPillarNetworkA,800,800,800,1972-03-11,79.69999999999975,79.699356,2015-01-01 00:13:20,bin800,35, -CTSPillarNetworkA,801,801,801,1972-03-12,79.79999999999974,79.799355,2015-01-01 00:13:21,bin801,75, -CTSPillarNetworkA,802,802,802,1972-03-13,79.89999999999974,79.89935,2015-01-01 00:13:22,bin802,35, -CTSPillarNetworkA,803,803,803,1972-03-14,79.99999999999973,79.99935,2015-01-01 00:13:23,bin803,75, -CTSPillarNetworkA,804,804,804,1972-03-15,80.09999999999972,80.09935,2015-01-01 00:13:24,bin804,35, -CTSPillarNetworkA,805,805,805,1972-03-16,80.19999999999972,80.19935,2015-01-01 00:13:25,bin805,75, -CTSPillarNetworkA,806,806,806,1972-03-17,80.29999999999971,80.29935,2015-01-01 00:13:26,bin806,35, -CTSPillarNetworkA,807,807,807,1972-03-18,80.39999999999971,80.399345,2015-01-01 00:13:27,bin807,75, -CTSPillarNetworkA,808,808,808,1972-03-19,80.4999999999997,80.499344,2015-01-01 00:13:28,bin808,35, -CTSPillarNetworkA,809,809,809,1972-03-20,80.5999999999997,80.59934,2015-01-01 00:13:29,bin809,75, -CTSPillarNetworkA,810,810,810,1972-03-21,80.69999999999969,80.69934,2015-01-01 00:13:30,bin810,35, -CTSPillarNetworkA,811,811,811,1972-03-22,80.79999999999968,80.79934,2015-01-01 00:13:31,bin811,75, -CTSPillarNetworkA,812,812,812,1972-03-23,80.89999999999968,80.89934,2015-01-01 00:13:32,bin812,35, -CTSPillarNetworkA,813,813,813,1972-03-24,80.99999999999967,80.99934,2015-01-01 00:13:33,bin813,75, -CTSPillarNetworkA,814,814,814,1972-03-25,81.09999999999967,81.099335,2015-01-01 00:13:34,bin814,35, -CTSPillarNetworkA,815,815,815,1972-03-26,81.19999999999966,81.19933,2015-01-01 00:13:35,bin815,75, -CTSPillarNetworkA,816,816,816,1972-03-27,81.29999999999966,81.29933,2015-01-01 00:13:36,bin816,35, -CTSPillarNetworkA,817,817,817,1972-03-28,81.39999999999965,81.39933,2015-01-01 00:13:37,bin817,75, -CTSPillarNetworkA,818,818,818,1972-03-29,81.49999999999964,81.49933,2015-01-01 00:13:38,bin818,35, -CTSPillarNetworkA,819,819,819,1972-03-30,81.59999999999964,81.59933,2015-01-01 00:13:39,bin819,75, -CTSPillarNetworkA,820,820,820,1972-03-31,81.69999999999963,81.699326,2015-01-01 00:13:40,bin820,35, -CTSPillarNetworkA,821,821,821,1972-04-01,81.79999999999963,81.799324,2015-01-01 00:13:41,bin821,75, -CTSPillarNetworkA,822,822,822,1972-04-02,81.89999999999962,81.89932,2015-01-01 00:13:42,bin822,35, -CTSPillarNetworkA,823,823,823,1972-04-03,81.99999999999962,81.99932,2015-01-01 00:13:43,bin823,75, -CTSPillarNetworkA,824,824,824,1972-04-04,82.09999999999961,82.09932,2015-01-01 00:13:44,bin824,35, -CTSPillarNetworkA,825,825,825,1972-04-05,82.1999999999996,82.19932,2015-01-01 00:13:45,bin825,75, -CTSPillarNetworkA,826,826,826,1972-04-06,82.2999999999996,82.29932,2015-01-01 00:13:46,bin826,35, -CTSPillarNetworkA,827,827,827,1972-04-07,82.3999999999996,82.399315,2015-01-01 00:13:47,bin827,75, -CTSPillarNetworkA,828,828,828,1972-04-08,82.49999999999959,82.49931,2015-01-01 00:13:48,bin828,35, -CTSPillarNetworkA,829,829,829,1972-04-09,82.59999999999958,82.59931,2015-01-01 00:13:49,bin829,75, -CTSPillarNetworkA,830,830,830,1972-04-10,82.69999999999958,82.69931,2015-01-01 00:13:50,bin830,35, -CTSPillarNetworkA,831,831,831,1972-04-11,82.79999999999957,82.79931,2015-01-01 00:13:51,bin831,75, -CTSPillarNetworkA,832,832,832,1972-04-12,82.89999999999957,82.89931,2015-01-01 00:13:52,bin832,35, -CTSPillarNetworkA,833,833,833,1972-04-13,82.99999999999956,82.999306,2015-01-01 00:13:53,bin833,75, -CTSPillarNetworkA,834,834,834,1972-04-14,83.09999999999955,83.099304,2015-01-01 00:13:54,bin834,35, -CTSPillarNetworkA,835,835,835,1972-04-15,83.19999999999955,83.1993,2015-01-01 00:13:55,bin835,75, -CTSPillarNetworkA,836,836,836,1972-04-16,83.29999999999954,83.2993,2015-01-01 00:13:56,bin836,35, -CTSPillarNetworkA,837,837,837,1972-04-17,83.39999999999954,83.3993,2015-01-01 00:13:57,bin837,75, -CTSPillarNetworkA,838,838,838,1972-04-18,83.49999999999953,83.4993,2015-01-01 00:13:58,bin838,35, -CTSPillarNetworkA,839,839,839,1972-04-19,83.59999999999953,83.5993,2015-01-01 00:13:59,bin839,75, -CTSPillarNetworkA,840,840,840,1972-04-20,83.69999999999952,83.699295,2015-01-01 00:14:00,bin840,35, -CTSPillarNetworkA,841,841,841,1972-04-21,83.79999999999951,83.79929,2015-01-01 00:14:01,bin841,75, -CTSPillarNetworkA,842,842,842,1972-04-22,83.89999999999951,83.89929,2015-01-01 00:14:02,bin842,35, -CTSPillarNetworkA,843,843,843,1972-04-23,83.9999999999995,83.99929,2015-01-01 00:14:03,bin843,75, -CTSPillarNetworkA,844,844,844,1972-04-24,84.0999999999995,84.09929,2015-01-01 00:14:04,bin844,35, -CTSPillarNetworkA,845,845,845,1972-04-25,84.19999999999949,84.19929,2015-01-01 00:14:05,bin845,75, -CTSPillarNetworkA,846,846,846,1972-04-26,84.29999999999949,84.299286,2015-01-01 00:14:06,bin846,35, -CTSPillarNetworkA,847,847,847,1972-04-27,84.39999999999948,84.399284,2015-01-01 00:14:07,bin847,75, -CTSPillarNetworkA,848,848,848,1972-04-28,84.49999999999947,84.49928,2015-01-01 00:14:08,bin848,35, -CTSPillarNetworkA,849,849,849,1972-04-29,84.59999999999947,84.59928,2015-01-01 00:14:09,bin849,75, -CTSPillarNetworkA,850,850,850,1972-04-30,84.69999999999946,84.69928,2015-01-01 00:14:10,bin850,35, -CTSPillarNetworkA,851,851,851,1972-05-01,84.79999999999946,84.79928,2015-01-01 00:14:11,bin851,75, -CTSPillarNetworkA,852,852,852,1972-05-02,84.89999999999945,84.89928,2015-01-01 00:14:12,bin852,35, -CTSPillarNetworkA,853,853,853,1972-05-03,84.99999999999945,84.999275,2015-01-01 00:14:13,bin853,75, -CTSPillarNetworkA,854,854,854,1972-05-04,85.09999999999944,85.09927,2015-01-01 00:14:14,bin854,35, -CTSPillarNetworkA,855,855,855,1972-05-05,85.19999999999943,85.19927,2015-01-01 00:14:15,bin855,75, -CTSPillarNetworkA,856,856,856,1972-05-06,85.29999999999943,85.29927,2015-01-01 00:14:16,bin856,35, -CTSPillarNetworkA,857,857,857,1972-05-07,85.39999999999942,85.39927,2015-01-01 00:14:17,bin857,75, -CTSPillarNetworkA,858,858,858,1972-05-08,85.49999999999942,85.49927,2015-01-01 00:14:18,bin858,35, -CTSPillarNetworkA,859,859,859,1972-05-09,85.59999999999941,85.599266,2015-01-01 00:14:19,bin859,75, -CTSPillarNetworkA,860,860,860,1972-05-10,85.6999999999994,85.699265,2015-01-01 00:14:20,bin860,35, -CTSPillarNetworkA,861,861,861,1972-05-11,85.7999999999994,85.79926,2015-01-01 00:14:21,bin861,75, -CTSPillarNetworkA,862,862,862,1972-05-12,85.8999999999994,85.89926,2015-01-01 00:14:22,bin862,35, -CTSPillarNetworkA,863,863,863,1972-05-13,85.99999999999939,85.99926,2015-01-01 00:14:23,bin863,75, -CTSPillarNetworkA,864,864,864,1972-05-14,86.09999999999938,86.09926,2015-01-01 00:14:24,bin864,35, -CTSPillarNetworkA,865,865,865,1972-05-15,86.19999999999938,86.19926,2015-01-01 00:14:25,bin865,75, -CTSPillarNetworkA,866,866,866,1972-05-16,86.29999999999937,86.299255,2015-01-01 00:14:26,bin866,35, -CTSPillarNetworkA,867,867,867,1972-05-17,86.39999999999937,86.399254,2015-01-01 00:14:27,bin867,75, -CTSPillarNetworkA,868,868,868,1972-05-18,86.49999999999936,86.49925,2015-01-01 00:14:28,bin868,35, -CTSPillarNetworkA,869,869,869,1972-05-19,86.59999999999935,86.59925,2015-01-01 00:14:29,bin869,75, -CTSPillarNetworkA,870,870,870,1972-05-20,86.69999999999935,86.69925,2015-01-01 00:14:30,bin870,35, -CTSPillarNetworkA,871,871,871,1972-05-21,86.79999999999934,86.79925,2015-01-01 00:14:31,bin871,75, -CTSPillarNetworkA,872,872,872,1972-05-22,86.89999999999934,86.89925,2015-01-01 00:14:32,bin872,35, -CTSPillarNetworkA,873,873,873,1972-05-23,86.99999999999933,86.999245,2015-01-01 00:14:33,bin873,75, -CTSPillarNetworkA,874,874,874,1972-05-24,87.09999999999933,87.09924,2015-01-01 00:14:34,bin874,35, -CTSPillarNetworkA,875,875,875,1972-05-25,87.19999999999932,87.19924,2015-01-01 00:14:35,bin875,75, -CTSPillarNetworkA,876,876,876,1972-05-26,87.29999999999932,87.29924,2015-01-01 00:14:36,bin876,35, -CTSPillarNetworkA,877,877,877,1972-05-27,87.39999999999931,87.39924,2015-01-01 00:14:37,bin877,75, -CTSPillarNetworkA,878,878,878,1972-05-28,87.4999999999993,87.49924,2015-01-01 00:14:38,bin878,35, -CTSPillarNetworkA,879,879,879,1972-05-29,87.5999999999993,87.599236,2015-01-01 00:14:39,bin879,75, -CTSPillarNetworkA,880,880,880,1972-05-30,87.69999999999929,87.699234,2015-01-01 00:14:40,bin880,35, -CTSPillarNetworkA,881,881,881,1972-05-31,87.79999999999929,87.79923,2015-01-01 00:14:41,bin881,75, -CTSPillarNetworkA,882,882,882,1972-06-01,87.89999999999928,87.89923,2015-01-01 00:14:42,bin882,35, -CTSPillarNetworkA,883,883,883,1972-06-02,87.99999999999928,87.99923,2015-01-01 00:14:43,bin883,75, -CTSPillarNetworkA,884,884,884,1972-06-03,88.09999999999927,88.09923,2015-01-01 00:14:44,bin884,35, -CTSPillarNetworkA,885,885,885,1972-06-04,88.19999999999926,88.19923,2015-01-01 00:14:45,bin885,75, -CTSPillarNetworkA,886,886,886,1972-06-05,88.29999999999926,88.299225,2015-01-01 00:14:46,bin886,35, -CTSPillarNetworkA,887,887,887,1972-06-06,88.39999999999925,88.39922,2015-01-01 00:14:47,bin887,75, -CTSPillarNetworkA,888,888,888,1972-06-07,88.49999999999925,88.49922,2015-01-01 00:14:48,bin888,35, -CTSPillarNetworkA,889,889,889,1972-06-08,88.59999999999924,88.59922,2015-01-01 00:14:49,bin889,75, -CTSPillarNetworkA,890,890,890,1972-06-09,88.69999999999924,88.69922,2015-01-01 00:14:50,bin890,35, -CTSPillarNetworkA,891,891,891,1972-06-10,88.79999999999923,88.79922,2015-01-01 00:14:51,bin891,75, -CTSPillarNetworkA,892,892,892,1972-06-11,88.89999999999922,88.899216,2015-01-01 00:14:52,bin892,35, -CTSPillarNetworkA,893,893,893,1972-06-12,88.99999999999922,88.999214,2015-01-01 00:14:53,bin893,75, -CTSPillarNetworkA,894,894,894,1972-06-13,89.09999999999921,89.09921,2015-01-01 00:14:54,bin894,35, -CTSPillarNetworkA,895,895,895,1972-06-14,89.1999999999992,89.19921,2015-01-01 00:14:55,bin895,75, -CTSPillarNetworkA,896,896,896,1972-06-15,89.2999999999992,89.29921,2015-01-01 00:14:56,bin896,35, -CTSPillarNetworkA,897,897,897,1972-06-16,89.3999999999992,89.39921,2015-01-01 00:14:57,bin897,75, -CTSPillarNetworkA,898,898,898,1972-06-17,89.49999999999919,89.49921,2015-01-01 00:14:58,bin898,35, -CTSPillarNetworkA,899,899,899,1972-06-18,89.59999999999918,89.599205,2015-01-01 00:14:59,bin899,75, -CTSPillarNetworkA,900,900,900,1972-06-19,89.69999999999918,89.6992,2015-01-01 00:15:00,bin900,35, -CTSPillarNetworkA,901,901,901,1972-06-20,89.79999999999917,89.7992,2015-01-01 00:15:01,bin901,75, -CTSPillarNetworkA,902,902,902,1972-06-21,89.89999999999917,89.8992,2015-01-01 00:15:02,bin902,35, -CTSPillarNetworkA,903,903,903,1972-06-22,89.99999999999916,89.9992,2015-01-01 00:15:03,bin903,75, -CTSPillarNetworkA,904,904,904,1972-06-23,90.09999999999916,90.0992,2015-01-01 00:15:04,bin904,35, -CTSPillarNetworkA,905,905,905,1972-06-24,90.19999999999915,90.199196,2015-01-01 00:15:05,bin905,75, -CTSPillarNetworkA,906,906,906,1972-06-25,90.29999999999914,90.299194,2015-01-01 00:15:06,bin906,35, -CTSPillarNetworkA,907,907,907,1972-06-26,90.39999999999914,90.39919,2015-01-01 00:15:07,bin907,75, -CTSPillarNetworkA,908,908,908,1972-06-27,90.49999999999913,90.49919,2015-01-01 00:15:08,bin908,35, -CTSPillarNetworkA,909,909,909,1972-06-28,90.59999999999913,90.59919,2015-01-01 00:15:09,bin909,75, -CTSPillarNetworkA,910,910,910,1972-06-29,90.69999999999912,90.69919,2015-01-01 00:15:10,bin910,35, -CTSPillarNetworkA,911,911,911,1972-06-30,90.79999999999912,90.79919,2015-01-01 00:15:11,bin911,75, -CTSPillarNetworkA,912,912,912,1972-07-01,90.89999999999911,90.899185,2015-01-01 00:15:12,bin912,35, -CTSPillarNetworkA,913,913,913,1972-07-02,90.9999999999991,90.99918,2015-01-01 00:15:13,bin913,75, -CTSPillarNetworkA,914,914,914,1972-07-03,91.0999999999991,91.09918,2015-01-01 00:15:14,bin914,35, -CTSPillarNetworkA,915,915,915,1972-07-04,91.1999999999991,91.19918,2015-01-01 00:15:15,bin915,75, -CTSPillarNetworkA,916,916,916,1972-07-05,91.29999999999909,91.29918,2015-01-01 00:15:16,bin916,35, -CTSPillarNetworkA,917,917,917,1972-07-06,91.39999999999908,91.39918,2015-01-01 00:15:17,bin917,75, -CTSPillarNetworkA,918,918,918,1972-07-07,91.49999999999908,91.499176,2015-01-01 00:15:18,bin918,35, -CTSPillarNetworkA,919,919,919,1972-07-08,91.59999999999907,91.599174,2015-01-01 00:15:19,bin919,75, -CTSPillarNetworkA,920,920,920,1972-07-09,91.69999999999906,91.69917,2015-01-01 00:15:20,bin920,35, -CTSPillarNetworkA,921,921,921,1972-07-10,91.79999999999906,91.79917,2015-01-01 00:15:21,bin921,75, -CTSPillarNetworkA,922,922,922,1972-07-11,91.89999999999905,91.89917,2015-01-01 00:15:22,bin922,35, -CTSPillarNetworkA,923,923,923,1972-07-12,91.99999999999905,91.99917,2015-01-01 00:15:23,bin923,75, -CTSPillarNetworkA,924,924,924,1972-07-13,92.09999999999904,92.09917,2015-01-01 00:15:24,bin924,35, -CTSPillarNetworkA,925,925,925,1972-07-14,92.19999999999904,92.199165,2015-01-01 00:15:25,bin925,75, -CTSPillarNetworkA,926,926,926,1972-07-15,92.29999999999903,92.299164,2015-01-01 00:15:26,bin926,35, -CTSPillarNetworkA,927,927,927,1972-07-16,92.39999999999903,92.39916,2015-01-01 00:15:27,bin927,75, -CTSPillarNetworkA,928,928,928,1972-07-17,92.49999999999902,92.49916,2015-01-01 00:15:28,bin928,35, -CTSPillarNetworkA,929,929,929,1972-07-18,92.59999999999901,92.59916,2015-01-01 00:15:29,bin929,75, -CTSPillarNetworkA,930,930,930,1972-07-19,92.69999999999901,92.69916,2015-01-01 00:15:30,bin930,35, -CTSPillarNetworkA,931,931,931,1972-07-20,92.799999999999,92.79916,2015-01-01 00:15:31,bin931,75, -CTSPillarNetworkA,932,932,932,1972-07-21,92.899999999999,92.899155,2015-01-01 00:15:32,bin932,35, -CTSPillarNetworkA,933,933,933,1972-07-22,92.99999999999899,92.99915,2015-01-01 00:15:33,bin933,75, -CTSPillarNetworkA,934,934,934,1972-07-23,93.09999999999899,93.09915,2015-01-01 00:15:34,bin934,35, -CTSPillarNetworkA,935,935,935,1972-07-24,93.19999999999898,93.19915,2015-01-01 00:15:35,bin935,75, -CTSPillarNetworkA,936,936,936,1972-07-25,93.29999999999897,93.29915,2015-01-01 00:15:36,bin936,35, -CTSPillarNetworkA,937,937,937,1972-07-26,93.39999999999897,93.39915,2015-01-01 00:15:37,bin937,75, -CTSPillarNetworkA,938,938,938,1972-07-27,93.49999999999896,93.499146,2015-01-01 00:15:38,bin938,35, -CTSPillarNetworkA,939,939,939,1972-07-28,93.59999999999896,93.599144,2015-01-01 00:15:39,bin939,75, -CTSPillarNetworkA,940,940,940,1972-07-29,93.69999999999895,93.69914,2015-01-01 00:15:40,bin940,35, -CTSPillarNetworkA,941,941,941,1972-07-30,93.79999999999895,93.79914,2015-01-01 00:15:41,bin941,75, -CTSPillarNetworkA,942,942,942,1972-07-31,93.89999999999894,93.89914,2015-01-01 00:15:42,bin942,35, -CTSPillarNetworkA,943,943,943,1972-08-01,93.99999999999893,93.99914,2015-01-01 00:15:43,bin943,75, -CTSPillarNetworkA,944,944,944,1972-08-02,94.09999999999893,94.09914,2015-01-01 00:15:44,bin944,35, -CTSPillarNetworkA,945,945,945,1972-08-03,94.19999999999892,94.199135,2015-01-01 00:15:45,bin945,75, -CTSPillarNetworkA,946,946,946,1972-08-04,94.29999999999892,94.29913,2015-01-01 00:15:46,bin946,35, -CTSPillarNetworkA,947,947,947,1972-08-05,94.39999999999891,94.39913,2015-01-01 00:15:47,bin947,75, -CTSPillarNetworkA,948,948,948,1972-08-06,94.4999999999989,94.49913,2015-01-01 00:15:48,bin948,35, -CTSPillarNetworkA,949,949,949,1972-08-07,94.5999999999989,94.59913,2015-01-01 00:15:49,bin949,75, -CTSPillarNetworkA,950,950,950,1972-08-08,94.6999999999989,94.69913,2015-01-01 00:15:50,bin950,35, -CTSPillarNetworkA,951,951,951,1972-08-09,94.79999999999889,94.799126,2015-01-01 00:15:51,bin951,75, -CTSPillarNetworkA,952,952,952,1972-08-10,94.89999999999888,94.899124,2015-01-01 00:15:52,bin952,35, -CTSPillarNetworkA,953,953,953,1972-08-11,94.99999999999888,94.99912,2015-01-01 00:15:53,bin953,75, -CTSPillarNetworkA,954,954,954,1972-08-12,95.09999999999887,95.09912,2015-01-01 00:15:54,bin954,35, -CTSPillarNetworkA,955,955,955,1972-08-13,95.19999999999887,95.19912,2015-01-01 00:15:55,bin955,75, -CTSPillarNetworkA,956,956,956,1972-08-14,95.29999999999886,95.29912,2015-01-01 00:15:56,bin956,35, -CTSPillarNetworkA,957,957,957,1972-08-15,95.39999999999885,95.39912,2015-01-01 00:15:57,bin957,75, -CTSPillarNetworkA,958,958,958,1972-08-16,95.49999999999885,95.499115,2015-01-01 00:15:58,bin958,35, -CTSPillarNetworkA,959,959,959,1972-08-17,95.59999999999884,95.59911,2015-01-01 00:15:59,bin959,75, -CTSPillarNetworkA,960,960,960,1972-08-18,95.69999999999884,95.69911,2015-01-01 00:16:00,bin960,35, -CTSPillarNetworkA,961,961,961,1972-08-19,95.79999999999883,95.79911,2015-01-01 00:16:01,bin961,75, -CTSPillarNetworkA,962,962,962,1972-08-20,95.89999999999883,95.89911,2015-01-01 00:16:02,bin962,35, -CTSPillarNetworkA,963,963,963,1972-08-21,95.99999999999882,95.99911,2015-01-01 00:16:03,bin963,75, -CTSPillarNetworkA,964,964,964,1972-08-22,96.09999999999881,96.099106,2015-01-01 00:16:04,bin964,35, -CTSPillarNetworkA,965,965,965,1972-08-23,96.19999999999881,96.199104,2015-01-01 00:16:05,bin965,75, -CTSPillarNetworkA,966,966,966,1972-08-24,96.2999999999988,96.2991,2015-01-01 00:16:06,bin966,35, -CTSPillarNetworkA,967,967,967,1972-08-25,96.3999999999988,96.3991,2015-01-01 00:16:07,bin967,75, -CTSPillarNetworkA,968,968,968,1972-08-26,96.49999999999879,96.4991,2015-01-01 00:16:08,bin968,35, -CTSPillarNetworkA,969,969,969,1972-08-27,96.59999999999879,96.5991,2015-01-01 00:16:09,bin969,75, -CTSPillarNetworkA,970,970,970,1972-08-28,96.69999999999878,96.6991,2015-01-01 00:16:10,bin970,35, -CTSPillarNetworkA,971,971,971,1972-08-29,96.79999999999878,96.799095,2015-01-01 00:16:11,bin971,75, -CTSPillarNetworkA,972,972,972,1972-08-30,96.89999999999877,96.89909,2015-01-01 00:16:12,bin972,35, -CTSPillarNetworkA,973,973,973,1972-08-31,96.99999999999876,96.99909,2015-01-01 00:16:13,bin973,75, -CTSPillarNetworkA,974,974,974,1972-09-01,97.09999999999876,97.09909,2015-01-01 00:16:14,bin974,35, -CTSPillarNetworkA,975,975,975,1972-09-02,97.19999999999875,97.19909,2015-01-01 00:16:15,bin975,75, -CTSPillarNetworkA,976,976,976,1972-09-03,97.29999999999875,97.29909,2015-01-01 00:16:16,bin976,35, -CTSPillarNetworkA,977,977,977,1972-09-04,97.39999999999874,97.399086,2015-01-01 00:16:17,bin977,75, -CTSPillarNetworkA,978,978,978,1972-09-05,97.49999999999874,97.499084,2015-01-01 00:16:18,bin978,35, -CTSPillarNetworkA,979,979,979,1972-09-06,97.59999999999873,97.59908,2015-01-01 00:16:19,bin979,75, -CTSPillarNetworkA,980,980,980,1972-09-07,97.69999999999872,97.69908,2015-01-01 00:16:20,bin980,35, -CTSPillarNetworkA,981,981,981,1972-09-08,97.79999999999872,97.79908,2015-01-01 00:16:21,bin981,75, -CTSPillarNetworkA,982,982,982,1972-09-09,97.89999999999871,97.89908,2015-01-01 00:16:22,bin982,35, -CTSPillarNetworkA,983,983,983,1972-09-10,97.9999999999987,97.99908,2015-01-01 00:16:23,bin983,75, -CTSPillarNetworkA,984,984,984,1972-09-11,98.0999999999987,98.099075,2015-01-01 00:16:24,bin984,35, -CTSPillarNetworkA,985,985,985,1972-09-12,98.1999999999987,98.19907,2015-01-01 00:16:25,bin985,75, -CTSPillarNetworkA,986,986,986,1972-09-13,98.29999999999869,98.29907,2015-01-01 00:16:26,bin986,35, -CTSPillarNetworkA,987,987,987,1972-09-14,98.39999999999868,98.39907,2015-01-01 00:16:27,bin987,75, -CTSPillarNetworkA,988,988,988,1972-09-15,98.49999999999868,98.49907,2015-01-01 00:16:28,bin988,35, -CTSPillarNetworkA,989,989,989,1972-09-16,98.59999999999867,98.59907,2015-01-01 00:16:29,bin989,75, -CTSPillarNetworkA,990,990,990,1972-09-17,98.69999999999867,98.699066,2015-01-01 00:16:30,bin990,35, -CTSPillarNetworkA,991,991,991,1972-09-18,98.79999999999866,98.799065,2015-01-01 00:16:31,bin991,75, -CTSPillarNetworkA,992,992,992,1972-09-19,98.89999999999866,98.89906,2015-01-01 00:16:32,bin992,35, -CTSPillarNetworkA,993,993,993,1972-09-20,98.99999999999865,98.99906,2015-01-01 00:16:33,bin993,75, -CTSPillarNetworkA,994,994,994,1972-09-21,99.09999999999864,99.09906,2015-01-01 00:16:34,bin994,35, -CTSPillarNetworkA,995,995,995,1972-09-22,99.19999999999864,99.19906,2015-01-01 00:16:35,bin995,75, -CTSPillarNetworkA,996,996,996,1972-09-23,99.29999999999863,99.29906,2015-01-01 00:16:36,bin996,35, -CTSPillarNetworkA,997,997,997,1972-09-24,99.39999999999863,99.399055,2015-01-01 00:16:37,bin997,75, -CTSPillarNetworkA,998,998,998,1972-09-25,99.49999999999862,99.499054,2015-01-01 00:16:38,bin998,35, -CTSPillarNetworkA,999,999,999,1972-09-26,99.59999999999862,99.59905,2015-01-01 00:16:39,bin999,75, -CTSPillarNetworkA,1000,1000,1000,1972-09-27,99.69999999999861,99.69905,2015-01-01 00:16:40,bin1000,35, -CTSPillarNetworkA,1001,1001,1001,1972-09-28,99.7999999999986,99.79905,2015-01-01 00:16:41,bin1001,75, -CTSPillarNetworkA,1002,1002,1002,1972-09-29,99.8999999999986,99.89905,2015-01-01 00:16:42,bin1002,35, -CTSPillarNetworkA,1003,1003,1003,1972-09-30,99.9999999999986,99.99905,2015-01-01 00:16:43,bin1003,75, -CTSPillarNetworkA,1004,1004,1004,1972-10-01,100.09999999999859,100.099045,2015-01-01 00:16:44,bin1004,35, -CTSPillarNetworkA,1005,1005,1005,1972-10-02,100.19999999999858,100.19904,2015-01-01 00:16:45,bin1005,75, -CTSPillarNetworkA,1006,1006,1006,1972-10-03,100.29999999999858,100.29904,2015-01-01 00:16:46,bin1006,35, -CTSPillarNetworkA,1007,1007,1007,1972-10-04,100.39999999999857,100.39904,2015-01-01 00:16:47,bin1007,75, -CTSPillarNetworkA,1008,1008,1008,1972-10-05,100.49999999999856,100.49904,2015-01-01 00:16:48,bin1008,35, -CTSPillarNetworkA,1009,1009,1009,1972-10-06,100.59999999999856,100.59904,2015-01-01 00:16:49,bin1009,75, -CTSPillarNetworkA,1010,1010,1010,1972-10-07,100.69999999999855,100.699036,2015-01-01 00:16:50,bin1010,35, -CTSPillarNetworkA,1011,1011,1011,1972-10-08,100.79999999999855,100.799034,2015-01-01 00:16:51,bin1011,75, -CTSPillarNetworkA,1012,1012,1012,1972-10-09,100.89999999999854,100.89903,2015-01-01 00:16:52,bin1012,35, -CTSPillarNetworkA,1013,1013,1013,1972-10-10,100.99999999999854,100.99903,2015-01-01 00:16:53,bin1013,75, -CTSPillarNetworkA,1014,1014,1014,1972-10-11,101.09999999999853,101.09903,2015-01-01 00:16:54,bin1014,35, -CTSPillarNetworkA,1015,1015,1015,1972-10-12,101.19999999999852,101.19903,2015-01-01 00:16:55,bin1015,75, -CTSPillarNetworkA,1016,1016,1016,1972-10-13,101.29999999999852,101.29903,2015-01-01 00:16:56,bin1016,35, -CTSPillarNetworkA,1017,1017,1017,1972-10-14,101.39999999999851,101.399025,2015-01-01 00:16:57,bin1017,75, -CTSPillarNetworkA,1018,1018,1018,1972-10-15,101.49999999999851,101.49902,2015-01-01 00:16:58,bin1018,35, -CTSPillarNetworkA,1019,1019,1019,1972-10-16,101.5999999999985,101.59902,2015-01-01 00:16:59,bin1019,75, -CTSPillarNetworkA,1020,1020,1020,1972-10-17,101.6999999999985,101.69902,2015-01-01 00:17:00,bin1020,35, -CTSPillarNetworkA,1021,1021,1021,1972-10-18,101.79999999999849,101.79902,2015-01-01 00:17:01,bin1021,75, -CTSPillarNetworkA,1022,1022,1022,1972-10-19,101.89999999999849,101.89902,2015-01-01 00:17:02,bin1022,35, -CTSPillarNetworkA,1023,1023,1023,1972-10-20,101.99999999999848,101.999016,2015-01-01 00:17:03,bin1023,75, -CTSPillarNetworkA,1024,1024,1024,1972-10-21,102.09999999999847,102.099014,2015-01-01 00:17:04,bin1024,35, -CTSPillarNetworkA,1025,1025,1025,1972-10-22,102.19999999999847,102.19901,2015-01-01 00:17:05,bin1025,75, -CTSPillarNetworkA,1026,1026,1026,1972-10-23,102.29999999999846,102.29901,2015-01-01 00:17:06,bin1026,35, -CTSPillarNetworkA,1027,1027,1027,1972-10-24,102.39999999999846,102.39901,2015-01-01 00:17:07,bin1027,75, -CTSPillarNetworkA,1028,1028,1028,1972-10-25,102.49999999999845,102.49901,2015-01-01 00:17:08,bin1028,35, -CTSPillarNetworkA,1029,1029,1029,1972-10-26,102.59999999999845,102.59901,2015-01-01 00:17:09,bin1029,75, -CTSPillarNetworkA,1030,1030,1030,1972-10-27,102.69999999999844,102.699005,2015-01-01 00:17:10,bin1030,35, -CTSPillarNetworkA,1031,1031,1031,1972-10-28,102.79999999999843,102.799,2015-01-01 00:17:11,bin1031,75, -CTSPillarNetworkA,1032,1032,1032,1972-10-29,102.89999999999843,102.899,2015-01-01 00:17:12,bin1032,35, -CTSPillarNetworkA,1033,1033,1033,1972-10-30,102.99999999999842,102.999,2015-01-01 00:17:13,bin1033,75, -CTSPillarNetworkA,1034,1034,1034,1972-10-31,103.09999999999842,103.099,2015-01-01 00:17:14,bin1034,35, -CTSPillarNetworkA,1035,1035,1035,1972-11-01,103.19999999999841,103.199,2015-01-01 00:17:15,bin1035,75, -CTSPillarNetworkA,1036,1036,1036,1972-11-02,103.2999999999984,103.298996,2015-01-01 00:17:16,bin1036,35, -CTSPillarNetworkA,1037,1037,1037,1972-11-03,103.3999999999984,103.398994,2015-01-01 00:17:17,bin1037,75, -CTSPillarNetworkA,1038,1038,1038,1972-11-04,103.4999999999984,103.49899,2015-01-01 00:17:18,bin1038,35, -CTSPillarNetworkA,1039,1039,1039,1972-11-05,103.59999999999839,103.59899,2015-01-01 00:17:19,bin1039,75, -CTSPillarNetworkA,1040,1040,1040,1972-11-06,103.69999999999838,103.69899,2015-01-01 00:17:20,bin1040,35, -CTSPillarNetworkA,1041,1041,1041,1972-11-07,103.79999999999838,103.79899,2015-01-01 00:17:21,bin1041,75, -CTSPillarNetworkA,1042,1042,1042,1972-11-08,103.89999999999837,103.89899,2015-01-01 00:17:22,bin1042,35, -CTSPillarNetworkA,1043,1043,1043,1972-11-09,103.99999999999837,103.998985,2015-01-01 00:17:23,bin1043,75, -CTSPillarNetworkA,1044,1044,1044,1972-11-10,104.09999999999836,104.09898,2015-01-01 00:17:24,bin1044,35, -CTSPillarNetworkA,1045,1045,1045,1972-11-11,104.19999999999835,104.19898,2015-01-01 00:17:25,bin1045,75, -CTSPillarNetworkA,1046,1046,1046,1972-11-12,104.29999999999835,104.29898,2015-01-01 00:17:26,bin1046,35, -CTSPillarNetworkA,1047,1047,1047,1972-11-13,104.39999999999834,104.39898,2015-01-01 00:17:27,bin1047,75, -CTSPillarNetworkA,1048,1048,1048,1972-11-14,104.49999999999834,104.49898,2015-01-01 00:17:28,bin1048,35, -CTSPillarNetworkA,1049,1049,1049,1972-11-15,104.59999999999833,104.598976,2015-01-01 00:17:29,bin1049,75, -CTSPillarNetworkA,1050,1050,1050,1972-11-16,104.69999999999833,104.698975,2015-01-01 00:17:30,bin1050,35, -CTSPillarNetworkA,1051,1051,1051,1972-11-17,104.79999999999832,104.79897,2015-01-01 00:17:31,bin1051,75, -CTSPillarNetworkA,1052,1052,1052,1972-11-18,104.89999999999831,104.89897,2015-01-01 00:17:32,bin1052,35, -CTSPillarNetworkA,1053,1053,1053,1972-11-19,104.99999999999831,104.99897,2015-01-01 00:17:33,bin1053,75, -CTSPillarNetworkA,1054,1054,1054,1972-11-20,105.0999999999983,105.09897,2015-01-01 00:17:34,bin1054,35, -CTSPillarNetworkA,1055,1055,1055,1972-11-21,105.1999999999983,105.19897,2015-01-01 00:17:35,bin1055,75, -CTSPillarNetworkA,1056,1056,1056,1972-11-22,105.29999999999829,105.298965,2015-01-01 00:17:36,bin1056,35, -CTSPillarNetworkA,1057,1057,1057,1972-11-23,105.39999999999829,105.398964,2015-01-01 00:17:37,bin1057,75, -CTSPillarNetworkA,1058,1058,1058,1972-11-24,105.49999999999828,105.49896,2015-01-01 00:17:38,bin1058,35, -CTSPillarNetworkA,1059,1059,1059,1972-11-25,105.59999999999827,105.59896,2015-01-01 00:17:39,bin1059,75, -CTSPillarNetworkA,1060,1060,1060,1972-11-26,105.69999999999827,105.69896,2015-01-01 00:17:40,bin1060,35, -CTSPillarNetworkA,1061,1061,1061,1972-11-27,105.79999999999826,105.79896,2015-01-01 00:17:41,bin1061,75, -CTSPillarNetworkA,1062,1062,1062,1972-11-28,105.89999999999826,105.89896,2015-01-01 00:17:42,bin1062,35, -CTSPillarNetworkA,1063,1063,1063,1972-11-29,105.99999999999825,105.998955,2015-01-01 00:17:43,bin1063,75, -CTSPillarNetworkA,1064,1064,1064,1972-11-30,106.09999999999825,106.09895,2015-01-01 00:17:44,bin1064,35, -CTSPillarNetworkA,1065,1065,1065,1972-12-01,106.19999999999824,106.19895,2015-01-01 00:17:45,bin1065,75, -CTSPillarNetworkA,1066,1066,1066,1972-12-02,106.29999999999824,106.29895,2015-01-01 00:17:46,bin1066,35, -CTSPillarNetworkA,1067,1067,1067,1972-12-03,106.39999999999823,106.39895,2015-01-01 00:17:47,bin1067,75, -CTSPillarNetworkA,1068,1068,1068,1972-12-04,106.49999999999822,106.49895,2015-01-01 00:17:48,bin1068,35, -CTSPillarNetworkA,1069,1069,1069,1972-12-05,106.59999999999822,106.598946,2015-01-01 00:17:49,bin1069,75, -CTSPillarNetworkA,1070,1070,1070,1972-12-06,106.69999999999821,106.698944,2015-01-01 00:17:50,bin1070,35, -CTSPillarNetworkA,1071,1071,1071,1972-12-07,106.7999999999982,106.79894,2015-01-01 00:17:51,bin1071,75, -CTSPillarNetworkA,1072,1072,1072,1972-12-08,106.8999999999982,106.89894,2015-01-01 00:17:52,bin1072,35, -CTSPillarNetworkA,1073,1073,1073,1972-12-09,106.9999999999982,106.99894,2015-01-01 00:17:53,bin1073,75, -CTSPillarNetworkA,1074,1074,1074,1972-12-10,107.09999999999819,107.09894,2015-01-01 00:17:54,bin1074,35, -CTSPillarNetworkA,1075,1075,1075,1972-12-11,107.19999999999818,107.19894,2015-01-01 00:17:55,bin1075,75, -CTSPillarNetworkA,1076,1076,1076,1972-12-12,107.29999999999818,107.298935,2015-01-01 00:17:56,bin1076,35, -CTSPillarNetworkA,1077,1077,1077,1972-12-13,107.39999999999817,107.39893,2015-01-01 00:17:57,bin1077,75, -CTSPillarNetworkA,1078,1078,1078,1972-12-14,107.49999999999817,107.49893,2015-01-01 00:17:58,bin1078,35, -CTSPillarNetworkA,1079,1079,1079,1972-12-15,107.59999999999816,107.59893,2015-01-01 00:17:59,bin1079,75, -CTSPillarNetworkA,1080,1080,1080,1972-12-16,107.69999999999816,107.69893,2015-01-01 00:18:00,bin1080,35, -CTSPillarNetworkA,1081,1081,1081,1972-12-17,107.79999999999815,107.79893,2015-01-01 00:18:01,bin1081,75, -CTSPillarNetworkA,1082,1082,1082,1972-12-18,107.89999999999814,107.898926,2015-01-01 00:18:02,bin1082,35, -CTSPillarNetworkA,1083,1083,1083,1972-12-19,107.99999999999814,107.998924,2015-01-01 00:18:03,bin1083,75, -CTSPillarNetworkA,1084,1084,1084,1972-12-20,108.09999999999813,108.09892,2015-01-01 00:18:04,bin1084,35, -CTSPillarNetworkA,1085,1085,1085,1972-12-21,108.19999999999813,108.19892,2015-01-01 00:18:05,bin1085,75, -CTSPillarNetworkA,1086,1086,1086,1972-12-22,108.29999999999812,108.29892,2015-01-01 00:18:06,bin1086,35, -CTSPillarNetworkA,1087,1087,1087,1972-12-23,108.39999999999812,108.39892,2015-01-01 00:18:07,bin1087,75, -CTSPillarNetworkA,1088,1088,1088,1972-12-24,108.49999999999811,108.49892,2015-01-01 00:18:08,bin1088,35, -CTSPillarNetworkA,1089,1089,1089,1972-12-25,108.5999999999981,108.598915,2015-01-01 00:18:09,bin1089,75, -CTSPillarNetworkA,1090,1090,1090,1972-12-26,108.6999999999981,108.69891,2015-01-01 00:18:10,bin1090,35, -CTSPillarNetworkA,1091,1091,1091,1972-12-27,108.7999999999981,108.79891,2015-01-01 00:18:11,bin1091,75, -CTSPillarNetworkA,1092,1092,1092,1972-12-28,108.89999999999809,108.89891,2015-01-01 00:18:12,bin1092,35, -CTSPillarNetworkA,1093,1093,1093,1972-12-29,108.99999999999808,108.99891,2015-01-01 00:18:13,bin1093,75, -CTSPillarNetworkA,1094,1094,1094,1972-12-30,109.09999999999808,109.09891,2015-01-01 00:18:14,bin1094,35, -CTSPillarNetworkA,1095,1095,1095,1972-12-31,109.19999999999807,109.198906,2015-01-01 00:18:15,bin1095,75, -CTSPillarNetworkA,1096,1096,1096,1973-01-01,109.29999999999806,109.298904,2015-01-01 00:18:16,bin1096,35, -CTSPillarNetworkA,1097,1097,1097,1973-01-02,109.39999999999806,109.3989,2015-01-01 00:18:17,bin1097,75, -CTSPillarNetworkA,1098,1098,1098,1973-01-03,109.49999999999805,109.4989,2015-01-01 00:18:18,bin1098,35, -CTSPillarNetworkA,1099,1099,1099,1973-01-04,109.59999999999805,109.5989,2015-01-01 00:18:19,bin1099,75, -CTSPillarNetworkA,1100,1100,1100,1973-01-05,109.69999999999804,109.6989,2015-01-01 00:18:20,bin1100,35, -CTSPillarNetworkA,1101,1101,1101,1973-01-06,109.79999999999804,109.7989,2015-01-01 00:18:21,bin1101,75, -CTSPillarNetworkA,1102,1102,1102,1973-01-07,109.89999999999803,109.898895,2015-01-01 00:18:22,bin1102,35, -CTSPillarNetworkA,1103,1103,1103,1973-01-08,109.99999999999802,109.99889,2015-01-01 00:18:23,bin1103,75, -CTSPillarNetworkA,1104,1104,1104,1973-01-09,110.09999999999802,110.09889,2015-01-01 00:18:24,bin1104,35, -CTSPillarNetworkA,1105,1105,1105,1973-01-10,110.19999999999801,110.19889,2015-01-01 00:18:25,bin1105,75, -CTSPillarNetworkA,1106,1106,1106,1973-01-11,110.29999999999801,110.29889,2015-01-01 00:18:26,bin1106,35, -CTSPillarNetworkA,1107,1107,1107,1973-01-12,110.399999999998,110.39889,2015-01-01 00:18:27,bin1107,75, -CTSPillarNetworkA,1108,1108,1108,1973-01-13,110.499999999998,110.498886,2015-01-01 00:18:28,bin1108,35, -CTSPillarNetworkA,1109,1109,1109,1973-01-14,110.59999999999799,110.598885,2015-01-01 00:18:29,bin1109,75, -CTSPillarNetworkA,1110,1110,1110,1973-01-15,110.69999999999798,110.69888,2015-01-01 00:18:30,bin1110,35, -CTSPillarNetworkA,1111,1111,1111,1973-01-16,110.79999999999798,110.79888,2015-01-01 00:18:31,bin1111,75, -CTSPillarNetworkA,1112,1112,1112,1973-01-17,110.89999999999797,110.89888,2015-01-01 00:18:32,bin1112,35, -CTSPillarNetworkA,1113,1113,1113,1973-01-18,110.99999999999797,110.99888,2015-01-01 00:18:33,bin1113,75, -CTSPillarNetworkA,1114,1114,1114,1973-01-19,111.09999999999796,111.09888,2015-01-01 00:18:34,bin1114,35, -CTSPillarNetworkA,1115,1115,1115,1973-01-20,111.19999999999796,111.198875,2015-01-01 00:18:35,bin1115,75, -CTSPillarNetworkA,1116,1116,1116,1973-01-21,111.29999999999795,111.298874,2015-01-01 00:18:36,bin1116,35, -CTSPillarNetworkA,1117,1117,1117,1973-01-22,111.39999999999795,111.39887,2015-01-01 00:18:37,bin1117,75, -CTSPillarNetworkA,1118,1118,1118,1973-01-23,111.49999999999794,111.49887,2015-01-01 00:18:38,bin1118,35, -CTSPillarNetworkA,1119,1119,1119,1973-01-24,111.59999999999793,111.59887,2015-01-01 00:18:39,bin1119,75, -CTSPillarNetworkA,1120,1120,1120,1973-01-25,111.69999999999793,111.69887,2015-01-01 00:18:40,bin1120,35, -CTSPillarNetworkA,1121,1121,1121,1973-01-26,111.79999999999792,111.79887,2015-01-01 00:18:41,bin1121,75, -CTSPillarNetworkA,1122,1122,1122,1973-01-27,111.89999999999792,111.898865,2015-01-01 00:18:42,bin1122,35, -CTSPillarNetworkA,1123,1123,1123,1973-01-28,111.99999999999791,111.99886,2015-01-01 00:18:43,bin1123,75, -CTSPillarNetworkA,1124,1124,1124,1973-01-29,112.0999999999979,112.09886,2015-01-01 00:18:44,bin1124,35, -CTSPillarNetworkA,1125,1125,1125,1973-01-30,112.1999999999979,112.19886,2015-01-01 00:18:45,bin1125,75, -CTSPillarNetworkA,1126,1126,1126,1973-01-31,112.2999999999979,112.29886,2015-01-01 00:18:46,bin1126,35, -CTSPillarNetworkA,1127,1127,1127,1973-02-01,112.39999999999789,112.39886,2015-01-01 00:18:47,bin1127,75, -CTSPillarNetworkA,1128,1128,1128,1973-02-02,112.49999999999788,112.498856,2015-01-01 00:18:48,bin1128,35, -CTSPillarNetworkA,1129,1129,1129,1973-02-03,112.59999999999788,112.598854,2015-01-01 00:18:49,bin1129,75, -CTSPillarNetworkA,1130,1130,1130,1973-02-04,112.69999999999787,112.69885,2015-01-01 00:18:50,bin1130,35, -CTSPillarNetworkA,1131,1131,1131,1973-02-05,112.79999999999787,112.79885,2015-01-01 00:18:51,bin1131,75, -CTSPillarNetworkA,1132,1132,1132,1973-02-06,112.89999999999786,112.89885,2015-01-01 00:18:52,bin1132,35, -CTSPillarNetworkA,1133,1133,1133,1973-02-07,112.99999999999785,112.99885,2015-01-01 00:18:53,bin1133,75, -CTSPillarNetworkA,1134,1134,1134,1973-02-08,113.09999999999785,113.09885,2015-01-01 00:18:54,bin1134,35, -CTSPillarNetworkA,1135,1135,1135,1973-02-09,113.19999999999784,113.198845,2015-01-01 00:18:55,bin1135,75, -CTSPillarNetworkA,1136,1136,1136,1973-02-10,113.29999999999784,113.29884,2015-01-01 00:18:56,bin1136,35, -CTSPillarNetworkA,1137,1137,1137,1973-02-11,113.39999999999783,113.39884,2015-01-01 00:18:57,bin1137,75, -CTSPillarNetworkA,1138,1138,1138,1973-02-12,113.49999999999783,113.49884,2015-01-01 00:18:58,bin1138,35, -CTSPillarNetworkA,1139,1139,1139,1973-02-13,113.59999999999782,113.59884,2015-01-01 00:18:59,bin1139,75, -CTSPillarNetworkA,1140,1140,1140,1973-02-14,113.69999999999781,113.69884,2015-01-01 00:19:00,bin1140,35, -CTSPillarNetworkA,1141,1141,1141,1973-02-15,113.79999999999781,113.798836,2015-01-01 00:19:01,bin1141,75, -CTSPillarNetworkA,1142,1142,1142,1973-02-16,113.8999999999978,113.898834,2015-01-01 00:19:02,bin1142,35, -CTSPillarNetworkA,1143,1143,1143,1973-02-17,113.9999999999978,113.99883,2015-01-01 00:19:03,bin1143,75, -CTSPillarNetworkA,1144,1144,1144,1973-02-18,114.09999999999779,114.09883,2015-01-01 00:19:04,bin1144,35, -CTSPillarNetworkA,1145,1145,1145,1973-02-19,114.19999999999779,114.19883,2015-01-01 00:19:05,bin1145,75, -CTSPillarNetworkA,1146,1146,1146,1973-02-20,114.29999999999778,114.29883,2015-01-01 00:19:06,bin1146,35, -CTSPillarNetworkA,1147,1147,1147,1973-02-21,114.39999999999777,114.39883,2015-01-01 00:19:07,bin1147,75, -CTSPillarNetworkA,1148,1148,1148,1973-02-22,114.49999999999777,114.498825,2015-01-01 00:19:08,bin1148,35, -CTSPillarNetworkA,1149,1149,1149,1973-02-23,114.59999999999776,114.59882,2015-01-01 00:19:09,bin1149,75, -CTSPillarNetworkA,1150,1150,1150,1973-02-24,114.69999999999776,114.69882,2015-01-01 00:19:10,bin1150,35, -CTSPillarNetworkA,1151,1151,1151,1973-02-25,114.79999999999775,114.79882,2015-01-01 00:19:11,bin1151,75, -CTSPillarNetworkA,1152,1152,1152,1973-02-26,114.89999999999775,114.89882,2015-01-01 00:19:12,bin1152,35, -CTSPillarNetworkA,1153,1153,1153,1973-02-27,114.99999999999774,114.99882,2015-01-01 00:19:13,bin1153,75, -CTSPillarNetworkA,1154,1154,1154,1973-02-28,115.09999999999773,115.098816,2015-01-01 00:19:14,bin1154,35, -CTSPillarNetworkA,1155,1155,1155,1973-03-01,115.19999999999773,115.198814,2015-01-01 00:19:15,bin1155,75, -CTSPillarNetworkA,1156,1156,1156,1973-03-02,115.29999999999772,115.29881,2015-01-01 00:19:16,bin1156,35, -CTSPillarNetworkA,1157,1157,1157,1973-03-03,115.39999999999772,115.39881,2015-01-01 00:19:17,bin1157,75, -CTSPillarNetworkA,1158,1158,1158,1973-03-04,115.49999999999771,115.49881,2015-01-01 00:19:18,bin1158,35, -CTSPillarNetworkA,1159,1159,1159,1973-03-05,115.5999999999977,115.59881,2015-01-01 00:19:19,bin1159,75, -CTSPillarNetworkA,1160,1160,1160,1973-03-06,115.6999999999977,115.69881,2015-01-01 00:19:20,bin1160,35, -CTSPillarNetworkA,1161,1161,1161,1973-03-07,115.7999999999977,115.798805,2015-01-01 00:19:21,bin1161,75, -CTSPillarNetworkA,1162,1162,1162,1973-03-08,115.89999999999769,115.8988,2015-01-01 00:19:22,bin1162,35, -CTSPillarNetworkA,1163,1163,1163,1973-03-09,115.99999999999768,115.9988,2015-01-01 00:19:23,bin1163,75, -CTSPillarNetworkA,1164,1164,1164,1973-03-10,116.09999999999768,116.0988,2015-01-01 00:19:24,bin1164,35, -CTSPillarNetworkA,1165,1165,1165,1973-03-11,116.19999999999767,116.1988,2015-01-01 00:19:25,bin1165,75, -CTSPillarNetworkA,1166,1166,1166,1973-03-12,116.29999999999767,116.2988,2015-01-01 00:19:26,bin1166,35, -CTSPillarNetworkA,1167,1167,1167,1973-03-13,116.39999999999766,116.398796,2015-01-01 00:19:27,bin1167,75, -CTSPillarNetworkA,1168,1168,1168,1973-03-14,116.49999999999766,116.498795,2015-01-01 00:19:28,bin1168,35, -CTSPillarNetworkA,1169,1169,1169,1973-03-15,116.59999999999765,116.59879,2015-01-01 00:19:29,bin1169,75, -CTSPillarNetworkA,1170,1170,1170,1973-03-16,116.69999999999764,116.69879,2015-01-01 00:19:30,bin1170,35, -CTSPillarNetworkA,1171,1171,1171,1973-03-17,116.79999999999764,116.79879,2015-01-01 00:19:31,bin1171,75, -CTSPillarNetworkA,1172,1172,1172,1973-03-18,116.89999999999763,116.89879,2015-01-01 00:19:32,bin1172,35, -CTSPillarNetworkA,1173,1173,1173,1973-03-19,116.99999999999763,116.99879,2015-01-01 00:19:33,bin1173,75, -CTSPillarNetworkA,1174,1174,1174,1973-03-20,117.09999999999762,117.098785,2015-01-01 00:19:34,bin1174,35, -CTSPillarNetworkA,1175,1175,1175,1973-03-21,117.19999999999762,117.198784,2015-01-01 00:19:35,bin1175,75, -CTSPillarNetworkA,1176,1176,1176,1973-03-22,117.29999999999761,117.29878,2015-01-01 00:19:36,bin1176,35, -CTSPillarNetworkA,1177,1177,1177,1973-03-23,117.3999999999976,117.39878,2015-01-01 00:19:37,bin1177,75, -CTSPillarNetworkA,1178,1178,1178,1973-03-24,117.4999999999976,117.49878,2015-01-01 00:19:38,bin1178,35, -CTSPillarNetworkA,1179,1179,1179,1973-03-25,117.59999999999759,117.59878,2015-01-01 00:19:39,bin1179,75, -CTSPillarNetworkA,1180,1180,1180,1973-03-26,117.69999999999759,117.69878,2015-01-01 00:19:40,bin1180,35, -CTSPillarNetworkA,1181,1181,1181,1973-03-27,117.79999999999758,117.798775,2015-01-01 00:19:41,bin1181,75, -CTSPillarNetworkA,1182,1182,1182,1973-03-28,117.89999999999758,117.89877,2015-01-01 00:19:42,bin1182,35, -CTSPillarNetworkA,1183,1183,1183,1973-03-29,117.99999999999757,117.99877,2015-01-01 00:19:43,bin1183,75, -CTSPillarNetworkA,1184,1184,1184,1973-03-30,118.09999999999756,118.09877,2015-01-01 00:19:44,bin1184,35, -CTSPillarNetworkA,1185,1185,1185,1973-03-31,118.19999999999756,118.19877,2015-01-01 00:19:45,bin1185,75, -CTSPillarNetworkA,1186,1186,1186,1973-04-01,118.29999999999755,118.29877,2015-01-01 00:19:46,bin1186,35, -CTSPillarNetworkA,1187,1187,1187,1973-04-02,118.39999999999755,118.398766,2015-01-01 00:19:47,bin1187,75, -CTSPillarNetworkA,1188,1188,1188,1973-04-03,118.49999999999754,118.498764,2015-01-01 00:19:48,bin1188,35, -CTSPillarNetworkA,1189,1189,1189,1973-04-04,118.59999999999754,118.59876,2015-01-01 00:19:49,bin1189,75, -CTSPillarNetworkA,1190,1190,1190,1973-04-05,118.69999999999753,118.69876,2015-01-01 00:19:50,bin1190,35, -CTSPillarNetworkA,1191,1191,1191,1973-04-06,118.79999999999752,118.79876,2015-01-01 00:19:51,bin1191,75, -CTSPillarNetworkA,1192,1192,1192,1973-04-07,118.89999999999752,118.89876,2015-01-01 00:19:52,bin1192,35, -CTSPillarNetworkA,1193,1193,1193,1973-04-08,118.99999999999751,118.99876,2015-01-01 00:19:53,bin1193,75, -CTSPillarNetworkA,1194,1194,1194,1973-04-09,119.09999999999751,119.098755,2015-01-01 00:19:54,bin1194,35, -CTSPillarNetworkA,1195,1195,1195,1973-04-10,119.1999999999975,119.19875,2015-01-01 00:19:55,bin1195,75, -CTSPillarNetworkA,1196,1196,1196,1973-04-11,119.2999999999975,119.29875,2015-01-01 00:19:56,bin1196,35, -CTSPillarNetworkA,1197,1197,1197,1973-04-12,119.39999999999749,119.39875,2015-01-01 00:19:57,bin1197,75, -CTSPillarNetworkA,1198,1198,1198,1973-04-13,119.49999999999748,119.49875,2015-01-01 00:19:58,bin1198,35, -CTSPillarNetworkA,1199,1199,1199,1973-04-14,119.59999999999748,119.59875,2015-01-01 00:19:59,bin1199,75, -CTSPillarNetworkA,1200,1200,1200,1973-04-15,119.69999999999747,119.698746,2015-01-01 00:20:00,bin1200,35, -CTSPillarNetworkA,1201,1201,1201,1973-04-16,119.79999999999747,119.798744,2015-01-01 00:20:01,bin1201,75, -CTSPillarNetworkA,1202,1202,1202,1973-04-17,119.89999999999746,119.89874,2015-01-01 00:20:02,bin1202,35, -CTSPillarNetworkA,1203,1203,1203,1973-04-18,119.99999999999746,119.99874,2015-01-01 00:20:03,bin1203,75, -CTSPillarNetworkA,1204,1204,1204,1973-04-19,120.09999999999745,120.09874,2015-01-01 00:20:04,bin1204,35, -CTSPillarNetworkA,1205,1205,1205,1973-04-20,120.19999999999744,120.19874,2015-01-01 00:20:05,bin1205,75, -CTSPillarNetworkA,1206,1206,1206,1973-04-21,120.29999999999744,120.29874,2015-01-01 00:20:06,bin1206,35, -CTSPillarNetworkA,1207,1207,1207,1973-04-22,120.39999999999743,120.398735,2015-01-01 00:20:07,bin1207,75, -CTSPillarNetworkA,1208,1208,1208,1973-04-23,120.49999999999743,120.49873,2015-01-01 00:20:08,bin1208,35, -CTSPillarNetworkA,1209,1209,1209,1973-04-24,120.59999999999742,120.59873,2015-01-01 00:20:09,bin1209,75, -CTSPillarNetworkA,1210,1210,1210,1973-04-25,120.69999999999742,120.69873,2015-01-01 00:20:10,bin1210,35, -CTSPillarNetworkA,1211,1211,1211,1973-04-26,120.79999999999741,120.79873,2015-01-01 00:20:11,bin1211,75, -CTSPillarNetworkA,1212,1212,1212,1973-04-27,120.8999999999974,120.89873,2015-01-01 00:20:12,bin1212,35, -CTSPillarNetworkA,1213,1213,1213,1973-04-28,120.9999999999974,120.998726,2015-01-01 00:20:13,bin1213,75, -CTSPillarNetworkA,1214,1214,1214,1973-04-29,121.0999999999974,121.098724,2015-01-01 00:20:14,bin1214,35, -CTSPillarNetworkA,1215,1215,1215,1973-04-30,121.19999999999739,121.19872,2015-01-01 00:20:15,bin1215,75, -CTSPillarNetworkA,1216,1216,1216,1973-05-01,121.29999999999738,121.29872,2015-01-01 00:20:16,bin1216,35, -CTSPillarNetworkA,1217,1217,1217,1973-05-02,121.39999999999738,121.39872,2015-01-01 00:20:17,bin1217,75, -CTSPillarNetworkA,1218,1218,1218,1973-05-03,121.49999999999737,121.49872,2015-01-01 00:20:18,bin1218,35, -CTSPillarNetworkA,1219,1219,1219,1973-05-04,121.59999999999737,121.59872,2015-01-01 00:20:19,bin1219,75, -CTSPillarNetworkA,1220,1220,1220,1973-05-05,121.69999999999736,121.698715,2015-01-01 00:20:20,bin1220,35, -CTSPillarNetworkA,1221,1221,1221,1973-05-06,121.79999999999735,121.79871,2015-01-01 00:20:21,bin1221,75, -CTSPillarNetworkA,1222,1222,1222,1973-05-07,121.89999999999735,121.89871,2015-01-01 00:20:22,bin1222,35, -CTSPillarNetworkA,1223,1223,1223,1973-05-08,121.99999999999734,121.99871,2015-01-01 00:20:23,bin1223,75, -CTSPillarNetworkA,1224,1224,1224,1973-05-09,122.09999999999734,122.09871,2015-01-01 00:20:24,bin1224,35, -CTSPillarNetworkA,1225,1225,1225,1973-05-10,122.19999999999733,122.19871,2015-01-01 00:20:25,bin1225,75, -CTSPillarNetworkA,1226,1226,1226,1973-05-11,122.29999999999733,122.298706,2015-01-01 00:20:26,bin1226,35, -CTSPillarNetworkA,1227,1227,1227,1973-05-12,122.39999999999732,122.398705,2015-01-01 00:20:27,bin1227,75, -CTSPillarNetworkA,1228,1228,1228,1973-05-13,122.49999999999731,122.4987,2015-01-01 00:20:28,bin1228,35, -CTSPillarNetworkA,1229,1229,1229,1973-05-14,122.59999999999731,122.5987,2015-01-01 00:20:29,bin1229,75, -CTSPillarNetworkA,1230,1230,1230,1973-05-15,122.6999999999973,122.6987,2015-01-01 00:20:30,bin1230,35, -CTSPillarNetworkA,1231,1231,1231,1973-05-16,122.7999999999973,122.7987,2015-01-01 00:20:31,bin1231,75, -CTSPillarNetworkA,1232,1232,1232,1973-05-17,122.89999999999729,122.8987,2015-01-01 00:20:32,bin1232,35, -CTSPillarNetworkA,1233,1233,1233,1973-05-18,122.99999999999729,122.998695,2015-01-01 00:20:33,bin1233,75, -CTSPillarNetworkA,1234,1234,1234,1973-05-19,123.09999999999728,123.098694,2015-01-01 00:20:34,bin1234,35, -CTSPillarNetworkA,1235,1235,1235,1973-05-20,123.19999999999727,123.19869,2015-01-01 00:20:35,bin1235,75, -CTSPillarNetworkA,1236,1236,1236,1973-05-21,123.29999999999727,123.29869,2015-01-01 00:20:36,bin1236,35, -CTSPillarNetworkA,1237,1237,1237,1973-05-22,123.39999999999726,123.39869,2015-01-01 00:20:37,bin1237,75, -CTSPillarNetworkA,1238,1238,1238,1973-05-23,123.49999999999726,123.49869,2015-01-01 00:20:38,bin1238,35, -CTSPillarNetworkA,1239,1239,1239,1973-05-24,123.59999999999725,123.59869,2015-01-01 00:20:39,bin1239,75, -CTSPillarNetworkA,1240,1240,1240,1973-05-25,123.69999999999725,123.698685,2015-01-01 00:20:40,bin1240,35, -CTSPillarNetworkA,1241,1241,1241,1973-05-26,123.79999999999724,123.79868,2015-01-01 00:20:41,bin1241,75, -CTSPillarNetworkA,1242,1242,1242,1973-05-27,123.89999999999723,123.89868,2015-01-01 00:20:42,bin1242,35, -CTSPillarNetworkA,1243,1243,1243,1973-05-28,123.99999999999723,123.99868,2015-01-01 00:20:43,bin1243,75, -CTSPillarNetworkA,1244,1244,1244,1973-05-29,124.09999999999722,124.09868,2015-01-01 00:20:44,bin1244,35, -CTSPillarNetworkA,1245,1245,1245,1973-05-30,124.19999999999722,124.19868,2015-01-01 00:20:45,bin1245,75, -CTSPillarNetworkA,1246,1246,1246,1973-05-31,124.29999999999721,124.298676,2015-01-01 00:20:46,bin1246,35, -CTSPillarNetworkA,1247,1247,1247,1973-06-01,124.3999999999972,124.398674,2015-01-01 00:20:47,bin1247,75, -CTSPillarNetworkA,1248,1248,1248,1973-06-02,124.4999999999972,124.49867,2015-01-01 00:20:48,bin1248,35, -CTSPillarNetworkA,1249,1249,1249,1973-06-03,124.5999999999972,124.59867,2015-01-01 00:20:49,bin1249,75, -CTSPillarNetworkA,1250,1250,1250,1973-06-04,124.69999999999719,124.69867,2015-01-01 00:20:50,bin1250,35, -CTSPillarNetworkA,1251,1251,1251,1973-06-05,124.79999999999718,124.79867,2015-01-01 00:20:51,bin1251,75, -CTSPillarNetworkA,1252,1252,1252,1973-06-06,124.89999999999718,124.89867,2015-01-01 00:20:52,bin1252,35, -CTSPillarNetworkA,1253,1253,1253,1973-06-07,124.99999999999717,124.998665,2015-01-01 00:20:53,bin1253,75, -CTSPillarNetworkA,1254,1254,1254,1973-06-08,125.09999999999717,125.09866,2015-01-01 00:20:54,bin1254,35, -CTSPillarNetworkA,1255,1255,1255,1973-06-09,125.19999999999716,125.19866,2015-01-01 00:20:55,bin1255,75, -CTSPillarNetworkA,1256,1256,1256,1973-06-10,125.29999999999715,125.29866,2015-01-01 00:20:56,bin1256,35, -CTSPillarNetworkA,1257,1257,1257,1973-06-11,125.39999999999715,125.39866,2015-01-01 00:20:57,bin1257,75, -CTSPillarNetworkA,1258,1258,1258,1973-06-12,125.49999999999714,125.49866,2015-01-01 00:20:58,bin1258,35, -CTSPillarNetworkA,1259,1259,1259,1973-06-13,125.59999999999714,125.598656,2015-01-01 00:20:59,bin1259,75, -CTSPillarNetworkA,1260,1260,1260,1973-06-14,125.69999999999713,125.698654,2015-01-01 00:21:00,bin1260,35, -CTSPillarNetworkA,1261,1261,1261,1973-06-15,125.79999999999713,125.79865,2015-01-01 00:21:01,bin1261,75, -CTSPillarNetworkA,1262,1262,1262,1973-06-16,125.89999999999712,125.89865,2015-01-01 00:21:02,bin1262,35, -CTSPillarNetworkA,1263,1263,1263,1973-06-17,125.99999999999712,125.99865,2015-01-01 00:21:03,bin1263,75, -CTSPillarNetworkA,1264,1264,1264,1973-06-18,126.09999999999711,126.09865,2015-01-01 00:21:04,bin1264,35, -CTSPillarNetworkA,1265,1265,1265,1973-06-19,126.1999999999971,126.19865,2015-01-01 00:21:05,bin1265,75, -CTSPillarNetworkA,1266,1266,1266,1973-06-20,126.2999999999971,126.298645,2015-01-01 00:21:06,bin1266,35, -CTSPillarNetworkA,1267,1267,1267,1973-06-21,126.39999999999709,126.39864,2015-01-01 00:21:07,bin1267,75, -CTSPillarNetworkA,1268,1268,1268,1973-06-22,126.49999999999709,126.49864,2015-01-01 00:21:08,bin1268,35, -CTSPillarNetworkA,1269,1269,1269,1973-06-23,126.59999999999708,126.59864,2015-01-01 00:21:09,bin1269,75, -CTSPillarNetworkA,1270,1270,1270,1973-06-24,126.69999999999708,126.69864,2015-01-01 00:21:10,bin1270,35, -CTSPillarNetworkA,1271,1271,1271,1973-06-25,126.79999999999707,126.79864,2015-01-01 00:21:11,bin1271,75, -CTSPillarNetworkA,1272,1272,1272,1973-06-26,126.89999999999706,126.898636,2015-01-01 00:21:12,bin1272,35, -CTSPillarNetworkA,1273,1273,1273,1973-06-27,126.99999999999706,126.998634,2015-01-01 00:21:13,bin1273,75, -CTSPillarNetworkA,1274,1274,1274,1973-06-28,127.09999999999705,127.09863,2015-01-01 00:21:14,bin1274,35, -CTSPillarNetworkA,1275,1275,1275,1973-06-29,127.19999999999705,127.19863,2015-01-01 00:21:15,bin1275,75, -CTSPillarNetworkA,1276,1276,1276,1973-06-30,127.29999999999704,127.29863,2015-01-01 00:21:16,bin1276,35, -CTSPillarNetworkA,1277,1277,1277,1973-07-01,127.39999999999704,127.39863,2015-01-01 00:21:17,bin1277,75, -CTSPillarNetworkA,1278,1278,1278,1973-07-02,127.49999999999703,127.49863,2015-01-01 00:21:18,bin1278,35, -CTSPillarNetworkA,1279,1279,1279,1973-07-03,127.59999999999702,127.598625,2015-01-01 00:21:19,bin1279,75, -CTSPillarNetworkA,1280,1280,1280,1973-07-04,127.69999999999702,127.69862,2015-01-01 00:21:20,bin1280,35, -CTSPillarNetworkA,1281,1281,1281,1973-07-05,127.79999999999701,127.79862,2015-01-01 00:21:21,bin1281,75, -CTSPillarNetworkA,1282,1282,1282,1973-07-06,127.89999999999701,127.89862,2015-01-01 00:21:22,bin1282,35, -CTSPillarNetworkA,1283,1283,1283,1973-07-07,127.999999999997,127.99862,2015-01-01 00:21:23,bin1283,75, -CTSPillarNetworkA,1284,1284,1284,1973-07-08,128.099999999997,128.09862,2015-01-01 00:21:24,bin1284,35, -CTSPillarNetworkA,1285,1285,1285,1973-07-09,128.199999999997,128.19862,2015-01-01 00:21:25,bin1285,75, -CTSPillarNetworkA,1286,1286,1286,1973-07-10,128.299999999997,128.29863,2015-01-01 00:21:26,bin1286,35, -CTSPillarNetworkA,1287,1287,1287,1973-07-11,128.399999999997,128.39864,2015-01-01 00:21:27,bin1287,75, -CTSPillarNetworkA,1288,1288,1288,1973-07-12,128.499999999997,128.49864,2015-01-01 00:21:28,bin1288,35, -CTSPillarNetworkA,1289,1289,1289,1973-07-13,128.59999999999698,128.59865,2015-01-01 00:21:29,bin1289,75, -CTSPillarNetworkA,1290,1290,1290,1973-07-14,128.69999999999698,128.69865,2015-01-01 00:21:30,bin1290,35, -CTSPillarNetworkA,1291,1291,1291,1973-07-15,128.79999999999697,128.79866,2015-01-01 00:21:31,bin1291,75, -CTSPillarNetworkA,1292,1292,1292,1973-07-16,128.89999999999696,128.89867,2015-01-01 00:21:32,bin1292,35, -CTSPillarNetworkA,1293,1293,1293,1973-07-17,128.99999999999696,128.99867,2015-01-01 00:21:33,bin1293,75, -CTSPillarNetworkA,1294,1294,1294,1973-07-18,129.09999999999695,129.09868,2015-01-01 00:21:34,bin1294,35, -CTSPillarNetworkA,1295,1295,1295,1973-07-19,129.19999999999695,129.19868,2015-01-01 00:21:35,bin1295,75, -CTSPillarNetworkA,1296,1296,1296,1973-07-20,129.29999999999694,129.29869,2015-01-01 00:21:36,bin1296,35, -CTSPillarNetworkA,1297,1297,1297,1973-07-21,129.39999999999694,129.3987,2015-01-01 00:21:37,bin1297,75, -CTSPillarNetworkA,1298,1298,1298,1973-07-22,129.49999999999693,129.4987,2015-01-01 00:21:38,bin1298,35, -CTSPillarNetworkA,1299,1299,1299,1973-07-23,129.59999999999692,129.59871,2015-01-01 00:21:39,bin1299,75, -CTSPillarNetworkA,1300,1300,1300,1973-07-24,129.69999999999692,129.69872,2015-01-01 00:21:40,bin1300,35, -CTSPillarNetworkA,1301,1301,1301,1973-07-25,129.7999999999969,129.79872,2015-01-01 00:21:41,bin1301,75, -CTSPillarNetworkA,1302,1302,1302,1973-07-26,129.8999999999969,129.89873,2015-01-01 00:21:42,bin1302,35, -CTSPillarNetworkA,1303,1303,1303,1973-07-27,129.9999999999969,129.99873,2015-01-01 00:21:43,bin1303,75, -CTSPillarNetworkA,1304,1304,1304,1973-07-28,130.0999999999969,130.09874,2015-01-01 00:21:44,bin1304,35, -CTSPillarNetworkA,1305,1305,1305,1973-07-29,130.1999999999969,130.19875,2015-01-01 00:21:45,bin1305,75, -CTSPillarNetworkA,1306,1306,1306,1973-07-30,130.29999999999688,130.29875,2015-01-01 00:21:46,bin1306,35, -CTSPillarNetworkA,1307,1307,1307,1973-07-31,130.39999999999688,130.39876,2015-01-01 00:21:47,bin1307,75, -CTSPillarNetworkA,1308,1308,1308,1973-08-01,130.49999999999687,130.49876,2015-01-01 00:21:48,bin1308,35, -CTSPillarNetworkA,1309,1309,1309,1973-08-02,130.59999999999687,130.59877,2015-01-01 00:21:49,bin1309,75, -CTSPillarNetworkA,1310,1310,1310,1973-08-03,130.69999999999686,130.69878,2015-01-01 00:21:50,bin1310,35, -CTSPillarNetworkA,1311,1311,1311,1973-08-04,130.79999999999686,130.79878,2015-01-01 00:21:51,bin1311,75, -CTSPillarNetworkA,1312,1312,1312,1973-08-05,130.89999999999685,130.89879,2015-01-01 00:21:52,bin1312,35, -CTSPillarNetworkA,1313,1313,1313,1973-08-06,130.99999999999685,130.9988,2015-01-01 00:21:53,bin1313,75, -CTSPillarNetworkA,1314,1314,1314,1973-08-07,131.09999999999684,131.0988,2015-01-01 00:21:54,bin1314,35, -CTSPillarNetworkA,1315,1315,1315,1973-08-08,131.19999999999683,131.1988,2015-01-01 00:21:55,bin1315,75, -CTSPillarNetworkA,1316,1316,1316,1973-08-09,131.29999999999683,131.29881,2015-01-01 00:21:56,bin1316,35, -CTSPillarNetworkA,1317,1317,1317,1973-08-10,131.39999999999682,131.39882,2015-01-01 00:21:57,bin1317,75, -CTSPillarNetworkA,1318,1318,1318,1973-08-11,131.49999999999682,131.49883,2015-01-01 00:21:58,bin1318,35, -CTSPillarNetworkA,1319,1319,1319,1973-08-12,131.5999999999968,131.59883,2015-01-01 00:21:59,bin1319,75, -CTSPillarNetworkA,1320,1320,1320,1973-08-13,131.6999999999968,131.69884,2015-01-01 00:22:00,bin1320,35, -CTSPillarNetworkA,1321,1321,1321,1973-08-14,131.7999999999968,131.79884,2015-01-01 00:22:01,bin1321,75, -CTSPillarNetworkA,1322,1322,1322,1973-08-15,131.8999999999968,131.89885,2015-01-01 00:22:02,bin1322,35, -CTSPillarNetworkA,1323,1323,1323,1973-08-16,131.9999999999968,131.99886,2015-01-01 00:22:03,bin1323,75, -CTSPillarNetworkA,1324,1324,1324,1973-08-17,132.09999999999678,132.09886,2015-01-01 00:22:04,bin1324,35, -CTSPillarNetworkA,1325,1325,1325,1973-08-18,132.19999999999678,132.19887,2015-01-01 00:22:05,bin1325,75, -CTSPillarNetworkA,1326,1326,1326,1973-08-19,132.29999999999677,132.29887,2015-01-01 00:22:06,bin1326,35, -CTSPillarNetworkA,1327,1327,1327,1973-08-20,132.39999999999677,132.39888,2015-01-01 00:22:07,bin1327,75, -CTSPillarNetworkA,1328,1328,1328,1973-08-21,132.49999999999676,132.49889,2015-01-01 00:22:08,bin1328,35, -CTSPillarNetworkA,1329,1329,1329,1973-08-22,132.59999999999675,132.59889,2015-01-01 00:22:09,bin1329,75, -CTSPillarNetworkA,1330,1330,1330,1973-08-23,132.69999999999675,132.6989,2015-01-01 00:22:10,bin1330,35, -CTSPillarNetworkA,1331,1331,1331,1973-08-24,132.79999999999674,132.7989,2015-01-01 00:22:11,bin1331,75, -CTSPillarNetworkA,1332,1332,1332,1973-08-25,132.89999999999674,132.89891,2015-01-01 00:22:12,bin1332,35, -CTSPillarNetworkA,1333,1333,1333,1973-08-26,132.99999999999673,132.99892,2015-01-01 00:22:13,bin1333,75, -CTSPillarNetworkA,1334,1334,1334,1973-08-27,133.09999999999673,133.09892,2015-01-01 00:22:14,bin1334,35, -CTSPillarNetworkA,1335,1335,1335,1973-08-28,133.19999999999672,133.19893,2015-01-01 00:22:15,bin1335,75, -CTSPillarNetworkA,1336,1336,1336,1973-08-29,133.29999999999671,133.29893,2015-01-01 00:22:16,bin1336,35, -CTSPillarNetworkA,1337,1337,1337,1973-08-30,133.3999999999967,133.39894,2015-01-01 00:22:17,bin1337,75, -CTSPillarNetworkA,1338,1338,1338,1973-08-31,133.4999999999967,133.49895,2015-01-01 00:22:18,bin1338,35, -CTSPillarNetworkA,1339,1339,1339,1973-09-01,133.5999999999967,133.59895,2015-01-01 00:22:19,bin1339,75, -CTSPillarNetworkA,1340,1340,1340,1973-09-02,133.6999999999967,133.69896,2015-01-01 00:22:20,bin1340,35, -CTSPillarNetworkA,1341,1341,1341,1973-09-03,133.7999999999967,133.79897,2015-01-01 00:22:21,bin1341,75, -CTSPillarNetworkA,1342,1342,1342,1973-09-04,133.89999999999668,133.89897,2015-01-01 00:22:22,bin1342,35, -CTSPillarNetworkA,1343,1343,1343,1973-09-05,133.99999999999667,133.99898,2015-01-01 00:22:23,bin1343,75, -CTSPillarNetworkA,1344,1344,1344,1973-09-06,134.09999999999667,134.09898,2015-01-01 00:22:24,bin1344,35, -CTSPillarNetworkA,1345,1345,1345,1973-09-07,134.19999999999666,134.19899,2015-01-01 00:22:25,bin1345,75, -CTSPillarNetworkA,1346,1346,1346,1973-09-08,134.29999999999666,134.299,2015-01-01 00:22:26,bin1346,35, -CTSPillarNetworkA,1347,1347,1347,1973-09-09,134.39999999999665,134.399,2015-01-01 00:22:27,bin1347,75, -CTSPillarNetworkA,1348,1348,1348,1973-09-10,134.49999999999665,134.49901,2015-01-01 00:22:28,bin1348,35, -CTSPillarNetworkA,1349,1349,1349,1973-09-11,134.59999999999664,134.59901,2015-01-01 00:22:29,bin1349,75, -CTSPillarNetworkA,1350,1350,1350,1973-09-12,134.69999999999663,134.69902,2015-01-01 00:22:30,bin1350,35, -CTSPillarNetworkA,1351,1351,1351,1973-09-13,134.79999999999663,134.79903,2015-01-01 00:22:31,bin1351,75, -CTSPillarNetworkA,1352,1352,1352,1973-09-14,134.89999999999662,134.89903,2015-01-01 00:22:32,bin1352,35, -CTSPillarNetworkA,1353,1353,1353,1973-09-15,134.99999999999662,134.99904,2015-01-01 00:22:33,bin1353,75, -CTSPillarNetworkA,1354,1354,1354,1973-09-16,135.0999999999966,135.09904,2015-01-01 00:22:34,bin1354,35, -CTSPillarNetworkA,1355,1355,1355,1973-09-17,135.1999999999966,135.19905,2015-01-01 00:22:35,bin1355,75, -CTSPillarNetworkA,1356,1356,1356,1973-09-18,135.2999999999966,135.29906,2015-01-01 00:22:36,bin1356,35, -CTSPillarNetworkA,1357,1357,1357,1973-09-19,135.3999999999966,135.39906,2015-01-01 00:22:37,bin1357,75, -CTSPillarNetworkA,1358,1358,1358,1973-09-20,135.4999999999966,135.49907,2015-01-01 00:22:38,bin1358,35, -CTSPillarNetworkA,1359,1359,1359,1973-09-21,135.59999999999658,135.59908,2015-01-01 00:22:39,bin1359,75, -CTSPillarNetworkA,1360,1360,1360,1973-09-22,135.69999999999658,135.69908,2015-01-01 00:22:40,bin1360,35, -CTSPillarNetworkA,1361,1361,1361,1973-09-23,135.79999999999657,135.79909,2015-01-01 00:22:41,bin1361,75, -CTSPillarNetworkA,1362,1362,1362,1973-09-24,135.89999999999657,135.8991,2015-01-01 00:22:42,bin1362,35, -CTSPillarNetworkA,1363,1363,1363,1973-09-25,135.99999999999656,135.9991,2015-01-01 00:22:43,bin1363,75, -CTSPillarNetworkA,1364,1364,1364,1973-09-26,136.09999999999656,136.0991,2015-01-01 00:22:44,bin1364,35, -CTSPillarNetworkA,1365,1365,1365,1973-09-27,136.19999999999655,136.19911,2015-01-01 00:22:45,bin1365,75, -CTSPillarNetworkA,1366,1366,1366,1973-09-28,136.29999999999654,136.29912,2015-01-01 00:22:46,bin1366,35, -CTSPillarNetworkA,1367,1367,1367,1973-09-29,136.39999999999654,136.39912,2015-01-01 00:22:47,bin1367,75, -CTSPillarNetworkA,1368,1368,1368,1973-09-30,136.49999999999653,136.49913,2015-01-01 00:22:48,bin1368,35, -CTSPillarNetworkA,1369,1369,1369,1973-10-01,136.59999999999653,136.59914,2015-01-01 00:22:49,bin1369,75, -CTSPillarNetworkA,1370,1370,1370,1973-10-02,136.69999999999652,136.69914,2015-01-01 00:22:50,bin1370,35, -CTSPillarNetworkA,1371,1371,1371,1973-10-03,136.79999999999652,136.79915,2015-01-01 00:22:51,bin1371,75, -CTSPillarNetworkA,1372,1372,1372,1973-10-04,136.8999999999965,136.89915,2015-01-01 00:22:52,bin1372,35, -CTSPillarNetworkA,1373,1373,1373,1973-10-05,136.9999999999965,136.99916,2015-01-01 00:22:53,bin1373,75, -CTSPillarNetworkA,1374,1374,1374,1973-10-06,137.0999999999965,137.09917,2015-01-01 00:22:54,bin1374,35, -CTSPillarNetworkA,1375,1375,1375,1973-10-07,137.1999999999965,137.19917,2015-01-01 00:22:55,bin1375,75, -CTSPillarNetworkA,1376,1376,1376,1973-10-08,137.2999999999965,137.29918,2015-01-01 00:22:56,bin1376,35, -CTSPillarNetworkA,1377,1377,1377,1973-10-09,137.39999999999648,137.39919,2015-01-01 00:22:57,bin1377,75, -CTSPillarNetworkA,1378,1378,1378,1973-10-10,137.49999999999648,137.49919,2015-01-01 00:22:58,bin1378,35, -CTSPillarNetworkA,1379,1379,1379,1973-10-11,137.59999999999647,137.5992,2015-01-01 00:22:59,bin1379,75, -CTSPillarNetworkA,1380,1380,1380,1973-10-12,137.69999999999646,137.6992,2015-01-01 00:23:00,bin1380,35, -CTSPillarNetworkA,1381,1381,1381,1973-10-13,137.79999999999646,137.79921,2015-01-01 00:23:01,bin1381,75, -CTSPillarNetworkA,1382,1382,1382,1973-10-14,137.89999999999645,137.89922,2015-01-01 00:23:02,bin1382,35, -CTSPillarNetworkA,1383,1383,1383,1973-10-15,137.99999999999645,137.99922,2015-01-01 00:23:03,bin1383,75, -CTSPillarNetworkA,1384,1384,1384,1973-10-16,138.09999999999644,138.09923,2015-01-01 00:23:04,bin1384,35, -CTSPillarNetworkA,1385,1385,1385,1973-10-17,138.19999999999644,138.19923,2015-01-01 00:23:05,bin1385,75, -CTSPillarNetworkA,1386,1386,1386,1973-10-18,138.29999999999643,138.29924,2015-01-01 00:23:06,bin1386,35, -CTSPillarNetworkA,1387,1387,1387,1973-10-19,138.39999999999642,138.39925,2015-01-01 00:23:07,bin1387,75, -CTSPillarNetworkA,1388,1388,1388,1973-10-20,138.49999999999642,138.49925,2015-01-01 00:23:08,bin1388,35, -CTSPillarNetworkA,1389,1389,1389,1973-10-21,138.5999999999964,138.59926,2015-01-01 00:23:09,bin1389,75, -CTSPillarNetworkA,1390,1390,1390,1973-10-22,138.6999999999964,138.69926,2015-01-01 00:23:10,bin1390,35, -CTSPillarNetworkA,1391,1391,1391,1973-10-23,138.7999999999964,138.79927,2015-01-01 00:23:11,bin1391,75, -CTSPillarNetworkA,1392,1392,1392,1973-10-24,138.8999999999964,138.89928,2015-01-01 00:23:12,bin1392,35, -CTSPillarNetworkA,1393,1393,1393,1973-10-25,138.9999999999964,138.99928,2015-01-01 00:23:13,bin1393,75, -CTSPillarNetworkA,1394,1394,1394,1973-10-26,139.09999999999638,139.09929,2015-01-01 00:23:14,bin1394,35, -CTSPillarNetworkA,1395,1395,1395,1973-10-27,139.19999999999638,139.1993,2015-01-01 00:23:15,bin1395,75, -CTSPillarNetworkA,1396,1396,1396,1973-10-28,139.29999999999637,139.2993,2015-01-01 00:23:16,bin1396,35, -CTSPillarNetworkA,1397,1397,1397,1973-10-29,139.39999999999637,139.3993,2015-01-01 00:23:17,bin1397,75, -CTSPillarNetworkA,1398,1398,1398,1973-10-30,139.49999999999636,139.49931,2015-01-01 00:23:18,bin1398,35, -CTSPillarNetworkA,1399,1399,1399,1973-10-31,139.59999999999636,139.59932,2015-01-01 00:23:19,bin1399,75, -CTSPillarNetworkA,1400,1400,1400,1973-11-01,139.69999999999635,139.69933,2015-01-01 00:23:20,bin1400,35, -CTSPillarNetworkA,1401,1401,1401,1973-11-02,139.79999999999634,139.79933,2015-01-01 00:23:21,bin1401,75, -CTSPillarNetworkA,1402,1402,1402,1973-11-03,139.89999999999634,139.89934,2015-01-01 00:23:22,bin1402,35, -CTSPillarNetworkA,1403,1403,1403,1973-11-04,139.99999999999633,139.99934,2015-01-01 00:23:23,bin1403,75, -CTSPillarNetworkA,1404,1404,1404,1973-11-05,140.09999999999633,140.09935,2015-01-01 00:23:24,bin1404,35, -CTSPillarNetworkA,1405,1405,1405,1973-11-06,140.19999999999632,140.19936,2015-01-01 00:23:25,bin1405,75, -CTSPillarNetworkA,1406,1406,1406,1973-11-07,140.29999999999632,140.29936,2015-01-01 00:23:26,bin1406,35, -CTSPillarNetworkA,1407,1407,1407,1973-11-08,140.3999999999963,140.39937,2015-01-01 00:23:27,bin1407,75, -CTSPillarNetworkA,1408,1408,1408,1973-11-09,140.4999999999963,140.49937,2015-01-01 00:23:28,bin1408,35, -CTSPillarNetworkA,1409,1409,1409,1973-11-10,140.5999999999963,140.59938,2015-01-01 00:23:29,bin1409,75, -CTSPillarNetworkA,1410,1410,1410,1973-11-11,140.6999999999963,140.69939,2015-01-01 00:23:30,bin1410,35, -CTSPillarNetworkA,1411,1411,1411,1973-11-12,140.7999999999963,140.7994,2015-01-01 00:23:31,bin1411,75, -CTSPillarNetworkA,1412,1412,1412,1973-11-13,140.89999999999628,140.8994,2015-01-01 00:23:32,bin1412,35, -CTSPillarNetworkA,1413,1413,1413,1973-11-14,140.99999999999628,140.9994,2015-01-01 00:23:33,bin1413,75, -CTSPillarNetworkA,1414,1414,1414,1973-11-15,141.09999999999627,141.09941,2015-01-01 00:23:34,bin1414,35, -CTSPillarNetworkA,1415,1415,1415,1973-11-16,141.19999999999627,141.19942,2015-01-01 00:23:35,bin1415,75, -CTSPillarNetworkA,1416,1416,1416,1973-11-17,141.29999999999626,141.29942,2015-01-01 00:23:36,bin1416,35, -CTSPillarNetworkA,1417,1417,1417,1973-11-18,141.39999999999625,141.39943,2015-01-01 00:23:37,bin1417,75, -CTSPillarNetworkA,1418,1418,1418,1973-11-19,141.49999999999625,141.49944,2015-01-01 00:23:38,bin1418,35, -CTSPillarNetworkA,1419,1419,1419,1973-11-20,141.59999999999624,141.59944,2015-01-01 00:23:39,bin1419,75, -CTSPillarNetworkA,1420,1420,1420,1973-11-21,141.69999999999624,141.69945,2015-01-01 00:23:40,bin1420,35, -CTSPillarNetworkA,1421,1421,1421,1973-11-22,141.79999999999623,141.79945,2015-01-01 00:23:41,bin1421,75, -CTSPillarNetworkA,1422,1422,1422,1973-11-23,141.89999999999623,141.89946,2015-01-01 00:23:42,bin1422,35, -CTSPillarNetworkA,1423,1423,1423,1973-11-24,141.99999999999622,141.99947,2015-01-01 00:23:43,bin1423,75, -CTSPillarNetworkA,1424,1424,1424,1973-11-25,142.09999999999621,142.09947,2015-01-01 00:23:44,bin1424,35, -CTSPillarNetworkA,1425,1425,1425,1973-11-26,142.1999999999962,142.19948,2015-01-01 00:23:45,bin1425,75, -CTSPillarNetworkA,1426,1426,1426,1973-11-27,142.2999999999962,142.29948,2015-01-01 00:23:46,bin1426,35, -CTSPillarNetworkA,1427,1427,1427,1973-11-28,142.3999999999962,142.39949,2015-01-01 00:23:47,bin1427,75, -CTSPillarNetworkA,1428,1428,1428,1973-11-29,142.4999999999962,142.4995,2015-01-01 00:23:48,bin1428,35, -CTSPillarNetworkA,1429,1429,1429,1973-11-30,142.5999999999962,142.5995,2015-01-01 00:23:49,bin1429,75, -CTSPillarNetworkA,1430,1430,1430,1973-12-01,142.69999999999618,142.69951,2015-01-01 00:23:50,bin1430,35, -CTSPillarNetworkA,1431,1431,1431,1973-12-02,142.79999999999617,142.79951,2015-01-01 00:23:51,bin1431,75, -CTSPillarNetworkA,1432,1432,1432,1973-12-03,142.89999999999617,142.89952,2015-01-01 00:23:52,bin1432,35, -CTSPillarNetworkA,1433,1433,1433,1973-12-04,142.99999999999616,142.99953,2015-01-01 00:23:53,bin1433,75, -CTSPillarNetworkA,1434,1434,1434,1973-12-05,143.09999999999616,143.09953,2015-01-01 00:23:54,bin1434,35, -CTSPillarNetworkA,1435,1435,1435,1973-12-06,143.19999999999615,143.19954,2015-01-01 00:23:55,bin1435,75, -CTSPillarNetworkA,1436,1436,1436,1973-12-07,143.29999999999615,143.29955,2015-01-01 00:23:56,bin1436,35, -CTSPillarNetworkA,1437,1437,1437,1973-12-08,143.39999999999614,143.39955,2015-01-01 00:23:57,bin1437,75, -CTSPillarNetworkA,1438,1438,1438,1973-12-09,143.49999999999613,143.49956,2015-01-01 00:23:58,bin1438,35, -CTSPillarNetworkA,1439,1439,1439,1973-12-10,143.59999999999613,143.59956,2015-01-01 00:23:59,bin1439,75, -CTSPillarNetworkA,1440,1440,1440,1973-12-11,143.69999999999612,143.69957,2015-01-01 00:24:00,bin1440,35, -CTSPillarNetworkA,1441,1441,1441,1973-12-12,143.79999999999612,143.79958,2015-01-01 00:24:01,bin1441,75, -CTSPillarNetworkA,1442,1442,1442,1973-12-13,143.8999999999961,143.89958,2015-01-01 00:24:02,bin1442,35, -CTSPillarNetworkA,1443,1443,1443,1973-12-14,143.9999999999961,143.99959,2015-01-01 00:24:03,bin1443,75, -CTSPillarNetworkA,1444,1444,1444,1973-12-15,144.0999999999961,144.0996,2015-01-01 00:24:04,bin1444,35, -CTSPillarNetworkA,1445,1445,1445,1973-12-16,144.1999999999961,144.1996,2015-01-01 00:24:05,bin1445,75, -CTSPillarNetworkA,1446,1446,1446,1973-12-17,144.2999999999961,144.2996,2015-01-01 00:24:06,bin1446,35, -CTSPillarNetworkA,1447,1447,1447,1973-12-18,144.39999999999608,144.39961,2015-01-01 00:24:07,bin1447,75, -CTSPillarNetworkA,1448,1448,1448,1973-12-19,144.49999999999608,144.49962,2015-01-01 00:24:08,bin1448,35, -CTSPillarNetworkA,1449,1449,1449,1973-12-20,144.59999999999607,144.59962,2015-01-01 00:24:09,bin1449,75, -CTSPillarNetworkA,1450,1450,1450,1973-12-21,144.69999999999607,144.69963,2015-01-01 00:24:10,bin1450,35, -CTSPillarNetworkA,1451,1451,1451,1973-12-22,144.79999999999606,144.79964,2015-01-01 00:24:11,bin1451,75, -CTSPillarNetworkA,1452,1452,1452,1973-12-23,144.89999999999606,144.89964,2015-01-01 00:24:12,bin1452,35, -CTSPillarNetworkA,1453,1453,1453,1973-12-24,144.99999999999605,144.99965,2015-01-01 00:24:13,bin1453,75, -CTSPillarNetworkA,1454,1454,1454,1973-12-25,145.09999999999604,145.09966,2015-01-01 00:24:14,bin1454,35, -CTSPillarNetworkA,1455,1455,1455,1973-12-26,145.19999999999604,145.19966,2015-01-01 00:24:15,bin1455,75, -CTSPillarNetworkA,1456,1456,1456,1973-12-27,145.29999999999603,145.29967,2015-01-01 00:24:16,bin1456,35, -CTSPillarNetworkA,1457,1457,1457,1973-12-28,145.39999999999603,145.39967,2015-01-01 00:24:17,bin1457,75, -CTSPillarNetworkA,1458,1458,1458,1973-12-29,145.49999999999602,145.49968,2015-01-01 00:24:18,bin1458,35, -CTSPillarNetworkA,1459,1459,1459,1973-12-30,145.59999999999602,145.59969,2015-01-01 00:24:19,bin1459,75, -CTSPillarNetworkA,1460,1460,1460,1973-12-31,145.699999999996,145.69969,2015-01-01 00:24:20,bin1460,35, -CTSPillarNetworkA,1461,1461,1461,1974-01-01,145.799999999996,145.7997,2015-01-01 00:24:21,bin1461,75, -CTSPillarNetworkA,1462,1462,1462,1974-01-02,145.899999999996,145.8997,2015-01-01 00:24:22,bin1462,35, -CTSPillarNetworkA,1463,1463,1463,1974-01-03,145.999999999996,145.99971,2015-01-01 00:24:23,bin1463,75, -CTSPillarNetworkA,1464,1464,1464,1974-01-04,146.099999999996,146.09972,2015-01-01 00:24:24,bin1464,35, -CTSPillarNetworkA,1465,1465,1465,1974-01-05,146.19999999999598,146.19972,2015-01-01 00:24:25,bin1465,75, -CTSPillarNetworkA,1466,1466,1466,1974-01-06,146.29999999999598,146.29973,2015-01-01 00:24:26,bin1466,35, -CTSPillarNetworkA,1467,1467,1467,1974-01-07,146.39999999999597,146.39973,2015-01-01 00:24:27,bin1467,75, -CTSPillarNetworkA,1468,1468,1468,1974-01-08,146.49999999999596,146.49974,2015-01-01 00:24:28,bin1468,35, -CTSPillarNetworkA,1469,1469,1469,1974-01-09,146.59999999999596,146.59975,2015-01-01 00:24:29,bin1469,75, -CTSPillarNetworkA,1470,1470,1470,1974-01-10,146.69999999999595,146.69975,2015-01-01 00:24:30,bin1470,35, -CTSPillarNetworkA,1471,1471,1471,1974-01-11,146.79999999999595,146.79976,2015-01-01 00:24:31,bin1471,75, -CTSPillarNetworkA,1472,1472,1472,1974-01-12,146.89999999999594,146.89977,2015-01-01 00:24:32,bin1472,35, -CTSPillarNetworkA,1473,1473,1473,1974-01-13,146.99999999999594,146.99977,2015-01-01 00:24:33,bin1473,75, -CTSPillarNetworkA,1474,1474,1474,1974-01-14,147.09999999999593,147.09978,2015-01-01 00:24:34,bin1474,35, -CTSPillarNetworkA,1475,1475,1475,1974-01-15,147.19999999999592,147.19978,2015-01-01 00:24:35,bin1475,75, -CTSPillarNetworkA,1476,1476,1476,1974-01-16,147.29999999999592,147.29979,2015-01-01 00:24:36,bin1476,35, -CTSPillarNetworkA,1477,1477,1477,1974-01-17,147.3999999999959,147.3998,2015-01-01 00:24:37,bin1477,75, -CTSPillarNetworkA,1478,1478,1478,1974-01-18,147.4999999999959,147.4998,2015-01-01 00:24:38,bin1478,35, -CTSPillarNetworkA,1479,1479,1479,1974-01-19,147.5999999999959,147.59981,2015-01-01 00:24:39,bin1479,75, -CTSPillarNetworkA,1480,1480,1480,1974-01-20,147.6999999999959,147.69981,2015-01-01 00:24:40,bin1480,35, -CTSPillarNetworkA,1481,1481,1481,1974-01-21,147.7999999999959,147.79982,2015-01-01 00:24:41,bin1481,75, -CTSPillarNetworkA,1482,1482,1482,1974-01-22,147.89999999999588,147.89983,2015-01-01 00:24:42,bin1482,35, -CTSPillarNetworkA,1483,1483,1483,1974-01-23,147.99999999999588,147.99983,2015-01-01 00:24:43,bin1483,75, -CTSPillarNetworkA,1484,1484,1484,1974-01-24,148.09999999999587,148.09984,2015-01-01 00:24:44,bin1484,35, -CTSPillarNetworkA,1485,1485,1485,1974-01-25,148.19999999999587,148.19984,2015-01-01 00:24:45,bin1485,75, -CTSPillarNetworkA,1486,1486,1486,1974-01-26,148.29999999999586,148.29985,2015-01-01 00:24:46,bin1486,35, -CTSPillarNetworkA,1487,1487,1487,1974-01-27,148.39999999999586,148.39986,2015-01-01 00:24:47,bin1487,75, -CTSPillarNetworkA,1488,1488,1488,1974-01-28,148.49999999999585,148.49986,2015-01-01 00:24:48,bin1488,35, -CTSPillarNetworkA,1489,1489,1489,1974-01-29,148.59999999999584,148.59987,2015-01-01 00:24:49,bin1489,75, -CTSPillarNetworkA,1490,1490,1490,1974-01-30,148.69999999999584,148.69987,2015-01-01 00:24:50,bin1490,35, -CTSPillarNetworkA,1491,1491,1491,1974-01-31,148.79999999999583,148.79988,2015-01-01 00:24:51,bin1491,75, -CTSPillarNetworkA,1492,1492,1492,1974-02-01,148.89999999999583,148.89989,2015-01-01 00:24:52,bin1492,35, -CTSPillarNetworkA,1493,1493,1493,1974-02-02,148.99999999999582,148.9999,2015-01-01 00:24:53,bin1493,75, -CTSPillarNetworkA,1494,1494,1494,1974-02-03,149.09999999999582,149.0999,2015-01-01 00:24:54,bin1494,35, -CTSPillarNetworkA,1495,1495,1495,1974-02-04,149.1999999999958,149.1999,2015-01-01 00:24:55,bin1495,75, -CTSPillarNetworkA,1496,1496,1496,1974-02-05,149.2999999999958,149.29991,2015-01-01 00:24:56,bin1496,35, -CTSPillarNetworkA,1497,1497,1497,1974-02-06,149.3999999999958,149.39992,2015-01-01 00:24:57,bin1497,75, -CTSPillarNetworkA,1498,1498,1498,1974-02-07,149.4999999999958,149.49992,2015-01-01 00:24:58,bin1498,35, -CTSPillarNetworkA,1499,1499,1499,1974-02-08,149.5999999999958,149.59993,2015-01-01 00:24:59,bin1499,75, -CTSPillarNetworkA,1500,1500,1500,1974-02-09,149.69999999999578,149.69994,2015-01-01 00:25:00,bin1500,35, -CTSPillarNetworkA,1501,1501,1501,1974-02-10,149.79999999999578,149.79994,2015-01-01 00:25:01,bin1501,75, -CTSPillarNetworkA,1502,1502,1502,1974-02-11,149.89999999999577,149.89995,2015-01-01 00:25:02,bin1502,35, -CTSPillarNetworkA,1503,1503,1503,1974-02-12,149.99999999999577,149.99995,2015-01-01 00:25:03,bin1503,75, -CTSPillarNetworkA,1504,1504,1504,1974-02-13,150.09999999999576,150.09996,2015-01-01 00:25:04,bin1504,35, -CTSPillarNetworkA,1505,1505,1505,1974-02-14,150.19999999999575,150.19997,2015-01-01 00:25:05,bin1505,75, -CTSPillarNetworkA,1506,1506,1506,1974-02-15,150.29999999999575,150.29997,2015-01-01 00:25:06,bin1506,35, -CTSPillarNetworkA,1507,1507,1507,1974-02-16,150.39999999999574,150.39998,2015-01-01 00:25:07,bin1507,75, -CTSPillarNetworkA,1508,1508,1508,1974-02-17,150.49999999999574,150.49998,2015-01-01 00:25:08,bin1508,35, -CTSPillarNetworkA,1509,1509,1509,1974-02-18,150.59999999999573,150.59999,2015-01-01 00:25:09,bin1509,75, -CTSPillarNetworkA,1510,1510,1510,1974-02-19,150.69999999999573,150.7,2015-01-01 00:25:10,bin1510,35, -CTSPillarNetworkA,1511,1511,1511,1974-02-20,150.79999999999572,150.8,2015-01-01 00:25:11,bin1511,75, -CTSPillarNetworkA,1512,1512,1512,1974-02-21,150.8999999999957,150.90001,2015-01-01 00:25:12,bin1512,35, -CTSPillarNetworkA,1513,1513,1513,1974-02-22,150.9999999999957,151.00002,2015-01-01 00:25:13,bin1513,75, -CTSPillarNetworkA,1514,1514,1514,1974-02-23,151.0999999999957,151.10002,2015-01-01 00:25:14,bin1514,35, -CTSPillarNetworkA,1515,1515,1515,1974-02-24,151.1999999999957,151.20003,2015-01-01 00:25:15,bin1515,75, -CTSPillarNetworkA,1516,1516,1516,1974-02-25,151.2999999999957,151.30003,2015-01-01 00:25:16,bin1516,35, -CTSPillarNetworkA,1517,1517,1517,1974-02-26,151.39999999999569,151.40004,2015-01-01 00:25:17,bin1517,75, -CTSPillarNetworkA,1518,1518,1518,1974-02-27,151.49999999999568,151.50005,2015-01-01 00:25:18,bin1518,35, -CTSPillarNetworkA,1519,1519,1519,1974-02-28,151.59999999999567,151.60005,2015-01-01 00:25:19,bin1519,75, -CTSPillarNetworkA,1520,1520,1520,1974-03-01,151.69999999999567,151.70006,2015-01-01 00:25:20,bin1520,35, -CTSPillarNetworkA,1521,1521,1521,1974-03-02,151.79999999999566,151.80006,2015-01-01 00:25:21,bin1521,75, -CTSPillarNetworkA,1522,1522,1522,1974-03-03,151.89999999999566,151.90007,2015-01-01 00:25:22,bin1522,35, -CTSPillarNetworkA,1523,1523,1523,1974-03-04,151.99999999999565,152.00008,2015-01-01 00:25:23,bin1523,75, -CTSPillarNetworkA,1524,1524,1524,1974-03-05,152.09999999999565,152.10008,2015-01-01 00:25:24,bin1524,35, -CTSPillarNetworkA,1525,1525,1525,1974-03-06,152.19999999999564,152.20009,2015-01-01 00:25:25,bin1525,75, -CTSPillarNetworkA,1526,1526,1526,1974-03-07,152.29999999999563,152.3001,2015-01-01 00:25:26,bin1526,35, -CTSPillarNetworkA,1527,1527,1527,1974-03-08,152.39999999999563,152.4001,2015-01-01 00:25:27,bin1527,75, -CTSPillarNetworkA,1528,1528,1528,1974-03-09,152.49999999999562,152.5001,2015-01-01 00:25:28,bin1528,35, -CTSPillarNetworkA,1529,1529,1529,1974-03-10,152.59999999999562,152.60011,2015-01-01 00:25:29,bin1529,75, -CTSPillarNetworkA,1530,1530,1530,1974-03-11,152.6999999999956,152.70012,2015-01-01 00:25:30,bin1530,35, -CTSPillarNetworkA,1531,1531,1531,1974-03-12,152.7999999999956,152.80013,2015-01-01 00:25:31,bin1531,75, -CTSPillarNetworkA,1532,1532,1532,1974-03-13,152.8999999999956,152.90013,2015-01-01 00:25:32,bin1532,35, -CTSPillarNetworkA,1533,1533,1533,1974-03-14,152.9999999999956,153.00014,2015-01-01 00:25:33,bin1533,75, -CTSPillarNetworkA,1534,1534,1534,1974-03-15,153.0999999999956,153.10014,2015-01-01 00:25:34,bin1534,35, -CTSPillarNetworkA,1535,1535,1535,1974-03-16,153.19999999999558,153.20015,2015-01-01 00:25:35,bin1535,75, -CTSPillarNetworkA,1536,1536,1536,1974-03-17,153.29999999999558,153.30016,2015-01-01 00:25:36,bin1536,35, -CTSPillarNetworkA,1537,1537,1537,1974-03-18,153.39999999999557,153.40016,2015-01-01 00:25:37,bin1537,75, -CTSPillarNetworkA,1538,1538,1538,1974-03-19,153.49999999999557,153.50017,2015-01-01 00:25:38,bin1538,35, -CTSPillarNetworkA,1539,1539,1539,1974-03-20,153.59999999999556,153.60017,2015-01-01 00:25:39,bin1539,75, -CTSPillarNetworkA,1540,1540,1540,1974-03-21,153.69999999999555,153.70018,2015-01-01 00:25:40,bin1540,35, -CTSPillarNetworkA,1541,1541,1541,1974-03-22,153.79999999999555,153.80019,2015-01-01 00:25:41,bin1541,75, -CTSPillarNetworkA,1542,1542,1542,1974-03-23,153.89999999999554,153.90019,2015-01-01 00:25:42,bin1542,35, -CTSPillarNetworkA,1543,1543,1543,1974-03-24,153.99999999999554,154.0002,2015-01-01 00:25:43,bin1543,75, -CTSPillarNetworkA,1544,1544,1544,1974-03-25,154.09999999999553,154.1002,2015-01-01 00:25:44,bin1544,35, -CTSPillarNetworkA,1545,1545,1545,1974-03-26,154.19999999999553,154.20021,2015-01-01 00:25:45,bin1545,75, -CTSPillarNetworkA,1546,1546,1546,1974-03-27,154.29999999999552,154.30022,2015-01-01 00:25:46,bin1546,35, -CTSPillarNetworkA,1547,1547,1547,1974-03-28,154.39999999999552,154.40022,2015-01-01 00:25:47,bin1547,75, -CTSPillarNetworkA,1548,1548,1548,1974-03-29,154.4999999999955,154.50023,2015-01-01 00:25:48,bin1548,35, -CTSPillarNetworkA,1549,1549,1549,1974-03-30,154.5999999999955,154.60023,2015-01-01 00:25:49,bin1549,75, -CTSPillarNetworkA,1550,1550,1550,1974-03-31,154.6999999999955,154.70024,2015-01-01 00:25:50,bin1550,35, -CTSPillarNetworkA,1551,1551,1551,1974-04-01,154.7999999999955,154.80025,2015-01-01 00:25:51,bin1551,75, -CTSPillarNetworkA,1552,1552,1552,1974-04-02,154.8999999999955,154.90025,2015-01-01 00:25:52,bin1552,35, -CTSPillarNetworkA,1553,1553,1553,1974-04-03,154.99999999999548,155.00026,2015-01-01 00:25:53,bin1553,75, -CTSPillarNetworkA,1554,1554,1554,1974-04-04,155.09999999999548,155.10027,2015-01-01 00:25:54,bin1554,35, -CTSPillarNetworkA,1555,1555,1555,1974-04-05,155.19999999999547,155.20027,2015-01-01 00:25:55,bin1555,75, -CTSPillarNetworkA,1556,1556,1556,1974-04-06,155.29999999999546,155.30028,2015-01-01 00:25:56,bin1556,35, -CTSPillarNetworkA,1557,1557,1557,1974-04-07,155.39999999999546,155.40028,2015-01-01 00:25:57,bin1557,75, -CTSPillarNetworkA,1558,1558,1558,1974-04-08,155.49999999999545,155.50029,2015-01-01 00:25:58,bin1558,35, -CTSPillarNetworkA,1559,1559,1559,1974-04-09,155.59999999999545,155.6003,2015-01-01 00:25:59,bin1559,75, -CTSPillarNetworkA,1560,1560,1560,1974-04-10,155.69999999999544,155.7003,2015-01-01 00:26:00,bin1560,35, -CTSPillarNetworkA,1561,1561,1561,1974-04-11,155.79999999999544,155.80031,2015-01-01 00:26:01,bin1561,75, -CTSPillarNetworkA,1562,1562,1562,1974-04-12,155.89999999999543,155.90031,2015-01-01 00:26:02,bin1562,35, -CTSPillarNetworkA,1563,1563,1563,1974-04-13,155.99999999999542,156.00032,2015-01-01 00:26:03,bin1563,75, -CTSPillarNetworkA,1564,1564,1564,1974-04-14,156.09999999999542,156.10033,2015-01-01 00:26:04,bin1564,35, -CTSPillarNetworkA,1565,1565,1565,1974-04-15,156.1999999999954,156.20033,2015-01-01 00:26:05,bin1565,75, -CTSPillarNetworkA,1566,1566,1566,1974-04-16,156.2999999999954,156.30034,2015-01-01 00:26:06,bin1566,35, -CTSPillarNetworkA,1567,1567,1567,1974-04-17,156.3999999999954,156.40034,2015-01-01 00:26:07,bin1567,75, -CTSPillarNetworkA,1568,1568,1568,1974-04-18,156.4999999999954,156.50035,2015-01-01 00:26:08,bin1568,35, -CTSPillarNetworkA,1569,1569,1569,1974-04-19,156.5999999999954,156.60036,2015-01-01 00:26:09,bin1569,75, -CTSPillarNetworkA,1570,1570,1570,1974-04-20,156.69999999999538,156.70036,2015-01-01 00:26:10,bin1570,35, -CTSPillarNetworkA,1571,1571,1571,1974-04-21,156.79999999999538,156.80037,2015-01-01 00:26:11,bin1571,75, -CTSPillarNetworkA,1572,1572,1572,1974-04-22,156.89999999999537,156.90038,2015-01-01 00:26:12,bin1572,35, -CTSPillarNetworkA,1573,1573,1573,1974-04-23,156.99999999999537,157.00038,2015-01-01 00:26:13,bin1573,75, -CTSPillarNetworkA,1574,1574,1574,1974-04-24,157.09999999999536,157.10039,2015-01-01 00:26:14,bin1574,35, -CTSPillarNetworkA,1575,1575,1575,1974-04-25,157.19999999999536,157.2004,2015-01-01 00:26:15,bin1575,75, -CTSPillarNetworkA,1576,1576,1576,1974-04-26,157.29999999999535,157.3004,2015-01-01 00:26:16,bin1576,35, -CTSPillarNetworkA,1577,1577,1577,1974-04-27,157.39999999999534,157.4004,2015-01-01 00:26:17,bin1577,75, -CTSPillarNetworkA,1578,1578,1578,1974-04-28,157.49999999999534,157.50041,2015-01-01 00:26:18,bin1578,35, -CTSPillarNetworkA,1579,1579,1579,1974-04-29,157.59999999999533,157.60042,2015-01-01 00:26:19,bin1579,75, -CTSPillarNetworkA,1580,1580,1580,1974-04-30,157.69999999999533,157.70042,2015-01-01 00:26:20,bin1580,35, -CTSPillarNetworkA,1581,1581,1581,1974-05-01,157.79999999999532,157.80043,2015-01-01 00:26:21,bin1581,75, -CTSPillarNetworkA,1582,1582,1582,1974-05-02,157.89999999999532,157.90044,2015-01-01 00:26:22,bin1582,35, -CTSPillarNetworkA,1583,1583,1583,1974-05-03,157.9999999999953,158.00044,2015-01-01 00:26:23,bin1583,75, -CTSPillarNetworkA,1584,1584,1584,1974-05-04,158.0999999999953,158.10045,2015-01-01 00:26:24,bin1584,35, -CTSPillarNetworkA,1585,1585,1585,1974-05-05,158.1999999999953,158.20045,2015-01-01 00:26:25,bin1585,75, -CTSPillarNetworkA,1586,1586,1586,1974-05-06,158.2999999999953,158.30046,2015-01-01 00:26:26,bin1586,35, -CTSPillarNetworkA,1587,1587,1587,1974-05-07,158.3999999999953,158.40047,2015-01-01 00:26:27,bin1587,75, -CTSPillarNetworkA,1588,1588,1588,1974-05-08,158.49999999999528,158.50047,2015-01-01 00:26:28,bin1588,35, -CTSPillarNetworkA,1589,1589,1589,1974-05-09,158.59999999999528,158.60048,2015-01-01 00:26:29,bin1589,75, -CTSPillarNetworkA,1590,1590,1590,1974-05-10,158.69999999999527,158.70049,2015-01-01 00:26:30,bin1590,35, -CTSPillarNetworkA,1591,1591,1591,1974-05-11,158.79999999999526,158.80049,2015-01-01 00:26:31,bin1591,75, -CTSPillarNetworkA,1592,1592,1592,1974-05-12,158.89999999999526,158.9005,2015-01-01 00:26:32,bin1592,35, -CTSPillarNetworkA,1593,1593,1593,1974-05-13,158.99999999999525,159.0005,2015-01-01 00:26:33,bin1593,75, -CTSPillarNetworkA,1594,1594,1594,1974-05-14,159.09999999999525,159.10051,2015-01-01 00:26:34,bin1594,35, -CTSPillarNetworkA,1595,1595,1595,1974-05-15,159.19999999999524,159.20052,2015-01-01 00:26:35,bin1595,75, -CTSPillarNetworkA,1596,1596,1596,1974-05-16,159.29999999999524,159.30052,2015-01-01 00:26:36,bin1596,35, -CTSPillarNetworkA,1597,1597,1597,1974-05-17,159.39999999999523,159.40053,2015-01-01 00:26:37,bin1597,75, -CTSPillarNetworkA,1598,1598,1598,1974-05-18,159.49999999999523,159.50053,2015-01-01 00:26:38,bin1598,35, -CTSPillarNetworkA,1599,1599,1599,1974-05-19,159.59999999999522,159.60054,2015-01-01 00:26:39,bin1599,75, -CTSPillarNetworkA,1600,1600,1600,1974-05-20,159.6999999999952,159.70055,2015-01-01 00:26:40,bin1600,35, -CTSPillarNetworkA,1601,1601,1601,1974-05-21,159.7999999999952,159.80055,2015-01-01 00:26:41,bin1601,75, -CTSPillarNetworkA,1602,1602,1602,1974-05-22,159.8999999999952,159.90056,2015-01-01 00:26:42,bin1602,35, -CTSPillarNetworkA,1603,1603,1603,1974-05-23,159.9999999999952,160.00056,2015-01-01 00:26:43,bin1603,75, -CTSPillarNetworkA,1604,1604,1604,1974-05-24,160.0999999999952,160.10057,2015-01-01 00:26:44,bin1604,35, -CTSPillarNetworkA,1605,1605,1605,1974-05-25,160.19999999999519,160.20058,2015-01-01 00:26:45,bin1605,75, -CTSPillarNetworkA,1606,1606,1606,1974-05-26,160.29999999999518,160.30058,2015-01-01 00:26:46,bin1606,35, -CTSPillarNetworkA,1607,1607,1607,1974-05-27,160.39999999999517,160.40059,2015-01-01 00:26:47,bin1607,75, -CTSPillarNetworkA,1608,1608,1608,1974-05-28,160.49999999999517,160.5006,2015-01-01 00:26:48,bin1608,35, -CTSPillarNetworkA,1609,1609,1609,1974-05-29,160.59999999999516,160.6006,2015-01-01 00:26:49,bin1609,75, -CTSPillarNetworkA,1610,1610,1610,1974-05-30,160.69999999999516,160.7006,2015-01-01 00:26:50,bin1610,35, -CTSPillarNetworkA,1611,1611,1611,1974-05-31,160.79999999999515,160.80061,2015-01-01 00:26:51,bin1611,75, -CTSPillarNetworkA,1612,1612,1612,1974-06-01,160.89999999999515,160.90062,2015-01-01 00:26:52,bin1612,35, -CTSPillarNetworkA,1613,1613,1613,1974-06-02,160.99999999999514,161.00063,2015-01-01 00:26:53,bin1613,75, -CTSPillarNetworkA,1614,1614,1614,1974-06-03,161.09999999999513,161.10063,2015-01-01 00:26:54,bin1614,35, -CTSPillarNetworkA,1615,1615,1615,1974-06-04,161.19999999999513,161.20064,2015-01-01 00:26:55,bin1615,75, -CTSPillarNetworkA,1616,1616,1616,1974-06-05,161.29999999999512,161.30064,2015-01-01 00:26:56,bin1616,35, -CTSPillarNetworkA,1617,1617,1617,1974-06-06,161.39999999999512,161.40065,2015-01-01 00:26:57,bin1617,75, -CTSPillarNetworkA,1618,1618,1618,1974-06-07,161.4999999999951,161.50066,2015-01-01 00:26:58,bin1618,35, -CTSPillarNetworkA,1619,1619,1619,1974-06-08,161.5999999999951,161.60066,2015-01-01 00:26:59,bin1619,75, -CTSPillarNetworkA,1620,1620,1620,1974-06-09,161.6999999999951,161.70067,2015-01-01 00:27:00,bin1620,35, -CTSPillarNetworkA,1621,1621,1621,1974-06-10,161.7999999999951,161.80067,2015-01-01 00:27:01,bin1621,75, -CTSPillarNetworkA,1622,1622,1622,1974-06-11,161.8999999999951,161.90068,2015-01-01 00:27:02,bin1622,35, -CTSPillarNetworkA,1623,1623,1623,1974-06-12,161.99999999999508,162.00069,2015-01-01 00:27:03,bin1623,75, -CTSPillarNetworkA,1624,1624,1624,1974-06-13,162.09999999999508,162.1007,2015-01-01 00:27:04,bin1624,35, -CTSPillarNetworkA,1625,1625,1625,1974-06-14,162.19999999999507,162.2007,2015-01-01 00:27:05,bin1625,75, -CTSPillarNetworkA,1626,1626,1626,1974-06-15,162.29999999999507,162.3007,2015-01-01 00:27:06,bin1626,35, -CTSPillarNetworkA,1627,1627,1627,1974-06-16,162.39999999999506,162.40071,2015-01-01 00:27:07,bin1627,75, -CTSPillarNetworkA,1628,1628,1628,1974-06-17,162.49999999999505,162.50072,2015-01-01 00:27:08,bin1628,35, -CTSPillarNetworkA,1629,1629,1629,1974-06-18,162.59999999999505,162.60072,2015-01-01 00:27:09,bin1629,75, -CTSPillarNetworkA,1630,1630,1630,1974-06-19,162.69999999999504,162.70073,2015-01-01 00:27:10,bin1630,35, -CTSPillarNetworkA,1631,1631,1631,1974-06-20,162.79999999999504,162.80074,2015-01-01 00:27:11,bin1631,75, -CTSPillarNetworkA,1632,1632,1632,1974-06-21,162.89999999999503,162.90074,2015-01-01 00:27:12,bin1632,35, -CTSPillarNetworkA,1633,1633,1633,1974-06-22,162.99999999999503,163.00075,2015-01-01 00:27:13,bin1633,75, -CTSPillarNetworkA,1634,1634,1634,1974-06-23,163.09999999999502,163.10075,2015-01-01 00:27:14,bin1634,35, -CTSPillarNetworkA,1635,1635,1635,1974-06-24,163.19999999999501,163.20076,2015-01-01 00:27:15,bin1635,75, -CTSPillarNetworkA,1636,1636,1636,1974-06-25,163.299999999995,163.30077,2015-01-01 00:27:16,bin1636,35, -CTSPillarNetworkA,1637,1637,1637,1974-06-26,163.399999999995,163.40077,2015-01-01 00:27:17,bin1637,75, -CTSPillarNetworkA,1638,1638,1638,1974-06-27,163.499999999995,163.50078,2015-01-01 00:27:18,bin1638,35, -CTSPillarNetworkA,1639,1639,1639,1974-06-28,163.599999999995,163.60078,2015-01-01 00:27:19,bin1639,75, -CTSPillarNetworkA,1640,1640,1640,1974-06-29,163.699999999995,163.70079,2015-01-01 00:27:20,bin1640,35, -CTSPillarNetworkA,1641,1641,1641,1974-06-30,163.79999999999498,163.8008,2015-01-01 00:27:21,bin1641,75, -CTSPillarNetworkA,1642,1642,1642,1974-07-01,163.89999999999498,163.9008,2015-01-01 00:27:22,bin1642,35, -CTSPillarNetworkA,1643,1643,1643,1974-07-02,163.99999999999497,164.00081,2015-01-01 00:27:23,bin1643,75, -CTSPillarNetworkA,1644,1644,1644,1974-07-03,164.09999999999496,164.10081,2015-01-01 00:27:24,bin1644,35, -CTSPillarNetworkA,1645,1645,1645,1974-07-04,164.19999999999496,164.20082,2015-01-01 00:27:25,bin1645,75, -CTSPillarNetworkA,1646,1646,1646,1974-07-05,164.29999999999495,164.30083,2015-01-01 00:27:26,bin1646,35, -CTSPillarNetworkA,1647,1647,1647,1974-07-06,164.39999999999495,164.40083,2015-01-01 00:27:27,bin1647,75, -CTSPillarNetworkA,1648,1648,1648,1974-07-07,164.49999999999494,164.50084,2015-01-01 00:27:28,bin1648,35, -CTSPillarNetworkA,1649,1649,1649,1974-07-08,164.59999999999494,164.60085,2015-01-01 00:27:29,bin1649,75, -CTSPillarNetworkA,1650,1650,1650,1974-07-09,164.69999999999493,164.70085,2015-01-01 00:27:30,bin1650,35, -CTSPillarNetworkA,1651,1651,1651,1974-07-10,164.79999999999492,164.80086,2015-01-01 00:27:31,bin1651,75, -CTSPillarNetworkA,1652,1652,1652,1974-07-11,164.89999999999492,164.90086,2015-01-01 00:27:32,bin1652,35, -CTSPillarNetworkA,1653,1653,1653,1974-07-12,164.9999999999949,165.00087,2015-01-01 00:27:33,bin1653,75, -CTSPillarNetworkA,1654,1654,1654,1974-07-13,165.0999999999949,165.10088,2015-01-01 00:27:34,bin1654,35, -CTSPillarNetworkA,1655,1655,1655,1974-07-14,165.1999999999949,165.20088,2015-01-01 00:27:35,bin1655,75, -CTSPillarNetworkA,1656,1656,1656,1974-07-15,165.2999999999949,165.30089,2015-01-01 00:27:36,bin1656,35, -CTSPillarNetworkA,1657,1657,1657,1974-07-16,165.3999999999949,165.4009,2015-01-01 00:27:37,bin1657,75, -CTSPillarNetworkA,1658,1658,1658,1974-07-17,165.49999999999488,165.5009,2015-01-01 00:27:38,bin1658,35, -CTSPillarNetworkA,1659,1659,1659,1974-07-18,165.59999999999488,165.6009,2015-01-01 00:27:39,bin1659,75, -CTSPillarNetworkA,1660,1660,1660,1974-07-19,165.69999999999487,165.70091,2015-01-01 00:27:40,bin1660,35, -CTSPillarNetworkA,1661,1661,1661,1974-07-20,165.79999999999487,165.80092,2015-01-01 00:27:41,bin1661,75, -CTSPillarNetworkA,1662,1662,1662,1974-07-21,165.89999999999486,165.90092,2015-01-01 00:27:42,bin1662,35, -CTSPillarNetworkA,1663,1663,1663,1974-07-22,165.99999999999486,166.00093,2015-01-01 00:27:43,bin1663,75, -CTSPillarNetworkA,1664,1664,1664,1974-07-23,166.09999999999485,166.10094,2015-01-01 00:27:44,bin1664,35, -CTSPillarNetworkA,1665,1665,1665,1974-07-24,166.19999999999484,166.20094,2015-01-01 00:27:45,bin1665,75, -CTSPillarNetworkA,1666,1666,1666,1974-07-25,166.29999999999484,166.30095,2015-01-01 00:27:46,bin1666,35, -CTSPillarNetworkA,1667,1667,1667,1974-07-26,166.39999999999483,166.40096,2015-01-01 00:27:47,bin1667,75, -CTSPillarNetworkA,1668,1668,1668,1974-07-27,166.49999999999483,166.50096,2015-01-01 00:27:48,bin1668,35, -CTSPillarNetworkA,1669,1669,1669,1974-07-28,166.59999999999482,166.60097,2015-01-01 00:27:49,bin1669,75, -CTSPillarNetworkA,1670,1670,1670,1974-07-29,166.69999999999482,166.70097,2015-01-01 00:27:50,bin1670,35, -CTSPillarNetworkA,1671,1671,1671,1974-07-30,166.7999999999948,166.80098,2015-01-01 00:27:51,bin1671,75, -CTSPillarNetworkA,1672,1672,1672,1974-07-31,166.8999999999948,166.90099,2015-01-01 00:27:52,bin1672,35, -CTSPillarNetworkA,1673,1673,1673,1974-08-01,166.9999999999948,167.00099,2015-01-01 00:27:53,bin1673,75, -CTSPillarNetworkA,1674,1674,1674,1974-08-02,167.0999999999948,167.101,2015-01-01 00:27:54,bin1674,35, -CTSPillarNetworkA,1675,1675,1675,1974-08-03,167.1999999999948,167.201,2015-01-01 00:27:55,bin1675,75, -CTSPillarNetworkA,1676,1676,1676,1974-08-04,167.29999999999478,167.30101,2015-01-01 00:27:56,bin1676,35, -CTSPillarNetworkA,1677,1677,1677,1974-08-05,167.39999999999478,167.40102,2015-01-01 00:27:57,bin1677,75, -CTSPillarNetworkA,1678,1678,1678,1974-08-06,167.49999999999477,167.50102,2015-01-01 00:27:58,bin1678,35, -CTSPillarNetworkA,1679,1679,1679,1974-08-07,167.59999999999476,167.60103,2015-01-01 00:27:59,bin1679,75, -CTSPillarNetworkA,1680,1680,1680,1974-08-08,167.69999999999476,167.70103,2015-01-01 00:28:00,bin1680,35, -CTSPillarNetworkA,1681,1681,1681,1974-08-09,167.79999999999475,167.80104,2015-01-01 00:28:01,bin1681,75, -CTSPillarNetworkA,1682,1682,1682,1974-08-10,167.89999999999475,167.90105,2015-01-01 00:28:02,bin1682,35, -CTSPillarNetworkA,1683,1683,1683,1974-08-11,167.99999999999474,168.00105,2015-01-01 00:28:03,bin1683,75, -CTSPillarNetworkA,1684,1684,1684,1974-08-12,168.09999999999474,168.10106,2015-01-01 00:28:04,bin1684,35, -CTSPillarNetworkA,1685,1685,1685,1974-08-13,168.19999999999473,168.20107,2015-01-01 00:28:05,bin1685,75, -CTSPillarNetworkA,1686,1686,1686,1974-08-14,168.29999999999472,168.30107,2015-01-01 00:28:06,bin1686,35, -CTSPillarNetworkA,1687,1687,1687,1974-08-15,168.39999999999472,168.40108,2015-01-01 00:28:07,bin1687,75, -CTSPillarNetworkA,1688,1688,1688,1974-08-16,168.4999999999947,168.50108,2015-01-01 00:28:08,bin1688,35, -CTSPillarNetworkA,1689,1689,1689,1974-08-17,168.5999999999947,168.60109,2015-01-01 00:28:09,bin1689,75, -CTSPillarNetworkA,1690,1690,1690,1974-08-18,168.6999999999947,168.7011,2015-01-01 00:28:10,bin1690,35, -CTSPillarNetworkA,1691,1691,1691,1974-08-19,168.7999999999947,168.8011,2015-01-01 00:28:11,bin1691,75, -CTSPillarNetworkA,1692,1692,1692,1974-08-20,168.8999999999947,168.90111,2015-01-01 00:28:12,bin1692,35, -CTSPillarNetworkA,1693,1693,1693,1974-08-21,168.99999999999469,169.00111,2015-01-01 00:28:13,bin1693,75, -CTSPillarNetworkA,1694,1694,1694,1974-08-22,169.09999999999468,169.10112,2015-01-01 00:28:14,bin1694,35, -CTSPillarNetworkA,1695,1695,1695,1974-08-23,169.19999999999467,169.20113,2015-01-01 00:28:15,bin1695,75, -CTSPillarNetworkA,1696,1696,1696,1974-08-24,169.29999999999467,169.30113,2015-01-01 00:28:16,bin1696,35, -CTSPillarNetworkA,1697,1697,1697,1974-08-25,169.39999999999466,169.40114,2015-01-01 00:28:17,bin1697,75, -CTSPillarNetworkA,1698,1698,1698,1974-08-26,169.49999999999466,169.50114,2015-01-01 00:28:18,bin1698,35, -CTSPillarNetworkA,1699,1699,1699,1974-08-27,169.59999999999465,169.60115,2015-01-01 00:28:19,bin1699,75, -CTSPillarNetworkA,1700,1700,1700,1974-08-28,169.69999999999465,169.70116,2015-01-01 00:28:20,bin1700,35, -CTSPillarNetworkA,1701,1701,1701,1974-08-29,169.79999999999464,169.80116,2015-01-01 00:28:21,bin1701,75, -CTSPillarNetworkA,1702,1702,1702,1974-08-30,169.89999999999463,169.90117,2015-01-01 00:28:22,bin1702,35, -CTSPillarNetworkA,1703,1703,1703,1974-08-31,169.99999999999463,170.00117,2015-01-01 00:28:23,bin1703,75, -CTSPillarNetworkA,1704,1704,1704,1974-09-01,170.09999999999462,170.10118,2015-01-01 00:28:24,bin1704,35, -CTSPillarNetworkA,1705,1705,1705,1974-09-02,170.19999999999462,170.20119,2015-01-01 00:28:25,bin1705,75, -CTSPillarNetworkA,1706,1706,1706,1974-09-03,170.2999999999946,170.3012,2015-01-01 00:28:26,bin1706,35, -CTSPillarNetworkA,1707,1707,1707,1974-09-04,170.3999999999946,170.4012,2015-01-01 00:28:27,bin1707,75, -CTSPillarNetworkA,1708,1708,1708,1974-09-05,170.4999999999946,170.5012,2015-01-01 00:28:28,bin1708,35, -CTSPillarNetworkA,1709,1709,1709,1974-09-06,170.5999999999946,170.60121,2015-01-01 00:28:29,bin1709,75, -CTSPillarNetworkA,1710,1710,1710,1974-09-07,170.6999999999946,170.70122,2015-01-01 00:28:30,bin1710,35, -CTSPillarNetworkA,1711,1711,1711,1974-09-08,170.79999999999458,170.80122,2015-01-01 00:28:31,bin1711,75, -CTSPillarNetworkA,1712,1712,1712,1974-09-09,170.89999999999458,170.90123,2015-01-01 00:28:32,bin1712,35, -CTSPillarNetworkA,1713,1713,1713,1974-09-10,170.99999999999457,171.00124,2015-01-01 00:28:33,bin1713,75, -CTSPillarNetworkA,1714,1714,1714,1974-09-11,171.09999999999457,171.10124,2015-01-01 00:28:34,bin1714,35, -CTSPillarNetworkA,1715,1715,1715,1974-09-12,171.19999999999456,171.20125,2015-01-01 00:28:35,bin1715,75, -CTSPillarNetworkA,1716,1716,1716,1974-09-13,171.29999999999455,171.30125,2015-01-01 00:28:36,bin1716,35, -CTSPillarNetworkA,1717,1717,1717,1974-09-14,171.39999999999455,171.40126,2015-01-01 00:28:37,bin1717,75, -CTSPillarNetworkA,1718,1718,1718,1974-09-15,171.49999999999454,171.50127,2015-01-01 00:28:38,bin1718,35, -CTSPillarNetworkA,1719,1719,1719,1974-09-16,171.59999999999454,171.60127,2015-01-01 00:28:39,bin1719,75, -CTSPillarNetworkA,1720,1720,1720,1974-09-17,171.69999999999453,171.70128,2015-01-01 00:28:40,bin1720,35, -CTSPillarNetworkA,1721,1721,1721,1974-09-18,171.79999999999453,171.80128,2015-01-01 00:28:41,bin1721,75, -CTSPillarNetworkA,1722,1722,1722,1974-09-19,171.89999999999452,171.90129,2015-01-01 00:28:42,bin1722,35, -CTSPillarNetworkA,1723,1723,1723,1974-09-20,171.99999999999451,172.0013,2015-01-01 00:28:43,bin1723,75, -CTSPillarNetworkA,1724,1724,1724,1974-09-21,172.0999999999945,172.1013,2015-01-01 00:28:44,bin1724,35, -CTSPillarNetworkA,1725,1725,1725,1974-09-22,172.1999999999945,172.20131,2015-01-01 00:28:45,bin1725,75, -CTSPillarNetworkA,1726,1726,1726,1974-09-23,172.2999999999945,172.30132,2015-01-01 00:28:46,bin1726,35, -CTSPillarNetworkA,1727,1727,1727,1974-09-24,172.3999999999945,172.40132,2015-01-01 00:28:47,bin1727,75, -CTSPillarNetworkA,1728,1728,1728,1974-09-25,172.4999999999945,172.50133,2015-01-01 00:28:48,bin1728,35, -CTSPillarNetworkA,1729,1729,1729,1974-09-26,172.59999999999448,172.60133,2015-01-01 00:28:49,bin1729,75, -CTSPillarNetworkA,1730,1730,1730,1974-09-27,172.69999999999447,172.70134,2015-01-01 00:28:50,bin1730,35, -CTSPillarNetworkA,1731,1731,1731,1974-09-28,172.79999999999447,172.80135,2015-01-01 00:28:51,bin1731,75, -CTSPillarNetworkA,1732,1732,1732,1974-09-29,172.89999999999446,172.90135,2015-01-01 00:28:52,bin1732,35, -CTSPillarNetworkA,1733,1733,1733,1974-09-30,172.99999999999446,173.00136,2015-01-01 00:28:53,bin1733,75, -CTSPillarNetworkA,1734,1734,1734,1974-10-01,173.09999999999445,173.10136,2015-01-01 00:28:54,bin1734,35, -CTSPillarNetworkA,1735,1735,1735,1974-10-02,173.19999999999445,173.20137,2015-01-01 00:28:55,bin1735,75, -CTSPillarNetworkA,1736,1736,1736,1974-10-03,173.29999999999444,173.30138,2015-01-01 00:28:56,bin1736,35, -CTSPillarNetworkA,1737,1737,1737,1974-10-04,173.39999999999444,173.40138,2015-01-01 00:28:57,bin1737,75, -CTSPillarNetworkA,1738,1738,1738,1974-10-05,173.49999999999443,173.50139,2015-01-01 00:28:58,bin1738,35, -CTSPillarNetworkA,1739,1739,1739,1974-10-06,173.59999999999442,173.6014,2015-01-01 00:28:59,bin1739,75, -CTSPillarNetworkA,1740,1740,1740,1974-10-07,173.69999999999442,173.7014,2015-01-01 00:29:00,bin1740,35, -CTSPillarNetworkA,1741,1741,1741,1974-10-08,173.7999999999944,173.8014,2015-01-01 00:29:01,bin1741,75, -CTSPillarNetworkA,1742,1742,1742,1974-10-09,173.8999999999944,173.90141,2015-01-01 00:29:02,bin1742,35, -CTSPillarNetworkA,1743,1743,1743,1974-10-10,173.9999999999944,174.00142,2015-01-01 00:29:03,bin1743,75, -CTSPillarNetworkA,1744,1744,1744,1974-10-11,174.0999999999944,174.10143,2015-01-01 00:29:04,bin1744,35, -CTSPillarNetworkA,1745,1745,1745,1974-10-12,174.1999999999944,174.20143,2015-01-01 00:29:05,bin1745,75, -CTSPillarNetworkA,1746,1746,1746,1974-10-13,174.29999999999438,174.30144,2015-01-01 00:29:06,bin1746,35, -CTSPillarNetworkA,1747,1747,1747,1974-10-14,174.39999999999438,174.40144,2015-01-01 00:29:07,bin1747,75, -CTSPillarNetworkA,1748,1748,1748,1974-10-15,174.49999999999437,174.50145,2015-01-01 00:29:08,bin1748,35, -CTSPillarNetworkA,1749,1749,1749,1974-10-16,174.59999999999437,174.60146,2015-01-01 00:29:09,bin1749,75, -CTSPillarNetworkA,1750,1750,1750,1974-10-17,174.69999999999436,174.70146,2015-01-01 00:29:10,bin1750,35, -CTSPillarNetworkA,1751,1751,1751,1974-10-18,174.79999999999436,174.80147,2015-01-01 00:29:11,bin1751,75, -CTSPillarNetworkA,1752,1752,1752,1974-10-19,174.89999999999435,174.90147,2015-01-01 00:29:12,bin1752,35, -CTSPillarNetworkA,1753,1753,1753,1974-10-20,174.99999999999434,175.00148,2015-01-01 00:29:13,bin1753,75, -CTSPillarNetworkA,1754,1754,1754,1974-10-21,175.09999999999434,175.10149,2015-01-01 00:29:14,bin1754,35, -CTSPillarNetworkA,1755,1755,1755,1974-10-22,175.19999999999433,175.20149,2015-01-01 00:29:15,bin1755,75, -CTSPillarNetworkA,1756,1756,1756,1974-10-23,175.29999999999433,175.3015,2015-01-01 00:29:16,bin1756,35, -CTSPillarNetworkA,1757,1757,1757,1974-10-24,175.39999999999432,175.4015,2015-01-01 00:29:17,bin1757,75, -CTSPillarNetworkA,1758,1758,1758,1974-10-25,175.49999999999432,175.50151,2015-01-01 00:29:18,bin1758,35, -CTSPillarNetworkA,1759,1759,1759,1974-10-26,175.5999999999943,175.60152,2015-01-01 00:29:19,bin1759,75, -CTSPillarNetworkA,1760,1760,1760,1974-10-27,175.6999999999943,175.70152,2015-01-01 00:29:20,bin1760,35, -CTSPillarNetworkA,1761,1761,1761,1974-10-28,175.7999999999943,175.80153,2015-01-01 00:29:21,bin1761,75, -CTSPillarNetworkA,1762,1762,1762,1974-10-29,175.8999999999943,175.90154,2015-01-01 00:29:22,bin1762,35, -CTSPillarNetworkA,1763,1763,1763,1974-10-30,175.9999999999943,176.00154,2015-01-01 00:29:23,bin1763,75, -CTSPillarNetworkA,1764,1764,1764,1974-10-31,176.09999999999428,176.10155,2015-01-01 00:29:24,bin1764,35, -CTSPillarNetworkA,1765,1765,1765,1974-11-01,176.19999999999428,176.20155,2015-01-01 00:29:25,bin1765,75, -CTSPillarNetworkA,1766,1766,1766,1974-11-02,176.29999999999427,176.30156,2015-01-01 00:29:26,bin1766,35, -CTSPillarNetworkA,1767,1767,1767,1974-11-03,176.39999999999426,176.40157,2015-01-01 00:29:27,bin1767,75, -CTSPillarNetworkA,1768,1768,1768,1974-11-04,176.49999999999426,176.50157,2015-01-01 00:29:28,bin1768,35, -CTSPillarNetworkA,1769,1769,1769,1974-11-05,176.59999999999425,176.60158,2015-01-01 00:29:29,bin1769,75, -CTSPillarNetworkA,1770,1770,1770,1974-11-06,176.69999999999425,176.70158,2015-01-01 00:29:30,bin1770,35, -CTSPillarNetworkA,1771,1771,1771,1974-11-07,176.79999999999424,176.80159,2015-01-01 00:29:31,bin1771,75, -CTSPillarNetworkA,1772,1772,1772,1974-11-08,176.89999999999424,176.9016,2015-01-01 00:29:32,bin1772,35, -CTSPillarNetworkA,1773,1773,1773,1974-11-09,176.99999999999423,177.0016,2015-01-01 00:29:33,bin1773,75, -CTSPillarNetworkA,1774,1774,1774,1974-11-10,177.09999999999422,177.10161,2015-01-01 00:29:34,bin1774,35, -CTSPillarNetworkA,1775,1775,1775,1974-11-11,177.19999999999422,177.20161,2015-01-01 00:29:35,bin1775,75, -CTSPillarNetworkA,1776,1776,1776,1974-11-12,177.2999999999942,177.30162,2015-01-01 00:29:36,bin1776,35, -CTSPillarNetworkA,1777,1777,1777,1974-11-13,177.3999999999942,177.40163,2015-01-01 00:29:37,bin1777,75, -CTSPillarNetworkA,1778,1778,1778,1974-11-14,177.4999999999942,177.50163,2015-01-01 00:29:38,bin1778,35, -CTSPillarNetworkA,1779,1779,1779,1974-11-15,177.5999999999942,177.60164,2015-01-01 00:29:39,bin1779,75, -CTSPillarNetworkA,1780,1780,1780,1974-11-16,177.6999999999942,177.70164,2015-01-01 00:29:40,bin1780,35, -CTSPillarNetworkA,1781,1781,1781,1974-11-17,177.79999999999418,177.80165,2015-01-01 00:29:41,bin1781,75, -CTSPillarNetworkA,1782,1782,1782,1974-11-18,177.89999999999418,177.90166,2015-01-01 00:29:42,bin1782,35, -CTSPillarNetworkA,1783,1783,1783,1974-11-19,177.99999999999417,178.00166,2015-01-01 00:29:43,bin1783,75, -CTSPillarNetworkA,1784,1784,1784,1974-11-20,178.09999999999417,178.10167,2015-01-01 00:29:44,bin1784,35, -CTSPillarNetworkA,1785,1785,1785,1974-11-21,178.19999999999416,178.20168,2015-01-01 00:29:45,bin1785,75, -CTSPillarNetworkA,1786,1786,1786,1974-11-22,178.29999999999416,178.30168,2015-01-01 00:29:46,bin1786,35, -CTSPillarNetworkA,1787,1787,1787,1974-11-23,178.39999999999415,178.40169,2015-01-01 00:29:47,bin1787,75, -CTSPillarNetworkA,1788,1788,1788,1974-11-24,178.49999999999415,178.5017,2015-01-01 00:29:48,bin1788,35, -CTSPillarNetworkA,1789,1789,1789,1974-11-25,178.59999999999414,178.6017,2015-01-01 00:29:49,bin1789,75, -CTSPillarNetworkA,1790,1790,1790,1974-11-26,178.69999999999413,178.7017,2015-01-01 00:29:50,bin1790,35, -CTSPillarNetworkA,1791,1791,1791,1974-11-27,178.79999999999413,178.80171,2015-01-01 00:29:51,bin1791,75, -CTSPillarNetworkA,1792,1792,1792,1974-11-28,178.89999999999412,178.90172,2015-01-01 00:29:52,bin1792,35, -CTSPillarNetworkA,1793,1793,1793,1974-11-29,178.99999999999412,179.00172,2015-01-01 00:29:53,bin1793,75, -CTSPillarNetworkA,1794,1794,1794,1974-11-30,179.0999999999941,179.10173,2015-01-01 00:29:54,bin1794,35, -CTSPillarNetworkA,1795,1795,1795,1974-12-01,179.1999999999941,179.20174,2015-01-01 00:29:55,bin1795,75, -CTSPillarNetworkA,1796,1796,1796,1974-12-02,179.2999999999941,179.30174,2015-01-01 00:29:56,bin1796,35, -CTSPillarNetworkA,1797,1797,1797,1974-12-03,179.3999999999941,179.40175,2015-01-01 00:29:57,bin1797,75, -CTSPillarNetworkA,1798,1798,1798,1974-12-04,179.4999999999941,179.50175,2015-01-01 00:29:58,bin1798,35, -CTSPillarNetworkA,1799,1799,1799,1974-12-05,179.59999999999408,179.60176,2015-01-01 00:29:59,bin1799,75, -CTSPillarNetworkA,1800,1800,1800,1974-12-06,179.69999999999408,179.70177,2015-01-01 00:30:00,bin1800,35, -CTSPillarNetworkA,1801,1801,1801,1974-12-07,179.79999999999407,179.80177,2015-01-01 00:30:01,bin1801,75, -CTSPillarNetworkA,1802,1802,1802,1974-12-08,179.89999999999407,179.90178,2015-01-01 00:30:02,bin1802,35, -CTSPillarNetworkA,1803,1803,1803,1974-12-09,179.99999999999406,180.00179,2015-01-01 00:30:03,bin1803,75, -CTSPillarNetworkA,1804,1804,1804,1974-12-10,180.09999999999405,180.10179,2015-01-01 00:30:04,bin1804,35, -CTSPillarNetworkA,1805,1805,1805,1974-12-11,180.19999999999405,180.2018,2015-01-01 00:30:05,bin1805,75, -CTSPillarNetworkA,1806,1806,1806,1974-12-12,180.29999999999404,180.3018,2015-01-01 00:30:06,bin1806,35, -CTSPillarNetworkA,1807,1807,1807,1974-12-13,180.39999999999404,180.40181,2015-01-01 00:30:07,bin1807,75, -CTSPillarNetworkA,1808,1808,1808,1974-12-14,180.49999999999403,180.50182,2015-01-01 00:30:08,bin1808,35, -CTSPillarNetworkA,1809,1809,1809,1974-12-15,180.59999999999403,180.60182,2015-01-01 00:30:09,bin1809,75, -CTSPillarNetworkA,1810,1810,1810,1974-12-16,180.69999999999402,180.70183,2015-01-01 00:30:10,bin1810,35, -CTSPillarNetworkA,1811,1811,1811,1974-12-17,180.79999999999401,180.80183,2015-01-01 00:30:11,bin1811,75, -CTSPillarNetworkA,1812,1812,1812,1974-12-18,180.899999999994,180.90184,2015-01-01 00:30:12,bin1812,35, -CTSPillarNetworkA,1813,1813,1813,1974-12-19,180.999999999994,181.00185,2015-01-01 00:30:13,bin1813,75, -CTSPillarNetworkA,1814,1814,1814,1974-12-20,181.099999999994,181.10185,2015-01-01 00:30:14,bin1814,35, -CTSPillarNetworkA,1815,1815,1815,1974-12-21,181.199999999994,181.20186,2015-01-01 00:30:15,bin1815,75, -CTSPillarNetworkA,1816,1816,1816,1974-12-22,181.299999999994,181.30186,2015-01-01 00:30:16,bin1816,35, -CTSPillarNetworkA,1817,1817,1817,1974-12-23,181.39999999999398,181.40187,2015-01-01 00:30:17,bin1817,75, -CTSPillarNetworkA,1818,1818,1818,1974-12-24,181.49999999999397,181.50188,2015-01-01 00:30:18,bin1818,35, -CTSPillarNetworkA,1819,1819,1819,1974-12-25,181.59999999999397,181.60188,2015-01-01 00:30:19,bin1819,75, -CTSPillarNetworkA,1820,1820,1820,1974-12-26,181.69999999999396,181.70189,2015-01-01 00:30:20,bin1820,35, -CTSPillarNetworkA,1821,1821,1821,1974-12-27,181.79999999999396,181.8019,2015-01-01 00:30:21,bin1821,75, -CTSPillarNetworkA,1822,1822,1822,1974-12-28,181.89999999999395,181.9019,2015-01-01 00:30:22,bin1822,35, -CTSPillarNetworkA,1823,1823,1823,1974-12-29,181.99999999999395,182.0019,2015-01-01 00:30:23,bin1823,75, -CTSPillarNetworkA,1824,1824,1824,1974-12-30,182.09999999999394,182.10191,2015-01-01 00:30:24,bin1824,35, -CTSPillarNetworkA,1825,1825,1825,1974-12-31,182.19999999999393,182.20192,2015-01-01 00:30:25,bin1825,75, -CTSPillarNetworkA,1826,1826,1826,1975-01-01,182.29999999999393,182.30193,2015-01-01 00:30:26,bin1826,35, -CTSPillarNetworkA,1827,1827,1827,1975-01-02,182.39999999999392,182.40193,2015-01-01 00:30:27,bin1827,75, -CTSPillarNetworkA,1828,1828,1828,1975-01-03,182.49999999999392,182.50194,2015-01-01 00:30:28,bin1828,35, -CTSPillarNetworkA,1829,1829,1829,1975-01-04,182.5999999999939,182.60194,2015-01-01 00:30:29,bin1829,75, -CTSPillarNetworkA,1830,1830,1830,1975-01-05,182.6999999999939,182.70195,2015-01-01 00:30:30,bin1830,35, -CTSPillarNetworkA,1831,1831,1831,1975-01-06,182.7999999999939,182.80196,2015-01-01 00:30:31,bin1831,75, -CTSPillarNetworkA,1832,1832,1832,1975-01-07,182.8999999999939,182.90196,2015-01-01 00:30:32,bin1832,35, -CTSPillarNetworkA,1833,1833,1833,1975-01-08,182.9999999999939,183.00197,2015-01-01 00:30:33,bin1833,75, -CTSPillarNetworkA,1834,1834,1834,1975-01-09,183.09999999999388,183.10197,2015-01-01 00:30:34,bin1834,35, -CTSPillarNetworkA,1835,1835,1835,1975-01-10,183.19999999999388,183.20198,2015-01-01 00:30:35,bin1835,75, -CTSPillarNetworkA,1836,1836,1836,1975-01-11,183.29999999999387,183.30199,2015-01-01 00:30:36,bin1836,35, -CTSPillarNetworkA,1837,1837,1837,1975-01-12,183.39999999999387,183.402,2015-01-01 00:30:37,bin1837,75, -CTSPillarNetworkA,1838,1838,1838,1975-01-13,183.49999999999386,183.502,2015-01-01 00:30:38,bin1838,35, -CTSPillarNetworkA,1839,1839,1839,1975-01-14,183.59999999999386,183.602,2015-01-01 00:30:39,bin1839,75, -CTSPillarNetworkA,1840,1840,1840,1975-01-15,183.69999999999385,183.70201,2015-01-01 00:30:40,bin1840,35, -CTSPillarNetworkA,1841,1841,1841,1975-01-16,183.79999999999384,183.80202,2015-01-01 00:30:41,bin1841,75, -CTSPillarNetworkA,1842,1842,1842,1975-01-17,183.89999999999384,183.90202,2015-01-01 00:30:42,bin1842,35, -CTSPillarNetworkA,1843,1843,1843,1975-01-18,183.99999999999383,184.00203,2015-01-01 00:30:43,bin1843,75, -CTSPillarNetworkA,1844,1844,1844,1975-01-19,184.09999999999383,184.10204,2015-01-01 00:30:44,bin1844,35, -CTSPillarNetworkA,1845,1845,1845,1975-01-20,184.19999999999382,184.20204,2015-01-01 00:30:45,bin1845,75, -CTSPillarNetworkA,1846,1846,1846,1975-01-21,184.29999999999382,184.30205,2015-01-01 00:30:46,bin1846,35, -CTSPillarNetworkA,1847,1847,1847,1975-01-22,184.3999999999938,184.40205,2015-01-01 00:30:47,bin1847,75, -CTSPillarNetworkA,1848,1848,1848,1975-01-23,184.4999999999938,184.50206,2015-01-01 00:30:48,bin1848,35, -CTSPillarNetworkA,1849,1849,1849,1975-01-24,184.5999999999938,184.60207,2015-01-01 00:30:49,bin1849,75, -CTSPillarNetworkA,1850,1850,1850,1975-01-25,184.6999999999938,184.70207,2015-01-01 00:30:50,bin1850,35, -CTSPillarNetworkA,1851,1851,1851,1975-01-26,184.7999999999938,184.80208,2015-01-01 00:30:51,bin1851,75, -CTSPillarNetworkA,1852,1852,1852,1975-01-27,184.89999999999378,184.90208,2015-01-01 00:30:52,bin1852,35, -CTSPillarNetworkA,1853,1853,1853,1975-01-28,184.99999999999378,185.00209,2015-01-01 00:30:53,bin1853,75, -CTSPillarNetworkA,1854,1854,1854,1975-01-29,185.09999999999377,185.1021,2015-01-01 00:30:54,bin1854,35, -CTSPillarNetworkA,1855,1855,1855,1975-01-30,185.19999999999376,185.2021,2015-01-01 00:30:55,bin1855,75, -CTSPillarNetworkA,1856,1856,1856,1975-01-31,185.29999999999376,185.30211,2015-01-01 00:30:56,bin1856,35, -CTSPillarNetworkA,1857,1857,1857,1975-02-01,185.39999999999375,185.40211,2015-01-01 00:30:57,bin1857,75, -CTSPillarNetworkA,1858,1858,1858,1975-02-02,185.49999999999375,185.50212,2015-01-01 00:30:58,bin1858,35, -CTSPillarNetworkA,1859,1859,1859,1975-02-03,185.59999999999374,185.60213,2015-01-01 00:30:59,bin1859,75, -CTSPillarNetworkA,1860,1860,1860,1975-02-04,185.69999999999374,185.70213,2015-01-01 00:31:00,bin1860,35, -CTSPillarNetworkA,1861,1861,1861,1975-02-05,185.79999999999373,185.80214,2015-01-01 00:31:01,bin1861,75, -CTSPillarNetworkA,1862,1862,1862,1975-02-06,185.89999999999372,185.90215,2015-01-01 00:31:02,bin1862,35, -CTSPillarNetworkA,1863,1863,1863,1975-02-07,185.99999999999372,186.00215,2015-01-01 00:31:03,bin1863,75, -CTSPillarNetworkA,1864,1864,1864,1975-02-08,186.0999999999937,186.10216,2015-01-01 00:31:04,bin1864,35, -CTSPillarNetworkA,1865,1865,1865,1975-02-09,186.1999999999937,186.20216,2015-01-01 00:31:05,bin1865,75, -CTSPillarNetworkA,1866,1866,1866,1975-02-10,186.2999999999937,186.30217,2015-01-01 00:31:06,bin1866,35, -CTSPillarNetworkA,1867,1867,1867,1975-02-11,186.3999999999937,186.40218,2015-01-01 00:31:07,bin1867,75, -CTSPillarNetworkA,1868,1868,1868,1975-02-12,186.4999999999937,186.50218,2015-01-01 00:31:08,bin1868,35, -CTSPillarNetworkA,1869,1869,1869,1975-02-13,186.59999999999368,186.60219,2015-01-01 00:31:09,bin1869,75, -CTSPillarNetworkA,1870,1870,1870,1975-02-14,186.69999999999368,186.7022,2015-01-01 00:31:10,bin1870,35, -CTSPillarNetworkA,1871,1871,1871,1975-02-15,186.79999999999367,186.8022,2015-01-01 00:31:11,bin1871,75, -CTSPillarNetworkA,1872,1872,1872,1975-02-16,186.89999999999367,186.9022,2015-01-01 00:31:12,bin1872,35, -CTSPillarNetworkA,1873,1873,1873,1975-02-17,186.99999999999366,187.00221,2015-01-01 00:31:13,bin1873,75, -CTSPillarNetworkA,1874,1874,1874,1975-02-18,187.09999999999366,187.10222,2015-01-01 00:31:14,bin1874,35, -CTSPillarNetworkA,1875,1875,1875,1975-02-19,187.19999999999365,187.20222,2015-01-01 00:31:15,bin1875,75, -CTSPillarNetworkA,1876,1876,1876,1975-02-20,187.29999999999364,187.30223,2015-01-01 00:31:16,bin1876,35, -CTSPillarNetworkA,1877,1877,1877,1975-02-21,187.39999999999364,187.40224,2015-01-01 00:31:17,bin1877,75, -CTSPillarNetworkA,1878,1878,1878,1975-02-22,187.49999999999363,187.50224,2015-01-01 00:31:18,bin1878,35, -CTSPillarNetworkA,1879,1879,1879,1975-02-23,187.59999999999363,187.60225,2015-01-01 00:31:19,bin1879,75, -CTSPillarNetworkA,1880,1880,1880,1975-02-24,187.69999999999362,187.70226,2015-01-01 00:31:20,bin1880,35, -CTSPillarNetworkA,1881,1881,1881,1975-02-25,187.79999999999362,187.80226,2015-01-01 00:31:21,bin1881,75, -CTSPillarNetworkA,1882,1882,1882,1975-02-26,187.8999999999936,187.90227,2015-01-01 00:31:22,bin1882,35, -CTSPillarNetworkA,1883,1883,1883,1975-02-27,187.9999999999936,188.00227,2015-01-01 00:31:23,bin1883,75, -CTSPillarNetworkA,1884,1884,1884,1975-02-28,188.0999999999936,188.10228,2015-01-01 00:31:24,bin1884,35, -CTSPillarNetworkA,1885,1885,1885,1975-03-01,188.1999999999936,188.20229,2015-01-01 00:31:25,bin1885,75, -CTSPillarNetworkA,1886,1886,1886,1975-03-02,188.2999999999936,188.30229,2015-01-01 00:31:26,bin1886,35, -CTSPillarNetworkA,1887,1887,1887,1975-03-03,188.39999999999358,188.4023,2015-01-01 00:31:27,bin1887,75, -CTSPillarNetworkA,1888,1888,1888,1975-03-04,188.49999999999358,188.5023,2015-01-01 00:31:28,bin1888,35, -CTSPillarNetworkA,1889,1889,1889,1975-03-05,188.59999999999357,188.60231,2015-01-01 00:31:29,bin1889,75, -CTSPillarNetworkA,1890,1890,1890,1975-03-06,188.69999999999357,188.70232,2015-01-01 00:31:30,bin1890,35, -CTSPillarNetworkA,1891,1891,1891,1975-03-07,188.79999999999356,188.80232,2015-01-01 00:31:31,bin1891,75, -CTSPillarNetworkA,1892,1892,1892,1975-03-08,188.89999999999355,188.90233,2015-01-01 00:31:32,bin1892,35, -CTSPillarNetworkA,1893,1893,1893,1975-03-09,188.99999999999355,189.00233,2015-01-01 00:31:33,bin1893,75, -CTSPillarNetworkA,1894,1894,1894,1975-03-10,189.09999999999354,189.10234,2015-01-01 00:31:34,bin1894,35, -CTSPillarNetworkA,1895,1895,1895,1975-03-11,189.19999999999354,189.20235,2015-01-01 00:31:35,bin1895,75, -CTSPillarNetworkA,1896,1896,1896,1975-03-12,189.29999999999353,189.30235,2015-01-01 00:31:36,bin1896,35, -CTSPillarNetworkA,1897,1897,1897,1975-03-13,189.39999999999353,189.40236,2015-01-01 00:31:37,bin1897,75, -CTSPillarNetworkA,1898,1898,1898,1975-03-14,189.49999999999352,189.50237,2015-01-01 00:31:38,bin1898,35, -CTSPillarNetworkA,1899,1899,1899,1975-03-15,189.5999999999935,189.60237,2015-01-01 00:31:39,bin1899,75, -CTSPillarNetworkA,1900,1900,1900,1975-03-16,189.6999999999935,189.70238,2015-01-01 00:31:40,bin1900,35, -CTSPillarNetworkA,1901,1901,1901,1975-03-17,189.7999999999935,189.80238,2015-01-01 00:31:41,bin1901,75, -CTSPillarNetworkA,1902,1902,1902,1975-03-18,189.8999999999935,189.90239,2015-01-01 00:31:42,bin1902,35, -CTSPillarNetworkA,1903,1903,1903,1975-03-19,189.9999999999935,190.0024,2015-01-01 00:31:43,bin1903,75, -CTSPillarNetworkA,1904,1904,1904,1975-03-20,190.09999999999349,190.1024,2015-01-01 00:31:44,bin1904,35, -CTSPillarNetworkA,1905,1905,1905,1975-03-21,190.19999999999348,190.20241,2015-01-01 00:31:45,bin1905,75, -CTSPillarNetworkA,1906,1906,1906,1975-03-22,190.29999999999347,190.30241,2015-01-01 00:31:46,bin1906,35, -CTSPillarNetworkA,1907,1907,1907,1975-03-23,190.39999999999347,190.40242,2015-01-01 00:31:47,bin1907,75, -CTSPillarNetworkA,1908,1908,1908,1975-03-24,190.49999999999346,190.50243,2015-01-01 00:31:48,bin1908,35, -CTSPillarNetworkA,1909,1909,1909,1975-03-25,190.59999999999346,190.60243,2015-01-01 00:31:49,bin1909,75, -CTSPillarNetworkA,1910,1910,1910,1975-03-26,190.69999999999345,190.70244,2015-01-01 00:31:50,bin1910,35, -CTSPillarNetworkA,1911,1911,1911,1975-03-27,190.79999999999345,190.80244,2015-01-01 00:31:51,bin1911,75, -CTSPillarNetworkA,1912,1912,1912,1975-03-28,190.89999999999344,190.90245,2015-01-01 00:31:52,bin1912,35, -CTSPillarNetworkA,1913,1913,1913,1975-03-29,190.99999999999343,191.00246,2015-01-01 00:31:53,bin1913,75, -CTSPillarNetworkA,1914,1914,1914,1975-03-30,191.09999999999343,191.10246,2015-01-01 00:31:54,bin1914,35, -CTSPillarNetworkA,1915,1915,1915,1975-03-31,191.19999999999342,191.20247,2015-01-01 00:31:55,bin1915,75, -CTSPillarNetworkA,1916,1916,1916,1975-04-01,191.29999999999342,191.30247,2015-01-01 00:31:56,bin1916,35, -CTSPillarNetworkA,1917,1917,1917,1975-04-02,191.3999999999934,191.40248,2015-01-01 00:31:57,bin1917,75, -CTSPillarNetworkA,1918,1918,1918,1975-04-03,191.4999999999934,191.50249,2015-01-01 00:31:58,bin1918,35, -CTSPillarNetworkA,1919,1919,1919,1975-04-04,191.5999999999934,191.6025,2015-01-01 00:31:59,bin1919,75, -CTSPillarNetworkA,1920,1920,1920,1975-04-05,191.6999999999934,191.7025,2015-01-01 00:32:00,bin1920,35, -CTSPillarNetworkA,1921,1921,1921,1975-04-06,191.7999999999934,191.8025,2015-01-01 00:32:01,bin1921,75, -CTSPillarNetworkA,1922,1922,1922,1975-04-07,191.89999999999338,191.90251,2015-01-01 00:32:02,bin1922,35, -CTSPillarNetworkA,1923,1923,1923,1975-04-08,191.99999999999338,192.00252,2015-01-01 00:32:03,bin1923,75, -CTSPillarNetworkA,1924,1924,1924,1975-04-09,192.09999999999337,192.10252,2015-01-01 00:32:04,bin1924,35, -CTSPillarNetworkA,1925,1925,1925,1975-04-10,192.19999999999337,192.20253,2015-01-01 00:32:05,bin1925,75, -CTSPillarNetworkA,1926,1926,1926,1975-04-11,192.29999999999336,192.30254,2015-01-01 00:32:06,bin1926,35, -CTSPillarNetworkA,1927,1927,1927,1975-04-12,192.39999999999336,192.40254,2015-01-01 00:32:07,bin1927,75, -CTSPillarNetworkA,1928,1928,1928,1975-04-13,192.49999999999335,192.50255,2015-01-01 00:32:08,bin1928,35, -CTSPillarNetworkA,1929,1929,1929,1975-04-14,192.59999999999334,192.60255,2015-01-01 00:32:09,bin1929,75, -CTSPillarNetworkA,1930,1930,1930,1975-04-15,192.69999999999334,192.70256,2015-01-01 00:32:10,bin1930,35, -CTSPillarNetworkA,1931,1931,1931,1975-04-16,192.79999999999333,192.80257,2015-01-01 00:32:11,bin1931,75, -CTSPillarNetworkA,1932,1932,1932,1975-04-17,192.89999999999333,192.90257,2015-01-01 00:32:12,bin1932,35, -CTSPillarNetworkA,1933,1933,1933,1975-04-18,192.99999999999332,193.00258,2015-01-01 00:32:13,bin1933,75, -CTSPillarNetworkA,1934,1934,1934,1975-04-19,193.09999999999332,193.10258,2015-01-01 00:32:14,bin1934,35, -CTSPillarNetworkA,1935,1935,1935,1975-04-20,193.1999999999933,193.20259,2015-01-01 00:32:15,bin1935,75, -CTSPillarNetworkA,1936,1936,1936,1975-04-21,193.2999999999933,193.3026,2015-01-01 00:32:16,bin1936,35, -CTSPillarNetworkA,1937,1937,1937,1975-04-22,193.3999999999933,193.4026,2015-01-01 00:32:17,bin1937,75, -CTSPillarNetworkA,1938,1938,1938,1975-04-23,193.4999999999933,193.50261,2015-01-01 00:32:18,bin1938,35, -CTSPillarNetworkA,1939,1939,1939,1975-04-24,193.5999999999933,193.60262,2015-01-01 00:32:19,bin1939,75, -CTSPillarNetworkA,1940,1940,1940,1975-04-25,193.69999999999328,193.70262,2015-01-01 00:32:20,bin1940,35, -CTSPillarNetworkA,1941,1941,1941,1975-04-26,193.79999999999328,193.80263,2015-01-01 00:32:21,bin1941,75, -CTSPillarNetworkA,1942,1942,1942,1975-04-27,193.89999999999327,193.90263,2015-01-01 00:32:22,bin1942,35, -CTSPillarNetworkA,1943,1943,1943,1975-04-28,193.99999999999326,194.00264,2015-01-01 00:32:23,bin1943,75, -CTSPillarNetworkA,1944,1944,1944,1975-04-29,194.09999999999326,194.10265,2015-01-01 00:32:24,bin1944,35, -CTSPillarNetworkA,1945,1945,1945,1975-04-30,194.19999999999325,194.20265,2015-01-01 00:32:25,bin1945,75, -CTSPillarNetworkA,1946,1946,1946,1975-05-01,194.29999999999325,194.30266,2015-01-01 00:32:26,bin1946,35, -CTSPillarNetworkA,1947,1947,1947,1975-05-02,194.39999999999324,194.40266,2015-01-01 00:32:27,bin1947,75, -CTSPillarNetworkA,1948,1948,1948,1975-05-03,194.49999999999324,194.50267,2015-01-01 00:32:28,bin1948,35, -CTSPillarNetworkA,1949,1949,1949,1975-05-04,194.59999999999323,194.60268,2015-01-01 00:32:29,bin1949,75, -CTSPillarNetworkA,1950,1950,1950,1975-05-05,194.69999999999322,194.70268,2015-01-01 00:32:30,bin1950,35, -CTSPillarNetworkA,1951,1951,1951,1975-05-06,194.79999999999322,194.80269,2015-01-01 00:32:31,bin1951,75, -CTSPillarNetworkA,1952,1952,1952,1975-05-07,194.8999999999932,194.9027,2015-01-01 00:32:32,bin1952,35, -CTSPillarNetworkA,1953,1953,1953,1975-05-08,194.9999999999932,195.0027,2015-01-01 00:32:33,bin1953,75, -CTSPillarNetworkA,1954,1954,1954,1975-05-09,195.0999999999932,195.1027,2015-01-01 00:32:34,bin1954,35, -CTSPillarNetworkA,1955,1955,1955,1975-05-10,195.1999999999932,195.20271,2015-01-01 00:32:35,bin1955,75, -CTSPillarNetworkA,1956,1956,1956,1975-05-11,195.2999999999932,195.30272,2015-01-01 00:32:36,bin1956,35, -CTSPillarNetworkA,1957,1957,1957,1975-05-12,195.39999999999318,195.40273,2015-01-01 00:32:37,bin1957,75, -CTSPillarNetworkA,1958,1958,1958,1975-05-13,195.49999999999318,195.50273,2015-01-01 00:32:38,bin1958,35, -CTSPillarNetworkA,1959,1959,1959,1975-05-14,195.59999999999317,195.60274,2015-01-01 00:32:39,bin1959,75, -CTSPillarNetworkA,1960,1960,1960,1975-05-15,195.69999999999317,195.70274,2015-01-01 00:32:40,bin1960,35, -CTSPillarNetworkA,1961,1961,1961,1975-05-16,195.79999999999316,195.80275,2015-01-01 00:32:41,bin1961,75, -CTSPillarNetworkA,1962,1962,1962,1975-05-17,195.89999999999316,195.90276,2015-01-01 00:32:42,bin1962,35, -CTSPillarNetworkA,1963,1963,1963,1975-05-18,195.99999999999315,196.00276,2015-01-01 00:32:43,bin1963,75, -CTSPillarNetworkA,1964,1964,1964,1975-05-19,196.09999999999314,196.10277,2015-01-01 00:32:44,bin1964,35, -CTSPillarNetworkA,1965,1965,1965,1975-05-20,196.19999999999314,196.20277,2015-01-01 00:32:45,bin1965,75, -CTSPillarNetworkA,1966,1966,1966,1975-05-21,196.29999999999313,196.30278,2015-01-01 00:32:46,bin1966,35, -CTSPillarNetworkA,1967,1967,1967,1975-05-22,196.39999999999313,196.40279,2015-01-01 00:32:47,bin1967,75, -CTSPillarNetworkA,1968,1968,1968,1975-05-23,196.49999999999312,196.50279,2015-01-01 00:32:48,bin1968,35, -CTSPillarNetworkA,1969,1969,1969,1975-05-24,196.59999999999312,196.6028,2015-01-01 00:32:49,bin1969,75, -CTSPillarNetworkA,1970,1970,1970,1975-05-25,196.6999999999931,196.7028,2015-01-01 00:32:50,bin1970,35, -CTSPillarNetworkA,1971,1971,1971,1975-05-26,196.7999999999931,196.80281,2015-01-01 00:32:51,bin1971,75, -CTSPillarNetworkA,1972,1972,1972,1975-05-27,196.8999999999931,196.90282,2015-01-01 00:32:52,bin1972,35, -CTSPillarNetworkA,1973,1973,1973,1975-05-28,196.9999999999931,197.00282,2015-01-01 00:32:53,bin1973,75, -CTSPillarNetworkA,1974,1974,1974,1975-05-29,197.0999999999931,197.10283,2015-01-01 00:32:54,bin1974,35, -CTSPillarNetworkA,1975,1975,1975,1975-05-30,197.19999999999308,197.20284,2015-01-01 00:32:55,bin1975,75, -CTSPillarNetworkA,1976,1976,1976,1975-05-31,197.29999999999308,197.30284,2015-01-01 00:32:56,bin1976,35, -CTSPillarNetworkA,1977,1977,1977,1975-06-01,197.39999999999307,197.40285,2015-01-01 00:32:57,bin1977,75, -CTSPillarNetworkA,1978,1978,1978,1975-06-02,197.49999999999307,197.50285,2015-01-01 00:32:58,bin1978,35, -CTSPillarNetworkA,1979,1979,1979,1975-06-03,197.59999999999306,197.60286,2015-01-01 00:32:59,bin1979,75, -CTSPillarNetworkA,1980,1980,1980,1975-06-04,197.69999999999305,197.70287,2015-01-01 00:33:00,bin1980,35, -CTSPillarNetworkA,1981,1981,1981,1975-06-05,197.79999999999305,197.80287,2015-01-01 00:33:01,bin1981,75, -CTSPillarNetworkA,1982,1982,1982,1975-06-06,197.89999999999304,197.90288,2015-01-01 00:33:02,bin1982,35, -CTSPillarNetworkA,1983,1983,1983,1975-06-07,197.99999999999304,198.00288,2015-01-01 00:33:03,bin1983,75, -CTSPillarNetworkA,1984,1984,1984,1975-06-08,198.09999999999303,198.10289,2015-01-01 00:33:04,bin1984,35, -CTSPillarNetworkA,1985,1985,1985,1975-06-09,198.19999999999303,198.2029,2015-01-01 00:33:05,bin1985,75, -CTSPillarNetworkA,1986,1986,1986,1975-06-10,198.29999999999302,198.3029,2015-01-01 00:33:06,bin1986,35, -CTSPillarNetworkA,1987,1987,1987,1975-06-11,198.399999999993,198.40291,2015-01-01 00:33:07,bin1987,75, -CTSPillarNetworkA,1988,1988,1988,1975-06-12,198.499999999993,198.50291,2015-01-01 00:33:08,bin1988,35, -CTSPillarNetworkA,1989,1989,1989,1975-06-13,198.599999999993,198.60292,2015-01-01 00:33:09,bin1989,75, -CTSPillarNetworkA,1990,1990,1990,1975-06-14,198.699999999993,198.70293,2015-01-01 00:33:10,bin1990,35, -CTSPillarNetworkA,1991,1991,1991,1975-06-15,198.799999999993,198.80293,2015-01-01 00:33:11,bin1991,75, -CTSPillarNetworkA,1992,1992,1992,1975-06-16,198.89999999999299,198.90294,2015-01-01 00:33:12,bin1992,35, -CTSPillarNetworkA,1993,1993,1993,1975-06-17,198.99999999999298,199.00294,2015-01-01 00:33:13,bin1993,75, -CTSPillarNetworkA,1994,1994,1994,1975-06-18,199.09999999999297,199.10295,2015-01-01 00:33:14,bin1994,35, -CTSPillarNetworkA,1995,1995,1995,1975-06-19,199.19999999999297,199.20296,2015-01-01 00:33:15,bin1995,75, -CTSPillarNetworkA,1996,1996,1996,1975-06-20,199.29999999999296,199.30296,2015-01-01 00:33:16,bin1996,35, -CTSPillarNetworkA,1997,1997,1997,1975-06-21,199.39999999999296,199.40297,2015-01-01 00:33:17,bin1997,75, -CTSPillarNetworkA,1998,1998,1998,1975-06-22,199.49999999999295,199.50298,2015-01-01 00:33:18,bin1998,35, -CTSPillarNetworkA,1999,1999,1999,1975-06-23,199.59999999999295,199.60298,2015-01-01 00:33:19,bin1999,75, -CTSPillarNetworkA,2000,2000,2000,1975-06-24,199.69999999999294,199.70299,2015-01-01 00:33:20,bin2000,35, -CTSPillarNetworkA,2001,2001,2001,1975-06-25,199.79999999999293,199.803,2015-01-01 00:33:21,bin2001,75, -CTSPillarNetworkA,2002,2002,2002,1975-06-26,199.89999999999293,199.903,2015-01-01 00:33:22,bin2002,35, -CTSPillarNetworkA,2003,2003,2003,1975-06-27,199.99999999999292,200.003,2015-01-01 00:33:23,bin2003,75, -CTSPillarNetworkA,2004,2004,2004,1975-06-28,200.09999999999292,200.10301,2015-01-01 00:33:24,bin2004,35, -CTSPillarNetworkA,2005,2005,2005,1975-06-29,200.1999999999929,200.20302,2015-01-01 00:33:25,bin2005,75, -CTSPillarNetworkA,2006,2006,2006,1975-06-30,200.2999999999929,200.30302,2015-01-01 00:33:26,bin2006,35, -CTSPillarNetworkA,2007,2007,2007,1975-07-01,200.3999999999929,200.40303,2015-01-01 00:33:27,bin2007,75, -CTSPillarNetworkA,2008,2008,2008,1975-07-02,200.4999999999929,200.50304,2015-01-01 00:33:28,bin2008,35, -CTSPillarNetworkA,2009,2009,2009,1975-07-03,200.5999999999929,200.60304,2015-01-01 00:33:29,bin2009,75, -CTSPillarNetworkA,2010,2010,2010,1975-07-04,200.69999999999288,200.70305,2015-01-01 00:33:30,bin2010,35, -CTSPillarNetworkA,2011,2011,2011,1975-07-05,200.79999999999288,200.80305,2015-01-01 00:33:31,bin2011,75, -CTSPillarNetworkA,2012,2012,2012,1975-07-06,200.89999999999287,200.90306,2015-01-01 00:33:32,bin2012,35, -CTSPillarNetworkA,2013,2013,2013,1975-07-07,200.99999999999287,201.00307,2015-01-01 00:33:33,bin2013,75, -CTSPillarNetworkA,2014,2014,2014,1975-07-08,201.09999999999286,201.10307,2015-01-01 00:33:34,bin2014,35, -CTSPillarNetworkA,2015,2015,2015,1975-07-09,201.19999999999285,201.20308,2015-01-01 00:33:35,bin2015,75, -CTSPillarNetworkA,2016,2016,2016,1975-07-10,201.29999999999285,201.30309,2015-01-01 00:33:36,bin2016,35, -CTSPillarNetworkA,2017,2017,2017,1975-07-11,201.39999999999284,201.40309,2015-01-01 00:33:37,bin2017,75, -CTSPillarNetworkA,2018,2018,2018,1975-07-12,201.49999999999284,201.5031,2015-01-01 00:33:38,bin2018,35, -CTSPillarNetworkA,2019,2019,2019,1975-07-13,201.59999999999283,201.6031,2015-01-01 00:33:39,bin2019,75, -CTSPillarNetworkA,2020,2020,2020,1975-07-14,201.69999999999283,201.70311,2015-01-01 00:33:40,bin2020,35, -CTSPillarNetworkA,2021,2021,2021,1975-07-15,201.79999999999282,201.80312,2015-01-01 00:33:41,bin2021,75, -CTSPillarNetworkA,2022,2022,2022,1975-07-16,201.89999999999281,201.90312,2015-01-01 00:33:42,bin2022,35, -CTSPillarNetworkA,2023,2023,2023,1975-07-17,201.9999999999928,202.00313,2015-01-01 00:33:43,bin2023,75, -CTSPillarNetworkA,2024,2024,2024,1975-07-18,202.0999999999928,202.10313,2015-01-01 00:33:44,bin2024,35, -CTSPillarNetworkA,2025,2025,2025,1975-07-19,202.1999999999928,202.20314,2015-01-01 00:33:45,bin2025,75, -CTSPillarNetworkA,2026,2026,2026,1975-07-20,202.2999999999928,202.30315,2015-01-01 00:33:46,bin2026,35, -CTSPillarNetworkA,2027,2027,2027,1975-07-21,202.3999999999928,202.40315,2015-01-01 00:33:47,bin2027,75, -CTSPillarNetworkA,2028,2028,2028,1975-07-22,202.49999999999278,202.50316,2015-01-01 00:33:48,bin2028,35, -CTSPillarNetworkA,2029,2029,2029,1975-07-23,202.59999999999278,202.60316,2015-01-01 00:33:49,bin2029,75, -CTSPillarNetworkA,2030,2030,2030,1975-07-24,202.69999999999277,202.70317,2015-01-01 00:33:50,bin2030,35, -CTSPillarNetworkA,2031,2031,2031,1975-07-25,202.79999999999276,202.80318,2015-01-01 00:33:51,bin2031,75, -CTSPillarNetworkA,2032,2032,2032,1975-07-26,202.89999999999276,202.90318,2015-01-01 00:33:52,bin2032,35, -CTSPillarNetworkA,2033,2033,2033,1975-07-27,202.99999999999275,203.00319,2015-01-01 00:33:53,bin2033,75, -CTSPillarNetworkA,2034,2034,2034,1975-07-28,203.09999999999275,203.1032,2015-01-01 00:33:54,bin2034,35, -CTSPillarNetworkA,2035,2035,2035,1975-07-29,203.19999999999274,203.2032,2015-01-01 00:33:55,bin2035,75, -CTSPillarNetworkA,2036,2036,2036,1975-07-30,203.29999999999274,203.3032,2015-01-01 00:33:56,bin2036,35, -CTSPillarNetworkA,2037,2037,2037,1975-07-31,203.39999999999273,203.40321,2015-01-01 00:33:57,bin2037,75, -CTSPillarNetworkA,2038,2038,2038,1975-08-01,203.49999999999272,203.50322,2015-01-01 00:33:58,bin2038,35, -CTSPillarNetworkA,2039,2039,2039,1975-08-02,203.59999999999272,203.60323,2015-01-01 00:33:59,bin2039,75, -CTSPillarNetworkA,2040,2040,2040,1975-08-03,203.6999999999927,203.70323,2015-01-01 00:34:00,bin2040,35, -CTSPillarNetworkA,2041,2041,2041,1975-08-04,203.7999999999927,203.80324,2015-01-01 00:34:01,bin2041,75, -CTSPillarNetworkA,2042,2042,2042,1975-08-05,203.8999999999927,203.90324,2015-01-01 00:34:02,bin2042,35, -CTSPillarNetworkA,2043,2043,2043,1975-08-06,203.9999999999927,204.00325,2015-01-01 00:34:03,bin2043,75, -CTSPillarNetworkA,2044,2044,2044,1975-08-07,204.0999999999927,204.10326,2015-01-01 00:34:04,bin2044,35, -CTSPillarNetworkA,2045,2045,2045,1975-08-08,204.19999999999268,204.20326,2015-01-01 00:34:05,bin2045,75, -CTSPillarNetworkA,2046,2046,2046,1975-08-09,204.29999999999268,204.30327,2015-01-01 00:34:06,bin2046,35, -CTSPillarNetworkA,2047,2047,2047,1975-08-10,204.39999999999267,204.40327,2015-01-01 00:34:07,bin2047,75, -CTSPillarNetworkA,2048,2048,2048,1975-08-11,204.49999999999267,204.50328,2015-01-01 00:34:08,bin2048,35, -CTSPillarNetworkA,2049,2049,2049,1975-08-12,204.59999999999266,204.60329,2015-01-01 00:34:09,bin2049,75, -CTSPillarNetworkA,2050,2050,2050,1975-08-13,204.69999999999266,204.7033,2015-01-01 00:34:10,bin2050,35, -CTSPillarNetworkA,2051,2051,2051,1975-08-14,204.79999999999265,204.8033,2015-01-01 00:34:11,bin2051,75, -CTSPillarNetworkA,2052,2052,2052,1975-08-15,204.89999999999264,204.9033,2015-01-01 00:34:12,bin2052,35, -CTSPillarNetworkA,2053,2053,2053,1975-08-16,204.99999999999264,205.00331,2015-01-01 00:34:13,bin2053,75, -CTSPillarNetworkA,2054,2054,2054,1975-08-17,205.09999999999263,205.10332,2015-01-01 00:34:14,bin2054,35, -CTSPillarNetworkA,2055,2055,2055,1975-08-18,205.19999999999263,205.20332,2015-01-01 00:34:15,bin2055,75, -CTSPillarNetworkA,2056,2056,2056,1975-08-19,205.29999999999262,205.30333,2015-01-01 00:34:16,bin2056,35, -CTSPillarNetworkA,2057,2057,2057,1975-08-20,205.39999999999262,205.40334,2015-01-01 00:34:17,bin2057,75, -CTSPillarNetworkA,2058,2058,2058,1975-08-21,205.4999999999926,205.50334,2015-01-01 00:34:18,bin2058,35, -CTSPillarNetworkA,2059,2059,2059,1975-08-22,205.5999999999926,205.60335,2015-01-01 00:34:19,bin2059,75, -CTSPillarNetworkA,2060,2060,2060,1975-08-23,205.6999999999926,205.70335,2015-01-01 00:34:20,bin2060,35, -CTSPillarNetworkA,2061,2061,2061,1975-08-24,205.7999999999926,205.80336,2015-01-01 00:34:21,bin2061,75, -CTSPillarNetworkA,2062,2062,2062,1975-08-25,205.8999999999926,205.90337,2015-01-01 00:34:22,bin2062,35, -CTSPillarNetworkA,2063,2063,2063,1975-08-26,205.99999999999258,206.00337,2015-01-01 00:34:23,bin2063,75, -CTSPillarNetworkA,2064,2064,2064,1975-08-27,206.09999999999258,206.10338,2015-01-01 00:34:24,bin2064,35, -CTSPillarNetworkA,2065,2065,2065,1975-08-28,206.19999999999257,206.20338,2015-01-01 00:34:25,bin2065,75, -CTSPillarNetworkA,2066,2066,2066,1975-08-29,206.29999999999256,206.30339,2015-01-01 00:34:26,bin2066,35, -CTSPillarNetworkA,2067,2067,2067,1975-08-30,206.39999999999256,206.4034,2015-01-01 00:34:27,bin2067,75, -CTSPillarNetworkA,2068,2068,2068,1975-08-31,206.49999999999255,206.5034,2015-01-01 00:34:28,bin2068,35, -CTSPillarNetworkA,2069,2069,2069,1975-09-01,206.59999999999255,206.60341,2015-01-01 00:34:29,bin2069,75, -CTSPillarNetworkA,2070,2070,2070,1975-09-02,206.69999999999254,206.70341,2015-01-01 00:34:30,bin2070,35, -CTSPillarNetworkA,2071,2071,2071,1975-09-03,206.79999999999254,206.80342,2015-01-01 00:34:31,bin2071,75, -CTSPillarNetworkA,2072,2072,2072,1975-09-04,206.89999999999253,206.90343,2015-01-01 00:34:32,bin2072,35, -CTSPillarNetworkA,2073,2073,2073,1975-09-05,206.99999999999253,207.00343,2015-01-01 00:34:33,bin2073,75, -CTSPillarNetworkA,2074,2074,2074,1975-09-06,207.09999999999252,207.10344,2015-01-01 00:34:34,bin2074,35, -CTSPillarNetworkA,2075,2075,2075,1975-09-07,207.1999999999925,207.20345,2015-01-01 00:34:35,bin2075,75, -CTSPillarNetworkA,2076,2076,2076,1975-09-08,207.2999999999925,207.30345,2015-01-01 00:34:36,bin2076,35, -CTSPillarNetworkA,2077,2077,2077,1975-09-09,207.3999999999925,207.40346,2015-01-01 00:34:37,bin2077,75, -CTSPillarNetworkA,2078,2078,2078,1975-09-10,207.4999999999925,207.50346,2015-01-01 00:34:38,bin2078,35, -CTSPillarNetworkA,2079,2079,2079,1975-09-11,207.5999999999925,207.60347,2015-01-01 00:34:39,bin2079,75, -CTSPillarNetworkA,2080,2080,2080,1975-09-12,207.69999999999249,207.70348,2015-01-01 00:34:40,bin2080,35, -CTSPillarNetworkA,2081,2081,2081,1975-09-13,207.79999999999248,207.80348,2015-01-01 00:34:41,bin2081,75, -CTSPillarNetworkA,2082,2082,2082,1975-09-14,207.89999999999247,207.90349,2015-01-01 00:34:42,bin2082,35, -CTSPillarNetworkA,2083,2083,2083,1975-09-15,207.99999999999247,208.0035,2015-01-01 00:34:43,bin2083,75, -CTSPillarNetworkA,2084,2084,2084,1975-09-16,208.09999999999246,208.1035,2015-01-01 00:34:44,bin2084,35, -CTSPillarNetworkA,2085,2085,2085,1975-09-17,208.19999999999246,208.2035,2015-01-01 00:34:45,bin2085,75, -CTSPillarNetworkA,2086,2086,2086,1975-09-18,208.29999999999245,208.30351,2015-01-01 00:34:46,bin2086,35, -CTSPillarNetworkA,2087,2087,2087,1975-09-19,208.39999999999245,208.40352,2015-01-01 00:34:47,bin2087,75, -CTSPillarNetworkA,2088,2088,2088,1975-09-20,208.49999999999244,208.50352,2015-01-01 00:34:48,bin2088,35, -CTSPillarNetworkA,2089,2089,2089,1975-09-21,208.59999999999243,208.60353,2015-01-01 00:34:49,bin2089,75, -CTSPillarNetworkA,2090,2090,2090,1975-09-22,208.69999999999243,208.70354,2015-01-01 00:34:50,bin2090,35, -CTSPillarNetworkA,2091,2091,2091,1975-09-23,208.79999999999242,208.80354,2015-01-01 00:34:51,bin2091,75, -CTSPillarNetworkA,2092,2092,2092,1975-09-24,208.89999999999242,208.90355,2015-01-01 00:34:52,bin2092,35, -CTSPillarNetworkA,2093,2093,2093,1975-09-25,208.9999999999924,209.00356,2015-01-01 00:34:53,bin2093,75, -CTSPillarNetworkA,2094,2094,2094,1975-09-26,209.0999999999924,209.10356,2015-01-01 00:34:54,bin2094,35, -CTSPillarNetworkA,2095,2095,2095,1975-09-27,209.1999999999924,209.20357,2015-01-01 00:34:55,bin2095,75, -CTSPillarNetworkA,2096,2096,2096,1975-09-28,209.2999999999924,209.30357,2015-01-01 00:34:56,bin2096,35, -CTSPillarNetworkA,2097,2097,2097,1975-09-29,209.3999999999924,209.40358,2015-01-01 00:34:57,bin2097,75, -CTSPillarNetworkA,2098,2098,2098,1975-09-30,209.49999999999238,209.50359,2015-01-01 00:34:58,bin2098,35, -CTSPillarNetworkA,2099,2099,2099,1975-10-01,209.59999999999238,209.60359,2015-01-01 00:34:59,bin2099,75, -CTSPillarNetworkA,2100,2100,2100,1975-10-02,209.69999999999237,209.7036,2015-01-01 00:35:00,bin2100,35, -CTSPillarNetworkA,2101,2101,2101,1975-10-03,209.79999999999237,209.8036,2015-01-01 00:35:01,bin2101,75, -CTSPillarNetworkA,2102,2102,2102,1975-10-04,209.89999999999236,209.90361,2015-01-01 00:35:02,bin2102,35, -CTSPillarNetworkA,2103,2103,2103,1975-10-05,209.99999999999235,210.00362,2015-01-01 00:35:03,bin2103,75, -CTSPillarNetworkA,2104,2104,2104,1975-10-06,210.09999999999235,210.10362,2015-01-01 00:35:04,bin2104,35, -CTSPillarNetworkA,2105,2105,2105,1975-10-07,210.19999999999234,210.20363,2015-01-01 00:35:05,bin2105,75, -CTSPillarNetworkA,2106,2106,2106,1975-10-08,210.29999999999234,210.30363,2015-01-01 00:35:06,bin2106,35, -CTSPillarNetworkA,2107,2107,2107,1975-10-09,210.39999999999233,210.40364,2015-01-01 00:35:07,bin2107,75, -CTSPillarNetworkA,2108,2108,2108,1975-10-10,210.49999999999233,210.50365,2015-01-01 00:35:08,bin2108,35, -CTSPillarNetworkA,2109,2109,2109,1975-10-11,210.59999999999232,210.60365,2015-01-01 00:35:09,bin2109,75, -CTSPillarNetworkA,2110,2110,2110,1975-10-12,210.69999999999231,210.70366,2015-01-01 00:35:10,bin2110,35, -CTSPillarNetworkA,2111,2111,2111,1975-10-13,210.7999999999923,210.80367,2015-01-01 00:35:11,bin2111,75, -CTSPillarNetworkA,2112,2112,2112,1975-10-14,210.8999999999923,210.90367,2015-01-01 00:35:12,bin2112,35, -CTSPillarNetworkA,2113,2113,2113,1975-10-15,210.9999999999923,211.00368,2015-01-01 00:35:13,bin2113,75, -CTSPillarNetworkA,2114,2114,2114,1975-10-16,211.0999999999923,211.10368,2015-01-01 00:35:14,bin2114,35, -CTSPillarNetworkA,2115,2115,2115,1975-10-17,211.1999999999923,211.20369,2015-01-01 00:35:15,bin2115,75, -CTSPillarNetworkA,2116,2116,2116,1975-10-18,211.29999999999228,211.3037,2015-01-01 00:35:16,bin2116,35, -CTSPillarNetworkA,2117,2117,2117,1975-10-19,211.39999999999227,211.4037,2015-01-01 00:35:17,bin2117,75, -CTSPillarNetworkA,2118,2118,2118,1975-10-20,211.49999999999227,211.50371,2015-01-01 00:35:18,bin2118,35, -CTSPillarNetworkA,2119,2119,2119,1975-10-21,211.59999999999226,211.60371,2015-01-01 00:35:19,bin2119,75, -CTSPillarNetworkA,2120,2120,2120,1975-10-22,211.69999999999226,211.70372,2015-01-01 00:35:20,bin2120,35, -CTSPillarNetworkA,2121,2121,2121,1975-10-23,211.79999999999225,211.80373,2015-01-01 00:35:21,bin2121,75, -CTSPillarNetworkA,2122,2122,2122,1975-10-24,211.89999999999225,211.90373,2015-01-01 00:35:22,bin2122,35, -CTSPillarNetworkA,2123,2123,2123,1975-10-25,211.99999999999224,212.00374,2015-01-01 00:35:23,bin2123,75, -CTSPillarNetworkA,2124,2124,2124,1975-10-26,212.09999999999224,212.10374,2015-01-01 00:35:24,bin2124,35, -CTSPillarNetworkA,2125,2125,2125,1975-10-27,212.19999999999223,212.20375,2015-01-01 00:35:25,bin2125,75, -CTSPillarNetworkA,2126,2126,2126,1975-10-28,212.29999999999222,212.30376,2015-01-01 00:35:26,bin2126,35, -CTSPillarNetworkA,2127,2127,2127,1975-10-29,212.39999999999222,212.40376,2015-01-01 00:35:27,bin2127,75, -CTSPillarNetworkA,2128,2128,2128,1975-10-30,212.4999999999922,212.50377,2015-01-01 00:35:28,bin2128,35, -CTSPillarNetworkA,2129,2129,2129,1975-10-31,212.5999999999922,212.60378,2015-01-01 00:35:29,bin2129,75, -CTSPillarNetworkA,2130,2130,2130,1975-11-01,212.6999999999922,212.70378,2015-01-01 00:35:30,bin2130,35, -CTSPillarNetworkA,2131,2131,2131,1975-11-02,212.7999999999922,212.80379,2015-01-01 00:35:31,bin2131,75, -CTSPillarNetworkA,2132,2132,2132,1975-11-03,212.8999999999922,212.9038,2015-01-01 00:35:32,bin2132,35, -CTSPillarNetworkA,2133,2133,2133,1975-11-04,212.99999999999218,213.0038,2015-01-01 00:35:33,bin2133,75, -CTSPillarNetworkA,2134,2134,2134,1975-11-05,213.09999999999218,213.1038,2015-01-01 00:35:34,bin2134,35, -CTSPillarNetworkA,2135,2135,2135,1975-11-06,213.19999999999217,213.20381,2015-01-01 00:35:35,bin2135,75, -CTSPillarNetworkA,2136,2136,2136,1975-11-07,213.29999999999217,213.30382,2015-01-01 00:35:36,bin2136,35, -CTSPillarNetworkA,2137,2137,2137,1975-11-08,213.39999999999216,213.40382,2015-01-01 00:35:37,bin2137,75, -CTSPillarNetworkA,2138,2138,2138,1975-11-09,213.49999999999216,213.50383,2015-01-01 00:35:38,bin2138,35, -CTSPillarNetworkA,2139,2139,2139,1975-11-10,213.59999999999215,213.60384,2015-01-01 00:35:39,bin2139,75, -CTSPillarNetworkA,2140,2140,2140,1975-11-11,213.69999999999214,213.70384,2015-01-01 00:35:40,bin2140,35, -CTSPillarNetworkA,2141,2141,2141,1975-11-12,213.79999999999214,213.80385,2015-01-01 00:35:41,bin2141,75, -CTSPillarNetworkA,2142,2142,2142,1975-11-13,213.89999999999213,213.90385,2015-01-01 00:35:42,bin2142,35, -CTSPillarNetworkA,2143,2143,2143,1975-11-14,213.99999999999213,214.00386,2015-01-01 00:35:43,bin2143,75, -CTSPillarNetworkA,2144,2144,2144,1975-11-15,214.09999999999212,214.10387,2015-01-01 00:35:44,bin2144,35, -CTSPillarNetworkA,2145,2145,2145,1975-11-16,214.19999999999212,214.20387,2015-01-01 00:35:45,bin2145,75, -CTSPillarNetworkA,2146,2146,2146,1975-11-17,214.2999999999921,214.30388,2015-01-01 00:35:46,bin2146,35, -CTSPillarNetworkA,2147,2147,2147,1975-11-18,214.3999999999921,214.40388,2015-01-01 00:35:47,bin2147,75, -CTSPillarNetworkA,2148,2148,2148,1975-11-19,214.4999999999921,214.50389,2015-01-01 00:35:48,bin2148,35, -CTSPillarNetworkA,2149,2149,2149,1975-11-20,214.5999999999921,214.6039,2015-01-01 00:35:49,bin2149,75, -CTSPillarNetworkA,2150,2150,2150,1975-11-21,214.6999999999921,214.7039,2015-01-01 00:35:50,bin2150,35, -CTSPillarNetworkA,2151,2151,2151,1975-11-22,214.79999999999208,214.80391,2015-01-01 00:35:51,bin2151,75, -CTSPillarNetworkA,2152,2152,2152,1975-11-23,214.89999999999208,214.90392,2015-01-01 00:35:52,bin2152,35, -CTSPillarNetworkA,2153,2153,2153,1975-11-24,214.99999999999207,215.00392,2015-01-01 00:35:53,bin2153,75, -CTSPillarNetworkA,2154,2154,2154,1975-11-25,215.09999999999206,215.10393,2015-01-01 00:35:54,bin2154,35, -CTSPillarNetworkA,2155,2155,2155,1975-11-26,215.19999999999206,215.20393,2015-01-01 00:35:55,bin2155,75, -CTSPillarNetworkA,2156,2156,2156,1975-11-27,215.29999999999205,215.30394,2015-01-01 00:35:56,bin2156,35, -CTSPillarNetworkA,2157,2157,2157,1975-11-28,215.39999999999205,215.40395,2015-01-01 00:35:57,bin2157,75, -CTSPillarNetworkA,2158,2158,2158,1975-11-29,215.49999999999204,215.50395,2015-01-01 00:35:58,bin2158,35, -CTSPillarNetworkA,2159,2159,2159,1975-11-30,215.59999999999204,215.60396,2015-01-01 00:35:59,bin2159,75, -CTSPillarNetworkA,2160,2160,2160,1975-12-01,215.69999999999203,215.70396,2015-01-01 00:36:00,bin2160,35, -CTSPillarNetworkA,2161,2161,2161,1975-12-02,215.79999999999202,215.80397,2015-01-01 00:36:01,bin2161,75, -CTSPillarNetworkA,2162,2162,2162,1975-12-03,215.89999999999202,215.90398,2015-01-01 00:36:02,bin2162,35, -CTSPillarNetworkA,2163,2163,2163,1975-12-04,215.999999999992,216.00398,2015-01-01 00:36:03,bin2163,75, -CTSPillarNetworkA,2164,2164,2164,1975-12-05,216.099999999992,216.10399,2015-01-01 00:36:04,bin2164,35, -CTSPillarNetworkA,2165,2165,2165,1975-12-06,216.199999999992,216.204,2015-01-01 00:36:05,bin2165,75, -CTSPillarNetworkA,2166,2166,2166,1975-12-07,216.299999999992,216.304,2015-01-01 00:36:06,bin2166,35, -CTSPillarNetworkA,2167,2167,2167,1975-12-08,216.399999999992,216.404,2015-01-01 00:36:07,bin2167,75, -CTSPillarNetworkA,2168,2168,2168,1975-12-09,216.49999999999199,216.50401,2015-01-01 00:36:08,bin2168,35, -CTSPillarNetworkA,2169,2169,2169,1975-12-10,216.59999999999198,216.60402,2015-01-01 00:36:09,bin2169,75, -CTSPillarNetworkA,2170,2170,2170,1975-12-11,216.69999999999197,216.70403,2015-01-01 00:36:10,bin2170,35, -CTSPillarNetworkA,2171,2171,2171,1975-12-12,216.79999999999197,216.80403,2015-01-01 00:36:11,bin2171,75, -CTSPillarNetworkA,2172,2172,2172,1975-12-13,216.89999999999196,216.90404,2015-01-01 00:36:12,bin2172,35, -CTSPillarNetworkA,2173,2173,2173,1975-12-14,216.99999999999196,217.00404,2015-01-01 00:36:13,bin2173,75, -CTSPillarNetworkA,2174,2174,2174,1975-12-15,217.09999999999195,217.10405,2015-01-01 00:36:14,bin2174,35, -CTSPillarNetworkA,2175,2175,2175,1975-12-16,217.19999999999195,217.20406,2015-01-01 00:36:15,bin2175,75, -CTSPillarNetworkA,2176,2176,2176,1975-12-17,217.29999999999194,217.30406,2015-01-01 00:36:16,bin2176,35, -CTSPillarNetworkA,2177,2177,2177,1975-12-18,217.39999999999193,217.40407,2015-01-01 00:36:17,bin2177,75, -CTSPillarNetworkA,2178,2178,2178,1975-12-19,217.49999999999193,217.50407,2015-01-01 00:36:18,bin2178,35, -CTSPillarNetworkA,2179,2179,2179,1975-12-20,217.59999999999192,217.60408,2015-01-01 00:36:19,bin2179,75, -CTSPillarNetworkA,2180,2180,2180,1975-12-21,217.69999999999192,217.70409,2015-01-01 00:36:20,bin2180,35, -CTSPillarNetworkA,2181,2181,2181,1975-12-22,217.7999999999919,217.8041,2015-01-01 00:36:21,bin2181,75, -CTSPillarNetworkA,2182,2182,2182,1975-12-23,217.8999999999919,217.9041,2015-01-01 00:36:22,bin2182,35, -CTSPillarNetworkA,2183,2183,2183,1975-12-24,217.9999999999919,218.0041,2015-01-01 00:36:23,bin2183,75, -CTSPillarNetworkA,2184,2184,2184,1975-12-25,218.0999999999919,218.10411,2015-01-01 00:36:24,bin2184,35, -CTSPillarNetworkA,2185,2185,2185,1975-12-26,218.1999999999919,218.20412,2015-01-01 00:36:25,bin2185,75, -CTSPillarNetworkA,2186,2186,2186,1975-12-27,218.29999999999188,218.30412,2015-01-01 00:36:26,bin2186,35, -CTSPillarNetworkA,2187,2187,2187,1975-12-28,218.39999999999188,218.40413,2015-01-01 00:36:27,bin2187,75, -CTSPillarNetworkA,2188,2188,2188,1975-12-29,218.49999999999187,218.50414,2015-01-01 00:36:28,bin2188,35, -CTSPillarNetworkA,2189,2189,2189,1975-12-30,218.59999999999187,218.60414,2015-01-01 00:36:29,bin2189,75, -CTSPillarNetworkA,2190,2190,2190,1975-12-31,218.69999999999186,218.70415,2015-01-01 00:36:30,bin2190,35, -CTSPillarNetworkA,2191,2191,2191,1976-01-01,218.79999999999185,218.80415,2015-01-01 00:36:31,bin2191,75, -CTSPillarNetworkA,2192,2192,2192,1976-01-02,218.89999999999185,218.90416,2015-01-01 00:36:32,bin2192,35, -CTSPillarNetworkA,2193,2193,2193,1976-01-03,218.99999999999184,219.00417,2015-01-01 00:36:33,bin2193,75, -CTSPillarNetworkA,2194,2194,2194,1976-01-04,219.09999999999184,219.10417,2015-01-01 00:36:34,bin2194,35, -CTSPillarNetworkA,2195,2195,2195,1976-01-05,219.19999999999183,219.20418,2015-01-01 00:36:35,bin2195,75, -CTSPillarNetworkA,2196,2196,2196,1976-01-06,219.29999999999183,219.30418,2015-01-01 00:36:36,bin2196,35, -CTSPillarNetworkA,2197,2197,2197,1976-01-07,219.39999999999182,219.40419,2015-01-01 00:36:37,bin2197,75, -CTSPillarNetworkA,2198,2198,2198,1976-01-08,219.49999999999181,219.5042,2015-01-01 00:36:38,bin2198,35, -CTSPillarNetworkA,2199,2199,2199,1976-01-09,219.5999999999918,219.6042,2015-01-01 00:36:39,bin2199,75, -CTSPillarNetworkA,2200,2200,2200,1976-01-10,219.6999999999918,219.70421,2015-01-01 00:36:40,bin2200,35, -CTSPillarNetworkA,2201,2201,2201,1976-01-11,219.7999999999918,219.80421,2015-01-01 00:36:41,bin2201,75, -CTSPillarNetworkA,2202,2202,2202,1976-01-12,219.8999999999918,219.90422,2015-01-01 00:36:42,bin2202,35, -CTSPillarNetworkA,2203,2203,2203,1976-01-13,219.9999999999918,220.00423,2015-01-01 00:36:43,bin2203,75, -CTSPillarNetworkA,2204,2204,2204,1976-01-14,220.09999999999178,220.10423,2015-01-01 00:36:44,bin2204,35, -CTSPillarNetworkA,2205,2205,2205,1976-01-15,220.19999999999177,220.20424,2015-01-01 00:36:45,bin2205,75, -CTSPillarNetworkA,2206,2206,2206,1976-01-16,220.29999999999177,220.30424,2015-01-01 00:36:46,bin2206,35, -CTSPillarNetworkA,2207,2207,2207,1976-01-17,220.39999999999176,220.40425,2015-01-01 00:36:47,bin2207,75, -CTSPillarNetworkA,2208,2208,2208,1976-01-18,220.49999999999176,220.50426,2015-01-01 00:36:48,bin2208,35, -CTSPillarNetworkA,2209,2209,2209,1976-01-19,220.59999999999175,220.60426,2015-01-01 00:36:49,bin2209,75, -CTSPillarNetworkA,2210,2210,2210,1976-01-20,220.69999999999175,220.70427,2015-01-01 00:36:50,bin2210,35, -CTSPillarNetworkA,2211,2211,2211,1976-01-21,220.79999999999174,220.80428,2015-01-01 00:36:51,bin2211,75, -CTSPillarNetworkA,2212,2212,2212,1976-01-22,220.89999999999173,220.90428,2015-01-01 00:36:52,bin2212,35, -CTSPillarNetworkA,2213,2213,2213,1976-01-23,220.99999999999173,221.00429,2015-01-01 00:36:53,bin2213,75, -CTSPillarNetworkA,2214,2214,2214,1976-01-24,221.09999999999172,221.1043,2015-01-01 00:36:54,bin2214,35, -CTSPillarNetworkA,2215,2215,2215,1976-01-25,221.19999999999172,221.2043,2015-01-01 00:36:55,bin2215,75, -CTSPillarNetworkA,2216,2216,2216,1976-01-26,221.2999999999917,221.3043,2015-01-01 00:36:56,bin2216,35, -CTSPillarNetworkA,2217,2217,2217,1976-01-27,221.3999999999917,221.40431,2015-01-01 00:36:57,bin2217,75, -CTSPillarNetworkA,2218,2218,2218,1976-01-28,221.4999999999917,221.50432,2015-01-01 00:36:58,bin2218,35, -CTSPillarNetworkA,2219,2219,2219,1976-01-29,221.5999999999917,221.60432,2015-01-01 00:36:59,bin2219,75, -CTSPillarNetworkA,2220,2220,2220,1976-01-30,221.6999999999917,221.70433,2015-01-01 00:37:00,bin2220,35, -CTSPillarNetworkA,2221,2221,2221,1976-01-31,221.79999999999168,221.80434,2015-01-01 00:37:01,bin2221,75, -CTSPillarNetworkA,2222,2222,2222,1976-02-01,221.89999999999168,221.90434,2015-01-01 00:37:02,bin2222,35, -CTSPillarNetworkA,2223,2223,2223,1976-02-02,221.99999999999167,222.00435,2015-01-01 00:37:03,bin2223,75, -CTSPillarNetworkA,2224,2224,2224,1976-02-03,222.09999999999167,222.10435,2015-01-01 00:37:04,bin2224,35, -CTSPillarNetworkA,2225,2225,2225,1976-02-04,222.19999999999166,222.20436,2015-01-01 00:37:05,bin2225,75, -CTSPillarNetworkA,2226,2226,2226,1976-02-05,222.29999999999166,222.30437,2015-01-01 00:37:06,bin2226,35, -CTSPillarNetworkA,2227,2227,2227,1976-02-06,222.39999999999165,222.40437,2015-01-01 00:37:07,bin2227,75, -CTSPillarNetworkA,2228,2228,2228,1976-02-07,222.49999999999164,222.50438,2015-01-01 00:37:08,bin2228,35, -CTSPillarNetworkA,2229,2229,2229,1976-02-08,222.59999999999164,222.60439,2015-01-01 00:37:09,bin2229,75, -CTSPillarNetworkA,2230,2230,2230,1976-02-09,222.69999999999163,222.70439,2015-01-01 00:37:10,bin2230,35, -CTSPillarNetworkA,2231,2231,2231,1976-02-10,222.79999999999163,222.8044,2015-01-01 00:37:11,bin2231,75, -CTSPillarNetworkA,2232,2232,2232,1976-02-11,222.89999999999162,222.9044,2015-01-01 00:37:12,bin2232,35, -CTSPillarNetworkA,2233,2233,2233,1976-02-12,222.99999999999162,223.00441,2015-01-01 00:37:13,bin2233,75, -CTSPillarNetworkA,2234,2234,2234,1976-02-13,223.0999999999916,223.10442,2015-01-01 00:37:14,bin2234,35, -CTSPillarNetworkA,2235,2235,2235,1976-02-14,223.1999999999916,223.20442,2015-01-01 00:37:15,bin2235,75, -CTSPillarNetworkA,2236,2236,2236,1976-02-15,223.2999999999916,223.30443,2015-01-01 00:37:16,bin2236,35, -CTSPillarNetworkA,2237,2237,2237,1976-02-16,223.3999999999916,223.40443,2015-01-01 00:37:17,bin2237,75, -CTSPillarNetworkA,2238,2238,2238,1976-02-17,223.4999999999916,223.50444,2015-01-01 00:37:18,bin2238,35, -CTSPillarNetworkA,2239,2239,2239,1976-02-18,223.59999999999158,223.60445,2015-01-01 00:37:19,bin2239,75, -CTSPillarNetworkA,2240,2240,2240,1976-02-19,223.69999999999158,223.70445,2015-01-01 00:37:20,bin2240,35, -CTSPillarNetworkA,2241,2241,2241,1976-02-20,223.79999999999157,223.80446,2015-01-01 00:37:21,bin2241,75, -CTSPillarNetworkA,2242,2242,2242,1976-02-21,223.89999999999156,223.90446,2015-01-01 00:37:22,bin2242,35, -CTSPillarNetworkA,2243,2243,2243,1976-02-22,223.99999999999156,224.00447,2015-01-01 00:37:23,bin2243,75, -CTSPillarNetworkA,2244,2244,2244,1976-02-23,224.09999999999155,224.10448,2015-01-01 00:37:24,bin2244,35, -CTSPillarNetworkA,2245,2245,2245,1976-02-24,224.19999999999155,224.20448,2015-01-01 00:37:25,bin2245,75, -CTSPillarNetworkA,2246,2246,2246,1976-02-25,224.29999999999154,224.30449,2015-01-01 00:37:26,bin2246,35, -CTSPillarNetworkA,2247,2247,2247,1976-02-26,224.39999999999154,224.4045,2015-01-01 00:37:27,bin2247,75, -CTSPillarNetworkA,2248,2248,2248,1976-02-27,224.49999999999153,224.5045,2015-01-01 00:37:28,bin2248,35, -CTSPillarNetworkA,2249,2249,2249,1976-02-28,224.59999999999152,224.6045,2015-01-01 00:37:29,bin2249,75, -CTSPillarNetworkA,2250,2250,2250,1976-02-29,224.69999999999152,224.70451,2015-01-01 00:37:30,bin2250,35, -CTSPillarNetworkA,2251,2251,2251,1976-03-01,224.7999999999915,224.80452,2015-01-01 00:37:31,bin2251,75, -CTSPillarNetworkA,2252,2252,2252,1976-03-02,224.8999999999915,224.90453,2015-01-01 00:37:32,bin2252,35, -CTSPillarNetworkA,2253,2253,2253,1976-03-03,224.9999999999915,225.00453,2015-01-01 00:37:33,bin2253,75, -CTSPillarNetworkA,2254,2254,2254,1976-03-04,225.0999999999915,225.10454,2015-01-01 00:37:34,bin2254,35, -CTSPillarNetworkA,2255,2255,2255,1976-03-05,225.1999999999915,225.20454,2015-01-01 00:37:35,bin2255,75, -CTSPillarNetworkA,2256,2256,2256,1976-03-06,225.29999999999148,225.30455,2015-01-01 00:37:36,bin2256,35, -CTSPillarNetworkA,2257,2257,2257,1976-03-07,225.39999999999148,225.40456,2015-01-01 00:37:37,bin2257,75, -CTSPillarNetworkA,2258,2258,2258,1976-03-08,225.49999999999147,225.50456,2015-01-01 00:37:38,bin2258,35, -CTSPillarNetworkA,2259,2259,2259,1976-03-09,225.59999999999147,225.60457,2015-01-01 00:37:39,bin2259,75, -CTSPillarNetworkA,2260,2260,2260,1976-03-10,225.69999999999146,225.70457,2015-01-01 00:37:40,bin2260,35, -CTSPillarNetworkA,2261,2261,2261,1976-03-11,225.79999999999146,225.80458,2015-01-01 00:37:41,bin2261,75, -CTSPillarNetworkA,2262,2262,2262,1976-03-12,225.89999999999145,225.90459,2015-01-01 00:37:42,bin2262,35, -CTSPillarNetworkA,2263,2263,2263,1976-03-13,225.99999999999145,226.0046,2015-01-01 00:37:43,bin2263,75, -CTSPillarNetworkA,2264,2264,2264,1976-03-14,226.09999999999144,226.1046,2015-01-01 00:37:44,bin2264,35, -CTSPillarNetworkA,2265,2265,2265,1976-03-15,226.19999999999143,226.2046,2015-01-01 00:37:45,bin2265,75, -CTSPillarNetworkA,2266,2266,2266,1976-03-16,226.29999999999143,226.30461,2015-01-01 00:37:46,bin2266,35, -CTSPillarNetworkA,2267,2267,2267,1976-03-17,226.39999999999142,226.40462,2015-01-01 00:37:47,bin2267,75, -CTSPillarNetworkA,2268,2268,2268,1976-03-18,226.49999999999142,226.50462,2015-01-01 00:37:48,bin2268,35, -CTSPillarNetworkA,2269,2269,2269,1976-03-19,226.5999999999914,226.60463,2015-01-01 00:37:49,bin2269,75, -CTSPillarNetworkA,2270,2270,2270,1976-03-20,226.6999999999914,226.70464,2015-01-01 00:37:50,bin2270,35, -CTSPillarNetworkA,2271,2271,2271,1976-03-21,226.7999999999914,226.80464,2015-01-01 00:37:51,bin2271,75, -CTSPillarNetworkA,2272,2272,2272,1976-03-22,226.8999999999914,226.90465,2015-01-01 00:37:52,bin2272,35, -CTSPillarNetworkA,2273,2273,2273,1976-03-23,226.9999999999914,227.00465,2015-01-01 00:37:53,bin2273,75, -CTSPillarNetworkA,2274,2274,2274,1976-03-24,227.09999999999138,227.10466,2015-01-01 00:37:54,bin2274,35, -CTSPillarNetworkA,2275,2275,2275,1976-03-25,227.19999999999138,227.20467,2015-01-01 00:37:55,bin2275,75, -CTSPillarNetworkA,2276,2276,2276,1976-03-26,227.29999999999137,227.30467,2015-01-01 00:37:56,bin2276,35, -CTSPillarNetworkA,2277,2277,2277,1976-03-27,227.39999999999137,227.40468,2015-01-01 00:37:57,bin2277,75, -CTSPillarNetworkA,2278,2278,2278,1976-03-28,227.49999999999136,227.50468,2015-01-01 00:37:58,bin2278,35, -CTSPillarNetworkA,2279,2279,2279,1976-03-29,227.59999999999135,227.60469,2015-01-01 00:37:59,bin2279,75, -CTSPillarNetworkA,2280,2280,2280,1976-03-30,227.69999999999135,227.7047,2015-01-01 00:38:00,bin2280,35, -CTSPillarNetworkA,2281,2281,2281,1976-03-31,227.79999999999134,227.8047,2015-01-01 00:38:01,bin2281,75, -CTSPillarNetworkA,2282,2282,2282,1976-04-01,227.89999999999134,227.90471,2015-01-01 00:38:02,bin2282,35, -CTSPillarNetworkA,2283,2283,2283,1976-04-02,227.99999999999133,228.00471,2015-01-01 00:38:03,bin2283,75, -CTSPillarNetworkA,2284,2284,2284,1976-04-03,228.09999999999133,228.10472,2015-01-01 00:38:04,bin2284,35, -CTSPillarNetworkA,2285,2285,2285,1976-04-04,228.19999999999132,228.20473,2015-01-01 00:38:05,bin2285,75, -CTSPillarNetworkA,2286,2286,2286,1976-04-05,228.29999999999131,228.30473,2015-01-01 00:38:06,bin2286,35, -CTSPillarNetworkA,2287,2287,2287,1976-04-06,228.3999999999913,228.40474,2015-01-01 00:38:07,bin2287,75, -CTSPillarNetworkA,2288,2288,2288,1976-04-07,228.4999999999913,228.50475,2015-01-01 00:38:08,bin2288,35, -CTSPillarNetworkA,2289,2289,2289,1976-04-08,228.5999999999913,228.60475,2015-01-01 00:38:09,bin2289,75, -CTSPillarNetworkA,2290,2290,2290,1976-04-09,228.6999999999913,228.70476,2015-01-01 00:38:10,bin2290,35, -CTSPillarNetworkA,2291,2291,2291,1976-04-10,228.7999999999913,228.80476,2015-01-01 00:38:11,bin2291,75, -CTSPillarNetworkA,2292,2292,2292,1976-04-11,228.89999999999128,228.90477,2015-01-01 00:38:12,bin2292,35, -CTSPillarNetworkA,2293,2293,2293,1976-04-12,228.99999999999127,229.00478,2015-01-01 00:38:13,bin2293,75, -CTSPillarNetworkA,2294,2294,2294,1976-04-13,229.09999999999127,229.10478,2015-01-01 00:38:14,bin2294,35, -CTSPillarNetworkA,2295,2295,2295,1976-04-14,229.19999999999126,229.20479,2015-01-01 00:38:15,bin2295,75, -CTSPillarNetworkA,2296,2296,2296,1976-04-15,229.29999999999126,229.3048,2015-01-01 00:38:16,bin2296,35, -CTSPillarNetworkA,2297,2297,2297,1976-04-16,229.39999999999125,229.4048,2015-01-01 00:38:17,bin2297,75, -CTSPillarNetworkA,2298,2298,2298,1976-04-17,229.49999999999125,229.5048,2015-01-01 00:38:18,bin2298,35, -CTSPillarNetworkA,2299,2299,2299,1976-04-18,229.59999999999124,229.60481,2015-01-01 00:38:19,bin2299,75, -CTSPillarNetworkA,2300,2300,2300,1976-04-19,229.69999999999123,229.70482,2015-01-01 00:38:20,bin2300,35, -CTSPillarNetworkA,2301,2301,2301,1976-04-20,229.79999999999123,229.80482,2015-01-01 00:38:21,bin2301,75, -CTSPillarNetworkA,2302,2302,2302,1976-04-21,229.89999999999122,229.90483,2015-01-01 00:38:22,bin2302,35, -CTSPillarNetworkA,2303,2303,2303,1976-04-22,229.99999999999122,230.00484,2015-01-01 00:38:23,bin2303,75, -CTSPillarNetworkA,2304,2304,2304,1976-04-23,230.0999999999912,230.10484,2015-01-01 00:38:24,bin2304,35, -CTSPillarNetworkA,2305,2305,2305,1976-04-24,230.1999999999912,230.20485,2015-01-01 00:38:25,bin2305,75, -CTSPillarNetworkA,2306,2306,2306,1976-04-25,230.2999999999912,230.30486,2015-01-01 00:38:26,bin2306,35, -CTSPillarNetworkA,2307,2307,2307,1976-04-26,230.3999999999912,230.40486,2015-01-01 00:38:27,bin2307,75, -CTSPillarNetworkA,2308,2308,2308,1976-04-27,230.4999999999912,230.50487,2015-01-01 00:38:28,bin2308,35, -CTSPillarNetworkA,2309,2309,2309,1976-04-28,230.59999999999118,230.60487,2015-01-01 00:38:29,bin2309,75, -CTSPillarNetworkA,2310,2310,2310,1976-04-29,230.69999999999118,230.70488,2015-01-01 00:38:30,bin2310,35, -CTSPillarNetworkA,2311,2311,2311,1976-04-30,230.79999999999117,230.80489,2015-01-01 00:38:31,bin2311,75, -CTSPillarNetworkA,2312,2312,2312,1976-05-01,230.89999999999117,230.90489,2015-01-01 00:38:32,bin2312,35, -CTSPillarNetworkA,2313,2313,2313,1976-05-02,230.99999999999116,231.0049,2015-01-01 00:38:33,bin2313,75, -CTSPillarNetworkA,2314,2314,2314,1976-05-03,231.09999999999116,231.1049,2015-01-01 00:38:34,bin2314,35, -CTSPillarNetworkA,2315,2315,2315,1976-05-04,231.19999999999115,231.20491,2015-01-01 00:38:35,bin2315,75, -CTSPillarNetworkA,2316,2316,2316,1976-05-05,231.29999999999114,231.30492,2015-01-01 00:38:36,bin2316,35, -CTSPillarNetworkA,2317,2317,2317,1976-05-06,231.39999999999114,231.40492,2015-01-01 00:38:37,bin2317,75, -CTSPillarNetworkA,2318,2318,2318,1976-05-07,231.49999999999113,231.50493,2015-01-01 00:38:38,bin2318,35, -CTSPillarNetworkA,2319,2319,2319,1976-05-08,231.59999999999113,231.60493,2015-01-01 00:38:39,bin2319,75, -CTSPillarNetworkA,2320,2320,2320,1976-05-09,231.69999999999112,231.70494,2015-01-01 00:38:40,bin2320,35, -CTSPillarNetworkA,2321,2321,2321,1976-05-10,231.79999999999112,231.80495,2015-01-01 00:38:41,bin2321,75, -CTSPillarNetworkA,2322,2322,2322,1976-05-11,231.8999999999911,231.90495,2015-01-01 00:38:42,bin2322,35, -CTSPillarNetworkA,2323,2323,2323,1976-05-12,231.9999999999911,232.00496,2015-01-01 00:38:43,bin2323,75, -CTSPillarNetworkA,2324,2324,2324,1976-05-13,232.0999999999911,232.10497,2015-01-01 00:38:44,bin2324,35, -CTSPillarNetworkA,2325,2325,2325,1976-05-14,232.1999999999911,232.20497,2015-01-01 00:38:45,bin2325,75, -CTSPillarNetworkA,2326,2326,2326,1976-05-15,232.2999999999911,232.30498,2015-01-01 00:38:46,bin2326,35, -CTSPillarNetworkA,2327,2327,2327,1976-05-16,232.39999999999108,232.40498,2015-01-01 00:38:47,bin2327,75, -CTSPillarNetworkA,2328,2328,2328,1976-05-17,232.49999999999108,232.50499,2015-01-01 00:38:48,bin2328,35, -CTSPillarNetworkA,2329,2329,2329,1976-05-18,232.59999999999107,232.605,2015-01-01 00:38:49,bin2329,75, -CTSPillarNetworkA,2330,2330,2330,1976-05-19,232.69999999999106,232.705,2015-01-01 00:38:50,bin2330,35, -CTSPillarNetworkA,2331,2331,2331,1976-05-20,232.79999999999106,232.80501,2015-01-01 00:38:51,bin2331,75, -CTSPillarNetworkA,2332,2332,2332,1976-05-21,232.89999999999105,232.90501,2015-01-01 00:38:52,bin2332,35, -CTSPillarNetworkA,2333,2333,2333,1976-05-22,232.99999999999105,233.00502,2015-01-01 00:38:53,bin2333,75, -CTSPillarNetworkA,2334,2334,2334,1976-05-23,233.09999999999104,233.10503,2015-01-01 00:38:54,bin2334,35, -CTSPillarNetworkA,2335,2335,2335,1976-05-24,233.19999999999104,233.20503,2015-01-01 00:38:55,bin2335,75, -CTSPillarNetworkA,2336,2336,2336,1976-05-25,233.29999999999103,233.30504,2015-01-01 00:38:56,bin2336,35, -CTSPillarNetworkA,2337,2337,2337,1976-05-26,233.39999999999102,233.40504,2015-01-01 00:38:57,bin2337,75, -CTSPillarNetworkA,2338,2338,2338,1976-05-27,233.49999999999102,233.50505,2015-01-01 00:38:58,bin2338,35, -CTSPillarNetworkA,2339,2339,2339,1976-05-28,233.599999999991,233.60506,2015-01-01 00:38:59,bin2339,75, -CTSPillarNetworkA,2340,2340,2340,1976-05-29,233.699999999991,233.70506,2015-01-01 00:39:00,bin2340,35, -CTSPillarNetworkA,2341,2341,2341,1976-05-30,233.799999999991,233.80507,2015-01-01 00:39:01,bin2341,75, -CTSPillarNetworkA,2342,2342,2342,1976-05-31,233.899999999991,233.90508,2015-01-01 00:39:02,bin2342,35, -CTSPillarNetworkA,2343,2343,2343,1976-06-01,233.999999999991,234.00508,2015-01-01 00:39:03,bin2343,75, -CTSPillarNetworkA,2344,2344,2344,1976-06-02,234.09999999999098,234.10509,2015-01-01 00:39:04,bin2344,35, -CTSPillarNetworkA,2345,2345,2345,1976-06-03,234.19999999999098,234.2051,2015-01-01 00:39:05,bin2345,75, -CTSPillarNetworkA,2346,2346,2346,1976-06-04,234.29999999999097,234.3051,2015-01-01 00:39:06,bin2346,35, -CTSPillarNetworkA,2347,2347,2347,1976-06-05,234.39999999999097,234.4051,2015-01-01 00:39:07,bin2347,75, -CTSPillarNetworkA,2348,2348,2348,1976-06-06,234.49999999999096,234.50511,2015-01-01 00:39:08,bin2348,35, -CTSPillarNetworkA,2349,2349,2349,1976-06-07,234.59999999999096,234.60512,2015-01-01 00:39:09,bin2349,75, -CTSPillarNetworkA,2350,2350,2350,1976-06-08,234.69999999999095,234.70512,2015-01-01 00:39:10,bin2350,35, -CTSPillarNetworkA,2351,2351,2351,1976-06-09,234.79999999999094,234.80513,2015-01-01 00:39:11,bin2351,75, -CTSPillarNetworkA,2352,2352,2352,1976-06-10,234.89999999999094,234.90514,2015-01-01 00:39:12,bin2352,35, -CTSPillarNetworkA,2353,2353,2353,1976-06-11,234.99999999999093,235.00514,2015-01-01 00:39:13,bin2353,75, -CTSPillarNetworkA,2354,2354,2354,1976-06-12,235.09999999999093,235.10515,2015-01-01 00:39:14,bin2354,35, -CTSPillarNetworkA,2355,2355,2355,1976-06-13,235.19999999999092,235.20515,2015-01-01 00:39:15,bin2355,75, -CTSPillarNetworkA,2356,2356,2356,1976-06-14,235.29999999999092,235.30516,2015-01-01 00:39:16,bin2356,35, -CTSPillarNetworkA,2357,2357,2357,1976-06-15,235.3999999999909,235.40517,2015-01-01 00:39:17,bin2357,75, -CTSPillarNetworkA,2358,2358,2358,1976-06-16,235.4999999999909,235.50517,2015-01-01 00:39:18,bin2358,35, -CTSPillarNetworkA,2359,2359,2359,1976-06-17,235.5999999999909,235.60518,2015-01-01 00:39:19,bin2359,75, -CTSPillarNetworkA,2360,2360,2360,1976-06-18,235.6999999999909,235.70518,2015-01-01 00:39:20,bin2360,35, -CTSPillarNetworkA,2361,2361,2361,1976-06-19,235.7999999999909,235.80519,2015-01-01 00:39:21,bin2361,75, -CTSPillarNetworkA,2362,2362,2362,1976-06-20,235.89999999999088,235.9052,2015-01-01 00:39:22,bin2362,35, -CTSPillarNetworkA,2363,2363,2363,1976-06-21,235.99999999999088,236.0052,2015-01-01 00:39:23,bin2363,75, -CTSPillarNetworkA,2364,2364,2364,1976-06-22,236.09999999999087,236.10521,2015-01-01 00:39:24,bin2364,35, -CTSPillarNetworkA,2365,2365,2365,1976-06-23,236.19999999999087,236.20522,2015-01-01 00:39:25,bin2365,75, -CTSPillarNetworkA,2366,2366,2366,1976-06-24,236.29999999999086,236.30522,2015-01-01 00:39:26,bin2366,35, -CTSPillarNetworkA,2367,2367,2367,1976-06-25,236.39999999999085,236.40523,2015-01-01 00:39:27,bin2367,75, -CTSPillarNetworkA,2368,2368,2368,1976-06-26,236.49999999999085,236.50523,2015-01-01 00:39:28,bin2368,35, -CTSPillarNetworkA,2369,2369,2369,1976-06-27,236.59999999999084,236.60524,2015-01-01 00:39:29,bin2369,75, -CTSPillarNetworkA,2370,2370,2370,1976-06-28,236.69999999999084,236.70525,2015-01-01 00:39:30,bin2370,35, -CTSPillarNetworkA,2371,2371,2371,1976-06-29,236.79999999999083,236.80525,2015-01-01 00:39:31,bin2371,75, -CTSPillarNetworkA,2372,2372,2372,1976-06-30,236.89999999999083,236.90526,2015-01-01 00:39:32,bin2372,35, -CTSPillarNetworkA,2373,2373,2373,1976-07-01,236.99999999999082,237.00526,2015-01-01 00:39:33,bin2373,75, -CTSPillarNetworkA,2374,2374,2374,1976-07-02,237.0999999999908,237.10527,2015-01-01 00:39:34,bin2374,35, -CTSPillarNetworkA,2375,2375,2375,1976-07-03,237.1999999999908,237.20528,2015-01-01 00:39:35,bin2375,75, -CTSPillarNetworkA,2376,2376,2376,1976-07-04,237.2999999999908,237.30528,2015-01-01 00:39:36,bin2376,35, -CTSPillarNetworkA,2377,2377,2377,1976-07-05,237.3999999999908,237.40529,2015-01-01 00:39:37,bin2377,75, -CTSPillarNetworkA,2378,2378,2378,1976-07-06,237.4999999999908,237.5053,2015-01-01 00:39:38,bin2378,35, -CTSPillarNetworkA,2379,2379,2379,1976-07-07,237.59999999999079,237.6053,2015-01-01 00:39:39,bin2379,75, -CTSPillarNetworkA,2380,2380,2380,1976-07-08,237.69999999999078,237.7053,2015-01-01 00:39:40,bin2380,35, -CTSPillarNetworkA,2381,2381,2381,1976-07-09,237.79999999999077,237.80531,2015-01-01 00:39:41,bin2381,75, -CTSPillarNetworkA,2382,2382,2382,1976-07-10,237.89999999999077,237.90532,2015-01-01 00:39:42,bin2382,35, -CTSPillarNetworkA,2383,2383,2383,1976-07-11,237.99999999999076,238.00533,2015-01-01 00:39:43,bin2383,75, -CTSPillarNetworkA,2384,2384,2384,1976-07-12,238.09999999999076,238.10533,2015-01-01 00:39:44,bin2384,35, -CTSPillarNetworkA,2385,2385,2385,1976-07-13,238.19999999999075,238.20534,2015-01-01 00:39:45,bin2385,75, -CTSPillarNetworkA,2386,2386,2386,1976-07-14,238.29999999999075,238.30534,2015-01-01 00:39:46,bin2386,35, -CTSPillarNetworkA,2387,2387,2387,1976-07-15,238.39999999999074,238.40535,2015-01-01 00:39:47,bin2387,75, -CTSPillarNetworkA,2388,2388,2388,1976-07-16,238.49999999999073,238.50536,2015-01-01 00:39:48,bin2388,35, -CTSPillarNetworkA,2389,2389,2389,1976-07-17,238.59999999999073,238.60536,2015-01-01 00:39:49,bin2389,75, -CTSPillarNetworkA,2390,2390,2390,1976-07-18,238.69999999999072,238.70537,2015-01-01 00:39:50,bin2390,35, -CTSPillarNetworkA,2391,2391,2391,1976-07-19,238.79999999999072,238.80537,2015-01-01 00:39:51,bin2391,75, -CTSPillarNetworkA,2392,2392,2392,1976-07-20,238.8999999999907,238.90538,2015-01-01 00:39:52,bin2392,35, -CTSPillarNetworkA,2393,2393,2393,1976-07-21,238.9999999999907,239.00539,2015-01-01 00:39:53,bin2393,75, -CTSPillarNetworkA,2394,2394,2394,1976-07-22,239.0999999999907,239.1054,2015-01-01 00:39:54,bin2394,35, -CTSPillarNetworkA,2395,2395,2395,1976-07-23,239.1999999999907,239.2054,2015-01-01 00:39:55,bin2395,75, -CTSPillarNetworkA,2396,2396,2396,1976-07-24,239.2999999999907,239.3054,2015-01-01 00:39:56,bin2396,35, -CTSPillarNetworkA,2397,2397,2397,1976-07-25,239.39999999999068,239.40541,2015-01-01 00:39:57,bin2397,75, -CTSPillarNetworkA,2398,2398,2398,1976-07-26,239.49999999999068,239.50542,2015-01-01 00:39:58,bin2398,35, -CTSPillarNetworkA,2399,2399,2399,1976-07-27,239.59999999999067,239.60542,2015-01-01 00:39:59,bin2399,75, -CTSPillarNetworkA,2400,2400,2400,1976-07-28,239.69999999999067,239.70543,2015-01-01 00:40:00,bin2400,35, -CTSPillarNetworkA,2401,2401,2401,1976-07-29,239.79999999999066,239.80544,2015-01-01 00:40:01,bin2401,75, -CTSPillarNetworkA,2402,2402,2402,1976-07-30,239.89999999999065,239.90544,2015-01-01 00:40:02,bin2402,35, -CTSPillarNetworkA,2403,2403,2403,1976-07-31,239.99999999999065,240.00545,2015-01-01 00:40:03,bin2403,75, -CTSPillarNetworkA,2404,2404,2404,1976-08-01,240.09999999999064,240.10545,2015-01-01 00:40:04,bin2404,35, -CTSPillarNetworkA,2405,2405,2405,1976-08-02,240.19999999999064,240.20546,2015-01-01 00:40:05,bin2405,75, -CTSPillarNetworkA,2406,2406,2406,1976-08-03,240.29999999999063,240.30547,2015-01-01 00:40:06,bin2406,35, -CTSPillarNetworkA,2407,2407,2407,1976-08-04,240.39999999999063,240.40547,2015-01-01 00:40:07,bin2407,75, -CTSPillarNetworkA,2408,2408,2408,1976-08-05,240.49999999999062,240.50548,2015-01-01 00:40:08,bin2408,35, -CTSPillarNetworkA,2409,2409,2409,1976-08-06,240.59999999999062,240.60548,2015-01-01 00:40:09,bin2409,75, -CTSPillarNetworkA,2410,2410,2410,1976-08-07,240.6999999999906,240.70549,2015-01-01 00:40:10,bin2410,35, -CTSPillarNetworkA,2411,2411,2411,1976-08-08,240.7999999999906,240.8055,2015-01-01 00:40:11,bin2411,75, -CTSPillarNetworkA,2412,2412,2412,1976-08-09,240.8999999999906,240.9055,2015-01-01 00:40:12,bin2412,35, -CTSPillarNetworkA,2413,2413,2413,1976-08-10,240.9999999999906,241.00551,2015-01-01 00:40:13,bin2413,75, -CTSPillarNetworkA,2414,2414,2414,1976-08-11,241.0999999999906,241.10551,2015-01-01 00:40:14,bin2414,35, -CTSPillarNetworkA,2415,2415,2415,1976-08-12,241.19999999999058,241.20552,2015-01-01 00:40:15,bin2415,75, -CTSPillarNetworkA,2416,2416,2416,1976-08-13,241.29999999999058,241.30553,2015-01-01 00:40:16,bin2416,35, -CTSPillarNetworkA,2417,2417,2417,1976-08-14,241.39999999999057,241.40553,2015-01-01 00:40:17,bin2417,75, -CTSPillarNetworkA,2418,2418,2418,1976-08-15,241.49999999999056,241.50554,2015-01-01 00:40:18,bin2418,35, -CTSPillarNetworkA,2419,2419,2419,1976-08-16,241.59999999999056,241.60555,2015-01-01 00:40:19,bin2419,75, -CTSPillarNetworkA,2420,2420,2420,1976-08-17,241.69999999999055,241.70555,2015-01-01 00:40:20,bin2420,35, -CTSPillarNetworkA,2421,2421,2421,1976-08-18,241.79999999999055,241.80556,2015-01-01 00:40:21,bin2421,75, -CTSPillarNetworkA,2422,2422,2422,1976-08-19,241.89999999999054,241.90556,2015-01-01 00:40:22,bin2422,35, -CTSPillarNetworkA,2423,2423,2423,1976-08-20,241.99999999999054,242.00557,2015-01-01 00:40:23,bin2423,75, -CTSPillarNetworkA,2424,2424,2424,1976-08-21,242.09999999999053,242.10558,2015-01-01 00:40:24,bin2424,35, -CTSPillarNetworkA,2425,2425,2425,1976-08-22,242.19999999999052,242.20558,2015-01-01 00:40:25,bin2425,75, -CTSPillarNetworkA,2426,2426,2426,1976-08-23,242.29999999999052,242.30559,2015-01-01 00:40:26,bin2426,35, -CTSPillarNetworkA,2427,2427,2427,1976-08-24,242.3999999999905,242.4056,2015-01-01 00:40:27,bin2427,75, -CTSPillarNetworkA,2428,2428,2428,1976-08-25,242.4999999999905,242.5056,2015-01-01 00:40:28,bin2428,35, -CTSPillarNetworkA,2429,2429,2429,1976-08-26,242.5999999999905,242.6056,2015-01-01 00:40:29,bin2429,75, -CTSPillarNetworkA,2430,2430,2430,1976-08-27,242.6999999999905,242.70561,2015-01-01 00:40:30,bin2430,35, -CTSPillarNetworkA,2431,2431,2431,1976-08-28,242.7999999999905,242.80562,2015-01-01 00:40:31,bin2431,75, -CTSPillarNetworkA,2432,2432,2432,1976-08-29,242.89999999999048,242.90562,2015-01-01 00:40:32,bin2432,35, -CTSPillarNetworkA,2433,2433,2433,1976-08-30,242.99999999999048,243.00563,2015-01-01 00:40:33,bin2433,75, -CTSPillarNetworkA,2434,2434,2434,1976-08-31,243.09999999999047,243.10564,2015-01-01 00:40:34,bin2434,35, -CTSPillarNetworkA,2435,2435,2435,1976-09-01,243.19999999999047,243.20564,2015-01-01 00:40:35,bin2435,75, -CTSPillarNetworkA,2436,2436,2436,1976-09-02,243.29999999999046,243.30565,2015-01-01 00:40:36,bin2436,35, -CTSPillarNetworkA,2437,2437,2437,1976-09-03,243.39999999999046,243.40565,2015-01-01 00:40:37,bin2437,75, -CTSPillarNetworkA,2438,2438,2438,1976-09-04,243.49999999999045,243.50566,2015-01-01 00:40:38,bin2438,35, -CTSPillarNetworkA,2439,2439,2439,1976-09-05,243.59999999999044,243.60567,2015-01-01 00:40:39,bin2439,75, -CTSPillarNetworkA,2440,2440,2440,1976-09-06,243.69999999999044,243.70567,2015-01-01 00:40:40,bin2440,35, -CTSPillarNetworkA,2441,2441,2441,1976-09-07,243.79999999999043,243.80568,2015-01-01 00:40:41,bin2441,75, -CTSPillarNetworkA,2442,2442,2442,1976-09-08,243.89999999999043,243.90569,2015-01-01 00:40:42,bin2442,35, -CTSPillarNetworkA,2443,2443,2443,1976-09-09,243.99999999999042,244.00569,2015-01-01 00:40:43,bin2443,75, -CTSPillarNetworkA,2444,2444,2444,1976-09-10,244.09999999999042,244.1057,2015-01-01 00:40:44,bin2444,35, -CTSPillarNetworkA,2445,2445,2445,1976-09-11,244.1999999999904,244.2057,2015-01-01 00:40:45,bin2445,75, -CTSPillarNetworkA,2446,2446,2446,1976-09-12,244.2999999999904,244.30571,2015-01-01 00:40:46,bin2446,35, -CTSPillarNetworkA,2447,2447,2447,1976-09-13,244.3999999999904,244.40572,2015-01-01 00:40:47,bin2447,75, -CTSPillarNetworkA,2448,2448,2448,1976-09-14,244.4999999999904,244.50572,2015-01-01 00:40:48,bin2448,35, -CTSPillarNetworkA,2449,2449,2449,1976-09-15,244.5999999999904,244.60573,2015-01-01 00:40:49,bin2449,75, -CTSPillarNetworkA,2450,2450,2450,1976-09-16,244.69999999999038,244.70573,2015-01-01 00:40:50,bin2450,35, -CTSPillarNetworkA,2451,2451,2451,1976-09-17,244.79999999999038,244.80574,2015-01-01 00:40:51,bin2451,75, -CTSPillarNetworkA,2452,2452,2452,1976-09-18,244.89999999999037,244.90575,2015-01-01 00:40:52,bin2452,35, -CTSPillarNetworkA,2453,2453,2453,1976-09-19,244.99999999999037,245.00575,2015-01-01 00:40:53,bin2453,75, -CTSPillarNetworkA,2454,2454,2454,1976-09-20,245.09999999999036,245.10576,2015-01-01 00:40:54,bin2454,35, -CTSPillarNetworkA,2455,2455,2455,1976-09-21,245.19999999999035,245.20576,2015-01-01 00:40:55,bin2455,75, -CTSPillarNetworkA,2456,2456,2456,1976-09-22,245.29999999999035,245.30577,2015-01-01 00:40:56,bin2456,35, -CTSPillarNetworkA,2457,2457,2457,1976-09-23,245.39999999999034,245.40578,2015-01-01 00:40:57,bin2457,75, -CTSPillarNetworkA,2458,2458,2458,1976-09-24,245.49999999999034,245.50578,2015-01-01 00:40:58,bin2458,35, -CTSPillarNetworkA,2459,2459,2459,1976-09-25,245.59999999999033,245.60579,2015-01-01 00:40:59,bin2459,75, -CTSPillarNetworkA,2460,2460,2460,1976-09-26,245.69999999999033,245.7058,2015-01-01 00:41:00,bin2460,35, -CTSPillarNetworkA,2461,2461,2461,1976-09-27,245.79999999999032,245.8058,2015-01-01 00:41:01,bin2461,75, -CTSPillarNetworkA,2462,2462,2462,1976-09-28,245.8999999999903,245.9058,2015-01-01 00:41:02,bin2462,35, -CTSPillarNetworkA,2463,2463,2463,1976-09-29,245.9999999999903,246.00581,2015-01-01 00:41:03,bin2463,75, -CTSPillarNetworkA,2464,2464,2464,1976-09-30,246.0999999999903,246.10582,2015-01-01 00:41:04,bin2464,35, -CTSPillarNetworkA,2465,2465,2465,1976-10-01,246.1999999999903,246.20583,2015-01-01 00:41:05,bin2465,75, -CTSPillarNetworkA,2466,2466,2466,1976-10-02,246.2999999999903,246.30583,2015-01-01 00:41:06,bin2466,35, -CTSPillarNetworkA,2467,2467,2467,1976-10-03,246.39999999999029,246.40584,2015-01-01 00:41:07,bin2467,75, -CTSPillarNetworkA,2468,2468,2468,1976-10-04,246.49999999999028,246.50584,2015-01-01 00:41:08,bin2468,35, -CTSPillarNetworkA,2469,2469,2469,1976-10-05,246.59999999999027,246.60585,2015-01-01 00:41:09,bin2469,75, -CTSPillarNetworkA,2470,2470,2470,1976-10-06,246.69999999999027,246.70586,2015-01-01 00:41:10,bin2470,35, -CTSPillarNetworkA,2471,2471,2471,1976-10-07,246.79999999999026,246.80586,2015-01-01 00:41:11,bin2471,75, -CTSPillarNetworkA,2472,2472,2472,1976-10-08,246.89999999999026,246.90587,2015-01-01 00:41:12,bin2472,35, -CTSPillarNetworkA,2473,2473,2473,1976-10-09,246.99999999999025,247.00587,2015-01-01 00:41:13,bin2473,75, -CTSPillarNetworkA,2474,2474,2474,1976-10-10,247.09999999999025,247.10588,2015-01-01 00:41:14,bin2474,35, -CTSPillarNetworkA,2475,2475,2475,1976-10-11,247.19999999999024,247.20589,2015-01-01 00:41:15,bin2475,75, -CTSPillarNetworkA,2476,2476,2476,1976-10-12,247.29999999999023,247.3059,2015-01-01 00:41:16,bin2476,35, -CTSPillarNetworkA,2477,2477,2477,1976-10-13,247.39999999999023,247.4059,2015-01-01 00:41:17,bin2477,75, -CTSPillarNetworkA,2478,2478,2478,1976-10-14,247.49999999999022,247.5059,2015-01-01 00:41:18,bin2478,35, -CTSPillarNetworkA,2479,2479,2479,1976-10-15,247.59999999999022,247.60591,2015-01-01 00:41:19,bin2479,75, -CTSPillarNetworkA,2480,2480,2480,1976-10-16,247.6999999999902,247.70592,2015-01-01 00:41:20,bin2480,35, -CTSPillarNetworkA,2481,2481,2481,1976-10-17,247.7999999999902,247.80592,2015-01-01 00:41:21,bin2481,75, -CTSPillarNetworkA,2482,2482,2482,1976-10-18,247.8999999999902,247.90593,2015-01-01 00:41:22,bin2482,35, -CTSPillarNetworkA,2483,2483,2483,1976-10-19,247.9999999999902,248.00594,2015-01-01 00:41:23,bin2483,75, -CTSPillarNetworkA,2484,2484,2484,1976-10-20,248.0999999999902,248.10594,2015-01-01 00:41:24,bin2484,35, -CTSPillarNetworkA,2485,2485,2485,1976-10-21,248.19999999999018,248.20595,2015-01-01 00:41:25,bin2485,75, -CTSPillarNetworkA,2486,2486,2486,1976-10-22,248.29999999999018,248.30595,2015-01-01 00:41:26,bin2486,35, -CTSPillarNetworkA,2487,2487,2487,1976-10-23,248.39999999999017,248.40596,2015-01-01 00:41:27,bin2487,75, -CTSPillarNetworkA,2488,2488,2488,1976-10-24,248.49999999999017,248.50597,2015-01-01 00:41:28,bin2488,35, -CTSPillarNetworkA,2489,2489,2489,1976-10-25,248.59999999999016,248.60597,2015-01-01 00:41:29,bin2489,75, -CTSPillarNetworkA,2490,2490,2490,1976-10-26,248.69999999999015,248.70598,2015-01-01 00:41:30,bin2490,35, -CTSPillarNetworkA,2491,2491,2491,1976-10-27,248.79999999999015,248.80598,2015-01-01 00:41:31,bin2491,75, -CTSPillarNetworkA,2492,2492,2492,1976-10-28,248.89999999999014,248.90599,2015-01-01 00:41:32,bin2492,35, -CTSPillarNetworkA,2493,2493,2493,1976-10-29,248.99999999999014,249.006,2015-01-01 00:41:33,bin2493,75, -CTSPillarNetworkA,2494,2494,2494,1976-10-30,249.09999999999013,249.106,2015-01-01 00:41:34,bin2494,35, -CTSPillarNetworkA,2495,2495,2495,1976-10-31,249.19999999999013,249.20601,2015-01-01 00:41:35,bin2495,75, -CTSPillarNetworkA,2496,2496,2496,1976-11-01,249.29999999999012,249.30602,2015-01-01 00:41:36,bin2496,35, -CTSPillarNetworkA,2497,2497,2497,1976-11-02,249.39999999999011,249.40602,2015-01-01 00:41:37,bin2497,75, -CTSPillarNetworkA,2498,2498,2498,1976-11-03,249.4999999999901,249.50603,2015-01-01 00:41:38,bin2498,35, -CTSPillarNetworkA,2499,2499,2499,1976-11-04,249.5999999999901,249.60603,2015-01-01 00:41:39,bin2499,75, -CTSPillarNetworkA,2500,2500,2500,1976-11-05,249.6999999999901,249.70604,2015-01-01 00:41:40,bin2500,35, -CTSPillarNetworkA,2501,2501,2501,1976-11-06,249.7999999999901,249.80605,2015-01-01 00:41:41,bin2501,75, -CTSPillarNetworkA,2502,2502,2502,1976-11-07,249.8999999999901,249.90605,2015-01-01 00:41:42,bin2502,35, -CTSPillarNetworkA,2503,2503,2503,1976-11-08,249.99999999999008,250.00606,2015-01-01 00:41:43,bin2503,75, -CTSPillarNetworkA,2504,2504,2504,1976-11-09,250.09999999999008,250.10606,2015-01-01 00:41:44,bin2504,35, -CTSPillarNetworkA,2505,2505,2505,1976-11-10,250.19999999999007,250.20607,2015-01-01 00:41:45,bin2505,75, -CTSPillarNetworkA,2506,2506,2506,1976-11-11,250.29999999999006,250.30608,2015-01-01 00:41:46,bin2506,35, -CTSPillarNetworkA,2507,2507,2507,1976-11-12,250.39999999999006,250.40608,2015-01-01 00:41:47,bin2507,75, -CTSPillarNetworkA,2508,2508,2508,1976-11-13,250.49999999999005,250.50609,2015-01-01 00:41:48,bin2508,35, -CTSPillarNetworkA,2509,2509,2509,1976-11-14,250.59999999999005,250.6061,2015-01-01 00:41:49,bin2509,75, -CTSPillarNetworkA,2510,2510,2510,1976-11-15,250.69999999999004,250.7061,2015-01-01 00:41:50,bin2510,35, -CTSPillarNetworkA,2511,2511,2511,1976-11-16,250.79999999999004,250.8061,2015-01-01 00:41:51,bin2511,75, -CTSPillarNetworkA,2512,2512,2512,1976-11-17,250.89999999999003,250.90611,2015-01-01 00:41:52,bin2512,35, -CTSPillarNetworkA,2513,2513,2513,1976-11-18,250.99999999999002,251.00612,2015-01-01 00:41:53,bin2513,75, -CTSPillarNetworkA,2514,2514,2514,1976-11-19,251.09999999999002,251.10612,2015-01-01 00:41:54,bin2514,35, -CTSPillarNetworkA,2515,2515,2515,1976-11-20,251.19999999999,251.20613,2015-01-01 00:41:55,bin2515,75, -CTSPillarNetworkA,2516,2516,2516,1976-11-21,251.29999999999,251.30614,2015-01-01 00:41:56,bin2516,35, -CTSPillarNetworkA,2517,2517,2517,1976-11-22,251.39999999999,251.40614,2015-01-01 00:41:57,bin2517,75, -CTSPillarNetworkA,2518,2518,2518,1976-11-23,251.49999999999,251.50615,2015-01-01 00:41:58,bin2518,35, -CTSPillarNetworkA,2519,2519,2519,1976-11-24,251.59999999999,251.60616,2015-01-01 00:41:59,bin2519,75, -CTSPillarNetworkA,2520,2520,2520,1976-11-25,251.69999999998998,251.70616,2015-01-01 00:42:00,bin2520,35, -CTSPillarNetworkA,2521,2521,2521,1976-11-26,251.79999999998998,251.80617,2015-01-01 00:42:01,bin2521,75, -CTSPillarNetworkA,2522,2522,2522,1976-11-27,251.89999999998997,251.90617,2015-01-01 00:42:02,bin2522,35, -CTSPillarNetworkA,2523,2523,2523,1976-11-28,251.99999999998997,252.00618,2015-01-01 00:42:03,bin2523,75, -CTSPillarNetworkA,2524,2524,2524,1976-11-29,252.09999999998996,252.10619,2015-01-01 00:42:04,bin2524,35, -CTSPillarNetworkA,2525,2525,2525,1976-11-30,252.19999999998996,252.20619,2015-01-01 00:42:05,bin2525,75, -CTSPillarNetworkA,2526,2526,2526,1976-12-01,252.29999999998995,252.3062,2015-01-01 00:42:06,bin2526,35, -CTSPillarNetworkA,2527,2527,2527,1976-12-02,252.39999999998994,252.4062,2015-01-01 00:42:07,bin2527,75, -CTSPillarNetworkA,2528,2528,2528,1976-12-03,252.49999999998994,252.50621,2015-01-01 00:42:08,bin2528,35, -CTSPillarNetworkA,2529,2529,2529,1976-12-04,252.59999999998993,252.60622,2015-01-01 00:42:09,bin2529,75, -CTSPillarNetworkA,2530,2530,2530,1976-12-05,252.69999999998993,252.70622,2015-01-01 00:42:10,bin2530,35, -CTSPillarNetworkA,2531,2531,2531,1976-12-06,252.79999999998992,252.80623,2015-01-01 00:42:11,bin2531,75, -CTSPillarNetworkA,2532,2532,2532,1976-12-07,252.89999999998992,252.90623,2015-01-01 00:42:12,bin2532,35, -CTSPillarNetworkA,2533,2533,2533,1976-12-08,252.9999999999899,253.00624,2015-01-01 00:42:13,bin2533,75, -CTSPillarNetworkA,2534,2534,2534,1976-12-09,253.0999999999899,253.10625,2015-01-01 00:42:14,bin2534,35, -CTSPillarNetworkA,2535,2535,2535,1976-12-10,253.1999999999899,253.20625,2015-01-01 00:42:15,bin2535,75, -CTSPillarNetworkA,2536,2536,2536,1976-12-11,253.2999999999899,253.30626,2015-01-01 00:42:16,bin2536,35, -CTSPillarNetworkA,2537,2537,2537,1976-12-12,253.3999999999899,253.40627,2015-01-01 00:42:17,bin2537,75, -CTSPillarNetworkA,2538,2538,2538,1976-12-13,253.49999999998988,253.50627,2015-01-01 00:42:18,bin2538,35, -CTSPillarNetworkA,2539,2539,2539,1976-12-14,253.59999999998988,253.60628,2015-01-01 00:42:19,bin2539,75, -CTSPillarNetworkA,2540,2540,2540,1976-12-15,253.69999999998987,253.70628,2015-01-01 00:42:20,bin2540,35, -CTSPillarNetworkA,2541,2541,2541,1976-12-16,253.79999999998986,253.80629,2015-01-01 00:42:21,bin2541,75, -CTSPillarNetworkA,2542,2542,2542,1976-12-17,253.89999999998986,253.9063,2015-01-01 00:42:22,bin2542,35, -CTSPillarNetworkA,2543,2543,2543,1976-12-18,253.99999999998985,254.0063,2015-01-01 00:42:23,bin2543,75, -CTSPillarNetworkA,2544,2544,2544,1976-12-19,254.09999999998985,254.10631,2015-01-01 00:42:24,bin2544,35, -CTSPillarNetworkA,2545,2545,2545,1976-12-20,254.19999999998984,254.20631,2015-01-01 00:42:25,bin2545,75, -CTSPillarNetworkA,2546,2546,2546,1976-12-21,254.29999999998984,254.30632,2015-01-01 00:42:26,bin2546,35, -CTSPillarNetworkA,2547,2547,2547,1976-12-22,254.39999999998983,254.40633,2015-01-01 00:42:27,bin2547,75, -CTSPillarNetworkA,2548,2548,2548,1976-12-23,254.49999999998983,254.50633,2015-01-01 00:42:28,bin2548,35, -CTSPillarNetworkA,2549,2549,2549,1976-12-24,254.59999999998982,254.60634,2015-01-01 00:42:29,bin2549,75, -CTSPillarNetworkA,2550,2550,2550,1976-12-25,254.6999999999898,254.70634,2015-01-01 00:42:30,bin2550,35, -CTSPillarNetworkA,2551,2551,2551,1976-12-26,254.7999999999898,254.80635,2015-01-01 00:42:31,bin2551,75, -CTSPillarNetworkA,2552,2552,2552,1976-12-27,254.8999999999898,254.90636,2015-01-01 00:42:32,bin2552,35, -CTSPillarNetworkA,2553,2553,2553,1976-12-28,254.9999999999898,255.00636,2015-01-01 00:42:33,bin2553,75, -CTSPillarNetworkA,2554,2554,2554,1976-12-29,255.0999999999898,255.10637,2015-01-01 00:42:34,bin2554,35, -CTSPillarNetworkA,2555,2555,2555,1976-12-30,255.19999999998979,255.20638,2015-01-01 00:42:35,bin2555,75, -CTSPillarNetworkA,2556,2556,2556,1976-12-31,255.29999999998978,255.30638,2015-01-01 00:42:36,bin2556,35, -CTSPillarNetworkA,2557,2557,2557,1977-01-01,255.39999999998977,255.40639,2015-01-01 00:42:37,bin2557,75, -CTSPillarNetworkA,2558,2558,2558,1977-01-02,255.49999999998977,255.5064,2015-01-01 00:42:38,bin2558,35, -CTSPillarNetworkA,2559,2559,2559,1977-01-03,255.59999999998976,255.6064,2015-01-01 00:42:39,bin2559,75, -CTSPillarNetworkA,2560,2560,2560,1977-01-04,255.69999999998976,255.7064,2015-01-01 00:42:40,bin2560,35, -CTSPillarNetworkA,2561,2561,2561,1977-01-05,255.79999999998975,255.80641,2015-01-01 00:42:41,bin2561,75, -CTSPillarNetworkA,2562,2562,2562,1977-01-06,255.89999999998975,255.90642,2015-01-01 00:42:42,bin2562,35, -CTSPillarNetworkA,2563,2563,2563,1977-01-07,255.99999999998974,256.0064,2015-01-01 00:42:43,bin2563,75, -CTSPillarNetworkA,2564,2564,2564,1977-01-08,256.09999999998973,256.1064,2015-01-01 00:42:44,bin2564,35, -CTSPillarNetworkA,2565,2565,2565,1977-01-09,256.19999999998976,256.20642,2015-01-01 00:42:45,bin2565,75, -CTSPillarNetworkA,2566,2566,2566,1977-01-10,256.2999999999898,256.30643,2015-01-01 00:42:46,bin2566,35, -CTSPillarNetworkA,2567,2567,2567,1977-01-11,256.3999999999898,256.40643,2015-01-01 00:42:47,bin2567,75, -CTSPillarNetworkA,2568,2568,2568,1977-01-12,256.4999999999898,256.50644,2015-01-01 00:42:48,bin2568,35, -CTSPillarNetworkA,2569,2569,2569,1977-01-13,256.59999999998985,256.60645,2015-01-01 00:42:49,bin2569,75, -CTSPillarNetworkA,2570,2570,2570,1977-01-14,256.69999999998987,256.70645,2015-01-01 00:42:50,bin2570,35, -CTSPillarNetworkA,2571,2571,2571,1977-01-15,256.7999999999899,256.80646,2015-01-01 00:42:51,bin2571,75, -CTSPillarNetworkA,2572,2572,2572,1977-01-16,256.8999999999899,256.90646,2015-01-01 00:42:52,bin2572,35, -CTSPillarNetworkA,2573,2573,2573,1977-01-17,256.99999999998994,257.00647,2015-01-01 00:42:53,bin2573,75, -CTSPillarNetworkA,2574,2574,2574,1977-01-18,257.09999999998996,257.10648,2015-01-01 00:42:54,bin2574,35, -CTSPillarNetworkA,2575,2575,2575,1977-01-19,257.19999999999,257.20648,2015-01-01 00:42:55,bin2575,75, -CTSPillarNetworkA,2576,2576,2576,1977-01-20,257.29999999999,257.3065,2015-01-01 00:42:56,bin2576,35, -CTSPillarNetworkA,2577,2577,2577,1977-01-21,257.39999999999003,257.4065,2015-01-01 00:42:57,bin2577,75, -CTSPillarNetworkA,2578,2578,2578,1977-01-22,257.49999999999005,257.5065,2015-01-01 00:42:58,bin2578,35, -CTSPillarNetworkA,2579,2579,2579,1977-01-23,257.5999999999901,257.6065,2015-01-01 00:42:59,bin2579,75, -CTSPillarNetworkA,2580,2580,2580,1977-01-24,257.6999999999901,257.7065,2015-01-01 00:43:00,bin2580,35, -CTSPillarNetworkA,2581,2581,2581,1977-01-25,257.7999999999901,257.80652,2015-01-01 00:43:01,bin2581,75, -CTSPillarNetworkA,2582,2582,2582,1977-01-26,257.89999999999014,257.90652,2015-01-01 00:43:02,bin2582,35, -CTSPillarNetworkA,2583,2583,2583,1977-01-27,257.99999999999017,258.00653,2015-01-01 00:43:03,bin2583,75, -CTSPillarNetworkA,2584,2584,2584,1977-01-28,258.0999999999902,258.10654,2015-01-01 00:43:04,bin2584,35, -CTSPillarNetworkA,2585,2585,2585,1977-01-29,258.1999999999902,258.20654,2015-01-01 00:43:05,bin2585,75, -CTSPillarNetworkA,2586,2586,2586,1977-01-30,258.29999999999023,258.30655,2015-01-01 00:43:06,bin2586,35, -CTSPillarNetworkA,2587,2587,2587,1977-01-31,258.39999999999026,258.40656,2015-01-01 00:43:07,bin2587,75, -CTSPillarNetworkA,2588,2588,2588,1977-02-01,258.4999999999903,258.50656,2015-01-01 00:43:08,bin2588,35, -CTSPillarNetworkA,2589,2589,2589,1977-02-02,258.5999999999903,258.60657,2015-01-01 00:43:09,bin2589,75, -CTSPillarNetworkA,2590,2590,2590,1977-02-03,258.6999999999903,258.70657,2015-01-01 00:43:10,bin2590,35, -CTSPillarNetworkA,2591,2591,2591,1977-02-04,258.79999999999035,258.80658,2015-01-01 00:43:11,bin2591,75, -CTSPillarNetworkA,2592,2592,2592,1977-02-05,258.89999999999037,258.9066,2015-01-01 00:43:12,bin2592,35, -CTSPillarNetworkA,2593,2593,2593,1977-02-06,258.9999999999904,259.0066,2015-01-01 00:43:13,bin2593,75, -CTSPillarNetworkA,2594,2594,2594,1977-02-07,259.0999999999904,259.1066,2015-01-01 00:43:14,bin2594,35, -CTSPillarNetworkA,2595,2595,2595,1977-02-08,259.19999999999044,259.2066,2015-01-01 00:43:15,bin2595,75, -CTSPillarNetworkA,2596,2596,2596,1977-02-09,259.29999999999046,259.3066,2015-01-01 00:43:16,bin2596,35, -CTSPillarNetworkA,2597,2597,2597,1977-02-10,259.3999999999905,259.40662,2015-01-01 00:43:17,bin2597,75, -CTSPillarNetworkA,2598,2598,2598,1977-02-11,259.4999999999905,259.50662,2015-01-01 00:43:18,bin2598,35, -CTSPillarNetworkA,2599,2599,2599,1977-02-12,259.59999999999053,259.60663,2015-01-01 00:43:19,bin2599,75, -CTSPillarNetworkA,2600,2600,2600,1977-02-13,259.69999999999055,259.70663,2015-01-01 00:43:20,bin2600,35, -CTSPillarNetworkA,2601,2601,2601,1977-02-14,259.7999999999906,259.80664,2015-01-01 00:43:21,bin2601,75, -CTSPillarNetworkA,2602,2602,2602,1977-02-15,259.8999999999906,259.90665,2015-01-01 00:43:22,bin2602,35, -CTSPillarNetworkA,2603,2603,2603,1977-02-16,259.9999999999906,260.00665,2015-01-01 00:43:23,bin2603,75, -CTSPillarNetworkA,2604,2604,2604,1977-02-17,260.09999999999064,260.10666,2015-01-01 00:43:24,bin2604,35, -CTSPillarNetworkA,2605,2605,2605,1977-02-18,260.19999999999067,260.20667,2015-01-01 00:43:25,bin2605,75, -CTSPillarNetworkA,2606,2606,2606,1977-02-19,260.2999999999907,260.30667,2015-01-01 00:43:26,bin2606,35, -CTSPillarNetworkA,2607,2607,2607,1977-02-20,260.3999999999907,260.40668,2015-01-01 00:43:27,bin2607,75, -CTSPillarNetworkA,2608,2608,2608,1977-02-21,260.49999999999073,260.50668,2015-01-01 00:43:28,bin2608,35, -CTSPillarNetworkA,2609,2609,2609,1977-02-22,260.59999999999076,260.6067,2015-01-01 00:43:29,bin2609,75, -CTSPillarNetworkA,2610,2610,2610,1977-02-23,260.6999999999908,260.7067,2015-01-01 00:43:30,bin2610,35, -CTSPillarNetworkA,2611,2611,2611,1977-02-24,260.7999999999908,260.8067,2015-01-01 00:43:31,bin2611,75, -CTSPillarNetworkA,2612,2612,2612,1977-02-25,260.8999999999908,260.9067,2015-01-01 00:43:32,bin2612,35, -CTSPillarNetworkA,2613,2613,2613,1977-02-26,260.99999999999085,261.0067,2015-01-01 00:43:33,bin2613,75, -CTSPillarNetworkA,2614,2614,2614,1977-02-27,261.09999999999087,261.10672,2015-01-01 00:43:34,bin2614,35, -CTSPillarNetworkA,2615,2615,2615,1977-02-28,261.1999999999909,261.20673,2015-01-01 00:43:35,bin2615,75, -CTSPillarNetworkA,2616,2616,2616,1977-03-01,261.2999999999909,261.30673,2015-01-01 00:43:36,bin2616,35, -CTSPillarNetworkA,2617,2617,2617,1977-03-02,261.39999999999094,261.40674,2015-01-01 00:43:37,bin2617,75, -CTSPillarNetworkA,2618,2618,2618,1977-03-03,261.49999999999096,261.50674,2015-01-01 00:43:38,bin2618,35, -CTSPillarNetworkA,2619,2619,2619,1977-03-04,261.599999999991,261.60675,2015-01-01 00:43:39,bin2619,75, -CTSPillarNetworkA,2620,2620,2620,1977-03-05,261.699999999991,261.70676,2015-01-01 00:43:40,bin2620,35, -CTSPillarNetworkA,2621,2621,2621,1977-03-06,261.79999999999103,261.80676,2015-01-01 00:43:41,bin2621,75, -CTSPillarNetworkA,2622,2622,2622,1977-03-07,261.89999999999105,261.90677,2015-01-01 00:43:42,bin2622,35, -CTSPillarNetworkA,2623,2623,2623,1977-03-08,261.9999999999911,262.00677,2015-01-01 00:43:43,bin2623,75, -CTSPillarNetworkA,2624,2624,2624,1977-03-09,262.0999999999911,262.10678,2015-01-01 00:43:44,bin2624,35, -CTSPillarNetworkA,2625,2625,2625,1977-03-10,262.1999999999911,262.2068,2015-01-01 00:43:45,bin2625,75, -CTSPillarNetworkA,2626,2626,2626,1977-03-11,262.29999999999114,262.3068,2015-01-01 00:43:46,bin2626,35, -CTSPillarNetworkA,2627,2627,2627,1977-03-12,262.39999999999117,262.4068,2015-01-01 00:43:47,bin2627,75, -CTSPillarNetworkA,2628,2628,2628,1977-03-13,262.4999999999912,262.5068,2015-01-01 00:43:48,bin2628,35, -CTSPillarNetworkA,2629,2629,2629,1977-03-14,262.5999999999912,262.6068,2015-01-01 00:43:49,bin2629,75, -CTSPillarNetworkA,2630,2630,2630,1977-03-15,262.69999999999123,262.70682,2015-01-01 00:43:50,bin2630,35, -CTSPillarNetworkA,2631,2631,2631,1977-03-16,262.79999999999126,262.80682,2015-01-01 00:43:51,bin2631,75, -CTSPillarNetworkA,2632,2632,2632,1977-03-17,262.8999999999913,262.90683,2015-01-01 00:43:52,bin2632,35, -CTSPillarNetworkA,2633,2633,2633,1977-03-18,262.9999999999913,263.00684,2015-01-01 00:43:53,bin2633,75, -CTSPillarNetworkA,2634,2634,2634,1977-03-19,263.0999999999913,263.10684,2015-01-01 00:43:54,bin2634,35, -CTSPillarNetworkA,2635,2635,2635,1977-03-20,263.19999999999135,263.20685,2015-01-01 00:43:55,bin2635,75, -CTSPillarNetworkA,2636,2636,2636,1977-03-21,263.29999999999137,263.30685,2015-01-01 00:43:56,bin2636,35, -CTSPillarNetworkA,2637,2637,2637,1977-03-22,263.3999999999914,263.40686,2015-01-01 00:43:57,bin2637,75, -CTSPillarNetworkA,2638,2638,2638,1977-03-23,263.4999999999914,263.50687,2015-01-01 00:43:58,bin2638,35, -CTSPillarNetworkA,2639,2639,2639,1977-03-24,263.59999999999144,263.60687,2015-01-01 00:43:59,bin2639,75, -CTSPillarNetworkA,2640,2640,2640,1977-03-25,263.69999999999146,263.70688,2015-01-01 00:44:00,bin2640,35, -CTSPillarNetworkA,2641,2641,2641,1977-03-26,263.7999999999915,263.8069,2015-01-01 00:44:01,bin2641,75, -CTSPillarNetworkA,2642,2642,2642,1977-03-27,263.8999999999915,263.9069,2015-01-01 00:44:02,bin2642,35, -CTSPillarNetworkA,2643,2643,2643,1977-03-28,263.99999999999153,264.0069,2015-01-01 00:44:03,bin2643,75, -CTSPillarNetworkA,2644,2644,2644,1977-03-29,264.09999999999155,264.1069,2015-01-01 00:44:04,bin2644,35, -CTSPillarNetworkA,2645,2645,2645,1977-03-30,264.1999999999916,264.2069,2015-01-01 00:44:05,bin2645,75, -CTSPillarNetworkA,2646,2646,2646,1977-03-31,264.2999999999916,264.30692,2015-01-01 00:44:06,bin2646,35, -CTSPillarNetworkA,2647,2647,2647,1977-04-01,264.3999999999916,264.40692,2015-01-01 00:44:07,bin2647,75, -CTSPillarNetworkA,2648,2648,2648,1977-04-02,264.49999999999164,264.50693,2015-01-01 00:44:08,bin2648,35, -CTSPillarNetworkA,2649,2649,2649,1977-04-03,264.59999999999167,264.60693,2015-01-01 00:44:09,bin2649,75, -CTSPillarNetworkA,2650,2650,2650,1977-04-04,264.6999999999917,264.70694,2015-01-01 00:44:10,bin2650,35, -CTSPillarNetworkA,2651,2651,2651,1977-04-05,264.7999999999917,264.80695,2015-01-01 00:44:11,bin2651,75, -CTSPillarNetworkA,2652,2652,2652,1977-04-06,264.89999999999173,264.90695,2015-01-01 00:44:12,bin2652,35, -CTSPillarNetworkA,2653,2653,2653,1977-04-07,264.99999999999176,265.00696,2015-01-01 00:44:13,bin2653,75, -CTSPillarNetworkA,2654,2654,2654,1977-04-08,265.0999999999918,265.10696,2015-01-01 00:44:14,bin2654,35, -CTSPillarNetworkA,2655,2655,2655,1977-04-09,265.1999999999918,265.20697,2015-01-01 00:44:15,bin2655,75, -CTSPillarNetworkA,2656,2656,2656,1977-04-10,265.2999999999918,265.30698,2015-01-01 00:44:16,bin2656,35, -CTSPillarNetworkA,2657,2657,2657,1977-04-11,265.39999999999185,265.40698,2015-01-01 00:44:17,bin2657,75, -CTSPillarNetworkA,2658,2658,2658,1977-04-12,265.49999999999187,265.507,2015-01-01 00:44:18,bin2658,35, -CTSPillarNetworkA,2659,2659,2659,1977-04-13,265.5999999999919,265.607,2015-01-01 00:44:19,bin2659,75, -CTSPillarNetworkA,2660,2660,2660,1977-04-14,265.6999999999919,265.707,2015-01-01 00:44:20,bin2660,35, -CTSPillarNetworkA,2661,2661,2661,1977-04-15,265.79999999999194,265.807,2015-01-01 00:44:21,bin2661,75, -CTSPillarNetworkA,2662,2662,2662,1977-04-16,265.89999999999196,265.907,2015-01-01 00:44:22,bin2662,35, -CTSPillarNetworkA,2663,2663,2663,1977-04-17,265.999999999992,266.00702,2015-01-01 00:44:23,bin2663,75, -CTSPillarNetworkA,2664,2664,2664,1977-04-18,266.099999999992,266.10703,2015-01-01 00:44:24,bin2664,35, -CTSPillarNetworkA,2665,2665,2665,1977-04-19,266.19999999999203,266.20703,2015-01-01 00:44:25,bin2665,75, -CTSPillarNetworkA,2666,2666,2666,1977-04-20,266.29999999999205,266.30704,2015-01-01 00:44:26,bin2666,35, -CTSPillarNetworkA,2667,2667,2667,1977-04-21,266.3999999999921,266.40704,2015-01-01 00:44:27,bin2667,75, -CTSPillarNetworkA,2668,2668,2668,1977-04-22,266.4999999999921,266.50705,2015-01-01 00:44:28,bin2668,35, -CTSPillarNetworkA,2669,2669,2669,1977-04-23,266.5999999999921,266.60706,2015-01-01 00:44:29,bin2669,75, -CTSPillarNetworkA,2670,2670,2670,1977-04-24,266.69999999999214,266.70706,2015-01-01 00:44:30,bin2670,35, -CTSPillarNetworkA,2671,2671,2671,1977-04-25,266.79999999999217,266.80707,2015-01-01 00:44:31,bin2671,75, -CTSPillarNetworkA,2672,2672,2672,1977-04-26,266.8999999999922,266.90707,2015-01-01 00:44:32,bin2672,35, -CTSPillarNetworkA,2673,2673,2673,1977-04-27,266.9999999999922,267.00708,2015-01-01 00:44:33,bin2673,75, -CTSPillarNetworkA,2674,2674,2674,1977-04-28,267.09999999999224,267.1071,2015-01-01 00:44:34,bin2674,35, -CTSPillarNetworkA,2675,2675,2675,1977-04-29,267.19999999999226,267.2071,2015-01-01 00:44:35,bin2675,75, -CTSPillarNetworkA,2676,2676,2676,1977-04-30,267.2999999999923,267.3071,2015-01-01 00:44:36,bin2676,35, -CTSPillarNetworkA,2677,2677,2677,1977-05-01,267.3999999999923,267.4071,2015-01-01 00:44:37,bin2677,75, -CTSPillarNetworkA,2678,2678,2678,1977-05-02,267.4999999999923,267.5071,2015-01-01 00:44:38,bin2678,35, -CTSPillarNetworkA,2679,2679,2679,1977-05-03,267.59999999999235,267.60712,2015-01-01 00:44:39,bin2679,75, -CTSPillarNetworkA,2680,2680,2680,1977-05-04,267.6999999999924,267.70712,2015-01-01 00:44:40,bin2680,35, -CTSPillarNetworkA,2681,2681,2681,1977-05-05,267.7999999999924,267.80713,2015-01-01 00:44:41,bin2681,75, -CTSPillarNetworkA,2682,2682,2682,1977-05-06,267.8999999999924,267.90714,2015-01-01 00:44:42,bin2682,35, -CTSPillarNetworkA,2683,2683,2683,1977-05-07,267.99999999999244,268.00714,2015-01-01 00:44:43,bin2683,75, -CTSPillarNetworkA,2684,2684,2684,1977-05-08,268.09999999999246,268.10715,2015-01-01 00:44:44,bin2684,35, -CTSPillarNetworkA,2685,2685,2685,1977-05-09,268.1999999999925,268.20715,2015-01-01 00:44:45,bin2685,75, -CTSPillarNetworkA,2686,2686,2686,1977-05-10,268.2999999999925,268.30716,2015-01-01 00:44:46,bin2686,35, -CTSPillarNetworkA,2687,2687,2687,1977-05-11,268.39999999999253,268.40717,2015-01-01 00:44:47,bin2687,75, -CTSPillarNetworkA,2688,2688,2688,1977-05-12,268.49999999999255,268.50717,2015-01-01 00:44:48,bin2688,35, -CTSPillarNetworkA,2689,2689,2689,1977-05-13,268.5999999999926,268.60718,2015-01-01 00:44:49,bin2689,75, -CTSPillarNetworkA,2690,2690,2690,1977-05-14,268.6999999999926,268.70718,2015-01-01 00:44:50,bin2690,35, -CTSPillarNetworkA,2691,2691,2691,1977-05-15,268.7999999999926,268.8072,2015-01-01 00:44:51,bin2691,75, -CTSPillarNetworkA,2692,2692,2692,1977-05-16,268.89999999999264,268.9072,2015-01-01 00:44:52,bin2692,35, -CTSPillarNetworkA,2693,2693,2693,1977-05-17,268.99999999999267,269.0072,2015-01-01 00:44:53,bin2693,75, -CTSPillarNetworkA,2694,2694,2694,1977-05-18,269.0999999999927,269.1072,2015-01-01 00:44:54,bin2694,35, -CTSPillarNetworkA,2695,2695,2695,1977-05-19,269.1999999999927,269.2072,2015-01-01 00:44:55,bin2695,75, -CTSPillarNetworkA,2696,2696,2696,1977-05-20,269.29999999999274,269.30722,2015-01-01 00:44:56,bin2696,35, -CTSPillarNetworkA,2697,2697,2697,1977-05-21,269.39999999999276,269.40723,2015-01-01 00:44:57,bin2697,75, -CTSPillarNetworkA,2698,2698,2698,1977-05-22,269.4999999999928,269.50723,2015-01-01 00:44:58,bin2698,35, -CTSPillarNetworkA,2699,2699,2699,1977-05-23,269.5999999999928,269.60724,2015-01-01 00:44:59,bin2699,75, -CTSPillarNetworkA,2700,2700,2700,1977-05-24,269.6999999999928,269.70724,2015-01-01 00:45:00,bin2700,35, -CTSPillarNetworkA,2701,2701,2701,1977-05-25,269.79999999999285,269.80725,2015-01-01 00:45:01,bin2701,75, -CTSPillarNetworkA,2702,2702,2702,1977-05-26,269.8999999999929,269.90726,2015-01-01 00:45:02,bin2702,35, -CTSPillarNetworkA,2703,2703,2703,1977-05-27,269.9999999999929,270.00726,2015-01-01 00:45:03,bin2703,75, -CTSPillarNetworkA,2704,2704,2704,1977-05-28,270.0999999999929,270.10727,2015-01-01 00:45:04,bin2704,35, -CTSPillarNetworkA,2705,2705,2705,1977-05-29,270.19999999999294,270.20728,2015-01-01 00:45:05,bin2705,75, -CTSPillarNetworkA,2706,2706,2706,1977-05-30,270.29999999999296,270.30728,2015-01-01 00:45:06,bin2706,35, -CTSPillarNetworkA,2707,2707,2707,1977-05-31,270.399999999993,270.4073,2015-01-01 00:45:07,bin2707,75, -CTSPillarNetworkA,2708,2708,2708,1977-06-01,270.499999999993,270.5073,2015-01-01 00:45:08,bin2708,35, -CTSPillarNetworkA,2709,2709,2709,1977-06-02,270.59999999999303,270.6073,2015-01-01 00:45:09,bin2709,75, -CTSPillarNetworkA,2710,2710,2710,1977-06-03,270.69999999999305,270.7073,2015-01-01 00:45:10,bin2710,35, -CTSPillarNetworkA,2711,2711,2711,1977-06-04,270.7999999999931,270.8073,2015-01-01 00:45:11,bin2711,75, -CTSPillarNetworkA,2712,2712,2712,1977-06-05,270.8999999999931,270.90732,2015-01-01 00:45:12,bin2712,35, -CTSPillarNetworkA,2713,2713,2713,1977-06-06,270.9999999999931,271.00732,2015-01-01 00:45:13,bin2713,75, -CTSPillarNetworkA,2714,2714,2714,1977-06-07,271.09999999999314,271.10733,2015-01-01 00:45:14,bin2714,35, -CTSPillarNetworkA,2715,2715,2715,1977-06-08,271.19999999999317,271.20734,2015-01-01 00:45:15,bin2715,75, -CTSPillarNetworkA,2716,2716,2716,1977-06-09,271.2999999999932,271.30734,2015-01-01 00:45:16,bin2716,35, -CTSPillarNetworkA,2717,2717,2717,1977-06-10,271.3999999999932,271.40735,2015-01-01 00:45:17,bin2717,75, -CTSPillarNetworkA,2718,2718,2718,1977-06-11,271.49999999999324,271.50735,2015-01-01 00:45:18,bin2718,35, -CTSPillarNetworkA,2719,2719,2719,1977-06-12,271.59999999999326,271.60736,2015-01-01 00:45:19,bin2719,75, -CTSPillarNetworkA,2720,2720,2720,1977-06-13,271.6999999999933,271.70737,2015-01-01 00:45:20,bin2720,35, -CTSPillarNetworkA,2721,2721,2721,1977-06-14,271.7999999999933,271.80737,2015-01-01 00:45:21,bin2721,75, -CTSPillarNetworkA,2722,2722,2722,1977-06-15,271.8999999999933,271.90738,2015-01-01 00:45:22,bin2722,35, -CTSPillarNetworkA,2723,2723,2723,1977-06-16,271.99999999999335,272.0074,2015-01-01 00:45:23,bin2723,75, -CTSPillarNetworkA,2724,2724,2724,1977-06-17,272.0999999999934,272.1074,2015-01-01 00:45:24,bin2724,35, -CTSPillarNetworkA,2725,2725,2725,1977-06-18,272.1999999999934,272.2074,2015-01-01 00:45:25,bin2725,75, -CTSPillarNetworkA,2726,2726,2726,1977-06-19,272.2999999999934,272.3074,2015-01-01 00:45:26,bin2726,35, -CTSPillarNetworkA,2727,2727,2727,1977-06-20,272.39999999999344,272.4074,2015-01-01 00:45:27,bin2727,75, -CTSPillarNetworkA,2728,2728,2728,1977-06-21,272.49999999999346,272.50742,2015-01-01 00:45:28,bin2728,35, -CTSPillarNetworkA,2729,2729,2729,1977-06-22,272.5999999999935,272.60742,2015-01-01 00:45:29,bin2729,75, -CTSPillarNetworkA,2730,2730,2730,1977-06-23,272.6999999999935,272.70743,2015-01-01 00:45:30,bin2730,35, -CTSPillarNetworkA,2731,2731,2731,1977-06-24,272.79999999999353,272.80743,2015-01-01 00:45:31,bin2731,75, -CTSPillarNetworkA,2732,2732,2732,1977-06-25,272.89999999999355,272.90744,2015-01-01 00:45:32,bin2732,35, -CTSPillarNetworkA,2733,2733,2733,1977-06-26,272.9999999999936,273.00745,2015-01-01 00:45:33,bin2733,75, -CTSPillarNetworkA,2734,2734,2734,1977-06-27,273.0999999999936,273.10745,2015-01-01 00:45:34,bin2734,35, -CTSPillarNetworkA,2735,2735,2735,1977-06-28,273.1999999999936,273.20746,2015-01-01 00:45:35,bin2735,75, -CTSPillarNetworkA,2736,2736,2736,1977-06-29,273.29999999999364,273.30746,2015-01-01 00:45:36,bin2736,35, -CTSPillarNetworkA,2737,2737,2737,1977-06-30,273.39999999999367,273.40747,2015-01-01 00:45:37,bin2737,75, -CTSPillarNetworkA,2738,2738,2738,1977-07-01,273.4999999999937,273.50748,2015-01-01 00:45:38,bin2738,35, -CTSPillarNetworkA,2739,2739,2739,1977-07-02,273.5999999999937,273.60748,2015-01-01 00:45:39,bin2739,75, -CTSPillarNetworkA,2740,2740,2740,1977-07-03,273.69999999999374,273.7075,2015-01-01 00:45:40,bin2740,35, -CTSPillarNetworkA,2741,2741,2741,1977-07-04,273.79999999999376,273.8075,2015-01-01 00:45:41,bin2741,75, -CTSPillarNetworkA,2742,2742,2742,1977-07-05,273.8999999999938,273.9075,2015-01-01 00:45:42,bin2742,35, -CTSPillarNetworkA,2743,2743,2743,1977-07-06,273.9999999999938,274.0075,2015-01-01 00:45:43,bin2743,75, -CTSPillarNetworkA,2744,2744,2744,1977-07-07,274.0999999999938,274.1075,2015-01-01 00:45:44,bin2744,35, -CTSPillarNetworkA,2745,2745,2745,1977-07-08,274.19999999999385,274.20752,2015-01-01 00:45:45,bin2745,75, -CTSPillarNetworkA,2746,2746,2746,1977-07-09,274.2999999999939,274.30753,2015-01-01 00:45:46,bin2746,35, -CTSPillarNetworkA,2747,2747,2747,1977-07-10,274.3999999999939,274.40753,2015-01-01 00:45:47,bin2747,75, -CTSPillarNetworkA,2748,2748,2748,1977-07-11,274.4999999999939,274.50754,2015-01-01 00:45:48,bin2748,35, -CTSPillarNetworkA,2749,2749,2749,1977-07-12,274.59999999999394,274.60754,2015-01-01 00:45:49,bin2749,75, -CTSPillarNetworkA,2750,2750,2750,1977-07-13,274.69999999999396,274.70755,2015-01-01 00:45:50,bin2750,35, -CTSPillarNetworkA,2751,2751,2751,1977-07-14,274.799999999994,274.80756,2015-01-01 00:45:51,bin2751,75, -CTSPillarNetworkA,2752,2752,2752,1977-07-15,274.899999999994,274.90756,2015-01-01 00:45:52,bin2752,35, -CTSPillarNetworkA,2753,2753,2753,1977-07-16,274.99999999999403,275.00757,2015-01-01 00:45:53,bin2753,75, -CTSPillarNetworkA,2754,2754,2754,1977-07-17,275.09999999999405,275.10757,2015-01-01 00:45:54,bin2754,35, -CTSPillarNetworkA,2755,2755,2755,1977-07-18,275.1999999999941,275.20758,2015-01-01 00:45:55,bin2755,75, -CTSPillarNetworkA,2756,2756,2756,1977-07-19,275.2999999999941,275.3076,2015-01-01 00:45:56,bin2756,35, -CTSPillarNetworkA,2757,2757,2757,1977-07-20,275.3999999999941,275.4076,2015-01-01 00:45:57,bin2757,75, -CTSPillarNetworkA,2758,2758,2758,1977-07-21,275.49999999999415,275.5076,2015-01-01 00:45:58,bin2758,35, -CTSPillarNetworkA,2759,2759,2759,1977-07-22,275.59999999999417,275.6076,2015-01-01 00:45:59,bin2759,75, -CTSPillarNetworkA,2760,2760,2760,1977-07-23,275.6999999999942,275.7076,2015-01-01 00:46:00,bin2760,35, -CTSPillarNetworkA,2761,2761,2761,1977-07-24,275.7999999999942,275.80762,2015-01-01 00:46:01,bin2761,75, -CTSPillarNetworkA,2762,2762,2762,1977-07-25,275.89999999999424,275.90762,2015-01-01 00:46:02,bin2762,35, -CTSPillarNetworkA,2763,2763,2763,1977-07-26,275.99999999999426,276.00763,2015-01-01 00:46:03,bin2763,75, -CTSPillarNetworkA,2764,2764,2764,1977-07-27,276.0999999999943,276.10764,2015-01-01 00:46:04,bin2764,35, -CTSPillarNetworkA,2765,2765,2765,1977-07-28,276.1999999999943,276.20764,2015-01-01 00:46:05,bin2765,75, -CTSPillarNetworkA,2766,2766,2766,1977-07-29,276.2999999999943,276.30765,2015-01-01 00:46:06,bin2766,35, -CTSPillarNetworkA,2767,2767,2767,1977-07-30,276.39999999999435,276.40765,2015-01-01 00:46:07,bin2767,75, -CTSPillarNetworkA,2768,2768,2768,1977-07-31,276.4999999999944,276.50766,2015-01-01 00:46:08,bin2768,35, -CTSPillarNetworkA,2769,2769,2769,1977-08-01,276.5999999999944,276.60767,2015-01-01 00:46:09,bin2769,75, -CTSPillarNetworkA,2770,2770,2770,1977-08-02,276.6999999999944,276.70767,2015-01-01 00:46:10,bin2770,35, -CTSPillarNetworkA,2771,2771,2771,1977-08-03,276.79999999999444,276.80768,2015-01-01 00:46:11,bin2771,75, -CTSPillarNetworkA,2772,2772,2772,1977-08-04,276.89999999999446,276.90768,2015-01-01 00:46:12,bin2772,35, -CTSPillarNetworkA,2773,2773,2773,1977-08-05,276.9999999999945,277.0077,2015-01-01 00:46:13,bin2773,75, -CTSPillarNetworkA,2774,2774,2774,1977-08-06,277.0999999999945,277.1077,2015-01-01 00:46:14,bin2774,35, -CTSPillarNetworkA,2775,2775,2775,1977-08-07,277.19999999999453,277.2077,2015-01-01 00:46:15,bin2775,75, -CTSPillarNetworkA,2776,2776,2776,1977-08-08,277.29999999999455,277.3077,2015-01-01 00:46:16,bin2776,35, -CTSPillarNetworkA,2777,2777,2777,1977-08-09,277.3999999999946,277.4077,2015-01-01 00:46:17,bin2777,75, -CTSPillarNetworkA,2778,2778,2778,1977-08-10,277.4999999999946,277.50772,2015-01-01 00:46:18,bin2778,35, -CTSPillarNetworkA,2779,2779,2779,1977-08-11,277.5999999999946,277.60773,2015-01-01 00:46:19,bin2779,75, -CTSPillarNetworkA,2780,2780,2780,1977-08-12,277.69999999999465,277.70773,2015-01-01 00:46:20,bin2780,35, -CTSPillarNetworkA,2781,2781,2781,1977-08-13,277.79999999999467,277.80774,2015-01-01 00:46:21,bin2781,75, -CTSPillarNetworkA,2782,2782,2782,1977-08-14,277.8999999999947,277.90775,2015-01-01 00:46:22,bin2782,35, -CTSPillarNetworkA,2783,2783,2783,1977-08-15,277.9999999999947,278.00775,2015-01-01 00:46:23,bin2783,75, -CTSPillarNetworkA,2784,2784,2784,1977-08-16,278.09999999999474,278.10776,2015-01-01 00:46:24,bin2784,35, -CTSPillarNetworkA,2785,2785,2785,1977-08-17,278.19999999999476,278.20776,2015-01-01 00:46:25,bin2785,75, -CTSPillarNetworkA,2786,2786,2786,1977-08-18,278.2999999999948,278.30777,2015-01-01 00:46:26,bin2786,35, -CTSPillarNetworkA,2787,2787,2787,1977-08-19,278.3999999999948,278.40778,2015-01-01 00:46:27,bin2787,75, -CTSPillarNetworkA,2788,2788,2788,1977-08-20,278.4999999999948,278.50778,2015-01-01 00:46:28,bin2788,35, -CTSPillarNetworkA,2789,2789,2789,1977-08-21,278.59999999999485,278.6078,2015-01-01 00:46:29,bin2789,75, -CTSPillarNetworkA,2790,2790,2790,1977-08-22,278.6999999999949,278.7078,2015-01-01 00:46:30,bin2790,35, -CTSPillarNetworkA,2791,2791,2791,1977-08-23,278.7999999999949,278.8078,2015-01-01 00:46:31,bin2791,75, -CTSPillarNetworkA,2792,2792,2792,1977-08-24,278.8999999999949,278.9078,2015-01-01 00:46:32,bin2792,35, -CTSPillarNetworkA,2793,2793,2793,1977-08-25,278.99999999999494,279.0078,2015-01-01 00:46:33,bin2793,75, -CTSPillarNetworkA,2794,2794,2794,1977-08-26,279.09999999999496,279.10782,2015-01-01 00:46:34,bin2794,35, -CTSPillarNetworkA,2795,2795,2795,1977-08-27,279.199999999995,279.20782,2015-01-01 00:46:35,bin2795,75, -CTSPillarNetworkA,2796,2796,2796,1977-08-28,279.299999999995,279.30783,2015-01-01 00:46:36,bin2796,35, -CTSPillarNetworkA,2797,2797,2797,1977-08-29,279.39999999999503,279.40784,2015-01-01 00:46:37,bin2797,75, -CTSPillarNetworkA,2798,2798,2798,1977-08-30,279.49999999999505,279.50784,2015-01-01 00:46:38,bin2798,35, -CTSPillarNetworkA,2799,2799,2799,1977-08-31,279.5999999999951,279.60785,2015-01-01 00:46:39,bin2799,75, -CTSPillarNetworkA,2800,2800,2800,1977-09-01,279.6999999999951,279.70786,2015-01-01 00:46:40,bin2800,35, -CTSPillarNetworkA,2801,2801,2801,1977-09-02,279.7999999999951,279.80786,2015-01-01 00:46:41,bin2801,75, -CTSPillarNetworkA,2802,2802,2802,1977-09-03,279.89999999999515,279.90787,2015-01-01 00:46:42,bin2802,35, -CTSPillarNetworkA,2803,2803,2803,1977-09-04,279.99999999999517,280.00787,2015-01-01 00:46:43,bin2803,75, -CTSPillarNetworkA,2804,2804,2804,1977-09-05,280.0999999999952,280.10788,2015-01-01 00:46:44,bin2804,35, -CTSPillarNetworkA,2805,2805,2805,1977-09-06,280.1999999999952,280.2079,2015-01-01 00:46:45,bin2805,75, -CTSPillarNetworkA,2806,2806,2806,1977-09-07,280.29999999999524,280.3079,2015-01-01 00:46:46,bin2806,35, -CTSPillarNetworkA,2807,2807,2807,1977-09-08,280.39999999999526,280.4079,2015-01-01 00:46:47,bin2807,75, -CTSPillarNetworkA,2808,2808,2808,1977-09-09,280.4999999999953,280.5079,2015-01-01 00:46:48,bin2808,35, -CTSPillarNetworkA,2809,2809,2809,1977-09-10,280.5999999999953,280.6079,2015-01-01 00:46:49,bin2809,75, -CTSPillarNetworkA,2810,2810,2810,1977-09-11,280.6999999999953,280.70792,2015-01-01 00:46:50,bin2810,35, -CTSPillarNetworkA,2811,2811,2811,1977-09-12,280.79999999999535,280.80792,2015-01-01 00:46:51,bin2811,75, -CTSPillarNetworkA,2812,2812,2812,1977-09-13,280.8999999999954,280.90793,2015-01-01 00:46:52,bin2812,35, -CTSPillarNetworkA,2813,2813,2813,1977-09-14,280.9999999999954,281.00793,2015-01-01 00:46:53,bin2813,75, -CTSPillarNetworkA,2814,2814,2814,1977-09-15,281.0999999999954,281.10794,2015-01-01 00:46:54,bin2814,35, -CTSPillarNetworkA,2815,2815,2815,1977-09-16,281.19999999999544,281.20795,2015-01-01 00:46:55,bin2815,75, -CTSPillarNetworkA,2816,2816,2816,1977-09-17,281.29999999999546,281.30795,2015-01-01 00:46:56,bin2816,35, -CTSPillarNetworkA,2817,2817,2817,1977-09-18,281.3999999999955,281.40796,2015-01-01 00:46:57,bin2817,75, -CTSPillarNetworkA,2818,2818,2818,1977-09-19,281.4999999999955,281.50797,2015-01-01 00:46:58,bin2818,35, -CTSPillarNetworkA,2819,2819,2819,1977-09-20,281.59999999999553,281.60797,2015-01-01 00:46:59,bin2819,75, -CTSPillarNetworkA,2820,2820,2820,1977-09-21,281.69999999999555,281.70798,2015-01-01 00:47:00,bin2820,35, -CTSPillarNetworkA,2821,2821,2821,1977-09-22,281.7999999999956,281.80798,2015-01-01 00:47:01,bin2821,75, -CTSPillarNetworkA,2822,2822,2822,1977-09-23,281.8999999999956,281.908,2015-01-01 00:47:02,bin2822,35, -CTSPillarNetworkA,2823,2823,2823,1977-09-24,281.9999999999956,282.008,2015-01-01 00:47:03,bin2823,75, -CTSPillarNetworkA,2824,2824,2824,1977-09-25,282.09999999999565,282.108,2015-01-01 00:47:04,bin2824,35, -CTSPillarNetworkA,2825,2825,2825,1977-09-26,282.19999999999567,282.208,2015-01-01 00:47:05,bin2825,75, -CTSPillarNetworkA,2826,2826,2826,1977-09-27,282.2999999999957,282.308,2015-01-01 00:47:06,bin2826,35, -CTSPillarNetworkA,2827,2827,2827,1977-09-28,282.3999999999957,282.40802,2015-01-01 00:47:07,bin2827,75, -CTSPillarNetworkA,2828,2828,2828,1977-09-29,282.49999999999574,282.50803,2015-01-01 00:47:08,bin2828,35, -CTSPillarNetworkA,2829,2829,2829,1977-09-30,282.59999999999576,282.60803,2015-01-01 00:47:09,bin2829,75, -CTSPillarNetworkA,2830,2830,2830,1977-10-01,282.6999999999958,282.70804,2015-01-01 00:47:10,bin2830,35, -CTSPillarNetworkA,2831,2831,2831,1977-10-02,282.7999999999958,282.80804,2015-01-01 00:47:11,bin2831,75, -CTSPillarNetworkA,2832,2832,2832,1977-10-03,282.8999999999958,282.90805,2015-01-01 00:47:12,bin2832,35, -CTSPillarNetworkA,2833,2833,2833,1977-10-04,282.99999999999585,283.00806,2015-01-01 00:47:13,bin2833,75, -CTSPillarNetworkA,2834,2834,2834,1977-10-05,283.0999999999959,283.10806,2015-01-01 00:47:14,bin2834,35, -CTSPillarNetworkA,2835,2835,2835,1977-10-06,283.1999999999959,283.20807,2015-01-01 00:47:15,bin2835,75, -CTSPillarNetworkA,2836,2836,2836,1977-10-07,283.2999999999959,283.30807,2015-01-01 00:47:16,bin2836,35, -CTSPillarNetworkA,2837,2837,2837,1977-10-08,283.39999999999594,283.40808,2015-01-01 00:47:17,bin2837,75, -CTSPillarNetworkA,2838,2838,2838,1977-10-09,283.49999999999596,283.5081,2015-01-01 00:47:18,bin2838,35, -CTSPillarNetworkA,2839,2839,2839,1977-10-10,283.599999999996,283.6081,2015-01-01 00:47:19,bin2839,75, -CTSPillarNetworkA,2840,2840,2840,1977-10-11,283.699999999996,283.7081,2015-01-01 00:47:20,bin2840,35, -CTSPillarNetworkA,2841,2841,2841,1977-10-12,283.79999999999603,283.8081,2015-01-01 00:47:21,bin2841,75, -CTSPillarNetworkA,2842,2842,2842,1977-10-13,283.89999999999606,283.9081,2015-01-01 00:47:22,bin2842,35, -CTSPillarNetworkA,2843,2843,2843,1977-10-14,283.9999999999961,284.00812,2015-01-01 00:47:23,bin2843,75, -CTSPillarNetworkA,2844,2844,2844,1977-10-15,284.0999999999961,284.10812,2015-01-01 00:47:24,bin2844,35, -CTSPillarNetworkA,2845,2845,2845,1977-10-16,284.1999999999961,284.20813,2015-01-01 00:47:25,bin2845,75, -CTSPillarNetworkA,2846,2846,2846,1977-10-17,284.29999999999615,284.30814,2015-01-01 00:47:26,bin2846,35, -CTSPillarNetworkA,2847,2847,2847,1977-10-18,284.39999999999617,284.40814,2015-01-01 00:47:27,bin2847,75, -CTSPillarNetworkA,2848,2848,2848,1977-10-19,284.4999999999962,284.50815,2015-01-01 00:47:28,bin2848,35, -CTSPillarNetworkA,2849,2849,2849,1977-10-20,284.5999999999962,284.60815,2015-01-01 00:47:29,bin2849,75, -CTSPillarNetworkA,2850,2850,2850,1977-10-21,284.69999999999624,284.70816,2015-01-01 00:47:30,bin2850,35, -CTSPillarNetworkA,2851,2851,2851,1977-10-22,284.79999999999626,284.80817,2015-01-01 00:47:31,bin2851,75, -CTSPillarNetworkA,2852,2852,2852,1977-10-23,284.8999999999963,284.90817,2015-01-01 00:47:32,bin2852,35, -CTSPillarNetworkA,2853,2853,2853,1977-10-24,284.9999999999963,285.00818,2015-01-01 00:47:33,bin2853,75, -CTSPillarNetworkA,2854,2854,2854,1977-10-25,285.0999999999963,285.1082,2015-01-01 00:47:34,bin2854,35, -CTSPillarNetworkA,2855,2855,2855,1977-10-26,285.19999999999635,285.2082,2015-01-01 00:47:35,bin2855,75, -CTSPillarNetworkA,2856,2856,2856,1977-10-27,285.2999999999964,285.3082,2015-01-01 00:47:36,bin2856,35, -CTSPillarNetworkA,2857,2857,2857,1977-10-28,285.3999999999964,285.4082,2015-01-01 00:47:37,bin2857,75, -CTSPillarNetworkA,2858,2858,2858,1977-10-29,285.4999999999964,285.5082,2015-01-01 00:47:38,bin2858,35, -CTSPillarNetworkA,2859,2859,2859,1977-10-30,285.59999999999644,285.60822,2015-01-01 00:47:39,bin2859,75, -CTSPillarNetworkA,2860,2860,2860,1977-10-31,285.69999999999646,285.70822,2015-01-01 00:47:40,bin2860,35, -CTSPillarNetworkA,2861,2861,2861,1977-11-01,285.7999999999965,285.80823,2015-01-01 00:47:41,bin2861,75, -CTSPillarNetworkA,2862,2862,2862,1977-11-02,285.8999999999965,285.90823,2015-01-01 00:47:42,bin2862,35, -CTSPillarNetworkA,2863,2863,2863,1977-11-03,285.99999999999653,286.00824,2015-01-01 00:47:43,bin2863,75, -CTSPillarNetworkA,2864,2864,2864,1977-11-04,286.09999999999656,286.10825,2015-01-01 00:47:44,bin2864,35, -CTSPillarNetworkA,2865,2865,2865,1977-11-05,286.1999999999966,286.20825,2015-01-01 00:47:45,bin2865,75, -CTSPillarNetworkA,2866,2866,2866,1977-11-06,286.2999999999966,286.30826,2015-01-01 00:47:46,bin2866,35, -CTSPillarNetworkA,2867,2867,2867,1977-11-07,286.3999999999966,286.40826,2015-01-01 00:47:47,bin2867,75, -CTSPillarNetworkA,2868,2868,2868,1977-11-08,286.49999999999665,286.50827,2015-01-01 00:47:48,bin2868,35, -CTSPillarNetworkA,2869,2869,2869,1977-11-09,286.59999999999667,286.60828,2015-01-01 00:47:49,bin2869,75, -CTSPillarNetworkA,2870,2870,2870,1977-11-10,286.6999999999967,286.70828,2015-01-01 00:47:50,bin2870,35, -CTSPillarNetworkA,2871,2871,2871,1977-11-11,286.7999999999967,286.8083,2015-01-01 00:47:51,bin2871,75, -CTSPillarNetworkA,2872,2872,2872,1977-11-12,286.89999999999674,286.9083,2015-01-01 00:47:52,bin2872,35, -CTSPillarNetworkA,2873,2873,2873,1977-11-13,286.99999999999676,287.0083,2015-01-01 00:47:53,bin2873,75, -CTSPillarNetworkA,2874,2874,2874,1977-11-14,287.0999999999968,287.1083,2015-01-01 00:47:54,bin2874,35, -CTSPillarNetworkA,2875,2875,2875,1977-11-15,287.1999999999968,287.2083,2015-01-01 00:47:55,bin2875,75, -CTSPillarNetworkA,2876,2876,2876,1977-11-16,287.2999999999968,287.30832,2015-01-01 00:47:56,bin2876,35, -CTSPillarNetworkA,2877,2877,2877,1977-11-17,287.39999999999685,287.40833,2015-01-01 00:47:57,bin2877,75, -CTSPillarNetworkA,2878,2878,2878,1977-11-18,287.4999999999969,287.50833,2015-01-01 00:47:58,bin2878,35, -CTSPillarNetworkA,2879,2879,2879,1977-11-19,287.5999999999969,287.60834,2015-01-01 00:47:59,bin2879,75, -CTSPillarNetworkA,2880,2880,2880,1977-11-20,287.6999999999969,287.70834,2015-01-01 00:48:00,bin2880,35, -CTSPillarNetworkA,2881,2881,2881,1977-11-21,287.79999999999694,287.80835,2015-01-01 00:48:01,bin2881,75, -CTSPillarNetworkA,2882,2882,2882,1977-11-22,287.89999999999696,287.90836,2015-01-01 00:48:02,bin2882,35, -CTSPillarNetworkA,2883,2883,2883,1977-11-23,287.999999999997,288.00836,2015-01-01 00:48:03,bin2883,75, -CTSPillarNetworkA,2884,2884,2884,1977-11-24,288.099999999997,288.10837,2015-01-01 00:48:04,bin2884,35, -CTSPillarNetworkA,2885,2885,2885,1977-11-25,288.19999999999703,288.20837,2015-01-01 00:48:05,bin2885,75, -CTSPillarNetworkA,2886,2886,2886,1977-11-26,288.29999999999706,288.30838,2015-01-01 00:48:06,bin2886,35, -CTSPillarNetworkA,2887,2887,2887,1977-11-27,288.3999999999971,288.4084,2015-01-01 00:48:07,bin2887,75, -CTSPillarNetworkA,2888,2888,2888,1977-11-28,288.4999999999971,288.5084,2015-01-01 00:48:08,bin2888,35, -CTSPillarNetworkA,2889,2889,2889,1977-11-29,288.5999999999971,288.6084,2015-01-01 00:48:09,bin2889,75, -CTSPillarNetworkA,2890,2890,2890,1977-11-30,288.69999999999715,288.7084,2015-01-01 00:48:10,bin2890,35, -CTSPillarNetworkA,2891,2891,2891,1977-12-01,288.79999999999717,288.8084,2015-01-01 00:48:11,bin2891,75, -CTSPillarNetworkA,2892,2892,2892,1977-12-02,288.8999999999972,288.90842,2015-01-01 00:48:12,bin2892,35, -CTSPillarNetworkA,2893,2893,2893,1977-12-03,288.9999999999972,289.00842,2015-01-01 00:48:13,bin2893,75, -CTSPillarNetworkA,2894,2894,2894,1977-12-04,289.09999999999724,289.10843,2015-01-01 00:48:14,bin2894,35, -CTSPillarNetworkA,2895,2895,2895,1977-12-05,289.19999999999726,289.20844,2015-01-01 00:48:15,bin2895,75, -CTSPillarNetworkA,2896,2896,2896,1977-12-06,289.2999999999973,289.30844,2015-01-01 00:48:16,bin2896,35, -CTSPillarNetworkA,2897,2897,2897,1977-12-07,289.3999999999973,289.40845,2015-01-01 00:48:17,bin2897,75, -CTSPillarNetworkA,2898,2898,2898,1977-12-08,289.4999999999973,289.50845,2015-01-01 00:48:18,bin2898,35, -CTSPillarNetworkA,2899,2899,2899,1977-12-09,289.59999999999735,289.60846,2015-01-01 00:48:19,bin2899,75, -CTSPillarNetworkA,2900,2900,2900,1977-12-10,289.6999999999974,289.70847,2015-01-01 00:48:20,bin2900,35, -CTSPillarNetworkA,2901,2901,2901,1977-12-11,289.7999999999974,289.80847,2015-01-01 00:48:21,bin2901,75, -CTSPillarNetworkA,2902,2902,2902,1977-12-12,289.8999999999974,289.90848,2015-01-01 00:48:22,bin2902,35, -CTSPillarNetworkA,2903,2903,2903,1977-12-13,289.99999999999744,290.00848,2015-01-01 00:48:23,bin2903,75, -CTSPillarNetworkA,2904,2904,2904,1977-12-14,290.09999999999746,290.1085,2015-01-01 00:48:24,bin2904,35, -CTSPillarNetworkA,2905,2905,2905,1977-12-15,290.1999999999975,290.2085,2015-01-01 00:48:25,bin2905,75, -CTSPillarNetworkA,2906,2906,2906,1977-12-16,290.2999999999975,290.3085,2015-01-01 00:48:26,bin2906,35, -CTSPillarNetworkA,2907,2907,2907,1977-12-17,290.39999999999753,290.4085,2015-01-01 00:48:27,bin2907,75, -CTSPillarNetworkA,2908,2908,2908,1977-12-18,290.49999999999756,290.5085,2015-01-01 00:48:28,bin2908,35, -CTSPillarNetworkA,2909,2909,2909,1977-12-19,290.5999999999976,290.60852,2015-01-01 00:48:29,bin2909,75, -CTSPillarNetworkA,2910,2910,2910,1977-12-20,290.6999999999976,290.70853,2015-01-01 00:48:30,bin2910,35, -CTSPillarNetworkA,2911,2911,2911,1977-12-21,290.7999999999976,290.80853,2015-01-01 00:48:31,bin2911,75, -CTSPillarNetworkA,2912,2912,2912,1977-12-22,290.89999999999765,290.90854,2015-01-01 00:48:32,bin2912,35, -CTSPillarNetworkA,2913,2913,2913,1977-12-23,290.99999999999767,291.00854,2015-01-01 00:48:33,bin2913,75, -CTSPillarNetworkA,2914,2914,2914,1977-12-24,291.0999999999977,291.10855,2015-01-01 00:48:34,bin2914,35, -CTSPillarNetworkA,2915,2915,2915,1977-12-25,291.1999999999977,291.20856,2015-01-01 00:48:35,bin2915,75, -CTSPillarNetworkA,2916,2916,2916,1977-12-26,291.29999999999774,291.30856,2015-01-01 00:48:36,bin2916,35, -CTSPillarNetworkA,2917,2917,2917,1977-12-27,291.39999999999776,291.40857,2015-01-01 00:48:37,bin2917,75, -CTSPillarNetworkA,2918,2918,2918,1977-12-28,291.4999999999978,291.50858,2015-01-01 00:48:38,bin2918,35, -CTSPillarNetworkA,2919,2919,2919,1977-12-29,291.5999999999978,291.60858,2015-01-01 00:48:39,bin2919,75, -CTSPillarNetworkA,2920,2920,2920,1977-12-30,291.69999999999783,291.7086,2015-01-01 00:48:40,bin2920,35, -CTSPillarNetworkA,2921,2921,2921,1977-12-31,291.79999999999785,291.8086,2015-01-01 00:48:41,bin2921,75, -CTSPillarNetworkA,2922,2922,2922,1978-01-01,291.8999999999979,291.9086,2015-01-01 00:48:42,bin2922,35, -CTSPillarNetworkA,2923,2923,2923,1978-01-02,291.9999999999979,292.0086,2015-01-01 00:48:43,bin2923,75, -CTSPillarNetworkA,2924,2924,2924,1978-01-03,292.0999999999979,292.1086,2015-01-01 00:48:44,bin2924,35, -CTSPillarNetworkA,2925,2925,2925,1978-01-04,292.19999999999794,292.20862,2015-01-01 00:48:45,bin2925,75, -CTSPillarNetworkA,2926,2926,2926,1978-01-05,292.29999999999797,292.30862,2015-01-01 00:48:46,bin2926,35, -CTSPillarNetworkA,2927,2927,2927,1978-01-06,292.399999999998,292.40863,2015-01-01 00:48:47,bin2927,75, -CTSPillarNetworkA,2928,2928,2928,1978-01-07,292.499999999998,292.50864,2015-01-01 00:48:48,bin2928,35, -CTSPillarNetworkA,2929,2929,2929,1978-01-08,292.59999999999803,292.60864,2015-01-01 00:48:49,bin2929,75, -CTSPillarNetworkA,2930,2930,2930,1978-01-09,292.69999999999806,292.70865,2015-01-01 00:48:50,bin2930,35, -CTSPillarNetworkA,2931,2931,2931,1978-01-10,292.7999999999981,292.80865,2015-01-01 00:48:51,bin2931,75, -CTSPillarNetworkA,2932,2932,2932,1978-01-11,292.8999999999981,292.90866,2015-01-01 00:48:52,bin2932,35, -CTSPillarNetworkA,2933,2933,2933,1978-01-12,292.9999999999981,293.00867,2015-01-01 00:48:53,bin2933,75, -CTSPillarNetworkA,2934,2934,2934,1978-01-13,293.09999999999815,293.10867,2015-01-01 00:48:54,bin2934,35, -CTSPillarNetworkA,2935,2935,2935,1978-01-14,293.19999999999817,293.20868,2015-01-01 00:48:55,bin2935,75, -CTSPillarNetworkA,2936,2936,2936,1978-01-15,293.2999999999982,293.3087,2015-01-01 00:48:56,bin2936,35, -CTSPillarNetworkA,2937,2937,2937,1978-01-16,293.3999999999982,293.4087,2015-01-01 00:48:57,bin2937,75, -CTSPillarNetworkA,2938,2938,2938,1978-01-17,293.49999999999824,293.5087,2015-01-01 00:48:58,bin2938,35, -CTSPillarNetworkA,2939,2939,2939,1978-01-18,293.59999999999826,293.6087,2015-01-01 00:48:59,bin2939,75, -CTSPillarNetworkA,2940,2940,2940,1978-01-19,293.6999999999983,293.7087,2015-01-01 00:49:00,bin2940,35, -CTSPillarNetworkA,2941,2941,2941,1978-01-20,293.7999999999983,293.80872,2015-01-01 00:49:01,bin2941,75, -CTSPillarNetworkA,2942,2942,2942,1978-01-21,293.89999999999833,293.90872,2015-01-01 00:49:02,bin2942,35, -CTSPillarNetworkA,2943,2943,2943,1978-01-22,293.99999999999835,294.00873,2015-01-01 00:49:03,bin2943,75, -CTSPillarNetworkA,2944,2944,2944,1978-01-23,294.0999999999984,294.10873,2015-01-01 00:49:04,bin2944,35, -CTSPillarNetworkA,2945,2945,2945,1978-01-24,294.1999999999984,294.20874,2015-01-01 00:49:05,bin2945,75, -CTSPillarNetworkA,2946,2946,2946,1978-01-25,294.2999999999984,294.30875,2015-01-01 00:49:06,bin2946,35, -CTSPillarNetworkA,2947,2947,2947,1978-01-26,294.39999999999844,294.40875,2015-01-01 00:49:07,bin2947,75, -CTSPillarNetworkA,2948,2948,2948,1978-01-27,294.49999999999847,294.50876,2015-01-01 00:49:08,bin2948,35, -CTSPillarNetworkA,2949,2949,2949,1978-01-28,294.5999999999985,294.60876,2015-01-01 00:49:09,bin2949,75, -CTSPillarNetworkA,2950,2950,2950,1978-01-29,294.6999999999985,294.70877,2015-01-01 00:49:10,bin2950,35, -CTSPillarNetworkA,2951,2951,2951,1978-01-30,294.79999999999853,294.80878,2015-01-01 00:49:11,bin2951,75, -CTSPillarNetworkA,2952,2952,2952,1978-01-31,294.89999999999856,294.90878,2015-01-01 00:49:12,bin2952,35, -CTSPillarNetworkA,2953,2953,2953,1978-02-01,294.9999999999986,295.0088,2015-01-01 00:49:13,bin2953,75, -CTSPillarNetworkA,2954,2954,2954,1978-02-02,295.0999999999986,295.1088,2015-01-01 00:49:14,bin2954,35, -CTSPillarNetworkA,2955,2955,2955,1978-02-03,295.1999999999986,295.2088,2015-01-01 00:49:15,bin2955,75, -CTSPillarNetworkA,2956,2956,2956,1978-02-04,295.29999999999865,295.3088,2015-01-01 00:49:16,bin2956,35, -CTSPillarNetworkA,2957,2957,2957,1978-02-05,295.39999999999867,295.4088,2015-01-01 00:49:17,bin2957,75, -CTSPillarNetworkA,2958,2958,2958,1978-02-06,295.4999999999987,295.50882,2015-01-01 00:49:18,bin2958,35, -CTSPillarNetworkA,2959,2959,2959,1978-02-07,295.5999999999987,295.60883,2015-01-01 00:49:19,bin2959,75, -CTSPillarNetworkA,2960,2960,2960,1978-02-08,295.69999999999874,295.70883,2015-01-01 00:49:20,bin2960,35, -CTSPillarNetworkA,2961,2961,2961,1978-02-09,295.79999999999876,295.80884,2015-01-01 00:49:21,bin2961,75, -CTSPillarNetworkA,2962,2962,2962,1978-02-10,295.8999999999988,295.90884,2015-01-01 00:49:22,bin2962,35, -CTSPillarNetworkA,2963,2963,2963,1978-02-11,295.9999999999988,296.00885,2015-01-01 00:49:23,bin2963,75, -CTSPillarNetworkA,2964,2964,2964,1978-02-12,296.09999999999883,296.10886,2015-01-01 00:49:24,bin2964,35, -CTSPillarNetworkA,2965,2965,2965,1978-02-13,296.19999999999885,296.20886,2015-01-01 00:49:25,bin2965,75, -CTSPillarNetworkA,2966,2966,2966,1978-02-14,296.2999999999989,296.30887,2015-01-01 00:49:26,bin2966,35, -CTSPillarNetworkA,2967,2967,2967,1978-02-15,296.3999999999989,296.40887,2015-01-01 00:49:27,bin2967,75, -CTSPillarNetworkA,2968,2968,2968,1978-02-16,296.4999999999989,296.50888,2015-01-01 00:49:28,bin2968,35, -CTSPillarNetworkA,2969,2969,2969,1978-02-17,296.59999999999894,296.6089,2015-01-01 00:49:29,bin2969,75, -CTSPillarNetworkA,2970,2970,2970,1978-02-18,296.69999999999897,296.7089,2015-01-01 00:49:30,bin2970,35, -CTSPillarNetworkA,2971,2971,2971,1978-02-19,296.799999999999,296.8089,2015-01-01 00:49:31,bin2971,75, -CTSPillarNetworkA,2972,2972,2972,1978-02-20,296.899999999999,296.9089,2015-01-01 00:49:32,bin2972,35, -CTSPillarNetworkA,2973,2973,2973,1978-02-21,296.99999999999903,297.0089,2015-01-01 00:49:33,bin2973,75, -CTSPillarNetworkA,2974,2974,2974,1978-02-22,297.09999999999906,297.10892,2015-01-01 00:49:34,bin2974,35, -CTSPillarNetworkA,2975,2975,2975,1978-02-23,297.1999999999991,297.20892,2015-01-01 00:49:35,bin2975,75, -CTSPillarNetworkA,2976,2976,2976,1978-02-24,297.2999999999991,297.30893,2015-01-01 00:49:36,bin2976,35, -CTSPillarNetworkA,2977,2977,2977,1978-02-25,297.3999999999991,297.40894,2015-01-01 00:49:37,bin2977,75, -CTSPillarNetworkA,2978,2978,2978,1978-02-26,297.49999999999915,297.50894,2015-01-01 00:49:38,bin2978,35, -CTSPillarNetworkA,2979,2979,2979,1978-02-27,297.59999999999917,297.60895,2015-01-01 00:49:39,bin2979,75, -CTSPillarNetworkA,2980,2980,2980,1978-02-28,297.6999999999992,297.70895,2015-01-01 00:49:40,bin2980,35, -CTSPillarNetworkA,2981,2981,2981,1978-03-01,297.7999999999992,297.80896,2015-01-01 00:49:41,bin2981,75, -CTSPillarNetworkA,2982,2982,2982,1978-03-02,297.89999999999924,297.90897,2015-01-01 00:49:42,bin2982,35, -CTSPillarNetworkA,2983,2983,2983,1978-03-03,297.99999999999926,298.00897,2015-01-01 00:49:43,bin2983,75, -CTSPillarNetworkA,2984,2984,2984,1978-03-04,298.0999999999993,298.10898,2015-01-01 00:49:44,bin2984,35, -CTSPillarNetworkA,2985,2985,2985,1978-03-05,298.1999999999993,298.20898,2015-01-01 00:49:45,bin2985,75, -CTSPillarNetworkA,2986,2986,2986,1978-03-06,298.29999999999933,298.309,2015-01-01 00:49:46,bin2986,35, -CTSPillarNetworkA,2987,2987,2987,1978-03-07,298.39999999999935,298.409,2015-01-01 00:49:47,bin2987,75, -CTSPillarNetworkA,2988,2988,2988,1978-03-08,298.4999999999994,298.509,2015-01-01 00:49:48,bin2988,35, -CTSPillarNetworkA,2989,2989,2989,1978-03-09,298.5999999999994,298.609,2015-01-01 00:49:49,bin2989,75, -CTSPillarNetworkA,2990,2990,2990,1978-03-10,298.6999999999994,298.709,2015-01-01 00:49:50,bin2990,35, -CTSPillarNetworkA,2991,2991,2991,1978-03-11,298.79999999999944,298.80902,2015-01-01 00:49:51,bin2991,75, -CTSPillarNetworkA,2992,2992,2992,1978-03-12,298.89999999999947,298.90903,2015-01-01 00:49:52,bin2992,35, -CTSPillarNetworkA,2993,2993,2993,1978-03-13,298.9999999999995,299.00903,2015-01-01 00:49:53,bin2993,75, -CTSPillarNetworkA,2994,2994,2994,1978-03-14,299.0999999999995,299.10904,2015-01-01 00:49:54,bin2994,35, -CTSPillarNetworkA,2995,2995,2995,1978-03-15,299.19999999999953,299.20905,2015-01-01 00:49:55,bin2995,75, -CTSPillarNetworkA,2996,2996,2996,1978-03-16,299.29999999999956,299.30905,2015-01-01 00:49:56,bin2996,35, -CTSPillarNetworkA,2997,2997,2997,1978-03-17,299.3999999999996,299.40906,2015-01-01 00:49:57,bin2997,75, -CTSPillarNetworkA,2998,2998,2998,1978-03-18,299.4999999999996,299.50906,2015-01-01 00:49:58,bin2998,35, -CTSPillarNetworkA,2999,2999,2999,1978-03-19,299.5999999999996,299.60907,2015-01-01 00:49:59,bin2999,75, -CTSPillarNetworkA,3000,3000,3000,1978-03-20,299.69999999999965,299.70908,2015-01-01 00:50:00,bin3000,35, -CTSPillarNetworkA,3001,3001,3001,1978-03-21,299.79999999999967,299.80908,2015-01-01 00:50:01,bin3001,75, -CTSPillarNetworkA,3002,3002,3002,1978-03-22,299.8999999999997,299.9091,2015-01-01 00:50:02,bin3002,35, -CTSPillarNetworkA,3003,3003,3003,1978-03-23,299.9999999999997,300.0091,2015-01-01 00:50:03,bin3003,75, -CTSPillarNetworkA,3004,3004,3004,1978-03-24,300.09999999999974,300.1091,2015-01-01 00:50:04,bin3004,35, -CTSPillarNetworkA,3005,3005,3005,1978-03-25,300.19999999999976,300.2091,2015-01-01 00:50:05,bin3005,75, -CTSPillarNetworkA,3006,3006,3006,1978-03-26,300.2999999999998,300.3091,2015-01-01 00:50:06,bin3006,35, -CTSPillarNetworkA,3007,3007,3007,1978-03-27,300.3999999999998,300.40912,2015-01-01 00:50:07,bin3007,75, -CTSPillarNetworkA,3008,3008,3008,1978-03-28,300.49999999999983,300.50912,2015-01-01 00:50:08,bin3008,35, -CTSPillarNetworkA,3009,3009,3009,1978-03-29,300.59999999999985,300.60913,2015-01-01 00:50:09,bin3009,75, -CTSPillarNetworkA,3010,3010,3010,1978-03-30,300.6999999999999,300.70914,2015-01-01 00:50:10,bin3010,35, -CTSPillarNetworkA,3011,3011,3011,1978-03-31,300.7999999999999,300.80914,2015-01-01 00:50:11,bin3011,75, -CTSPillarNetworkA,3012,3012,3012,1978-04-01,300.8999999999999,300.90915,2015-01-01 00:50:12,bin3012,35, -CTSPillarNetworkA,3013,3013,3013,1978-04-02,300.99999999999994,301.00916,2015-01-01 00:50:13,bin3013,75, -CTSPillarNetworkA,3014,3014,3014,1978-04-03,301.09999999999997,301.10916,2015-01-01 00:50:14,bin3014,35, -CTSPillarNetworkA,3015,3015,3015,1978-04-04,301.2,301.20917,2015-01-01 00:50:15,bin3015,75, -CTSPillarNetworkA,3016,3016,3016,1978-04-05,301.3,301.30917,2015-01-01 00:50:16,bin3016,35, -CTSPillarNetworkA,3017,3017,3017,1978-04-06,301.40000000000003,301.40918,2015-01-01 00:50:17,bin3017,75, -CTSPillarNetworkA,3018,3018,3018,1978-04-07,301.50000000000006,301.5092,2015-01-01 00:50:18,bin3018,35, -CTSPillarNetworkA,3019,3019,3019,1978-04-08,301.6000000000001,301.6092,2015-01-01 00:50:19,bin3019,75, -CTSPillarNetworkA,3020,3020,3020,1978-04-09,301.7000000000001,301.7092,2015-01-01 00:50:20,bin3020,35, -CTSPillarNetworkA,3021,3021,3021,1978-04-10,301.8000000000001,301.8092,2015-01-01 00:50:21,bin3021,75, -CTSPillarNetworkA,3022,3022,3022,1978-04-11,301.90000000000015,301.9092,2015-01-01 00:50:22,bin3022,35, -CTSPillarNetworkA,3023,3023,3023,1978-04-12,302.00000000000017,302.00922,2015-01-01 00:50:23,bin3023,75, -CTSPillarNetworkA,3024,3024,3024,1978-04-13,302.1000000000002,302.10922,2015-01-01 00:50:24,bin3024,35, -CTSPillarNetworkA,3025,3025,3025,1978-04-14,302.2000000000002,302.20923,2015-01-01 00:50:25,bin3025,75, -CTSPillarNetworkA,3026,3026,3026,1978-04-15,302.30000000000024,302.30923,2015-01-01 00:50:26,bin3026,35, -CTSPillarNetworkA,3027,3027,3027,1978-04-16,302.40000000000026,302.40924,2015-01-01 00:50:27,bin3027,75, -CTSPillarNetworkA,3028,3028,3028,1978-04-17,302.5000000000003,302.50925,2015-01-01 00:50:28,bin3028,35, -CTSPillarNetworkA,3029,3029,3029,1978-04-18,302.6000000000003,302.60925,2015-01-01 00:50:29,bin3029,75, -CTSPillarNetworkA,3030,3030,3030,1978-04-19,302.70000000000033,302.70926,2015-01-01 00:50:30,bin3030,35, -CTSPillarNetworkA,3031,3031,3031,1978-04-20,302.80000000000035,302.80927,2015-01-01 00:50:31,bin3031,75, -CTSPillarNetworkA,3032,3032,3032,1978-04-21,302.9000000000004,302.90927,2015-01-01 00:50:32,bin3032,35, -CTSPillarNetworkA,3033,3033,3033,1978-04-22,303.0000000000004,303.00928,2015-01-01 00:50:33,bin3033,75, -CTSPillarNetworkA,3034,3034,3034,1978-04-23,303.1000000000004,303.10928,2015-01-01 00:50:34,bin3034,35, -CTSPillarNetworkA,3035,3035,3035,1978-04-24,303.20000000000044,303.2093,2015-01-01 00:50:35,bin3035,75, -CTSPillarNetworkA,3036,3036,3036,1978-04-25,303.30000000000047,303.3093,2015-01-01 00:50:36,bin3036,35, -CTSPillarNetworkA,3037,3037,3037,1978-04-26,303.4000000000005,303.4093,2015-01-01 00:50:37,bin3037,75, -CTSPillarNetworkA,3038,3038,3038,1978-04-27,303.5000000000005,303.5093,2015-01-01 00:50:38,bin3038,35, -CTSPillarNetworkA,3039,3039,3039,1978-04-28,303.60000000000053,303.6093,2015-01-01 00:50:39,bin3039,75, -CTSPillarNetworkA,3040,3040,3040,1978-04-29,303.70000000000056,303.70932,2015-01-01 00:50:40,bin3040,35, -CTSPillarNetworkA,3041,3041,3041,1978-04-30,303.8000000000006,303.80933,2015-01-01 00:50:41,bin3041,75, -CTSPillarNetworkA,3042,3042,3042,1978-05-01,303.9000000000006,303.90933,2015-01-01 00:50:42,bin3042,35, -CTSPillarNetworkA,3043,3043,3043,1978-05-02,304.0000000000006,304.00934,2015-01-01 00:50:43,bin3043,75, -CTSPillarNetworkA,3044,3044,3044,1978-05-03,304.10000000000065,304.10934,2015-01-01 00:50:44,bin3044,35, -CTSPillarNetworkA,3045,3045,3045,1978-05-04,304.20000000000067,304.20935,2015-01-01 00:50:45,bin3045,75, -CTSPillarNetworkA,3046,3046,3046,1978-05-05,304.3000000000007,304.30936,2015-01-01 00:50:46,bin3046,35, -CTSPillarNetworkA,3047,3047,3047,1978-05-06,304.4000000000007,304.40936,2015-01-01 00:50:47,bin3047,75, -CTSPillarNetworkA,3048,3048,3048,1978-05-07,304.50000000000074,304.50937,2015-01-01 00:50:48,bin3048,35, -CTSPillarNetworkA,3049,3049,3049,1978-05-08,304.60000000000076,304.60938,2015-01-01 00:50:49,bin3049,75, -CTSPillarNetworkA,3050,3050,3050,1978-05-09,304.7000000000008,304.70938,2015-01-01 00:50:50,bin3050,35, -CTSPillarNetworkA,3051,3051,3051,1978-05-10,304.8000000000008,304.8094,2015-01-01 00:50:51,bin3051,75, -CTSPillarNetworkA,3052,3052,3052,1978-05-11,304.90000000000083,304.9094,2015-01-01 00:50:52,bin3052,35, -CTSPillarNetworkA,3053,3053,3053,1978-05-12,305.00000000000085,305.0094,2015-01-01 00:50:53,bin3053,75, -CTSPillarNetworkA,3054,3054,3054,1978-05-13,305.1000000000009,305.1094,2015-01-01 00:50:54,bin3054,35, -CTSPillarNetworkA,3055,3055,3055,1978-05-14,305.2000000000009,305.2094,2015-01-01 00:50:55,bin3055,75, -CTSPillarNetworkA,3056,3056,3056,1978-05-15,305.3000000000009,305.30942,2015-01-01 00:50:56,bin3056,35, -CTSPillarNetworkA,3057,3057,3057,1978-05-16,305.40000000000094,305.40942,2015-01-01 00:50:57,bin3057,75, -CTSPillarNetworkA,3058,3058,3058,1978-05-17,305.50000000000097,305.50943,2015-01-01 00:50:58,bin3058,35, -CTSPillarNetworkA,3059,3059,3059,1978-05-18,305.600000000001,305.60944,2015-01-01 00:50:59,bin3059,75, -CTSPillarNetworkA,3060,3060,3060,1978-05-19,305.700000000001,305.70944,2015-01-01 00:51:00,bin3060,35, -CTSPillarNetworkA,3061,3061,3061,1978-05-20,305.80000000000103,305.80945,2015-01-01 00:51:01,bin3061,75, -CTSPillarNetworkA,3062,3062,3062,1978-05-21,305.90000000000106,305.90945,2015-01-01 00:51:02,bin3062,35, -CTSPillarNetworkA,3063,3063,3063,1978-05-22,306.0000000000011,306.00946,2015-01-01 00:51:03,bin3063,75, -CTSPillarNetworkA,3064,3064,3064,1978-05-23,306.1000000000011,306.10947,2015-01-01 00:51:04,bin3064,35, -CTSPillarNetworkA,3065,3065,3065,1978-05-24,306.2000000000011,306.20947,2015-01-01 00:51:05,bin3065,75, -CTSPillarNetworkA,3066,3066,3066,1978-05-25,306.30000000000115,306.30948,2015-01-01 00:51:06,bin3066,35, -CTSPillarNetworkA,3067,3067,3067,1978-05-26,306.40000000000117,306.4095,2015-01-01 00:51:07,bin3067,75, -CTSPillarNetworkA,3068,3068,3068,1978-05-27,306.5000000000012,306.5095,2015-01-01 00:51:08,bin3068,35, -CTSPillarNetworkA,3069,3069,3069,1978-05-28,306.6000000000012,306.6095,2015-01-01 00:51:09,bin3069,75, -CTSPillarNetworkA,3070,3070,3070,1978-05-29,306.70000000000124,306.7095,2015-01-01 00:51:10,bin3070,35, -CTSPillarNetworkA,3071,3071,3071,1978-05-30,306.80000000000126,306.8095,2015-01-01 00:51:11,bin3071,75, -CTSPillarNetworkA,3072,3072,3072,1978-05-31,306.9000000000013,306.90952,2015-01-01 00:51:12,bin3072,35, -CTSPillarNetworkA,3073,3073,3073,1978-06-01,307.0000000000013,307.00952,2015-01-01 00:51:13,bin3073,75, -CTSPillarNetworkA,3074,3074,3074,1978-06-02,307.10000000000133,307.10953,2015-01-01 00:51:14,bin3074,35, -CTSPillarNetworkA,3075,3075,3075,1978-06-03,307.20000000000135,307.20953,2015-01-01 00:51:15,bin3075,75, -CTSPillarNetworkA,3076,3076,3076,1978-06-04,307.3000000000014,307.30954,2015-01-01 00:51:16,bin3076,35, -CTSPillarNetworkA,3077,3077,3077,1978-06-05,307.4000000000014,307.40955,2015-01-01 00:51:17,bin3077,75, -CTSPillarNetworkA,3078,3078,3078,1978-06-06,307.5000000000014,307.50955,2015-01-01 00:51:18,bin3078,35, -CTSPillarNetworkA,3079,3079,3079,1978-06-07,307.60000000000144,307.60956,2015-01-01 00:51:19,bin3079,75, -CTSPillarNetworkA,3080,3080,3080,1978-06-08,307.70000000000147,307.70956,2015-01-01 00:51:20,bin3080,35, -CTSPillarNetworkA,3081,3081,3081,1978-06-09,307.8000000000015,307.80957,2015-01-01 00:51:21,bin3081,75, -CTSPillarNetworkA,3082,3082,3082,1978-06-10,307.9000000000015,307.90958,2015-01-01 00:51:22,bin3082,35, -CTSPillarNetworkA,3083,3083,3083,1978-06-11,308.00000000000153,308.00958,2015-01-01 00:51:23,bin3083,75, -CTSPillarNetworkA,3084,3084,3084,1978-06-12,308.10000000000156,308.1096,2015-01-01 00:51:24,bin3084,35, -CTSPillarNetworkA,3085,3085,3085,1978-06-13,308.2000000000016,308.2096,2015-01-01 00:51:25,bin3085,75, -CTSPillarNetworkA,3086,3086,3086,1978-06-14,308.3000000000016,308.3096,2015-01-01 00:51:26,bin3086,35, -CTSPillarNetworkA,3087,3087,3087,1978-06-15,308.4000000000016,308.4096,2015-01-01 00:51:27,bin3087,75, -CTSPillarNetworkA,3088,3088,3088,1978-06-16,308.50000000000165,308.5096,2015-01-01 00:51:28,bin3088,35, -CTSPillarNetworkA,3089,3089,3089,1978-06-17,308.60000000000167,308.60962,2015-01-01 00:51:29,bin3089,75, -CTSPillarNetworkA,3090,3090,3090,1978-06-18,308.7000000000017,308.70963,2015-01-01 00:51:30,bin3090,35, -CTSPillarNetworkA,3091,3091,3091,1978-06-19,308.8000000000017,308.80963,2015-01-01 00:51:31,bin3091,75, -CTSPillarNetworkA,3092,3092,3092,1978-06-20,308.90000000000174,308.90964,2015-01-01 00:51:32,bin3092,35, -CTSPillarNetworkA,3093,3093,3093,1978-06-21,309.00000000000176,309.00964,2015-01-01 00:51:33,bin3093,75, -CTSPillarNetworkA,3094,3094,3094,1978-06-22,309.1000000000018,309.10965,2015-01-01 00:51:34,bin3094,35, -CTSPillarNetworkA,3095,3095,3095,1978-06-23,309.2000000000018,309.20966,2015-01-01 00:51:35,bin3095,75, -CTSPillarNetworkA,3096,3096,3096,1978-06-24,309.30000000000183,309.30966,2015-01-01 00:51:36,bin3096,35, -CTSPillarNetworkA,3097,3097,3097,1978-06-25,309.40000000000185,309.40967,2015-01-01 00:51:37,bin3097,75, -CTSPillarNetworkA,3098,3098,3098,1978-06-26,309.5000000000019,309.50967,2015-01-01 00:51:38,bin3098,35, -CTSPillarNetworkA,3099,3099,3099,1978-06-27,309.6000000000019,309.60968,2015-01-01 00:51:39,bin3099,75, -CTSPillarNetworkA,3100,3100,3100,1978-06-28,309.7000000000019,309.7097,2015-01-01 00:51:40,bin3100,35, -CTSPillarNetworkA,3101,3101,3101,1978-06-29,309.80000000000194,309.8097,2015-01-01 00:51:41,bin3101,75, -CTSPillarNetworkA,3102,3102,3102,1978-06-30,309.90000000000197,309.9097,2015-01-01 00:51:42,bin3102,35, -CTSPillarNetworkA,3103,3103,3103,1978-07-01,310.000000000002,310.0097,2015-01-01 00:51:43,bin3103,75, -CTSPillarNetworkA,3104,3104,3104,1978-07-02,310.100000000002,310.1097,2015-01-01 00:51:44,bin3104,35, -CTSPillarNetworkA,3105,3105,3105,1978-07-03,310.20000000000203,310.20972,2015-01-01 00:51:45,bin3105,75, -CTSPillarNetworkA,3106,3106,3106,1978-07-04,310.30000000000206,310.30972,2015-01-01 00:51:46,bin3106,35, -CTSPillarNetworkA,3107,3107,3107,1978-07-05,310.4000000000021,310.40973,2015-01-01 00:51:47,bin3107,75, -CTSPillarNetworkA,3108,3108,3108,1978-07-06,310.5000000000021,310.50974,2015-01-01 00:51:48,bin3108,35, -CTSPillarNetworkA,3109,3109,3109,1978-07-07,310.6000000000021,310.60974,2015-01-01 00:51:49,bin3109,75, -CTSPillarNetworkA,3110,3110,3110,1978-07-08,310.70000000000215,310.70975,2015-01-01 00:51:50,bin3110,35, -CTSPillarNetworkA,3111,3111,3111,1978-07-09,310.80000000000217,310.80975,2015-01-01 00:51:51,bin3111,75, -CTSPillarNetworkA,3112,3112,3112,1978-07-10,310.9000000000022,310.90976,2015-01-01 00:51:52,bin3112,35, -CTSPillarNetworkA,3113,3113,3113,1978-07-11,311.0000000000022,311.00977,2015-01-01 00:51:53,bin3113,75, -CTSPillarNetworkA,3114,3114,3114,1978-07-12,311.10000000000224,311.10977,2015-01-01 00:51:54,bin3114,35, -CTSPillarNetworkA,3115,3115,3115,1978-07-13,311.20000000000226,311.20978,2015-01-01 00:51:55,bin3115,75, -CTSPillarNetworkA,3116,3116,3116,1978-07-14,311.3000000000023,311.30978,2015-01-01 00:51:56,bin3116,35, -CTSPillarNetworkA,3117,3117,3117,1978-07-15,311.4000000000023,311.4098,2015-01-01 00:51:57,bin3117,75, -CTSPillarNetworkA,3118,3118,3118,1978-07-16,311.50000000000233,311.5098,2015-01-01 00:51:58,bin3118,35, -CTSPillarNetworkA,3119,3119,3119,1978-07-17,311.60000000000235,311.6098,2015-01-01 00:51:59,bin3119,75, -CTSPillarNetworkA,3120,3120,3120,1978-07-18,311.7000000000024,311.7098,2015-01-01 00:52:00,bin3120,35, -CTSPillarNetworkA,3121,3121,3121,1978-07-19,311.8000000000024,311.8098,2015-01-01 00:52:01,bin3121,75, -CTSPillarNetworkA,3122,3122,3122,1978-07-20,311.9000000000024,311.90982,2015-01-01 00:52:02,bin3122,35, -CTSPillarNetworkA,3123,3123,3123,1978-07-21,312.00000000000244,312.00983,2015-01-01 00:52:03,bin3123,75, -CTSPillarNetworkA,3124,3124,3124,1978-07-22,312.10000000000247,312.10983,2015-01-01 00:52:04,bin3124,35, -CTSPillarNetworkA,3125,3125,3125,1978-07-23,312.2000000000025,312.20984,2015-01-01 00:52:05,bin3125,75, -CTSPillarNetworkA,3126,3126,3126,1978-07-24,312.3000000000025,312.30984,2015-01-01 00:52:06,bin3126,35, -CTSPillarNetworkA,3127,3127,3127,1978-07-25,312.40000000000254,312.40985,2015-01-01 00:52:07,bin3127,75, -CTSPillarNetworkA,3128,3128,3128,1978-07-26,312.50000000000256,312.50986,2015-01-01 00:52:08,bin3128,35, -CTSPillarNetworkA,3129,3129,3129,1978-07-27,312.6000000000026,312.60986,2015-01-01 00:52:09,bin3129,75, -CTSPillarNetworkA,3130,3130,3130,1978-07-28,312.7000000000026,312.70987,2015-01-01 00:52:10,bin3130,35, -CTSPillarNetworkA,3131,3131,3131,1978-07-29,312.8000000000026,312.80988,2015-01-01 00:52:11,bin3131,75, -CTSPillarNetworkA,3132,3132,3132,1978-07-30,312.90000000000265,312.90988,2015-01-01 00:52:12,bin3132,35, -CTSPillarNetworkA,3133,3133,3133,1978-07-31,313.0000000000027,313.0099,2015-01-01 00:52:13,bin3133,75, -CTSPillarNetworkA,3134,3134,3134,1978-08-01,313.1000000000027,313.1099,2015-01-01 00:52:14,bin3134,35, -CTSPillarNetworkA,3135,3135,3135,1978-08-02,313.2000000000027,313.2099,2015-01-01 00:52:15,bin3135,75, -CTSPillarNetworkA,3136,3136,3136,1978-08-03,313.30000000000274,313.3099,2015-01-01 00:52:16,bin3136,35, -CTSPillarNetworkA,3137,3137,3137,1978-08-04,313.40000000000276,313.4099,2015-01-01 00:52:17,bin3137,75, -CTSPillarNetworkA,3138,3138,3138,1978-08-05,313.5000000000028,313.50992,2015-01-01 00:52:18,bin3138,35, -CTSPillarNetworkA,3139,3139,3139,1978-08-06,313.6000000000028,313.60992,2015-01-01 00:52:19,bin3139,75, -CTSPillarNetworkA,3140,3140,3140,1978-08-07,313.70000000000283,313.70993,2015-01-01 00:52:20,bin3140,35, -CTSPillarNetworkA,3141,3141,3141,1978-08-08,313.80000000000285,313.80994,2015-01-01 00:52:21,bin3141,75, -CTSPillarNetworkA,3142,3142,3142,1978-08-09,313.9000000000029,313.90994,2015-01-01 00:52:22,bin3142,35, -CTSPillarNetworkA,3143,3143,3143,1978-08-10,314.0000000000029,314.00995,2015-01-01 00:52:23,bin3143,75, -CTSPillarNetworkA,3144,3144,3144,1978-08-11,314.1000000000029,314.10995,2015-01-01 00:52:24,bin3144,35, -CTSPillarNetworkA,3145,3145,3145,1978-08-12,314.20000000000294,314.20996,2015-01-01 00:52:25,bin3145,75, -CTSPillarNetworkA,3146,3146,3146,1978-08-13,314.30000000000297,314.30997,2015-01-01 00:52:26,bin3146,35, -CTSPillarNetworkA,3147,3147,3147,1978-08-14,314.400000000003,314.40997,2015-01-01 00:52:27,bin3147,75, -CTSPillarNetworkA,3148,3148,3148,1978-08-15,314.500000000003,314.50998,2015-01-01 00:52:28,bin3148,35, -CTSPillarNetworkA,3149,3149,3149,1978-08-16,314.60000000000304,314.61,2015-01-01 00:52:29,bin3149,75, -CTSPillarNetworkA,3150,3150,3150,1978-08-17,314.70000000000306,314.71,2015-01-01 00:52:30,bin3150,35, -CTSPillarNetworkA,3151,3151,3151,1978-08-18,314.8000000000031,314.81,2015-01-01 00:52:31,bin3151,75, -CTSPillarNetworkA,3152,3152,3152,1978-08-19,314.9000000000031,314.91,2015-01-01 00:52:32,bin3152,35, -CTSPillarNetworkA,3153,3153,3153,1978-08-20,315.0000000000031,315.01,2015-01-01 00:52:33,bin3153,75, -CTSPillarNetworkA,3154,3154,3154,1978-08-21,315.10000000000315,315.11002,2015-01-01 00:52:34,bin3154,35, -CTSPillarNetworkA,3155,3155,3155,1978-08-22,315.2000000000032,315.21002,2015-01-01 00:52:35,bin3155,75, -CTSPillarNetworkA,3156,3156,3156,1978-08-23,315.3000000000032,315.31003,2015-01-01 00:52:36,bin3156,35, -CTSPillarNetworkA,3157,3157,3157,1978-08-24,315.4000000000032,315.41003,2015-01-01 00:52:37,bin3157,75, -CTSPillarNetworkA,3158,3158,3158,1978-08-25,315.50000000000324,315.51004,2015-01-01 00:52:38,bin3158,35, -CTSPillarNetworkA,3159,3159,3159,1978-08-26,315.60000000000326,315.61005,2015-01-01 00:52:39,bin3159,75, -CTSPillarNetworkA,3160,3160,3160,1978-08-27,315.7000000000033,315.71005,2015-01-01 00:52:40,bin3160,35, -CTSPillarNetworkA,3161,3161,3161,1978-08-28,315.8000000000033,315.81006,2015-01-01 00:52:41,bin3161,75, -CTSPillarNetworkA,3162,3162,3162,1978-08-29,315.90000000000333,315.91006,2015-01-01 00:52:42,bin3162,35, -CTSPillarNetworkA,3163,3163,3163,1978-08-30,316.00000000000335,316.01007,2015-01-01 00:52:43,bin3163,75, -CTSPillarNetworkA,3164,3164,3164,1978-08-31,316.1000000000034,316.11008,2015-01-01 00:52:44,bin3164,35, -CTSPillarNetworkA,3165,3165,3165,1978-09-01,316.2000000000034,316.21008,2015-01-01 00:52:45,bin3165,75, -CTSPillarNetworkA,3166,3166,3166,1978-09-02,316.3000000000034,316.3101,2015-01-01 00:52:46,bin3166,35, -CTSPillarNetworkA,3167,3167,3167,1978-09-03,316.40000000000344,316.4101,2015-01-01 00:52:47,bin3167,75, -CTSPillarNetworkA,3168,3168,3168,1978-09-04,316.50000000000347,316.5101,2015-01-01 00:52:48,bin3168,35, -CTSPillarNetworkA,3169,3169,3169,1978-09-05,316.6000000000035,316.6101,2015-01-01 00:52:49,bin3169,75, -CTSPillarNetworkA,3170,3170,3170,1978-09-06,316.7000000000035,316.7101,2015-01-01 00:52:50,bin3170,35, -CTSPillarNetworkA,3171,3171,3171,1978-09-07,316.80000000000354,316.81012,2015-01-01 00:52:51,bin3171,75, -CTSPillarNetworkA,3172,3172,3172,1978-09-08,316.90000000000356,316.91013,2015-01-01 00:52:52,bin3172,35, -CTSPillarNetworkA,3173,3173,3173,1978-09-09,317.0000000000036,317.01013,2015-01-01 00:52:53,bin3173,75, -CTSPillarNetworkA,3174,3174,3174,1978-09-10,317.1000000000036,317.11014,2015-01-01 00:52:54,bin3174,35, -CTSPillarNetworkA,3175,3175,3175,1978-09-11,317.2000000000036,317.21014,2015-01-01 00:52:55,bin3175,75, -CTSPillarNetworkA,3176,3176,3176,1978-09-12,317.30000000000365,317.31015,2015-01-01 00:52:56,bin3176,35, -CTSPillarNetworkA,3177,3177,3177,1978-09-13,317.4000000000037,317.41016,2015-01-01 00:52:57,bin3177,75, -CTSPillarNetworkA,3178,3178,3178,1978-09-14,317.5000000000037,317.51016,2015-01-01 00:52:58,bin3178,35, -CTSPillarNetworkA,3179,3179,3179,1978-09-15,317.6000000000037,317.61017,2015-01-01 00:52:59,bin3179,75, -CTSPillarNetworkA,3180,3180,3180,1978-09-16,317.70000000000374,317.71017,2015-01-01 00:53:00,bin3180,35, -CTSPillarNetworkA,3181,3181,3181,1978-09-17,317.80000000000376,317.81018,2015-01-01 00:53:01,bin3181,75, -CTSPillarNetworkA,3182,3182,3182,1978-09-18,317.9000000000038,317.9102,2015-01-01 00:53:02,bin3182,35, -CTSPillarNetworkA,3183,3183,3183,1978-09-19,318.0000000000038,318.0102,2015-01-01 00:53:03,bin3183,75, -CTSPillarNetworkA,3184,3184,3184,1978-09-20,318.10000000000383,318.1102,2015-01-01 00:53:04,bin3184,35, -CTSPillarNetworkA,3185,3185,3185,1978-09-21,318.20000000000385,318.2102,2015-01-01 00:53:05,bin3185,75, -CTSPillarNetworkA,3186,3186,3186,1978-09-22,318.3000000000039,318.3102,2015-01-01 00:53:06,bin3186,35, -CTSPillarNetworkA,3187,3187,3187,1978-09-23,318.4000000000039,318.41022,2015-01-01 00:53:07,bin3187,75, -CTSPillarNetworkA,3188,3188,3188,1978-09-24,318.5000000000039,318.51022,2015-01-01 00:53:08,bin3188,35, -CTSPillarNetworkA,3189,3189,3189,1978-09-25,318.60000000000394,318.61023,2015-01-01 00:53:09,bin3189,75, -CTSPillarNetworkA,3190,3190,3190,1978-09-26,318.70000000000397,318.71024,2015-01-01 00:53:10,bin3190,35, -CTSPillarNetworkA,3191,3191,3191,1978-09-27,318.800000000004,318.81024,2015-01-01 00:53:11,bin3191,75, -CTSPillarNetworkA,3192,3192,3192,1978-09-28,318.900000000004,318.91025,2015-01-01 00:53:12,bin3192,35, -CTSPillarNetworkA,3193,3193,3193,1978-09-29,319.00000000000404,319.01025,2015-01-01 00:53:13,bin3193,75, -CTSPillarNetworkA,3194,3194,3194,1978-09-30,319.10000000000406,319.11026,2015-01-01 00:53:14,bin3194,35, -CTSPillarNetworkA,3195,3195,3195,1978-10-01,319.2000000000041,319.21027,2015-01-01 00:53:15,bin3195,75, -CTSPillarNetworkA,3196,3196,3196,1978-10-02,319.3000000000041,319.31027,2015-01-01 00:53:16,bin3196,35, -CTSPillarNetworkA,3197,3197,3197,1978-10-03,319.4000000000041,319.41028,2015-01-01 00:53:17,bin3197,75, -CTSPillarNetworkA,3198,3198,3198,1978-10-04,319.50000000000415,319.51028,2015-01-01 00:53:18,bin3198,35, -CTSPillarNetworkA,3199,3199,3199,1978-10-05,319.6000000000042,319.6103,2015-01-01 00:53:19,bin3199,75, -CTSPillarNetworkA,3200,3200,3200,1978-10-06,319.7000000000042,319.7103,2015-01-01 00:53:20,bin3200,35, -CTSPillarNetworkA,3201,3201,3201,1978-10-07,319.8000000000042,319.8103,2015-01-01 00:53:21,bin3201,75, -CTSPillarNetworkA,3202,3202,3202,1978-10-08,319.90000000000424,319.9103,2015-01-01 00:53:22,bin3202,35, -CTSPillarNetworkA,3203,3203,3203,1978-10-09,320.00000000000426,320.0103,2015-01-01 00:53:23,bin3203,75, -CTSPillarNetworkA,3204,3204,3204,1978-10-10,320.1000000000043,320.11032,2015-01-01 00:53:24,bin3204,35, -CTSPillarNetworkA,3205,3205,3205,1978-10-11,320.2000000000043,320.21033,2015-01-01 00:53:25,bin3205,75, -CTSPillarNetworkA,3206,3206,3206,1978-10-12,320.30000000000433,320.31033,2015-01-01 00:53:26,bin3206,35, -CTSPillarNetworkA,3207,3207,3207,1978-10-13,320.40000000000435,320.41034,2015-01-01 00:53:27,bin3207,75, -CTSPillarNetworkA,3208,3208,3208,1978-10-14,320.5000000000044,320.51035,2015-01-01 00:53:28,bin3208,35, -CTSPillarNetworkA,3209,3209,3209,1978-10-15,320.6000000000044,320.61035,2015-01-01 00:53:29,bin3209,75, -CTSPillarNetworkA,3210,3210,3210,1978-10-16,320.7000000000044,320.71036,2015-01-01 00:53:30,bin3210,35, -CTSPillarNetworkA,3211,3211,3211,1978-10-17,320.80000000000445,320.81036,2015-01-01 00:53:31,bin3211,75, -CTSPillarNetworkA,3212,3212,3212,1978-10-18,320.90000000000447,320.91037,2015-01-01 00:53:32,bin3212,35, -CTSPillarNetworkA,3213,3213,3213,1978-10-19,321.0000000000045,321.01038,2015-01-01 00:53:33,bin3213,75, -CTSPillarNetworkA,3214,3214,3214,1978-10-20,321.1000000000045,321.11038,2015-01-01 00:53:34,bin3214,35, -CTSPillarNetworkA,3215,3215,3215,1978-10-21,321.20000000000454,321.2104,2015-01-01 00:53:35,bin3215,75, -CTSPillarNetworkA,3216,3216,3216,1978-10-22,321.30000000000456,321.3104,2015-01-01 00:53:36,bin3216,35, -CTSPillarNetworkA,3217,3217,3217,1978-10-23,321.4000000000046,321.4104,2015-01-01 00:53:37,bin3217,75, -CTSPillarNetworkA,3218,3218,3218,1978-10-24,321.5000000000046,321.5104,2015-01-01 00:53:38,bin3218,35, -CTSPillarNetworkA,3219,3219,3219,1978-10-25,321.6000000000046,321.6104,2015-01-01 00:53:39,bin3219,75, -CTSPillarNetworkA,3220,3220,3220,1978-10-26,321.70000000000465,321.71042,2015-01-01 00:53:40,bin3220,35, -CTSPillarNetworkA,3221,3221,3221,1978-10-27,321.8000000000047,321.81042,2015-01-01 00:53:41,bin3221,75, -CTSPillarNetworkA,3222,3222,3222,1978-10-28,321.9000000000047,321.91043,2015-01-01 00:53:42,bin3222,35, -CTSPillarNetworkA,3223,3223,3223,1978-10-29,322.0000000000047,322.01044,2015-01-01 00:53:43,bin3223,75, -CTSPillarNetworkA,3224,3224,3224,1978-10-30,322.10000000000474,322.11044,2015-01-01 00:53:44,bin3224,35, -CTSPillarNetworkA,3225,3225,3225,1978-10-31,322.20000000000476,322.21045,2015-01-01 00:53:45,bin3225,75, -CTSPillarNetworkA,3226,3226,3226,1978-11-01,322.3000000000048,322.31046,2015-01-01 00:53:46,bin3226,35, -CTSPillarNetworkA,3227,3227,3227,1978-11-02,322.4000000000048,322.41046,2015-01-01 00:53:47,bin3227,75, -CTSPillarNetworkA,3228,3228,3228,1978-11-03,322.50000000000483,322.51047,2015-01-01 00:53:48,bin3228,35, -CTSPillarNetworkA,3229,3229,3229,1978-11-04,322.60000000000485,322.61047,2015-01-01 00:53:49,bin3229,75, -CTSPillarNetworkA,3230,3230,3230,1978-11-05,322.7000000000049,322.71048,2015-01-01 00:53:50,bin3230,35, -CTSPillarNetworkA,3231,3231,3231,1978-11-06,322.8000000000049,322.8105,2015-01-01 00:53:51,bin3231,75, -CTSPillarNetworkA,3232,3232,3232,1978-11-07,322.9000000000049,322.9105,2015-01-01 00:53:52,bin3232,35, -CTSPillarNetworkA,3233,3233,3233,1978-11-08,323.00000000000495,323.0105,2015-01-01 00:53:53,bin3233,75, -CTSPillarNetworkA,3234,3234,3234,1978-11-09,323.10000000000497,323.1105,2015-01-01 00:53:54,bin3234,35, -CTSPillarNetworkA,3235,3235,3235,1978-11-10,323.200000000005,323.2105,2015-01-01 00:53:55,bin3235,75, -CTSPillarNetworkA,3236,3236,3236,1978-11-11,323.300000000005,323.31052,2015-01-01 00:53:56,bin3236,35, -CTSPillarNetworkA,3237,3237,3237,1978-11-12,323.40000000000504,323.41052,2015-01-01 00:53:57,bin3237,75, -CTSPillarNetworkA,3238,3238,3238,1978-11-13,323.50000000000506,323.51053,2015-01-01 00:53:58,bin3238,35, -CTSPillarNetworkA,3239,3239,3239,1978-11-14,323.6000000000051,323.61053,2015-01-01 00:53:59,bin3239,75, -CTSPillarNetworkA,3240,3240,3240,1978-11-15,323.7000000000051,323.71054,2015-01-01 00:54:00,bin3240,35, -CTSPillarNetworkA,3241,3241,3241,1978-11-16,323.8000000000051,323.81055,2015-01-01 00:54:01,bin3241,75, -CTSPillarNetworkA,3242,3242,3242,1978-11-17,323.90000000000515,323.91055,2015-01-01 00:54:02,bin3242,35, -CTSPillarNetworkA,3243,3243,3243,1978-11-18,324.0000000000052,324.01056,2015-01-01 00:54:03,bin3243,75, -CTSPillarNetworkA,3244,3244,3244,1978-11-19,324.1000000000052,324.11057,2015-01-01 00:54:04,bin3244,35, -CTSPillarNetworkA,3245,3245,3245,1978-11-20,324.2000000000052,324.21057,2015-01-01 00:54:05,bin3245,75, -CTSPillarNetworkA,3246,3246,3246,1978-11-21,324.30000000000524,324.31058,2015-01-01 00:54:06,bin3246,35, -CTSPillarNetworkA,3247,3247,3247,1978-11-22,324.40000000000526,324.41058,2015-01-01 00:54:07,bin3247,75, -CTSPillarNetworkA,3248,3248,3248,1978-11-23,324.5000000000053,324.5106,2015-01-01 00:54:08,bin3248,35, -CTSPillarNetworkA,3249,3249,3249,1978-11-24,324.6000000000053,324.6106,2015-01-01 00:54:09,bin3249,75, -CTSPillarNetworkA,3250,3250,3250,1978-11-25,324.70000000000533,324.7106,2015-01-01 00:54:10,bin3250,35, -CTSPillarNetworkA,3251,3251,3251,1978-11-26,324.80000000000535,324.8106,2015-01-01 00:54:11,bin3251,75, -CTSPillarNetworkA,3252,3252,3252,1978-11-27,324.9000000000054,324.9106,2015-01-01 00:54:12,bin3252,35, -CTSPillarNetworkA,3253,3253,3253,1978-11-28,325.0000000000054,325.01062,2015-01-01 00:54:13,bin3253,75, -CTSPillarNetworkA,3254,3254,3254,1978-11-29,325.1000000000054,325.11063,2015-01-01 00:54:14,bin3254,35, -CTSPillarNetworkA,3255,3255,3255,1978-11-30,325.20000000000545,325.21063,2015-01-01 00:54:15,bin3255,75, -CTSPillarNetworkA,3256,3256,3256,1978-12-01,325.30000000000547,325.31064,2015-01-01 00:54:16,bin3256,35, -CTSPillarNetworkA,3257,3257,3257,1978-12-02,325.4000000000055,325.41064,2015-01-01 00:54:17,bin3257,75, -CTSPillarNetworkA,3258,3258,3258,1978-12-03,325.5000000000055,325.51065,2015-01-01 00:54:18,bin3258,35, -CTSPillarNetworkA,3259,3259,3259,1978-12-04,325.60000000000554,325.61066,2015-01-01 00:54:19,bin3259,75, -CTSPillarNetworkA,3260,3260,3260,1978-12-05,325.70000000000556,325.71066,2015-01-01 00:54:20,bin3260,35, -CTSPillarNetworkA,3261,3261,3261,1978-12-06,325.8000000000056,325.81067,2015-01-01 00:54:21,bin3261,75, -CTSPillarNetworkA,3262,3262,3262,1978-12-07,325.9000000000056,325.91068,2015-01-01 00:54:22,bin3262,35, -CTSPillarNetworkA,3263,3263,3263,1978-12-08,326.0000000000056,326.01068,2015-01-01 00:54:23,bin3263,75, -CTSPillarNetworkA,3264,3264,3264,1978-12-09,326.10000000000565,326.1107,2015-01-01 00:54:24,bin3264,35, -CTSPillarNetworkA,3265,3265,3265,1978-12-10,326.2000000000057,326.2107,2015-01-01 00:54:25,bin3265,75, -CTSPillarNetworkA,3266,3266,3266,1978-12-11,326.3000000000057,326.3107,2015-01-01 00:54:26,bin3266,35, -CTSPillarNetworkA,3267,3267,3267,1978-12-12,326.4000000000057,326.4107,2015-01-01 00:54:27,bin3267,75, -CTSPillarNetworkA,3268,3268,3268,1978-12-13,326.50000000000574,326.5107,2015-01-01 00:54:28,bin3268,35, -CTSPillarNetworkA,3269,3269,3269,1978-12-14,326.60000000000576,326.61072,2015-01-01 00:54:29,bin3269,75, -CTSPillarNetworkA,3270,3270,3270,1978-12-15,326.7000000000058,326.71072,2015-01-01 00:54:30,bin3270,35, -CTSPillarNetworkA,3271,3271,3271,1978-12-16,326.8000000000058,326.81073,2015-01-01 00:54:31,bin3271,75, -CTSPillarNetworkA,3272,3272,3272,1978-12-17,326.90000000000583,326.91074,2015-01-01 00:54:32,bin3272,35, -CTSPillarNetworkA,3273,3273,3273,1978-12-18,327.00000000000585,327.01074,2015-01-01 00:54:33,bin3273,75, -CTSPillarNetworkA,3274,3274,3274,1978-12-19,327.1000000000059,327.11075,2015-01-01 00:54:34,bin3274,35, -CTSPillarNetworkA,3275,3275,3275,1978-12-20,327.2000000000059,327.21075,2015-01-01 00:54:35,bin3275,75, -CTSPillarNetworkA,3276,3276,3276,1978-12-21,327.3000000000059,327.31076,2015-01-01 00:54:36,bin3276,35, -CTSPillarNetworkA,3277,3277,3277,1978-12-22,327.40000000000595,327.41077,2015-01-01 00:54:37,bin3277,75, -CTSPillarNetworkA,3278,3278,3278,1978-12-23,327.50000000000597,327.51077,2015-01-01 00:54:38,bin3278,35, -CTSPillarNetworkA,3279,3279,3279,1978-12-24,327.600000000006,327.61078,2015-01-01 00:54:39,bin3279,75, -CTSPillarNetworkA,3280,3280,3280,1978-12-25,327.700000000006,327.7108,2015-01-01 00:54:40,bin3280,35, -CTSPillarNetworkA,3281,3281,3281,1978-12-26,327.80000000000604,327.8108,2015-01-01 00:54:41,bin3281,75, -CTSPillarNetworkA,3282,3282,3282,1978-12-27,327.90000000000606,327.9108,2015-01-01 00:54:42,bin3282,35, -CTSPillarNetworkA,3283,3283,3283,1978-12-28,328.0000000000061,328.0108,2015-01-01 00:54:43,bin3283,75, -CTSPillarNetworkA,3284,3284,3284,1978-12-29,328.1000000000061,328.1108,2015-01-01 00:54:44,bin3284,35, -CTSPillarNetworkA,3285,3285,3285,1978-12-30,328.2000000000061,328.21082,2015-01-01 00:54:45,bin3285,75, -CTSPillarNetworkA,3286,3286,3286,1978-12-31,328.30000000000615,328.31082,2015-01-01 00:54:46,bin3286,35, -CTSPillarNetworkA,3287,3287,3287,1979-01-01,328.4000000000062,328.41083,2015-01-01 00:54:47,bin3287,75, -CTSPillarNetworkA,3288,3288,3288,1979-01-02,328.5000000000062,328.51083,2015-01-01 00:54:48,bin3288,35, -CTSPillarNetworkA,3289,3289,3289,1979-01-03,328.6000000000062,328.61084,2015-01-01 00:54:49,bin3289,75, -CTSPillarNetworkA,3290,3290,3290,1979-01-04,328.70000000000624,328.71085,2015-01-01 00:54:50,bin3290,35, -CTSPillarNetworkA,3291,3291,3291,1979-01-05,328.80000000000626,328.81085,2015-01-01 00:54:51,bin3291,75, -CTSPillarNetworkA,3292,3292,3292,1979-01-06,328.9000000000063,328.91086,2015-01-01 00:54:52,bin3292,35, -CTSPillarNetworkA,3293,3293,3293,1979-01-07,329.0000000000063,329.01086,2015-01-01 00:54:53,bin3293,75, -CTSPillarNetworkA,3294,3294,3294,1979-01-08,329.10000000000633,329.11087,2015-01-01 00:54:54,bin3294,35, -CTSPillarNetworkA,3295,3295,3295,1979-01-09,329.20000000000636,329.21088,2015-01-01 00:54:55,bin3295,75, -CTSPillarNetworkA,3296,3296,3296,1979-01-10,329.3000000000064,329.31088,2015-01-01 00:54:56,bin3296,35, -CTSPillarNetworkA,3297,3297,3297,1979-01-11,329.4000000000064,329.4109,2015-01-01 00:54:57,bin3297,75, -CTSPillarNetworkA,3298,3298,3298,1979-01-12,329.5000000000064,329.5109,2015-01-01 00:54:58,bin3298,35, -CTSPillarNetworkA,3299,3299,3299,1979-01-13,329.60000000000645,329.6109,2015-01-01 00:54:59,bin3299,75, -CTSPillarNetworkA,3300,3300,3300,1979-01-14,329.70000000000647,329.7109,2015-01-01 00:55:00,bin3300,35, -CTSPillarNetworkA,3301,3301,3301,1979-01-15,329.8000000000065,329.8109,2015-01-01 00:55:01,bin3301,75, -CTSPillarNetworkA,3302,3302,3302,1979-01-16,329.9000000000065,329.91092,2015-01-01 00:55:02,bin3302,35, -CTSPillarNetworkA,3303,3303,3303,1979-01-17,330.00000000000654,330.01093,2015-01-01 00:55:03,bin3303,75, -CTSPillarNetworkA,3304,3304,3304,1979-01-18,330.10000000000656,330.11093,2015-01-01 00:55:04,bin3304,35, -CTSPillarNetworkA,3305,3305,3305,1979-01-19,330.2000000000066,330.21094,2015-01-01 00:55:05,bin3305,75, -CTSPillarNetworkA,3306,3306,3306,1979-01-20,330.3000000000066,330.31094,2015-01-01 00:55:06,bin3306,35, -CTSPillarNetworkA,3307,3307,3307,1979-01-21,330.4000000000066,330.41095,2015-01-01 00:55:07,bin3307,75, -CTSPillarNetworkA,3308,3308,3308,1979-01-22,330.50000000000665,330.51096,2015-01-01 00:55:08,bin3308,35, -CTSPillarNetworkA,3309,3309,3309,1979-01-23,330.6000000000067,330.61096,2015-01-01 00:55:09,bin3309,75, -CTSPillarNetworkA,3310,3310,3310,1979-01-24,330.7000000000067,330.71097,2015-01-01 00:55:10,bin3310,35, -CTSPillarNetworkA,3311,3311,3311,1979-01-25,330.8000000000067,330.81097,2015-01-01 00:55:11,bin3311,75, -CTSPillarNetworkA,3312,3312,3312,1979-01-26,330.90000000000674,330.91098,2015-01-01 00:55:12,bin3312,35, -CTSPillarNetworkA,3313,3313,3313,1979-01-27,331.00000000000676,331.011,2015-01-01 00:55:13,bin3313,75, -CTSPillarNetworkA,3314,3314,3314,1979-01-28,331.1000000000068,331.111,2015-01-01 00:55:14,bin3314,35, -CTSPillarNetworkA,3315,3315,3315,1979-01-29,331.2000000000068,331.211,2015-01-01 00:55:15,bin3315,75, -CTSPillarNetworkA,3316,3316,3316,1979-01-30,331.30000000000683,331.311,2015-01-01 00:55:16,bin3316,35, -CTSPillarNetworkA,3317,3317,3317,1979-01-31,331.40000000000686,331.411,2015-01-01 00:55:17,bin3317,75, -CTSPillarNetworkA,3318,3318,3318,1979-02-01,331.5000000000069,331.51102,2015-01-01 00:55:18,bin3318,35, -CTSPillarNetworkA,3319,3319,3319,1979-02-02,331.6000000000069,331.61102,2015-01-01 00:55:19,bin3319,75, -CTSPillarNetworkA,3320,3320,3320,1979-02-03,331.7000000000069,331.71103,2015-01-01 00:55:20,bin3320,35, -CTSPillarNetworkA,3321,3321,3321,1979-02-04,331.80000000000695,331.81104,2015-01-01 00:55:21,bin3321,75, -CTSPillarNetworkA,3322,3322,3322,1979-02-05,331.90000000000697,331.91104,2015-01-01 00:55:22,bin3322,35, -CTSPillarNetworkA,3323,3323,3323,1979-02-06,332.000000000007,332.01105,2015-01-01 00:55:23,bin3323,75, -CTSPillarNetworkA,3324,3324,3324,1979-02-07,332.100000000007,332.11105,2015-01-01 00:55:24,bin3324,35, -CTSPillarNetworkA,3325,3325,3325,1979-02-08,332.20000000000704,332.21106,2015-01-01 00:55:25,bin3325,75, -CTSPillarNetworkA,3326,3326,3326,1979-02-09,332.30000000000706,332.31107,2015-01-01 00:55:26,bin3326,35, -CTSPillarNetworkA,3327,3327,3327,1979-02-10,332.4000000000071,332.41107,2015-01-01 00:55:27,bin3327,75, -CTSPillarNetworkA,3328,3328,3328,1979-02-11,332.5000000000071,332.51108,2015-01-01 00:55:28,bin3328,35, -CTSPillarNetworkA,3329,3329,3329,1979-02-12,332.6000000000071,332.61108,2015-01-01 00:55:29,bin3329,75, -CTSPillarNetworkA,3330,3330,3330,1979-02-13,332.70000000000715,332.7111,2015-01-01 00:55:30,bin3330,35, -CTSPillarNetworkA,3331,3331,3331,1979-02-14,332.8000000000072,332.8111,2015-01-01 00:55:31,bin3331,75, -CTSPillarNetworkA,3332,3332,3332,1979-02-15,332.9000000000072,332.9111,2015-01-01 00:55:32,bin3332,35, -CTSPillarNetworkA,3333,3333,3333,1979-02-16,333.0000000000072,333.0111,2015-01-01 00:55:33,bin3333,75, -CTSPillarNetworkA,3334,3334,3334,1979-02-17,333.10000000000724,333.1111,2015-01-01 00:55:34,bin3334,35, -CTSPillarNetworkA,3335,3335,3335,1979-02-18,333.20000000000726,333.21112,2015-01-01 00:55:35,bin3335,75, -CTSPillarNetworkA,3336,3336,3336,1979-02-19,333.3000000000073,333.31113,2015-01-01 00:55:36,bin3336,35, -CTSPillarNetworkA,3337,3337,3337,1979-02-20,333.4000000000073,333.41113,2015-01-01 00:55:37,bin3337,75, -CTSPillarNetworkA,3338,3338,3338,1979-02-21,333.50000000000733,333.51114,2015-01-01 00:55:38,bin3338,35, -CTSPillarNetworkA,3339,3339,3339,1979-02-22,333.60000000000736,333.61115,2015-01-01 00:55:39,bin3339,75, -CTSPillarNetworkA,3340,3340,3340,1979-02-23,333.7000000000074,333.71115,2015-01-01 00:55:40,bin3340,35, -CTSPillarNetworkA,3341,3341,3341,1979-02-24,333.8000000000074,333.81116,2015-01-01 00:55:41,bin3341,75, -CTSPillarNetworkA,3342,3342,3342,1979-02-25,333.9000000000074,333.91116,2015-01-01 00:55:42,bin3342,35, -CTSPillarNetworkA,3343,3343,3343,1979-02-26,334.00000000000745,334.01117,2015-01-01 00:55:43,bin3343,75, -CTSPillarNetworkA,3344,3344,3344,1979-02-27,334.10000000000747,334.11118,2015-01-01 00:55:44,bin3344,35, -CTSPillarNetworkA,3345,3345,3345,1979-02-28,334.2000000000075,334.21118,2015-01-01 00:55:45,bin3345,75, -CTSPillarNetworkA,3346,3346,3346,1979-03-01,334.3000000000075,334.3112,2015-01-01 00:55:46,bin3346,35, -CTSPillarNetworkA,3347,3347,3347,1979-03-02,334.40000000000754,334.4112,2015-01-01 00:55:47,bin3347,75, -CTSPillarNetworkA,3348,3348,3348,1979-03-03,334.50000000000756,334.5112,2015-01-01 00:55:48,bin3348,35, -CTSPillarNetworkA,3349,3349,3349,1979-03-04,334.6000000000076,334.6112,2015-01-01 00:55:49,bin3349,75, -CTSPillarNetworkA,3350,3350,3350,1979-03-05,334.7000000000076,334.7112,2015-01-01 00:55:50,bin3350,35, -CTSPillarNetworkA,3351,3351,3351,1979-03-06,334.8000000000076,334.81122,2015-01-01 00:55:51,bin3351,75, -CTSPillarNetworkA,3352,3352,3352,1979-03-07,334.90000000000765,334.91122,2015-01-01 00:55:52,bin3352,35, -CTSPillarNetworkA,3353,3353,3353,1979-03-08,335.0000000000077,335.01123,2015-01-01 00:55:53,bin3353,75, -CTSPillarNetworkA,3354,3354,3354,1979-03-09,335.1000000000077,335.11124,2015-01-01 00:55:54,bin3354,35, -CTSPillarNetworkA,3355,3355,3355,1979-03-10,335.2000000000077,335.21124,2015-01-01 00:55:55,bin3355,75, -CTSPillarNetworkA,3356,3356,3356,1979-03-11,335.30000000000774,335.31125,2015-01-01 00:55:56,bin3356,35, -CTSPillarNetworkA,3357,3357,3357,1979-03-12,335.40000000000776,335.41125,2015-01-01 00:55:57,bin3357,75, -CTSPillarNetworkA,3358,3358,3358,1979-03-13,335.5000000000078,335.51126,2015-01-01 00:55:58,bin3358,35, -CTSPillarNetworkA,3359,3359,3359,1979-03-14,335.6000000000078,335.61127,2015-01-01 00:55:59,bin3359,75, -CTSPillarNetworkA,3360,3360,3360,1979-03-15,335.70000000000783,335.71127,2015-01-01 00:56:00,bin3360,35, -CTSPillarNetworkA,3361,3361,3361,1979-03-16,335.80000000000786,335.81128,2015-01-01 00:56:01,bin3361,75, -CTSPillarNetworkA,3362,3362,3362,1979-03-17,335.9000000000079,335.9113,2015-01-01 00:56:02,bin3362,35, -CTSPillarNetworkA,3363,3363,3363,1979-03-18,336.0000000000079,336.0113,2015-01-01 00:56:03,bin3363,75, -CTSPillarNetworkA,3364,3364,3364,1979-03-19,336.1000000000079,336.1113,2015-01-01 00:56:04,bin3364,35, -CTSPillarNetworkA,3365,3365,3365,1979-03-20,336.20000000000795,336.2113,2015-01-01 00:56:05,bin3365,75, -CTSPillarNetworkA,3366,3366,3366,1979-03-21,336.30000000000797,336.3113,2015-01-01 00:56:06,bin3366,35, -CTSPillarNetworkA,3367,3367,3367,1979-03-22,336.400000000008,336.41132,2015-01-01 00:56:07,bin3367,75, -CTSPillarNetworkA,3368,3368,3368,1979-03-23,336.500000000008,336.51132,2015-01-01 00:56:08,bin3368,35, -CTSPillarNetworkA,3369,3369,3369,1979-03-24,336.60000000000804,336.61133,2015-01-01 00:56:09,bin3369,75, -CTSPillarNetworkA,3370,3370,3370,1979-03-25,336.70000000000806,336.71133,2015-01-01 00:56:10,bin3370,35, -CTSPillarNetworkA,3371,3371,3371,1979-03-26,336.8000000000081,336.81134,2015-01-01 00:56:11,bin3371,75, -CTSPillarNetworkA,3372,3372,3372,1979-03-27,336.9000000000081,336.91135,2015-01-01 00:56:12,bin3372,35, -CTSPillarNetworkA,3373,3373,3373,1979-03-28,337.00000000000813,337.01135,2015-01-01 00:56:13,bin3373,75, -CTSPillarNetworkA,3374,3374,3374,1979-03-29,337.10000000000815,337.11136,2015-01-01 00:56:14,bin3374,35, -CTSPillarNetworkA,3375,3375,3375,1979-03-30,337.2000000000082,337.21136,2015-01-01 00:56:15,bin3375,75, -CTSPillarNetworkA,3376,3376,3376,1979-03-31,337.3000000000082,337.31137,2015-01-01 00:56:16,bin3376,35, -CTSPillarNetworkA,3377,3377,3377,1979-04-01,337.4000000000082,337.41138,2015-01-01 00:56:17,bin3377,75, -CTSPillarNetworkA,3378,3378,3378,1979-04-02,337.50000000000824,337.51138,2015-01-01 00:56:18,bin3378,35, -CTSPillarNetworkA,3379,3379,3379,1979-04-03,337.60000000000827,337.6114,2015-01-01 00:56:19,bin3379,75, -CTSPillarNetworkA,3380,3380,3380,1979-04-04,337.7000000000083,337.7114,2015-01-01 00:56:20,bin3380,35, -CTSPillarNetworkA,3381,3381,3381,1979-04-05,337.8000000000083,337.8114,2015-01-01 00:56:21,bin3381,75, -CTSPillarNetworkA,3382,3382,3382,1979-04-06,337.90000000000833,337.9114,2015-01-01 00:56:22,bin3382,35, -CTSPillarNetworkA,3383,3383,3383,1979-04-07,338.00000000000836,338.0114,2015-01-01 00:56:23,bin3383,75, -CTSPillarNetworkA,3384,3384,3384,1979-04-08,338.1000000000084,338.11142,2015-01-01 00:56:24,bin3384,35, -CTSPillarNetworkA,3385,3385,3385,1979-04-09,338.2000000000084,338.21143,2015-01-01 00:56:25,bin3385,75, -CTSPillarNetworkA,3386,3386,3386,1979-04-10,338.3000000000084,338.31143,2015-01-01 00:56:26,bin3386,35, -CTSPillarNetworkA,3387,3387,3387,1979-04-11,338.40000000000845,338.41144,2015-01-01 00:56:27,bin3387,75, -CTSPillarNetworkA,3388,3388,3388,1979-04-12,338.50000000000847,338.51144,2015-01-01 00:56:28,bin3388,35, -CTSPillarNetworkA,3389,3389,3389,1979-04-13,338.6000000000085,338.61145,2015-01-01 00:56:29,bin3389,75, -CTSPillarNetworkA,3390,3390,3390,1979-04-14,338.7000000000085,338.71146,2015-01-01 00:56:30,bin3390,35, -CTSPillarNetworkA,3391,3391,3391,1979-04-15,338.80000000000854,338.81146,2015-01-01 00:56:31,bin3391,75, -CTSPillarNetworkA,3392,3392,3392,1979-04-16,338.90000000000856,338.91147,2015-01-01 00:56:32,bin3392,35, -CTSPillarNetworkA,3393,3393,3393,1979-04-17,339.0000000000086,339.01147,2015-01-01 00:56:33,bin3393,75, -CTSPillarNetworkA,3394,3394,3394,1979-04-18,339.1000000000086,339.11148,2015-01-01 00:56:34,bin3394,35, -CTSPillarNetworkA,3395,3395,3395,1979-04-19,339.20000000000863,339.2115,2015-01-01 00:56:35,bin3395,75, -CTSPillarNetworkA,3396,3396,3396,1979-04-20,339.30000000000865,339.3115,2015-01-01 00:56:36,bin3396,35, -CTSPillarNetworkA,3397,3397,3397,1979-04-21,339.4000000000087,339.4115,2015-01-01 00:56:37,bin3397,75, -CTSPillarNetworkA,3398,3398,3398,1979-04-22,339.5000000000087,339.5115,2015-01-01 00:56:38,bin3398,35, -CTSPillarNetworkA,3399,3399,3399,1979-04-23,339.6000000000087,339.6115,2015-01-01 00:56:39,bin3399,75, -CTSPillarNetworkA,3400,3400,3400,1979-04-24,339.70000000000874,339.71152,2015-01-01 00:56:40,bin3400,35, -CTSPillarNetworkA,3401,3401,3401,1979-04-25,339.80000000000877,339.81152,2015-01-01 00:56:41,bin3401,75, -CTSPillarNetworkA,3402,3402,3402,1979-04-26,339.9000000000088,339.91153,2015-01-01 00:56:42,bin3402,35, -CTSPillarNetworkA,3403,3403,3403,1979-04-27,340.0000000000088,340.01154,2015-01-01 00:56:43,bin3403,75, -CTSPillarNetworkA,3404,3404,3404,1979-04-28,340.10000000000883,340.11154,2015-01-01 00:56:44,bin3404,35, -CTSPillarNetworkA,3405,3405,3405,1979-04-29,340.20000000000886,340.21155,2015-01-01 00:56:45,bin3405,75, -CTSPillarNetworkA,3406,3406,3406,1979-04-30,340.3000000000089,340.31155,2015-01-01 00:56:46,bin3406,35, -CTSPillarNetworkA,3407,3407,3407,1979-05-01,340.4000000000089,340.41156,2015-01-01 00:56:47,bin3407,75, -CTSPillarNetworkA,3408,3408,3408,1979-05-02,340.5000000000089,340.51157,2015-01-01 00:56:48,bin3408,35, -CTSPillarNetworkA,3409,3409,3409,1979-05-03,340.60000000000895,340.61157,2015-01-01 00:56:49,bin3409,75, -CTSPillarNetworkA,3410,3410,3410,1979-05-04,340.70000000000897,340.71158,2015-01-01 00:56:50,bin3410,35, -CTSPillarNetworkA,3411,3411,3411,1979-05-05,340.800000000009,340.81158,2015-01-01 00:56:51,bin3411,75, -CTSPillarNetworkA,3412,3412,3412,1979-05-06,340.900000000009,340.9116,2015-01-01 00:56:52,bin3412,35, -CTSPillarNetworkA,3413,3413,3413,1979-05-07,341.00000000000904,341.0116,2015-01-01 00:56:53,bin3413,75, -CTSPillarNetworkA,3414,3414,3414,1979-05-08,341.10000000000906,341.1116,2015-01-01 00:56:54,bin3414,35, -CTSPillarNetworkA,3415,3415,3415,1979-05-09,341.2000000000091,341.2116,2015-01-01 00:56:55,bin3415,75, -CTSPillarNetworkA,3416,3416,3416,1979-05-10,341.3000000000091,341.3116,2015-01-01 00:56:56,bin3416,35, -CTSPillarNetworkA,3417,3417,3417,1979-05-11,341.40000000000913,341.41162,2015-01-01 00:56:57,bin3417,75, -CTSPillarNetworkA,3418,3418,3418,1979-05-12,341.50000000000915,341.51163,2015-01-01 00:56:58,bin3418,35, -CTSPillarNetworkA,3419,3419,3419,1979-05-13,341.6000000000092,341.61163,2015-01-01 00:56:59,bin3419,75, -CTSPillarNetworkA,3420,3420,3420,1979-05-14,341.7000000000092,341.71164,2015-01-01 00:57:00,bin3420,35, -CTSPillarNetworkA,3421,3421,3421,1979-05-15,341.8000000000092,341.81165,2015-01-01 00:57:01,bin3421,75, -CTSPillarNetworkA,3422,3422,3422,1979-05-16,341.90000000000924,341.91165,2015-01-01 00:57:02,bin3422,35, -CTSPillarNetworkA,3423,3423,3423,1979-05-17,342.00000000000927,342.01166,2015-01-01 00:57:03,bin3423,75, -CTSPillarNetworkA,3424,3424,3424,1979-05-18,342.1000000000093,342.11166,2015-01-01 00:57:04,bin3424,35, -CTSPillarNetworkA,3425,3425,3425,1979-05-19,342.2000000000093,342.21167,2015-01-01 00:57:05,bin3425,75, -CTSPillarNetworkA,3426,3426,3426,1979-05-20,342.30000000000933,342.31168,2015-01-01 00:57:06,bin3426,35, -CTSPillarNetworkA,3427,3427,3427,1979-05-21,342.40000000000936,342.41168,2015-01-01 00:57:07,bin3427,75, -CTSPillarNetworkA,3428,3428,3428,1979-05-22,342.5000000000094,342.5117,2015-01-01 00:57:08,bin3428,35, -CTSPillarNetworkA,3429,3429,3429,1979-05-23,342.6000000000094,342.6117,2015-01-01 00:57:09,bin3429,75, -CTSPillarNetworkA,3430,3430,3430,1979-05-24,342.7000000000094,342.7117,2015-01-01 00:57:10,bin3430,35, -CTSPillarNetworkA,3431,3431,3431,1979-05-25,342.80000000000945,342.8117,2015-01-01 00:57:11,bin3431,75, -CTSPillarNetworkA,3432,3432,3432,1979-05-26,342.90000000000947,342.9117,2015-01-01 00:57:12,bin3432,35, -CTSPillarNetworkA,3433,3433,3433,1979-05-27,343.0000000000095,343.01172,2015-01-01 00:57:13,bin3433,75, -CTSPillarNetworkA,3434,3434,3434,1979-05-28,343.1000000000095,343.11172,2015-01-01 00:57:14,bin3434,35, -CTSPillarNetworkA,3435,3435,3435,1979-05-29,343.20000000000954,343.21173,2015-01-01 00:57:15,bin3435,75, -CTSPillarNetworkA,3436,3436,3436,1979-05-30,343.30000000000956,343.31174,2015-01-01 00:57:16,bin3436,35, -CTSPillarNetworkA,3437,3437,3437,1979-05-31,343.4000000000096,343.41174,2015-01-01 00:57:17,bin3437,75, -CTSPillarNetworkA,3438,3438,3438,1979-06-01,343.5000000000096,343.51175,2015-01-01 00:57:18,bin3438,35, -CTSPillarNetworkA,3439,3439,3439,1979-06-02,343.60000000000963,343.61176,2015-01-01 00:57:19,bin3439,75, -CTSPillarNetworkA,3440,3440,3440,1979-06-03,343.70000000000965,343.71176,2015-01-01 00:57:20,bin3440,35, -CTSPillarNetworkA,3441,3441,3441,1979-06-04,343.8000000000097,343.81177,2015-01-01 00:57:21,bin3441,75, -CTSPillarNetworkA,3442,3442,3442,1979-06-05,343.9000000000097,343.91177,2015-01-01 00:57:22,bin3442,35, -CTSPillarNetworkA,3443,3443,3443,1979-06-06,344.0000000000097,344.01178,2015-01-01 00:57:23,bin3443,75, -CTSPillarNetworkA,3444,3444,3444,1979-06-07,344.10000000000974,344.1118,2015-01-01 00:57:24,bin3444,35, -CTSPillarNetworkA,3445,3445,3445,1979-06-08,344.20000000000977,344.2118,2015-01-01 00:57:25,bin3445,75, -CTSPillarNetworkA,3446,3446,3446,1979-06-09,344.3000000000098,344.3118,2015-01-01 00:57:26,bin3446,35, -CTSPillarNetworkA,3447,3447,3447,1979-06-10,344.4000000000098,344.4118,2015-01-01 00:57:27,bin3447,75, -CTSPillarNetworkA,3448,3448,3448,1979-06-11,344.50000000000983,344.5118,2015-01-01 00:57:28,bin3448,35, -CTSPillarNetworkA,3449,3449,3449,1979-06-12,344.60000000000986,344.61182,2015-01-01 00:57:29,bin3449,75, -CTSPillarNetworkA,3450,3450,3450,1979-06-13,344.7000000000099,344.71182,2015-01-01 00:57:30,bin3450,35, -CTSPillarNetworkA,3451,3451,3451,1979-06-14,344.8000000000099,344.81183,2015-01-01 00:57:31,bin3451,75, -CTSPillarNetworkA,3452,3452,3452,1979-06-15,344.9000000000099,344.91183,2015-01-01 00:57:32,bin3452,35, -CTSPillarNetworkA,3453,3453,3453,1979-06-16,345.00000000000995,345.01184,2015-01-01 00:57:33,bin3453,75, -CTSPillarNetworkA,3454,3454,3454,1979-06-17,345.10000000000997,345.11185,2015-01-01 00:57:34,bin3454,35, -CTSPillarNetworkA,3455,3455,3455,1979-06-18,345.20000000001,345.21185,2015-01-01 00:57:35,bin3455,75, -CTSPillarNetworkA,3456,3456,3456,1979-06-19,345.30000000001,345.31186,2015-01-01 00:57:36,bin3456,35, -CTSPillarNetworkA,3457,3457,3457,1979-06-20,345.40000000001004,345.41187,2015-01-01 00:57:37,bin3457,75, -CTSPillarNetworkA,3458,3458,3458,1979-06-21,345.50000000001006,345.51187,2015-01-01 00:57:38,bin3458,35, -CTSPillarNetworkA,3459,3459,3459,1979-06-22,345.6000000000101,345.61188,2015-01-01 00:57:39,bin3459,75, -CTSPillarNetworkA,3460,3460,3460,1979-06-23,345.7000000000101,345.71188,2015-01-01 00:57:40,bin3460,35, -CTSPillarNetworkA,3461,3461,3461,1979-06-24,345.80000000001013,345.8119,2015-01-01 00:57:41,bin3461,75, -CTSPillarNetworkA,3462,3462,3462,1979-06-25,345.90000000001015,345.9119,2015-01-01 00:57:42,bin3462,35, -CTSPillarNetworkA,3463,3463,3463,1979-06-26,346.0000000000102,346.0119,2015-01-01 00:57:43,bin3463,75, -CTSPillarNetworkA,3464,3464,3464,1979-06-27,346.1000000000102,346.1119,2015-01-01 00:57:44,bin3464,35, -CTSPillarNetworkA,3465,3465,3465,1979-06-28,346.2000000000102,346.2119,2015-01-01 00:57:45,bin3465,75, -CTSPillarNetworkA,3466,3466,3466,1979-06-29,346.30000000001024,346.31192,2015-01-01 00:57:46,bin3466,35, -CTSPillarNetworkA,3467,3467,3467,1979-06-30,346.40000000001027,346.41193,2015-01-01 00:57:47,bin3467,75, -CTSPillarNetworkA,3468,3468,3468,1979-07-01,346.5000000000103,346.51193,2015-01-01 00:57:48,bin3468,35, -CTSPillarNetworkA,3469,3469,3469,1979-07-02,346.6000000000103,346.61194,2015-01-01 00:57:49,bin3469,75, -CTSPillarNetworkA,3470,3470,3470,1979-07-03,346.70000000001033,346.71194,2015-01-01 00:57:50,bin3470,35, -CTSPillarNetworkA,3471,3471,3471,1979-07-04,346.80000000001036,346.81195,2015-01-01 00:57:51,bin3471,75, -CTSPillarNetworkA,3472,3472,3472,1979-07-05,346.9000000000104,346.91196,2015-01-01 00:57:52,bin3472,35, -CTSPillarNetworkA,3473,3473,3473,1979-07-06,347.0000000000104,347.01196,2015-01-01 00:57:53,bin3473,75, -CTSPillarNetworkA,3474,3474,3474,1979-07-07,347.1000000000104,347.11197,2015-01-01 00:57:54,bin3474,35, -CTSPillarNetworkA,3475,3475,3475,1979-07-08,347.20000000001045,347.21198,2015-01-01 00:57:55,bin3475,75, -CTSPillarNetworkA,3476,3476,3476,1979-07-09,347.30000000001047,347.31198,2015-01-01 00:57:56,bin3476,35, -CTSPillarNetworkA,3477,3477,3477,1979-07-10,347.4000000000105,347.412,2015-01-01 00:57:57,bin3477,75, -CTSPillarNetworkA,3478,3478,3478,1979-07-11,347.5000000000105,347.512,2015-01-01 00:57:58,bin3478,35, -CTSPillarNetworkA,3479,3479,3479,1979-07-12,347.60000000001054,347.612,2015-01-01 00:57:59,bin3479,75, -CTSPillarNetworkA,3480,3480,3480,1979-07-13,347.70000000001056,347.712,2015-01-01 00:58:00,bin3480,35, -CTSPillarNetworkA,3481,3481,3481,1979-07-14,347.8000000000106,347.812,2015-01-01 00:58:01,bin3481,75, -CTSPillarNetworkA,3482,3482,3482,1979-07-15,347.9000000000106,347.91202,2015-01-01 00:58:02,bin3482,35, -CTSPillarNetworkA,3483,3483,3483,1979-07-16,348.00000000001063,348.01202,2015-01-01 00:58:03,bin3483,75, -CTSPillarNetworkA,3484,3484,3484,1979-07-17,348.10000000001065,348.11203,2015-01-01 00:58:04,bin3484,35, -CTSPillarNetworkA,3485,3485,3485,1979-07-18,348.2000000000107,348.21204,2015-01-01 00:58:05,bin3485,75, -CTSPillarNetworkA,3486,3486,3486,1979-07-19,348.3000000000107,348.31204,2015-01-01 00:58:06,bin3486,35, -CTSPillarNetworkA,3487,3487,3487,1979-07-20,348.4000000000107,348.41205,2015-01-01 00:58:07,bin3487,75, -CTSPillarNetworkA,3488,3488,3488,1979-07-21,348.50000000001074,348.51205,2015-01-01 00:58:08,bin3488,35, -CTSPillarNetworkA,3489,3489,3489,1979-07-22,348.60000000001077,348.61206,2015-01-01 00:58:09,bin3489,75, -CTSPillarNetworkA,3490,3490,3490,1979-07-23,348.7000000000108,348.71207,2015-01-01 00:58:10,bin3490,35, -CTSPillarNetworkA,3491,3491,3491,1979-07-24,348.8000000000108,348.81207,2015-01-01 00:58:11,bin3491,75, -CTSPillarNetworkA,3492,3492,3492,1979-07-25,348.90000000001083,348.91208,2015-01-01 00:58:12,bin3492,35, -CTSPillarNetworkA,3493,3493,3493,1979-07-26,349.00000000001086,349.0121,2015-01-01 00:58:13,bin3493,75, -CTSPillarNetworkA,3494,3494,3494,1979-07-27,349.1000000000109,349.1121,2015-01-01 00:58:14,bin3494,35, -CTSPillarNetworkA,3495,3495,3495,1979-07-28,349.2000000000109,349.2121,2015-01-01 00:58:15,bin3495,75, -CTSPillarNetworkA,3496,3496,3496,1979-07-29,349.3000000000109,349.3121,2015-01-01 00:58:16,bin3496,35, -CTSPillarNetworkA,3497,3497,3497,1979-07-30,349.40000000001095,349.4121,2015-01-01 00:58:17,bin3497,75, -CTSPillarNetworkA,3498,3498,3498,1979-07-31,349.50000000001097,349.51212,2015-01-01 00:58:18,bin3498,35, -CTSPillarNetworkA,3499,3499,3499,1979-08-01,349.600000000011,349.61212,2015-01-01 00:58:19,bin3499,75, -CTSPillarNetworkA,3500,3500,3500,1979-08-02,349.700000000011,349.71213,2015-01-01 00:58:20,bin3500,35, -CTSPillarNetworkA,3501,3501,3501,1979-08-03,349.80000000001104,349.81213,2015-01-01 00:58:21,bin3501,75, -CTSPillarNetworkA,3502,3502,3502,1979-08-04,349.90000000001106,349.91214,2015-01-01 00:58:22,bin3502,35, -CTSPillarNetworkA,3503,3503,3503,1979-08-05,350.0000000000111,350.01215,2015-01-01 00:58:23,bin3503,75, -CTSPillarNetworkA,3504,3504,3504,1979-08-06,350.1000000000111,350.11215,2015-01-01 00:58:24,bin3504,35, -CTSPillarNetworkA,3505,3505,3505,1979-08-07,350.20000000001113,350.21216,2015-01-01 00:58:25,bin3505,75, -CTSPillarNetworkA,3506,3506,3506,1979-08-08,350.30000000001115,350.31216,2015-01-01 00:58:26,bin3506,35, -CTSPillarNetworkA,3507,3507,3507,1979-08-09,350.4000000000112,350.41217,2015-01-01 00:58:27,bin3507,75, -CTSPillarNetworkA,3508,3508,3508,1979-08-10,350.5000000000112,350.51218,2015-01-01 00:58:28,bin3508,35, -CTSPillarNetworkA,3509,3509,3509,1979-08-11,350.6000000000112,350.61218,2015-01-01 00:58:29,bin3509,75, -CTSPillarNetworkA,3510,3510,3510,1979-08-12,350.70000000001124,350.7122,2015-01-01 00:58:30,bin3510,35, -CTSPillarNetworkA,3511,3511,3511,1979-08-13,350.80000000001127,350.8122,2015-01-01 00:58:31,bin3511,75, -CTSPillarNetworkA,3512,3512,3512,1979-08-14,350.9000000000113,350.9122,2015-01-01 00:58:32,bin3512,35, -CTSPillarNetworkA,3513,3513,3513,1979-08-15,351.0000000000113,351.0122,2015-01-01 00:58:33,bin3513,75, -CTSPillarNetworkA,3514,3514,3514,1979-08-16,351.10000000001133,351.1122,2015-01-01 00:58:34,bin3514,35, -CTSPillarNetworkA,3515,3515,3515,1979-08-17,351.20000000001136,351.21222,2015-01-01 00:58:35,bin3515,75, -CTSPillarNetworkA,3516,3516,3516,1979-08-18,351.3000000000114,351.31223,2015-01-01 00:58:36,bin3516,35, -CTSPillarNetworkA,3517,3517,3517,1979-08-19,351.4000000000114,351.41223,2015-01-01 00:58:37,bin3517,75, -CTSPillarNetworkA,3518,3518,3518,1979-08-20,351.5000000000114,351.51224,2015-01-01 00:58:38,bin3518,35, -CTSPillarNetworkA,3519,3519,3519,1979-08-21,351.60000000001145,351.61224,2015-01-01 00:58:39,bin3519,75, -CTSPillarNetworkA,3520,3520,3520,1979-08-22,351.70000000001147,351.71225,2015-01-01 00:58:40,bin3520,35, -CTSPillarNetworkA,3521,3521,3521,1979-08-23,351.8000000000115,351.81226,2015-01-01 00:58:41,bin3521,75, -CTSPillarNetworkA,3522,3522,3522,1979-08-24,351.9000000000115,351.91226,2015-01-01 00:58:42,bin3522,35, -CTSPillarNetworkA,3523,3523,3523,1979-08-25,352.00000000001154,352.01227,2015-01-01 00:58:43,bin3523,75, -CTSPillarNetworkA,3524,3524,3524,1979-08-26,352.10000000001156,352.11227,2015-01-01 00:58:44,bin3524,35, -CTSPillarNetworkA,3525,3525,3525,1979-08-27,352.2000000000116,352.21228,2015-01-01 00:58:45,bin3525,75, -CTSPillarNetworkA,3526,3526,3526,1979-08-28,352.3000000000116,352.3123,2015-01-01 00:58:46,bin3526,35, -CTSPillarNetworkA,3527,3527,3527,1979-08-29,352.40000000001163,352.4123,2015-01-01 00:58:47,bin3527,75, -CTSPillarNetworkA,3528,3528,3528,1979-08-30,352.50000000001165,352.5123,2015-01-01 00:58:48,bin3528,35, -CTSPillarNetworkA,3529,3529,3529,1979-08-31,352.6000000000117,352.6123,2015-01-01 00:58:49,bin3529,75, -CTSPillarNetworkA,3530,3530,3530,1979-09-01,352.7000000000117,352.7123,2015-01-01 00:58:50,bin3530,35, -CTSPillarNetworkA,3531,3531,3531,1979-09-02,352.8000000000117,352.81232,2015-01-01 00:58:51,bin3531,75, -CTSPillarNetworkA,3532,3532,3532,1979-09-03,352.90000000001174,352.91232,2015-01-01 00:58:52,bin3532,35, -CTSPillarNetworkA,3533,3533,3533,1979-09-04,353.00000000001177,353.01233,2015-01-01 00:58:53,bin3533,75, -CTSPillarNetworkA,3534,3534,3534,1979-09-05,353.1000000000118,353.11234,2015-01-01 00:58:54,bin3534,35, -CTSPillarNetworkA,3535,3535,3535,1979-09-06,353.2000000000118,353.21234,2015-01-01 00:58:55,bin3535,75, -CTSPillarNetworkA,3536,3536,3536,1979-09-07,353.30000000001183,353.31235,2015-01-01 00:58:56,bin3536,35, -CTSPillarNetworkA,3537,3537,3537,1979-09-08,353.40000000001186,353.41235,2015-01-01 00:58:57,bin3537,75, -CTSPillarNetworkA,3538,3538,3538,1979-09-09,353.5000000000119,353.51236,2015-01-01 00:58:58,bin3538,35, -CTSPillarNetworkA,3539,3539,3539,1979-09-10,353.6000000000119,353.61237,2015-01-01 00:58:59,bin3539,75, -CTSPillarNetworkA,3540,3540,3540,1979-09-11,353.7000000000119,353.71237,2015-01-01 00:59:00,bin3540,35, -CTSPillarNetworkA,3541,3541,3541,1979-09-12,353.80000000001195,353.81238,2015-01-01 00:59:01,bin3541,75, -CTSPillarNetworkA,3542,3542,3542,1979-09-13,353.90000000001197,353.91238,2015-01-01 00:59:02,bin3542,35, -CTSPillarNetworkA,3543,3543,3543,1979-09-14,354.000000000012,354.0124,2015-01-01 00:59:03,bin3543,75, -CTSPillarNetworkA,3544,3544,3544,1979-09-15,354.100000000012,354.1124,2015-01-01 00:59:04,bin3544,35, -CTSPillarNetworkA,3545,3545,3545,1979-09-16,354.20000000001204,354.2124,2015-01-01 00:59:05,bin3545,75, -CTSPillarNetworkA,3546,3546,3546,1979-09-17,354.30000000001206,354.3124,2015-01-01 00:59:06,bin3546,35, -CTSPillarNetworkA,3547,3547,3547,1979-09-18,354.4000000000121,354.4124,2015-01-01 00:59:07,bin3547,75, -CTSPillarNetworkA,3548,3548,3548,1979-09-19,354.5000000000121,354.51242,2015-01-01 00:59:08,bin3548,35, -CTSPillarNetworkA,3549,3549,3549,1979-09-20,354.60000000001213,354.61243,2015-01-01 00:59:09,bin3549,75, -CTSPillarNetworkA,3550,3550,3550,1979-09-21,354.70000000001215,354.71243,2015-01-01 00:59:10,bin3550,35, -CTSPillarNetworkA,3551,3551,3551,1979-09-22,354.8000000000122,354.81244,2015-01-01 00:59:11,bin3551,75, -CTSPillarNetworkA,3552,3552,3552,1979-09-23,354.9000000000122,354.91245,2015-01-01 00:59:12,bin3552,35, -CTSPillarNetworkA,3553,3553,3553,1979-09-24,355.0000000000122,355.01245,2015-01-01 00:59:13,bin3553,75, -CTSPillarNetworkA,3554,3554,3554,1979-09-25,355.10000000001224,355.11246,2015-01-01 00:59:14,bin3554,35, -CTSPillarNetworkA,3555,3555,3555,1979-09-26,355.20000000001227,355.21246,2015-01-01 00:59:15,bin3555,75, -CTSPillarNetworkA,3556,3556,3556,1979-09-27,355.3000000000123,355.31247,2015-01-01 00:59:16,bin3556,35, -CTSPillarNetworkA,3557,3557,3557,1979-09-28,355.4000000000123,355.41248,2015-01-01 00:59:17,bin3557,75, -CTSPillarNetworkA,3558,3558,3558,1979-09-29,355.50000000001234,355.51248,2015-01-01 00:59:18,bin3558,35, -CTSPillarNetworkA,3559,3559,3559,1979-09-30,355.60000000001236,355.6125,2015-01-01 00:59:19,bin3559,75, -CTSPillarNetworkA,3560,3560,3560,1979-10-01,355.7000000000124,355.7125,2015-01-01 00:59:20,bin3560,35, -CTSPillarNetworkA,3561,3561,3561,1979-10-02,355.8000000000124,355.8125,2015-01-01 00:59:21,bin3561,75, -CTSPillarNetworkA,3562,3562,3562,1979-10-03,355.9000000000124,355.9125,2015-01-01 00:59:22,bin3562,35, -CTSPillarNetworkA,3563,3563,3563,1979-10-04,356.00000000001245,356.0125,2015-01-01 00:59:23,bin3563,75, -CTSPillarNetworkA,3564,3564,3564,1979-10-05,356.10000000001247,356.11252,2015-01-01 00:59:24,bin3564,35, -CTSPillarNetworkA,3565,3565,3565,1979-10-06,356.2000000000125,356.21252,2015-01-01 00:59:25,bin3565,75, -CTSPillarNetworkA,3566,3566,3566,1979-10-07,356.3000000000125,356.31253,2015-01-01 00:59:26,bin3566,35, -CTSPillarNetworkA,3567,3567,3567,1979-10-08,356.40000000001254,356.41254,2015-01-01 00:59:27,bin3567,75, -CTSPillarNetworkA,3568,3568,3568,1979-10-09,356.50000000001256,356.51254,2015-01-01 00:59:28,bin3568,35, -CTSPillarNetworkA,3569,3569,3569,1979-10-10,356.6000000000126,356.61255,2015-01-01 00:59:29,bin3569,75, -CTSPillarNetworkA,3570,3570,3570,1979-10-11,356.7000000000126,356.71255,2015-01-01 00:59:30,bin3570,35, -CTSPillarNetworkA,3571,3571,3571,1979-10-12,356.80000000001263,356.81256,2015-01-01 00:59:31,bin3571,75, -CTSPillarNetworkA,3572,3572,3572,1979-10-13,356.90000000001265,356.91257,2015-01-01 00:59:32,bin3572,35, -CTSPillarNetworkA,3573,3573,3573,1979-10-14,357.0000000000127,357.01257,2015-01-01 00:59:33,bin3573,75, -CTSPillarNetworkA,3574,3574,3574,1979-10-15,357.1000000000127,357.11258,2015-01-01 00:59:34,bin3574,35, -CTSPillarNetworkA,3575,3575,3575,1979-10-16,357.2000000000127,357.2126,2015-01-01 00:59:35,bin3575,75, -CTSPillarNetworkA,3576,3576,3576,1979-10-17,357.30000000001274,357.3126,2015-01-01 00:59:36,bin3576,35, -CTSPillarNetworkA,3577,3577,3577,1979-10-18,357.40000000001277,357.4126,2015-01-01 00:59:37,bin3577,75, -CTSPillarNetworkA,3578,3578,3578,1979-10-19,357.5000000000128,357.5126,2015-01-01 00:59:38,bin3578,35, -CTSPillarNetworkA,3579,3579,3579,1979-10-20,357.6000000000128,357.6126,2015-01-01 00:59:39,bin3579,75, -CTSPillarNetworkA,3580,3580,3580,1979-10-21,357.70000000001284,357.71262,2015-01-01 00:59:40,bin3580,35, -CTSPillarNetworkA,3581,3581,3581,1979-10-22,357.80000000001286,357.81262,2015-01-01 00:59:41,bin3581,75, -CTSPillarNetworkA,3582,3582,3582,1979-10-23,357.9000000000129,357.91263,2015-01-01 00:59:42,bin3582,35, -CTSPillarNetworkA,3583,3583,3583,1979-10-24,358.0000000000129,358.01263,2015-01-01 00:59:43,bin3583,75, -CTSPillarNetworkA,3584,3584,3584,1979-10-25,358.1000000000129,358.11264,2015-01-01 00:59:44,bin3584,35, -CTSPillarNetworkA,3585,3585,3585,1979-10-26,358.20000000001295,358.21265,2015-01-01 00:59:45,bin3585,75, -CTSPillarNetworkA,3586,3586,3586,1979-10-27,358.300000000013,358.31265,2015-01-01 00:59:46,bin3586,35, -CTSPillarNetworkA,3587,3587,3587,1979-10-28,358.400000000013,358.41266,2015-01-01 00:59:47,bin3587,75, -CTSPillarNetworkA,3588,3588,3588,1979-10-29,358.500000000013,358.51266,2015-01-01 00:59:48,bin3588,35, -CTSPillarNetworkA,3589,3589,3589,1979-10-30,358.60000000001304,358.61267,2015-01-01 00:59:49,bin3589,75, -CTSPillarNetworkA,3590,3590,3590,1979-10-31,358.70000000001306,358.71268,2015-01-01 00:59:50,bin3590,35, -CTSPillarNetworkA,3591,3591,3591,1979-11-01,358.8000000000131,358.81268,2015-01-01 00:59:51,bin3591,75, -CTSPillarNetworkA,3592,3592,3592,1979-11-02,358.9000000000131,358.9127,2015-01-01 00:59:52,bin3592,35, -CTSPillarNetworkA,3593,3593,3593,1979-11-03,359.00000000001313,359.0127,2015-01-01 00:59:53,bin3593,75, -CTSPillarNetworkA,3594,3594,3594,1979-11-04,359.10000000001315,359.1127,2015-01-01 00:59:54,bin3594,35, -CTSPillarNetworkA,3595,3595,3595,1979-11-05,359.2000000000132,359.2127,2015-01-01 00:59:55,bin3595,75, -CTSPillarNetworkA,3596,3596,3596,1979-11-06,359.3000000000132,359.3127,2015-01-01 00:59:56,bin3596,35, -CTSPillarNetworkA,3597,3597,3597,1979-11-07,359.4000000000132,359.41272,2015-01-01 00:59:57,bin3597,75, -CTSPillarNetworkA,3598,3598,3598,1979-11-08,359.50000000001324,359.51273,2015-01-01 00:59:58,bin3598,35, -CTSPillarNetworkA,3599,3599,3599,1979-11-09,359.60000000001327,359.61273,2015-01-01 00:59:59,bin3599,75, -CTSPillarNetworkA,3600,3600,3600,1979-11-10,359.7000000000133,359.71274,2015-01-01 01:00:00,bin3600,35, -CTSPillarNetworkA,3601,3601,3601,1979-11-11,359.8000000000133,359.81274,2015-01-01 01:00:01,bin3601,75, -CTSPillarNetworkA,3602,3602,3602,1979-11-12,359.90000000001334,359.91275,2015-01-01 01:00:02,bin3602,35, -CTSPillarNetworkA,3603,3603,3603,1979-11-13,360.00000000001336,360.01276,2015-01-01 01:00:03,bin3603,75, -CTSPillarNetworkA,3604,3604,3604,1979-11-14,360.1000000000134,360.11276,2015-01-01 01:00:04,bin3604,35, -CTSPillarNetworkA,3605,3605,3605,1979-11-15,360.2000000000134,360.21277,2015-01-01 01:00:05,bin3605,75, -CTSPillarNetworkA,3606,3606,3606,1979-11-16,360.3000000000134,360.31277,2015-01-01 01:00:06,bin3606,35, -CTSPillarNetworkA,3607,3607,3607,1979-11-17,360.40000000001345,360.41278,2015-01-01 01:00:07,bin3607,75, -CTSPillarNetworkA,3608,3608,3608,1979-11-18,360.5000000000135,360.5128,2015-01-01 01:00:08,bin3608,35, -CTSPillarNetworkA,3609,3609,3609,1979-11-19,360.6000000000135,360.6128,2015-01-01 01:00:09,bin3609,75, -CTSPillarNetworkA,3610,3610,3610,1979-11-20,360.7000000000135,360.7128,2015-01-01 01:00:10,bin3610,35, -CTSPillarNetworkA,3611,3611,3611,1979-11-21,360.80000000001354,360.8128,2015-01-01 01:00:11,bin3611,75, -CTSPillarNetworkA,3612,3612,3612,1979-11-22,360.90000000001356,360.9128,2015-01-01 01:00:12,bin3612,35, -CTSPillarNetworkA,3613,3613,3613,1979-11-23,361.0000000000136,361.01282,2015-01-01 01:00:13,bin3613,75, -CTSPillarNetworkA,3614,3614,3614,1979-11-24,361.1000000000136,361.11282,2015-01-01 01:00:14,bin3614,35, -CTSPillarNetworkA,3615,3615,3615,1979-11-25,361.20000000001363,361.21283,2015-01-01 01:00:15,bin3615,75, -CTSPillarNetworkA,3616,3616,3616,1979-11-26,361.30000000001365,361.31284,2015-01-01 01:00:16,bin3616,35, -CTSPillarNetworkA,3617,3617,3617,1979-11-27,361.4000000000137,361.41284,2015-01-01 01:00:17,bin3617,75, -CTSPillarNetworkA,3618,3618,3618,1979-11-28,361.5000000000137,361.51285,2015-01-01 01:00:18,bin3618,35, -CTSPillarNetworkA,3619,3619,3619,1979-11-29,361.6000000000137,361.61285,2015-01-01 01:00:19,bin3619,75, -CTSPillarNetworkA,3620,3620,3620,1979-11-30,361.70000000001374,361.71286,2015-01-01 01:00:20,bin3620,35, -CTSPillarNetworkA,3621,3621,3621,1979-12-01,361.80000000001377,361.81287,2015-01-01 01:00:21,bin3621,75, -CTSPillarNetworkA,3622,3622,3622,1979-12-02,361.9000000000138,361.91287,2015-01-01 01:00:22,bin3622,35, -CTSPillarNetworkA,3623,3623,3623,1979-12-03,362.0000000000138,362.01288,2015-01-01 01:00:23,bin3623,75, -CTSPillarNetworkA,3624,3624,3624,1979-12-04,362.10000000001384,362.11288,2015-01-01 01:00:24,bin3624,35, -CTSPillarNetworkA,3625,3625,3625,1979-12-05,362.20000000001386,362.2129,2015-01-01 01:00:25,bin3625,75, -CTSPillarNetworkA,3626,3626,3626,1979-12-06,362.3000000000139,362.3129,2015-01-01 01:00:26,bin3626,35, -CTSPillarNetworkA,3627,3627,3627,1979-12-07,362.4000000000139,362.4129,2015-01-01 01:00:27,bin3627,75, -CTSPillarNetworkA,3628,3628,3628,1979-12-08,362.5000000000139,362.5129,2015-01-01 01:00:28,bin3628,35, -CTSPillarNetworkA,3629,3629,3629,1979-12-09,362.60000000001395,362.6129,2015-01-01 01:00:29,bin3629,75, -CTSPillarNetworkA,3630,3630,3630,1979-12-10,362.700000000014,362.71292,2015-01-01 01:00:30,bin3630,35, -CTSPillarNetworkA,3631,3631,3631,1979-12-11,362.800000000014,362.81293,2015-01-01 01:00:31,bin3631,75, -CTSPillarNetworkA,3632,3632,3632,1979-12-12,362.900000000014,362.91293,2015-01-01 01:00:32,bin3632,35, -CTSPillarNetworkA,3633,3633,3633,1979-12-13,363.00000000001404,363.01294,2015-01-01 01:00:33,bin3633,75, -CTSPillarNetworkA,3634,3634,3634,1979-12-14,363.10000000001406,363.11295,2015-01-01 01:00:34,bin3634,35, -CTSPillarNetworkA,3635,3635,3635,1979-12-15,363.2000000000141,363.21295,2015-01-01 01:00:35,bin3635,75, -CTSPillarNetworkA,3636,3636,3636,1979-12-16,363.3000000000141,363.31296,2015-01-01 01:00:36,bin3636,35, -CTSPillarNetworkA,3637,3637,3637,1979-12-17,363.40000000001413,363.41296,2015-01-01 01:00:37,bin3637,75, -CTSPillarNetworkA,3638,3638,3638,1979-12-18,363.50000000001415,363.51297,2015-01-01 01:00:38,bin3638,35, -CTSPillarNetworkA,3639,3639,3639,1979-12-19,363.6000000000142,363.61298,2015-01-01 01:00:39,bin3639,75, -CTSPillarNetworkA,3640,3640,3640,1979-12-20,363.7000000000142,363.71298,2015-01-01 01:00:40,bin3640,35, -CTSPillarNetworkA,3641,3641,3641,1979-12-21,363.8000000000142,363.813,2015-01-01 01:00:41,bin3641,75, -CTSPillarNetworkA,3642,3642,3642,1979-12-22,363.90000000001424,363.913,2015-01-01 01:00:42,bin3642,35, -CTSPillarNetworkA,3643,3643,3643,1979-12-23,364.00000000001427,364.013,2015-01-01 01:00:43,bin3643,75, -CTSPillarNetworkA,3644,3644,3644,1979-12-24,364.1000000000143,364.113,2015-01-01 01:00:44,bin3644,35, -CTSPillarNetworkA,3645,3645,3645,1979-12-25,364.2000000000143,364.213,2015-01-01 01:00:45,bin3645,75, -CTSPillarNetworkA,3646,3646,3646,1979-12-26,364.30000000001434,364.31302,2015-01-01 01:00:46,bin3646,35, -CTSPillarNetworkA,3647,3647,3647,1979-12-27,364.40000000001436,364.41302,2015-01-01 01:00:47,bin3647,75, -CTSPillarNetworkA,3648,3648,3648,1979-12-28,364.5000000000144,364.51303,2015-01-01 01:00:48,bin3648,35, -CTSPillarNetworkA,3649,3649,3649,1979-12-29,364.6000000000144,364.61304,2015-01-01 01:00:49,bin3649,75, -CTSPillarNetworkA,3650,3650,3650,1979-12-30,364.7000000000144,364.71304,2015-01-01 01:00:50,bin3650,35, -CTSPillarNetworkA,3651,3651,3651,1979-12-31,364.80000000001445,364.81305,2015-01-01 01:00:51,bin3651,75, -CTSPillarNetworkA,3652,3652,3652,1980-01-01,364.9000000000145,364.91306,2015-01-01 01:00:52,bin3652,35, -CTSPillarNetworkA,3653,3653,3653,1980-01-02,365.0000000000145,365.01306,2015-01-01 01:00:53,bin3653,75, -CTSPillarNetworkA,3654,3654,3654,1980-01-03,365.1000000000145,365.11307,2015-01-01 01:00:54,bin3654,35, -CTSPillarNetworkA,3655,3655,3655,1980-01-04,365.20000000001454,365.21307,2015-01-01 01:00:55,bin3655,75, -CTSPillarNetworkA,3656,3656,3656,1980-01-05,365.30000000001456,365.31308,2015-01-01 01:00:56,bin3656,35, -CTSPillarNetworkA,3657,3657,3657,1980-01-06,365.4000000000146,365.4131,2015-01-01 01:00:57,bin3657,75, -CTSPillarNetworkA,3658,3658,3658,1980-01-07,365.5000000000146,365.5131,2015-01-01 01:00:58,bin3658,35, -CTSPillarNetworkA,3659,3659,3659,1980-01-08,365.60000000001463,365.6131,2015-01-01 01:00:59,bin3659,75, -CTSPillarNetworkA,3660,3660,3660,1980-01-09,365.70000000001465,365.7131,2015-01-01 01:01:00,bin3660,35, -CTSPillarNetworkA,3661,3661,3661,1980-01-10,365.8000000000147,365.8131,2015-01-01 01:01:01,bin3661,75, -CTSPillarNetworkA,3662,3662,3662,1980-01-11,365.9000000000147,365.91312,2015-01-01 01:01:02,bin3662,35, -CTSPillarNetworkA,3663,3663,3663,1980-01-12,366.0000000000147,366.01312,2015-01-01 01:01:03,bin3663,75, -CTSPillarNetworkA,3664,3664,3664,1980-01-13,366.10000000001475,366.11313,2015-01-01 01:01:04,bin3664,35, -CTSPillarNetworkA,3665,3665,3665,1980-01-14,366.20000000001477,366.21313,2015-01-01 01:01:05,bin3665,75, -CTSPillarNetworkA,3666,3666,3666,1980-01-15,366.3000000000148,366.31314,2015-01-01 01:01:06,bin3666,35, -CTSPillarNetworkA,3667,3667,3667,1980-01-16,366.4000000000148,366.41315,2015-01-01 01:01:07,bin3667,75, -CTSPillarNetworkA,3668,3668,3668,1980-01-17,366.50000000001484,366.51315,2015-01-01 01:01:08,bin3668,35, -CTSPillarNetworkA,3669,3669,3669,1980-01-18,366.60000000001486,366.61316,2015-01-01 01:01:09,bin3669,75, -CTSPillarNetworkA,3670,3670,3670,1980-01-19,366.7000000000149,366.71317,2015-01-01 01:01:10,bin3670,35, -CTSPillarNetworkA,3671,3671,3671,1980-01-20,366.8000000000149,366.81317,2015-01-01 01:01:11,bin3671,75, -CTSPillarNetworkA,3672,3672,3672,1980-01-21,366.9000000000149,366.91318,2015-01-01 01:01:12,bin3672,35, -CTSPillarNetworkA,3673,3673,3673,1980-01-22,367.00000000001495,367.01318,2015-01-01 01:01:13,bin3673,75, -CTSPillarNetworkA,3674,3674,3674,1980-01-23,367.100000000015,367.1132,2015-01-01 01:01:14,bin3674,35, -CTSPillarNetworkA,3675,3675,3675,1980-01-24,367.200000000015,367.2132,2015-01-01 01:01:15,bin3675,75, -CTSPillarNetworkA,3676,3676,3676,1980-01-25,367.300000000015,367.3132,2015-01-01 01:01:16,bin3676,35, -CTSPillarNetworkA,3677,3677,3677,1980-01-26,367.40000000001504,367.4132,2015-01-01 01:01:17,bin3677,75, -CTSPillarNetworkA,3678,3678,3678,1980-01-27,367.50000000001506,367.5132,2015-01-01 01:01:18,bin3678,35, -CTSPillarNetworkA,3679,3679,3679,1980-01-28,367.6000000000151,367.61322,2015-01-01 01:01:19,bin3679,75, -CTSPillarNetworkA,3680,3680,3680,1980-01-29,367.7000000000151,367.71323,2015-01-01 01:01:20,bin3680,35, -CTSPillarNetworkA,3681,3681,3681,1980-01-30,367.80000000001513,367.81323,2015-01-01 01:01:21,bin3681,75, -CTSPillarNetworkA,3682,3682,3682,1980-01-31,367.90000000001515,367.91324,2015-01-01 01:01:22,bin3682,35, -CTSPillarNetworkA,3683,3683,3683,1980-02-01,368.0000000000152,368.01324,2015-01-01 01:01:23,bin3683,75, -CTSPillarNetworkA,3684,3684,3684,1980-02-02,368.1000000000152,368.11325,2015-01-01 01:01:24,bin3684,35, -CTSPillarNetworkA,3685,3685,3685,1980-02-03,368.2000000000152,368.21326,2015-01-01 01:01:25,bin3685,75, -CTSPillarNetworkA,3686,3686,3686,1980-02-04,368.30000000001525,368.31326,2015-01-01 01:01:26,bin3686,35, -CTSPillarNetworkA,3687,3687,3687,1980-02-05,368.40000000001527,368.41327,2015-01-01 01:01:27,bin3687,75, -CTSPillarNetworkA,3688,3688,3688,1980-02-06,368.5000000000153,368.51328,2015-01-01 01:01:28,bin3688,35, -CTSPillarNetworkA,3689,3689,3689,1980-02-07,368.6000000000153,368.61328,2015-01-01 01:01:29,bin3689,75, -CTSPillarNetworkA,3690,3690,3690,1980-02-08,368.70000000001534,368.7133,2015-01-01 01:01:30,bin3690,35, -CTSPillarNetworkA,3691,3691,3691,1980-02-09,368.80000000001536,368.8133,2015-01-01 01:01:31,bin3691,75, -CTSPillarNetworkA,3692,3692,3692,1980-02-10,368.9000000000154,368.9133,2015-01-01 01:01:32,bin3692,35, -CTSPillarNetworkA,3693,3693,3693,1980-02-11,369.0000000000154,369.0133,2015-01-01 01:01:33,bin3693,75, -CTSPillarNetworkA,3694,3694,3694,1980-02-12,369.1000000000154,369.1133,2015-01-01 01:01:34,bin3694,35, -CTSPillarNetworkA,3695,3695,3695,1980-02-13,369.20000000001545,369.21332,2015-01-01 01:01:35,bin3695,75, -CTSPillarNetworkA,3696,3696,3696,1980-02-14,369.3000000000155,369.31332,2015-01-01 01:01:36,bin3696,35, -CTSPillarNetworkA,3697,3697,3697,1980-02-15,369.4000000000155,369.41333,2015-01-01 01:01:37,bin3697,75, -CTSPillarNetworkA,3698,3698,3698,1980-02-16,369.5000000000155,369.51334,2015-01-01 01:01:38,bin3698,35, -CTSPillarNetworkA,3699,3699,3699,1980-02-17,369.60000000001554,369.61334,2015-01-01 01:01:39,bin3699,75, -CTSPillarNetworkA,3700,3700,3700,1980-02-18,369.70000000001556,369.71335,2015-01-01 01:01:40,bin3700,35, -CTSPillarNetworkA,3701,3701,3701,1980-02-19,369.8000000000156,369.81335,2015-01-01 01:01:41,bin3701,75, -CTSPillarNetworkA,3702,3702,3702,1980-02-20,369.9000000000156,369.91336,2015-01-01 01:01:42,bin3702,35, -CTSPillarNetworkA,3703,3703,3703,1980-02-21,370.00000000001563,370.01337,2015-01-01 01:01:43,bin3703,75, -CTSPillarNetworkA,3704,3704,3704,1980-02-22,370.10000000001565,370.11337,2015-01-01 01:01:44,bin3704,35, -CTSPillarNetworkA,3705,3705,3705,1980-02-23,370.2000000000157,370.21338,2015-01-01 01:01:45,bin3705,75, -CTSPillarNetworkA,3706,3706,3706,1980-02-24,370.3000000000157,370.3134,2015-01-01 01:01:46,bin3706,35, -CTSPillarNetworkA,3707,3707,3707,1980-02-25,370.4000000000157,370.4134,2015-01-01 01:01:47,bin3707,75, -CTSPillarNetworkA,3708,3708,3708,1980-02-26,370.50000000001575,370.5134,2015-01-01 01:01:48,bin3708,35, -CTSPillarNetworkA,3709,3709,3709,1980-02-27,370.60000000001577,370.6134,2015-01-01 01:01:49,bin3709,75, -CTSPillarNetworkA,3710,3710,3710,1980-02-28,370.7000000000158,370.7134,2015-01-01 01:01:50,bin3710,35, -CTSPillarNetworkA,3711,3711,3711,1980-02-29,370.8000000000158,370.81342,2015-01-01 01:01:51,bin3711,75, -CTSPillarNetworkA,3712,3712,3712,1980-03-01,370.90000000001584,370.91342,2015-01-01 01:01:52,bin3712,35, -CTSPillarNetworkA,3713,3713,3713,1980-03-02,371.00000000001586,371.01343,2015-01-01 01:01:53,bin3713,75, -CTSPillarNetworkA,3714,3714,3714,1980-03-03,371.1000000000159,371.11343,2015-01-01 01:01:54,bin3714,35, -CTSPillarNetworkA,3715,3715,3715,1980-03-04,371.2000000000159,371.21344,2015-01-01 01:01:55,bin3715,75, -CTSPillarNetworkA,3716,3716,3716,1980-03-05,371.3000000000159,371.31345,2015-01-01 01:01:56,bin3716,35, -CTSPillarNetworkA,3717,3717,3717,1980-03-06,371.40000000001595,371.41345,2015-01-01 01:01:57,bin3717,75, -CTSPillarNetworkA,3718,3718,3718,1980-03-07,371.500000000016,371.51346,2015-01-01 01:01:58,bin3718,35, -CTSPillarNetworkA,3719,3719,3719,1980-03-08,371.600000000016,371.61346,2015-01-01 01:01:59,bin3719,75, -CTSPillarNetworkA,3720,3720,3720,1980-03-09,371.700000000016,371.71347,2015-01-01 01:02:00,bin3720,35, -CTSPillarNetworkA,3721,3721,3721,1980-03-10,371.80000000001604,371.81348,2015-01-01 01:02:01,bin3721,75, -CTSPillarNetworkA,3722,3722,3722,1980-03-11,371.90000000001606,371.91348,2015-01-01 01:02:02,bin3722,35, -CTSPillarNetworkA,3723,3723,3723,1980-03-12,372.0000000000161,372.0135,2015-01-01 01:02:03,bin3723,75, -CTSPillarNetworkA,3724,3724,3724,1980-03-13,372.1000000000161,372.1135,2015-01-01 01:02:04,bin3724,35, -CTSPillarNetworkA,3725,3725,3725,1980-03-14,372.20000000001613,372.2135,2015-01-01 01:02:05,bin3725,75, -CTSPillarNetworkA,3726,3726,3726,1980-03-15,372.30000000001615,372.3135,2015-01-01 01:02:06,bin3726,35, -CTSPillarNetworkA,3727,3727,3727,1980-03-16,372.4000000000162,372.4135,2015-01-01 01:02:07,bin3727,75, -CTSPillarNetworkA,3728,3728,3728,1980-03-17,372.5000000000162,372.51352,2015-01-01 01:02:08,bin3728,35, -CTSPillarNetworkA,3729,3729,3729,1980-03-18,372.6000000000162,372.61353,2015-01-01 01:02:09,bin3729,75, -CTSPillarNetworkA,3730,3730,3730,1980-03-19,372.70000000001625,372.71353,2015-01-01 01:02:10,bin3730,35, -CTSPillarNetworkA,3731,3731,3731,1980-03-20,372.80000000001627,372.81354,2015-01-01 01:02:11,bin3731,75, -CTSPillarNetworkA,3732,3732,3732,1980-03-21,372.9000000000163,372.91354,2015-01-01 01:02:12,bin3732,35, -CTSPillarNetworkA,3733,3733,3733,1980-03-22,373.0000000000163,373.01355,2015-01-01 01:02:13,bin3733,75, -CTSPillarNetworkA,3734,3734,3734,1980-03-23,373.10000000001634,373.11356,2015-01-01 01:02:14,bin3734,35, -CTSPillarNetworkA,3735,3735,3735,1980-03-24,373.20000000001636,373.21356,2015-01-01 01:02:15,bin3735,75, -CTSPillarNetworkA,3736,3736,3736,1980-03-25,373.3000000000164,373.31357,2015-01-01 01:02:16,bin3736,35, -CTSPillarNetworkA,3737,3737,3737,1980-03-26,373.4000000000164,373.41357,2015-01-01 01:02:17,bin3737,75, -CTSPillarNetworkA,3738,3738,3738,1980-03-27,373.5000000000164,373.51358,2015-01-01 01:02:18,bin3738,35, -CTSPillarNetworkA,3739,3739,3739,1980-03-28,373.60000000001645,373.6136,2015-01-01 01:02:19,bin3739,75, -CTSPillarNetworkA,3740,3740,3740,1980-03-29,373.7000000000165,373.7136,2015-01-01 01:02:20,bin3740,35, -CTSPillarNetworkA,3741,3741,3741,1980-03-30,373.8000000000165,373.8136,2015-01-01 01:02:21,bin3741,75, -CTSPillarNetworkA,3742,3742,3742,1980-03-31,373.9000000000165,373.9136,2015-01-01 01:02:22,bin3742,35, -CTSPillarNetworkA,3743,3743,3743,1980-04-01,374.00000000001654,374.0136,2015-01-01 01:02:23,bin3743,75, -CTSPillarNetworkA,3744,3744,3744,1980-04-02,374.10000000001656,374.11362,2015-01-01 01:02:24,bin3744,35, -CTSPillarNetworkA,3745,3745,3745,1980-04-03,374.2000000000166,374.21362,2015-01-01 01:02:25,bin3745,75, -CTSPillarNetworkA,3746,3746,3746,1980-04-04,374.3000000000166,374.31363,2015-01-01 01:02:26,bin3746,35, -CTSPillarNetworkA,3747,3747,3747,1980-04-05,374.40000000001663,374.41364,2015-01-01 01:02:27,bin3747,75, -CTSPillarNetworkA,3748,3748,3748,1980-04-06,374.50000000001666,374.51364,2015-01-01 01:02:28,bin3748,35, -CTSPillarNetworkA,3749,3749,3749,1980-04-07,374.6000000000167,374.61365,2015-01-01 01:02:29,bin3749,75, -CTSPillarNetworkA,3750,3750,3750,1980-04-08,374.7000000000167,374.71365,2015-01-01 01:02:30,bin3750,35, -CTSPillarNetworkA,3751,3751,3751,1980-04-09,374.8000000000167,374.81366,2015-01-01 01:02:31,bin3751,75, -CTSPillarNetworkA,3752,3752,3752,1980-04-10,374.90000000001675,374.91367,2015-01-01 01:02:32,bin3752,35, -CTSPillarNetworkA,3753,3753,3753,1980-04-11,375.00000000001677,375.01367,2015-01-01 01:02:33,bin3753,75, -CTSPillarNetworkA,3754,3754,3754,1980-04-12,375.1000000000168,375.11368,2015-01-01 01:02:34,bin3754,35, -CTSPillarNetworkA,3755,3755,3755,1980-04-13,375.2000000000168,375.21368,2015-01-01 01:02:35,bin3755,75, -CTSPillarNetworkA,3756,3756,3756,1980-04-14,375.30000000001684,375.3137,2015-01-01 01:02:36,bin3756,35, -CTSPillarNetworkA,3757,3757,3757,1980-04-15,375.40000000001686,375.4137,2015-01-01 01:02:37,bin3757,75, -CTSPillarNetworkA,3758,3758,3758,1980-04-16,375.5000000000169,375.5137,2015-01-01 01:02:38,bin3758,35, -CTSPillarNetworkA,3759,3759,3759,1980-04-17,375.6000000000169,375.6137,2015-01-01 01:02:39,bin3759,75, -CTSPillarNetworkA,3760,3760,3760,1980-04-18,375.7000000000169,375.7137,2015-01-01 01:02:40,bin3760,35, -CTSPillarNetworkA,3761,3761,3761,1980-04-19,375.80000000001695,375.81372,2015-01-01 01:02:41,bin3761,75, -CTSPillarNetworkA,3762,3762,3762,1980-04-20,375.900000000017,375.91373,2015-01-01 01:02:42,bin3762,35, -CTSPillarNetworkA,3763,3763,3763,1980-04-21,376.000000000017,376.01373,2015-01-01 01:02:43,bin3763,75, -CTSPillarNetworkA,3764,3764,3764,1980-04-22,376.100000000017,376.11374,2015-01-01 01:02:44,bin3764,35, -CTSPillarNetworkA,3765,3765,3765,1980-04-23,376.20000000001704,376.21375,2015-01-01 01:02:45,bin3765,75, -CTSPillarNetworkA,3766,3766,3766,1980-04-24,376.30000000001706,376.31375,2015-01-01 01:02:46,bin3766,35, -CTSPillarNetworkA,3767,3767,3767,1980-04-25,376.4000000000171,376.41376,2015-01-01 01:02:47,bin3767,75, -CTSPillarNetworkA,3768,3768,3768,1980-04-26,376.5000000000171,376.51376,2015-01-01 01:02:48,bin3768,35, -CTSPillarNetworkA,3769,3769,3769,1980-04-27,376.60000000001713,376.61377,2015-01-01 01:02:49,bin3769,75, -CTSPillarNetworkA,3770,3770,3770,1980-04-28,376.70000000001716,376.71378,2015-01-01 01:02:50,bin3770,35, -CTSPillarNetworkA,3771,3771,3771,1980-04-29,376.8000000000172,376.81378,2015-01-01 01:02:51,bin3771,75, -CTSPillarNetworkA,3772,3772,3772,1980-04-30,376.9000000000172,376.9138,2015-01-01 01:02:52,bin3772,35, -CTSPillarNetworkA,3773,3773,3773,1980-05-01,377.0000000000172,377.0138,2015-01-01 01:02:53,bin3773,75, -CTSPillarNetworkA,3774,3774,3774,1980-05-02,377.10000000001725,377.1138,2015-01-01 01:02:54,bin3774,35, -CTSPillarNetworkA,3775,3775,3775,1980-05-03,377.20000000001727,377.2138,2015-01-01 01:02:55,bin3775,75, -CTSPillarNetworkA,3776,3776,3776,1980-05-04,377.3000000000173,377.3138,2015-01-01 01:02:56,bin3776,35, -CTSPillarNetworkA,3777,3777,3777,1980-05-05,377.4000000000173,377.41382,2015-01-01 01:02:57,bin3777,75, -CTSPillarNetworkA,3778,3778,3778,1980-05-06,377.50000000001734,377.51382,2015-01-01 01:02:58,bin3778,35, -CTSPillarNetworkA,3779,3779,3779,1980-05-07,377.60000000001736,377.61383,2015-01-01 01:02:59,bin3779,75, -CTSPillarNetworkA,3780,3780,3780,1980-05-08,377.7000000000174,377.71384,2015-01-01 01:03:00,bin3780,35, -CTSPillarNetworkA,3781,3781,3781,1980-05-09,377.8000000000174,377.81384,2015-01-01 01:03:01,bin3781,75, -CTSPillarNetworkA,3782,3782,3782,1980-05-10,377.9000000000174,377.91385,2015-01-01 01:03:02,bin3782,35, -CTSPillarNetworkA,3783,3783,3783,1980-05-11,378.00000000001745,378.01385,2015-01-01 01:03:03,bin3783,75, -CTSPillarNetworkA,3784,3784,3784,1980-05-12,378.1000000000175,378.11386,2015-01-01 01:03:04,bin3784,35, -CTSPillarNetworkA,3785,3785,3785,1980-05-13,378.2000000000175,378.21387,2015-01-01 01:03:05,bin3785,75, -CTSPillarNetworkA,3786,3786,3786,1980-05-14,378.3000000000175,378.31387,2015-01-01 01:03:06,bin3786,35, -CTSPillarNetworkA,3787,3787,3787,1980-05-15,378.40000000001754,378.41388,2015-01-01 01:03:07,bin3787,75, -CTSPillarNetworkA,3788,3788,3788,1980-05-16,378.50000000001756,378.5139,2015-01-01 01:03:08,bin3788,35, -CTSPillarNetworkA,3789,3789,3789,1980-05-17,378.6000000000176,378.6139,2015-01-01 01:03:09,bin3789,75, -CTSPillarNetworkA,3790,3790,3790,1980-05-18,378.7000000000176,378.7139,2015-01-01 01:03:10,bin3790,35, -CTSPillarNetworkA,3791,3791,3791,1980-05-19,378.80000000001763,378.8139,2015-01-01 01:03:11,bin3791,75, -CTSPillarNetworkA,3792,3792,3792,1980-05-20,378.90000000001766,378.9139,2015-01-01 01:03:12,bin3792,35, -CTSPillarNetworkA,3793,3793,3793,1980-05-21,379.0000000000177,379.01392,2015-01-01 01:03:13,bin3793,75, -CTSPillarNetworkA,3794,3794,3794,1980-05-22,379.1000000000177,379.11392,2015-01-01 01:03:14,bin3794,35, -CTSPillarNetworkA,3795,3795,3795,1980-05-23,379.2000000000177,379.21393,2015-01-01 01:03:15,bin3795,75, -CTSPillarNetworkA,3796,3796,3796,1980-05-24,379.30000000001775,379.31393,2015-01-01 01:03:16,bin3796,35, -CTSPillarNetworkA,3797,3797,3797,1980-05-25,379.40000000001777,379.41394,2015-01-01 01:03:17,bin3797,75, -CTSPillarNetworkA,3798,3798,3798,1980-05-26,379.5000000000178,379.51395,2015-01-01 01:03:18,bin3798,35, -CTSPillarNetworkA,3799,3799,3799,1980-05-27,379.6000000000178,379.61395,2015-01-01 01:03:19,bin3799,75, -CTSPillarNetworkA,3800,3800,3800,1980-05-28,379.70000000001784,379.71396,2015-01-01 01:03:20,bin3800,35, -CTSPillarNetworkA,3801,3801,3801,1980-05-29,379.80000000001786,379.81396,2015-01-01 01:03:21,bin3801,75, -CTSPillarNetworkA,3802,3802,3802,1980-05-30,379.9000000000179,379.91397,2015-01-01 01:03:22,bin3802,35, -CTSPillarNetworkA,3803,3803,3803,1980-05-31,380.0000000000179,380.01398,2015-01-01 01:03:23,bin3803,75, -CTSPillarNetworkA,3804,3804,3804,1980-06-01,380.1000000000179,380.11398,2015-01-01 01:03:24,bin3804,35, -CTSPillarNetworkA,3805,3805,3805,1980-06-02,380.20000000001795,380.214,2015-01-01 01:03:25,bin3805,75, -CTSPillarNetworkA,3806,3806,3806,1980-06-03,380.300000000018,380.314,2015-01-01 01:03:26,bin3806,35, -CTSPillarNetworkA,3807,3807,3807,1980-06-04,380.400000000018,380.414,2015-01-01 01:03:27,bin3807,75, -CTSPillarNetworkA,3808,3808,3808,1980-06-05,380.500000000018,380.514,2015-01-01 01:03:28,bin3808,35, -CTSPillarNetworkA,3809,3809,3809,1980-06-06,380.60000000001804,380.614,2015-01-01 01:03:29,bin3809,75, -CTSPillarNetworkA,3810,3810,3810,1980-06-07,380.70000000001806,380.71402,2015-01-01 01:03:30,bin3810,35, -CTSPillarNetworkA,3811,3811,3811,1980-06-08,380.8000000000181,380.81403,2015-01-01 01:03:31,bin3811,75, -CTSPillarNetworkA,3812,3812,3812,1980-06-09,380.9000000000181,380.91403,2015-01-01 01:03:32,bin3812,35, -CTSPillarNetworkA,3813,3813,3813,1980-06-10,381.00000000001813,381.01404,2015-01-01 01:03:33,bin3813,75, -CTSPillarNetworkA,3814,3814,3814,1980-06-11,381.10000000001816,381.11404,2015-01-01 01:03:34,bin3814,35, -CTSPillarNetworkA,3815,3815,3815,1980-06-12,381.2000000000182,381.21405,2015-01-01 01:03:35,bin3815,75, -CTSPillarNetworkA,3816,3816,3816,1980-06-13,381.3000000000182,381.31406,2015-01-01 01:03:36,bin3816,35, -CTSPillarNetworkA,3817,3817,3817,1980-06-14,381.4000000000182,381.41406,2015-01-01 01:03:37,bin3817,75, -CTSPillarNetworkA,3818,3818,3818,1980-06-15,381.50000000001825,381.51407,2015-01-01 01:03:38,bin3818,35, -CTSPillarNetworkA,3819,3819,3819,1980-06-16,381.60000000001827,381.61407,2015-01-01 01:03:39,bin3819,75, -CTSPillarNetworkA,3820,3820,3820,1980-06-17,381.7000000000183,381.71408,2015-01-01 01:03:40,bin3820,35, -CTSPillarNetworkA,3821,3821,3821,1980-06-18,381.8000000000183,381.8141,2015-01-01 01:03:41,bin3821,75, -CTSPillarNetworkA,3822,3822,3822,1980-06-19,381.90000000001834,381.9141,2015-01-01 01:03:42,bin3822,35, -CTSPillarNetworkA,3823,3823,3823,1980-06-20,382.00000000001836,382.0141,2015-01-01 01:03:43,bin3823,75, -CTSPillarNetworkA,3824,3824,3824,1980-06-21,382.1000000000184,382.1141,2015-01-01 01:03:44,bin3824,35, -CTSPillarNetworkA,3825,3825,3825,1980-06-22,382.2000000000184,382.2141,2015-01-01 01:03:45,bin3825,75, -CTSPillarNetworkA,3826,3826,3826,1980-06-23,382.30000000001843,382.31412,2015-01-01 01:03:46,bin3826,35, -CTSPillarNetworkA,3827,3827,3827,1980-06-24,382.40000000001845,382.41412,2015-01-01 01:03:47,bin3827,75, -CTSPillarNetworkA,3828,3828,3828,1980-06-25,382.5000000000185,382.51413,2015-01-01 01:03:48,bin3828,35, -CTSPillarNetworkA,3829,3829,3829,1980-06-26,382.6000000000185,382.61414,2015-01-01 01:03:49,bin3829,75, -CTSPillarNetworkA,3830,3830,3830,1980-06-27,382.7000000000185,382.71414,2015-01-01 01:03:50,bin3830,35, -CTSPillarNetworkA,3831,3831,3831,1980-06-28,382.80000000001854,382.81415,2015-01-01 01:03:51,bin3831,75, -CTSPillarNetworkA,3832,3832,3832,1980-06-29,382.90000000001857,382.91415,2015-01-01 01:03:52,bin3832,35, -CTSPillarNetworkA,3833,3833,3833,1980-06-30,383.0000000000186,383.01416,2015-01-01 01:03:53,bin3833,75, -CTSPillarNetworkA,3834,3834,3834,1980-07-01,383.1000000000186,383.11417,2015-01-01 01:03:54,bin3834,35, -CTSPillarNetworkA,3835,3835,3835,1980-07-02,383.20000000001863,383.21417,2015-01-01 01:03:55,bin3835,75, -CTSPillarNetworkA,3836,3836,3836,1980-07-03,383.30000000001866,383.31418,2015-01-01 01:03:56,bin3836,35, -CTSPillarNetworkA,3837,3837,3837,1980-07-04,383.4000000000187,383.41418,2015-01-01 01:03:57,bin3837,75, -CTSPillarNetworkA,3838,3838,3838,1980-07-05,383.5000000000187,383.5142,2015-01-01 01:03:58,bin3838,35, -CTSPillarNetworkA,3839,3839,3839,1980-07-06,383.6000000000187,383.6142,2015-01-01 01:03:59,bin3839,75, -CTSPillarNetworkA,3840,3840,3840,1980-07-07,383.70000000001875,383.7142,2015-01-01 01:04:00,bin3840,35, -CTSPillarNetworkA,3841,3841,3841,1980-07-08,383.80000000001877,383.8142,2015-01-01 01:04:01,bin3841,75, -CTSPillarNetworkA,3842,3842,3842,1980-07-09,383.9000000000188,383.9142,2015-01-01 01:04:02,bin3842,35, -CTSPillarNetworkA,3843,3843,3843,1980-07-10,384.0000000000188,384.01422,2015-01-01 01:04:03,bin3843,75, -CTSPillarNetworkA,3844,3844,3844,1980-07-11,384.10000000001884,384.11423,2015-01-01 01:04:04,bin3844,35, -CTSPillarNetworkA,3845,3845,3845,1980-07-12,384.20000000001886,384.21423,2015-01-01 01:04:05,bin3845,75, -CTSPillarNetworkA,3846,3846,3846,1980-07-13,384.3000000000189,384.31424,2015-01-01 01:04:06,bin3846,35, -CTSPillarNetworkA,3847,3847,3847,1980-07-14,384.4000000000189,384.41425,2015-01-01 01:04:07,bin3847,75, -CTSPillarNetworkA,3848,3848,3848,1980-07-15,384.50000000001893,384.51425,2015-01-01 01:04:08,bin3848,35, -CTSPillarNetworkA,3849,3849,3849,1980-07-16,384.60000000001895,384.61426,2015-01-01 01:04:09,bin3849,75, -CTSPillarNetworkA,3850,3850,3850,1980-07-17,384.700000000019,384.71426,2015-01-01 01:04:10,bin3850,35, -CTSPillarNetworkA,3851,3851,3851,1980-07-18,384.800000000019,384.81427,2015-01-01 01:04:11,bin3851,75, -CTSPillarNetworkA,3852,3852,3852,1980-07-19,384.900000000019,384.91428,2015-01-01 01:04:12,bin3852,35, -CTSPillarNetworkA,3853,3853,3853,1980-07-20,385.00000000001904,385.01428,2015-01-01 01:04:13,bin3853,75, -CTSPillarNetworkA,3854,3854,3854,1980-07-21,385.10000000001907,385.1143,2015-01-01 01:04:14,bin3854,35, -CTSPillarNetworkA,3855,3855,3855,1980-07-22,385.2000000000191,385.2143,2015-01-01 01:04:15,bin3855,75, -CTSPillarNetworkA,3856,3856,3856,1980-07-23,385.3000000000191,385.3143,2015-01-01 01:04:16,bin3856,35, -CTSPillarNetworkA,3857,3857,3857,1980-07-24,385.40000000001913,385.4143,2015-01-01 01:04:17,bin3857,75, -CTSPillarNetworkA,3858,3858,3858,1980-07-25,385.50000000001916,385.5143,2015-01-01 01:04:18,bin3858,35, -CTSPillarNetworkA,3859,3859,3859,1980-07-26,385.6000000000192,385.61432,2015-01-01 01:04:19,bin3859,75, -CTSPillarNetworkA,3860,3860,3860,1980-07-27,385.7000000000192,385.71432,2015-01-01 01:04:20,bin3860,35, -CTSPillarNetworkA,3861,3861,3861,1980-07-28,385.8000000000192,385.81433,2015-01-01 01:04:21,bin3861,75, -CTSPillarNetworkA,3862,3862,3862,1980-07-29,385.90000000001925,385.91434,2015-01-01 01:04:22,bin3862,35, -CTSPillarNetworkA,3863,3863,3863,1980-07-30,386.00000000001927,386.01434,2015-01-01 01:04:23,bin3863,75, -CTSPillarNetworkA,3864,3864,3864,1980-07-31,386.1000000000193,386.11435,2015-01-01 01:04:24,bin3864,35, -CTSPillarNetworkA,3865,3865,3865,1980-08-01,386.2000000000193,386.21436,2015-01-01 01:04:25,bin3865,75, -CTSPillarNetworkA,3866,3866,3866,1980-08-02,386.30000000001934,386.31436,2015-01-01 01:04:26,bin3866,35, -CTSPillarNetworkA,3867,3867,3867,1980-08-03,386.40000000001936,386.41437,2015-01-01 01:04:27,bin3867,75, -CTSPillarNetworkA,3868,3868,3868,1980-08-04,386.5000000000194,386.51437,2015-01-01 01:04:28,bin3868,35, -CTSPillarNetworkA,3869,3869,3869,1980-08-05,386.6000000000194,386.61438,2015-01-01 01:04:29,bin3869,75, -CTSPillarNetworkA,3870,3870,3870,1980-08-06,386.70000000001943,386.7144,2015-01-01 01:04:30,bin3870,35, -CTSPillarNetworkA,3871,3871,3871,1980-08-07,386.80000000001945,386.8144,2015-01-01 01:04:31,bin3871,75, -CTSPillarNetworkA,3872,3872,3872,1980-08-08,386.9000000000195,386.9144,2015-01-01 01:04:32,bin3872,35, -CTSPillarNetworkA,3873,3873,3873,1980-08-09,387.0000000000195,387.0144,2015-01-01 01:04:33,bin3873,75, -CTSPillarNetworkA,3874,3874,3874,1980-08-10,387.1000000000195,387.1144,2015-01-01 01:04:34,bin3874,35, -CTSPillarNetworkA,3875,3875,3875,1980-08-11,387.20000000001954,387.21442,2015-01-01 01:04:35,bin3875,75, -CTSPillarNetworkA,3876,3876,3876,1980-08-12,387.30000000001957,387.31442,2015-01-01 01:04:36,bin3876,35, -CTSPillarNetworkA,3877,3877,3877,1980-08-13,387.4000000000196,387.41443,2015-01-01 01:04:37,bin3877,75, -CTSPillarNetworkA,3878,3878,3878,1980-08-14,387.5000000000196,387.51443,2015-01-01 01:04:38,bin3878,35, -CTSPillarNetworkA,3879,3879,3879,1980-08-15,387.60000000001963,387.61444,2015-01-01 01:04:39,bin3879,75, -CTSPillarNetworkA,3880,3880,3880,1980-08-16,387.70000000001966,387.71445,2015-01-01 01:04:40,bin3880,35, -CTSPillarNetworkA,3881,3881,3881,1980-08-17,387.8000000000197,387.81445,2015-01-01 01:04:41,bin3881,75, -CTSPillarNetworkA,3882,3882,3882,1980-08-18,387.9000000000197,387.91446,2015-01-01 01:04:42,bin3882,35, -CTSPillarNetworkA,3883,3883,3883,1980-08-19,388.0000000000197,388.01447,2015-01-01 01:04:43,bin3883,75, -CTSPillarNetworkA,3884,3884,3884,1980-08-20,388.10000000001975,388.11447,2015-01-01 01:04:44,bin3884,35, -CTSPillarNetworkA,3885,3885,3885,1980-08-21,388.20000000001977,388.21448,2015-01-01 01:04:45,bin3885,75, -CTSPillarNetworkA,3886,3886,3886,1980-08-22,388.3000000000198,388.31448,2015-01-01 01:04:46,bin3886,35, -CTSPillarNetworkA,3887,3887,3887,1980-08-23,388.4000000000198,388.4145,2015-01-01 01:04:47,bin3887,75, -CTSPillarNetworkA,3888,3888,3888,1980-08-24,388.50000000001984,388.5145,2015-01-01 01:04:48,bin3888,35, -CTSPillarNetworkA,3889,3889,3889,1980-08-25,388.60000000001986,388.6145,2015-01-01 01:04:49,bin3889,75, -CTSPillarNetworkA,3890,3890,3890,1980-08-26,388.7000000000199,388.7145,2015-01-01 01:04:50,bin3890,35, -CTSPillarNetworkA,3891,3891,3891,1980-08-27,388.8000000000199,388.8145,2015-01-01 01:04:51,bin3891,75, -CTSPillarNetworkA,3892,3892,3892,1980-08-28,388.90000000001993,388.91452,2015-01-01 01:04:52,bin3892,35, -CTSPillarNetworkA,3893,3893,3893,1980-08-29,389.00000000001995,389.01453,2015-01-01 01:04:53,bin3893,75, -CTSPillarNetworkA,3894,3894,3894,1980-08-30,389.10000000002,389.11453,2015-01-01 01:04:54,bin3894,35, -CTSPillarNetworkA,3895,3895,3895,1980-08-31,389.20000000002,389.21454,2015-01-01 01:04:55,bin3895,75, -CTSPillarNetworkA,3896,3896,3896,1980-09-01,389.30000000002,389.31454,2015-01-01 01:04:56,bin3896,35, -CTSPillarNetworkA,3897,3897,3897,1980-09-02,389.40000000002004,389.41455,2015-01-01 01:04:57,bin3897,75, -CTSPillarNetworkA,3898,3898,3898,1980-09-03,389.50000000002007,389.51456,2015-01-01 01:04:58,bin3898,35, -CTSPillarNetworkA,3899,3899,3899,1980-09-04,389.6000000000201,389.61456,2015-01-01 01:04:59,bin3899,75, -CTSPillarNetworkA,3900,3900,3900,1980-09-05,389.7000000000201,389.71457,2015-01-01 01:05:00,bin3900,35, -CTSPillarNetworkA,3901,3901,3901,1980-09-06,389.80000000002013,389.81458,2015-01-01 01:05:01,bin3901,75, -CTSPillarNetworkA,3902,3902,3902,1980-09-07,389.90000000002016,389.91458,2015-01-01 01:05:02,bin3902,35, -CTSPillarNetworkA,3903,3903,3903,1980-09-08,390.0000000000202,390.0146,2015-01-01 01:05:03,bin3903,75, -CTSPillarNetworkA,3904,3904,3904,1980-09-09,390.1000000000202,390.1146,2015-01-01 01:05:04,bin3904,35, -CTSPillarNetworkA,3905,3905,3905,1980-09-10,390.2000000000202,390.2146,2015-01-01 01:05:05,bin3905,75, -CTSPillarNetworkA,3906,3906,3906,1980-09-11,390.30000000002025,390.3146,2015-01-01 01:05:06,bin3906,35, -CTSPillarNetworkA,3907,3907,3907,1980-09-12,390.40000000002027,390.4146,2015-01-01 01:05:07,bin3907,75, -CTSPillarNetworkA,3908,3908,3908,1980-09-13,390.5000000000203,390.51462,2015-01-01 01:05:08,bin3908,35, -CTSPillarNetworkA,3909,3909,3909,1980-09-14,390.6000000000203,390.61462,2015-01-01 01:05:09,bin3909,75, -CTSPillarNetworkA,3910,3910,3910,1980-09-15,390.70000000002034,390.71463,2015-01-01 01:05:10,bin3910,35, -CTSPillarNetworkA,3911,3911,3911,1980-09-16,390.80000000002036,390.81464,2015-01-01 01:05:11,bin3911,75, -CTSPillarNetworkA,3912,3912,3912,1980-09-17,390.9000000000204,390.91464,2015-01-01 01:05:12,bin3912,35, -CTSPillarNetworkA,3913,3913,3913,1980-09-18,391.0000000000204,391.01465,2015-01-01 01:05:13,bin3913,75, -CTSPillarNetworkA,3914,3914,3914,1980-09-19,391.10000000002043,391.11465,2015-01-01 01:05:14,bin3914,35, -CTSPillarNetworkA,3915,3915,3915,1980-09-20,391.20000000002045,391.21466,2015-01-01 01:05:15,bin3915,75, -CTSPillarNetworkA,3916,3916,3916,1980-09-21,391.3000000000205,391.31467,2015-01-01 01:05:16,bin3916,35, -CTSPillarNetworkA,3917,3917,3917,1980-09-22,391.4000000000205,391.41467,2015-01-01 01:05:17,bin3917,75, -CTSPillarNetworkA,3918,3918,3918,1980-09-23,391.5000000000205,391.51468,2015-01-01 01:05:18,bin3918,35, -CTSPillarNetworkA,3919,3919,3919,1980-09-24,391.60000000002054,391.6147,2015-01-01 01:05:19,bin3919,75, -CTSPillarNetworkA,3920,3920,3920,1980-09-25,391.70000000002057,391.7147,2015-01-01 01:05:20,bin3920,35, -CTSPillarNetworkA,3921,3921,3921,1980-09-26,391.8000000000206,391.8147,2015-01-01 01:05:21,bin3921,75, -CTSPillarNetworkA,3922,3922,3922,1980-09-27,391.9000000000206,391.9147,2015-01-01 01:05:22,bin3922,35, -CTSPillarNetworkA,3923,3923,3923,1980-09-28,392.00000000002063,392.0147,2015-01-01 01:05:23,bin3923,75, -CTSPillarNetworkA,3924,3924,3924,1980-09-29,392.10000000002066,392.11472,2015-01-01 01:05:24,bin3924,35, -CTSPillarNetworkA,3925,3925,3925,1980-09-30,392.2000000000207,392.21472,2015-01-01 01:05:25,bin3925,75, -CTSPillarNetworkA,3926,3926,3926,1980-10-01,392.3000000000207,392.31473,2015-01-01 01:05:26,bin3926,35, -CTSPillarNetworkA,3927,3927,3927,1980-10-02,392.4000000000207,392.41473,2015-01-01 01:05:27,bin3927,75, -CTSPillarNetworkA,3928,3928,3928,1980-10-03,392.50000000002075,392.51474,2015-01-01 01:05:28,bin3928,35, -CTSPillarNetworkA,3929,3929,3929,1980-10-04,392.60000000002077,392.61475,2015-01-01 01:05:29,bin3929,75, -CTSPillarNetworkA,3930,3930,3930,1980-10-05,392.7000000000208,392.71475,2015-01-01 01:05:30,bin3930,35, -CTSPillarNetworkA,3931,3931,3931,1980-10-06,392.8000000000208,392.81476,2015-01-01 01:05:31,bin3931,75, -CTSPillarNetworkA,3932,3932,3932,1980-10-07,392.90000000002084,392.91476,2015-01-01 01:05:32,bin3932,35, -CTSPillarNetworkA,3933,3933,3933,1980-10-08,393.00000000002086,393.01477,2015-01-01 01:05:33,bin3933,75, -CTSPillarNetworkA,3934,3934,3934,1980-10-09,393.1000000000209,393.11478,2015-01-01 01:05:34,bin3934,35, -CTSPillarNetworkA,3935,3935,3935,1980-10-10,393.2000000000209,393.21478,2015-01-01 01:05:35,bin3935,75, -CTSPillarNetworkA,3936,3936,3936,1980-10-11,393.30000000002093,393.3148,2015-01-01 01:05:36,bin3936,35, -CTSPillarNetworkA,3937,3937,3937,1980-10-12,393.40000000002095,393.4148,2015-01-01 01:05:37,bin3937,75, -CTSPillarNetworkA,3938,3938,3938,1980-10-13,393.500000000021,393.5148,2015-01-01 01:05:38,bin3938,35, -CTSPillarNetworkA,3939,3939,3939,1980-10-14,393.600000000021,393.6148,2015-01-01 01:05:39,bin3939,75, -CTSPillarNetworkA,3940,3940,3940,1980-10-15,393.700000000021,393.7148,2015-01-01 01:05:40,bin3940,35, -CTSPillarNetworkA,3941,3941,3941,1980-10-16,393.80000000002104,393.81482,2015-01-01 01:05:41,bin3941,75, -CTSPillarNetworkA,3942,3942,3942,1980-10-17,393.90000000002107,393.91483,2015-01-01 01:05:42,bin3942,35, -CTSPillarNetworkA,3943,3943,3943,1980-10-18,394.0000000000211,394.01483,2015-01-01 01:05:43,bin3943,75, -CTSPillarNetworkA,3944,3944,3944,1980-10-19,394.1000000000211,394.11484,2015-01-01 01:05:44,bin3944,35, -CTSPillarNetworkA,3945,3945,3945,1980-10-20,394.20000000002113,394.21484,2015-01-01 01:05:45,bin3945,75, -CTSPillarNetworkA,3946,3946,3946,1980-10-21,394.30000000002116,394.31485,2015-01-01 01:05:46,bin3946,35, -CTSPillarNetworkA,3947,3947,3947,1980-10-22,394.4000000000212,394.41486,2015-01-01 01:05:47,bin3947,75, -CTSPillarNetworkA,3948,3948,3948,1980-10-23,394.5000000000212,394.51486,2015-01-01 01:05:48,bin3948,35, -CTSPillarNetworkA,3949,3949,3949,1980-10-24,394.6000000000212,394.61487,2015-01-01 01:05:49,bin3949,75, -CTSPillarNetworkA,3950,3950,3950,1980-10-25,394.70000000002125,394.71487,2015-01-01 01:05:50,bin3950,35, -CTSPillarNetworkA,3951,3951,3951,1980-10-26,394.80000000002127,394.81488,2015-01-01 01:05:51,bin3951,75, -CTSPillarNetworkA,3952,3952,3952,1980-10-27,394.9000000000213,394.9149,2015-01-01 01:05:52,bin3952,35, -CTSPillarNetworkA,3953,3953,3953,1980-10-28,395.0000000000213,395.0149,2015-01-01 01:05:53,bin3953,75, -CTSPillarNetworkA,3954,3954,3954,1980-10-29,395.10000000002134,395.1149,2015-01-01 01:05:54,bin3954,35, -CTSPillarNetworkA,3955,3955,3955,1980-10-30,395.20000000002136,395.2149,2015-01-01 01:05:55,bin3955,75, -CTSPillarNetworkA,3956,3956,3956,1980-10-31,395.3000000000214,395.3149,2015-01-01 01:05:56,bin3956,35, -CTSPillarNetworkA,3957,3957,3957,1980-11-01,395.4000000000214,395.41492,2015-01-01 01:05:57,bin3957,75, -CTSPillarNetworkA,3958,3958,3958,1980-11-02,395.50000000002143,395.51492,2015-01-01 01:05:58,bin3958,35, -CTSPillarNetworkA,3959,3959,3959,1980-11-03,395.60000000002145,395.61493,2015-01-01 01:05:59,bin3959,75, -CTSPillarNetworkA,3960,3960,3960,1980-11-04,395.7000000000215,395.71494,2015-01-01 01:06:00,bin3960,35, -CTSPillarNetworkA,3961,3961,3961,1980-11-05,395.8000000000215,395.81494,2015-01-01 01:06:01,bin3961,75, -CTSPillarNetworkA,3962,3962,3962,1980-11-06,395.9000000000215,395.91495,2015-01-01 01:06:02,bin3962,35, -CTSPillarNetworkA,3963,3963,3963,1980-11-07,396.00000000002154,396.01495,2015-01-01 01:06:03,bin3963,75, -CTSPillarNetworkA,3964,3964,3964,1980-11-08,396.10000000002157,396.11496,2015-01-01 01:06:04,bin3964,35, -CTSPillarNetworkA,3965,3965,3965,1980-11-09,396.2000000000216,396.21497,2015-01-01 01:06:05,bin3965,75, -CTSPillarNetworkA,3966,3966,3966,1980-11-10,396.3000000000216,396.31497,2015-01-01 01:06:06,bin3966,35, -CTSPillarNetworkA,3967,3967,3967,1980-11-11,396.40000000002163,396.41498,2015-01-01 01:06:07,bin3967,75, -CTSPillarNetworkA,3968,3968,3968,1980-11-12,396.50000000002166,396.51498,2015-01-01 01:06:08,bin3968,35, -CTSPillarNetworkA,3969,3969,3969,1980-11-13,396.6000000000217,396.615,2015-01-01 01:06:09,bin3969,75, -CTSPillarNetworkA,3970,3970,3970,1980-11-14,396.7000000000217,396.715,2015-01-01 01:06:10,bin3970,35, -CTSPillarNetworkA,3971,3971,3971,1980-11-15,396.8000000000217,396.815,2015-01-01 01:06:11,bin3971,75, -CTSPillarNetworkA,3972,3972,3972,1980-11-16,396.90000000002175,396.915,2015-01-01 01:06:12,bin3972,35, -CTSPillarNetworkA,3973,3973,3973,1980-11-17,397.00000000002177,397.015,2015-01-01 01:06:13,bin3973,75, -CTSPillarNetworkA,3974,3974,3974,1980-11-18,397.1000000000218,397.11502,2015-01-01 01:06:14,bin3974,35, -CTSPillarNetworkA,3975,3975,3975,1980-11-19,397.2000000000218,397.21503,2015-01-01 01:06:15,bin3975,75, -CTSPillarNetworkA,3976,3976,3976,1980-11-20,397.30000000002184,397.31503,2015-01-01 01:06:16,bin3976,35, -CTSPillarNetworkA,3977,3977,3977,1980-11-21,397.40000000002186,397.41504,2015-01-01 01:06:17,bin3977,75, -CTSPillarNetworkA,3978,3978,3978,1980-11-22,397.5000000000219,397.51505,2015-01-01 01:06:18,bin3978,35, -CTSPillarNetworkA,3979,3979,3979,1980-11-23,397.6000000000219,397.61505,2015-01-01 01:06:19,bin3979,75, -CTSPillarNetworkA,3980,3980,3980,1980-11-24,397.70000000002193,397.71506,2015-01-01 01:06:20,bin3980,35, -CTSPillarNetworkA,3981,3981,3981,1980-11-25,397.80000000002195,397.81506,2015-01-01 01:06:21,bin3981,75, -CTSPillarNetworkA,3982,3982,3982,1980-11-26,397.900000000022,397.91507,2015-01-01 01:06:22,bin3982,35, -CTSPillarNetworkA,3983,3983,3983,1980-11-27,398.000000000022,398.01508,2015-01-01 01:06:23,bin3983,75, -CTSPillarNetworkA,3984,3984,3984,1980-11-28,398.100000000022,398.11508,2015-01-01 01:06:24,bin3984,35, -CTSPillarNetworkA,3985,3985,3985,1980-11-29,398.20000000002204,398.2151,2015-01-01 01:06:25,bin3985,75, -CTSPillarNetworkA,3986,3986,3986,1980-11-30,398.30000000002207,398.3151,2015-01-01 01:06:26,bin3986,35, -CTSPillarNetworkA,3987,3987,3987,1980-12-01,398.4000000000221,398.4151,2015-01-01 01:06:27,bin3987,75, -CTSPillarNetworkA,3988,3988,3988,1980-12-02,398.5000000000221,398.5151,2015-01-01 01:06:28,bin3988,35, -CTSPillarNetworkA,3989,3989,3989,1980-12-03,398.60000000002213,398.6151,2015-01-01 01:06:29,bin3989,75, -CTSPillarNetworkA,3990,3990,3990,1980-12-04,398.70000000002216,398.71512,2015-01-01 01:06:30,bin3990,35, -CTSPillarNetworkA,3991,3991,3991,1980-12-05,398.8000000000222,398.81512,2015-01-01 01:06:31,bin3991,75, -CTSPillarNetworkA,3992,3992,3992,1980-12-06,398.9000000000222,398.91513,2015-01-01 01:06:32,bin3992,35, -CTSPillarNetworkA,3993,3993,3993,1980-12-07,399.0000000000222,399.01514,2015-01-01 01:06:33,bin3993,75, -CTSPillarNetworkA,3994,3994,3994,1980-12-08,399.10000000002225,399.11514,2015-01-01 01:06:34,bin3994,35, -CTSPillarNetworkA,3995,3995,3995,1980-12-09,399.20000000002227,399.21515,2015-01-01 01:06:35,bin3995,75, -CTSPillarNetworkA,3996,3996,3996,1980-12-10,399.3000000000223,399.31516,2015-01-01 01:06:36,bin3996,35, -CTSPillarNetworkA,3997,3997,3997,1980-12-11,399.4000000000223,399.41516,2015-01-01 01:06:37,bin3997,75, -CTSPillarNetworkA,3998,3998,3998,1980-12-12,399.50000000002234,399.51517,2015-01-01 01:06:38,bin3998,35, -CTSPillarNetworkA,3999,3999,3999,1980-12-13,399.60000000002236,399.61517,2015-01-01 01:06:39,bin3999,75, -CTSPillarNetworkA,4000,4000,4000,1980-12-14,399.7000000000224,399.71518,2015-01-01 01:06:40,bin4000,35, -CTSPillarNetworkA,4001,4001,4001,1980-12-15,399.8000000000224,399.8152,2015-01-01 01:06:41,bin4001,75, -CTSPillarNetworkA,4002,4002,4002,1980-12-16,399.90000000002243,399.9152,2015-01-01 01:06:42,bin4002,35, -CTSPillarNetworkA,4003,4003,4003,1980-12-17,400.00000000002245,400.0152,2015-01-01 01:06:43,bin4003,75, -CTSPillarNetworkA,4004,4004,4004,1980-12-18,400.1000000000225,400.1152,2015-01-01 01:06:44,bin4004,35, -CTSPillarNetworkA,4005,4005,4005,1980-12-19,400.2000000000225,400.2152,2015-01-01 01:06:45,bin4005,75, -CTSPillarNetworkA,4006,4006,4006,1980-12-20,400.3000000000225,400.31522,2015-01-01 01:06:46,bin4006,35, -CTSPillarNetworkA,4007,4007,4007,1980-12-21,400.40000000002254,400.41522,2015-01-01 01:06:47,bin4007,75, -CTSPillarNetworkA,4008,4008,4008,1980-12-22,400.50000000002257,400.51523,2015-01-01 01:06:48,bin4008,35, -CTSPillarNetworkA,4009,4009,4009,1980-12-23,400.6000000000226,400.61523,2015-01-01 01:06:49,bin4009,75, -CTSPillarNetworkA,4010,4010,4010,1980-12-24,400.7000000000226,400.71524,2015-01-01 01:06:50,bin4010,35, -CTSPillarNetworkA,4011,4011,4011,1980-12-25,400.80000000002264,400.81525,2015-01-01 01:06:51,bin4011,75, -CTSPillarNetworkA,4012,4012,4012,1980-12-26,400.90000000002266,400.91525,2015-01-01 01:06:52,bin4012,35, -CTSPillarNetworkA,4013,4013,4013,1980-12-27,401.0000000000227,401.01526,2015-01-01 01:06:53,bin4013,75, -CTSPillarNetworkA,4014,4014,4014,1980-12-28,401.1000000000227,401.11526,2015-01-01 01:06:54,bin4014,35, -CTSPillarNetworkA,4015,4015,4015,1980-12-29,401.2000000000227,401.21527,2015-01-01 01:06:55,bin4015,75, -CTSPillarNetworkA,4016,4016,4016,1980-12-30,401.30000000002275,401.31528,2015-01-01 01:06:56,bin4016,35, -CTSPillarNetworkA,4017,4017,4017,1980-12-31,401.40000000002277,401.41528,2015-01-01 01:06:57,bin4017,75, -CTSPillarNetworkA,4018,4018,4018,1981-01-01,401.5000000000228,401.5153,2015-01-01 01:06:58,bin4018,35, -CTSPillarNetworkA,4019,4019,4019,1981-01-02,401.6000000000228,401.6153,2015-01-01 01:06:59,bin4019,75, -CTSPillarNetworkA,4020,4020,4020,1981-01-03,401.70000000002284,401.7153,2015-01-01 01:07:00,bin4020,35, -CTSPillarNetworkA,4021,4021,4021,1981-01-04,401.80000000002286,401.8153,2015-01-01 01:07:01,bin4021,75, -CTSPillarNetworkA,4022,4022,4022,1981-01-05,401.9000000000229,401.9153,2015-01-01 01:07:02,bin4022,35, -CTSPillarNetworkA,4023,4023,4023,1981-01-06,402.0000000000229,402.01532,2015-01-01 01:07:03,bin4023,75, -CTSPillarNetworkA,4024,4024,4024,1981-01-07,402.10000000002293,402.11533,2015-01-01 01:07:04,bin4024,35, -CTSPillarNetworkA,4025,4025,4025,1981-01-08,402.20000000002295,402.21533,2015-01-01 01:07:05,bin4025,75, -CTSPillarNetworkA,4026,4026,4026,1981-01-09,402.300000000023,402.31534,2015-01-01 01:07:06,bin4026,35, -CTSPillarNetworkA,4027,4027,4027,1981-01-10,402.400000000023,402.41534,2015-01-01 01:07:07,bin4027,75, -CTSPillarNetworkA,4028,4028,4028,1981-01-11,402.500000000023,402.51535,2015-01-01 01:07:08,bin4028,35, -CTSPillarNetworkA,4029,4029,4029,1981-01-12,402.60000000002304,402.61536,2015-01-01 01:07:09,bin4029,75, -CTSPillarNetworkA,4030,4030,4030,1981-01-13,402.70000000002307,402.71536,2015-01-01 01:07:10,bin4030,35, -CTSPillarNetworkA,4031,4031,4031,1981-01-14,402.8000000000231,402.81537,2015-01-01 01:07:11,bin4031,75, -CTSPillarNetworkA,4032,4032,4032,1981-01-15,402.9000000000231,402.91537,2015-01-01 01:07:12,bin4032,35, -CTSPillarNetworkA,4033,4033,4033,1981-01-16,403.00000000002314,403.01538,2015-01-01 01:07:13,bin4033,75, -CTSPillarNetworkA,4034,4034,4034,1981-01-17,403.10000000002316,403.1154,2015-01-01 01:07:14,bin4034,35, -CTSPillarNetworkA,4035,4035,4035,1981-01-18,403.2000000000232,403.2154,2015-01-01 01:07:15,bin4035,75, -CTSPillarNetworkA,4036,4036,4036,1981-01-19,403.3000000000232,403.3154,2015-01-01 01:07:16,bin4036,35, -CTSPillarNetworkA,4037,4037,4037,1981-01-20,403.4000000000232,403.4154,2015-01-01 01:07:17,bin4037,75, -CTSPillarNetworkA,4038,4038,4038,1981-01-21,403.50000000002325,403.5154,2015-01-01 01:07:18,bin4038,35, -CTSPillarNetworkA,4039,4039,4039,1981-01-22,403.6000000000233,403.61542,2015-01-01 01:07:19,bin4039,75, -CTSPillarNetworkA,4040,4040,4040,1981-01-23,403.7000000000233,403.71542,2015-01-01 01:07:20,bin4040,35, -CTSPillarNetworkA,4041,4041,4041,1981-01-24,403.8000000000233,403.81543,2015-01-01 01:07:21,bin4041,75, -CTSPillarNetworkA,4042,4042,4042,1981-01-25,403.90000000002334,403.91544,2015-01-01 01:07:22,bin4042,35, -CTSPillarNetworkA,4043,4043,4043,1981-01-26,404.00000000002336,404.01544,2015-01-01 01:07:23,bin4043,75, -CTSPillarNetworkA,4044,4044,4044,1981-01-27,404.1000000000234,404.11545,2015-01-01 01:07:24,bin4044,35, -CTSPillarNetworkA,4045,4045,4045,1981-01-28,404.2000000000234,404.21545,2015-01-01 01:07:25,bin4045,75, -CTSPillarNetworkA,4046,4046,4046,1981-01-29,404.30000000002343,404.31546,2015-01-01 01:07:26,bin4046,35, -CTSPillarNetworkA,4047,4047,4047,1981-01-30,404.40000000002345,404.41547,2015-01-01 01:07:27,bin4047,75, -CTSPillarNetworkA,4048,4048,4048,1981-01-31,404.5000000000235,404.51547,2015-01-01 01:07:28,bin4048,35, -CTSPillarNetworkA,4049,4049,4049,1981-02-01,404.6000000000235,404.61548,2015-01-01 01:07:29,bin4049,75, -CTSPillarNetworkA,4050,4050,4050,1981-02-02,404.7000000000235,404.71548,2015-01-01 01:07:30,bin4050,35, -CTSPillarNetworkA,4051,4051,4051,1981-02-03,404.80000000002354,404.8155,2015-01-01 01:07:31,bin4051,75, -CTSPillarNetworkA,4052,4052,4052,1981-02-04,404.90000000002357,404.9155,2015-01-01 01:07:32,bin4052,35, -CTSPillarNetworkA,4053,4053,4053,1981-02-05,405.0000000000236,405.0155,2015-01-01 01:07:33,bin4053,75, -CTSPillarNetworkA,4054,4054,4054,1981-02-06,405.1000000000236,405.1155,2015-01-01 01:07:34,bin4054,35, -CTSPillarNetworkA,4055,4055,4055,1981-02-07,405.20000000002364,405.2155,2015-01-01 01:07:35,bin4055,75, -CTSPillarNetworkA,4056,4056,4056,1981-02-08,405.30000000002366,405.31552,2015-01-01 01:07:36,bin4056,35, -CTSPillarNetworkA,4057,4057,4057,1981-02-09,405.4000000000237,405.41553,2015-01-01 01:07:37,bin4057,75, -CTSPillarNetworkA,4058,4058,4058,1981-02-10,405.5000000000237,405.51553,2015-01-01 01:07:38,bin4058,35, -CTSPillarNetworkA,4059,4059,4059,1981-02-11,405.6000000000237,405.61554,2015-01-01 01:07:39,bin4059,75, -CTSPillarNetworkA,4060,4060,4060,1981-02-12,405.70000000002375,405.71555,2015-01-01 01:07:40,bin4060,35, -CTSPillarNetworkA,4061,4061,4061,1981-02-13,405.8000000000238,405.81555,2015-01-01 01:07:41,bin4061,75, -CTSPillarNetworkA,4062,4062,4062,1981-02-14,405.9000000000238,405.91556,2015-01-01 01:07:42,bin4062,35, -CTSPillarNetworkA,4063,4063,4063,1981-02-15,406.0000000000238,406.01556,2015-01-01 01:07:43,bin4063,75, -CTSPillarNetworkA,4064,4064,4064,1981-02-16,406.10000000002384,406.11557,2015-01-01 01:07:44,bin4064,35, -CTSPillarNetworkA,4065,4065,4065,1981-02-17,406.20000000002386,406.21558,2015-01-01 01:07:45,bin4065,75, -CTSPillarNetworkA,4066,4066,4066,1981-02-18,406.3000000000239,406.31558,2015-01-01 01:07:46,bin4066,35, -CTSPillarNetworkA,4067,4067,4067,1981-02-19,406.4000000000239,406.4156,2015-01-01 01:07:47,bin4067,75, -CTSPillarNetworkA,4068,4068,4068,1981-02-20,406.50000000002393,406.5156,2015-01-01 01:07:48,bin4068,35, -CTSPillarNetworkA,4069,4069,4069,1981-02-21,406.60000000002395,406.6156,2015-01-01 01:07:49,bin4069,75, -CTSPillarNetworkA,4070,4070,4070,1981-02-22,406.700000000024,406.7156,2015-01-01 01:07:50,bin4070,35, -CTSPillarNetworkA,4071,4071,4071,1981-02-23,406.800000000024,406.8156,2015-01-01 01:07:51,bin4071,75, -CTSPillarNetworkA,4072,4072,4072,1981-02-24,406.900000000024,406.91562,2015-01-01 01:07:52,bin4072,35, -CTSPillarNetworkA,4073,4073,4073,1981-02-25,407.00000000002404,407.01562,2015-01-01 01:07:53,bin4073,75, -CTSPillarNetworkA,4074,4074,4074,1981-02-26,407.10000000002407,407.11563,2015-01-01 01:07:54,bin4074,35, -CTSPillarNetworkA,4075,4075,4075,1981-02-27,407.2000000000241,407.21564,2015-01-01 01:07:55,bin4075,75, -CTSPillarNetworkA,4076,4076,4076,1981-02-28,407.3000000000241,407.31564,2015-01-01 01:07:56,bin4076,35, -CTSPillarNetworkA,4077,4077,4077,1981-03-01,407.40000000002414,407.41565,2015-01-01 01:07:57,bin4077,75, -CTSPillarNetworkA,4078,4078,4078,1981-03-02,407.50000000002416,407.51566,2015-01-01 01:07:58,bin4078,35, -CTSPillarNetworkA,4079,4079,4079,1981-03-03,407.6000000000242,407.61566,2015-01-01 01:07:59,bin4079,75, -CTSPillarNetworkA,4080,4080,4080,1981-03-04,407.7000000000242,407.71567,2015-01-01 01:08:00,bin4080,35, -CTSPillarNetworkA,4081,4081,4081,1981-03-05,407.8000000000242,407.81567,2015-01-01 01:08:01,bin4081,75, -CTSPillarNetworkA,4082,4082,4082,1981-03-06,407.90000000002425,407.91568,2015-01-01 01:08:02,bin4082,35, -CTSPillarNetworkA,4083,4083,4083,1981-03-07,408.0000000000243,408.0157,2015-01-01 01:08:03,bin4083,75, -CTSPillarNetworkA,4084,4084,4084,1981-03-08,408.1000000000243,408.1157,2015-01-01 01:08:04,bin4084,35, -CTSPillarNetworkA,4085,4085,4085,1981-03-09,408.2000000000243,408.2157,2015-01-01 01:08:05,bin4085,75, -CTSPillarNetworkA,4086,4086,4086,1981-03-10,408.30000000002434,408.3157,2015-01-01 01:08:06,bin4086,35, -CTSPillarNetworkA,4087,4087,4087,1981-03-11,408.40000000002436,408.4157,2015-01-01 01:08:07,bin4087,75, -CTSPillarNetworkA,4088,4088,4088,1981-03-12,408.5000000000244,408.51572,2015-01-01 01:08:08,bin4088,35, -CTSPillarNetworkA,4089,4089,4089,1981-03-13,408.6000000000244,408.61572,2015-01-01 01:08:09,bin4089,75, -CTSPillarNetworkA,4090,4090,4090,1981-03-14,408.70000000002443,408.71573,2015-01-01 01:08:10,bin4090,35, -CTSPillarNetworkA,4091,4091,4091,1981-03-15,408.80000000002445,408.81573,2015-01-01 01:08:11,bin4091,75, -CTSPillarNetworkA,4092,4092,4092,1981-03-16,408.9000000000245,408.91574,2015-01-01 01:08:12,bin4092,35, -CTSPillarNetworkA,4093,4093,4093,1981-03-17,409.0000000000245,409.01575,2015-01-01 01:08:13,bin4093,75, -CTSPillarNetworkA,4094,4094,4094,1981-03-18,409.1000000000245,409.11575,2015-01-01 01:08:14,bin4094,35, -CTSPillarNetworkA,4095,4095,4095,1981-03-19,409.20000000002454,409.21576,2015-01-01 01:08:15,bin4095,75, -CTSPillarNetworkA,4096,4096,4096,1981-03-20,409.30000000002457,409.31577,2015-01-01 01:08:16,bin4096,35, -CTSPillarNetworkA,4097,4097,4097,1981-03-21,409.4000000000246,409.41577,2015-01-01 01:08:17,bin4097,75, -CTSPillarNetworkA,4098,4098,4098,1981-03-22,409.5000000000246,409.51578,2015-01-01 01:08:18,bin4098,35, -CTSPillarNetworkA,4099,4099,4099,1981-03-23,409.60000000002464,409.61578,2015-01-01 01:08:19,bin4099,75, -CTSPillarNetworkA,4100,4100,4100,1981-03-24,409.70000000002466,409.7158,2015-01-01 01:08:20,bin4100,35, -CTSPillarNetworkA,4101,4101,4101,1981-03-25,409.8000000000247,409.8158,2015-01-01 01:08:21,bin4101,75, -CTSPillarNetworkA,4102,4102,4102,1981-03-26,409.9000000000247,409.9158,2015-01-01 01:08:22,bin4102,35, -CTSPillarNetworkA,4103,4103,4103,1981-03-27,410.0000000000247,410.0158,2015-01-01 01:08:23,bin4103,75, -CTSPillarNetworkA,4104,4104,4104,1981-03-28,410.10000000002475,410.1158,2015-01-01 01:08:24,bin4104,35, -CTSPillarNetworkA,4105,4105,4105,1981-03-29,410.2000000000248,410.21582,2015-01-01 01:08:25,bin4105,75, -CTSPillarNetworkA,4106,4106,4106,1981-03-30,410.3000000000248,410.31583,2015-01-01 01:08:26,bin4106,35, -CTSPillarNetworkA,4107,4107,4107,1981-03-31,410.4000000000248,410.41583,2015-01-01 01:08:27,bin4107,75, -CTSPillarNetworkA,4108,4108,4108,1981-04-01,410.50000000002484,410.51584,2015-01-01 01:08:28,bin4108,35, -CTSPillarNetworkA,4109,4109,4109,1981-04-02,410.60000000002486,410.61584,2015-01-01 01:08:29,bin4109,75, -CTSPillarNetworkA,4110,4110,4110,1981-04-03,410.7000000000249,410.71585,2015-01-01 01:08:30,bin4110,35, -CTSPillarNetworkA,4111,4111,4111,1981-04-04,410.8000000000249,410.81586,2015-01-01 01:08:31,bin4111,75, -CTSPillarNetworkA,4112,4112,4112,1981-04-05,410.90000000002493,410.91586,2015-01-01 01:08:32,bin4112,35, -CTSPillarNetworkA,4113,4113,4113,1981-04-06,411.00000000002495,411.01587,2015-01-01 01:08:33,bin4113,75, -CTSPillarNetworkA,4114,4114,4114,1981-04-07,411.100000000025,411.11588,2015-01-01 01:08:34,bin4114,35, -CTSPillarNetworkA,4115,4115,4115,1981-04-08,411.200000000025,411.21588,2015-01-01 01:08:35,bin4115,75, -CTSPillarNetworkA,4116,4116,4116,1981-04-09,411.300000000025,411.3159,2015-01-01 01:08:36,bin4116,35, -CTSPillarNetworkA,4117,4117,4117,1981-04-10,411.40000000002505,411.4159,2015-01-01 01:08:37,bin4117,75, -CTSPillarNetworkA,4118,4118,4118,1981-04-11,411.50000000002507,411.5159,2015-01-01 01:08:38,bin4118,35, -CTSPillarNetworkA,4119,4119,4119,1981-04-12,411.6000000000251,411.6159,2015-01-01 01:08:39,bin4119,75, -CTSPillarNetworkA,4120,4120,4120,1981-04-13,411.7000000000251,411.7159,2015-01-01 01:08:40,bin4120,35, -CTSPillarNetworkA,4121,4121,4121,1981-04-14,411.80000000002514,411.81592,2015-01-01 01:08:41,bin4121,75, -CTSPillarNetworkA,4122,4122,4122,1981-04-15,411.90000000002516,411.91592,2015-01-01 01:08:42,bin4122,35, -CTSPillarNetworkA,4123,4123,4123,1981-04-16,412.0000000000252,412.01593,2015-01-01 01:08:43,bin4123,75, -CTSPillarNetworkA,4124,4124,4124,1981-04-17,412.1000000000252,412.11594,2015-01-01 01:08:44,bin4124,35, -CTSPillarNetworkA,4125,4125,4125,1981-04-18,412.2000000000252,412.21594,2015-01-01 01:08:45,bin4125,75, -CTSPillarNetworkA,4126,4126,4126,1981-04-19,412.30000000002525,412.31595,2015-01-01 01:08:46,bin4126,35, -CTSPillarNetworkA,4127,4127,4127,1981-04-20,412.4000000000253,412.41595,2015-01-01 01:08:47,bin4127,75, -CTSPillarNetworkA,4128,4128,4128,1981-04-21,412.5000000000253,412.51596,2015-01-01 01:08:48,bin4128,35, -CTSPillarNetworkA,4129,4129,4129,1981-04-22,412.6000000000253,412.61597,2015-01-01 01:08:49,bin4129,75, -CTSPillarNetworkA,4130,4130,4130,1981-04-23,412.70000000002534,412.71597,2015-01-01 01:08:50,bin4130,35, -CTSPillarNetworkA,4131,4131,4131,1981-04-24,412.80000000002536,412.81598,2015-01-01 01:08:51,bin4131,75, -CTSPillarNetworkA,4132,4132,4132,1981-04-25,412.9000000000254,412.916,2015-01-01 01:08:52,bin4132,35, -CTSPillarNetworkA,4133,4133,4133,1981-04-26,413.0000000000254,413.016,2015-01-01 01:08:53,bin4133,75, -CTSPillarNetworkA,4134,4134,4134,1981-04-27,413.10000000002543,413.116,2015-01-01 01:08:54,bin4134,35, -CTSPillarNetworkA,4135,4135,4135,1981-04-28,413.20000000002545,413.216,2015-01-01 01:08:55,bin4135,75, -CTSPillarNetworkA,4136,4136,4136,1981-04-29,413.3000000000255,413.316,2015-01-01 01:08:56,bin4136,35, -CTSPillarNetworkA,4137,4137,4137,1981-04-30,413.4000000000255,413.41602,2015-01-01 01:08:57,bin4137,75, -CTSPillarNetworkA,4138,4138,4138,1981-05-01,413.5000000000255,413.51602,2015-01-01 01:08:58,bin4138,35, -CTSPillarNetworkA,4139,4139,4139,1981-05-02,413.60000000002555,413.61603,2015-01-01 01:08:59,bin4139,75, -CTSPillarNetworkA,4140,4140,4140,1981-05-03,413.70000000002557,413.71603,2015-01-01 01:09:00,bin4140,35, -CTSPillarNetworkA,4141,4141,4141,1981-05-04,413.8000000000256,413.81604,2015-01-01 01:09:01,bin4141,75, -CTSPillarNetworkA,4142,4142,4142,1981-05-05,413.9000000000256,413.91605,2015-01-01 01:09:02,bin4142,35, -CTSPillarNetworkA,4143,4143,4143,1981-05-06,414.00000000002564,414.01605,2015-01-01 01:09:03,bin4143,75, -CTSPillarNetworkA,4144,4144,4144,1981-05-07,414.10000000002566,414.11606,2015-01-01 01:09:04,bin4144,35, -CTSPillarNetworkA,4145,4145,4145,1981-05-08,414.2000000000257,414.21606,2015-01-01 01:09:05,bin4145,75, -CTSPillarNetworkA,4146,4146,4146,1981-05-09,414.3000000000257,414.31607,2015-01-01 01:09:06,bin4146,35, -CTSPillarNetworkA,4147,4147,4147,1981-05-10,414.4000000000257,414.41608,2015-01-01 01:09:07,bin4147,75, -CTSPillarNetworkA,4148,4148,4148,1981-05-11,414.50000000002575,414.51608,2015-01-01 01:09:08,bin4148,35, -CTSPillarNetworkA,4149,4149,4149,1981-05-12,414.6000000000258,414.6161,2015-01-01 01:09:09,bin4149,75, -CTSPillarNetworkA,4150,4150,4150,1981-05-13,414.7000000000258,414.7161,2015-01-01 01:09:10,bin4150,35, -CTSPillarNetworkA,4151,4151,4151,1981-05-14,414.8000000000258,414.8161,2015-01-01 01:09:11,bin4151,75, -CTSPillarNetworkA,4152,4152,4152,1981-05-15,414.90000000002584,414.9161,2015-01-01 01:09:12,bin4152,35, -CTSPillarNetworkA,4153,4153,4153,1981-05-16,415.00000000002586,415.0161,2015-01-01 01:09:13,bin4153,75, -CTSPillarNetworkA,4154,4154,4154,1981-05-17,415.1000000000259,415.11612,2015-01-01 01:09:14,bin4154,35, -CTSPillarNetworkA,4155,4155,4155,1981-05-18,415.2000000000259,415.21613,2015-01-01 01:09:15,bin4155,75, -CTSPillarNetworkA,4156,4156,4156,1981-05-19,415.30000000002593,415.31613,2015-01-01 01:09:16,bin4156,35, -CTSPillarNetworkA,4157,4157,4157,1981-05-20,415.40000000002595,415.41614,2015-01-01 01:09:17,bin4157,75, -CTSPillarNetworkA,4158,4158,4158,1981-05-21,415.500000000026,415.51614,2015-01-01 01:09:18,bin4158,35, -CTSPillarNetworkA,4159,4159,4159,1981-05-22,415.600000000026,415.61615,2015-01-01 01:09:19,bin4159,75, -CTSPillarNetworkA,4160,4160,4160,1981-05-23,415.700000000026,415.71616,2015-01-01 01:09:20,bin4160,35, -CTSPillarNetworkA,4161,4161,4161,1981-05-24,415.80000000002605,415.81616,2015-01-01 01:09:21,bin4161,75, -CTSPillarNetworkA,4162,4162,4162,1981-05-25,415.90000000002607,415.91617,2015-01-01 01:09:22,bin4162,35, -CTSPillarNetworkA,4163,4163,4163,1981-05-26,416.0000000000261,416.01617,2015-01-01 01:09:23,bin4163,75, -CTSPillarNetworkA,4164,4164,4164,1981-05-27,416.1000000000261,416.11618,2015-01-01 01:09:24,bin4164,35, -CTSPillarNetworkA,4165,4165,4165,1981-05-28,416.20000000002614,416.2162,2015-01-01 01:09:25,bin4165,75, -CTSPillarNetworkA,4166,4166,4166,1981-05-29,416.30000000002616,416.3162,2015-01-01 01:09:26,bin4166,35, -CTSPillarNetworkA,4167,4167,4167,1981-05-30,416.4000000000262,416.4162,2015-01-01 01:09:27,bin4167,75, -CTSPillarNetworkA,4168,4168,4168,1981-05-31,416.5000000000262,416.5162,2015-01-01 01:09:28,bin4168,35, -CTSPillarNetworkA,4169,4169,4169,1981-06-01,416.6000000000262,416.6162,2015-01-01 01:09:29,bin4169,75, -CTSPillarNetworkA,4170,4170,4170,1981-06-02,416.70000000002625,416.71622,2015-01-01 01:09:30,bin4170,35, -CTSPillarNetworkA,4171,4171,4171,1981-06-03,416.8000000000263,416.81622,2015-01-01 01:09:31,bin4171,75, -CTSPillarNetworkA,4172,4172,4172,1981-06-04,416.9000000000263,416.91623,2015-01-01 01:09:32,bin4172,35, -CTSPillarNetworkA,4173,4173,4173,1981-06-05,417.0000000000263,417.01624,2015-01-01 01:09:33,bin4173,75, -CTSPillarNetworkA,4174,4174,4174,1981-06-06,417.10000000002634,417.11624,2015-01-01 01:09:34,bin4174,35, -CTSPillarNetworkA,4175,4175,4175,1981-06-07,417.20000000002636,417.21625,2015-01-01 01:09:35,bin4175,75, -CTSPillarNetworkA,4176,4176,4176,1981-06-08,417.3000000000264,417.31625,2015-01-01 01:09:36,bin4176,35, -CTSPillarNetworkA,4177,4177,4177,1981-06-09,417.4000000000264,417.41626,2015-01-01 01:09:37,bin4177,75, -CTSPillarNetworkA,4178,4178,4178,1981-06-10,417.50000000002643,417.51627,2015-01-01 01:09:38,bin4178,35, -CTSPillarNetworkA,4179,4179,4179,1981-06-11,417.60000000002645,417.61627,2015-01-01 01:09:39,bin4179,75, -CTSPillarNetworkA,4180,4180,4180,1981-06-12,417.7000000000265,417.71628,2015-01-01 01:09:40,bin4180,35, -CTSPillarNetworkA,4181,4181,4181,1981-06-13,417.8000000000265,417.81628,2015-01-01 01:09:41,bin4181,75, -CTSPillarNetworkA,4182,4182,4182,1981-06-14,417.9000000000265,417.9163,2015-01-01 01:09:42,bin4182,35, -CTSPillarNetworkA,4183,4183,4183,1981-06-15,418.00000000002655,418.0163,2015-01-01 01:09:43,bin4183,75, -CTSPillarNetworkA,4184,4184,4184,1981-06-16,418.10000000002657,418.1163,2015-01-01 01:09:44,bin4184,35, -CTSPillarNetworkA,4185,4185,4185,1981-06-17,418.2000000000266,418.2163,2015-01-01 01:09:45,bin4185,75, -CTSPillarNetworkA,4186,4186,4186,1981-06-18,418.3000000000266,418.3163,2015-01-01 01:09:46,bin4186,35, -CTSPillarNetworkA,4187,4187,4187,1981-06-19,418.40000000002664,418.41632,2015-01-01 01:09:47,bin4187,75, -CTSPillarNetworkA,4188,4188,4188,1981-06-20,418.50000000002666,418.51633,2015-01-01 01:09:48,bin4188,35, -CTSPillarNetworkA,4189,4189,4189,1981-06-21,418.6000000000267,418.61633,2015-01-01 01:09:49,bin4189,75, -CTSPillarNetworkA,4190,4190,4190,1981-06-22,418.7000000000267,418.71634,2015-01-01 01:09:50,bin4190,35, -CTSPillarNetworkA,4191,4191,4191,1981-06-23,418.8000000000267,418.81635,2015-01-01 01:09:51,bin4191,75, -CTSPillarNetworkA,4192,4192,4192,1981-06-24,418.90000000002675,418.91635,2015-01-01 01:09:52,bin4192,35, -CTSPillarNetworkA,4193,4193,4193,1981-06-25,419.0000000000268,419.01636,2015-01-01 01:09:53,bin4193,75, -CTSPillarNetworkA,4194,4194,4194,1981-06-26,419.1000000000268,419.11636,2015-01-01 01:09:54,bin4194,35, -CTSPillarNetworkA,4195,4195,4195,1981-06-27,419.2000000000268,419.21637,2015-01-01 01:09:55,bin4195,75, -CTSPillarNetworkA,4196,4196,4196,1981-06-28,419.30000000002684,419.31638,2015-01-01 01:09:56,bin4196,35, -CTSPillarNetworkA,4197,4197,4197,1981-06-29,419.40000000002686,419.41638,2015-01-01 01:09:57,bin4197,75, -CTSPillarNetworkA,4198,4198,4198,1981-06-30,419.5000000000269,419.5164,2015-01-01 01:09:58,bin4198,35, -CTSPillarNetworkA,4199,4199,4199,1981-07-01,419.6000000000269,419.6164,2015-01-01 01:09:59,bin4199,75, -CTSPillarNetworkA,4200,4200,4200,1981-07-02,419.70000000002693,419.7164,2015-01-01 01:10:00,bin4200,35, -CTSPillarNetworkA,4201,4201,4201,1981-07-03,419.80000000002696,419.8164,2015-01-01 01:10:01,bin4201,75, -CTSPillarNetworkA,4202,4202,4202,1981-07-04,419.900000000027,419.9164,2015-01-01 01:10:02,bin4202,35, -CTSPillarNetworkA,4203,4203,4203,1981-07-05,420.000000000027,420.01642,2015-01-01 01:10:03,bin4203,75, -CTSPillarNetworkA,4204,4204,4204,1981-07-06,420.100000000027,420.11642,2015-01-01 01:10:04,bin4204,35, -CTSPillarNetworkA,4205,4205,4205,1981-07-07,420.20000000002705,420.21643,2015-01-01 01:10:05,bin4205,75, -CTSPillarNetworkA,4206,4206,4206,1981-07-08,420.30000000002707,420.31644,2015-01-01 01:10:06,bin4206,35, -CTSPillarNetworkA,4207,4207,4207,1981-07-09,420.4000000000271,420.41644,2015-01-01 01:10:07,bin4207,75, -CTSPillarNetworkA,4208,4208,4208,1981-07-10,420.5000000000271,420.51645,2015-01-01 01:10:08,bin4208,35, -CTSPillarNetworkA,4209,4209,4209,1981-07-11,420.60000000002714,420.61646,2015-01-01 01:10:09,bin4209,75, -CTSPillarNetworkA,4210,4210,4210,1981-07-12,420.70000000002716,420.71646,2015-01-01 01:10:10,bin4210,35, -CTSPillarNetworkA,4211,4211,4211,1981-07-13,420.8000000000272,420.81647,2015-01-01 01:10:11,bin4211,75, -CTSPillarNetworkA,4212,4212,4212,1981-07-14,420.9000000000272,420.91647,2015-01-01 01:10:12,bin4212,35, -CTSPillarNetworkA,4213,4213,4213,1981-07-15,421.0000000000272,421.01648,2015-01-01 01:10:13,bin4213,75, -CTSPillarNetworkA,4214,4214,4214,1981-07-16,421.10000000002725,421.1165,2015-01-01 01:10:14,bin4214,35, -CTSPillarNetworkA,4215,4215,4215,1981-07-17,421.2000000000273,421.2165,2015-01-01 01:10:15,bin4215,75, -CTSPillarNetworkA,4216,4216,4216,1981-07-18,421.3000000000273,421.3165,2015-01-01 01:10:16,bin4216,35, -CTSPillarNetworkA,4217,4217,4217,1981-07-19,421.4000000000273,421.4165,2015-01-01 01:10:17,bin4217,75, -CTSPillarNetworkA,4218,4218,4218,1981-07-20,421.50000000002734,421.5165,2015-01-01 01:10:18,bin4218,35, -CTSPillarNetworkA,4219,4219,4219,1981-07-21,421.60000000002736,421.61652,2015-01-01 01:10:19,bin4219,75, -CTSPillarNetworkA,4220,4220,4220,1981-07-22,421.7000000000274,421.71652,2015-01-01 01:10:20,bin4220,35, -CTSPillarNetworkA,4221,4221,4221,1981-07-23,421.8000000000274,421.81653,2015-01-01 01:10:21,bin4221,75, -CTSPillarNetworkA,4222,4222,4222,1981-07-24,421.90000000002743,421.91653,2015-01-01 01:10:22,bin4222,35, -CTSPillarNetworkA,4223,4223,4223,1981-07-25,422.00000000002746,422.01654,2015-01-01 01:10:23,bin4223,75, -CTSPillarNetworkA,4224,4224,4224,1981-07-26,422.1000000000275,422.11655,2015-01-01 01:10:24,bin4224,35, -CTSPillarNetworkA,4225,4225,4225,1981-07-27,422.2000000000275,422.21655,2015-01-01 01:10:25,bin4225,75, -CTSPillarNetworkA,4226,4226,4226,1981-07-28,422.3000000000275,422.31656,2015-01-01 01:10:26,bin4226,35, -CTSPillarNetworkA,4227,4227,4227,1981-07-29,422.40000000002755,422.41656,2015-01-01 01:10:27,bin4227,75, -CTSPillarNetworkA,4228,4228,4228,1981-07-30,422.50000000002757,422.51657,2015-01-01 01:10:28,bin4228,35, -CTSPillarNetworkA,4229,4229,4229,1981-07-31,422.6000000000276,422.61658,2015-01-01 01:10:29,bin4229,75, -CTSPillarNetworkA,4230,4230,4230,1981-08-01,422.7000000000276,422.71658,2015-01-01 01:10:30,bin4230,35, -CTSPillarNetworkA,4231,4231,4231,1981-08-02,422.80000000002764,422.8166,2015-01-01 01:10:31,bin4231,75, -CTSPillarNetworkA,4232,4232,4232,1981-08-03,422.90000000002766,422.9166,2015-01-01 01:10:32,bin4232,35, -CTSPillarNetworkA,4233,4233,4233,1981-08-04,423.0000000000277,423.0166,2015-01-01 01:10:33,bin4233,75, -CTSPillarNetworkA,4234,4234,4234,1981-08-05,423.1000000000277,423.1166,2015-01-01 01:10:34,bin4234,35, -CTSPillarNetworkA,4235,4235,4235,1981-08-06,423.2000000000277,423.2166,2015-01-01 01:10:35,bin4235,75, -CTSPillarNetworkA,4236,4236,4236,1981-08-07,423.30000000002775,423.31662,2015-01-01 01:10:36,bin4236,35, -CTSPillarNetworkA,4237,4237,4237,1981-08-08,423.4000000000278,423.41663,2015-01-01 01:10:37,bin4237,75, -CTSPillarNetworkA,4238,4238,4238,1981-08-09,423.5000000000278,423.51663,2015-01-01 01:10:38,bin4238,35, -CTSPillarNetworkA,4239,4239,4239,1981-08-10,423.6000000000278,423.61664,2015-01-01 01:10:39,bin4239,75, -CTSPillarNetworkA,4240,4240,4240,1981-08-11,423.70000000002784,423.71664,2015-01-01 01:10:40,bin4240,35, -CTSPillarNetworkA,4241,4241,4241,1981-08-12,423.80000000002786,423.81665,2015-01-01 01:10:41,bin4241,75, -CTSPillarNetworkA,4242,4242,4242,1981-08-13,423.9000000000279,423.91666,2015-01-01 01:10:42,bin4242,35, -CTSPillarNetworkA,4243,4243,4243,1981-08-14,424.0000000000279,424.01666,2015-01-01 01:10:43,bin4243,75, -CTSPillarNetworkA,4244,4244,4244,1981-08-15,424.10000000002793,424.11667,2015-01-01 01:10:44,bin4244,35, -CTSPillarNetworkA,4245,4245,4245,1981-08-16,424.20000000002796,424.21667,2015-01-01 01:10:45,bin4245,75, -CTSPillarNetworkA,4246,4246,4246,1981-08-17,424.300000000028,424.31668,2015-01-01 01:10:46,bin4246,35, -CTSPillarNetworkA,4247,4247,4247,1981-08-18,424.400000000028,424.4167,2015-01-01 01:10:47,bin4247,75, -CTSPillarNetworkA,4248,4248,4248,1981-08-19,424.500000000028,424.5167,2015-01-01 01:10:48,bin4248,35, -CTSPillarNetworkA,4249,4249,4249,1981-08-20,424.60000000002805,424.6167,2015-01-01 01:10:49,bin4249,75, -CTSPillarNetworkA,4250,4250,4250,1981-08-21,424.70000000002807,424.7167,2015-01-01 01:10:50,bin4250,35, -CTSPillarNetworkA,4251,4251,4251,1981-08-22,424.8000000000281,424.8167,2015-01-01 01:10:51,bin4251,75, -CTSPillarNetworkA,4252,4252,4252,1981-08-23,424.9000000000281,424.91672,2015-01-01 01:10:52,bin4252,35, -CTSPillarNetworkA,4253,4253,4253,1981-08-24,425.00000000002814,425.01672,2015-01-01 01:10:53,bin4253,75, -CTSPillarNetworkA,4254,4254,4254,1981-08-25,425.10000000002816,425.11673,2015-01-01 01:10:54,bin4254,35, -CTSPillarNetworkA,4255,4255,4255,1981-08-26,425.2000000000282,425.21674,2015-01-01 01:10:55,bin4255,75, -CTSPillarNetworkA,4256,4256,4256,1981-08-27,425.3000000000282,425.31674,2015-01-01 01:10:56,bin4256,35, -CTSPillarNetworkA,4257,4257,4257,1981-08-28,425.40000000002823,425.41675,2015-01-01 01:10:57,bin4257,75, -CTSPillarNetworkA,4258,4258,4258,1981-08-29,425.50000000002825,425.51675,2015-01-01 01:10:58,bin4258,35, -CTSPillarNetworkA,4259,4259,4259,1981-08-30,425.6000000000283,425.61676,2015-01-01 01:10:59,bin4259,75, -CTSPillarNetworkA,4260,4260,4260,1981-08-31,425.7000000000283,425.71677,2015-01-01 01:11:00,bin4260,35, -CTSPillarNetworkA,4261,4261,4261,1981-09-01,425.8000000000283,425.81677,2015-01-01 01:11:01,bin4261,75, -CTSPillarNetworkA,4262,4262,4262,1981-09-02,425.90000000002834,425.91678,2015-01-01 01:11:02,bin4262,35, -CTSPillarNetworkA,4263,4263,4263,1981-09-03,426.00000000002836,426.01678,2015-01-01 01:11:03,bin4263,75, -CTSPillarNetworkA,4264,4264,4264,1981-09-04,426.1000000000284,426.1168,2015-01-01 01:11:04,bin4264,35, -CTSPillarNetworkA,4265,4265,4265,1981-09-05,426.2000000000284,426.2168,2015-01-01 01:11:05,bin4265,75, -CTSPillarNetworkA,4266,4266,4266,1981-09-06,426.30000000002843,426.3168,2015-01-01 01:11:06,bin4266,35, -CTSPillarNetworkA,4267,4267,4267,1981-09-07,426.40000000002846,426.4168,2015-01-01 01:11:07,bin4267,75, -CTSPillarNetworkA,4268,4268,4268,1981-09-08,426.5000000000285,426.5168,2015-01-01 01:11:08,bin4268,35, -CTSPillarNetworkA,4269,4269,4269,1981-09-09,426.6000000000285,426.61682,2015-01-01 01:11:09,bin4269,75, -CTSPillarNetworkA,4270,4270,4270,1981-09-10,426.7000000000285,426.71683,2015-01-01 01:11:10,bin4270,35, -CTSPillarNetworkA,4271,4271,4271,1981-09-11,426.80000000002855,426.81683,2015-01-01 01:11:11,bin4271,75, -CTSPillarNetworkA,4272,4272,4272,1981-09-12,426.90000000002857,426.91684,2015-01-01 01:11:12,bin4272,35, -CTSPillarNetworkA,4273,4273,4273,1981-09-13,427.0000000000286,427.01685,2015-01-01 01:11:13,bin4273,75, -CTSPillarNetworkA,4274,4274,4274,1981-09-14,427.1000000000286,427.11685,2015-01-01 01:11:14,bin4274,35, -CTSPillarNetworkA,4275,4275,4275,1981-09-15,427.20000000002864,427.21686,2015-01-01 01:11:15,bin4275,75, -CTSPillarNetworkA,4276,4276,4276,1981-09-16,427.30000000002866,427.31686,2015-01-01 01:11:16,bin4276,35, -CTSPillarNetworkA,4277,4277,4277,1981-09-17,427.4000000000287,427.41687,2015-01-01 01:11:17,bin4277,75, -CTSPillarNetworkA,4278,4278,4278,1981-09-18,427.5000000000287,427.51688,2015-01-01 01:11:18,bin4278,35, -CTSPillarNetworkA,4279,4279,4279,1981-09-19,427.60000000002873,427.61688,2015-01-01 01:11:19,bin4279,75, -CTSPillarNetworkA,4280,4280,4280,1981-09-20,427.70000000002875,427.7169,2015-01-01 01:11:20,bin4280,35, -CTSPillarNetworkA,4281,4281,4281,1981-09-21,427.8000000000288,427.8169,2015-01-01 01:11:21,bin4281,75, -CTSPillarNetworkA,4282,4282,4282,1981-09-22,427.9000000000288,427.9169,2015-01-01 01:11:22,bin4282,35, -CTSPillarNetworkA,4283,4283,4283,1981-09-23,428.0000000000288,428.0169,2015-01-01 01:11:23,bin4283,75, -CTSPillarNetworkA,4284,4284,4284,1981-09-24,428.10000000002884,428.1169,2015-01-01 01:11:24,bin4284,35, -CTSPillarNetworkA,4285,4285,4285,1981-09-25,428.20000000002887,428.21692,2015-01-01 01:11:25,bin4285,75, -CTSPillarNetworkA,4286,4286,4286,1981-09-26,428.3000000000289,428.31693,2015-01-01 01:11:26,bin4286,35, -CTSPillarNetworkA,4287,4287,4287,1981-09-27,428.4000000000289,428.41693,2015-01-01 01:11:27,bin4287,75, -CTSPillarNetworkA,4288,4288,4288,1981-09-28,428.50000000002893,428.51694,2015-01-01 01:11:28,bin4288,35, -CTSPillarNetworkA,4289,4289,4289,1981-09-29,428.60000000002896,428.61694,2015-01-01 01:11:29,bin4289,75, -CTSPillarNetworkA,4290,4290,4290,1981-09-30,428.700000000029,428.71695,2015-01-01 01:11:30,bin4290,35, -CTSPillarNetworkA,4291,4291,4291,1981-10-01,428.800000000029,428.81696,2015-01-01 01:11:31,bin4291,75, -CTSPillarNetworkA,4292,4292,4292,1981-10-02,428.900000000029,428.91696,2015-01-01 01:11:32,bin4292,35, -CTSPillarNetworkA,4293,4293,4293,1981-10-03,429.00000000002905,429.01697,2015-01-01 01:11:33,bin4293,75, -CTSPillarNetworkA,4294,4294,4294,1981-10-04,429.10000000002907,429.11697,2015-01-01 01:11:34,bin4294,35, -CTSPillarNetworkA,4295,4295,4295,1981-10-05,429.2000000000291,429.21698,2015-01-01 01:11:35,bin4295,75, -CTSPillarNetworkA,4296,4296,4296,1981-10-06,429.3000000000291,429.317,2015-01-01 01:11:36,bin4296,35, -CTSPillarNetworkA,4297,4297,4297,1981-10-07,429.40000000002914,429.417,2015-01-01 01:11:37,bin4297,75, -CTSPillarNetworkA,4298,4298,4298,1981-10-08,429.50000000002916,429.517,2015-01-01 01:11:38,bin4298,35, -CTSPillarNetworkA,4299,4299,4299,1981-10-09,429.6000000000292,429.617,2015-01-01 01:11:39,bin4299,75, -CTSPillarNetworkA,4300,4300,4300,1981-10-10,429.7000000000292,429.717,2015-01-01 01:11:40,bin4300,35, -CTSPillarNetworkA,4301,4301,4301,1981-10-11,429.80000000002923,429.81702,2015-01-01 01:11:41,bin4301,75, -CTSPillarNetworkA,4302,4302,4302,1981-10-12,429.90000000002925,429.91702,2015-01-01 01:11:42,bin4302,35, -CTSPillarNetworkA,4303,4303,4303,1981-10-13,430.0000000000293,430.01703,2015-01-01 01:11:43,bin4303,75, -CTSPillarNetworkA,4304,4304,4304,1981-10-14,430.1000000000293,430.11703,2015-01-01 01:11:44,bin4304,35, -CTSPillarNetworkA,4305,4305,4305,1981-10-15,430.2000000000293,430.21704,2015-01-01 01:11:45,bin4305,75, -CTSPillarNetworkA,4306,4306,4306,1981-10-16,430.30000000002934,430.31705,2015-01-01 01:11:46,bin4306,35, -CTSPillarNetworkA,4307,4307,4307,1981-10-17,430.40000000002937,430.41705,2015-01-01 01:11:47,bin4307,75, -CTSPillarNetworkA,4308,4308,4308,1981-10-18,430.5000000000294,430.51706,2015-01-01 01:11:48,bin4308,35, -CTSPillarNetworkA,4309,4309,4309,1981-10-19,430.6000000000294,430.61707,2015-01-01 01:11:49,bin4309,75, -CTSPillarNetworkA,4310,4310,4310,1981-10-20,430.70000000002943,430.71707,2015-01-01 01:11:50,bin4310,35, -CTSPillarNetworkA,4311,4311,4311,1981-10-21,430.80000000002946,430.81708,2015-01-01 01:11:51,bin4311,75, -CTSPillarNetworkA,4312,4312,4312,1981-10-22,430.9000000000295,430.91708,2015-01-01 01:11:52,bin4312,35, -CTSPillarNetworkA,4313,4313,4313,1981-10-23,431.0000000000295,431.0171,2015-01-01 01:11:53,bin4313,75, -CTSPillarNetworkA,4314,4314,4314,1981-10-24,431.1000000000295,431.1171,2015-01-01 01:11:54,bin4314,35, -CTSPillarNetworkA,4315,4315,4315,1981-10-25,431.20000000002955,431.2171,2015-01-01 01:11:55,bin4315,75, -CTSPillarNetworkA,4316,4316,4316,1981-10-26,431.30000000002957,431.3171,2015-01-01 01:11:56,bin4316,35, -CTSPillarNetworkA,4317,4317,4317,1981-10-27,431.4000000000296,431.4171,2015-01-01 01:11:57,bin4317,75, -CTSPillarNetworkA,4318,4318,4318,1981-10-28,431.5000000000296,431.51712,2015-01-01 01:11:58,bin4318,35, -CTSPillarNetworkA,4319,4319,4319,1981-10-29,431.60000000002964,431.61713,2015-01-01 01:11:59,bin4319,75, -CTSPillarNetworkA,4320,4320,4320,1981-10-30,431.70000000002966,431.71713,2015-01-01 01:12:00,bin4320,35, -CTSPillarNetworkA,4321,4321,4321,1981-10-31,431.8000000000297,431.81714,2015-01-01 01:12:01,bin4321,75, -CTSPillarNetworkA,4322,4322,4322,1981-11-01,431.9000000000297,431.91714,2015-01-01 01:12:02,bin4322,35, -CTSPillarNetworkA,4323,4323,4323,1981-11-02,432.00000000002973,432.01715,2015-01-01 01:12:03,bin4323,75, -CTSPillarNetworkA,4324,4324,4324,1981-11-03,432.10000000002975,432.11716,2015-01-01 01:12:04,bin4324,35, -CTSPillarNetworkA,4325,4325,4325,1981-11-04,432.2000000000298,432.21716,2015-01-01 01:12:05,bin4325,75, -CTSPillarNetworkA,4326,4326,4326,1981-11-05,432.3000000000298,432.31717,2015-01-01 01:12:06,bin4326,35, -CTSPillarNetworkA,4327,4327,4327,1981-11-06,432.4000000000298,432.41718,2015-01-01 01:12:07,bin4327,75, -CTSPillarNetworkA,4328,4328,4328,1981-11-07,432.50000000002984,432.51718,2015-01-01 01:12:08,bin4328,35, -CTSPillarNetworkA,4329,4329,4329,1981-11-08,432.60000000002987,432.6172,2015-01-01 01:12:09,bin4329,75, -CTSPillarNetworkA,4330,4330,4330,1981-11-09,432.7000000000299,432.7172,2015-01-01 01:12:10,bin4330,35, -CTSPillarNetworkA,4331,4331,4331,1981-11-10,432.8000000000299,432.8172,2015-01-01 01:12:11,bin4331,75, -CTSPillarNetworkA,4332,4332,4332,1981-11-11,432.90000000002993,432.9172,2015-01-01 01:12:12,bin4332,35, -CTSPillarNetworkA,4333,4333,4333,1981-11-12,433.00000000002996,433.0172,2015-01-01 01:12:13,bin4333,75, -CTSPillarNetworkA,4334,4334,4334,1981-11-13,433.10000000003,433.11722,2015-01-01 01:12:14,bin4334,35, -CTSPillarNetworkA,4335,4335,4335,1981-11-14,433.20000000003,433.21722,2015-01-01 01:12:15,bin4335,75, -CTSPillarNetworkA,4336,4336,4336,1981-11-15,433.30000000003,433.31723,2015-01-01 01:12:16,bin4336,35, -CTSPillarNetworkA,4337,4337,4337,1981-11-16,433.40000000003005,433.41724,2015-01-01 01:12:17,bin4337,75, -CTSPillarNetworkA,4338,4338,4338,1981-11-17,433.50000000003007,433.51724,2015-01-01 01:12:18,bin4338,35, -CTSPillarNetworkA,4339,4339,4339,1981-11-18,433.6000000000301,433.61725,2015-01-01 01:12:19,bin4339,75, -CTSPillarNetworkA,4340,4340,4340,1981-11-19,433.7000000000301,433.71725,2015-01-01 01:12:20,bin4340,35, -CTSPillarNetworkA,4341,4341,4341,1981-11-20,433.80000000003014,433.81726,2015-01-01 01:12:21,bin4341,75, -CTSPillarNetworkA,4342,4342,4342,1981-11-21,433.90000000003016,433.91727,2015-01-01 01:12:22,bin4342,35, -CTSPillarNetworkA,4343,4343,4343,1981-11-22,434.0000000000302,434.01727,2015-01-01 01:12:23,bin4343,75, -CTSPillarNetworkA,4344,4344,4344,1981-11-23,434.1000000000302,434.11728,2015-01-01 01:12:24,bin4344,35, -CTSPillarNetworkA,4345,4345,4345,1981-11-24,434.20000000003023,434.2173,2015-01-01 01:12:25,bin4345,75, -CTSPillarNetworkA,4346,4346,4346,1981-11-25,434.30000000003025,434.3173,2015-01-01 01:12:26,bin4346,35, -CTSPillarNetworkA,4347,4347,4347,1981-11-26,434.4000000000303,434.4173,2015-01-01 01:12:27,bin4347,75, -CTSPillarNetworkA,4348,4348,4348,1981-11-27,434.5000000000303,434.5173,2015-01-01 01:12:28,bin4348,35, -CTSPillarNetworkA,4349,4349,4349,1981-11-28,434.6000000000303,434.6173,2015-01-01 01:12:29,bin4349,75, -CTSPillarNetworkA,4350,4350,4350,1981-11-29,434.70000000003034,434.71732,2015-01-01 01:12:30,bin4350,35, -CTSPillarNetworkA,4351,4351,4351,1981-11-30,434.80000000003037,434.81732,2015-01-01 01:12:31,bin4351,75, -CTSPillarNetworkA,4352,4352,4352,1981-12-01,434.9000000000304,434.91733,2015-01-01 01:12:32,bin4352,35, -CTSPillarNetworkA,4353,4353,4353,1981-12-02,435.0000000000304,435.01733,2015-01-01 01:12:33,bin4353,75, -CTSPillarNetworkA,4354,4354,4354,1981-12-03,435.10000000003043,435.11734,2015-01-01 01:12:34,bin4354,35, -CTSPillarNetworkA,4355,4355,4355,1981-12-04,435.20000000003046,435.21735,2015-01-01 01:12:35,bin4355,75, -CTSPillarNetworkA,4356,4356,4356,1981-12-05,435.3000000000305,435.31735,2015-01-01 01:12:36,bin4356,35, -CTSPillarNetworkA,4357,4357,4357,1981-12-06,435.4000000000305,435.41736,2015-01-01 01:12:37,bin4357,75, -CTSPillarNetworkA,4358,4358,4358,1981-12-07,435.5000000000305,435.51736,2015-01-01 01:12:38,bin4358,35, -CTSPillarNetworkA,4359,4359,4359,1981-12-08,435.60000000003055,435.61737,2015-01-01 01:12:39,bin4359,75, -CTSPillarNetworkA,4360,4360,4360,1981-12-09,435.70000000003057,435.71738,2015-01-01 01:12:40,bin4360,35, -CTSPillarNetworkA,4361,4361,4361,1981-12-10,435.8000000000306,435.81738,2015-01-01 01:12:41,bin4361,75, -CTSPillarNetworkA,4362,4362,4362,1981-12-11,435.9000000000306,435.9174,2015-01-01 01:12:42,bin4362,35, -CTSPillarNetworkA,4363,4363,4363,1981-12-12,436.00000000003064,436.0174,2015-01-01 01:12:43,bin4363,75, -CTSPillarNetworkA,4364,4364,4364,1981-12-13,436.10000000003066,436.1174,2015-01-01 01:12:44,bin4364,35, -CTSPillarNetworkA,4365,4365,4365,1981-12-14,436.2000000000307,436.2174,2015-01-01 01:12:45,bin4365,75, -CTSPillarNetworkA,4366,4366,4366,1981-12-15,436.3000000000307,436.3174,2015-01-01 01:12:46,bin4366,35, -CTSPillarNetworkA,4367,4367,4367,1981-12-16,436.40000000003073,436.41742,2015-01-01 01:12:47,bin4367,75, -CTSPillarNetworkA,4368,4368,4368,1981-12-17,436.50000000003075,436.51743,2015-01-01 01:12:48,bin4368,35, -CTSPillarNetworkA,4369,4369,4369,1981-12-18,436.6000000000308,436.61743,2015-01-01 01:12:49,bin4369,75, -CTSPillarNetworkA,4370,4370,4370,1981-12-19,436.7000000000308,436.71744,2015-01-01 01:12:50,bin4370,35, -CTSPillarNetworkA,4371,4371,4371,1981-12-20,436.8000000000308,436.81744,2015-01-01 01:12:51,bin4371,75, -CTSPillarNetworkA,4372,4372,4372,1981-12-21,436.90000000003084,436.91745,2015-01-01 01:12:52,bin4372,35, -CTSPillarNetworkA,4373,4373,4373,1981-12-22,437.00000000003087,437.01746,2015-01-01 01:12:53,bin4373,75, -CTSPillarNetworkA,4374,4374,4374,1981-12-23,437.1000000000309,437.11746,2015-01-01 01:12:54,bin4374,35, -CTSPillarNetworkA,4375,4375,4375,1981-12-24,437.2000000000309,437.21747,2015-01-01 01:12:55,bin4375,75, -CTSPillarNetworkA,4376,4376,4376,1981-12-25,437.30000000003093,437.31747,2015-01-01 01:12:56,bin4376,35, -CTSPillarNetworkA,4377,4377,4377,1981-12-26,437.40000000003096,437.41748,2015-01-01 01:12:57,bin4377,75, -CTSPillarNetworkA,4378,4378,4378,1981-12-27,437.500000000031,437.5175,2015-01-01 01:12:58,bin4378,35, -CTSPillarNetworkA,4379,4379,4379,1981-12-28,437.600000000031,437.6175,2015-01-01 01:12:59,bin4379,75, -CTSPillarNetworkA,4380,4380,4380,1981-12-29,437.700000000031,437.7175,2015-01-01 01:13:00,bin4380,35, -CTSPillarNetworkA,4381,4381,4381,1981-12-30,437.80000000003105,437.8175,2015-01-01 01:13:01,bin4381,75, -CTSPillarNetworkA,4382,4382,4382,1981-12-31,437.90000000003107,437.9175,2015-01-01 01:13:02,bin4382,35, -CTSPillarNetworkA,4383,4383,4383,1982-01-01,438.0000000000311,438.01752,2015-01-01 01:13:03,bin4383,75, -CTSPillarNetworkA,4384,4384,4384,1982-01-02,438.1000000000311,438.11752,2015-01-01 01:13:04,bin4384,35, -CTSPillarNetworkA,4385,4385,4385,1982-01-03,438.20000000003114,438.21753,2015-01-01 01:13:05,bin4385,75, -CTSPillarNetworkA,4386,4386,4386,1982-01-04,438.30000000003116,438.31754,2015-01-01 01:13:06,bin4386,35, -CTSPillarNetworkA,4387,4387,4387,1982-01-05,438.4000000000312,438.41754,2015-01-01 01:13:07,bin4387,75, -CTSPillarNetworkA,4388,4388,4388,1982-01-06,438.5000000000312,438.51755,2015-01-01 01:13:08,bin4388,35, -CTSPillarNetworkA,4389,4389,4389,1982-01-07,438.60000000003123,438.61755,2015-01-01 01:13:09,bin4389,75, -CTSPillarNetworkA,4390,4390,4390,1982-01-08,438.70000000003125,438.71756,2015-01-01 01:13:10,bin4390,35, -CTSPillarNetworkA,4391,4391,4391,1982-01-09,438.8000000000313,438.81757,2015-01-01 01:13:11,bin4391,75, -CTSPillarNetworkA,4392,4392,4392,1982-01-10,438.9000000000313,438.91757,2015-01-01 01:13:12,bin4392,35, -CTSPillarNetworkA,4393,4393,4393,1982-01-11,439.0000000000313,439.01758,2015-01-01 01:13:13,bin4393,75, -CTSPillarNetworkA,4394,4394,4394,1982-01-12,439.10000000003134,439.11758,2015-01-01 01:13:14,bin4394,35, -CTSPillarNetworkA,4395,4395,4395,1982-01-13,439.20000000003137,439.2176,2015-01-01 01:13:15,bin4395,75, -CTSPillarNetworkA,4396,4396,4396,1982-01-14,439.3000000000314,439.3176,2015-01-01 01:13:16,bin4396,35, -CTSPillarNetworkA,4397,4397,4397,1982-01-15,439.4000000000314,439.4176,2015-01-01 01:13:17,bin4397,75, -CTSPillarNetworkA,4398,4398,4398,1982-01-16,439.50000000003143,439.5176,2015-01-01 01:13:18,bin4398,35, -CTSPillarNetworkA,4399,4399,4399,1982-01-17,439.60000000003146,439.6176,2015-01-01 01:13:19,bin4399,75, -CTSPillarNetworkA,4400,4400,4400,1982-01-18,439.7000000000315,439.71762,2015-01-01 01:13:20,bin4400,35, -CTSPillarNetworkA,4401,4401,4401,1982-01-19,439.8000000000315,439.81763,2015-01-01 01:13:21,bin4401,75, -CTSPillarNetworkA,4402,4402,4402,1982-01-20,439.9000000000315,439.91763,2015-01-01 01:13:22,bin4402,35, -CTSPillarNetworkA,4403,4403,4403,1982-01-21,440.00000000003155,440.01764,2015-01-01 01:13:23,bin4403,75, -CTSPillarNetworkA,4404,4404,4404,1982-01-22,440.10000000003157,440.11765,2015-01-01 01:13:24,bin4404,35, -CTSPillarNetworkA,4405,4405,4405,1982-01-23,440.2000000000316,440.21765,2015-01-01 01:13:25,bin4405,75, -CTSPillarNetworkA,4406,4406,4406,1982-01-24,440.3000000000316,440.31766,2015-01-01 01:13:26,bin4406,35, -CTSPillarNetworkA,4407,4407,4407,1982-01-25,440.40000000003164,440.41766,2015-01-01 01:13:27,bin4407,75, -CTSPillarNetworkA,4408,4408,4408,1982-01-26,440.50000000003166,440.51767,2015-01-01 01:13:28,bin4408,35, -CTSPillarNetworkA,4409,4409,4409,1982-01-27,440.6000000000317,440.61768,2015-01-01 01:13:29,bin4409,75, -CTSPillarNetworkA,4410,4410,4410,1982-01-28,440.7000000000317,440.71768,2015-01-01 01:13:30,bin4410,35, -CTSPillarNetworkA,4411,4411,4411,1982-01-29,440.80000000003173,440.8177,2015-01-01 01:13:31,bin4411,75, -CTSPillarNetworkA,4412,4412,4412,1982-01-30,440.90000000003175,440.9177,2015-01-01 01:13:32,bin4412,35, -CTSPillarNetworkA,4413,4413,4413,1982-01-31,441.0000000000318,441.0177,2015-01-01 01:13:33,bin4413,75, -CTSPillarNetworkA,4414,4414,4414,1982-02-01,441.1000000000318,441.1177,2015-01-01 01:13:34,bin4414,35, -CTSPillarNetworkA,4415,4415,4415,1982-02-02,441.2000000000318,441.2177,2015-01-01 01:13:35,bin4415,75, -CTSPillarNetworkA,4416,4416,4416,1982-02-03,441.30000000003184,441.31772,2015-01-01 01:13:36,bin4416,35, -CTSPillarNetworkA,4417,4417,4417,1982-02-04,441.40000000003187,441.41772,2015-01-01 01:13:37,bin4417,75, -CTSPillarNetworkA,4418,4418,4418,1982-02-05,441.5000000000319,441.51773,2015-01-01 01:13:38,bin4418,35, -CTSPillarNetworkA,4419,4419,4419,1982-02-06,441.6000000000319,441.61774,2015-01-01 01:13:39,bin4419,75, -CTSPillarNetworkA,4420,4420,4420,1982-02-07,441.70000000003193,441.71774,2015-01-01 01:13:40,bin4420,35, -CTSPillarNetworkA,4421,4421,4421,1982-02-08,441.80000000003196,441.81775,2015-01-01 01:13:41,bin4421,75, -CTSPillarNetworkA,4422,4422,4422,1982-02-09,441.900000000032,441.91776,2015-01-01 01:13:42,bin4422,35, -CTSPillarNetworkA,4423,4423,4423,1982-02-10,442.000000000032,442.01776,2015-01-01 01:13:43,bin4423,75, -CTSPillarNetworkA,4424,4424,4424,1982-02-11,442.100000000032,442.11777,2015-01-01 01:13:44,bin4424,35, -CTSPillarNetworkA,4425,4425,4425,1982-02-12,442.20000000003205,442.21777,2015-01-01 01:13:45,bin4425,75, -CTSPillarNetworkA,4426,4426,4426,1982-02-13,442.30000000003207,442.31778,2015-01-01 01:13:46,bin4426,35, -CTSPillarNetworkA,4427,4427,4427,1982-02-14,442.4000000000321,442.4178,2015-01-01 01:13:47,bin4427,75, -CTSPillarNetworkA,4428,4428,4428,1982-02-15,442.5000000000321,442.5178,2015-01-01 01:13:48,bin4428,35, -CTSPillarNetworkA,4429,4429,4429,1982-02-16,442.60000000003214,442.6178,2015-01-01 01:13:49,bin4429,75, -CTSPillarNetworkA,4430,4430,4430,1982-02-17,442.70000000003216,442.7178,2015-01-01 01:13:50,bin4430,35, -CTSPillarNetworkA,4431,4431,4431,1982-02-18,442.8000000000322,442.8178,2015-01-01 01:13:51,bin4431,75, -CTSPillarNetworkA,4432,4432,4432,1982-02-19,442.9000000000322,442.91782,2015-01-01 01:13:52,bin4432,35, -CTSPillarNetworkA,4433,4433,4433,1982-02-20,443.00000000003223,443.01782,2015-01-01 01:13:53,bin4433,75, -CTSPillarNetworkA,4434,4434,4434,1982-02-21,443.10000000003225,443.11783,2015-01-01 01:13:54,bin4434,35, -CTSPillarNetworkA,4435,4435,4435,1982-02-22,443.2000000000323,443.21783,2015-01-01 01:13:55,bin4435,75, -CTSPillarNetworkA,4436,4436,4436,1982-02-23,443.3000000000323,443.31784,2015-01-01 01:13:56,bin4436,35, -CTSPillarNetworkA,4437,4437,4437,1982-02-24,443.4000000000323,443.41785,2015-01-01 01:13:57,bin4437,75, -CTSPillarNetworkA,4438,4438,4438,1982-02-25,443.50000000003234,443.51785,2015-01-01 01:13:58,bin4438,35, -CTSPillarNetworkA,4439,4439,4439,1982-02-26,443.60000000003237,443.61786,2015-01-01 01:13:59,bin4439,75, -CTSPillarNetworkA,4440,4440,4440,1982-02-27,443.7000000000324,443.71786,2015-01-01 01:14:00,bin4440,35, -CTSPillarNetworkA,4441,4441,4441,1982-02-28,443.8000000000324,443.81787,2015-01-01 01:14:01,bin4441,75, -CTSPillarNetworkA,4442,4442,4442,1982-03-01,443.90000000003243,443.91788,2015-01-01 01:14:02,bin4442,35, -CTSPillarNetworkA,4443,4443,4443,1982-03-02,444.00000000003246,444.01788,2015-01-01 01:14:03,bin4443,75, -CTSPillarNetworkA,4444,4444,4444,1982-03-03,444.1000000000325,444.1179,2015-01-01 01:14:04,bin4444,35, -CTSPillarNetworkA,4445,4445,4445,1982-03-04,444.2000000000325,444.2179,2015-01-01 01:14:05,bin4445,75, -CTSPillarNetworkA,4446,4446,4446,1982-03-05,444.3000000000325,444.3179,2015-01-01 01:14:06,bin4446,35, -CTSPillarNetworkA,4447,4447,4447,1982-03-06,444.40000000003255,444.4179,2015-01-01 01:14:07,bin4447,75, -CTSPillarNetworkA,4448,4448,4448,1982-03-07,444.50000000003257,444.5179,2015-01-01 01:14:08,bin4448,35, -CTSPillarNetworkA,4449,4449,4449,1982-03-08,444.6000000000326,444.61792,2015-01-01 01:14:09,bin4449,75, -CTSPillarNetworkA,4450,4450,4450,1982-03-09,444.7000000000326,444.71793,2015-01-01 01:14:10,bin4450,35, -CTSPillarNetworkA,4451,4451,4451,1982-03-10,444.80000000003264,444.81793,2015-01-01 01:14:11,bin4451,75, -CTSPillarNetworkA,4452,4452,4452,1982-03-11,444.90000000003266,444.91794,2015-01-01 01:14:12,bin4452,35, -CTSPillarNetworkA,4453,4453,4453,1982-03-12,445.0000000000327,445.01794,2015-01-01 01:14:13,bin4453,75, -CTSPillarNetworkA,4454,4454,4454,1982-03-13,445.1000000000327,445.11795,2015-01-01 01:14:14,bin4454,35, -CTSPillarNetworkA,4455,4455,4455,1982-03-14,445.20000000003273,445.21796,2015-01-01 01:14:15,bin4455,75, -CTSPillarNetworkA,4456,4456,4456,1982-03-15,445.30000000003275,445.31796,2015-01-01 01:14:16,bin4456,35, -CTSPillarNetworkA,4457,4457,4457,1982-03-16,445.4000000000328,445.41797,2015-01-01 01:14:17,bin4457,75, -CTSPillarNetworkA,4458,4458,4458,1982-03-17,445.5000000000328,445.51797,2015-01-01 01:14:18,bin4458,35, -CTSPillarNetworkA,4459,4459,4459,1982-03-18,445.6000000000328,445.61798,2015-01-01 01:14:19,bin4459,75, -CTSPillarNetworkA,4460,4460,4460,1982-03-19,445.70000000003284,445.718,2015-01-01 01:14:20,bin4460,35, -CTSPillarNetworkA,4461,4461,4461,1982-03-20,445.80000000003287,445.818,2015-01-01 01:14:21,bin4461,75, -CTSPillarNetworkA,4462,4462,4462,1982-03-21,445.9000000000329,445.918,2015-01-01 01:14:22,bin4462,35, -CTSPillarNetworkA,4463,4463,4463,1982-03-22,446.0000000000329,446.018,2015-01-01 01:14:23,bin4463,75, -CTSPillarNetworkA,4464,4464,4464,1982-03-23,446.10000000003294,446.118,2015-01-01 01:14:24,bin4464,35, -CTSPillarNetworkA,4465,4465,4465,1982-03-24,446.20000000003296,446.21802,2015-01-01 01:14:25,bin4465,75, -CTSPillarNetworkA,4466,4466,4466,1982-03-25,446.300000000033,446.31802,2015-01-01 01:14:26,bin4466,35, -CTSPillarNetworkA,4467,4467,4467,1982-03-26,446.400000000033,446.41803,2015-01-01 01:14:27,bin4467,75, -CTSPillarNetworkA,4468,4468,4468,1982-03-27,446.500000000033,446.51804,2015-01-01 01:14:28,bin4468,35, -CTSPillarNetworkA,4469,4469,4469,1982-03-28,446.60000000003305,446.61804,2015-01-01 01:14:29,bin4469,75, -CTSPillarNetworkA,4470,4470,4470,1982-03-29,446.70000000003307,446.71805,2015-01-01 01:14:30,bin4470,35, -CTSPillarNetworkA,4471,4471,4471,1982-03-30,446.8000000000331,446.81805,2015-01-01 01:14:31,bin4471,75, -CTSPillarNetworkA,4472,4472,4472,1982-03-31,446.9000000000331,446.91806,2015-01-01 01:14:32,bin4472,35, -CTSPillarNetworkA,4473,4473,4473,1982-04-01,447.00000000003314,447.01807,2015-01-01 01:14:33,bin4473,75, -CTSPillarNetworkA,4474,4474,4474,1982-04-02,447.10000000003316,447.11807,2015-01-01 01:14:34,bin4474,35, -CTSPillarNetworkA,4475,4475,4475,1982-04-03,447.2000000000332,447.21808,2015-01-01 01:14:35,bin4475,75, -CTSPillarNetworkA,4476,4476,4476,1982-04-04,447.3000000000332,447.31808,2015-01-01 01:14:36,bin4476,35, -CTSPillarNetworkA,4477,4477,4477,1982-04-05,447.40000000003323,447.4181,2015-01-01 01:14:37,bin4477,75, -CTSPillarNetworkA,4478,4478,4478,1982-04-06,447.50000000003325,447.5181,2015-01-01 01:14:38,bin4478,35, -CTSPillarNetworkA,4479,4479,4479,1982-04-07,447.6000000000333,447.6181,2015-01-01 01:14:39,bin4479,75, -CTSPillarNetworkA,4480,4480,4480,1982-04-08,447.7000000000333,447.7181,2015-01-01 01:14:40,bin4480,35, -CTSPillarNetworkA,4481,4481,4481,1982-04-09,447.8000000000333,447.8181,2015-01-01 01:14:41,bin4481,75, -CTSPillarNetworkA,4482,4482,4482,1982-04-10,447.90000000003334,447.91812,2015-01-01 01:14:42,bin4482,35, -CTSPillarNetworkA,4483,4483,4483,1982-04-11,448.00000000003337,448.01813,2015-01-01 01:14:43,bin4483,75, -CTSPillarNetworkA,4484,4484,4484,1982-04-12,448.1000000000334,448.11813,2015-01-01 01:14:44,bin4484,35, -CTSPillarNetworkA,4485,4485,4485,1982-04-13,448.2000000000334,448.21814,2015-01-01 01:14:45,bin4485,75, -CTSPillarNetworkA,4486,4486,4486,1982-04-14,448.30000000003344,448.31815,2015-01-01 01:14:46,bin4486,35, -CTSPillarNetworkA,4487,4487,4487,1982-04-15,448.40000000003346,448.41815,2015-01-01 01:14:47,bin4487,75, -CTSPillarNetworkA,4488,4488,4488,1982-04-16,448.5000000000335,448.51816,2015-01-01 01:14:48,bin4488,35, -CTSPillarNetworkA,4489,4489,4489,1982-04-17,448.6000000000335,448.61816,2015-01-01 01:14:49,bin4489,75, -CTSPillarNetworkA,4490,4490,4490,1982-04-18,448.7000000000335,448.71817,2015-01-01 01:14:50,bin4490,35, -CTSPillarNetworkA,4491,4491,4491,1982-04-19,448.80000000003355,448.81818,2015-01-01 01:14:51,bin4491,75, -CTSPillarNetworkA,4492,4492,4492,1982-04-20,448.9000000000336,448.91818,2015-01-01 01:14:52,bin4492,35, -CTSPillarNetworkA,4493,4493,4493,1982-04-21,449.0000000000336,449.0182,2015-01-01 01:14:53,bin4493,75, -CTSPillarNetworkA,4494,4494,4494,1982-04-22,449.1000000000336,449.1182,2015-01-01 01:14:54,bin4494,35, -CTSPillarNetworkA,4495,4495,4495,1982-04-23,449.20000000003364,449.2182,2015-01-01 01:14:55,bin4495,75, -CTSPillarNetworkA,4496,4496,4496,1982-04-24,449.30000000003366,449.3182,2015-01-01 01:14:56,bin4496,35, -CTSPillarNetworkA,4497,4497,4497,1982-04-25,449.4000000000337,449.4182,2015-01-01 01:14:57,bin4497,75, -CTSPillarNetworkA,4498,4498,4498,1982-04-26,449.5000000000337,449.51822,2015-01-01 01:14:58,bin4498,35, -CTSPillarNetworkA,4499,4499,4499,1982-04-27,449.60000000003373,449.61823,2015-01-01 01:14:59,bin4499,75, -CTSPillarNetworkA,4500,4500,4500,1982-04-28,449.70000000003375,449.71823,2015-01-01 01:15:00,bin4500,35, -CTSPillarNetworkA,4501,4501,4501,1982-04-29,449.8000000000338,449.81824,2015-01-01 01:15:01,bin4501,75, -CTSPillarNetworkA,4502,4502,4502,1982-04-30,449.9000000000338,449.91824,2015-01-01 01:15:02,bin4502,35, -CTSPillarNetworkA,4503,4503,4503,1982-05-01,450.0000000000338,450.01825,2015-01-01 01:15:03,bin4503,75, -CTSPillarNetworkA,4504,4504,4504,1982-05-02,450.10000000003384,450.11826,2015-01-01 01:15:04,bin4504,35, -CTSPillarNetworkA,4505,4505,4505,1982-05-03,450.20000000003387,450.21826,2015-01-01 01:15:05,bin4505,75, -CTSPillarNetworkA,4506,4506,4506,1982-05-04,450.3000000000339,450.31827,2015-01-01 01:15:06,bin4506,35, -CTSPillarNetworkA,4507,4507,4507,1982-05-05,450.4000000000339,450.41827,2015-01-01 01:15:07,bin4507,75, -CTSPillarNetworkA,4508,4508,4508,1982-05-06,450.50000000003394,450.51828,2015-01-01 01:15:08,bin4508,35, -CTSPillarNetworkA,4509,4509,4509,1982-05-07,450.60000000003396,450.6183,2015-01-01 01:15:09,bin4509,75, -CTSPillarNetworkA,4510,4510,4510,1982-05-08,450.700000000034,450.7183,2015-01-01 01:15:10,bin4510,35, -CTSPillarNetworkA,4511,4511,4511,1982-05-09,450.800000000034,450.8183,2015-01-01 01:15:11,bin4511,75, -CTSPillarNetworkA,4512,4512,4512,1982-05-10,450.900000000034,450.9183,2015-01-01 01:15:12,bin4512,35, -CTSPillarNetworkA,4513,4513,4513,1982-05-11,451.00000000003405,451.0183,2015-01-01 01:15:13,bin4513,75, -CTSPillarNetworkA,4514,4514,4514,1982-05-12,451.1000000000341,451.11832,2015-01-01 01:15:14,bin4514,35, -CTSPillarNetworkA,4515,4515,4515,1982-05-13,451.2000000000341,451.21832,2015-01-01 01:15:15,bin4515,75, -CTSPillarNetworkA,4516,4516,4516,1982-05-14,451.3000000000341,451.31833,2015-01-01 01:15:16,bin4516,35, -CTSPillarNetworkA,4517,4517,4517,1982-05-15,451.40000000003414,451.41833,2015-01-01 01:15:17,bin4517,75, -CTSPillarNetworkA,4518,4518,4518,1982-05-16,451.50000000003416,451.51834,2015-01-01 01:15:18,bin4518,35, -CTSPillarNetworkA,4519,4519,4519,1982-05-17,451.6000000000342,451.61835,2015-01-01 01:15:19,bin4519,75, -CTSPillarNetworkA,4520,4520,4520,1982-05-18,451.7000000000342,451.71835,2015-01-01 01:15:20,bin4520,35, -CTSPillarNetworkA,4521,4521,4521,1982-05-19,451.80000000003423,451.81836,2015-01-01 01:15:21,bin4521,75, -CTSPillarNetworkA,4522,4522,4522,1982-05-20,451.90000000003425,451.91837,2015-01-01 01:15:22,bin4522,35, -CTSPillarNetworkA,4523,4523,4523,1982-05-21,452.0000000000343,452.01837,2015-01-01 01:15:23,bin4523,75, -CTSPillarNetworkA,4524,4524,4524,1982-05-22,452.1000000000343,452.11838,2015-01-01 01:15:24,bin4524,35, -CTSPillarNetworkA,4525,4525,4525,1982-05-23,452.2000000000343,452.21838,2015-01-01 01:15:25,bin4525,75, -CTSPillarNetworkA,4526,4526,4526,1982-05-24,452.30000000003434,452.3184,2015-01-01 01:15:26,bin4526,35, -CTSPillarNetworkA,4527,4527,4527,1982-05-25,452.40000000003437,452.4184,2015-01-01 01:15:27,bin4527,75, -CTSPillarNetworkA,4528,4528,4528,1982-05-26,452.5000000000344,452.5184,2015-01-01 01:15:28,bin4528,35, -CTSPillarNetworkA,4529,4529,4529,1982-05-27,452.6000000000344,452.6184,2015-01-01 01:15:29,bin4529,75, -CTSPillarNetworkA,4530,4530,4530,1982-05-28,452.70000000003444,452.7184,2015-01-01 01:15:30,bin4530,35, -CTSPillarNetworkA,4531,4531,4531,1982-05-29,452.80000000003446,452.81842,2015-01-01 01:15:31,bin4531,75, -CTSPillarNetworkA,4532,4532,4532,1982-05-30,452.9000000000345,452.91843,2015-01-01 01:15:32,bin4532,35, -CTSPillarNetworkA,4533,4533,4533,1982-05-31,453.0000000000345,453.01843,2015-01-01 01:15:33,bin4533,75, -CTSPillarNetworkA,4534,4534,4534,1982-06-01,453.1000000000345,453.11844,2015-01-01 01:15:34,bin4534,35, -CTSPillarNetworkA,4535,4535,4535,1982-06-02,453.20000000003455,453.21844,2015-01-01 01:15:35,bin4535,75, -CTSPillarNetworkA,4536,4536,4536,1982-06-03,453.3000000000346,453.31845,2015-01-01 01:15:36,bin4536,35, -CTSPillarNetworkA,4537,4537,4537,1982-06-04,453.4000000000346,453.41846,2015-01-01 01:15:37,bin4537,75, -CTSPillarNetworkA,4538,4538,4538,1982-06-05,453.5000000000346,453.51846,2015-01-01 01:15:38,bin4538,35, -CTSPillarNetworkA,4539,4539,4539,1982-06-06,453.60000000003464,453.61847,2015-01-01 01:15:39,bin4539,75, -CTSPillarNetworkA,4540,4540,4540,1982-06-07,453.70000000003466,453.71848,2015-01-01 01:15:40,bin4540,35, -CTSPillarNetworkA,4541,4541,4541,1982-06-08,453.8000000000347,453.81848,2015-01-01 01:15:41,bin4541,75, -CTSPillarNetworkA,4542,4542,4542,1982-06-09,453.9000000000347,453.9185,2015-01-01 01:15:42,bin4542,35, -CTSPillarNetworkA,4543,4543,4543,1982-06-10,454.00000000003473,454.0185,2015-01-01 01:15:43,bin4543,75, -CTSPillarNetworkA,4544,4544,4544,1982-06-11,454.10000000003475,454.1185,2015-01-01 01:15:44,bin4544,35, -CTSPillarNetworkA,4545,4545,4545,1982-06-12,454.2000000000348,454.2185,2015-01-01 01:15:45,bin4545,75, -CTSPillarNetworkA,4546,4546,4546,1982-06-13,454.3000000000348,454.3185,2015-01-01 01:15:46,bin4546,35, -CTSPillarNetworkA,4547,4547,4547,1982-06-14,454.4000000000348,454.41852,2015-01-01 01:15:47,bin4547,75, -CTSPillarNetworkA,4548,4548,4548,1982-06-15,454.50000000003485,454.51852,2015-01-01 01:15:48,bin4548,35, -CTSPillarNetworkA,4549,4549,4549,1982-06-16,454.60000000003487,454.61853,2015-01-01 01:15:49,bin4549,75, -CTSPillarNetworkA,4550,4550,4550,1982-06-17,454.7000000000349,454.71854,2015-01-01 01:15:50,bin4550,35, -CTSPillarNetworkA,4551,4551,4551,1982-06-18,454.8000000000349,454.81854,2015-01-01 01:15:51,bin4551,75, -CTSPillarNetworkA,4552,4552,4552,1982-06-19,454.90000000003494,454.91855,2015-01-01 01:15:52,bin4552,35, -CTSPillarNetworkA,4553,4553,4553,1982-06-20,455.00000000003496,455.01855,2015-01-01 01:15:53,bin4553,75, -CTSPillarNetworkA,4554,4554,4554,1982-06-21,455.100000000035,455.11856,2015-01-01 01:15:54,bin4554,35, -CTSPillarNetworkA,4555,4555,4555,1982-06-22,455.200000000035,455.21857,2015-01-01 01:15:55,bin4555,75, -CTSPillarNetworkA,4556,4556,4556,1982-06-23,455.300000000035,455.31857,2015-01-01 01:15:56,bin4556,35, -CTSPillarNetworkA,4557,4557,4557,1982-06-24,455.40000000003505,455.41858,2015-01-01 01:15:57,bin4557,75, -CTSPillarNetworkA,4558,4558,4558,1982-06-25,455.5000000000351,455.5186,2015-01-01 01:15:58,bin4558,35, -CTSPillarNetworkA,4559,4559,4559,1982-06-26,455.6000000000351,455.6186,2015-01-01 01:15:59,bin4559,75, -CTSPillarNetworkA,4560,4560,4560,1982-06-27,455.7000000000351,455.7186,2015-01-01 01:16:00,bin4560,35, -CTSPillarNetworkA,4561,4561,4561,1982-06-28,455.80000000003514,455.8186,2015-01-01 01:16:01,bin4561,75, -CTSPillarNetworkA,4562,4562,4562,1982-06-29,455.90000000003516,455.9186,2015-01-01 01:16:02,bin4562,35, -CTSPillarNetworkA,4563,4563,4563,1982-06-30,456.0000000000352,456.01862,2015-01-01 01:16:03,bin4563,75, -CTSPillarNetworkA,4564,4564,4564,1982-07-01,456.1000000000352,456.11862,2015-01-01 01:16:04,bin4564,35, -CTSPillarNetworkA,4565,4565,4565,1982-07-02,456.20000000003523,456.21863,2015-01-01 01:16:05,bin4565,75, -CTSPillarNetworkA,4566,4566,4566,1982-07-03,456.30000000003525,456.31863,2015-01-01 01:16:06,bin4566,35, -CTSPillarNetworkA,4567,4567,4567,1982-07-04,456.4000000000353,456.41864,2015-01-01 01:16:07,bin4567,75, -CTSPillarNetworkA,4568,4568,4568,1982-07-05,456.5000000000353,456.51865,2015-01-01 01:16:08,bin4568,35, -CTSPillarNetworkA,4569,4569,4569,1982-07-06,456.6000000000353,456.61865,2015-01-01 01:16:09,bin4569,75, -CTSPillarNetworkA,4570,4570,4570,1982-07-07,456.70000000003535,456.71866,2015-01-01 01:16:10,bin4570,35, -CTSPillarNetworkA,4571,4571,4571,1982-07-08,456.80000000003537,456.81866,2015-01-01 01:16:11,bin4571,75, -CTSPillarNetworkA,4572,4572,4572,1982-07-09,456.9000000000354,456.91867,2015-01-01 01:16:12,bin4572,35, -CTSPillarNetworkA,4573,4573,4573,1982-07-10,457.0000000000354,457.01868,2015-01-01 01:16:13,bin4573,75, -CTSPillarNetworkA,4574,4574,4574,1982-07-11,457.10000000003544,457.11868,2015-01-01 01:16:14,bin4574,35, -CTSPillarNetworkA,4575,4575,4575,1982-07-12,457.20000000003546,457.2187,2015-01-01 01:16:15,bin4575,75, -CTSPillarNetworkA,4576,4576,4576,1982-07-13,457.3000000000355,457.3187,2015-01-01 01:16:16,bin4576,35, -CTSPillarNetworkA,4577,4577,4577,1982-07-14,457.4000000000355,457.4187,2015-01-01 01:16:17,bin4577,75, -CTSPillarNetworkA,4578,4578,4578,1982-07-15,457.5000000000355,457.5187,2015-01-01 01:16:18,bin4578,35, -CTSPillarNetworkA,4579,4579,4579,1982-07-16,457.60000000003555,457.6187,2015-01-01 01:16:19,bin4579,75, -CTSPillarNetworkA,4580,4580,4580,1982-07-17,457.7000000000356,457.71872,2015-01-01 01:16:20,bin4580,35, -CTSPillarNetworkA,4581,4581,4581,1982-07-18,457.8000000000356,457.81873,2015-01-01 01:16:21,bin4581,75, -CTSPillarNetworkA,4582,4582,4582,1982-07-19,457.9000000000356,457.91873,2015-01-01 01:16:22,bin4582,35, -CTSPillarNetworkA,4583,4583,4583,1982-07-20,458.00000000003564,458.01874,2015-01-01 01:16:23,bin4583,75, -CTSPillarNetworkA,4584,4584,4584,1982-07-21,458.10000000003566,458.11874,2015-01-01 01:16:24,bin4584,35, -CTSPillarNetworkA,4585,4585,4585,1982-07-22,458.2000000000357,458.21875,2015-01-01 01:16:25,bin4585,75, -CTSPillarNetworkA,4586,4586,4586,1982-07-23,458.3000000000357,458.31876,2015-01-01 01:16:26,bin4586,35, -CTSPillarNetworkA,4587,4587,4587,1982-07-24,458.40000000003573,458.41876,2015-01-01 01:16:27,bin4587,75, -CTSPillarNetworkA,4588,4588,4588,1982-07-25,458.50000000003575,458.51877,2015-01-01 01:16:28,bin4588,35, -CTSPillarNetworkA,4589,4589,4589,1982-07-26,458.6000000000358,458.61877,2015-01-01 01:16:29,bin4589,75, -CTSPillarNetworkA,4590,4590,4590,1982-07-27,458.7000000000358,458.71878,2015-01-01 01:16:30,bin4590,35, -CTSPillarNetworkA,4591,4591,4591,1982-07-28,458.8000000000358,458.8188,2015-01-01 01:16:31,bin4591,75, -CTSPillarNetworkA,4592,4592,4592,1982-07-29,458.90000000003585,458.9188,2015-01-01 01:16:32,bin4592,35, -CTSPillarNetworkA,4593,4593,4593,1982-07-30,459.00000000003587,459.0188,2015-01-01 01:16:33,bin4593,75, -CTSPillarNetworkA,4594,4594,4594,1982-07-31,459.1000000000359,459.1188,2015-01-01 01:16:34,bin4594,35, -CTSPillarNetworkA,4595,4595,4595,1982-08-01,459.2000000000359,459.2188,2015-01-01 01:16:35,bin4595,75, -CTSPillarNetworkA,4596,4596,4596,1982-08-02,459.30000000003594,459.31882,2015-01-01 01:16:36,bin4596,35, -CTSPillarNetworkA,4597,4597,4597,1982-08-03,459.40000000003596,459.41882,2015-01-01 01:16:37,bin4597,75, -CTSPillarNetworkA,4598,4598,4598,1982-08-04,459.500000000036,459.51883,2015-01-01 01:16:38,bin4598,35, -CTSPillarNetworkA,4599,4599,4599,1982-08-05,459.600000000036,459.61884,2015-01-01 01:16:39,bin4599,75, -CTSPillarNetworkA,4600,4600,4600,1982-08-06,459.700000000036,459.71884,2015-01-01 01:16:40,bin4600,35, -CTSPillarNetworkA,4601,4601,4601,1982-08-07,459.80000000003605,459.81885,2015-01-01 01:16:41,bin4601,75, -CTSPillarNetworkA,4602,4602,4602,1982-08-08,459.9000000000361,459.91885,2015-01-01 01:16:42,bin4602,35, -CTSPillarNetworkA,4603,4603,4603,1982-08-09,460.0000000000361,460.01886,2015-01-01 01:16:43,bin4603,75, -CTSPillarNetworkA,4604,4604,4604,1982-08-10,460.1000000000361,460.11887,2015-01-01 01:16:44,bin4604,35, -CTSPillarNetworkA,4605,4605,4605,1982-08-11,460.20000000003614,460.21887,2015-01-01 01:16:45,bin4605,75, -CTSPillarNetworkA,4606,4606,4606,1982-08-12,460.30000000003616,460.31888,2015-01-01 01:16:46,bin4606,35, -CTSPillarNetworkA,4607,4607,4607,1982-08-13,460.4000000000362,460.41888,2015-01-01 01:16:47,bin4607,75, -CTSPillarNetworkA,4608,4608,4608,1982-08-14,460.5000000000362,460.5189,2015-01-01 01:16:48,bin4608,35, -CTSPillarNetworkA,4609,4609,4609,1982-08-15,460.60000000003623,460.6189,2015-01-01 01:16:49,bin4609,75, -CTSPillarNetworkA,4610,4610,4610,1982-08-16,460.70000000003625,460.7189,2015-01-01 01:16:50,bin4610,35, -CTSPillarNetworkA,4611,4611,4611,1982-08-17,460.8000000000363,460.8189,2015-01-01 01:16:51,bin4611,75, -CTSPillarNetworkA,4612,4612,4612,1982-08-18,460.9000000000363,460.9189,2015-01-01 01:16:52,bin4612,35, -CTSPillarNetworkA,4613,4613,4613,1982-08-19,461.0000000000363,461.01892,2015-01-01 01:16:53,bin4613,75, -CTSPillarNetworkA,4614,4614,4614,1982-08-20,461.10000000003635,461.11893,2015-01-01 01:16:54,bin4614,35, -CTSPillarNetworkA,4615,4615,4615,1982-08-21,461.20000000003637,461.21893,2015-01-01 01:16:55,bin4615,75, -CTSPillarNetworkA,4616,4616,4616,1982-08-22,461.3000000000364,461.31894,2015-01-01 01:16:56,bin4616,35, -CTSPillarNetworkA,4617,4617,4617,1982-08-23,461.4000000000364,461.41895,2015-01-01 01:16:57,bin4617,75, -CTSPillarNetworkA,4618,4618,4618,1982-08-24,461.50000000003644,461.51895,2015-01-01 01:16:58,bin4618,35, -CTSPillarNetworkA,4619,4619,4619,1982-08-25,461.60000000003646,461.61896,2015-01-01 01:16:59,bin4619,75, -CTSPillarNetworkA,4620,4620,4620,1982-08-26,461.7000000000365,461.71896,2015-01-01 01:17:00,bin4620,35, -CTSPillarNetworkA,4621,4621,4621,1982-08-27,461.8000000000365,461.81897,2015-01-01 01:17:01,bin4621,75, -CTSPillarNetworkA,4622,4622,4622,1982-08-28,461.9000000000365,461.91898,2015-01-01 01:17:02,bin4622,35, -CTSPillarNetworkA,4623,4623,4623,1982-08-29,462.00000000003655,462.01898,2015-01-01 01:17:03,bin4623,75, -CTSPillarNetworkA,4624,4624,4624,1982-08-30,462.1000000000366,462.119,2015-01-01 01:17:04,bin4624,35, -CTSPillarNetworkA,4625,4625,4625,1982-08-31,462.2000000000366,462.219,2015-01-01 01:17:05,bin4625,75, -CTSPillarNetworkA,4626,4626,4626,1982-09-01,462.3000000000366,462.319,2015-01-01 01:17:06,bin4626,35, -CTSPillarNetworkA,4627,4627,4627,1982-09-02,462.40000000003664,462.419,2015-01-01 01:17:07,bin4627,75, -CTSPillarNetworkA,4628,4628,4628,1982-09-03,462.50000000003666,462.519,2015-01-01 01:17:08,bin4628,35, -CTSPillarNetworkA,4629,4629,4629,1982-09-04,462.6000000000367,462.61902,2015-01-01 01:17:09,bin4629,75, -CTSPillarNetworkA,4630,4630,4630,1982-09-05,462.7000000000367,462.71902,2015-01-01 01:17:10,bin4630,35, -CTSPillarNetworkA,4631,4631,4631,1982-09-06,462.80000000003673,462.81903,2015-01-01 01:17:11,bin4631,75, -CTSPillarNetworkA,4632,4632,4632,1982-09-07,462.90000000003675,462.91904,2015-01-01 01:17:12,bin4632,35, -CTSPillarNetworkA,4633,4633,4633,1982-09-08,463.0000000000368,463.01904,2015-01-01 01:17:13,bin4633,75, -CTSPillarNetworkA,4634,4634,4634,1982-09-09,463.1000000000368,463.11905,2015-01-01 01:17:14,bin4634,35, -CTSPillarNetworkA,4635,4635,4635,1982-09-10,463.2000000000368,463.21906,2015-01-01 01:17:15,bin4635,75, -CTSPillarNetworkA,4636,4636,4636,1982-09-11,463.30000000003685,463.31906,2015-01-01 01:17:16,bin4636,35, -CTSPillarNetworkA,4637,4637,4637,1982-09-12,463.40000000003687,463.41907,2015-01-01 01:17:17,bin4637,75, -CTSPillarNetworkA,4638,4638,4638,1982-09-13,463.5000000000369,463.51907,2015-01-01 01:17:18,bin4638,35, -CTSPillarNetworkA,4639,4639,4639,1982-09-14,463.6000000000369,463.61908,2015-01-01 01:17:19,bin4639,75, -CTSPillarNetworkA,4640,4640,4640,1982-09-15,463.70000000003694,463.7191,2015-01-01 01:17:20,bin4640,35, -CTSPillarNetworkA,4641,4641,4641,1982-09-16,463.80000000003696,463.8191,2015-01-01 01:17:21,bin4641,75, -CTSPillarNetworkA,4642,4642,4642,1982-09-17,463.900000000037,463.9191,2015-01-01 01:17:22,bin4642,35, -CTSPillarNetworkA,4643,4643,4643,1982-09-18,464.000000000037,464.0191,2015-01-01 01:17:23,bin4643,75, -CTSPillarNetworkA,4644,4644,4644,1982-09-19,464.100000000037,464.1191,2015-01-01 01:17:24,bin4644,35, -CTSPillarNetworkA,4645,4645,4645,1982-09-20,464.20000000003705,464.21912,2015-01-01 01:17:25,bin4645,75, -CTSPillarNetworkA,4646,4646,4646,1982-09-21,464.3000000000371,464.31912,2015-01-01 01:17:26,bin4646,35, -CTSPillarNetworkA,4647,4647,4647,1982-09-22,464.4000000000371,464.41913,2015-01-01 01:17:27,bin4647,75, -CTSPillarNetworkA,4648,4648,4648,1982-09-23,464.5000000000371,464.51913,2015-01-01 01:17:28,bin4648,35, -CTSPillarNetworkA,4649,4649,4649,1982-09-24,464.60000000003714,464.61914,2015-01-01 01:17:29,bin4649,75, -CTSPillarNetworkA,4650,4650,4650,1982-09-25,464.70000000003716,464.71915,2015-01-01 01:17:30,bin4650,35, -CTSPillarNetworkA,4651,4651,4651,1982-09-26,464.8000000000372,464.81915,2015-01-01 01:17:31,bin4651,75, -CTSPillarNetworkA,4652,4652,4652,1982-09-27,464.9000000000372,464.91916,2015-01-01 01:17:32,bin4652,35, -CTSPillarNetworkA,4653,4653,4653,1982-09-28,465.00000000003723,465.01917,2015-01-01 01:17:33,bin4653,75, -CTSPillarNetworkA,4654,4654,4654,1982-09-29,465.10000000003726,465.11917,2015-01-01 01:17:34,bin4654,35, -CTSPillarNetworkA,4655,4655,4655,1982-09-30,465.2000000000373,465.21918,2015-01-01 01:17:35,bin4655,75, -CTSPillarNetworkA,4656,4656,4656,1982-10-01,465.3000000000373,465.31918,2015-01-01 01:17:36,bin4656,35, -CTSPillarNetworkA,4657,4657,4657,1982-10-02,465.4000000000373,465.4192,2015-01-01 01:17:37,bin4657,75, -CTSPillarNetworkA,4658,4658,4658,1982-10-03,465.50000000003735,465.5192,2015-01-01 01:17:38,bin4658,35, -CTSPillarNetworkA,4659,4659,4659,1982-10-04,465.60000000003737,465.6192,2015-01-01 01:17:39,bin4659,75, -CTSPillarNetworkA,4660,4660,4660,1982-10-05,465.7000000000374,465.7192,2015-01-01 01:17:40,bin4660,35, -CTSPillarNetworkA,4661,4661,4661,1982-10-06,465.8000000000374,465.8192,2015-01-01 01:17:41,bin4661,75, -CTSPillarNetworkA,4662,4662,4662,1982-10-07,465.90000000003744,465.91922,2015-01-01 01:17:42,bin4662,35, -CTSPillarNetworkA,4663,4663,4663,1982-10-08,466.00000000003746,466.01923,2015-01-01 01:17:43,bin4663,75, -CTSPillarNetworkA,4664,4664,4664,1982-10-09,466.1000000000375,466.11923,2015-01-01 01:17:44,bin4664,35, -CTSPillarNetworkA,4665,4665,4665,1982-10-10,466.2000000000375,466.21924,2015-01-01 01:17:45,bin4665,75, -CTSPillarNetworkA,4666,4666,4666,1982-10-11,466.3000000000375,466.31924,2015-01-01 01:17:46,bin4666,35, -CTSPillarNetworkA,4667,4667,4667,1982-10-12,466.40000000003755,466.41925,2015-01-01 01:17:47,bin4667,75, -CTSPillarNetworkA,4668,4668,4668,1982-10-13,466.5000000000376,466.51926,2015-01-01 01:17:48,bin4668,35, -CTSPillarNetworkA,4669,4669,4669,1982-10-14,466.6000000000376,466.61926,2015-01-01 01:17:49,bin4669,75, -CTSPillarNetworkA,4670,4670,4670,1982-10-15,466.7000000000376,466.71927,2015-01-01 01:17:50,bin4670,35, -CTSPillarNetworkA,4671,4671,4671,1982-10-16,466.80000000003764,466.81927,2015-01-01 01:17:51,bin4671,75, -CTSPillarNetworkA,4672,4672,4672,1982-10-17,466.90000000003766,466.91928,2015-01-01 01:17:52,bin4672,35, -CTSPillarNetworkA,4673,4673,4673,1982-10-18,467.0000000000377,467.0193,2015-01-01 01:17:53,bin4673,75, -CTSPillarNetworkA,4674,4674,4674,1982-10-19,467.1000000000377,467.1193,2015-01-01 01:17:54,bin4674,35, -CTSPillarNetworkA,4675,4675,4675,1982-10-20,467.20000000003773,467.2193,2015-01-01 01:17:55,bin4675,75, -CTSPillarNetworkA,4676,4676,4676,1982-10-21,467.30000000003776,467.3193,2015-01-01 01:17:56,bin4676,35, -CTSPillarNetworkA,4677,4677,4677,1982-10-22,467.4000000000378,467.4193,2015-01-01 01:17:57,bin4677,75, -CTSPillarNetworkA,4678,4678,4678,1982-10-23,467.5000000000378,467.51932,2015-01-01 01:17:58,bin4678,35, -CTSPillarNetworkA,4679,4679,4679,1982-10-24,467.6000000000378,467.61932,2015-01-01 01:17:59,bin4679,75, -CTSPillarNetworkA,4680,4680,4680,1982-10-25,467.70000000003785,467.71933,2015-01-01 01:18:00,bin4680,35, -CTSPillarNetworkA,4681,4681,4681,1982-10-26,467.80000000003787,467.81934,2015-01-01 01:18:01,bin4681,75, -CTSPillarNetworkA,4682,4682,4682,1982-10-27,467.9000000000379,467.91934,2015-01-01 01:18:02,bin4682,35, -CTSPillarNetworkA,4683,4683,4683,1982-10-28,468.0000000000379,468.01935,2015-01-01 01:18:03,bin4683,75, -CTSPillarNetworkA,4684,4684,4684,1982-10-29,468.10000000003794,468.11935,2015-01-01 01:18:04,bin4684,35, -CTSPillarNetworkA,4685,4685,4685,1982-10-30,468.20000000003796,468.21936,2015-01-01 01:18:05,bin4685,75, -CTSPillarNetworkA,4686,4686,4686,1982-10-31,468.300000000038,468.31937,2015-01-01 01:18:06,bin4686,35, -CTSPillarNetworkA,4687,4687,4687,1982-11-01,468.400000000038,468.41937,2015-01-01 01:18:07,bin4687,75, -CTSPillarNetworkA,4688,4688,4688,1982-11-02,468.500000000038,468.51938,2015-01-01 01:18:08,bin4688,35, -CTSPillarNetworkA,4689,4689,4689,1982-11-03,468.60000000003805,468.6194,2015-01-01 01:18:09,bin4689,75, -CTSPillarNetworkA,4690,4690,4690,1982-11-04,468.7000000000381,468.7194,2015-01-01 01:18:10,bin4690,35, -CTSPillarNetworkA,4691,4691,4691,1982-11-05,468.8000000000381,468.8194,2015-01-01 01:18:11,bin4691,75, -CTSPillarNetworkA,4692,4692,4692,1982-11-06,468.9000000000381,468.9194,2015-01-01 01:18:12,bin4692,35, -CTSPillarNetworkA,4693,4693,4693,1982-11-07,469.00000000003814,469.0194,2015-01-01 01:18:13,bin4693,75, -CTSPillarNetworkA,4694,4694,4694,1982-11-08,469.10000000003816,469.11942,2015-01-01 01:18:14,bin4694,35, -CTSPillarNetworkA,4695,4695,4695,1982-11-09,469.2000000000382,469.21942,2015-01-01 01:18:15,bin4695,75, -CTSPillarNetworkA,4696,4696,4696,1982-11-10,469.3000000000382,469.31943,2015-01-01 01:18:16,bin4696,35, -CTSPillarNetworkA,4697,4697,4697,1982-11-11,469.40000000003823,469.41943,2015-01-01 01:18:17,bin4697,75, -CTSPillarNetworkA,4698,4698,4698,1982-11-12,469.50000000003826,469.51944,2015-01-01 01:18:18,bin4698,35, -CTSPillarNetworkA,4699,4699,4699,1982-11-13,469.6000000000383,469.61945,2015-01-01 01:18:19,bin4699,75, -CTSPillarNetworkA,4700,4700,4700,1982-11-14,469.7000000000383,469.71945,2015-01-01 01:18:20,bin4700,35, -CTSPillarNetworkA,4701,4701,4701,1982-11-15,469.8000000000383,469.81946,2015-01-01 01:18:21,bin4701,75, -CTSPillarNetworkA,4702,4702,4702,1982-11-16,469.90000000003835,469.91946,2015-01-01 01:18:22,bin4702,35, -CTSPillarNetworkA,4703,4703,4703,1982-11-17,470.00000000003837,470.01947,2015-01-01 01:18:23,bin4703,75, -CTSPillarNetworkA,4704,4704,4704,1982-11-18,470.1000000000384,470.11948,2015-01-01 01:18:24,bin4704,35, -CTSPillarNetworkA,4705,4705,4705,1982-11-19,470.2000000000384,470.21948,2015-01-01 01:18:25,bin4705,75, -CTSPillarNetworkA,4706,4706,4706,1982-11-20,470.30000000003844,470.3195,2015-01-01 01:18:26,bin4706,35, -CTSPillarNetworkA,4707,4707,4707,1982-11-21,470.40000000003846,470.4195,2015-01-01 01:18:27,bin4707,75, -CTSPillarNetworkA,4708,4708,4708,1982-11-22,470.5000000000385,470.5195,2015-01-01 01:18:28,bin4708,35, -CTSPillarNetworkA,4709,4709,4709,1982-11-23,470.6000000000385,470.6195,2015-01-01 01:18:29,bin4709,75, -CTSPillarNetworkA,4710,4710,4710,1982-11-24,470.70000000003853,470.7195,2015-01-01 01:18:30,bin4710,35, -CTSPillarNetworkA,4711,4711,4711,1982-11-25,470.80000000003855,470.81952,2015-01-01 01:18:31,bin4711,75, -CTSPillarNetworkA,4712,4712,4712,1982-11-26,470.9000000000386,470.91953,2015-01-01 01:18:32,bin4712,35, -CTSPillarNetworkA,4713,4713,4713,1982-11-27,471.0000000000386,471.01953,2015-01-01 01:18:33,bin4713,75, -CTSPillarNetworkA,4714,4714,4714,1982-11-28,471.1000000000386,471.11954,2015-01-01 01:18:34,bin4714,35, -CTSPillarNetworkA,4715,4715,4715,1982-11-29,471.20000000003864,471.21954,2015-01-01 01:18:35,bin4715,75, -CTSPillarNetworkA,4716,4716,4716,1982-11-30,471.30000000003866,471.31955,2015-01-01 01:18:36,bin4716,35, -CTSPillarNetworkA,4717,4717,4717,1982-12-01,471.4000000000387,471.41956,2015-01-01 01:18:37,bin4717,75, -CTSPillarNetworkA,4718,4718,4718,1982-12-02,471.5000000000387,471.51956,2015-01-01 01:18:38,bin4718,35, -CTSPillarNetworkA,4719,4719,4719,1982-12-03,471.60000000003873,471.61957,2015-01-01 01:18:39,bin4719,75, -CTSPillarNetworkA,4720,4720,4720,1982-12-04,471.70000000003876,471.71957,2015-01-01 01:18:40,bin4720,35, -CTSPillarNetworkA,4721,4721,4721,1982-12-05,471.8000000000388,471.81958,2015-01-01 01:18:41,bin4721,75, -CTSPillarNetworkA,4722,4722,4722,1982-12-06,471.9000000000388,471.9196,2015-01-01 01:18:42,bin4722,35, -CTSPillarNetworkA,4723,4723,4723,1982-12-07,472.0000000000388,472.0196,2015-01-01 01:18:43,bin4723,75, -CTSPillarNetworkA,4724,4724,4724,1982-12-08,472.10000000003885,472.1196,2015-01-01 01:18:44,bin4724,35, -CTSPillarNetworkA,4725,4725,4725,1982-12-09,472.20000000003887,472.2196,2015-01-01 01:18:45,bin4725,75, -CTSPillarNetworkA,4726,4726,4726,1982-12-10,472.3000000000389,472.3196,2015-01-01 01:18:46,bin4726,35, -CTSPillarNetworkA,4727,4727,4727,1982-12-11,472.4000000000389,472.41962,2015-01-01 01:18:47,bin4727,75, -CTSPillarNetworkA,4728,4728,4728,1982-12-12,472.50000000003894,472.51962,2015-01-01 01:18:48,bin4728,35, -CTSPillarNetworkA,4729,4729,4729,1982-12-13,472.60000000003896,472.61963,2015-01-01 01:18:49,bin4729,75, -CTSPillarNetworkA,4730,4730,4730,1982-12-14,472.700000000039,472.71964,2015-01-01 01:18:50,bin4730,35, -CTSPillarNetworkA,4731,4731,4731,1982-12-15,472.800000000039,472.81964,2015-01-01 01:18:51,bin4731,75, -CTSPillarNetworkA,4732,4732,4732,1982-12-16,472.90000000003903,472.91965,2015-01-01 01:18:52,bin4732,35, -CTSPillarNetworkA,4733,4733,4733,1982-12-17,473.00000000003905,473.01965,2015-01-01 01:18:53,bin4733,75, -CTSPillarNetworkA,4734,4734,4734,1982-12-18,473.1000000000391,473.11966,2015-01-01 01:18:54,bin4734,35, -CTSPillarNetworkA,4735,4735,4735,1982-12-19,473.2000000000391,473.21967,2015-01-01 01:18:55,bin4735,75, -CTSPillarNetworkA,4736,4736,4736,1982-12-20,473.3000000000391,473.31967,2015-01-01 01:18:56,bin4736,35, -CTSPillarNetworkA,4737,4737,4737,1982-12-21,473.40000000003914,473.41968,2015-01-01 01:18:57,bin4737,75, -CTSPillarNetworkA,4738,4738,4738,1982-12-22,473.50000000003917,473.51968,2015-01-01 01:18:58,bin4738,35, -CTSPillarNetworkA,4739,4739,4739,1982-12-23,473.6000000000392,473.6197,2015-01-01 01:18:59,bin4739,75, -CTSPillarNetworkA,4740,4740,4740,1982-12-24,473.7000000000392,473.7197,2015-01-01 01:19:00,bin4740,35, -CTSPillarNetworkA,4741,4741,4741,1982-12-25,473.80000000003923,473.8197,2015-01-01 01:19:01,bin4741,75, -CTSPillarNetworkA,4742,4742,4742,1982-12-26,473.90000000003926,473.9197,2015-01-01 01:19:02,bin4742,35, -CTSPillarNetworkA,4743,4743,4743,1982-12-27,474.0000000000393,474.0197,2015-01-01 01:19:03,bin4743,75, -CTSPillarNetworkA,4744,4744,4744,1982-12-28,474.1000000000393,474.11972,2015-01-01 01:19:04,bin4744,35, -CTSPillarNetworkA,4745,4745,4745,1982-12-29,474.2000000000393,474.21973,2015-01-01 01:19:05,bin4745,75, -CTSPillarNetworkA,4746,4746,4746,1982-12-30,474.30000000003935,474.31973,2015-01-01 01:19:06,bin4746,35, -CTSPillarNetworkA,4747,4747,4747,1982-12-31,474.40000000003937,474.41974,2015-01-01 01:19:07,bin4747,75, -CTSPillarNetworkA,4748,4748,4748,1983-01-01,474.5000000000394,474.51974,2015-01-01 01:19:08,bin4748,35, -CTSPillarNetworkA,4749,4749,4749,1983-01-02,474.6000000000394,474.61975,2015-01-01 01:19:09,bin4749,75, -CTSPillarNetworkA,4750,4750,4750,1983-01-03,474.70000000003944,474.71976,2015-01-01 01:19:10,bin4750,35, -CTSPillarNetworkA,4751,4751,4751,1983-01-04,474.80000000003946,474.81976,2015-01-01 01:19:11,bin4751,75, -CTSPillarNetworkA,4752,4752,4752,1983-01-05,474.9000000000395,474.91977,2015-01-01 01:19:12,bin4752,35, -CTSPillarNetworkA,4753,4753,4753,1983-01-06,475.0000000000395,475.01978,2015-01-01 01:19:13,bin4753,75, -CTSPillarNetworkA,4754,4754,4754,1983-01-07,475.10000000003953,475.11978,2015-01-01 01:19:14,bin4754,35, -CTSPillarNetworkA,4755,4755,4755,1983-01-08,475.20000000003955,475.2198,2015-01-01 01:19:15,bin4755,75, -CTSPillarNetworkA,4756,4756,4756,1983-01-09,475.3000000000396,475.3198,2015-01-01 01:19:16,bin4756,35, -CTSPillarNetworkA,4757,4757,4757,1983-01-10,475.4000000000396,475.4198,2015-01-01 01:19:17,bin4757,75, -CTSPillarNetworkA,4758,4758,4758,1983-01-11,475.5000000000396,475.5198,2015-01-01 01:19:18,bin4758,35, -CTSPillarNetworkA,4759,4759,4759,1983-01-12,475.60000000003964,475.6198,2015-01-01 01:19:19,bin4759,75, -CTSPillarNetworkA,4760,4760,4760,1983-01-13,475.70000000003967,475.71982,2015-01-01 01:19:20,bin4760,35, -CTSPillarNetworkA,4761,4761,4761,1983-01-14,475.8000000000397,475.81982,2015-01-01 01:19:21,bin4761,75, -CTSPillarNetworkA,4762,4762,4762,1983-01-15,475.9000000000397,475.91983,2015-01-01 01:19:22,bin4762,35, -CTSPillarNetworkA,4763,4763,4763,1983-01-16,476.00000000003973,476.01984,2015-01-01 01:19:23,bin4763,75, -CTSPillarNetworkA,4764,4764,4764,1983-01-17,476.10000000003976,476.11984,2015-01-01 01:19:24,bin4764,35, -CTSPillarNetworkA,4765,4765,4765,1983-01-18,476.2000000000398,476.21985,2015-01-01 01:19:25,bin4765,75, -CTSPillarNetworkA,4766,4766,4766,1983-01-19,476.3000000000398,476.31985,2015-01-01 01:19:26,bin4766,35, -CTSPillarNetworkA,4767,4767,4767,1983-01-20,476.4000000000398,476.41986,2015-01-01 01:19:27,bin4767,75, -CTSPillarNetworkA,4768,4768,4768,1983-01-21,476.50000000003985,476.51987,2015-01-01 01:19:28,bin4768,35, -CTSPillarNetworkA,4769,4769,4769,1983-01-22,476.60000000003987,476.61987,2015-01-01 01:19:29,bin4769,75, -CTSPillarNetworkA,4770,4770,4770,1983-01-23,476.7000000000399,476.71988,2015-01-01 01:19:30,bin4770,35, -CTSPillarNetworkA,4771,4771,4771,1983-01-24,476.8000000000399,476.8199,2015-01-01 01:19:31,bin4771,75, -CTSPillarNetworkA,4772,4772,4772,1983-01-25,476.90000000003994,476.9199,2015-01-01 01:19:32,bin4772,35, -CTSPillarNetworkA,4773,4773,4773,1983-01-26,477.00000000003996,477.0199,2015-01-01 01:19:33,bin4773,75, -CTSPillarNetworkA,4774,4774,4774,1983-01-27,477.10000000004,477.1199,2015-01-01 01:19:34,bin4774,35, -CTSPillarNetworkA,4775,4775,4775,1983-01-28,477.20000000004,477.2199,2015-01-01 01:19:35,bin4775,75, -CTSPillarNetworkA,4776,4776,4776,1983-01-29,477.30000000004003,477.31992,2015-01-01 01:19:36,bin4776,35, -CTSPillarNetworkA,4777,4777,4777,1983-01-30,477.40000000004005,477.41992,2015-01-01 01:19:37,bin4777,75, -CTSPillarNetworkA,4778,4778,4778,1983-01-31,477.5000000000401,477.51993,2015-01-01 01:19:38,bin4778,35, -CTSPillarNetworkA,4779,4779,4779,1983-02-01,477.6000000000401,477.61993,2015-01-01 01:19:39,bin4779,75, -CTSPillarNetworkA,4780,4780,4780,1983-02-02,477.7000000000401,477.71994,2015-01-01 01:19:40,bin4780,35, -CTSPillarNetworkA,4781,4781,4781,1983-02-03,477.80000000004014,477.81995,2015-01-01 01:19:41,bin4781,75, -CTSPillarNetworkA,4782,4782,4782,1983-02-04,477.90000000004017,477.91995,2015-01-01 01:19:42,bin4782,35, -CTSPillarNetworkA,4783,4783,4783,1983-02-05,478.0000000000402,478.01996,2015-01-01 01:19:43,bin4783,75, -CTSPillarNetworkA,4784,4784,4784,1983-02-06,478.1000000000402,478.11996,2015-01-01 01:19:44,bin4784,35, -CTSPillarNetworkA,4785,4785,4785,1983-02-07,478.20000000004023,478.21997,2015-01-01 01:19:45,bin4785,75, -CTSPillarNetworkA,4786,4786,4786,1983-02-08,478.30000000004026,478.31998,2015-01-01 01:19:46,bin4786,35, -CTSPillarNetworkA,4787,4787,4787,1983-02-09,478.4000000000403,478.41998,2015-01-01 01:19:47,bin4787,75, -CTSPillarNetworkA,4788,4788,4788,1983-02-10,478.5000000000403,478.52,2015-01-01 01:19:48,bin4788,35, -CTSPillarNetworkA,4789,4789,4789,1983-02-11,478.6000000000403,478.62,2015-01-01 01:19:49,bin4789,75, -CTSPillarNetworkA,4790,4790,4790,1983-02-12,478.70000000004035,478.72,2015-01-01 01:19:50,bin4790,35, -CTSPillarNetworkA,4791,4791,4791,1983-02-13,478.80000000004037,478.82,2015-01-01 01:19:51,bin4791,75, -CTSPillarNetworkA,4792,4792,4792,1983-02-14,478.9000000000404,478.92,2015-01-01 01:19:52,bin4792,35, -CTSPillarNetworkA,4793,4793,4793,1983-02-15,479.0000000000404,479.02002,2015-01-01 01:19:53,bin4793,75, -CTSPillarNetworkA,4794,4794,4794,1983-02-16,479.10000000004044,479.12003,2015-01-01 01:19:54,bin4794,35, -CTSPillarNetworkA,4795,4795,4795,1983-02-17,479.20000000004046,479.22003,2015-01-01 01:19:55,bin4795,75, -CTSPillarNetworkA,4796,4796,4796,1983-02-18,479.3000000000405,479.32004,2015-01-01 01:19:56,bin4796,35, -CTSPillarNetworkA,4797,4797,4797,1983-02-19,479.4000000000405,479.42004,2015-01-01 01:19:57,bin4797,75, -CTSPillarNetworkA,4798,4798,4798,1983-02-20,479.50000000004053,479.52005,2015-01-01 01:19:58,bin4798,35, -CTSPillarNetworkA,4799,4799,4799,1983-02-21,479.60000000004055,479.62006,2015-01-01 01:19:59,bin4799,75, -CTSPillarNetworkA,4800,4800,4800,1983-02-22,479.7000000000406,479.72006,2015-01-01 01:20:00,bin4800,35, -CTSPillarNetworkA,4801,4801,4801,1983-02-23,479.8000000000406,479.82007,2015-01-01 01:20:01,bin4801,75, -CTSPillarNetworkA,4802,4802,4802,1983-02-24,479.9000000000406,479.92007,2015-01-01 01:20:02,bin4802,35, -CTSPillarNetworkA,4803,4803,4803,1983-02-25,480.00000000004064,480.02008,2015-01-01 01:20:03,bin4803,75, -CTSPillarNetworkA,4804,4804,4804,1983-02-26,480.10000000004067,480.1201,2015-01-01 01:20:04,bin4804,35, -CTSPillarNetworkA,4805,4805,4805,1983-02-27,480.2000000000407,480.2201,2015-01-01 01:20:05,bin4805,75, -CTSPillarNetworkA,4806,4806,4806,1983-02-28,480.3000000000407,480.3201,2015-01-01 01:20:06,bin4806,35, -CTSPillarNetworkA,4807,4807,4807,1983-03-01,480.40000000004073,480.4201,2015-01-01 01:20:07,bin4807,75, -CTSPillarNetworkA,4808,4808,4808,1983-03-02,480.50000000004076,480.5201,2015-01-01 01:20:08,bin4808,35, -CTSPillarNetworkA,4809,4809,4809,1983-03-03,480.6000000000408,480.62012,2015-01-01 01:20:09,bin4809,75, -CTSPillarNetworkA,4810,4810,4810,1983-03-04,480.7000000000408,480.72012,2015-01-01 01:20:10,bin4810,35, -CTSPillarNetworkA,4811,4811,4811,1983-03-05,480.8000000000408,480.82013,2015-01-01 01:20:11,bin4811,75, -CTSPillarNetworkA,4812,4812,4812,1983-03-06,480.90000000004085,480.92014,2015-01-01 01:20:12,bin4812,35, -CTSPillarNetworkA,4813,4813,4813,1983-03-07,481.00000000004087,481.02014,2015-01-01 01:20:13,bin4813,75, -CTSPillarNetworkA,4814,4814,4814,1983-03-08,481.1000000000409,481.12015,2015-01-01 01:20:14,bin4814,35, -CTSPillarNetworkA,4815,4815,4815,1983-03-09,481.2000000000409,481.22015,2015-01-01 01:20:15,bin4815,75, -CTSPillarNetworkA,4816,4816,4816,1983-03-10,481.30000000004094,481.32016,2015-01-01 01:20:16,bin4816,35, -CTSPillarNetworkA,4817,4817,4817,1983-03-11,481.40000000004096,481.42017,2015-01-01 01:20:17,bin4817,75, -CTSPillarNetworkA,4818,4818,4818,1983-03-12,481.500000000041,481.52017,2015-01-01 01:20:18,bin4818,35, -CTSPillarNetworkA,4819,4819,4819,1983-03-13,481.600000000041,481.62018,2015-01-01 01:20:19,bin4819,75, -CTSPillarNetworkA,4820,4820,4820,1983-03-14,481.70000000004103,481.72018,2015-01-01 01:20:20,bin4820,35, -CTSPillarNetworkA,4821,4821,4821,1983-03-15,481.80000000004105,481.8202,2015-01-01 01:20:21,bin4821,75, -CTSPillarNetworkA,4822,4822,4822,1983-03-16,481.9000000000411,481.9202,2015-01-01 01:20:22,bin4822,35, -CTSPillarNetworkA,4823,4823,4823,1983-03-17,482.0000000000411,482.0202,2015-01-01 01:20:23,bin4823,75, -CTSPillarNetworkA,4824,4824,4824,1983-03-18,482.1000000000411,482.1202,2015-01-01 01:20:24,bin4824,35, -CTSPillarNetworkA,4825,4825,4825,1983-03-19,482.20000000004114,482.2202,2015-01-01 01:20:25,bin4825,75, -CTSPillarNetworkA,4826,4826,4826,1983-03-20,482.30000000004117,482.32022,2015-01-01 01:20:26,bin4826,35, -CTSPillarNetworkA,4827,4827,4827,1983-03-21,482.4000000000412,482.42023,2015-01-01 01:20:27,bin4827,75, -CTSPillarNetworkA,4828,4828,4828,1983-03-22,482.5000000000412,482.52023,2015-01-01 01:20:28,bin4828,35, -CTSPillarNetworkA,4829,4829,4829,1983-03-23,482.60000000004123,482.62024,2015-01-01 01:20:29,bin4829,75, -CTSPillarNetworkA,4830,4830,4830,1983-03-24,482.70000000004126,482.72025,2015-01-01 01:20:30,bin4830,35, -CTSPillarNetworkA,4831,4831,4831,1983-03-25,482.8000000000413,482.82025,2015-01-01 01:20:31,bin4831,75, -CTSPillarNetworkA,4832,4832,4832,1983-03-26,482.9000000000413,482.92026,2015-01-01 01:20:32,bin4832,35, -CTSPillarNetworkA,4833,4833,4833,1983-03-27,483.0000000000413,483.02026,2015-01-01 01:20:33,bin4833,75, -CTSPillarNetworkA,4834,4834,4834,1983-03-28,483.10000000004135,483.12027,2015-01-01 01:20:34,bin4834,35, -CTSPillarNetworkA,4835,4835,4835,1983-03-29,483.20000000004137,483.22028,2015-01-01 01:20:35,bin4835,75, -CTSPillarNetworkA,4836,4836,4836,1983-03-30,483.3000000000414,483.32028,2015-01-01 01:20:36,bin4836,35, -CTSPillarNetworkA,4837,4837,4837,1983-03-31,483.4000000000414,483.4203,2015-01-01 01:20:37,bin4837,75, -CTSPillarNetworkA,4838,4838,4838,1983-04-01,483.50000000004144,483.5203,2015-01-01 01:20:38,bin4838,35, -CTSPillarNetworkA,4839,4839,4839,1983-04-02,483.60000000004146,483.6203,2015-01-01 01:20:39,bin4839,75, -CTSPillarNetworkA,4840,4840,4840,1983-04-03,483.7000000000415,483.7203,2015-01-01 01:20:40,bin4840,35, -CTSPillarNetworkA,4841,4841,4841,1983-04-04,483.8000000000415,483.8203,2015-01-01 01:20:41,bin4841,75, -CTSPillarNetworkA,4842,4842,4842,1983-04-05,483.90000000004153,483.92032,2015-01-01 01:20:42,bin4842,35, -CTSPillarNetworkA,4843,4843,4843,1983-04-06,484.00000000004155,484.02032,2015-01-01 01:20:43,bin4843,75, -CTSPillarNetworkA,4844,4844,4844,1983-04-07,484.1000000000416,484.12033,2015-01-01 01:20:44,bin4844,35, -CTSPillarNetworkA,4845,4845,4845,1983-04-08,484.2000000000416,484.22034,2015-01-01 01:20:45,bin4845,75, -CTSPillarNetworkA,4846,4846,4846,1983-04-09,484.3000000000416,484.32034,2015-01-01 01:20:46,bin4846,35, -CTSPillarNetworkA,4847,4847,4847,1983-04-10,484.40000000004164,484.42035,2015-01-01 01:20:47,bin4847,75, -CTSPillarNetworkA,4848,4848,4848,1983-04-11,484.50000000004167,484.52036,2015-01-01 01:20:48,bin4848,35, -CTSPillarNetworkA,4849,4849,4849,1983-04-12,484.6000000000417,484.62036,2015-01-01 01:20:49,bin4849,75, -CTSPillarNetworkA,4850,4850,4850,1983-04-13,484.7000000000417,484.72037,2015-01-01 01:20:50,bin4850,35, -CTSPillarNetworkA,4851,4851,4851,1983-04-14,484.80000000004173,484.82037,2015-01-01 01:20:51,bin4851,75, -CTSPillarNetworkA,4852,4852,4852,1983-04-15,484.90000000004176,484.92038,2015-01-01 01:20:52,bin4852,35, -CTSPillarNetworkA,4853,4853,4853,1983-04-16,485.0000000000418,485.0204,2015-01-01 01:20:53,bin4853,75, -CTSPillarNetworkA,4854,4854,4854,1983-04-17,485.1000000000418,485.1204,2015-01-01 01:20:54,bin4854,35, -CTSPillarNetworkA,4855,4855,4855,1983-04-18,485.2000000000418,485.2204,2015-01-01 01:20:55,bin4855,75, -CTSPillarNetworkA,4856,4856,4856,1983-04-19,485.30000000004185,485.3204,2015-01-01 01:20:56,bin4856,35, -CTSPillarNetworkA,4857,4857,4857,1983-04-20,485.40000000004187,485.4204,2015-01-01 01:20:57,bin4857,75, -CTSPillarNetworkA,4858,4858,4858,1983-04-21,485.5000000000419,485.52042,2015-01-01 01:20:58,bin4858,35, -CTSPillarNetworkA,4859,4859,4859,1983-04-22,485.6000000000419,485.62042,2015-01-01 01:20:59,bin4859,75, -CTSPillarNetworkA,4860,4860,4860,1983-04-23,485.70000000004194,485.72043,2015-01-01 01:21:00,bin4860,35, -CTSPillarNetworkA,4861,4861,4861,1983-04-24,485.80000000004196,485.82043,2015-01-01 01:21:01,bin4861,75, -CTSPillarNetworkA,4862,4862,4862,1983-04-25,485.900000000042,485.92044,2015-01-01 01:21:02,bin4862,35, -CTSPillarNetworkA,4863,4863,4863,1983-04-26,486.000000000042,486.02045,2015-01-01 01:21:03,bin4863,75, -CTSPillarNetworkA,4864,4864,4864,1983-04-27,486.10000000004203,486.12045,2015-01-01 01:21:04,bin4864,35, -CTSPillarNetworkA,4865,4865,4865,1983-04-28,486.20000000004205,486.22046,2015-01-01 01:21:05,bin4865,75, -CTSPillarNetworkA,4866,4866,4866,1983-04-29,486.3000000000421,486.32047,2015-01-01 01:21:06,bin4866,35, -CTSPillarNetworkA,4867,4867,4867,1983-04-30,486.4000000000421,486.42047,2015-01-01 01:21:07,bin4867,75, -CTSPillarNetworkA,4868,4868,4868,1983-05-01,486.5000000000421,486.52048,2015-01-01 01:21:08,bin4868,35, -CTSPillarNetworkA,4869,4869,4869,1983-05-02,486.60000000004214,486.62048,2015-01-01 01:21:09,bin4869,75, -CTSPillarNetworkA,4870,4870,4870,1983-05-03,486.70000000004217,486.7205,2015-01-01 01:21:10,bin4870,35, -CTSPillarNetworkA,4871,4871,4871,1983-05-04,486.8000000000422,486.8205,2015-01-01 01:21:11,bin4871,75, -CTSPillarNetworkA,4872,4872,4872,1983-05-05,486.9000000000422,486.9205,2015-01-01 01:21:12,bin4872,35, -CTSPillarNetworkA,4873,4873,4873,1983-05-06,487.00000000004223,487.0205,2015-01-01 01:21:13,bin4873,75, -CTSPillarNetworkA,4874,4874,4874,1983-05-07,487.10000000004226,487.1205,2015-01-01 01:21:14,bin4874,35, -CTSPillarNetworkA,4875,4875,4875,1983-05-08,487.2000000000423,487.22052,2015-01-01 01:21:15,bin4875,75, -CTSPillarNetworkA,4876,4876,4876,1983-05-09,487.3000000000423,487.32053,2015-01-01 01:21:16,bin4876,35, -CTSPillarNetworkA,4877,4877,4877,1983-05-10,487.4000000000423,487.42053,2015-01-01 01:21:17,bin4877,75, -CTSPillarNetworkA,4878,4878,4878,1983-05-11,487.50000000004235,487.52054,2015-01-01 01:21:18,bin4878,35, -CTSPillarNetworkA,4879,4879,4879,1983-05-12,487.60000000004237,487.62054,2015-01-01 01:21:19,bin4879,75, -CTSPillarNetworkA,4880,4880,4880,1983-05-13,487.7000000000424,487.72055,2015-01-01 01:21:20,bin4880,35, -CTSPillarNetworkA,4881,4881,4881,1983-05-14,487.8000000000424,487.82056,2015-01-01 01:21:21,bin4881,75, -CTSPillarNetworkA,4882,4882,4882,1983-05-15,487.90000000004244,487.92056,2015-01-01 01:21:22,bin4882,35, -CTSPillarNetworkA,4883,4883,4883,1983-05-16,488.00000000004246,488.02057,2015-01-01 01:21:23,bin4883,75, -CTSPillarNetworkA,4884,4884,4884,1983-05-17,488.1000000000425,488.12057,2015-01-01 01:21:24,bin4884,35, -CTSPillarNetworkA,4885,4885,4885,1983-05-18,488.2000000000425,488.22058,2015-01-01 01:21:25,bin4885,75, -CTSPillarNetworkA,4886,4886,4886,1983-05-19,488.30000000004253,488.3206,2015-01-01 01:21:26,bin4886,35, -CTSPillarNetworkA,4887,4887,4887,1983-05-20,488.40000000004255,488.4206,2015-01-01 01:21:27,bin4887,75, -CTSPillarNetworkA,4888,4888,4888,1983-05-21,488.5000000000426,488.5206,2015-01-01 01:21:28,bin4888,35, -CTSPillarNetworkA,4889,4889,4889,1983-05-22,488.6000000000426,488.6206,2015-01-01 01:21:29,bin4889,75, -CTSPillarNetworkA,4890,4890,4890,1983-05-23,488.7000000000426,488.7206,2015-01-01 01:21:30,bin4890,35, -CTSPillarNetworkA,4891,4891,4891,1983-05-24,488.80000000004264,488.82062,2015-01-01 01:21:31,bin4891,75, -CTSPillarNetworkA,4892,4892,4892,1983-05-25,488.90000000004267,488.92062,2015-01-01 01:21:32,bin4892,35, -CTSPillarNetworkA,4893,4893,4893,1983-05-26,489.0000000000427,489.02063,2015-01-01 01:21:33,bin4893,75, -CTSPillarNetworkA,4894,4894,4894,1983-05-27,489.1000000000427,489.12064,2015-01-01 01:21:34,bin4894,35, -CTSPillarNetworkA,4895,4895,4895,1983-05-28,489.20000000004273,489.22064,2015-01-01 01:21:35,bin4895,75, -CTSPillarNetworkA,4896,4896,4896,1983-05-29,489.30000000004276,489.32065,2015-01-01 01:21:36,bin4896,35, -CTSPillarNetworkA,4897,4897,4897,1983-05-30,489.4000000000428,489.42065,2015-01-01 01:21:37,bin4897,75, -CTSPillarNetworkA,4898,4898,4898,1983-05-31,489.5000000000428,489.52066,2015-01-01 01:21:38,bin4898,35, -CTSPillarNetworkA,4899,4899,4899,1983-06-01,489.6000000000428,489.62067,2015-01-01 01:21:39,bin4899,75, -CTSPillarNetworkA,4900,4900,4900,1983-06-02,489.70000000004285,489.72067,2015-01-01 01:21:40,bin4900,35, -CTSPillarNetworkA,4901,4901,4901,1983-06-03,489.80000000004287,489.82068,2015-01-01 01:21:41,bin4901,75, -CTSPillarNetworkA,4902,4902,4902,1983-06-04,489.9000000000429,489.9207,2015-01-01 01:21:42,bin4902,35, -CTSPillarNetworkA,4903,4903,4903,1983-06-05,490.0000000000429,490.0207,2015-01-01 01:21:43,bin4903,75, -CTSPillarNetworkA,4904,4904,4904,1983-06-06,490.10000000004294,490.1207,2015-01-01 01:21:44,bin4904,35, -CTSPillarNetworkA,4905,4905,4905,1983-06-07,490.20000000004296,490.2207,2015-01-01 01:21:45,bin4905,75, -CTSPillarNetworkA,4906,4906,4906,1983-06-08,490.300000000043,490.3207,2015-01-01 01:21:46,bin4906,35, -CTSPillarNetworkA,4907,4907,4907,1983-06-09,490.400000000043,490.42072,2015-01-01 01:21:47,bin4907,75, -CTSPillarNetworkA,4908,4908,4908,1983-06-10,490.50000000004303,490.52072,2015-01-01 01:21:48,bin4908,35, -CTSPillarNetworkA,4909,4909,4909,1983-06-11,490.60000000004305,490.62073,2015-01-01 01:21:49,bin4909,75, -CTSPillarNetworkA,4910,4910,4910,1983-06-12,490.7000000000431,490.72073,2015-01-01 01:21:50,bin4910,35, -CTSPillarNetworkA,4911,4911,4911,1983-06-13,490.8000000000431,490.82074,2015-01-01 01:21:51,bin4911,75, -CTSPillarNetworkA,4912,4912,4912,1983-06-14,490.9000000000431,490.92075,2015-01-01 01:21:52,bin4912,35, -CTSPillarNetworkA,4913,4913,4913,1983-06-15,491.00000000004314,491.02075,2015-01-01 01:21:53,bin4913,75, -CTSPillarNetworkA,4914,4914,4914,1983-06-16,491.10000000004317,491.12076,2015-01-01 01:21:54,bin4914,35, -CTSPillarNetworkA,4915,4915,4915,1983-06-17,491.2000000000432,491.22076,2015-01-01 01:21:55,bin4915,75, -CTSPillarNetworkA,4916,4916,4916,1983-06-18,491.3000000000432,491.32077,2015-01-01 01:21:56,bin4916,35, -CTSPillarNetworkA,4917,4917,4917,1983-06-19,491.40000000004324,491.42078,2015-01-01 01:21:57,bin4917,75, -CTSPillarNetworkA,4918,4918,4918,1983-06-20,491.50000000004326,491.52078,2015-01-01 01:21:58,bin4918,35, -CTSPillarNetworkA,4919,4919,4919,1983-06-21,491.6000000000433,491.6208,2015-01-01 01:21:59,bin4919,75, -CTSPillarNetworkA,4920,4920,4920,1983-06-22,491.7000000000433,491.7208,2015-01-01 01:22:00,bin4920,35, -CTSPillarNetworkA,4921,4921,4921,1983-06-23,491.8000000000433,491.8208,2015-01-01 01:22:01,bin4921,75, -CTSPillarNetworkA,4922,4922,4922,1983-06-24,491.90000000004335,491.9208,2015-01-01 01:22:02,bin4922,35, -CTSPillarNetworkA,4923,4923,4923,1983-06-25,492.00000000004337,492.0208,2015-01-01 01:22:03,bin4923,75, -CTSPillarNetworkA,4924,4924,4924,1983-06-26,492.1000000000434,492.12082,2015-01-01 01:22:04,bin4924,35, -CTSPillarNetworkA,4925,4925,4925,1983-06-27,492.2000000000434,492.22083,2015-01-01 01:22:05,bin4925,75, -CTSPillarNetworkA,4926,4926,4926,1983-06-28,492.30000000004344,492.32083,2015-01-01 01:22:06,bin4926,35, -CTSPillarNetworkA,4927,4927,4927,1983-06-29,492.40000000004346,492.42084,2015-01-01 01:22:07,bin4927,75, -CTSPillarNetworkA,4928,4928,4928,1983-06-30,492.5000000000435,492.52084,2015-01-01 01:22:08,bin4928,35, -CTSPillarNetworkA,4929,4929,4929,1983-07-01,492.6000000000435,492.62085,2015-01-01 01:22:09,bin4929,75, -CTSPillarNetworkA,4930,4930,4930,1983-07-02,492.70000000004353,492.72086,2015-01-01 01:22:10,bin4930,35, -CTSPillarNetworkA,4931,4931,4931,1983-07-03,492.80000000004355,492.82086,2015-01-01 01:22:11,bin4931,75, -CTSPillarNetworkA,4932,4932,4932,1983-07-04,492.9000000000436,492.92087,2015-01-01 01:22:12,bin4932,35, -CTSPillarNetworkA,4933,4933,4933,1983-07-05,493.0000000000436,493.02087,2015-01-01 01:22:13,bin4933,75, -CTSPillarNetworkA,4934,4934,4934,1983-07-06,493.1000000000436,493.12088,2015-01-01 01:22:14,bin4934,35, -CTSPillarNetworkA,4935,4935,4935,1983-07-07,493.20000000004364,493.2209,2015-01-01 01:22:15,bin4935,75, -CTSPillarNetworkA,4936,4936,4936,1983-07-08,493.30000000004367,493.3209,2015-01-01 01:22:16,bin4936,35, -CTSPillarNetworkA,4937,4937,4937,1983-07-09,493.4000000000437,493.4209,2015-01-01 01:22:17,bin4937,75, -CTSPillarNetworkA,4938,4938,4938,1983-07-10,493.5000000000437,493.5209,2015-01-01 01:22:18,bin4938,35, -CTSPillarNetworkA,4939,4939,4939,1983-07-11,493.60000000004374,493.6209,2015-01-01 01:22:19,bin4939,75, -CTSPillarNetworkA,4940,4940,4940,1983-07-12,493.70000000004376,493.72092,2015-01-01 01:22:20,bin4940,35, -CTSPillarNetworkA,4941,4941,4941,1983-07-13,493.8000000000438,493.82092,2015-01-01 01:22:21,bin4941,75, -CTSPillarNetworkA,4942,4942,4942,1983-07-14,493.9000000000438,493.92093,2015-01-01 01:22:22,bin4942,35, -CTSPillarNetworkA,4943,4943,4943,1983-07-15,494.0000000000438,494.02094,2015-01-01 01:22:23,bin4943,75, -CTSPillarNetworkA,4944,4944,4944,1983-07-16,494.10000000004385,494.12094,2015-01-01 01:22:24,bin4944,35, -CTSPillarNetworkA,4945,4945,4945,1983-07-17,494.2000000000439,494.22095,2015-01-01 01:22:25,bin4945,75, -CTSPillarNetworkA,4946,4946,4946,1983-07-18,494.3000000000439,494.32095,2015-01-01 01:22:26,bin4946,35, -CTSPillarNetworkA,4947,4947,4947,1983-07-19,494.4000000000439,494.42096,2015-01-01 01:22:27,bin4947,75, -CTSPillarNetworkA,4948,4948,4948,1983-07-20,494.50000000004394,494.52097,2015-01-01 01:22:28,bin4948,35, -CTSPillarNetworkA,4949,4949,4949,1983-07-21,494.60000000004396,494.62097,2015-01-01 01:22:29,bin4949,75, -CTSPillarNetworkA,4950,4950,4950,1983-07-22,494.700000000044,494.72098,2015-01-01 01:22:30,bin4950,35, -CTSPillarNetworkA,4951,4951,4951,1983-07-23,494.800000000044,494.82098,2015-01-01 01:22:31,bin4951,75, -CTSPillarNetworkA,4952,4952,4952,1983-07-24,494.90000000004403,494.921,2015-01-01 01:22:32,bin4952,35, -CTSPillarNetworkA,4953,4953,4953,1983-07-25,495.00000000004405,495.021,2015-01-01 01:22:33,bin4953,75, -CTSPillarNetworkA,4954,4954,4954,1983-07-26,495.1000000000441,495.121,2015-01-01 01:22:34,bin4954,35, -CTSPillarNetworkA,4955,4955,4955,1983-07-27,495.2000000000441,495.221,2015-01-01 01:22:35,bin4955,75, -CTSPillarNetworkA,4956,4956,4956,1983-07-28,495.3000000000441,495.321,2015-01-01 01:22:36,bin4956,35, -CTSPillarNetworkA,4957,4957,4957,1983-07-29,495.40000000004414,495.42102,2015-01-01 01:22:37,bin4957,75, -CTSPillarNetworkA,4958,4958,4958,1983-07-30,495.50000000004417,495.52103,2015-01-01 01:22:38,bin4958,35, -CTSPillarNetworkA,4959,4959,4959,1983-07-31,495.6000000000442,495.62103,2015-01-01 01:22:39,bin4959,75, -CTSPillarNetworkA,4960,4960,4960,1983-08-01,495.7000000000442,495.72104,2015-01-01 01:22:40,bin4960,35, -CTSPillarNetworkA,4961,4961,4961,1983-08-02,495.80000000004424,495.82104,2015-01-01 01:22:41,bin4961,75, -CTSPillarNetworkA,4962,4962,4962,1983-08-03,495.90000000004426,495.92105,2015-01-01 01:22:42,bin4962,35, -CTSPillarNetworkA,4963,4963,4963,1983-08-04,496.0000000000443,496.02106,2015-01-01 01:22:43,bin4963,75, -CTSPillarNetworkA,4964,4964,4964,1983-08-05,496.1000000000443,496.12106,2015-01-01 01:22:44,bin4964,35, -CTSPillarNetworkA,4965,4965,4965,1983-08-06,496.2000000000443,496.22107,2015-01-01 01:22:45,bin4965,75, -CTSPillarNetworkA,4966,4966,4966,1983-08-07,496.30000000004435,496.32108,2015-01-01 01:22:46,bin4966,35, -CTSPillarNetworkA,4967,4967,4967,1983-08-08,496.4000000000444,496.42108,2015-01-01 01:22:47,bin4967,75, -CTSPillarNetworkA,4968,4968,4968,1983-08-09,496.5000000000444,496.5211,2015-01-01 01:22:48,bin4968,35, -CTSPillarNetworkA,4969,4969,4969,1983-08-10,496.6000000000444,496.6211,2015-01-01 01:22:49,bin4969,75, -CTSPillarNetworkA,4970,4970,4970,1983-08-11,496.70000000004444,496.7211,2015-01-01 01:22:50,bin4970,35, -CTSPillarNetworkA,4971,4971,4971,1983-08-12,496.80000000004446,496.8211,2015-01-01 01:22:51,bin4971,75, -CTSPillarNetworkA,4972,4972,4972,1983-08-13,496.9000000000445,496.9211,2015-01-01 01:22:52,bin4972,35, -CTSPillarNetworkA,4973,4973,4973,1983-08-14,497.0000000000445,497.02112,2015-01-01 01:22:53,bin4973,75, -CTSPillarNetworkA,4974,4974,4974,1983-08-15,497.10000000004453,497.12112,2015-01-01 01:22:54,bin4974,35, -CTSPillarNetworkA,4975,4975,4975,1983-08-16,497.20000000004455,497.22113,2015-01-01 01:22:55,bin4975,75, -CTSPillarNetworkA,4976,4976,4976,1983-08-17,497.3000000000446,497.32114,2015-01-01 01:22:56,bin4976,35, -CTSPillarNetworkA,4977,4977,4977,1983-08-18,497.4000000000446,497.42114,2015-01-01 01:22:57,bin4977,75, -CTSPillarNetworkA,4978,4978,4978,1983-08-19,497.5000000000446,497.52115,2015-01-01 01:22:58,bin4978,35, -CTSPillarNetworkA,4979,4979,4979,1983-08-20,497.60000000004464,497.62115,2015-01-01 01:22:59,bin4979,75, -CTSPillarNetworkA,4980,4980,4980,1983-08-21,497.70000000004467,497.72116,2015-01-01 01:23:00,bin4980,35, -CTSPillarNetworkA,4981,4981,4981,1983-08-22,497.8000000000447,497.82117,2015-01-01 01:23:01,bin4981,75, -CTSPillarNetworkA,4982,4982,4982,1983-08-23,497.9000000000447,497.92117,2015-01-01 01:23:02,bin4982,35, -CTSPillarNetworkA,4983,4983,4983,1983-08-24,498.00000000004474,498.02118,2015-01-01 01:23:03,bin4983,75, -CTSPillarNetworkA,4984,4984,4984,1983-08-25,498.10000000004476,498.1212,2015-01-01 01:23:04,bin4984,35, -CTSPillarNetworkA,4985,4985,4985,1983-08-26,498.2000000000448,498.2212,2015-01-01 01:23:05,bin4985,75, -CTSPillarNetworkA,4986,4986,4986,1983-08-27,498.3000000000448,498.3212,2015-01-01 01:23:06,bin4986,35, -CTSPillarNetworkA,4987,4987,4987,1983-08-28,498.4000000000448,498.4212,2015-01-01 01:23:07,bin4987,75, -CTSPillarNetworkA,4988,4988,4988,1983-08-29,498.50000000004485,498.5212,2015-01-01 01:23:08,bin4988,35, -CTSPillarNetworkA,4989,4989,4989,1983-08-30,498.6000000000449,498.62122,2015-01-01 01:23:09,bin4989,75, -CTSPillarNetworkA,4990,4990,4990,1983-08-31,498.7000000000449,498.72122,2015-01-01 01:23:10,bin4990,35, -CTSPillarNetworkA,4991,4991,4991,1983-09-01,498.8000000000449,498.82123,2015-01-01 01:23:11,bin4991,75, -CTSPillarNetworkA,4992,4992,4992,1983-09-02,498.90000000004494,498.92123,2015-01-01 01:23:12,bin4992,35, -CTSPillarNetworkA,4993,4993,4993,1983-09-03,499.00000000004496,499.02124,2015-01-01 01:23:13,bin4993,75, -CTSPillarNetworkA,4994,4994,4994,1983-09-04,499.100000000045,499.12125,2015-01-01 01:23:14,bin4994,35, -CTSPillarNetworkA,4995,4995,4995,1983-09-05,499.200000000045,499.22125,2015-01-01 01:23:15,bin4995,75, -CTSPillarNetworkA,4996,4996,4996,1983-09-06,499.30000000004503,499.32126,2015-01-01 01:23:16,bin4996,35, -CTSPillarNetworkA,4997,4997,4997,1983-09-07,499.40000000004505,499.42126,2015-01-01 01:23:17,bin4997,75, -CTSPillarNetworkA,4998,4998,4998,1983-09-08,499.5000000000451,499.52127,2015-01-01 01:23:18,bin4998,35, -CTSPillarNetworkA,4999,4999,4999,1983-09-09,499.6000000000451,499.62128,2015-01-01 01:23:19,bin4999,75, -CTSPillarNetworkA,5000,5000,5000,1983-09-10,499.7000000000451,499.72128,2015-01-01 01:23:20,bin5000,35, -CTSPillarNetworkA,5001,5001,5001,1983-09-11,499.80000000004515,499.8213,2015-01-01 01:23:21,bin5001,75, -CTSPillarNetworkA,5002,5002,5002,1983-09-12,499.90000000004517,499.9213,2015-01-01 01:23:22,bin5002,35, -CTSPillarNetworkA,5003,5003,5003,1983-09-13,500.0000000000452,500.0213,2015-01-01 01:23:23,bin5003,75, -CTSPillarNetworkA,5004,5004,5004,1983-09-14,500.1000000000452,500.1213,2015-01-01 01:23:24,bin5004,35, -CTSPillarNetworkA,5005,5005,5005,1983-09-15,500.20000000004524,500.2213,2015-01-01 01:23:25,bin5005,75, -CTSPillarNetworkA,5006,5006,5006,1983-09-16,500.30000000004526,500.32132,2015-01-01 01:23:26,bin5006,35, -CTSPillarNetworkA,5007,5007,5007,1983-09-17,500.4000000000453,500.42133,2015-01-01 01:23:27,bin5007,75, -CTSPillarNetworkA,5008,5008,5008,1983-09-18,500.5000000000453,500.52133,2015-01-01 01:23:28,bin5008,35, -CTSPillarNetworkA,5009,5009,5009,1983-09-19,500.6000000000453,500.62134,2015-01-01 01:23:29,bin5009,75, -CTSPillarNetworkA,5010,5010,5010,1983-09-20,500.70000000004535,500.72134,2015-01-01 01:23:30,bin5010,35, -CTSPillarNetworkA,5011,5011,5011,1983-09-21,500.8000000000454,500.82135,2015-01-01 01:23:31,bin5011,75, -CTSPillarNetworkA,5012,5012,5012,1983-09-22,500.9000000000454,500.92136,2015-01-01 01:23:32,bin5012,35, -CTSPillarNetworkA,5013,5013,5013,1983-09-23,501.0000000000454,501.02136,2015-01-01 01:23:33,bin5013,75, -CTSPillarNetworkA,5014,5014,5014,1983-09-24,501.10000000004544,501.12137,2015-01-01 01:23:34,bin5014,35, -CTSPillarNetworkA,5015,5015,5015,1983-09-25,501.20000000004546,501.22137,2015-01-01 01:23:35,bin5015,75, -CTSPillarNetworkA,5016,5016,5016,1983-09-26,501.3000000000455,501.32138,2015-01-01 01:23:36,bin5016,35, -CTSPillarNetworkA,5017,5017,5017,1983-09-27,501.4000000000455,501.4214,2015-01-01 01:23:37,bin5017,75, -CTSPillarNetworkA,5018,5018,5018,1983-09-28,501.50000000004553,501.5214,2015-01-01 01:23:38,bin5018,35, -CTSPillarNetworkA,5019,5019,5019,1983-09-29,501.60000000004555,501.6214,2015-01-01 01:23:39,bin5019,75, -CTSPillarNetworkA,5020,5020,5020,1983-09-30,501.7000000000456,501.7214,2015-01-01 01:23:40,bin5020,35, -CTSPillarNetworkA,5021,5021,5021,1983-10-01,501.8000000000456,501.8214,2015-01-01 01:23:41,bin5021,75, -CTSPillarNetworkA,5022,5022,5022,1983-10-02,501.9000000000456,501.92142,2015-01-01 01:23:42,bin5022,35, -CTSPillarNetworkA,5023,5023,5023,1983-10-03,502.00000000004565,502.02142,2015-01-01 01:23:43,bin5023,75, -CTSPillarNetworkA,5024,5024,5024,1983-10-04,502.10000000004567,502.12143,2015-01-01 01:23:44,bin5024,35, -CTSPillarNetworkA,5025,5025,5025,1983-10-05,502.2000000000457,502.22144,2015-01-01 01:23:45,bin5025,75, -CTSPillarNetworkA,5026,5026,5026,1983-10-06,502.3000000000457,502.32144,2015-01-01 01:23:46,bin5026,35, -CTSPillarNetworkA,5027,5027,5027,1983-10-07,502.40000000004574,502.42145,2015-01-01 01:23:47,bin5027,75, -CTSPillarNetworkA,5028,5028,5028,1983-10-08,502.50000000004576,502.52145,2015-01-01 01:23:48,bin5028,35, -CTSPillarNetworkA,5029,5029,5029,1983-10-09,502.6000000000458,502.62146,2015-01-01 01:23:49,bin5029,75, -CTSPillarNetworkA,5030,5030,5030,1983-10-10,502.7000000000458,502.72147,2015-01-01 01:23:50,bin5030,35, -CTSPillarNetworkA,5031,5031,5031,1983-10-11,502.8000000000458,502.82147,2015-01-01 01:23:51,bin5031,75, -CTSPillarNetworkA,5032,5032,5032,1983-10-12,502.90000000004585,502.92148,2015-01-01 01:23:52,bin5032,35, -CTSPillarNetworkA,5033,5033,5033,1983-10-13,503.0000000000459,503.02148,2015-01-01 01:23:53,bin5033,75, -CTSPillarNetworkA,5034,5034,5034,1983-10-14,503.1000000000459,503.1215,2015-01-01 01:23:54,bin5034,35, -CTSPillarNetworkA,5035,5035,5035,1983-10-15,503.2000000000459,503.2215,2015-01-01 01:23:55,bin5035,75, -CTSPillarNetworkA,5036,5036,5036,1983-10-16,503.30000000004594,503.3215,2015-01-01 01:23:56,bin5036,35, -CTSPillarNetworkA,5037,5037,5037,1983-10-17,503.40000000004596,503.4215,2015-01-01 01:23:57,bin5037,75, -CTSPillarNetworkA,5038,5038,5038,1983-10-18,503.500000000046,503.5215,2015-01-01 01:23:58,bin5038,35, -CTSPillarNetworkA,5039,5039,5039,1983-10-19,503.600000000046,503.62152,2015-01-01 01:23:59,bin5039,75, -CTSPillarNetworkA,5040,5040,5040,1983-10-20,503.70000000004603,503.72153,2015-01-01 01:24:00,bin5040,35, -CTSPillarNetworkA,5041,5041,5041,1983-10-21,503.80000000004605,503.82153,2015-01-01 01:24:01,bin5041,75, -CTSPillarNetworkA,5042,5042,5042,1983-10-22,503.9000000000461,503.92154,2015-01-01 01:24:02,bin5042,35, -CTSPillarNetworkA,5043,5043,5043,1983-10-23,504.0000000000461,504.02155,2015-01-01 01:24:03,bin5043,75, -CTSPillarNetworkA,5044,5044,5044,1983-10-24,504.1000000000461,504.12155,2015-01-01 01:24:04,bin5044,35, -CTSPillarNetworkA,5045,5045,5045,1983-10-25,504.20000000004615,504.22156,2015-01-01 01:24:05,bin5045,75, -CTSPillarNetworkA,5046,5046,5046,1983-10-26,504.30000000004617,504.32156,2015-01-01 01:24:06,bin5046,35, -CTSPillarNetworkA,5047,5047,5047,1983-10-27,504.4000000000462,504.42157,2015-01-01 01:24:07,bin5047,75, -CTSPillarNetworkA,5048,5048,5048,1983-10-28,504.5000000000462,504.52158,2015-01-01 01:24:08,bin5048,35, -CTSPillarNetworkA,5049,5049,5049,1983-10-29,504.60000000004624,504.62158,2015-01-01 01:24:09,bin5049,75, -CTSPillarNetworkA,5050,5050,5050,1983-10-30,504.70000000004626,504.7216,2015-01-01 01:24:10,bin5050,35, -CTSPillarNetworkA,5051,5051,5051,1983-10-31,504.8000000000463,504.8216,2015-01-01 01:24:11,bin5051,75, -CTSPillarNetworkA,5052,5052,5052,1983-11-01,504.9000000000463,504.9216,2015-01-01 01:24:12,bin5052,35, -CTSPillarNetworkA,5053,5053,5053,1983-11-02,505.0000000000463,505.0216,2015-01-01 01:24:13,bin5053,75, -CTSPillarNetworkA,5054,5054,5054,1983-11-03,505.10000000004635,505.1216,2015-01-01 01:24:14,bin5054,35, -CTSPillarNetworkA,5055,5055,5055,1983-11-04,505.2000000000464,505.22162,2015-01-01 01:24:15,bin5055,75, -CTSPillarNetworkA,5056,5056,5056,1983-11-05,505.3000000000464,505.32162,2015-01-01 01:24:16,bin5056,35, -CTSPillarNetworkA,5057,5057,5057,1983-11-06,505.4000000000464,505.42163,2015-01-01 01:24:17,bin5057,75, -CTSPillarNetworkA,5058,5058,5058,1983-11-07,505.50000000004644,505.52164,2015-01-01 01:24:18,bin5058,35, -CTSPillarNetworkA,5059,5059,5059,1983-11-08,505.60000000004646,505.62164,2015-01-01 01:24:19,bin5059,75, -CTSPillarNetworkA,5060,5060,5060,1983-11-09,505.7000000000465,505.72165,2015-01-01 01:24:20,bin5060,35, -CTSPillarNetworkA,5061,5061,5061,1983-11-10,505.8000000000465,505.82166,2015-01-01 01:24:21,bin5061,75, -CTSPillarNetworkA,5062,5062,5062,1983-11-11,505.90000000004653,505.92166,2015-01-01 01:24:22,bin5062,35, -CTSPillarNetworkA,5063,5063,5063,1983-11-12,506.00000000004655,506.02167,2015-01-01 01:24:23,bin5063,75, -CTSPillarNetworkA,5064,5064,5064,1983-11-13,506.1000000000466,506.12167,2015-01-01 01:24:24,bin5064,35, -CTSPillarNetworkA,5065,5065,5065,1983-11-14,506.2000000000466,506.22168,2015-01-01 01:24:25,bin5065,75, -CTSPillarNetworkA,5066,5066,5066,1983-11-15,506.3000000000466,506.3217,2015-01-01 01:24:26,bin5066,35, -CTSPillarNetworkA,5067,5067,5067,1983-11-16,506.40000000004665,506.4217,2015-01-01 01:24:27,bin5067,75, -CTSPillarNetworkA,5068,5068,5068,1983-11-17,506.50000000004667,506.5217,2015-01-01 01:24:28,bin5068,35, -CTSPillarNetworkA,5069,5069,5069,1983-11-18,506.6000000000467,506.6217,2015-01-01 01:24:29,bin5069,75, -CTSPillarNetworkA,5070,5070,5070,1983-11-19,506.7000000000467,506.7217,2015-01-01 01:24:30,bin5070,35, -CTSPillarNetworkA,5071,5071,5071,1983-11-20,506.80000000004674,506.82172,2015-01-01 01:24:31,bin5071,75, -CTSPillarNetworkA,5072,5072,5072,1983-11-21,506.90000000004676,506.92172,2015-01-01 01:24:32,bin5072,35, -CTSPillarNetworkA,5073,5073,5073,1983-11-22,507.0000000000468,507.02173,2015-01-01 01:24:33,bin5073,75, -CTSPillarNetworkA,5074,5074,5074,1983-11-23,507.1000000000468,507.12173,2015-01-01 01:24:34,bin5074,35, -CTSPillarNetworkA,5075,5075,5075,1983-11-24,507.2000000000468,507.22174,2015-01-01 01:24:35,bin5075,75, -CTSPillarNetworkA,5076,5076,5076,1983-11-25,507.30000000004685,507.32175,2015-01-01 01:24:36,bin5076,35, -CTSPillarNetworkA,5077,5077,5077,1983-11-26,507.4000000000469,507.42175,2015-01-01 01:24:37,bin5077,75, -CTSPillarNetworkA,5078,5078,5078,1983-11-27,507.5000000000469,507.52176,2015-01-01 01:24:38,bin5078,35, -CTSPillarNetworkA,5079,5079,5079,1983-11-28,507.6000000000469,507.62177,2015-01-01 01:24:39,bin5079,75, -CTSPillarNetworkA,5080,5080,5080,1983-11-29,507.70000000004694,507.72177,2015-01-01 01:24:40,bin5080,35, -CTSPillarNetworkA,5081,5081,5081,1983-11-30,507.80000000004696,507.82178,2015-01-01 01:24:41,bin5081,75, -CTSPillarNetworkA,5082,5082,5082,1983-12-01,507.900000000047,507.92178,2015-01-01 01:24:42,bin5082,35, -CTSPillarNetworkA,5083,5083,5083,1983-12-02,508.000000000047,508.0218,2015-01-01 01:24:43,bin5083,75, -CTSPillarNetworkA,5084,5084,5084,1983-12-03,508.10000000004703,508.1218,2015-01-01 01:24:44,bin5084,35, -CTSPillarNetworkA,5085,5085,5085,1983-12-04,508.20000000004705,508.2218,2015-01-01 01:24:45,bin5085,75, -CTSPillarNetworkA,5086,5086,5086,1983-12-05,508.3000000000471,508.3218,2015-01-01 01:24:46,bin5086,35, -CTSPillarNetworkA,5087,5087,5087,1983-12-06,508.4000000000471,508.4218,2015-01-01 01:24:47,bin5087,75, -CTSPillarNetworkA,5088,5088,5088,1983-12-07,508.5000000000471,508.52182,2015-01-01 01:24:48,bin5088,35, -CTSPillarNetworkA,5089,5089,5089,1983-12-08,508.60000000004715,508.62183,2015-01-01 01:24:49,bin5089,75, -CTSPillarNetworkA,5090,5090,5090,1983-12-09,508.70000000004717,508.72183,2015-01-01 01:24:50,bin5090,35, -CTSPillarNetworkA,5091,5091,5091,1983-12-10,508.8000000000472,508.82184,2015-01-01 01:24:51,bin5091,75, -CTSPillarNetworkA,5092,5092,5092,1983-12-11,508.9000000000472,508.92184,2015-01-01 01:24:52,bin5092,35, -CTSPillarNetworkA,5093,5093,5093,1983-12-12,509.00000000004724,509.02185,2015-01-01 01:24:53,bin5093,75, -CTSPillarNetworkA,5094,5094,5094,1983-12-13,509.10000000004726,509.12186,2015-01-01 01:24:54,bin5094,35, -CTSPillarNetworkA,5095,5095,5095,1983-12-14,509.2000000000473,509.22186,2015-01-01 01:24:55,bin5095,75, -CTSPillarNetworkA,5096,5096,5096,1983-12-15,509.3000000000473,509.32187,2015-01-01 01:24:56,bin5096,35, -CTSPillarNetworkA,5097,5097,5097,1983-12-16,509.4000000000473,509.42188,2015-01-01 01:24:57,bin5097,75, -CTSPillarNetworkA,5098,5098,5098,1983-12-17,509.50000000004735,509.52188,2015-01-01 01:24:58,bin5098,35, -CTSPillarNetworkA,5099,5099,5099,1983-12-18,509.6000000000474,509.6219,2015-01-01 01:24:59,bin5099,75, -CTSPillarNetworkA,5100,5100,5100,1983-12-19,509.7000000000474,509.7219,2015-01-01 01:25:00,bin5100,35, -CTSPillarNetworkA,5101,5101,5101,1983-12-20,509.8000000000474,509.8219,2015-01-01 01:25:01,bin5101,75, -CTSPillarNetworkA,5102,5102,5102,1983-12-21,509.90000000004744,509.9219,2015-01-01 01:25:02,bin5102,35, -CTSPillarNetworkA,5103,5103,5103,1983-12-22,510.00000000004746,510.0219,2015-01-01 01:25:03,bin5103,75, -CTSPillarNetworkA,5104,5104,5104,1983-12-23,510.1000000000475,510.12192,2015-01-01 01:25:04,bin5104,35, -CTSPillarNetworkA,5105,5105,5105,1983-12-24,510.2000000000475,510.22192,2015-01-01 01:25:05,bin5105,75, -CTSPillarNetworkA,5106,5106,5106,1983-12-25,510.30000000004753,510.32193,2015-01-01 01:25:06,bin5106,35, -CTSPillarNetworkA,5107,5107,5107,1983-12-26,510.40000000004756,510.42194,2015-01-01 01:25:07,bin5107,75, -CTSPillarNetworkA,5108,5108,5108,1983-12-27,510.5000000000476,510.52194,2015-01-01 01:25:08,bin5108,35, -CTSPillarNetworkA,5109,5109,5109,1983-12-28,510.6000000000476,510.62195,2015-01-01 01:25:09,bin5109,75, -CTSPillarNetworkA,5110,5110,5110,1983-12-29,510.7000000000476,510.72195,2015-01-01 01:25:10,bin5110,35, -CTSPillarNetworkA,5111,5111,5111,1983-12-30,510.80000000004765,510.82196,2015-01-01 01:25:11,bin5111,75, -CTSPillarNetworkA,5112,5112,5112,1983-12-31,510.90000000004767,510.92197,2015-01-01 01:25:12,bin5112,35, -CTSPillarNetworkA,5113,5113,5113,1984-01-01,511.0000000000477,511.02197,2015-01-01 01:25:13,bin5113,75, -CTSPillarNetworkA,5114,5114,5114,1984-01-02,511.1000000000477,511.12198,2015-01-01 01:25:14,bin5114,35, -CTSPillarNetworkA,5115,5115,5115,1984-01-03,511.20000000004774,511.222,2015-01-01 01:25:15,bin5115,75, -CTSPillarNetworkA,5116,5116,5116,1984-01-04,511.30000000004776,511.322,2015-01-01 01:25:16,bin5116,35, -CTSPillarNetworkA,5117,5117,5117,1984-01-05,511.4000000000478,511.422,2015-01-01 01:25:17,bin5117,75, -CTSPillarNetworkA,5118,5118,5118,1984-01-06,511.5000000000478,511.522,2015-01-01 01:25:18,bin5118,35, -CTSPillarNetworkA,5119,5119,5119,1984-01-07,511.6000000000478,511.622,2015-01-01 01:25:19,bin5119,75, -CTSPillarNetworkA,5120,5120,5120,1984-01-08,511.70000000004785,511.72202,2015-01-01 01:25:20,bin5120,35, -CTSPillarNetworkA,5121,5121,5121,1984-01-09,511.8000000000479,511.82202,2015-01-01 01:25:21,bin5121,75, -CTSPillarNetworkA,5122,5122,5122,1984-01-10,511.9000000000479,511.92203,2015-01-01 01:25:22,bin5122,35, -CTSPillarNetworkA,5123,5123,5123,1984-01-11,512.0000000000479,512.02203,2015-01-01 01:25:23,bin5123,75, -CTSPillarNetworkA,5124,5124,5124,1984-01-12,512.1000000000479,512.122,2015-01-01 01:25:24,bin5124,35, -CTSPillarNetworkA,5125,5125,5125,1984-01-13,512.2000000000479,512.222,2015-01-01 01:25:25,bin5125,75, -CTSPillarNetworkA,5126,5126,5126,1984-01-14,512.3000000000479,512.32196,2015-01-01 01:25:26,bin5126,35, -CTSPillarNetworkA,5127,5127,5127,1984-01-15,512.400000000048,512.42194,2015-01-01 01:25:27,bin5127,75, -CTSPillarNetworkA,5128,5128,5128,1984-01-16,512.500000000048,512.5219,2015-01-01 01:25:28,bin5128,35, -CTSPillarNetworkA,5129,5129,5129,1984-01-17,512.600000000048,512.6219,2015-01-01 01:25:29,bin5129,75, -CTSPillarNetworkA,5130,5130,5130,1984-01-18,512.700000000048,512.72186,2015-01-01 01:25:30,bin5130,35, -CTSPillarNetworkA,5131,5131,5131,1984-01-19,512.800000000048,512.82184,2015-01-01 01:25:31,bin5131,75, -CTSPillarNetworkA,5132,5132,5132,1984-01-20,512.9000000000481,512.9218,2015-01-01 01:25:32,bin5132,35, -CTSPillarNetworkA,5133,5133,5133,1984-01-21,513.0000000000481,513.0218,2015-01-01 01:25:33,bin5133,75, -CTSPillarNetworkA,5134,5134,5134,1984-01-22,513.1000000000481,513.12177,2015-01-01 01:25:34,bin5134,35, -CTSPillarNetworkA,5135,5135,5135,1984-01-23,513.2000000000481,513.22174,2015-01-01 01:25:35,bin5135,75, -CTSPillarNetworkA,5136,5136,5136,1984-01-24,513.3000000000482,513.3217,2015-01-01 01:25:36,bin5136,35, -CTSPillarNetworkA,5137,5137,5137,1984-01-25,513.4000000000482,513.4217,2015-01-01 01:25:37,bin5137,75, -CTSPillarNetworkA,5138,5138,5138,1984-01-26,513.5000000000482,513.52167,2015-01-01 01:25:38,bin5138,35, -CTSPillarNetworkA,5139,5139,5139,1984-01-27,513.6000000000482,513.62164,2015-01-01 01:25:39,bin5139,75, -CTSPillarNetworkA,5140,5140,5140,1984-01-28,513.7000000000482,513.7216,2015-01-01 01:25:40,bin5140,35, -CTSPillarNetworkA,5141,5141,5141,1984-01-29,513.8000000000483,513.8216,2015-01-01 01:25:41,bin5141,75, -CTSPillarNetworkA,5142,5142,5142,1984-01-30,513.9000000000483,513.9216,2015-01-01 01:25:42,bin5142,35, -CTSPillarNetworkA,5143,5143,5143,1984-01-31,514.0000000000483,514.02155,2015-01-01 01:25:43,bin5143,75, -CTSPillarNetworkA,5144,5144,5144,1984-02-01,514.1000000000483,514.1215,2015-01-01 01:25:44,bin5144,35, -CTSPillarNetworkA,5145,5145,5145,1984-02-02,514.2000000000484,514.2215,2015-01-01 01:25:45,bin5145,75, -CTSPillarNetworkA,5146,5146,5146,1984-02-03,514.3000000000484,514.3215,2015-01-01 01:25:46,bin5146,35, -CTSPillarNetworkA,5147,5147,5147,1984-02-04,514.4000000000484,514.42145,2015-01-01 01:25:47,bin5147,75, -CTSPillarNetworkA,5148,5148,5148,1984-02-05,514.5000000000484,514.5214,2015-01-01 01:25:48,bin5148,35, -CTSPillarNetworkA,5149,5149,5149,1984-02-06,514.6000000000485,514.6214,2015-01-01 01:25:49,bin5149,75, -CTSPillarNetworkA,5150,5150,5150,1984-02-07,514.7000000000485,514.7214,2015-01-01 01:25:50,bin5150,35, -CTSPillarNetworkA,5151,5151,5151,1984-02-08,514.8000000000485,514.82135,2015-01-01 01:25:51,bin5151,75, -CTSPillarNetworkA,5152,5152,5152,1984-02-09,514.9000000000485,514.9213,2015-01-01 01:25:52,bin5152,35, -CTSPillarNetworkA,5153,5153,5153,1984-02-10,515.0000000000485,515.0213,2015-01-01 01:25:53,bin5153,75, -CTSPillarNetworkA,5154,5154,5154,1984-02-11,515.1000000000486,515.1213,2015-01-01 01:25:54,bin5154,35, -CTSPillarNetworkA,5155,5155,5155,1984-02-12,515.2000000000486,515.22125,2015-01-01 01:25:55,bin5155,75, -CTSPillarNetworkA,5156,5156,5156,1984-02-13,515.3000000000486,515.3212,2015-01-01 01:25:56,bin5156,35, -CTSPillarNetworkA,5157,5157,5157,1984-02-14,515.4000000000486,515.4212,2015-01-01 01:25:57,bin5157,75, -CTSPillarNetworkA,5158,5158,5158,1984-02-15,515.5000000000487,515.5212,2015-01-01 01:25:58,bin5158,35, -CTSPillarNetworkA,5159,5159,5159,1984-02-16,515.6000000000487,515.62115,2015-01-01 01:25:59,bin5159,75, -CTSPillarNetworkA,5160,5160,5160,1984-02-17,515.7000000000487,515.7211,2015-01-01 01:26:00,bin5160,35, -CTSPillarNetworkA,5161,5161,5161,1984-02-18,515.8000000000487,515.8211,2015-01-01 01:26:01,bin5161,75, -CTSPillarNetworkA,5162,5162,5162,1984-02-19,515.9000000000487,515.9211,2015-01-01 01:26:02,bin5162,35, -CTSPillarNetworkA,5163,5163,5163,1984-02-20,516.0000000000488,516.02106,2015-01-01 01:26:03,bin5163,75, -CTSPillarNetworkA,5164,5164,5164,1984-02-21,516.1000000000488,516.12103,2015-01-01 01:26:04,bin5164,35, -CTSPillarNetworkA,5165,5165,5165,1984-02-22,516.2000000000488,516.221,2015-01-01 01:26:05,bin5165,75, -CTSPillarNetworkA,5166,5166,5166,1984-02-23,516.3000000000488,516.321,2015-01-01 01:26:06,bin5166,35, -CTSPillarNetworkA,5167,5167,5167,1984-02-24,516.4000000000489,516.42096,2015-01-01 01:26:07,bin5167,75, -CTSPillarNetworkA,5168,5168,5168,1984-02-25,516.5000000000489,516.52094,2015-01-01 01:26:08,bin5168,35, -CTSPillarNetworkA,5169,5169,5169,1984-02-26,516.6000000000489,516.6209,2015-01-01 01:26:09,bin5169,75, -CTSPillarNetworkA,5170,5170,5170,1984-02-27,516.7000000000489,516.7209,2015-01-01 01:26:10,bin5170,35, -CTSPillarNetworkA,5171,5171,5171,1984-02-28,516.800000000049,516.82086,2015-01-01 01:26:11,bin5171,75, -CTSPillarNetworkA,5172,5172,5172,1984-02-29,516.900000000049,516.92084,2015-01-01 01:26:12,bin5172,35, -CTSPillarNetworkA,5173,5173,5173,1984-03-01,517.000000000049,517.0208,2015-01-01 01:26:13,bin5173,75, -CTSPillarNetworkA,5174,5174,5174,1984-03-02,517.100000000049,517.1208,2015-01-01 01:26:14,bin5174,35, -CTSPillarNetworkA,5175,5175,5175,1984-03-03,517.200000000049,517.22076,2015-01-01 01:26:15,bin5175,75, -CTSPillarNetworkA,5176,5176,5176,1984-03-04,517.3000000000491,517.32074,2015-01-01 01:26:16,bin5176,35, -CTSPillarNetworkA,5177,5177,5177,1984-03-05,517.4000000000491,517.4207,2015-01-01 01:26:17,bin5177,75, -CTSPillarNetworkA,5178,5178,5178,1984-03-06,517.5000000000491,517.5207,2015-01-01 01:26:18,bin5178,35, -CTSPillarNetworkA,5179,5179,5179,1984-03-07,517.6000000000491,517.62067,2015-01-01 01:26:19,bin5179,75, -CTSPillarNetworkA,5180,5180,5180,1984-03-08,517.7000000000492,517.72064,2015-01-01 01:26:20,bin5180,35, -CTSPillarNetworkA,5181,5181,5181,1984-03-09,517.8000000000492,517.8206,2015-01-01 01:26:21,bin5181,75, -CTSPillarNetworkA,5182,5182,5182,1984-03-10,517.9000000000492,517.9206,2015-01-01 01:26:22,bin5182,35, -CTSPillarNetworkA,5183,5183,5183,1984-03-11,518.0000000000492,518.02057,2015-01-01 01:26:23,bin5183,75, -CTSPillarNetworkA,5184,5184,5184,1984-03-12,518.1000000000492,518.12054,2015-01-01 01:26:24,bin5184,35, -CTSPillarNetworkA,5185,5185,5185,1984-03-13,518.2000000000493,518.2205,2015-01-01 01:26:25,bin5185,75, -CTSPillarNetworkA,5186,5186,5186,1984-03-14,518.3000000000493,518.3205,2015-01-01 01:26:26,bin5186,35, -CTSPillarNetworkA,5187,5187,5187,1984-03-15,518.4000000000493,518.4205,2015-01-01 01:26:27,bin5187,75, -CTSPillarNetworkA,5188,5188,5188,1984-03-16,518.5000000000493,518.52045,2015-01-01 01:26:28,bin5188,35, -CTSPillarNetworkA,5189,5189,5189,1984-03-17,518.6000000000494,518.6204,2015-01-01 01:26:29,bin5189,75, -CTSPillarNetworkA,5190,5190,5190,1984-03-18,518.7000000000494,518.7204,2015-01-01 01:26:30,bin5190,35, -CTSPillarNetworkA,5191,5191,5191,1984-03-19,518.8000000000494,518.8204,2015-01-01 01:26:31,bin5191,75, -CTSPillarNetworkA,5192,5192,5192,1984-03-20,518.9000000000494,518.92035,2015-01-01 01:26:32,bin5192,35, -CTSPillarNetworkA,5193,5193,5193,1984-03-21,519.0000000000495,519.0203,2015-01-01 01:26:33,bin5193,75, -CTSPillarNetworkA,5194,5194,5194,1984-03-22,519.1000000000495,519.1203,2015-01-01 01:26:34,bin5194,35, -CTSPillarNetworkA,5195,5195,5195,1984-03-23,519.2000000000495,519.2203,2015-01-01 01:26:35,bin5195,75, -CTSPillarNetworkA,5196,5196,5196,1984-03-24,519.3000000000495,519.32025,2015-01-01 01:26:36,bin5196,35, -CTSPillarNetworkA,5197,5197,5197,1984-03-25,519.4000000000495,519.4202,2015-01-01 01:26:37,bin5197,75, -CTSPillarNetworkA,5198,5198,5198,1984-03-26,519.5000000000496,519.5202,2015-01-01 01:26:38,bin5198,35, -CTSPillarNetworkA,5199,5199,5199,1984-03-27,519.6000000000496,519.6202,2015-01-01 01:26:39,bin5199,75, -CTSPillarNetworkA,5200,5200,5200,1984-03-28,519.7000000000496,519.72015,2015-01-01 01:26:40,bin5200,35, -CTSPillarNetworkA,5201,5201,5201,1984-03-29,519.8000000000496,519.8201,2015-01-01 01:26:41,bin5201,75, -CTSPillarNetworkA,5202,5202,5202,1984-03-30,519.9000000000497,519.9201,2015-01-01 01:26:42,bin5202,35, -CTSPillarNetworkA,5203,5203,5203,1984-03-31,520.0000000000497,520.0201,2015-01-01 01:26:43,bin5203,75, -CTSPillarNetworkA,5204,5204,5204,1984-04-01,520.1000000000497,520.12006,2015-01-01 01:26:44,bin5204,35, -CTSPillarNetworkA,5205,5205,5205,1984-04-02,520.2000000000497,520.22003,2015-01-01 01:26:45,bin5205,75, -CTSPillarNetworkA,5206,5206,5206,1984-04-03,520.3000000000497,520.32,2015-01-01 01:26:46,bin5206,35, -CTSPillarNetworkA,5207,5207,5207,1984-04-04,520.4000000000498,520.42,2015-01-01 01:26:47,bin5207,75, -CTSPillarNetworkA,5208,5208,5208,1984-04-05,520.5000000000498,520.51996,2015-01-01 01:26:48,bin5208,35, -CTSPillarNetworkA,5209,5209,5209,1984-04-06,520.6000000000498,520.61993,2015-01-01 01:26:49,bin5209,75, -CTSPillarNetworkA,5210,5210,5210,1984-04-07,520.7000000000498,520.7199,2015-01-01 01:26:50,bin5210,35, -CTSPillarNetworkA,5211,5211,5211,1984-04-08,520.8000000000499,520.8199,2015-01-01 01:26:51,bin5211,75, -CTSPillarNetworkA,5212,5212,5212,1984-04-09,520.9000000000499,520.91986,2015-01-01 01:26:52,bin5212,35, -CTSPillarNetworkA,5213,5213,5213,1984-04-10,521.0000000000499,521.01984,2015-01-01 01:26:53,bin5213,75, -CTSPillarNetworkA,5214,5214,5214,1984-04-11,521.1000000000499,521.1198,2015-01-01 01:26:54,bin5214,35, -CTSPillarNetworkA,5215,5215,5215,1984-04-12,521.20000000005,521.2198,2015-01-01 01:26:55,bin5215,75, -CTSPillarNetworkA,5216,5216,5216,1984-04-13,521.30000000005,521.31976,2015-01-01 01:26:56,bin5216,35, -CTSPillarNetworkA,5217,5217,5217,1984-04-14,521.40000000005,521.41974,2015-01-01 01:26:57,bin5217,75, -CTSPillarNetworkA,5218,5218,5218,1984-04-15,521.50000000005,521.5197,2015-01-01 01:26:58,bin5218,35, -CTSPillarNetworkA,5219,5219,5219,1984-04-16,521.60000000005,521.6197,2015-01-01 01:26:59,bin5219,75, -CTSPillarNetworkA,5220,5220,5220,1984-04-17,521.7000000000501,521.71967,2015-01-01 01:27:00,bin5220,35, -CTSPillarNetworkA,5221,5221,5221,1984-04-18,521.8000000000501,521.81964,2015-01-01 01:27:01,bin5221,75, -CTSPillarNetworkA,5222,5222,5222,1984-04-19,521.9000000000501,521.9196,2015-01-01 01:27:02,bin5222,35, -CTSPillarNetworkA,5223,5223,5223,1984-04-20,522.0000000000501,522.0196,2015-01-01 01:27:03,bin5223,75, -CTSPillarNetworkA,5224,5224,5224,1984-04-21,522.1000000000502,522.11957,2015-01-01 01:27:04,bin5224,35, -CTSPillarNetworkA,5225,5225,5225,1984-04-22,522.2000000000502,522.21954,2015-01-01 01:27:05,bin5225,75, -CTSPillarNetworkA,5226,5226,5226,1984-04-23,522.3000000000502,522.3195,2015-01-01 01:27:06,bin5226,35, -CTSPillarNetworkA,5227,5227,5227,1984-04-24,522.4000000000502,522.4195,2015-01-01 01:27:07,bin5227,75, -CTSPillarNetworkA,5228,5228,5228,1984-04-25,522.5000000000502,522.5195,2015-01-01 01:27:08,bin5228,35, -CTSPillarNetworkA,5229,5229,5229,1984-04-26,522.6000000000503,522.61945,2015-01-01 01:27:09,bin5229,75, -CTSPillarNetworkA,5230,5230,5230,1984-04-27,522.7000000000503,522.7194,2015-01-01 01:27:10,bin5230,35, -CTSPillarNetworkA,5231,5231,5231,1984-04-28,522.8000000000503,522.8194,2015-01-01 01:27:11,bin5231,75, -CTSPillarNetworkA,5232,5232,5232,1984-04-29,522.9000000000503,522.9194,2015-01-01 01:27:12,bin5232,35, -CTSPillarNetworkA,5233,5233,5233,1984-04-30,523.0000000000504,523.01935,2015-01-01 01:27:13,bin5233,75, -CTSPillarNetworkA,5234,5234,5234,1984-05-01,523.1000000000504,523.1193,2015-01-01 01:27:14,bin5234,35, -CTSPillarNetworkA,5235,5235,5235,1984-05-02,523.2000000000504,523.2193,2015-01-01 01:27:15,bin5235,75, -CTSPillarNetworkA,5236,5236,5236,1984-05-03,523.3000000000504,523.3193,2015-01-01 01:27:16,bin5236,35, -CTSPillarNetworkA,5237,5237,5237,1984-05-04,523.4000000000505,523.41925,2015-01-01 01:27:17,bin5237,75, -CTSPillarNetworkA,5238,5238,5238,1984-05-05,523.5000000000505,523.5192,2015-01-01 01:27:18,bin5238,35, -CTSPillarNetworkA,5239,5239,5239,1984-05-06,523.6000000000505,523.6192,2015-01-01 01:27:19,bin5239,75, -CTSPillarNetworkA,5240,5240,5240,1984-05-07,523.7000000000505,523.7192,2015-01-01 01:27:20,bin5240,35, -CTSPillarNetworkA,5241,5241,5241,1984-05-08,523.8000000000505,523.81915,2015-01-01 01:27:21,bin5241,75, -CTSPillarNetworkA,5242,5242,5242,1984-05-09,523.9000000000506,523.9191,2015-01-01 01:27:22,bin5242,35, -CTSPillarNetworkA,5243,5243,5243,1984-05-10,524.0000000000506,524.0191,2015-01-01 01:27:23,bin5243,75, -CTSPillarNetworkA,5244,5244,5244,1984-05-11,524.1000000000506,524.1191,2015-01-01 01:27:24,bin5244,35, -CTSPillarNetworkA,5245,5245,5245,1984-05-12,524.2000000000506,524.21906,2015-01-01 01:27:25,bin5245,75, -CTSPillarNetworkA,5246,5246,5246,1984-05-13,524.3000000000507,524.31903,2015-01-01 01:27:26,bin5246,35, -CTSPillarNetworkA,5247,5247,5247,1984-05-14,524.4000000000507,524.419,2015-01-01 01:27:27,bin5247,75, -CTSPillarNetworkA,5248,5248,5248,1984-05-15,524.5000000000507,524.519,2015-01-01 01:27:28,bin5248,35, -CTSPillarNetworkA,5249,5249,5249,1984-05-16,524.6000000000507,524.61896,2015-01-01 01:27:29,bin5249,75, -CTSPillarNetworkA,5250,5250,5250,1984-05-17,524.7000000000507,524.71893,2015-01-01 01:27:30,bin5250,35, -CTSPillarNetworkA,5251,5251,5251,1984-05-18,524.8000000000508,524.8189,2015-01-01 01:27:31,bin5251,75, -CTSPillarNetworkA,5252,5252,5252,1984-05-19,524.9000000000508,524.9189,2015-01-01 01:27:32,bin5252,35, -CTSPillarNetworkA,5253,5253,5253,1984-05-20,525.0000000000508,525.01886,2015-01-01 01:27:33,bin5253,75, -CTSPillarNetworkA,5254,5254,5254,1984-05-21,525.1000000000508,525.11884,2015-01-01 01:27:34,bin5254,35, -CTSPillarNetworkA,5255,5255,5255,1984-05-22,525.2000000000509,525.2188,2015-01-01 01:27:35,bin5255,75, -CTSPillarNetworkA,5256,5256,5256,1984-05-23,525.3000000000509,525.3188,2015-01-01 01:27:36,bin5256,35, -CTSPillarNetworkA,5257,5257,5257,1984-05-24,525.4000000000509,525.41876,2015-01-01 01:27:37,bin5257,75, -CTSPillarNetworkA,5258,5258,5258,1984-05-25,525.5000000000509,525.51874,2015-01-01 01:27:38,bin5258,35, -CTSPillarNetworkA,5259,5259,5259,1984-05-26,525.600000000051,525.6187,2015-01-01 01:27:39,bin5259,75, -CTSPillarNetworkA,5260,5260,5260,1984-05-27,525.700000000051,525.7187,2015-01-01 01:27:40,bin5260,35, -CTSPillarNetworkA,5261,5261,5261,1984-05-28,525.800000000051,525.81866,2015-01-01 01:27:41,bin5261,75, -CTSPillarNetworkA,5262,5262,5262,1984-05-29,525.900000000051,525.91864,2015-01-01 01:27:42,bin5262,35, -CTSPillarNetworkA,5263,5263,5263,1984-05-30,526.000000000051,526.0186,2015-01-01 01:27:43,bin5263,75, -CTSPillarNetworkA,5264,5264,5264,1984-05-31,526.1000000000511,526.1186,2015-01-01 01:27:44,bin5264,35, -CTSPillarNetworkA,5265,5265,5265,1984-06-01,526.2000000000511,526.21857,2015-01-01 01:27:45,bin5265,75, -CTSPillarNetworkA,5266,5266,5266,1984-06-02,526.3000000000511,526.31854,2015-01-01 01:27:46,bin5266,35, -CTSPillarNetworkA,5267,5267,5267,1984-06-03,526.4000000000511,526.4185,2015-01-01 01:27:47,bin5267,75, -CTSPillarNetworkA,5268,5268,5268,1984-06-04,526.5000000000512,526.5185,2015-01-01 01:27:48,bin5268,35, -CTSPillarNetworkA,5269,5269,5269,1984-06-05,526.6000000000512,526.61847,2015-01-01 01:27:49,bin5269,75, -CTSPillarNetworkA,5270,5270,5270,1984-06-06,526.7000000000512,526.71844,2015-01-01 01:27:50,bin5270,35, -CTSPillarNetworkA,5271,5271,5271,1984-06-07,526.8000000000512,526.8184,2015-01-01 01:27:51,bin5271,75, -CTSPillarNetworkA,5272,5272,5272,1984-06-08,526.9000000000513,526.9184,2015-01-01 01:27:52,bin5272,35, -CTSPillarNetworkA,5273,5273,5273,1984-06-09,527.0000000000513,527.0184,2015-01-01 01:27:53,bin5273,75, -CTSPillarNetworkA,5274,5274,5274,1984-06-10,527.1000000000513,527.11835,2015-01-01 01:27:54,bin5274,35, -CTSPillarNetworkA,5275,5275,5275,1984-06-11,527.2000000000513,527.2183,2015-01-01 01:27:55,bin5275,75, -CTSPillarNetworkA,5276,5276,5276,1984-06-12,527.3000000000513,527.3183,2015-01-01 01:27:56,bin5276,35, -CTSPillarNetworkA,5277,5277,5277,1984-06-13,527.4000000000514,527.4183,2015-01-01 01:27:57,bin5277,75, -CTSPillarNetworkA,5278,5278,5278,1984-06-14,527.5000000000514,527.51825,2015-01-01 01:27:58,bin5278,35, -CTSPillarNetworkA,5279,5279,5279,1984-06-15,527.6000000000514,527.6182,2015-01-01 01:27:59,bin5279,75, -CTSPillarNetworkA,5280,5280,5280,1984-06-16,527.7000000000514,527.7182,2015-01-01 01:28:00,bin5280,35, -CTSPillarNetworkA,5281,5281,5281,1984-06-17,527.8000000000515,527.8182,2015-01-01 01:28:01,bin5281,75, -CTSPillarNetworkA,5282,5282,5282,1984-06-18,527.9000000000515,527.91815,2015-01-01 01:28:02,bin5282,35, -CTSPillarNetworkA,5283,5283,5283,1984-06-19,528.0000000000515,528.0181,2015-01-01 01:28:03,bin5283,75, -CTSPillarNetworkA,5284,5284,5284,1984-06-20,528.1000000000515,528.1181,2015-01-01 01:28:04,bin5284,35, -CTSPillarNetworkA,5285,5285,5285,1984-06-21,528.2000000000515,528.2181,2015-01-01 01:28:05,bin5285,75, -CTSPillarNetworkA,5286,5286,5286,1984-06-22,528.3000000000516,528.31805,2015-01-01 01:28:06,bin5286,35, -CTSPillarNetworkA,5287,5287,5287,1984-06-23,528.4000000000516,528.418,2015-01-01 01:28:07,bin5287,75, -CTSPillarNetworkA,5288,5288,5288,1984-06-24,528.5000000000516,528.518,2015-01-01 01:28:08,bin5288,35, -CTSPillarNetworkA,5289,5289,5289,1984-06-25,528.6000000000516,528.618,2015-01-01 01:28:09,bin5289,75, -CTSPillarNetworkA,5290,5290,5290,1984-06-26,528.7000000000517,528.71796,2015-01-01 01:28:10,bin5290,35, -CTSPillarNetworkA,5291,5291,5291,1984-06-27,528.8000000000517,528.81793,2015-01-01 01:28:11,bin5291,75, -CTSPillarNetworkA,5292,5292,5292,1984-06-28,528.9000000000517,528.9179,2015-01-01 01:28:12,bin5292,35, -CTSPillarNetworkA,5293,5293,5293,1984-06-29,529.0000000000517,529.0179,2015-01-01 01:28:13,bin5293,75, -CTSPillarNetworkA,5294,5294,5294,1984-06-30,529.1000000000518,529.11786,2015-01-01 01:28:14,bin5294,35, -CTSPillarNetworkA,5295,5295,5295,1984-07-01,529.2000000000518,529.21783,2015-01-01 01:28:15,bin5295,75, -CTSPillarNetworkA,5296,5296,5296,1984-07-02,529.3000000000518,529.3178,2015-01-01 01:28:16,bin5296,35, -CTSPillarNetworkA,5297,5297,5297,1984-07-03,529.4000000000518,529.4178,2015-01-01 01:28:17,bin5297,75, -CTSPillarNetworkA,5298,5298,5298,1984-07-04,529.5000000000518,529.51776,2015-01-01 01:28:18,bin5298,35, -CTSPillarNetworkA,5299,5299,5299,1984-07-05,529.6000000000519,529.61774,2015-01-01 01:28:19,bin5299,75, -CTSPillarNetworkA,5300,5300,5300,1984-07-06,529.7000000000519,529.7177,2015-01-01 01:28:20,bin5300,35, -CTSPillarNetworkA,5301,5301,5301,1984-07-07,529.8000000000519,529.8177,2015-01-01 01:28:21,bin5301,75, -CTSPillarNetworkA,5302,5302,5302,1984-07-08,529.9000000000519,529.91766,2015-01-01 01:28:22,bin5302,35, -CTSPillarNetworkA,5303,5303,5303,1984-07-09,530.000000000052,530.01764,2015-01-01 01:28:23,bin5303,75, -CTSPillarNetworkA,5304,5304,5304,1984-07-10,530.100000000052,530.1176,2015-01-01 01:28:24,bin5304,35, -CTSPillarNetworkA,5305,5305,5305,1984-07-11,530.200000000052,530.2176,2015-01-01 01:28:25,bin5305,75, -CTSPillarNetworkA,5306,5306,5306,1984-07-12,530.300000000052,530.31757,2015-01-01 01:28:26,bin5306,35, -CTSPillarNetworkA,5307,5307,5307,1984-07-13,530.400000000052,530.41754,2015-01-01 01:28:27,bin5307,75, -CTSPillarNetworkA,5308,5308,5308,1984-07-14,530.5000000000521,530.5175,2015-01-01 01:28:28,bin5308,35, -CTSPillarNetworkA,5309,5309,5309,1984-07-15,530.6000000000521,530.6175,2015-01-01 01:28:29,bin5309,75, -CTSPillarNetworkA,5310,5310,5310,1984-07-16,530.7000000000521,530.71747,2015-01-01 01:28:30,bin5310,35, -CTSPillarNetworkA,5311,5311,5311,1984-07-17,530.8000000000521,530.81744,2015-01-01 01:28:31,bin5311,75, -CTSPillarNetworkA,5312,5312,5312,1984-07-18,530.9000000000522,530.9174,2015-01-01 01:28:32,bin5312,35, -CTSPillarNetworkA,5313,5313,5313,1984-07-19,531.0000000000522,531.0174,2015-01-01 01:28:33,bin5313,75, -CTSPillarNetworkA,5314,5314,5314,1984-07-20,531.1000000000522,531.1174,2015-01-01 01:28:34,bin5314,35, -CTSPillarNetworkA,5315,5315,5315,1984-07-21,531.2000000000522,531.21735,2015-01-01 01:28:35,bin5315,75, -CTSPillarNetworkA,5316,5316,5316,1984-07-22,531.3000000000523,531.3173,2015-01-01 01:28:36,bin5316,35, -CTSPillarNetworkA,5317,5317,5317,1984-07-23,531.4000000000523,531.4173,2015-01-01 01:28:37,bin5317,75, -CTSPillarNetworkA,5318,5318,5318,1984-07-24,531.5000000000523,531.5173,2015-01-01 01:28:38,bin5318,35, -CTSPillarNetworkA,5319,5319,5319,1984-07-25,531.6000000000523,531.61725,2015-01-01 01:28:39,bin5319,75, -CTSPillarNetworkA,5320,5320,5320,1984-07-26,531.7000000000523,531.7172,2015-01-01 01:28:40,bin5320,35, -CTSPillarNetworkA,5321,5321,5321,1984-07-27,531.8000000000524,531.8172,2015-01-01 01:28:41,bin5321,75, -CTSPillarNetworkA,5322,5322,5322,1984-07-28,531.9000000000524,531.9172,2015-01-01 01:28:42,bin5322,35, -CTSPillarNetworkA,5323,5323,5323,1984-07-29,532.0000000000524,532.01715,2015-01-01 01:28:43,bin5323,75, -CTSPillarNetworkA,5324,5324,5324,1984-07-30,532.1000000000524,532.1171,2015-01-01 01:28:44,bin5324,35, -CTSPillarNetworkA,5325,5325,5325,1984-07-31,532.2000000000525,532.2171,2015-01-01 01:28:45,bin5325,75, -CTSPillarNetworkA,5326,5326,5326,1984-08-01,532.3000000000525,532.3171,2015-01-01 01:28:46,bin5326,35, -CTSPillarNetworkA,5327,5327,5327,1984-08-02,532.4000000000525,532.41705,2015-01-01 01:28:47,bin5327,75, -CTSPillarNetworkA,5328,5328,5328,1984-08-03,532.5000000000525,532.517,2015-01-01 01:28:48,bin5328,35, -CTSPillarNetworkA,5329,5329,5329,1984-08-04,532.6000000000525,532.617,2015-01-01 01:28:49,bin5329,75, -CTSPillarNetworkA,5330,5330,5330,1984-08-05,532.7000000000526,532.717,2015-01-01 01:28:50,bin5330,35, -CTSPillarNetworkA,5331,5331,5331,1984-08-06,532.8000000000526,532.81696,2015-01-01 01:28:51,bin5331,75, -CTSPillarNetworkA,5332,5332,5332,1984-08-07,532.9000000000526,532.91693,2015-01-01 01:28:52,bin5332,35, -CTSPillarNetworkA,5333,5333,5333,1984-08-08,533.0000000000526,533.0169,2015-01-01 01:28:53,bin5333,75, -CTSPillarNetworkA,5334,5334,5334,1984-08-09,533.1000000000527,533.1169,2015-01-01 01:28:54,bin5334,35, -CTSPillarNetworkA,5335,5335,5335,1984-08-10,533.2000000000527,533.21686,2015-01-01 01:28:55,bin5335,75, -CTSPillarNetworkA,5336,5336,5336,1984-08-11,533.3000000000527,533.31683,2015-01-01 01:28:56,bin5336,35, -CTSPillarNetworkA,5337,5337,5337,1984-08-12,533.4000000000527,533.4168,2015-01-01 01:28:57,bin5337,75, -CTSPillarNetworkA,5338,5338,5338,1984-08-13,533.5000000000528,533.5168,2015-01-01 01:28:58,bin5338,35, -CTSPillarNetworkA,5339,5339,5339,1984-08-14,533.6000000000528,533.61676,2015-01-01 01:28:59,bin5339,75, -CTSPillarNetworkA,5340,5340,5340,1984-08-15,533.7000000000528,533.71674,2015-01-01 01:29:00,bin5340,35, -CTSPillarNetworkA,5341,5341,5341,1984-08-16,533.8000000000528,533.8167,2015-01-01 01:29:01,bin5341,75, -CTSPillarNetworkA,5342,5342,5342,1984-08-17,533.9000000000528,533.9167,2015-01-01 01:29:02,bin5342,35, -CTSPillarNetworkA,5343,5343,5343,1984-08-18,534.0000000000529,534.01666,2015-01-01 01:29:03,bin5343,75, -CTSPillarNetworkA,5344,5344,5344,1984-08-19,534.1000000000529,534.11664,2015-01-01 01:29:04,bin5344,35, -CTSPillarNetworkA,5345,5345,5345,1984-08-20,534.2000000000529,534.2166,2015-01-01 01:29:05,bin5345,75, -CTSPillarNetworkA,5346,5346,5346,1984-08-21,534.3000000000529,534.3166,2015-01-01 01:29:06,bin5346,35, -CTSPillarNetworkA,5347,5347,5347,1984-08-22,534.400000000053,534.41656,2015-01-01 01:29:07,bin5347,75, -CTSPillarNetworkA,5348,5348,5348,1984-08-23,534.500000000053,534.51654,2015-01-01 01:29:08,bin5348,35, -CTSPillarNetworkA,5349,5349,5349,1984-08-24,534.600000000053,534.6165,2015-01-01 01:29:09,bin5349,75, -CTSPillarNetworkA,5350,5350,5350,1984-08-25,534.700000000053,534.7165,2015-01-01 01:29:10,bin5350,35, -CTSPillarNetworkA,5351,5351,5351,1984-08-26,534.800000000053,534.81647,2015-01-01 01:29:11,bin5351,75, -CTSPillarNetworkA,5352,5352,5352,1984-08-27,534.9000000000531,534.91644,2015-01-01 01:29:12,bin5352,35, -CTSPillarNetworkA,5353,5353,5353,1984-08-28,535.0000000000531,535.0164,2015-01-01 01:29:13,bin5353,75, -CTSPillarNetworkA,5354,5354,5354,1984-08-29,535.1000000000531,535.1164,2015-01-01 01:29:14,bin5354,35, -CTSPillarNetworkA,5355,5355,5355,1984-08-30,535.2000000000531,535.2164,2015-01-01 01:29:15,bin5355,75, -CTSPillarNetworkA,5356,5356,5356,1984-08-31,535.3000000000532,535.31635,2015-01-01 01:29:16,bin5356,35, -CTSPillarNetworkA,5357,5357,5357,1984-09-01,535.4000000000532,535.4163,2015-01-01 01:29:17,bin5357,75, -CTSPillarNetworkA,5358,5358,5358,1984-09-02,535.5000000000532,535.5163,2015-01-01 01:29:18,bin5358,35, -CTSPillarNetworkA,5359,5359,5359,1984-09-03,535.6000000000532,535.6163,2015-01-01 01:29:19,bin5359,75, -CTSPillarNetworkA,5360,5360,5360,1984-09-04,535.7000000000533,535.71625,2015-01-01 01:29:20,bin5360,35, -CTSPillarNetworkA,5361,5361,5361,1984-09-05,535.8000000000533,535.8162,2015-01-01 01:29:21,bin5361,75, -CTSPillarNetworkA,5362,5362,5362,1984-09-06,535.9000000000533,535.9162,2015-01-01 01:29:22,bin5362,35, -CTSPillarNetworkA,5363,5363,5363,1984-09-07,536.0000000000533,536.0162,2015-01-01 01:29:23,bin5363,75, -CTSPillarNetworkA,5364,5364,5364,1984-09-08,536.1000000000533,536.11615,2015-01-01 01:29:24,bin5364,35, -CTSPillarNetworkA,5365,5365,5365,1984-09-09,536.2000000000534,536.2161,2015-01-01 01:29:25,bin5365,75, -CTSPillarNetworkA,5366,5366,5366,1984-09-10,536.3000000000534,536.3161,2015-01-01 01:29:26,bin5366,35, -CTSPillarNetworkA,5367,5367,5367,1984-09-11,536.4000000000534,536.4161,2015-01-01 01:29:27,bin5367,75, -CTSPillarNetworkA,5368,5368,5368,1984-09-12,536.5000000000534,536.51605,2015-01-01 01:29:28,bin5368,35, -CTSPillarNetworkA,5369,5369,5369,1984-09-13,536.6000000000535,536.616,2015-01-01 01:29:29,bin5369,75, -CTSPillarNetworkA,5370,5370,5370,1984-09-14,536.7000000000535,536.716,2015-01-01 01:29:30,bin5370,35, -CTSPillarNetworkA,5371,5371,5371,1984-09-15,536.8000000000535,536.816,2015-01-01 01:29:31,bin5371,75, -CTSPillarNetworkA,5372,5372,5372,1984-09-16,536.9000000000535,536.91595,2015-01-01 01:29:32,bin5372,35, -CTSPillarNetworkA,5373,5373,5373,1984-09-17,537.0000000000535,537.0159,2015-01-01 01:29:33,bin5373,75, -CTSPillarNetworkA,5374,5374,5374,1984-09-18,537.1000000000536,537.1159,2015-01-01 01:29:34,bin5374,35, -CTSPillarNetworkA,5375,5375,5375,1984-09-19,537.2000000000536,537.2159,2015-01-01 01:29:35,bin5375,75, -CTSPillarNetworkA,5376,5376,5376,1984-09-20,537.3000000000536,537.31586,2015-01-01 01:29:36,bin5376,35, -CTSPillarNetworkA,5377,5377,5377,1984-09-21,537.4000000000536,537.41583,2015-01-01 01:29:37,bin5377,75, -CTSPillarNetworkA,5378,5378,5378,1984-09-22,537.5000000000537,537.5158,2015-01-01 01:29:38,bin5378,35, -CTSPillarNetworkA,5379,5379,5379,1984-09-23,537.6000000000537,537.6158,2015-01-01 01:29:39,bin5379,75, -CTSPillarNetworkA,5380,5380,5380,1984-09-24,537.7000000000537,537.71576,2015-01-01 01:29:40,bin5380,35, -CTSPillarNetworkA,5381,5381,5381,1984-09-25,537.8000000000537,537.81573,2015-01-01 01:29:41,bin5381,75, -CTSPillarNetworkA,5382,5382,5382,1984-09-26,537.9000000000538,537.9157,2015-01-01 01:29:42,bin5382,35, -CTSPillarNetworkA,5383,5383,5383,1984-09-27,538.0000000000538,538.0157,2015-01-01 01:29:43,bin5383,75, -CTSPillarNetworkA,5384,5384,5384,1984-09-28,538.1000000000538,538.11566,2015-01-01 01:29:44,bin5384,35, -CTSPillarNetworkA,5385,5385,5385,1984-09-29,538.2000000000538,538.21564,2015-01-01 01:29:45,bin5385,75, -CTSPillarNetworkA,5386,5386,5386,1984-09-30,538.3000000000538,538.3156,2015-01-01 01:29:46,bin5386,35, -CTSPillarNetworkA,5387,5387,5387,1984-10-01,538.4000000000539,538.4156,2015-01-01 01:29:47,bin5387,75, -CTSPillarNetworkA,5388,5388,5388,1984-10-02,538.5000000000539,538.51556,2015-01-01 01:29:48,bin5388,35, -CTSPillarNetworkA,5389,5389,5389,1984-10-03,538.6000000000539,538.61554,2015-01-01 01:29:49,bin5389,75, -CTSPillarNetworkA,5390,5390,5390,1984-10-04,538.7000000000539,538.7155,2015-01-01 01:29:50,bin5390,35, -CTSPillarNetworkA,5391,5391,5391,1984-10-05,538.800000000054,538.8155,2015-01-01 01:29:51,bin5391,75, -CTSPillarNetworkA,5392,5392,5392,1984-10-06,538.900000000054,538.91547,2015-01-01 01:29:52,bin5392,35, -CTSPillarNetworkA,5393,5393,5393,1984-10-07,539.000000000054,539.01544,2015-01-01 01:29:53,bin5393,75, -CTSPillarNetworkA,5394,5394,5394,1984-10-08,539.100000000054,539.1154,2015-01-01 01:29:54,bin5394,35, -CTSPillarNetworkA,5395,5395,5395,1984-10-09,539.200000000054,539.2154,2015-01-01 01:29:55,bin5395,75, -CTSPillarNetworkA,5396,5396,5396,1984-10-10,539.3000000000541,539.31537,2015-01-01 01:29:56,bin5396,35, -CTSPillarNetworkA,5397,5397,5397,1984-10-11,539.4000000000541,539.41534,2015-01-01 01:29:57,bin5397,75, -CTSPillarNetworkA,5398,5398,5398,1984-10-12,539.5000000000541,539.5153,2015-01-01 01:29:58,bin5398,35, -CTSPillarNetworkA,5399,5399,5399,1984-10-13,539.6000000000541,539.6153,2015-01-01 01:29:59,bin5399,75, -CTSPillarNetworkA,5400,5400,5400,1984-10-14,539.7000000000542,539.7153,2015-01-01 01:30:00,bin5400,35, -CTSPillarNetworkA,5401,5401,5401,1984-10-15,539.8000000000542,539.81525,2015-01-01 01:30:01,bin5401,75, -CTSPillarNetworkA,5402,5402,5402,1984-10-16,539.9000000000542,539.9152,2015-01-01 01:30:02,bin5402,35, -CTSPillarNetworkA,5403,5403,5403,1984-10-17,540.0000000000542,540.0152,2015-01-01 01:30:03,bin5403,75, -CTSPillarNetworkA,5404,5404,5404,1984-10-18,540.1000000000543,540.1152,2015-01-01 01:30:04,bin5404,35, -CTSPillarNetworkA,5405,5405,5405,1984-10-19,540.2000000000543,540.21515,2015-01-01 01:30:05,bin5405,75, -CTSPillarNetworkA,5406,5406,5406,1984-10-20,540.3000000000543,540.3151,2015-01-01 01:30:06,bin5406,35, -CTSPillarNetworkA,5407,5407,5407,1984-10-21,540.4000000000543,540.4151,2015-01-01 01:30:07,bin5407,75, -CTSPillarNetworkA,5408,5408,5408,1984-10-22,540.5000000000543,540.5151,2015-01-01 01:30:08,bin5408,35, -CTSPillarNetworkA,5409,5409,5409,1984-10-23,540.6000000000544,540.61505,2015-01-01 01:30:09,bin5409,75, -CTSPillarNetworkA,5410,5410,5410,1984-10-24,540.7000000000544,540.715,2015-01-01 01:30:10,bin5410,35, -CTSPillarNetworkA,5411,5411,5411,1984-10-25,540.8000000000544,540.815,2015-01-01 01:30:11,bin5411,75, -CTSPillarNetworkA,5412,5412,5412,1984-10-26,540.9000000000544,540.915,2015-01-01 01:30:12,bin5412,35, -CTSPillarNetworkA,5413,5413,5413,1984-10-27,541.0000000000545,541.01495,2015-01-01 01:30:13,bin5413,75, -CTSPillarNetworkA,5414,5414,5414,1984-10-28,541.1000000000545,541.1149,2015-01-01 01:30:14,bin5414,35, -CTSPillarNetworkA,5415,5415,5415,1984-10-29,541.2000000000545,541.2149,2015-01-01 01:30:15,bin5415,75, -CTSPillarNetworkA,5416,5416,5416,1984-10-30,541.3000000000545,541.3149,2015-01-01 01:30:16,bin5416,35, -CTSPillarNetworkA,5417,5417,5417,1984-10-31,541.4000000000545,541.41486,2015-01-01 01:30:17,bin5417,75, -CTSPillarNetworkA,5418,5418,5418,1984-11-01,541.5000000000546,541.51483,2015-01-01 01:30:18,bin5418,35, -CTSPillarNetworkA,5419,5419,5419,1984-11-02,541.6000000000546,541.6148,2015-01-01 01:30:19,bin5419,75, -CTSPillarNetworkA,5420,5420,5420,1984-11-03,541.7000000000546,541.7148,2015-01-01 01:30:20,bin5420,35, -CTSPillarNetworkA,5421,5421,5421,1984-11-04,541.8000000000546,541.81476,2015-01-01 01:30:21,bin5421,75, -CTSPillarNetworkA,5422,5422,5422,1984-11-05,541.9000000000547,541.91473,2015-01-01 01:30:22,bin5422,35, -CTSPillarNetworkA,5423,5423,5423,1984-11-06,542.0000000000547,542.0147,2015-01-01 01:30:23,bin5423,75, -CTSPillarNetworkA,5424,5424,5424,1984-11-07,542.1000000000547,542.1147,2015-01-01 01:30:24,bin5424,35, -CTSPillarNetworkA,5425,5425,5425,1984-11-08,542.2000000000547,542.21466,2015-01-01 01:30:25,bin5425,75, -CTSPillarNetworkA,5426,5426,5426,1984-11-09,542.3000000000548,542.31464,2015-01-01 01:30:26,bin5426,35, -CTSPillarNetworkA,5427,5427,5427,1984-11-10,542.4000000000548,542.4146,2015-01-01 01:30:27,bin5427,75, -CTSPillarNetworkA,5428,5428,5428,1984-11-11,542.5000000000548,542.5146,2015-01-01 01:30:28,bin5428,35, -CTSPillarNetworkA,5429,5429,5429,1984-11-12,542.6000000000548,542.61456,2015-01-01 01:30:29,bin5429,75, -CTSPillarNetworkA,5430,5430,5430,1984-11-13,542.7000000000548,542.71454,2015-01-01 01:30:30,bin5430,35, -CTSPillarNetworkA,5431,5431,5431,1984-11-14,542.8000000000549,542.8145,2015-01-01 01:30:31,bin5431,75, -CTSPillarNetworkA,5432,5432,5432,1984-11-15,542.9000000000549,542.9145,2015-01-01 01:30:32,bin5432,35, -CTSPillarNetworkA,5433,5433,5433,1984-11-16,543.0000000000549,543.01447,2015-01-01 01:30:33,bin5433,75, -CTSPillarNetworkA,5434,5434,5434,1984-11-17,543.1000000000549,543.11444,2015-01-01 01:30:34,bin5434,35, -CTSPillarNetworkA,5435,5435,5435,1984-11-18,543.200000000055,543.2144,2015-01-01 01:30:35,bin5435,75, -CTSPillarNetworkA,5436,5436,5436,1984-11-19,543.300000000055,543.3144,2015-01-01 01:30:36,bin5436,35, -CTSPillarNetworkA,5437,5437,5437,1984-11-20,543.400000000055,543.41437,2015-01-01 01:30:37,bin5437,75, -CTSPillarNetworkA,5438,5438,5438,1984-11-21,543.500000000055,543.51434,2015-01-01 01:30:38,bin5438,35, -CTSPillarNetworkA,5439,5439,5439,1984-11-22,543.600000000055,543.6143,2015-01-01 01:30:39,bin5439,75, -CTSPillarNetworkA,5440,5440,5440,1984-11-23,543.7000000000551,543.7143,2015-01-01 01:30:40,bin5440,35, -CTSPillarNetworkA,5441,5441,5441,1984-11-24,543.8000000000551,543.8143,2015-01-01 01:30:41,bin5441,75, -CTSPillarNetworkA,5442,5442,5442,1984-11-25,543.9000000000551,543.91425,2015-01-01 01:30:42,bin5442,35, -CTSPillarNetworkA,5443,5443,5443,1984-11-26,544.0000000000551,544.0142,2015-01-01 01:30:43,bin5443,75, -CTSPillarNetworkA,5444,5444,5444,1984-11-27,544.1000000000552,544.1142,2015-01-01 01:30:44,bin5444,35, -CTSPillarNetworkA,5445,5445,5445,1984-11-28,544.2000000000552,544.2142,2015-01-01 01:30:45,bin5445,75, -CTSPillarNetworkA,5446,5446,5446,1984-11-29,544.3000000000552,544.31415,2015-01-01 01:30:46,bin5446,35, -CTSPillarNetworkA,5447,5447,5447,1984-11-30,544.4000000000552,544.4141,2015-01-01 01:30:47,bin5447,75, -CTSPillarNetworkA,5448,5448,5448,1984-12-01,544.5000000000553,544.5141,2015-01-01 01:30:48,bin5448,35, -CTSPillarNetworkA,5449,5449,5449,1984-12-02,544.6000000000553,544.6141,2015-01-01 01:30:49,bin5449,75, -CTSPillarNetworkA,5450,5450,5450,1984-12-03,544.7000000000553,544.71405,2015-01-01 01:30:50,bin5450,35, -CTSPillarNetworkA,5451,5451,5451,1984-12-04,544.8000000000553,544.814,2015-01-01 01:30:51,bin5451,75, -CTSPillarNetworkA,5452,5452,5452,1984-12-05,544.9000000000553,544.914,2015-01-01 01:30:52,bin5452,35, -CTSPillarNetworkA,5453,5453,5453,1984-12-06,545.0000000000554,545.014,2015-01-01 01:30:53,bin5453,75, -CTSPillarNetworkA,5454,5454,5454,1984-12-07,545.1000000000554,545.11395,2015-01-01 01:30:54,bin5454,35, -CTSPillarNetworkA,5455,5455,5455,1984-12-08,545.2000000000554,545.2139,2015-01-01 01:30:55,bin5455,75, -CTSPillarNetworkA,5456,5456,5456,1984-12-09,545.3000000000554,545.3139,2015-01-01 01:30:56,bin5456,35, -CTSPillarNetworkA,5457,5457,5457,1984-12-10,545.4000000000555,545.4139,2015-01-01 01:30:57,bin5457,75, -CTSPillarNetworkA,5458,5458,5458,1984-12-11,545.5000000000555,545.51385,2015-01-01 01:30:58,bin5458,35, -CTSPillarNetworkA,5459,5459,5459,1984-12-12,545.6000000000555,545.61383,2015-01-01 01:30:59,bin5459,75, -CTSPillarNetworkA,5460,5460,5460,1984-12-13,545.7000000000555,545.7138,2015-01-01 01:31:00,bin5460,35, -CTSPillarNetworkA,5461,5461,5461,1984-12-14,545.8000000000555,545.8138,2015-01-01 01:31:01,bin5461,75, -CTSPillarNetworkA,5462,5462,5462,1984-12-15,545.9000000000556,545.91376,2015-01-01 01:31:02,bin5462,35, -CTSPillarNetworkA,5463,5463,5463,1984-12-16,546.0000000000556,546.01373,2015-01-01 01:31:03,bin5463,75, -CTSPillarNetworkA,5464,5464,5464,1984-12-17,546.1000000000556,546.1137,2015-01-01 01:31:04,bin5464,35, -CTSPillarNetworkA,5465,5465,5465,1984-12-18,546.2000000000556,546.2137,2015-01-01 01:31:05,bin5465,75, -CTSPillarNetworkA,5466,5466,5466,1984-12-19,546.3000000000557,546.31366,2015-01-01 01:31:06,bin5466,35, -CTSPillarNetworkA,5467,5467,5467,1984-12-20,546.4000000000557,546.41364,2015-01-01 01:31:07,bin5467,75, -CTSPillarNetworkA,5468,5468,5468,1984-12-21,546.5000000000557,546.5136,2015-01-01 01:31:08,bin5468,35, -CTSPillarNetworkA,5469,5469,5469,1984-12-22,546.6000000000557,546.6136,2015-01-01 01:31:09,bin5469,75, -CTSPillarNetworkA,5470,5470,5470,1984-12-23,546.7000000000558,546.71356,2015-01-01 01:31:10,bin5470,35, -CTSPillarNetworkA,5471,5471,5471,1984-12-24,546.8000000000558,546.81354,2015-01-01 01:31:11,bin5471,75, -CTSPillarNetworkA,5472,5472,5472,1984-12-25,546.9000000000558,546.9135,2015-01-01 01:31:12,bin5472,35, -CTSPillarNetworkA,5473,5473,5473,1984-12-26,547.0000000000558,547.0135,2015-01-01 01:31:13,bin5473,75, -CTSPillarNetworkA,5474,5474,5474,1984-12-27,547.1000000000558,547.11346,2015-01-01 01:31:14,bin5474,35, -CTSPillarNetworkA,5475,5475,5475,1984-12-28,547.2000000000559,547.21344,2015-01-01 01:31:15,bin5475,75, -CTSPillarNetworkA,5476,5476,5476,1984-12-29,547.3000000000559,547.3134,2015-01-01 01:31:16,bin5476,35, -CTSPillarNetworkA,5477,5477,5477,1984-12-30,547.4000000000559,547.4134,2015-01-01 01:31:17,bin5477,75, -CTSPillarNetworkA,5478,5478,5478,1984-12-31,547.5000000000559,547.51337,2015-01-01 01:31:18,bin5478,35, -CTSPillarNetworkA,5479,5479,5479,1985-01-01,547.600000000056,547.61334,2015-01-01 01:31:19,bin5479,75, -CTSPillarNetworkA,5480,5480,5480,1985-01-02,547.700000000056,547.7133,2015-01-01 01:31:20,bin5480,35, -CTSPillarNetworkA,5481,5481,5481,1985-01-03,547.800000000056,547.8133,2015-01-01 01:31:21,bin5481,75, -CTSPillarNetworkA,5482,5482,5482,1985-01-04,547.900000000056,547.91327,2015-01-01 01:31:22,bin5482,35, -CTSPillarNetworkA,5483,5483,5483,1985-01-05,548.000000000056,548.01324,2015-01-01 01:31:23,bin5483,75, -CTSPillarNetworkA,5484,5484,5484,1985-01-06,548.1000000000561,548.1132,2015-01-01 01:31:24,bin5484,35, -CTSPillarNetworkA,5485,5485,5485,1985-01-07,548.2000000000561,548.2132,2015-01-01 01:31:25,bin5485,75, -CTSPillarNetworkA,5486,5486,5486,1985-01-08,548.3000000000561,548.3132,2015-01-01 01:31:26,bin5486,35, -CTSPillarNetworkA,5487,5487,5487,1985-01-09,548.4000000000561,548.41315,2015-01-01 01:31:27,bin5487,75, -CTSPillarNetworkA,5488,5488,5488,1985-01-10,548.5000000000562,548.5131,2015-01-01 01:31:28,bin5488,35, -CTSPillarNetworkA,5489,5489,5489,1985-01-11,548.6000000000562,548.6131,2015-01-01 01:31:29,bin5489,75, -CTSPillarNetworkA,5490,5490,5490,1985-01-12,548.7000000000562,548.7131,2015-01-01 01:31:30,bin5490,35, -CTSPillarNetworkA,5491,5491,5491,1985-01-13,548.8000000000562,548.81305,2015-01-01 01:31:31,bin5491,75, -CTSPillarNetworkA,5492,5492,5492,1985-01-14,548.9000000000563,548.913,2015-01-01 01:31:32,bin5492,35, -CTSPillarNetworkA,5493,5493,5493,1985-01-15,549.0000000000563,549.013,2015-01-01 01:31:33,bin5493,75, -CTSPillarNetworkA,5494,5494,5494,1985-01-16,549.1000000000563,549.113,2015-01-01 01:31:34,bin5494,35, -CTSPillarNetworkA,5495,5495,5495,1985-01-17,549.2000000000563,549.21295,2015-01-01 01:31:35,bin5495,75, -CTSPillarNetworkA,5496,5496,5496,1985-01-18,549.3000000000563,549.3129,2015-01-01 01:31:36,bin5496,35, -CTSPillarNetworkA,5497,5497,5497,1985-01-19,549.4000000000564,549.4129,2015-01-01 01:31:37,bin5497,75, -CTSPillarNetworkA,5498,5498,5498,1985-01-20,549.5000000000564,549.5129,2015-01-01 01:31:38,bin5498,35, -CTSPillarNetworkA,5499,5499,5499,1985-01-21,549.6000000000564,549.61285,2015-01-01 01:31:39,bin5499,75, -CTSPillarNetworkA,5500,5500,5500,1985-01-22,549.7000000000564,549.7128,2015-01-01 01:31:40,bin5500,35, -CTSPillarNetworkA,5501,5501,5501,1985-01-23,549.8000000000565,549.8128,2015-01-01 01:31:41,bin5501,75, -CTSPillarNetworkA,5502,5502,5502,1985-01-24,549.9000000000565,549.9128,2015-01-01 01:31:42,bin5502,35, -CTSPillarNetworkA,5503,5503,5503,1985-01-25,550.0000000000565,550.01276,2015-01-01 01:31:43,bin5503,75, -CTSPillarNetworkA,5504,5504,5504,1985-01-26,550.1000000000565,550.11273,2015-01-01 01:31:44,bin5504,35, -CTSPillarNetworkA,5505,5505,5505,1985-01-27,550.2000000000565,550.2127,2015-01-01 01:31:45,bin5505,75, -CTSPillarNetworkA,5506,5506,5506,1985-01-28,550.3000000000566,550.3127,2015-01-01 01:31:46,bin5506,35, -CTSPillarNetworkA,5507,5507,5507,1985-01-29,550.4000000000566,550.41266,2015-01-01 01:31:47,bin5507,75, -CTSPillarNetworkA,5508,5508,5508,1985-01-30,550.5000000000566,550.51263,2015-01-01 01:31:48,bin5508,35, -CTSPillarNetworkA,5509,5509,5509,1985-01-31,550.6000000000566,550.6126,2015-01-01 01:31:49,bin5509,75, -CTSPillarNetworkA,5510,5510,5510,1985-02-01,550.7000000000567,550.7126,2015-01-01 01:31:50,bin5510,35, -CTSPillarNetworkA,5511,5511,5511,1985-02-02,550.8000000000567,550.81256,2015-01-01 01:31:51,bin5511,75, -CTSPillarNetworkA,5512,5512,5512,1985-02-03,550.9000000000567,550.91254,2015-01-01 01:31:52,bin5512,35, -CTSPillarNetworkA,5513,5513,5513,1985-02-04,551.0000000000567,551.0125,2015-01-01 01:31:53,bin5513,75, -CTSPillarNetworkA,5514,5514,5514,1985-02-05,551.1000000000568,551.1125,2015-01-01 01:31:54,bin5514,35, -CTSPillarNetworkA,5515,5515,5515,1985-02-06,551.2000000000568,551.21246,2015-01-01 01:31:55,bin5515,75, -CTSPillarNetworkA,5516,5516,5516,1985-02-07,551.3000000000568,551.31244,2015-01-01 01:31:56,bin5516,35, -CTSPillarNetworkA,5517,5517,5517,1985-02-08,551.4000000000568,551.4124,2015-01-01 01:31:57,bin5517,75, -CTSPillarNetworkA,5518,5518,5518,1985-02-09,551.5000000000568,551.5124,2015-01-01 01:31:58,bin5518,35, -CTSPillarNetworkA,5519,5519,5519,1985-02-10,551.6000000000569,551.61237,2015-01-01 01:31:59,bin5519,75, -CTSPillarNetworkA,5520,5520,5520,1985-02-11,551.7000000000569,551.71234,2015-01-01 01:32:00,bin5520,35, -CTSPillarNetworkA,5521,5521,5521,1985-02-12,551.8000000000569,551.8123,2015-01-01 01:32:01,bin5521,75, -CTSPillarNetworkA,5522,5522,5522,1985-02-13,551.9000000000569,551.9123,2015-01-01 01:32:02,bin5522,35, -CTSPillarNetworkA,5523,5523,5523,1985-02-14,552.000000000057,552.01227,2015-01-01 01:32:03,bin5523,75, -CTSPillarNetworkA,5524,5524,5524,1985-02-15,552.100000000057,552.11224,2015-01-01 01:32:04,bin5524,35, -CTSPillarNetworkA,5525,5525,5525,1985-02-16,552.200000000057,552.2122,2015-01-01 01:32:05,bin5525,75, -CTSPillarNetworkA,5526,5526,5526,1985-02-17,552.300000000057,552.3122,2015-01-01 01:32:06,bin5526,35, -CTSPillarNetworkA,5527,5527,5527,1985-02-18,552.400000000057,552.4122,2015-01-01 01:32:07,bin5527,75, -CTSPillarNetworkA,5528,5528,5528,1985-02-19,552.5000000000571,552.51215,2015-01-01 01:32:08,bin5528,35, -CTSPillarNetworkA,5529,5529,5529,1985-02-20,552.6000000000571,552.6121,2015-01-01 01:32:09,bin5529,75, -CTSPillarNetworkA,5530,5530,5530,1985-02-21,552.7000000000571,552.7121,2015-01-01 01:32:10,bin5530,35, -CTSPillarNetworkA,5531,5531,5531,1985-02-22,552.8000000000571,552.8121,2015-01-01 01:32:11,bin5531,75, -CTSPillarNetworkA,5532,5532,5532,1985-02-23,552.9000000000572,552.91205,2015-01-01 01:32:12,bin5532,35, -CTSPillarNetworkA,5533,5533,5533,1985-02-24,553.0000000000572,553.012,2015-01-01 01:32:13,bin5533,75, -CTSPillarNetworkA,5534,5534,5534,1985-02-25,553.1000000000572,553.112,2015-01-01 01:32:14,bin5534,35, -CTSPillarNetworkA,5535,5535,5535,1985-02-26,553.2000000000572,553.212,2015-01-01 01:32:15,bin5535,75, -CTSPillarNetworkA,5536,5536,5536,1985-02-27,553.3000000000573,553.31195,2015-01-01 01:32:16,bin5536,35, -CTSPillarNetworkA,5537,5537,5537,1985-02-28,553.4000000000573,553.4119,2015-01-01 01:32:17,bin5537,75, -CTSPillarNetworkA,5538,5538,5538,1985-03-01,553.5000000000573,553.5119,2015-01-01 01:32:18,bin5538,35, -CTSPillarNetworkA,5539,5539,5539,1985-03-02,553.6000000000573,553.6119,2015-01-01 01:32:19,bin5539,75, -CTSPillarNetworkA,5540,5540,5540,1985-03-03,553.7000000000573,553.71185,2015-01-01 01:32:20,bin5540,35, -CTSPillarNetworkA,5541,5541,5541,1985-03-04,553.8000000000574,553.8118,2015-01-01 01:32:21,bin5541,75, -CTSPillarNetworkA,5542,5542,5542,1985-03-05,553.9000000000574,553.9118,2015-01-01 01:32:22,bin5542,35, -CTSPillarNetworkA,5543,5543,5543,1985-03-06,554.0000000000574,554.0118,2015-01-01 01:32:23,bin5543,75, -CTSPillarNetworkA,5544,5544,5544,1985-03-07,554.1000000000574,554.11176,2015-01-01 01:32:24,bin5544,35, -CTSPillarNetworkA,5545,5545,5545,1985-03-08,554.2000000000575,554.21173,2015-01-01 01:32:25,bin5545,75, -CTSPillarNetworkA,5546,5546,5546,1985-03-09,554.3000000000575,554.3117,2015-01-01 01:32:26,bin5546,35, -CTSPillarNetworkA,5547,5547,5547,1985-03-10,554.4000000000575,554.4117,2015-01-01 01:32:27,bin5547,75, -CTSPillarNetworkA,5548,5548,5548,1985-03-11,554.5000000000575,554.51166,2015-01-01 01:32:28,bin5548,35, -CTSPillarNetworkA,5549,5549,5549,1985-03-12,554.6000000000575,554.61163,2015-01-01 01:32:29,bin5549,75, -CTSPillarNetworkA,5550,5550,5550,1985-03-13,554.7000000000576,554.7116,2015-01-01 01:32:30,bin5550,35, -CTSPillarNetworkA,5551,5551,5551,1985-03-14,554.8000000000576,554.8116,2015-01-01 01:32:31,bin5551,75, -CTSPillarNetworkA,5552,5552,5552,1985-03-15,554.9000000000576,554.91156,2015-01-01 01:32:32,bin5552,35, -CTSPillarNetworkA,5553,5553,5553,1985-03-16,555.0000000000576,555.01154,2015-01-01 01:32:33,bin5553,75, -CTSPillarNetworkA,5554,5554,5554,1985-03-17,555.1000000000577,555.1115,2015-01-01 01:32:34,bin5554,35, -CTSPillarNetworkA,5555,5555,5555,1985-03-18,555.2000000000577,555.2115,2015-01-01 01:32:35,bin5555,75, -CTSPillarNetworkA,5556,5556,5556,1985-03-19,555.3000000000577,555.31146,2015-01-01 01:32:36,bin5556,35, -CTSPillarNetworkA,5557,5557,5557,1985-03-20,555.4000000000577,555.41144,2015-01-01 01:32:37,bin5557,75, -CTSPillarNetworkA,5558,5558,5558,1985-03-21,555.5000000000578,555.5114,2015-01-01 01:32:38,bin5558,35, -CTSPillarNetworkA,5559,5559,5559,1985-03-22,555.6000000000578,555.6114,2015-01-01 01:32:39,bin5559,75, -CTSPillarNetworkA,5560,5560,5560,1985-03-23,555.7000000000578,555.71136,2015-01-01 01:32:40,bin5560,35, -CTSPillarNetworkA,5561,5561,5561,1985-03-24,555.8000000000578,555.81134,2015-01-01 01:32:41,bin5561,75, -CTSPillarNetworkA,5562,5562,5562,1985-03-25,555.9000000000578,555.9113,2015-01-01 01:32:42,bin5562,35, -CTSPillarNetworkA,5563,5563,5563,1985-03-26,556.0000000000579,556.0113,2015-01-01 01:32:43,bin5563,75, -CTSPillarNetworkA,5564,5564,5564,1985-03-27,556.1000000000579,556.11127,2015-01-01 01:32:44,bin5564,35, -CTSPillarNetworkA,5565,5565,5565,1985-03-28,556.2000000000579,556.21124,2015-01-01 01:32:45,bin5565,75, -CTSPillarNetworkA,5566,5566,5566,1985-03-29,556.3000000000579,556.3112,2015-01-01 01:32:46,bin5566,35, -CTSPillarNetworkA,5567,5567,5567,1985-03-30,556.400000000058,556.4112,2015-01-01 01:32:47,bin5567,75, -CTSPillarNetworkA,5568,5568,5568,1985-03-31,556.500000000058,556.51117,2015-01-01 01:32:48,bin5568,35, -CTSPillarNetworkA,5569,5569,5569,1985-04-01,556.600000000058,556.61115,2015-01-01 01:32:49,bin5569,75, -CTSPillarNetworkA,5570,5570,5570,1985-04-02,556.700000000058,556.7111,2015-01-01 01:32:50,bin5570,35, -CTSPillarNetworkA,5571,5571,5571,1985-04-03,556.800000000058,556.8111,2015-01-01 01:32:51,bin5571,75, -CTSPillarNetworkA,5572,5572,5572,1985-04-04,556.9000000000581,556.9111,2015-01-01 01:32:52,bin5572,35, -CTSPillarNetworkA,5573,5573,5573,1985-04-05,557.0000000000581,557.01105,2015-01-01 01:32:53,bin5573,75, -CTSPillarNetworkA,5574,5574,5574,1985-04-06,557.1000000000581,557.111,2015-01-01 01:32:54,bin5574,35, -CTSPillarNetworkA,5575,5575,5575,1985-04-07,557.2000000000581,557.211,2015-01-01 01:32:55,bin5575,75, -CTSPillarNetworkA,5576,5576,5576,1985-04-08,557.3000000000582,557.311,2015-01-01 01:32:56,bin5576,35, -CTSPillarNetworkA,5577,5577,5577,1985-04-09,557.4000000000582,557.41095,2015-01-01 01:32:57,bin5577,75, -CTSPillarNetworkA,5578,5578,5578,1985-04-10,557.5000000000582,557.5109,2015-01-01 01:32:58,bin5578,35, -CTSPillarNetworkA,5579,5579,5579,1985-04-11,557.6000000000582,557.6109,2015-01-01 01:32:59,bin5579,75, -CTSPillarNetworkA,5580,5580,5580,1985-04-12,557.7000000000583,557.7109,2015-01-01 01:33:00,bin5580,35, -CTSPillarNetworkA,5581,5581,5581,1985-04-13,557.8000000000583,557.81085,2015-01-01 01:33:01,bin5581,75, -CTSPillarNetworkA,5582,5582,5582,1985-04-14,557.9000000000583,557.9108,2015-01-01 01:33:02,bin5582,35, -CTSPillarNetworkA,5583,5583,5583,1985-04-15,558.0000000000583,558.0108,2015-01-01 01:33:03,bin5583,75, -CTSPillarNetworkA,5584,5584,5584,1985-04-16,558.1000000000583,558.1108,2015-01-01 01:33:04,bin5584,35, -CTSPillarNetworkA,5585,5585,5585,1985-04-17,558.2000000000584,558.21075,2015-01-01 01:33:05,bin5585,75, -CTSPillarNetworkA,5586,5586,5586,1985-04-18,558.3000000000584,558.3107,2015-01-01 01:33:06,bin5586,35, -CTSPillarNetworkA,5587,5587,5587,1985-04-19,558.4000000000584,558.4107,2015-01-01 01:33:07,bin5587,75, -CTSPillarNetworkA,5588,5588,5588,1985-04-20,558.5000000000584,558.5107,2015-01-01 01:33:08,bin5588,35, -CTSPillarNetworkA,5589,5589,5589,1985-04-21,558.6000000000585,558.61066,2015-01-01 01:33:09,bin5589,75, -CTSPillarNetworkA,5590,5590,5590,1985-04-22,558.7000000000585,558.71063,2015-01-01 01:33:10,bin5590,35, -CTSPillarNetworkA,5591,5591,5591,1985-04-23,558.8000000000585,558.8106,2015-01-01 01:33:11,bin5591,75, -CTSPillarNetworkA,5592,5592,5592,1985-04-24,558.9000000000585,558.9106,2015-01-01 01:33:12,bin5592,35, -CTSPillarNetworkA,5593,5593,5593,1985-04-25,559.0000000000585,559.01056,2015-01-01 01:33:13,bin5593,75, -CTSPillarNetworkA,5594,5594,5594,1985-04-26,559.1000000000586,559.11053,2015-01-01 01:33:14,bin5594,35, -CTSPillarNetworkA,5595,5595,5595,1985-04-27,559.2000000000586,559.2105,2015-01-01 01:33:15,bin5595,75, -CTSPillarNetworkA,5596,5596,5596,1985-04-28,559.3000000000586,559.3105,2015-01-01 01:33:16,bin5596,35, -CTSPillarNetworkA,5597,5597,5597,1985-04-29,559.4000000000586,559.41046,2015-01-01 01:33:17,bin5597,75, -CTSPillarNetworkA,5598,5598,5598,1985-04-30,559.5000000000587,559.51044,2015-01-01 01:33:18,bin5598,35, -CTSPillarNetworkA,5599,5599,5599,1985-05-01,559.6000000000587,559.6104,2015-01-01 01:33:19,bin5599,75, -CTSPillarNetworkA,5600,5600,5600,1985-05-02,559.7000000000587,559.7104,2015-01-01 01:33:20,bin5600,35, -CTSPillarNetworkA,5601,5601,5601,1985-05-03,559.8000000000587,559.81036,2015-01-01 01:33:21,bin5601,75, -CTSPillarNetworkA,5602,5602,5602,1985-05-04,559.9000000000588,559.91034,2015-01-01 01:33:22,bin5602,35, -CTSPillarNetworkA,5603,5603,5603,1985-05-05,560.0000000000588,560.0103,2015-01-01 01:33:23,bin5603,75, -CTSPillarNetworkA,5604,5604,5604,1985-05-06,560.1000000000588,560.1103,2015-01-01 01:33:24,bin5604,35, -CTSPillarNetworkA,5605,5605,5605,1985-05-07,560.2000000000588,560.21027,2015-01-01 01:33:25,bin5605,75, -CTSPillarNetworkA,5606,5606,5606,1985-05-08,560.3000000000588,560.31024,2015-01-01 01:33:26,bin5606,35, -CTSPillarNetworkA,5607,5607,5607,1985-05-09,560.4000000000589,560.4102,2015-01-01 01:33:27,bin5607,75, -CTSPillarNetworkA,5608,5608,5608,1985-05-10,560.5000000000589,560.5102,2015-01-01 01:33:28,bin5608,35, -CTSPillarNetworkA,5609,5609,5609,1985-05-11,560.6000000000589,560.61017,2015-01-01 01:33:29,bin5609,75, -CTSPillarNetworkA,5610,5610,5610,1985-05-12,560.7000000000589,560.71014,2015-01-01 01:33:30,bin5610,35, -CTSPillarNetworkA,5611,5611,5611,1985-05-13,560.800000000059,560.8101,2015-01-01 01:33:31,bin5611,75, -CTSPillarNetworkA,5612,5612,5612,1985-05-14,560.900000000059,560.9101,2015-01-01 01:33:32,bin5612,35, -CTSPillarNetworkA,5613,5613,5613,1985-05-15,561.000000000059,561.0101,2015-01-01 01:33:33,bin5613,75, -CTSPillarNetworkA,5614,5614,5614,1985-05-16,561.100000000059,561.11005,2015-01-01 01:33:34,bin5614,35, -CTSPillarNetworkA,5615,5615,5615,1985-05-17,561.200000000059,561.21,2015-01-01 01:33:35,bin5615,75, -CTSPillarNetworkA,5616,5616,5616,1985-05-18,561.3000000000591,561.31,2015-01-01 01:33:36,bin5616,35, -CTSPillarNetworkA,5617,5617,5617,1985-05-19,561.4000000000591,561.41,2015-01-01 01:33:37,bin5617,75, -CTSPillarNetworkA,5618,5618,5618,1985-05-20,561.5000000000591,561.50995,2015-01-01 01:33:38,bin5618,35, -CTSPillarNetworkA,5619,5619,5619,1985-05-21,561.6000000000591,561.6099,2015-01-01 01:33:39,bin5619,75, -CTSPillarNetworkA,5620,5620,5620,1985-05-22,561.7000000000592,561.7099,2015-01-01 01:33:40,bin5620,35, -CTSPillarNetworkA,5621,5621,5621,1985-05-23,561.8000000000592,561.8099,2015-01-01 01:33:41,bin5621,75, -CTSPillarNetworkA,5622,5622,5622,1985-05-24,561.9000000000592,561.90985,2015-01-01 01:33:42,bin5622,35, -CTSPillarNetworkA,5623,5623,5623,1985-05-25,562.0000000000592,562.0098,2015-01-01 01:33:43,bin5623,75, -CTSPillarNetworkA,5624,5624,5624,1985-05-26,562.1000000000593,562.1098,2015-01-01 01:33:44,bin5624,35, -CTSPillarNetworkA,5625,5625,5625,1985-05-27,562.2000000000593,562.2098,2015-01-01 01:33:45,bin5625,75, -CTSPillarNetworkA,5626,5626,5626,1985-05-28,562.3000000000593,562.30975,2015-01-01 01:33:46,bin5626,35, -CTSPillarNetworkA,5627,5627,5627,1985-05-29,562.4000000000593,562.4097,2015-01-01 01:33:47,bin5627,75, -CTSPillarNetworkA,5628,5628,5628,1985-05-30,562.5000000000593,562.5097,2015-01-01 01:33:48,bin5628,35, -CTSPillarNetworkA,5629,5629,5629,1985-05-31,562.6000000000594,562.6097,2015-01-01 01:33:49,bin5629,75, -CTSPillarNetworkA,5630,5630,5630,1985-06-01,562.7000000000594,562.70966,2015-01-01 01:33:50,bin5630,35, -CTSPillarNetworkA,5631,5631,5631,1985-06-02,562.8000000000594,562.80963,2015-01-01 01:33:51,bin5631,75, -CTSPillarNetworkA,5632,5632,5632,1985-06-03,562.9000000000594,562.9096,2015-01-01 01:33:52,bin5632,35, -CTSPillarNetworkA,5633,5633,5633,1985-06-04,563.0000000000595,563.0096,2015-01-01 01:33:53,bin5633,75, -CTSPillarNetworkA,5634,5634,5634,1985-06-05,563.1000000000595,563.10956,2015-01-01 01:33:54,bin5634,35, -CTSPillarNetworkA,5635,5635,5635,1985-06-06,563.2000000000595,563.20953,2015-01-01 01:33:55,bin5635,75, -CTSPillarNetworkA,5636,5636,5636,1985-06-07,563.3000000000595,563.3095,2015-01-01 01:33:56,bin5636,35, -CTSPillarNetworkA,5637,5637,5637,1985-06-08,563.4000000000595,563.4095,2015-01-01 01:33:57,bin5637,75, -CTSPillarNetworkA,5638,5638,5638,1985-06-09,563.5000000000596,563.50946,2015-01-01 01:33:58,bin5638,35, -CTSPillarNetworkA,5639,5639,5639,1985-06-10,563.6000000000596,563.60944,2015-01-01 01:33:59,bin5639,75, -CTSPillarNetworkA,5640,5640,5640,1985-06-11,563.7000000000596,563.7094,2015-01-01 01:34:00,bin5640,35, -CTSPillarNetworkA,5641,5641,5641,1985-06-12,563.8000000000596,563.8094,2015-01-01 01:34:01,bin5641,75, -CTSPillarNetworkA,5642,5642,5642,1985-06-13,563.9000000000597,563.90936,2015-01-01 01:34:02,bin5642,35, -CTSPillarNetworkA,5643,5643,5643,1985-06-14,564.0000000000597,564.00934,2015-01-01 01:34:03,bin5643,75, -CTSPillarNetworkA,5644,5644,5644,1985-06-15,564.1000000000597,564.1093,2015-01-01 01:34:04,bin5644,35, -CTSPillarNetworkA,5645,5645,5645,1985-06-16,564.2000000000597,564.2093,2015-01-01 01:34:05,bin5645,75, -CTSPillarNetworkA,5646,5646,5646,1985-06-17,564.3000000000598,564.30927,2015-01-01 01:34:06,bin5646,35, -CTSPillarNetworkA,5647,5647,5647,1985-06-18,564.4000000000598,564.40924,2015-01-01 01:34:07,bin5647,75, -CTSPillarNetworkA,5648,5648,5648,1985-06-19,564.5000000000598,564.5092,2015-01-01 01:34:08,bin5648,35, -CTSPillarNetworkA,5649,5649,5649,1985-06-20,564.6000000000598,564.6092,2015-01-01 01:34:09,bin5649,75, -CTSPillarNetworkA,5650,5650,5650,1985-06-21,564.7000000000598,564.70917,2015-01-01 01:34:10,bin5650,35, -CTSPillarNetworkA,5651,5651,5651,1985-06-22,564.8000000000599,564.80914,2015-01-01 01:34:11,bin5651,75, -CTSPillarNetworkA,5652,5652,5652,1985-06-23,564.9000000000599,564.9091,2015-01-01 01:34:12,bin5652,35, -CTSPillarNetworkA,5653,5653,5653,1985-06-24,565.0000000000599,565.0091,2015-01-01 01:34:13,bin5653,75, -CTSPillarNetworkA,5654,5654,5654,1985-06-25,565.1000000000599,565.1091,2015-01-01 01:34:14,bin5654,35, -CTSPillarNetworkA,5655,5655,5655,1985-06-26,565.20000000006,565.20905,2015-01-01 01:34:15,bin5655,75, -CTSPillarNetworkA,5656,5656,5656,1985-06-27,565.30000000006,565.309,2015-01-01 01:34:16,bin5656,35, -CTSPillarNetworkA,5657,5657,5657,1985-06-28,565.40000000006,565.409,2015-01-01 01:34:17,bin5657,75, -CTSPillarNetworkA,5658,5658,5658,1985-06-29,565.50000000006,565.509,2015-01-01 01:34:18,bin5658,35, -CTSPillarNetworkA,5659,5659,5659,1985-06-30,565.60000000006,565.60895,2015-01-01 01:34:19,bin5659,75, -CTSPillarNetworkA,5660,5660,5660,1985-07-01,565.7000000000601,565.7089,2015-01-01 01:34:20,bin5660,35, -CTSPillarNetworkA,5661,5661,5661,1985-07-02,565.8000000000601,565.8089,2015-01-01 01:34:21,bin5661,75, -CTSPillarNetworkA,5662,5662,5662,1985-07-03,565.9000000000601,565.9089,2015-01-01 01:34:22,bin5662,35, -CTSPillarNetworkA,5663,5663,5663,1985-07-04,566.0000000000601,566.00885,2015-01-01 01:34:23,bin5663,75, -CTSPillarNetworkA,5664,5664,5664,1985-07-05,566.1000000000602,566.1088,2015-01-01 01:34:24,bin5664,35, -CTSPillarNetworkA,5665,5665,5665,1985-07-06,566.2000000000602,566.2088,2015-01-01 01:34:25,bin5665,75, -CTSPillarNetworkA,5666,5666,5666,1985-07-07,566.3000000000602,566.3088,2015-01-01 01:34:26,bin5666,35, -CTSPillarNetworkA,5667,5667,5667,1985-07-08,566.4000000000602,566.40875,2015-01-01 01:34:27,bin5667,75, -CTSPillarNetworkA,5668,5668,5668,1985-07-09,566.5000000000603,566.5087,2015-01-01 01:34:28,bin5668,35, -CTSPillarNetworkA,5669,5669,5669,1985-07-10,566.6000000000603,566.6087,2015-01-01 01:34:29,bin5669,75, -CTSPillarNetworkA,5670,5670,5670,1985-07-11,566.7000000000603,566.7087,2015-01-01 01:34:30,bin5670,35, -CTSPillarNetworkA,5671,5671,5671,1985-07-12,566.8000000000603,566.80865,2015-01-01 01:34:31,bin5671,75, -CTSPillarNetworkA,5672,5672,5672,1985-07-13,566.9000000000603,566.9086,2015-01-01 01:34:32,bin5672,35, -CTSPillarNetworkA,5673,5673,5673,1985-07-14,567.0000000000604,567.0086,2015-01-01 01:34:33,bin5673,75, -CTSPillarNetworkA,5674,5674,5674,1985-07-15,567.1000000000604,567.1086,2015-01-01 01:34:34,bin5674,35, -CTSPillarNetworkA,5675,5675,5675,1985-07-16,567.2000000000604,567.20856,2015-01-01 01:34:35,bin5675,75, -CTSPillarNetworkA,5676,5676,5676,1985-07-17,567.3000000000604,567.30853,2015-01-01 01:34:36,bin5676,35, -CTSPillarNetworkA,5677,5677,5677,1985-07-18,567.4000000000605,567.4085,2015-01-01 01:34:37,bin5677,75, -CTSPillarNetworkA,5678,5678,5678,1985-07-19,567.5000000000605,567.5085,2015-01-01 01:34:38,bin5678,35, -CTSPillarNetworkA,5679,5679,5679,1985-07-20,567.6000000000605,567.60846,2015-01-01 01:34:39,bin5679,75, -CTSPillarNetworkA,5680,5680,5680,1985-07-21,567.7000000000605,567.70844,2015-01-01 01:34:40,bin5680,35, -CTSPillarNetworkA,5681,5681,5681,1985-07-22,567.8000000000605,567.8084,2015-01-01 01:34:41,bin5681,75, -CTSPillarNetworkA,5682,5682,5682,1985-07-23,567.9000000000606,567.9084,2015-01-01 01:34:42,bin5682,35, -CTSPillarNetworkA,5683,5683,5683,1985-07-24,568.0000000000606,568.00836,2015-01-01 01:34:43,bin5683,75, -CTSPillarNetworkA,5684,5684,5684,1985-07-25,568.1000000000606,568.10834,2015-01-01 01:34:44,bin5684,35, -CTSPillarNetworkA,5685,5685,5685,1985-07-26,568.2000000000606,568.2083,2015-01-01 01:34:45,bin5685,75, -CTSPillarNetworkA,5686,5686,5686,1985-07-27,568.3000000000607,568.3083,2015-01-01 01:34:46,bin5686,35, -CTSPillarNetworkA,5687,5687,5687,1985-07-28,568.4000000000607,568.40826,2015-01-01 01:34:47,bin5687,75, -CTSPillarNetworkA,5688,5688,5688,1985-07-29,568.5000000000607,568.50824,2015-01-01 01:34:48,bin5688,35, -CTSPillarNetworkA,5689,5689,5689,1985-07-30,568.6000000000607,568.6082,2015-01-01 01:34:49,bin5689,75, -CTSPillarNetworkA,5690,5690,5690,1985-07-31,568.7000000000608,568.7082,2015-01-01 01:34:50,bin5690,35, -CTSPillarNetworkA,5691,5691,5691,1985-08-01,568.8000000000608,568.80817,2015-01-01 01:34:51,bin5691,75, -CTSPillarNetworkA,5692,5692,5692,1985-08-02,568.9000000000608,568.90814,2015-01-01 01:34:52,bin5692,35, -CTSPillarNetworkA,5693,5693,5693,1985-08-03,569.0000000000608,569.0081,2015-01-01 01:34:53,bin5693,75, -CTSPillarNetworkA,5694,5694,5694,1985-08-04,569.1000000000608,569.1081,2015-01-01 01:34:54,bin5694,35, -CTSPillarNetworkA,5695,5695,5695,1985-08-05,569.2000000000609,569.20807,2015-01-01 01:34:55,bin5695,75, -CTSPillarNetworkA,5696,5696,5696,1985-08-06,569.3000000000609,569.30804,2015-01-01 01:34:56,bin5696,35, -CTSPillarNetworkA,5697,5697,5697,1985-08-07,569.4000000000609,569.408,2015-01-01 01:34:57,bin5697,75, -CTSPillarNetworkA,5698,5698,5698,1985-08-08,569.5000000000609,569.508,2015-01-01 01:34:58,bin5698,35, -CTSPillarNetworkA,5699,5699,5699,1985-08-09,569.600000000061,569.608,2015-01-01 01:34:59,bin5699,75, -CTSPillarNetworkA,5700,5700,5700,1985-08-10,569.700000000061,569.70795,2015-01-01 01:35:00,bin5700,35, -CTSPillarNetworkA,5701,5701,5701,1985-08-11,569.800000000061,569.8079,2015-01-01 01:35:01,bin5701,75, -CTSPillarNetworkA,5702,5702,5702,1985-08-12,569.900000000061,569.9079,2015-01-01 01:35:02,bin5702,35, -CTSPillarNetworkA,5703,5703,5703,1985-08-13,570.000000000061,570.0079,2015-01-01 01:35:03,bin5703,75, -CTSPillarNetworkA,5704,5704,5704,1985-08-14,570.1000000000611,570.10785,2015-01-01 01:35:04,bin5704,35, -CTSPillarNetworkA,5705,5705,5705,1985-08-15,570.2000000000611,570.2078,2015-01-01 01:35:05,bin5705,75, -CTSPillarNetworkA,5706,5706,5706,1985-08-16,570.3000000000611,570.3078,2015-01-01 01:35:06,bin5706,35, -CTSPillarNetworkA,5707,5707,5707,1985-08-17,570.4000000000611,570.4078,2015-01-01 01:35:07,bin5707,75, -CTSPillarNetworkA,5708,5708,5708,1985-08-18,570.5000000000612,570.50775,2015-01-01 01:35:08,bin5708,35, -CTSPillarNetworkA,5709,5709,5709,1985-08-19,570.6000000000612,570.6077,2015-01-01 01:35:09,bin5709,75, -CTSPillarNetworkA,5710,5710,5710,1985-08-20,570.7000000000612,570.7077,2015-01-01 01:35:10,bin5710,35, -CTSPillarNetworkA,5711,5711,5711,1985-08-21,570.8000000000612,570.8077,2015-01-01 01:35:11,bin5711,75, -CTSPillarNetworkA,5712,5712,5712,1985-08-22,570.9000000000613,570.90765,2015-01-01 01:35:12,bin5712,35, -CTSPillarNetworkA,5713,5713,5713,1985-08-23,571.0000000000613,571.0076,2015-01-01 01:35:13,bin5713,75, -CTSPillarNetworkA,5714,5714,5714,1985-08-24,571.1000000000613,571.1076,2015-01-01 01:35:14,bin5714,35, -CTSPillarNetworkA,5715,5715,5715,1985-08-25,571.2000000000613,571.2076,2015-01-01 01:35:15,bin5715,75, -CTSPillarNetworkA,5716,5716,5716,1985-08-26,571.3000000000613,571.30756,2015-01-01 01:35:16,bin5716,35, -CTSPillarNetworkA,5717,5717,5717,1985-08-27,571.4000000000614,571.40753,2015-01-01 01:35:17,bin5717,75, -CTSPillarNetworkA,5718,5718,5718,1985-08-28,571.5000000000614,571.5075,2015-01-01 01:35:18,bin5718,35, -CTSPillarNetworkA,5719,5719,5719,1985-08-29,571.6000000000614,571.6075,2015-01-01 01:35:19,bin5719,75, -CTSPillarNetworkA,5720,5720,5720,1985-08-30,571.7000000000614,571.70746,2015-01-01 01:35:20,bin5720,35, -CTSPillarNetworkA,5721,5721,5721,1985-08-31,571.8000000000615,571.80743,2015-01-01 01:35:21,bin5721,75, -CTSPillarNetworkA,5722,5722,5722,1985-09-01,571.9000000000615,571.9074,2015-01-01 01:35:22,bin5722,35, -CTSPillarNetworkA,5723,5723,5723,1985-09-02,572.0000000000615,572.0074,2015-01-01 01:35:23,bin5723,75, -CTSPillarNetworkA,5724,5724,5724,1985-09-03,572.1000000000615,572.10736,2015-01-01 01:35:24,bin5724,35, -CTSPillarNetworkA,5725,5725,5725,1985-09-04,572.2000000000616,572.20734,2015-01-01 01:35:25,bin5725,75, -CTSPillarNetworkA,5726,5726,5726,1985-09-05,572.3000000000616,572.3073,2015-01-01 01:35:26,bin5726,35, -CTSPillarNetworkA,5727,5727,5727,1985-09-06,572.4000000000616,572.4073,2015-01-01 01:35:27,bin5727,75, -CTSPillarNetworkA,5728,5728,5728,1985-09-07,572.5000000000616,572.50726,2015-01-01 01:35:28,bin5728,35, -CTSPillarNetworkA,5729,5729,5729,1985-09-08,572.6000000000616,572.60724,2015-01-01 01:35:29,bin5729,75, -CTSPillarNetworkA,5730,5730,5730,1985-09-09,572.7000000000617,572.7072,2015-01-01 01:35:30,bin5730,35, -CTSPillarNetworkA,5731,5731,5731,1985-09-10,572.8000000000617,572.8072,2015-01-01 01:35:31,bin5731,75, -CTSPillarNetworkA,5732,5732,5732,1985-09-11,572.9000000000617,572.90717,2015-01-01 01:35:32,bin5732,35, -CTSPillarNetworkA,5733,5733,5733,1985-09-12,573.0000000000617,573.00714,2015-01-01 01:35:33,bin5733,75, -CTSPillarNetworkA,5734,5734,5734,1985-09-13,573.1000000000618,573.1071,2015-01-01 01:35:34,bin5734,35, -CTSPillarNetworkA,5735,5735,5735,1985-09-14,573.2000000000618,573.2071,2015-01-01 01:35:35,bin5735,75, -CTSPillarNetworkA,5736,5736,5736,1985-09-15,573.3000000000618,573.30707,2015-01-01 01:35:36,bin5736,35, -CTSPillarNetworkA,5737,5737,5737,1985-09-16,573.4000000000618,573.40704,2015-01-01 01:35:37,bin5737,75, -CTSPillarNetworkA,5738,5738,5738,1985-09-17,573.5000000000618,573.507,2015-01-01 01:35:38,bin5738,35, -CTSPillarNetworkA,5739,5739,5739,1985-09-18,573.6000000000619,573.607,2015-01-01 01:35:39,bin5739,75, -CTSPillarNetworkA,5740,5740,5740,1985-09-19,573.7000000000619,573.707,2015-01-01 01:35:40,bin5740,35, -CTSPillarNetworkA,5741,5741,5741,1985-09-20,573.8000000000619,573.80695,2015-01-01 01:35:41,bin5741,75, -CTSPillarNetworkA,5742,5742,5742,1985-09-21,573.9000000000619,573.9069,2015-01-01 01:35:42,bin5742,35, -CTSPillarNetworkA,5743,5743,5743,1985-09-22,574.000000000062,574.0069,2015-01-01 01:35:43,bin5743,75, -CTSPillarNetworkA,5744,5744,5744,1985-09-23,574.100000000062,574.1069,2015-01-01 01:35:44,bin5744,35, -CTSPillarNetworkA,5745,5745,5745,1985-09-24,574.200000000062,574.20685,2015-01-01 01:35:45,bin5745,75, -CTSPillarNetworkA,5746,5746,5746,1985-09-25,574.300000000062,574.3068,2015-01-01 01:35:46,bin5746,35, -CTSPillarNetworkA,5747,5747,5747,1985-09-26,574.400000000062,574.4068,2015-01-01 01:35:47,bin5747,75, -CTSPillarNetworkA,5748,5748,5748,1985-09-27,574.5000000000621,574.5068,2015-01-01 01:35:48,bin5748,35, -CTSPillarNetworkA,5749,5749,5749,1985-09-28,574.6000000000621,574.60675,2015-01-01 01:35:49,bin5749,75, -CTSPillarNetworkA,5750,5750,5750,1985-09-29,574.7000000000621,574.7067,2015-01-01 01:35:50,bin5750,35, -CTSPillarNetworkA,5751,5751,5751,1985-09-30,574.8000000000621,574.8067,2015-01-01 01:35:51,bin5751,75, -CTSPillarNetworkA,5752,5752,5752,1985-10-01,574.9000000000622,574.9067,2015-01-01 01:35:52,bin5752,35, -CTSPillarNetworkA,5753,5753,5753,1985-10-02,575.0000000000622,575.00665,2015-01-01 01:35:53,bin5753,75, -CTSPillarNetworkA,5754,5754,5754,1985-10-03,575.1000000000622,575.1066,2015-01-01 01:35:54,bin5754,35, -CTSPillarNetworkA,5755,5755,5755,1985-10-04,575.2000000000622,575.2066,2015-01-01 01:35:55,bin5755,75, -CTSPillarNetworkA,5756,5756,5756,1985-10-05,575.3000000000623,575.3066,2015-01-01 01:35:56,bin5756,35, -CTSPillarNetworkA,5757,5757,5757,1985-10-06,575.4000000000623,575.40656,2015-01-01 01:35:57,bin5757,75, -CTSPillarNetworkA,5758,5758,5758,1985-10-07,575.5000000000623,575.50653,2015-01-01 01:35:58,bin5758,35, -CTSPillarNetworkA,5759,5759,5759,1985-10-08,575.6000000000623,575.6065,2015-01-01 01:35:59,bin5759,75, -CTSPillarNetworkA,5760,5760,5760,1985-10-09,575.7000000000623,575.7065,2015-01-01 01:36:00,bin5760,35, -CTSPillarNetworkA,5761,5761,5761,1985-10-10,575.8000000000624,575.80646,2015-01-01 01:36:01,bin5761,75, -CTSPillarNetworkA,5762,5762,5762,1985-10-11,575.9000000000624,575.90643,2015-01-01 01:36:02,bin5762,35, -CTSPillarNetworkA,5763,5763,5763,1985-10-12,576.0000000000624,576.0064,2015-01-01 01:36:03,bin5763,75, -CTSPillarNetworkA,5764,5764,5764,1985-10-13,576.1000000000624,576.1064,2015-01-01 01:36:04,bin5764,35, -CTSPillarNetworkA,5765,5765,5765,1985-10-14,576.2000000000625,576.20636,2015-01-01 01:36:05,bin5765,75, -CTSPillarNetworkA,5766,5766,5766,1985-10-15,576.3000000000625,576.30634,2015-01-01 01:36:06,bin5766,35, -CTSPillarNetworkA,5767,5767,5767,1985-10-16,576.4000000000625,576.4063,2015-01-01 01:36:07,bin5767,75, -CTSPillarNetworkA,5768,5768,5768,1985-10-17,576.5000000000625,576.5063,2015-01-01 01:36:08,bin5768,35, -CTSPillarNetworkA,5769,5769,5769,1985-10-18,576.6000000000626,576.60626,2015-01-01 01:36:09,bin5769,75, -CTSPillarNetworkA,5770,5770,5770,1985-10-19,576.7000000000626,576.70624,2015-01-01 01:36:10,bin5770,35, -CTSPillarNetworkA,5771,5771,5771,1985-10-20,576.8000000000626,576.8062,2015-01-01 01:36:11,bin5771,75, -CTSPillarNetworkA,5772,5772,5772,1985-10-21,576.9000000000626,576.9062,2015-01-01 01:36:12,bin5772,35, -CTSPillarNetworkA,5773,5773,5773,1985-10-22,577.0000000000626,577.00616,2015-01-01 01:36:13,bin5773,75, -CTSPillarNetworkA,5774,5774,5774,1985-10-23,577.1000000000627,577.10614,2015-01-01 01:36:14,bin5774,35, -CTSPillarNetworkA,5775,5775,5775,1985-10-24,577.2000000000627,577.2061,2015-01-01 01:36:15,bin5775,75, -CTSPillarNetworkA,5776,5776,5776,1985-10-25,577.3000000000627,577.3061,2015-01-01 01:36:16,bin5776,35, -CTSPillarNetworkA,5777,5777,5777,1985-10-26,577.4000000000627,577.40607,2015-01-01 01:36:17,bin5777,75, -CTSPillarNetworkA,5778,5778,5778,1985-10-27,577.5000000000628,577.50604,2015-01-01 01:36:18,bin5778,35, -CTSPillarNetworkA,5779,5779,5779,1985-10-28,577.6000000000628,577.606,2015-01-01 01:36:19,bin5779,75, -CTSPillarNetworkA,5780,5780,5780,1985-10-29,577.7000000000628,577.706,2015-01-01 01:36:20,bin5780,35, -CTSPillarNetworkA,5781,5781,5781,1985-10-30,577.8000000000628,577.80597,2015-01-01 01:36:21,bin5781,75, -CTSPillarNetworkA,5782,5782,5782,1985-10-31,577.9000000000628,577.90594,2015-01-01 01:36:22,bin5782,35, -CTSPillarNetworkA,5783,5783,5783,1985-11-01,578.0000000000629,578.0059,2015-01-01 01:36:23,bin5783,75, -CTSPillarNetworkA,5784,5784,5784,1985-11-02,578.1000000000629,578.1059,2015-01-01 01:36:24,bin5784,35, -CTSPillarNetworkA,5785,5785,5785,1985-11-03,578.2000000000629,578.2059,2015-01-01 01:36:25,bin5785,75, -CTSPillarNetworkA,5786,5786,5786,1985-11-04,578.3000000000629,578.30585,2015-01-01 01:36:26,bin5786,35, -CTSPillarNetworkA,5787,5787,5787,1985-11-05,578.400000000063,578.4058,2015-01-01 01:36:27,bin5787,75, -CTSPillarNetworkA,5788,5788,5788,1985-11-06,578.500000000063,578.5058,2015-01-01 01:36:28,bin5788,35, -CTSPillarNetworkA,5789,5789,5789,1985-11-07,578.600000000063,578.6058,2015-01-01 01:36:29,bin5789,75, -CTSPillarNetworkA,5790,5790,5790,1985-11-08,578.700000000063,578.70575,2015-01-01 01:36:30,bin5790,35, -CTSPillarNetworkA,5791,5791,5791,1985-11-09,578.800000000063,578.8057,2015-01-01 01:36:31,bin5791,75, -CTSPillarNetworkA,5792,5792,5792,1985-11-10,578.9000000000631,578.9057,2015-01-01 01:36:32,bin5792,35, -CTSPillarNetworkA,5793,5793,5793,1985-11-11,579.0000000000631,579.0057,2015-01-01 01:36:33,bin5793,75, -CTSPillarNetworkA,5794,5794,5794,1985-11-12,579.1000000000631,579.10565,2015-01-01 01:36:34,bin5794,35, -CTSPillarNetworkA,5795,5795,5795,1985-11-13,579.2000000000631,579.2056,2015-01-01 01:36:35,bin5795,75, -CTSPillarNetworkA,5796,5796,5796,1985-11-14,579.3000000000632,579.3056,2015-01-01 01:36:36,bin5796,35, -CTSPillarNetworkA,5797,5797,5797,1985-11-15,579.4000000000632,579.4056,2015-01-01 01:36:37,bin5797,75, -CTSPillarNetworkA,5798,5798,5798,1985-11-16,579.5000000000632,579.50555,2015-01-01 01:36:38,bin5798,35, -CTSPillarNetworkA,5799,5799,5799,1985-11-17,579.6000000000632,579.6055,2015-01-01 01:36:39,bin5799,75, -CTSPillarNetworkA,5800,5800,5800,1985-11-18,579.7000000000633,579.7055,2015-01-01 01:36:40,bin5800,35, -CTSPillarNetworkA,5801,5801,5801,1985-11-19,579.8000000000633,579.8055,2015-01-01 01:36:41,bin5801,75, -CTSPillarNetworkA,5802,5802,5802,1985-11-20,579.9000000000633,579.90546,2015-01-01 01:36:42,bin5802,35, -CTSPillarNetworkA,5803,5803,5803,1985-11-21,580.0000000000633,580.00543,2015-01-01 01:36:43,bin5803,75, -CTSPillarNetworkA,5804,5804,5804,1985-11-22,580.1000000000633,580.1054,2015-01-01 01:36:44,bin5804,35, -CTSPillarNetworkA,5805,5805,5805,1985-11-23,580.2000000000634,580.2054,2015-01-01 01:36:45,bin5805,75, -CTSPillarNetworkA,5806,5806,5806,1985-11-24,580.3000000000634,580.30536,2015-01-01 01:36:46,bin5806,35, -CTSPillarNetworkA,5807,5807,5807,1985-11-25,580.4000000000634,580.40533,2015-01-01 01:36:47,bin5807,75, -CTSPillarNetworkA,5808,5808,5808,1985-11-26,580.5000000000634,580.5053,2015-01-01 01:36:48,bin5808,35, -CTSPillarNetworkA,5809,5809,5809,1985-11-27,580.6000000000635,580.6053,2015-01-01 01:36:49,bin5809,75, -CTSPillarNetworkA,5810,5810,5810,1985-11-28,580.7000000000635,580.70526,2015-01-01 01:36:50,bin5810,35, -CTSPillarNetworkA,5811,5811,5811,1985-11-29,580.8000000000635,580.80524,2015-01-01 01:36:51,bin5811,75, -CTSPillarNetworkA,5812,5812,5812,1985-11-30,580.9000000000635,580.9052,2015-01-01 01:36:52,bin5812,35, -CTSPillarNetworkA,5813,5813,5813,1985-12-01,581.0000000000636,581.0052,2015-01-01 01:36:53,bin5813,75, -CTSPillarNetworkA,5814,5814,5814,1985-12-02,581.1000000000636,581.10516,2015-01-01 01:36:54,bin5814,35, -CTSPillarNetworkA,5815,5815,5815,1985-12-03,581.2000000000636,581.20514,2015-01-01 01:36:55,bin5815,75, -CTSPillarNetworkA,5816,5816,5816,1985-12-04,581.3000000000636,581.3051,2015-01-01 01:36:56,bin5816,35, -CTSPillarNetworkA,5817,5817,5817,1985-12-05,581.4000000000636,581.4051,2015-01-01 01:36:57,bin5817,75, -CTSPillarNetworkA,5818,5818,5818,1985-12-06,581.5000000000637,581.50507,2015-01-01 01:36:58,bin5818,35, -CTSPillarNetworkA,5819,5819,5819,1985-12-07,581.6000000000637,581.60504,2015-01-01 01:36:59,bin5819,75, -CTSPillarNetworkA,5820,5820,5820,1985-12-08,581.7000000000637,581.705,2015-01-01 01:37:00,bin5820,35, -CTSPillarNetworkA,5821,5821,5821,1985-12-09,581.8000000000637,581.805,2015-01-01 01:37:01,bin5821,75, -CTSPillarNetworkA,5822,5822,5822,1985-12-10,581.9000000000638,581.90497,2015-01-01 01:37:02,bin5822,35, -CTSPillarNetworkA,5823,5823,5823,1985-12-11,582.0000000000638,582.00494,2015-01-01 01:37:03,bin5823,75, -CTSPillarNetworkA,5824,5824,5824,1985-12-12,582.1000000000638,582.1049,2015-01-01 01:37:04,bin5824,35, -CTSPillarNetworkA,5825,5825,5825,1985-12-13,582.2000000000638,582.2049,2015-01-01 01:37:05,bin5825,75, -CTSPillarNetworkA,5826,5826,5826,1985-12-14,582.3000000000638,582.3049,2015-01-01 01:37:06,bin5826,35, -CTSPillarNetworkA,5827,5827,5827,1985-12-15,582.4000000000639,582.40485,2015-01-01 01:37:07,bin5827,75, -CTSPillarNetworkA,5828,5828,5828,1985-12-16,582.5000000000639,582.5048,2015-01-01 01:37:08,bin5828,35, -CTSPillarNetworkA,5829,5829,5829,1985-12-17,582.6000000000639,582.6048,2015-01-01 01:37:09,bin5829,75, -CTSPillarNetworkA,5830,5830,5830,1985-12-18,582.7000000000639,582.7048,2015-01-01 01:37:10,bin5830,35, -CTSPillarNetworkA,5831,5831,5831,1985-12-19,582.800000000064,582.80475,2015-01-01 01:37:11,bin5831,75, -CTSPillarNetworkA,5832,5832,5832,1985-12-20,582.900000000064,582.9047,2015-01-01 01:37:12,bin5832,35, -CTSPillarNetworkA,5833,5833,5833,1985-12-21,583.000000000064,583.0047,2015-01-01 01:37:13,bin5833,75, -CTSPillarNetworkA,5834,5834,5834,1985-12-22,583.100000000064,583.1047,2015-01-01 01:37:14,bin5834,35, -CTSPillarNetworkA,5835,5835,5835,1985-12-23,583.200000000064,583.20465,2015-01-01 01:37:15,bin5835,75, -CTSPillarNetworkA,5836,5836,5836,1985-12-24,583.3000000000641,583.3046,2015-01-01 01:37:16,bin5836,35, -CTSPillarNetworkA,5837,5837,5837,1985-12-25,583.4000000000641,583.4046,2015-01-01 01:37:17,bin5837,75, -CTSPillarNetworkA,5838,5838,5838,1985-12-26,583.5000000000641,583.5046,2015-01-01 01:37:18,bin5838,35, -CTSPillarNetworkA,5839,5839,5839,1985-12-27,583.6000000000641,583.60455,2015-01-01 01:37:19,bin5839,75, -CTSPillarNetworkA,5840,5840,5840,1985-12-28,583.7000000000642,583.7045,2015-01-01 01:37:20,bin5840,35, -CTSPillarNetworkA,5841,5841,5841,1985-12-29,583.8000000000642,583.8045,2015-01-01 01:37:21,bin5841,75, -CTSPillarNetworkA,5842,5842,5842,1985-12-30,583.9000000000642,583.9045,2015-01-01 01:37:22,bin5842,35, -CTSPillarNetworkA,5843,5843,5843,1985-12-31,584.0000000000642,584.00446,2015-01-01 01:37:23,bin5843,75, -CTSPillarNetworkA,5844,5844,5844,1986-01-01,584.1000000000643,584.10443,2015-01-01 01:37:24,bin5844,35, -CTSPillarNetworkA,5845,5845,5845,1986-01-02,584.2000000000643,584.2044,2015-01-01 01:37:25,bin5845,75, -CTSPillarNetworkA,5846,5846,5846,1986-01-03,584.3000000000643,584.3044,2015-01-01 01:37:26,bin5846,35, -CTSPillarNetworkA,5847,5847,5847,1986-01-04,584.4000000000643,584.40436,2015-01-01 01:37:27,bin5847,75, -CTSPillarNetworkA,5848,5848,5848,1986-01-05,584.5000000000643,584.50433,2015-01-01 01:37:28,bin5848,35, -CTSPillarNetworkA,5849,5849,5849,1986-01-06,584.6000000000644,584.6043,2015-01-01 01:37:29,bin5849,75, -CTSPillarNetworkA,5850,5850,5850,1986-01-07,584.7000000000644,584.7043,2015-01-01 01:37:30,bin5850,35, -CTSPillarNetworkA,5851,5851,5851,1986-01-08,584.8000000000644,584.80426,2015-01-01 01:37:31,bin5851,75, -CTSPillarNetworkA,5852,5852,5852,1986-01-09,584.9000000000644,584.90424,2015-01-01 01:37:32,bin5852,35, -CTSPillarNetworkA,5853,5853,5853,1986-01-10,585.0000000000645,585.0042,2015-01-01 01:37:33,bin5853,75, -CTSPillarNetworkA,5854,5854,5854,1986-01-11,585.1000000000645,585.1042,2015-01-01 01:37:34,bin5854,35, -CTSPillarNetworkA,5855,5855,5855,1986-01-12,585.2000000000645,585.20416,2015-01-01 01:37:35,bin5855,75, -CTSPillarNetworkA,5856,5856,5856,1986-01-13,585.3000000000645,585.30414,2015-01-01 01:37:36,bin5856,35, -CTSPillarNetworkA,5857,5857,5857,1986-01-14,585.4000000000646,585.4041,2015-01-01 01:37:37,bin5857,75, -CTSPillarNetworkA,5858,5858,5858,1986-01-15,585.5000000000646,585.5041,2015-01-01 01:37:38,bin5858,35, -CTSPillarNetworkA,5859,5859,5859,1986-01-16,585.6000000000646,585.60406,2015-01-01 01:37:39,bin5859,75, -CTSPillarNetworkA,5860,5860,5860,1986-01-17,585.7000000000646,585.70404,2015-01-01 01:37:40,bin5860,35, -CTSPillarNetworkA,5861,5861,5861,1986-01-18,585.8000000000646,585.804,2015-01-01 01:37:41,bin5861,75, -CTSPillarNetworkA,5862,5862,5862,1986-01-19,585.9000000000647,585.904,2015-01-01 01:37:42,bin5862,35, -CTSPillarNetworkA,5863,5863,5863,1986-01-20,586.0000000000647,586.00397,2015-01-01 01:37:43,bin5863,75, -CTSPillarNetworkA,5864,5864,5864,1986-01-21,586.1000000000647,586.10394,2015-01-01 01:37:44,bin5864,35, -CTSPillarNetworkA,5865,5865,5865,1986-01-22,586.2000000000647,586.2039,2015-01-01 01:37:45,bin5865,75, -CTSPillarNetworkA,5866,5866,5866,1986-01-23,586.3000000000648,586.3039,2015-01-01 01:37:46,bin5866,35, -CTSPillarNetworkA,5867,5867,5867,1986-01-24,586.4000000000648,586.4039,2015-01-01 01:37:47,bin5867,75, -CTSPillarNetworkA,5868,5868,5868,1986-01-25,586.5000000000648,586.50385,2015-01-01 01:37:48,bin5868,35, -CTSPillarNetworkA,5869,5869,5869,1986-01-26,586.6000000000648,586.6038,2015-01-01 01:37:49,bin5869,75, -CTSPillarNetworkA,5870,5870,5870,1986-01-27,586.7000000000648,586.7038,2015-01-01 01:37:50,bin5870,35, -CTSPillarNetworkA,5871,5871,5871,1986-01-28,586.8000000000649,586.8038,2015-01-01 01:37:51,bin5871,75, -CTSPillarNetworkA,5872,5872,5872,1986-01-29,586.9000000000649,586.90375,2015-01-01 01:37:52,bin5872,35, -CTSPillarNetworkA,5873,5873,5873,1986-01-30,587.0000000000649,587.0037,2015-01-01 01:37:53,bin5873,75, -CTSPillarNetworkA,5874,5874,5874,1986-01-31,587.1000000000649,587.1037,2015-01-01 01:37:54,bin5874,35, -CTSPillarNetworkA,5875,5875,5875,1986-02-01,587.200000000065,587.2037,2015-01-01 01:37:55,bin5875,75, -CTSPillarNetworkA,5876,5876,5876,1986-02-02,587.300000000065,587.30365,2015-01-01 01:37:56,bin5876,35, -CTSPillarNetworkA,5877,5877,5877,1986-02-03,587.400000000065,587.4036,2015-01-01 01:37:57,bin5877,75, -CTSPillarNetworkA,5878,5878,5878,1986-02-04,587.500000000065,587.5036,2015-01-01 01:37:58,bin5878,35, -CTSPillarNetworkA,5879,5879,5879,1986-02-05,587.600000000065,587.6036,2015-01-01 01:37:59,bin5879,75, -CTSPillarNetworkA,5880,5880,5880,1986-02-06,587.7000000000651,587.70355,2015-01-01 01:38:00,bin5880,35, -CTSPillarNetworkA,5881,5881,5881,1986-02-07,587.8000000000651,587.8035,2015-01-01 01:38:01,bin5881,75, -CTSPillarNetworkA,5882,5882,5882,1986-02-08,587.9000000000651,587.9035,2015-01-01 01:38:02,bin5882,35, -CTSPillarNetworkA,5883,5883,5883,1986-02-09,588.0000000000651,588.0035,2015-01-01 01:38:03,bin5883,75, -CTSPillarNetworkA,5884,5884,5884,1986-02-10,588.1000000000652,588.10345,2015-01-01 01:38:04,bin5884,35, -CTSPillarNetworkA,5885,5885,5885,1986-02-11,588.2000000000652,588.2034,2015-01-01 01:38:05,bin5885,75, -CTSPillarNetworkA,5886,5886,5886,1986-02-12,588.3000000000652,588.3034,2015-01-01 01:38:06,bin5886,35, -CTSPillarNetworkA,5887,5887,5887,1986-02-13,588.4000000000652,588.4034,2015-01-01 01:38:07,bin5887,75, -CTSPillarNetworkA,5888,5888,5888,1986-02-14,588.5000000000653,588.50336,2015-01-01 01:38:08,bin5888,35, -CTSPillarNetworkA,5889,5889,5889,1986-02-15,588.6000000000653,588.60333,2015-01-01 01:38:09,bin5889,75, -CTSPillarNetworkA,5890,5890,5890,1986-02-16,588.7000000000653,588.7033,2015-01-01 01:38:10,bin5890,35, -CTSPillarNetworkA,5891,5891,5891,1986-02-17,588.8000000000653,588.8033,2015-01-01 01:38:11,bin5891,75, -CTSPillarNetworkA,5892,5892,5892,1986-02-18,588.9000000000653,588.90326,2015-01-01 01:38:12,bin5892,35, -CTSPillarNetworkA,5893,5893,5893,1986-02-19,589.0000000000654,589.00323,2015-01-01 01:38:13,bin5893,75, -CTSPillarNetworkA,5894,5894,5894,1986-02-20,589.1000000000654,589.1032,2015-01-01 01:38:14,bin5894,35, -CTSPillarNetworkA,5895,5895,5895,1986-02-21,589.2000000000654,589.2032,2015-01-01 01:38:15,bin5895,75, -CTSPillarNetworkA,5896,5896,5896,1986-02-22,589.3000000000654,589.30316,2015-01-01 01:38:16,bin5896,35, -CTSPillarNetworkA,5897,5897,5897,1986-02-23,589.4000000000655,589.40314,2015-01-01 01:38:17,bin5897,75, -CTSPillarNetworkA,5898,5898,5898,1986-02-24,589.5000000000655,589.5031,2015-01-01 01:38:18,bin5898,35, -CTSPillarNetworkA,5899,5899,5899,1986-02-25,589.6000000000655,589.6031,2015-01-01 01:38:19,bin5899,75, -CTSPillarNetworkA,5900,5900,5900,1986-02-26,589.7000000000655,589.70306,2015-01-01 01:38:20,bin5900,35, -CTSPillarNetworkA,5901,5901,5901,1986-02-27,589.8000000000656,589.80304,2015-01-01 01:38:21,bin5901,75, -CTSPillarNetworkA,5902,5902,5902,1986-02-28,589.9000000000656,589.903,2015-01-01 01:38:22,bin5902,35, -CTSPillarNetworkA,5903,5903,5903,1986-03-01,590.0000000000656,590.003,2015-01-01 01:38:23,bin5903,75, -CTSPillarNetworkA,5904,5904,5904,1986-03-02,590.1000000000656,590.10297,2015-01-01 01:38:24,bin5904,35, -CTSPillarNetworkA,5905,5905,5905,1986-03-03,590.2000000000656,590.20294,2015-01-01 01:38:25,bin5905,75, -CTSPillarNetworkA,5906,5906,5906,1986-03-04,590.3000000000657,590.3029,2015-01-01 01:38:26,bin5906,35, -CTSPillarNetworkA,5907,5907,5907,1986-03-05,590.4000000000657,590.4029,2015-01-01 01:38:27,bin5907,75, -CTSPillarNetworkA,5908,5908,5908,1986-03-06,590.5000000000657,590.50287,2015-01-01 01:38:28,bin5908,35, -CTSPillarNetworkA,5909,5909,5909,1986-03-07,590.6000000000657,590.60284,2015-01-01 01:38:29,bin5909,75, -CTSPillarNetworkA,5910,5910,5910,1986-03-08,590.7000000000658,590.7028,2015-01-01 01:38:30,bin5910,35, -CTSPillarNetworkA,5911,5911,5911,1986-03-09,590.8000000000658,590.8028,2015-01-01 01:38:31,bin5911,75, -CTSPillarNetworkA,5912,5912,5912,1986-03-10,590.9000000000658,590.9028,2015-01-01 01:38:32,bin5912,35, -CTSPillarNetworkA,5913,5913,5913,1986-03-11,591.0000000000658,591.00275,2015-01-01 01:38:33,bin5913,75, -CTSPillarNetworkA,5914,5914,5914,1986-03-12,591.1000000000658,591.1027,2015-01-01 01:38:34,bin5914,35, -CTSPillarNetworkA,5915,5915,5915,1986-03-13,591.2000000000659,591.2027,2015-01-01 01:38:35,bin5915,75, -CTSPillarNetworkA,5916,5916,5916,1986-03-14,591.3000000000659,591.3027,2015-01-01 01:38:36,bin5916,35, -CTSPillarNetworkA,5917,5917,5917,1986-03-15,591.4000000000659,591.40265,2015-01-01 01:38:37,bin5917,75, -CTSPillarNetworkA,5918,5918,5918,1986-03-16,591.5000000000659,591.5026,2015-01-01 01:38:38,bin5918,35, -CTSPillarNetworkA,5919,5919,5919,1986-03-17,591.600000000066,591.6026,2015-01-01 01:38:39,bin5919,75, -CTSPillarNetworkA,5920,5920,5920,1986-03-18,591.700000000066,591.7026,2015-01-01 01:38:40,bin5920,35, -CTSPillarNetworkA,5921,5921,5921,1986-03-19,591.800000000066,591.80255,2015-01-01 01:38:41,bin5921,75, -CTSPillarNetworkA,5922,5922,5922,1986-03-20,591.900000000066,591.9025,2015-01-01 01:38:42,bin5922,35, -CTSPillarNetworkA,5923,5923,5923,1986-03-21,592.000000000066,592.0025,2015-01-01 01:38:43,bin5923,75, -CTSPillarNetworkA,5924,5924,5924,1986-03-22,592.1000000000661,592.1025,2015-01-01 01:38:44,bin5924,35, -CTSPillarNetworkA,5925,5925,5925,1986-03-23,592.2000000000661,592.20245,2015-01-01 01:38:45,bin5925,75, -CTSPillarNetworkA,5926,5926,5926,1986-03-24,592.3000000000661,592.3024,2015-01-01 01:38:46,bin5926,35, -CTSPillarNetworkA,5927,5927,5927,1986-03-25,592.4000000000661,592.4024,2015-01-01 01:38:47,bin5927,75, -CTSPillarNetworkA,5928,5928,5928,1986-03-26,592.5000000000662,592.5024,2015-01-01 01:38:48,bin5928,35, -CTSPillarNetworkA,5929,5929,5929,1986-03-27,592.6000000000662,592.60236,2015-01-01 01:38:49,bin5929,75, -CTSPillarNetworkA,5930,5930,5930,1986-03-28,592.7000000000662,592.70233,2015-01-01 01:38:50,bin5930,35, -CTSPillarNetworkA,5931,5931,5931,1986-03-29,592.8000000000662,592.8023,2015-01-01 01:38:51,bin5931,75, -CTSPillarNetworkA,5932,5932,5932,1986-03-30,592.9000000000663,592.9023,2015-01-01 01:38:52,bin5932,35, -CTSPillarNetworkA,5933,5933,5933,1986-03-31,593.0000000000663,593.00226,2015-01-01 01:38:53,bin5933,75, -CTSPillarNetworkA,5934,5934,5934,1986-04-01,593.1000000000663,593.10223,2015-01-01 01:38:54,bin5934,35, -CTSPillarNetworkA,5935,5935,5935,1986-04-02,593.2000000000663,593.2022,2015-01-01 01:38:55,bin5935,75, -CTSPillarNetworkA,5936,5936,5936,1986-04-03,593.3000000000663,593.3022,2015-01-01 01:38:56,bin5936,35, -CTSPillarNetworkA,5937,5937,5937,1986-04-04,593.4000000000664,593.40216,2015-01-01 01:38:57,bin5937,75, -CTSPillarNetworkA,5938,5938,5938,1986-04-05,593.5000000000664,593.50214,2015-01-01 01:38:58,bin5938,35, -CTSPillarNetworkA,5939,5939,5939,1986-04-06,593.6000000000664,593.6021,2015-01-01 01:38:59,bin5939,75, -CTSPillarNetworkA,5940,5940,5940,1986-04-07,593.7000000000664,593.7021,2015-01-01 01:39:00,bin5940,35, -CTSPillarNetworkA,5941,5941,5941,1986-04-08,593.8000000000665,593.80206,2015-01-01 01:39:01,bin5941,75, -CTSPillarNetworkA,5942,5942,5942,1986-04-09,593.9000000000665,593.90204,2015-01-01 01:39:02,bin5942,35, -CTSPillarNetworkA,5943,5943,5943,1986-04-10,594.0000000000665,594.002,2015-01-01 01:39:03,bin5943,75, -CTSPillarNetworkA,5944,5944,5944,1986-04-11,594.1000000000665,594.102,2015-01-01 01:39:04,bin5944,35, -CTSPillarNetworkA,5945,5945,5945,1986-04-12,594.2000000000666,594.20197,2015-01-01 01:39:05,bin5945,75, -CTSPillarNetworkA,5946,5946,5946,1986-04-13,594.3000000000666,594.30194,2015-01-01 01:39:06,bin5946,35, -CTSPillarNetworkA,5947,5947,5947,1986-04-14,594.4000000000666,594.4019,2015-01-01 01:39:07,bin5947,75, -CTSPillarNetworkA,5948,5948,5948,1986-04-15,594.5000000000666,594.5019,2015-01-01 01:39:08,bin5948,35, -CTSPillarNetworkA,5949,5949,5949,1986-04-16,594.6000000000666,594.60187,2015-01-01 01:39:09,bin5949,75, -CTSPillarNetworkA,5950,5950,5950,1986-04-17,594.7000000000667,594.70184,2015-01-01 01:39:10,bin5950,35, -CTSPillarNetworkA,5951,5951,5951,1986-04-18,594.8000000000667,594.8018,2015-01-01 01:39:11,bin5951,75, -CTSPillarNetworkA,5952,5952,5952,1986-04-19,594.9000000000667,594.9018,2015-01-01 01:39:12,bin5952,35, -CTSPillarNetworkA,5953,5953,5953,1986-04-20,595.0000000000667,595.0018,2015-01-01 01:39:13,bin5953,75, -CTSPillarNetworkA,5954,5954,5954,1986-04-21,595.1000000000668,595.10175,2015-01-01 01:39:14,bin5954,35, -CTSPillarNetworkA,5955,5955,5955,1986-04-22,595.2000000000668,595.2017,2015-01-01 01:39:15,bin5955,75, -CTSPillarNetworkA,5956,5956,5956,1986-04-23,595.3000000000668,595.3017,2015-01-01 01:39:16,bin5956,35, -CTSPillarNetworkA,5957,5957,5957,1986-04-24,595.4000000000668,595.4017,2015-01-01 01:39:17,bin5957,75, -CTSPillarNetworkA,5958,5958,5958,1986-04-25,595.5000000000668,595.50165,2015-01-01 01:39:18,bin5958,35, -CTSPillarNetworkA,5959,5959,5959,1986-04-26,595.6000000000669,595.6016,2015-01-01 01:39:19,bin5959,75, -CTSPillarNetworkA,5960,5960,5960,1986-04-27,595.7000000000669,595.7016,2015-01-01 01:39:20,bin5960,35, -CTSPillarNetworkA,5961,5961,5961,1986-04-28,595.8000000000669,595.8016,2015-01-01 01:39:21,bin5961,75, -CTSPillarNetworkA,5962,5962,5962,1986-04-29,595.9000000000669,595.90155,2015-01-01 01:39:22,bin5962,35, -CTSPillarNetworkA,5963,5963,5963,1986-04-30,596.000000000067,596.0015,2015-01-01 01:39:23,bin5963,75, -CTSPillarNetworkA,5964,5964,5964,1986-05-01,596.100000000067,596.1015,2015-01-01 01:39:24,bin5964,35, -CTSPillarNetworkA,5965,5965,5965,1986-05-02,596.200000000067,596.2015,2015-01-01 01:39:25,bin5965,75, -CTSPillarNetworkA,5966,5966,5966,1986-05-03,596.300000000067,596.30145,2015-01-01 01:39:26,bin5966,35, -CTSPillarNetworkA,5967,5967,5967,1986-05-04,596.400000000067,596.4014,2015-01-01 01:39:27,bin5967,75, -CTSPillarNetworkA,5968,5968,5968,1986-05-05,596.5000000000671,596.5014,2015-01-01 01:39:28,bin5968,35, -CTSPillarNetworkA,5969,5969,5969,1986-05-06,596.6000000000671,596.6014,2015-01-01 01:39:29,bin5969,75, -CTSPillarNetworkA,5970,5970,5970,1986-05-07,596.7000000000671,596.70135,2015-01-01 01:39:30,bin5970,35, -CTSPillarNetworkA,5971,5971,5971,1986-05-08,596.8000000000671,596.80133,2015-01-01 01:39:31,bin5971,75, -CTSPillarNetworkA,5972,5972,5972,1986-05-09,596.9000000000672,596.9013,2015-01-01 01:39:32,bin5972,35, -CTSPillarNetworkA,5973,5973,5973,1986-05-10,597.0000000000672,597.0013,2015-01-01 01:39:33,bin5973,75, -CTSPillarNetworkA,5974,5974,5974,1986-05-11,597.1000000000672,597.10126,2015-01-01 01:39:34,bin5974,35, -CTSPillarNetworkA,5975,5975,5975,1986-05-12,597.2000000000672,597.20123,2015-01-01 01:39:35,bin5975,75, -CTSPillarNetworkA,5976,5976,5976,1986-05-13,597.3000000000673,597.3012,2015-01-01 01:39:36,bin5976,35, -CTSPillarNetworkA,5977,5977,5977,1986-05-14,597.4000000000673,597.4012,2015-01-01 01:39:37,bin5977,75, -CTSPillarNetworkA,5978,5978,5978,1986-05-15,597.5000000000673,597.50116,2015-01-01 01:39:38,bin5978,35, -CTSPillarNetworkA,5979,5979,5979,1986-05-16,597.6000000000673,597.60114,2015-01-01 01:39:39,bin5979,75, -CTSPillarNetworkA,5980,5980,5980,1986-05-17,597.7000000000673,597.7011,2015-01-01 01:39:40,bin5980,35, -CTSPillarNetworkA,5981,5981,5981,1986-05-18,597.8000000000674,597.8011,2015-01-01 01:39:41,bin5981,75, -CTSPillarNetworkA,5982,5982,5982,1986-05-19,597.9000000000674,597.90106,2015-01-01 01:39:42,bin5982,35, -CTSPillarNetworkA,5983,5983,5983,1986-05-20,598.0000000000674,598.00104,2015-01-01 01:39:43,bin5983,75, -CTSPillarNetworkA,5984,5984,5984,1986-05-21,598.1000000000674,598.101,2015-01-01 01:39:44,bin5984,35, -CTSPillarNetworkA,5985,5985,5985,1986-05-22,598.2000000000675,598.201,2015-01-01 01:39:45,bin5985,75, -CTSPillarNetworkA,5986,5986,5986,1986-05-23,598.3000000000675,598.30096,2015-01-01 01:39:46,bin5986,35, -CTSPillarNetworkA,5987,5987,5987,1986-05-24,598.4000000000675,598.40094,2015-01-01 01:39:47,bin5987,75, -CTSPillarNetworkA,5988,5988,5988,1986-05-25,598.5000000000675,598.5009,2015-01-01 01:39:48,bin5988,35, -CTSPillarNetworkA,5989,5989,5989,1986-05-26,598.6000000000676,598.6009,2015-01-01 01:39:49,bin5989,75, -CTSPillarNetworkA,5990,5990,5990,1986-05-27,598.7000000000676,598.70087,2015-01-01 01:39:50,bin5990,35, -CTSPillarNetworkA,5991,5991,5991,1986-05-28,598.8000000000676,598.80084,2015-01-01 01:39:51,bin5991,75, -CTSPillarNetworkA,5992,5992,5992,1986-05-29,598.9000000000676,598.9008,2015-01-01 01:39:52,bin5992,35, -CTSPillarNetworkA,5993,5993,5993,1986-05-30,599.0000000000676,599.0008,2015-01-01 01:39:53,bin5993,75, -CTSPillarNetworkA,5994,5994,5994,1986-05-31,599.1000000000677,599.10077,2015-01-01 01:39:54,bin5994,35, -CTSPillarNetworkA,5995,5995,5995,1986-06-01,599.2000000000677,599.20074,2015-01-01 01:39:55,bin5995,75, -CTSPillarNetworkA,5996,5996,5996,1986-06-02,599.3000000000677,599.3007,2015-01-01 01:39:56,bin5996,35, -CTSPillarNetworkA,5997,5997,5997,1986-06-03,599.4000000000677,599.4007,2015-01-01 01:39:57,bin5997,75, -CTSPillarNetworkA,5998,5998,5998,1986-06-04,599.5000000000678,599.5007,2015-01-01 01:39:58,bin5998,35, -CTSPillarNetworkA,5999,5999,5999,1986-06-05,599.6000000000678,599.60065,2015-01-01 01:39:59,bin5999,75, -CTSPillarNetworkA,6000,6000,6000,1986-06-06,599.7000000000678,599.7006,2015-01-01 01:40:00,bin6000,35, -CTSPillarNetworkA,6001,6001,6001,1986-06-07,599.8000000000678,599.8006,2015-01-01 01:40:01,bin6001,75, -CTSPillarNetworkA,6002,6002,6002,1986-06-08,599.9000000000678,599.9006,2015-01-01 01:40:02,bin6002,35, -CTSPillarNetworkA,6003,6003,6003,1986-06-09,600.0000000000679,600.00055,2015-01-01 01:40:03,bin6003,75, -CTSPillarNetworkA,6004,6004,6004,1986-06-10,600.1000000000679,600.1005,2015-01-01 01:40:04,bin6004,35, -CTSPillarNetworkA,6005,6005,6005,1986-06-11,600.2000000000679,600.2005,2015-01-01 01:40:05,bin6005,75, -CTSPillarNetworkA,6006,6006,6006,1986-06-12,600.3000000000679,600.3005,2015-01-01 01:40:06,bin6006,35, -CTSPillarNetworkA,6007,6007,6007,1986-06-13,600.400000000068,600.40045,2015-01-01 01:40:07,bin6007,75, -CTSPillarNetworkA,6008,6008,6008,1986-06-14,600.500000000068,600.5004,2015-01-01 01:40:08,bin6008,35, -CTSPillarNetworkA,6009,6009,6009,1986-06-15,600.600000000068,600.6004,2015-01-01 01:40:09,bin6009,75, -CTSPillarNetworkA,6010,6010,6010,1986-06-16,600.700000000068,600.7004,2015-01-01 01:40:10,bin6010,35, -CTSPillarNetworkA,6011,6011,6011,1986-06-17,600.800000000068,600.80035,2015-01-01 01:40:11,bin6011,75, -CTSPillarNetworkA,6012,6012,6012,1986-06-18,600.9000000000681,600.9003,2015-01-01 01:40:12,bin6012,35, -CTSPillarNetworkA,6013,6013,6013,1986-06-19,601.0000000000681,601.0003,2015-01-01 01:40:13,bin6013,75, -CTSPillarNetworkA,6014,6014,6014,1986-06-20,601.1000000000681,601.1003,2015-01-01 01:40:14,bin6014,35, -CTSPillarNetworkA,6015,6015,6015,1986-06-21,601.2000000000681,601.20026,2015-01-01 01:40:15,bin6015,75, -CTSPillarNetworkA,6016,6016,6016,1986-06-22,601.3000000000682,601.30023,2015-01-01 01:40:16,bin6016,35, -CTSPillarNetworkA,6017,6017,6017,1986-06-23,601.4000000000682,601.4002,2015-01-01 01:40:17,bin6017,75, -CTSPillarNetworkA,6018,6018,6018,1986-06-24,601.5000000000682,601.5002,2015-01-01 01:40:18,bin6018,35, -CTSPillarNetworkA,6019,6019,6019,1986-06-25,601.6000000000682,601.60016,2015-01-01 01:40:19,bin6019,75, -CTSPillarNetworkA,6020,6020,6020,1986-06-26,601.7000000000683,601.70013,2015-01-01 01:40:20,bin6020,35, -CTSPillarNetworkA,6021,6021,6021,1986-06-27,601.8000000000683,601.8001,2015-01-01 01:40:21,bin6021,75, -CTSPillarNetworkA,6022,6022,6022,1986-06-28,601.9000000000683,601.9001,2015-01-01 01:40:22,bin6022,35, -CTSPillarNetworkA,6023,6023,6023,1986-06-29,602.0000000000683,602.00006,2015-01-01 01:40:23,bin6023,75, -CTSPillarNetworkA,6024,6024,6024,1986-06-30,602.1000000000683,602.10004,2015-01-01 01:40:24,bin6024,35, -CTSPillarNetworkA,6025,6025,6025,1986-07-01,602.2000000000684,602.2,2015-01-01 01:40:25,bin6025,75, -CTSPillarNetworkA,6026,6026,6026,1986-07-02,602.3000000000684,602.3,2015-01-01 01:40:26,bin6026,35, -CTSPillarNetworkA,6027,6027,6027,1986-07-03,602.4000000000684,602.39996,2015-01-01 01:40:27,bin6027,75, -CTSPillarNetworkA,6028,6028,6028,1986-07-04,602.5000000000684,602.49994,2015-01-01 01:40:28,bin6028,35, -CTSPillarNetworkA,6029,6029,6029,1986-07-05,602.6000000000685,602.5999,2015-01-01 01:40:29,bin6029,75, -CTSPillarNetworkA,6030,6030,6030,1986-07-06,602.7000000000685,602.6999,2015-01-01 01:40:30,bin6030,35, -CTSPillarNetworkA,6031,6031,6031,1986-07-07,602.8000000000685,602.79987,2015-01-01 01:40:31,bin6031,75, -CTSPillarNetworkA,6032,6032,6032,1986-07-08,602.9000000000685,602.89984,2015-01-01 01:40:32,bin6032,35, -CTSPillarNetworkA,6033,6033,6033,1986-07-09,603.0000000000686,602.9998,2015-01-01 01:40:33,bin6033,75, -CTSPillarNetworkA,6034,6034,6034,1986-07-10,603.1000000000686,603.0998,2015-01-01 01:40:34,bin6034,35, -CTSPillarNetworkA,6035,6035,6035,1986-07-11,603.2000000000686,603.19977,2015-01-01 01:40:35,bin6035,75, -CTSPillarNetworkA,6036,6036,6036,1986-07-12,603.3000000000686,603.29974,2015-01-01 01:40:36,bin6036,35, -CTSPillarNetworkA,6037,6037,6037,1986-07-13,603.4000000000686,603.3997,2015-01-01 01:40:37,bin6037,75, -CTSPillarNetworkA,6038,6038,6038,1986-07-14,603.5000000000687,603.4997,2015-01-01 01:40:38,bin6038,35, -CTSPillarNetworkA,6039,6039,6039,1986-07-15,603.6000000000687,603.5997,2015-01-01 01:40:39,bin6039,75, -CTSPillarNetworkA,6040,6040,6040,1986-07-16,603.7000000000687,603.69965,2015-01-01 01:40:40,bin6040,35, -CTSPillarNetworkA,6041,6041,6041,1986-07-17,603.8000000000687,603.7996,2015-01-01 01:40:41,bin6041,75, -CTSPillarNetworkA,6042,6042,6042,1986-07-18,603.9000000000688,603.8996,2015-01-01 01:40:42,bin6042,35, -CTSPillarNetworkA,6043,6043,6043,1986-07-19,604.0000000000688,603.9996,2015-01-01 01:40:43,bin6043,75, -CTSPillarNetworkA,6044,6044,6044,1986-07-20,604.1000000000688,604.09955,2015-01-01 01:40:44,bin6044,35, -CTSPillarNetworkA,6045,6045,6045,1986-07-21,604.2000000000688,604.1995,2015-01-01 01:40:45,bin6045,75, -CTSPillarNetworkA,6046,6046,6046,1986-07-22,604.3000000000688,604.2995,2015-01-01 01:40:46,bin6046,35, -CTSPillarNetworkA,6047,6047,6047,1986-07-23,604.4000000000689,604.3995,2015-01-01 01:40:47,bin6047,75, -CTSPillarNetworkA,6048,6048,6048,1986-07-24,604.5000000000689,604.49945,2015-01-01 01:40:48,bin6048,35, -CTSPillarNetworkA,6049,6049,6049,1986-07-25,604.6000000000689,604.5994,2015-01-01 01:40:49,bin6049,75, -CTSPillarNetworkA,6050,6050,6050,1986-07-26,604.7000000000689,604.6994,2015-01-01 01:40:50,bin6050,35, -CTSPillarNetworkA,6051,6051,6051,1986-07-27,604.800000000069,604.7994,2015-01-01 01:40:51,bin6051,75, -CTSPillarNetworkA,6052,6052,6052,1986-07-28,604.900000000069,604.89935,2015-01-01 01:40:52,bin6052,35, -CTSPillarNetworkA,6053,6053,6053,1986-07-29,605.000000000069,604.9993,2015-01-01 01:40:53,bin6053,75, -CTSPillarNetworkA,6054,6054,6054,1986-07-30,605.100000000069,605.0993,2015-01-01 01:40:54,bin6054,35, -CTSPillarNetworkA,6055,6055,6055,1986-07-31,605.200000000069,605.1993,2015-01-01 01:40:55,bin6055,75, -CTSPillarNetworkA,6056,6056,6056,1986-08-01,605.3000000000691,605.29926,2015-01-01 01:40:56,bin6056,35, -CTSPillarNetworkA,6057,6057,6057,1986-08-02,605.4000000000691,605.39923,2015-01-01 01:40:57,bin6057,75, -CTSPillarNetworkA,6058,6058,6058,1986-08-03,605.5000000000691,605.4992,2015-01-01 01:40:58,bin6058,35, -CTSPillarNetworkA,6059,6059,6059,1986-08-04,605.6000000000691,605.5992,2015-01-01 01:40:59,bin6059,75, -CTSPillarNetworkA,6060,6060,6060,1986-08-05,605.7000000000692,605.69916,2015-01-01 01:41:00,bin6060,35, -CTSPillarNetworkA,6061,6061,6061,1986-08-06,605.8000000000692,605.79913,2015-01-01 01:41:01,bin6061,75, -CTSPillarNetworkA,6062,6062,6062,1986-08-07,605.9000000000692,605.8991,2015-01-01 01:41:02,bin6062,35, -CTSPillarNetworkA,6063,6063,6063,1986-08-08,606.0000000000692,605.9991,2015-01-01 01:41:03,bin6063,75, -CTSPillarNetworkA,6064,6064,6064,1986-08-09,606.1000000000693,606.09906,2015-01-01 01:41:04,bin6064,35, -CTSPillarNetworkA,6065,6065,6065,1986-08-10,606.2000000000693,606.19904,2015-01-01 01:41:05,bin6065,75, -CTSPillarNetworkA,6066,6066,6066,1986-08-11,606.3000000000693,606.299,2015-01-01 01:41:06,bin6066,35, -CTSPillarNetworkA,6067,6067,6067,1986-08-12,606.4000000000693,606.399,2015-01-01 01:41:07,bin6067,75, -CTSPillarNetworkA,6068,6068,6068,1986-08-13,606.5000000000693,606.49896,2015-01-01 01:41:08,bin6068,35, -CTSPillarNetworkA,6069,6069,6069,1986-08-14,606.6000000000694,606.59894,2015-01-01 01:41:09,bin6069,75, -CTSPillarNetworkA,6070,6070,6070,1986-08-15,606.7000000000694,606.6989,2015-01-01 01:41:10,bin6070,35, -CTSPillarNetworkA,6071,6071,6071,1986-08-16,606.8000000000694,606.7989,2015-01-01 01:41:11,bin6071,75, -CTSPillarNetworkA,6072,6072,6072,1986-08-17,606.9000000000694,606.89886,2015-01-01 01:41:12,bin6072,35, -CTSPillarNetworkA,6073,6073,6073,1986-08-18,607.0000000000695,606.99884,2015-01-01 01:41:13,bin6073,75, -CTSPillarNetworkA,6074,6074,6074,1986-08-19,607.1000000000695,607.0988,2015-01-01 01:41:14,bin6074,35, -CTSPillarNetworkA,6075,6075,6075,1986-08-20,607.2000000000695,607.1988,2015-01-01 01:41:15,bin6075,75, -CTSPillarNetworkA,6076,6076,6076,1986-08-21,607.3000000000695,607.29877,2015-01-01 01:41:16,bin6076,35, -CTSPillarNetworkA,6077,6077,6077,1986-08-22,607.4000000000696,607.39874,2015-01-01 01:41:17,bin6077,75, -CTSPillarNetworkA,6078,6078,6078,1986-08-23,607.5000000000696,607.4987,2015-01-01 01:41:18,bin6078,35, -CTSPillarNetworkA,6079,6079,6079,1986-08-24,607.6000000000696,607.5987,2015-01-01 01:41:19,bin6079,75, -CTSPillarNetworkA,6080,6080,6080,1986-08-25,607.7000000000696,607.69867,2015-01-01 01:41:20,bin6080,35, -CTSPillarNetworkA,6081,6081,6081,1986-08-26,607.8000000000696,607.79865,2015-01-01 01:41:21,bin6081,75, -CTSPillarNetworkA,6082,6082,6082,1986-08-27,607.9000000000697,607.8986,2015-01-01 01:41:22,bin6082,35, -CTSPillarNetworkA,6083,6083,6083,1986-08-28,608.0000000000697,607.9986,2015-01-01 01:41:23,bin6083,75, -CTSPillarNetworkA,6084,6084,6084,1986-08-29,608.1000000000697,608.0986,2015-01-01 01:41:24,bin6084,35, -CTSPillarNetworkA,6085,6085,6085,1986-08-30,608.2000000000697,608.19855,2015-01-01 01:41:25,bin6085,75, -CTSPillarNetworkA,6086,6086,6086,1986-08-31,608.3000000000698,608.2985,2015-01-01 01:41:26,bin6086,35, -CTSPillarNetworkA,6087,6087,6087,1986-09-01,608.4000000000698,608.3985,2015-01-01 01:41:27,bin6087,75, -CTSPillarNetworkA,6088,6088,6088,1986-09-02,608.5000000000698,608.4985,2015-01-01 01:41:28,bin6088,35, -CTSPillarNetworkA,6089,6089,6089,1986-09-03,608.6000000000698,608.59845,2015-01-01 01:41:29,bin6089,75, -CTSPillarNetworkA,6090,6090,6090,1986-09-04,608.7000000000698,608.6984,2015-01-01 01:41:30,bin6090,35, -CTSPillarNetworkA,6091,6091,6091,1986-09-05,608.8000000000699,608.7984,2015-01-01 01:41:31,bin6091,75, -CTSPillarNetworkA,6092,6092,6092,1986-09-06,608.9000000000699,608.8984,2015-01-01 01:41:32,bin6092,35, -CTSPillarNetworkA,6093,6093,6093,1986-09-07,609.0000000000699,608.99835,2015-01-01 01:41:33,bin6093,75, -CTSPillarNetworkA,6094,6094,6094,1986-09-08,609.1000000000699,609.0983,2015-01-01 01:41:34,bin6094,35, -CTSPillarNetworkA,6095,6095,6095,1986-09-09,609.20000000007,609.1983,2015-01-01 01:41:35,bin6095,75, -CTSPillarNetworkA,6096,6096,6096,1986-09-10,609.30000000007,609.2983,2015-01-01 01:41:36,bin6096,35, -CTSPillarNetworkA,6097,6097,6097,1986-09-11,609.40000000007,609.39825,2015-01-01 01:41:37,bin6097,75, -CTSPillarNetworkA,6098,6098,6098,1986-09-12,609.50000000007,609.4982,2015-01-01 01:41:38,bin6098,35, -CTSPillarNetworkA,6099,6099,6099,1986-09-13,609.60000000007,609.5982,2015-01-01 01:41:39,bin6099,75, -CTSPillarNetworkA,6100,6100,6100,1986-09-14,609.7000000000701,609.6982,2015-01-01 01:41:40,bin6100,35, -CTSPillarNetworkA,6101,6101,6101,1986-09-15,609.8000000000701,609.79816,2015-01-01 01:41:41,bin6101,75, -CTSPillarNetworkA,6102,6102,6102,1986-09-16,609.9000000000701,609.89813,2015-01-01 01:41:42,bin6102,35, -CTSPillarNetworkA,6103,6103,6103,1986-09-17,610.0000000000701,609.9981,2015-01-01 01:41:43,bin6103,75, -CTSPillarNetworkA,6104,6104,6104,1986-09-18,610.1000000000702,610.0981,2015-01-01 01:41:44,bin6104,35, -CTSPillarNetworkA,6105,6105,6105,1986-09-19,610.2000000000702,610.19806,2015-01-01 01:41:45,bin6105,75, -CTSPillarNetworkA,6106,6106,6106,1986-09-20,610.3000000000702,610.29803,2015-01-01 01:41:46,bin6106,35, -CTSPillarNetworkA,6107,6107,6107,1986-09-21,610.4000000000702,610.398,2015-01-01 01:41:47,bin6107,75, -CTSPillarNetworkA,6108,6108,6108,1986-09-22,610.5000000000703,610.498,2015-01-01 01:41:48,bin6108,35, -CTSPillarNetworkA,6109,6109,6109,1986-09-23,610.6000000000703,610.59796,2015-01-01 01:41:49,bin6109,75, -CTSPillarNetworkA,6110,6110,6110,1986-09-24,610.7000000000703,610.69794,2015-01-01 01:41:50,bin6110,35, -CTSPillarNetworkA,6111,6111,6111,1986-09-25,610.8000000000703,610.7979,2015-01-01 01:41:51,bin6111,75, -CTSPillarNetworkA,6112,6112,6112,1986-09-26,610.9000000000703,610.8979,2015-01-01 01:41:52,bin6112,35, -CTSPillarNetworkA,6113,6113,6113,1986-09-27,611.0000000000704,610.99786,2015-01-01 01:41:53,bin6113,75, -CTSPillarNetworkA,6114,6114,6114,1986-09-28,611.1000000000704,611.09784,2015-01-01 01:41:54,bin6114,35, -CTSPillarNetworkA,6115,6115,6115,1986-09-29,611.2000000000704,611.1978,2015-01-01 01:41:55,bin6115,75, -CTSPillarNetworkA,6116,6116,6116,1986-09-30,611.3000000000704,611.2978,2015-01-01 01:41:56,bin6116,35, -CTSPillarNetworkA,6117,6117,6117,1986-10-01,611.4000000000705,611.39777,2015-01-01 01:41:57,bin6117,75, -CTSPillarNetworkA,6118,6118,6118,1986-10-02,611.5000000000705,611.49774,2015-01-01 01:41:58,bin6118,35, -CTSPillarNetworkA,6119,6119,6119,1986-10-03,611.6000000000705,611.5977,2015-01-01 01:41:59,bin6119,75, -CTSPillarNetworkA,6120,6120,6120,1986-10-04,611.7000000000705,611.6977,2015-01-01 01:42:00,bin6120,35, -CTSPillarNetworkA,6121,6121,6121,1986-10-05,611.8000000000706,611.79767,2015-01-01 01:42:01,bin6121,75, -CTSPillarNetworkA,6122,6122,6122,1986-10-06,611.9000000000706,611.89764,2015-01-01 01:42:02,bin6122,35, -CTSPillarNetworkA,6123,6123,6123,1986-10-07,612.0000000000706,611.9976,2015-01-01 01:42:03,bin6123,75, -CTSPillarNetworkA,6124,6124,6124,1986-10-08,612.1000000000706,612.0976,2015-01-01 01:42:04,bin6124,35, -CTSPillarNetworkA,6125,6125,6125,1986-10-09,612.2000000000706,612.1976,2015-01-01 01:42:05,bin6125,75, -CTSPillarNetworkA,6126,6126,6126,1986-10-10,612.3000000000707,612.29755,2015-01-01 01:42:06,bin6126,35, -CTSPillarNetworkA,6127,6127,6127,1986-10-11,612.4000000000707,612.3975,2015-01-01 01:42:07,bin6127,75, -CTSPillarNetworkA,6128,6128,6128,1986-10-12,612.5000000000707,612.4975,2015-01-01 01:42:08,bin6128,35, -CTSPillarNetworkA,6129,6129,6129,1986-10-13,612.6000000000707,612.5975,2015-01-01 01:42:09,bin6129,75, -CTSPillarNetworkA,6130,6130,6130,1986-10-14,612.7000000000708,612.69745,2015-01-01 01:42:10,bin6130,35, -CTSPillarNetworkA,6131,6131,6131,1986-10-15,612.8000000000708,612.7974,2015-01-01 01:42:11,bin6131,75, -CTSPillarNetworkA,6132,6132,6132,1986-10-16,612.9000000000708,612.8974,2015-01-01 01:42:12,bin6132,35, -CTSPillarNetworkA,6133,6133,6133,1986-10-17,613.0000000000708,612.9974,2015-01-01 01:42:13,bin6133,75, -CTSPillarNetworkA,6134,6134,6134,1986-10-18,613.1000000000708,613.09735,2015-01-01 01:42:14,bin6134,35, -CTSPillarNetworkA,6135,6135,6135,1986-10-19,613.2000000000709,613.1973,2015-01-01 01:42:15,bin6135,75, -CTSPillarNetworkA,6136,6136,6136,1986-10-20,613.3000000000709,613.2973,2015-01-01 01:42:16,bin6136,35, -CTSPillarNetworkA,6137,6137,6137,1986-10-21,613.4000000000709,613.3973,2015-01-01 01:42:17,bin6137,75, -CTSPillarNetworkA,6138,6138,6138,1986-10-22,613.5000000000709,613.49725,2015-01-01 01:42:18,bin6138,35, -CTSPillarNetworkA,6139,6139,6139,1986-10-23,613.600000000071,613.5972,2015-01-01 01:42:19,bin6139,75, -CTSPillarNetworkA,6140,6140,6140,1986-10-24,613.700000000071,613.6972,2015-01-01 01:42:20,bin6140,35, -CTSPillarNetworkA,6141,6141,6141,1986-10-25,613.800000000071,613.7972,2015-01-01 01:42:21,bin6141,75, -CTSPillarNetworkA,6142,6142,6142,1986-10-26,613.900000000071,613.89716,2015-01-01 01:42:22,bin6142,35, -CTSPillarNetworkA,6143,6143,6143,1986-10-27,614.000000000071,613.99713,2015-01-01 01:42:23,bin6143,75, -CTSPillarNetworkA,6144,6144,6144,1986-10-28,614.1000000000711,614.0971,2015-01-01 01:42:24,bin6144,35, -CTSPillarNetworkA,6145,6145,6145,1986-10-29,614.2000000000711,614.1971,2015-01-01 01:42:25,bin6145,75, -CTSPillarNetworkA,6146,6146,6146,1986-10-30,614.3000000000711,614.29706,2015-01-01 01:42:26,bin6146,35, -CTSPillarNetworkA,6147,6147,6147,1986-10-31,614.4000000000711,614.39703,2015-01-01 01:42:27,bin6147,75, -CTSPillarNetworkA,6148,6148,6148,1986-11-01,614.5000000000712,614.497,2015-01-01 01:42:28,bin6148,35, -CTSPillarNetworkA,6149,6149,6149,1986-11-02,614.6000000000712,614.597,2015-01-01 01:42:29,bin6149,75, -CTSPillarNetworkA,6150,6150,6150,1986-11-03,614.7000000000712,614.69696,2015-01-01 01:42:30,bin6150,35, -CTSPillarNetworkA,6151,6151,6151,1986-11-04,614.8000000000712,614.79694,2015-01-01 01:42:31,bin6151,75, -CTSPillarNetworkA,6152,6152,6152,1986-11-05,614.9000000000713,614.8969,2015-01-01 01:42:32,bin6152,35, -CTSPillarNetworkA,6153,6153,6153,1986-11-06,615.0000000000713,614.9969,2015-01-01 01:42:33,bin6153,75, -CTSPillarNetworkA,6154,6154,6154,1986-11-07,615.1000000000713,615.09686,2015-01-01 01:42:34,bin6154,35, -CTSPillarNetworkA,6155,6155,6155,1986-11-08,615.2000000000713,615.19684,2015-01-01 01:42:35,bin6155,75, -CTSPillarNetworkA,6156,6156,6156,1986-11-09,615.3000000000713,615.2968,2015-01-01 01:42:36,bin6156,35, -CTSPillarNetworkA,6157,6157,6157,1986-11-10,615.4000000000714,615.3968,2015-01-01 01:42:37,bin6157,75, -CTSPillarNetworkA,6158,6158,6158,1986-11-11,615.5000000000714,615.49677,2015-01-01 01:42:38,bin6158,35, -CTSPillarNetworkA,6159,6159,6159,1986-11-12,615.6000000000714,615.59674,2015-01-01 01:42:39,bin6159,75, -CTSPillarNetworkA,6160,6160,6160,1986-11-13,615.7000000000714,615.6967,2015-01-01 01:42:40,bin6160,35, -CTSPillarNetworkA,6161,6161,6161,1986-11-14,615.8000000000715,615.7967,2015-01-01 01:42:41,bin6161,75, -CTSPillarNetworkA,6162,6162,6162,1986-11-15,615.9000000000715,615.89667,2015-01-01 01:42:42,bin6162,35, -CTSPillarNetworkA,6163,6163,6163,1986-11-16,616.0000000000715,615.99664,2015-01-01 01:42:43,bin6163,75, -CTSPillarNetworkA,6164,6164,6164,1986-11-17,616.1000000000715,616.0966,2015-01-01 01:42:44,bin6164,35, -CTSPillarNetworkA,6165,6165,6165,1986-11-18,616.2000000000716,616.1966,2015-01-01 01:42:45,bin6165,75, -CTSPillarNetworkA,6166,6166,6166,1986-11-19,616.3000000000716,616.2966,2015-01-01 01:42:46,bin6166,35, -CTSPillarNetworkA,6167,6167,6167,1986-11-20,616.4000000000716,616.39655,2015-01-01 01:42:47,bin6167,75, -CTSPillarNetworkA,6168,6168,6168,1986-11-21,616.5000000000716,616.4965,2015-01-01 01:42:48,bin6168,35, -CTSPillarNetworkA,6169,6169,6169,1986-11-22,616.6000000000716,616.5965,2015-01-01 01:42:49,bin6169,75, -CTSPillarNetworkA,6170,6170,6170,1986-11-23,616.7000000000717,616.6965,2015-01-01 01:42:50,bin6170,35, -CTSPillarNetworkA,6171,6171,6171,1986-11-24,616.8000000000717,616.79645,2015-01-01 01:42:51,bin6171,75, -CTSPillarNetworkA,6172,6172,6172,1986-11-25,616.9000000000717,616.8964,2015-01-01 01:42:52,bin6172,35, -CTSPillarNetworkA,6173,6173,6173,1986-11-26,617.0000000000717,616.9964,2015-01-01 01:42:53,bin6173,75, -CTSPillarNetworkA,6174,6174,6174,1986-11-27,617.1000000000718,617.0964,2015-01-01 01:42:54,bin6174,35, -CTSPillarNetworkA,6175,6175,6175,1986-11-28,617.2000000000718,617.19635,2015-01-01 01:42:55,bin6175,75, -CTSPillarNetworkA,6176,6176,6176,1986-11-29,617.3000000000718,617.2963,2015-01-01 01:42:56,bin6176,35, -CTSPillarNetworkA,6177,6177,6177,1986-11-30,617.4000000000718,617.3963,2015-01-01 01:42:57,bin6177,75, -CTSPillarNetworkA,6178,6178,6178,1986-12-01,617.5000000000719,617.4963,2015-01-01 01:42:58,bin6178,35, -CTSPillarNetworkA,6179,6179,6179,1986-12-02,617.6000000000719,617.59625,2015-01-01 01:42:59,bin6179,75, -CTSPillarNetworkA,6180,6180,6180,1986-12-03,617.7000000000719,617.6962,2015-01-01 01:43:00,bin6180,35, -CTSPillarNetworkA,6181,6181,6181,1986-12-04,617.8000000000719,617.7962,2015-01-01 01:43:01,bin6181,75, -CTSPillarNetworkA,6182,6182,6182,1986-12-05,617.9000000000719,617.8962,2015-01-01 01:43:02,bin6182,35, -CTSPillarNetworkA,6183,6183,6183,1986-12-06,618.000000000072,617.99615,2015-01-01 01:43:03,bin6183,75, -CTSPillarNetworkA,6184,6184,6184,1986-12-07,618.100000000072,618.0961,2015-01-01 01:43:04,bin6184,35, -CTSPillarNetworkA,6185,6185,6185,1986-12-08,618.200000000072,618.1961,2015-01-01 01:43:05,bin6185,75, -CTSPillarNetworkA,6186,6186,6186,1986-12-09,618.300000000072,618.2961,2015-01-01 01:43:06,bin6186,35, -CTSPillarNetworkA,6187,6187,6187,1986-12-10,618.400000000072,618.39606,2015-01-01 01:43:07,bin6187,75, -CTSPillarNetworkA,6188,6188,6188,1986-12-11,618.5000000000721,618.49603,2015-01-01 01:43:08,bin6188,35, -CTSPillarNetworkA,6189,6189,6189,1986-12-12,618.6000000000721,618.596,2015-01-01 01:43:09,bin6189,75, -CTSPillarNetworkA,6190,6190,6190,1986-12-13,618.7000000000721,618.696,2015-01-01 01:43:10,bin6190,35, -CTSPillarNetworkA,6191,6191,6191,1986-12-14,618.8000000000721,618.79596,2015-01-01 01:43:11,bin6191,75, -CTSPillarNetworkA,6192,6192,6192,1986-12-15,618.9000000000722,618.89594,2015-01-01 01:43:12,bin6192,35, -CTSPillarNetworkA,6193,6193,6193,1986-12-16,619.0000000000722,618.9959,2015-01-01 01:43:13,bin6193,75, -CTSPillarNetworkA,6194,6194,6194,1986-12-17,619.1000000000722,619.0959,2015-01-01 01:43:14,bin6194,35, -CTSPillarNetworkA,6195,6195,6195,1986-12-18,619.2000000000722,619.19586,2015-01-01 01:43:15,bin6195,75, -CTSPillarNetworkA,6196,6196,6196,1986-12-19,619.3000000000723,619.29584,2015-01-01 01:43:16,bin6196,35, -CTSPillarNetworkA,6197,6197,6197,1986-12-20,619.4000000000723,619.3958,2015-01-01 01:43:17,bin6197,75, -CTSPillarNetworkA,6198,6198,6198,1986-12-21,619.5000000000723,619.4958,2015-01-01 01:43:18,bin6198,35, -CTSPillarNetworkA,6199,6199,6199,1986-12-22,619.6000000000723,619.59576,2015-01-01 01:43:19,bin6199,75, -CTSPillarNetworkA,6200,6200,6200,1986-12-23,619.7000000000724,619.69574,2015-01-01 01:43:20,bin6200,35, -CTSPillarNetworkA,6201,6201,6201,1986-12-24,619.8000000000724,619.7957,2015-01-01 01:43:21,bin6201,75, -CTSPillarNetworkA,6202,6202,6202,1986-12-25,619.9000000000724,619.8957,2015-01-01 01:43:22,bin6202,35, -CTSPillarNetworkA,6203,6203,6203,1986-12-26,620.0000000000724,619.99567,2015-01-01 01:43:23,bin6203,75, -CTSPillarNetworkA,6204,6204,6204,1986-12-27,620.1000000000724,620.09564,2015-01-01 01:43:24,bin6204,35, -CTSPillarNetworkA,6205,6205,6205,1986-12-28,620.2000000000725,620.1956,2015-01-01 01:43:25,bin6205,75, -CTSPillarNetworkA,6206,6206,6206,1986-12-29,620.3000000000725,620.2956,2015-01-01 01:43:26,bin6206,35, -CTSPillarNetworkA,6207,6207,6207,1986-12-30,620.4000000000725,620.39557,2015-01-01 01:43:27,bin6207,75, -CTSPillarNetworkA,6208,6208,6208,1986-12-31,620.5000000000725,620.49554,2015-01-01 01:43:28,bin6208,35, -CTSPillarNetworkA,6209,6209,6209,1987-01-01,620.6000000000726,620.5955,2015-01-01 01:43:29,bin6209,75, -CTSPillarNetworkA,6210,6210,6210,1987-01-02,620.7000000000726,620.6955,2015-01-01 01:43:30,bin6210,35, -CTSPillarNetworkA,6211,6211,6211,1987-01-03,620.8000000000726,620.7955,2015-01-01 01:43:31,bin6211,75, -CTSPillarNetworkA,6212,6212,6212,1987-01-04,620.9000000000726,620.89545,2015-01-01 01:43:32,bin6212,35, -CTSPillarNetworkA,6213,6213,6213,1987-01-05,621.0000000000726,620.9954,2015-01-01 01:43:33,bin6213,75, -CTSPillarNetworkA,6214,6214,6214,1987-01-06,621.1000000000727,621.0954,2015-01-01 01:43:34,bin6214,35, -CTSPillarNetworkA,6215,6215,6215,1987-01-07,621.2000000000727,621.1954,2015-01-01 01:43:35,bin6215,75, -CTSPillarNetworkA,6216,6216,6216,1987-01-08,621.3000000000727,621.29535,2015-01-01 01:43:36,bin6216,35, -CTSPillarNetworkA,6217,6217,6217,1987-01-09,621.4000000000727,621.3953,2015-01-01 01:43:37,bin6217,75, -CTSPillarNetworkA,6218,6218,6218,1987-01-10,621.5000000000728,621.4953,2015-01-01 01:43:38,bin6218,35, -CTSPillarNetworkA,6219,6219,6219,1987-01-11,621.6000000000728,621.5953,2015-01-01 01:43:39,bin6219,75, -CTSPillarNetworkA,6220,6220,6220,1987-01-12,621.7000000000728,621.69525,2015-01-01 01:43:40,bin6220,35, -CTSPillarNetworkA,6221,6221,6221,1987-01-13,621.8000000000728,621.7952,2015-01-01 01:43:41,bin6221,75, -CTSPillarNetworkA,6222,6222,6222,1987-01-14,621.9000000000729,621.8952,2015-01-01 01:43:42,bin6222,35, -CTSPillarNetworkA,6223,6223,6223,1987-01-15,622.0000000000729,621.9952,2015-01-01 01:43:43,bin6223,75, -CTSPillarNetworkA,6224,6224,6224,1987-01-16,622.1000000000729,622.09515,2015-01-01 01:43:44,bin6224,35, -CTSPillarNetworkA,6225,6225,6225,1987-01-17,622.2000000000729,622.1951,2015-01-01 01:43:45,bin6225,75, -CTSPillarNetworkA,6226,6226,6226,1987-01-18,622.3000000000729,622.2951,2015-01-01 01:43:46,bin6226,35, -CTSPillarNetworkA,6227,6227,6227,1987-01-19,622.400000000073,622.3951,2015-01-01 01:43:47,bin6227,75, -CTSPillarNetworkA,6228,6228,6228,1987-01-20,622.500000000073,622.49506,2015-01-01 01:43:48,bin6228,35, -CTSPillarNetworkA,6229,6229,6229,1987-01-21,622.600000000073,622.59503,2015-01-01 01:43:49,bin6229,75, -CTSPillarNetworkA,6230,6230,6230,1987-01-22,622.700000000073,622.695,2015-01-01 01:43:50,bin6230,35, -CTSPillarNetworkA,6231,6231,6231,1987-01-23,622.800000000073,622.795,2015-01-01 01:43:51,bin6231,75, -CTSPillarNetworkA,6232,6232,6232,1987-01-24,622.9000000000731,622.89496,2015-01-01 01:43:52,bin6232,35, -CTSPillarNetworkA,6233,6233,6233,1987-01-25,623.0000000000731,622.99493,2015-01-01 01:43:53,bin6233,75, -CTSPillarNetworkA,6234,6234,6234,1987-01-26,623.1000000000731,623.0949,2015-01-01 01:43:54,bin6234,35, -CTSPillarNetworkA,6235,6235,6235,1987-01-27,623.2000000000731,623.1949,2015-01-01 01:43:55,bin6235,75, -CTSPillarNetworkA,6236,6236,6236,1987-01-28,623.3000000000732,623.29486,2015-01-01 01:43:56,bin6236,35, -CTSPillarNetworkA,6237,6237,6237,1987-01-29,623.4000000000732,623.39484,2015-01-01 01:43:57,bin6237,75, -CTSPillarNetworkA,6238,6238,6238,1987-01-30,623.5000000000732,623.4948,2015-01-01 01:43:58,bin6238,35, -CTSPillarNetworkA,6239,6239,6239,1987-01-31,623.6000000000732,623.5948,2015-01-01 01:43:59,bin6239,75, -CTSPillarNetworkA,6240,6240,6240,1987-02-01,623.7000000000733,623.69476,2015-01-01 01:44:00,bin6240,35, -CTSPillarNetworkA,6241,6241,6241,1987-02-02,623.8000000000733,623.79474,2015-01-01 01:44:01,bin6241,75, -CTSPillarNetworkA,6242,6242,6242,1987-02-03,623.9000000000733,623.8947,2015-01-01 01:44:02,bin6242,35, -CTSPillarNetworkA,6243,6243,6243,1987-02-04,624.0000000000733,623.9947,2015-01-01 01:44:03,bin6243,75, -CTSPillarNetworkA,6244,6244,6244,1987-02-05,624.1000000000734,624.09467,2015-01-01 01:44:04,bin6244,35, -CTSPillarNetworkA,6245,6245,6245,1987-02-06,624.2000000000734,624.19464,2015-01-01 01:44:05,bin6245,75, -CTSPillarNetworkA,6246,6246,6246,1987-02-07,624.3000000000734,624.2946,2015-01-01 01:44:06,bin6246,35, -CTSPillarNetworkA,6247,6247,6247,1987-02-08,624.4000000000734,624.3946,2015-01-01 01:44:07,bin6247,75, -CTSPillarNetworkA,6248,6248,6248,1987-02-09,624.5000000000734,624.49457,2015-01-01 01:44:08,bin6248,35, -CTSPillarNetworkA,6249,6249,6249,1987-02-10,624.6000000000735,624.59454,2015-01-01 01:44:09,bin6249,75, -CTSPillarNetworkA,6250,6250,6250,1987-02-11,624.7000000000735,624.6945,2015-01-01 01:44:10,bin6250,35, -CTSPillarNetworkA,6251,6251,6251,1987-02-12,624.8000000000735,624.7945,2015-01-01 01:44:11,bin6251,75, -CTSPillarNetworkA,6252,6252,6252,1987-02-13,624.9000000000735,624.8945,2015-01-01 01:44:12,bin6252,35, -CTSPillarNetworkA,6253,6253,6253,1987-02-14,625.0000000000736,624.99445,2015-01-01 01:44:13,bin6253,75, -CTSPillarNetworkA,6254,6254,6254,1987-02-15,625.1000000000736,625.0944,2015-01-01 01:44:14,bin6254,35, -CTSPillarNetworkA,6255,6255,6255,1987-02-16,625.2000000000736,625.1944,2015-01-01 01:44:15,bin6255,75, -CTSPillarNetworkA,6256,6256,6256,1987-02-17,625.3000000000736,625.2944,2015-01-01 01:44:16,bin6256,35, -CTSPillarNetworkA,6257,6257,6257,1987-02-18,625.4000000000736,625.39435,2015-01-01 01:44:17,bin6257,75, -CTSPillarNetworkA,6258,6258,6258,1987-02-19,625.5000000000737,625.4943,2015-01-01 01:44:18,bin6258,35, -CTSPillarNetworkA,6259,6259,6259,1987-02-20,625.6000000000737,625.5943,2015-01-01 01:44:19,bin6259,75, -CTSPillarNetworkA,6260,6260,6260,1987-02-21,625.7000000000737,625.6943,2015-01-01 01:44:20,bin6260,35, -CTSPillarNetworkA,6261,6261,6261,1987-02-22,625.8000000000737,625.79425,2015-01-01 01:44:21,bin6261,75, -CTSPillarNetworkA,6262,6262,6262,1987-02-23,625.9000000000738,625.8942,2015-01-01 01:44:22,bin6262,35, -CTSPillarNetworkA,6263,6263,6263,1987-02-24,626.0000000000738,625.9942,2015-01-01 01:44:23,bin6263,75, -CTSPillarNetworkA,6264,6264,6264,1987-02-25,626.1000000000738,626.0942,2015-01-01 01:44:24,bin6264,35, -CTSPillarNetworkA,6265,6265,6265,1987-02-26,626.2000000000738,626.19415,2015-01-01 01:44:25,bin6265,75, -CTSPillarNetworkA,6266,6266,6266,1987-02-27,626.3000000000739,626.2941,2015-01-01 01:44:26,bin6266,35, -CTSPillarNetworkA,6267,6267,6267,1987-02-28,626.4000000000739,626.3941,2015-01-01 01:44:27,bin6267,75, -CTSPillarNetworkA,6268,6268,6268,1987-03-01,626.5000000000739,626.4941,2015-01-01 01:44:28,bin6268,35, -CTSPillarNetworkA,6269,6269,6269,1987-03-02,626.6000000000739,626.59406,2015-01-01 01:44:29,bin6269,75, -CTSPillarNetworkA,6270,6270,6270,1987-03-03,626.7000000000739,626.69403,2015-01-01 01:44:30,bin6270,35, -CTSPillarNetworkA,6271,6271,6271,1987-03-04,626.800000000074,626.794,2015-01-01 01:44:31,bin6271,75, -CTSPillarNetworkA,6272,6272,6272,1987-03-05,626.900000000074,626.894,2015-01-01 01:44:32,bin6272,35, -CTSPillarNetworkA,6273,6273,6273,1987-03-06,627.000000000074,626.99396,2015-01-01 01:44:33,bin6273,75, -CTSPillarNetworkA,6274,6274,6274,1987-03-07,627.100000000074,627.09393,2015-01-01 01:44:34,bin6274,35, -CTSPillarNetworkA,6275,6275,6275,1987-03-08,627.200000000074,627.1939,2015-01-01 01:44:35,bin6275,75, -CTSPillarNetworkA,6276,6276,6276,1987-03-09,627.3000000000741,627.2939,2015-01-01 01:44:36,bin6276,35, -CTSPillarNetworkA,6277,6277,6277,1987-03-10,627.4000000000741,627.39386,2015-01-01 01:44:37,bin6277,75, -CTSPillarNetworkA,6278,6278,6278,1987-03-11,627.5000000000741,627.49384,2015-01-01 01:44:38,bin6278,35, -CTSPillarNetworkA,6279,6279,6279,1987-03-12,627.6000000000741,627.5938,2015-01-01 01:44:39,bin6279,75, -CTSPillarNetworkA,6280,6280,6280,1987-03-13,627.7000000000742,627.6938,2015-01-01 01:44:40,bin6280,35, -CTSPillarNetworkA,6281,6281,6281,1987-03-14,627.8000000000742,627.79376,2015-01-01 01:44:41,bin6281,75, -CTSPillarNetworkA,6282,6282,6282,1987-03-15,627.9000000000742,627.89374,2015-01-01 01:44:42,bin6282,35, -CTSPillarNetworkA,6283,6283,6283,1987-03-16,628.0000000000742,627.9937,2015-01-01 01:44:43,bin6283,75, -CTSPillarNetworkA,6284,6284,6284,1987-03-17,628.1000000000743,628.0937,2015-01-01 01:44:44,bin6284,35, -CTSPillarNetworkA,6285,6285,6285,1987-03-18,628.2000000000743,628.19366,2015-01-01 01:44:45,bin6285,75, -CTSPillarNetworkA,6286,6286,6286,1987-03-19,628.3000000000743,628.29364,2015-01-01 01:44:46,bin6286,35, -CTSPillarNetworkA,6287,6287,6287,1987-03-20,628.4000000000743,628.3936,2015-01-01 01:44:47,bin6287,75, -CTSPillarNetworkA,6288,6288,6288,1987-03-21,628.5000000000744,628.4936,2015-01-01 01:44:48,bin6288,35, -CTSPillarNetworkA,6289,6289,6289,1987-03-22,628.6000000000744,628.59357,2015-01-01 01:44:49,bin6289,75, -CTSPillarNetworkA,6290,6290,6290,1987-03-23,628.7000000000744,628.69354,2015-01-01 01:44:50,bin6290,35, -CTSPillarNetworkA,6291,6291,6291,1987-03-24,628.8000000000744,628.7935,2015-01-01 01:44:51,bin6291,75, -CTSPillarNetworkA,6292,6292,6292,1987-03-25,628.9000000000744,628.8935,2015-01-01 01:44:52,bin6292,35, -CTSPillarNetworkA,6293,6293,6293,1987-03-26,629.0000000000745,628.99347,2015-01-01 01:44:53,bin6293,75, -CTSPillarNetworkA,6294,6294,6294,1987-03-27,629.1000000000745,629.09344,2015-01-01 01:44:54,bin6294,35, -CTSPillarNetworkA,6295,6295,6295,1987-03-28,629.2000000000745,629.1934,2015-01-01 01:44:55,bin6295,75, -CTSPillarNetworkA,6296,6296,6296,1987-03-29,629.3000000000745,629.2934,2015-01-01 01:44:56,bin6296,35, -CTSPillarNetworkA,6297,6297,6297,1987-03-30,629.4000000000746,629.3934,2015-01-01 01:44:57,bin6297,75, -CTSPillarNetworkA,6298,6298,6298,1987-03-31,629.5000000000746,629.49335,2015-01-01 01:44:58,bin6298,35, -CTSPillarNetworkA,6299,6299,6299,1987-04-01,629.6000000000746,629.5933,2015-01-01 01:44:59,bin6299,75, -CTSPillarNetworkA,6300,6300,6300,1987-04-02,629.7000000000746,629.6933,2015-01-01 01:45:00,bin6300,35, -CTSPillarNetworkA,6301,6301,6301,1987-04-03,629.8000000000746,629.7933,2015-01-01 01:45:01,bin6301,75, -CTSPillarNetworkA,6302,6302,6302,1987-04-04,629.9000000000747,629.89325,2015-01-01 01:45:02,bin6302,35, -CTSPillarNetworkA,6303,6303,6303,1987-04-05,630.0000000000747,629.9932,2015-01-01 01:45:03,bin6303,75, -CTSPillarNetworkA,6304,6304,6304,1987-04-06,630.1000000000747,630.0932,2015-01-01 01:45:04,bin6304,35, -CTSPillarNetworkA,6305,6305,6305,1987-04-07,630.2000000000747,630.1932,2015-01-01 01:45:05,bin6305,75, -CTSPillarNetworkA,6306,6306,6306,1987-04-08,630.3000000000748,630.29315,2015-01-01 01:45:06,bin6306,35, -CTSPillarNetworkA,6307,6307,6307,1987-04-09,630.4000000000748,630.3931,2015-01-01 01:45:07,bin6307,75, -CTSPillarNetworkA,6308,6308,6308,1987-04-10,630.5000000000748,630.4931,2015-01-01 01:45:08,bin6308,35, -CTSPillarNetworkA,6309,6309,6309,1987-04-11,630.6000000000748,630.5931,2015-01-01 01:45:09,bin6309,75, -CTSPillarNetworkA,6310,6310,6310,1987-04-12,630.7000000000749,630.69305,2015-01-01 01:45:10,bin6310,35, -CTSPillarNetworkA,6311,6311,6311,1987-04-13,630.8000000000749,630.793,2015-01-01 01:45:11,bin6311,75, -CTSPillarNetworkA,6312,6312,6312,1987-04-14,630.9000000000749,630.893,2015-01-01 01:45:12,bin6312,35, -CTSPillarNetworkA,6313,6313,6313,1987-04-15,631.0000000000749,630.993,2015-01-01 01:45:13,bin6313,75, -CTSPillarNetworkA,6314,6314,6314,1987-04-16,631.1000000000749,631.09296,2015-01-01 01:45:14,bin6314,35, -CTSPillarNetworkA,6315,6315,6315,1987-04-17,631.200000000075,631.19293,2015-01-01 01:45:15,bin6315,75, -CTSPillarNetworkA,6316,6316,6316,1987-04-18,631.300000000075,631.2929,2015-01-01 01:45:16,bin6316,35, -CTSPillarNetworkA,6317,6317,6317,1987-04-19,631.400000000075,631.3929,2015-01-01 01:45:17,bin6317,75, -CTSPillarNetworkA,6318,6318,6318,1987-04-20,631.500000000075,631.49286,2015-01-01 01:45:18,bin6318,35, -CTSPillarNetworkA,6319,6319,6319,1987-04-21,631.600000000075,631.59283,2015-01-01 01:45:19,bin6319,75, -CTSPillarNetworkA,6320,6320,6320,1987-04-22,631.7000000000751,631.6928,2015-01-01 01:45:20,bin6320,35, -CTSPillarNetworkA,6321,6321,6321,1987-04-23,631.8000000000751,631.7928,2015-01-01 01:45:21,bin6321,75, -CTSPillarNetworkA,6322,6322,6322,1987-04-24,631.9000000000751,631.89276,2015-01-01 01:45:22,bin6322,35, -CTSPillarNetworkA,6323,6323,6323,1987-04-25,632.0000000000751,631.99274,2015-01-01 01:45:23,bin6323,75, -CTSPillarNetworkA,6324,6324,6324,1987-04-26,632.1000000000752,632.0927,2015-01-01 01:45:24,bin6324,35, -CTSPillarNetworkA,6325,6325,6325,1987-04-27,632.2000000000752,632.1927,2015-01-01 01:45:25,bin6325,75, -CTSPillarNetworkA,6326,6326,6326,1987-04-28,632.3000000000752,632.29266,2015-01-01 01:45:26,bin6326,35, -CTSPillarNetworkA,6327,6327,6327,1987-04-29,632.4000000000752,632.39264,2015-01-01 01:45:27,bin6327,75, -CTSPillarNetworkA,6328,6328,6328,1987-04-30,632.5000000000753,632.4926,2015-01-01 01:45:28,bin6328,35, -CTSPillarNetworkA,6329,6329,6329,1987-05-01,632.6000000000753,632.5926,2015-01-01 01:45:29,bin6329,75, -CTSPillarNetworkA,6330,6330,6330,1987-05-02,632.7000000000753,632.69257,2015-01-01 01:45:30,bin6330,35, -CTSPillarNetworkA,6331,6331,6331,1987-05-03,632.8000000000753,632.79254,2015-01-01 01:45:31,bin6331,75, -CTSPillarNetworkA,6332,6332,6332,1987-05-04,632.9000000000754,632.8925,2015-01-01 01:45:32,bin6332,35, -CTSPillarNetworkA,6333,6333,6333,1987-05-05,633.0000000000754,632.9925,2015-01-01 01:45:33,bin6333,75, -CTSPillarNetworkA,6334,6334,6334,1987-05-06,633.1000000000754,633.09247,2015-01-01 01:45:34,bin6334,35, -CTSPillarNetworkA,6335,6335,6335,1987-05-07,633.2000000000754,633.19244,2015-01-01 01:45:35,bin6335,75, -CTSPillarNetworkA,6336,6336,6336,1987-05-08,633.3000000000754,633.2924,2015-01-01 01:45:36,bin6336,35, -CTSPillarNetworkA,6337,6337,6337,1987-05-09,633.4000000000755,633.3924,2015-01-01 01:45:37,bin6337,75, -CTSPillarNetworkA,6338,6338,6338,1987-05-10,633.5000000000755,633.4924,2015-01-01 01:45:38,bin6338,35, -CTSPillarNetworkA,6339,6339,6339,1987-05-11,633.6000000000755,633.59235,2015-01-01 01:45:39,bin6339,75, -CTSPillarNetworkA,6340,6340,6340,1987-05-12,633.7000000000755,633.6923,2015-01-01 01:45:40,bin6340,35, -CTSPillarNetworkA,6341,6341,6341,1987-05-13,633.8000000000756,633.7923,2015-01-01 01:45:41,bin6341,75, -CTSPillarNetworkA,6342,6342,6342,1987-05-14,633.9000000000756,633.8923,2015-01-01 01:45:42,bin6342,35, -CTSPillarNetworkA,6343,6343,6343,1987-05-15,634.0000000000756,633.99225,2015-01-01 01:45:43,bin6343,75, -CTSPillarNetworkA,6344,6344,6344,1987-05-16,634.1000000000756,634.0922,2015-01-01 01:45:44,bin6344,35, -CTSPillarNetworkA,6345,6345,6345,1987-05-17,634.2000000000756,634.1922,2015-01-01 01:45:45,bin6345,75, -CTSPillarNetworkA,6346,6346,6346,1987-05-18,634.3000000000757,634.2922,2015-01-01 01:45:46,bin6346,35, -CTSPillarNetworkA,6347,6347,6347,1987-05-19,634.4000000000757,634.39215,2015-01-01 01:45:47,bin6347,75, -CTSPillarNetworkA,6348,6348,6348,1987-05-20,634.5000000000757,634.4921,2015-01-01 01:45:48,bin6348,35, -CTSPillarNetworkA,6349,6349,6349,1987-05-21,634.6000000000757,634.5921,2015-01-01 01:45:49,bin6349,75, -CTSPillarNetworkA,6350,6350,6350,1987-05-22,634.7000000000758,634.6921,2015-01-01 01:45:50,bin6350,35, -CTSPillarNetworkA,6351,6351,6351,1987-05-23,634.8000000000758,634.79205,2015-01-01 01:45:51,bin6351,75, -CTSPillarNetworkA,6352,6352,6352,1987-05-24,634.9000000000758,634.892,2015-01-01 01:45:52,bin6352,35, -CTSPillarNetworkA,6353,6353,6353,1987-05-25,635.0000000000758,634.992,2015-01-01 01:45:53,bin6353,75, -CTSPillarNetworkA,6354,6354,6354,1987-05-26,635.1000000000759,635.092,2015-01-01 01:45:54,bin6354,35, -CTSPillarNetworkA,6355,6355,6355,1987-05-27,635.2000000000759,635.19196,2015-01-01 01:45:55,bin6355,75, -CTSPillarNetworkA,6356,6356,6356,1987-05-28,635.3000000000759,635.29193,2015-01-01 01:45:56,bin6356,35, -CTSPillarNetworkA,6357,6357,6357,1987-05-29,635.4000000000759,635.3919,2015-01-01 01:45:57,bin6357,75, -CTSPillarNetworkA,6358,6358,6358,1987-05-30,635.5000000000759,635.4919,2015-01-01 01:45:58,bin6358,35, -CTSPillarNetworkA,6359,6359,6359,1987-05-31,635.600000000076,635.59186,2015-01-01 01:45:59,bin6359,75, -CTSPillarNetworkA,6360,6360,6360,1987-06-01,635.700000000076,635.69183,2015-01-01 01:46:00,bin6360,35, -CTSPillarNetworkA,6361,6361,6361,1987-06-02,635.800000000076,635.7918,2015-01-01 01:46:01,bin6361,75, -CTSPillarNetworkA,6362,6362,6362,1987-06-03,635.900000000076,635.8918,2015-01-01 01:46:02,bin6362,35, -CTSPillarNetworkA,6363,6363,6363,1987-06-04,636.000000000076,635.99176,2015-01-01 01:46:03,bin6363,75, -CTSPillarNetworkA,6364,6364,6364,1987-06-05,636.1000000000761,636.09174,2015-01-01 01:46:04,bin6364,35, -CTSPillarNetworkA,6365,6365,6365,1987-06-06,636.2000000000761,636.1917,2015-01-01 01:46:05,bin6365,75, -CTSPillarNetworkA,6366,6366,6366,1987-06-07,636.3000000000761,636.2917,2015-01-01 01:46:06,bin6366,35, -CTSPillarNetworkA,6367,6367,6367,1987-06-08,636.4000000000761,636.39166,2015-01-01 01:46:07,bin6367,75, -CTSPillarNetworkA,6368,6368,6368,1987-06-09,636.5000000000762,636.49164,2015-01-01 01:46:08,bin6368,35, -CTSPillarNetworkA,6369,6369,6369,1987-06-10,636.6000000000762,636.5916,2015-01-01 01:46:09,bin6369,75, -CTSPillarNetworkA,6370,6370,6370,1987-06-11,636.7000000000762,636.6916,2015-01-01 01:46:10,bin6370,35, -CTSPillarNetworkA,6371,6371,6371,1987-06-12,636.8000000000762,636.79156,2015-01-01 01:46:11,bin6371,75, -CTSPillarNetworkA,6372,6372,6372,1987-06-13,636.9000000000763,636.89154,2015-01-01 01:46:12,bin6372,35, -CTSPillarNetworkA,6373,6373,6373,1987-06-14,637.0000000000763,636.9915,2015-01-01 01:46:13,bin6373,75, -CTSPillarNetworkA,6374,6374,6374,1987-06-15,637.1000000000763,637.0915,2015-01-01 01:46:14,bin6374,35, -CTSPillarNetworkA,6375,6375,6375,1987-06-16,637.2000000000763,637.19147,2015-01-01 01:46:15,bin6375,75, -CTSPillarNetworkA,6376,6376,6376,1987-06-17,637.3000000000764,637.29144,2015-01-01 01:46:16,bin6376,35, -CTSPillarNetworkA,6377,6377,6377,1987-06-18,637.4000000000764,637.3914,2015-01-01 01:46:17,bin6377,75, -CTSPillarNetworkA,6378,6378,6378,1987-06-19,637.5000000000764,637.4914,2015-01-01 01:46:18,bin6378,35, -CTSPillarNetworkA,6379,6379,6379,1987-06-20,637.6000000000764,637.5914,2015-01-01 01:46:19,bin6379,75, -CTSPillarNetworkA,6380,6380,6380,1987-06-21,637.7000000000764,637.69135,2015-01-01 01:46:20,bin6380,35, -CTSPillarNetworkA,6381,6381,6381,1987-06-22,637.8000000000765,637.7913,2015-01-01 01:46:21,bin6381,75, -CTSPillarNetworkA,6382,6382,6382,1987-06-23,637.9000000000765,637.8913,2015-01-01 01:46:22,bin6382,35, -CTSPillarNetworkA,6383,6383,6383,1987-06-24,638.0000000000765,637.9913,2015-01-01 01:46:23,bin6383,75, -CTSPillarNetworkA,6384,6384,6384,1987-06-25,638.1000000000765,638.09125,2015-01-01 01:46:24,bin6384,35, -CTSPillarNetworkA,6385,6385,6385,1987-06-26,638.2000000000766,638.1912,2015-01-01 01:46:25,bin6385,75, -CTSPillarNetworkA,6386,6386,6386,1987-06-27,638.3000000000766,638.2912,2015-01-01 01:46:26,bin6386,35, -CTSPillarNetworkA,6387,6387,6387,1987-06-28,638.4000000000766,638.3912,2015-01-01 01:46:27,bin6387,75, -CTSPillarNetworkA,6388,6388,6388,1987-06-29,638.5000000000766,638.49115,2015-01-01 01:46:28,bin6388,35, -CTSPillarNetworkA,6389,6389,6389,1987-06-30,638.6000000000766,638.5911,2015-01-01 01:46:29,bin6389,75, -CTSPillarNetworkA,6390,6390,6390,1987-07-01,638.7000000000767,638.6911,2015-01-01 01:46:30,bin6390,35, -CTSPillarNetworkA,6391,6391,6391,1987-07-02,638.8000000000767,638.7911,2015-01-01 01:46:31,bin6391,75, -CTSPillarNetworkA,6392,6392,6392,1987-07-03,638.9000000000767,638.89105,2015-01-01 01:46:32,bin6392,35, -CTSPillarNetworkA,6393,6393,6393,1987-07-04,639.0000000000767,638.991,2015-01-01 01:46:33,bin6393,75, -CTSPillarNetworkA,6394,6394,6394,1987-07-05,639.1000000000768,639.091,2015-01-01 01:46:34,bin6394,35, -CTSPillarNetworkA,6395,6395,6395,1987-07-06,639.2000000000768,639.191,2015-01-01 01:46:35,bin6395,75, -CTSPillarNetworkA,6396,6396,6396,1987-07-07,639.3000000000768,639.29095,2015-01-01 01:46:36,bin6396,35, -CTSPillarNetworkA,6397,6397,6397,1987-07-08,639.4000000000768,639.3909,2015-01-01 01:46:37,bin6397,75, -CTSPillarNetworkA,6398,6398,6398,1987-07-09,639.5000000000769,639.4909,2015-01-01 01:46:38,bin6398,35, -CTSPillarNetworkA,6399,6399,6399,1987-07-10,639.6000000000769,639.5909,2015-01-01 01:46:39,bin6399,75, -CTSPillarNetworkA,6400,6400,6400,1987-07-11,639.7000000000769,639.69086,2015-01-01 01:46:40,bin6400,35, -CTSPillarNetworkA,6401,6401,6401,1987-07-12,639.8000000000769,639.79083,2015-01-01 01:46:41,bin6401,75, -CTSPillarNetworkA,6402,6402,6402,1987-07-13,639.900000000077,639.8908,2015-01-01 01:46:42,bin6402,35, -CTSPillarNetworkA,6403,6403,6403,1987-07-14,640.000000000077,639.9908,2015-01-01 01:46:43,bin6403,75, -CTSPillarNetworkA,6404,6404,6404,1987-07-15,640.100000000077,640.09076,2015-01-01 01:46:44,bin6404,35, -CTSPillarNetworkA,6405,6405,6405,1987-07-16,640.200000000077,640.19073,2015-01-01 01:46:45,bin6405,75, -CTSPillarNetworkA,6406,6406,6406,1987-07-17,640.300000000077,640.2907,2015-01-01 01:46:46,bin6406,35, -CTSPillarNetworkA,6407,6407,6407,1987-07-18,640.4000000000771,640.3907,2015-01-01 01:46:47,bin6407,75, -CTSPillarNetworkA,6408,6408,6408,1987-07-19,640.5000000000771,640.49066,2015-01-01 01:46:48,bin6408,35, -CTSPillarNetworkA,6409,6409,6409,1987-07-20,640.6000000000771,640.59064,2015-01-01 01:46:49,bin6409,75, -CTSPillarNetworkA,6410,6410,6410,1987-07-21,640.7000000000771,640.6906,2015-01-01 01:46:50,bin6410,35, -CTSPillarNetworkA,6411,6411,6411,1987-07-22,640.8000000000771,640.7906,2015-01-01 01:46:51,bin6411,75, -CTSPillarNetworkA,6412,6412,6412,1987-07-23,640.9000000000772,640.89056,2015-01-01 01:46:52,bin6412,35, -CTSPillarNetworkA,6413,6413,6413,1987-07-24,641.0000000000772,640.99054,2015-01-01 01:46:53,bin6413,75, -CTSPillarNetworkA,6414,6414,6414,1987-07-25,641.1000000000772,641.0905,2015-01-01 01:46:54,bin6414,35, -CTSPillarNetworkA,6415,6415,6415,1987-07-26,641.2000000000772,641.1905,2015-01-01 01:46:55,bin6415,75, -CTSPillarNetworkA,6416,6416,6416,1987-07-27,641.3000000000773,641.29047,2015-01-01 01:46:56,bin6416,35, -CTSPillarNetworkA,6417,6417,6417,1987-07-28,641.4000000000773,641.39044,2015-01-01 01:46:57,bin6417,75, -CTSPillarNetworkA,6418,6418,6418,1987-07-29,641.5000000000773,641.4904,2015-01-01 01:46:58,bin6418,35, -CTSPillarNetworkA,6419,6419,6419,1987-07-30,641.6000000000773,641.5904,2015-01-01 01:46:59,bin6419,75, -CTSPillarNetworkA,6420,6420,6420,1987-07-31,641.7000000000774,641.69037,2015-01-01 01:47:00,bin6420,35, -CTSPillarNetworkA,6421,6421,6421,1987-08-01,641.8000000000774,641.79034,2015-01-01 01:47:01,bin6421,75, -CTSPillarNetworkA,6422,6422,6422,1987-08-02,641.9000000000774,641.8903,2015-01-01 01:47:02,bin6422,35, -CTSPillarNetworkA,6423,6423,6423,1987-08-03,642.0000000000774,641.9903,2015-01-01 01:47:03,bin6423,75, -CTSPillarNetworkA,6424,6424,6424,1987-08-04,642.1000000000774,642.0903,2015-01-01 01:47:04,bin6424,35, -CTSPillarNetworkA,6425,6425,6425,1987-08-05,642.2000000000775,642.19025,2015-01-01 01:47:05,bin6425,75, -CTSPillarNetworkA,6426,6426,6426,1987-08-06,642.3000000000775,642.2902,2015-01-01 01:47:06,bin6426,35, -CTSPillarNetworkA,6427,6427,6427,1987-08-07,642.4000000000775,642.3902,2015-01-01 01:47:07,bin6427,75, -CTSPillarNetworkA,6428,6428,6428,1987-08-08,642.5000000000775,642.4902,2015-01-01 01:47:08,bin6428,35, -CTSPillarNetworkA,6429,6429,6429,1987-08-09,642.6000000000776,642.59015,2015-01-01 01:47:09,bin6429,75, -CTSPillarNetworkA,6430,6430,6430,1987-08-10,642.7000000000776,642.6901,2015-01-01 01:47:10,bin6430,35, -CTSPillarNetworkA,6431,6431,6431,1987-08-11,642.8000000000776,642.7901,2015-01-01 01:47:11,bin6431,75, -CTSPillarNetworkA,6432,6432,6432,1987-08-12,642.9000000000776,642.8901,2015-01-01 01:47:12,bin6432,35, -CTSPillarNetworkA,6433,6433,6433,1987-08-13,643.0000000000776,642.99005,2015-01-01 01:47:13,bin6433,75, -CTSPillarNetworkA,6434,6434,6434,1987-08-14,643.1000000000777,643.09,2015-01-01 01:47:14,bin6434,35, -CTSPillarNetworkA,6435,6435,6435,1987-08-15,643.2000000000777,643.19,2015-01-01 01:47:15,bin6435,75, -CTSPillarNetworkA,6436,6436,6436,1987-08-16,643.3000000000777,643.29,2015-01-01 01:47:16,bin6436,35, -CTSPillarNetworkA,6437,6437,6437,1987-08-17,643.4000000000777,643.38995,2015-01-01 01:47:17,bin6437,75, -CTSPillarNetworkA,6438,6438,6438,1987-08-18,643.5000000000778,643.4899,2015-01-01 01:47:18,bin6438,35, -CTSPillarNetworkA,6439,6439,6439,1987-08-19,643.6000000000778,643.5899,2015-01-01 01:47:19,bin6439,75, -CTSPillarNetworkA,6440,6440,6440,1987-08-20,643.7000000000778,643.6899,2015-01-01 01:47:20,bin6440,35, -CTSPillarNetworkA,6441,6441,6441,1987-08-21,643.8000000000778,643.78986,2015-01-01 01:47:21,bin6441,75, -CTSPillarNetworkA,6442,6442,6442,1987-08-22,643.9000000000779,643.88983,2015-01-01 01:47:22,bin6442,35, -CTSPillarNetworkA,6443,6443,6443,1987-08-23,644.0000000000779,643.9898,2015-01-01 01:47:23,bin6443,75, -CTSPillarNetworkA,6444,6444,6444,1987-08-24,644.1000000000779,644.0898,2015-01-01 01:47:24,bin6444,35, -CTSPillarNetworkA,6445,6445,6445,1987-08-25,644.2000000000779,644.18976,2015-01-01 01:47:25,bin6445,75, -CTSPillarNetworkA,6446,6446,6446,1987-08-26,644.300000000078,644.28973,2015-01-01 01:47:26,bin6446,35, -CTSPillarNetworkA,6447,6447,6447,1987-08-27,644.400000000078,644.3897,2015-01-01 01:47:27,bin6447,75, -CTSPillarNetworkA,6448,6448,6448,1987-08-28,644.500000000078,644.4897,2015-01-01 01:47:28,bin6448,35, -CTSPillarNetworkA,6449,6449,6449,1987-08-29,644.600000000078,644.58966,2015-01-01 01:47:29,bin6449,75, -CTSPillarNetworkA,6450,6450,6450,1987-08-30,644.700000000078,644.68964,2015-01-01 01:47:30,bin6450,35, -CTSPillarNetworkA,6451,6451,6451,1987-08-31,644.8000000000781,644.7896,2015-01-01 01:47:31,bin6451,75, -CTSPillarNetworkA,6452,6452,6452,1987-09-01,644.9000000000781,644.8896,2015-01-01 01:47:32,bin6452,35, -CTSPillarNetworkA,6453,6453,6453,1987-09-02,645.0000000000781,644.98956,2015-01-01 01:47:33,bin6453,75, -CTSPillarNetworkA,6454,6454,6454,1987-09-03,645.1000000000781,645.08954,2015-01-01 01:47:34,bin6454,35, -CTSPillarNetworkA,6455,6455,6455,1987-09-04,645.2000000000781,645.1895,2015-01-01 01:47:35,bin6455,75, -CTSPillarNetworkA,6456,6456,6456,1987-09-05,645.3000000000782,645.2895,2015-01-01 01:47:36,bin6456,35, -CTSPillarNetworkA,6457,6457,6457,1987-09-06,645.4000000000782,645.38947,2015-01-01 01:47:37,bin6457,75, -CTSPillarNetworkA,6458,6458,6458,1987-09-07,645.5000000000782,645.48944,2015-01-01 01:47:38,bin6458,35, -CTSPillarNetworkA,6459,6459,6459,1987-09-08,645.6000000000782,645.5894,2015-01-01 01:47:39,bin6459,75, -CTSPillarNetworkA,6460,6460,6460,1987-09-09,645.7000000000783,645.6894,2015-01-01 01:47:40,bin6460,35, -CTSPillarNetworkA,6461,6461,6461,1987-09-10,645.8000000000783,645.78937,2015-01-01 01:47:41,bin6461,75, -CTSPillarNetworkA,6462,6462,6462,1987-09-11,645.9000000000783,645.88934,2015-01-01 01:47:42,bin6462,35, -CTSPillarNetworkA,6463,6463,6463,1987-09-12,646.0000000000783,645.9893,2015-01-01 01:47:43,bin6463,75, -CTSPillarNetworkA,6464,6464,6464,1987-09-13,646.1000000000784,646.0893,2015-01-01 01:47:44,bin6464,35, -CTSPillarNetworkA,6465,6465,6465,1987-09-14,646.2000000000784,646.1893,2015-01-01 01:47:45,bin6465,75, -CTSPillarNetworkA,6466,6466,6466,1987-09-15,646.3000000000784,646.28925,2015-01-01 01:47:46,bin6466,35, -CTSPillarNetworkA,6467,6467,6467,1987-09-16,646.4000000000784,646.3892,2015-01-01 01:47:47,bin6467,75, -CTSPillarNetworkA,6468,6468,6468,1987-09-17,646.5000000000784,646.4892,2015-01-01 01:47:48,bin6468,35, -CTSPillarNetworkA,6469,6469,6469,1987-09-18,646.6000000000785,646.5892,2015-01-01 01:47:49,bin6469,75, -CTSPillarNetworkA,6470,6470,6470,1987-09-19,646.7000000000785,646.68915,2015-01-01 01:47:50,bin6470,35, -CTSPillarNetworkA,6471,6471,6471,1987-09-20,646.8000000000785,646.7891,2015-01-01 01:47:51,bin6471,75, -CTSPillarNetworkA,6472,6472,6472,1987-09-21,646.9000000000785,646.8891,2015-01-01 01:47:52,bin6472,35, -CTSPillarNetworkA,6473,6473,6473,1987-09-22,647.0000000000786,646.9891,2015-01-01 01:47:53,bin6473,75, -CTSPillarNetworkA,6474,6474,6474,1987-09-23,647.1000000000786,647.08905,2015-01-01 01:47:54,bin6474,35, -CTSPillarNetworkA,6475,6475,6475,1987-09-24,647.2000000000786,647.189,2015-01-01 01:47:55,bin6475,75, -CTSPillarNetworkA,6476,6476,6476,1987-09-25,647.3000000000786,647.289,2015-01-01 01:47:56,bin6476,35, -CTSPillarNetworkA,6477,6477,6477,1987-09-26,647.4000000000786,647.389,2015-01-01 01:47:57,bin6477,75, -CTSPillarNetworkA,6478,6478,6478,1987-09-27,647.5000000000787,647.48895,2015-01-01 01:47:58,bin6478,35, -CTSPillarNetworkA,6479,6479,6479,1987-09-28,647.6000000000787,647.5889,2015-01-01 01:47:59,bin6479,75, -CTSPillarNetworkA,6480,6480,6480,1987-09-29,647.7000000000787,647.6889,2015-01-01 01:48:00,bin6480,35, -CTSPillarNetworkA,6481,6481,6481,1987-09-30,647.8000000000787,647.7889,2015-01-01 01:48:01,bin6481,75, -CTSPillarNetworkA,6482,6482,6482,1987-10-01,647.9000000000788,647.88885,2015-01-01 01:48:02,bin6482,35, -CTSPillarNetworkA,6483,6483,6483,1987-10-02,648.0000000000788,647.98883,2015-01-01 01:48:03,bin6483,75, -CTSPillarNetworkA,6484,6484,6484,1987-10-03,648.1000000000788,648.0888,2015-01-01 01:48:04,bin6484,35, -CTSPillarNetworkA,6485,6485,6485,1987-10-04,648.2000000000788,648.1888,2015-01-01 01:48:05,bin6485,75, -CTSPillarNetworkA,6486,6486,6486,1987-10-05,648.3000000000789,648.28876,2015-01-01 01:48:06,bin6486,35, -CTSPillarNetworkA,6487,6487,6487,1987-10-06,648.4000000000789,648.38873,2015-01-01 01:48:07,bin6487,75, -CTSPillarNetworkA,6488,6488,6488,1987-10-07,648.5000000000789,648.4887,2015-01-01 01:48:08,bin6488,35, -CTSPillarNetworkA,6489,6489,6489,1987-10-08,648.6000000000789,648.5887,2015-01-01 01:48:09,bin6489,75, -CTSPillarNetworkA,6490,6490,6490,1987-10-09,648.700000000079,648.68866,2015-01-01 01:48:10,bin6490,35, -CTSPillarNetworkA,6491,6491,6491,1987-10-10,648.800000000079,648.78864,2015-01-01 01:48:11,bin6491,75, -CTSPillarNetworkA,6492,6492,6492,1987-10-11,648.900000000079,648.8886,2015-01-01 01:48:12,bin6492,35, -CTSPillarNetworkA,6493,6493,6493,1987-10-12,649.000000000079,648.9886,2015-01-01 01:48:13,bin6493,75, -CTSPillarNetworkA,6494,6494,6494,1987-10-13,649.100000000079,649.08856,2015-01-01 01:48:14,bin6494,35, -CTSPillarNetworkA,6495,6495,6495,1987-10-14,649.2000000000791,649.18854,2015-01-01 01:48:15,bin6495,75, -CTSPillarNetworkA,6496,6496,6496,1987-10-15,649.3000000000791,649.2885,2015-01-01 01:48:16,bin6496,35, -CTSPillarNetworkA,6497,6497,6497,1987-10-16,649.4000000000791,649.3885,2015-01-01 01:48:17,bin6497,75, -CTSPillarNetworkA,6498,6498,6498,1987-10-17,649.5000000000791,649.48846,2015-01-01 01:48:18,bin6498,35, -CTSPillarNetworkA,6499,6499,6499,1987-10-18,649.6000000000791,649.58844,2015-01-01 01:48:19,bin6499,75, -CTSPillarNetworkA,6500,6500,6500,1987-10-19,649.7000000000792,649.6884,2015-01-01 01:48:20,bin6500,35, -CTSPillarNetworkA,6501,6501,6501,1987-10-20,649.8000000000792,649.7884,2015-01-01 01:48:21,bin6501,75, -CTSPillarNetworkA,6502,6502,6502,1987-10-21,649.9000000000792,649.88837,2015-01-01 01:48:22,bin6502,35, -CTSPillarNetworkA,6503,6503,6503,1987-10-22,650.0000000000792,649.98834,2015-01-01 01:48:23,bin6503,75, -CTSPillarNetworkA,6504,6504,6504,1987-10-23,650.1000000000793,650.0883,2015-01-01 01:48:24,bin6504,35, -CTSPillarNetworkA,6505,6505,6505,1987-10-24,650.2000000000793,650.1883,2015-01-01 01:48:25,bin6505,75, -CTSPillarNetworkA,6506,6506,6506,1987-10-25,650.3000000000793,650.28827,2015-01-01 01:48:26,bin6506,35, -CTSPillarNetworkA,6507,6507,6507,1987-10-26,650.4000000000793,650.38824,2015-01-01 01:48:27,bin6507,75, -CTSPillarNetworkA,6508,6508,6508,1987-10-27,650.5000000000794,650.4882,2015-01-01 01:48:28,bin6508,35, -CTSPillarNetworkA,6509,6509,6509,1987-10-28,650.6000000000794,650.5882,2015-01-01 01:48:29,bin6509,75, -CTSPillarNetworkA,6510,6510,6510,1987-10-29,650.7000000000794,650.6882,2015-01-01 01:48:30,bin6510,35, -CTSPillarNetworkA,6511,6511,6511,1987-10-30,650.8000000000794,650.78815,2015-01-01 01:48:31,bin6511,75, -CTSPillarNetworkA,6512,6512,6512,1987-10-31,650.9000000000794,650.8881,2015-01-01 01:48:32,bin6512,35, -CTSPillarNetworkA,6513,6513,6513,1987-11-01,651.0000000000795,650.9881,2015-01-01 01:48:33,bin6513,75, -CTSPillarNetworkA,6514,6514,6514,1987-11-02,651.1000000000795,651.0881,2015-01-01 01:48:34,bin6514,35, -CTSPillarNetworkA,6515,6515,6515,1987-11-03,651.2000000000795,651.18805,2015-01-01 01:48:35,bin6515,75, -CTSPillarNetworkA,6516,6516,6516,1987-11-04,651.3000000000795,651.288,2015-01-01 01:48:36,bin6516,35, -CTSPillarNetworkA,6517,6517,6517,1987-11-05,651.4000000000796,651.388,2015-01-01 01:48:37,bin6517,75, -CTSPillarNetworkA,6518,6518,6518,1987-11-06,651.5000000000796,651.488,2015-01-01 01:48:38,bin6518,35, -CTSPillarNetworkA,6519,6519,6519,1987-11-07,651.6000000000796,651.58795,2015-01-01 01:48:39,bin6519,75, -CTSPillarNetworkA,6520,6520,6520,1987-11-08,651.7000000000796,651.6879,2015-01-01 01:48:40,bin6520,35, -CTSPillarNetworkA,6521,6521,6521,1987-11-09,651.8000000000796,651.7879,2015-01-01 01:48:41,bin6521,75, -CTSPillarNetworkA,6522,6522,6522,1987-11-10,651.9000000000797,651.8879,2015-01-01 01:48:42,bin6522,35, -CTSPillarNetworkA,6523,6523,6523,1987-11-11,652.0000000000797,651.98785,2015-01-01 01:48:43,bin6523,75, -CTSPillarNetworkA,6524,6524,6524,1987-11-12,652.1000000000797,652.0878,2015-01-01 01:48:44,bin6524,35, -CTSPillarNetworkA,6525,6525,6525,1987-11-13,652.2000000000797,652.1878,2015-01-01 01:48:45,bin6525,75, -CTSPillarNetworkA,6526,6526,6526,1987-11-14,652.3000000000798,652.2878,2015-01-01 01:48:46,bin6526,35, -CTSPillarNetworkA,6527,6527,6527,1987-11-15,652.4000000000798,652.38776,2015-01-01 01:48:47,bin6527,75, -CTSPillarNetworkA,6528,6528,6528,1987-11-16,652.5000000000798,652.48773,2015-01-01 01:48:48,bin6528,35, -CTSPillarNetworkA,6529,6529,6529,1987-11-17,652.6000000000798,652.5877,2015-01-01 01:48:49,bin6529,75, -CTSPillarNetworkA,6530,6530,6530,1987-11-18,652.7000000000799,652.6877,2015-01-01 01:48:50,bin6530,35, -CTSPillarNetworkA,6531,6531,6531,1987-11-19,652.8000000000799,652.78766,2015-01-01 01:48:51,bin6531,75, -CTSPillarNetworkA,6532,6532,6532,1987-11-20,652.9000000000799,652.88763,2015-01-01 01:48:52,bin6532,35, -CTSPillarNetworkA,6533,6533,6533,1987-11-21,653.0000000000799,652.9876,2015-01-01 01:48:53,bin6533,75, -CTSPillarNetworkA,6534,6534,6534,1987-11-22,653.10000000008,653.0876,2015-01-01 01:48:54,bin6534,35, -CTSPillarNetworkA,6535,6535,6535,1987-11-23,653.20000000008,653.18756,2015-01-01 01:48:55,bin6535,75, -CTSPillarNetworkA,6536,6536,6536,1987-11-24,653.30000000008,653.28754,2015-01-01 01:48:56,bin6536,35, -CTSPillarNetworkA,6537,6537,6537,1987-11-25,653.40000000008,653.3875,2015-01-01 01:48:57,bin6537,75, -CTSPillarNetworkA,6538,6538,6538,1987-11-26,653.50000000008,653.4875,2015-01-01 01:48:58,bin6538,35, -CTSPillarNetworkA,6539,6539,6539,1987-11-27,653.6000000000801,653.58746,2015-01-01 01:48:59,bin6539,75, -CTSPillarNetworkA,6540,6540,6540,1987-11-28,653.7000000000801,653.68744,2015-01-01 01:49:00,bin6540,35, -CTSPillarNetworkA,6541,6541,6541,1987-11-29,653.8000000000801,653.7874,2015-01-01 01:49:01,bin6541,75, -CTSPillarNetworkA,6542,6542,6542,1987-11-30,653.9000000000801,653.8874,2015-01-01 01:49:02,bin6542,35, -CTSPillarNetworkA,6543,6543,6543,1987-12-01,654.0000000000801,653.98737,2015-01-01 01:49:03,bin6543,75, -CTSPillarNetworkA,6544,6544,6544,1987-12-02,654.1000000000802,654.08734,2015-01-01 01:49:04,bin6544,35, -CTSPillarNetworkA,6545,6545,6545,1987-12-03,654.2000000000802,654.1873,2015-01-01 01:49:05,bin6545,75, -CTSPillarNetworkA,6546,6546,6546,1987-12-04,654.3000000000802,654.2873,2015-01-01 01:49:06,bin6546,35, -CTSPillarNetworkA,6547,6547,6547,1987-12-05,654.4000000000802,654.38727,2015-01-01 01:49:07,bin6547,75, -CTSPillarNetworkA,6548,6548,6548,1987-12-06,654.5000000000803,654.48724,2015-01-01 01:49:08,bin6548,35, -CTSPillarNetworkA,6549,6549,6549,1987-12-07,654.6000000000803,654.5872,2015-01-01 01:49:09,bin6549,75, -CTSPillarNetworkA,6550,6550,6550,1987-12-08,654.7000000000803,654.6872,2015-01-01 01:49:10,bin6550,35, -CTSPillarNetworkA,6551,6551,6551,1987-12-09,654.8000000000803,654.7872,2015-01-01 01:49:11,bin6551,75, -CTSPillarNetworkA,6552,6552,6552,1987-12-10,654.9000000000804,654.88715,2015-01-01 01:49:12,bin6552,35, -CTSPillarNetworkA,6553,6553,6553,1987-12-11,655.0000000000804,654.9871,2015-01-01 01:49:13,bin6553,75, -CTSPillarNetworkA,6554,6554,6554,1987-12-12,655.1000000000804,655.0871,2015-01-01 01:49:14,bin6554,35, -CTSPillarNetworkA,6555,6555,6555,1987-12-13,655.2000000000804,655.1871,2015-01-01 01:49:15,bin6555,75, -CTSPillarNetworkA,6556,6556,6556,1987-12-14,655.3000000000804,655.28705,2015-01-01 01:49:16,bin6556,35, -CTSPillarNetworkA,6557,6557,6557,1987-12-15,655.4000000000805,655.387,2015-01-01 01:49:17,bin6557,75, -CTSPillarNetworkA,6558,6558,6558,1987-12-16,655.5000000000805,655.487,2015-01-01 01:49:18,bin6558,35, -CTSPillarNetworkA,6559,6559,6559,1987-12-17,655.6000000000805,655.587,2015-01-01 01:49:19,bin6559,75, -CTSPillarNetworkA,6560,6560,6560,1987-12-18,655.7000000000805,655.68695,2015-01-01 01:49:20,bin6560,35, -CTSPillarNetworkA,6561,6561,6561,1987-12-19,655.8000000000806,655.7869,2015-01-01 01:49:21,bin6561,75, -CTSPillarNetworkA,6562,6562,6562,1987-12-20,655.9000000000806,655.8869,2015-01-01 01:49:22,bin6562,35, -CTSPillarNetworkA,6563,6563,6563,1987-12-21,656.0000000000806,655.9869,2015-01-01 01:49:23,bin6563,75, -CTSPillarNetworkA,6564,6564,6564,1987-12-22,656.1000000000806,656.08685,2015-01-01 01:49:24,bin6564,35, -CTSPillarNetworkA,6565,6565,6565,1987-12-23,656.2000000000806,656.1868,2015-01-01 01:49:25,bin6565,75, -CTSPillarNetworkA,6566,6566,6566,1987-12-24,656.3000000000807,656.2868,2015-01-01 01:49:26,bin6566,35, -CTSPillarNetworkA,6567,6567,6567,1987-12-25,656.4000000000807,656.3868,2015-01-01 01:49:27,bin6567,75, -CTSPillarNetworkA,6568,6568,6568,1987-12-26,656.5000000000807,656.48676,2015-01-01 01:49:28,bin6568,35, -CTSPillarNetworkA,6569,6569,6569,1987-12-27,656.6000000000807,656.58673,2015-01-01 01:49:29,bin6569,75, -CTSPillarNetworkA,6570,6570,6570,1987-12-28,656.7000000000808,656.6867,2015-01-01 01:49:30,bin6570,35, -CTSPillarNetworkA,6571,6571,6571,1987-12-29,656.8000000000808,656.7867,2015-01-01 01:49:31,bin6571,75, -CTSPillarNetworkA,6572,6572,6572,1987-12-30,656.9000000000808,656.88666,2015-01-01 01:49:32,bin6572,35, -CTSPillarNetworkA,6573,6573,6573,1987-12-31,657.0000000000808,656.98663,2015-01-01 01:49:33,bin6573,75, -CTSPillarNetworkA,6574,6574,6574,1988-01-01,657.1000000000809,657.0866,2015-01-01 01:49:34,bin6574,35, -CTSPillarNetworkA,6575,6575,6575,1988-01-02,657.2000000000809,657.1866,2015-01-01 01:49:35,bin6575,75, -CTSPillarNetworkA,6576,6576,6576,1988-01-03,657.3000000000809,657.28656,2015-01-01 01:49:36,bin6576,35, -CTSPillarNetworkA,6577,6577,6577,1988-01-04,657.4000000000809,657.38654,2015-01-01 01:49:37,bin6577,75, -CTSPillarNetworkA,6578,6578,6578,1988-01-05,657.500000000081,657.4865,2015-01-01 01:49:38,bin6578,35, -CTSPillarNetworkA,6579,6579,6579,1988-01-06,657.600000000081,657.5865,2015-01-01 01:49:39,bin6579,75, -CTSPillarNetworkA,6580,6580,6580,1988-01-07,657.700000000081,657.68646,2015-01-01 01:49:40,bin6580,35, -CTSPillarNetworkA,6581,6581,6581,1988-01-08,657.800000000081,657.78644,2015-01-01 01:49:41,bin6581,75, -CTSPillarNetworkA,6582,6582,6582,1988-01-09,657.900000000081,657.8864,2015-01-01 01:49:42,bin6582,35, -CTSPillarNetworkA,6583,6583,6583,1988-01-10,658.0000000000811,657.9864,2015-01-01 01:49:43,bin6583,75, -CTSPillarNetworkA,6584,6584,6584,1988-01-11,658.1000000000811,658.08636,2015-01-01 01:49:44,bin6584,35, -CTSPillarNetworkA,6585,6585,6585,1988-01-12,658.2000000000811,658.18634,2015-01-01 01:49:45,bin6585,75, -CTSPillarNetworkA,6586,6586,6586,1988-01-13,658.3000000000811,658.2863,2015-01-01 01:49:46,bin6586,35, -CTSPillarNetworkA,6587,6587,6587,1988-01-14,658.4000000000811,658.3863,2015-01-01 01:49:47,bin6587,75, -CTSPillarNetworkA,6588,6588,6588,1988-01-15,658.5000000000812,658.48627,2015-01-01 01:49:48,bin6588,35, -CTSPillarNetworkA,6589,6589,6589,1988-01-16,658.6000000000812,658.58624,2015-01-01 01:49:49,bin6589,75, -CTSPillarNetworkA,6590,6590,6590,1988-01-17,658.7000000000812,658.6862,2015-01-01 01:49:50,bin6590,35, -CTSPillarNetworkA,6591,6591,6591,1988-01-18,658.8000000000812,658.7862,2015-01-01 01:49:51,bin6591,75, -CTSPillarNetworkA,6592,6592,6592,1988-01-19,658.9000000000813,658.88617,2015-01-01 01:49:52,bin6592,35, -CTSPillarNetworkA,6593,6593,6593,1988-01-20,659.0000000000813,658.98615,2015-01-01 01:49:53,bin6593,75, -CTSPillarNetworkA,6594,6594,6594,1988-01-21,659.1000000000813,659.0861,2015-01-01 01:49:54,bin6594,35, -CTSPillarNetworkA,6595,6595,6595,1988-01-22,659.2000000000813,659.1861,2015-01-01 01:49:55,bin6595,75, -CTSPillarNetworkA,6596,6596,6596,1988-01-23,659.3000000000814,659.2861,2015-01-01 01:49:56,bin6596,35, -CTSPillarNetworkA,6597,6597,6597,1988-01-24,659.4000000000814,659.38605,2015-01-01 01:49:57,bin6597,75, -CTSPillarNetworkA,6598,6598,6598,1988-01-25,659.5000000000814,659.486,2015-01-01 01:49:58,bin6598,35, -CTSPillarNetworkA,6599,6599,6599,1988-01-26,659.6000000000814,659.586,2015-01-01 01:49:59,bin6599,75, -CTSPillarNetworkA,6600,6600,6600,1988-01-27,659.7000000000814,659.686,2015-01-01 01:50:00,bin6600,35, -CTSPillarNetworkA,6601,6601,6601,1988-01-28,659.8000000000815,659.78595,2015-01-01 01:50:01,bin6601,75, -CTSPillarNetworkA,6602,6602,6602,1988-01-29,659.9000000000815,659.8859,2015-01-01 01:50:02,bin6602,35, -CTSPillarNetworkA,6603,6603,6603,1988-01-30,660.0000000000815,659.9859,2015-01-01 01:50:03,bin6603,75, -CTSPillarNetworkA,6604,6604,6604,1988-01-31,660.1000000000815,660.0859,2015-01-01 01:50:04,bin6604,35, -CTSPillarNetworkA,6605,6605,6605,1988-02-01,660.2000000000816,660.18585,2015-01-01 01:50:05,bin6605,75, -CTSPillarNetworkA,6606,6606,6606,1988-02-02,660.3000000000816,660.2858,2015-01-01 01:50:06,bin6606,35, -CTSPillarNetworkA,6607,6607,6607,1988-02-03,660.4000000000816,660.3858,2015-01-01 01:50:07,bin6607,75, -CTSPillarNetworkA,6608,6608,6608,1988-02-04,660.5000000000816,660.4858,2015-01-01 01:50:08,bin6608,35, -CTSPillarNetworkA,6609,6609,6609,1988-02-05,660.6000000000816,660.58575,2015-01-01 01:50:09,bin6609,75, -CTSPillarNetworkA,6610,6610,6610,1988-02-06,660.7000000000817,660.6857,2015-01-01 01:50:10,bin6610,35, -CTSPillarNetworkA,6611,6611,6611,1988-02-07,660.8000000000817,660.7857,2015-01-01 01:50:11,bin6611,75, -CTSPillarNetworkA,6612,6612,6612,1988-02-08,660.9000000000817,660.8857,2015-01-01 01:50:12,bin6612,35, -CTSPillarNetworkA,6613,6613,6613,1988-02-09,661.0000000000817,660.98566,2015-01-01 01:50:13,bin6613,75, -CTSPillarNetworkA,6614,6614,6614,1988-02-10,661.1000000000818,661.08563,2015-01-01 01:50:14,bin6614,35, -CTSPillarNetworkA,6615,6615,6615,1988-02-11,661.2000000000818,661.1856,2015-01-01 01:50:15,bin6615,75, -CTSPillarNetworkA,6616,6616,6616,1988-02-12,661.3000000000818,661.2856,2015-01-01 01:50:16,bin6616,35, -CTSPillarNetworkA,6617,6617,6617,1988-02-13,661.4000000000818,661.38556,2015-01-01 01:50:17,bin6617,75, -CTSPillarNetworkA,6618,6618,6618,1988-02-14,661.5000000000819,661.48553,2015-01-01 01:50:18,bin6618,35, -CTSPillarNetworkA,6619,6619,6619,1988-02-15,661.6000000000819,661.5855,2015-01-01 01:50:19,bin6619,75, -CTSPillarNetworkA,6620,6620,6620,1988-02-16,661.7000000000819,661.6855,2015-01-01 01:50:20,bin6620,35, -CTSPillarNetworkA,6621,6621,6621,1988-02-17,661.8000000000819,661.78546,2015-01-01 01:50:21,bin6621,75, -CTSPillarNetworkA,6622,6622,6622,1988-02-18,661.900000000082,661.88544,2015-01-01 01:50:22,bin6622,35, -CTSPillarNetworkA,6623,6623,6623,1988-02-19,662.000000000082,661.9854,2015-01-01 01:50:23,bin6623,75, -CTSPillarNetworkA,6624,6624,6624,1988-02-20,662.100000000082,662.0854,2015-01-01 01:50:24,bin6624,35, -CTSPillarNetworkA,6625,6625,6625,1988-02-21,662.200000000082,662.18536,2015-01-01 01:50:25,bin6625,75, -CTSPillarNetworkA,6626,6626,6626,1988-02-22,662.300000000082,662.28534,2015-01-01 01:50:26,bin6626,35, -CTSPillarNetworkA,6627,6627,6627,1988-02-23,662.4000000000821,662.3853,2015-01-01 01:50:27,bin6627,75, -CTSPillarNetworkA,6628,6628,6628,1988-02-24,662.5000000000821,662.4853,2015-01-01 01:50:28,bin6628,35, -CTSPillarNetworkA,6629,6629,6629,1988-02-25,662.6000000000821,662.58527,2015-01-01 01:50:29,bin6629,75, -CTSPillarNetworkA,6630,6630,6630,1988-02-26,662.7000000000821,662.68524,2015-01-01 01:50:30,bin6630,35, -CTSPillarNetworkA,6631,6631,6631,1988-02-27,662.8000000000822,662.7852,2015-01-01 01:50:31,bin6631,75, -CTSPillarNetworkA,6632,6632,6632,1988-02-28,662.9000000000822,662.8852,2015-01-01 01:50:32,bin6632,35, -CTSPillarNetworkA,6633,6633,6633,1988-02-29,663.0000000000822,662.98517,2015-01-01 01:50:33,bin6633,75, -CTSPillarNetworkA,6634,6634,6634,1988-03-01,663.1000000000822,663.08514,2015-01-01 01:50:34,bin6634,35, -CTSPillarNetworkA,6635,6635,6635,1988-03-02,663.2000000000822,663.1851,2015-01-01 01:50:35,bin6635,75, -CTSPillarNetworkA,6636,6636,6636,1988-03-03,663.3000000000823,663.2851,2015-01-01 01:50:36,bin6636,35, -CTSPillarNetworkA,6637,6637,6637,1988-03-04,663.4000000000823,663.3851,2015-01-01 01:50:37,bin6637,75, -CTSPillarNetworkA,6638,6638,6638,1988-03-05,663.5000000000823,663.48505,2015-01-01 01:50:38,bin6638,35, -CTSPillarNetworkA,6639,6639,6639,1988-03-06,663.6000000000823,663.585,2015-01-01 01:50:39,bin6639,75, -CTSPillarNetworkA,6640,6640,6640,1988-03-07,663.7000000000824,663.685,2015-01-01 01:50:40,bin6640,35, -CTSPillarNetworkA,6641,6641,6641,1988-03-08,663.8000000000824,663.785,2015-01-01 01:50:41,bin6641,75, -CTSPillarNetworkA,6642,6642,6642,1988-03-09,663.9000000000824,663.88495,2015-01-01 01:50:42,bin6642,35, -CTSPillarNetworkA,6643,6643,6643,1988-03-10,664.0000000000824,663.9849,2015-01-01 01:50:43,bin6643,75, -CTSPillarNetworkA,6644,6644,6644,1988-03-11,664.1000000000824,664.0849,2015-01-01 01:50:44,bin6644,35, -CTSPillarNetworkA,6645,6645,6645,1988-03-12,664.2000000000825,664.1849,2015-01-01 01:50:45,bin6645,75, -CTSPillarNetworkA,6646,6646,6646,1988-03-13,664.3000000000825,664.28485,2015-01-01 01:50:46,bin6646,35, -CTSPillarNetworkA,6647,6647,6647,1988-03-14,664.4000000000825,664.3848,2015-01-01 01:50:47,bin6647,75, -CTSPillarNetworkA,6648,6648,6648,1988-03-15,664.5000000000825,664.4848,2015-01-01 01:50:48,bin6648,35, -CTSPillarNetworkA,6649,6649,6649,1988-03-16,664.6000000000826,664.5848,2015-01-01 01:50:49,bin6649,75, -CTSPillarNetworkA,6650,6650,6650,1988-03-17,664.7000000000826,664.68475,2015-01-01 01:50:50,bin6650,35, -CTSPillarNetworkA,6651,6651,6651,1988-03-18,664.8000000000826,664.7847,2015-01-01 01:50:51,bin6651,75, -CTSPillarNetworkA,6652,6652,6652,1988-03-19,664.9000000000826,664.8847,2015-01-01 01:50:52,bin6652,35, -CTSPillarNetworkA,6653,6653,6653,1988-03-20,665.0000000000827,664.9847,2015-01-01 01:50:53,bin6653,75, -CTSPillarNetworkA,6654,6654,6654,1988-03-21,665.1000000000827,665.08466,2015-01-01 01:50:54,bin6654,35, -CTSPillarNetworkA,6655,6655,6655,1988-03-22,665.2000000000827,665.18463,2015-01-01 01:50:55,bin6655,75, -CTSPillarNetworkA,6656,6656,6656,1988-03-23,665.3000000000827,665.2846,2015-01-01 01:50:56,bin6656,35, -CTSPillarNetworkA,6657,6657,6657,1988-03-24,665.4000000000827,665.3846,2015-01-01 01:50:57,bin6657,75, -CTSPillarNetworkA,6658,6658,6658,1988-03-25,665.5000000000828,665.48456,2015-01-01 01:50:58,bin6658,35, -CTSPillarNetworkA,6659,6659,6659,1988-03-26,665.6000000000828,665.58453,2015-01-01 01:50:59,bin6659,75, -CTSPillarNetworkA,6660,6660,6660,1988-03-27,665.7000000000828,665.6845,2015-01-01 01:51:00,bin6660,35, -CTSPillarNetworkA,6661,6661,6661,1988-03-28,665.8000000000828,665.7845,2015-01-01 01:51:01,bin6661,75, -CTSPillarNetworkA,6662,6662,6662,1988-03-29,665.9000000000829,665.88446,2015-01-01 01:51:02,bin6662,35, -CTSPillarNetworkA,6663,6663,6663,1988-03-30,666.0000000000829,665.98444,2015-01-01 01:51:03,bin6663,75, -CTSPillarNetworkA,6664,6664,6664,1988-03-31,666.1000000000829,666.0844,2015-01-01 01:51:04,bin6664,35, -CTSPillarNetworkA,6665,6665,6665,1988-04-01,666.2000000000829,666.1844,2015-01-01 01:51:05,bin6665,75, -CTSPillarNetworkA,6666,6666,6666,1988-04-02,666.300000000083,666.28436,2015-01-01 01:51:06,bin6666,35, -CTSPillarNetworkA,6667,6667,6667,1988-04-03,666.400000000083,666.38434,2015-01-01 01:51:07,bin6667,75, -CTSPillarNetworkA,6668,6668,6668,1988-04-04,666.500000000083,666.4843,2015-01-01 01:51:08,bin6668,35, -CTSPillarNetworkA,6669,6669,6669,1988-04-05,666.600000000083,666.5843,2015-01-01 01:51:09,bin6669,75, -CTSPillarNetworkA,6670,6670,6670,1988-04-06,666.700000000083,666.68427,2015-01-01 01:51:10,bin6670,35, -CTSPillarNetworkA,6671,6671,6671,1988-04-07,666.8000000000831,666.78424,2015-01-01 01:51:11,bin6671,75, -CTSPillarNetworkA,6672,6672,6672,1988-04-08,666.9000000000831,666.8842,2015-01-01 01:51:12,bin6672,35, -CTSPillarNetworkA,6673,6673,6673,1988-04-09,667.0000000000831,666.9842,2015-01-01 01:51:13,bin6673,75, -CTSPillarNetworkA,6674,6674,6674,1988-04-10,667.1000000000831,667.08417,2015-01-01 01:51:14,bin6674,35, -CTSPillarNetworkA,6675,6675,6675,1988-04-11,667.2000000000832,667.18414,2015-01-01 01:51:15,bin6675,75, -CTSPillarNetworkA,6676,6676,6676,1988-04-12,667.3000000000832,667.2841,2015-01-01 01:51:16,bin6676,35, -CTSPillarNetworkA,6677,6677,6677,1988-04-13,667.4000000000832,667.3841,2015-01-01 01:51:17,bin6677,75, -CTSPillarNetworkA,6678,6678,6678,1988-04-14,667.5000000000832,667.4841,2015-01-01 01:51:18,bin6678,35, -CTSPillarNetworkA,6679,6679,6679,1988-04-15,667.6000000000832,667.58405,2015-01-01 01:51:19,bin6679,75, -CTSPillarNetworkA,6680,6680,6680,1988-04-16,667.7000000000833,667.684,2015-01-01 01:51:20,bin6680,35, -CTSPillarNetworkA,6681,6681,6681,1988-04-17,667.8000000000833,667.784,2015-01-01 01:51:21,bin6681,75, -CTSPillarNetworkA,6682,6682,6682,1988-04-18,667.9000000000833,667.884,2015-01-01 01:51:22,bin6682,35, -CTSPillarNetworkA,6683,6683,6683,1988-04-19,668.0000000000833,667.98395,2015-01-01 01:51:23,bin6683,75, -CTSPillarNetworkA,6684,6684,6684,1988-04-20,668.1000000000834,668.0839,2015-01-01 01:51:24,bin6684,35, -CTSPillarNetworkA,6685,6685,6685,1988-04-21,668.2000000000834,668.1839,2015-01-01 01:51:25,bin6685,75, -CTSPillarNetworkA,6686,6686,6686,1988-04-22,668.3000000000834,668.2839,2015-01-01 01:51:26,bin6686,35, -CTSPillarNetworkA,6687,6687,6687,1988-04-23,668.4000000000834,668.38385,2015-01-01 01:51:27,bin6687,75, -CTSPillarNetworkA,6688,6688,6688,1988-04-24,668.5000000000834,668.4838,2015-01-01 01:51:28,bin6688,35, -CTSPillarNetworkA,6689,6689,6689,1988-04-25,668.6000000000835,668.5838,2015-01-01 01:51:29,bin6689,75, -CTSPillarNetworkA,6690,6690,6690,1988-04-26,668.7000000000835,668.6838,2015-01-01 01:51:30,bin6690,35, -CTSPillarNetworkA,6691,6691,6691,1988-04-27,668.8000000000835,668.78375,2015-01-01 01:51:31,bin6691,75, -CTSPillarNetworkA,6692,6692,6692,1988-04-28,668.9000000000835,668.8837,2015-01-01 01:51:32,bin6692,35, -CTSPillarNetworkA,6693,6693,6693,1988-04-29,669.0000000000836,668.9837,2015-01-01 01:51:33,bin6693,75, -CTSPillarNetworkA,6694,6694,6694,1988-04-30,669.1000000000836,669.0837,2015-01-01 01:51:34,bin6694,35, -CTSPillarNetworkA,6695,6695,6695,1988-05-01,669.2000000000836,669.18365,2015-01-01 01:51:35,bin6695,75, -CTSPillarNetworkA,6696,6696,6696,1988-05-02,669.3000000000836,669.2836,2015-01-01 01:51:36,bin6696,35, -CTSPillarNetworkA,6697,6697,6697,1988-05-03,669.4000000000837,669.3836,2015-01-01 01:51:37,bin6697,75, -CTSPillarNetworkA,6698,6698,6698,1988-05-04,669.5000000000837,669.4836,2015-01-01 01:51:38,bin6698,35, -CTSPillarNetworkA,6699,6699,6699,1988-05-05,669.6000000000837,669.58356,2015-01-01 01:51:39,bin6699,75, -CTSPillarNetworkA,6700,6700,6700,1988-05-06,669.7000000000837,669.68353,2015-01-01 01:51:40,bin6700,35, -CTSPillarNetworkA,6701,6701,6701,1988-05-07,669.8000000000837,669.7835,2015-01-01 01:51:41,bin6701,75, -CTSPillarNetworkA,6702,6702,6702,1988-05-08,669.9000000000838,669.8835,2015-01-01 01:51:42,bin6702,35, -CTSPillarNetworkA,6703,6703,6703,1988-05-09,670.0000000000838,669.98346,2015-01-01 01:51:43,bin6703,75, -CTSPillarNetworkA,6704,6704,6704,1988-05-10,670.1000000000838,670.08344,2015-01-01 01:51:44,bin6704,35, -CTSPillarNetworkA,6705,6705,6705,1988-05-11,670.2000000000838,670.1834,2015-01-01 01:51:45,bin6705,75, -CTSPillarNetworkA,6706,6706,6706,1988-05-12,670.3000000000839,670.2834,2015-01-01 01:51:46,bin6706,35, -CTSPillarNetworkA,6707,6707,6707,1988-05-13,670.4000000000839,670.38336,2015-01-01 01:51:47,bin6707,75, -CTSPillarNetworkA,6708,6708,6708,1988-05-14,670.5000000000839,670.48334,2015-01-01 01:51:48,bin6708,35, -CTSPillarNetworkA,6709,6709,6709,1988-05-15,670.6000000000839,670.5833,2015-01-01 01:51:49,bin6709,75, -CTSPillarNetworkA,6710,6710,6710,1988-05-16,670.700000000084,670.6833,2015-01-01 01:51:50,bin6710,35, -CTSPillarNetworkA,6711,6711,6711,1988-05-17,670.800000000084,670.78326,2015-01-01 01:51:51,bin6711,75, -CTSPillarNetworkA,6712,6712,6712,1988-05-18,670.900000000084,670.88324,2015-01-01 01:51:52,bin6712,35, -CTSPillarNetworkA,6713,6713,6713,1988-05-19,671.000000000084,670.9832,2015-01-01 01:51:53,bin6713,75, -CTSPillarNetworkA,6714,6714,6714,1988-05-20,671.100000000084,671.0832,2015-01-01 01:51:54,bin6714,35, -CTSPillarNetworkA,6715,6715,6715,1988-05-21,671.2000000000841,671.18317,2015-01-01 01:51:55,bin6715,75, -CTSPillarNetworkA,6716,6716,6716,1988-05-22,671.3000000000841,671.28314,2015-01-01 01:51:56,bin6716,35, -CTSPillarNetworkA,6717,6717,6717,1988-05-23,671.4000000000841,671.3831,2015-01-01 01:51:57,bin6717,75, -CTSPillarNetworkA,6718,6718,6718,1988-05-24,671.5000000000841,671.4831,2015-01-01 01:51:58,bin6718,35, -CTSPillarNetworkA,6719,6719,6719,1988-05-25,671.6000000000842,671.58307,2015-01-01 01:51:59,bin6719,75, -CTSPillarNetworkA,6720,6720,6720,1988-05-26,671.7000000000842,671.68304,2015-01-01 01:52:00,bin6720,35, -CTSPillarNetworkA,6721,6721,6721,1988-05-27,671.8000000000842,671.783,2015-01-01 01:52:01,bin6721,75, -CTSPillarNetworkA,6722,6722,6722,1988-05-28,671.9000000000842,671.883,2015-01-01 01:52:02,bin6722,35, -CTSPillarNetworkA,6723,6723,6723,1988-05-29,672.0000000000842,671.983,2015-01-01 01:52:03,bin6723,75, -CTSPillarNetworkA,6724,6724,6724,1988-05-30,672.1000000000843,672.08295,2015-01-01 01:52:04,bin6724,35, -CTSPillarNetworkA,6725,6725,6725,1988-05-31,672.2000000000843,672.1829,2015-01-01 01:52:05,bin6725,75, -CTSPillarNetworkA,6726,6726,6726,1988-06-01,672.3000000000843,672.2829,2015-01-01 01:52:06,bin6726,35, -CTSPillarNetworkA,6727,6727,6727,1988-06-02,672.4000000000843,672.3829,2015-01-01 01:52:07,bin6727,75, -CTSPillarNetworkA,6728,6728,6728,1988-06-03,672.5000000000844,672.48285,2015-01-01 01:52:08,bin6728,35, -CTSPillarNetworkA,6729,6729,6729,1988-06-04,672.6000000000844,672.5828,2015-01-01 01:52:09,bin6729,75, -CTSPillarNetworkA,6730,6730,6730,1988-06-05,672.7000000000844,672.6828,2015-01-01 01:52:10,bin6730,35, -CTSPillarNetworkA,6731,6731,6731,1988-06-06,672.8000000000844,672.7828,2015-01-01 01:52:11,bin6731,75, -CTSPillarNetworkA,6732,6732,6732,1988-06-07,672.9000000000844,672.88275,2015-01-01 01:52:12,bin6732,35, -CTSPillarNetworkA,6733,6733,6733,1988-06-08,673.0000000000845,672.9827,2015-01-01 01:52:13,bin6733,75, -CTSPillarNetworkA,6734,6734,6734,1988-06-09,673.1000000000845,673.0827,2015-01-01 01:52:14,bin6734,35, -CTSPillarNetworkA,6735,6735,6735,1988-06-10,673.2000000000845,673.1827,2015-01-01 01:52:15,bin6735,75, -CTSPillarNetworkA,6736,6736,6736,1988-06-11,673.3000000000845,673.28265,2015-01-01 01:52:16,bin6736,35, -CTSPillarNetworkA,6737,6737,6737,1988-06-12,673.4000000000846,673.3826,2015-01-01 01:52:17,bin6737,75, -CTSPillarNetworkA,6738,6738,6738,1988-06-13,673.5000000000846,673.4826,2015-01-01 01:52:18,bin6738,35, -CTSPillarNetworkA,6739,6739,6739,1988-06-14,673.6000000000846,673.5826,2015-01-01 01:52:19,bin6739,75, -CTSPillarNetworkA,6740,6740,6740,1988-06-15,673.7000000000846,673.68256,2015-01-01 01:52:20,bin6740,35, -CTSPillarNetworkA,6741,6741,6741,1988-06-16,673.8000000000847,673.78253,2015-01-01 01:52:21,bin6741,75, -CTSPillarNetworkA,6742,6742,6742,1988-06-17,673.9000000000847,673.8825,2015-01-01 01:52:22,bin6742,35, -CTSPillarNetworkA,6743,6743,6743,1988-06-18,674.0000000000847,673.9825,2015-01-01 01:52:23,bin6743,75, -CTSPillarNetworkA,6744,6744,6744,1988-06-19,674.1000000000847,674.08246,2015-01-01 01:52:24,bin6744,35, -CTSPillarNetworkA,6745,6745,6745,1988-06-20,674.2000000000847,674.18243,2015-01-01 01:52:25,bin6745,75, -CTSPillarNetworkA,6746,6746,6746,1988-06-21,674.3000000000848,674.2824,2015-01-01 01:52:26,bin6746,35, -CTSPillarNetworkA,6747,6747,6747,1988-06-22,674.4000000000848,674.3824,2015-01-01 01:52:27,bin6747,75, -CTSPillarNetworkA,6748,6748,6748,1988-06-23,674.5000000000848,674.48236,2015-01-01 01:52:28,bin6748,35, -CTSPillarNetworkA,6749,6749,6749,1988-06-24,674.6000000000848,674.58234,2015-01-01 01:52:29,bin6749,75, -CTSPillarNetworkA,6750,6750,6750,1988-06-25,674.7000000000849,674.6823,2015-01-01 01:52:30,bin6750,35, -CTSPillarNetworkA,6751,6751,6751,1988-06-26,674.8000000000849,674.7823,2015-01-01 01:52:31,bin6751,75, -CTSPillarNetworkA,6752,6752,6752,1988-06-27,674.9000000000849,674.88226,2015-01-01 01:52:32,bin6752,35, -CTSPillarNetworkA,6753,6753,6753,1988-06-28,675.0000000000849,674.98224,2015-01-01 01:52:33,bin6753,75, -CTSPillarNetworkA,6754,6754,6754,1988-06-29,675.100000000085,675.0822,2015-01-01 01:52:34,bin6754,35, -CTSPillarNetworkA,6755,6755,6755,1988-06-30,675.200000000085,675.1822,2015-01-01 01:52:35,bin6755,75, -CTSPillarNetworkA,6756,6756,6756,1988-07-01,675.300000000085,675.28217,2015-01-01 01:52:36,bin6756,35, -CTSPillarNetworkA,6757,6757,6757,1988-07-02,675.400000000085,675.38214,2015-01-01 01:52:37,bin6757,75, -CTSPillarNetworkA,6758,6758,6758,1988-07-03,675.500000000085,675.4821,2015-01-01 01:52:38,bin6758,35, -CTSPillarNetworkA,6759,6759,6759,1988-07-04,675.6000000000851,675.5821,2015-01-01 01:52:39,bin6759,75, -CTSPillarNetworkA,6760,6760,6760,1988-07-05,675.7000000000851,675.68207,2015-01-01 01:52:40,bin6760,35, -CTSPillarNetworkA,6761,6761,6761,1988-07-06,675.8000000000851,675.78204,2015-01-01 01:52:41,bin6761,75, -CTSPillarNetworkA,6762,6762,6762,1988-07-07,675.9000000000851,675.882,2015-01-01 01:52:42,bin6762,35, -CTSPillarNetworkA,6763,6763,6763,1988-07-08,676.0000000000852,675.982,2015-01-01 01:52:43,bin6763,75, -CTSPillarNetworkA,6764,6764,6764,1988-07-09,676.1000000000852,676.082,2015-01-01 01:52:44,bin6764,35, -CTSPillarNetworkA,6765,6765,6765,1988-07-10,676.2000000000852,676.18195,2015-01-01 01:52:45,bin6765,75, -CTSPillarNetworkA,6766,6766,6766,1988-07-11,676.3000000000852,676.2819,2015-01-01 01:52:46,bin6766,35, -CTSPillarNetworkA,6767,6767,6767,1988-07-12,676.4000000000852,676.3819,2015-01-01 01:52:47,bin6767,75, -CTSPillarNetworkA,6768,6768,6768,1988-07-13,676.5000000000853,676.4819,2015-01-01 01:52:48,bin6768,35, -CTSPillarNetworkA,6769,6769,6769,1988-07-14,676.6000000000853,676.58185,2015-01-01 01:52:49,bin6769,75, -CTSPillarNetworkA,6770,6770,6770,1988-07-15,676.7000000000853,676.6818,2015-01-01 01:52:50,bin6770,35, -CTSPillarNetworkA,6771,6771,6771,1988-07-16,676.8000000000853,676.7818,2015-01-01 01:52:51,bin6771,75, -CTSPillarNetworkA,6772,6772,6772,1988-07-17,676.9000000000854,676.8818,2015-01-01 01:52:52,bin6772,35, -CTSPillarNetworkA,6773,6773,6773,1988-07-18,677.0000000000854,676.98175,2015-01-01 01:52:53,bin6773,75, -CTSPillarNetworkA,6774,6774,6774,1988-07-19,677.1000000000854,677.0817,2015-01-01 01:52:54,bin6774,35, -CTSPillarNetworkA,6775,6775,6775,1988-07-20,677.2000000000854,677.1817,2015-01-01 01:52:55,bin6775,75, -CTSPillarNetworkA,6776,6776,6776,1988-07-21,677.3000000000854,677.2817,2015-01-01 01:52:56,bin6776,35, -CTSPillarNetworkA,6777,6777,6777,1988-07-22,677.4000000000855,677.38165,2015-01-01 01:52:57,bin6777,75, -CTSPillarNetworkA,6778,6778,6778,1988-07-23,677.5000000000855,677.4816,2015-01-01 01:52:58,bin6778,35, -CTSPillarNetworkA,6779,6779,6779,1988-07-24,677.6000000000855,677.5816,2015-01-01 01:52:59,bin6779,75, -CTSPillarNetworkA,6780,6780,6780,1988-07-25,677.7000000000855,677.6816,2015-01-01 01:53:00,bin6780,35, -CTSPillarNetworkA,6781,6781,6781,1988-07-26,677.8000000000856,677.78156,2015-01-01 01:53:01,bin6781,75, -CTSPillarNetworkA,6782,6782,6782,1988-07-27,677.9000000000856,677.88153,2015-01-01 01:53:02,bin6782,35, -CTSPillarNetworkA,6783,6783,6783,1988-07-28,678.0000000000856,677.9815,2015-01-01 01:53:03,bin6783,75, -CTSPillarNetworkA,6784,6784,6784,1988-07-29,678.1000000000856,678.0815,2015-01-01 01:53:04,bin6784,35, -CTSPillarNetworkA,6785,6785,6785,1988-07-30,678.2000000000857,678.18146,2015-01-01 01:53:05,bin6785,75, -CTSPillarNetworkA,6786,6786,6786,1988-07-31,678.3000000000857,678.28143,2015-01-01 01:53:06,bin6786,35, -CTSPillarNetworkA,6787,6787,6787,1988-08-01,678.4000000000857,678.3814,2015-01-01 01:53:07,bin6787,75, -CTSPillarNetworkA,6788,6788,6788,1988-08-02,678.5000000000857,678.4814,2015-01-01 01:53:08,bin6788,35, -CTSPillarNetworkA,6789,6789,6789,1988-08-03,678.6000000000857,678.58136,2015-01-01 01:53:09,bin6789,75, -CTSPillarNetworkA,6790,6790,6790,1988-08-04,678.7000000000858,678.68134,2015-01-01 01:53:10,bin6790,35, -CTSPillarNetworkA,6791,6791,6791,1988-08-05,678.8000000000858,678.7813,2015-01-01 01:53:11,bin6791,75, -CTSPillarNetworkA,6792,6792,6792,1988-08-06,678.9000000000858,678.8813,2015-01-01 01:53:12,bin6792,35, -CTSPillarNetworkA,6793,6793,6793,1988-08-07,679.0000000000858,678.98126,2015-01-01 01:53:13,bin6793,75, -CTSPillarNetworkA,6794,6794,6794,1988-08-08,679.1000000000859,679.08124,2015-01-01 01:53:14,bin6794,35, -CTSPillarNetworkA,6795,6795,6795,1988-08-09,679.2000000000859,679.1812,2015-01-01 01:53:15,bin6795,75, -CTSPillarNetworkA,6796,6796,6796,1988-08-10,679.3000000000859,679.2812,2015-01-01 01:53:16,bin6796,35, -CTSPillarNetworkA,6797,6797,6797,1988-08-11,679.4000000000859,679.38116,2015-01-01 01:53:17,bin6797,75, -CTSPillarNetworkA,6798,6798,6798,1988-08-12,679.500000000086,679.48114,2015-01-01 01:53:18,bin6798,35, -CTSPillarNetworkA,6799,6799,6799,1988-08-13,679.600000000086,679.5811,2015-01-01 01:53:19,bin6799,75, -CTSPillarNetworkA,6800,6800,6800,1988-08-14,679.700000000086,679.6811,2015-01-01 01:53:20,bin6800,35, -CTSPillarNetworkA,6801,6801,6801,1988-08-15,679.800000000086,679.78107,2015-01-01 01:53:21,bin6801,75, -CTSPillarNetworkA,6802,6802,6802,1988-08-16,679.900000000086,679.88104,2015-01-01 01:53:22,bin6802,35, -CTSPillarNetworkA,6803,6803,6803,1988-08-17,680.0000000000861,679.981,2015-01-01 01:53:23,bin6803,75, -CTSPillarNetworkA,6804,6804,6804,1988-08-18,680.1000000000861,680.081,2015-01-01 01:53:24,bin6804,35, -CTSPillarNetworkA,6805,6805,6805,1988-08-19,680.2000000000861,680.18097,2015-01-01 01:53:25,bin6805,75, -CTSPillarNetworkA,6806,6806,6806,1988-08-20,680.3000000000861,680.28094,2015-01-01 01:53:26,bin6806,35, -CTSPillarNetworkA,6807,6807,6807,1988-08-21,680.4000000000862,680.3809,2015-01-01 01:53:27,bin6807,75, -CTSPillarNetworkA,6808,6808,6808,1988-08-22,680.5000000000862,680.4809,2015-01-01 01:53:28,bin6808,35, -CTSPillarNetworkA,6809,6809,6809,1988-08-23,680.6000000000862,680.5809,2015-01-01 01:53:29,bin6809,75, -CTSPillarNetworkA,6810,6810,6810,1988-08-24,680.7000000000862,680.68085,2015-01-01 01:53:30,bin6810,35, -CTSPillarNetworkA,6811,6811,6811,1988-08-25,680.8000000000862,680.7808,2015-01-01 01:53:31,bin6811,75, -CTSPillarNetworkA,6812,6812,6812,1988-08-26,680.9000000000863,680.8808,2015-01-01 01:53:32,bin6812,35, -CTSPillarNetworkA,6813,6813,6813,1988-08-27,681.0000000000863,680.9808,2015-01-01 01:53:33,bin6813,75, -CTSPillarNetworkA,6814,6814,6814,1988-08-28,681.1000000000863,681.08075,2015-01-01 01:53:34,bin6814,35, -CTSPillarNetworkA,6815,6815,6815,1988-08-29,681.2000000000863,681.1807,2015-01-01 01:53:35,bin6815,75, -CTSPillarNetworkA,6816,6816,6816,1988-08-30,681.3000000000864,681.2807,2015-01-01 01:53:36,bin6816,35, -CTSPillarNetworkA,6817,6817,6817,1988-08-31,681.4000000000864,681.3807,2015-01-01 01:53:37,bin6817,75, -CTSPillarNetworkA,6818,6818,6818,1988-09-01,681.5000000000864,681.48065,2015-01-01 01:53:38,bin6818,35, -CTSPillarNetworkA,6819,6819,6819,1988-09-02,681.6000000000864,681.5806,2015-01-01 01:53:39,bin6819,75, -CTSPillarNetworkA,6820,6820,6820,1988-09-03,681.7000000000864,681.6806,2015-01-01 01:53:40,bin6820,35, -CTSPillarNetworkA,6821,6821,6821,1988-09-04,681.8000000000865,681.7806,2015-01-01 01:53:41,bin6821,75, -CTSPillarNetworkA,6822,6822,6822,1988-09-05,681.9000000000865,681.88055,2015-01-01 01:53:42,bin6822,35, -CTSPillarNetworkA,6823,6823,6823,1988-09-06,682.0000000000865,681.9805,2015-01-01 01:53:43,bin6823,75, -CTSPillarNetworkA,6824,6824,6824,1988-09-07,682.1000000000865,682.0805,2015-01-01 01:53:44,bin6824,35, -CTSPillarNetworkA,6825,6825,6825,1988-09-08,682.2000000000866,682.1805,2015-01-01 01:53:45,bin6825,75, -CTSPillarNetworkA,6826,6826,6826,1988-09-09,682.3000000000866,682.28046,2015-01-01 01:53:46,bin6826,35, -CTSPillarNetworkA,6827,6827,6827,1988-09-10,682.4000000000866,682.38043,2015-01-01 01:53:47,bin6827,75, -CTSPillarNetworkA,6828,6828,6828,1988-09-11,682.5000000000866,682.4804,2015-01-01 01:53:48,bin6828,35, -CTSPillarNetworkA,6829,6829,6829,1988-09-12,682.6000000000867,682.5804,2015-01-01 01:53:49,bin6829,75, -CTSPillarNetworkA,6830,6830,6830,1988-09-13,682.7000000000867,682.68036,2015-01-01 01:53:50,bin6830,35, -CTSPillarNetworkA,6831,6831,6831,1988-09-14,682.8000000000867,682.78033,2015-01-01 01:53:51,bin6831,75, -CTSPillarNetworkA,6832,6832,6832,1988-09-15,682.9000000000867,682.8803,2015-01-01 01:53:52,bin6832,35, -CTSPillarNetworkA,6833,6833,6833,1988-09-16,683.0000000000867,682.9803,2015-01-01 01:53:53,bin6833,75, -CTSPillarNetworkA,6834,6834,6834,1988-09-17,683.1000000000868,683.08026,2015-01-01 01:53:54,bin6834,35, -CTSPillarNetworkA,6835,6835,6835,1988-09-18,683.2000000000868,683.18024,2015-01-01 01:53:55,bin6835,75, -CTSPillarNetworkA,6836,6836,6836,1988-09-19,683.3000000000868,683.2802,2015-01-01 01:53:56,bin6836,35, -CTSPillarNetworkA,6837,6837,6837,1988-09-20,683.4000000000868,683.3802,2015-01-01 01:53:57,bin6837,75, -CTSPillarNetworkA,6838,6838,6838,1988-09-21,683.5000000000869,683.48016,2015-01-01 01:53:58,bin6838,35, -CTSPillarNetworkA,6839,6839,6839,1988-09-22,683.6000000000869,683.58014,2015-01-01 01:53:59,bin6839,75, -CTSPillarNetworkA,6840,6840,6840,1988-09-23,683.7000000000869,683.6801,2015-01-01 01:54:00,bin6840,35, -CTSPillarNetworkA,6841,6841,6841,1988-09-24,683.8000000000869,683.7801,2015-01-01 01:54:01,bin6841,75, -CTSPillarNetworkA,6842,6842,6842,1988-09-25,683.900000000087,683.88007,2015-01-01 01:54:02,bin6842,35, -CTSPillarNetworkA,6843,6843,6843,1988-09-26,684.000000000087,683.98004,2015-01-01 01:54:03,bin6843,75, -CTSPillarNetworkA,6844,6844,6844,1988-09-27,684.100000000087,684.08,2015-01-01 01:54:04,bin6844,35, -CTSPillarNetworkA,6845,6845,6845,1988-09-28,684.200000000087,684.18,2015-01-01 01:54:05,bin6845,75, -CTSPillarNetworkA,6846,6846,6846,1988-09-29,684.300000000087,684.27997,2015-01-01 01:54:06,bin6846,35, -CTSPillarNetworkA,6847,6847,6847,1988-09-30,684.4000000000871,684.37994,2015-01-01 01:54:07,bin6847,75, -CTSPillarNetworkA,6848,6848,6848,1988-10-01,684.5000000000871,684.4799,2015-01-01 01:54:08,bin6848,35, -CTSPillarNetworkA,6849,6849,6849,1988-10-02,684.6000000000871,684.5799,2015-01-01 01:54:09,bin6849,75, -CTSPillarNetworkA,6850,6850,6850,1988-10-03,684.7000000000871,684.6799,2015-01-01 01:54:10,bin6850,35, -CTSPillarNetworkA,6851,6851,6851,1988-10-04,684.8000000000872,684.77985,2015-01-01 01:54:11,bin6851,75, -CTSPillarNetworkA,6852,6852,6852,1988-10-05,684.9000000000872,684.8798,2015-01-01 01:54:12,bin6852,35, -CTSPillarNetworkA,6853,6853,6853,1988-10-06,685.0000000000872,684.9798,2015-01-01 01:54:13,bin6853,75, -CTSPillarNetworkA,6854,6854,6854,1988-10-07,685.1000000000872,685.0798,2015-01-01 01:54:14,bin6854,35, -CTSPillarNetworkA,6855,6855,6855,1988-10-08,685.2000000000872,685.17975,2015-01-01 01:54:15,bin6855,75, -CTSPillarNetworkA,6856,6856,6856,1988-10-09,685.3000000000873,685.2797,2015-01-01 01:54:16,bin6856,35, -CTSPillarNetworkA,6857,6857,6857,1988-10-10,685.4000000000873,685.3797,2015-01-01 01:54:17,bin6857,75, -CTSPillarNetworkA,6858,6858,6858,1988-10-11,685.5000000000873,685.4797,2015-01-01 01:54:18,bin6858,35, -CTSPillarNetworkA,6859,6859,6859,1988-10-12,685.6000000000873,685.57965,2015-01-01 01:54:19,bin6859,75, -CTSPillarNetworkA,6860,6860,6860,1988-10-13,685.7000000000874,685.6796,2015-01-01 01:54:20,bin6860,35, -CTSPillarNetworkA,6861,6861,6861,1988-10-14,685.8000000000874,685.7796,2015-01-01 01:54:21,bin6861,75, -CTSPillarNetworkA,6862,6862,6862,1988-10-15,685.9000000000874,685.8796,2015-01-01 01:54:22,bin6862,35, -CTSPillarNetworkA,6863,6863,6863,1988-10-16,686.0000000000874,685.97955,2015-01-01 01:54:23,bin6863,75, -CTSPillarNetworkA,6864,6864,6864,1988-10-17,686.1000000000874,686.0795,2015-01-01 01:54:24,bin6864,35, -CTSPillarNetworkA,6865,6865,6865,1988-10-18,686.2000000000875,686.1795,2015-01-01 01:54:25,bin6865,75, -CTSPillarNetworkA,6866,6866,6866,1988-10-19,686.3000000000875,686.2795,2015-01-01 01:54:26,bin6866,35, -CTSPillarNetworkA,6867,6867,6867,1988-10-20,686.4000000000875,686.37946,2015-01-01 01:54:27,bin6867,75, -CTSPillarNetworkA,6868,6868,6868,1988-10-21,686.5000000000875,686.47943,2015-01-01 01:54:28,bin6868,35, -CTSPillarNetworkA,6869,6869,6869,1988-10-22,686.6000000000876,686.5794,2015-01-01 01:54:29,bin6869,75, -CTSPillarNetworkA,6870,6870,6870,1988-10-23,686.7000000000876,686.6794,2015-01-01 01:54:30,bin6870,35, -CTSPillarNetworkA,6871,6871,6871,1988-10-24,686.8000000000876,686.77936,2015-01-01 01:54:31,bin6871,75, -CTSPillarNetworkA,6872,6872,6872,1988-10-25,686.9000000000876,686.87933,2015-01-01 01:54:32,bin6872,35, -CTSPillarNetworkA,6873,6873,6873,1988-10-26,687.0000000000877,686.9793,2015-01-01 01:54:33,bin6873,75, -CTSPillarNetworkA,6874,6874,6874,1988-10-27,687.1000000000877,687.0793,2015-01-01 01:54:34,bin6874,35, -CTSPillarNetworkA,6875,6875,6875,1988-10-28,687.2000000000877,687.17926,2015-01-01 01:54:35,bin6875,75, -CTSPillarNetworkA,6876,6876,6876,1988-10-29,687.3000000000877,687.27924,2015-01-01 01:54:36,bin6876,35, -CTSPillarNetworkA,6877,6877,6877,1988-10-30,687.4000000000877,687.3792,2015-01-01 01:54:37,bin6877,75, -CTSPillarNetworkA,6878,6878,6878,1988-10-31,687.5000000000878,687.4792,2015-01-01 01:54:38,bin6878,35, -CTSPillarNetworkA,6879,6879,6879,1988-11-01,687.6000000000878,687.57916,2015-01-01 01:54:39,bin6879,75, -CTSPillarNetworkA,6880,6880,6880,1988-11-02,687.7000000000878,687.67914,2015-01-01 01:54:40,bin6880,35, -CTSPillarNetworkA,6881,6881,6881,1988-11-03,687.8000000000878,687.7791,2015-01-01 01:54:41,bin6881,75, -CTSPillarNetworkA,6882,6882,6882,1988-11-04,687.9000000000879,687.8791,2015-01-01 01:54:42,bin6882,35, -CTSPillarNetworkA,6883,6883,6883,1988-11-05,688.0000000000879,687.97906,2015-01-01 01:54:43,bin6883,75, -CTSPillarNetworkA,6884,6884,6884,1988-11-06,688.1000000000879,688.07904,2015-01-01 01:54:44,bin6884,35, -CTSPillarNetworkA,6885,6885,6885,1988-11-07,688.2000000000879,688.179,2015-01-01 01:54:45,bin6885,75, -CTSPillarNetworkA,6886,6886,6886,1988-11-08,688.300000000088,688.279,2015-01-01 01:54:46,bin6886,35, -CTSPillarNetworkA,6887,6887,6887,1988-11-09,688.400000000088,688.37897,2015-01-01 01:54:47,bin6887,75, -CTSPillarNetworkA,6888,6888,6888,1988-11-10,688.500000000088,688.47894,2015-01-01 01:54:48,bin6888,35, -CTSPillarNetworkA,6889,6889,6889,1988-11-11,688.600000000088,688.5789,2015-01-01 01:54:49,bin6889,75, -CTSPillarNetworkA,6890,6890,6890,1988-11-12,688.700000000088,688.6789,2015-01-01 01:54:50,bin6890,35, -CTSPillarNetworkA,6891,6891,6891,1988-11-13,688.8000000000881,688.7789,2015-01-01 01:54:51,bin6891,75, -CTSPillarNetworkA,6892,6892,6892,1988-11-14,688.9000000000881,688.87885,2015-01-01 01:54:52,bin6892,35, -CTSPillarNetworkA,6893,6893,6893,1988-11-15,689.0000000000881,688.9788,2015-01-01 01:54:53,bin6893,75, -CTSPillarNetworkA,6894,6894,6894,1988-11-16,689.1000000000881,689.0788,2015-01-01 01:54:54,bin6894,35, -CTSPillarNetworkA,6895,6895,6895,1988-11-17,689.2000000000882,689.1788,2015-01-01 01:54:55,bin6895,75, -CTSPillarNetworkA,6896,6896,6896,1988-11-18,689.3000000000882,689.27875,2015-01-01 01:54:56,bin6896,35, -CTSPillarNetworkA,6897,6897,6897,1988-11-19,689.4000000000882,689.3787,2015-01-01 01:54:57,bin6897,75, -CTSPillarNetworkA,6898,6898,6898,1988-11-20,689.5000000000882,689.4787,2015-01-01 01:54:58,bin6898,35, -CTSPillarNetworkA,6899,6899,6899,1988-11-21,689.6000000000882,689.5787,2015-01-01 01:54:59,bin6899,75, -CTSPillarNetworkA,6900,6900,6900,1988-11-22,689.7000000000883,689.67865,2015-01-01 01:55:00,bin6900,35, -CTSPillarNetworkA,6901,6901,6901,1988-11-23,689.8000000000883,689.7786,2015-01-01 01:55:01,bin6901,75, -CTSPillarNetworkA,6902,6902,6902,1988-11-24,689.9000000000883,689.8786,2015-01-01 01:55:02,bin6902,35, -CTSPillarNetworkA,6903,6903,6903,1988-11-25,690.0000000000883,689.9786,2015-01-01 01:55:03,bin6903,75, -CTSPillarNetworkA,6904,6904,6904,1988-11-26,690.1000000000884,690.07855,2015-01-01 01:55:04,bin6904,35, -CTSPillarNetworkA,6905,6905,6905,1988-11-27,690.2000000000884,690.1785,2015-01-01 01:55:05,bin6905,75, -CTSPillarNetworkA,6906,6906,6906,1988-11-28,690.3000000000884,690.2785,2015-01-01 01:55:06,bin6906,35, -CTSPillarNetworkA,6907,6907,6907,1988-11-29,690.4000000000884,690.3785,2015-01-01 01:55:07,bin6907,75, -CTSPillarNetworkA,6908,6908,6908,1988-11-30,690.5000000000884,690.47845,2015-01-01 01:55:08,bin6908,35, -CTSPillarNetworkA,6909,6909,6909,1988-12-01,690.6000000000885,690.5784,2015-01-01 01:55:09,bin6909,75, -CTSPillarNetworkA,6910,6910,6910,1988-12-02,690.7000000000885,690.6784,2015-01-01 01:55:10,bin6910,35, -CTSPillarNetworkA,6911,6911,6911,1988-12-03,690.8000000000885,690.7784,2015-01-01 01:55:11,bin6911,75, -CTSPillarNetworkA,6912,6912,6912,1988-12-04,690.9000000000885,690.87836,2015-01-01 01:55:12,bin6912,35, -CTSPillarNetworkA,6913,6913,6913,1988-12-05,691.0000000000886,690.97833,2015-01-01 01:55:13,bin6913,75, -CTSPillarNetworkA,6914,6914,6914,1988-12-06,691.1000000000886,691.0783,2015-01-01 01:55:14,bin6914,35, -CTSPillarNetworkA,6915,6915,6915,1988-12-07,691.2000000000886,691.1783,2015-01-01 01:55:15,bin6915,75, -CTSPillarNetworkA,6916,6916,6916,1988-12-08,691.3000000000886,691.27826,2015-01-01 01:55:16,bin6916,35, -CTSPillarNetworkA,6917,6917,6917,1988-12-09,691.4000000000887,691.37823,2015-01-01 01:55:17,bin6917,75, -CTSPillarNetworkA,6918,6918,6918,1988-12-10,691.5000000000887,691.4782,2015-01-01 01:55:18,bin6918,35, -CTSPillarNetworkA,6919,6919,6919,1988-12-11,691.6000000000887,691.5782,2015-01-01 01:55:19,bin6919,75, -CTSPillarNetworkA,6920,6920,6920,1988-12-12,691.7000000000887,691.67816,2015-01-01 01:55:20,bin6920,35, -CTSPillarNetworkA,6921,6921,6921,1988-12-13,691.8000000000887,691.77814,2015-01-01 01:55:21,bin6921,75, -CTSPillarNetworkA,6922,6922,6922,1988-12-14,691.9000000000888,691.8781,2015-01-01 01:55:22,bin6922,35, -CTSPillarNetworkA,6923,6923,6923,1988-12-15,692.0000000000888,691.9781,2015-01-01 01:55:23,bin6923,75, -CTSPillarNetworkA,6924,6924,6924,1988-12-16,692.1000000000888,692.07806,2015-01-01 01:55:24,bin6924,35, -CTSPillarNetworkA,6925,6925,6925,1988-12-17,692.2000000000888,692.17804,2015-01-01 01:55:25,bin6925,75, -CTSPillarNetworkA,6926,6926,6926,1988-12-18,692.3000000000889,692.278,2015-01-01 01:55:26,bin6926,35, -CTSPillarNetworkA,6927,6927,6927,1988-12-19,692.4000000000889,692.378,2015-01-01 01:55:27,bin6927,75, -CTSPillarNetworkA,6928,6928,6928,1988-12-20,692.5000000000889,692.47797,2015-01-01 01:55:28,bin6928,35, -CTSPillarNetworkA,6929,6929,6929,1988-12-21,692.6000000000889,692.57794,2015-01-01 01:55:29,bin6929,75, -CTSPillarNetworkA,6930,6930,6930,1988-12-22,692.700000000089,692.6779,2015-01-01 01:55:30,bin6930,35, -CTSPillarNetworkA,6931,6931,6931,1988-12-23,692.800000000089,692.7779,2015-01-01 01:55:31,bin6931,75, -CTSPillarNetworkA,6932,6932,6932,1988-12-24,692.900000000089,692.87787,2015-01-01 01:55:32,bin6932,35, -CTSPillarNetworkA,6933,6933,6933,1988-12-25,693.000000000089,692.97784,2015-01-01 01:55:33,bin6933,75, -CTSPillarNetworkA,6934,6934,6934,1988-12-26,693.100000000089,693.0778,2015-01-01 01:55:34,bin6934,35, -CTSPillarNetworkA,6935,6935,6935,1988-12-27,693.2000000000891,693.1778,2015-01-01 01:55:35,bin6935,75, -CTSPillarNetworkA,6936,6936,6936,1988-12-28,693.3000000000891,693.2778,2015-01-01 01:55:36,bin6936,35, -CTSPillarNetworkA,6937,6937,6937,1988-12-29,693.4000000000891,693.37775,2015-01-01 01:55:37,bin6937,75, -CTSPillarNetworkA,6938,6938,6938,1988-12-30,693.5000000000891,693.4777,2015-01-01 01:55:38,bin6938,35, -CTSPillarNetworkA,6939,6939,6939,1988-12-31,693.6000000000892,693.5777,2015-01-01 01:55:39,bin6939,75, -CTSPillarNetworkA,6940,6940,6940,1989-01-01,693.7000000000892,693.6777,2015-01-01 01:55:40,bin6940,35, -CTSPillarNetworkA,6941,6941,6941,1989-01-02,693.8000000000892,693.77765,2015-01-01 01:55:41,bin6941,75, -CTSPillarNetworkA,6942,6942,6942,1989-01-03,693.9000000000892,693.8776,2015-01-01 01:55:42,bin6942,35, -CTSPillarNetworkA,6943,6943,6943,1989-01-04,694.0000000000892,693.9776,2015-01-01 01:55:43,bin6943,75, -CTSPillarNetworkA,6944,6944,6944,1989-01-05,694.1000000000893,694.0776,2015-01-01 01:55:44,bin6944,35, -CTSPillarNetworkA,6945,6945,6945,1989-01-06,694.2000000000893,694.17755,2015-01-01 01:55:45,bin6945,75, -CTSPillarNetworkA,6946,6946,6946,1989-01-07,694.3000000000893,694.2775,2015-01-01 01:55:46,bin6946,35, -CTSPillarNetworkA,6947,6947,6947,1989-01-08,694.4000000000893,694.3775,2015-01-01 01:55:47,bin6947,75, -CTSPillarNetworkA,6948,6948,6948,1989-01-09,694.5000000000894,694.4775,2015-01-01 01:55:48,bin6948,35, -CTSPillarNetworkA,6949,6949,6949,1989-01-10,694.6000000000894,694.57745,2015-01-01 01:55:49,bin6949,75, -CTSPillarNetworkA,6950,6950,6950,1989-01-11,694.7000000000894,694.6774,2015-01-01 01:55:50,bin6950,35, -CTSPillarNetworkA,6951,6951,6951,1989-01-12,694.8000000000894,694.7774,2015-01-01 01:55:51,bin6951,75, -CTSPillarNetworkA,6952,6952,6952,1989-01-13,694.9000000000894,694.8774,2015-01-01 01:55:52,bin6952,35, -CTSPillarNetworkA,6953,6953,6953,1989-01-14,695.0000000000895,694.97736,2015-01-01 01:55:53,bin6953,75, -CTSPillarNetworkA,6954,6954,6954,1989-01-15,695.1000000000895,695.07733,2015-01-01 01:55:54,bin6954,35, -CTSPillarNetworkA,6955,6955,6955,1989-01-16,695.2000000000895,695.1773,2015-01-01 01:55:55,bin6955,75, -CTSPillarNetworkA,6956,6956,6956,1989-01-17,695.3000000000895,695.2773,2015-01-01 01:55:56,bin6956,35, -CTSPillarNetworkA,6957,6957,6957,1989-01-18,695.4000000000896,695.37726,2015-01-01 01:55:57,bin6957,75, -CTSPillarNetworkA,6958,6958,6958,1989-01-19,695.5000000000896,695.47723,2015-01-01 01:55:58,bin6958,35, -CTSPillarNetworkA,6959,6959,6959,1989-01-20,695.6000000000896,695.5772,2015-01-01 01:55:59,bin6959,75, -CTSPillarNetworkA,6960,6960,6960,1989-01-21,695.7000000000896,695.6772,2015-01-01 01:56:00,bin6960,35, -CTSPillarNetworkA,6961,6961,6961,1989-01-22,695.8000000000897,695.77716,2015-01-01 01:56:01,bin6961,75, -CTSPillarNetworkA,6962,6962,6962,1989-01-23,695.9000000000897,695.87714,2015-01-01 01:56:02,bin6962,35, -CTSPillarNetworkA,6963,6963,6963,1989-01-24,696.0000000000897,695.9771,2015-01-01 01:56:03,bin6963,75, -CTSPillarNetworkA,6964,6964,6964,1989-01-25,696.1000000000897,696.0771,2015-01-01 01:56:04,bin6964,35, -CTSPillarNetworkA,6965,6965,6965,1989-01-26,696.2000000000897,696.17706,2015-01-01 01:56:05,bin6965,75, -CTSPillarNetworkA,6966,6966,6966,1989-01-27,696.3000000000898,696.27704,2015-01-01 01:56:06,bin6966,35, -CTSPillarNetworkA,6967,6967,6967,1989-01-28,696.4000000000898,696.377,2015-01-01 01:56:07,bin6967,75, -CTSPillarNetworkA,6968,6968,6968,1989-01-29,696.5000000000898,696.477,2015-01-01 01:56:08,bin6968,35, -CTSPillarNetworkA,6969,6969,6969,1989-01-30,696.6000000000898,696.57697,2015-01-01 01:56:09,bin6969,75, -CTSPillarNetworkA,6970,6970,6970,1989-01-31,696.7000000000899,696.67694,2015-01-01 01:56:10,bin6970,35, -CTSPillarNetworkA,6971,6971,6971,1989-02-01,696.8000000000899,696.7769,2015-01-01 01:56:11,bin6971,75, -CTSPillarNetworkA,6972,6972,6972,1989-02-02,696.9000000000899,696.8769,2015-01-01 01:56:12,bin6972,35, -CTSPillarNetworkA,6973,6973,6973,1989-02-03,697.0000000000899,696.97687,2015-01-01 01:56:13,bin6973,75, -CTSPillarNetworkA,6974,6974,6974,1989-02-04,697.10000000009,697.07684,2015-01-01 01:56:14,bin6974,35, -CTSPillarNetworkA,6975,6975,6975,1989-02-05,697.20000000009,697.1768,2015-01-01 01:56:15,bin6975,75, -CTSPillarNetworkA,6976,6976,6976,1989-02-06,697.30000000009,697.2768,2015-01-01 01:56:16,bin6976,35, -CTSPillarNetworkA,6977,6977,6977,1989-02-07,697.40000000009,697.3768,2015-01-01 01:56:17,bin6977,75, -CTSPillarNetworkA,6978,6978,6978,1989-02-08,697.50000000009,697.47675,2015-01-01 01:56:18,bin6978,35, -CTSPillarNetworkA,6979,6979,6979,1989-02-09,697.6000000000901,697.5767,2015-01-01 01:56:19,bin6979,75, -CTSPillarNetworkA,6980,6980,6980,1989-02-10,697.7000000000901,697.6767,2015-01-01 01:56:20,bin6980,35, -CTSPillarNetworkA,6981,6981,6981,1989-02-11,697.8000000000901,697.7767,2015-01-01 01:56:21,bin6981,75, -CTSPillarNetworkA,6982,6982,6982,1989-02-12,697.9000000000901,697.87665,2015-01-01 01:56:22,bin6982,35, -CTSPillarNetworkA,6983,6983,6983,1989-02-13,698.0000000000902,697.9766,2015-01-01 01:56:23,bin6983,75, -CTSPillarNetworkA,6984,6984,6984,1989-02-14,698.1000000000902,698.0766,2015-01-01 01:56:24,bin6984,35, -CTSPillarNetworkA,6985,6985,6985,1989-02-15,698.2000000000902,698.1766,2015-01-01 01:56:25,bin6985,75, -CTSPillarNetworkA,6986,6986,6986,1989-02-16,698.3000000000902,698.27655,2015-01-01 01:56:26,bin6986,35, -CTSPillarNetworkA,6987,6987,6987,1989-02-17,698.4000000000902,698.3765,2015-01-01 01:56:27,bin6987,75, -CTSPillarNetworkA,6988,6988,6988,1989-02-18,698.5000000000903,698.4765,2015-01-01 01:56:28,bin6988,35, -CTSPillarNetworkA,6989,6989,6989,1989-02-19,698.6000000000903,698.5765,2015-01-01 01:56:29,bin6989,75, -CTSPillarNetworkA,6990,6990,6990,1989-02-20,698.7000000000903,698.67645,2015-01-01 01:56:30,bin6990,35, -CTSPillarNetworkA,6991,6991,6991,1989-02-21,698.8000000000903,698.7764,2015-01-01 01:56:31,bin6991,75, -CTSPillarNetworkA,6992,6992,6992,1989-02-22,698.9000000000904,698.8764,2015-01-01 01:56:32,bin6992,35, -CTSPillarNetworkA,6993,6993,6993,1989-02-23,699.0000000000904,698.9764,2015-01-01 01:56:33,bin6993,75, -CTSPillarNetworkA,6994,6994,6994,1989-02-24,699.1000000000904,699.07635,2015-01-01 01:56:34,bin6994,35, -CTSPillarNetworkA,6995,6995,6995,1989-02-25,699.2000000000904,699.17633,2015-01-01 01:56:35,bin6995,75, -CTSPillarNetworkA,6996,6996,6996,1989-02-26,699.3000000000904,699.2763,2015-01-01 01:56:36,bin6996,35, -CTSPillarNetworkA,6997,6997,6997,1989-02-27,699.4000000000905,699.3763,2015-01-01 01:56:37,bin6997,75, -CTSPillarNetworkA,6998,6998,6998,1989-02-28,699.5000000000905,699.47626,2015-01-01 01:56:38,bin6998,35, -CTSPillarNetworkA,6999,6999,6999,1989-03-01,699.6000000000905,699.57623,2015-01-01 01:56:39,bin6999,75, -CTSPillarNetworkA,7000,7000,7000,1989-03-02,699.7000000000905,699.6762,2015-01-01 01:56:40,bin7000,35, -CTSPillarNetworkA,7001,7001,7001,1989-03-03,699.8000000000906,699.7762,2015-01-01 01:56:41,bin7001,75, -CTSPillarNetworkA,7002,7002,7002,1989-03-04,699.9000000000906,699.87616,2015-01-01 01:56:42,bin7002,35, -CTSPillarNetworkA,7003,7003,7003,1989-03-05,700.0000000000906,699.97614,2015-01-01 01:56:43,bin7003,75, -CTSPillarNetworkA,7004,7004,7004,1989-03-06,700.1000000000906,700.0761,2015-01-01 01:56:44,bin7004,35, -CTSPillarNetworkA,7005,7005,7005,1989-03-07,700.2000000000907,700.1761,2015-01-01 01:56:45,bin7005,75, -CTSPillarNetworkA,7006,7006,7006,1989-03-08,700.3000000000907,700.27606,2015-01-01 01:56:46,bin7006,35, -CTSPillarNetworkA,7007,7007,7007,1989-03-09,700.4000000000907,700.37604,2015-01-01 01:56:47,bin7007,75, -CTSPillarNetworkA,7008,7008,7008,1989-03-10,700.5000000000907,700.476,2015-01-01 01:56:48,bin7008,35, -CTSPillarNetworkA,7009,7009,7009,1989-03-11,700.6000000000907,700.576,2015-01-01 01:56:49,bin7009,75, -CTSPillarNetworkA,7010,7010,7010,1989-03-12,700.7000000000908,700.67596,2015-01-01 01:56:50,bin7010,35, -CTSPillarNetworkA,7011,7011,7011,1989-03-13,700.8000000000908,700.77594,2015-01-01 01:56:51,bin7011,75, -CTSPillarNetworkA,7012,7012,7012,1989-03-14,700.9000000000908,700.8759,2015-01-01 01:56:52,bin7012,35, -CTSPillarNetworkA,7013,7013,7013,1989-03-15,701.0000000000908,700.9759,2015-01-01 01:56:53,bin7013,75, -CTSPillarNetworkA,7014,7014,7014,1989-03-16,701.1000000000909,701.07587,2015-01-01 01:56:54,bin7014,35, -CTSPillarNetworkA,7015,7015,7015,1989-03-17,701.2000000000909,701.17584,2015-01-01 01:56:55,bin7015,75, -CTSPillarNetworkA,7016,7016,7016,1989-03-18,701.3000000000909,701.2758,2015-01-01 01:56:56,bin7016,35, -CTSPillarNetworkA,7017,7017,7017,1989-03-19,701.4000000000909,701.3758,2015-01-01 01:56:57,bin7017,75, -CTSPillarNetworkA,7018,7018,7018,1989-03-20,701.500000000091,701.47577,2015-01-01 01:56:58,bin7018,35, -CTSPillarNetworkA,7019,7019,7019,1989-03-21,701.600000000091,701.57574,2015-01-01 01:56:59,bin7019,75, -CTSPillarNetworkA,7020,7020,7020,1989-03-22,701.700000000091,701.6757,2015-01-01 01:57:00,bin7020,35, -CTSPillarNetworkA,7021,7021,7021,1989-03-23,701.800000000091,701.7757,2015-01-01 01:57:01,bin7021,75, -CTSPillarNetworkA,7022,7022,7022,1989-03-24,701.900000000091,701.8757,2015-01-01 01:57:02,bin7022,35, -CTSPillarNetworkA,7023,7023,7023,1989-03-25,702.0000000000911,701.97565,2015-01-01 01:57:03,bin7023,75, -CTSPillarNetworkA,7024,7024,7024,1989-03-26,702.1000000000911,702.0756,2015-01-01 01:57:04,bin7024,35, -CTSPillarNetworkA,7025,7025,7025,1989-03-27,702.2000000000911,702.1756,2015-01-01 01:57:05,bin7025,75, -CTSPillarNetworkA,7026,7026,7026,1989-03-28,702.3000000000911,702.2756,2015-01-01 01:57:06,bin7026,35, -CTSPillarNetworkA,7027,7027,7027,1989-03-29,702.4000000000912,702.37555,2015-01-01 01:57:07,bin7027,75, -CTSPillarNetworkA,7028,7028,7028,1989-03-30,702.5000000000912,702.4755,2015-01-01 01:57:08,bin7028,35, -CTSPillarNetworkA,7029,7029,7029,1989-03-31,702.6000000000912,702.5755,2015-01-01 01:57:09,bin7029,75, -CTSPillarNetworkA,7030,7030,7030,1989-04-01,702.7000000000912,702.6755,2015-01-01 01:57:10,bin7030,35, -CTSPillarNetworkA,7031,7031,7031,1989-04-02,702.8000000000912,702.77545,2015-01-01 01:57:11,bin7031,75, -CTSPillarNetworkA,7032,7032,7032,1989-04-03,702.9000000000913,702.8754,2015-01-01 01:57:12,bin7032,35, -CTSPillarNetworkA,7033,7033,7033,1989-04-04,703.0000000000913,702.9754,2015-01-01 01:57:13,bin7033,75, -CTSPillarNetworkA,7034,7034,7034,1989-04-05,703.1000000000913,703.0754,2015-01-01 01:57:14,bin7034,35, -CTSPillarNetworkA,7035,7035,7035,1989-04-06,703.2000000000913,703.17535,2015-01-01 01:57:15,bin7035,75, -CTSPillarNetworkA,7036,7036,7036,1989-04-07,703.3000000000914,703.2753,2015-01-01 01:57:16,bin7036,35, -CTSPillarNetworkA,7037,7037,7037,1989-04-08,703.4000000000914,703.3753,2015-01-01 01:57:17,bin7037,75, -CTSPillarNetworkA,7038,7038,7038,1989-04-09,703.5000000000914,703.4753,2015-01-01 01:57:18,bin7038,35, -CTSPillarNetworkA,7039,7039,7039,1989-04-10,703.6000000000914,703.57526,2015-01-01 01:57:19,bin7039,75, -CTSPillarNetworkA,7040,7040,7040,1989-04-11,703.7000000000914,703.67523,2015-01-01 01:57:20,bin7040,35, -CTSPillarNetworkA,7041,7041,7041,1989-04-12,703.8000000000915,703.7752,2015-01-01 01:57:21,bin7041,75, -CTSPillarNetworkA,7042,7042,7042,1989-04-13,703.9000000000915,703.8752,2015-01-01 01:57:22,bin7042,35, -CTSPillarNetworkA,7043,7043,7043,1989-04-14,704.0000000000915,703.97516,2015-01-01 01:57:23,bin7043,75, -CTSPillarNetworkA,7044,7044,7044,1989-04-15,704.1000000000915,704.07513,2015-01-01 01:57:24,bin7044,35, -CTSPillarNetworkA,7045,7045,7045,1989-04-16,704.2000000000916,704.1751,2015-01-01 01:57:25,bin7045,75, -CTSPillarNetworkA,7046,7046,7046,1989-04-17,704.3000000000916,704.2751,2015-01-01 01:57:26,bin7046,35, -CTSPillarNetworkA,7047,7047,7047,1989-04-18,704.4000000000916,704.37506,2015-01-01 01:57:27,bin7047,75, -CTSPillarNetworkA,7048,7048,7048,1989-04-19,704.5000000000916,704.47504,2015-01-01 01:57:28,bin7048,35, -CTSPillarNetworkA,7049,7049,7049,1989-04-20,704.6000000000917,704.575,2015-01-01 01:57:29,bin7049,75, -CTSPillarNetworkA,7050,7050,7050,1989-04-21,704.7000000000917,704.675,2015-01-01 01:57:30,bin7050,35, -CTSPillarNetworkA,7051,7051,7051,1989-04-22,704.8000000000917,704.77496,2015-01-01 01:57:31,bin7051,75, -CTSPillarNetworkA,7052,7052,7052,1989-04-23,704.9000000000917,704.87494,2015-01-01 01:57:32,bin7052,35, -CTSPillarNetworkA,7053,7053,7053,1989-04-24,705.0000000000917,704.9749,2015-01-01 01:57:33,bin7053,75, -CTSPillarNetworkA,7054,7054,7054,1989-04-25,705.1000000000918,705.0749,2015-01-01 01:57:34,bin7054,35, -CTSPillarNetworkA,7055,7055,7055,1989-04-26,705.2000000000918,705.17487,2015-01-01 01:57:35,bin7055,75, -CTSPillarNetworkA,7056,7056,7056,1989-04-27,705.3000000000918,705.27484,2015-01-01 01:57:36,bin7056,35, -CTSPillarNetworkA,7057,7057,7057,1989-04-28,705.4000000000918,705.3748,2015-01-01 01:57:37,bin7057,75, -CTSPillarNetworkA,7058,7058,7058,1989-04-29,705.5000000000919,705.4748,2015-01-01 01:57:38,bin7058,35, -CTSPillarNetworkA,7059,7059,7059,1989-04-30,705.6000000000919,705.57477,2015-01-01 01:57:39,bin7059,75, -CTSPillarNetworkA,7060,7060,7060,1989-05-01,705.7000000000919,705.67474,2015-01-01 01:57:40,bin7060,35, -CTSPillarNetworkA,7061,7061,7061,1989-05-02,705.8000000000919,705.7747,2015-01-01 01:57:41,bin7061,75, -CTSPillarNetworkA,7062,7062,7062,1989-05-03,705.900000000092,705.8747,2015-01-01 01:57:42,bin7062,35, -CTSPillarNetworkA,7063,7063,7063,1989-05-04,706.000000000092,705.9747,2015-01-01 01:57:43,bin7063,75, -CTSPillarNetworkA,7064,7064,7064,1989-05-05,706.100000000092,706.07465,2015-01-01 01:57:44,bin7064,35, -CTSPillarNetworkA,7065,7065,7065,1989-05-06,706.200000000092,706.1746,2015-01-01 01:57:45,bin7065,75, -CTSPillarNetworkA,7066,7066,7066,1989-05-07,706.300000000092,706.2746,2015-01-01 01:57:46,bin7066,35, -CTSPillarNetworkA,7067,7067,7067,1989-05-08,706.4000000000921,706.3746,2015-01-01 01:57:47,bin7067,75, -CTSPillarNetworkA,7068,7068,7068,1989-05-09,706.5000000000921,706.47455,2015-01-01 01:57:48,bin7068,35, -CTSPillarNetworkA,7069,7069,7069,1989-05-10,706.6000000000921,706.5745,2015-01-01 01:57:49,bin7069,75, -CTSPillarNetworkA,7070,7070,7070,1989-05-11,706.7000000000921,706.6745,2015-01-01 01:57:50,bin7070,35, -CTSPillarNetworkA,7071,7071,7071,1989-05-12,706.8000000000922,706.7745,2015-01-01 01:57:51,bin7071,75, -CTSPillarNetworkA,7072,7072,7072,1989-05-13,706.9000000000922,706.87445,2015-01-01 01:57:52,bin7072,35, -CTSPillarNetworkA,7073,7073,7073,1989-05-14,707.0000000000922,706.9744,2015-01-01 01:57:53,bin7073,75, -CTSPillarNetworkA,7074,7074,7074,1989-05-15,707.1000000000922,707.0744,2015-01-01 01:57:54,bin7074,35, -CTSPillarNetworkA,7075,7075,7075,1989-05-16,707.2000000000922,707.1744,2015-01-01 01:57:55,bin7075,75, -CTSPillarNetworkA,7076,7076,7076,1989-05-17,707.3000000000923,707.27435,2015-01-01 01:57:56,bin7076,35, -CTSPillarNetworkA,7077,7077,7077,1989-05-18,707.4000000000923,707.3743,2015-01-01 01:57:57,bin7077,75, -CTSPillarNetworkA,7078,7078,7078,1989-05-19,707.5000000000923,707.4743,2015-01-01 01:57:58,bin7078,35, -CTSPillarNetworkA,7079,7079,7079,1989-05-20,707.6000000000923,707.5743,2015-01-01 01:57:59,bin7079,75, -CTSPillarNetworkA,7080,7080,7080,1989-05-21,707.7000000000924,707.67426,2015-01-01 01:58:00,bin7080,35, -CTSPillarNetworkA,7081,7081,7081,1989-05-22,707.8000000000924,707.77423,2015-01-01 01:58:01,bin7081,75, -CTSPillarNetworkA,7082,7082,7082,1989-05-23,707.9000000000924,707.8742,2015-01-01 01:58:02,bin7082,35, -CTSPillarNetworkA,7083,7083,7083,1989-05-24,708.0000000000924,707.9742,2015-01-01 01:58:03,bin7083,75, -CTSPillarNetworkA,7084,7084,7084,1989-05-25,708.1000000000925,708.07416,2015-01-01 01:58:04,bin7084,35, -CTSPillarNetworkA,7085,7085,7085,1989-05-26,708.2000000000925,708.17413,2015-01-01 01:58:05,bin7085,75, -CTSPillarNetworkA,7086,7086,7086,1989-05-27,708.3000000000925,708.2741,2015-01-01 01:58:06,bin7086,35, -CTSPillarNetworkA,7087,7087,7087,1989-05-28,708.4000000000925,708.3741,2015-01-01 01:58:07,bin7087,75, -CTSPillarNetworkA,7088,7088,7088,1989-05-29,708.5000000000925,708.47406,2015-01-01 01:58:08,bin7088,35, -CTSPillarNetworkA,7089,7089,7089,1989-05-30,708.6000000000926,708.57404,2015-01-01 01:58:09,bin7089,75, -CTSPillarNetworkA,7090,7090,7090,1989-05-31,708.7000000000926,708.674,2015-01-01 01:58:10,bin7090,35, -CTSPillarNetworkA,7091,7091,7091,1989-06-01,708.8000000000926,708.774,2015-01-01 01:58:11,bin7091,75, -CTSPillarNetworkA,7092,7092,7092,1989-06-02,708.9000000000926,708.87396,2015-01-01 01:58:12,bin7092,35, -CTSPillarNetworkA,7093,7093,7093,1989-06-03,709.0000000000927,708.97394,2015-01-01 01:58:13,bin7093,75, -CTSPillarNetworkA,7094,7094,7094,1989-06-04,709.1000000000927,709.0739,2015-01-01 01:58:14,bin7094,35, -CTSPillarNetworkA,7095,7095,7095,1989-06-05,709.2000000000927,709.1739,2015-01-01 01:58:15,bin7095,75, -CTSPillarNetworkA,7096,7096,7096,1989-06-06,709.3000000000927,709.27386,2015-01-01 01:58:16,bin7096,35, -CTSPillarNetworkA,7097,7097,7097,1989-06-07,709.4000000000927,709.37384,2015-01-01 01:58:17,bin7097,75, -CTSPillarNetworkA,7098,7098,7098,1989-06-08,709.5000000000928,709.4738,2015-01-01 01:58:18,bin7098,35, -CTSPillarNetworkA,7099,7099,7099,1989-06-09,709.6000000000928,709.5738,2015-01-01 01:58:19,bin7099,75, -CTSPillarNetworkA,7100,7100,7100,1989-06-10,709.7000000000928,709.67377,2015-01-01 01:58:20,bin7100,35, -CTSPillarNetworkA,7101,7101,7101,1989-06-11,709.8000000000928,709.77374,2015-01-01 01:58:21,bin7101,75, -CTSPillarNetworkA,7102,7102,7102,1989-06-12,709.9000000000929,709.8737,2015-01-01 01:58:22,bin7102,35, -CTSPillarNetworkA,7103,7103,7103,1989-06-13,710.0000000000929,709.9737,2015-01-01 01:58:23,bin7103,75, -CTSPillarNetworkA,7104,7104,7104,1989-06-14,710.1000000000929,710.07367,2015-01-01 01:58:24,bin7104,35, -CTSPillarNetworkA,7105,7105,7105,1989-06-15,710.2000000000929,710.17365,2015-01-01 01:58:25,bin7105,75, -CTSPillarNetworkA,7106,7106,7106,1989-06-16,710.300000000093,710.2736,2015-01-01 01:58:26,bin7106,35, -CTSPillarNetworkA,7107,7107,7107,1989-06-17,710.400000000093,710.3736,2015-01-01 01:58:27,bin7107,75, -CTSPillarNetworkA,7108,7108,7108,1989-06-18,710.500000000093,710.4736,2015-01-01 01:58:28,bin7108,35, -CTSPillarNetworkA,7109,7109,7109,1989-06-19,710.600000000093,710.57355,2015-01-01 01:58:29,bin7109,75, -CTSPillarNetworkA,7110,7110,7110,1989-06-20,710.700000000093,710.6735,2015-01-01 01:58:30,bin7110,35, -CTSPillarNetworkA,7111,7111,7111,1989-06-21,710.8000000000931,710.7735,2015-01-01 01:58:31,bin7111,75, -CTSPillarNetworkA,7112,7112,7112,1989-06-22,710.9000000000931,710.8735,2015-01-01 01:58:32,bin7112,35, -CTSPillarNetworkA,7113,7113,7113,1989-06-23,711.0000000000931,710.97345,2015-01-01 01:58:33,bin7113,75, -CTSPillarNetworkA,7114,7114,7114,1989-06-24,711.1000000000931,711.0734,2015-01-01 01:58:34,bin7114,35, -CTSPillarNetworkA,7115,7115,7115,1989-06-25,711.2000000000932,711.1734,2015-01-01 01:58:35,bin7115,75, -CTSPillarNetworkA,7116,7116,7116,1989-06-26,711.3000000000932,711.2734,2015-01-01 01:58:36,bin7116,35, -CTSPillarNetworkA,7117,7117,7117,1989-06-27,711.4000000000932,711.37335,2015-01-01 01:58:37,bin7117,75, -CTSPillarNetworkA,7118,7118,7118,1989-06-28,711.5000000000932,711.4733,2015-01-01 01:58:38,bin7118,35, -CTSPillarNetworkA,7119,7119,7119,1989-06-29,711.6000000000932,711.5733,2015-01-01 01:58:39,bin7119,75, -CTSPillarNetworkA,7120,7120,7120,1989-06-30,711.7000000000933,711.6733,2015-01-01 01:58:40,bin7120,35, -CTSPillarNetworkA,7121,7121,7121,1989-07-01,711.8000000000933,711.77325,2015-01-01 01:58:41,bin7121,75, -CTSPillarNetworkA,7122,7122,7122,1989-07-02,711.9000000000933,711.8732,2015-01-01 01:58:42,bin7122,35, -CTSPillarNetworkA,7123,7123,7123,1989-07-03,712.0000000000933,711.9732,2015-01-01 01:58:43,bin7123,75, -CTSPillarNetworkA,7124,7124,7124,1989-07-04,712.1000000000934,712.0732,2015-01-01 01:58:44,bin7124,35, -CTSPillarNetworkA,7125,7125,7125,1989-07-05,712.2000000000934,712.17316,2015-01-01 01:58:45,bin7125,75, -CTSPillarNetworkA,7126,7126,7126,1989-07-06,712.3000000000934,712.27313,2015-01-01 01:58:46,bin7126,35, -CTSPillarNetworkA,7127,7127,7127,1989-07-07,712.4000000000934,712.3731,2015-01-01 01:58:47,bin7127,75, -CTSPillarNetworkA,7128,7128,7128,1989-07-08,712.5000000000935,712.4731,2015-01-01 01:58:48,bin7128,35, -CTSPillarNetworkA,7129,7129,7129,1989-07-09,712.6000000000935,712.57306,2015-01-01 01:58:49,bin7129,75, -CTSPillarNetworkA,7130,7130,7130,1989-07-10,712.7000000000935,712.67303,2015-01-01 01:58:50,bin7130,35, -CTSPillarNetworkA,7131,7131,7131,1989-07-11,712.8000000000935,712.773,2015-01-01 01:58:51,bin7131,75, -CTSPillarNetworkA,7132,7132,7132,1989-07-12,712.9000000000935,712.873,2015-01-01 01:58:52,bin7132,35, -CTSPillarNetworkA,7133,7133,7133,1989-07-13,713.0000000000936,712.97296,2015-01-01 01:58:53,bin7133,75, -CTSPillarNetworkA,7134,7134,7134,1989-07-14,713.1000000000936,713.07294,2015-01-01 01:58:54,bin7134,35, -CTSPillarNetworkA,7135,7135,7135,1989-07-15,713.2000000000936,713.1729,2015-01-01 01:58:55,bin7135,75, -CTSPillarNetworkA,7136,7136,7136,1989-07-16,713.3000000000936,713.2729,2015-01-01 01:58:56,bin7136,35, -CTSPillarNetworkA,7137,7137,7137,1989-07-17,713.4000000000937,713.37286,2015-01-01 01:58:57,bin7137,75, -CTSPillarNetworkA,7138,7138,7138,1989-07-18,713.5000000000937,713.47284,2015-01-01 01:58:58,bin7138,35, -CTSPillarNetworkA,7139,7139,7139,1989-07-19,713.6000000000937,713.5728,2015-01-01 01:58:59,bin7139,75, -CTSPillarNetworkA,7140,7140,7140,1989-07-20,713.7000000000937,713.6728,2015-01-01 01:59:00,bin7140,35, -CTSPillarNetworkA,7141,7141,7141,1989-07-21,713.8000000000937,713.77277,2015-01-01 01:59:01,bin7141,75, -CTSPillarNetworkA,7142,7142,7142,1989-07-22,713.9000000000938,713.87274,2015-01-01 01:59:02,bin7142,35, -CTSPillarNetworkA,7143,7143,7143,1989-07-23,714.0000000000938,713.9727,2015-01-01 01:59:03,bin7143,75, -CTSPillarNetworkA,7144,7144,7144,1989-07-24,714.1000000000938,714.0727,2015-01-01 01:59:04,bin7144,35, -CTSPillarNetworkA,7145,7145,7145,1989-07-25,714.2000000000938,714.17267,2015-01-01 01:59:05,bin7145,75, -CTSPillarNetworkA,7146,7146,7146,1989-07-26,714.3000000000939,714.27264,2015-01-01 01:59:06,bin7146,35, -CTSPillarNetworkA,7147,7147,7147,1989-07-27,714.4000000000939,714.3726,2015-01-01 01:59:07,bin7147,75, -CTSPillarNetworkA,7148,7148,7148,1989-07-28,714.5000000000939,714.4726,2015-01-01 01:59:08,bin7148,35, -CTSPillarNetworkA,7149,7149,7149,1989-07-29,714.6000000000939,714.5726,2015-01-01 01:59:09,bin7149,75, -CTSPillarNetworkA,7150,7150,7150,1989-07-30,714.700000000094,714.67255,2015-01-01 01:59:10,bin7150,35, -CTSPillarNetworkA,7151,7151,7151,1989-07-31,714.800000000094,714.7725,2015-01-01 01:59:11,bin7151,75, -CTSPillarNetworkA,7152,7152,7152,1989-08-01,714.900000000094,714.8725,2015-01-01 01:59:12,bin7152,35, -CTSPillarNetworkA,7153,7153,7153,1989-08-02,715.000000000094,714.9725,2015-01-01 01:59:13,bin7153,75, -CTSPillarNetworkA,7154,7154,7154,1989-08-03,715.100000000094,715.07245,2015-01-01 01:59:14,bin7154,35, -CTSPillarNetworkA,7155,7155,7155,1989-08-04,715.2000000000941,715.1724,2015-01-01 01:59:15,bin7155,75, -CTSPillarNetworkA,7156,7156,7156,1989-08-05,715.3000000000941,715.2724,2015-01-01 01:59:16,bin7156,35, -CTSPillarNetworkA,7157,7157,7157,1989-08-06,715.4000000000941,715.3724,2015-01-01 01:59:17,bin7157,75, -CTSPillarNetworkA,7158,7158,7158,1989-08-07,715.5000000000941,715.47235,2015-01-01 01:59:18,bin7158,35, -CTSPillarNetworkA,7159,7159,7159,1989-08-08,715.6000000000942,715.5723,2015-01-01 01:59:19,bin7159,75, -CTSPillarNetworkA,7160,7160,7160,1989-08-09,715.7000000000942,715.6723,2015-01-01 01:59:20,bin7160,35, -CTSPillarNetworkA,7161,7161,7161,1989-08-10,715.8000000000942,715.7723,2015-01-01 01:59:21,bin7161,75, -CTSPillarNetworkA,7162,7162,7162,1989-08-11,715.9000000000942,715.87225,2015-01-01 01:59:22,bin7162,35, -CTSPillarNetworkA,7163,7163,7163,1989-08-12,716.0000000000942,715.9722,2015-01-01 01:59:23,bin7163,75, -CTSPillarNetworkA,7164,7164,7164,1989-08-13,716.1000000000943,716.0722,2015-01-01 01:59:24,bin7164,35, -CTSPillarNetworkA,7165,7165,7165,1989-08-14,716.2000000000943,716.1722,2015-01-01 01:59:25,bin7165,75, -CTSPillarNetworkA,7166,7166,7166,1989-08-15,716.3000000000943,716.27216,2015-01-01 01:59:26,bin7166,35, -CTSPillarNetworkA,7167,7167,7167,1989-08-16,716.4000000000943,716.37213,2015-01-01 01:59:27,bin7167,75, -CTSPillarNetworkA,7168,7168,7168,1989-08-17,716.5000000000944,716.4721,2015-01-01 01:59:28,bin7168,35, -CTSPillarNetworkA,7169,7169,7169,1989-08-18,716.6000000000944,716.5721,2015-01-01 01:59:29,bin7169,75, -CTSPillarNetworkA,7170,7170,7170,1989-08-19,716.7000000000944,716.67206,2015-01-01 01:59:30,bin7170,35, -CTSPillarNetworkA,7171,7171,7171,1989-08-20,716.8000000000944,716.77203,2015-01-01 01:59:31,bin7171,75, -CTSPillarNetworkA,7172,7172,7172,1989-08-21,716.9000000000945,716.872,2015-01-01 01:59:32,bin7172,35, -CTSPillarNetworkA,7173,7173,7173,1989-08-22,717.0000000000945,716.972,2015-01-01 01:59:33,bin7173,75, -CTSPillarNetworkA,7174,7174,7174,1989-08-23,717.1000000000945,717.07196,2015-01-01 01:59:34,bin7174,35, -CTSPillarNetworkA,7175,7175,7175,1989-08-24,717.2000000000945,717.17194,2015-01-01 01:59:35,bin7175,75, -CTSPillarNetworkA,7176,7176,7176,1989-08-25,717.3000000000945,717.2719,2015-01-01 01:59:36,bin7176,35, -CTSPillarNetworkA,7177,7177,7177,1989-08-26,717.4000000000946,717.3719,2015-01-01 01:59:37,bin7177,75, -CTSPillarNetworkA,7178,7178,7178,1989-08-27,717.5000000000946,717.47186,2015-01-01 01:59:38,bin7178,35, -CTSPillarNetworkA,7179,7179,7179,1989-08-28,717.6000000000946,717.57184,2015-01-01 01:59:39,bin7179,75, -CTSPillarNetworkA,7180,7180,7180,1989-08-29,717.7000000000946,717.6718,2015-01-01 01:59:40,bin7180,35, -CTSPillarNetworkA,7181,7181,7181,1989-08-30,717.8000000000947,717.7718,2015-01-01 01:59:41,bin7181,75, -CTSPillarNetworkA,7182,7182,7182,1989-08-31,717.9000000000947,717.87177,2015-01-01 01:59:42,bin7182,35, -CTSPillarNetworkA,7183,7183,7183,1989-09-01,718.0000000000947,717.97174,2015-01-01 01:59:43,bin7183,75, -CTSPillarNetworkA,7184,7184,7184,1989-09-02,718.1000000000947,718.0717,2015-01-01 01:59:44,bin7184,35, -CTSPillarNetworkA,7185,7185,7185,1989-09-03,718.2000000000947,718.1717,2015-01-01 01:59:45,bin7185,75, -CTSPillarNetworkA,7186,7186,7186,1989-09-04,718.3000000000948,718.27167,2015-01-01 01:59:46,bin7186,35, -CTSPillarNetworkA,7187,7187,7187,1989-09-05,718.4000000000948,718.37164,2015-01-01 01:59:47,bin7187,75, -CTSPillarNetworkA,7188,7188,7188,1989-09-06,718.5000000000948,718.4716,2015-01-01 01:59:48,bin7188,35, -CTSPillarNetworkA,7189,7189,7189,1989-09-07,718.6000000000948,718.5716,2015-01-01 01:59:49,bin7189,75, -CTSPillarNetworkA,7190,7190,7190,1989-09-08,718.7000000000949,718.6716,2015-01-01 01:59:50,bin7190,35, -CTSPillarNetworkA,7191,7191,7191,1989-09-09,718.8000000000949,718.77155,2015-01-01 01:59:51,bin7191,75, -CTSPillarNetworkA,7192,7192,7192,1989-09-10,718.9000000000949,718.8715,2015-01-01 01:59:52,bin7192,35, -CTSPillarNetworkA,7193,7193,7193,1989-09-11,719.0000000000949,718.9715,2015-01-01 01:59:53,bin7193,75, -CTSPillarNetworkA,7194,7194,7194,1989-09-12,719.100000000095,719.0715,2015-01-01 01:59:54,bin7194,35, -CTSPillarNetworkA,7195,7195,7195,1989-09-13,719.200000000095,719.17145,2015-01-01 01:59:55,bin7195,75, -CTSPillarNetworkA,7196,7196,7196,1989-09-14,719.300000000095,719.2714,2015-01-01 01:59:56,bin7196,35, -CTSPillarNetworkA,7197,7197,7197,1989-09-15,719.400000000095,719.3714,2015-01-01 01:59:57,bin7197,75, -CTSPillarNetworkA,7198,7198,7198,1989-09-16,719.500000000095,719.4714,2015-01-01 01:59:58,bin7198,35, -CTSPillarNetworkA,7199,7199,7199,1989-09-17,719.6000000000951,719.57135,2015-01-01 01:59:59,bin7199,75, -CTSPillarNetworkA,7200,7200,7200,1989-09-18,719.7000000000951,719.6713,2015-01-01 02:00:00,bin7200,35, -CTSPillarNetworkA,7201,7201,7201,1989-09-19,719.8000000000951,719.7713,2015-01-01 02:00:01,bin7201,75, -CTSPillarNetworkA,7202,7202,7202,1989-09-20,719.9000000000951,719.8713,2015-01-01 02:00:02,bin7202,35, -CTSPillarNetworkA,7203,7203,7203,1989-09-21,720.0000000000952,719.97125,2015-01-01 02:00:03,bin7203,75, -CTSPillarNetworkA,7204,7204,7204,1989-09-22,720.1000000000952,720.0712,2015-01-01 02:00:04,bin7204,35, -CTSPillarNetworkA,7205,7205,7205,1989-09-23,720.2000000000952,720.1712,2015-01-01 02:00:05,bin7205,75, -CTSPillarNetworkA,7206,7206,7206,1989-09-24,720.3000000000952,720.2712,2015-01-01 02:00:06,bin7206,35, -CTSPillarNetworkA,7207,7207,7207,1989-09-25,720.4000000000952,720.37115,2015-01-01 02:00:07,bin7207,75, -CTSPillarNetworkA,7208,7208,7208,1989-09-26,720.5000000000953,720.4711,2015-01-01 02:00:08,bin7208,35, -CTSPillarNetworkA,7209,7209,7209,1989-09-27,720.6000000000953,720.5711,2015-01-01 02:00:09,bin7209,75, -CTSPillarNetworkA,7210,7210,7210,1989-09-28,720.7000000000953,720.6711,2015-01-01 02:00:10,bin7210,35, -CTSPillarNetworkA,7211,7211,7211,1989-09-29,720.8000000000953,720.77106,2015-01-01 02:00:11,bin7211,75, -CTSPillarNetworkA,7212,7212,7212,1989-09-30,720.9000000000954,720.87103,2015-01-01 02:00:12,bin7212,35, -CTSPillarNetworkA,7213,7213,7213,1989-10-01,721.0000000000954,720.971,2015-01-01 02:00:13,bin7213,75, -CTSPillarNetworkA,7214,7214,7214,1989-10-02,721.1000000000954,721.071,2015-01-01 02:00:14,bin7214,35, -CTSPillarNetworkA,7215,7215,7215,1989-10-03,721.2000000000954,721.17096,2015-01-01 02:00:15,bin7215,75, -CTSPillarNetworkA,7216,7216,7216,1989-10-04,721.3000000000955,721.27094,2015-01-01 02:00:16,bin7216,35, -CTSPillarNetworkA,7217,7217,7217,1989-10-05,721.4000000000955,721.3709,2015-01-01 02:00:17,bin7217,75, -CTSPillarNetworkA,7218,7218,7218,1989-10-06,721.5000000000955,721.4709,2015-01-01 02:00:18,bin7218,35, -CTSPillarNetworkA,7219,7219,7219,1989-10-07,721.6000000000955,721.57086,2015-01-01 02:00:19,bin7219,75, -CTSPillarNetworkA,7220,7220,7220,1989-10-08,721.7000000000955,721.67084,2015-01-01 02:00:20,bin7220,35, -CTSPillarNetworkA,7221,7221,7221,1989-10-09,721.8000000000956,721.7708,2015-01-01 02:00:21,bin7221,75, -CTSPillarNetworkA,7222,7222,7222,1989-10-10,721.9000000000956,721.8708,2015-01-01 02:00:22,bin7222,35, -CTSPillarNetworkA,7223,7223,7223,1989-10-11,722.0000000000956,721.97076,2015-01-01 02:00:23,bin7223,75, -CTSPillarNetworkA,7224,7224,7224,1989-10-12,722.1000000000956,722.07074,2015-01-01 02:00:24,bin7224,35, -CTSPillarNetworkA,7225,7225,7225,1989-10-13,722.2000000000957,722.1707,2015-01-01 02:00:25,bin7225,75, -CTSPillarNetworkA,7226,7226,7226,1989-10-14,722.3000000000957,722.2707,2015-01-01 02:00:26,bin7226,35, -CTSPillarNetworkA,7227,7227,7227,1989-10-15,722.4000000000957,722.37067,2015-01-01 02:00:27,bin7227,75, -CTSPillarNetworkA,7228,7228,7228,1989-10-16,722.5000000000957,722.47064,2015-01-01 02:00:28,bin7228,35, -CTSPillarNetworkA,7229,7229,7229,1989-10-17,722.6000000000957,722.5706,2015-01-01 02:00:29,bin7229,75, -CTSPillarNetworkA,7230,7230,7230,1989-10-18,722.7000000000958,722.6706,2015-01-01 02:00:30,bin7230,35, -CTSPillarNetworkA,7231,7231,7231,1989-10-19,722.8000000000958,722.77057,2015-01-01 02:00:31,bin7231,75, -CTSPillarNetworkA,7232,7232,7232,1989-10-20,722.9000000000958,722.87054,2015-01-01 02:00:32,bin7232,35, -CTSPillarNetworkA,7233,7233,7233,1989-10-21,723.0000000000958,722.9705,2015-01-01 02:00:33,bin7233,75, -CTSPillarNetworkA,7234,7234,7234,1989-10-22,723.1000000000959,723.0705,2015-01-01 02:00:34,bin7234,35, -CTSPillarNetworkA,7235,7235,7235,1989-10-23,723.2000000000959,723.1705,2015-01-01 02:00:35,bin7235,75, -CTSPillarNetworkA,7236,7236,7236,1989-10-24,723.3000000000959,723.27045,2015-01-01 02:00:36,bin7236,35, -CTSPillarNetworkA,7237,7237,7237,1989-10-25,723.4000000000959,723.3704,2015-01-01 02:00:37,bin7237,75, -CTSPillarNetworkA,7238,7238,7238,1989-10-26,723.500000000096,723.4704,2015-01-01 02:00:38,bin7238,35, -CTSPillarNetworkA,7239,7239,7239,1989-10-27,723.600000000096,723.5704,2015-01-01 02:00:39,bin7239,75, -CTSPillarNetworkA,7240,7240,7240,1989-10-28,723.700000000096,723.67035,2015-01-01 02:00:40,bin7240,35, -CTSPillarNetworkA,7241,7241,7241,1989-10-29,723.800000000096,723.7703,2015-01-01 02:00:41,bin7241,75, -CTSPillarNetworkA,7242,7242,7242,1989-10-30,723.900000000096,723.8703,2015-01-01 02:00:42,bin7242,35, -CTSPillarNetworkA,7243,7243,7243,1989-10-31,724.0000000000961,723.9703,2015-01-01 02:00:43,bin7243,75, -CTSPillarNetworkA,7244,7244,7244,1989-11-01,724.1000000000961,724.07025,2015-01-01 02:00:44,bin7244,35, -CTSPillarNetworkA,7245,7245,7245,1989-11-02,724.2000000000961,724.1702,2015-01-01 02:00:45,bin7245,75, -CTSPillarNetworkA,7246,7246,7246,1989-11-03,724.3000000000961,724.2702,2015-01-01 02:00:46,bin7246,35, -CTSPillarNetworkA,7247,7247,7247,1989-11-04,724.4000000000962,724.3702,2015-01-01 02:00:47,bin7247,75, -CTSPillarNetworkA,7248,7248,7248,1989-11-05,724.5000000000962,724.47015,2015-01-01 02:00:48,bin7248,35, -CTSPillarNetworkA,7249,7249,7249,1989-11-06,724.6000000000962,724.5701,2015-01-01 02:00:49,bin7249,75, -CTSPillarNetworkA,7250,7250,7250,1989-11-07,724.7000000000962,724.6701,2015-01-01 02:00:50,bin7250,35, -CTSPillarNetworkA,7251,7251,7251,1989-11-08,724.8000000000962,724.7701,2015-01-01 02:00:51,bin7251,75, -CTSPillarNetworkA,7252,7252,7252,1989-11-09,724.9000000000963,724.87006,2015-01-01 02:00:52,bin7252,35, -CTSPillarNetworkA,7253,7253,7253,1989-11-10,725.0000000000963,724.97003,2015-01-01 02:00:53,bin7253,75, -CTSPillarNetworkA,7254,7254,7254,1989-11-11,725.1000000000963,725.07,2015-01-01 02:00:54,bin7254,35, -CTSPillarNetworkA,7255,7255,7255,1989-11-12,725.2000000000963,725.17,2015-01-01 02:00:55,bin7255,75, -CTSPillarNetworkA,7256,7256,7256,1989-11-13,725.3000000000964,725.26996,2015-01-01 02:00:56,bin7256,35, -CTSPillarNetworkA,7257,7257,7257,1989-11-14,725.4000000000964,725.36993,2015-01-01 02:00:57,bin7257,75, -CTSPillarNetworkA,7258,7258,7258,1989-11-15,725.5000000000964,725.4699,2015-01-01 02:00:58,bin7258,35, -CTSPillarNetworkA,7259,7259,7259,1989-11-16,725.6000000000964,725.5699,2015-01-01 02:00:59,bin7259,75, -CTSPillarNetworkA,7260,7260,7260,1989-11-17,725.7000000000965,725.66986,2015-01-01 02:01:00,bin7260,35, -CTSPillarNetworkA,7261,7261,7261,1989-11-18,725.8000000000965,725.76984,2015-01-01 02:01:01,bin7261,75, -CTSPillarNetworkA,7262,7262,7262,1989-11-19,725.9000000000965,725.8698,2015-01-01 02:01:02,bin7262,35, -CTSPillarNetworkA,7263,7263,7263,1989-11-20,726.0000000000965,725.9698,2015-01-01 02:01:03,bin7263,75, -CTSPillarNetworkA,7264,7264,7264,1989-11-21,726.1000000000965,726.06976,2015-01-01 02:01:04,bin7264,35, -CTSPillarNetworkA,7265,7265,7265,1989-11-22,726.2000000000966,726.16974,2015-01-01 02:01:05,bin7265,75, -CTSPillarNetworkA,7266,7266,7266,1989-11-23,726.3000000000966,726.2697,2015-01-01 02:01:06,bin7266,35, -CTSPillarNetworkA,7267,7267,7267,1989-11-24,726.4000000000966,726.3697,2015-01-01 02:01:07,bin7267,75, -CTSPillarNetworkA,7268,7268,7268,1989-11-25,726.5000000000966,726.46967,2015-01-01 02:01:08,bin7268,35, -CTSPillarNetworkA,7269,7269,7269,1989-11-26,726.6000000000967,726.56964,2015-01-01 02:01:09,bin7269,75, -CTSPillarNetworkA,7270,7270,7270,1989-11-27,726.7000000000967,726.6696,2015-01-01 02:01:10,bin7270,35, -CTSPillarNetworkA,7271,7271,7271,1989-11-28,726.8000000000967,726.7696,2015-01-01 02:01:11,bin7271,75, -CTSPillarNetworkA,7272,7272,7272,1989-11-29,726.9000000000967,726.86957,2015-01-01 02:01:12,bin7272,35, -CTSPillarNetworkA,7273,7273,7273,1989-11-30,727.0000000000967,726.96954,2015-01-01 02:01:13,bin7273,75, -CTSPillarNetworkA,7274,7274,7274,1989-12-01,727.1000000000968,727.0695,2015-01-01 02:01:14,bin7274,35, -CTSPillarNetworkA,7275,7275,7275,1989-12-02,727.2000000000968,727.1695,2015-01-01 02:01:15,bin7275,75, -CTSPillarNetworkA,7276,7276,7276,1989-12-03,727.3000000000968,727.2695,2015-01-01 02:01:16,bin7276,35, -CTSPillarNetworkA,7277,7277,7277,1989-12-04,727.4000000000968,727.36945,2015-01-01 02:01:17,bin7277,75, -CTSPillarNetworkA,7278,7278,7278,1989-12-05,727.5000000000969,727.4694,2015-01-01 02:01:18,bin7278,35, -CTSPillarNetworkA,7279,7279,7279,1989-12-06,727.6000000000969,727.5694,2015-01-01 02:01:19,bin7279,75, -CTSPillarNetworkA,7280,7280,7280,1989-12-07,727.7000000000969,727.6694,2015-01-01 02:01:20,bin7280,35, -CTSPillarNetworkA,7281,7281,7281,1989-12-08,727.8000000000969,727.76935,2015-01-01 02:01:21,bin7281,75, -CTSPillarNetworkA,7282,7282,7282,1989-12-09,727.900000000097,727.8693,2015-01-01 02:01:22,bin7282,35, -CTSPillarNetworkA,7283,7283,7283,1989-12-10,728.000000000097,727.9693,2015-01-01 02:01:23,bin7283,75, -CTSPillarNetworkA,7284,7284,7284,1989-12-11,728.100000000097,728.0693,2015-01-01 02:01:24,bin7284,35, -CTSPillarNetworkA,7285,7285,7285,1989-12-12,728.200000000097,728.16925,2015-01-01 02:01:25,bin7285,75, -CTSPillarNetworkA,7286,7286,7286,1989-12-13,728.300000000097,728.2692,2015-01-01 02:01:26,bin7286,35, -CTSPillarNetworkA,7287,7287,7287,1989-12-14,728.4000000000971,728.3692,2015-01-01 02:01:27,bin7287,75, -CTSPillarNetworkA,7288,7288,7288,1989-12-15,728.5000000000971,728.4692,2015-01-01 02:01:28,bin7288,35, -CTSPillarNetworkA,7289,7289,7289,1989-12-16,728.6000000000971,728.56915,2015-01-01 02:01:29,bin7289,75, -CTSPillarNetworkA,7290,7290,7290,1989-12-17,728.7000000000971,728.6691,2015-01-01 02:01:30,bin7290,35, -CTSPillarNetworkA,7291,7291,7291,1989-12-18,728.8000000000972,728.7691,2015-01-01 02:01:31,bin7291,75, -CTSPillarNetworkA,7292,7292,7292,1989-12-19,728.9000000000972,728.8691,2015-01-01 02:01:32,bin7292,35, -CTSPillarNetworkA,7293,7293,7293,1989-12-20,729.0000000000972,728.96906,2015-01-01 02:01:33,bin7293,75, -CTSPillarNetworkA,7294,7294,7294,1989-12-21,729.1000000000972,729.06903,2015-01-01 02:01:34,bin7294,35, -CTSPillarNetworkA,7295,7295,7295,1989-12-22,729.2000000000972,729.169,2015-01-01 02:01:35,bin7295,75, -CTSPillarNetworkA,7296,7296,7296,1989-12-23,729.3000000000973,729.269,2015-01-01 02:01:36,bin7296,35, -CTSPillarNetworkA,7297,7297,7297,1989-12-24,729.4000000000973,729.36896,2015-01-01 02:01:37,bin7297,75, -CTSPillarNetworkA,7298,7298,7298,1989-12-25,729.5000000000973,729.46893,2015-01-01 02:01:38,bin7298,35, -CTSPillarNetworkA,7299,7299,7299,1989-12-26,729.6000000000973,729.5689,2015-01-01 02:01:39,bin7299,75, -CTSPillarNetworkA,7300,7300,7300,1989-12-27,729.7000000000974,729.6689,2015-01-01 02:01:40,bin7300,35, -CTSPillarNetworkA,7301,7301,7301,1989-12-28,729.8000000000974,729.76886,2015-01-01 02:01:41,bin7301,75, -CTSPillarNetworkA,7302,7302,7302,1989-12-29,729.9000000000974,729.86884,2015-01-01 02:01:42,bin7302,35, -CTSPillarNetworkA,7303,7303,7303,1989-12-30,730.0000000000974,729.9688,2015-01-01 02:01:43,bin7303,75, -CTSPillarNetworkA,7304,7304,7304,1989-12-31,730.1000000000975,730.0688,2015-01-01 02:01:44,bin7304,35, -CTSPillarNetworkA,7305,7305,7305,1990-01-01,730.2000000000975,730.16876,2015-01-01 02:01:45,bin7305,75, -CTSPillarNetworkA,7306,7306,7306,1990-01-02,730.3000000000975,730.26874,2015-01-01 02:01:46,bin7306,35, -CTSPillarNetworkA,7307,7307,7307,1990-01-03,730.4000000000975,730.3687,2015-01-01 02:01:47,bin7307,75, -CTSPillarNetworkA,7308,7308,7308,1990-01-04,730.5000000000975,730.4687,2015-01-01 02:01:48,bin7308,35, -CTSPillarNetworkA,7309,7309,7309,1990-01-05,730.6000000000976,730.56866,2015-01-01 02:01:49,bin7309,75, -CTSPillarNetworkA,7310,7310,7310,1990-01-06,730.7000000000976,730.66864,2015-01-01 02:01:50,bin7310,35, -CTSPillarNetworkA,7311,7311,7311,1990-01-07,730.8000000000976,730.7686,2015-01-01 02:01:51,bin7311,75, -CTSPillarNetworkA,7312,7312,7312,1990-01-08,730.9000000000976,730.8686,2015-01-01 02:01:52,bin7312,35, -CTSPillarNetworkA,7313,7313,7313,1990-01-09,731.0000000000977,730.96857,2015-01-01 02:01:53,bin7313,75, -CTSPillarNetworkA,7314,7314,7314,1990-01-10,731.1000000000977,731.06854,2015-01-01 02:01:54,bin7314,35, -CTSPillarNetworkA,7315,7315,7315,1990-01-11,731.2000000000977,731.1685,2015-01-01 02:01:55,bin7315,75, -CTSPillarNetworkA,7316,7316,7316,1990-01-12,731.3000000000977,731.2685,2015-01-01 02:01:56,bin7316,35, -CTSPillarNetworkA,7317,7317,7317,1990-01-13,731.4000000000977,731.36847,2015-01-01 02:01:57,bin7317,75, -CTSPillarNetworkA,7318,7318,7318,1990-01-14,731.5000000000978,731.46844,2015-01-01 02:01:58,bin7318,35, -CTSPillarNetworkA,7319,7319,7319,1990-01-15,731.6000000000978,731.5684,2015-01-01 02:01:59,bin7319,75, -CTSPillarNetworkA,7320,7320,7320,1990-01-16,731.7000000000978,731.6684,2015-01-01 02:02:00,bin7320,35, -CTSPillarNetworkA,7321,7321,7321,1990-01-17,731.8000000000978,731.7684,2015-01-01 02:02:01,bin7321,75, -CTSPillarNetworkA,7322,7322,7322,1990-01-18,731.9000000000979,731.86835,2015-01-01 02:02:02,bin7322,35, -CTSPillarNetworkA,7323,7323,7323,1990-01-19,732.0000000000979,731.9683,2015-01-01 02:02:03,bin7323,75, -CTSPillarNetworkA,7324,7324,7324,1990-01-20,732.1000000000979,732.0683,2015-01-01 02:02:04,bin7324,35, -CTSPillarNetworkA,7325,7325,7325,1990-01-21,732.2000000000979,732.1683,2015-01-01 02:02:05,bin7325,75, -CTSPillarNetworkA,7326,7326,7326,1990-01-22,732.300000000098,732.26825,2015-01-01 02:02:06,bin7326,35, -CTSPillarNetworkA,7327,7327,7327,1990-01-23,732.400000000098,732.3682,2015-01-01 02:02:07,bin7327,75, -CTSPillarNetworkA,7328,7328,7328,1990-01-24,732.500000000098,732.4682,2015-01-01 02:02:08,bin7328,35, -CTSPillarNetworkA,7329,7329,7329,1990-01-25,732.600000000098,732.5682,2015-01-01 02:02:09,bin7329,75, -CTSPillarNetworkA,7330,7330,7330,1990-01-26,732.700000000098,732.66815,2015-01-01 02:02:10,bin7330,35, -CTSPillarNetworkA,7331,7331,7331,1990-01-27,732.8000000000981,732.7681,2015-01-01 02:02:11,bin7331,75, -CTSPillarNetworkA,7332,7332,7332,1990-01-28,732.9000000000981,732.8681,2015-01-01 02:02:12,bin7332,35, -CTSPillarNetworkA,7333,7333,7333,1990-01-29,733.0000000000981,732.9681,2015-01-01 02:02:13,bin7333,75, -CTSPillarNetworkA,7334,7334,7334,1990-01-30,733.1000000000981,733.06805,2015-01-01 02:02:14,bin7334,35, -CTSPillarNetworkA,7335,7335,7335,1990-01-31,733.2000000000982,733.168,2015-01-01 02:02:15,bin7335,75, -CTSPillarNetworkA,7336,7336,7336,1990-02-01,733.3000000000982,733.268,2015-01-01 02:02:16,bin7336,35, -CTSPillarNetworkA,7337,7337,7337,1990-02-02,733.4000000000982,733.368,2015-01-01 02:02:17,bin7337,75, -CTSPillarNetworkA,7338,7338,7338,1990-02-03,733.5000000000982,733.46796,2015-01-01 02:02:18,bin7338,35, -CTSPillarNetworkA,7339,7339,7339,1990-02-04,733.6000000000982,733.56793,2015-01-01 02:02:19,bin7339,75, -CTSPillarNetworkA,7340,7340,7340,1990-02-05,733.7000000000983,733.6679,2015-01-01 02:02:20,bin7340,35, -CTSPillarNetworkA,7341,7341,7341,1990-02-06,733.8000000000983,733.7679,2015-01-01 02:02:21,bin7341,75, -CTSPillarNetworkA,7342,7342,7342,1990-02-07,733.9000000000983,733.86786,2015-01-01 02:02:22,bin7342,35, -CTSPillarNetworkA,7343,7343,7343,1990-02-08,734.0000000000983,733.96783,2015-01-01 02:02:23,bin7343,75, -CTSPillarNetworkA,7344,7344,7344,1990-02-09,734.1000000000984,734.0678,2015-01-01 02:02:24,bin7344,35, -CTSPillarNetworkA,7345,7345,7345,1990-02-10,734.2000000000984,734.1678,2015-01-01 02:02:25,bin7345,75, -CTSPillarNetworkA,7346,7346,7346,1990-02-11,734.3000000000984,734.26776,2015-01-01 02:02:26,bin7346,35, -CTSPillarNetworkA,7347,7347,7347,1990-02-12,734.4000000000984,734.36774,2015-01-01 02:02:27,bin7347,75, -CTSPillarNetworkA,7348,7348,7348,1990-02-13,734.5000000000985,734.4677,2015-01-01 02:02:28,bin7348,35, -CTSPillarNetworkA,7349,7349,7349,1990-02-14,734.6000000000985,734.5677,2015-01-01 02:02:29,bin7349,75, -CTSPillarNetworkA,7350,7350,7350,1990-02-15,734.7000000000985,734.66766,2015-01-01 02:02:30,bin7350,35, -CTSPillarNetworkA,7351,7351,7351,1990-02-16,734.8000000000985,734.76764,2015-01-01 02:02:31,bin7351,75, -CTSPillarNetworkA,7352,7352,7352,1990-02-17,734.9000000000985,734.8676,2015-01-01 02:02:32,bin7352,35, -CTSPillarNetworkA,7353,7353,7353,1990-02-18,735.0000000000986,734.9676,2015-01-01 02:02:33,bin7353,75, -CTSPillarNetworkA,7354,7354,7354,1990-02-19,735.1000000000986,735.06757,2015-01-01 02:02:34,bin7354,35, -CTSPillarNetworkA,7355,7355,7355,1990-02-20,735.2000000000986,735.16754,2015-01-01 02:02:35,bin7355,75, -CTSPillarNetworkA,7356,7356,7356,1990-02-21,735.3000000000986,735.2675,2015-01-01 02:02:36,bin7356,35, -CTSPillarNetworkA,7357,7357,7357,1990-02-22,735.4000000000987,735.3675,2015-01-01 02:02:37,bin7357,75, -CTSPillarNetworkA,7358,7358,7358,1990-02-23,735.5000000000987,735.46747,2015-01-01 02:02:38,bin7358,35, -CTSPillarNetworkA,7359,7359,7359,1990-02-24,735.6000000000987,735.56744,2015-01-01 02:02:39,bin7359,75, -CTSPillarNetworkA,7360,7360,7360,1990-02-25,735.7000000000987,735.6674,2015-01-01 02:02:40,bin7360,35, -CTSPillarNetworkA,7361,7361,7361,1990-02-26,735.8000000000987,735.7674,2015-01-01 02:02:41,bin7361,75, -CTSPillarNetworkA,7362,7362,7362,1990-02-27,735.9000000000988,735.8674,2015-01-01 02:02:42,bin7362,35, -CTSPillarNetworkA,7363,7363,7363,1990-02-28,736.0000000000988,735.96735,2015-01-01 02:02:43,bin7363,75, -CTSPillarNetworkA,7364,7364,7364,1990-03-01,736.1000000000988,736.0673,2015-01-01 02:02:44,bin7364,35, -CTSPillarNetworkA,7365,7365,7365,1990-03-02,736.2000000000988,736.1673,2015-01-01 02:02:45,bin7365,75, -CTSPillarNetworkA,7366,7366,7366,1990-03-03,736.3000000000989,736.2673,2015-01-01 02:02:46,bin7366,35, -CTSPillarNetworkA,7367,7367,7367,1990-03-04,736.4000000000989,736.36725,2015-01-01 02:02:47,bin7367,75, -CTSPillarNetworkA,7368,7368,7368,1990-03-05,736.5000000000989,736.4672,2015-01-01 02:02:48,bin7368,35, -CTSPillarNetworkA,7369,7369,7369,1990-03-06,736.6000000000989,736.5672,2015-01-01 02:02:49,bin7369,75, -CTSPillarNetworkA,7370,7370,7370,1990-03-07,736.700000000099,736.6672,2015-01-01 02:02:50,bin7370,35, -CTSPillarNetworkA,7371,7371,7371,1990-03-08,736.800000000099,736.76715,2015-01-01 02:02:51,bin7371,75, -CTSPillarNetworkA,7372,7372,7372,1990-03-09,736.900000000099,736.8671,2015-01-01 02:02:52,bin7372,35, -CTSPillarNetworkA,7373,7373,7373,1990-03-10,737.000000000099,736.9671,2015-01-01 02:02:53,bin7373,75, -CTSPillarNetworkA,7374,7374,7374,1990-03-11,737.100000000099,737.0671,2015-01-01 02:02:54,bin7374,35, -CTSPillarNetworkA,7375,7375,7375,1990-03-12,737.2000000000991,737.16705,2015-01-01 02:02:55,bin7375,75, -CTSPillarNetworkA,7376,7376,7376,1990-03-13,737.3000000000991,737.267,2015-01-01 02:02:56,bin7376,35, -CTSPillarNetworkA,7377,7377,7377,1990-03-14,737.4000000000991,737.367,2015-01-01 02:02:57,bin7377,75, -CTSPillarNetworkA,7378,7378,7378,1990-03-15,737.5000000000991,737.467,2015-01-01 02:02:58,bin7378,35, -CTSPillarNetworkA,7379,7379,7379,1990-03-16,737.6000000000992,737.56696,2015-01-01 02:02:59,bin7379,75, -CTSPillarNetworkA,7380,7380,7380,1990-03-17,737.7000000000992,737.66693,2015-01-01 02:03:00,bin7380,35, -CTSPillarNetworkA,7381,7381,7381,1990-03-18,737.8000000000992,737.7669,2015-01-01 02:03:01,bin7381,75, -CTSPillarNetworkA,7382,7382,7382,1990-03-19,737.9000000000992,737.8669,2015-01-01 02:03:02,bin7382,35, -CTSPillarNetworkA,7383,7383,7383,1990-03-20,738.0000000000992,737.96686,2015-01-01 02:03:03,bin7383,75, -CTSPillarNetworkA,7384,7384,7384,1990-03-21,738.1000000000993,738.06683,2015-01-01 02:03:04,bin7384,35, -CTSPillarNetworkA,7385,7385,7385,1990-03-22,738.2000000000993,738.1668,2015-01-01 02:03:05,bin7385,75, -CTSPillarNetworkA,7386,7386,7386,1990-03-23,738.3000000000993,738.2668,2015-01-01 02:03:06,bin7386,35, -CTSPillarNetworkA,7387,7387,7387,1990-03-24,738.4000000000993,738.36676,2015-01-01 02:03:07,bin7387,75, -CTSPillarNetworkA,7388,7388,7388,1990-03-25,738.5000000000994,738.46674,2015-01-01 02:03:08,bin7388,35, -CTSPillarNetworkA,7389,7389,7389,1990-03-26,738.6000000000994,738.5667,2015-01-01 02:03:09,bin7389,75, -CTSPillarNetworkA,7390,7390,7390,1990-03-27,738.7000000000994,738.6667,2015-01-01 02:03:10,bin7390,35, -CTSPillarNetworkA,7391,7391,7391,1990-03-28,738.8000000000994,738.76666,2015-01-01 02:03:11,bin7391,75, -CTSPillarNetworkA,7392,7392,7392,1990-03-29,738.9000000000995,738.86664,2015-01-01 02:03:12,bin7392,35, -CTSPillarNetworkA,7393,7393,7393,1990-03-30,739.0000000000995,738.9666,2015-01-01 02:03:13,bin7393,75, -CTSPillarNetworkA,7394,7394,7394,1990-03-31,739.1000000000995,739.0666,2015-01-01 02:03:14,bin7394,35, -CTSPillarNetworkA,7395,7395,7395,1990-04-01,739.2000000000995,739.16656,2015-01-01 02:03:15,bin7395,75, -CTSPillarNetworkA,7396,7396,7396,1990-04-02,739.3000000000995,739.26654,2015-01-01 02:03:16,bin7396,35, -CTSPillarNetworkA,7397,7397,7397,1990-04-03,739.4000000000996,739.3665,2015-01-01 02:03:17,bin7397,75, -CTSPillarNetworkA,7398,7398,7398,1990-04-04,739.5000000000996,739.4665,2015-01-01 02:03:18,bin7398,35, -CTSPillarNetworkA,7399,7399,7399,1990-04-05,739.6000000000996,739.56647,2015-01-01 02:03:19,bin7399,75, -CTSPillarNetworkA,7400,7400,7400,1990-04-06,739.7000000000996,739.66644,2015-01-01 02:03:20,bin7400,35, -CTSPillarNetworkA,7401,7401,7401,1990-04-07,739.8000000000997,739.7664,2015-01-01 02:03:21,bin7401,75, -CTSPillarNetworkA,7402,7402,7402,1990-04-08,739.9000000000997,739.8664,2015-01-01 02:03:22,bin7402,35, -CTSPillarNetworkA,7403,7403,7403,1990-04-09,740.0000000000997,739.9664,2015-01-01 02:03:23,bin7403,75, -CTSPillarNetworkA,7404,7404,7404,1990-04-10,740.1000000000997,740.06635,2015-01-01 02:03:24,bin7404,35, -CTSPillarNetworkA,7405,7405,7405,1990-04-11,740.2000000000997,740.1663,2015-01-01 02:03:25,bin7405,75, -CTSPillarNetworkA,7406,7406,7406,1990-04-12,740.3000000000998,740.2663,2015-01-01 02:03:26,bin7406,35, -CTSPillarNetworkA,7407,7407,7407,1990-04-13,740.4000000000998,740.3663,2015-01-01 02:03:27,bin7407,75, -CTSPillarNetworkA,7408,7408,7408,1990-04-14,740.5000000000998,740.46625,2015-01-01 02:03:28,bin7408,35, -CTSPillarNetworkA,7409,7409,7409,1990-04-15,740.6000000000998,740.5662,2015-01-01 02:03:29,bin7409,75, -CTSPillarNetworkA,7410,7410,7410,1990-04-16,740.7000000000999,740.6662,2015-01-01 02:03:30,bin7410,35, -CTSPillarNetworkA,7411,7411,7411,1990-04-17,740.8000000000999,740.7662,2015-01-01 02:03:31,bin7411,75, -CTSPillarNetworkA,7412,7412,7412,1990-04-18,740.9000000000999,740.86615,2015-01-01 02:03:32,bin7412,35, -CTSPillarNetworkA,7413,7413,7413,1990-04-19,741.0000000000999,740.9661,2015-01-01 02:03:33,bin7413,75, -CTSPillarNetworkA,7414,7414,7414,1990-04-20,741.1000000001,741.0661,2015-01-01 02:03:34,bin7414,35, -CTSPillarNetworkA,7415,7415,7415,1990-04-21,741.2000000001,741.1661,2015-01-01 02:03:35,bin7415,75, -CTSPillarNetworkA,7416,7416,7416,1990-04-22,741.3000000001,741.26605,2015-01-01 02:03:36,bin7416,35, -CTSPillarNetworkA,7417,7417,7417,1990-04-23,741.4000000001,741.366,2015-01-01 02:03:37,bin7417,75, -CTSPillarNetworkA,7418,7418,7418,1990-04-24,741.5000000001,741.466,2015-01-01 02:03:38,bin7418,35, -CTSPillarNetworkA,7419,7419,7419,1990-04-25,741.6000000001001,741.566,2015-01-01 02:03:39,bin7419,75, -CTSPillarNetworkA,7420,7420,7420,1990-04-26,741.7000000001001,741.66595,2015-01-01 02:03:40,bin7420,35, -CTSPillarNetworkA,7421,7421,7421,1990-04-27,741.8000000001001,741.7659,2015-01-01 02:03:41,bin7421,75, -CTSPillarNetworkA,7422,7422,7422,1990-04-28,741.9000000001001,741.8659,2015-01-01 02:03:42,bin7422,35, -CTSPillarNetworkA,7423,7423,7423,1990-04-29,742.0000000001002,741.9659,2015-01-01 02:03:43,bin7423,75, -CTSPillarNetworkA,7424,7424,7424,1990-04-30,742.1000000001002,742.06586,2015-01-01 02:03:44,bin7424,35, -CTSPillarNetworkA,7425,7425,7425,1990-05-01,742.2000000001002,742.16583,2015-01-01 02:03:45,bin7425,75, -CTSPillarNetworkA,7426,7426,7426,1990-05-02,742.3000000001002,742.2658,2015-01-01 02:03:46,bin7426,35, -CTSPillarNetworkA,7427,7427,7427,1990-05-03,742.4000000001002,742.3658,2015-01-01 02:03:47,bin7427,75, -CTSPillarNetworkA,7428,7428,7428,1990-05-04,742.5000000001003,742.46576,2015-01-01 02:03:48,bin7428,35, -CTSPillarNetworkA,7429,7429,7429,1990-05-05,742.6000000001003,742.56573,2015-01-01 02:03:49,bin7429,75, -CTSPillarNetworkA,7430,7430,7430,1990-05-06,742.7000000001003,742.6657,2015-01-01 02:03:50,bin7430,35, -CTSPillarNetworkA,7431,7431,7431,1990-05-07,742.8000000001003,742.7657,2015-01-01 02:03:51,bin7431,75, -CTSPillarNetworkA,7432,7432,7432,1990-05-08,742.9000000001004,742.86566,2015-01-01 02:03:52,bin7432,35, -CTSPillarNetworkA,7433,7433,7433,1990-05-09,743.0000000001004,742.96564,2015-01-01 02:03:53,bin7433,75, -CTSPillarNetworkA,7434,7434,7434,1990-05-10,743.1000000001004,743.0656,2015-01-01 02:03:54,bin7434,35, -CTSPillarNetworkA,7435,7435,7435,1990-05-11,743.2000000001004,743.1656,2015-01-01 02:03:55,bin7435,75, -CTSPillarNetworkA,7436,7436,7436,1990-05-12,743.3000000001005,743.26556,2015-01-01 02:03:56,bin7436,35, -CTSPillarNetworkA,7437,7437,7437,1990-05-13,743.4000000001005,743.36554,2015-01-01 02:03:57,bin7437,75, -CTSPillarNetworkA,7438,7438,7438,1990-05-14,743.5000000001005,743.4655,2015-01-01 02:03:58,bin7438,35, -CTSPillarNetworkA,7439,7439,7439,1990-05-15,743.6000000001005,743.5655,2015-01-01 02:03:59,bin7439,75, -CTSPillarNetworkA,7440,7440,7440,1990-05-16,743.7000000001005,743.66547,2015-01-01 02:04:00,bin7440,35, -CTSPillarNetworkA,7441,7441,7441,1990-05-17,743.8000000001006,743.76544,2015-01-01 02:04:01,bin7441,75, -CTSPillarNetworkA,7442,7442,7442,1990-05-18,743.9000000001006,743.8654,2015-01-01 02:04:02,bin7442,35, -CTSPillarNetworkA,7443,7443,7443,1990-05-19,744.0000000001006,743.9654,2015-01-01 02:04:03,bin7443,75, -CTSPillarNetworkA,7444,7444,7444,1990-05-20,744.1000000001006,744.06537,2015-01-01 02:04:04,bin7444,35, -CTSPillarNetworkA,7445,7445,7445,1990-05-21,744.2000000001007,744.16534,2015-01-01 02:04:05,bin7445,75, -CTSPillarNetworkA,7446,7446,7446,1990-05-22,744.3000000001007,744.2653,2015-01-01 02:04:06,bin7446,35, -CTSPillarNetworkA,7447,7447,7447,1990-05-23,744.4000000001007,744.3653,2015-01-01 02:04:07,bin7447,75, -CTSPillarNetworkA,7448,7448,7448,1990-05-24,744.5000000001007,744.4653,2015-01-01 02:04:08,bin7448,35, -CTSPillarNetworkA,7449,7449,7449,1990-05-25,744.6000000001007,744.56525,2015-01-01 02:04:09,bin7449,75, -CTSPillarNetworkA,7450,7450,7450,1990-05-26,744.7000000001008,744.6652,2015-01-01 02:04:10,bin7450,35, -CTSPillarNetworkA,7451,7451,7451,1990-05-27,744.8000000001008,744.7652,2015-01-01 02:04:11,bin7451,75, -CTSPillarNetworkA,7452,7452,7452,1990-05-28,744.9000000001008,744.8652,2015-01-01 02:04:12,bin7452,35, -CTSPillarNetworkA,7453,7453,7453,1990-05-29,745.0000000001008,744.96515,2015-01-01 02:04:13,bin7453,75, -CTSPillarNetworkA,7454,7454,7454,1990-05-30,745.1000000001009,745.0651,2015-01-01 02:04:14,bin7454,35, -CTSPillarNetworkA,7455,7455,7455,1990-05-31,745.2000000001009,745.1651,2015-01-01 02:04:15,bin7455,75, -CTSPillarNetworkA,7456,7456,7456,1990-06-01,745.3000000001009,745.2651,2015-01-01 02:04:16,bin7456,35, -CTSPillarNetworkA,7457,7457,7457,1990-06-02,745.4000000001009,745.36505,2015-01-01 02:04:17,bin7457,75, -CTSPillarNetworkA,7458,7458,7458,1990-06-03,745.500000000101,745.465,2015-01-01 02:04:18,bin7458,35, -CTSPillarNetworkA,7459,7459,7459,1990-06-04,745.600000000101,745.565,2015-01-01 02:04:19,bin7459,75, -CTSPillarNetworkA,7460,7460,7460,1990-06-05,745.700000000101,745.665,2015-01-01 02:04:20,bin7460,35, -CTSPillarNetworkA,7461,7461,7461,1990-06-06,745.800000000101,745.76495,2015-01-01 02:04:21,bin7461,75, -CTSPillarNetworkA,7462,7462,7462,1990-06-07,745.900000000101,745.8649,2015-01-01 02:04:22,bin7462,35, -CTSPillarNetworkA,7463,7463,7463,1990-06-08,746.0000000001011,745.9649,2015-01-01 02:04:23,bin7463,75, -CTSPillarNetworkA,7464,7464,7464,1990-06-09,746.1000000001011,746.0649,2015-01-01 02:04:24,bin7464,35, -CTSPillarNetworkA,7465,7465,7465,1990-06-10,746.2000000001011,746.16486,2015-01-01 02:04:25,bin7465,75, -CTSPillarNetworkA,7466,7466,7466,1990-06-11,746.3000000001011,746.26483,2015-01-01 02:04:26,bin7466,35, -CTSPillarNetworkA,7467,7467,7467,1990-06-12,746.4000000001012,746.3648,2015-01-01 02:04:27,bin7467,75, -CTSPillarNetworkA,7468,7468,7468,1990-06-13,746.5000000001012,746.4648,2015-01-01 02:04:28,bin7468,35, -CTSPillarNetworkA,7469,7469,7469,1990-06-14,746.6000000001012,746.56476,2015-01-01 02:04:29,bin7469,75, -CTSPillarNetworkA,7470,7470,7470,1990-06-15,746.7000000001012,746.66473,2015-01-01 02:04:30,bin7470,35, -CTSPillarNetworkA,7471,7471,7471,1990-06-16,746.8000000001012,746.7647,2015-01-01 02:04:31,bin7471,75, -CTSPillarNetworkA,7472,7472,7472,1990-06-17,746.9000000001013,746.8647,2015-01-01 02:04:32,bin7472,35, -CTSPillarNetworkA,7473,7473,7473,1990-06-18,747.0000000001013,746.96466,2015-01-01 02:04:33,bin7473,75, -CTSPillarNetworkA,7474,7474,7474,1990-06-19,747.1000000001013,747.06464,2015-01-01 02:04:34,bin7474,35, -CTSPillarNetworkA,7475,7475,7475,1990-06-20,747.2000000001013,747.1646,2015-01-01 02:04:35,bin7475,75, -CTSPillarNetworkA,7476,7476,7476,1990-06-21,747.3000000001014,747.2646,2015-01-01 02:04:36,bin7476,35, -CTSPillarNetworkA,7477,7477,7477,1990-06-22,747.4000000001014,747.36456,2015-01-01 02:04:37,bin7477,75, -CTSPillarNetworkA,7478,7478,7478,1990-06-23,747.5000000001014,747.46454,2015-01-01 02:04:38,bin7478,35, -CTSPillarNetworkA,7479,7479,7479,1990-06-24,747.6000000001014,747.5645,2015-01-01 02:04:39,bin7479,75, -CTSPillarNetworkA,7480,7480,7480,1990-06-25,747.7000000001015,747.6645,2015-01-01 02:04:40,bin7480,35, -CTSPillarNetworkA,7481,7481,7481,1990-06-26,747.8000000001015,747.76447,2015-01-01 02:04:41,bin7481,75, -CTSPillarNetworkA,7482,7482,7482,1990-06-27,747.9000000001015,747.86444,2015-01-01 02:04:42,bin7482,35, -CTSPillarNetworkA,7483,7483,7483,1990-06-28,748.0000000001015,747.9644,2015-01-01 02:04:43,bin7483,75, -CTSPillarNetworkA,7484,7484,7484,1990-06-29,748.1000000001015,748.0644,2015-01-01 02:04:44,bin7484,35, -CTSPillarNetworkA,7485,7485,7485,1990-06-30,748.2000000001016,748.16437,2015-01-01 02:04:45,bin7485,75, -CTSPillarNetworkA,7486,7486,7486,1990-07-01,748.3000000001016,748.26434,2015-01-01 02:04:46,bin7486,35, -CTSPillarNetworkA,7487,7487,7487,1990-07-02,748.4000000001016,748.3643,2015-01-01 02:04:47,bin7487,75, -CTSPillarNetworkA,7488,7488,7488,1990-07-03,748.5000000001016,748.4643,2015-01-01 02:04:48,bin7488,35, -CTSPillarNetworkA,7489,7489,7489,1990-07-04,748.6000000001017,748.5643,2015-01-01 02:04:49,bin7489,75, -CTSPillarNetworkA,7490,7490,7490,1990-07-05,748.7000000001017,748.66425,2015-01-01 02:04:50,bin7490,35, -CTSPillarNetworkA,7491,7491,7491,1990-07-06,748.8000000001017,748.7642,2015-01-01 02:04:51,bin7491,75, -CTSPillarNetworkA,7492,7492,7492,1990-07-07,748.9000000001017,748.8642,2015-01-01 02:04:52,bin7492,35, -CTSPillarNetworkA,7493,7493,7493,1990-07-08,749.0000000001017,748.9642,2015-01-01 02:04:53,bin7493,75, -CTSPillarNetworkA,7494,7494,7494,1990-07-09,749.1000000001018,749.06415,2015-01-01 02:04:54,bin7494,35, -CTSPillarNetworkA,7495,7495,7495,1990-07-10,749.2000000001018,749.1641,2015-01-01 02:04:55,bin7495,75, -CTSPillarNetworkA,7496,7496,7496,1990-07-11,749.3000000001018,749.2641,2015-01-01 02:04:56,bin7496,35, -CTSPillarNetworkA,7497,7497,7497,1990-07-12,749.4000000001018,749.3641,2015-01-01 02:04:57,bin7497,75, -CTSPillarNetworkA,7498,7498,7498,1990-07-13,749.5000000001019,749.46405,2015-01-01 02:04:58,bin7498,35, -CTSPillarNetworkA,7499,7499,7499,1990-07-14,749.6000000001019,749.564,2015-01-01 02:04:59,bin7499,75, -CTSPillarNetworkA,7500,7500,7500,1990-07-15,749.7000000001019,749.664,2015-01-01 02:05:00,bin7500,35, -CTSPillarNetworkA,7501,7501,7501,1990-07-16,749.8000000001019,749.764,2015-01-01 02:05:01,bin7501,75, -CTSPillarNetworkA,7502,7502,7502,1990-07-17,749.900000000102,749.86395,2015-01-01 02:05:02,bin7502,35, -CTSPillarNetworkA,7503,7503,7503,1990-07-18,750.000000000102,749.9639,2015-01-01 02:05:03,bin7503,75, -CTSPillarNetworkA,7504,7504,7504,1990-07-19,750.100000000102,750.0639,2015-01-01 02:05:04,bin7504,35, -CTSPillarNetworkA,7505,7505,7505,1990-07-20,750.200000000102,750.1639,2015-01-01 02:05:05,bin7505,75, -CTSPillarNetworkA,7506,7506,7506,1990-07-21,750.300000000102,750.26385,2015-01-01 02:05:06,bin7506,35, -CTSPillarNetworkA,7507,7507,7507,1990-07-22,750.4000000001021,750.36383,2015-01-01 02:05:07,bin7507,75, -CTSPillarNetworkA,7508,7508,7508,1990-07-23,750.5000000001021,750.4638,2015-01-01 02:05:08,bin7508,35, -CTSPillarNetworkA,7509,7509,7509,1990-07-24,750.6000000001021,750.5638,2015-01-01 02:05:09,bin7509,75, -CTSPillarNetworkA,7510,7510,7510,1990-07-25,750.7000000001021,750.66376,2015-01-01 02:05:10,bin7510,35, -CTSPillarNetworkA,7511,7511,7511,1990-07-26,750.8000000001022,750.76373,2015-01-01 02:05:11,bin7511,75, -CTSPillarNetworkA,7512,7512,7512,1990-07-27,750.9000000001022,750.8637,2015-01-01 02:05:12,bin7512,35, -CTSPillarNetworkA,7513,7513,7513,1990-07-28,751.0000000001022,750.9637,2015-01-01 02:05:13,bin7513,75, -CTSPillarNetworkA,7514,7514,7514,1990-07-29,751.1000000001022,751.06366,2015-01-01 02:05:14,bin7514,35, -CTSPillarNetworkA,7515,7515,7515,1990-07-30,751.2000000001022,751.16364,2015-01-01 02:05:15,bin7515,75, -CTSPillarNetworkA,7516,7516,7516,1990-07-31,751.3000000001023,751.2636,2015-01-01 02:05:16,bin7516,35, -CTSPillarNetworkA,7517,7517,7517,1990-08-01,751.4000000001023,751.3636,2015-01-01 02:05:17,bin7517,75, -CTSPillarNetworkA,7518,7518,7518,1990-08-02,751.5000000001023,751.46356,2015-01-01 02:05:18,bin7518,35, -CTSPillarNetworkA,7519,7519,7519,1990-08-03,751.6000000001023,751.56354,2015-01-01 02:05:19,bin7519,75, -CTSPillarNetworkA,7520,7520,7520,1990-08-04,751.7000000001024,751.6635,2015-01-01 02:05:20,bin7520,35, -CTSPillarNetworkA,7521,7521,7521,1990-08-05,751.8000000001024,751.7635,2015-01-01 02:05:21,bin7521,75, -CTSPillarNetworkA,7522,7522,7522,1990-08-06,751.9000000001024,751.86346,2015-01-01 02:05:22,bin7522,35, -CTSPillarNetworkA,7523,7523,7523,1990-08-07,752.0000000001024,751.96344,2015-01-01 02:05:23,bin7523,75, -CTSPillarNetworkA,7524,7524,7524,1990-08-08,752.1000000001025,752.0634,2015-01-01 02:05:24,bin7524,35, -CTSPillarNetworkA,7525,7525,7525,1990-08-09,752.2000000001025,752.1634,2015-01-01 02:05:25,bin7525,75, -CTSPillarNetworkA,7526,7526,7526,1990-08-10,752.3000000001025,752.26337,2015-01-01 02:05:26,bin7526,35, -CTSPillarNetworkA,7527,7527,7527,1990-08-11,752.4000000001025,752.36334,2015-01-01 02:05:27,bin7527,75, -CTSPillarNetworkA,7528,7528,7528,1990-08-12,752.5000000001025,752.4633,2015-01-01 02:05:28,bin7528,35, -CTSPillarNetworkA,7529,7529,7529,1990-08-13,752.6000000001026,752.5633,2015-01-01 02:05:29,bin7529,75, -CTSPillarNetworkA,7530,7530,7530,1990-08-14,752.7000000001026,752.66327,2015-01-01 02:05:30,bin7530,35, -CTSPillarNetworkA,7531,7531,7531,1990-08-15,752.8000000001026,752.76324,2015-01-01 02:05:31,bin7531,75, -CTSPillarNetworkA,7532,7532,7532,1990-08-16,752.9000000001026,752.8632,2015-01-01 02:05:32,bin7532,35, -CTSPillarNetworkA,7533,7533,7533,1990-08-17,753.0000000001027,752.9632,2015-01-01 02:05:33,bin7533,75, -CTSPillarNetworkA,7534,7534,7534,1990-08-18,753.1000000001027,753.0632,2015-01-01 02:05:34,bin7534,35, -CTSPillarNetworkA,7535,7535,7535,1990-08-19,753.2000000001027,753.16315,2015-01-01 02:05:35,bin7535,75, -CTSPillarNetworkA,7536,7536,7536,1990-08-20,753.3000000001027,753.2631,2015-01-01 02:05:36,bin7536,35, -CTSPillarNetworkA,7537,7537,7537,1990-08-21,753.4000000001028,753.3631,2015-01-01 02:05:37,bin7537,75, -CTSPillarNetworkA,7538,7538,7538,1990-08-22,753.5000000001028,753.4631,2015-01-01 02:05:38,bin7538,35, -CTSPillarNetworkA,7539,7539,7539,1990-08-23,753.6000000001028,753.56305,2015-01-01 02:05:39,bin7539,75, -CTSPillarNetworkA,7540,7540,7540,1990-08-24,753.7000000001028,753.663,2015-01-01 02:05:40,bin7540,35, -CTSPillarNetworkA,7541,7541,7541,1990-08-25,753.8000000001028,753.763,2015-01-01 02:05:41,bin7541,75, -CTSPillarNetworkA,7542,7542,7542,1990-08-26,753.9000000001029,753.863,2015-01-01 02:05:42,bin7542,35, -CTSPillarNetworkA,7543,7543,7543,1990-08-27,754.0000000001029,753.96295,2015-01-01 02:05:43,bin7543,75, -CTSPillarNetworkA,7544,7544,7544,1990-08-28,754.1000000001029,754.0629,2015-01-01 02:05:44,bin7544,35, -CTSPillarNetworkA,7545,7545,7545,1990-08-29,754.2000000001029,754.1629,2015-01-01 02:05:45,bin7545,75, -CTSPillarNetworkA,7546,7546,7546,1990-08-30,754.300000000103,754.2629,2015-01-01 02:05:46,bin7546,35, -CTSPillarNetworkA,7547,7547,7547,1990-08-31,754.400000000103,754.36285,2015-01-01 02:05:47,bin7547,75, -CTSPillarNetworkA,7548,7548,7548,1990-09-01,754.500000000103,754.4628,2015-01-01 02:05:48,bin7548,35, -CTSPillarNetworkA,7549,7549,7549,1990-09-02,754.600000000103,754.5628,2015-01-01 02:05:49,bin7549,75, -CTSPillarNetworkA,7550,7550,7550,1990-09-03,754.700000000103,754.6628,2015-01-01 02:05:50,bin7550,35, -CTSPillarNetworkA,7551,7551,7551,1990-09-04,754.8000000001031,754.76276,2015-01-01 02:05:51,bin7551,75, -CTSPillarNetworkA,7552,7552,7552,1990-09-05,754.9000000001031,754.86273,2015-01-01 02:05:52,bin7552,35, -CTSPillarNetworkA,7553,7553,7553,1990-09-06,755.0000000001031,754.9627,2015-01-01 02:05:53,bin7553,75, -CTSPillarNetworkA,7554,7554,7554,1990-09-07,755.1000000001031,755.0627,2015-01-01 02:05:54,bin7554,35, -CTSPillarNetworkA,7555,7555,7555,1990-09-08,755.2000000001032,755.16266,2015-01-01 02:05:55,bin7555,75, -CTSPillarNetworkA,7556,7556,7556,1990-09-09,755.3000000001032,755.26263,2015-01-01 02:05:56,bin7556,35, -CTSPillarNetworkA,7557,7557,7557,1990-09-10,755.4000000001032,755.3626,2015-01-01 02:05:57,bin7557,75, -CTSPillarNetworkA,7558,7558,7558,1990-09-11,755.5000000001032,755.4626,2015-01-01 02:05:58,bin7558,35, -CTSPillarNetworkA,7559,7559,7559,1990-09-12,755.6000000001033,755.56256,2015-01-01 02:05:59,bin7559,75, -CTSPillarNetworkA,7560,7560,7560,1990-09-13,755.7000000001033,755.66254,2015-01-01 02:06:00,bin7560,35, -CTSPillarNetworkA,7561,7561,7561,1990-09-14,755.8000000001033,755.7625,2015-01-01 02:06:01,bin7561,75, -CTSPillarNetworkA,7562,7562,7562,1990-09-15,755.9000000001033,755.8625,2015-01-01 02:06:02,bin7562,35, -CTSPillarNetworkA,7563,7563,7563,1990-09-16,756.0000000001033,755.96246,2015-01-01 02:06:03,bin7563,75, -CTSPillarNetworkA,7564,7564,7564,1990-09-17,756.1000000001034,756.06244,2015-01-01 02:06:04,bin7564,35, -CTSPillarNetworkA,7565,7565,7565,1990-09-18,756.2000000001034,756.1624,2015-01-01 02:06:05,bin7565,75, -CTSPillarNetworkA,7566,7566,7566,1990-09-19,756.3000000001034,756.2624,2015-01-01 02:06:06,bin7566,35, -CTSPillarNetworkA,7567,7567,7567,1990-09-20,756.4000000001034,756.36237,2015-01-01 02:06:07,bin7567,75, -CTSPillarNetworkA,7568,7568,7568,1990-09-21,756.5000000001035,756.46234,2015-01-01 02:06:08,bin7568,35, -CTSPillarNetworkA,7569,7569,7569,1990-09-22,756.6000000001035,756.5623,2015-01-01 02:06:09,bin7569,75, -CTSPillarNetworkA,7570,7570,7570,1990-09-23,756.7000000001035,756.6623,2015-01-01 02:06:10,bin7570,35, -CTSPillarNetworkA,7571,7571,7571,1990-09-24,756.8000000001035,756.76227,2015-01-01 02:06:11,bin7571,75, -CTSPillarNetworkA,7572,7572,7572,1990-09-25,756.9000000001035,756.86224,2015-01-01 02:06:12,bin7572,35, -CTSPillarNetworkA,7573,7573,7573,1990-09-26,757.0000000001036,756.9622,2015-01-01 02:06:13,bin7573,75, -CTSPillarNetworkA,7574,7574,7574,1990-09-27,757.1000000001036,757.0622,2015-01-01 02:06:14,bin7574,35, -CTSPillarNetworkA,7575,7575,7575,1990-09-28,757.2000000001036,757.1622,2015-01-01 02:06:15,bin7575,75, -CTSPillarNetworkA,7576,7576,7576,1990-09-29,757.3000000001036,757.26215,2015-01-01 02:06:16,bin7576,35, -CTSPillarNetworkA,7577,7577,7577,1990-09-30,757.4000000001037,757.3621,2015-01-01 02:06:17,bin7577,75, -CTSPillarNetworkA,7578,7578,7578,1990-10-01,757.5000000001037,757.4621,2015-01-01 02:06:18,bin7578,35, -CTSPillarNetworkA,7579,7579,7579,1990-10-02,757.6000000001037,757.5621,2015-01-01 02:06:19,bin7579,75, -CTSPillarNetworkA,7580,7580,7580,1990-10-03,757.7000000001037,757.66205,2015-01-01 02:06:20,bin7580,35, -CTSPillarNetworkA,7581,7581,7581,1990-10-04,757.8000000001038,757.762,2015-01-01 02:06:21,bin7581,75, -CTSPillarNetworkA,7582,7582,7582,1990-10-05,757.9000000001038,757.862,2015-01-01 02:06:22,bin7582,35, -CTSPillarNetworkA,7583,7583,7583,1990-10-06,758.0000000001038,757.962,2015-01-01 02:06:23,bin7583,75, -CTSPillarNetworkA,7584,7584,7584,1990-10-07,758.1000000001038,758.06195,2015-01-01 02:06:24,bin7584,35, -CTSPillarNetworkA,7585,7585,7585,1990-10-08,758.2000000001038,758.1619,2015-01-01 02:06:25,bin7585,75, -CTSPillarNetworkA,7586,7586,7586,1990-10-09,758.3000000001039,758.2619,2015-01-01 02:06:26,bin7586,35, -CTSPillarNetworkA,7587,7587,7587,1990-10-10,758.4000000001039,758.3619,2015-01-01 02:06:27,bin7587,75, -CTSPillarNetworkA,7588,7588,7588,1990-10-11,758.5000000001039,758.46185,2015-01-01 02:06:28,bin7588,35, -CTSPillarNetworkA,7589,7589,7589,1990-10-12,758.6000000001039,758.5618,2015-01-01 02:06:29,bin7589,75, -CTSPillarNetworkA,7590,7590,7590,1990-10-13,758.700000000104,758.6618,2015-01-01 02:06:30,bin7590,35, -CTSPillarNetworkA,7591,7591,7591,1990-10-14,758.800000000104,758.7618,2015-01-01 02:06:31,bin7591,75, -CTSPillarNetworkA,7592,7592,7592,1990-10-15,758.900000000104,758.86176,2015-01-01 02:06:32,bin7592,35, -CTSPillarNetworkA,7593,7593,7593,1990-10-16,759.000000000104,758.96173,2015-01-01 02:06:33,bin7593,75, -CTSPillarNetworkA,7594,7594,7594,1990-10-17,759.100000000104,759.0617,2015-01-01 02:06:34,bin7594,35, -CTSPillarNetworkA,7595,7595,7595,1990-10-18,759.2000000001041,759.1617,2015-01-01 02:06:35,bin7595,75, -CTSPillarNetworkA,7596,7596,7596,1990-10-19,759.3000000001041,759.26166,2015-01-01 02:06:36,bin7596,35, -CTSPillarNetworkA,7597,7597,7597,1990-10-20,759.4000000001041,759.36163,2015-01-01 02:06:37,bin7597,75, -CTSPillarNetworkA,7598,7598,7598,1990-10-21,759.5000000001041,759.4616,2015-01-01 02:06:38,bin7598,35, -CTSPillarNetworkA,7599,7599,7599,1990-10-22,759.6000000001042,759.5616,2015-01-01 02:06:39,bin7599,75, -CTSPillarNetworkA,7600,7600,7600,1990-10-23,759.7000000001042,759.66156,2015-01-01 02:06:40,bin7600,35, -CTSPillarNetworkA,7601,7601,7601,1990-10-24,759.8000000001042,759.76154,2015-01-01 02:06:41,bin7601,75, -CTSPillarNetworkA,7602,7602,7602,1990-10-25,759.9000000001042,759.8615,2015-01-01 02:06:42,bin7602,35, -CTSPillarNetworkA,7603,7603,7603,1990-10-26,760.0000000001043,759.9615,2015-01-01 02:06:43,bin7603,75, -CTSPillarNetworkA,7604,7604,7604,1990-10-27,760.1000000001043,760.06146,2015-01-01 02:06:44,bin7604,35, -CTSPillarNetworkA,7605,7605,7605,1990-10-28,760.2000000001043,760.16144,2015-01-01 02:06:45,bin7605,75, -CTSPillarNetworkA,7606,7606,7606,1990-10-29,760.3000000001043,760.2614,2015-01-01 02:06:46,bin7606,35, -CTSPillarNetworkA,7607,7607,7607,1990-10-30,760.4000000001043,760.3614,2015-01-01 02:06:47,bin7607,75, -CTSPillarNetworkA,7608,7608,7608,1990-10-31,760.5000000001044,760.46136,2015-01-01 02:06:48,bin7608,35, -CTSPillarNetworkA,7609,7609,7609,1990-11-01,760.6000000001044,760.56134,2015-01-01 02:06:49,bin7609,75, -CTSPillarNetworkA,7610,7610,7610,1990-11-02,760.7000000001044,760.6613,2015-01-01 02:06:50,bin7610,35, -CTSPillarNetworkA,7611,7611,7611,1990-11-03,760.8000000001044,760.7613,2015-01-01 02:06:51,bin7611,75, -CTSPillarNetworkA,7612,7612,7612,1990-11-04,760.9000000001045,760.86127,2015-01-01 02:06:52,bin7612,35, -CTSPillarNetworkA,7613,7613,7613,1990-11-05,761.0000000001045,760.96124,2015-01-01 02:06:53,bin7613,75, -CTSPillarNetworkA,7614,7614,7614,1990-11-06,761.1000000001045,761.0612,2015-01-01 02:06:54,bin7614,35, -CTSPillarNetworkA,7615,7615,7615,1990-11-07,761.2000000001045,761.1612,2015-01-01 02:06:55,bin7615,75, -CTSPillarNetworkA,7616,7616,7616,1990-11-08,761.3000000001045,761.26117,2015-01-01 02:06:56,bin7616,35, -CTSPillarNetworkA,7617,7617,7617,1990-11-09,761.4000000001046,761.36115,2015-01-01 02:06:57,bin7617,75, -CTSPillarNetworkA,7618,7618,7618,1990-11-10,761.5000000001046,761.4611,2015-01-01 02:06:58,bin7618,35, -CTSPillarNetworkA,7619,7619,7619,1990-11-11,761.6000000001046,761.5611,2015-01-01 02:06:59,bin7619,75, -CTSPillarNetworkA,7620,7620,7620,1990-11-12,761.7000000001046,761.6611,2015-01-01 02:07:00,bin7620,35, -CTSPillarNetworkA,7621,7621,7621,1990-11-13,761.8000000001047,761.76105,2015-01-01 02:07:01,bin7621,75, -CTSPillarNetworkA,7622,7622,7622,1990-11-14,761.9000000001047,761.861,2015-01-01 02:07:02,bin7622,35, -CTSPillarNetworkA,7623,7623,7623,1990-11-15,762.0000000001047,761.961,2015-01-01 02:07:03,bin7623,75, -CTSPillarNetworkA,7624,7624,7624,1990-11-16,762.1000000001047,762.061,2015-01-01 02:07:04,bin7624,35, -CTSPillarNetworkA,7625,7625,7625,1990-11-17,762.2000000001048,762.16095,2015-01-01 02:07:05,bin7625,75, -CTSPillarNetworkA,7626,7626,7626,1990-11-18,762.3000000001048,762.2609,2015-01-01 02:07:06,bin7626,35, -CTSPillarNetworkA,7627,7627,7627,1990-11-19,762.4000000001048,762.3609,2015-01-01 02:07:07,bin7627,75, -CTSPillarNetworkA,7628,7628,7628,1990-11-20,762.5000000001048,762.4609,2015-01-01 02:07:08,bin7628,35, -CTSPillarNetworkA,7629,7629,7629,1990-11-21,762.6000000001048,762.56085,2015-01-01 02:07:09,bin7629,75, -CTSPillarNetworkA,7630,7630,7630,1990-11-22,762.7000000001049,762.6608,2015-01-01 02:07:10,bin7630,35, -CTSPillarNetworkA,7631,7631,7631,1990-11-23,762.8000000001049,762.7608,2015-01-01 02:07:11,bin7631,75, -CTSPillarNetworkA,7632,7632,7632,1990-11-24,762.9000000001049,762.8608,2015-01-01 02:07:12,bin7632,35, -CTSPillarNetworkA,7633,7633,7633,1990-11-25,763.0000000001049,762.96075,2015-01-01 02:07:13,bin7633,75, -CTSPillarNetworkA,7634,7634,7634,1990-11-26,763.100000000105,763.0607,2015-01-01 02:07:14,bin7634,35, -CTSPillarNetworkA,7635,7635,7635,1990-11-27,763.200000000105,763.1607,2015-01-01 02:07:15,bin7635,75, -CTSPillarNetworkA,7636,7636,7636,1990-11-28,763.300000000105,763.2607,2015-01-01 02:07:16,bin7636,35, -CTSPillarNetworkA,7637,7637,7637,1990-11-29,763.400000000105,763.36066,2015-01-01 02:07:17,bin7637,75, -CTSPillarNetworkA,7638,7638,7638,1990-11-30,763.500000000105,763.46063,2015-01-01 02:07:18,bin7638,35, -CTSPillarNetworkA,7639,7639,7639,1990-12-01,763.6000000001051,763.5606,2015-01-01 02:07:19,bin7639,75, -CTSPillarNetworkA,7640,7640,7640,1990-12-02,763.7000000001051,763.6606,2015-01-01 02:07:20,bin7640,35, -CTSPillarNetworkA,7641,7641,7641,1990-12-03,763.8000000001051,763.76056,2015-01-01 02:07:21,bin7641,75, -CTSPillarNetworkA,7642,7642,7642,1990-12-04,763.9000000001051,763.86053,2015-01-01 02:07:22,bin7642,35, -CTSPillarNetworkA,7643,7643,7643,1990-12-05,764.0000000001052,763.9605,2015-01-01 02:07:23,bin7643,75, -CTSPillarNetworkA,7644,7644,7644,1990-12-06,764.1000000001052,764.0605,2015-01-01 02:07:24,bin7644,35, -CTSPillarNetworkA,7645,7645,7645,1990-12-07,764.2000000001052,764.16046,2015-01-01 02:07:25,bin7645,75, -CTSPillarNetworkA,7646,7646,7646,1990-12-08,764.3000000001052,764.26044,2015-01-01 02:07:26,bin7646,35, -CTSPillarNetworkA,7647,7647,7647,1990-12-09,764.4000000001053,764.3604,2015-01-01 02:07:27,bin7647,75, -CTSPillarNetworkA,7648,7648,7648,1990-12-10,764.5000000001053,764.4604,2015-01-01 02:07:28,bin7648,35, -CTSPillarNetworkA,7649,7649,7649,1990-12-11,764.6000000001053,764.56036,2015-01-01 02:07:29,bin7649,75, -CTSPillarNetworkA,7650,7650,7650,1990-12-12,764.7000000001053,764.66034,2015-01-01 02:07:30,bin7650,35, -CTSPillarNetworkA,7651,7651,7651,1990-12-13,764.8000000001053,764.7603,2015-01-01 02:07:31,bin7651,75, -CTSPillarNetworkA,7652,7652,7652,1990-12-14,764.9000000001054,764.8603,2015-01-01 02:07:32,bin7652,35, -CTSPillarNetworkA,7653,7653,7653,1990-12-15,765.0000000001054,764.96027,2015-01-01 02:07:33,bin7653,75, -CTSPillarNetworkA,7654,7654,7654,1990-12-16,765.1000000001054,765.06024,2015-01-01 02:07:34,bin7654,35, -CTSPillarNetworkA,7655,7655,7655,1990-12-17,765.2000000001054,765.1602,2015-01-01 02:07:35,bin7655,75, -CTSPillarNetworkA,7656,7656,7656,1990-12-18,765.3000000001055,765.2602,2015-01-01 02:07:36,bin7656,35, -CTSPillarNetworkA,7657,7657,7657,1990-12-19,765.4000000001055,765.36017,2015-01-01 02:07:37,bin7657,75, -CTSPillarNetworkA,7658,7658,7658,1990-12-20,765.5000000001055,765.46014,2015-01-01 02:07:38,bin7658,35, -CTSPillarNetworkA,7659,7659,7659,1990-12-21,765.6000000001055,765.5601,2015-01-01 02:07:39,bin7659,75, -CTSPillarNetworkA,7660,7660,7660,1990-12-22,765.7000000001055,765.6601,2015-01-01 02:07:40,bin7660,35, -CTSPillarNetworkA,7661,7661,7661,1990-12-23,765.8000000001056,765.7601,2015-01-01 02:07:41,bin7661,75, -CTSPillarNetworkA,7662,7662,7662,1990-12-24,765.9000000001056,765.86005,2015-01-01 02:07:42,bin7662,35, -CTSPillarNetworkA,7663,7663,7663,1990-12-25,766.0000000001056,765.96,2015-01-01 02:07:43,bin7663,75, -CTSPillarNetworkA,7664,7664,7664,1990-12-26,766.1000000001056,766.06,2015-01-01 02:07:44,bin7664,35, -CTSPillarNetworkA,7665,7665,7665,1990-12-27,766.2000000001057,766.16,2015-01-01 02:07:45,bin7665,75, -CTSPillarNetworkA,7666,7666,7666,1990-12-28,766.3000000001057,766.25995,2015-01-01 02:07:46,bin7666,35, -CTSPillarNetworkA,7667,7667,7667,1990-12-29,766.4000000001057,766.3599,2015-01-01 02:07:47,bin7667,75, -CTSPillarNetworkA,7668,7668,7668,1990-12-30,766.5000000001057,766.4599,2015-01-01 02:07:48,bin7668,35, -CTSPillarNetworkA,7669,7669,7669,1990-12-31,766.6000000001058,766.5599,2015-01-01 02:07:49,bin7669,75, -CTSPillarNetworkA,7670,7670,7670,1991-01-01,766.7000000001058,766.65985,2015-01-01 02:07:50,bin7670,35, -CTSPillarNetworkA,7671,7671,7671,1991-01-02,766.8000000001058,766.7598,2015-01-01 02:07:51,bin7671,75, -CTSPillarNetworkA,7672,7672,7672,1991-01-03,766.9000000001058,766.8598,2015-01-01 02:07:52,bin7672,35, -CTSPillarNetworkA,7673,7673,7673,1991-01-04,767.0000000001058,766.9598,2015-01-01 02:07:53,bin7673,75, -CTSPillarNetworkA,7674,7674,7674,1991-01-05,767.1000000001059,767.05975,2015-01-01 02:07:54,bin7674,35, -CTSPillarNetworkA,7675,7675,7675,1991-01-06,767.2000000001059,767.1597,2015-01-01 02:07:55,bin7675,75, -CTSPillarNetworkA,7676,7676,7676,1991-01-07,767.3000000001059,767.2597,2015-01-01 02:07:56,bin7676,35, -CTSPillarNetworkA,7677,7677,7677,1991-01-08,767.4000000001059,767.3597,2015-01-01 02:07:57,bin7677,75, -CTSPillarNetworkA,7678,7678,7678,1991-01-09,767.500000000106,767.45966,2015-01-01 02:07:58,bin7678,35, -CTSPillarNetworkA,7679,7679,7679,1991-01-10,767.600000000106,767.55963,2015-01-01 02:07:59,bin7679,75, -CTSPillarNetworkA,7680,7680,7680,1991-01-11,767.700000000106,767.6596,2015-01-01 02:08:00,bin7680,35, -CTSPillarNetworkA,7681,7681,7681,1991-01-12,767.800000000106,767.7596,2015-01-01 02:08:01,bin7681,75, -CTSPillarNetworkA,7682,7682,7682,1991-01-13,767.900000000106,767.85956,2015-01-01 02:08:02,bin7682,35, -CTSPillarNetworkA,7683,7683,7683,1991-01-14,768.0000000001061,767.95953,2015-01-01 02:08:03,bin7683,75, -CTSPillarNetworkA,7684,7684,7684,1991-01-15,768.1000000001061,768.0595,2015-01-01 02:08:04,bin7684,35, -CTSPillarNetworkA,7685,7685,7685,1991-01-16,768.2000000001061,768.1595,2015-01-01 02:08:05,bin7685,75, -CTSPillarNetworkA,7686,7686,7686,1991-01-17,768.3000000001061,768.25946,2015-01-01 02:08:06,bin7686,35, -CTSPillarNetworkA,7687,7687,7687,1991-01-18,768.4000000001062,768.35944,2015-01-01 02:08:07,bin7687,75, -CTSPillarNetworkA,7688,7688,7688,1991-01-19,768.5000000001062,768.4594,2015-01-01 02:08:08,bin7688,35, -CTSPillarNetworkA,7689,7689,7689,1991-01-20,768.6000000001062,768.5594,2015-01-01 02:08:09,bin7689,75, -CTSPillarNetworkA,7690,7690,7690,1991-01-21,768.7000000001062,768.65936,2015-01-01 02:08:10,bin7690,35, -CTSPillarNetworkA,7691,7691,7691,1991-01-22,768.8000000001063,768.75934,2015-01-01 02:08:11,bin7691,75, -CTSPillarNetworkA,7692,7692,7692,1991-01-23,768.9000000001063,768.8593,2015-01-01 02:08:12,bin7692,35, -CTSPillarNetworkA,7693,7693,7693,1991-01-24,769.0000000001063,768.9593,2015-01-01 02:08:13,bin7693,75, -CTSPillarNetworkA,7694,7694,7694,1991-01-25,769.1000000001063,769.05927,2015-01-01 02:08:14,bin7694,35, -CTSPillarNetworkA,7695,7695,7695,1991-01-26,769.2000000001063,769.15924,2015-01-01 02:08:15,bin7695,75, -CTSPillarNetworkA,7696,7696,7696,1991-01-27,769.3000000001064,769.2592,2015-01-01 02:08:16,bin7696,35, -CTSPillarNetworkA,7697,7697,7697,1991-01-28,769.4000000001064,769.3592,2015-01-01 02:08:17,bin7697,75, -CTSPillarNetworkA,7698,7698,7698,1991-01-29,769.5000000001064,769.45917,2015-01-01 02:08:18,bin7698,35, -CTSPillarNetworkA,7699,7699,7699,1991-01-30,769.6000000001064,769.55914,2015-01-01 02:08:19,bin7699,75, -CTSPillarNetworkA,7700,7700,7700,1991-01-31,769.7000000001065,769.6591,2015-01-01 02:08:20,bin7700,35, -CTSPillarNetworkA,7701,7701,7701,1991-02-01,769.8000000001065,769.7591,2015-01-01 02:08:21,bin7701,75, -CTSPillarNetworkA,7702,7702,7702,1991-02-02,769.9000000001065,769.8591,2015-01-01 02:08:22,bin7702,35, -CTSPillarNetworkA,7703,7703,7703,1991-02-03,770.0000000001065,769.95905,2015-01-01 02:08:23,bin7703,75, -CTSPillarNetworkA,7704,7704,7704,1991-02-04,770.1000000001065,770.059,2015-01-01 02:08:24,bin7704,35, -CTSPillarNetworkA,7705,7705,7705,1991-02-05,770.2000000001066,770.159,2015-01-01 02:08:25,bin7705,75, -CTSPillarNetworkA,7706,7706,7706,1991-02-06,770.3000000001066,770.259,2015-01-01 02:08:26,bin7706,35, -CTSPillarNetworkA,7707,7707,7707,1991-02-07,770.4000000001066,770.35895,2015-01-01 02:08:27,bin7707,75, -CTSPillarNetworkA,7708,7708,7708,1991-02-08,770.5000000001066,770.4589,2015-01-01 02:08:28,bin7708,35, -CTSPillarNetworkA,7709,7709,7709,1991-02-09,770.6000000001067,770.5589,2015-01-01 02:08:29,bin7709,75, -CTSPillarNetworkA,7710,7710,7710,1991-02-10,770.7000000001067,770.6589,2015-01-01 02:08:30,bin7710,35, -CTSPillarNetworkA,7711,7711,7711,1991-02-11,770.8000000001067,770.75885,2015-01-01 02:08:31,bin7711,75, -CTSPillarNetworkA,7712,7712,7712,1991-02-12,770.9000000001067,770.8588,2015-01-01 02:08:32,bin7712,35, -CTSPillarNetworkA,7713,7713,7713,1991-02-13,771.0000000001068,770.9588,2015-01-01 02:08:33,bin7713,75, -CTSPillarNetworkA,7714,7714,7714,1991-02-14,771.1000000001068,771.0588,2015-01-01 02:08:34,bin7714,35, -CTSPillarNetworkA,7715,7715,7715,1991-02-15,771.2000000001068,771.15875,2015-01-01 02:08:35,bin7715,75, -CTSPillarNetworkA,7716,7716,7716,1991-02-16,771.3000000001068,771.2587,2015-01-01 02:08:36,bin7716,35, -CTSPillarNetworkA,7717,7717,7717,1991-02-17,771.4000000001068,771.3587,2015-01-01 02:08:37,bin7717,75, -CTSPillarNetworkA,7718,7718,7718,1991-02-18,771.5000000001069,771.4587,2015-01-01 02:08:38,bin7718,35, -CTSPillarNetworkA,7719,7719,7719,1991-02-19,771.6000000001069,771.55865,2015-01-01 02:08:39,bin7719,75, -CTSPillarNetworkA,7720,7720,7720,1991-02-20,771.7000000001069,771.6586,2015-01-01 02:08:40,bin7720,35, -CTSPillarNetworkA,7721,7721,7721,1991-02-21,771.8000000001069,771.7586,2015-01-01 02:08:41,bin7721,75, -CTSPillarNetworkA,7722,7722,7722,1991-02-22,771.900000000107,771.8586,2015-01-01 02:08:42,bin7722,35, -CTSPillarNetworkA,7723,7723,7723,1991-02-23,772.000000000107,771.95856,2015-01-01 02:08:43,bin7723,75, -CTSPillarNetworkA,7724,7724,7724,1991-02-24,772.100000000107,772.05853,2015-01-01 02:08:44,bin7724,35, -CTSPillarNetworkA,7725,7725,7725,1991-02-25,772.200000000107,772.1585,2015-01-01 02:08:45,bin7725,75, -CTSPillarNetworkA,7726,7726,7726,1991-02-26,772.300000000107,772.2585,2015-01-01 02:08:46,bin7726,35, -CTSPillarNetworkA,7727,7727,7727,1991-02-27,772.4000000001071,772.35846,2015-01-01 02:08:47,bin7727,75, -CTSPillarNetworkA,7728,7728,7728,1991-02-28,772.5000000001071,772.45844,2015-01-01 02:08:48,bin7728,35, -CTSPillarNetworkA,7729,7729,7729,1991-03-01,772.6000000001071,772.5584,2015-01-01 02:08:49,bin7729,75, -CTSPillarNetworkA,7730,7730,7730,1991-03-02,772.7000000001071,772.6584,2015-01-01 02:08:50,bin7730,35, -CTSPillarNetworkA,7731,7731,7731,1991-03-03,772.8000000001072,772.75836,2015-01-01 02:08:51,bin7731,75, -CTSPillarNetworkA,7732,7732,7732,1991-03-04,772.9000000001072,772.85834,2015-01-01 02:08:52,bin7732,35, -CTSPillarNetworkA,7733,7733,7733,1991-03-05,773.0000000001072,772.9583,2015-01-01 02:08:53,bin7733,75, -CTSPillarNetworkA,7734,7734,7734,1991-03-06,773.1000000001072,773.0583,2015-01-01 02:08:54,bin7734,35, -CTSPillarNetworkA,7735,7735,7735,1991-03-07,773.2000000001073,773.15826,2015-01-01 02:08:55,bin7735,75, -CTSPillarNetworkA,7736,7736,7736,1991-03-08,773.3000000001073,773.25824,2015-01-01 02:08:56,bin7736,35, -CTSPillarNetworkA,7737,7737,7737,1991-03-09,773.4000000001073,773.3582,2015-01-01 02:08:57,bin7737,75, -CTSPillarNetworkA,7738,7738,7738,1991-03-10,773.5000000001073,773.4582,2015-01-01 02:08:58,bin7738,35, -CTSPillarNetworkA,7739,7739,7739,1991-03-11,773.6000000001073,773.55817,2015-01-01 02:08:59,bin7739,75, -CTSPillarNetworkA,7740,7740,7740,1991-03-12,773.7000000001074,773.65814,2015-01-01 02:09:00,bin7740,35, -CTSPillarNetworkA,7741,7741,7741,1991-03-13,773.8000000001074,773.7581,2015-01-01 02:09:01,bin7741,75, -CTSPillarNetworkA,7742,7742,7742,1991-03-14,773.9000000001074,773.8581,2015-01-01 02:09:02,bin7742,35, -CTSPillarNetworkA,7743,7743,7743,1991-03-15,774.0000000001074,773.95807,2015-01-01 02:09:03,bin7743,75, -CTSPillarNetworkA,7744,7744,7744,1991-03-16,774.1000000001075,774.05804,2015-01-01 02:09:04,bin7744,35, -CTSPillarNetworkA,7745,7745,7745,1991-03-17,774.2000000001075,774.158,2015-01-01 02:09:05,bin7745,75, -CTSPillarNetworkA,7746,7746,7746,1991-03-18,774.3000000001075,774.258,2015-01-01 02:09:06,bin7746,35, -CTSPillarNetworkA,7747,7747,7747,1991-03-19,774.4000000001075,774.358,2015-01-01 02:09:07,bin7747,75, -CTSPillarNetworkA,7748,7748,7748,1991-03-20,774.5000000001075,774.45795,2015-01-01 02:09:08,bin7748,35, -CTSPillarNetworkA,7749,7749,7749,1991-03-21,774.6000000001076,774.5579,2015-01-01 02:09:09,bin7749,75, -CTSPillarNetworkA,7750,7750,7750,1991-03-22,774.7000000001076,774.6579,2015-01-01 02:09:10,bin7750,35, -CTSPillarNetworkA,7751,7751,7751,1991-03-23,774.8000000001076,774.7579,2015-01-01 02:09:11,bin7751,75, -CTSPillarNetworkA,7752,7752,7752,1991-03-24,774.9000000001076,774.85785,2015-01-01 02:09:12,bin7752,35, -CTSPillarNetworkA,7753,7753,7753,1991-03-25,775.0000000001077,774.9578,2015-01-01 02:09:13,bin7753,75, -CTSPillarNetworkA,7754,7754,7754,1991-03-26,775.1000000001077,775.0578,2015-01-01 02:09:14,bin7754,35, -CTSPillarNetworkA,7755,7755,7755,1991-03-27,775.2000000001077,775.1578,2015-01-01 02:09:15,bin7755,75, -CTSPillarNetworkA,7756,7756,7756,1991-03-28,775.3000000001077,775.25775,2015-01-01 02:09:16,bin7756,35, -CTSPillarNetworkA,7757,7757,7757,1991-03-29,775.4000000001078,775.3577,2015-01-01 02:09:17,bin7757,75, -CTSPillarNetworkA,7758,7758,7758,1991-03-30,775.5000000001078,775.4577,2015-01-01 02:09:18,bin7758,35, -CTSPillarNetworkA,7759,7759,7759,1991-03-31,775.6000000001078,775.5577,2015-01-01 02:09:19,bin7759,75, -CTSPillarNetworkA,7760,7760,7760,1991-04-01,775.7000000001078,775.65765,2015-01-01 02:09:20,bin7760,35, -CTSPillarNetworkA,7761,7761,7761,1991-04-02,775.8000000001078,775.7576,2015-01-01 02:09:21,bin7761,75, -CTSPillarNetworkA,7762,7762,7762,1991-04-03,775.9000000001079,775.8576,2015-01-01 02:09:22,bin7762,35, -CTSPillarNetworkA,7763,7763,7763,1991-04-04,776.0000000001079,775.9576,2015-01-01 02:09:23,bin7763,75, -CTSPillarNetworkA,7764,7764,7764,1991-04-05,776.1000000001079,776.05756,2015-01-01 02:09:24,bin7764,35, -CTSPillarNetworkA,7765,7765,7765,1991-04-06,776.2000000001079,776.15753,2015-01-01 02:09:25,bin7765,75, -CTSPillarNetworkA,7766,7766,7766,1991-04-07,776.300000000108,776.2575,2015-01-01 02:09:26,bin7766,35, -CTSPillarNetworkA,7767,7767,7767,1991-04-08,776.400000000108,776.3575,2015-01-01 02:09:27,bin7767,75, -CTSPillarNetworkA,7768,7768,7768,1991-04-09,776.500000000108,776.45746,2015-01-01 02:09:28,bin7768,35, -CTSPillarNetworkA,7769,7769,7769,1991-04-10,776.600000000108,776.55743,2015-01-01 02:09:29,bin7769,75, -CTSPillarNetworkA,7770,7770,7770,1991-04-11,776.700000000108,776.6574,2015-01-01 02:09:30,bin7770,35, -CTSPillarNetworkA,7771,7771,7771,1991-04-12,776.8000000001081,776.7574,2015-01-01 02:09:31,bin7771,75, -CTSPillarNetworkA,7772,7772,7772,1991-04-13,776.9000000001081,776.85736,2015-01-01 02:09:32,bin7772,35, -CTSPillarNetworkA,7773,7773,7773,1991-04-14,777.0000000001081,776.95734,2015-01-01 02:09:33,bin7773,75, -CTSPillarNetworkA,7774,7774,7774,1991-04-15,777.1000000001081,777.0573,2015-01-01 02:09:34,bin7774,35, -CTSPillarNetworkA,7775,7775,7775,1991-04-16,777.2000000001082,777.1573,2015-01-01 02:09:35,bin7775,75, -CTSPillarNetworkA,7776,7776,7776,1991-04-17,777.3000000001082,777.25726,2015-01-01 02:09:36,bin7776,35, -CTSPillarNetworkA,7777,7777,7777,1991-04-18,777.4000000001082,777.35724,2015-01-01 02:09:37,bin7777,75, -CTSPillarNetworkA,7778,7778,7778,1991-04-19,777.5000000001082,777.4572,2015-01-01 02:09:38,bin7778,35, -CTSPillarNetworkA,7779,7779,7779,1991-04-20,777.6000000001083,777.5572,2015-01-01 02:09:39,bin7779,75, -CTSPillarNetworkA,7780,7780,7780,1991-04-21,777.7000000001083,777.65717,2015-01-01 02:09:40,bin7780,35, -CTSPillarNetworkA,7781,7781,7781,1991-04-22,777.8000000001083,777.75714,2015-01-01 02:09:41,bin7781,75, -CTSPillarNetworkA,7782,7782,7782,1991-04-23,777.9000000001083,777.8571,2015-01-01 02:09:42,bin7782,35, -CTSPillarNetworkA,7783,7783,7783,1991-04-24,778.0000000001083,777.9571,2015-01-01 02:09:43,bin7783,75, -CTSPillarNetworkA,7784,7784,7784,1991-04-25,778.1000000001084,778.05707,2015-01-01 02:09:44,bin7784,35, -CTSPillarNetworkA,7785,7785,7785,1991-04-26,778.2000000001084,778.15704,2015-01-01 02:09:45,bin7785,75, -CTSPillarNetworkA,7786,7786,7786,1991-04-27,778.3000000001084,778.257,2015-01-01 02:09:46,bin7786,35, -CTSPillarNetworkA,7787,7787,7787,1991-04-28,778.4000000001084,778.357,2015-01-01 02:09:47,bin7787,75, -CTSPillarNetworkA,7788,7788,7788,1991-04-29,778.5000000001085,778.457,2015-01-01 02:09:48,bin7788,35, -CTSPillarNetworkA,7789,7789,7789,1991-04-30,778.6000000001085,778.55695,2015-01-01 02:09:49,bin7789,75, -CTSPillarNetworkA,7790,7790,7790,1991-05-01,778.7000000001085,778.6569,2015-01-01 02:09:50,bin7790,35, -CTSPillarNetworkA,7791,7791,7791,1991-05-02,778.8000000001085,778.7569,2015-01-01 02:09:51,bin7791,75, -CTSPillarNetworkA,7792,7792,7792,1991-05-03,778.9000000001085,778.8569,2015-01-01 02:09:52,bin7792,35, -CTSPillarNetworkA,7793,7793,7793,1991-05-04,779.0000000001086,778.95685,2015-01-01 02:09:53,bin7793,75, -CTSPillarNetworkA,7794,7794,7794,1991-05-05,779.1000000001086,779.0568,2015-01-01 02:09:54,bin7794,35, -CTSPillarNetworkA,7795,7795,7795,1991-05-06,779.2000000001086,779.1568,2015-01-01 02:09:55,bin7795,75, -CTSPillarNetworkA,7796,7796,7796,1991-05-07,779.3000000001086,779.2568,2015-01-01 02:09:56,bin7796,35, -CTSPillarNetworkA,7797,7797,7797,1991-05-08,779.4000000001087,779.35675,2015-01-01 02:09:57,bin7797,75, -CTSPillarNetworkA,7798,7798,7798,1991-05-09,779.5000000001087,779.4567,2015-01-01 02:09:58,bin7798,35, -CTSPillarNetworkA,7799,7799,7799,1991-05-10,779.6000000001087,779.5567,2015-01-01 02:09:59,bin7799,75, -CTSPillarNetworkA,7800,7800,7800,1991-05-11,779.7000000001087,779.6567,2015-01-01 02:10:00,bin7800,35, -CTSPillarNetworkA,7801,7801,7801,1991-05-12,779.8000000001088,779.75665,2015-01-01 02:10:01,bin7801,75, -CTSPillarNetworkA,7802,7802,7802,1991-05-13,779.9000000001088,779.8566,2015-01-01 02:10:02,bin7802,35, -CTSPillarNetworkA,7803,7803,7803,1991-05-14,780.0000000001088,779.9566,2015-01-01 02:10:03,bin7803,75, -CTSPillarNetworkA,7804,7804,7804,1991-05-15,780.1000000001088,780.0566,2015-01-01 02:10:04,bin7804,35, -CTSPillarNetworkA,7805,7805,7805,1991-05-16,780.2000000001088,780.15656,2015-01-01 02:10:05,bin7805,75, -CTSPillarNetworkA,7806,7806,7806,1991-05-17,780.3000000001089,780.25653,2015-01-01 02:10:06,bin7806,35, -CTSPillarNetworkA,7807,7807,7807,1991-05-18,780.4000000001089,780.3565,2015-01-01 02:10:07,bin7807,75, -CTSPillarNetworkA,7808,7808,7808,1991-05-19,780.5000000001089,780.4565,2015-01-01 02:10:08,bin7808,35, -CTSPillarNetworkA,7809,7809,7809,1991-05-20,780.6000000001089,780.55646,2015-01-01 02:10:09,bin7809,75, -CTSPillarNetworkA,7810,7810,7810,1991-05-21,780.700000000109,780.65643,2015-01-01 02:10:10,bin7810,35, -CTSPillarNetworkA,7811,7811,7811,1991-05-22,780.800000000109,780.7564,2015-01-01 02:10:11,bin7811,75, -CTSPillarNetworkA,7812,7812,7812,1991-05-23,780.900000000109,780.8564,2015-01-01 02:10:12,bin7812,35, -CTSPillarNetworkA,7813,7813,7813,1991-05-24,781.000000000109,780.95636,2015-01-01 02:10:13,bin7813,75, -CTSPillarNetworkA,7814,7814,7814,1991-05-25,781.100000000109,781.05634,2015-01-01 02:10:14,bin7814,35, -CTSPillarNetworkA,7815,7815,7815,1991-05-26,781.2000000001091,781.1563,2015-01-01 02:10:15,bin7815,75, -CTSPillarNetworkA,7816,7816,7816,1991-05-27,781.3000000001091,781.2563,2015-01-01 02:10:16,bin7816,35, -CTSPillarNetworkA,7817,7817,7817,1991-05-28,781.4000000001091,781.35626,2015-01-01 02:10:17,bin7817,75, -CTSPillarNetworkA,7818,7818,7818,1991-05-29,781.5000000001091,781.45624,2015-01-01 02:10:18,bin7818,35, -CTSPillarNetworkA,7819,7819,7819,1991-05-30,781.6000000001092,781.5562,2015-01-01 02:10:19,bin7819,75, -CTSPillarNetworkA,7820,7820,7820,1991-05-31,781.7000000001092,781.6562,2015-01-01 02:10:20,bin7820,35, -CTSPillarNetworkA,7821,7821,7821,1991-06-01,781.8000000001092,781.75616,2015-01-01 02:10:21,bin7821,75, -CTSPillarNetworkA,7822,7822,7822,1991-06-02,781.9000000001092,781.85614,2015-01-01 02:10:22,bin7822,35, -CTSPillarNetworkA,7823,7823,7823,1991-06-03,782.0000000001093,781.9561,2015-01-01 02:10:23,bin7823,75, -CTSPillarNetworkA,7824,7824,7824,1991-06-04,782.1000000001093,782.0561,2015-01-01 02:10:24,bin7824,35, -CTSPillarNetworkA,7825,7825,7825,1991-06-05,782.2000000001093,782.15607,2015-01-01 02:10:25,bin7825,75, -CTSPillarNetworkA,7826,7826,7826,1991-06-06,782.3000000001093,782.25604,2015-01-01 02:10:26,bin7826,35, -CTSPillarNetworkA,7827,7827,7827,1991-06-07,782.4000000001093,782.356,2015-01-01 02:10:27,bin7827,75, -CTSPillarNetworkA,7828,7828,7828,1991-06-08,782.5000000001094,782.456,2015-01-01 02:10:28,bin7828,35, -CTSPillarNetworkA,7829,7829,7829,1991-06-09,782.6000000001094,782.55597,2015-01-01 02:10:29,bin7829,75, -CTSPillarNetworkA,7830,7830,7830,1991-06-10,782.7000000001094,782.65594,2015-01-01 02:10:30,bin7830,35, -CTSPillarNetworkA,7831,7831,7831,1991-06-11,782.8000000001094,782.7559,2015-01-01 02:10:31,bin7831,75, -CTSPillarNetworkA,7832,7832,7832,1991-06-12,782.9000000001095,782.8559,2015-01-01 02:10:32,bin7832,35, -CTSPillarNetworkA,7833,7833,7833,1991-06-13,783.0000000001095,782.9559,2015-01-01 02:10:33,bin7833,75, -CTSPillarNetworkA,7834,7834,7834,1991-06-14,783.1000000001095,783.05585,2015-01-01 02:10:34,bin7834,35, -CTSPillarNetworkA,7835,7835,7835,1991-06-15,783.2000000001095,783.1558,2015-01-01 02:10:35,bin7835,75, -CTSPillarNetworkA,7836,7836,7836,1991-06-16,783.3000000001095,783.2558,2015-01-01 02:10:36,bin7836,35, -CTSPillarNetworkA,7837,7837,7837,1991-06-17,783.4000000001096,783.3558,2015-01-01 02:10:37,bin7837,75, -CTSPillarNetworkA,7838,7838,7838,1991-06-18,783.5000000001096,783.45575,2015-01-01 02:10:38,bin7838,35, -CTSPillarNetworkA,7839,7839,7839,1991-06-19,783.6000000001096,783.5557,2015-01-01 02:10:39,bin7839,75, -CTSPillarNetworkA,7840,7840,7840,1991-06-20,783.7000000001096,783.6557,2015-01-01 02:10:40,bin7840,35, -CTSPillarNetworkA,7841,7841,7841,1991-06-21,783.8000000001097,783.7557,2015-01-01 02:10:41,bin7841,75, -CTSPillarNetworkA,7842,7842,7842,1991-06-22,783.9000000001097,783.85565,2015-01-01 02:10:42,bin7842,35, -CTSPillarNetworkA,7843,7843,7843,1991-06-23,784.0000000001097,783.9556,2015-01-01 02:10:43,bin7843,75, -CTSPillarNetworkA,7844,7844,7844,1991-06-24,784.1000000001097,784.0556,2015-01-01 02:10:44,bin7844,35, -CTSPillarNetworkA,7845,7845,7845,1991-06-25,784.2000000001098,784.1556,2015-01-01 02:10:45,bin7845,75, -CTSPillarNetworkA,7846,7846,7846,1991-06-26,784.3000000001098,784.25555,2015-01-01 02:10:46,bin7846,35, -CTSPillarNetworkA,7847,7847,7847,1991-06-27,784.4000000001098,784.3555,2015-01-01 02:10:47,bin7847,75, -CTSPillarNetworkA,7848,7848,7848,1991-06-28,784.5000000001098,784.4555,2015-01-01 02:10:48,bin7848,35, -CTSPillarNetworkA,7849,7849,7849,1991-06-29,784.6000000001098,784.5555,2015-01-01 02:10:49,bin7849,75, -CTSPillarNetworkA,7850,7850,7850,1991-06-30,784.7000000001099,784.65546,2015-01-01 02:10:50,bin7850,35, -CTSPillarNetworkA,7851,7851,7851,1991-07-01,784.8000000001099,784.75543,2015-01-01 02:10:51,bin7851,75, -CTSPillarNetworkA,7852,7852,7852,1991-07-02,784.9000000001099,784.8554,2015-01-01 02:10:52,bin7852,35, -CTSPillarNetworkA,7853,7853,7853,1991-07-03,785.0000000001099,784.9554,2015-01-01 02:10:53,bin7853,75, -CTSPillarNetworkA,7854,7854,7854,1991-07-04,785.10000000011,785.05536,2015-01-01 02:10:54,bin7854,35, -CTSPillarNetworkA,7855,7855,7855,1991-07-05,785.20000000011,785.15533,2015-01-01 02:10:55,bin7855,75, -CTSPillarNetworkA,7856,7856,7856,1991-07-06,785.30000000011,785.2553,2015-01-01 02:10:56,bin7856,35, -CTSPillarNetworkA,7857,7857,7857,1991-07-07,785.40000000011,785.3553,2015-01-01 02:10:57,bin7857,75, -CTSPillarNetworkA,7858,7858,7858,1991-07-08,785.50000000011,785.45526,2015-01-01 02:10:58,bin7858,35, -CTSPillarNetworkA,7859,7859,7859,1991-07-09,785.6000000001101,785.55524,2015-01-01 02:10:59,bin7859,75, -CTSPillarNetworkA,7860,7860,7860,1991-07-10,785.7000000001101,785.6552,2015-01-01 02:11:00,bin7860,35, -CTSPillarNetworkA,7861,7861,7861,1991-07-11,785.8000000001101,785.7552,2015-01-01 02:11:01,bin7861,75, -CTSPillarNetworkA,7862,7862,7862,1991-07-12,785.9000000001101,785.85516,2015-01-01 02:11:02,bin7862,35, -CTSPillarNetworkA,7863,7863,7863,1991-07-13,786.0000000001102,785.95514,2015-01-01 02:11:03,bin7863,75, -CTSPillarNetworkA,7864,7864,7864,1991-07-14,786.1000000001102,786.0551,2015-01-01 02:11:04,bin7864,35, -CTSPillarNetworkA,7865,7865,7865,1991-07-15,786.2000000001102,786.1551,2015-01-01 02:11:05,bin7865,75, -CTSPillarNetworkA,7866,7866,7866,1991-07-16,786.3000000001102,786.25507,2015-01-01 02:11:06,bin7866,35, -CTSPillarNetworkA,7867,7867,7867,1991-07-17,786.4000000001103,786.35504,2015-01-01 02:11:07,bin7867,75, -CTSPillarNetworkA,7868,7868,7868,1991-07-18,786.5000000001103,786.455,2015-01-01 02:11:08,bin7868,35, -CTSPillarNetworkA,7869,7869,7869,1991-07-19,786.6000000001103,786.555,2015-01-01 02:11:09,bin7869,75, -CTSPillarNetworkA,7870,7870,7870,1991-07-20,786.7000000001103,786.65497,2015-01-01 02:11:10,bin7870,35, -CTSPillarNetworkA,7871,7871,7871,1991-07-21,786.8000000001103,786.75494,2015-01-01 02:11:11,bin7871,75, -CTSPillarNetworkA,7872,7872,7872,1991-07-22,786.9000000001104,786.8549,2015-01-01 02:11:12,bin7872,35, -CTSPillarNetworkA,7873,7873,7873,1991-07-23,787.0000000001104,786.9549,2015-01-01 02:11:13,bin7873,75, -CTSPillarNetworkA,7874,7874,7874,1991-07-24,787.1000000001104,787.0549,2015-01-01 02:11:14,bin7874,35, -CTSPillarNetworkA,7875,7875,7875,1991-07-25,787.2000000001104,787.15485,2015-01-01 02:11:15,bin7875,75, -CTSPillarNetworkA,7876,7876,7876,1991-07-26,787.3000000001105,787.2548,2015-01-01 02:11:16,bin7876,35, -CTSPillarNetworkA,7877,7877,7877,1991-07-27,787.4000000001105,787.3548,2015-01-01 02:11:17,bin7877,75, -CTSPillarNetworkA,7878,7878,7878,1991-07-28,787.5000000001105,787.4548,2015-01-01 02:11:18,bin7878,35, -CTSPillarNetworkA,7879,7879,7879,1991-07-29,787.6000000001105,787.55475,2015-01-01 02:11:19,bin7879,75, -CTSPillarNetworkA,7880,7880,7880,1991-07-30,787.7000000001105,787.6547,2015-01-01 02:11:20,bin7880,35, -CTSPillarNetworkA,7881,7881,7881,1991-07-31,787.8000000001106,787.7547,2015-01-01 02:11:21,bin7881,75, -CTSPillarNetworkA,7882,7882,7882,1991-08-01,787.9000000001106,787.8547,2015-01-01 02:11:22,bin7882,35, -CTSPillarNetworkA,7883,7883,7883,1991-08-02,788.0000000001106,787.95465,2015-01-01 02:11:23,bin7883,75, -CTSPillarNetworkA,7884,7884,7884,1991-08-03,788.1000000001106,788.0546,2015-01-01 02:11:24,bin7884,35, -CTSPillarNetworkA,7885,7885,7885,1991-08-04,788.2000000001107,788.1546,2015-01-01 02:11:25,bin7885,75, -CTSPillarNetworkA,7886,7886,7886,1991-08-05,788.3000000001107,788.2546,2015-01-01 02:11:26,bin7886,35, -CTSPillarNetworkA,7887,7887,7887,1991-08-06,788.4000000001107,788.35455,2015-01-01 02:11:27,bin7887,75, -CTSPillarNetworkA,7888,7888,7888,1991-08-07,788.5000000001107,788.4545,2015-01-01 02:11:28,bin7888,35, -CTSPillarNetworkA,7889,7889,7889,1991-08-08,788.6000000001108,788.5545,2015-01-01 02:11:29,bin7889,75, -CTSPillarNetworkA,7890,7890,7890,1991-08-09,788.7000000001108,788.6545,2015-01-01 02:11:30,bin7890,35, -CTSPillarNetworkA,7891,7891,7891,1991-08-10,788.8000000001108,788.75446,2015-01-01 02:11:31,bin7891,75, -CTSPillarNetworkA,7892,7892,7892,1991-08-11,788.9000000001108,788.85443,2015-01-01 02:11:32,bin7892,35, -CTSPillarNetworkA,7893,7893,7893,1991-08-12,789.0000000001108,788.9544,2015-01-01 02:11:33,bin7893,75, -CTSPillarNetworkA,7894,7894,7894,1991-08-13,789.1000000001109,789.0544,2015-01-01 02:11:34,bin7894,35, -CTSPillarNetworkA,7895,7895,7895,1991-08-14,789.2000000001109,789.15436,2015-01-01 02:11:35,bin7895,75, -CTSPillarNetworkA,7896,7896,7896,1991-08-15,789.3000000001109,789.25433,2015-01-01 02:11:36,bin7896,35, -CTSPillarNetworkA,7897,7897,7897,1991-08-16,789.4000000001109,789.3543,2015-01-01 02:11:37,bin7897,75, -CTSPillarNetworkA,7898,7898,7898,1991-08-17,789.500000000111,789.4543,2015-01-01 02:11:38,bin7898,35, -CTSPillarNetworkA,7899,7899,7899,1991-08-18,789.600000000111,789.55426,2015-01-01 02:11:39,bin7899,75, -CTSPillarNetworkA,7900,7900,7900,1991-08-19,789.700000000111,789.65424,2015-01-01 02:11:40,bin7900,35, -CTSPillarNetworkA,7901,7901,7901,1991-08-20,789.800000000111,789.7542,2015-01-01 02:11:41,bin7901,75, -CTSPillarNetworkA,7902,7902,7902,1991-08-21,789.900000000111,789.8542,2015-01-01 02:11:42,bin7902,35, -CTSPillarNetworkA,7903,7903,7903,1991-08-22,790.0000000001111,789.95416,2015-01-01 02:11:43,bin7903,75, -CTSPillarNetworkA,7904,7904,7904,1991-08-23,790.1000000001111,790.05414,2015-01-01 02:11:44,bin7904,35, -CTSPillarNetworkA,7905,7905,7905,1991-08-24,790.2000000001111,790.1541,2015-01-01 02:11:45,bin7905,75, -CTSPillarNetworkA,7906,7906,7906,1991-08-25,790.3000000001111,790.2541,2015-01-01 02:11:46,bin7906,35, -CTSPillarNetworkA,7907,7907,7907,1991-08-26,790.4000000001112,790.35406,2015-01-01 02:11:47,bin7907,75, -CTSPillarNetworkA,7908,7908,7908,1991-08-27,790.5000000001112,790.45404,2015-01-01 02:11:48,bin7908,35, -CTSPillarNetworkA,7909,7909,7909,1991-08-28,790.6000000001112,790.554,2015-01-01 02:11:49,bin7909,75, -CTSPillarNetworkA,7910,7910,7910,1991-08-29,790.7000000001112,790.654,2015-01-01 02:11:50,bin7910,35, -CTSPillarNetworkA,7911,7911,7911,1991-08-30,790.8000000001113,790.75397,2015-01-01 02:11:51,bin7911,75, -CTSPillarNetworkA,7912,7912,7912,1991-08-31,790.9000000001113,790.85394,2015-01-01 02:11:52,bin7912,35, -CTSPillarNetworkA,7913,7913,7913,1991-09-01,791.0000000001113,790.9539,2015-01-01 02:11:53,bin7913,75, -CTSPillarNetworkA,7914,7914,7914,1991-09-02,791.1000000001113,791.0539,2015-01-01 02:11:54,bin7914,35, -CTSPillarNetworkA,7915,7915,7915,1991-09-03,791.2000000001113,791.1539,2015-01-01 02:11:55,bin7915,75, -CTSPillarNetworkA,7916,7916,7916,1991-09-04,791.3000000001114,791.25385,2015-01-01 02:11:56,bin7916,35, -CTSPillarNetworkA,7917,7917,7917,1991-09-05,791.4000000001114,791.3538,2015-01-01 02:11:57,bin7917,75, -CTSPillarNetworkA,7918,7918,7918,1991-09-06,791.5000000001114,791.4538,2015-01-01 02:11:58,bin7918,35, -CTSPillarNetworkA,7919,7919,7919,1991-09-07,791.6000000001114,791.5538,2015-01-01 02:11:59,bin7919,75, -CTSPillarNetworkA,7920,7920,7920,1991-09-08,791.7000000001115,791.65375,2015-01-01 02:12:00,bin7920,35, -CTSPillarNetworkA,7921,7921,7921,1991-09-09,791.8000000001115,791.7537,2015-01-01 02:12:01,bin7921,75, -CTSPillarNetworkA,7922,7922,7922,1991-09-10,791.9000000001115,791.8537,2015-01-01 02:12:02,bin7922,35, -CTSPillarNetworkA,7923,7923,7923,1991-09-11,792.0000000001115,791.9537,2015-01-01 02:12:03,bin7923,75, -CTSPillarNetworkA,7924,7924,7924,1991-09-12,792.1000000001115,792.05365,2015-01-01 02:12:04,bin7924,35, -CTSPillarNetworkA,7925,7925,7925,1991-09-13,792.2000000001116,792.1536,2015-01-01 02:12:05,bin7925,75, -CTSPillarNetworkA,7926,7926,7926,1991-09-14,792.3000000001116,792.2536,2015-01-01 02:12:06,bin7926,35, -CTSPillarNetworkA,7927,7927,7927,1991-09-15,792.4000000001116,792.3536,2015-01-01 02:12:07,bin7927,75, -CTSPillarNetworkA,7928,7928,7928,1991-09-16,792.5000000001116,792.45355,2015-01-01 02:12:08,bin7928,35, -CTSPillarNetworkA,7929,7929,7929,1991-09-17,792.6000000001117,792.5535,2015-01-01 02:12:09,bin7929,75, -CTSPillarNetworkA,7930,7930,7930,1991-09-18,792.7000000001117,792.6535,2015-01-01 02:12:10,bin7930,35, -CTSPillarNetworkA,7931,7931,7931,1991-09-19,792.8000000001117,792.7535,2015-01-01 02:12:11,bin7931,75, -CTSPillarNetworkA,7932,7932,7932,1991-09-20,792.9000000001117,792.85345,2015-01-01 02:12:12,bin7932,35, -CTSPillarNetworkA,7933,7933,7933,1991-09-21,793.0000000001118,792.9534,2015-01-01 02:12:13,bin7933,75, -CTSPillarNetworkA,7934,7934,7934,1991-09-22,793.1000000001118,793.0534,2015-01-01 02:12:14,bin7934,35, -CTSPillarNetworkA,7935,7935,7935,1991-09-23,793.2000000001118,793.1534,2015-01-01 02:12:15,bin7935,75, -CTSPillarNetworkA,7936,7936,7936,1991-09-24,793.3000000001118,793.25336,2015-01-01 02:12:16,bin7936,35, -CTSPillarNetworkA,7937,7937,7937,1991-09-25,793.4000000001118,793.35333,2015-01-01 02:12:17,bin7937,75, -CTSPillarNetworkA,7938,7938,7938,1991-09-26,793.5000000001119,793.4533,2015-01-01 02:12:18,bin7938,35, -CTSPillarNetworkA,7939,7939,7939,1991-09-27,793.6000000001119,793.5533,2015-01-01 02:12:19,bin7939,75, -CTSPillarNetworkA,7940,7940,7940,1991-09-28,793.7000000001119,793.65326,2015-01-01 02:12:20,bin7940,35, -CTSPillarNetworkA,7941,7941,7941,1991-09-29,793.8000000001119,793.75323,2015-01-01 02:12:21,bin7941,75, -CTSPillarNetworkA,7942,7942,7942,1991-09-30,793.900000000112,793.8532,2015-01-01 02:12:22,bin7942,35, -CTSPillarNetworkA,7943,7943,7943,1991-10-01,794.000000000112,793.9532,2015-01-01 02:12:23,bin7943,75, -CTSPillarNetworkA,7944,7944,7944,1991-10-02,794.100000000112,794.05316,2015-01-01 02:12:24,bin7944,35, -CTSPillarNetworkA,7945,7945,7945,1991-10-03,794.200000000112,794.15314,2015-01-01 02:12:25,bin7945,75, -CTSPillarNetworkA,7946,7946,7946,1991-10-04,794.300000000112,794.2531,2015-01-01 02:12:26,bin7946,35, -CTSPillarNetworkA,7947,7947,7947,1991-10-05,794.4000000001121,794.3531,2015-01-01 02:12:27,bin7947,75, -CTSPillarNetworkA,7948,7948,7948,1991-10-06,794.5000000001121,794.45306,2015-01-01 02:12:28,bin7948,35, -CTSPillarNetworkA,7949,7949,7949,1991-10-07,794.6000000001121,794.55304,2015-01-01 02:12:29,bin7949,75, -CTSPillarNetworkA,7950,7950,7950,1991-10-08,794.7000000001121,794.653,2015-01-01 02:12:30,bin7950,35, -CTSPillarNetworkA,7951,7951,7951,1991-10-09,794.8000000001122,794.753,2015-01-01 02:12:31,bin7951,75, -CTSPillarNetworkA,7952,7952,7952,1991-10-10,794.9000000001122,794.85297,2015-01-01 02:12:32,bin7952,35, -CTSPillarNetworkA,7953,7953,7953,1991-10-11,795.0000000001122,794.95294,2015-01-01 02:12:33,bin7953,75, -CTSPillarNetworkA,7954,7954,7954,1991-10-12,795.1000000001122,795.0529,2015-01-01 02:12:34,bin7954,35, -CTSPillarNetworkA,7955,7955,7955,1991-10-13,795.2000000001123,795.1529,2015-01-01 02:12:35,bin7955,75, -CTSPillarNetworkA,7956,7956,7956,1991-10-14,795.3000000001123,795.25287,2015-01-01 02:12:36,bin7956,35, -CTSPillarNetworkA,7957,7957,7957,1991-10-15,795.4000000001123,795.35284,2015-01-01 02:12:37,bin7957,75, -CTSPillarNetworkA,7958,7958,7958,1991-10-16,795.5000000001123,795.4528,2015-01-01 02:12:38,bin7958,35, -CTSPillarNetworkA,7959,7959,7959,1991-10-17,795.6000000001123,795.5528,2015-01-01 02:12:39,bin7959,75, -CTSPillarNetworkA,7960,7960,7960,1991-10-18,795.7000000001124,795.6528,2015-01-01 02:12:40,bin7960,35, -CTSPillarNetworkA,7961,7961,7961,1991-10-19,795.8000000001124,795.75275,2015-01-01 02:12:41,bin7961,75, -CTSPillarNetworkA,7962,7962,7962,1991-10-20,795.9000000001124,795.8527,2015-01-01 02:12:42,bin7962,35, -CTSPillarNetworkA,7963,7963,7963,1991-10-21,796.0000000001124,795.9527,2015-01-01 02:12:43,bin7963,75, -CTSPillarNetworkA,7964,7964,7964,1991-10-22,796.1000000001125,796.0527,2015-01-01 02:12:44,bin7964,35, -CTSPillarNetworkA,7965,7965,7965,1991-10-23,796.2000000001125,796.15265,2015-01-01 02:12:45,bin7965,75, -CTSPillarNetworkA,7966,7966,7966,1991-10-24,796.3000000001125,796.2526,2015-01-01 02:12:46,bin7966,35, -CTSPillarNetworkA,7967,7967,7967,1991-10-25,796.4000000001125,796.3526,2015-01-01 02:12:47,bin7967,75, -CTSPillarNetworkA,7968,7968,7968,1991-10-26,796.5000000001125,796.4526,2015-01-01 02:12:48,bin7968,35, -CTSPillarNetworkA,7969,7969,7969,1991-10-27,796.6000000001126,796.55255,2015-01-01 02:12:49,bin7969,75, -CTSPillarNetworkA,7970,7970,7970,1991-10-28,796.7000000001126,796.6525,2015-01-01 02:12:50,bin7970,35, -CTSPillarNetworkA,7971,7971,7971,1991-10-29,796.8000000001126,796.7525,2015-01-01 02:12:51,bin7971,75, -CTSPillarNetworkA,7972,7972,7972,1991-10-30,796.9000000001126,796.8525,2015-01-01 02:12:52,bin7972,35, -CTSPillarNetworkA,7973,7973,7973,1991-10-31,797.0000000001127,796.95245,2015-01-01 02:12:53,bin7973,75, -CTSPillarNetworkA,7974,7974,7974,1991-11-01,797.1000000001127,797.0524,2015-01-01 02:12:54,bin7974,35, -CTSPillarNetworkA,7975,7975,7975,1991-11-02,797.2000000001127,797.1524,2015-01-01 02:12:55,bin7975,75, -CTSPillarNetworkA,7976,7976,7976,1991-11-03,797.3000000001127,797.2524,2015-01-01 02:12:56,bin7976,35, -CTSPillarNetworkA,7977,7977,7977,1991-11-04,797.4000000001128,797.35236,2015-01-01 02:12:57,bin7977,75, -CTSPillarNetworkA,7978,7978,7978,1991-11-05,797.5000000001128,797.45233,2015-01-01 02:12:58,bin7978,35, -CTSPillarNetworkA,7979,7979,7979,1991-11-06,797.6000000001128,797.5523,2015-01-01 02:12:59,bin7979,75, -CTSPillarNetworkA,7980,7980,7980,1991-11-07,797.7000000001128,797.6523,2015-01-01 02:13:00,bin7980,35, -CTSPillarNetworkA,7981,7981,7981,1991-11-08,797.8000000001128,797.75226,2015-01-01 02:13:01,bin7981,75, -CTSPillarNetworkA,7982,7982,7982,1991-11-09,797.9000000001129,797.85223,2015-01-01 02:13:02,bin7982,35, -CTSPillarNetworkA,7983,7983,7983,1991-11-10,798.0000000001129,797.9522,2015-01-01 02:13:03,bin7983,75, -CTSPillarNetworkA,7984,7984,7984,1991-11-11,798.1000000001129,798.0522,2015-01-01 02:13:04,bin7984,35, -CTSPillarNetworkA,7985,7985,7985,1991-11-12,798.2000000001129,798.15216,2015-01-01 02:13:05,bin7985,75, -CTSPillarNetworkA,7986,7986,7986,1991-11-13,798.300000000113,798.25214,2015-01-01 02:13:06,bin7986,35, -CTSPillarNetworkA,7987,7987,7987,1991-11-14,798.400000000113,798.3521,2015-01-01 02:13:07,bin7987,75, -CTSPillarNetworkA,7988,7988,7988,1991-11-15,798.500000000113,798.4521,2015-01-01 02:13:08,bin7988,35, -CTSPillarNetworkA,7989,7989,7989,1991-11-16,798.600000000113,798.55206,2015-01-01 02:13:09,bin7989,75, -CTSPillarNetworkA,7990,7990,7990,1991-11-17,798.700000000113,798.65204,2015-01-01 02:13:10,bin7990,35, -CTSPillarNetworkA,7991,7991,7991,1991-11-18,798.8000000001131,798.752,2015-01-01 02:13:11,bin7991,75, -CTSPillarNetworkA,7992,7992,7992,1991-11-19,798.9000000001131,798.852,2015-01-01 02:13:12,bin7992,35, -CTSPillarNetworkA,7993,7993,7993,1991-11-20,799.0000000001131,798.95197,2015-01-01 02:13:13,bin7993,75, -CTSPillarNetworkA,7994,7994,7994,1991-11-21,799.1000000001131,799.05194,2015-01-01 02:13:14,bin7994,35, -CTSPillarNetworkA,7995,7995,7995,1991-11-22,799.2000000001132,799.1519,2015-01-01 02:13:15,bin7995,75, -CTSPillarNetworkA,7996,7996,7996,1991-11-23,799.3000000001132,799.2519,2015-01-01 02:13:16,bin7996,35, -CTSPillarNetworkA,7997,7997,7997,1991-11-24,799.4000000001132,799.35187,2015-01-01 02:13:17,bin7997,75, -CTSPillarNetworkA,7998,7998,7998,1991-11-25,799.5000000001132,799.45184,2015-01-01 02:13:18,bin7998,35, -CTSPillarNetworkA,7999,7999,7999,1991-11-26,799.6000000001133,799.5518,2015-01-01 02:13:19,bin7999,75, -CTSPillarNetworkA,8000,8000,8000,1991-11-27,799.7000000001133,799.6518,2015-01-01 02:13:20,bin8000,35, -CTSPillarNetworkA,8001,8001,8001,1991-11-28,799.8000000001133,799.7518,2015-01-01 02:13:21,bin8001,75, -CTSPillarNetworkA,8002,8002,8002,1991-11-29,799.9000000001133,799.85175,2015-01-01 02:13:22,bin8002,35, -CTSPillarNetworkA,8003,8003,8003,1991-11-30,800.0000000001133,799.9517,2015-01-01 02:13:23,bin8003,75, -CTSPillarNetworkA,8004,8004,8004,1991-12-01,800.1000000001134,800.0517,2015-01-01 02:13:24,bin8004,35, -CTSPillarNetworkA,8005,8005,8005,1991-12-02,800.2000000001134,800.1517,2015-01-01 02:13:25,bin8005,75, -CTSPillarNetworkA,8006,8006,8006,1991-12-03,800.3000000001134,800.25165,2015-01-01 02:13:26,bin8006,35, -CTSPillarNetworkA,8007,8007,8007,1991-12-04,800.4000000001134,800.3516,2015-01-01 02:13:27,bin8007,75, -CTSPillarNetworkA,8008,8008,8008,1991-12-05,800.5000000001135,800.4516,2015-01-01 02:13:28,bin8008,35, -CTSPillarNetworkA,8009,8009,8009,1991-12-06,800.6000000001135,800.5516,2015-01-01 02:13:29,bin8009,75, -CTSPillarNetworkA,8010,8010,8010,1991-12-07,800.7000000001135,800.65155,2015-01-01 02:13:30,bin8010,35, -CTSPillarNetworkA,8011,8011,8011,1991-12-08,800.8000000001135,800.7515,2015-01-01 02:13:31,bin8011,75, -CTSPillarNetworkA,8012,8012,8012,1991-12-09,800.9000000001136,800.8515,2015-01-01 02:13:32,bin8012,35, -CTSPillarNetworkA,8013,8013,8013,1991-12-10,801.0000000001136,800.9515,2015-01-01 02:13:33,bin8013,75, -CTSPillarNetworkA,8014,8014,8014,1991-12-11,801.1000000001136,801.05145,2015-01-01 02:13:34,bin8014,35, -CTSPillarNetworkA,8015,8015,8015,1991-12-12,801.2000000001136,801.1514,2015-01-01 02:13:35,bin8015,75, -CTSPillarNetworkA,8016,8016,8016,1991-12-13,801.3000000001136,801.2514,2015-01-01 02:13:36,bin8016,35, -CTSPillarNetworkA,8017,8017,8017,1991-12-14,801.4000000001137,801.3514,2015-01-01 02:13:37,bin8017,75, -CTSPillarNetworkA,8018,8018,8018,1991-12-15,801.5000000001137,801.45135,2015-01-01 02:13:38,bin8018,35, -CTSPillarNetworkA,8019,8019,8019,1991-12-16,801.6000000001137,801.55133,2015-01-01 02:13:39,bin8019,75, -CTSPillarNetworkA,8020,8020,8020,1991-12-17,801.7000000001137,801.6513,2015-01-01 02:13:40,bin8020,35, -CTSPillarNetworkA,8021,8021,8021,1991-12-18,801.8000000001138,801.7513,2015-01-01 02:13:41,bin8021,75, -CTSPillarNetworkA,8022,8022,8022,1991-12-19,801.9000000001138,801.85126,2015-01-01 02:13:42,bin8022,35, -CTSPillarNetworkA,8023,8023,8023,1991-12-20,802.0000000001138,801.95123,2015-01-01 02:13:43,bin8023,75, -CTSPillarNetworkA,8024,8024,8024,1991-12-21,802.1000000001138,802.0512,2015-01-01 02:13:44,bin8024,35, -CTSPillarNetworkA,8025,8025,8025,1991-12-22,802.2000000001138,802.1512,2015-01-01 02:13:45,bin8025,75, -CTSPillarNetworkA,8026,8026,8026,1991-12-23,802.3000000001139,802.25116,2015-01-01 02:13:46,bin8026,35, -CTSPillarNetworkA,8027,8027,8027,1991-12-24,802.4000000001139,802.35114,2015-01-01 02:13:47,bin8027,75, -CTSPillarNetworkA,8028,8028,8028,1991-12-25,802.5000000001139,802.4511,2015-01-01 02:13:48,bin8028,35, -CTSPillarNetworkA,8029,8029,8029,1991-12-26,802.6000000001139,802.5511,2015-01-01 02:13:49,bin8029,75, -CTSPillarNetworkA,8030,8030,8030,1991-12-27,802.700000000114,802.65106,2015-01-01 02:13:50,bin8030,35, -CTSPillarNetworkA,8031,8031,8031,1991-12-28,802.800000000114,802.75104,2015-01-01 02:13:51,bin8031,75, -CTSPillarNetworkA,8032,8032,8032,1991-12-29,802.900000000114,802.851,2015-01-01 02:13:52,bin8032,35, -CTSPillarNetworkA,8033,8033,8033,1991-12-30,803.000000000114,802.951,2015-01-01 02:13:53,bin8033,75, -CTSPillarNetworkA,8034,8034,8034,1991-12-31,803.100000000114,803.05096,2015-01-01 02:13:54,bin8034,35, -CTSPillarNetworkA,8035,8035,8035,1992-01-01,803.2000000001141,803.15094,2015-01-01 02:13:55,bin8035,75, -CTSPillarNetworkA,8036,8036,8036,1992-01-02,803.3000000001141,803.2509,2015-01-01 02:13:56,bin8036,35, -CTSPillarNetworkA,8037,8037,8037,1992-01-03,803.4000000001141,803.3509,2015-01-01 02:13:57,bin8037,75, -CTSPillarNetworkA,8038,8038,8038,1992-01-04,803.5000000001141,803.45087,2015-01-01 02:13:58,bin8038,35, -CTSPillarNetworkA,8039,8039,8039,1992-01-05,803.6000000001142,803.55084,2015-01-01 02:13:59,bin8039,75, -CTSPillarNetworkA,8040,8040,8040,1992-01-06,803.7000000001142,803.6508,2015-01-01 02:14:00,bin8040,35, -CTSPillarNetworkA,8041,8041,8041,1992-01-07,803.8000000001142,803.7508,2015-01-01 02:14:01,bin8041,75, -CTSPillarNetworkA,8042,8042,8042,1992-01-08,803.9000000001142,803.85077,2015-01-01 02:14:02,bin8042,35, -CTSPillarNetworkA,8043,8043,8043,1992-01-09,804.0000000001143,803.95074,2015-01-01 02:14:03,bin8043,75, -CTSPillarNetworkA,8044,8044,8044,1992-01-10,804.1000000001143,804.0507,2015-01-01 02:14:04,bin8044,35, -CTSPillarNetworkA,8045,8045,8045,1992-01-11,804.2000000001143,804.1507,2015-01-01 02:14:05,bin8045,75, -CTSPillarNetworkA,8046,8046,8046,1992-01-12,804.3000000001143,804.2507,2015-01-01 02:14:06,bin8046,35, -CTSPillarNetworkA,8047,8047,8047,1992-01-13,804.4000000001143,804.35065,2015-01-01 02:14:07,bin8047,75, -CTSPillarNetworkA,8048,8048,8048,1992-01-14,804.5000000001144,804.4506,2015-01-01 02:14:08,bin8048,35, -CTSPillarNetworkA,8049,8049,8049,1992-01-15,804.6000000001144,804.5506,2015-01-01 02:14:09,bin8049,75, -CTSPillarNetworkA,8050,8050,8050,1992-01-16,804.7000000001144,804.6506,2015-01-01 02:14:10,bin8050,35, -CTSPillarNetworkA,8051,8051,8051,1992-01-17,804.8000000001144,804.75055,2015-01-01 02:14:11,bin8051,75, -CTSPillarNetworkA,8052,8052,8052,1992-01-18,804.9000000001145,804.8505,2015-01-01 02:14:12,bin8052,35, -CTSPillarNetworkA,8053,8053,8053,1992-01-19,805.0000000001145,804.9505,2015-01-01 02:14:13,bin8053,75, -CTSPillarNetworkA,8054,8054,8054,1992-01-20,805.1000000001145,805.0505,2015-01-01 02:14:14,bin8054,35, -CTSPillarNetworkA,8055,8055,8055,1992-01-21,805.2000000001145,805.15045,2015-01-01 02:14:15,bin8055,75, -CTSPillarNetworkA,8056,8056,8056,1992-01-22,805.3000000001146,805.2504,2015-01-01 02:14:16,bin8056,35, -CTSPillarNetworkA,8057,8057,8057,1992-01-23,805.4000000001146,805.3504,2015-01-01 02:14:17,bin8057,75, -CTSPillarNetworkA,8058,8058,8058,1992-01-24,805.5000000001146,805.4504,2015-01-01 02:14:18,bin8058,35, -CTSPillarNetworkA,8059,8059,8059,1992-01-25,805.6000000001146,805.55035,2015-01-01 02:14:19,bin8059,75, -CTSPillarNetworkA,8060,8060,8060,1992-01-26,805.7000000001146,805.6503,2015-01-01 02:14:20,bin8060,35, -CTSPillarNetworkA,8061,8061,8061,1992-01-27,805.8000000001147,805.7503,2015-01-01 02:14:21,bin8061,75, -CTSPillarNetworkA,8062,8062,8062,1992-01-28,805.9000000001147,805.8503,2015-01-01 02:14:22,bin8062,35, -CTSPillarNetworkA,8063,8063,8063,1992-01-29,806.0000000001147,805.95026,2015-01-01 02:14:23,bin8063,75, -CTSPillarNetworkA,8064,8064,8064,1992-01-30,806.1000000001147,806.05023,2015-01-01 02:14:24,bin8064,35, -CTSPillarNetworkA,8065,8065,8065,1992-01-31,806.2000000001148,806.1502,2015-01-01 02:14:25,bin8065,75, -CTSPillarNetworkA,8066,8066,8066,1992-02-01,806.3000000001148,806.2502,2015-01-01 02:14:26,bin8066,35, -CTSPillarNetworkA,8067,8067,8067,1992-02-02,806.4000000001148,806.35016,2015-01-01 02:14:27,bin8067,75, -CTSPillarNetworkA,8068,8068,8068,1992-02-03,806.5000000001148,806.45013,2015-01-01 02:14:28,bin8068,35, -CTSPillarNetworkA,8069,8069,8069,1992-02-04,806.6000000001148,806.5501,2015-01-01 02:14:29,bin8069,75, -CTSPillarNetworkA,8070,8070,8070,1992-02-05,806.7000000001149,806.6501,2015-01-01 02:14:30,bin8070,35, -CTSPillarNetworkA,8071,8071,8071,1992-02-06,806.8000000001149,806.75006,2015-01-01 02:14:31,bin8071,75, -CTSPillarNetworkA,8072,8072,8072,1992-02-07,806.9000000001149,806.85004,2015-01-01 02:14:32,bin8072,35, -CTSPillarNetworkA,8073,8073,8073,1992-02-08,807.0000000001149,806.95,2015-01-01 02:14:33,bin8073,75, -CTSPillarNetworkA,8074,8074,8074,1992-02-09,807.100000000115,807.05,2015-01-01 02:14:34,bin8074,35, -CTSPillarNetworkA,8075,8075,8075,1992-02-10,807.200000000115,807.14996,2015-01-01 02:14:35,bin8075,75, -CTSPillarNetworkA,8076,8076,8076,1992-02-11,807.300000000115,807.24994,2015-01-01 02:14:36,bin8076,35, -CTSPillarNetworkA,8077,8077,8077,1992-02-12,807.400000000115,807.3499,2015-01-01 02:14:37,bin8077,75, -CTSPillarNetworkA,8078,8078,8078,1992-02-13,807.500000000115,807.4499,2015-01-01 02:14:38,bin8078,35, -CTSPillarNetworkA,8079,8079,8079,1992-02-14,807.6000000001151,807.54987,2015-01-01 02:14:39,bin8079,75, -CTSPillarNetworkA,8080,8080,8080,1992-02-15,807.7000000001151,807.64984,2015-01-01 02:14:40,bin8080,35, -CTSPillarNetworkA,8081,8081,8081,1992-02-16,807.8000000001151,807.7498,2015-01-01 02:14:41,bin8081,75, -CTSPillarNetworkA,8082,8082,8082,1992-02-17,807.9000000001151,807.8498,2015-01-01 02:14:42,bin8082,35, -CTSPillarNetworkA,8083,8083,8083,1992-02-18,808.0000000001152,807.94977,2015-01-01 02:14:43,bin8083,75, -CTSPillarNetworkA,8084,8084,8084,1992-02-19,808.1000000001152,808.04974,2015-01-01 02:14:44,bin8084,35, -CTSPillarNetworkA,8085,8085,8085,1992-02-20,808.2000000001152,808.1497,2015-01-01 02:14:45,bin8085,75, -CTSPillarNetworkA,8086,8086,8086,1992-02-21,808.3000000001152,808.2497,2015-01-01 02:14:46,bin8086,35, -CTSPillarNetworkA,8087,8087,8087,1992-02-22,808.4000000001153,808.3497,2015-01-01 02:14:47,bin8087,75, -CTSPillarNetworkA,8088,8088,8088,1992-02-23,808.5000000001153,808.44965,2015-01-01 02:14:48,bin8088,35, -CTSPillarNetworkA,8089,8089,8089,1992-02-24,808.6000000001153,808.5496,2015-01-01 02:14:49,bin8089,75, -CTSPillarNetworkA,8090,8090,8090,1992-02-25,808.7000000001153,808.6496,2015-01-01 02:14:50,bin8090,35, -CTSPillarNetworkA,8091,8091,8091,1992-02-26,808.8000000001153,808.7496,2015-01-01 02:14:51,bin8091,75, -CTSPillarNetworkA,8092,8092,8092,1992-02-27,808.9000000001154,808.84955,2015-01-01 02:14:52,bin8092,35, -CTSPillarNetworkA,8093,8093,8093,1992-02-28,809.0000000001154,808.9495,2015-01-01 02:14:53,bin8093,75, -CTSPillarNetworkA,8094,8094,8094,1992-02-29,809.1000000001154,809.0495,2015-01-01 02:14:54,bin8094,35, -CTSPillarNetworkA,8095,8095,8095,1992-03-01,809.2000000001154,809.1495,2015-01-01 02:14:55,bin8095,75, -CTSPillarNetworkA,8096,8096,8096,1992-03-02,809.3000000001155,809.24945,2015-01-01 02:14:56,bin8096,35, -CTSPillarNetworkA,8097,8097,8097,1992-03-03,809.4000000001155,809.3494,2015-01-01 02:14:57,bin8097,75, -CTSPillarNetworkA,8098,8098,8098,1992-03-04,809.5000000001155,809.4494,2015-01-01 02:14:58,bin8098,35, -CTSPillarNetworkA,8099,8099,8099,1992-03-05,809.6000000001155,809.5494,2015-01-01 02:14:59,bin8099,75, -CTSPillarNetworkA,8100,8100,8100,1992-03-06,809.7000000001156,809.64935,2015-01-01 02:15:00,bin8100,35, -CTSPillarNetworkA,8101,8101,8101,1992-03-07,809.8000000001156,809.7493,2015-01-01 02:15:01,bin8101,75, -CTSPillarNetworkA,8102,8102,8102,1992-03-08,809.9000000001156,809.8493,2015-01-01 02:15:02,bin8102,35, -CTSPillarNetworkA,8103,8103,8103,1992-03-09,810.0000000001156,809.9493,2015-01-01 02:15:03,bin8103,75, -CTSPillarNetworkA,8104,8104,8104,1992-03-10,810.1000000001156,810.04926,2015-01-01 02:15:04,bin8104,35, -CTSPillarNetworkA,8105,8105,8105,1992-03-11,810.2000000001157,810.14923,2015-01-01 02:15:05,bin8105,75, -CTSPillarNetworkA,8106,8106,8106,1992-03-12,810.3000000001157,810.2492,2015-01-01 02:15:06,bin8106,35, -CTSPillarNetworkA,8107,8107,8107,1992-03-13,810.4000000001157,810.3492,2015-01-01 02:15:07,bin8107,75, -CTSPillarNetworkA,8108,8108,8108,1992-03-14,810.5000000001157,810.44916,2015-01-01 02:15:08,bin8108,35, -CTSPillarNetworkA,8109,8109,8109,1992-03-15,810.6000000001158,810.54913,2015-01-01 02:15:09,bin8109,75, -CTSPillarNetworkA,8110,8110,8110,1992-03-16,810.7000000001158,810.6491,2015-01-01 02:15:10,bin8110,35, -CTSPillarNetworkA,8111,8111,8111,1992-03-17,810.8000000001158,810.7491,2015-01-01 02:15:11,bin8111,75, -CTSPillarNetworkA,8112,8112,8112,1992-03-18,810.9000000001158,810.84906,2015-01-01 02:15:12,bin8112,35, -CTSPillarNetworkA,8113,8113,8113,1992-03-19,811.0000000001158,810.94904,2015-01-01 02:15:13,bin8113,75, -CTSPillarNetworkA,8114,8114,8114,1992-03-20,811.1000000001159,811.049,2015-01-01 02:15:14,bin8114,35, -CTSPillarNetworkA,8115,8115,8115,1992-03-21,811.2000000001159,811.149,2015-01-01 02:15:15,bin8115,75, -CTSPillarNetworkA,8116,8116,8116,1992-03-22,811.3000000001159,811.24896,2015-01-01 02:15:16,bin8116,35, -CTSPillarNetworkA,8117,8117,8117,1992-03-23,811.4000000001159,811.34894,2015-01-01 02:15:17,bin8117,75, -CTSPillarNetworkA,8118,8118,8118,1992-03-24,811.500000000116,811.4489,2015-01-01 02:15:18,bin8118,35, -CTSPillarNetworkA,8119,8119,8119,1992-03-25,811.600000000116,811.5489,2015-01-01 02:15:19,bin8119,75, -CTSPillarNetworkA,8120,8120,8120,1992-03-26,811.700000000116,811.64886,2015-01-01 02:15:20,bin8120,35, -CTSPillarNetworkA,8121,8121,8121,1992-03-27,811.800000000116,811.74884,2015-01-01 02:15:21,bin8121,75, -CTSPillarNetworkA,8122,8122,8122,1992-03-28,811.900000000116,811.8488,2015-01-01 02:15:22,bin8122,35, -CTSPillarNetworkA,8123,8123,8123,1992-03-29,812.0000000001161,811.9488,2015-01-01 02:15:23,bin8123,75, -CTSPillarNetworkA,8124,8124,8124,1992-03-30,812.1000000001161,812.04877,2015-01-01 02:15:24,bin8124,35, -CTSPillarNetworkA,8125,8125,8125,1992-03-31,812.2000000001161,812.14874,2015-01-01 02:15:25,bin8125,75, -CTSPillarNetworkA,8126,8126,8126,1992-04-01,812.3000000001161,812.2487,2015-01-01 02:15:26,bin8126,35, -CTSPillarNetworkA,8127,8127,8127,1992-04-02,812.4000000001162,812.3487,2015-01-01 02:15:27,bin8127,75, -CTSPillarNetworkA,8128,8128,8128,1992-04-03,812.5000000001162,812.44867,2015-01-01 02:15:28,bin8128,35, -CTSPillarNetworkA,8129,8129,8129,1992-04-04,812.6000000001162,812.54865,2015-01-01 02:15:29,bin8129,75, -CTSPillarNetworkA,8130,8130,8130,1992-04-05,812.7000000001162,812.6486,2015-01-01 02:15:30,bin8130,35, -CTSPillarNetworkA,8131,8131,8131,1992-04-06,812.8000000001163,812.7486,2015-01-01 02:15:31,bin8131,75, -CTSPillarNetworkA,8132,8132,8132,1992-04-07,812.9000000001163,812.8486,2015-01-01 02:15:32,bin8132,35, -CTSPillarNetworkA,8133,8133,8133,1992-04-08,813.0000000001163,812.94855,2015-01-01 02:15:33,bin8133,75, -CTSPillarNetworkA,8134,8134,8134,1992-04-09,813.1000000001163,813.0485,2015-01-01 02:15:34,bin8134,35, -CTSPillarNetworkA,8135,8135,8135,1992-04-10,813.2000000001163,813.1485,2015-01-01 02:15:35,bin8135,75, -CTSPillarNetworkA,8136,8136,8136,1992-04-11,813.3000000001164,813.2485,2015-01-01 02:15:36,bin8136,35, -CTSPillarNetworkA,8137,8137,8137,1992-04-12,813.4000000001164,813.34845,2015-01-01 02:15:37,bin8137,75, -CTSPillarNetworkA,8138,8138,8138,1992-04-13,813.5000000001164,813.4484,2015-01-01 02:15:38,bin8138,35, -CTSPillarNetworkA,8139,8139,8139,1992-04-14,813.6000000001164,813.5484,2015-01-01 02:15:39,bin8139,75, -CTSPillarNetworkA,8140,8140,8140,1992-04-15,813.7000000001165,813.6484,2015-01-01 02:15:40,bin8140,35, -CTSPillarNetworkA,8141,8141,8141,1992-04-16,813.8000000001165,813.74835,2015-01-01 02:15:41,bin8141,75, -CTSPillarNetworkA,8142,8142,8142,1992-04-17,813.9000000001165,813.8483,2015-01-01 02:15:42,bin8142,35, -CTSPillarNetworkA,8143,8143,8143,1992-04-18,814.0000000001165,813.9483,2015-01-01 02:15:43,bin8143,75, -CTSPillarNetworkA,8144,8144,8144,1992-04-19,814.1000000001166,814.0483,2015-01-01 02:15:44,bin8144,35, -CTSPillarNetworkA,8145,8145,8145,1992-04-20,814.2000000001166,814.14825,2015-01-01 02:15:45,bin8145,75, -CTSPillarNetworkA,8146,8146,8146,1992-04-21,814.3000000001166,814.2482,2015-01-01 02:15:46,bin8146,35, -CTSPillarNetworkA,8147,8147,8147,1992-04-22,814.4000000001166,814.3482,2015-01-01 02:15:47,bin8147,75, -CTSPillarNetworkA,8148,8148,8148,1992-04-23,814.5000000001166,814.4482,2015-01-01 02:15:48,bin8148,35, -CTSPillarNetworkA,8149,8149,8149,1992-04-24,814.6000000001167,814.54816,2015-01-01 02:15:49,bin8149,75, -CTSPillarNetworkA,8150,8150,8150,1992-04-25,814.7000000001167,814.64813,2015-01-01 02:15:50,bin8150,35, -CTSPillarNetworkA,8151,8151,8151,1992-04-26,814.8000000001167,814.7481,2015-01-01 02:15:51,bin8151,75, -CTSPillarNetworkA,8152,8152,8152,1992-04-27,814.9000000001167,814.8481,2015-01-01 02:15:52,bin8152,35, -CTSPillarNetworkA,8153,8153,8153,1992-04-28,815.0000000001168,814.94806,2015-01-01 02:15:53,bin8153,75, -CTSPillarNetworkA,8154,8154,8154,1992-04-29,815.1000000001168,815.04803,2015-01-01 02:15:54,bin8154,35, -CTSPillarNetworkA,8155,8155,8155,1992-04-30,815.2000000001168,815.148,2015-01-01 02:15:55,bin8155,75, -CTSPillarNetworkA,8156,8156,8156,1992-05-01,815.3000000001168,815.248,2015-01-01 02:15:56,bin8156,35, -CTSPillarNetworkA,8157,8157,8157,1992-05-02,815.4000000001168,815.34796,2015-01-01 02:15:57,bin8157,75, -CTSPillarNetworkA,8158,8158,8158,1992-05-03,815.5000000001169,815.44794,2015-01-01 02:15:58,bin8158,35, -CTSPillarNetworkA,8159,8159,8159,1992-05-04,815.6000000001169,815.5479,2015-01-01 02:15:59,bin8159,75, -CTSPillarNetworkA,8160,8160,8160,1992-05-05,815.7000000001169,815.6479,2015-01-01 02:16:00,bin8160,35, -CTSPillarNetworkA,8161,8161,8161,1992-05-06,815.8000000001169,815.74786,2015-01-01 02:16:01,bin8161,75, -CTSPillarNetworkA,8162,8162,8162,1992-05-07,815.900000000117,815.84784,2015-01-01 02:16:02,bin8162,35, -CTSPillarNetworkA,8163,8163,8163,1992-05-08,816.000000000117,815.9478,2015-01-01 02:16:03,bin8163,75, -CTSPillarNetworkA,8164,8164,8164,1992-05-09,816.100000000117,816.0478,2015-01-01 02:16:04,bin8164,35, -CTSPillarNetworkA,8165,8165,8165,1992-05-10,816.200000000117,816.14777,2015-01-01 02:16:05,bin8165,75, -CTSPillarNetworkA,8166,8166,8166,1992-05-11,816.300000000117,816.24774,2015-01-01 02:16:06,bin8166,35, -CTSPillarNetworkA,8167,8167,8167,1992-05-12,816.4000000001171,816.3477,2015-01-01 02:16:07,bin8167,75, -CTSPillarNetworkA,8168,8168,8168,1992-05-13,816.5000000001171,816.4477,2015-01-01 02:16:08,bin8168,35, -CTSPillarNetworkA,8169,8169,8169,1992-05-14,816.6000000001171,816.54767,2015-01-01 02:16:09,bin8169,75, -CTSPillarNetworkA,8170,8170,8170,1992-05-15,816.7000000001171,816.64764,2015-01-01 02:16:10,bin8170,35, -CTSPillarNetworkA,8171,8171,8171,1992-05-16,816.8000000001172,816.7476,2015-01-01 02:16:11,bin8171,75, -CTSPillarNetworkA,8172,8172,8172,1992-05-17,816.9000000001172,816.8476,2015-01-01 02:16:12,bin8172,35, -CTSPillarNetworkA,8173,8173,8173,1992-05-18,817.0000000001172,816.9476,2015-01-01 02:16:13,bin8173,75, -CTSPillarNetworkA,8174,8174,8174,1992-05-19,817.1000000001172,817.04755,2015-01-01 02:16:14,bin8174,35, -CTSPillarNetworkA,8175,8175,8175,1992-05-20,817.2000000001173,817.1475,2015-01-01 02:16:15,bin8175,75, -CTSPillarNetworkA,8176,8176,8176,1992-05-21,817.3000000001173,817.2475,2015-01-01 02:16:16,bin8176,35, -CTSPillarNetworkA,8177,8177,8177,1992-05-22,817.4000000001173,817.3475,2015-01-01 02:16:17,bin8177,75, -CTSPillarNetworkA,8178,8178,8178,1992-05-23,817.5000000001173,817.44745,2015-01-01 02:16:18,bin8178,35, -CTSPillarNetworkA,8179,8179,8179,1992-05-24,817.6000000001173,817.5474,2015-01-01 02:16:19,bin8179,75, -CTSPillarNetworkA,8180,8180,8180,1992-05-25,817.7000000001174,817.6474,2015-01-01 02:16:20,bin8180,35, -CTSPillarNetworkA,8181,8181,8181,1992-05-26,817.8000000001174,817.7474,2015-01-01 02:16:21,bin8181,75, -CTSPillarNetworkA,8182,8182,8182,1992-05-27,817.9000000001174,817.84735,2015-01-01 02:16:22,bin8182,35, -CTSPillarNetworkA,8183,8183,8183,1992-05-28,818.0000000001174,817.9473,2015-01-01 02:16:23,bin8183,75, -CTSPillarNetworkA,8184,8184,8184,1992-05-29,818.1000000001175,818.0473,2015-01-01 02:16:24,bin8184,35, -CTSPillarNetworkA,8185,8185,8185,1992-05-30,818.2000000001175,818.1473,2015-01-01 02:16:25,bin8185,75, -CTSPillarNetworkA,8186,8186,8186,1992-05-31,818.3000000001175,818.24725,2015-01-01 02:16:26,bin8186,35, -CTSPillarNetworkA,8187,8187,8187,1992-06-01,818.4000000001175,818.3472,2015-01-01 02:16:27,bin8187,75, -CTSPillarNetworkA,8188,8188,8188,1992-06-02,818.5000000001176,818.4472,2015-01-01 02:16:28,bin8188,35, -CTSPillarNetworkA,8189,8189,8189,1992-06-03,818.6000000001176,818.5472,2015-01-01 02:16:29,bin8189,75, -CTSPillarNetworkA,8190,8190,8190,1992-06-04,818.7000000001176,818.64716,2015-01-01 02:16:30,bin8190,35, -CTSPillarNetworkA,8191,8191,8191,1992-06-05,818.8000000001176,818.74713,2015-01-01 02:16:31,bin8191,75, -CTSPillarNetworkA,8192,8192,8192,1992-06-06,818.9000000001176,818.8471,2015-01-01 02:16:32,bin8192,35, -CTSPillarNetworkA,8193,8193,8193,1992-06-07,819.0000000001177,818.9471,2015-01-01 02:16:33,bin8193,75, -CTSPillarNetworkA,8194,8194,8194,1992-06-08,819.1000000001177,819.04706,2015-01-01 02:16:34,bin8194,35, -CTSPillarNetworkA,8195,8195,8195,1992-06-09,819.2000000001177,819.14703,2015-01-01 02:16:35,bin8195,75, -CTSPillarNetworkA,8196,8196,8196,1992-06-10,819.3000000001177,819.247,2015-01-01 02:16:36,bin8196,35, -CTSPillarNetworkA,8197,8197,8197,1992-06-11,819.4000000001178,819.347,2015-01-01 02:16:37,bin8197,75, -CTSPillarNetworkA,8198,8198,8198,1992-06-12,819.5000000001178,819.44696,2015-01-01 02:16:38,bin8198,35, -CTSPillarNetworkA,8199,8199,8199,1992-06-13,819.6000000001178,819.54694,2015-01-01 02:16:39,bin8199,75, -CTSPillarNetworkA,8200,8200,8200,1992-06-14,819.7000000001178,819.6469,2015-01-01 02:16:40,bin8200,35, -CTSPillarNetworkA,8201,8201,8201,1992-06-15,819.8000000001178,819.7469,2015-01-01 02:16:41,bin8201,75, -CTSPillarNetworkA,8202,8202,8202,1992-06-16,819.9000000001179,819.84686,2015-01-01 02:16:42,bin8202,35, -CTSPillarNetworkA,8203,8203,8203,1992-06-17,820.0000000001179,819.94684,2015-01-01 02:16:43,bin8203,75, -CTSPillarNetworkA,8204,8204,8204,1992-06-18,820.1000000001179,820.0468,2015-01-01 02:16:44,bin8204,35, -CTSPillarNetworkA,8205,8205,8205,1992-06-19,820.2000000001179,820.1468,2015-01-01 02:16:45,bin8205,75, -CTSPillarNetworkA,8206,8206,8206,1992-06-20,820.300000000118,820.24677,2015-01-01 02:16:46,bin8206,35, -CTSPillarNetworkA,8207,8207,8207,1992-06-21,820.400000000118,820.34674,2015-01-01 02:16:47,bin8207,75, -CTSPillarNetworkA,8208,8208,8208,1992-06-22,820.500000000118,820.4467,2015-01-01 02:16:48,bin8208,35, -CTSPillarNetworkA,8209,8209,8209,1992-06-23,820.600000000118,820.5467,2015-01-01 02:16:49,bin8209,75, -CTSPillarNetworkA,8210,8210,8210,1992-06-24,820.700000000118,820.64667,2015-01-01 02:16:50,bin8210,35, -CTSPillarNetworkA,8211,8211,8211,1992-06-25,820.8000000001181,820.74664,2015-01-01 02:16:51,bin8211,75, -CTSPillarNetworkA,8212,8212,8212,1992-06-26,820.9000000001181,820.8466,2015-01-01 02:16:52,bin8212,35, -CTSPillarNetworkA,8213,8213,8213,1992-06-27,821.0000000001181,820.9466,2015-01-01 02:16:53,bin8213,75, -CTSPillarNetworkA,8214,8214,8214,1992-06-28,821.1000000001181,821.0466,2015-01-01 02:16:54,bin8214,35, -CTSPillarNetworkA,8215,8215,8215,1992-06-29,821.2000000001182,821.14655,2015-01-01 02:16:55,bin8215,75, -CTSPillarNetworkA,8216,8216,8216,1992-06-30,821.3000000001182,821.2465,2015-01-01 02:16:56,bin8216,35, -CTSPillarNetworkA,8217,8217,8217,1992-07-01,821.4000000001182,821.3465,2015-01-01 02:16:57,bin8217,75, -CTSPillarNetworkA,8218,8218,8218,1992-07-02,821.5000000001182,821.4465,2015-01-01 02:16:58,bin8218,35, -CTSPillarNetworkA,8219,8219,8219,1992-07-03,821.6000000001183,821.54645,2015-01-01 02:16:59,bin8219,75, -CTSPillarNetworkA,8220,8220,8220,1992-07-04,821.7000000001183,821.6464,2015-01-01 02:17:00,bin8220,35, -CTSPillarNetworkA,8221,8221,8221,1992-07-05,821.8000000001183,821.7464,2015-01-01 02:17:01,bin8221,75, -CTSPillarNetworkA,8222,8222,8222,1992-07-06,821.9000000001183,821.8464,2015-01-01 02:17:02,bin8222,35, -CTSPillarNetworkA,8223,8223,8223,1992-07-07,822.0000000001183,821.94635,2015-01-01 02:17:03,bin8223,75, -CTSPillarNetworkA,8224,8224,8224,1992-07-08,822.1000000001184,822.0463,2015-01-01 02:17:04,bin8224,35, -CTSPillarNetworkA,8225,8225,8225,1992-07-09,822.2000000001184,822.1463,2015-01-01 02:17:05,bin8225,75, -CTSPillarNetworkA,8226,8226,8226,1992-07-10,822.3000000001184,822.2463,2015-01-01 02:17:06,bin8226,35, -CTSPillarNetworkA,8227,8227,8227,1992-07-11,822.4000000001184,822.34625,2015-01-01 02:17:07,bin8227,75, -CTSPillarNetworkA,8228,8228,8228,1992-07-12,822.5000000001185,822.4462,2015-01-01 02:17:08,bin8228,35, -CTSPillarNetworkA,8229,8229,8229,1992-07-13,822.6000000001185,822.5462,2015-01-01 02:17:09,bin8229,75, -CTSPillarNetworkA,8230,8230,8230,1992-07-14,822.7000000001185,822.6462,2015-01-01 02:17:10,bin8230,35, -CTSPillarNetworkA,8231,8231,8231,1992-07-15,822.8000000001185,822.74615,2015-01-01 02:17:11,bin8231,75, -CTSPillarNetworkA,8232,8232,8232,1992-07-16,822.9000000001186,822.8461,2015-01-01 02:17:12,bin8232,35, -CTSPillarNetworkA,8233,8233,8233,1992-07-17,823.0000000001186,822.9461,2015-01-01 02:17:13,bin8233,75, -CTSPillarNetworkA,8234,8234,8234,1992-07-18,823.1000000001186,823.0461,2015-01-01 02:17:14,bin8234,35, -CTSPillarNetworkA,8235,8235,8235,1992-07-19,823.2000000001186,823.14606,2015-01-01 02:17:15,bin8235,75, -CTSPillarNetworkA,8236,8236,8236,1992-07-20,823.3000000001186,823.24603,2015-01-01 02:17:16,bin8236,35, -CTSPillarNetworkA,8237,8237,8237,1992-07-21,823.4000000001187,823.346,2015-01-01 02:17:17,bin8237,75, -CTSPillarNetworkA,8238,8238,8238,1992-07-22,823.5000000001187,823.446,2015-01-01 02:17:18,bin8238,35, -CTSPillarNetworkA,8239,8239,8239,1992-07-23,823.6000000001187,823.54596,2015-01-01 02:17:19,bin8239,75, -CTSPillarNetworkA,8240,8240,8240,1992-07-24,823.7000000001187,823.64594,2015-01-01 02:17:20,bin8240,35, -CTSPillarNetworkA,8241,8241,8241,1992-07-25,823.8000000001188,823.7459,2015-01-01 02:17:21,bin8241,75, -CTSPillarNetworkA,8242,8242,8242,1992-07-26,823.9000000001188,823.8459,2015-01-01 02:17:22,bin8242,35, -CTSPillarNetworkA,8243,8243,8243,1992-07-27,824.0000000001188,823.94586,2015-01-01 02:17:23,bin8243,75, -CTSPillarNetworkA,8244,8244,8244,1992-07-28,824.1000000001188,824.04584,2015-01-01 02:17:24,bin8244,35, -CTSPillarNetworkA,8245,8245,8245,1992-07-29,824.2000000001188,824.1458,2015-01-01 02:17:25,bin8245,75, -CTSPillarNetworkA,8246,8246,8246,1992-07-30,824.3000000001189,824.2458,2015-01-01 02:17:26,bin8246,35, -CTSPillarNetworkA,8247,8247,8247,1992-07-31,824.4000000001189,824.34576,2015-01-01 02:17:27,bin8247,75, -CTSPillarNetworkA,8248,8248,8248,1992-08-01,824.5000000001189,824.44574,2015-01-01 02:17:28,bin8248,35, -CTSPillarNetworkA,8249,8249,8249,1992-08-02,824.6000000001189,824.5457,2015-01-01 02:17:29,bin8249,75, -CTSPillarNetworkA,8250,8250,8250,1992-08-03,824.700000000119,824.6457,2015-01-01 02:17:30,bin8250,35, -CTSPillarNetworkA,8251,8251,8251,1992-08-04,824.800000000119,824.74567,2015-01-01 02:17:31,bin8251,75, -CTSPillarNetworkA,8252,8252,8252,1992-08-05,824.900000000119,824.84564,2015-01-01 02:17:32,bin8252,35, -CTSPillarNetworkA,8253,8253,8253,1992-08-06,825.000000000119,824.9456,2015-01-01 02:17:33,bin8253,75, -CTSPillarNetworkA,8254,8254,8254,1992-08-07,825.100000000119,825.0456,2015-01-01 02:17:34,bin8254,35, -CTSPillarNetworkA,8255,8255,8255,1992-08-08,825.2000000001191,825.14557,2015-01-01 02:17:35,bin8255,75, -CTSPillarNetworkA,8256,8256,8256,1992-08-09,825.3000000001191,825.24554,2015-01-01 02:17:36,bin8256,35, -CTSPillarNetworkA,8257,8257,8257,1992-08-10,825.4000000001191,825.3455,2015-01-01 02:17:37,bin8257,75, -CTSPillarNetworkA,8258,8258,8258,1992-08-11,825.5000000001191,825.4455,2015-01-01 02:17:38,bin8258,35, -CTSPillarNetworkA,8259,8259,8259,1992-08-12,825.6000000001192,825.5455,2015-01-01 02:17:39,bin8259,75, -CTSPillarNetworkA,8260,8260,8260,1992-08-13,825.7000000001192,825.64545,2015-01-01 02:17:40,bin8260,35, -CTSPillarNetworkA,8261,8261,8261,1992-08-14,825.8000000001192,825.7454,2015-01-01 02:17:41,bin8261,75, -CTSPillarNetworkA,8262,8262,8262,1992-08-15,825.9000000001192,825.8454,2015-01-01 02:17:42,bin8262,35, -CTSPillarNetworkA,8263,8263,8263,1992-08-16,826.0000000001193,825.9454,2015-01-01 02:17:43,bin8263,75, -CTSPillarNetworkA,8264,8264,8264,1992-08-17,826.1000000001193,826.04535,2015-01-01 02:17:44,bin8264,35, -CTSPillarNetworkA,8265,8265,8265,1992-08-18,826.2000000001193,826.1453,2015-01-01 02:17:45,bin8265,75, -CTSPillarNetworkA,8266,8266,8266,1992-08-19,826.3000000001193,826.2453,2015-01-01 02:17:46,bin8266,35, -CTSPillarNetworkA,8267,8267,8267,1992-08-20,826.4000000001193,826.3453,2015-01-01 02:17:47,bin8267,75, -CTSPillarNetworkA,8268,8268,8268,1992-08-21,826.5000000001194,826.44525,2015-01-01 02:17:48,bin8268,35, -CTSPillarNetworkA,8269,8269,8269,1992-08-22,826.6000000001194,826.5452,2015-01-01 02:17:49,bin8269,75, -CTSPillarNetworkA,8270,8270,8270,1992-08-23,826.7000000001194,826.6452,2015-01-01 02:17:50,bin8270,35, -CTSPillarNetworkA,8271,8271,8271,1992-08-24,826.8000000001194,826.7452,2015-01-01 02:17:51,bin8271,75, -CTSPillarNetworkA,8272,8272,8272,1992-08-25,826.9000000001195,826.84515,2015-01-01 02:17:52,bin8272,35, -CTSPillarNetworkA,8273,8273,8273,1992-08-26,827.0000000001195,826.9451,2015-01-01 02:17:53,bin8273,75, -CTSPillarNetworkA,8274,8274,8274,1992-08-27,827.1000000001195,827.0451,2015-01-01 02:17:54,bin8274,35, -CTSPillarNetworkA,8275,8275,8275,1992-08-28,827.2000000001195,827.1451,2015-01-01 02:17:55,bin8275,75, -CTSPillarNetworkA,8276,8276,8276,1992-08-29,827.3000000001196,827.24506,2015-01-01 02:17:56,bin8276,35, -CTSPillarNetworkA,8277,8277,8277,1992-08-30,827.4000000001196,827.34503,2015-01-01 02:17:57,bin8277,75, -CTSPillarNetworkA,8278,8278,8278,1992-08-31,827.5000000001196,827.445,2015-01-01 02:17:58,bin8278,35, -CTSPillarNetworkA,8279,8279,8279,1992-09-01,827.6000000001196,827.545,2015-01-01 02:17:59,bin8279,75, -CTSPillarNetworkA,8280,8280,8280,1992-09-02,827.7000000001196,827.64496,2015-01-01 02:18:00,bin8280,35, -CTSPillarNetworkA,8281,8281,8281,1992-09-03,827.8000000001197,827.74493,2015-01-01 02:18:01,bin8281,75, -CTSPillarNetworkA,8282,8282,8282,1992-09-04,827.9000000001197,827.8449,2015-01-01 02:18:02,bin8282,35, -CTSPillarNetworkA,8283,8283,8283,1992-09-05,828.0000000001197,827.9449,2015-01-01 02:18:03,bin8283,75, -CTSPillarNetworkA,8284,8284,8284,1992-09-06,828.1000000001197,828.04486,2015-01-01 02:18:04,bin8284,35, -CTSPillarNetworkA,8285,8285,8285,1992-09-07,828.2000000001198,828.14484,2015-01-01 02:18:05,bin8285,75, -CTSPillarNetworkA,8286,8286,8286,1992-09-08,828.3000000001198,828.2448,2015-01-01 02:18:06,bin8286,35, -CTSPillarNetworkA,8287,8287,8287,1992-09-09,828.4000000001198,828.3448,2015-01-01 02:18:07,bin8287,75, -CTSPillarNetworkA,8288,8288,8288,1992-09-10,828.5000000001198,828.44476,2015-01-01 02:18:08,bin8288,35, -CTSPillarNetworkA,8289,8289,8289,1992-09-11,828.6000000001198,828.54474,2015-01-01 02:18:09,bin8289,75, -CTSPillarNetworkA,8290,8290,8290,1992-09-12,828.7000000001199,828.6447,2015-01-01 02:18:10,bin8290,35, -CTSPillarNetworkA,8291,8291,8291,1992-09-13,828.8000000001199,828.7447,2015-01-01 02:18:11,bin8291,75, -CTSPillarNetworkA,8292,8292,8292,1992-09-14,828.9000000001199,828.84467,2015-01-01 02:18:12,bin8292,35, -CTSPillarNetworkA,8293,8293,8293,1992-09-15,829.0000000001199,828.94464,2015-01-01 02:18:13,bin8293,75, -CTSPillarNetworkA,8294,8294,8294,1992-09-16,829.10000000012,829.0446,2015-01-01 02:18:14,bin8294,35, -CTSPillarNetworkA,8295,8295,8295,1992-09-17,829.20000000012,829.1446,2015-01-01 02:18:15,bin8295,75, -CTSPillarNetworkA,8296,8296,8296,1992-09-18,829.30000000012,829.24457,2015-01-01 02:18:16,bin8296,35, -CTSPillarNetworkA,8297,8297,8297,1992-09-19,829.40000000012,829.34454,2015-01-01 02:18:17,bin8297,75, -CTSPillarNetworkA,8298,8298,8298,1992-09-20,829.50000000012,829.4445,2015-01-01 02:18:18,bin8298,35, -CTSPillarNetworkA,8299,8299,8299,1992-09-21,829.6000000001201,829.5445,2015-01-01 02:18:19,bin8299,75, -CTSPillarNetworkA,8300,8300,8300,1992-09-22,829.7000000001201,829.6445,2015-01-01 02:18:20,bin8300,35, -CTSPillarNetworkA,8301,8301,8301,1992-09-23,829.8000000001201,829.74445,2015-01-01 02:18:21,bin8301,75, -CTSPillarNetworkA,8302,8302,8302,1992-09-24,829.9000000001201,829.8444,2015-01-01 02:18:22,bin8302,35, -CTSPillarNetworkA,8303,8303,8303,1992-09-25,830.0000000001202,829.9444,2015-01-01 02:18:23,bin8303,75, -CTSPillarNetworkA,8304,8304,8304,1992-09-26,830.1000000001202,830.0444,2015-01-01 02:18:24,bin8304,35, -CTSPillarNetworkA,8305,8305,8305,1992-09-27,830.2000000001202,830.14435,2015-01-01 02:18:25,bin8305,75, -CTSPillarNetworkA,8306,8306,8306,1992-09-28,830.3000000001202,830.2443,2015-01-01 02:18:26,bin8306,35, -CTSPillarNetworkA,8307,8307,8307,1992-09-29,830.4000000001203,830.3443,2015-01-01 02:18:27,bin8307,75, -CTSPillarNetworkA,8308,8308,8308,1992-09-30,830.5000000001203,830.4443,2015-01-01 02:18:28,bin8308,35, -CTSPillarNetworkA,8309,8309,8309,1992-10-01,830.6000000001203,830.54425,2015-01-01 02:18:29,bin8309,75, -CTSPillarNetworkA,8310,8310,8310,1992-10-02,830.7000000001203,830.6442,2015-01-01 02:18:30,bin8310,35, -CTSPillarNetworkA,8311,8311,8311,1992-10-03,830.8000000001203,830.7442,2015-01-01 02:18:31,bin8311,75, -CTSPillarNetworkA,8312,8312,8312,1992-10-04,830.9000000001204,830.8442,2015-01-01 02:18:32,bin8312,35, -CTSPillarNetworkA,8313,8313,8313,1992-10-05,831.0000000001204,830.94415,2015-01-01 02:18:33,bin8313,75, -CTSPillarNetworkA,8314,8314,8314,1992-10-06,831.1000000001204,831.0441,2015-01-01 02:18:34,bin8314,35, -CTSPillarNetworkA,8315,8315,8315,1992-10-07,831.2000000001204,831.1441,2015-01-01 02:18:35,bin8315,75, -CTSPillarNetworkA,8316,8316,8316,1992-10-08,831.3000000001205,831.2441,2015-01-01 02:18:36,bin8316,35, -CTSPillarNetworkA,8317,8317,8317,1992-10-09,831.4000000001205,831.34406,2015-01-01 02:18:37,bin8317,75, -CTSPillarNetworkA,8318,8318,8318,1992-10-10,831.5000000001205,831.44403,2015-01-01 02:18:38,bin8318,35, -CTSPillarNetworkA,8319,8319,8319,1992-10-11,831.6000000001205,831.544,2015-01-01 02:18:39,bin8319,75, -CTSPillarNetworkA,8320,8320,8320,1992-10-12,831.7000000001206,831.644,2015-01-01 02:18:40,bin8320,35, -CTSPillarNetworkA,8321,8321,8321,1992-10-13,831.8000000001206,831.74396,2015-01-01 02:18:41,bin8321,75, -CTSPillarNetworkA,8322,8322,8322,1992-10-14,831.9000000001206,831.84393,2015-01-01 02:18:42,bin8322,35, -CTSPillarNetworkA,8323,8323,8323,1992-10-15,832.0000000001206,831.9439,2015-01-01 02:18:43,bin8323,75, -CTSPillarNetworkA,8324,8324,8324,1992-10-16,832.1000000001206,832.0439,2015-01-01 02:18:44,bin8324,35, -CTSPillarNetworkA,8325,8325,8325,1992-10-17,832.2000000001207,832.14386,2015-01-01 02:18:45,bin8325,75, -CTSPillarNetworkA,8326,8326,8326,1992-10-18,832.3000000001207,832.24384,2015-01-01 02:18:46,bin8326,35, -CTSPillarNetworkA,8327,8327,8327,1992-10-19,832.4000000001207,832.3438,2015-01-01 02:18:47,bin8327,75, -CTSPillarNetworkA,8328,8328,8328,1992-10-20,832.5000000001207,832.4438,2015-01-01 02:18:48,bin8328,35, -CTSPillarNetworkA,8329,8329,8329,1992-10-21,832.6000000001208,832.54376,2015-01-01 02:18:49,bin8329,75, -CTSPillarNetworkA,8330,8330,8330,1992-10-22,832.7000000001208,832.64374,2015-01-01 02:18:50,bin8330,35, -CTSPillarNetworkA,8331,8331,8331,1992-10-23,832.8000000001208,832.7437,2015-01-01 02:18:51,bin8331,75, -CTSPillarNetworkA,8332,8332,8332,1992-10-24,832.9000000001208,832.8437,2015-01-01 02:18:52,bin8332,35, -CTSPillarNetworkA,8333,8333,8333,1992-10-25,833.0000000001208,832.94366,2015-01-01 02:18:53,bin8333,75, -CTSPillarNetworkA,8334,8334,8334,1992-10-26,833.1000000001209,833.04364,2015-01-01 02:18:54,bin8334,35, -CTSPillarNetworkA,8335,8335,8335,1992-10-27,833.2000000001209,833.1436,2015-01-01 02:18:55,bin8335,75, -CTSPillarNetworkA,8336,8336,8336,1992-10-28,833.3000000001209,833.2436,2015-01-01 02:18:56,bin8336,35, -CTSPillarNetworkA,8337,8337,8337,1992-10-29,833.4000000001209,833.34357,2015-01-01 02:18:57,bin8337,75, -CTSPillarNetworkA,8338,8338,8338,1992-10-30,833.500000000121,833.44354,2015-01-01 02:18:58,bin8338,35, -CTSPillarNetworkA,8339,8339,8339,1992-10-31,833.600000000121,833.5435,2015-01-01 02:18:59,bin8339,75, -CTSPillarNetworkA,8340,8340,8340,1992-11-01,833.700000000121,833.6435,2015-01-01 02:19:00,bin8340,35, -CTSPillarNetworkA,8341,8341,8341,1992-11-02,833.800000000121,833.74347,2015-01-01 02:19:01,bin8341,75, -CTSPillarNetworkA,8342,8342,8342,1992-11-03,833.900000000121,833.84344,2015-01-01 02:19:02,bin8342,35, -CTSPillarNetworkA,8343,8343,8343,1992-11-04,834.0000000001211,833.9434,2015-01-01 02:19:03,bin8343,75, -CTSPillarNetworkA,8344,8344,8344,1992-11-05,834.1000000001211,834.0434,2015-01-01 02:19:04,bin8344,35, -CTSPillarNetworkA,8345,8345,8345,1992-11-06,834.2000000001211,834.1434,2015-01-01 02:19:05,bin8345,75, -CTSPillarNetworkA,8346,8346,8346,1992-11-07,834.3000000001211,834.24335,2015-01-01 02:19:06,bin8346,35, -CTSPillarNetworkA,8347,8347,8347,1992-11-08,834.4000000001212,834.3433,2015-01-01 02:19:07,bin8347,75, -CTSPillarNetworkA,8348,8348,8348,1992-11-09,834.5000000001212,834.4433,2015-01-01 02:19:08,bin8348,35, -CTSPillarNetworkA,8349,8349,8349,1992-11-10,834.6000000001212,834.5433,2015-01-01 02:19:09,bin8349,75, -CTSPillarNetworkA,8350,8350,8350,1992-11-11,834.7000000001212,834.64325,2015-01-01 02:19:10,bin8350,35, -CTSPillarNetworkA,8351,8351,8351,1992-11-12,834.8000000001213,834.7432,2015-01-01 02:19:11,bin8351,75, -CTSPillarNetworkA,8352,8352,8352,1992-11-13,834.9000000001213,834.8432,2015-01-01 02:19:12,bin8352,35, -CTSPillarNetworkA,8353,8353,8353,1992-11-14,835.0000000001213,834.9432,2015-01-01 02:19:13,bin8353,75, -CTSPillarNetworkA,8354,8354,8354,1992-11-15,835.1000000001213,835.04315,2015-01-01 02:19:14,bin8354,35, -CTSPillarNetworkA,8355,8355,8355,1992-11-16,835.2000000001213,835.1431,2015-01-01 02:19:15,bin8355,75, -CTSPillarNetworkA,8356,8356,8356,1992-11-17,835.3000000001214,835.2431,2015-01-01 02:19:16,bin8356,35, -CTSPillarNetworkA,8357,8357,8357,1992-11-18,835.4000000001214,835.3431,2015-01-01 02:19:17,bin8357,75, -CTSPillarNetworkA,8358,8358,8358,1992-11-19,835.5000000001214,835.44305,2015-01-01 02:19:18,bin8358,35, -CTSPillarNetworkA,8359,8359,8359,1992-11-20,835.6000000001214,835.543,2015-01-01 02:19:19,bin8359,75, -CTSPillarNetworkA,8360,8360,8360,1992-11-21,835.7000000001215,835.643,2015-01-01 02:19:20,bin8360,35, -CTSPillarNetworkA,8361,8361,8361,1992-11-22,835.8000000001215,835.743,2015-01-01 02:19:21,bin8361,75, -CTSPillarNetworkA,8362,8362,8362,1992-11-23,835.9000000001215,835.84296,2015-01-01 02:19:22,bin8362,35, -CTSPillarNetworkA,8363,8363,8363,1992-11-24,836.0000000001215,835.94293,2015-01-01 02:19:23,bin8363,75, -CTSPillarNetworkA,8364,8364,8364,1992-11-25,836.1000000001216,836.0429,2015-01-01 02:19:24,bin8364,35, -CTSPillarNetworkA,8365,8365,8365,1992-11-26,836.2000000001216,836.1429,2015-01-01 02:19:25,bin8365,75, -CTSPillarNetworkA,8366,8366,8366,1992-11-27,836.3000000001216,836.24286,2015-01-01 02:19:26,bin8366,35, -CTSPillarNetworkA,8367,8367,8367,1992-11-28,836.4000000001216,836.34283,2015-01-01 02:19:27,bin8367,75, -CTSPillarNetworkA,8368,8368,8368,1992-11-29,836.5000000001216,836.4428,2015-01-01 02:19:28,bin8368,35, -CTSPillarNetworkA,8369,8369,8369,1992-11-30,836.6000000001217,836.5428,2015-01-01 02:19:29,bin8369,75, -CTSPillarNetworkA,8370,8370,8370,1992-12-01,836.7000000001217,836.64276,2015-01-01 02:19:30,bin8370,35, -CTSPillarNetworkA,8371,8371,8371,1992-12-02,836.8000000001217,836.74274,2015-01-01 02:19:31,bin8371,75, -CTSPillarNetworkA,8372,8372,8372,1992-12-03,836.9000000001217,836.8427,2015-01-01 02:19:32,bin8372,35, -CTSPillarNetworkA,8373,8373,8373,1992-12-04,837.0000000001218,836.9427,2015-01-01 02:19:33,bin8373,75, -CTSPillarNetworkA,8374,8374,8374,1992-12-05,837.1000000001218,837.04266,2015-01-01 02:19:34,bin8374,35, -CTSPillarNetworkA,8375,8375,8375,1992-12-06,837.2000000001218,837.14264,2015-01-01 02:19:35,bin8375,75, -CTSPillarNetworkA,8376,8376,8376,1992-12-07,837.3000000001218,837.2426,2015-01-01 02:19:36,bin8376,35, -CTSPillarNetworkA,8377,8377,8377,1992-12-08,837.4000000001218,837.3426,2015-01-01 02:19:37,bin8377,75, -CTSPillarNetworkA,8378,8378,8378,1992-12-09,837.5000000001219,837.44257,2015-01-01 02:19:38,bin8378,35, -CTSPillarNetworkA,8379,8379,8379,1992-12-10,837.6000000001219,837.54254,2015-01-01 02:19:39,bin8379,75, -CTSPillarNetworkA,8380,8380,8380,1992-12-11,837.7000000001219,837.6425,2015-01-01 02:19:40,bin8380,35, -CTSPillarNetworkA,8381,8381,8381,1992-12-12,837.8000000001219,837.7425,2015-01-01 02:19:41,bin8381,75, -CTSPillarNetworkA,8382,8382,8382,1992-12-13,837.900000000122,837.84247,2015-01-01 02:19:42,bin8382,35, -CTSPillarNetworkA,8383,8383,8383,1992-12-14,838.000000000122,837.94244,2015-01-01 02:19:43,bin8383,75, -CTSPillarNetworkA,8384,8384,8384,1992-12-15,838.100000000122,838.0424,2015-01-01 02:19:44,bin8384,35, -CTSPillarNetworkA,8385,8385,8385,1992-12-16,838.200000000122,838.1424,2015-01-01 02:19:45,bin8385,75, -CTSPillarNetworkA,8386,8386,8386,1992-12-17,838.300000000122,838.2424,2015-01-01 02:19:46,bin8386,35, -CTSPillarNetworkA,8387,8387,8387,1992-12-18,838.4000000001221,838.34235,2015-01-01 02:19:47,bin8387,75, -CTSPillarNetworkA,8388,8388,8388,1992-12-19,838.5000000001221,838.4423,2015-01-01 02:19:48,bin8388,35, -CTSPillarNetworkA,8389,8389,8389,1992-12-20,838.6000000001221,838.5423,2015-01-01 02:19:49,bin8389,75, -CTSPillarNetworkA,8390,8390,8390,1992-12-21,838.7000000001221,838.6423,2015-01-01 02:19:50,bin8390,35, -CTSPillarNetworkA,8391,8391,8391,1992-12-22,838.8000000001222,838.74225,2015-01-01 02:19:51,bin8391,75, -CTSPillarNetworkA,8392,8392,8392,1992-12-23,838.9000000001222,838.8422,2015-01-01 02:19:52,bin8392,35, -CTSPillarNetworkA,8393,8393,8393,1992-12-24,839.0000000001222,838.9422,2015-01-01 02:19:53,bin8393,75, -CTSPillarNetworkA,8394,8394,8394,1992-12-25,839.1000000001222,839.0422,2015-01-01 02:19:54,bin8394,35, -CTSPillarNetworkA,8395,8395,8395,1992-12-26,839.2000000001223,839.14215,2015-01-01 02:19:55,bin8395,75, -CTSPillarNetworkA,8396,8396,8396,1992-12-27,839.3000000001223,839.2421,2015-01-01 02:19:56,bin8396,35, -CTSPillarNetworkA,8397,8397,8397,1992-12-28,839.4000000001223,839.3421,2015-01-01 02:19:57,bin8397,75, -CTSPillarNetworkA,8398,8398,8398,1992-12-29,839.5000000001223,839.4421,2015-01-01 02:19:58,bin8398,35, -CTSPillarNetworkA,8399,8399,8399,1992-12-30,839.6000000001223,839.54205,2015-01-01 02:19:59,bin8399,75, -CTSPillarNetworkA,8400,8400,8400,1992-12-31,839.7000000001224,839.642,2015-01-01 02:20:00,bin8400,35, -CTSPillarNetworkA,8401,8401,8401,1993-01-01,839.8000000001224,839.742,2015-01-01 02:20:01,bin8401,75, -CTSPillarNetworkA,8402,8402,8402,1993-01-02,839.9000000001224,839.842,2015-01-01 02:20:02,bin8402,35, -CTSPillarNetworkA,8403,8403,8403,1993-01-03,840.0000000001224,839.94196,2015-01-01 02:20:03,bin8403,75, -CTSPillarNetworkA,8404,8404,8404,1993-01-04,840.1000000001225,840.04193,2015-01-01 02:20:04,bin8404,35, -CTSPillarNetworkA,8405,8405,8405,1993-01-05,840.2000000001225,840.1419,2015-01-01 02:20:05,bin8405,75, -CTSPillarNetworkA,8406,8406,8406,1993-01-06,840.3000000001225,840.2419,2015-01-01 02:20:06,bin8406,35, -CTSPillarNetworkA,8407,8407,8407,1993-01-07,840.4000000001225,840.34186,2015-01-01 02:20:07,bin8407,75, -CTSPillarNetworkA,8408,8408,8408,1993-01-08,840.5000000001226,840.44183,2015-01-01 02:20:08,bin8408,35, -CTSPillarNetworkA,8409,8409,8409,1993-01-09,840.6000000001226,840.5418,2015-01-01 02:20:09,bin8409,75, -CTSPillarNetworkA,8410,8410,8410,1993-01-10,840.7000000001226,840.6418,2015-01-01 02:20:10,bin8410,35, -CTSPillarNetworkA,8411,8411,8411,1993-01-11,840.8000000001226,840.74176,2015-01-01 02:20:11,bin8411,75, -CTSPillarNetworkA,8412,8412,8412,1993-01-12,840.9000000001226,840.84174,2015-01-01 02:20:12,bin8412,35, -CTSPillarNetworkA,8413,8413,8413,1993-01-13,841.0000000001227,840.9417,2015-01-01 02:20:13,bin8413,75, -CTSPillarNetworkA,8414,8414,8414,1993-01-14,841.1000000001227,841.0417,2015-01-01 02:20:14,bin8414,35, -CTSPillarNetworkA,8415,8415,8415,1993-01-15,841.2000000001227,841.14166,2015-01-01 02:20:15,bin8415,75, -CTSPillarNetworkA,8416,8416,8416,1993-01-16,841.3000000001227,841.24164,2015-01-01 02:20:16,bin8416,35, -CTSPillarNetworkA,8417,8417,8417,1993-01-17,841.4000000001228,841.3416,2015-01-01 02:20:17,bin8417,75, -CTSPillarNetworkA,8418,8418,8418,1993-01-18,841.5000000001228,841.4416,2015-01-01 02:20:18,bin8418,35, -CTSPillarNetworkA,8419,8419,8419,1993-01-19,841.6000000001228,841.54156,2015-01-01 02:20:19,bin8419,75, -CTSPillarNetworkA,8420,8420,8420,1993-01-20,841.7000000001228,841.64154,2015-01-01 02:20:20,bin8420,35, -CTSPillarNetworkA,8421,8421,8421,1993-01-21,841.8000000001228,841.7415,2015-01-01 02:20:21,bin8421,75, -CTSPillarNetworkA,8422,8422,8422,1993-01-22,841.9000000001229,841.8415,2015-01-01 02:20:22,bin8422,35, -CTSPillarNetworkA,8423,8423,8423,1993-01-23,842.0000000001229,841.94147,2015-01-01 02:20:23,bin8423,75, -CTSPillarNetworkA,8424,8424,8424,1993-01-24,842.1000000001229,842.04144,2015-01-01 02:20:24,bin8424,35, -CTSPillarNetworkA,8425,8425,8425,1993-01-25,842.2000000001229,842.1414,2015-01-01 02:20:25,bin8425,75, -CTSPillarNetworkA,8426,8426,8426,1993-01-26,842.300000000123,842.2414,2015-01-01 02:20:26,bin8426,35, -CTSPillarNetworkA,8427,8427,8427,1993-01-27,842.400000000123,842.3414,2015-01-01 02:20:27,bin8427,75, -CTSPillarNetworkA,8428,8428,8428,1993-01-28,842.500000000123,842.44135,2015-01-01 02:20:28,bin8428,35, -CTSPillarNetworkA,8429,8429,8429,1993-01-29,842.600000000123,842.5413,2015-01-01 02:20:29,bin8429,75, -CTSPillarNetworkA,8430,8430,8430,1993-01-30,842.700000000123,842.6413,2015-01-01 02:20:30,bin8430,35, -CTSPillarNetworkA,8431,8431,8431,1993-01-31,842.8000000001231,842.7413,2015-01-01 02:20:31,bin8431,75, -CTSPillarNetworkA,8432,8432,8432,1993-02-01,842.9000000001231,842.84125,2015-01-01 02:20:32,bin8432,35, -CTSPillarNetworkA,8433,8433,8433,1993-02-02,843.0000000001231,842.9412,2015-01-01 02:20:33,bin8433,75, -CTSPillarNetworkA,8434,8434,8434,1993-02-03,843.1000000001231,843.0412,2015-01-01 02:20:34,bin8434,35, -CTSPillarNetworkA,8435,8435,8435,1993-02-04,843.2000000001232,843.1412,2015-01-01 02:20:35,bin8435,75, -CTSPillarNetworkA,8436,8436,8436,1993-02-05,843.3000000001232,843.24115,2015-01-01 02:20:36,bin8436,35, -CTSPillarNetworkA,8437,8437,8437,1993-02-06,843.4000000001232,843.3411,2015-01-01 02:20:37,bin8437,75, -CTSPillarNetworkA,8438,8438,8438,1993-02-07,843.5000000001232,843.4411,2015-01-01 02:20:38,bin8438,35, -CTSPillarNetworkA,8439,8439,8439,1993-02-08,843.6000000001233,843.5411,2015-01-01 02:20:39,bin8439,75, -CTSPillarNetworkA,8440,8440,8440,1993-02-09,843.7000000001233,843.64105,2015-01-01 02:20:40,bin8440,35, -CTSPillarNetworkA,8441,8441,8441,1993-02-10,843.8000000001233,843.741,2015-01-01 02:20:41,bin8441,75, -CTSPillarNetworkA,8442,8442,8442,1993-02-11,843.9000000001233,843.841,2015-01-01 02:20:42,bin8442,35, -CTSPillarNetworkA,8443,8443,8443,1993-02-12,844.0000000001234,843.941,2015-01-01 02:20:43,bin8443,75, -CTSPillarNetworkA,8444,8444,8444,1993-02-13,844.1000000001234,844.04095,2015-01-01 02:20:44,bin8444,35, -CTSPillarNetworkA,8445,8445,8445,1993-02-14,844.2000000001234,844.1409,2015-01-01 02:20:45,bin8445,75, -CTSPillarNetworkA,8446,8446,8446,1993-02-15,844.3000000001234,844.2409,2015-01-01 02:20:46,bin8446,35, -CTSPillarNetworkA,8447,8447,8447,1993-02-16,844.4000000001234,844.3409,2015-01-01 02:20:47,bin8447,75, -CTSPillarNetworkA,8448,8448,8448,1993-02-17,844.5000000001235,844.44086,2015-01-01 02:20:48,bin8448,35, -CTSPillarNetworkA,8449,8449,8449,1993-02-18,844.6000000001235,844.54083,2015-01-01 02:20:49,bin8449,75, -CTSPillarNetworkA,8450,8450,8450,1993-02-19,844.7000000001235,844.6408,2015-01-01 02:20:50,bin8450,35, -CTSPillarNetworkA,8451,8451,8451,1993-02-20,844.8000000001235,844.7408,2015-01-01 02:20:51,bin8451,75, -CTSPillarNetworkA,8452,8452,8452,1993-02-21,844.9000000001236,844.84076,2015-01-01 02:20:52,bin8452,35, -CTSPillarNetworkA,8453,8453,8453,1993-02-22,845.0000000001236,844.94073,2015-01-01 02:20:53,bin8453,75, -CTSPillarNetworkA,8454,8454,8454,1993-02-23,845.1000000001236,845.0407,2015-01-01 02:20:54,bin8454,35, -CTSPillarNetworkA,8455,8455,8455,1993-02-24,845.2000000001236,845.1407,2015-01-01 02:20:55,bin8455,75, -CTSPillarNetworkA,8456,8456,8456,1993-02-25,845.3000000001236,845.24066,2015-01-01 02:20:56,bin8456,35, -CTSPillarNetworkA,8457,8457,8457,1993-02-26,845.4000000001237,845.34064,2015-01-01 02:20:57,bin8457,75, -CTSPillarNetworkA,8458,8458,8458,1993-02-27,845.5000000001237,845.4406,2015-01-01 02:20:58,bin8458,35, -CTSPillarNetworkA,8459,8459,8459,1993-02-28,845.6000000001237,845.5406,2015-01-01 02:20:59,bin8459,75, -CTSPillarNetworkA,8460,8460,8460,1993-03-01,845.7000000001237,845.64056,2015-01-01 02:21:00,bin8460,35, -CTSPillarNetworkA,8461,8461,8461,1993-03-02,845.8000000001238,845.74054,2015-01-01 02:21:01,bin8461,75, -CTSPillarNetworkA,8462,8462,8462,1993-03-03,845.9000000001238,845.8405,2015-01-01 02:21:02,bin8462,35, -CTSPillarNetworkA,8463,8463,8463,1993-03-04,846.0000000001238,845.9405,2015-01-01 02:21:03,bin8463,75, -CTSPillarNetworkA,8464,8464,8464,1993-03-05,846.1000000001238,846.04047,2015-01-01 02:21:04,bin8464,35, -CTSPillarNetworkA,8465,8465,8465,1993-03-06,846.2000000001239,846.14044,2015-01-01 02:21:05,bin8465,75, -CTSPillarNetworkA,8466,8466,8466,1993-03-07,846.3000000001239,846.2404,2015-01-01 02:21:06,bin8466,35, -CTSPillarNetworkA,8467,8467,8467,1993-03-08,846.4000000001239,846.3404,2015-01-01 02:21:07,bin8467,75, -CTSPillarNetworkA,8468,8468,8468,1993-03-09,846.5000000001239,846.44037,2015-01-01 02:21:08,bin8468,35, -CTSPillarNetworkA,8469,8469,8469,1993-03-10,846.6000000001239,846.54034,2015-01-01 02:21:09,bin8469,75, -CTSPillarNetworkA,8470,8470,8470,1993-03-11,846.700000000124,846.6403,2015-01-01 02:21:10,bin8470,35, -CTSPillarNetworkA,8471,8471,8471,1993-03-12,846.800000000124,846.7403,2015-01-01 02:21:11,bin8471,75, -CTSPillarNetworkA,8472,8472,8472,1993-03-13,846.900000000124,846.8403,2015-01-01 02:21:12,bin8472,35, -CTSPillarNetworkA,8473,8473,8473,1993-03-14,847.000000000124,846.94025,2015-01-01 02:21:13,bin8473,75, -CTSPillarNetworkA,8474,8474,8474,1993-03-15,847.100000000124,847.0402,2015-01-01 02:21:14,bin8474,35, -CTSPillarNetworkA,8475,8475,8475,1993-03-16,847.2000000001241,847.1402,2015-01-01 02:21:15,bin8475,75, -CTSPillarNetworkA,8476,8476,8476,1993-03-17,847.3000000001241,847.2402,2015-01-01 02:21:16,bin8476,35, -CTSPillarNetworkA,8477,8477,8477,1993-03-18,847.4000000001241,847.34015,2015-01-01 02:21:17,bin8477,75, -CTSPillarNetworkA,8478,8478,8478,1993-03-19,847.5000000001241,847.4401,2015-01-01 02:21:18,bin8478,35, -CTSPillarNetworkA,8479,8479,8479,1993-03-20,847.6000000001242,847.5401,2015-01-01 02:21:19,bin8479,75, -CTSPillarNetworkA,8480,8480,8480,1993-03-21,847.7000000001242,847.6401,2015-01-01 02:21:20,bin8480,35, -CTSPillarNetworkA,8481,8481,8481,1993-03-22,847.8000000001242,847.74005,2015-01-01 02:21:21,bin8481,75, -CTSPillarNetworkA,8482,8482,8482,1993-03-23,847.9000000001242,847.84,2015-01-01 02:21:22,bin8482,35, -CTSPillarNetworkA,8483,8483,8483,1993-03-24,848.0000000001243,847.94,2015-01-01 02:21:23,bin8483,75, -CTSPillarNetworkA,8484,8484,8484,1993-03-25,848.1000000001243,848.04,2015-01-01 02:21:24,bin8484,35, -CTSPillarNetworkA,8485,8485,8485,1993-03-26,848.2000000001243,848.13995,2015-01-01 02:21:25,bin8485,75, -CTSPillarNetworkA,8486,8486,8486,1993-03-27,848.3000000001243,848.2399,2015-01-01 02:21:26,bin8486,35, -CTSPillarNetworkA,8487,8487,8487,1993-03-28,848.4000000001244,848.3399,2015-01-01 02:21:27,bin8487,75, -CTSPillarNetworkA,8488,8488,8488,1993-03-29,848.5000000001244,848.4399,2015-01-01 02:21:28,bin8488,35, -CTSPillarNetworkA,8489,8489,8489,1993-03-30,848.6000000001244,848.53986,2015-01-01 02:21:29,bin8489,75, -CTSPillarNetworkA,8490,8490,8490,1993-03-31,848.7000000001244,848.63983,2015-01-01 02:21:30,bin8490,35, -CTSPillarNetworkA,8491,8491,8491,1993-04-01,848.8000000001244,848.7398,2015-01-01 02:21:31,bin8491,75, -CTSPillarNetworkA,8492,8492,8492,1993-04-02,848.9000000001245,848.8398,2015-01-01 02:21:32,bin8492,35, -CTSPillarNetworkA,8493,8493,8493,1993-04-03,849.0000000001245,848.93976,2015-01-01 02:21:33,bin8493,75, -CTSPillarNetworkA,8494,8494,8494,1993-04-04,849.1000000001245,849.03973,2015-01-01 02:21:34,bin8494,35, -CTSPillarNetworkA,8495,8495,8495,1993-04-05,849.2000000001245,849.1397,2015-01-01 02:21:35,bin8495,75, -CTSPillarNetworkA,8496,8496,8496,1993-04-06,849.3000000001246,849.2397,2015-01-01 02:21:36,bin8496,35, -CTSPillarNetworkA,8497,8497,8497,1993-04-07,849.4000000001246,849.33966,2015-01-01 02:21:37,bin8497,75, -CTSPillarNetworkA,8498,8498,8498,1993-04-08,849.5000000001246,849.43964,2015-01-01 02:21:38,bin8498,35, -CTSPillarNetworkA,8499,8499,8499,1993-04-09,849.6000000001246,849.5396,2015-01-01 02:21:39,bin8499,75, -CTSPillarNetworkA,8500,8500,8500,1993-04-10,849.7000000001246,849.6396,2015-01-01 02:21:40,bin8500,35, -CTSPillarNetworkA,8501,8501,8501,1993-04-11,849.8000000001247,849.73956,2015-01-01 02:21:41,bin8501,75, -CTSPillarNetworkA,8502,8502,8502,1993-04-12,849.9000000001247,849.83954,2015-01-01 02:21:42,bin8502,35, -CTSPillarNetworkA,8503,8503,8503,1993-04-13,850.0000000001247,849.9395,2015-01-01 02:21:43,bin8503,75, -CTSPillarNetworkA,8504,8504,8504,1993-04-14,850.1000000001247,850.0395,2015-01-01 02:21:44,bin8504,35, -CTSPillarNetworkA,8505,8505,8505,1993-04-15,850.2000000001248,850.13947,2015-01-01 02:21:45,bin8505,75, -CTSPillarNetworkA,8506,8506,8506,1993-04-16,850.3000000001248,850.23944,2015-01-01 02:21:46,bin8506,35, -CTSPillarNetworkA,8507,8507,8507,1993-04-17,850.4000000001248,850.3394,2015-01-01 02:21:47,bin8507,75, -CTSPillarNetworkA,8508,8508,8508,1993-04-18,850.5000000001248,850.4394,2015-01-01 02:21:48,bin8508,35, -CTSPillarNetworkA,8509,8509,8509,1993-04-19,850.6000000001249,850.53937,2015-01-01 02:21:49,bin8509,75, -CTSPillarNetworkA,8510,8510,8510,1993-04-20,850.7000000001249,850.63934,2015-01-01 02:21:50,bin8510,35, -CTSPillarNetworkA,8511,8511,8511,1993-04-21,850.8000000001249,850.7393,2015-01-01 02:21:51,bin8511,75, -CTSPillarNetworkA,8512,8512,8512,1993-04-22,850.9000000001249,850.8393,2015-01-01 02:21:52,bin8512,35, -CTSPillarNetworkA,8513,8513,8513,1993-04-23,851.0000000001249,850.9393,2015-01-01 02:21:53,bin8513,75, -CTSPillarNetworkA,8514,8514,8514,1993-04-24,851.100000000125,851.03925,2015-01-01 02:21:54,bin8514,35, -CTSPillarNetworkA,8515,8515,8515,1993-04-25,851.200000000125,851.1392,2015-01-01 02:21:55,bin8515,75, -CTSPillarNetworkA,8516,8516,8516,1993-04-26,851.300000000125,851.2392,2015-01-01 02:21:56,bin8516,35, -CTSPillarNetworkA,8517,8517,8517,1993-04-27,851.400000000125,851.3392,2015-01-01 02:21:57,bin8517,75, -CTSPillarNetworkA,8518,8518,8518,1993-04-28,851.500000000125,851.43915,2015-01-01 02:21:58,bin8518,35, -CTSPillarNetworkA,8519,8519,8519,1993-04-29,851.6000000001251,851.5391,2015-01-01 02:21:59,bin8519,75, -CTSPillarNetworkA,8520,8520,8520,1993-04-30,851.7000000001251,851.6391,2015-01-01 02:22:00,bin8520,35, -CTSPillarNetworkA,8521,8521,8521,1993-05-01,851.8000000001251,851.7391,2015-01-01 02:22:01,bin8521,75, -CTSPillarNetworkA,8522,8522,8522,1993-05-02,851.9000000001251,851.83905,2015-01-01 02:22:02,bin8522,35, -CTSPillarNetworkA,8523,8523,8523,1993-05-03,852.0000000001252,851.939,2015-01-01 02:22:03,bin8523,75, -CTSPillarNetworkA,8524,8524,8524,1993-05-04,852.1000000001252,852.039,2015-01-01 02:22:04,bin8524,35, -CTSPillarNetworkA,8525,8525,8525,1993-05-05,852.2000000001252,852.139,2015-01-01 02:22:05,bin8525,75, -CTSPillarNetworkA,8526,8526,8526,1993-05-06,852.3000000001252,852.23895,2015-01-01 02:22:06,bin8526,35, -CTSPillarNetworkA,8527,8527,8527,1993-05-07,852.4000000001253,852.3389,2015-01-01 02:22:07,bin8527,75, -CTSPillarNetworkA,8528,8528,8528,1993-05-08,852.5000000001253,852.4389,2015-01-01 02:22:08,bin8528,35, -CTSPillarNetworkA,8529,8529,8529,1993-05-09,852.6000000001253,852.5389,2015-01-01 02:22:09,bin8529,75, -CTSPillarNetworkA,8530,8530,8530,1993-05-10,852.7000000001253,852.63885,2015-01-01 02:22:10,bin8530,35, -CTSPillarNetworkA,8531,8531,8531,1993-05-11,852.8000000001254,852.73883,2015-01-01 02:22:11,bin8531,75, -CTSPillarNetworkA,8532,8532,8532,1993-05-12,852.9000000001254,852.8388,2015-01-01 02:22:12,bin8532,35, -CTSPillarNetworkA,8533,8533,8533,1993-05-13,853.0000000001254,852.9388,2015-01-01 02:22:13,bin8533,75, -CTSPillarNetworkA,8534,8534,8534,1993-05-14,853.1000000001254,853.03876,2015-01-01 02:22:14,bin8534,35, -CTSPillarNetworkA,8535,8535,8535,1993-05-15,853.2000000001254,853.13873,2015-01-01 02:22:15,bin8535,75, -CTSPillarNetworkA,8536,8536,8536,1993-05-16,853.3000000001255,853.2387,2015-01-01 02:22:16,bin8536,35, -CTSPillarNetworkA,8537,8537,8537,1993-05-17,853.4000000001255,853.3387,2015-01-01 02:22:17,bin8537,75, -CTSPillarNetworkA,8538,8538,8538,1993-05-18,853.5000000001255,853.43866,2015-01-01 02:22:18,bin8538,35, -CTSPillarNetworkA,8539,8539,8539,1993-05-19,853.6000000001255,853.53864,2015-01-01 02:22:19,bin8539,75, -CTSPillarNetworkA,8540,8540,8540,1993-05-20,853.7000000001256,853.6386,2015-01-01 02:22:20,bin8540,35, -CTSPillarNetworkA,8541,8541,8541,1993-05-21,853.8000000001256,853.7386,2015-01-01 02:22:21,bin8541,75, -CTSPillarNetworkA,8542,8542,8542,1993-05-22,853.9000000001256,853.83856,2015-01-01 02:22:22,bin8542,35, -CTSPillarNetworkA,8543,8543,8543,1993-05-23,854.0000000001256,853.93854,2015-01-01 02:22:23,bin8543,75, -CTSPillarNetworkA,8544,8544,8544,1993-05-24,854.1000000001256,854.0385,2015-01-01 02:22:24,bin8544,35, -CTSPillarNetworkA,8545,8545,8545,1993-05-25,854.2000000001257,854.1385,2015-01-01 02:22:25,bin8545,75, -CTSPillarNetworkA,8546,8546,8546,1993-05-26,854.3000000001257,854.23846,2015-01-01 02:22:26,bin8546,35, -CTSPillarNetworkA,8547,8547,8547,1993-05-27,854.4000000001257,854.33844,2015-01-01 02:22:27,bin8547,75, -CTSPillarNetworkA,8548,8548,8548,1993-05-28,854.5000000001257,854.4384,2015-01-01 02:22:28,bin8548,35, -CTSPillarNetworkA,8549,8549,8549,1993-05-29,854.6000000001258,854.5384,2015-01-01 02:22:29,bin8549,75, -CTSPillarNetworkA,8550,8550,8550,1993-05-30,854.7000000001258,854.63837,2015-01-01 02:22:30,bin8550,35, -CTSPillarNetworkA,8551,8551,8551,1993-05-31,854.8000000001258,854.73834,2015-01-01 02:22:31,bin8551,75, -CTSPillarNetworkA,8552,8552,8552,1993-06-01,854.9000000001258,854.8383,2015-01-01 02:22:32,bin8552,35, -CTSPillarNetworkA,8553,8553,8553,1993-06-02,855.0000000001259,854.9383,2015-01-01 02:22:33,bin8553,75, -CTSPillarNetworkA,8554,8554,8554,1993-06-03,855.1000000001259,855.03827,2015-01-01 02:22:34,bin8554,35, -CTSPillarNetworkA,8555,8555,8555,1993-06-04,855.2000000001259,855.13824,2015-01-01 02:22:35,bin8555,75, -CTSPillarNetworkA,8556,8556,8556,1993-06-05,855.3000000001259,855.2382,2015-01-01 02:22:36,bin8556,35, -CTSPillarNetworkA,8557,8557,8557,1993-06-06,855.4000000001259,855.3382,2015-01-01 02:22:37,bin8557,75, -CTSPillarNetworkA,8558,8558,8558,1993-06-07,855.500000000126,855.4382,2015-01-01 02:22:38,bin8558,35, -CTSPillarNetworkA,8559,8559,8559,1993-06-08,855.600000000126,855.53815,2015-01-01 02:22:39,bin8559,75, -CTSPillarNetworkA,8560,8560,8560,1993-06-09,855.700000000126,855.6381,2015-01-01 02:22:40,bin8560,35, -CTSPillarNetworkA,8561,8561,8561,1993-06-10,855.800000000126,855.7381,2015-01-01 02:22:41,bin8561,75, -CTSPillarNetworkA,8562,8562,8562,1993-06-11,855.900000000126,855.8381,2015-01-01 02:22:42,bin8562,35, -CTSPillarNetworkA,8563,8563,8563,1993-06-12,856.0000000001261,855.93805,2015-01-01 02:22:43,bin8563,75, -CTSPillarNetworkA,8564,8564,8564,1993-06-13,856.1000000001261,856.038,2015-01-01 02:22:44,bin8564,35, -CTSPillarNetworkA,8565,8565,8565,1993-06-14,856.2000000001261,856.138,2015-01-01 02:22:45,bin8565,75, -CTSPillarNetworkA,8566,8566,8566,1993-06-15,856.3000000001261,856.238,2015-01-01 02:22:46,bin8566,35, -CTSPillarNetworkA,8567,8567,8567,1993-06-16,856.4000000001262,856.33795,2015-01-01 02:22:47,bin8567,75, -CTSPillarNetworkA,8568,8568,8568,1993-06-17,856.5000000001262,856.4379,2015-01-01 02:22:48,bin8568,35, -CTSPillarNetworkA,8569,8569,8569,1993-06-18,856.6000000001262,856.5379,2015-01-01 02:22:49,bin8569,75, -CTSPillarNetworkA,8570,8570,8570,1993-06-19,856.7000000001262,856.6379,2015-01-01 02:22:50,bin8570,35, -CTSPillarNetworkA,8571,8571,8571,1993-06-20,856.8000000001263,856.73785,2015-01-01 02:22:51,bin8571,75, -CTSPillarNetworkA,8572,8572,8572,1993-06-21,856.9000000001263,856.8378,2015-01-01 02:22:52,bin8572,35, -CTSPillarNetworkA,8573,8573,8573,1993-06-22,857.0000000001263,856.9378,2015-01-01 02:22:53,bin8573,75, -CTSPillarNetworkA,8574,8574,8574,1993-06-23,857.1000000001263,857.0378,2015-01-01 02:22:54,bin8574,35, -CTSPillarNetworkA,8575,8575,8575,1993-06-24,857.2000000001264,857.13776,2015-01-01 02:22:55,bin8575,75, -CTSPillarNetworkA,8576,8576,8576,1993-06-25,857.3000000001264,857.23773,2015-01-01 02:22:56,bin8576,35, -CTSPillarNetworkA,8577,8577,8577,1993-06-26,857.4000000001264,857.3377,2015-01-01 02:22:57,bin8577,75, -CTSPillarNetworkA,8578,8578,8578,1993-06-27,857.5000000001264,857.4377,2015-01-01 02:22:58,bin8578,35, -CTSPillarNetworkA,8579,8579,8579,1993-06-28,857.6000000001264,857.53766,2015-01-01 02:22:59,bin8579,75, -CTSPillarNetworkA,8580,8580,8580,1993-06-29,857.7000000001265,857.63763,2015-01-01 02:23:00,bin8580,35, -CTSPillarNetworkA,8581,8581,8581,1993-06-30,857.8000000001265,857.7376,2015-01-01 02:23:01,bin8581,75, -CTSPillarNetworkA,8582,8582,8582,1993-07-01,857.9000000001265,857.8376,2015-01-01 02:23:02,bin8582,35, -CTSPillarNetworkA,8583,8583,8583,1993-07-02,858.0000000001265,857.93756,2015-01-01 02:23:03,bin8583,75, -CTSPillarNetworkA,8584,8584,8584,1993-07-03,858.1000000001266,858.03754,2015-01-01 02:23:04,bin8584,35, -CTSPillarNetworkA,8585,8585,8585,1993-07-04,858.2000000001266,858.1375,2015-01-01 02:23:05,bin8585,75, -CTSPillarNetworkA,8586,8586,8586,1993-07-05,858.3000000001266,858.2375,2015-01-01 02:23:06,bin8586,35, -CTSPillarNetworkA,8587,8587,8587,1993-07-06,858.4000000001266,858.33746,2015-01-01 02:23:07,bin8587,75, -CTSPillarNetworkA,8588,8588,8588,1993-07-07,858.5000000001266,858.43744,2015-01-01 02:23:08,bin8588,35, -CTSPillarNetworkA,8589,8589,8589,1993-07-08,858.6000000001267,858.5374,2015-01-01 02:23:09,bin8589,75, -CTSPillarNetworkA,8590,8590,8590,1993-07-09,858.7000000001267,858.6374,2015-01-01 02:23:10,bin8590,35, -CTSPillarNetworkA,8591,8591,8591,1993-07-10,858.8000000001267,858.73737,2015-01-01 02:23:11,bin8591,75, -CTSPillarNetworkA,8592,8592,8592,1993-07-11,858.9000000001267,858.83734,2015-01-01 02:23:12,bin8592,35, -CTSPillarNetworkA,8593,8593,8593,1993-07-12,859.0000000001268,858.9373,2015-01-01 02:23:13,bin8593,75, -CTSPillarNetworkA,8594,8594,8594,1993-07-13,859.1000000001268,859.0373,2015-01-01 02:23:14,bin8594,35, -CTSPillarNetworkA,8595,8595,8595,1993-07-14,859.2000000001268,859.13727,2015-01-01 02:23:15,bin8595,75, -CTSPillarNetworkA,8596,8596,8596,1993-07-15,859.3000000001268,859.23724,2015-01-01 02:23:16,bin8596,35, -CTSPillarNetworkA,8597,8597,8597,1993-07-16,859.4000000001269,859.3372,2015-01-01 02:23:17,bin8597,75, -CTSPillarNetworkA,8598,8598,8598,1993-07-17,859.5000000001269,859.4372,2015-01-01 02:23:18,bin8598,35, -CTSPillarNetworkA,8599,8599,8599,1993-07-18,859.6000000001269,859.5372,2015-01-01 02:23:19,bin8599,75, -CTSPillarNetworkA,8600,8600,8600,1993-07-19,859.7000000001269,859.63715,2015-01-01 02:23:20,bin8600,35, -CTSPillarNetworkA,8601,8601,8601,1993-07-20,859.8000000001269,859.7371,2015-01-01 02:23:21,bin8601,75, -CTSPillarNetworkA,8602,8602,8602,1993-07-21,859.900000000127,859.8371,2015-01-01 02:23:22,bin8602,35, -CTSPillarNetworkA,8603,8603,8603,1993-07-22,860.000000000127,859.9371,2015-01-01 02:23:23,bin8603,75, -CTSPillarNetworkA,8604,8604,8604,1993-07-23,860.100000000127,860.03705,2015-01-01 02:23:24,bin8604,35, -CTSPillarNetworkA,8605,8605,8605,1993-07-24,860.200000000127,860.137,2015-01-01 02:23:25,bin8605,75, -CTSPillarNetworkA,8606,8606,8606,1993-07-25,860.300000000127,860.237,2015-01-01 02:23:26,bin8606,35, -CTSPillarNetworkA,8607,8607,8607,1993-07-26,860.4000000001271,860.337,2015-01-01 02:23:27,bin8607,75, -CTSPillarNetworkA,8608,8608,8608,1993-07-27,860.5000000001271,860.43695,2015-01-01 02:23:28,bin8608,35, -CTSPillarNetworkA,8609,8609,8609,1993-07-28,860.6000000001271,860.5369,2015-01-01 02:23:29,bin8609,75, -CTSPillarNetworkA,8610,8610,8610,1993-07-29,860.7000000001271,860.6369,2015-01-01 02:23:30,bin8610,35, -CTSPillarNetworkA,8611,8611,8611,1993-07-30,860.8000000001272,860.7369,2015-01-01 02:23:31,bin8611,75, -CTSPillarNetworkA,8612,8612,8612,1993-07-31,860.9000000001272,860.83685,2015-01-01 02:23:32,bin8612,35, -CTSPillarNetworkA,8613,8613,8613,1993-08-01,861.0000000001272,860.9368,2015-01-01 02:23:33,bin8613,75, -CTSPillarNetworkA,8614,8614,8614,1993-08-02,861.1000000001272,861.0368,2015-01-01 02:23:34,bin8614,35, -CTSPillarNetworkA,8615,8615,8615,1993-08-03,861.2000000001273,861.1368,2015-01-01 02:23:35,bin8615,75, -CTSPillarNetworkA,8616,8616,8616,1993-08-04,861.3000000001273,861.23676,2015-01-01 02:23:36,bin8616,35, -CTSPillarNetworkA,8617,8617,8617,1993-08-05,861.4000000001273,861.33673,2015-01-01 02:23:37,bin8617,75, -CTSPillarNetworkA,8618,8618,8618,1993-08-06,861.5000000001273,861.4367,2015-01-01 02:23:38,bin8618,35, -CTSPillarNetworkA,8619,8619,8619,1993-08-07,861.6000000001274,861.5367,2015-01-01 02:23:39,bin8619,75, -CTSPillarNetworkA,8620,8620,8620,1993-08-08,861.7000000001274,861.63666,2015-01-01 02:23:40,bin8620,35, -CTSPillarNetworkA,8621,8621,8621,1993-08-09,861.8000000001274,861.73663,2015-01-01 02:23:41,bin8621,75, -CTSPillarNetworkA,8622,8622,8622,1993-08-10,861.9000000001274,861.8366,2015-01-01 02:23:42,bin8622,35, -CTSPillarNetworkA,8623,8623,8623,1993-08-11,862.0000000001274,861.9366,2015-01-01 02:23:43,bin8623,75, -CTSPillarNetworkA,8624,8624,8624,1993-08-12,862.1000000001275,862.03656,2015-01-01 02:23:44,bin8624,35, -CTSPillarNetworkA,8625,8625,8625,1993-08-13,862.2000000001275,862.13654,2015-01-01 02:23:45,bin8625,75, -CTSPillarNetworkA,8626,8626,8626,1993-08-14,862.3000000001275,862.2365,2015-01-01 02:23:46,bin8626,35, -CTSPillarNetworkA,8627,8627,8627,1993-08-15,862.4000000001275,862.3365,2015-01-01 02:23:47,bin8627,75, -CTSPillarNetworkA,8628,8628,8628,1993-08-16,862.5000000001276,862.43646,2015-01-01 02:23:48,bin8628,35, -CTSPillarNetworkA,8629,8629,8629,1993-08-17,862.6000000001276,862.53644,2015-01-01 02:23:49,bin8629,75, -CTSPillarNetworkA,8630,8630,8630,1993-08-18,862.7000000001276,862.6364,2015-01-01 02:23:50,bin8630,35, -CTSPillarNetworkA,8631,8631,8631,1993-08-19,862.8000000001276,862.7364,2015-01-01 02:23:51,bin8631,75, -CTSPillarNetworkA,8632,8632,8632,1993-08-20,862.9000000001276,862.83636,2015-01-01 02:23:52,bin8632,35, -CTSPillarNetworkA,8633,8633,8633,1993-08-21,863.0000000001277,862.93634,2015-01-01 02:23:53,bin8633,75, -CTSPillarNetworkA,8634,8634,8634,1993-08-22,863.1000000001277,863.0363,2015-01-01 02:23:54,bin8634,35, -CTSPillarNetworkA,8635,8635,8635,1993-08-23,863.2000000001277,863.1363,2015-01-01 02:23:55,bin8635,75, -CTSPillarNetworkA,8636,8636,8636,1993-08-24,863.3000000001277,863.23627,2015-01-01 02:23:56,bin8636,35, -CTSPillarNetworkA,8637,8637,8637,1993-08-25,863.4000000001278,863.33624,2015-01-01 02:23:57,bin8637,75, -CTSPillarNetworkA,8638,8638,8638,1993-08-26,863.5000000001278,863.4362,2015-01-01 02:23:58,bin8638,35, -CTSPillarNetworkA,8639,8639,8639,1993-08-27,863.6000000001278,863.5362,2015-01-01 02:23:59,bin8639,75, -CTSPillarNetworkA,8640,8640,8640,1993-08-28,863.7000000001278,863.63617,2015-01-01 02:24:00,bin8640,35, -CTSPillarNetworkA,8641,8641,8641,1993-08-29,863.8000000001279,863.73615,2015-01-01 02:24:01,bin8641,75, -CTSPillarNetworkA,8642,8642,8642,1993-08-30,863.9000000001279,863.8361,2015-01-01 02:24:02,bin8642,35, -CTSPillarNetworkA,8643,8643,8643,1993-08-31,864.0000000001279,863.9361,2015-01-01 02:24:03,bin8643,75, -CTSPillarNetworkA,8644,8644,8644,1993-09-01,864.1000000001279,864.0361,2015-01-01 02:24:04,bin8644,35, -CTSPillarNetworkA,8645,8645,8645,1993-09-02,864.200000000128,864.13605,2015-01-01 02:24:05,bin8645,75, -CTSPillarNetworkA,8646,8646,8646,1993-09-03,864.300000000128,864.236,2015-01-01 02:24:06,bin8646,35, -CTSPillarNetworkA,8647,8647,8647,1993-09-04,864.400000000128,864.336,2015-01-01 02:24:07,bin8647,75, -CTSPillarNetworkA,8648,8648,8648,1993-09-05,864.500000000128,864.436,2015-01-01 02:24:08,bin8648,35, -CTSPillarNetworkA,8649,8649,8649,1993-09-06,864.600000000128,864.53595,2015-01-01 02:24:09,bin8649,75, -CTSPillarNetworkA,8650,8650,8650,1993-09-07,864.7000000001281,864.6359,2015-01-01 02:24:10,bin8650,35, -CTSPillarNetworkA,8651,8651,8651,1993-09-08,864.8000000001281,864.7359,2015-01-01 02:24:11,bin8651,75, -CTSPillarNetworkA,8652,8652,8652,1993-09-09,864.9000000001281,864.8359,2015-01-01 02:24:12,bin8652,35, -CTSPillarNetworkA,8653,8653,8653,1993-09-10,865.0000000001281,864.93585,2015-01-01 02:24:13,bin8653,75, -CTSPillarNetworkA,8654,8654,8654,1993-09-11,865.1000000001281,865.0358,2015-01-01 02:24:14,bin8654,35, -CTSPillarNetworkA,8655,8655,8655,1993-09-12,865.2000000001282,865.1358,2015-01-01 02:24:15,bin8655,75, -CTSPillarNetworkA,8656,8656,8656,1993-09-13,865.3000000001282,865.2358,2015-01-01 02:24:16,bin8656,35, -CTSPillarNetworkA,8657,8657,8657,1993-09-14,865.4000000001282,865.33575,2015-01-01 02:24:17,bin8657,75, -CTSPillarNetworkA,8658,8658,8658,1993-09-15,865.5000000001282,865.4357,2015-01-01 02:24:18,bin8658,35, -CTSPillarNetworkA,8659,8659,8659,1993-09-16,865.6000000001283,865.5357,2015-01-01 02:24:19,bin8659,75, -CTSPillarNetworkA,8660,8660,8660,1993-09-17,865.7000000001283,865.6357,2015-01-01 02:24:20,bin8660,35, -CTSPillarNetworkA,8661,8661,8661,1993-09-18,865.8000000001283,865.73566,2015-01-01 02:24:21,bin8661,75, -CTSPillarNetworkA,8662,8662,8662,1993-09-19,865.9000000001283,865.83563,2015-01-01 02:24:22,bin8662,35, -CTSPillarNetworkA,8663,8663,8663,1993-09-20,866.0000000001284,865.9356,2015-01-01 02:24:23,bin8663,75, -CTSPillarNetworkA,8664,8664,8664,1993-09-21,866.1000000001284,866.0356,2015-01-01 02:24:24,bin8664,35, -CTSPillarNetworkA,8665,8665,8665,1993-09-22,866.2000000001284,866.13556,2015-01-01 02:24:25,bin8665,75, -CTSPillarNetworkA,8666,8666,8666,1993-09-23,866.3000000001284,866.23553,2015-01-01 02:24:26,bin8666,35, -CTSPillarNetworkA,8667,8667,8667,1993-09-24,866.4000000001284,866.3355,2015-01-01 02:24:27,bin8667,75, -CTSPillarNetworkA,8668,8668,8668,1993-09-25,866.5000000001285,866.4355,2015-01-01 02:24:28,bin8668,35, -CTSPillarNetworkA,8669,8669,8669,1993-09-26,866.6000000001285,866.53546,2015-01-01 02:24:29,bin8669,75, -CTSPillarNetworkA,8670,8670,8670,1993-09-27,866.7000000001285,866.63544,2015-01-01 02:24:30,bin8670,35, -CTSPillarNetworkA,8671,8671,8671,1993-09-28,866.8000000001285,866.7354,2015-01-01 02:24:31,bin8671,75, -CTSPillarNetworkA,8672,8672,8672,1993-09-29,866.9000000001286,866.8354,2015-01-01 02:24:32,bin8672,35, -CTSPillarNetworkA,8673,8673,8673,1993-09-30,867.0000000001286,866.93536,2015-01-01 02:24:33,bin8673,75, -CTSPillarNetworkA,8674,8674,8674,1993-10-01,867.1000000001286,867.03534,2015-01-01 02:24:34,bin8674,35, -CTSPillarNetworkA,8675,8675,8675,1993-10-02,867.2000000001286,867.1353,2015-01-01 02:24:35,bin8675,75, -CTSPillarNetworkA,8676,8676,8676,1993-10-03,867.3000000001286,867.2353,2015-01-01 02:24:36,bin8676,35, -CTSPillarNetworkA,8677,8677,8677,1993-10-04,867.4000000001287,867.33527,2015-01-01 02:24:37,bin8677,75, -CTSPillarNetworkA,8678,8678,8678,1993-10-05,867.5000000001287,867.43524,2015-01-01 02:24:38,bin8678,35, -CTSPillarNetworkA,8679,8679,8679,1993-10-06,867.6000000001287,867.5352,2015-01-01 02:24:39,bin8679,75, -CTSPillarNetworkA,8680,8680,8680,1993-10-07,867.7000000001287,867.6352,2015-01-01 02:24:40,bin8680,35, -CTSPillarNetworkA,8681,8681,8681,1993-10-08,867.8000000001288,867.73517,2015-01-01 02:24:41,bin8681,75, -CTSPillarNetworkA,8682,8682,8682,1993-10-09,867.9000000001288,867.83514,2015-01-01 02:24:42,bin8682,35, -CTSPillarNetworkA,8683,8683,8683,1993-10-10,868.0000000001288,867.9351,2015-01-01 02:24:43,bin8683,75, -CTSPillarNetworkA,8684,8684,8684,1993-10-11,868.1000000001288,868.0351,2015-01-01 02:24:44,bin8684,35, -CTSPillarNetworkA,8685,8685,8685,1993-10-12,868.2000000001289,868.1351,2015-01-01 02:24:45,bin8685,75, -CTSPillarNetworkA,8686,8686,8686,1993-10-13,868.3000000001289,868.23505,2015-01-01 02:24:46,bin8686,35, -CTSPillarNetworkA,8687,8687,8687,1993-10-14,868.4000000001289,868.335,2015-01-01 02:24:47,bin8687,75, -CTSPillarNetworkA,8688,8688,8688,1993-10-15,868.5000000001289,868.435,2015-01-01 02:24:48,bin8688,35, -CTSPillarNetworkA,8689,8689,8689,1993-10-16,868.600000000129,868.535,2015-01-01 02:24:49,bin8689,75, -CTSPillarNetworkA,8690,8690,8690,1993-10-17,868.700000000129,868.63495,2015-01-01 02:24:50,bin8690,35, -CTSPillarNetworkA,8691,8691,8691,1993-10-18,868.800000000129,868.7349,2015-01-01 02:24:51,bin8691,75, -CTSPillarNetworkA,8692,8692,8692,1993-10-19,868.900000000129,868.8349,2015-01-01 02:24:52,bin8692,35, -CTSPillarNetworkA,8693,8693,8693,1993-10-20,869.000000000129,868.9349,2015-01-01 02:24:53,bin8693,75, -CTSPillarNetworkA,8694,8694,8694,1993-10-21,869.1000000001291,869.03485,2015-01-01 02:24:54,bin8694,35, -CTSPillarNetworkA,8695,8695,8695,1993-10-22,869.2000000001291,869.1348,2015-01-01 02:24:55,bin8695,75, -CTSPillarNetworkA,8696,8696,8696,1993-10-23,869.3000000001291,869.2348,2015-01-01 02:24:56,bin8696,35, -CTSPillarNetworkA,8697,8697,8697,1993-10-24,869.4000000001291,869.3348,2015-01-01 02:24:57,bin8697,75, -CTSPillarNetworkA,8698,8698,8698,1993-10-25,869.5000000001291,869.43475,2015-01-01 02:24:58,bin8698,35, -CTSPillarNetworkA,8699,8699,8699,1993-10-26,869.6000000001292,869.5347,2015-01-01 02:24:59,bin8699,75, -CTSPillarNetworkA,8700,8700,8700,1993-10-27,869.7000000001292,869.6347,2015-01-01 02:25:00,bin8700,35, -CTSPillarNetworkA,8701,8701,8701,1993-10-28,869.8000000001292,869.7347,2015-01-01 02:25:01,bin8701,75, -CTSPillarNetworkA,8702,8702,8702,1993-10-29,869.9000000001292,869.83466,2015-01-01 02:25:02,bin8702,35, -CTSPillarNetworkA,8703,8703,8703,1993-10-30,870.0000000001293,869.93463,2015-01-01 02:25:03,bin8703,75, -CTSPillarNetworkA,8704,8704,8704,1993-10-31,870.1000000001293,870.0346,2015-01-01 02:25:04,bin8704,35, -CTSPillarNetworkA,8705,8705,8705,1993-11-01,870.2000000001293,870.1346,2015-01-01 02:25:05,bin8705,75, -CTSPillarNetworkA,8706,8706,8706,1993-11-02,870.3000000001293,870.23456,2015-01-01 02:25:06,bin8706,35, -CTSPillarNetworkA,8707,8707,8707,1993-11-03,870.4000000001294,870.33453,2015-01-01 02:25:07,bin8707,75, -CTSPillarNetworkA,8708,8708,8708,1993-11-04,870.5000000001294,870.4345,2015-01-01 02:25:08,bin8708,35, -CTSPillarNetworkA,8709,8709,8709,1993-11-05,870.6000000001294,870.5345,2015-01-01 02:25:09,bin8709,75, -CTSPillarNetworkA,8710,8710,8710,1993-11-06,870.7000000001294,870.63446,2015-01-01 02:25:10,bin8710,35, -CTSPillarNetworkA,8711,8711,8711,1993-11-07,870.8000000001294,870.73444,2015-01-01 02:25:11,bin8711,75, -CTSPillarNetworkA,8712,8712,8712,1993-11-08,870.9000000001295,870.8344,2015-01-01 02:25:12,bin8712,35, -CTSPillarNetworkA,8713,8713,8713,1993-11-09,871.0000000001295,870.9344,2015-01-01 02:25:13,bin8713,75, -CTSPillarNetworkA,8714,8714,8714,1993-11-10,871.1000000001295,871.03436,2015-01-01 02:25:14,bin8714,35, -CTSPillarNetworkA,8715,8715,8715,1993-11-11,871.2000000001295,871.13434,2015-01-01 02:25:15,bin8715,75, -CTSPillarNetworkA,8716,8716,8716,1993-11-12,871.3000000001296,871.2343,2015-01-01 02:25:16,bin8716,35, -CTSPillarNetworkA,8717,8717,8717,1993-11-13,871.4000000001296,871.3343,2015-01-01 02:25:17,bin8717,75, -CTSPillarNetworkA,8718,8718,8718,1993-11-14,871.5000000001296,871.43427,2015-01-01 02:25:18,bin8718,35, -CTSPillarNetworkA,8719,8719,8719,1993-11-15,871.6000000001296,871.53424,2015-01-01 02:25:19,bin8719,75, -CTSPillarNetworkA,8720,8720,8720,1993-11-16,871.7000000001296,871.6342,2015-01-01 02:25:20,bin8720,35, -CTSPillarNetworkA,8721,8721,8721,1993-11-17,871.8000000001297,871.7342,2015-01-01 02:25:21,bin8721,75, -CTSPillarNetworkA,8722,8722,8722,1993-11-18,871.9000000001297,871.83417,2015-01-01 02:25:22,bin8722,35, -CTSPillarNetworkA,8723,8723,8723,1993-11-19,872.0000000001297,871.93414,2015-01-01 02:25:23,bin8723,75, -CTSPillarNetworkA,8724,8724,8724,1993-11-20,872.1000000001297,872.0341,2015-01-01 02:25:24,bin8724,35, -CTSPillarNetworkA,8725,8725,8725,1993-11-21,872.2000000001298,872.1341,2015-01-01 02:25:25,bin8725,75, -CTSPillarNetworkA,8726,8726,8726,1993-11-22,872.3000000001298,872.2341,2015-01-01 02:25:26,bin8726,35, -CTSPillarNetworkA,8727,8727,8727,1993-11-23,872.4000000001298,872.33405,2015-01-01 02:25:27,bin8727,75, -CTSPillarNetworkA,8728,8728,8728,1993-11-24,872.5000000001298,872.434,2015-01-01 02:25:28,bin8728,35, -CTSPillarNetworkA,8729,8729,8729,1993-11-25,872.6000000001299,872.534,2015-01-01 02:25:29,bin8729,75, -CTSPillarNetworkA,8730,8730,8730,1993-11-26,872.7000000001299,872.634,2015-01-01 02:25:30,bin8730,35, -CTSPillarNetworkA,8731,8731,8731,1993-11-27,872.8000000001299,872.73395,2015-01-01 02:25:31,bin8731,75, -CTSPillarNetworkA,8732,8732,8732,1993-11-28,872.9000000001299,872.8339,2015-01-01 02:25:32,bin8732,35, -CTSPillarNetworkA,8733,8733,8733,1993-11-29,873.00000000013,872.9339,2015-01-01 02:25:33,bin8733,75, -CTSPillarNetworkA,8734,8734,8734,1993-11-30,873.10000000013,873.0339,2015-01-01 02:25:34,bin8734,35, -CTSPillarNetworkA,8735,8735,8735,1993-12-01,873.20000000013,873.13385,2015-01-01 02:25:35,bin8735,75, -CTSPillarNetworkA,8736,8736,8736,1993-12-02,873.30000000013,873.2338,2015-01-01 02:25:36,bin8736,35, -CTSPillarNetworkA,8737,8737,8737,1993-12-03,873.40000000013,873.3338,2015-01-01 02:25:37,bin8737,75, -CTSPillarNetworkA,8738,8738,8738,1993-12-04,873.5000000001301,873.4338,2015-01-01 02:25:38,bin8738,35, -CTSPillarNetworkA,8739,8739,8739,1993-12-05,873.6000000001301,873.53375,2015-01-01 02:25:39,bin8739,75, -CTSPillarNetworkA,8740,8740,8740,1993-12-06,873.7000000001301,873.6337,2015-01-01 02:25:40,bin8740,35, -CTSPillarNetworkA,8741,8741,8741,1993-12-07,873.8000000001301,873.7337,2015-01-01 02:25:41,bin8741,75, -CTSPillarNetworkA,8742,8742,8742,1993-12-08,873.9000000001301,873.8337,2015-01-01 02:25:42,bin8742,35, -CTSPillarNetworkA,8743,8743,8743,1993-12-09,874.0000000001302,873.93365,2015-01-01 02:25:43,bin8743,75, -CTSPillarNetworkA,8744,8744,8744,1993-12-10,874.1000000001302,874.0336,2015-01-01 02:25:44,bin8744,35, -CTSPillarNetworkA,8745,8745,8745,1993-12-11,874.2000000001302,874.1336,2015-01-01 02:25:45,bin8745,75, -CTSPillarNetworkA,8746,8746,8746,1993-12-12,874.3000000001302,874.2336,2015-01-01 02:25:46,bin8746,35, -CTSPillarNetworkA,8747,8747,8747,1993-12-13,874.4000000001303,874.33356,2015-01-01 02:25:47,bin8747,75, -CTSPillarNetworkA,8748,8748,8748,1993-12-14,874.5000000001303,874.43353,2015-01-01 02:25:48,bin8748,35, -CTSPillarNetworkA,8749,8749,8749,1993-12-15,874.6000000001303,874.5335,2015-01-01 02:25:49,bin8749,75, -CTSPillarNetworkA,8750,8750,8750,1993-12-16,874.7000000001303,874.6335,2015-01-01 02:25:50,bin8750,35, -CTSPillarNetworkA,8751,8751,8751,1993-12-17,874.8000000001304,874.73346,2015-01-01 02:25:51,bin8751,75, -CTSPillarNetworkA,8752,8752,8752,1993-12-18,874.9000000001304,874.83344,2015-01-01 02:25:52,bin8752,35, -CTSPillarNetworkA,8753,8753,8753,1993-12-19,875.0000000001304,874.9334,2015-01-01 02:25:53,bin8753,75, -CTSPillarNetworkA,8754,8754,8754,1993-12-20,875.1000000001304,875.0334,2015-01-01 02:25:54,bin8754,35, -CTSPillarNetworkA,8755,8755,8755,1993-12-21,875.2000000001304,875.13336,2015-01-01 02:25:55,bin8755,75, -CTSPillarNetworkA,8756,8756,8756,1993-12-22,875.3000000001305,875.23334,2015-01-01 02:25:56,bin8756,35, -CTSPillarNetworkA,8757,8757,8757,1993-12-23,875.4000000001305,875.3333,2015-01-01 02:25:57,bin8757,75, -CTSPillarNetworkA,8758,8758,8758,1993-12-24,875.5000000001305,875.4333,2015-01-01 02:25:58,bin8758,35, -CTSPillarNetworkA,8759,8759,8759,1993-12-25,875.6000000001305,875.53326,2015-01-01 02:25:59,bin8759,75, -CTSPillarNetworkA,8760,8760,8760,1993-12-26,875.7000000001306,875.63324,2015-01-01 02:26:00,bin8760,35, -CTSPillarNetworkA,8761,8761,8761,1993-12-27,875.8000000001306,875.7332,2015-01-01 02:26:01,bin8761,75, -CTSPillarNetworkA,8762,8762,8762,1993-12-28,875.9000000001306,875.8332,2015-01-01 02:26:02,bin8762,35, -CTSPillarNetworkA,8763,8763,8763,1993-12-29,876.0000000001306,875.93317,2015-01-01 02:26:03,bin8763,75, -CTSPillarNetworkA,8764,8764,8764,1993-12-30,876.1000000001306,876.03314,2015-01-01 02:26:04,bin8764,35, -CTSPillarNetworkA,8765,8765,8765,1993-12-31,876.2000000001307,876.1331,2015-01-01 02:26:05,bin8765,75, -CTSPillarNetworkA,8766,8766,8766,1994-01-01,876.3000000001307,876.2331,2015-01-01 02:26:06,bin8766,35, -CTSPillarNetworkA,8767,8767,8767,1994-01-02,876.4000000001307,876.33307,2015-01-01 02:26:07,bin8767,75, -CTSPillarNetworkA,8768,8768,8768,1994-01-03,876.5000000001307,876.43304,2015-01-01 02:26:08,bin8768,35, -CTSPillarNetworkA,8769,8769,8769,1994-01-04,876.6000000001308,876.533,2015-01-01 02:26:09,bin8769,75, -CTSPillarNetworkA,8770,8770,8770,1994-01-05,876.7000000001308,876.633,2015-01-01 02:26:10,bin8770,35, -CTSPillarNetworkA,8771,8771,8771,1994-01-06,876.8000000001308,876.733,2015-01-01 02:26:11,bin8771,75, -CTSPillarNetworkA,8772,8772,8772,1994-01-07,876.9000000001308,876.83295,2015-01-01 02:26:12,bin8772,35, -CTSPillarNetworkA,8773,8773,8773,1994-01-08,877.0000000001309,876.9329,2015-01-01 02:26:13,bin8773,75, -CTSPillarNetworkA,8774,8774,8774,1994-01-09,877.1000000001309,877.0329,2015-01-01 02:26:14,bin8774,35, -CTSPillarNetworkA,8775,8775,8775,1994-01-10,877.2000000001309,877.1329,2015-01-01 02:26:15,bin8775,75, -CTSPillarNetworkA,8776,8776,8776,1994-01-11,877.3000000001309,877.23285,2015-01-01 02:26:16,bin8776,35, -CTSPillarNetworkA,8777,8777,8777,1994-01-12,877.400000000131,877.3328,2015-01-01 02:26:17,bin8777,75, -CTSPillarNetworkA,8778,8778,8778,1994-01-13,877.500000000131,877.4328,2015-01-01 02:26:18,bin8778,35, -CTSPillarNetworkA,8779,8779,8779,1994-01-14,877.600000000131,877.5328,2015-01-01 02:26:19,bin8779,75, -CTSPillarNetworkA,8780,8780,8780,1994-01-15,877.700000000131,877.63275,2015-01-01 02:26:20,bin8780,35, -CTSPillarNetworkA,8781,8781,8781,1994-01-16,877.800000000131,877.7327,2015-01-01 02:26:21,bin8781,75, -CTSPillarNetworkA,8782,8782,8782,1994-01-17,877.9000000001311,877.8327,2015-01-01 02:26:22,bin8782,35, -CTSPillarNetworkA,8783,8783,8783,1994-01-18,878.0000000001311,877.9327,2015-01-01 02:26:23,bin8783,75, -CTSPillarNetworkA,8784,8784,8784,1994-01-19,878.1000000001311,878.03265,2015-01-01 02:26:24,bin8784,35, -CTSPillarNetworkA,8785,8785,8785,1994-01-20,878.2000000001311,878.1326,2015-01-01 02:26:25,bin8785,75, -CTSPillarNetworkA,8786,8786,8786,1994-01-21,878.3000000001311,878.2326,2015-01-01 02:26:26,bin8786,35, -CTSPillarNetworkA,8787,8787,8787,1994-01-22,878.4000000001312,878.3326,2015-01-01 02:26:27,bin8787,75, -CTSPillarNetworkA,8788,8788,8788,1994-01-23,878.5000000001312,878.43256,2015-01-01 02:26:28,bin8788,35, -CTSPillarNetworkA,8789,8789,8789,1994-01-24,878.6000000001312,878.53253,2015-01-01 02:26:29,bin8789,75, -CTSPillarNetworkA,8790,8790,8790,1994-01-25,878.7000000001312,878.6325,2015-01-01 02:26:30,bin8790,35, -CTSPillarNetworkA,8791,8791,8791,1994-01-26,878.8000000001313,878.7325,2015-01-01 02:26:31,bin8791,75, -CTSPillarNetworkA,8792,8792,8792,1994-01-27,878.9000000001313,878.83246,2015-01-01 02:26:32,bin8792,35, -CTSPillarNetworkA,8793,8793,8793,1994-01-28,879.0000000001313,878.93243,2015-01-01 02:26:33,bin8793,75, -CTSPillarNetworkA,8794,8794,8794,1994-01-29,879.1000000001313,879.0324,2015-01-01 02:26:34,bin8794,35, -CTSPillarNetworkA,8795,8795,8795,1994-01-30,879.2000000001314,879.1324,2015-01-01 02:26:35,bin8795,75, -CTSPillarNetworkA,8796,8796,8796,1994-01-31,879.3000000001314,879.23236,2015-01-01 02:26:36,bin8796,35, -CTSPillarNetworkA,8797,8797,8797,1994-02-01,879.4000000001314,879.33234,2015-01-01 02:26:37,bin8797,75, -CTSPillarNetworkA,8798,8798,8798,1994-02-02,879.5000000001314,879.4323,2015-01-01 02:26:38,bin8798,35, -CTSPillarNetworkA,8799,8799,8799,1994-02-03,879.6000000001314,879.5323,2015-01-01 02:26:39,bin8799,75, -CTSPillarNetworkA,8800,8800,8800,1994-02-04,879.7000000001315,879.63226,2015-01-01 02:26:40,bin8800,35, -CTSPillarNetworkA,8801,8801,8801,1994-02-05,879.8000000001315,879.73224,2015-01-01 02:26:41,bin8801,75, -CTSPillarNetworkA,8802,8802,8802,1994-02-06,879.9000000001315,879.8322,2015-01-01 02:26:42,bin8802,35, -CTSPillarNetworkA,8803,8803,8803,1994-02-07,880.0000000001315,879.9322,2015-01-01 02:26:43,bin8803,75, -CTSPillarNetworkA,8804,8804,8804,1994-02-08,880.1000000001316,880.03217,2015-01-01 02:26:44,bin8804,35, -CTSPillarNetworkA,8805,8805,8805,1994-02-09,880.2000000001316,880.13214,2015-01-01 02:26:45,bin8805,75, -CTSPillarNetworkA,8806,8806,8806,1994-02-10,880.3000000001316,880.2321,2015-01-01 02:26:46,bin8806,35, -CTSPillarNetworkA,8807,8807,8807,1994-02-11,880.4000000001316,880.3321,2015-01-01 02:26:47,bin8807,75, -CTSPillarNetworkA,8808,8808,8808,1994-02-12,880.5000000001316,880.43207,2015-01-01 02:26:48,bin8808,35, -CTSPillarNetworkA,8809,8809,8809,1994-02-13,880.6000000001317,880.53204,2015-01-01 02:26:49,bin8809,75, -CTSPillarNetworkA,8810,8810,8810,1994-02-14,880.7000000001317,880.632,2015-01-01 02:26:50,bin8810,35, -CTSPillarNetworkA,8811,8811,8811,1994-02-15,880.8000000001317,880.732,2015-01-01 02:26:51,bin8811,75, -CTSPillarNetworkA,8812,8812,8812,1994-02-16,880.9000000001317,880.832,2015-01-01 02:26:52,bin8812,35, -CTSPillarNetworkA,8813,8813,8813,1994-02-17,881.0000000001318,880.93195,2015-01-01 02:26:53,bin8813,75, -CTSPillarNetworkA,8814,8814,8814,1994-02-18,881.1000000001318,881.0319,2015-01-01 02:26:54,bin8814,35, -CTSPillarNetworkA,8815,8815,8815,1994-02-19,881.2000000001318,881.1319,2015-01-01 02:26:55,bin8815,75, -CTSPillarNetworkA,8816,8816,8816,1994-02-20,881.3000000001318,881.2319,2015-01-01 02:26:56,bin8816,35, -CTSPillarNetworkA,8817,8817,8817,1994-02-21,881.4000000001319,881.33185,2015-01-01 02:26:57,bin8817,75, -CTSPillarNetworkA,8818,8818,8818,1994-02-22,881.5000000001319,881.4318,2015-01-01 02:26:58,bin8818,35, -CTSPillarNetworkA,8819,8819,8819,1994-02-23,881.6000000001319,881.5318,2015-01-01 02:26:59,bin8819,75, -CTSPillarNetworkA,8820,8820,8820,1994-02-24,881.7000000001319,881.6318,2015-01-01 02:27:00,bin8820,35, -CTSPillarNetworkA,8821,8821,8821,1994-02-25,881.800000000132,881.73175,2015-01-01 02:27:01,bin8821,75, -CTSPillarNetworkA,8822,8822,8822,1994-02-26,881.900000000132,881.8317,2015-01-01 02:27:02,bin8822,35, -CTSPillarNetworkA,8823,8823,8823,1994-02-27,882.000000000132,881.9317,2015-01-01 02:27:03,bin8823,75, -CTSPillarNetworkA,8824,8824,8824,1994-02-28,882.100000000132,882.0317,2015-01-01 02:27:04,bin8824,35, -CTSPillarNetworkA,8825,8825,8825,1994-03-01,882.200000000132,882.13165,2015-01-01 02:27:05,bin8825,75, -CTSPillarNetworkA,8826,8826,8826,1994-03-02,882.3000000001321,882.2316,2015-01-01 02:27:06,bin8826,35, -CTSPillarNetworkA,8827,8827,8827,1994-03-03,882.4000000001321,882.3316,2015-01-01 02:27:07,bin8827,75, -CTSPillarNetworkA,8828,8828,8828,1994-03-04,882.5000000001321,882.4316,2015-01-01 02:27:08,bin8828,35, -CTSPillarNetworkA,8829,8829,8829,1994-03-05,882.6000000001321,882.53156,2015-01-01 02:27:09,bin8829,75, -CTSPillarNetworkA,8830,8830,8830,1994-03-06,882.7000000001321,882.63153,2015-01-01 02:27:10,bin8830,35, -CTSPillarNetworkA,8831,8831,8831,1994-03-07,882.8000000001322,882.7315,2015-01-01 02:27:11,bin8831,75, -CTSPillarNetworkA,8832,8832,8832,1994-03-08,882.9000000001322,882.8315,2015-01-01 02:27:12,bin8832,35, -CTSPillarNetworkA,8833,8833,8833,1994-03-09,883.0000000001322,882.93146,2015-01-01 02:27:13,bin8833,75, -CTSPillarNetworkA,8834,8834,8834,1994-03-10,883.1000000001322,883.03143,2015-01-01 02:27:14,bin8834,35, -CTSPillarNetworkA,8835,8835,8835,1994-03-11,883.2000000001323,883.1314,2015-01-01 02:27:15,bin8835,75, -CTSPillarNetworkA,8836,8836,8836,1994-03-12,883.3000000001323,883.2314,2015-01-01 02:27:16,bin8836,35, -CTSPillarNetworkA,8837,8837,8837,1994-03-13,883.4000000001323,883.33136,2015-01-01 02:27:17,bin8837,75, -CTSPillarNetworkA,8838,8838,8838,1994-03-14,883.5000000001323,883.43134,2015-01-01 02:27:18,bin8838,35, -CTSPillarNetworkA,8839,8839,8839,1994-03-15,883.6000000001324,883.5313,2015-01-01 02:27:19,bin8839,75, -CTSPillarNetworkA,8840,8840,8840,1994-03-16,883.7000000001324,883.6313,2015-01-01 02:27:20,bin8840,35, -CTSPillarNetworkA,8841,8841,8841,1994-03-17,883.8000000001324,883.73126,2015-01-01 02:27:21,bin8841,75, -CTSPillarNetworkA,8842,8842,8842,1994-03-18,883.9000000001324,883.83124,2015-01-01 02:27:22,bin8842,35, -CTSPillarNetworkA,8843,8843,8843,1994-03-19,884.0000000001324,883.9312,2015-01-01 02:27:23,bin8843,75, -CTSPillarNetworkA,8844,8844,8844,1994-03-20,884.1000000001325,884.0312,2015-01-01 02:27:24,bin8844,35, -CTSPillarNetworkA,8845,8845,8845,1994-03-21,884.2000000001325,884.13116,2015-01-01 02:27:25,bin8845,75, -CTSPillarNetworkA,8846,8846,8846,1994-03-22,884.3000000001325,884.23114,2015-01-01 02:27:26,bin8846,35, -CTSPillarNetworkA,8847,8847,8847,1994-03-23,884.4000000001325,884.3311,2015-01-01 02:27:27,bin8847,75, -CTSPillarNetworkA,8848,8848,8848,1994-03-24,884.5000000001326,884.4311,2015-01-01 02:27:28,bin8848,35, -CTSPillarNetworkA,8849,8849,8849,1994-03-25,884.6000000001326,884.53107,2015-01-01 02:27:29,bin8849,75, -CTSPillarNetworkA,8850,8850,8850,1994-03-26,884.7000000001326,884.63104,2015-01-01 02:27:30,bin8850,35, -CTSPillarNetworkA,8851,8851,8851,1994-03-27,884.8000000001326,884.731,2015-01-01 02:27:31,bin8851,75, -CTSPillarNetworkA,8852,8852,8852,1994-03-28,884.9000000001326,884.831,2015-01-01 02:27:32,bin8852,35, -CTSPillarNetworkA,8853,8853,8853,1994-03-29,885.0000000001327,884.93097,2015-01-01 02:27:33,bin8853,75, -CTSPillarNetworkA,8854,8854,8854,1994-03-30,885.1000000001327,885.03094,2015-01-01 02:27:34,bin8854,35, -CTSPillarNetworkA,8855,8855,8855,1994-03-31,885.2000000001327,885.1309,2015-01-01 02:27:35,bin8855,75, -CTSPillarNetworkA,8856,8856,8856,1994-04-01,885.3000000001327,885.2309,2015-01-01 02:27:36,bin8856,35, -CTSPillarNetworkA,8857,8857,8857,1994-04-02,885.4000000001328,885.3309,2015-01-01 02:27:37,bin8857,75, -CTSPillarNetworkA,8858,8858,8858,1994-04-03,885.5000000001328,885.43085,2015-01-01 02:27:38,bin8858,35, -CTSPillarNetworkA,8859,8859,8859,1994-04-04,885.6000000001328,885.5308,2015-01-01 02:27:39,bin8859,75, -CTSPillarNetworkA,8860,8860,8860,1994-04-05,885.7000000001328,885.6308,2015-01-01 02:27:40,bin8860,35, -CTSPillarNetworkA,8861,8861,8861,1994-04-06,885.8000000001329,885.7308,2015-01-01 02:27:41,bin8861,75, -CTSPillarNetworkA,8862,8862,8862,1994-04-07,885.9000000001329,885.83075,2015-01-01 02:27:42,bin8862,35, -CTSPillarNetworkA,8863,8863,8863,1994-04-08,886.0000000001329,885.9307,2015-01-01 02:27:43,bin8863,75, -CTSPillarNetworkA,8864,8864,8864,1994-04-09,886.1000000001329,886.0307,2015-01-01 02:27:44,bin8864,35, -CTSPillarNetworkA,8865,8865,8865,1994-04-10,886.200000000133,886.1307,2015-01-01 02:27:45,bin8865,75, -CTSPillarNetworkA,8866,8866,8866,1994-04-11,886.300000000133,886.23065,2015-01-01 02:27:46,bin8866,35, -CTSPillarNetworkA,8867,8867,8867,1994-04-12,886.400000000133,886.3306,2015-01-01 02:27:47,bin8867,75, -CTSPillarNetworkA,8868,8868,8868,1994-04-13,886.500000000133,886.4306,2015-01-01 02:27:48,bin8868,35, -CTSPillarNetworkA,8869,8869,8869,1994-04-14,886.600000000133,886.5306,2015-01-01 02:27:49,bin8869,75, -CTSPillarNetworkA,8870,8870,8870,1994-04-15,886.7000000001331,886.63055,2015-01-01 02:27:50,bin8870,35, -CTSPillarNetworkA,8871,8871,8871,1994-04-16,886.8000000001331,886.7305,2015-01-01 02:27:51,bin8871,75, -CTSPillarNetworkA,8872,8872,8872,1994-04-17,886.9000000001331,886.8305,2015-01-01 02:27:52,bin8872,35, -CTSPillarNetworkA,8873,8873,8873,1994-04-18,887.0000000001331,886.9305,2015-01-01 02:27:53,bin8873,75, -CTSPillarNetworkA,8874,8874,8874,1994-04-19,887.1000000001332,887.03046,2015-01-01 02:27:54,bin8874,35, -CTSPillarNetworkA,8875,8875,8875,1994-04-20,887.2000000001332,887.13043,2015-01-01 02:27:55,bin8875,75, -CTSPillarNetworkA,8876,8876,8876,1994-04-21,887.3000000001332,887.2304,2015-01-01 02:27:56,bin8876,35, -CTSPillarNetworkA,8877,8877,8877,1994-04-22,887.4000000001332,887.3304,2015-01-01 02:27:57,bin8877,75, -CTSPillarNetworkA,8878,8878,8878,1994-04-23,887.5000000001332,887.43036,2015-01-01 02:27:58,bin8878,35, -CTSPillarNetworkA,8879,8879,8879,1994-04-24,887.6000000001333,887.53033,2015-01-01 02:27:59,bin8879,75, -CTSPillarNetworkA,8880,8880,8880,1994-04-25,887.7000000001333,887.6303,2015-01-01 02:28:00,bin8880,35, -CTSPillarNetworkA,8881,8881,8881,1994-04-26,887.8000000001333,887.7303,2015-01-01 02:28:01,bin8881,75, -CTSPillarNetworkA,8882,8882,8882,1994-04-27,887.9000000001333,887.83026,2015-01-01 02:28:02,bin8882,35, -CTSPillarNetworkA,8883,8883,8883,1994-04-28,888.0000000001334,887.93024,2015-01-01 02:28:03,bin8883,75, -CTSPillarNetworkA,8884,8884,8884,1994-04-29,888.1000000001334,888.0302,2015-01-01 02:28:04,bin8884,35, -CTSPillarNetworkA,8885,8885,8885,1994-04-30,888.2000000001334,888.1302,2015-01-01 02:28:05,bin8885,75, -CTSPillarNetworkA,8886,8886,8886,1994-05-01,888.3000000001334,888.23016,2015-01-01 02:28:06,bin8886,35, -CTSPillarNetworkA,8887,8887,8887,1994-05-02,888.4000000001334,888.33014,2015-01-01 02:28:07,bin8887,75, -CTSPillarNetworkA,8888,8888,8888,1994-05-03,888.5000000001335,888.4301,2015-01-01 02:28:08,bin8888,35, -CTSPillarNetworkA,8889,8889,8889,1994-05-04,888.6000000001335,888.5301,2015-01-01 02:28:09,bin8889,75, -CTSPillarNetworkA,8890,8890,8890,1994-05-05,888.7000000001335,888.63007,2015-01-01 02:28:10,bin8890,35, -CTSPillarNetworkA,8891,8891,8891,1994-05-06,888.8000000001335,888.73004,2015-01-01 02:28:11,bin8891,75, -CTSPillarNetworkA,8892,8892,8892,1994-05-07,888.9000000001336,888.83,2015-01-01 02:28:12,bin8892,35, -CTSPillarNetworkA,8893,8893,8893,1994-05-08,889.0000000001336,888.93,2015-01-01 02:28:13,bin8893,75, -CTSPillarNetworkA,8894,8894,8894,1994-05-09,889.1000000001336,889.02997,2015-01-01 02:28:14,bin8894,35, -CTSPillarNetworkA,8895,8895,8895,1994-05-10,889.2000000001336,889.12994,2015-01-01 02:28:15,bin8895,75, -CTSPillarNetworkA,8896,8896,8896,1994-05-11,889.3000000001337,889.2299,2015-01-01 02:28:16,bin8896,35, -CTSPillarNetworkA,8897,8897,8897,1994-05-12,889.4000000001337,889.3299,2015-01-01 02:28:17,bin8897,75, -CTSPillarNetworkA,8898,8898,8898,1994-05-13,889.5000000001337,889.4299,2015-01-01 02:28:18,bin8898,35, -CTSPillarNetworkA,8899,8899,8899,1994-05-14,889.6000000001337,889.52985,2015-01-01 02:28:19,bin8899,75, -CTSPillarNetworkA,8900,8900,8900,1994-05-15,889.7000000001337,889.6298,2015-01-01 02:28:20,bin8900,35, -CTSPillarNetworkA,8901,8901,8901,1994-05-16,889.8000000001338,889.7298,2015-01-01 02:28:21,bin8901,75, -CTSPillarNetworkA,8902,8902,8902,1994-05-17,889.9000000001338,889.8298,2015-01-01 02:28:22,bin8902,35, -CTSPillarNetworkA,8903,8903,8903,1994-05-18,890.0000000001338,889.92975,2015-01-01 02:28:23,bin8903,75, -CTSPillarNetworkA,8904,8904,8904,1994-05-19,890.1000000001338,890.0297,2015-01-01 02:28:24,bin8904,35, -CTSPillarNetworkA,8905,8905,8905,1994-05-20,890.2000000001339,890.1297,2015-01-01 02:28:25,bin8905,75, -CTSPillarNetworkA,8906,8906,8906,1994-05-21,890.3000000001339,890.2297,2015-01-01 02:28:26,bin8906,35, -CTSPillarNetworkA,8907,8907,8907,1994-05-22,890.4000000001339,890.32965,2015-01-01 02:28:27,bin8907,75, -CTSPillarNetworkA,8908,8908,8908,1994-05-23,890.5000000001339,890.4296,2015-01-01 02:28:28,bin8908,35, -CTSPillarNetworkA,8909,8909,8909,1994-05-24,890.600000000134,890.5296,2015-01-01 02:28:29,bin8909,75, -CTSPillarNetworkA,8910,8910,8910,1994-05-25,890.700000000134,890.6296,2015-01-01 02:28:30,bin8910,35, -CTSPillarNetworkA,8911,8911,8911,1994-05-26,890.800000000134,890.72955,2015-01-01 02:28:31,bin8911,75, -CTSPillarNetworkA,8912,8912,8912,1994-05-27,890.900000000134,890.8295,2015-01-01 02:28:32,bin8912,35, -CTSPillarNetworkA,8913,8913,8913,1994-05-28,891.000000000134,890.9295,2015-01-01 02:28:33,bin8913,75, -CTSPillarNetworkA,8914,8914,8914,1994-05-29,891.1000000001341,891.0295,2015-01-01 02:28:34,bin8914,35, -CTSPillarNetworkA,8915,8915,8915,1994-05-30,891.2000000001341,891.12946,2015-01-01 02:28:35,bin8915,75, -CTSPillarNetworkA,8916,8916,8916,1994-05-31,891.3000000001341,891.22943,2015-01-01 02:28:36,bin8916,35, -CTSPillarNetworkA,8917,8917,8917,1994-06-01,891.4000000001341,891.3294,2015-01-01 02:28:37,bin8917,75, -CTSPillarNetworkA,8918,8918,8918,1994-06-02,891.5000000001342,891.4294,2015-01-01 02:28:38,bin8918,35, -CTSPillarNetworkA,8919,8919,8919,1994-06-03,891.6000000001342,891.52936,2015-01-01 02:28:39,bin8919,75, -CTSPillarNetworkA,8920,8920,8920,1994-06-04,891.7000000001342,891.62933,2015-01-01 02:28:40,bin8920,35, -CTSPillarNetworkA,8921,8921,8921,1994-06-05,891.8000000001342,891.7293,2015-01-01 02:28:41,bin8921,75, -CTSPillarNetworkA,8922,8922,8922,1994-06-06,891.9000000001342,891.8293,2015-01-01 02:28:42,bin8922,35, -CTSPillarNetworkA,8923,8923,8923,1994-06-07,892.0000000001343,891.92926,2015-01-01 02:28:43,bin8923,75, -CTSPillarNetworkA,8924,8924,8924,1994-06-08,892.1000000001343,892.02924,2015-01-01 02:28:44,bin8924,35, -CTSPillarNetworkA,8925,8925,8925,1994-06-09,892.2000000001343,892.1292,2015-01-01 02:28:45,bin8925,75, -CTSPillarNetworkA,8926,8926,8926,1994-06-10,892.3000000001343,892.2292,2015-01-01 02:28:46,bin8926,35, -CTSPillarNetworkA,8927,8927,8927,1994-06-11,892.4000000001344,892.32916,2015-01-01 02:28:47,bin8927,75, -CTSPillarNetworkA,8928,8928,8928,1994-06-12,892.5000000001344,892.42914,2015-01-01 02:28:48,bin8928,35, -CTSPillarNetworkA,8929,8929,8929,1994-06-13,892.6000000001344,892.5291,2015-01-01 02:28:49,bin8929,75, -CTSPillarNetworkA,8930,8930,8930,1994-06-14,892.7000000001344,892.6291,2015-01-01 02:28:50,bin8930,35, -CTSPillarNetworkA,8931,8931,8931,1994-06-15,892.8000000001344,892.72906,2015-01-01 02:28:51,bin8931,75, -CTSPillarNetworkA,8932,8932,8932,1994-06-16,892.9000000001345,892.82904,2015-01-01 02:28:52,bin8932,35, -CTSPillarNetworkA,8933,8933,8933,1994-06-17,893.0000000001345,892.929,2015-01-01 02:28:53,bin8933,75, -CTSPillarNetworkA,8934,8934,8934,1994-06-18,893.1000000001345,893.029,2015-01-01 02:28:54,bin8934,35, -CTSPillarNetworkA,8935,8935,8935,1994-06-19,893.2000000001345,893.12897,2015-01-01 02:28:55,bin8935,75, -CTSPillarNetworkA,8936,8936,8936,1994-06-20,893.3000000001346,893.22894,2015-01-01 02:28:56,bin8936,35, -CTSPillarNetworkA,8937,8937,8937,1994-06-21,893.4000000001346,893.3289,2015-01-01 02:28:57,bin8937,75, -CTSPillarNetworkA,8938,8938,8938,1994-06-22,893.5000000001346,893.4289,2015-01-01 02:28:58,bin8938,35, -CTSPillarNetworkA,8939,8939,8939,1994-06-23,893.6000000001346,893.5289,2015-01-01 02:28:59,bin8939,75, -CTSPillarNetworkA,8940,8940,8940,1994-06-24,893.7000000001347,893.62885,2015-01-01 02:29:00,bin8940,35, -CTSPillarNetworkA,8941,8941,8941,1994-06-25,893.8000000001347,893.7288,2015-01-01 02:29:01,bin8941,75, -CTSPillarNetworkA,8942,8942,8942,1994-06-26,893.9000000001347,893.8288,2015-01-01 02:29:02,bin8942,35, -CTSPillarNetworkA,8943,8943,8943,1994-06-27,894.0000000001347,893.9288,2015-01-01 02:29:03,bin8943,75, -CTSPillarNetworkA,8944,8944,8944,1994-06-28,894.1000000001347,894.02875,2015-01-01 02:29:04,bin8944,35, -CTSPillarNetworkA,8945,8945,8945,1994-06-29,894.2000000001348,894.1287,2015-01-01 02:29:05,bin8945,75, -CTSPillarNetworkA,8946,8946,8946,1994-06-30,894.3000000001348,894.2287,2015-01-01 02:29:06,bin8946,35, -CTSPillarNetworkA,8947,8947,8947,1994-07-01,894.4000000001348,894.3287,2015-01-01 02:29:07,bin8947,75, -CTSPillarNetworkA,8948,8948,8948,1994-07-02,894.5000000001348,894.42865,2015-01-01 02:29:08,bin8948,35, -CTSPillarNetworkA,8949,8949,8949,1994-07-03,894.6000000001349,894.5286,2015-01-01 02:29:09,bin8949,75, -CTSPillarNetworkA,8950,8950,8950,1994-07-04,894.7000000001349,894.6286,2015-01-01 02:29:10,bin8950,35, -CTSPillarNetworkA,8951,8951,8951,1994-07-05,894.8000000001349,894.7286,2015-01-01 02:29:11,bin8951,75, -CTSPillarNetworkA,8952,8952,8952,1994-07-06,894.9000000001349,894.82855,2015-01-01 02:29:12,bin8952,35, -CTSPillarNetworkA,8953,8953,8953,1994-07-07,895.000000000135,894.9285,2015-01-01 02:29:13,bin8953,75, -CTSPillarNetworkA,8954,8954,8954,1994-07-08,895.100000000135,895.0285,2015-01-01 02:29:14,bin8954,35, -CTSPillarNetworkA,8955,8955,8955,1994-07-09,895.200000000135,895.1285,2015-01-01 02:29:15,bin8955,75, -CTSPillarNetworkA,8956,8956,8956,1994-07-10,895.300000000135,895.22845,2015-01-01 02:29:16,bin8956,35, -CTSPillarNetworkA,8957,8957,8957,1994-07-11,895.400000000135,895.3284,2015-01-01 02:29:17,bin8957,75, -CTSPillarNetworkA,8958,8958,8958,1994-07-12,895.5000000001351,895.4284,2015-01-01 02:29:18,bin8958,35, -CTSPillarNetworkA,8959,8959,8959,1994-07-13,895.6000000001351,895.5284,2015-01-01 02:29:19,bin8959,75, -CTSPillarNetworkA,8960,8960,8960,1994-07-14,895.7000000001351,895.62836,2015-01-01 02:29:20,bin8960,35, -CTSPillarNetworkA,8961,8961,8961,1994-07-15,895.8000000001351,895.72833,2015-01-01 02:29:21,bin8961,75, -CTSPillarNetworkA,8962,8962,8962,1994-07-16,895.9000000001352,895.8283,2015-01-01 02:29:22,bin8962,35, -CTSPillarNetworkA,8963,8963,8963,1994-07-17,896.0000000001352,895.9283,2015-01-01 02:29:23,bin8963,75, -CTSPillarNetworkA,8964,8964,8964,1994-07-18,896.1000000001352,896.02826,2015-01-01 02:29:24,bin8964,35, -CTSPillarNetworkA,8965,8965,8965,1994-07-19,896.2000000001352,896.12823,2015-01-01 02:29:25,bin8965,75, -CTSPillarNetworkA,8966,8966,8966,1994-07-20,896.3000000001352,896.2282,2015-01-01 02:29:26,bin8966,35, -CTSPillarNetworkA,8967,8967,8967,1994-07-21,896.4000000001353,896.3282,2015-01-01 02:29:27,bin8967,75, -CTSPillarNetworkA,8968,8968,8968,1994-07-22,896.5000000001353,896.42816,2015-01-01 02:29:28,bin8968,35, -CTSPillarNetworkA,8969,8969,8969,1994-07-23,896.6000000001353,896.52814,2015-01-01 02:29:29,bin8969,75, -CTSPillarNetworkA,8970,8970,8970,1994-07-24,896.7000000001353,896.6281,2015-01-01 02:29:30,bin8970,35, -CTSPillarNetworkA,8971,8971,8971,1994-07-25,896.8000000001354,896.7281,2015-01-01 02:29:31,bin8971,75, -CTSPillarNetworkA,8972,8972,8972,1994-07-26,896.9000000001354,896.82806,2015-01-01 02:29:32,bin8972,35, -CTSPillarNetworkA,8973,8973,8973,1994-07-27,897.0000000001354,896.92804,2015-01-01 02:29:33,bin8973,75, -CTSPillarNetworkA,8974,8974,8974,1994-07-28,897.1000000001354,897.028,2015-01-01 02:29:34,bin8974,35, -CTSPillarNetworkA,8975,8975,8975,1994-07-29,897.2000000001354,897.128,2015-01-01 02:29:35,bin8975,75, -CTSPillarNetworkA,8976,8976,8976,1994-07-30,897.3000000001355,897.22797,2015-01-01 02:29:36,bin8976,35, -CTSPillarNetworkA,8977,8977,8977,1994-07-31,897.4000000001355,897.32794,2015-01-01 02:29:37,bin8977,75, -CTSPillarNetworkA,8978,8978,8978,1994-08-01,897.5000000001355,897.4279,2015-01-01 02:29:38,bin8978,35, -CTSPillarNetworkA,8979,8979,8979,1994-08-02,897.6000000001355,897.5279,2015-01-01 02:29:39,bin8979,75, -CTSPillarNetworkA,8980,8980,8980,1994-08-03,897.7000000001356,897.62787,2015-01-01 02:29:40,bin8980,35, -CTSPillarNetworkA,8981,8981,8981,1994-08-04,897.8000000001356,897.72784,2015-01-01 02:29:41,bin8981,75, -CTSPillarNetworkA,8982,8982,8982,1994-08-05,897.9000000001356,897.8278,2015-01-01 02:29:42,bin8982,35, -CTSPillarNetworkA,8983,8983,8983,1994-08-06,898.0000000001356,897.9278,2015-01-01 02:29:43,bin8983,75, -CTSPillarNetworkA,8984,8984,8984,1994-08-07,898.1000000001357,898.0278,2015-01-01 02:29:44,bin8984,35, -CTSPillarNetworkA,8985,8985,8985,1994-08-08,898.2000000001357,898.12775,2015-01-01 02:29:45,bin8985,75, -CTSPillarNetworkA,8986,8986,8986,1994-08-09,898.3000000001357,898.2277,2015-01-01 02:29:46,bin8986,35, -CTSPillarNetworkA,8987,8987,8987,1994-08-10,898.4000000001357,898.3277,2015-01-01 02:29:47,bin8987,75, -CTSPillarNetworkA,8988,8988,8988,1994-08-11,898.5000000001357,898.4277,2015-01-01 02:29:48,bin8988,35, -CTSPillarNetworkA,8989,8989,8989,1994-08-12,898.6000000001358,898.52765,2015-01-01 02:29:49,bin8989,75, -CTSPillarNetworkA,8990,8990,8990,1994-08-13,898.7000000001358,898.6276,2015-01-01 02:29:50,bin8990,35, -CTSPillarNetworkA,8991,8991,8991,1994-08-14,898.8000000001358,898.7276,2015-01-01 02:29:51,bin8991,75, -CTSPillarNetworkA,8992,8992,8992,1994-08-15,898.9000000001358,898.8276,2015-01-01 02:29:52,bin8992,35, -CTSPillarNetworkA,8993,8993,8993,1994-08-16,899.0000000001359,898.92755,2015-01-01 02:29:53,bin8993,75, -CTSPillarNetworkA,8994,8994,8994,1994-08-17,899.1000000001359,899.0275,2015-01-01 02:29:54,bin8994,35, -CTSPillarNetworkA,8995,8995,8995,1994-08-18,899.2000000001359,899.1275,2015-01-01 02:29:55,bin8995,75, -CTSPillarNetworkA,8996,8996,8996,1994-08-19,899.3000000001359,899.2275,2015-01-01 02:29:56,bin8996,35, -CTSPillarNetworkA,8997,8997,8997,1994-08-20,899.400000000136,899.32745,2015-01-01 02:29:57,bin8997,75, -CTSPillarNetworkA,8998,8998,8998,1994-08-21,899.500000000136,899.4274,2015-01-01 02:29:58,bin8998,35, -CTSPillarNetworkA,8999,8999,8999,1994-08-22,899.600000000136,899.5274,2015-01-01 02:29:59,bin8999,75, -CTSPillarNetworkA,9000,9000,9000,1994-08-23,899.700000000136,899.6274,2015-01-01 02:30:00,bin9000,35, -CTSPillarNetworkA,9001,9001,9001,1994-08-24,899.800000000136,899.72736,2015-01-01 02:30:01,bin9001,75, -CTSPillarNetworkA,9002,9002,9002,1994-08-25,899.9000000001361,899.82733,2015-01-01 02:30:02,bin9002,35, -CTSPillarNetworkA,9003,9003,9003,1994-08-26,900.0000000001361,899.9273,2015-01-01 02:30:03,bin9003,75, -CTSPillarNetworkA,9004,9004,9004,1994-08-27,900.1000000001361,900.0273,2015-01-01 02:30:04,bin9004,35, -CTSPillarNetworkA,9005,9005,9005,1994-08-28,900.2000000001361,900.12726,2015-01-01 02:30:05,bin9005,75, -CTSPillarNetworkA,9006,9006,9006,1994-08-29,900.3000000001362,900.22723,2015-01-01 02:30:06,bin9006,35, -CTSPillarNetworkA,9007,9007,9007,1994-08-30,900.4000000001362,900.3272,2015-01-01 02:30:07,bin9007,75, -CTSPillarNetworkA,9008,9008,9008,1994-08-31,900.5000000001362,900.4272,2015-01-01 02:30:08,bin9008,35, -CTSPillarNetworkA,9009,9009,9009,1994-09-01,900.6000000001362,900.52716,2015-01-01 02:30:09,bin9009,75, -CTSPillarNetworkA,9010,9010,9010,1994-09-02,900.7000000001362,900.62714,2015-01-01 02:30:10,bin9010,35, -CTSPillarNetworkA,9011,9011,9011,1994-09-03,900.8000000001363,900.7271,2015-01-01 02:30:11,bin9011,75, -CTSPillarNetworkA,9012,9012,9012,1994-09-04,900.9000000001363,900.8271,2015-01-01 02:30:12,bin9012,35, -CTSPillarNetworkA,9013,9013,9013,1994-09-05,901.0000000001363,900.92706,2015-01-01 02:30:13,bin9013,75, -CTSPillarNetworkA,9014,9014,9014,1994-09-06,901.1000000001363,901.02704,2015-01-01 02:30:14,bin9014,35, -CTSPillarNetworkA,9015,9015,9015,1994-09-07,901.2000000001364,901.127,2015-01-01 02:30:15,bin9015,75, -CTSPillarNetworkA,9016,9016,9016,1994-09-08,901.3000000001364,901.227,2015-01-01 02:30:16,bin9016,35, -CTSPillarNetworkA,9017,9017,9017,1994-09-09,901.4000000001364,901.32697,2015-01-01 02:30:17,bin9017,75, -CTSPillarNetworkA,9018,9018,9018,1994-09-10,901.5000000001364,901.42694,2015-01-01 02:30:18,bin9018,35, -CTSPillarNetworkA,9019,9019,9019,1994-09-11,901.6000000001364,901.5269,2015-01-01 02:30:19,bin9019,75, -CTSPillarNetworkA,9020,9020,9020,1994-09-12,901.7000000001365,901.6269,2015-01-01 02:30:20,bin9020,35, -CTSPillarNetworkA,9021,9021,9021,1994-09-13,901.8000000001365,901.72687,2015-01-01 02:30:21,bin9021,75, -CTSPillarNetworkA,9022,9022,9022,1994-09-14,901.9000000001365,901.82684,2015-01-01 02:30:22,bin9022,35, -CTSPillarNetworkA,9023,9023,9023,1994-09-15,902.0000000001365,901.9268,2015-01-01 02:30:23,bin9023,75, -CTSPillarNetworkA,9024,9024,9024,1994-09-16,902.1000000001366,902.0268,2015-01-01 02:30:24,bin9024,35, -CTSPillarNetworkA,9025,9025,9025,1994-09-17,902.2000000001366,902.1268,2015-01-01 02:30:25,bin9025,75, -CTSPillarNetworkA,9026,9026,9026,1994-09-18,902.3000000001366,902.22675,2015-01-01 02:30:26,bin9026,35, -CTSPillarNetworkA,9027,9027,9027,1994-09-19,902.4000000001366,902.3267,2015-01-01 02:30:27,bin9027,75, -CTSPillarNetworkA,9028,9028,9028,1994-09-20,902.5000000001367,902.4267,2015-01-01 02:30:28,bin9028,35, -CTSPillarNetworkA,9029,9029,9029,1994-09-21,902.6000000001367,902.5267,2015-01-01 02:30:29,bin9029,75, -CTSPillarNetworkA,9030,9030,9030,1994-09-22,902.7000000001367,902.62665,2015-01-01 02:30:30,bin9030,35, -CTSPillarNetworkA,9031,9031,9031,1994-09-23,902.8000000001367,902.7266,2015-01-01 02:30:31,bin9031,75, -CTSPillarNetworkA,9032,9032,9032,1994-09-24,902.9000000001367,902.8266,2015-01-01 02:30:32,bin9032,35, -CTSPillarNetworkA,9033,9033,9033,1994-09-25,903.0000000001368,902.9266,2015-01-01 02:30:33,bin9033,75, -CTSPillarNetworkA,9034,9034,9034,1994-09-26,903.1000000001368,903.02655,2015-01-01 02:30:34,bin9034,35, -CTSPillarNetworkA,9035,9035,9035,1994-09-27,903.2000000001368,903.1265,2015-01-01 02:30:35,bin9035,75, -CTSPillarNetworkA,9036,9036,9036,1994-09-28,903.3000000001368,903.2265,2015-01-01 02:30:36,bin9036,35, -CTSPillarNetworkA,9037,9037,9037,1994-09-29,903.4000000001369,903.3265,2015-01-01 02:30:37,bin9037,75, -CTSPillarNetworkA,9038,9038,9038,1994-09-30,903.5000000001369,903.42645,2015-01-01 02:30:38,bin9038,35, -CTSPillarNetworkA,9039,9039,9039,1994-10-01,903.6000000001369,903.5264,2015-01-01 02:30:39,bin9039,75, -CTSPillarNetworkA,9040,9040,9040,1994-10-02,903.7000000001369,903.6264,2015-01-01 02:30:40,bin9040,35, -CTSPillarNetworkA,9041,9041,9041,1994-10-03,903.800000000137,903.7264,2015-01-01 02:30:41,bin9041,75, -CTSPillarNetworkA,9042,9042,9042,1994-10-04,903.900000000137,903.82635,2015-01-01 02:30:42,bin9042,35, -CTSPillarNetworkA,9043,9043,9043,1994-10-05,904.000000000137,903.92633,2015-01-01 02:30:43,bin9043,75, -CTSPillarNetworkA,9044,9044,9044,1994-10-06,904.100000000137,904.0263,2015-01-01 02:30:44,bin9044,35, -CTSPillarNetworkA,9045,9045,9045,1994-10-07,904.200000000137,904.1263,2015-01-01 02:30:45,bin9045,75, -CTSPillarNetworkA,9046,9046,9046,1994-10-08,904.3000000001371,904.22626,2015-01-01 02:30:46,bin9046,35, -CTSPillarNetworkA,9047,9047,9047,1994-10-09,904.4000000001371,904.32623,2015-01-01 02:30:47,bin9047,75, -CTSPillarNetworkA,9048,9048,9048,1994-10-10,904.5000000001371,904.4262,2015-01-01 02:30:48,bin9048,35, -CTSPillarNetworkA,9049,9049,9049,1994-10-11,904.6000000001371,904.5262,2015-01-01 02:30:49,bin9049,75, -CTSPillarNetworkA,9050,9050,9050,1994-10-12,904.7000000001372,904.62616,2015-01-01 02:30:50,bin9050,35, -CTSPillarNetworkA,9051,9051,9051,1994-10-13,904.8000000001372,904.72614,2015-01-01 02:30:51,bin9051,75, -CTSPillarNetworkA,9052,9052,9052,1994-10-14,904.9000000001372,904.8261,2015-01-01 02:30:52,bin9052,35, -CTSPillarNetworkA,9053,9053,9053,1994-10-15,905.0000000001372,904.9261,2015-01-01 02:30:53,bin9053,75, -CTSPillarNetworkA,9054,9054,9054,1994-10-16,905.1000000001372,905.02606,2015-01-01 02:30:54,bin9054,35, -CTSPillarNetworkA,9055,9055,9055,1994-10-17,905.2000000001373,905.12604,2015-01-01 02:30:55,bin9055,75, -CTSPillarNetworkA,9056,9056,9056,1994-10-18,905.3000000001373,905.226,2015-01-01 02:30:56,bin9056,35, -CTSPillarNetworkA,9057,9057,9057,1994-10-19,905.4000000001373,905.326,2015-01-01 02:30:57,bin9057,75, -CTSPillarNetworkA,9058,9058,9058,1994-10-20,905.5000000001373,905.42596,2015-01-01 02:30:58,bin9058,35, -CTSPillarNetworkA,9059,9059,9059,1994-10-21,905.6000000001374,905.52594,2015-01-01 02:30:59,bin9059,75, -CTSPillarNetworkA,9060,9060,9060,1994-10-22,905.7000000001374,905.6259,2015-01-01 02:31:00,bin9060,35, -CTSPillarNetworkA,9061,9061,9061,1994-10-23,905.8000000001374,905.7259,2015-01-01 02:31:01,bin9061,75, -CTSPillarNetworkA,9062,9062,9062,1994-10-24,905.9000000001374,905.82587,2015-01-01 02:31:02,bin9062,35, -CTSPillarNetworkA,9063,9063,9063,1994-10-25,906.0000000001374,905.92584,2015-01-01 02:31:03,bin9063,75, -CTSPillarNetworkA,9064,9064,9064,1994-10-26,906.1000000001375,906.0258,2015-01-01 02:31:04,bin9064,35, -CTSPillarNetworkA,9065,9065,9065,1994-10-27,906.2000000001375,906.1258,2015-01-01 02:31:05,bin9065,75, -CTSPillarNetworkA,9066,9066,9066,1994-10-28,906.3000000001375,906.22577,2015-01-01 02:31:06,bin9066,35, -CTSPillarNetworkA,9067,9067,9067,1994-10-29,906.4000000001375,906.32574,2015-01-01 02:31:07,bin9067,75, -CTSPillarNetworkA,9068,9068,9068,1994-10-30,906.5000000001376,906.4257,2015-01-01 02:31:08,bin9068,35, -CTSPillarNetworkA,9069,9069,9069,1994-10-31,906.6000000001376,906.5257,2015-01-01 02:31:09,bin9069,75, -CTSPillarNetworkA,9070,9070,9070,1994-11-01,906.7000000001376,906.6257,2015-01-01 02:31:10,bin9070,35, -CTSPillarNetworkA,9071,9071,9071,1994-11-02,906.8000000001376,906.72565,2015-01-01 02:31:11,bin9071,75, -CTSPillarNetworkA,9072,9072,9072,1994-11-03,906.9000000001377,906.8256,2015-01-01 02:31:12,bin9072,35, -CTSPillarNetworkA,9073,9073,9073,1994-11-04,907.0000000001377,906.9256,2015-01-01 02:31:13,bin9073,75, -CTSPillarNetworkA,9074,9074,9074,1994-11-05,907.1000000001377,907.0256,2015-01-01 02:31:14,bin9074,35, -CTSPillarNetworkA,9075,9075,9075,1994-11-06,907.2000000001377,907.12555,2015-01-01 02:31:15,bin9075,75, -CTSPillarNetworkA,9076,9076,9076,1994-11-07,907.3000000001377,907.2255,2015-01-01 02:31:16,bin9076,35, -CTSPillarNetworkA,9077,9077,9077,1994-11-08,907.4000000001378,907.3255,2015-01-01 02:31:17,bin9077,75, -CTSPillarNetworkA,9078,9078,9078,1994-11-09,907.5000000001378,907.4255,2015-01-01 02:31:18,bin9078,35, -CTSPillarNetworkA,9079,9079,9079,1994-11-10,907.6000000001378,907.52545,2015-01-01 02:31:19,bin9079,75, -CTSPillarNetworkA,9080,9080,9080,1994-11-11,907.7000000001378,907.6254,2015-01-01 02:31:20,bin9080,35, -CTSPillarNetworkA,9081,9081,9081,1994-11-12,907.8000000001379,907.7254,2015-01-01 02:31:21,bin9081,75, -CTSPillarNetworkA,9082,9082,9082,1994-11-13,907.9000000001379,907.8254,2015-01-01 02:31:22,bin9082,35, -CTSPillarNetworkA,9083,9083,9083,1994-11-14,908.0000000001379,907.92535,2015-01-01 02:31:23,bin9083,75, -CTSPillarNetworkA,9084,9084,9084,1994-11-15,908.1000000001379,908.0253,2015-01-01 02:31:24,bin9084,35, -CTSPillarNetworkA,9085,9085,9085,1994-11-16,908.200000000138,908.1253,2015-01-01 02:31:25,bin9085,75, -CTSPillarNetworkA,9086,9086,9086,1994-11-17,908.300000000138,908.2253,2015-01-01 02:31:26,bin9086,35, -CTSPillarNetworkA,9087,9087,9087,1994-11-18,908.400000000138,908.32526,2015-01-01 02:31:27,bin9087,75, -CTSPillarNetworkA,9088,9088,9088,1994-11-19,908.500000000138,908.42523,2015-01-01 02:31:28,bin9088,35, -CTSPillarNetworkA,9089,9089,9089,1994-11-20,908.600000000138,908.5252,2015-01-01 02:31:29,bin9089,75, -CTSPillarNetworkA,9090,9090,9090,1994-11-21,908.7000000001381,908.6252,2015-01-01 02:31:30,bin9090,35, -CTSPillarNetworkA,9091,9091,9091,1994-11-22,908.8000000001381,908.72516,2015-01-01 02:31:31,bin9091,75, -CTSPillarNetworkA,9092,9092,9092,1994-11-23,908.9000000001381,908.82513,2015-01-01 02:31:32,bin9092,35, -CTSPillarNetworkA,9093,9093,9093,1994-11-24,909.0000000001381,908.9251,2015-01-01 02:31:33,bin9093,75, -CTSPillarNetworkA,9094,9094,9094,1994-11-25,909.1000000001382,909.0251,2015-01-01 02:31:34,bin9094,35, -CTSPillarNetworkA,9095,9095,9095,1994-11-26,909.2000000001382,909.12506,2015-01-01 02:31:35,bin9095,75, -CTSPillarNetworkA,9096,9096,9096,1994-11-27,909.3000000001382,909.22504,2015-01-01 02:31:36,bin9096,35, -CTSPillarNetworkA,9097,9097,9097,1994-11-28,909.4000000001382,909.325,2015-01-01 02:31:37,bin9097,75, -CTSPillarNetworkA,9098,9098,9098,1994-11-29,909.5000000001382,909.425,2015-01-01 02:31:38,bin9098,35, -CTSPillarNetworkA,9099,9099,9099,1994-11-30,909.6000000001383,909.52496,2015-01-01 02:31:39,bin9099,75, -CTSPillarNetworkA,9100,9100,9100,1994-12-01,909.7000000001383,909.62494,2015-01-01 02:31:40,bin9100,35, -CTSPillarNetworkA,9101,9101,9101,1994-12-02,909.8000000001383,909.7249,2015-01-01 02:31:41,bin9101,75, -CTSPillarNetworkA,9102,9102,9102,1994-12-03,909.9000000001383,909.8249,2015-01-01 02:31:42,bin9102,35, -CTSPillarNetworkA,9103,9103,9103,1994-12-04,910.0000000001384,909.92487,2015-01-01 02:31:43,bin9103,75, -CTSPillarNetworkA,9104,9104,9104,1994-12-05,910.1000000001384,910.02484,2015-01-01 02:31:44,bin9104,35, -CTSPillarNetworkA,9105,9105,9105,1994-12-06,910.2000000001384,910.1248,2015-01-01 02:31:45,bin9105,75, -CTSPillarNetworkA,9106,9106,9106,1994-12-07,910.3000000001384,910.2248,2015-01-01 02:31:46,bin9106,35, -CTSPillarNetworkA,9107,9107,9107,1994-12-08,910.4000000001384,910.32477,2015-01-01 02:31:47,bin9107,75, -CTSPillarNetworkA,9108,9108,9108,1994-12-09,910.5000000001385,910.42474,2015-01-01 02:31:48,bin9108,35, -CTSPillarNetworkA,9109,9109,9109,1994-12-10,910.6000000001385,910.5247,2015-01-01 02:31:49,bin9109,75, -CTSPillarNetworkA,9110,9110,9110,1994-12-11,910.7000000001385,910.6247,2015-01-01 02:31:50,bin9110,35, -CTSPillarNetworkA,9111,9111,9111,1994-12-12,910.8000000001385,910.7247,2015-01-01 02:31:51,bin9111,75, -CTSPillarNetworkA,9112,9112,9112,1994-12-13,910.9000000001386,910.82465,2015-01-01 02:31:52,bin9112,35, -CTSPillarNetworkA,9113,9113,9113,1994-12-14,911.0000000001386,910.9246,2015-01-01 02:31:53,bin9113,75, -CTSPillarNetworkA,9114,9114,9114,1994-12-15,911.1000000001386,911.0246,2015-01-01 02:31:54,bin9114,35, -CTSPillarNetworkA,9115,9115,9115,1994-12-16,911.2000000001386,911.1246,2015-01-01 02:31:55,bin9115,75, -CTSPillarNetworkA,9116,9116,9116,1994-12-17,911.3000000001387,911.22455,2015-01-01 02:31:56,bin9116,35, -CTSPillarNetworkA,9117,9117,9117,1994-12-18,911.4000000001387,911.3245,2015-01-01 02:31:57,bin9117,75, -CTSPillarNetworkA,9118,9118,9118,1994-12-19,911.5000000001387,911.4245,2015-01-01 02:31:58,bin9118,35, -CTSPillarNetworkA,9119,9119,9119,1994-12-20,911.6000000001387,911.5245,2015-01-01 02:31:59,bin9119,75, -CTSPillarNetworkA,9120,9120,9120,1994-12-21,911.7000000001387,911.62445,2015-01-01 02:32:00,bin9120,35, -CTSPillarNetworkA,9121,9121,9121,1994-12-22,911.8000000001388,911.7244,2015-01-01 02:32:01,bin9121,75, -CTSPillarNetworkA,9122,9122,9122,1994-12-23,911.9000000001388,911.8244,2015-01-01 02:32:02,bin9122,35, -CTSPillarNetworkA,9123,9123,9123,1994-12-24,912.0000000001388,911.9244,2015-01-01 02:32:03,bin9123,75, -CTSPillarNetworkA,9124,9124,9124,1994-12-25,912.1000000001388,912.02435,2015-01-01 02:32:04,bin9124,35, -CTSPillarNetworkA,9125,9125,9125,1994-12-26,912.2000000001389,912.1243,2015-01-01 02:32:05,bin9125,75, -CTSPillarNetworkA,9126,9126,9126,1994-12-27,912.3000000001389,912.2243,2015-01-01 02:32:06,bin9126,35, -CTSPillarNetworkA,9127,9127,9127,1994-12-28,912.4000000001389,912.3243,2015-01-01 02:32:07,bin9127,75, -CTSPillarNetworkA,9128,9128,9128,1994-12-29,912.5000000001389,912.42426,2015-01-01 02:32:08,bin9128,35, -CTSPillarNetworkA,9129,9129,9129,1994-12-30,912.600000000139,912.52423,2015-01-01 02:32:09,bin9129,75, -CTSPillarNetworkA,9130,9130,9130,1994-12-31,912.700000000139,912.6242,2015-01-01 02:32:10,bin9130,35, -CTSPillarNetworkA,9131,9131,9131,1995-01-01,912.800000000139,912.7242,2015-01-01 02:32:11,bin9131,75, -CTSPillarNetworkA,9132,9132,9132,1995-01-02,912.900000000139,912.82416,2015-01-01 02:32:12,bin9132,35, -CTSPillarNetworkA,9133,9133,9133,1995-01-03,913.000000000139,912.92413,2015-01-01 02:32:13,bin9133,75, -CTSPillarNetworkA,9134,9134,9134,1995-01-04,913.1000000001391,913.0241,2015-01-01 02:32:14,bin9134,35, -CTSPillarNetworkA,9135,9135,9135,1995-01-05,913.2000000001391,913.1241,2015-01-01 02:32:15,bin9135,75, -CTSPillarNetworkA,9136,9136,9136,1995-01-06,913.3000000001391,913.22406,2015-01-01 02:32:16,bin9136,35, -CTSPillarNetworkA,9137,9137,9137,1995-01-07,913.4000000001391,913.32404,2015-01-01 02:32:17,bin9137,75, -CTSPillarNetworkA,9138,9138,9138,1995-01-08,913.5000000001392,913.424,2015-01-01 02:32:18,bin9138,35, -CTSPillarNetworkA,9139,9139,9139,1995-01-09,913.6000000001392,913.524,2015-01-01 02:32:19,bin9139,75, -CTSPillarNetworkA,9140,9140,9140,1995-01-10,913.7000000001392,913.62396,2015-01-01 02:32:20,bin9140,35, -CTSPillarNetworkA,9141,9141,9141,1995-01-11,913.8000000001392,913.72394,2015-01-01 02:32:21,bin9141,75, -CTSPillarNetworkA,9142,9142,9142,1995-01-12,913.9000000001392,913.8239,2015-01-01 02:32:22,bin9142,35, -CTSPillarNetworkA,9143,9143,9143,1995-01-13,914.0000000001393,913.9239,2015-01-01 02:32:23,bin9143,75, -CTSPillarNetworkA,9144,9144,9144,1995-01-14,914.1000000001393,914.02386,2015-01-01 02:32:24,bin9144,35, -CTSPillarNetworkA,9145,9145,9145,1995-01-15,914.2000000001393,914.12384,2015-01-01 02:32:25,bin9145,75, -CTSPillarNetworkA,9146,9146,9146,1995-01-16,914.3000000001393,914.2238,2015-01-01 02:32:26,bin9146,35, -CTSPillarNetworkA,9147,9147,9147,1995-01-17,914.4000000001394,914.3238,2015-01-01 02:32:27,bin9147,75, -CTSPillarNetworkA,9148,9148,9148,1995-01-18,914.5000000001394,914.42377,2015-01-01 02:32:28,bin9148,35, -CTSPillarNetworkA,9149,9149,9149,1995-01-19,914.6000000001394,914.52374,2015-01-01 02:32:29,bin9149,75, -CTSPillarNetworkA,9150,9150,9150,1995-01-20,914.7000000001394,914.6237,2015-01-01 02:32:30,bin9150,35, -CTSPillarNetworkA,9151,9151,9151,1995-01-21,914.8000000001394,914.7237,2015-01-01 02:32:31,bin9151,75, -CTSPillarNetworkA,9152,9152,9152,1995-01-22,914.9000000001395,914.82367,2015-01-01 02:32:32,bin9152,35, -CTSPillarNetworkA,9153,9153,9153,1995-01-23,915.0000000001395,914.92365,2015-01-01 02:32:33,bin9153,75, -CTSPillarNetworkA,9154,9154,9154,1995-01-24,915.1000000001395,915.0236,2015-01-01 02:32:34,bin9154,35, -CTSPillarNetworkA,9155,9155,9155,1995-01-25,915.2000000001395,915.1236,2015-01-01 02:32:35,bin9155,75, -CTSPillarNetworkA,9156,9156,9156,1995-01-26,915.3000000001396,915.2236,2015-01-01 02:32:36,bin9156,35, -CTSPillarNetworkA,9157,9157,9157,1995-01-27,915.4000000001396,915.32355,2015-01-01 02:32:37,bin9157,75, -CTSPillarNetworkA,9158,9158,9158,1995-01-28,915.5000000001396,915.4235,2015-01-01 02:32:38,bin9158,35, -CTSPillarNetworkA,9159,9159,9159,1995-01-29,915.6000000001396,915.5235,2015-01-01 02:32:39,bin9159,75, -CTSPillarNetworkA,9160,9160,9160,1995-01-30,915.7000000001397,915.6235,2015-01-01 02:32:40,bin9160,35, -CTSPillarNetworkA,9161,9161,9161,1995-01-31,915.8000000001397,915.72345,2015-01-01 02:32:41,bin9161,75, -CTSPillarNetworkA,9162,9162,9162,1995-02-01,915.9000000001397,915.8234,2015-01-01 02:32:42,bin9162,35, -CTSPillarNetworkA,9163,9163,9163,1995-02-02,916.0000000001397,915.9234,2015-01-01 02:32:43,bin9163,75, -CTSPillarNetworkA,9164,9164,9164,1995-02-03,916.1000000001397,916.0234,2015-01-01 02:32:44,bin9164,35, -CTSPillarNetworkA,9165,9165,9165,1995-02-04,916.2000000001398,916.12335,2015-01-01 02:32:45,bin9165,75, -CTSPillarNetworkA,9166,9166,9166,1995-02-05,916.3000000001398,916.2233,2015-01-01 02:32:46,bin9166,35, -CTSPillarNetworkA,9167,9167,9167,1995-02-06,916.4000000001398,916.3233,2015-01-01 02:32:47,bin9167,75, -CTSPillarNetworkA,9168,9168,9168,1995-02-07,916.5000000001398,916.4233,2015-01-01 02:32:48,bin9168,35, -CTSPillarNetworkA,9169,9169,9169,1995-02-08,916.6000000001399,916.52325,2015-01-01 02:32:49,bin9169,75, -CTSPillarNetworkA,9170,9170,9170,1995-02-09,916.7000000001399,916.6232,2015-01-01 02:32:50,bin9170,35, -CTSPillarNetworkA,9171,9171,9171,1995-02-10,916.8000000001399,916.7232,2015-01-01 02:32:51,bin9171,75, -CTSPillarNetworkA,9172,9172,9172,1995-02-11,916.9000000001399,916.8232,2015-01-01 02:32:52,bin9172,35, -CTSPillarNetworkA,9173,9173,9173,1995-02-12,917.00000000014,916.92316,2015-01-01 02:32:53,bin9173,75, -CTSPillarNetworkA,9174,9174,9174,1995-02-13,917.10000000014,917.02313,2015-01-01 02:32:54,bin9174,35, -CTSPillarNetworkA,9175,9175,9175,1995-02-14,917.20000000014,917.1231,2015-01-01 02:32:55,bin9175,75, -CTSPillarNetworkA,9176,9176,9176,1995-02-15,917.30000000014,917.2231,2015-01-01 02:32:56,bin9176,35, -CTSPillarNetworkA,9177,9177,9177,1995-02-16,917.40000000014,917.32306,2015-01-01 02:32:57,bin9177,75, -CTSPillarNetworkA,9178,9178,9178,1995-02-17,917.5000000001401,917.42303,2015-01-01 02:32:58,bin9178,35, -CTSPillarNetworkA,9179,9179,9179,1995-02-18,917.6000000001401,917.523,2015-01-01 02:32:59,bin9179,75, -CTSPillarNetworkA,9180,9180,9180,1995-02-19,917.7000000001401,917.623,2015-01-01 02:33:00,bin9180,35, -CTSPillarNetworkA,9181,9181,9181,1995-02-20,917.8000000001401,917.72296,2015-01-01 02:33:01,bin9181,75, -CTSPillarNetworkA,9182,9182,9182,1995-02-21,917.9000000001402,917.82294,2015-01-01 02:33:02,bin9182,35, -CTSPillarNetworkA,9183,9183,9183,1995-02-22,918.0000000001402,917.9229,2015-01-01 02:33:03,bin9183,75, -CTSPillarNetworkA,9184,9184,9184,1995-02-23,918.1000000001402,918.0229,2015-01-01 02:33:04,bin9184,35, -CTSPillarNetworkA,9185,9185,9185,1995-02-24,918.2000000001402,918.12286,2015-01-01 02:33:05,bin9185,75, -CTSPillarNetworkA,9186,9186,9186,1995-02-25,918.3000000001402,918.22284,2015-01-01 02:33:06,bin9186,35, -CTSPillarNetworkA,9187,9187,9187,1995-02-26,918.4000000001403,918.3228,2015-01-01 02:33:07,bin9187,75, -CTSPillarNetworkA,9188,9188,9188,1995-02-27,918.5000000001403,918.4228,2015-01-01 02:33:08,bin9188,35, -CTSPillarNetworkA,9189,9189,9189,1995-02-28,918.6000000001403,918.52277,2015-01-01 02:33:09,bin9189,75, -CTSPillarNetworkA,9190,9190,9190,1995-03-01,918.7000000001403,918.62274,2015-01-01 02:33:10,bin9190,35, -CTSPillarNetworkA,9191,9191,9191,1995-03-02,918.8000000001404,918.7227,2015-01-01 02:33:11,bin9191,75, -CTSPillarNetworkA,9192,9192,9192,1995-03-03,918.9000000001404,918.8227,2015-01-01 02:33:12,bin9192,35, -CTSPillarNetworkA,9193,9193,9193,1995-03-04,919.0000000001404,918.92267,2015-01-01 02:33:13,bin9193,75, -CTSPillarNetworkA,9194,9194,9194,1995-03-05,919.1000000001404,919.02264,2015-01-01 02:33:14,bin9194,35, -CTSPillarNetworkA,9195,9195,9195,1995-03-06,919.2000000001404,919.1226,2015-01-01 02:33:15,bin9195,75, -CTSPillarNetworkA,9196,9196,9196,1995-03-07,919.3000000001405,919.2226,2015-01-01 02:33:16,bin9196,35, -CTSPillarNetworkA,9197,9197,9197,1995-03-08,919.4000000001405,919.3226,2015-01-01 02:33:17,bin9197,75, -CTSPillarNetworkA,9198,9198,9198,1995-03-09,919.5000000001405,919.42255,2015-01-01 02:33:18,bin9198,35, -CTSPillarNetworkA,9199,9199,9199,1995-03-10,919.6000000001405,919.5225,2015-01-01 02:33:19,bin9199,75, -CTSPillarNetworkA,9200,9200,9200,1995-03-11,919.7000000001406,919.6225,2015-01-01 02:33:20,bin9200,35, -CTSPillarNetworkA,9201,9201,9201,1995-03-12,919.8000000001406,919.7225,2015-01-01 02:33:21,bin9201,75, -CTSPillarNetworkA,9202,9202,9202,1995-03-13,919.9000000001406,919.82245,2015-01-01 02:33:22,bin9202,35, -CTSPillarNetworkA,9203,9203,9203,1995-03-14,920.0000000001406,919.9224,2015-01-01 02:33:23,bin9203,75, -CTSPillarNetworkA,9204,9204,9204,1995-03-15,920.1000000001407,920.0224,2015-01-01 02:33:24,bin9204,35, -CTSPillarNetworkA,9205,9205,9205,1995-03-16,920.2000000001407,920.1224,2015-01-01 02:33:25,bin9205,75, -CTSPillarNetworkA,9206,9206,9206,1995-03-17,920.3000000001407,920.22235,2015-01-01 02:33:26,bin9206,35, -CTSPillarNetworkA,9207,9207,9207,1995-03-18,920.4000000001407,920.3223,2015-01-01 02:33:27,bin9207,75, -CTSPillarNetworkA,9208,9208,9208,1995-03-19,920.5000000001407,920.4223,2015-01-01 02:33:28,bin9208,35, -CTSPillarNetworkA,9209,9209,9209,1995-03-20,920.6000000001408,920.5223,2015-01-01 02:33:29,bin9209,75, -CTSPillarNetworkA,9210,9210,9210,1995-03-21,920.7000000001408,920.62225,2015-01-01 02:33:30,bin9210,35, -CTSPillarNetworkA,9211,9211,9211,1995-03-22,920.8000000001408,920.7222,2015-01-01 02:33:31,bin9211,75, -CTSPillarNetworkA,9212,9212,9212,1995-03-23,920.9000000001408,920.8222,2015-01-01 02:33:32,bin9212,35, -CTSPillarNetworkA,9213,9213,9213,1995-03-24,921.0000000001409,920.9222,2015-01-01 02:33:33,bin9213,75, -CTSPillarNetworkA,9214,9214,9214,1995-03-25,921.1000000001409,921.02216,2015-01-01 02:33:34,bin9214,35, -CTSPillarNetworkA,9215,9215,9215,1995-03-26,921.2000000001409,921.12213,2015-01-01 02:33:35,bin9215,75, -CTSPillarNetworkA,9216,9216,9216,1995-03-27,921.3000000001409,921.2221,2015-01-01 02:33:36,bin9216,35, -CTSPillarNetworkA,9217,9217,9217,1995-03-28,921.400000000141,921.3221,2015-01-01 02:33:37,bin9217,75, -CTSPillarNetworkA,9218,9218,9218,1995-03-29,921.500000000141,921.42206,2015-01-01 02:33:38,bin9218,35, -CTSPillarNetworkA,9219,9219,9219,1995-03-30,921.600000000141,921.52203,2015-01-01 02:33:39,bin9219,75, -CTSPillarNetworkA,9220,9220,9220,1995-03-31,921.700000000141,921.622,2015-01-01 02:33:40,bin9220,35, -CTSPillarNetworkA,9221,9221,9221,1995-04-01,921.800000000141,921.722,2015-01-01 02:33:41,bin9221,75, -CTSPillarNetworkA,9222,9222,9222,1995-04-02,921.9000000001411,921.82196,2015-01-01 02:33:42,bin9222,35, -CTSPillarNetworkA,9223,9223,9223,1995-04-03,922.0000000001411,921.92194,2015-01-01 02:33:43,bin9223,75, -CTSPillarNetworkA,9224,9224,9224,1995-04-04,922.1000000001411,922.0219,2015-01-01 02:33:44,bin9224,35, -CTSPillarNetworkA,9225,9225,9225,1995-04-05,922.2000000001411,922.1219,2015-01-01 02:33:45,bin9225,75, -CTSPillarNetworkA,9226,9226,9226,1995-04-06,922.3000000001412,922.22186,2015-01-01 02:33:46,bin9226,35, -CTSPillarNetworkA,9227,9227,9227,1995-04-07,922.4000000001412,922.32184,2015-01-01 02:33:47,bin9227,75, -CTSPillarNetworkA,9228,9228,9228,1995-04-08,922.5000000001412,922.4218,2015-01-01 02:33:48,bin9228,35, -CTSPillarNetworkA,9229,9229,9229,1995-04-09,922.6000000001412,922.5218,2015-01-01 02:33:49,bin9229,75, -CTSPillarNetworkA,9230,9230,9230,1995-04-10,922.7000000001412,922.62177,2015-01-01 02:33:50,bin9230,35, -CTSPillarNetworkA,9231,9231,9231,1995-04-11,922.8000000001413,922.72174,2015-01-01 02:33:51,bin9231,75, -CTSPillarNetworkA,9232,9232,9232,1995-04-12,922.9000000001413,922.8217,2015-01-01 02:33:52,bin9232,35, -CTSPillarNetworkA,9233,9233,9233,1995-04-13,923.0000000001413,922.9217,2015-01-01 02:33:53,bin9233,75, -CTSPillarNetworkA,9234,9234,9234,1995-04-14,923.1000000001413,923.02167,2015-01-01 02:33:54,bin9234,35, -CTSPillarNetworkA,9235,9235,9235,1995-04-15,923.2000000001414,923.12164,2015-01-01 02:33:55,bin9235,75, -CTSPillarNetworkA,9236,9236,9236,1995-04-16,923.3000000001414,923.2216,2015-01-01 02:33:56,bin9236,35, -CTSPillarNetworkA,9237,9237,9237,1995-04-17,923.4000000001414,923.3216,2015-01-01 02:33:57,bin9237,75, -CTSPillarNetworkA,9238,9238,9238,1995-04-18,923.5000000001414,923.4216,2015-01-01 02:33:58,bin9238,35, -CTSPillarNetworkA,9239,9239,9239,1995-04-19,923.6000000001414,923.52155,2015-01-01 02:33:59,bin9239,75, -CTSPillarNetworkA,9240,9240,9240,1995-04-20,923.7000000001415,923.6215,2015-01-01 02:34:00,bin9240,35, -CTSPillarNetworkA,9241,9241,9241,1995-04-21,923.8000000001415,923.7215,2015-01-01 02:34:01,bin9241,75, -CTSPillarNetworkA,9242,9242,9242,1995-04-22,923.9000000001415,923.8215,2015-01-01 02:34:02,bin9242,35, -CTSPillarNetworkA,9243,9243,9243,1995-04-23,924.0000000001415,923.92145,2015-01-01 02:34:03,bin9243,75, -CTSPillarNetworkA,9244,9244,9244,1995-04-24,924.1000000001416,924.0214,2015-01-01 02:34:04,bin9244,35, -CTSPillarNetworkA,9245,9245,9245,1995-04-25,924.2000000001416,924.1214,2015-01-01 02:34:05,bin9245,75, -CTSPillarNetworkA,9246,9246,9246,1995-04-26,924.3000000001416,924.2214,2015-01-01 02:34:06,bin9246,35, -CTSPillarNetworkA,9247,9247,9247,1995-04-27,924.4000000001416,924.32135,2015-01-01 02:34:07,bin9247,75, -CTSPillarNetworkA,9248,9248,9248,1995-04-28,924.5000000001417,924.4213,2015-01-01 02:34:08,bin9248,35, -CTSPillarNetworkA,9249,9249,9249,1995-04-29,924.6000000001417,924.5213,2015-01-01 02:34:09,bin9249,75, -CTSPillarNetworkA,9250,9250,9250,1995-04-30,924.7000000001417,924.6213,2015-01-01 02:34:10,bin9250,35, -CTSPillarNetworkA,9251,9251,9251,1995-05-01,924.8000000001417,924.72125,2015-01-01 02:34:11,bin9251,75, -CTSPillarNetworkA,9252,9252,9252,1995-05-02,924.9000000001417,924.8212,2015-01-01 02:34:12,bin9252,35, -CTSPillarNetworkA,9253,9253,9253,1995-05-03,925.0000000001418,924.9212,2015-01-01 02:34:13,bin9253,75, -CTSPillarNetworkA,9254,9254,9254,1995-05-04,925.1000000001418,925.0212,2015-01-01 02:34:14,bin9254,35, -CTSPillarNetworkA,9255,9255,9255,1995-05-05,925.2000000001418,925.12115,2015-01-01 02:34:15,bin9255,75, -CTSPillarNetworkA,9256,9256,9256,1995-05-06,925.3000000001418,925.2211,2015-01-01 02:34:16,bin9256,35, -CTSPillarNetworkA,9257,9257,9257,1995-05-07,925.4000000001419,925.3211,2015-01-01 02:34:17,bin9257,75, -CTSPillarNetworkA,9258,9258,9258,1995-05-08,925.5000000001419,925.4211,2015-01-01 02:34:18,bin9258,35, -CTSPillarNetworkA,9259,9259,9259,1995-05-09,925.6000000001419,925.52106,2015-01-01 02:34:19,bin9259,75, -CTSPillarNetworkA,9260,9260,9260,1995-05-10,925.7000000001419,925.62103,2015-01-01 02:34:20,bin9260,35, -CTSPillarNetworkA,9261,9261,9261,1995-05-11,925.800000000142,925.721,2015-01-01 02:34:21,bin9261,75, -CTSPillarNetworkA,9262,9262,9262,1995-05-12,925.900000000142,925.821,2015-01-01 02:34:22,bin9262,35, -CTSPillarNetworkA,9263,9263,9263,1995-05-13,926.000000000142,925.92096,2015-01-01 02:34:23,bin9263,75, -CTSPillarNetworkA,9264,9264,9264,1995-05-14,926.100000000142,926.02094,2015-01-01 02:34:24,bin9264,35, -CTSPillarNetworkA,9265,9265,9265,1995-05-15,926.200000000142,926.1209,2015-01-01 02:34:25,bin9265,75, -CTSPillarNetworkA,9266,9266,9266,1995-05-16,926.3000000001421,926.2209,2015-01-01 02:34:26,bin9266,35, -CTSPillarNetworkA,9267,9267,9267,1995-05-17,926.4000000001421,926.32086,2015-01-01 02:34:27,bin9267,75, -CTSPillarNetworkA,9268,9268,9268,1995-05-18,926.5000000001421,926.42084,2015-01-01 02:34:28,bin9268,35, -CTSPillarNetworkA,9269,9269,9269,1995-05-19,926.6000000001421,926.5208,2015-01-01 02:34:29,bin9269,75, -CTSPillarNetworkA,9270,9270,9270,1995-05-20,926.7000000001422,926.6208,2015-01-01 02:34:30,bin9270,35, -CTSPillarNetworkA,9271,9271,9271,1995-05-21,926.8000000001422,926.72076,2015-01-01 02:34:31,bin9271,75, -CTSPillarNetworkA,9272,9272,9272,1995-05-22,926.9000000001422,926.82074,2015-01-01 02:34:32,bin9272,35, -CTSPillarNetworkA,9273,9273,9273,1995-05-23,927.0000000001422,926.9207,2015-01-01 02:34:33,bin9273,75, -CTSPillarNetworkA,9274,9274,9274,1995-05-24,927.1000000001422,927.0207,2015-01-01 02:34:34,bin9274,35, -CTSPillarNetworkA,9275,9275,9275,1995-05-25,927.2000000001423,927.12067,2015-01-01 02:34:35,bin9275,75, -CTSPillarNetworkA,9276,9276,9276,1995-05-26,927.3000000001423,927.22064,2015-01-01 02:34:36,bin9276,35, -CTSPillarNetworkA,9277,9277,9277,1995-05-27,927.4000000001423,927.3206,2015-01-01 02:34:37,bin9277,75, -CTSPillarNetworkA,9278,9278,9278,1995-05-28,927.5000000001423,927.4206,2015-01-01 02:34:38,bin9278,35, -CTSPillarNetworkA,9279,9279,9279,1995-05-29,927.6000000001424,927.52057,2015-01-01 02:34:39,bin9279,75, -CTSPillarNetworkA,9280,9280,9280,1995-05-30,927.7000000001424,927.62054,2015-01-01 02:34:40,bin9280,35, -CTSPillarNetworkA,9281,9281,9281,1995-05-31,927.8000000001424,927.7205,2015-01-01 02:34:41,bin9281,75, -CTSPillarNetworkA,9282,9282,9282,1995-06-01,927.9000000001424,927.8205,2015-01-01 02:34:42,bin9282,35, -CTSPillarNetworkA,9283,9283,9283,1995-06-02,928.0000000001424,927.9205,2015-01-01 02:34:43,bin9283,75, -CTSPillarNetworkA,9284,9284,9284,1995-06-03,928.1000000001425,928.02045,2015-01-01 02:34:44,bin9284,35, -CTSPillarNetworkA,9285,9285,9285,1995-06-04,928.2000000001425,928.1204,2015-01-01 02:34:45,bin9285,75, -CTSPillarNetworkA,9286,9286,9286,1995-06-05,928.3000000001425,928.2204,2015-01-01 02:34:46,bin9286,35, -CTSPillarNetworkA,9287,9287,9287,1995-06-06,928.4000000001425,928.3204,2015-01-01 02:34:47,bin9287,75, -CTSPillarNetworkA,9288,9288,9288,1995-06-07,928.5000000001426,928.42035,2015-01-01 02:34:48,bin9288,35, -CTSPillarNetworkA,9289,9289,9289,1995-06-08,928.6000000001426,928.5203,2015-01-01 02:34:49,bin9289,75, -CTSPillarNetworkA,9290,9290,9290,1995-06-09,928.7000000001426,928.6203,2015-01-01 02:34:50,bin9290,35, -CTSPillarNetworkA,9291,9291,9291,1995-06-10,928.8000000001426,928.7203,2015-01-01 02:34:51,bin9291,75, -CTSPillarNetworkA,9292,9292,9292,1995-06-11,928.9000000001427,928.82025,2015-01-01 02:34:52,bin9292,35, -CTSPillarNetworkA,9293,9293,9293,1995-06-12,929.0000000001427,928.9202,2015-01-01 02:34:53,bin9293,75, -CTSPillarNetworkA,9294,9294,9294,1995-06-13,929.1000000001427,929.0202,2015-01-01 02:34:54,bin9294,35, -CTSPillarNetworkA,9295,9295,9295,1995-06-14,929.2000000001427,929.1202,2015-01-01 02:34:55,bin9295,75, -CTSPillarNetworkA,9296,9296,9296,1995-06-15,929.3000000001427,929.22015,2015-01-01 02:34:56,bin9296,35, -CTSPillarNetworkA,9297,9297,9297,1995-06-16,929.4000000001428,929.3201,2015-01-01 02:34:57,bin9297,75, -CTSPillarNetworkA,9298,9298,9298,1995-06-17,929.5000000001428,929.4201,2015-01-01 02:34:58,bin9298,35, -CTSPillarNetworkA,9299,9299,9299,1995-06-18,929.6000000001428,929.5201,2015-01-01 02:34:59,bin9299,75, -CTSPillarNetworkA,9300,9300,9300,1995-06-19,929.7000000001428,929.62006,2015-01-01 02:35:00,bin9300,35, -CTSPillarNetworkA,9301,9301,9301,1995-06-20,929.8000000001429,929.72003,2015-01-01 02:35:01,bin9301,75, -CTSPillarNetworkA,9302,9302,9302,1995-06-21,929.9000000001429,929.82,2015-01-01 02:35:02,bin9302,35, -CTSPillarNetworkA,9303,9303,9303,1995-06-22,930.0000000001429,929.92,2015-01-01 02:35:03,bin9303,75, -CTSPillarNetworkA,9304,9304,9304,1995-06-23,930.1000000001429,930.01996,2015-01-01 02:35:04,bin9304,35, -CTSPillarNetworkA,9305,9305,9305,1995-06-24,930.200000000143,930.11993,2015-01-01 02:35:05,bin9305,75, -CTSPillarNetworkA,9306,9306,9306,1995-06-25,930.300000000143,930.2199,2015-01-01 02:35:06,bin9306,35, -CTSPillarNetworkA,9307,9307,9307,1995-06-26,930.400000000143,930.3199,2015-01-01 02:35:07,bin9307,75, -CTSPillarNetworkA,9308,9308,9308,1995-06-27,930.500000000143,930.41986,2015-01-01 02:35:08,bin9308,35, -CTSPillarNetworkA,9309,9309,9309,1995-06-28,930.600000000143,930.51984,2015-01-01 02:35:09,bin9309,75, -CTSPillarNetworkA,9310,9310,9310,1995-06-29,930.7000000001431,930.6198,2015-01-01 02:35:10,bin9310,35, -CTSPillarNetworkA,9311,9311,9311,1995-06-30,930.8000000001431,930.7198,2015-01-01 02:35:11,bin9311,75, -CTSPillarNetworkA,9312,9312,9312,1995-07-01,930.9000000001431,930.81976,2015-01-01 02:35:12,bin9312,35, -CTSPillarNetworkA,9313,9313,9313,1995-07-02,931.0000000001431,930.91974,2015-01-01 02:35:13,bin9313,75, -CTSPillarNetworkA,9314,9314,9314,1995-07-03,931.1000000001432,931.0197,2015-01-01 02:35:14,bin9314,35, -CTSPillarNetworkA,9315,9315,9315,1995-07-04,931.2000000001432,931.1197,2015-01-01 02:35:15,bin9315,75, -CTSPillarNetworkA,9316,9316,9316,1995-07-05,931.3000000001432,931.21967,2015-01-01 02:35:16,bin9316,35, -CTSPillarNetworkA,9317,9317,9317,1995-07-06,931.4000000001432,931.31964,2015-01-01 02:35:17,bin9317,75, -CTSPillarNetworkA,9318,9318,9318,1995-07-07,931.5000000001432,931.4196,2015-01-01 02:35:18,bin9318,35, -CTSPillarNetworkA,9319,9319,9319,1995-07-08,931.6000000001433,931.5196,2015-01-01 02:35:19,bin9319,75, -CTSPillarNetworkA,9320,9320,9320,1995-07-09,931.7000000001433,931.61957,2015-01-01 02:35:20,bin9320,35, -CTSPillarNetworkA,9321,9321,9321,1995-07-10,931.8000000001433,931.71954,2015-01-01 02:35:21,bin9321,75, -CTSPillarNetworkA,9322,9322,9322,1995-07-11,931.9000000001433,931.8195,2015-01-01 02:35:22,bin9322,35, -CTSPillarNetworkA,9323,9323,9323,1995-07-12,932.0000000001434,931.9195,2015-01-01 02:35:23,bin9323,75, -CTSPillarNetworkA,9324,9324,9324,1995-07-13,932.1000000001434,932.0195,2015-01-01 02:35:24,bin9324,35, -CTSPillarNetworkA,9325,9325,9325,1995-07-14,932.2000000001434,932.11945,2015-01-01 02:35:25,bin9325,75, -CTSPillarNetworkA,9326,9326,9326,1995-07-15,932.3000000001434,932.2194,2015-01-01 02:35:26,bin9326,35, -CTSPillarNetworkA,9327,9327,9327,1995-07-16,932.4000000001435,932.3194,2015-01-01 02:35:27,bin9327,75, -CTSPillarNetworkA,9328,9328,9328,1995-07-17,932.5000000001435,932.4194,2015-01-01 02:35:28,bin9328,35, -CTSPillarNetworkA,9329,9329,9329,1995-07-18,932.6000000001435,932.51935,2015-01-01 02:35:29,bin9329,75, -CTSPillarNetworkA,9330,9330,9330,1995-07-19,932.7000000001435,932.6193,2015-01-01 02:35:30,bin9330,35, -CTSPillarNetworkA,9331,9331,9331,1995-07-20,932.8000000001435,932.7193,2015-01-01 02:35:31,bin9331,75, -CTSPillarNetworkA,9332,9332,9332,1995-07-21,932.9000000001436,932.8193,2015-01-01 02:35:32,bin9332,35, -CTSPillarNetworkA,9333,9333,9333,1995-07-22,933.0000000001436,932.91925,2015-01-01 02:35:33,bin9333,75, -CTSPillarNetworkA,9334,9334,9334,1995-07-23,933.1000000001436,933.0192,2015-01-01 02:35:34,bin9334,35, -CTSPillarNetworkA,9335,9335,9335,1995-07-24,933.2000000001436,933.1192,2015-01-01 02:35:35,bin9335,75, -CTSPillarNetworkA,9336,9336,9336,1995-07-25,933.3000000001437,933.2192,2015-01-01 02:35:36,bin9336,35, -CTSPillarNetworkA,9337,9337,9337,1995-07-26,933.4000000001437,933.31915,2015-01-01 02:35:37,bin9337,75, -CTSPillarNetworkA,9338,9338,9338,1995-07-27,933.5000000001437,933.4191,2015-01-01 02:35:38,bin9338,35, -CTSPillarNetworkA,9339,9339,9339,1995-07-28,933.6000000001437,933.5191,2015-01-01 02:35:39,bin9339,75, -CTSPillarNetworkA,9340,9340,9340,1995-07-29,933.7000000001437,933.6191,2015-01-01 02:35:40,bin9340,35, -CTSPillarNetworkA,9341,9341,9341,1995-07-30,933.8000000001438,933.71906,2015-01-01 02:35:41,bin9341,75, -CTSPillarNetworkA,9342,9342,9342,1995-07-31,933.9000000001438,933.81903,2015-01-01 02:35:42,bin9342,35, -CTSPillarNetworkA,9343,9343,9343,1995-08-01,934.0000000001438,933.919,2015-01-01 02:35:43,bin9343,75, -CTSPillarNetworkA,9344,9344,9344,1995-08-02,934.1000000001438,934.019,2015-01-01 02:35:44,bin9344,35, -CTSPillarNetworkA,9345,9345,9345,1995-08-03,934.2000000001439,934.11896,2015-01-01 02:35:45,bin9345,75, -CTSPillarNetworkA,9346,9346,9346,1995-08-04,934.3000000001439,934.21893,2015-01-01 02:35:46,bin9346,35, -CTSPillarNetworkA,9347,9347,9347,1995-08-05,934.4000000001439,934.3189,2015-01-01 02:35:47,bin9347,75, -CTSPillarNetworkA,9348,9348,9348,1995-08-06,934.5000000001439,934.4189,2015-01-01 02:35:48,bin9348,35, -CTSPillarNetworkA,9349,9349,9349,1995-08-07,934.600000000144,934.51886,2015-01-01 02:35:49,bin9349,75, -CTSPillarNetworkA,9350,9350,9350,1995-08-08,934.700000000144,934.61884,2015-01-01 02:35:50,bin9350,35, -CTSPillarNetworkA,9351,9351,9351,1995-08-09,934.800000000144,934.7188,2015-01-01 02:35:51,bin9351,75, -CTSPillarNetworkA,9352,9352,9352,1995-08-10,934.900000000144,934.8188,2015-01-01 02:35:52,bin9352,35, -CTSPillarNetworkA,9353,9353,9353,1995-08-11,935.000000000144,934.91876,2015-01-01 02:35:53,bin9353,75, -CTSPillarNetworkA,9354,9354,9354,1995-08-12,935.1000000001441,935.01874,2015-01-01 02:35:54,bin9354,35, -CTSPillarNetworkA,9355,9355,9355,1995-08-13,935.2000000001441,935.1187,2015-01-01 02:35:55,bin9355,75, -CTSPillarNetworkA,9356,9356,9356,1995-08-14,935.3000000001441,935.2187,2015-01-01 02:35:56,bin9356,35, -CTSPillarNetworkA,9357,9357,9357,1995-08-15,935.4000000001441,935.31866,2015-01-01 02:35:57,bin9357,75, -CTSPillarNetworkA,9358,9358,9358,1995-08-16,935.5000000001442,935.41864,2015-01-01 02:35:58,bin9358,35, -CTSPillarNetworkA,9359,9359,9359,1995-08-17,935.6000000001442,935.5186,2015-01-01 02:35:59,bin9359,75, -CTSPillarNetworkA,9360,9360,9360,1995-08-18,935.7000000001442,935.6186,2015-01-01 02:36:00,bin9360,35, -CTSPillarNetworkA,9361,9361,9361,1995-08-19,935.8000000001442,935.71857,2015-01-01 02:36:01,bin9361,75, -CTSPillarNetworkA,9362,9362,9362,1995-08-20,935.9000000001442,935.81854,2015-01-01 02:36:02,bin9362,35, -CTSPillarNetworkA,9363,9363,9363,1995-08-21,936.0000000001443,935.9185,2015-01-01 02:36:03,bin9363,75, -CTSPillarNetworkA,9364,9364,9364,1995-08-22,936.1000000001443,936.0185,2015-01-01 02:36:04,bin9364,35, -CTSPillarNetworkA,9365,9365,9365,1995-08-23,936.2000000001443,936.11847,2015-01-01 02:36:05,bin9365,75, -CTSPillarNetworkA,9366,9366,9366,1995-08-24,936.3000000001443,936.21844,2015-01-01 02:36:06,bin9366,35, -CTSPillarNetworkA,9367,9367,9367,1995-08-25,936.4000000001444,936.3184,2015-01-01 02:36:07,bin9367,75, -CTSPillarNetworkA,9368,9368,9368,1995-08-26,936.5000000001444,936.4184,2015-01-01 02:36:08,bin9368,35, -CTSPillarNetworkA,9369,9369,9369,1995-08-27,936.6000000001444,936.5184,2015-01-01 02:36:09,bin9369,75, -CTSPillarNetworkA,9370,9370,9370,1995-08-28,936.7000000001444,936.61835,2015-01-01 02:36:10,bin9370,35, -CTSPillarNetworkA,9371,9371,9371,1995-08-29,936.8000000001445,936.7183,2015-01-01 02:36:11,bin9371,75, -CTSPillarNetworkA,9372,9372,9372,1995-08-30,936.9000000001445,936.8183,2015-01-01 02:36:12,bin9372,35, -CTSPillarNetworkA,9373,9373,9373,1995-08-31,937.0000000001445,936.9183,2015-01-01 02:36:13,bin9373,75, -CTSPillarNetworkA,9374,9374,9374,1995-09-01,937.1000000001445,937.01825,2015-01-01 02:36:14,bin9374,35, -CTSPillarNetworkA,9375,9375,9375,1995-09-02,937.2000000001445,937.1182,2015-01-01 02:36:15,bin9375,75, -CTSPillarNetworkA,9376,9376,9376,1995-09-03,937.3000000001446,937.2182,2015-01-01 02:36:16,bin9376,35, -CTSPillarNetworkA,9377,9377,9377,1995-09-04,937.4000000001446,937.3182,2015-01-01 02:36:17,bin9377,75, -CTSPillarNetworkA,9378,9378,9378,1995-09-05,937.5000000001446,937.41815,2015-01-01 02:36:18,bin9378,35, -CTSPillarNetworkA,9379,9379,9379,1995-09-06,937.6000000001446,937.5181,2015-01-01 02:36:19,bin9379,75, -CTSPillarNetworkA,9380,9380,9380,1995-09-07,937.7000000001447,937.6181,2015-01-01 02:36:20,bin9380,35, -CTSPillarNetworkA,9381,9381,9381,1995-09-08,937.8000000001447,937.7181,2015-01-01 02:36:21,bin9381,75, -CTSPillarNetworkA,9382,9382,9382,1995-09-09,937.9000000001447,937.81805,2015-01-01 02:36:22,bin9382,35, -CTSPillarNetworkA,9383,9383,9383,1995-09-10,938.0000000001447,937.918,2015-01-01 02:36:23,bin9383,75, -CTSPillarNetworkA,9384,9384,9384,1995-09-11,938.1000000001447,938.018,2015-01-01 02:36:24,bin9384,35, -CTSPillarNetworkA,9385,9385,9385,1995-09-12,938.2000000001448,938.118,2015-01-01 02:36:25,bin9385,75, -CTSPillarNetworkA,9386,9386,9386,1995-09-13,938.3000000001448,938.21796,2015-01-01 02:36:26,bin9386,35, -CTSPillarNetworkA,9387,9387,9387,1995-09-14,938.4000000001448,938.31793,2015-01-01 02:36:27,bin9387,75, -CTSPillarNetworkA,9388,9388,9388,1995-09-15,938.5000000001448,938.4179,2015-01-01 02:36:28,bin9388,35, -CTSPillarNetworkA,9389,9389,9389,1995-09-16,938.6000000001449,938.5179,2015-01-01 02:36:29,bin9389,75, -CTSPillarNetworkA,9390,9390,9390,1995-09-17,938.7000000001449,938.61786,2015-01-01 02:36:30,bin9390,35, -CTSPillarNetworkA,9391,9391,9391,1995-09-18,938.8000000001449,938.71783,2015-01-01 02:36:31,bin9391,75, -CTSPillarNetworkA,9392,9392,9392,1995-09-19,938.9000000001449,938.8178,2015-01-01 02:36:32,bin9392,35, -CTSPillarNetworkA,9393,9393,9393,1995-09-20,939.000000000145,938.9178,2015-01-01 02:36:33,bin9393,75, -CTSPillarNetworkA,9394,9394,9394,1995-09-21,939.100000000145,939.01776,2015-01-01 02:36:34,bin9394,35, -CTSPillarNetworkA,9395,9395,9395,1995-09-22,939.200000000145,939.11774,2015-01-01 02:36:35,bin9395,75, -CTSPillarNetworkA,9396,9396,9396,1995-09-23,939.300000000145,939.2177,2015-01-01 02:36:36,bin9396,35, -CTSPillarNetworkA,9397,9397,9397,1995-09-24,939.400000000145,939.3177,2015-01-01 02:36:37,bin9397,75, -CTSPillarNetworkA,9398,9398,9398,1995-09-25,939.5000000001451,939.41766,2015-01-01 02:36:38,bin9398,35, -CTSPillarNetworkA,9399,9399,9399,1995-09-26,939.6000000001451,939.51764,2015-01-01 02:36:39,bin9399,75, -CTSPillarNetworkA,9400,9400,9400,1995-09-27,939.7000000001451,939.6176,2015-01-01 02:36:40,bin9400,35, -CTSPillarNetworkA,9401,9401,9401,1995-09-28,939.8000000001451,939.7176,2015-01-01 02:36:41,bin9401,75, -CTSPillarNetworkA,9402,9402,9402,1995-09-29,939.9000000001452,939.81757,2015-01-01 02:36:42,bin9402,35, -CTSPillarNetworkA,9403,9403,9403,1995-09-30,940.0000000001452,939.91754,2015-01-01 02:36:43,bin9403,75, -CTSPillarNetworkA,9404,9404,9404,1995-10-01,940.1000000001452,940.0175,2015-01-01 02:36:44,bin9404,35, -CTSPillarNetworkA,9405,9405,9405,1995-10-02,940.2000000001452,940.1175,2015-01-01 02:36:45,bin9405,75, -CTSPillarNetworkA,9406,9406,9406,1995-10-03,940.3000000001452,940.21747,2015-01-01 02:36:46,bin9406,35, -CTSPillarNetworkA,9407,9407,9407,1995-10-04,940.4000000001453,940.31744,2015-01-01 02:36:47,bin9407,75, -CTSPillarNetworkA,9408,9408,9408,1995-10-05,940.5000000001453,940.4174,2015-01-01 02:36:48,bin9408,35, -CTSPillarNetworkA,9409,9409,9409,1995-10-06,940.6000000001453,940.5174,2015-01-01 02:36:49,bin9409,75, -CTSPillarNetworkA,9410,9410,9410,1995-10-07,940.7000000001453,940.6174,2015-01-01 02:36:50,bin9410,35, -CTSPillarNetworkA,9411,9411,9411,1995-10-08,940.8000000001454,940.71735,2015-01-01 02:36:51,bin9411,75, -CTSPillarNetworkA,9412,9412,9412,1995-10-09,940.9000000001454,940.8173,2015-01-01 02:36:52,bin9412,35, -CTSPillarNetworkA,9413,9413,9413,1995-10-10,941.0000000001454,940.9173,2015-01-01 02:36:53,bin9413,75, -CTSPillarNetworkA,9414,9414,9414,1995-10-11,941.1000000001454,941.0173,2015-01-01 02:36:54,bin9414,35, -CTSPillarNetworkA,9415,9415,9415,1995-10-12,941.2000000001455,941.11725,2015-01-01 02:36:55,bin9415,75, -CTSPillarNetworkA,9416,9416,9416,1995-10-13,941.3000000001455,941.2172,2015-01-01 02:36:56,bin9416,35, -CTSPillarNetworkA,9417,9417,9417,1995-10-14,941.4000000001455,941.3172,2015-01-01 02:36:57,bin9417,75, -CTSPillarNetworkA,9418,9418,9418,1995-10-15,941.5000000001455,941.4172,2015-01-01 02:36:58,bin9418,35, -CTSPillarNetworkA,9419,9419,9419,1995-10-16,941.6000000001455,941.51715,2015-01-01 02:36:59,bin9419,75, -CTSPillarNetworkA,9420,9420,9420,1995-10-17,941.7000000001456,941.6171,2015-01-01 02:37:00,bin9420,35, -CTSPillarNetworkA,9421,9421,9421,1995-10-18,941.8000000001456,941.7171,2015-01-01 02:37:01,bin9421,75, -CTSPillarNetworkA,9422,9422,9422,1995-10-19,941.9000000001456,941.8171,2015-01-01 02:37:02,bin9422,35, -CTSPillarNetworkA,9423,9423,9423,1995-10-20,942.0000000001456,941.91705,2015-01-01 02:37:03,bin9423,75, -CTSPillarNetworkA,9424,9424,9424,1995-10-21,942.1000000001457,942.017,2015-01-01 02:37:04,bin9424,35, -CTSPillarNetworkA,9425,9425,9425,1995-10-22,942.2000000001457,942.117,2015-01-01 02:37:05,bin9425,75, -CTSPillarNetworkA,9426,9426,9426,1995-10-23,942.3000000001457,942.217,2015-01-01 02:37:06,bin9426,35, -CTSPillarNetworkA,9427,9427,9427,1995-10-24,942.4000000001457,942.31696,2015-01-01 02:37:07,bin9427,75, -CTSPillarNetworkA,9428,9428,9428,1995-10-25,942.5000000001457,942.41693,2015-01-01 02:37:08,bin9428,35, -CTSPillarNetworkA,9429,9429,9429,1995-10-26,942.6000000001458,942.5169,2015-01-01 02:37:09,bin9429,75, -CTSPillarNetworkA,9430,9430,9430,1995-10-27,942.7000000001458,942.6169,2015-01-01 02:37:10,bin9430,35, -CTSPillarNetworkA,9431,9431,9431,1995-10-28,942.8000000001458,942.71686,2015-01-01 02:37:11,bin9431,75, -CTSPillarNetworkA,9432,9432,9432,1995-10-29,942.9000000001458,942.81683,2015-01-01 02:37:12,bin9432,35, -CTSPillarNetworkA,9433,9433,9433,1995-10-30,943.0000000001459,942.9168,2015-01-01 02:37:13,bin9433,75, -CTSPillarNetworkA,9434,9434,9434,1995-10-31,943.1000000001459,943.0168,2015-01-01 02:37:14,bin9434,35, -CTSPillarNetworkA,9435,9435,9435,1995-11-01,943.2000000001459,943.11676,2015-01-01 02:37:15,bin9435,75, -CTSPillarNetworkA,9436,9436,9436,1995-11-02,943.3000000001459,943.21674,2015-01-01 02:37:16,bin9436,35, -CTSPillarNetworkA,9437,9437,9437,1995-11-03,943.400000000146,943.3167,2015-01-01 02:37:17,bin9437,75, -CTSPillarNetworkA,9438,9438,9438,1995-11-04,943.500000000146,943.4167,2015-01-01 02:37:18,bin9438,35, -CTSPillarNetworkA,9439,9439,9439,1995-11-05,943.600000000146,943.51666,2015-01-01 02:37:19,bin9439,75, -CTSPillarNetworkA,9440,9440,9440,1995-11-06,943.700000000146,943.61664,2015-01-01 02:37:20,bin9440,35, -CTSPillarNetworkA,9441,9441,9441,1995-11-07,943.800000000146,943.7166,2015-01-01 02:37:21,bin9441,75, -CTSPillarNetworkA,9442,9442,9442,1995-11-08,943.9000000001461,943.8166,2015-01-01 02:37:22,bin9442,35, -CTSPillarNetworkA,9443,9443,9443,1995-11-09,944.0000000001461,943.91656,2015-01-01 02:37:23,bin9443,75, -CTSPillarNetworkA,9444,9444,9444,1995-11-10,944.1000000001461,944.01654,2015-01-01 02:37:24,bin9444,35, -CTSPillarNetworkA,9445,9445,9445,1995-11-11,944.2000000001461,944.1165,2015-01-01 02:37:25,bin9445,75, -CTSPillarNetworkA,9446,9446,9446,1995-11-12,944.3000000001462,944.2165,2015-01-01 02:37:26,bin9446,35, -CTSPillarNetworkA,9447,9447,9447,1995-11-13,944.4000000001462,944.31647,2015-01-01 02:37:27,bin9447,75, -CTSPillarNetworkA,9448,9448,9448,1995-11-14,944.5000000001462,944.41644,2015-01-01 02:37:28,bin9448,35, -CTSPillarNetworkA,9449,9449,9449,1995-11-15,944.6000000001462,944.5164,2015-01-01 02:37:29,bin9449,75, -CTSPillarNetworkA,9450,9450,9450,1995-11-16,944.7000000001462,944.6164,2015-01-01 02:37:30,bin9450,35, -CTSPillarNetworkA,9451,9451,9451,1995-11-17,944.8000000001463,944.7164,2015-01-01 02:37:31,bin9451,75, -CTSPillarNetworkA,9452,9452,9452,1995-11-18,944.9000000001463,944.81635,2015-01-01 02:37:32,bin9452,35, -CTSPillarNetworkA,9453,9453,9453,1995-11-19,945.0000000001463,944.9163,2015-01-01 02:37:33,bin9453,75, -CTSPillarNetworkA,9454,9454,9454,1995-11-20,945.1000000001463,945.0163,2015-01-01 02:37:34,bin9454,35, -CTSPillarNetworkA,9455,9455,9455,1995-11-21,945.2000000001464,945.1163,2015-01-01 02:37:35,bin9455,75, -CTSPillarNetworkA,9456,9456,9456,1995-11-22,945.3000000001464,945.21625,2015-01-01 02:37:36,bin9456,35, -CTSPillarNetworkA,9457,9457,9457,1995-11-23,945.4000000001464,945.3162,2015-01-01 02:37:37,bin9457,75, -CTSPillarNetworkA,9458,9458,9458,1995-11-24,945.5000000001464,945.4162,2015-01-01 02:37:38,bin9458,35, -CTSPillarNetworkA,9459,9459,9459,1995-11-25,945.6000000001465,945.5162,2015-01-01 02:37:39,bin9459,75, -CTSPillarNetworkA,9460,9460,9460,1995-11-26,945.7000000001465,945.61615,2015-01-01 02:37:40,bin9460,35, -CTSPillarNetworkA,9461,9461,9461,1995-11-27,945.8000000001465,945.7161,2015-01-01 02:37:41,bin9461,75, -CTSPillarNetworkA,9462,9462,9462,1995-11-28,945.9000000001465,945.8161,2015-01-01 02:37:42,bin9462,35, -CTSPillarNetworkA,9463,9463,9463,1995-11-29,946.0000000001465,945.9161,2015-01-01 02:37:43,bin9463,75, -CTSPillarNetworkA,9464,9464,9464,1995-11-30,946.1000000001466,946.01605,2015-01-01 02:37:44,bin9464,35, -CTSPillarNetworkA,9465,9465,9465,1995-12-01,946.2000000001466,946.116,2015-01-01 02:37:45,bin9465,75, -CTSPillarNetworkA,9466,9466,9466,1995-12-02,946.3000000001466,946.216,2015-01-01 02:37:46,bin9466,35, -CTSPillarNetworkA,9467,9467,9467,1995-12-03,946.4000000001466,946.316,2015-01-01 02:37:47,bin9467,75, -CTSPillarNetworkA,9468,9468,9468,1995-12-04,946.5000000001467,946.41595,2015-01-01 02:37:48,bin9468,35, -CTSPillarNetworkA,9469,9469,9469,1995-12-05,946.6000000001467,946.5159,2015-01-01 02:37:49,bin9469,75, -CTSPillarNetworkA,9470,9470,9470,1995-12-06,946.7000000001467,946.6159,2015-01-01 02:37:50,bin9470,35, -CTSPillarNetworkA,9471,9471,9471,1995-12-07,946.8000000001467,946.7159,2015-01-01 02:37:51,bin9471,75, -CTSPillarNetworkA,9472,9472,9472,1995-12-08,946.9000000001467,946.81586,2015-01-01 02:37:52,bin9472,35, -CTSPillarNetworkA,9473,9473,9473,1995-12-09,947.0000000001468,946.91583,2015-01-01 02:37:53,bin9473,75, -CTSPillarNetworkA,9474,9474,9474,1995-12-10,947.1000000001468,947.0158,2015-01-01 02:37:54,bin9474,35, -CTSPillarNetworkA,9475,9475,9475,1995-12-11,947.2000000001468,947.1158,2015-01-01 02:37:55,bin9475,75, -CTSPillarNetworkA,9476,9476,9476,1995-12-12,947.3000000001468,947.21576,2015-01-01 02:37:56,bin9476,35, -CTSPillarNetworkA,9477,9477,9477,1995-12-13,947.4000000001469,947.31573,2015-01-01 02:37:57,bin9477,75, -CTSPillarNetworkA,9478,9478,9478,1995-12-14,947.5000000001469,947.4157,2015-01-01 02:37:58,bin9478,35, -CTSPillarNetworkA,9479,9479,9479,1995-12-15,947.6000000001469,947.5157,2015-01-01 02:37:59,bin9479,75, -CTSPillarNetworkA,9480,9480,9480,1995-12-16,947.7000000001469,947.61566,2015-01-01 02:38:00,bin9480,35, -CTSPillarNetworkA,9481,9481,9481,1995-12-17,947.800000000147,947.71564,2015-01-01 02:38:01,bin9481,75, -CTSPillarNetworkA,9482,9482,9482,1995-12-18,947.900000000147,947.8156,2015-01-01 02:38:02,bin9482,35, -CTSPillarNetworkA,9483,9483,9483,1995-12-19,948.000000000147,947.9156,2015-01-01 02:38:03,bin9483,75, -CTSPillarNetworkA,9484,9484,9484,1995-12-20,948.100000000147,948.01556,2015-01-01 02:38:04,bin9484,35, -CTSPillarNetworkA,9485,9485,9485,1995-12-21,948.200000000147,948.11554,2015-01-01 02:38:05,bin9485,75, -CTSPillarNetworkA,9486,9486,9486,1995-12-22,948.3000000001471,948.2155,2015-01-01 02:38:06,bin9486,35, -CTSPillarNetworkA,9487,9487,9487,1995-12-23,948.4000000001471,948.3155,2015-01-01 02:38:07,bin9487,75, -CTSPillarNetworkA,9488,9488,9488,1995-12-24,948.5000000001471,948.41547,2015-01-01 02:38:08,bin9488,35, -CTSPillarNetworkA,9489,9489,9489,1995-12-25,948.6000000001471,948.51544,2015-01-01 02:38:09,bin9489,75, -CTSPillarNetworkA,9490,9490,9490,1995-12-26,948.7000000001472,948.6154,2015-01-01 02:38:10,bin9490,35, -CTSPillarNetworkA,9491,9491,9491,1995-12-27,948.8000000001472,948.7154,2015-01-01 02:38:11,bin9491,75, -CTSPillarNetworkA,9492,9492,9492,1995-12-28,948.9000000001472,948.81537,2015-01-01 02:38:12,bin9492,35, -CTSPillarNetworkA,9493,9493,9493,1995-12-29,949.0000000001472,948.91534,2015-01-01 02:38:13,bin9493,75, -CTSPillarNetworkA,9494,9494,9494,1995-12-30,949.1000000001472,949.0153,2015-01-01 02:38:14,bin9494,35, -CTSPillarNetworkA,9495,9495,9495,1995-12-31,949.2000000001473,949.1153,2015-01-01 02:38:15,bin9495,75, -CTSPillarNetworkA,9496,9496,9496,1996-01-01,949.3000000001473,949.2153,2015-01-01 02:38:16,bin9496,35, -CTSPillarNetworkA,9497,9497,9497,1996-01-02,949.4000000001473,949.31525,2015-01-01 02:38:17,bin9497,75, -CTSPillarNetworkA,9498,9498,9498,1996-01-03,949.5000000001473,949.4152,2015-01-01 02:38:18,bin9498,35, -CTSPillarNetworkA,9499,9499,9499,1996-01-04,949.6000000001474,949.5152,2015-01-01 02:38:19,bin9499,75, -CTSPillarNetworkA,9500,9500,9500,1996-01-05,949.7000000001474,949.6152,2015-01-01 02:38:20,bin9500,35, -CTSPillarNetworkA,9501,9501,9501,1996-01-06,949.8000000001474,949.71515,2015-01-01 02:38:21,bin9501,75, -CTSPillarNetworkA,9502,9502,9502,1996-01-07,949.9000000001474,949.8151,2015-01-01 02:38:22,bin9502,35, -CTSPillarNetworkA,9503,9503,9503,1996-01-08,950.0000000001475,949.9151,2015-01-01 02:38:23,bin9503,75, -CTSPillarNetworkA,9504,9504,9504,1996-01-09,950.1000000001475,950.0151,2015-01-01 02:38:24,bin9504,35, -CTSPillarNetworkA,9505,9505,9505,1996-01-10,950.2000000001475,950.11505,2015-01-01 02:38:25,bin9505,75, -CTSPillarNetworkA,9506,9506,9506,1996-01-11,950.3000000001475,950.215,2015-01-01 02:38:26,bin9506,35, -CTSPillarNetworkA,9507,9507,9507,1996-01-12,950.4000000001475,950.315,2015-01-01 02:38:27,bin9507,75, -CTSPillarNetworkA,9508,9508,9508,1996-01-13,950.5000000001476,950.415,2015-01-01 02:38:28,bin9508,35, -CTSPillarNetworkA,9509,9509,9509,1996-01-14,950.6000000001476,950.51495,2015-01-01 02:38:29,bin9509,75, -CTSPillarNetworkA,9510,9510,9510,1996-01-15,950.7000000001476,950.6149,2015-01-01 02:38:30,bin9510,35, -CTSPillarNetworkA,9511,9511,9511,1996-01-16,950.8000000001476,950.7149,2015-01-01 02:38:31,bin9511,75, -CTSPillarNetworkA,9512,9512,9512,1996-01-17,950.9000000001477,950.8149,2015-01-01 02:38:32,bin9512,35, -CTSPillarNetworkA,9513,9513,9513,1996-01-18,951.0000000001477,950.91486,2015-01-01 02:38:33,bin9513,75, -CTSPillarNetworkA,9514,9514,9514,1996-01-19,951.1000000001477,951.01483,2015-01-01 02:38:34,bin9514,35, -CTSPillarNetworkA,9515,9515,9515,1996-01-20,951.2000000001477,951.1148,2015-01-01 02:38:35,bin9515,75, -CTSPillarNetworkA,9516,9516,9516,1996-01-21,951.3000000001477,951.2148,2015-01-01 02:38:36,bin9516,35, -CTSPillarNetworkA,9517,9517,9517,1996-01-22,951.4000000001478,951.31476,2015-01-01 02:38:37,bin9517,75, -CTSPillarNetworkA,9518,9518,9518,1996-01-23,951.5000000001478,951.41473,2015-01-01 02:38:38,bin9518,35, -CTSPillarNetworkA,9519,9519,9519,1996-01-24,951.6000000001478,951.5147,2015-01-01 02:38:39,bin9519,75, -CTSPillarNetworkA,9520,9520,9520,1996-01-25,951.7000000001478,951.6147,2015-01-01 02:38:40,bin9520,35, -CTSPillarNetworkA,9521,9521,9521,1996-01-26,951.8000000001479,951.71466,2015-01-01 02:38:41,bin9521,75, -CTSPillarNetworkA,9522,9522,9522,1996-01-27,951.9000000001479,951.81464,2015-01-01 02:38:42,bin9522,35, -CTSPillarNetworkA,9523,9523,9523,1996-01-28,952.0000000001479,951.9146,2015-01-01 02:38:43,bin9523,75, -CTSPillarNetworkA,9524,9524,9524,1996-01-29,952.1000000001479,952.0146,2015-01-01 02:38:44,bin9524,35, -CTSPillarNetworkA,9525,9525,9525,1996-01-30,952.200000000148,952.11456,2015-01-01 02:38:45,bin9525,75, -CTSPillarNetworkA,9526,9526,9526,1996-01-31,952.300000000148,952.21454,2015-01-01 02:38:46,bin9526,35, -CTSPillarNetworkA,9527,9527,9527,1996-02-01,952.400000000148,952.3145,2015-01-01 02:38:47,bin9527,75, -CTSPillarNetworkA,9528,9528,9528,1996-02-02,952.500000000148,952.4145,2015-01-01 02:38:48,bin9528,35, -CTSPillarNetworkA,9529,9529,9529,1996-02-03,952.600000000148,952.51447,2015-01-01 02:38:49,bin9529,75, -CTSPillarNetworkA,9530,9530,9530,1996-02-04,952.7000000001481,952.61444,2015-01-01 02:38:50,bin9530,35, -CTSPillarNetworkA,9531,9531,9531,1996-02-05,952.8000000001481,952.7144,2015-01-01 02:38:51,bin9531,75, -CTSPillarNetworkA,9532,9532,9532,1996-02-06,952.9000000001481,952.8144,2015-01-01 02:38:52,bin9532,35, -CTSPillarNetworkA,9533,9533,9533,1996-02-07,953.0000000001481,952.91437,2015-01-01 02:38:53,bin9533,75, -CTSPillarNetworkA,9534,9534,9534,1996-02-08,953.1000000001482,953.01434,2015-01-01 02:38:54,bin9534,35, -CTSPillarNetworkA,9535,9535,9535,1996-02-09,953.2000000001482,953.1143,2015-01-01 02:38:55,bin9535,75, -CTSPillarNetworkA,9536,9536,9536,1996-02-10,953.3000000001482,953.2143,2015-01-01 02:38:56,bin9536,35, -CTSPillarNetworkA,9537,9537,9537,1996-02-11,953.4000000001482,953.3143,2015-01-01 02:38:57,bin9537,75, -CTSPillarNetworkA,9538,9538,9538,1996-02-12,953.5000000001482,953.41425,2015-01-01 02:38:58,bin9538,35, -CTSPillarNetworkA,9539,9539,9539,1996-02-13,953.6000000001483,953.5142,2015-01-01 02:38:59,bin9539,75, -CTSPillarNetworkA,9540,9540,9540,1996-02-14,953.7000000001483,953.6142,2015-01-01 02:39:00,bin9540,35, -CTSPillarNetworkA,9541,9541,9541,1996-02-15,953.8000000001483,953.7142,2015-01-01 02:39:01,bin9541,75, -CTSPillarNetworkA,9542,9542,9542,1996-02-16,953.9000000001483,953.81415,2015-01-01 02:39:02,bin9542,35, -CTSPillarNetworkA,9543,9543,9543,1996-02-17,954.0000000001484,953.9141,2015-01-01 02:39:03,bin9543,75, -CTSPillarNetworkA,9544,9544,9544,1996-02-18,954.1000000001484,954.0141,2015-01-01 02:39:04,bin9544,35, -CTSPillarNetworkA,9545,9545,9545,1996-02-19,954.2000000001484,954.1141,2015-01-01 02:39:05,bin9545,75, -CTSPillarNetworkA,9546,9546,9546,1996-02-20,954.3000000001484,954.21405,2015-01-01 02:39:06,bin9546,35, -CTSPillarNetworkA,9547,9547,9547,1996-02-21,954.4000000001485,954.314,2015-01-01 02:39:07,bin9547,75, -CTSPillarNetworkA,9548,9548,9548,1996-02-22,954.5000000001485,954.414,2015-01-01 02:39:08,bin9548,35, -CTSPillarNetworkA,9549,9549,9549,1996-02-23,954.6000000001485,954.514,2015-01-01 02:39:09,bin9549,75, -CTSPillarNetworkA,9550,9550,9550,1996-02-24,954.7000000001485,954.61395,2015-01-01 02:39:10,bin9550,35, -CTSPillarNetworkA,9551,9551,9551,1996-02-25,954.8000000001485,954.7139,2015-01-01 02:39:11,bin9551,75, -CTSPillarNetworkA,9552,9552,9552,1996-02-26,954.9000000001486,954.8139,2015-01-01 02:39:12,bin9552,35, -CTSPillarNetworkA,9553,9553,9553,1996-02-27,955.0000000001486,954.9139,2015-01-01 02:39:13,bin9553,75, -CTSPillarNetworkA,9554,9554,9554,1996-02-28,955.1000000001486,955.01385,2015-01-01 02:39:14,bin9554,35, -CTSPillarNetworkA,9555,9555,9555,1996-02-29,955.2000000001486,955.11383,2015-01-01 02:39:15,bin9555,75, -CTSPillarNetworkA,9556,9556,9556,1996-03-01,955.3000000001487,955.2138,2015-01-01 02:39:16,bin9556,35, -CTSPillarNetworkA,9557,9557,9557,1996-03-02,955.4000000001487,955.3138,2015-01-01 02:39:17,bin9557,75, -CTSPillarNetworkA,9558,9558,9558,1996-03-03,955.5000000001487,955.41376,2015-01-01 02:39:18,bin9558,35, -CTSPillarNetworkA,9559,9559,9559,1996-03-04,955.6000000001487,955.51373,2015-01-01 02:39:19,bin9559,75, -CTSPillarNetworkA,9560,9560,9560,1996-03-05,955.7000000001487,955.6137,2015-01-01 02:39:20,bin9560,35, -CTSPillarNetworkA,9561,9561,9561,1996-03-06,955.8000000001488,955.7137,2015-01-01 02:39:21,bin9561,75, -CTSPillarNetworkA,9562,9562,9562,1996-03-07,955.9000000001488,955.81366,2015-01-01 02:39:22,bin9562,35, -CTSPillarNetworkA,9563,9563,9563,1996-03-08,956.0000000001488,955.91364,2015-01-01 02:39:23,bin9563,75, -CTSPillarNetworkA,9564,9564,9564,1996-03-09,956.1000000001488,956.0136,2015-01-01 02:39:24,bin9564,35, -CTSPillarNetworkA,9565,9565,9565,1996-03-10,956.2000000001489,956.1136,2015-01-01 02:39:25,bin9565,75, -CTSPillarNetworkA,9566,9566,9566,1996-03-11,956.3000000001489,956.21356,2015-01-01 02:39:26,bin9566,35, -CTSPillarNetworkA,9567,9567,9567,1996-03-12,956.4000000001489,956.31354,2015-01-01 02:39:27,bin9567,75, -CTSPillarNetworkA,9568,9568,9568,1996-03-13,956.5000000001489,956.4135,2015-01-01 02:39:28,bin9568,35, -CTSPillarNetworkA,9569,9569,9569,1996-03-14,956.600000000149,956.5135,2015-01-01 02:39:29,bin9569,75, -CTSPillarNetworkA,9570,9570,9570,1996-03-15,956.700000000149,956.61346,2015-01-01 02:39:30,bin9570,35, -CTSPillarNetworkA,9571,9571,9571,1996-03-16,956.800000000149,956.71344,2015-01-01 02:39:31,bin9571,75, -CTSPillarNetworkA,9572,9572,9572,1996-03-17,956.900000000149,956.8134,2015-01-01 02:39:32,bin9572,35, -CTSPillarNetworkA,9573,9573,9573,1996-03-18,957.000000000149,956.9134,2015-01-01 02:39:33,bin9573,75, -CTSPillarNetworkA,9574,9574,9574,1996-03-19,957.1000000001491,957.01337,2015-01-01 02:39:34,bin9574,35, -CTSPillarNetworkA,9575,9575,9575,1996-03-20,957.2000000001491,957.11334,2015-01-01 02:39:35,bin9575,75, -CTSPillarNetworkA,9576,9576,9576,1996-03-21,957.3000000001491,957.2133,2015-01-01 02:39:36,bin9576,35, -CTSPillarNetworkA,9577,9577,9577,1996-03-22,957.4000000001491,957.3133,2015-01-01 02:39:37,bin9577,75, -CTSPillarNetworkA,9578,9578,9578,1996-03-23,957.5000000001492,957.41327,2015-01-01 02:39:38,bin9578,35, -CTSPillarNetworkA,9579,9579,9579,1996-03-24,957.6000000001492,957.51324,2015-01-01 02:39:39,bin9579,75, -CTSPillarNetworkA,9580,9580,9580,1996-03-25,957.7000000001492,957.6132,2015-01-01 02:39:40,bin9580,35, -CTSPillarNetworkA,9581,9581,9581,1996-03-26,957.8000000001492,957.7132,2015-01-01 02:39:41,bin9581,75, -CTSPillarNetworkA,9582,9582,9582,1996-03-27,957.9000000001492,957.8132,2015-01-01 02:39:42,bin9582,35, -CTSPillarNetworkA,9583,9583,9583,1996-03-28,958.0000000001493,957.91315,2015-01-01 02:39:43,bin9583,75, -CTSPillarNetworkA,9584,9584,9584,1996-03-29,958.1000000001493,958.0131,2015-01-01 02:39:44,bin9584,35, -CTSPillarNetworkA,9585,9585,9585,1996-03-30,958.2000000001493,958.1131,2015-01-01 02:39:45,bin9585,75, -CTSPillarNetworkA,9586,9586,9586,1996-03-31,958.3000000001493,958.2131,2015-01-01 02:39:46,bin9586,35, -CTSPillarNetworkA,9587,9587,9587,1996-04-01,958.4000000001494,958.31305,2015-01-01 02:39:47,bin9587,75, -CTSPillarNetworkA,9588,9588,9588,1996-04-02,958.5000000001494,958.413,2015-01-01 02:39:48,bin9588,35, -CTSPillarNetworkA,9589,9589,9589,1996-04-03,958.6000000001494,958.513,2015-01-01 02:39:49,bin9589,75, -CTSPillarNetworkA,9590,9590,9590,1996-04-04,958.7000000001494,958.613,2015-01-01 02:39:50,bin9590,35, -CTSPillarNetworkA,9591,9591,9591,1996-04-05,958.8000000001495,958.71295,2015-01-01 02:39:51,bin9591,75, -CTSPillarNetworkA,9592,9592,9592,1996-04-06,958.9000000001495,958.8129,2015-01-01 02:39:52,bin9592,35, -CTSPillarNetworkA,9593,9593,9593,1996-04-07,959.0000000001495,958.9129,2015-01-01 02:39:53,bin9593,75, -CTSPillarNetworkA,9594,9594,9594,1996-04-08,959.1000000001495,959.0129,2015-01-01 02:39:54,bin9594,35, -CTSPillarNetworkA,9595,9595,9595,1996-04-09,959.2000000001495,959.11285,2015-01-01 02:39:55,bin9595,75, -CTSPillarNetworkA,9596,9596,9596,1996-04-10,959.3000000001496,959.2128,2015-01-01 02:39:56,bin9596,35, -CTSPillarNetworkA,9597,9597,9597,1996-04-11,959.4000000001496,959.3128,2015-01-01 02:39:57,bin9597,75, -CTSPillarNetworkA,9598,9598,9598,1996-04-12,959.5000000001496,959.4128,2015-01-01 02:39:58,bin9598,35, -CTSPillarNetworkA,9599,9599,9599,1996-04-13,959.6000000001496,959.51276,2015-01-01 02:39:59,bin9599,75, -CTSPillarNetworkA,9600,9600,9600,1996-04-14,959.7000000001497,959.61273,2015-01-01 02:40:00,bin9600,35, -CTSPillarNetworkA,9601,9601,9601,1996-04-15,959.8000000001497,959.7127,2015-01-01 02:40:01,bin9601,75, -CTSPillarNetworkA,9602,9602,9602,1996-04-16,959.9000000001497,959.8127,2015-01-01 02:40:02,bin9602,35, -CTSPillarNetworkA,9603,9603,9603,1996-04-17,960.0000000001497,959.91266,2015-01-01 02:40:03,bin9603,75, -CTSPillarNetworkA,9604,9604,9604,1996-04-18,960.1000000001497,960.01263,2015-01-01 02:40:04,bin9604,35, -CTSPillarNetworkA,9605,9605,9605,1996-04-19,960.2000000001498,960.1126,2015-01-01 02:40:05,bin9605,75, -CTSPillarNetworkA,9606,9606,9606,1996-04-20,960.3000000001498,960.2126,2015-01-01 02:40:06,bin9606,35, -CTSPillarNetworkA,9607,9607,9607,1996-04-21,960.4000000001498,960.31256,2015-01-01 02:40:07,bin9607,75, -CTSPillarNetworkA,9608,9608,9608,1996-04-22,960.5000000001498,960.41254,2015-01-01 02:40:08,bin9608,35, -CTSPillarNetworkA,9609,9609,9609,1996-04-23,960.6000000001499,960.5125,2015-01-01 02:40:09,bin9609,75, -CTSPillarNetworkA,9610,9610,9610,1996-04-24,960.7000000001499,960.6125,2015-01-01 02:40:10,bin9610,35, -CTSPillarNetworkA,9611,9611,9611,1996-04-25,960.8000000001499,960.71246,2015-01-01 02:40:11,bin9611,75, -CTSPillarNetworkA,9612,9612,9612,1996-04-26,960.9000000001499,960.81244,2015-01-01 02:40:12,bin9612,35, -CTSPillarNetworkA,9613,9613,9613,1996-04-27,961.00000000015,960.9124,2015-01-01 02:40:13,bin9613,75, -CTSPillarNetworkA,9614,9614,9614,1996-04-28,961.10000000015,961.0124,2015-01-01 02:40:14,bin9614,35, -CTSPillarNetworkA,9615,9615,9615,1996-04-29,961.20000000015,961.11237,2015-01-01 02:40:15,bin9615,75, -CTSPillarNetworkA,9616,9616,9616,1996-04-30,961.30000000015,961.21234,2015-01-01 02:40:16,bin9616,35, -CTSPillarNetworkA,9617,9617,9617,1996-05-01,961.40000000015,961.3123,2015-01-01 02:40:17,bin9617,75, -CTSPillarNetworkA,9618,9618,9618,1996-05-02,961.5000000001501,961.4123,2015-01-01 02:40:18,bin9618,35, -CTSPillarNetworkA,9619,9619,9619,1996-05-03,961.6000000001501,961.51227,2015-01-01 02:40:19,bin9619,75, -CTSPillarNetworkA,9620,9620,9620,1996-05-04,961.7000000001501,961.61224,2015-01-01 02:40:20,bin9620,35, -CTSPillarNetworkA,9621,9621,9621,1996-05-05,961.8000000001501,961.7122,2015-01-01 02:40:21,bin9621,75, -CTSPillarNetworkA,9622,9622,9622,1996-05-06,961.9000000001502,961.8122,2015-01-01 02:40:22,bin9622,35, -CTSPillarNetworkA,9623,9623,9623,1996-05-07,962.0000000001502,961.9122,2015-01-01 02:40:23,bin9623,75, -CTSPillarNetworkA,9624,9624,9624,1996-05-08,962.1000000001502,962.01215,2015-01-01 02:40:24,bin9624,35, -CTSPillarNetworkA,9625,9625,9625,1996-05-09,962.2000000001502,962.1121,2015-01-01 02:40:25,bin9625,75, -CTSPillarNetworkA,9626,9626,9626,1996-05-10,962.3000000001502,962.2121,2015-01-01 02:40:26,bin9626,35, -CTSPillarNetworkA,9627,9627,9627,1996-05-11,962.4000000001503,962.3121,2015-01-01 02:40:27,bin9627,75, -CTSPillarNetworkA,9628,9628,9628,1996-05-12,962.5000000001503,962.41205,2015-01-01 02:40:28,bin9628,35, -CTSPillarNetworkA,9629,9629,9629,1996-05-13,962.6000000001503,962.512,2015-01-01 02:40:29,bin9629,75, -CTSPillarNetworkA,9630,9630,9630,1996-05-14,962.7000000001503,962.612,2015-01-01 02:40:30,bin9630,35, -CTSPillarNetworkA,9631,9631,9631,1996-05-15,962.8000000001504,962.712,2015-01-01 02:40:31,bin9631,75, -CTSPillarNetworkA,9632,9632,9632,1996-05-16,962.9000000001504,962.81195,2015-01-01 02:40:32,bin9632,35, -CTSPillarNetworkA,9633,9633,9633,1996-05-17,963.0000000001504,962.9119,2015-01-01 02:40:33,bin9633,75, -CTSPillarNetworkA,9634,9634,9634,1996-05-18,963.1000000001504,963.0119,2015-01-01 02:40:34,bin9634,35, -CTSPillarNetworkA,9635,9635,9635,1996-05-19,963.2000000001505,963.1119,2015-01-01 02:40:35,bin9635,75, -CTSPillarNetworkA,9636,9636,9636,1996-05-20,963.3000000001505,963.21185,2015-01-01 02:40:36,bin9636,35, -CTSPillarNetworkA,9637,9637,9637,1996-05-21,963.4000000001505,963.3118,2015-01-01 02:40:37,bin9637,75, -CTSPillarNetworkA,9638,9638,9638,1996-05-22,963.5000000001505,963.4118,2015-01-01 02:40:38,bin9638,35, -CTSPillarNetworkA,9639,9639,9639,1996-05-23,963.6000000001505,963.5118,2015-01-01 02:40:39,bin9639,75, -CTSPillarNetworkA,9640,9640,9640,1996-05-24,963.7000000001506,963.61176,2015-01-01 02:40:40,bin9640,35, -CTSPillarNetworkA,9641,9641,9641,1996-05-25,963.8000000001506,963.71173,2015-01-01 02:40:41,bin9641,75, -CTSPillarNetworkA,9642,9642,9642,1996-05-26,963.9000000001506,963.8117,2015-01-01 02:40:42,bin9642,35, -CTSPillarNetworkA,9643,9643,9643,1996-05-27,964.0000000001506,963.9117,2015-01-01 02:40:43,bin9643,75, -CTSPillarNetworkA,9644,9644,9644,1996-05-28,964.1000000001507,964.01166,2015-01-01 02:40:44,bin9644,35, -CTSPillarNetworkA,9645,9645,9645,1996-05-29,964.2000000001507,964.11163,2015-01-01 02:40:45,bin9645,75, -CTSPillarNetworkA,9646,9646,9646,1996-05-30,964.3000000001507,964.2116,2015-01-01 02:40:46,bin9646,35, -CTSPillarNetworkA,9647,9647,9647,1996-05-31,964.4000000001507,964.3116,2015-01-01 02:40:47,bin9647,75, -CTSPillarNetworkA,9648,9648,9648,1996-06-01,964.5000000001507,964.41156,2015-01-01 02:40:48,bin9648,35, -CTSPillarNetworkA,9649,9649,9649,1996-06-02,964.6000000001508,964.51154,2015-01-01 02:40:49,bin9649,75, -CTSPillarNetworkA,9650,9650,9650,1996-06-03,964.7000000001508,964.6115,2015-01-01 02:40:50,bin9650,35, -CTSPillarNetworkA,9651,9651,9651,1996-06-04,964.8000000001508,964.7115,2015-01-01 02:40:51,bin9651,75, -CTSPillarNetworkA,9652,9652,9652,1996-06-05,964.9000000001508,964.81146,2015-01-01 02:40:52,bin9652,35, -CTSPillarNetworkA,9653,9653,9653,1996-06-06,965.0000000001509,964.91144,2015-01-01 02:40:53,bin9653,75, -CTSPillarNetworkA,9654,9654,9654,1996-06-07,965.1000000001509,965.0114,2015-01-01 02:40:54,bin9654,35, -CTSPillarNetworkA,9655,9655,9655,1996-06-08,965.2000000001509,965.1114,2015-01-01 02:40:55,bin9655,75, -CTSPillarNetworkA,9656,9656,9656,1996-06-09,965.3000000001509,965.21136,2015-01-01 02:40:56,bin9656,35, -CTSPillarNetworkA,9657,9657,9657,1996-06-10,965.400000000151,965.31134,2015-01-01 02:40:57,bin9657,75, -CTSPillarNetworkA,9658,9658,9658,1996-06-11,965.500000000151,965.4113,2015-01-01 02:40:58,bin9658,35, -CTSPillarNetworkA,9659,9659,9659,1996-06-12,965.600000000151,965.5113,2015-01-01 02:40:59,bin9659,75, -CTSPillarNetworkA,9660,9660,9660,1996-06-13,965.700000000151,965.61127,2015-01-01 02:41:00,bin9660,35, -CTSPillarNetworkA,9661,9661,9661,1996-06-14,965.800000000151,965.71124,2015-01-01 02:41:01,bin9661,75, -CTSPillarNetworkA,9662,9662,9662,1996-06-15,965.9000000001511,965.8112,2015-01-01 02:41:02,bin9662,35, -CTSPillarNetworkA,9663,9663,9663,1996-06-16,966.0000000001511,965.9112,2015-01-01 02:41:03,bin9663,75, -CTSPillarNetworkA,9664,9664,9664,1996-06-17,966.1000000001511,966.01117,2015-01-01 02:41:04,bin9664,35, -CTSPillarNetworkA,9665,9665,9665,1996-06-18,966.2000000001511,966.11115,2015-01-01 02:41:05,bin9665,75, -CTSPillarNetworkA,9666,9666,9666,1996-06-19,966.3000000001512,966.2111,2015-01-01 02:41:06,bin9666,35, -CTSPillarNetworkA,9667,9667,9667,1996-06-20,966.4000000001512,966.3111,2015-01-01 02:41:07,bin9667,75, -CTSPillarNetworkA,9668,9668,9668,1996-06-21,966.5000000001512,966.4111,2015-01-01 02:41:08,bin9668,35, -CTSPillarNetworkA,9669,9669,9669,1996-06-22,966.6000000001512,966.51105,2015-01-01 02:41:09,bin9669,75, -CTSPillarNetworkA,9670,9670,9670,1996-06-23,966.7000000001512,966.611,2015-01-01 02:41:10,bin9670,35, -CTSPillarNetworkA,9671,9671,9671,1996-06-24,966.8000000001513,966.711,2015-01-01 02:41:11,bin9671,75, -CTSPillarNetworkA,9672,9672,9672,1996-06-25,966.9000000001513,966.811,2015-01-01 02:41:12,bin9672,35, -CTSPillarNetworkA,9673,9673,9673,1996-06-26,967.0000000001513,966.91095,2015-01-01 02:41:13,bin9673,75, -CTSPillarNetworkA,9674,9674,9674,1996-06-27,967.1000000001513,967.0109,2015-01-01 02:41:14,bin9674,35, -CTSPillarNetworkA,9675,9675,9675,1996-06-28,967.2000000001514,967.1109,2015-01-01 02:41:15,bin9675,75, -CTSPillarNetworkA,9676,9676,9676,1996-06-29,967.3000000001514,967.2109,2015-01-01 02:41:16,bin9676,35, -CTSPillarNetworkA,9677,9677,9677,1996-06-30,967.4000000001514,967.31085,2015-01-01 02:41:17,bin9677,75, -CTSPillarNetworkA,9678,9678,9678,1996-07-01,967.5000000001514,967.4108,2015-01-01 02:41:18,bin9678,35, -CTSPillarNetworkA,9679,9679,9679,1996-07-02,967.6000000001515,967.5108,2015-01-01 02:41:19,bin9679,75, -CTSPillarNetworkA,9680,9680,9680,1996-07-03,967.7000000001515,967.6108,2015-01-01 02:41:20,bin9680,35, -CTSPillarNetworkA,9681,9681,9681,1996-07-04,967.8000000001515,967.71075,2015-01-01 02:41:21,bin9681,75, -CTSPillarNetworkA,9682,9682,9682,1996-07-05,967.9000000001515,967.8107,2015-01-01 02:41:22,bin9682,35, -CTSPillarNetworkA,9683,9683,9683,1996-07-06,968.0000000001515,967.9107,2015-01-01 02:41:23,bin9683,75, -CTSPillarNetworkA,9684,9684,9684,1996-07-07,968.1000000001516,968.0107,2015-01-01 02:41:24,bin9684,35, -CTSPillarNetworkA,9685,9685,9685,1996-07-08,968.2000000001516,968.11066,2015-01-01 02:41:25,bin9685,75, -CTSPillarNetworkA,9686,9686,9686,1996-07-09,968.3000000001516,968.21063,2015-01-01 02:41:26,bin9686,35, -CTSPillarNetworkA,9687,9687,9687,1996-07-10,968.4000000001516,968.3106,2015-01-01 02:41:27,bin9687,75, -CTSPillarNetworkA,9688,9688,9688,1996-07-11,968.5000000001517,968.4106,2015-01-01 02:41:28,bin9688,35, -CTSPillarNetworkA,9689,9689,9689,1996-07-12,968.6000000001517,968.51056,2015-01-01 02:41:29,bin9689,75, -CTSPillarNetworkA,9690,9690,9690,1996-07-13,968.7000000001517,968.61053,2015-01-01 02:41:30,bin9690,35, -CTSPillarNetworkA,9691,9691,9691,1996-07-14,968.8000000001517,968.7105,2015-01-01 02:41:31,bin9691,75, -CTSPillarNetworkA,9692,9692,9692,1996-07-15,968.9000000001517,968.8105,2015-01-01 02:41:32,bin9692,35, -CTSPillarNetworkA,9693,9693,9693,1996-07-16,969.0000000001518,968.91046,2015-01-01 02:41:33,bin9693,75, -CTSPillarNetworkA,9694,9694,9694,1996-07-17,969.1000000001518,969.01044,2015-01-01 02:41:34,bin9694,35, -CTSPillarNetworkA,9695,9695,9695,1996-07-18,969.2000000001518,969.1104,2015-01-01 02:41:35,bin9695,75, -CTSPillarNetworkA,9696,9696,9696,1996-07-19,969.3000000001518,969.2104,2015-01-01 02:41:36,bin9696,35, -CTSPillarNetworkA,9697,9697,9697,1996-07-20,969.4000000001519,969.31036,2015-01-01 02:41:37,bin9697,75, -CTSPillarNetworkA,9698,9698,9698,1996-07-21,969.5000000001519,969.41034,2015-01-01 02:41:38,bin9698,35, -CTSPillarNetworkA,9699,9699,9699,1996-07-22,969.6000000001519,969.5103,2015-01-01 02:41:39,bin9699,75, -CTSPillarNetworkA,9700,9700,9700,1996-07-23,969.7000000001519,969.6103,2015-01-01 02:41:40,bin9700,35, -CTSPillarNetworkA,9701,9701,9701,1996-07-24,969.800000000152,969.71027,2015-01-01 02:41:41,bin9701,75, -CTSPillarNetworkA,9702,9702,9702,1996-07-25,969.900000000152,969.81024,2015-01-01 02:41:42,bin9702,35, -CTSPillarNetworkA,9703,9703,9703,1996-07-26,970.000000000152,969.9102,2015-01-01 02:41:43,bin9703,75, -CTSPillarNetworkA,9704,9704,9704,1996-07-27,970.100000000152,970.0102,2015-01-01 02:41:44,bin9704,35, -CTSPillarNetworkA,9705,9705,9705,1996-07-28,970.200000000152,970.11017,2015-01-01 02:41:45,bin9705,75, -CTSPillarNetworkA,9706,9706,9706,1996-07-29,970.3000000001521,970.21014,2015-01-01 02:41:46,bin9706,35, -CTSPillarNetworkA,9707,9707,9707,1996-07-30,970.4000000001521,970.3101,2015-01-01 02:41:47,bin9707,75, -CTSPillarNetworkA,9708,9708,9708,1996-07-31,970.5000000001521,970.4101,2015-01-01 02:41:48,bin9708,35, -CTSPillarNetworkA,9709,9709,9709,1996-08-01,970.6000000001521,970.5101,2015-01-01 02:41:49,bin9709,75, -CTSPillarNetworkA,9710,9710,9710,1996-08-02,970.7000000001522,970.61005,2015-01-01 02:41:50,bin9710,35, -CTSPillarNetworkA,9711,9711,9711,1996-08-03,970.8000000001522,970.71,2015-01-01 02:41:51,bin9711,75, -CTSPillarNetworkA,9712,9712,9712,1996-08-04,970.9000000001522,970.81,2015-01-01 02:41:52,bin9712,35, -CTSPillarNetworkA,9713,9713,9713,1996-08-05,971.0000000001522,970.91,2015-01-01 02:41:53,bin9713,75, -CTSPillarNetworkA,9714,9714,9714,1996-08-06,971.1000000001522,971.00995,2015-01-01 02:41:54,bin9714,35, -CTSPillarNetworkA,9715,9715,9715,1996-08-07,971.2000000001523,971.1099,2015-01-01 02:41:55,bin9715,75, -CTSPillarNetworkA,9716,9716,9716,1996-08-08,971.3000000001523,971.2099,2015-01-01 02:41:56,bin9716,35, -CTSPillarNetworkA,9717,9717,9717,1996-08-09,971.4000000001523,971.3099,2015-01-01 02:41:57,bin9717,75, -CTSPillarNetworkA,9718,9718,9718,1996-08-10,971.5000000001523,971.40985,2015-01-01 02:41:58,bin9718,35, -CTSPillarNetworkA,9719,9719,9719,1996-08-11,971.6000000001524,971.5098,2015-01-01 02:41:59,bin9719,75, -CTSPillarNetworkA,9720,9720,9720,1996-08-12,971.7000000001524,971.6098,2015-01-01 02:42:00,bin9720,35, -CTSPillarNetworkA,9721,9721,9721,1996-08-13,971.8000000001524,971.7098,2015-01-01 02:42:01,bin9721,75, -CTSPillarNetworkA,9722,9722,9722,1996-08-14,971.9000000001524,971.80975,2015-01-01 02:42:02,bin9722,35, -CTSPillarNetworkA,9723,9723,9723,1996-08-15,972.0000000001525,971.9097,2015-01-01 02:42:03,bin9723,75, -CTSPillarNetworkA,9724,9724,9724,1996-08-16,972.1000000001525,972.0097,2015-01-01 02:42:04,bin9724,35, -CTSPillarNetworkA,9725,9725,9725,1996-08-17,972.2000000001525,972.1097,2015-01-01 02:42:05,bin9725,75, -CTSPillarNetworkA,9726,9726,9726,1996-08-18,972.3000000001525,972.20966,2015-01-01 02:42:06,bin9726,35, -CTSPillarNetworkA,9727,9727,9727,1996-08-19,972.4000000001525,972.30963,2015-01-01 02:42:07,bin9727,75, -CTSPillarNetworkA,9728,9728,9728,1996-08-20,972.5000000001526,972.4096,2015-01-01 02:42:08,bin9728,35, -CTSPillarNetworkA,9729,9729,9729,1996-08-21,972.6000000001526,972.5096,2015-01-01 02:42:09,bin9729,75, -CTSPillarNetworkA,9730,9730,9730,1996-08-22,972.7000000001526,972.60956,2015-01-01 02:42:10,bin9730,35, -CTSPillarNetworkA,9731,9731,9731,1996-08-23,972.8000000001526,972.70953,2015-01-01 02:42:11,bin9731,75, -CTSPillarNetworkA,9732,9732,9732,1996-08-24,972.9000000001527,972.8095,2015-01-01 02:42:12,bin9732,35, -CTSPillarNetworkA,9733,9733,9733,1996-08-25,973.0000000001527,972.9095,2015-01-01 02:42:13,bin9733,75, -CTSPillarNetworkA,9734,9734,9734,1996-08-26,973.1000000001527,973.00946,2015-01-01 02:42:14,bin9734,35, -CTSPillarNetworkA,9735,9735,9735,1996-08-27,973.2000000001527,973.10944,2015-01-01 02:42:15,bin9735,75, -CTSPillarNetworkA,9736,9736,9736,1996-08-28,973.3000000001527,973.2094,2015-01-01 02:42:16,bin9736,35, -CTSPillarNetworkA,9737,9737,9737,1996-08-29,973.4000000001528,973.3094,2015-01-01 02:42:17,bin9737,75, -CTSPillarNetworkA,9738,9738,9738,1996-08-30,973.5000000001528,973.40936,2015-01-01 02:42:18,bin9738,35, -CTSPillarNetworkA,9739,9739,9739,1996-08-31,973.6000000001528,973.50934,2015-01-01 02:42:19,bin9739,75, -CTSPillarNetworkA,9740,9740,9740,1996-09-01,973.7000000001528,973.6093,2015-01-01 02:42:20,bin9740,35, -CTSPillarNetworkA,9741,9741,9741,1996-09-02,973.8000000001529,973.7093,2015-01-01 02:42:21,bin9741,75, -CTSPillarNetworkA,9742,9742,9742,1996-09-03,973.9000000001529,973.80927,2015-01-01 02:42:22,bin9742,35, -CTSPillarNetworkA,9743,9743,9743,1996-09-04,974.0000000001529,973.90924,2015-01-01 02:42:23,bin9743,75, -CTSPillarNetworkA,9744,9744,9744,1996-09-05,974.1000000001529,974.0092,2015-01-01 02:42:24,bin9744,35, -CTSPillarNetworkA,9745,9745,9745,1996-09-06,974.200000000153,974.1092,2015-01-01 02:42:25,bin9745,75, -CTSPillarNetworkA,9746,9746,9746,1996-09-07,974.300000000153,974.20917,2015-01-01 02:42:26,bin9746,35, -CTSPillarNetworkA,9747,9747,9747,1996-09-08,974.400000000153,974.30914,2015-01-01 02:42:27,bin9747,75, -CTSPillarNetworkA,9748,9748,9748,1996-09-09,974.500000000153,974.4091,2015-01-01 02:42:28,bin9748,35, -CTSPillarNetworkA,9749,9749,9749,1996-09-10,974.600000000153,974.5091,2015-01-01 02:42:29,bin9749,75, -CTSPillarNetworkA,9750,9750,9750,1996-09-11,974.7000000001531,974.6091,2015-01-01 02:42:30,bin9750,35, -CTSPillarNetworkA,9751,9751,9751,1996-09-12,974.8000000001531,974.70905,2015-01-01 02:42:31,bin9751,75, -CTSPillarNetworkA,9752,9752,9752,1996-09-13,974.9000000001531,974.809,2015-01-01 02:42:32,bin9752,35, -CTSPillarNetworkA,9753,9753,9753,1996-09-14,975.0000000001531,974.909,2015-01-01 02:42:33,bin9753,75, -CTSPillarNetworkA,9754,9754,9754,1996-09-15,975.1000000001532,975.009,2015-01-01 02:42:34,bin9754,35, -CTSPillarNetworkA,9755,9755,9755,1996-09-16,975.2000000001532,975.10895,2015-01-01 02:42:35,bin9755,75, -CTSPillarNetworkA,9756,9756,9756,1996-09-17,975.3000000001532,975.2089,2015-01-01 02:42:36,bin9756,35, -CTSPillarNetworkA,9757,9757,9757,1996-09-18,975.4000000001532,975.3089,2015-01-01 02:42:37,bin9757,75, -CTSPillarNetworkA,9758,9758,9758,1996-09-19,975.5000000001532,975.4089,2015-01-01 02:42:38,bin9758,35, -CTSPillarNetworkA,9759,9759,9759,1996-09-20,975.6000000001533,975.50885,2015-01-01 02:42:39,bin9759,75, -CTSPillarNetworkA,9760,9760,9760,1996-09-21,975.7000000001533,975.6088,2015-01-01 02:42:40,bin9760,35, -CTSPillarNetworkA,9761,9761,9761,1996-09-22,975.8000000001533,975.7088,2015-01-01 02:42:41,bin9761,75, -CTSPillarNetworkA,9762,9762,9762,1996-09-23,975.9000000001533,975.8088,2015-01-01 02:42:42,bin9762,35, -CTSPillarNetworkA,9763,9763,9763,1996-09-24,976.0000000001534,975.90875,2015-01-01 02:42:43,bin9763,75, -CTSPillarNetworkA,9764,9764,9764,1996-09-25,976.1000000001534,976.0087,2015-01-01 02:42:44,bin9764,35, -CTSPillarNetworkA,9765,9765,9765,1996-09-26,976.2000000001534,976.1087,2015-01-01 02:42:45,bin9765,75, -CTSPillarNetworkA,9766,9766,9766,1996-09-27,976.3000000001534,976.2087,2015-01-01 02:42:46,bin9766,35, -CTSPillarNetworkA,9767,9767,9767,1996-09-28,976.4000000001535,976.30865,2015-01-01 02:42:47,bin9767,75, -CTSPillarNetworkA,9768,9768,9768,1996-09-29,976.5000000001535,976.4086,2015-01-01 02:42:48,bin9768,35, -CTSPillarNetworkA,9769,9769,9769,1996-09-30,976.6000000001535,976.5086,2015-01-01 02:42:49,bin9769,75, -CTSPillarNetworkA,9770,9770,9770,1996-10-01,976.7000000001535,976.6086,2015-01-01 02:42:50,bin9770,35, -CTSPillarNetworkA,9771,9771,9771,1996-10-02,976.8000000001535,976.70856,2015-01-01 02:42:51,bin9771,75, -CTSPillarNetworkA,9772,9772,9772,1996-10-03,976.9000000001536,976.80853,2015-01-01 02:42:52,bin9772,35, -CTSPillarNetworkA,9773,9773,9773,1996-10-04,977.0000000001536,976.9085,2015-01-01 02:42:53,bin9773,75, -CTSPillarNetworkA,9774,9774,9774,1996-10-05,977.1000000001536,977.0085,2015-01-01 02:42:54,bin9774,35, -CTSPillarNetworkA,9775,9775,9775,1996-10-06,977.2000000001536,977.10846,2015-01-01 02:42:55,bin9775,75, -CTSPillarNetworkA,9776,9776,9776,1996-10-07,977.3000000001537,977.20844,2015-01-01 02:42:56,bin9776,35, -CTSPillarNetworkA,9777,9777,9777,1996-10-08,977.4000000001537,977.3084,2015-01-01 02:42:57,bin9777,75, -CTSPillarNetworkA,9778,9778,9778,1996-10-09,977.5000000001537,977.4084,2015-01-01 02:42:58,bin9778,35, -CTSPillarNetworkA,9779,9779,9779,1996-10-10,977.6000000001537,977.50836,2015-01-01 02:42:59,bin9779,75, -CTSPillarNetworkA,9780,9780,9780,1996-10-11,977.7000000001538,977.60834,2015-01-01 02:43:00,bin9780,35, -CTSPillarNetworkA,9781,9781,9781,1996-10-12,977.8000000001538,977.7083,2015-01-01 02:43:01,bin9781,75, -CTSPillarNetworkA,9782,9782,9782,1996-10-13,977.9000000001538,977.8083,2015-01-01 02:43:02,bin9782,35, -CTSPillarNetworkA,9783,9783,9783,1996-10-14,978.0000000001538,977.90826,2015-01-01 02:43:03,bin9783,75, -CTSPillarNetworkA,9784,9784,9784,1996-10-15,978.1000000001538,978.00824,2015-01-01 02:43:04,bin9784,35, -CTSPillarNetworkA,9785,9785,9785,1996-10-16,978.2000000001539,978.1082,2015-01-01 02:43:05,bin9785,75, -CTSPillarNetworkA,9786,9786,9786,1996-10-17,978.3000000001539,978.2082,2015-01-01 02:43:06,bin9786,35, -CTSPillarNetworkA,9787,9787,9787,1996-10-18,978.4000000001539,978.30817,2015-01-01 02:43:07,bin9787,75, -CTSPillarNetworkA,9788,9788,9788,1996-10-19,978.5000000001539,978.40814,2015-01-01 02:43:08,bin9788,35, -CTSPillarNetworkA,9789,9789,9789,1996-10-20,978.600000000154,978.5081,2015-01-01 02:43:09,bin9789,75, -CTSPillarNetworkA,9790,9790,9790,1996-10-21,978.700000000154,978.6081,2015-01-01 02:43:10,bin9790,35, -CTSPillarNetworkA,9791,9791,9791,1996-10-22,978.800000000154,978.70807,2015-01-01 02:43:11,bin9791,75, -CTSPillarNetworkA,9792,9792,9792,1996-10-23,978.900000000154,978.80804,2015-01-01 02:43:12,bin9792,35, -CTSPillarNetworkA,9793,9793,9793,1996-10-24,979.000000000154,978.908,2015-01-01 02:43:13,bin9793,75, -CTSPillarNetworkA,9794,9794,9794,1996-10-25,979.1000000001541,979.008,2015-01-01 02:43:14,bin9794,35, -CTSPillarNetworkA,9795,9795,9795,1996-10-26,979.2000000001541,979.108,2015-01-01 02:43:15,bin9795,75, -CTSPillarNetworkA,9796,9796,9796,1996-10-27,979.3000000001541,979.20795,2015-01-01 02:43:16,bin9796,35, -CTSPillarNetworkA,9797,9797,9797,1996-10-28,979.4000000001541,979.3079,2015-01-01 02:43:17,bin9797,75, -CTSPillarNetworkA,9798,9798,9798,1996-10-29,979.5000000001542,979.4079,2015-01-01 02:43:18,bin9798,35, -CTSPillarNetworkA,9799,9799,9799,1996-10-30,979.6000000001542,979.5079,2015-01-01 02:43:19,bin9799,75, -CTSPillarNetworkA,9800,9800,9800,1996-10-31,979.7000000001542,979.60785,2015-01-01 02:43:20,bin9800,35, -CTSPillarNetworkA,9801,9801,9801,1996-11-01,979.8000000001542,979.7078,2015-01-01 02:43:21,bin9801,75, -CTSPillarNetworkA,9802,9802,9802,1996-11-02,979.9000000001543,979.8078,2015-01-01 02:43:22,bin9802,35, -CTSPillarNetworkA,9803,9803,9803,1996-11-03,980.0000000001543,979.9078,2015-01-01 02:43:23,bin9803,75, -CTSPillarNetworkA,9804,9804,9804,1996-11-04,980.1000000001543,980.00775,2015-01-01 02:43:24,bin9804,35, -CTSPillarNetworkA,9805,9805,9805,1996-11-05,980.2000000001543,980.1077,2015-01-01 02:43:25,bin9805,75, -CTSPillarNetworkA,9806,9806,9806,1996-11-06,980.3000000001543,980.2077,2015-01-01 02:43:26,bin9806,35, -CTSPillarNetworkA,9807,9807,9807,1996-11-07,980.4000000001544,980.3077,2015-01-01 02:43:27,bin9807,75, -CTSPillarNetworkA,9808,9808,9808,1996-11-08,980.5000000001544,980.40765,2015-01-01 02:43:28,bin9808,35, -CTSPillarNetworkA,9809,9809,9809,1996-11-09,980.6000000001544,980.5076,2015-01-01 02:43:29,bin9809,75, -CTSPillarNetworkA,9810,9810,9810,1996-11-10,980.7000000001544,980.6076,2015-01-01 02:43:30,bin9810,35, -CTSPillarNetworkA,9811,9811,9811,1996-11-11,980.8000000001545,980.7076,2015-01-01 02:43:31,bin9811,75, -CTSPillarNetworkA,9812,9812,9812,1996-11-12,980.9000000001545,980.80756,2015-01-01 02:43:32,bin9812,35, -CTSPillarNetworkA,9813,9813,9813,1996-11-13,981.0000000001545,980.90753,2015-01-01 02:43:33,bin9813,75, -CTSPillarNetworkA,9814,9814,9814,1996-11-14,981.1000000001545,981.0075,2015-01-01 02:43:34,bin9814,35, -CTSPillarNetworkA,9815,9815,9815,1996-11-15,981.2000000001545,981.1075,2015-01-01 02:43:35,bin9815,75, -CTSPillarNetworkA,9816,9816,9816,1996-11-16,981.3000000001546,981.20746,2015-01-01 02:43:36,bin9816,35, -CTSPillarNetworkA,9817,9817,9817,1996-11-17,981.4000000001546,981.30743,2015-01-01 02:43:37,bin9817,75, -CTSPillarNetworkA,9818,9818,9818,1996-11-18,981.5000000001546,981.4074,2015-01-01 02:43:38,bin9818,35, -CTSPillarNetworkA,9819,9819,9819,1996-11-19,981.6000000001546,981.5074,2015-01-01 02:43:39,bin9819,75, -CTSPillarNetworkA,9820,9820,9820,1996-11-20,981.7000000001547,981.60736,2015-01-01 02:43:40,bin9820,35, -CTSPillarNetworkA,9821,9821,9821,1996-11-21,981.8000000001547,981.70734,2015-01-01 02:43:41,bin9821,75, -CTSPillarNetworkA,9822,9822,9822,1996-11-22,981.9000000001547,981.8073,2015-01-01 02:43:42,bin9822,35, -CTSPillarNetworkA,9823,9823,9823,1996-11-23,982.0000000001547,981.9073,2015-01-01 02:43:43,bin9823,75, -CTSPillarNetworkA,9824,9824,9824,1996-11-24,982.1000000001548,982.00726,2015-01-01 02:43:44,bin9824,35, -CTSPillarNetworkA,9825,9825,9825,1996-11-25,982.2000000001548,982.10724,2015-01-01 02:43:45,bin9825,75, -CTSPillarNetworkA,9826,9826,9826,1996-11-26,982.3000000001548,982.2072,2015-01-01 02:43:46,bin9826,35, -CTSPillarNetworkA,9827,9827,9827,1996-11-27,982.4000000001548,982.3072,2015-01-01 02:43:47,bin9827,75, -CTSPillarNetworkA,9828,9828,9828,1996-11-28,982.5000000001548,982.40717,2015-01-01 02:43:48,bin9828,35, -CTSPillarNetworkA,9829,9829,9829,1996-11-29,982.6000000001549,982.50714,2015-01-01 02:43:49,bin9829,75, -CTSPillarNetworkA,9830,9830,9830,1996-11-30,982.7000000001549,982.6071,2015-01-01 02:43:50,bin9830,35, -CTSPillarNetworkA,9831,9831,9831,1996-12-01,982.8000000001549,982.7071,2015-01-01 02:43:51,bin9831,75, -CTSPillarNetworkA,9832,9832,9832,1996-12-02,982.9000000001549,982.80707,2015-01-01 02:43:52,bin9832,35, -CTSPillarNetworkA,9833,9833,9833,1996-12-03,983.000000000155,982.90704,2015-01-01 02:43:53,bin9833,75, -CTSPillarNetworkA,9834,9834,9834,1996-12-04,983.100000000155,983.007,2015-01-01 02:43:54,bin9834,35, -CTSPillarNetworkA,9835,9835,9835,1996-12-05,983.200000000155,983.107,2015-01-01 02:43:55,bin9835,75, -CTSPillarNetworkA,9836,9836,9836,1996-12-06,983.300000000155,983.207,2015-01-01 02:43:56,bin9836,35, -CTSPillarNetworkA,9837,9837,9837,1996-12-07,983.400000000155,983.30695,2015-01-01 02:43:57,bin9837,75, -CTSPillarNetworkA,9838,9838,9838,1996-12-08,983.5000000001551,983.4069,2015-01-01 02:43:58,bin9838,35, -CTSPillarNetworkA,9839,9839,9839,1996-12-09,983.6000000001551,983.5069,2015-01-01 02:43:59,bin9839,75, -CTSPillarNetworkA,9840,9840,9840,1996-12-10,983.7000000001551,983.6069,2015-01-01 02:44:00,bin9840,35, -CTSPillarNetworkA,9841,9841,9841,1996-12-11,983.8000000001551,983.70685,2015-01-01 02:44:01,bin9841,75, -CTSPillarNetworkA,9842,9842,9842,1996-12-12,983.9000000001552,983.8068,2015-01-01 02:44:02,bin9842,35, -CTSPillarNetworkA,9843,9843,9843,1996-12-13,984.0000000001552,983.9068,2015-01-01 02:44:03,bin9843,75, -CTSPillarNetworkA,9844,9844,9844,1996-12-14,984.1000000001552,984.0068,2015-01-01 02:44:04,bin9844,35, -CTSPillarNetworkA,9845,9845,9845,1996-12-15,984.2000000001552,984.10675,2015-01-01 02:44:05,bin9845,75, -CTSPillarNetworkA,9846,9846,9846,1996-12-16,984.3000000001553,984.2067,2015-01-01 02:44:06,bin9846,35, -CTSPillarNetworkA,9847,9847,9847,1996-12-17,984.4000000001553,984.3067,2015-01-01 02:44:07,bin9847,75, -CTSPillarNetworkA,9848,9848,9848,1996-12-18,984.5000000001553,984.4067,2015-01-01 02:44:08,bin9848,35, -CTSPillarNetworkA,9849,9849,9849,1996-12-19,984.6000000001553,984.50665,2015-01-01 02:44:09,bin9849,75, -CTSPillarNetworkA,9850,9850,9850,1996-12-20,984.7000000001553,984.6066,2015-01-01 02:44:10,bin9850,35, -CTSPillarNetworkA,9851,9851,9851,1996-12-21,984.8000000001554,984.7066,2015-01-01 02:44:11,bin9851,75, -CTSPillarNetworkA,9852,9852,9852,1996-12-22,984.9000000001554,984.8066,2015-01-01 02:44:12,bin9852,35, -CTSPillarNetworkA,9853,9853,9853,1996-12-23,985.0000000001554,984.90656,2015-01-01 02:44:13,bin9853,75, -CTSPillarNetworkA,9854,9854,9854,1996-12-24,985.1000000001554,985.00653,2015-01-01 02:44:14,bin9854,35, -CTSPillarNetworkA,9855,9855,9855,1996-12-25,985.2000000001555,985.1065,2015-01-01 02:44:15,bin9855,75, -CTSPillarNetworkA,9856,9856,9856,1996-12-26,985.3000000001555,985.2065,2015-01-01 02:44:16,bin9856,35, -CTSPillarNetworkA,9857,9857,9857,1996-12-27,985.4000000001555,985.30646,2015-01-01 02:44:17,bin9857,75, -CTSPillarNetworkA,9858,9858,9858,1996-12-28,985.5000000001555,985.40643,2015-01-01 02:44:18,bin9858,35, -CTSPillarNetworkA,9859,9859,9859,1996-12-29,985.6000000001555,985.5064,2015-01-01 02:44:19,bin9859,75, -CTSPillarNetworkA,9860,9860,9860,1996-12-30,985.7000000001556,985.6064,2015-01-01 02:44:20,bin9860,35, -CTSPillarNetworkA,9861,9861,9861,1996-12-31,985.8000000001556,985.70636,2015-01-01 02:44:21,bin9861,75, -CTSPillarNetworkA,9862,9862,9862,1997-01-01,985.9000000001556,985.80634,2015-01-01 02:44:22,bin9862,35, -CTSPillarNetworkA,9863,9863,9863,1997-01-02,986.0000000001556,985.9063,2015-01-01 02:44:23,bin9863,75, -CTSPillarNetworkA,9864,9864,9864,1997-01-03,986.1000000001557,986.0063,2015-01-01 02:44:24,bin9864,35, -CTSPillarNetworkA,9865,9865,9865,1997-01-04,986.2000000001557,986.10626,2015-01-01 02:44:25,bin9865,75, -CTSPillarNetworkA,9866,9866,9866,1997-01-05,986.3000000001557,986.20624,2015-01-01 02:44:26,bin9866,35, -CTSPillarNetworkA,9867,9867,9867,1997-01-06,986.4000000001557,986.3062,2015-01-01 02:44:27,bin9867,75, -CTSPillarNetworkA,9868,9868,9868,1997-01-07,986.5000000001558,986.4062,2015-01-01 02:44:28,bin9868,35, -CTSPillarNetworkA,9869,9869,9869,1997-01-08,986.6000000001558,986.50616,2015-01-01 02:44:29,bin9869,75, -CTSPillarNetworkA,9870,9870,9870,1997-01-09,986.7000000001558,986.60614,2015-01-01 02:44:30,bin9870,35, -CTSPillarNetworkA,9871,9871,9871,1997-01-10,986.8000000001558,986.7061,2015-01-01 02:44:31,bin9871,75, -CTSPillarNetworkA,9872,9872,9872,1997-01-11,986.9000000001558,986.8061,2015-01-01 02:44:32,bin9872,35, -CTSPillarNetworkA,9873,9873,9873,1997-01-12,987.0000000001559,986.90607,2015-01-01 02:44:33,bin9873,75, -CTSPillarNetworkA,9874,9874,9874,1997-01-13,987.1000000001559,987.00604,2015-01-01 02:44:34,bin9874,35, -CTSPillarNetworkA,9875,9875,9875,1997-01-14,987.2000000001559,987.106,2015-01-01 02:44:35,bin9875,75, -CTSPillarNetworkA,9876,9876,9876,1997-01-15,987.3000000001559,987.206,2015-01-01 02:44:36,bin9876,35, -CTSPillarNetworkA,9877,9877,9877,1997-01-16,987.400000000156,987.30597,2015-01-01 02:44:37,bin9877,75, -CTSPillarNetworkA,9878,9878,9878,1997-01-17,987.500000000156,987.40594,2015-01-01 02:44:38,bin9878,35, -CTSPillarNetworkA,9879,9879,9879,1997-01-18,987.600000000156,987.5059,2015-01-01 02:44:39,bin9879,75, -CTSPillarNetworkA,9880,9880,9880,1997-01-19,987.700000000156,987.6059,2015-01-01 02:44:40,bin9880,35, -CTSPillarNetworkA,9881,9881,9881,1997-01-20,987.800000000156,987.7059,2015-01-01 02:44:41,bin9881,75, -CTSPillarNetworkA,9882,9882,9882,1997-01-21,987.9000000001561,987.80585,2015-01-01 02:44:42,bin9882,35, -CTSPillarNetworkA,9883,9883,9883,1997-01-22,988.0000000001561,987.9058,2015-01-01 02:44:43,bin9883,75, -CTSPillarNetworkA,9884,9884,9884,1997-01-23,988.1000000001561,988.0058,2015-01-01 02:44:44,bin9884,35, -CTSPillarNetworkA,9885,9885,9885,1997-01-24,988.2000000001561,988.1058,2015-01-01 02:44:45,bin9885,75, -CTSPillarNetworkA,9886,9886,9886,1997-01-25,988.3000000001562,988.20575,2015-01-01 02:44:46,bin9886,35, -CTSPillarNetworkA,9887,9887,9887,1997-01-26,988.4000000001562,988.3057,2015-01-01 02:44:47,bin9887,75, -CTSPillarNetworkA,9888,9888,9888,1997-01-27,988.5000000001562,988.4057,2015-01-01 02:44:48,bin9888,35, -CTSPillarNetworkA,9889,9889,9889,1997-01-28,988.6000000001562,988.5057,2015-01-01 02:44:49,bin9889,75, -CTSPillarNetworkA,9890,9890,9890,1997-01-29,988.7000000001563,988.60565,2015-01-01 02:44:50,bin9890,35, -CTSPillarNetworkA,9891,9891,9891,1997-01-30,988.8000000001563,988.7056,2015-01-01 02:44:51,bin9891,75, -CTSPillarNetworkA,9892,9892,9892,1997-01-31,988.9000000001563,988.8056,2015-01-01 02:44:52,bin9892,35, -CTSPillarNetworkA,9893,9893,9893,1997-02-01,989.0000000001563,988.9056,2015-01-01 02:44:53,bin9893,75, -CTSPillarNetworkA,9894,9894,9894,1997-02-02,989.1000000001563,989.00555,2015-01-01 02:44:54,bin9894,35, -CTSPillarNetworkA,9895,9895,9895,1997-02-03,989.2000000001564,989.1055,2015-01-01 02:44:55,bin9895,75, -CTSPillarNetworkA,9896,9896,9896,1997-02-04,989.3000000001564,989.2055,2015-01-01 02:44:56,bin9896,35, -CTSPillarNetworkA,9897,9897,9897,1997-02-05,989.4000000001564,989.3055,2015-01-01 02:44:57,bin9897,75, -CTSPillarNetworkA,9898,9898,9898,1997-02-06,989.5000000001564,989.40546,2015-01-01 02:44:58,bin9898,35, -CTSPillarNetworkA,9899,9899,9899,1997-02-07,989.6000000001565,989.50543,2015-01-01 02:44:59,bin9899,75, -CTSPillarNetworkA,9900,9900,9900,1997-02-08,989.7000000001565,989.6054,2015-01-01 02:45:00,bin9900,35, -CTSPillarNetworkA,9901,9901,9901,1997-02-09,989.8000000001565,989.7054,2015-01-01 02:45:01,bin9901,75, -CTSPillarNetworkA,9902,9902,9902,1997-02-10,989.9000000001565,989.80536,2015-01-01 02:45:02,bin9902,35, -CTSPillarNetworkA,9903,9903,9903,1997-02-11,990.0000000001565,989.90533,2015-01-01 02:45:03,bin9903,75, -CTSPillarNetworkA,9904,9904,9904,1997-02-12,990.1000000001566,990.0053,2015-01-01 02:45:04,bin9904,35, -CTSPillarNetworkA,9905,9905,9905,1997-02-13,990.2000000001566,990.1053,2015-01-01 02:45:05,bin9905,75, -CTSPillarNetworkA,9906,9906,9906,1997-02-14,990.3000000001566,990.20526,2015-01-01 02:45:06,bin9906,35, -CTSPillarNetworkA,9907,9907,9907,1997-02-15,990.4000000001566,990.30524,2015-01-01 02:45:07,bin9907,75, -CTSPillarNetworkA,9908,9908,9908,1997-02-16,990.5000000001567,990.4052,2015-01-01 02:45:08,bin9908,35, -CTSPillarNetworkA,9909,9909,9909,1997-02-17,990.6000000001567,990.5052,2015-01-01 02:45:09,bin9909,75, -CTSPillarNetworkA,9910,9910,9910,1997-02-18,990.7000000001567,990.60516,2015-01-01 02:45:10,bin9910,35, -CTSPillarNetworkA,9911,9911,9911,1997-02-19,990.8000000001567,990.70514,2015-01-01 02:45:11,bin9911,75, -CTSPillarNetworkA,9912,9912,9912,1997-02-20,990.9000000001568,990.8051,2015-01-01 02:45:12,bin9912,35, -CTSPillarNetworkA,9913,9913,9913,1997-02-21,991.0000000001568,990.9051,2015-01-01 02:45:13,bin9913,75, -CTSPillarNetworkA,9914,9914,9914,1997-02-22,991.1000000001568,991.00507,2015-01-01 02:45:14,bin9914,35, -CTSPillarNetworkA,9915,9915,9915,1997-02-23,991.2000000001568,991.10504,2015-01-01 02:45:15,bin9915,75, -CTSPillarNetworkA,9916,9916,9916,1997-02-24,991.3000000001568,991.205,2015-01-01 02:45:16,bin9916,35, -CTSPillarNetworkA,9917,9917,9917,1997-02-25,991.4000000001569,991.305,2015-01-01 02:45:17,bin9917,75, -CTSPillarNetworkA,9918,9918,9918,1997-02-26,991.5000000001569,991.40497,2015-01-01 02:45:18,bin9918,35, -CTSPillarNetworkA,9919,9919,9919,1997-02-27,991.6000000001569,991.50494,2015-01-01 02:45:19,bin9919,75, -CTSPillarNetworkA,9920,9920,9920,1997-02-28,991.7000000001569,991.6049,2015-01-01 02:45:20,bin9920,35, -CTSPillarNetworkA,9921,9921,9921,1997-03-01,991.800000000157,991.7049,2015-01-01 02:45:21,bin9921,75, -CTSPillarNetworkA,9922,9922,9922,1997-03-02,991.900000000157,991.8049,2015-01-01 02:45:22,bin9922,35, -CTSPillarNetworkA,9923,9923,9923,1997-03-03,992.000000000157,991.90485,2015-01-01 02:45:23,bin9923,75, -CTSPillarNetworkA,9924,9924,9924,1997-03-04,992.100000000157,992.0048,2015-01-01 02:45:24,bin9924,35, -CTSPillarNetworkA,9925,9925,9925,1997-03-05,992.200000000157,992.1048,2015-01-01 02:45:25,bin9925,75, -CTSPillarNetworkA,9926,9926,9926,1997-03-06,992.3000000001571,992.2048,2015-01-01 02:45:26,bin9926,35, -CTSPillarNetworkA,9927,9927,9927,1997-03-07,992.4000000001571,992.30475,2015-01-01 02:45:27,bin9927,75, -CTSPillarNetworkA,9928,9928,9928,1997-03-08,992.5000000001571,992.4047,2015-01-01 02:45:28,bin9928,35, -CTSPillarNetworkA,9929,9929,9929,1997-03-09,992.6000000001571,992.5047,2015-01-01 02:45:29,bin9929,75, -CTSPillarNetworkA,9930,9930,9930,1997-03-10,992.7000000001572,992.6047,2015-01-01 02:45:30,bin9930,35, -CTSPillarNetworkA,9931,9931,9931,1997-03-11,992.8000000001572,992.70465,2015-01-01 02:45:31,bin9931,75, -CTSPillarNetworkA,9932,9932,9932,1997-03-12,992.9000000001572,992.8046,2015-01-01 02:45:32,bin9932,35, -CTSPillarNetworkA,9933,9933,9933,1997-03-13,993.0000000001572,992.9046,2015-01-01 02:45:33,bin9933,75, -CTSPillarNetworkA,9934,9934,9934,1997-03-14,993.1000000001573,993.0046,2015-01-01 02:45:34,bin9934,35, -CTSPillarNetworkA,9935,9935,9935,1997-03-15,993.2000000001573,993.10455,2015-01-01 02:45:35,bin9935,75, -CTSPillarNetworkA,9936,9936,9936,1997-03-16,993.3000000001573,993.2045,2015-01-01 02:45:36,bin9936,35, -CTSPillarNetworkA,9937,9937,9937,1997-03-17,993.4000000001573,993.3045,2015-01-01 02:45:37,bin9937,75, -CTSPillarNetworkA,9938,9938,9938,1997-03-18,993.5000000001573,993.4045,2015-01-01 02:45:38,bin9938,35, -CTSPillarNetworkA,9939,9939,9939,1997-03-19,993.6000000001574,993.50446,2015-01-01 02:45:39,bin9939,75, -CTSPillarNetworkA,9940,9940,9940,1997-03-20,993.7000000001574,993.60443,2015-01-01 02:45:40,bin9940,35, -CTSPillarNetworkA,9941,9941,9941,1997-03-21,993.8000000001574,993.7044,2015-01-01 02:45:41,bin9941,75, -CTSPillarNetworkA,9942,9942,9942,1997-03-22,993.9000000001574,993.8044,2015-01-01 02:45:42,bin9942,35, -CTSPillarNetworkA,9943,9943,9943,1997-03-23,994.0000000001575,993.90436,2015-01-01 02:45:43,bin9943,75, -CTSPillarNetworkA,9944,9944,9944,1997-03-24,994.1000000001575,994.00433,2015-01-01 02:45:44,bin9944,35, -CTSPillarNetworkA,9945,9945,9945,1997-03-25,994.2000000001575,994.1043,2015-01-01 02:45:45,bin9945,75, -CTSPillarNetworkA,9946,9946,9946,1997-03-26,994.3000000001575,994.2043,2015-01-01 02:45:46,bin9946,35, -CTSPillarNetworkA,9947,9947,9947,1997-03-27,994.4000000001575,994.30426,2015-01-01 02:45:47,bin9947,75, -CTSPillarNetworkA,9948,9948,9948,1997-03-28,994.5000000001576,994.40424,2015-01-01 02:45:48,bin9948,35, -CTSPillarNetworkA,9949,9949,9949,1997-03-29,994.6000000001576,994.5042,2015-01-01 02:45:49,bin9949,75, -CTSPillarNetworkA,9950,9950,9950,1997-03-30,994.7000000001576,994.6042,2015-01-01 02:45:50,bin9950,35, -CTSPillarNetworkA,9951,9951,9951,1997-03-31,994.8000000001576,994.70416,2015-01-01 02:45:51,bin9951,75, -CTSPillarNetworkA,9952,9952,9952,1997-04-01,994.9000000001577,994.80414,2015-01-01 02:45:52,bin9952,35, -CTSPillarNetworkA,9953,9953,9953,1997-04-02,995.0000000001577,994.9041,2015-01-01 02:45:53,bin9953,75, -CTSPillarNetworkA,9954,9954,9954,1997-04-03,995.1000000001577,995.0041,2015-01-01 02:45:54,bin9954,35, -CTSPillarNetworkA,9955,9955,9955,1997-04-04,995.2000000001577,995.10406,2015-01-01 02:45:55,bin9955,75, -CTSPillarNetworkA,9956,9956,9956,1997-04-05,995.3000000001578,995.20404,2015-01-01 02:45:56,bin9956,35, -CTSPillarNetworkA,9957,9957,9957,1997-04-06,995.4000000001578,995.304,2015-01-01 02:45:57,bin9957,75, -CTSPillarNetworkA,9958,9958,9958,1997-04-07,995.5000000001578,995.404,2015-01-01 02:45:58,bin9958,35, -CTSPillarNetworkA,9959,9959,9959,1997-04-08,995.6000000001578,995.50397,2015-01-01 02:45:59,bin9959,75, -CTSPillarNetworkA,9960,9960,9960,1997-04-09,995.7000000001578,995.60394,2015-01-01 02:46:00,bin9960,35, -CTSPillarNetworkA,9961,9961,9961,1997-04-10,995.8000000001579,995.7039,2015-01-01 02:46:01,bin9961,75, -CTSPillarNetworkA,9962,9962,9962,1997-04-11,995.9000000001579,995.8039,2015-01-01 02:46:02,bin9962,35, -CTSPillarNetworkA,9963,9963,9963,1997-04-12,996.0000000001579,995.9039,2015-01-01 02:46:03,bin9963,75, -CTSPillarNetworkA,9964,9964,9964,1997-04-13,996.1000000001579,996.00385,2015-01-01 02:46:04,bin9964,35, -CTSPillarNetworkA,9965,9965,9965,1997-04-14,996.200000000158,996.1038,2015-01-01 02:46:05,bin9965,75, -CTSPillarNetworkA,9966,9966,9966,1997-04-15,996.300000000158,996.2038,2015-01-01 02:46:06,bin9966,35, -CTSPillarNetworkA,9967,9967,9967,1997-04-16,996.400000000158,996.3038,2015-01-01 02:46:07,bin9967,75, -CTSPillarNetworkA,9968,9968,9968,1997-04-17,996.500000000158,996.40375,2015-01-01 02:46:08,bin9968,35, -CTSPillarNetworkA,9969,9969,9969,1997-04-18,996.600000000158,996.5037,2015-01-01 02:46:09,bin9969,75, -CTSPillarNetworkA,9970,9970,9970,1997-04-19,996.7000000001581,996.6037,2015-01-01 02:46:10,bin9970,35, -CTSPillarNetworkA,9971,9971,9971,1997-04-20,996.8000000001581,996.7037,2015-01-01 02:46:11,bin9971,75, -CTSPillarNetworkA,9972,9972,9972,1997-04-21,996.9000000001581,996.80365,2015-01-01 02:46:12,bin9972,35, -CTSPillarNetworkA,9973,9973,9973,1997-04-22,997.0000000001581,996.9036,2015-01-01 02:46:13,bin9973,75, -CTSPillarNetworkB,SPY,35000.332257024,,1997-04-24,997.1000000001582,997.0036,2015-01-01 02:46:15,binA,250,false -CTSPillarNetworkB,SPY,35000.332278016,30,,997.2000000001582,997.1036,2015-01-01 02:46:16,bin,255, -CTSPillarNetworkB,SPY,35000.332319232,22,1997-04-26,,,2015-01-01 02:46:17,bin,255, -CTSPillarNetworkB,SPY,35000.420437719,250,1997-04-27,997.4000000001582,997.3035,,bin,255, -CTSPillarNetworkB,SPY,35000.509000000,21,1997-04-28,997.5000000001583,997.4035,2015-01-01 02:46:19,,255, -CTSPillarNetworkB,SPY,35000.623816380,100,1997-04-29,997.6000000001583,997.5035,2015-01-01 02:46:20,bin,, -CTSPillarNetworkB,SPY,35000.733000000,1,1997-04-30,997.7000000001583,997.60345,2015-01-01 02:46:21,bin,255, -CTSPillarNetworkB,SPY,35000.918482000,11,1997-05-01,997.8000000001583,997.7034,2015-01-01 02:46:22,bin,255, -CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-02,997.9000000001583,997.8034,2015-01-01 02:46:23,bin,255, -CTSPillarNetworkB,SPY,35000.918484000,30,1997-05-03,998.0000000001584,997.9034,2015-01-01 02:46:24,bin,255,false -CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-04,998.1000000001584,998.00336,2015-01-01 02:46:25,bin,255,false -CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-05,998.2000000001584,998.10333,2015-01-01 02:46:26,bin,255, -CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-06,998.3000000001584,998.2033,2015-01-01 02:46:27,bin,255, -CTSPillarNetworkB,SPY,35000.919489536,100,1997-05-07,998.4000000001585,998.3033,2015-01-01 02:46:28,bin,255, -CTSPillarNetworkB,SPY,35000.919650899,100,1997-05-08,998.5000000001585,998.40326,2015-01-01 02:46:29,bin,255, -CTSPillarNetworkB,SPY,35000.919685139,100,1997-05-09,998.6000000001585,998.50323,2015-01-01 02:46:30,bin,255, -CTSPillarNetworkB,SPY,35000.974576770,100,1997-05-10,998.7000000001585,998.6032,2015-01-01 02:46:31,bin,255, -CTSPillarNetworkB,SPY,35000.974911035,100,1997-05-11,998.8000000001585,998.7032,2015-01-01 02:46:32,bin,255, -CTSPillarNetworkB,SPY,35000.977960728,23,1997-05-12,998.9000000001586,998.80316,2015-01-01 02:46:33,bin,255, -CTSPillarNetworkB,SPY,35000.978023000,6,1997-05-13,999.0000000001586,998.90314,2015-01-01 02:46:34,bin,255, -CTSPillarNetworkB,SPY,35000.978102524,18,1997-05-14,999.1000000001586,999.0031,2015-01-01 02:46:35,bin,255, -CTSPillarNetworkB,SPY,35000.978124544,100,1997-05-15,999.2000000001586,999.1031,2015-01-01 02:46:36,bin,255, -CTSPillarNetworkB,SPY,35000.978349245,23,1997-05-16,999.3000000001587,999.20306,2015-01-01 02:46:37,bin,255, -CTSPillarNetworkB,SPY,35000.978601023,6,1997-05-17,999.4000000001587,999.30304,2015-01-01 02:46:38,bin,255, -CTSPillarNetworkB,SPY,35000.978704313,18,1997-05-18,999.5000000001587,999.403,2015-01-01 02:46:39,bin,255,true -CTSPillarNetworkB,SPY,35000.978803110,100,1997-05-19,999.6000000001587,999.503,2015-01-01 02:46:40,bin,255,true -CTSPillarNetworkB,SPY,35000.983917824,53,,999.7000000001588,,2015-01-01 02:46:47,binZ,251,true +abc,8,8,8,1970-01-09,0.5,0.5,2015-01-01 00:00:08,bin8,35, +abc,9,9,9,1970-01-10,0.6,0.6,2015-01-01 00:00:09,bin9,75, +abc,10,10,10,1970-01-11,0.7,0.70000005,2015-01-01 00:00:10,bin10,35, +abc,11,11,11,1970-01-12,0.7999999999999999,0.8000001,2015-01-01 00:00:11,bin11,75, +abc,12,12,12,1970-01-13,0.8999999999999999,0.9000001,2015-01-01 00:00:12,bin12,35, +abc,13,13,13,1970-01-14,0.9999999999999999,1.0000001,2015-01-01 00:00:13,bin13,75, +abc,14,14,14,1970-01-15,1.0999999999999999,1.1000001,2015-01-01 00:00:14,bin14,35, +abc,15,15,15,1970-01-16,1.2,1.2000002,2015-01-01 00:00:15,bin15,75, +abc,16,16,16,1970-01-17,1.3,1.3000002,2015-01-01 00:00:16,bin16,35, +abc,17,17,17,1970-01-18,1.4000000000000001,1.4000002,2015-01-01 00:00:17,bin17,75, +abc,18,18,18,1970-01-19,1.5000000000000002,1.5000002,2015-01-01 00:00:18,bin18,35, +abc,19,19,19,1970-01-20,1.6000000000000003,1.6000003,2015-01-01 00:00:19,bin19,75, +abc,20,20,20,1970-01-21,1.7000000000000004,1.7000003,2015-01-01 00:00:20,bin20,35, +abc,21,21,21,1970-01-22,1.8000000000000005,1.8000003,2015-01-01 00:00:21,bin21,75, +abc,22,22,22,1970-01-23,1.9000000000000006,1.9000003,2015-01-01 00:00:22,bin22,35, +abc,23,23,23,1970-01-24,2.0000000000000004,2.0000002,2015-01-01 00:00:23,bin23,75, +abc,24,24,24,1970-01-25,2.1000000000000005,2.1000001,2015-01-01 00:00:24,bin24,35, +abc,25,25,25,1970-01-26,2.2000000000000006,2.2,2015-01-01 00:00:25,bin25,75, +abc,26,26,26,1970-01-27,2.3000000000000007,2.3,2015-01-01 00:00:26,bin26,35, +abc,27,27,27,1970-01-28,2.400000000000001,2.3999999,2015-01-01 00:00:27,bin27,75,true +abc,28,28,28,1970-01-29,2.500000000000001,2.4999998,2015-01-01 00:00:28,bin28,35,false +abc,29,29,29,1970-01-30,2.600000000000001,2.5999997,2015-01-01 00:00:29,bin29,75, +abc,30,30,30,1970-01-31,2.700000000000001,2.6999996,2015-01-01 00:00:30,bin30,35, +abc,31,31,31,1970-02-01,2.800000000000001,2.7999995,2015-01-01 00:00:31,bin31,75, +abc,32,32,32,1970-02-02,2.9000000000000012,2.8999994,2015-01-01 00:00:32,bin32,35, +abc,33,33,33,1970-02-03,3.0000000000000013,2.9999993,2015-01-01 00:00:33,bin33,75, +abc,34,34,34,1970-02-04,3.1000000000000014,3.0999992,2015-01-01 00:00:34,bin34,35, +abc,35,35,35,1970-02-05,3.2000000000000015,3.199999,2015-01-01 00:00:35,bin35,75, +abc,36,36,36,1970-02-06,3.3000000000000016,3.299999,2015-01-01 00:00:36,bin36,35, +abc,37,37,37,1970-02-07,3.4000000000000017,3.399999,2015-01-01 00:00:37,bin37,75, +abc,38,38,38,1970-02-08,3.5000000000000018,3.4999988,2015-01-01 00:00:38,bin38,35, +abc,39,39,39,1970-02-09,3.600000000000002,3.5999987,2015-01-01 00:00:39,bin39,75, +abc,40,40,40,1970-02-10,3.700000000000002,3.6999986,2015-01-01 00:00:40,bin40,35, +abc,41,41,41,1970-02-11,3.800000000000002,3.7999985,2015-01-01 00:00:41,bin41,75, +abc,42,42,42,1970-02-12,3.900000000000002,3.8999984,2015-01-01 00:00:42,bin42,35, +abc,43,43,43,1970-02-13,4.000000000000002,3.9999983,2015-01-01 00:00:43,bin43,75, +abc,44,44,44,1970-02-14,4.100000000000001,4.0999985,2015-01-01 00:00:44,bin44,35, +abc,45,45,45,1970-02-15,4.200000000000001,4.1999984,2015-01-01 00:00:45,bin45,75, +abc,46,46,46,1970-02-16,4.300000000000001,4.2999983,2015-01-01 00:00:46,bin46,35, +abc,47,47,47,1970-02-17,4.4,4.399998,2015-01-01 00:00:47,bin47,75, +abc,48,48,48,1970-02-18,4.5,4.499998,2015-01-01 00:00:48,bin48,35, +abc,49,49,49,1970-02-19,4.6,4.599998,2015-01-01 00:00:49,bin49,75, +abc,50,50,50,1970-02-20,4.699999999999999,4.699998,2015-01-01 00:00:50,bin50,35, +abc,51,51,51,1970-02-21,4.799999999999999,4.799998,2015-01-01 00:00:51,bin51,75, +abc,52,52,52,1970-02-22,4.899999999999999,4.8999977,2015-01-01 00:00:52,bin52,35, +abc,53,53,53,1970-02-23,4.999999999999998,4.9999976,2015-01-01 00:00:53,bin53,75, +abc,54,54,54,1970-02-24,5.099999999999998,5.0999975,2015-01-01 00:00:54,bin54,35, +abc,55,55,55,1970-02-25,5.1999999999999975,5.1999974,2015-01-01 00:00:55,bin55,75, +abc,56,56,56,1970-02-26,5.299999999999997,5.2999973,2015-01-01 00:00:56,bin56,35, +abc,57,57,57,1970-02-27,5.399999999999997,5.399997,2015-01-01 00:00:57,bin57,75, +abc,58,58,58,1970-02-28,5.4999999999999964,5.499997,2015-01-01 00:00:58,bin58,35, +abc,59,59,59,1970-03-01,5.599999999999996,5.599997,2015-01-01 00:00:59,bin59,75, +abc,60,60,60,1970-03-02,5.699999999999996,5.699997,2015-01-01 00:01:00,bin60,35, +abc,61,61,61,1970-03-03,5.799999999999995,5.799997,2015-01-01 00:01:01,bin61,75, +abc,62,62,62,1970-03-04,5.899999999999995,5.8999968,2015-01-01 00:01:02,bin62,35, +abc,63,63,63,1970-03-05,5.999999999999995,5.9999967,2015-01-01 00:01:03,bin63,75, +abc,64,64,64,1970-03-06,6.099999999999994,6.0999966,2015-01-01 00:01:04,bin64,35, +abc,65,65,65,1970-03-07,6.199999999999994,6.1999965,2015-01-01 00:01:05,bin65,75, +abc,66,66,66,1970-03-08,6.299999999999994,6.2999964,2015-01-01 00:01:06,bin66,35, +abc,67,67,67,1970-03-09,6.399999999999993,6.3999963,2015-01-01 00:01:07,bin67,75, +abc,68,68,68,1970-03-10,6.499999999999993,6.499996,2015-01-01 00:01:08,bin68,35, +abc,69,69,69,1970-03-11,6.5999999999999925,6.599996,2015-01-01 00:01:09,bin69,75, +abc,70,70,70,1970-03-12,6.699999999999992,6.699996,2015-01-01 00:01:10,bin70,35, +abc,71,71,71,1970-03-13,6.799999999999992,6.799996,2015-01-01 00:01:11,bin71,75, +abc,72,72,72,1970-03-14,6.8999999999999915,6.899996,2015-01-01 00:01:12,bin72,35, +abc,73,73,73,1970-03-15,6.999999999999991,6.9999957,2015-01-01 00:01:13,bin73,75, +abc,74,74,74,1970-03-16,7.099999999999991,7.0999956,2015-01-01 00:01:14,bin74,35, +abc,75,75,75,1970-03-17,7.19999999999999,7.1999955,2015-01-01 00:01:15,bin75,75, +abc,76,76,76,1970-03-18,7.29999999999999,7.2999954,2015-01-01 00:01:16,bin76,35, +abc,77,77,77,1970-03-19,7.39999999999999,7.3999953,2015-01-01 00:01:17,bin77,75, +abc,78,78,78,1970-03-20,7.499999999999989,7.499995,2015-01-01 00:01:18,bin78,35, +abc,79,79,79,1970-03-21,7.599999999999989,7.599995,2015-01-01 00:01:19,bin79,75, +abc,80,80,80,1970-03-22,7.699999999999989,7.699995,2015-01-01 00:01:20,bin80,35, +abc,81,81,81,1970-03-23,7.799999999999988,7.799995,2015-01-01 00:01:21,bin81,75, +abc,82,82,82,1970-03-24,7.899999999999988,7.899995,2015-01-01 00:01:22,bin82,35, +abc,83,83,83,1970-03-25,7.999999999999988,7.9999948,2015-01-01 00:01:23,bin83,75, +abc,84,84,84,1970-03-26,8.099999999999987,8.099995,2015-01-01 00:01:24,bin84,35, +abc,85,85,85,1970-03-27,8.199999999999987,8.199995,2015-01-01 00:01:25,bin85,75, +abc,86,86,86,1970-03-28,8.299999999999986,8.299995,2015-01-01 00:01:26,bin86,35, +abc,87,87,87,1970-03-29,8.399999999999986,8.399996,2015-01-01 00:01:27,bin87,75, +abc,88,88,88,1970-03-30,8.499999999999986,8.499996,2015-01-01 00:01:28,bin88,35, +abc,89,89,89,1970-03-31,8.599999999999985,8.599997,2015-01-01 00:01:29,bin89,75, +abc,90,90,90,1970-04-01,8.699999999999985,8.699997,2015-01-01 00:01:30,bin90,35, +abc,91,91,91,1970-04-02,8.799999999999985,8.799997,2015-01-01 00:01:31,bin91,75, +abc,92,92,92,1970-04-03,8.899999999999984,8.899998,2015-01-01 00:01:32,bin92,35, +abc,93,93,93,1970-04-04,8.999999999999984,8.999998,2015-01-01 00:01:33,bin93,75, +abc,94,94,94,1970-04-05,9.099999999999984,9.099998,2015-01-01 00:01:34,bin94,35, +abc,95,95,95,1970-04-06,9.199999999999983,9.199999,2015-01-01 00:01:35,bin95,75, +abc,96,96,96,1970-04-07,9.299999999999983,9.299999,2015-01-01 00:01:36,bin96,35, +abc,97,97,97,1970-04-08,9.399999999999983,9.4,2015-01-01 00:01:37,bin97,75, +abc,98,98,98,1970-04-09,9.499999999999982,9.5,2015-01-01 00:01:38,bin98,35, +abc,99,99,99,1970-04-10,9.599999999999982,9.6,2015-01-01 00:01:39,bin99,75, +abc,100,100,100,1970-04-11,9.699999999999982,9.700001,2015-01-01 00:01:40,bin100,35, +abc,101,101,101,1970-04-12,9.799999999999981,9.800001,2015-01-01 00:01:41,bin101,75, +abc,102,102,102,1970-04-13,9.89999999999998,9.900002,2015-01-01 00:01:42,bin102,35, +abc,103,103,103,1970-04-14,9.99999999999998,10.000002,2015-01-01 00:01:43,bin103,75, +abc,104,104,104,1970-04-15,10.09999999999998,10.100002,2015-01-01 00:01:44,bin104,35, +abc,105,105,105,1970-04-16,10.19999999999998,10.200003,2015-01-01 00:01:45,bin105,75, +abc,106,106,106,1970-04-17,10.29999999999998,10.300003,2015-01-01 00:01:46,bin106,35, +abc,107,107,107,1970-04-18,10.399999999999979,10.400003,2015-01-01 00:01:47,bin107,75, +abc,108,108,108,1970-04-19,10.499999999999979,10.500004,2015-01-01 00:01:48,bin108,35, +abc,109,109,109,1970-04-20,10.599999999999978,10.600004,2015-01-01 00:01:49,bin109,75, +abc,110,110,110,1970-04-21,10.699999999999978,10.700005,2015-01-01 00:01:50,bin110,35, +abc,111,111,111,1970-04-22,10.799999999999978,10.800005,2015-01-01 00:01:51,bin111,75, +abc,112,112,112,1970-04-23,10.899999999999977,10.900005,2015-01-01 00:01:52,bin112,35, +abc,113,113,113,1970-04-24,10.999999999999977,11.000006,2015-01-01 00:01:53,bin113,75, +abc,114,114,114,1970-04-25,11.099999999999977,11.100006,2015-01-01 00:01:54,bin114,35, +abc,115,115,115,1970-04-26,11.199999999999976,11.2000065,2015-01-01 00:01:55,bin115,75, +abc,116,116,116,1970-04-27,11.299999999999976,11.300007,2015-01-01 00:01:56,bin116,35, +abc,117,117,117,1970-04-28,11.399999999999975,11.400007,2015-01-01 00:01:57,bin117,75, +abc,118,118,118,1970-04-29,11.499999999999975,11.500008,2015-01-01 00:01:58,bin118,35, +abc,119,119,119,1970-04-30,11.599999999999975,11.600008,2015-01-01 00:01:59,bin119,75, +abc,120,120,120,1970-05-01,11.699999999999974,11.700008,2015-01-01 00:02:00,bin120,35, +abc,121,121,121,1970-05-02,11.799999999999974,11.800009,2015-01-01 00:02:01,bin121,75, +abc,122,122,122,1970-05-03,11.899999999999974,11.900009,2015-01-01 00:02:02,bin122,35, +abc,123,123,123,1970-05-04,11.999999999999973,12.00001,2015-01-01 00:02:03,bin123,75, +abc,124,124,124,1970-05-05,12.099999999999973,12.10001,2015-01-01 00:02:04,bin124,35, +abc,125,125,125,1970-05-06,12.199999999999973,12.20001,2015-01-01 00:02:05,bin125,75, +abc,126,126,126,1970-05-07,12.299999999999972,12.300011,2015-01-01 00:02:06,bin126,35, +abc,127,127,127,1970-05-08,12.399999999999972,12.400011,2015-01-01 00:02:07,bin127,75, +abc,128,128,128,1970-05-09,12.499999999999972,12.500011,2015-01-01 00:02:08,bin128,35, +abc,129,129,129,1970-05-10,12.599999999999971,12.600012,2015-01-01 00:02:09,bin129,75, +abc,130,130,130,1970-05-11,12.69999999999997,12.700012,2015-01-01 00:02:10,bin130,35, +abc,131,131,131,1970-05-12,12.79999999999997,12.800013,2015-01-01 00:02:11,bin131,75, +abc,132,132,132,1970-05-13,12.89999999999997,12.900013,2015-01-01 00:02:12,bin132,35, +abc,133,133,133,1970-05-14,12.99999999999997,13.000013,2015-01-01 00:02:13,bin133,75, +abc,134,134,134,1970-05-15,13.09999999999997,13.100014,2015-01-01 00:02:14,bin134,35, +abc,135,135,135,1970-05-16,13.199999999999969,13.200014,2015-01-01 00:02:15,bin135,75, +abc,136,136,136,1970-05-17,13.299999999999969,13.3000145,2015-01-01 00:02:16,bin136,35, +abc,137,137,137,1970-05-18,13.399999999999968,13.400015,2015-01-01 00:02:17,bin137,75, +abc,138,138,138,1970-05-19,13.499999999999968,13.500015,2015-01-01 00:02:18,bin138,35, +abc,139,139,139,1970-05-20,13.599999999999968,13.600016,2015-01-01 00:02:19,bin139,75, +abc,140,140,140,1970-05-21,13.699999999999967,13.700016,2015-01-01 00:02:20,bin140,35, +abc,141,141,141,1970-05-22,13.799999999999967,13.800016,2015-01-01 00:02:21,bin141,75, +abc,142,142,142,1970-05-23,13.899999999999967,13.900017,2015-01-01 00:02:22,bin142,35, +abc,143,143,143,1970-05-24,13.999999999999966,14.000017,2015-01-01 00:02:23,bin143,75, +abc,144,144,144,1970-05-25,14.099999999999966,14.100018,2015-01-01 00:02:24,bin144,35, +abc,145,145,145,1970-05-26,14.199999999999966,14.200018,2015-01-01 00:02:25,bin145,75, +abc,146,146,146,1970-05-27,14.299999999999965,14.300018,2015-01-01 00:02:26,bin146,35, +abc,147,147,147,1970-05-28,14.399999999999965,14.400019,2015-01-01 00:02:27,bin147,75, +abc,148,148,148,1970-05-29,14.499999999999964,14.500019,2015-01-01 00:02:28,bin148,35, +abc,149,149,149,1970-05-30,14.599999999999964,14.600019,2015-01-01 00:02:29,bin149,75, +abc,150,150,150,1970-05-31,14.699999999999964,14.70002,2015-01-01 00:02:30,bin150,35, +abc,151,151,151,1970-06-01,14.799999999999963,14.80002,2015-01-01 00:02:31,bin151,75, +abc,152,152,152,1970-06-02,14.899999999999963,14.900021,2015-01-01 00:02:32,bin152,35, +abc,153,153,153,1970-06-03,14.999999999999963,15.000021,2015-01-01 00:02:33,bin153,75, +abc,154,154,154,1970-06-04,15.099999999999962,15.100021,2015-01-01 00:02:34,bin154,35, +abc,155,155,155,1970-06-05,15.199999999999962,15.200022,2015-01-01 00:02:35,bin155,75, +abc,156,156,156,1970-06-06,15.299999999999962,15.300022,2015-01-01 00:02:36,bin156,35, +abc,157,157,157,1970-06-07,15.399999999999961,15.4000225,2015-01-01 00:02:37,bin157,75, +abc,158,158,158,1970-06-08,15.499999999999961,15.500023,2015-01-01 00:02:38,bin158,35, +abc,159,159,159,1970-06-09,15.59999999999996,15.600023,2015-01-01 00:02:39,bin159,75, +abc,160,160,160,1970-06-10,15.69999999999996,15.700024,2015-01-01 00:02:40,bin160,35, +abc,161,161,161,1970-06-11,15.79999999999996,15.800024,2015-01-01 00:02:41,bin161,75, +abc,162,162,162,1970-06-12,15.89999999999996,15.900024,2015-01-01 00:02:42,bin162,35, +abc,163,163,163,1970-06-13,15.99999999999996,16.000025,2015-01-01 00:02:43,bin163,75, +abc,164,164,164,1970-06-14,16.09999999999996,16.100025,2015-01-01 00:02:44,bin164,35, +abc,165,165,165,1970-06-15,16.19999999999996,16.200026,2015-01-01 00:02:45,bin165,75, +abc,166,166,166,1970-06-16,16.29999999999996,16.300026,2015-01-01 00:02:46,bin166,35, +abc,167,167,167,1970-06-17,16.399999999999963,16.400026,2015-01-01 00:02:47,bin167,75, +abc,168,168,168,1970-06-18,16.499999999999964,16.500027,2015-01-01 00:02:48,bin168,35, +abc,169,169,169,1970-06-19,16.599999999999966,16.600027,2015-01-01 00:02:49,bin169,75, +abc,170,170,170,1970-06-20,16.699999999999967,16.700027,2015-01-01 00:02:50,bin170,35, +abc,171,171,171,1970-06-21,16.79999999999997,16.800028,2015-01-01 00:02:51,bin171,75, +abc,172,172,172,1970-06-22,16.89999999999997,16.900028,2015-01-01 00:02:52,bin172,35, +abc,173,173,173,1970-06-23,16.99999999999997,17.000029,2015-01-01 00:02:53,bin173,75, +abc,174,174,174,1970-06-24,17.099999999999973,17.100029,2015-01-01 00:02:54,bin174,35, +abc,175,175,175,1970-06-25,17.199999999999974,17.20003,2015-01-01 00:02:55,bin175,75, +abc,176,176,176,1970-06-26,17.299999999999976,17.30003,2015-01-01 00:02:56,bin176,35, +abc,177,177,177,1970-06-27,17.399999999999977,17.40003,2015-01-01 00:02:57,bin177,75, +abc,178,178,178,1970-06-28,17.49999999999998,17.50003,2015-01-01 00:02:58,bin178,35, +abc,179,179,179,1970-06-29,17.59999999999998,17.60003,2015-01-01 00:02:59,bin179,75, +abc,180,180,180,1970-06-30,17.69999999999998,17.700031,2015-01-01 00:03:00,bin180,35, +abc,181,181,181,1970-07-01,17.799999999999983,17.800032,2015-01-01 00:03:01,bin181,75, +abc,182,182,182,1970-07-02,17.899999999999984,17.900032,2015-01-01 00:03:02,bin182,35, +abc,183,183,183,1970-07-03,17.999999999999986,18.000032,2015-01-01 00:03:03,bin183,75, +abc,184,184,184,1970-07-04,18.099999999999987,18.100033,2015-01-01 00:03:04,bin184,35, +abc,185,185,185,1970-07-05,18.19999999999999,18.200033,2015-01-01 00:03:05,bin185,75, +abc,186,186,186,1970-07-06,18.29999999999999,18.300034,2015-01-01 00:03:06,bin186,35, +abc,187,187,187,1970-07-07,18.39999999999999,18.400034,2015-01-01 00:03:07,bin187,75, +abc,188,188,188,1970-07-08,18.499999999999993,18.500034,2015-01-01 00:03:08,bin188,35, +abc,189,189,189,1970-07-09,18.599999999999994,18.600035,2015-01-01 00:03:09,bin189,75, +abc,190,190,190,1970-07-10,18.699999999999996,18.700035,2015-01-01 00:03:10,bin190,35, +abc,191,191,191,1970-07-11,18.799999999999997,18.800035,2015-01-01 00:03:11,bin191,75, +abc,192,192,192,1970-07-12,18.9,18.900036,2015-01-01 00:03:12,bin192,35, +abc,193,193,193,1970-07-13,19,19.000036,2015-01-01 00:03:13,bin193,75, +abc,194,194,194,1970-07-14,19.1,19.100037,2015-01-01 00:03:14,bin194,35, +abc,195,195,195,1970-07-15,19.200000000000003,19.200037,2015-01-01 00:03:15,bin195,75, +abc,196,196,196,1970-07-16,19.300000000000004,19.300037,2015-01-01 00:03:16,bin196,35, +abc,197,197,197,1970-07-17,19.400000000000006,19.400038,2015-01-01 00:03:17,bin197,75, +abc,198,198,198,1970-07-18,19.500000000000007,19.500038,2015-01-01 00:03:18,bin198,35, +abc,199,199,199,1970-07-19,19.60000000000001,19.600039,2015-01-01 00:03:19,bin199,75, +abc,200,200,200,1970-07-20,19.70000000000001,19.700039,2015-01-01 00:03:20,bin200,35, +abc,201,201,201,1970-07-21,19.80000000000001,19.80004,2015-01-01 00:03:21,bin201,75, +abc,202,202,202,1970-07-22,19.900000000000013,19.90004,2015-01-01 00:03:22,bin202,35, +abc,203,203,203,1970-07-23,20.000000000000014,20.00004,2015-01-01 00:03:23,bin203,75, +abc,204,204,204,1970-07-24,20.100000000000016,20.10004,2015-01-01 00:03:24,bin204,35, +abc,205,205,205,1970-07-25,20.200000000000017,20.20004,2015-01-01 00:03:25,bin205,75, +abc,206,206,206,1970-07-26,20.30000000000002,20.300041,2015-01-01 00:03:26,bin206,35, +abc,207,207,207,1970-07-27,20.40000000000002,20.400042,2015-01-01 00:03:27,bin207,75, +abc,208,208,208,1970-07-28,20.50000000000002,20.500042,2015-01-01 00:03:28,bin208,35, +abc,209,209,209,1970-07-29,20.600000000000023,20.600042,2015-01-01 00:03:29,bin209,75, +abc,210,210,210,1970-07-30,20.700000000000024,20.700043,2015-01-01 00:03:30,bin210,35, +abc,211,211,211,1970-07-31,20.800000000000026,20.800043,2015-01-01 00:03:31,bin211,75, +abc,212,212,212,1970-08-01,20.900000000000027,20.900043,2015-01-01 00:03:32,bin212,35, +abc,213,213,213,1970-08-02,21.00000000000003,21.000044,2015-01-01 00:03:33,bin213,75, +abc,214,214,214,1970-08-03,21.10000000000003,21.100044,2015-01-01 00:03:34,bin214,35, +abc,215,215,215,1970-08-04,21.20000000000003,21.200045,2015-01-01 00:03:35,bin215,75, +abc,216,216,216,1970-08-05,21.300000000000033,21.300045,2015-01-01 00:03:36,bin216,35, +abc,217,217,217,1970-08-06,21.400000000000034,21.400045,2015-01-01 00:03:37,bin217,75, +abc,218,218,218,1970-08-07,21.500000000000036,21.500046,2015-01-01 00:03:38,bin218,35, +abc,219,219,219,1970-08-08,21.600000000000037,21.600046,2015-01-01 00:03:39,bin219,75, +abc,220,220,220,1970-08-09,21.70000000000004,21.700047,2015-01-01 00:03:40,bin220,35, +abc,221,221,221,1970-08-10,21.80000000000004,21.800047,2015-01-01 00:03:41,bin221,75, +abc,222,222,222,1970-08-11,21.90000000000004,21.900047,2015-01-01 00:03:42,bin222,35, +abc,223,223,223,1970-08-12,22.000000000000043,22.000048,2015-01-01 00:03:43,bin223,75, +abc,224,224,224,1970-08-13,22.100000000000044,22.100048,2015-01-01 00:03:44,bin224,35, +abc,225,225,225,1970-08-14,22.200000000000045,22.200048,2015-01-01 00:03:45,bin225,75, +abc,226,226,226,1970-08-15,22.300000000000047,22.300049,2015-01-01 00:03:46,bin226,35, +abc,227,227,227,1970-08-16,22.40000000000005,22.40005,2015-01-01 00:03:47,bin227,75, +abc,228,228,228,1970-08-17,22.50000000000005,22.50005,2015-01-01 00:03:48,bin228,35, +abc,229,229,229,1970-08-18,22.60000000000005,22.60005,2015-01-01 00:03:49,bin229,75, +abc,230,230,230,1970-08-19,22.700000000000053,22.70005,2015-01-01 00:03:50,bin230,35, +abc,231,231,231,1970-08-20,22.800000000000054,22.80005,2015-01-01 00:03:51,bin231,75, +abc,232,232,232,1970-08-21,22.900000000000055,22.900051,2015-01-01 00:03:52,bin232,35, +abc,233,233,233,1970-08-22,23.000000000000057,23.000051,2015-01-01 00:03:53,bin233,75, +abc,234,234,234,1970-08-23,23.10000000000006,23.100052,2015-01-01 00:03:54,bin234,35, +abc,235,235,235,1970-08-24,23.20000000000006,23.200052,2015-01-01 00:03:55,bin235,75, +abc,236,236,236,1970-08-25,23.30000000000006,23.300053,2015-01-01 00:03:56,bin236,35, +abc,237,237,237,1970-08-26,23.400000000000063,23.400053,2015-01-01 00:03:57,bin237,75, +abc,238,238,238,1970-08-27,23.500000000000064,23.500053,2015-01-01 00:03:58,bin238,35, +abc,239,239,239,1970-08-28,23.600000000000065,23.600054,2015-01-01 00:03:59,bin239,75, +abc,240,240,240,1970-08-29,23.700000000000067,23.700054,2015-01-01 00:04:00,bin240,35, +abc,241,241,241,1970-08-30,23.800000000000068,23.800055,2015-01-01 00:04:01,bin241,75, +abc,242,242,242,1970-08-31,23.90000000000007,23.900055,2015-01-01 00:04:02,bin242,35, +abc,243,243,243,1970-09-01,24.00000000000007,24.000055,2015-01-01 00:04:03,bin243,75, +abc,244,244,244,1970-09-02,24.100000000000072,24.100056,2015-01-01 00:04:04,bin244,35, +abc,245,245,245,1970-09-03,24.200000000000074,24.200056,2015-01-01 00:04:05,bin245,75, +abc,246,246,246,1970-09-04,24.300000000000075,24.300056,2015-01-01 00:04:06,bin246,35, +abc,247,247,247,1970-09-05,24.400000000000077,24.400057,2015-01-01 00:04:07,bin247,75, +abc,248,248,248,1970-09-06,24.500000000000078,24.500057,2015-01-01 00:04:08,bin248,35, +abc,249,249,249,1970-09-07,24.60000000000008,24.600058,2015-01-01 00:04:09,bin249,75, +abc,250,250,250,1970-09-08,24.70000000000008,24.700058,2015-01-01 00:04:10,bin250,35, +abc,251,251,251,1970-09-09,24.800000000000082,24.800058,2015-01-01 00:04:11,bin251,75, +abc,252,252,252,1970-09-10,24.900000000000084,24.900059,2015-01-01 00:04:12,bin252,35, +abc,253,253,253,1970-09-11,25.000000000000085,25.00006,2015-01-01 00:04:13,bin253,75, +abc,254,254,254,1970-09-12,25.100000000000087,25.10006,2015-01-01 00:04:14,bin254,35, +abc,255,255,255,1970-09-13,25.200000000000088,25.20006,2015-01-01 00:04:15,bin255,75, +abc,256,256,256,1970-09-14,25.30000000000009,25.30006,2015-01-01 00:04:16,bin256,35, +abc,257,257,257,1970-09-15,25.40000000000009,25.40006,2015-01-01 00:04:17,bin257,75, +abc,258,258,258,1970-09-16,25.500000000000092,25.500061,2015-01-01 00:04:18,bin258,35, +abc,259,259,259,1970-09-17,25.600000000000094,25.600061,2015-01-01 00:04:19,bin259,75, +abc,260,260,260,1970-09-18,25.700000000000095,25.700062,2015-01-01 00:04:20,bin260,35, +abc,261,261,261,1970-09-19,25.800000000000097,25.800062,2015-01-01 00:04:21,bin261,75, +abc,262,262,262,1970-09-20,25.900000000000098,25.900063,2015-01-01 00:04:22,bin262,35, +abc,263,263,263,1970-09-21,26.0000000000001,26.000063,2015-01-01 00:04:23,bin263,75, +abc,264,264,264,1970-09-22,26.1000000000001,26.100063,2015-01-01 00:04:24,bin264,35, +abc,265,265,265,1970-09-23,26.200000000000102,26.200064,2015-01-01 00:04:25,bin265,75, +abc,266,266,266,1970-09-24,26.300000000000104,26.300064,2015-01-01 00:04:26,bin266,35, +abc,267,267,267,1970-09-25,26.400000000000105,26.400064,2015-01-01 00:04:27,bin267,75, +abc,268,268,268,1970-09-26,26.500000000000107,26.500065,2015-01-01 00:04:28,bin268,35, +abc,269,269,269,1970-09-27,26.600000000000108,26.600065,2015-01-01 00:04:29,bin269,75, +abc,270,270,270,1970-09-28,26.70000000000011,26.700066,2015-01-01 00:04:30,bin270,35, +abc,271,271,271,1970-09-29,26.80000000000011,26.800066,2015-01-01 00:04:31,bin271,75, +abc,272,272,272,1970-09-30,26.900000000000112,26.900066,2015-01-01 00:04:32,bin272,35, +abc,273,273,273,1970-10-01,27.000000000000114,27.000067,2015-01-01 00:04:33,bin273,75, +abc,274,274,274,1970-10-02,27.100000000000115,27.100067,2015-01-01 00:04:34,bin274,35, +abc,275,275,275,1970-10-03,27.200000000000117,27.200068,2015-01-01 00:04:35,bin275,75, +abc,276,276,276,1970-10-04,27.300000000000118,27.300068,2015-01-01 00:04:36,bin276,35, +abc,277,277,277,1970-10-05,27.40000000000012,27.400068,2015-01-01 00:04:37,bin277,75, +abc,278,278,278,1970-10-06,27.50000000000012,27.500069,2015-01-01 00:04:38,bin278,35, +abc,279,279,279,1970-10-07,27.600000000000122,27.600069,2015-01-01 00:04:39,bin279,75, +abc,280,280,280,1970-10-08,27.700000000000124,27.70007,2015-01-01 00:04:40,bin280,35, +abc,281,281,281,1970-10-09,27.800000000000125,27.80007,2015-01-01 00:04:41,bin281,75, +abc,282,282,282,1970-10-10,27.900000000000126,27.90007,2015-01-01 00:04:42,bin282,35, +abc,283,283,283,1970-10-11,28.000000000000128,28.00007,2015-01-01 00:04:43,bin283,75, +abc,284,284,284,1970-10-12,28.10000000000013,28.10007,2015-01-01 00:04:44,bin284,35, +abc,285,285,285,1970-10-13,28.20000000000013,28.200071,2015-01-01 00:04:45,bin285,75, +abc,286,286,286,1970-10-14,28.300000000000132,28.300072,2015-01-01 00:04:46,bin286,35, +abc,287,287,287,1970-10-15,28.400000000000134,28.400072,2015-01-01 00:04:47,bin287,75, +abc,288,288,288,1970-10-16,28.500000000000135,28.500072,2015-01-01 00:04:48,bin288,35, +abc,289,289,289,1970-10-17,28.600000000000136,28.600073,2015-01-01 00:04:49,bin289,75, +abc,290,290,290,1970-10-18,28.700000000000138,28.700073,2015-01-01 00:04:50,bin290,35, +abc,291,291,291,1970-10-19,28.80000000000014,28.800074,2015-01-01 00:04:51,bin291,75, +abc,292,292,292,1970-10-20,28.90000000000014,28.900074,2015-01-01 00:04:52,bin292,35, +abc,293,293,293,1970-10-21,29.000000000000142,29.000074,2015-01-01 00:04:53,bin293,75, +abc,294,294,294,1970-10-22,29.100000000000144,29.100075,2015-01-01 00:04:54,bin294,35, +abc,295,295,295,1970-10-23,29.200000000000145,29.200075,2015-01-01 00:04:55,bin295,75, +abc,296,296,296,1970-10-24,29.300000000000146,29.300076,2015-01-01 00:04:56,bin296,35, +abc,297,297,297,1970-10-25,29.400000000000148,29.400076,2015-01-01 00:04:57,bin297,75, +abc,298,298,298,1970-10-26,29.50000000000015,29.500076,2015-01-01 00:04:58,bin298,35, +abc,299,299,299,1970-10-27,29.60000000000015,29.600077,2015-01-01 00:04:59,bin299,75, +abc,300,300,300,1970-10-28,29.700000000000152,29.700077,2015-01-01 00:05:00,bin300,35, +abc,301,301,301,1970-10-29,29.800000000000153,29.800077,2015-01-01 00:05:01,bin301,75, +abc,302,302,302,1970-10-30,29.900000000000155,29.900078,2015-01-01 00:05:02,bin302,35, +abc,303,303,303,1970-10-31,30.000000000000156,30.000078,2015-01-01 00:05:03,bin303,75, +abc,304,304,304,1970-11-01,30.100000000000158,30.100079,2015-01-01 00:05:04,bin304,35, +abc,305,305,305,1970-11-02,30.20000000000016,30.200079,2015-01-01 00:05:05,bin305,75, +abc,306,306,306,1970-11-03,30.30000000000016,30.30008,2015-01-01 00:05:06,bin306,35, +abc,307,307,307,1970-11-04,30.400000000000162,30.40008,2015-01-01 00:05:07,bin307,75, +abc,308,308,308,1970-11-05,30.500000000000163,30.50008,2015-01-01 00:05:08,bin308,35, +abc,309,309,309,1970-11-06,30.600000000000165,30.60008,2015-01-01 00:05:09,bin309,75, +abc,310,310,310,1970-11-07,30.700000000000166,30.70008,2015-01-01 00:05:10,bin310,35, +abc,311,311,311,1970-11-08,30.800000000000168,30.800081,2015-01-01 00:05:11,bin311,75, +abc,312,312,312,1970-11-09,30.90000000000017,30.900082,2015-01-01 00:05:12,bin312,35, +abc,313,313,313,1970-11-10,31.00000000000017,31.000082,2015-01-01 00:05:13,bin313,75, +abc,314,314,314,1970-11-11,31.100000000000172,31.100082,2015-01-01 00:05:14,bin314,35, +abc,315,315,315,1970-11-12,31.200000000000173,31.200083,2015-01-01 00:05:15,bin315,75, +abc,316,316,316,1970-11-13,31.300000000000175,31.300083,2015-01-01 00:05:16,bin316,35, +abc,317,317,317,1970-11-14,31.400000000000176,31.400084,2015-01-01 00:05:17,bin317,75, +abc,318,318,318,1970-11-15,31.500000000000178,31.500084,2015-01-01 00:05:18,bin318,35, +abc,319,319,319,1970-11-16,31.60000000000018,31.600084,2015-01-01 00:05:19,bin319,75, +abc,320,320,320,1970-11-17,31.70000000000018,31.700085,2015-01-01 00:05:20,bin320,35, +abc,321,321,321,1970-11-18,31.800000000000182,31.800085,2015-01-01 00:05:21,bin321,75, +abc,322,322,322,1970-11-19,31.900000000000183,31.900085,2015-01-01 00:05:22,bin322,35, +abc,323,323,323,1970-11-20,32.000000000000185,32.000084,2015-01-01 00:05:23,bin323,75, +abc,324,324,324,1970-11-21,32.100000000000186,32.100082,2015-01-01 00:05:24,bin324,35, +abc,325,325,325,1970-11-22,32.20000000000019,32.20008,2015-01-01 00:05:25,bin325,75, +abc,326,326,326,1970-11-23,32.30000000000019,32.30008,2015-01-01 00:05:26,bin326,35, +abc,327,327,327,1970-11-24,32.40000000000019,32.400078,2015-01-01 00:05:27,bin327,75, +abc,328,328,328,1970-11-25,32.50000000000019,32.500076,2015-01-01 00:05:28,bin328,35, +abc,329,329,329,1970-11-26,32.60000000000019,32.600075,2015-01-01 00:05:29,bin329,75, +abc,330,330,330,1970-11-27,32.700000000000195,32.700073,2015-01-01 00:05:30,bin330,35, +abc,331,331,331,1970-11-28,32.800000000000196,32.80007,2015-01-01 00:05:31,bin331,75, +abc,332,332,332,1970-11-29,32.9000000000002,32.90007,2015-01-01 00:05:32,bin332,35, +abc,333,333,333,1970-11-30,33.0000000000002,33.00007,2015-01-01 00:05:33,bin333,75, +abc,334,334,334,1970-12-01,33.1000000000002,33.100067,2015-01-01 00:05:34,bin334,35, +abc,335,335,335,1970-12-02,33.2000000000002,33.200066,2015-01-01 00:05:35,bin335,75, +abc,336,336,336,1970-12-03,33.3000000000002,33.300064,2015-01-01 00:05:36,bin336,35, +abc,337,337,337,1970-12-04,33.400000000000205,33.400063,2015-01-01 00:05:37,bin337,75, +abc,338,338,338,1970-12-05,33.500000000000206,33.50006,2015-01-01 00:05:38,bin338,35, +abc,339,339,339,1970-12-06,33.60000000000021,33.60006,2015-01-01 00:05:39,bin339,75, +abc,340,340,340,1970-12-07,33.70000000000021,33.700058,2015-01-01 00:05:40,bin340,35, +abc,341,341,341,1970-12-08,33.80000000000021,33.800056,2015-01-01 00:05:41,bin341,75, +abc,342,342,342,1970-12-09,33.90000000000021,33.900055,2015-01-01 00:05:42,bin342,35, +abc,343,343,343,1970-12-10,34.00000000000021,34.000053,2015-01-01 00:05:43,bin343,75, +abc,344,344,344,1970-12-11,34.100000000000215,34.10005,2015-01-01 00:05:44,bin344,35, +abc,345,345,345,1970-12-12,34.200000000000216,34.20005,2015-01-01 00:05:45,bin345,75, +abc,346,346,346,1970-12-13,34.30000000000022,34.30005,2015-01-01 00:05:46,bin346,35, +abc,347,347,347,1970-12-14,34.40000000000022,34.400047,2015-01-01 00:05:47,bin347,75, +abc,348,348,348,1970-12-15,34.50000000000022,34.500046,2015-01-01 00:05:48,bin348,35, +abc,349,349,349,1970-12-16,34.60000000000022,34.600044,2015-01-01 00:05:49,bin349,75, +abc,350,350,350,1970-12-17,34.70000000000022,34.700043,2015-01-01 00:05:50,bin350,35, +abc,351,351,351,1970-12-18,34.800000000000225,34.80004,2015-01-01 00:05:51,bin351,75, +abc,352,352,352,1970-12-19,34.900000000000226,34.90004,2015-01-01 00:05:52,bin352,35, +abc,353,353,353,1970-12-20,35.00000000000023,35.00004,2015-01-01 00:05:53,bin353,75, +abc,354,354,354,1970-12-21,35.10000000000023,35.100037,2015-01-01 00:05:54,bin354,35, +abc,355,355,355,1970-12-22,35.20000000000023,35.200035,2015-01-01 00:05:55,bin355,75, +abc,356,356,356,1970-12-23,35.30000000000023,35.300034,2015-01-01 00:05:56,bin356,35, +abc,357,357,357,1970-12-24,35.40000000000023,35.400032,2015-01-01 00:05:57,bin357,75, +abc,358,358,358,1970-12-25,35.500000000000234,35.50003,2015-01-01 00:05:58,bin358,35, +abc,359,359,359,1970-12-26,35.600000000000236,35.60003,2015-01-01 00:05:59,bin359,75, +abc,360,360,360,1970-12-27,35.70000000000024,35.700027,2015-01-01 00:06:00,bin360,35, +abc,361,361,361,1970-12-28,35.80000000000024,35.800026,2015-01-01 00:06:01,bin361,75, +abc,362,362,362,1970-12-29,35.90000000000024,35.900024,2015-01-01 00:06:02,bin362,35, +abc,363,363,363,1970-12-30,36.00000000000024,36.000023,2015-01-01 00:06:03,bin363,75, +abc,364,364,364,1970-12-31,36.10000000000024,36.10002,2015-01-01 00:06:04,bin364,35, +abc,365,365,365,1971-01-01,36.200000000000244,36.20002,2015-01-01 00:06:05,bin365,75, +abc,366,366,366,1971-01-02,36.300000000000246,36.30002,2015-01-01 00:06:06,bin366,35, +abc,367,367,367,1971-01-03,36.40000000000025,36.400017,2015-01-01 00:06:07,bin367,75, +abc,368,368,368,1971-01-04,36.50000000000025,36.500015,2015-01-01 00:06:08,bin368,35, +abc,369,369,369,1971-01-05,36.60000000000025,36.600014,2015-01-01 00:06:09,bin369,75, +abc,370,370,370,1971-01-06,36.70000000000025,36.700012,2015-01-01 00:06:10,bin370,35, +abc,371,371,371,1971-01-07,36.80000000000025,36.80001,2015-01-01 00:06:11,bin371,75, +abc,372,372,372,1971-01-08,36.900000000000254,36.90001,2015-01-01 00:06:12,bin372,35, +abc,373,373,373,1971-01-09,37.000000000000256,37.000008,2015-01-01 00:06:13,bin373,75, +abc,374,374,374,1971-01-10,37.10000000000026,37.100006,2015-01-01 00:06:14,bin374,35, +abc,375,375,375,1971-01-11,37.20000000000026,37.200005,2015-01-01 00:06:15,bin375,75, +abc,376,376,376,1971-01-12,37.30000000000026,37.300003,2015-01-01 00:06:16,bin376,35, +abc,377,377,377,1971-01-13,37.40000000000026,37.4,2015-01-01 00:06:17,bin377,75, +abc,378,378,378,1971-01-14,37.50000000000026,37.5,2015-01-01 00:06:18,bin378,35, +abc,379,379,379,1971-01-15,37.600000000000264,37.6,2015-01-01 00:06:19,bin379,75, +abc,380,380,380,1971-01-16,37.700000000000266,37.699997,2015-01-01 00:06:20,bin380,35, +abc,381,381,381,1971-01-17,37.80000000000027,37.799995,2015-01-01 00:06:21,bin381,75, +abc,382,382,382,1971-01-18,37.90000000000027,37.899994,2015-01-01 00:06:22,bin382,35, +abc,383,383,383,1971-01-19,38.00000000000027,37.999992,2015-01-01 00:06:23,bin383,75, +abc,384,384,384,1971-01-20,38.10000000000027,38.09999,2015-01-01 00:06:24,bin384,35, +abc,385,385,385,1971-01-21,38.20000000000027,38.19999,2015-01-01 00:06:25,bin385,75, +abc,386,386,386,1971-01-22,38.300000000000274,38.299988,2015-01-01 00:06:26,bin386,35, +abc,387,387,387,1971-01-23,38.400000000000276,38.399986,2015-01-01 00:06:27,bin387,75, +abc,388,388,388,1971-01-24,38.50000000000028,38.499985,2015-01-01 00:06:28,bin388,35, +abc,389,389,389,1971-01-25,38.60000000000028,38.599983,2015-01-01 00:06:29,bin389,75, +abc,390,390,390,1971-01-26,38.70000000000028,38.69998,2015-01-01 00:06:30,bin390,35, +abc,391,391,391,1971-01-27,38.80000000000028,38.79998,2015-01-01 00:06:31,bin391,75, +abc,392,392,392,1971-01-28,38.90000000000028,38.89998,2015-01-01 00:06:32,bin392,35, +abc,393,393,393,1971-01-29,39.000000000000284,38.999977,2015-01-01 00:06:33,bin393,75, +abc,394,394,394,1971-01-30,39.100000000000286,39.099976,2015-01-01 00:06:34,bin394,35, +abc,395,395,395,1971-01-31,39.20000000000029,39.199974,2015-01-01 00:06:35,bin395,75, +abc,396,396,396,1971-02-01,39.30000000000029,39.299973,2015-01-01 00:06:36,bin396,35, +abc,397,397,397,1971-02-02,39.40000000000029,39.39997,2015-01-01 00:06:37,bin397,75, +abc,398,398,398,1971-02-03,39.50000000000029,39.49997,2015-01-01 00:06:38,bin398,35, +abc,399,399,399,1971-02-04,39.60000000000029,39.599968,2015-01-01 00:06:39,bin399,75, +abc,400,400,400,1971-02-05,39.700000000000294,39.699966,2015-01-01 00:06:40,bin400,35, +abc,401,401,401,1971-02-06,39.800000000000296,39.799965,2015-01-01 00:06:41,bin401,75, +abc,402,402,402,1971-02-07,39.9000000000003,39.899963,2015-01-01 00:06:42,bin402,35, +abc,403,403,403,1971-02-08,40.0000000000003,39.99996,2015-01-01 00:06:43,bin403,75, +abc,404,404,404,1971-02-09,40.1000000000003,40.09996,2015-01-01 00:06:44,bin404,35, +abc,405,405,405,1971-02-10,40.2000000000003,40.19996,2015-01-01 00:06:45,bin405,75, +abc,406,406,406,1971-02-11,40.3000000000003,40.299957,2015-01-01 00:06:46,bin406,35, +abc,407,407,407,1971-02-12,40.400000000000304,40.399956,2015-01-01 00:06:47,bin407,75, +abc,408,408,408,1971-02-13,40.500000000000306,40.499954,2015-01-01 00:06:48,bin408,35, +abc,409,409,409,1971-02-14,40.60000000000031,40.599953,2015-01-01 00:06:49,bin409,75, +abc,410,410,410,1971-02-15,40.70000000000031,40.69995,2015-01-01 00:06:50,bin410,35, +abc,411,411,411,1971-02-16,40.80000000000031,40.79995,2015-01-01 00:06:51,bin411,75, +abc,412,412,412,1971-02-17,40.90000000000031,40.89995,2015-01-01 00:06:52,bin412,35, +abc,413,413,413,1971-02-18,41.00000000000031,40.999947,2015-01-01 00:06:53,bin413,75, +abc,414,414,414,1971-02-19,41.100000000000314,41.099945,2015-01-01 00:06:54,bin414,35, +abc,415,415,415,1971-02-20,41.200000000000315,41.199944,2015-01-01 00:06:55,bin415,75, +abc,416,416,416,1971-02-21,41.30000000000032,41.299942,2015-01-01 00:06:56,bin416,35, +abc,417,417,417,1971-02-22,41.40000000000032,41.39994,2015-01-01 00:06:57,bin417,75, +abc,418,418,418,1971-02-23,41.50000000000032,41.49994,2015-01-01 00:06:58,bin418,35, +abc,419,419,419,1971-02-24,41.60000000000032,41.599937,2015-01-01 00:06:59,bin419,75, +abc,420,420,420,1971-02-25,41.70000000000032,41.699936,2015-01-01 00:07:00,bin420,35, +abc,421,421,421,1971-02-26,41.800000000000324,41.799934,2015-01-01 00:07:01,bin421,75, +abc,422,422,422,1971-02-27,41.900000000000325,41.899933,2015-01-01 00:07:02,bin422,35, +abc,423,423,423,1971-02-28,42.00000000000033,41.99993,2015-01-01 00:07:03,bin423,75, +abc,424,424,424,1971-03-01,42.10000000000033,42.09993,2015-01-01 00:07:04,bin424,35, +abc,425,425,425,1971-03-02,42.20000000000033,42.19993,2015-01-01 00:07:05,bin425,75, +abc,426,426,426,1971-03-03,42.30000000000033,42.299927,2015-01-01 00:07:06,bin426,35, +abc,427,427,427,1971-03-04,42.40000000000033,42.399925,2015-01-01 00:07:07,bin427,75, +abc,428,428,428,1971-03-05,42.500000000000334,42.499924,2015-01-01 00:07:08,bin428,35, +abc,429,429,429,1971-03-06,42.600000000000335,42.599922,2015-01-01 00:07:09,bin429,75, +abc,430,430,430,1971-03-07,42.70000000000034,42.69992,2015-01-01 00:07:10,bin430,35, +abc,431,431,431,1971-03-08,42.80000000000034,42.79992,2015-01-01 00:07:11,bin431,75, +abc,432,432,432,1971-03-09,42.90000000000034,42.899918,2015-01-01 00:07:12,bin432,35, +abc,433,433,433,1971-03-10,43.00000000000034,42.999916,2015-01-01 00:07:13,bin433,75, +abc,434,434,434,1971-03-11,43.10000000000034,43.099915,2015-01-01 00:07:14,bin434,35, +abc,435,435,435,1971-03-12,43.200000000000344,43.199913,2015-01-01 00:07:15,bin435,75, +abc,436,436,436,1971-03-13,43.300000000000345,43.29991,2015-01-01 00:07:16,bin436,35, +abc,437,437,437,1971-03-14,43.40000000000035,43.39991,2015-01-01 00:07:17,bin437,75, +abc,438,438,438,1971-03-15,43.50000000000035,43.49991,2015-01-01 00:07:18,bin438,35, +abc,439,439,439,1971-03-16,43.60000000000035,43.599907,2015-01-01 00:07:19,bin439,75, +abc,440,440,440,1971-03-17,43.70000000000035,43.699905,2015-01-01 00:07:20,bin440,35, +abc,441,441,441,1971-03-18,43.80000000000035,43.799904,2015-01-01 00:07:21,bin441,75, +abc,442,442,442,1971-03-19,43.900000000000354,43.899902,2015-01-01 00:07:22,bin442,35, +abc,443,443,443,1971-03-20,44.000000000000355,43.9999,2015-01-01 00:07:23,bin443,75, +abc,444,444,444,1971-03-21,44.10000000000036,44.0999,2015-01-01 00:07:24,bin444,35, +abc,445,445,445,1971-03-22,44.20000000000036,44.199898,2015-01-01 00:07:25,bin445,75, +abc,446,446,446,1971-03-23,44.30000000000036,44.299896,2015-01-01 00:07:26,bin446,35, +abc,447,447,447,1971-03-24,44.40000000000036,44.399895,2015-01-01 00:07:27,bin447,75, +abc,448,448,448,1971-03-25,44.50000000000036,44.499893,2015-01-01 00:07:28,bin448,35, +abc,449,449,449,1971-03-26,44.600000000000364,44.59989,2015-01-01 00:07:29,bin449,75, +abc,450,450,450,1971-03-27,44.700000000000365,44.69989,2015-01-01 00:07:30,bin450,35, +abc,451,451,451,1971-03-28,44.80000000000037,44.79989,2015-01-01 00:07:31,bin451,75, +abc,452,452,452,1971-03-29,44.90000000000037,44.899887,2015-01-01 00:07:32,bin452,35, +abc,453,453,453,1971-03-30,45.00000000000037,44.999886,2015-01-01 00:07:33,bin453,75, +abc,454,454,454,1971-03-31,45.10000000000037,45.099884,2015-01-01 00:07:34,bin454,35, +abc,455,455,455,1971-04-01,45.20000000000037,45.199883,2015-01-01 00:07:35,bin455,75, +abc,456,456,456,1971-04-02,45.300000000000374,45.29988,2015-01-01 00:07:36,bin456,35, +abc,457,457,457,1971-04-03,45.400000000000375,45.39988,2015-01-01 00:07:37,bin457,75, +abc,458,458,458,1971-04-04,45.50000000000038,45.499878,2015-01-01 00:07:38,bin458,35, +abc,459,459,459,1971-04-05,45.60000000000038,45.599876,2015-01-01 00:07:39,bin459,75, +abc,460,460,460,1971-04-06,45.70000000000038,45.699875,2015-01-01 00:07:40,bin460,35, +abc,461,461,461,1971-04-07,45.80000000000038,45.799873,2015-01-01 00:07:41,bin461,75, +abc,462,462,462,1971-04-08,45.90000000000038,45.89987,2015-01-01 00:07:42,bin462,35, +abc,463,463,463,1971-04-09,46.000000000000384,45.99987,2015-01-01 00:07:43,bin463,75, +abc,464,464,464,1971-04-10,46.100000000000385,46.09987,2015-01-01 00:07:44,bin464,35, +abc,465,465,465,1971-04-11,46.20000000000039,46.199867,2015-01-01 00:07:45,bin465,75, +abc,466,466,466,1971-04-12,46.30000000000039,46.299866,2015-01-01 00:07:46,bin466,35, +abc,467,467,467,1971-04-13,46.40000000000039,46.399864,2015-01-01 00:07:47,bin467,75, +abc,468,468,468,1971-04-14,46.50000000000039,46.499863,2015-01-01 00:07:48,bin468,35, +abc,469,469,469,1971-04-15,46.60000000000039,46.59986,2015-01-01 00:07:49,bin469,75, +abc,470,470,470,1971-04-16,46.700000000000394,46.69986,2015-01-01 00:07:50,bin470,35, +abc,471,471,471,1971-04-17,46.800000000000395,46.79986,2015-01-01 00:07:51,bin471,75, +abc,472,472,472,1971-04-18,46.9000000000004,46.899857,2015-01-01 00:07:52,bin472,35, +abc,473,473,473,1971-04-19,47.0000000000004,46.999855,2015-01-01 00:07:53,bin473,75, +abc,474,474,474,1971-04-20,47.1000000000004,47.099854,2015-01-01 00:07:54,bin474,35, +abc,475,475,475,1971-04-21,47.2000000000004,47.199852,2015-01-01 00:07:55,bin475,75, +abc,476,476,476,1971-04-22,47.3000000000004,47.29985,2015-01-01 00:07:56,bin476,35, +abc,477,477,477,1971-04-23,47.400000000000404,47.39985,2015-01-01 00:07:57,bin477,75, +abc,478,478,478,1971-04-24,47.500000000000405,47.499847,2015-01-01 00:07:58,bin478,35, +abc,479,479,479,1971-04-25,47.600000000000406,47.599846,2015-01-01 00:07:59,bin479,75, +abc,480,480,480,1971-04-26,47.70000000000041,47.699844,2015-01-01 00:08:00,bin480,35, +abc,481,481,481,1971-04-27,47.80000000000041,47.799843,2015-01-01 00:08:01,bin481,75, +abc,482,482,482,1971-04-28,47.90000000000041,47.89984,2015-01-01 00:08:02,bin482,35, +abc,483,483,483,1971-04-29,48.00000000000041,47.99984,2015-01-01 00:08:03,bin483,75, +abc,484,484,484,1971-04-30,48.10000000000041,48.09984,2015-01-01 00:08:04,bin484,35, +abc,485,485,485,1971-05-01,48.200000000000415,48.199837,2015-01-01 00:08:05,bin485,75, +abc,486,486,486,1971-05-02,48.300000000000416,48.299835,2015-01-01 00:08:06,bin486,35, +abc,487,487,487,1971-05-03,48.40000000000042,48.399834,2015-01-01 00:08:07,bin487,75, +abc,488,488,488,1971-05-04,48.50000000000042,48.499832,2015-01-01 00:08:08,bin488,35, +abc,489,489,489,1971-05-05,48.60000000000042,48.59983,2015-01-01 00:08:09,bin489,75, +abc,490,490,490,1971-05-06,48.70000000000042,48.69983,2015-01-01 00:08:10,bin490,35, +abc,491,491,491,1971-05-07,48.80000000000042,48.799828,2015-01-01 00:08:11,bin491,75, +abc,492,492,492,1971-05-08,48.900000000000425,48.899826,2015-01-01 00:08:12,bin492,35, +abc,493,493,493,1971-05-09,49.000000000000426,48.999825,2015-01-01 00:08:13,bin493,75, +abc,494,494,494,1971-05-10,49.10000000000043,49.099823,2015-01-01 00:08:14,bin494,35, +abc,495,495,495,1971-05-11,49.20000000000043,49.19982,2015-01-01 00:08:15,bin495,75, +abc,496,496,496,1971-05-12,49.30000000000043,49.29982,2015-01-01 00:08:16,bin496,35, +abc,497,497,497,1971-05-13,49.40000000000043,49.39982,2015-01-01 00:08:17,bin497,75, +abc,498,498,498,1971-05-14,49.50000000000043,49.499817,2015-01-01 00:08:18,bin498,35, +abc,499,499,499,1971-05-15,49.600000000000435,49.599815,2015-01-01 00:08:19,bin499,75, +abc,500,500,500,1971-05-16,49.700000000000436,49.699814,2015-01-01 00:08:20,bin500,35, +abc,501,501,501,1971-05-17,49.80000000000044,49.799812,2015-01-01 00:08:21,bin501,75, +abc,502,502,502,1971-05-18,49.90000000000044,49.89981,2015-01-01 00:08:22,bin502,35, +abc,503,503,503,1971-05-19,50.00000000000044,49.99981,2015-01-01 00:08:23,bin503,75, +abc,504,504,504,1971-05-20,50.10000000000044,50.099808,2015-01-01 00:08:24,bin504,35, +abc,505,505,505,1971-05-21,50.20000000000044,50.199806,2015-01-01 00:08:25,bin505,75, +abc,506,506,506,1971-05-22,50.300000000000445,50.299805,2015-01-01 00:08:26,bin506,35, +abc,507,507,507,1971-05-23,50.400000000000446,50.399803,2015-01-01 00:08:27,bin507,75, +abc,508,508,508,1971-05-24,50.50000000000045,50.4998,2015-01-01 00:08:28,bin508,35, +abc,509,509,509,1971-05-25,50.60000000000045,50.5998,2015-01-01 00:08:29,bin509,75, +abc,510,510,510,1971-05-26,50.70000000000045,50.6998,2015-01-01 00:08:30,bin510,35, +abc,511,511,511,1971-05-27,50.80000000000045,50.799797,2015-01-01 00:08:31,bin511,75, +abc,512,512,512,1971-05-28,50.90000000000045,50.899796,2015-01-01 00:08:32,bin512,35, +abc,513,513,513,1971-05-29,51.000000000000455,50.999794,2015-01-01 00:08:33,bin513,75, +abc,514,514,514,1971-05-30,51.100000000000456,51.099792,2015-01-01 00:08:34,bin514,35, +abc,515,515,515,1971-05-31,51.20000000000046,51.19979,2015-01-01 00:08:35,bin515,75, +abc,516,516,516,1971-06-01,51.30000000000046,51.29979,2015-01-01 00:08:36,bin516,35, +abc,517,517,517,1971-06-02,51.40000000000046,51.399788,2015-01-01 00:08:37,bin517,75, +abc,518,518,518,1971-06-03,51.50000000000046,51.499786,2015-01-01 00:08:38,bin518,35, +abc,519,519,519,1971-06-04,51.60000000000046,51.599785,2015-01-01 00:08:39,bin519,75, +abc,520,520,520,1971-06-05,51.700000000000465,51.699783,2015-01-01 00:08:40,bin520,35, +abc,521,521,521,1971-06-06,51.800000000000466,51.79978,2015-01-01 00:08:41,bin521,75, +abc,522,522,522,1971-06-07,51.90000000000047,51.89978,2015-01-01 00:08:42,bin522,35, +abc,523,523,523,1971-06-08,52.00000000000047,51.99978,2015-01-01 00:08:43,bin523,75, +abc,524,524,524,1971-06-09,52.10000000000047,52.099777,2015-01-01 00:08:44,bin524,35, +abc,525,525,525,1971-06-10,52.20000000000047,52.199776,2015-01-01 00:08:45,bin525,75, +abc,526,526,526,1971-06-11,52.30000000000047,52.299774,2015-01-01 00:08:46,bin526,35, +abc,527,527,527,1971-06-12,52.400000000000475,52.399773,2015-01-01 00:08:47,bin527,75, +abc,528,528,528,1971-06-13,52.500000000000476,52.49977,2015-01-01 00:08:48,bin528,35, +abc,529,529,529,1971-06-14,52.60000000000048,52.59977,2015-01-01 00:08:49,bin529,75, +abc,530,530,530,1971-06-15,52.70000000000048,52.699768,2015-01-01 00:08:50,bin530,35, +abc,531,531,531,1971-06-16,52.80000000000048,52.799767,2015-01-01 00:08:51,bin531,75, +abc,532,532,532,1971-06-17,52.90000000000048,52.899765,2015-01-01 00:08:52,bin532,35, +abc,533,533,533,1971-06-18,53.00000000000048,52.999763,2015-01-01 00:08:53,bin533,75, +abc,534,534,534,1971-06-19,53.100000000000485,53.099762,2015-01-01 00:08:54,bin534,35, +abc,535,535,535,1971-06-20,53.200000000000486,53.19976,2015-01-01 00:08:55,bin535,75, +abc,536,536,536,1971-06-21,53.30000000000049,53.29976,2015-01-01 00:08:56,bin536,35, +abc,537,537,537,1971-06-22,53.40000000000049,53.399757,2015-01-01 00:08:57,bin537,75, +abc,538,538,538,1971-06-23,53.50000000000049,53.499756,2015-01-01 00:08:58,bin538,35, +abc,539,539,539,1971-06-24,53.60000000000049,53.599754,2015-01-01 00:08:59,bin539,75, +abc,540,540,540,1971-06-25,53.70000000000049,53.699753,2015-01-01 00:09:00,bin540,35, +abc,541,541,541,1971-06-26,53.800000000000495,53.79975,2015-01-01 00:09:01,bin541,75, +abc,542,542,542,1971-06-27,53.900000000000496,53.89975,2015-01-01 00:09:02,bin542,35, +abc,543,543,543,1971-06-28,54.0000000000005,53.99975,2015-01-01 00:09:03,bin543,75, +abc,544,544,544,1971-06-29,54.1000000000005,54.099747,2015-01-01 00:09:04,bin544,35, +abc,545,545,545,1971-06-30,54.2000000000005,54.199745,2015-01-01 00:09:05,bin545,75, +abc,546,546,546,1971-07-01,54.3000000000005,54.299744,2015-01-01 00:09:06,bin546,35, +abc,547,547,547,1971-07-02,54.4000000000005,54.399742,2015-01-01 00:09:07,bin547,75, +abc,548,548,548,1971-07-03,54.500000000000504,54.49974,2015-01-01 00:09:08,bin548,35, +abc,549,549,549,1971-07-04,54.600000000000506,54.59974,2015-01-01 00:09:09,bin549,75, +abc,550,550,550,1971-07-05,54.70000000000051,54.699738,2015-01-01 00:09:10,bin550,35, +abc,551,551,551,1971-07-06,54.80000000000051,54.799736,2015-01-01 00:09:11,bin551,75, +abc,552,552,552,1971-07-07,54.90000000000051,54.899734,2015-01-01 00:09:12,bin552,35, +abc,553,553,553,1971-07-08,55.00000000000051,54.999733,2015-01-01 00:09:13,bin553,75, +abc,554,554,554,1971-07-09,55.10000000000051,55.09973,2015-01-01 00:09:14,bin554,35, +abc,555,555,555,1971-07-10,55.200000000000514,55.19973,2015-01-01 00:09:15,bin555,75, +abc,556,556,556,1971-07-11,55.300000000000516,55.29973,2015-01-01 00:09:16,bin556,35, +abc,557,557,557,1971-07-12,55.40000000000052,55.399727,2015-01-01 00:09:17,bin557,75, +abc,558,558,558,1971-07-13,55.50000000000052,55.499725,2015-01-01 00:09:18,bin558,35, +abc,559,559,559,1971-07-14,55.60000000000052,55.599724,2015-01-01 00:09:19,bin559,75, +abc,560,560,560,1971-07-15,55.70000000000052,55.699722,2015-01-01 00:09:20,bin560,35, +abc,561,561,561,1971-07-16,55.80000000000052,55.79972,2015-01-01 00:09:21,bin561,75, +abc,562,562,562,1971-07-17,55.900000000000524,55.89972,2015-01-01 00:09:22,bin562,35, +abc,563,563,563,1971-07-18,56.000000000000526,55.999718,2015-01-01 00:09:23,bin563,75, +abc,564,564,564,1971-07-19,56.10000000000053,56.099716,2015-01-01 00:09:24,bin564,35, +abc,565,565,565,1971-07-20,56.20000000000053,56.199715,2015-01-01 00:09:25,bin565,75, +abc,566,566,566,1971-07-21,56.30000000000053,56.299713,2015-01-01 00:09:26,bin566,35, +abc,567,567,567,1971-07-22,56.40000000000053,56.39971,2015-01-01 00:09:27,bin567,75, +abc,568,568,568,1971-07-23,56.50000000000053,56.49971,2015-01-01 00:09:28,bin568,35, +abc,569,569,569,1971-07-24,56.600000000000534,56.59971,2015-01-01 00:09:29,bin569,75, +abc,570,570,570,1971-07-25,56.700000000000536,56.699707,2015-01-01 00:09:30,bin570,35, +abc,571,571,571,1971-07-26,56.80000000000054,56.799706,2015-01-01 00:09:31,bin571,75, +abc,572,572,572,1971-07-27,56.90000000000054,56.899704,2015-01-01 00:09:32,bin572,35, +abc,573,573,573,1971-07-28,57.00000000000054,56.999702,2015-01-01 00:09:33,bin573,75, +abc,574,574,574,1971-07-29,57.10000000000054,57.0997,2015-01-01 00:09:34,bin574,35, +abc,575,575,575,1971-07-30,57.20000000000054,57.1997,2015-01-01 00:09:35,bin575,75, +abc,576,576,576,1971-07-31,57.300000000000544,57.299698,2015-01-01 00:09:36,bin576,35, +abc,577,577,577,1971-08-01,57.400000000000546,57.399696,2015-01-01 00:09:37,bin577,75, +abc,578,578,578,1971-08-02,57.50000000000055,57.499695,2015-01-01 00:09:38,bin578,35, +abc,579,579,579,1971-08-03,57.60000000000055,57.599693,2015-01-01 00:09:39,bin579,75, +abc,580,580,580,1971-08-04,57.70000000000055,57.69969,2015-01-01 00:09:40,bin580,35, +abc,581,581,581,1971-08-05,57.80000000000055,57.79969,2015-01-01 00:09:41,bin581,75, +abc,582,582,582,1971-08-06,57.90000000000055,57.89969,2015-01-01 00:09:42,bin582,35, +abc,583,583,583,1971-08-07,58.000000000000554,57.999687,2015-01-01 00:09:43,bin583,75, +abc,584,584,584,1971-08-08,58.100000000000556,58.099686,2015-01-01 00:09:44,bin584,35, +abc,585,585,585,1971-08-09,58.20000000000056,58.199684,2015-01-01 00:09:45,bin585,75, +abc,586,586,586,1971-08-10,58.30000000000056,58.299683,2015-01-01 00:09:46,bin586,35, +abc,587,587,587,1971-08-11,58.40000000000056,58.39968,2015-01-01 00:09:47,bin587,75, +abc,588,588,588,1971-08-12,58.50000000000056,58.49968,2015-01-01 00:09:48,bin588,35, +abc,589,589,589,1971-08-13,58.60000000000056,58.599678,2015-01-01 00:09:49,bin589,75, +abc,590,590,590,1971-08-14,58.700000000000564,58.699677,2015-01-01 00:09:50,bin590,35, +abc,591,591,591,1971-08-15,58.800000000000566,58.799675,2015-01-01 00:09:51,bin591,75, +abc,592,592,592,1971-08-16,58.90000000000057,58.899673,2015-01-01 00:09:52,bin592,35, +abc,593,593,593,1971-08-17,59.00000000000057,58.999672,2015-01-01 00:09:53,bin593,75, +abc,594,594,594,1971-08-18,59.10000000000057,59.09967,2015-01-01 00:09:54,bin594,35, +abc,595,595,595,1971-08-19,59.20000000000057,59.19967,2015-01-01 00:09:55,bin595,75, +abc,596,596,596,1971-08-20,59.30000000000057,59.299667,2015-01-01 00:09:56,bin596,35, +abc,597,597,597,1971-08-21,59.400000000000574,59.399666,2015-01-01 00:09:57,bin597,75, +abc,598,598,598,1971-08-22,59.500000000000576,59.499664,2015-01-01 00:09:58,bin598,35, +abc,599,599,599,1971-08-23,59.60000000000058,59.599663,2015-01-01 00:09:59,bin599,75, +abc,600,600,600,1971-08-24,59.70000000000058,59.69966,2015-01-01 00:10:00,bin600,35, +abc,601,601,601,1971-08-25,59.80000000000058,59.79966,2015-01-01 00:10:01,bin601,75, +abc,602,602,602,1971-08-26,59.90000000000058,59.89966,2015-01-01 00:10:02,bin602,35, +abc,603,603,603,1971-08-27,60.00000000000058,59.999657,2015-01-01 00:10:03,bin603,75, +abc,604,604,604,1971-08-28,60.100000000000584,60.099655,2015-01-01 00:10:04,bin604,35, +abc,605,605,605,1971-08-29,60.200000000000585,60.199654,2015-01-01 00:10:05,bin605,75, +abc,606,606,606,1971-08-30,60.30000000000059,60.299652,2015-01-01 00:10:06,bin606,35, +abc,607,607,607,1971-08-31,60.40000000000059,60.39965,2015-01-01 00:10:07,bin607,75, +abc,608,608,608,1971-09-01,60.50000000000059,60.49965,2015-01-01 00:10:08,bin608,35, +abc,609,609,609,1971-09-02,60.60000000000059,60.599648,2015-01-01 00:10:09,bin609,75, +abc,610,610,610,1971-09-03,60.70000000000059,60.699646,2015-01-01 00:10:10,bin610,35, +abc,611,611,611,1971-09-04,60.800000000000594,60.799644,2015-01-01 00:10:11,bin611,75, +abc,612,612,612,1971-09-05,60.900000000000595,60.899643,2015-01-01 00:10:12,bin612,35, +abc,613,613,613,1971-09-06,61.0000000000006,60.99964,2015-01-01 00:10:13,bin613,75, +abc,614,614,614,1971-09-07,61.1000000000006,61.09964,2015-01-01 00:10:14,bin614,35, +abc,615,615,615,1971-09-08,61.2000000000006,61.19964,2015-01-01 00:10:15,bin615,75, +abc,616,616,616,1971-09-09,61.3000000000006,61.299637,2015-01-01 00:10:16,bin616,35, +abc,617,617,617,1971-09-10,61.4000000000006,61.399635,2015-01-01 00:10:17,bin617,75, +abc,618,618,618,1971-09-11,61.500000000000604,61.499634,2015-01-01 00:10:18,bin618,35, +abc,619,619,619,1971-09-12,61.600000000000605,61.599632,2015-01-01 00:10:19,bin619,75, +abc,620,620,620,1971-09-13,61.70000000000061,61.69963,2015-01-01 00:10:20,bin620,35, +abc,621,621,621,1971-09-14,61.80000000000061,61.79963,2015-01-01 00:10:21,bin621,75, +abc,622,622,622,1971-09-15,61.90000000000061,61.899628,2015-01-01 00:10:22,bin622,35, +abc,623,623,623,1971-09-16,62.00000000000061,61.999626,2015-01-01 00:10:23,bin623,75, +abc,624,624,624,1971-09-17,62.10000000000061,62.099625,2015-01-01 00:10:24,bin624,35, +abc,625,625,625,1971-09-18,62.200000000000614,62.199623,2015-01-01 00:10:25,bin625,75, +abc,626,626,626,1971-09-19,62.300000000000615,62.29962,2015-01-01 00:10:26,bin626,35, +abc,627,627,627,1971-09-20,62.40000000000062,62.39962,2015-01-01 00:10:27,bin627,75, +abc,628,628,628,1971-09-21,62.50000000000062,62.49962,2015-01-01 00:10:28,bin628,35, +abc,629,629,629,1971-09-22,62.60000000000062,62.599617,2015-01-01 00:10:29,bin629,75, +abc,630,630,630,1971-09-23,62.70000000000062,62.699615,2015-01-01 00:10:30,bin630,35, +abc,631,631,631,1971-09-24,62.80000000000062,62.799614,2015-01-01 00:10:31,bin631,75, +abc,632,632,632,1971-09-25,62.900000000000624,62.899612,2015-01-01 00:10:32,bin632,35, +abc,633,633,633,1971-09-26,63.000000000000625,62.99961,2015-01-01 00:10:33,bin633,75, +abc,634,634,634,1971-09-27,63.10000000000063,63.09961,2015-01-01 00:10:34,bin634,35, +abc,635,635,635,1971-09-28,63.20000000000063,63.199608,2015-01-01 00:10:35,bin635,75, +abc,636,636,636,1971-09-29,63.30000000000063,63.299606,2015-01-01 00:10:36,bin636,35, +abc,637,637,637,1971-09-30,63.40000000000063,63.399605,2015-01-01 00:10:37,bin637,75, +abc,638,638,638,1971-10-01,63.50000000000063,63.499603,2015-01-01 00:10:38,bin638,35, +abc,639,639,639,1971-10-02,63.600000000000634,63.5996,2015-01-01 00:10:39,bin639,75, +abc,640,640,640,1971-10-03,63.700000000000635,63.6996,2015-01-01 00:10:40,bin640,35, +abc,641,641,641,1971-10-04,63.80000000000064,63.7996,2015-01-01 00:10:41,bin641,75, +abc,642,642,642,1971-10-05,63.90000000000064,63.899597,2015-01-01 00:10:42,bin642,35, +abc,643,643,643,1971-10-06,64.00000000000064,63.999596,2015-01-01 00:10:43,bin643,75, +abc,644,644,644,1971-10-07,64.10000000000063,64.099594,2015-01-01 00:10:44,bin644,35, +abc,645,645,645,1971-10-08,64.20000000000063,64.19959,2015-01-01 00:10:45,bin645,75, +abc,646,646,646,1971-10-09,64.30000000000062,64.29959,2015-01-01 00:10:46,bin646,35, +abc,647,647,647,1971-10-10,64.40000000000062,64.39959,2015-01-01 00:10:47,bin647,75, +abc,648,648,648,1971-10-11,64.50000000000061,64.49959,2015-01-01 00:10:48,bin648,35, +abc,649,649,649,1971-10-12,64.6000000000006,64.59959,2015-01-01 00:10:49,bin649,75, +abc,650,650,650,1971-10-13,64.7000000000006,64.699585,2015-01-01 00:10:50,bin650,35, +abc,651,651,651,1971-10-14,64.8000000000006,64.79958,2015-01-01 00:10:51,bin651,75, +abc,652,652,652,1971-10-15,64.90000000000059,64.89958,2015-01-01 00:10:52,bin652,35, +abc,653,653,653,1971-10-16,65.00000000000058,64.99958,2015-01-01 00:10:53,bin653,75, +abc,654,654,654,1971-10-17,65.10000000000058,65.09958,2015-01-01 00:10:54,bin654,35, +abc,655,655,655,1971-10-18,65.20000000000057,65.19958,2015-01-01 00:10:55,bin655,75, +abc,656,656,656,1971-10-19,65.30000000000057,65.299576,2015-01-01 00:10:56,bin656,35, +abc,657,657,657,1971-10-20,65.40000000000056,65.399574,2015-01-01 00:10:57,bin657,75, +abc,658,658,658,1971-10-21,65.50000000000055,65.49957,2015-01-01 00:10:58,bin658,35, +abc,659,659,659,1971-10-22,65.60000000000055,65.59957,2015-01-01 00:10:59,bin659,75, +abc,660,660,660,1971-10-23,65.70000000000054,65.69957,2015-01-01 00:11:00,bin660,35, +abc,661,661,661,1971-10-24,65.80000000000054,65.79957,2015-01-01 00:11:01,bin661,75, +abc,662,662,662,1971-10-25,65.90000000000053,65.89957,2015-01-01 00:11:02,bin662,35, +abc,663,663,663,1971-10-26,66.00000000000053,65.999565,2015-01-01 00:11:03,bin663,75, +abc,664,664,664,1971-10-27,66.10000000000052,66.09956,2015-01-01 00:11:04,bin664,35, +abc,665,665,665,1971-10-28,66.20000000000051,66.19956,2015-01-01 00:11:05,bin665,75, +abc,666,666,666,1971-10-29,66.30000000000051,66.29956,2015-01-01 00:11:06,bin666,35, +abc,667,667,667,1971-10-30,66.4000000000005,66.39956,2015-01-01 00:11:07,bin667,75, +abc,668,668,668,1971-10-31,66.5000000000005,66.49956,2015-01-01 00:11:08,bin668,35, +abc,669,669,669,1971-11-01,66.60000000000049,66.599556,2015-01-01 00:11:09,bin669,75, +abc,670,670,670,1971-11-02,66.70000000000049,66.699554,2015-01-01 00:11:10,bin670,35, +abc,671,671,671,1971-11-03,66.80000000000048,66.79955,2015-01-01 00:11:11,bin671,75, +abc,672,672,672,1971-11-04,66.90000000000047,66.89955,2015-01-01 00:11:12,bin672,35, +abc,673,673,673,1971-11-05,67.00000000000047,66.99955,2015-01-01 00:11:13,bin673,75, +abc,674,674,674,1971-11-06,67.10000000000046,67.09955,2015-01-01 00:11:14,bin674,35, +abc,675,675,675,1971-11-07,67.20000000000046,67.19955,2015-01-01 00:11:15,bin675,75, +abc,676,676,676,1971-11-08,67.30000000000045,67.299545,2015-01-01 00:11:16,bin676,35, +abc,677,677,677,1971-11-09,67.40000000000045,67.39954,2015-01-01 00:11:17,bin677,75, +abc,678,678,678,1971-11-10,67.50000000000044,67.49954,2015-01-01 00:11:18,bin678,35, +abc,679,679,679,1971-11-11,67.60000000000043,67.59954,2015-01-01 00:11:19,bin679,75, +abc,680,680,680,1971-11-12,67.70000000000043,67.69954,2015-01-01 00:11:20,bin680,35, +abc,681,681,681,1971-11-13,67.80000000000042,67.79954,2015-01-01 00:11:21,bin681,75, +abc,682,682,682,1971-11-14,67.90000000000042,67.899536,2015-01-01 00:11:22,bin682,35, +abc,683,683,683,1971-11-15,68.00000000000041,67.999535,2015-01-01 00:11:23,bin683,75, +abc,684,684,684,1971-11-16,68.1000000000004,68.09953,2015-01-01 00:11:24,bin684,35, +abc,685,685,685,1971-11-17,68.2000000000004,68.19953,2015-01-01 00:11:25,bin685,75, +abc,686,686,686,1971-11-18,68.3000000000004,68.29953,2015-01-01 00:11:26,bin686,35, +abc,687,687,687,1971-11-19,68.40000000000039,68.39953,2015-01-01 00:11:27,bin687,75, +abc,688,688,688,1971-11-20,68.50000000000038,68.49953,2015-01-01 00:11:28,bin688,35, +abc,689,689,689,1971-11-21,68.60000000000038,68.599525,2015-01-01 00:11:29,bin689,75, +abc,690,690,690,1971-11-22,68.70000000000037,68.699524,2015-01-01 00:11:30,bin690,35, +abc,691,691,691,1971-11-23,68.80000000000037,68.79952,2015-01-01 00:11:31,bin691,75, +abc,692,692,692,1971-11-24,68.90000000000036,68.89952,2015-01-01 00:11:32,bin692,35, +abc,693,693,693,1971-11-25,69.00000000000036,68.99952,2015-01-01 00:11:33,bin693,75, +abc,694,694,694,1971-11-26,69.10000000000035,69.09952,2015-01-01 00:11:34,bin694,35, +abc,695,695,695,1971-11-27,69.20000000000034,69.19952,2015-01-01 00:11:35,bin695,75, +abc,696,696,696,1971-11-28,69.30000000000034,69.299515,2015-01-01 00:11:36,bin696,35, +abc,697,697,697,1971-11-29,69.40000000000033,69.39951,2015-01-01 00:11:37,bin697,75, +abc,698,698,698,1971-11-30,69.50000000000033,69.49951,2015-01-01 00:11:38,bin698,35, +abc,699,699,699,1971-12-01,69.60000000000032,69.59951,2015-01-01 00:11:39,bin699,75, +abc,700,700,700,1971-12-02,69.70000000000032,69.69951,2015-01-01 00:11:40,bin700,35, +abc,701,701,701,1971-12-03,69.80000000000031,69.79951,2015-01-01 00:11:41,bin701,75, +abc,702,702,702,1971-12-04,69.9000000000003,69.899506,2015-01-01 00:11:42,bin702,35, +abc,703,703,703,1971-12-05,70.0000000000003,69.999504,2015-01-01 00:11:43,bin703,75, +abc,704,704,704,1971-12-06,70.10000000000029,70.0995,2015-01-01 00:11:44,bin704,35, +abc,705,705,705,1971-12-07,70.20000000000029,70.1995,2015-01-01 00:11:45,bin705,75, +abc,706,706,706,1971-12-08,70.30000000000028,70.2995,2015-01-01 00:11:46,bin706,35, +abc,707,707,707,1971-12-09,70.40000000000028,70.3995,2015-01-01 00:11:47,bin707,75, +abc,708,708,708,1971-12-10,70.50000000000027,70.4995,2015-01-01 00:11:48,bin708,35, +abc,709,709,709,1971-12-11,70.60000000000026,70.599495,2015-01-01 00:11:49,bin709,75, +abc,710,710,710,1971-12-12,70.70000000000026,70.69949,2015-01-01 00:11:50,bin710,35, +abc,711,711,711,1971-12-13,70.80000000000025,70.79949,2015-01-01 00:11:51,bin711,75, +abc,712,712,712,1971-12-14,70.90000000000025,70.89949,2015-01-01 00:11:52,bin712,35, +abc,713,713,713,1971-12-15,71.00000000000024,70.99949,2015-01-01 00:11:53,bin713,75, +abc,714,714,714,1971-12-16,71.10000000000024,71.09949,2015-01-01 00:11:54,bin714,35, +abc,715,715,715,1971-12-17,71.20000000000023,71.199486,2015-01-01 00:11:55,bin715,75, +abc,716,716,716,1971-12-18,71.30000000000022,71.299484,2015-01-01 00:11:56,bin716,35, +abc,717,717,717,1971-12-19,71.40000000000022,71.39948,2015-01-01 00:11:57,bin717,75, +abc,718,718,718,1971-12-20,71.50000000000021,71.49948,2015-01-01 00:11:58,bin718,35, +abc,719,719,719,1971-12-21,71.60000000000021,71.59948,2015-01-01 00:11:59,bin719,75, +abc,720,720,720,1971-12-22,71.7000000000002,71.69948,2015-01-01 00:12:00,bin720,35, +abc,721,721,721,1971-12-23,71.8000000000002,71.79948,2015-01-01 00:12:01,bin721,75, +abc,722,722,722,1971-12-24,71.90000000000019,71.899475,2015-01-01 00:12:02,bin722,35, +abc,723,723,723,1971-12-25,72.00000000000018,71.99947,2015-01-01 00:12:03,bin723,75, +abc,724,724,724,1971-12-26,72.10000000000018,72.09947,2015-01-01 00:12:04,bin724,35, +abc,725,725,725,1971-12-27,72.20000000000017,72.19947,2015-01-01 00:12:05,bin725,75, +abc,726,726,726,1971-12-28,72.30000000000017,72.29947,2015-01-01 00:12:06,bin726,35, +abc,727,727,727,1971-12-29,72.40000000000016,72.39947,2015-01-01 00:12:07,bin727,75, +abc,728,728,728,1971-12-30,72.50000000000016,72.499466,2015-01-01 00:12:08,bin728,35, +abc,729,729,729,1971-12-31,72.60000000000015,72.599464,2015-01-01 00:12:09,bin729,75, +abc,730,730,730,1972-01-01,72.70000000000014,72.69946,2015-01-01 00:12:10,bin730,35, +abc,731,731,731,1972-01-02,72.80000000000014,72.79946,2015-01-01 00:12:11,bin731,75, +abc,732,732,732,1972-01-03,72.90000000000013,72.89946,2015-01-01 00:12:12,bin732,35, +abc,733,733,733,1972-01-04,73.00000000000013,72.99946,2015-01-01 00:12:13,bin733,75, +abc,734,734,734,1972-01-05,73.10000000000012,73.09946,2015-01-01 00:12:14,bin734,35, +abc,735,735,735,1972-01-06,73.20000000000012,73.199455,2015-01-01 00:12:15,bin735,75, +abc,736,736,736,1972-01-07,73.30000000000011,73.29945,2015-01-01 00:12:16,bin736,35, +abc,737,737,737,1972-01-08,73.4000000000001,73.39945,2015-01-01 00:12:17,bin737,75, +abc,738,738,738,1972-01-09,73.5000000000001,73.49945,2015-01-01 00:12:18,bin738,35, +abc,739,739,739,1972-01-10,73.6000000000001,73.59945,2015-01-01 00:12:19,bin739,75, +abc,740,740,740,1972-01-11,73.70000000000009,73.69945,2015-01-01 00:12:20,bin740,35, +abc,741,741,741,1972-01-12,73.80000000000008,73.799446,2015-01-01 00:12:21,bin741,75, +abc,742,742,742,1972-01-13,73.90000000000008,73.899445,2015-01-01 00:12:22,bin742,35, +abc,743,743,743,1972-01-14,74.00000000000007,73.99944,2015-01-01 00:12:23,bin743,75, +abc,744,744,744,1972-01-15,74.10000000000007,74.09944,2015-01-01 00:12:24,bin744,35, +abc,745,745,745,1972-01-16,74.20000000000006,74.19944,2015-01-01 00:12:25,bin745,75, +abc,746,746,746,1972-01-17,74.30000000000005,74.29944,2015-01-01 00:12:26,bin746,35, +abc,747,747,747,1972-01-18,74.40000000000005,74.39944,2015-01-01 00:12:27,bin747,75, +abc,748,748,748,1972-01-19,74.50000000000004,74.499435,2015-01-01 00:12:28,bin748,35, +abc,749,749,749,1972-01-20,74.60000000000004,74.599434,2015-01-01 00:12:29,bin749,75, +abc,750,750,750,1972-01-21,74.70000000000003,74.69943,2015-01-01 00:12:30,bin750,35, +abc,751,751,751,1972-01-22,74.80000000000003,74.79943,2015-01-01 00:12:31,bin751,75, +abc,752,752,752,1972-01-23,74.90000000000002,74.89943,2015-01-01 00:12:32,bin752,35, +abc,753,753,753,1972-01-24,75.00000000000001,74.99943,2015-01-01 00:12:33,bin753,75, +abc,754,754,754,1972-01-25,75.10000000000001,75.09943,2015-01-01 00:12:34,bin754,35, +abc,755,755,755,1972-01-26,75.2,75.199425,2015-01-01 00:12:35,bin755,75, +abc,756,756,756,1972-01-27,75.3,75.29942,2015-01-01 00:12:36,bin756,35, +abc,757,757,757,1972-01-28,75.39999999999999,75.39942,2015-01-01 00:12:37,bin757,75, +abc,758,758,758,1972-01-29,75.49999999999999,75.49942,2015-01-01 00:12:38,bin758,35, +abc,759,759,759,1972-01-30,75.59999999999998,75.59942,2015-01-01 00:12:39,bin759,75, +abc,760,760,760,1972-01-31,75.69999999999997,75.69942,2015-01-01 00:12:40,bin760,35, +abc,761,761,761,1972-02-01,75.79999999999997,75.799416,2015-01-01 00:12:41,bin761,75, +abc,762,762,762,1972-02-02,75.89999999999996,75.899414,2015-01-01 00:12:42,bin762,35, +abc,763,763,763,1972-02-03,75.99999999999996,75.99941,2015-01-01 00:12:43,bin763,75, +abc,764,764,764,1972-02-04,76.09999999999995,76.09941,2015-01-01 00:12:44,bin764,35, +abc,765,765,765,1972-02-05,76.19999999999995,76.19941,2015-01-01 00:12:45,bin765,75, +abc,766,766,766,1972-02-06,76.29999999999994,76.29941,2015-01-01 00:12:46,bin766,35, +abc,767,767,767,1972-02-07,76.39999999999993,76.39941,2015-01-01 00:12:47,bin767,75, +abc,768,768,768,1972-02-08,76.49999999999993,76.499405,2015-01-01 00:12:48,bin768,35, +abc,769,769,769,1972-02-09,76.59999999999992,76.5994,2015-01-01 00:12:49,bin769,75, +abc,770,770,770,1972-02-10,76.69999999999992,76.6994,2015-01-01 00:12:50,bin770,35, +abc,771,771,771,1972-02-11,76.79999999999991,76.7994,2015-01-01 00:12:51,bin771,75, +abc,772,772,772,1972-02-12,76.8999999999999,76.8994,2015-01-01 00:12:52,bin772,35, +abc,773,773,773,1972-02-13,76.9999999999999,76.9994,2015-01-01 00:12:53,bin773,75, +abc,774,774,774,1972-02-14,77.0999999999999,77.099396,2015-01-01 00:12:54,bin774,35, +abc,775,775,775,1972-02-15,77.19999999999989,77.199394,2015-01-01 00:12:55,bin775,75, +abc,776,776,776,1972-02-16,77.29999999999988,77.29939,2015-01-01 00:12:56,bin776,35, +abc,777,777,777,1972-02-17,77.39999999999988,77.39939,2015-01-01 00:12:57,bin777,75, +abc,778,778,778,1972-02-18,77.49999999999987,77.49939,2015-01-01 00:12:58,bin778,35, +abc,779,779,779,1972-02-19,77.59999999999987,77.59939,2015-01-01 00:12:59,bin779,75, +abc,780,780,780,1972-02-20,77.69999999999986,77.69939,2015-01-01 00:13:00,bin780,35, +abc,781,781,781,1972-02-21,77.79999999999986,77.799385,2015-01-01 00:13:01,bin781,75, +abc,782,782,782,1972-02-22,77.89999999999985,77.89938,2015-01-01 00:13:02,bin782,35, +abc,783,783,783,1972-02-23,77.99999999999984,77.99938,2015-01-01 00:13:03,bin783,75, +abc,784,784,784,1972-02-24,78.09999999999984,78.09938,2015-01-01 00:13:04,bin784,35, +abc,785,785,785,1972-02-25,78.19999999999983,78.19938,2015-01-01 00:13:05,bin785,75, +abc,786,786,786,1972-02-26,78.29999999999983,78.29938,2015-01-01 00:13:06,bin786,35, +abc,787,787,787,1972-02-27,78.39999999999982,78.399376,2015-01-01 00:13:07,bin787,75, +abc,788,788,788,1972-02-28,78.49999999999982,78.499374,2015-01-01 00:13:08,bin788,35, +abc,789,789,789,1972-02-29,78.59999999999981,78.59937,2015-01-01 00:13:09,bin789,75, +abc,790,790,790,1972-03-01,78.6999999999998,78.69937,2015-01-01 00:13:10,bin790,35, +abc,791,791,791,1972-03-02,78.7999999999998,78.79937,2015-01-01 00:13:11,bin791,75, +abc,792,792,792,1972-03-03,78.89999999999979,78.89937,2015-01-01 00:13:12,bin792,35, +abc,793,793,793,1972-03-04,78.99999999999979,78.99937,2015-01-01 00:13:13,bin793,75, +abc,794,794,794,1972-03-05,79.09999999999978,79.099365,2015-01-01 00:13:14,bin794,35, +abc,795,795,795,1972-03-06,79.19999999999978,79.19936,2015-01-01 00:13:15,bin795,75, +abc,796,796,796,1972-03-07,79.29999999999977,79.29936,2015-01-01 00:13:16,bin796,35, +abc,797,797,797,1972-03-08,79.39999999999976,79.39936,2015-01-01 00:13:17,bin797,75, +abc,798,798,798,1972-03-09,79.49999999999976,79.49936,2015-01-01 00:13:18,bin798,35, +abc,799,799,799,1972-03-10,79.59999999999975,79.59936,2015-01-01 00:13:19,bin799,75, +abc,800,800,800,1972-03-11,79.69999999999975,79.699356,2015-01-01 00:13:20,bin800,35, +abc,801,801,801,1972-03-12,79.79999999999974,79.799355,2015-01-01 00:13:21,bin801,75, +abc,802,802,802,1972-03-13,79.89999999999974,79.89935,2015-01-01 00:13:22,bin802,35, +abc,803,803,803,1972-03-14,79.99999999999973,79.99935,2015-01-01 00:13:23,bin803,75, +abc,804,804,804,1972-03-15,80.09999999999972,80.09935,2015-01-01 00:13:24,bin804,35, +abc,805,805,805,1972-03-16,80.19999999999972,80.19935,2015-01-01 00:13:25,bin805,75, +abc,806,806,806,1972-03-17,80.29999999999971,80.29935,2015-01-01 00:13:26,bin806,35, +abc,807,807,807,1972-03-18,80.39999999999971,80.399345,2015-01-01 00:13:27,bin807,75, +abc,808,808,808,1972-03-19,80.4999999999997,80.499344,2015-01-01 00:13:28,bin808,35, +abc,809,809,809,1972-03-20,80.5999999999997,80.59934,2015-01-01 00:13:29,bin809,75, +abc,810,810,810,1972-03-21,80.69999999999969,80.69934,2015-01-01 00:13:30,bin810,35, +abc,811,811,811,1972-03-22,80.79999999999968,80.79934,2015-01-01 00:13:31,bin811,75, +abc,812,812,812,1972-03-23,80.89999999999968,80.89934,2015-01-01 00:13:32,bin812,35, +abc,813,813,813,1972-03-24,80.99999999999967,80.99934,2015-01-01 00:13:33,bin813,75, +abc,814,814,814,1972-03-25,81.09999999999967,81.099335,2015-01-01 00:13:34,bin814,35, +abc,815,815,815,1972-03-26,81.19999999999966,81.19933,2015-01-01 00:13:35,bin815,75, +abc,816,816,816,1972-03-27,81.29999999999966,81.29933,2015-01-01 00:13:36,bin816,35, +abc,817,817,817,1972-03-28,81.39999999999965,81.39933,2015-01-01 00:13:37,bin817,75, +abc,818,818,818,1972-03-29,81.49999999999964,81.49933,2015-01-01 00:13:38,bin818,35, +abc,819,819,819,1972-03-30,81.59999999999964,81.59933,2015-01-01 00:13:39,bin819,75, +abc,820,820,820,1972-03-31,81.69999999999963,81.699326,2015-01-01 00:13:40,bin820,35, +abc,821,821,821,1972-04-01,81.79999999999963,81.799324,2015-01-01 00:13:41,bin821,75, +abc,822,822,822,1972-04-02,81.89999999999962,81.89932,2015-01-01 00:13:42,bin822,35, +abc,823,823,823,1972-04-03,81.99999999999962,81.99932,2015-01-01 00:13:43,bin823,75, +abc,824,824,824,1972-04-04,82.09999999999961,82.09932,2015-01-01 00:13:44,bin824,35, +abc,825,825,825,1972-04-05,82.1999999999996,82.19932,2015-01-01 00:13:45,bin825,75, +abc,826,826,826,1972-04-06,82.2999999999996,82.29932,2015-01-01 00:13:46,bin826,35, +abc,827,827,827,1972-04-07,82.3999999999996,82.399315,2015-01-01 00:13:47,bin827,75, +abc,828,828,828,1972-04-08,82.49999999999959,82.49931,2015-01-01 00:13:48,bin828,35, +abc,829,829,829,1972-04-09,82.59999999999958,82.59931,2015-01-01 00:13:49,bin829,75, +abc,830,830,830,1972-04-10,82.69999999999958,82.69931,2015-01-01 00:13:50,bin830,35, +abc,831,831,831,1972-04-11,82.79999999999957,82.79931,2015-01-01 00:13:51,bin831,75, +abc,832,832,832,1972-04-12,82.89999999999957,82.89931,2015-01-01 00:13:52,bin832,35, +abc,833,833,833,1972-04-13,82.99999999999956,82.999306,2015-01-01 00:13:53,bin833,75, +abc,834,834,834,1972-04-14,83.09999999999955,83.099304,2015-01-01 00:13:54,bin834,35, +abc,835,835,835,1972-04-15,83.19999999999955,83.1993,2015-01-01 00:13:55,bin835,75, +abc,836,836,836,1972-04-16,83.29999999999954,83.2993,2015-01-01 00:13:56,bin836,35, +abc,837,837,837,1972-04-17,83.39999999999954,83.3993,2015-01-01 00:13:57,bin837,75, +abc,838,838,838,1972-04-18,83.49999999999953,83.4993,2015-01-01 00:13:58,bin838,35, +abc,839,839,839,1972-04-19,83.59999999999953,83.5993,2015-01-01 00:13:59,bin839,75, +abc,840,840,840,1972-04-20,83.69999999999952,83.699295,2015-01-01 00:14:00,bin840,35, +abc,841,841,841,1972-04-21,83.79999999999951,83.79929,2015-01-01 00:14:01,bin841,75, +abc,842,842,842,1972-04-22,83.89999999999951,83.89929,2015-01-01 00:14:02,bin842,35, +abc,843,843,843,1972-04-23,83.9999999999995,83.99929,2015-01-01 00:14:03,bin843,75, +abc,844,844,844,1972-04-24,84.0999999999995,84.09929,2015-01-01 00:14:04,bin844,35, +abc,845,845,845,1972-04-25,84.19999999999949,84.19929,2015-01-01 00:14:05,bin845,75, +abc,846,846,846,1972-04-26,84.29999999999949,84.299286,2015-01-01 00:14:06,bin846,35, +abc,847,847,847,1972-04-27,84.39999999999948,84.399284,2015-01-01 00:14:07,bin847,75, +abc,848,848,848,1972-04-28,84.49999999999947,84.49928,2015-01-01 00:14:08,bin848,35, +abc,849,849,849,1972-04-29,84.59999999999947,84.59928,2015-01-01 00:14:09,bin849,75, +abc,850,850,850,1972-04-30,84.69999999999946,84.69928,2015-01-01 00:14:10,bin850,35, +abc,851,851,851,1972-05-01,84.79999999999946,84.79928,2015-01-01 00:14:11,bin851,75, +abc,852,852,852,1972-05-02,84.89999999999945,84.89928,2015-01-01 00:14:12,bin852,35, +abc,853,853,853,1972-05-03,84.99999999999945,84.999275,2015-01-01 00:14:13,bin853,75, +abc,854,854,854,1972-05-04,85.09999999999944,85.09927,2015-01-01 00:14:14,bin854,35, +abc,855,855,855,1972-05-05,85.19999999999943,85.19927,2015-01-01 00:14:15,bin855,75, +abc,856,856,856,1972-05-06,85.29999999999943,85.29927,2015-01-01 00:14:16,bin856,35, +abc,857,857,857,1972-05-07,85.39999999999942,85.39927,2015-01-01 00:14:17,bin857,75, +abc,858,858,858,1972-05-08,85.49999999999942,85.49927,2015-01-01 00:14:18,bin858,35, +abc,859,859,859,1972-05-09,85.59999999999941,85.599266,2015-01-01 00:14:19,bin859,75, +abc,860,860,860,1972-05-10,85.6999999999994,85.699265,2015-01-01 00:14:20,bin860,35, +abc,861,861,861,1972-05-11,85.7999999999994,85.79926,2015-01-01 00:14:21,bin861,75, +abc,862,862,862,1972-05-12,85.8999999999994,85.89926,2015-01-01 00:14:22,bin862,35, +abc,863,863,863,1972-05-13,85.99999999999939,85.99926,2015-01-01 00:14:23,bin863,75, +abc,864,864,864,1972-05-14,86.09999999999938,86.09926,2015-01-01 00:14:24,bin864,35, +abc,865,865,865,1972-05-15,86.19999999999938,86.19926,2015-01-01 00:14:25,bin865,75, +abc,866,866,866,1972-05-16,86.29999999999937,86.299255,2015-01-01 00:14:26,bin866,35, +abc,867,867,867,1972-05-17,86.39999999999937,86.399254,2015-01-01 00:14:27,bin867,75, +abc,868,868,868,1972-05-18,86.49999999999936,86.49925,2015-01-01 00:14:28,bin868,35, +abc,869,869,869,1972-05-19,86.59999999999935,86.59925,2015-01-01 00:14:29,bin869,75, +abc,870,870,870,1972-05-20,86.69999999999935,86.69925,2015-01-01 00:14:30,bin870,35, +abc,871,871,871,1972-05-21,86.79999999999934,86.79925,2015-01-01 00:14:31,bin871,75, +abc,872,872,872,1972-05-22,86.89999999999934,86.89925,2015-01-01 00:14:32,bin872,35, +abc,873,873,873,1972-05-23,86.99999999999933,86.999245,2015-01-01 00:14:33,bin873,75, +abc,874,874,874,1972-05-24,87.09999999999933,87.09924,2015-01-01 00:14:34,bin874,35, +abc,875,875,875,1972-05-25,87.19999999999932,87.19924,2015-01-01 00:14:35,bin875,75, +abc,876,876,876,1972-05-26,87.29999999999932,87.29924,2015-01-01 00:14:36,bin876,35, +abc,877,877,877,1972-05-27,87.39999999999931,87.39924,2015-01-01 00:14:37,bin877,75, +abc,878,878,878,1972-05-28,87.4999999999993,87.49924,2015-01-01 00:14:38,bin878,35, +abc,879,879,879,1972-05-29,87.5999999999993,87.599236,2015-01-01 00:14:39,bin879,75, +abc,880,880,880,1972-05-30,87.69999999999929,87.699234,2015-01-01 00:14:40,bin880,35, +abc,881,881,881,1972-05-31,87.79999999999929,87.79923,2015-01-01 00:14:41,bin881,75, +abc,882,882,882,1972-06-01,87.89999999999928,87.89923,2015-01-01 00:14:42,bin882,35, +abc,883,883,883,1972-06-02,87.99999999999928,87.99923,2015-01-01 00:14:43,bin883,75, +abc,884,884,884,1972-06-03,88.09999999999927,88.09923,2015-01-01 00:14:44,bin884,35, +abc,885,885,885,1972-06-04,88.19999999999926,88.19923,2015-01-01 00:14:45,bin885,75, +abc,886,886,886,1972-06-05,88.29999999999926,88.299225,2015-01-01 00:14:46,bin886,35, +abc,887,887,887,1972-06-06,88.39999999999925,88.39922,2015-01-01 00:14:47,bin887,75, +abc,888,888,888,1972-06-07,88.49999999999925,88.49922,2015-01-01 00:14:48,bin888,35, +abc,889,889,889,1972-06-08,88.59999999999924,88.59922,2015-01-01 00:14:49,bin889,75, +abc,890,890,890,1972-06-09,88.69999999999924,88.69922,2015-01-01 00:14:50,bin890,35, +abc,891,891,891,1972-06-10,88.79999999999923,88.79922,2015-01-01 00:14:51,bin891,75, +abc,892,892,892,1972-06-11,88.89999999999922,88.899216,2015-01-01 00:14:52,bin892,35, +abc,893,893,893,1972-06-12,88.99999999999922,88.999214,2015-01-01 00:14:53,bin893,75, +abc,894,894,894,1972-06-13,89.09999999999921,89.09921,2015-01-01 00:14:54,bin894,35, +abc,895,895,895,1972-06-14,89.1999999999992,89.19921,2015-01-01 00:14:55,bin895,75, +abc,896,896,896,1972-06-15,89.2999999999992,89.29921,2015-01-01 00:14:56,bin896,35, +abc,897,897,897,1972-06-16,89.3999999999992,89.39921,2015-01-01 00:14:57,bin897,75, +abc,898,898,898,1972-06-17,89.49999999999919,89.49921,2015-01-01 00:14:58,bin898,35, +abc,899,899,899,1972-06-18,89.59999999999918,89.599205,2015-01-01 00:14:59,bin899,75, +abc,900,900,900,1972-06-19,89.69999999999918,89.6992,2015-01-01 00:15:00,bin900,35, +abc,901,901,901,1972-06-20,89.79999999999917,89.7992,2015-01-01 00:15:01,bin901,75, +abc,902,902,902,1972-06-21,89.89999999999917,89.8992,2015-01-01 00:15:02,bin902,35, +abc,903,903,903,1972-06-22,89.99999999999916,89.9992,2015-01-01 00:15:03,bin903,75, +abc,904,904,904,1972-06-23,90.09999999999916,90.0992,2015-01-01 00:15:04,bin904,35, +abc,905,905,905,1972-06-24,90.19999999999915,90.199196,2015-01-01 00:15:05,bin905,75, +abc,906,906,906,1972-06-25,90.29999999999914,90.299194,2015-01-01 00:15:06,bin906,35, +abc,907,907,907,1972-06-26,90.39999999999914,90.39919,2015-01-01 00:15:07,bin907,75, +abc,908,908,908,1972-06-27,90.49999999999913,90.49919,2015-01-01 00:15:08,bin908,35, +abc,909,909,909,1972-06-28,90.59999999999913,90.59919,2015-01-01 00:15:09,bin909,75, +abc,910,910,910,1972-06-29,90.69999999999912,90.69919,2015-01-01 00:15:10,bin910,35, +abc,911,911,911,1972-06-30,90.79999999999912,90.79919,2015-01-01 00:15:11,bin911,75, +abc,912,912,912,1972-07-01,90.89999999999911,90.899185,2015-01-01 00:15:12,bin912,35, +abc,913,913,913,1972-07-02,90.9999999999991,90.99918,2015-01-01 00:15:13,bin913,75, +abc,914,914,914,1972-07-03,91.0999999999991,91.09918,2015-01-01 00:15:14,bin914,35, +abc,915,915,915,1972-07-04,91.1999999999991,91.19918,2015-01-01 00:15:15,bin915,75, +abc,916,916,916,1972-07-05,91.29999999999909,91.29918,2015-01-01 00:15:16,bin916,35, +abc,917,917,917,1972-07-06,91.39999999999908,91.39918,2015-01-01 00:15:17,bin917,75, +abc,918,918,918,1972-07-07,91.49999999999908,91.499176,2015-01-01 00:15:18,bin918,35, +abc,919,919,919,1972-07-08,91.59999999999907,91.599174,2015-01-01 00:15:19,bin919,75, +abc,920,920,920,1972-07-09,91.69999999999906,91.69917,2015-01-01 00:15:20,bin920,35, +abc,921,921,921,1972-07-10,91.79999999999906,91.79917,2015-01-01 00:15:21,bin921,75, +abc,922,922,922,1972-07-11,91.89999999999905,91.89917,2015-01-01 00:15:22,bin922,35, +abc,923,923,923,1972-07-12,91.99999999999905,91.99917,2015-01-01 00:15:23,bin923,75, +abc,924,924,924,1972-07-13,92.09999999999904,92.09917,2015-01-01 00:15:24,bin924,35, +abc,925,925,925,1972-07-14,92.19999999999904,92.199165,2015-01-01 00:15:25,bin925,75, +abc,926,926,926,1972-07-15,92.29999999999903,92.299164,2015-01-01 00:15:26,bin926,35, +abc,927,927,927,1972-07-16,92.39999999999903,92.39916,2015-01-01 00:15:27,bin927,75, +abc,928,928,928,1972-07-17,92.49999999999902,92.49916,2015-01-01 00:15:28,bin928,35, +abc,929,929,929,1972-07-18,92.59999999999901,92.59916,2015-01-01 00:15:29,bin929,75, +abc,930,930,930,1972-07-19,92.69999999999901,92.69916,2015-01-01 00:15:30,bin930,35, +abc,931,931,931,1972-07-20,92.799999999999,92.79916,2015-01-01 00:15:31,bin931,75, +abc,932,932,932,1972-07-21,92.899999999999,92.899155,2015-01-01 00:15:32,bin932,35, +abc,933,933,933,1972-07-22,92.99999999999899,92.99915,2015-01-01 00:15:33,bin933,75, +abc,934,934,934,1972-07-23,93.09999999999899,93.09915,2015-01-01 00:15:34,bin934,35, +abc,935,935,935,1972-07-24,93.19999999999898,93.19915,2015-01-01 00:15:35,bin935,75, +abc,936,936,936,1972-07-25,93.29999999999897,93.29915,2015-01-01 00:15:36,bin936,35, +abc,937,937,937,1972-07-26,93.39999999999897,93.39915,2015-01-01 00:15:37,bin937,75, +abc,938,938,938,1972-07-27,93.49999999999896,93.499146,2015-01-01 00:15:38,bin938,35, +abc,939,939,939,1972-07-28,93.59999999999896,93.599144,2015-01-01 00:15:39,bin939,75, +abc,940,940,940,1972-07-29,93.69999999999895,93.69914,2015-01-01 00:15:40,bin940,35, +abc,941,941,941,1972-07-30,93.79999999999895,93.79914,2015-01-01 00:15:41,bin941,75, +abc,942,942,942,1972-07-31,93.89999999999894,93.89914,2015-01-01 00:15:42,bin942,35, +abc,943,943,943,1972-08-01,93.99999999999893,93.99914,2015-01-01 00:15:43,bin943,75, +abc,944,944,944,1972-08-02,94.09999999999893,94.09914,2015-01-01 00:15:44,bin944,35, +abc,945,945,945,1972-08-03,94.19999999999892,94.199135,2015-01-01 00:15:45,bin945,75, +abc,946,946,946,1972-08-04,94.29999999999892,94.29913,2015-01-01 00:15:46,bin946,35, +abc,947,947,947,1972-08-05,94.39999999999891,94.39913,2015-01-01 00:15:47,bin947,75, +abc,948,948,948,1972-08-06,94.4999999999989,94.49913,2015-01-01 00:15:48,bin948,35, +abc,949,949,949,1972-08-07,94.5999999999989,94.59913,2015-01-01 00:15:49,bin949,75, +abc,950,950,950,1972-08-08,94.6999999999989,94.69913,2015-01-01 00:15:50,bin950,35, +abc,951,951,951,1972-08-09,94.79999999999889,94.799126,2015-01-01 00:15:51,bin951,75, +abc,952,952,952,1972-08-10,94.89999999999888,94.899124,2015-01-01 00:15:52,bin952,35, +abc,953,953,953,1972-08-11,94.99999999999888,94.99912,2015-01-01 00:15:53,bin953,75, +abc,954,954,954,1972-08-12,95.09999999999887,95.09912,2015-01-01 00:15:54,bin954,35, +abc,955,955,955,1972-08-13,95.19999999999887,95.19912,2015-01-01 00:15:55,bin955,75, +abc,956,956,956,1972-08-14,95.29999999999886,95.29912,2015-01-01 00:15:56,bin956,35, +abc,957,957,957,1972-08-15,95.39999999999885,95.39912,2015-01-01 00:15:57,bin957,75, +abc,958,958,958,1972-08-16,95.49999999999885,95.499115,2015-01-01 00:15:58,bin958,35, +abc,959,959,959,1972-08-17,95.59999999999884,95.59911,2015-01-01 00:15:59,bin959,75, +abc,960,960,960,1972-08-18,95.69999999999884,95.69911,2015-01-01 00:16:00,bin960,35, +abc,961,961,961,1972-08-19,95.79999999999883,95.79911,2015-01-01 00:16:01,bin961,75, +abc,962,962,962,1972-08-20,95.89999999999883,95.89911,2015-01-01 00:16:02,bin962,35, +abc,963,963,963,1972-08-21,95.99999999999882,95.99911,2015-01-01 00:16:03,bin963,75, +abc,964,964,964,1972-08-22,96.09999999999881,96.099106,2015-01-01 00:16:04,bin964,35, +abc,965,965,965,1972-08-23,96.19999999999881,96.199104,2015-01-01 00:16:05,bin965,75, +abc,966,966,966,1972-08-24,96.2999999999988,96.2991,2015-01-01 00:16:06,bin966,35, +abc,967,967,967,1972-08-25,96.3999999999988,96.3991,2015-01-01 00:16:07,bin967,75, +abc,968,968,968,1972-08-26,96.49999999999879,96.4991,2015-01-01 00:16:08,bin968,35, +abc,969,969,969,1972-08-27,96.59999999999879,96.5991,2015-01-01 00:16:09,bin969,75, +abc,970,970,970,1972-08-28,96.69999999999878,96.6991,2015-01-01 00:16:10,bin970,35, +abc,971,971,971,1972-08-29,96.79999999999878,96.799095,2015-01-01 00:16:11,bin971,75, +abc,972,972,972,1972-08-30,96.89999999999877,96.89909,2015-01-01 00:16:12,bin972,35, +abc,973,973,973,1972-08-31,96.99999999999876,96.99909,2015-01-01 00:16:13,bin973,75, +abc,974,974,974,1972-09-01,97.09999999999876,97.09909,2015-01-01 00:16:14,bin974,35, +abc,975,975,975,1972-09-02,97.19999999999875,97.19909,2015-01-01 00:16:15,bin975,75, +abc,976,976,976,1972-09-03,97.29999999999875,97.29909,2015-01-01 00:16:16,bin976,35, +abc,977,977,977,1972-09-04,97.39999999999874,97.399086,2015-01-01 00:16:17,bin977,75, +abc,978,978,978,1972-09-05,97.49999999999874,97.499084,2015-01-01 00:16:18,bin978,35, +abc,979,979,979,1972-09-06,97.59999999999873,97.59908,2015-01-01 00:16:19,bin979,75, +abc,980,980,980,1972-09-07,97.69999999999872,97.69908,2015-01-01 00:16:20,bin980,35, +abc,981,981,981,1972-09-08,97.79999999999872,97.79908,2015-01-01 00:16:21,bin981,75, +abc,982,982,982,1972-09-09,97.89999999999871,97.89908,2015-01-01 00:16:22,bin982,35, +abc,983,983,983,1972-09-10,97.9999999999987,97.99908,2015-01-01 00:16:23,bin983,75, +abc,984,984,984,1972-09-11,98.0999999999987,98.099075,2015-01-01 00:16:24,bin984,35, +abc,985,985,985,1972-09-12,98.1999999999987,98.19907,2015-01-01 00:16:25,bin985,75, +abc,986,986,986,1972-09-13,98.29999999999869,98.29907,2015-01-01 00:16:26,bin986,35, +abc,987,987,987,1972-09-14,98.39999999999868,98.39907,2015-01-01 00:16:27,bin987,75, +abc,988,988,988,1972-09-15,98.49999999999868,98.49907,2015-01-01 00:16:28,bin988,35, +abc,989,989,989,1972-09-16,98.59999999999867,98.59907,2015-01-01 00:16:29,bin989,75, +abc,990,990,990,1972-09-17,98.69999999999867,98.699066,2015-01-01 00:16:30,bin990,35, +abc,991,991,991,1972-09-18,98.79999999999866,98.799065,2015-01-01 00:16:31,bin991,75, +abc,992,992,992,1972-09-19,98.89999999999866,98.89906,2015-01-01 00:16:32,bin992,35, +abc,993,993,993,1972-09-20,98.99999999999865,98.99906,2015-01-01 00:16:33,bin993,75, +abc,994,994,994,1972-09-21,99.09999999999864,99.09906,2015-01-01 00:16:34,bin994,35, +abc,995,995,995,1972-09-22,99.19999999999864,99.19906,2015-01-01 00:16:35,bin995,75, +abc,996,996,996,1972-09-23,99.29999999999863,99.29906,2015-01-01 00:16:36,bin996,35, +abc,997,997,997,1972-09-24,99.39999999999863,99.399055,2015-01-01 00:16:37,bin997,75, +abc,998,998,998,1972-09-25,99.49999999999862,99.499054,2015-01-01 00:16:38,bin998,35, +abc,999,999,999,1972-09-26,99.59999999999862,99.59905,2015-01-01 00:16:39,bin999,75, +abc,1000,1000,1000,1972-09-27,99.69999999999861,99.69905,2015-01-01 00:16:40,bin1000,35, +abc,1001,1001,1001,1972-09-28,99.7999999999986,99.79905,2015-01-01 00:16:41,bin1001,75, +abc,1002,1002,1002,1972-09-29,99.8999999999986,99.89905,2015-01-01 00:16:42,bin1002,35, +abc,1003,1003,1003,1972-09-30,99.9999999999986,99.99905,2015-01-01 00:16:43,bin1003,75, +abc,1004,1004,1004,1972-10-01,100.09999999999859,100.099045,2015-01-01 00:16:44,bin1004,35, +abc,1005,1005,1005,1972-10-02,100.19999999999858,100.19904,2015-01-01 00:16:45,bin1005,75, +abc,1006,1006,1006,1972-10-03,100.29999999999858,100.29904,2015-01-01 00:16:46,bin1006,35, +abc,1007,1007,1007,1972-10-04,100.39999999999857,100.39904,2015-01-01 00:16:47,bin1007,75, +abc,1008,1008,1008,1972-10-05,100.49999999999856,100.49904,2015-01-01 00:16:48,bin1008,35, +abc,1009,1009,1009,1972-10-06,100.59999999999856,100.59904,2015-01-01 00:16:49,bin1009,75, +abc,1010,1010,1010,1972-10-07,100.69999999999855,100.699036,2015-01-01 00:16:50,bin1010,35, +abc,1011,1011,1011,1972-10-08,100.79999999999855,100.799034,2015-01-01 00:16:51,bin1011,75, +abc,1012,1012,1012,1972-10-09,100.89999999999854,100.89903,2015-01-01 00:16:52,bin1012,35, +abc,1013,1013,1013,1972-10-10,100.99999999999854,100.99903,2015-01-01 00:16:53,bin1013,75, +abc,1014,1014,1014,1972-10-11,101.09999999999853,101.09903,2015-01-01 00:16:54,bin1014,35, +abc,1015,1015,1015,1972-10-12,101.19999999999852,101.19903,2015-01-01 00:16:55,bin1015,75, +abc,1016,1016,1016,1972-10-13,101.29999999999852,101.29903,2015-01-01 00:16:56,bin1016,35, +abc,1017,1017,1017,1972-10-14,101.39999999999851,101.399025,2015-01-01 00:16:57,bin1017,75, +abc,1018,1018,1018,1972-10-15,101.49999999999851,101.49902,2015-01-01 00:16:58,bin1018,35, +abc,1019,1019,1019,1972-10-16,101.5999999999985,101.59902,2015-01-01 00:16:59,bin1019,75, +abc,1020,1020,1020,1972-10-17,101.6999999999985,101.69902,2015-01-01 00:17:00,bin1020,35, +abc,1021,1021,1021,1972-10-18,101.79999999999849,101.79902,2015-01-01 00:17:01,bin1021,75, +abc,1022,1022,1022,1972-10-19,101.89999999999849,101.89902,2015-01-01 00:17:02,bin1022,35, +abc,1023,1023,1023,1972-10-20,101.99999999999848,101.999016,2015-01-01 00:17:03,bin1023,75, +abc,1024,1024,1024,1972-10-21,102.09999999999847,102.099014,2015-01-01 00:17:04,bin1024,35, +abc,1025,1025,1025,1972-10-22,102.19999999999847,102.19901,2015-01-01 00:17:05,bin1025,75, +abc,1026,1026,1026,1972-10-23,102.29999999999846,102.29901,2015-01-01 00:17:06,bin1026,35, +abc,1027,1027,1027,1972-10-24,102.39999999999846,102.39901,2015-01-01 00:17:07,bin1027,75, +abc,1028,1028,1028,1972-10-25,102.49999999999845,102.49901,2015-01-01 00:17:08,bin1028,35, +abc,1029,1029,1029,1972-10-26,102.59999999999845,102.59901,2015-01-01 00:17:09,bin1029,75, +abc,1030,1030,1030,1972-10-27,102.69999999999844,102.699005,2015-01-01 00:17:10,bin1030,35, +abc,1031,1031,1031,1972-10-28,102.79999999999843,102.799,2015-01-01 00:17:11,bin1031,75, +abc,1032,1032,1032,1972-10-29,102.89999999999843,102.899,2015-01-01 00:17:12,bin1032,35, +abc,1033,1033,1033,1972-10-30,102.99999999999842,102.999,2015-01-01 00:17:13,bin1033,75, +abc,1034,1034,1034,1972-10-31,103.09999999999842,103.099,2015-01-01 00:17:14,bin1034,35, +abc,1035,1035,1035,1972-11-01,103.19999999999841,103.199,2015-01-01 00:17:15,bin1035,75, +abc,1036,1036,1036,1972-11-02,103.2999999999984,103.298996,2015-01-01 00:17:16,bin1036,35, +abc,1037,1037,1037,1972-11-03,103.3999999999984,103.398994,2015-01-01 00:17:17,bin1037,75, +abc,1038,1038,1038,1972-11-04,103.4999999999984,103.49899,2015-01-01 00:17:18,bin1038,35, +abc,1039,1039,1039,1972-11-05,103.59999999999839,103.59899,2015-01-01 00:17:19,bin1039,75, +abc,1040,1040,1040,1972-11-06,103.69999999999838,103.69899,2015-01-01 00:17:20,bin1040,35, +abc,1041,1041,1041,1972-11-07,103.79999999999838,103.79899,2015-01-01 00:17:21,bin1041,75, +abc,1042,1042,1042,1972-11-08,103.89999999999837,103.89899,2015-01-01 00:17:22,bin1042,35, +abc,1043,1043,1043,1972-11-09,103.99999999999837,103.998985,2015-01-01 00:17:23,bin1043,75, +abc,1044,1044,1044,1972-11-10,104.09999999999836,104.09898,2015-01-01 00:17:24,bin1044,35, +abc,1045,1045,1045,1972-11-11,104.19999999999835,104.19898,2015-01-01 00:17:25,bin1045,75, +abc,1046,1046,1046,1972-11-12,104.29999999999835,104.29898,2015-01-01 00:17:26,bin1046,35, +abc,1047,1047,1047,1972-11-13,104.39999999999834,104.39898,2015-01-01 00:17:27,bin1047,75, +abc,1048,1048,1048,1972-11-14,104.49999999999834,104.49898,2015-01-01 00:17:28,bin1048,35, +abc,1049,1049,1049,1972-11-15,104.59999999999833,104.598976,2015-01-01 00:17:29,bin1049,75, +abc,1050,1050,1050,1972-11-16,104.69999999999833,104.698975,2015-01-01 00:17:30,bin1050,35, +abc,1051,1051,1051,1972-11-17,104.79999999999832,104.79897,2015-01-01 00:17:31,bin1051,75, +abc,1052,1052,1052,1972-11-18,104.89999999999831,104.89897,2015-01-01 00:17:32,bin1052,35, +abc,1053,1053,1053,1972-11-19,104.99999999999831,104.99897,2015-01-01 00:17:33,bin1053,75, +abc,1054,1054,1054,1972-11-20,105.0999999999983,105.09897,2015-01-01 00:17:34,bin1054,35, +abc,1055,1055,1055,1972-11-21,105.1999999999983,105.19897,2015-01-01 00:17:35,bin1055,75, +abc,1056,1056,1056,1972-11-22,105.29999999999829,105.298965,2015-01-01 00:17:36,bin1056,35, +abc,1057,1057,1057,1972-11-23,105.39999999999829,105.398964,2015-01-01 00:17:37,bin1057,75, +abc,1058,1058,1058,1972-11-24,105.49999999999828,105.49896,2015-01-01 00:17:38,bin1058,35, +abc,1059,1059,1059,1972-11-25,105.59999999999827,105.59896,2015-01-01 00:17:39,bin1059,75, +abc,1060,1060,1060,1972-11-26,105.69999999999827,105.69896,2015-01-01 00:17:40,bin1060,35, +abc,1061,1061,1061,1972-11-27,105.79999999999826,105.79896,2015-01-01 00:17:41,bin1061,75, +abc,1062,1062,1062,1972-11-28,105.89999999999826,105.89896,2015-01-01 00:17:42,bin1062,35, +abc,1063,1063,1063,1972-11-29,105.99999999999825,105.998955,2015-01-01 00:17:43,bin1063,75, +abc,1064,1064,1064,1972-11-30,106.09999999999825,106.09895,2015-01-01 00:17:44,bin1064,35, +abc,1065,1065,1065,1972-12-01,106.19999999999824,106.19895,2015-01-01 00:17:45,bin1065,75, +abc,1066,1066,1066,1972-12-02,106.29999999999824,106.29895,2015-01-01 00:17:46,bin1066,35, +abc,1067,1067,1067,1972-12-03,106.39999999999823,106.39895,2015-01-01 00:17:47,bin1067,75, +abc,1068,1068,1068,1972-12-04,106.49999999999822,106.49895,2015-01-01 00:17:48,bin1068,35, +abc,1069,1069,1069,1972-12-05,106.59999999999822,106.598946,2015-01-01 00:17:49,bin1069,75, +abc,1070,1070,1070,1972-12-06,106.69999999999821,106.698944,2015-01-01 00:17:50,bin1070,35, +abc,1071,1071,1071,1972-12-07,106.7999999999982,106.79894,2015-01-01 00:17:51,bin1071,75, +abc,1072,1072,1072,1972-12-08,106.8999999999982,106.89894,2015-01-01 00:17:52,bin1072,35, +abc,1073,1073,1073,1972-12-09,106.9999999999982,106.99894,2015-01-01 00:17:53,bin1073,75, +abc,1074,1074,1074,1972-12-10,107.09999999999819,107.09894,2015-01-01 00:17:54,bin1074,35, +abc,1075,1075,1075,1972-12-11,107.19999999999818,107.19894,2015-01-01 00:17:55,bin1075,75, +abc,1076,1076,1076,1972-12-12,107.29999999999818,107.298935,2015-01-01 00:17:56,bin1076,35, +abc,1077,1077,1077,1972-12-13,107.39999999999817,107.39893,2015-01-01 00:17:57,bin1077,75, +abc,1078,1078,1078,1972-12-14,107.49999999999817,107.49893,2015-01-01 00:17:58,bin1078,35, +abc,1079,1079,1079,1972-12-15,107.59999999999816,107.59893,2015-01-01 00:17:59,bin1079,75, +abc,1080,1080,1080,1972-12-16,107.69999999999816,107.69893,2015-01-01 00:18:00,bin1080,35, +abc,1081,1081,1081,1972-12-17,107.79999999999815,107.79893,2015-01-01 00:18:01,bin1081,75, +abc,1082,1082,1082,1972-12-18,107.89999999999814,107.898926,2015-01-01 00:18:02,bin1082,35, +abc,1083,1083,1083,1972-12-19,107.99999999999814,107.998924,2015-01-01 00:18:03,bin1083,75, +abc,1084,1084,1084,1972-12-20,108.09999999999813,108.09892,2015-01-01 00:18:04,bin1084,35, +abc,1085,1085,1085,1972-12-21,108.19999999999813,108.19892,2015-01-01 00:18:05,bin1085,75, +abc,1086,1086,1086,1972-12-22,108.29999999999812,108.29892,2015-01-01 00:18:06,bin1086,35, +abc,1087,1087,1087,1972-12-23,108.39999999999812,108.39892,2015-01-01 00:18:07,bin1087,75, +abc,1088,1088,1088,1972-12-24,108.49999999999811,108.49892,2015-01-01 00:18:08,bin1088,35, +abc,1089,1089,1089,1972-12-25,108.5999999999981,108.598915,2015-01-01 00:18:09,bin1089,75, +abc,1090,1090,1090,1972-12-26,108.6999999999981,108.69891,2015-01-01 00:18:10,bin1090,35, +abc,1091,1091,1091,1972-12-27,108.7999999999981,108.79891,2015-01-01 00:18:11,bin1091,75, +abc,1092,1092,1092,1972-12-28,108.89999999999809,108.89891,2015-01-01 00:18:12,bin1092,35, +abc,1093,1093,1093,1972-12-29,108.99999999999808,108.99891,2015-01-01 00:18:13,bin1093,75, +abc,1094,1094,1094,1972-12-30,109.09999999999808,109.09891,2015-01-01 00:18:14,bin1094,35, +abc,1095,1095,1095,1972-12-31,109.19999999999807,109.198906,2015-01-01 00:18:15,bin1095,75, +abc,1096,1096,1096,1973-01-01,109.29999999999806,109.298904,2015-01-01 00:18:16,bin1096,35, +abc,1097,1097,1097,1973-01-02,109.39999999999806,109.3989,2015-01-01 00:18:17,bin1097,75, +abc,1098,1098,1098,1973-01-03,109.49999999999805,109.4989,2015-01-01 00:18:18,bin1098,35, +abc,1099,1099,1099,1973-01-04,109.59999999999805,109.5989,2015-01-01 00:18:19,bin1099,75, +abc,1100,1100,1100,1973-01-05,109.69999999999804,109.6989,2015-01-01 00:18:20,bin1100,35, +abc,1101,1101,1101,1973-01-06,109.79999999999804,109.7989,2015-01-01 00:18:21,bin1101,75, +abc,1102,1102,1102,1973-01-07,109.89999999999803,109.898895,2015-01-01 00:18:22,bin1102,35, +abc,1103,1103,1103,1973-01-08,109.99999999999802,109.99889,2015-01-01 00:18:23,bin1103,75, +abc,1104,1104,1104,1973-01-09,110.09999999999802,110.09889,2015-01-01 00:18:24,bin1104,35, +abc,1105,1105,1105,1973-01-10,110.19999999999801,110.19889,2015-01-01 00:18:25,bin1105,75, +abc,1106,1106,1106,1973-01-11,110.29999999999801,110.29889,2015-01-01 00:18:26,bin1106,35, +abc,1107,1107,1107,1973-01-12,110.399999999998,110.39889,2015-01-01 00:18:27,bin1107,75, +abc,1108,1108,1108,1973-01-13,110.499999999998,110.498886,2015-01-01 00:18:28,bin1108,35, +abc,1109,1109,1109,1973-01-14,110.59999999999799,110.598885,2015-01-01 00:18:29,bin1109,75, +abc,1110,1110,1110,1973-01-15,110.69999999999798,110.69888,2015-01-01 00:18:30,bin1110,35, +abc,1111,1111,1111,1973-01-16,110.79999999999798,110.79888,2015-01-01 00:18:31,bin1111,75, +abc,1112,1112,1112,1973-01-17,110.89999999999797,110.89888,2015-01-01 00:18:32,bin1112,35, +abc,1113,1113,1113,1973-01-18,110.99999999999797,110.99888,2015-01-01 00:18:33,bin1113,75, +abc,1114,1114,1114,1973-01-19,111.09999999999796,111.09888,2015-01-01 00:18:34,bin1114,35, +abc,1115,1115,1115,1973-01-20,111.19999999999796,111.198875,2015-01-01 00:18:35,bin1115,75, +abc,1116,1116,1116,1973-01-21,111.29999999999795,111.298874,2015-01-01 00:18:36,bin1116,35, +abc,1117,1117,1117,1973-01-22,111.39999999999795,111.39887,2015-01-01 00:18:37,bin1117,75, +abc,1118,1118,1118,1973-01-23,111.49999999999794,111.49887,2015-01-01 00:18:38,bin1118,35, +abc,1119,1119,1119,1973-01-24,111.59999999999793,111.59887,2015-01-01 00:18:39,bin1119,75, +abc,1120,1120,1120,1973-01-25,111.69999999999793,111.69887,2015-01-01 00:18:40,bin1120,35, +abc,1121,1121,1121,1973-01-26,111.79999999999792,111.79887,2015-01-01 00:18:41,bin1121,75, +abc,1122,1122,1122,1973-01-27,111.89999999999792,111.898865,2015-01-01 00:18:42,bin1122,35, +abc,1123,1123,1123,1973-01-28,111.99999999999791,111.99886,2015-01-01 00:18:43,bin1123,75, +abc,1124,1124,1124,1973-01-29,112.0999999999979,112.09886,2015-01-01 00:18:44,bin1124,35, +abc,1125,1125,1125,1973-01-30,112.1999999999979,112.19886,2015-01-01 00:18:45,bin1125,75, +abc,1126,1126,1126,1973-01-31,112.2999999999979,112.29886,2015-01-01 00:18:46,bin1126,35, +abc,1127,1127,1127,1973-02-01,112.39999999999789,112.39886,2015-01-01 00:18:47,bin1127,75, +abc,1128,1128,1128,1973-02-02,112.49999999999788,112.498856,2015-01-01 00:18:48,bin1128,35, +abc,1129,1129,1129,1973-02-03,112.59999999999788,112.598854,2015-01-01 00:18:49,bin1129,75, +abc,1130,1130,1130,1973-02-04,112.69999999999787,112.69885,2015-01-01 00:18:50,bin1130,35, +abc,1131,1131,1131,1973-02-05,112.79999999999787,112.79885,2015-01-01 00:18:51,bin1131,75, +abc,1132,1132,1132,1973-02-06,112.89999999999786,112.89885,2015-01-01 00:18:52,bin1132,35, +abc,1133,1133,1133,1973-02-07,112.99999999999785,112.99885,2015-01-01 00:18:53,bin1133,75, +abc,1134,1134,1134,1973-02-08,113.09999999999785,113.09885,2015-01-01 00:18:54,bin1134,35, +abc,1135,1135,1135,1973-02-09,113.19999999999784,113.198845,2015-01-01 00:18:55,bin1135,75, +abc,1136,1136,1136,1973-02-10,113.29999999999784,113.29884,2015-01-01 00:18:56,bin1136,35, +abc,1137,1137,1137,1973-02-11,113.39999999999783,113.39884,2015-01-01 00:18:57,bin1137,75, +abc,1138,1138,1138,1973-02-12,113.49999999999783,113.49884,2015-01-01 00:18:58,bin1138,35, +abc,1139,1139,1139,1973-02-13,113.59999999999782,113.59884,2015-01-01 00:18:59,bin1139,75, +abc,1140,1140,1140,1973-02-14,113.69999999999781,113.69884,2015-01-01 00:19:00,bin1140,35, +abc,1141,1141,1141,1973-02-15,113.79999999999781,113.798836,2015-01-01 00:19:01,bin1141,75, +abc,1142,1142,1142,1973-02-16,113.8999999999978,113.898834,2015-01-01 00:19:02,bin1142,35, +abc,1143,1143,1143,1973-02-17,113.9999999999978,113.99883,2015-01-01 00:19:03,bin1143,75, +abc,1144,1144,1144,1973-02-18,114.09999999999779,114.09883,2015-01-01 00:19:04,bin1144,35, +abc,1145,1145,1145,1973-02-19,114.19999999999779,114.19883,2015-01-01 00:19:05,bin1145,75, +abc,1146,1146,1146,1973-02-20,114.29999999999778,114.29883,2015-01-01 00:19:06,bin1146,35, +abc,1147,1147,1147,1973-02-21,114.39999999999777,114.39883,2015-01-01 00:19:07,bin1147,75, +abc,1148,1148,1148,1973-02-22,114.49999999999777,114.498825,2015-01-01 00:19:08,bin1148,35, +abc,1149,1149,1149,1973-02-23,114.59999999999776,114.59882,2015-01-01 00:19:09,bin1149,75, +abc,1150,1150,1150,1973-02-24,114.69999999999776,114.69882,2015-01-01 00:19:10,bin1150,35, +abc,1151,1151,1151,1973-02-25,114.79999999999775,114.79882,2015-01-01 00:19:11,bin1151,75, +abc,1152,1152,1152,1973-02-26,114.89999999999775,114.89882,2015-01-01 00:19:12,bin1152,35, +abc,1153,1153,1153,1973-02-27,114.99999999999774,114.99882,2015-01-01 00:19:13,bin1153,75, +abc,1154,1154,1154,1973-02-28,115.09999999999773,115.098816,2015-01-01 00:19:14,bin1154,35, +abc,1155,1155,1155,1973-03-01,115.19999999999773,115.198814,2015-01-01 00:19:15,bin1155,75, +abc,1156,1156,1156,1973-03-02,115.29999999999772,115.29881,2015-01-01 00:19:16,bin1156,35, +abc,1157,1157,1157,1973-03-03,115.39999999999772,115.39881,2015-01-01 00:19:17,bin1157,75, +abc,1158,1158,1158,1973-03-04,115.49999999999771,115.49881,2015-01-01 00:19:18,bin1158,35, +abc,1159,1159,1159,1973-03-05,115.5999999999977,115.59881,2015-01-01 00:19:19,bin1159,75, +abc,1160,1160,1160,1973-03-06,115.6999999999977,115.69881,2015-01-01 00:19:20,bin1160,35, +abc,1161,1161,1161,1973-03-07,115.7999999999977,115.798805,2015-01-01 00:19:21,bin1161,75, +abc,1162,1162,1162,1973-03-08,115.89999999999769,115.8988,2015-01-01 00:19:22,bin1162,35, +abc,1163,1163,1163,1973-03-09,115.99999999999768,115.9988,2015-01-01 00:19:23,bin1163,75, +abc,1164,1164,1164,1973-03-10,116.09999999999768,116.0988,2015-01-01 00:19:24,bin1164,35, +abc,1165,1165,1165,1973-03-11,116.19999999999767,116.1988,2015-01-01 00:19:25,bin1165,75, +abc,1166,1166,1166,1973-03-12,116.29999999999767,116.2988,2015-01-01 00:19:26,bin1166,35, +abc,1167,1167,1167,1973-03-13,116.39999999999766,116.398796,2015-01-01 00:19:27,bin1167,75, +abc,1168,1168,1168,1973-03-14,116.49999999999766,116.498795,2015-01-01 00:19:28,bin1168,35, +abc,1169,1169,1169,1973-03-15,116.59999999999765,116.59879,2015-01-01 00:19:29,bin1169,75, +abc,1170,1170,1170,1973-03-16,116.69999999999764,116.69879,2015-01-01 00:19:30,bin1170,35, +abc,1171,1171,1171,1973-03-17,116.79999999999764,116.79879,2015-01-01 00:19:31,bin1171,75, +abc,1172,1172,1172,1973-03-18,116.89999999999763,116.89879,2015-01-01 00:19:32,bin1172,35, +abc,1173,1173,1173,1973-03-19,116.99999999999763,116.99879,2015-01-01 00:19:33,bin1173,75, +abc,1174,1174,1174,1973-03-20,117.09999999999762,117.098785,2015-01-01 00:19:34,bin1174,35, +abc,1175,1175,1175,1973-03-21,117.19999999999762,117.198784,2015-01-01 00:19:35,bin1175,75, +abc,1176,1176,1176,1973-03-22,117.29999999999761,117.29878,2015-01-01 00:19:36,bin1176,35, +abc,1177,1177,1177,1973-03-23,117.3999999999976,117.39878,2015-01-01 00:19:37,bin1177,75, +abc,1178,1178,1178,1973-03-24,117.4999999999976,117.49878,2015-01-01 00:19:38,bin1178,35, +abc,1179,1179,1179,1973-03-25,117.59999999999759,117.59878,2015-01-01 00:19:39,bin1179,75, +abc,1180,1180,1180,1973-03-26,117.69999999999759,117.69878,2015-01-01 00:19:40,bin1180,35, +abc,1181,1181,1181,1973-03-27,117.79999999999758,117.798775,2015-01-01 00:19:41,bin1181,75, +abc,1182,1182,1182,1973-03-28,117.89999999999758,117.89877,2015-01-01 00:19:42,bin1182,35, +abc,1183,1183,1183,1973-03-29,117.99999999999757,117.99877,2015-01-01 00:19:43,bin1183,75, +abc,1184,1184,1184,1973-03-30,118.09999999999756,118.09877,2015-01-01 00:19:44,bin1184,35, +abc,1185,1185,1185,1973-03-31,118.19999999999756,118.19877,2015-01-01 00:19:45,bin1185,75, +abc,1186,1186,1186,1973-04-01,118.29999999999755,118.29877,2015-01-01 00:19:46,bin1186,35, +abc,1187,1187,1187,1973-04-02,118.39999999999755,118.398766,2015-01-01 00:19:47,bin1187,75, +abc,1188,1188,1188,1973-04-03,118.49999999999754,118.498764,2015-01-01 00:19:48,bin1188,35, +abc,1189,1189,1189,1973-04-04,118.59999999999754,118.59876,2015-01-01 00:19:49,bin1189,75, +abc,1190,1190,1190,1973-04-05,118.69999999999753,118.69876,2015-01-01 00:19:50,bin1190,35, +abc,1191,1191,1191,1973-04-06,118.79999999999752,118.79876,2015-01-01 00:19:51,bin1191,75, +abc,1192,1192,1192,1973-04-07,118.89999999999752,118.89876,2015-01-01 00:19:52,bin1192,35, +abc,1193,1193,1193,1973-04-08,118.99999999999751,118.99876,2015-01-01 00:19:53,bin1193,75, +abc,1194,1194,1194,1973-04-09,119.09999999999751,119.098755,2015-01-01 00:19:54,bin1194,35, +abc,1195,1195,1195,1973-04-10,119.1999999999975,119.19875,2015-01-01 00:19:55,bin1195,75, +abc,1196,1196,1196,1973-04-11,119.2999999999975,119.29875,2015-01-01 00:19:56,bin1196,35, +abc,1197,1197,1197,1973-04-12,119.39999999999749,119.39875,2015-01-01 00:19:57,bin1197,75, +abc,1198,1198,1198,1973-04-13,119.49999999999748,119.49875,2015-01-01 00:19:58,bin1198,35, +abc,1199,1199,1199,1973-04-14,119.59999999999748,119.59875,2015-01-01 00:19:59,bin1199,75, +abc,1200,1200,1200,1973-04-15,119.69999999999747,119.698746,2015-01-01 00:20:00,bin1200,35, +abc,1201,1201,1201,1973-04-16,119.79999999999747,119.798744,2015-01-01 00:20:01,bin1201,75, +abc,1202,1202,1202,1973-04-17,119.89999999999746,119.89874,2015-01-01 00:20:02,bin1202,35, +abc,1203,1203,1203,1973-04-18,119.99999999999746,119.99874,2015-01-01 00:20:03,bin1203,75, +abc,1204,1204,1204,1973-04-19,120.09999999999745,120.09874,2015-01-01 00:20:04,bin1204,35, +abc,1205,1205,1205,1973-04-20,120.19999999999744,120.19874,2015-01-01 00:20:05,bin1205,75, +abc,1206,1206,1206,1973-04-21,120.29999999999744,120.29874,2015-01-01 00:20:06,bin1206,35, +abc,1207,1207,1207,1973-04-22,120.39999999999743,120.398735,2015-01-01 00:20:07,bin1207,75, +abc,1208,1208,1208,1973-04-23,120.49999999999743,120.49873,2015-01-01 00:20:08,bin1208,35, +abc,1209,1209,1209,1973-04-24,120.59999999999742,120.59873,2015-01-01 00:20:09,bin1209,75, +abc,1210,1210,1210,1973-04-25,120.69999999999742,120.69873,2015-01-01 00:20:10,bin1210,35, +abc,1211,1211,1211,1973-04-26,120.79999999999741,120.79873,2015-01-01 00:20:11,bin1211,75, +abc,1212,1212,1212,1973-04-27,120.8999999999974,120.89873,2015-01-01 00:20:12,bin1212,35, +abc,1213,1213,1213,1973-04-28,120.9999999999974,120.998726,2015-01-01 00:20:13,bin1213,75, +abc,1214,1214,1214,1973-04-29,121.0999999999974,121.098724,2015-01-01 00:20:14,bin1214,35, +abc,1215,1215,1215,1973-04-30,121.19999999999739,121.19872,2015-01-01 00:20:15,bin1215,75, +abc,1216,1216,1216,1973-05-01,121.29999999999738,121.29872,2015-01-01 00:20:16,bin1216,35, +abc,1217,1217,1217,1973-05-02,121.39999999999738,121.39872,2015-01-01 00:20:17,bin1217,75, +abc,1218,1218,1218,1973-05-03,121.49999999999737,121.49872,2015-01-01 00:20:18,bin1218,35, +abc,1219,1219,1219,1973-05-04,121.59999999999737,121.59872,2015-01-01 00:20:19,bin1219,75, +abc,1220,1220,1220,1973-05-05,121.69999999999736,121.698715,2015-01-01 00:20:20,bin1220,35, +abc,1221,1221,1221,1973-05-06,121.79999999999735,121.79871,2015-01-01 00:20:21,bin1221,75, +abc,1222,1222,1222,1973-05-07,121.89999999999735,121.89871,2015-01-01 00:20:22,bin1222,35, +abc,1223,1223,1223,1973-05-08,121.99999999999734,121.99871,2015-01-01 00:20:23,bin1223,75, +abc,1224,1224,1224,1973-05-09,122.09999999999734,122.09871,2015-01-01 00:20:24,bin1224,35, +abc,1225,1225,1225,1973-05-10,122.19999999999733,122.19871,2015-01-01 00:20:25,bin1225,75, +abc,1226,1226,1226,1973-05-11,122.29999999999733,122.298706,2015-01-01 00:20:26,bin1226,35, +abc,1227,1227,1227,1973-05-12,122.39999999999732,122.398705,2015-01-01 00:20:27,bin1227,75, +abc,1228,1228,1228,1973-05-13,122.49999999999731,122.4987,2015-01-01 00:20:28,bin1228,35, +abc,1229,1229,1229,1973-05-14,122.59999999999731,122.5987,2015-01-01 00:20:29,bin1229,75, +abc,1230,1230,1230,1973-05-15,122.6999999999973,122.6987,2015-01-01 00:20:30,bin1230,35, +abc,1231,1231,1231,1973-05-16,122.7999999999973,122.7987,2015-01-01 00:20:31,bin1231,75, +abc,1232,1232,1232,1973-05-17,122.89999999999729,122.8987,2015-01-01 00:20:32,bin1232,35, +abc,1233,1233,1233,1973-05-18,122.99999999999729,122.998695,2015-01-01 00:20:33,bin1233,75, +abc,1234,1234,1234,1973-05-19,123.09999999999728,123.098694,2015-01-01 00:20:34,bin1234,35, +abc,1235,1235,1235,1973-05-20,123.19999999999727,123.19869,2015-01-01 00:20:35,bin1235,75, +abc,1236,1236,1236,1973-05-21,123.29999999999727,123.29869,2015-01-01 00:20:36,bin1236,35, +abc,1237,1237,1237,1973-05-22,123.39999999999726,123.39869,2015-01-01 00:20:37,bin1237,75, +abc,1238,1238,1238,1973-05-23,123.49999999999726,123.49869,2015-01-01 00:20:38,bin1238,35, +abc,1239,1239,1239,1973-05-24,123.59999999999725,123.59869,2015-01-01 00:20:39,bin1239,75, +abc,1240,1240,1240,1973-05-25,123.69999999999725,123.698685,2015-01-01 00:20:40,bin1240,35, +abc,1241,1241,1241,1973-05-26,123.79999999999724,123.79868,2015-01-01 00:20:41,bin1241,75, +abc,1242,1242,1242,1973-05-27,123.89999999999723,123.89868,2015-01-01 00:20:42,bin1242,35, +abc,1243,1243,1243,1973-05-28,123.99999999999723,123.99868,2015-01-01 00:20:43,bin1243,75, +abc,1244,1244,1244,1973-05-29,124.09999999999722,124.09868,2015-01-01 00:20:44,bin1244,35, +abc,1245,1245,1245,1973-05-30,124.19999999999722,124.19868,2015-01-01 00:20:45,bin1245,75, +abc,1246,1246,1246,1973-05-31,124.29999999999721,124.298676,2015-01-01 00:20:46,bin1246,35, +abc,1247,1247,1247,1973-06-01,124.3999999999972,124.398674,2015-01-01 00:20:47,bin1247,75, +abc,1248,1248,1248,1973-06-02,124.4999999999972,124.49867,2015-01-01 00:20:48,bin1248,35, +abc,1249,1249,1249,1973-06-03,124.5999999999972,124.59867,2015-01-01 00:20:49,bin1249,75, +abc,1250,1250,1250,1973-06-04,124.69999999999719,124.69867,2015-01-01 00:20:50,bin1250,35, +abc,1251,1251,1251,1973-06-05,124.79999999999718,124.79867,2015-01-01 00:20:51,bin1251,75, +abc,1252,1252,1252,1973-06-06,124.89999999999718,124.89867,2015-01-01 00:20:52,bin1252,35, +abc,1253,1253,1253,1973-06-07,124.99999999999717,124.998665,2015-01-01 00:20:53,bin1253,75, +abc,1254,1254,1254,1973-06-08,125.09999999999717,125.09866,2015-01-01 00:20:54,bin1254,35, +abc,1255,1255,1255,1973-06-09,125.19999999999716,125.19866,2015-01-01 00:20:55,bin1255,75, +abc,1256,1256,1256,1973-06-10,125.29999999999715,125.29866,2015-01-01 00:20:56,bin1256,35, +abc,1257,1257,1257,1973-06-11,125.39999999999715,125.39866,2015-01-01 00:20:57,bin1257,75, +abc,1258,1258,1258,1973-06-12,125.49999999999714,125.49866,2015-01-01 00:20:58,bin1258,35, +abc,1259,1259,1259,1973-06-13,125.59999999999714,125.598656,2015-01-01 00:20:59,bin1259,75, +abc,1260,1260,1260,1973-06-14,125.69999999999713,125.698654,2015-01-01 00:21:00,bin1260,35, +abc,1261,1261,1261,1973-06-15,125.79999999999713,125.79865,2015-01-01 00:21:01,bin1261,75, +abc,1262,1262,1262,1973-06-16,125.89999999999712,125.89865,2015-01-01 00:21:02,bin1262,35, +abc,1263,1263,1263,1973-06-17,125.99999999999712,125.99865,2015-01-01 00:21:03,bin1263,75, +abc,1264,1264,1264,1973-06-18,126.09999999999711,126.09865,2015-01-01 00:21:04,bin1264,35, +abc,1265,1265,1265,1973-06-19,126.1999999999971,126.19865,2015-01-01 00:21:05,bin1265,75, +abc,1266,1266,1266,1973-06-20,126.2999999999971,126.298645,2015-01-01 00:21:06,bin1266,35, +abc,1267,1267,1267,1973-06-21,126.39999999999709,126.39864,2015-01-01 00:21:07,bin1267,75, +abc,1268,1268,1268,1973-06-22,126.49999999999709,126.49864,2015-01-01 00:21:08,bin1268,35, +abc,1269,1269,1269,1973-06-23,126.59999999999708,126.59864,2015-01-01 00:21:09,bin1269,75, +abc,1270,1270,1270,1973-06-24,126.69999999999708,126.69864,2015-01-01 00:21:10,bin1270,35, +abc,1271,1271,1271,1973-06-25,126.79999999999707,126.79864,2015-01-01 00:21:11,bin1271,75, +abc,1272,1272,1272,1973-06-26,126.89999999999706,126.898636,2015-01-01 00:21:12,bin1272,35, +abc,1273,1273,1273,1973-06-27,126.99999999999706,126.998634,2015-01-01 00:21:13,bin1273,75, +abc,1274,1274,1274,1973-06-28,127.09999999999705,127.09863,2015-01-01 00:21:14,bin1274,35, +abc,1275,1275,1275,1973-06-29,127.19999999999705,127.19863,2015-01-01 00:21:15,bin1275,75, +abc,1276,1276,1276,1973-06-30,127.29999999999704,127.29863,2015-01-01 00:21:16,bin1276,35, +abc,1277,1277,1277,1973-07-01,127.39999999999704,127.39863,2015-01-01 00:21:17,bin1277,75, +abc,1278,1278,1278,1973-07-02,127.49999999999703,127.49863,2015-01-01 00:21:18,bin1278,35, +abc,1279,1279,1279,1973-07-03,127.59999999999702,127.598625,2015-01-01 00:21:19,bin1279,75, +abc,1280,1280,1280,1973-07-04,127.69999999999702,127.69862,2015-01-01 00:21:20,bin1280,35, +abc,1281,1281,1281,1973-07-05,127.79999999999701,127.79862,2015-01-01 00:21:21,bin1281,75, +abc,1282,1282,1282,1973-07-06,127.89999999999701,127.89862,2015-01-01 00:21:22,bin1282,35, +abc,1283,1283,1283,1973-07-07,127.999999999997,127.99862,2015-01-01 00:21:23,bin1283,75, +abc,1284,1284,1284,1973-07-08,128.099999999997,128.09862,2015-01-01 00:21:24,bin1284,35, +abc,1285,1285,1285,1973-07-09,128.199999999997,128.19862,2015-01-01 00:21:25,bin1285,75, +abc,1286,1286,1286,1973-07-10,128.299999999997,128.29863,2015-01-01 00:21:26,bin1286,35, +abc,1287,1287,1287,1973-07-11,128.399999999997,128.39864,2015-01-01 00:21:27,bin1287,75, +abc,1288,1288,1288,1973-07-12,128.499999999997,128.49864,2015-01-01 00:21:28,bin1288,35, +abc,1289,1289,1289,1973-07-13,128.59999999999698,128.59865,2015-01-01 00:21:29,bin1289,75, +abc,1290,1290,1290,1973-07-14,128.69999999999698,128.69865,2015-01-01 00:21:30,bin1290,35, +abc,1291,1291,1291,1973-07-15,128.79999999999697,128.79866,2015-01-01 00:21:31,bin1291,75, +abc,1292,1292,1292,1973-07-16,128.89999999999696,128.89867,2015-01-01 00:21:32,bin1292,35, +abc,1293,1293,1293,1973-07-17,128.99999999999696,128.99867,2015-01-01 00:21:33,bin1293,75, +abc,1294,1294,1294,1973-07-18,129.09999999999695,129.09868,2015-01-01 00:21:34,bin1294,35, +abc,1295,1295,1295,1973-07-19,129.19999999999695,129.19868,2015-01-01 00:21:35,bin1295,75, +abc,1296,1296,1296,1973-07-20,129.29999999999694,129.29869,2015-01-01 00:21:36,bin1296,35, +abc,1297,1297,1297,1973-07-21,129.39999999999694,129.3987,2015-01-01 00:21:37,bin1297,75, +abc,1298,1298,1298,1973-07-22,129.49999999999693,129.4987,2015-01-01 00:21:38,bin1298,35, +abc,1299,1299,1299,1973-07-23,129.59999999999692,129.59871,2015-01-01 00:21:39,bin1299,75, +abc,1300,1300,1300,1973-07-24,129.69999999999692,129.69872,2015-01-01 00:21:40,bin1300,35, +abc,1301,1301,1301,1973-07-25,129.7999999999969,129.79872,2015-01-01 00:21:41,bin1301,75, +abc,1302,1302,1302,1973-07-26,129.8999999999969,129.89873,2015-01-01 00:21:42,bin1302,35, +abc,1303,1303,1303,1973-07-27,129.9999999999969,129.99873,2015-01-01 00:21:43,bin1303,75, +abc,1304,1304,1304,1973-07-28,130.0999999999969,130.09874,2015-01-01 00:21:44,bin1304,35, +abc,1305,1305,1305,1973-07-29,130.1999999999969,130.19875,2015-01-01 00:21:45,bin1305,75, +abc,1306,1306,1306,1973-07-30,130.29999999999688,130.29875,2015-01-01 00:21:46,bin1306,35, +abc,1307,1307,1307,1973-07-31,130.39999999999688,130.39876,2015-01-01 00:21:47,bin1307,75, +abc,1308,1308,1308,1973-08-01,130.49999999999687,130.49876,2015-01-01 00:21:48,bin1308,35, +abc,1309,1309,1309,1973-08-02,130.59999999999687,130.59877,2015-01-01 00:21:49,bin1309,75, +abc,1310,1310,1310,1973-08-03,130.69999999999686,130.69878,2015-01-01 00:21:50,bin1310,35, +abc,1311,1311,1311,1973-08-04,130.79999999999686,130.79878,2015-01-01 00:21:51,bin1311,75, +abc,1312,1312,1312,1973-08-05,130.89999999999685,130.89879,2015-01-01 00:21:52,bin1312,35, +abc,1313,1313,1313,1973-08-06,130.99999999999685,130.9988,2015-01-01 00:21:53,bin1313,75, +abc,1314,1314,1314,1973-08-07,131.09999999999684,131.0988,2015-01-01 00:21:54,bin1314,35, +abc,1315,1315,1315,1973-08-08,131.19999999999683,131.1988,2015-01-01 00:21:55,bin1315,75, +abc,1316,1316,1316,1973-08-09,131.29999999999683,131.29881,2015-01-01 00:21:56,bin1316,35, +abc,1317,1317,1317,1973-08-10,131.39999999999682,131.39882,2015-01-01 00:21:57,bin1317,75, +abc,1318,1318,1318,1973-08-11,131.49999999999682,131.49883,2015-01-01 00:21:58,bin1318,35, +abc,1319,1319,1319,1973-08-12,131.5999999999968,131.59883,2015-01-01 00:21:59,bin1319,75, +abc,1320,1320,1320,1973-08-13,131.6999999999968,131.69884,2015-01-01 00:22:00,bin1320,35, +abc,1321,1321,1321,1973-08-14,131.7999999999968,131.79884,2015-01-01 00:22:01,bin1321,75, +abc,1322,1322,1322,1973-08-15,131.8999999999968,131.89885,2015-01-01 00:22:02,bin1322,35, +abc,1323,1323,1323,1973-08-16,131.9999999999968,131.99886,2015-01-01 00:22:03,bin1323,75, +abc,1324,1324,1324,1973-08-17,132.09999999999678,132.09886,2015-01-01 00:22:04,bin1324,35, +abc,1325,1325,1325,1973-08-18,132.19999999999678,132.19887,2015-01-01 00:22:05,bin1325,75, +abc,1326,1326,1326,1973-08-19,132.29999999999677,132.29887,2015-01-01 00:22:06,bin1326,35, +abc,1327,1327,1327,1973-08-20,132.39999999999677,132.39888,2015-01-01 00:22:07,bin1327,75, +abc,1328,1328,1328,1973-08-21,132.49999999999676,132.49889,2015-01-01 00:22:08,bin1328,35, +abc,1329,1329,1329,1973-08-22,132.59999999999675,132.59889,2015-01-01 00:22:09,bin1329,75, +abc,1330,1330,1330,1973-08-23,132.69999999999675,132.6989,2015-01-01 00:22:10,bin1330,35, +abc,1331,1331,1331,1973-08-24,132.79999999999674,132.7989,2015-01-01 00:22:11,bin1331,75, +abc,1332,1332,1332,1973-08-25,132.89999999999674,132.89891,2015-01-01 00:22:12,bin1332,35, +abc,1333,1333,1333,1973-08-26,132.99999999999673,132.99892,2015-01-01 00:22:13,bin1333,75, +abc,1334,1334,1334,1973-08-27,133.09999999999673,133.09892,2015-01-01 00:22:14,bin1334,35, +abc,1335,1335,1335,1973-08-28,133.19999999999672,133.19893,2015-01-01 00:22:15,bin1335,75, +abc,1336,1336,1336,1973-08-29,133.29999999999671,133.29893,2015-01-01 00:22:16,bin1336,35, +abc,1337,1337,1337,1973-08-30,133.3999999999967,133.39894,2015-01-01 00:22:17,bin1337,75, +abc,1338,1338,1338,1973-08-31,133.4999999999967,133.49895,2015-01-01 00:22:18,bin1338,35, +abc,1339,1339,1339,1973-09-01,133.5999999999967,133.59895,2015-01-01 00:22:19,bin1339,75, +abc,1340,1340,1340,1973-09-02,133.6999999999967,133.69896,2015-01-01 00:22:20,bin1340,35, +abc,1341,1341,1341,1973-09-03,133.7999999999967,133.79897,2015-01-01 00:22:21,bin1341,75, +abc,1342,1342,1342,1973-09-04,133.89999999999668,133.89897,2015-01-01 00:22:22,bin1342,35, +abc,1343,1343,1343,1973-09-05,133.99999999999667,133.99898,2015-01-01 00:22:23,bin1343,75, +abc,1344,1344,1344,1973-09-06,134.09999999999667,134.09898,2015-01-01 00:22:24,bin1344,35, +abc,1345,1345,1345,1973-09-07,134.19999999999666,134.19899,2015-01-01 00:22:25,bin1345,75, +abc,1346,1346,1346,1973-09-08,134.29999999999666,134.299,2015-01-01 00:22:26,bin1346,35, +abc,1347,1347,1347,1973-09-09,134.39999999999665,134.399,2015-01-01 00:22:27,bin1347,75, +abc,1348,1348,1348,1973-09-10,134.49999999999665,134.49901,2015-01-01 00:22:28,bin1348,35, +abc,1349,1349,1349,1973-09-11,134.59999999999664,134.59901,2015-01-01 00:22:29,bin1349,75, +abc,1350,1350,1350,1973-09-12,134.69999999999663,134.69902,2015-01-01 00:22:30,bin1350,35, +abc,1351,1351,1351,1973-09-13,134.79999999999663,134.79903,2015-01-01 00:22:31,bin1351,75, +abc,1352,1352,1352,1973-09-14,134.89999999999662,134.89903,2015-01-01 00:22:32,bin1352,35, +abc,1353,1353,1353,1973-09-15,134.99999999999662,134.99904,2015-01-01 00:22:33,bin1353,75, +abc,1354,1354,1354,1973-09-16,135.0999999999966,135.09904,2015-01-01 00:22:34,bin1354,35, +abc,1355,1355,1355,1973-09-17,135.1999999999966,135.19905,2015-01-01 00:22:35,bin1355,75, +abc,1356,1356,1356,1973-09-18,135.2999999999966,135.29906,2015-01-01 00:22:36,bin1356,35, +abc,1357,1357,1357,1973-09-19,135.3999999999966,135.39906,2015-01-01 00:22:37,bin1357,75, +abc,1358,1358,1358,1973-09-20,135.4999999999966,135.49907,2015-01-01 00:22:38,bin1358,35, +abc,1359,1359,1359,1973-09-21,135.59999999999658,135.59908,2015-01-01 00:22:39,bin1359,75, +abc,1360,1360,1360,1973-09-22,135.69999999999658,135.69908,2015-01-01 00:22:40,bin1360,35, +abc,1361,1361,1361,1973-09-23,135.79999999999657,135.79909,2015-01-01 00:22:41,bin1361,75, +abc,1362,1362,1362,1973-09-24,135.89999999999657,135.8991,2015-01-01 00:22:42,bin1362,35, +abc,1363,1363,1363,1973-09-25,135.99999999999656,135.9991,2015-01-01 00:22:43,bin1363,75, +abc,1364,1364,1364,1973-09-26,136.09999999999656,136.0991,2015-01-01 00:22:44,bin1364,35, +abc,1365,1365,1365,1973-09-27,136.19999999999655,136.19911,2015-01-01 00:22:45,bin1365,75, +abc,1366,1366,1366,1973-09-28,136.29999999999654,136.29912,2015-01-01 00:22:46,bin1366,35, +abc,1367,1367,1367,1973-09-29,136.39999999999654,136.39912,2015-01-01 00:22:47,bin1367,75, +abc,1368,1368,1368,1973-09-30,136.49999999999653,136.49913,2015-01-01 00:22:48,bin1368,35, +abc,1369,1369,1369,1973-10-01,136.59999999999653,136.59914,2015-01-01 00:22:49,bin1369,75, +abc,1370,1370,1370,1973-10-02,136.69999999999652,136.69914,2015-01-01 00:22:50,bin1370,35, +abc,1371,1371,1371,1973-10-03,136.79999999999652,136.79915,2015-01-01 00:22:51,bin1371,75, +abc,1372,1372,1372,1973-10-04,136.8999999999965,136.89915,2015-01-01 00:22:52,bin1372,35, +abc,1373,1373,1373,1973-10-05,136.9999999999965,136.99916,2015-01-01 00:22:53,bin1373,75, +abc,1374,1374,1374,1973-10-06,137.0999999999965,137.09917,2015-01-01 00:22:54,bin1374,35, +abc,1375,1375,1375,1973-10-07,137.1999999999965,137.19917,2015-01-01 00:22:55,bin1375,75, +abc,1376,1376,1376,1973-10-08,137.2999999999965,137.29918,2015-01-01 00:22:56,bin1376,35, +abc,1377,1377,1377,1973-10-09,137.39999999999648,137.39919,2015-01-01 00:22:57,bin1377,75, +abc,1378,1378,1378,1973-10-10,137.49999999999648,137.49919,2015-01-01 00:22:58,bin1378,35, +abc,1379,1379,1379,1973-10-11,137.59999999999647,137.5992,2015-01-01 00:22:59,bin1379,75, +abc,1380,1380,1380,1973-10-12,137.69999999999646,137.6992,2015-01-01 00:23:00,bin1380,35, +abc,1381,1381,1381,1973-10-13,137.79999999999646,137.79921,2015-01-01 00:23:01,bin1381,75, +abc,1382,1382,1382,1973-10-14,137.89999999999645,137.89922,2015-01-01 00:23:02,bin1382,35, +abc,1383,1383,1383,1973-10-15,137.99999999999645,137.99922,2015-01-01 00:23:03,bin1383,75, +abc,1384,1384,1384,1973-10-16,138.09999999999644,138.09923,2015-01-01 00:23:04,bin1384,35, +abc,1385,1385,1385,1973-10-17,138.19999999999644,138.19923,2015-01-01 00:23:05,bin1385,75, +abc,1386,1386,1386,1973-10-18,138.29999999999643,138.29924,2015-01-01 00:23:06,bin1386,35, +abc,1387,1387,1387,1973-10-19,138.39999999999642,138.39925,2015-01-01 00:23:07,bin1387,75, +abc,1388,1388,1388,1973-10-20,138.49999999999642,138.49925,2015-01-01 00:23:08,bin1388,35, +abc,1389,1389,1389,1973-10-21,138.5999999999964,138.59926,2015-01-01 00:23:09,bin1389,75, +abc,1390,1390,1390,1973-10-22,138.6999999999964,138.69926,2015-01-01 00:23:10,bin1390,35, +abc,1391,1391,1391,1973-10-23,138.7999999999964,138.79927,2015-01-01 00:23:11,bin1391,75, +abc,1392,1392,1392,1973-10-24,138.8999999999964,138.89928,2015-01-01 00:23:12,bin1392,35, +abc,1393,1393,1393,1973-10-25,138.9999999999964,138.99928,2015-01-01 00:23:13,bin1393,75, +abc,1394,1394,1394,1973-10-26,139.09999999999638,139.09929,2015-01-01 00:23:14,bin1394,35, +abc,1395,1395,1395,1973-10-27,139.19999999999638,139.1993,2015-01-01 00:23:15,bin1395,75, +abc,1396,1396,1396,1973-10-28,139.29999999999637,139.2993,2015-01-01 00:23:16,bin1396,35, +abc,1397,1397,1397,1973-10-29,139.39999999999637,139.3993,2015-01-01 00:23:17,bin1397,75, +abc,1398,1398,1398,1973-10-30,139.49999999999636,139.49931,2015-01-01 00:23:18,bin1398,35, +abc,1399,1399,1399,1973-10-31,139.59999999999636,139.59932,2015-01-01 00:23:19,bin1399,75, +abc,1400,1400,1400,1973-11-01,139.69999999999635,139.69933,2015-01-01 00:23:20,bin1400,35, +abc,1401,1401,1401,1973-11-02,139.79999999999634,139.79933,2015-01-01 00:23:21,bin1401,75, +abc,1402,1402,1402,1973-11-03,139.89999999999634,139.89934,2015-01-01 00:23:22,bin1402,35, +abc,1403,1403,1403,1973-11-04,139.99999999999633,139.99934,2015-01-01 00:23:23,bin1403,75, +abc,1404,1404,1404,1973-11-05,140.09999999999633,140.09935,2015-01-01 00:23:24,bin1404,35, +abc,1405,1405,1405,1973-11-06,140.19999999999632,140.19936,2015-01-01 00:23:25,bin1405,75, +abc,1406,1406,1406,1973-11-07,140.29999999999632,140.29936,2015-01-01 00:23:26,bin1406,35, +abc,1407,1407,1407,1973-11-08,140.3999999999963,140.39937,2015-01-01 00:23:27,bin1407,75, +abc,1408,1408,1408,1973-11-09,140.4999999999963,140.49937,2015-01-01 00:23:28,bin1408,35, +abc,1409,1409,1409,1973-11-10,140.5999999999963,140.59938,2015-01-01 00:23:29,bin1409,75, +abc,1410,1410,1410,1973-11-11,140.6999999999963,140.69939,2015-01-01 00:23:30,bin1410,35, +abc,1411,1411,1411,1973-11-12,140.7999999999963,140.7994,2015-01-01 00:23:31,bin1411,75, +abc,1412,1412,1412,1973-11-13,140.89999999999628,140.8994,2015-01-01 00:23:32,bin1412,35, +abc,1413,1413,1413,1973-11-14,140.99999999999628,140.9994,2015-01-01 00:23:33,bin1413,75, +abc,1414,1414,1414,1973-11-15,141.09999999999627,141.09941,2015-01-01 00:23:34,bin1414,35, +abc,1415,1415,1415,1973-11-16,141.19999999999627,141.19942,2015-01-01 00:23:35,bin1415,75, +abc,1416,1416,1416,1973-11-17,141.29999999999626,141.29942,2015-01-01 00:23:36,bin1416,35, +abc,1417,1417,1417,1973-11-18,141.39999999999625,141.39943,2015-01-01 00:23:37,bin1417,75, +abc,1418,1418,1418,1973-11-19,141.49999999999625,141.49944,2015-01-01 00:23:38,bin1418,35, +abc,1419,1419,1419,1973-11-20,141.59999999999624,141.59944,2015-01-01 00:23:39,bin1419,75, +abc,1420,1420,1420,1973-11-21,141.69999999999624,141.69945,2015-01-01 00:23:40,bin1420,35, +abc,1421,1421,1421,1973-11-22,141.79999999999623,141.79945,2015-01-01 00:23:41,bin1421,75, +abc,1422,1422,1422,1973-11-23,141.89999999999623,141.89946,2015-01-01 00:23:42,bin1422,35, +abc,1423,1423,1423,1973-11-24,141.99999999999622,141.99947,2015-01-01 00:23:43,bin1423,75, +abc,1424,1424,1424,1973-11-25,142.09999999999621,142.09947,2015-01-01 00:23:44,bin1424,35, +abc,1425,1425,1425,1973-11-26,142.1999999999962,142.19948,2015-01-01 00:23:45,bin1425,75, +abc,1426,1426,1426,1973-11-27,142.2999999999962,142.29948,2015-01-01 00:23:46,bin1426,35, +abc,1427,1427,1427,1973-11-28,142.3999999999962,142.39949,2015-01-01 00:23:47,bin1427,75, +abc,1428,1428,1428,1973-11-29,142.4999999999962,142.4995,2015-01-01 00:23:48,bin1428,35, +abc,1429,1429,1429,1973-11-30,142.5999999999962,142.5995,2015-01-01 00:23:49,bin1429,75, +abc,1430,1430,1430,1973-12-01,142.69999999999618,142.69951,2015-01-01 00:23:50,bin1430,35, +abc,1431,1431,1431,1973-12-02,142.79999999999617,142.79951,2015-01-01 00:23:51,bin1431,75, +abc,1432,1432,1432,1973-12-03,142.89999999999617,142.89952,2015-01-01 00:23:52,bin1432,35, +abc,1433,1433,1433,1973-12-04,142.99999999999616,142.99953,2015-01-01 00:23:53,bin1433,75, +abc,1434,1434,1434,1973-12-05,143.09999999999616,143.09953,2015-01-01 00:23:54,bin1434,35, +abc,1435,1435,1435,1973-12-06,143.19999999999615,143.19954,2015-01-01 00:23:55,bin1435,75, +abc,1436,1436,1436,1973-12-07,143.29999999999615,143.29955,2015-01-01 00:23:56,bin1436,35, +abc,1437,1437,1437,1973-12-08,143.39999999999614,143.39955,2015-01-01 00:23:57,bin1437,75, +abc,1438,1438,1438,1973-12-09,143.49999999999613,143.49956,2015-01-01 00:23:58,bin1438,35, +abc,1439,1439,1439,1973-12-10,143.59999999999613,143.59956,2015-01-01 00:23:59,bin1439,75, +abc,1440,1440,1440,1973-12-11,143.69999999999612,143.69957,2015-01-01 00:24:00,bin1440,35, +abc,1441,1441,1441,1973-12-12,143.79999999999612,143.79958,2015-01-01 00:24:01,bin1441,75, +abc,1442,1442,1442,1973-12-13,143.8999999999961,143.89958,2015-01-01 00:24:02,bin1442,35, +abc,1443,1443,1443,1973-12-14,143.9999999999961,143.99959,2015-01-01 00:24:03,bin1443,75, +abc,1444,1444,1444,1973-12-15,144.0999999999961,144.0996,2015-01-01 00:24:04,bin1444,35, +abc,1445,1445,1445,1973-12-16,144.1999999999961,144.1996,2015-01-01 00:24:05,bin1445,75, +abc,1446,1446,1446,1973-12-17,144.2999999999961,144.2996,2015-01-01 00:24:06,bin1446,35, +abc,1447,1447,1447,1973-12-18,144.39999999999608,144.39961,2015-01-01 00:24:07,bin1447,75, +abc,1448,1448,1448,1973-12-19,144.49999999999608,144.49962,2015-01-01 00:24:08,bin1448,35, +abc,1449,1449,1449,1973-12-20,144.59999999999607,144.59962,2015-01-01 00:24:09,bin1449,75, +abc,1450,1450,1450,1973-12-21,144.69999999999607,144.69963,2015-01-01 00:24:10,bin1450,35, +abc,1451,1451,1451,1973-12-22,144.79999999999606,144.79964,2015-01-01 00:24:11,bin1451,75, +abc,1452,1452,1452,1973-12-23,144.89999999999606,144.89964,2015-01-01 00:24:12,bin1452,35, +abc,1453,1453,1453,1973-12-24,144.99999999999605,144.99965,2015-01-01 00:24:13,bin1453,75, +abc,1454,1454,1454,1973-12-25,145.09999999999604,145.09966,2015-01-01 00:24:14,bin1454,35, +abc,1455,1455,1455,1973-12-26,145.19999999999604,145.19966,2015-01-01 00:24:15,bin1455,75, +abc,1456,1456,1456,1973-12-27,145.29999999999603,145.29967,2015-01-01 00:24:16,bin1456,35, +abc,1457,1457,1457,1973-12-28,145.39999999999603,145.39967,2015-01-01 00:24:17,bin1457,75, +abc,1458,1458,1458,1973-12-29,145.49999999999602,145.49968,2015-01-01 00:24:18,bin1458,35, +abc,1459,1459,1459,1973-12-30,145.59999999999602,145.59969,2015-01-01 00:24:19,bin1459,75, +abc,1460,1460,1460,1973-12-31,145.699999999996,145.69969,2015-01-01 00:24:20,bin1460,35, +abc,1461,1461,1461,1974-01-01,145.799999999996,145.7997,2015-01-01 00:24:21,bin1461,75, +abc,1462,1462,1462,1974-01-02,145.899999999996,145.8997,2015-01-01 00:24:22,bin1462,35, +abc,1463,1463,1463,1974-01-03,145.999999999996,145.99971,2015-01-01 00:24:23,bin1463,75, +abc,1464,1464,1464,1974-01-04,146.099999999996,146.09972,2015-01-01 00:24:24,bin1464,35, +abc,1465,1465,1465,1974-01-05,146.19999999999598,146.19972,2015-01-01 00:24:25,bin1465,75, +abc,1466,1466,1466,1974-01-06,146.29999999999598,146.29973,2015-01-01 00:24:26,bin1466,35, +abc,1467,1467,1467,1974-01-07,146.39999999999597,146.39973,2015-01-01 00:24:27,bin1467,75, +abc,1468,1468,1468,1974-01-08,146.49999999999596,146.49974,2015-01-01 00:24:28,bin1468,35, +abc,1469,1469,1469,1974-01-09,146.59999999999596,146.59975,2015-01-01 00:24:29,bin1469,75, +abc,1470,1470,1470,1974-01-10,146.69999999999595,146.69975,2015-01-01 00:24:30,bin1470,35, +abc,1471,1471,1471,1974-01-11,146.79999999999595,146.79976,2015-01-01 00:24:31,bin1471,75, +abc,1472,1472,1472,1974-01-12,146.89999999999594,146.89977,2015-01-01 00:24:32,bin1472,35, +abc,1473,1473,1473,1974-01-13,146.99999999999594,146.99977,2015-01-01 00:24:33,bin1473,75, +abc,1474,1474,1474,1974-01-14,147.09999999999593,147.09978,2015-01-01 00:24:34,bin1474,35, +abc,1475,1475,1475,1974-01-15,147.19999999999592,147.19978,2015-01-01 00:24:35,bin1475,75, +abc,1476,1476,1476,1974-01-16,147.29999999999592,147.29979,2015-01-01 00:24:36,bin1476,35, +abc,1477,1477,1477,1974-01-17,147.3999999999959,147.3998,2015-01-01 00:24:37,bin1477,75, +abc,1478,1478,1478,1974-01-18,147.4999999999959,147.4998,2015-01-01 00:24:38,bin1478,35, +abc,1479,1479,1479,1974-01-19,147.5999999999959,147.59981,2015-01-01 00:24:39,bin1479,75, +abc,1480,1480,1480,1974-01-20,147.6999999999959,147.69981,2015-01-01 00:24:40,bin1480,35, +abc,1481,1481,1481,1974-01-21,147.7999999999959,147.79982,2015-01-01 00:24:41,bin1481,75, +abc,1482,1482,1482,1974-01-22,147.89999999999588,147.89983,2015-01-01 00:24:42,bin1482,35, +abc,1483,1483,1483,1974-01-23,147.99999999999588,147.99983,2015-01-01 00:24:43,bin1483,75, +abc,1484,1484,1484,1974-01-24,148.09999999999587,148.09984,2015-01-01 00:24:44,bin1484,35, +abc,1485,1485,1485,1974-01-25,148.19999999999587,148.19984,2015-01-01 00:24:45,bin1485,75, +abc,1486,1486,1486,1974-01-26,148.29999999999586,148.29985,2015-01-01 00:24:46,bin1486,35, +abc,1487,1487,1487,1974-01-27,148.39999999999586,148.39986,2015-01-01 00:24:47,bin1487,75, +abc,1488,1488,1488,1974-01-28,148.49999999999585,148.49986,2015-01-01 00:24:48,bin1488,35, +abc,1489,1489,1489,1974-01-29,148.59999999999584,148.59987,2015-01-01 00:24:49,bin1489,75, +abc,1490,1490,1490,1974-01-30,148.69999999999584,148.69987,2015-01-01 00:24:50,bin1490,35, +abc,1491,1491,1491,1974-01-31,148.79999999999583,148.79988,2015-01-01 00:24:51,bin1491,75, +abc,1492,1492,1492,1974-02-01,148.89999999999583,148.89989,2015-01-01 00:24:52,bin1492,35, +abc,1493,1493,1493,1974-02-02,148.99999999999582,148.9999,2015-01-01 00:24:53,bin1493,75, +abc,1494,1494,1494,1974-02-03,149.09999999999582,149.0999,2015-01-01 00:24:54,bin1494,35, +abc,1495,1495,1495,1974-02-04,149.1999999999958,149.1999,2015-01-01 00:24:55,bin1495,75, +abc,1496,1496,1496,1974-02-05,149.2999999999958,149.29991,2015-01-01 00:24:56,bin1496,35, +abc,1497,1497,1497,1974-02-06,149.3999999999958,149.39992,2015-01-01 00:24:57,bin1497,75, +abc,1498,1498,1498,1974-02-07,149.4999999999958,149.49992,2015-01-01 00:24:58,bin1498,35, +abc,1499,1499,1499,1974-02-08,149.5999999999958,149.59993,2015-01-01 00:24:59,bin1499,75, +abc,1500,1500,1500,1974-02-09,149.69999999999578,149.69994,2015-01-01 00:25:00,bin1500,35, +abc,1501,1501,1501,1974-02-10,149.79999999999578,149.79994,2015-01-01 00:25:01,bin1501,75, +abc,1502,1502,1502,1974-02-11,149.89999999999577,149.89995,2015-01-01 00:25:02,bin1502,35, +abc,1503,1503,1503,1974-02-12,149.99999999999577,149.99995,2015-01-01 00:25:03,bin1503,75, +abc,1504,1504,1504,1974-02-13,150.09999999999576,150.09996,2015-01-01 00:25:04,bin1504,35, +abc,1505,1505,1505,1974-02-14,150.19999999999575,150.19997,2015-01-01 00:25:05,bin1505,75, +abc,1506,1506,1506,1974-02-15,150.29999999999575,150.29997,2015-01-01 00:25:06,bin1506,35, +abc,1507,1507,1507,1974-02-16,150.39999999999574,150.39998,2015-01-01 00:25:07,bin1507,75, +abc,1508,1508,1508,1974-02-17,150.49999999999574,150.49998,2015-01-01 00:25:08,bin1508,35, +abc,1509,1509,1509,1974-02-18,150.59999999999573,150.59999,2015-01-01 00:25:09,bin1509,75, +abc,1510,1510,1510,1974-02-19,150.69999999999573,150.7,2015-01-01 00:25:10,bin1510,35, +abc,1511,1511,1511,1974-02-20,150.79999999999572,150.8,2015-01-01 00:25:11,bin1511,75, +abc,1512,1512,1512,1974-02-21,150.8999999999957,150.90001,2015-01-01 00:25:12,bin1512,35, +abc,1513,1513,1513,1974-02-22,150.9999999999957,151.00002,2015-01-01 00:25:13,bin1513,75, +abc,1514,1514,1514,1974-02-23,151.0999999999957,151.10002,2015-01-01 00:25:14,bin1514,35, +abc,1515,1515,1515,1974-02-24,151.1999999999957,151.20003,2015-01-01 00:25:15,bin1515,75, +abc,1516,1516,1516,1974-02-25,151.2999999999957,151.30003,2015-01-01 00:25:16,bin1516,35, +abc,1517,1517,1517,1974-02-26,151.39999999999569,151.40004,2015-01-01 00:25:17,bin1517,75, +abc,1518,1518,1518,1974-02-27,151.49999999999568,151.50005,2015-01-01 00:25:18,bin1518,35, +abc,1519,1519,1519,1974-02-28,151.59999999999567,151.60005,2015-01-01 00:25:19,bin1519,75, +abc,1520,1520,1520,1974-03-01,151.69999999999567,151.70006,2015-01-01 00:25:20,bin1520,35, +abc,1521,1521,1521,1974-03-02,151.79999999999566,151.80006,2015-01-01 00:25:21,bin1521,75, +abc,1522,1522,1522,1974-03-03,151.89999999999566,151.90007,2015-01-01 00:25:22,bin1522,35, +abc,1523,1523,1523,1974-03-04,151.99999999999565,152.00008,2015-01-01 00:25:23,bin1523,75, +abc,1524,1524,1524,1974-03-05,152.09999999999565,152.10008,2015-01-01 00:25:24,bin1524,35, +abc,1525,1525,1525,1974-03-06,152.19999999999564,152.20009,2015-01-01 00:25:25,bin1525,75, +abc,1526,1526,1526,1974-03-07,152.29999999999563,152.3001,2015-01-01 00:25:26,bin1526,35, +abc,1527,1527,1527,1974-03-08,152.39999999999563,152.4001,2015-01-01 00:25:27,bin1527,75, +abc,1528,1528,1528,1974-03-09,152.49999999999562,152.5001,2015-01-01 00:25:28,bin1528,35, +abc,1529,1529,1529,1974-03-10,152.59999999999562,152.60011,2015-01-01 00:25:29,bin1529,75, +abc,1530,1530,1530,1974-03-11,152.6999999999956,152.70012,2015-01-01 00:25:30,bin1530,35, +abc,1531,1531,1531,1974-03-12,152.7999999999956,152.80013,2015-01-01 00:25:31,bin1531,75, +abc,1532,1532,1532,1974-03-13,152.8999999999956,152.90013,2015-01-01 00:25:32,bin1532,35, +abc,1533,1533,1533,1974-03-14,152.9999999999956,153.00014,2015-01-01 00:25:33,bin1533,75, +abc,1534,1534,1534,1974-03-15,153.0999999999956,153.10014,2015-01-01 00:25:34,bin1534,35, +abc,1535,1535,1535,1974-03-16,153.19999999999558,153.20015,2015-01-01 00:25:35,bin1535,75, +abc,1536,1536,1536,1974-03-17,153.29999999999558,153.30016,2015-01-01 00:25:36,bin1536,35, +abc,1537,1537,1537,1974-03-18,153.39999999999557,153.40016,2015-01-01 00:25:37,bin1537,75, +abc,1538,1538,1538,1974-03-19,153.49999999999557,153.50017,2015-01-01 00:25:38,bin1538,35, +abc,1539,1539,1539,1974-03-20,153.59999999999556,153.60017,2015-01-01 00:25:39,bin1539,75, +abc,1540,1540,1540,1974-03-21,153.69999999999555,153.70018,2015-01-01 00:25:40,bin1540,35, +abc,1541,1541,1541,1974-03-22,153.79999999999555,153.80019,2015-01-01 00:25:41,bin1541,75, +abc,1542,1542,1542,1974-03-23,153.89999999999554,153.90019,2015-01-01 00:25:42,bin1542,35, +abc,1543,1543,1543,1974-03-24,153.99999999999554,154.0002,2015-01-01 00:25:43,bin1543,75, +abc,1544,1544,1544,1974-03-25,154.09999999999553,154.1002,2015-01-01 00:25:44,bin1544,35, +abc,1545,1545,1545,1974-03-26,154.19999999999553,154.20021,2015-01-01 00:25:45,bin1545,75, +abc,1546,1546,1546,1974-03-27,154.29999999999552,154.30022,2015-01-01 00:25:46,bin1546,35, +abc,1547,1547,1547,1974-03-28,154.39999999999552,154.40022,2015-01-01 00:25:47,bin1547,75, +abc,1548,1548,1548,1974-03-29,154.4999999999955,154.50023,2015-01-01 00:25:48,bin1548,35, +abc,1549,1549,1549,1974-03-30,154.5999999999955,154.60023,2015-01-01 00:25:49,bin1549,75, +abc,1550,1550,1550,1974-03-31,154.6999999999955,154.70024,2015-01-01 00:25:50,bin1550,35, +abc,1551,1551,1551,1974-04-01,154.7999999999955,154.80025,2015-01-01 00:25:51,bin1551,75, +abc,1552,1552,1552,1974-04-02,154.8999999999955,154.90025,2015-01-01 00:25:52,bin1552,35, +abc,1553,1553,1553,1974-04-03,154.99999999999548,155.00026,2015-01-01 00:25:53,bin1553,75, +abc,1554,1554,1554,1974-04-04,155.09999999999548,155.10027,2015-01-01 00:25:54,bin1554,35, +abc,1555,1555,1555,1974-04-05,155.19999999999547,155.20027,2015-01-01 00:25:55,bin1555,75, +abc,1556,1556,1556,1974-04-06,155.29999999999546,155.30028,2015-01-01 00:25:56,bin1556,35, +abc,1557,1557,1557,1974-04-07,155.39999999999546,155.40028,2015-01-01 00:25:57,bin1557,75, +abc,1558,1558,1558,1974-04-08,155.49999999999545,155.50029,2015-01-01 00:25:58,bin1558,35, +abc,1559,1559,1559,1974-04-09,155.59999999999545,155.6003,2015-01-01 00:25:59,bin1559,75, +abc,1560,1560,1560,1974-04-10,155.69999999999544,155.7003,2015-01-01 00:26:00,bin1560,35, +abc,1561,1561,1561,1974-04-11,155.79999999999544,155.80031,2015-01-01 00:26:01,bin1561,75, +abc,1562,1562,1562,1974-04-12,155.89999999999543,155.90031,2015-01-01 00:26:02,bin1562,35, +abc,1563,1563,1563,1974-04-13,155.99999999999542,156.00032,2015-01-01 00:26:03,bin1563,75, +abc,1564,1564,1564,1974-04-14,156.09999999999542,156.10033,2015-01-01 00:26:04,bin1564,35, +abc,1565,1565,1565,1974-04-15,156.1999999999954,156.20033,2015-01-01 00:26:05,bin1565,75, +abc,1566,1566,1566,1974-04-16,156.2999999999954,156.30034,2015-01-01 00:26:06,bin1566,35, +abc,1567,1567,1567,1974-04-17,156.3999999999954,156.40034,2015-01-01 00:26:07,bin1567,75, +abc,1568,1568,1568,1974-04-18,156.4999999999954,156.50035,2015-01-01 00:26:08,bin1568,35, +abc,1569,1569,1569,1974-04-19,156.5999999999954,156.60036,2015-01-01 00:26:09,bin1569,75, +abc,1570,1570,1570,1974-04-20,156.69999999999538,156.70036,2015-01-01 00:26:10,bin1570,35, +abc,1571,1571,1571,1974-04-21,156.79999999999538,156.80037,2015-01-01 00:26:11,bin1571,75, +abc,1572,1572,1572,1974-04-22,156.89999999999537,156.90038,2015-01-01 00:26:12,bin1572,35, +abc,1573,1573,1573,1974-04-23,156.99999999999537,157.00038,2015-01-01 00:26:13,bin1573,75, +abc,1574,1574,1574,1974-04-24,157.09999999999536,157.10039,2015-01-01 00:26:14,bin1574,35, +abc,1575,1575,1575,1974-04-25,157.19999999999536,157.2004,2015-01-01 00:26:15,bin1575,75, +abc,1576,1576,1576,1974-04-26,157.29999999999535,157.3004,2015-01-01 00:26:16,bin1576,35, +abc,1577,1577,1577,1974-04-27,157.39999999999534,157.4004,2015-01-01 00:26:17,bin1577,75, +abc,1578,1578,1578,1974-04-28,157.49999999999534,157.50041,2015-01-01 00:26:18,bin1578,35, +abc,1579,1579,1579,1974-04-29,157.59999999999533,157.60042,2015-01-01 00:26:19,bin1579,75, +abc,1580,1580,1580,1974-04-30,157.69999999999533,157.70042,2015-01-01 00:26:20,bin1580,35, +abc,1581,1581,1581,1974-05-01,157.79999999999532,157.80043,2015-01-01 00:26:21,bin1581,75, +abc,1582,1582,1582,1974-05-02,157.89999999999532,157.90044,2015-01-01 00:26:22,bin1582,35, +abc,1583,1583,1583,1974-05-03,157.9999999999953,158.00044,2015-01-01 00:26:23,bin1583,75, +abc,1584,1584,1584,1974-05-04,158.0999999999953,158.10045,2015-01-01 00:26:24,bin1584,35, +abc,1585,1585,1585,1974-05-05,158.1999999999953,158.20045,2015-01-01 00:26:25,bin1585,75, +abc,1586,1586,1586,1974-05-06,158.2999999999953,158.30046,2015-01-01 00:26:26,bin1586,35, +abc,1587,1587,1587,1974-05-07,158.3999999999953,158.40047,2015-01-01 00:26:27,bin1587,75, +abc,1588,1588,1588,1974-05-08,158.49999999999528,158.50047,2015-01-01 00:26:28,bin1588,35, +abc,1589,1589,1589,1974-05-09,158.59999999999528,158.60048,2015-01-01 00:26:29,bin1589,75, +abc,1590,1590,1590,1974-05-10,158.69999999999527,158.70049,2015-01-01 00:26:30,bin1590,35, +abc,1591,1591,1591,1974-05-11,158.79999999999526,158.80049,2015-01-01 00:26:31,bin1591,75, +abc,1592,1592,1592,1974-05-12,158.89999999999526,158.9005,2015-01-01 00:26:32,bin1592,35, +abc,1593,1593,1593,1974-05-13,158.99999999999525,159.0005,2015-01-01 00:26:33,bin1593,75, +abc,1594,1594,1594,1974-05-14,159.09999999999525,159.10051,2015-01-01 00:26:34,bin1594,35, +abc,1595,1595,1595,1974-05-15,159.19999999999524,159.20052,2015-01-01 00:26:35,bin1595,75, +abc,1596,1596,1596,1974-05-16,159.29999999999524,159.30052,2015-01-01 00:26:36,bin1596,35, +abc,1597,1597,1597,1974-05-17,159.39999999999523,159.40053,2015-01-01 00:26:37,bin1597,75, +abc,1598,1598,1598,1974-05-18,159.49999999999523,159.50053,2015-01-01 00:26:38,bin1598,35, +abc,1599,1599,1599,1974-05-19,159.59999999999522,159.60054,2015-01-01 00:26:39,bin1599,75, +abc,1600,1600,1600,1974-05-20,159.6999999999952,159.70055,2015-01-01 00:26:40,bin1600,35, +abc,1601,1601,1601,1974-05-21,159.7999999999952,159.80055,2015-01-01 00:26:41,bin1601,75, +abc,1602,1602,1602,1974-05-22,159.8999999999952,159.90056,2015-01-01 00:26:42,bin1602,35, +abc,1603,1603,1603,1974-05-23,159.9999999999952,160.00056,2015-01-01 00:26:43,bin1603,75, +abc,1604,1604,1604,1974-05-24,160.0999999999952,160.10057,2015-01-01 00:26:44,bin1604,35, +abc,1605,1605,1605,1974-05-25,160.19999999999519,160.20058,2015-01-01 00:26:45,bin1605,75, +abc,1606,1606,1606,1974-05-26,160.29999999999518,160.30058,2015-01-01 00:26:46,bin1606,35, +abc,1607,1607,1607,1974-05-27,160.39999999999517,160.40059,2015-01-01 00:26:47,bin1607,75, +abc,1608,1608,1608,1974-05-28,160.49999999999517,160.5006,2015-01-01 00:26:48,bin1608,35, +abc,1609,1609,1609,1974-05-29,160.59999999999516,160.6006,2015-01-01 00:26:49,bin1609,75, +abc,1610,1610,1610,1974-05-30,160.69999999999516,160.7006,2015-01-01 00:26:50,bin1610,35, +abc,1611,1611,1611,1974-05-31,160.79999999999515,160.80061,2015-01-01 00:26:51,bin1611,75, +abc,1612,1612,1612,1974-06-01,160.89999999999515,160.90062,2015-01-01 00:26:52,bin1612,35, +abc,1613,1613,1613,1974-06-02,160.99999999999514,161.00063,2015-01-01 00:26:53,bin1613,75, +abc,1614,1614,1614,1974-06-03,161.09999999999513,161.10063,2015-01-01 00:26:54,bin1614,35, +abc,1615,1615,1615,1974-06-04,161.19999999999513,161.20064,2015-01-01 00:26:55,bin1615,75, +abc,1616,1616,1616,1974-06-05,161.29999999999512,161.30064,2015-01-01 00:26:56,bin1616,35, +abc,1617,1617,1617,1974-06-06,161.39999999999512,161.40065,2015-01-01 00:26:57,bin1617,75, +abc,1618,1618,1618,1974-06-07,161.4999999999951,161.50066,2015-01-01 00:26:58,bin1618,35, +abc,1619,1619,1619,1974-06-08,161.5999999999951,161.60066,2015-01-01 00:26:59,bin1619,75, +abc,1620,1620,1620,1974-06-09,161.6999999999951,161.70067,2015-01-01 00:27:00,bin1620,35, +abc,1621,1621,1621,1974-06-10,161.7999999999951,161.80067,2015-01-01 00:27:01,bin1621,75, +abc,1622,1622,1622,1974-06-11,161.8999999999951,161.90068,2015-01-01 00:27:02,bin1622,35, +abc,1623,1623,1623,1974-06-12,161.99999999999508,162.00069,2015-01-01 00:27:03,bin1623,75, +abc,1624,1624,1624,1974-06-13,162.09999999999508,162.1007,2015-01-01 00:27:04,bin1624,35, +abc,1625,1625,1625,1974-06-14,162.19999999999507,162.2007,2015-01-01 00:27:05,bin1625,75, +abc,1626,1626,1626,1974-06-15,162.29999999999507,162.3007,2015-01-01 00:27:06,bin1626,35, +abc,1627,1627,1627,1974-06-16,162.39999999999506,162.40071,2015-01-01 00:27:07,bin1627,75, +abc,1628,1628,1628,1974-06-17,162.49999999999505,162.50072,2015-01-01 00:27:08,bin1628,35, +abc,1629,1629,1629,1974-06-18,162.59999999999505,162.60072,2015-01-01 00:27:09,bin1629,75, +abc,1630,1630,1630,1974-06-19,162.69999999999504,162.70073,2015-01-01 00:27:10,bin1630,35, +abc,1631,1631,1631,1974-06-20,162.79999999999504,162.80074,2015-01-01 00:27:11,bin1631,75, +abc,1632,1632,1632,1974-06-21,162.89999999999503,162.90074,2015-01-01 00:27:12,bin1632,35, +abc,1633,1633,1633,1974-06-22,162.99999999999503,163.00075,2015-01-01 00:27:13,bin1633,75, +abc,1634,1634,1634,1974-06-23,163.09999999999502,163.10075,2015-01-01 00:27:14,bin1634,35, +abc,1635,1635,1635,1974-06-24,163.19999999999501,163.20076,2015-01-01 00:27:15,bin1635,75, +abc,1636,1636,1636,1974-06-25,163.299999999995,163.30077,2015-01-01 00:27:16,bin1636,35, +abc,1637,1637,1637,1974-06-26,163.399999999995,163.40077,2015-01-01 00:27:17,bin1637,75, +abc,1638,1638,1638,1974-06-27,163.499999999995,163.50078,2015-01-01 00:27:18,bin1638,35, +abc,1639,1639,1639,1974-06-28,163.599999999995,163.60078,2015-01-01 00:27:19,bin1639,75, +abc,1640,1640,1640,1974-06-29,163.699999999995,163.70079,2015-01-01 00:27:20,bin1640,35, +abc,1641,1641,1641,1974-06-30,163.79999999999498,163.8008,2015-01-01 00:27:21,bin1641,75, +abc,1642,1642,1642,1974-07-01,163.89999999999498,163.9008,2015-01-01 00:27:22,bin1642,35, +abc,1643,1643,1643,1974-07-02,163.99999999999497,164.00081,2015-01-01 00:27:23,bin1643,75, +abc,1644,1644,1644,1974-07-03,164.09999999999496,164.10081,2015-01-01 00:27:24,bin1644,35, +abc,1645,1645,1645,1974-07-04,164.19999999999496,164.20082,2015-01-01 00:27:25,bin1645,75, +abc,1646,1646,1646,1974-07-05,164.29999999999495,164.30083,2015-01-01 00:27:26,bin1646,35, +abc,1647,1647,1647,1974-07-06,164.39999999999495,164.40083,2015-01-01 00:27:27,bin1647,75, +abc,1648,1648,1648,1974-07-07,164.49999999999494,164.50084,2015-01-01 00:27:28,bin1648,35, +abc,1649,1649,1649,1974-07-08,164.59999999999494,164.60085,2015-01-01 00:27:29,bin1649,75, +abc,1650,1650,1650,1974-07-09,164.69999999999493,164.70085,2015-01-01 00:27:30,bin1650,35, +abc,1651,1651,1651,1974-07-10,164.79999999999492,164.80086,2015-01-01 00:27:31,bin1651,75, +abc,1652,1652,1652,1974-07-11,164.89999999999492,164.90086,2015-01-01 00:27:32,bin1652,35, +abc,1653,1653,1653,1974-07-12,164.9999999999949,165.00087,2015-01-01 00:27:33,bin1653,75, +abc,1654,1654,1654,1974-07-13,165.0999999999949,165.10088,2015-01-01 00:27:34,bin1654,35, +abc,1655,1655,1655,1974-07-14,165.1999999999949,165.20088,2015-01-01 00:27:35,bin1655,75, +abc,1656,1656,1656,1974-07-15,165.2999999999949,165.30089,2015-01-01 00:27:36,bin1656,35, +abc,1657,1657,1657,1974-07-16,165.3999999999949,165.4009,2015-01-01 00:27:37,bin1657,75, +abc,1658,1658,1658,1974-07-17,165.49999999999488,165.5009,2015-01-01 00:27:38,bin1658,35, +abc,1659,1659,1659,1974-07-18,165.59999999999488,165.6009,2015-01-01 00:27:39,bin1659,75, +abc,1660,1660,1660,1974-07-19,165.69999999999487,165.70091,2015-01-01 00:27:40,bin1660,35, +abc,1661,1661,1661,1974-07-20,165.79999999999487,165.80092,2015-01-01 00:27:41,bin1661,75, +abc,1662,1662,1662,1974-07-21,165.89999999999486,165.90092,2015-01-01 00:27:42,bin1662,35, +abc,1663,1663,1663,1974-07-22,165.99999999999486,166.00093,2015-01-01 00:27:43,bin1663,75, +abc,1664,1664,1664,1974-07-23,166.09999999999485,166.10094,2015-01-01 00:27:44,bin1664,35, +abc,1665,1665,1665,1974-07-24,166.19999999999484,166.20094,2015-01-01 00:27:45,bin1665,75, +abc,1666,1666,1666,1974-07-25,166.29999999999484,166.30095,2015-01-01 00:27:46,bin1666,35, +abc,1667,1667,1667,1974-07-26,166.39999999999483,166.40096,2015-01-01 00:27:47,bin1667,75, +abc,1668,1668,1668,1974-07-27,166.49999999999483,166.50096,2015-01-01 00:27:48,bin1668,35, +abc,1669,1669,1669,1974-07-28,166.59999999999482,166.60097,2015-01-01 00:27:49,bin1669,75, +abc,1670,1670,1670,1974-07-29,166.69999999999482,166.70097,2015-01-01 00:27:50,bin1670,35, +abc,1671,1671,1671,1974-07-30,166.7999999999948,166.80098,2015-01-01 00:27:51,bin1671,75, +abc,1672,1672,1672,1974-07-31,166.8999999999948,166.90099,2015-01-01 00:27:52,bin1672,35, +abc,1673,1673,1673,1974-08-01,166.9999999999948,167.00099,2015-01-01 00:27:53,bin1673,75, +abc,1674,1674,1674,1974-08-02,167.0999999999948,167.101,2015-01-01 00:27:54,bin1674,35, +abc,1675,1675,1675,1974-08-03,167.1999999999948,167.201,2015-01-01 00:27:55,bin1675,75, +abc,1676,1676,1676,1974-08-04,167.29999999999478,167.30101,2015-01-01 00:27:56,bin1676,35, +abc,1677,1677,1677,1974-08-05,167.39999999999478,167.40102,2015-01-01 00:27:57,bin1677,75, +abc,1678,1678,1678,1974-08-06,167.49999999999477,167.50102,2015-01-01 00:27:58,bin1678,35, +abc,1679,1679,1679,1974-08-07,167.59999999999476,167.60103,2015-01-01 00:27:59,bin1679,75, +abc,1680,1680,1680,1974-08-08,167.69999999999476,167.70103,2015-01-01 00:28:00,bin1680,35, +abc,1681,1681,1681,1974-08-09,167.79999999999475,167.80104,2015-01-01 00:28:01,bin1681,75, +abc,1682,1682,1682,1974-08-10,167.89999999999475,167.90105,2015-01-01 00:28:02,bin1682,35, +abc,1683,1683,1683,1974-08-11,167.99999999999474,168.00105,2015-01-01 00:28:03,bin1683,75, +abc,1684,1684,1684,1974-08-12,168.09999999999474,168.10106,2015-01-01 00:28:04,bin1684,35, +abc,1685,1685,1685,1974-08-13,168.19999999999473,168.20107,2015-01-01 00:28:05,bin1685,75, +abc,1686,1686,1686,1974-08-14,168.29999999999472,168.30107,2015-01-01 00:28:06,bin1686,35, +abc,1687,1687,1687,1974-08-15,168.39999999999472,168.40108,2015-01-01 00:28:07,bin1687,75, +abc,1688,1688,1688,1974-08-16,168.4999999999947,168.50108,2015-01-01 00:28:08,bin1688,35, +abc,1689,1689,1689,1974-08-17,168.5999999999947,168.60109,2015-01-01 00:28:09,bin1689,75, +abc,1690,1690,1690,1974-08-18,168.6999999999947,168.7011,2015-01-01 00:28:10,bin1690,35, +abc,1691,1691,1691,1974-08-19,168.7999999999947,168.8011,2015-01-01 00:28:11,bin1691,75, +abc,1692,1692,1692,1974-08-20,168.8999999999947,168.90111,2015-01-01 00:28:12,bin1692,35, +abc,1693,1693,1693,1974-08-21,168.99999999999469,169.00111,2015-01-01 00:28:13,bin1693,75, +abc,1694,1694,1694,1974-08-22,169.09999999999468,169.10112,2015-01-01 00:28:14,bin1694,35, +abc,1695,1695,1695,1974-08-23,169.19999999999467,169.20113,2015-01-01 00:28:15,bin1695,75, +abc,1696,1696,1696,1974-08-24,169.29999999999467,169.30113,2015-01-01 00:28:16,bin1696,35, +abc,1697,1697,1697,1974-08-25,169.39999999999466,169.40114,2015-01-01 00:28:17,bin1697,75, +abc,1698,1698,1698,1974-08-26,169.49999999999466,169.50114,2015-01-01 00:28:18,bin1698,35, +abc,1699,1699,1699,1974-08-27,169.59999999999465,169.60115,2015-01-01 00:28:19,bin1699,75, +abc,1700,1700,1700,1974-08-28,169.69999999999465,169.70116,2015-01-01 00:28:20,bin1700,35, +abc,1701,1701,1701,1974-08-29,169.79999999999464,169.80116,2015-01-01 00:28:21,bin1701,75, +abc,1702,1702,1702,1974-08-30,169.89999999999463,169.90117,2015-01-01 00:28:22,bin1702,35, +abc,1703,1703,1703,1974-08-31,169.99999999999463,170.00117,2015-01-01 00:28:23,bin1703,75, +abc,1704,1704,1704,1974-09-01,170.09999999999462,170.10118,2015-01-01 00:28:24,bin1704,35, +abc,1705,1705,1705,1974-09-02,170.19999999999462,170.20119,2015-01-01 00:28:25,bin1705,75, +abc,1706,1706,1706,1974-09-03,170.2999999999946,170.3012,2015-01-01 00:28:26,bin1706,35, +abc,1707,1707,1707,1974-09-04,170.3999999999946,170.4012,2015-01-01 00:28:27,bin1707,75, +abc,1708,1708,1708,1974-09-05,170.4999999999946,170.5012,2015-01-01 00:28:28,bin1708,35, +abc,1709,1709,1709,1974-09-06,170.5999999999946,170.60121,2015-01-01 00:28:29,bin1709,75, +abc,1710,1710,1710,1974-09-07,170.6999999999946,170.70122,2015-01-01 00:28:30,bin1710,35, +abc,1711,1711,1711,1974-09-08,170.79999999999458,170.80122,2015-01-01 00:28:31,bin1711,75, +abc,1712,1712,1712,1974-09-09,170.89999999999458,170.90123,2015-01-01 00:28:32,bin1712,35, +abc,1713,1713,1713,1974-09-10,170.99999999999457,171.00124,2015-01-01 00:28:33,bin1713,75, +abc,1714,1714,1714,1974-09-11,171.09999999999457,171.10124,2015-01-01 00:28:34,bin1714,35, +abc,1715,1715,1715,1974-09-12,171.19999999999456,171.20125,2015-01-01 00:28:35,bin1715,75, +abc,1716,1716,1716,1974-09-13,171.29999999999455,171.30125,2015-01-01 00:28:36,bin1716,35, +abc,1717,1717,1717,1974-09-14,171.39999999999455,171.40126,2015-01-01 00:28:37,bin1717,75, +abc,1718,1718,1718,1974-09-15,171.49999999999454,171.50127,2015-01-01 00:28:38,bin1718,35, +abc,1719,1719,1719,1974-09-16,171.59999999999454,171.60127,2015-01-01 00:28:39,bin1719,75, +abc,1720,1720,1720,1974-09-17,171.69999999999453,171.70128,2015-01-01 00:28:40,bin1720,35, +abc,1721,1721,1721,1974-09-18,171.79999999999453,171.80128,2015-01-01 00:28:41,bin1721,75, +abc,1722,1722,1722,1974-09-19,171.89999999999452,171.90129,2015-01-01 00:28:42,bin1722,35, +abc,1723,1723,1723,1974-09-20,171.99999999999451,172.0013,2015-01-01 00:28:43,bin1723,75, +abc,1724,1724,1724,1974-09-21,172.0999999999945,172.1013,2015-01-01 00:28:44,bin1724,35, +abc,1725,1725,1725,1974-09-22,172.1999999999945,172.20131,2015-01-01 00:28:45,bin1725,75, +abc,1726,1726,1726,1974-09-23,172.2999999999945,172.30132,2015-01-01 00:28:46,bin1726,35, +abc,1727,1727,1727,1974-09-24,172.3999999999945,172.40132,2015-01-01 00:28:47,bin1727,75, +abc,1728,1728,1728,1974-09-25,172.4999999999945,172.50133,2015-01-01 00:28:48,bin1728,35, +abc,1729,1729,1729,1974-09-26,172.59999999999448,172.60133,2015-01-01 00:28:49,bin1729,75, +abc,1730,1730,1730,1974-09-27,172.69999999999447,172.70134,2015-01-01 00:28:50,bin1730,35, +abc,1731,1731,1731,1974-09-28,172.79999999999447,172.80135,2015-01-01 00:28:51,bin1731,75, +abc,1732,1732,1732,1974-09-29,172.89999999999446,172.90135,2015-01-01 00:28:52,bin1732,35, +abc,1733,1733,1733,1974-09-30,172.99999999999446,173.00136,2015-01-01 00:28:53,bin1733,75, +abc,1734,1734,1734,1974-10-01,173.09999999999445,173.10136,2015-01-01 00:28:54,bin1734,35, +abc,1735,1735,1735,1974-10-02,173.19999999999445,173.20137,2015-01-01 00:28:55,bin1735,75, +abc,1736,1736,1736,1974-10-03,173.29999999999444,173.30138,2015-01-01 00:28:56,bin1736,35, +abc,1737,1737,1737,1974-10-04,173.39999999999444,173.40138,2015-01-01 00:28:57,bin1737,75, +abc,1738,1738,1738,1974-10-05,173.49999999999443,173.50139,2015-01-01 00:28:58,bin1738,35, +abc,1739,1739,1739,1974-10-06,173.59999999999442,173.6014,2015-01-01 00:28:59,bin1739,75, +abc,1740,1740,1740,1974-10-07,173.69999999999442,173.7014,2015-01-01 00:29:00,bin1740,35, +abc,1741,1741,1741,1974-10-08,173.7999999999944,173.8014,2015-01-01 00:29:01,bin1741,75, +abc,1742,1742,1742,1974-10-09,173.8999999999944,173.90141,2015-01-01 00:29:02,bin1742,35, +abc,1743,1743,1743,1974-10-10,173.9999999999944,174.00142,2015-01-01 00:29:03,bin1743,75, +abc,1744,1744,1744,1974-10-11,174.0999999999944,174.10143,2015-01-01 00:29:04,bin1744,35, +abc,1745,1745,1745,1974-10-12,174.1999999999944,174.20143,2015-01-01 00:29:05,bin1745,75, +abc,1746,1746,1746,1974-10-13,174.29999999999438,174.30144,2015-01-01 00:29:06,bin1746,35, +abc,1747,1747,1747,1974-10-14,174.39999999999438,174.40144,2015-01-01 00:29:07,bin1747,75, +abc,1748,1748,1748,1974-10-15,174.49999999999437,174.50145,2015-01-01 00:29:08,bin1748,35, +abc,1749,1749,1749,1974-10-16,174.59999999999437,174.60146,2015-01-01 00:29:09,bin1749,75, +abc,1750,1750,1750,1974-10-17,174.69999999999436,174.70146,2015-01-01 00:29:10,bin1750,35, +abc,1751,1751,1751,1974-10-18,174.79999999999436,174.80147,2015-01-01 00:29:11,bin1751,75, +abc,1752,1752,1752,1974-10-19,174.89999999999435,174.90147,2015-01-01 00:29:12,bin1752,35, +abc,1753,1753,1753,1974-10-20,174.99999999999434,175.00148,2015-01-01 00:29:13,bin1753,75, +abc,1754,1754,1754,1974-10-21,175.09999999999434,175.10149,2015-01-01 00:29:14,bin1754,35, +abc,1755,1755,1755,1974-10-22,175.19999999999433,175.20149,2015-01-01 00:29:15,bin1755,75, +abc,1756,1756,1756,1974-10-23,175.29999999999433,175.3015,2015-01-01 00:29:16,bin1756,35, +abc,1757,1757,1757,1974-10-24,175.39999999999432,175.4015,2015-01-01 00:29:17,bin1757,75, +abc,1758,1758,1758,1974-10-25,175.49999999999432,175.50151,2015-01-01 00:29:18,bin1758,35, +abc,1759,1759,1759,1974-10-26,175.5999999999943,175.60152,2015-01-01 00:29:19,bin1759,75, +abc,1760,1760,1760,1974-10-27,175.6999999999943,175.70152,2015-01-01 00:29:20,bin1760,35, +abc,1761,1761,1761,1974-10-28,175.7999999999943,175.80153,2015-01-01 00:29:21,bin1761,75, +abc,1762,1762,1762,1974-10-29,175.8999999999943,175.90154,2015-01-01 00:29:22,bin1762,35, +abc,1763,1763,1763,1974-10-30,175.9999999999943,176.00154,2015-01-01 00:29:23,bin1763,75, +abc,1764,1764,1764,1974-10-31,176.09999999999428,176.10155,2015-01-01 00:29:24,bin1764,35, +abc,1765,1765,1765,1974-11-01,176.19999999999428,176.20155,2015-01-01 00:29:25,bin1765,75, +abc,1766,1766,1766,1974-11-02,176.29999999999427,176.30156,2015-01-01 00:29:26,bin1766,35, +abc,1767,1767,1767,1974-11-03,176.39999999999426,176.40157,2015-01-01 00:29:27,bin1767,75, +abc,1768,1768,1768,1974-11-04,176.49999999999426,176.50157,2015-01-01 00:29:28,bin1768,35, +abc,1769,1769,1769,1974-11-05,176.59999999999425,176.60158,2015-01-01 00:29:29,bin1769,75, +abc,1770,1770,1770,1974-11-06,176.69999999999425,176.70158,2015-01-01 00:29:30,bin1770,35, +abc,1771,1771,1771,1974-11-07,176.79999999999424,176.80159,2015-01-01 00:29:31,bin1771,75, +abc,1772,1772,1772,1974-11-08,176.89999999999424,176.9016,2015-01-01 00:29:32,bin1772,35, +abc,1773,1773,1773,1974-11-09,176.99999999999423,177.0016,2015-01-01 00:29:33,bin1773,75, +abc,1774,1774,1774,1974-11-10,177.09999999999422,177.10161,2015-01-01 00:29:34,bin1774,35, +abc,1775,1775,1775,1974-11-11,177.19999999999422,177.20161,2015-01-01 00:29:35,bin1775,75, +abc,1776,1776,1776,1974-11-12,177.2999999999942,177.30162,2015-01-01 00:29:36,bin1776,35, +abc,1777,1777,1777,1974-11-13,177.3999999999942,177.40163,2015-01-01 00:29:37,bin1777,75, +abc,1778,1778,1778,1974-11-14,177.4999999999942,177.50163,2015-01-01 00:29:38,bin1778,35, +abc,1779,1779,1779,1974-11-15,177.5999999999942,177.60164,2015-01-01 00:29:39,bin1779,75, +abc,1780,1780,1780,1974-11-16,177.6999999999942,177.70164,2015-01-01 00:29:40,bin1780,35, +abc,1781,1781,1781,1974-11-17,177.79999999999418,177.80165,2015-01-01 00:29:41,bin1781,75, +abc,1782,1782,1782,1974-11-18,177.89999999999418,177.90166,2015-01-01 00:29:42,bin1782,35, +abc,1783,1783,1783,1974-11-19,177.99999999999417,178.00166,2015-01-01 00:29:43,bin1783,75, +abc,1784,1784,1784,1974-11-20,178.09999999999417,178.10167,2015-01-01 00:29:44,bin1784,35, +abc,1785,1785,1785,1974-11-21,178.19999999999416,178.20168,2015-01-01 00:29:45,bin1785,75, +abc,1786,1786,1786,1974-11-22,178.29999999999416,178.30168,2015-01-01 00:29:46,bin1786,35, +abc,1787,1787,1787,1974-11-23,178.39999999999415,178.40169,2015-01-01 00:29:47,bin1787,75, +abc,1788,1788,1788,1974-11-24,178.49999999999415,178.5017,2015-01-01 00:29:48,bin1788,35, +abc,1789,1789,1789,1974-11-25,178.59999999999414,178.6017,2015-01-01 00:29:49,bin1789,75, +abc,1790,1790,1790,1974-11-26,178.69999999999413,178.7017,2015-01-01 00:29:50,bin1790,35, +abc,1791,1791,1791,1974-11-27,178.79999999999413,178.80171,2015-01-01 00:29:51,bin1791,75, +abc,1792,1792,1792,1974-11-28,178.89999999999412,178.90172,2015-01-01 00:29:52,bin1792,35, +abc,1793,1793,1793,1974-11-29,178.99999999999412,179.00172,2015-01-01 00:29:53,bin1793,75, +abc,1794,1794,1794,1974-11-30,179.0999999999941,179.10173,2015-01-01 00:29:54,bin1794,35, +abc,1795,1795,1795,1974-12-01,179.1999999999941,179.20174,2015-01-01 00:29:55,bin1795,75, +abc,1796,1796,1796,1974-12-02,179.2999999999941,179.30174,2015-01-01 00:29:56,bin1796,35, +abc,1797,1797,1797,1974-12-03,179.3999999999941,179.40175,2015-01-01 00:29:57,bin1797,75, +abc,1798,1798,1798,1974-12-04,179.4999999999941,179.50175,2015-01-01 00:29:58,bin1798,35, +abc,1799,1799,1799,1974-12-05,179.59999999999408,179.60176,2015-01-01 00:29:59,bin1799,75, +abc,1800,1800,1800,1974-12-06,179.69999999999408,179.70177,2015-01-01 00:30:00,bin1800,35, +abc,1801,1801,1801,1974-12-07,179.79999999999407,179.80177,2015-01-01 00:30:01,bin1801,75, +abc,1802,1802,1802,1974-12-08,179.89999999999407,179.90178,2015-01-01 00:30:02,bin1802,35, +abc,1803,1803,1803,1974-12-09,179.99999999999406,180.00179,2015-01-01 00:30:03,bin1803,75, +abc,1804,1804,1804,1974-12-10,180.09999999999405,180.10179,2015-01-01 00:30:04,bin1804,35, +abc,1805,1805,1805,1974-12-11,180.19999999999405,180.2018,2015-01-01 00:30:05,bin1805,75, +abc,1806,1806,1806,1974-12-12,180.29999999999404,180.3018,2015-01-01 00:30:06,bin1806,35, +abc,1807,1807,1807,1974-12-13,180.39999999999404,180.40181,2015-01-01 00:30:07,bin1807,75, +abc,1808,1808,1808,1974-12-14,180.49999999999403,180.50182,2015-01-01 00:30:08,bin1808,35, +abc,1809,1809,1809,1974-12-15,180.59999999999403,180.60182,2015-01-01 00:30:09,bin1809,75, +abc,1810,1810,1810,1974-12-16,180.69999999999402,180.70183,2015-01-01 00:30:10,bin1810,35, +abc,1811,1811,1811,1974-12-17,180.79999999999401,180.80183,2015-01-01 00:30:11,bin1811,75, +abc,1812,1812,1812,1974-12-18,180.899999999994,180.90184,2015-01-01 00:30:12,bin1812,35, +abc,1813,1813,1813,1974-12-19,180.999999999994,181.00185,2015-01-01 00:30:13,bin1813,75, +abc,1814,1814,1814,1974-12-20,181.099999999994,181.10185,2015-01-01 00:30:14,bin1814,35, +abc,1815,1815,1815,1974-12-21,181.199999999994,181.20186,2015-01-01 00:30:15,bin1815,75, +abc,1816,1816,1816,1974-12-22,181.299999999994,181.30186,2015-01-01 00:30:16,bin1816,35, +abc,1817,1817,1817,1974-12-23,181.39999999999398,181.40187,2015-01-01 00:30:17,bin1817,75, +abc,1818,1818,1818,1974-12-24,181.49999999999397,181.50188,2015-01-01 00:30:18,bin1818,35, +abc,1819,1819,1819,1974-12-25,181.59999999999397,181.60188,2015-01-01 00:30:19,bin1819,75, +abc,1820,1820,1820,1974-12-26,181.69999999999396,181.70189,2015-01-01 00:30:20,bin1820,35, +abc,1821,1821,1821,1974-12-27,181.79999999999396,181.8019,2015-01-01 00:30:21,bin1821,75, +abc,1822,1822,1822,1974-12-28,181.89999999999395,181.9019,2015-01-01 00:30:22,bin1822,35, +abc,1823,1823,1823,1974-12-29,181.99999999999395,182.0019,2015-01-01 00:30:23,bin1823,75, +abc,1824,1824,1824,1974-12-30,182.09999999999394,182.10191,2015-01-01 00:30:24,bin1824,35, +abc,1825,1825,1825,1974-12-31,182.19999999999393,182.20192,2015-01-01 00:30:25,bin1825,75, +abc,1826,1826,1826,1975-01-01,182.29999999999393,182.30193,2015-01-01 00:30:26,bin1826,35, +abc,1827,1827,1827,1975-01-02,182.39999999999392,182.40193,2015-01-01 00:30:27,bin1827,75, +abc,1828,1828,1828,1975-01-03,182.49999999999392,182.50194,2015-01-01 00:30:28,bin1828,35, +abc,1829,1829,1829,1975-01-04,182.5999999999939,182.60194,2015-01-01 00:30:29,bin1829,75, +abc,1830,1830,1830,1975-01-05,182.6999999999939,182.70195,2015-01-01 00:30:30,bin1830,35, +abc,1831,1831,1831,1975-01-06,182.7999999999939,182.80196,2015-01-01 00:30:31,bin1831,75, +abc,1832,1832,1832,1975-01-07,182.8999999999939,182.90196,2015-01-01 00:30:32,bin1832,35, +abc,1833,1833,1833,1975-01-08,182.9999999999939,183.00197,2015-01-01 00:30:33,bin1833,75, +abc,1834,1834,1834,1975-01-09,183.09999999999388,183.10197,2015-01-01 00:30:34,bin1834,35, +abc,1835,1835,1835,1975-01-10,183.19999999999388,183.20198,2015-01-01 00:30:35,bin1835,75, +abc,1836,1836,1836,1975-01-11,183.29999999999387,183.30199,2015-01-01 00:30:36,bin1836,35, +abc,1837,1837,1837,1975-01-12,183.39999999999387,183.402,2015-01-01 00:30:37,bin1837,75, +abc,1838,1838,1838,1975-01-13,183.49999999999386,183.502,2015-01-01 00:30:38,bin1838,35, +abc,1839,1839,1839,1975-01-14,183.59999999999386,183.602,2015-01-01 00:30:39,bin1839,75, +abc,1840,1840,1840,1975-01-15,183.69999999999385,183.70201,2015-01-01 00:30:40,bin1840,35, +abc,1841,1841,1841,1975-01-16,183.79999999999384,183.80202,2015-01-01 00:30:41,bin1841,75, +abc,1842,1842,1842,1975-01-17,183.89999999999384,183.90202,2015-01-01 00:30:42,bin1842,35, +abc,1843,1843,1843,1975-01-18,183.99999999999383,184.00203,2015-01-01 00:30:43,bin1843,75, +abc,1844,1844,1844,1975-01-19,184.09999999999383,184.10204,2015-01-01 00:30:44,bin1844,35, +abc,1845,1845,1845,1975-01-20,184.19999999999382,184.20204,2015-01-01 00:30:45,bin1845,75, +abc,1846,1846,1846,1975-01-21,184.29999999999382,184.30205,2015-01-01 00:30:46,bin1846,35, +abc,1847,1847,1847,1975-01-22,184.3999999999938,184.40205,2015-01-01 00:30:47,bin1847,75, +abc,1848,1848,1848,1975-01-23,184.4999999999938,184.50206,2015-01-01 00:30:48,bin1848,35, +abc,1849,1849,1849,1975-01-24,184.5999999999938,184.60207,2015-01-01 00:30:49,bin1849,75, +abc,1850,1850,1850,1975-01-25,184.6999999999938,184.70207,2015-01-01 00:30:50,bin1850,35, +abc,1851,1851,1851,1975-01-26,184.7999999999938,184.80208,2015-01-01 00:30:51,bin1851,75, +abc,1852,1852,1852,1975-01-27,184.89999999999378,184.90208,2015-01-01 00:30:52,bin1852,35, +abc,1853,1853,1853,1975-01-28,184.99999999999378,185.00209,2015-01-01 00:30:53,bin1853,75, +abc,1854,1854,1854,1975-01-29,185.09999999999377,185.1021,2015-01-01 00:30:54,bin1854,35, +abc,1855,1855,1855,1975-01-30,185.19999999999376,185.2021,2015-01-01 00:30:55,bin1855,75, +abc,1856,1856,1856,1975-01-31,185.29999999999376,185.30211,2015-01-01 00:30:56,bin1856,35, +abc,1857,1857,1857,1975-02-01,185.39999999999375,185.40211,2015-01-01 00:30:57,bin1857,75, +abc,1858,1858,1858,1975-02-02,185.49999999999375,185.50212,2015-01-01 00:30:58,bin1858,35, +abc,1859,1859,1859,1975-02-03,185.59999999999374,185.60213,2015-01-01 00:30:59,bin1859,75, +abc,1860,1860,1860,1975-02-04,185.69999999999374,185.70213,2015-01-01 00:31:00,bin1860,35, +abc,1861,1861,1861,1975-02-05,185.79999999999373,185.80214,2015-01-01 00:31:01,bin1861,75, +abc,1862,1862,1862,1975-02-06,185.89999999999372,185.90215,2015-01-01 00:31:02,bin1862,35, +abc,1863,1863,1863,1975-02-07,185.99999999999372,186.00215,2015-01-01 00:31:03,bin1863,75, +abc,1864,1864,1864,1975-02-08,186.0999999999937,186.10216,2015-01-01 00:31:04,bin1864,35, +abc,1865,1865,1865,1975-02-09,186.1999999999937,186.20216,2015-01-01 00:31:05,bin1865,75, +abc,1866,1866,1866,1975-02-10,186.2999999999937,186.30217,2015-01-01 00:31:06,bin1866,35, +abc,1867,1867,1867,1975-02-11,186.3999999999937,186.40218,2015-01-01 00:31:07,bin1867,75, +abc,1868,1868,1868,1975-02-12,186.4999999999937,186.50218,2015-01-01 00:31:08,bin1868,35, +abc,1869,1869,1869,1975-02-13,186.59999999999368,186.60219,2015-01-01 00:31:09,bin1869,75, +abc,1870,1870,1870,1975-02-14,186.69999999999368,186.7022,2015-01-01 00:31:10,bin1870,35, +abc,1871,1871,1871,1975-02-15,186.79999999999367,186.8022,2015-01-01 00:31:11,bin1871,75, +abc,1872,1872,1872,1975-02-16,186.89999999999367,186.9022,2015-01-01 00:31:12,bin1872,35, +abc,1873,1873,1873,1975-02-17,186.99999999999366,187.00221,2015-01-01 00:31:13,bin1873,75, +abc,1874,1874,1874,1975-02-18,187.09999999999366,187.10222,2015-01-01 00:31:14,bin1874,35, +abc,1875,1875,1875,1975-02-19,187.19999999999365,187.20222,2015-01-01 00:31:15,bin1875,75, +abc,1876,1876,1876,1975-02-20,187.29999999999364,187.30223,2015-01-01 00:31:16,bin1876,35, +abc,1877,1877,1877,1975-02-21,187.39999999999364,187.40224,2015-01-01 00:31:17,bin1877,75, +abc,1878,1878,1878,1975-02-22,187.49999999999363,187.50224,2015-01-01 00:31:18,bin1878,35, +abc,1879,1879,1879,1975-02-23,187.59999999999363,187.60225,2015-01-01 00:31:19,bin1879,75, +abc,1880,1880,1880,1975-02-24,187.69999999999362,187.70226,2015-01-01 00:31:20,bin1880,35, +abc,1881,1881,1881,1975-02-25,187.79999999999362,187.80226,2015-01-01 00:31:21,bin1881,75, +abc,1882,1882,1882,1975-02-26,187.8999999999936,187.90227,2015-01-01 00:31:22,bin1882,35, +abc,1883,1883,1883,1975-02-27,187.9999999999936,188.00227,2015-01-01 00:31:23,bin1883,75, +abc,1884,1884,1884,1975-02-28,188.0999999999936,188.10228,2015-01-01 00:31:24,bin1884,35, +abc,1885,1885,1885,1975-03-01,188.1999999999936,188.20229,2015-01-01 00:31:25,bin1885,75, +abc,1886,1886,1886,1975-03-02,188.2999999999936,188.30229,2015-01-01 00:31:26,bin1886,35, +abc,1887,1887,1887,1975-03-03,188.39999999999358,188.4023,2015-01-01 00:31:27,bin1887,75, +abc,1888,1888,1888,1975-03-04,188.49999999999358,188.5023,2015-01-01 00:31:28,bin1888,35, +abc,1889,1889,1889,1975-03-05,188.59999999999357,188.60231,2015-01-01 00:31:29,bin1889,75, +abc,1890,1890,1890,1975-03-06,188.69999999999357,188.70232,2015-01-01 00:31:30,bin1890,35, +abc,1891,1891,1891,1975-03-07,188.79999999999356,188.80232,2015-01-01 00:31:31,bin1891,75, +abc,1892,1892,1892,1975-03-08,188.89999999999355,188.90233,2015-01-01 00:31:32,bin1892,35, +abc,1893,1893,1893,1975-03-09,188.99999999999355,189.00233,2015-01-01 00:31:33,bin1893,75, +abc,1894,1894,1894,1975-03-10,189.09999999999354,189.10234,2015-01-01 00:31:34,bin1894,35, +abc,1895,1895,1895,1975-03-11,189.19999999999354,189.20235,2015-01-01 00:31:35,bin1895,75, +abc,1896,1896,1896,1975-03-12,189.29999999999353,189.30235,2015-01-01 00:31:36,bin1896,35, +abc,1897,1897,1897,1975-03-13,189.39999999999353,189.40236,2015-01-01 00:31:37,bin1897,75, +abc,1898,1898,1898,1975-03-14,189.49999999999352,189.50237,2015-01-01 00:31:38,bin1898,35, +abc,1899,1899,1899,1975-03-15,189.5999999999935,189.60237,2015-01-01 00:31:39,bin1899,75, +abc,1900,1900,1900,1975-03-16,189.6999999999935,189.70238,2015-01-01 00:31:40,bin1900,35, +abc,1901,1901,1901,1975-03-17,189.7999999999935,189.80238,2015-01-01 00:31:41,bin1901,75, +abc,1902,1902,1902,1975-03-18,189.8999999999935,189.90239,2015-01-01 00:31:42,bin1902,35, +abc,1903,1903,1903,1975-03-19,189.9999999999935,190.0024,2015-01-01 00:31:43,bin1903,75, +abc,1904,1904,1904,1975-03-20,190.09999999999349,190.1024,2015-01-01 00:31:44,bin1904,35, +abc,1905,1905,1905,1975-03-21,190.19999999999348,190.20241,2015-01-01 00:31:45,bin1905,75, +abc,1906,1906,1906,1975-03-22,190.29999999999347,190.30241,2015-01-01 00:31:46,bin1906,35, +abc,1907,1907,1907,1975-03-23,190.39999999999347,190.40242,2015-01-01 00:31:47,bin1907,75, +abc,1908,1908,1908,1975-03-24,190.49999999999346,190.50243,2015-01-01 00:31:48,bin1908,35, +abc,1909,1909,1909,1975-03-25,190.59999999999346,190.60243,2015-01-01 00:31:49,bin1909,75, +abc,1910,1910,1910,1975-03-26,190.69999999999345,190.70244,2015-01-01 00:31:50,bin1910,35, +abc,1911,1911,1911,1975-03-27,190.79999999999345,190.80244,2015-01-01 00:31:51,bin1911,75, +abc,1912,1912,1912,1975-03-28,190.89999999999344,190.90245,2015-01-01 00:31:52,bin1912,35, +abc,1913,1913,1913,1975-03-29,190.99999999999343,191.00246,2015-01-01 00:31:53,bin1913,75, +abc,1914,1914,1914,1975-03-30,191.09999999999343,191.10246,2015-01-01 00:31:54,bin1914,35, +abc,1915,1915,1915,1975-03-31,191.19999999999342,191.20247,2015-01-01 00:31:55,bin1915,75, +abc,1916,1916,1916,1975-04-01,191.29999999999342,191.30247,2015-01-01 00:31:56,bin1916,35, +abc,1917,1917,1917,1975-04-02,191.3999999999934,191.40248,2015-01-01 00:31:57,bin1917,75, +abc,1918,1918,1918,1975-04-03,191.4999999999934,191.50249,2015-01-01 00:31:58,bin1918,35, +abc,1919,1919,1919,1975-04-04,191.5999999999934,191.6025,2015-01-01 00:31:59,bin1919,75, +abc,1920,1920,1920,1975-04-05,191.6999999999934,191.7025,2015-01-01 00:32:00,bin1920,35, +abc,1921,1921,1921,1975-04-06,191.7999999999934,191.8025,2015-01-01 00:32:01,bin1921,75, +abc,1922,1922,1922,1975-04-07,191.89999999999338,191.90251,2015-01-01 00:32:02,bin1922,35, +abc,1923,1923,1923,1975-04-08,191.99999999999338,192.00252,2015-01-01 00:32:03,bin1923,75, +abc,1924,1924,1924,1975-04-09,192.09999999999337,192.10252,2015-01-01 00:32:04,bin1924,35, +abc,1925,1925,1925,1975-04-10,192.19999999999337,192.20253,2015-01-01 00:32:05,bin1925,75, +abc,1926,1926,1926,1975-04-11,192.29999999999336,192.30254,2015-01-01 00:32:06,bin1926,35, +abc,1927,1927,1927,1975-04-12,192.39999999999336,192.40254,2015-01-01 00:32:07,bin1927,75, +abc,1928,1928,1928,1975-04-13,192.49999999999335,192.50255,2015-01-01 00:32:08,bin1928,35, +abc,1929,1929,1929,1975-04-14,192.59999999999334,192.60255,2015-01-01 00:32:09,bin1929,75, +abc,1930,1930,1930,1975-04-15,192.69999999999334,192.70256,2015-01-01 00:32:10,bin1930,35, +abc,1931,1931,1931,1975-04-16,192.79999999999333,192.80257,2015-01-01 00:32:11,bin1931,75, +abc,1932,1932,1932,1975-04-17,192.89999999999333,192.90257,2015-01-01 00:32:12,bin1932,35, +abc,1933,1933,1933,1975-04-18,192.99999999999332,193.00258,2015-01-01 00:32:13,bin1933,75, +abc,1934,1934,1934,1975-04-19,193.09999999999332,193.10258,2015-01-01 00:32:14,bin1934,35, +abc,1935,1935,1935,1975-04-20,193.1999999999933,193.20259,2015-01-01 00:32:15,bin1935,75, +abc,1936,1936,1936,1975-04-21,193.2999999999933,193.3026,2015-01-01 00:32:16,bin1936,35, +abc,1937,1937,1937,1975-04-22,193.3999999999933,193.4026,2015-01-01 00:32:17,bin1937,75, +abc,1938,1938,1938,1975-04-23,193.4999999999933,193.50261,2015-01-01 00:32:18,bin1938,35, +abc,1939,1939,1939,1975-04-24,193.5999999999933,193.60262,2015-01-01 00:32:19,bin1939,75, +abc,1940,1940,1940,1975-04-25,193.69999999999328,193.70262,2015-01-01 00:32:20,bin1940,35, +abc,1941,1941,1941,1975-04-26,193.79999999999328,193.80263,2015-01-01 00:32:21,bin1941,75, +abc,1942,1942,1942,1975-04-27,193.89999999999327,193.90263,2015-01-01 00:32:22,bin1942,35, +abc,1943,1943,1943,1975-04-28,193.99999999999326,194.00264,2015-01-01 00:32:23,bin1943,75, +abc,1944,1944,1944,1975-04-29,194.09999999999326,194.10265,2015-01-01 00:32:24,bin1944,35, +abc,1945,1945,1945,1975-04-30,194.19999999999325,194.20265,2015-01-01 00:32:25,bin1945,75, +abc,1946,1946,1946,1975-05-01,194.29999999999325,194.30266,2015-01-01 00:32:26,bin1946,35, +abc,1947,1947,1947,1975-05-02,194.39999999999324,194.40266,2015-01-01 00:32:27,bin1947,75, +abc,1948,1948,1948,1975-05-03,194.49999999999324,194.50267,2015-01-01 00:32:28,bin1948,35, +abc,1949,1949,1949,1975-05-04,194.59999999999323,194.60268,2015-01-01 00:32:29,bin1949,75, +abc,1950,1950,1950,1975-05-05,194.69999999999322,194.70268,2015-01-01 00:32:30,bin1950,35, +abc,1951,1951,1951,1975-05-06,194.79999999999322,194.80269,2015-01-01 00:32:31,bin1951,75, +abc,1952,1952,1952,1975-05-07,194.8999999999932,194.9027,2015-01-01 00:32:32,bin1952,35, +abc,1953,1953,1953,1975-05-08,194.9999999999932,195.0027,2015-01-01 00:32:33,bin1953,75, +abc,1954,1954,1954,1975-05-09,195.0999999999932,195.1027,2015-01-01 00:32:34,bin1954,35, +abc,1955,1955,1955,1975-05-10,195.1999999999932,195.20271,2015-01-01 00:32:35,bin1955,75, +abc,1956,1956,1956,1975-05-11,195.2999999999932,195.30272,2015-01-01 00:32:36,bin1956,35, +abc,1957,1957,1957,1975-05-12,195.39999999999318,195.40273,2015-01-01 00:32:37,bin1957,75, +abc,1958,1958,1958,1975-05-13,195.49999999999318,195.50273,2015-01-01 00:32:38,bin1958,35, +abc,1959,1959,1959,1975-05-14,195.59999999999317,195.60274,2015-01-01 00:32:39,bin1959,75, +abc,1960,1960,1960,1975-05-15,195.69999999999317,195.70274,2015-01-01 00:32:40,bin1960,35, +abc,1961,1961,1961,1975-05-16,195.79999999999316,195.80275,2015-01-01 00:32:41,bin1961,75, +abc,1962,1962,1962,1975-05-17,195.89999999999316,195.90276,2015-01-01 00:32:42,bin1962,35, +abc,1963,1963,1963,1975-05-18,195.99999999999315,196.00276,2015-01-01 00:32:43,bin1963,75, +abc,1964,1964,1964,1975-05-19,196.09999999999314,196.10277,2015-01-01 00:32:44,bin1964,35, +abc,1965,1965,1965,1975-05-20,196.19999999999314,196.20277,2015-01-01 00:32:45,bin1965,75, +abc,1966,1966,1966,1975-05-21,196.29999999999313,196.30278,2015-01-01 00:32:46,bin1966,35, +abc,1967,1967,1967,1975-05-22,196.39999999999313,196.40279,2015-01-01 00:32:47,bin1967,75, +abc,1968,1968,1968,1975-05-23,196.49999999999312,196.50279,2015-01-01 00:32:48,bin1968,35, +abc,1969,1969,1969,1975-05-24,196.59999999999312,196.6028,2015-01-01 00:32:49,bin1969,75, +abc,1970,1970,1970,1975-05-25,196.6999999999931,196.7028,2015-01-01 00:32:50,bin1970,35, +abc,1971,1971,1971,1975-05-26,196.7999999999931,196.80281,2015-01-01 00:32:51,bin1971,75, +abc,1972,1972,1972,1975-05-27,196.8999999999931,196.90282,2015-01-01 00:32:52,bin1972,35, +abc,1973,1973,1973,1975-05-28,196.9999999999931,197.00282,2015-01-01 00:32:53,bin1973,75, +abc,1974,1974,1974,1975-05-29,197.0999999999931,197.10283,2015-01-01 00:32:54,bin1974,35, +abc,1975,1975,1975,1975-05-30,197.19999999999308,197.20284,2015-01-01 00:32:55,bin1975,75, +abc,1976,1976,1976,1975-05-31,197.29999999999308,197.30284,2015-01-01 00:32:56,bin1976,35, +abc,1977,1977,1977,1975-06-01,197.39999999999307,197.40285,2015-01-01 00:32:57,bin1977,75, +abc,1978,1978,1978,1975-06-02,197.49999999999307,197.50285,2015-01-01 00:32:58,bin1978,35, +abc,1979,1979,1979,1975-06-03,197.59999999999306,197.60286,2015-01-01 00:32:59,bin1979,75, +abc,1980,1980,1980,1975-06-04,197.69999999999305,197.70287,2015-01-01 00:33:00,bin1980,35, +abc,1981,1981,1981,1975-06-05,197.79999999999305,197.80287,2015-01-01 00:33:01,bin1981,75, +abc,1982,1982,1982,1975-06-06,197.89999999999304,197.90288,2015-01-01 00:33:02,bin1982,35, +abc,1983,1983,1983,1975-06-07,197.99999999999304,198.00288,2015-01-01 00:33:03,bin1983,75, +abc,1984,1984,1984,1975-06-08,198.09999999999303,198.10289,2015-01-01 00:33:04,bin1984,35, +abc,1985,1985,1985,1975-06-09,198.19999999999303,198.2029,2015-01-01 00:33:05,bin1985,75, +abc,1986,1986,1986,1975-06-10,198.29999999999302,198.3029,2015-01-01 00:33:06,bin1986,35, +abc,1987,1987,1987,1975-06-11,198.399999999993,198.40291,2015-01-01 00:33:07,bin1987,75, +abc,1988,1988,1988,1975-06-12,198.499999999993,198.50291,2015-01-01 00:33:08,bin1988,35, +abc,1989,1989,1989,1975-06-13,198.599999999993,198.60292,2015-01-01 00:33:09,bin1989,75, +abc,1990,1990,1990,1975-06-14,198.699999999993,198.70293,2015-01-01 00:33:10,bin1990,35, +abc,1991,1991,1991,1975-06-15,198.799999999993,198.80293,2015-01-01 00:33:11,bin1991,75, +abc,1992,1992,1992,1975-06-16,198.89999999999299,198.90294,2015-01-01 00:33:12,bin1992,35, +abc,1993,1993,1993,1975-06-17,198.99999999999298,199.00294,2015-01-01 00:33:13,bin1993,75, +abc,1994,1994,1994,1975-06-18,199.09999999999297,199.10295,2015-01-01 00:33:14,bin1994,35, +abc,1995,1995,1995,1975-06-19,199.19999999999297,199.20296,2015-01-01 00:33:15,bin1995,75, +abc,1996,1996,1996,1975-06-20,199.29999999999296,199.30296,2015-01-01 00:33:16,bin1996,35, +abc,1997,1997,1997,1975-06-21,199.39999999999296,199.40297,2015-01-01 00:33:17,bin1997,75, +abc,1998,1998,1998,1975-06-22,199.49999999999295,199.50298,2015-01-01 00:33:18,bin1998,35, +abc,1999,1999,1999,1975-06-23,199.59999999999295,199.60298,2015-01-01 00:33:19,bin1999,75, +abc,2000,2000,2000,1975-06-24,199.69999999999294,199.70299,2015-01-01 00:33:20,bin2000,35, +abc,2001,2001,2001,1975-06-25,199.79999999999293,199.803,2015-01-01 00:33:21,bin2001,75, +abc,2002,2002,2002,1975-06-26,199.89999999999293,199.903,2015-01-01 00:33:22,bin2002,35, +abc,2003,2003,2003,1975-06-27,199.99999999999292,200.003,2015-01-01 00:33:23,bin2003,75, +abc,2004,2004,2004,1975-06-28,200.09999999999292,200.10301,2015-01-01 00:33:24,bin2004,35, +abc,2005,2005,2005,1975-06-29,200.1999999999929,200.20302,2015-01-01 00:33:25,bin2005,75, +abc,2006,2006,2006,1975-06-30,200.2999999999929,200.30302,2015-01-01 00:33:26,bin2006,35, +abc,2007,2007,2007,1975-07-01,200.3999999999929,200.40303,2015-01-01 00:33:27,bin2007,75, +abc,2008,2008,2008,1975-07-02,200.4999999999929,200.50304,2015-01-01 00:33:28,bin2008,35, +abc,2009,2009,2009,1975-07-03,200.5999999999929,200.60304,2015-01-01 00:33:29,bin2009,75, +abc,2010,2010,2010,1975-07-04,200.69999999999288,200.70305,2015-01-01 00:33:30,bin2010,35, +abc,2011,2011,2011,1975-07-05,200.79999999999288,200.80305,2015-01-01 00:33:31,bin2011,75, +abc,2012,2012,2012,1975-07-06,200.89999999999287,200.90306,2015-01-01 00:33:32,bin2012,35, +abc,2013,2013,2013,1975-07-07,200.99999999999287,201.00307,2015-01-01 00:33:33,bin2013,75, +abc,2014,2014,2014,1975-07-08,201.09999999999286,201.10307,2015-01-01 00:33:34,bin2014,35, +abc,2015,2015,2015,1975-07-09,201.19999999999285,201.20308,2015-01-01 00:33:35,bin2015,75, +abc,2016,2016,2016,1975-07-10,201.29999999999285,201.30309,2015-01-01 00:33:36,bin2016,35, +abc,2017,2017,2017,1975-07-11,201.39999999999284,201.40309,2015-01-01 00:33:37,bin2017,75, +abc,2018,2018,2018,1975-07-12,201.49999999999284,201.5031,2015-01-01 00:33:38,bin2018,35, +abc,2019,2019,2019,1975-07-13,201.59999999999283,201.6031,2015-01-01 00:33:39,bin2019,75, +abc,2020,2020,2020,1975-07-14,201.69999999999283,201.70311,2015-01-01 00:33:40,bin2020,35, +abc,2021,2021,2021,1975-07-15,201.79999999999282,201.80312,2015-01-01 00:33:41,bin2021,75, +abc,2022,2022,2022,1975-07-16,201.89999999999281,201.90312,2015-01-01 00:33:42,bin2022,35, +abc,2023,2023,2023,1975-07-17,201.9999999999928,202.00313,2015-01-01 00:33:43,bin2023,75, +abc,2024,2024,2024,1975-07-18,202.0999999999928,202.10313,2015-01-01 00:33:44,bin2024,35, +abc,2025,2025,2025,1975-07-19,202.1999999999928,202.20314,2015-01-01 00:33:45,bin2025,75, +abc,2026,2026,2026,1975-07-20,202.2999999999928,202.30315,2015-01-01 00:33:46,bin2026,35, +abc,2027,2027,2027,1975-07-21,202.3999999999928,202.40315,2015-01-01 00:33:47,bin2027,75, +abc,2028,2028,2028,1975-07-22,202.49999999999278,202.50316,2015-01-01 00:33:48,bin2028,35, +abc,2029,2029,2029,1975-07-23,202.59999999999278,202.60316,2015-01-01 00:33:49,bin2029,75, +abc,2030,2030,2030,1975-07-24,202.69999999999277,202.70317,2015-01-01 00:33:50,bin2030,35, +abc,2031,2031,2031,1975-07-25,202.79999999999276,202.80318,2015-01-01 00:33:51,bin2031,75, +abc,2032,2032,2032,1975-07-26,202.89999999999276,202.90318,2015-01-01 00:33:52,bin2032,35, +abc,2033,2033,2033,1975-07-27,202.99999999999275,203.00319,2015-01-01 00:33:53,bin2033,75, +abc,2034,2034,2034,1975-07-28,203.09999999999275,203.1032,2015-01-01 00:33:54,bin2034,35, +abc,2035,2035,2035,1975-07-29,203.19999999999274,203.2032,2015-01-01 00:33:55,bin2035,75, +abc,2036,2036,2036,1975-07-30,203.29999999999274,203.3032,2015-01-01 00:33:56,bin2036,35, +abc,2037,2037,2037,1975-07-31,203.39999999999273,203.40321,2015-01-01 00:33:57,bin2037,75, +abc,2038,2038,2038,1975-08-01,203.49999999999272,203.50322,2015-01-01 00:33:58,bin2038,35, +abc,2039,2039,2039,1975-08-02,203.59999999999272,203.60323,2015-01-01 00:33:59,bin2039,75, +abc,2040,2040,2040,1975-08-03,203.6999999999927,203.70323,2015-01-01 00:34:00,bin2040,35, +abc,2041,2041,2041,1975-08-04,203.7999999999927,203.80324,2015-01-01 00:34:01,bin2041,75, +abc,2042,2042,2042,1975-08-05,203.8999999999927,203.90324,2015-01-01 00:34:02,bin2042,35, +abc,2043,2043,2043,1975-08-06,203.9999999999927,204.00325,2015-01-01 00:34:03,bin2043,75, +abc,2044,2044,2044,1975-08-07,204.0999999999927,204.10326,2015-01-01 00:34:04,bin2044,35, +abc,2045,2045,2045,1975-08-08,204.19999999999268,204.20326,2015-01-01 00:34:05,bin2045,75, +abc,2046,2046,2046,1975-08-09,204.29999999999268,204.30327,2015-01-01 00:34:06,bin2046,35, +abc,2047,2047,2047,1975-08-10,204.39999999999267,204.40327,2015-01-01 00:34:07,bin2047,75, +abc,2048,2048,2048,1975-08-11,204.49999999999267,204.50328,2015-01-01 00:34:08,bin2048,35, +abc,2049,2049,2049,1975-08-12,204.59999999999266,204.60329,2015-01-01 00:34:09,bin2049,75, +abc,2050,2050,2050,1975-08-13,204.69999999999266,204.7033,2015-01-01 00:34:10,bin2050,35, +abc,2051,2051,2051,1975-08-14,204.79999999999265,204.8033,2015-01-01 00:34:11,bin2051,75, +abc,2052,2052,2052,1975-08-15,204.89999999999264,204.9033,2015-01-01 00:34:12,bin2052,35, +abc,2053,2053,2053,1975-08-16,204.99999999999264,205.00331,2015-01-01 00:34:13,bin2053,75, +abc,2054,2054,2054,1975-08-17,205.09999999999263,205.10332,2015-01-01 00:34:14,bin2054,35, +abc,2055,2055,2055,1975-08-18,205.19999999999263,205.20332,2015-01-01 00:34:15,bin2055,75, +abc,2056,2056,2056,1975-08-19,205.29999999999262,205.30333,2015-01-01 00:34:16,bin2056,35, +abc,2057,2057,2057,1975-08-20,205.39999999999262,205.40334,2015-01-01 00:34:17,bin2057,75, +abc,2058,2058,2058,1975-08-21,205.4999999999926,205.50334,2015-01-01 00:34:18,bin2058,35, +abc,2059,2059,2059,1975-08-22,205.5999999999926,205.60335,2015-01-01 00:34:19,bin2059,75, +abc,2060,2060,2060,1975-08-23,205.6999999999926,205.70335,2015-01-01 00:34:20,bin2060,35, +abc,2061,2061,2061,1975-08-24,205.7999999999926,205.80336,2015-01-01 00:34:21,bin2061,75, +abc,2062,2062,2062,1975-08-25,205.8999999999926,205.90337,2015-01-01 00:34:22,bin2062,35, +abc,2063,2063,2063,1975-08-26,205.99999999999258,206.00337,2015-01-01 00:34:23,bin2063,75, +abc,2064,2064,2064,1975-08-27,206.09999999999258,206.10338,2015-01-01 00:34:24,bin2064,35, +abc,2065,2065,2065,1975-08-28,206.19999999999257,206.20338,2015-01-01 00:34:25,bin2065,75, +abc,2066,2066,2066,1975-08-29,206.29999999999256,206.30339,2015-01-01 00:34:26,bin2066,35, +abc,2067,2067,2067,1975-08-30,206.39999999999256,206.4034,2015-01-01 00:34:27,bin2067,75, +abc,2068,2068,2068,1975-08-31,206.49999999999255,206.5034,2015-01-01 00:34:28,bin2068,35, +abc,2069,2069,2069,1975-09-01,206.59999999999255,206.60341,2015-01-01 00:34:29,bin2069,75, +abc,2070,2070,2070,1975-09-02,206.69999999999254,206.70341,2015-01-01 00:34:30,bin2070,35, +abc,2071,2071,2071,1975-09-03,206.79999999999254,206.80342,2015-01-01 00:34:31,bin2071,75, +abc,2072,2072,2072,1975-09-04,206.89999999999253,206.90343,2015-01-01 00:34:32,bin2072,35, +abc,2073,2073,2073,1975-09-05,206.99999999999253,207.00343,2015-01-01 00:34:33,bin2073,75, +abc,2074,2074,2074,1975-09-06,207.09999999999252,207.10344,2015-01-01 00:34:34,bin2074,35, +abc,2075,2075,2075,1975-09-07,207.1999999999925,207.20345,2015-01-01 00:34:35,bin2075,75, +abc,2076,2076,2076,1975-09-08,207.2999999999925,207.30345,2015-01-01 00:34:36,bin2076,35, +abc,2077,2077,2077,1975-09-09,207.3999999999925,207.40346,2015-01-01 00:34:37,bin2077,75, +abc,2078,2078,2078,1975-09-10,207.4999999999925,207.50346,2015-01-01 00:34:38,bin2078,35, +abc,2079,2079,2079,1975-09-11,207.5999999999925,207.60347,2015-01-01 00:34:39,bin2079,75, +abc,2080,2080,2080,1975-09-12,207.69999999999249,207.70348,2015-01-01 00:34:40,bin2080,35, +abc,2081,2081,2081,1975-09-13,207.79999999999248,207.80348,2015-01-01 00:34:41,bin2081,75, +abc,2082,2082,2082,1975-09-14,207.89999999999247,207.90349,2015-01-01 00:34:42,bin2082,35, +abc,2083,2083,2083,1975-09-15,207.99999999999247,208.0035,2015-01-01 00:34:43,bin2083,75, +abc,2084,2084,2084,1975-09-16,208.09999999999246,208.1035,2015-01-01 00:34:44,bin2084,35, +abc,2085,2085,2085,1975-09-17,208.19999999999246,208.2035,2015-01-01 00:34:45,bin2085,75, +abc,2086,2086,2086,1975-09-18,208.29999999999245,208.30351,2015-01-01 00:34:46,bin2086,35, +abc,2087,2087,2087,1975-09-19,208.39999999999245,208.40352,2015-01-01 00:34:47,bin2087,75, +abc,2088,2088,2088,1975-09-20,208.49999999999244,208.50352,2015-01-01 00:34:48,bin2088,35, +abc,2089,2089,2089,1975-09-21,208.59999999999243,208.60353,2015-01-01 00:34:49,bin2089,75, +abc,2090,2090,2090,1975-09-22,208.69999999999243,208.70354,2015-01-01 00:34:50,bin2090,35, +abc,2091,2091,2091,1975-09-23,208.79999999999242,208.80354,2015-01-01 00:34:51,bin2091,75, +abc,2092,2092,2092,1975-09-24,208.89999999999242,208.90355,2015-01-01 00:34:52,bin2092,35, +abc,2093,2093,2093,1975-09-25,208.9999999999924,209.00356,2015-01-01 00:34:53,bin2093,75, +abc,2094,2094,2094,1975-09-26,209.0999999999924,209.10356,2015-01-01 00:34:54,bin2094,35, +abc,2095,2095,2095,1975-09-27,209.1999999999924,209.20357,2015-01-01 00:34:55,bin2095,75, +abc,2096,2096,2096,1975-09-28,209.2999999999924,209.30357,2015-01-01 00:34:56,bin2096,35, +abc,2097,2097,2097,1975-09-29,209.3999999999924,209.40358,2015-01-01 00:34:57,bin2097,75, +abc,2098,2098,2098,1975-09-30,209.49999999999238,209.50359,2015-01-01 00:34:58,bin2098,35, +abc,2099,2099,2099,1975-10-01,209.59999999999238,209.60359,2015-01-01 00:34:59,bin2099,75, +abc,2100,2100,2100,1975-10-02,209.69999999999237,209.7036,2015-01-01 00:35:00,bin2100,35, +abc,2101,2101,2101,1975-10-03,209.79999999999237,209.8036,2015-01-01 00:35:01,bin2101,75, +abc,2102,2102,2102,1975-10-04,209.89999999999236,209.90361,2015-01-01 00:35:02,bin2102,35, +abc,2103,2103,2103,1975-10-05,209.99999999999235,210.00362,2015-01-01 00:35:03,bin2103,75, +abc,2104,2104,2104,1975-10-06,210.09999999999235,210.10362,2015-01-01 00:35:04,bin2104,35, +abc,2105,2105,2105,1975-10-07,210.19999999999234,210.20363,2015-01-01 00:35:05,bin2105,75, +abc,2106,2106,2106,1975-10-08,210.29999999999234,210.30363,2015-01-01 00:35:06,bin2106,35, +abc,2107,2107,2107,1975-10-09,210.39999999999233,210.40364,2015-01-01 00:35:07,bin2107,75, +abc,2108,2108,2108,1975-10-10,210.49999999999233,210.50365,2015-01-01 00:35:08,bin2108,35, +abc,2109,2109,2109,1975-10-11,210.59999999999232,210.60365,2015-01-01 00:35:09,bin2109,75, +abc,2110,2110,2110,1975-10-12,210.69999999999231,210.70366,2015-01-01 00:35:10,bin2110,35, +abc,2111,2111,2111,1975-10-13,210.7999999999923,210.80367,2015-01-01 00:35:11,bin2111,75, +abc,2112,2112,2112,1975-10-14,210.8999999999923,210.90367,2015-01-01 00:35:12,bin2112,35, +abc,2113,2113,2113,1975-10-15,210.9999999999923,211.00368,2015-01-01 00:35:13,bin2113,75, +abc,2114,2114,2114,1975-10-16,211.0999999999923,211.10368,2015-01-01 00:35:14,bin2114,35, +abc,2115,2115,2115,1975-10-17,211.1999999999923,211.20369,2015-01-01 00:35:15,bin2115,75, +abc,2116,2116,2116,1975-10-18,211.29999999999228,211.3037,2015-01-01 00:35:16,bin2116,35, +abc,2117,2117,2117,1975-10-19,211.39999999999227,211.4037,2015-01-01 00:35:17,bin2117,75, +abc,2118,2118,2118,1975-10-20,211.49999999999227,211.50371,2015-01-01 00:35:18,bin2118,35, +abc,2119,2119,2119,1975-10-21,211.59999999999226,211.60371,2015-01-01 00:35:19,bin2119,75, +abc,2120,2120,2120,1975-10-22,211.69999999999226,211.70372,2015-01-01 00:35:20,bin2120,35, +abc,2121,2121,2121,1975-10-23,211.79999999999225,211.80373,2015-01-01 00:35:21,bin2121,75, +abc,2122,2122,2122,1975-10-24,211.89999999999225,211.90373,2015-01-01 00:35:22,bin2122,35, +abc,2123,2123,2123,1975-10-25,211.99999999999224,212.00374,2015-01-01 00:35:23,bin2123,75, +abc,2124,2124,2124,1975-10-26,212.09999999999224,212.10374,2015-01-01 00:35:24,bin2124,35, +abc,2125,2125,2125,1975-10-27,212.19999999999223,212.20375,2015-01-01 00:35:25,bin2125,75, +abc,2126,2126,2126,1975-10-28,212.29999999999222,212.30376,2015-01-01 00:35:26,bin2126,35, +abc,2127,2127,2127,1975-10-29,212.39999999999222,212.40376,2015-01-01 00:35:27,bin2127,75, +abc,2128,2128,2128,1975-10-30,212.4999999999922,212.50377,2015-01-01 00:35:28,bin2128,35, +abc,2129,2129,2129,1975-10-31,212.5999999999922,212.60378,2015-01-01 00:35:29,bin2129,75, +abc,2130,2130,2130,1975-11-01,212.6999999999922,212.70378,2015-01-01 00:35:30,bin2130,35, +abc,2131,2131,2131,1975-11-02,212.7999999999922,212.80379,2015-01-01 00:35:31,bin2131,75, +abc,2132,2132,2132,1975-11-03,212.8999999999922,212.9038,2015-01-01 00:35:32,bin2132,35, +abc,2133,2133,2133,1975-11-04,212.99999999999218,213.0038,2015-01-01 00:35:33,bin2133,75, +abc,2134,2134,2134,1975-11-05,213.09999999999218,213.1038,2015-01-01 00:35:34,bin2134,35, +abc,2135,2135,2135,1975-11-06,213.19999999999217,213.20381,2015-01-01 00:35:35,bin2135,75, +abc,2136,2136,2136,1975-11-07,213.29999999999217,213.30382,2015-01-01 00:35:36,bin2136,35, +abc,2137,2137,2137,1975-11-08,213.39999999999216,213.40382,2015-01-01 00:35:37,bin2137,75, +abc,2138,2138,2138,1975-11-09,213.49999999999216,213.50383,2015-01-01 00:35:38,bin2138,35, +abc,2139,2139,2139,1975-11-10,213.59999999999215,213.60384,2015-01-01 00:35:39,bin2139,75, +abc,2140,2140,2140,1975-11-11,213.69999999999214,213.70384,2015-01-01 00:35:40,bin2140,35, +abc,2141,2141,2141,1975-11-12,213.79999999999214,213.80385,2015-01-01 00:35:41,bin2141,75, +abc,2142,2142,2142,1975-11-13,213.89999999999213,213.90385,2015-01-01 00:35:42,bin2142,35, +abc,2143,2143,2143,1975-11-14,213.99999999999213,214.00386,2015-01-01 00:35:43,bin2143,75, +abc,2144,2144,2144,1975-11-15,214.09999999999212,214.10387,2015-01-01 00:35:44,bin2144,35, +abc,2145,2145,2145,1975-11-16,214.19999999999212,214.20387,2015-01-01 00:35:45,bin2145,75, +abc,2146,2146,2146,1975-11-17,214.2999999999921,214.30388,2015-01-01 00:35:46,bin2146,35, +abc,2147,2147,2147,1975-11-18,214.3999999999921,214.40388,2015-01-01 00:35:47,bin2147,75, +abc,2148,2148,2148,1975-11-19,214.4999999999921,214.50389,2015-01-01 00:35:48,bin2148,35, +abc,2149,2149,2149,1975-11-20,214.5999999999921,214.6039,2015-01-01 00:35:49,bin2149,75, +abc,2150,2150,2150,1975-11-21,214.6999999999921,214.7039,2015-01-01 00:35:50,bin2150,35, +abc,2151,2151,2151,1975-11-22,214.79999999999208,214.80391,2015-01-01 00:35:51,bin2151,75, +abc,2152,2152,2152,1975-11-23,214.89999999999208,214.90392,2015-01-01 00:35:52,bin2152,35, +abc,2153,2153,2153,1975-11-24,214.99999999999207,215.00392,2015-01-01 00:35:53,bin2153,75, +abc,2154,2154,2154,1975-11-25,215.09999999999206,215.10393,2015-01-01 00:35:54,bin2154,35, +abc,2155,2155,2155,1975-11-26,215.19999999999206,215.20393,2015-01-01 00:35:55,bin2155,75, +abc,2156,2156,2156,1975-11-27,215.29999999999205,215.30394,2015-01-01 00:35:56,bin2156,35, +abc,2157,2157,2157,1975-11-28,215.39999999999205,215.40395,2015-01-01 00:35:57,bin2157,75, +abc,2158,2158,2158,1975-11-29,215.49999999999204,215.50395,2015-01-01 00:35:58,bin2158,35, +abc,2159,2159,2159,1975-11-30,215.59999999999204,215.60396,2015-01-01 00:35:59,bin2159,75, +abc,2160,2160,2160,1975-12-01,215.69999999999203,215.70396,2015-01-01 00:36:00,bin2160,35, +abc,2161,2161,2161,1975-12-02,215.79999999999202,215.80397,2015-01-01 00:36:01,bin2161,75, +abc,2162,2162,2162,1975-12-03,215.89999999999202,215.90398,2015-01-01 00:36:02,bin2162,35, +abc,2163,2163,2163,1975-12-04,215.999999999992,216.00398,2015-01-01 00:36:03,bin2163,75, +abc,2164,2164,2164,1975-12-05,216.099999999992,216.10399,2015-01-01 00:36:04,bin2164,35, +abc,2165,2165,2165,1975-12-06,216.199999999992,216.204,2015-01-01 00:36:05,bin2165,75, +abc,2166,2166,2166,1975-12-07,216.299999999992,216.304,2015-01-01 00:36:06,bin2166,35, +abc,2167,2167,2167,1975-12-08,216.399999999992,216.404,2015-01-01 00:36:07,bin2167,75, +abc,2168,2168,2168,1975-12-09,216.49999999999199,216.50401,2015-01-01 00:36:08,bin2168,35, +abc,2169,2169,2169,1975-12-10,216.59999999999198,216.60402,2015-01-01 00:36:09,bin2169,75, +abc,2170,2170,2170,1975-12-11,216.69999999999197,216.70403,2015-01-01 00:36:10,bin2170,35, +abc,2171,2171,2171,1975-12-12,216.79999999999197,216.80403,2015-01-01 00:36:11,bin2171,75, +abc,2172,2172,2172,1975-12-13,216.89999999999196,216.90404,2015-01-01 00:36:12,bin2172,35, +abc,2173,2173,2173,1975-12-14,216.99999999999196,217.00404,2015-01-01 00:36:13,bin2173,75, +abc,2174,2174,2174,1975-12-15,217.09999999999195,217.10405,2015-01-01 00:36:14,bin2174,35, +abc,2175,2175,2175,1975-12-16,217.19999999999195,217.20406,2015-01-01 00:36:15,bin2175,75, +abc,2176,2176,2176,1975-12-17,217.29999999999194,217.30406,2015-01-01 00:36:16,bin2176,35, +abc,2177,2177,2177,1975-12-18,217.39999999999193,217.40407,2015-01-01 00:36:17,bin2177,75, +abc,2178,2178,2178,1975-12-19,217.49999999999193,217.50407,2015-01-01 00:36:18,bin2178,35, +abc,2179,2179,2179,1975-12-20,217.59999999999192,217.60408,2015-01-01 00:36:19,bin2179,75, +abc,2180,2180,2180,1975-12-21,217.69999999999192,217.70409,2015-01-01 00:36:20,bin2180,35, +abc,2181,2181,2181,1975-12-22,217.7999999999919,217.8041,2015-01-01 00:36:21,bin2181,75, +abc,2182,2182,2182,1975-12-23,217.8999999999919,217.9041,2015-01-01 00:36:22,bin2182,35, +abc,2183,2183,2183,1975-12-24,217.9999999999919,218.0041,2015-01-01 00:36:23,bin2183,75, +abc,2184,2184,2184,1975-12-25,218.0999999999919,218.10411,2015-01-01 00:36:24,bin2184,35, +abc,2185,2185,2185,1975-12-26,218.1999999999919,218.20412,2015-01-01 00:36:25,bin2185,75, +abc,2186,2186,2186,1975-12-27,218.29999999999188,218.30412,2015-01-01 00:36:26,bin2186,35, +abc,2187,2187,2187,1975-12-28,218.39999999999188,218.40413,2015-01-01 00:36:27,bin2187,75, +abc,2188,2188,2188,1975-12-29,218.49999999999187,218.50414,2015-01-01 00:36:28,bin2188,35, +abc,2189,2189,2189,1975-12-30,218.59999999999187,218.60414,2015-01-01 00:36:29,bin2189,75, +abc,2190,2190,2190,1975-12-31,218.69999999999186,218.70415,2015-01-01 00:36:30,bin2190,35, +abc,2191,2191,2191,1976-01-01,218.79999999999185,218.80415,2015-01-01 00:36:31,bin2191,75, +abc,2192,2192,2192,1976-01-02,218.89999999999185,218.90416,2015-01-01 00:36:32,bin2192,35, +abc,2193,2193,2193,1976-01-03,218.99999999999184,219.00417,2015-01-01 00:36:33,bin2193,75, +abc,2194,2194,2194,1976-01-04,219.09999999999184,219.10417,2015-01-01 00:36:34,bin2194,35, +abc,2195,2195,2195,1976-01-05,219.19999999999183,219.20418,2015-01-01 00:36:35,bin2195,75, +abc,2196,2196,2196,1976-01-06,219.29999999999183,219.30418,2015-01-01 00:36:36,bin2196,35, +abc,2197,2197,2197,1976-01-07,219.39999999999182,219.40419,2015-01-01 00:36:37,bin2197,75, +abc,2198,2198,2198,1976-01-08,219.49999999999181,219.5042,2015-01-01 00:36:38,bin2198,35, +abc,2199,2199,2199,1976-01-09,219.5999999999918,219.6042,2015-01-01 00:36:39,bin2199,75, +abc,2200,2200,2200,1976-01-10,219.6999999999918,219.70421,2015-01-01 00:36:40,bin2200,35, +abc,2201,2201,2201,1976-01-11,219.7999999999918,219.80421,2015-01-01 00:36:41,bin2201,75, +abc,2202,2202,2202,1976-01-12,219.8999999999918,219.90422,2015-01-01 00:36:42,bin2202,35, +abc,2203,2203,2203,1976-01-13,219.9999999999918,220.00423,2015-01-01 00:36:43,bin2203,75, +abc,2204,2204,2204,1976-01-14,220.09999999999178,220.10423,2015-01-01 00:36:44,bin2204,35, +abc,2205,2205,2205,1976-01-15,220.19999999999177,220.20424,2015-01-01 00:36:45,bin2205,75, +abc,2206,2206,2206,1976-01-16,220.29999999999177,220.30424,2015-01-01 00:36:46,bin2206,35, +abc,2207,2207,2207,1976-01-17,220.39999999999176,220.40425,2015-01-01 00:36:47,bin2207,75, +abc,2208,2208,2208,1976-01-18,220.49999999999176,220.50426,2015-01-01 00:36:48,bin2208,35, +abc,2209,2209,2209,1976-01-19,220.59999999999175,220.60426,2015-01-01 00:36:49,bin2209,75, +abc,2210,2210,2210,1976-01-20,220.69999999999175,220.70427,2015-01-01 00:36:50,bin2210,35, +abc,2211,2211,2211,1976-01-21,220.79999999999174,220.80428,2015-01-01 00:36:51,bin2211,75, +abc,2212,2212,2212,1976-01-22,220.89999999999173,220.90428,2015-01-01 00:36:52,bin2212,35, +abc,2213,2213,2213,1976-01-23,220.99999999999173,221.00429,2015-01-01 00:36:53,bin2213,75, +abc,2214,2214,2214,1976-01-24,221.09999999999172,221.1043,2015-01-01 00:36:54,bin2214,35, +abc,2215,2215,2215,1976-01-25,221.19999999999172,221.2043,2015-01-01 00:36:55,bin2215,75, +abc,2216,2216,2216,1976-01-26,221.2999999999917,221.3043,2015-01-01 00:36:56,bin2216,35, +abc,2217,2217,2217,1976-01-27,221.3999999999917,221.40431,2015-01-01 00:36:57,bin2217,75, +abc,2218,2218,2218,1976-01-28,221.4999999999917,221.50432,2015-01-01 00:36:58,bin2218,35, +abc,2219,2219,2219,1976-01-29,221.5999999999917,221.60432,2015-01-01 00:36:59,bin2219,75, +abc,2220,2220,2220,1976-01-30,221.6999999999917,221.70433,2015-01-01 00:37:00,bin2220,35, +abc,2221,2221,2221,1976-01-31,221.79999999999168,221.80434,2015-01-01 00:37:01,bin2221,75, +abc,2222,2222,2222,1976-02-01,221.89999999999168,221.90434,2015-01-01 00:37:02,bin2222,35, +abc,2223,2223,2223,1976-02-02,221.99999999999167,222.00435,2015-01-01 00:37:03,bin2223,75, +abc,2224,2224,2224,1976-02-03,222.09999999999167,222.10435,2015-01-01 00:37:04,bin2224,35, +abc,2225,2225,2225,1976-02-04,222.19999999999166,222.20436,2015-01-01 00:37:05,bin2225,75, +abc,2226,2226,2226,1976-02-05,222.29999999999166,222.30437,2015-01-01 00:37:06,bin2226,35, +abc,2227,2227,2227,1976-02-06,222.39999999999165,222.40437,2015-01-01 00:37:07,bin2227,75, +abc,2228,2228,2228,1976-02-07,222.49999999999164,222.50438,2015-01-01 00:37:08,bin2228,35, +abc,2229,2229,2229,1976-02-08,222.59999999999164,222.60439,2015-01-01 00:37:09,bin2229,75, +abc,2230,2230,2230,1976-02-09,222.69999999999163,222.70439,2015-01-01 00:37:10,bin2230,35, +abc,2231,2231,2231,1976-02-10,222.79999999999163,222.8044,2015-01-01 00:37:11,bin2231,75, +abc,2232,2232,2232,1976-02-11,222.89999999999162,222.9044,2015-01-01 00:37:12,bin2232,35, +abc,2233,2233,2233,1976-02-12,222.99999999999162,223.00441,2015-01-01 00:37:13,bin2233,75, +abc,2234,2234,2234,1976-02-13,223.0999999999916,223.10442,2015-01-01 00:37:14,bin2234,35, +abc,2235,2235,2235,1976-02-14,223.1999999999916,223.20442,2015-01-01 00:37:15,bin2235,75, +abc,2236,2236,2236,1976-02-15,223.2999999999916,223.30443,2015-01-01 00:37:16,bin2236,35, +abc,2237,2237,2237,1976-02-16,223.3999999999916,223.40443,2015-01-01 00:37:17,bin2237,75, +abc,2238,2238,2238,1976-02-17,223.4999999999916,223.50444,2015-01-01 00:37:18,bin2238,35, +abc,2239,2239,2239,1976-02-18,223.59999999999158,223.60445,2015-01-01 00:37:19,bin2239,75, +abc,2240,2240,2240,1976-02-19,223.69999999999158,223.70445,2015-01-01 00:37:20,bin2240,35, +abc,2241,2241,2241,1976-02-20,223.79999999999157,223.80446,2015-01-01 00:37:21,bin2241,75, +abc,2242,2242,2242,1976-02-21,223.89999999999156,223.90446,2015-01-01 00:37:22,bin2242,35, +abc,2243,2243,2243,1976-02-22,223.99999999999156,224.00447,2015-01-01 00:37:23,bin2243,75, +abc,2244,2244,2244,1976-02-23,224.09999999999155,224.10448,2015-01-01 00:37:24,bin2244,35, +abc,2245,2245,2245,1976-02-24,224.19999999999155,224.20448,2015-01-01 00:37:25,bin2245,75, +abc,2246,2246,2246,1976-02-25,224.29999999999154,224.30449,2015-01-01 00:37:26,bin2246,35, +abc,2247,2247,2247,1976-02-26,224.39999999999154,224.4045,2015-01-01 00:37:27,bin2247,75, +abc,2248,2248,2248,1976-02-27,224.49999999999153,224.5045,2015-01-01 00:37:28,bin2248,35, +abc,2249,2249,2249,1976-02-28,224.59999999999152,224.6045,2015-01-01 00:37:29,bin2249,75, +abc,2250,2250,2250,1976-02-29,224.69999999999152,224.70451,2015-01-01 00:37:30,bin2250,35, +abc,2251,2251,2251,1976-03-01,224.7999999999915,224.80452,2015-01-01 00:37:31,bin2251,75, +abc,2252,2252,2252,1976-03-02,224.8999999999915,224.90453,2015-01-01 00:37:32,bin2252,35, +abc,2253,2253,2253,1976-03-03,224.9999999999915,225.00453,2015-01-01 00:37:33,bin2253,75, +abc,2254,2254,2254,1976-03-04,225.0999999999915,225.10454,2015-01-01 00:37:34,bin2254,35, +abc,2255,2255,2255,1976-03-05,225.1999999999915,225.20454,2015-01-01 00:37:35,bin2255,75, +abc,2256,2256,2256,1976-03-06,225.29999999999148,225.30455,2015-01-01 00:37:36,bin2256,35, +abc,2257,2257,2257,1976-03-07,225.39999999999148,225.40456,2015-01-01 00:37:37,bin2257,75, +abc,2258,2258,2258,1976-03-08,225.49999999999147,225.50456,2015-01-01 00:37:38,bin2258,35, +abc,2259,2259,2259,1976-03-09,225.59999999999147,225.60457,2015-01-01 00:37:39,bin2259,75, +abc,2260,2260,2260,1976-03-10,225.69999999999146,225.70457,2015-01-01 00:37:40,bin2260,35, +abc,2261,2261,2261,1976-03-11,225.79999999999146,225.80458,2015-01-01 00:37:41,bin2261,75, +abc,2262,2262,2262,1976-03-12,225.89999999999145,225.90459,2015-01-01 00:37:42,bin2262,35, +abc,2263,2263,2263,1976-03-13,225.99999999999145,226.0046,2015-01-01 00:37:43,bin2263,75, +abc,2264,2264,2264,1976-03-14,226.09999999999144,226.1046,2015-01-01 00:37:44,bin2264,35, +abc,2265,2265,2265,1976-03-15,226.19999999999143,226.2046,2015-01-01 00:37:45,bin2265,75, +abc,2266,2266,2266,1976-03-16,226.29999999999143,226.30461,2015-01-01 00:37:46,bin2266,35, +abc,2267,2267,2267,1976-03-17,226.39999999999142,226.40462,2015-01-01 00:37:47,bin2267,75, +abc,2268,2268,2268,1976-03-18,226.49999999999142,226.50462,2015-01-01 00:37:48,bin2268,35, +abc,2269,2269,2269,1976-03-19,226.5999999999914,226.60463,2015-01-01 00:37:49,bin2269,75, +abc,2270,2270,2270,1976-03-20,226.6999999999914,226.70464,2015-01-01 00:37:50,bin2270,35, +abc,2271,2271,2271,1976-03-21,226.7999999999914,226.80464,2015-01-01 00:37:51,bin2271,75, +abc,2272,2272,2272,1976-03-22,226.8999999999914,226.90465,2015-01-01 00:37:52,bin2272,35, +abc,2273,2273,2273,1976-03-23,226.9999999999914,227.00465,2015-01-01 00:37:53,bin2273,75, +abc,2274,2274,2274,1976-03-24,227.09999999999138,227.10466,2015-01-01 00:37:54,bin2274,35, +abc,2275,2275,2275,1976-03-25,227.19999999999138,227.20467,2015-01-01 00:37:55,bin2275,75, +abc,2276,2276,2276,1976-03-26,227.29999999999137,227.30467,2015-01-01 00:37:56,bin2276,35, +abc,2277,2277,2277,1976-03-27,227.39999999999137,227.40468,2015-01-01 00:37:57,bin2277,75, +abc,2278,2278,2278,1976-03-28,227.49999999999136,227.50468,2015-01-01 00:37:58,bin2278,35, +abc,2279,2279,2279,1976-03-29,227.59999999999135,227.60469,2015-01-01 00:37:59,bin2279,75, +abc,2280,2280,2280,1976-03-30,227.69999999999135,227.7047,2015-01-01 00:38:00,bin2280,35, +abc,2281,2281,2281,1976-03-31,227.79999999999134,227.8047,2015-01-01 00:38:01,bin2281,75, +abc,2282,2282,2282,1976-04-01,227.89999999999134,227.90471,2015-01-01 00:38:02,bin2282,35, +abc,2283,2283,2283,1976-04-02,227.99999999999133,228.00471,2015-01-01 00:38:03,bin2283,75, +abc,2284,2284,2284,1976-04-03,228.09999999999133,228.10472,2015-01-01 00:38:04,bin2284,35, +abc,2285,2285,2285,1976-04-04,228.19999999999132,228.20473,2015-01-01 00:38:05,bin2285,75, +abc,2286,2286,2286,1976-04-05,228.29999999999131,228.30473,2015-01-01 00:38:06,bin2286,35, +abc,2287,2287,2287,1976-04-06,228.3999999999913,228.40474,2015-01-01 00:38:07,bin2287,75, +abc,2288,2288,2288,1976-04-07,228.4999999999913,228.50475,2015-01-01 00:38:08,bin2288,35, +abc,2289,2289,2289,1976-04-08,228.5999999999913,228.60475,2015-01-01 00:38:09,bin2289,75, +abc,2290,2290,2290,1976-04-09,228.6999999999913,228.70476,2015-01-01 00:38:10,bin2290,35, +abc,2291,2291,2291,1976-04-10,228.7999999999913,228.80476,2015-01-01 00:38:11,bin2291,75, +abc,2292,2292,2292,1976-04-11,228.89999999999128,228.90477,2015-01-01 00:38:12,bin2292,35, +abc,2293,2293,2293,1976-04-12,228.99999999999127,229.00478,2015-01-01 00:38:13,bin2293,75, +abc,2294,2294,2294,1976-04-13,229.09999999999127,229.10478,2015-01-01 00:38:14,bin2294,35, +abc,2295,2295,2295,1976-04-14,229.19999999999126,229.20479,2015-01-01 00:38:15,bin2295,75, +abc,2296,2296,2296,1976-04-15,229.29999999999126,229.3048,2015-01-01 00:38:16,bin2296,35, +abc,2297,2297,2297,1976-04-16,229.39999999999125,229.4048,2015-01-01 00:38:17,bin2297,75, +abc,2298,2298,2298,1976-04-17,229.49999999999125,229.5048,2015-01-01 00:38:18,bin2298,35, +abc,2299,2299,2299,1976-04-18,229.59999999999124,229.60481,2015-01-01 00:38:19,bin2299,75, +abc,2300,2300,2300,1976-04-19,229.69999999999123,229.70482,2015-01-01 00:38:20,bin2300,35, +abc,2301,2301,2301,1976-04-20,229.79999999999123,229.80482,2015-01-01 00:38:21,bin2301,75, +abc,2302,2302,2302,1976-04-21,229.89999999999122,229.90483,2015-01-01 00:38:22,bin2302,35, +abc,2303,2303,2303,1976-04-22,229.99999999999122,230.00484,2015-01-01 00:38:23,bin2303,75, +abc,2304,2304,2304,1976-04-23,230.0999999999912,230.10484,2015-01-01 00:38:24,bin2304,35, +abc,2305,2305,2305,1976-04-24,230.1999999999912,230.20485,2015-01-01 00:38:25,bin2305,75, +abc,2306,2306,2306,1976-04-25,230.2999999999912,230.30486,2015-01-01 00:38:26,bin2306,35, +abc,2307,2307,2307,1976-04-26,230.3999999999912,230.40486,2015-01-01 00:38:27,bin2307,75, +abc,2308,2308,2308,1976-04-27,230.4999999999912,230.50487,2015-01-01 00:38:28,bin2308,35, +abc,2309,2309,2309,1976-04-28,230.59999999999118,230.60487,2015-01-01 00:38:29,bin2309,75, +abc,2310,2310,2310,1976-04-29,230.69999999999118,230.70488,2015-01-01 00:38:30,bin2310,35, +abc,2311,2311,2311,1976-04-30,230.79999999999117,230.80489,2015-01-01 00:38:31,bin2311,75, +abc,2312,2312,2312,1976-05-01,230.89999999999117,230.90489,2015-01-01 00:38:32,bin2312,35, +abc,2313,2313,2313,1976-05-02,230.99999999999116,231.0049,2015-01-01 00:38:33,bin2313,75, +abc,2314,2314,2314,1976-05-03,231.09999999999116,231.1049,2015-01-01 00:38:34,bin2314,35, +abc,2315,2315,2315,1976-05-04,231.19999999999115,231.20491,2015-01-01 00:38:35,bin2315,75, +abc,2316,2316,2316,1976-05-05,231.29999999999114,231.30492,2015-01-01 00:38:36,bin2316,35, +abc,2317,2317,2317,1976-05-06,231.39999999999114,231.40492,2015-01-01 00:38:37,bin2317,75, +abc,2318,2318,2318,1976-05-07,231.49999999999113,231.50493,2015-01-01 00:38:38,bin2318,35, +abc,2319,2319,2319,1976-05-08,231.59999999999113,231.60493,2015-01-01 00:38:39,bin2319,75, +abc,2320,2320,2320,1976-05-09,231.69999999999112,231.70494,2015-01-01 00:38:40,bin2320,35, +abc,2321,2321,2321,1976-05-10,231.79999999999112,231.80495,2015-01-01 00:38:41,bin2321,75, +abc,2322,2322,2322,1976-05-11,231.8999999999911,231.90495,2015-01-01 00:38:42,bin2322,35, +abc,2323,2323,2323,1976-05-12,231.9999999999911,232.00496,2015-01-01 00:38:43,bin2323,75, +abc,2324,2324,2324,1976-05-13,232.0999999999911,232.10497,2015-01-01 00:38:44,bin2324,35, +abc,2325,2325,2325,1976-05-14,232.1999999999911,232.20497,2015-01-01 00:38:45,bin2325,75, +abc,2326,2326,2326,1976-05-15,232.2999999999911,232.30498,2015-01-01 00:38:46,bin2326,35, +abc,2327,2327,2327,1976-05-16,232.39999999999108,232.40498,2015-01-01 00:38:47,bin2327,75, +abc,2328,2328,2328,1976-05-17,232.49999999999108,232.50499,2015-01-01 00:38:48,bin2328,35, +abc,2329,2329,2329,1976-05-18,232.59999999999107,232.605,2015-01-01 00:38:49,bin2329,75, +abc,2330,2330,2330,1976-05-19,232.69999999999106,232.705,2015-01-01 00:38:50,bin2330,35, +abc,2331,2331,2331,1976-05-20,232.79999999999106,232.80501,2015-01-01 00:38:51,bin2331,75, +abc,2332,2332,2332,1976-05-21,232.89999999999105,232.90501,2015-01-01 00:38:52,bin2332,35, +abc,2333,2333,2333,1976-05-22,232.99999999999105,233.00502,2015-01-01 00:38:53,bin2333,75, +abc,2334,2334,2334,1976-05-23,233.09999999999104,233.10503,2015-01-01 00:38:54,bin2334,35, +abc,2335,2335,2335,1976-05-24,233.19999999999104,233.20503,2015-01-01 00:38:55,bin2335,75, +abc,2336,2336,2336,1976-05-25,233.29999999999103,233.30504,2015-01-01 00:38:56,bin2336,35, +abc,2337,2337,2337,1976-05-26,233.39999999999102,233.40504,2015-01-01 00:38:57,bin2337,75, +abc,2338,2338,2338,1976-05-27,233.49999999999102,233.50505,2015-01-01 00:38:58,bin2338,35, +abc,2339,2339,2339,1976-05-28,233.599999999991,233.60506,2015-01-01 00:38:59,bin2339,75, +abc,2340,2340,2340,1976-05-29,233.699999999991,233.70506,2015-01-01 00:39:00,bin2340,35, +abc,2341,2341,2341,1976-05-30,233.799999999991,233.80507,2015-01-01 00:39:01,bin2341,75, +abc,2342,2342,2342,1976-05-31,233.899999999991,233.90508,2015-01-01 00:39:02,bin2342,35, +abc,2343,2343,2343,1976-06-01,233.999999999991,234.00508,2015-01-01 00:39:03,bin2343,75, +abc,2344,2344,2344,1976-06-02,234.09999999999098,234.10509,2015-01-01 00:39:04,bin2344,35, +abc,2345,2345,2345,1976-06-03,234.19999999999098,234.2051,2015-01-01 00:39:05,bin2345,75, +abc,2346,2346,2346,1976-06-04,234.29999999999097,234.3051,2015-01-01 00:39:06,bin2346,35, +abc,2347,2347,2347,1976-06-05,234.39999999999097,234.4051,2015-01-01 00:39:07,bin2347,75, +abc,2348,2348,2348,1976-06-06,234.49999999999096,234.50511,2015-01-01 00:39:08,bin2348,35, +abc,2349,2349,2349,1976-06-07,234.59999999999096,234.60512,2015-01-01 00:39:09,bin2349,75, +abc,2350,2350,2350,1976-06-08,234.69999999999095,234.70512,2015-01-01 00:39:10,bin2350,35, +abc,2351,2351,2351,1976-06-09,234.79999999999094,234.80513,2015-01-01 00:39:11,bin2351,75, +abc,2352,2352,2352,1976-06-10,234.89999999999094,234.90514,2015-01-01 00:39:12,bin2352,35, +abc,2353,2353,2353,1976-06-11,234.99999999999093,235.00514,2015-01-01 00:39:13,bin2353,75, +abc,2354,2354,2354,1976-06-12,235.09999999999093,235.10515,2015-01-01 00:39:14,bin2354,35, +abc,2355,2355,2355,1976-06-13,235.19999999999092,235.20515,2015-01-01 00:39:15,bin2355,75, +abc,2356,2356,2356,1976-06-14,235.29999999999092,235.30516,2015-01-01 00:39:16,bin2356,35, +abc,2357,2357,2357,1976-06-15,235.3999999999909,235.40517,2015-01-01 00:39:17,bin2357,75, +abc,2358,2358,2358,1976-06-16,235.4999999999909,235.50517,2015-01-01 00:39:18,bin2358,35, +abc,2359,2359,2359,1976-06-17,235.5999999999909,235.60518,2015-01-01 00:39:19,bin2359,75, +abc,2360,2360,2360,1976-06-18,235.6999999999909,235.70518,2015-01-01 00:39:20,bin2360,35, +abc,2361,2361,2361,1976-06-19,235.7999999999909,235.80519,2015-01-01 00:39:21,bin2361,75, +abc,2362,2362,2362,1976-06-20,235.89999999999088,235.9052,2015-01-01 00:39:22,bin2362,35, +abc,2363,2363,2363,1976-06-21,235.99999999999088,236.0052,2015-01-01 00:39:23,bin2363,75, +abc,2364,2364,2364,1976-06-22,236.09999999999087,236.10521,2015-01-01 00:39:24,bin2364,35, +abc,2365,2365,2365,1976-06-23,236.19999999999087,236.20522,2015-01-01 00:39:25,bin2365,75, +abc,2366,2366,2366,1976-06-24,236.29999999999086,236.30522,2015-01-01 00:39:26,bin2366,35, +abc,2367,2367,2367,1976-06-25,236.39999999999085,236.40523,2015-01-01 00:39:27,bin2367,75, +abc,2368,2368,2368,1976-06-26,236.49999999999085,236.50523,2015-01-01 00:39:28,bin2368,35, +abc,2369,2369,2369,1976-06-27,236.59999999999084,236.60524,2015-01-01 00:39:29,bin2369,75, +abc,2370,2370,2370,1976-06-28,236.69999999999084,236.70525,2015-01-01 00:39:30,bin2370,35, +abc,2371,2371,2371,1976-06-29,236.79999999999083,236.80525,2015-01-01 00:39:31,bin2371,75, +abc,2372,2372,2372,1976-06-30,236.89999999999083,236.90526,2015-01-01 00:39:32,bin2372,35, +abc,2373,2373,2373,1976-07-01,236.99999999999082,237.00526,2015-01-01 00:39:33,bin2373,75, +abc,2374,2374,2374,1976-07-02,237.0999999999908,237.10527,2015-01-01 00:39:34,bin2374,35, +abc,2375,2375,2375,1976-07-03,237.1999999999908,237.20528,2015-01-01 00:39:35,bin2375,75, +abc,2376,2376,2376,1976-07-04,237.2999999999908,237.30528,2015-01-01 00:39:36,bin2376,35, +abc,2377,2377,2377,1976-07-05,237.3999999999908,237.40529,2015-01-01 00:39:37,bin2377,75, +abc,2378,2378,2378,1976-07-06,237.4999999999908,237.5053,2015-01-01 00:39:38,bin2378,35, +abc,2379,2379,2379,1976-07-07,237.59999999999079,237.6053,2015-01-01 00:39:39,bin2379,75, +abc,2380,2380,2380,1976-07-08,237.69999999999078,237.7053,2015-01-01 00:39:40,bin2380,35, +abc,2381,2381,2381,1976-07-09,237.79999999999077,237.80531,2015-01-01 00:39:41,bin2381,75, +abc,2382,2382,2382,1976-07-10,237.89999999999077,237.90532,2015-01-01 00:39:42,bin2382,35, +abc,2383,2383,2383,1976-07-11,237.99999999999076,238.00533,2015-01-01 00:39:43,bin2383,75, +abc,2384,2384,2384,1976-07-12,238.09999999999076,238.10533,2015-01-01 00:39:44,bin2384,35, +abc,2385,2385,2385,1976-07-13,238.19999999999075,238.20534,2015-01-01 00:39:45,bin2385,75, +abc,2386,2386,2386,1976-07-14,238.29999999999075,238.30534,2015-01-01 00:39:46,bin2386,35, +abc,2387,2387,2387,1976-07-15,238.39999999999074,238.40535,2015-01-01 00:39:47,bin2387,75, +abc,2388,2388,2388,1976-07-16,238.49999999999073,238.50536,2015-01-01 00:39:48,bin2388,35, +abc,2389,2389,2389,1976-07-17,238.59999999999073,238.60536,2015-01-01 00:39:49,bin2389,75, +abc,2390,2390,2390,1976-07-18,238.69999999999072,238.70537,2015-01-01 00:39:50,bin2390,35, +abc,2391,2391,2391,1976-07-19,238.79999999999072,238.80537,2015-01-01 00:39:51,bin2391,75, +abc,2392,2392,2392,1976-07-20,238.8999999999907,238.90538,2015-01-01 00:39:52,bin2392,35, +abc,2393,2393,2393,1976-07-21,238.9999999999907,239.00539,2015-01-01 00:39:53,bin2393,75, +abc,2394,2394,2394,1976-07-22,239.0999999999907,239.1054,2015-01-01 00:39:54,bin2394,35, +abc,2395,2395,2395,1976-07-23,239.1999999999907,239.2054,2015-01-01 00:39:55,bin2395,75, +abc,2396,2396,2396,1976-07-24,239.2999999999907,239.3054,2015-01-01 00:39:56,bin2396,35, +abc,2397,2397,2397,1976-07-25,239.39999999999068,239.40541,2015-01-01 00:39:57,bin2397,75, +abc,2398,2398,2398,1976-07-26,239.49999999999068,239.50542,2015-01-01 00:39:58,bin2398,35, +abc,2399,2399,2399,1976-07-27,239.59999999999067,239.60542,2015-01-01 00:39:59,bin2399,75, +abc,2400,2400,2400,1976-07-28,239.69999999999067,239.70543,2015-01-01 00:40:00,bin2400,35, +abc,2401,2401,2401,1976-07-29,239.79999999999066,239.80544,2015-01-01 00:40:01,bin2401,75, +abc,2402,2402,2402,1976-07-30,239.89999999999065,239.90544,2015-01-01 00:40:02,bin2402,35, +abc,2403,2403,2403,1976-07-31,239.99999999999065,240.00545,2015-01-01 00:40:03,bin2403,75, +abc,2404,2404,2404,1976-08-01,240.09999999999064,240.10545,2015-01-01 00:40:04,bin2404,35, +abc,2405,2405,2405,1976-08-02,240.19999999999064,240.20546,2015-01-01 00:40:05,bin2405,75, +abc,2406,2406,2406,1976-08-03,240.29999999999063,240.30547,2015-01-01 00:40:06,bin2406,35, +abc,2407,2407,2407,1976-08-04,240.39999999999063,240.40547,2015-01-01 00:40:07,bin2407,75, +abc,2408,2408,2408,1976-08-05,240.49999999999062,240.50548,2015-01-01 00:40:08,bin2408,35, +abc,2409,2409,2409,1976-08-06,240.59999999999062,240.60548,2015-01-01 00:40:09,bin2409,75, +abc,2410,2410,2410,1976-08-07,240.6999999999906,240.70549,2015-01-01 00:40:10,bin2410,35, +abc,2411,2411,2411,1976-08-08,240.7999999999906,240.8055,2015-01-01 00:40:11,bin2411,75, +abc,2412,2412,2412,1976-08-09,240.8999999999906,240.9055,2015-01-01 00:40:12,bin2412,35, +abc,2413,2413,2413,1976-08-10,240.9999999999906,241.00551,2015-01-01 00:40:13,bin2413,75, +abc,2414,2414,2414,1976-08-11,241.0999999999906,241.10551,2015-01-01 00:40:14,bin2414,35, +abc,2415,2415,2415,1976-08-12,241.19999999999058,241.20552,2015-01-01 00:40:15,bin2415,75, +abc,2416,2416,2416,1976-08-13,241.29999999999058,241.30553,2015-01-01 00:40:16,bin2416,35, +abc,2417,2417,2417,1976-08-14,241.39999999999057,241.40553,2015-01-01 00:40:17,bin2417,75, +abc,2418,2418,2418,1976-08-15,241.49999999999056,241.50554,2015-01-01 00:40:18,bin2418,35, +abc,2419,2419,2419,1976-08-16,241.59999999999056,241.60555,2015-01-01 00:40:19,bin2419,75, +abc,2420,2420,2420,1976-08-17,241.69999999999055,241.70555,2015-01-01 00:40:20,bin2420,35, +abc,2421,2421,2421,1976-08-18,241.79999999999055,241.80556,2015-01-01 00:40:21,bin2421,75, +abc,2422,2422,2422,1976-08-19,241.89999999999054,241.90556,2015-01-01 00:40:22,bin2422,35, +abc,2423,2423,2423,1976-08-20,241.99999999999054,242.00557,2015-01-01 00:40:23,bin2423,75, +abc,2424,2424,2424,1976-08-21,242.09999999999053,242.10558,2015-01-01 00:40:24,bin2424,35, +abc,2425,2425,2425,1976-08-22,242.19999999999052,242.20558,2015-01-01 00:40:25,bin2425,75, +abc,2426,2426,2426,1976-08-23,242.29999999999052,242.30559,2015-01-01 00:40:26,bin2426,35, +abc,2427,2427,2427,1976-08-24,242.3999999999905,242.4056,2015-01-01 00:40:27,bin2427,75, +abc,2428,2428,2428,1976-08-25,242.4999999999905,242.5056,2015-01-01 00:40:28,bin2428,35, +abc,2429,2429,2429,1976-08-26,242.5999999999905,242.6056,2015-01-01 00:40:29,bin2429,75, +abc,2430,2430,2430,1976-08-27,242.6999999999905,242.70561,2015-01-01 00:40:30,bin2430,35, +abc,2431,2431,2431,1976-08-28,242.7999999999905,242.80562,2015-01-01 00:40:31,bin2431,75, +abc,2432,2432,2432,1976-08-29,242.89999999999048,242.90562,2015-01-01 00:40:32,bin2432,35, +abc,2433,2433,2433,1976-08-30,242.99999999999048,243.00563,2015-01-01 00:40:33,bin2433,75, +abc,2434,2434,2434,1976-08-31,243.09999999999047,243.10564,2015-01-01 00:40:34,bin2434,35, +abc,2435,2435,2435,1976-09-01,243.19999999999047,243.20564,2015-01-01 00:40:35,bin2435,75, +abc,2436,2436,2436,1976-09-02,243.29999999999046,243.30565,2015-01-01 00:40:36,bin2436,35, +abc,2437,2437,2437,1976-09-03,243.39999999999046,243.40565,2015-01-01 00:40:37,bin2437,75, +abc,2438,2438,2438,1976-09-04,243.49999999999045,243.50566,2015-01-01 00:40:38,bin2438,35, +abc,2439,2439,2439,1976-09-05,243.59999999999044,243.60567,2015-01-01 00:40:39,bin2439,75, +abc,2440,2440,2440,1976-09-06,243.69999999999044,243.70567,2015-01-01 00:40:40,bin2440,35, +abc,2441,2441,2441,1976-09-07,243.79999999999043,243.80568,2015-01-01 00:40:41,bin2441,75, +abc,2442,2442,2442,1976-09-08,243.89999999999043,243.90569,2015-01-01 00:40:42,bin2442,35, +abc,2443,2443,2443,1976-09-09,243.99999999999042,244.00569,2015-01-01 00:40:43,bin2443,75, +abc,2444,2444,2444,1976-09-10,244.09999999999042,244.1057,2015-01-01 00:40:44,bin2444,35, +abc,2445,2445,2445,1976-09-11,244.1999999999904,244.2057,2015-01-01 00:40:45,bin2445,75, +abc,2446,2446,2446,1976-09-12,244.2999999999904,244.30571,2015-01-01 00:40:46,bin2446,35, +abc,2447,2447,2447,1976-09-13,244.3999999999904,244.40572,2015-01-01 00:40:47,bin2447,75, +abc,2448,2448,2448,1976-09-14,244.4999999999904,244.50572,2015-01-01 00:40:48,bin2448,35, +abc,2449,2449,2449,1976-09-15,244.5999999999904,244.60573,2015-01-01 00:40:49,bin2449,75, +abc,2450,2450,2450,1976-09-16,244.69999999999038,244.70573,2015-01-01 00:40:50,bin2450,35, +abc,2451,2451,2451,1976-09-17,244.79999999999038,244.80574,2015-01-01 00:40:51,bin2451,75, +abc,2452,2452,2452,1976-09-18,244.89999999999037,244.90575,2015-01-01 00:40:52,bin2452,35, +abc,2453,2453,2453,1976-09-19,244.99999999999037,245.00575,2015-01-01 00:40:53,bin2453,75, +abc,2454,2454,2454,1976-09-20,245.09999999999036,245.10576,2015-01-01 00:40:54,bin2454,35, +abc,2455,2455,2455,1976-09-21,245.19999999999035,245.20576,2015-01-01 00:40:55,bin2455,75, +abc,2456,2456,2456,1976-09-22,245.29999999999035,245.30577,2015-01-01 00:40:56,bin2456,35, +abc,2457,2457,2457,1976-09-23,245.39999999999034,245.40578,2015-01-01 00:40:57,bin2457,75, +abc,2458,2458,2458,1976-09-24,245.49999999999034,245.50578,2015-01-01 00:40:58,bin2458,35, +abc,2459,2459,2459,1976-09-25,245.59999999999033,245.60579,2015-01-01 00:40:59,bin2459,75, +abc,2460,2460,2460,1976-09-26,245.69999999999033,245.7058,2015-01-01 00:41:00,bin2460,35, +abc,2461,2461,2461,1976-09-27,245.79999999999032,245.8058,2015-01-01 00:41:01,bin2461,75, +abc,2462,2462,2462,1976-09-28,245.8999999999903,245.9058,2015-01-01 00:41:02,bin2462,35, +abc,2463,2463,2463,1976-09-29,245.9999999999903,246.00581,2015-01-01 00:41:03,bin2463,75, +abc,2464,2464,2464,1976-09-30,246.0999999999903,246.10582,2015-01-01 00:41:04,bin2464,35, +abc,2465,2465,2465,1976-10-01,246.1999999999903,246.20583,2015-01-01 00:41:05,bin2465,75, +abc,2466,2466,2466,1976-10-02,246.2999999999903,246.30583,2015-01-01 00:41:06,bin2466,35, +abc,2467,2467,2467,1976-10-03,246.39999999999029,246.40584,2015-01-01 00:41:07,bin2467,75, +abc,2468,2468,2468,1976-10-04,246.49999999999028,246.50584,2015-01-01 00:41:08,bin2468,35, +abc,2469,2469,2469,1976-10-05,246.59999999999027,246.60585,2015-01-01 00:41:09,bin2469,75, +abc,2470,2470,2470,1976-10-06,246.69999999999027,246.70586,2015-01-01 00:41:10,bin2470,35, +abc,2471,2471,2471,1976-10-07,246.79999999999026,246.80586,2015-01-01 00:41:11,bin2471,75, +abc,2472,2472,2472,1976-10-08,246.89999999999026,246.90587,2015-01-01 00:41:12,bin2472,35, +abc,2473,2473,2473,1976-10-09,246.99999999999025,247.00587,2015-01-01 00:41:13,bin2473,75, +abc,2474,2474,2474,1976-10-10,247.09999999999025,247.10588,2015-01-01 00:41:14,bin2474,35, +abc,2475,2475,2475,1976-10-11,247.19999999999024,247.20589,2015-01-01 00:41:15,bin2475,75, +abc,2476,2476,2476,1976-10-12,247.29999999999023,247.3059,2015-01-01 00:41:16,bin2476,35, +abc,2477,2477,2477,1976-10-13,247.39999999999023,247.4059,2015-01-01 00:41:17,bin2477,75, +abc,2478,2478,2478,1976-10-14,247.49999999999022,247.5059,2015-01-01 00:41:18,bin2478,35, +abc,2479,2479,2479,1976-10-15,247.59999999999022,247.60591,2015-01-01 00:41:19,bin2479,75, +abc,2480,2480,2480,1976-10-16,247.6999999999902,247.70592,2015-01-01 00:41:20,bin2480,35, +abc,2481,2481,2481,1976-10-17,247.7999999999902,247.80592,2015-01-01 00:41:21,bin2481,75, +abc,2482,2482,2482,1976-10-18,247.8999999999902,247.90593,2015-01-01 00:41:22,bin2482,35, +abc,2483,2483,2483,1976-10-19,247.9999999999902,248.00594,2015-01-01 00:41:23,bin2483,75, +abc,2484,2484,2484,1976-10-20,248.0999999999902,248.10594,2015-01-01 00:41:24,bin2484,35, +abc,2485,2485,2485,1976-10-21,248.19999999999018,248.20595,2015-01-01 00:41:25,bin2485,75, +abc,2486,2486,2486,1976-10-22,248.29999999999018,248.30595,2015-01-01 00:41:26,bin2486,35, +abc,2487,2487,2487,1976-10-23,248.39999999999017,248.40596,2015-01-01 00:41:27,bin2487,75, +abc,2488,2488,2488,1976-10-24,248.49999999999017,248.50597,2015-01-01 00:41:28,bin2488,35, +abc,2489,2489,2489,1976-10-25,248.59999999999016,248.60597,2015-01-01 00:41:29,bin2489,75, +abc,2490,2490,2490,1976-10-26,248.69999999999015,248.70598,2015-01-01 00:41:30,bin2490,35, +abc,2491,2491,2491,1976-10-27,248.79999999999015,248.80598,2015-01-01 00:41:31,bin2491,75, +abc,2492,2492,2492,1976-10-28,248.89999999999014,248.90599,2015-01-01 00:41:32,bin2492,35, +abc,2493,2493,2493,1976-10-29,248.99999999999014,249.006,2015-01-01 00:41:33,bin2493,75, +abc,2494,2494,2494,1976-10-30,249.09999999999013,249.106,2015-01-01 00:41:34,bin2494,35, +abc,2495,2495,2495,1976-10-31,249.19999999999013,249.20601,2015-01-01 00:41:35,bin2495,75, +abc,2496,2496,2496,1976-11-01,249.29999999999012,249.30602,2015-01-01 00:41:36,bin2496,35, +abc,2497,2497,2497,1976-11-02,249.39999999999011,249.40602,2015-01-01 00:41:37,bin2497,75, +abc,2498,2498,2498,1976-11-03,249.4999999999901,249.50603,2015-01-01 00:41:38,bin2498,35, +abc,2499,2499,2499,1976-11-04,249.5999999999901,249.60603,2015-01-01 00:41:39,bin2499,75, +abc,2500,2500,2500,1976-11-05,249.6999999999901,249.70604,2015-01-01 00:41:40,bin2500,35, +abc,2501,2501,2501,1976-11-06,249.7999999999901,249.80605,2015-01-01 00:41:41,bin2501,75, +abc,2502,2502,2502,1976-11-07,249.8999999999901,249.90605,2015-01-01 00:41:42,bin2502,35, +abc,2503,2503,2503,1976-11-08,249.99999999999008,250.00606,2015-01-01 00:41:43,bin2503,75, +abc,2504,2504,2504,1976-11-09,250.09999999999008,250.10606,2015-01-01 00:41:44,bin2504,35, +abc,2505,2505,2505,1976-11-10,250.19999999999007,250.20607,2015-01-01 00:41:45,bin2505,75, +abc,2506,2506,2506,1976-11-11,250.29999999999006,250.30608,2015-01-01 00:41:46,bin2506,35, +abc,2507,2507,2507,1976-11-12,250.39999999999006,250.40608,2015-01-01 00:41:47,bin2507,75, +abc,2508,2508,2508,1976-11-13,250.49999999999005,250.50609,2015-01-01 00:41:48,bin2508,35, +abc,2509,2509,2509,1976-11-14,250.59999999999005,250.6061,2015-01-01 00:41:49,bin2509,75, +abc,2510,2510,2510,1976-11-15,250.69999999999004,250.7061,2015-01-01 00:41:50,bin2510,35, +abc,2511,2511,2511,1976-11-16,250.79999999999004,250.8061,2015-01-01 00:41:51,bin2511,75, +abc,2512,2512,2512,1976-11-17,250.89999999999003,250.90611,2015-01-01 00:41:52,bin2512,35, +abc,2513,2513,2513,1976-11-18,250.99999999999002,251.00612,2015-01-01 00:41:53,bin2513,75, +abc,2514,2514,2514,1976-11-19,251.09999999999002,251.10612,2015-01-01 00:41:54,bin2514,35, +abc,2515,2515,2515,1976-11-20,251.19999999999,251.20613,2015-01-01 00:41:55,bin2515,75, +abc,2516,2516,2516,1976-11-21,251.29999999999,251.30614,2015-01-01 00:41:56,bin2516,35, +abc,2517,2517,2517,1976-11-22,251.39999999999,251.40614,2015-01-01 00:41:57,bin2517,75, +abc,2518,2518,2518,1976-11-23,251.49999999999,251.50615,2015-01-01 00:41:58,bin2518,35, +abc,2519,2519,2519,1976-11-24,251.59999999999,251.60616,2015-01-01 00:41:59,bin2519,75, +abc,2520,2520,2520,1976-11-25,251.69999999998998,251.70616,2015-01-01 00:42:00,bin2520,35, +abc,2521,2521,2521,1976-11-26,251.79999999998998,251.80617,2015-01-01 00:42:01,bin2521,75, +abc,2522,2522,2522,1976-11-27,251.89999999998997,251.90617,2015-01-01 00:42:02,bin2522,35, +abc,2523,2523,2523,1976-11-28,251.99999999998997,252.00618,2015-01-01 00:42:03,bin2523,75, +abc,2524,2524,2524,1976-11-29,252.09999999998996,252.10619,2015-01-01 00:42:04,bin2524,35, +abc,2525,2525,2525,1976-11-30,252.19999999998996,252.20619,2015-01-01 00:42:05,bin2525,75, +abc,2526,2526,2526,1976-12-01,252.29999999998995,252.3062,2015-01-01 00:42:06,bin2526,35, +abc,2527,2527,2527,1976-12-02,252.39999999998994,252.4062,2015-01-01 00:42:07,bin2527,75, +abc,2528,2528,2528,1976-12-03,252.49999999998994,252.50621,2015-01-01 00:42:08,bin2528,35, +abc,2529,2529,2529,1976-12-04,252.59999999998993,252.60622,2015-01-01 00:42:09,bin2529,75, +abc,2530,2530,2530,1976-12-05,252.69999999998993,252.70622,2015-01-01 00:42:10,bin2530,35, +abc,2531,2531,2531,1976-12-06,252.79999999998992,252.80623,2015-01-01 00:42:11,bin2531,75, +abc,2532,2532,2532,1976-12-07,252.89999999998992,252.90623,2015-01-01 00:42:12,bin2532,35, +abc,2533,2533,2533,1976-12-08,252.9999999999899,253.00624,2015-01-01 00:42:13,bin2533,75, +abc,2534,2534,2534,1976-12-09,253.0999999999899,253.10625,2015-01-01 00:42:14,bin2534,35, +abc,2535,2535,2535,1976-12-10,253.1999999999899,253.20625,2015-01-01 00:42:15,bin2535,75, +abc,2536,2536,2536,1976-12-11,253.2999999999899,253.30626,2015-01-01 00:42:16,bin2536,35, +abc,2537,2537,2537,1976-12-12,253.3999999999899,253.40627,2015-01-01 00:42:17,bin2537,75, +abc,2538,2538,2538,1976-12-13,253.49999999998988,253.50627,2015-01-01 00:42:18,bin2538,35, +abc,2539,2539,2539,1976-12-14,253.59999999998988,253.60628,2015-01-01 00:42:19,bin2539,75, +abc,2540,2540,2540,1976-12-15,253.69999999998987,253.70628,2015-01-01 00:42:20,bin2540,35, +abc,2541,2541,2541,1976-12-16,253.79999999998986,253.80629,2015-01-01 00:42:21,bin2541,75, +abc,2542,2542,2542,1976-12-17,253.89999999998986,253.9063,2015-01-01 00:42:22,bin2542,35, +abc,2543,2543,2543,1976-12-18,253.99999999998985,254.0063,2015-01-01 00:42:23,bin2543,75, +abc,2544,2544,2544,1976-12-19,254.09999999998985,254.10631,2015-01-01 00:42:24,bin2544,35, +abc,2545,2545,2545,1976-12-20,254.19999999998984,254.20631,2015-01-01 00:42:25,bin2545,75, +abc,2546,2546,2546,1976-12-21,254.29999999998984,254.30632,2015-01-01 00:42:26,bin2546,35, +abc,2547,2547,2547,1976-12-22,254.39999999998983,254.40633,2015-01-01 00:42:27,bin2547,75, +abc,2548,2548,2548,1976-12-23,254.49999999998983,254.50633,2015-01-01 00:42:28,bin2548,35, +abc,2549,2549,2549,1976-12-24,254.59999999998982,254.60634,2015-01-01 00:42:29,bin2549,75, +abc,2550,2550,2550,1976-12-25,254.6999999999898,254.70634,2015-01-01 00:42:30,bin2550,35, +abc,2551,2551,2551,1976-12-26,254.7999999999898,254.80635,2015-01-01 00:42:31,bin2551,75, +abc,2552,2552,2552,1976-12-27,254.8999999999898,254.90636,2015-01-01 00:42:32,bin2552,35, +abc,2553,2553,2553,1976-12-28,254.9999999999898,255.00636,2015-01-01 00:42:33,bin2553,75, +abc,2554,2554,2554,1976-12-29,255.0999999999898,255.10637,2015-01-01 00:42:34,bin2554,35, +abc,2555,2555,2555,1976-12-30,255.19999999998979,255.20638,2015-01-01 00:42:35,bin2555,75, +abc,2556,2556,2556,1976-12-31,255.29999999998978,255.30638,2015-01-01 00:42:36,bin2556,35, +abc,2557,2557,2557,1977-01-01,255.39999999998977,255.40639,2015-01-01 00:42:37,bin2557,75, +abc,2558,2558,2558,1977-01-02,255.49999999998977,255.5064,2015-01-01 00:42:38,bin2558,35, +abc,2559,2559,2559,1977-01-03,255.59999999998976,255.6064,2015-01-01 00:42:39,bin2559,75, +abc,2560,2560,2560,1977-01-04,255.69999999998976,255.7064,2015-01-01 00:42:40,bin2560,35, +abc,2561,2561,2561,1977-01-05,255.79999999998975,255.80641,2015-01-01 00:42:41,bin2561,75, +abc,2562,2562,2562,1977-01-06,255.89999999998975,255.90642,2015-01-01 00:42:42,bin2562,35, +abc,2563,2563,2563,1977-01-07,255.99999999998974,256.0064,2015-01-01 00:42:43,bin2563,75, +abc,2564,2564,2564,1977-01-08,256.09999999998973,256.1064,2015-01-01 00:42:44,bin2564,35, +abc,2565,2565,2565,1977-01-09,256.19999999998976,256.20642,2015-01-01 00:42:45,bin2565,75, +abc,2566,2566,2566,1977-01-10,256.2999999999898,256.30643,2015-01-01 00:42:46,bin2566,35, +abc,2567,2567,2567,1977-01-11,256.3999999999898,256.40643,2015-01-01 00:42:47,bin2567,75, +abc,2568,2568,2568,1977-01-12,256.4999999999898,256.50644,2015-01-01 00:42:48,bin2568,35, +abc,2569,2569,2569,1977-01-13,256.59999999998985,256.60645,2015-01-01 00:42:49,bin2569,75, +abc,2570,2570,2570,1977-01-14,256.69999999998987,256.70645,2015-01-01 00:42:50,bin2570,35, +abc,2571,2571,2571,1977-01-15,256.7999999999899,256.80646,2015-01-01 00:42:51,bin2571,75, +abc,2572,2572,2572,1977-01-16,256.8999999999899,256.90646,2015-01-01 00:42:52,bin2572,35, +abc,2573,2573,2573,1977-01-17,256.99999999998994,257.00647,2015-01-01 00:42:53,bin2573,75, +abc,2574,2574,2574,1977-01-18,257.09999999998996,257.10648,2015-01-01 00:42:54,bin2574,35, +abc,2575,2575,2575,1977-01-19,257.19999999999,257.20648,2015-01-01 00:42:55,bin2575,75, +abc,2576,2576,2576,1977-01-20,257.29999999999,257.3065,2015-01-01 00:42:56,bin2576,35, +abc,2577,2577,2577,1977-01-21,257.39999999999003,257.4065,2015-01-01 00:42:57,bin2577,75, +abc,2578,2578,2578,1977-01-22,257.49999999999005,257.5065,2015-01-01 00:42:58,bin2578,35, +abc,2579,2579,2579,1977-01-23,257.5999999999901,257.6065,2015-01-01 00:42:59,bin2579,75, +abc,2580,2580,2580,1977-01-24,257.6999999999901,257.7065,2015-01-01 00:43:00,bin2580,35, +abc,2581,2581,2581,1977-01-25,257.7999999999901,257.80652,2015-01-01 00:43:01,bin2581,75, +abc,2582,2582,2582,1977-01-26,257.89999999999014,257.90652,2015-01-01 00:43:02,bin2582,35, +abc,2583,2583,2583,1977-01-27,257.99999999999017,258.00653,2015-01-01 00:43:03,bin2583,75, +abc,2584,2584,2584,1977-01-28,258.0999999999902,258.10654,2015-01-01 00:43:04,bin2584,35, +abc,2585,2585,2585,1977-01-29,258.1999999999902,258.20654,2015-01-01 00:43:05,bin2585,75, +abc,2586,2586,2586,1977-01-30,258.29999999999023,258.30655,2015-01-01 00:43:06,bin2586,35, +abc,2587,2587,2587,1977-01-31,258.39999999999026,258.40656,2015-01-01 00:43:07,bin2587,75, +abc,2588,2588,2588,1977-02-01,258.4999999999903,258.50656,2015-01-01 00:43:08,bin2588,35, +abc,2589,2589,2589,1977-02-02,258.5999999999903,258.60657,2015-01-01 00:43:09,bin2589,75, +abc,2590,2590,2590,1977-02-03,258.6999999999903,258.70657,2015-01-01 00:43:10,bin2590,35, +abc,2591,2591,2591,1977-02-04,258.79999999999035,258.80658,2015-01-01 00:43:11,bin2591,75, +abc,2592,2592,2592,1977-02-05,258.89999999999037,258.9066,2015-01-01 00:43:12,bin2592,35, +abc,2593,2593,2593,1977-02-06,258.9999999999904,259.0066,2015-01-01 00:43:13,bin2593,75, +abc,2594,2594,2594,1977-02-07,259.0999999999904,259.1066,2015-01-01 00:43:14,bin2594,35, +abc,2595,2595,2595,1977-02-08,259.19999999999044,259.2066,2015-01-01 00:43:15,bin2595,75, +abc,2596,2596,2596,1977-02-09,259.29999999999046,259.3066,2015-01-01 00:43:16,bin2596,35, +abc,2597,2597,2597,1977-02-10,259.3999999999905,259.40662,2015-01-01 00:43:17,bin2597,75, +abc,2598,2598,2598,1977-02-11,259.4999999999905,259.50662,2015-01-01 00:43:18,bin2598,35, +abc,2599,2599,2599,1977-02-12,259.59999999999053,259.60663,2015-01-01 00:43:19,bin2599,75, +abc,2600,2600,2600,1977-02-13,259.69999999999055,259.70663,2015-01-01 00:43:20,bin2600,35, +abc,2601,2601,2601,1977-02-14,259.7999999999906,259.80664,2015-01-01 00:43:21,bin2601,75, +abc,2602,2602,2602,1977-02-15,259.8999999999906,259.90665,2015-01-01 00:43:22,bin2602,35, +abc,2603,2603,2603,1977-02-16,259.9999999999906,260.00665,2015-01-01 00:43:23,bin2603,75, +abc,2604,2604,2604,1977-02-17,260.09999999999064,260.10666,2015-01-01 00:43:24,bin2604,35, +abc,2605,2605,2605,1977-02-18,260.19999999999067,260.20667,2015-01-01 00:43:25,bin2605,75, +abc,2606,2606,2606,1977-02-19,260.2999999999907,260.30667,2015-01-01 00:43:26,bin2606,35, +abc,2607,2607,2607,1977-02-20,260.3999999999907,260.40668,2015-01-01 00:43:27,bin2607,75, +abc,2608,2608,2608,1977-02-21,260.49999999999073,260.50668,2015-01-01 00:43:28,bin2608,35, +abc,2609,2609,2609,1977-02-22,260.59999999999076,260.6067,2015-01-01 00:43:29,bin2609,75, +abc,2610,2610,2610,1977-02-23,260.6999999999908,260.7067,2015-01-01 00:43:30,bin2610,35, +abc,2611,2611,2611,1977-02-24,260.7999999999908,260.8067,2015-01-01 00:43:31,bin2611,75, +abc,2612,2612,2612,1977-02-25,260.8999999999908,260.9067,2015-01-01 00:43:32,bin2612,35, +abc,2613,2613,2613,1977-02-26,260.99999999999085,261.0067,2015-01-01 00:43:33,bin2613,75, +abc,2614,2614,2614,1977-02-27,261.09999999999087,261.10672,2015-01-01 00:43:34,bin2614,35, +abc,2615,2615,2615,1977-02-28,261.1999999999909,261.20673,2015-01-01 00:43:35,bin2615,75, +abc,2616,2616,2616,1977-03-01,261.2999999999909,261.30673,2015-01-01 00:43:36,bin2616,35, +abc,2617,2617,2617,1977-03-02,261.39999999999094,261.40674,2015-01-01 00:43:37,bin2617,75, +abc,2618,2618,2618,1977-03-03,261.49999999999096,261.50674,2015-01-01 00:43:38,bin2618,35, +abc,2619,2619,2619,1977-03-04,261.599999999991,261.60675,2015-01-01 00:43:39,bin2619,75, +abc,2620,2620,2620,1977-03-05,261.699999999991,261.70676,2015-01-01 00:43:40,bin2620,35, +abc,2621,2621,2621,1977-03-06,261.79999999999103,261.80676,2015-01-01 00:43:41,bin2621,75, +abc,2622,2622,2622,1977-03-07,261.89999999999105,261.90677,2015-01-01 00:43:42,bin2622,35, +abc,2623,2623,2623,1977-03-08,261.9999999999911,262.00677,2015-01-01 00:43:43,bin2623,75, +abc,2624,2624,2624,1977-03-09,262.0999999999911,262.10678,2015-01-01 00:43:44,bin2624,35, +abc,2625,2625,2625,1977-03-10,262.1999999999911,262.2068,2015-01-01 00:43:45,bin2625,75, +abc,2626,2626,2626,1977-03-11,262.29999999999114,262.3068,2015-01-01 00:43:46,bin2626,35, +abc,2627,2627,2627,1977-03-12,262.39999999999117,262.4068,2015-01-01 00:43:47,bin2627,75, +abc,2628,2628,2628,1977-03-13,262.4999999999912,262.5068,2015-01-01 00:43:48,bin2628,35, +abc,2629,2629,2629,1977-03-14,262.5999999999912,262.6068,2015-01-01 00:43:49,bin2629,75, +abc,2630,2630,2630,1977-03-15,262.69999999999123,262.70682,2015-01-01 00:43:50,bin2630,35, +abc,2631,2631,2631,1977-03-16,262.79999999999126,262.80682,2015-01-01 00:43:51,bin2631,75, +abc,2632,2632,2632,1977-03-17,262.8999999999913,262.90683,2015-01-01 00:43:52,bin2632,35, +abc,2633,2633,2633,1977-03-18,262.9999999999913,263.00684,2015-01-01 00:43:53,bin2633,75, +abc,2634,2634,2634,1977-03-19,263.0999999999913,263.10684,2015-01-01 00:43:54,bin2634,35, +abc,2635,2635,2635,1977-03-20,263.19999999999135,263.20685,2015-01-01 00:43:55,bin2635,75, +abc,2636,2636,2636,1977-03-21,263.29999999999137,263.30685,2015-01-01 00:43:56,bin2636,35, +abc,2637,2637,2637,1977-03-22,263.3999999999914,263.40686,2015-01-01 00:43:57,bin2637,75, +abc,2638,2638,2638,1977-03-23,263.4999999999914,263.50687,2015-01-01 00:43:58,bin2638,35, +abc,2639,2639,2639,1977-03-24,263.59999999999144,263.60687,2015-01-01 00:43:59,bin2639,75, +abc,2640,2640,2640,1977-03-25,263.69999999999146,263.70688,2015-01-01 00:44:00,bin2640,35, +abc,2641,2641,2641,1977-03-26,263.7999999999915,263.8069,2015-01-01 00:44:01,bin2641,75, +abc,2642,2642,2642,1977-03-27,263.8999999999915,263.9069,2015-01-01 00:44:02,bin2642,35, +abc,2643,2643,2643,1977-03-28,263.99999999999153,264.0069,2015-01-01 00:44:03,bin2643,75, +abc,2644,2644,2644,1977-03-29,264.09999999999155,264.1069,2015-01-01 00:44:04,bin2644,35, +abc,2645,2645,2645,1977-03-30,264.1999999999916,264.2069,2015-01-01 00:44:05,bin2645,75, +abc,2646,2646,2646,1977-03-31,264.2999999999916,264.30692,2015-01-01 00:44:06,bin2646,35, +abc,2647,2647,2647,1977-04-01,264.3999999999916,264.40692,2015-01-01 00:44:07,bin2647,75, +abc,2648,2648,2648,1977-04-02,264.49999999999164,264.50693,2015-01-01 00:44:08,bin2648,35, +abc,2649,2649,2649,1977-04-03,264.59999999999167,264.60693,2015-01-01 00:44:09,bin2649,75, +abc,2650,2650,2650,1977-04-04,264.6999999999917,264.70694,2015-01-01 00:44:10,bin2650,35, +abc,2651,2651,2651,1977-04-05,264.7999999999917,264.80695,2015-01-01 00:44:11,bin2651,75, +abc,2652,2652,2652,1977-04-06,264.89999999999173,264.90695,2015-01-01 00:44:12,bin2652,35, +abc,2653,2653,2653,1977-04-07,264.99999999999176,265.00696,2015-01-01 00:44:13,bin2653,75, +abc,2654,2654,2654,1977-04-08,265.0999999999918,265.10696,2015-01-01 00:44:14,bin2654,35, +abc,2655,2655,2655,1977-04-09,265.1999999999918,265.20697,2015-01-01 00:44:15,bin2655,75, +abc,2656,2656,2656,1977-04-10,265.2999999999918,265.30698,2015-01-01 00:44:16,bin2656,35, +abc,2657,2657,2657,1977-04-11,265.39999999999185,265.40698,2015-01-01 00:44:17,bin2657,75, +abc,2658,2658,2658,1977-04-12,265.49999999999187,265.507,2015-01-01 00:44:18,bin2658,35, +abc,2659,2659,2659,1977-04-13,265.5999999999919,265.607,2015-01-01 00:44:19,bin2659,75, +abc,2660,2660,2660,1977-04-14,265.6999999999919,265.707,2015-01-01 00:44:20,bin2660,35, +abc,2661,2661,2661,1977-04-15,265.79999999999194,265.807,2015-01-01 00:44:21,bin2661,75, +abc,2662,2662,2662,1977-04-16,265.89999999999196,265.907,2015-01-01 00:44:22,bin2662,35, +abc,2663,2663,2663,1977-04-17,265.999999999992,266.00702,2015-01-01 00:44:23,bin2663,75, +abc,2664,2664,2664,1977-04-18,266.099999999992,266.10703,2015-01-01 00:44:24,bin2664,35, +abc,2665,2665,2665,1977-04-19,266.19999999999203,266.20703,2015-01-01 00:44:25,bin2665,75, +abc,2666,2666,2666,1977-04-20,266.29999999999205,266.30704,2015-01-01 00:44:26,bin2666,35, +abc,2667,2667,2667,1977-04-21,266.3999999999921,266.40704,2015-01-01 00:44:27,bin2667,75, +abc,2668,2668,2668,1977-04-22,266.4999999999921,266.50705,2015-01-01 00:44:28,bin2668,35, +abc,2669,2669,2669,1977-04-23,266.5999999999921,266.60706,2015-01-01 00:44:29,bin2669,75, +abc,2670,2670,2670,1977-04-24,266.69999999999214,266.70706,2015-01-01 00:44:30,bin2670,35, +abc,2671,2671,2671,1977-04-25,266.79999999999217,266.80707,2015-01-01 00:44:31,bin2671,75, +abc,2672,2672,2672,1977-04-26,266.8999999999922,266.90707,2015-01-01 00:44:32,bin2672,35, +abc,2673,2673,2673,1977-04-27,266.9999999999922,267.00708,2015-01-01 00:44:33,bin2673,75, +abc,2674,2674,2674,1977-04-28,267.09999999999224,267.1071,2015-01-01 00:44:34,bin2674,35, +abc,2675,2675,2675,1977-04-29,267.19999999999226,267.2071,2015-01-01 00:44:35,bin2675,75, +abc,2676,2676,2676,1977-04-30,267.2999999999923,267.3071,2015-01-01 00:44:36,bin2676,35, +abc,2677,2677,2677,1977-05-01,267.3999999999923,267.4071,2015-01-01 00:44:37,bin2677,75, +abc,2678,2678,2678,1977-05-02,267.4999999999923,267.5071,2015-01-01 00:44:38,bin2678,35, +abc,2679,2679,2679,1977-05-03,267.59999999999235,267.60712,2015-01-01 00:44:39,bin2679,75, +abc,2680,2680,2680,1977-05-04,267.6999999999924,267.70712,2015-01-01 00:44:40,bin2680,35, +abc,2681,2681,2681,1977-05-05,267.7999999999924,267.80713,2015-01-01 00:44:41,bin2681,75, +abc,2682,2682,2682,1977-05-06,267.8999999999924,267.90714,2015-01-01 00:44:42,bin2682,35, +abc,2683,2683,2683,1977-05-07,267.99999999999244,268.00714,2015-01-01 00:44:43,bin2683,75, +abc,2684,2684,2684,1977-05-08,268.09999999999246,268.10715,2015-01-01 00:44:44,bin2684,35, +abc,2685,2685,2685,1977-05-09,268.1999999999925,268.20715,2015-01-01 00:44:45,bin2685,75, +abc,2686,2686,2686,1977-05-10,268.2999999999925,268.30716,2015-01-01 00:44:46,bin2686,35, +abc,2687,2687,2687,1977-05-11,268.39999999999253,268.40717,2015-01-01 00:44:47,bin2687,75, +abc,2688,2688,2688,1977-05-12,268.49999999999255,268.50717,2015-01-01 00:44:48,bin2688,35, +abc,2689,2689,2689,1977-05-13,268.5999999999926,268.60718,2015-01-01 00:44:49,bin2689,75, +abc,2690,2690,2690,1977-05-14,268.6999999999926,268.70718,2015-01-01 00:44:50,bin2690,35, +abc,2691,2691,2691,1977-05-15,268.7999999999926,268.8072,2015-01-01 00:44:51,bin2691,75, +abc,2692,2692,2692,1977-05-16,268.89999999999264,268.9072,2015-01-01 00:44:52,bin2692,35, +abc,2693,2693,2693,1977-05-17,268.99999999999267,269.0072,2015-01-01 00:44:53,bin2693,75, +abc,2694,2694,2694,1977-05-18,269.0999999999927,269.1072,2015-01-01 00:44:54,bin2694,35, +abc,2695,2695,2695,1977-05-19,269.1999999999927,269.2072,2015-01-01 00:44:55,bin2695,75, +abc,2696,2696,2696,1977-05-20,269.29999999999274,269.30722,2015-01-01 00:44:56,bin2696,35, +abc,2697,2697,2697,1977-05-21,269.39999999999276,269.40723,2015-01-01 00:44:57,bin2697,75, +abc,2698,2698,2698,1977-05-22,269.4999999999928,269.50723,2015-01-01 00:44:58,bin2698,35, +abc,2699,2699,2699,1977-05-23,269.5999999999928,269.60724,2015-01-01 00:44:59,bin2699,75, +abc,2700,2700,2700,1977-05-24,269.6999999999928,269.70724,2015-01-01 00:45:00,bin2700,35, +abc,2701,2701,2701,1977-05-25,269.79999999999285,269.80725,2015-01-01 00:45:01,bin2701,75, +abc,2702,2702,2702,1977-05-26,269.8999999999929,269.90726,2015-01-01 00:45:02,bin2702,35, +abc,2703,2703,2703,1977-05-27,269.9999999999929,270.00726,2015-01-01 00:45:03,bin2703,75, +abc,2704,2704,2704,1977-05-28,270.0999999999929,270.10727,2015-01-01 00:45:04,bin2704,35, +abc,2705,2705,2705,1977-05-29,270.19999999999294,270.20728,2015-01-01 00:45:05,bin2705,75, +abc,2706,2706,2706,1977-05-30,270.29999999999296,270.30728,2015-01-01 00:45:06,bin2706,35, +abc,2707,2707,2707,1977-05-31,270.399999999993,270.4073,2015-01-01 00:45:07,bin2707,75, +abc,2708,2708,2708,1977-06-01,270.499999999993,270.5073,2015-01-01 00:45:08,bin2708,35, +abc,2709,2709,2709,1977-06-02,270.59999999999303,270.6073,2015-01-01 00:45:09,bin2709,75, +abc,2710,2710,2710,1977-06-03,270.69999999999305,270.7073,2015-01-01 00:45:10,bin2710,35, +abc,2711,2711,2711,1977-06-04,270.7999999999931,270.8073,2015-01-01 00:45:11,bin2711,75, +abc,2712,2712,2712,1977-06-05,270.8999999999931,270.90732,2015-01-01 00:45:12,bin2712,35, +abc,2713,2713,2713,1977-06-06,270.9999999999931,271.00732,2015-01-01 00:45:13,bin2713,75, +abc,2714,2714,2714,1977-06-07,271.09999999999314,271.10733,2015-01-01 00:45:14,bin2714,35, +abc,2715,2715,2715,1977-06-08,271.19999999999317,271.20734,2015-01-01 00:45:15,bin2715,75, +abc,2716,2716,2716,1977-06-09,271.2999999999932,271.30734,2015-01-01 00:45:16,bin2716,35, +abc,2717,2717,2717,1977-06-10,271.3999999999932,271.40735,2015-01-01 00:45:17,bin2717,75, +abc,2718,2718,2718,1977-06-11,271.49999999999324,271.50735,2015-01-01 00:45:18,bin2718,35, +abc,2719,2719,2719,1977-06-12,271.59999999999326,271.60736,2015-01-01 00:45:19,bin2719,75, +abc,2720,2720,2720,1977-06-13,271.6999999999933,271.70737,2015-01-01 00:45:20,bin2720,35, +abc,2721,2721,2721,1977-06-14,271.7999999999933,271.80737,2015-01-01 00:45:21,bin2721,75, +abc,2722,2722,2722,1977-06-15,271.8999999999933,271.90738,2015-01-01 00:45:22,bin2722,35, +abc,2723,2723,2723,1977-06-16,271.99999999999335,272.0074,2015-01-01 00:45:23,bin2723,75, +abc,2724,2724,2724,1977-06-17,272.0999999999934,272.1074,2015-01-01 00:45:24,bin2724,35, +abc,2725,2725,2725,1977-06-18,272.1999999999934,272.2074,2015-01-01 00:45:25,bin2725,75, +abc,2726,2726,2726,1977-06-19,272.2999999999934,272.3074,2015-01-01 00:45:26,bin2726,35, +abc,2727,2727,2727,1977-06-20,272.39999999999344,272.4074,2015-01-01 00:45:27,bin2727,75, +abc,2728,2728,2728,1977-06-21,272.49999999999346,272.50742,2015-01-01 00:45:28,bin2728,35, +abc,2729,2729,2729,1977-06-22,272.5999999999935,272.60742,2015-01-01 00:45:29,bin2729,75, +abc,2730,2730,2730,1977-06-23,272.6999999999935,272.70743,2015-01-01 00:45:30,bin2730,35, +abc,2731,2731,2731,1977-06-24,272.79999999999353,272.80743,2015-01-01 00:45:31,bin2731,75, +abc,2732,2732,2732,1977-06-25,272.89999999999355,272.90744,2015-01-01 00:45:32,bin2732,35, +abc,2733,2733,2733,1977-06-26,272.9999999999936,273.00745,2015-01-01 00:45:33,bin2733,75, +abc,2734,2734,2734,1977-06-27,273.0999999999936,273.10745,2015-01-01 00:45:34,bin2734,35, +abc,2735,2735,2735,1977-06-28,273.1999999999936,273.20746,2015-01-01 00:45:35,bin2735,75, +abc,2736,2736,2736,1977-06-29,273.29999999999364,273.30746,2015-01-01 00:45:36,bin2736,35, +abc,2737,2737,2737,1977-06-30,273.39999999999367,273.40747,2015-01-01 00:45:37,bin2737,75, +abc,2738,2738,2738,1977-07-01,273.4999999999937,273.50748,2015-01-01 00:45:38,bin2738,35, +abc,2739,2739,2739,1977-07-02,273.5999999999937,273.60748,2015-01-01 00:45:39,bin2739,75, +abc,2740,2740,2740,1977-07-03,273.69999999999374,273.7075,2015-01-01 00:45:40,bin2740,35, +abc,2741,2741,2741,1977-07-04,273.79999999999376,273.8075,2015-01-01 00:45:41,bin2741,75, +abc,2742,2742,2742,1977-07-05,273.8999999999938,273.9075,2015-01-01 00:45:42,bin2742,35, +abc,2743,2743,2743,1977-07-06,273.9999999999938,274.0075,2015-01-01 00:45:43,bin2743,75, +abc,2744,2744,2744,1977-07-07,274.0999999999938,274.1075,2015-01-01 00:45:44,bin2744,35, +abc,2745,2745,2745,1977-07-08,274.19999999999385,274.20752,2015-01-01 00:45:45,bin2745,75, +abc,2746,2746,2746,1977-07-09,274.2999999999939,274.30753,2015-01-01 00:45:46,bin2746,35, +abc,2747,2747,2747,1977-07-10,274.3999999999939,274.40753,2015-01-01 00:45:47,bin2747,75, +abc,2748,2748,2748,1977-07-11,274.4999999999939,274.50754,2015-01-01 00:45:48,bin2748,35, +abc,2749,2749,2749,1977-07-12,274.59999999999394,274.60754,2015-01-01 00:45:49,bin2749,75, +abc,2750,2750,2750,1977-07-13,274.69999999999396,274.70755,2015-01-01 00:45:50,bin2750,35, +abc,2751,2751,2751,1977-07-14,274.799999999994,274.80756,2015-01-01 00:45:51,bin2751,75, +abc,2752,2752,2752,1977-07-15,274.899999999994,274.90756,2015-01-01 00:45:52,bin2752,35, +abc,2753,2753,2753,1977-07-16,274.99999999999403,275.00757,2015-01-01 00:45:53,bin2753,75, +abc,2754,2754,2754,1977-07-17,275.09999999999405,275.10757,2015-01-01 00:45:54,bin2754,35, +abc,2755,2755,2755,1977-07-18,275.1999999999941,275.20758,2015-01-01 00:45:55,bin2755,75, +abc,2756,2756,2756,1977-07-19,275.2999999999941,275.3076,2015-01-01 00:45:56,bin2756,35, +abc,2757,2757,2757,1977-07-20,275.3999999999941,275.4076,2015-01-01 00:45:57,bin2757,75, +abc,2758,2758,2758,1977-07-21,275.49999999999415,275.5076,2015-01-01 00:45:58,bin2758,35, +abc,2759,2759,2759,1977-07-22,275.59999999999417,275.6076,2015-01-01 00:45:59,bin2759,75, +abc,2760,2760,2760,1977-07-23,275.6999999999942,275.7076,2015-01-01 00:46:00,bin2760,35, +abc,2761,2761,2761,1977-07-24,275.7999999999942,275.80762,2015-01-01 00:46:01,bin2761,75, +abc,2762,2762,2762,1977-07-25,275.89999999999424,275.90762,2015-01-01 00:46:02,bin2762,35, +abc,2763,2763,2763,1977-07-26,275.99999999999426,276.00763,2015-01-01 00:46:03,bin2763,75, +abc,2764,2764,2764,1977-07-27,276.0999999999943,276.10764,2015-01-01 00:46:04,bin2764,35, +abc,2765,2765,2765,1977-07-28,276.1999999999943,276.20764,2015-01-01 00:46:05,bin2765,75, +abc,2766,2766,2766,1977-07-29,276.2999999999943,276.30765,2015-01-01 00:46:06,bin2766,35, +abc,2767,2767,2767,1977-07-30,276.39999999999435,276.40765,2015-01-01 00:46:07,bin2767,75, +abc,2768,2768,2768,1977-07-31,276.4999999999944,276.50766,2015-01-01 00:46:08,bin2768,35, +abc,2769,2769,2769,1977-08-01,276.5999999999944,276.60767,2015-01-01 00:46:09,bin2769,75, +abc,2770,2770,2770,1977-08-02,276.6999999999944,276.70767,2015-01-01 00:46:10,bin2770,35, +abc,2771,2771,2771,1977-08-03,276.79999999999444,276.80768,2015-01-01 00:46:11,bin2771,75, +abc,2772,2772,2772,1977-08-04,276.89999999999446,276.90768,2015-01-01 00:46:12,bin2772,35, +abc,2773,2773,2773,1977-08-05,276.9999999999945,277.0077,2015-01-01 00:46:13,bin2773,75, +abc,2774,2774,2774,1977-08-06,277.0999999999945,277.1077,2015-01-01 00:46:14,bin2774,35, +abc,2775,2775,2775,1977-08-07,277.19999999999453,277.2077,2015-01-01 00:46:15,bin2775,75, +abc,2776,2776,2776,1977-08-08,277.29999999999455,277.3077,2015-01-01 00:46:16,bin2776,35, +abc,2777,2777,2777,1977-08-09,277.3999999999946,277.4077,2015-01-01 00:46:17,bin2777,75, +abc,2778,2778,2778,1977-08-10,277.4999999999946,277.50772,2015-01-01 00:46:18,bin2778,35, +abc,2779,2779,2779,1977-08-11,277.5999999999946,277.60773,2015-01-01 00:46:19,bin2779,75, +abc,2780,2780,2780,1977-08-12,277.69999999999465,277.70773,2015-01-01 00:46:20,bin2780,35, +abc,2781,2781,2781,1977-08-13,277.79999999999467,277.80774,2015-01-01 00:46:21,bin2781,75, +abc,2782,2782,2782,1977-08-14,277.8999999999947,277.90775,2015-01-01 00:46:22,bin2782,35, +abc,2783,2783,2783,1977-08-15,277.9999999999947,278.00775,2015-01-01 00:46:23,bin2783,75, +abc,2784,2784,2784,1977-08-16,278.09999999999474,278.10776,2015-01-01 00:46:24,bin2784,35, +abc,2785,2785,2785,1977-08-17,278.19999999999476,278.20776,2015-01-01 00:46:25,bin2785,75, +abc,2786,2786,2786,1977-08-18,278.2999999999948,278.30777,2015-01-01 00:46:26,bin2786,35, +abc,2787,2787,2787,1977-08-19,278.3999999999948,278.40778,2015-01-01 00:46:27,bin2787,75, +abc,2788,2788,2788,1977-08-20,278.4999999999948,278.50778,2015-01-01 00:46:28,bin2788,35, +abc,2789,2789,2789,1977-08-21,278.59999999999485,278.6078,2015-01-01 00:46:29,bin2789,75, +abc,2790,2790,2790,1977-08-22,278.6999999999949,278.7078,2015-01-01 00:46:30,bin2790,35, +abc,2791,2791,2791,1977-08-23,278.7999999999949,278.8078,2015-01-01 00:46:31,bin2791,75, +abc,2792,2792,2792,1977-08-24,278.8999999999949,278.9078,2015-01-01 00:46:32,bin2792,35, +abc,2793,2793,2793,1977-08-25,278.99999999999494,279.0078,2015-01-01 00:46:33,bin2793,75, +abc,2794,2794,2794,1977-08-26,279.09999999999496,279.10782,2015-01-01 00:46:34,bin2794,35, +abc,2795,2795,2795,1977-08-27,279.199999999995,279.20782,2015-01-01 00:46:35,bin2795,75, +abc,2796,2796,2796,1977-08-28,279.299999999995,279.30783,2015-01-01 00:46:36,bin2796,35, +abc,2797,2797,2797,1977-08-29,279.39999999999503,279.40784,2015-01-01 00:46:37,bin2797,75, +abc,2798,2798,2798,1977-08-30,279.49999999999505,279.50784,2015-01-01 00:46:38,bin2798,35, +abc,2799,2799,2799,1977-08-31,279.5999999999951,279.60785,2015-01-01 00:46:39,bin2799,75, +abc,2800,2800,2800,1977-09-01,279.6999999999951,279.70786,2015-01-01 00:46:40,bin2800,35, +abc,2801,2801,2801,1977-09-02,279.7999999999951,279.80786,2015-01-01 00:46:41,bin2801,75, +abc,2802,2802,2802,1977-09-03,279.89999999999515,279.90787,2015-01-01 00:46:42,bin2802,35, +abc,2803,2803,2803,1977-09-04,279.99999999999517,280.00787,2015-01-01 00:46:43,bin2803,75, +abc,2804,2804,2804,1977-09-05,280.0999999999952,280.10788,2015-01-01 00:46:44,bin2804,35, +abc,2805,2805,2805,1977-09-06,280.1999999999952,280.2079,2015-01-01 00:46:45,bin2805,75, +abc,2806,2806,2806,1977-09-07,280.29999999999524,280.3079,2015-01-01 00:46:46,bin2806,35, +abc,2807,2807,2807,1977-09-08,280.39999999999526,280.4079,2015-01-01 00:46:47,bin2807,75, +abc,2808,2808,2808,1977-09-09,280.4999999999953,280.5079,2015-01-01 00:46:48,bin2808,35, +abc,2809,2809,2809,1977-09-10,280.5999999999953,280.6079,2015-01-01 00:46:49,bin2809,75, +abc,2810,2810,2810,1977-09-11,280.6999999999953,280.70792,2015-01-01 00:46:50,bin2810,35, +abc,2811,2811,2811,1977-09-12,280.79999999999535,280.80792,2015-01-01 00:46:51,bin2811,75, +abc,2812,2812,2812,1977-09-13,280.8999999999954,280.90793,2015-01-01 00:46:52,bin2812,35, +abc,2813,2813,2813,1977-09-14,280.9999999999954,281.00793,2015-01-01 00:46:53,bin2813,75, +abc,2814,2814,2814,1977-09-15,281.0999999999954,281.10794,2015-01-01 00:46:54,bin2814,35, +abc,2815,2815,2815,1977-09-16,281.19999999999544,281.20795,2015-01-01 00:46:55,bin2815,75, +abc,2816,2816,2816,1977-09-17,281.29999999999546,281.30795,2015-01-01 00:46:56,bin2816,35, +abc,2817,2817,2817,1977-09-18,281.3999999999955,281.40796,2015-01-01 00:46:57,bin2817,75, +abc,2818,2818,2818,1977-09-19,281.4999999999955,281.50797,2015-01-01 00:46:58,bin2818,35, +abc,2819,2819,2819,1977-09-20,281.59999999999553,281.60797,2015-01-01 00:46:59,bin2819,75, +abc,2820,2820,2820,1977-09-21,281.69999999999555,281.70798,2015-01-01 00:47:00,bin2820,35, +abc,2821,2821,2821,1977-09-22,281.7999999999956,281.80798,2015-01-01 00:47:01,bin2821,75, +abc,2822,2822,2822,1977-09-23,281.8999999999956,281.908,2015-01-01 00:47:02,bin2822,35, +abc,2823,2823,2823,1977-09-24,281.9999999999956,282.008,2015-01-01 00:47:03,bin2823,75, +abc,2824,2824,2824,1977-09-25,282.09999999999565,282.108,2015-01-01 00:47:04,bin2824,35, +abc,2825,2825,2825,1977-09-26,282.19999999999567,282.208,2015-01-01 00:47:05,bin2825,75, +abc,2826,2826,2826,1977-09-27,282.2999999999957,282.308,2015-01-01 00:47:06,bin2826,35, +abc,2827,2827,2827,1977-09-28,282.3999999999957,282.40802,2015-01-01 00:47:07,bin2827,75, +abc,2828,2828,2828,1977-09-29,282.49999999999574,282.50803,2015-01-01 00:47:08,bin2828,35, +abc,2829,2829,2829,1977-09-30,282.59999999999576,282.60803,2015-01-01 00:47:09,bin2829,75, +abc,2830,2830,2830,1977-10-01,282.6999999999958,282.70804,2015-01-01 00:47:10,bin2830,35, +abc,2831,2831,2831,1977-10-02,282.7999999999958,282.80804,2015-01-01 00:47:11,bin2831,75, +abc,2832,2832,2832,1977-10-03,282.8999999999958,282.90805,2015-01-01 00:47:12,bin2832,35, +abc,2833,2833,2833,1977-10-04,282.99999999999585,283.00806,2015-01-01 00:47:13,bin2833,75, +abc,2834,2834,2834,1977-10-05,283.0999999999959,283.10806,2015-01-01 00:47:14,bin2834,35, +abc,2835,2835,2835,1977-10-06,283.1999999999959,283.20807,2015-01-01 00:47:15,bin2835,75, +abc,2836,2836,2836,1977-10-07,283.2999999999959,283.30807,2015-01-01 00:47:16,bin2836,35, +abc,2837,2837,2837,1977-10-08,283.39999999999594,283.40808,2015-01-01 00:47:17,bin2837,75, +abc,2838,2838,2838,1977-10-09,283.49999999999596,283.5081,2015-01-01 00:47:18,bin2838,35, +abc,2839,2839,2839,1977-10-10,283.599999999996,283.6081,2015-01-01 00:47:19,bin2839,75, +abc,2840,2840,2840,1977-10-11,283.699999999996,283.7081,2015-01-01 00:47:20,bin2840,35, +abc,2841,2841,2841,1977-10-12,283.79999999999603,283.8081,2015-01-01 00:47:21,bin2841,75, +abc,2842,2842,2842,1977-10-13,283.89999999999606,283.9081,2015-01-01 00:47:22,bin2842,35, +abc,2843,2843,2843,1977-10-14,283.9999999999961,284.00812,2015-01-01 00:47:23,bin2843,75, +abc,2844,2844,2844,1977-10-15,284.0999999999961,284.10812,2015-01-01 00:47:24,bin2844,35, +abc,2845,2845,2845,1977-10-16,284.1999999999961,284.20813,2015-01-01 00:47:25,bin2845,75, +abc,2846,2846,2846,1977-10-17,284.29999999999615,284.30814,2015-01-01 00:47:26,bin2846,35, +abc,2847,2847,2847,1977-10-18,284.39999999999617,284.40814,2015-01-01 00:47:27,bin2847,75, +abc,2848,2848,2848,1977-10-19,284.4999999999962,284.50815,2015-01-01 00:47:28,bin2848,35, +abc,2849,2849,2849,1977-10-20,284.5999999999962,284.60815,2015-01-01 00:47:29,bin2849,75, +abc,2850,2850,2850,1977-10-21,284.69999999999624,284.70816,2015-01-01 00:47:30,bin2850,35, +abc,2851,2851,2851,1977-10-22,284.79999999999626,284.80817,2015-01-01 00:47:31,bin2851,75, +abc,2852,2852,2852,1977-10-23,284.8999999999963,284.90817,2015-01-01 00:47:32,bin2852,35, +abc,2853,2853,2853,1977-10-24,284.9999999999963,285.00818,2015-01-01 00:47:33,bin2853,75, +abc,2854,2854,2854,1977-10-25,285.0999999999963,285.1082,2015-01-01 00:47:34,bin2854,35, +abc,2855,2855,2855,1977-10-26,285.19999999999635,285.2082,2015-01-01 00:47:35,bin2855,75, +abc,2856,2856,2856,1977-10-27,285.2999999999964,285.3082,2015-01-01 00:47:36,bin2856,35, +abc,2857,2857,2857,1977-10-28,285.3999999999964,285.4082,2015-01-01 00:47:37,bin2857,75, +abc,2858,2858,2858,1977-10-29,285.4999999999964,285.5082,2015-01-01 00:47:38,bin2858,35, +abc,2859,2859,2859,1977-10-30,285.59999999999644,285.60822,2015-01-01 00:47:39,bin2859,75, +abc,2860,2860,2860,1977-10-31,285.69999999999646,285.70822,2015-01-01 00:47:40,bin2860,35, +abc,2861,2861,2861,1977-11-01,285.7999999999965,285.80823,2015-01-01 00:47:41,bin2861,75, +abc,2862,2862,2862,1977-11-02,285.8999999999965,285.90823,2015-01-01 00:47:42,bin2862,35, +abc,2863,2863,2863,1977-11-03,285.99999999999653,286.00824,2015-01-01 00:47:43,bin2863,75, +abc,2864,2864,2864,1977-11-04,286.09999999999656,286.10825,2015-01-01 00:47:44,bin2864,35, +abc,2865,2865,2865,1977-11-05,286.1999999999966,286.20825,2015-01-01 00:47:45,bin2865,75, +abc,2866,2866,2866,1977-11-06,286.2999999999966,286.30826,2015-01-01 00:47:46,bin2866,35, +abc,2867,2867,2867,1977-11-07,286.3999999999966,286.40826,2015-01-01 00:47:47,bin2867,75, +abc,2868,2868,2868,1977-11-08,286.49999999999665,286.50827,2015-01-01 00:47:48,bin2868,35, +abc,2869,2869,2869,1977-11-09,286.59999999999667,286.60828,2015-01-01 00:47:49,bin2869,75, +abc,2870,2870,2870,1977-11-10,286.6999999999967,286.70828,2015-01-01 00:47:50,bin2870,35, +abc,2871,2871,2871,1977-11-11,286.7999999999967,286.8083,2015-01-01 00:47:51,bin2871,75, +abc,2872,2872,2872,1977-11-12,286.89999999999674,286.9083,2015-01-01 00:47:52,bin2872,35, +abc,2873,2873,2873,1977-11-13,286.99999999999676,287.0083,2015-01-01 00:47:53,bin2873,75, +abc,2874,2874,2874,1977-11-14,287.0999999999968,287.1083,2015-01-01 00:47:54,bin2874,35, +abc,2875,2875,2875,1977-11-15,287.1999999999968,287.2083,2015-01-01 00:47:55,bin2875,75, +abc,2876,2876,2876,1977-11-16,287.2999999999968,287.30832,2015-01-01 00:47:56,bin2876,35, +abc,2877,2877,2877,1977-11-17,287.39999999999685,287.40833,2015-01-01 00:47:57,bin2877,75, +abc,2878,2878,2878,1977-11-18,287.4999999999969,287.50833,2015-01-01 00:47:58,bin2878,35, +abc,2879,2879,2879,1977-11-19,287.5999999999969,287.60834,2015-01-01 00:47:59,bin2879,75, +abc,2880,2880,2880,1977-11-20,287.6999999999969,287.70834,2015-01-01 00:48:00,bin2880,35, +abc,2881,2881,2881,1977-11-21,287.79999999999694,287.80835,2015-01-01 00:48:01,bin2881,75, +abc,2882,2882,2882,1977-11-22,287.89999999999696,287.90836,2015-01-01 00:48:02,bin2882,35, +abc,2883,2883,2883,1977-11-23,287.999999999997,288.00836,2015-01-01 00:48:03,bin2883,75, +abc,2884,2884,2884,1977-11-24,288.099999999997,288.10837,2015-01-01 00:48:04,bin2884,35, +abc,2885,2885,2885,1977-11-25,288.19999999999703,288.20837,2015-01-01 00:48:05,bin2885,75, +abc,2886,2886,2886,1977-11-26,288.29999999999706,288.30838,2015-01-01 00:48:06,bin2886,35, +abc,2887,2887,2887,1977-11-27,288.3999999999971,288.4084,2015-01-01 00:48:07,bin2887,75, +abc,2888,2888,2888,1977-11-28,288.4999999999971,288.5084,2015-01-01 00:48:08,bin2888,35, +abc,2889,2889,2889,1977-11-29,288.5999999999971,288.6084,2015-01-01 00:48:09,bin2889,75, +abc,2890,2890,2890,1977-11-30,288.69999999999715,288.7084,2015-01-01 00:48:10,bin2890,35, +abc,2891,2891,2891,1977-12-01,288.79999999999717,288.8084,2015-01-01 00:48:11,bin2891,75, +abc,2892,2892,2892,1977-12-02,288.8999999999972,288.90842,2015-01-01 00:48:12,bin2892,35, +abc,2893,2893,2893,1977-12-03,288.9999999999972,289.00842,2015-01-01 00:48:13,bin2893,75, +abc,2894,2894,2894,1977-12-04,289.09999999999724,289.10843,2015-01-01 00:48:14,bin2894,35, +abc,2895,2895,2895,1977-12-05,289.19999999999726,289.20844,2015-01-01 00:48:15,bin2895,75, +abc,2896,2896,2896,1977-12-06,289.2999999999973,289.30844,2015-01-01 00:48:16,bin2896,35, +abc,2897,2897,2897,1977-12-07,289.3999999999973,289.40845,2015-01-01 00:48:17,bin2897,75, +abc,2898,2898,2898,1977-12-08,289.4999999999973,289.50845,2015-01-01 00:48:18,bin2898,35, +abc,2899,2899,2899,1977-12-09,289.59999999999735,289.60846,2015-01-01 00:48:19,bin2899,75, +abc,2900,2900,2900,1977-12-10,289.6999999999974,289.70847,2015-01-01 00:48:20,bin2900,35, +abc,2901,2901,2901,1977-12-11,289.7999999999974,289.80847,2015-01-01 00:48:21,bin2901,75, +abc,2902,2902,2902,1977-12-12,289.8999999999974,289.90848,2015-01-01 00:48:22,bin2902,35, +abc,2903,2903,2903,1977-12-13,289.99999999999744,290.00848,2015-01-01 00:48:23,bin2903,75, +abc,2904,2904,2904,1977-12-14,290.09999999999746,290.1085,2015-01-01 00:48:24,bin2904,35, +abc,2905,2905,2905,1977-12-15,290.1999999999975,290.2085,2015-01-01 00:48:25,bin2905,75, +abc,2906,2906,2906,1977-12-16,290.2999999999975,290.3085,2015-01-01 00:48:26,bin2906,35, +abc,2907,2907,2907,1977-12-17,290.39999999999753,290.4085,2015-01-01 00:48:27,bin2907,75, +abc,2908,2908,2908,1977-12-18,290.49999999999756,290.5085,2015-01-01 00:48:28,bin2908,35, +abc,2909,2909,2909,1977-12-19,290.5999999999976,290.60852,2015-01-01 00:48:29,bin2909,75, +abc,2910,2910,2910,1977-12-20,290.6999999999976,290.70853,2015-01-01 00:48:30,bin2910,35, +abc,2911,2911,2911,1977-12-21,290.7999999999976,290.80853,2015-01-01 00:48:31,bin2911,75, +abc,2912,2912,2912,1977-12-22,290.89999999999765,290.90854,2015-01-01 00:48:32,bin2912,35, +abc,2913,2913,2913,1977-12-23,290.99999999999767,291.00854,2015-01-01 00:48:33,bin2913,75, +abc,2914,2914,2914,1977-12-24,291.0999999999977,291.10855,2015-01-01 00:48:34,bin2914,35, +abc,2915,2915,2915,1977-12-25,291.1999999999977,291.20856,2015-01-01 00:48:35,bin2915,75, +abc,2916,2916,2916,1977-12-26,291.29999999999774,291.30856,2015-01-01 00:48:36,bin2916,35, +abc,2917,2917,2917,1977-12-27,291.39999999999776,291.40857,2015-01-01 00:48:37,bin2917,75, +abc,2918,2918,2918,1977-12-28,291.4999999999978,291.50858,2015-01-01 00:48:38,bin2918,35, +abc,2919,2919,2919,1977-12-29,291.5999999999978,291.60858,2015-01-01 00:48:39,bin2919,75, +abc,2920,2920,2920,1977-12-30,291.69999999999783,291.7086,2015-01-01 00:48:40,bin2920,35, +abc,2921,2921,2921,1977-12-31,291.79999999999785,291.8086,2015-01-01 00:48:41,bin2921,75, +abc,2922,2922,2922,1978-01-01,291.8999999999979,291.9086,2015-01-01 00:48:42,bin2922,35, +abc,2923,2923,2923,1978-01-02,291.9999999999979,292.0086,2015-01-01 00:48:43,bin2923,75, +abc,2924,2924,2924,1978-01-03,292.0999999999979,292.1086,2015-01-01 00:48:44,bin2924,35, +abc,2925,2925,2925,1978-01-04,292.19999999999794,292.20862,2015-01-01 00:48:45,bin2925,75, +abc,2926,2926,2926,1978-01-05,292.29999999999797,292.30862,2015-01-01 00:48:46,bin2926,35, +abc,2927,2927,2927,1978-01-06,292.399999999998,292.40863,2015-01-01 00:48:47,bin2927,75, +abc,2928,2928,2928,1978-01-07,292.499999999998,292.50864,2015-01-01 00:48:48,bin2928,35, +abc,2929,2929,2929,1978-01-08,292.59999999999803,292.60864,2015-01-01 00:48:49,bin2929,75, +abc,2930,2930,2930,1978-01-09,292.69999999999806,292.70865,2015-01-01 00:48:50,bin2930,35, +abc,2931,2931,2931,1978-01-10,292.7999999999981,292.80865,2015-01-01 00:48:51,bin2931,75, +abc,2932,2932,2932,1978-01-11,292.8999999999981,292.90866,2015-01-01 00:48:52,bin2932,35, +abc,2933,2933,2933,1978-01-12,292.9999999999981,293.00867,2015-01-01 00:48:53,bin2933,75, +abc,2934,2934,2934,1978-01-13,293.09999999999815,293.10867,2015-01-01 00:48:54,bin2934,35, +abc,2935,2935,2935,1978-01-14,293.19999999999817,293.20868,2015-01-01 00:48:55,bin2935,75, +abc,2936,2936,2936,1978-01-15,293.2999999999982,293.3087,2015-01-01 00:48:56,bin2936,35, +abc,2937,2937,2937,1978-01-16,293.3999999999982,293.4087,2015-01-01 00:48:57,bin2937,75, +abc,2938,2938,2938,1978-01-17,293.49999999999824,293.5087,2015-01-01 00:48:58,bin2938,35, +abc,2939,2939,2939,1978-01-18,293.59999999999826,293.6087,2015-01-01 00:48:59,bin2939,75, +abc,2940,2940,2940,1978-01-19,293.6999999999983,293.7087,2015-01-01 00:49:00,bin2940,35, +abc,2941,2941,2941,1978-01-20,293.7999999999983,293.80872,2015-01-01 00:49:01,bin2941,75, +abc,2942,2942,2942,1978-01-21,293.89999999999833,293.90872,2015-01-01 00:49:02,bin2942,35, +abc,2943,2943,2943,1978-01-22,293.99999999999835,294.00873,2015-01-01 00:49:03,bin2943,75, +abc,2944,2944,2944,1978-01-23,294.0999999999984,294.10873,2015-01-01 00:49:04,bin2944,35, +abc,2945,2945,2945,1978-01-24,294.1999999999984,294.20874,2015-01-01 00:49:05,bin2945,75, +abc,2946,2946,2946,1978-01-25,294.2999999999984,294.30875,2015-01-01 00:49:06,bin2946,35, +abc,2947,2947,2947,1978-01-26,294.39999999999844,294.40875,2015-01-01 00:49:07,bin2947,75, +abc,2948,2948,2948,1978-01-27,294.49999999999847,294.50876,2015-01-01 00:49:08,bin2948,35, +abc,2949,2949,2949,1978-01-28,294.5999999999985,294.60876,2015-01-01 00:49:09,bin2949,75, +abc,2950,2950,2950,1978-01-29,294.6999999999985,294.70877,2015-01-01 00:49:10,bin2950,35, +abc,2951,2951,2951,1978-01-30,294.79999999999853,294.80878,2015-01-01 00:49:11,bin2951,75, +abc,2952,2952,2952,1978-01-31,294.89999999999856,294.90878,2015-01-01 00:49:12,bin2952,35, +abc,2953,2953,2953,1978-02-01,294.9999999999986,295.0088,2015-01-01 00:49:13,bin2953,75, +abc,2954,2954,2954,1978-02-02,295.0999999999986,295.1088,2015-01-01 00:49:14,bin2954,35, +abc,2955,2955,2955,1978-02-03,295.1999999999986,295.2088,2015-01-01 00:49:15,bin2955,75, +abc,2956,2956,2956,1978-02-04,295.29999999999865,295.3088,2015-01-01 00:49:16,bin2956,35, +abc,2957,2957,2957,1978-02-05,295.39999999999867,295.4088,2015-01-01 00:49:17,bin2957,75, +abc,2958,2958,2958,1978-02-06,295.4999999999987,295.50882,2015-01-01 00:49:18,bin2958,35, +abc,2959,2959,2959,1978-02-07,295.5999999999987,295.60883,2015-01-01 00:49:19,bin2959,75, +abc,2960,2960,2960,1978-02-08,295.69999999999874,295.70883,2015-01-01 00:49:20,bin2960,35, +abc,2961,2961,2961,1978-02-09,295.79999999999876,295.80884,2015-01-01 00:49:21,bin2961,75, +abc,2962,2962,2962,1978-02-10,295.8999999999988,295.90884,2015-01-01 00:49:22,bin2962,35, +abc,2963,2963,2963,1978-02-11,295.9999999999988,296.00885,2015-01-01 00:49:23,bin2963,75, +abc,2964,2964,2964,1978-02-12,296.09999999999883,296.10886,2015-01-01 00:49:24,bin2964,35, +abc,2965,2965,2965,1978-02-13,296.19999999999885,296.20886,2015-01-01 00:49:25,bin2965,75, +abc,2966,2966,2966,1978-02-14,296.2999999999989,296.30887,2015-01-01 00:49:26,bin2966,35, +abc,2967,2967,2967,1978-02-15,296.3999999999989,296.40887,2015-01-01 00:49:27,bin2967,75, +abc,2968,2968,2968,1978-02-16,296.4999999999989,296.50888,2015-01-01 00:49:28,bin2968,35, +abc,2969,2969,2969,1978-02-17,296.59999999999894,296.6089,2015-01-01 00:49:29,bin2969,75, +abc,2970,2970,2970,1978-02-18,296.69999999999897,296.7089,2015-01-01 00:49:30,bin2970,35, +abc,2971,2971,2971,1978-02-19,296.799999999999,296.8089,2015-01-01 00:49:31,bin2971,75, +abc,2972,2972,2972,1978-02-20,296.899999999999,296.9089,2015-01-01 00:49:32,bin2972,35, +abc,2973,2973,2973,1978-02-21,296.99999999999903,297.0089,2015-01-01 00:49:33,bin2973,75, +abc,2974,2974,2974,1978-02-22,297.09999999999906,297.10892,2015-01-01 00:49:34,bin2974,35, +abc,2975,2975,2975,1978-02-23,297.1999999999991,297.20892,2015-01-01 00:49:35,bin2975,75, +abc,2976,2976,2976,1978-02-24,297.2999999999991,297.30893,2015-01-01 00:49:36,bin2976,35, +abc,2977,2977,2977,1978-02-25,297.3999999999991,297.40894,2015-01-01 00:49:37,bin2977,75, +abc,2978,2978,2978,1978-02-26,297.49999999999915,297.50894,2015-01-01 00:49:38,bin2978,35, +abc,2979,2979,2979,1978-02-27,297.59999999999917,297.60895,2015-01-01 00:49:39,bin2979,75, +abc,2980,2980,2980,1978-02-28,297.6999999999992,297.70895,2015-01-01 00:49:40,bin2980,35, +abc,2981,2981,2981,1978-03-01,297.7999999999992,297.80896,2015-01-01 00:49:41,bin2981,75, +abc,2982,2982,2982,1978-03-02,297.89999999999924,297.90897,2015-01-01 00:49:42,bin2982,35, +abc,2983,2983,2983,1978-03-03,297.99999999999926,298.00897,2015-01-01 00:49:43,bin2983,75, +abc,2984,2984,2984,1978-03-04,298.0999999999993,298.10898,2015-01-01 00:49:44,bin2984,35, +abc,2985,2985,2985,1978-03-05,298.1999999999993,298.20898,2015-01-01 00:49:45,bin2985,75, +abc,2986,2986,2986,1978-03-06,298.29999999999933,298.309,2015-01-01 00:49:46,bin2986,35, +abc,2987,2987,2987,1978-03-07,298.39999999999935,298.409,2015-01-01 00:49:47,bin2987,75, +abc,2988,2988,2988,1978-03-08,298.4999999999994,298.509,2015-01-01 00:49:48,bin2988,35, +abc,2989,2989,2989,1978-03-09,298.5999999999994,298.609,2015-01-01 00:49:49,bin2989,75, +abc,2990,2990,2990,1978-03-10,298.6999999999994,298.709,2015-01-01 00:49:50,bin2990,35, +abc,2991,2991,2991,1978-03-11,298.79999999999944,298.80902,2015-01-01 00:49:51,bin2991,75, +abc,2992,2992,2992,1978-03-12,298.89999999999947,298.90903,2015-01-01 00:49:52,bin2992,35, +abc,2993,2993,2993,1978-03-13,298.9999999999995,299.00903,2015-01-01 00:49:53,bin2993,75, +abc,2994,2994,2994,1978-03-14,299.0999999999995,299.10904,2015-01-01 00:49:54,bin2994,35, +abc,2995,2995,2995,1978-03-15,299.19999999999953,299.20905,2015-01-01 00:49:55,bin2995,75, +abc,2996,2996,2996,1978-03-16,299.29999999999956,299.30905,2015-01-01 00:49:56,bin2996,35, +abc,2997,2997,2997,1978-03-17,299.3999999999996,299.40906,2015-01-01 00:49:57,bin2997,75, +abc,2998,2998,2998,1978-03-18,299.4999999999996,299.50906,2015-01-01 00:49:58,bin2998,35, +abc,2999,2999,2999,1978-03-19,299.5999999999996,299.60907,2015-01-01 00:49:59,bin2999,75, +abc,3000,3000,3000,1978-03-20,299.69999999999965,299.70908,2015-01-01 00:50:00,bin3000,35, +abc,3001,3001,3001,1978-03-21,299.79999999999967,299.80908,2015-01-01 00:50:01,bin3001,75, +abc,3002,3002,3002,1978-03-22,299.8999999999997,299.9091,2015-01-01 00:50:02,bin3002,35, +abc,3003,3003,3003,1978-03-23,299.9999999999997,300.0091,2015-01-01 00:50:03,bin3003,75, +abc,3004,3004,3004,1978-03-24,300.09999999999974,300.1091,2015-01-01 00:50:04,bin3004,35, +abc,3005,3005,3005,1978-03-25,300.19999999999976,300.2091,2015-01-01 00:50:05,bin3005,75, +abc,3006,3006,3006,1978-03-26,300.2999999999998,300.3091,2015-01-01 00:50:06,bin3006,35, +abc,3007,3007,3007,1978-03-27,300.3999999999998,300.40912,2015-01-01 00:50:07,bin3007,75, +abc,3008,3008,3008,1978-03-28,300.49999999999983,300.50912,2015-01-01 00:50:08,bin3008,35, +abc,3009,3009,3009,1978-03-29,300.59999999999985,300.60913,2015-01-01 00:50:09,bin3009,75, +abc,3010,3010,3010,1978-03-30,300.6999999999999,300.70914,2015-01-01 00:50:10,bin3010,35, +abc,3011,3011,3011,1978-03-31,300.7999999999999,300.80914,2015-01-01 00:50:11,bin3011,75, +abc,3012,3012,3012,1978-04-01,300.8999999999999,300.90915,2015-01-01 00:50:12,bin3012,35, +abc,3013,3013,3013,1978-04-02,300.99999999999994,301.00916,2015-01-01 00:50:13,bin3013,75, +abc,3014,3014,3014,1978-04-03,301.09999999999997,301.10916,2015-01-01 00:50:14,bin3014,35, +abc,3015,3015,3015,1978-04-04,301.2,301.20917,2015-01-01 00:50:15,bin3015,75, +abc,3016,3016,3016,1978-04-05,301.3,301.30917,2015-01-01 00:50:16,bin3016,35, +abc,3017,3017,3017,1978-04-06,301.40000000000003,301.40918,2015-01-01 00:50:17,bin3017,75, +abc,3018,3018,3018,1978-04-07,301.50000000000006,301.5092,2015-01-01 00:50:18,bin3018,35, +abc,3019,3019,3019,1978-04-08,301.6000000000001,301.6092,2015-01-01 00:50:19,bin3019,75, +abc,3020,3020,3020,1978-04-09,301.7000000000001,301.7092,2015-01-01 00:50:20,bin3020,35, +abc,3021,3021,3021,1978-04-10,301.8000000000001,301.8092,2015-01-01 00:50:21,bin3021,75, +abc,3022,3022,3022,1978-04-11,301.90000000000015,301.9092,2015-01-01 00:50:22,bin3022,35, +abc,3023,3023,3023,1978-04-12,302.00000000000017,302.00922,2015-01-01 00:50:23,bin3023,75, +abc,3024,3024,3024,1978-04-13,302.1000000000002,302.10922,2015-01-01 00:50:24,bin3024,35, +abc,3025,3025,3025,1978-04-14,302.2000000000002,302.20923,2015-01-01 00:50:25,bin3025,75, +abc,3026,3026,3026,1978-04-15,302.30000000000024,302.30923,2015-01-01 00:50:26,bin3026,35, +abc,3027,3027,3027,1978-04-16,302.40000000000026,302.40924,2015-01-01 00:50:27,bin3027,75, +abc,3028,3028,3028,1978-04-17,302.5000000000003,302.50925,2015-01-01 00:50:28,bin3028,35, +abc,3029,3029,3029,1978-04-18,302.6000000000003,302.60925,2015-01-01 00:50:29,bin3029,75, +abc,3030,3030,3030,1978-04-19,302.70000000000033,302.70926,2015-01-01 00:50:30,bin3030,35, +abc,3031,3031,3031,1978-04-20,302.80000000000035,302.80927,2015-01-01 00:50:31,bin3031,75, +abc,3032,3032,3032,1978-04-21,302.9000000000004,302.90927,2015-01-01 00:50:32,bin3032,35, +abc,3033,3033,3033,1978-04-22,303.0000000000004,303.00928,2015-01-01 00:50:33,bin3033,75, +abc,3034,3034,3034,1978-04-23,303.1000000000004,303.10928,2015-01-01 00:50:34,bin3034,35, +abc,3035,3035,3035,1978-04-24,303.20000000000044,303.2093,2015-01-01 00:50:35,bin3035,75, +abc,3036,3036,3036,1978-04-25,303.30000000000047,303.3093,2015-01-01 00:50:36,bin3036,35, +abc,3037,3037,3037,1978-04-26,303.4000000000005,303.4093,2015-01-01 00:50:37,bin3037,75, +abc,3038,3038,3038,1978-04-27,303.5000000000005,303.5093,2015-01-01 00:50:38,bin3038,35, +abc,3039,3039,3039,1978-04-28,303.60000000000053,303.6093,2015-01-01 00:50:39,bin3039,75, +abc,3040,3040,3040,1978-04-29,303.70000000000056,303.70932,2015-01-01 00:50:40,bin3040,35, +abc,3041,3041,3041,1978-04-30,303.8000000000006,303.80933,2015-01-01 00:50:41,bin3041,75, +abc,3042,3042,3042,1978-05-01,303.9000000000006,303.90933,2015-01-01 00:50:42,bin3042,35, +abc,3043,3043,3043,1978-05-02,304.0000000000006,304.00934,2015-01-01 00:50:43,bin3043,75, +abc,3044,3044,3044,1978-05-03,304.10000000000065,304.10934,2015-01-01 00:50:44,bin3044,35, +abc,3045,3045,3045,1978-05-04,304.20000000000067,304.20935,2015-01-01 00:50:45,bin3045,75, +abc,3046,3046,3046,1978-05-05,304.3000000000007,304.30936,2015-01-01 00:50:46,bin3046,35, +abc,3047,3047,3047,1978-05-06,304.4000000000007,304.40936,2015-01-01 00:50:47,bin3047,75, +abc,3048,3048,3048,1978-05-07,304.50000000000074,304.50937,2015-01-01 00:50:48,bin3048,35, +abc,3049,3049,3049,1978-05-08,304.60000000000076,304.60938,2015-01-01 00:50:49,bin3049,75, +abc,3050,3050,3050,1978-05-09,304.7000000000008,304.70938,2015-01-01 00:50:50,bin3050,35, +abc,3051,3051,3051,1978-05-10,304.8000000000008,304.8094,2015-01-01 00:50:51,bin3051,75, +abc,3052,3052,3052,1978-05-11,304.90000000000083,304.9094,2015-01-01 00:50:52,bin3052,35, +abc,3053,3053,3053,1978-05-12,305.00000000000085,305.0094,2015-01-01 00:50:53,bin3053,75, +abc,3054,3054,3054,1978-05-13,305.1000000000009,305.1094,2015-01-01 00:50:54,bin3054,35, +abc,3055,3055,3055,1978-05-14,305.2000000000009,305.2094,2015-01-01 00:50:55,bin3055,75, +abc,3056,3056,3056,1978-05-15,305.3000000000009,305.30942,2015-01-01 00:50:56,bin3056,35, +abc,3057,3057,3057,1978-05-16,305.40000000000094,305.40942,2015-01-01 00:50:57,bin3057,75, +abc,3058,3058,3058,1978-05-17,305.50000000000097,305.50943,2015-01-01 00:50:58,bin3058,35, +abc,3059,3059,3059,1978-05-18,305.600000000001,305.60944,2015-01-01 00:50:59,bin3059,75, +abc,3060,3060,3060,1978-05-19,305.700000000001,305.70944,2015-01-01 00:51:00,bin3060,35, +abc,3061,3061,3061,1978-05-20,305.80000000000103,305.80945,2015-01-01 00:51:01,bin3061,75, +abc,3062,3062,3062,1978-05-21,305.90000000000106,305.90945,2015-01-01 00:51:02,bin3062,35, +abc,3063,3063,3063,1978-05-22,306.0000000000011,306.00946,2015-01-01 00:51:03,bin3063,75, +abc,3064,3064,3064,1978-05-23,306.1000000000011,306.10947,2015-01-01 00:51:04,bin3064,35, +abc,3065,3065,3065,1978-05-24,306.2000000000011,306.20947,2015-01-01 00:51:05,bin3065,75, +abc,3066,3066,3066,1978-05-25,306.30000000000115,306.30948,2015-01-01 00:51:06,bin3066,35, +abc,3067,3067,3067,1978-05-26,306.40000000000117,306.4095,2015-01-01 00:51:07,bin3067,75, +abc,3068,3068,3068,1978-05-27,306.5000000000012,306.5095,2015-01-01 00:51:08,bin3068,35, +abc,3069,3069,3069,1978-05-28,306.6000000000012,306.6095,2015-01-01 00:51:09,bin3069,75, +abc,3070,3070,3070,1978-05-29,306.70000000000124,306.7095,2015-01-01 00:51:10,bin3070,35, +abc,3071,3071,3071,1978-05-30,306.80000000000126,306.8095,2015-01-01 00:51:11,bin3071,75, +abc,3072,3072,3072,1978-05-31,306.9000000000013,306.90952,2015-01-01 00:51:12,bin3072,35, +abc,3073,3073,3073,1978-06-01,307.0000000000013,307.00952,2015-01-01 00:51:13,bin3073,75, +abc,3074,3074,3074,1978-06-02,307.10000000000133,307.10953,2015-01-01 00:51:14,bin3074,35, +abc,3075,3075,3075,1978-06-03,307.20000000000135,307.20953,2015-01-01 00:51:15,bin3075,75, +abc,3076,3076,3076,1978-06-04,307.3000000000014,307.30954,2015-01-01 00:51:16,bin3076,35, +abc,3077,3077,3077,1978-06-05,307.4000000000014,307.40955,2015-01-01 00:51:17,bin3077,75, +abc,3078,3078,3078,1978-06-06,307.5000000000014,307.50955,2015-01-01 00:51:18,bin3078,35, +abc,3079,3079,3079,1978-06-07,307.60000000000144,307.60956,2015-01-01 00:51:19,bin3079,75, +abc,3080,3080,3080,1978-06-08,307.70000000000147,307.70956,2015-01-01 00:51:20,bin3080,35, +abc,3081,3081,3081,1978-06-09,307.8000000000015,307.80957,2015-01-01 00:51:21,bin3081,75, +abc,3082,3082,3082,1978-06-10,307.9000000000015,307.90958,2015-01-01 00:51:22,bin3082,35, +abc,3083,3083,3083,1978-06-11,308.00000000000153,308.00958,2015-01-01 00:51:23,bin3083,75, +abc,3084,3084,3084,1978-06-12,308.10000000000156,308.1096,2015-01-01 00:51:24,bin3084,35, +abc,3085,3085,3085,1978-06-13,308.2000000000016,308.2096,2015-01-01 00:51:25,bin3085,75, +abc,3086,3086,3086,1978-06-14,308.3000000000016,308.3096,2015-01-01 00:51:26,bin3086,35, +abc,3087,3087,3087,1978-06-15,308.4000000000016,308.4096,2015-01-01 00:51:27,bin3087,75, +abc,3088,3088,3088,1978-06-16,308.50000000000165,308.5096,2015-01-01 00:51:28,bin3088,35, +abc,3089,3089,3089,1978-06-17,308.60000000000167,308.60962,2015-01-01 00:51:29,bin3089,75, +abc,3090,3090,3090,1978-06-18,308.7000000000017,308.70963,2015-01-01 00:51:30,bin3090,35, +abc,3091,3091,3091,1978-06-19,308.8000000000017,308.80963,2015-01-01 00:51:31,bin3091,75, +abc,3092,3092,3092,1978-06-20,308.90000000000174,308.90964,2015-01-01 00:51:32,bin3092,35, +abc,3093,3093,3093,1978-06-21,309.00000000000176,309.00964,2015-01-01 00:51:33,bin3093,75, +abc,3094,3094,3094,1978-06-22,309.1000000000018,309.10965,2015-01-01 00:51:34,bin3094,35, +abc,3095,3095,3095,1978-06-23,309.2000000000018,309.20966,2015-01-01 00:51:35,bin3095,75, +abc,3096,3096,3096,1978-06-24,309.30000000000183,309.30966,2015-01-01 00:51:36,bin3096,35, +abc,3097,3097,3097,1978-06-25,309.40000000000185,309.40967,2015-01-01 00:51:37,bin3097,75, +abc,3098,3098,3098,1978-06-26,309.5000000000019,309.50967,2015-01-01 00:51:38,bin3098,35, +abc,3099,3099,3099,1978-06-27,309.6000000000019,309.60968,2015-01-01 00:51:39,bin3099,75, +abc,3100,3100,3100,1978-06-28,309.7000000000019,309.7097,2015-01-01 00:51:40,bin3100,35, +abc,3101,3101,3101,1978-06-29,309.80000000000194,309.8097,2015-01-01 00:51:41,bin3101,75, +abc,3102,3102,3102,1978-06-30,309.90000000000197,309.9097,2015-01-01 00:51:42,bin3102,35, +abc,3103,3103,3103,1978-07-01,310.000000000002,310.0097,2015-01-01 00:51:43,bin3103,75, +abc,3104,3104,3104,1978-07-02,310.100000000002,310.1097,2015-01-01 00:51:44,bin3104,35, +abc,3105,3105,3105,1978-07-03,310.20000000000203,310.20972,2015-01-01 00:51:45,bin3105,75, +abc,3106,3106,3106,1978-07-04,310.30000000000206,310.30972,2015-01-01 00:51:46,bin3106,35, +abc,3107,3107,3107,1978-07-05,310.4000000000021,310.40973,2015-01-01 00:51:47,bin3107,75, +abc,3108,3108,3108,1978-07-06,310.5000000000021,310.50974,2015-01-01 00:51:48,bin3108,35, +abc,3109,3109,3109,1978-07-07,310.6000000000021,310.60974,2015-01-01 00:51:49,bin3109,75, +abc,3110,3110,3110,1978-07-08,310.70000000000215,310.70975,2015-01-01 00:51:50,bin3110,35, +abc,3111,3111,3111,1978-07-09,310.80000000000217,310.80975,2015-01-01 00:51:51,bin3111,75, +abc,3112,3112,3112,1978-07-10,310.9000000000022,310.90976,2015-01-01 00:51:52,bin3112,35, +abc,3113,3113,3113,1978-07-11,311.0000000000022,311.00977,2015-01-01 00:51:53,bin3113,75, +abc,3114,3114,3114,1978-07-12,311.10000000000224,311.10977,2015-01-01 00:51:54,bin3114,35, +abc,3115,3115,3115,1978-07-13,311.20000000000226,311.20978,2015-01-01 00:51:55,bin3115,75, +abc,3116,3116,3116,1978-07-14,311.3000000000023,311.30978,2015-01-01 00:51:56,bin3116,35, +abc,3117,3117,3117,1978-07-15,311.4000000000023,311.4098,2015-01-01 00:51:57,bin3117,75, +abc,3118,3118,3118,1978-07-16,311.50000000000233,311.5098,2015-01-01 00:51:58,bin3118,35, +abc,3119,3119,3119,1978-07-17,311.60000000000235,311.6098,2015-01-01 00:51:59,bin3119,75, +abc,3120,3120,3120,1978-07-18,311.7000000000024,311.7098,2015-01-01 00:52:00,bin3120,35, +abc,3121,3121,3121,1978-07-19,311.8000000000024,311.8098,2015-01-01 00:52:01,bin3121,75, +abc,3122,3122,3122,1978-07-20,311.9000000000024,311.90982,2015-01-01 00:52:02,bin3122,35, +abc,3123,3123,3123,1978-07-21,312.00000000000244,312.00983,2015-01-01 00:52:03,bin3123,75, +abc,3124,3124,3124,1978-07-22,312.10000000000247,312.10983,2015-01-01 00:52:04,bin3124,35, +abc,3125,3125,3125,1978-07-23,312.2000000000025,312.20984,2015-01-01 00:52:05,bin3125,75, +abc,3126,3126,3126,1978-07-24,312.3000000000025,312.30984,2015-01-01 00:52:06,bin3126,35, +abc,3127,3127,3127,1978-07-25,312.40000000000254,312.40985,2015-01-01 00:52:07,bin3127,75, +abc,3128,3128,3128,1978-07-26,312.50000000000256,312.50986,2015-01-01 00:52:08,bin3128,35, +abc,3129,3129,3129,1978-07-27,312.6000000000026,312.60986,2015-01-01 00:52:09,bin3129,75, +abc,3130,3130,3130,1978-07-28,312.7000000000026,312.70987,2015-01-01 00:52:10,bin3130,35, +abc,3131,3131,3131,1978-07-29,312.8000000000026,312.80988,2015-01-01 00:52:11,bin3131,75, +abc,3132,3132,3132,1978-07-30,312.90000000000265,312.90988,2015-01-01 00:52:12,bin3132,35, +abc,3133,3133,3133,1978-07-31,313.0000000000027,313.0099,2015-01-01 00:52:13,bin3133,75, +abc,3134,3134,3134,1978-08-01,313.1000000000027,313.1099,2015-01-01 00:52:14,bin3134,35, +abc,3135,3135,3135,1978-08-02,313.2000000000027,313.2099,2015-01-01 00:52:15,bin3135,75, +abc,3136,3136,3136,1978-08-03,313.30000000000274,313.3099,2015-01-01 00:52:16,bin3136,35, +abc,3137,3137,3137,1978-08-04,313.40000000000276,313.4099,2015-01-01 00:52:17,bin3137,75, +abc,3138,3138,3138,1978-08-05,313.5000000000028,313.50992,2015-01-01 00:52:18,bin3138,35, +abc,3139,3139,3139,1978-08-06,313.6000000000028,313.60992,2015-01-01 00:52:19,bin3139,75, +abc,3140,3140,3140,1978-08-07,313.70000000000283,313.70993,2015-01-01 00:52:20,bin3140,35, +abc,3141,3141,3141,1978-08-08,313.80000000000285,313.80994,2015-01-01 00:52:21,bin3141,75, +abc,3142,3142,3142,1978-08-09,313.9000000000029,313.90994,2015-01-01 00:52:22,bin3142,35, +abc,3143,3143,3143,1978-08-10,314.0000000000029,314.00995,2015-01-01 00:52:23,bin3143,75, +abc,3144,3144,3144,1978-08-11,314.1000000000029,314.10995,2015-01-01 00:52:24,bin3144,35, +abc,3145,3145,3145,1978-08-12,314.20000000000294,314.20996,2015-01-01 00:52:25,bin3145,75, +abc,3146,3146,3146,1978-08-13,314.30000000000297,314.30997,2015-01-01 00:52:26,bin3146,35, +abc,3147,3147,3147,1978-08-14,314.400000000003,314.40997,2015-01-01 00:52:27,bin3147,75, +abc,3148,3148,3148,1978-08-15,314.500000000003,314.50998,2015-01-01 00:52:28,bin3148,35, +abc,3149,3149,3149,1978-08-16,314.60000000000304,314.61,2015-01-01 00:52:29,bin3149,75, +abc,3150,3150,3150,1978-08-17,314.70000000000306,314.71,2015-01-01 00:52:30,bin3150,35, +abc,3151,3151,3151,1978-08-18,314.8000000000031,314.81,2015-01-01 00:52:31,bin3151,75, +abc,3152,3152,3152,1978-08-19,314.9000000000031,314.91,2015-01-01 00:52:32,bin3152,35, +abc,3153,3153,3153,1978-08-20,315.0000000000031,315.01,2015-01-01 00:52:33,bin3153,75, +abc,3154,3154,3154,1978-08-21,315.10000000000315,315.11002,2015-01-01 00:52:34,bin3154,35, +abc,3155,3155,3155,1978-08-22,315.2000000000032,315.21002,2015-01-01 00:52:35,bin3155,75, +abc,3156,3156,3156,1978-08-23,315.3000000000032,315.31003,2015-01-01 00:52:36,bin3156,35, +abc,3157,3157,3157,1978-08-24,315.4000000000032,315.41003,2015-01-01 00:52:37,bin3157,75, +abc,3158,3158,3158,1978-08-25,315.50000000000324,315.51004,2015-01-01 00:52:38,bin3158,35, +abc,3159,3159,3159,1978-08-26,315.60000000000326,315.61005,2015-01-01 00:52:39,bin3159,75, +abc,3160,3160,3160,1978-08-27,315.7000000000033,315.71005,2015-01-01 00:52:40,bin3160,35, +abc,3161,3161,3161,1978-08-28,315.8000000000033,315.81006,2015-01-01 00:52:41,bin3161,75, +abc,3162,3162,3162,1978-08-29,315.90000000000333,315.91006,2015-01-01 00:52:42,bin3162,35, +abc,3163,3163,3163,1978-08-30,316.00000000000335,316.01007,2015-01-01 00:52:43,bin3163,75, +abc,3164,3164,3164,1978-08-31,316.1000000000034,316.11008,2015-01-01 00:52:44,bin3164,35, +abc,3165,3165,3165,1978-09-01,316.2000000000034,316.21008,2015-01-01 00:52:45,bin3165,75, +abc,3166,3166,3166,1978-09-02,316.3000000000034,316.3101,2015-01-01 00:52:46,bin3166,35, +abc,3167,3167,3167,1978-09-03,316.40000000000344,316.4101,2015-01-01 00:52:47,bin3167,75, +abc,3168,3168,3168,1978-09-04,316.50000000000347,316.5101,2015-01-01 00:52:48,bin3168,35, +abc,3169,3169,3169,1978-09-05,316.6000000000035,316.6101,2015-01-01 00:52:49,bin3169,75, +abc,3170,3170,3170,1978-09-06,316.7000000000035,316.7101,2015-01-01 00:52:50,bin3170,35, +abc,3171,3171,3171,1978-09-07,316.80000000000354,316.81012,2015-01-01 00:52:51,bin3171,75, +abc,3172,3172,3172,1978-09-08,316.90000000000356,316.91013,2015-01-01 00:52:52,bin3172,35, +abc,3173,3173,3173,1978-09-09,317.0000000000036,317.01013,2015-01-01 00:52:53,bin3173,75, +abc,3174,3174,3174,1978-09-10,317.1000000000036,317.11014,2015-01-01 00:52:54,bin3174,35, +abc,3175,3175,3175,1978-09-11,317.2000000000036,317.21014,2015-01-01 00:52:55,bin3175,75, +abc,3176,3176,3176,1978-09-12,317.30000000000365,317.31015,2015-01-01 00:52:56,bin3176,35, +abc,3177,3177,3177,1978-09-13,317.4000000000037,317.41016,2015-01-01 00:52:57,bin3177,75, +abc,3178,3178,3178,1978-09-14,317.5000000000037,317.51016,2015-01-01 00:52:58,bin3178,35, +abc,3179,3179,3179,1978-09-15,317.6000000000037,317.61017,2015-01-01 00:52:59,bin3179,75, +abc,3180,3180,3180,1978-09-16,317.70000000000374,317.71017,2015-01-01 00:53:00,bin3180,35, +abc,3181,3181,3181,1978-09-17,317.80000000000376,317.81018,2015-01-01 00:53:01,bin3181,75, +abc,3182,3182,3182,1978-09-18,317.9000000000038,317.9102,2015-01-01 00:53:02,bin3182,35, +abc,3183,3183,3183,1978-09-19,318.0000000000038,318.0102,2015-01-01 00:53:03,bin3183,75, +abc,3184,3184,3184,1978-09-20,318.10000000000383,318.1102,2015-01-01 00:53:04,bin3184,35, +abc,3185,3185,3185,1978-09-21,318.20000000000385,318.2102,2015-01-01 00:53:05,bin3185,75, +abc,3186,3186,3186,1978-09-22,318.3000000000039,318.3102,2015-01-01 00:53:06,bin3186,35, +abc,3187,3187,3187,1978-09-23,318.4000000000039,318.41022,2015-01-01 00:53:07,bin3187,75, +abc,3188,3188,3188,1978-09-24,318.5000000000039,318.51022,2015-01-01 00:53:08,bin3188,35, +abc,3189,3189,3189,1978-09-25,318.60000000000394,318.61023,2015-01-01 00:53:09,bin3189,75, +abc,3190,3190,3190,1978-09-26,318.70000000000397,318.71024,2015-01-01 00:53:10,bin3190,35, +abc,3191,3191,3191,1978-09-27,318.800000000004,318.81024,2015-01-01 00:53:11,bin3191,75, +abc,3192,3192,3192,1978-09-28,318.900000000004,318.91025,2015-01-01 00:53:12,bin3192,35, +abc,3193,3193,3193,1978-09-29,319.00000000000404,319.01025,2015-01-01 00:53:13,bin3193,75, +abc,3194,3194,3194,1978-09-30,319.10000000000406,319.11026,2015-01-01 00:53:14,bin3194,35, +abc,3195,3195,3195,1978-10-01,319.2000000000041,319.21027,2015-01-01 00:53:15,bin3195,75, +abc,3196,3196,3196,1978-10-02,319.3000000000041,319.31027,2015-01-01 00:53:16,bin3196,35, +abc,3197,3197,3197,1978-10-03,319.4000000000041,319.41028,2015-01-01 00:53:17,bin3197,75, +abc,3198,3198,3198,1978-10-04,319.50000000000415,319.51028,2015-01-01 00:53:18,bin3198,35, +abc,3199,3199,3199,1978-10-05,319.6000000000042,319.6103,2015-01-01 00:53:19,bin3199,75, +abc,3200,3200,3200,1978-10-06,319.7000000000042,319.7103,2015-01-01 00:53:20,bin3200,35, +abc,3201,3201,3201,1978-10-07,319.8000000000042,319.8103,2015-01-01 00:53:21,bin3201,75, +abc,3202,3202,3202,1978-10-08,319.90000000000424,319.9103,2015-01-01 00:53:22,bin3202,35, +abc,3203,3203,3203,1978-10-09,320.00000000000426,320.0103,2015-01-01 00:53:23,bin3203,75, +abc,3204,3204,3204,1978-10-10,320.1000000000043,320.11032,2015-01-01 00:53:24,bin3204,35, +abc,3205,3205,3205,1978-10-11,320.2000000000043,320.21033,2015-01-01 00:53:25,bin3205,75, +abc,3206,3206,3206,1978-10-12,320.30000000000433,320.31033,2015-01-01 00:53:26,bin3206,35, +abc,3207,3207,3207,1978-10-13,320.40000000000435,320.41034,2015-01-01 00:53:27,bin3207,75, +abc,3208,3208,3208,1978-10-14,320.5000000000044,320.51035,2015-01-01 00:53:28,bin3208,35, +abc,3209,3209,3209,1978-10-15,320.6000000000044,320.61035,2015-01-01 00:53:29,bin3209,75, +abc,3210,3210,3210,1978-10-16,320.7000000000044,320.71036,2015-01-01 00:53:30,bin3210,35, +abc,3211,3211,3211,1978-10-17,320.80000000000445,320.81036,2015-01-01 00:53:31,bin3211,75, +abc,3212,3212,3212,1978-10-18,320.90000000000447,320.91037,2015-01-01 00:53:32,bin3212,35, +abc,3213,3213,3213,1978-10-19,321.0000000000045,321.01038,2015-01-01 00:53:33,bin3213,75, +abc,3214,3214,3214,1978-10-20,321.1000000000045,321.11038,2015-01-01 00:53:34,bin3214,35, +abc,3215,3215,3215,1978-10-21,321.20000000000454,321.2104,2015-01-01 00:53:35,bin3215,75, +abc,3216,3216,3216,1978-10-22,321.30000000000456,321.3104,2015-01-01 00:53:36,bin3216,35, +abc,3217,3217,3217,1978-10-23,321.4000000000046,321.4104,2015-01-01 00:53:37,bin3217,75, +abc,3218,3218,3218,1978-10-24,321.5000000000046,321.5104,2015-01-01 00:53:38,bin3218,35, +abc,3219,3219,3219,1978-10-25,321.6000000000046,321.6104,2015-01-01 00:53:39,bin3219,75, +abc,3220,3220,3220,1978-10-26,321.70000000000465,321.71042,2015-01-01 00:53:40,bin3220,35, +abc,3221,3221,3221,1978-10-27,321.8000000000047,321.81042,2015-01-01 00:53:41,bin3221,75, +abc,3222,3222,3222,1978-10-28,321.9000000000047,321.91043,2015-01-01 00:53:42,bin3222,35, +abc,3223,3223,3223,1978-10-29,322.0000000000047,322.01044,2015-01-01 00:53:43,bin3223,75, +abc,3224,3224,3224,1978-10-30,322.10000000000474,322.11044,2015-01-01 00:53:44,bin3224,35, +abc,3225,3225,3225,1978-10-31,322.20000000000476,322.21045,2015-01-01 00:53:45,bin3225,75, +abc,3226,3226,3226,1978-11-01,322.3000000000048,322.31046,2015-01-01 00:53:46,bin3226,35, +abc,3227,3227,3227,1978-11-02,322.4000000000048,322.41046,2015-01-01 00:53:47,bin3227,75, +abc,3228,3228,3228,1978-11-03,322.50000000000483,322.51047,2015-01-01 00:53:48,bin3228,35, +abc,3229,3229,3229,1978-11-04,322.60000000000485,322.61047,2015-01-01 00:53:49,bin3229,75, +abc,3230,3230,3230,1978-11-05,322.7000000000049,322.71048,2015-01-01 00:53:50,bin3230,35, +abc,3231,3231,3231,1978-11-06,322.8000000000049,322.8105,2015-01-01 00:53:51,bin3231,75, +abc,3232,3232,3232,1978-11-07,322.9000000000049,322.9105,2015-01-01 00:53:52,bin3232,35, +abc,3233,3233,3233,1978-11-08,323.00000000000495,323.0105,2015-01-01 00:53:53,bin3233,75, +abc,3234,3234,3234,1978-11-09,323.10000000000497,323.1105,2015-01-01 00:53:54,bin3234,35, +abc,3235,3235,3235,1978-11-10,323.200000000005,323.2105,2015-01-01 00:53:55,bin3235,75, +abc,3236,3236,3236,1978-11-11,323.300000000005,323.31052,2015-01-01 00:53:56,bin3236,35, +abc,3237,3237,3237,1978-11-12,323.40000000000504,323.41052,2015-01-01 00:53:57,bin3237,75, +abc,3238,3238,3238,1978-11-13,323.50000000000506,323.51053,2015-01-01 00:53:58,bin3238,35, +abc,3239,3239,3239,1978-11-14,323.6000000000051,323.61053,2015-01-01 00:53:59,bin3239,75, +abc,3240,3240,3240,1978-11-15,323.7000000000051,323.71054,2015-01-01 00:54:00,bin3240,35, +abc,3241,3241,3241,1978-11-16,323.8000000000051,323.81055,2015-01-01 00:54:01,bin3241,75, +abc,3242,3242,3242,1978-11-17,323.90000000000515,323.91055,2015-01-01 00:54:02,bin3242,35, +abc,3243,3243,3243,1978-11-18,324.0000000000052,324.01056,2015-01-01 00:54:03,bin3243,75, +abc,3244,3244,3244,1978-11-19,324.1000000000052,324.11057,2015-01-01 00:54:04,bin3244,35, +abc,3245,3245,3245,1978-11-20,324.2000000000052,324.21057,2015-01-01 00:54:05,bin3245,75, +abc,3246,3246,3246,1978-11-21,324.30000000000524,324.31058,2015-01-01 00:54:06,bin3246,35, +abc,3247,3247,3247,1978-11-22,324.40000000000526,324.41058,2015-01-01 00:54:07,bin3247,75, +abc,3248,3248,3248,1978-11-23,324.5000000000053,324.5106,2015-01-01 00:54:08,bin3248,35, +abc,3249,3249,3249,1978-11-24,324.6000000000053,324.6106,2015-01-01 00:54:09,bin3249,75, +abc,3250,3250,3250,1978-11-25,324.70000000000533,324.7106,2015-01-01 00:54:10,bin3250,35, +abc,3251,3251,3251,1978-11-26,324.80000000000535,324.8106,2015-01-01 00:54:11,bin3251,75, +abc,3252,3252,3252,1978-11-27,324.9000000000054,324.9106,2015-01-01 00:54:12,bin3252,35, +abc,3253,3253,3253,1978-11-28,325.0000000000054,325.01062,2015-01-01 00:54:13,bin3253,75, +abc,3254,3254,3254,1978-11-29,325.1000000000054,325.11063,2015-01-01 00:54:14,bin3254,35, +abc,3255,3255,3255,1978-11-30,325.20000000000545,325.21063,2015-01-01 00:54:15,bin3255,75, +abc,3256,3256,3256,1978-12-01,325.30000000000547,325.31064,2015-01-01 00:54:16,bin3256,35, +abc,3257,3257,3257,1978-12-02,325.4000000000055,325.41064,2015-01-01 00:54:17,bin3257,75, +abc,3258,3258,3258,1978-12-03,325.5000000000055,325.51065,2015-01-01 00:54:18,bin3258,35, +abc,3259,3259,3259,1978-12-04,325.60000000000554,325.61066,2015-01-01 00:54:19,bin3259,75, +abc,3260,3260,3260,1978-12-05,325.70000000000556,325.71066,2015-01-01 00:54:20,bin3260,35, +abc,3261,3261,3261,1978-12-06,325.8000000000056,325.81067,2015-01-01 00:54:21,bin3261,75, +abc,3262,3262,3262,1978-12-07,325.9000000000056,325.91068,2015-01-01 00:54:22,bin3262,35, +abc,3263,3263,3263,1978-12-08,326.0000000000056,326.01068,2015-01-01 00:54:23,bin3263,75, +abc,3264,3264,3264,1978-12-09,326.10000000000565,326.1107,2015-01-01 00:54:24,bin3264,35, +abc,3265,3265,3265,1978-12-10,326.2000000000057,326.2107,2015-01-01 00:54:25,bin3265,75, +abc,3266,3266,3266,1978-12-11,326.3000000000057,326.3107,2015-01-01 00:54:26,bin3266,35, +abc,3267,3267,3267,1978-12-12,326.4000000000057,326.4107,2015-01-01 00:54:27,bin3267,75, +abc,3268,3268,3268,1978-12-13,326.50000000000574,326.5107,2015-01-01 00:54:28,bin3268,35, +abc,3269,3269,3269,1978-12-14,326.60000000000576,326.61072,2015-01-01 00:54:29,bin3269,75, +abc,3270,3270,3270,1978-12-15,326.7000000000058,326.71072,2015-01-01 00:54:30,bin3270,35, +abc,3271,3271,3271,1978-12-16,326.8000000000058,326.81073,2015-01-01 00:54:31,bin3271,75, +abc,3272,3272,3272,1978-12-17,326.90000000000583,326.91074,2015-01-01 00:54:32,bin3272,35, +abc,3273,3273,3273,1978-12-18,327.00000000000585,327.01074,2015-01-01 00:54:33,bin3273,75, +abc,3274,3274,3274,1978-12-19,327.1000000000059,327.11075,2015-01-01 00:54:34,bin3274,35, +abc,3275,3275,3275,1978-12-20,327.2000000000059,327.21075,2015-01-01 00:54:35,bin3275,75, +abc,3276,3276,3276,1978-12-21,327.3000000000059,327.31076,2015-01-01 00:54:36,bin3276,35, +abc,3277,3277,3277,1978-12-22,327.40000000000595,327.41077,2015-01-01 00:54:37,bin3277,75, +abc,3278,3278,3278,1978-12-23,327.50000000000597,327.51077,2015-01-01 00:54:38,bin3278,35, +abc,3279,3279,3279,1978-12-24,327.600000000006,327.61078,2015-01-01 00:54:39,bin3279,75, +abc,3280,3280,3280,1978-12-25,327.700000000006,327.7108,2015-01-01 00:54:40,bin3280,35, +abc,3281,3281,3281,1978-12-26,327.80000000000604,327.8108,2015-01-01 00:54:41,bin3281,75, +abc,3282,3282,3282,1978-12-27,327.90000000000606,327.9108,2015-01-01 00:54:42,bin3282,35, +abc,3283,3283,3283,1978-12-28,328.0000000000061,328.0108,2015-01-01 00:54:43,bin3283,75, +abc,3284,3284,3284,1978-12-29,328.1000000000061,328.1108,2015-01-01 00:54:44,bin3284,35, +abc,3285,3285,3285,1978-12-30,328.2000000000061,328.21082,2015-01-01 00:54:45,bin3285,75, +abc,3286,3286,3286,1978-12-31,328.30000000000615,328.31082,2015-01-01 00:54:46,bin3286,35, +abc,3287,3287,3287,1979-01-01,328.4000000000062,328.41083,2015-01-01 00:54:47,bin3287,75, +abc,3288,3288,3288,1979-01-02,328.5000000000062,328.51083,2015-01-01 00:54:48,bin3288,35, +abc,3289,3289,3289,1979-01-03,328.6000000000062,328.61084,2015-01-01 00:54:49,bin3289,75, +abc,3290,3290,3290,1979-01-04,328.70000000000624,328.71085,2015-01-01 00:54:50,bin3290,35, +abc,3291,3291,3291,1979-01-05,328.80000000000626,328.81085,2015-01-01 00:54:51,bin3291,75, +abc,3292,3292,3292,1979-01-06,328.9000000000063,328.91086,2015-01-01 00:54:52,bin3292,35, +abc,3293,3293,3293,1979-01-07,329.0000000000063,329.01086,2015-01-01 00:54:53,bin3293,75, +abc,3294,3294,3294,1979-01-08,329.10000000000633,329.11087,2015-01-01 00:54:54,bin3294,35, +abc,3295,3295,3295,1979-01-09,329.20000000000636,329.21088,2015-01-01 00:54:55,bin3295,75, +abc,3296,3296,3296,1979-01-10,329.3000000000064,329.31088,2015-01-01 00:54:56,bin3296,35, +abc,3297,3297,3297,1979-01-11,329.4000000000064,329.4109,2015-01-01 00:54:57,bin3297,75, +abc,3298,3298,3298,1979-01-12,329.5000000000064,329.5109,2015-01-01 00:54:58,bin3298,35, +abc,3299,3299,3299,1979-01-13,329.60000000000645,329.6109,2015-01-01 00:54:59,bin3299,75, +abc,3300,3300,3300,1979-01-14,329.70000000000647,329.7109,2015-01-01 00:55:00,bin3300,35, +abc,3301,3301,3301,1979-01-15,329.8000000000065,329.8109,2015-01-01 00:55:01,bin3301,75, +abc,3302,3302,3302,1979-01-16,329.9000000000065,329.91092,2015-01-01 00:55:02,bin3302,35, +abc,3303,3303,3303,1979-01-17,330.00000000000654,330.01093,2015-01-01 00:55:03,bin3303,75, +abc,3304,3304,3304,1979-01-18,330.10000000000656,330.11093,2015-01-01 00:55:04,bin3304,35, +abc,3305,3305,3305,1979-01-19,330.2000000000066,330.21094,2015-01-01 00:55:05,bin3305,75, +abc,3306,3306,3306,1979-01-20,330.3000000000066,330.31094,2015-01-01 00:55:06,bin3306,35, +abc,3307,3307,3307,1979-01-21,330.4000000000066,330.41095,2015-01-01 00:55:07,bin3307,75, +abc,3308,3308,3308,1979-01-22,330.50000000000665,330.51096,2015-01-01 00:55:08,bin3308,35, +abc,3309,3309,3309,1979-01-23,330.6000000000067,330.61096,2015-01-01 00:55:09,bin3309,75, +abc,3310,3310,3310,1979-01-24,330.7000000000067,330.71097,2015-01-01 00:55:10,bin3310,35, +abc,3311,3311,3311,1979-01-25,330.8000000000067,330.81097,2015-01-01 00:55:11,bin3311,75, +abc,3312,3312,3312,1979-01-26,330.90000000000674,330.91098,2015-01-01 00:55:12,bin3312,35, +abc,3313,3313,3313,1979-01-27,331.00000000000676,331.011,2015-01-01 00:55:13,bin3313,75, +abc,3314,3314,3314,1979-01-28,331.1000000000068,331.111,2015-01-01 00:55:14,bin3314,35, +abc,3315,3315,3315,1979-01-29,331.2000000000068,331.211,2015-01-01 00:55:15,bin3315,75, +abc,3316,3316,3316,1979-01-30,331.30000000000683,331.311,2015-01-01 00:55:16,bin3316,35, +abc,3317,3317,3317,1979-01-31,331.40000000000686,331.411,2015-01-01 00:55:17,bin3317,75, +abc,3318,3318,3318,1979-02-01,331.5000000000069,331.51102,2015-01-01 00:55:18,bin3318,35, +abc,3319,3319,3319,1979-02-02,331.6000000000069,331.61102,2015-01-01 00:55:19,bin3319,75, +abc,3320,3320,3320,1979-02-03,331.7000000000069,331.71103,2015-01-01 00:55:20,bin3320,35, +abc,3321,3321,3321,1979-02-04,331.80000000000695,331.81104,2015-01-01 00:55:21,bin3321,75, +abc,3322,3322,3322,1979-02-05,331.90000000000697,331.91104,2015-01-01 00:55:22,bin3322,35, +abc,3323,3323,3323,1979-02-06,332.000000000007,332.01105,2015-01-01 00:55:23,bin3323,75, +abc,3324,3324,3324,1979-02-07,332.100000000007,332.11105,2015-01-01 00:55:24,bin3324,35, +abc,3325,3325,3325,1979-02-08,332.20000000000704,332.21106,2015-01-01 00:55:25,bin3325,75, +abc,3326,3326,3326,1979-02-09,332.30000000000706,332.31107,2015-01-01 00:55:26,bin3326,35, +abc,3327,3327,3327,1979-02-10,332.4000000000071,332.41107,2015-01-01 00:55:27,bin3327,75, +abc,3328,3328,3328,1979-02-11,332.5000000000071,332.51108,2015-01-01 00:55:28,bin3328,35, +abc,3329,3329,3329,1979-02-12,332.6000000000071,332.61108,2015-01-01 00:55:29,bin3329,75, +abc,3330,3330,3330,1979-02-13,332.70000000000715,332.7111,2015-01-01 00:55:30,bin3330,35, +abc,3331,3331,3331,1979-02-14,332.8000000000072,332.8111,2015-01-01 00:55:31,bin3331,75, +abc,3332,3332,3332,1979-02-15,332.9000000000072,332.9111,2015-01-01 00:55:32,bin3332,35, +abc,3333,3333,3333,1979-02-16,333.0000000000072,333.0111,2015-01-01 00:55:33,bin3333,75, +abc,3334,3334,3334,1979-02-17,333.10000000000724,333.1111,2015-01-01 00:55:34,bin3334,35, +abc,3335,3335,3335,1979-02-18,333.20000000000726,333.21112,2015-01-01 00:55:35,bin3335,75, +abc,3336,3336,3336,1979-02-19,333.3000000000073,333.31113,2015-01-01 00:55:36,bin3336,35, +abc,3337,3337,3337,1979-02-20,333.4000000000073,333.41113,2015-01-01 00:55:37,bin3337,75, +abc,3338,3338,3338,1979-02-21,333.50000000000733,333.51114,2015-01-01 00:55:38,bin3338,35, +abc,3339,3339,3339,1979-02-22,333.60000000000736,333.61115,2015-01-01 00:55:39,bin3339,75, +abc,3340,3340,3340,1979-02-23,333.7000000000074,333.71115,2015-01-01 00:55:40,bin3340,35, +abc,3341,3341,3341,1979-02-24,333.8000000000074,333.81116,2015-01-01 00:55:41,bin3341,75, +abc,3342,3342,3342,1979-02-25,333.9000000000074,333.91116,2015-01-01 00:55:42,bin3342,35, +abc,3343,3343,3343,1979-02-26,334.00000000000745,334.01117,2015-01-01 00:55:43,bin3343,75, +abc,3344,3344,3344,1979-02-27,334.10000000000747,334.11118,2015-01-01 00:55:44,bin3344,35, +abc,3345,3345,3345,1979-02-28,334.2000000000075,334.21118,2015-01-01 00:55:45,bin3345,75, +abc,3346,3346,3346,1979-03-01,334.3000000000075,334.3112,2015-01-01 00:55:46,bin3346,35, +abc,3347,3347,3347,1979-03-02,334.40000000000754,334.4112,2015-01-01 00:55:47,bin3347,75, +abc,3348,3348,3348,1979-03-03,334.50000000000756,334.5112,2015-01-01 00:55:48,bin3348,35, +abc,3349,3349,3349,1979-03-04,334.6000000000076,334.6112,2015-01-01 00:55:49,bin3349,75, +abc,3350,3350,3350,1979-03-05,334.7000000000076,334.7112,2015-01-01 00:55:50,bin3350,35, +abc,3351,3351,3351,1979-03-06,334.8000000000076,334.81122,2015-01-01 00:55:51,bin3351,75, +abc,3352,3352,3352,1979-03-07,334.90000000000765,334.91122,2015-01-01 00:55:52,bin3352,35, +abc,3353,3353,3353,1979-03-08,335.0000000000077,335.01123,2015-01-01 00:55:53,bin3353,75, +abc,3354,3354,3354,1979-03-09,335.1000000000077,335.11124,2015-01-01 00:55:54,bin3354,35, +abc,3355,3355,3355,1979-03-10,335.2000000000077,335.21124,2015-01-01 00:55:55,bin3355,75, +abc,3356,3356,3356,1979-03-11,335.30000000000774,335.31125,2015-01-01 00:55:56,bin3356,35, +abc,3357,3357,3357,1979-03-12,335.40000000000776,335.41125,2015-01-01 00:55:57,bin3357,75, +abc,3358,3358,3358,1979-03-13,335.5000000000078,335.51126,2015-01-01 00:55:58,bin3358,35, +abc,3359,3359,3359,1979-03-14,335.6000000000078,335.61127,2015-01-01 00:55:59,bin3359,75, +abc,3360,3360,3360,1979-03-15,335.70000000000783,335.71127,2015-01-01 00:56:00,bin3360,35, +abc,3361,3361,3361,1979-03-16,335.80000000000786,335.81128,2015-01-01 00:56:01,bin3361,75, +abc,3362,3362,3362,1979-03-17,335.9000000000079,335.9113,2015-01-01 00:56:02,bin3362,35, +abc,3363,3363,3363,1979-03-18,336.0000000000079,336.0113,2015-01-01 00:56:03,bin3363,75, +abc,3364,3364,3364,1979-03-19,336.1000000000079,336.1113,2015-01-01 00:56:04,bin3364,35, +abc,3365,3365,3365,1979-03-20,336.20000000000795,336.2113,2015-01-01 00:56:05,bin3365,75, +abc,3366,3366,3366,1979-03-21,336.30000000000797,336.3113,2015-01-01 00:56:06,bin3366,35, +abc,3367,3367,3367,1979-03-22,336.400000000008,336.41132,2015-01-01 00:56:07,bin3367,75, +abc,3368,3368,3368,1979-03-23,336.500000000008,336.51132,2015-01-01 00:56:08,bin3368,35, +abc,3369,3369,3369,1979-03-24,336.60000000000804,336.61133,2015-01-01 00:56:09,bin3369,75, +abc,3370,3370,3370,1979-03-25,336.70000000000806,336.71133,2015-01-01 00:56:10,bin3370,35, +abc,3371,3371,3371,1979-03-26,336.8000000000081,336.81134,2015-01-01 00:56:11,bin3371,75, +abc,3372,3372,3372,1979-03-27,336.9000000000081,336.91135,2015-01-01 00:56:12,bin3372,35, +abc,3373,3373,3373,1979-03-28,337.00000000000813,337.01135,2015-01-01 00:56:13,bin3373,75, +abc,3374,3374,3374,1979-03-29,337.10000000000815,337.11136,2015-01-01 00:56:14,bin3374,35, +abc,3375,3375,3375,1979-03-30,337.2000000000082,337.21136,2015-01-01 00:56:15,bin3375,75, +abc,3376,3376,3376,1979-03-31,337.3000000000082,337.31137,2015-01-01 00:56:16,bin3376,35, +abc,3377,3377,3377,1979-04-01,337.4000000000082,337.41138,2015-01-01 00:56:17,bin3377,75, +abc,3378,3378,3378,1979-04-02,337.50000000000824,337.51138,2015-01-01 00:56:18,bin3378,35, +abc,3379,3379,3379,1979-04-03,337.60000000000827,337.6114,2015-01-01 00:56:19,bin3379,75, +abc,3380,3380,3380,1979-04-04,337.7000000000083,337.7114,2015-01-01 00:56:20,bin3380,35, +abc,3381,3381,3381,1979-04-05,337.8000000000083,337.8114,2015-01-01 00:56:21,bin3381,75, +abc,3382,3382,3382,1979-04-06,337.90000000000833,337.9114,2015-01-01 00:56:22,bin3382,35, +abc,3383,3383,3383,1979-04-07,338.00000000000836,338.0114,2015-01-01 00:56:23,bin3383,75, +abc,3384,3384,3384,1979-04-08,338.1000000000084,338.11142,2015-01-01 00:56:24,bin3384,35, +abc,3385,3385,3385,1979-04-09,338.2000000000084,338.21143,2015-01-01 00:56:25,bin3385,75, +abc,3386,3386,3386,1979-04-10,338.3000000000084,338.31143,2015-01-01 00:56:26,bin3386,35, +abc,3387,3387,3387,1979-04-11,338.40000000000845,338.41144,2015-01-01 00:56:27,bin3387,75, +abc,3388,3388,3388,1979-04-12,338.50000000000847,338.51144,2015-01-01 00:56:28,bin3388,35, +abc,3389,3389,3389,1979-04-13,338.6000000000085,338.61145,2015-01-01 00:56:29,bin3389,75, +abc,3390,3390,3390,1979-04-14,338.7000000000085,338.71146,2015-01-01 00:56:30,bin3390,35, +abc,3391,3391,3391,1979-04-15,338.80000000000854,338.81146,2015-01-01 00:56:31,bin3391,75, +abc,3392,3392,3392,1979-04-16,338.90000000000856,338.91147,2015-01-01 00:56:32,bin3392,35, +abc,3393,3393,3393,1979-04-17,339.0000000000086,339.01147,2015-01-01 00:56:33,bin3393,75, +abc,3394,3394,3394,1979-04-18,339.1000000000086,339.11148,2015-01-01 00:56:34,bin3394,35, +abc,3395,3395,3395,1979-04-19,339.20000000000863,339.2115,2015-01-01 00:56:35,bin3395,75, +abc,3396,3396,3396,1979-04-20,339.30000000000865,339.3115,2015-01-01 00:56:36,bin3396,35, +abc,3397,3397,3397,1979-04-21,339.4000000000087,339.4115,2015-01-01 00:56:37,bin3397,75, +abc,3398,3398,3398,1979-04-22,339.5000000000087,339.5115,2015-01-01 00:56:38,bin3398,35, +abc,3399,3399,3399,1979-04-23,339.6000000000087,339.6115,2015-01-01 00:56:39,bin3399,75, +abc,3400,3400,3400,1979-04-24,339.70000000000874,339.71152,2015-01-01 00:56:40,bin3400,35, +abc,3401,3401,3401,1979-04-25,339.80000000000877,339.81152,2015-01-01 00:56:41,bin3401,75, +abc,3402,3402,3402,1979-04-26,339.9000000000088,339.91153,2015-01-01 00:56:42,bin3402,35, +abc,3403,3403,3403,1979-04-27,340.0000000000088,340.01154,2015-01-01 00:56:43,bin3403,75, +abc,3404,3404,3404,1979-04-28,340.10000000000883,340.11154,2015-01-01 00:56:44,bin3404,35, +abc,3405,3405,3405,1979-04-29,340.20000000000886,340.21155,2015-01-01 00:56:45,bin3405,75, +abc,3406,3406,3406,1979-04-30,340.3000000000089,340.31155,2015-01-01 00:56:46,bin3406,35, +abc,3407,3407,3407,1979-05-01,340.4000000000089,340.41156,2015-01-01 00:56:47,bin3407,75, +abc,3408,3408,3408,1979-05-02,340.5000000000089,340.51157,2015-01-01 00:56:48,bin3408,35, +abc,3409,3409,3409,1979-05-03,340.60000000000895,340.61157,2015-01-01 00:56:49,bin3409,75, +abc,3410,3410,3410,1979-05-04,340.70000000000897,340.71158,2015-01-01 00:56:50,bin3410,35, +abc,3411,3411,3411,1979-05-05,340.800000000009,340.81158,2015-01-01 00:56:51,bin3411,75, +abc,3412,3412,3412,1979-05-06,340.900000000009,340.9116,2015-01-01 00:56:52,bin3412,35, +abc,3413,3413,3413,1979-05-07,341.00000000000904,341.0116,2015-01-01 00:56:53,bin3413,75, +abc,3414,3414,3414,1979-05-08,341.10000000000906,341.1116,2015-01-01 00:56:54,bin3414,35, +abc,3415,3415,3415,1979-05-09,341.2000000000091,341.2116,2015-01-01 00:56:55,bin3415,75, +abc,3416,3416,3416,1979-05-10,341.3000000000091,341.3116,2015-01-01 00:56:56,bin3416,35, +abc,3417,3417,3417,1979-05-11,341.40000000000913,341.41162,2015-01-01 00:56:57,bin3417,75, +abc,3418,3418,3418,1979-05-12,341.50000000000915,341.51163,2015-01-01 00:56:58,bin3418,35, +abc,3419,3419,3419,1979-05-13,341.6000000000092,341.61163,2015-01-01 00:56:59,bin3419,75, +abc,3420,3420,3420,1979-05-14,341.7000000000092,341.71164,2015-01-01 00:57:00,bin3420,35, +abc,3421,3421,3421,1979-05-15,341.8000000000092,341.81165,2015-01-01 00:57:01,bin3421,75, +abc,3422,3422,3422,1979-05-16,341.90000000000924,341.91165,2015-01-01 00:57:02,bin3422,35, +abc,3423,3423,3423,1979-05-17,342.00000000000927,342.01166,2015-01-01 00:57:03,bin3423,75, +abc,3424,3424,3424,1979-05-18,342.1000000000093,342.11166,2015-01-01 00:57:04,bin3424,35, +abc,3425,3425,3425,1979-05-19,342.2000000000093,342.21167,2015-01-01 00:57:05,bin3425,75, +abc,3426,3426,3426,1979-05-20,342.30000000000933,342.31168,2015-01-01 00:57:06,bin3426,35, +abc,3427,3427,3427,1979-05-21,342.40000000000936,342.41168,2015-01-01 00:57:07,bin3427,75, +abc,3428,3428,3428,1979-05-22,342.5000000000094,342.5117,2015-01-01 00:57:08,bin3428,35, +abc,3429,3429,3429,1979-05-23,342.6000000000094,342.6117,2015-01-01 00:57:09,bin3429,75, +abc,3430,3430,3430,1979-05-24,342.7000000000094,342.7117,2015-01-01 00:57:10,bin3430,35, +abc,3431,3431,3431,1979-05-25,342.80000000000945,342.8117,2015-01-01 00:57:11,bin3431,75, +abc,3432,3432,3432,1979-05-26,342.90000000000947,342.9117,2015-01-01 00:57:12,bin3432,35, +abc,3433,3433,3433,1979-05-27,343.0000000000095,343.01172,2015-01-01 00:57:13,bin3433,75, +abc,3434,3434,3434,1979-05-28,343.1000000000095,343.11172,2015-01-01 00:57:14,bin3434,35, +abc,3435,3435,3435,1979-05-29,343.20000000000954,343.21173,2015-01-01 00:57:15,bin3435,75, +abc,3436,3436,3436,1979-05-30,343.30000000000956,343.31174,2015-01-01 00:57:16,bin3436,35, +abc,3437,3437,3437,1979-05-31,343.4000000000096,343.41174,2015-01-01 00:57:17,bin3437,75, +abc,3438,3438,3438,1979-06-01,343.5000000000096,343.51175,2015-01-01 00:57:18,bin3438,35, +abc,3439,3439,3439,1979-06-02,343.60000000000963,343.61176,2015-01-01 00:57:19,bin3439,75, +abc,3440,3440,3440,1979-06-03,343.70000000000965,343.71176,2015-01-01 00:57:20,bin3440,35, +abc,3441,3441,3441,1979-06-04,343.8000000000097,343.81177,2015-01-01 00:57:21,bin3441,75, +abc,3442,3442,3442,1979-06-05,343.9000000000097,343.91177,2015-01-01 00:57:22,bin3442,35, +abc,3443,3443,3443,1979-06-06,344.0000000000097,344.01178,2015-01-01 00:57:23,bin3443,75, +abc,3444,3444,3444,1979-06-07,344.10000000000974,344.1118,2015-01-01 00:57:24,bin3444,35, +abc,3445,3445,3445,1979-06-08,344.20000000000977,344.2118,2015-01-01 00:57:25,bin3445,75, +abc,3446,3446,3446,1979-06-09,344.3000000000098,344.3118,2015-01-01 00:57:26,bin3446,35, +abc,3447,3447,3447,1979-06-10,344.4000000000098,344.4118,2015-01-01 00:57:27,bin3447,75, +abc,3448,3448,3448,1979-06-11,344.50000000000983,344.5118,2015-01-01 00:57:28,bin3448,35, +abc,3449,3449,3449,1979-06-12,344.60000000000986,344.61182,2015-01-01 00:57:29,bin3449,75, +abc,3450,3450,3450,1979-06-13,344.7000000000099,344.71182,2015-01-01 00:57:30,bin3450,35, +abc,3451,3451,3451,1979-06-14,344.8000000000099,344.81183,2015-01-01 00:57:31,bin3451,75, +abc,3452,3452,3452,1979-06-15,344.9000000000099,344.91183,2015-01-01 00:57:32,bin3452,35, +abc,3453,3453,3453,1979-06-16,345.00000000000995,345.01184,2015-01-01 00:57:33,bin3453,75, +abc,3454,3454,3454,1979-06-17,345.10000000000997,345.11185,2015-01-01 00:57:34,bin3454,35, +abc,3455,3455,3455,1979-06-18,345.20000000001,345.21185,2015-01-01 00:57:35,bin3455,75, +abc,3456,3456,3456,1979-06-19,345.30000000001,345.31186,2015-01-01 00:57:36,bin3456,35, +abc,3457,3457,3457,1979-06-20,345.40000000001004,345.41187,2015-01-01 00:57:37,bin3457,75, +abc,3458,3458,3458,1979-06-21,345.50000000001006,345.51187,2015-01-01 00:57:38,bin3458,35, +abc,3459,3459,3459,1979-06-22,345.6000000000101,345.61188,2015-01-01 00:57:39,bin3459,75, +abc,3460,3460,3460,1979-06-23,345.7000000000101,345.71188,2015-01-01 00:57:40,bin3460,35, +abc,3461,3461,3461,1979-06-24,345.80000000001013,345.8119,2015-01-01 00:57:41,bin3461,75, +abc,3462,3462,3462,1979-06-25,345.90000000001015,345.9119,2015-01-01 00:57:42,bin3462,35, +abc,3463,3463,3463,1979-06-26,346.0000000000102,346.0119,2015-01-01 00:57:43,bin3463,75, +abc,3464,3464,3464,1979-06-27,346.1000000000102,346.1119,2015-01-01 00:57:44,bin3464,35, +abc,3465,3465,3465,1979-06-28,346.2000000000102,346.2119,2015-01-01 00:57:45,bin3465,75, +abc,3466,3466,3466,1979-06-29,346.30000000001024,346.31192,2015-01-01 00:57:46,bin3466,35, +abc,3467,3467,3467,1979-06-30,346.40000000001027,346.41193,2015-01-01 00:57:47,bin3467,75, +abc,3468,3468,3468,1979-07-01,346.5000000000103,346.51193,2015-01-01 00:57:48,bin3468,35, +abc,3469,3469,3469,1979-07-02,346.6000000000103,346.61194,2015-01-01 00:57:49,bin3469,75, +abc,3470,3470,3470,1979-07-03,346.70000000001033,346.71194,2015-01-01 00:57:50,bin3470,35, +abc,3471,3471,3471,1979-07-04,346.80000000001036,346.81195,2015-01-01 00:57:51,bin3471,75, +abc,3472,3472,3472,1979-07-05,346.9000000000104,346.91196,2015-01-01 00:57:52,bin3472,35, +abc,3473,3473,3473,1979-07-06,347.0000000000104,347.01196,2015-01-01 00:57:53,bin3473,75, +abc,3474,3474,3474,1979-07-07,347.1000000000104,347.11197,2015-01-01 00:57:54,bin3474,35, +abc,3475,3475,3475,1979-07-08,347.20000000001045,347.21198,2015-01-01 00:57:55,bin3475,75, +abc,3476,3476,3476,1979-07-09,347.30000000001047,347.31198,2015-01-01 00:57:56,bin3476,35, +abc,3477,3477,3477,1979-07-10,347.4000000000105,347.412,2015-01-01 00:57:57,bin3477,75, +abc,3478,3478,3478,1979-07-11,347.5000000000105,347.512,2015-01-01 00:57:58,bin3478,35, +abc,3479,3479,3479,1979-07-12,347.60000000001054,347.612,2015-01-01 00:57:59,bin3479,75, +abc,3480,3480,3480,1979-07-13,347.70000000001056,347.712,2015-01-01 00:58:00,bin3480,35, +abc,3481,3481,3481,1979-07-14,347.8000000000106,347.812,2015-01-01 00:58:01,bin3481,75, +abc,3482,3482,3482,1979-07-15,347.9000000000106,347.91202,2015-01-01 00:58:02,bin3482,35, +abc,3483,3483,3483,1979-07-16,348.00000000001063,348.01202,2015-01-01 00:58:03,bin3483,75, +abc,3484,3484,3484,1979-07-17,348.10000000001065,348.11203,2015-01-01 00:58:04,bin3484,35, +abc,3485,3485,3485,1979-07-18,348.2000000000107,348.21204,2015-01-01 00:58:05,bin3485,75, +abc,3486,3486,3486,1979-07-19,348.3000000000107,348.31204,2015-01-01 00:58:06,bin3486,35, +abc,3487,3487,3487,1979-07-20,348.4000000000107,348.41205,2015-01-01 00:58:07,bin3487,75, +abc,3488,3488,3488,1979-07-21,348.50000000001074,348.51205,2015-01-01 00:58:08,bin3488,35, +abc,3489,3489,3489,1979-07-22,348.60000000001077,348.61206,2015-01-01 00:58:09,bin3489,75, +abc,3490,3490,3490,1979-07-23,348.7000000000108,348.71207,2015-01-01 00:58:10,bin3490,35, +abc,3491,3491,3491,1979-07-24,348.8000000000108,348.81207,2015-01-01 00:58:11,bin3491,75, +abc,3492,3492,3492,1979-07-25,348.90000000001083,348.91208,2015-01-01 00:58:12,bin3492,35, +abc,3493,3493,3493,1979-07-26,349.00000000001086,349.0121,2015-01-01 00:58:13,bin3493,75, +abc,3494,3494,3494,1979-07-27,349.1000000000109,349.1121,2015-01-01 00:58:14,bin3494,35, +abc,3495,3495,3495,1979-07-28,349.2000000000109,349.2121,2015-01-01 00:58:15,bin3495,75, +abc,3496,3496,3496,1979-07-29,349.3000000000109,349.3121,2015-01-01 00:58:16,bin3496,35, +abc,3497,3497,3497,1979-07-30,349.40000000001095,349.4121,2015-01-01 00:58:17,bin3497,75, +abc,3498,3498,3498,1979-07-31,349.50000000001097,349.51212,2015-01-01 00:58:18,bin3498,35, +abc,3499,3499,3499,1979-08-01,349.600000000011,349.61212,2015-01-01 00:58:19,bin3499,75, +abc,3500,3500,3500,1979-08-02,349.700000000011,349.71213,2015-01-01 00:58:20,bin3500,35, +abc,3501,3501,3501,1979-08-03,349.80000000001104,349.81213,2015-01-01 00:58:21,bin3501,75, +abc,3502,3502,3502,1979-08-04,349.90000000001106,349.91214,2015-01-01 00:58:22,bin3502,35, +abc,3503,3503,3503,1979-08-05,350.0000000000111,350.01215,2015-01-01 00:58:23,bin3503,75, +abc,3504,3504,3504,1979-08-06,350.1000000000111,350.11215,2015-01-01 00:58:24,bin3504,35, +abc,3505,3505,3505,1979-08-07,350.20000000001113,350.21216,2015-01-01 00:58:25,bin3505,75, +abc,3506,3506,3506,1979-08-08,350.30000000001115,350.31216,2015-01-01 00:58:26,bin3506,35, +abc,3507,3507,3507,1979-08-09,350.4000000000112,350.41217,2015-01-01 00:58:27,bin3507,75, +abc,3508,3508,3508,1979-08-10,350.5000000000112,350.51218,2015-01-01 00:58:28,bin3508,35, +abc,3509,3509,3509,1979-08-11,350.6000000000112,350.61218,2015-01-01 00:58:29,bin3509,75, +abc,3510,3510,3510,1979-08-12,350.70000000001124,350.7122,2015-01-01 00:58:30,bin3510,35, +abc,3511,3511,3511,1979-08-13,350.80000000001127,350.8122,2015-01-01 00:58:31,bin3511,75, +abc,3512,3512,3512,1979-08-14,350.9000000000113,350.9122,2015-01-01 00:58:32,bin3512,35, +abc,3513,3513,3513,1979-08-15,351.0000000000113,351.0122,2015-01-01 00:58:33,bin3513,75, +abc,3514,3514,3514,1979-08-16,351.10000000001133,351.1122,2015-01-01 00:58:34,bin3514,35, +abc,3515,3515,3515,1979-08-17,351.20000000001136,351.21222,2015-01-01 00:58:35,bin3515,75, +abc,3516,3516,3516,1979-08-18,351.3000000000114,351.31223,2015-01-01 00:58:36,bin3516,35, +abc,3517,3517,3517,1979-08-19,351.4000000000114,351.41223,2015-01-01 00:58:37,bin3517,75, +abc,3518,3518,3518,1979-08-20,351.5000000000114,351.51224,2015-01-01 00:58:38,bin3518,35, +abc,3519,3519,3519,1979-08-21,351.60000000001145,351.61224,2015-01-01 00:58:39,bin3519,75, +abc,3520,3520,3520,1979-08-22,351.70000000001147,351.71225,2015-01-01 00:58:40,bin3520,35, +abc,3521,3521,3521,1979-08-23,351.8000000000115,351.81226,2015-01-01 00:58:41,bin3521,75, +abc,3522,3522,3522,1979-08-24,351.9000000000115,351.91226,2015-01-01 00:58:42,bin3522,35, +abc,3523,3523,3523,1979-08-25,352.00000000001154,352.01227,2015-01-01 00:58:43,bin3523,75, +abc,3524,3524,3524,1979-08-26,352.10000000001156,352.11227,2015-01-01 00:58:44,bin3524,35, +abc,3525,3525,3525,1979-08-27,352.2000000000116,352.21228,2015-01-01 00:58:45,bin3525,75, +abc,3526,3526,3526,1979-08-28,352.3000000000116,352.3123,2015-01-01 00:58:46,bin3526,35, +abc,3527,3527,3527,1979-08-29,352.40000000001163,352.4123,2015-01-01 00:58:47,bin3527,75, +abc,3528,3528,3528,1979-08-30,352.50000000001165,352.5123,2015-01-01 00:58:48,bin3528,35, +abc,3529,3529,3529,1979-08-31,352.6000000000117,352.6123,2015-01-01 00:58:49,bin3529,75, +abc,3530,3530,3530,1979-09-01,352.7000000000117,352.7123,2015-01-01 00:58:50,bin3530,35, +abc,3531,3531,3531,1979-09-02,352.8000000000117,352.81232,2015-01-01 00:58:51,bin3531,75, +abc,3532,3532,3532,1979-09-03,352.90000000001174,352.91232,2015-01-01 00:58:52,bin3532,35, +abc,3533,3533,3533,1979-09-04,353.00000000001177,353.01233,2015-01-01 00:58:53,bin3533,75, +abc,3534,3534,3534,1979-09-05,353.1000000000118,353.11234,2015-01-01 00:58:54,bin3534,35, +abc,3535,3535,3535,1979-09-06,353.2000000000118,353.21234,2015-01-01 00:58:55,bin3535,75, +abc,3536,3536,3536,1979-09-07,353.30000000001183,353.31235,2015-01-01 00:58:56,bin3536,35, +abc,3537,3537,3537,1979-09-08,353.40000000001186,353.41235,2015-01-01 00:58:57,bin3537,75, +abc,3538,3538,3538,1979-09-09,353.5000000000119,353.51236,2015-01-01 00:58:58,bin3538,35, +abc,3539,3539,3539,1979-09-10,353.6000000000119,353.61237,2015-01-01 00:58:59,bin3539,75, +abc,3540,3540,3540,1979-09-11,353.7000000000119,353.71237,2015-01-01 00:59:00,bin3540,35, +abc,3541,3541,3541,1979-09-12,353.80000000001195,353.81238,2015-01-01 00:59:01,bin3541,75, +abc,3542,3542,3542,1979-09-13,353.90000000001197,353.91238,2015-01-01 00:59:02,bin3542,35, +abc,3543,3543,3543,1979-09-14,354.000000000012,354.0124,2015-01-01 00:59:03,bin3543,75, +abc,3544,3544,3544,1979-09-15,354.100000000012,354.1124,2015-01-01 00:59:04,bin3544,35, +abc,3545,3545,3545,1979-09-16,354.20000000001204,354.2124,2015-01-01 00:59:05,bin3545,75, +abc,3546,3546,3546,1979-09-17,354.30000000001206,354.3124,2015-01-01 00:59:06,bin3546,35, +abc,3547,3547,3547,1979-09-18,354.4000000000121,354.4124,2015-01-01 00:59:07,bin3547,75, +abc,3548,3548,3548,1979-09-19,354.5000000000121,354.51242,2015-01-01 00:59:08,bin3548,35, +abc,3549,3549,3549,1979-09-20,354.60000000001213,354.61243,2015-01-01 00:59:09,bin3549,75, +abc,3550,3550,3550,1979-09-21,354.70000000001215,354.71243,2015-01-01 00:59:10,bin3550,35, +abc,3551,3551,3551,1979-09-22,354.8000000000122,354.81244,2015-01-01 00:59:11,bin3551,75, +abc,3552,3552,3552,1979-09-23,354.9000000000122,354.91245,2015-01-01 00:59:12,bin3552,35, +abc,3553,3553,3553,1979-09-24,355.0000000000122,355.01245,2015-01-01 00:59:13,bin3553,75, +abc,3554,3554,3554,1979-09-25,355.10000000001224,355.11246,2015-01-01 00:59:14,bin3554,35, +abc,3555,3555,3555,1979-09-26,355.20000000001227,355.21246,2015-01-01 00:59:15,bin3555,75, +abc,3556,3556,3556,1979-09-27,355.3000000000123,355.31247,2015-01-01 00:59:16,bin3556,35, +abc,3557,3557,3557,1979-09-28,355.4000000000123,355.41248,2015-01-01 00:59:17,bin3557,75, +abc,3558,3558,3558,1979-09-29,355.50000000001234,355.51248,2015-01-01 00:59:18,bin3558,35, +abc,3559,3559,3559,1979-09-30,355.60000000001236,355.6125,2015-01-01 00:59:19,bin3559,75, +abc,3560,3560,3560,1979-10-01,355.7000000000124,355.7125,2015-01-01 00:59:20,bin3560,35, +abc,3561,3561,3561,1979-10-02,355.8000000000124,355.8125,2015-01-01 00:59:21,bin3561,75, +abc,3562,3562,3562,1979-10-03,355.9000000000124,355.9125,2015-01-01 00:59:22,bin3562,35, +abc,3563,3563,3563,1979-10-04,356.00000000001245,356.0125,2015-01-01 00:59:23,bin3563,75, +abc,3564,3564,3564,1979-10-05,356.10000000001247,356.11252,2015-01-01 00:59:24,bin3564,35, +abc,3565,3565,3565,1979-10-06,356.2000000000125,356.21252,2015-01-01 00:59:25,bin3565,75, +abc,3566,3566,3566,1979-10-07,356.3000000000125,356.31253,2015-01-01 00:59:26,bin3566,35, +abc,3567,3567,3567,1979-10-08,356.40000000001254,356.41254,2015-01-01 00:59:27,bin3567,75, +abc,3568,3568,3568,1979-10-09,356.50000000001256,356.51254,2015-01-01 00:59:28,bin3568,35, +abc,3569,3569,3569,1979-10-10,356.6000000000126,356.61255,2015-01-01 00:59:29,bin3569,75, +abc,3570,3570,3570,1979-10-11,356.7000000000126,356.71255,2015-01-01 00:59:30,bin3570,35, +abc,3571,3571,3571,1979-10-12,356.80000000001263,356.81256,2015-01-01 00:59:31,bin3571,75, +abc,3572,3572,3572,1979-10-13,356.90000000001265,356.91257,2015-01-01 00:59:32,bin3572,35, +abc,3573,3573,3573,1979-10-14,357.0000000000127,357.01257,2015-01-01 00:59:33,bin3573,75, +abc,3574,3574,3574,1979-10-15,357.1000000000127,357.11258,2015-01-01 00:59:34,bin3574,35, +abc,3575,3575,3575,1979-10-16,357.2000000000127,357.2126,2015-01-01 00:59:35,bin3575,75, +abc,3576,3576,3576,1979-10-17,357.30000000001274,357.3126,2015-01-01 00:59:36,bin3576,35, +abc,3577,3577,3577,1979-10-18,357.40000000001277,357.4126,2015-01-01 00:59:37,bin3577,75, +abc,3578,3578,3578,1979-10-19,357.5000000000128,357.5126,2015-01-01 00:59:38,bin3578,35, +abc,3579,3579,3579,1979-10-20,357.6000000000128,357.6126,2015-01-01 00:59:39,bin3579,75, +abc,3580,3580,3580,1979-10-21,357.70000000001284,357.71262,2015-01-01 00:59:40,bin3580,35, +abc,3581,3581,3581,1979-10-22,357.80000000001286,357.81262,2015-01-01 00:59:41,bin3581,75, +abc,3582,3582,3582,1979-10-23,357.9000000000129,357.91263,2015-01-01 00:59:42,bin3582,35, +abc,3583,3583,3583,1979-10-24,358.0000000000129,358.01263,2015-01-01 00:59:43,bin3583,75, +abc,3584,3584,3584,1979-10-25,358.1000000000129,358.11264,2015-01-01 00:59:44,bin3584,35, +abc,3585,3585,3585,1979-10-26,358.20000000001295,358.21265,2015-01-01 00:59:45,bin3585,75, +abc,3586,3586,3586,1979-10-27,358.300000000013,358.31265,2015-01-01 00:59:46,bin3586,35, +abc,3587,3587,3587,1979-10-28,358.400000000013,358.41266,2015-01-01 00:59:47,bin3587,75, +abc,3588,3588,3588,1979-10-29,358.500000000013,358.51266,2015-01-01 00:59:48,bin3588,35, +abc,3589,3589,3589,1979-10-30,358.60000000001304,358.61267,2015-01-01 00:59:49,bin3589,75, +abc,3590,3590,3590,1979-10-31,358.70000000001306,358.71268,2015-01-01 00:59:50,bin3590,35, +abc,3591,3591,3591,1979-11-01,358.8000000000131,358.81268,2015-01-01 00:59:51,bin3591,75, +abc,3592,3592,3592,1979-11-02,358.9000000000131,358.9127,2015-01-01 00:59:52,bin3592,35, +abc,3593,3593,3593,1979-11-03,359.00000000001313,359.0127,2015-01-01 00:59:53,bin3593,75, +abc,3594,3594,3594,1979-11-04,359.10000000001315,359.1127,2015-01-01 00:59:54,bin3594,35, +abc,3595,3595,3595,1979-11-05,359.2000000000132,359.2127,2015-01-01 00:59:55,bin3595,75, +abc,3596,3596,3596,1979-11-06,359.3000000000132,359.3127,2015-01-01 00:59:56,bin3596,35, +abc,3597,3597,3597,1979-11-07,359.4000000000132,359.41272,2015-01-01 00:59:57,bin3597,75, +abc,3598,3598,3598,1979-11-08,359.50000000001324,359.51273,2015-01-01 00:59:58,bin3598,35, +abc,3599,3599,3599,1979-11-09,359.60000000001327,359.61273,2015-01-01 00:59:59,bin3599,75, +abc,3600,3600,3600,1979-11-10,359.7000000000133,359.71274,2015-01-01 01:00:00,bin3600,35, +abc,3601,3601,3601,1979-11-11,359.8000000000133,359.81274,2015-01-01 01:00:01,bin3601,75, +abc,3602,3602,3602,1979-11-12,359.90000000001334,359.91275,2015-01-01 01:00:02,bin3602,35, +abc,3603,3603,3603,1979-11-13,360.00000000001336,360.01276,2015-01-01 01:00:03,bin3603,75, +abc,3604,3604,3604,1979-11-14,360.1000000000134,360.11276,2015-01-01 01:00:04,bin3604,35, +abc,3605,3605,3605,1979-11-15,360.2000000000134,360.21277,2015-01-01 01:00:05,bin3605,75, +abc,3606,3606,3606,1979-11-16,360.3000000000134,360.31277,2015-01-01 01:00:06,bin3606,35, +abc,3607,3607,3607,1979-11-17,360.40000000001345,360.41278,2015-01-01 01:00:07,bin3607,75, +abc,3608,3608,3608,1979-11-18,360.5000000000135,360.5128,2015-01-01 01:00:08,bin3608,35, +abc,3609,3609,3609,1979-11-19,360.6000000000135,360.6128,2015-01-01 01:00:09,bin3609,75, +abc,3610,3610,3610,1979-11-20,360.7000000000135,360.7128,2015-01-01 01:00:10,bin3610,35, +abc,3611,3611,3611,1979-11-21,360.80000000001354,360.8128,2015-01-01 01:00:11,bin3611,75, +abc,3612,3612,3612,1979-11-22,360.90000000001356,360.9128,2015-01-01 01:00:12,bin3612,35, +abc,3613,3613,3613,1979-11-23,361.0000000000136,361.01282,2015-01-01 01:00:13,bin3613,75, +abc,3614,3614,3614,1979-11-24,361.1000000000136,361.11282,2015-01-01 01:00:14,bin3614,35, +abc,3615,3615,3615,1979-11-25,361.20000000001363,361.21283,2015-01-01 01:00:15,bin3615,75, +abc,3616,3616,3616,1979-11-26,361.30000000001365,361.31284,2015-01-01 01:00:16,bin3616,35, +abc,3617,3617,3617,1979-11-27,361.4000000000137,361.41284,2015-01-01 01:00:17,bin3617,75, +abc,3618,3618,3618,1979-11-28,361.5000000000137,361.51285,2015-01-01 01:00:18,bin3618,35, +abc,3619,3619,3619,1979-11-29,361.6000000000137,361.61285,2015-01-01 01:00:19,bin3619,75, +abc,3620,3620,3620,1979-11-30,361.70000000001374,361.71286,2015-01-01 01:00:20,bin3620,35, +abc,3621,3621,3621,1979-12-01,361.80000000001377,361.81287,2015-01-01 01:00:21,bin3621,75, +abc,3622,3622,3622,1979-12-02,361.9000000000138,361.91287,2015-01-01 01:00:22,bin3622,35, +abc,3623,3623,3623,1979-12-03,362.0000000000138,362.01288,2015-01-01 01:00:23,bin3623,75, +abc,3624,3624,3624,1979-12-04,362.10000000001384,362.11288,2015-01-01 01:00:24,bin3624,35, +abc,3625,3625,3625,1979-12-05,362.20000000001386,362.2129,2015-01-01 01:00:25,bin3625,75, +abc,3626,3626,3626,1979-12-06,362.3000000000139,362.3129,2015-01-01 01:00:26,bin3626,35, +abc,3627,3627,3627,1979-12-07,362.4000000000139,362.4129,2015-01-01 01:00:27,bin3627,75, +abc,3628,3628,3628,1979-12-08,362.5000000000139,362.5129,2015-01-01 01:00:28,bin3628,35, +abc,3629,3629,3629,1979-12-09,362.60000000001395,362.6129,2015-01-01 01:00:29,bin3629,75, +abc,3630,3630,3630,1979-12-10,362.700000000014,362.71292,2015-01-01 01:00:30,bin3630,35, +abc,3631,3631,3631,1979-12-11,362.800000000014,362.81293,2015-01-01 01:00:31,bin3631,75, +abc,3632,3632,3632,1979-12-12,362.900000000014,362.91293,2015-01-01 01:00:32,bin3632,35, +abc,3633,3633,3633,1979-12-13,363.00000000001404,363.01294,2015-01-01 01:00:33,bin3633,75, +abc,3634,3634,3634,1979-12-14,363.10000000001406,363.11295,2015-01-01 01:00:34,bin3634,35, +abc,3635,3635,3635,1979-12-15,363.2000000000141,363.21295,2015-01-01 01:00:35,bin3635,75, +abc,3636,3636,3636,1979-12-16,363.3000000000141,363.31296,2015-01-01 01:00:36,bin3636,35, +abc,3637,3637,3637,1979-12-17,363.40000000001413,363.41296,2015-01-01 01:00:37,bin3637,75, +abc,3638,3638,3638,1979-12-18,363.50000000001415,363.51297,2015-01-01 01:00:38,bin3638,35, +abc,3639,3639,3639,1979-12-19,363.6000000000142,363.61298,2015-01-01 01:00:39,bin3639,75, +abc,3640,3640,3640,1979-12-20,363.7000000000142,363.71298,2015-01-01 01:00:40,bin3640,35, +abc,3641,3641,3641,1979-12-21,363.8000000000142,363.813,2015-01-01 01:00:41,bin3641,75, +abc,3642,3642,3642,1979-12-22,363.90000000001424,363.913,2015-01-01 01:00:42,bin3642,35, +abc,3643,3643,3643,1979-12-23,364.00000000001427,364.013,2015-01-01 01:00:43,bin3643,75, +abc,3644,3644,3644,1979-12-24,364.1000000000143,364.113,2015-01-01 01:00:44,bin3644,35, +abc,3645,3645,3645,1979-12-25,364.2000000000143,364.213,2015-01-01 01:00:45,bin3645,75, +abc,3646,3646,3646,1979-12-26,364.30000000001434,364.31302,2015-01-01 01:00:46,bin3646,35, +abc,3647,3647,3647,1979-12-27,364.40000000001436,364.41302,2015-01-01 01:00:47,bin3647,75, +abc,3648,3648,3648,1979-12-28,364.5000000000144,364.51303,2015-01-01 01:00:48,bin3648,35, +abc,3649,3649,3649,1979-12-29,364.6000000000144,364.61304,2015-01-01 01:00:49,bin3649,75, +abc,3650,3650,3650,1979-12-30,364.7000000000144,364.71304,2015-01-01 01:00:50,bin3650,35, +abc,3651,3651,3651,1979-12-31,364.80000000001445,364.81305,2015-01-01 01:00:51,bin3651,75, +abc,3652,3652,3652,1980-01-01,364.9000000000145,364.91306,2015-01-01 01:00:52,bin3652,35, +abc,3653,3653,3653,1980-01-02,365.0000000000145,365.01306,2015-01-01 01:00:53,bin3653,75, +abc,3654,3654,3654,1980-01-03,365.1000000000145,365.11307,2015-01-01 01:00:54,bin3654,35, +abc,3655,3655,3655,1980-01-04,365.20000000001454,365.21307,2015-01-01 01:00:55,bin3655,75, +abc,3656,3656,3656,1980-01-05,365.30000000001456,365.31308,2015-01-01 01:00:56,bin3656,35, +abc,3657,3657,3657,1980-01-06,365.4000000000146,365.4131,2015-01-01 01:00:57,bin3657,75, +abc,3658,3658,3658,1980-01-07,365.5000000000146,365.5131,2015-01-01 01:00:58,bin3658,35, +abc,3659,3659,3659,1980-01-08,365.60000000001463,365.6131,2015-01-01 01:00:59,bin3659,75, +abc,3660,3660,3660,1980-01-09,365.70000000001465,365.7131,2015-01-01 01:01:00,bin3660,35, +abc,3661,3661,3661,1980-01-10,365.8000000000147,365.8131,2015-01-01 01:01:01,bin3661,75, +abc,3662,3662,3662,1980-01-11,365.9000000000147,365.91312,2015-01-01 01:01:02,bin3662,35, +abc,3663,3663,3663,1980-01-12,366.0000000000147,366.01312,2015-01-01 01:01:03,bin3663,75, +abc,3664,3664,3664,1980-01-13,366.10000000001475,366.11313,2015-01-01 01:01:04,bin3664,35, +abc,3665,3665,3665,1980-01-14,366.20000000001477,366.21313,2015-01-01 01:01:05,bin3665,75, +abc,3666,3666,3666,1980-01-15,366.3000000000148,366.31314,2015-01-01 01:01:06,bin3666,35, +abc,3667,3667,3667,1980-01-16,366.4000000000148,366.41315,2015-01-01 01:01:07,bin3667,75, +abc,3668,3668,3668,1980-01-17,366.50000000001484,366.51315,2015-01-01 01:01:08,bin3668,35, +abc,3669,3669,3669,1980-01-18,366.60000000001486,366.61316,2015-01-01 01:01:09,bin3669,75, +abc,3670,3670,3670,1980-01-19,366.7000000000149,366.71317,2015-01-01 01:01:10,bin3670,35, +abc,3671,3671,3671,1980-01-20,366.8000000000149,366.81317,2015-01-01 01:01:11,bin3671,75, +abc,3672,3672,3672,1980-01-21,366.9000000000149,366.91318,2015-01-01 01:01:12,bin3672,35, +abc,3673,3673,3673,1980-01-22,367.00000000001495,367.01318,2015-01-01 01:01:13,bin3673,75, +abc,3674,3674,3674,1980-01-23,367.100000000015,367.1132,2015-01-01 01:01:14,bin3674,35, +abc,3675,3675,3675,1980-01-24,367.200000000015,367.2132,2015-01-01 01:01:15,bin3675,75, +abc,3676,3676,3676,1980-01-25,367.300000000015,367.3132,2015-01-01 01:01:16,bin3676,35, +abc,3677,3677,3677,1980-01-26,367.40000000001504,367.4132,2015-01-01 01:01:17,bin3677,75, +abc,3678,3678,3678,1980-01-27,367.50000000001506,367.5132,2015-01-01 01:01:18,bin3678,35, +abc,3679,3679,3679,1980-01-28,367.6000000000151,367.61322,2015-01-01 01:01:19,bin3679,75, +abc,3680,3680,3680,1980-01-29,367.7000000000151,367.71323,2015-01-01 01:01:20,bin3680,35, +abc,3681,3681,3681,1980-01-30,367.80000000001513,367.81323,2015-01-01 01:01:21,bin3681,75, +abc,3682,3682,3682,1980-01-31,367.90000000001515,367.91324,2015-01-01 01:01:22,bin3682,35, +abc,3683,3683,3683,1980-02-01,368.0000000000152,368.01324,2015-01-01 01:01:23,bin3683,75, +abc,3684,3684,3684,1980-02-02,368.1000000000152,368.11325,2015-01-01 01:01:24,bin3684,35, +abc,3685,3685,3685,1980-02-03,368.2000000000152,368.21326,2015-01-01 01:01:25,bin3685,75, +abc,3686,3686,3686,1980-02-04,368.30000000001525,368.31326,2015-01-01 01:01:26,bin3686,35, +abc,3687,3687,3687,1980-02-05,368.40000000001527,368.41327,2015-01-01 01:01:27,bin3687,75, +abc,3688,3688,3688,1980-02-06,368.5000000000153,368.51328,2015-01-01 01:01:28,bin3688,35, +abc,3689,3689,3689,1980-02-07,368.6000000000153,368.61328,2015-01-01 01:01:29,bin3689,75, +abc,3690,3690,3690,1980-02-08,368.70000000001534,368.7133,2015-01-01 01:01:30,bin3690,35, +abc,3691,3691,3691,1980-02-09,368.80000000001536,368.8133,2015-01-01 01:01:31,bin3691,75, +abc,3692,3692,3692,1980-02-10,368.9000000000154,368.9133,2015-01-01 01:01:32,bin3692,35, +abc,3693,3693,3693,1980-02-11,369.0000000000154,369.0133,2015-01-01 01:01:33,bin3693,75, +abc,3694,3694,3694,1980-02-12,369.1000000000154,369.1133,2015-01-01 01:01:34,bin3694,35, +abc,3695,3695,3695,1980-02-13,369.20000000001545,369.21332,2015-01-01 01:01:35,bin3695,75, +abc,3696,3696,3696,1980-02-14,369.3000000000155,369.31332,2015-01-01 01:01:36,bin3696,35, +abc,3697,3697,3697,1980-02-15,369.4000000000155,369.41333,2015-01-01 01:01:37,bin3697,75, +abc,3698,3698,3698,1980-02-16,369.5000000000155,369.51334,2015-01-01 01:01:38,bin3698,35, +abc,3699,3699,3699,1980-02-17,369.60000000001554,369.61334,2015-01-01 01:01:39,bin3699,75, +abc,3700,3700,3700,1980-02-18,369.70000000001556,369.71335,2015-01-01 01:01:40,bin3700,35, +abc,3701,3701,3701,1980-02-19,369.8000000000156,369.81335,2015-01-01 01:01:41,bin3701,75, +abc,3702,3702,3702,1980-02-20,369.9000000000156,369.91336,2015-01-01 01:01:42,bin3702,35, +abc,3703,3703,3703,1980-02-21,370.00000000001563,370.01337,2015-01-01 01:01:43,bin3703,75, +abc,3704,3704,3704,1980-02-22,370.10000000001565,370.11337,2015-01-01 01:01:44,bin3704,35, +abc,3705,3705,3705,1980-02-23,370.2000000000157,370.21338,2015-01-01 01:01:45,bin3705,75, +abc,3706,3706,3706,1980-02-24,370.3000000000157,370.3134,2015-01-01 01:01:46,bin3706,35, +abc,3707,3707,3707,1980-02-25,370.4000000000157,370.4134,2015-01-01 01:01:47,bin3707,75, +abc,3708,3708,3708,1980-02-26,370.50000000001575,370.5134,2015-01-01 01:01:48,bin3708,35, +abc,3709,3709,3709,1980-02-27,370.60000000001577,370.6134,2015-01-01 01:01:49,bin3709,75, +abc,3710,3710,3710,1980-02-28,370.7000000000158,370.7134,2015-01-01 01:01:50,bin3710,35, +abc,3711,3711,3711,1980-02-29,370.8000000000158,370.81342,2015-01-01 01:01:51,bin3711,75, +abc,3712,3712,3712,1980-03-01,370.90000000001584,370.91342,2015-01-01 01:01:52,bin3712,35, +abc,3713,3713,3713,1980-03-02,371.00000000001586,371.01343,2015-01-01 01:01:53,bin3713,75, +abc,3714,3714,3714,1980-03-03,371.1000000000159,371.11343,2015-01-01 01:01:54,bin3714,35, +abc,3715,3715,3715,1980-03-04,371.2000000000159,371.21344,2015-01-01 01:01:55,bin3715,75, +abc,3716,3716,3716,1980-03-05,371.3000000000159,371.31345,2015-01-01 01:01:56,bin3716,35, +abc,3717,3717,3717,1980-03-06,371.40000000001595,371.41345,2015-01-01 01:01:57,bin3717,75, +abc,3718,3718,3718,1980-03-07,371.500000000016,371.51346,2015-01-01 01:01:58,bin3718,35, +abc,3719,3719,3719,1980-03-08,371.600000000016,371.61346,2015-01-01 01:01:59,bin3719,75, +abc,3720,3720,3720,1980-03-09,371.700000000016,371.71347,2015-01-01 01:02:00,bin3720,35, +abc,3721,3721,3721,1980-03-10,371.80000000001604,371.81348,2015-01-01 01:02:01,bin3721,75, +abc,3722,3722,3722,1980-03-11,371.90000000001606,371.91348,2015-01-01 01:02:02,bin3722,35, +abc,3723,3723,3723,1980-03-12,372.0000000000161,372.0135,2015-01-01 01:02:03,bin3723,75, +abc,3724,3724,3724,1980-03-13,372.1000000000161,372.1135,2015-01-01 01:02:04,bin3724,35, +abc,3725,3725,3725,1980-03-14,372.20000000001613,372.2135,2015-01-01 01:02:05,bin3725,75, +abc,3726,3726,3726,1980-03-15,372.30000000001615,372.3135,2015-01-01 01:02:06,bin3726,35, +abc,3727,3727,3727,1980-03-16,372.4000000000162,372.4135,2015-01-01 01:02:07,bin3727,75, +abc,3728,3728,3728,1980-03-17,372.5000000000162,372.51352,2015-01-01 01:02:08,bin3728,35, +abc,3729,3729,3729,1980-03-18,372.6000000000162,372.61353,2015-01-01 01:02:09,bin3729,75, +abc,3730,3730,3730,1980-03-19,372.70000000001625,372.71353,2015-01-01 01:02:10,bin3730,35, +abc,3731,3731,3731,1980-03-20,372.80000000001627,372.81354,2015-01-01 01:02:11,bin3731,75, +abc,3732,3732,3732,1980-03-21,372.9000000000163,372.91354,2015-01-01 01:02:12,bin3732,35, +abc,3733,3733,3733,1980-03-22,373.0000000000163,373.01355,2015-01-01 01:02:13,bin3733,75, +abc,3734,3734,3734,1980-03-23,373.10000000001634,373.11356,2015-01-01 01:02:14,bin3734,35, +abc,3735,3735,3735,1980-03-24,373.20000000001636,373.21356,2015-01-01 01:02:15,bin3735,75, +abc,3736,3736,3736,1980-03-25,373.3000000000164,373.31357,2015-01-01 01:02:16,bin3736,35, +abc,3737,3737,3737,1980-03-26,373.4000000000164,373.41357,2015-01-01 01:02:17,bin3737,75, +abc,3738,3738,3738,1980-03-27,373.5000000000164,373.51358,2015-01-01 01:02:18,bin3738,35, +abc,3739,3739,3739,1980-03-28,373.60000000001645,373.6136,2015-01-01 01:02:19,bin3739,75, +abc,3740,3740,3740,1980-03-29,373.7000000000165,373.7136,2015-01-01 01:02:20,bin3740,35, +abc,3741,3741,3741,1980-03-30,373.8000000000165,373.8136,2015-01-01 01:02:21,bin3741,75, +abc,3742,3742,3742,1980-03-31,373.9000000000165,373.9136,2015-01-01 01:02:22,bin3742,35, +abc,3743,3743,3743,1980-04-01,374.00000000001654,374.0136,2015-01-01 01:02:23,bin3743,75, +abc,3744,3744,3744,1980-04-02,374.10000000001656,374.11362,2015-01-01 01:02:24,bin3744,35, +abc,3745,3745,3745,1980-04-03,374.2000000000166,374.21362,2015-01-01 01:02:25,bin3745,75, +abc,3746,3746,3746,1980-04-04,374.3000000000166,374.31363,2015-01-01 01:02:26,bin3746,35, +abc,3747,3747,3747,1980-04-05,374.40000000001663,374.41364,2015-01-01 01:02:27,bin3747,75, +abc,3748,3748,3748,1980-04-06,374.50000000001666,374.51364,2015-01-01 01:02:28,bin3748,35, +abc,3749,3749,3749,1980-04-07,374.6000000000167,374.61365,2015-01-01 01:02:29,bin3749,75, +abc,3750,3750,3750,1980-04-08,374.7000000000167,374.71365,2015-01-01 01:02:30,bin3750,35, +abc,3751,3751,3751,1980-04-09,374.8000000000167,374.81366,2015-01-01 01:02:31,bin3751,75, +abc,3752,3752,3752,1980-04-10,374.90000000001675,374.91367,2015-01-01 01:02:32,bin3752,35, +abc,3753,3753,3753,1980-04-11,375.00000000001677,375.01367,2015-01-01 01:02:33,bin3753,75, +abc,3754,3754,3754,1980-04-12,375.1000000000168,375.11368,2015-01-01 01:02:34,bin3754,35, +abc,3755,3755,3755,1980-04-13,375.2000000000168,375.21368,2015-01-01 01:02:35,bin3755,75, +abc,3756,3756,3756,1980-04-14,375.30000000001684,375.3137,2015-01-01 01:02:36,bin3756,35, +abc,3757,3757,3757,1980-04-15,375.40000000001686,375.4137,2015-01-01 01:02:37,bin3757,75, +abc,3758,3758,3758,1980-04-16,375.5000000000169,375.5137,2015-01-01 01:02:38,bin3758,35, +abc,3759,3759,3759,1980-04-17,375.6000000000169,375.6137,2015-01-01 01:02:39,bin3759,75, +abc,3760,3760,3760,1980-04-18,375.7000000000169,375.7137,2015-01-01 01:02:40,bin3760,35, +abc,3761,3761,3761,1980-04-19,375.80000000001695,375.81372,2015-01-01 01:02:41,bin3761,75, +abc,3762,3762,3762,1980-04-20,375.900000000017,375.91373,2015-01-01 01:02:42,bin3762,35, +abc,3763,3763,3763,1980-04-21,376.000000000017,376.01373,2015-01-01 01:02:43,bin3763,75, +abc,3764,3764,3764,1980-04-22,376.100000000017,376.11374,2015-01-01 01:02:44,bin3764,35, +abc,3765,3765,3765,1980-04-23,376.20000000001704,376.21375,2015-01-01 01:02:45,bin3765,75, +abc,3766,3766,3766,1980-04-24,376.30000000001706,376.31375,2015-01-01 01:02:46,bin3766,35, +abc,3767,3767,3767,1980-04-25,376.4000000000171,376.41376,2015-01-01 01:02:47,bin3767,75, +abc,3768,3768,3768,1980-04-26,376.5000000000171,376.51376,2015-01-01 01:02:48,bin3768,35, +abc,3769,3769,3769,1980-04-27,376.60000000001713,376.61377,2015-01-01 01:02:49,bin3769,75, +abc,3770,3770,3770,1980-04-28,376.70000000001716,376.71378,2015-01-01 01:02:50,bin3770,35, +abc,3771,3771,3771,1980-04-29,376.8000000000172,376.81378,2015-01-01 01:02:51,bin3771,75, +abc,3772,3772,3772,1980-04-30,376.9000000000172,376.9138,2015-01-01 01:02:52,bin3772,35, +abc,3773,3773,3773,1980-05-01,377.0000000000172,377.0138,2015-01-01 01:02:53,bin3773,75, +abc,3774,3774,3774,1980-05-02,377.10000000001725,377.1138,2015-01-01 01:02:54,bin3774,35, +abc,3775,3775,3775,1980-05-03,377.20000000001727,377.2138,2015-01-01 01:02:55,bin3775,75, +abc,3776,3776,3776,1980-05-04,377.3000000000173,377.3138,2015-01-01 01:02:56,bin3776,35, +abc,3777,3777,3777,1980-05-05,377.4000000000173,377.41382,2015-01-01 01:02:57,bin3777,75, +abc,3778,3778,3778,1980-05-06,377.50000000001734,377.51382,2015-01-01 01:02:58,bin3778,35, +abc,3779,3779,3779,1980-05-07,377.60000000001736,377.61383,2015-01-01 01:02:59,bin3779,75, +abc,3780,3780,3780,1980-05-08,377.7000000000174,377.71384,2015-01-01 01:03:00,bin3780,35, +abc,3781,3781,3781,1980-05-09,377.8000000000174,377.81384,2015-01-01 01:03:01,bin3781,75, +abc,3782,3782,3782,1980-05-10,377.9000000000174,377.91385,2015-01-01 01:03:02,bin3782,35, +abc,3783,3783,3783,1980-05-11,378.00000000001745,378.01385,2015-01-01 01:03:03,bin3783,75, +abc,3784,3784,3784,1980-05-12,378.1000000000175,378.11386,2015-01-01 01:03:04,bin3784,35, +abc,3785,3785,3785,1980-05-13,378.2000000000175,378.21387,2015-01-01 01:03:05,bin3785,75, +abc,3786,3786,3786,1980-05-14,378.3000000000175,378.31387,2015-01-01 01:03:06,bin3786,35, +abc,3787,3787,3787,1980-05-15,378.40000000001754,378.41388,2015-01-01 01:03:07,bin3787,75, +abc,3788,3788,3788,1980-05-16,378.50000000001756,378.5139,2015-01-01 01:03:08,bin3788,35, +abc,3789,3789,3789,1980-05-17,378.6000000000176,378.6139,2015-01-01 01:03:09,bin3789,75, +abc,3790,3790,3790,1980-05-18,378.7000000000176,378.7139,2015-01-01 01:03:10,bin3790,35, +abc,3791,3791,3791,1980-05-19,378.80000000001763,378.8139,2015-01-01 01:03:11,bin3791,75, +abc,3792,3792,3792,1980-05-20,378.90000000001766,378.9139,2015-01-01 01:03:12,bin3792,35, +abc,3793,3793,3793,1980-05-21,379.0000000000177,379.01392,2015-01-01 01:03:13,bin3793,75, +abc,3794,3794,3794,1980-05-22,379.1000000000177,379.11392,2015-01-01 01:03:14,bin3794,35, +abc,3795,3795,3795,1980-05-23,379.2000000000177,379.21393,2015-01-01 01:03:15,bin3795,75, +abc,3796,3796,3796,1980-05-24,379.30000000001775,379.31393,2015-01-01 01:03:16,bin3796,35, +abc,3797,3797,3797,1980-05-25,379.40000000001777,379.41394,2015-01-01 01:03:17,bin3797,75, +abc,3798,3798,3798,1980-05-26,379.5000000000178,379.51395,2015-01-01 01:03:18,bin3798,35, +abc,3799,3799,3799,1980-05-27,379.6000000000178,379.61395,2015-01-01 01:03:19,bin3799,75, +abc,3800,3800,3800,1980-05-28,379.70000000001784,379.71396,2015-01-01 01:03:20,bin3800,35, +abc,3801,3801,3801,1980-05-29,379.80000000001786,379.81396,2015-01-01 01:03:21,bin3801,75, +abc,3802,3802,3802,1980-05-30,379.9000000000179,379.91397,2015-01-01 01:03:22,bin3802,35, +abc,3803,3803,3803,1980-05-31,380.0000000000179,380.01398,2015-01-01 01:03:23,bin3803,75, +abc,3804,3804,3804,1980-06-01,380.1000000000179,380.11398,2015-01-01 01:03:24,bin3804,35, +abc,3805,3805,3805,1980-06-02,380.20000000001795,380.214,2015-01-01 01:03:25,bin3805,75, +abc,3806,3806,3806,1980-06-03,380.300000000018,380.314,2015-01-01 01:03:26,bin3806,35, +abc,3807,3807,3807,1980-06-04,380.400000000018,380.414,2015-01-01 01:03:27,bin3807,75, +abc,3808,3808,3808,1980-06-05,380.500000000018,380.514,2015-01-01 01:03:28,bin3808,35, +abc,3809,3809,3809,1980-06-06,380.60000000001804,380.614,2015-01-01 01:03:29,bin3809,75, +abc,3810,3810,3810,1980-06-07,380.70000000001806,380.71402,2015-01-01 01:03:30,bin3810,35, +abc,3811,3811,3811,1980-06-08,380.8000000000181,380.81403,2015-01-01 01:03:31,bin3811,75, +abc,3812,3812,3812,1980-06-09,380.9000000000181,380.91403,2015-01-01 01:03:32,bin3812,35, +abc,3813,3813,3813,1980-06-10,381.00000000001813,381.01404,2015-01-01 01:03:33,bin3813,75, +abc,3814,3814,3814,1980-06-11,381.10000000001816,381.11404,2015-01-01 01:03:34,bin3814,35, +abc,3815,3815,3815,1980-06-12,381.2000000000182,381.21405,2015-01-01 01:03:35,bin3815,75, +abc,3816,3816,3816,1980-06-13,381.3000000000182,381.31406,2015-01-01 01:03:36,bin3816,35, +abc,3817,3817,3817,1980-06-14,381.4000000000182,381.41406,2015-01-01 01:03:37,bin3817,75, +abc,3818,3818,3818,1980-06-15,381.50000000001825,381.51407,2015-01-01 01:03:38,bin3818,35, +abc,3819,3819,3819,1980-06-16,381.60000000001827,381.61407,2015-01-01 01:03:39,bin3819,75, +abc,3820,3820,3820,1980-06-17,381.7000000000183,381.71408,2015-01-01 01:03:40,bin3820,35, +abc,3821,3821,3821,1980-06-18,381.8000000000183,381.8141,2015-01-01 01:03:41,bin3821,75, +abc,3822,3822,3822,1980-06-19,381.90000000001834,381.9141,2015-01-01 01:03:42,bin3822,35, +abc,3823,3823,3823,1980-06-20,382.00000000001836,382.0141,2015-01-01 01:03:43,bin3823,75, +abc,3824,3824,3824,1980-06-21,382.1000000000184,382.1141,2015-01-01 01:03:44,bin3824,35, +abc,3825,3825,3825,1980-06-22,382.2000000000184,382.2141,2015-01-01 01:03:45,bin3825,75, +abc,3826,3826,3826,1980-06-23,382.30000000001843,382.31412,2015-01-01 01:03:46,bin3826,35, +abc,3827,3827,3827,1980-06-24,382.40000000001845,382.41412,2015-01-01 01:03:47,bin3827,75, +abc,3828,3828,3828,1980-06-25,382.5000000000185,382.51413,2015-01-01 01:03:48,bin3828,35, +abc,3829,3829,3829,1980-06-26,382.6000000000185,382.61414,2015-01-01 01:03:49,bin3829,75, +abc,3830,3830,3830,1980-06-27,382.7000000000185,382.71414,2015-01-01 01:03:50,bin3830,35, +abc,3831,3831,3831,1980-06-28,382.80000000001854,382.81415,2015-01-01 01:03:51,bin3831,75, +abc,3832,3832,3832,1980-06-29,382.90000000001857,382.91415,2015-01-01 01:03:52,bin3832,35, +abc,3833,3833,3833,1980-06-30,383.0000000000186,383.01416,2015-01-01 01:03:53,bin3833,75, +abc,3834,3834,3834,1980-07-01,383.1000000000186,383.11417,2015-01-01 01:03:54,bin3834,35, +abc,3835,3835,3835,1980-07-02,383.20000000001863,383.21417,2015-01-01 01:03:55,bin3835,75, +abc,3836,3836,3836,1980-07-03,383.30000000001866,383.31418,2015-01-01 01:03:56,bin3836,35, +abc,3837,3837,3837,1980-07-04,383.4000000000187,383.41418,2015-01-01 01:03:57,bin3837,75, +abc,3838,3838,3838,1980-07-05,383.5000000000187,383.5142,2015-01-01 01:03:58,bin3838,35, +abc,3839,3839,3839,1980-07-06,383.6000000000187,383.6142,2015-01-01 01:03:59,bin3839,75, +abc,3840,3840,3840,1980-07-07,383.70000000001875,383.7142,2015-01-01 01:04:00,bin3840,35, +abc,3841,3841,3841,1980-07-08,383.80000000001877,383.8142,2015-01-01 01:04:01,bin3841,75, +abc,3842,3842,3842,1980-07-09,383.9000000000188,383.9142,2015-01-01 01:04:02,bin3842,35, +abc,3843,3843,3843,1980-07-10,384.0000000000188,384.01422,2015-01-01 01:04:03,bin3843,75, +abc,3844,3844,3844,1980-07-11,384.10000000001884,384.11423,2015-01-01 01:04:04,bin3844,35, +abc,3845,3845,3845,1980-07-12,384.20000000001886,384.21423,2015-01-01 01:04:05,bin3845,75, +abc,3846,3846,3846,1980-07-13,384.3000000000189,384.31424,2015-01-01 01:04:06,bin3846,35, +abc,3847,3847,3847,1980-07-14,384.4000000000189,384.41425,2015-01-01 01:04:07,bin3847,75, +abc,3848,3848,3848,1980-07-15,384.50000000001893,384.51425,2015-01-01 01:04:08,bin3848,35, +abc,3849,3849,3849,1980-07-16,384.60000000001895,384.61426,2015-01-01 01:04:09,bin3849,75, +abc,3850,3850,3850,1980-07-17,384.700000000019,384.71426,2015-01-01 01:04:10,bin3850,35, +abc,3851,3851,3851,1980-07-18,384.800000000019,384.81427,2015-01-01 01:04:11,bin3851,75, +abc,3852,3852,3852,1980-07-19,384.900000000019,384.91428,2015-01-01 01:04:12,bin3852,35, +abc,3853,3853,3853,1980-07-20,385.00000000001904,385.01428,2015-01-01 01:04:13,bin3853,75, +abc,3854,3854,3854,1980-07-21,385.10000000001907,385.1143,2015-01-01 01:04:14,bin3854,35, +abc,3855,3855,3855,1980-07-22,385.2000000000191,385.2143,2015-01-01 01:04:15,bin3855,75, +abc,3856,3856,3856,1980-07-23,385.3000000000191,385.3143,2015-01-01 01:04:16,bin3856,35, +abc,3857,3857,3857,1980-07-24,385.40000000001913,385.4143,2015-01-01 01:04:17,bin3857,75, +abc,3858,3858,3858,1980-07-25,385.50000000001916,385.5143,2015-01-01 01:04:18,bin3858,35, +abc,3859,3859,3859,1980-07-26,385.6000000000192,385.61432,2015-01-01 01:04:19,bin3859,75, +abc,3860,3860,3860,1980-07-27,385.7000000000192,385.71432,2015-01-01 01:04:20,bin3860,35, +abc,3861,3861,3861,1980-07-28,385.8000000000192,385.81433,2015-01-01 01:04:21,bin3861,75, +abc,3862,3862,3862,1980-07-29,385.90000000001925,385.91434,2015-01-01 01:04:22,bin3862,35, +abc,3863,3863,3863,1980-07-30,386.00000000001927,386.01434,2015-01-01 01:04:23,bin3863,75, +abc,3864,3864,3864,1980-07-31,386.1000000000193,386.11435,2015-01-01 01:04:24,bin3864,35, +abc,3865,3865,3865,1980-08-01,386.2000000000193,386.21436,2015-01-01 01:04:25,bin3865,75, +abc,3866,3866,3866,1980-08-02,386.30000000001934,386.31436,2015-01-01 01:04:26,bin3866,35, +abc,3867,3867,3867,1980-08-03,386.40000000001936,386.41437,2015-01-01 01:04:27,bin3867,75, +abc,3868,3868,3868,1980-08-04,386.5000000000194,386.51437,2015-01-01 01:04:28,bin3868,35, +abc,3869,3869,3869,1980-08-05,386.6000000000194,386.61438,2015-01-01 01:04:29,bin3869,75, +abc,3870,3870,3870,1980-08-06,386.70000000001943,386.7144,2015-01-01 01:04:30,bin3870,35, +abc,3871,3871,3871,1980-08-07,386.80000000001945,386.8144,2015-01-01 01:04:31,bin3871,75, +abc,3872,3872,3872,1980-08-08,386.9000000000195,386.9144,2015-01-01 01:04:32,bin3872,35, +abc,3873,3873,3873,1980-08-09,387.0000000000195,387.0144,2015-01-01 01:04:33,bin3873,75, +abc,3874,3874,3874,1980-08-10,387.1000000000195,387.1144,2015-01-01 01:04:34,bin3874,35, +abc,3875,3875,3875,1980-08-11,387.20000000001954,387.21442,2015-01-01 01:04:35,bin3875,75, +abc,3876,3876,3876,1980-08-12,387.30000000001957,387.31442,2015-01-01 01:04:36,bin3876,35, +abc,3877,3877,3877,1980-08-13,387.4000000000196,387.41443,2015-01-01 01:04:37,bin3877,75, +abc,3878,3878,3878,1980-08-14,387.5000000000196,387.51443,2015-01-01 01:04:38,bin3878,35, +abc,3879,3879,3879,1980-08-15,387.60000000001963,387.61444,2015-01-01 01:04:39,bin3879,75, +abc,3880,3880,3880,1980-08-16,387.70000000001966,387.71445,2015-01-01 01:04:40,bin3880,35, +abc,3881,3881,3881,1980-08-17,387.8000000000197,387.81445,2015-01-01 01:04:41,bin3881,75, +abc,3882,3882,3882,1980-08-18,387.9000000000197,387.91446,2015-01-01 01:04:42,bin3882,35, +abc,3883,3883,3883,1980-08-19,388.0000000000197,388.01447,2015-01-01 01:04:43,bin3883,75, +abc,3884,3884,3884,1980-08-20,388.10000000001975,388.11447,2015-01-01 01:04:44,bin3884,35, +abc,3885,3885,3885,1980-08-21,388.20000000001977,388.21448,2015-01-01 01:04:45,bin3885,75, +abc,3886,3886,3886,1980-08-22,388.3000000000198,388.31448,2015-01-01 01:04:46,bin3886,35, +abc,3887,3887,3887,1980-08-23,388.4000000000198,388.4145,2015-01-01 01:04:47,bin3887,75, +abc,3888,3888,3888,1980-08-24,388.50000000001984,388.5145,2015-01-01 01:04:48,bin3888,35, +abc,3889,3889,3889,1980-08-25,388.60000000001986,388.6145,2015-01-01 01:04:49,bin3889,75, +abc,3890,3890,3890,1980-08-26,388.7000000000199,388.7145,2015-01-01 01:04:50,bin3890,35, +abc,3891,3891,3891,1980-08-27,388.8000000000199,388.8145,2015-01-01 01:04:51,bin3891,75, +abc,3892,3892,3892,1980-08-28,388.90000000001993,388.91452,2015-01-01 01:04:52,bin3892,35, +abc,3893,3893,3893,1980-08-29,389.00000000001995,389.01453,2015-01-01 01:04:53,bin3893,75, +abc,3894,3894,3894,1980-08-30,389.10000000002,389.11453,2015-01-01 01:04:54,bin3894,35, +abc,3895,3895,3895,1980-08-31,389.20000000002,389.21454,2015-01-01 01:04:55,bin3895,75, +abc,3896,3896,3896,1980-09-01,389.30000000002,389.31454,2015-01-01 01:04:56,bin3896,35, +abc,3897,3897,3897,1980-09-02,389.40000000002004,389.41455,2015-01-01 01:04:57,bin3897,75, +abc,3898,3898,3898,1980-09-03,389.50000000002007,389.51456,2015-01-01 01:04:58,bin3898,35, +abc,3899,3899,3899,1980-09-04,389.6000000000201,389.61456,2015-01-01 01:04:59,bin3899,75, +abc,3900,3900,3900,1980-09-05,389.7000000000201,389.71457,2015-01-01 01:05:00,bin3900,35, +abc,3901,3901,3901,1980-09-06,389.80000000002013,389.81458,2015-01-01 01:05:01,bin3901,75, +abc,3902,3902,3902,1980-09-07,389.90000000002016,389.91458,2015-01-01 01:05:02,bin3902,35, +abc,3903,3903,3903,1980-09-08,390.0000000000202,390.0146,2015-01-01 01:05:03,bin3903,75, +abc,3904,3904,3904,1980-09-09,390.1000000000202,390.1146,2015-01-01 01:05:04,bin3904,35, +abc,3905,3905,3905,1980-09-10,390.2000000000202,390.2146,2015-01-01 01:05:05,bin3905,75, +abc,3906,3906,3906,1980-09-11,390.30000000002025,390.3146,2015-01-01 01:05:06,bin3906,35, +abc,3907,3907,3907,1980-09-12,390.40000000002027,390.4146,2015-01-01 01:05:07,bin3907,75, +abc,3908,3908,3908,1980-09-13,390.5000000000203,390.51462,2015-01-01 01:05:08,bin3908,35, +abc,3909,3909,3909,1980-09-14,390.6000000000203,390.61462,2015-01-01 01:05:09,bin3909,75, +abc,3910,3910,3910,1980-09-15,390.70000000002034,390.71463,2015-01-01 01:05:10,bin3910,35, +abc,3911,3911,3911,1980-09-16,390.80000000002036,390.81464,2015-01-01 01:05:11,bin3911,75, +abc,3912,3912,3912,1980-09-17,390.9000000000204,390.91464,2015-01-01 01:05:12,bin3912,35, +abc,3913,3913,3913,1980-09-18,391.0000000000204,391.01465,2015-01-01 01:05:13,bin3913,75, +abc,3914,3914,3914,1980-09-19,391.10000000002043,391.11465,2015-01-01 01:05:14,bin3914,35, +abc,3915,3915,3915,1980-09-20,391.20000000002045,391.21466,2015-01-01 01:05:15,bin3915,75, +abc,3916,3916,3916,1980-09-21,391.3000000000205,391.31467,2015-01-01 01:05:16,bin3916,35, +abc,3917,3917,3917,1980-09-22,391.4000000000205,391.41467,2015-01-01 01:05:17,bin3917,75, +abc,3918,3918,3918,1980-09-23,391.5000000000205,391.51468,2015-01-01 01:05:18,bin3918,35, +abc,3919,3919,3919,1980-09-24,391.60000000002054,391.6147,2015-01-01 01:05:19,bin3919,75, +abc,3920,3920,3920,1980-09-25,391.70000000002057,391.7147,2015-01-01 01:05:20,bin3920,35, +abc,3921,3921,3921,1980-09-26,391.8000000000206,391.8147,2015-01-01 01:05:21,bin3921,75, +abc,3922,3922,3922,1980-09-27,391.9000000000206,391.9147,2015-01-01 01:05:22,bin3922,35, +abc,3923,3923,3923,1980-09-28,392.00000000002063,392.0147,2015-01-01 01:05:23,bin3923,75, +abc,3924,3924,3924,1980-09-29,392.10000000002066,392.11472,2015-01-01 01:05:24,bin3924,35, +abc,3925,3925,3925,1980-09-30,392.2000000000207,392.21472,2015-01-01 01:05:25,bin3925,75, +abc,3926,3926,3926,1980-10-01,392.3000000000207,392.31473,2015-01-01 01:05:26,bin3926,35, +abc,3927,3927,3927,1980-10-02,392.4000000000207,392.41473,2015-01-01 01:05:27,bin3927,75, +abc,3928,3928,3928,1980-10-03,392.50000000002075,392.51474,2015-01-01 01:05:28,bin3928,35, +abc,3929,3929,3929,1980-10-04,392.60000000002077,392.61475,2015-01-01 01:05:29,bin3929,75, +abc,3930,3930,3930,1980-10-05,392.7000000000208,392.71475,2015-01-01 01:05:30,bin3930,35, +abc,3931,3931,3931,1980-10-06,392.8000000000208,392.81476,2015-01-01 01:05:31,bin3931,75, +abc,3932,3932,3932,1980-10-07,392.90000000002084,392.91476,2015-01-01 01:05:32,bin3932,35, +abc,3933,3933,3933,1980-10-08,393.00000000002086,393.01477,2015-01-01 01:05:33,bin3933,75, +abc,3934,3934,3934,1980-10-09,393.1000000000209,393.11478,2015-01-01 01:05:34,bin3934,35, +abc,3935,3935,3935,1980-10-10,393.2000000000209,393.21478,2015-01-01 01:05:35,bin3935,75, +abc,3936,3936,3936,1980-10-11,393.30000000002093,393.3148,2015-01-01 01:05:36,bin3936,35, +abc,3937,3937,3937,1980-10-12,393.40000000002095,393.4148,2015-01-01 01:05:37,bin3937,75, +abc,3938,3938,3938,1980-10-13,393.500000000021,393.5148,2015-01-01 01:05:38,bin3938,35, +abc,3939,3939,3939,1980-10-14,393.600000000021,393.6148,2015-01-01 01:05:39,bin3939,75, +abc,3940,3940,3940,1980-10-15,393.700000000021,393.7148,2015-01-01 01:05:40,bin3940,35, +abc,3941,3941,3941,1980-10-16,393.80000000002104,393.81482,2015-01-01 01:05:41,bin3941,75, +abc,3942,3942,3942,1980-10-17,393.90000000002107,393.91483,2015-01-01 01:05:42,bin3942,35, +abc,3943,3943,3943,1980-10-18,394.0000000000211,394.01483,2015-01-01 01:05:43,bin3943,75, +abc,3944,3944,3944,1980-10-19,394.1000000000211,394.11484,2015-01-01 01:05:44,bin3944,35, +abc,3945,3945,3945,1980-10-20,394.20000000002113,394.21484,2015-01-01 01:05:45,bin3945,75, +abc,3946,3946,3946,1980-10-21,394.30000000002116,394.31485,2015-01-01 01:05:46,bin3946,35, +abc,3947,3947,3947,1980-10-22,394.4000000000212,394.41486,2015-01-01 01:05:47,bin3947,75, +abc,3948,3948,3948,1980-10-23,394.5000000000212,394.51486,2015-01-01 01:05:48,bin3948,35, +abc,3949,3949,3949,1980-10-24,394.6000000000212,394.61487,2015-01-01 01:05:49,bin3949,75, +abc,3950,3950,3950,1980-10-25,394.70000000002125,394.71487,2015-01-01 01:05:50,bin3950,35, +abc,3951,3951,3951,1980-10-26,394.80000000002127,394.81488,2015-01-01 01:05:51,bin3951,75, +abc,3952,3952,3952,1980-10-27,394.9000000000213,394.9149,2015-01-01 01:05:52,bin3952,35, +abc,3953,3953,3953,1980-10-28,395.0000000000213,395.0149,2015-01-01 01:05:53,bin3953,75, +abc,3954,3954,3954,1980-10-29,395.10000000002134,395.1149,2015-01-01 01:05:54,bin3954,35, +abc,3955,3955,3955,1980-10-30,395.20000000002136,395.2149,2015-01-01 01:05:55,bin3955,75, +abc,3956,3956,3956,1980-10-31,395.3000000000214,395.3149,2015-01-01 01:05:56,bin3956,35, +abc,3957,3957,3957,1980-11-01,395.4000000000214,395.41492,2015-01-01 01:05:57,bin3957,75, +abc,3958,3958,3958,1980-11-02,395.50000000002143,395.51492,2015-01-01 01:05:58,bin3958,35, +abc,3959,3959,3959,1980-11-03,395.60000000002145,395.61493,2015-01-01 01:05:59,bin3959,75, +abc,3960,3960,3960,1980-11-04,395.7000000000215,395.71494,2015-01-01 01:06:00,bin3960,35, +abc,3961,3961,3961,1980-11-05,395.8000000000215,395.81494,2015-01-01 01:06:01,bin3961,75, +abc,3962,3962,3962,1980-11-06,395.9000000000215,395.91495,2015-01-01 01:06:02,bin3962,35, +abc,3963,3963,3963,1980-11-07,396.00000000002154,396.01495,2015-01-01 01:06:03,bin3963,75, +abc,3964,3964,3964,1980-11-08,396.10000000002157,396.11496,2015-01-01 01:06:04,bin3964,35, +abc,3965,3965,3965,1980-11-09,396.2000000000216,396.21497,2015-01-01 01:06:05,bin3965,75, +abc,3966,3966,3966,1980-11-10,396.3000000000216,396.31497,2015-01-01 01:06:06,bin3966,35, +abc,3967,3967,3967,1980-11-11,396.40000000002163,396.41498,2015-01-01 01:06:07,bin3967,75, +abc,3968,3968,3968,1980-11-12,396.50000000002166,396.51498,2015-01-01 01:06:08,bin3968,35, +abc,3969,3969,3969,1980-11-13,396.6000000000217,396.615,2015-01-01 01:06:09,bin3969,75, +abc,3970,3970,3970,1980-11-14,396.7000000000217,396.715,2015-01-01 01:06:10,bin3970,35, +abc,3971,3971,3971,1980-11-15,396.8000000000217,396.815,2015-01-01 01:06:11,bin3971,75, +abc,3972,3972,3972,1980-11-16,396.90000000002175,396.915,2015-01-01 01:06:12,bin3972,35, +abc,3973,3973,3973,1980-11-17,397.00000000002177,397.015,2015-01-01 01:06:13,bin3973,75, +abc,3974,3974,3974,1980-11-18,397.1000000000218,397.11502,2015-01-01 01:06:14,bin3974,35, +abc,3975,3975,3975,1980-11-19,397.2000000000218,397.21503,2015-01-01 01:06:15,bin3975,75, +abc,3976,3976,3976,1980-11-20,397.30000000002184,397.31503,2015-01-01 01:06:16,bin3976,35, +abc,3977,3977,3977,1980-11-21,397.40000000002186,397.41504,2015-01-01 01:06:17,bin3977,75, +abc,3978,3978,3978,1980-11-22,397.5000000000219,397.51505,2015-01-01 01:06:18,bin3978,35, +abc,3979,3979,3979,1980-11-23,397.6000000000219,397.61505,2015-01-01 01:06:19,bin3979,75, +abc,3980,3980,3980,1980-11-24,397.70000000002193,397.71506,2015-01-01 01:06:20,bin3980,35, +abc,3981,3981,3981,1980-11-25,397.80000000002195,397.81506,2015-01-01 01:06:21,bin3981,75, +abc,3982,3982,3982,1980-11-26,397.900000000022,397.91507,2015-01-01 01:06:22,bin3982,35, +abc,3983,3983,3983,1980-11-27,398.000000000022,398.01508,2015-01-01 01:06:23,bin3983,75, +abc,3984,3984,3984,1980-11-28,398.100000000022,398.11508,2015-01-01 01:06:24,bin3984,35, +abc,3985,3985,3985,1980-11-29,398.20000000002204,398.2151,2015-01-01 01:06:25,bin3985,75, +abc,3986,3986,3986,1980-11-30,398.30000000002207,398.3151,2015-01-01 01:06:26,bin3986,35, +abc,3987,3987,3987,1980-12-01,398.4000000000221,398.4151,2015-01-01 01:06:27,bin3987,75, +abc,3988,3988,3988,1980-12-02,398.5000000000221,398.5151,2015-01-01 01:06:28,bin3988,35, +abc,3989,3989,3989,1980-12-03,398.60000000002213,398.6151,2015-01-01 01:06:29,bin3989,75, +abc,3990,3990,3990,1980-12-04,398.70000000002216,398.71512,2015-01-01 01:06:30,bin3990,35, +abc,3991,3991,3991,1980-12-05,398.8000000000222,398.81512,2015-01-01 01:06:31,bin3991,75, +abc,3992,3992,3992,1980-12-06,398.9000000000222,398.91513,2015-01-01 01:06:32,bin3992,35, +abc,3993,3993,3993,1980-12-07,399.0000000000222,399.01514,2015-01-01 01:06:33,bin3993,75, +abc,3994,3994,3994,1980-12-08,399.10000000002225,399.11514,2015-01-01 01:06:34,bin3994,35, +abc,3995,3995,3995,1980-12-09,399.20000000002227,399.21515,2015-01-01 01:06:35,bin3995,75, +abc,3996,3996,3996,1980-12-10,399.3000000000223,399.31516,2015-01-01 01:06:36,bin3996,35, +abc,3997,3997,3997,1980-12-11,399.4000000000223,399.41516,2015-01-01 01:06:37,bin3997,75, +abc,3998,3998,3998,1980-12-12,399.50000000002234,399.51517,2015-01-01 01:06:38,bin3998,35, +abc,3999,3999,3999,1980-12-13,399.60000000002236,399.61517,2015-01-01 01:06:39,bin3999,75, +abc,4000,4000,4000,1980-12-14,399.7000000000224,399.71518,2015-01-01 01:06:40,bin4000,35, +abc,4001,4001,4001,1980-12-15,399.8000000000224,399.8152,2015-01-01 01:06:41,bin4001,75, +abc,4002,4002,4002,1980-12-16,399.90000000002243,399.9152,2015-01-01 01:06:42,bin4002,35, +abc,4003,4003,4003,1980-12-17,400.00000000002245,400.0152,2015-01-01 01:06:43,bin4003,75, +abc,4004,4004,4004,1980-12-18,400.1000000000225,400.1152,2015-01-01 01:06:44,bin4004,35, +abc,4005,4005,4005,1980-12-19,400.2000000000225,400.2152,2015-01-01 01:06:45,bin4005,75, +abc,4006,4006,4006,1980-12-20,400.3000000000225,400.31522,2015-01-01 01:06:46,bin4006,35, +abc,4007,4007,4007,1980-12-21,400.40000000002254,400.41522,2015-01-01 01:06:47,bin4007,75, +abc,4008,4008,4008,1980-12-22,400.50000000002257,400.51523,2015-01-01 01:06:48,bin4008,35, +abc,4009,4009,4009,1980-12-23,400.6000000000226,400.61523,2015-01-01 01:06:49,bin4009,75, +abc,4010,4010,4010,1980-12-24,400.7000000000226,400.71524,2015-01-01 01:06:50,bin4010,35, +abc,4011,4011,4011,1980-12-25,400.80000000002264,400.81525,2015-01-01 01:06:51,bin4011,75, +abc,4012,4012,4012,1980-12-26,400.90000000002266,400.91525,2015-01-01 01:06:52,bin4012,35, +abc,4013,4013,4013,1980-12-27,401.0000000000227,401.01526,2015-01-01 01:06:53,bin4013,75, +abc,4014,4014,4014,1980-12-28,401.1000000000227,401.11526,2015-01-01 01:06:54,bin4014,35, +abc,4015,4015,4015,1980-12-29,401.2000000000227,401.21527,2015-01-01 01:06:55,bin4015,75, +abc,4016,4016,4016,1980-12-30,401.30000000002275,401.31528,2015-01-01 01:06:56,bin4016,35, +abc,4017,4017,4017,1980-12-31,401.40000000002277,401.41528,2015-01-01 01:06:57,bin4017,75, +abc,4018,4018,4018,1981-01-01,401.5000000000228,401.5153,2015-01-01 01:06:58,bin4018,35, +abc,4019,4019,4019,1981-01-02,401.6000000000228,401.6153,2015-01-01 01:06:59,bin4019,75, +abc,4020,4020,4020,1981-01-03,401.70000000002284,401.7153,2015-01-01 01:07:00,bin4020,35, +abc,4021,4021,4021,1981-01-04,401.80000000002286,401.8153,2015-01-01 01:07:01,bin4021,75, +abc,4022,4022,4022,1981-01-05,401.9000000000229,401.9153,2015-01-01 01:07:02,bin4022,35, +abc,4023,4023,4023,1981-01-06,402.0000000000229,402.01532,2015-01-01 01:07:03,bin4023,75, +abc,4024,4024,4024,1981-01-07,402.10000000002293,402.11533,2015-01-01 01:07:04,bin4024,35, +abc,4025,4025,4025,1981-01-08,402.20000000002295,402.21533,2015-01-01 01:07:05,bin4025,75, +abc,4026,4026,4026,1981-01-09,402.300000000023,402.31534,2015-01-01 01:07:06,bin4026,35, +abc,4027,4027,4027,1981-01-10,402.400000000023,402.41534,2015-01-01 01:07:07,bin4027,75, +abc,4028,4028,4028,1981-01-11,402.500000000023,402.51535,2015-01-01 01:07:08,bin4028,35, +abc,4029,4029,4029,1981-01-12,402.60000000002304,402.61536,2015-01-01 01:07:09,bin4029,75, +abc,4030,4030,4030,1981-01-13,402.70000000002307,402.71536,2015-01-01 01:07:10,bin4030,35, +abc,4031,4031,4031,1981-01-14,402.8000000000231,402.81537,2015-01-01 01:07:11,bin4031,75, +abc,4032,4032,4032,1981-01-15,402.9000000000231,402.91537,2015-01-01 01:07:12,bin4032,35, +abc,4033,4033,4033,1981-01-16,403.00000000002314,403.01538,2015-01-01 01:07:13,bin4033,75, +abc,4034,4034,4034,1981-01-17,403.10000000002316,403.1154,2015-01-01 01:07:14,bin4034,35, +abc,4035,4035,4035,1981-01-18,403.2000000000232,403.2154,2015-01-01 01:07:15,bin4035,75, +abc,4036,4036,4036,1981-01-19,403.3000000000232,403.3154,2015-01-01 01:07:16,bin4036,35, +abc,4037,4037,4037,1981-01-20,403.4000000000232,403.4154,2015-01-01 01:07:17,bin4037,75, +abc,4038,4038,4038,1981-01-21,403.50000000002325,403.5154,2015-01-01 01:07:18,bin4038,35, +abc,4039,4039,4039,1981-01-22,403.6000000000233,403.61542,2015-01-01 01:07:19,bin4039,75, +abc,4040,4040,4040,1981-01-23,403.7000000000233,403.71542,2015-01-01 01:07:20,bin4040,35, +abc,4041,4041,4041,1981-01-24,403.8000000000233,403.81543,2015-01-01 01:07:21,bin4041,75, +abc,4042,4042,4042,1981-01-25,403.90000000002334,403.91544,2015-01-01 01:07:22,bin4042,35, +abc,4043,4043,4043,1981-01-26,404.00000000002336,404.01544,2015-01-01 01:07:23,bin4043,75, +abc,4044,4044,4044,1981-01-27,404.1000000000234,404.11545,2015-01-01 01:07:24,bin4044,35, +abc,4045,4045,4045,1981-01-28,404.2000000000234,404.21545,2015-01-01 01:07:25,bin4045,75, +abc,4046,4046,4046,1981-01-29,404.30000000002343,404.31546,2015-01-01 01:07:26,bin4046,35, +abc,4047,4047,4047,1981-01-30,404.40000000002345,404.41547,2015-01-01 01:07:27,bin4047,75, +abc,4048,4048,4048,1981-01-31,404.5000000000235,404.51547,2015-01-01 01:07:28,bin4048,35, +abc,4049,4049,4049,1981-02-01,404.6000000000235,404.61548,2015-01-01 01:07:29,bin4049,75, +abc,4050,4050,4050,1981-02-02,404.7000000000235,404.71548,2015-01-01 01:07:30,bin4050,35, +abc,4051,4051,4051,1981-02-03,404.80000000002354,404.8155,2015-01-01 01:07:31,bin4051,75, +abc,4052,4052,4052,1981-02-04,404.90000000002357,404.9155,2015-01-01 01:07:32,bin4052,35, +abc,4053,4053,4053,1981-02-05,405.0000000000236,405.0155,2015-01-01 01:07:33,bin4053,75, +abc,4054,4054,4054,1981-02-06,405.1000000000236,405.1155,2015-01-01 01:07:34,bin4054,35, +abc,4055,4055,4055,1981-02-07,405.20000000002364,405.2155,2015-01-01 01:07:35,bin4055,75, +abc,4056,4056,4056,1981-02-08,405.30000000002366,405.31552,2015-01-01 01:07:36,bin4056,35, +abc,4057,4057,4057,1981-02-09,405.4000000000237,405.41553,2015-01-01 01:07:37,bin4057,75, +abc,4058,4058,4058,1981-02-10,405.5000000000237,405.51553,2015-01-01 01:07:38,bin4058,35, +abc,4059,4059,4059,1981-02-11,405.6000000000237,405.61554,2015-01-01 01:07:39,bin4059,75, +abc,4060,4060,4060,1981-02-12,405.70000000002375,405.71555,2015-01-01 01:07:40,bin4060,35, +abc,4061,4061,4061,1981-02-13,405.8000000000238,405.81555,2015-01-01 01:07:41,bin4061,75, +abc,4062,4062,4062,1981-02-14,405.9000000000238,405.91556,2015-01-01 01:07:42,bin4062,35, +abc,4063,4063,4063,1981-02-15,406.0000000000238,406.01556,2015-01-01 01:07:43,bin4063,75, +abc,4064,4064,4064,1981-02-16,406.10000000002384,406.11557,2015-01-01 01:07:44,bin4064,35, +abc,4065,4065,4065,1981-02-17,406.20000000002386,406.21558,2015-01-01 01:07:45,bin4065,75, +abc,4066,4066,4066,1981-02-18,406.3000000000239,406.31558,2015-01-01 01:07:46,bin4066,35, +abc,4067,4067,4067,1981-02-19,406.4000000000239,406.4156,2015-01-01 01:07:47,bin4067,75, +abc,4068,4068,4068,1981-02-20,406.50000000002393,406.5156,2015-01-01 01:07:48,bin4068,35, +abc,4069,4069,4069,1981-02-21,406.60000000002395,406.6156,2015-01-01 01:07:49,bin4069,75, +abc,4070,4070,4070,1981-02-22,406.700000000024,406.7156,2015-01-01 01:07:50,bin4070,35, +abc,4071,4071,4071,1981-02-23,406.800000000024,406.8156,2015-01-01 01:07:51,bin4071,75, +abc,4072,4072,4072,1981-02-24,406.900000000024,406.91562,2015-01-01 01:07:52,bin4072,35, +abc,4073,4073,4073,1981-02-25,407.00000000002404,407.01562,2015-01-01 01:07:53,bin4073,75, +abc,4074,4074,4074,1981-02-26,407.10000000002407,407.11563,2015-01-01 01:07:54,bin4074,35, +abc,4075,4075,4075,1981-02-27,407.2000000000241,407.21564,2015-01-01 01:07:55,bin4075,75, +abc,4076,4076,4076,1981-02-28,407.3000000000241,407.31564,2015-01-01 01:07:56,bin4076,35, +abc,4077,4077,4077,1981-03-01,407.40000000002414,407.41565,2015-01-01 01:07:57,bin4077,75, +abc,4078,4078,4078,1981-03-02,407.50000000002416,407.51566,2015-01-01 01:07:58,bin4078,35, +abc,4079,4079,4079,1981-03-03,407.6000000000242,407.61566,2015-01-01 01:07:59,bin4079,75, +abc,4080,4080,4080,1981-03-04,407.7000000000242,407.71567,2015-01-01 01:08:00,bin4080,35, +abc,4081,4081,4081,1981-03-05,407.8000000000242,407.81567,2015-01-01 01:08:01,bin4081,75, +abc,4082,4082,4082,1981-03-06,407.90000000002425,407.91568,2015-01-01 01:08:02,bin4082,35, +abc,4083,4083,4083,1981-03-07,408.0000000000243,408.0157,2015-01-01 01:08:03,bin4083,75, +abc,4084,4084,4084,1981-03-08,408.1000000000243,408.1157,2015-01-01 01:08:04,bin4084,35, +abc,4085,4085,4085,1981-03-09,408.2000000000243,408.2157,2015-01-01 01:08:05,bin4085,75, +abc,4086,4086,4086,1981-03-10,408.30000000002434,408.3157,2015-01-01 01:08:06,bin4086,35, +abc,4087,4087,4087,1981-03-11,408.40000000002436,408.4157,2015-01-01 01:08:07,bin4087,75, +abc,4088,4088,4088,1981-03-12,408.5000000000244,408.51572,2015-01-01 01:08:08,bin4088,35, +abc,4089,4089,4089,1981-03-13,408.6000000000244,408.61572,2015-01-01 01:08:09,bin4089,75, +abc,4090,4090,4090,1981-03-14,408.70000000002443,408.71573,2015-01-01 01:08:10,bin4090,35, +abc,4091,4091,4091,1981-03-15,408.80000000002445,408.81573,2015-01-01 01:08:11,bin4091,75, +abc,4092,4092,4092,1981-03-16,408.9000000000245,408.91574,2015-01-01 01:08:12,bin4092,35, +abc,4093,4093,4093,1981-03-17,409.0000000000245,409.01575,2015-01-01 01:08:13,bin4093,75, +abc,4094,4094,4094,1981-03-18,409.1000000000245,409.11575,2015-01-01 01:08:14,bin4094,35, +abc,4095,4095,4095,1981-03-19,409.20000000002454,409.21576,2015-01-01 01:08:15,bin4095,75, +abc,4096,4096,4096,1981-03-20,409.30000000002457,409.31577,2015-01-01 01:08:16,bin4096,35, +abc,4097,4097,4097,1981-03-21,409.4000000000246,409.41577,2015-01-01 01:08:17,bin4097,75, +abc,4098,4098,4098,1981-03-22,409.5000000000246,409.51578,2015-01-01 01:08:18,bin4098,35, +abc,4099,4099,4099,1981-03-23,409.60000000002464,409.61578,2015-01-01 01:08:19,bin4099,75, +abc,4100,4100,4100,1981-03-24,409.70000000002466,409.7158,2015-01-01 01:08:20,bin4100,35, +abc,4101,4101,4101,1981-03-25,409.8000000000247,409.8158,2015-01-01 01:08:21,bin4101,75, +abc,4102,4102,4102,1981-03-26,409.9000000000247,409.9158,2015-01-01 01:08:22,bin4102,35, +abc,4103,4103,4103,1981-03-27,410.0000000000247,410.0158,2015-01-01 01:08:23,bin4103,75, +abc,4104,4104,4104,1981-03-28,410.10000000002475,410.1158,2015-01-01 01:08:24,bin4104,35, +abc,4105,4105,4105,1981-03-29,410.2000000000248,410.21582,2015-01-01 01:08:25,bin4105,75, +abc,4106,4106,4106,1981-03-30,410.3000000000248,410.31583,2015-01-01 01:08:26,bin4106,35, +abc,4107,4107,4107,1981-03-31,410.4000000000248,410.41583,2015-01-01 01:08:27,bin4107,75, +abc,4108,4108,4108,1981-04-01,410.50000000002484,410.51584,2015-01-01 01:08:28,bin4108,35, +abc,4109,4109,4109,1981-04-02,410.60000000002486,410.61584,2015-01-01 01:08:29,bin4109,75, +abc,4110,4110,4110,1981-04-03,410.7000000000249,410.71585,2015-01-01 01:08:30,bin4110,35, +abc,4111,4111,4111,1981-04-04,410.8000000000249,410.81586,2015-01-01 01:08:31,bin4111,75, +abc,4112,4112,4112,1981-04-05,410.90000000002493,410.91586,2015-01-01 01:08:32,bin4112,35, +abc,4113,4113,4113,1981-04-06,411.00000000002495,411.01587,2015-01-01 01:08:33,bin4113,75, +abc,4114,4114,4114,1981-04-07,411.100000000025,411.11588,2015-01-01 01:08:34,bin4114,35, +abc,4115,4115,4115,1981-04-08,411.200000000025,411.21588,2015-01-01 01:08:35,bin4115,75, +abc,4116,4116,4116,1981-04-09,411.300000000025,411.3159,2015-01-01 01:08:36,bin4116,35, +abc,4117,4117,4117,1981-04-10,411.40000000002505,411.4159,2015-01-01 01:08:37,bin4117,75, +abc,4118,4118,4118,1981-04-11,411.50000000002507,411.5159,2015-01-01 01:08:38,bin4118,35, +abc,4119,4119,4119,1981-04-12,411.6000000000251,411.6159,2015-01-01 01:08:39,bin4119,75, +abc,4120,4120,4120,1981-04-13,411.7000000000251,411.7159,2015-01-01 01:08:40,bin4120,35, +abc,4121,4121,4121,1981-04-14,411.80000000002514,411.81592,2015-01-01 01:08:41,bin4121,75, +abc,4122,4122,4122,1981-04-15,411.90000000002516,411.91592,2015-01-01 01:08:42,bin4122,35, +abc,4123,4123,4123,1981-04-16,412.0000000000252,412.01593,2015-01-01 01:08:43,bin4123,75, +abc,4124,4124,4124,1981-04-17,412.1000000000252,412.11594,2015-01-01 01:08:44,bin4124,35, +abc,4125,4125,4125,1981-04-18,412.2000000000252,412.21594,2015-01-01 01:08:45,bin4125,75, +abc,4126,4126,4126,1981-04-19,412.30000000002525,412.31595,2015-01-01 01:08:46,bin4126,35, +abc,4127,4127,4127,1981-04-20,412.4000000000253,412.41595,2015-01-01 01:08:47,bin4127,75, +abc,4128,4128,4128,1981-04-21,412.5000000000253,412.51596,2015-01-01 01:08:48,bin4128,35, +abc,4129,4129,4129,1981-04-22,412.6000000000253,412.61597,2015-01-01 01:08:49,bin4129,75, +abc,4130,4130,4130,1981-04-23,412.70000000002534,412.71597,2015-01-01 01:08:50,bin4130,35, +abc,4131,4131,4131,1981-04-24,412.80000000002536,412.81598,2015-01-01 01:08:51,bin4131,75, +abc,4132,4132,4132,1981-04-25,412.9000000000254,412.916,2015-01-01 01:08:52,bin4132,35, +abc,4133,4133,4133,1981-04-26,413.0000000000254,413.016,2015-01-01 01:08:53,bin4133,75, +abc,4134,4134,4134,1981-04-27,413.10000000002543,413.116,2015-01-01 01:08:54,bin4134,35, +abc,4135,4135,4135,1981-04-28,413.20000000002545,413.216,2015-01-01 01:08:55,bin4135,75, +abc,4136,4136,4136,1981-04-29,413.3000000000255,413.316,2015-01-01 01:08:56,bin4136,35, +abc,4137,4137,4137,1981-04-30,413.4000000000255,413.41602,2015-01-01 01:08:57,bin4137,75, +abc,4138,4138,4138,1981-05-01,413.5000000000255,413.51602,2015-01-01 01:08:58,bin4138,35, +abc,4139,4139,4139,1981-05-02,413.60000000002555,413.61603,2015-01-01 01:08:59,bin4139,75, +abc,4140,4140,4140,1981-05-03,413.70000000002557,413.71603,2015-01-01 01:09:00,bin4140,35, +abc,4141,4141,4141,1981-05-04,413.8000000000256,413.81604,2015-01-01 01:09:01,bin4141,75, +abc,4142,4142,4142,1981-05-05,413.9000000000256,413.91605,2015-01-01 01:09:02,bin4142,35, +abc,4143,4143,4143,1981-05-06,414.00000000002564,414.01605,2015-01-01 01:09:03,bin4143,75, +abc,4144,4144,4144,1981-05-07,414.10000000002566,414.11606,2015-01-01 01:09:04,bin4144,35, +abc,4145,4145,4145,1981-05-08,414.2000000000257,414.21606,2015-01-01 01:09:05,bin4145,75, +abc,4146,4146,4146,1981-05-09,414.3000000000257,414.31607,2015-01-01 01:09:06,bin4146,35, +abc,4147,4147,4147,1981-05-10,414.4000000000257,414.41608,2015-01-01 01:09:07,bin4147,75, +abc,4148,4148,4148,1981-05-11,414.50000000002575,414.51608,2015-01-01 01:09:08,bin4148,35, +abc,4149,4149,4149,1981-05-12,414.6000000000258,414.6161,2015-01-01 01:09:09,bin4149,75, +abc,4150,4150,4150,1981-05-13,414.7000000000258,414.7161,2015-01-01 01:09:10,bin4150,35, +abc,4151,4151,4151,1981-05-14,414.8000000000258,414.8161,2015-01-01 01:09:11,bin4151,75, +abc,4152,4152,4152,1981-05-15,414.90000000002584,414.9161,2015-01-01 01:09:12,bin4152,35, +abc,4153,4153,4153,1981-05-16,415.00000000002586,415.0161,2015-01-01 01:09:13,bin4153,75, +abc,4154,4154,4154,1981-05-17,415.1000000000259,415.11612,2015-01-01 01:09:14,bin4154,35, +abc,4155,4155,4155,1981-05-18,415.2000000000259,415.21613,2015-01-01 01:09:15,bin4155,75, +abc,4156,4156,4156,1981-05-19,415.30000000002593,415.31613,2015-01-01 01:09:16,bin4156,35, +abc,4157,4157,4157,1981-05-20,415.40000000002595,415.41614,2015-01-01 01:09:17,bin4157,75, +abc,4158,4158,4158,1981-05-21,415.500000000026,415.51614,2015-01-01 01:09:18,bin4158,35, +abc,4159,4159,4159,1981-05-22,415.600000000026,415.61615,2015-01-01 01:09:19,bin4159,75, +abc,4160,4160,4160,1981-05-23,415.700000000026,415.71616,2015-01-01 01:09:20,bin4160,35, +abc,4161,4161,4161,1981-05-24,415.80000000002605,415.81616,2015-01-01 01:09:21,bin4161,75, +abc,4162,4162,4162,1981-05-25,415.90000000002607,415.91617,2015-01-01 01:09:22,bin4162,35, +abc,4163,4163,4163,1981-05-26,416.0000000000261,416.01617,2015-01-01 01:09:23,bin4163,75, +abc,4164,4164,4164,1981-05-27,416.1000000000261,416.11618,2015-01-01 01:09:24,bin4164,35, +abc,4165,4165,4165,1981-05-28,416.20000000002614,416.2162,2015-01-01 01:09:25,bin4165,75, +abc,4166,4166,4166,1981-05-29,416.30000000002616,416.3162,2015-01-01 01:09:26,bin4166,35, +abc,4167,4167,4167,1981-05-30,416.4000000000262,416.4162,2015-01-01 01:09:27,bin4167,75, +abc,4168,4168,4168,1981-05-31,416.5000000000262,416.5162,2015-01-01 01:09:28,bin4168,35, +abc,4169,4169,4169,1981-06-01,416.6000000000262,416.6162,2015-01-01 01:09:29,bin4169,75, +abc,4170,4170,4170,1981-06-02,416.70000000002625,416.71622,2015-01-01 01:09:30,bin4170,35, +abc,4171,4171,4171,1981-06-03,416.8000000000263,416.81622,2015-01-01 01:09:31,bin4171,75, +abc,4172,4172,4172,1981-06-04,416.9000000000263,416.91623,2015-01-01 01:09:32,bin4172,35, +abc,4173,4173,4173,1981-06-05,417.0000000000263,417.01624,2015-01-01 01:09:33,bin4173,75, +abc,4174,4174,4174,1981-06-06,417.10000000002634,417.11624,2015-01-01 01:09:34,bin4174,35, +abc,4175,4175,4175,1981-06-07,417.20000000002636,417.21625,2015-01-01 01:09:35,bin4175,75, +abc,4176,4176,4176,1981-06-08,417.3000000000264,417.31625,2015-01-01 01:09:36,bin4176,35, +abc,4177,4177,4177,1981-06-09,417.4000000000264,417.41626,2015-01-01 01:09:37,bin4177,75, +abc,4178,4178,4178,1981-06-10,417.50000000002643,417.51627,2015-01-01 01:09:38,bin4178,35, +abc,4179,4179,4179,1981-06-11,417.60000000002645,417.61627,2015-01-01 01:09:39,bin4179,75, +abc,4180,4180,4180,1981-06-12,417.7000000000265,417.71628,2015-01-01 01:09:40,bin4180,35, +abc,4181,4181,4181,1981-06-13,417.8000000000265,417.81628,2015-01-01 01:09:41,bin4181,75, +abc,4182,4182,4182,1981-06-14,417.9000000000265,417.9163,2015-01-01 01:09:42,bin4182,35, +abc,4183,4183,4183,1981-06-15,418.00000000002655,418.0163,2015-01-01 01:09:43,bin4183,75, +abc,4184,4184,4184,1981-06-16,418.10000000002657,418.1163,2015-01-01 01:09:44,bin4184,35, +abc,4185,4185,4185,1981-06-17,418.2000000000266,418.2163,2015-01-01 01:09:45,bin4185,75, +abc,4186,4186,4186,1981-06-18,418.3000000000266,418.3163,2015-01-01 01:09:46,bin4186,35, +abc,4187,4187,4187,1981-06-19,418.40000000002664,418.41632,2015-01-01 01:09:47,bin4187,75, +abc,4188,4188,4188,1981-06-20,418.50000000002666,418.51633,2015-01-01 01:09:48,bin4188,35, +abc,4189,4189,4189,1981-06-21,418.6000000000267,418.61633,2015-01-01 01:09:49,bin4189,75, +abc,4190,4190,4190,1981-06-22,418.7000000000267,418.71634,2015-01-01 01:09:50,bin4190,35, +abc,4191,4191,4191,1981-06-23,418.8000000000267,418.81635,2015-01-01 01:09:51,bin4191,75, +abc,4192,4192,4192,1981-06-24,418.90000000002675,418.91635,2015-01-01 01:09:52,bin4192,35, +abc,4193,4193,4193,1981-06-25,419.0000000000268,419.01636,2015-01-01 01:09:53,bin4193,75, +abc,4194,4194,4194,1981-06-26,419.1000000000268,419.11636,2015-01-01 01:09:54,bin4194,35, +abc,4195,4195,4195,1981-06-27,419.2000000000268,419.21637,2015-01-01 01:09:55,bin4195,75, +abc,4196,4196,4196,1981-06-28,419.30000000002684,419.31638,2015-01-01 01:09:56,bin4196,35, +abc,4197,4197,4197,1981-06-29,419.40000000002686,419.41638,2015-01-01 01:09:57,bin4197,75, +abc,4198,4198,4198,1981-06-30,419.5000000000269,419.5164,2015-01-01 01:09:58,bin4198,35, +abc,4199,4199,4199,1981-07-01,419.6000000000269,419.6164,2015-01-01 01:09:59,bin4199,75, +abc,4200,4200,4200,1981-07-02,419.70000000002693,419.7164,2015-01-01 01:10:00,bin4200,35, +abc,4201,4201,4201,1981-07-03,419.80000000002696,419.8164,2015-01-01 01:10:01,bin4201,75, +abc,4202,4202,4202,1981-07-04,419.900000000027,419.9164,2015-01-01 01:10:02,bin4202,35, +abc,4203,4203,4203,1981-07-05,420.000000000027,420.01642,2015-01-01 01:10:03,bin4203,75, +abc,4204,4204,4204,1981-07-06,420.100000000027,420.11642,2015-01-01 01:10:04,bin4204,35, +abc,4205,4205,4205,1981-07-07,420.20000000002705,420.21643,2015-01-01 01:10:05,bin4205,75, +abc,4206,4206,4206,1981-07-08,420.30000000002707,420.31644,2015-01-01 01:10:06,bin4206,35, +abc,4207,4207,4207,1981-07-09,420.4000000000271,420.41644,2015-01-01 01:10:07,bin4207,75, +abc,4208,4208,4208,1981-07-10,420.5000000000271,420.51645,2015-01-01 01:10:08,bin4208,35, +abc,4209,4209,4209,1981-07-11,420.60000000002714,420.61646,2015-01-01 01:10:09,bin4209,75, +abc,4210,4210,4210,1981-07-12,420.70000000002716,420.71646,2015-01-01 01:10:10,bin4210,35, +abc,4211,4211,4211,1981-07-13,420.8000000000272,420.81647,2015-01-01 01:10:11,bin4211,75, +abc,4212,4212,4212,1981-07-14,420.9000000000272,420.91647,2015-01-01 01:10:12,bin4212,35, +abc,4213,4213,4213,1981-07-15,421.0000000000272,421.01648,2015-01-01 01:10:13,bin4213,75, +abc,4214,4214,4214,1981-07-16,421.10000000002725,421.1165,2015-01-01 01:10:14,bin4214,35, +abc,4215,4215,4215,1981-07-17,421.2000000000273,421.2165,2015-01-01 01:10:15,bin4215,75, +abc,4216,4216,4216,1981-07-18,421.3000000000273,421.3165,2015-01-01 01:10:16,bin4216,35, +abc,4217,4217,4217,1981-07-19,421.4000000000273,421.4165,2015-01-01 01:10:17,bin4217,75, +abc,4218,4218,4218,1981-07-20,421.50000000002734,421.5165,2015-01-01 01:10:18,bin4218,35, +abc,4219,4219,4219,1981-07-21,421.60000000002736,421.61652,2015-01-01 01:10:19,bin4219,75, +abc,4220,4220,4220,1981-07-22,421.7000000000274,421.71652,2015-01-01 01:10:20,bin4220,35, +abc,4221,4221,4221,1981-07-23,421.8000000000274,421.81653,2015-01-01 01:10:21,bin4221,75, +abc,4222,4222,4222,1981-07-24,421.90000000002743,421.91653,2015-01-01 01:10:22,bin4222,35, +abc,4223,4223,4223,1981-07-25,422.00000000002746,422.01654,2015-01-01 01:10:23,bin4223,75, +abc,4224,4224,4224,1981-07-26,422.1000000000275,422.11655,2015-01-01 01:10:24,bin4224,35, +abc,4225,4225,4225,1981-07-27,422.2000000000275,422.21655,2015-01-01 01:10:25,bin4225,75, +abc,4226,4226,4226,1981-07-28,422.3000000000275,422.31656,2015-01-01 01:10:26,bin4226,35, +abc,4227,4227,4227,1981-07-29,422.40000000002755,422.41656,2015-01-01 01:10:27,bin4227,75, +abc,4228,4228,4228,1981-07-30,422.50000000002757,422.51657,2015-01-01 01:10:28,bin4228,35, +abc,4229,4229,4229,1981-07-31,422.6000000000276,422.61658,2015-01-01 01:10:29,bin4229,75, +abc,4230,4230,4230,1981-08-01,422.7000000000276,422.71658,2015-01-01 01:10:30,bin4230,35, +abc,4231,4231,4231,1981-08-02,422.80000000002764,422.8166,2015-01-01 01:10:31,bin4231,75, +abc,4232,4232,4232,1981-08-03,422.90000000002766,422.9166,2015-01-01 01:10:32,bin4232,35, +abc,4233,4233,4233,1981-08-04,423.0000000000277,423.0166,2015-01-01 01:10:33,bin4233,75, +abc,4234,4234,4234,1981-08-05,423.1000000000277,423.1166,2015-01-01 01:10:34,bin4234,35, +abc,4235,4235,4235,1981-08-06,423.2000000000277,423.2166,2015-01-01 01:10:35,bin4235,75, +abc,4236,4236,4236,1981-08-07,423.30000000002775,423.31662,2015-01-01 01:10:36,bin4236,35, +abc,4237,4237,4237,1981-08-08,423.4000000000278,423.41663,2015-01-01 01:10:37,bin4237,75, +abc,4238,4238,4238,1981-08-09,423.5000000000278,423.51663,2015-01-01 01:10:38,bin4238,35, +abc,4239,4239,4239,1981-08-10,423.6000000000278,423.61664,2015-01-01 01:10:39,bin4239,75, +abc,4240,4240,4240,1981-08-11,423.70000000002784,423.71664,2015-01-01 01:10:40,bin4240,35, +abc,4241,4241,4241,1981-08-12,423.80000000002786,423.81665,2015-01-01 01:10:41,bin4241,75, +abc,4242,4242,4242,1981-08-13,423.9000000000279,423.91666,2015-01-01 01:10:42,bin4242,35, +abc,4243,4243,4243,1981-08-14,424.0000000000279,424.01666,2015-01-01 01:10:43,bin4243,75, +abc,4244,4244,4244,1981-08-15,424.10000000002793,424.11667,2015-01-01 01:10:44,bin4244,35, +abc,4245,4245,4245,1981-08-16,424.20000000002796,424.21667,2015-01-01 01:10:45,bin4245,75, +abc,4246,4246,4246,1981-08-17,424.300000000028,424.31668,2015-01-01 01:10:46,bin4246,35, +abc,4247,4247,4247,1981-08-18,424.400000000028,424.4167,2015-01-01 01:10:47,bin4247,75, +abc,4248,4248,4248,1981-08-19,424.500000000028,424.5167,2015-01-01 01:10:48,bin4248,35, +abc,4249,4249,4249,1981-08-20,424.60000000002805,424.6167,2015-01-01 01:10:49,bin4249,75, +abc,4250,4250,4250,1981-08-21,424.70000000002807,424.7167,2015-01-01 01:10:50,bin4250,35, +abc,4251,4251,4251,1981-08-22,424.8000000000281,424.8167,2015-01-01 01:10:51,bin4251,75, +abc,4252,4252,4252,1981-08-23,424.9000000000281,424.91672,2015-01-01 01:10:52,bin4252,35, +abc,4253,4253,4253,1981-08-24,425.00000000002814,425.01672,2015-01-01 01:10:53,bin4253,75, +abc,4254,4254,4254,1981-08-25,425.10000000002816,425.11673,2015-01-01 01:10:54,bin4254,35, +abc,4255,4255,4255,1981-08-26,425.2000000000282,425.21674,2015-01-01 01:10:55,bin4255,75, +abc,4256,4256,4256,1981-08-27,425.3000000000282,425.31674,2015-01-01 01:10:56,bin4256,35, +abc,4257,4257,4257,1981-08-28,425.40000000002823,425.41675,2015-01-01 01:10:57,bin4257,75, +abc,4258,4258,4258,1981-08-29,425.50000000002825,425.51675,2015-01-01 01:10:58,bin4258,35, +abc,4259,4259,4259,1981-08-30,425.6000000000283,425.61676,2015-01-01 01:10:59,bin4259,75, +abc,4260,4260,4260,1981-08-31,425.7000000000283,425.71677,2015-01-01 01:11:00,bin4260,35, +abc,4261,4261,4261,1981-09-01,425.8000000000283,425.81677,2015-01-01 01:11:01,bin4261,75, +abc,4262,4262,4262,1981-09-02,425.90000000002834,425.91678,2015-01-01 01:11:02,bin4262,35, +abc,4263,4263,4263,1981-09-03,426.00000000002836,426.01678,2015-01-01 01:11:03,bin4263,75, +abc,4264,4264,4264,1981-09-04,426.1000000000284,426.1168,2015-01-01 01:11:04,bin4264,35, +abc,4265,4265,4265,1981-09-05,426.2000000000284,426.2168,2015-01-01 01:11:05,bin4265,75, +abc,4266,4266,4266,1981-09-06,426.30000000002843,426.3168,2015-01-01 01:11:06,bin4266,35, +abc,4267,4267,4267,1981-09-07,426.40000000002846,426.4168,2015-01-01 01:11:07,bin4267,75, +abc,4268,4268,4268,1981-09-08,426.5000000000285,426.5168,2015-01-01 01:11:08,bin4268,35, +abc,4269,4269,4269,1981-09-09,426.6000000000285,426.61682,2015-01-01 01:11:09,bin4269,75, +abc,4270,4270,4270,1981-09-10,426.7000000000285,426.71683,2015-01-01 01:11:10,bin4270,35, +abc,4271,4271,4271,1981-09-11,426.80000000002855,426.81683,2015-01-01 01:11:11,bin4271,75, +abc,4272,4272,4272,1981-09-12,426.90000000002857,426.91684,2015-01-01 01:11:12,bin4272,35, +abc,4273,4273,4273,1981-09-13,427.0000000000286,427.01685,2015-01-01 01:11:13,bin4273,75, +abc,4274,4274,4274,1981-09-14,427.1000000000286,427.11685,2015-01-01 01:11:14,bin4274,35, +abc,4275,4275,4275,1981-09-15,427.20000000002864,427.21686,2015-01-01 01:11:15,bin4275,75, +abc,4276,4276,4276,1981-09-16,427.30000000002866,427.31686,2015-01-01 01:11:16,bin4276,35, +abc,4277,4277,4277,1981-09-17,427.4000000000287,427.41687,2015-01-01 01:11:17,bin4277,75, +abc,4278,4278,4278,1981-09-18,427.5000000000287,427.51688,2015-01-01 01:11:18,bin4278,35, +abc,4279,4279,4279,1981-09-19,427.60000000002873,427.61688,2015-01-01 01:11:19,bin4279,75, +abc,4280,4280,4280,1981-09-20,427.70000000002875,427.7169,2015-01-01 01:11:20,bin4280,35, +abc,4281,4281,4281,1981-09-21,427.8000000000288,427.8169,2015-01-01 01:11:21,bin4281,75, +abc,4282,4282,4282,1981-09-22,427.9000000000288,427.9169,2015-01-01 01:11:22,bin4282,35, +abc,4283,4283,4283,1981-09-23,428.0000000000288,428.0169,2015-01-01 01:11:23,bin4283,75, +abc,4284,4284,4284,1981-09-24,428.10000000002884,428.1169,2015-01-01 01:11:24,bin4284,35, +abc,4285,4285,4285,1981-09-25,428.20000000002887,428.21692,2015-01-01 01:11:25,bin4285,75, +abc,4286,4286,4286,1981-09-26,428.3000000000289,428.31693,2015-01-01 01:11:26,bin4286,35, +abc,4287,4287,4287,1981-09-27,428.4000000000289,428.41693,2015-01-01 01:11:27,bin4287,75, +abc,4288,4288,4288,1981-09-28,428.50000000002893,428.51694,2015-01-01 01:11:28,bin4288,35, +abc,4289,4289,4289,1981-09-29,428.60000000002896,428.61694,2015-01-01 01:11:29,bin4289,75, +abc,4290,4290,4290,1981-09-30,428.700000000029,428.71695,2015-01-01 01:11:30,bin4290,35, +abc,4291,4291,4291,1981-10-01,428.800000000029,428.81696,2015-01-01 01:11:31,bin4291,75, +abc,4292,4292,4292,1981-10-02,428.900000000029,428.91696,2015-01-01 01:11:32,bin4292,35, +abc,4293,4293,4293,1981-10-03,429.00000000002905,429.01697,2015-01-01 01:11:33,bin4293,75, +abc,4294,4294,4294,1981-10-04,429.10000000002907,429.11697,2015-01-01 01:11:34,bin4294,35, +abc,4295,4295,4295,1981-10-05,429.2000000000291,429.21698,2015-01-01 01:11:35,bin4295,75, +abc,4296,4296,4296,1981-10-06,429.3000000000291,429.317,2015-01-01 01:11:36,bin4296,35, +abc,4297,4297,4297,1981-10-07,429.40000000002914,429.417,2015-01-01 01:11:37,bin4297,75, +abc,4298,4298,4298,1981-10-08,429.50000000002916,429.517,2015-01-01 01:11:38,bin4298,35, +abc,4299,4299,4299,1981-10-09,429.6000000000292,429.617,2015-01-01 01:11:39,bin4299,75, +abc,4300,4300,4300,1981-10-10,429.7000000000292,429.717,2015-01-01 01:11:40,bin4300,35, +abc,4301,4301,4301,1981-10-11,429.80000000002923,429.81702,2015-01-01 01:11:41,bin4301,75, +abc,4302,4302,4302,1981-10-12,429.90000000002925,429.91702,2015-01-01 01:11:42,bin4302,35, +abc,4303,4303,4303,1981-10-13,430.0000000000293,430.01703,2015-01-01 01:11:43,bin4303,75, +abc,4304,4304,4304,1981-10-14,430.1000000000293,430.11703,2015-01-01 01:11:44,bin4304,35, +abc,4305,4305,4305,1981-10-15,430.2000000000293,430.21704,2015-01-01 01:11:45,bin4305,75, +abc,4306,4306,4306,1981-10-16,430.30000000002934,430.31705,2015-01-01 01:11:46,bin4306,35, +abc,4307,4307,4307,1981-10-17,430.40000000002937,430.41705,2015-01-01 01:11:47,bin4307,75, +abc,4308,4308,4308,1981-10-18,430.5000000000294,430.51706,2015-01-01 01:11:48,bin4308,35, +abc,4309,4309,4309,1981-10-19,430.6000000000294,430.61707,2015-01-01 01:11:49,bin4309,75, +abc,4310,4310,4310,1981-10-20,430.70000000002943,430.71707,2015-01-01 01:11:50,bin4310,35, +abc,4311,4311,4311,1981-10-21,430.80000000002946,430.81708,2015-01-01 01:11:51,bin4311,75, +abc,4312,4312,4312,1981-10-22,430.9000000000295,430.91708,2015-01-01 01:11:52,bin4312,35, +abc,4313,4313,4313,1981-10-23,431.0000000000295,431.0171,2015-01-01 01:11:53,bin4313,75, +abc,4314,4314,4314,1981-10-24,431.1000000000295,431.1171,2015-01-01 01:11:54,bin4314,35, +abc,4315,4315,4315,1981-10-25,431.20000000002955,431.2171,2015-01-01 01:11:55,bin4315,75, +abc,4316,4316,4316,1981-10-26,431.30000000002957,431.3171,2015-01-01 01:11:56,bin4316,35, +abc,4317,4317,4317,1981-10-27,431.4000000000296,431.4171,2015-01-01 01:11:57,bin4317,75, +abc,4318,4318,4318,1981-10-28,431.5000000000296,431.51712,2015-01-01 01:11:58,bin4318,35, +abc,4319,4319,4319,1981-10-29,431.60000000002964,431.61713,2015-01-01 01:11:59,bin4319,75, +abc,4320,4320,4320,1981-10-30,431.70000000002966,431.71713,2015-01-01 01:12:00,bin4320,35, +abc,4321,4321,4321,1981-10-31,431.8000000000297,431.81714,2015-01-01 01:12:01,bin4321,75, +abc,4322,4322,4322,1981-11-01,431.9000000000297,431.91714,2015-01-01 01:12:02,bin4322,35, +abc,4323,4323,4323,1981-11-02,432.00000000002973,432.01715,2015-01-01 01:12:03,bin4323,75, +abc,4324,4324,4324,1981-11-03,432.10000000002975,432.11716,2015-01-01 01:12:04,bin4324,35, +abc,4325,4325,4325,1981-11-04,432.2000000000298,432.21716,2015-01-01 01:12:05,bin4325,75, +abc,4326,4326,4326,1981-11-05,432.3000000000298,432.31717,2015-01-01 01:12:06,bin4326,35, +abc,4327,4327,4327,1981-11-06,432.4000000000298,432.41718,2015-01-01 01:12:07,bin4327,75, +abc,4328,4328,4328,1981-11-07,432.50000000002984,432.51718,2015-01-01 01:12:08,bin4328,35, +abc,4329,4329,4329,1981-11-08,432.60000000002987,432.6172,2015-01-01 01:12:09,bin4329,75, +abc,4330,4330,4330,1981-11-09,432.7000000000299,432.7172,2015-01-01 01:12:10,bin4330,35, +abc,4331,4331,4331,1981-11-10,432.8000000000299,432.8172,2015-01-01 01:12:11,bin4331,75, +abc,4332,4332,4332,1981-11-11,432.90000000002993,432.9172,2015-01-01 01:12:12,bin4332,35, +abc,4333,4333,4333,1981-11-12,433.00000000002996,433.0172,2015-01-01 01:12:13,bin4333,75, +abc,4334,4334,4334,1981-11-13,433.10000000003,433.11722,2015-01-01 01:12:14,bin4334,35, +abc,4335,4335,4335,1981-11-14,433.20000000003,433.21722,2015-01-01 01:12:15,bin4335,75, +abc,4336,4336,4336,1981-11-15,433.30000000003,433.31723,2015-01-01 01:12:16,bin4336,35, +abc,4337,4337,4337,1981-11-16,433.40000000003005,433.41724,2015-01-01 01:12:17,bin4337,75, +abc,4338,4338,4338,1981-11-17,433.50000000003007,433.51724,2015-01-01 01:12:18,bin4338,35, +abc,4339,4339,4339,1981-11-18,433.6000000000301,433.61725,2015-01-01 01:12:19,bin4339,75, +abc,4340,4340,4340,1981-11-19,433.7000000000301,433.71725,2015-01-01 01:12:20,bin4340,35, +abc,4341,4341,4341,1981-11-20,433.80000000003014,433.81726,2015-01-01 01:12:21,bin4341,75, +abc,4342,4342,4342,1981-11-21,433.90000000003016,433.91727,2015-01-01 01:12:22,bin4342,35, +abc,4343,4343,4343,1981-11-22,434.0000000000302,434.01727,2015-01-01 01:12:23,bin4343,75, +abc,4344,4344,4344,1981-11-23,434.1000000000302,434.11728,2015-01-01 01:12:24,bin4344,35, +abc,4345,4345,4345,1981-11-24,434.20000000003023,434.2173,2015-01-01 01:12:25,bin4345,75, +abc,4346,4346,4346,1981-11-25,434.30000000003025,434.3173,2015-01-01 01:12:26,bin4346,35, +abc,4347,4347,4347,1981-11-26,434.4000000000303,434.4173,2015-01-01 01:12:27,bin4347,75, +abc,4348,4348,4348,1981-11-27,434.5000000000303,434.5173,2015-01-01 01:12:28,bin4348,35, +abc,4349,4349,4349,1981-11-28,434.6000000000303,434.6173,2015-01-01 01:12:29,bin4349,75, +abc,4350,4350,4350,1981-11-29,434.70000000003034,434.71732,2015-01-01 01:12:30,bin4350,35, +abc,4351,4351,4351,1981-11-30,434.80000000003037,434.81732,2015-01-01 01:12:31,bin4351,75, +abc,4352,4352,4352,1981-12-01,434.9000000000304,434.91733,2015-01-01 01:12:32,bin4352,35, +abc,4353,4353,4353,1981-12-02,435.0000000000304,435.01733,2015-01-01 01:12:33,bin4353,75, +abc,4354,4354,4354,1981-12-03,435.10000000003043,435.11734,2015-01-01 01:12:34,bin4354,35, +abc,4355,4355,4355,1981-12-04,435.20000000003046,435.21735,2015-01-01 01:12:35,bin4355,75, +abc,4356,4356,4356,1981-12-05,435.3000000000305,435.31735,2015-01-01 01:12:36,bin4356,35, +abc,4357,4357,4357,1981-12-06,435.4000000000305,435.41736,2015-01-01 01:12:37,bin4357,75, +abc,4358,4358,4358,1981-12-07,435.5000000000305,435.51736,2015-01-01 01:12:38,bin4358,35, +abc,4359,4359,4359,1981-12-08,435.60000000003055,435.61737,2015-01-01 01:12:39,bin4359,75, +abc,4360,4360,4360,1981-12-09,435.70000000003057,435.71738,2015-01-01 01:12:40,bin4360,35, +abc,4361,4361,4361,1981-12-10,435.8000000000306,435.81738,2015-01-01 01:12:41,bin4361,75, +abc,4362,4362,4362,1981-12-11,435.9000000000306,435.9174,2015-01-01 01:12:42,bin4362,35, +abc,4363,4363,4363,1981-12-12,436.00000000003064,436.0174,2015-01-01 01:12:43,bin4363,75, +abc,4364,4364,4364,1981-12-13,436.10000000003066,436.1174,2015-01-01 01:12:44,bin4364,35, +abc,4365,4365,4365,1981-12-14,436.2000000000307,436.2174,2015-01-01 01:12:45,bin4365,75, +abc,4366,4366,4366,1981-12-15,436.3000000000307,436.3174,2015-01-01 01:12:46,bin4366,35, +abc,4367,4367,4367,1981-12-16,436.40000000003073,436.41742,2015-01-01 01:12:47,bin4367,75, +abc,4368,4368,4368,1981-12-17,436.50000000003075,436.51743,2015-01-01 01:12:48,bin4368,35, +abc,4369,4369,4369,1981-12-18,436.6000000000308,436.61743,2015-01-01 01:12:49,bin4369,75, +abc,4370,4370,4370,1981-12-19,436.7000000000308,436.71744,2015-01-01 01:12:50,bin4370,35, +abc,4371,4371,4371,1981-12-20,436.8000000000308,436.81744,2015-01-01 01:12:51,bin4371,75, +abc,4372,4372,4372,1981-12-21,436.90000000003084,436.91745,2015-01-01 01:12:52,bin4372,35, +abc,4373,4373,4373,1981-12-22,437.00000000003087,437.01746,2015-01-01 01:12:53,bin4373,75, +abc,4374,4374,4374,1981-12-23,437.1000000000309,437.11746,2015-01-01 01:12:54,bin4374,35, +abc,4375,4375,4375,1981-12-24,437.2000000000309,437.21747,2015-01-01 01:12:55,bin4375,75, +abc,4376,4376,4376,1981-12-25,437.30000000003093,437.31747,2015-01-01 01:12:56,bin4376,35, +abc,4377,4377,4377,1981-12-26,437.40000000003096,437.41748,2015-01-01 01:12:57,bin4377,75, +abc,4378,4378,4378,1981-12-27,437.500000000031,437.5175,2015-01-01 01:12:58,bin4378,35, +abc,4379,4379,4379,1981-12-28,437.600000000031,437.6175,2015-01-01 01:12:59,bin4379,75, +abc,4380,4380,4380,1981-12-29,437.700000000031,437.7175,2015-01-01 01:13:00,bin4380,35, +abc,4381,4381,4381,1981-12-30,437.80000000003105,437.8175,2015-01-01 01:13:01,bin4381,75, +abc,4382,4382,4382,1981-12-31,437.90000000003107,437.9175,2015-01-01 01:13:02,bin4382,35, +abc,4383,4383,4383,1982-01-01,438.0000000000311,438.01752,2015-01-01 01:13:03,bin4383,75, +abc,4384,4384,4384,1982-01-02,438.1000000000311,438.11752,2015-01-01 01:13:04,bin4384,35, +abc,4385,4385,4385,1982-01-03,438.20000000003114,438.21753,2015-01-01 01:13:05,bin4385,75, +abc,4386,4386,4386,1982-01-04,438.30000000003116,438.31754,2015-01-01 01:13:06,bin4386,35, +abc,4387,4387,4387,1982-01-05,438.4000000000312,438.41754,2015-01-01 01:13:07,bin4387,75, +abc,4388,4388,4388,1982-01-06,438.5000000000312,438.51755,2015-01-01 01:13:08,bin4388,35, +abc,4389,4389,4389,1982-01-07,438.60000000003123,438.61755,2015-01-01 01:13:09,bin4389,75, +abc,4390,4390,4390,1982-01-08,438.70000000003125,438.71756,2015-01-01 01:13:10,bin4390,35, +abc,4391,4391,4391,1982-01-09,438.8000000000313,438.81757,2015-01-01 01:13:11,bin4391,75, +abc,4392,4392,4392,1982-01-10,438.9000000000313,438.91757,2015-01-01 01:13:12,bin4392,35, +abc,4393,4393,4393,1982-01-11,439.0000000000313,439.01758,2015-01-01 01:13:13,bin4393,75, +abc,4394,4394,4394,1982-01-12,439.10000000003134,439.11758,2015-01-01 01:13:14,bin4394,35, +abc,4395,4395,4395,1982-01-13,439.20000000003137,439.2176,2015-01-01 01:13:15,bin4395,75, +abc,4396,4396,4396,1982-01-14,439.3000000000314,439.3176,2015-01-01 01:13:16,bin4396,35, +abc,4397,4397,4397,1982-01-15,439.4000000000314,439.4176,2015-01-01 01:13:17,bin4397,75, +abc,4398,4398,4398,1982-01-16,439.50000000003143,439.5176,2015-01-01 01:13:18,bin4398,35, +abc,4399,4399,4399,1982-01-17,439.60000000003146,439.6176,2015-01-01 01:13:19,bin4399,75, +abc,4400,4400,4400,1982-01-18,439.7000000000315,439.71762,2015-01-01 01:13:20,bin4400,35, +abc,4401,4401,4401,1982-01-19,439.8000000000315,439.81763,2015-01-01 01:13:21,bin4401,75, +abc,4402,4402,4402,1982-01-20,439.9000000000315,439.91763,2015-01-01 01:13:22,bin4402,35, +abc,4403,4403,4403,1982-01-21,440.00000000003155,440.01764,2015-01-01 01:13:23,bin4403,75, +abc,4404,4404,4404,1982-01-22,440.10000000003157,440.11765,2015-01-01 01:13:24,bin4404,35, +abc,4405,4405,4405,1982-01-23,440.2000000000316,440.21765,2015-01-01 01:13:25,bin4405,75, +abc,4406,4406,4406,1982-01-24,440.3000000000316,440.31766,2015-01-01 01:13:26,bin4406,35, +abc,4407,4407,4407,1982-01-25,440.40000000003164,440.41766,2015-01-01 01:13:27,bin4407,75, +abc,4408,4408,4408,1982-01-26,440.50000000003166,440.51767,2015-01-01 01:13:28,bin4408,35, +abc,4409,4409,4409,1982-01-27,440.6000000000317,440.61768,2015-01-01 01:13:29,bin4409,75, +abc,4410,4410,4410,1982-01-28,440.7000000000317,440.71768,2015-01-01 01:13:30,bin4410,35, +abc,4411,4411,4411,1982-01-29,440.80000000003173,440.8177,2015-01-01 01:13:31,bin4411,75, +abc,4412,4412,4412,1982-01-30,440.90000000003175,440.9177,2015-01-01 01:13:32,bin4412,35, +abc,4413,4413,4413,1982-01-31,441.0000000000318,441.0177,2015-01-01 01:13:33,bin4413,75, +abc,4414,4414,4414,1982-02-01,441.1000000000318,441.1177,2015-01-01 01:13:34,bin4414,35, +abc,4415,4415,4415,1982-02-02,441.2000000000318,441.2177,2015-01-01 01:13:35,bin4415,75, +abc,4416,4416,4416,1982-02-03,441.30000000003184,441.31772,2015-01-01 01:13:36,bin4416,35, +abc,4417,4417,4417,1982-02-04,441.40000000003187,441.41772,2015-01-01 01:13:37,bin4417,75, +abc,4418,4418,4418,1982-02-05,441.5000000000319,441.51773,2015-01-01 01:13:38,bin4418,35, +abc,4419,4419,4419,1982-02-06,441.6000000000319,441.61774,2015-01-01 01:13:39,bin4419,75, +abc,4420,4420,4420,1982-02-07,441.70000000003193,441.71774,2015-01-01 01:13:40,bin4420,35, +abc,4421,4421,4421,1982-02-08,441.80000000003196,441.81775,2015-01-01 01:13:41,bin4421,75, +abc,4422,4422,4422,1982-02-09,441.900000000032,441.91776,2015-01-01 01:13:42,bin4422,35, +abc,4423,4423,4423,1982-02-10,442.000000000032,442.01776,2015-01-01 01:13:43,bin4423,75, +abc,4424,4424,4424,1982-02-11,442.100000000032,442.11777,2015-01-01 01:13:44,bin4424,35, +abc,4425,4425,4425,1982-02-12,442.20000000003205,442.21777,2015-01-01 01:13:45,bin4425,75, +abc,4426,4426,4426,1982-02-13,442.30000000003207,442.31778,2015-01-01 01:13:46,bin4426,35, +abc,4427,4427,4427,1982-02-14,442.4000000000321,442.4178,2015-01-01 01:13:47,bin4427,75, +abc,4428,4428,4428,1982-02-15,442.5000000000321,442.5178,2015-01-01 01:13:48,bin4428,35, +abc,4429,4429,4429,1982-02-16,442.60000000003214,442.6178,2015-01-01 01:13:49,bin4429,75, +abc,4430,4430,4430,1982-02-17,442.70000000003216,442.7178,2015-01-01 01:13:50,bin4430,35, +abc,4431,4431,4431,1982-02-18,442.8000000000322,442.8178,2015-01-01 01:13:51,bin4431,75, +abc,4432,4432,4432,1982-02-19,442.9000000000322,442.91782,2015-01-01 01:13:52,bin4432,35, +abc,4433,4433,4433,1982-02-20,443.00000000003223,443.01782,2015-01-01 01:13:53,bin4433,75, +abc,4434,4434,4434,1982-02-21,443.10000000003225,443.11783,2015-01-01 01:13:54,bin4434,35, +abc,4435,4435,4435,1982-02-22,443.2000000000323,443.21783,2015-01-01 01:13:55,bin4435,75, +abc,4436,4436,4436,1982-02-23,443.3000000000323,443.31784,2015-01-01 01:13:56,bin4436,35, +abc,4437,4437,4437,1982-02-24,443.4000000000323,443.41785,2015-01-01 01:13:57,bin4437,75, +abc,4438,4438,4438,1982-02-25,443.50000000003234,443.51785,2015-01-01 01:13:58,bin4438,35, +abc,4439,4439,4439,1982-02-26,443.60000000003237,443.61786,2015-01-01 01:13:59,bin4439,75, +abc,4440,4440,4440,1982-02-27,443.7000000000324,443.71786,2015-01-01 01:14:00,bin4440,35, +abc,4441,4441,4441,1982-02-28,443.8000000000324,443.81787,2015-01-01 01:14:01,bin4441,75, +abc,4442,4442,4442,1982-03-01,443.90000000003243,443.91788,2015-01-01 01:14:02,bin4442,35, +abc,4443,4443,4443,1982-03-02,444.00000000003246,444.01788,2015-01-01 01:14:03,bin4443,75, +abc,4444,4444,4444,1982-03-03,444.1000000000325,444.1179,2015-01-01 01:14:04,bin4444,35, +abc,4445,4445,4445,1982-03-04,444.2000000000325,444.2179,2015-01-01 01:14:05,bin4445,75, +abc,4446,4446,4446,1982-03-05,444.3000000000325,444.3179,2015-01-01 01:14:06,bin4446,35, +abc,4447,4447,4447,1982-03-06,444.40000000003255,444.4179,2015-01-01 01:14:07,bin4447,75, +abc,4448,4448,4448,1982-03-07,444.50000000003257,444.5179,2015-01-01 01:14:08,bin4448,35, +abc,4449,4449,4449,1982-03-08,444.6000000000326,444.61792,2015-01-01 01:14:09,bin4449,75, +abc,4450,4450,4450,1982-03-09,444.7000000000326,444.71793,2015-01-01 01:14:10,bin4450,35, +abc,4451,4451,4451,1982-03-10,444.80000000003264,444.81793,2015-01-01 01:14:11,bin4451,75, +abc,4452,4452,4452,1982-03-11,444.90000000003266,444.91794,2015-01-01 01:14:12,bin4452,35, +abc,4453,4453,4453,1982-03-12,445.0000000000327,445.01794,2015-01-01 01:14:13,bin4453,75, +abc,4454,4454,4454,1982-03-13,445.1000000000327,445.11795,2015-01-01 01:14:14,bin4454,35, +abc,4455,4455,4455,1982-03-14,445.20000000003273,445.21796,2015-01-01 01:14:15,bin4455,75, +abc,4456,4456,4456,1982-03-15,445.30000000003275,445.31796,2015-01-01 01:14:16,bin4456,35, +abc,4457,4457,4457,1982-03-16,445.4000000000328,445.41797,2015-01-01 01:14:17,bin4457,75, +abc,4458,4458,4458,1982-03-17,445.5000000000328,445.51797,2015-01-01 01:14:18,bin4458,35, +abc,4459,4459,4459,1982-03-18,445.6000000000328,445.61798,2015-01-01 01:14:19,bin4459,75, +abc,4460,4460,4460,1982-03-19,445.70000000003284,445.718,2015-01-01 01:14:20,bin4460,35, +abc,4461,4461,4461,1982-03-20,445.80000000003287,445.818,2015-01-01 01:14:21,bin4461,75, +abc,4462,4462,4462,1982-03-21,445.9000000000329,445.918,2015-01-01 01:14:22,bin4462,35, +abc,4463,4463,4463,1982-03-22,446.0000000000329,446.018,2015-01-01 01:14:23,bin4463,75, +abc,4464,4464,4464,1982-03-23,446.10000000003294,446.118,2015-01-01 01:14:24,bin4464,35, +abc,4465,4465,4465,1982-03-24,446.20000000003296,446.21802,2015-01-01 01:14:25,bin4465,75, +abc,4466,4466,4466,1982-03-25,446.300000000033,446.31802,2015-01-01 01:14:26,bin4466,35, +abc,4467,4467,4467,1982-03-26,446.400000000033,446.41803,2015-01-01 01:14:27,bin4467,75, +abc,4468,4468,4468,1982-03-27,446.500000000033,446.51804,2015-01-01 01:14:28,bin4468,35, +abc,4469,4469,4469,1982-03-28,446.60000000003305,446.61804,2015-01-01 01:14:29,bin4469,75, +abc,4470,4470,4470,1982-03-29,446.70000000003307,446.71805,2015-01-01 01:14:30,bin4470,35, +abc,4471,4471,4471,1982-03-30,446.8000000000331,446.81805,2015-01-01 01:14:31,bin4471,75, +abc,4472,4472,4472,1982-03-31,446.9000000000331,446.91806,2015-01-01 01:14:32,bin4472,35, +abc,4473,4473,4473,1982-04-01,447.00000000003314,447.01807,2015-01-01 01:14:33,bin4473,75, +abc,4474,4474,4474,1982-04-02,447.10000000003316,447.11807,2015-01-01 01:14:34,bin4474,35, +abc,4475,4475,4475,1982-04-03,447.2000000000332,447.21808,2015-01-01 01:14:35,bin4475,75, +abc,4476,4476,4476,1982-04-04,447.3000000000332,447.31808,2015-01-01 01:14:36,bin4476,35, +abc,4477,4477,4477,1982-04-05,447.40000000003323,447.4181,2015-01-01 01:14:37,bin4477,75, +abc,4478,4478,4478,1982-04-06,447.50000000003325,447.5181,2015-01-01 01:14:38,bin4478,35, +abc,4479,4479,4479,1982-04-07,447.6000000000333,447.6181,2015-01-01 01:14:39,bin4479,75, +abc,4480,4480,4480,1982-04-08,447.7000000000333,447.7181,2015-01-01 01:14:40,bin4480,35, +abc,4481,4481,4481,1982-04-09,447.8000000000333,447.8181,2015-01-01 01:14:41,bin4481,75, +abc,4482,4482,4482,1982-04-10,447.90000000003334,447.91812,2015-01-01 01:14:42,bin4482,35, +abc,4483,4483,4483,1982-04-11,448.00000000003337,448.01813,2015-01-01 01:14:43,bin4483,75, +abc,4484,4484,4484,1982-04-12,448.1000000000334,448.11813,2015-01-01 01:14:44,bin4484,35, +abc,4485,4485,4485,1982-04-13,448.2000000000334,448.21814,2015-01-01 01:14:45,bin4485,75, +abc,4486,4486,4486,1982-04-14,448.30000000003344,448.31815,2015-01-01 01:14:46,bin4486,35, +abc,4487,4487,4487,1982-04-15,448.40000000003346,448.41815,2015-01-01 01:14:47,bin4487,75, +abc,4488,4488,4488,1982-04-16,448.5000000000335,448.51816,2015-01-01 01:14:48,bin4488,35, +abc,4489,4489,4489,1982-04-17,448.6000000000335,448.61816,2015-01-01 01:14:49,bin4489,75, +abc,4490,4490,4490,1982-04-18,448.7000000000335,448.71817,2015-01-01 01:14:50,bin4490,35, +abc,4491,4491,4491,1982-04-19,448.80000000003355,448.81818,2015-01-01 01:14:51,bin4491,75, +abc,4492,4492,4492,1982-04-20,448.9000000000336,448.91818,2015-01-01 01:14:52,bin4492,35, +abc,4493,4493,4493,1982-04-21,449.0000000000336,449.0182,2015-01-01 01:14:53,bin4493,75, +abc,4494,4494,4494,1982-04-22,449.1000000000336,449.1182,2015-01-01 01:14:54,bin4494,35, +abc,4495,4495,4495,1982-04-23,449.20000000003364,449.2182,2015-01-01 01:14:55,bin4495,75, +abc,4496,4496,4496,1982-04-24,449.30000000003366,449.3182,2015-01-01 01:14:56,bin4496,35, +abc,4497,4497,4497,1982-04-25,449.4000000000337,449.4182,2015-01-01 01:14:57,bin4497,75, +abc,4498,4498,4498,1982-04-26,449.5000000000337,449.51822,2015-01-01 01:14:58,bin4498,35, +abc,4499,4499,4499,1982-04-27,449.60000000003373,449.61823,2015-01-01 01:14:59,bin4499,75, +abc,4500,4500,4500,1982-04-28,449.70000000003375,449.71823,2015-01-01 01:15:00,bin4500,35, +abc,4501,4501,4501,1982-04-29,449.8000000000338,449.81824,2015-01-01 01:15:01,bin4501,75, +abc,4502,4502,4502,1982-04-30,449.9000000000338,449.91824,2015-01-01 01:15:02,bin4502,35, +abc,4503,4503,4503,1982-05-01,450.0000000000338,450.01825,2015-01-01 01:15:03,bin4503,75, +abc,4504,4504,4504,1982-05-02,450.10000000003384,450.11826,2015-01-01 01:15:04,bin4504,35, +abc,4505,4505,4505,1982-05-03,450.20000000003387,450.21826,2015-01-01 01:15:05,bin4505,75, +abc,4506,4506,4506,1982-05-04,450.3000000000339,450.31827,2015-01-01 01:15:06,bin4506,35, +abc,4507,4507,4507,1982-05-05,450.4000000000339,450.41827,2015-01-01 01:15:07,bin4507,75, +abc,4508,4508,4508,1982-05-06,450.50000000003394,450.51828,2015-01-01 01:15:08,bin4508,35, +abc,4509,4509,4509,1982-05-07,450.60000000003396,450.6183,2015-01-01 01:15:09,bin4509,75, +abc,4510,4510,4510,1982-05-08,450.700000000034,450.7183,2015-01-01 01:15:10,bin4510,35, +abc,4511,4511,4511,1982-05-09,450.800000000034,450.8183,2015-01-01 01:15:11,bin4511,75, +abc,4512,4512,4512,1982-05-10,450.900000000034,450.9183,2015-01-01 01:15:12,bin4512,35, +abc,4513,4513,4513,1982-05-11,451.00000000003405,451.0183,2015-01-01 01:15:13,bin4513,75, +abc,4514,4514,4514,1982-05-12,451.1000000000341,451.11832,2015-01-01 01:15:14,bin4514,35, +abc,4515,4515,4515,1982-05-13,451.2000000000341,451.21832,2015-01-01 01:15:15,bin4515,75, +abc,4516,4516,4516,1982-05-14,451.3000000000341,451.31833,2015-01-01 01:15:16,bin4516,35, +abc,4517,4517,4517,1982-05-15,451.40000000003414,451.41833,2015-01-01 01:15:17,bin4517,75, +abc,4518,4518,4518,1982-05-16,451.50000000003416,451.51834,2015-01-01 01:15:18,bin4518,35, +abc,4519,4519,4519,1982-05-17,451.6000000000342,451.61835,2015-01-01 01:15:19,bin4519,75, +abc,4520,4520,4520,1982-05-18,451.7000000000342,451.71835,2015-01-01 01:15:20,bin4520,35, +abc,4521,4521,4521,1982-05-19,451.80000000003423,451.81836,2015-01-01 01:15:21,bin4521,75, +abc,4522,4522,4522,1982-05-20,451.90000000003425,451.91837,2015-01-01 01:15:22,bin4522,35, +abc,4523,4523,4523,1982-05-21,452.0000000000343,452.01837,2015-01-01 01:15:23,bin4523,75, +abc,4524,4524,4524,1982-05-22,452.1000000000343,452.11838,2015-01-01 01:15:24,bin4524,35, +abc,4525,4525,4525,1982-05-23,452.2000000000343,452.21838,2015-01-01 01:15:25,bin4525,75, +abc,4526,4526,4526,1982-05-24,452.30000000003434,452.3184,2015-01-01 01:15:26,bin4526,35, +abc,4527,4527,4527,1982-05-25,452.40000000003437,452.4184,2015-01-01 01:15:27,bin4527,75, +abc,4528,4528,4528,1982-05-26,452.5000000000344,452.5184,2015-01-01 01:15:28,bin4528,35, +abc,4529,4529,4529,1982-05-27,452.6000000000344,452.6184,2015-01-01 01:15:29,bin4529,75, +abc,4530,4530,4530,1982-05-28,452.70000000003444,452.7184,2015-01-01 01:15:30,bin4530,35, +abc,4531,4531,4531,1982-05-29,452.80000000003446,452.81842,2015-01-01 01:15:31,bin4531,75, +abc,4532,4532,4532,1982-05-30,452.9000000000345,452.91843,2015-01-01 01:15:32,bin4532,35, +abc,4533,4533,4533,1982-05-31,453.0000000000345,453.01843,2015-01-01 01:15:33,bin4533,75, +abc,4534,4534,4534,1982-06-01,453.1000000000345,453.11844,2015-01-01 01:15:34,bin4534,35, +abc,4535,4535,4535,1982-06-02,453.20000000003455,453.21844,2015-01-01 01:15:35,bin4535,75, +abc,4536,4536,4536,1982-06-03,453.3000000000346,453.31845,2015-01-01 01:15:36,bin4536,35, +abc,4537,4537,4537,1982-06-04,453.4000000000346,453.41846,2015-01-01 01:15:37,bin4537,75, +abc,4538,4538,4538,1982-06-05,453.5000000000346,453.51846,2015-01-01 01:15:38,bin4538,35, +abc,4539,4539,4539,1982-06-06,453.60000000003464,453.61847,2015-01-01 01:15:39,bin4539,75, +abc,4540,4540,4540,1982-06-07,453.70000000003466,453.71848,2015-01-01 01:15:40,bin4540,35, +abc,4541,4541,4541,1982-06-08,453.8000000000347,453.81848,2015-01-01 01:15:41,bin4541,75, +abc,4542,4542,4542,1982-06-09,453.9000000000347,453.9185,2015-01-01 01:15:42,bin4542,35, +abc,4543,4543,4543,1982-06-10,454.00000000003473,454.0185,2015-01-01 01:15:43,bin4543,75, +abc,4544,4544,4544,1982-06-11,454.10000000003475,454.1185,2015-01-01 01:15:44,bin4544,35, +abc,4545,4545,4545,1982-06-12,454.2000000000348,454.2185,2015-01-01 01:15:45,bin4545,75, +abc,4546,4546,4546,1982-06-13,454.3000000000348,454.3185,2015-01-01 01:15:46,bin4546,35, +abc,4547,4547,4547,1982-06-14,454.4000000000348,454.41852,2015-01-01 01:15:47,bin4547,75, +abc,4548,4548,4548,1982-06-15,454.50000000003485,454.51852,2015-01-01 01:15:48,bin4548,35, +abc,4549,4549,4549,1982-06-16,454.60000000003487,454.61853,2015-01-01 01:15:49,bin4549,75, +abc,4550,4550,4550,1982-06-17,454.7000000000349,454.71854,2015-01-01 01:15:50,bin4550,35, +abc,4551,4551,4551,1982-06-18,454.8000000000349,454.81854,2015-01-01 01:15:51,bin4551,75, +abc,4552,4552,4552,1982-06-19,454.90000000003494,454.91855,2015-01-01 01:15:52,bin4552,35, +abc,4553,4553,4553,1982-06-20,455.00000000003496,455.01855,2015-01-01 01:15:53,bin4553,75, +abc,4554,4554,4554,1982-06-21,455.100000000035,455.11856,2015-01-01 01:15:54,bin4554,35, +abc,4555,4555,4555,1982-06-22,455.200000000035,455.21857,2015-01-01 01:15:55,bin4555,75, +abc,4556,4556,4556,1982-06-23,455.300000000035,455.31857,2015-01-01 01:15:56,bin4556,35, +abc,4557,4557,4557,1982-06-24,455.40000000003505,455.41858,2015-01-01 01:15:57,bin4557,75, +abc,4558,4558,4558,1982-06-25,455.5000000000351,455.5186,2015-01-01 01:15:58,bin4558,35, +abc,4559,4559,4559,1982-06-26,455.6000000000351,455.6186,2015-01-01 01:15:59,bin4559,75, +abc,4560,4560,4560,1982-06-27,455.7000000000351,455.7186,2015-01-01 01:16:00,bin4560,35, +abc,4561,4561,4561,1982-06-28,455.80000000003514,455.8186,2015-01-01 01:16:01,bin4561,75, +abc,4562,4562,4562,1982-06-29,455.90000000003516,455.9186,2015-01-01 01:16:02,bin4562,35, +abc,4563,4563,4563,1982-06-30,456.0000000000352,456.01862,2015-01-01 01:16:03,bin4563,75, +abc,4564,4564,4564,1982-07-01,456.1000000000352,456.11862,2015-01-01 01:16:04,bin4564,35, +abc,4565,4565,4565,1982-07-02,456.20000000003523,456.21863,2015-01-01 01:16:05,bin4565,75, +abc,4566,4566,4566,1982-07-03,456.30000000003525,456.31863,2015-01-01 01:16:06,bin4566,35, +abc,4567,4567,4567,1982-07-04,456.4000000000353,456.41864,2015-01-01 01:16:07,bin4567,75, +abc,4568,4568,4568,1982-07-05,456.5000000000353,456.51865,2015-01-01 01:16:08,bin4568,35, +abc,4569,4569,4569,1982-07-06,456.6000000000353,456.61865,2015-01-01 01:16:09,bin4569,75, +abc,4570,4570,4570,1982-07-07,456.70000000003535,456.71866,2015-01-01 01:16:10,bin4570,35, +abc,4571,4571,4571,1982-07-08,456.80000000003537,456.81866,2015-01-01 01:16:11,bin4571,75, +abc,4572,4572,4572,1982-07-09,456.9000000000354,456.91867,2015-01-01 01:16:12,bin4572,35, +abc,4573,4573,4573,1982-07-10,457.0000000000354,457.01868,2015-01-01 01:16:13,bin4573,75, +abc,4574,4574,4574,1982-07-11,457.10000000003544,457.11868,2015-01-01 01:16:14,bin4574,35, +abc,4575,4575,4575,1982-07-12,457.20000000003546,457.2187,2015-01-01 01:16:15,bin4575,75, +abc,4576,4576,4576,1982-07-13,457.3000000000355,457.3187,2015-01-01 01:16:16,bin4576,35, +abc,4577,4577,4577,1982-07-14,457.4000000000355,457.4187,2015-01-01 01:16:17,bin4577,75, +abc,4578,4578,4578,1982-07-15,457.5000000000355,457.5187,2015-01-01 01:16:18,bin4578,35, +abc,4579,4579,4579,1982-07-16,457.60000000003555,457.6187,2015-01-01 01:16:19,bin4579,75, +abc,4580,4580,4580,1982-07-17,457.7000000000356,457.71872,2015-01-01 01:16:20,bin4580,35, +abc,4581,4581,4581,1982-07-18,457.8000000000356,457.81873,2015-01-01 01:16:21,bin4581,75, +abc,4582,4582,4582,1982-07-19,457.9000000000356,457.91873,2015-01-01 01:16:22,bin4582,35, +abc,4583,4583,4583,1982-07-20,458.00000000003564,458.01874,2015-01-01 01:16:23,bin4583,75, +abc,4584,4584,4584,1982-07-21,458.10000000003566,458.11874,2015-01-01 01:16:24,bin4584,35, +abc,4585,4585,4585,1982-07-22,458.2000000000357,458.21875,2015-01-01 01:16:25,bin4585,75, +abc,4586,4586,4586,1982-07-23,458.3000000000357,458.31876,2015-01-01 01:16:26,bin4586,35, +abc,4587,4587,4587,1982-07-24,458.40000000003573,458.41876,2015-01-01 01:16:27,bin4587,75, +abc,4588,4588,4588,1982-07-25,458.50000000003575,458.51877,2015-01-01 01:16:28,bin4588,35, +abc,4589,4589,4589,1982-07-26,458.6000000000358,458.61877,2015-01-01 01:16:29,bin4589,75, +abc,4590,4590,4590,1982-07-27,458.7000000000358,458.71878,2015-01-01 01:16:30,bin4590,35, +abc,4591,4591,4591,1982-07-28,458.8000000000358,458.8188,2015-01-01 01:16:31,bin4591,75, +abc,4592,4592,4592,1982-07-29,458.90000000003585,458.9188,2015-01-01 01:16:32,bin4592,35, +abc,4593,4593,4593,1982-07-30,459.00000000003587,459.0188,2015-01-01 01:16:33,bin4593,75, +abc,4594,4594,4594,1982-07-31,459.1000000000359,459.1188,2015-01-01 01:16:34,bin4594,35, +abc,4595,4595,4595,1982-08-01,459.2000000000359,459.2188,2015-01-01 01:16:35,bin4595,75, +abc,4596,4596,4596,1982-08-02,459.30000000003594,459.31882,2015-01-01 01:16:36,bin4596,35, +abc,4597,4597,4597,1982-08-03,459.40000000003596,459.41882,2015-01-01 01:16:37,bin4597,75, +abc,4598,4598,4598,1982-08-04,459.500000000036,459.51883,2015-01-01 01:16:38,bin4598,35, +abc,4599,4599,4599,1982-08-05,459.600000000036,459.61884,2015-01-01 01:16:39,bin4599,75, +abc,4600,4600,4600,1982-08-06,459.700000000036,459.71884,2015-01-01 01:16:40,bin4600,35, +abc,4601,4601,4601,1982-08-07,459.80000000003605,459.81885,2015-01-01 01:16:41,bin4601,75, +abc,4602,4602,4602,1982-08-08,459.9000000000361,459.91885,2015-01-01 01:16:42,bin4602,35, +abc,4603,4603,4603,1982-08-09,460.0000000000361,460.01886,2015-01-01 01:16:43,bin4603,75, +abc,4604,4604,4604,1982-08-10,460.1000000000361,460.11887,2015-01-01 01:16:44,bin4604,35, +abc,4605,4605,4605,1982-08-11,460.20000000003614,460.21887,2015-01-01 01:16:45,bin4605,75, +abc,4606,4606,4606,1982-08-12,460.30000000003616,460.31888,2015-01-01 01:16:46,bin4606,35, +abc,4607,4607,4607,1982-08-13,460.4000000000362,460.41888,2015-01-01 01:16:47,bin4607,75, +abc,4608,4608,4608,1982-08-14,460.5000000000362,460.5189,2015-01-01 01:16:48,bin4608,35, +abc,4609,4609,4609,1982-08-15,460.60000000003623,460.6189,2015-01-01 01:16:49,bin4609,75, +abc,4610,4610,4610,1982-08-16,460.70000000003625,460.7189,2015-01-01 01:16:50,bin4610,35, +abc,4611,4611,4611,1982-08-17,460.8000000000363,460.8189,2015-01-01 01:16:51,bin4611,75, +abc,4612,4612,4612,1982-08-18,460.9000000000363,460.9189,2015-01-01 01:16:52,bin4612,35, +abc,4613,4613,4613,1982-08-19,461.0000000000363,461.01892,2015-01-01 01:16:53,bin4613,75, +abc,4614,4614,4614,1982-08-20,461.10000000003635,461.11893,2015-01-01 01:16:54,bin4614,35, +abc,4615,4615,4615,1982-08-21,461.20000000003637,461.21893,2015-01-01 01:16:55,bin4615,75, +abc,4616,4616,4616,1982-08-22,461.3000000000364,461.31894,2015-01-01 01:16:56,bin4616,35, +abc,4617,4617,4617,1982-08-23,461.4000000000364,461.41895,2015-01-01 01:16:57,bin4617,75, +abc,4618,4618,4618,1982-08-24,461.50000000003644,461.51895,2015-01-01 01:16:58,bin4618,35, +abc,4619,4619,4619,1982-08-25,461.60000000003646,461.61896,2015-01-01 01:16:59,bin4619,75, +abc,4620,4620,4620,1982-08-26,461.7000000000365,461.71896,2015-01-01 01:17:00,bin4620,35, +abc,4621,4621,4621,1982-08-27,461.8000000000365,461.81897,2015-01-01 01:17:01,bin4621,75, +abc,4622,4622,4622,1982-08-28,461.9000000000365,461.91898,2015-01-01 01:17:02,bin4622,35, +abc,4623,4623,4623,1982-08-29,462.00000000003655,462.01898,2015-01-01 01:17:03,bin4623,75, +abc,4624,4624,4624,1982-08-30,462.1000000000366,462.119,2015-01-01 01:17:04,bin4624,35, +abc,4625,4625,4625,1982-08-31,462.2000000000366,462.219,2015-01-01 01:17:05,bin4625,75, +abc,4626,4626,4626,1982-09-01,462.3000000000366,462.319,2015-01-01 01:17:06,bin4626,35, +abc,4627,4627,4627,1982-09-02,462.40000000003664,462.419,2015-01-01 01:17:07,bin4627,75, +abc,4628,4628,4628,1982-09-03,462.50000000003666,462.519,2015-01-01 01:17:08,bin4628,35, +abc,4629,4629,4629,1982-09-04,462.6000000000367,462.61902,2015-01-01 01:17:09,bin4629,75, +abc,4630,4630,4630,1982-09-05,462.7000000000367,462.71902,2015-01-01 01:17:10,bin4630,35, +abc,4631,4631,4631,1982-09-06,462.80000000003673,462.81903,2015-01-01 01:17:11,bin4631,75, +abc,4632,4632,4632,1982-09-07,462.90000000003675,462.91904,2015-01-01 01:17:12,bin4632,35, +abc,4633,4633,4633,1982-09-08,463.0000000000368,463.01904,2015-01-01 01:17:13,bin4633,75, +abc,4634,4634,4634,1982-09-09,463.1000000000368,463.11905,2015-01-01 01:17:14,bin4634,35, +abc,4635,4635,4635,1982-09-10,463.2000000000368,463.21906,2015-01-01 01:17:15,bin4635,75, +abc,4636,4636,4636,1982-09-11,463.30000000003685,463.31906,2015-01-01 01:17:16,bin4636,35, +abc,4637,4637,4637,1982-09-12,463.40000000003687,463.41907,2015-01-01 01:17:17,bin4637,75, +abc,4638,4638,4638,1982-09-13,463.5000000000369,463.51907,2015-01-01 01:17:18,bin4638,35, +abc,4639,4639,4639,1982-09-14,463.6000000000369,463.61908,2015-01-01 01:17:19,bin4639,75, +abc,4640,4640,4640,1982-09-15,463.70000000003694,463.7191,2015-01-01 01:17:20,bin4640,35, +abc,4641,4641,4641,1982-09-16,463.80000000003696,463.8191,2015-01-01 01:17:21,bin4641,75, +abc,4642,4642,4642,1982-09-17,463.900000000037,463.9191,2015-01-01 01:17:22,bin4642,35, +abc,4643,4643,4643,1982-09-18,464.000000000037,464.0191,2015-01-01 01:17:23,bin4643,75, +abc,4644,4644,4644,1982-09-19,464.100000000037,464.1191,2015-01-01 01:17:24,bin4644,35, +abc,4645,4645,4645,1982-09-20,464.20000000003705,464.21912,2015-01-01 01:17:25,bin4645,75, +abc,4646,4646,4646,1982-09-21,464.3000000000371,464.31912,2015-01-01 01:17:26,bin4646,35, +abc,4647,4647,4647,1982-09-22,464.4000000000371,464.41913,2015-01-01 01:17:27,bin4647,75, +abc,4648,4648,4648,1982-09-23,464.5000000000371,464.51913,2015-01-01 01:17:28,bin4648,35, +abc,4649,4649,4649,1982-09-24,464.60000000003714,464.61914,2015-01-01 01:17:29,bin4649,75, +abc,4650,4650,4650,1982-09-25,464.70000000003716,464.71915,2015-01-01 01:17:30,bin4650,35, +abc,4651,4651,4651,1982-09-26,464.8000000000372,464.81915,2015-01-01 01:17:31,bin4651,75, +abc,4652,4652,4652,1982-09-27,464.9000000000372,464.91916,2015-01-01 01:17:32,bin4652,35, +abc,4653,4653,4653,1982-09-28,465.00000000003723,465.01917,2015-01-01 01:17:33,bin4653,75, +abc,4654,4654,4654,1982-09-29,465.10000000003726,465.11917,2015-01-01 01:17:34,bin4654,35, +abc,4655,4655,4655,1982-09-30,465.2000000000373,465.21918,2015-01-01 01:17:35,bin4655,75, +abc,4656,4656,4656,1982-10-01,465.3000000000373,465.31918,2015-01-01 01:17:36,bin4656,35, +abc,4657,4657,4657,1982-10-02,465.4000000000373,465.4192,2015-01-01 01:17:37,bin4657,75, +abc,4658,4658,4658,1982-10-03,465.50000000003735,465.5192,2015-01-01 01:17:38,bin4658,35, +abc,4659,4659,4659,1982-10-04,465.60000000003737,465.6192,2015-01-01 01:17:39,bin4659,75, +abc,4660,4660,4660,1982-10-05,465.7000000000374,465.7192,2015-01-01 01:17:40,bin4660,35, +abc,4661,4661,4661,1982-10-06,465.8000000000374,465.8192,2015-01-01 01:17:41,bin4661,75, +abc,4662,4662,4662,1982-10-07,465.90000000003744,465.91922,2015-01-01 01:17:42,bin4662,35, +abc,4663,4663,4663,1982-10-08,466.00000000003746,466.01923,2015-01-01 01:17:43,bin4663,75, +abc,4664,4664,4664,1982-10-09,466.1000000000375,466.11923,2015-01-01 01:17:44,bin4664,35, +abc,4665,4665,4665,1982-10-10,466.2000000000375,466.21924,2015-01-01 01:17:45,bin4665,75, +abc,4666,4666,4666,1982-10-11,466.3000000000375,466.31924,2015-01-01 01:17:46,bin4666,35, +abc,4667,4667,4667,1982-10-12,466.40000000003755,466.41925,2015-01-01 01:17:47,bin4667,75, +abc,4668,4668,4668,1982-10-13,466.5000000000376,466.51926,2015-01-01 01:17:48,bin4668,35, +abc,4669,4669,4669,1982-10-14,466.6000000000376,466.61926,2015-01-01 01:17:49,bin4669,75, +abc,4670,4670,4670,1982-10-15,466.7000000000376,466.71927,2015-01-01 01:17:50,bin4670,35, +abc,4671,4671,4671,1982-10-16,466.80000000003764,466.81927,2015-01-01 01:17:51,bin4671,75, +abc,4672,4672,4672,1982-10-17,466.90000000003766,466.91928,2015-01-01 01:17:52,bin4672,35, +abc,4673,4673,4673,1982-10-18,467.0000000000377,467.0193,2015-01-01 01:17:53,bin4673,75, +abc,4674,4674,4674,1982-10-19,467.1000000000377,467.1193,2015-01-01 01:17:54,bin4674,35, +abc,4675,4675,4675,1982-10-20,467.20000000003773,467.2193,2015-01-01 01:17:55,bin4675,75, +abc,4676,4676,4676,1982-10-21,467.30000000003776,467.3193,2015-01-01 01:17:56,bin4676,35, +abc,4677,4677,4677,1982-10-22,467.4000000000378,467.4193,2015-01-01 01:17:57,bin4677,75, +abc,4678,4678,4678,1982-10-23,467.5000000000378,467.51932,2015-01-01 01:17:58,bin4678,35, +abc,4679,4679,4679,1982-10-24,467.6000000000378,467.61932,2015-01-01 01:17:59,bin4679,75, +abc,4680,4680,4680,1982-10-25,467.70000000003785,467.71933,2015-01-01 01:18:00,bin4680,35, +abc,4681,4681,4681,1982-10-26,467.80000000003787,467.81934,2015-01-01 01:18:01,bin4681,75, +abc,4682,4682,4682,1982-10-27,467.9000000000379,467.91934,2015-01-01 01:18:02,bin4682,35, +abc,4683,4683,4683,1982-10-28,468.0000000000379,468.01935,2015-01-01 01:18:03,bin4683,75, +abc,4684,4684,4684,1982-10-29,468.10000000003794,468.11935,2015-01-01 01:18:04,bin4684,35, +abc,4685,4685,4685,1982-10-30,468.20000000003796,468.21936,2015-01-01 01:18:05,bin4685,75, +abc,4686,4686,4686,1982-10-31,468.300000000038,468.31937,2015-01-01 01:18:06,bin4686,35, +abc,4687,4687,4687,1982-11-01,468.400000000038,468.41937,2015-01-01 01:18:07,bin4687,75, +abc,4688,4688,4688,1982-11-02,468.500000000038,468.51938,2015-01-01 01:18:08,bin4688,35, +abc,4689,4689,4689,1982-11-03,468.60000000003805,468.6194,2015-01-01 01:18:09,bin4689,75, +abc,4690,4690,4690,1982-11-04,468.7000000000381,468.7194,2015-01-01 01:18:10,bin4690,35, +abc,4691,4691,4691,1982-11-05,468.8000000000381,468.8194,2015-01-01 01:18:11,bin4691,75, +abc,4692,4692,4692,1982-11-06,468.9000000000381,468.9194,2015-01-01 01:18:12,bin4692,35, +abc,4693,4693,4693,1982-11-07,469.00000000003814,469.0194,2015-01-01 01:18:13,bin4693,75, +abc,4694,4694,4694,1982-11-08,469.10000000003816,469.11942,2015-01-01 01:18:14,bin4694,35, +abc,4695,4695,4695,1982-11-09,469.2000000000382,469.21942,2015-01-01 01:18:15,bin4695,75, +abc,4696,4696,4696,1982-11-10,469.3000000000382,469.31943,2015-01-01 01:18:16,bin4696,35, +abc,4697,4697,4697,1982-11-11,469.40000000003823,469.41943,2015-01-01 01:18:17,bin4697,75, +abc,4698,4698,4698,1982-11-12,469.50000000003826,469.51944,2015-01-01 01:18:18,bin4698,35, +abc,4699,4699,4699,1982-11-13,469.6000000000383,469.61945,2015-01-01 01:18:19,bin4699,75, +abc,4700,4700,4700,1982-11-14,469.7000000000383,469.71945,2015-01-01 01:18:20,bin4700,35, +abc,4701,4701,4701,1982-11-15,469.8000000000383,469.81946,2015-01-01 01:18:21,bin4701,75, +abc,4702,4702,4702,1982-11-16,469.90000000003835,469.91946,2015-01-01 01:18:22,bin4702,35, +abc,4703,4703,4703,1982-11-17,470.00000000003837,470.01947,2015-01-01 01:18:23,bin4703,75, +abc,4704,4704,4704,1982-11-18,470.1000000000384,470.11948,2015-01-01 01:18:24,bin4704,35, +abc,4705,4705,4705,1982-11-19,470.2000000000384,470.21948,2015-01-01 01:18:25,bin4705,75, +abc,4706,4706,4706,1982-11-20,470.30000000003844,470.3195,2015-01-01 01:18:26,bin4706,35, +abc,4707,4707,4707,1982-11-21,470.40000000003846,470.4195,2015-01-01 01:18:27,bin4707,75, +abc,4708,4708,4708,1982-11-22,470.5000000000385,470.5195,2015-01-01 01:18:28,bin4708,35, +abc,4709,4709,4709,1982-11-23,470.6000000000385,470.6195,2015-01-01 01:18:29,bin4709,75, +abc,4710,4710,4710,1982-11-24,470.70000000003853,470.7195,2015-01-01 01:18:30,bin4710,35, +abc,4711,4711,4711,1982-11-25,470.80000000003855,470.81952,2015-01-01 01:18:31,bin4711,75, +abc,4712,4712,4712,1982-11-26,470.9000000000386,470.91953,2015-01-01 01:18:32,bin4712,35, +abc,4713,4713,4713,1982-11-27,471.0000000000386,471.01953,2015-01-01 01:18:33,bin4713,75, +abc,4714,4714,4714,1982-11-28,471.1000000000386,471.11954,2015-01-01 01:18:34,bin4714,35, +abc,4715,4715,4715,1982-11-29,471.20000000003864,471.21954,2015-01-01 01:18:35,bin4715,75, +abc,4716,4716,4716,1982-11-30,471.30000000003866,471.31955,2015-01-01 01:18:36,bin4716,35, +abc,4717,4717,4717,1982-12-01,471.4000000000387,471.41956,2015-01-01 01:18:37,bin4717,75, +abc,4718,4718,4718,1982-12-02,471.5000000000387,471.51956,2015-01-01 01:18:38,bin4718,35, +abc,4719,4719,4719,1982-12-03,471.60000000003873,471.61957,2015-01-01 01:18:39,bin4719,75, +abc,4720,4720,4720,1982-12-04,471.70000000003876,471.71957,2015-01-01 01:18:40,bin4720,35, +abc,4721,4721,4721,1982-12-05,471.8000000000388,471.81958,2015-01-01 01:18:41,bin4721,75, +abc,4722,4722,4722,1982-12-06,471.9000000000388,471.9196,2015-01-01 01:18:42,bin4722,35, +abc,4723,4723,4723,1982-12-07,472.0000000000388,472.0196,2015-01-01 01:18:43,bin4723,75, +abc,4724,4724,4724,1982-12-08,472.10000000003885,472.1196,2015-01-01 01:18:44,bin4724,35, +abc,4725,4725,4725,1982-12-09,472.20000000003887,472.2196,2015-01-01 01:18:45,bin4725,75, +abc,4726,4726,4726,1982-12-10,472.3000000000389,472.3196,2015-01-01 01:18:46,bin4726,35, +abc,4727,4727,4727,1982-12-11,472.4000000000389,472.41962,2015-01-01 01:18:47,bin4727,75, +abc,4728,4728,4728,1982-12-12,472.50000000003894,472.51962,2015-01-01 01:18:48,bin4728,35, +abc,4729,4729,4729,1982-12-13,472.60000000003896,472.61963,2015-01-01 01:18:49,bin4729,75, +abc,4730,4730,4730,1982-12-14,472.700000000039,472.71964,2015-01-01 01:18:50,bin4730,35, +abc,4731,4731,4731,1982-12-15,472.800000000039,472.81964,2015-01-01 01:18:51,bin4731,75, +abc,4732,4732,4732,1982-12-16,472.90000000003903,472.91965,2015-01-01 01:18:52,bin4732,35, +abc,4733,4733,4733,1982-12-17,473.00000000003905,473.01965,2015-01-01 01:18:53,bin4733,75, +abc,4734,4734,4734,1982-12-18,473.1000000000391,473.11966,2015-01-01 01:18:54,bin4734,35, +abc,4735,4735,4735,1982-12-19,473.2000000000391,473.21967,2015-01-01 01:18:55,bin4735,75, +abc,4736,4736,4736,1982-12-20,473.3000000000391,473.31967,2015-01-01 01:18:56,bin4736,35, +abc,4737,4737,4737,1982-12-21,473.40000000003914,473.41968,2015-01-01 01:18:57,bin4737,75, +abc,4738,4738,4738,1982-12-22,473.50000000003917,473.51968,2015-01-01 01:18:58,bin4738,35, +abc,4739,4739,4739,1982-12-23,473.6000000000392,473.6197,2015-01-01 01:18:59,bin4739,75, +abc,4740,4740,4740,1982-12-24,473.7000000000392,473.7197,2015-01-01 01:19:00,bin4740,35, +abc,4741,4741,4741,1982-12-25,473.80000000003923,473.8197,2015-01-01 01:19:01,bin4741,75, +abc,4742,4742,4742,1982-12-26,473.90000000003926,473.9197,2015-01-01 01:19:02,bin4742,35, +abc,4743,4743,4743,1982-12-27,474.0000000000393,474.0197,2015-01-01 01:19:03,bin4743,75, +abc,4744,4744,4744,1982-12-28,474.1000000000393,474.11972,2015-01-01 01:19:04,bin4744,35, +abc,4745,4745,4745,1982-12-29,474.2000000000393,474.21973,2015-01-01 01:19:05,bin4745,75, +abc,4746,4746,4746,1982-12-30,474.30000000003935,474.31973,2015-01-01 01:19:06,bin4746,35, +abc,4747,4747,4747,1982-12-31,474.40000000003937,474.41974,2015-01-01 01:19:07,bin4747,75, +abc,4748,4748,4748,1983-01-01,474.5000000000394,474.51974,2015-01-01 01:19:08,bin4748,35, +abc,4749,4749,4749,1983-01-02,474.6000000000394,474.61975,2015-01-01 01:19:09,bin4749,75, +abc,4750,4750,4750,1983-01-03,474.70000000003944,474.71976,2015-01-01 01:19:10,bin4750,35, +abc,4751,4751,4751,1983-01-04,474.80000000003946,474.81976,2015-01-01 01:19:11,bin4751,75, +abc,4752,4752,4752,1983-01-05,474.9000000000395,474.91977,2015-01-01 01:19:12,bin4752,35, +abc,4753,4753,4753,1983-01-06,475.0000000000395,475.01978,2015-01-01 01:19:13,bin4753,75, +abc,4754,4754,4754,1983-01-07,475.10000000003953,475.11978,2015-01-01 01:19:14,bin4754,35, +abc,4755,4755,4755,1983-01-08,475.20000000003955,475.2198,2015-01-01 01:19:15,bin4755,75, +abc,4756,4756,4756,1983-01-09,475.3000000000396,475.3198,2015-01-01 01:19:16,bin4756,35, +abc,4757,4757,4757,1983-01-10,475.4000000000396,475.4198,2015-01-01 01:19:17,bin4757,75, +abc,4758,4758,4758,1983-01-11,475.5000000000396,475.5198,2015-01-01 01:19:18,bin4758,35, +abc,4759,4759,4759,1983-01-12,475.60000000003964,475.6198,2015-01-01 01:19:19,bin4759,75, +abc,4760,4760,4760,1983-01-13,475.70000000003967,475.71982,2015-01-01 01:19:20,bin4760,35, +abc,4761,4761,4761,1983-01-14,475.8000000000397,475.81982,2015-01-01 01:19:21,bin4761,75, +abc,4762,4762,4762,1983-01-15,475.9000000000397,475.91983,2015-01-01 01:19:22,bin4762,35, +abc,4763,4763,4763,1983-01-16,476.00000000003973,476.01984,2015-01-01 01:19:23,bin4763,75, +abc,4764,4764,4764,1983-01-17,476.10000000003976,476.11984,2015-01-01 01:19:24,bin4764,35, +abc,4765,4765,4765,1983-01-18,476.2000000000398,476.21985,2015-01-01 01:19:25,bin4765,75, +abc,4766,4766,4766,1983-01-19,476.3000000000398,476.31985,2015-01-01 01:19:26,bin4766,35, +abc,4767,4767,4767,1983-01-20,476.4000000000398,476.41986,2015-01-01 01:19:27,bin4767,75, +abc,4768,4768,4768,1983-01-21,476.50000000003985,476.51987,2015-01-01 01:19:28,bin4768,35, +abc,4769,4769,4769,1983-01-22,476.60000000003987,476.61987,2015-01-01 01:19:29,bin4769,75, +abc,4770,4770,4770,1983-01-23,476.7000000000399,476.71988,2015-01-01 01:19:30,bin4770,35, +abc,4771,4771,4771,1983-01-24,476.8000000000399,476.8199,2015-01-01 01:19:31,bin4771,75, +abc,4772,4772,4772,1983-01-25,476.90000000003994,476.9199,2015-01-01 01:19:32,bin4772,35, +abc,4773,4773,4773,1983-01-26,477.00000000003996,477.0199,2015-01-01 01:19:33,bin4773,75, +abc,4774,4774,4774,1983-01-27,477.10000000004,477.1199,2015-01-01 01:19:34,bin4774,35, +abc,4775,4775,4775,1983-01-28,477.20000000004,477.2199,2015-01-01 01:19:35,bin4775,75, +abc,4776,4776,4776,1983-01-29,477.30000000004003,477.31992,2015-01-01 01:19:36,bin4776,35, +abc,4777,4777,4777,1983-01-30,477.40000000004005,477.41992,2015-01-01 01:19:37,bin4777,75, +abc,4778,4778,4778,1983-01-31,477.5000000000401,477.51993,2015-01-01 01:19:38,bin4778,35, +abc,4779,4779,4779,1983-02-01,477.6000000000401,477.61993,2015-01-01 01:19:39,bin4779,75, +abc,4780,4780,4780,1983-02-02,477.7000000000401,477.71994,2015-01-01 01:19:40,bin4780,35, +abc,4781,4781,4781,1983-02-03,477.80000000004014,477.81995,2015-01-01 01:19:41,bin4781,75, +abc,4782,4782,4782,1983-02-04,477.90000000004017,477.91995,2015-01-01 01:19:42,bin4782,35, +abc,4783,4783,4783,1983-02-05,478.0000000000402,478.01996,2015-01-01 01:19:43,bin4783,75, +abc,4784,4784,4784,1983-02-06,478.1000000000402,478.11996,2015-01-01 01:19:44,bin4784,35, +abc,4785,4785,4785,1983-02-07,478.20000000004023,478.21997,2015-01-01 01:19:45,bin4785,75, +abc,4786,4786,4786,1983-02-08,478.30000000004026,478.31998,2015-01-01 01:19:46,bin4786,35, +abc,4787,4787,4787,1983-02-09,478.4000000000403,478.41998,2015-01-01 01:19:47,bin4787,75, +abc,4788,4788,4788,1983-02-10,478.5000000000403,478.52,2015-01-01 01:19:48,bin4788,35, +abc,4789,4789,4789,1983-02-11,478.6000000000403,478.62,2015-01-01 01:19:49,bin4789,75, +abc,4790,4790,4790,1983-02-12,478.70000000004035,478.72,2015-01-01 01:19:50,bin4790,35, +abc,4791,4791,4791,1983-02-13,478.80000000004037,478.82,2015-01-01 01:19:51,bin4791,75, +abc,4792,4792,4792,1983-02-14,478.9000000000404,478.92,2015-01-01 01:19:52,bin4792,35, +abc,4793,4793,4793,1983-02-15,479.0000000000404,479.02002,2015-01-01 01:19:53,bin4793,75, +abc,4794,4794,4794,1983-02-16,479.10000000004044,479.12003,2015-01-01 01:19:54,bin4794,35, +abc,4795,4795,4795,1983-02-17,479.20000000004046,479.22003,2015-01-01 01:19:55,bin4795,75, +abc,4796,4796,4796,1983-02-18,479.3000000000405,479.32004,2015-01-01 01:19:56,bin4796,35, +abc,4797,4797,4797,1983-02-19,479.4000000000405,479.42004,2015-01-01 01:19:57,bin4797,75, +abc,4798,4798,4798,1983-02-20,479.50000000004053,479.52005,2015-01-01 01:19:58,bin4798,35, +abc,4799,4799,4799,1983-02-21,479.60000000004055,479.62006,2015-01-01 01:19:59,bin4799,75, +abc,4800,4800,4800,1983-02-22,479.7000000000406,479.72006,2015-01-01 01:20:00,bin4800,35, +abc,4801,4801,4801,1983-02-23,479.8000000000406,479.82007,2015-01-01 01:20:01,bin4801,75, +abc,4802,4802,4802,1983-02-24,479.9000000000406,479.92007,2015-01-01 01:20:02,bin4802,35, +abc,4803,4803,4803,1983-02-25,480.00000000004064,480.02008,2015-01-01 01:20:03,bin4803,75, +abc,4804,4804,4804,1983-02-26,480.10000000004067,480.1201,2015-01-01 01:20:04,bin4804,35, +abc,4805,4805,4805,1983-02-27,480.2000000000407,480.2201,2015-01-01 01:20:05,bin4805,75, +abc,4806,4806,4806,1983-02-28,480.3000000000407,480.3201,2015-01-01 01:20:06,bin4806,35, +abc,4807,4807,4807,1983-03-01,480.40000000004073,480.4201,2015-01-01 01:20:07,bin4807,75, +abc,4808,4808,4808,1983-03-02,480.50000000004076,480.5201,2015-01-01 01:20:08,bin4808,35, +abc,4809,4809,4809,1983-03-03,480.6000000000408,480.62012,2015-01-01 01:20:09,bin4809,75, +abc,4810,4810,4810,1983-03-04,480.7000000000408,480.72012,2015-01-01 01:20:10,bin4810,35, +abc,4811,4811,4811,1983-03-05,480.8000000000408,480.82013,2015-01-01 01:20:11,bin4811,75, +abc,4812,4812,4812,1983-03-06,480.90000000004085,480.92014,2015-01-01 01:20:12,bin4812,35, +abc,4813,4813,4813,1983-03-07,481.00000000004087,481.02014,2015-01-01 01:20:13,bin4813,75, +abc,4814,4814,4814,1983-03-08,481.1000000000409,481.12015,2015-01-01 01:20:14,bin4814,35, +abc,4815,4815,4815,1983-03-09,481.2000000000409,481.22015,2015-01-01 01:20:15,bin4815,75, +abc,4816,4816,4816,1983-03-10,481.30000000004094,481.32016,2015-01-01 01:20:16,bin4816,35, +abc,4817,4817,4817,1983-03-11,481.40000000004096,481.42017,2015-01-01 01:20:17,bin4817,75, +abc,4818,4818,4818,1983-03-12,481.500000000041,481.52017,2015-01-01 01:20:18,bin4818,35, +abc,4819,4819,4819,1983-03-13,481.600000000041,481.62018,2015-01-01 01:20:19,bin4819,75, +abc,4820,4820,4820,1983-03-14,481.70000000004103,481.72018,2015-01-01 01:20:20,bin4820,35, +abc,4821,4821,4821,1983-03-15,481.80000000004105,481.8202,2015-01-01 01:20:21,bin4821,75, +abc,4822,4822,4822,1983-03-16,481.9000000000411,481.9202,2015-01-01 01:20:22,bin4822,35, +abc,4823,4823,4823,1983-03-17,482.0000000000411,482.0202,2015-01-01 01:20:23,bin4823,75, +abc,4824,4824,4824,1983-03-18,482.1000000000411,482.1202,2015-01-01 01:20:24,bin4824,35, +abc,4825,4825,4825,1983-03-19,482.20000000004114,482.2202,2015-01-01 01:20:25,bin4825,75, +abc,4826,4826,4826,1983-03-20,482.30000000004117,482.32022,2015-01-01 01:20:26,bin4826,35, +abc,4827,4827,4827,1983-03-21,482.4000000000412,482.42023,2015-01-01 01:20:27,bin4827,75, +abc,4828,4828,4828,1983-03-22,482.5000000000412,482.52023,2015-01-01 01:20:28,bin4828,35, +abc,4829,4829,4829,1983-03-23,482.60000000004123,482.62024,2015-01-01 01:20:29,bin4829,75, +abc,4830,4830,4830,1983-03-24,482.70000000004126,482.72025,2015-01-01 01:20:30,bin4830,35, +abc,4831,4831,4831,1983-03-25,482.8000000000413,482.82025,2015-01-01 01:20:31,bin4831,75, +abc,4832,4832,4832,1983-03-26,482.9000000000413,482.92026,2015-01-01 01:20:32,bin4832,35, +abc,4833,4833,4833,1983-03-27,483.0000000000413,483.02026,2015-01-01 01:20:33,bin4833,75, +abc,4834,4834,4834,1983-03-28,483.10000000004135,483.12027,2015-01-01 01:20:34,bin4834,35, +abc,4835,4835,4835,1983-03-29,483.20000000004137,483.22028,2015-01-01 01:20:35,bin4835,75, +abc,4836,4836,4836,1983-03-30,483.3000000000414,483.32028,2015-01-01 01:20:36,bin4836,35, +abc,4837,4837,4837,1983-03-31,483.4000000000414,483.4203,2015-01-01 01:20:37,bin4837,75, +abc,4838,4838,4838,1983-04-01,483.50000000004144,483.5203,2015-01-01 01:20:38,bin4838,35, +abc,4839,4839,4839,1983-04-02,483.60000000004146,483.6203,2015-01-01 01:20:39,bin4839,75, +abc,4840,4840,4840,1983-04-03,483.7000000000415,483.7203,2015-01-01 01:20:40,bin4840,35, +abc,4841,4841,4841,1983-04-04,483.8000000000415,483.8203,2015-01-01 01:20:41,bin4841,75, +abc,4842,4842,4842,1983-04-05,483.90000000004153,483.92032,2015-01-01 01:20:42,bin4842,35, +abc,4843,4843,4843,1983-04-06,484.00000000004155,484.02032,2015-01-01 01:20:43,bin4843,75, +abc,4844,4844,4844,1983-04-07,484.1000000000416,484.12033,2015-01-01 01:20:44,bin4844,35, +abc,4845,4845,4845,1983-04-08,484.2000000000416,484.22034,2015-01-01 01:20:45,bin4845,75, +abc,4846,4846,4846,1983-04-09,484.3000000000416,484.32034,2015-01-01 01:20:46,bin4846,35, +abc,4847,4847,4847,1983-04-10,484.40000000004164,484.42035,2015-01-01 01:20:47,bin4847,75, +abc,4848,4848,4848,1983-04-11,484.50000000004167,484.52036,2015-01-01 01:20:48,bin4848,35, +abc,4849,4849,4849,1983-04-12,484.6000000000417,484.62036,2015-01-01 01:20:49,bin4849,75, +abc,4850,4850,4850,1983-04-13,484.7000000000417,484.72037,2015-01-01 01:20:50,bin4850,35, +abc,4851,4851,4851,1983-04-14,484.80000000004173,484.82037,2015-01-01 01:20:51,bin4851,75, +abc,4852,4852,4852,1983-04-15,484.90000000004176,484.92038,2015-01-01 01:20:52,bin4852,35, +abc,4853,4853,4853,1983-04-16,485.0000000000418,485.0204,2015-01-01 01:20:53,bin4853,75, +abc,4854,4854,4854,1983-04-17,485.1000000000418,485.1204,2015-01-01 01:20:54,bin4854,35, +abc,4855,4855,4855,1983-04-18,485.2000000000418,485.2204,2015-01-01 01:20:55,bin4855,75, +abc,4856,4856,4856,1983-04-19,485.30000000004185,485.3204,2015-01-01 01:20:56,bin4856,35, +abc,4857,4857,4857,1983-04-20,485.40000000004187,485.4204,2015-01-01 01:20:57,bin4857,75, +abc,4858,4858,4858,1983-04-21,485.5000000000419,485.52042,2015-01-01 01:20:58,bin4858,35, +abc,4859,4859,4859,1983-04-22,485.6000000000419,485.62042,2015-01-01 01:20:59,bin4859,75, +abc,4860,4860,4860,1983-04-23,485.70000000004194,485.72043,2015-01-01 01:21:00,bin4860,35, +abc,4861,4861,4861,1983-04-24,485.80000000004196,485.82043,2015-01-01 01:21:01,bin4861,75, +abc,4862,4862,4862,1983-04-25,485.900000000042,485.92044,2015-01-01 01:21:02,bin4862,35, +abc,4863,4863,4863,1983-04-26,486.000000000042,486.02045,2015-01-01 01:21:03,bin4863,75, +abc,4864,4864,4864,1983-04-27,486.10000000004203,486.12045,2015-01-01 01:21:04,bin4864,35, +abc,4865,4865,4865,1983-04-28,486.20000000004205,486.22046,2015-01-01 01:21:05,bin4865,75, +abc,4866,4866,4866,1983-04-29,486.3000000000421,486.32047,2015-01-01 01:21:06,bin4866,35, +abc,4867,4867,4867,1983-04-30,486.4000000000421,486.42047,2015-01-01 01:21:07,bin4867,75, +abc,4868,4868,4868,1983-05-01,486.5000000000421,486.52048,2015-01-01 01:21:08,bin4868,35, +abc,4869,4869,4869,1983-05-02,486.60000000004214,486.62048,2015-01-01 01:21:09,bin4869,75, +abc,4870,4870,4870,1983-05-03,486.70000000004217,486.7205,2015-01-01 01:21:10,bin4870,35, +abc,4871,4871,4871,1983-05-04,486.8000000000422,486.8205,2015-01-01 01:21:11,bin4871,75, +abc,4872,4872,4872,1983-05-05,486.9000000000422,486.9205,2015-01-01 01:21:12,bin4872,35, +abc,4873,4873,4873,1983-05-06,487.00000000004223,487.0205,2015-01-01 01:21:13,bin4873,75, +abc,4874,4874,4874,1983-05-07,487.10000000004226,487.1205,2015-01-01 01:21:14,bin4874,35, +abc,4875,4875,4875,1983-05-08,487.2000000000423,487.22052,2015-01-01 01:21:15,bin4875,75, +abc,4876,4876,4876,1983-05-09,487.3000000000423,487.32053,2015-01-01 01:21:16,bin4876,35, +abc,4877,4877,4877,1983-05-10,487.4000000000423,487.42053,2015-01-01 01:21:17,bin4877,75, +abc,4878,4878,4878,1983-05-11,487.50000000004235,487.52054,2015-01-01 01:21:18,bin4878,35, +abc,4879,4879,4879,1983-05-12,487.60000000004237,487.62054,2015-01-01 01:21:19,bin4879,75, +abc,4880,4880,4880,1983-05-13,487.7000000000424,487.72055,2015-01-01 01:21:20,bin4880,35, +abc,4881,4881,4881,1983-05-14,487.8000000000424,487.82056,2015-01-01 01:21:21,bin4881,75, +abc,4882,4882,4882,1983-05-15,487.90000000004244,487.92056,2015-01-01 01:21:22,bin4882,35, +abc,4883,4883,4883,1983-05-16,488.00000000004246,488.02057,2015-01-01 01:21:23,bin4883,75, +abc,4884,4884,4884,1983-05-17,488.1000000000425,488.12057,2015-01-01 01:21:24,bin4884,35, +abc,4885,4885,4885,1983-05-18,488.2000000000425,488.22058,2015-01-01 01:21:25,bin4885,75, +abc,4886,4886,4886,1983-05-19,488.30000000004253,488.3206,2015-01-01 01:21:26,bin4886,35, +abc,4887,4887,4887,1983-05-20,488.40000000004255,488.4206,2015-01-01 01:21:27,bin4887,75, +abc,4888,4888,4888,1983-05-21,488.5000000000426,488.5206,2015-01-01 01:21:28,bin4888,35, +abc,4889,4889,4889,1983-05-22,488.6000000000426,488.6206,2015-01-01 01:21:29,bin4889,75, +abc,4890,4890,4890,1983-05-23,488.7000000000426,488.7206,2015-01-01 01:21:30,bin4890,35, +abc,4891,4891,4891,1983-05-24,488.80000000004264,488.82062,2015-01-01 01:21:31,bin4891,75, +abc,4892,4892,4892,1983-05-25,488.90000000004267,488.92062,2015-01-01 01:21:32,bin4892,35, +abc,4893,4893,4893,1983-05-26,489.0000000000427,489.02063,2015-01-01 01:21:33,bin4893,75, +abc,4894,4894,4894,1983-05-27,489.1000000000427,489.12064,2015-01-01 01:21:34,bin4894,35, +abc,4895,4895,4895,1983-05-28,489.20000000004273,489.22064,2015-01-01 01:21:35,bin4895,75, +abc,4896,4896,4896,1983-05-29,489.30000000004276,489.32065,2015-01-01 01:21:36,bin4896,35, +abc,4897,4897,4897,1983-05-30,489.4000000000428,489.42065,2015-01-01 01:21:37,bin4897,75, +abc,4898,4898,4898,1983-05-31,489.5000000000428,489.52066,2015-01-01 01:21:38,bin4898,35, +abc,4899,4899,4899,1983-06-01,489.6000000000428,489.62067,2015-01-01 01:21:39,bin4899,75, +abc,4900,4900,4900,1983-06-02,489.70000000004285,489.72067,2015-01-01 01:21:40,bin4900,35, +abc,4901,4901,4901,1983-06-03,489.80000000004287,489.82068,2015-01-01 01:21:41,bin4901,75, +abc,4902,4902,4902,1983-06-04,489.9000000000429,489.9207,2015-01-01 01:21:42,bin4902,35, +abc,4903,4903,4903,1983-06-05,490.0000000000429,490.0207,2015-01-01 01:21:43,bin4903,75, +abc,4904,4904,4904,1983-06-06,490.10000000004294,490.1207,2015-01-01 01:21:44,bin4904,35, +abc,4905,4905,4905,1983-06-07,490.20000000004296,490.2207,2015-01-01 01:21:45,bin4905,75, +abc,4906,4906,4906,1983-06-08,490.300000000043,490.3207,2015-01-01 01:21:46,bin4906,35, +abc,4907,4907,4907,1983-06-09,490.400000000043,490.42072,2015-01-01 01:21:47,bin4907,75, +abc,4908,4908,4908,1983-06-10,490.50000000004303,490.52072,2015-01-01 01:21:48,bin4908,35, +abc,4909,4909,4909,1983-06-11,490.60000000004305,490.62073,2015-01-01 01:21:49,bin4909,75, +abc,4910,4910,4910,1983-06-12,490.7000000000431,490.72073,2015-01-01 01:21:50,bin4910,35, +abc,4911,4911,4911,1983-06-13,490.8000000000431,490.82074,2015-01-01 01:21:51,bin4911,75, +abc,4912,4912,4912,1983-06-14,490.9000000000431,490.92075,2015-01-01 01:21:52,bin4912,35, +abc,4913,4913,4913,1983-06-15,491.00000000004314,491.02075,2015-01-01 01:21:53,bin4913,75, +abc,4914,4914,4914,1983-06-16,491.10000000004317,491.12076,2015-01-01 01:21:54,bin4914,35, +abc,4915,4915,4915,1983-06-17,491.2000000000432,491.22076,2015-01-01 01:21:55,bin4915,75, +abc,4916,4916,4916,1983-06-18,491.3000000000432,491.32077,2015-01-01 01:21:56,bin4916,35, +abc,4917,4917,4917,1983-06-19,491.40000000004324,491.42078,2015-01-01 01:21:57,bin4917,75, +abc,4918,4918,4918,1983-06-20,491.50000000004326,491.52078,2015-01-01 01:21:58,bin4918,35, +abc,4919,4919,4919,1983-06-21,491.6000000000433,491.6208,2015-01-01 01:21:59,bin4919,75, +abc,4920,4920,4920,1983-06-22,491.7000000000433,491.7208,2015-01-01 01:22:00,bin4920,35, +abc,4921,4921,4921,1983-06-23,491.8000000000433,491.8208,2015-01-01 01:22:01,bin4921,75, +abc,4922,4922,4922,1983-06-24,491.90000000004335,491.9208,2015-01-01 01:22:02,bin4922,35, +abc,4923,4923,4923,1983-06-25,492.00000000004337,492.0208,2015-01-01 01:22:03,bin4923,75, +abc,4924,4924,4924,1983-06-26,492.1000000000434,492.12082,2015-01-01 01:22:04,bin4924,35, +abc,4925,4925,4925,1983-06-27,492.2000000000434,492.22083,2015-01-01 01:22:05,bin4925,75, +abc,4926,4926,4926,1983-06-28,492.30000000004344,492.32083,2015-01-01 01:22:06,bin4926,35, +abc,4927,4927,4927,1983-06-29,492.40000000004346,492.42084,2015-01-01 01:22:07,bin4927,75, +abc,4928,4928,4928,1983-06-30,492.5000000000435,492.52084,2015-01-01 01:22:08,bin4928,35, +abc,4929,4929,4929,1983-07-01,492.6000000000435,492.62085,2015-01-01 01:22:09,bin4929,75, +abc,4930,4930,4930,1983-07-02,492.70000000004353,492.72086,2015-01-01 01:22:10,bin4930,35, +abc,4931,4931,4931,1983-07-03,492.80000000004355,492.82086,2015-01-01 01:22:11,bin4931,75, +abc,4932,4932,4932,1983-07-04,492.9000000000436,492.92087,2015-01-01 01:22:12,bin4932,35, +abc,4933,4933,4933,1983-07-05,493.0000000000436,493.02087,2015-01-01 01:22:13,bin4933,75, +abc,4934,4934,4934,1983-07-06,493.1000000000436,493.12088,2015-01-01 01:22:14,bin4934,35, +abc,4935,4935,4935,1983-07-07,493.20000000004364,493.2209,2015-01-01 01:22:15,bin4935,75, +abc,4936,4936,4936,1983-07-08,493.30000000004367,493.3209,2015-01-01 01:22:16,bin4936,35, +abc,4937,4937,4937,1983-07-09,493.4000000000437,493.4209,2015-01-01 01:22:17,bin4937,75, +abc,4938,4938,4938,1983-07-10,493.5000000000437,493.5209,2015-01-01 01:22:18,bin4938,35, +abc,4939,4939,4939,1983-07-11,493.60000000004374,493.6209,2015-01-01 01:22:19,bin4939,75, +abc,4940,4940,4940,1983-07-12,493.70000000004376,493.72092,2015-01-01 01:22:20,bin4940,35, +abc,4941,4941,4941,1983-07-13,493.8000000000438,493.82092,2015-01-01 01:22:21,bin4941,75, +abc,4942,4942,4942,1983-07-14,493.9000000000438,493.92093,2015-01-01 01:22:22,bin4942,35, +abc,4943,4943,4943,1983-07-15,494.0000000000438,494.02094,2015-01-01 01:22:23,bin4943,75, +abc,4944,4944,4944,1983-07-16,494.10000000004385,494.12094,2015-01-01 01:22:24,bin4944,35, +abc,4945,4945,4945,1983-07-17,494.2000000000439,494.22095,2015-01-01 01:22:25,bin4945,75, +abc,4946,4946,4946,1983-07-18,494.3000000000439,494.32095,2015-01-01 01:22:26,bin4946,35, +abc,4947,4947,4947,1983-07-19,494.4000000000439,494.42096,2015-01-01 01:22:27,bin4947,75, +abc,4948,4948,4948,1983-07-20,494.50000000004394,494.52097,2015-01-01 01:22:28,bin4948,35, +abc,4949,4949,4949,1983-07-21,494.60000000004396,494.62097,2015-01-01 01:22:29,bin4949,75, +abc,4950,4950,4950,1983-07-22,494.700000000044,494.72098,2015-01-01 01:22:30,bin4950,35, +abc,4951,4951,4951,1983-07-23,494.800000000044,494.82098,2015-01-01 01:22:31,bin4951,75, +abc,4952,4952,4952,1983-07-24,494.90000000004403,494.921,2015-01-01 01:22:32,bin4952,35, +abc,4953,4953,4953,1983-07-25,495.00000000004405,495.021,2015-01-01 01:22:33,bin4953,75, +abc,4954,4954,4954,1983-07-26,495.1000000000441,495.121,2015-01-01 01:22:34,bin4954,35, +abc,4955,4955,4955,1983-07-27,495.2000000000441,495.221,2015-01-01 01:22:35,bin4955,75, +abc,4956,4956,4956,1983-07-28,495.3000000000441,495.321,2015-01-01 01:22:36,bin4956,35, +abc,4957,4957,4957,1983-07-29,495.40000000004414,495.42102,2015-01-01 01:22:37,bin4957,75, +abc,4958,4958,4958,1983-07-30,495.50000000004417,495.52103,2015-01-01 01:22:38,bin4958,35, +abc,4959,4959,4959,1983-07-31,495.6000000000442,495.62103,2015-01-01 01:22:39,bin4959,75, +abc,4960,4960,4960,1983-08-01,495.7000000000442,495.72104,2015-01-01 01:22:40,bin4960,35, +abc,4961,4961,4961,1983-08-02,495.80000000004424,495.82104,2015-01-01 01:22:41,bin4961,75, +abc,4962,4962,4962,1983-08-03,495.90000000004426,495.92105,2015-01-01 01:22:42,bin4962,35, +abc,4963,4963,4963,1983-08-04,496.0000000000443,496.02106,2015-01-01 01:22:43,bin4963,75, +abc,4964,4964,4964,1983-08-05,496.1000000000443,496.12106,2015-01-01 01:22:44,bin4964,35, +abc,4965,4965,4965,1983-08-06,496.2000000000443,496.22107,2015-01-01 01:22:45,bin4965,75, +abc,4966,4966,4966,1983-08-07,496.30000000004435,496.32108,2015-01-01 01:22:46,bin4966,35, +abc,4967,4967,4967,1983-08-08,496.4000000000444,496.42108,2015-01-01 01:22:47,bin4967,75, +abc,4968,4968,4968,1983-08-09,496.5000000000444,496.5211,2015-01-01 01:22:48,bin4968,35, +abc,4969,4969,4969,1983-08-10,496.6000000000444,496.6211,2015-01-01 01:22:49,bin4969,75, +abc,4970,4970,4970,1983-08-11,496.70000000004444,496.7211,2015-01-01 01:22:50,bin4970,35, +abc,4971,4971,4971,1983-08-12,496.80000000004446,496.8211,2015-01-01 01:22:51,bin4971,75, +abc,4972,4972,4972,1983-08-13,496.9000000000445,496.9211,2015-01-01 01:22:52,bin4972,35, +abc,4973,4973,4973,1983-08-14,497.0000000000445,497.02112,2015-01-01 01:22:53,bin4973,75, +abc,4974,4974,4974,1983-08-15,497.10000000004453,497.12112,2015-01-01 01:22:54,bin4974,35, +abc,4975,4975,4975,1983-08-16,497.20000000004455,497.22113,2015-01-01 01:22:55,bin4975,75, +abc,4976,4976,4976,1983-08-17,497.3000000000446,497.32114,2015-01-01 01:22:56,bin4976,35, +abc,4977,4977,4977,1983-08-18,497.4000000000446,497.42114,2015-01-01 01:22:57,bin4977,75, +abc,4978,4978,4978,1983-08-19,497.5000000000446,497.52115,2015-01-01 01:22:58,bin4978,35, +abc,4979,4979,4979,1983-08-20,497.60000000004464,497.62115,2015-01-01 01:22:59,bin4979,75, +abc,4980,4980,4980,1983-08-21,497.70000000004467,497.72116,2015-01-01 01:23:00,bin4980,35, +abc,4981,4981,4981,1983-08-22,497.8000000000447,497.82117,2015-01-01 01:23:01,bin4981,75, +abc,4982,4982,4982,1983-08-23,497.9000000000447,497.92117,2015-01-01 01:23:02,bin4982,35, +abc,4983,4983,4983,1983-08-24,498.00000000004474,498.02118,2015-01-01 01:23:03,bin4983,75, +abc,4984,4984,4984,1983-08-25,498.10000000004476,498.1212,2015-01-01 01:23:04,bin4984,35, +abc,4985,4985,4985,1983-08-26,498.2000000000448,498.2212,2015-01-01 01:23:05,bin4985,75, +abc,4986,4986,4986,1983-08-27,498.3000000000448,498.3212,2015-01-01 01:23:06,bin4986,35, +abc,4987,4987,4987,1983-08-28,498.4000000000448,498.4212,2015-01-01 01:23:07,bin4987,75, +abc,4988,4988,4988,1983-08-29,498.50000000004485,498.5212,2015-01-01 01:23:08,bin4988,35, +abc,4989,4989,4989,1983-08-30,498.6000000000449,498.62122,2015-01-01 01:23:09,bin4989,75, +abc,4990,4990,4990,1983-08-31,498.7000000000449,498.72122,2015-01-01 01:23:10,bin4990,35, +abc,4991,4991,4991,1983-09-01,498.8000000000449,498.82123,2015-01-01 01:23:11,bin4991,75, +abc,4992,4992,4992,1983-09-02,498.90000000004494,498.92123,2015-01-01 01:23:12,bin4992,35, +abc,4993,4993,4993,1983-09-03,499.00000000004496,499.02124,2015-01-01 01:23:13,bin4993,75, +abc,4994,4994,4994,1983-09-04,499.100000000045,499.12125,2015-01-01 01:23:14,bin4994,35, +abc,4995,4995,4995,1983-09-05,499.200000000045,499.22125,2015-01-01 01:23:15,bin4995,75, +abc,4996,4996,4996,1983-09-06,499.30000000004503,499.32126,2015-01-01 01:23:16,bin4996,35, +abc,4997,4997,4997,1983-09-07,499.40000000004505,499.42126,2015-01-01 01:23:17,bin4997,75, +abc,4998,4998,4998,1983-09-08,499.5000000000451,499.52127,2015-01-01 01:23:18,bin4998,35, +abc,4999,4999,4999,1983-09-09,499.6000000000451,499.62128,2015-01-01 01:23:19,bin4999,75, +abc,5000,5000,5000,1983-09-10,499.7000000000451,499.72128,2015-01-01 01:23:20,bin5000,35, +abc,5001,5001,5001,1983-09-11,499.80000000004515,499.8213,2015-01-01 01:23:21,bin5001,75, +abc,5002,5002,5002,1983-09-12,499.90000000004517,499.9213,2015-01-01 01:23:22,bin5002,35, +abc,5003,5003,5003,1983-09-13,500.0000000000452,500.0213,2015-01-01 01:23:23,bin5003,75, +abc,5004,5004,5004,1983-09-14,500.1000000000452,500.1213,2015-01-01 01:23:24,bin5004,35, +abc,5005,5005,5005,1983-09-15,500.20000000004524,500.2213,2015-01-01 01:23:25,bin5005,75, +abc,5006,5006,5006,1983-09-16,500.30000000004526,500.32132,2015-01-01 01:23:26,bin5006,35, +abc,5007,5007,5007,1983-09-17,500.4000000000453,500.42133,2015-01-01 01:23:27,bin5007,75, +abc,5008,5008,5008,1983-09-18,500.5000000000453,500.52133,2015-01-01 01:23:28,bin5008,35, +abc,5009,5009,5009,1983-09-19,500.6000000000453,500.62134,2015-01-01 01:23:29,bin5009,75, +abc,5010,5010,5010,1983-09-20,500.70000000004535,500.72134,2015-01-01 01:23:30,bin5010,35, +abc,5011,5011,5011,1983-09-21,500.8000000000454,500.82135,2015-01-01 01:23:31,bin5011,75, +abc,5012,5012,5012,1983-09-22,500.9000000000454,500.92136,2015-01-01 01:23:32,bin5012,35, +abc,5013,5013,5013,1983-09-23,501.0000000000454,501.02136,2015-01-01 01:23:33,bin5013,75, +abc,5014,5014,5014,1983-09-24,501.10000000004544,501.12137,2015-01-01 01:23:34,bin5014,35, +abc,5015,5015,5015,1983-09-25,501.20000000004546,501.22137,2015-01-01 01:23:35,bin5015,75, +abc,5016,5016,5016,1983-09-26,501.3000000000455,501.32138,2015-01-01 01:23:36,bin5016,35, +abc,5017,5017,5017,1983-09-27,501.4000000000455,501.4214,2015-01-01 01:23:37,bin5017,75, +abc,5018,5018,5018,1983-09-28,501.50000000004553,501.5214,2015-01-01 01:23:38,bin5018,35, +abc,5019,5019,5019,1983-09-29,501.60000000004555,501.6214,2015-01-01 01:23:39,bin5019,75, +abc,5020,5020,5020,1983-09-30,501.7000000000456,501.7214,2015-01-01 01:23:40,bin5020,35, +abc,5021,5021,5021,1983-10-01,501.8000000000456,501.8214,2015-01-01 01:23:41,bin5021,75, +abc,5022,5022,5022,1983-10-02,501.9000000000456,501.92142,2015-01-01 01:23:42,bin5022,35, +abc,5023,5023,5023,1983-10-03,502.00000000004565,502.02142,2015-01-01 01:23:43,bin5023,75, +abc,5024,5024,5024,1983-10-04,502.10000000004567,502.12143,2015-01-01 01:23:44,bin5024,35, +abc,5025,5025,5025,1983-10-05,502.2000000000457,502.22144,2015-01-01 01:23:45,bin5025,75, +abc,5026,5026,5026,1983-10-06,502.3000000000457,502.32144,2015-01-01 01:23:46,bin5026,35, +abc,5027,5027,5027,1983-10-07,502.40000000004574,502.42145,2015-01-01 01:23:47,bin5027,75, +abc,5028,5028,5028,1983-10-08,502.50000000004576,502.52145,2015-01-01 01:23:48,bin5028,35, +abc,5029,5029,5029,1983-10-09,502.6000000000458,502.62146,2015-01-01 01:23:49,bin5029,75, +abc,5030,5030,5030,1983-10-10,502.7000000000458,502.72147,2015-01-01 01:23:50,bin5030,35, +abc,5031,5031,5031,1983-10-11,502.8000000000458,502.82147,2015-01-01 01:23:51,bin5031,75, +abc,5032,5032,5032,1983-10-12,502.90000000004585,502.92148,2015-01-01 01:23:52,bin5032,35, +abc,5033,5033,5033,1983-10-13,503.0000000000459,503.02148,2015-01-01 01:23:53,bin5033,75, +abc,5034,5034,5034,1983-10-14,503.1000000000459,503.1215,2015-01-01 01:23:54,bin5034,35, +abc,5035,5035,5035,1983-10-15,503.2000000000459,503.2215,2015-01-01 01:23:55,bin5035,75, +abc,5036,5036,5036,1983-10-16,503.30000000004594,503.3215,2015-01-01 01:23:56,bin5036,35, +abc,5037,5037,5037,1983-10-17,503.40000000004596,503.4215,2015-01-01 01:23:57,bin5037,75, +abc,5038,5038,5038,1983-10-18,503.500000000046,503.5215,2015-01-01 01:23:58,bin5038,35, +abc,5039,5039,5039,1983-10-19,503.600000000046,503.62152,2015-01-01 01:23:59,bin5039,75, +abc,5040,5040,5040,1983-10-20,503.70000000004603,503.72153,2015-01-01 01:24:00,bin5040,35, +abc,5041,5041,5041,1983-10-21,503.80000000004605,503.82153,2015-01-01 01:24:01,bin5041,75, +abc,5042,5042,5042,1983-10-22,503.9000000000461,503.92154,2015-01-01 01:24:02,bin5042,35, +abc,5043,5043,5043,1983-10-23,504.0000000000461,504.02155,2015-01-01 01:24:03,bin5043,75, +abc,5044,5044,5044,1983-10-24,504.1000000000461,504.12155,2015-01-01 01:24:04,bin5044,35, +abc,5045,5045,5045,1983-10-25,504.20000000004615,504.22156,2015-01-01 01:24:05,bin5045,75, +abc,5046,5046,5046,1983-10-26,504.30000000004617,504.32156,2015-01-01 01:24:06,bin5046,35, +abc,5047,5047,5047,1983-10-27,504.4000000000462,504.42157,2015-01-01 01:24:07,bin5047,75, +abc,5048,5048,5048,1983-10-28,504.5000000000462,504.52158,2015-01-01 01:24:08,bin5048,35, +abc,5049,5049,5049,1983-10-29,504.60000000004624,504.62158,2015-01-01 01:24:09,bin5049,75, +abc,5050,5050,5050,1983-10-30,504.70000000004626,504.7216,2015-01-01 01:24:10,bin5050,35, +abc,5051,5051,5051,1983-10-31,504.8000000000463,504.8216,2015-01-01 01:24:11,bin5051,75, +abc,5052,5052,5052,1983-11-01,504.9000000000463,504.9216,2015-01-01 01:24:12,bin5052,35, +abc,5053,5053,5053,1983-11-02,505.0000000000463,505.0216,2015-01-01 01:24:13,bin5053,75, +abc,5054,5054,5054,1983-11-03,505.10000000004635,505.1216,2015-01-01 01:24:14,bin5054,35, +abc,5055,5055,5055,1983-11-04,505.2000000000464,505.22162,2015-01-01 01:24:15,bin5055,75, +abc,5056,5056,5056,1983-11-05,505.3000000000464,505.32162,2015-01-01 01:24:16,bin5056,35, +abc,5057,5057,5057,1983-11-06,505.4000000000464,505.42163,2015-01-01 01:24:17,bin5057,75, +abc,5058,5058,5058,1983-11-07,505.50000000004644,505.52164,2015-01-01 01:24:18,bin5058,35, +abc,5059,5059,5059,1983-11-08,505.60000000004646,505.62164,2015-01-01 01:24:19,bin5059,75, +abc,5060,5060,5060,1983-11-09,505.7000000000465,505.72165,2015-01-01 01:24:20,bin5060,35, +abc,5061,5061,5061,1983-11-10,505.8000000000465,505.82166,2015-01-01 01:24:21,bin5061,75, +abc,5062,5062,5062,1983-11-11,505.90000000004653,505.92166,2015-01-01 01:24:22,bin5062,35, +abc,5063,5063,5063,1983-11-12,506.00000000004655,506.02167,2015-01-01 01:24:23,bin5063,75, +abc,5064,5064,5064,1983-11-13,506.1000000000466,506.12167,2015-01-01 01:24:24,bin5064,35, +abc,5065,5065,5065,1983-11-14,506.2000000000466,506.22168,2015-01-01 01:24:25,bin5065,75, +abc,5066,5066,5066,1983-11-15,506.3000000000466,506.3217,2015-01-01 01:24:26,bin5066,35, +abc,5067,5067,5067,1983-11-16,506.40000000004665,506.4217,2015-01-01 01:24:27,bin5067,75, +abc,5068,5068,5068,1983-11-17,506.50000000004667,506.5217,2015-01-01 01:24:28,bin5068,35, +abc,5069,5069,5069,1983-11-18,506.6000000000467,506.6217,2015-01-01 01:24:29,bin5069,75, +abc,5070,5070,5070,1983-11-19,506.7000000000467,506.7217,2015-01-01 01:24:30,bin5070,35, +abc,5071,5071,5071,1983-11-20,506.80000000004674,506.82172,2015-01-01 01:24:31,bin5071,75, +abc,5072,5072,5072,1983-11-21,506.90000000004676,506.92172,2015-01-01 01:24:32,bin5072,35, +abc,5073,5073,5073,1983-11-22,507.0000000000468,507.02173,2015-01-01 01:24:33,bin5073,75, +abc,5074,5074,5074,1983-11-23,507.1000000000468,507.12173,2015-01-01 01:24:34,bin5074,35, +abc,5075,5075,5075,1983-11-24,507.2000000000468,507.22174,2015-01-01 01:24:35,bin5075,75, +abc,5076,5076,5076,1983-11-25,507.30000000004685,507.32175,2015-01-01 01:24:36,bin5076,35, +abc,5077,5077,5077,1983-11-26,507.4000000000469,507.42175,2015-01-01 01:24:37,bin5077,75, +abc,5078,5078,5078,1983-11-27,507.5000000000469,507.52176,2015-01-01 01:24:38,bin5078,35, +abc,5079,5079,5079,1983-11-28,507.6000000000469,507.62177,2015-01-01 01:24:39,bin5079,75, +abc,5080,5080,5080,1983-11-29,507.70000000004694,507.72177,2015-01-01 01:24:40,bin5080,35, +abc,5081,5081,5081,1983-11-30,507.80000000004696,507.82178,2015-01-01 01:24:41,bin5081,75, +abc,5082,5082,5082,1983-12-01,507.900000000047,507.92178,2015-01-01 01:24:42,bin5082,35, +abc,5083,5083,5083,1983-12-02,508.000000000047,508.0218,2015-01-01 01:24:43,bin5083,75, +abc,5084,5084,5084,1983-12-03,508.10000000004703,508.1218,2015-01-01 01:24:44,bin5084,35, +abc,5085,5085,5085,1983-12-04,508.20000000004705,508.2218,2015-01-01 01:24:45,bin5085,75, +abc,5086,5086,5086,1983-12-05,508.3000000000471,508.3218,2015-01-01 01:24:46,bin5086,35, +abc,5087,5087,5087,1983-12-06,508.4000000000471,508.4218,2015-01-01 01:24:47,bin5087,75, +abc,5088,5088,5088,1983-12-07,508.5000000000471,508.52182,2015-01-01 01:24:48,bin5088,35, +abc,5089,5089,5089,1983-12-08,508.60000000004715,508.62183,2015-01-01 01:24:49,bin5089,75, +abc,5090,5090,5090,1983-12-09,508.70000000004717,508.72183,2015-01-01 01:24:50,bin5090,35, +abc,5091,5091,5091,1983-12-10,508.8000000000472,508.82184,2015-01-01 01:24:51,bin5091,75, +abc,5092,5092,5092,1983-12-11,508.9000000000472,508.92184,2015-01-01 01:24:52,bin5092,35, +abc,5093,5093,5093,1983-12-12,509.00000000004724,509.02185,2015-01-01 01:24:53,bin5093,75, +abc,5094,5094,5094,1983-12-13,509.10000000004726,509.12186,2015-01-01 01:24:54,bin5094,35, +abc,5095,5095,5095,1983-12-14,509.2000000000473,509.22186,2015-01-01 01:24:55,bin5095,75, +abc,5096,5096,5096,1983-12-15,509.3000000000473,509.32187,2015-01-01 01:24:56,bin5096,35, +abc,5097,5097,5097,1983-12-16,509.4000000000473,509.42188,2015-01-01 01:24:57,bin5097,75, +abc,5098,5098,5098,1983-12-17,509.50000000004735,509.52188,2015-01-01 01:24:58,bin5098,35, +abc,5099,5099,5099,1983-12-18,509.6000000000474,509.6219,2015-01-01 01:24:59,bin5099,75, +abc,5100,5100,5100,1983-12-19,509.7000000000474,509.7219,2015-01-01 01:25:00,bin5100,35, +abc,5101,5101,5101,1983-12-20,509.8000000000474,509.8219,2015-01-01 01:25:01,bin5101,75, +abc,5102,5102,5102,1983-12-21,509.90000000004744,509.9219,2015-01-01 01:25:02,bin5102,35, +abc,5103,5103,5103,1983-12-22,510.00000000004746,510.0219,2015-01-01 01:25:03,bin5103,75, +abc,5104,5104,5104,1983-12-23,510.1000000000475,510.12192,2015-01-01 01:25:04,bin5104,35, +abc,5105,5105,5105,1983-12-24,510.2000000000475,510.22192,2015-01-01 01:25:05,bin5105,75, +abc,5106,5106,5106,1983-12-25,510.30000000004753,510.32193,2015-01-01 01:25:06,bin5106,35, +abc,5107,5107,5107,1983-12-26,510.40000000004756,510.42194,2015-01-01 01:25:07,bin5107,75, +abc,5108,5108,5108,1983-12-27,510.5000000000476,510.52194,2015-01-01 01:25:08,bin5108,35, +abc,5109,5109,5109,1983-12-28,510.6000000000476,510.62195,2015-01-01 01:25:09,bin5109,75, +abc,5110,5110,5110,1983-12-29,510.7000000000476,510.72195,2015-01-01 01:25:10,bin5110,35, +abc,5111,5111,5111,1983-12-30,510.80000000004765,510.82196,2015-01-01 01:25:11,bin5111,75, +abc,5112,5112,5112,1983-12-31,510.90000000004767,510.92197,2015-01-01 01:25:12,bin5112,35, +abc,5113,5113,5113,1984-01-01,511.0000000000477,511.02197,2015-01-01 01:25:13,bin5113,75, +abc,5114,5114,5114,1984-01-02,511.1000000000477,511.12198,2015-01-01 01:25:14,bin5114,35, +abc,5115,5115,5115,1984-01-03,511.20000000004774,511.222,2015-01-01 01:25:15,bin5115,75, +abc,5116,5116,5116,1984-01-04,511.30000000004776,511.322,2015-01-01 01:25:16,bin5116,35, +abc,5117,5117,5117,1984-01-05,511.4000000000478,511.422,2015-01-01 01:25:17,bin5117,75, +abc,5118,5118,5118,1984-01-06,511.5000000000478,511.522,2015-01-01 01:25:18,bin5118,35, +abc,5119,5119,5119,1984-01-07,511.6000000000478,511.622,2015-01-01 01:25:19,bin5119,75, +abc,5120,5120,5120,1984-01-08,511.70000000004785,511.72202,2015-01-01 01:25:20,bin5120,35, +abc,5121,5121,5121,1984-01-09,511.8000000000479,511.82202,2015-01-01 01:25:21,bin5121,75, +abc,5122,5122,5122,1984-01-10,511.9000000000479,511.92203,2015-01-01 01:25:22,bin5122,35, +abc,5123,5123,5123,1984-01-11,512.0000000000479,512.02203,2015-01-01 01:25:23,bin5123,75, +abc,5124,5124,5124,1984-01-12,512.1000000000479,512.122,2015-01-01 01:25:24,bin5124,35, +abc,5125,5125,5125,1984-01-13,512.2000000000479,512.222,2015-01-01 01:25:25,bin5125,75, +abc,5126,5126,5126,1984-01-14,512.3000000000479,512.32196,2015-01-01 01:25:26,bin5126,35, +abc,5127,5127,5127,1984-01-15,512.400000000048,512.42194,2015-01-01 01:25:27,bin5127,75, +abc,5128,5128,5128,1984-01-16,512.500000000048,512.5219,2015-01-01 01:25:28,bin5128,35, +abc,5129,5129,5129,1984-01-17,512.600000000048,512.6219,2015-01-01 01:25:29,bin5129,75, +abc,5130,5130,5130,1984-01-18,512.700000000048,512.72186,2015-01-01 01:25:30,bin5130,35, +abc,5131,5131,5131,1984-01-19,512.800000000048,512.82184,2015-01-01 01:25:31,bin5131,75, +abc,5132,5132,5132,1984-01-20,512.9000000000481,512.9218,2015-01-01 01:25:32,bin5132,35, +abc,5133,5133,5133,1984-01-21,513.0000000000481,513.0218,2015-01-01 01:25:33,bin5133,75, +abc,5134,5134,5134,1984-01-22,513.1000000000481,513.12177,2015-01-01 01:25:34,bin5134,35, +abc,5135,5135,5135,1984-01-23,513.2000000000481,513.22174,2015-01-01 01:25:35,bin5135,75, +abc,5136,5136,5136,1984-01-24,513.3000000000482,513.3217,2015-01-01 01:25:36,bin5136,35, +abc,5137,5137,5137,1984-01-25,513.4000000000482,513.4217,2015-01-01 01:25:37,bin5137,75, +abc,5138,5138,5138,1984-01-26,513.5000000000482,513.52167,2015-01-01 01:25:38,bin5138,35, +abc,5139,5139,5139,1984-01-27,513.6000000000482,513.62164,2015-01-01 01:25:39,bin5139,75, +abc,5140,5140,5140,1984-01-28,513.7000000000482,513.7216,2015-01-01 01:25:40,bin5140,35, +abc,5141,5141,5141,1984-01-29,513.8000000000483,513.8216,2015-01-01 01:25:41,bin5141,75, +abc,5142,5142,5142,1984-01-30,513.9000000000483,513.9216,2015-01-01 01:25:42,bin5142,35, +abc,5143,5143,5143,1984-01-31,514.0000000000483,514.02155,2015-01-01 01:25:43,bin5143,75, +abc,5144,5144,5144,1984-02-01,514.1000000000483,514.1215,2015-01-01 01:25:44,bin5144,35, +abc,5145,5145,5145,1984-02-02,514.2000000000484,514.2215,2015-01-01 01:25:45,bin5145,75, +abc,5146,5146,5146,1984-02-03,514.3000000000484,514.3215,2015-01-01 01:25:46,bin5146,35, +abc,5147,5147,5147,1984-02-04,514.4000000000484,514.42145,2015-01-01 01:25:47,bin5147,75, +abc,5148,5148,5148,1984-02-05,514.5000000000484,514.5214,2015-01-01 01:25:48,bin5148,35, +abc,5149,5149,5149,1984-02-06,514.6000000000485,514.6214,2015-01-01 01:25:49,bin5149,75, +abc,5150,5150,5150,1984-02-07,514.7000000000485,514.7214,2015-01-01 01:25:50,bin5150,35, +abc,5151,5151,5151,1984-02-08,514.8000000000485,514.82135,2015-01-01 01:25:51,bin5151,75, +abc,5152,5152,5152,1984-02-09,514.9000000000485,514.9213,2015-01-01 01:25:52,bin5152,35, +abc,5153,5153,5153,1984-02-10,515.0000000000485,515.0213,2015-01-01 01:25:53,bin5153,75, +abc,5154,5154,5154,1984-02-11,515.1000000000486,515.1213,2015-01-01 01:25:54,bin5154,35, +abc,5155,5155,5155,1984-02-12,515.2000000000486,515.22125,2015-01-01 01:25:55,bin5155,75, +abc,5156,5156,5156,1984-02-13,515.3000000000486,515.3212,2015-01-01 01:25:56,bin5156,35, +abc,5157,5157,5157,1984-02-14,515.4000000000486,515.4212,2015-01-01 01:25:57,bin5157,75, +abc,5158,5158,5158,1984-02-15,515.5000000000487,515.5212,2015-01-01 01:25:58,bin5158,35, +abc,5159,5159,5159,1984-02-16,515.6000000000487,515.62115,2015-01-01 01:25:59,bin5159,75, +abc,5160,5160,5160,1984-02-17,515.7000000000487,515.7211,2015-01-01 01:26:00,bin5160,35, +abc,5161,5161,5161,1984-02-18,515.8000000000487,515.8211,2015-01-01 01:26:01,bin5161,75, +abc,5162,5162,5162,1984-02-19,515.9000000000487,515.9211,2015-01-01 01:26:02,bin5162,35, +abc,5163,5163,5163,1984-02-20,516.0000000000488,516.02106,2015-01-01 01:26:03,bin5163,75, +abc,5164,5164,5164,1984-02-21,516.1000000000488,516.12103,2015-01-01 01:26:04,bin5164,35, +abc,5165,5165,5165,1984-02-22,516.2000000000488,516.221,2015-01-01 01:26:05,bin5165,75, +abc,5166,5166,5166,1984-02-23,516.3000000000488,516.321,2015-01-01 01:26:06,bin5166,35, +abc,5167,5167,5167,1984-02-24,516.4000000000489,516.42096,2015-01-01 01:26:07,bin5167,75, +abc,5168,5168,5168,1984-02-25,516.5000000000489,516.52094,2015-01-01 01:26:08,bin5168,35, +abc,5169,5169,5169,1984-02-26,516.6000000000489,516.6209,2015-01-01 01:26:09,bin5169,75, +abc,5170,5170,5170,1984-02-27,516.7000000000489,516.7209,2015-01-01 01:26:10,bin5170,35, +abc,5171,5171,5171,1984-02-28,516.800000000049,516.82086,2015-01-01 01:26:11,bin5171,75, +abc,5172,5172,5172,1984-02-29,516.900000000049,516.92084,2015-01-01 01:26:12,bin5172,35, +abc,5173,5173,5173,1984-03-01,517.000000000049,517.0208,2015-01-01 01:26:13,bin5173,75, +abc,5174,5174,5174,1984-03-02,517.100000000049,517.1208,2015-01-01 01:26:14,bin5174,35, +abc,5175,5175,5175,1984-03-03,517.200000000049,517.22076,2015-01-01 01:26:15,bin5175,75, +abc,5176,5176,5176,1984-03-04,517.3000000000491,517.32074,2015-01-01 01:26:16,bin5176,35, +abc,5177,5177,5177,1984-03-05,517.4000000000491,517.4207,2015-01-01 01:26:17,bin5177,75, +abc,5178,5178,5178,1984-03-06,517.5000000000491,517.5207,2015-01-01 01:26:18,bin5178,35, +abc,5179,5179,5179,1984-03-07,517.6000000000491,517.62067,2015-01-01 01:26:19,bin5179,75, +abc,5180,5180,5180,1984-03-08,517.7000000000492,517.72064,2015-01-01 01:26:20,bin5180,35, +abc,5181,5181,5181,1984-03-09,517.8000000000492,517.8206,2015-01-01 01:26:21,bin5181,75, +abc,5182,5182,5182,1984-03-10,517.9000000000492,517.9206,2015-01-01 01:26:22,bin5182,35, +abc,5183,5183,5183,1984-03-11,518.0000000000492,518.02057,2015-01-01 01:26:23,bin5183,75, +abc,5184,5184,5184,1984-03-12,518.1000000000492,518.12054,2015-01-01 01:26:24,bin5184,35, +abc,5185,5185,5185,1984-03-13,518.2000000000493,518.2205,2015-01-01 01:26:25,bin5185,75, +abc,5186,5186,5186,1984-03-14,518.3000000000493,518.3205,2015-01-01 01:26:26,bin5186,35, +abc,5187,5187,5187,1984-03-15,518.4000000000493,518.4205,2015-01-01 01:26:27,bin5187,75, +abc,5188,5188,5188,1984-03-16,518.5000000000493,518.52045,2015-01-01 01:26:28,bin5188,35, +abc,5189,5189,5189,1984-03-17,518.6000000000494,518.6204,2015-01-01 01:26:29,bin5189,75, +abc,5190,5190,5190,1984-03-18,518.7000000000494,518.7204,2015-01-01 01:26:30,bin5190,35, +abc,5191,5191,5191,1984-03-19,518.8000000000494,518.8204,2015-01-01 01:26:31,bin5191,75, +abc,5192,5192,5192,1984-03-20,518.9000000000494,518.92035,2015-01-01 01:26:32,bin5192,35, +abc,5193,5193,5193,1984-03-21,519.0000000000495,519.0203,2015-01-01 01:26:33,bin5193,75, +abc,5194,5194,5194,1984-03-22,519.1000000000495,519.1203,2015-01-01 01:26:34,bin5194,35, +abc,5195,5195,5195,1984-03-23,519.2000000000495,519.2203,2015-01-01 01:26:35,bin5195,75, +abc,5196,5196,5196,1984-03-24,519.3000000000495,519.32025,2015-01-01 01:26:36,bin5196,35, +abc,5197,5197,5197,1984-03-25,519.4000000000495,519.4202,2015-01-01 01:26:37,bin5197,75, +abc,5198,5198,5198,1984-03-26,519.5000000000496,519.5202,2015-01-01 01:26:38,bin5198,35, +abc,5199,5199,5199,1984-03-27,519.6000000000496,519.6202,2015-01-01 01:26:39,bin5199,75, +abc,5200,5200,5200,1984-03-28,519.7000000000496,519.72015,2015-01-01 01:26:40,bin5200,35, +abc,5201,5201,5201,1984-03-29,519.8000000000496,519.8201,2015-01-01 01:26:41,bin5201,75, +abc,5202,5202,5202,1984-03-30,519.9000000000497,519.9201,2015-01-01 01:26:42,bin5202,35, +abc,5203,5203,5203,1984-03-31,520.0000000000497,520.0201,2015-01-01 01:26:43,bin5203,75, +abc,5204,5204,5204,1984-04-01,520.1000000000497,520.12006,2015-01-01 01:26:44,bin5204,35, +abc,5205,5205,5205,1984-04-02,520.2000000000497,520.22003,2015-01-01 01:26:45,bin5205,75, +abc,5206,5206,5206,1984-04-03,520.3000000000497,520.32,2015-01-01 01:26:46,bin5206,35, +abc,5207,5207,5207,1984-04-04,520.4000000000498,520.42,2015-01-01 01:26:47,bin5207,75, +abc,5208,5208,5208,1984-04-05,520.5000000000498,520.51996,2015-01-01 01:26:48,bin5208,35, +abc,5209,5209,5209,1984-04-06,520.6000000000498,520.61993,2015-01-01 01:26:49,bin5209,75, +abc,5210,5210,5210,1984-04-07,520.7000000000498,520.7199,2015-01-01 01:26:50,bin5210,35, +abc,5211,5211,5211,1984-04-08,520.8000000000499,520.8199,2015-01-01 01:26:51,bin5211,75, +abc,5212,5212,5212,1984-04-09,520.9000000000499,520.91986,2015-01-01 01:26:52,bin5212,35, +abc,5213,5213,5213,1984-04-10,521.0000000000499,521.01984,2015-01-01 01:26:53,bin5213,75, +abc,5214,5214,5214,1984-04-11,521.1000000000499,521.1198,2015-01-01 01:26:54,bin5214,35, +abc,5215,5215,5215,1984-04-12,521.20000000005,521.2198,2015-01-01 01:26:55,bin5215,75, +abc,5216,5216,5216,1984-04-13,521.30000000005,521.31976,2015-01-01 01:26:56,bin5216,35, +abc,5217,5217,5217,1984-04-14,521.40000000005,521.41974,2015-01-01 01:26:57,bin5217,75, +abc,5218,5218,5218,1984-04-15,521.50000000005,521.5197,2015-01-01 01:26:58,bin5218,35, +abc,5219,5219,5219,1984-04-16,521.60000000005,521.6197,2015-01-01 01:26:59,bin5219,75, +abc,5220,5220,5220,1984-04-17,521.7000000000501,521.71967,2015-01-01 01:27:00,bin5220,35, +abc,5221,5221,5221,1984-04-18,521.8000000000501,521.81964,2015-01-01 01:27:01,bin5221,75, +abc,5222,5222,5222,1984-04-19,521.9000000000501,521.9196,2015-01-01 01:27:02,bin5222,35, +abc,5223,5223,5223,1984-04-20,522.0000000000501,522.0196,2015-01-01 01:27:03,bin5223,75, +abc,5224,5224,5224,1984-04-21,522.1000000000502,522.11957,2015-01-01 01:27:04,bin5224,35, +abc,5225,5225,5225,1984-04-22,522.2000000000502,522.21954,2015-01-01 01:27:05,bin5225,75, +abc,5226,5226,5226,1984-04-23,522.3000000000502,522.3195,2015-01-01 01:27:06,bin5226,35, +abc,5227,5227,5227,1984-04-24,522.4000000000502,522.4195,2015-01-01 01:27:07,bin5227,75, +abc,5228,5228,5228,1984-04-25,522.5000000000502,522.5195,2015-01-01 01:27:08,bin5228,35, +abc,5229,5229,5229,1984-04-26,522.6000000000503,522.61945,2015-01-01 01:27:09,bin5229,75, +abc,5230,5230,5230,1984-04-27,522.7000000000503,522.7194,2015-01-01 01:27:10,bin5230,35, +abc,5231,5231,5231,1984-04-28,522.8000000000503,522.8194,2015-01-01 01:27:11,bin5231,75, +abc,5232,5232,5232,1984-04-29,522.9000000000503,522.9194,2015-01-01 01:27:12,bin5232,35, +abc,5233,5233,5233,1984-04-30,523.0000000000504,523.01935,2015-01-01 01:27:13,bin5233,75, +abc,5234,5234,5234,1984-05-01,523.1000000000504,523.1193,2015-01-01 01:27:14,bin5234,35, +abc,5235,5235,5235,1984-05-02,523.2000000000504,523.2193,2015-01-01 01:27:15,bin5235,75, +abc,5236,5236,5236,1984-05-03,523.3000000000504,523.3193,2015-01-01 01:27:16,bin5236,35, +abc,5237,5237,5237,1984-05-04,523.4000000000505,523.41925,2015-01-01 01:27:17,bin5237,75, +abc,5238,5238,5238,1984-05-05,523.5000000000505,523.5192,2015-01-01 01:27:18,bin5238,35, +abc,5239,5239,5239,1984-05-06,523.6000000000505,523.6192,2015-01-01 01:27:19,bin5239,75, +abc,5240,5240,5240,1984-05-07,523.7000000000505,523.7192,2015-01-01 01:27:20,bin5240,35, +abc,5241,5241,5241,1984-05-08,523.8000000000505,523.81915,2015-01-01 01:27:21,bin5241,75, +abc,5242,5242,5242,1984-05-09,523.9000000000506,523.9191,2015-01-01 01:27:22,bin5242,35, +abc,5243,5243,5243,1984-05-10,524.0000000000506,524.0191,2015-01-01 01:27:23,bin5243,75, +abc,5244,5244,5244,1984-05-11,524.1000000000506,524.1191,2015-01-01 01:27:24,bin5244,35, +abc,5245,5245,5245,1984-05-12,524.2000000000506,524.21906,2015-01-01 01:27:25,bin5245,75, +abc,5246,5246,5246,1984-05-13,524.3000000000507,524.31903,2015-01-01 01:27:26,bin5246,35, +abc,5247,5247,5247,1984-05-14,524.4000000000507,524.419,2015-01-01 01:27:27,bin5247,75, +abc,5248,5248,5248,1984-05-15,524.5000000000507,524.519,2015-01-01 01:27:28,bin5248,35, +abc,5249,5249,5249,1984-05-16,524.6000000000507,524.61896,2015-01-01 01:27:29,bin5249,75, +abc,5250,5250,5250,1984-05-17,524.7000000000507,524.71893,2015-01-01 01:27:30,bin5250,35, +abc,5251,5251,5251,1984-05-18,524.8000000000508,524.8189,2015-01-01 01:27:31,bin5251,75, +abc,5252,5252,5252,1984-05-19,524.9000000000508,524.9189,2015-01-01 01:27:32,bin5252,35, +abc,5253,5253,5253,1984-05-20,525.0000000000508,525.01886,2015-01-01 01:27:33,bin5253,75, +abc,5254,5254,5254,1984-05-21,525.1000000000508,525.11884,2015-01-01 01:27:34,bin5254,35, +abc,5255,5255,5255,1984-05-22,525.2000000000509,525.2188,2015-01-01 01:27:35,bin5255,75, +abc,5256,5256,5256,1984-05-23,525.3000000000509,525.3188,2015-01-01 01:27:36,bin5256,35, +abc,5257,5257,5257,1984-05-24,525.4000000000509,525.41876,2015-01-01 01:27:37,bin5257,75, +abc,5258,5258,5258,1984-05-25,525.5000000000509,525.51874,2015-01-01 01:27:38,bin5258,35, +abc,5259,5259,5259,1984-05-26,525.600000000051,525.6187,2015-01-01 01:27:39,bin5259,75, +abc,5260,5260,5260,1984-05-27,525.700000000051,525.7187,2015-01-01 01:27:40,bin5260,35, +abc,5261,5261,5261,1984-05-28,525.800000000051,525.81866,2015-01-01 01:27:41,bin5261,75, +abc,5262,5262,5262,1984-05-29,525.900000000051,525.91864,2015-01-01 01:27:42,bin5262,35, +abc,5263,5263,5263,1984-05-30,526.000000000051,526.0186,2015-01-01 01:27:43,bin5263,75, +abc,5264,5264,5264,1984-05-31,526.1000000000511,526.1186,2015-01-01 01:27:44,bin5264,35, +abc,5265,5265,5265,1984-06-01,526.2000000000511,526.21857,2015-01-01 01:27:45,bin5265,75, +abc,5266,5266,5266,1984-06-02,526.3000000000511,526.31854,2015-01-01 01:27:46,bin5266,35, +abc,5267,5267,5267,1984-06-03,526.4000000000511,526.4185,2015-01-01 01:27:47,bin5267,75, +abc,5268,5268,5268,1984-06-04,526.5000000000512,526.5185,2015-01-01 01:27:48,bin5268,35, +abc,5269,5269,5269,1984-06-05,526.6000000000512,526.61847,2015-01-01 01:27:49,bin5269,75, +abc,5270,5270,5270,1984-06-06,526.7000000000512,526.71844,2015-01-01 01:27:50,bin5270,35, +abc,5271,5271,5271,1984-06-07,526.8000000000512,526.8184,2015-01-01 01:27:51,bin5271,75, +abc,5272,5272,5272,1984-06-08,526.9000000000513,526.9184,2015-01-01 01:27:52,bin5272,35, +abc,5273,5273,5273,1984-06-09,527.0000000000513,527.0184,2015-01-01 01:27:53,bin5273,75, +abc,5274,5274,5274,1984-06-10,527.1000000000513,527.11835,2015-01-01 01:27:54,bin5274,35, +abc,5275,5275,5275,1984-06-11,527.2000000000513,527.2183,2015-01-01 01:27:55,bin5275,75, +abc,5276,5276,5276,1984-06-12,527.3000000000513,527.3183,2015-01-01 01:27:56,bin5276,35, +abc,5277,5277,5277,1984-06-13,527.4000000000514,527.4183,2015-01-01 01:27:57,bin5277,75, +abc,5278,5278,5278,1984-06-14,527.5000000000514,527.51825,2015-01-01 01:27:58,bin5278,35, +abc,5279,5279,5279,1984-06-15,527.6000000000514,527.6182,2015-01-01 01:27:59,bin5279,75, +abc,5280,5280,5280,1984-06-16,527.7000000000514,527.7182,2015-01-01 01:28:00,bin5280,35, +abc,5281,5281,5281,1984-06-17,527.8000000000515,527.8182,2015-01-01 01:28:01,bin5281,75, +abc,5282,5282,5282,1984-06-18,527.9000000000515,527.91815,2015-01-01 01:28:02,bin5282,35, +abc,5283,5283,5283,1984-06-19,528.0000000000515,528.0181,2015-01-01 01:28:03,bin5283,75, +abc,5284,5284,5284,1984-06-20,528.1000000000515,528.1181,2015-01-01 01:28:04,bin5284,35, +abc,5285,5285,5285,1984-06-21,528.2000000000515,528.2181,2015-01-01 01:28:05,bin5285,75, +abc,5286,5286,5286,1984-06-22,528.3000000000516,528.31805,2015-01-01 01:28:06,bin5286,35, +abc,5287,5287,5287,1984-06-23,528.4000000000516,528.418,2015-01-01 01:28:07,bin5287,75, +abc,5288,5288,5288,1984-06-24,528.5000000000516,528.518,2015-01-01 01:28:08,bin5288,35, +abc,5289,5289,5289,1984-06-25,528.6000000000516,528.618,2015-01-01 01:28:09,bin5289,75, +abc,5290,5290,5290,1984-06-26,528.7000000000517,528.71796,2015-01-01 01:28:10,bin5290,35, +abc,5291,5291,5291,1984-06-27,528.8000000000517,528.81793,2015-01-01 01:28:11,bin5291,75, +abc,5292,5292,5292,1984-06-28,528.9000000000517,528.9179,2015-01-01 01:28:12,bin5292,35, +abc,5293,5293,5293,1984-06-29,529.0000000000517,529.0179,2015-01-01 01:28:13,bin5293,75, +abc,5294,5294,5294,1984-06-30,529.1000000000518,529.11786,2015-01-01 01:28:14,bin5294,35, +abc,5295,5295,5295,1984-07-01,529.2000000000518,529.21783,2015-01-01 01:28:15,bin5295,75, +abc,5296,5296,5296,1984-07-02,529.3000000000518,529.3178,2015-01-01 01:28:16,bin5296,35, +abc,5297,5297,5297,1984-07-03,529.4000000000518,529.4178,2015-01-01 01:28:17,bin5297,75, +abc,5298,5298,5298,1984-07-04,529.5000000000518,529.51776,2015-01-01 01:28:18,bin5298,35, +abc,5299,5299,5299,1984-07-05,529.6000000000519,529.61774,2015-01-01 01:28:19,bin5299,75, +abc,5300,5300,5300,1984-07-06,529.7000000000519,529.7177,2015-01-01 01:28:20,bin5300,35, +abc,5301,5301,5301,1984-07-07,529.8000000000519,529.8177,2015-01-01 01:28:21,bin5301,75, +abc,5302,5302,5302,1984-07-08,529.9000000000519,529.91766,2015-01-01 01:28:22,bin5302,35, +abc,5303,5303,5303,1984-07-09,530.000000000052,530.01764,2015-01-01 01:28:23,bin5303,75, +abc,5304,5304,5304,1984-07-10,530.100000000052,530.1176,2015-01-01 01:28:24,bin5304,35, +abc,5305,5305,5305,1984-07-11,530.200000000052,530.2176,2015-01-01 01:28:25,bin5305,75, +abc,5306,5306,5306,1984-07-12,530.300000000052,530.31757,2015-01-01 01:28:26,bin5306,35, +abc,5307,5307,5307,1984-07-13,530.400000000052,530.41754,2015-01-01 01:28:27,bin5307,75, +abc,5308,5308,5308,1984-07-14,530.5000000000521,530.5175,2015-01-01 01:28:28,bin5308,35, +abc,5309,5309,5309,1984-07-15,530.6000000000521,530.6175,2015-01-01 01:28:29,bin5309,75, +abc,5310,5310,5310,1984-07-16,530.7000000000521,530.71747,2015-01-01 01:28:30,bin5310,35, +abc,5311,5311,5311,1984-07-17,530.8000000000521,530.81744,2015-01-01 01:28:31,bin5311,75, +abc,5312,5312,5312,1984-07-18,530.9000000000522,530.9174,2015-01-01 01:28:32,bin5312,35, +abc,5313,5313,5313,1984-07-19,531.0000000000522,531.0174,2015-01-01 01:28:33,bin5313,75, +abc,5314,5314,5314,1984-07-20,531.1000000000522,531.1174,2015-01-01 01:28:34,bin5314,35, +abc,5315,5315,5315,1984-07-21,531.2000000000522,531.21735,2015-01-01 01:28:35,bin5315,75, +abc,5316,5316,5316,1984-07-22,531.3000000000523,531.3173,2015-01-01 01:28:36,bin5316,35, +abc,5317,5317,5317,1984-07-23,531.4000000000523,531.4173,2015-01-01 01:28:37,bin5317,75, +abc,5318,5318,5318,1984-07-24,531.5000000000523,531.5173,2015-01-01 01:28:38,bin5318,35, +abc,5319,5319,5319,1984-07-25,531.6000000000523,531.61725,2015-01-01 01:28:39,bin5319,75, +abc,5320,5320,5320,1984-07-26,531.7000000000523,531.7172,2015-01-01 01:28:40,bin5320,35, +abc,5321,5321,5321,1984-07-27,531.8000000000524,531.8172,2015-01-01 01:28:41,bin5321,75, +abc,5322,5322,5322,1984-07-28,531.9000000000524,531.9172,2015-01-01 01:28:42,bin5322,35, +abc,5323,5323,5323,1984-07-29,532.0000000000524,532.01715,2015-01-01 01:28:43,bin5323,75, +abc,5324,5324,5324,1984-07-30,532.1000000000524,532.1171,2015-01-01 01:28:44,bin5324,35, +abc,5325,5325,5325,1984-07-31,532.2000000000525,532.2171,2015-01-01 01:28:45,bin5325,75, +abc,5326,5326,5326,1984-08-01,532.3000000000525,532.3171,2015-01-01 01:28:46,bin5326,35, +abc,5327,5327,5327,1984-08-02,532.4000000000525,532.41705,2015-01-01 01:28:47,bin5327,75, +abc,5328,5328,5328,1984-08-03,532.5000000000525,532.517,2015-01-01 01:28:48,bin5328,35, +abc,5329,5329,5329,1984-08-04,532.6000000000525,532.617,2015-01-01 01:28:49,bin5329,75, +abc,5330,5330,5330,1984-08-05,532.7000000000526,532.717,2015-01-01 01:28:50,bin5330,35, +abc,5331,5331,5331,1984-08-06,532.8000000000526,532.81696,2015-01-01 01:28:51,bin5331,75, +abc,5332,5332,5332,1984-08-07,532.9000000000526,532.91693,2015-01-01 01:28:52,bin5332,35, +abc,5333,5333,5333,1984-08-08,533.0000000000526,533.0169,2015-01-01 01:28:53,bin5333,75, +abc,5334,5334,5334,1984-08-09,533.1000000000527,533.1169,2015-01-01 01:28:54,bin5334,35, +abc,5335,5335,5335,1984-08-10,533.2000000000527,533.21686,2015-01-01 01:28:55,bin5335,75, +abc,5336,5336,5336,1984-08-11,533.3000000000527,533.31683,2015-01-01 01:28:56,bin5336,35, +abc,5337,5337,5337,1984-08-12,533.4000000000527,533.4168,2015-01-01 01:28:57,bin5337,75, +abc,5338,5338,5338,1984-08-13,533.5000000000528,533.5168,2015-01-01 01:28:58,bin5338,35, +abc,5339,5339,5339,1984-08-14,533.6000000000528,533.61676,2015-01-01 01:28:59,bin5339,75, +abc,5340,5340,5340,1984-08-15,533.7000000000528,533.71674,2015-01-01 01:29:00,bin5340,35, +abc,5341,5341,5341,1984-08-16,533.8000000000528,533.8167,2015-01-01 01:29:01,bin5341,75, +abc,5342,5342,5342,1984-08-17,533.9000000000528,533.9167,2015-01-01 01:29:02,bin5342,35, +abc,5343,5343,5343,1984-08-18,534.0000000000529,534.01666,2015-01-01 01:29:03,bin5343,75, +abc,5344,5344,5344,1984-08-19,534.1000000000529,534.11664,2015-01-01 01:29:04,bin5344,35, +abc,5345,5345,5345,1984-08-20,534.2000000000529,534.2166,2015-01-01 01:29:05,bin5345,75, +abc,5346,5346,5346,1984-08-21,534.3000000000529,534.3166,2015-01-01 01:29:06,bin5346,35, +abc,5347,5347,5347,1984-08-22,534.400000000053,534.41656,2015-01-01 01:29:07,bin5347,75, +abc,5348,5348,5348,1984-08-23,534.500000000053,534.51654,2015-01-01 01:29:08,bin5348,35, +abc,5349,5349,5349,1984-08-24,534.600000000053,534.6165,2015-01-01 01:29:09,bin5349,75, +abc,5350,5350,5350,1984-08-25,534.700000000053,534.7165,2015-01-01 01:29:10,bin5350,35, +abc,5351,5351,5351,1984-08-26,534.800000000053,534.81647,2015-01-01 01:29:11,bin5351,75, +abc,5352,5352,5352,1984-08-27,534.9000000000531,534.91644,2015-01-01 01:29:12,bin5352,35, +abc,5353,5353,5353,1984-08-28,535.0000000000531,535.0164,2015-01-01 01:29:13,bin5353,75, +abc,5354,5354,5354,1984-08-29,535.1000000000531,535.1164,2015-01-01 01:29:14,bin5354,35, +abc,5355,5355,5355,1984-08-30,535.2000000000531,535.2164,2015-01-01 01:29:15,bin5355,75, +abc,5356,5356,5356,1984-08-31,535.3000000000532,535.31635,2015-01-01 01:29:16,bin5356,35, +abc,5357,5357,5357,1984-09-01,535.4000000000532,535.4163,2015-01-01 01:29:17,bin5357,75, +abc,5358,5358,5358,1984-09-02,535.5000000000532,535.5163,2015-01-01 01:29:18,bin5358,35, +abc,5359,5359,5359,1984-09-03,535.6000000000532,535.6163,2015-01-01 01:29:19,bin5359,75, +abc,5360,5360,5360,1984-09-04,535.7000000000533,535.71625,2015-01-01 01:29:20,bin5360,35, +abc,5361,5361,5361,1984-09-05,535.8000000000533,535.8162,2015-01-01 01:29:21,bin5361,75, +abc,5362,5362,5362,1984-09-06,535.9000000000533,535.9162,2015-01-01 01:29:22,bin5362,35, +abc,5363,5363,5363,1984-09-07,536.0000000000533,536.0162,2015-01-01 01:29:23,bin5363,75, +abc,5364,5364,5364,1984-09-08,536.1000000000533,536.11615,2015-01-01 01:29:24,bin5364,35, +abc,5365,5365,5365,1984-09-09,536.2000000000534,536.2161,2015-01-01 01:29:25,bin5365,75, +abc,5366,5366,5366,1984-09-10,536.3000000000534,536.3161,2015-01-01 01:29:26,bin5366,35, +abc,5367,5367,5367,1984-09-11,536.4000000000534,536.4161,2015-01-01 01:29:27,bin5367,75, +abc,5368,5368,5368,1984-09-12,536.5000000000534,536.51605,2015-01-01 01:29:28,bin5368,35, +abc,5369,5369,5369,1984-09-13,536.6000000000535,536.616,2015-01-01 01:29:29,bin5369,75, +abc,5370,5370,5370,1984-09-14,536.7000000000535,536.716,2015-01-01 01:29:30,bin5370,35, +abc,5371,5371,5371,1984-09-15,536.8000000000535,536.816,2015-01-01 01:29:31,bin5371,75, +abc,5372,5372,5372,1984-09-16,536.9000000000535,536.91595,2015-01-01 01:29:32,bin5372,35, +abc,5373,5373,5373,1984-09-17,537.0000000000535,537.0159,2015-01-01 01:29:33,bin5373,75, +abc,5374,5374,5374,1984-09-18,537.1000000000536,537.1159,2015-01-01 01:29:34,bin5374,35, +abc,5375,5375,5375,1984-09-19,537.2000000000536,537.2159,2015-01-01 01:29:35,bin5375,75, +abc,5376,5376,5376,1984-09-20,537.3000000000536,537.31586,2015-01-01 01:29:36,bin5376,35, +abc,5377,5377,5377,1984-09-21,537.4000000000536,537.41583,2015-01-01 01:29:37,bin5377,75, +abc,5378,5378,5378,1984-09-22,537.5000000000537,537.5158,2015-01-01 01:29:38,bin5378,35, +abc,5379,5379,5379,1984-09-23,537.6000000000537,537.6158,2015-01-01 01:29:39,bin5379,75, +abc,5380,5380,5380,1984-09-24,537.7000000000537,537.71576,2015-01-01 01:29:40,bin5380,35, +abc,5381,5381,5381,1984-09-25,537.8000000000537,537.81573,2015-01-01 01:29:41,bin5381,75, +abc,5382,5382,5382,1984-09-26,537.9000000000538,537.9157,2015-01-01 01:29:42,bin5382,35, +abc,5383,5383,5383,1984-09-27,538.0000000000538,538.0157,2015-01-01 01:29:43,bin5383,75, +abc,5384,5384,5384,1984-09-28,538.1000000000538,538.11566,2015-01-01 01:29:44,bin5384,35, +abc,5385,5385,5385,1984-09-29,538.2000000000538,538.21564,2015-01-01 01:29:45,bin5385,75, +abc,5386,5386,5386,1984-09-30,538.3000000000538,538.3156,2015-01-01 01:29:46,bin5386,35, +abc,5387,5387,5387,1984-10-01,538.4000000000539,538.4156,2015-01-01 01:29:47,bin5387,75, +abc,5388,5388,5388,1984-10-02,538.5000000000539,538.51556,2015-01-01 01:29:48,bin5388,35, +abc,5389,5389,5389,1984-10-03,538.6000000000539,538.61554,2015-01-01 01:29:49,bin5389,75, +abc,5390,5390,5390,1984-10-04,538.7000000000539,538.7155,2015-01-01 01:29:50,bin5390,35, +abc,5391,5391,5391,1984-10-05,538.800000000054,538.8155,2015-01-01 01:29:51,bin5391,75, +abc,5392,5392,5392,1984-10-06,538.900000000054,538.91547,2015-01-01 01:29:52,bin5392,35, +abc,5393,5393,5393,1984-10-07,539.000000000054,539.01544,2015-01-01 01:29:53,bin5393,75, +abc,5394,5394,5394,1984-10-08,539.100000000054,539.1154,2015-01-01 01:29:54,bin5394,35, +abc,5395,5395,5395,1984-10-09,539.200000000054,539.2154,2015-01-01 01:29:55,bin5395,75, +abc,5396,5396,5396,1984-10-10,539.3000000000541,539.31537,2015-01-01 01:29:56,bin5396,35, +abc,5397,5397,5397,1984-10-11,539.4000000000541,539.41534,2015-01-01 01:29:57,bin5397,75, +abc,5398,5398,5398,1984-10-12,539.5000000000541,539.5153,2015-01-01 01:29:58,bin5398,35, +abc,5399,5399,5399,1984-10-13,539.6000000000541,539.6153,2015-01-01 01:29:59,bin5399,75, +abc,5400,5400,5400,1984-10-14,539.7000000000542,539.7153,2015-01-01 01:30:00,bin5400,35, +abc,5401,5401,5401,1984-10-15,539.8000000000542,539.81525,2015-01-01 01:30:01,bin5401,75, +abc,5402,5402,5402,1984-10-16,539.9000000000542,539.9152,2015-01-01 01:30:02,bin5402,35, +abc,5403,5403,5403,1984-10-17,540.0000000000542,540.0152,2015-01-01 01:30:03,bin5403,75, +abc,5404,5404,5404,1984-10-18,540.1000000000543,540.1152,2015-01-01 01:30:04,bin5404,35, +abc,5405,5405,5405,1984-10-19,540.2000000000543,540.21515,2015-01-01 01:30:05,bin5405,75, +abc,5406,5406,5406,1984-10-20,540.3000000000543,540.3151,2015-01-01 01:30:06,bin5406,35, +abc,5407,5407,5407,1984-10-21,540.4000000000543,540.4151,2015-01-01 01:30:07,bin5407,75, +abc,5408,5408,5408,1984-10-22,540.5000000000543,540.5151,2015-01-01 01:30:08,bin5408,35, +abc,5409,5409,5409,1984-10-23,540.6000000000544,540.61505,2015-01-01 01:30:09,bin5409,75, +abc,5410,5410,5410,1984-10-24,540.7000000000544,540.715,2015-01-01 01:30:10,bin5410,35, +abc,5411,5411,5411,1984-10-25,540.8000000000544,540.815,2015-01-01 01:30:11,bin5411,75, +abc,5412,5412,5412,1984-10-26,540.9000000000544,540.915,2015-01-01 01:30:12,bin5412,35, +abc,5413,5413,5413,1984-10-27,541.0000000000545,541.01495,2015-01-01 01:30:13,bin5413,75, +abc,5414,5414,5414,1984-10-28,541.1000000000545,541.1149,2015-01-01 01:30:14,bin5414,35, +abc,5415,5415,5415,1984-10-29,541.2000000000545,541.2149,2015-01-01 01:30:15,bin5415,75, +abc,5416,5416,5416,1984-10-30,541.3000000000545,541.3149,2015-01-01 01:30:16,bin5416,35, +abc,5417,5417,5417,1984-10-31,541.4000000000545,541.41486,2015-01-01 01:30:17,bin5417,75, +abc,5418,5418,5418,1984-11-01,541.5000000000546,541.51483,2015-01-01 01:30:18,bin5418,35, +abc,5419,5419,5419,1984-11-02,541.6000000000546,541.6148,2015-01-01 01:30:19,bin5419,75, +abc,5420,5420,5420,1984-11-03,541.7000000000546,541.7148,2015-01-01 01:30:20,bin5420,35, +abc,5421,5421,5421,1984-11-04,541.8000000000546,541.81476,2015-01-01 01:30:21,bin5421,75, +abc,5422,5422,5422,1984-11-05,541.9000000000547,541.91473,2015-01-01 01:30:22,bin5422,35, +abc,5423,5423,5423,1984-11-06,542.0000000000547,542.0147,2015-01-01 01:30:23,bin5423,75, +abc,5424,5424,5424,1984-11-07,542.1000000000547,542.1147,2015-01-01 01:30:24,bin5424,35, +abc,5425,5425,5425,1984-11-08,542.2000000000547,542.21466,2015-01-01 01:30:25,bin5425,75, +abc,5426,5426,5426,1984-11-09,542.3000000000548,542.31464,2015-01-01 01:30:26,bin5426,35, +abc,5427,5427,5427,1984-11-10,542.4000000000548,542.4146,2015-01-01 01:30:27,bin5427,75, +abc,5428,5428,5428,1984-11-11,542.5000000000548,542.5146,2015-01-01 01:30:28,bin5428,35, +abc,5429,5429,5429,1984-11-12,542.6000000000548,542.61456,2015-01-01 01:30:29,bin5429,75, +abc,5430,5430,5430,1984-11-13,542.7000000000548,542.71454,2015-01-01 01:30:30,bin5430,35, +abc,5431,5431,5431,1984-11-14,542.8000000000549,542.8145,2015-01-01 01:30:31,bin5431,75, +abc,5432,5432,5432,1984-11-15,542.9000000000549,542.9145,2015-01-01 01:30:32,bin5432,35, +abc,5433,5433,5433,1984-11-16,543.0000000000549,543.01447,2015-01-01 01:30:33,bin5433,75, +abc,5434,5434,5434,1984-11-17,543.1000000000549,543.11444,2015-01-01 01:30:34,bin5434,35, +abc,5435,5435,5435,1984-11-18,543.200000000055,543.2144,2015-01-01 01:30:35,bin5435,75, +abc,5436,5436,5436,1984-11-19,543.300000000055,543.3144,2015-01-01 01:30:36,bin5436,35, +abc,5437,5437,5437,1984-11-20,543.400000000055,543.41437,2015-01-01 01:30:37,bin5437,75, +abc,5438,5438,5438,1984-11-21,543.500000000055,543.51434,2015-01-01 01:30:38,bin5438,35, +abc,5439,5439,5439,1984-11-22,543.600000000055,543.6143,2015-01-01 01:30:39,bin5439,75, +abc,5440,5440,5440,1984-11-23,543.7000000000551,543.7143,2015-01-01 01:30:40,bin5440,35, +abc,5441,5441,5441,1984-11-24,543.8000000000551,543.8143,2015-01-01 01:30:41,bin5441,75, +abc,5442,5442,5442,1984-11-25,543.9000000000551,543.91425,2015-01-01 01:30:42,bin5442,35, +abc,5443,5443,5443,1984-11-26,544.0000000000551,544.0142,2015-01-01 01:30:43,bin5443,75, +abc,5444,5444,5444,1984-11-27,544.1000000000552,544.1142,2015-01-01 01:30:44,bin5444,35, +abc,5445,5445,5445,1984-11-28,544.2000000000552,544.2142,2015-01-01 01:30:45,bin5445,75, +abc,5446,5446,5446,1984-11-29,544.3000000000552,544.31415,2015-01-01 01:30:46,bin5446,35, +abc,5447,5447,5447,1984-11-30,544.4000000000552,544.4141,2015-01-01 01:30:47,bin5447,75, +abc,5448,5448,5448,1984-12-01,544.5000000000553,544.5141,2015-01-01 01:30:48,bin5448,35, +abc,5449,5449,5449,1984-12-02,544.6000000000553,544.6141,2015-01-01 01:30:49,bin5449,75, +abc,5450,5450,5450,1984-12-03,544.7000000000553,544.71405,2015-01-01 01:30:50,bin5450,35, +abc,5451,5451,5451,1984-12-04,544.8000000000553,544.814,2015-01-01 01:30:51,bin5451,75, +abc,5452,5452,5452,1984-12-05,544.9000000000553,544.914,2015-01-01 01:30:52,bin5452,35, +abc,5453,5453,5453,1984-12-06,545.0000000000554,545.014,2015-01-01 01:30:53,bin5453,75, +abc,5454,5454,5454,1984-12-07,545.1000000000554,545.11395,2015-01-01 01:30:54,bin5454,35, +abc,5455,5455,5455,1984-12-08,545.2000000000554,545.2139,2015-01-01 01:30:55,bin5455,75, +abc,5456,5456,5456,1984-12-09,545.3000000000554,545.3139,2015-01-01 01:30:56,bin5456,35, +abc,5457,5457,5457,1984-12-10,545.4000000000555,545.4139,2015-01-01 01:30:57,bin5457,75, +abc,5458,5458,5458,1984-12-11,545.5000000000555,545.51385,2015-01-01 01:30:58,bin5458,35, +abc,5459,5459,5459,1984-12-12,545.6000000000555,545.61383,2015-01-01 01:30:59,bin5459,75, +abc,5460,5460,5460,1984-12-13,545.7000000000555,545.7138,2015-01-01 01:31:00,bin5460,35, +abc,5461,5461,5461,1984-12-14,545.8000000000555,545.8138,2015-01-01 01:31:01,bin5461,75, +abc,5462,5462,5462,1984-12-15,545.9000000000556,545.91376,2015-01-01 01:31:02,bin5462,35, +abc,5463,5463,5463,1984-12-16,546.0000000000556,546.01373,2015-01-01 01:31:03,bin5463,75, +abc,5464,5464,5464,1984-12-17,546.1000000000556,546.1137,2015-01-01 01:31:04,bin5464,35, +abc,5465,5465,5465,1984-12-18,546.2000000000556,546.2137,2015-01-01 01:31:05,bin5465,75, +abc,5466,5466,5466,1984-12-19,546.3000000000557,546.31366,2015-01-01 01:31:06,bin5466,35, +abc,5467,5467,5467,1984-12-20,546.4000000000557,546.41364,2015-01-01 01:31:07,bin5467,75, +abc,5468,5468,5468,1984-12-21,546.5000000000557,546.5136,2015-01-01 01:31:08,bin5468,35, +abc,5469,5469,5469,1984-12-22,546.6000000000557,546.6136,2015-01-01 01:31:09,bin5469,75, +abc,5470,5470,5470,1984-12-23,546.7000000000558,546.71356,2015-01-01 01:31:10,bin5470,35, +abc,5471,5471,5471,1984-12-24,546.8000000000558,546.81354,2015-01-01 01:31:11,bin5471,75, +abc,5472,5472,5472,1984-12-25,546.9000000000558,546.9135,2015-01-01 01:31:12,bin5472,35, +abc,5473,5473,5473,1984-12-26,547.0000000000558,547.0135,2015-01-01 01:31:13,bin5473,75, +abc,5474,5474,5474,1984-12-27,547.1000000000558,547.11346,2015-01-01 01:31:14,bin5474,35, +abc,5475,5475,5475,1984-12-28,547.2000000000559,547.21344,2015-01-01 01:31:15,bin5475,75, +abc,5476,5476,5476,1984-12-29,547.3000000000559,547.3134,2015-01-01 01:31:16,bin5476,35, +abc,5477,5477,5477,1984-12-30,547.4000000000559,547.4134,2015-01-01 01:31:17,bin5477,75, +abc,5478,5478,5478,1984-12-31,547.5000000000559,547.51337,2015-01-01 01:31:18,bin5478,35, +abc,5479,5479,5479,1985-01-01,547.600000000056,547.61334,2015-01-01 01:31:19,bin5479,75, +abc,5480,5480,5480,1985-01-02,547.700000000056,547.7133,2015-01-01 01:31:20,bin5480,35, +abc,5481,5481,5481,1985-01-03,547.800000000056,547.8133,2015-01-01 01:31:21,bin5481,75, +abc,5482,5482,5482,1985-01-04,547.900000000056,547.91327,2015-01-01 01:31:22,bin5482,35, +abc,5483,5483,5483,1985-01-05,548.000000000056,548.01324,2015-01-01 01:31:23,bin5483,75, +abc,5484,5484,5484,1985-01-06,548.1000000000561,548.1132,2015-01-01 01:31:24,bin5484,35, +abc,5485,5485,5485,1985-01-07,548.2000000000561,548.2132,2015-01-01 01:31:25,bin5485,75, +abc,5486,5486,5486,1985-01-08,548.3000000000561,548.3132,2015-01-01 01:31:26,bin5486,35, +abc,5487,5487,5487,1985-01-09,548.4000000000561,548.41315,2015-01-01 01:31:27,bin5487,75, +abc,5488,5488,5488,1985-01-10,548.5000000000562,548.5131,2015-01-01 01:31:28,bin5488,35, +abc,5489,5489,5489,1985-01-11,548.6000000000562,548.6131,2015-01-01 01:31:29,bin5489,75, +abc,5490,5490,5490,1985-01-12,548.7000000000562,548.7131,2015-01-01 01:31:30,bin5490,35, +abc,5491,5491,5491,1985-01-13,548.8000000000562,548.81305,2015-01-01 01:31:31,bin5491,75, +abc,5492,5492,5492,1985-01-14,548.9000000000563,548.913,2015-01-01 01:31:32,bin5492,35, +abc,5493,5493,5493,1985-01-15,549.0000000000563,549.013,2015-01-01 01:31:33,bin5493,75, +abc,5494,5494,5494,1985-01-16,549.1000000000563,549.113,2015-01-01 01:31:34,bin5494,35, +abc,5495,5495,5495,1985-01-17,549.2000000000563,549.21295,2015-01-01 01:31:35,bin5495,75, +abc,5496,5496,5496,1985-01-18,549.3000000000563,549.3129,2015-01-01 01:31:36,bin5496,35, +abc,5497,5497,5497,1985-01-19,549.4000000000564,549.4129,2015-01-01 01:31:37,bin5497,75, +abc,5498,5498,5498,1985-01-20,549.5000000000564,549.5129,2015-01-01 01:31:38,bin5498,35, +abc,5499,5499,5499,1985-01-21,549.6000000000564,549.61285,2015-01-01 01:31:39,bin5499,75, +abc,5500,5500,5500,1985-01-22,549.7000000000564,549.7128,2015-01-01 01:31:40,bin5500,35, +abc,5501,5501,5501,1985-01-23,549.8000000000565,549.8128,2015-01-01 01:31:41,bin5501,75, +abc,5502,5502,5502,1985-01-24,549.9000000000565,549.9128,2015-01-01 01:31:42,bin5502,35, +abc,5503,5503,5503,1985-01-25,550.0000000000565,550.01276,2015-01-01 01:31:43,bin5503,75, +abc,5504,5504,5504,1985-01-26,550.1000000000565,550.11273,2015-01-01 01:31:44,bin5504,35, +abc,5505,5505,5505,1985-01-27,550.2000000000565,550.2127,2015-01-01 01:31:45,bin5505,75, +abc,5506,5506,5506,1985-01-28,550.3000000000566,550.3127,2015-01-01 01:31:46,bin5506,35, +abc,5507,5507,5507,1985-01-29,550.4000000000566,550.41266,2015-01-01 01:31:47,bin5507,75, +abc,5508,5508,5508,1985-01-30,550.5000000000566,550.51263,2015-01-01 01:31:48,bin5508,35, +abc,5509,5509,5509,1985-01-31,550.6000000000566,550.6126,2015-01-01 01:31:49,bin5509,75, +abc,5510,5510,5510,1985-02-01,550.7000000000567,550.7126,2015-01-01 01:31:50,bin5510,35, +abc,5511,5511,5511,1985-02-02,550.8000000000567,550.81256,2015-01-01 01:31:51,bin5511,75, +abc,5512,5512,5512,1985-02-03,550.9000000000567,550.91254,2015-01-01 01:31:52,bin5512,35, +abc,5513,5513,5513,1985-02-04,551.0000000000567,551.0125,2015-01-01 01:31:53,bin5513,75, +abc,5514,5514,5514,1985-02-05,551.1000000000568,551.1125,2015-01-01 01:31:54,bin5514,35, +abc,5515,5515,5515,1985-02-06,551.2000000000568,551.21246,2015-01-01 01:31:55,bin5515,75, +abc,5516,5516,5516,1985-02-07,551.3000000000568,551.31244,2015-01-01 01:31:56,bin5516,35, +abc,5517,5517,5517,1985-02-08,551.4000000000568,551.4124,2015-01-01 01:31:57,bin5517,75, +abc,5518,5518,5518,1985-02-09,551.5000000000568,551.5124,2015-01-01 01:31:58,bin5518,35, +abc,5519,5519,5519,1985-02-10,551.6000000000569,551.61237,2015-01-01 01:31:59,bin5519,75, +abc,5520,5520,5520,1985-02-11,551.7000000000569,551.71234,2015-01-01 01:32:00,bin5520,35, +abc,5521,5521,5521,1985-02-12,551.8000000000569,551.8123,2015-01-01 01:32:01,bin5521,75, +abc,5522,5522,5522,1985-02-13,551.9000000000569,551.9123,2015-01-01 01:32:02,bin5522,35, +abc,5523,5523,5523,1985-02-14,552.000000000057,552.01227,2015-01-01 01:32:03,bin5523,75, +abc,5524,5524,5524,1985-02-15,552.100000000057,552.11224,2015-01-01 01:32:04,bin5524,35, +abc,5525,5525,5525,1985-02-16,552.200000000057,552.2122,2015-01-01 01:32:05,bin5525,75, +abc,5526,5526,5526,1985-02-17,552.300000000057,552.3122,2015-01-01 01:32:06,bin5526,35, +abc,5527,5527,5527,1985-02-18,552.400000000057,552.4122,2015-01-01 01:32:07,bin5527,75, +abc,5528,5528,5528,1985-02-19,552.5000000000571,552.51215,2015-01-01 01:32:08,bin5528,35, +abc,5529,5529,5529,1985-02-20,552.6000000000571,552.6121,2015-01-01 01:32:09,bin5529,75, +abc,5530,5530,5530,1985-02-21,552.7000000000571,552.7121,2015-01-01 01:32:10,bin5530,35, +abc,5531,5531,5531,1985-02-22,552.8000000000571,552.8121,2015-01-01 01:32:11,bin5531,75, +abc,5532,5532,5532,1985-02-23,552.9000000000572,552.91205,2015-01-01 01:32:12,bin5532,35, +abc,5533,5533,5533,1985-02-24,553.0000000000572,553.012,2015-01-01 01:32:13,bin5533,75, +abc,5534,5534,5534,1985-02-25,553.1000000000572,553.112,2015-01-01 01:32:14,bin5534,35, +abc,5535,5535,5535,1985-02-26,553.2000000000572,553.212,2015-01-01 01:32:15,bin5535,75, +abc,5536,5536,5536,1985-02-27,553.3000000000573,553.31195,2015-01-01 01:32:16,bin5536,35, +abc,5537,5537,5537,1985-02-28,553.4000000000573,553.4119,2015-01-01 01:32:17,bin5537,75, +abc,5538,5538,5538,1985-03-01,553.5000000000573,553.5119,2015-01-01 01:32:18,bin5538,35, +abc,5539,5539,5539,1985-03-02,553.6000000000573,553.6119,2015-01-01 01:32:19,bin5539,75, +abc,5540,5540,5540,1985-03-03,553.7000000000573,553.71185,2015-01-01 01:32:20,bin5540,35, +abc,5541,5541,5541,1985-03-04,553.8000000000574,553.8118,2015-01-01 01:32:21,bin5541,75, +abc,5542,5542,5542,1985-03-05,553.9000000000574,553.9118,2015-01-01 01:32:22,bin5542,35, +abc,5543,5543,5543,1985-03-06,554.0000000000574,554.0118,2015-01-01 01:32:23,bin5543,75, +abc,5544,5544,5544,1985-03-07,554.1000000000574,554.11176,2015-01-01 01:32:24,bin5544,35, +abc,5545,5545,5545,1985-03-08,554.2000000000575,554.21173,2015-01-01 01:32:25,bin5545,75, +abc,5546,5546,5546,1985-03-09,554.3000000000575,554.3117,2015-01-01 01:32:26,bin5546,35, +abc,5547,5547,5547,1985-03-10,554.4000000000575,554.4117,2015-01-01 01:32:27,bin5547,75, +abc,5548,5548,5548,1985-03-11,554.5000000000575,554.51166,2015-01-01 01:32:28,bin5548,35, +abc,5549,5549,5549,1985-03-12,554.6000000000575,554.61163,2015-01-01 01:32:29,bin5549,75, +abc,5550,5550,5550,1985-03-13,554.7000000000576,554.7116,2015-01-01 01:32:30,bin5550,35, +abc,5551,5551,5551,1985-03-14,554.8000000000576,554.8116,2015-01-01 01:32:31,bin5551,75, +abc,5552,5552,5552,1985-03-15,554.9000000000576,554.91156,2015-01-01 01:32:32,bin5552,35, +abc,5553,5553,5553,1985-03-16,555.0000000000576,555.01154,2015-01-01 01:32:33,bin5553,75, +abc,5554,5554,5554,1985-03-17,555.1000000000577,555.1115,2015-01-01 01:32:34,bin5554,35, +abc,5555,5555,5555,1985-03-18,555.2000000000577,555.2115,2015-01-01 01:32:35,bin5555,75, +abc,5556,5556,5556,1985-03-19,555.3000000000577,555.31146,2015-01-01 01:32:36,bin5556,35, +abc,5557,5557,5557,1985-03-20,555.4000000000577,555.41144,2015-01-01 01:32:37,bin5557,75, +abc,5558,5558,5558,1985-03-21,555.5000000000578,555.5114,2015-01-01 01:32:38,bin5558,35, +abc,5559,5559,5559,1985-03-22,555.6000000000578,555.6114,2015-01-01 01:32:39,bin5559,75, +abc,5560,5560,5560,1985-03-23,555.7000000000578,555.71136,2015-01-01 01:32:40,bin5560,35, +abc,5561,5561,5561,1985-03-24,555.8000000000578,555.81134,2015-01-01 01:32:41,bin5561,75, +abc,5562,5562,5562,1985-03-25,555.9000000000578,555.9113,2015-01-01 01:32:42,bin5562,35, +abc,5563,5563,5563,1985-03-26,556.0000000000579,556.0113,2015-01-01 01:32:43,bin5563,75, +abc,5564,5564,5564,1985-03-27,556.1000000000579,556.11127,2015-01-01 01:32:44,bin5564,35, +abc,5565,5565,5565,1985-03-28,556.2000000000579,556.21124,2015-01-01 01:32:45,bin5565,75, +abc,5566,5566,5566,1985-03-29,556.3000000000579,556.3112,2015-01-01 01:32:46,bin5566,35, +abc,5567,5567,5567,1985-03-30,556.400000000058,556.4112,2015-01-01 01:32:47,bin5567,75, +abc,5568,5568,5568,1985-03-31,556.500000000058,556.51117,2015-01-01 01:32:48,bin5568,35, +abc,5569,5569,5569,1985-04-01,556.600000000058,556.61115,2015-01-01 01:32:49,bin5569,75, +abc,5570,5570,5570,1985-04-02,556.700000000058,556.7111,2015-01-01 01:32:50,bin5570,35, +abc,5571,5571,5571,1985-04-03,556.800000000058,556.8111,2015-01-01 01:32:51,bin5571,75, +abc,5572,5572,5572,1985-04-04,556.9000000000581,556.9111,2015-01-01 01:32:52,bin5572,35, +abc,5573,5573,5573,1985-04-05,557.0000000000581,557.01105,2015-01-01 01:32:53,bin5573,75, +abc,5574,5574,5574,1985-04-06,557.1000000000581,557.111,2015-01-01 01:32:54,bin5574,35, +abc,5575,5575,5575,1985-04-07,557.2000000000581,557.211,2015-01-01 01:32:55,bin5575,75, +abc,5576,5576,5576,1985-04-08,557.3000000000582,557.311,2015-01-01 01:32:56,bin5576,35, +abc,5577,5577,5577,1985-04-09,557.4000000000582,557.41095,2015-01-01 01:32:57,bin5577,75, +abc,5578,5578,5578,1985-04-10,557.5000000000582,557.5109,2015-01-01 01:32:58,bin5578,35, +abc,5579,5579,5579,1985-04-11,557.6000000000582,557.6109,2015-01-01 01:32:59,bin5579,75, +abc,5580,5580,5580,1985-04-12,557.7000000000583,557.7109,2015-01-01 01:33:00,bin5580,35, +abc,5581,5581,5581,1985-04-13,557.8000000000583,557.81085,2015-01-01 01:33:01,bin5581,75, +abc,5582,5582,5582,1985-04-14,557.9000000000583,557.9108,2015-01-01 01:33:02,bin5582,35, +abc,5583,5583,5583,1985-04-15,558.0000000000583,558.0108,2015-01-01 01:33:03,bin5583,75, +abc,5584,5584,5584,1985-04-16,558.1000000000583,558.1108,2015-01-01 01:33:04,bin5584,35, +abc,5585,5585,5585,1985-04-17,558.2000000000584,558.21075,2015-01-01 01:33:05,bin5585,75, +abc,5586,5586,5586,1985-04-18,558.3000000000584,558.3107,2015-01-01 01:33:06,bin5586,35, +abc,5587,5587,5587,1985-04-19,558.4000000000584,558.4107,2015-01-01 01:33:07,bin5587,75, +abc,5588,5588,5588,1985-04-20,558.5000000000584,558.5107,2015-01-01 01:33:08,bin5588,35, +abc,5589,5589,5589,1985-04-21,558.6000000000585,558.61066,2015-01-01 01:33:09,bin5589,75, +abc,5590,5590,5590,1985-04-22,558.7000000000585,558.71063,2015-01-01 01:33:10,bin5590,35, +abc,5591,5591,5591,1985-04-23,558.8000000000585,558.8106,2015-01-01 01:33:11,bin5591,75, +abc,5592,5592,5592,1985-04-24,558.9000000000585,558.9106,2015-01-01 01:33:12,bin5592,35, +abc,5593,5593,5593,1985-04-25,559.0000000000585,559.01056,2015-01-01 01:33:13,bin5593,75, +abc,5594,5594,5594,1985-04-26,559.1000000000586,559.11053,2015-01-01 01:33:14,bin5594,35, +abc,5595,5595,5595,1985-04-27,559.2000000000586,559.2105,2015-01-01 01:33:15,bin5595,75, +abc,5596,5596,5596,1985-04-28,559.3000000000586,559.3105,2015-01-01 01:33:16,bin5596,35, +abc,5597,5597,5597,1985-04-29,559.4000000000586,559.41046,2015-01-01 01:33:17,bin5597,75, +abc,5598,5598,5598,1985-04-30,559.5000000000587,559.51044,2015-01-01 01:33:18,bin5598,35, +abc,5599,5599,5599,1985-05-01,559.6000000000587,559.6104,2015-01-01 01:33:19,bin5599,75, +abc,5600,5600,5600,1985-05-02,559.7000000000587,559.7104,2015-01-01 01:33:20,bin5600,35, +abc,5601,5601,5601,1985-05-03,559.8000000000587,559.81036,2015-01-01 01:33:21,bin5601,75, +abc,5602,5602,5602,1985-05-04,559.9000000000588,559.91034,2015-01-01 01:33:22,bin5602,35, +abc,5603,5603,5603,1985-05-05,560.0000000000588,560.0103,2015-01-01 01:33:23,bin5603,75, +abc,5604,5604,5604,1985-05-06,560.1000000000588,560.1103,2015-01-01 01:33:24,bin5604,35, +abc,5605,5605,5605,1985-05-07,560.2000000000588,560.21027,2015-01-01 01:33:25,bin5605,75, +abc,5606,5606,5606,1985-05-08,560.3000000000588,560.31024,2015-01-01 01:33:26,bin5606,35, +abc,5607,5607,5607,1985-05-09,560.4000000000589,560.4102,2015-01-01 01:33:27,bin5607,75, +abc,5608,5608,5608,1985-05-10,560.5000000000589,560.5102,2015-01-01 01:33:28,bin5608,35, +abc,5609,5609,5609,1985-05-11,560.6000000000589,560.61017,2015-01-01 01:33:29,bin5609,75, +abc,5610,5610,5610,1985-05-12,560.7000000000589,560.71014,2015-01-01 01:33:30,bin5610,35, +abc,5611,5611,5611,1985-05-13,560.800000000059,560.8101,2015-01-01 01:33:31,bin5611,75, +abc,5612,5612,5612,1985-05-14,560.900000000059,560.9101,2015-01-01 01:33:32,bin5612,35, +abc,5613,5613,5613,1985-05-15,561.000000000059,561.0101,2015-01-01 01:33:33,bin5613,75, +abc,5614,5614,5614,1985-05-16,561.100000000059,561.11005,2015-01-01 01:33:34,bin5614,35, +abc,5615,5615,5615,1985-05-17,561.200000000059,561.21,2015-01-01 01:33:35,bin5615,75, +abc,5616,5616,5616,1985-05-18,561.3000000000591,561.31,2015-01-01 01:33:36,bin5616,35, +abc,5617,5617,5617,1985-05-19,561.4000000000591,561.41,2015-01-01 01:33:37,bin5617,75, +abc,5618,5618,5618,1985-05-20,561.5000000000591,561.50995,2015-01-01 01:33:38,bin5618,35, +abc,5619,5619,5619,1985-05-21,561.6000000000591,561.6099,2015-01-01 01:33:39,bin5619,75, +abc,5620,5620,5620,1985-05-22,561.7000000000592,561.7099,2015-01-01 01:33:40,bin5620,35, +abc,5621,5621,5621,1985-05-23,561.8000000000592,561.8099,2015-01-01 01:33:41,bin5621,75, +abc,5622,5622,5622,1985-05-24,561.9000000000592,561.90985,2015-01-01 01:33:42,bin5622,35, +abc,5623,5623,5623,1985-05-25,562.0000000000592,562.0098,2015-01-01 01:33:43,bin5623,75, +abc,5624,5624,5624,1985-05-26,562.1000000000593,562.1098,2015-01-01 01:33:44,bin5624,35, +abc,5625,5625,5625,1985-05-27,562.2000000000593,562.2098,2015-01-01 01:33:45,bin5625,75, +abc,5626,5626,5626,1985-05-28,562.3000000000593,562.30975,2015-01-01 01:33:46,bin5626,35, +abc,5627,5627,5627,1985-05-29,562.4000000000593,562.4097,2015-01-01 01:33:47,bin5627,75, +abc,5628,5628,5628,1985-05-30,562.5000000000593,562.5097,2015-01-01 01:33:48,bin5628,35, +abc,5629,5629,5629,1985-05-31,562.6000000000594,562.6097,2015-01-01 01:33:49,bin5629,75, +abc,5630,5630,5630,1985-06-01,562.7000000000594,562.70966,2015-01-01 01:33:50,bin5630,35, +abc,5631,5631,5631,1985-06-02,562.8000000000594,562.80963,2015-01-01 01:33:51,bin5631,75, +abc,5632,5632,5632,1985-06-03,562.9000000000594,562.9096,2015-01-01 01:33:52,bin5632,35, +abc,5633,5633,5633,1985-06-04,563.0000000000595,563.0096,2015-01-01 01:33:53,bin5633,75, +abc,5634,5634,5634,1985-06-05,563.1000000000595,563.10956,2015-01-01 01:33:54,bin5634,35, +abc,5635,5635,5635,1985-06-06,563.2000000000595,563.20953,2015-01-01 01:33:55,bin5635,75, +abc,5636,5636,5636,1985-06-07,563.3000000000595,563.3095,2015-01-01 01:33:56,bin5636,35, +abc,5637,5637,5637,1985-06-08,563.4000000000595,563.4095,2015-01-01 01:33:57,bin5637,75, +abc,5638,5638,5638,1985-06-09,563.5000000000596,563.50946,2015-01-01 01:33:58,bin5638,35, +abc,5639,5639,5639,1985-06-10,563.6000000000596,563.60944,2015-01-01 01:33:59,bin5639,75, +abc,5640,5640,5640,1985-06-11,563.7000000000596,563.7094,2015-01-01 01:34:00,bin5640,35, +abc,5641,5641,5641,1985-06-12,563.8000000000596,563.8094,2015-01-01 01:34:01,bin5641,75, +abc,5642,5642,5642,1985-06-13,563.9000000000597,563.90936,2015-01-01 01:34:02,bin5642,35, +abc,5643,5643,5643,1985-06-14,564.0000000000597,564.00934,2015-01-01 01:34:03,bin5643,75, +abc,5644,5644,5644,1985-06-15,564.1000000000597,564.1093,2015-01-01 01:34:04,bin5644,35, +abc,5645,5645,5645,1985-06-16,564.2000000000597,564.2093,2015-01-01 01:34:05,bin5645,75, +abc,5646,5646,5646,1985-06-17,564.3000000000598,564.30927,2015-01-01 01:34:06,bin5646,35, +abc,5647,5647,5647,1985-06-18,564.4000000000598,564.40924,2015-01-01 01:34:07,bin5647,75, +abc,5648,5648,5648,1985-06-19,564.5000000000598,564.5092,2015-01-01 01:34:08,bin5648,35, +abc,5649,5649,5649,1985-06-20,564.6000000000598,564.6092,2015-01-01 01:34:09,bin5649,75, +abc,5650,5650,5650,1985-06-21,564.7000000000598,564.70917,2015-01-01 01:34:10,bin5650,35, +abc,5651,5651,5651,1985-06-22,564.8000000000599,564.80914,2015-01-01 01:34:11,bin5651,75, +abc,5652,5652,5652,1985-06-23,564.9000000000599,564.9091,2015-01-01 01:34:12,bin5652,35, +abc,5653,5653,5653,1985-06-24,565.0000000000599,565.0091,2015-01-01 01:34:13,bin5653,75, +abc,5654,5654,5654,1985-06-25,565.1000000000599,565.1091,2015-01-01 01:34:14,bin5654,35, +abc,5655,5655,5655,1985-06-26,565.20000000006,565.20905,2015-01-01 01:34:15,bin5655,75, +abc,5656,5656,5656,1985-06-27,565.30000000006,565.309,2015-01-01 01:34:16,bin5656,35, +abc,5657,5657,5657,1985-06-28,565.40000000006,565.409,2015-01-01 01:34:17,bin5657,75, +abc,5658,5658,5658,1985-06-29,565.50000000006,565.509,2015-01-01 01:34:18,bin5658,35, +abc,5659,5659,5659,1985-06-30,565.60000000006,565.60895,2015-01-01 01:34:19,bin5659,75, +abc,5660,5660,5660,1985-07-01,565.7000000000601,565.7089,2015-01-01 01:34:20,bin5660,35, +abc,5661,5661,5661,1985-07-02,565.8000000000601,565.8089,2015-01-01 01:34:21,bin5661,75, +abc,5662,5662,5662,1985-07-03,565.9000000000601,565.9089,2015-01-01 01:34:22,bin5662,35, +abc,5663,5663,5663,1985-07-04,566.0000000000601,566.00885,2015-01-01 01:34:23,bin5663,75, +abc,5664,5664,5664,1985-07-05,566.1000000000602,566.1088,2015-01-01 01:34:24,bin5664,35, +abc,5665,5665,5665,1985-07-06,566.2000000000602,566.2088,2015-01-01 01:34:25,bin5665,75, +abc,5666,5666,5666,1985-07-07,566.3000000000602,566.3088,2015-01-01 01:34:26,bin5666,35, +abc,5667,5667,5667,1985-07-08,566.4000000000602,566.40875,2015-01-01 01:34:27,bin5667,75, +abc,5668,5668,5668,1985-07-09,566.5000000000603,566.5087,2015-01-01 01:34:28,bin5668,35, +abc,5669,5669,5669,1985-07-10,566.6000000000603,566.6087,2015-01-01 01:34:29,bin5669,75, +abc,5670,5670,5670,1985-07-11,566.7000000000603,566.7087,2015-01-01 01:34:30,bin5670,35, +abc,5671,5671,5671,1985-07-12,566.8000000000603,566.80865,2015-01-01 01:34:31,bin5671,75, +abc,5672,5672,5672,1985-07-13,566.9000000000603,566.9086,2015-01-01 01:34:32,bin5672,35, +abc,5673,5673,5673,1985-07-14,567.0000000000604,567.0086,2015-01-01 01:34:33,bin5673,75, +abc,5674,5674,5674,1985-07-15,567.1000000000604,567.1086,2015-01-01 01:34:34,bin5674,35, +abc,5675,5675,5675,1985-07-16,567.2000000000604,567.20856,2015-01-01 01:34:35,bin5675,75, +abc,5676,5676,5676,1985-07-17,567.3000000000604,567.30853,2015-01-01 01:34:36,bin5676,35, +abc,5677,5677,5677,1985-07-18,567.4000000000605,567.4085,2015-01-01 01:34:37,bin5677,75, +abc,5678,5678,5678,1985-07-19,567.5000000000605,567.5085,2015-01-01 01:34:38,bin5678,35, +abc,5679,5679,5679,1985-07-20,567.6000000000605,567.60846,2015-01-01 01:34:39,bin5679,75, +abc,5680,5680,5680,1985-07-21,567.7000000000605,567.70844,2015-01-01 01:34:40,bin5680,35, +abc,5681,5681,5681,1985-07-22,567.8000000000605,567.8084,2015-01-01 01:34:41,bin5681,75, +abc,5682,5682,5682,1985-07-23,567.9000000000606,567.9084,2015-01-01 01:34:42,bin5682,35, +abc,5683,5683,5683,1985-07-24,568.0000000000606,568.00836,2015-01-01 01:34:43,bin5683,75, +abc,5684,5684,5684,1985-07-25,568.1000000000606,568.10834,2015-01-01 01:34:44,bin5684,35, +abc,5685,5685,5685,1985-07-26,568.2000000000606,568.2083,2015-01-01 01:34:45,bin5685,75, +abc,5686,5686,5686,1985-07-27,568.3000000000607,568.3083,2015-01-01 01:34:46,bin5686,35, +abc,5687,5687,5687,1985-07-28,568.4000000000607,568.40826,2015-01-01 01:34:47,bin5687,75, +abc,5688,5688,5688,1985-07-29,568.5000000000607,568.50824,2015-01-01 01:34:48,bin5688,35, +abc,5689,5689,5689,1985-07-30,568.6000000000607,568.6082,2015-01-01 01:34:49,bin5689,75, +abc,5690,5690,5690,1985-07-31,568.7000000000608,568.7082,2015-01-01 01:34:50,bin5690,35, +abc,5691,5691,5691,1985-08-01,568.8000000000608,568.80817,2015-01-01 01:34:51,bin5691,75, +abc,5692,5692,5692,1985-08-02,568.9000000000608,568.90814,2015-01-01 01:34:52,bin5692,35, +abc,5693,5693,5693,1985-08-03,569.0000000000608,569.0081,2015-01-01 01:34:53,bin5693,75, +abc,5694,5694,5694,1985-08-04,569.1000000000608,569.1081,2015-01-01 01:34:54,bin5694,35, +abc,5695,5695,5695,1985-08-05,569.2000000000609,569.20807,2015-01-01 01:34:55,bin5695,75, +abc,5696,5696,5696,1985-08-06,569.3000000000609,569.30804,2015-01-01 01:34:56,bin5696,35, +abc,5697,5697,5697,1985-08-07,569.4000000000609,569.408,2015-01-01 01:34:57,bin5697,75, +abc,5698,5698,5698,1985-08-08,569.5000000000609,569.508,2015-01-01 01:34:58,bin5698,35, +abc,5699,5699,5699,1985-08-09,569.600000000061,569.608,2015-01-01 01:34:59,bin5699,75, +abc,5700,5700,5700,1985-08-10,569.700000000061,569.70795,2015-01-01 01:35:00,bin5700,35, +abc,5701,5701,5701,1985-08-11,569.800000000061,569.8079,2015-01-01 01:35:01,bin5701,75, +abc,5702,5702,5702,1985-08-12,569.900000000061,569.9079,2015-01-01 01:35:02,bin5702,35, +abc,5703,5703,5703,1985-08-13,570.000000000061,570.0079,2015-01-01 01:35:03,bin5703,75, +abc,5704,5704,5704,1985-08-14,570.1000000000611,570.10785,2015-01-01 01:35:04,bin5704,35, +abc,5705,5705,5705,1985-08-15,570.2000000000611,570.2078,2015-01-01 01:35:05,bin5705,75, +abc,5706,5706,5706,1985-08-16,570.3000000000611,570.3078,2015-01-01 01:35:06,bin5706,35, +abc,5707,5707,5707,1985-08-17,570.4000000000611,570.4078,2015-01-01 01:35:07,bin5707,75, +abc,5708,5708,5708,1985-08-18,570.5000000000612,570.50775,2015-01-01 01:35:08,bin5708,35, +abc,5709,5709,5709,1985-08-19,570.6000000000612,570.6077,2015-01-01 01:35:09,bin5709,75, +abc,5710,5710,5710,1985-08-20,570.7000000000612,570.7077,2015-01-01 01:35:10,bin5710,35, +abc,5711,5711,5711,1985-08-21,570.8000000000612,570.8077,2015-01-01 01:35:11,bin5711,75, +abc,5712,5712,5712,1985-08-22,570.9000000000613,570.90765,2015-01-01 01:35:12,bin5712,35, +abc,5713,5713,5713,1985-08-23,571.0000000000613,571.0076,2015-01-01 01:35:13,bin5713,75, +abc,5714,5714,5714,1985-08-24,571.1000000000613,571.1076,2015-01-01 01:35:14,bin5714,35, +abc,5715,5715,5715,1985-08-25,571.2000000000613,571.2076,2015-01-01 01:35:15,bin5715,75, +abc,5716,5716,5716,1985-08-26,571.3000000000613,571.30756,2015-01-01 01:35:16,bin5716,35, +abc,5717,5717,5717,1985-08-27,571.4000000000614,571.40753,2015-01-01 01:35:17,bin5717,75, +abc,5718,5718,5718,1985-08-28,571.5000000000614,571.5075,2015-01-01 01:35:18,bin5718,35, +abc,5719,5719,5719,1985-08-29,571.6000000000614,571.6075,2015-01-01 01:35:19,bin5719,75, +abc,5720,5720,5720,1985-08-30,571.7000000000614,571.70746,2015-01-01 01:35:20,bin5720,35, +abc,5721,5721,5721,1985-08-31,571.8000000000615,571.80743,2015-01-01 01:35:21,bin5721,75, +abc,5722,5722,5722,1985-09-01,571.9000000000615,571.9074,2015-01-01 01:35:22,bin5722,35, +abc,5723,5723,5723,1985-09-02,572.0000000000615,572.0074,2015-01-01 01:35:23,bin5723,75, +abc,5724,5724,5724,1985-09-03,572.1000000000615,572.10736,2015-01-01 01:35:24,bin5724,35, +abc,5725,5725,5725,1985-09-04,572.2000000000616,572.20734,2015-01-01 01:35:25,bin5725,75, +abc,5726,5726,5726,1985-09-05,572.3000000000616,572.3073,2015-01-01 01:35:26,bin5726,35, +abc,5727,5727,5727,1985-09-06,572.4000000000616,572.4073,2015-01-01 01:35:27,bin5727,75, +abc,5728,5728,5728,1985-09-07,572.5000000000616,572.50726,2015-01-01 01:35:28,bin5728,35, +abc,5729,5729,5729,1985-09-08,572.6000000000616,572.60724,2015-01-01 01:35:29,bin5729,75, +abc,5730,5730,5730,1985-09-09,572.7000000000617,572.7072,2015-01-01 01:35:30,bin5730,35, +abc,5731,5731,5731,1985-09-10,572.8000000000617,572.8072,2015-01-01 01:35:31,bin5731,75, +abc,5732,5732,5732,1985-09-11,572.9000000000617,572.90717,2015-01-01 01:35:32,bin5732,35, +abc,5733,5733,5733,1985-09-12,573.0000000000617,573.00714,2015-01-01 01:35:33,bin5733,75, +abc,5734,5734,5734,1985-09-13,573.1000000000618,573.1071,2015-01-01 01:35:34,bin5734,35, +abc,5735,5735,5735,1985-09-14,573.2000000000618,573.2071,2015-01-01 01:35:35,bin5735,75, +abc,5736,5736,5736,1985-09-15,573.3000000000618,573.30707,2015-01-01 01:35:36,bin5736,35, +abc,5737,5737,5737,1985-09-16,573.4000000000618,573.40704,2015-01-01 01:35:37,bin5737,75, +abc,5738,5738,5738,1985-09-17,573.5000000000618,573.507,2015-01-01 01:35:38,bin5738,35, +abc,5739,5739,5739,1985-09-18,573.6000000000619,573.607,2015-01-01 01:35:39,bin5739,75, +abc,5740,5740,5740,1985-09-19,573.7000000000619,573.707,2015-01-01 01:35:40,bin5740,35, +abc,5741,5741,5741,1985-09-20,573.8000000000619,573.80695,2015-01-01 01:35:41,bin5741,75, +abc,5742,5742,5742,1985-09-21,573.9000000000619,573.9069,2015-01-01 01:35:42,bin5742,35, +abc,5743,5743,5743,1985-09-22,574.000000000062,574.0069,2015-01-01 01:35:43,bin5743,75, +abc,5744,5744,5744,1985-09-23,574.100000000062,574.1069,2015-01-01 01:35:44,bin5744,35, +abc,5745,5745,5745,1985-09-24,574.200000000062,574.20685,2015-01-01 01:35:45,bin5745,75, +abc,5746,5746,5746,1985-09-25,574.300000000062,574.3068,2015-01-01 01:35:46,bin5746,35, +abc,5747,5747,5747,1985-09-26,574.400000000062,574.4068,2015-01-01 01:35:47,bin5747,75, +abc,5748,5748,5748,1985-09-27,574.5000000000621,574.5068,2015-01-01 01:35:48,bin5748,35, +abc,5749,5749,5749,1985-09-28,574.6000000000621,574.60675,2015-01-01 01:35:49,bin5749,75, +abc,5750,5750,5750,1985-09-29,574.7000000000621,574.7067,2015-01-01 01:35:50,bin5750,35, +abc,5751,5751,5751,1985-09-30,574.8000000000621,574.8067,2015-01-01 01:35:51,bin5751,75, +abc,5752,5752,5752,1985-10-01,574.9000000000622,574.9067,2015-01-01 01:35:52,bin5752,35, +abc,5753,5753,5753,1985-10-02,575.0000000000622,575.00665,2015-01-01 01:35:53,bin5753,75, +abc,5754,5754,5754,1985-10-03,575.1000000000622,575.1066,2015-01-01 01:35:54,bin5754,35, +abc,5755,5755,5755,1985-10-04,575.2000000000622,575.2066,2015-01-01 01:35:55,bin5755,75, +abc,5756,5756,5756,1985-10-05,575.3000000000623,575.3066,2015-01-01 01:35:56,bin5756,35, +abc,5757,5757,5757,1985-10-06,575.4000000000623,575.40656,2015-01-01 01:35:57,bin5757,75, +abc,5758,5758,5758,1985-10-07,575.5000000000623,575.50653,2015-01-01 01:35:58,bin5758,35, +abc,5759,5759,5759,1985-10-08,575.6000000000623,575.6065,2015-01-01 01:35:59,bin5759,75, +abc,5760,5760,5760,1985-10-09,575.7000000000623,575.7065,2015-01-01 01:36:00,bin5760,35, +abc,5761,5761,5761,1985-10-10,575.8000000000624,575.80646,2015-01-01 01:36:01,bin5761,75, +abc,5762,5762,5762,1985-10-11,575.9000000000624,575.90643,2015-01-01 01:36:02,bin5762,35, +abc,5763,5763,5763,1985-10-12,576.0000000000624,576.0064,2015-01-01 01:36:03,bin5763,75, +abc,5764,5764,5764,1985-10-13,576.1000000000624,576.1064,2015-01-01 01:36:04,bin5764,35, +abc,5765,5765,5765,1985-10-14,576.2000000000625,576.20636,2015-01-01 01:36:05,bin5765,75, +abc,5766,5766,5766,1985-10-15,576.3000000000625,576.30634,2015-01-01 01:36:06,bin5766,35, +abc,5767,5767,5767,1985-10-16,576.4000000000625,576.4063,2015-01-01 01:36:07,bin5767,75, +abc,5768,5768,5768,1985-10-17,576.5000000000625,576.5063,2015-01-01 01:36:08,bin5768,35, +abc,5769,5769,5769,1985-10-18,576.6000000000626,576.60626,2015-01-01 01:36:09,bin5769,75, +abc,5770,5770,5770,1985-10-19,576.7000000000626,576.70624,2015-01-01 01:36:10,bin5770,35, +abc,5771,5771,5771,1985-10-20,576.8000000000626,576.8062,2015-01-01 01:36:11,bin5771,75, +abc,5772,5772,5772,1985-10-21,576.9000000000626,576.9062,2015-01-01 01:36:12,bin5772,35, +abc,5773,5773,5773,1985-10-22,577.0000000000626,577.00616,2015-01-01 01:36:13,bin5773,75, +abc,5774,5774,5774,1985-10-23,577.1000000000627,577.10614,2015-01-01 01:36:14,bin5774,35, +abc,5775,5775,5775,1985-10-24,577.2000000000627,577.2061,2015-01-01 01:36:15,bin5775,75, +abc,5776,5776,5776,1985-10-25,577.3000000000627,577.3061,2015-01-01 01:36:16,bin5776,35, +abc,5777,5777,5777,1985-10-26,577.4000000000627,577.40607,2015-01-01 01:36:17,bin5777,75, +abc,5778,5778,5778,1985-10-27,577.5000000000628,577.50604,2015-01-01 01:36:18,bin5778,35, +abc,5779,5779,5779,1985-10-28,577.6000000000628,577.606,2015-01-01 01:36:19,bin5779,75, +abc,5780,5780,5780,1985-10-29,577.7000000000628,577.706,2015-01-01 01:36:20,bin5780,35, +abc,5781,5781,5781,1985-10-30,577.8000000000628,577.80597,2015-01-01 01:36:21,bin5781,75, +abc,5782,5782,5782,1985-10-31,577.9000000000628,577.90594,2015-01-01 01:36:22,bin5782,35, +abc,5783,5783,5783,1985-11-01,578.0000000000629,578.0059,2015-01-01 01:36:23,bin5783,75, +abc,5784,5784,5784,1985-11-02,578.1000000000629,578.1059,2015-01-01 01:36:24,bin5784,35, +abc,5785,5785,5785,1985-11-03,578.2000000000629,578.2059,2015-01-01 01:36:25,bin5785,75, +abc,5786,5786,5786,1985-11-04,578.3000000000629,578.30585,2015-01-01 01:36:26,bin5786,35, +abc,5787,5787,5787,1985-11-05,578.400000000063,578.4058,2015-01-01 01:36:27,bin5787,75, +abc,5788,5788,5788,1985-11-06,578.500000000063,578.5058,2015-01-01 01:36:28,bin5788,35, +abc,5789,5789,5789,1985-11-07,578.600000000063,578.6058,2015-01-01 01:36:29,bin5789,75, +abc,5790,5790,5790,1985-11-08,578.700000000063,578.70575,2015-01-01 01:36:30,bin5790,35, +abc,5791,5791,5791,1985-11-09,578.800000000063,578.8057,2015-01-01 01:36:31,bin5791,75, +abc,5792,5792,5792,1985-11-10,578.9000000000631,578.9057,2015-01-01 01:36:32,bin5792,35, +abc,5793,5793,5793,1985-11-11,579.0000000000631,579.0057,2015-01-01 01:36:33,bin5793,75, +abc,5794,5794,5794,1985-11-12,579.1000000000631,579.10565,2015-01-01 01:36:34,bin5794,35, +abc,5795,5795,5795,1985-11-13,579.2000000000631,579.2056,2015-01-01 01:36:35,bin5795,75, +abc,5796,5796,5796,1985-11-14,579.3000000000632,579.3056,2015-01-01 01:36:36,bin5796,35, +abc,5797,5797,5797,1985-11-15,579.4000000000632,579.4056,2015-01-01 01:36:37,bin5797,75, +abc,5798,5798,5798,1985-11-16,579.5000000000632,579.50555,2015-01-01 01:36:38,bin5798,35, +abc,5799,5799,5799,1985-11-17,579.6000000000632,579.6055,2015-01-01 01:36:39,bin5799,75, +abc,5800,5800,5800,1985-11-18,579.7000000000633,579.7055,2015-01-01 01:36:40,bin5800,35, +abc,5801,5801,5801,1985-11-19,579.8000000000633,579.8055,2015-01-01 01:36:41,bin5801,75, +abc,5802,5802,5802,1985-11-20,579.9000000000633,579.90546,2015-01-01 01:36:42,bin5802,35, +abc,5803,5803,5803,1985-11-21,580.0000000000633,580.00543,2015-01-01 01:36:43,bin5803,75, +abc,5804,5804,5804,1985-11-22,580.1000000000633,580.1054,2015-01-01 01:36:44,bin5804,35, +abc,5805,5805,5805,1985-11-23,580.2000000000634,580.2054,2015-01-01 01:36:45,bin5805,75, +abc,5806,5806,5806,1985-11-24,580.3000000000634,580.30536,2015-01-01 01:36:46,bin5806,35, +abc,5807,5807,5807,1985-11-25,580.4000000000634,580.40533,2015-01-01 01:36:47,bin5807,75, +abc,5808,5808,5808,1985-11-26,580.5000000000634,580.5053,2015-01-01 01:36:48,bin5808,35, +abc,5809,5809,5809,1985-11-27,580.6000000000635,580.6053,2015-01-01 01:36:49,bin5809,75, +abc,5810,5810,5810,1985-11-28,580.7000000000635,580.70526,2015-01-01 01:36:50,bin5810,35, +abc,5811,5811,5811,1985-11-29,580.8000000000635,580.80524,2015-01-01 01:36:51,bin5811,75, +abc,5812,5812,5812,1985-11-30,580.9000000000635,580.9052,2015-01-01 01:36:52,bin5812,35, +abc,5813,5813,5813,1985-12-01,581.0000000000636,581.0052,2015-01-01 01:36:53,bin5813,75, +abc,5814,5814,5814,1985-12-02,581.1000000000636,581.10516,2015-01-01 01:36:54,bin5814,35, +abc,5815,5815,5815,1985-12-03,581.2000000000636,581.20514,2015-01-01 01:36:55,bin5815,75, +abc,5816,5816,5816,1985-12-04,581.3000000000636,581.3051,2015-01-01 01:36:56,bin5816,35, +abc,5817,5817,5817,1985-12-05,581.4000000000636,581.4051,2015-01-01 01:36:57,bin5817,75, +abc,5818,5818,5818,1985-12-06,581.5000000000637,581.50507,2015-01-01 01:36:58,bin5818,35, +abc,5819,5819,5819,1985-12-07,581.6000000000637,581.60504,2015-01-01 01:36:59,bin5819,75, +abc,5820,5820,5820,1985-12-08,581.7000000000637,581.705,2015-01-01 01:37:00,bin5820,35, +abc,5821,5821,5821,1985-12-09,581.8000000000637,581.805,2015-01-01 01:37:01,bin5821,75, +abc,5822,5822,5822,1985-12-10,581.9000000000638,581.90497,2015-01-01 01:37:02,bin5822,35, +abc,5823,5823,5823,1985-12-11,582.0000000000638,582.00494,2015-01-01 01:37:03,bin5823,75, +abc,5824,5824,5824,1985-12-12,582.1000000000638,582.1049,2015-01-01 01:37:04,bin5824,35, +abc,5825,5825,5825,1985-12-13,582.2000000000638,582.2049,2015-01-01 01:37:05,bin5825,75, +abc,5826,5826,5826,1985-12-14,582.3000000000638,582.3049,2015-01-01 01:37:06,bin5826,35, +abc,5827,5827,5827,1985-12-15,582.4000000000639,582.40485,2015-01-01 01:37:07,bin5827,75, +abc,5828,5828,5828,1985-12-16,582.5000000000639,582.5048,2015-01-01 01:37:08,bin5828,35, +abc,5829,5829,5829,1985-12-17,582.6000000000639,582.6048,2015-01-01 01:37:09,bin5829,75, +abc,5830,5830,5830,1985-12-18,582.7000000000639,582.7048,2015-01-01 01:37:10,bin5830,35, +abc,5831,5831,5831,1985-12-19,582.800000000064,582.80475,2015-01-01 01:37:11,bin5831,75, +abc,5832,5832,5832,1985-12-20,582.900000000064,582.9047,2015-01-01 01:37:12,bin5832,35, +abc,5833,5833,5833,1985-12-21,583.000000000064,583.0047,2015-01-01 01:37:13,bin5833,75, +abc,5834,5834,5834,1985-12-22,583.100000000064,583.1047,2015-01-01 01:37:14,bin5834,35, +abc,5835,5835,5835,1985-12-23,583.200000000064,583.20465,2015-01-01 01:37:15,bin5835,75, +abc,5836,5836,5836,1985-12-24,583.3000000000641,583.3046,2015-01-01 01:37:16,bin5836,35, +abc,5837,5837,5837,1985-12-25,583.4000000000641,583.4046,2015-01-01 01:37:17,bin5837,75, +abc,5838,5838,5838,1985-12-26,583.5000000000641,583.5046,2015-01-01 01:37:18,bin5838,35, +abc,5839,5839,5839,1985-12-27,583.6000000000641,583.60455,2015-01-01 01:37:19,bin5839,75, +abc,5840,5840,5840,1985-12-28,583.7000000000642,583.7045,2015-01-01 01:37:20,bin5840,35, +abc,5841,5841,5841,1985-12-29,583.8000000000642,583.8045,2015-01-01 01:37:21,bin5841,75, +abc,5842,5842,5842,1985-12-30,583.9000000000642,583.9045,2015-01-01 01:37:22,bin5842,35, +abc,5843,5843,5843,1985-12-31,584.0000000000642,584.00446,2015-01-01 01:37:23,bin5843,75, +abc,5844,5844,5844,1986-01-01,584.1000000000643,584.10443,2015-01-01 01:37:24,bin5844,35, +abc,5845,5845,5845,1986-01-02,584.2000000000643,584.2044,2015-01-01 01:37:25,bin5845,75, +abc,5846,5846,5846,1986-01-03,584.3000000000643,584.3044,2015-01-01 01:37:26,bin5846,35, +abc,5847,5847,5847,1986-01-04,584.4000000000643,584.40436,2015-01-01 01:37:27,bin5847,75, +abc,5848,5848,5848,1986-01-05,584.5000000000643,584.50433,2015-01-01 01:37:28,bin5848,35, +abc,5849,5849,5849,1986-01-06,584.6000000000644,584.6043,2015-01-01 01:37:29,bin5849,75, +abc,5850,5850,5850,1986-01-07,584.7000000000644,584.7043,2015-01-01 01:37:30,bin5850,35, +abc,5851,5851,5851,1986-01-08,584.8000000000644,584.80426,2015-01-01 01:37:31,bin5851,75, +abc,5852,5852,5852,1986-01-09,584.9000000000644,584.90424,2015-01-01 01:37:32,bin5852,35, +abc,5853,5853,5853,1986-01-10,585.0000000000645,585.0042,2015-01-01 01:37:33,bin5853,75, +abc,5854,5854,5854,1986-01-11,585.1000000000645,585.1042,2015-01-01 01:37:34,bin5854,35, +abc,5855,5855,5855,1986-01-12,585.2000000000645,585.20416,2015-01-01 01:37:35,bin5855,75, +abc,5856,5856,5856,1986-01-13,585.3000000000645,585.30414,2015-01-01 01:37:36,bin5856,35, +abc,5857,5857,5857,1986-01-14,585.4000000000646,585.4041,2015-01-01 01:37:37,bin5857,75, +abc,5858,5858,5858,1986-01-15,585.5000000000646,585.5041,2015-01-01 01:37:38,bin5858,35, +abc,5859,5859,5859,1986-01-16,585.6000000000646,585.60406,2015-01-01 01:37:39,bin5859,75, +abc,5860,5860,5860,1986-01-17,585.7000000000646,585.70404,2015-01-01 01:37:40,bin5860,35, +abc,5861,5861,5861,1986-01-18,585.8000000000646,585.804,2015-01-01 01:37:41,bin5861,75, +abc,5862,5862,5862,1986-01-19,585.9000000000647,585.904,2015-01-01 01:37:42,bin5862,35, +abc,5863,5863,5863,1986-01-20,586.0000000000647,586.00397,2015-01-01 01:37:43,bin5863,75, +abc,5864,5864,5864,1986-01-21,586.1000000000647,586.10394,2015-01-01 01:37:44,bin5864,35, +abc,5865,5865,5865,1986-01-22,586.2000000000647,586.2039,2015-01-01 01:37:45,bin5865,75, +abc,5866,5866,5866,1986-01-23,586.3000000000648,586.3039,2015-01-01 01:37:46,bin5866,35, +abc,5867,5867,5867,1986-01-24,586.4000000000648,586.4039,2015-01-01 01:37:47,bin5867,75, +abc,5868,5868,5868,1986-01-25,586.5000000000648,586.50385,2015-01-01 01:37:48,bin5868,35, +abc,5869,5869,5869,1986-01-26,586.6000000000648,586.6038,2015-01-01 01:37:49,bin5869,75, +abc,5870,5870,5870,1986-01-27,586.7000000000648,586.7038,2015-01-01 01:37:50,bin5870,35, +abc,5871,5871,5871,1986-01-28,586.8000000000649,586.8038,2015-01-01 01:37:51,bin5871,75, +abc,5872,5872,5872,1986-01-29,586.9000000000649,586.90375,2015-01-01 01:37:52,bin5872,35, +abc,5873,5873,5873,1986-01-30,587.0000000000649,587.0037,2015-01-01 01:37:53,bin5873,75, +abc,5874,5874,5874,1986-01-31,587.1000000000649,587.1037,2015-01-01 01:37:54,bin5874,35, +abc,5875,5875,5875,1986-02-01,587.200000000065,587.2037,2015-01-01 01:37:55,bin5875,75, +abc,5876,5876,5876,1986-02-02,587.300000000065,587.30365,2015-01-01 01:37:56,bin5876,35, +abc,5877,5877,5877,1986-02-03,587.400000000065,587.4036,2015-01-01 01:37:57,bin5877,75, +abc,5878,5878,5878,1986-02-04,587.500000000065,587.5036,2015-01-01 01:37:58,bin5878,35, +abc,5879,5879,5879,1986-02-05,587.600000000065,587.6036,2015-01-01 01:37:59,bin5879,75, +abc,5880,5880,5880,1986-02-06,587.7000000000651,587.70355,2015-01-01 01:38:00,bin5880,35, +abc,5881,5881,5881,1986-02-07,587.8000000000651,587.8035,2015-01-01 01:38:01,bin5881,75, +abc,5882,5882,5882,1986-02-08,587.9000000000651,587.9035,2015-01-01 01:38:02,bin5882,35, +abc,5883,5883,5883,1986-02-09,588.0000000000651,588.0035,2015-01-01 01:38:03,bin5883,75, +abc,5884,5884,5884,1986-02-10,588.1000000000652,588.10345,2015-01-01 01:38:04,bin5884,35, +abc,5885,5885,5885,1986-02-11,588.2000000000652,588.2034,2015-01-01 01:38:05,bin5885,75, +abc,5886,5886,5886,1986-02-12,588.3000000000652,588.3034,2015-01-01 01:38:06,bin5886,35, +abc,5887,5887,5887,1986-02-13,588.4000000000652,588.4034,2015-01-01 01:38:07,bin5887,75, +abc,5888,5888,5888,1986-02-14,588.5000000000653,588.50336,2015-01-01 01:38:08,bin5888,35, +abc,5889,5889,5889,1986-02-15,588.6000000000653,588.60333,2015-01-01 01:38:09,bin5889,75, +abc,5890,5890,5890,1986-02-16,588.7000000000653,588.7033,2015-01-01 01:38:10,bin5890,35, +abc,5891,5891,5891,1986-02-17,588.8000000000653,588.8033,2015-01-01 01:38:11,bin5891,75, +abc,5892,5892,5892,1986-02-18,588.9000000000653,588.90326,2015-01-01 01:38:12,bin5892,35, +abc,5893,5893,5893,1986-02-19,589.0000000000654,589.00323,2015-01-01 01:38:13,bin5893,75, +abc,5894,5894,5894,1986-02-20,589.1000000000654,589.1032,2015-01-01 01:38:14,bin5894,35, +abc,5895,5895,5895,1986-02-21,589.2000000000654,589.2032,2015-01-01 01:38:15,bin5895,75, +abc,5896,5896,5896,1986-02-22,589.3000000000654,589.30316,2015-01-01 01:38:16,bin5896,35, +abc,5897,5897,5897,1986-02-23,589.4000000000655,589.40314,2015-01-01 01:38:17,bin5897,75, +abc,5898,5898,5898,1986-02-24,589.5000000000655,589.5031,2015-01-01 01:38:18,bin5898,35, +abc,5899,5899,5899,1986-02-25,589.6000000000655,589.6031,2015-01-01 01:38:19,bin5899,75, +abc,5900,5900,5900,1986-02-26,589.7000000000655,589.70306,2015-01-01 01:38:20,bin5900,35, +abc,5901,5901,5901,1986-02-27,589.8000000000656,589.80304,2015-01-01 01:38:21,bin5901,75, +abc,5902,5902,5902,1986-02-28,589.9000000000656,589.903,2015-01-01 01:38:22,bin5902,35, +abc,5903,5903,5903,1986-03-01,590.0000000000656,590.003,2015-01-01 01:38:23,bin5903,75, +abc,5904,5904,5904,1986-03-02,590.1000000000656,590.10297,2015-01-01 01:38:24,bin5904,35, +abc,5905,5905,5905,1986-03-03,590.2000000000656,590.20294,2015-01-01 01:38:25,bin5905,75, +abc,5906,5906,5906,1986-03-04,590.3000000000657,590.3029,2015-01-01 01:38:26,bin5906,35, +abc,5907,5907,5907,1986-03-05,590.4000000000657,590.4029,2015-01-01 01:38:27,bin5907,75, +abc,5908,5908,5908,1986-03-06,590.5000000000657,590.50287,2015-01-01 01:38:28,bin5908,35, +abc,5909,5909,5909,1986-03-07,590.6000000000657,590.60284,2015-01-01 01:38:29,bin5909,75, +abc,5910,5910,5910,1986-03-08,590.7000000000658,590.7028,2015-01-01 01:38:30,bin5910,35, +abc,5911,5911,5911,1986-03-09,590.8000000000658,590.8028,2015-01-01 01:38:31,bin5911,75, +abc,5912,5912,5912,1986-03-10,590.9000000000658,590.9028,2015-01-01 01:38:32,bin5912,35, +abc,5913,5913,5913,1986-03-11,591.0000000000658,591.00275,2015-01-01 01:38:33,bin5913,75, +abc,5914,5914,5914,1986-03-12,591.1000000000658,591.1027,2015-01-01 01:38:34,bin5914,35, +abc,5915,5915,5915,1986-03-13,591.2000000000659,591.2027,2015-01-01 01:38:35,bin5915,75, +abc,5916,5916,5916,1986-03-14,591.3000000000659,591.3027,2015-01-01 01:38:36,bin5916,35, +abc,5917,5917,5917,1986-03-15,591.4000000000659,591.40265,2015-01-01 01:38:37,bin5917,75, +abc,5918,5918,5918,1986-03-16,591.5000000000659,591.5026,2015-01-01 01:38:38,bin5918,35, +abc,5919,5919,5919,1986-03-17,591.600000000066,591.6026,2015-01-01 01:38:39,bin5919,75, +abc,5920,5920,5920,1986-03-18,591.700000000066,591.7026,2015-01-01 01:38:40,bin5920,35, +abc,5921,5921,5921,1986-03-19,591.800000000066,591.80255,2015-01-01 01:38:41,bin5921,75, +abc,5922,5922,5922,1986-03-20,591.900000000066,591.9025,2015-01-01 01:38:42,bin5922,35, +abc,5923,5923,5923,1986-03-21,592.000000000066,592.0025,2015-01-01 01:38:43,bin5923,75, +abc,5924,5924,5924,1986-03-22,592.1000000000661,592.1025,2015-01-01 01:38:44,bin5924,35, +abc,5925,5925,5925,1986-03-23,592.2000000000661,592.20245,2015-01-01 01:38:45,bin5925,75, +abc,5926,5926,5926,1986-03-24,592.3000000000661,592.3024,2015-01-01 01:38:46,bin5926,35, +abc,5927,5927,5927,1986-03-25,592.4000000000661,592.4024,2015-01-01 01:38:47,bin5927,75, +abc,5928,5928,5928,1986-03-26,592.5000000000662,592.5024,2015-01-01 01:38:48,bin5928,35, +abc,5929,5929,5929,1986-03-27,592.6000000000662,592.60236,2015-01-01 01:38:49,bin5929,75, +abc,5930,5930,5930,1986-03-28,592.7000000000662,592.70233,2015-01-01 01:38:50,bin5930,35, +abc,5931,5931,5931,1986-03-29,592.8000000000662,592.8023,2015-01-01 01:38:51,bin5931,75, +abc,5932,5932,5932,1986-03-30,592.9000000000663,592.9023,2015-01-01 01:38:52,bin5932,35, +abc,5933,5933,5933,1986-03-31,593.0000000000663,593.00226,2015-01-01 01:38:53,bin5933,75, +abc,5934,5934,5934,1986-04-01,593.1000000000663,593.10223,2015-01-01 01:38:54,bin5934,35, +abc,5935,5935,5935,1986-04-02,593.2000000000663,593.2022,2015-01-01 01:38:55,bin5935,75, +abc,5936,5936,5936,1986-04-03,593.3000000000663,593.3022,2015-01-01 01:38:56,bin5936,35, +abc,5937,5937,5937,1986-04-04,593.4000000000664,593.40216,2015-01-01 01:38:57,bin5937,75, +abc,5938,5938,5938,1986-04-05,593.5000000000664,593.50214,2015-01-01 01:38:58,bin5938,35, +abc,5939,5939,5939,1986-04-06,593.6000000000664,593.6021,2015-01-01 01:38:59,bin5939,75, +abc,5940,5940,5940,1986-04-07,593.7000000000664,593.7021,2015-01-01 01:39:00,bin5940,35, +abc,5941,5941,5941,1986-04-08,593.8000000000665,593.80206,2015-01-01 01:39:01,bin5941,75, +abc,5942,5942,5942,1986-04-09,593.9000000000665,593.90204,2015-01-01 01:39:02,bin5942,35, +abc,5943,5943,5943,1986-04-10,594.0000000000665,594.002,2015-01-01 01:39:03,bin5943,75, +abc,5944,5944,5944,1986-04-11,594.1000000000665,594.102,2015-01-01 01:39:04,bin5944,35, +abc,5945,5945,5945,1986-04-12,594.2000000000666,594.20197,2015-01-01 01:39:05,bin5945,75, +abc,5946,5946,5946,1986-04-13,594.3000000000666,594.30194,2015-01-01 01:39:06,bin5946,35, +abc,5947,5947,5947,1986-04-14,594.4000000000666,594.4019,2015-01-01 01:39:07,bin5947,75, +abc,5948,5948,5948,1986-04-15,594.5000000000666,594.5019,2015-01-01 01:39:08,bin5948,35, +abc,5949,5949,5949,1986-04-16,594.6000000000666,594.60187,2015-01-01 01:39:09,bin5949,75, +abc,5950,5950,5950,1986-04-17,594.7000000000667,594.70184,2015-01-01 01:39:10,bin5950,35, +abc,5951,5951,5951,1986-04-18,594.8000000000667,594.8018,2015-01-01 01:39:11,bin5951,75, +abc,5952,5952,5952,1986-04-19,594.9000000000667,594.9018,2015-01-01 01:39:12,bin5952,35, +abc,5953,5953,5953,1986-04-20,595.0000000000667,595.0018,2015-01-01 01:39:13,bin5953,75, +abc,5954,5954,5954,1986-04-21,595.1000000000668,595.10175,2015-01-01 01:39:14,bin5954,35, +abc,5955,5955,5955,1986-04-22,595.2000000000668,595.2017,2015-01-01 01:39:15,bin5955,75, +abc,5956,5956,5956,1986-04-23,595.3000000000668,595.3017,2015-01-01 01:39:16,bin5956,35, +abc,5957,5957,5957,1986-04-24,595.4000000000668,595.4017,2015-01-01 01:39:17,bin5957,75, +abc,5958,5958,5958,1986-04-25,595.5000000000668,595.50165,2015-01-01 01:39:18,bin5958,35, +abc,5959,5959,5959,1986-04-26,595.6000000000669,595.6016,2015-01-01 01:39:19,bin5959,75, +abc,5960,5960,5960,1986-04-27,595.7000000000669,595.7016,2015-01-01 01:39:20,bin5960,35, +abc,5961,5961,5961,1986-04-28,595.8000000000669,595.8016,2015-01-01 01:39:21,bin5961,75, +abc,5962,5962,5962,1986-04-29,595.9000000000669,595.90155,2015-01-01 01:39:22,bin5962,35, +abc,5963,5963,5963,1986-04-30,596.000000000067,596.0015,2015-01-01 01:39:23,bin5963,75, +abc,5964,5964,5964,1986-05-01,596.100000000067,596.1015,2015-01-01 01:39:24,bin5964,35, +abc,5965,5965,5965,1986-05-02,596.200000000067,596.2015,2015-01-01 01:39:25,bin5965,75, +abc,5966,5966,5966,1986-05-03,596.300000000067,596.30145,2015-01-01 01:39:26,bin5966,35, +abc,5967,5967,5967,1986-05-04,596.400000000067,596.4014,2015-01-01 01:39:27,bin5967,75, +abc,5968,5968,5968,1986-05-05,596.5000000000671,596.5014,2015-01-01 01:39:28,bin5968,35, +abc,5969,5969,5969,1986-05-06,596.6000000000671,596.6014,2015-01-01 01:39:29,bin5969,75, +abc,5970,5970,5970,1986-05-07,596.7000000000671,596.70135,2015-01-01 01:39:30,bin5970,35, +abc,5971,5971,5971,1986-05-08,596.8000000000671,596.80133,2015-01-01 01:39:31,bin5971,75, +abc,5972,5972,5972,1986-05-09,596.9000000000672,596.9013,2015-01-01 01:39:32,bin5972,35, +abc,5973,5973,5973,1986-05-10,597.0000000000672,597.0013,2015-01-01 01:39:33,bin5973,75, +abc,5974,5974,5974,1986-05-11,597.1000000000672,597.10126,2015-01-01 01:39:34,bin5974,35, +abc,5975,5975,5975,1986-05-12,597.2000000000672,597.20123,2015-01-01 01:39:35,bin5975,75, +abc,5976,5976,5976,1986-05-13,597.3000000000673,597.3012,2015-01-01 01:39:36,bin5976,35, +abc,5977,5977,5977,1986-05-14,597.4000000000673,597.4012,2015-01-01 01:39:37,bin5977,75, +abc,5978,5978,5978,1986-05-15,597.5000000000673,597.50116,2015-01-01 01:39:38,bin5978,35, +abc,5979,5979,5979,1986-05-16,597.6000000000673,597.60114,2015-01-01 01:39:39,bin5979,75, +abc,5980,5980,5980,1986-05-17,597.7000000000673,597.7011,2015-01-01 01:39:40,bin5980,35, +abc,5981,5981,5981,1986-05-18,597.8000000000674,597.8011,2015-01-01 01:39:41,bin5981,75, +abc,5982,5982,5982,1986-05-19,597.9000000000674,597.90106,2015-01-01 01:39:42,bin5982,35, +abc,5983,5983,5983,1986-05-20,598.0000000000674,598.00104,2015-01-01 01:39:43,bin5983,75, +abc,5984,5984,5984,1986-05-21,598.1000000000674,598.101,2015-01-01 01:39:44,bin5984,35, +abc,5985,5985,5985,1986-05-22,598.2000000000675,598.201,2015-01-01 01:39:45,bin5985,75, +abc,5986,5986,5986,1986-05-23,598.3000000000675,598.30096,2015-01-01 01:39:46,bin5986,35, +abc,5987,5987,5987,1986-05-24,598.4000000000675,598.40094,2015-01-01 01:39:47,bin5987,75, +abc,5988,5988,5988,1986-05-25,598.5000000000675,598.5009,2015-01-01 01:39:48,bin5988,35, +abc,5989,5989,5989,1986-05-26,598.6000000000676,598.6009,2015-01-01 01:39:49,bin5989,75, +abc,5990,5990,5990,1986-05-27,598.7000000000676,598.70087,2015-01-01 01:39:50,bin5990,35, +abc,5991,5991,5991,1986-05-28,598.8000000000676,598.80084,2015-01-01 01:39:51,bin5991,75, +abc,5992,5992,5992,1986-05-29,598.9000000000676,598.9008,2015-01-01 01:39:52,bin5992,35, +abc,5993,5993,5993,1986-05-30,599.0000000000676,599.0008,2015-01-01 01:39:53,bin5993,75, +abc,5994,5994,5994,1986-05-31,599.1000000000677,599.10077,2015-01-01 01:39:54,bin5994,35, +abc,5995,5995,5995,1986-06-01,599.2000000000677,599.20074,2015-01-01 01:39:55,bin5995,75, +abc,5996,5996,5996,1986-06-02,599.3000000000677,599.3007,2015-01-01 01:39:56,bin5996,35, +abc,5997,5997,5997,1986-06-03,599.4000000000677,599.4007,2015-01-01 01:39:57,bin5997,75, +abc,5998,5998,5998,1986-06-04,599.5000000000678,599.5007,2015-01-01 01:39:58,bin5998,35, +abc,5999,5999,5999,1986-06-05,599.6000000000678,599.60065,2015-01-01 01:39:59,bin5999,75, +abc,6000,6000,6000,1986-06-06,599.7000000000678,599.7006,2015-01-01 01:40:00,bin6000,35, +abc,6001,6001,6001,1986-06-07,599.8000000000678,599.8006,2015-01-01 01:40:01,bin6001,75, +abc,6002,6002,6002,1986-06-08,599.9000000000678,599.9006,2015-01-01 01:40:02,bin6002,35, +abc,6003,6003,6003,1986-06-09,600.0000000000679,600.00055,2015-01-01 01:40:03,bin6003,75, +abc,6004,6004,6004,1986-06-10,600.1000000000679,600.1005,2015-01-01 01:40:04,bin6004,35, +abc,6005,6005,6005,1986-06-11,600.2000000000679,600.2005,2015-01-01 01:40:05,bin6005,75, +abc,6006,6006,6006,1986-06-12,600.3000000000679,600.3005,2015-01-01 01:40:06,bin6006,35, +abc,6007,6007,6007,1986-06-13,600.400000000068,600.40045,2015-01-01 01:40:07,bin6007,75, +abc,6008,6008,6008,1986-06-14,600.500000000068,600.5004,2015-01-01 01:40:08,bin6008,35, +abc,6009,6009,6009,1986-06-15,600.600000000068,600.6004,2015-01-01 01:40:09,bin6009,75, +abc,6010,6010,6010,1986-06-16,600.700000000068,600.7004,2015-01-01 01:40:10,bin6010,35, +abc,6011,6011,6011,1986-06-17,600.800000000068,600.80035,2015-01-01 01:40:11,bin6011,75, +abc,6012,6012,6012,1986-06-18,600.9000000000681,600.9003,2015-01-01 01:40:12,bin6012,35, +abc,6013,6013,6013,1986-06-19,601.0000000000681,601.0003,2015-01-01 01:40:13,bin6013,75, +abc,6014,6014,6014,1986-06-20,601.1000000000681,601.1003,2015-01-01 01:40:14,bin6014,35, +abc,6015,6015,6015,1986-06-21,601.2000000000681,601.20026,2015-01-01 01:40:15,bin6015,75, +abc,6016,6016,6016,1986-06-22,601.3000000000682,601.30023,2015-01-01 01:40:16,bin6016,35, +abc,6017,6017,6017,1986-06-23,601.4000000000682,601.4002,2015-01-01 01:40:17,bin6017,75, +abc,6018,6018,6018,1986-06-24,601.5000000000682,601.5002,2015-01-01 01:40:18,bin6018,35, +abc,6019,6019,6019,1986-06-25,601.6000000000682,601.60016,2015-01-01 01:40:19,bin6019,75, +abc,6020,6020,6020,1986-06-26,601.7000000000683,601.70013,2015-01-01 01:40:20,bin6020,35, +abc,6021,6021,6021,1986-06-27,601.8000000000683,601.8001,2015-01-01 01:40:21,bin6021,75, +abc,6022,6022,6022,1986-06-28,601.9000000000683,601.9001,2015-01-01 01:40:22,bin6022,35, +abc,6023,6023,6023,1986-06-29,602.0000000000683,602.00006,2015-01-01 01:40:23,bin6023,75, +abc,6024,6024,6024,1986-06-30,602.1000000000683,602.10004,2015-01-01 01:40:24,bin6024,35, +abc,6025,6025,6025,1986-07-01,602.2000000000684,602.2,2015-01-01 01:40:25,bin6025,75, +abc,6026,6026,6026,1986-07-02,602.3000000000684,602.3,2015-01-01 01:40:26,bin6026,35, +abc,6027,6027,6027,1986-07-03,602.4000000000684,602.39996,2015-01-01 01:40:27,bin6027,75, +abc,6028,6028,6028,1986-07-04,602.5000000000684,602.49994,2015-01-01 01:40:28,bin6028,35, +abc,6029,6029,6029,1986-07-05,602.6000000000685,602.5999,2015-01-01 01:40:29,bin6029,75, +abc,6030,6030,6030,1986-07-06,602.7000000000685,602.6999,2015-01-01 01:40:30,bin6030,35, +abc,6031,6031,6031,1986-07-07,602.8000000000685,602.79987,2015-01-01 01:40:31,bin6031,75, +abc,6032,6032,6032,1986-07-08,602.9000000000685,602.89984,2015-01-01 01:40:32,bin6032,35, +abc,6033,6033,6033,1986-07-09,603.0000000000686,602.9998,2015-01-01 01:40:33,bin6033,75, +abc,6034,6034,6034,1986-07-10,603.1000000000686,603.0998,2015-01-01 01:40:34,bin6034,35, +abc,6035,6035,6035,1986-07-11,603.2000000000686,603.19977,2015-01-01 01:40:35,bin6035,75, +abc,6036,6036,6036,1986-07-12,603.3000000000686,603.29974,2015-01-01 01:40:36,bin6036,35, +abc,6037,6037,6037,1986-07-13,603.4000000000686,603.3997,2015-01-01 01:40:37,bin6037,75, +abc,6038,6038,6038,1986-07-14,603.5000000000687,603.4997,2015-01-01 01:40:38,bin6038,35, +abc,6039,6039,6039,1986-07-15,603.6000000000687,603.5997,2015-01-01 01:40:39,bin6039,75, +abc,6040,6040,6040,1986-07-16,603.7000000000687,603.69965,2015-01-01 01:40:40,bin6040,35, +abc,6041,6041,6041,1986-07-17,603.8000000000687,603.7996,2015-01-01 01:40:41,bin6041,75, +abc,6042,6042,6042,1986-07-18,603.9000000000688,603.8996,2015-01-01 01:40:42,bin6042,35, +abc,6043,6043,6043,1986-07-19,604.0000000000688,603.9996,2015-01-01 01:40:43,bin6043,75, +abc,6044,6044,6044,1986-07-20,604.1000000000688,604.09955,2015-01-01 01:40:44,bin6044,35, +abc,6045,6045,6045,1986-07-21,604.2000000000688,604.1995,2015-01-01 01:40:45,bin6045,75, +abc,6046,6046,6046,1986-07-22,604.3000000000688,604.2995,2015-01-01 01:40:46,bin6046,35, +abc,6047,6047,6047,1986-07-23,604.4000000000689,604.3995,2015-01-01 01:40:47,bin6047,75, +abc,6048,6048,6048,1986-07-24,604.5000000000689,604.49945,2015-01-01 01:40:48,bin6048,35, +abc,6049,6049,6049,1986-07-25,604.6000000000689,604.5994,2015-01-01 01:40:49,bin6049,75, +abc,6050,6050,6050,1986-07-26,604.7000000000689,604.6994,2015-01-01 01:40:50,bin6050,35, +abc,6051,6051,6051,1986-07-27,604.800000000069,604.7994,2015-01-01 01:40:51,bin6051,75, +abc,6052,6052,6052,1986-07-28,604.900000000069,604.89935,2015-01-01 01:40:52,bin6052,35, +abc,6053,6053,6053,1986-07-29,605.000000000069,604.9993,2015-01-01 01:40:53,bin6053,75, +abc,6054,6054,6054,1986-07-30,605.100000000069,605.0993,2015-01-01 01:40:54,bin6054,35, +abc,6055,6055,6055,1986-07-31,605.200000000069,605.1993,2015-01-01 01:40:55,bin6055,75, +abc,6056,6056,6056,1986-08-01,605.3000000000691,605.29926,2015-01-01 01:40:56,bin6056,35, +abc,6057,6057,6057,1986-08-02,605.4000000000691,605.39923,2015-01-01 01:40:57,bin6057,75, +abc,6058,6058,6058,1986-08-03,605.5000000000691,605.4992,2015-01-01 01:40:58,bin6058,35, +abc,6059,6059,6059,1986-08-04,605.6000000000691,605.5992,2015-01-01 01:40:59,bin6059,75, +abc,6060,6060,6060,1986-08-05,605.7000000000692,605.69916,2015-01-01 01:41:00,bin6060,35, +abc,6061,6061,6061,1986-08-06,605.8000000000692,605.79913,2015-01-01 01:41:01,bin6061,75, +abc,6062,6062,6062,1986-08-07,605.9000000000692,605.8991,2015-01-01 01:41:02,bin6062,35, +abc,6063,6063,6063,1986-08-08,606.0000000000692,605.9991,2015-01-01 01:41:03,bin6063,75, +abc,6064,6064,6064,1986-08-09,606.1000000000693,606.09906,2015-01-01 01:41:04,bin6064,35, +abc,6065,6065,6065,1986-08-10,606.2000000000693,606.19904,2015-01-01 01:41:05,bin6065,75, +abc,6066,6066,6066,1986-08-11,606.3000000000693,606.299,2015-01-01 01:41:06,bin6066,35, +abc,6067,6067,6067,1986-08-12,606.4000000000693,606.399,2015-01-01 01:41:07,bin6067,75, +abc,6068,6068,6068,1986-08-13,606.5000000000693,606.49896,2015-01-01 01:41:08,bin6068,35, +abc,6069,6069,6069,1986-08-14,606.6000000000694,606.59894,2015-01-01 01:41:09,bin6069,75, +abc,6070,6070,6070,1986-08-15,606.7000000000694,606.6989,2015-01-01 01:41:10,bin6070,35, +abc,6071,6071,6071,1986-08-16,606.8000000000694,606.7989,2015-01-01 01:41:11,bin6071,75, +abc,6072,6072,6072,1986-08-17,606.9000000000694,606.89886,2015-01-01 01:41:12,bin6072,35, +abc,6073,6073,6073,1986-08-18,607.0000000000695,606.99884,2015-01-01 01:41:13,bin6073,75, +abc,6074,6074,6074,1986-08-19,607.1000000000695,607.0988,2015-01-01 01:41:14,bin6074,35, +abc,6075,6075,6075,1986-08-20,607.2000000000695,607.1988,2015-01-01 01:41:15,bin6075,75, +abc,6076,6076,6076,1986-08-21,607.3000000000695,607.29877,2015-01-01 01:41:16,bin6076,35, +abc,6077,6077,6077,1986-08-22,607.4000000000696,607.39874,2015-01-01 01:41:17,bin6077,75, +abc,6078,6078,6078,1986-08-23,607.5000000000696,607.4987,2015-01-01 01:41:18,bin6078,35, +abc,6079,6079,6079,1986-08-24,607.6000000000696,607.5987,2015-01-01 01:41:19,bin6079,75, +abc,6080,6080,6080,1986-08-25,607.7000000000696,607.69867,2015-01-01 01:41:20,bin6080,35, +abc,6081,6081,6081,1986-08-26,607.8000000000696,607.79865,2015-01-01 01:41:21,bin6081,75, +abc,6082,6082,6082,1986-08-27,607.9000000000697,607.8986,2015-01-01 01:41:22,bin6082,35, +abc,6083,6083,6083,1986-08-28,608.0000000000697,607.9986,2015-01-01 01:41:23,bin6083,75, +abc,6084,6084,6084,1986-08-29,608.1000000000697,608.0986,2015-01-01 01:41:24,bin6084,35, +abc,6085,6085,6085,1986-08-30,608.2000000000697,608.19855,2015-01-01 01:41:25,bin6085,75, +abc,6086,6086,6086,1986-08-31,608.3000000000698,608.2985,2015-01-01 01:41:26,bin6086,35, +abc,6087,6087,6087,1986-09-01,608.4000000000698,608.3985,2015-01-01 01:41:27,bin6087,75, +abc,6088,6088,6088,1986-09-02,608.5000000000698,608.4985,2015-01-01 01:41:28,bin6088,35, +abc,6089,6089,6089,1986-09-03,608.6000000000698,608.59845,2015-01-01 01:41:29,bin6089,75, +abc,6090,6090,6090,1986-09-04,608.7000000000698,608.6984,2015-01-01 01:41:30,bin6090,35, +abc,6091,6091,6091,1986-09-05,608.8000000000699,608.7984,2015-01-01 01:41:31,bin6091,75, +abc,6092,6092,6092,1986-09-06,608.9000000000699,608.8984,2015-01-01 01:41:32,bin6092,35, +abc,6093,6093,6093,1986-09-07,609.0000000000699,608.99835,2015-01-01 01:41:33,bin6093,75, +abc,6094,6094,6094,1986-09-08,609.1000000000699,609.0983,2015-01-01 01:41:34,bin6094,35, +abc,6095,6095,6095,1986-09-09,609.20000000007,609.1983,2015-01-01 01:41:35,bin6095,75, +abc,6096,6096,6096,1986-09-10,609.30000000007,609.2983,2015-01-01 01:41:36,bin6096,35, +abc,6097,6097,6097,1986-09-11,609.40000000007,609.39825,2015-01-01 01:41:37,bin6097,75, +abc,6098,6098,6098,1986-09-12,609.50000000007,609.4982,2015-01-01 01:41:38,bin6098,35, +abc,6099,6099,6099,1986-09-13,609.60000000007,609.5982,2015-01-01 01:41:39,bin6099,75, +abc,6100,6100,6100,1986-09-14,609.7000000000701,609.6982,2015-01-01 01:41:40,bin6100,35, +abc,6101,6101,6101,1986-09-15,609.8000000000701,609.79816,2015-01-01 01:41:41,bin6101,75, +abc,6102,6102,6102,1986-09-16,609.9000000000701,609.89813,2015-01-01 01:41:42,bin6102,35, +abc,6103,6103,6103,1986-09-17,610.0000000000701,609.9981,2015-01-01 01:41:43,bin6103,75, +abc,6104,6104,6104,1986-09-18,610.1000000000702,610.0981,2015-01-01 01:41:44,bin6104,35, +abc,6105,6105,6105,1986-09-19,610.2000000000702,610.19806,2015-01-01 01:41:45,bin6105,75, +abc,6106,6106,6106,1986-09-20,610.3000000000702,610.29803,2015-01-01 01:41:46,bin6106,35, +abc,6107,6107,6107,1986-09-21,610.4000000000702,610.398,2015-01-01 01:41:47,bin6107,75, +abc,6108,6108,6108,1986-09-22,610.5000000000703,610.498,2015-01-01 01:41:48,bin6108,35, +abc,6109,6109,6109,1986-09-23,610.6000000000703,610.59796,2015-01-01 01:41:49,bin6109,75, +abc,6110,6110,6110,1986-09-24,610.7000000000703,610.69794,2015-01-01 01:41:50,bin6110,35, +abc,6111,6111,6111,1986-09-25,610.8000000000703,610.7979,2015-01-01 01:41:51,bin6111,75, +abc,6112,6112,6112,1986-09-26,610.9000000000703,610.8979,2015-01-01 01:41:52,bin6112,35, +abc,6113,6113,6113,1986-09-27,611.0000000000704,610.99786,2015-01-01 01:41:53,bin6113,75, +abc,6114,6114,6114,1986-09-28,611.1000000000704,611.09784,2015-01-01 01:41:54,bin6114,35, +abc,6115,6115,6115,1986-09-29,611.2000000000704,611.1978,2015-01-01 01:41:55,bin6115,75, +abc,6116,6116,6116,1986-09-30,611.3000000000704,611.2978,2015-01-01 01:41:56,bin6116,35, +abc,6117,6117,6117,1986-10-01,611.4000000000705,611.39777,2015-01-01 01:41:57,bin6117,75, +abc,6118,6118,6118,1986-10-02,611.5000000000705,611.49774,2015-01-01 01:41:58,bin6118,35, +abc,6119,6119,6119,1986-10-03,611.6000000000705,611.5977,2015-01-01 01:41:59,bin6119,75, +abc,6120,6120,6120,1986-10-04,611.7000000000705,611.6977,2015-01-01 01:42:00,bin6120,35, +abc,6121,6121,6121,1986-10-05,611.8000000000706,611.79767,2015-01-01 01:42:01,bin6121,75, +abc,6122,6122,6122,1986-10-06,611.9000000000706,611.89764,2015-01-01 01:42:02,bin6122,35, +abc,6123,6123,6123,1986-10-07,612.0000000000706,611.9976,2015-01-01 01:42:03,bin6123,75, +abc,6124,6124,6124,1986-10-08,612.1000000000706,612.0976,2015-01-01 01:42:04,bin6124,35, +abc,6125,6125,6125,1986-10-09,612.2000000000706,612.1976,2015-01-01 01:42:05,bin6125,75, +abc,6126,6126,6126,1986-10-10,612.3000000000707,612.29755,2015-01-01 01:42:06,bin6126,35, +abc,6127,6127,6127,1986-10-11,612.4000000000707,612.3975,2015-01-01 01:42:07,bin6127,75, +abc,6128,6128,6128,1986-10-12,612.5000000000707,612.4975,2015-01-01 01:42:08,bin6128,35, +abc,6129,6129,6129,1986-10-13,612.6000000000707,612.5975,2015-01-01 01:42:09,bin6129,75, +abc,6130,6130,6130,1986-10-14,612.7000000000708,612.69745,2015-01-01 01:42:10,bin6130,35, +abc,6131,6131,6131,1986-10-15,612.8000000000708,612.7974,2015-01-01 01:42:11,bin6131,75, +abc,6132,6132,6132,1986-10-16,612.9000000000708,612.8974,2015-01-01 01:42:12,bin6132,35, +abc,6133,6133,6133,1986-10-17,613.0000000000708,612.9974,2015-01-01 01:42:13,bin6133,75, +abc,6134,6134,6134,1986-10-18,613.1000000000708,613.09735,2015-01-01 01:42:14,bin6134,35, +abc,6135,6135,6135,1986-10-19,613.2000000000709,613.1973,2015-01-01 01:42:15,bin6135,75, +abc,6136,6136,6136,1986-10-20,613.3000000000709,613.2973,2015-01-01 01:42:16,bin6136,35, +abc,6137,6137,6137,1986-10-21,613.4000000000709,613.3973,2015-01-01 01:42:17,bin6137,75, +abc,6138,6138,6138,1986-10-22,613.5000000000709,613.49725,2015-01-01 01:42:18,bin6138,35, +abc,6139,6139,6139,1986-10-23,613.600000000071,613.5972,2015-01-01 01:42:19,bin6139,75, +abc,6140,6140,6140,1986-10-24,613.700000000071,613.6972,2015-01-01 01:42:20,bin6140,35, +abc,6141,6141,6141,1986-10-25,613.800000000071,613.7972,2015-01-01 01:42:21,bin6141,75, +abc,6142,6142,6142,1986-10-26,613.900000000071,613.89716,2015-01-01 01:42:22,bin6142,35, +abc,6143,6143,6143,1986-10-27,614.000000000071,613.99713,2015-01-01 01:42:23,bin6143,75, +abc,6144,6144,6144,1986-10-28,614.1000000000711,614.0971,2015-01-01 01:42:24,bin6144,35, +abc,6145,6145,6145,1986-10-29,614.2000000000711,614.1971,2015-01-01 01:42:25,bin6145,75, +abc,6146,6146,6146,1986-10-30,614.3000000000711,614.29706,2015-01-01 01:42:26,bin6146,35, +abc,6147,6147,6147,1986-10-31,614.4000000000711,614.39703,2015-01-01 01:42:27,bin6147,75, +abc,6148,6148,6148,1986-11-01,614.5000000000712,614.497,2015-01-01 01:42:28,bin6148,35, +abc,6149,6149,6149,1986-11-02,614.6000000000712,614.597,2015-01-01 01:42:29,bin6149,75, +abc,6150,6150,6150,1986-11-03,614.7000000000712,614.69696,2015-01-01 01:42:30,bin6150,35, +abc,6151,6151,6151,1986-11-04,614.8000000000712,614.79694,2015-01-01 01:42:31,bin6151,75, +abc,6152,6152,6152,1986-11-05,614.9000000000713,614.8969,2015-01-01 01:42:32,bin6152,35, +abc,6153,6153,6153,1986-11-06,615.0000000000713,614.9969,2015-01-01 01:42:33,bin6153,75, +abc,6154,6154,6154,1986-11-07,615.1000000000713,615.09686,2015-01-01 01:42:34,bin6154,35, +abc,6155,6155,6155,1986-11-08,615.2000000000713,615.19684,2015-01-01 01:42:35,bin6155,75, +abc,6156,6156,6156,1986-11-09,615.3000000000713,615.2968,2015-01-01 01:42:36,bin6156,35, +abc,6157,6157,6157,1986-11-10,615.4000000000714,615.3968,2015-01-01 01:42:37,bin6157,75, +abc,6158,6158,6158,1986-11-11,615.5000000000714,615.49677,2015-01-01 01:42:38,bin6158,35, +abc,6159,6159,6159,1986-11-12,615.6000000000714,615.59674,2015-01-01 01:42:39,bin6159,75, +abc,6160,6160,6160,1986-11-13,615.7000000000714,615.6967,2015-01-01 01:42:40,bin6160,35, +abc,6161,6161,6161,1986-11-14,615.8000000000715,615.7967,2015-01-01 01:42:41,bin6161,75, +abc,6162,6162,6162,1986-11-15,615.9000000000715,615.89667,2015-01-01 01:42:42,bin6162,35, +abc,6163,6163,6163,1986-11-16,616.0000000000715,615.99664,2015-01-01 01:42:43,bin6163,75, +abc,6164,6164,6164,1986-11-17,616.1000000000715,616.0966,2015-01-01 01:42:44,bin6164,35, +abc,6165,6165,6165,1986-11-18,616.2000000000716,616.1966,2015-01-01 01:42:45,bin6165,75, +abc,6166,6166,6166,1986-11-19,616.3000000000716,616.2966,2015-01-01 01:42:46,bin6166,35, +abc,6167,6167,6167,1986-11-20,616.4000000000716,616.39655,2015-01-01 01:42:47,bin6167,75, +abc,6168,6168,6168,1986-11-21,616.5000000000716,616.4965,2015-01-01 01:42:48,bin6168,35, +abc,6169,6169,6169,1986-11-22,616.6000000000716,616.5965,2015-01-01 01:42:49,bin6169,75, +abc,6170,6170,6170,1986-11-23,616.7000000000717,616.6965,2015-01-01 01:42:50,bin6170,35, +abc,6171,6171,6171,1986-11-24,616.8000000000717,616.79645,2015-01-01 01:42:51,bin6171,75, +abc,6172,6172,6172,1986-11-25,616.9000000000717,616.8964,2015-01-01 01:42:52,bin6172,35, +abc,6173,6173,6173,1986-11-26,617.0000000000717,616.9964,2015-01-01 01:42:53,bin6173,75, +abc,6174,6174,6174,1986-11-27,617.1000000000718,617.0964,2015-01-01 01:42:54,bin6174,35, +abc,6175,6175,6175,1986-11-28,617.2000000000718,617.19635,2015-01-01 01:42:55,bin6175,75, +abc,6176,6176,6176,1986-11-29,617.3000000000718,617.2963,2015-01-01 01:42:56,bin6176,35, +abc,6177,6177,6177,1986-11-30,617.4000000000718,617.3963,2015-01-01 01:42:57,bin6177,75, +abc,6178,6178,6178,1986-12-01,617.5000000000719,617.4963,2015-01-01 01:42:58,bin6178,35, +abc,6179,6179,6179,1986-12-02,617.6000000000719,617.59625,2015-01-01 01:42:59,bin6179,75, +abc,6180,6180,6180,1986-12-03,617.7000000000719,617.6962,2015-01-01 01:43:00,bin6180,35, +abc,6181,6181,6181,1986-12-04,617.8000000000719,617.7962,2015-01-01 01:43:01,bin6181,75, +abc,6182,6182,6182,1986-12-05,617.9000000000719,617.8962,2015-01-01 01:43:02,bin6182,35, +abc,6183,6183,6183,1986-12-06,618.000000000072,617.99615,2015-01-01 01:43:03,bin6183,75, +abc,6184,6184,6184,1986-12-07,618.100000000072,618.0961,2015-01-01 01:43:04,bin6184,35, +abc,6185,6185,6185,1986-12-08,618.200000000072,618.1961,2015-01-01 01:43:05,bin6185,75, +abc,6186,6186,6186,1986-12-09,618.300000000072,618.2961,2015-01-01 01:43:06,bin6186,35, +abc,6187,6187,6187,1986-12-10,618.400000000072,618.39606,2015-01-01 01:43:07,bin6187,75, +abc,6188,6188,6188,1986-12-11,618.5000000000721,618.49603,2015-01-01 01:43:08,bin6188,35, +abc,6189,6189,6189,1986-12-12,618.6000000000721,618.596,2015-01-01 01:43:09,bin6189,75, +abc,6190,6190,6190,1986-12-13,618.7000000000721,618.696,2015-01-01 01:43:10,bin6190,35, +abc,6191,6191,6191,1986-12-14,618.8000000000721,618.79596,2015-01-01 01:43:11,bin6191,75, +abc,6192,6192,6192,1986-12-15,618.9000000000722,618.89594,2015-01-01 01:43:12,bin6192,35, +abc,6193,6193,6193,1986-12-16,619.0000000000722,618.9959,2015-01-01 01:43:13,bin6193,75, +abc,6194,6194,6194,1986-12-17,619.1000000000722,619.0959,2015-01-01 01:43:14,bin6194,35, +abc,6195,6195,6195,1986-12-18,619.2000000000722,619.19586,2015-01-01 01:43:15,bin6195,75, +abc,6196,6196,6196,1986-12-19,619.3000000000723,619.29584,2015-01-01 01:43:16,bin6196,35, +abc,6197,6197,6197,1986-12-20,619.4000000000723,619.3958,2015-01-01 01:43:17,bin6197,75, +abc,6198,6198,6198,1986-12-21,619.5000000000723,619.4958,2015-01-01 01:43:18,bin6198,35, +abc,6199,6199,6199,1986-12-22,619.6000000000723,619.59576,2015-01-01 01:43:19,bin6199,75, +abc,6200,6200,6200,1986-12-23,619.7000000000724,619.69574,2015-01-01 01:43:20,bin6200,35, +abc,6201,6201,6201,1986-12-24,619.8000000000724,619.7957,2015-01-01 01:43:21,bin6201,75, +abc,6202,6202,6202,1986-12-25,619.9000000000724,619.8957,2015-01-01 01:43:22,bin6202,35, +abc,6203,6203,6203,1986-12-26,620.0000000000724,619.99567,2015-01-01 01:43:23,bin6203,75, +abc,6204,6204,6204,1986-12-27,620.1000000000724,620.09564,2015-01-01 01:43:24,bin6204,35, +abc,6205,6205,6205,1986-12-28,620.2000000000725,620.1956,2015-01-01 01:43:25,bin6205,75, +abc,6206,6206,6206,1986-12-29,620.3000000000725,620.2956,2015-01-01 01:43:26,bin6206,35, +abc,6207,6207,6207,1986-12-30,620.4000000000725,620.39557,2015-01-01 01:43:27,bin6207,75, +abc,6208,6208,6208,1986-12-31,620.5000000000725,620.49554,2015-01-01 01:43:28,bin6208,35, +abc,6209,6209,6209,1987-01-01,620.6000000000726,620.5955,2015-01-01 01:43:29,bin6209,75, +abc,6210,6210,6210,1987-01-02,620.7000000000726,620.6955,2015-01-01 01:43:30,bin6210,35, +abc,6211,6211,6211,1987-01-03,620.8000000000726,620.7955,2015-01-01 01:43:31,bin6211,75, +abc,6212,6212,6212,1987-01-04,620.9000000000726,620.89545,2015-01-01 01:43:32,bin6212,35, +abc,6213,6213,6213,1987-01-05,621.0000000000726,620.9954,2015-01-01 01:43:33,bin6213,75, +abc,6214,6214,6214,1987-01-06,621.1000000000727,621.0954,2015-01-01 01:43:34,bin6214,35, +abc,6215,6215,6215,1987-01-07,621.2000000000727,621.1954,2015-01-01 01:43:35,bin6215,75, +abc,6216,6216,6216,1987-01-08,621.3000000000727,621.29535,2015-01-01 01:43:36,bin6216,35, +abc,6217,6217,6217,1987-01-09,621.4000000000727,621.3953,2015-01-01 01:43:37,bin6217,75, +abc,6218,6218,6218,1987-01-10,621.5000000000728,621.4953,2015-01-01 01:43:38,bin6218,35, +abc,6219,6219,6219,1987-01-11,621.6000000000728,621.5953,2015-01-01 01:43:39,bin6219,75, +abc,6220,6220,6220,1987-01-12,621.7000000000728,621.69525,2015-01-01 01:43:40,bin6220,35, +abc,6221,6221,6221,1987-01-13,621.8000000000728,621.7952,2015-01-01 01:43:41,bin6221,75, +abc,6222,6222,6222,1987-01-14,621.9000000000729,621.8952,2015-01-01 01:43:42,bin6222,35, +abc,6223,6223,6223,1987-01-15,622.0000000000729,621.9952,2015-01-01 01:43:43,bin6223,75, +abc,6224,6224,6224,1987-01-16,622.1000000000729,622.09515,2015-01-01 01:43:44,bin6224,35, +abc,6225,6225,6225,1987-01-17,622.2000000000729,622.1951,2015-01-01 01:43:45,bin6225,75, +abc,6226,6226,6226,1987-01-18,622.3000000000729,622.2951,2015-01-01 01:43:46,bin6226,35, +abc,6227,6227,6227,1987-01-19,622.400000000073,622.3951,2015-01-01 01:43:47,bin6227,75, +abc,6228,6228,6228,1987-01-20,622.500000000073,622.49506,2015-01-01 01:43:48,bin6228,35, +abc,6229,6229,6229,1987-01-21,622.600000000073,622.59503,2015-01-01 01:43:49,bin6229,75, +abc,6230,6230,6230,1987-01-22,622.700000000073,622.695,2015-01-01 01:43:50,bin6230,35, +abc,6231,6231,6231,1987-01-23,622.800000000073,622.795,2015-01-01 01:43:51,bin6231,75, +abc,6232,6232,6232,1987-01-24,622.9000000000731,622.89496,2015-01-01 01:43:52,bin6232,35, +abc,6233,6233,6233,1987-01-25,623.0000000000731,622.99493,2015-01-01 01:43:53,bin6233,75, +abc,6234,6234,6234,1987-01-26,623.1000000000731,623.0949,2015-01-01 01:43:54,bin6234,35, +abc,6235,6235,6235,1987-01-27,623.2000000000731,623.1949,2015-01-01 01:43:55,bin6235,75, +abc,6236,6236,6236,1987-01-28,623.3000000000732,623.29486,2015-01-01 01:43:56,bin6236,35, +abc,6237,6237,6237,1987-01-29,623.4000000000732,623.39484,2015-01-01 01:43:57,bin6237,75, +abc,6238,6238,6238,1987-01-30,623.5000000000732,623.4948,2015-01-01 01:43:58,bin6238,35, +abc,6239,6239,6239,1987-01-31,623.6000000000732,623.5948,2015-01-01 01:43:59,bin6239,75, +abc,6240,6240,6240,1987-02-01,623.7000000000733,623.69476,2015-01-01 01:44:00,bin6240,35, +abc,6241,6241,6241,1987-02-02,623.8000000000733,623.79474,2015-01-01 01:44:01,bin6241,75, +abc,6242,6242,6242,1987-02-03,623.9000000000733,623.8947,2015-01-01 01:44:02,bin6242,35, +abc,6243,6243,6243,1987-02-04,624.0000000000733,623.9947,2015-01-01 01:44:03,bin6243,75, +abc,6244,6244,6244,1987-02-05,624.1000000000734,624.09467,2015-01-01 01:44:04,bin6244,35, +abc,6245,6245,6245,1987-02-06,624.2000000000734,624.19464,2015-01-01 01:44:05,bin6245,75, +abc,6246,6246,6246,1987-02-07,624.3000000000734,624.2946,2015-01-01 01:44:06,bin6246,35, +abc,6247,6247,6247,1987-02-08,624.4000000000734,624.3946,2015-01-01 01:44:07,bin6247,75, +abc,6248,6248,6248,1987-02-09,624.5000000000734,624.49457,2015-01-01 01:44:08,bin6248,35, +abc,6249,6249,6249,1987-02-10,624.6000000000735,624.59454,2015-01-01 01:44:09,bin6249,75, +abc,6250,6250,6250,1987-02-11,624.7000000000735,624.6945,2015-01-01 01:44:10,bin6250,35, +abc,6251,6251,6251,1987-02-12,624.8000000000735,624.7945,2015-01-01 01:44:11,bin6251,75, +abc,6252,6252,6252,1987-02-13,624.9000000000735,624.8945,2015-01-01 01:44:12,bin6252,35, +abc,6253,6253,6253,1987-02-14,625.0000000000736,624.99445,2015-01-01 01:44:13,bin6253,75, +abc,6254,6254,6254,1987-02-15,625.1000000000736,625.0944,2015-01-01 01:44:14,bin6254,35, +abc,6255,6255,6255,1987-02-16,625.2000000000736,625.1944,2015-01-01 01:44:15,bin6255,75, +abc,6256,6256,6256,1987-02-17,625.3000000000736,625.2944,2015-01-01 01:44:16,bin6256,35, +abc,6257,6257,6257,1987-02-18,625.4000000000736,625.39435,2015-01-01 01:44:17,bin6257,75, +abc,6258,6258,6258,1987-02-19,625.5000000000737,625.4943,2015-01-01 01:44:18,bin6258,35, +abc,6259,6259,6259,1987-02-20,625.6000000000737,625.5943,2015-01-01 01:44:19,bin6259,75, +abc,6260,6260,6260,1987-02-21,625.7000000000737,625.6943,2015-01-01 01:44:20,bin6260,35, +abc,6261,6261,6261,1987-02-22,625.8000000000737,625.79425,2015-01-01 01:44:21,bin6261,75, +abc,6262,6262,6262,1987-02-23,625.9000000000738,625.8942,2015-01-01 01:44:22,bin6262,35, +abc,6263,6263,6263,1987-02-24,626.0000000000738,625.9942,2015-01-01 01:44:23,bin6263,75, +abc,6264,6264,6264,1987-02-25,626.1000000000738,626.0942,2015-01-01 01:44:24,bin6264,35, +abc,6265,6265,6265,1987-02-26,626.2000000000738,626.19415,2015-01-01 01:44:25,bin6265,75, +abc,6266,6266,6266,1987-02-27,626.3000000000739,626.2941,2015-01-01 01:44:26,bin6266,35, +abc,6267,6267,6267,1987-02-28,626.4000000000739,626.3941,2015-01-01 01:44:27,bin6267,75, +abc,6268,6268,6268,1987-03-01,626.5000000000739,626.4941,2015-01-01 01:44:28,bin6268,35, +abc,6269,6269,6269,1987-03-02,626.6000000000739,626.59406,2015-01-01 01:44:29,bin6269,75, +abc,6270,6270,6270,1987-03-03,626.7000000000739,626.69403,2015-01-01 01:44:30,bin6270,35, +abc,6271,6271,6271,1987-03-04,626.800000000074,626.794,2015-01-01 01:44:31,bin6271,75, +abc,6272,6272,6272,1987-03-05,626.900000000074,626.894,2015-01-01 01:44:32,bin6272,35, +abc,6273,6273,6273,1987-03-06,627.000000000074,626.99396,2015-01-01 01:44:33,bin6273,75, +abc,6274,6274,6274,1987-03-07,627.100000000074,627.09393,2015-01-01 01:44:34,bin6274,35, +abc,6275,6275,6275,1987-03-08,627.200000000074,627.1939,2015-01-01 01:44:35,bin6275,75, +abc,6276,6276,6276,1987-03-09,627.3000000000741,627.2939,2015-01-01 01:44:36,bin6276,35, +abc,6277,6277,6277,1987-03-10,627.4000000000741,627.39386,2015-01-01 01:44:37,bin6277,75, +abc,6278,6278,6278,1987-03-11,627.5000000000741,627.49384,2015-01-01 01:44:38,bin6278,35, +abc,6279,6279,6279,1987-03-12,627.6000000000741,627.5938,2015-01-01 01:44:39,bin6279,75, +abc,6280,6280,6280,1987-03-13,627.7000000000742,627.6938,2015-01-01 01:44:40,bin6280,35, +abc,6281,6281,6281,1987-03-14,627.8000000000742,627.79376,2015-01-01 01:44:41,bin6281,75, +abc,6282,6282,6282,1987-03-15,627.9000000000742,627.89374,2015-01-01 01:44:42,bin6282,35, +abc,6283,6283,6283,1987-03-16,628.0000000000742,627.9937,2015-01-01 01:44:43,bin6283,75, +abc,6284,6284,6284,1987-03-17,628.1000000000743,628.0937,2015-01-01 01:44:44,bin6284,35, +abc,6285,6285,6285,1987-03-18,628.2000000000743,628.19366,2015-01-01 01:44:45,bin6285,75, +abc,6286,6286,6286,1987-03-19,628.3000000000743,628.29364,2015-01-01 01:44:46,bin6286,35, +abc,6287,6287,6287,1987-03-20,628.4000000000743,628.3936,2015-01-01 01:44:47,bin6287,75, +abc,6288,6288,6288,1987-03-21,628.5000000000744,628.4936,2015-01-01 01:44:48,bin6288,35, +abc,6289,6289,6289,1987-03-22,628.6000000000744,628.59357,2015-01-01 01:44:49,bin6289,75, +abc,6290,6290,6290,1987-03-23,628.7000000000744,628.69354,2015-01-01 01:44:50,bin6290,35, +abc,6291,6291,6291,1987-03-24,628.8000000000744,628.7935,2015-01-01 01:44:51,bin6291,75, +abc,6292,6292,6292,1987-03-25,628.9000000000744,628.8935,2015-01-01 01:44:52,bin6292,35, +abc,6293,6293,6293,1987-03-26,629.0000000000745,628.99347,2015-01-01 01:44:53,bin6293,75, +abc,6294,6294,6294,1987-03-27,629.1000000000745,629.09344,2015-01-01 01:44:54,bin6294,35, +abc,6295,6295,6295,1987-03-28,629.2000000000745,629.1934,2015-01-01 01:44:55,bin6295,75, +abc,6296,6296,6296,1987-03-29,629.3000000000745,629.2934,2015-01-01 01:44:56,bin6296,35, +abc,6297,6297,6297,1987-03-30,629.4000000000746,629.3934,2015-01-01 01:44:57,bin6297,75, +abc,6298,6298,6298,1987-03-31,629.5000000000746,629.49335,2015-01-01 01:44:58,bin6298,35, +abc,6299,6299,6299,1987-04-01,629.6000000000746,629.5933,2015-01-01 01:44:59,bin6299,75, +abc,6300,6300,6300,1987-04-02,629.7000000000746,629.6933,2015-01-01 01:45:00,bin6300,35, +abc,6301,6301,6301,1987-04-03,629.8000000000746,629.7933,2015-01-01 01:45:01,bin6301,75, +abc,6302,6302,6302,1987-04-04,629.9000000000747,629.89325,2015-01-01 01:45:02,bin6302,35, +abc,6303,6303,6303,1987-04-05,630.0000000000747,629.9932,2015-01-01 01:45:03,bin6303,75, +abc,6304,6304,6304,1987-04-06,630.1000000000747,630.0932,2015-01-01 01:45:04,bin6304,35, +abc,6305,6305,6305,1987-04-07,630.2000000000747,630.1932,2015-01-01 01:45:05,bin6305,75, +abc,6306,6306,6306,1987-04-08,630.3000000000748,630.29315,2015-01-01 01:45:06,bin6306,35, +abc,6307,6307,6307,1987-04-09,630.4000000000748,630.3931,2015-01-01 01:45:07,bin6307,75, +abc,6308,6308,6308,1987-04-10,630.5000000000748,630.4931,2015-01-01 01:45:08,bin6308,35, +abc,6309,6309,6309,1987-04-11,630.6000000000748,630.5931,2015-01-01 01:45:09,bin6309,75, +abc,6310,6310,6310,1987-04-12,630.7000000000749,630.69305,2015-01-01 01:45:10,bin6310,35, +abc,6311,6311,6311,1987-04-13,630.8000000000749,630.793,2015-01-01 01:45:11,bin6311,75, +abc,6312,6312,6312,1987-04-14,630.9000000000749,630.893,2015-01-01 01:45:12,bin6312,35, +abc,6313,6313,6313,1987-04-15,631.0000000000749,630.993,2015-01-01 01:45:13,bin6313,75, +abc,6314,6314,6314,1987-04-16,631.1000000000749,631.09296,2015-01-01 01:45:14,bin6314,35, +abc,6315,6315,6315,1987-04-17,631.200000000075,631.19293,2015-01-01 01:45:15,bin6315,75, +abc,6316,6316,6316,1987-04-18,631.300000000075,631.2929,2015-01-01 01:45:16,bin6316,35, +abc,6317,6317,6317,1987-04-19,631.400000000075,631.3929,2015-01-01 01:45:17,bin6317,75, +abc,6318,6318,6318,1987-04-20,631.500000000075,631.49286,2015-01-01 01:45:18,bin6318,35, +abc,6319,6319,6319,1987-04-21,631.600000000075,631.59283,2015-01-01 01:45:19,bin6319,75, +abc,6320,6320,6320,1987-04-22,631.7000000000751,631.6928,2015-01-01 01:45:20,bin6320,35, +abc,6321,6321,6321,1987-04-23,631.8000000000751,631.7928,2015-01-01 01:45:21,bin6321,75, +abc,6322,6322,6322,1987-04-24,631.9000000000751,631.89276,2015-01-01 01:45:22,bin6322,35, +abc,6323,6323,6323,1987-04-25,632.0000000000751,631.99274,2015-01-01 01:45:23,bin6323,75, +abc,6324,6324,6324,1987-04-26,632.1000000000752,632.0927,2015-01-01 01:45:24,bin6324,35, +abc,6325,6325,6325,1987-04-27,632.2000000000752,632.1927,2015-01-01 01:45:25,bin6325,75, +abc,6326,6326,6326,1987-04-28,632.3000000000752,632.29266,2015-01-01 01:45:26,bin6326,35, +abc,6327,6327,6327,1987-04-29,632.4000000000752,632.39264,2015-01-01 01:45:27,bin6327,75, +abc,6328,6328,6328,1987-04-30,632.5000000000753,632.4926,2015-01-01 01:45:28,bin6328,35, +abc,6329,6329,6329,1987-05-01,632.6000000000753,632.5926,2015-01-01 01:45:29,bin6329,75, +abc,6330,6330,6330,1987-05-02,632.7000000000753,632.69257,2015-01-01 01:45:30,bin6330,35, +abc,6331,6331,6331,1987-05-03,632.8000000000753,632.79254,2015-01-01 01:45:31,bin6331,75, +abc,6332,6332,6332,1987-05-04,632.9000000000754,632.8925,2015-01-01 01:45:32,bin6332,35, +abc,6333,6333,6333,1987-05-05,633.0000000000754,632.9925,2015-01-01 01:45:33,bin6333,75, +abc,6334,6334,6334,1987-05-06,633.1000000000754,633.09247,2015-01-01 01:45:34,bin6334,35, +abc,6335,6335,6335,1987-05-07,633.2000000000754,633.19244,2015-01-01 01:45:35,bin6335,75, +abc,6336,6336,6336,1987-05-08,633.3000000000754,633.2924,2015-01-01 01:45:36,bin6336,35, +abc,6337,6337,6337,1987-05-09,633.4000000000755,633.3924,2015-01-01 01:45:37,bin6337,75, +abc,6338,6338,6338,1987-05-10,633.5000000000755,633.4924,2015-01-01 01:45:38,bin6338,35, +abc,6339,6339,6339,1987-05-11,633.6000000000755,633.59235,2015-01-01 01:45:39,bin6339,75, +abc,6340,6340,6340,1987-05-12,633.7000000000755,633.6923,2015-01-01 01:45:40,bin6340,35, +abc,6341,6341,6341,1987-05-13,633.8000000000756,633.7923,2015-01-01 01:45:41,bin6341,75, +abc,6342,6342,6342,1987-05-14,633.9000000000756,633.8923,2015-01-01 01:45:42,bin6342,35, +abc,6343,6343,6343,1987-05-15,634.0000000000756,633.99225,2015-01-01 01:45:43,bin6343,75, +abc,6344,6344,6344,1987-05-16,634.1000000000756,634.0922,2015-01-01 01:45:44,bin6344,35, +abc,6345,6345,6345,1987-05-17,634.2000000000756,634.1922,2015-01-01 01:45:45,bin6345,75, +abc,6346,6346,6346,1987-05-18,634.3000000000757,634.2922,2015-01-01 01:45:46,bin6346,35, +abc,6347,6347,6347,1987-05-19,634.4000000000757,634.39215,2015-01-01 01:45:47,bin6347,75, +abc,6348,6348,6348,1987-05-20,634.5000000000757,634.4921,2015-01-01 01:45:48,bin6348,35, +abc,6349,6349,6349,1987-05-21,634.6000000000757,634.5921,2015-01-01 01:45:49,bin6349,75, +abc,6350,6350,6350,1987-05-22,634.7000000000758,634.6921,2015-01-01 01:45:50,bin6350,35, +abc,6351,6351,6351,1987-05-23,634.8000000000758,634.79205,2015-01-01 01:45:51,bin6351,75, +abc,6352,6352,6352,1987-05-24,634.9000000000758,634.892,2015-01-01 01:45:52,bin6352,35, +abc,6353,6353,6353,1987-05-25,635.0000000000758,634.992,2015-01-01 01:45:53,bin6353,75, +abc,6354,6354,6354,1987-05-26,635.1000000000759,635.092,2015-01-01 01:45:54,bin6354,35, +abc,6355,6355,6355,1987-05-27,635.2000000000759,635.19196,2015-01-01 01:45:55,bin6355,75, +abc,6356,6356,6356,1987-05-28,635.3000000000759,635.29193,2015-01-01 01:45:56,bin6356,35, +abc,6357,6357,6357,1987-05-29,635.4000000000759,635.3919,2015-01-01 01:45:57,bin6357,75, +abc,6358,6358,6358,1987-05-30,635.5000000000759,635.4919,2015-01-01 01:45:58,bin6358,35, +abc,6359,6359,6359,1987-05-31,635.600000000076,635.59186,2015-01-01 01:45:59,bin6359,75, +abc,6360,6360,6360,1987-06-01,635.700000000076,635.69183,2015-01-01 01:46:00,bin6360,35, +abc,6361,6361,6361,1987-06-02,635.800000000076,635.7918,2015-01-01 01:46:01,bin6361,75, +abc,6362,6362,6362,1987-06-03,635.900000000076,635.8918,2015-01-01 01:46:02,bin6362,35, +abc,6363,6363,6363,1987-06-04,636.000000000076,635.99176,2015-01-01 01:46:03,bin6363,75, +abc,6364,6364,6364,1987-06-05,636.1000000000761,636.09174,2015-01-01 01:46:04,bin6364,35, +abc,6365,6365,6365,1987-06-06,636.2000000000761,636.1917,2015-01-01 01:46:05,bin6365,75, +abc,6366,6366,6366,1987-06-07,636.3000000000761,636.2917,2015-01-01 01:46:06,bin6366,35, +abc,6367,6367,6367,1987-06-08,636.4000000000761,636.39166,2015-01-01 01:46:07,bin6367,75, +abc,6368,6368,6368,1987-06-09,636.5000000000762,636.49164,2015-01-01 01:46:08,bin6368,35, +abc,6369,6369,6369,1987-06-10,636.6000000000762,636.5916,2015-01-01 01:46:09,bin6369,75, +abc,6370,6370,6370,1987-06-11,636.7000000000762,636.6916,2015-01-01 01:46:10,bin6370,35, +abc,6371,6371,6371,1987-06-12,636.8000000000762,636.79156,2015-01-01 01:46:11,bin6371,75, +abc,6372,6372,6372,1987-06-13,636.9000000000763,636.89154,2015-01-01 01:46:12,bin6372,35, +abc,6373,6373,6373,1987-06-14,637.0000000000763,636.9915,2015-01-01 01:46:13,bin6373,75, +abc,6374,6374,6374,1987-06-15,637.1000000000763,637.0915,2015-01-01 01:46:14,bin6374,35, +abc,6375,6375,6375,1987-06-16,637.2000000000763,637.19147,2015-01-01 01:46:15,bin6375,75, +abc,6376,6376,6376,1987-06-17,637.3000000000764,637.29144,2015-01-01 01:46:16,bin6376,35, +abc,6377,6377,6377,1987-06-18,637.4000000000764,637.3914,2015-01-01 01:46:17,bin6377,75, +abc,6378,6378,6378,1987-06-19,637.5000000000764,637.4914,2015-01-01 01:46:18,bin6378,35, +abc,6379,6379,6379,1987-06-20,637.6000000000764,637.5914,2015-01-01 01:46:19,bin6379,75, +abc,6380,6380,6380,1987-06-21,637.7000000000764,637.69135,2015-01-01 01:46:20,bin6380,35, +abc,6381,6381,6381,1987-06-22,637.8000000000765,637.7913,2015-01-01 01:46:21,bin6381,75, +abc,6382,6382,6382,1987-06-23,637.9000000000765,637.8913,2015-01-01 01:46:22,bin6382,35, +abc,6383,6383,6383,1987-06-24,638.0000000000765,637.9913,2015-01-01 01:46:23,bin6383,75, +abc,6384,6384,6384,1987-06-25,638.1000000000765,638.09125,2015-01-01 01:46:24,bin6384,35, +abc,6385,6385,6385,1987-06-26,638.2000000000766,638.1912,2015-01-01 01:46:25,bin6385,75, +abc,6386,6386,6386,1987-06-27,638.3000000000766,638.2912,2015-01-01 01:46:26,bin6386,35, +abc,6387,6387,6387,1987-06-28,638.4000000000766,638.3912,2015-01-01 01:46:27,bin6387,75, +abc,6388,6388,6388,1987-06-29,638.5000000000766,638.49115,2015-01-01 01:46:28,bin6388,35, +abc,6389,6389,6389,1987-06-30,638.6000000000766,638.5911,2015-01-01 01:46:29,bin6389,75, +abc,6390,6390,6390,1987-07-01,638.7000000000767,638.6911,2015-01-01 01:46:30,bin6390,35, +abc,6391,6391,6391,1987-07-02,638.8000000000767,638.7911,2015-01-01 01:46:31,bin6391,75, +abc,6392,6392,6392,1987-07-03,638.9000000000767,638.89105,2015-01-01 01:46:32,bin6392,35, +abc,6393,6393,6393,1987-07-04,639.0000000000767,638.991,2015-01-01 01:46:33,bin6393,75, +abc,6394,6394,6394,1987-07-05,639.1000000000768,639.091,2015-01-01 01:46:34,bin6394,35, +abc,6395,6395,6395,1987-07-06,639.2000000000768,639.191,2015-01-01 01:46:35,bin6395,75, +abc,6396,6396,6396,1987-07-07,639.3000000000768,639.29095,2015-01-01 01:46:36,bin6396,35, +abc,6397,6397,6397,1987-07-08,639.4000000000768,639.3909,2015-01-01 01:46:37,bin6397,75, +abc,6398,6398,6398,1987-07-09,639.5000000000769,639.4909,2015-01-01 01:46:38,bin6398,35, +abc,6399,6399,6399,1987-07-10,639.6000000000769,639.5909,2015-01-01 01:46:39,bin6399,75, +abc,6400,6400,6400,1987-07-11,639.7000000000769,639.69086,2015-01-01 01:46:40,bin6400,35, +abc,6401,6401,6401,1987-07-12,639.8000000000769,639.79083,2015-01-01 01:46:41,bin6401,75, +abc,6402,6402,6402,1987-07-13,639.900000000077,639.8908,2015-01-01 01:46:42,bin6402,35, +abc,6403,6403,6403,1987-07-14,640.000000000077,639.9908,2015-01-01 01:46:43,bin6403,75, +abc,6404,6404,6404,1987-07-15,640.100000000077,640.09076,2015-01-01 01:46:44,bin6404,35, +abc,6405,6405,6405,1987-07-16,640.200000000077,640.19073,2015-01-01 01:46:45,bin6405,75, +abc,6406,6406,6406,1987-07-17,640.300000000077,640.2907,2015-01-01 01:46:46,bin6406,35, +abc,6407,6407,6407,1987-07-18,640.4000000000771,640.3907,2015-01-01 01:46:47,bin6407,75, +abc,6408,6408,6408,1987-07-19,640.5000000000771,640.49066,2015-01-01 01:46:48,bin6408,35, +abc,6409,6409,6409,1987-07-20,640.6000000000771,640.59064,2015-01-01 01:46:49,bin6409,75, +abc,6410,6410,6410,1987-07-21,640.7000000000771,640.6906,2015-01-01 01:46:50,bin6410,35, +abc,6411,6411,6411,1987-07-22,640.8000000000771,640.7906,2015-01-01 01:46:51,bin6411,75, +abc,6412,6412,6412,1987-07-23,640.9000000000772,640.89056,2015-01-01 01:46:52,bin6412,35, +abc,6413,6413,6413,1987-07-24,641.0000000000772,640.99054,2015-01-01 01:46:53,bin6413,75, +abc,6414,6414,6414,1987-07-25,641.1000000000772,641.0905,2015-01-01 01:46:54,bin6414,35, +abc,6415,6415,6415,1987-07-26,641.2000000000772,641.1905,2015-01-01 01:46:55,bin6415,75, +abc,6416,6416,6416,1987-07-27,641.3000000000773,641.29047,2015-01-01 01:46:56,bin6416,35, +abc,6417,6417,6417,1987-07-28,641.4000000000773,641.39044,2015-01-01 01:46:57,bin6417,75, +abc,6418,6418,6418,1987-07-29,641.5000000000773,641.4904,2015-01-01 01:46:58,bin6418,35, +abc,6419,6419,6419,1987-07-30,641.6000000000773,641.5904,2015-01-01 01:46:59,bin6419,75, +abc,6420,6420,6420,1987-07-31,641.7000000000774,641.69037,2015-01-01 01:47:00,bin6420,35, +abc,6421,6421,6421,1987-08-01,641.8000000000774,641.79034,2015-01-01 01:47:01,bin6421,75, +abc,6422,6422,6422,1987-08-02,641.9000000000774,641.8903,2015-01-01 01:47:02,bin6422,35, +abc,6423,6423,6423,1987-08-03,642.0000000000774,641.9903,2015-01-01 01:47:03,bin6423,75, +abc,6424,6424,6424,1987-08-04,642.1000000000774,642.0903,2015-01-01 01:47:04,bin6424,35, +abc,6425,6425,6425,1987-08-05,642.2000000000775,642.19025,2015-01-01 01:47:05,bin6425,75, +abc,6426,6426,6426,1987-08-06,642.3000000000775,642.2902,2015-01-01 01:47:06,bin6426,35, +abc,6427,6427,6427,1987-08-07,642.4000000000775,642.3902,2015-01-01 01:47:07,bin6427,75, +abc,6428,6428,6428,1987-08-08,642.5000000000775,642.4902,2015-01-01 01:47:08,bin6428,35, +abc,6429,6429,6429,1987-08-09,642.6000000000776,642.59015,2015-01-01 01:47:09,bin6429,75, +abc,6430,6430,6430,1987-08-10,642.7000000000776,642.6901,2015-01-01 01:47:10,bin6430,35, +abc,6431,6431,6431,1987-08-11,642.8000000000776,642.7901,2015-01-01 01:47:11,bin6431,75, +abc,6432,6432,6432,1987-08-12,642.9000000000776,642.8901,2015-01-01 01:47:12,bin6432,35, +abc,6433,6433,6433,1987-08-13,643.0000000000776,642.99005,2015-01-01 01:47:13,bin6433,75, +abc,6434,6434,6434,1987-08-14,643.1000000000777,643.09,2015-01-01 01:47:14,bin6434,35, +abc,6435,6435,6435,1987-08-15,643.2000000000777,643.19,2015-01-01 01:47:15,bin6435,75, +abc,6436,6436,6436,1987-08-16,643.3000000000777,643.29,2015-01-01 01:47:16,bin6436,35, +abc,6437,6437,6437,1987-08-17,643.4000000000777,643.38995,2015-01-01 01:47:17,bin6437,75, +abc,6438,6438,6438,1987-08-18,643.5000000000778,643.4899,2015-01-01 01:47:18,bin6438,35, +abc,6439,6439,6439,1987-08-19,643.6000000000778,643.5899,2015-01-01 01:47:19,bin6439,75, +abc,6440,6440,6440,1987-08-20,643.7000000000778,643.6899,2015-01-01 01:47:20,bin6440,35, +abc,6441,6441,6441,1987-08-21,643.8000000000778,643.78986,2015-01-01 01:47:21,bin6441,75, +abc,6442,6442,6442,1987-08-22,643.9000000000779,643.88983,2015-01-01 01:47:22,bin6442,35, +abc,6443,6443,6443,1987-08-23,644.0000000000779,643.9898,2015-01-01 01:47:23,bin6443,75, +abc,6444,6444,6444,1987-08-24,644.1000000000779,644.0898,2015-01-01 01:47:24,bin6444,35, +abc,6445,6445,6445,1987-08-25,644.2000000000779,644.18976,2015-01-01 01:47:25,bin6445,75, +abc,6446,6446,6446,1987-08-26,644.300000000078,644.28973,2015-01-01 01:47:26,bin6446,35, +abc,6447,6447,6447,1987-08-27,644.400000000078,644.3897,2015-01-01 01:47:27,bin6447,75, +abc,6448,6448,6448,1987-08-28,644.500000000078,644.4897,2015-01-01 01:47:28,bin6448,35, +abc,6449,6449,6449,1987-08-29,644.600000000078,644.58966,2015-01-01 01:47:29,bin6449,75, +abc,6450,6450,6450,1987-08-30,644.700000000078,644.68964,2015-01-01 01:47:30,bin6450,35, +abc,6451,6451,6451,1987-08-31,644.8000000000781,644.7896,2015-01-01 01:47:31,bin6451,75, +abc,6452,6452,6452,1987-09-01,644.9000000000781,644.8896,2015-01-01 01:47:32,bin6452,35, +abc,6453,6453,6453,1987-09-02,645.0000000000781,644.98956,2015-01-01 01:47:33,bin6453,75, +abc,6454,6454,6454,1987-09-03,645.1000000000781,645.08954,2015-01-01 01:47:34,bin6454,35, +abc,6455,6455,6455,1987-09-04,645.2000000000781,645.1895,2015-01-01 01:47:35,bin6455,75, +abc,6456,6456,6456,1987-09-05,645.3000000000782,645.2895,2015-01-01 01:47:36,bin6456,35, +abc,6457,6457,6457,1987-09-06,645.4000000000782,645.38947,2015-01-01 01:47:37,bin6457,75, +abc,6458,6458,6458,1987-09-07,645.5000000000782,645.48944,2015-01-01 01:47:38,bin6458,35, +abc,6459,6459,6459,1987-09-08,645.6000000000782,645.5894,2015-01-01 01:47:39,bin6459,75, +abc,6460,6460,6460,1987-09-09,645.7000000000783,645.6894,2015-01-01 01:47:40,bin6460,35, +abc,6461,6461,6461,1987-09-10,645.8000000000783,645.78937,2015-01-01 01:47:41,bin6461,75, +abc,6462,6462,6462,1987-09-11,645.9000000000783,645.88934,2015-01-01 01:47:42,bin6462,35, +abc,6463,6463,6463,1987-09-12,646.0000000000783,645.9893,2015-01-01 01:47:43,bin6463,75, +abc,6464,6464,6464,1987-09-13,646.1000000000784,646.0893,2015-01-01 01:47:44,bin6464,35, +abc,6465,6465,6465,1987-09-14,646.2000000000784,646.1893,2015-01-01 01:47:45,bin6465,75, +abc,6466,6466,6466,1987-09-15,646.3000000000784,646.28925,2015-01-01 01:47:46,bin6466,35, +abc,6467,6467,6467,1987-09-16,646.4000000000784,646.3892,2015-01-01 01:47:47,bin6467,75, +abc,6468,6468,6468,1987-09-17,646.5000000000784,646.4892,2015-01-01 01:47:48,bin6468,35, +abc,6469,6469,6469,1987-09-18,646.6000000000785,646.5892,2015-01-01 01:47:49,bin6469,75, +abc,6470,6470,6470,1987-09-19,646.7000000000785,646.68915,2015-01-01 01:47:50,bin6470,35, +abc,6471,6471,6471,1987-09-20,646.8000000000785,646.7891,2015-01-01 01:47:51,bin6471,75, +abc,6472,6472,6472,1987-09-21,646.9000000000785,646.8891,2015-01-01 01:47:52,bin6472,35, +abc,6473,6473,6473,1987-09-22,647.0000000000786,646.9891,2015-01-01 01:47:53,bin6473,75, +abc,6474,6474,6474,1987-09-23,647.1000000000786,647.08905,2015-01-01 01:47:54,bin6474,35, +abc,6475,6475,6475,1987-09-24,647.2000000000786,647.189,2015-01-01 01:47:55,bin6475,75, +abc,6476,6476,6476,1987-09-25,647.3000000000786,647.289,2015-01-01 01:47:56,bin6476,35, +abc,6477,6477,6477,1987-09-26,647.4000000000786,647.389,2015-01-01 01:47:57,bin6477,75, +abc,6478,6478,6478,1987-09-27,647.5000000000787,647.48895,2015-01-01 01:47:58,bin6478,35, +abc,6479,6479,6479,1987-09-28,647.6000000000787,647.5889,2015-01-01 01:47:59,bin6479,75, +abc,6480,6480,6480,1987-09-29,647.7000000000787,647.6889,2015-01-01 01:48:00,bin6480,35, +abc,6481,6481,6481,1987-09-30,647.8000000000787,647.7889,2015-01-01 01:48:01,bin6481,75, +abc,6482,6482,6482,1987-10-01,647.9000000000788,647.88885,2015-01-01 01:48:02,bin6482,35, +abc,6483,6483,6483,1987-10-02,648.0000000000788,647.98883,2015-01-01 01:48:03,bin6483,75, +abc,6484,6484,6484,1987-10-03,648.1000000000788,648.0888,2015-01-01 01:48:04,bin6484,35, +abc,6485,6485,6485,1987-10-04,648.2000000000788,648.1888,2015-01-01 01:48:05,bin6485,75, +abc,6486,6486,6486,1987-10-05,648.3000000000789,648.28876,2015-01-01 01:48:06,bin6486,35, +abc,6487,6487,6487,1987-10-06,648.4000000000789,648.38873,2015-01-01 01:48:07,bin6487,75, +abc,6488,6488,6488,1987-10-07,648.5000000000789,648.4887,2015-01-01 01:48:08,bin6488,35, +abc,6489,6489,6489,1987-10-08,648.6000000000789,648.5887,2015-01-01 01:48:09,bin6489,75, +abc,6490,6490,6490,1987-10-09,648.700000000079,648.68866,2015-01-01 01:48:10,bin6490,35, +abc,6491,6491,6491,1987-10-10,648.800000000079,648.78864,2015-01-01 01:48:11,bin6491,75, +abc,6492,6492,6492,1987-10-11,648.900000000079,648.8886,2015-01-01 01:48:12,bin6492,35, +abc,6493,6493,6493,1987-10-12,649.000000000079,648.9886,2015-01-01 01:48:13,bin6493,75, +abc,6494,6494,6494,1987-10-13,649.100000000079,649.08856,2015-01-01 01:48:14,bin6494,35, +abc,6495,6495,6495,1987-10-14,649.2000000000791,649.18854,2015-01-01 01:48:15,bin6495,75, +abc,6496,6496,6496,1987-10-15,649.3000000000791,649.2885,2015-01-01 01:48:16,bin6496,35, +abc,6497,6497,6497,1987-10-16,649.4000000000791,649.3885,2015-01-01 01:48:17,bin6497,75, +abc,6498,6498,6498,1987-10-17,649.5000000000791,649.48846,2015-01-01 01:48:18,bin6498,35, +abc,6499,6499,6499,1987-10-18,649.6000000000791,649.58844,2015-01-01 01:48:19,bin6499,75, +abc,6500,6500,6500,1987-10-19,649.7000000000792,649.6884,2015-01-01 01:48:20,bin6500,35, +abc,6501,6501,6501,1987-10-20,649.8000000000792,649.7884,2015-01-01 01:48:21,bin6501,75, +abc,6502,6502,6502,1987-10-21,649.9000000000792,649.88837,2015-01-01 01:48:22,bin6502,35, +abc,6503,6503,6503,1987-10-22,650.0000000000792,649.98834,2015-01-01 01:48:23,bin6503,75, +abc,6504,6504,6504,1987-10-23,650.1000000000793,650.0883,2015-01-01 01:48:24,bin6504,35, +abc,6505,6505,6505,1987-10-24,650.2000000000793,650.1883,2015-01-01 01:48:25,bin6505,75, +abc,6506,6506,6506,1987-10-25,650.3000000000793,650.28827,2015-01-01 01:48:26,bin6506,35, +abc,6507,6507,6507,1987-10-26,650.4000000000793,650.38824,2015-01-01 01:48:27,bin6507,75, +abc,6508,6508,6508,1987-10-27,650.5000000000794,650.4882,2015-01-01 01:48:28,bin6508,35, +abc,6509,6509,6509,1987-10-28,650.6000000000794,650.5882,2015-01-01 01:48:29,bin6509,75, +abc,6510,6510,6510,1987-10-29,650.7000000000794,650.6882,2015-01-01 01:48:30,bin6510,35, +abc,6511,6511,6511,1987-10-30,650.8000000000794,650.78815,2015-01-01 01:48:31,bin6511,75, +abc,6512,6512,6512,1987-10-31,650.9000000000794,650.8881,2015-01-01 01:48:32,bin6512,35, +abc,6513,6513,6513,1987-11-01,651.0000000000795,650.9881,2015-01-01 01:48:33,bin6513,75, +abc,6514,6514,6514,1987-11-02,651.1000000000795,651.0881,2015-01-01 01:48:34,bin6514,35, +abc,6515,6515,6515,1987-11-03,651.2000000000795,651.18805,2015-01-01 01:48:35,bin6515,75, +abc,6516,6516,6516,1987-11-04,651.3000000000795,651.288,2015-01-01 01:48:36,bin6516,35, +abc,6517,6517,6517,1987-11-05,651.4000000000796,651.388,2015-01-01 01:48:37,bin6517,75, +abc,6518,6518,6518,1987-11-06,651.5000000000796,651.488,2015-01-01 01:48:38,bin6518,35, +abc,6519,6519,6519,1987-11-07,651.6000000000796,651.58795,2015-01-01 01:48:39,bin6519,75, +abc,6520,6520,6520,1987-11-08,651.7000000000796,651.6879,2015-01-01 01:48:40,bin6520,35, +abc,6521,6521,6521,1987-11-09,651.8000000000796,651.7879,2015-01-01 01:48:41,bin6521,75, +abc,6522,6522,6522,1987-11-10,651.9000000000797,651.8879,2015-01-01 01:48:42,bin6522,35, +abc,6523,6523,6523,1987-11-11,652.0000000000797,651.98785,2015-01-01 01:48:43,bin6523,75, +abc,6524,6524,6524,1987-11-12,652.1000000000797,652.0878,2015-01-01 01:48:44,bin6524,35, +abc,6525,6525,6525,1987-11-13,652.2000000000797,652.1878,2015-01-01 01:48:45,bin6525,75, +abc,6526,6526,6526,1987-11-14,652.3000000000798,652.2878,2015-01-01 01:48:46,bin6526,35, +abc,6527,6527,6527,1987-11-15,652.4000000000798,652.38776,2015-01-01 01:48:47,bin6527,75, +abc,6528,6528,6528,1987-11-16,652.5000000000798,652.48773,2015-01-01 01:48:48,bin6528,35, +abc,6529,6529,6529,1987-11-17,652.6000000000798,652.5877,2015-01-01 01:48:49,bin6529,75, +abc,6530,6530,6530,1987-11-18,652.7000000000799,652.6877,2015-01-01 01:48:50,bin6530,35, +abc,6531,6531,6531,1987-11-19,652.8000000000799,652.78766,2015-01-01 01:48:51,bin6531,75, +abc,6532,6532,6532,1987-11-20,652.9000000000799,652.88763,2015-01-01 01:48:52,bin6532,35, +abc,6533,6533,6533,1987-11-21,653.0000000000799,652.9876,2015-01-01 01:48:53,bin6533,75, +abc,6534,6534,6534,1987-11-22,653.10000000008,653.0876,2015-01-01 01:48:54,bin6534,35, +abc,6535,6535,6535,1987-11-23,653.20000000008,653.18756,2015-01-01 01:48:55,bin6535,75, +abc,6536,6536,6536,1987-11-24,653.30000000008,653.28754,2015-01-01 01:48:56,bin6536,35, +abc,6537,6537,6537,1987-11-25,653.40000000008,653.3875,2015-01-01 01:48:57,bin6537,75, +abc,6538,6538,6538,1987-11-26,653.50000000008,653.4875,2015-01-01 01:48:58,bin6538,35, +abc,6539,6539,6539,1987-11-27,653.6000000000801,653.58746,2015-01-01 01:48:59,bin6539,75, +abc,6540,6540,6540,1987-11-28,653.7000000000801,653.68744,2015-01-01 01:49:00,bin6540,35, +abc,6541,6541,6541,1987-11-29,653.8000000000801,653.7874,2015-01-01 01:49:01,bin6541,75, +abc,6542,6542,6542,1987-11-30,653.9000000000801,653.8874,2015-01-01 01:49:02,bin6542,35, +abc,6543,6543,6543,1987-12-01,654.0000000000801,653.98737,2015-01-01 01:49:03,bin6543,75, +abc,6544,6544,6544,1987-12-02,654.1000000000802,654.08734,2015-01-01 01:49:04,bin6544,35, +abc,6545,6545,6545,1987-12-03,654.2000000000802,654.1873,2015-01-01 01:49:05,bin6545,75, +abc,6546,6546,6546,1987-12-04,654.3000000000802,654.2873,2015-01-01 01:49:06,bin6546,35, +abc,6547,6547,6547,1987-12-05,654.4000000000802,654.38727,2015-01-01 01:49:07,bin6547,75, +abc,6548,6548,6548,1987-12-06,654.5000000000803,654.48724,2015-01-01 01:49:08,bin6548,35, +abc,6549,6549,6549,1987-12-07,654.6000000000803,654.5872,2015-01-01 01:49:09,bin6549,75, +abc,6550,6550,6550,1987-12-08,654.7000000000803,654.6872,2015-01-01 01:49:10,bin6550,35, +abc,6551,6551,6551,1987-12-09,654.8000000000803,654.7872,2015-01-01 01:49:11,bin6551,75, +abc,6552,6552,6552,1987-12-10,654.9000000000804,654.88715,2015-01-01 01:49:12,bin6552,35, +abc,6553,6553,6553,1987-12-11,655.0000000000804,654.9871,2015-01-01 01:49:13,bin6553,75, +abc,6554,6554,6554,1987-12-12,655.1000000000804,655.0871,2015-01-01 01:49:14,bin6554,35, +abc,6555,6555,6555,1987-12-13,655.2000000000804,655.1871,2015-01-01 01:49:15,bin6555,75, +abc,6556,6556,6556,1987-12-14,655.3000000000804,655.28705,2015-01-01 01:49:16,bin6556,35, +abc,6557,6557,6557,1987-12-15,655.4000000000805,655.387,2015-01-01 01:49:17,bin6557,75, +abc,6558,6558,6558,1987-12-16,655.5000000000805,655.487,2015-01-01 01:49:18,bin6558,35, +abc,6559,6559,6559,1987-12-17,655.6000000000805,655.587,2015-01-01 01:49:19,bin6559,75, +abc,6560,6560,6560,1987-12-18,655.7000000000805,655.68695,2015-01-01 01:49:20,bin6560,35, +abc,6561,6561,6561,1987-12-19,655.8000000000806,655.7869,2015-01-01 01:49:21,bin6561,75, +abc,6562,6562,6562,1987-12-20,655.9000000000806,655.8869,2015-01-01 01:49:22,bin6562,35, +abc,6563,6563,6563,1987-12-21,656.0000000000806,655.9869,2015-01-01 01:49:23,bin6563,75, +abc,6564,6564,6564,1987-12-22,656.1000000000806,656.08685,2015-01-01 01:49:24,bin6564,35, +abc,6565,6565,6565,1987-12-23,656.2000000000806,656.1868,2015-01-01 01:49:25,bin6565,75, +abc,6566,6566,6566,1987-12-24,656.3000000000807,656.2868,2015-01-01 01:49:26,bin6566,35, +abc,6567,6567,6567,1987-12-25,656.4000000000807,656.3868,2015-01-01 01:49:27,bin6567,75, +abc,6568,6568,6568,1987-12-26,656.5000000000807,656.48676,2015-01-01 01:49:28,bin6568,35, +abc,6569,6569,6569,1987-12-27,656.6000000000807,656.58673,2015-01-01 01:49:29,bin6569,75, +abc,6570,6570,6570,1987-12-28,656.7000000000808,656.6867,2015-01-01 01:49:30,bin6570,35, +abc,6571,6571,6571,1987-12-29,656.8000000000808,656.7867,2015-01-01 01:49:31,bin6571,75, +abc,6572,6572,6572,1987-12-30,656.9000000000808,656.88666,2015-01-01 01:49:32,bin6572,35, +abc,6573,6573,6573,1987-12-31,657.0000000000808,656.98663,2015-01-01 01:49:33,bin6573,75, +abc,6574,6574,6574,1988-01-01,657.1000000000809,657.0866,2015-01-01 01:49:34,bin6574,35, +abc,6575,6575,6575,1988-01-02,657.2000000000809,657.1866,2015-01-01 01:49:35,bin6575,75, +abc,6576,6576,6576,1988-01-03,657.3000000000809,657.28656,2015-01-01 01:49:36,bin6576,35, +abc,6577,6577,6577,1988-01-04,657.4000000000809,657.38654,2015-01-01 01:49:37,bin6577,75, +abc,6578,6578,6578,1988-01-05,657.500000000081,657.4865,2015-01-01 01:49:38,bin6578,35, +abc,6579,6579,6579,1988-01-06,657.600000000081,657.5865,2015-01-01 01:49:39,bin6579,75, +abc,6580,6580,6580,1988-01-07,657.700000000081,657.68646,2015-01-01 01:49:40,bin6580,35, +abc,6581,6581,6581,1988-01-08,657.800000000081,657.78644,2015-01-01 01:49:41,bin6581,75, +abc,6582,6582,6582,1988-01-09,657.900000000081,657.8864,2015-01-01 01:49:42,bin6582,35, +abc,6583,6583,6583,1988-01-10,658.0000000000811,657.9864,2015-01-01 01:49:43,bin6583,75, +abc,6584,6584,6584,1988-01-11,658.1000000000811,658.08636,2015-01-01 01:49:44,bin6584,35, +abc,6585,6585,6585,1988-01-12,658.2000000000811,658.18634,2015-01-01 01:49:45,bin6585,75, +abc,6586,6586,6586,1988-01-13,658.3000000000811,658.2863,2015-01-01 01:49:46,bin6586,35, +abc,6587,6587,6587,1988-01-14,658.4000000000811,658.3863,2015-01-01 01:49:47,bin6587,75, +abc,6588,6588,6588,1988-01-15,658.5000000000812,658.48627,2015-01-01 01:49:48,bin6588,35, +abc,6589,6589,6589,1988-01-16,658.6000000000812,658.58624,2015-01-01 01:49:49,bin6589,75, +abc,6590,6590,6590,1988-01-17,658.7000000000812,658.6862,2015-01-01 01:49:50,bin6590,35, +abc,6591,6591,6591,1988-01-18,658.8000000000812,658.7862,2015-01-01 01:49:51,bin6591,75, +abc,6592,6592,6592,1988-01-19,658.9000000000813,658.88617,2015-01-01 01:49:52,bin6592,35, +abc,6593,6593,6593,1988-01-20,659.0000000000813,658.98615,2015-01-01 01:49:53,bin6593,75, +abc,6594,6594,6594,1988-01-21,659.1000000000813,659.0861,2015-01-01 01:49:54,bin6594,35, +abc,6595,6595,6595,1988-01-22,659.2000000000813,659.1861,2015-01-01 01:49:55,bin6595,75, +abc,6596,6596,6596,1988-01-23,659.3000000000814,659.2861,2015-01-01 01:49:56,bin6596,35, +abc,6597,6597,6597,1988-01-24,659.4000000000814,659.38605,2015-01-01 01:49:57,bin6597,75, +abc,6598,6598,6598,1988-01-25,659.5000000000814,659.486,2015-01-01 01:49:58,bin6598,35, +abc,6599,6599,6599,1988-01-26,659.6000000000814,659.586,2015-01-01 01:49:59,bin6599,75, +abc,6600,6600,6600,1988-01-27,659.7000000000814,659.686,2015-01-01 01:50:00,bin6600,35, +abc,6601,6601,6601,1988-01-28,659.8000000000815,659.78595,2015-01-01 01:50:01,bin6601,75, +abc,6602,6602,6602,1988-01-29,659.9000000000815,659.8859,2015-01-01 01:50:02,bin6602,35, +abc,6603,6603,6603,1988-01-30,660.0000000000815,659.9859,2015-01-01 01:50:03,bin6603,75, +abc,6604,6604,6604,1988-01-31,660.1000000000815,660.0859,2015-01-01 01:50:04,bin6604,35, +abc,6605,6605,6605,1988-02-01,660.2000000000816,660.18585,2015-01-01 01:50:05,bin6605,75, +abc,6606,6606,6606,1988-02-02,660.3000000000816,660.2858,2015-01-01 01:50:06,bin6606,35, +abc,6607,6607,6607,1988-02-03,660.4000000000816,660.3858,2015-01-01 01:50:07,bin6607,75, +abc,6608,6608,6608,1988-02-04,660.5000000000816,660.4858,2015-01-01 01:50:08,bin6608,35, +abc,6609,6609,6609,1988-02-05,660.6000000000816,660.58575,2015-01-01 01:50:09,bin6609,75, +abc,6610,6610,6610,1988-02-06,660.7000000000817,660.6857,2015-01-01 01:50:10,bin6610,35, +abc,6611,6611,6611,1988-02-07,660.8000000000817,660.7857,2015-01-01 01:50:11,bin6611,75, +abc,6612,6612,6612,1988-02-08,660.9000000000817,660.8857,2015-01-01 01:50:12,bin6612,35, +abc,6613,6613,6613,1988-02-09,661.0000000000817,660.98566,2015-01-01 01:50:13,bin6613,75, +abc,6614,6614,6614,1988-02-10,661.1000000000818,661.08563,2015-01-01 01:50:14,bin6614,35, +abc,6615,6615,6615,1988-02-11,661.2000000000818,661.1856,2015-01-01 01:50:15,bin6615,75, +abc,6616,6616,6616,1988-02-12,661.3000000000818,661.2856,2015-01-01 01:50:16,bin6616,35, +abc,6617,6617,6617,1988-02-13,661.4000000000818,661.38556,2015-01-01 01:50:17,bin6617,75, +abc,6618,6618,6618,1988-02-14,661.5000000000819,661.48553,2015-01-01 01:50:18,bin6618,35, +abc,6619,6619,6619,1988-02-15,661.6000000000819,661.5855,2015-01-01 01:50:19,bin6619,75, +abc,6620,6620,6620,1988-02-16,661.7000000000819,661.6855,2015-01-01 01:50:20,bin6620,35, +abc,6621,6621,6621,1988-02-17,661.8000000000819,661.78546,2015-01-01 01:50:21,bin6621,75, +abc,6622,6622,6622,1988-02-18,661.900000000082,661.88544,2015-01-01 01:50:22,bin6622,35, +abc,6623,6623,6623,1988-02-19,662.000000000082,661.9854,2015-01-01 01:50:23,bin6623,75, +abc,6624,6624,6624,1988-02-20,662.100000000082,662.0854,2015-01-01 01:50:24,bin6624,35, +abc,6625,6625,6625,1988-02-21,662.200000000082,662.18536,2015-01-01 01:50:25,bin6625,75, +abc,6626,6626,6626,1988-02-22,662.300000000082,662.28534,2015-01-01 01:50:26,bin6626,35, +abc,6627,6627,6627,1988-02-23,662.4000000000821,662.3853,2015-01-01 01:50:27,bin6627,75, +abc,6628,6628,6628,1988-02-24,662.5000000000821,662.4853,2015-01-01 01:50:28,bin6628,35, +abc,6629,6629,6629,1988-02-25,662.6000000000821,662.58527,2015-01-01 01:50:29,bin6629,75, +abc,6630,6630,6630,1988-02-26,662.7000000000821,662.68524,2015-01-01 01:50:30,bin6630,35, +abc,6631,6631,6631,1988-02-27,662.8000000000822,662.7852,2015-01-01 01:50:31,bin6631,75, +abc,6632,6632,6632,1988-02-28,662.9000000000822,662.8852,2015-01-01 01:50:32,bin6632,35, +abc,6633,6633,6633,1988-02-29,663.0000000000822,662.98517,2015-01-01 01:50:33,bin6633,75, +abc,6634,6634,6634,1988-03-01,663.1000000000822,663.08514,2015-01-01 01:50:34,bin6634,35, +abc,6635,6635,6635,1988-03-02,663.2000000000822,663.1851,2015-01-01 01:50:35,bin6635,75, +abc,6636,6636,6636,1988-03-03,663.3000000000823,663.2851,2015-01-01 01:50:36,bin6636,35, +abc,6637,6637,6637,1988-03-04,663.4000000000823,663.3851,2015-01-01 01:50:37,bin6637,75, +abc,6638,6638,6638,1988-03-05,663.5000000000823,663.48505,2015-01-01 01:50:38,bin6638,35, +abc,6639,6639,6639,1988-03-06,663.6000000000823,663.585,2015-01-01 01:50:39,bin6639,75, +abc,6640,6640,6640,1988-03-07,663.7000000000824,663.685,2015-01-01 01:50:40,bin6640,35, +abc,6641,6641,6641,1988-03-08,663.8000000000824,663.785,2015-01-01 01:50:41,bin6641,75, +abc,6642,6642,6642,1988-03-09,663.9000000000824,663.88495,2015-01-01 01:50:42,bin6642,35, +abc,6643,6643,6643,1988-03-10,664.0000000000824,663.9849,2015-01-01 01:50:43,bin6643,75, +abc,6644,6644,6644,1988-03-11,664.1000000000824,664.0849,2015-01-01 01:50:44,bin6644,35, +abc,6645,6645,6645,1988-03-12,664.2000000000825,664.1849,2015-01-01 01:50:45,bin6645,75, +abc,6646,6646,6646,1988-03-13,664.3000000000825,664.28485,2015-01-01 01:50:46,bin6646,35, +abc,6647,6647,6647,1988-03-14,664.4000000000825,664.3848,2015-01-01 01:50:47,bin6647,75, +abc,6648,6648,6648,1988-03-15,664.5000000000825,664.4848,2015-01-01 01:50:48,bin6648,35, +abc,6649,6649,6649,1988-03-16,664.6000000000826,664.5848,2015-01-01 01:50:49,bin6649,75, +abc,6650,6650,6650,1988-03-17,664.7000000000826,664.68475,2015-01-01 01:50:50,bin6650,35, +abc,6651,6651,6651,1988-03-18,664.8000000000826,664.7847,2015-01-01 01:50:51,bin6651,75, +abc,6652,6652,6652,1988-03-19,664.9000000000826,664.8847,2015-01-01 01:50:52,bin6652,35, +abc,6653,6653,6653,1988-03-20,665.0000000000827,664.9847,2015-01-01 01:50:53,bin6653,75, +abc,6654,6654,6654,1988-03-21,665.1000000000827,665.08466,2015-01-01 01:50:54,bin6654,35, +abc,6655,6655,6655,1988-03-22,665.2000000000827,665.18463,2015-01-01 01:50:55,bin6655,75, +abc,6656,6656,6656,1988-03-23,665.3000000000827,665.2846,2015-01-01 01:50:56,bin6656,35, +abc,6657,6657,6657,1988-03-24,665.4000000000827,665.3846,2015-01-01 01:50:57,bin6657,75, +abc,6658,6658,6658,1988-03-25,665.5000000000828,665.48456,2015-01-01 01:50:58,bin6658,35, +abc,6659,6659,6659,1988-03-26,665.6000000000828,665.58453,2015-01-01 01:50:59,bin6659,75, +abc,6660,6660,6660,1988-03-27,665.7000000000828,665.6845,2015-01-01 01:51:00,bin6660,35, +abc,6661,6661,6661,1988-03-28,665.8000000000828,665.7845,2015-01-01 01:51:01,bin6661,75, +abc,6662,6662,6662,1988-03-29,665.9000000000829,665.88446,2015-01-01 01:51:02,bin6662,35, +abc,6663,6663,6663,1988-03-30,666.0000000000829,665.98444,2015-01-01 01:51:03,bin6663,75, +abc,6664,6664,6664,1988-03-31,666.1000000000829,666.0844,2015-01-01 01:51:04,bin6664,35, +abc,6665,6665,6665,1988-04-01,666.2000000000829,666.1844,2015-01-01 01:51:05,bin6665,75, +abc,6666,6666,6666,1988-04-02,666.300000000083,666.28436,2015-01-01 01:51:06,bin6666,35, +abc,6667,6667,6667,1988-04-03,666.400000000083,666.38434,2015-01-01 01:51:07,bin6667,75, +abc,6668,6668,6668,1988-04-04,666.500000000083,666.4843,2015-01-01 01:51:08,bin6668,35, +abc,6669,6669,6669,1988-04-05,666.600000000083,666.5843,2015-01-01 01:51:09,bin6669,75, +abc,6670,6670,6670,1988-04-06,666.700000000083,666.68427,2015-01-01 01:51:10,bin6670,35, +abc,6671,6671,6671,1988-04-07,666.8000000000831,666.78424,2015-01-01 01:51:11,bin6671,75, +abc,6672,6672,6672,1988-04-08,666.9000000000831,666.8842,2015-01-01 01:51:12,bin6672,35, +abc,6673,6673,6673,1988-04-09,667.0000000000831,666.9842,2015-01-01 01:51:13,bin6673,75, +abc,6674,6674,6674,1988-04-10,667.1000000000831,667.08417,2015-01-01 01:51:14,bin6674,35, +abc,6675,6675,6675,1988-04-11,667.2000000000832,667.18414,2015-01-01 01:51:15,bin6675,75, +abc,6676,6676,6676,1988-04-12,667.3000000000832,667.2841,2015-01-01 01:51:16,bin6676,35, +abc,6677,6677,6677,1988-04-13,667.4000000000832,667.3841,2015-01-01 01:51:17,bin6677,75, +abc,6678,6678,6678,1988-04-14,667.5000000000832,667.4841,2015-01-01 01:51:18,bin6678,35, +abc,6679,6679,6679,1988-04-15,667.6000000000832,667.58405,2015-01-01 01:51:19,bin6679,75, +abc,6680,6680,6680,1988-04-16,667.7000000000833,667.684,2015-01-01 01:51:20,bin6680,35, +abc,6681,6681,6681,1988-04-17,667.8000000000833,667.784,2015-01-01 01:51:21,bin6681,75, +abc,6682,6682,6682,1988-04-18,667.9000000000833,667.884,2015-01-01 01:51:22,bin6682,35, +abc,6683,6683,6683,1988-04-19,668.0000000000833,667.98395,2015-01-01 01:51:23,bin6683,75, +abc,6684,6684,6684,1988-04-20,668.1000000000834,668.0839,2015-01-01 01:51:24,bin6684,35, +abc,6685,6685,6685,1988-04-21,668.2000000000834,668.1839,2015-01-01 01:51:25,bin6685,75, +abc,6686,6686,6686,1988-04-22,668.3000000000834,668.2839,2015-01-01 01:51:26,bin6686,35, +abc,6687,6687,6687,1988-04-23,668.4000000000834,668.38385,2015-01-01 01:51:27,bin6687,75, +abc,6688,6688,6688,1988-04-24,668.5000000000834,668.4838,2015-01-01 01:51:28,bin6688,35, +abc,6689,6689,6689,1988-04-25,668.6000000000835,668.5838,2015-01-01 01:51:29,bin6689,75, +abc,6690,6690,6690,1988-04-26,668.7000000000835,668.6838,2015-01-01 01:51:30,bin6690,35, +abc,6691,6691,6691,1988-04-27,668.8000000000835,668.78375,2015-01-01 01:51:31,bin6691,75, +abc,6692,6692,6692,1988-04-28,668.9000000000835,668.8837,2015-01-01 01:51:32,bin6692,35, +abc,6693,6693,6693,1988-04-29,669.0000000000836,668.9837,2015-01-01 01:51:33,bin6693,75, +abc,6694,6694,6694,1988-04-30,669.1000000000836,669.0837,2015-01-01 01:51:34,bin6694,35, +abc,6695,6695,6695,1988-05-01,669.2000000000836,669.18365,2015-01-01 01:51:35,bin6695,75, +abc,6696,6696,6696,1988-05-02,669.3000000000836,669.2836,2015-01-01 01:51:36,bin6696,35, +abc,6697,6697,6697,1988-05-03,669.4000000000837,669.3836,2015-01-01 01:51:37,bin6697,75, +abc,6698,6698,6698,1988-05-04,669.5000000000837,669.4836,2015-01-01 01:51:38,bin6698,35, +abc,6699,6699,6699,1988-05-05,669.6000000000837,669.58356,2015-01-01 01:51:39,bin6699,75, +abc,6700,6700,6700,1988-05-06,669.7000000000837,669.68353,2015-01-01 01:51:40,bin6700,35, +abc,6701,6701,6701,1988-05-07,669.8000000000837,669.7835,2015-01-01 01:51:41,bin6701,75, +abc,6702,6702,6702,1988-05-08,669.9000000000838,669.8835,2015-01-01 01:51:42,bin6702,35, +abc,6703,6703,6703,1988-05-09,670.0000000000838,669.98346,2015-01-01 01:51:43,bin6703,75, +abc,6704,6704,6704,1988-05-10,670.1000000000838,670.08344,2015-01-01 01:51:44,bin6704,35, +abc,6705,6705,6705,1988-05-11,670.2000000000838,670.1834,2015-01-01 01:51:45,bin6705,75, +abc,6706,6706,6706,1988-05-12,670.3000000000839,670.2834,2015-01-01 01:51:46,bin6706,35, +abc,6707,6707,6707,1988-05-13,670.4000000000839,670.38336,2015-01-01 01:51:47,bin6707,75, +abc,6708,6708,6708,1988-05-14,670.5000000000839,670.48334,2015-01-01 01:51:48,bin6708,35, +abc,6709,6709,6709,1988-05-15,670.6000000000839,670.5833,2015-01-01 01:51:49,bin6709,75, +abc,6710,6710,6710,1988-05-16,670.700000000084,670.6833,2015-01-01 01:51:50,bin6710,35, +abc,6711,6711,6711,1988-05-17,670.800000000084,670.78326,2015-01-01 01:51:51,bin6711,75, +abc,6712,6712,6712,1988-05-18,670.900000000084,670.88324,2015-01-01 01:51:52,bin6712,35, +abc,6713,6713,6713,1988-05-19,671.000000000084,670.9832,2015-01-01 01:51:53,bin6713,75, +abc,6714,6714,6714,1988-05-20,671.100000000084,671.0832,2015-01-01 01:51:54,bin6714,35, +abc,6715,6715,6715,1988-05-21,671.2000000000841,671.18317,2015-01-01 01:51:55,bin6715,75, +abc,6716,6716,6716,1988-05-22,671.3000000000841,671.28314,2015-01-01 01:51:56,bin6716,35, +abc,6717,6717,6717,1988-05-23,671.4000000000841,671.3831,2015-01-01 01:51:57,bin6717,75, +abc,6718,6718,6718,1988-05-24,671.5000000000841,671.4831,2015-01-01 01:51:58,bin6718,35, +abc,6719,6719,6719,1988-05-25,671.6000000000842,671.58307,2015-01-01 01:51:59,bin6719,75, +abc,6720,6720,6720,1988-05-26,671.7000000000842,671.68304,2015-01-01 01:52:00,bin6720,35, +abc,6721,6721,6721,1988-05-27,671.8000000000842,671.783,2015-01-01 01:52:01,bin6721,75, +abc,6722,6722,6722,1988-05-28,671.9000000000842,671.883,2015-01-01 01:52:02,bin6722,35, +abc,6723,6723,6723,1988-05-29,672.0000000000842,671.983,2015-01-01 01:52:03,bin6723,75, +abc,6724,6724,6724,1988-05-30,672.1000000000843,672.08295,2015-01-01 01:52:04,bin6724,35, +abc,6725,6725,6725,1988-05-31,672.2000000000843,672.1829,2015-01-01 01:52:05,bin6725,75, +abc,6726,6726,6726,1988-06-01,672.3000000000843,672.2829,2015-01-01 01:52:06,bin6726,35, +abc,6727,6727,6727,1988-06-02,672.4000000000843,672.3829,2015-01-01 01:52:07,bin6727,75, +abc,6728,6728,6728,1988-06-03,672.5000000000844,672.48285,2015-01-01 01:52:08,bin6728,35, +abc,6729,6729,6729,1988-06-04,672.6000000000844,672.5828,2015-01-01 01:52:09,bin6729,75, +abc,6730,6730,6730,1988-06-05,672.7000000000844,672.6828,2015-01-01 01:52:10,bin6730,35, +abc,6731,6731,6731,1988-06-06,672.8000000000844,672.7828,2015-01-01 01:52:11,bin6731,75, +abc,6732,6732,6732,1988-06-07,672.9000000000844,672.88275,2015-01-01 01:52:12,bin6732,35, +abc,6733,6733,6733,1988-06-08,673.0000000000845,672.9827,2015-01-01 01:52:13,bin6733,75, +abc,6734,6734,6734,1988-06-09,673.1000000000845,673.0827,2015-01-01 01:52:14,bin6734,35, +abc,6735,6735,6735,1988-06-10,673.2000000000845,673.1827,2015-01-01 01:52:15,bin6735,75, +abc,6736,6736,6736,1988-06-11,673.3000000000845,673.28265,2015-01-01 01:52:16,bin6736,35, +abc,6737,6737,6737,1988-06-12,673.4000000000846,673.3826,2015-01-01 01:52:17,bin6737,75, +abc,6738,6738,6738,1988-06-13,673.5000000000846,673.4826,2015-01-01 01:52:18,bin6738,35, +abc,6739,6739,6739,1988-06-14,673.6000000000846,673.5826,2015-01-01 01:52:19,bin6739,75, +abc,6740,6740,6740,1988-06-15,673.7000000000846,673.68256,2015-01-01 01:52:20,bin6740,35, +abc,6741,6741,6741,1988-06-16,673.8000000000847,673.78253,2015-01-01 01:52:21,bin6741,75, +abc,6742,6742,6742,1988-06-17,673.9000000000847,673.8825,2015-01-01 01:52:22,bin6742,35, +abc,6743,6743,6743,1988-06-18,674.0000000000847,673.9825,2015-01-01 01:52:23,bin6743,75, +abc,6744,6744,6744,1988-06-19,674.1000000000847,674.08246,2015-01-01 01:52:24,bin6744,35, +abc,6745,6745,6745,1988-06-20,674.2000000000847,674.18243,2015-01-01 01:52:25,bin6745,75, +abc,6746,6746,6746,1988-06-21,674.3000000000848,674.2824,2015-01-01 01:52:26,bin6746,35, +abc,6747,6747,6747,1988-06-22,674.4000000000848,674.3824,2015-01-01 01:52:27,bin6747,75, +abc,6748,6748,6748,1988-06-23,674.5000000000848,674.48236,2015-01-01 01:52:28,bin6748,35, +abc,6749,6749,6749,1988-06-24,674.6000000000848,674.58234,2015-01-01 01:52:29,bin6749,75, +abc,6750,6750,6750,1988-06-25,674.7000000000849,674.6823,2015-01-01 01:52:30,bin6750,35, +abc,6751,6751,6751,1988-06-26,674.8000000000849,674.7823,2015-01-01 01:52:31,bin6751,75, +abc,6752,6752,6752,1988-06-27,674.9000000000849,674.88226,2015-01-01 01:52:32,bin6752,35, +abc,6753,6753,6753,1988-06-28,675.0000000000849,674.98224,2015-01-01 01:52:33,bin6753,75, +abc,6754,6754,6754,1988-06-29,675.100000000085,675.0822,2015-01-01 01:52:34,bin6754,35, +abc,6755,6755,6755,1988-06-30,675.200000000085,675.1822,2015-01-01 01:52:35,bin6755,75, +abc,6756,6756,6756,1988-07-01,675.300000000085,675.28217,2015-01-01 01:52:36,bin6756,35, +abc,6757,6757,6757,1988-07-02,675.400000000085,675.38214,2015-01-01 01:52:37,bin6757,75, +abc,6758,6758,6758,1988-07-03,675.500000000085,675.4821,2015-01-01 01:52:38,bin6758,35, +abc,6759,6759,6759,1988-07-04,675.6000000000851,675.5821,2015-01-01 01:52:39,bin6759,75, +abc,6760,6760,6760,1988-07-05,675.7000000000851,675.68207,2015-01-01 01:52:40,bin6760,35, +abc,6761,6761,6761,1988-07-06,675.8000000000851,675.78204,2015-01-01 01:52:41,bin6761,75, +abc,6762,6762,6762,1988-07-07,675.9000000000851,675.882,2015-01-01 01:52:42,bin6762,35, +abc,6763,6763,6763,1988-07-08,676.0000000000852,675.982,2015-01-01 01:52:43,bin6763,75, +abc,6764,6764,6764,1988-07-09,676.1000000000852,676.082,2015-01-01 01:52:44,bin6764,35, +abc,6765,6765,6765,1988-07-10,676.2000000000852,676.18195,2015-01-01 01:52:45,bin6765,75, +abc,6766,6766,6766,1988-07-11,676.3000000000852,676.2819,2015-01-01 01:52:46,bin6766,35, +abc,6767,6767,6767,1988-07-12,676.4000000000852,676.3819,2015-01-01 01:52:47,bin6767,75, +abc,6768,6768,6768,1988-07-13,676.5000000000853,676.4819,2015-01-01 01:52:48,bin6768,35, +abc,6769,6769,6769,1988-07-14,676.6000000000853,676.58185,2015-01-01 01:52:49,bin6769,75, +abc,6770,6770,6770,1988-07-15,676.7000000000853,676.6818,2015-01-01 01:52:50,bin6770,35, +abc,6771,6771,6771,1988-07-16,676.8000000000853,676.7818,2015-01-01 01:52:51,bin6771,75, +abc,6772,6772,6772,1988-07-17,676.9000000000854,676.8818,2015-01-01 01:52:52,bin6772,35, +abc,6773,6773,6773,1988-07-18,677.0000000000854,676.98175,2015-01-01 01:52:53,bin6773,75, +abc,6774,6774,6774,1988-07-19,677.1000000000854,677.0817,2015-01-01 01:52:54,bin6774,35, +abc,6775,6775,6775,1988-07-20,677.2000000000854,677.1817,2015-01-01 01:52:55,bin6775,75, +abc,6776,6776,6776,1988-07-21,677.3000000000854,677.2817,2015-01-01 01:52:56,bin6776,35, +abc,6777,6777,6777,1988-07-22,677.4000000000855,677.38165,2015-01-01 01:52:57,bin6777,75, +abc,6778,6778,6778,1988-07-23,677.5000000000855,677.4816,2015-01-01 01:52:58,bin6778,35, +abc,6779,6779,6779,1988-07-24,677.6000000000855,677.5816,2015-01-01 01:52:59,bin6779,75, +abc,6780,6780,6780,1988-07-25,677.7000000000855,677.6816,2015-01-01 01:53:00,bin6780,35, +abc,6781,6781,6781,1988-07-26,677.8000000000856,677.78156,2015-01-01 01:53:01,bin6781,75, +abc,6782,6782,6782,1988-07-27,677.9000000000856,677.88153,2015-01-01 01:53:02,bin6782,35, +abc,6783,6783,6783,1988-07-28,678.0000000000856,677.9815,2015-01-01 01:53:03,bin6783,75, +abc,6784,6784,6784,1988-07-29,678.1000000000856,678.0815,2015-01-01 01:53:04,bin6784,35, +abc,6785,6785,6785,1988-07-30,678.2000000000857,678.18146,2015-01-01 01:53:05,bin6785,75, +abc,6786,6786,6786,1988-07-31,678.3000000000857,678.28143,2015-01-01 01:53:06,bin6786,35, +abc,6787,6787,6787,1988-08-01,678.4000000000857,678.3814,2015-01-01 01:53:07,bin6787,75, +abc,6788,6788,6788,1988-08-02,678.5000000000857,678.4814,2015-01-01 01:53:08,bin6788,35, +abc,6789,6789,6789,1988-08-03,678.6000000000857,678.58136,2015-01-01 01:53:09,bin6789,75, +abc,6790,6790,6790,1988-08-04,678.7000000000858,678.68134,2015-01-01 01:53:10,bin6790,35, +abc,6791,6791,6791,1988-08-05,678.8000000000858,678.7813,2015-01-01 01:53:11,bin6791,75, +abc,6792,6792,6792,1988-08-06,678.9000000000858,678.8813,2015-01-01 01:53:12,bin6792,35, +abc,6793,6793,6793,1988-08-07,679.0000000000858,678.98126,2015-01-01 01:53:13,bin6793,75, +abc,6794,6794,6794,1988-08-08,679.1000000000859,679.08124,2015-01-01 01:53:14,bin6794,35, +abc,6795,6795,6795,1988-08-09,679.2000000000859,679.1812,2015-01-01 01:53:15,bin6795,75, +abc,6796,6796,6796,1988-08-10,679.3000000000859,679.2812,2015-01-01 01:53:16,bin6796,35, +abc,6797,6797,6797,1988-08-11,679.4000000000859,679.38116,2015-01-01 01:53:17,bin6797,75, +abc,6798,6798,6798,1988-08-12,679.500000000086,679.48114,2015-01-01 01:53:18,bin6798,35, +abc,6799,6799,6799,1988-08-13,679.600000000086,679.5811,2015-01-01 01:53:19,bin6799,75, +abc,6800,6800,6800,1988-08-14,679.700000000086,679.6811,2015-01-01 01:53:20,bin6800,35, +abc,6801,6801,6801,1988-08-15,679.800000000086,679.78107,2015-01-01 01:53:21,bin6801,75, +abc,6802,6802,6802,1988-08-16,679.900000000086,679.88104,2015-01-01 01:53:22,bin6802,35, +abc,6803,6803,6803,1988-08-17,680.0000000000861,679.981,2015-01-01 01:53:23,bin6803,75, +abc,6804,6804,6804,1988-08-18,680.1000000000861,680.081,2015-01-01 01:53:24,bin6804,35, +abc,6805,6805,6805,1988-08-19,680.2000000000861,680.18097,2015-01-01 01:53:25,bin6805,75, +abc,6806,6806,6806,1988-08-20,680.3000000000861,680.28094,2015-01-01 01:53:26,bin6806,35, +abc,6807,6807,6807,1988-08-21,680.4000000000862,680.3809,2015-01-01 01:53:27,bin6807,75, +abc,6808,6808,6808,1988-08-22,680.5000000000862,680.4809,2015-01-01 01:53:28,bin6808,35, +abc,6809,6809,6809,1988-08-23,680.6000000000862,680.5809,2015-01-01 01:53:29,bin6809,75, +abc,6810,6810,6810,1988-08-24,680.7000000000862,680.68085,2015-01-01 01:53:30,bin6810,35, +abc,6811,6811,6811,1988-08-25,680.8000000000862,680.7808,2015-01-01 01:53:31,bin6811,75, +abc,6812,6812,6812,1988-08-26,680.9000000000863,680.8808,2015-01-01 01:53:32,bin6812,35, +abc,6813,6813,6813,1988-08-27,681.0000000000863,680.9808,2015-01-01 01:53:33,bin6813,75, +abc,6814,6814,6814,1988-08-28,681.1000000000863,681.08075,2015-01-01 01:53:34,bin6814,35, +abc,6815,6815,6815,1988-08-29,681.2000000000863,681.1807,2015-01-01 01:53:35,bin6815,75, +abc,6816,6816,6816,1988-08-30,681.3000000000864,681.2807,2015-01-01 01:53:36,bin6816,35, +abc,6817,6817,6817,1988-08-31,681.4000000000864,681.3807,2015-01-01 01:53:37,bin6817,75, +abc,6818,6818,6818,1988-09-01,681.5000000000864,681.48065,2015-01-01 01:53:38,bin6818,35, +abc,6819,6819,6819,1988-09-02,681.6000000000864,681.5806,2015-01-01 01:53:39,bin6819,75, +abc,6820,6820,6820,1988-09-03,681.7000000000864,681.6806,2015-01-01 01:53:40,bin6820,35, +abc,6821,6821,6821,1988-09-04,681.8000000000865,681.7806,2015-01-01 01:53:41,bin6821,75, +abc,6822,6822,6822,1988-09-05,681.9000000000865,681.88055,2015-01-01 01:53:42,bin6822,35, +abc,6823,6823,6823,1988-09-06,682.0000000000865,681.9805,2015-01-01 01:53:43,bin6823,75, +abc,6824,6824,6824,1988-09-07,682.1000000000865,682.0805,2015-01-01 01:53:44,bin6824,35, +abc,6825,6825,6825,1988-09-08,682.2000000000866,682.1805,2015-01-01 01:53:45,bin6825,75, +abc,6826,6826,6826,1988-09-09,682.3000000000866,682.28046,2015-01-01 01:53:46,bin6826,35, +abc,6827,6827,6827,1988-09-10,682.4000000000866,682.38043,2015-01-01 01:53:47,bin6827,75, +abc,6828,6828,6828,1988-09-11,682.5000000000866,682.4804,2015-01-01 01:53:48,bin6828,35, +abc,6829,6829,6829,1988-09-12,682.6000000000867,682.5804,2015-01-01 01:53:49,bin6829,75, +abc,6830,6830,6830,1988-09-13,682.7000000000867,682.68036,2015-01-01 01:53:50,bin6830,35, +abc,6831,6831,6831,1988-09-14,682.8000000000867,682.78033,2015-01-01 01:53:51,bin6831,75, +abc,6832,6832,6832,1988-09-15,682.9000000000867,682.8803,2015-01-01 01:53:52,bin6832,35, +abc,6833,6833,6833,1988-09-16,683.0000000000867,682.9803,2015-01-01 01:53:53,bin6833,75, +abc,6834,6834,6834,1988-09-17,683.1000000000868,683.08026,2015-01-01 01:53:54,bin6834,35, +abc,6835,6835,6835,1988-09-18,683.2000000000868,683.18024,2015-01-01 01:53:55,bin6835,75, +abc,6836,6836,6836,1988-09-19,683.3000000000868,683.2802,2015-01-01 01:53:56,bin6836,35, +abc,6837,6837,6837,1988-09-20,683.4000000000868,683.3802,2015-01-01 01:53:57,bin6837,75, +abc,6838,6838,6838,1988-09-21,683.5000000000869,683.48016,2015-01-01 01:53:58,bin6838,35, +abc,6839,6839,6839,1988-09-22,683.6000000000869,683.58014,2015-01-01 01:53:59,bin6839,75, +abc,6840,6840,6840,1988-09-23,683.7000000000869,683.6801,2015-01-01 01:54:00,bin6840,35, +abc,6841,6841,6841,1988-09-24,683.8000000000869,683.7801,2015-01-01 01:54:01,bin6841,75, +abc,6842,6842,6842,1988-09-25,683.900000000087,683.88007,2015-01-01 01:54:02,bin6842,35, +abc,6843,6843,6843,1988-09-26,684.000000000087,683.98004,2015-01-01 01:54:03,bin6843,75, +abc,6844,6844,6844,1988-09-27,684.100000000087,684.08,2015-01-01 01:54:04,bin6844,35, +abc,6845,6845,6845,1988-09-28,684.200000000087,684.18,2015-01-01 01:54:05,bin6845,75, +abc,6846,6846,6846,1988-09-29,684.300000000087,684.27997,2015-01-01 01:54:06,bin6846,35, +abc,6847,6847,6847,1988-09-30,684.4000000000871,684.37994,2015-01-01 01:54:07,bin6847,75, +abc,6848,6848,6848,1988-10-01,684.5000000000871,684.4799,2015-01-01 01:54:08,bin6848,35, +abc,6849,6849,6849,1988-10-02,684.6000000000871,684.5799,2015-01-01 01:54:09,bin6849,75, +abc,6850,6850,6850,1988-10-03,684.7000000000871,684.6799,2015-01-01 01:54:10,bin6850,35, +abc,6851,6851,6851,1988-10-04,684.8000000000872,684.77985,2015-01-01 01:54:11,bin6851,75, +abc,6852,6852,6852,1988-10-05,684.9000000000872,684.8798,2015-01-01 01:54:12,bin6852,35, +abc,6853,6853,6853,1988-10-06,685.0000000000872,684.9798,2015-01-01 01:54:13,bin6853,75, +abc,6854,6854,6854,1988-10-07,685.1000000000872,685.0798,2015-01-01 01:54:14,bin6854,35, +abc,6855,6855,6855,1988-10-08,685.2000000000872,685.17975,2015-01-01 01:54:15,bin6855,75, +abc,6856,6856,6856,1988-10-09,685.3000000000873,685.2797,2015-01-01 01:54:16,bin6856,35, +abc,6857,6857,6857,1988-10-10,685.4000000000873,685.3797,2015-01-01 01:54:17,bin6857,75, +abc,6858,6858,6858,1988-10-11,685.5000000000873,685.4797,2015-01-01 01:54:18,bin6858,35, +abc,6859,6859,6859,1988-10-12,685.6000000000873,685.57965,2015-01-01 01:54:19,bin6859,75, +abc,6860,6860,6860,1988-10-13,685.7000000000874,685.6796,2015-01-01 01:54:20,bin6860,35, +abc,6861,6861,6861,1988-10-14,685.8000000000874,685.7796,2015-01-01 01:54:21,bin6861,75, +abc,6862,6862,6862,1988-10-15,685.9000000000874,685.8796,2015-01-01 01:54:22,bin6862,35, +abc,6863,6863,6863,1988-10-16,686.0000000000874,685.97955,2015-01-01 01:54:23,bin6863,75, +abc,6864,6864,6864,1988-10-17,686.1000000000874,686.0795,2015-01-01 01:54:24,bin6864,35, +abc,6865,6865,6865,1988-10-18,686.2000000000875,686.1795,2015-01-01 01:54:25,bin6865,75, +abc,6866,6866,6866,1988-10-19,686.3000000000875,686.2795,2015-01-01 01:54:26,bin6866,35, +abc,6867,6867,6867,1988-10-20,686.4000000000875,686.37946,2015-01-01 01:54:27,bin6867,75, +abc,6868,6868,6868,1988-10-21,686.5000000000875,686.47943,2015-01-01 01:54:28,bin6868,35, +abc,6869,6869,6869,1988-10-22,686.6000000000876,686.5794,2015-01-01 01:54:29,bin6869,75, +abc,6870,6870,6870,1988-10-23,686.7000000000876,686.6794,2015-01-01 01:54:30,bin6870,35, +abc,6871,6871,6871,1988-10-24,686.8000000000876,686.77936,2015-01-01 01:54:31,bin6871,75, +abc,6872,6872,6872,1988-10-25,686.9000000000876,686.87933,2015-01-01 01:54:32,bin6872,35, +abc,6873,6873,6873,1988-10-26,687.0000000000877,686.9793,2015-01-01 01:54:33,bin6873,75, +abc,6874,6874,6874,1988-10-27,687.1000000000877,687.0793,2015-01-01 01:54:34,bin6874,35, +abc,6875,6875,6875,1988-10-28,687.2000000000877,687.17926,2015-01-01 01:54:35,bin6875,75, +abc,6876,6876,6876,1988-10-29,687.3000000000877,687.27924,2015-01-01 01:54:36,bin6876,35, +abc,6877,6877,6877,1988-10-30,687.4000000000877,687.3792,2015-01-01 01:54:37,bin6877,75, +abc,6878,6878,6878,1988-10-31,687.5000000000878,687.4792,2015-01-01 01:54:38,bin6878,35, +abc,6879,6879,6879,1988-11-01,687.6000000000878,687.57916,2015-01-01 01:54:39,bin6879,75, +abc,6880,6880,6880,1988-11-02,687.7000000000878,687.67914,2015-01-01 01:54:40,bin6880,35, +abc,6881,6881,6881,1988-11-03,687.8000000000878,687.7791,2015-01-01 01:54:41,bin6881,75, +abc,6882,6882,6882,1988-11-04,687.9000000000879,687.8791,2015-01-01 01:54:42,bin6882,35, +abc,6883,6883,6883,1988-11-05,688.0000000000879,687.97906,2015-01-01 01:54:43,bin6883,75, +abc,6884,6884,6884,1988-11-06,688.1000000000879,688.07904,2015-01-01 01:54:44,bin6884,35, +abc,6885,6885,6885,1988-11-07,688.2000000000879,688.179,2015-01-01 01:54:45,bin6885,75, +abc,6886,6886,6886,1988-11-08,688.300000000088,688.279,2015-01-01 01:54:46,bin6886,35, +abc,6887,6887,6887,1988-11-09,688.400000000088,688.37897,2015-01-01 01:54:47,bin6887,75, +abc,6888,6888,6888,1988-11-10,688.500000000088,688.47894,2015-01-01 01:54:48,bin6888,35, +abc,6889,6889,6889,1988-11-11,688.600000000088,688.5789,2015-01-01 01:54:49,bin6889,75, +abc,6890,6890,6890,1988-11-12,688.700000000088,688.6789,2015-01-01 01:54:50,bin6890,35, +abc,6891,6891,6891,1988-11-13,688.8000000000881,688.7789,2015-01-01 01:54:51,bin6891,75, +abc,6892,6892,6892,1988-11-14,688.9000000000881,688.87885,2015-01-01 01:54:52,bin6892,35, +abc,6893,6893,6893,1988-11-15,689.0000000000881,688.9788,2015-01-01 01:54:53,bin6893,75, +abc,6894,6894,6894,1988-11-16,689.1000000000881,689.0788,2015-01-01 01:54:54,bin6894,35, +abc,6895,6895,6895,1988-11-17,689.2000000000882,689.1788,2015-01-01 01:54:55,bin6895,75, +abc,6896,6896,6896,1988-11-18,689.3000000000882,689.27875,2015-01-01 01:54:56,bin6896,35, +abc,6897,6897,6897,1988-11-19,689.4000000000882,689.3787,2015-01-01 01:54:57,bin6897,75, +abc,6898,6898,6898,1988-11-20,689.5000000000882,689.4787,2015-01-01 01:54:58,bin6898,35, +abc,6899,6899,6899,1988-11-21,689.6000000000882,689.5787,2015-01-01 01:54:59,bin6899,75, +abc,6900,6900,6900,1988-11-22,689.7000000000883,689.67865,2015-01-01 01:55:00,bin6900,35, +abc,6901,6901,6901,1988-11-23,689.8000000000883,689.7786,2015-01-01 01:55:01,bin6901,75, +abc,6902,6902,6902,1988-11-24,689.9000000000883,689.8786,2015-01-01 01:55:02,bin6902,35, +abc,6903,6903,6903,1988-11-25,690.0000000000883,689.9786,2015-01-01 01:55:03,bin6903,75, +abc,6904,6904,6904,1988-11-26,690.1000000000884,690.07855,2015-01-01 01:55:04,bin6904,35, +abc,6905,6905,6905,1988-11-27,690.2000000000884,690.1785,2015-01-01 01:55:05,bin6905,75, +abc,6906,6906,6906,1988-11-28,690.3000000000884,690.2785,2015-01-01 01:55:06,bin6906,35, +abc,6907,6907,6907,1988-11-29,690.4000000000884,690.3785,2015-01-01 01:55:07,bin6907,75, +abc,6908,6908,6908,1988-11-30,690.5000000000884,690.47845,2015-01-01 01:55:08,bin6908,35, +abc,6909,6909,6909,1988-12-01,690.6000000000885,690.5784,2015-01-01 01:55:09,bin6909,75, +abc,6910,6910,6910,1988-12-02,690.7000000000885,690.6784,2015-01-01 01:55:10,bin6910,35, +abc,6911,6911,6911,1988-12-03,690.8000000000885,690.7784,2015-01-01 01:55:11,bin6911,75, +abc,6912,6912,6912,1988-12-04,690.9000000000885,690.87836,2015-01-01 01:55:12,bin6912,35, +abc,6913,6913,6913,1988-12-05,691.0000000000886,690.97833,2015-01-01 01:55:13,bin6913,75, +abc,6914,6914,6914,1988-12-06,691.1000000000886,691.0783,2015-01-01 01:55:14,bin6914,35, +abc,6915,6915,6915,1988-12-07,691.2000000000886,691.1783,2015-01-01 01:55:15,bin6915,75, +abc,6916,6916,6916,1988-12-08,691.3000000000886,691.27826,2015-01-01 01:55:16,bin6916,35, +abc,6917,6917,6917,1988-12-09,691.4000000000887,691.37823,2015-01-01 01:55:17,bin6917,75, +abc,6918,6918,6918,1988-12-10,691.5000000000887,691.4782,2015-01-01 01:55:18,bin6918,35, +abc,6919,6919,6919,1988-12-11,691.6000000000887,691.5782,2015-01-01 01:55:19,bin6919,75, +abc,6920,6920,6920,1988-12-12,691.7000000000887,691.67816,2015-01-01 01:55:20,bin6920,35, +abc,6921,6921,6921,1988-12-13,691.8000000000887,691.77814,2015-01-01 01:55:21,bin6921,75, +abc,6922,6922,6922,1988-12-14,691.9000000000888,691.8781,2015-01-01 01:55:22,bin6922,35, +abc,6923,6923,6923,1988-12-15,692.0000000000888,691.9781,2015-01-01 01:55:23,bin6923,75, +abc,6924,6924,6924,1988-12-16,692.1000000000888,692.07806,2015-01-01 01:55:24,bin6924,35, +abc,6925,6925,6925,1988-12-17,692.2000000000888,692.17804,2015-01-01 01:55:25,bin6925,75, +abc,6926,6926,6926,1988-12-18,692.3000000000889,692.278,2015-01-01 01:55:26,bin6926,35, +abc,6927,6927,6927,1988-12-19,692.4000000000889,692.378,2015-01-01 01:55:27,bin6927,75, +abc,6928,6928,6928,1988-12-20,692.5000000000889,692.47797,2015-01-01 01:55:28,bin6928,35, +abc,6929,6929,6929,1988-12-21,692.6000000000889,692.57794,2015-01-01 01:55:29,bin6929,75, +abc,6930,6930,6930,1988-12-22,692.700000000089,692.6779,2015-01-01 01:55:30,bin6930,35, +abc,6931,6931,6931,1988-12-23,692.800000000089,692.7779,2015-01-01 01:55:31,bin6931,75, +abc,6932,6932,6932,1988-12-24,692.900000000089,692.87787,2015-01-01 01:55:32,bin6932,35, +abc,6933,6933,6933,1988-12-25,693.000000000089,692.97784,2015-01-01 01:55:33,bin6933,75, +abc,6934,6934,6934,1988-12-26,693.100000000089,693.0778,2015-01-01 01:55:34,bin6934,35, +abc,6935,6935,6935,1988-12-27,693.2000000000891,693.1778,2015-01-01 01:55:35,bin6935,75, +abc,6936,6936,6936,1988-12-28,693.3000000000891,693.2778,2015-01-01 01:55:36,bin6936,35, +abc,6937,6937,6937,1988-12-29,693.4000000000891,693.37775,2015-01-01 01:55:37,bin6937,75, +abc,6938,6938,6938,1988-12-30,693.5000000000891,693.4777,2015-01-01 01:55:38,bin6938,35, +abc,6939,6939,6939,1988-12-31,693.6000000000892,693.5777,2015-01-01 01:55:39,bin6939,75, +abc,6940,6940,6940,1989-01-01,693.7000000000892,693.6777,2015-01-01 01:55:40,bin6940,35, +abc,6941,6941,6941,1989-01-02,693.8000000000892,693.77765,2015-01-01 01:55:41,bin6941,75, +abc,6942,6942,6942,1989-01-03,693.9000000000892,693.8776,2015-01-01 01:55:42,bin6942,35, +abc,6943,6943,6943,1989-01-04,694.0000000000892,693.9776,2015-01-01 01:55:43,bin6943,75, +abc,6944,6944,6944,1989-01-05,694.1000000000893,694.0776,2015-01-01 01:55:44,bin6944,35, +abc,6945,6945,6945,1989-01-06,694.2000000000893,694.17755,2015-01-01 01:55:45,bin6945,75, +abc,6946,6946,6946,1989-01-07,694.3000000000893,694.2775,2015-01-01 01:55:46,bin6946,35, +abc,6947,6947,6947,1989-01-08,694.4000000000893,694.3775,2015-01-01 01:55:47,bin6947,75, +abc,6948,6948,6948,1989-01-09,694.5000000000894,694.4775,2015-01-01 01:55:48,bin6948,35, +abc,6949,6949,6949,1989-01-10,694.6000000000894,694.57745,2015-01-01 01:55:49,bin6949,75, +abc,6950,6950,6950,1989-01-11,694.7000000000894,694.6774,2015-01-01 01:55:50,bin6950,35, +abc,6951,6951,6951,1989-01-12,694.8000000000894,694.7774,2015-01-01 01:55:51,bin6951,75, +abc,6952,6952,6952,1989-01-13,694.9000000000894,694.8774,2015-01-01 01:55:52,bin6952,35, +abc,6953,6953,6953,1989-01-14,695.0000000000895,694.97736,2015-01-01 01:55:53,bin6953,75, +abc,6954,6954,6954,1989-01-15,695.1000000000895,695.07733,2015-01-01 01:55:54,bin6954,35, +abc,6955,6955,6955,1989-01-16,695.2000000000895,695.1773,2015-01-01 01:55:55,bin6955,75, +abc,6956,6956,6956,1989-01-17,695.3000000000895,695.2773,2015-01-01 01:55:56,bin6956,35, +abc,6957,6957,6957,1989-01-18,695.4000000000896,695.37726,2015-01-01 01:55:57,bin6957,75, +abc,6958,6958,6958,1989-01-19,695.5000000000896,695.47723,2015-01-01 01:55:58,bin6958,35, +abc,6959,6959,6959,1989-01-20,695.6000000000896,695.5772,2015-01-01 01:55:59,bin6959,75, +abc,6960,6960,6960,1989-01-21,695.7000000000896,695.6772,2015-01-01 01:56:00,bin6960,35, +abc,6961,6961,6961,1989-01-22,695.8000000000897,695.77716,2015-01-01 01:56:01,bin6961,75, +abc,6962,6962,6962,1989-01-23,695.9000000000897,695.87714,2015-01-01 01:56:02,bin6962,35, +abc,6963,6963,6963,1989-01-24,696.0000000000897,695.9771,2015-01-01 01:56:03,bin6963,75, +abc,6964,6964,6964,1989-01-25,696.1000000000897,696.0771,2015-01-01 01:56:04,bin6964,35, +abc,6965,6965,6965,1989-01-26,696.2000000000897,696.17706,2015-01-01 01:56:05,bin6965,75, +abc,6966,6966,6966,1989-01-27,696.3000000000898,696.27704,2015-01-01 01:56:06,bin6966,35, +abc,6967,6967,6967,1989-01-28,696.4000000000898,696.377,2015-01-01 01:56:07,bin6967,75, +abc,6968,6968,6968,1989-01-29,696.5000000000898,696.477,2015-01-01 01:56:08,bin6968,35, +abc,6969,6969,6969,1989-01-30,696.6000000000898,696.57697,2015-01-01 01:56:09,bin6969,75, +abc,6970,6970,6970,1989-01-31,696.7000000000899,696.67694,2015-01-01 01:56:10,bin6970,35, +abc,6971,6971,6971,1989-02-01,696.8000000000899,696.7769,2015-01-01 01:56:11,bin6971,75, +abc,6972,6972,6972,1989-02-02,696.9000000000899,696.8769,2015-01-01 01:56:12,bin6972,35, +abc,6973,6973,6973,1989-02-03,697.0000000000899,696.97687,2015-01-01 01:56:13,bin6973,75, +abc,6974,6974,6974,1989-02-04,697.10000000009,697.07684,2015-01-01 01:56:14,bin6974,35, +abc,6975,6975,6975,1989-02-05,697.20000000009,697.1768,2015-01-01 01:56:15,bin6975,75, +abc,6976,6976,6976,1989-02-06,697.30000000009,697.2768,2015-01-01 01:56:16,bin6976,35, +abc,6977,6977,6977,1989-02-07,697.40000000009,697.3768,2015-01-01 01:56:17,bin6977,75, +abc,6978,6978,6978,1989-02-08,697.50000000009,697.47675,2015-01-01 01:56:18,bin6978,35, +abc,6979,6979,6979,1989-02-09,697.6000000000901,697.5767,2015-01-01 01:56:19,bin6979,75, +abc,6980,6980,6980,1989-02-10,697.7000000000901,697.6767,2015-01-01 01:56:20,bin6980,35, +abc,6981,6981,6981,1989-02-11,697.8000000000901,697.7767,2015-01-01 01:56:21,bin6981,75, +abc,6982,6982,6982,1989-02-12,697.9000000000901,697.87665,2015-01-01 01:56:22,bin6982,35, +abc,6983,6983,6983,1989-02-13,698.0000000000902,697.9766,2015-01-01 01:56:23,bin6983,75, +abc,6984,6984,6984,1989-02-14,698.1000000000902,698.0766,2015-01-01 01:56:24,bin6984,35, +abc,6985,6985,6985,1989-02-15,698.2000000000902,698.1766,2015-01-01 01:56:25,bin6985,75, +abc,6986,6986,6986,1989-02-16,698.3000000000902,698.27655,2015-01-01 01:56:26,bin6986,35, +abc,6987,6987,6987,1989-02-17,698.4000000000902,698.3765,2015-01-01 01:56:27,bin6987,75, +abc,6988,6988,6988,1989-02-18,698.5000000000903,698.4765,2015-01-01 01:56:28,bin6988,35, +abc,6989,6989,6989,1989-02-19,698.6000000000903,698.5765,2015-01-01 01:56:29,bin6989,75, +abc,6990,6990,6990,1989-02-20,698.7000000000903,698.67645,2015-01-01 01:56:30,bin6990,35, +abc,6991,6991,6991,1989-02-21,698.8000000000903,698.7764,2015-01-01 01:56:31,bin6991,75, +abc,6992,6992,6992,1989-02-22,698.9000000000904,698.8764,2015-01-01 01:56:32,bin6992,35, +abc,6993,6993,6993,1989-02-23,699.0000000000904,698.9764,2015-01-01 01:56:33,bin6993,75, +abc,6994,6994,6994,1989-02-24,699.1000000000904,699.07635,2015-01-01 01:56:34,bin6994,35, +abc,6995,6995,6995,1989-02-25,699.2000000000904,699.17633,2015-01-01 01:56:35,bin6995,75, +abc,6996,6996,6996,1989-02-26,699.3000000000904,699.2763,2015-01-01 01:56:36,bin6996,35, +abc,6997,6997,6997,1989-02-27,699.4000000000905,699.3763,2015-01-01 01:56:37,bin6997,75, +abc,6998,6998,6998,1989-02-28,699.5000000000905,699.47626,2015-01-01 01:56:38,bin6998,35, +abc,6999,6999,6999,1989-03-01,699.6000000000905,699.57623,2015-01-01 01:56:39,bin6999,75, +abc,7000,7000,7000,1989-03-02,699.7000000000905,699.6762,2015-01-01 01:56:40,bin7000,35, +abc,7001,7001,7001,1989-03-03,699.8000000000906,699.7762,2015-01-01 01:56:41,bin7001,75, +abc,7002,7002,7002,1989-03-04,699.9000000000906,699.87616,2015-01-01 01:56:42,bin7002,35, +abc,7003,7003,7003,1989-03-05,700.0000000000906,699.97614,2015-01-01 01:56:43,bin7003,75, +abc,7004,7004,7004,1989-03-06,700.1000000000906,700.0761,2015-01-01 01:56:44,bin7004,35, +abc,7005,7005,7005,1989-03-07,700.2000000000907,700.1761,2015-01-01 01:56:45,bin7005,75, +abc,7006,7006,7006,1989-03-08,700.3000000000907,700.27606,2015-01-01 01:56:46,bin7006,35, +abc,7007,7007,7007,1989-03-09,700.4000000000907,700.37604,2015-01-01 01:56:47,bin7007,75, +abc,7008,7008,7008,1989-03-10,700.5000000000907,700.476,2015-01-01 01:56:48,bin7008,35, +abc,7009,7009,7009,1989-03-11,700.6000000000907,700.576,2015-01-01 01:56:49,bin7009,75, +abc,7010,7010,7010,1989-03-12,700.7000000000908,700.67596,2015-01-01 01:56:50,bin7010,35, +abc,7011,7011,7011,1989-03-13,700.8000000000908,700.77594,2015-01-01 01:56:51,bin7011,75, +abc,7012,7012,7012,1989-03-14,700.9000000000908,700.8759,2015-01-01 01:56:52,bin7012,35, +abc,7013,7013,7013,1989-03-15,701.0000000000908,700.9759,2015-01-01 01:56:53,bin7013,75, +abc,7014,7014,7014,1989-03-16,701.1000000000909,701.07587,2015-01-01 01:56:54,bin7014,35, +abc,7015,7015,7015,1989-03-17,701.2000000000909,701.17584,2015-01-01 01:56:55,bin7015,75, +abc,7016,7016,7016,1989-03-18,701.3000000000909,701.2758,2015-01-01 01:56:56,bin7016,35, +abc,7017,7017,7017,1989-03-19,701.4000000000909,701.3758,2015-01-01 01:56:57,bin7017,75, +abc,7018,7018,7018,1989-03-20,701.500000000091,701.47577,2015-01-01 01:56:58,bin7018,35, +abc,7019,7019,7019,1989-03-21,701.600000000091,701.57574,2015-01-01 01:56:59,bin7019,75, +abc,7020,7020,7020,1989-03-22,701.700000000091,701.6757,2015-01-01 01:57:00,bin7020,35, +abc,7021,7021,7021,1989-03-23,701.800000000091,701.7757,2015-01-01 01:57:01,bin7021,75, +abc,7022,7022,7022,1989-03-24,701.900000000091,701.8757,2015-01-01 01:57:02,bin7022,35, +abc,7023,7023,7023,1989-03-25,702.0000000000911,701.97565,2015-01-01 01:57:03,bin7023,75, +abc,7024,7024,7024,1989-03-26,702.1000000000911,702.0756,2015-01-01 01:57:04,bin7024,35, +abc,7025,7025,7025,1989-03-27,702.2000000000911,702.1756,2015-01-01 01:57:05,bin7025,75, +abc,7026,7026,7026,1989-03-28,702.3000000000911,702.2756,2015-01-01 01:57:06,bin7026,35, +abc,7027,7027,7027,1989-03-29,702.4000000000912,702.37555,2015-01-01 01:57:07,bin7027,75, +abc,7028,7028,7028,1989-03-30,702.5000000000912,702.4755,2015-01-01 01:57:08,bin7028,35, +abc,7029,7029,7029,1989-03-31,702.6000000000912,702.5755,2015-01-01 01:57:09,bin7029,75, +abc,7030,7030,7030,1989-04-01,702.7000000000912,702.6755,2015-01-01 01:57:10,bin7030,35, +abc,7031,7031,7031,1989-04-02,702.8000000000912,702.77545,2015-01-01 01:57:11,bin7031,75, +abc,7032,7032,7032,1989-04-03,702.9000000000913,702.8754,2015-01-01 01:57:12,bin7032,35, +abc,7033,7033,7033,1989-04-04,703.0000000000913,702.9754,2015-01-01 01:57:13,bin7033,75, +abc,7034,7034,7034,1989-04-05,703.1000000000913,703.0754,2015-01-01 01:57:14,bin7034,35, +abc,7035,7035,7035,1989-04-06,703.2000000000913,703.17535,2015-01-01 01:57:15,bin7035,75, +abc,7036,7036,7036,1989-04-07,703.3000000000914,703.2753,2015-01-01 01:57:16,bin7036,35, +abc,7037,7037,7037,1989-04-08,703.4000000000914,703.3753,2015-01-01 01:57:17,bin7037,75, +abc,7038,7038,7038,1989-04-09,703.5000000000914,703.4753,2015-01-01 01:57:18,bin7038,35, +abc,7039,7039,7039,1989-04-10,703.6000000000914,703.57526,2015-01-01 01:57:19,bin7039,75, +abc,7040,7040,7040,1989-04-11,703.7000000000914,703.67523,2015-01-01 01:57:20,bin7040,35, +abc,7041,7041,7041,1989-04-12,703.8000000000915,703.7752,2015-01-01 01:57:21,bin7041,75, +abc,7042,7042,7042,1989-04-13,703.9000000000915,703.8752,2015-01-01 01:57:22,bin7042,35, +abc,7043,7043,7043,1989-04-14,704.0000000000915,703.97516,2015-01-01 01:57:23,bin7043,75, +abc,7044,7044,7044,1989-04-15,704.1000000000915,704.07513,2015-01-01 01:57:24,bin7044,35, +abc,7045,7045,7045,1989-04-16,704.2000000000916,704.1751,2015-01-01 01:57:25,bin7045,75, +abc,7046,7046,7046,1989-04-17,704.3000000000916,704.2751,2015-01-01 01:57:26,bin7046,35, +abc,7047,7047,7047,1989-04-18,704.4000000000916,704.37506,2015-01-01 01:57:27,bin7047,75, +abc,7048,7048,7048,1989-04-19,704.5000000000916,704.47504,2015-01-01 01:57:28,bin7048,35, +abc,7049,7049,7049,1989-04-20,704.6000000000917,704.575,2015-01-01 01:57:29,bin7049,75, +abc,7050,7050,7050,1989-04-21,704.7000000000917,704.675,2015-01-01 01:57:30,bin7050,35, +abc,7051,7051,7051,1989-04-22,704.8000000000917,704.77496,2015-01-01 01:57:31,bin7051,75, +abc,7052,7052,7052,1989-04-23,704.9000000000917,704.87494,2015-01-01 01:57:32,bin7052,35, +abc,7053,7053,7053,1989-04-24,705.0000000000917,704.9749,2015-01-01 01:57:33,bin7053,75, +abc,7054,7054,7054,1989-04-25,705.1000000000918,705.0749,2015-01-01 01:57:34,bin7054,35, +abc,7055,7055,7055,1989-04-26,705.2000000000918,705.17487,2015-01-01 01:57:35,bin7055,75, +abc,7056,7056,7056,1989-04-27,705.3000000000918,705.27484,2015-01-01 01:57:36,bin7056,35, +abc,7057,7057,7057,1989-04-28,705.4000000000918,705.3748,2015-01-01 01:57:37,bin7057,75, +abc,7058,7058,7058,1989-04-29,705.5000000000919,705.4748,2015-01-01 01:57:38,bin7058,35, +abc,7059,7059,7059,1989-04-30,705.6000000000919,705.57477,2015-01-01 01:57:39,bin7059,75, +abc,7060,7060,7060,1989-05-01,705.7000000000919,705.67474,2015-01-01 01:57:40,bin7060,35, +abc,7061,7061,7061,1989-05-02,705.8000000000919,705.7747,2015-01-01 01:57:41,bin7061,75, +abc,7062,7062,7062,1989-05-03,705.900000000092,705.8747,2015-01-01 01:57:42,bin7062,35, +abc,7063,7063,7063,1989-05-04,706.000000000092,705.9747,2015-01-01 01:57:43,bin7063,75, +abc,7064,7064,7064,1989-05-05,706.100000000092,706.07465,2015-01-01 01:57:44,bin7064,35, +abc,7065,7065,7065,1989-05-06,706.200000000092,706.1746,2015-01-01 01:57:45,bin7065,75, +abc,7066,7066,7066,1989-05-07,706.300000000092,706.2746,2015-01-01 01:57:46,bin7066,35, +abc,7067,7067,7067,1989-05-08,706.4000000000921,706.3746,2015-01-01 01:57:47,bin7067,75, +abc,7068,7068,7068,1989-05-09,706.5000000000921,706.47455,2015-01-01 01:57:48,bin7068,35, +abc,7069,7069,7069,1989-05-10,706.6000000000921,706.5745,2015-01-01 01:57:49,bin7069,75, +abc,7070,7070,7070,1989-05-11,706.7000000000921,706.6745,2015-01-01 01:57:50,bin7070,35, +abc,7071,7071,7071,1989-05-12,706.8000000000922,706.7745,2015-01-01 01:57:51,bin7071,75, +abc,7072,7072,7072,1989-05-13,706.9000000000922,706.87445,2015-01-01 01:57:52,bin7072,35, +abc,7073,7073,7073,1989-05-14,707.0000000000922,706.9744,2015-01-01 01:57:53,bin7073,75, +abc,7074,7074,7074,1989-05-15,707.1000000000922,707.0744,2015-01-01 01:57:54,bin7074,35, +abc,7075,7075,7075,1989-05-16,707.2000000000922,707.1744,2015-01-01 01:57:55,bin7075,75, +abc,7076,7076,7076,1989-05-17,707.3000000000923,707.27435,2015-01-01 01:57:56,bin7076,35, +abc,7077,7077,7077,1989-05-18,707.4000000000923,707.3743,2015-01-01 01:57:57,bin7077,75, +abc,7078,7078,7078,1989-05-19,707.5000000000923,707.4743,2015-01-01 01:57:58,bin7078,35, +abc,7079,7079,7079,1989-05-20,707.6000000000923,707.5743,2015-01-01 01:57:59,bin7079,75, +abc,7080,7080,7080,1989-05-21,707.7000000000924,707.67426,2015-01-01 01:58:00,bin7080,35, +abc,7081,7081,7081,1989-05-22,707.8000000000924,707.77423,2015-01-01 01:58:01,bin7081,75, +abc,7082,7082,7082,1989-05-23,707.9000000000924,707.8742,2015-01-01 01:58:02,bin7082,35, +abc,7083,7083,7083,1989-05-24,708.0000000000924,707.9742,2015-01-01 01:58:03,bin7083,75, +abc,7084,7084,7084,1989-05-25,708.1000000000925,708.07416,2015-01-01 01:58:04,bin7084,35, +abc,7085,7085,7085,1989-05-26,708.2000000000925,708.17413,2015-01-01 01:58:05,bin7085,75, +abc,7086,7086,7086,1989-05-27,708.3000000000925,708.2741,2015-01-01 01:58:06,bin7086,35, +abc,7087,7087,7087,1989-05-28,708.4000000000925,708.3741,2015-01-01 01:58:07,bin7087,75, +abc,7088,7088,7088,1989-05-29,708.5000000000925,708.47406,2015-01-01 01:58:08,bin7088,35, +abc,7089,7089,7089,1989-05-30,708.6000000000926,708.57404,2015-01-01 01:58:09,bin7089,75, +abc,7090,7090,7090,1989-05-31,708.7000000000926,708.674,2015-01-01 01:58:10,bin7090,35, +abc,7091,7091,7091,1989-06-01,708.8000000000926,708.774,2015-01-01 01:58:11,bin7091,75, +abc,7092,7092,7092,1989-06-02,708.9000000000926,708.87396,2015-01-01 01:58:12,bin7092,35, +abc,7093,7093,7093,1989-06-03,709.0000000000927,708.97394,2015-01-01 01:58:13,bin7093,75, +abc,7094,7094,7094,1989-06-04,709.1000000000927,709.0739,2015-01-01 01:58:14,bin7094,35, +abc,7095,7095,7095,1989-06-05,709.2000000000927,709.1739,2015-01-01 01:58:15,bin7095,75, +abc,7096,7096,7096,1989-06-06,709.3000000000927,709.27386,2015-01-01 01:58:16,bin7096,35, +abc,7097,7097,7097,1989-06-07,709.4000000000927,709.37384,2015-01-01 01:58:17,bin7097,75, +abc,7098,7098,7098,1989-06-08,709.5000000000928,709.4738,2015-01-01 01:58:18,bin7098,35, +abc,7099,7099,7099,1989-06-09,709.6000000000928,709.5738,2015-01-01 01:58:19,bin7099,75, +abc,7100,7100,7100,1989-06-10,709.7000000000928,709.67377,2015-01-01 01:58:20,bin7100,35, +abc,7101,7101,7101,1989-06-11,709.8000000000928,709.77374,2015-01-01 01:58:21,bin7101,75, +abc,7102,7102,7102,1989-06-12,709.9000000000929,709.8737,2015-01-01 01:58:22,bin7102,35, +abc,7103,7103,7103,1989-06-13,710.0000000000929,709.9737,2015-01-01 01:58:23,bin7103,75, +abc,7104,7104,7104,1989-06-14,710.1000000000929,710.07367,2015-01-01 01:58:24,bin7104,35, +abc,7105,7105,7105,1989-06-15,710.2000000000929,710.17365,2015-01-01 01:58:25,bin7105,75, +abc,7106,7106,7106,1989-06-16,710.300000000093,710.2736,2015-01-01 01:58:26,bin7106,35, +abc,7107,7107,7107,1989-06-17,710.400000000093,710.3736,2015-01-01 01:58:27,bin7107,75, +abc,7108,7108,7108,1989-06-18,710.500000000093,710.4736,2015-01-01 01:58:28,bin7108,35, +abc,7109,7109,7109,1989-06-19,710.600000000093,710.57355,2015-01-01 01:58:29,bin7109,75, +abc,7110,7110,7110,1989-06-20,710.700000000093,710.6735,2015-01-01 01:58:30,bin7110,35, +abc,7111,7111,7111,1989-06-21,710.8000000000931,710.7735,2015-01-01 01:58:31,bin7111,75, +abc,7112,7112,7112,1989-06-22,710.9000000000931,710.8735,2015-01-01 01:58:32,bin7112,35, +abc,7113,7113,7113,1989-06-23,711.0000000000931,710.97345,2015-01-01 01:58:33,bin7113,75, +abc,7114,7114,7114,1989-06-24,711.1000000000931,711.0734,2015-01-01 01:58:34,bin7114,35, +abc,7115,7115,7115,1989-06-25,711.2000000000932,711.1734,2015-01-01 01:58:35,bin7115,75, +abc,7116,7116,7116,1989-06-26,711.3000000000932,711.2734,2015-01-01 01:58:36,bin7116,35, +abc,7117,7117,7117,1989-06-27,711.4000000000932,711.37335,2015-01-01 01:58:37,bin7117,75, +abc,7118,7118,7118,1989-06-28,711.5000000000932,711.4733,2015-01-01 01:58:38,bin7118,35, +abc,7119,7119,7119,1989-06-29,711.6000000000932,711.5733,2015-01-01 01:58:39,bin7119,75, +abc,7120,7120,7120,1989-06-30,711.7000000000933,711.6733,2015-01-01 01:58:40,bin7120,35, +abc,7121,7121,7121,1989-07-01,711.8000000000933,711.77325,2015-01-01 01:58:41,bin7121,75, +abc,7122,7122,7122,1989-07-02,711.9000000000933,711.8732,2015-01-01 01:58:42,bin7122,35, +abc,7123,7123,7123,1989-07-03,712.0000000000933,711.9732,2015-01-01 01:58:43,bin7123,75, +abc,7124,7124,7124,1989-07-04,712.1000000000934,712.0732,2015-01-01 01:58:44,bin7124,35, +abc,7125,7125,7125,1989-07-05,712.2000000000934,712.17316,2015-01-01 01:58:45,bin7125,75, +abc,7126,7126,7126,1989-07-06,712.3000000000934,712.27313,2015-01-01 01:58:46,bin7126,35, +abc,7127,7127,7127,1989-07-07,712.4000000000934,712.3731,2015-01-01 01:58:47,bin7127,75, +abc,7128,7128,7128,1989-07-08,712.5000000000935,712.4731,2015-01-01 01:58:48,bin7128,35, +abc,7129,7129,7129,1989-07-09,712.6000000000935,712.57306,2015-01-01 01:58:49,bin7129,75, +abc,7130,7130,7130,1989-07-10,712.7000000000935,712.67303,2015-01-01 01:58:50,bin7130,35, +abc,7131,7131,7131,1989-07-11,712.8000000000935,712.773,2015-01-01 01:58:51,bin7131,75, +abc,7132,7132,7132,1989-07-12,712.9000000000935,712.873,2015-01-01 01:58:52,bin7132,35, +abc,7133,7133,7133,1989-07-13,713.0000000000936,712.97296,2015-01-01 01:58:53,bin7133,75, +abc,7134,7134,7134,1989-07-14,713.1000000000936,713.07294,2015-01-01 01:58:54,bin7134,35, +abc,7135,7135,7135,1989-07-15,713.2000000000936,713.1729,2015-01-01 01:58:55,bin7135,75, +abc,7136,7136,7136,1989-07-16,713.3000000000936,713.2729,2015-01-01 01:58:56,bin7136,35, +abc,7137,7137,7137,1989-07-17,713.4000000000937,713.37286,2015-01-01 01:58:57,bin7137,75, +abc,7138,7138,7138,1989-07-18,713.5000000000937,713.47284,2015-01-01 01:58:58,bin7138,35, +abc,7139,7139,7139,1989-07-19,713.6000000000937,713.5728,2015-01-01 01:58:59,bin7139,75, +abc,7140,7140,7140,1989-07-20,713.7000000000937,713.6728,2015-01-01 01:59:00,bin7140,35, +abc,7141,7141,7141,1989-07-21,713.8000000000937,713.77277,2015-01-01 01:59:01,bin7141,75, +abc,7142,7142,7142,1989-07-22,713.9000000000938,713.87274,2015-01-01 01:59:02,bin7142,35, +abc,7143,7143,7143,1989-07-23,714.0000000000938,713.9727,2015-01-01 01:59:03,bin7143,75, +abc,7144,7144,7144,1989-07-24,714.1000000000938,714.0727,2015-01-01 01:59:04,bin7144,35, +abc,7145,7145,7145,1989-07-25,714.2000000000938,714.17267,2015-01-01 01:59:05,bin7145,75, +abc,7146,7146,7146,1989-07-26,714.3000000000939,714.27264,2015-01-01 01:59:06,bin7146,35, +abc,7147,7147,7147,1989-07-27,714.4000000000939,714.3726,2015-01-01 01:59:07,bin7147,75, +abc,7148,7148,7148,1989-07-28,714.5000000000939,714.4726,2015-01-01 01:59:08,bin7148,35, +abc,7149,7149,7149,1989-07-29,714.6000000000939,714.5726,2015-01-01 01:59:09,bin7149,75, +abc,7150,7150,7150,1989-07-30,714.700000000094,714.67255,2015-01-01 01:59:10,bin7150,35, +abc,7151,7151,7151,1989-07-31,714.800000000094,714.7725,2015-01-01 01:59:11,bin7151,75, +abc,7152,7152,7152,1989-08-01,714.900000000094,714.8725,2015-01-01 01:59:12,bin7152,35, +abc,7153,7153,7153,1989-08-02,715.000000000094,714.9725,2015-01-01 01:59:13,bin7153,75, +abc,7154,7154,7154,1989-08-03,715.100000000094,715.07245,2015-01-01 01:59:14,bin7154,35, +abc,7155,7155,7155,1989-08-04,715.2000000000941,715.1724,2015-01-01 01:59:15,bin7155,75, +abc,7156,7156,7156,1989-08-05,715.3000000000941,715.2724,2015-01-01 01:59:16,bin7156,35, +abc,7157,7157,7157,1989-08-06,715.4000000000941,715.3724,2015-01-01 01:59:17,bin7157,75, +abc,7158,7158,7158,1989-08-07,715.5000000000941,715.47235,2015-01-01 01:59:18,bin7158,35, +abc,7159,7159,7159,1989-08-08,715.6000000000942,715.5723,2015-01-01 01:59:19,bin7159,75, +abc,7160,7160,7160,1989-08-09,715.7000000000942,715.6723,2015-01-01 01:59:20,bin7160,35, +abc,7161,7161,7161,1989-08-10,715.8000000000942,715.7723,2015-01-01 01:59:21,bin7161,75, +abc,7162,7162,7162,1989-08-11,715.9000000000942,715.87225,2015-01-01 01:59:22,bin7162,35, +abc,7163,7163,7163,1989-08-12,716.0000000000942,715.9722,2015-01-01 01:59:23,bin7163,75, +abc,7164,7164,7164,1989-08-13,716.1000000000943,716.0722,2015-01-01 01:59:24,bin7164,35, +abc,7165,7165,7165,1989-08-14,716.2000000000943,716.1722,2015-01-01 01:59:25,bin7165,75, +abc,7166,7166,7166,1989-08-15,716.3000000000943,716.27216,2015-01-01 01:59:26,bin7166,35, +abc,7167,7167,7167,1989-08-16,716.4000000000943,716.37213,2015-01-01 01:59:27,bin7167,75, +abc,7168,7168,7168,1989-08-17,716.5000000000944,716.4721,2015-01-01 01:59:28,bin7168,35, +abc,7169,7169,7169,1989-08-18,716.6000000000944,716.5721,2015-01-01 01:59:29,bin7169,75, +abc,7170,7170,7170,1989-08-19,716.7000000000944,716.67206,2015-01-01 01:59:30,bin7170,35, +abc,7171,7171,7171,1989-08-20,716.8000000000944,716.77203,2015-01-01 01:59:31,bin7171,75, +abc,7172,7172,7172,1989-08-21,716.9000000000945,716.872,2015-01-01 01:59:32,bin7172,35, +abc,7173,7173,7173,1989-08-22,717.0000000000945,716.972,2015-01-01 01:59:33,bin7173,75, +abc,7174,7174,7174,1989-08-23,717.1000000000945,717.07196,2015-01-01 01:59:34,bin7174,35, +abc,7175,7175,7175,1989-08-24,717.2000000000945,717.17194,2015-01-01 01:59:35,bin7175,75, +abc,7176,7176,7176,1989-08-25,717.3000000000945,717.2719,2015-01-01 01:59:36,bin7176,35, +abc,7177,7177,7177,1989-08-26,717.4000000000946,717.3719,2015-01-01 01:59:37,bin7177,75, +abc,7178,7178,7178,1989-08-27,717.5000000000946,717.47186,2015-01-01 01:59:38,bin7178,35, +abc,7179,7179,7179,1989-08-28,717.6000000000946,717.57184,2015-01-01 01:59:39,bin7179,75, +abc,7180,7180,7180,1989-08-29,717.7000000000946,717.6718,2015-01-01 01:59:40,bin7180,35, +abc,7181,7181,7181,1989-08-30,717.8000000000947,717.7718,2015-01-01 01:59:41,bin7181,75, +abc,7182,7182,7182,1989-08-31,717.9000000000947,717.87177,2015-01-01 01:59:42,bin7182,35, +abc,7183,7183,7183,1989-09-01,718.0000000000947,717.97174,2015-01-01 01:59:43,bin7183,75, +abc,7184,7184,7184,1989-09-02,718.1000000000947,718.0717,2015-01-01 01:59:44,bin7184,35, +abc,7185,7185,7185,1989-09-03,718.2000000000947,718.1717,2015-01-01 01:59:45,bin7185,75, +abc,7186,7186,7186,1989-09-04,718.3000000000948,718.27167,2015-01-01 01:59:46,bin7186,35, +abc,7187,7187,7187,1989-09-05,718.4000000000948,718.37164,2015-01-01 01:59:47,bin7187,75, +abc,7188,7188,7188,1989-09-06,718.5000000000948,718.4716,2015-01-01 01:59:48,bin7188,35, +abc,7189,7189,7189,1989-09-07,718.6000000000948,718.5716,2015-01-01 01:59:49,bin7189,75, +abc,7190,7190,7190,1989-09-08,718.7000000000949,718.6716,2015-01-01 01:59:50,bin7190,35, +abc,7191,7191,7191,1989-09-09,718.8000000000949,718.77155,2015-01-01 01:59:51,bin7191,75, +abc,7192,7192,7192,1989-09-10,718.9000000000949,718.8715,2015-01-01 01:59:52,bin7192,35, +abc,7193,7193,7193,1989-09-11,719.0000000000949,718.9715,2015-01-01 01:59:53,bin7193,75, +abc,7194,7194,7194,1989-09-12,719.100000000095,719.0715,2015-01-01 01:59:54,bin7194,35, +abc,7195,7195,7195,1989-09-13,719.200000000095,719.17145,2015-01-01 01:59:55,bin7195,75, +abc,7196,7196,7196,1989-09-14,719.300000000095,719.2714,2015-01-01 01:59:56,bin7196,35, +abc,7197,7197,7197,1989-09-15,719.400000000095,719.3714,2015-01-01 01:59:57,bin7197,75, +abc,7198,7198,7198,1989-09-16,719.500000000095,719.4714,2015-01-01 01:59:58,bin7198,35, +abc,7199,7199,7199,1989-09-17,719.6000000000951,719.57135,2015-01-01 01:59:59,bin7199,75, +abc,7200,7200,7200,1989-09-18,719.7000000000951,719.6713,2015-01-01 02:00:00,bin7200,35, +abc,7201,7201,7201,1989-09-19,719.8000000000951,719.7713,2015-01-01 02:00:01,bin7201,75, +abc,7202,7202,7202,1989-09-20,719.9000000000951,719.8713,2015-01-01 02:00:02,bin7202,35, +abc,7203,7203,7203,1989-09-21,720.0000000000952,719.97125,2015-01-01 02:00:03,bin7203,75, +abc,7204,7204,7204,1989-09-22,720.1000000000952,720.0712,2015-01-01 02:00:04,bin7204,35, +abc,7205,7205,7205,1989-09-23,720.2000000000952,720.1712,2015-01-01 02:00:05,bin7205,75, +abc,7206,7206,7206,1989-09-24,720.3000000000952,720.2712,2015-01-01 02:00:06,bin7206,35, +abc,7207,7207,7207,1989-09-25,720.4000000000952,720.37115,2015-01-01 02:00:07,bin7207,75, +abc,7208,7208,7208,1989-09-26,720.5000000000953,720.4711,2015-01-01 02:00:08,bin7208,35, +abc,7209,7209,7209,1989-09-27,720.6000000000953,720.5711,2015-01-01 02:00:09,bin7209,75, +abc,7210,7210,7210,1989-09-28,720.7000000000953,720.6711,2015-01-01 02:00:10,bin7210,35, +abc,7211,7211,7211,1989-09-29,720.8000000000953,720.77106,2015-01-01 02:00:11,bin7211,75, +abc,7212,7212,7212,1989-09-30,720.9000000000954,720.87103,2015-01-01 02:00:12,bin7212,35, +abc,7213,7213,7213,1989-10-01,721.0000000000954,720.971,2015-01-01 02:00:13,bin7213,75, +abc,7214,7214,7214,1989-10-02,721.1000000000954,721.071,2015-01-01 02:00:14,bin7214,35, +abc,7215,7215,7215,1989-10-03,721.2000000000954,721.17096,2015-01-01 02:00:15,bin7215,75, +abc,7216,7216,7216,1989-10-04,721.3000000000955,721.27094,2015-01-01 02:00:16,bin7216,35, +abc,7217,7217,7217,1989-10-05,721.4000000000955,721.3709,2015-01-01 02:00:17,bin7217,75, +abc,7218,7218,7218,1989-10-06,721.5000000000955,721.4709,2015-01-01 02:00:18,bin7218,35, +abc,7219,7219,7219,1989-10-07,721.6000000000955,721.57086,2015-01-01 02:00:19,bin7219,75, +abc,7220,7220,7220,1989-10-08,721.7000000000955,721.67084,2015-01-01 02:00:20,bin7220,35, +abc,7221,7221,7221,1989-10-09,721.8000000000956,721.7708,2015-01-01 02:00:21,bin7221,75, +abc,7222,7222,7222,1989-10-10,721.9000000000956,721.8708,2015-01-01 02:00:22,bin7222,35, +abc,7223,7223,7223,1989-10-11,722.0000000000956,721.97076,2015-01-01 02:00:23,bin7223,75, +abc,7224,7224,7224,1989-10-12,722.1000000000956,722.07074,2015-01-01 02:00:24,bin7224,35, +abc,7225,7225,7225,1989-10-13,722.2000000000957,722.1707,2015-01-01 02:00:25,bin7225,75, +abc,7226,7226,7226,1989-10-14,722.3000000000957,722.2707,2015-01-01 02:00:26,bin7226,35, +abc,7227,7227,7227,1989-10-15,722.4000000000957,722.37067,2015-01-01 02:00:27,bin7227,75, +abc,7228,7228,7228,1989-10-16,722.5000000000957,722.47064,2015-01-01 02:00:28,bin7228,35, +abc,7229,7229,7229,1989-10-17,722.6000000000957,722.5706,2015-01-01 02:00:29,bin7229,75, +abc,7230,7230,7230,1989-10-18,722.7000000000958,722.6706,2015-01-01 02:00:30,bin7230,35, +abc,7231,7231,7231,1989-10-19,722.8000000000958,722.77057,2015-01-01 02:00:31,bin7231,75, +abc,7232,7232,7232,1989-10-20,722.9000000000958,722.87054,2015-01-01 02:00:32,bin7232,35, +abc,7233,7233,7233,1989-10-21,723.0000000000958,722.9705,2015-01-01 02:00:33,bin7233,75, +abc,7234,7234,7234,1989-10-22,723.1000000000959,723.0705,2015-01-01 02:00:34,bin7234,35, +abc,7235,7235,7235,1989-10-23,723.2000000000959,723.1705,2015-01-01 02:00:35,bin7235,75, +abc,7236,7236,7236,1989-10-24,723.3000000000959,723.27045,2015-01-01 02:00:36,bin7236,35, +abc,7237,7237,7237,1989-10-25,723.4000000000959,723.3704,2015-01-01 02:00:37,bin7237,75, +abc,7238,7238,7238,1989-10-26,723.500000000096,723.4704,2015-01-01 02:00:38,bin7238,35, +abc,7239,7239,7239,1989-10-27,723.600000000096,723.5704,2015-01-01 02:00:39,bin7239,75, +abc,7240,7240,7240,1989-10-28,723.700000000096,723.67035,2015-01-01 02:00:40,bin7240,35, +abc,7241,7241,7241,1989-10-29,723.800000000096,723.7703,2015-01-01 02:00:41,bin7241,75, +abc,7242,7242,7242,1989-10-30,723.900000000096,723.8703,2015-01-01 02:00:42,bin7242,35, +abc,7243,7243,7243,1989-10-31,724.0000000000961,723.9703,2015-01-01 02:00:43,bin7243,75, +abc,7244,7244,7244,1989-11-01,724.1000000000961,724.07025,2015-01-01 02:00:44,bin7244,35, +abc,7245,7245,7245,1989-11-02,724.2000000000961,724.1702,2015-01-01 02:00:45,bin7245,75, +abc,7246,7246,7246,1989-11-03,724.3000000000961,724.2702,2015-01-01 02:00:46,bin7246,35, +abc,7247,7247,7247,1989-11-04,724.4000000000962,724.3702,2015-01-01 02:00:47,bin7247,75, +abc,7248,7248,7248,1989-11-05,724.5000000000962,724.47015,2015-01-01 02:00:48,bin7248,35, +abc,7249,7249,7249,1989-11-06,724.6000000000962,724.5701,2015-01-01 02:00:49,bin7249,75, +abc,7250,7250,7250,1989-11-07,724.7000000000962,724.6701,2015-01-01 02:00:50,bin7250,35, +abc,7251,7251,7251,1989-11-08,724.8000000000962,724.7701,2015-01-01 02:00:51,bin7251,75, +abc,7252,7252,7252,1989-11-09,724.9000000000963,724.87006,2015-01-01 02:00:52,bin7252,35, +abc,7253,7253,7253,1989-11-10,725.0000000000963,724.97003,2015-01-01 02:00:53,bin7253,75, +abc,7254,7254,7254,1989-11-11,725.1000000000963,725.07,2015-01-01 02:00:54,bin7254,35, +abc,7255,7255,7255,1989-11-12,725.2000000000963,725.17,2015-01-01 02:00:55,bin7255,75, +abc,7256,7256,7256,1989-11-13,725.3000000000964,725.26996,2015-01-01 02:00:56,bin7256,35, +abc,7257,7257,7257,1989-11-14,725.4000000000964,725.36993,2015-01-01 02:00:57,bin7257,75, +abc,7258,7258,7258,1989-11-15,725.5000000000964,725.4699,2015-01-01 02:00:58,bin7258,35, +abc,7259,7259,7259,1989-11-16,725.6000000000964,725.5699,2015-01-01 02:00:59,bin7259,75, +abc,7260,7260,7260,1989-11-17,725.7000000000965,725.66986,2015-01-01 02:01:00,bin7260,35, +abc,7261,7261,7261,1989-11-18,725.8000000000965,725.76984,2015-01-01 02:01:01,bin7261,75, +abc,7262,7262,7262,1989-11-19,725.9000000000965,725.8698,2015-01-01 02:01:02,bin7262,35, +abc,7263,7263,7263,1989-11-20,726.0000000000965,725.9698,2015-01-01 02:01:03,bin7263,75, +abc,7264,7264,7264,1989-11-21,726.1000000000965,726.06976,2015-01-01 02:01:04,bin7264,35, +abc,7265,7265,7265,1989-11-22,726.2000000000966,726.16974,2015-01-01 02:01:05,bin7265,75, +abc,7266,7266,7266,1989-11-23,726.3000000000966,726.2697,2015-01-01 02:01:06,bin7266,35, +abc,7267,7267,7267,1989-11-24,726.4000000000966,726.3697,2015-01-01 02:01:07,bin7267,75, +abc,7268,7268,7268,1989-11-25,726.5000000000966,726.46967,2015-01-01 02:01:08,bin7268,35, +abc,7269,7269,7269,1989-11-26,726.6000000000967,726.56964,2015-01-01 02:01:09,bin7269,75, +abc,7270,7270,7270,1989-11-27,726.7000000000967,726.6696,2015-01-01 02:01:10,bin7270,35, +abc,7271,7271,7271,1989-11-28,726.8000000000967,726.7696,2015-01-01 02:01:11,bin7271,75, +abc,7272,7272,7272,1989-11-29,726.9000000000967,726.86957,2015-01-01 02:01:12,bin7272,35, +abc,7273,7273,7273,1989-11-30,727.0000000000967,726.96954,2015-01-01 02:01:13,bin7273,75, +abc,7274,7274,7274,1989-12-01,727.1000000000968,727.0695,2015-01-01 02:01:14,bin7274,35, +abc,7275,7275,7275,1989-12-02,727.2000000000968,727.1695,2015-01-01 02:01:15,bin7275,75, +abc,7276,7276,7276,1989-12-03,727.3000000000968,727.2695,2015-01-01 02:01:16,bin7276,35, +abc,7277,7277,7277,1989-12-04,727.4000000000968,727.36945,2015-01-01 02:01:17,bin7277,75, +abc,7278,7278,7278,1989-12-05,727.5000000000969,727.4694,2015-01-01 02:01:18,bin7278,35, +abc,7279,7279,7279,1989-12-06,727.6000000000969,727.5694,2015-01-01 02:01:19,bin7279,75, +abc,7280,7280,7280,1989-12-07,727.7000000000969,727.6694,2015-01-01 02:01:20,bin7280,35, +abc,7281,7281,7281,1989-12-08,727.8000000000969,727.76935,2015-01-01 02:01:21,bin7281,75, +abc,7282,7282,7282,1989-12-09,727.900000000097,727.8693,2015-01-01 02:01:22,bin7282,35, +abc,7283,7283,7283,1989-12-10,728.000000000097,727.9693,2015-01-01 02:01:23,bin7283,75, +abc,7284,7284,7284,1989-12-11,728.100000000097,728.0693,2015-01-01 02:01:24,bin7284,35, +abc,7285,7285,7285,1989-12-12,728.200000000097,728.16925,2015-01-01 02:01:25,bin7285,75, +abc,7286,7286,7286,1989-12-13,728.300000000097,728.2692,2015-01-01 02:01:26,bin7286,35, +abc,7287,7287,7287,1989-12-14,728.4000000000971,728.3692,2015-01-01 02:01:27,bin7287,75, +abc,7288,7288,7288,1989-12-15,728.5000000000971,728.4692,2015-01-01 02:01:28,bin7288,35, +abc,7289,7289,7289,1989-12-16,728.6000000000971,728.56915,2015-01-01 02:01:29,bin7289,75, +abc,7290,7290,7290,1989-12-17,728.7000000000971,728.6691,2015-01-01 02:01:30,bin7290,35, +abc,7291,7291,7291,1989-12-18,728.8000000000972,728.7691,2015-01-01 02:01:31,bin7291,75, +abc,7292,7292,7292,1989-12-19,728.9000000000972,728.8691,2015-01-01 02:01:32,bin7292,35, +abc,7293,7293,7293,1989-12-20,729.0000000000972,728.96906,2015-01-01 02:01:33,bin7293,75, +abc,7294,7294,7294,1989-12-21,729.1000000000972,729.06903,2015-01-01 02:01:34,bin7294,35, +abc,7295,7295,7295,1989-12-22,729.2000000000972,729.169,2015-01-01 02:01:35,bin7295,75, +abc,7296,7296,7296,1989-12-23,729.3000000000973,729.269,2015-01-01 02:01:36,bin7296,35, +abc,7297,7297,7297,1989-12-24,729.4000000000973,729.36896,2015-01-01 02:01:37,bin7297,75, +abc,7298,7298,7298,1989-12-25,729.5000000000973,729.46893,2015-01-01 02:01:38,bin7298,35, +abc,7299,7299,7299,1989-12-26,729.6000000000973,729.5689,2015-01-01 02:01:39,bin7299,75, +abc,7300,7300,7300,1989-12-27,729.7000000000974,729.6689,2015-01-01 02:01:40,bin7300,35, +abc,7301,7301,7301,1989-12-28,729.8000000000974,729.76886,2015-01-01 02:01:41,bin7301,75, +abc,7302,7302,7302,1989-12-29,729.9000000000974,729.86884,2015-01-01 02:01:42,bin7302,35, +abc,7303,7303,7303,1989-12-30,730.0000000000974,729.9688,2015-01-01 02:01:43,bin7303,75, +abc,7304,7304,7304,1989-12-31,730.1000000000975,730.0688,2015-01-01 02:01:44,bin7304,35, +abc,7305,7305,7305,1990-01-01,730.2000000000975,730.16876,2015-01-01 02:01:45,bin7305,75, +abc,7306,7306,7306,1990-01-02,730.3000000000975,730.26874,2015-01-01 02:01:46,bin7306,35, +abc,7307,7307,7307,1990-01-03,730.4000000000975,730.3687,2015-01-01 02:01:47,bin7307,75, +abc,7308,7308,7308,1990-01-04,730.5000000000975,730.4687,2015-01-01 02:01:48,bin7308,35, +abc,7309,7309,7309,1990-01-05,730.6000000000976,730.56866,2015-01-01 02:01:49,bin7309,75, +abc,7310,7310,7310,1990-01-06,730.7000000000976,730.66864,2015-01-01 02:01:50,bin7310,35, +abc,7311,7311,7311,1990-01-07,730.8000000000976,730.7686,2015-01-01 02:01:51,bin7311,75, +abc,7312,7312,7312,1990-01-08,730.9000000000976,730.8686,2015-01-01 02:01:52,bin7312,35, +abc,7313,7313,7313,1990-01-09,731.0000000000977,730.96857,2015-01-01 02:01:53,bin7313,75, +abc,7314,7314,7314,1990-01-10,731.1000000000977,731.06854,2015-01-01 02:01:54,bin7314,35, +abc,7315,7315,7315,1990-01-11,731.2000000000977,731.1685,2015-01-01 02:01:55,bin7315,75, +abc,7316,7316,7316,1990-01-12,731.3000000000977,731.2685,2015-01-01 02:01:56,bin7316,35, +abc,7317,7317,7317,1990-01-13,731.4000000000977,731.36847,2015-01-01 02:01:57,bin7317,75, +abc,7318,7318,7318,1990-01-14,731.5000000000978,731.46844,2015-01-01 02:01:58,bin7318,35, +abc,7319,7319,7319,1990-01-15,731.6000000000978,731.5684,2015-01-01 02:01:59,bin7319,75, +abc,7320,7320,7320,1990-01-16,731.7000000000978,731.6684,2015-01-01 02:02:00,bin7320,35, +abc,7321,7321,7321,1990-01-17,731.8000000000978,731.7684,2015-01-01 02:02:01,bin7321,75, +abc,7322,7322,7322,1990-01-18,731.9000000000979,731.86835,2015-01-01 02:02:02,bin7322,35, +abc,7323,7323,7323,1990-01-19,732.0000000000979,731.9683,2015-01-01 02:02:03,bin7323,75, +abc,7324,7324,7324,1990-01-20,732.1000000000979,732.0683,2015-01-01 02:02:04,bin7324,35, +abc,7325,7325,7325,1990-01-21,732.2000000000979,732.1683,2015-01-01 02:02:05,bin7325,75, +abc,7326,7326,7326,1990-01-22,732.300000000098,732.26825,2015-01-01 02:02:06,bin7326,35, +abc,7327,7327,7327,1990-01-23,732.400000000098,732.3682,2015-01-01 02:02:07,bin7327,75, +abc,7328,7328,7328,1990-01-24,732.500000000098,732.4682,2015-01-01 02:02:08,bin7328,35, +abc,7329,7329,7329,1990-01-25,732.600000000098,732.5682,2015-01-01 02:02:09,bin7329,75, +abc,7330,7330,7330,1990-01-26,732.700000000098,732.66815,2015-01-01 02:02:10,bin7330,35, +abc,7331,7331,7331,1990-01-27,732.8000000000981,732.7681,2015-01-01 02:02:11,bin7331,75, +abc,7332,7332,7332,1990-01-28,732.9000000000981,732.8681,2015-01-01 02:02:12,bin7332,35, +abc,7333,7333,7333,1990-01-29,733.0000000000981,732.9681,2015-01-01 02:02:13,bin7333,75, +abc,7334,7334,7334,1990-01-30,733.1000000000981,733.06805,2015-01-01 02:02:14,bin7334,35, +abc,7335,7335,7335,1990-01-31,733.2000000000982,733.168,2015-01-01 02:02:15,bin7335,75, +abc,7336,7336,7336,1990-02-01,733.3000000000982,733.268,2015-01-01 02:02:16,bin7336,35, +abc,7337,7337,7337,1990-02-02,733.4000000000982,733.368,2015-01-01 02:02:17,bin7337,75, +abc,7338,7338,7338,1990-02-03,733.5000000000982,733.46796,2015-01-01 02:02:18,bin7338,35, +abc,7339,7339,7339,1990-02-04,733.6000000000982,733.56793,2015-01-01 02:02:19,bin7339,75, +abc,7340,7340,7340,1990-02-05,733.7000000000983,733.6679,2015-01-01 02:02:20,bin7340,35, +abc,7341,7341,7341,1990-02-06,733.8000000000983,733.7679,2015-01-01 02:02:21,bin7341,75, +abc,7342,7342,7342,1990-02-07,733.9000000000983,733.86786,2015-01-01 02:02:22,bin7342,35, +abc,7343,7343,7343,1990-02-08,734.0000000000983,733.96783,2015-01-01 02:02:23,bin7343,75, +abc,7344,7344,7344,1990-02-09,734.1000000000984,734.0678,2015-01-01 02:02:24,bin7344,35, +abc,7345,7345,7345,1990-02-10,734.2000000000984,734.1678,2015-01-01 02:02:25,bin7345,75, +abc,7346,7346,7346,1990-02-11,734.3000000000984,734.26776,2015-01-01 02:02:26,bin7346,35, +abc,7347,7347,7347,1990-02-12,734.4000000000984,734.36774,2015-01-01 02:02:27,bin7347,75, +abc,7348,7348,7348,1990-02-13,734.5000000000985,734.4677,2015-01-01 02:02:28,bin7348,35, +abc,7349,7349,7349,1990-02-14,734.6000000000985,734.5677,2015-01-01 02:02:29,bin7349,75, +abc,7350,7350,7350,1990-02-15,734.7000000000985,734.66766,2015-01-01 02:02:30,bin7350,35, +abc,7351,7351,7351,1990-02-16,734.8000000000985,734.76764,2015-01-01 02:02:31,bin7351,75, +abc,7352,7352,7352,1990-02-17,734.9000000000985,734.8676,2015-01-01 02:02:32,bin7352,35, +abc,7353,7353,7353,1990-02-18,735.0000000000986,734.9676,2015-01-01 02:02:33,bin7353,75, +abc,7354,7354,7354,1990-02-19,735.1000000000986,735.06757,2015-01-01 02:02:34,bin7354,35, +abc,7355,7355,7355,1990-02-20,735.2000000000986,735.16754,2015-01-01 02:02:35,bin7355,75, +abc,7356,7356,7356,1990-02-21,735.3000000000986,735.2675,2015-01-01 02:02:36,bin7356,35, +abc,7357,7357,7357,1990-02-22,735.4000000000987,735.3675,2015-01-01 02:02:37,bin7357,75, +abc,7358,7358,7358,1990-02-23,735.5000000000987,735.46747,2015-01-01 02:02:38,bin7358,35, +abc,7359,7359,7359,1990-02-24,735.6000000000987,735.56744,2015-01-01 02:02:39,bin7359,75, +abc,7360,7360,7360,1990-02-25,735.7000000000987,735.6674,2015-01-01 02:02:40,bin7360,35, +abc,7361,7361,7361,1990-02-26,735.8000000000987,735.7674,2015-01-01 02:02:41,bin7361,75, +abc,7362,7362,7362,1990-02-27,735.9000000000988,735.8674,2015-01-01 02:02:42,bin7362,35, +abc,7363,7363,7363,1990-02-28,736.0000000000988,735.96735,2015-01-01 02:02:43,bin7363,75, +abc,7364,7364,7364,1990-03-01,736.1000000000988,736.0673,2015-01-01 02:02:44,bin7364,35, +abc,7365,7365,7365,1990-03-02,736.2000000000988,736.1673,2015-01-01 02:02:45,bin7365,75, +abc,7366,7366,7366,1990-03-03,736.3000000000989,736.2673,2015-01-01 02:02:46,bin7366,35, +abc,7367,7367,7367,1990-03-04,736.4000000000989,736.36725,2015-01-01 02:02:47,bin7367,75, +abc,7368,7368,7368,1990-03-05,736.5000000000989,736.4672,2015-01-01 02:02:48,bin7368,35, +abc,7369,7369,7369,1990-03-06,736.6000000000989,736.5672,2015-01-01 02:02:49,bin7369,75, +abc,7370,7370,7370,1990-03-07,736.700000000099,736.6672,2015-01-01 02:02:50,bin7370,35, +abc,7371,7371,7371,1990-03-08,736.800000000099,736.76715,2015-01-01 02:02:51,bin7371,75, +abc,7372,7372,7372,1990-03-09,736.900000000099,736.8671,2015-01-01 02:02:52,bin7372,35, +abc,7373,7373,7373,1990-03-10,737.000000000099,736.9671,2015-01-01 02:02:53,bin7373,75, +abc,7374,7374,7374,1990-03-11,737.100000000099,737.0671,2015-01-01 02:02:54,bin7374,35, +abc,7375,7375,7375,1990-03-12,737.2000000000991,737.16705,2015-01-01 02:02:55,bin7375,75, +abc,7376,7376,7376,1990-03-13,737.3000000000991,737.267,2015-01-01 02:02:56,bin7376,35, +abc,7377,7377,7377,1990-03-14,737.4000000000991,737.367,2015-01-01 02:02:57,bin7377,75, +abc,7378,7378,7378,1990-03-15,737.5000000000991,737.467,2015-01-01 02:02:58,bin7378,35, +abc,7379,7379,7379,1990-03-16,737.6000000000992,737.56696,2015-01-01 02:02:59,bin7379,75, +abc,7380,7380,7380,1990-03-17,737.7000000000992,737.66693,2015-01-01 02:03:00,bin7380,35, +abc,7381,7381,7381,1990-03-18,737.8000000000992,737.7669,2015-01-01 02:03:01,bin7381,75, +abc,7382,7382,7382,1990-03-19,737.9000000000992,737.8669,2015-01-01 02:03:02,bin7382,35, +abc,7383,7383,7383,1990-03-20,738.0000000000992,737.96686,2015-01-01 02:03:03,bin7383,75, +abc,7384,7384,7384,1990-03-21,738.1000000000993,738.06683,2015-01-01 02:03:04,bin7384,35, +abc,7385,7385,7385,1990-03-22,738.2000000000993,738.1668,2015-01-01 02:03:05,bin7385,75, +abc,7386,7386,7386,1990-03-23,738.3000000000993,738.2668,2015-01-01 02:03:06,bin7386,35, +abc,7387,7387,7387,1990-03-24,738.4000000000993,738.36676,2015-01-01 02:03:07,bin7387,75, +abc,7388,7388,7388,1990-03-25,738.5000000000994,738.46674,2015-01-01 02:03:08,bin7388,35, +abc,7389,7389,7389,1990-03-26,738.6000000000994,738.5667,2015-01-01 02:03:09,bin7389,75, +abc,7390,7390,7390,1990-03-27,738.7000000000994,738.6667,2015-01-01 02:03:10,bin7390,35, +abc,7391,7391,7391,1990-03-28,738.8000000000994,738.76666,2015-01-01 02:03:11,bin7391,75, +abc,7392,7392,7392,1990-03-29,738.9000000000995,738.86664,2015-01-01 02:03:12,bin7392,35, +abc,7393,7393,7393,1990-03-30,739.0000000000995,738.9666,2015-01-01 02:03:13,bin7393,75, +abc,7394,7394,7394,1990-03-31,739.1000000000995,739.0666,2015-01-01 02:03:14,bin7394,35, +abc,7395,7395,7395,1990-04-01,739.2000000000995,739.16656,2015-01-01 02:03:15,bin7395,75, +abc,7396,7396,7396,1990-04-02,739.3000000000995,739.26654,2015-01-01 02:03:16,bin7396,35, +abc,7397,7397,7397,1990-04-03,739.4000000000996,739.3665,2015-01-01 02:03:17,bin7397,75, +abc,7398,7398,7398,1990-04-04,739.5000000000996,739.4665,2015-01-01 02:03:18,bin7398,35, +abc,7399,7399,7399,1990-04-05,739.6000000000996,739.56647,2015-01-01 02:03:19,bin7399,75, +abc,7400,7400,7400,1990-04-06,739.7000000000996,739.66644,2015-01-01 02:03:20,bin7400,35, +abc,7401,7401,7401,1990-04-07,739.8000000000997,739.7664,2015-01-01 02:03:21,bin7401,75, +abc,7402,7402,7402,1990-04-08,739.9000000000997,739.8664,2015-01-01 02:03:22,bin7402,35, +abc,7403,7403,7403,1990-04-09,740.0000000000997,739.9664,2015-01-01 02:03:23,bin7403,75, +abc,7404,7404,7404,1990-04-10,740.1000000000997,740.06635,2015-01-01 02:03:24,bin7404,35, +abc,7405,7405,7405,1990-04-11,740.2000000000997,740.1663,2015-01-01 02:03:25,bin7405,75, +abc,7406,7406,7406,1990-04-12,740.3000000000998,740.2663,2015-01-01 02:03:26,bin7406,35, +abc,7407,7407,7407,1990-04-13,740.4000000000998,740.3663,2015-01-01 02:03:27,bin7407,75, +abc,7408,7408,7408,1990-04-14,740.5000000000998,740.46625,2015-01-01 02:03:28,bin7408,35, +abc,7409,7409,7409,1990-04-15,740.6000000000998,740.5662,2015-01-01 02:03:29,bin7409,75, +abc,7410,7410,7410,1990-04-16,740.7000000000999,740.6662,2015-01-01 02:03:30,bin7410,35, +abc,7411,7411,7411,1990-04-17,740.8000000000999,740.7662,2015-01-01 02:03:31,bin7411,75, +abc,7412,7412,7412,1990-04-18,740.9000000000999,740.86615,2015-01-01 02:03:32,bin7412,35, +abc,7413,7413,7413,1990-04-19,741.0000000000999,740.9661,2015-01-01 02:03:33,bin7413,75, +abc,7414,7414,7414,1990-04-20,741.1000000001,741.0661,2015-01-01 02:03:34,bin7414,35, +abc,7415,7415,7415,1990-04-21,741.2000000001,741.1661,2015-01-01 02:03:35,bin7415,75, +abc,7416,7416,7416,1990-04-22,741.3000000001,741.26605,2015-01-01 02:03:36,bin7416,35, +abc,7417,7417,7417,1990-04-23,741.4000000001,741.366,2015-01-01 02:03:37,bin7417,75, +abc,7418,7418,7418,1990-04-24,741.5000000001,741.466,2015-01-01 02:03:38,bin7418,35, +abc,7419,7419,7419,1990-04-25,741.6000000001001,741.566,2015-01-01 02:03:39,bin7419,75, +abc,7420,7420,7420,1990-04-26,741.7000000001001,741.66595,2015-01-01 02:03:40,bin7420,35, +abc,7421,7421,7421,1990-04-27,741.8000000001001,741.7659,2015-01-01 02:03:41,bin7421,75, +abc,7422,7422,7422,1990-04-28,741.9000000001001,741.8659,2015-01-01 02:03:42,bin7422,35, +abc,7423,7423,7423,1990-04-29,742.0000000001002,741.9659,2015-01-01 02:03:43,bin7423,75, +abc,7424,7424,7424,1990-04-30,742.1000000001002,742.06586,2015-01-01 02:03:44,bin7424,35, +abc,7425,7425,7425,1990-05-01,742.2000000001002,742.16583,2015-01-01 02:03:45,bin7425,75, +abc,7426,7426,7426,1990-05-02,742.3000000001002,742.2658,2015-01-01 02:03:46,bin7426,35, +abc,7427,7427,7427,1990-05-03,742.4000000001002,742.3658,2015-01-01 02:03:47,bin7427,75, +abc,7428,7428,7428,1990-05-04,742.5000000001003,742.46576,2015-01-01 02:03:48,bin7428,35, +abc,7429,7429,7429,1990-05-05,742.6000000001003,742.56573,2015-01-01 02:03:49,bin7429,75, +abc,7430,7430,7430,1990-05-06,742.7000000001003,742.6657,2015-01-01 02:03:50,bin7430,35, +abc,7431,7431,7431,1990-05-07,742.8000000001003,742.7657,2015-01-01 02:03:51,bin7431,75, +abc,7432,7432,7432,1990-05-08,742.9000000001004,742.86566,2015-01-01 02:03:52,bin7432,35, +abc,7433,7433,7433,1990-05-09,743.0000000001004,742.96564,2015-01-01 02:03:53,bin7433,75, +abc,7434,7434,7434,1990-05-10,743.1000000001004,743.0656,2015-01-01 02:03:54,bin7434,35, +abc,7435,7435,7435,1990-05-11,743.2000000001004,743.1656,2015-01-01 02:03:55,bin7435,75, +abc,7436,7436,7436,1990-05-12,743.3000000001005,743.26556,2015-01-01 02:03:56,bin7436,35, +abc,7437,7437,7437,1990-05-13,743.4000000001005,743.36554,2015-01-01 02:03:57,bin7437,75, +abc,7438,7438,7438,1990-05-14,743.5000000001005,743.4655,2015-01-01 02:03:58,bin7438,35, +abc,7439,7439,7439,1990-05-15,743.6000000001005,743.5655,2015-01-01 02:03:59,bin7439,75, +abc,7440,7440,7440,1990-05-16,743.7000000001005,743.66547,2015-01-01 02:04:00,bin7440,35, +abc,7441,7441,7441,1990-05-17,743.8000000001006,743.76544,2015-01-01 02:04:01,bin7441,75, +abc,7442,7442,7442,1990-05-18,743.9000000001006,743.8654,2015-01-01 02:04:02,bin7442,35, +abc,7443,7443,7443,1990-05-19,744.0000000001006,743.9654,2015-01-01 02:04:03,bin7443,75, +abc,7444,7444,7444,1990-05-20,744.1000000001006,744.06537,2015-01-01 02:04:04,bin7444,35, +abc,7445,7445,7445,1990-05-21,744.2000000001007,744.16534,2015-01-01 02:04:05,bin7445,75, +abc,7446,7446,7446,1990-05-22,744.3000000001007,744.2653,2015-01-01 02:04:06,bin7446,35, +abc,7447,7447,7447,1990-05-23,744.4000000001007,744.3653,2015-01-01 02:04:07,bin7447,75, +abc,7448,7448,7448,1990-05-24,744.5000000001007,744.4653,2015-01-01 02:04:08,bin7448,35, +abc,7449,7449,7449,1990-05-25,744.6000000001007,744.56525,2015-01-01 02:04:09,bin7449,75, +abc,7450,7450,7450,1990-05-26,744.7000000001008,744.6652,2015-01-01 02:04:10,bin7450,35, +abc,7451,7451,7451,1990-05-27,744.8000000001008,744.7652,2015-01-01 02:04:11,bin7451,75, +abc,7452,7452,7452,1990-05-28,744.9000000001008,744.8652,2015-01-01 02:04:12,bin7452,35, +abc,7453,7453,7453,1990-05-29,745.0000000001008,744.96515,2015-01-01 02:04:13,bin7453,75, +abc,7454,7454,7454,1990-05-30,745.1000000001009,745.0651,2015-01-01 02:04:14,bin7454,35, +abc,7455,7455,7455,1990-05-31,745.2000000001009,745.1651,2015-01-01 02:04:15,bin7455,75, +abc,7456,7456,7456,1990-06-01,745.3000000001009,745.2651,2015-01-01 02:04:16,bin7456,35, +abc,7457,7457,7457,1990-06-02,745.4000000001009,745.36505,2015-01-01 02:04:17,bin7457,75, +abc,7458,7458,7458,1990-06-03,745.500000000101,745.465,2015-01-01 02:04:18,bin7458,35, +abc,7459,7459,7459,1990-06-04,745.600000000101,745.565,2015-01-01 02:04:19,bin7459,75, +abc,7460,7460,7460,1990-06-05,745.700000000101,745.665,2015-01-01 02:04:20,bin7460,35, +abc,7461,7461,7461,1990-06-06,745.800000000101,745.76495,2015-01-01 02:04:21,bin7461,75, +abc,7462,7462,7462,1990-06-07,745.900000000101,745.8649,2015-01-01 02:04:22,bin7462,35, +abc,7463,7463,7463,1990-06-08,746.0000000001011,745.9649,2015-01-01 02:04:23,bin7463,75, +abc,7464,7464,7464,1990-06-09,746.1000000001011,746.0649,2015-01-01 02:04:24,bin7464,35, +abc,7465,7465,7465,1990-06-10,746.2000000001011,746.16486,2015-01-01 02:04:25,bin7465,75, +abc,7466,7466,7466,1990-06-11,746.3000000001011,746.26483,2015-01-01 02:04:26,bin7466,35, +abc,7467,7467,7467,1990-06-12,746.4000000001012,746.3648,2015-01-01 02:04:27,bin7467,75, +abc,7468,7468,7468,1990-06-13,746.5000000001012,746.4648,2015-01-01 02:04:28,bin7468,35, +abc,7469,7469,7469,1990-06-14,746.6000000001012,746.56476,2015-01-01 02:04:29,bin7469,75, +abc,7470,7470,7470,1990-06-15,746.7000000001012,746.66473,2015-01-01 02:04:30,bin7470,35, +abc,7471,7471,7471,1990-06-16,746.8000000001012,746.7647,2015-01-01 02:04:31,bin7471,75, +abc,7472,7472,7472,1990-06-17,746.9000000001013,746.8647,2015-01-01 02:04:32,bin7472,35, +abc,7473,7473,7473,1990-06-18,747.0000000001013,746.96466,2015-01-01 02:04:33,bin7473,75, +abc,7474,7474,7474,1990-06-19,747.1000000001013,747.06464,2015-01-01 02:04:34,bin7474,35, +abc,7475,7475,7475,1990-06-20,747.2000000001013,747.1646,2015-01-01 02:04:35,bin7475,75, +abc,7476,7476,7476,1990-06-21,747.3000000001014,747.2646,2015-01-01 02:04:36,bin7476,35, +abc,7477,7477,7477,1990-06-22,747.4000000001014,747.36456,2015-01-01 02:04:37,bin7477,75, +abc,7478,7478,7478,1990-06-23,747.5000000001014,747.46454,2015-01-01 02:04:38,bin7478,35, +abc,7479,7479,7479,1990-06-24,747.6000000001014,747.5645,2015-01-01 02:04:39,bin7479,75, +abc,7480,7480,7480,1990-06-25,747.7000000001015,747.6645,2015-01-01 02:04:40,bin7480,35, +abc,7481,7481,7481,1990-06-26,747.8000000001015,747.76447,2015-01-01 02:04:41,bin7481,75, +abc,7482,7482,7482,1990-06-27,747.9000000001015,747.86444,2015-01-01 02:04:42,bin7482,35, +abc,7483,7483,7483,1990-06-28,748.0000000001015,747.9644,2015-01-01 02:04:43,bin7483,75, +abc,7484,7484,7484,1990-06-29,748.1000000001015,748.0644,2015-01-01 02:04:44,bin7484,35, +abc,7485,7485,7485,1990-06-30,748.2000000001016,748.16437,2015-01-01 02:04:45,bin7485,75, +abc,7486,7486,7486,1990-07-01,748.3000000001016,748.26434,2015-01-01 02:04:46,bin7486,35, +abc,7487,7487,7487,1990-07-02,748.4000000001016,748.3643,2015-01-01 02:04:47,bin7487,75, +abc,7488,7488,7488,1990-07-03,748.5000000001016,748.4643,2015-01-01 02:04:48,bin7488,35, +abc,7489,7489,7489,1990-07-04,748.6000000001017,748.5643,2015-01-01 02:04:49,bin7489,75, +abc,7490,7490,7490,1990-07-05,748.7000000001017,748.66425,2015-01-01 02:04:50,bin7490,35, +abc,7491,7491,7491,1990-07-06,748.8000000001017,748.7642,2015-01-01 02:04:51,bin7491,75, +abc,7492,7492,7492,1990-07-07,748.9000000001017,748.8642,2015-01-01 02:04:52,bin7492,35, +abc,7493,7493,7493,1990-07-08,749.0000000001017,748.9642,2015-01-01 02:04:53,bin7493,75, +abc,7494,7494,7494,1990-07-09,749.1000000001018,749.06415,2015-01-01 02:04:54,bin7494,35, +abc,7495,7495,7495,1990-07-10,749.2000000001018,749.1641,2015-01-01 02:04:55,bin7495,75, +abc,7496,7496,7496,1990-07-11,749.3000000001018,749.2641,2015-01-01 02:04:56,bin7496,35, +abc,7497,7497,7497,1990-07-12,749.4000000001018,749.3641,2015-01-01 02:04:57,bin7497,75, +abc,7498,7498,7498,1990-07-13,749.5000000001019,749.46405,2015-01-01 02:04:58,bin7498,35, +abc,7499,7499,7499,1990-07-14,749.6000000001019,749.564,2015-01-01 02:04:59,bin7499,75, +abc,7500,7500,7500,1990-07-15,749.7000000001019,749.664,2015-01-01 02:05:00,bin7500,35, +abc,7501,7501,7501,1990-07-16,749.8000000001019,749.764,2015-01-01 02:05:01,bin7501,75, +abc,7502,7502,7502,1990-07-17,749.900000000102,749.86395,2015-01-01 02:05:02,bin7502,35, +abc,7503,7503,7503,1990-07-18,750.000000000102,749.9639,2015-01-01 02:05:03,bin7503,75, +abc,7504,7504,7504,1990-07-19,750.100000000102,750.0639,2015-01-01 02:05:04,bin7504,35, +abc,7505,7505,7505,1990-07-20,750.200000000102,750.1639,2015-01-01 02:05:05,bin7505,75, +abc,7506,7506,7506,1990-07-21,750.300000000102,750.26385,2015-01-01 02:05:06,bin7506,35, +abc,7507,7507,7507,1990-07-22,750.4000000001021,750.36383,2015-01-01 02:05:07,bin7507,75, +abc,7508,7508,7508,1990-07-23,750.5000000001021,750.4638,2015-01-01 02:05:08,bin7508,35, +abc,7509,7509,7509,1990-07-24,750.6000000001021,750.5638,2015-01-01 02:05:09,bin7509,75, +abc,7510,7510,7510,1990-07-25,750.7000000001021,750.66376,2015-01-01 02:05:10,bin7510,35, +abc,7511,7511,7511,1990-07-26,750.8000000001022,750.76373,2015-01-01 02:05:11,bin7511,75, +abc,7512,7512,7512,1990-07-27,750.9000000001022,750.8637,2015-01-01 02:05:12,bin7512,35, +abc,7513,7513,7513,1990-07-28,751.0000000001022,750.9637,2015-01-01 02:05:13,bin7513,75, +abc,7514,7514,7514,1990-07-29,751.1000000001022,751.06366,2015-01-01 02:05:14,bin7514,35, +abc,7515,7515,7515,1990-07-30,751.2000000001022,751.16364,2015-01-01 02:05:15,bin7515,75, +abc,7516,7516,7516,1990-07-31,751.3000000001023,751.2636,2015-01-01 02:05:16,bin7516,35, +abc,7517,7517,7517,1990-08-01,751.4000000001023,751.3636,2015-01-01 02:05:17,bin7517,75, +abc,7518,7518,7518,1990-08-02,751.5000000001023,751.46356,2015-01-01 02:05:18,bin7518,35, +abc,7519,7519,7519,1990-08-03,751.6000000001023,751.56354,2015-01-01 02:05:19,bin7519,75, +abc,7520,7520,7520,1990-08-04,751.7000000001024,751.6635,2015-01-01 02:05:20,bin7520,35, +abc,7521,7521,7521,1990-08-05,751.8000000001024,751.7635,2015-01-01 02:05:21,bin7521,75, +abc,7522,7522,7522,1990-08-06,751.9000000001024,751.86346,2015-01-01 02:05:22,bin7522,35, +abc,7523,7523,7523,1990-08-07,752.0000000001024,751.96344,2015-01-01 02:05:23,bin7523,75, +abc,7524,7524,7524,1990-08-08,752.1000000001025,752.0634,2015-01-01 02:05:24,bin7524,35, +abc,7525,7525,7525,1990-08-09,752.2000000001025,752.1634,2015-01-01 02:05:25,bin7525,75, +abc,7526,7526,7526,1990-08-10,752.3000000001025,752.26337,2015-01-01 02:05:26,bin7526,35, +abc,7527,7527,7527,1990-08-11,752.4000000001025,752.36334,2015-01-01 02:05:27,bin7527,75, +abc,7528,7528,7528,1990-08-12,752.5000000001025,752.4633,2015-01-01 02:05:28,bin7528,35, +abc,7529,7529,7529,1990-08-13,752.6000000001026,752.5633,2015-01-01 02:05:29,bin7529,75, +abc,7530,7530,7530,1990-08-14,752.7000000001026,752.66327,2015-01-01 02:05:30,bin7530,35, +abc,7531,7531,7531,1990-08-15,752.8000000001026,752.76324,2015-01-01 02:05:31,bin7531,75, +abc,7532,7532,7532,1990-08-16,752.9000000001026,752.8632,2015-01-01 02:05:32,bin7532,35, +abc,7533,7533,7533,1990-08-17,753.0000000001027,752.9632,2015-01-01 02:05:33,bin7533,75, +abc,7534,7534,7534,1990-08-18,753.1000000001027,753.0632,2015-01-01 02:05:34,bin7534,35, +abc,7535,7535,7535,1990-08-19,753.2000000001027,753.16315,2015-01-01 02:05:35,bin7535,75, +abc,7536,7536,7536,1990-08-20,753.3000000001027,753.2631,2015-01-01 02:05:36,bin7536,35, +abc,7537,7537,7537,1990-08-21,753.4000000001028,753.3631,2015-01-01 02:05:37,bin7537,75, +abc,7538,7538,7538,1990-08-22,753.5000000001028,753.4631,2015-01-01 02:05:38,bin7538,35, +abc,7539,7539,7539,1990-08-23,753.6000000001028,753.56305,2015-01-01 02:05:39,bin7539,75, +abc,7540,7540,7540,1990-08-24,753.7000000001028,753.663,2015-01-01 02:05:40,bin7540,35, +abc,7541,7541,7541,1990-08-25,753.8000000001028,753.763,2015-01-01 02:05:41,bin7541,75, +abc,7542,7542,7542,1990-08-26,753.9000000001029,753.863,2015-01-01 02:05:42,bin7542,35, +abc,7543,7543,7543,1990-08-27,754.0000000001029,753.96295,2015-01-01 02:05:43,bin7543,75, +abc,7544,7544,7544,1990-08-28,754.1000000001029,754.0629,2015-01-01 02:05:44,bin7544,35, +abc,7545,7545,7545,1990-08-29,754.2000000001029,754.1629,2015-01-01 02:05:45,bin7545,75, +abc,7546,7546,7546,1990-08-30,754.300000000103,754.2629,2015-01-01 02:05:46,bin7546,35, +abc,7547,7547,7547,1990-08-31,754.400000000103,754.36285,2015-01-01 02:05:47,bin7547,75, +abc,7548,7548,7548,1990-09-01,754.500000000103,754.4628,2015-01-01 02:05:48,bin7548,35, +abc,7549,7549,7549,1990-09-02,754.600000000103,754.5628,2015-01-01 02:05:49,bin7549,75, +abc,7550,7550,7550,1990-09-03,754.700000000103,754.6628,2015-01-01 02:05:50,bin7550,35, +abc,7551,7551,7551,1990-09-04,754.8000000001031,754.76276,2015-01-01 02:05:51,bin7551,75, +abc,7552,7552,7552,1990-09-05,754.9000000001031,754.86273,2015-01-01 02:05:52,bin7552,35, +abc,7553,7553,7553,1990-09-06,755.0000000001031,754.9627,2015-01-01 02:05:53,bin7553,75, +abc,7554,7554,7554,1990-09-07,755.1000000001031,755.0627,2015-01-01 02:05:54,bin7554,35, +abc,7555,7555,7555,1990-09-08,755.2000000001032,755.16266,2015-01-01 02:05:55,bin7555,75, +abc,7556,7556,7556,1990-09-09,755.3000000001032,755.26263,2015-01-01 02:05:56,bin7556,35, +abc,7557,7557,7557,1990-09-10,755.4000000001032,755.3626,2015-01-01 02:05:57,bin7557,75, +abc,7558,7558,7558,1990-09-11,755.5000000001032,755.4626,2015-01-01 02:05:58,bin7558,35, +abc,7559,7559,7559,1990-09-12,755.6000000001033,755.56256,2015-01-01 02:05:59,bin7559,75, +abc,7560,7560,7560,1990-09-13,755.7000000001033,755.66254,2015-01-01 02:06:00,bin7560,35, +abc,7561,7561,7561,1990-09-14,755.8000000001033,755.7625,2015-01-01 02:06:01,bin7561,75, +abc,7562,7562,7562,1990-09-15,755.9000000001033,755.8625,2015-01-01 02:06:02,bin7562,35, +abc,7563,7563,7563,1990-09-16,756.0000000001033,755.96246,2015-01-01 02:06:03,bin7563,75, +abc,7564,7564,7564,1990-09-17,756.1000000001034,756.06244,2015-01-01 02:06:04,bin7564,35, +abc,7565,7565,7565,1990-09-18,756.2000000001034,756.1624,2015-01-01 02:06:05,bin7565,75, +abc,7566,7566,7566,1990-09-19,756.3000000001034,756.2624,2015-01-01 02:06:06,bin7566,35, +abc,7567,7567,7567,1990-09-20,756.4000000001034,756.36237,2015-01-01 02:06:07,bin7567,75, +abc,7568,7568,7568,1990-09-21,756.5000000001035,756.46234,2015-01-01 02:06:08,bin7568,35, +abc,7569,7569,7569,1990-09-22,756.6000000001035,756.5623,2015-01-01 02:06:09,bin7569,75, +abc,7570,7570,7570,1990-09-23,756.7000000001035,756.6623,2015-01-01 02:06:10,bin7570,35, +abc,7571,7571,7571,1990-09-24,756.8000000001035,756.76227,2015-01-01 02:06:11,bin7571,75, +abc,7572,7572,7572,1990-09-25,756.9000000001035,756.86224,2015-01-01 02:06:12,bin7572,35, +abc,7573,7573,7573,1990-09-26,757.0000000001036,756.9622,2015-01-01 02:06:13,bin7573,75, +abc,7574,7574,7574,1990-09-27,757.1000000001036,757.0622,2015-01-01 02:06:14,bin7574,35, +abc,7575,7575,7575,1990-09-28,757.2000000001036,757.1622,2015-01-01 02:06:15,bin7575,75, +abc,7576,7576,7576,1990-09-29,757.3000000001036,757.26215,2015-01-01 02:06:16,bin7576,35, +abc,7577,7577,7577,1990-09-30,757.4000000001037,757.3621,2015-01-01 02:06:17,bin7577,75, +abc,7578,7578,7578,1990-10-01,757.5000000001037,757.4621,2015-01-01 02:06:18,bin7578,35, +abc,7579,7579,7579,1990-10-02,757.6000000001037,757.5621,2015-01-01 02:06:19,bin7579,75, +abc,7580,7580,7580,1990-10-03,757.7000000001037,757.66205,2015-01-01 02:06:20,bin7580,35, +abc,7581,7581,7581,1990-10-04,757.8000000001038,757.762,2015-01-01 02:06:21,bin7581,75, +abc,7582,7582,7582,1990-10-05,757.9000000001038,757.862,2015-01-01 02:06:22,bin7582,35, +abc,7583,7583,7583,1990-10-06,758.0000000001038,757.962,2015-01-01 02:06:23,bin7583,75, +abc,7584,7584,7584,1990-10-07,758.1000000001038,758.06195,2015-01-01 02:06:24,bin7584,35, +abc,7585,7585,7585,1990-10-08,758.2000000001038,758.1619,2015-01-01 02:06:25,bin7585,75, +abc,7586,7586,7586,1990-10-09,758.3000000001039,758.2619,2015-01-01 02:06:26,bin7586,35, +abc,7587,7587,7587,1990-10-10,758.4000000001039,758.3619,2015-01-01 02:06:27,bin7587,75, +abc,7588,7588,7588,1990-10-11,758.5000000001039,758.46185,2015-01-01 02:06:28,bin7588,35, +abc,7589,7589,7589,1990-10-12,758.6000000001039,758.5618,2015-01-01 02:06:29,bin7589,75, +abc,7590,7590,7590,1990-10-13,758.700000000104,758.6618,2015-01-01 02:06:30,bin7590,35, +abc,7591,7591,7591,1990-10-14,758.800000000104,758.7618,2015-01-01 02:06:31,bin7591,75, +abc,7592,7592,7592,1990-10-15,758.900000000104,758.86176,2015-01-01 02:06:32,bin7592,35, +abc,7593,7593,7593,1990-10-16,759.000000000104,758.96173,2015-01-01 02:06:33,bin7593,75, +abc,7594,7594,7594,1990-10-17,759.100000000104,759.0617,2015-01-01 02:06:34,bin7594,35, +abc,7595,7595,7595,1990-10-18,759.2000000001041,759.1617,2015-01-01 02:06:35,bin7595,75, +abc,7596,7596,7596,1990-10-19,759.3000000001041,759.26166,2015-01-01 02:06:36,bin7596,35, +abc,7597,7597,7597,1990-10-20,759.4000000001041,759.36163,2015-01-01 02:06:37,bin7597,75, +abc,7598,7598,7598,1990-10-21,759.5000000001041,759.4616,2015-01-01 02:06:38,bin7598,35, +abc,7599,7599,7599,1990-10-22,759.6000000001042,759.5616,2015-01-01 02:06:39,bin7599,75, +abc,7600,7600,7600,1990-10-23,759.7000000001042,759.66156,2015-01-01 02:06:40,bin7600,35, +abc,7601,7601,7601,1990-10-24,759.8000000001042,759.76154,2015-01-01 02:06:41,bin7601,75, +abc,7602,7602,7602,1990-10-25,759.9000000001042,759.8615,2015-01-01 02:06:42,bin7602,35, +abc,7603,7603,7603,1990-10-26,760.0000000001043,759.9615,2015-01-01 02:06:43,bin7603,75, +abc,7604,7604,7604,1990-10-27,760.1000000001043,760.06146,2015-01-01 02:06:44,bin7604,35, +abc,7605,7605,7605,1990-10-28,760.2000000001043,760.16144,2015-01-01 02:06:45,bin7605,75, +abc,7606,7606,7606,1990-10-29,760.3000000001043,760.2614,2015-01-01 02:06:46,bin7606,35, +abc,7607,7607,7607,1990-10-30,760.4000000001043,760.3614,2015-01-01 02:06:47,bin7607,75, +abc,7608,7608,7608,1990-10-31,760.5000000001044,760.46136,2015-01-01 02:06:48,bin7608,35, +abc,7609,7609,7609,1990-11-01,760.6000000001044,760.56134,2015-01-01 02:06:49,bin7609,75, +abc,7610,7610,7610,1990-11-02,760.7000000001044,760.6613,2015-01-01 02:06:50,bin7610,35, +abc,7611,7611,7611,1990-11-03,760.8000000001044,760.7613,2015-01-01 02:06:51,bin7611,75, +abc,7612,7612,7612,1990-11-04,760.9000000001045,760.86127,2015-01-01 02:06:52,bin7612,35, +abc,7613,7613,7613,1990-11-05,761.0000000001045,760.96124,2015-01-01 02:06:53,bin7613,75, +abc,7614,7614,7614,1990-11-06,761.1000000001045,761.0612,2015-01-01 02:06:54,bin7614,35, +abc,7615,7615,7615,1990-11-07,761.2000000001045,761.1612,2015-01-01 02:06:55,bin7615,75, +abc,7616,7616,7616,1990-11-08,761.3000000001045,761.26117,2015-01-01 02:06:56,bin7616,35, +abc,7617,7617,7617,1990-11-09,761.4000000001046,761.36115,2015-01-01 02:06:57,bin7617,75, +abc,7618,7618,7618,1990-11-10,761.5000000001046,761.4611,2015-01-01 02:06:58,bin7618,35, +abc,7619,7619,7619,1990-11-11,761.6000000001046,761.5611,2015-01-01 02:06:59,bin7619,75, +abc,7620,7620,7620,1990-11-12,761.7000000001046,761.6611,2015-01-01 02:07:00,bin7620,35, +abc,7621,7621,7621,1990-11-13,761.8000000001047,761.76105,2015-01-01 02:07:01,bin7621,75, +abc,7622,7622,7622,1990-11-14,761.9000000001047,761.861,2015-01-01 02:07:02,bin7622,35, +abc,7623,7623,7623,1990-11-15,762.0000000001047,761.961,2015-01-01 02:07:03,bin7623,75, +abc,7624,7624,7624,1990-11-16,762.1000000001047,762.061,2015-01-01 02:07:04,bin7624,35, +abc,7625,7625,7625,1990-11-17,762.2000000001048,762.16095,2015-01-01 02:07:05,bin7625,75, +abc,7626,7626,7626,1990-11-18,762.3000000001048,762.2609,2015-01-01 02:07:06,bin7626,35, +abc,7627,7627,7627,1990-11-19,762.4000000001048,762.3609,2015-01-01 02:07:07,bin7627,75, +abc,7628,7628,7628,1990-11-20,762.5000000001048,762.4609,2015-01-01 02:07:08,bin7628,35, +abc,7629,7629,7629,1990-11-21,762.6000000001048,762.56085,2015-01-01 02:07:09,bin7629,75, +abc,7630,7630,7630,1990-11-22,762.7000000001049,762.6608,2015-01-01 02:07:10,bin7630,35, +abc,7631,7631,7631,1990-11-23,762.8000000001049,762.7608,2015-01-01 02:07:11,bin7631,75, +abc,7632,7632,7632,1990-11-24,762.9000000001049,762.8608,2015-01-01 02:07:12,bin7632,35, +abc,7633,7633,7633,1990-11-25,763.0000000001049,762.96075,2015-01-01 02:07:13,bin7633,75, +abc,7634,7634,7634,1990-11-26,763.100000000105,763.0607,2015-01-01 02:07:14,bin7634,35, +abc,7635,7635,7635,1990-11-27,763.200000000105,763.1607,2015-01-01 02:07:15,bin7635,75, +abc,7636,7636,7636,1990-11-28,763.300000000105,763.2607,2015-01-01 02:07:16,bin7636,35, +abc,7637,7637,7637,1990-11-29,763.400000000105,763.36066,2015-01-01 02:07:17,bin7637,75, +abc,7638,7638,7638,1990-11-30,763.500000000105,763.46063,2015-01-01 02:07:18,bin7638,35, +abc,7639,7639,7639,1990-12-01,763.6000000001051,763.5606,2015-01-01 02:07:19,bin7639,75, +abc,7640,7640,7640,1990-12-02,763.7000000001051,763.6606,2015-01-01 02:07:20,bin7640,35, +abc,7641,7641,7641,1990-12-03,763.8000000001051,763.76056,2015-01-01 02:07:21,bin7641,75, +abc,7642,7642,7642,1990-12-04,763.9000000001051,763.86053,2015-01-01 02:07:22,bin7642,35, +abc,7643,7643,7643,1990-12-05,764.0000000001052,763.9605,2015-01-01 02:07:23,bin7643,75, +abc,7644,7644,7644,1990-12-06,764.1000000001052,764.0605,2015-01-01 02:07:24,bin7644,35, +abc,7645,7645,7645,1990-12-07,764.2000000001052,764.16046,2015-01-01 02:07:25,bin7645,75, +abc,7646,7646,7646,1990-12-08,764.3000000001052,764.26044,2015-01-01 02:07:26,bin7646,35, +abc,7647,7647,7647,1990-12-09,764.4000000001053,764.3604,2015-01-01 02:07:27,bin7647,75, +abc,7648,7648,7648,1990-12-10,764.5000000001053,764.4604,2015-01-01 02:07:28,bin7648,35, +abc,7649,7649,7649,1990-12-11,764.6000000001053,764.56036,2015-01-01 02:07:29,bin7649,75, +abc,7650,7650,7650,1990-12-12,764.7000000001053,764.66034,2015-01-01 02:07:30,bin7650,35, +abc,7651,7651,7651,1990-12-13,764.8000000001053,764.7603,2015-01-01 02:07:31,bin7651,75, +abc,7652,7652,7652,1990-12-14,764.9000000001054,764.8603,2015-01-01 02:07:32,bin7652,35, +abc,7653,7653,7653,1990-12-15,765.0000000001054,764.96027,2015-01-01 02:07:33,bin7653,75, +abc,7654,7654,7654,1990-12-16,765.1000000001054,765.06024,2015-01-01 02:07:34,bin7654,35, +abc,7655,7655,7655,1990-12-17,765.2000000001054,765.1602,2015-01-01 02:07:35,bin7655,75, +abc,7656,7656,7656,1990-12-18,765.3000000001055,765.2602,2015-01-01 02:07:36,bin7656,35, +abc,7657,7657,7657,1990-12-19,765.4000000001055,765.36017,2015-01-01 02:07:37,bin7657,75, +abc,7658,7658,7658,1990-12-20,765.5000000001055,765.46014,2015-01-01 02:07:38,bin7658,35, +abc,7659,7659,7659,1990-12-21,765.6000000001055,765.5601,2015-01-01 02:07:39,bin7659,75, +abc,7660,7660,7660,1990-12-22,765.7000000001055,765.6601,2015-01-01 02:07:40,bin7660,35, +abc,7661,7661,7661,1990-12-23,765.8000000001056,765.7601,2015-01-01 02:07:41,bin7661,75, +abc,7662,7662,7662,1990-12-24,765.9000000001056,765.86005,2015-01-01 02:07:42,bin7662,35, +abc,7663,7663,7663,1990-12-25,766.0000000001056,765.96,2015-01-01 02:07:43,bin7663,75, +abc,7664,7664,7664,1990-12-26,766.1000000001056,766.06,2015-01-01 02:07:44,bin7664,35, +abc,7665,7665,7665,1990-12-27,766.2000000001057,766.16,2015-01-01 02:07:45,bin7665,75, +abc,7666,7666,7666,1990-12-28,766.3000000001057,766.25995,2015-01-01 02:07:46,bin7666,35, +abc,7667,7667,7667,1990-12-29,766.4000000001057,766.3599,2015-01-01 02:07:47,bin7667,75, +abc,7668,7668,7668,1990-12-30,766.5000000001057,766.4599,2015-01-01 02:07:48,bin7668,35, +abc,7669,7669,7669,1990-12-31,766.6000000001058,766.5599,2015-01-01 02:07:49,bin7669,75, +abc,7670,7670,7670,1991-01-01,766.7000000001058,766.65985,2015-01-01 02:07:50,bin7670,35, +abc,7671,7671,7671,1991-01-02,766.8000000001058,766.7598,2015-01-01 02:07:51,bin7671,75, +abc,7672,7672,7672,1991-01-03,766.9000000001058,766.8598,2015-01-01 02:07:52,bin7672,35, +abc,7673,7673,7673,1991-01-04,767.0000000001058,766.9598,2015-01-01 02:07:53,bin7673,75, +abc,7674,7674,7674,1991-01-05,767.1000000001059,767.05975,2015-01-01 02:07:54,bin7674,35, +abc,7675,7675,7675,1991-01-06,767.2000000001059,767.1597,2015-01-01 02:07:55,bin7675,75, +abc,7676,7676,7676,1991-01-07,767.3000000001059,767.2597,2015-01-01 02:07:56,bin7676,35, +abc,7677,7677,7677,1991-01-08,767.4000000001059,767.3597,2015-01-01 02:07:57,bin7677,75, +abc,7678,7678,7678,1991-01-09,767.500000000106,767.45966,2015-01-01 02:07:58,bin7678,35, +abc,7679,7679,7679,1991-01-10,767.600000000106,767.55963,2015-01-01 02:07:59,bin7679,75, +abc,7680,7680,7680,1991-01-11,767.700000000106,767.6596,2015-01-01 02:08:00,bin7680,35, +abc,7681,7681,7681,1991-01-12,767.800000000106,767.7596,2015-01-01 02:08:01,bin7681,75, +abc,7682,7682,7682,1991-01-13,767.900000000106,767.85956,2015-01-01 02:08:02,bin7682,35, +abc,7683,7683,7683,1991-01-14,768.0000000001061,767.95953,2015-01-01 02:08:03,bin7683,75, +abc,7684,7684,7684,1991-01-15,768.1000000001061,768.0595,2015-01-01 02:08:04,bin7684,35, +abc,7685,7685,7685,1991-01-16,768.2000000001061,768.1595,2015-01-01 02:08:05,bin7685,75, +abc,7686,7686,7686,1991-01-17,768.3000000001061,768.25946,2015-01-01 02:08:06,bin7686,35, +abc,7687,7687,7687,1991-01-18,768.4000000001062,768.35944,2015-01-01 02:08:07,bin7687,75, +abc,7688,7688,7688,1991-01-19,768.5000000001062,768.4594,2015-01-01 02:08:08,bin7688,35, +abc,7689,7689,7689,1991-01-20,768.6000000001062,768.5594,2015-01-01 02:08:09,bin7689,75, +abc,7690,7690,7690,1991-01-21,768.7000000001062,768.65936,2015-01-01 02:08:10,bin7690,35, +abc,7691,7691,7691,1991-01-22,768.8000000001063,768.75934,2015-01-01 02:08:11,bin7691,75, +abc,7692,7692,7692,1991-01-23,768.9000000001063,768.8593,2015-01-01 02:08:12,bin7692,35, +abc,7693,7693,7693,1991-01-24,769.0000000001063,768.9593,2015-01-01 02:08:13,bin7693,75, +abc,7694,7694,7694,1991-01-25,769.1000000001063,769.05927,2015-01-01 02:08:14,bin7694,35, +abc,7695,7695,7695,1991-01-26,769.2000000001063,769.15924,2015-01-01 02:08:15,bin7695,75, +abc,7696,7696,7696,1991-01-27,769.3000000001064,769.2592,2015-01-01 02:08:16,bin7696,35, +abc,7697,7697,7697,1991-01-28,769.4000000001064,769.3592,2015-01-01 02:08:17,bin7697,75, +abc,7698,7698,7698,1991-01-29,769.5000000001064,769.45917,2015-01-01 02:08:18,bin7698,35, +abc,7699,7699,7699,1991-01-30,769.6000000001064,769.55914,2015-01-01 02:08:19,bin7699,75, +abc,7700,7700,7700,1991-01-31,769.7000000001065,769.6591,2015-01-01 02:08:20,bin7700,35, +abc,7701,7701,7701,1991-02-01,769.8000000001065,769.7591,2015-01-01 02:08:21,bin7701,75, +abc,7702,7702,7702,1991-02-02,769.9000000001065,769.8591,2015-01-01 02:08:22,bin7702,35, +abc,7703,7703,7703,1991-02-03,770.0000000001065,769.95905,2015-01-01 02:08:23,bin7703,75, +abc,7704,7704,7704,1991-02-04,770.1000000001065,770.059,2015-01-01 02:08:24,bin7704,35, +abc,7705,7705,7705,1991-02-05,770.2000000001066,770.159,2015-01-01 02:08:25,bin7705,75, +abc,7706,7706,7706,1991-02-06,770.3000000001066,770.259,2015-01-01 02:08:26,bin7706,35, +abc,7707,7707,7707,1991-02-07,770.4000000001066,770.35895,2015-01-01 02:08:27,bin7707,75, +abc,7708,7708,7708,1991-02-08,770.5000000001066,770.4589,2015-01-01 02:08:28,bin7708,35, +abc,7709,7709,7709,1991-02-09,770.6000000001067,770.5589,2015-01-01 02:08:29,bin7709,75, +abc,7710,7710,7710,1991-02-10,770.7000000001067,770.6589,2015-01-01 02:08:30,bin7710,35, +abc,7711,7711,7711,1991-02-11,770.8000000001067,770.75885,2015-01-01 02:08:31,bin7711,75, +abc,7712,7712,7712,1991-02-12,770.9000000001067,770.8588,2015-01-01 02:08:32,bin7712,35, +abc,7713,7713,7713,1991-02-13,771.0000000001068,770.9588,2015-01-01 02:08:33,bin7713,75, +abc,7714,7714,7714,1991-02-14,771.1000000001068,771.0588,2015-01-01 02:08:34,bin7714,35, +abc,7715,7715,7715,1991-02-15,771.2000000001068,771.15875,2015-01-01 02:08:35,bin7715,75, +abc,7716,7716,7716,1991-02-16,771.3000000001068,771.2587,2015-01-01 02:08:36,bin7716,35, +abc,7717,7717,7717,1991-02-17,771.4000000001068,771.3587,2015-01-01 02:08:37,bin7717,75, +abc,7718,7718,7718,1991-02-18,771.5000000001069,771.4587,2015-01-01 02:08:38,bin7718,35, +abc,7719,7719,7719,1991-02-19,771.6000000001069,771.55865,2015-01-01 02:08:39,bin7719,75, +abc,7720,7720,7720,1991-02-20,771.7000000001069,771.6586,2015-01-01 02:08:40,bin7720,35, +abc,7721,7721,7721,1991-02-21,771.8000000001069,771.7586,2015-01-01 02:08:41,bin7721,75, +abc,7722,7722,7722,1991-02-22,771.900000000107,771.8586,2015-01-01 02:08:42,bin7722,35, +abc,7723,7723,7723,1991-02-23,772.000000000107,771.95856,2015-01-01 02:08:43,bin7723,75, +abc,7724,7724,7724,1991-02-24,772.100000000107,772.05853,2015-01-01 02:08:44,bin7724,35, +abc,7725,7725,7725,1991-02-25,772.200000000107,772.1585,2015-01-01 02:08:45,bin7725,75, +abc,7726,7726,7726,1991-02-26,772.300000000107,772.2585,2015-01-01 02:08:46,bin7726,35, +abc,7727,7727,7727,1991-02-27,772.4000000001071,772.35846,2015-01-01 02:08:47,bin7727,75, +abc,7728,7728,7728,1991-02-28,772.5000000001071,772.45844,2015-01-01 02:08:48,bin7728,35, +abc,7729,7729,7729,1991-03-01,772.6000000001071,772.5584,2015-01-01 02:08:49,bin7729,75, +abc,7730,7730,7730,1991-03-02,772.7000000001071,772.6584,2015-01-01 02:08:50,bin7730,35, +abc,7731,7731,7731,1991-03-03,772.8000000001072,772.75836,2015-01-01 02:08:51,bin7731,75, +abc,7732,7732,7732,1991-03-04,772.9000000001072,772.85834,2015-01-01 02:08:52,bin7732,35, +abc,7733,7733,7733,1991-03-05,773.0000000001072,772.9583,2015-01-01 02:08:53,bin7733,75, +abc,7734,7734,7734,1991-03-06,773.1000000001072,773.0583,2015-01-01 02:08:54,bin7734,35, +abc,7735,7735,7735,1991-03-07,773.2000000001073,773.15826,2015-01-01 02:08:55,bin7735,75, +abc,7736,7736,7736,1991-03-08,773.3000000001073,773.25824,2015-01-01 02:08:56,bin7736,35, +abc,7737,7737,7737,1991-03-09,773.4000000001073,773.3582,2015-01-01 02:08:57,bin7737,75, +abc,7738,7738,7738,1991-03-10,773.5000000001073,773.4582,2015-01-01 02:08:58,bin7738,35, +abc,7739,7739,7739,1991-03-11,773.6000000001073,773.55817,2015-01-01 02:08:59,bin7739,75, +abc,7740,7740,7740,1991-03-12,773.7000000001074,773.65814,2015-01-01 02:09:00,bin7740,35, +abc,7741,7741,7741,1991-03-13,773.8000000001074,773.7581,2015-01-01 02:09:01,bin7741,75, +abc,7742,7742,7742,1991-03-14,773.9000000001074,773.8581,2015-01-01 02:09:02,bin7742,35, +abc,7743,7743,7743,1991-03-15,774.0000000001074,773.95807,2015-01-01 02:09:03,bin7743,75, +abc,7744,7744,7744,1991-03-16,774.1000000001075,774.05804,2015-01-01 02:09:04,bin7744,35, +abc,7745,7745,7745,1991-03-17,774.2000000001075,774.158,2015-01-01 02:09:05,bin7745,75, +abc,7746,7746,7746,1991-03-18,774.3000000001075,774.258,2015-01-01 02:09:06,bin7746,35, +abc,7747,7747,7747,1991-03-19,774.4000000001075,774.358,2015-01-01 02:09:07,bin7747,75, +abc,7748,7748,7748,1991-03-20,774.5000000001075,774.45795,2015-01-01 02:09:08,bin7748,35, +abc,7749,7749,7749,1991-03-21,774.6000000001076,774.5579,2015-01-01 02:09:09,bin7749,75, +abc,7750,7750,7750,1991-03-22,774.7000000001076,774.6579,2015-01-01 02:09:10,bin7750,35, +abc,7751,7751,7751,1991-03-23,774.8000000001076,774.7579,2015-01-01 02:09:11,bin7751,75, +abc,7752,7752,7752,1991-03-24,774.9000000001076,774.85785,2015-01-01 02:09:12,bin7752,35, +abc,7753,7753,7753,1991-03-25,775.0000000001077,774.9578,2015-01-01 02:09:13,bin7753,75, +abc,7754,7754,7754,1991-03-26,775.1000000001077,775.0578,2015-01-01 02:09:14,bin7754,35, +abc,7755,7755,7755,1991-03-27,775.2000000001077,775.1578,2015-01-01 02:09:15,bin7755,75, +abc,7756,7756,7756,1991-03-28,775.3000000001077,775.25775,2015-01-01 02:09:16,bin7756,35, +abc,7757,7757,7757,1991-03-29,775.4000000001078,775.3577,2015-01-01 02:09:17,bin7757,75, +abc,7758,7758,7758,1991-03-30,775.5000000001078,775.4577,2015-01-01 02:09:18,bin7758,35, +abc,7759,7759,7759,1991-03-31,775.6000000001078,775.5577,2015-01-01 02:09:19,bin7759,75, +abc,7760,7760,7760,1991-04-01,775.7000000001078,775.65765,2015-01-01 02:09:20,bin7760,35, +abc,7761,7761,7761,1991-04-02,775.8000000001078,775.7576,2015-01-01 02:09:21,bin7761,75, +abc,7762,7762,7762,1991-04-03,775.9000000001079,775.8576,2015-01-01 02:09:22,bin7762,35, +abc,7763,7763,7763,1991-04-04,776.0000000001079,775.9576,2015-01-01 02:09:23,bin7763,75, +abc,7764,7764,7764,1991-04-05,776.1000000001079,776.05756,2015-01-01 02:09:24,bin7764,35, +abc,7765,7765,7765,1991-04-06,776.2000000001079,776.15753,2015-01-01 02:09:25,bin7765,75, +abc,7766,7766,7766,1991-04-07,776.300000000108,776.2575,2015-01-01 02:09:26,bin7766,35, +abc,7767,7767,7767,1991-04-08,776.400000000108,776.3575,2015-01-01 02:09:27,bin7767,75, +abc,7768,7768,7768,1991-04-09,776.500000000108,776.45746,2015-01-01 02:09:28,bin7768,35, +abc,7769,7769,7769,1991-04-10,776.600000000108,776.55743,2015-01-01 02:09:29,bin7769,75, +abc,7770,7770,7770,1991-04-11,776.700000000108,776.6574,2015-01-01 02:09:30,bin7770,35, +abc,7771,7771,7771,1991-04-12,776.8000000001081,776.7574,2015-01-01 02:09:31,bin7771,75, +abc,7772,7772,7772,1991-04-13,776.9000000001081,776.85736,2015-01-01 02:09:32,bin7772,35, +abc,7773,7773,7773,1991-04-14,777.0000000001081,776.95734,2015-01-01 02:09:33,bin7773,75, +abc,7774,7774,7774,1991-04-15,777.1000000001081,777.0573,2015-01-01 02:09:34,bin7774,35, +abc,7775,7775,7775,1991-04-16,777.2000000001082,777.1573,2015-01-01 02:09:35,bin7775,75, +abc,7776,7776,7776,1991-04-17,777.3000000001082,777.25726,2015-01-01 02:09:36,bin7776,35, +abc,7777,7777,7777,1991-04-18,777.4000000001082,777.35724,2015-01-01 02:09:37,bin7777,75, +abc,7778,7778,7778,1991-04-19,777.5000000001082,777.4572,2015-01-01 02:09:38,bin7778,35, +abc,7779,7779,7779,1991-04-20,777.6000000001083,777.5572,2015-01-01 02:09:39,bin7779,75, +abc,7780,7780,7780,1991-04-21,777.7000000001083,777.65717,2015-01-01 02:09:40,bin7780,35, +abc,7781,7781,7781,1991-04-22,777.8000000001083,777.75714,2015-01-01 02:09:41,bin7781,75, +abc,7782,7782,7782,1991-04-23,777.9000000001083,777.8571,2015-01-01 02:09:42,bin7782,35, +abc,7783,7783,7783,1991-04-24,778.0000000001083,777.9571,2015-01-01 02:09:43,bin7783,75, +abc,7784,7784,7784,1991-04-25,778.1000000001084,778.05707,2015-01-01 02:09:44,bin7784,35, +abc,7785,7785,7785,1991-04-26,778.2000000001084,778.15704,2015-01-01 02:09:45,bin7785,75, +abc,7786,7786,7786,1991-04-27,778.3000000001084,778.257,2015-01-01 02:09:46,bin7786,35, +abc,7787,7787,7787,1991-04-28,778.4000000001084,778.357,2015-01-01 02:09:47,bin7787,75, +abc,7788,7788,7788,1991-04-29,778.5000000001085,778.457,2015-01-01 02:09:48,bin7788,35, +abc,7789,7789,7789,1991-04-30,778.6000000001085,778.55695,2015-01-01 02:09:49,bin7789,75, +abc,7790,7790,7790,1991-05-01,778.7000000001085,778.6569,2015-01-01 02:09:50,bin7790,35, +abc,7791,7791,7791,1991-05-02,778.8000000001085,778.7569,2015-01-01 02:09:51,bin7791,75, +abc,7792,7792,7792,1991-05-03,778.9000000001085,778.8569,2015-01-01 02:09:52,bin7792,35, +abc,7793,7793,7793,1991-05-04,779.0000000001086,778.95685,2015-01-01 02:09:53,bin7793,75, +abc,7794,7794,7794,1991-05-05,779.1000000001086,779.0568,2015-01-01 02:09:54,bin7794,35, +abc,7795,7795,7795,1991-05-06,779.2000000001086,779.1568,2015-01-01 02:09:55,bin7795,75, +abc,7796,7796,7796,1991-05-07,779.3000000001086,779.2568,2015-01-01 02:09:56,bin7796,35, +abc,7797,7797,7797,1991-05-08,779.4000000001087,779.35675,2015-01-01 02:09:57,bin7797,75, +abc,7798,7798,7798,1991-05-09,779.5000000001087,779.4567,2015-01-01 02:09:58,bin7798,35, +abc,7799,7799,7799,1991-05-10,779.6000000001087,779.5567,2015-01-01 02:09:59,bin7799,75, +abc,7800,7800,7800,1991-05-11,779.7000000001087,779.6567,2015-01-01 02:10:00,bin7800,35, +abc,7801,7801,7801,1991-05-12,779.8000000001088,779.75665,2015-01-01 02:10:01,bin7801,75, +abc,7802,7802,7802,1991-05-13,779.9000000001088,779.8566,2015-01-01 02:10:02,bin7802,35, +abc,7803,7803,7803,1991-05-14,780.0000000001088,779.9566,2015-01-01 02:10:03,bin7803,75, +abc,7804,7804,7804,1991-05-15,780.1000000001088,780.0566,2015-01-01 02:10:04,bin7804,35, +abc,7805,7805,7805,1991-05-16,780.2000000001088,780.15656,2015-01-01 02:10:05,bin7805,75, +abc,7806,7806,7806,1991-05-17,780.3000000001089,780.25653,2015-01-01 02:10:06,bin7806,35, +abc,7807,7807,7807,1991-05-18,780.4000000001089,780.3565,2015-01-01 02:10:07,bin7807,75, +abc,7808,7808,7808,1991-05-19,780.5000000001089,780.4565,2015-01-01 02:10:08,bin7808,35, +abc,7809,7809,7809,1991-05-20,780.6000000001089,780.55646,2015-01-01 02:10:09,bin7809,75, +abc,7810,7810,7810,1991-05-21,780.700000000109,780.65643,2015-01-01 02:10:10,bin7810,35, +abc,7811,7811,7811,1991-05-22,780.800000000109,780.7564,2015-01-01 02:10:11,bin7811,75, +abc,7812,7812,7812,1991-05-23,780.900000000109,780.8564,2015-01-01 02:10:12,bin7812,35, +abc,7813,7813,7813,1991-05-24,781.000000000109,780.95636,2015-01-01 02:10:13,bin7813,75, +abc,7814,7814,7814,1991-05-25,781.100000000109,781.05634,2015-01-01 02:10:14,bin7814,35, +abc,7815,7815,7815,1991-05-26,781.2000000001091,781.1563,2015-01-01 02:10:15,bin7815,75, +abc,7816,7816,7816,1991-05-27,781.3000000001091,781.2563,2015-01-01 02:10:16,bin7816,35, +abc,7817,7817,7817,1991-05-28,781.4000000001091,781.35626,2015-01-01 02:10:17,bin7817,75, +abc,7818,7818,7818,1991-05-29,781.5000000001091,781.45624,2015-01-01 02:10:18,bin7818,35, +abc,7819,7819,7819,1991-05-30,781.6000000001092,781.5562,2015-01-01 02:10:19,bin7819,75, +abc,7820,7820,7820,1991-05-31,781.7000000001092,781.6562,2015-01-01 02:10:20,bin7820,35, +abc,7821,7821,7821,1991-06-01,781.8000000001092,781.75616,2015-01-01 02:10:21,bin7821,75, +abc,7822,7822,7822,1991-06-02,781.9000000001092,781.85614,2015-01-01 02:10:22,bin7822,35, +abc,7823,7823,7823,1991-06-03,782.0000000001093,781.9561,2015-01-01 02:10:23,bin7823,75, +abc,7824,7824,7824,1991-06-04,782.1000000001093,782.0561,2015-01-01 02:10:24,bin7824,35, +abc,7825,7825,7825,1991-06-05,782.2000000001093,782.15607,2015-01-01 02:10:25,bin7825,75, +abc,7826,7826,7826,1991-06-06,782.3000000001093,782.25604,2015-01-01 02:10:26,bin7826,35, +abc,7827,7827,7827,1991-06-07,782.4000000001093,782.356,2015-01-01 02:10:27,bin7827,75, +abc,7828,7828,7828,1991-06-08,782.5000000001094,782.456,2015-01-01 02:10:28,bin7828,35, +abc,7829,7829,7829,1991-06-09,782.6000000001094,782.55597,2015-01-01 02:10:29,bin7829,75, +abc,7830,7830,7830,1991-06-10,782.7000000001094,782.65594,2015-01-01 02:10:30,bin7830,35, +abc,7831,7831,7831,1991-06-11,782.8000000001094,782.7559,2015-01-01 02:10:31,bin7831,75, +abc,7832,7832,7832,1991-06-12,782.9000000001095,782.8559,2015-01-01 02:10:32,bin7832,35, +abc,7833,7833,7833,1991-06-13,783.0000000001095,782.9559,2015-01-01 02:10:33,bin7833,75, +abc,7834,7834,7834,1991-06-14,783.1000000001095,783.05585,2015-01-01 02:10:34,bin7834,35, +abc,7835,7835,7835,1991-06-15,783.2000000001095,783.1558,2015-01-01 02:10:35,bin7835,75, +abc,7836,7836,7836,1991-06-16,783.3000000001095,783.2558,2015-01-01 02:10:36,bin7836,35, +abc,7837,7837,7837,1991-06-17,783.4000000001096,783.3558,2015-01-01 02:10:37,bin7837,75, +abc,7838,7838,7838,1991-06-18,783.5000000001096,783.45575,2015-01-01 02:10:38,bin7838,35, +abc,7839,7839,7839,1991-06-19,783.6000000001096,783.5557,2015-01-01 02:10:39,bin7839,75, +abc,7840,7840,7840,1991-06-20,783.7000000001096,783.6557,2015-01-01 02:10:40,bin7840,35, +abc,7841,7841,7841,1991-06-21,783.8000000001097,783.7557,2015-01-01 02:10:41,bin7841,75, +abc,7842,7842,7842,1991-06-22,783.9000000001097,783.85565,2015-01-01 02:10:42,bin7842,35, +abc,7843,7843,7843,1991-06-23,784.0000000001097,783.9556,2015-01-01 02:10:43,bin7843,75, +abc,7844,7844,7844,1991-06-24,784.1000000001097,784.0556,2015-01-01 02:10:44,bin7844,35, +abc,7845,7845,7845,1991-06-25,784.2000000001098,784.1556,2015-01-01 02:10:45,bin7845,75, +abc,7846,7846,7846,1991-06-26,784.3000000001098,784.25555,2015-01-01 02:10:46,bin7846,35, +abc,7847,7847,7847,1991-06-27,784.4000000001098,784.3555,2015-01-01 02:10:47,bin7847,75, +abc,7848,7848,7848,1991-06-28,784.5000000001098,784.4555,2015-01-01 02:10:48,bin7848,35, +abc,7849,7849,7849,1991-06-29,784.6000000001098,784.5555,2015-01-01 02:10:49,bin7849,75, +abc,7850,7850,7850,1991-06-30,784.7000000001099,784.65546,2015-01-01 02:10:50,bin7850,35, +abc,7851,7851,7851,1991-07-01,784.8000000001099,784.75543,2015-01-01 02:10:51,bin7851,75, +abc,7852,7852,7852,1991-07-02,784.9000000001099,784.8554,2015-01-01 02:10:52,bin7852,35, +abc,7853,7853,7853,1991-07-03,785.0000000001099,784.9554,2015-01-01 02:10:53,bin7853,75, +abc,7854,7854,7854,1991-07-04,785.10000000011,785.05536,2015-01-01 02:10:54,bin7854,35, +abc,7855,7855,7855,1991-07-05,785.20000000011,785.15533,2015-01-01 02:10:55,bin7855,75, +abc,7856,7856,7856,1991-07-06,785.30000000011,785.2553,2015-01-01 02:10:56,bin7856,35, +abc,7857,7857,7857,1991-07-07,785.40000000011,785.3553,2015-01-01 02:10:57,bin7857,75, +abc,7858,7858,7858,1991-07-08,785.50000000011,785.45526,2015-01-01 02:10:58,bin7858,35, +abc,7859,7859,7859,1991-07-09,785.6000000001101,785.55524,2015-01-01 02:10:59,bin7859,75, +abc,7860,7860,7860,1991-07-10,785.7000000001101,785.6552,2015-01-01 02:11:00,bin7860,35, +abc,7861,7861,7861,1991-07-11,785.8000000001101,785.7552,2015-01-01 02:11:01,bin7861,75, +abc,7862,7862,7862,1991-07-12,785.9000000001101,785.85516,2015-01-01 02:11:02,bin7862,35, +abc,7863,7863,7863,1991-07-13,786.0000000001102,785.95514,2015-01-01 02:11:03,bin7863,75, +abc,7864,7864,7864,1991-07-14,786.1000000001102,786.0551,2015-01-01 02:11:04,bin7864,35, +abc,7865,7865,7865,1991-07-15,786.2000000001102,786.1551,2015-01-01 02:11:05,bin7865,75, +abc,7866,7866,7866,1991-07-16,786.3000000001102,786.25507,2015-01-01 02:11:06,bin7866,35, +abc,7867,7867,7867,1991-07-17,786.4000000001103,786.35504,2015-01-01 02:11:07,bin7867,75, +abc,7868,7868,7868,1991-07-18,786.5000000001103,786.455,2015-01-01 02:11:08,bin7868,35, +abc,7869,7869,7869,1991-07-19,786.6000000001103,786.555,2015-01-01 02:11:09,bin7869,75, +abc,7870,7870,7870,1991-07-20,786.7000000001103,786.65497,2015-01-01 02:11:10,bin7870,35, +abc,7871,7871,7871,1991-07-21,786.8000000001103,786.75494,2015-01-01 02:11:11,bin7871,75, +abc,7872,7872,7872,1991-07-22,786.9000000001104,786.8549,2015-01-01 02:11:12,bin7872,35, +abc,7873,7873,7873,1991-07-23,787.0000000001104,786.9549,2015-01-01 02:11:13,bin7873,75, +abc,7874,7874,7874,1991-07-24,787.1000000001104,787.0549,2015-01-01 02:11:14,bin7874,35, +abc,7875,7875,7875,1991-07-25,787.2000000001104,787.15485,2015-01-01 02:11:15,bin7875,75, +abc,7876,7876,7876,1991-07-26,787.3000000001105,787.2548,2015-01-01 02:11:16,bin7876,35, +abc,7877,7877,7877,1991-07-27,787.4000000001105,787.3548,2015-01-01 02:11:17,bin7877,75, +abc,7878,7878,7878,1991-07-28,787.5000000001105,787.4548,2015-01-01 02:11:18,bin7878,35, +abc,7879,7879,7879,1991-07-29,787.6000000001105,787.55475,2015-01-01 02:11:19,bin7879,75, +abc,7880,7880,7880,1991-07-30,787.7000000001105,787.6547,2015-01-01 02:11:20,bin7880,35, +abc,7881,7881,7881,1991-07-31,787.8000000001106,787.7547,2015-01-01 02:11:21,bin7881,75, +abc,7882,7882,7882,1991-08-01,787.9000000001106,787.8547,2015-01-01 02:11:22,bin7882,35, +abc,7883,7883,7883,1991-08-02,788.0000000001106,787.95465,2015-01-01 02:11:23,bin7883,75, +abc,7884,7884,7884,1991-08-03,788.1000000001106,788.0546,2015-01-01 02:11:24,bin7884,35, +abc,7885,7885,7885,1991-08-04,788.2000000001107,788.1546,2015-01-01 02:11:25,bin7885,75, +abc,7886,7886,7886,1991-08-05,788.3000000001107,788.2546,2015-01-01 02:11:26,bin7886,35, +abc,7887,7887,7887,1991-08-06,788.4000000001107,788.35455,2015-01-01 02:11:27,bin7887,75, +abc,7888,7888,7888,1991-08-07,788.5000000001107,788.4545,2015-01-01 02:11:28,bin7888,35, +abc,7889,7889,7889,1991-08-08,788.6000000001108,788.5545,2015-01-01 02:11:29,bin7889,75, +abc,7890,7890,7890,1991-08-09,788.7000000001108,788.6545,2015-01-01 02:11:30,bin7890,35, +abc,7891,7891,7891,1991-08-10,788.8000000001108,788.75446,2015-01-01 02:11:31,bin7891,75, +abc,7892,7892,7892,1991-08-11,788.9000000001108,788.85443,2015-01-01 02:11:32,bin7892,35, +abc,7893,7893,7893,1991-08-12,789.0000000001108,788.9544,2015-01-01 02:11:33,bin7893,75, +abc,7894,7894,7894,1991-08-13,789.1000000001109,789.0544,2015-01-01 02:11:34,bin7894,35, +abc,7895,7895,7895,1991-08-14,789.2000000001109,789.15436,2015-01-01 02:11:35,bin7895,75, +abc,7896,7896,7896,1991-08-15,789.3000000001109,789.25433,2015-01-01 02:11:36,bin7896,35, +abc,7897,7897,7897,1991-08-16,789.4000000001109,789.3543,2015-01-01 02:11:37,bin7897,75, +abc,7898,7898,7898,1991-08-17,789.500000000111,789.4543,2015-01-01 02:11:38,bin7898,35, +abc,7899,7899,7899,1991-08-18,789.600000000111,789.55426,2015-01-01 02:11:39,bin7899,75, +abc,7900,7900,7900,1991-08-19,789.700000000111,789.65424,2015-01-01 02:11:40,bin7900,35, +abc,7901,7901,7901,1991-08-20,789.800000000111,789.7542,2015-01-01 02:11:41,bin7901,75, +abc,7902,7902,7902,1991-08-21,789.900000000111,789.8542,2015-01-01 02:11:42,bin7902,35, +abc,7903,7903,7903,1991-08-22,790.0000000001111,789.95416,2015-01-01 02:11:43,bin7903,75, +abc,7904,7904,7904,1991-08-23,790.1000000001111,790.05414,2015-01-01 02:11:44,bin7904,35, +abc,7905,7905,7905,1991-08-24,790.2000000001111,790.1541,2015-01-01 02:11:45,bin7905,75, +abc,7906,7906,7906,1991-08-25,790.3000000001111,790.2541,2015-01-01 02:11:46,bin7906,35, +abc,7907,7907,7907,1991-08-26,790.4000000001112,790.35406,2015-01-01 02:11:47,bin7907,75, +abc,7908,7908,7908,1991-08-27,790.5000000001112,790.45404,2015-01-01 02:11:48,bin7908,35, +abc,7909,7909,7909,1991-08-28,790.6000000001112,790.554,2015-01-01 02:11:49,bin7909,75, +abc,7910,7910,7910,1991-08-29,790.7000000001112,790.654,2015-01-01 02:11:50,bin7910,35, +abc,7911,7911,7911,1991-08-30,790.8000000001113,790.75397,2015-01-01 02:11:51,bin7911,75, +abc,7912,7912,7912,1991-08-31,790.9000000001113,790.85394,2015-01-01 02:11:52,bin7912,35, +abc,7913,7913,7913,1991-09-01,791.0000000001113,790.9539,2015-01-01 02:11:53,bin7913,75, +abc,7914,7914,7914,1991-09-02,791.1000000001113,791.0539,2015-01-01 02:11:54,bin7914,35, +abc,7915,7915,7915,1991-09-03,791.2000000001113,791.1539,2015-01-01 02:11:55,bin7915,75, +abc,7916,7916,7916,1991-09-04,791.3000000001114,791.25385,2015-01-01 02:11:56,bin7916,35, +abc,7917,7917,7917,1991-09-05,791.4000000001114,791.3538,2015-01-01 02:11:57,bin7917,75, +abc,7918,7918,7918,1991-09-06,791.5000000001114,791.4538,2015-01-01 02:11:58,bin7918,35, +abc,7919,7919,7919,1991-09-07,791.6000000001114,791.5538,2015-01-01 02:11:59,bin7919,75, +abc,7920,7920,7920,1991-09-08,791.7000000001115,791.65375,2015-01-01 02:12:00,bin7920,35, +abc,7921,7921,7921,1991-09-09,791.8000000001115,791.7537,2015-01-01 02:12:01,bin7921,75, +abc,7922,7922,7922,1991-09-10,791.9000000001115,791.8537,2015-01-01 02:12:02,bin7922,35, +abc,7923,7923,7923,1991-09-11,792.0000000001115,791.9537,2015-01-01 02:12:03,bin7923,75, +abc,7924,7924,7924,1991-09-12,792.1000000001115,792.05365,2015-01-01 02:12:04,bin7924,35, +abc,7925,7925,7925,1991-09-13,792.2000000001116,792.1536,2015-01-01 02:12:05,bin7925,75, +abc,7926,7926,7926,1991-09-14,792.3000000001116,792.2536,2015-01-01 02:12:06,bin7926,35, +abc,7927,7927,7927,1991-09-15,792.4000000001116,792.3536,2015-01-01 02:12:07,bin7927,75, +abc,7928,7928,7928,1991-09-16,792.5000000001116,792.45355,2015-01-01 02:12:08,bin7928,35, +abc,7929,7929,7929,1991-09-17,792.6000000001117,792.5535,2015-01-01 02:12:09,bin7929,75, +abc,7930,7930,7930,1991-09-18,792.7000000001117,792.6535,2015-01-01 02:12:10,bin7930,35, +abc,7931,7931,7931,1991-09-19,792.8000000001117,792.7535,2015-01-01 02:12:11,bin7931,75, +abc,7932,7932,7932,1991-09-20,792.9000000001117,792.85345,2015-01-01 02:12:12,bin7932,35, +abc,7933,7933,7933,1991-09-21,793.0000000001118,792.9534,2015-01-01 02:12:13,bin7933,75, +abc,7934,7934,7934,1991-09-22,793.1000000001118,793.0534,2015-01-01 02:12:14,bin7934,35, +abc,7935,7935,7935,1991-09-23,793.2000000001118,793.1534,2015-01-01 02:12:15,bin7935,75, +abc,7936,7936,7936,1991-09-24,793.3000000001118,793.25336,2015-01-01 02:12:16,bin7936,35, +abc,7937,7937,7937,1991-09-25,793.4000000001118,793.35333,2015-01-01 02:12:17,bin7937,75, +abc,7938,7938,7938,1991-09-26,793.5000000001119,793.4533,2015-01-01 02:12:18,bin7938,35, +abc,7939,7939,7939,1991-09-27,793.6000000001119,793.5533,2015-01-01 02:12:19,bin7939,75, +abc,7940,7940,7940,1991-09-28,793.7000000001119,793.65326,2015-01-01 02:12:20,bin7940,35, +abc,7941,7941,7941,1991-09-29,793.8000000001119,793.75323,2015-01-01 02:12:21,bin7941,75, +abc,7942,7942,7942,1991-09-30,793.900000000112,793.8532,2015-01-01 02:12:22,bin7942,35, +abc,7943,7943,7943,1991-10-01,794.000000000112,793.9532,2015-01-01 02:12:23,bin7943,75, +abc,7944,7944,7944,1991-10-02,794.100000000112,794.05316,2015-01-01 02:12:24,bin7944,35, +abc,7945,7945,7945,1991-10-03,794.200000000112,794.15314,2015-01-01 02:12:25,bin7945,75, +abc,7946,7946,7946,1991-10-04,794.300000000112,794.2531,2015-01-01 02:12:26,bin7946,35, +abc,7947,7947,7947,1991-10-05,794.4000000001121,794.3531,2015-01-01 02:12:27,bin7947,75, +abc,7948,7948,7948,1991-10-06,794.5000000001121,794.45306,2015-01-01 02:12:28,bin7948,35, +abc,7949,7949,7949,1991-10-07,794.6000000001121,794.55304,2015-01-01 02:12:29,bin7949,75, +abc,7950,7950,7950,1991-10-08,794.7000000001121,794.653,2015-01-01 02:12:30,bin7950,35, +abc,7951,7951,7951,1991-10-09,794.8000000001122,794.753,2015-01-01 02:12:31,bin7951,75, +abc,7952,7952,7952,1991-10-10,794.9000000001122,794.85297,2015-01-01 02:12:32,bin7952,35, +abc,7953,7953,7953,1991-10-11,795.0000000001122,794.95294,2015-01-01 02:12:33,bin7953,75, +abc,7954,7954,7954,1991-10-12,795.1000000001122,795.0529,2015-01-01 02:12:34,bin7954,35, +abc,7955,7955,7955,1991-10-13,795.2000000001123,795.1529,2015-01-01 02:12:35,bin7955,75, +abc,7956,7956,7956,1991-10-14,795.3000000001123,795.25287,2015-01-01 02:12:36,bin7956,35, +abc,7957,7957,7957,1991-10-15,795.4000000001123,795.35284,2015-01-01 02:12:37,bin7957,75, +abc,7958,7958,7958,1991-10-16,795.5000000001123,795.4528,2015-01-01 02:12:38,bin7958,35, +abc,7959,7959,7959,1991-10-17,795.6000000001123,795.5528,2015-01-01 02:12:39,bin7959,75, +abc,7960,7960,7960,1991-10-18,795.7000000001124,795.6528,2015-01-01 02:12:40,bin7960,35, +abc,7961,7961,7961,1991-10-19,795.8000000001124,795.75275,2015-01-01 02:12:41,bin7961,75, +abc,7962,7962,7962,1991-10-20,795.9000000001124,795.8527,2015-01-01 02:12:42,bin7962,35, +abc,7963,7963,7963,1991-10-21,796.0000000001124,795.9527,2015-01-01 02:12:43,bin7963,75, +abc,7964,7964,7964,1991-10-22,796.1000000001125,796.0527,2015-01-01 02:12:44,bin7964,35, +abc,7965,7965,7965,1991-10-23,796.2000000001125,796.15265,2015-01-01 02:12:45,bin7965,75, +abc,7966,7966,7966,1991-10-24,796.3000000001125,796.2526,2015-01-01 02:12:46,bin7966,35, +abc,7967,7967,7967,1991-10-25,796.4000000001125,796.3526,2015-01-01 02:12:47,bin7967,75, +abc,7968,7968,7968,1991-10-26,796.5000000001125,796.4526,2015-01-01 02:12:48,bin7968,35, +abc,7969,7969,7969,1991-10-27,796.6000000001126,796.55255,2015-01-01 02:12:49,bin7969,75, +abc,7970,7970,7970,1991-10-28,796.7000000001126,796.6525,2015-01-01 02:12:50,bin7970,35, +abc,7971,7971,7971,1991-10-29,796.8000000001126,796.7525,2015-01-01 02:12:51,bin7971,75, +abc,7972,7972,7972,1991-10-30,796.9000000001126,796.8525,2015-01-01 02:12:52,bin7972,35, +abc,7973,7973,7973,1991-10-31,797.0000000001127,796.95245,2015-01-01 02:12:53,bin7973,75, +abc,7974,7974,7974,1991-11-01,797.1000000001127,797.0524,2015-01-01 02:12:54,bin7974,35, +abc,7975,7975,7975,1991-11-02,797.2000000001127,797.1524,2015-01-01 02:12:55,bin7975,75, +abc,7976,7976,7976,1991-11-03,797.3000000001127,797.2524,2015-01-01 02:12:56,bin7976,35, +abc,7977,7977,7977,1991-11-04,797.4000000001128,797.35236,2015-01-01 02:12:57,bin7977,75, +abc,7978,7978,7978,1991-11-05,797.5000000001128,797.45233,2015-01-01 02:12:58,bin7978,35, +abc,7979,7979,7979,1991-11-06,797.6000000001128,797.5523,2015-01-01 02:12:59,bin7979,75, +abc,7980,7980,7980,1991-11-07,797.7000000001128,797.6523,2015-01-01 02:13:00,bin7980,35, +abc,7981,7981,7981,1991-11-08,797.8000000001128,797.75226,2015-01-01 02:13:01,bin7981,75, +abc,7982,7982,7982,1991-11-09,797.9000000001129,797.85223,2015-01-01 02:13:02,bin7982,35, +abc,7983,7983,7983,1991-11-10,798.0000000001129,797.9522,2015-01-01 02:13:03,bin7983,75, +abc,7984,7984,7984,1991-11-11,798.1000000001129,798.0522,2015-01-01 02:13:04,bin7984,35, +abc,7985,7985,7985,1991-11-12,798.2000000001129,798.15216,2015-01-01 02:13:05,bin7985,75, +abc,7986,7986,7986,1991-11-13,798.300000000113,798.25214,2015-01-01 02:13:06,bin7986,35, +abc,7987,7987,7987,1991-11-14,798.400000000113,798.3521,2015-01-01 02:13:07,bin7987,75, +abc,7988,7988,7988,1991-11-15,798.500000000113,798.4521,2015-01-01 02:13:08,bin7988,35, +abc,7989,7989,7989,1991-11-16,798.600000000113,798.55206,2015-01-01 02:13:09,bin7989,75, +abc,7990,7990,7990,1991-11-17,798.700000000113,798.65204,2015-01-01 02:13:10,bin7990,35, +abc,7991,7991,7991,1991-11-18,798.8000000001131,798.752,2015-01-01 02:13:11,bin7991,75, +abc,7992,7992,7992,1991-11-19,798.9000000001131,798.852,2015-01-01 02:13:12,bin7992,35, +abc,7993,7993,7993,1991-11-20,799.0000000001131,798.95197,2015-01-01 02:13:13,bin7993,75, +abc,7994,7994,7994,1991-11-21,799.1000000001131,799.05194,2015-01-01 02:13:14,bin7994,35, +abc,7995,7995,7995,1991-11-22,799.2000000001132,799.1519,2015-01-01 02:13:15,bin7995,75, +abc,7996,7996,7996,1991-11-23,799.3000000001132,799.2519,2015-01-01 02:13:16,bin7996,35, +abc,7997,7997,7997,1991-11-24,799.4000000001132,799.35187,2015-01-01 02:13:17,bin7997,75, +abc,7998,7998,7998,1991-11-25,799.5000000001132,799.45184,2015-01-01 02:13:18,bin7998,35, +abc,7999,7999,7999,1991-11-26,799.6000000001133,799.5518,2015-01-01 02:13:19,bin7999,75, +abc,8000,8000,8000,1991-11-27,799.7000000001133,799.6518,2015-01-01 02:13:20,bin8000,35, +abc,8001,8001,8001,1991-11-28,799.8000000001133,799.7518,2015-01-01 02:13:21,bin8001,75, +abc,8002,8002,8002,1991-11-29,799.9000000001133,799.85175,2015-01-01 02:13:22,bin8002,35, +abc,8003,8003,8003,1991-11-30,800.0000000001133,799.9517,2015-01-01 02:13:23,bin8003,75, +abc,8004,8004,8004,1991-12-01,800.1000000001134,800.0517,2015-01-01 02:13:24,bin8004,35, +abc,8005,8005,8005,1991-12-02,800.2000000001134,800.1517,2015-01-01 02:13:25,bin8005,75, +abc,8006,8006,8006,1991-12-03,800.3000000001134,800.25165,2015-01-01 02:13:26,bin8006,35, +abc,8007,8007,8007,1991-12-04,800.4000000001134,800.3516,2015-01-01 02:13:27,bin8007,75, +abc,8008,8008,8008,1991-12-05,800.5000000001135,800.4516,2015-01-01 02:13:28,bin8008,35, +abc,8009,8009,8009,1991-12-06,800.6000000001135,800.5516,2015-01-01 02:13:29,bin8009,75, +abc,8010,8010,8010,1991-12-07,800.7000000001135,800.65155,2015-01-01 02:13:30,bin8010,35, +abc,8011,8011,8011,1991-12-08,800.8000000001135,800.7515,2015-01-01 02:13:31,bin8011,75, +abc,8012,8012,8012,1991-12-09,800.9000000001136,800.8515,2015-01-01 02:13:32,bin8012,35, +abc,8013,8013,8013,1991-12-10,801.0000000001136,800.9515,2015-01-01 02:13:33,bin8013,75, +abc,8014,8014,8014,1991-12-11,801.1000000001136,801.05145,2015-01-01 02:13:34,bin8014,35, +abc,8015,8015,8015,1991-12-12,801.2000000001136,801.1514,2015-01-01 02:13:35,bin8015,75, +abc,8016,8016,8016,1991-12-13,801.3000000001136,801.2514,2015-01-01 02:13:36,bin8016,35, +abc,8017,8017,8017,1991-12-14,801.4000000001137,801.3514,2015-01-01 02:13:37,bin8017,75, +abc,8018,8018,8018,1991-12-15,801.5000000001137,801.45135,2015-01-01 02:13:38,bin8018,35, +abc,8019,8019,8019,1991-12-16,801.6000000001137,801.55133,2015-01-01 02:13:39,bin8019,75, +abc,8020,8020,8020,1991-12-17,801.7000000001137,801.6513,2015-01-01 02:13:40,bin8020,35, +abc,8021,8021,8021,1991-12-18,801.8000000001138,801.7513,2015-01-01 02:13:41,bin8021,75, +abc,8022,8022,8022,1991-12-19,801.9000000001138,801.85126,2015-01-01 02:13:42,bin8022,35, +abc,8023,8023,8023,1991-12-20,802.0000000001138,801.95123,2015-01-01 02:13:43,bin8023,75, +abc,8024,8024,8024,1991-12-21,802.1000000001138,802.0512,2015-01-01 02:13:44,bin8024,35, +abc,8025,8025,8025,1991-12-22,802.2000000001138,802.1512,2015-01-01 02:13:45,bin8025,75, +abc,8026,8026,8026,1991-12-23,802.3000000001139,802.25116,2015-01-01 02:13:46,bin8026,35, +abc,8027,8027,8027,1991-12-24,802.4000000001139,802.35114,2015-01-01 02:13:47,bin8027,75, +abc,8028,8028,8028,1991-12-25,802.5000000001139,802.4511,2015-01-01 02:13:48,bin8028,35, +abc,8029,8029,8029,1991-12-26,802.6000000001139,802.5511,2015-01-01 02:13:49,bin8029,75, +abc,8030,8030,8030,1991-12-27,802.700000000114,802.65106,2015-01-01 02:13:50,bin8030,35, +abc,8031,8031,8031,1991-12-28,802.800000000114,802.75104,2015-01-01 02:13:51,bin8031,75, +abc,8032,8032,8032,1991-12-29,802.900000000114,802.851,2015-01-01 02:13:52,bin8032,35, +abc,8033,8033,8033,1991-12-30,803.000000000114,802.951,2015-01-01 02:13:53,bin8033,75, +abc,8034,8034,8034,1991-12-31,803.100000000114,803.05096,2015-01-01 02:13:54,bin8034,35, +abc,8035,8035,8035,1992-01-01,803.2000000001141,803.15094,2015-01-01 02:13:55,bin8035,75, +abc,8036,8036,8036,1992-01-02,803.3000000001141,803.2509,2015-01-01 02:13:56,bin8036,35, +abc,8037,8037,8037,1992-01-03,803.4000000001141,803.3509,2015-01-01 02:13:57,bin8037,75, +abc,8038,8038,8038,1992-01-04,803.5000000001141,803.45087,2015-01-01 02:13:58,bin8038,35, +abc,8039,8039,8039,1992-01-05,803.6000000001142,803.55084,2015-01-01 02:13:59,bin8039,75, +abc,8040,8040,8040,1992-01-06,803.7000000001142,803.6508,2015-01-01 02:14:00,bin8040,35, +abc,8041,8041,8041,1992-01-07,803.8000000001142,803.7508,2015-01-01 02:14:01,bin8041,75, +abc,8042,8042,8042,1992-01-08,803.9000000001142,803.85077,2015-01-01 02:14:02,bin8042,35, +abc,8043,8043,8043,1992-01-09,804.0000000001143,803.95074,2015-01-01 02:14:03,bin8043,75, +abc,8044,8044,8044,1992-01-10,804.1000000001143,804.0507,2015-01-01 02:14:04,bin8044,35, +abc,8045,8045,8045,1992-01-11,804.2000000001143,804.1507,2015-01-01 02:14:05,bin8045,75, +abc,8046,8046,8046,1992-01-12,804.3000000001143,804.2507,2015-01-01 02:14:06,bin8046,35, +abc,8047,8047,8047,1992-01-13,804.4000000001143,804.35065,2015-01-01 02:14:07,bin8047,75, +abc,8048,8048,8048,1992-01-14,804.5000000001144,804.4506,2015-01-01 02:14:08,bin8048,35, +abc,8049,8049,8049,1992-01-15,804.6000000001144,804.5506,2015-01-01 02:14:09,bin8049,75, +abc,8050,8050,8050,1992-01-16,804.7000000001144,804.6506,2015-01-01 02:14:10,bin8050,35, +abc,8051,8051,8051,1992-01-17,804.8000000001144,804.75055,2015-01-01 02:14:11,bin8051,75, +abc,8052,8052,8052,1992-01-18,804.9000000001145,804.8505,2015-01-01 02:14:12,bin8052,35, +abc,8053,8053,8053,1992-01-19,805.0000000001145,804.9505,2015-01-01 02:14:13,bin8053,75, +abc,8054,8054,8054,1992-01-20,805.1000000001145,805.0505,2015-01-01 02:14:14,bin8054,35, +abc,8055,8055,8055,1992-01-21,805.2000000001145,805.15045,2015-01-01 02:14:15,bin8055,75, +abc,8056,8056,8056,1992-01-22,805.3000000001146,805.2504,2015-01-01 02:14:16,bin8056,35, +abc,8057,8057,8057,1992-01-23,805.4000000001146,805.3504,2015-01-01 02:14:17,bin8057,75, +abc,8058,8058,8058,1992-01-24,805.5000000001146,805.4504,2015-01-01 02:14:18,bin8058,35, +abc,8059,8059,8059,1992-01-25,805.6000000001146,805.55035,2015-01-01 02:14:19,bin8059,75, +abc,8060,8060,8060,1992-01-26,805.7000000001146,805.6503,2015-01-01 02:14:20,bin8060,35, +abc,8061,8061,8061,1992-01-27,805.8000000001147,805.7503,2015-01-01 02:14:21,bin8061,75, +abc,8062,8062,8062,1992-01-28,805.9000000001147,805.8503,2015-01-01 02:14:22,bin8062,35, +abc,8063,8063,8063,1992-01-29,806.0000000001147,805.95026,2015-01-01 02:14:23,bin8063,75, +abc,8064,8064,8064,1992-01-30,806.1000000001147,806.05023,2015-01-01 02:14:24,bin8064,35, +abc,8065,8065,8065,1992-01-31,806.2000000001148,806.1502,2015-01-01 02:14:25,bin8065,75, +abc,8066,8066,8066,1992-02-01,806.3000000001148,806.2502,2015-01-01 02:14:26,bin8066,35, +abc,8067,8067,8067,1992-02-02,806.4000000001148,806.35016,2015-01-01 02:14:27,bin8067,75, +abc,8068,8068,8068,1992-02-03,806.5000000001148,806.45013,2015-01-01 02:14:28,bin8068,35, +abc,8069,8069,8069,1992-02-04,806.6000000001148,806.5501,2015-01-01 02:14:29,bin8069,75, +abc,8070,8070,8070,1992-02-05,806.7000000001149,806.6501,2015-01-01 02:14:30,bin8070,35, +abc,8071,8071,8071,1992-02-06,806.8000000001149,806.75006,2015-01-01 02:14:31,bin8071,75, +abc,8072,8072,8072,1992-02-07,806.9000000001149,806.85004,2015-01-01 02:14:32,bin8072,35, +abc,8073,8073,8073,1992-02-08,807.0000000001149,806.95,2015-01-01 02:14:33,bin8073,75, +abc,8074,8074,8074,1992-02-09,807.100000000115,807.05,2015-01-01 02:14:34,bin8074,35, +abc,8075,8075,8075,1992-02-10,807.200000000115,807.14996,2015-01-01 02:14:35,bin8075,75, +abc,8076,8076,8076,1992-02-11,807.300000000115,807.24994,2015-01-01 02:14:36,bin8076,35, +abc,8077,8077,8077,1992-02-12,807.400000000115,807.3499,2015-01-01 02:14:37,bin8077,75, +abc,8078,8078,8078,1992-02-13,807.500000000115,807.4499,2015-01-01 02:14:38,bin8078,35, +abc,8079,8079,8079,1992-02-14,807.6000000001151,807.54987,2015-01-01 02:14:39,bin8079,75, +abc,8080,8080,8080,1992-02-15,807.7000000001151,807.64984,2015-01-01 02:14:40,bin8080,35, +abc,8081,8081,8081,1992-02-16,807.8000000001151,807.7498,2015-01-01 02:14:41,bin8081,75, +abc,8082,8082,8082,1992-02-17,807.9000000001151,807.8498,2015-01-01 02:14:42,bin8082,35, +abc,8083,8083,8083,1992-02-18,808.0000000001152,807.94977,2015-01-01 02:14:43,bin8083,75, +abc,8084,8084,8084,1992-02-19,808.1000000001152,808.04974,2015-01-01 02:14:44,bin8084,35, +abc,8085,8085,8085,1992-02-20,808.2000000001152,808.1497,2015-01-01 02:14:45,bin8085,75, +abc,8086,8086,8086,1992-02-21,808.3000000001152,808.2497,2015-01-01 02:14:46,bin8086,35, +abc,8087,8087,8087,1992-02-22,808.4000000001153,808.3497,2015-01-01 02:14:47,bin8087,75, +abc,8088,8088,8088,1992-02-23,808.5000000001153,808.44965,2015-01-01 02:14:48,bin8088,35, +abc,8089,8089,8089,1992-02-24,808.6000000001153,808.5496,2015-01-01 02:14:49,bin8089,75, +abc,8090,8090,8090,1992-02-25,808.7000000001153,808.6496,2015-01-01 02:14:50,bin8090,35, +abc,8091,8091,8091,1992-02-26,808.8000000001153,808.7496,2015-01-01 02:14:51,bin8091,75, +abc,8092,8092,8092,1992-02-27,808.9000000001154,808.84955,2015-01-01 02:14:52,bin8092,35, +abc,8093,8093,8093,1992-02-28,809.0000000001154,808.9495,2015-01-01 02:14:53,bin8093,75, +abc,8094,8094,8094,1992-02-29,809.1000000001154,809.0495,2015-01-01 02:14:54,bin8094,35, +abc,8095,8095,8095,1992-03-01,809.2000000001154,809.1495,2015-01-01 02:14:55,bin8095,75, +abc,8096,8096,8096,1992-03-02,809.3000000001155,809.24945,2015-01-01 02:14:56,bin8096,35, +abc,8097,8097,8097,1992-03-03,809.4000000001155,809.3494,2015-01-01 02:14:57,bin8097,75, +abc,8098,8098,8098,1992-03-04,809.5000000001155,809.4494,2015-01-01 02:14:58,bin8098,35, +abc,8099,8099,8099,1992-03-05,809.6000000001155,809.5494,2015-01-01 02:14:59,bin8099,75, +abc,8100,8100,8100,1992-03-06,809.7000000001156,809.64935,2015-01-01 02:15:00,bin8100,35, +abc,8101,8101,8101,1992-03-07,809.8000000001156,809.7493,2015-01-01 02:15:01,bin8101,75, +abc,8102,8102,8102,1992-03-08,809.9000000001156,809.8493,2015-01-01 02:15:02,bin8102,35, +abc,8103,8103,8103,1992-03-09,810.0000000001156,809.9493,2015-01-01 02:15:03,bin8103,75, +abc,8104,8104,8104,1992-03-10,810.1000000001156,810.04926,2015-01-01 02:15:04,bin8104,35, +abc,8105,8105,8105,1992-03-11,810.2000000001157,810.14923,2015-01-01 02:15:05,bin8105,75, +abc,8106,8106,8106,1992-03-12,810.3000000001157,810.2492,2015-01-01 02:15:06,bin8106,35, +abc,8107,8107,8107,1992-03-13,810.4000000001157,810.3492,2015-01-01 02:15:07,bin8107,75, +abc,8108,8108,8108,1992-03-14,810.5000000001157,810.44916,2015-01-01 02:15:08,bin8108,35, +abc,8109,8109,8109,1992-03-15,810.6000000001158,810.54913,2015-01-01 02:15:09,bin8109,75, +abc,8110,8110,8110,1992-03-16,810.7000000001158,810.6491,2015-01-01 02:15:10,bin8110,35, +abc,8111,8111,8111,1992-03-17,810.8000000001158,810.7491,2015-01-01 02:15:11,bin8111,75, +abc,8112,8112,8112,1992-03-18,810.9000000001158,810.84906,2015-01-01 02:15:12,bin8112,35, +abc,8113,8113,8113,1992-03-19,811.0000000001158,810.94904,2015-01-01 02:15:13,bin8113,75, +abc,8114,8114,8114,1992-03-20,811.1000000001159,811.049,2015-01-01 02:15:14,bin8114,35, +abc,8115,8115,8115,1992-03-21,811.2000000001159,811.149,2015-01-01 02:15:15,bin8115,75, +abc,8116,8116,8116,1992-03-22,811.3000000001159,811.24896,2015-01-01 02:15:16,bin8116,35, +abc,8117,8117,8117,1992-03-23,811.4000000001159,811.34894,2015-01-01 02:15:17,bin8117,75, +abc,8118,8118,8118,1992-03-24,811.500000000116,811.4489,2015-01-01 02:15:18,bin8118,35, +abc,8119,8119,8119,1992-03-25,811.600000000116,811.5489,2015-01-01 02:15:19,bin8119,75, +abc,8120,8120,8120,1992-03-26,811.700000000116,811.64886,2015-01-01 02:15:20,bin8120,35, +abc,8121,8121,8121,1992-03-27,811.800000000116,811.74884,2015-01-01 02:15:21,bin8121,75, +abc,8122,8122,8122,1992-03-28,811.900000000116,811.8488,2015-01-01 02:15:22,bin8122,35, +abc,8123,8123,8123,1992-03-29,812.0000000001161,811.9488,2015-01-01 02:15:23,bin8123,75, +abc,8124,8124,8124,1992-03-30,812.1000000001161,812.04877,2015-01-01 02:15:24,bin8124,35, +abc,8125,8125,8125,1992-03-31,812.2000000001161,812.14874,2015-01-01 02:15:25,bin8125,75, +abc,8126,8126,8126,1992-04-01,812.3000000001161,812.2487,2015-01-01 02:15:26,bin8126,35, +abc,8127,8127,8127,1992-04-02,812.4000000001162,812.3487,2015-01-01 02:15:27,bin8127,75, +abc,8128,8128,8128,1992-04-03,812.5000000001162,812.44867,2015-01-01 02:15:28,bin8128,35, +abc,8129,8129,8129,1992-04-04,812.6000000001162,812.54865,2015-01-01 02:15:29,bin8129,75, +abc,8130,8130,8130,1992-04-05,812.7000000001162,812.6486,2015-01-01 02:15:30,bin8130,35, +abc,8131,8131,8131,1992-04-06,812.8000000001163,812.7486,2015-01-01 02:15:31,bin8131,75, +abc,8132,8132,8132,1992-04-07,812.9000000001163,812.8486,2015-01-01 02:15:32,bin8132,35, +abc,8133,8133,8133,1992-04-08,813.0000000001163,812.94855,2015-01-01 02:15:33,bin8133,75, +abc,8134,8134,8134,1992-04-09,813.1000000001163,813.0485,2015-01-01 02:15:34,bin8134,35, +abc,8135,8135,8135,1992-04-10,813.2000000001163,813.1485,2015-01-01 02:15:35,bin8135,75, +abc,8136,8136,8136,1992-04-11,813.3000000001164,813.2485,2015-01-01 02:15:36,bin8136,35, +abc,8137,8137,8137,1992-04-12,813.4000000001164,813.34845,2015-01-01 02:15:37,bin8137,75, +abc,8138,8138,8138,1992-04-13,813.5000000001164,813.4484,2015-01-01 02:15:38,bin8138,35, +abc,8139,8139,8139,1992-04-14,813.6000000001164,813.5484,2015-01-01 02:15:39,bin8139,75, +abc,8140,8140,8140,1992-04-15,813.7000000001165,813.6484,2015-01-01 02:15:40,bin8140,35, +abc,8141,8141,8141,1992-04-16,813.8000000001165,813.74835,2015-01-01 02:15:41,bin8141,75, +abc,8142,8142,8142,1992-04-17,813.9000000001165,813.8483,2015-01-01 02:15:42,bin8142,35, +abc,8143,8143,8143,1992-04-18,814.0000000001165,813.9483,2015-01-01 02:15:43,bin8143,75, +abc,8144,8144,8144,1992-04-19,814.1000000001166,814.0483,2015-01-01 02:15:44,bin8144,35, +abc,8145,8145,8145,1992-04-20,814.2000000001166,814.14825,2015-01-01 02:15:45,bin8145,75, +abc,8146,8146,8146,1992-04-21,814.3000000001166,814.2482,2015-01-01 02:15:46,bin8146,35, +abc,8147,8147,8147,1992-04-22,814.4000000001166,814.3482,2015-01-01 02:15:47,bin8147,75, +abc,8148,8148,8148,1992-04-23,814.5000000001166,814.4482,2015-01-01 02:15:48,bin8148,35, +abc,8149,8149,8149,1992-04-24,814.6000000001167,814.54816,2015-01-01 02:15:49,bin8149,75, +abc,8150,8150,8150,1992-04-25,814.7000000001167,814.64813,2015-01-01 02:15:50,bin8150,35, +abc,8151,8151,8151,1992-04-26,814.8000000001167,814.7481,2015-01-01 02:15:51,bin8151,75, +abc,8152,8152,8152,1992-04-27,814.9000000001167,814.8481,2015-01-01 02:15:52,bin8152,35, +abc,8153,8153,8153,1992-04-28,815.0000000001168,814.94806,2015-01-01 02:15:53,bin8153,75, +abc,8154,8154,8154,1992-04-29,815.1000000001168,815.04803,2015-01-01 02:15:54,bin8154,35, +abc,8155,8155,8155,1992-04-30,815.2000000001168,815.148,2015-01-01 02:15:55,bin8155,75, +abc,8156,8156,8156,1992-05-01,815.3000000001168,815.248,2015-01-01 02:15:56,bin8156,35, +abc,8157,8157,8157,1992-05-02,815.4000000001168,815.34796,2015-01-01 02:15:57,bin8157,75, +abc,8158,8158,8158,1992-05-03,815.5000000001169,815.44794,2015-01-01 02:15:58,bin8158,35, +abc,8159,8159,8159,1992-05-04,815.6000000001169,815.5479,2015-01-01 02:15:59,bin8159,75, +abc,8160,8160,8160,1992-05-05,815.7000000001169,815.6479,2015-01-01 02:16:00,bin8160,35, +abc,8161,8161,8161,1992-05-06,815.8000000001169,815.74786,2015-01-01 02:16:01,bin8161,75, +abc,8162,8162,8162,1992-05-07,815.900000000117,815.84784,2015-01-01 02:16:02,bin8162,35, +abc,8163,8163,8163,1992-05-08,816.000000000117,815.9478,2015-01-01 02:16:03,bin8163,75, +abc,8164,8164,8164,1992-05-09,816.100000000117,816.0478,2015-01-01 02:16:04,bin8164,35, +abc,8165,8165,8165,1992-05-10,816.200000000117,816.14777,2015-01-01 02:16:05,bin8165,75, +abc,8166,8166,8166,1992-05-11,816.300000000117,816.24774,2015-01-01 02:16:06,bin8166,35, +abc,8167,8167,8167,1992-05-12,816.4000000001171,816.3477,2015-01-01 02:16:07,bin8167,75, +abc,8168,8168,8168,1992-05-13,816.5000000001171,816.4477,2015-01-01 02:16:08,bin8168,35, +abc,8169,8169,8169,1992-05-14,816.6000000001171,816.54767,2015-01-01 02:16:09,bin8169,75, +abc,8170,8170,8170,1992-05-15,816.7000000001171,816.64764,2015-01-01 02:16:10,bin8170,35, +abc,8171,8171,8171,1992-05-16,816.8000000001172,816.7476,2015-01-01 02:16:11,bin8171,75, +abc,8172,8172,8172,1992-05-17,816.9000000001172,816.8476,2015-01-01 02:16:12,bin8172,35, +abc,8173,8173,8173,1992-05-18,817.0000000001172,816.9476,2015-01-01 02:16:13,bin8173,75, +abc,8174,8174,8174,1992-05-19,817.1000000001172,817.04755,2015-01-01 02:16:14,bin8174,35, +abc,8175,8175,8175,1992-05-20,817.2000000001173,817.1475,2015-01-01 02:16:15,bin8175,75, +abc,8176,8176,8176,1992-05-21,817.3000000001173,817.2475,2015-01-01 02:16:16,bin8176,35, +abc,8177,8177,8177,1992-05-22,817.4000000001173,817.3475,2015-01-01 02:16:17,bin8177,75, +abc,8178,8178,8178,1992-05-23,817.5000000001173,817.44745,2015-01-01 02:16:18,bin8178,35, +abc,8179,8179,8179,1992-05-24,817.6000000001173,817.5474,2015-01-01 02:16:19,bin8179,75, +abc,8180,8180,8180,1992-05-25,817.7000000001174,817.6474,2015-01-01 02:16:20,bin8180,35, +abc,8181,8181,8181,1992-05-26,817.8000000001174,817.7474,2015-01-01 02:16:21,bin8181,75, +abc,8182,8182,8182,1992-05-27,817.9000000001174,817.84735,2015-01-01 02:16:22,bin8182,35, +abc,8183,8183,8183,1992-05-28,818.0000000001174,817.9473,2015-01-01 02:16:23,bin8183,75, +abc,8184,8184,8184,1992-05-29,818.1000000001175,818.0473,2015-01-01 02:16:24,bin8184,35, +abc,8185,8185,8185,1992-05-30,818.2000000001175,818.1473,2015-01-01 02:16:25,bin8185,75, +abc,8186,8186,8186,1992-05-31,818.3000000001175,818.24725,2015-01-01 02:16:26,bin8186,35, +abc,8187,8187,8187,1992-06-01,818.4000000001175,818.3472,2015-01-01 02:16:27,bin8187,75, +abc,8188,8188,8188,1992-06-02,818.5000000001176,818.4472,2015-01-01 02:16:28,bin8188,35, +abc,8189,8189,8189,1992-06-03,818.6000000001176,818.5472,2015-01-01 02:16:29,bin8189,75, +abc,8190,8190,8190,1992-06-04,818.7000000001176,818.64716,2015-01-01 02:16:30,bin8190,35, +abc,8191,8191,8191,1992-06-05,818.8000000001176,818.74713,2015-01-01 02:16:31,bin8191,75, +abc,8192,8192,8192,1992-06-06,818.9000000001176,818.8471,2015-01-01 02:16:32,bin8192,35, +abc,8193,8193,8193,1992-06-07,819.0000000001177,818.9471,2015-01-01 02:16:33,bin8193,75, +abc,8194,8194,8194,1992-06-08,819.1000000001177,819.04706,2015-01-01 02:16:34,bin8194,35, +abc,8195,8195,8195,1992-06-09,819.2000000001177,819.14703,2015-01-01 02:16:35,bin8195,75, +abc,8196,8196,8196,1992-06-10,819.3000000001177,819.247,2015-01-01 02:16:36,bin8196,35, +abc,8197,8197,8197,1992-06-11,819.4000000001178,819.347,2015-01-01 02:16:37,bin8197,75, +abc,8198,8198,8198,1992-06-12,819.5000000001178,819.44696,2015-01-01 02:16:38,bin8198,35, +abc,8199,8199,8199,1992-06-13,819.6000000001178,819.54694,2015-01-01 02:16:39,bin8199,75, +abc,8200,8200,8200,1992-06-14,819.7000000001178,819.6469,2015-01-01 02:16:40,bin8200,35, +abc,8201,8201,8201,1992-06-15,819.8000000001178,819.7469,2015-01-01 02:16:41,bin8201,75, +abc,8202,8202,8202,1992-06-16,819.9000000001179,819.84686,2015-01-01 02:16:42,bin8202,35, +abc,8203,8203,8203,1992-06-17,820.0000000001179,819.94684,2015-01-01 02:16:43,bin8203,75, +abc,8204,8204,8204,1992-06-18,820.1000000001179,820.0468,2015-01-01 02:16:44,bin8204,35, +abc,8205,8205,8205,1992-06-19,820.2000000001179,820.1468,2015-01-01 02:16:45,bin8205,75, +abc,8206,8206,8206,1992-06-20,820.300000000118,820.24677,2015-01-01 02:16:46,bin8206,35, +abc,8207,8207,8207,1992-06-21,820.400000000118,820.34674,2015-01-01 02:16:47,bin8207,75, +abc,8208,8208,8208,1992-06-22,820.500000000118,820.4467,2015-01-01 02:16:48,bin8208,35, +abc,8209,8209,8209,1992-06-23,820.600000000118,820.5467,2015-01-01 02:16:49,bin8209,75, +abc,8210,8210,8210,1992-06-24,820.700000000118,820.64667,2015-01-01 02:16:50,bin8210,35, +abc,8211,8211,8211,1992-06-25,820.8000000001181,820.74664,2015-01-01 02:16:51,bin8211,75, +abc,8212,8212,8212,1992-06-26,820.9000000001181,820.8466,2015-01-01 02:16:52,bin8212,35, +abc,8213,8213,8213,1992-06-27,821.0000000001181,820.9466,2015-01-01 02:16:53,bin8213,75, +abc,8214,8214,8214,1992-06-28,821.1000000001181,821.0466,2015-01-01 02:16:54,bin8214,35, +abc,8215,8215,8215,1992-06-29,821.2000000001182,821.14655,2015-01-01 02:16:55,bin8215,75, +abc,8216,8216,8216,1992-06-30,821.3000000001182,821.2465,2015-01-01 02:16:56,bin8216,35, +abc,8217,8217,8217,1992-07-01,821.4000000001182,821.3465,2015-01-01 02:16:57,bin8217,75, +abc,8218,8218,8218,1992-07-02,821.5000000001182,821.4465,2015-01-01 02:16:58,bin8218,35, +abc,8219,8219,8219,1992-07-03,821.6000000001183,821.54645,2015-01-01 02:16:59,bin8219,75, +abc,8220,8220,8220,1992-07-04,821.7000000001183,821.6464,2015-01-01 02:17:00,bin8220,35, +abc,8221,8221,8221,1992-07-05,821.8000000001183,821.7464,2015-01-01 02:17:01,bin8221,75, +abc,8222,8222,8222,1992-07-06,821.9000000001183,821.8464,2015-01-01 02:17:02,bin8222,35, +abc,8223,8223,8223,1992-07-07,822.0000000001183,821.94635,2015-01-01 02:17:03,bin8223,75, +abc,8224,8224,8224,1992-07-08,822.1000000001184,822.0463,2015-01-01 02:17:04,bin8224,35, +abc,8225,8225,8225,1992-07-09,822.2000000001184,822.1463,2015-01-01 02:17:05,bin8225,75, +abc,8226,8226,8226,1992-07-10,822.3000000001184,822.2463,2015-01-01 02:17:06,bin8226,35, +abc,8227,8227,8227,1992-07-11,822.4000000001184,822.34625,2015-01-01 02:17:07,bin8227,75, +abc,8228,8228,8228,1992-07-12,822.5000000001185,822.4462,2015-01-01 02:17:08,bin8228,35, +abc,8229,8229,8229,1992-07-13,822.6000000001185,822.5462,2015-01-01 02:17:09,bin8229,75, +abc,8230,8230,8230,1992-07-14,822.7000000001185,822.6462,2015-01-01 02:17:10,bin8230,35, +abc,8231,8231,8231,1992-07-15,822.8000000001185,822.74615,2015-01-01 02:17:11,bin8231,75, +abc,8232,8232,8232,1992-07-16,822.9000000001186,822.8461,2015-01-01 02:17:12,bin8232,35, +abc,8233,8233,8233,1992-07-17,823.0000000001186,822.9461,2015-01-01 02:17:13,bin8233,75, +abc,8234,8234,8234,1992-07-18,823.1000000001186,823.0461,2015-01-01 02:17:14,bin8234,35, +abc,8235,8235,8235,1992-07-19,823.2000000001186,823.14606,2015-01-01 02:17:15,bin8235,75, +abc,8236,8236,8236,1992-07-20,823.3000000001186,823.24603,2015-01-01 02:17:16,bin8236,35, +abc,8237,8237,8237,1992-07-21,823.4000000001187,823.346,2015-01-01 02:17:17,bin8237,75, +abc,8238,8238,8238,1992-07-22,823.5000000001187,823.446,2015-01-01 02:17:18,bin8238,35, +abc,8239,8239,8239,1992-07-23,823.6000000001187,823.54596,2015-01-01 02:17:19,bin8239,75, +abc,8240,8240,8240,1992-07-24,823.7000000001187,823.64594,2015-01-01 02:17:20,bin8240,35, +abc,8241,8241,8241,1992-07-25,823.8000000001188,823.7459,2015-01-01 02:17:21,bin8241,75, +abc,8242,8242,8242,1992-07-26,823.9000000001188,823.8459,2015-01-01 02:17:22,bin8242,35, +abc,8243,8243,8243,1992-07-27,824.0000000001188,823.94586,2015-01-01 02:17:23,bin8243,75, +abc,8244,8244,8244,1992-07-28,824.1000000001188,824.04584,2015-01-01 02:17:24,bin8244,35, +abc,8245,8245,8245,1992-07-29,824.2000000001188,824.1458,2015-01-01 02:17:25,bin8245,75, +abc,8246,8246,8246,1992-07-30,824.3000000001189,824.2458,2015-01-01 02:17:26,bin8246,35, +abc,8247,8247,8247,1992-07-31,824.4000000001189,824.34576,2015-01-01 02:17:27,bin8247,75, +abc,8248,8248,8248,1992-08-01,824.5000000001189,824.44574,2015-01-01 02:17:28,bin8248,35, +abc,8249,8249,8249,1992-08-02,824.6000000001189,824.5457,2015-01-01 02:17:29,bin8249,75, +abc,8250,8250,8250,1992-08-03,824.700000000119,824.6457,2015-01-01 02:17:30,bin8250,35, +abc,8251,8251,8251,1992-08-04,824.800000000119,824.74567,2015-01-01 02:17:31,bin8251,75, +abc,8252,8252,8252,1992-08-05,824.900000000119,824.84564,2015-01-01 02:17:32,bin8252,35, +abc,8253,8253,8253,1992-08-06,825.000000000119,824.9456,2015-01-01 02:17:33,bin8253,75, +abc,8254,8254,8254,1992-08-07,825.100000000119,825.0456,2015-01-01 02:17:34,bin8254,35, +abc,8255,8255,8255,1992-08-08,825.2000000001191,825.14557,2015-01-01 02:17:35,bin8255,75, +abc,8256,8256,8256,1992-08-09,825.3000000001191,825.24554,2015-01-01 02:17:36,bin8256,35, +abc,8257,8257,8257,1992-08-10,825.4000000001191,825.3455,2015-01-01 02:17:37,bin8257,75, +abc,8258,8258,8258,1992-08-11,825.5000000001191,825.4455,2015-01-01 02:17:38,bin8258,35, +abc,8259,8259,8259,1992-08-12,825.6000000001192,825.5455,2015-01-01 02:17:39,bin8259,75, +abc,8260,8260,8260,1992-08-13,825.7000000001192,825.64545,2015-01-01 02:17:40,bin8260,35, +abc,8261,8261,8261,1992-08-14,825.8000000001192,825.7454,2015-01-01 02:17:41,bin8261,75, +abc,8262,8262,8262,1992-08-15,825.9000000001192,825.8454,2015-01-01 02:17:42,bin8262,35, +abc,8263,8263,8263,1992-08-16,826.0000000001193,825.9454,2015-01-01 02:17:43,bin8263,75, +abc,8264,8264,8264,1992-08-17,826.1000000001193,826.04535,2015-01-01 02:17:44,bin8264,35, +abc,8265,8265,8265,1992-08-18,826.2000000001193,826.1453,2015-01-01 02:17:45,bin8265,75, +abc,8266,8266,8266,1992-08-19,826.3000000001193,826.2453,2015-01-01 02:17:46,bin8266,35, +abc,8267,8267,8267,1992-08-20,826.4000000001193,826.3453,2015-01-01 02:17:47,bin8267,75, +abc,8268,8268,8268,1992-08-21,826.5000000001194,826.44525,2015-01-01 02:17:48,bin8268,35, +abc,8269,8269,8269,1992-08-22,826.6000000001194,826.5452,2015-01-01 02:17:49,bin8269,75, +abc,8270,8270,8270,1992-08-23,826.7000000001194,826.6452,2015-01-01 02:17:50,bin8270,35, +abc,8271,8271,8271,1992-08-24,826.8000000001194,826.7452,2015-01-01 02:17:51,bin8271,75, +abc,8272,8272,8272,1992-08-25,826.9000000001195,826.84515,2015-01-01 02:17:52,bin8272,35, +abc,8273,8273,8273,1992-08-26,827.0000000001195,826.9451,2015-01-01 02:17:53,bin8273,75, +abc,8274,8274,8274,1992-08-27,827.1000000001195,827.0451,2015-01-01 02:17:54,bin8274,35, +abc,8275,8275,8275,1992-08-28,827.2000000001195,827.1451,2015-01-01 02:17:55,bin8275,75, +abc,8276,8276,8276,1992-08-29,827.3000000001196,827.24506,2015-01-01 02:17:56,bin8276,35, +abc,8277,8277,8277,1992-08-30,827.4000000001196,827.34503,2015-01-01 02:17:57,bin8277,75, +abc,8278,8278,8278,1992-08-31,827.5000000001196,827.445,2015-01-01 02:17:58,bin8278,35, +abc,8279,8279,8279,1992-09-01,827.6000000001196,827.545,2015-01-01 02:17:59,bin8279,75, +abc,8280,8280,8280,1992-09-02,827.7000000001196,827.64496,2015-01-01 02:18:00,bin8280,35, +abc,8281,8281,8281,1992-09-03,827.8000000001197,827.74493,2015-01-01 02:18:01,bin8281,75, +abc,8282,8282,8282,1992-09-04,827.9000000001197,827.8449,2015-01-01 02:18:02,bin8282,35, +abc,8283,8283,8283,1992-09-05,828.0000000001197,827.9449,2015-01-01 02:18:03,bin8283,75, +abc,8284,8284,8284,1992-09-06,828.1000000001197,828.04486,2015-01-01 02:18:04,bin8284,35, +abc,8285,8285,8285,1992-09-07,828.2000000001198,828.14484,2015-01-01 02:18:05,bin8285,75, +abc,8286,8286,8286,1992-09-08,828.3000000001198,828.2448,2015-01-01 02:18:06,bin8286,35, +abc,8287,8287,8287,1992-09-09,828.4000000001198,828.3448,2015-01-01 02:18:07,bin8287,75, +abc,8288,8288,8288,1992-09-10,828.5000000001198,828.44476,2015-01-01 02:18:08,bin8288,35, +abc,8289,8289,8289,1992-09-11,828.6000000001198,828.54474,2015-01-01 02:18:09,bin8289,75, +abc,8290,8290,8290,1992-09-12,828.7000000001199,828.6447,2015-01-01 02:18:10,bin8290,35, +abc,8291,8291,8291,1992-09-13,828.8000000001199,828.7447,2015-01-01 02:18:11,bin8291,75, +abc,8292,8292,8292,1992-09-14,828.9000000001199,828.84467,2015-01-01 02:18:12,bin8292,35, +abc,8293,8293,8293,1992-09-15,829.0000000001199,828.94464,2015-01-01 02:18:13,bin8293,75, +abc,8294,8294,8294,1992-09-16,829.10000000012,829.0446,2015-01-01 02:18:14,bin8294,35, +abc,8295,8295,8295,1992-09-17,829.20000000012,829.1446,2015-01-01 02:18:15,bin8295,75, +abc,8296,8296,8296,1992-09-18,829.30000000012,829.24457,2015-01-01 02:18:16,bin8296,35, +abc,8297,8297,8297,1992-09-19,829.40000000012,829.34454,2015-01-01 02:18:17,bin8297,75, +abc,8298,8298,8298,1992-09-20,829.50000000012,829.4445,2015-01-01 02:18:18,bin8298,35, +abc,8299,8299,8299,1992-09-21,829.6000000001201,829.5445,2015-01-01 02:18:19,bin8299,75, +abc,8300,8300,8300,1992-09-22,829.7000000001201,829.6445,2015-01-01 02:18:20,bin8300,35, +abc,8301,8301,8301,1992-09-23,829.8000000001201,829.74445,2015-01-01 02:18:21,bin8301,75, +abc,8302,8302,8302,1992-09-24,829.9000000001201,829.8444,2015-01-01 02:18:22,bin8302,35, +abc,8303,8303,8303,1992-09-25,830.0000000001202,829.9444,2015-01-01 02:18:23,bin8303,75, +abc,8304,8304,8304,1992-09-26,830.1000000001202,830.0444,2015-01-01 02:18:24,bin8304,35, +abc,8305,8305,8305,1992-09-27,830.2000000001202,830.14435,2015-01-01 02:18:25,bin8305,75, +abc,8306,8306,8306,1992-09-28,830.3000000001202,830.2443,2015-01-01 02:18:26,bin8306,35, +abc,8307,8307,8307,1992-09-29,830.4000000001203,830.3443,2015-01-01 02:18:27,bin8307,75, +abc,8308,8308,8308,1992-09-30,830.5000000001203,830.4443,2015-01-01 02:18:28,bin8308,35, +abc,8309,8309,8309,1992-10-01,830.6000000001203,830.54425,2015-01-01 02:18:29,bin8309,75, +abc,8310,8310,8310,1992-10-02,830.7000000001203,830.6442,2015-01-01 02:18:30,bin8310,35, +abc,8311,8311,8311,1992-10-03,830.8000000001203,830.7442,2015-01-01 02:18:31,bin8311,75, +abc,8312,8312,8312,1992-10-04,830.9000000001204,830.8442,2015-01-01 02:18:32,bin8312,35, +abc,8313,8313,8313,1992-10-05,831.0000000001204,830.94415,2015-01-01 02:18:33,bin8313,75, +abc,8314,8314,8314,1992-10-06,831.1000000001204,831.0441,2015-01-01 02:18:34,bin8314,35, +abc,8315,8315,8315,1992-10-07,831.2000000001204,831.1441,2015-01-01 02:18:35,bin8315,75, +abc,8316,8316,8316,1992-10-08,831.3000000001205,831.2441,2015-01-01 02:18:36,bin8316,35, +abc,8317,8317,8317,1992-10-09,831.4000000001205,831.34406,2015-01-01 02:18:37,bin8317,75, +abc,8318,8318,8318,1992-10-10,831.5000000001205,831.44403,2015-01-01 02:18:38,bin8318,35, +abc,8319,8319,8319,1992-10-11,831.6000000001205,831.544,2015-01-01 02:18:39,bin8319,75, +abc,8320,8320,8320,1992-10-12,831.7000000001206,831.644,2015-01-01 02:18:40,bin8320,35, +abc,8321,8321,8321,1992-10-13,831.8000000001206,831.74396,2015-01-01 02:18:41,bin8321,75, +abc,8322,8322,8322,1992-10-14,831.9000000001206,831.84393,2015-01-01 02:18:42,bin8322,35, +abc,8323,8323,8323,1992-10-15,832.0000000001206,831.9439,2015-01-01 02:18:43,bin8323,75, +abc,8324,8324,8324,1992-10-16,832.1000000001206,832.0439,2015-01-01 02:18:44,bin8324,35, +abc,8325,8325,8325,1992-10-17,832.2000000001207,832.14386,2015-01-01 02:18:45,bin8325,75, +abc,8326,8326,8326,1992-10-18,832.3000000001207,832.24384,2015-01-01 02:18:46,bin8326,35, +abc,8327,8327,8327,1992-10-19,832.4000000001207,832.3438,2015-01-01 02:18:47,bin8327,75, +abc,8328,8328,8328,1992-10-20,832.5000000001207,832.4438,2015-01-01 02:18:48,bin8328,35, +abc,8329,8329,8329,1992-10-21,832.6000000001208,832.54376,2015-01-01 02:18:49,bin8329,75, +abc,8330,8330,8330,1992-10-22,832.7000000001208,832.64374,2015-01-01 02:18:50,bin8330,35, +abc,8331,8331,8331,1992-10-23,832.8000000001208,832.7437,2015-01-01 02:18:51,bin8331,75, +abc,8332,8332,8332,1992-10-24,832.9000000001208,832.8437,2015-01-01 02:18:52,bin8332,35, +abc,8333,8333,8333,1992-10-25,833.0000000001208,832.94366,2015-01-01 02:18:53,bin8333,75, +abc,8334,8334,8334,1992-10-26,833.1000000001209,833.04364,2015-01-01 02:18:54,bin8334,35, +abc,8335,8335,8335,1992-10-27,833.2000000001209,833.1436,2015-01-01 02:18:55,bin8335,75, +abc,8336,8336,8336,1992-10-28,833.3000000001209,833.2436,2015-01-01 02:18:56,bin8336,35, +abc,8337,8337,8337,1992-10-29,833.4000000001209,833.34357,2015-01-01 02:18:57,bin8337,75, +abc,8338,8338,8338,1992-10-30,833.500000000121,833.44354,2015-01-01 02:18:58,bin8338,35, +abc,8339,8339,8339,1992-10-31,833.600000000121,833.5435,2015-01-01 02:18:59,bin8339,75, +abc,8340,8340,8340,1992-11-01,833.700000000121,833.6435,2015-01-01 02:19:00,bin8340,35, +abc,8341,8341,8341,1992-11-02,833.800000000121,833.74347,2015-01-01 02:19:01,bin8341,75, +abc,8342,8342,8342,1992-11-03,833.900000000121,833.84344,2015-01-01 02:19:02,bin8342,35, +abc,8343,8343,8343,1992-11-04,834.0000000001211,833.9434,2015-01-01 02:19:03,bin8343,75, +abc,8344,8344,8344,1992-11-05,834.1000000001211,834.0434,2015-01-01 02:19:04,bin8344,35, +abc,8345,8345,8345,1992-11-06,834.2000000001211,834.1434,2015-01-01 02:19:05,bin8345,75, +abc,8346,8346,8346,1992-11-07,834.3000000001211,834.24335,2015-01-01 02:19:06,bin8346,35, +abc,8347,8347,8347,1992-11-08,834.4000000001212,834.3433,2015-01-01 02:19:07,bin8347,75, +abc,8348,8348,8348,1992-11-09,834.5000000001212,834.4433,2015-01-01 02:19:08,bin8348,35, +abc,8349,8349,8349,1992-11-10,834.6000000001212,834.5433,2015-01-01 02:19:09,bin8349,75, +abc,8350,8350,8350,1992-11-11,834.7000000001212,834.64325,2015-01-01 02:19:10,bin8350,35, +abc,8351,8351,8351,1992-11-12,834.8000000001213,834.7432,2015-01-01 02:19:11,bin8351,75, +abc,8352,8352,8352,1992-11-13,834.9000000001213,834.8432,2015-01-01 02:19:12,bin8352,35, +abc,8353,8353,8353,1992-11-14,835.0000000001213,834.9432,2015-01-01 02:19:13,bin8353,75, +abc,8354,8354,8354,1992-11-15,835.1000000001213,835.04315,2015-01-01 02:19:14,bin8354,35, +abc,8355,8355,8355,1992-11-16,835.2000000001213,835.1431,2015-01-01 02:19:15,bin8355,75, +abc,8356,8356,8356,1992-11-17,835.3000000001214,835.2431,2015-01-01 02:19:16,bin8356,35, +abc,8357,8357,8357,1992-11-18,835.4000000001214,835.3431,2015-01-01 02:19:17,bin8357,75, +abc,8358,8358,8358,1992-11-19,835.5000000001214,835.44305,2015-01-01 02:19:18,bin8358,35, +abc,8359,8359,8359,1992-11-20,835.6000000001214,835.543,2015-01-01 02:19:19,bin8359,75, +abc,8360,8360,8360,1992-11-21,835.7000000001215,835.643,2015-01-01 02:19:20,bin8360,35, +abc,8361,8361,8361,1992-11-22,835.8000000001215,835.743,2015-01-01 02:19:21,bin8361,75, +abc,8362,8362,8362,1992-11-23,835.9000000001215,835.84296,2015-01-01 02:19:22,bin8362,35, +abc,8363,8363,8363,1992-11-24,836.0000000001215,835.94293,2015-01-01 02:19:23,bin8363,75, +abc,8364,8364,8364,1992-11-25,836.1000000001216,836.0429,2015-01-01 02:19:24,bin8364,35, +abc,8365,8365,8365,1992-11-26,836.2000000001216,836.1429,2015-01-01 02:19:25,bin8365,75, +abc,8366,8366,8366,1992-11-27,836.3000000001216,836.24286,2015-01-01 02:19:26,bin8366,35, +abc,8367,8367,8367,1992-11-28,836.4000000001216,836.34283,2015-01-01 02:19:27,bin8367,75, +abc,8368,8368,8368,1992-11-29,836.5000000001216,836.4428,2015-01-01 02:19:28,bin8368,35, +abc,8369,8369,8369,1992-11-30,836.6000000001217,836.5428,2015-01-01 02:19:29,bin8369,75, +abc,8370,8370,8370,1992-12-01,836.7000000001217,836.64276,2015-01-01 02:19:30,bin8370,35, +abc,8371,8371,8371,1992-12-02,836.8000000001217,836.74274,2015-01-01 02:19:31,bin8371,75, +abc,8372,8372,8372,1992-12-03,836.9000000001217,836.8427,2015-01-01 02:19:32,bin8372,35, +abc,8373,8373,8373,1992-12-04,837.0000000001218,836.9427,2015-01-01 02:19:33,bin8373,75, +abc,8374,8374,8374,1992-12-05,837.1000000001218,837.04266,2015-01-01 02:19:34,bin8374,35, +abc,8375,8375,8375,1992-12-06,837.2000000001218,837.14264,2015-01-01 02:19:35,bin8375,75, +abc,8376,8376,8376,1992-12-07,837.3000000001218,837.2426,2015-01-01 02:19:36,bin8376,35, +abc,8377,8377,8377,1992-12-08,837.4000000001218,837.3426,2015-01-01 02:19:37,bin8377,75, +abc,8378,8378,8378,1992-12-09,837.5000000001219,837.44257,2015-01-01 02:19:38,bin8378,35, +abc,8379,8379,8379,1992-12-10,837.6000000001219,837.54254,2015-01-01 02:19:39,bin8379,75, +abc,8380,8380,8380,1992-12-11,837.7000000001219,837.6425,2015-01-01 02:19:40,bin8380,35, +abc,8381,8381,8381,1992-12-12,837.8000000001219,837.7425,2015-01-01 02:19:41,bin8381,75, +abc,8382,8382,8382,1992-12-13,837.900000000122,837.84247,2015-01-01 02:19:42,bin8382,35, +abc,8383,8383,8383,1992-12-14,838.000000000122,837.94244,2015-01-01 02:19:43,bin8383,75, +abc,8384,8384,8384,1992-12-15,838.100000000122,838.0424,2015-01-01 02:19:44,bin8384,35, +abc,8385,8385,8385,1992-12-16,838.200000000122,838.1424,2015-01-01 02:19:45,bin8385,75, +abc,8386,8386,8386,1992-12-17,838.300000000122,838.2424,2015-01-01 02:19:46,bin8386,35, +abc,8387,8387,8387,1992-12-18,838.4000000001221,838.34235,2015-01-01 02:19:47,bin8387,75, +abc,8388,8388,8388,1992-12-19,838.5000000001221,838.4423,2015-01-01 02:19:48,bin8388,35, +abc,8389,8389,8389,1992-12-20,838.6000000001221,838.5423,2015-01-01 02:19:49,bin8389,75, +abc,8390,8390,8390,1992-12-21,838.7000000001221,838.6423,2015-01-01 02:19:50,bin8390,35, +abc,8391,8391,8391,1992-12-22,838.8000000001222,838.74225,2015-01-01 02:19:51,bin8391,75, +abc,8392,8392,8392,1992-12-23,838.9000000001222,838.8422,2015-01-01 02:19:52,bin8392,35, +abc,8393,8393,8393,1992-12-24,839.0000000001222,838.9422,2015-01-01 02:19:53,bin8393,75, +abc,8394,8394,8394,1992-12-25,839.1000000001222,839.0422,2015-01-01 02:19:54,bin8394,35, +abc,8395,8395,8395,1992-12-26,839.2000000001223,839.14215,2015-01-01 02:19:55,bin8395,75, +abc,8396,8396,8396,1992-12-27,839.3000000001223,839.2421,2015-01-01 02:19:56,bin8396,35, +abc,8397,8397,8397,1992-12-28,839.4000000001223,839.3421,2015-01-01 02:19:57,bin8397,75, +abc,8398,8398,8398,1992-12-29,839.5000000001223,839.4421,2015-01-01 02:19:58,bin8398,35, +abc,8399,8399,8399,1992-12-30,839.6000000001223,839.54205,2015-01-01 02:19:59,bin8399,75, +abc,8400,8400,8400,1992-12-31,839.7000000001224,839.642,2015-01-01 02:20:00,bin8400,35, +abc,8401,8401,8401,1993-01-01,839.8000000001224,839.742,2015-01-01 02:20:01,bin8401,75, +abc,8402,8402,8402,1993-01-02,839.9000000001224,839.842,2015-01-01 02:20:02,bin8402,35, +abc,8403,8403,8403,1993-01-03,840.0000000001224,839.94196,2015-01-01 02:20:03,bin8403,75, +abc,8404,8404,8404,1993-01-04,840.1000000001225,840.04193,2015-01-01 02:20:04,bin8404,35, +abc,8405,8405,8405,1993-01-05,840.2000000001225,840.1419,2015-01-01 02:20:05,bin8405,75, +abc,8406,8406,8406,1993-01-06,840.3000000001225,840.2419,2015-01-01 02:20:06,bin8406,35, +abc,8407,8407,8407,1993-01-07,840.4000000001225,840.34186,2015-01-01 02:20:07,bin8407,75, +abc,8408,8408,8408,1993-01-08,840.5000000001226,840.44183,2015-01-01 02:20:08,bin8408,35, +abc,8409,8409,8409,1993-01-09,840.6000000001226,840.5418,2015-01-01 02:20:09,bin8409,75, +abc,8410,8410,8410,1993-01-10,840.7000000001226,840.6418,2015-01-01 02:20:10,bin8410,35, +abc,8411,8411,8411,1993-01-11,840.8000000001226,840.74176,2015-01-01 02:20:11,bin8411,75, +abc,8412,8412,8412,1993-01-12,840.9000000001226,840.84174,2015-01-01 02:20:12,bin8412,35, +abc,8413,8413,8413,1993-01-13,841.0000000001227,840.9417,2015-01-01 02:20:13,bin8413,75, +abc,8414,8414,8414,1993-01-14,841.1000000001227,841.0417,2015-01-01 02:20:14,bin8414,35, +abc,8415,8415,8415,1993-01-15,841.2000000001227,841.14166,2015-01-01 02:20:15,bin8415,75, +abc,8416,8416,8416,1993-01-16,841.3000000001227,841.24164,2015-01-01 02:20:16,bin8416,35, +abc,8417,8417,8417,1993-01-17,841.4000000001228,841.3416,2015-01-01 02:20:17,bin8417,75, +abc,8418,8418,8418,1993-01-18,841.5000000001228,841.4416,2015-01-01 02:20:18,bin8418,35, +abc,8419,8419,8419,1993-01-19,841.6000000001228,841.54156,2015-01-01 02:20:19,bin8419,75, +abc,8420,8420,8420,1993-01-20,841.7000000001228,841.64154,2015-01-01 02:20:20,bin8420,35, +abc,8421,8421,8421,1993-01-21,841.8000000001228,841.7415,2015-01-01 02:20:21,bin8421,75, +abc,8422,8422,8422,1993-01-22,841.9000000001229,841.8415,2015-01-01 02:20:22,bin8422,35, +abc,8423,8423,8423,1993-01-23,842.0000000001229,841.94147,2015-01-01 02:20:23,bin8423,75, +abc,8424,8424,8424,1993-01-24,842.1000000001229,842.04144,2015-01-01 02:20:24,bin8424,35, +abc,8425,8425,8425,1993-01-25,842.2000000001229,842.1414,2015-01-01 02:20:25,bin8425,75, +abc,8426,8426,8426,1993-01-26,842.300000000123,842.2414,2015-01-01 02:20:26,bin8426,35, +abc,8427,8427,8427,1993-01-27,842.400000000123,842.3414,2015-01-01 02:20:27,bin8427,75, +abc,8428,8428,8428,1993-01-28,842.500000000123,842.44135,2015-01-01 02:20:28,bin8428,35, +abc,8429,8429,8429,1993-01-29,842.600000000123,842.5413,2015-01-01 02:20:29,bin8429,75, +abc,8430,8430,8430,1993-01-30,842.700000000123,842.6413,2015-01-01 02:20:30,bin8430,35, +abc,8431,8431,8431,1993-01-31,842.8000000001231,842.7413,2015-01-01 02:20:31,bin8431,75, +abc,8432,8432,8432,1993-02-01,842.9000000001231,842.84125,2015-01-01 02:20:32,bin8432,35, +abc,8433,8433,8433,1993-02-02,843.0000000001231,842.9412,2015-01-01 02:20:33,bin8433,75, +abc,8434,8434,8434,1993-02-03,843.1000000001231,843.0412,2015-01-01 02:20:34,bin8434,35, +abc,8435,8435,8435,1993-02-04,843.2000000001232,843.1412,2015-01-01 02:20:35,bin8435,75, +abc,8436,8436,8436,1993-02-05,843.3000000001232,843.24115,2015-01-01 02:20:36,bin8436,35, +abc,8437,8437,8437,1993-02-06,843.4000000001232,843.3411,2015-01-01 02:20:37,bin8437,75, +abc,8438,8438,8438,1993-02-07,843.5000000001232,843.4411,2015-01-01 02:20:38,bin8438,35, +abc,8439,8439,8439,1993-02-08,843.6000000001233,843.5411,2015-01-01 02:20:39,bin8439,75, +abc,8440,8440,8440,1993-02-09,843.7000000001233,843.64105,2015-01-01 02:20:40,bin8440,35, +abc,8441,8441,8441,1993-02-10,843.8000000001233,843.741,2015-01-01 02:20:41,bin8441,75, +abc,8442,8442,8442,1993-02-11,843.9000000001233,843.841,2015-01-01 02:20:42,bin8442,35, +abc,8443,8443,8443,1993-02-12,844.0000000001234,843.941,2015-01-01 02:20:43,bin8443,75, +abc,8444,8444,8444,1993-02-13,844.1000000001234,844.04095,2015-01-01 02:20:44,bin8444,35, +abc,8445,8445,8445,1993-02-14,844.2000000001234,844.1409,2015-01-01 02:20:45,bin8445,75, +abc,8446,8446,8446,1993-02-15,844.3000000001234,844.2409,2015-01-01 02:20:46,bin8446,35, +abc,8447,8447,8447,1993-02-16,844.4000000001234,844.3409,2015-01-01 02:20:47,bin8447,75, +abc,8448,8448,8448,1993-02-17,844.5000000001235,844.44086,2015-01-01 02:20:48,bin8448,35, +abc,8449,8449,8449,1993-02-18,844.6000000001235,844.54083,2015-01-01 02:20:49,bin8449,75, +abc,8450,8450,8450,1993-02-19,844.7000000001235,844.6408,2015-01-01 02:20:50,bin8450,35, +abc,8451,8451,8451,1993-02-20,844.8000000001235,844.7408,2015-01-01 02:20:51,bin8451,75, +abc,8452,8452,8452,1993-02-21,844.9000000001236,844.84076,2015-01-01 02:20:52,bin8452,35, +abc,8453,8453,8453,1993-02-22,845.0000000001236,844.94073,2015-01-01 02:20:53,bin8453,75, +abc,8454,8454,8454,1993-02-23,845.1000000001236,845.0407,2015-01-01 02:20:54,bin8454,35, +abc,8455,8455,8455,1993-02-24,845.2000000001236,845.1407,2015-01-01 02:20:55,bin8455,75, +abc,8456,8456,8456,1993-02-25,845.3000000001236,845.24066,2015-01-01 02:20:56,bin8456,35, +abc,8457,8457,8457,1993-02-26,845.4000000001237,845.34064,2015-01-01 02:20:57,bin8457,75, +abc,8458,8458,8458,1993-02-27,845.5000000001237,845.4406,2015-01-01 02:20:58,bin8458,35, +abc,8459,8459,8459,1993-02-28,845.6000000001237,845.5406,2015-01-01 02:20:59,bin8459,75, +abc,8460,8460,8460,1993-03-01,845.7000000001237,845.64056,2015-01-01 02:21:00,bin8460,35, +abc,8461,8461,8461,1993-03-02,845.8000000001238,845.74054,2015-01-01 02:21:01,bin8461,75, +abc,8462,8462,8462,1993-03-03,845.9000000001238,845.8405,2015-01-01 02:21:02,bin8462,35, +abc,8463,8463,8463,1993-03-04,846.0000000001238,845.9405,2015-01-01 02:21:03,bin8463,75, +abc,8464,8464,8464,1993-03-05,846.1000000001238,846.04047,2015-01-01 02:21:04,bin8464,35, +abc,8465,8465,8465,1993-03-06,846.2000000001239,846.14044,2015-01-01 02:21:05,bin8465,75, +abc,8466,8466,8466,1993-03-07,846.3000000001239,846.2404,2015-01-01 02:21:06,bin8466,35, +abc,8467,8467,8467,1993-03-08,846.4000000001239,846.3404,2015-01-01 02:21:07,bin8467,75, +abc,8468,8468,8468,1993-03-09,846.5000000001239,846.44037,2015-01-01 02:21:08,bin8468,35, +abc,8469,8469,8469,1993-03-10,846.6000000001239,846.54034,2015-01-01 02:21:09,bin8469,75, +abc,8470,8470,8470,1993-03-11,846.700000000124,846.6403,2015-01-01 02:21:10,bin8470,35, +abc,8471,8471,8471,1993-03-12,846.800000000124,846.7403,2015-01-01 02:21:11,bin8471,75, +abc,8472,8472,8472,1993-03-13,846.900000000124,846.8403,2015-01-01 02:21:12,bin8472,35, +abc,8473,8473,8473,1993-03-14,847.000000000124,846.94025,2015-01-01 02:21:13,bin8473,75, +abc,8474,8474,8474,1993-03-15,847.100000000124,847.0402,2015-01-01 02:21:14,bin8474,35, +abc,8475,8475,8475,1993-03-16,847.2000000001241,847.1402,2015-01-01 02:21:15,bin8475,75, +abc,8476,8476,8476,1993-03-17,847.3000000001241,847.2402,2015-01-01 02:21:16,bin8476,35, +abc,8477,8477,8477,1993-03-18,847.4000000001241,847.34015,2015-01-01 02:21:17,bin8477,75, +abc,8478,8478,8478,1993-03-19,847.5000000001241,847.4401,2015-01-01 02:21:18,bin8478,35, +abc,8479,8479,8479,1993-03-20,847.6000000001242,847.5401,2015-01-01 02:21:19,bin8479,75, +abc,8480,8480,8480,1993-03-21,847.7000000001242,847.6401,2015-01-01 02:21:20,bin8480,35, +abc,8481,8481,8481,1993-03-22,847.8000000001242,847.74005,2015-01-01 02:21:21,bin8481,75, +abc,8482,8482,8482,1993-03-23,847.9000000001242,847.84,2015-01-01 02:21:22,bin8482,35, +abc,8483,8483,8483,1993-03-24,848.0000000001243,847.94,2015-01-01 02:21:23,bin8483,75, +abc,8484,8484,8484,1993-03-25,848.1000000001243,848.04,2015-01-01 02:21:24,bin8484,35, +abc,8485,8485,8485,1993-03-26,848.2000000001243,848.13995,2015-01-01 02:21:25,bin8485,75, +abc,8486,8486,8486,1993-03-27,848.3000000001243,848.2399,2015-01-01 02:21:26,bin8486,35, +abc,8487,8487,8487,1993-03-28,848.4000000001244,848.3399,2015-01-01 02:21:27,bin8487,75, +abc,8488,8488,8488,1993-03-29,848.5000000001244,848.4399,2015-01-01 02:21:28,bin8488,35, +abc,8489,8489,8489,1993-03-30,848.6000000001244,848.53986,2015-01-01 02:21:29,bin8489,75, +abc,8490,8490,8490,1993-03-31,848.7000000001244,848.63983,2015-01-01 02:21:30,bin8490,35, +abc,8491,8491,8491,1993-04-01,848.8000000001244,848.7398,2015-01-01 02:21:31,bin8491,75, +abc,8492,8492,8492,1993-04-02,848.9000000001245,848.8398,2015-01-01 02:21:32,bin8492,35, +abc,8493,8493,8493,1993-04-03,849.0000000001245,848.93976,2015-01-01 02:21:33,bin8493,75, +abc,8494,8494,8494,1993-04-04,849.1000000001245,849.03973,2015-01-01 02:21:34,bin8494,35, +abc,8495,8495,8495,1993-04-05,849.2000000001245,849.1397,2015-01-01 02:21:35,bin8495,75, +abc,8496,8496,8496,1993-04-06,849.3000000001246,849.2397,2015-01-01 02:21:36,bin8496,35, +abc,8497,8497,8497,1993-04-07,849.4000000001246,849.33966,2015-01-01 02:21:37,bin8497,75, +abc,8498,8498,8498,1993-04-08,849.5000000001246,849.43964,2015-01-01 02:21:38,bin8498,35, +abc,8499,8499,8499,1993-04-09,849.6000000001246,849.5396,2015-01-01 02:21:39,bin8499,75, +abc,8500,8500,8500,1993-04-10,849.7000000001246,849.6396,2015-01-01 02:21:40,bin8500,35, +abc,8501,8501,8501,1993-04-11,849.8000000001247,849.73956,2015-01-01 02:21:41,bin8501,75, +abc,8502,8502,8502,1993-04-12,849.9000000001247,849.83954,2015-01-01 02:21:42,bin8502,35, +abc,8503,8503,8503,1993-04-13,850.0000000001247,849.9395,2015-01-01 02:21:43,bin8503,75, +abc,8504,8504,8504,1993-04-14,850.1000000001247,850.0395,2015-01-01 02:21:44,bin8504,35, +abc,8505,8505,8505,1993-04-15,850.2000000001248,850.13947,2015-01-01 02:21:45,bin8505,75, +abc,8506,8506,8506,1993-04-16,850.3000000001248,850.23944,2015-01-01 02:21:46,bin8506,35, +abc,8507,8507,8507,1993-04-17,850.4000000001248,850.3394,2015-01-01 02:21:47,bin8507,75, +abc,8508,8508,8508,1993-04-18,850.5000000001248,850.4394,2015-01-01 02:21:48,bin8508,35, +abc,8509,8509,8509,1993-04-19,850.6000000001249,850.53937,2015-01-01 02:21:49,bin8509,75, +abc,8510,8510,8510,1993-04-20,850.7000000001249,850.63934,2015-01-01 02:21:50,bin8510,35, +abc,8511,8511,8511,1993-04-21,850.8000000001249,850.7393,2015-01-01 02:21:51,bin8511,75, +abc,8512,8512,8512,1993-04-22,850.9000000001249,850.8393,2015-01-01 02:21:52,bin8512,35, +abc,8513,8513,8513,1993-04-23,851.0000000001249,850.9393,2015-01-01 02:21:53,bin8513,75, +abc,8514,8514,8514,1993-04-24,851.100000000125,851.03925,2015-01-01 02:21:54,bin8514,35, +abc,8515,8515,8515,1993-04-25,851.200000000125,851.1392,2015-01-01 02:21:55,bin8515,75, +abc,8516,8516,8516,1993-04-26,851.300000000125,851.2392,2015-01-01 02:21:56,bin8516,35, +abc,8517,8517,8517,1993-04-27,851.400000000125,851.3392,2015-01-01 02:21:57,bin8517,75, +abc,8518,8518,8518,1993-04-28,851.500000000125,851.43915,2015-01-01 02:21:58,bin8518,35, +abc,8519,8519,8519,1993-04-29,851.6000000001251,851.5391,2015-01-01 02:21:59,bin8519,75, +abc,8520,8520,8520,1993-04-30,851.7000000001251,851.6391,2015-01-01 02:22:00,bin8520,35, +abc,8521,8521,8521,1993-05-01,851.8000000001251,851.7391,2015-01-01 02:22:01,bin8521,75, +abc,8522,8522,8522,1993-05-02,851.9000000001251,851.83905,2015-01-01 02:22:02,bin8522,35, +abc,8523,8523,8523,1993-05-03,852.0000000001252,851.939,2015-01-01 02:22:03,bin8523,75, +abc,8524,8524,8524,1993-05-04,852.1000000001252,852.039,2015-01-01 02:22:04,bin8524,35, +abc,8525,8525,8525,1993-05-05,852.2000000001252,852.139,2015-01-01 02:22:05,bin8525,75, +abc,8526,8526,8526,1993-05-06,852.3000000001252,852.23895,2015-01-01 02:22:06,bin8526,35, +abc,8527,8527,8527,1993-05-07,852.4000000001253,852.3389,2015-01-01 02:22:07,bin8527,75, +abc,8528,8528,8528,1993-05-08,852.5000000001253,852.4389,2015-01-01 02:22:08,bin8528,35, +abc,8529,8529,8529,1993-05-09,852.6000000001253,852.5389,2015-01-01 02:22:09,bin8529,75, +abc,8530,8530,8530,1993-05-10,852.7000000001253,852.63885,2015-01-01 02:22:10,bin8530,35, +abc,8531,8531,8531,1993-05-11,852.8000000001254,852.73883,2015-01-01 02:22:11,bin8531,75, +abc,8532,8532,8532,1993-05-12,852.9000000001254,852.8388,2015-01-01 02:22:12,bin8532,35, +abc,8533,8533,8533,1993-05-13,853.0000000001254,852.9388,2015-01-01 02:22:13,bin8533,75, +abc,8534,8534,8534,1993-05-14,853.1000000001254,853.03876,2015-01-01 02:22:14,bin8534,35, +abc,8535,8535,8535,1993-05-15,853.2000000001254,853.13873,2015-01-01 02:22:15,bin8535,75, +abc,8536,8536,8536,1993-05-16,853.3000000001255,853.2387,2015-01-01 02:22:16,bin8536,35, +abc,8537,8537,8537,1993-05-17,853.4000000001255,853.3387,2015-01-01 02:22:17,bin8537,75, +abc,8538,8538,8538,1993-05-18,853.5000000001255,853.43866,2015-01-01 02:22:18,bin8538,35, +abc,8539,8539,8539,1993-05-19,853.6000000001255,853.53864,2015-01-01 02:22:19,bin8539,75, +abc,8540,8540,8540,1993-05-20,853.7000000001256,853.6386,2015-01-01 02:22:20,bin8540,35, +abc,8541,8541,8541,1993-05-21,853.8000000001256,853.7386,2015-01-01 02:22:21,bin8541,75, +abc,8542,8542,8542,1993-05-22,853.9000000001256,853.83856,2015-01-01 02:22:22,bin8542,35, +abc,8543,8543,8543,1993-05-23,854.0000000001256,853.93854,2015-01-01 02:22:23,bin8543,75, +abc,8544,8544,8544,1993-05-24,854.1000000001256,854.0385,2015-01-01 02:22:24,bin8544,35, +abc,8545,8545,8545,1993-05-25,854.2000000001257,854.1385,2015-01-01 02:22:25,bin8545,75, +abc,8546,8546,8546,1993-05-26,854.3000000001257,854.23846,2015-01-01 02:22:26,bin8546,35, +abc,8547,8547,8547,1993-05-27,854.4000000001257,854.33844,2015-01-01 02:22:27,bin8547,75, +abc,8548,8548,8548,1993-05-28,854.5000000001257,854.4384,2015-01-01 02:22:28,bin8548,35, +abc,8549,8549,8549,1993-05-29,854.6000000001258,854.5384,2015-01-01 02:22:29,bin8549,75, +abc,8550,8550,8550,1993-05-30,854.7000000001258,854.63837,2015-01-01 02:22:30,bin8550,35, +abc,8551,8551,8551,1993-05-31,854.8000000001258,854.73834,2015-01-01 02:22:31,bin8551,75, +abc,8552,8552,8552,1993-06-01,854.9000000001258,854.8383,2015-01-01 02:22:32,bin8552,35, +abc,8553,8553,8553,1993-06-02,855.0000000001259,854.9383,2015-01-01 02:22:33,bin8553,75, +abc,8554,8554,8554,1993-06-03,855.1000000001259,855.03827,2015-01-01 02:22:34,bin8554,35, +abc,8555,8555,8555,1993-06-04,855.2000000001259,855.13824,2015-01-01 02:22:35,bin8555,75, +abc,8556,8556,8556,1993-06-05,855.3000000001259,855.2382,2015-01-01 02:22:36,bin8556,35, +abc,8557,8557,8557,1993-06-06,855.4000000001259,855.3382,2015-01-01 02:22:37,bin8557,75, +abc,8558,8558,8558,1993-06-07,855.500000000126,855.4382,2015-01-01 02:22:38,bin8558,35, +abc,8559,8559,8559,1993-06-08,855.600000000126,855.53815,2015-01-01 02:22:39,bin8559,75, +abc,8560,8560,8560,1993-06-09,855.700000000126,855.6381,2015-01-01 02:22:40,bin8560,35, +abc,8561,8561,8561,1993-06-10,855.800000000126,855.7381,2015-01-01 02:22:41,bin8561,75, +abc,8562,8562,8562,1993-06-11,855.900000000126,855.8381,2015-01-01 02:22:42,bin8562,35, +abc,8563,8563,8563,1993-06-12,856.0000000001261,855.93805,2015-01-01 02:22:43,bin8563,75, +abc,8564,8564,8564,1993-06-13,856.1000000001261,856.038,2015-01-01 02:22:44,bin8564,35, +abc,8565,8565,8565,1993-06-14,856.2000000001261,856.138,2015-01-01 02:22:45,bin8565,75, +abc,8566,8566,8566,1993-06-15,856.3000000001261,856.238,2015-01-01 02:22:46,bin8566,35, +abc,8567,8567,8567,1993-06-16,856.4000000001262,856.33795,2015-01-01 02:22:47,bin8567,75, +abc,8568,8568,8568,1993-06-17,856.5000000001262,856.4379,2015-01-01 02:22:48,bin8568,35, +abc,8569,8569,8569,1993-06-18,856.6000000001262,856.5379,2015-01-01 02:22:49,bin8569,75, +abc,8570,8570,8570,1993-06-19,856.7000000001262,856.6379,2015-01-01 02:22:50,bin8570,35, +abc,8571,8571,8571,1993-06-20,856.8000000001263,856.73785,2015-01-01 02:22:51,bin8571,75, +abc,8572,8572,8572,1993-06-21,856.9000000001263,856.8378,2015-01-01 02:22:52,bin8572,35, +abc,8573,8573,8573,1993-06-22,857.0000000001263,856.9378,2015-01-01 02:22:53,bin8573,75, +abc,8574,8574,8574,1993-06-23,857.1000000001263,857.0378,2015-01-01 02:22:54,bin8574,35, +abc,8575,8575,8575,1993-06-24,857.2000000001264,857.13776,2015-01-01 02:22:55,bin8575,75, +abc,8576,8576,8576,1993-06-25,857.3000000001264,857.23773,2015-01-01 02:22:56,bin8576,35, +abc,8577,8577,8577,1993-06-26,857.4000000001264,857.3377,2015-01-01 02:22:57,bin8577,75, +abc,8578,8578,8578,1993-06-27,857.5000000001264,857.4377,2015-01-01 02:22:58,bin8578,35, +abc,8579,8579,8579,1993-06-28,857.6000000001264,857.53766,2015-01-01 02:22:59,bin8579,75, +abc,8580,8580,8580,1993-06-29,857.7000000001265,857.63763,2015-01-01 02:23:00,bin8580,35, +abc,8581,8581,8581,1993-06-30,857.8000000001265,857.7376,2015-01-01 02:23:01,bin8581,75, +abc,8582,8582,8582,1993-07-01,857.9000000001265,857.8376,2015-01-01 02:23:02,bin8582,35, +abc,8583,8583,8583,1993-07-02,858.0000000001265,857.93756,2015-01-01 02:23:03,bin8583,75, +abc,8584,8584,8584,1993-07-03,858.1000000001266,858.03754,2015-01-01 02:23:04,bin8584,35, +abc,8585,8585,8585,1993-07-04,858.2000000001266,858.1375,2015-01-01 02:23:05,bin8585,75, +abc,8586,8586,8586,1993-07-05,858.3000000001266,858.2375,2015-01-01 02:23:06,bin8586,35, +abc,8587,8587,8587,1993-07-06,858.4000000001266,858.33746,2015-01-01 02:23:07,bin8587,75, +abc,8588,8588,8588,1993-07-07,858.5000000001266,858.43744,2015-01-01 02:23:08,bin8588,35, +abc,8589,8589,8589,1993-07-08,858.6000000001267,858.5374,2015-01-01 02:23:09,bin8589,75, +abc,8590,8590,8590,1993-07-09,858.7000000001267,858.6374,2015-01-01 02:23:10,bin8590,35, +abc,8591,8591,8591,1993-07-10,858.8000000001267,858.73737,2015-01-01 02:23:11,bin8591,75, +abc,8592,8592,8592,1993-07-11,858.9000000001267,858.83734,2015-01-01 02:23:12,bin8592,35, +abc,8593,8593,8593,1993-07-12,859.0000000001268,858.9373,2015-01-01 02:23:13,bin8593,75, +abc,8594,8594,8594,1993-07-13,859.1000000001268,859.0373,2015-01-01 02:23:14,bin8594,35, +abc,8595,8595,8595,1993-07-14,859.2000000001268,859.13727,2015-01-01 02:23:15,bin8595,75, +abc,8596,8596,8596,1993-07-15,859.3000000001268,859.23724,2015-01-01 02:23:16,bin8596,35, +abc,8597,8597,8597,1993-07-16,859.4000000001269,859.3372,2015-01-01 02:23:17,bin8597,75, +abc,8598,8598,8598,1993-07-17,859.5000000001269,859.4372,2015-01-01 02:23:18,bin8598,35, +abc,8599,8599,8599,1993-07-18,859.6000000001269,859.5372,2015-01-01 02:23:19,bin8599,75, +abc,8600,8600,8600,1993-07-19,859.7000000001269,859.63715,2015-01-01 02:23:20,bin8600,35, +abc,8601,8601,8601,1993-07-20,859.8000000001269,859.7371,2015-01-01 02:23:21,bin8601,75, +abc,8602,8602,8602,1993-07-21,859.900000000127,859.8371,2015-01-01 02:23:22,bin8602,35, +abc,8603,8603,8603,1993-07-22,860.000000000127,859.9371,2015-01-01 02:23:23,bin8603,75, +abc,8604,8604,8604,1993-07-23,860.100000000127,860.03705,2015-01-01 02:23:24,bin8604,35, +abc,8605,8605,8605,1993-07-24,860.200000000127,860.137,2015-01-01 02:23:25,bin8605,75, +abc,8606,8606,8606,1993-07-25,860.300000000127,860.237,2015-01-01 02:23:26,bin8606,35, +abc,8607,8607,8607,1993-07-26,860.4000000001271,860.337,2015-01-01 02:23:27,bin8607,75, +abc,8608,8608,8608,1993-07-27,860.5000000001271,860.43695,2015-01-01 02:23:28,bin8608,35, +abc,8609,8609,8609,1993-07-28,860.6000000001271,860.5369,2015-01-01 02:23:29,bin8609,75, +abc,8610,8610,8610,1993-07-29,860.7000000001271,860.6369,2015-01-01 02:23:30,bin8610,35, +abc,8611,8611,8611,1993-07-30,860.8000000001272,860.7369,2015-01-01 02:23:31,bin8611,75, +abc,8612,8612,8612,1993-07-31,860.9000000001272,860.83685,2015-01-01 02:23:32,bin8612,35, +abc,8613,8613,8613,1993-08-01,861.0000000001272,860.9368,2015-01-01 02:23:33,bin8613,75, +abc,8614,8614,8614,1993-08-02,861.1000000001272,861.0368,2015-01-01 02:23:34,bin8614,35, +abc,8615,8615,8615,1993-08-03,861.2000000001273,861.1368,2015-01-01 02:23:35,bin8615,75, +abc,8616,8616,8616,1993-08-04,861.3000000001273,861.23676,2015-01-01 02:23:36,bin8616,35, +abc,8617,8617,8617,1993-08-05,861.4000000001273,861.33673,2015-01-01 02:23:37,bin8617,75, +abc,8618,8618,8618,1993-08-06,861.5000000001273,861.4367,2015-01-01 02:23:38,bin8618,35, +abc,8619,8619,8619,1993-08-07,861.6000000001274,861.5367,2015-01-01 02:23:39,bin8619,75, +abc,8620,8620,8620,1993-08-08,861.7000000001274,861.63666,2015-01-01 02:23:40,bin8620,35, +abc,8621,8621,8621,1993-08-09,861.8000000001274,861.73663,2015-01-01 02:23:41,bin8621,75, +abc,8622,8622,8622,1993-08-10,861.9000000001274,861.8366,2015-01-01 02:23:42,bin8622,35, +abc,8623,8623,8623,1993-08-11,862.0000000001274,861.9366,2015-01-01 02:23:43,bin8623,75, +abc,8624,8624,8624,1993-08-12,862.1000000001275,862.03656,2015-01-01 02:23:44,bin8624,35, +abc,8625,8625,8625,1993-08-13,862.2000000001275,862.13654,2015-01-01 02:23:45,bin8625,75, +abc,8626,8626,8626,1993-08-14,862.3000000001275,862.2365,2015-01-01 02:23:46,bin8626,35, +abc,8627,8627,8627,1993-08-15,862.4000000001275,862.3365,2015-01-01 02:23:47,bin8627,75, +abc,8628,8628,8628,1993-08-16,862.5000000001276,862.43646,2015-01-01 02:23:48,bin8628,35, +abc,8629,8629,8629,1993-08-17,862.6000000001276,862.53644,2015-01-01 02:23:49,bin8629,75, +abc,8630,8630,8630,1993-08-18,862.7000000001276,862.6364,2015-01-01 02:23:50,bin8630,35, +abc,8631,8631,8631,1993-08-19,862.8000000001276,862.7364,2015-01-01 02:23:51,bin8631,75, +abc,8632,8632,8632,1993-08-20,862.9000000001276,862.83636,2015-01-01 02:23:52,bin8632,35, +abc,8633,8633,8633,1993-08-21,863.0000000001277,862.93634,2015-01-01 02:23:53,bin8633,75, +abc,8634,8634,8634,1993-08-22,863.1000000001277,863.0363,2015-01-01 02:23:54,bin8634,35, +abc,8635,8635,8635,1993-08-23,863.2000000001277,863.1363,2015-01-01 02:23:55,bin8635,75, +abc,8636,8636,8636,1993-08-24,863.3000000001277,863.23627,2015-01-01 02:23:56,bin8636,35, +abc,8637,8637,8637,1993-08-25,863.4000000001278,863.33624,2015-01-01 02:23:57,bin8637,75, +abc,8638,8638,8638,1993-08-26,863.5000000001278,863.4362,2015-01-01 02:23:58,bin8638,35, +abc,8639,8639,8639,1993-08-27,863.6000000001278,863.5362,2015-01-01 02:23:59,bin8639,75, +abc,8640,8640,8640,1993-08-28,863.7000000001278,863.63617,2015-01-01 02:24:00,bin8640,35, +abc,8641,8641,8641,1993-08-29,863.8000000001279,863.73615,2015-01-01 02:24:01,bin8641,75, +abc,8642,8642,8642,1993-08-30,863.9000000001279,863.8361,2015-01-01 02:24:02,bin8642,35, +abc,8643,8643,8643,1993-08-31,864.0000000001279,863.9361,2015-01-01 02:24:03,bin8643,75, +abc,8644,8644,8644,1993-09-01,864.1000000001279,864.0361,2015-01-01 02:24:04,bin8644,35, +abc,8645,8645,8645,1993-09-02,864.200000000128,864.13605,2015-01-01 02:24:05,bin8645,75, +abc,8646,8646,8646,1993-09-03,864.300000000128,864.236,2015-01-01 02:24:06,bin8646,35, +abc,8647,8647,8647,1993-09-04,864.400000000128,864.336,2015-01-01 02:24:07,bin8647,75, +abc,8648,8648,8648,1993-09-05,864.500000000128,864.436,2015-01-01 02:24:08,bin8648,35, +abc,8649,8649,8649,1993-09-06,864.600000000128,864.53595,2015-01-01 02:24:09,bin8649,75, +abc,8650,8650,8650,1993-09-07,864.7000000001281,864.6359,2015-01-01 02:24:10,bin8650,35, +abc,8651,8651,8651,1993-09-08,864.8000000001281,864.7359,2015-01-01 02:24:11,bin8651,75, +abc,8652,8652,8652,1993-09-09,864.9000000001281,864.8359,2015-01-01 02:24:12,bin8652,35, +abc,8653,8653,8653,1993-09-10,865.0000000001281,864.93585,2015-01-01 02:24:13,bin8653,75, +abc,8654,8654,8654,1993-09-11,865.1000000001281,865.0358,2015-01-01 02:24:14,bin8654,35, +abc,8655,8655,8655,1993-09-12,865.2000000001282,865.1358,2015-01-01 02:24:15,bin8655,75, +abc,8656,8656,8656,1993-09-13,865.3000000001282,865.2358,2015-01-01 02:24:16,bin8656,35, +abc,8657,8657,8657,1993-09-14,865.4000000001282,865.33575,2015-01-01 02:24:17,bin8657,75, +abc,8658,8658,8658,1993-09-15,865.5000000001282,865.4357,2015-01-01 02:24:18,bin8658,35, +abc,8659,8659,8659,1993-09-16,865.6000000001283,865.5357,2015-01-01 02:24:19,bin8659,75, +abc,8660,8660,8660,1993-09-17,865.7000000001283,865.6357,2015-01-01 02:24:20,bin8660,35, +abc,8661,8661,8661,1993-09-18,865.8000000001283,865.73566,2015-01-01 02:24:21,bin8661,75, +abc,8662,8662,8662,1993-09-19,865.9000000001283,865.83563,2015-01-01 02:24:22,bin8662,35, +abc,8663,8663,8663,1993-09-20,866.0000000001284,865.9356,2015-01-01 02:24:23,bin8663,75, +abc,8664,8664,8664,1993-09-21,866.1000000001284,866.0356,2015-01-01 02:24:24,bin8664,35, +abc,8665,8665,8665,1993-09-22,866.2000000001284,866.13556,2015-01-01 02:24:25,bin8665,75, +abc,8666,8666,8666,1993-09-23,866.3000000001284,866.23553,2015-01-01 02:24:26,bin8666,35, +abc,8667,8667,8667,1993-09-24,866.4000000001284,866.3355,2015-01-01 02:24:27,bin8667,75, +abc,8668,8668,8668,1993-09-25,866.5000000001285,866.4355,2015-01-01 02:24:28,bin8668,35, +abc,8669,8669,8669,1993-09-26,866.6000000001285,866.53546,2015-01-01 02:24:29,bin8669,75, +abc,8670,8670,8670,1993-09-27,866.7000000001285,866.63544,2015-01-01 02:24:30,bin8670,35, +abc,8671,8671,8671,1993-09-28,866.8000000001285,866.7354,2015-01-01 02:24:31,bin8671,75, +abc,8672,8672,8672,1993-09-29,866.9000000001286,866.8354,2015-01-01 02:24:32,bin8672,35, +abc,8673,8673,8673,1993-09-30,867.0000000001286,866.93536,2015-01-01 02:24:33,bin8673,75, +abc,8674,8674,8674,1993-10-01,867.1000000001286,867.03534,2015-01-01 02:24:34,bin8674,35, +abc,8675,8675,8675,1993-10-02,867.2000000001286,867.1353,2015-01-01 02:24:35,bin8675,75, +abc,8676,8676,8676,1993-10-03,867.3000000001286,867.2353,2015-01-01 02:24:36,bin8676,35, +abc,8677,8677,8677,1993-10-04,867.4000000001287,867.33527,2015-01-01 02:24:37,bin8677,75, +abc,8678,8678,8678,1993-10-05,867.5000000001287,867.43524,2015-01-01 02:24:38,bin8678,35, +abc,8679,8679,8679,1993-10-06,867.6000000001287,867.5352,2015-01-01 02:24:39,bin8679,75, +abc,8680,8680,8680,1993-10-07,867.7000000001287,867.6352,2015-01-01 02:24:40,bin8680,35, +abc,8681,8681,8681,1993-10-08,867.8000000001288,867.73517,2015-01-01 02:24:41,bin8681,75, +abc,8682,8682,8682,1993-10-09,867.9000000001288,867.83514,2015-01-01 02:24:42,bin8682,35, +abc,8683,8683,8683,1993-10-10,868.0000000001288,867.9351,2015-01-01 02:24:43,bin8683,75, +abc,8684,8684,8684,1993-10-11,868.1000000001288,868.0351,2015-01-01 02:24:44,bin8684,35, +abc,8685,8685,8685,1993-10-12,868.2000000001289,868.1351,2015-01-01 02:24:45,bin8685,75, +abc,8686,8686,8686,1993-10-13,868.3000000001289,868.23505,2015-01-01 02:24:46,bin8686,35, +abc,8687,8687,8687,1993-10-14,868.4000000001289,868.335,2015-01-01 02:24:47,bin8687,75, +abc,8688,8688,8688,1993-10-15,868.5000000001289,868.435,2015-01-01 02:24:48,bin8688,35, +abc,8689,8689,8689,1993-10-16,868.600000000129,868.535,2015-01-01 02:24:49,bin8689,75, +abc,8690,8690,8690,1993-10-17,868.700000000129,868.63495,2015-01-01 02:24:50,bin8690,35, +abc,8691,8691,8691,1993-10-18,868.800000000129,868.7349,2015-01-01 02:24:51,bin8691,75, +abc,8692,8692,8692,1993-10-19,868.900000000129,868.8349,2015-01-01 02:24:52,bin8692,35, +abc,8693,8693,8693,1993-10-20,869.000000000129,868.9349,2015-01-01 02:24:53,bin8693,75, +abc,8694,8694,8694,1993-10-21,869.1000000001291,869.03485,2015-01-01 02:24:54,bin8694,35, +abc,8695,8695,8695,1993-10-22,869.2000000001291,869.1348,2015-01-01 02:24:55,bin8695,75, +abc,8696,8696,8696,1993-10-23,869.3000000001291,869.2348,2015-01-01 02:24:56,bin8696,35, +abc,8697,8697,8697,1993-10-24,869.4000000001291,869.3348,2015-01-01 02:24:57,bin8697,75, +abc,8698,8698,8698,1993-10-25,869.5000000001291,869.43475,2015-01-01 02:24:58,bin8698,35, +abc,8699,8699,8699,1993-10-26,869.6000000001292,869.5347,2015-01-01 02:24:59,bin8699,75, +abc,8700,8700,8700,1993-10-27,869.7000000001292,869.6347,2015-01-01 02:25:00,bin8700,35, +abc,8701,8701,8701,1993-10-28,869.8000000001292,869.7347,2015-01-01 02:25:01,bin8701,75, +abc,8702,8702,8702,1993-10-29,869.9000000001292,869.83466,2015-01-01 02:25:02,bin8702,35, +abc,8703,8703,8703,1993-10-30,870.0000000001293,869.93463,2015-01-01 02:25:03,bin8703,75, +abc,8704,8704,8704,1993-10-31,870.1000000001293,870.0346,2015-01-01 02:25:04,bin8704,35, +abc,8705,8705,8705,1993-11-01,870.2000000001293,870.1346,2015-01-01 02:25:05,bin8705,75, +abc,8706,8706,8706,1993-11-02,870.3000000001293,870.23456,2015-01-01 02:25:06,bin8706,35, +abc,8707,8707,8707,1993-11-03,870.4000000001294,870.33453,2015-01-01 02:25:07,bin8707,75, +abc,8708,8708,8708,1993-11-04,870.5000000001294,870.4345,2015-01-01 02:25:08,bin8708,35, +abc,8709,8709,8709,1993-11-05,870.6000000001294,870.5345,2015-01-01 02:25:09,bin8709,75, +abc,8710,8710,8710,1993-11-06,870.7000000001294,870.63446,2015-01-01 02:25:10,bin8710,35, +abc,8711,8711,8711,1993-11-07,870.8000000001294,870.73444,2015-01-01 02:25:11,bin8711,75, +abc,8712,8712,8712,1993-11-08,870.9000000001295,870.8344,2015-01-01 02:25:12,bin8712,35, +abc,8713,8713,8713,1993-11-09,871.0000000001295,870.9344,2015-01-01 02:25:13,bin8713,75, +abc,8714,8714,8714,1993-11-10,871.1000000001295,871.03436,2015-01-01 02:25:14,bin8714,35, +abc,8715,8715,8715,1993-11-11,871.2000000001295,871.13434,2015-01-01 02:25:15,bin8715,75, +abc,8716,8716,8716,1993-11-12,871.3000000001296,871.2343,2015-01-01 02:25:16,bin8716,35, +abc,8717,8717,8717,1993-11-13,871.4000000001296,871.3343,2015-01-01 02:25:17,bin8717,75, +abc,8718,8718,8718,1993-11-14,871.5000000001296,871.43427,2015-01-01 02:25:18,bin8718,35, +abc,8719,8719,8719,1993-11-15,871.6000000001296,871.53424,2015-01-01 02:25:19,bin8719,75, +abc,8720,8720,8720,1993-11-16,871.7000000001296,871.6342,2015-01-01 02:25:20,bin8720,35, +abc,8721,8721,8721,1993-11-17,871.8000000001297,871.7342,2015-01-01 02:25:21,bin8721,75, +abc,8722,8722,8722,1993-11-18,871.9000000001297,871.83417,2015-01-01 02:25:22,bin8722,35, +abc,8723,8723,8723,1993-11-19,872.0000000001297,871.93414,2015-01-01 02:25:23,bin8723,75, +abc,8724,8724,8724,1993-11-20,872.1000000001297,872.0341,2015-01-01 02:25:24,bin8724,35, +abc,8725,8725,8725,1993-11-21,872.2000000001298,872.1341,2015-01-01 02:25:25,bin8725,75, +abc,8726,8726,8726,1993-11-22,872.3000000001298,872.2341,2015-01-01 02:25:26,bin8726,35, +abc,8727,8727,8727,1993-11-23,872.4000000001298,872.33405,2015-01-01 02:25:27,bin8727,75, +abc,8728,8728,8728,1993-11-24,872.5000000001298,872.434,2015-01-01 02:25:28,bin8728,35, +abc,8729,8729,8729,1993-11-25,872.6000000001299,872.534,2015-01-01 02:25:29,bin8729,75, +abc,8730,8730,8730,1993-11-26,872.7000000001299,872.634,2015-01-01 02:25:30,bin8730,35, +abc,8731,8731,8731,1993-11-27,872.8000000001299,872.73395,2015-01-01 02:25:31,bin8731,75, +abc,8732,8732,8732,1993-11-28,872.9000000001299,872.8339,2015-01-01 02:25:32,bin8732,35, +abc,8733,8733,8733,1993-11-29,873.00000000013,872.9339,2015-01-01 02:25:33,bin8733,75, +abc,8734,8734,8734,1993-11-30,873.10000000013,873.0339,2015-01-01 02:25:34,bin8734,35, +abc,8735,8735,8735,1993-12-01,873.20000000013,873.13385,2015-01-01 02:25:35,bin8735,75, +abc,8736,8736,8736,1993-12-02,873.30000000013,873.2338,2015-01-01 02:25:36,bin8736,35, +abc,8737,8737,8737,1993-12-03,873.40000000013,873.3338,2015-01-01 02:25:37,bin8737,75, +abc,8738,8738,8738,1993-12-04,873.5000000001301,873.4338,2015-01-01 02:25:38,bin8738,35, +abc,8739,8739,8739,1993-12-05,873.6000000001301,873.53375,2015-01-01 02:25:39,bin8739,75, +abc,8740,8740,8740,1993-12-06,873.7000000001301,873.6337,2015-01-01 02:25:40,bin8740,35, +abc,8741,8741,8741,1993-12-07,873.8000000001301,873.7337,2015-01-01 02:25:41,bin8741,75, +abc,8742,8742,8742,1993-12-08,873.9000000001301,873.8337,2015-01-01 02:25:42,bin8742,35, +abc,8743,8743,8743,1993-12-09,874.0000000001302,873.93365,2015-01-01 02:25:43,bin8743,75, +abc,8744,8744,8744,1993-12-10,874.1000000001302,874.0336,2015-01-01 02:25:44,bin8744,35, +abc,8745,8745,8745,1993-12-11,874.2000000001302,874.1336,2015-01-01 02:25:45,bin8745,75, +abc,8746,8746,8746,1993-12-12,874.3000000001302,874.2336,2015-01-01 02:25:46,bin8746,35, +abc,8747,8747,8747,1993-12-13,874.4000000001303,874.33356,2015-01-01 02:25:47,bin8747,75, +abc,8748,8748,8748,1993-12-14,874.5000000001303,874.43353,2015-01-01 02:25:48,bin8748,35, +abc,8749,8749,8749,1993-12-15,874.6000000001303,874.5335,2015-01-01 02:25:49,bin8749,75, +abc,8750,8750,8750,1993-12-16,874.7000000001303,874.6335,2015-01-01 02:25:50,bin8750,35, +abc,8751,8751,8751,1993-12-17,874.8000000001304,874.73346,2015-01-01 02:25:51,bin8751,75, +abc,8752,8752,8752,1993-12-18,874.9000000001304,874.83344,2015-01-01 02:25:52,bin8752,35, +abc,8753,8753,8753,1993-12-19,875.0000000001304,874.9334,2015-01-01 02:25:53,bin8753,75, +abc,8754,8754,8754,1993-12-20,875.1000000001304,875.0334,2015-01-01 02:25:54,bin8754,35, +abc,8755,8755,8755,1993-12-21,875.2000000001304,875.13336,2015-01-01 02:25:55,bin8755,75, +abc,8756,8756,8756,1993-12-22,875.3000000001305,875.23334,2015-01-01 02:25:56,bin8756,35, +abc,8757,8757,8757,1993-12-23,875.4000000001305,875.3333,2015-01-01 02:25:57,bin8757,75, +abc,8758,8758,8758,1993-12-24,875.5000000001305,875.4333,2015-01-01 02:25:58,bin8758,35, +abc,8759,8759,8759,1993-12-25,875.6000000001305,875.53326,2015-01-01 02:25:59,bin8759,75, +abc,8760,8760,8760,1993-12-26,875.7000000001306,875.63324,2015-01-01 02:26:00,bin8760,35, +abc,8761,8761,8761,1993-12-27,875.8000000001306,875.7332,2015-01-01 02:26:01,bin8761,75, +abc,8762,8762,8762,1993-12-28,875.9000000001306,875.8332,2015-01-01 02:26:02,bin8762,35, +abc,8763,8763,8763,1993-12-29,876.0000000001306,875.93317,2015-01-01 02:26:03,bin8763,75, +abc,8764,8764,8764,1993-12-30,876.1000000001306,876.03314,2015-01-01 02:26:04,bin8764,35, +abc,8765,8765,8765,1993-12-31,876.2000000001307,876.1331,2015-01-01 02:26:05,bin8765,75, +abc,8766,8766,8766,1994-01-01,876.3000000001307,876.2331,2015-01-01 02:26:06,bin8766,35, +abc,8767,8767,8767,1994-01-02,876.4000000001307,876.33307,2015-01-01 02:26:07,bin8767,75, +abc,8768,8768,8768,1994-01-03,876.5000000001307,876.43304,2015-01-01 02:26:08,bin8768,35, +abc,8769,8769,8769,1994-01-04,876.6000000001308,876.533,2015-01-01 02:26:09,bin8769,75, +abc,8770,8770,8770,1994-01-05,876.7000000001308,876.633,2015-01-01 02:26:10,bin8770,35, +abc,8771,8771,8771,1994-01-06,876.8000000001308,876.733,2015-01-01 02:26:11,bin8771,75, +abc,8772,8772,8772,1994-01-07,876.9000000001308,876.83295,2015-01-01 02:26:12,bin8772,35, +abc,8773,8773,8773,1994-01-08,877.0000000001309,876.9329,2015-01-01 02:26:13,bin8773,75, +abc,8774,8774,8774,1994-01-09,877.1000000001309,877.0329,2015-01-01 02:26:14,bin8774,35, +abc,8775,8775,8775,1994-01-10,877.2000000001309,877.1329,2015-01-01 02:26:15,bin8775,75, +abc,8776,8776,8776,1994-01-11,877.3000000001309,877.23285,2015-01-01 02:26:16,bin8776,35, +abc,8777,8777,8777,1994-01-12,877.400000000131,877.3328,2015-01-01 02:26:17,bin8777,75, +abc,8778,8778,8778,1994-01-13,877.500000000131,877.4328,2015-01-01 02:26:18,bin8778,35, +abc,8779,8779,8779,1994-01-14,877.600000000131,877.5328,2015-01-01 02:26:19,bin8779,75, +abc,8780,8780,8780,1994-01-15,877.700000000131,877.63275,2015-01-01 02:26:20,bin8780,35, +abc,8781,8781,8781,1994-01-16,877.800000000131,877.7327,2015-01-01 02:26:21,bin8781,75, +abc,8782,8782,8782,1994-01-17,877.9000000001311,877.8327,2015-01-01 02:26:22,bin8782,35, +abc,8783,8783,8783,1994-01-18,878.0000000001311,877.9327,2015-01-01 02:26:23,bin8783,75, +abc,8784,8784,8784,1994-01-19,878.1000000001311,878.03265,2015-01-01 02:26:24,bin8784,35, +abc,8785,8785,8785,1994-01-20,878.2000000001311,878.1326,2015-01-01 02:26:25,bin8785,75, +abc,8786,8786,8786,1994-01-21,878.3000000001311,878.2326,2015-01-01 02:26:26,bin8786,35, +abc,8787,8787,8787,1994-01-22,878.4000000001312,878.3326,2015-01-01 02:26:27,bin8787,75, +abc,8788,8788,8788,1994-01-23,878.5000000001312,878.43256,2015-01-01 02:26:28,bin8788,35, +abc,8789,8789,8789,1994-01-24,878.6000000001312,878.53253,2015-01-01 02:26:29,bin8789,75, +abc,8790,8790,8790,1994-01-25,878.7000000001312,878.6325,2015-01-01 02:26:30,bin8790,35, +abc,8791,8791,8791,1994-01-26,878.8000000001313,878.7325,2015-01-01 02:26:31,bin8791,75, +abc,8792,8792,8792,1994-01-27,878.9000000001313,878.83246,2015-01-01 02:26:32,bin8792,35, +abc,8793,8793,8793,1994-01-28,879.0000000001313,878.93243,2015-01-01 02:26:33,bin8793,75, +abc,8794,8794,8794,1994-01-29,879.1000000001313,879.0324,2015-01-01 02:26:34,bin8794,35, +abc,8795,8795,8795,1994-01-30,879.2000000001314,879.1324,2015-01-01 02:26:35,bin8795,75, +abc,8796,8796,8796,1994-01-31,879.3000000001314,879.23236,2015-01-01 02:26:36,bin8796,35, +abc,8797,8797,8797,1994-02-01,879.4000000001314,879.33234,2015-01-01 02:26:37,bin8797,75, +abc,8798,8798,8798,1994-02-02,879.5000000001314,879.4323,2015-01-01 02:26:38,bin8798,35, +abc,8799,8799,8799,1994-02-03,879.6000000001314,879.5323,2015-01-01 02:26:39,bin8799,75, +abc,8800,8800,8800,1994-02-04,879.7000000001315,879.63226,2015-01-01 02:26:40,bin8800,35, +abc,8801,8801,8801,1994-02-05,879.8000000001315,879.73224,2015-01-01 02:26:41,bin8801,75, +abc,8802,8802,8802,1994-02-06,879.9000000001315,879.8322,2015-01-01 02:26:42,bin8802,35, +abc,8803,8803,8803,1994-02-07,880.0000000001315,879.9322,2015-01-01 02:26:43,bin8803,75, +abc,8804,8804,8804,1994-02-08,880.1000000001316,880.03217,2015-01-01 02:26:44,bin8804,35, +abc,8805,8805,8805,1994-02-09,880.2000000001316,880.13214,2015-01-01 02:26:45,bin8805,75, +abc,8806,8806,8806,1994-02-10,880.3000000001316,880.2321,2015-01-01 02:26:46,bin8806,35, +abc,8807,8807,8807,1994-02-11,880.4000000001316,880.3321,2015-01-01 02:26:47,bin8807,75, +abc,8808,8808,8808,1994-02-12,880.5000000001316,880.43207,2015-01-01 02:26:48,bin8808,35, +abc,8809,8809,8809,1994-02-13,880.6000000001317,880.53204,2015-01-01 02:26:49,bin8809,75, +abc,8810,8810,8810,1994-02-14,880.7000000001317,880.632,2015-01-01 02:26:50,bin8810,35, +abc,8811,8811,8811,1994-02-15,880.8000000001317,880.732,2015-01-01 02:26:51,bin8811,75, +abc,8812,8812,8812,1994-02-16,880.9000000001317,880.832,2015-01-01 02:26:52,bin8812,35, +abc,8813,8813,8813,1994-02-17,881.0000000001318,880.93195,2015-01-01 02:26:53,bin8813,75, +abc,8814,8814,8814,1994-02-18,881.1000000001318,881.0319,2015-01-01 02:26:54,bin8814,35, +abc,8815,8815,8815,1994-02-19,881.2000000001318,881.1319,2015-01-01 02:26:55,bin8815,75, +abc,8816,8816,8816,1994-02-20,881.3000000001318,881.2319,2015-01-01 02:26:56,bin8816,35, +abc,8817,8817,8817,1994-02-21,881.4000000001319,881.33185,2015-01-01 02:26:57,bin8817,75, +abc,8818,8818,8818,1994-02-22,881.5000000001319,881.4318,2015-01-01 02:26:58,bin8818,35, +abc,8819,8819,8819,1994-02-23,881.6000000001319,881.5318,2015-01-01 02:26:59,bin8819,75, +abc,8820,8820,8820,1994-02-24,881.7000000001319,881.6318,2015-01-01 02:27:00,bin8820,35, +abc,8821,8821,8821,1994-02-25,881.800000000132,881.73175,2015-01-01 02:27:01,bin8821,75, +abc,8822,8822,8822,1994-02-26,881.900000000132,881.8317,2015-01-01 02:27:02,bin8822,35, +abc,8823,8823,8823,1994-02-27,882.000000000132,881.9317,2015-01-01 02:27:03,bin8823,75, +abc,8824,8824,8824,1994-02-28,882.100000000132,882.0317,2015-01-01 02:27:04,bin8824,35, +abc,8825,8825,8825,1994-03-01,882.200000000132,882.13165,2015-01-01 02:27:05,bin8825,75, +abc,8826,8826,8826,1994-03-02,882.3000000001321,882.2316,2015-01-01 02:27:06,bin8826,35, +abc,8827,8827,8827,1994-03-03,882.4000000001321,882.3316,2015-01-01 02:27:07,bin8827,75, +abc,8828,8828,8828,1994-03-04,882.5000000001321,882.4316,2015-01-01 02:27:08,bin8828,35, +abc,8829,8829,8829,1994-03-05,882.6000000001321,882.53156,2015-01-01 02:27:09,bin8829,75, +abc,8830,8830,8830,1994-03-06,882.7000000001321,882.63153,2015-01-01 02:27:10,bin8830,35, +abc,8831,8831,8831,1994-03-07,882.8000000001322,882.7315,2015-01-01 02:27:11,bin8831,75, +abc,8832,8832,8832,1994-03-08,882.9000000001322,882.8315,2015-01-01 02:27:12,bin8832,35, +abc,8833,8833,8833,1994-03-09,883.0000000001322,882.93146,2015-01-01 02:27:13,bin8833,75, +abc,8834,8834,8834,1994-03-10,883.1000000001322,883.03143,2015-01-01 02:27:14,bin8834,35, +abc,8835,8835,8835,1994-03-11,883.2000000001323,883.1314,2015-01-01 02:27:15,bin8835,75, +abc,8836,8836,8836,1994-03-12,883.3000000001323,883.2314,2015-01-01 02:27:16,bin8836,35, +abc,8837,8837,8837,1994-03-13,883.4000000001323,883.33136,2015-01-01 02:27:17,bin8837,75, +abc,8838,8838,8838,1994-03-14,883.5000000001323,883.43134,2015-01-01 02:27:18,bin8838,35, +abc,8839,8839,8839,1994-03-15,883.6000000001324,883.5313,2015-01-01 02:27:19,bin8839,75, +abc,8840,8840,8840,1994-03-16,883.7000000001324,883.6313,2015-01-01 02:27:20,bin8840,35, +abc,8841,8841,8841,1994-03-17,883.8000000001324,883.73126,2015-01-01 02:27:21,bin8841,75, +abc,8842,8842,8842,1994-03-18,883.9000000001324,883.83124,2015-01-01 02:27:22,bin8842,35, +abc,8843,8843,8843,1994-03-19,884.0000000001324,883.9312,2015-01-01 02:27:23,bin8843,75, +abc,8844,8844,8844,1994-03-20,884.1000000001325,884.0312,2015-01-01 02:27:24,bin8844,35, +abc,8845,8845,8845,1994-03-21,884.2000000001325,884.13116,2015-01-01 02:27:25,bin8845,75, +abc,8846,8846,8846,1994-03-22,884.3000000001325,884.23114,2015-01-01 02:27:26,bin8846,35, +abc,8847,8847,8847,1994-03-23,884.4000000001325,884.3311,2015-01-01 02:27:27,bin8847,75, +abc,8848,8848,8848,1994-03-24,884.5000000001326,884.4311,2015-01-01 02:27:28,bin8848,35, +abc,8849,8849,8849,1994-03-25,884.6000000001326,884.53107,2015-01-01 02:27:29,bin8849,75, +abc,8850,8850,8850,1994-03-26,884.7000000001326,884.63104,2015-01-01 02:27:30,bin8850,35, +abc,8851,8851,8851,1994-03-27,884.8000000001326,884.731,2015-01-01 02:27:31,bin8851,75, +abc,8852,8852,8852,1994-03-28,884.9000000001326,884.831,2015-01-01 02:27:32,bin8852,35, +abc,8853,8853,8853,1994-03-29,885.0000000001327,884.93097,2015-01-01 02:27:33,bin8853,75, +abc,8854,8854,8854,1994-03-30,885.1000000001327,885.03094,2015-01-01 02:27:34,bin8854,35, +abc,8855,8855,8855,1994-03-31,885.2000000001327,885.1309,2015-01-01 02:27:35,bin8855,75, +abc,8856,8856,8856,1994-04-01,885.3000000001327,885.2309,2015-01-01 02:27:36,bin8856,35, +abc,8857,8857,8857,1994-04-02,885.4000000001328,885.3309,2015-01-01 02:27:37,bin8857,75, +abc,8858,8858,8858,1994-04-03,885.5000000001328,885.43085,2015-01-01 02:27:38,bin8858,35, +abc,8859,8859,8859,1994-04-04,885.6000000001328,885.5308,2015-01-01 02:27:39,bin8859,75, +abc,8860,8860,8860,1994-04-05,885.7000000001328,885.6308,2015-01-01 02:27:40,bin8860,35, +abc,8861,8861,8861,1994-04-06,885.8000000001329,885.7308,2015-01-01 02:27:41,bin8861,75, +abc,8862,8862,8862,1994-04-07,885.9000000001329,885.83075,2015-01-01 02:27:42,bin8862,35, +abc,8863,8863,8863,1994-04-08,886.0000000001329,885.9307,2015-01-01 02:27:43,bin8863,75, +abc,8864,8864,8864,1994-04-09,886.1000000001329,886.0307,2015-01-01 02:27:44,bin8864,35, +abc,8865,8865,8865,1994-04-10,886.200000000133,886.1307,2015-01-01 02:27:45,bin8865,75, +abc,8866,8866,8866,1994-04-11,886.300000000133,886.23065,2015-01-01 02:27:46,bin8866,35, +abc,8867,8867,8867,1994-04-12,886.400000000133,886.3306,2015-01-01 02:27:47,bin8867,75, +abc,8868,8868,8868,1994-04-13,886.500000000133,886.4306,2015-01-01 02:27:48,bin8868,35, +abc,8869,8869,8869,1994-04-14,886.600000000133,886.5306,2015-01-01 02:27:49,bin8869,75, +abc,8870,8870,8870,1994-04-15,886.7000000001331,886.63055,2015-01-01 02:27:50,bin8870,35, +abc,8871,8871,8871,1994-04-16,886.8000000001331,886.7305,2015-01-01 02:27:51,bin8871,75, +abc,8872,8872,8872,1994-04-17,886.9000000001331,886.8305,2015-01-01 02:27:52,bin8872,35, +abc,8873,8873,8873,1994-04-18,887.0000000001331,886.9305,2015-01-01 02:27:53,bin8873,75, +abc,8874,8874,8874,1994-04-19,887.1000000001332,887.03046,2015-01-01 02:27:54,bin8874,35, +abc,8875,8875,8875,1994-04-20,887.2000000001332,887.13043,2015-01-01 02:27:55,bin8875,75, +abc,8876,8876,8876,1994-04-21,887.3000000001332,887.2304,2015-01-01 02:27:56,bin8876,35, +abc,8877,8877,8877,1994-04-22,887.4000000001332,887.3304,2015-01-01 02:27:57,bin8877,75, +abc,8878,8878,8878,1994-04-23,887.5000000001332,887.43036,2015-01-01 02:27:58,bin8878,35, +abc,8879,8879,8879,1994-04-24,887.6000000001333,887.53033,2015-01-01 02:27:59,bin8879,75, +abc,8880,8880,8880,1994-04-25,887.7000000001333,887.6303,2015-01-01 02:28:00,bin8880,35, +abc,8881,8881,8881,1994-04-26,887.8000000001333,887.7303,2015-01-01 02:28:01,bin8881,75, +abc,8882,8882,8882,1994-04-27,887.9000000001333,887.83026,2015-01-01 02:28:02,bin8882,35, +abc,8883,8883,8883,1994-04-28,888.0000000001334,887.93024,2015-01-01 02:28:03,bin8883,75, +abc,8884,8884,8884,1994-04-29,888.1000000001334,888.0302,2015-01-01 02:28:04,bin8884,35, +abc,8885,8885,8885,1994-04-30,888.2000000001334,888.1302,2015-01-01 02:28:05,bin8885,75, +abc,8886,8886,8886,1994-05-01,888.3000000001334,888.23016,2015-01-01 02:28:06,bin8886,35, +abc,8887,8887,8887,1994-05-02,888.4000000001334,888.33014,2015-01-01 02:28:07,bin8887,75, +abc,8888,8888,8888,1994-05-03,888.5000000001335,888.4301,2015-01-01 02:28:08,bin8888,35, +abc,8889,8889,8889,1994-05-04,888.6000000001335,888.5301,2015-01-01 02:28:09,bin8889,75, +abc,8890,8890,8890,1994-05-05,888.7000000001335,888.63007,2015-01-01 02:28:10,bin8890,35, +abc,8891,8891,8891,1994-05-06,888.8000000001335,888.73004,2015-01-01 02:28:11,bin8891,75, +abc,8892,8892,8892,1994-05-07,888.9000000001336,888.83,2015-01-01 02:28:12,bin8892,35, +abc,8893,8893,8893,1994-05-08,889.0000000001336,888.93,2015-01-01 02:28:13,bin8893,75, +abc,8894,8894,8894,1994-05-09,889.1000000001336,889.02997,2015-01-01 02:28:14,bin8894,35, +abc,8895,8895,8895,1994-05-10,889.2000000001336,889.12994,2015-01-01 02:28:15,bin8895,75, +abc,8896,8896,8896,1994-05-11,889.3000000001337,889.2299,2015-01-01 02:28:16,bin8896,35, +abc,8897,8897,8897,1994-05-12,889.4000000001337,889.3299,2015-01-01 02:28:17,bin8897,75, +abc,8898,8898,8898,1994-05-13,889.5000000001337,889.4299,2015-01-01 02:28:18,bin8898,35, +abc,8899,8899,8899,1994-05-14,889.6000000001337,889.52985,2015-01-01 02:28:19,bin8899,75, +abc,8900,8900,8900,1994-05-15,889.7000000001337,889.6298,2015-01-01 02:28:20,bin8900,35, +abc,8901,8901,8901,1994-05-16,889.8000000001338,889.7298,2015-01-01 02:28:21,bin8901,75, +abc,8902,8902,8902,1994-05-17,889.9000000001338,889.8298,2015-01-01 02:28:22,bin8902,35, +abc,8903,8903,8903,1994-05-18,890.0000000001338,889.92975,2015-01-01 02:28:23,bin8903,75, +abc,8904,8904,8904,1994-05-19,890.1000000001338,890.0297,2015-01-01 02:28:24,bin8904,35, +abc,8905,8905,8905,1994-05-20,890.2000000001339,890.1297,2015-01-01 02:28:25,bin8905,75, +abc,8906,8906,8906,1994-05-21,890.3000000001339,890.2297,2015-01-01 02:28:26,bin8906,35, +abc,8907,8907,8907,1994-05-22,890.4000000001339,890.32965,2015-01-01 02:28:27,bin8907,75, +abc,8908,8908,8908,1994-05-23,890.5000000001339,890.4296,2015-01-01 02:28:28,bin8908,35, +abc,8909,8909,8909,1994-05-24,890.600000000134,890.5296,2015-01-01 02:28:29,bin8909,75, +abc,8910,8910,8910,1994-05-25,890.700000000134,890.6296,2015-01-01 02:28:30,bin8910,35, +abc,8911,8911,8911,1994-05-26,890.800000000134,890.72955,2015-01-01 02:28:31,bin8911,75, +abc,8912,8912,8912,1994-05-27,890.900000000134,890.8295,2015-01-01 02:28:32,bin8912,35, +abc,8913,8913,8913,1994-05-28,891.000000000134,890.9295,2015-01-01 02:28:33,bin8913,75, +abc,8914,8914,8914,1994-05-29,891.1000000001341,891.0295,2015-01-01 02:28:34,bin8914,35, +abc,8915,8915,8915,1994-05-30,891.2000000001341,891.12946,2015-01-01 02:28:35,bin8915,75, +abc,8916,8916,8916,1994-05-31,891.3000000001341,891.22943,2015-01-01 02:28:36,bin8916,35, +abc,8917,8917,8917,1994-06-01,891.4000000001341,891.3294,2015-01-01 02:28:37,bin8917,75, +abc,8918,8918,8918,1994-06-02,891.5000000001342,891.4294,2015-01-01 02:28:38,bin8918,35, +abc,8919,8919,8919,1994-06-03,891.6000000001342,891.52936,2015-01-01 02:28:39,bin8919,75, +abc,8920,8920,8920,1994-06-04,891.7000000001342,891.62933,2015-01-01 02:28:40,bin8920,35, +abc,8921,8921,8921,1994-06-05,891.8000000001342,891.7293,2015-01-01 02:28:41,bin8921,75, +abc,8922,8922,8922,1994-06-06,891.9000000001342,891.8293,2015-01-01 02:28:42,bin8922,35, +abc,8923,8923,8923,1994-06-07,892.0000000001343,891.92926,2015-01-01 02:28:43,bin8923,75, +abc,8924,8924,8924,1994-06-08,892.1000000001343,892.02924,2015-01-01 02:28:44,bin8924,35, +abc,8925,8925,8925,1994-06-09,892.2000000001343,892.1292,2015-01-01 02:28:45,bin8925,75, +abc,8926,8926,8926,1994-06-10,892.3000000001343,892.2292,2015-01-01 02:28:46,bin8926,35, +abc,8927,8927,8927,1994-06-11,892.4000000001344,892.32916,2015-01-01 02:28:47,bin8927,75, +abc,8928,8928,8928,1994-06-12,892.5000000001344,892.42914,2015-01-01 02:28:48,bin8928,35, +abc,8929,8929,8929,1994-06-13,892.6000000001344,892.5291,2015-01-01 02:28:49,bin8929,75, +abc,8930,8930,8930,1994-06-14,892.7000000001344,892.6291,2015-01-01 02:28:50,bin8930,35, +abc,8931,8931,8931,1994-06-15,892.8000000001344,892.72906,2015-01-01 02:28:51,bin8931,75, +abc,8932,8932,8932,1994-06-16,892.9000000001345,892.82904,2015-01-01 02:28:52,bin8932,35, +abc,8933,8933,8933,1994-06-17,893.0000000001345,892.929,2015-01-01 02:28:53,bin8933,75, +abc,8934,8934,8934,1994-06-18,893.1000000001345,893.029,2015-01-01 02:28:54,bin8934,35, +abc,8935,8935,8935,1994-06-19,893.2000000001345,893.12897,2015-01-01 02:28:55,bin8935,75, +abc,8936,8936,8936,1994-06-20,893.3000000001346,893.22894,2015-01-01 02:28:56,bin8936,35, +abc,8937,8937,8937,1994-06-21,893.4000000001346,893.3289,2015-01-01 02:28:57,bin8937,75, +abc,8938,8938,8938,1994-06-22,893.5000000001346,893.4289,2015-01-01 02:28:58,bin8938,35, +abc,8939,8939,8939,1994-06-23,893.6000000001346,893.5289,2015-01-01 02:28:59,bin8939,75, +abc,8940,8940,8940,1994-06-24,893.7000000001347,893.62885,2015-01-01 02:29:00,bin8940,35, +abc,8941,8941,8941,1994-06-25,893.8000000001347,893.7288,2015-01-01 02:29:01,bin8941,75, +abc,8942,8942,8942,1994-06-26,893.9000000001347,893.8288,2015-01-01 02:29:02,bin8942,35, +abc,8943,8943,8943,1994-06-27,894.0000000001347,893.9288,2015-01-01 02:29:03,bin8943,75, +abc,8944,8944,8944,1994-06-28,894.1000000001347,894.02875,2015-01-01 02:29:04,bin8944,35, +abc,8945,8945,8945,1994-06-29,894.2000000001348,894.1287,2015-01-01 02:29:05,bin8945,75, +abc,8946,8946,8946,1994-06-30,894.3000000001348,894.2287,2015-01-01 02:29:06,bin8946,35, +abc,8947,8947,8947,1994-07-01,894.4000000001348,894.3287,2015-01-01 02:29:07,bin8947,75, +abc,8948,8948,8948,1994-07-02,894.5000000001348,894.42865,2015-01-01 02:29:08,bin8948,35, +abc,8949,8949,8949,1994-07-03,894.6000000001349,894.5286,2015-01-01 02:29:09,bin8949,75, +abc,8950,8950,8950,1994-07-04,894.7000000001349,894.6286,2015-01-01 02:29:10,bin8950,35, +abc,8951,8951,8951,1994-07-05,894.8000000001349,894.7286,2015-01-01 02:29:11,bin8951,75, +abc,8952,8952,8952,1994-07-06,894.9000000001349,894.82855,2015-01-01 02:29:12,bin8952,35, +abc,8953,8953,8953,1994-07-07,895.000000000135,894.9285,2015-01-01 02:29:13,bin8953,75, +abc,8954,8954,8954,1994-07-08,895.100000000135,895.0285,2015-01-01 02:29:14,bin8954,35, +abc,8955,8955,8955,1994-07-09,895.200000000135,895.1285,2015-01-01 02:29:15,bin8955,75, +abc,8956,8956,8956,1994-07-10,895.300000000135,895.22845,2015-01-01 02:29:16,bin8956,35, +abc,8957,8957,8957,1994-07-11,895.400000000135,895.3284,2015-01-01 02:29:17,bin8957,75, +abc,8958,8958,8958,1994-07-12,895.5000000001351,895.4284,2015-01-01 02:29:18,bin8958,35, +abc,8959,8959,8959,1994-07-13,895.6000000001351,895.5284,2015-01-01 02:29:19,bin8959,75, +abc,8960,8960,8960,1994-07-14,895.7000000001351,895.62836,2015-01-01 02:29:20,bin8960,35, +abc,8961,8961,8961,1994-07-15,895.8000000001351,895.72833,2015-01-01 02:29:21,bin8961,75, +abc,8962,8962,8962,1994-07-16,895.9000000001352,895.8283,2015-01-01 02:29:22,bin8962,35, +abc,8963,8963,8963,1994-07-17,896.0000000001352,895.9283,2015-01-01 02:29:23,bin8963,75, +abc,8964,8964,8964,1994-07-18,896.1000000001352,896.02826,2015-01-01 02:29:24,bin8964,35, +abc,8965,8965,8965,1994-07-19,896.2000000001352,896.12823,2015-01-01 02:29:25,bin8965,75, +abc,8966,8966,8966,1994-07-20,896.3000000001352,896.2282,2015-01-01 02:29:26,bin8966,35, +abc,8967,8967,8967,1994-07-21,896.4000000001353,896.3282,2015-01-01 02:29:27,bin8967,75, +abc,8968,8968,8968,1994-07-22,896.5000000001353,896.42816,2015-01-01 02:29:28,bin8968,35, +abc,8969,8969,8969,1994-07-23,896.6000000001353,896.52814,2015-01-01 02:29:29,bin8969,75, +abc,8970,8970,8970,1994-07-24,896.7000000001353,896.6281,2015-01-01 02:29:30,bin8970,35, +abc,8971,8971,8971,1994-07-25,896.8000000001354,896.7281,2015-01-01 02:29:31,bin8971,75, +abc,8972,8972,8972,1994-07-26,896.9000000001354,896.82806,2015-01-01 02:29:32,bin8972,35, +abc,8973,8973,8973,1994-07-27,897.0000000001354,896.92804,2015-01-01 02:29:33,bin8973,75, +abc,8974,8974,8974,1994-07-28,897.1000000001354,897.028,2015-01-01 02:29:34,bin8974,35, +abc,8975,8975,8975,1994-07-29,897.2000000001354,897.128,2015-01-01 02:29:35,bin8975,75, +abc,8976,8976,8976,1994-07-30,897.3000000001355,897.22797,2015-01-01 02:29:36,bin8976,35, +abc,8977,8977,8977,1994-07-31,897.4000000001355,897.32794,2015-01-01 02:29:37,bin8977,75, +abc,8978,8978,8978,1994-08-01,897.5000000001355,897.4279,2015-01-01 02:29:38,bin8978,35, +abc,8979,8979,8979,1994-08-02,897.6000000001355,897.5279,2015-01-01 02:29:39,bin8979,75, +abc,8980,8980,8980,1994-08-03,897.7000000001356,897.62787,2015-01-01 02:29:40,bin8980,35, +abc,8981,8981,8981,1994-08-04,897.8000000001356,897.72784,2015-01-01 02:29:41,bin8981,75, +abc,8982,8982,8982,1994-08-05,897.9000000001356,897.8278,2015-01-01 02:29:42,bin8982,35, +abc,8983,8983,8983,1994-08-06,898.0000000001356,897.9278,2015-01-01 02:29:43,bin8983,75, +abc,8984,8984,8984,1994-08-07,898.1000000001357,898.0278,2015-01-01 02:29:44,bin8984,35, +abc,8985,8985,8985,1994-08-08,898.2000000001357,898.12775,2015-01-01 02:29:45,bin8985,75, +abc,8986,8986,8986,1994-08-09,898.3000000001357,898.2277,2015-01-01 02:29:46,bin8986,35, +abc,8987,8987,8987,1994-08-10,898.4000000001357,898.3277,2015-01-01 02:29:47,bin8987,75, +abc,8988,8988,8988,1994-08-11,898.5000000001357,898.4277,2015-01-01 02:29:48,bin8988,35, +abc,8989,8989,8989,1994-08-12,898.6000000001358,898.52765,2015-01-01 02:29:49,bin8989,75, +abc,8990,8990,8990,1994-08-13,898.7000000001358,898.6276,2015-01-01 02:29:50,bin8990,35, +abc,8991,8991,8991,1994-08-14,898.8000000001358,898.7276,2015-01-01 02:29:51,bin8991,75, +abc,8992,8992,8992,1994-08-15,898.9000000001358,898.8276,2015-01-01 02:29:52,bin8992,35, +abc,8993,8993,8993,1994-08-16,899.0000000001359,898.92755,2015-01-01 02:29:53,bin8993,75, +abc,8994,8994,8994,1994-08-17,899.1000000001359,899.0275,2015-01-01 02:29:54,bin8994,35, +abc,8995,8995,8995,1994-08-18,899.2000000001359,899.1275,2015-01-01 02:29:55,bin8995,75, +abc,8996,8996,8996,1994-08-19,899.3000000001359,899.2275,2015-01-01 02:29:56,bin8996,35, +abc,8997,8997,8997,1994-08-20,899.400000000136,899.32745,2015-01-01 02:29:57,bin8997,75, +abc,8998,8998,8998,1994-08-21,899.500000000136,899.4274,2015-01-01 02:29:58,bin8998,35, +abc,8999,8999,8999,1994-08-22,899.600000000136,899.5274,2015-01-01 02:29:59,bin8999,75, +abc,9000,9000,9000,1994-08-23,899.700000000136,899.6274,2015-01-01 02:30:00,bin9000,35, +abc,9001,9001,9001,1994-08-24,899.800000000136,899.72736,2015-01-01 02:30:01,bin9001,75, +abc,9002,9002,9002,1994-08-25,899.9000000001361,899.82733,2015-01-01 02:30:02,bin9002,35, +abc,9003,9003,9003,1994-08-26,900.0000000001361,899.9273,2015-01-01 02:30:03,bin9003,75, +abc,9004,9004,9004,1994-08-27,900.1000000001361,900.0273,2015-01-01 02:30:04,bin9004,35, +abc,9005,9005,9005,1994-08-28,900.2000000001361,900.12726,2015-01-01 02:30:05,bin9005,75, +abc,9006,9006,9006,1994-08-29,900.3000000001362,900.22723,2015-01-01 02:30:06,bin9006,35, +abc,9007,9007,9007,1994-08-30,900.4000000001362,900.3272,2015-01-01 02:30:07,bin9007,75, +abc,9008,9008,9008,1994-08-31,900.5000000001362,900.4272,2015-01-01 02:30:08,bin9008,35, +abc,9009,9009,9009,1994-09-01,900.6000000001362,900.52716,2015-01-01 02:30:09,bin9009,75, +abc,9010,9010,9010,1994-09-02,900.7000000001362,900.62714,2015-01-01 02:30:10,bin9010,35, +abc,9011,9011,9011,1994-09-03,900.8000000001363,900.7271,2015-01-01 02:30:11,bin9011,75, +abc,9012,9012,9012,1994-09-04,900.9000000001363,900.8271,2015-01-01 02:30:12,bin9012,35, +abc,9013,9013,9013,1994-09-05,901.0000000001363,900.92706,2015-01-01 02:30:13,bin9013,75, +abc,9014,9014,9014,1994-09-06,901.1000000001363,901.02704,2015-01-01 02:30:14,bin9014,35, +abc,9015,9015,9015,1994-09-07,901.2000000001364,901.127,2015-01-01 02:30:15,bin9015,75, +abc,9016,9016,9016,1994-09-08,901.3000000001364,901.227,2015-01-01 02:30:16,bin9016,35, +abc,9017,9017,9017,1994-09-09,901.4000000001364,901.32697,2015-01-01 02:30:17,bin9017,75, +abc,9018,9018,9018,1994-09-10,901.5000000001364,901.42694,2015-01-01 02:30:18,bin9018,35, +abc,9019,9019,9019,1994-09-11,901.6000000001364,901.5269,2015-01-01 02:30:19,bin9019,75, +abc,9020,9020,9020,1994-09-12,901.7000000001365,901.6269,2015-01-01 02:30:20,bin9020,35, +abc,9021,9021,9021,1994-09-13,901.8000000001365,901.72687,2015-01-01 02:30:21,bin9021,75, +abc,9022,9022,9022,1994-09-14,901.9000000001365,901.82684,2015-01-01 02:30:22,bin9022,35, +abc,9023,9023,9023,1994-09-15,902.0000000001365,901.9268,2015-01-01 02:30:23,bin9023,75, +abc,9024,9024,9024,1994-09-16,902.1000000001366,902.0268,2015-01-01 02:30:24,bin9024,35, +abc,9025,9025,9025,1994-09-17,902.2000000001366,902.1268,2015-01-01 02:30:25,bin9025,75, +abc,9026,9026,9026,1994-09-18,902.3000000001366,902.22675,2015-01-01 02:30:26,bin9026,35, +abc,9027,9027,9027,1994-09-19,902.4000000001366,902.3267,2015-01-01 02:30:27,bin9027,75, +abc,9028,9028,9028,1994-09-20,902.5000000001367,902.4267,2015-01-01 02:30:28,bin9028,35, +abc,9029,9029,9029,1994-09-21,902.6000000001367,902.5267,2015-01-01 02:30:29,bin9029,75, +abc,9030,9030,9030,1994-09-22,902.7000000001367,902.62665,2015-01-01 02:30:30,bin9030,35, +abc,9031,9031,9031,1994-09-23,902.8000000001367,902.7266,2015-01-01 02:30:31,bin9031,75, +abc,9032,9032,9032,1994-09-24,902.9000000001367,902.8266,2015-01-01 02:30:32,bin9032,35, +abc,9033,9033,9033,1994-09-25,903.0000000001368,902.9266,2015-01-01 02:30:33,bin9033,75, +abc,9034,9034,9034,1994-09-26,903.1000000001368,903.02655,2015-01-01 02:30:34,bin9034,35, +abc,9035,9035,9035,1994-09-27,903.2000000001368,903.1265,2015-01-01 02:30:35,bin9035,75, +abc,9036,9036,9036,1994-09-28,903.3000000001368,903.2265,2015-01-01 02:30:36,bin9036,35, +abc,9037,9037,9037,1994-09-29,903.4000000001369,903.3265,2015-01-01 02:30:37,bin9037,75, +abc,9038,9038,9038,1994-09-30,903.5000000001369,903.42645,2015-01-01 02:30:38,bin9038,35, +abc,9039,9039,9039,1994-10-01,903.6000000001369,903.5264,2015-01-01 02:30:39,bin9039,75, +abc,9040,9040,9040,1994-10-02,903.7000000001369,903.6264,2015-01-01 02:30:40,bin9040,35, +abc,9041,9041,9041,1994-10-03,903.800000000137,903.7264,2015-01-01 02:30:41,bin9041,75, +abc,9042,9042,9042,1994-10-04,903.900000000137,903.82635,2015-01-01 02:30:42,bin9042,35, +abc,9043,9043,9043,1994-10-05,904.000000000137,903.92633,2015-01-01 02:30:43,bin9043,75, +abc,9044,9044,9044,1994-10-06,904.100000000137,904.0263,2015-01-01 02:30:44,bin9044,35, +abc,9045,9045,9045,1994-10-07,904.200000000137,904.1263,2015-01-01 02:30:45,bin9045,75, +abc,9046,9046,9046,1994-10-08,904.3000000001371,904.22626,2015-01-01 02:30:46,bin9046,35, +abc,9047,9047,9047,1994-10-09,904.4000000001371,904.32623,2015-01-01 02:30:47,bin9047,75, +abc,9048,9048,9048,1994-10-10,904.5000000001371,904.4262,2015-01-01 02:30:48,bin9048,35, +abc,9049,9049,9049,1994-10-11,904.6000000001371,904.5262,2015-01-01 02:30:49,bin9049,75, +abc,9050,9050,9050,1994-10-12,904.7000000001372,904.62616,2015-01-01 02:30:50,bin9050,35, +abc,9051,9051,9051,1994-10-13,904.8000000001372,904.72614,2015-01-01 02:30:51,bin9051,75, +abc,9052,9052,9052,1994-10-14,904.9000000001372,904.8261,2015-01-01 02:30:52,bin9052,35, +abc,9053,9053,9053,1994-10-15,905.0000000001372,904.9261,2015-01-01 02:30:53,bin9053,75, +abc,9054,9054,9054,1994-10-16,905.1000000001372,905.02606,2015-01-01 02:30:54,bin9054,35, +abc,9055,9055,9055,1994-10-17,905.2000000001373,905.12604,2015-01-01 02:30:55,bin9055,75, +abc,9056,9056,9056,1994-10-18,905.3000000001373,905.226,2015-01-01 02:30:56,bin9056,35, +abc,9057,9057,9057,1994-10-19,905.4000000001373,905.326,2015-01-01 02:30:57,bin9057,75, +abc,9058,9058,9058,1994-10-20,905.5000000001373,905.42596,2015-01-01 02:30:58,bin9058,35, +abc,9059,9059,9059,1994-10-21,905.6000000001374,905.52594,2015-01-01 02:30:59,bin9059,75, +abc,9060,9060,9060,1994-10-22,905.7000000001374,905.6259,2015-01-01 02:31:00,bin9060,35, +abc,9061,9061,9061,1994-10-23,905.8000000001374,905.7259,2015-01-01 02:31:01,bin9061,75, +abc,9062,9062,9062,1994-10-24,905.9000000001374,905.82587,2015-01-01 02:31:02,bin9062,35, +abc,9063,9063,9063,1994-10-25,906.0000000001374,905.92584,2015-01-01 02:31:03,bin9063,75, +abc,9064,9064,9064,1994-10-26,906.1000000001375,906.0258,2015-01-01 02:31:04,bin9064,35, +abc,9065,9065,9065,1994-10-27,906.2000000001375,906.1258,2015-01-01 02:31:05,bin9065,75, +abc,9066,9066,9066,1994-10-28,906.3000000001375,906.22577,2015-01-01 02:31:06,bin9066,35, +abc,9067,9067,9067,1994-10-29,906.4000000001375,906.32574,2015-01-01 02:31:07,bin9067,75, +abc,9068,9068,9068,1994-10-30,906.5000000001376,906.4257,2015-01-01 02:31:08,bin9068,35, +abc,9069,9069,9069,1994-10-31,906.6000000001376,906.5257,2015-01-01 02:31:09,bin9069,75, +abc,9070,9070,9070,1994-11-01,906.7000000001376,906.6257,2015-01-01 02:31:10,bin9070,35, +abc,9071,9071,9071,1994-11-02,906.8000000001376,906.72565,2015-01-01 02:31:11,bin9071,75, +abc,9072,9072,9072,1994-11-03,906.9000000001377,906.8256,2015-01-01 02:31:12,bin9072,35, +abc,9073,9073,9073,1994-11-04,907.0000000001377,906.9256,2015-01-01 02:31:13,bin9073,75, +abc,9074,9074,9074,1994-11-05,907.1000000001377,907.0256,2015-01-01 02:31:14,bin9074,35, +abc,9075,9075,9075,1994-11-06,907.2000000001377,907.12555,2015-01-01 02:31:15,bin9075,75, +abc,9076,9076,9076,1994-11-07,907.3000000001377,907.2255,2015-01-01 02:31:16,bin9076,35, +abc,9077,9077,9077,1994-11-08,907.4000000001378,907.3255,2015-01-01 02:31:17,bin9077,75, +abc,9078,9078,9078,1994-11-09,907.5000000001378,907.4255,2015-01-01 02:31:18,bin9078,35, +abc,9079,9079,9079,1994-11-10,907.6000000001378,907.52545,2015-01-01 02:31:19,bin9079,75, +abc,9080,9080,9080,1994-11-11,907.7000000001378,907.6254,2015-01-01 02:31:20,bin9080,35, +abc,9081,9081,9081,1994-11-12,907.8000000001379,907.7254,2015-01-01 02:31:21,bin9081,75, +abc,9082,9082,9082,1994-11-13,907.9000000001379,907.8254,2015-01-01 02:31:22,bin9082,35, +abc,9083,9083,9083,1994-11-14,908.0000000001379,907.92535,2015-01-01 02:31:23,bin9083,75, +abc,9084,9084,9084,1994-11-15,908.1000000001379,908.0253,2015-01-01 02:31:24,bin9084,35, +abc,9085,9085,9085,1994-11-16,908.200000000138,908.1253,2015-01-01 02:31:25,bin9085,75, +abc,9086,9086,9086,1994-11-17,908.300000000138,908.2253,2015-01-01 02:31:26,bin9086,35, +abc,9087,9087,9087,1994-11-18,908.400000000138,908.32526,2015-01-01 02:31:27,bin9087,75, +abc,9088,9088,9088,1994-11-19,908.500000000138,908.42523,2015-01-01 02:31:28,bin9088,35, +abc,9089,9089,9089,1994-11-20,908.600000000138,908.5252,2015-01-01 02:31:29,bin9089,75, +abc,9090,9090,9090,1994-11-21,908.7000000001381,908.6252,2015-01-01 02:31:30,bin9090,35, +abc,9091,9091,9091,1994-11-22,908.8000000001381,908.72516,2015-01-01 02:31:31,bin9091,75, +abc,9092,9092,9092,1994-11-23,908.9000000001381,908.82513,2015-01-01 02:31:32,bin9092,35, +abc,9093,9093,9093,1994-11-24,909.0000000001381,908.9251,2015-01-01 02:31:33,bin9093,75, +abc,9094,9094,9094,1994-11-25,909.1000000001382,909.0251,2015-01-01 02:31:34,bin9094,35, +abc,9095,9095,9095,1994-11-26,909.2000000001382,909.12506,2015-01-01 02:31:35,bin9095,75, +abc,9096,9096,9096,1994-11-27,909.3000000001382,909.22504,2015-01-01 02:31:36,bin9096,35, +abc,9097,9097,9097,1994-11-28,909.4000000001382,909.325,2015-01-01 02:31:37,bin9097,75, +abc,9098,9098,9098,1994-11-29,909.5000000001382,909.425,2015-01-01 02:31:38,bin9098,35, +abc,9099,9099,9099,1994-11-30,909.6000000001383,909.52496,2015-01-01 02:31:39,bin9099,75, +abc,9100,9100,9100,1994-12-01,909.7000000001383,909.62494,2015-01-01 02:31:40,bin9100,35, +abc,9101,9101,9101,1994-12-02,909.8000000001383,909.7249,2015-01-01 02:31:41,bin9101,75, +abc,9102,9102,9102,1994-12-03,909.9000000001383,909.8249,2015-01-01 02:31:42,bin9102,35, +abc,9103,9103,9103,1994-12-04,910.0000000001384,909.92487,2015-01-01 02:31:43,bin9103,75, +abc,9104,9104,9104,1994-12-05,910.1000000001384,910.02484,2015-01-01 02:31:44,bin9104,35, +abc,9105,9105,9105,1994-12-06,910.2000000001384,910.1248,2015-01-01 02:31:45,bin9105,75, +abc,9106,9106,9106,1994-12-07,910.3000000001384,910.2248,2015-01-01 02:31:46,bin9106,35, +abc,9107,9107,9107,1994-12-08,910.4000000001384,910.32477,2015-01-01 02:31:47,bin9107,75, +abc,9108,9108,9108,1994-12-09,910.5000000001385,910.42474,2015-01-01 02:31:48,bin9108,35, +abc,9109,9109,9109,1994-12-10,910.6000000001385,910.5247,2015-01-01 02:31:49,bin9109,75, +abc,9110,9110,9110,1994-12-11,910.7000000001385,910.6247,2015-01-01 02:31:50,bin9110,35, +abc,9111,9111,9111,1994-12-12,910.8000000001385,910.7247,2015-01-01 02:31:51,bin9111,75, +abc,9112,9112,9112,1994-12-13,910.9000000001386,910.82465,2015-01-01 02:31:52,bin9112,35, +abc,9113,9113,9113,1994-12-14,911.0000000001386,910.9246,2015-01-01 02:31:53,bin9113,75, +abc,9114,9114,9114,1994-12-15,911.1000000001386,911.0246,2015-01-01 02:31:54,bin9114,35, +abc,9115,9115,9115,1994-12-16,911.2000000001386,911.1246,2015-01-01 02:31:55,bin9115,75, +abc,9116,9116,9116,1994-12-17,911.3000000001387,911.22455,2015-01-01 02:31:56,bin9116,35, +abc,9117,9117,9117,1994-12-18,911.4000000001387,911.3245,2015-01-01 02:31:57,bin9117,75, +abc,9118,9118,9118,1994-12-19,911.5000000001387,911.4245,2015-01-01 02:31:58,bin9118,35, +abc,9119,9119,9119,1994-12-20,911.6000000001387,911.5245,2015-01-01 02:31:59,bin9119,75, +abc,9120,9120,9120,1994-12-21,911.7000000001387,911.62445,2015-01-01 02:32:00,bin9120,35, +abc,9121,9121,9121,1994-12-22,911.8000000001388,911.7244,2015-01-01 02:32:01,bin9121,75, +abc,9122,9122,9122,1994-12-23,911.9000000001388,911.8244,2015-01-01 02:32:02,bin9122,35, +abc,9123,9123,9123,1994-12-24,912.0000000001388,911.9244,2015-01-01 02:32:03,bin9123,75, +abc,9124,9124,9124,1994-12-25,912.1000000001388,912.02435,2015-01-01 02:32:04,bin9124,35, +abc,9125,9125,9125,1994-12-26,912.2000000001389,912.1243,2015-01-01 02:32:05,bin9125,75, +abc,9126,9126,9126,1994-12-27,912.3000000001389,912.2243,2015-01-01 02:32:06,bin9126,35, +abc,9127,9127,9127,1994-12-28,912.4000000001389,912.3243,2015-01-01 02:32:07,bin9127,75, +abc,9128,9128,9128,1994-12-29,912.5000000001389,912.42426,2015-01-01 02:32:08,bin9128,35, +abc,9129,9129,9129,1994-12-30,912.600000000139,912.52423,2015-01-01 02:32:09,bin9129,75, +abc,9130,9130,9130,1994-12-31,912.700000000139,912.6242,2015-01-01 02:32:10,bin9130,35, +abc,9131,9131,9131,1995-01-01,912.800000000139,912.7242,2015-01-01 02:32:11,bin9131,75, +abc,9132,9132,9132,1995-01-02,912.900000000139,912.82416,2015-01-01 02:32:12,bin9132,35, +abc,9133,9133,9133,1995-01-03,913.000000000139,912.92413,2015-01-01 02:32:13,bin9133,75, +abc,9134,9134,9134,1995-01-04,913.1000000001391,913.0241,2015-01-01 02:32:14,bin9134,35, +abc,9135,9135,9135,1995-01-05,913.2000000001391,913.1241,2015-01-01 02:32:15,bin9135,75, +abc,9136,9136,9136,1995-01-06,913.3000000001391,913.22406,2015-01-01 02:32:16,bin9136,35, +abc,9137,9137,9137,1995-01-07,913.4000000001391,913.32404,2015-01-01 02:32:17,bin9137,75, +abc,9138,9138,9138,1995-01-08,913.5000000001392,913.424,2015-01-01 02:32:18,bin9138,35, +abc,9139,9139,9139,1995-01-09,913.6000000001392,913.524,2015-01-01 02:32:19,bin9139,75, +abc,9140,9140,9140,1995-01-10,913.7000000001392,913.62396,2015-01-01 02:32:20,bin9140,35, +abc,9141,9141,9141,1995-01-11,913.8000000001392,913.72394,2015-01-01 02:32:21,bin9141,75, +abc,9142,9142,9142,1995-01-12,913.9000000001392,913.8239,2015-01-01 02:32:22,bin9142,35, +abc,9143,9143,9143,1995-01-13,914.0000000001393,913.9239,2015-01-01 02:32:23,bin9143,75, +abc,9144,9144,9144,1995-01-14,914.1000000001393,914.02386,2015-01-01 02:32:24,bin9144,35, +abc,9145,9145,9145,1995-01-15,914.2000000001393,914.12384,2015-01-01 02:32:25,bin9145,75, +abc,9146,9146,9146,1995-01-16,914.3000000001393,914.2238,2015-01-01 02:32:26,bin9146,35, +abc,9147,9147,9147,1995-01-17,914.4000000001394,914.3238,2015-01-01 02:32:27,bin9147,75, +abc,9148,9148,9148,1995-01-18,914.5000000001394,914.42377,2015-01-01 02:32:28,bin9148,35, +abc,9149,9149,9149,1995-01-19,914.6000000001394,914.52374,2015-01-01 02:32:29,bin9149,75, +abc,9150,9150,9150,1995-01-20,914.7000000001394,914.6237,2015-01-01 02:32:30,bin9150,35, +abc,9151,9151,9151,1995-01-21,914.8000000001394,914.7237,2015-01-01 02:32:31,bin9151,75, +abc,9152,9152,9152,1995-01-22,914.9000000001395,914.82367,2015-01-01 02:32:32,bin9152,35, +abc,9153,9153,9153,1995-01-23,915.0000000001395,914.92365,2015-01-01 02:32:33,bin9153,75, +abc,9154,9154,9154,1995-01-24,915.1000000001395,915.0236,2015-01-01 02:32:34,bin9154,35, +abc,9155,9155,9155,1995-01-25,915.2000000001395,915.1236,2015-01-01 02:32:35,bin9155,75, +abc,9156,9156,9156,1995-01-26,915.3000000001396,915.2236,2015-01-01 02:32:36,bin9156,35, +abc,9157,9157,9157,1995-01-27,915.4000000001396,915.32355,2015-01-01 02:32:37,bin9157,75, +abc,9158,9158,9158,1995-01-28,915.5000000001396,915.4235,2015-01-01 02:32:38,bin9158,35, +abc,9159,9159,9159,1995-01-29,915.6000000001396,915.5235,2015-01-01 02:32:39,bin9159,75, +abc,9160,9160,9160,1995-01-30,915.7000000001397,915.6235,2015-01-01 02:32:40,bin9160,35, +abc,9161,9161,9161,1995-01-31,915.8000000001397,915.72345,2015-01-01 02:32:41,bin9161,75, +abc,9162,9162,9162,1995-02-01,915.9000000001397,915.8234,2015-01-01 02:32:42,bin9162,35, +abc,9163,9163,9163,1995-02-02,916.0000000001397,915.9234,2015-01-01 02:32:43,bin9163,75, +abc,9164,9164,9164,1995-02-03,916.1000000001397,916.0234,2015-01-01 02:32:44,bin9164,35, +abc,9165,9165,9165,1995-02-04,916.2000000001398,916.12335,2015-01-01 02:32:45,bin9165,75, +abc,9166,9166,9166,1995-02-05,916.3000000001398,916.2233,2015-01-01 02:32:46,bin9166,35, +abc,9167,9167,9167,1995-02-06,916.4000000001398,916.3233,2015-01-01 02:32:47,bin9167,75, +abc,9168,9168,9168,1995-02-07,916.5000000001398,916.4233,2015-01-01 02:32:48,bin9168,35, +abc,9169,9169,9169,1995-02-08,916.6000000001399,916.52325,2015-01-01 02:32:49,bin9169,75, +abc,9170,9170,9170,1995-02-09,916.7000000001399,916.6232,2015-01-01 02:32:50,bin9170,35, +abc,9171,9171,9171,1995-02-10,916.8000000001399,916.7232,2015-01-01 02:32:51,bin9171,75, +abc,9172,9172,9172,1995-02-11,916.9000000001399,916.8232,2015-01-01 02:32:52,bin9172,35, +abc,9173,9173,9173,1995-02-12,917.00000000014,916.92316,2015-01-01 02:32:53,bin9173,75, +abc,9174,9174,9174,1995-02-13,917.10000000014,917.02313,2015-01-01 02:32:54,bin9174,35, +abc,9175,9175,9175,1995-02-14,917.20000000014,917.1231,2015-01-01 02:32:55,bin9175,75, +abc,9176,9176,9176,1995-02-15,917.30000000014,917.2231,2015-01-01 02:32:56,bin9176,35, +abc,9177,9177,9177,1995-02-16,917.40000000014,917.32306,2015-01-01 02:32:57,bin9177,75, +abc,9178,9178,9178,1995-02-17,917.5000000001401,917.42303,2015-01-01 02:32:58,bin9178,35, +abc,9179,9179,9179,1995-02-18,917.6000000001401,917.523,2015-01-01 02:32:59,bin9179,75, +abc,9180,9180,9180,1995-02-19,917.7000000001401,917.623,2015-01-01 02:33:00,bin9180,35, +abc,9181,9181,9181,1995-02-20,917.8000000001401,917.72296,2015-01-01 02:33:01,bin9181,75, +abc,9182,9182,9182,1995-02-21,917.9000000001402,917.82294,2015-01-01 02:33:02,bin9182,35, +abc,9183,9183,9183,1995-02-22,918.0000000001402,917.9229,2015-01-01 02:33:03,bin9183,75, +abc,9184,9184,9184,1995-02-23,918.1000000001402,918.0229,2015-01-01 02:33:04,bin9184,35, +abc,9185,9185,9185,1995-02-24,918.2000000001402,918.12286,2015-01-01 02:33:05,bin9185,75, +abc,9186,9186,9186,1995-02-25,918.3000000001402,918.22284,2015-01-01 02:33:06,bin9186,35, +abc,9187,9187,9187,1995-02-26,918.4000000001403,918.3228,2015-01-01 02:33:07,bin9187,75, +abc,9188,9188,9188,1995-02-27,918.5000000001403,918.4228,2015-01-01 02:33:08,bin9188,35, +abc,9189,9189,9189,1995-02-28,918.6000000001403,918.52277,2015-01-01 02:33:09,bin9189,75, +abc,9190,9190,9190,1995-03-01,918.7000000001403,918.62274,2015-01-01 02:33:10,bin9190,35, +abc,9191,9191,9191,1995-03-02,918.8000000001404,918.7227,2015-01-01 02:33:11,bin9191,75, +abc,9192,9192,9192,1995-03-03,918.9000000001404,918.8227,2015-01-01 02:33:12,bin9192,35, +abc,9193,9193,9193,1995-03-04,919.0000000001404,918.92267,2015-01-01 02:33:13,bin9193,75, +abc,9194,9194,9194,1995-03-05,919.1000000001404,919.02264,2015-01-01 02:33:14,bin9194,35, +abc,9195,9195,9195,1995-03-06,919.2000000001404,919.1226,2015-01-01 02:33:15,bin9195,75, +abc,9196,9196,9196,1995-03-07,919.3000000001405,919.2226,2015-01-01 02:33:16,bin9196,35, +abc,9197,9197,9197,1995-03-08,919.4000000001405,919.3226,2015-01-01 02:33:17,bin9197,75, +abc,9198,9198,9198,1995-03-09,919.5000000001405,919.42255,2015-01-01 02:33:18,bin9198,35, +abc,9199,9199,9199,1995-03-10,919.6000000001405,919.5225,2015-01-01 02:33:19,bin9199,75, +abc,9200,9200,9200,1995-03-11,919.7000000001406,919.6225,2015-01-01 02:33:20,bin9200,35, +abc,9201,9201,9201,1995-03-12,919.8000000001406,919.7225,2015-01-01 02:33:21,bin9201,75, +abc,9202,9202,9202,1995-03-13,919.9000000001406,919.82245,2015-01-01 02:33:22,bin9202,35, +abc,9203,9203,9203,1995-03-14,920.0000000001406,919.9224,2015-01-01 02:33:23,bin9203,75, +abc,9204,9204,9204,1995-03-15,920.1000000001407,920.0224,2015-01-01 02:33:24,bin9204,35, +abc,9205,9205,9205,1995-03-16,920.2000000001407,920.1224,2015-01-01 02:33:25,bin9205,75, +abc,9206,9206,9206,1995-03-17,920.3000000001407,920.22235,2015-01-01 02:33:26,bin9206,35, +abc,9207,9207,9207,1995-03-18,920.4000000001407,920.3223,2015-01-01 02:33:27,bin9207,75, +abc,9208,9208,9208,1995-03-19,920.5000000001407,920.4223,2015-01-01 02:33:28,bin9208,35, +abc,9209,9209,9209,1995-03-20,920.6000000001408,920.5223,2015-01-01 02:33:29,bin9209,75, +abc,9210,9210,9210,1995-03-21,920.7000000001408,920.62225,2015-01-01 02:33:30,bin9210,35, +abc,9211,9211,9211,1995-03-22,920.8000000001408,920.7222,2015-01-01 02:33:31,bin9211,75, +abc,9212,9212,9212,1995-03-23,920.9000000001408,920.8222,2015-01-01 02:33:32,bin9212,35, +abc,9213,9213,9213,1995-03-24,921.0000000001409,920.9222,2015-01-01 02:33:33,bin9213,75, +abc,9214,9214,9214,1995-03-25,921.1000000001409,921.02216,2015-01-01 02:33:34,bin9214,35, +abc,9215,9215,9215,1995-03-26,921.2000000001409,921.12213,2015-01-01 02:33:35,bin9215,75, +abc,9216,9216,9216,1995-03-27,921.3000000001409,921.2221,2015-01-01 02:33:36,bin9216,35, +abc,9217,9217,9217,1995-03-28,921.400000000141,921.3221,2015-01-01 02:33:37,bin9217,75, +abc,9218,9218,9218,1995-03-29,921.500000000141,921.42206,2015-01-01 02:33:38,bin9218,35, +abc,9219,9219,9219,1995-03-30,921.600000000141,921.52203,2015-01-01 02:33:39,bin9219,75, +abc,9220,9220,9220,1995-03-31,921.700000000141,921.622,2015-01-01 02:33:40,bin9220,35, +abc,9221,9221,9221,1995-04-01,921.800000000141,921.722,2015-01-01 02:33:41,bin9221,75, +abc,9222,9222,9222,1995-04-02,921.9000000001411,921.82196,2015-01-01 02:33:42,bin9222,35, +abc,9223,9223,9223,1995-04-03,922.0000000001411,921.92194,2015-01-01 02:33:43,bin9223,75, +abc,9224,9224,9224,1995-04-04,922.1000000001411,922.0219,2015-01-01 02:33:44,bin9224,35, +abc,9225,9225,9225,1995-04-05,922.2000000001411,922.1219,2015-01-01 02:33:45,bin9225,75, +abc,9226,9226,9226,1995-04-06,922.3000000001412,922.22186,2015-01-01 02:33:46,bin9226,35, +abc,9227,9227,9227,1995-04-07,922.4000000001412,922.32184,2015-01-01 02:33:47,bin9227,75, +abc,9228,9228,9228,1995-04-08,922.5000000001412,922.4218,2015-01-01 02:33:48,bin9228,35, +abc,9229,9229,9229,1995-04-09,922.6000000001412,922.5218,2015-01-01 02:33:49,bin9229,75, +abc,9230,9230,9230,1995-04-10,922.7000000001412,922.62177,2015-01-01 02:33:50,bin9230,35, +abc,9231,9231,9231,1995-04-11,922.8000000001413,922.72174,2015-01-01 02:33:51,bin9231,75, +abc,9232,9232,9232,1995-04-12,922.9000000001413,922.8217,2015-01-01 02:33:52,bin9232,35, +abc,9233,9233,9233,1995-04-13,923.0000000001413,922.9217,2015-01-01 02:33:53,bin9233,75, +abc,9234,9234,9234,1995-04-14,923.1000000001413,923.02167,2015-01-01 02:33:54,bin9234,35, +abc,9235,9235,9235,1995-04-15,923.2000000001414,923.12164,2015-01-01 02:33:55,bin9235,75, +abc,9236,9236,9236,1995-04-16,923.3000000001414,923.2216,2015-01-01 02:33:56,bin9236,35, +abc,9237,9237,9237,1995-04-17,923.4000000001414,923.3216,2015-01-01 02:33:57,bin9237,75, +abc,9238,9238,9238,1995-04-18,923.5000000001414,923.4216,2015-01-01 02:33:58,bin9238,35, +abc,9239,9239,9239,1995-04-19,923.6000000001414,923.52155,2015-01-01 02:33:59,bin9239,75, +abc,9240,9240,9240,1995-04-20,923.7000000001415,923.6215,2015-01-01 02:34:00,bin9240,35, +abc,9241,9241,9241,1995-04-21,923.8000000001415,923.7215,2015-01-01 02:34:01,bin9241,75, +abc,9242,9242,9242,1995-04-22,923.9000000001415,923.8215,2015-01-01 02:34:02,bin9242,35, +abc,9243,9243,9243,1995-04-23,924.0000000001415,923.92145,2015-01-01 02:34:03,bin9243,75, +abc,9244,9244,9244,1995-04-24,924.1000000001416,924.0214,2015-01-01 02:34:04,bin9244,35, +abc,9245,9245,9245,1995-04-25,924.2000000001416,924.1214,2015-01-01 02:34:05,bin9245,75, +abc,9246,9246,9246,1995-04-26,924.3000000001416,924.2214,2015-01-01 02:34:06,bin9246,35, +abc,9247,9247,9247,1995-04-27,924.4000000001416,924.32135,2015-01-01 02:34:07,bin9247,75, +abc,9248,9248,9248,1995-04-28,924.5000000001417,924.4213,2015-01-01 02:34:08,bin9248,35, +abc,9249,9249,9249,1995-04-29,924.6000000001417,924.5213,2015-01-01 02:34:09,bin9249,75, +abc,9250,9250,9250,1995-04-30,924.7000000001417,924.6213,2015-01-01 02:34:10,bin9250,35, +abc,9251,9251,9251,1995-05-01,924.8000000001417,924.72125,2015-01-01 02:34:11,bin9251,75, +abc,9252,9252,9252,1995-05-02,924.9000000001417,924.8212,2015-01-01 02:34:12,bin9252,35, +abc,9253,9253,9253,1995-05-03,925.0000000001418,924.9212,2015-01-01 02:34:13,bin9253,75, +abc,9254,9254,9254,1995-05-04,925.1000000001418,925.0212,2015-01-01 02:34:14,bin9254,35, +abc,9255,9255,9255,1995-05-05,925.2000000001418,925.12115,2015-01-01 02:34:15,bin9255,75, +abc,9256,9256,9256,1995-05-06,925.3000000001418,925.2211,2015-01-01 02:34:16,bin9256,35, +abc,9257,9257,9257,1995-05-07,925.4000000001419,925.3211,2015-01-01 02:34:17,bin9257,75, +abc,9258,9258,9258,1995-05-08,925.5000000001419,925.4211,2015-01-01 02:34:18,bin9258,35, +abc,9259,9259,9259,1995-05-09,925.6000000001419,925.52106,2015-01-01 02:34:19,bin9259,75, +abc,9260,9260,9260,1995-05-10,925.7000000001419,925.62103,2015-01-01 02:34:20,bin9260,35, +abc,9261,9261,9261,1995-05-11,925.800000000142,925.721,2015-01-01 02:34:21,bin9261,75, +abc,9262,9262,9262,1995-05-12,925.900000000142,925.821,2015-01-01 02:34:22,bin9262,35, +abc,9263,9263,9263,1995-05-13,926.000000000142,925.92096,2015-01-01 02:34:23,bin9263,75, +abc,9264,9264,9264,1995-05-14,926.100000000142,926.02094,2015-01-01 02:34:24,bin9264,35, +abc,9265,9265,9265,1995-05-15,926.200000000142,926.1209,2015-01-01 02:34:25,bin9265,75, +abc,9266,9266,9266,1995-05-16,926.3000000001421,926.2209,2015-01-01 02:34:26,bin9266,35, +abc,9267,9267,9267,1995-05-17,926.4000000001421,926.32086,2015-01-01 02:34:27,bin9267,75, +abc,9268,9268,9268,1995-05-18,926.5000000001421,926.42084,2015-01-01 02:34:28,bin9268,35, +abc,9269,9269,9269,1995-05-19,926.6000000001421,926.5208,2015-01-01 02:34:29,bin9269,75, +abc,9270,9270,9270,1995-05-20,926.7000000001422,926.6208,2015-01-01 02:34:30,bin9270,35, +abc,9271,9271,9271,1995-05-21,926.8000000001422,926.72076,2015-01-01 02:34:31,bin9271,75, +abc,9272,9272,9272,1995-05-22,926.9000000001422,926.82074,2015-01-01 02:34:32,bin9272,35, +abc,9273,9273,9273,1995-05-23,927.0000000001422,926.9207,2015-01-01 02:34:33,bin9273,75, +abc,9274,9274,9274,1995-05-24,927.1000000001422,927.0207,2015-01-01 02:34:34,bin9274,35, +abc,9275,9275,9275,1995-05-25,927.2000000001423,927.12067,2015-01-01 02:34:35,bin9275,75, +abc,9276,9276,9276,1995-05-26,927.3000000001423,927.22064,2015-01-01 02:34:36,bin9276,35, +abc,9277,9277,9277,1995-05-27,927.4000000001423,927.3206,2015-01-01 02:34:37,bin9277,75, +abc,9278,9278,9278,1995-05-28,927.5000000001423,927.4206,2015-01-01 02:34:38,bin9278,35, +abc,9279,9279,9279,1995-05-29,927.6000000001424,927.52057,2015-01-01 02:34:39,bin9279,75, +abc,9280,9280,9280,1995-05-30,927.7000000001424,927.62054,2015-01-01 02:34:40,bin9280,35, +abc,9281,9281,9281,1995-05-31,927.8000000001424,927.7205,2015-01-01 02:34:41,bin9281,75, +abc,9282,9282,9282,1995-06-01,927.9000000001424,927.8205,2015-01-01 02:34:42,bin9282,35, +abc,9283,9283,9283,1995-06-02,928.0000000001424,927.9205,2015-01-01 02:34:43,bin9283,75, +abc,9284,9284,9284,1995-06-03,928.1000000001425,928.02045,2015-01-01 02:34:44,bin9284,35, +abc,9285,9285,9285,1995-06-04,928.2000000001425,928.1204,2015-01-01 02:34:45,bin9285,75, +abc,9286,9286,9286,1995-06-05,928.3000000001425,928.2204,2015-01-01 02:34:46,bin9286,35, +abc,9287,9287,9287,1995-06-06,928.4000000001425,928.3204,2015-01-01 02:34:47,bin9287,75, +abc,9288,9288,9288,1995-06-07,928.5000000001426,928.42035,2015-01-01 02:34:48,bin9288,35, +abc,9289,9289,9289,1995-06-08,928.6000000001426,928.5203,2015-01-01 02:34:49,bin9289,75, +abc,9290,9290,9290,1995-06-09,928.7000000001426,928.6203,2015-01-01 02:34:50,bin9290,35, +abc,9291,9291,9291,1995-06-10,928.8000000001426,928.7203,2015-01-01 02:34:51,bin9291,75, +abc,9292,9292,9292,1995-06-11,928.9000000001427,928.82025,2015-01-01 02:34:52,bin9292,35, +abc,9293,9293,9293,1995-06-12,929.0000000001427,928.9202,2015-01-01 02:34:53,bin9293,75, +abc,9294,9294,9294,1995-06-13,929.1000000001427,929.0202,2015-01-01 02:34:54,bin9294,35, +abc,9295,9295,9295,1995-06-14,929.2000000001427,929.1202,2015-01-01 02:34:55,bin9295,75, +abc,9296,9296,9296,1995-06-15,929.3000000001427,929.22015,2015-01-01 02:34:56,bin9296,35, +abc,9297,9297,9297,1995-06-16,929.4000000001428,929.3201,2015-01-01 02:34:57,bin9297,75, +abc,9298,9298,9298,1995-06-17,929.5000000001428,929.4201,2015-01-01 02:34:58,bin9298,35, +abc,9299,9299,9299,1995-06-18,929.6000000001428,929.5201,2015-01-01 02:34:59,bin9299,75, +abc,9300,9300,9300,1995-06-19,929.7000000001428,929.62006,2015-01-01 02:35:00,bin9300,35, +abc,9301,9301,9301,1995-06-20,929.8000000001429,929.72003,2015-01-01 02:35:01,bin9301,75, +abc,9302,9302,9302,1995-06-21,929.9000000001429,929.82,2015-01-01 02:35:02,bin9302,35, +abc,9303,9303,9303,1995-06-22,930.0000000001429,929.92,2015-01-01 02:35:03,bin9303,75, +abc,9304,9304,9304,1995-06-23,930.1000000001429,930.01996,2015-01-01 02:35:04,bin9304,35, +abc,9305,9305,9305,1995-06-24,930.200000000143,930.11993,2015-01-01 02:35:05,bin9305,75, +abc,9306,9306,9306,1995-06-25,930.300000000143,930.2199,2015-01-01 02:35:06,bin9306,35, +abc,9307,9307,9307,1995-06-26,930.400000000143,930.3199,2015-01-01 02:35:07,bin9307,75, +abc,9308,9308,9308,1995-06-27,930.500000000143,930.41986,2015-01-01 02:35:08,bin9308,35, +abc,9309,9309,9309,1995-06-28,930.600000000143,930.51984,2015-01-01 02:35:09,bin9309,75, +abc,9310,9310,9310,1995-06-29,930.7000000001431,930.6198,2015-01-01 02:35:10,bin9310,35, +abc,9311,9311,9311,1995-06-30,930.8000000001431,930.7198,2015-01-01 02:35:11,bin9311,75, +abc,9312,9312,9312,1995-07-01,930.9000000001431,930.81976,2015-01-01 02:35:12,bin9312,35, +abc,9313,9313,9313,1995-07-02,931.0000000001431,930.91974,2015-01-01 02:35:13,bin9313,75, +abc,9314,9314,9314,1995-07-03,931.1000000001432,931.0197,2015-01-01 02:35:14,bin9314,35, +abc,9315,9315,9315,1995-07-04,931.2000000001432,931.1197,2015-01-01 02:35:15,bin9315,75, +abc,9316,9316,9316,1995-07-05,931.3000000001432,931.21967,2015-01-01 02:35:16,bin9316,35, +abc,9317,9317,9317,1995-07-06,931.4000000001432,931.31964,2015-01-01 02:35:17,bin9317,75, +abc,9318,9318,9318,1995-07-07,931.5000000001432,931.4196,2015-01-01 02:35:18,bin9318,35, +abc,9319,9319,9319,1995-07-08,931.6000000001433,931.5196,2015-01-01 02:35:19,bin9319,75, +abc,9320,9320,9320,1995-07-09,931.7000000001433,931.61957,2015-01-01 02:35:20,bin9320,35, +abc,9321,9321,9321,1995-07-10,931.8000000001433,931.71954,2015-01-01 02:35:21,bin9321,75, +abc,9322,9322,9322,1995-07-11,931.9000000001433,931.8195,2015-01-01 02:35:22,bin9322,35, +abc,9323,9323,9323,1995-07-12,932.0000000001434,931.9195,2015-01-01 02:35:23,bin9323,75, +abc,9324,9324,9324,1995-07-13,932.1000000001434,932.0195,2015-01-01 02:35:24,bin9324,35, +abc,9325,9325,9325,1995-07-14,932.2000000001434,932.11945,2015-01-01 02:35:25,bin9325,75, +abc,9326,9326,9326,1995-07-15,932.3000000001434,932.2194,2015-01-01 02:35:26,bin9326,35, +abc,9327,9327,9327,1995-07-16,932.4000000001435,932.3194,2015-01-01 02:35:27,bin9327,75, +abc,9328,9328,9328,1995-07-17,932.5000000001435,932.4194,2015-01-01 02:35:28,bin9328,35, +abc,9329,9329,9329,1995-07-18,932.6000000001435,932.51935,2015-01-01 02:35:29,bin9329,75, +abc,9330,9330,9330,1995-07-19,932.7000000001435,932.6193,2015-01-01 02:35:30,bin9330,35, +abc,9331,9331,9331,1995-07-20,932.8000000001435,932.7193,2015-01-01 02:35:31,bin9331,75, +abc,9332,9332,9332,1995-07-21,932.9000000001436,932.8193,2015-01-01 02:35:32,bin9332,35, +abc,9333,9333,9333,1995-07-22,933.0000000001436,932.91925,2015-01-01 02:35:33,bin9333,75, +abc,9334,9334,9334,1995-07-23,933.1000000001436,933.0192,2015-01-01 02:35:34,bin9334,35, +abc,9335,9335,9335,1995-07-24,933.2000000001436,933.1192,2015-01-01 02:35:35,bin9335,75, +abc,9336,9336,9336,1995-07-25,933.3000000001437,933.2192,2015-01-01 02:35:36,bin9336,35, +abc,9337,9337,9337,1995-07-26,933.4000000001437,933.31915,2015-01-01 02:35:37,bin9337,75, +abc,9338,9338,9338,1995-07-27,933.5000000001437,933.4191,2015-01-01 02:35:38,bin9338,35, +abc,9339,9339,9339,1995-07-28,933.6000000001437,933.5191,2015-01-01 02:35:39,bin9339,75, +abc,9340,9340,9340,1995-07-29,933.7000000001437,933.6191,2015-01-01 02:35:40,bin9340,35, +abc,9341,9341,9341,1995-07-30,933.8000000001438,933.71906,2015-01-01 02:35:41,bin9341,75, +abc,9342,9342,9342,1995-07-31,933.9000000001438,933.81903,2015-01-01 02:35:42,bin9342,35, +abc,9343,9343,9343,1995-08-01,934.0000000001438,933.919,2015-01-01 02:35:43,bin9343,75, +abc,9344,9344,9344,1995-08-02,934.1000000001438,934.019,2015-01-01 02:35:44,bin9344,35, +abc,9345,9345,9345,1995-08-03,934.2000000001439,934.11896,2015-01-01 02:35:45,bin9345,75, +abc,9346,9346,9346,1995-08-04,934.3000000001439,934.21893,2015-01-01 02:35:46,bin9346,35, +abc,9347,9347,9347,1995-08-05,934.4000000001439,934.3189,2015-01-01 02:35:47,bin9347,75, +abc,9348,9348,9348,1995-08-06,934.5000000001439,934.4189,2015-01-01 02:35:48,bin9348,35, +abc,9349,9349,9349,1995-08-07,934.600000000144,934.51886,2015-01-01 02:35:49,bin9349,75, +abc,9350,9350,9350,1995-08-08,934.700000000144,934.61884,2015-01-01 02:35:50,bin9350,35, +abc,9351,9351,9351,1995-08-09,934.800000000144,934.7188,2015-01-01 02:35:51,bin9351,75, +abc,9352,9352,9352,1995-08-10,934.900000000144,934.8188,2015-01-01 02:35:52,bin9352,35, +abc,9353,9353,9353,1995-08-11,935.000000000144,934.91876,2015-01-01 02:35:53,bin9353,75, +abc,9354,9354,9354,1995-08-12,935.1000000001441,935.01874,2015-01-01 02:35:54,bin9354,35, +abc,9355,9355,9355,1995-08-13,935.2000000001441,935.1187,2015-01-01 02:35:55,bin9355,75, +abc,9356,9356,9356,1995-08-14,935.3000000001441,935.2187,2015-01-01 02:35:56,bin9356,35, +abc,9357,9357,9357,1995-08-15,935.4000000001441,935.31866,2015-01-01 02:35:57,bin9357,75, +abc,9358,9358,9358,1995-08-16,935.5000000001442,935.41864,2015-01-01 02:35:58,bin9358,35, +abc,9359,9359,9359,1995-08-17,935.6000000001442,935.5186,2015-01-01 02:35:59,bin9359,75, +abc,9360,9360,9360,1995-08-18,935.7000000001442,935.6186,2015-01-01 02:36:00,bin9360,35, +abc,9361,9361,9361,1995-08-19,935.8000000001442,935.71857,2015-01-01 02:36:01,bin9361,75, +abc,9362,9362,9362,1995-08-20,935.9000000001442,935.81854,2015-01-01 02:36:02,bin9362,35, +abc,9363,9363,9363,1995-08-21,936.0000000001443,935.9185,2015-01-01 02:36:03,bin9363,75, +abc,9364,9364,9364,1995-08-22,936.1000000001443,936.0185,2015-01-01 02:36:04,bin9364,35, +abc,9365,9365,9365,1995-08-23,936.2000000001443,936.11847,2015-01-01 02:36:05,bin9365,75, +abc,9366,9366,9366,1995-08-24,936.3000000001443,936.21844,2015-01-01 02:36:06,bin9366,35, +abc,9367,9367,9367,1995-08-25,936.4000000001444,936.3184,2015-01-01 02:36:07,bin9367,75, +abc,9368,9368,9368,1995-08-26,936.5000000001444,936.4184,2015-01-01 02:36:08,bin9368,35, +abc,9369,9369,9369,1995-08-27,936.6000000001444,936.5184,2015-01-01 02:36:09,bin9369,75, +abc,9370,9370,9370,1995-08-28,936.7000000001444,936.61835,2015-01-01 02:36:10,bin9370,35, +abc,9371,9371,9371,1995-08-29,936.8000000001445,936.7183,2015-01-01 02:36:11,bin9371,75, +abc,9372,9372,9372,1995-08-30,936.9000000001445,936.8183,2015-01-01 02:36:12,bin9372,35, +abc,9373,9373,9373,1995-08-31,937.0000000001445,936.9183,2015-01-01 02:36:13,bin9373,75, +abc,9374,9374,9374,1995-09-01,937.1000000001445,937.01825,2015-01-01 02:36:14,bin9374,35, +abc,9375,9375,9375,1995-09-02,937.2000000001445,937.1182,2015-01-01 02:36:15,bin9375,75, +abc,9376,9376,9376,1995-09-03,937.3000000001446,937.2182,2015-01-01 02:36:16,bin9376,35, +abc,9377,9377,9377,1995-09-04,937.4000000001446,937.3182,2015-01-01 02:36:17,bin9377,75, +abc,9378,9378,9378,1995-09-05,937.5000000001446,937.41815,2015-01-01 02:36:18,bin9378,35, +abc,9379,9379,9379,1995-09-06,937.6000000001446,937.5181,2015-01-01 02:36:19,bin9379,75, +abc,9380,9380,9380,1995-09-07,937.7000000001447,937.6181,2015-01-01 02:36:20,bin9380,35, +abc,9381,9381,9381,1995-09-08,937.8000000001447,937.7181,2015-01-01 02:36:21,bin9381,75, +abc,9382,9382,9382,1995-09-09,937.9000000001447,937.81805,2015-01-01 02:36:22,bin9382,35, +abc,9383,9383,9383,1995-09-10,938.0000000001447,937.918,2015-01-01 02:36:23,bin9383,75, +abc,9384,9384,9384,1995-09-11,938.1000000001447,938.018,2015-01-01 02:36:24,bin9384,35, +abc,9385,9385,9385,1995-09-12,938.2000000001448,938.118,2015-01-01 02:36:25,bin9385,75, +abc,9386,9386,9386,1995-09-13,938.3000000001448,938.21796,2015-01-01 02:36:26,bin9386,35, +abc,9387,9387,9387,1995-09-14,938.4000000001448,938.31793,2015-01-01 02:36:27,bin9387,75, +abc,9388,9388,9388,1995-09-15,938.5000000001448,938.4179,2015-01-01 02:36:28,bin9388,35, +abc,9389,9389,9389,1995-09-16,938.6000000001449,938.5179,2015-01-01 02:36:29,bin9389,75, +abc,9390,9390,9390,1995-09-17,938.7000000001449,938.61786,2015-01-01 02:36:30,bin9390,35, +abc,9391,9391,9391,1995-09-18,938.8000000001449,938.71783,2015-01-01 02:36:31,bin9391,75, +abc,9392,9392,9392,1995-09-19,938.9000000001449,938.8178,2015-01-01 02:36:32,bin9392,35, +abc,9393,9393,9393,1995-09-20,939.000000000145,938.9178,2015-01-01 02:36:33,bin9393,75, +abc,9394,9394,9394,1995-09-21,939.100000000145,939.01776,2015-01-01 02:36:34,bin9394,35, +abc,9395,9395,9395,1995-09-22,939.200000000145,939.11774,2015-01-01 02:36:35,bin9395,75, +abc,9396,9396,9396,1995-09-23,939.300000000145,939.2177,2015-01-01 02:36:36,bin9396,35, +abc,9397,9397,9397,1995-09-24,939.400000000145,939.3177,2015-01-01 02:36:37,bin9397,75, +abc,9398,9398,9398,1995-09-25,939.5000000001451,939.41766,2015-01-01 02:36:38,bin9398,35, +abc,9399,9399,9399,1995-09-26,939.6000000001451,939.51764,2015-01-01 02:36:39,bin9399,75, +abc,9400,9400,9400,1995-09-27,939.7000000001451,939.6176,2015-01-01 02:36:40,bin9400,35, +abc,9401,9401,9401,1995-09-28,939.8000000001451,939.7176,2015-01-01 02:36:41,bin9401,75, +abc,9402,9402,9402,1995-09-29,939.9000000001452,939.81757,2015-01-01 02:36:42,bin9402,35, +abc,9403,9403,9403,1995-09-30,940.0000000001452,939.91754,2015-01-01 02:36:43,bin9403,75, +abc,9404,9404,9404,1995-10-01,940.1000000001452,940.0175,2015-01-01 02:36:44,bin9404,35, +abc,9405,9405,9405,1995-10-02,940.2000000001452,940.1175,2015-01-01 02:36:45,bin9405,75, +abc,9406,9406,9406,1995-10-03,940.3000000001452,940.21747,2015-01-01 02:36:46,bin9406,35, +abc,9407,9407,9407,1995-10-04,940.4000000001453,940.31744,2015-01-01 02:36:47,bin9407,75, +abc,9408,9408,9408,1995-10-05,940.5000000001453,940.4174,2015-01-01 02:36:48,bin9408,35, +abc,9409,9409,9409,1995-10-06,940.6000000001453,940.5174,2015-01-01 02:36:49,bin9409,75, +abc,9410,9410,9410,1995-10-07,940.7000000001453,940.6174,2015-01-01 02:36:50,bin9410,35, +abc,9411,9411,9411,1995-10-08,940.8000000001454,940.71735,2015-01-01 02:36:51,bin9411,75, +abc,9412,9412,9412,1995-10-09,940.9000000001454,940.8173,2015-01-01 02:36:52,bin9412,35, +abc,9413,9413,9413,1995-10-10,941.0000000001454,940.9173,2015-01-01 02:36:53,bin9413,75, +abc,9414,9414,9414,1995-10-11,941.1000000001454,941.0173,2015-01-01 02:36:54,bin9414,35, +abc,9415,9415,9415,1995-10-12,941.2000000001455,941.11725,2015-01-01 02:36:55,bin9415,75, +abc,9416,9416,9416,1995-10-13,941.3000000001455,941.2172,2015-01-01 02:36:56,bin9416,35, +abc,9417,9417,9417,1995-10-14,941.4000000001455,941.3172,2015-01-01 02:36:57,bin9417,75, +abc,9418,9418,9418,1995-10-15,941.5000000001455,941.4172,2015-01-01 02:36:58,bin9418,35, +abc,9419,9419,9419,1995-10-16,941.6000000001455,941.51715,2015-01-01 02:36:59,bin9419,75, +abc,9420,9420,9420,1995-10-17,941.7000000001456,941.6171,2015-01-01 02:37:00,bin9420,35, +abc,9421,9421,9421,1995-10-18,941.8000000001456,941.7171,2015-01-01 02:37:01,bin9421,75, +abc,9422,9422,9422,1995-10-19,941.9000000001456,941.8171,2015-01-01 02:37:02,bin9422,35, +abc,9423,9423,9423,1995-10-20,942.0000000001456,941.91705,2015-01-01 02:37:03,bin9423,75, +abc,9424,9424,9424,1995-10-21,942.1000000001457,942.017,2015-01-01 02:37:04,bin9424,35, +abc,9425,9425,9425,1995-10-22,942.2000000001457,942.117,2015-01-01 02:37:05,bin9425,75, +abc,9426,9426,9426,1995-10-23,942.3000000001457,942.217,2015-01-01 02:37:06,bin9426,35, +abc,9427,9427,9427,1995-10-24,942.4000000001457,942.31696,2015-01-01 02:37:07,bin9427,75, +abc,9428,9428,9428,1995-10-25,942.5000000001457,942.41693,2015-01-01 02:37:08,bin9428,35, +abc,9429,9429,9429,1995-10-26,942.6000000001458,942.5169,2015-01-01 02:37:09,bin9429,75, +abc,9430,9430,9430,1995-10-27,942.7000000001458,942.6169,2015-01-01 02:37:10,bin9430,35, +abc,9431,9431,9431,1995-10-28,942.8000000001458,942.71686,2015-01-01 02:37:11,bin9431,75, +abc,9432,9432,9432,1995-10-29,942.9000000001458,942.81683,2015-01-01 02:37:12,bin9432,35, +abc,9433,9433,9433,1995-10-30,943.0000000001459,942.9168,2015-01-01 02:37:13,bin9433,75, +abc,9434,9434,9434,1995-10-31,943.1000000001459,943.0168,2015-01-01 02:37:14,bin9434,35, +abc,9435,9435,9435,1995-11-01,943.2000000001459,943.11676,2015-01-01 02:37:15,bin9435,75, +abc,9436,9436,9436,1995-11-02,943.3000000001459,943.21674,2015-01-01 02:37:16,bin9436,35, +abc,9437,9437,9437,1995-11-03,943.400000000146,943.3167,2015-01-01 02:37:17,bin9437,75, +abc,9438,9438,9438,1995-11-04,943.500000000146,943.4167,2015-01-01 02:37:18,bin9438,35, +abc,9439,9439,9439,1995-11-05,943.600000000146,943.51666,2015-01-01 02:37:19,bin9439,75, +abc,9440,9440,9440,1995-11-06,943.700000000146,943.61664,2015-01-01 02:37:20,bin9440,35, +abc,9441,9441,9441,1995-11-07,943.800000000146,943.7166,2015-01-01 02:37:21,bin9441,75, +abc,9442,9442,9442,1995-11-08,943.9000000001461,943.8166,2015-01-01 02:37:22,bin9442,35, +abc,9443,9443,9443,1995-11-09,944.0000000001461,943.91656,2015-01-01 02:37:23,bin9443,75, +abc,9444,9444,9444,1995-11-10,944.1000000001461,944.01654,2015-01-01 02:37:24,bin9444,35, +abc,9445,9445,9445,1995-11-11,944.2000000001461,944.1165,2015-01-01 02:37:25,bin9445,75, +abc,9446,9446,9446,1995-11-12,944.3000000001462,944.2165,2015-01-01 02:37:26,bin9446,35, +abc,9447,9447,9447,1995-11-13,944.4000000001462,944.31647,2015-01-01 02:37:27,bin9447,75, +abc,9448,9448,9448,1995-11-14,944.5000000001462,944.41644,2015-01-01 02:37:28,bin9448,35, +abc,9449,9449,9449,1995-11-15,944.6000000001462,944.5164,2015-01-01 02:37:29,bin9449,75, +abc,9450,9450,9450,1995-11-16,944.7000000001462,944.6164,2015-01-01 02:37:30,bin9450,35, +abc,9451,9451,9451,1995-11-17,944.8000000001463,944.7164,2015-01-01 02:37:31,bin9451,75, +abc,9452,9452,9452,1995-11-18,944.9000000001463,944.81635,2015-01-01 02:37:32,bin9452,35, +abc,9453,9453,9453,1995-11-19,945.0000000001463,944.9163,2015-01-01 02:37:33,bin9453,75, +abc,9454,9454,9454,1995-11-20,945.1000000001463,945.0163,2015-01-01 02:37:34,bin9454,35, +abc,9455,9455,9455,1995-11-21,945.2000000001464,945.1163,2015-01-01 02:37:35,bin9455,75, +abc,9456,9456,9456,1995-11-22,945.3000000001464,945.21625,2015-01-01 02:37:36,bin9456,35, +abc,9457,9457,9457,1995-11-23,945.4000000001464,945.3162,2015-01-01 02:37:37,bin9457,75, +abc,9458,9458,9458,1995-11-24,945.5000000001464,945.4162,2015-01-01 02:37:38,bin9458,35, +abc,9459,9459,9459,1995-11-25,945.6000000001465,945.5162,2015-01-01 02:37:39,bin9459,75, +abc,9460,9460,9460,1995-11-26,945.7000000001465,945.61615,2015-01-01 02:37:40,bin9460,35, +abc,9461,9461,9461,1995-11-27,945.8000000001465,945.7161,2015-01-01 02:37:41,bin9461,75, +abc,9462,9462,9462,1995-11-28,945.9000000001465,945.8161,2015-01-01 02:37:42,bin9462,35, +abc,9463,9463,9463,1995-11-29,946.0000000001465,945.9161,2015-01-01 02:37:43,bin9463,75, +abc,9464,9464,9464,1995-11-30,946.1000000001466,946.01605,2015-01-01 02:37:44,bin9464,35, +abc,9465,9465,9465,1995-12-01,946.2000000001466,946.116,2015-01-01 02:37:45,bin9465,75, +abc,9466,9466,9466,1995-12-02,946.3000000001466,946.216,2015-01-01 02:37:46,bin9466,35, +abc,9467,9467,9467,1995-12-03,946.4000000001466,946.316,2015-01-01 02:37:47,bin9467,75, +abc,9468,9468,9468,1995-12-04,946.5000000001467,946.41595,2015-01-01 02:37:48,bin9468,35, +abc,9469,9469,9469,1995-12-05,946.6000000001467,946.5159,2015-01-01 02:37:49,bin9469,75, +abc,9470,9470,9470,1995-12-06,946.7000000001467,946.6159,2015-01-01 02:37:50,bin9470,35, +abc,9471,9471,9471,1995-12-07,946.8000000001467,946.7159,2015-01-01 02:37:51,bin9471,75, +abc,9472,9472,9472,1995-12-08,946.9000000001467,946.81586,2015-01-01 02:37:52,bin9472,35, +abc,9473,9473,9473,1995-12-09,947.0000000001468,946.91583,2015-01-01 02:37:53,bin9473,75, +abc,9474,9474,9474,1995-12-10,947.1000000001468,947.0158,2015-01-01 02:37:54,bin9474,35, +abc,9475,9475,9475,1995-12-11,947.2000000001468,947.1158,2015-01-01 02:37:55,bin9475,75, +abc,9476,9476,9476,1995-12-12,947.3000000001468,947.21576,2015-01-01 02:37:56,bin9476,35, +abc,9477,9477,9477,1995-12-13,947.4000000001469,947.31573,2015-01-01 02:37:57,bin9477,75, +abc,9478,9478,9478,1995-12-14,947.5000000001469,947.4157,2015-01-01 02:37:58,bin9478,35, +abc,9479,9479,9479,1995-12-15,947.6000000001469,947.5157,2015-01-01 02:37:59,bin9479,75, +abc,9480,9480,9480,1995-12-16,947.7000000001469,947.61566,2015-01-01 02:38:00,bin9480,35, +abc,9481,9481,9481,1995-12-17,947.800000000147,947.71564,2015-01-01 02:38:01,bin9481,75, +abc,9482,9482,9482,1995-12-18,947.900000000147,947.8156,2015-01-01 02:38:02,bin9482,35, +abc,9483,9483,9483,1995-12-19,948.000000000147,947.9156,2015-01-01 02:38:03,bin9483,75, +abc,9484,9484,9484,1995-12-20,948.100000000147,948.01556,2015-01-01 02:38:04,bin9484,35, +abc,9485,9485,9485,1995-12-21,948.200000000147,948.11554,2015-01-01 02:38:05,bin9485,75, +abc,9486,9486,9486,1995-12-22,948.3000000001471,948.2155,2015-01-01 02:38:06,bin9486,35, +abc,9487,9487,9487,1995-12-23,948.4000000001471,948.3155,2015-01-01 02:38:07,bin9487,75, +abc,9488,9488,9488,1995-12-24,948.5000000001471,948.41547,2015-01-01 02:38:08,bin9488,35, +abc,9489,9489,9489,1995-12-25,948.6000000001471,948.51544,2015-01-01 02:38:09,bin9489,75, +abc,9490,9490,9490,1995-12-26,948.7000000001472,948.6154,2015-01-01 02:38:10,bin9490,35, +abc,9491,9491,9491,1995-12-27,948.8000000001472,948.7154,2015-01-01 02:38:11,bin9491,75, +abc,9492,9492,9492,1995-12-28,948.9000000001472,948.81537,2015-01-01 02:38:12,bin9492,35, +abc,9493,9493,9493,1995-12-29,949.0000000001472,948.91534,2015-01-01 02:38:13,bin9493,75, +abc,9494,9494,9494,1995-12-30,949.1000000001472,949.0153,2015-01-01 02:38:14,bin9494,35, +abc,9495,9495,9495,1995-12-31,949.2000000001473,949.1153,2015-01-01 02:38:15,bin9495,75, +abc,9496,9496,9496,1996-01-01,949.3000000001473,949.2153,2015-01-01 02:38:16,bin9496,35, +abc,9497,9497,9497,1996-01-02,949.4000000001473,949.31525,2015-01-01 02:38:17,bin9497,75, +abc,9498,9498,9498,1996-01-03,949.5000000001473,949.4152,2015-01-01 02:38:18,bin9498,35, +abc,9499,9499,9499,1996-01-04,949.6000000001474,949.5152,2015-01-01 02:38:19,bin9499,75, +abc,9500,9500,9500,1996-01-05,949.7000000001474,949.6152,2015-01-01 02:38:20,bin9500,35, +abc,9501,9501,9501,1996-01-06,949.8000000001474,949.71515,2015-01-01 02:38:21,bin9501,75, +abc,9502,9502,9502,1996-01-07,949.9000000001474,949.8151,2015-01-01 02:38:22,bin9502,35, +abc,9503,9503,9503,1996-01-08,950.0000000001475,949.9151,2015-01-01 02:38:23,bin9503,75, +abc,9504,9504,9504,1996-01-09,950.1000000001475,950.0151,2015-01-01 02:38:24,bin9504,35, +abc,9505,9505,9505,1996-01-10,950.2000000001475,950.11505,2015-01-01 02:38:25,bin9505,75, +abc,9506,9506,9506,1996-01-11,950.3000000001475,950.215,2015-01-01 02:38:26,bin9506,35, +abc,9507,9507,9507,1996-01-12,950.4000000001475,950.315,2015-01-01 02:38:27,bin9507,75, +abc,9508,9508,9508,1996-01-13,950.5000000001476,950.415,2015-01-01 02:38:28,bin9508,35, +abc,9509,9509,9509,1996-01-14,950.6000000001476,950.51495,2015-01-01 02:38:29,bin9509,75, +abc,9510,9510,9510,1996-01-15,950.7000000001476,950.6149,2015-01-01 02:38:30,bin9510,35, +abc,9511,9511,9511,1996-01-16,950.8000000001476,950.7149,2015-01-01 02:38:31,bin9511,75, +abc,9512,9512,9512,1996-01-17,950.9000000001477,950.8149,2015-01-01 02:38:32,bin9512,35, +abc,9513,9513,9513,1996-01-18,951.0000000001477,950.91486,2015-01-01 02:38:33,bin9513,75, +abc,9514,9514,9514,1996-01-19,951.1000000001477,951.01483,2015-01-01 02:38:34,bin9514,35, +abc,9515,9515,9515,1996-01-20,951.2000000001477,951.1148,2015-01-01 02:38:35,bin9515,75, +abc,9516,9516,9516,1996-01-21,951.3000000001477,951.2148,2015-01-01 02:38:36,bin9516,35, +abc,9517,9517,9517,1996-01-22,951.4000000001478,951.31476,2015-01-01 02:38:37,bin9517,75, +abc,9518,9518,9518,1996-01-23,951.5000000001478,951.41473,2015-01-01 02:38:38,bin9518,35, +abc,9519,9519,9519,1996-01-24,951.6000000001478,951.5147,2015-01-01 02:38:39,bin9519,75, +abc,9520,9520,9520,1996-01-25,951.7000000001478,951.6147,2015-01-01 02:38:40,bin9520,35, +abc,9521,9521,9521,1996-01-26,951.8000000001479,951.71466,2015-01-01 02:38:41,bin9521,75, +abc,9522,9522,9522,1996-01-27,951.9000000001479,951.81464,2015-01-01 02:38:42,bin9522,35, +abc,9523,9523,9523,1996-01-28,952.0000000001479,951.9146,2015-01-01 02:38:43,bin9523,75, +abc,9524,9524,9524,1996-01-29,952.1000000001479,952.0146,2015-01-01 02:38:44,bin9524,35, +abc,9525,9525,9525,1996-01-30,952.200000000148,952.11456,2015-01-01 02:38:45,bin9525,75, +abc,9526,9526,9526,1996-01-31,952.300000000148,952.21454,2015-01-01 02:38:46,bin9526,35, +abc,9527,9527,9527,1996-02-01,952.400000000148,952.3145,2015-01-01 02:38:47,bin9527,75, +abc,9528,9528,9528,1996-02-02,952.500000000148,952.4145,2015-01-01 02:38:48,bin9528,35, +abc,9529,9529,9529,1996-02-03,952.600000000148,952.51447,2015-01-01 02:38:49,bin9529,75, +abc,9530,9530,9530,1996-02-04,952.7000000001481,952.61444,2015-01-01 02:38:50,bin9530,35, +abc,9531,9531,9531,1996-02-05,952.8000000001481,952.7144,2015-01-01 02:38:51,bin9531,75, +abc,9532,9532,9532,1996-02-06,952.9000000001481,952.8144,2015-01-01 02:38:52,bin9532,35, +abc,9533,9533,9533,1996-02-07,953.0000000001481,952.91437,2015-01-01 02:38:53,bin9533,75, +abc,9534,9534,9534,1996-02-08,953.1000000001482,953.01434,2015-01-01 02:38:54,bin9534,35, +abc,9535,9535,9535,1996-02-09,953.2000000001482,953.1143,2015-01-01 02:38:55,bin9535,75, +abc,9536,9536,9536,1996-02-10,953.3000000001482,953.2143,2015-01-01 02:38:56,bin9536,35, +abc,9537,9537,9537,1996-02-11,953.4000000001482,953.3143,2015-01-01 02:38:57,bin9537,75, +abc,9538,9538,9538,1996-02-12,953.5000000001482,953.41425,2015-01-01 02:38:58,bin9538,35, +abc,9539,9539,9539,1996-02-13,953.6000000001483,953.5142,2015-01-01 02:38:59,bin9539,75, +abc,9540,9540,9540,1996-02-14,953.7000000001483,953.6142,2015-01-01 02:39:00,bin9540,35, +abc,9541,9541,9541,1996-02-15,953.8000000001483,953.7142,2015-01-01 02:39:01,bin9541,75, +abc,9542,9542,9542,1996-02-16,953.9000000001483,953.81415,2015-01-01 02:39:02,bin9542,35, +abc,9543,9543,9543,1996-02-17,954.0000000001484,953.9141,2015-01-01 02:39:03,bin9543,75, +abc,9544,9544,9544,1996-02-18,954.1000000001484,954.0141,2015-01-01 02:39:04,bin9544,35, +abc,9545,9545,9545,1996-02-19,954.2000000001484,954.1141,2015-01-01 02:39:05,bin9545,75, +abc,9546,9546,9546,1996-02-20,954.3000000001484,954.21405,2015-01-01 02:39:06,bin9546,35, +abc,9547,9547,9547,1996-02-21,954.4000000001485,954.314,2015-01-01 02:39:07,bin9547,75, +abc,9548,9548,9548,1996-02-22,954.5000000001485,954.414,2015-01-01 02:39:08,bin9548,35, +abc,9549,9549,9549,1996-02-23,954.6000000001485,954.514,2015-01-01 02:39:09,bin9549,75, +abc,9550,9550,9550,1996-02-24,954.7000000001485,954.61395,2015-01-01 02:39:10,bin9550,35, +abc,9551,9551,9551,1996-02-25,954.8000000001485,954.7139,2015-01-01 02:39:11,bin9551,75, +abc,9552,9552,9552,1996-02-26,954.9000000001486,954.8139,2015-01-01 02:39:12,bin9552,35, +abc,9553,9553,9553,1996-02-27,955.0000000001486,954.9139,2015-01-01 02:39:13,bin9553,75, +abc,9554,9554,9554,1996-02-28,955.1000000001486,955.01385,2015-01-01 02:39:14,bin9554,35, +abc,9555,9555,9555,1996-02-29,955.2000000001486,955.11383,2015-01-01 02:39:15,bin9555,75, +abc,9556,9556,9556,1996-03-01,955.3000000001487,955.2138,2015-01-01 02:39:16,bin9556,35, +abc,9557,9557,9557,1996-03-02,955.4000000001487,955.3138,2015-01-01 02:39:17,bin9557,75, +abc,9558,9558,9558,1996-03-03,955.5000000001487,955.41376,2015-01-01 02:39:18,bin9558,35, +abc,9559,9559,9559,1996-03-04,955.6000000001487,955.51373,2015-01-01 02:39:19,bin9559,75, +abc,9560,9560,9560,1996-03-05,955.7000000001487,955.6137,2015-01-01 02:39:20,bin9560,35, +abc,9561,9561,9561,1996-03-06,955.8000000001488,955.7137,2015-01-01 02:39:21,bin9561,75, +abc,9562,9562,9562,1996-03-07,955.9000000001488,955.81366,2015-01-01 02:39:22,bin9562,35, +abc,9563,9563,9563,1996-03-08,956.0000000001488,955.91364,2015-01-01 02:39:23,bin9563,75, +abc,9564,9564,9564,1996-03-09,956.1000000001488,956.0136,2015-01-01 02:39:24,bin9564,35, +abc,9565,9565,9565,1996-03-10,956.2000000001489,956.1136,2015-01-01 02:39:25,bin9565,75, +abc,9566,9566,9566,1996-03-11,956.3000000001489,956.21356,2015-01-01 02:39:26,bin9566,35, +abc,9567,9567,9567,1996-03-12,956.4000000001489,956.31354,2015-01-01 02:39:27,bin9567,75, +abc,9568,9568,9568,1996-03-13,956.5000000001489,956.4135,2015-01-01 02:39:28,bin9568,35, +abc,9569,9569,9569,1996-03-14,956.600000000149,956.5135,2015-01-01 02:39:29,bin9569,75, +abc,9570,9570,9570,1996-03-15,956.700000000149,956.61346,2015-01-01 02:39:30,bin9570,35, +abc,9571,9571,9571,1996-03-16,956.800000000149,956.71344,2015-01-01 02:39:31,bin9571,75, +abc,9572,9572,9572,1996-03-17,956.900000000149,956.8134,2015-01-01 02:39:32,bin9572,35, +abc,9573,9573,9573,1996-03-18,957.000000000149,956.9134,2015-01-01 02:39:33,bin9573,75, +abc,9574,9574,9574,1996-03-19,957.1000000001491,957.01337,2015-01-01 02:39:34,bin9574,35, +abc,9575,9575,9575,1996-03-20,957.2000000001491,957.11334,2015-01-01 02:39:35,bin9575,75, +abc,9576,9576,9576,1996-03-21,957.3000000001491,957.2133,2015-01-01 02:39:36,bin9576,35, +abc,9577,9577,9577,1996-03-22,957.4000000001491,957.3133,2015-01-01 02:39:37,bin9577,75, +abc,9578,9578,9578,1996-03-23,957.5000000001492,957.41327,2015-01-01 02:39:38,bin9578,35, +abc,9579,9579,9579,1996-03-24,957.6000000001492,957.51324,2015-01-01 02:39:39,bin9579,75, +abc,9580,9580,9580,1996-03-25,957.7000000001492,957.6132,2015-01-01 02:39:40,bin9580,35, +abc,9581,9581,9581,1996-03-26,957.8000000001492,957.7132,2015-01-01 02:39:41,bin9581,75, +abc,9582,9582,9582,1996-03-27,957.9000000001492,957.8132,2015-01-01 02:39:42,bin9582,35, +abc,9583,9583,9583,1996-03-28,958.0000000001493,957.91315,2015-01-01 02:39:43,bin9583,75, +abc,9584,9584,9584,1996-03-29,958.1000000001493,958.0131,2015-01-01 02:39:44,bin9584,35, +abc,9585,9585,9585,1996-03-30,958.2000000001493,958.1131,2015-01-01 02:39:45,bin9585,75, +abc,9586,9586,9586,1996-03-31,958.3000000001493,958.2131,2015-01-01 02:39:46,bin9586,35, +abc,9587,9587,9587,1996-04-01,958.4000000001494,958.31305,2015-01-01 02:39:47,bin9587,75, +abc,9588,9588,9588,1996-04-02,958.5000000001494,958.413,2015-01-01 02:39:48,bin9588,35, +abc,9589,9589,9589,1996-04-03,958.6000000001494,958.513,2015-01-01 02:39:49,bin9589,75, +abc,9590,9590,9590,1996-04-04,958.7000000001494,958.613,2015-01-01 02:39:50,bin9590,35, +abc,9591,9591,9591,1996-04-05,958.8000000001495,958.71295,2015-01-01 02:39:51,bin9591,75, +abc,9592,9592,9592,1996-04-06,958.9000000001495,958.8129,2015-01-01 02:39:52,bin9592,35, +abc,9593,9593,9593,1996-04-07,959.0000000001495,958.9129,2015-01-01 02:39:53,bin9593,75, +abc,9594,9594,9594,1996-04-08,959.1000000001495,959.0129,2015-01-01 02:39:54,bin9594,35, +abc,9595,9595,9595,1996-04-09,959.2000000001495,959.11285,2015-01-01 02:39:55,bin9595,75, +abc,9596,9596,9596,1996-04-10,959.3000000001496,959.2128,2015-01-01 02:39:56,bin9596,35, +abc,9597,9597,9597,1996-04-11,959.4000000001496,959.3128,2015-01-01 02:39:57,bin9597,75, +abc,9598,9598,9598,1996-04-12,959.5000000001496,959.4128,2015-01-01 02:39:58,bin9598,35, +abc,9599,9599,9599,1996-04-13,959.6000000001496,959.51276,2015-01-01 02:39:59,bin9599,75, +abc,9600,9600,9600,1996-04-14,959.7000000001497,959.61273,2015-01-01 02:40:00,bin9600,35, +abc,9601,9601,9601,1996-04-15,959.8000000001497,959.7127,2015-01-01 02:40:01,bin9601,75, +abc,9602,9602,9602,1996-04-16,959.9000000001497,959.8127,2015-01-01 02:40:02,bin9602,35, +abc,9603,9603,9603,1996-04-17,960.0000000001497,959.91266,2015-01-01 02:40:03,bin9603,75, +abc,9604,9604,9604,1996-04-18,960.1000000001497,960.01263,2015-01-01 02:40:04,bin9604,35, +abc,9605,9605,9605,1996-04-19,960.2000000001498,960.1126,2015-01-01 02:40:05,bin9605,75, +abc,9606,9606,9606,1996-04-20,960.3000000001498,960.2126,2015-01-01 02:40:06,bin9606,35, +abc,9607,9607,9607,1996-04-21,960.4000000001498,960.31256,2015-01-01 02:40:07,bin9607,75, +abc,9608,9608,9608,1996-04-22,960.5000000001498,960.41254,2015-01-01 02:40:08,bin9608,35, +abc,9609,9609,9609,1996-04-23,960.6000000001499,960.5125,2015-01-01 02:40:09,bin9609,75, +abc,9610,9610,9610,1996-04-24,960.7000000001499,960.6125,2015-01-01 02:40:10,bin9610,35, +abc,9611,9611,9611,1996-04-25,960.8000000001499,960.71246,2015-01-01 02:40:11,bin9611,75, +abc,9612,9612,9612,1996-04-26,960.9000000001499,960.81244,2015-01-01 02:40:12,bin9612,35, +abc,9613,9613,9613,1996-04-27,961.00000000015,960.9124,2015-01-01 02:40:13,bin9613,75, +abc,9614,9614,9614,1996-04-28,961.10000000015,961.0124,2015-01-01 02:40:14,bin9614,35, +abc,9615,9615,9615,1996-04-29,961.20000000015,961.11237,2015-01-01 02:40:15,bin9615,75, +abc,9616,9616,9616,1996-04-30,961.30000000015,961.21234,2015-01-01 02:40:16,bin9616,35, +abc,9617,9617,9617,1996-05-01,961.40000000015,961.3123,2015-01-01 02:40:17,bin9617,75, +abc,9618,9618,9618,1996-05-02,961.5000000001501,961.4123,2015-01-01 02:40:18,bin9618,35, +abc,9619,9619,9619,1996-05-03,961.6000000001501,961.51227,2015-01-01 02:40:19,bin9619,75, +abc,9620,9620,9620,1996-05-04,961.7000000001501,961.61224,2015-01-01 02:40:20,bin9620,35, +abc,9621,9621,9621,1996-05-05,961.8000000001501,961.7122,2015-01-01 02:40:21,bin9621,75, +abc,9622,9622,9622,1996-05-06,961.9000000001502,961.8122,2015-01-01 02:40:22,bin9622,35, +abc,9623,9623,9623,1996-05-07,962.0000000001502,961.9122,2015-01-01 02:40:23,bin9623,75, +abc,9624,9624,9624,1996-05-08,962.1000000001502,962.01215,2015-01-01 02:40:24,bin9624,35, +abc,9625,9625,9625,1996-05-09,962.2000000001502,962.1121,2015-01-01 02:40:25,bin9625,75, +abc,9626,9626,9626,1996-05-10,962.3000000001502,962.2121,2015-01-01 02:40:26,bin9626,35, +abc,9627,9627,9627,1996-05-11,962.4000000001503,962.3121,2015-01-01 02:40:27,bin9627,75, +abc,9628,9628,9628,1996-05-12,962.5000000001503,962.41205,2015-01-01 02:40:28,bin9628,35, +abc,9629,9629,9629,1996-05-13,962.6000000001503,962.512,2015-01-01 02:40:29,bin9629,75, +abc,9630,9630,9630,1996-05-14,962.7000000001503,962.612,2015-01-01 02:40:30,bin9630,35, +abc,9631,9631,9631,1996-05-15,962.8000000001504,962.712,2015-01-01 02:40:31,bin9631,75, +abc,9632,9632,9632,1996-05-16,962.9000000001504,962.81195,2015-01-01 02:40:32,bin9632,35, +abc,9633,9633,9633,1996-05-17,963.0000000001504,962.9119,2015-01-01 02:40:33,bin9633,75, +abc,9634,9634,9634,1996-05-18,963.1000000001504,963.0119,2015-01-01 02:40:34,bin9634,35, +abc,9635,9635,9635,1996-05-19,963.2000000001505,963.1119,2015-01-01 02:40:35,bin9635,75, +abc,9636,9636,9636,1996-05-20,963.3000000001505,963.21185,2015-01-01 02:40:36,bin9636,35, +abc,9637,9637,9637,1996-05-21,963.4000000001505,963.3118,2015-01-01 02:40:37,bin9637,75, +abc,9638,9638,9638,1996-05-22,963.5000000001505,963.4118,2015-01-01 02:40:38,bin9638,35, +abc,9639,9639,9639,1996-05-23,963.6000000001505,963.5118,2015-01-01 02:40:39,bin9639,75, +abc,9640,9640,9640,1996-05-24,963.7000000001506,963.61176,2015-01-01 02:40:40,bin9640,35, +abc,9641,9641,9641,1996-05-25,963.8000000001506,963.71173,2015-01-01 02:40:41,bin9641,75, +abc,9642,9642,9642,1996-05-26,963.9000000001506,963.8117,2015-01-01 02:40:42,bin9642,35, +abc,9643,9643,9643,1996-05-27,964.0000000001506,963.9117,2015-01-01 02:40:43,bin9643,75, +abc,9644,9644,9644,1996-05-28,964.1000000001507,964.01166,2015-01-01 02:40:44,bin9644,35, +abc,9645,9645,9645,1996-05-29,964.2000000001507,964.11163,2015-01-01 02:40:45,bin9645,75, +abc,9646,9646,9646,1996-05-30,964.3000000001507,964.2116,2015-01-01 02:40:46,bin9646,35, +abc,9647,9647,9647,1996-05-31,964.4000000001507,964.3116,2015-01-01 02:40:47,bin9647,75, +abc,9648,9648,9648,1996-06-01,964.5000000001507,964.41156,2015-01-01 02:40:48,bin9648,35, +abc,9649,9649,9649,1996-06-02,964.6000000001508,964.51154,2015-01-01 02:40:49,bin9649,75, +abc,9650,9650,9650,1996-06-03,964.7000000001508,964.6115,2015-01-01 02:40:50,bin9650,35, +abc,9651,9651,9651,1996-06-04,964.8000000001508,964.7115,2015-01-01 02:40:51,bin9651,75, +abc,9652,9652,9652,1996-06-05,964.9000000001508,964.81146,2015-01-01 02:40:52,bin9652,35, +abc,9653,9653,9653,1996-06-06,965.0000000001509,964.91144,2015-01-01 02:40:53,bin9653,75, +abc,9654,9654,9654,1996-06-07,965.1000000001509,965.0114,2015-01-01 02:40:54,bin9654,35, +abc,9655,9655,9655,1996-06-08,965.2000000001509,965.1114,2015-01-01 02:40:55,bin9655,75, +abc,9656,9656,9656,1996-06-09,965.3000000001509,965.21136,2015-01-01 02:40:56,bin9656,35, +abc,9657,9657,9657,1996-06-10,965.400000000151,965.31134,2015-01-01 02:40:57,bin9657,75, +abc,9658,9658,9658,1996-06-11,965.500000000151,965.4113,2015-01-01 02:40:58,bin9658,35, +abc,9659,9659,9659,1996-06-12,965.600000000151,965.5113,2015-01-01 02:40:59,bin9659,75, +abc,9660,9660,9660,1996-06-13,965.700000000151,965.61127,2015-01-01 02:41:00,bin9660,35, +abc,9661,9661,9661,1996-06-14,965.800000000151,965.71124,2015-01-01 02:41:01,bin9661,75, +abc,9662,9662,9662,1996-06-15,965.9000000001511,965.8112,2015-01-01 02:41:02,bin9662,35, +abc,9663,9663,9663,1996-06-16,966.0000000001511,965.9112,2015-01-01 02:41:03,bin9663,75, +abc,9664,9664,9664,1996-06-17,966.1000000001511,966.01117,2015-01-01 02:41:04,bin9664,35, +abc,9665,9665,9665,1996-06-18,966.2000000001511,966.11115,2015-01-01 02:41:05,bin9665,75, +abc,9666,9666,9666,1996-06-19,966.3000000001512,966.2111,2015-01-01 02:41:06,bin9666,35, +abc,9667,9667,9667,1996-06-20,966.4000000001512,966.3111,2015-01-01 02:41:07,bin9667,75, +abc,9668,9668,9668,1996-06-21,966.5000000001512,966.4111,2015-01-01 02:41:08,bin9668,35, +abc,9669,9669,9669,1996-06-22,966.6000000001512,966.51105,2015-01-01 02:41:09,bin9669,75, +abc,9670,9670,9670,1996-06-23,966.7000000001512,966.611,2015-01-01 02:41:10,bin9670,35, +abc,9671,9671,9671,1996-06-24,966.8000000001513,966.711,2015-01-01 02:41:11,bin9671,75, +abc,9672,9672,9672,1996-06-25,966.9000000001513,966.811,2015-01-01 02:41:12,bin9672,35, +abc,9673,9673,9673,1996-06-26,967.0000000001513,966.91095,2015-01-01 02:41:13,bin9673,75, +abc,9674,9674,9674,1996-06-27,967.1000000001513,967.0109,2015-01-01 02:41:14,bin9674,35, +abc,9675,9675,9675,1996-06-28,967.2000000001514,967.1109,2015-01-01 02:41:15,bin9675,75, +abc,9676,9676,9676,1996-06-29,967.3000000001514,967.2109,2015-01-01 02:41:16,bin9676,35, +abc,9677,9677,9677,1996-06-30,967.4000000001514,967.31085,2015-01-01 02:41:17,bin9677,75, +abc,9678,9678,9678,1996-07-01,967.5000000001514,967.4108,2015-01-01 02:41:18,bin9678,35, +abc,9679,9679,9679,1996-07-02,967.6000000001515,967.5108,2015-01-01 02:41:19,bin9679,75, +abc,9680,9680,9680,1996-07-03,967.7000000001515,967.6108,2015-01-01 02:41:20,bin9680,35, +abc,9681,9681,9681,1996-07-04,967.8000000001515,967.71075,2015-01-01 02:41:21,bin9681,75, +abc,9682,9682,9682,1996-07-05,967.9000000001515,967.8107,2015-01-01 02:41:22,bin9682,35, +abc,9683,9683,9683,1996-07-06,968.0000000001515,967.9107,2015-01-01 02:41:23,bin9683,75, +abc,9684,9684,9684,1996-07-07,968.1000000001516,968.0107,2015-01-01 02:41:24,bin9684,35, +abc,9685,9685,9685,1996-07-08,968.2000000001516,968.11066,2015-01-01 02:41:25,bin9685,75, +abc,9686,9686,9686,1996-07-09,968.3000000001516,968.21063,2015-01-01 02:41:26,bin9686,35, +abc,9687,9687,9687,1996-07-10,968.4000000001516,968.3106,2015-01-01 02:41:27,bin9687,75, +abc,9688,9688,9688,1996-07-11,968.5000000001517,968.4106,2015-01-01 02:41:28,bin9688,35, +abc,9689,9689,9689,1996-07-12,968.6000000001517,968.51056,2015-01-01 02:41:29,bin9689,75, +abc,9690,9690,9690,1996-07-13,968.7000000001517,968.61053,2015-01-01 02:41:30,bin9690,35, +abc,9691,9691,9691,1996-07-14,968.8000000001517,968.7105,2015-01-01 02:41:31,bin9691,75, +abc,9692,9692,9692,1996-07-15,968.9000000001517,968.8105,2015-01-01 02:41:32,bin9692,35, +abc,9693,9693,9693,1996-07-16,969.0000000001518,968.91046,2015-01-01 02:41:33,bin9693,75, +abc,9694,9694,9694,1996-07-17,969.1000000001518,969.01044,2015-01-01 02:41:34,bin9694,35, +abc,9695,9695,9695,1996-07-18,969.2000000001518,969.1104,2015-01-01 02:41:35,bin9695,75, +abc,9696,9696,9696,1996-07-19,969.3000000001518,969.2104,2015-01-01 02:41:36,bin9696,35, +abc,9697,9697,9697,1996-07-20,969.4000000001519,969.31036,2015-01-01 02:41:37,bin9697,75, +abc,9698,9698,9698,1996-07-21,969.5000000001519,969.41034,2015-01-01 02:41:38,bin9698,35, +abc,9699,9699,9699,1996-07-22,969.6000000001519,969.5103,2015-01-01 02:41:39,bin9699,75, +abc,9700,9700,9700,1996-07-23,969.7000000001519,969.6103,2015-01-01 02:41:40,bin9700,35, +abc,9701,9701,9701,1996-07-24,969.800000000152,969.71027,2015-01-01 02:41:41,bin9701,75, +abc,9702,9702,9702,1996-07-25,969.900000000152,969.81024,2015-01-01 02:41:42,bin9702,35, +abc,9703,9703,9703,1996-07-26,970.000000000152,969.9102,2015-01-01 02:41:43,bin9703,75, +abc,9704,9704,9704,1996-07-27,970.100000000152,970.0102,2015-01-01 02:41:44,bin9704,35, +abc,9705,9705,9705,1996-07-28,970.200000000152,970.11017,2015-01-01 02:41:45,bin9705,75, +abc,9706,9706,9706,1996-07-29,970.3000000001521,970.21014,2015-01-01 02:41:46,bin9706,35, +abc,9707,9707,9707,1996-07-30,970.4000000001521,970.3101,2015-01-01 02:41:47,bin9707,75, +abc,9708,9708,9708,1996-07-31,970.5000000001521,970.4101,2015-01-01 02:41:48,bin9708,35, +abc,9709,9709,9709,1996-08-01,970.6000000001521,970.5101,2015-01-01 02:41:49,bin9709,75, +abc,9710,9710,9710,1996-08-02,970.7000000001522,970.61005,2015-01-01 02:41:50,bin9710,35, +abc,9711,9711,9711,1996-08-03,970.8000000001522,970.71,2015-01-01 02:41:51,bin9711,75, +abc,9712,9712,9712,1996-08-04,970.9000000001522,970.81,2015-01-01 02:41:52,bin9712,35, +abc,9713,9713,9713,1996-08-05,971.0000000001522,970.91,2015-01-01 02:41:53,bin9713,75, +abc,9714,9714,9714,1996-08-06,971.1000000001522,971.00995,2015-01-01 02:41:54,bin9714,35, +abc,9715,9715,9715,1996-08-07,971.2000000001523,971.1099,2015-01-01 02:41:55,bin9715,75, +abc,9716,9716,9716,1996-08-08,971.3000000001523,971.2099,2015-01-01 02:41:56,bin9716,35, +abc,9717,9717,9717,1996-08-09,971.4000000001523,971.3099,2015-01-01 02:41:57,bin9717,75, +abc,9718,9718,9718,1996-08-10,971.5000000001523,971.40985,2015-01-01 02:41:58,bin9718,35, +abc,9719,9719,9719,1996-08-11,971.6000000001524,971.5098,2015-01-01 02:41:59,bin9719,75, +abc,9720,9720,9720,1996-08-12,971.7000000001524,971.6098,2015-01-01 02:42:00,bin9720,35, +abc,9721,9721,9721,1996-08-13,971.8000000001524,971.7098,2015-01-01 02:42:01,bin9721,75, +abc,9722,9722,9722,1996-08-14,971.9000000001524,971.80975,2015-01-01 02:42:02,bin9722,35, +abc,9723,9723,9723,1996-08-15,972.0000000001525,971.9097,2015-01-01 02:42:03,bin9723,75, +abc,9724,9724,9724,1996-08-16,972.1000000001525,972.0097,2015-01-01 02:42:04,bin9724,35, +abc,9725,9725,9725,1996-08-17,972.2000000001525,972.1097,2015-01-01 02:42:05,bin9725,75, +abc,9726,9726,9726,1996-08-18,972.3000000001525,972.20966,2015-01-01 02:42:06,bin9726,35, +abc,9727,9727,9727,1996-08-19,972.4000000001525,972.30963,2015-01-01 02:42:07,bin9727,75, +abc,9728,9728,9728,1996-08-20,972.5000000001526,972.4096,2015-01-01 02:42:08,bin9728,35, +abc,9729,9729,9729,1996-08-21,972.6000000001526,972.5096,2015-01-01 02:42:09,bin9729,75, +abc,9730,9730,9730,1996-08-22,972.7000000001526,972.60956,2015-01-01 02:42:10,bin9730,35, +abc,9731,9731,9731,1996-08-23,972.8000000001526,972.70953,2015-01-01 02:42:11,bin9731,75, +abc,9732,9732,9732,1996-08-24,972.9000000001527,972.8095,2015-01-01 02:42:12,bin9732,35, +abc,9733,9733,9733,1996-08-25,973.0000000001527,972.9095,2015-01-01 02:42:13,bin9733,75, +abc,9734,9734,9734,1996-08-26,973.1000000001527,973.00946,2015-01-01 02:42:14,bin9734,35, +abc,9735,9735,9735,1996-08-27,973.2000000001527,973.10944,2015-01-01 02:42:15,bin9735,75, +abc,9736,9736,9736,1996-08-28,973.3000000001527,973.2094,2015-01-01 02:42:16,bin9736,35, +abc,9737,9737,9737,1996-08-29,973.4000000001528,973.3094,2015-01-01 02:42:17,bin9737,75, +abc,9738,9738,9738,1996-08-30,973.5000000001528,973.40936,2015-01-01 02:42:18,bin9738,35, +abc,9739,9739,9739,1996-08-31,973.6000000001528,973.50934,2015-01-01 02:42:19,bin9739,75, +abc,9740,9740,9740,1996-09-01,973.7000000001528,973.6093,2015-01-01 02:42:20,bin9740,35, +abc,9741,9741,9741,1996-09-02,973.8000000001529,973.7093,2015-01-01 02:42:21,bin9741,75, +abc,9742,9742,9742,1996-09-03,973.9000000001529,973.80927,2015-01-01 02:42:22,bin9742,35, +abc,9743,9743,9743,1996-09-04,974.0000000001529,973.90924,2015-01-01 02:42:23,bin9743,75, +abc,9744,9744,9744,1996-09-05,974.1000000001529,974.0092,2015-01-01 02:42:24,bin9744,35, +abc,9745,9745,9745,1996-09-06,974.200000000153,974.1092,2015-01-01 02:42:25,bin9745,75, +abc,9746,9746,9746,1996-09-07,974.300000000153,974.20917,2015-01-01 02:42:26,bin9746,35, +abc,9747,9747,9747,1996-09-08,974.400000000153,974.30914,2015-01-01 02:42:27,bin9747,75, +abc,9748,9748,9748,1996-09-09,974.500000000153,974.4091,2015-01-01 02:42:28,bin9748,35, +abc,9749,9749,9749,1996-09-10,974.600000000153,974.5091,2015-01-01 02:42:29,bin9749,75, +abc,9750,9750,9750,1996-09-11,974.7000000001531,974.6091,2015-01-01 02:42:30,bin9750,35, +abc,9751,9751,9751,1996-09-12,974.8000000001531,974.70905,2015-01-01 02:42:31,bin9751,75, +abc,9752,9752,9752,1996-09-13,974.9000000001531,974.809,2015-01-01 02:42:32,bin9752,35, +abc,9753,9753,9753,1996-09-14,975.0000000001531,974.909,2015-01-01 02:42:33,bin9753,75, +abc,9754,9754,9754,1996-09-15,975.1000000001532,975.009,2015-01-01 02:42:34,bin9754,35, +abc,9755,9755,9755,1996-09-16,975.2000000001532,975.10895,2015-01-01 02:42:35,bin9755,75, +abc,9756,9756,9756,1996-09-17,975.3000000001532,975.2089,2015-01-01 02:42:36,bin9756,35, +abc,9757,9757,9757,1996-09-18,975.4000000001532,975.3089,2015-01-01 02:42:37,bin9757,75, +abc,9758,9758,9758,1996-09-19,975.5000000001532,975.4089,2015-01-01 02:42:38,bin9758,35, +abc,9759,9759,9759,1996-09-20,975.6000000001533,975.50885,2015-01-01 02:42:39,bin9759,75, +abc,9760,9760,9760,1996-09-21,975.7000000001533,975.6088,2015-01-01 02:42:40,bin9760,35, +abc,9761,9761,9761,1996-09-22,975.8000000001533,975.7088,2015-01-01 02:42:41,bin9761,75, +abc,9762,9762,9762,1996-09-23,975.9000000001533,975.8088,2015-01-01 02:42:42,bin9762,35, +abc,9763,9763,9763,1996-09-24,976.0000000001534,975.90875,2015-01-01 02:42:43,bin9763,75, +abc,9764,9764,9764,1996-09-25,976.1000000001534,976.0087,2015-01-01 02:42:44,bin9764,35, +abc,9765,9765,9765,1996-09-26,976.2000000001534,976.1087,2015-01-01 02:42:45,bin9765,75, +abc,9766,9766,9766,1996-09-27,976.3000000001534,976.2087,2015-01-01 02:42:46,bin9766,35, +abc,9767,9767,9767,1996-09-28,976.4000000001535,976.30865,2015-01-01 02:42:47,bin9767,75, +abc,9768,9768,9768,1996-09-29,976.5000000001535,976.4086,2015-01-01 02:42:48,bin9768,35, +abc,9769,9769,9769,1996-09-30,976.6000000001535,976.5086,2015-01-01 02:42:49,bin9769,75, +abc,9770,9770,9770,1996-10-01,976.7000000001535,976.6086,2015-01-01 02:42:50,bin9770,35, +abc,9771,9771,9771,1996-10-02,976.8000000001535,976.70856,2015-01-01 02:42:51,bin9771,75, +abc,9772,9772,9772,1996-10-03,976.9000000001536,976.80853,2015-01-01 02:42:52,bin9772,35, +abc,9773,9773,9773,1996-10-04,977.0000000001536,976.9085,2015-01-01 02:42:53,bin9773,75, +abc,9774,9774,9774,1996-10-05,977.1000000001536,977.0085,2015-01-01 02:42:54,bin9774,35, +abc,9775,9775,9775,1996-10-06,977.2000000001536,977.10846,2015-01-01 02:42:55,bin9775,75, +abc,9776,9776,9776,1996-10-07,977.3000000001537,977.20844,2015-01-01 02:42:56,bin9776,35, +abc,9777,9777,9777,1996-10-08,977.4000000001537,977.3084,2015-01-01 02:42:57,bin9777,75, +abc,9778,9778,9778,1996-10-09,977.5000000001537,977.4084,2015-01-01 02:42:58,bin9778,35, +abc,9779,9779,9779,1996-10-10,977.6000000001537,977.50836,2015-01-01 02:42:59,bin9779,75, +abc,9780,9780,9780,1996-10-11,977.7000000001538,977.60834,2015-01-01 02:43:00,bin9780,35, +abc,9781,9781,9781,1996-10-12,977.8000000001538,977.7083,2015-01-01 02:43:01,bin9781,75, +abc,9782,9782,9782,1996-10-13,977.9000000001538,977.8083,2015-01-01 02:43:02,bin9782,35, +abc,9783,9783,9783,1996-10-14,978.0000000001538,977.90826,2015-01-01 02:43:03,bin9783,75, +abc,9784,9784,9784,1996-10-15,978.1000000001538,978.00824,2015-01-01 02:43:04,bin9784,35, +abc,9785,9785,9785,1996-10-16,978.2000000001539,978.1082,2015-01-01 02:43:05,bin9785,75, +abc,9786,9786,9786,1996-10-17,978.3000000001539,978.2082,2015-01-01 02:43:06,bin9786,35, +abc,9787,9787,9787,1996-10-18,978.4000000001539,978.30817,2015-01-01 02:43:07,bin9787,75, +abc,9788,9788,9788,1996-10-19,978.5000000001539,978.40814,2015-01-01 02:43:08,bin9788,35, +abc,9789,9789,9789,1996-10-20,978.600000000154,978.5081,2015-01-01 02:43:09,bin9789,75, +abc,9790,9790,9790,1996-10-21,978.700000000154,978.6081,2015-01-01 02:43:10,bin9790,35, +abc,9791,9791,9791,1996-10-22,978.800000000154,978.70807,2015-01-01 02:43:11,bin9791,75, +abc,9792,9792,9792,1996-10-23,978.900000000154,978.80804,2015-01-01 02:43:12,bin9792,35, +abc,9793,9793,9793,1996-10-24,979.000000000154,978.908,2015-01-01 02:43:13,bin9793,75, +abc,9794,9794,9794,1996-10-25,979.1000000001541,979.008,2015-01-01 02:43:14,bin9794,35, +abc,9795,9795,9795,1996-10-26,979.2000000001541,979.108,2015-01-01 02:43:15,bin9795,75, +abc,9796,9796,9796,1996-10-27,979.3000000001541,979.20795,2015-01-01 02:43:16,bin9796,35, +abc,9797,9797,9797,1996-10-28,979.4000000001541,979.3079,2015-01-01 02:43:17,bin9797,75, +abc,9798,9798,9798,1996-10-29,979.5000000001542,979.4079,2015-01-01 02:43:18,bin9798,35, +abc,9799,9799,9799,1996-10-30,979.6000000001542,979.5079,2015-01-01 02:43:19,bin9799,75, +abc,9800,9800,9800,1996-10-31,979.7000000001542,979.60785,2015-01-01 02:43:20,bin9800,35, +abc,9801,9801,9801,1996-11-01,979.8000000001542,979.7078,2015-01-01 02:43:21,bin9801,75, +abc,9802,9802,9802,1996-11-02,979.9000000001543,979.8078,2015-01-01 02:43:22,bin9802,35, +abc,9803,9803,9803,1996-11-03,980.0000000001543,979.9078,2015-01-01 02:43:23,bin9803,75, +abc,9804,9804,9804,1996-11-04,980.1000000001543,980.00775,2015-01-01 02:43:24,bin9804,35, +abc,9805,9805,9805,1996-11-05,980.2000000001543,980.1077,2015-01-01 02:43:25,bin9805,75, +abc,9806,9806,9806,1996-11-06,980.3000000001543,980.2077,2015-01-01 02:43:26,bin9806,35, +abc,9807,9807,9807,1996-11-07,980.4000000001544,980.3077,2015-01-01 02:43:27,bin9807,75, +abc,9808,9808,9808,1996-11-08,980.5000000001544,980.40765,2015-01-01 02:43:28,bin9808,35, +abc,9809,9809,9809,1996-11-09,980.6000000001544,980.5076,2015-01-01 02:43:29,bin9809,75, +abc,9810,9810,9810,1996-11-10,980.7000000001544,980.6076,2015-01-01 02:43:30,bin9810,35, +abc,9811,9811,9811,1996-11-11,980.8000000001545,980.7076,2015-01-01 02:43:31,bin9811,75, +abc,9812,9812,9812,1996-11-12,980.9000000001545,980.80756,2015-01-01 02:43:32,bin9812,35, +abc,9813,9813,9813,1996-11-13,981.0000000001545,980.90753,2015-01-01 02:43:33,bin9813,75, +abc,9814,9814,9814,1996-11-14,981.1000000001545,981.0075,2015-01-01 02:43:34,bin9814,35, +abc,9815,9815,9815,1996-11-15,981.2000000001545,981.1075,2015-01-01 02:43:35,bin9815,75, +abc,9816,9816,9816,1996-11-16,981.3000000001546,981.20746,2015-01-01 02:43:36,bin9816,35, +abc,9817,9817,9817,1996-11-17,981.4000000001546,981.30743,2015-01-01 02:43:37,bin9817,75, +abc,9818,9818,9818,1996-11-18,981.5000000001546,981.4074,2015-01-01 02:43:38,bin9818,35, +abc,9819,9819,9819,1996-11-19,981.6000000001546,981.5074,2015-01-01 02:43:39,bin9819,75, +abc,9820,9820,9820,1996-11-20,981.7000000001547,981.60736,2015-01-01 02:43:40,bin9820,35, +abc,9821,9821,9821,1996-11-21,981.8000000001547,981.70734,2015-01-01 02:43:41,bin9821,75, +abc,9822,9822,9822,1996-11-22,981.9000000001547,981.8073,2015-01-01 02:43:42,bin9822,35, +abc,9823,9823,9823,1996-11-23,982.0000000001547,981.9073,2015-01-01 02:43:43,bin9823,75, +abc,9824,9824,9824,1996-11-24,982.1000000001548,982.00726,2015-01-01 02:43:44,bin9824,35, +abc,9825,9825,9825,1996-11-25,982.2000000001548,982.10724,2015-01-01 02:43:45,bin9825,75, +abc,9826,9826,9826,1996-11-26,982.3000000001548,982.2072,2015-01-01 02:43:46,bin9826,35, +abc,9827,9827,9827,1996-11-27,982.4000000001548,982.3072,2015-01-01 02:43:47,bin9827,75, +abc,9828,9828,9828,1996-11-28,982.5000000001548,982.40717,2015-01-01 02:43:48,bin9828,35, +abc,9829,9829,9829,1996-11-29,982.6000000001549,982.50714,2015-01-01 02:43:49,bin9829,75, +abc,9830,9830,9830,1996-11-30,982.7000000001549,982.6071,2015-01-01 02:43:50,bin9830,35, +abc,9831,9831,9831,1996-12-01,982.8000000001549,982.7071,2015-01-01 02:43:51,bin9831,75, +abc,9832,9832,9832,1996-12-02,982.9000000001549,982.80707,2015-01-01 02:43:52,bin9832,35, +abc,9833,9833,9833,1996-12-03,983.000000000155,982.90704,2015-01-01 02:43:53,bin9833,75, +abc,9834,9834,9834,1996-12-04,983.100000000155,983.007,2015-01-01 02:43:54,bin9834,35, +abc,9835,9835,9835,1996-12-05,983.200000000155,983.107,2015-01-01 02:43:55,bin9835,75, +abc,9836,9836,9836,1996-12-06,983.300000000155,983.207,2015-01-01 02:43:56,bin9836,35, +abc,9837,9837,9837,1996-12-07,983.400000000155,983.30695,2015-01-01 02:43:57,bin9837,75, +abc,9838,9838,9838,1996-12-08,983.5000000001551,983.4069,2015-01-01 02:43:58,bin9838,35, +abc,9839,9839,9839,1996-12-09,983.6000000001551,983.5069,2015-01-01 02:43:59,bin9839,75, +abc,9840,9840,9840,1996-12-10,983.7000000001551,983.6069,2015-01-01 02:44:00,bin9840,35, +abc,9841,9841,9841,1996-12-11,983.8000000001551,983.70685,2015-01-01 02:44:01,bin9841,75, +abc,9842,9842,9842,1996-12-12,983.9000000001552,983.8068,2015-01-01 02:44:02,bin9842,35, +abc,9843,9843,9843,1996-12-13,984.0000000001552,983.9068,2015-01-01 02:44:03,bin9843,75, +abc,9844,9844,9844,1996-12-14,984.1000000001552,984.0068,2015-01-01 02:44:04,bin9844,35, +abc,9845,9845,9845,1996-12-15,984.2000000001552,984.10675,2015-01-01 02:44:05,bin9845,75, +abc,9846,9846,9846,1996-12-16,984.3000000001553,984.2067,2015-01-01 02:44:06,bin9846,35, +abc,9847,9847,9847,1996-12-17,984.4000000001553,984.3067,2015-01-01 02:44:07,bin9847,75, +abc,9848,9848,9848,1996-12-18,984.5000000001553,984.4067,2015-01-01 02:44:08,bin9848,35, +abc,9849,9849,9849,1996-12-19,984.6000000001553,984.50665,2015-01-01 02:44:09,bin9849,75, +abc,9850,9850,9850,1996-12-20,984.7000000001553,984.6066,2015-01-01 02:44:10,bin9850,35, +abc,9851,9851,9851,1996-12-21,984.8000000001554,984.7066,2015-01-01 02:44:11,bin9851,75, +abc,9852,9852,9852,1996-12-22,984.9000000001554,984.8066,2015-01-01 02:44:12,bin9852,35, +abc,9853,9853,9853,1996-12-23,985.0000000001554,984.90656,2015-01-01 02:44:13,bin9853,75, +abc,9854,9854,9854,1996-12-24,985.1000000001554,985.00653,2015-01-01 02:44:14,bin9854,35, +abc,9855,9855,9855,1996-12-25,985.2000000001555,985.1065,2015-01-01 02:44:15,bin9855,75, +abc,9856,9856,9856,1996-12-26,985.3000000001555,985.2065,2015-01-01 02:44:16,bin9856,35, +abc,9857,9857,9857,1996-12-27,985.4000000001555,985.30646,2015-01-01 02:44:17,bin9857,75, +abc,9858,9858,9858,1996-12-28,985.5000000001555,985.40643,2015-01-01 02:44:18,bin9858,35, +abc,9859,9859,9859,1996-12-29,985.6000000001555,985.5064,2015-01-01 02:44:19,bin9859,75, +abc,9860,9860,9860,1996-12-30,985.7000000001556,985.6064,2015-01-01 02:44:20,bin9860,35, +abc,9861,9861,9861,1996-12-31,985.8000000001556,985.70636,2015-01-01 02:44:21,bin9861,75, +abc,9862,9862,9862,1997-01-01,985.9000000001556,985.80634,2015-01-01 02:44:22,bin9862,35, +abc,9863,9863,9863,1997-01-02,986.0000000001556,985.9063,2015-01-01 02:44:23,bin9863,75, +abc,9864,9864,9864,1997-01-03,986.1000000001557,986.0063,2015-01-01 02:44:24,bin9864,35, +abc,9865,9865,9865,1997-01-04,986.2000000001557,986.10626,2015-01-01 02:44:25,bin9865,75, +abc,9866,9866,9866,1997-01-05,986.3000000001557,986.20624,2015-01-01 02:44:26,bin9866,35, +abc,9867,9867,9867,1997-01-06,986.4000000001557,986.3062,2015-01-01 02:44:27,bin9867,75, +abc,9868,9868,9868,1997-01-07,986.5000000001558,986.4062,2015-01-01 02:44:28,bin9868,35, +abc,9869,9869,9869,1997-01-08,986.6000000001558,986.50616,2015-01-01 02:44:29,bin9869,75, +abc,9870,9870,9870,1997-01-09,986.7000000001558,986.60614,2015-01-01 02:44:30,bin9870,35, +abc,9871,9871,9871,1997-01-10,986.8000000001558,986.7061,2015-01-01 02:44:31,bin9871,75, +abc,9872,9872,9872,1997-01-11,986.9000000001558,986.8061,2015-01-01 02:44:32,bin9872,35, +abc,9873,9873,9873,1997-01-12,987.0000000001559,986.90607,2015-01-01 02:44:33,bin9873,75, +abc,9874,9874,9874,1997-01-13,987.1000000001559,987.00604,2015-01-01 02:44:34,bin9874,35, +abc,9875,9875,9875,1997-01-14,987.2000000001559,987.106,2015-01-01 02:44:35,bin9875,75, +abc,9876,9876,9876,1997-01-15,987.3000000001559,987.206,2015-01-01 02:44:36,bin9876,35, +abc,9877,9877,9877,1997-01-16,987.400000000156,987.30597,2015-01-01 02:44:37,bin9877,75, +abc,9878,9878,9878,1997-01-17,987.500000000156,987.40594,2015-01-01 02:44:38,bin9878,35, +abc,9879,9879,9879,1997-01-18,987.600000000156,987.5059,2015-01-01 02:44:39,bin9879,75, +abc,9880,9880,9880,1997-01-19,987.700000000156,987.6059,2015-01-01 02:44:40,bin9880,35, +abc,9881,9881,9881,1997-01-20,987.800000000156,987.7059,2015-01-01 02:44:41,bin9881,75, +abc,9882,9882,9882,1997-01-21,987.9000000001561,987.80585,2015-01-01 02:44:42,bin9882,35, +abc,9883,9883,9883,1997-01-22,988.0000000001561,987.9058,2015-01-01 02:44:43,bin9883,75, +abc,9884,9884,9884,1997-01-23,988.1000000001561,988.0058,2015-01-01 02:44:44,bin9884,35, +abc,9885,9885,9885,1997-01-24,988.2000000001561,988.1058,2015-01-01 02:44:45,bin9885,75, +abc,9886,9886,9886,1997-01-25,988.3000000001562,988.20575,2015-01-01 02:44:46,bin9886,35, +abc,9887,9887,9887,1997-01-26,988.4000000001562,988.3057,2015-01-01 02:44:47,bin9887,75, +abc,9888,9888,9888,1997-01-27,988.5000000001562,988.4057,2015-01-01 02:44:48,bin9888,35, +abc,9889,9889,9889,1997-01-28,988.6000000001562,988.5057,2015-01-01 02:44:49,bin9889,75, +abc,9890,9890,9890,1997-01-29,988.7000000001563,988.60565,2015-01-01 02:44:50,bin9890,35, +abc,9891,9891,9891,1997-01-30,988.8000000001563,988.7056,2015-01-01 02:44:51,bin9891,75, +abc,9892,9892,9892,1997-01-31,988.9000000001563,988.8056,2015-01-01 02:44:52,bin9892,35, +abc,9893,9893,9893,1997-02-01,989.0000000001563,988.9056,2015-01-01 02:44:53,bin9893,75, +abc,9894,9894,9894,1997-02-02,989.1000000001563,989.00555,2015-01-01 02:44:54,bin9894,35, +abc,9895,9895,9895,1997-02-03,989.2000000001564,989.1055,2015-01-01 02:44:55,bin9895,75, +abc,9896,9896,9896,1997-02-04,989.3000000001564,989.2055,2015-01-01 02:44:56,bin9896,35, +abc,9897,9897,9897,1997-02-05,989.4000000001564,989.3055,2015-01-01 02:44:57,bin9897,75, +abc,9898,9898,9898,1997-02-06,989.5000000001564,989.40546,2015-01-01 02:44:58,bin9898,35, +abc,9899,9899,9899,1997-02-07,989.6000000001565,989.50543,2015-01-01 02:44:59,bin9899,75, +abc,9900,9900,9900,1997-02-08,989.7000000001565,989.6054,2015-01-01 02:45:00,bin9900,35, +abc,9901,9901,9901,1997-02-09,989.8000000001565,989.7054,2015-01-01 02:45:01,bin9901,75, +abc,9902,9902,9902,1997-02-10,989.9000000001565,989.80536,2015-01-01 02:45:02,bin9902,35, +abc,9903,9903,9903,1997-02-11,990.0000000001565,989.90533,2015-01-01 02:45:03,bin9903,75, +abc,9904,9904,9904,1997-02-12,990.1000000001566,990.0053,2015-01-01 02:45:04,bin9904,35, +abc,9905,9905,9905,1997-02-13,990.2000000001566,990.1053,2015-01-01 02:45:05,bin9905,75, +abc,9906,9906,9906,1997-02-14,990.3000000001566,990.20526,2015-01-01 02:45:06,bin9906,35, +abc,9907,9907,9907,1997-02-15,990.4000000001566,990.30524,2015-01-01 02:45:07,bin9907,75, +abc,9908,9908,9908,1997-02-16,990.5000000001567,990.4052,2015-01-01 02:45:08,bin9908,35, +abc,9909,9909,9909,1997-02-17,990.6000000001567,990.5052,2015-01-01 02:45:09,bin9909,75, +abc,9910,9910,9910,1997-02-18,990.7000000001567,990.60516,2015-01-01 02:45:10,bin9910,35, +abc,9911,9911,9911,1997-02-19,990.8000000001567,990.70514,2015-01-01 02:45:11,bin9911,75, +abc,9912,9912,9912,1997-02-20,990.9000000001568,990.8051,2015-01-01 02:45:12,bin9912,35, +abc,9913,9913,9913,1997-02-21,991.0000000001568,990.9051,2015-01-01 02:45:13,bin9913,75, +abc,9914,9914,9914,1997-02-22,991.1000000001568,991.00507,2015-01-01 02:45:14,bin9914,35, +abc,9915,9915,9915,1997-02-23,991.2000000001568,991.10504,2015-01-01 02:45:15,bin9915,75, +abc,9916,9916,9916,1997-02-24,991.3000000001568,991.205,2015-01-01 02:45:16,bin9916,35, +abc,9917,9917,9917,1997-02-25,991.4000000001569,991.305,2015-01-01 02:45:17,bin9917,75, +abc,9918,9918,9918,1997-02-26,991.5000000001569,991.40497,2015-01-01 02:45:18,bin9918,35, +abc,9919,9919,9919,1997-02-27,991.6000000001569,991.50494,2015-01-01 02:45:19,bin9919,75, +abc,9920,9920,9920,1997-02-28,991.7000000001569,991.6049,2015-01-01 02:45:20,bin9920,35, +abc,9921,9921,9921,1997-03-01,991.800000000157,991.7049,2015-01-01 02:45:21,bin9921,75, +abc,9922,9922,9922,1997-03-02,991.900000000157,991.8049,2015-01-01 02:45:22,bin9922,35, +abc,9923,9923,9923,1997-03-03,992.000000000157,991.90485,2015-01-01 02:45:23,bin9923,75, +abc,9924,9924,9924,1997-03-04,992.100000000157,992.0048,2015-01-01 02:45:24,bin9924,35, +abc,9925,9925,9925,1997-03-05,992.200000000157,992.1048,2015-01-01 02:45:25,bin9925,75, +abc,9926,9926,9926,1997-03-06,992.3000000001571,992.2048,2015-01-01 02:45:26,bin9926,35, +abc,9927,9927,9927,1997-03-07,992.4000000001571,992.30475,2015-01-01 02:45:27,bin9927,75, +abc,9928,9928,9928,1997-03-08,992.5000000001571,992.4047,2015-01-01 02:45:28,bin9928,35, +abc,9929,9929,9929,1997-03-09,992.6000000001571,992.5047,2015-01-01 02:45:29,bin9929,75, +abc,9930,9930,9930,1997-03-10,992.7000000001572,992.6047,2015-01-01 02:45:30,bin9930,35, +abc,9931,9931,9931,1997-03-11,992.8000000001572,992.70465,2015-01-01 02:45:31,bin9931,75, +abc,9932,9932,9932,1997-03-12,992.9000000001572,992.8046,2015-01-01 02:45:32,bin9932,35, +abc,9933,9933,9933,1997-03-13,993.0000000001572,992.9046,2015-01-01 02:45:33,bin9933,75, +abc,9934,9934,9934,1997-03-14,993.1000000001573,993.0046,2015-01-01 02:45:34,bin9934,35, +abc,9935,9935,9935,1997-03-15,993.2000000001573,993.10455,2015-01-01 02:45:35,bin9935,75, +abc,9936,9936,9936,1997-03-16,993.3000000001573,993.2045,2015-01-01 02:45:36,bin9936,35, +abc,9937,9937,9937,1997-03-17,993.4000000001573,993.3045,2015-01-01 02:45:37,bin9937,75, +abc,9938,9938,9938,1997-03-18,993.5000000001573,993.4045,2015-01-01 02:45:38,bin9938,35, +abc,9939,9939,9939,1997-03-19,993.6000000001574,993.50446,2015-01-01 02:45:39,bin9939,75, +abc,9940,9940,9940,1997-03-20,993.7000000001574,993.60443,2015-01-01 02:45:40,bin9940,35, +abc,9941,9941,9941,1997-03-21,993.8000000001574,993.7044,2015-01-01 02:45:41,bin9941,75, +abc,9942,9942,9942,1997-03-22,993.9000000001574,993.8044,2015-01-01 02:45:42,bin9942,35, +abc,9943,9943,9943,1997-03-23,994.0000000001575,993.90436,2015-01-01 02:45:43,bin9943,75, +abc,9944,9944,9944,1997-03-24,994.1000000001575,994.00433,2015-01-01 02:45:44,bin9944,35, +abc,9945,9945,9945,1997-03-25,994.2000000001575,994.1043,2015-01-01 02:45:45,bin9945,75, +abc,9946,9946,9946,1997-03-26,994.3000000001575,994.2043,2015-01-01 02:45:46,bin9946,35, +abc,9947,9947,9947,1997-03-27,994.4000000001575,994.30426,2015-01-01 02:45:47,bin9947,75, +abc,9948,9948,9948,1997-03-28,994.5000000001576,994.40424,2015-01-01 02:45:48,bin9948,35, +abc,9949,9949,9949,1997-03-29,994.6000000001576,994.5042,2015-01-01 02:45:49,bin9949,75, +abc,9950,9950,9950,1997-03-30,994.7000000001576,994.6042,2015-01-01 02:45:50,bin9950,35, +abc,9951,9951,9951,1997-03-31,994.8000000001576,994.70416,2015-01-01 02:45:51,bin9951,75, +abc,9952,9952,9952,1997-04-01,994.9000000001577,994.80414,2015-01-01 02:45:52,bin9952,35, +abc,9953,9953,9953,1997-04-02,995.0000000001577,994.9041,2015-01-01 02:45:53,bin9953,75, +abc,9954,9954,9954,1997-04-03,995.1000000001577,995.0041,2015-01-01 02:45:54,bin9954,35, +abc,9955,9955,9955,1997-04-04,995.2000000001577,995.10406,2015-01-01 02:45:55,bin9955,75, +abc,9956,9956,9956,1997-04-05,995.3000000001578,995.20404,2015-01-01 02:45:56,bin9956,35, +abc,9957,9957,9957,1997-04-06,995.4000000001578,995.304,2015-01-01 02:45:57,bin9957,75, +abc,9958,9958,9958,1997-04-07,995.5000000001578,995.404,2015-01-01 02:45:58,bin9958,35, +abc,9959,9959,9959,1997-04-08,995.6000000001578,995.50397,2015-01-01 02:45:59,bin9959,75, +abc,9960,9960,9960,1997-04-09,995.7000000001578,995.60394,2015-01-01 02:46:00,bin9960,35, +abc,9961,9961,9961,1997-04-10,995.8000000001579,995.7039,2015-01-01 02:46:01,bin9961,75, +abc,9962,9962,9962,1997-04-11,995.9000000001579,995.8039,2015-01-01 02:46:02,bin9962,35, +abc,9963,9963,9963,1997-04-12,996.0000000001579,995.9039,2015-01-01 02:46:03,bin9963,75, +abc,9964,9964,9964,1997-04-13,996.1000000001579,996.00385,2015-01-01 02:46:04,bin9964,35, +abc,9965,9965,9965,1997-04-14,996.200000000158,996.1038,2015-01-01 02:46:05,bin9965,75, +abc,9966,9966,9966,1997-04-15,996.300000000158,996.2038,2015-01-01 02:46:06,bin9966,35, +abc,9967,9967,9967,1997-04-16,996.400000000158,996.3038,2015-01-01 02:46:07,bin9967,75, +abc,9968,9968,9968,1997-04-17,996.500000000158,996.40375,2015-01-01 02:46:08,bin9968,35, +abc,9969,9969,9969,1997-04-18,996.600000000158,996.5037,2015-01-01 02:46:09,bin9969,75, +abc,9970,9970,9970,1997-04-19,996.7000000001581,996.6037,2015-01-01 02:46:10,bin9970,35, +abc,9971,9971,9971,1997-04-20,996.8000000001581,996.7037,2015-01-01 02:46:11,bin9971,75, +abc,9972,9972,9972,1997-04-21,996.9000000001581,996.80365,2015-01-01 02:46:12,bin9972,35, +abc,9973,9973,9973,1997-04-22,997.0000000001581,996.9036,2015-01-01 02:46:13,bin9973,75, +xyz,test,35000.332257024,,1997-04-24,997.1000000001582,997.0036,2015-01-01 02:46:15,binA,250,false +xyz,test,35000.332278016,30,,997.2000000001582,997.1036,2015-01-01 02:46:16,bin,255, +xyz,test,35000.332319232,22,1997-04-26,,,2015-01-01 02:46:17,bin,255, +xyz,test,35000.420437719,250,1997-04-27,997.4000000001582,997.3035,,bin,255, +xyz,test,35000.509000000,21,1997-04-28,997.5000000001583,997.4035,2015-01-01 02:46:19,,255, +xyz,test,35000.623816380,100,1997-04-29,997.6000000001583,997.5035,2015-01-01 02:46:20,bin,, +xyz,test,35000.733000000,1,1997-04-30,997.7000000001583,997.60345,2015-01-01 02:46:21,bin,255, +xyz,test,35000.918482000,11,1997-05-01,997.8000000001583,997.7034,2015-01-01 02:46:22,bin,255, +xyz,test,35000.918484000,11,1997-05-02,997.9000000001583,997.8034,2015-01-01 02:46:23,bin,255, +xyz,test,35000.918484000,30,1997-05-03,998.0000000001584,997.9034,2015-01-01 02:46:24,bin,255,false +xyz,test,35000.918484000,11,1997-05-04,998.1000000001584,998.00336,2015-01-01 02:46:25,bin,255,false +xyz,test,35000.918585088,100,1997-05-05,998.2000000001584,998.10333,2015-01-01 02:46:26,bin,255, +xyz,test,35000.918585088,100,1997-05-06,998.3000000001584,998.2033,2015-01-01 02:46:27,bin,255, +xyz,test,35000.919489536,100,1997-05-07,998.4000000001585,998.3033,2015-01-01 02:46:28,bin,255, +xyz,test,35000.919650899,100,1997-05-08,998.5000000001585,998.40326,2015-01-01 02:46:29,bin,255, +xyz,test,35000.919685139,100,1997-05-09,998.6000000001585,998.50323,2015-01-01 02:46:30,bin,255, +xyz,test,35000.974576770,100,1997-05-10,998.7000000001585,998.6032,2015-01-01 02:46:31,bin,255, +xyz,test,35000.974911035,100,1997-05-11,998.8000000001585,998.7032,2015-01-01 02:46:32,bin,255, +xyz,test,35000.977960728,23,1997-05-12,998.9000000001586,998.80316,2015-01-01 02:46:33,bin,255, +xyz,test,35000.978023000,6,1997-05-13,999.0000000001586,998.90314,2015-01-01 02:46:34,bin,255, +xyz,test,35000.978102524,18,1997-05-14,999.1000000001586,999.0031,2015-01-01 02:46:35,bin,255, +xyz,test,35000.978124544,100,1997-05-15,999.2000000001586,999.1031,2015-01-01 02:46:36,bin,255, +xyz,test,35000.978349245,23,1997-05-16,999.3000000001587,999.20306,2015-01-01 02:46:37,bin,255, +xyz,test,35000.978601023,6,1997-05-17,999.4000000001587,999.30304,2015-01-01 02:46:38,bin,255, +xyz,test,35000.978704313,18,1997-05-18,999.5000000001587,999.403,2015-01-01 02:46:39,bin,255,true +xyz,test,35000.978803110,100,1997-05-19,999.6000000001587,999.503,2015-01-01 02:46:40,bin,255,true +xyz,test,35000.983917824,53,,999.7000000001588,,2015-01-01 02:46:47,binZ,251,true diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc index 8d389adf37d44fa62b3fb20b8e107c16e9280a11..e7604201dce3b7f46443d2d0c34105574dc89385 100644 GIT binary patch delta 15282 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 GN$r{Q!NR|?rMz+*stchY|&GxoO)(A6bF_uX7 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 whW|~K7aOd!jQ{`u diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt index 0742a62..f6c89da 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file.orc.txt @@ -1,4 +1,3 @@ -Processing data file optimized_reader_test_file.orc [length: 139599] Structure for optimized_reader_test_file.orc File Version: 0.12 with ORC_14 by ORC Java 1.7.4 @@ -8,10 +7,10 @@ Calendar: Julian/Gregorian Rows: 10001 Type: struct< - source:string, - symbol:string, - time:decimal(14,9), - size:bigint, + stringDictionaryV2:string, + stringDirectV2:string, + decimal:decimal(14,9), + integer:bigint, date:date, double:double, float:float, @@ -24,8 +23,8 @@ Type: struct< Stripe Statistics: Stripe 1: Column 0: count: 10001 hasNull: false - Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 - Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 1: count: 9998 hasNull: true bytesOnDisk: 50 min: abc max: xyz sum: 29994 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18430 min: 0 max: test sum: 38891 Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 @@ -38,8 +37,8 @@ Stripe Statistics: File Statistics: Column 0: count: 10001 hasNull: false - Column 1: count: 9998 hasNull: true bytesOnDisk: 68 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169966 - Column 2: count: 9998 hasNull: true bytesOnDisk: 18436 min: 0 max: SPY sum: 38864 + Column 1: count: 9998 hasNull: true bytesOnDisk: 50 min: abc max: xyz sum: 29994 + Column 2: count: 9998 hasNull: true bytesOnDisk: 18430 min: 0 max: test sum: 38891 Column 3: count: 9998 hasNull: true bytesOnDisk: 19011 min: 0 max: 35000.983917824 sum: 50680358.313112237 Column 4: count: 9997 hasNull: true bytesOnDisk: 483 min: 0 max: 9973 sum: 49736870 Column 5: count: 9996 hasNull: true bytesOnDisk: 99 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-19 @@ -51,47 +50,47 @@ File Statistics: Column 11: count: 11 hasNull: true bytesOnDisk: 28 true: 6 Stripes: - Stripe: offset: 3 data: 137886 rows: 10001 tail: 233 index: 716 + Stripe: offset: 3 data: 137862 rows: 10001 tail: 230 index: 704 Stream: column 0 section ROW_INDEX start: 3 length 20 - Stream: column 1 section ROW_INDEX start: 23 length 72 - Stream: column 2 section ROW_INDEX start: 95 length 61 - Stream: column 3 section ROW_INDEX start: 156 length 100 - Stream: column 4 section ROW_INDEX start: 256 length 58 - Stream: column 5 section ROW_INDEX start: 314 length 46 - Stream: column 6 section ROW_INDEX start: 360 length 78 - Stream: column 7 section ROW_INDEX start: 438 length 65 - Stream: column 8 section ROW_INDEX start: 503 length 71 - Stream: column 9 section ROW_INDEX start: 574 length 50 - Stream: column 10 section ROW_INDEX start: 624 length 56 - Stream: column 11 section ROW_INDEX start: 680 length 39 - Stream: column 1 section PRESENT start: 719 length 15 - Stream: column 1 section DATA start: 734 length 20 - Stream: column 1 section LENGTH start: 754 length 7 - Stream: column 1 section DICTIONARY_DATA start: 761 length 26 - Stream: column 2 section PRESENT start: 787 length 15 - Stream: column 2 section DATA start: 802 length 18391 - Stream: column 2 section LENGTH start: 19193 length 30 - Stream: column 3 section PRESENT start: 19223 length 15 - Stream: column 3 section DATA start: 19238 length 18959 - Stream: column 3 section SECONDARY start: 38197 length 37 - Stream: column 4 section PRESENT start: 38234 length 19 - Stream: column 4 section DATA start: 38253 length 464 - Stream: column 5 section PRESENT start: 38717 length 19 - Stream: column 5 section DATA start: 38736 length 80 - Stream: column 6 section PRESENT start: 38816 length 18 - Stream: column 6 section DATA start: 38834 length 43239 - Stream: column 7 section PRESENT start: 82073 length 18 - Stream: column 7 section DATA start: 82091 length 34023 - Stream: column 8 section PRESENT start: 116114 length 18 - Stream: column 8 section DATA start: 116132 length 83 - Stream: column 8 section SECONDARY start: 116215 length 15 - Stream: column 9 section PRESENT start: 116230 length 18 - Stream: column 9 section DATA start: 116248 length 22191 - Stream: column 9 section LENGTH start: 138439 length 33 - Stream: column 10 section PRESENT start: 138472 length 18 - Stream: column 10 section DATA start: 138490 length 87 - Stream: column 11 section PRESENT start: 138577 length 22 - Stream: column 11 section DATA start: 138599 length 6 + Stream: column 1 section ROW_INDEX start: 23 length 58 + Stream: column 2 section ROW_INDEX start: 81 length 63 + Stream: column 3 section ROW_INDEX start: 144 length 100 + Stream: column 4 section ROW_INDEX start: 244 length 58 + Stream: column 5 section ROW_INDEX start: 302 length 46 + Stream: column 6 section ROW_INDEX start: 348 length 78 + Stream: column 7 section ROW_INDEX start: 426 length 65 + Stream: column 8 section ROW_INDEX start: 491 length 71 + Stream: column 9 section ROW_INDEX start: 562 length 50 + Stream: column 10 section ROW_INDEX start: 612 length 56 + Stream: column 11 section ROW_INDEX start: 668 length 39 + Stream: column 1 section PRESENT start: 707 length 15 + Stream: column 1 section DATA start: 722 length 20 + Stream: column 1 section LENGTH start: 742 length 6 + Stream: column 1 section DICTIONARY_DATA start: 748 length 9 + Stream: column 2 section PRESENT start: 757 length 15 + Stream: column 2 section DATA start: 772 length 18389 + Stream: column 2 section LENGTH start: 19161 length 26 + Stream: column 3 section PRESENT start: 19187 length 15 + Stream: column 3 section DATA start: 19202 length 18959 + Stream: column 3 section SECONDARY start: 38161 length 37 + Stream: column 4 section PRESENT start: 38198 length 19 + Stream: column 4 section DATA start: 38217 length 464 + Stream: column 5 section PRESENT start: 38681 length 19 + Stream: column 5 section DATA start: 38700 length 80 + Stream: column 6 section PRESENT start: 38780 length 18 + Stream: column 6 section DATA start: 38798 length 43239 + Stream: column 7 section PRESENT start: 82037 length 18 + Stream: column 7 section DATA start: 82055 length 34023 + Stream: column 8 section PRESENT start: 116078 length 18 + Stream: column 8 section DATA start: 116096 length 83 + Stream: column 8 section SECONDARY start: 116179 length 15 + Stream: column 9 section PRESENT start: 116194 length 18 + Stream: column 9 section DATA start: 116212 length 22191 + Stream: column 9 section LENGTH start: 138403 length 33 + Stream: column 10 section PRESENT start: 138436 length 18 + Stream: column 10 section DATA start: 138454 length 87 + Stream: column 11 section PRESENT start: 138541 length 22 + Stream: column 11 section DATA start: 138563 length 6 Encoding column 0: DIRECT Encoding column 1: DICTIONARY_V2[2] Encoding column 2: DIRECT_V2 @@ -105,11 +104,11 @@ Stripes: Encoding column 10: DIRECT Encoding column 11: DIRECT Row group indices for column 1: - Entry 0: count: 9997 hasNull: true min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 169949 positions: 0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,20,79,0,0,80,26 + Entry 0: count: 9997 hasNull: true min: abc max: xyz sum: 29991 positions: 0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: xyz max: xyz sum: 3 positions: 0,20,79,0,0,80,26 Row group indices for column 2: - Entry 0: count: 9997 hasNull: true min: 0 max: SPY sum: 38861 positions: 0,0,0,0,0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,20,79,0,0,38861,0,86,26 + Entry 0: count: 9997 hasNull: true min: 0 max: test sum: 38887 positions: 0,0,0,0,0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: test max: test sum: 4 positions: 0,20,79,0,0,38887,0,82,296 Row group indices for column 3: Entry 0: count: 9997 hasNull: true min: 0 max: 35000.97880311 sum: 50645357.329194413 positions: 0,0,0,0,0,0,0,0,0 Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,20,79,0,0,21834,0,99,1 @@ -138,6 +137,8 @@ Stripes: Entry 0: count: 10 hasNull: true true: 5 positions: 0,0,0,0,0,0,0,0 Entry 1: count: 1 hasNull: false true: 1 positions: 0,25,4,0,0,0,1,2 -File length: 139599 bytes +File length: 139558 bytes Padding length: 0 bytes Padding ratio: 0% +________________________________________________________________________________________________________________________ + diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv index 01a321b..0772be5 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.csv @@ -1,10001 +1,10001 @@ -CTSPillarNetworkA,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,True -CTSPillarNetworkA,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,True -CTSPillarNetworkA,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35,True -CTSPillarNetworkA,3,3,3,1970-01-04,0.30000000000000004,0.3,2015-01-01 00:00:03,bin3,75,True -CTSPillarNetworkA,4,4,4,1970-01-05,0.4,0.4,2015-01-01 00:00:04,bin4,35,True -CTSPillarNetworkA,5,5,5,1970-01-06,0.5,0.5,2015-01-01 00:00:05,bin5,75,True -CTSPillarNetworkA,6,6,6,1970-01-07,0.6,0.6,2015-01-01 00:00:06,bin6,35,True -CTSPillarNetworkA,7,7,7,1970-01-08,0.7,0.70000005,2015-01-01 00:00:07,bin7,75,True -CTSPillarNetworkA,8,8,8,1970-01-09,0.7999999999999999,0.8000001,2015-01-01 00:00:08,bin8,35,True -CTSPillarNetworkA,9,9,9,1970-01-10,0.8999999999999999,0.9000001,2015-01-01 00:00:09,bin9,75,True -CTSPillarNetworkA,10,10,10,1970-01-11,0.9999999999999999,1.0000001,2015-01-01 00:00:10,bin10,35,True -CTSPillarNetworkA,11,11,11,1970-01-12,1.0999999999999999,1.1000001,2015-01-01 00:00:11,bin11,75,True -CTSPillarNetworkA,12,12,12,1970-01-13,1.2,1.2000002,2015-01-01 00:00:12,bin12,35,True -CTSPillarNetworkA,13,13,13,1970-01-14,1.3,1.3000002,2015-01-01 00:00:13,bin13,75,True -CTSPillarNetworkA,14,14,14,1970-01-15,1.4000000000000001,1.4000002,2015-01-01 00:00:14,bin14,35,True -CTSPillarNetworkA,15,15,15,1970-01-16,1.5000000000000002,1.5000002,2015-01-01 00:00:15,bin15,75,True -CTSPillarNetworkA,16,16,16,1970-01-17,1.6000000000000003,1.6000003,2015-01-01 00:00:16,bin16,35,True -CTSPillarNetworkA,17,17,17,1970-01-18,1.7000000000000004,1.7000003,2015-01-01 00:00:17,bin17,75,True -CTSPillarNetworkA,18,18,18,1970-01-19,1.8000000000000005,1.8000003,2015-01-01 00:00:18,bin18,35,True -CTSPillarNetworkA,19,19,19,1970-01-20,1.9000000000000006,1.9000003,2015-01-01 00:00:19,bin19,75,True -CTSPillarNetworkA,20,20,20,1970-01-21,2.0000000000000004,2.0000002,2015-01-01 00:00:20,bin20,35,True -CTSPillarNetworkA,21,21,21,1970-01-22,2.1000000000000005,2.1000001,2015-01-01 00:00:21,bin21,75,True -CTSPillarNetworkA,22,22,22,1970-01-23,2.2000000000000006,2.2,2015-01-01 00:00:22,bin22,35,True -CTSPillarNetworkA,23,23,23,1970-01-24,2.3000000000000007,2.3,2015-01-01 00:00:23,bin23,75,True -CTSPillarNetworkA,24,24,24,1970-01-25,2.400000000000001,2.3999999,2015-01-01 00:00:24,bin24,35,True -CTSPillarNetworkA,25,25,25,1970-01-26,2.500000000000001,2.4999998,2015-01-01 00:00:25,bin25,75,True -CTSPillarNetworkA,26,26,26,1970-01-27,2.600000000000001,2.5999997,2015-01-01 00:00:26,bin26,35,True -CTSPillarNetworkA,27,27,27,1970-01-28,2.700000000000001,2.6999996,2015-01-01 00:00:27,bin27,75,True -CTSPillarNetworkA,28,28,28,1970-01-29,2.800000000000001,2.7999995,2015-01-01 00:00:28,bin28,35,True -CTSPillarNetworkA,29,29,29,1970-01-30,2.9000000000000012,2.8999994,2015-01-01 00:00:29,bin29,75,True -CTSPillarNetworkA,30,30,30,1970-01-31,3.0000000000000013,2.9999993,2015-01-01 00:00:30,bin30,35,True -CTSPillarNetworkA,31,31,31,1970-02-01,3.1000000000000014,3.0999992,2015-01-01 00:00:31,bin31,75,True -CTSPillarNetworkA,32,32,32,1970-02-02,3.2000000000000015,3.199999,2015-01-01 00:00:32,bin32,35,True -CTSPillarNetworkA,33,33,33,1970-02-03,3.3000000000000016,3.299999,2015-01-01 00:00:33,bin33,75,True -CTSPillarNetworkA,34,34,34,1970-02-04,3.4000000000000017,3.399999,2015-01-01 00:00:34,bin34,35,True -CTSPillarNetworkA,35,35,35,1970-02-05,3.5000000000000018,3.4999988,2015-01-01 00:00:35,bin35,75,True -CTSPillarNetworkA,36,36,36,1970-02-06,3.600000000000002,3.5999987,2015-01-01 00:00:36,bin36,35,True -CTSPillarNetworkA,37,37,37,1970-02-07,3.700000000000002,3.6999986,2015-01-01 00:00:37,bin37,75,True -CTSPillarNetworkA,38,38,38,1970-02-08,3.800000000000002,3.7999985,2015-01-01 00:00:38,bin38,35,True -CTSPillarNetworkA,39,39,39,1970-02-09,3.900000000000002,3.8999984,2015-01-01 00:00:39,bin39,75,True -CTSPillarNetworkA,40,40,40,1970-02-10,4.000000000000002,3.9999983,2015-01-01 00:00:40,bin40,35,True -CTSPillarNetworkA,41,41,41,1970-02-11,4.100000000000001,4.0999985,2015-01-01 00:00:41,bin41,75,True -CTSPillarNetworkA,42,42,42,1970-02-12,4.200000000000001,4.1999984,2015-01-01 00:00:42,bin42,35,True -CTSPillarNetworkA,43,43,43,1970-02-13,4.300000000000001,4.2999983,2015-01-01 00:00:43,bin43,75,True -CTSPillarNetworkA,44,44,44,1970-02-14,4.4,4.399998,2015-01-01 00:00:44,bin44,35,True -CTSPillarNetworkA,45,45,45,1970-02-15,4.5,4.499998,2015-01-01 00:00:45,bin45,75,True -CTSPillarNetworkA,46,46,46,1970-02-16,4.6,4.599998,2015-01-01 00:00:46,bin46,35,True -CTSPillarNetworkA,47,47,47,1970-02-17,4.699999999999999,4.699998,2015-01-01 00:00:47,bin47,75,True -CTSPillarNetworkA,48,48,48,1970-02-18,4.799999999999999,4.799998,2015-01-01 00:00:48,bin48,35,True -CTSPillarNetworkA,49,49,49,1970-02-19,4.899999999999999,4.8999977,2015-01-01 00:00:49,bin49,75,True -CTSPillarNetworkA,50,50,50,1970-02-20,4.999999999999998,4.9999976,2015-01-01 00:00:50,bin50,35,True -CTSPillarNetworkA,51,51,51,1970-02-21,5.099999999999998,5.0999975,2015-01-01 00:00:51,bin51,75,True -CTSPillarNetworkA,52,52,52,1970-02-22,5.1999999999999975,5.1999974,2015-01-01 00:00:52,bin52,35,True -CTSPillarNetworkA,53,53,53,1970-02-23,5.299999999999997,5.2999973,2015-01-01 00:00:53,bin53,75,True -CTSPillarNetworkA,54,54,54,1970-02-24,5.399999999999997,5.399997,2015-01-01 00:00:54,bin54,35,True -CTSPillarNetworkA,55,55,55,1970-02-25,5.4999999999999964,5.499997,2015-01-01 00:00:55,bin55,75,True -CTSPillarNetworkA,56,56,56,1970-02-26,5.599999999999996,5.599997,2015-01-01 00:00:56,bin56,35,True -CTSPillarNetworkA,57,57,57,1970-02-27,5.699999999999996,5.699997,2015-01-01 00:00:57,bin57,75,True -CTSPillarNetworkA,58,58,58,1970-02-28,5.799999999999995,5.799997,2015-01-01 00:00:58,bin58,35,True -CTSPillarNetworkA,59,59,59,1970-03-01,5.899999999999995,5.8999968,2015-01-01 00:00:59,bin59,75,True -CTSPillarNetworkA,60,60,60,1970-03-02,5.999999999999995,5.9999967,2015-01-01 00:01:00,bin60,35,True -CTSPillarNetworkA,61,61,61,1970-03-03,6.099999999999994,6.0999966,2015-01-01 00:01:01,bin61,75,True -CTSPillarNetworkA,62,62,62,1970-03-04,6.199999999999994,6.1999965,2015-01-01 00:01:02,bin62,35,True -CTSPillarNetworkA,63,63,63,1970-03-05,6.299999999999994,6.2999964,2015-01-01 00:01:03,bin63,75,True -CTSPillarNetworkA,64,64,64,1970-03-06,6.399999999999993,6.3999963,2015-01-01 00:01:04,bin64,35,True -CTSPillarNetworkA,65,65,65,1970-03-07,6.499999999999993,6.499996,2015-01-01 00:01:05,bin65,75,True -CTSPillarNetworkA,66,66,66,1970-03-08,6.5999999999999925,6.599996,2015-01-01 00:01:06,bin66,35,True -CTSPillarNetworkA,67,67,67,1970-03-09,6.699999999999992,6.699996,2015-01-01 00:01:07,bin67,75,True -CTSPillarNetworkA,68,68,68,1970-03-10,6.799999999999992,6.799996,2015-01-01 00:01:08,bin68,35,True -CTSPillarNetworkA,69,69,69,1970-03-11,6.8999999999999915,6.899996,2015-01-01 00:01:09,bin69,75,True -CTSPillarNetworkA,70,70,70,1970-03-12,6.999999999999991,6.9999957,2015-01-01 00:01:10,bin70,35,True -CTSPillarNetworkA,71,71,71,1970-03-13,7.099999999999991,7.0999956,2015-01-01 00:01:11,bin71,75,True -CTSPillarNetworkA,72,72,72,1970-03-14,7.19999999999999,7.1999955,2015-01-01 00:01:12,bin72,35,True -CTSPillarNetworkA,73,73,73,1970-03-15,7.29999999999999,7.2999954,2015-01-01 00:01:13,bin73,75,True -CTSPillarNetworkA,74,74,74,1970-03-16,7.39999999999999,7.3999953,2015-01-01 00:01:14,bin74,35,True -CTSPillarNetworkA,75,75,75,1970-03-17,7.499999999999989,7.499995,2015-01-01 00:01:15,bin75,75,True -CTSPillarNetworkA,76,76,76,1970-03-18,7.599999999999989,7.599995,2015-01-01 00:01:16,bin76,35,True -CTSPillarNetworkA,77,77,77,1970-03-19,7.699999999999989,7.699995,2015-01-01 00:01:17,bin77,75,True -CTSPillarNetworkA,78,78,78,1970-03-20,7.799999999999988,7.799995,2015-01-01 00:01:18,bin78,35,True -CTSPillarNetworkA,79,79,79,1970-03-21,7.899999999999988,7.899995,2015-01-01 00:01:19,bin79,75,True -CTSPillarNetworkA,80,80,80,1970-03-22,7.999999999999988,7.9999948,2015-01-01 00:01:20,bin80,35,True -CTSPillarNetworkA,81,81,81,1970-03-23,8.099999999999987,8.099995,2015-01-01 00:01:21,bin81,75,True -CTSPillarNetworkA,82,82,82,1970-03-24,8.199999999999987,8.199995,2015-01-01 00:01:22,bin82,35,True -CTSPillarNetworkA,83,83,83,1970-03-25,8.299999999999986,8.299995,2015-01-01 00:01:23,bin83,75,True -CTSPillarNetworkA,84,84,84,1970-03-26,8.399999999999986,8.399996,2015-01-01 00:01:24,bin84,35,True -CTSPillarNetworkA,85,85,85,1970-03-27,8.499999999999986,8.499996,2015-01-01 00:01:25,bin85,75,True -CTSPillarNetworkA,86,86,86,1970-03-28,8.599999999999985,8.599997,2015-01-01 00:01:26,bin86,35,True -CTSPillarNetworkA,87,87,87,1970-03-29,8.699999999999985,8.699997,2015-01-01 00:01:27,bin87,75,True -CTSPillarNetworkA,88,88,88,1970-03-30,8.799999999999985,8.799997,2015-01-01 00:01:28,bin88,35,True -CTSPillarNetworkA,89,89,89,1970-03-31,8.899999999999984,8.899998,2015-01-01 00:01:29,bin89,75,True -CTSPillarNetworkA,90,90,90,1970-04-01,8.999999999999984,8.999998,2015-01-01 00:01:30,bin90,35,True -CTSPillarNetworkA,91,91,91,1970-04-02,9.099999999999984,9.099998,2015-01-01 00:01:31,bin91,75,True -CTSPillarNetworkA,92,92,92,1970-04-03,9.199999999999983,9.199999,2015-01-01 00:01:32,bin92,35,True -CTSPillarNetworkA,93,93,93,1970-04-04,9.299999999999983,9.299999,2015-01-01 00:01:33,bin93,75,True -CTSPillarNetworkA,94,94,94,1970-04-05,9.399999999999983,9.4,2015-01-01 00:01:34,bin94,35,True -CTSPillarNetworkA,95,95,95,1970-04-06,9.499999999999982,9.5,2015-01-01 00:01:35,bin95,75,True -CTSPillarNetworkA,96,96,96,1970-04-07,9.599999999999982,9.6,2015-01-01 00:01:36,bin96,35,True -CTSPillarNetworkA,97,97,97,1970-04-08,9.699999999999982,9.700001,2015-01-01 00:01:37,bin97,75,True -CTSPillarNetworkA,98,98,98,1970-04-09,9.799999999999981,9.800001,2015-01-01 00:01:38,bin98,35,True -CTSPillarNetworkA,99,99,99,1970-04-10,9.89999999999998,9.900002,2015-01-01 00:01:39,bin99,75,True -CTSPillarNetworkA,100,100,100,1970-04-11,9.99999999999998,10.000002,2015-01-01 00:01:40,bin100,35,True -CTSPillarNetworkA,101,101,101,1970-04-12,10.09999999999998,10.100002,2015-01-01 00:01:41,bin101,75,True -CTSPillarNetworkA,102,102,102,1970-04-13,10.19999999999998,10.200003,2015-01-01 00:01:42,bin102,35,True -CTSPillarNetworkA,103,103,103,1970-04-14,10.29999999999998,10.300003,2015-01-01 00:01:43,bin103,75,True -CTSPillarNetworkA,104,104,104,1970-04-15,10.399999999999979,10.400003,2015-01-01 00:01:44,bin104,35,True -CTSPillarNetworkA,105,105,105,1970-04-16,10.499999999999979,10.500004,2015-01-01 00:01:45,bin105,75,True -CTSPillarNetworkA,106,106,106,1970-04-17,10.599999999999978,10.600004,2015-01-01 00:01:46,bin106,35,True -CTSPillarNetworkA,107,107,107,1970-04-18,10.699999999999978,10.700005,2015-01-01 00:01:47,bin107,75,True -CTSPillarNetworkA,108,108,108,1970-04-19,10.799999999999978,10.800005,2015-01-01 00:01:48,bin108,35,True -CTSPillarNetworkA,109,109,109,1970-04-20,10.899999999999977,10.900005,2015-01-01 00:01:49,bin109,75,True -CTSPillarNetworkA,110,110,110,1970-04-21,10.999999999999977,11.000006,2015-01-01 00:01:50,bin110,35,True -CTSPillarNetworkA,111,111,111,1970-04-22,11.099999999999977,11.100006,2015-01-01 00:01:51,bin111,75,True -CTSPillarNetworkA,112,112,112,1970-04-23,11.199999999999976,11.2000065,2015-01-01 00:01:52,bin112,35,True -CTSPillarNetworkA,113,113,113,1970-04-24,11.299999999999976,11.300007,2015-01-01 00:01:53,bin113,75,True -CTSPillarNetworkA,114,114,114,1970-04-25,11.399999999999975,11.400007,2015-01-01 00:01:54,bin114,35,True -CTSPillarNetworkA,115,115,115,1970-04-26,11.499999999999975,11.500008,2015-01-01 00:01:55,bin115,75,True -CTSPillarNetworkA,116,116,116,1970-04-27,11.599999999999975,11.600008,2015-01-01 00:01:56,bin116,35,True -CTSPillarNetworkA,117,117,117,1970-04-28,11.699999999999974,11.700008,2015-01-01 00:01:57,bin117,75,True -CTSPillarNetworkA,118,118,118,1970-04-29,11.799999999999974,11.800009,2015-01-01 00:01:58,bin118,35,True -CTSPillarNetworkA,119,119,119,1970-04-30,11.899999999999974,11.900009,2015-01-01 00:01:59,bin119,75,True -CTSPillarNetworkA,120,120,120,1970-05-01,11.999999999999973,12.00001,2015-01-01 00:02:00,bin120,35,True -CTSPillarNetworkA,121,121,121,1970-05-02,12.099999999999973,12.10001,2015-01-01 00:02:01,bin121,75,True -CTSPillarNetworkA,122,122,122,1970-05-03,12.199999999999973,12.20001,2015-01-01 00:02:02,bin122,35,True -CTSPillarNetworkA,123,123,123,1970-05-04,12.299999999999972,12.300011,2015-01-01 00:02:03,bin123,75,True -CTSPillarNetworkA,124,124,124,1970-05-05,12.399999999999972,12.400011,2015-01-01 00:02:04,bin124,35,True -CTSPillarNetworkA,125,125,125,1970-05-06,12.499999999999972,12.500011,2015-01-01 00:02:05,bin125,75,True -CTSPillarNetworkA,126,126,126,1970-05-07,12.599999999999971,12.600012,2015-01-01 00:02:06,bin126,35,True -CTSPillarNetworkA,127,127,127,1970-05-08,12.69999999999997,12.700012,2015-01-01 00:02:07,bin127,75,True -CTSPillarNetworkA,128,128,128,1970-05-09,12.79999999999997,12.800013,2015-01-01 00:02:08,bin128,35,True -CTSPillarNetworkA,129,129,129,1970-05-10,12.89999999999997,12.900013,2015-01-01 00:02:09,bin129,75,True -CTSPillarNetworkA,130,130,130,1970-05-11,12.99999999999997,13.000013,2015-01-01 00:02:10,bin130,35,True -CTSPillarNetworkA,131,131,131,1970-05-12,13.09999999999997,13.100014,2015-01-01 00:02:11,bin131,75,True -CTSPillarNetworkA,132,132,132,1970-05-13,13.199999999999969,13.200014,2015-01-01 00:02:12,bin132,35,True -CTSPillarNetworkA,133,133,133,1970-05-14,13.299999999999969,13.3000145,2015-01-01 00:02:13,bin133,75,True -CTSPillarNetworkA,134,134,134,1970-05-15,13.399999999999968,13.400015,2015-01-01 00:02:14,bin134,35,True -CTSPillarNetworkA,135,135,135,1970-05-16,13.499999999999968,13.500015,2015-01-01 00:02:15,bin135,75,True -CTSPillarNetworkA,136,136,136,1970-05-17,13.599999999999968,13.600016,2015-01-01 00:02:16,bin136,35,True -CTSPillarNetworkA,137,137,137,1970-05-18,13.699999999999967,13.700016,2015-01-01 00:02:17,bin137,75,True -CTSPillarNetworkA,138,138,138,1970-05-19,13.799999999999967,13.800016,2015-01-01 00:02:18,bin138,35,True -CTSPillarNetworkA,139,139,139,1970-05-20,13.899999999999967,13.900017,2015-01-01 00:02:19,bin139,75,True -CTSPillarNetworkA,140,140,140,1970-05-21,13.999999999999966,14.000017,2015-01-01 00:02:20,bin140,35,True -CTSPillarNetworkA,141,141,141,1970-05-22,14.099999999999966,14.100018,2015-01-01 00:02:21,bin141,75,True -CTSPillarNetworkA,142,142,142,1970-05-23,14.199999999999966,14.200018,2015-01-01 00:02:22,bin142,35,True -CTSPillarNetworkA,143,143,143,1970-05-24,14.299999999999965,14.300018,2015-01-01 00:02:23,bin143,75,True -CTSPillarNetworkA,144,144,144,1970-05-25,14.399999999999965,14.400019,2015-01-01 00:02:24,bin144,35,True -CTSPillarNetworkA,145,145,145,1970-05-26,14.499999999999964,14.500019,2015-01-01 00:02:25,bin145,75,True -CTSPillarNetworkA,146,146,146,1970-05-27,14.599999999999964,14.600019,2015-01-01 00:02:26,bin146,35,True -CTSPillarNetworkA,147,147,147,1970-05-28,14.699999999999964,14.70002,2015-01-01 00:02:27,bin147,75,True -CTSPillarNetworkA,148,148,148,1970-05-29,14.799999999999963,14.80002,2015-01-01 00:02:28,bin148,35,True -CTSPillarNetworkA,149,149,149,1970-05-30,14.899999999999963,14.900021,2015-01-01 00:02:29,bin149,75,True -CTSPillarNetworkA,150,150,150,1970-05-31,14.999999999999963,15.000021,2015-01-01 00:02:30,bin150,35,True -CTSPillarNetworkA,151,151,151,1970-06-01,15.099999999999962,15.100021,2015-01-01 00:02:31,bin151,75,True -CTSPillarNetworkA,152,152,152,1970-06-02,15.199999999999962,15.200022,2015-01-01 00:02:32,bin152,35,True -CTSPillarNetworkA,153,153,153,1970-06-03,15.299999999999962,15.300022,2015-01-01 00:02:33,bin153,75,True -CTSPillarNetworkA,154,154,154,1970-06-04,15.399999999999961,15.4000225,2015-01-01 00:02:34,bin154,35,True -CTSPillarNetworkA,155,155,155,1970-06-05,15.499999999999961,15.500023,2015-01-01 00:02:35,bin155,75,True -CTSPillarNetworkA,156,156,156,1970-06-06,15.59999999999996,15.600023,2015-01-01 00:02:36,bin156,35,True -CTSPillarNetworkA,157,157,157,1970-06-07,15.69999999999996,15.700024,2015-01-01 00:02:37,bin157,75,True -CTSPillarNetworkA,158,158,158,1970-06-08,15.79999999999996,15.800024,2015-01-01 00:02:38,bin158,35,True -CTSPillarNetworkA,159,159,159,1970-06-09,15.89999999999996,15.900024,2015-01-01 00:02:39,bin159,75,True -CTSPillarNetworkA,160,160,160,1970-06-10,15.99999999999996,16.000025,2015-01-01 00:02:40,bin160,35,True -CTSPillarNetworkA,161,161,161,1970-06-11,16.09999999999996,16.100025,2015-01-01 00:02:41,bin161,75,True -CTSPillarNetworkA,162,162,162,1970-06-12,16.19999999999996,16.200026,2015-01-01 00:02:42,bin162,35,True -CTSPillarNetworkA,163,163,163,1970-06-13,16.29999999999996,16.300026,2015-01-01 00:02:43,bin163,75,True -CTSPillarNetworkA,164,164,164,1970-06-14,16.399999999999963,16.400026,2015-01-01 00:02:44,bin164,35,True -CTSPillarNetworkA,165,165,165,1970-06-15,16.499999999999964,16.500027,2015-01-01 00:02:45,bin165,75,True -CTSPillarNetworkA,166,166,166,1970-06-16,16.599999999999966,16.600027,2015-01-01 00:02:46,bin166,35,True -CTSPillarNetworkA,167,167,167,1970-06-17,16.699999999999967,16.700027,2015-01-01 00:02:47,bin167,75,True -CTSPillarNetworkA,168,168,168,1970-06-18,16.79999999999997,16.800028,2015-01-01 00:02:48,bin168,35,True -CTSPillarNetworkA,169,169,169,1970-06-19,16.89999999999997,16.900028,2015-01-01 00:02:49,bin169,75,True -CTSPillarNetworkA,170,170,170,1970-06-20,16.99999999999997,17.000029,2015-01-01 00:02:50,bin170,35,True -CTSPillarNetworkA,171,171,171,1970-06-21,17.099999999999973,17.100029,2015-01-01 00:02:51,bin171,75,True -CTSPillarNetworkA,172,172,172,1970-06-22,17.199999999999974,17.20003,2015-01-01 00:02:52,bin172,35,True -CTSPillarNetworkA,173,173,173,1970-06-23,17.299999999999976,17.30003,2015-01-01 00:02:53,bin173,75,True -CTSPillarNetworkA,174,174,174,1970-06-24,17.399999999999977,17.40003,2015-01-01 00:02:54,bin174,35,True -CTSPillarNetworkA,175,175,175,1970-06-25,17.49999999999998,17.50003,2015-01-01 00:02:55,bin175,75,True -CTSPillarNetworkA,176,176,176,1970-06-26,17.59999999999998,17.60003,2015-01-01 00:02:56,bin176,35,True -CTSPillarNetworkA,177,177,177,1970-06-27,17.69999999999998,17.700031,2015-01-01 00:02:57,bin177,75,True -CTSPillarNetworkA,178,178,178,1970-06-28,17.799999999999983,17.800032,2015-01-01 00:02:58,bin178,35,True -CTSPillarNetworkA,179,179,179,1970-06-29,17.899999999999984,17.900032,2015-01-01 00:02:59,bin179,75,True -CTSPillarNetworkA,180,180,180,1970-06-30,17.999999999999986,18.000032,2015-01-01 00:03:00,bin180,35,True -CTSPillarNetworkA,181,181,181,1970-07-01,18.099999999999987,18.100033,2015-01-01 00:03:01,bin181,75,True -CTSPillarNetworkA,182,182,182,1970-07-02,18.19999999999999,18.200033,2015-01-01 00:03:02,bin182,35,True -CTSPillarNetworkA,183,183,183,1970-07-03,18.29999999999999,18.300034,2015-01-01 00:03:03,bin183,75,True -CTSPillarNetworkA,184,184,184,1970-07-04,18.39999999999999,18.400034,2015-01-01 00:03:04,bin184,35,True -CTSPillarNetworkA,185,185,185,1970-07-05,18.499999999999993,18.500034,2015-01-01 00:03:05,bin185,75,True -CTSPillarNetworkA,186,186,186,1970-07-06,18.599999999999994,18.600035,2015-01-01 00:03:06,bin186,35,True -CTSPillarNetworkA,187,187,187,1970-07-07,18.699999999999996,18.700035,2015-01-01 00:03:07,bin187,75,True -CTSPillarNetworkA,188,188,188,1970-07-08,18.799999999999997,18.800035,2015-01-01 00:03:08,bin188,35,True -CTSPillarNetworkA,189,189,189,1970-07-09,18.9,18.900036,2015-01-01 00:03:09,bin189,75,True -CTSPillarNetworkA,190,190,190,1970-07-10,19,19.000036,2015-01-01 00:03:10,bin190,35,True -CTSPillarNetworkA,191,191,191,1970-07-11,19.1,19.100037,2015-01-01 00:03:11,bin191,75,True -CTSPillarNetworkA,192,192,192,1970-07-12,19.200000000000003,19.200037,2015-01-01 00:03:12,bin192,35,True -CTSPillarNetworkA,193,193,193,1970-07-13,19.300000000000004,19.300037,2015-01-01 00:03:13,bin193,75,True -CTSPillarNetworkA,194,194,194,1970-07-14,19.400000000000006,19.400038,2015-01-01 00:03:14,bin194,35,True -CTSPillarNetworkA,195,195,195,1970-07-15,19.500000000000007,19.500038,2015-01-01 00:03:15,bin195,75,True -CTSPillarNetworkA,196,196,196,1970-07-16,19.60000000000001,19.600039,2015-01-01 00:03:16,bin196,35,True -CTSPillarNetworkA,197,197,197,1970-07-17,19.70000000000001,19.700039,2015-01-01 00:03:17,bin197,75,True -CTSPillarNetworkA,198,198,198,1970-07-18,19.80000000000001,19.80004,2015-01-01 00:03:18,bin198,35,True -CTSPillarNetworkA,199,199,199,1970-07-19,19.900000000000013,19.90004,2015-01-01 00:03:19,bin199,75,True -CTSPillarNetworkA,200,200,200,1970-07-20,20.000000000000014,20.00004,2015-01-01 00:03:20,bin200,35,True -CTSPillarNetworkA,201,201,201,1970-07-21,20.100000000000016,20.10004,2015-01-01 00:03:21,bin201,75,True -CTSPillarNetworkA,202,202,202,1970-07-22,20.200000000000017,20.20004,2015-01-01 00:03:22,bin202,35,True -CTSPillarNetworkA,203,203,203,1970-07-23,20.30000000000002,20.300041,2015-01-01 00:03:23,bin203,75,True -CTSPillarNetworkA,204,204,204,1970-07-24,20.40000000000002,20.400042,2015-01-01 00:03:24,bin204,35,True -CTSPillarNetworkA,205,205,205,1970-07-25,20.50000000000002,20.500042,2015-01-01 00:03:25,bin205,75,True -CTSPillarNetworkA,206,206,206,1970-07-26,20.600000000000023,20.600042,2015-01-01 00:03:26,bin206,35,True -CTSPillarNetworkA,207,207,207,1970-07-27,20.700000000000024,20.700043,2015-01-01 00:03:27,bin207,75,True -CTSPillarNetworkA,208,208,208,1970-07-28,20.800000000000026,20.800043,2015-01-01 00:03:28,bin208,35,True -CTSPillarNetworkA,209,209,209,1970-07-29,20.900000000000027,20.900043,2015-01-01 00:03:29,bin209,75,True -CTSPillarNetworkA,210,210,210,1970-07-30,21.00000000000003,21.000044,2015-01-01 00:03:30,bin210,35,True -CTSPillarNetworkA,211,211,211,1970-07-31,21.10000000000003,21.100044,2015-01-01 00:03:31,bin211,75,True -CTSPillarNetworkA,212,212,212,1970-08-01,21.20000000000003,21.200045,2015-01-01 00:03:32,bin212,35,True -CTSPillarNetworkA,213,213,213,1970-08-02,21.300000000000033,21.300045,2015-01-01 00:03:33,bin213,75,True -CTSPillarNetworkA,214,214,214,1970-08-03,21.400000000000034,21.400045,2015-01-01 00:03:34,bin214,35,True -CTSPillarNetworkA,215,215,215,1970-08-04,21.500000000000036,21.500046,2015-01-01 00:03:35,bin215,75,True -CTSPillarNetworkA,216,216,216,1970-08-05,21.600000000000037,21.600046,2015-01-01 00:03:36,bin216,35,True -CTSPillarNetworkA,217,217,217,1970-08-06,21.70000000000004,21.700047,2015-01-01 00:03:37,bin217,75,True -CTSPillarNetworkA,218,218,218,1970-08-07,21.80000000000004,21.800047,2015-01-01 00:03:38,bin218,35,True -CTSPillarNetworkA,219,219,219,1970-08-08,21.90000000000004,21.900047,2015-01-01 00:03:39,bin219,75,True -CTSPillarNetworkA,220,220,220,1970-08-09,22.000000000000043,22.000048,2015-01-01 00:03:40,bin220,35,True -CTSPillarNetworkA,221,221,221,1970-08-10,22.100000000000044,22.100048,2015-01-01 00:03:41,bin221,75,True -CTSPillarNetworkA,222,222,222,1970-08-11,22.200000000000045,22.200048,2015-01-01 00:03:42,bin222,35,True -CTSPillarNetworkA,223,223,223,1970-08-12,22.300000000000047,22.300049,2015-01-01 00:03:43,bin223,75,True -CTSPillarNetworkA,224,224,224,1970-08-13,22.40000000000005,22.40005,2015-01-01 00:03:44,bin224,35,True -CTSPillarNetworkA,225,225,225,1970-08-14,22.50000000000005,22.50005,2015-01-01 00:03:45,bin225,75,True -CTSPillarNetworkA,226,226,226,1970-08-15,22.60000000000005,22.60005,2015-01-01 00:03:46,bin226,35,True -CTSPillarNetworkA,227,227,227,1970-08-16,22.700000000000053,22.70005,2015-01-01 00:03:47,bin227,75,True -CTSPillarNetworkA,228,228,228,1970-08-17,22.800000000000054,22.80005,2015-01-01 00:03:48,bin228,35,True -CTSPillarNetworkA,229,229,229,1970-08-18,22.900000000000055,22.900051,2015-01-01 00:03:49,bin229,75,True -CTSPillarNetworkA,230,230,230,1970-08-19,23.000000000000057,23.000051,2015-01-01 00:03:50,bin230,35,True -CTSPillarNetworkA,231,231,231,1970-08-20,23.10000000000006,23.100052,2015-01-01 00:03:51,bin231,75,True -CTSPillarNetworkA,232,232,232,1970-08-21,23.20000000000006,23.200052,2015-01-01 00:03:52,bin232,35,True -CTSPillarNetworkA,233,233,233,1970-08-22,23.30000000000006,23.300053,2015-01-01 00:03:53,bin233,75,True -CTSPillarNetworkA,234,234,234,1970-08-23,23.400000000000063,23.400053,2015-01-01 00:03:54,bin234,35,True -CTSPillarNetworkA,235,235,235,1970-08-24,23.500000000000064,23.500053,2015-01-01 00:03:55,bin235,75,True -CTSPillarNetworkA,236,236,236,1970-08-25,23.600000000000065,23.600054,2015-01-01 00:03:56,bin236,35,True -CTSPillarNetworkA,237,237,237,1970-08-26,23.700000000000067,23.700054,2015-01-01 00:03:57,bin237,75,True -CTSPillarNetworkA,238,238,238,1970-08-27,23.800000000000068,23.800055,2015-01-01 00:03:58,bin238,35,True -CTSPillarNetworkA,239,239,239,1970-08-28,23.90000000000007,23.900055,2015-01-01 00:03:59,bin239,75,True -CTSPillarNetworkA,240,240,240,1970-08-29,24.00000000000007,24.000055,2015-01-01 00:04:00,bin240,35,True -CTSPillarNetworkA,241,241,241,1970-08-30,24.100000000000072,24.100056,2015-01-01 00:04:01,bin241,75,True -CTSPillarNetworkA,242,242,242,1970-08-31,24.200000000000074,24.200056,2015-01-01 00:04:02,bin242,35,True -CTSPillarNetworkA,243,243,243,1970-09-01,24.300000000000075,24.300056,2015-01-01 00:04:03,bin243,75,True -CTSPillarNetworkA,244,244,244,1970-09-02,24.400000000000077,24.400057,2015-01-01 00:04:04,bin244,35,True -CTSPillarNetworkA,245,245,245,1970-09-03,24.500000000000078,24.500057,2015-01-01 00:04:05,bin245,75,True -CTSPillarNetworkA,246,246,246,1970-09-04,24.60000000000008,24.600058,2015-01-01 00:04:06,bin246,35,True -CTSPillarNetworkA,247,247,247,1970-09-05,24.70000000000008,24.700058,2015-01-01 00:04:07,bin247,75,True -CTSPillarNetworkA,248,248,248,1970-09-06,24.800000000000082,24.800058,2015-01-01 00:04:08,bin248,35,True -CTSPillarNetworkA,249,249,249,1970-09-07,24.900000000000084,24.900059,2015-01-01 00:04:09,bin249,75,True -CTSPillarNetworkA,250,250,250,1970-09-08,25.000000000000085,25.00006,2015-01-01 00:04:10,bin250,35,True -CTSPillarNetworkA,251,251,251,1970-09-09,25.100000000000087,25.10006,2015-01-01 00:04:11,bin251,75,True -CTSPillarNetworkA,252,252,252,1970-09-10,25.200000000000088,25.20006,2015-01-01 00:04:12,bin252,35,True -CTSPillarNetworkA,253,253,253,1970-09-11,25.30000000000009,25.30006,2015-01-01 00:04:13,bin253,75,True -CTSPillarNetworkA,254,254,254,1970-09-12,25.40000000000009,25.40006,2015-01-01 00:04:14,bin254,35,True -CTSPillarNetworkA,255,255,255,1970-09-13,25.500000000000092,25.500061,2015-01-01 00:04:15,bin255,75,True -CTSPillarNetworkA,256,256,256,1970-09-14,25.600000000000094,25.600061,2015-01-01 00:04:16,bin256,35,True -CTSPillarNetworkA,257,257,257,1970-09-15,25.700000000000095,25.700062,2015-01-01 00:04:17,bin257,75,True -CTSPillarNetworkA,258,258,258,1970-09-16,25.800000000000097,25.800062,2015-01-01 00:04:18,bin258,35,True -CTSPillarNetworkA,259,259,259,1970-09-17,25.900000000000098,25.900063,2015-01-01 00:04:19,bin259,75,True -CTSPillarNetworkA,260,260,260,1970-09-18,26.0000000000001,26.000063,2015-01-01 00:04:20,bin260,35,True -CTSPillarNetworkA,261,261,261,1970-09-19,26.1000000000001,26.100063,2015-01-01 00:04:21,bin261,75,True -CTSPillarNetworkA,262,262,262,1970-09-20,26.200000000000102,26.200064,2015-01-01 00:04:22,bin262,35,True -CTSPillarNetworkA,263,263,263,1970-09-21,26.300000000000104,26.300064,2015-01-01 00:04:23,bin263,75,True -CTSPillarNetworkA,264,264,264,1970-09-22,26.400000000000105,26.400064,2015-01-01 00:04:24,bin264,35,True -CTSPillarNetworkA,265,265,265,1970-09-23,26.500000000000107,26.500065,2015-01-01 00:04:25,bin265,75,True -CTSPillarNetworkA,266,266,266,1970-09-24,26.600000000000108,26.600065,2015-01-01 00:04:26,bin266,35,True -CTSPillarNetworkA,267,267,267,1970-09-25,26.70000000000011,26.700066,2015-01-01 00:04:27,bin267,75,True -CTSPillarNetworkA,268,268,268,1970-09-26,26.80000000000011,26.800066,2015-01-01 00:04:28,bin268,35,True -CTSPillarNetworkA,269,269,269,1970-09-27,26.900000000000112,26.900066,2015-01-01 00:04:29,bin269,75,True -CTSPillarNetworkA,270,270,270,1970-09-28,27.000000000000114,27.000067,2015-01-01 00:04:30,bin270,35,True -CTSPillarNetworkA,271,271,271,1970-09-29,27.100000000000115,27.100067,2015-01-01 00:04:31,bin271,75,True -CTSPillarNetworkA,272,272,272,1970-09-30,27.200000000000117,27.200068,2015-01-01 00:04:32,bin272,35,True -CTSPillarNetworkA,273,273,273,1970-10-01,27.300000000000118,27.300068,2015-01-01 00:04:33,bin273,75,True -CTSPillarNetworkA,274,274,274,1970-10-02,27.40000000000012,27.400068,2015-01-01 00:04:34,bin274,35,True -CTSPillarNetworkA,275,275,275,1970-10-03,27.50000000000012,27.500069,2015-01-01 00:04:35,bin275,75,True -CTSPillarNetworkA,276,276,276,1970-10-04,27.600000000000122,27.600069,2015-01-01 00:04:36,bin276,35,True -CTSPillarNetworkA,277,277,277,1970-10-05,27.700000000000124,27.70007,2015-01-01 00:04:37,bin277,75,True -CTSPillarNetworkA,278,278,278,1970-10-06,27.800000000000125,27.80007,2015-01-01 00:04:38,bin278,35,True -CTSPillarNetworkA,279,279,279,1970-10-07,27.900000000000126,27.90007,2015-01-01 00:04:39,bin279,75,True -CTSPillarNetworkA,280,280,280,1970-10-08,28.000000000000128,28.00007,2015-01-01 00:04:40,bin280,35,True -CTSPillarNetworkA,281,281,281,1970-10-09,28.10000000000013,28.10007,2015-01-01 00:04:41,bin281,75,True -CTSPillarNetworkA,282,282,282,1970-10-10,28.20000000000013,28.200071,2015-01-01 00:04:42,bin282,35,True -CTSPillarNetworkA,283,283,283,1970-10-11,28.300000000000132,28.300072,2015-01-01 00:04:43,bin283,75,True -CTSPillarNetworkA,284,284,284,1970-10-12,28.400000000000134,28.400072,2015-01-01 00:04:44,bin284,35,True -CTSPillarNetworkA,285,285,285,1970-10-13,28.500000000000135,28.500072,2015-01-01 00:04:45,bin285,75,True -CTSPillarNetworkA,286,286,286,1970-10-14,28.600000000000136,28.600073,2015-01-01 00:04:46,bin286,35,True -CTSPillarNetworkA,287,287,287,1970-10-15,28.700000000000138,28.700073,2015-01-01 00:04:47,bin287,75,True -CTSPillarNetworkA,288,288,288,1970-10-16,28.80000000000014,28.800074,2015-01-01 00:04:48,bin288,35,True -CTSPillarNetworkA,289,289,289,1970-10-17,28.90000000000014,28.900074,2015-01-01 00:04:49,bin289,75,True -CTSPillarNetworkA,290,290,290,1970-10-18,29.000000000000142,29.000074,2015-01-01 00:04:50,bin290,35,True -CTSPillarNetworkA,291,291,291,1970-10-19,29.100000000000144,29.100075,2015-01-01 00:04:51,bin291,75,True -CTSPillarNetworkA,292,292,292,1970-10-20,29.200000000000145,29.200075,2015-01-01 00:04:52,bin292,35,True -CTSPillarNetworkA,293,293,293,1970-10-21,29.300000000000146,29.300076,2015-01-01 00:04:53,bin293,75,True -CTSPillarNetworkA,294,294,294,1970-10-22,29.400000000000148,29.400076,2015-01-01 00:04:54,bin294,35,True -CTSPillarNetworkA,295,295,295,1970-10-23,29.50000000000015,29.500076,2015-01-01 00:04:55,bin295,75,True -CTSPillarNetworkA,296,296,296,1970-10-24,29.60000000000015,29.600077,2015-01-01 00:04:56,bin296,35,True -CTSPillarNetworkA,297,297,297,1970-10-25,29.700000000000152,29.700077,2015-01-01 00:04:57,bin297,75,True -CTSPillarNetworkA,298,298,298,1970-10-26,29.800000000000153,29.800077,2015-01-01 00:04:58,bin298,35,True -CTSPillarNetworkA,299,299,299,1970-10-27,29.900000000000155,29.900078,2015-01-01 00:04:59,bin299,75,True -CTSPillarNetworkA,300,300,300,1970-10-28,30.000000000000156,30.000078,2015-01-01 00:05:00,bin300,35,True -CTSPillarNetworkA,301,301,301,1970-10-29,30.100000000000158,30.100079,2015-01-01 00:05:01,bin301,75,True -CTSPillarNetworkA,302,302,302,1970-10-30,30.20000000000016,30.200079,2015-01-01 00:05:02,bin302,35,True -CTSPillarNetworkA,303,303,303,1970-10-31,30.30000000000016,30.30008,2015-01-01 00:05:03,bin303,75,True -CTSPillarNetworkA,304,304,304,1970-11-01,30.400000000000162,30.40008,2015-01-01 00:05:04,bin304,35,True -CTSPillarNetworkA,305,305,305,1970-11-02,30.500000000000163,30.50008,2015-01-01 00:05:05,bin305,75,True -CTSPillarNetworkA,306,306,306,1970-11-03,30.600000000000165,30.60008,2015-01-01 00:05:06,bin306,35,True -CTSPillarNetworkA,307,307,307,1970-11-04,30.700000000000166,30.70008,2015-01-01 00:05:07,bin307,75,True -CTSPillarNetworkA,308,308,308,1970-11-05,30.800000000000168,30.800081,2015-01-01 00:05:08,bin308,35,True -CTSPillarNetworkA,309,309,309,1970-11-06,30.90000000000017,30.900082,2015-01-01 00:05:09,bin309,75,True -CTSPillarNetworkA,310,310,310,1970-11-07,31.00000000000017,31.000082,2015-01-01 00:05:10,bin310,35,True -CTSPillarNetworkA,311,311,311,1970-11-08,31.100000000000172,31.100082,2015-01-01 00:05:11,bin311,75,True -CTSPillarNetworkA,312,312,312,1970-11-09,31.200000000000173,31.200083,2015-01-01 00:05:12,bin312,35,True -CTSPillarNetworkA,313,313,313,1970-11-10,31.300000000000175,31.300083,2015-01-01 00:05:13,bin313,75,True -CTSPillarNetworkA,314,314,314,1970-11-11,31.400000000000176,31.400084,2015-01-01 00:05:14,bin314,35,True -CTSPillarNetworkA,315,315,315,1970-11-12,31.500000000000178,31.500084,2015-01-01 00:05:15,bin315,75,True -CTSPillarNetworkA,316,316,316,1970-11-13,31.60000000000018,31.600084,2015-01-01 00:05:16,bin316,35,True -CTSPillarNetworkA,317,317,317,1970-11-14,31.70000000000018,31.700085,2015-01-01 00:05:17,bin317,75,True -CTSPillarNetworkA,318,318,318,1970-11-15,31.800000000000182,31.800085,2015-01-01 00:05:18,bin318,35,True -CTSPillarNetworkA,319,319,319,1970-11-16,31.900000000000183,31.900085,2015-01-01 00:05:19,bin319,75,True -CTSPillarNetworkA,320,320,320,1970-11-17,32.000000000000185,32.000084,2015-01-01 00:05:20,bin320,35,True -CTSPillarNetworkA,321,321,321,1970-11-18,32.100000000000186,32.100082,2015-01-01 00:05:21,bin321,75,True -CTSPillarNetworkA,322,322,322,1970-11-19,32.20000000000019,32.20008,2015-01-01 00:05:22,bin322,35,True -CTSPillarNetworkA,323,323,323,1970-11-20,32.30000000000019,32.30008,2015-01-01 00:05:23,bin323,75,True -CTSPillarNetworkA,324,324,324,1970-11-21,32.40000000000019,32.400078,2015-01-01 00:05:24,bin324,35,True -CTSPillarNetworkA,325,325,325,1970-11-22,32.50000000000019,32.500076,2015-01-01 00:05:25,bin325,75,True -CTSPillarNetworkA,326,326,326,1970-11-23,32.60000000000019,32.600075,2015-01-01 00:05:26,bin326,35,True -CTSPillarNetworkA,327,327,327,1970-11-24,32.700000000000195,32.700073,2015-01-01 00:05:27,bin327,75,True -CTSPillarNetworkA,328,328,328,1970-11-25,32.800000000000196,32.80007,2015-01-01 00:05:28,bin328,35,True -CTSPillarNetworkA,329,329,329,1970-11-26,32.9000000000002,32.90007,2015-01-01 00:05:29,bin329,75,True -CTSPillarNetworkA,330,330,330,1970-11-27,33.0000000000002,33.00007,2015-01-01 00:05:30,bin330,35,True -CTSPillarNetworkA,331,331,331,1970-11-28,33.1000000000002,33.100067,2015-01-01 00:05:31,bin331,75,True -CTSPillarNetworkA,332,332,332,1970-11-29,33.2000000000002,33.200066,2015-01-01 00:05:32,bin332,35,True -CTSPillarNetworkA,333,333,333,1970-11-30,33.3000000000002,33.300064,2015-01-01 00:05:33,bin333,75,True -CTSPillarNetworkA,334,334,334,1970-12-01,33.400000000000205,33.400063,2015-01-01 00:05:34,bin334,35,True -CTSPillarNetworkA,335,335,335,1970-12-02,33.500000000000206,33.50006,2015-01-01 00:05:35,bin335,75,True -CTSPillarNetworkA,336,336,336,1970-12-03,33.60000000000021,33.60006,2015-01-01 00:05:36,bin336,35,True -CTSPillarNetworkA,337,337,337,1970-12-04,33.70000000000021,33.700058,2015-01-01 00:05:37,bin337,75,True -CTSPillarNetworkA,338,338,338,1970-12-05,33.80000000000021,33.800056,2015-01-01 00:05:38,bin338,35,True -CTSPillarNetworkA,339,339,339,1970-12-06,33.90000000000021,33.900055,2015-01-01 00:05:39,bin339,75,True -CTSPillarNetworkA,340,340,340,1970-12-07,34.00000000000021,34.000053,2015-01-01 00:05:40,bin340,35,True -CTSPillarNetworkA,341,341,341,1970-12-08,34.100000000000215,34.10005,2015-01-01 00:05:41,bin341,75,True -CTSPillarNetworkA,342,342,342,1970-12-09,34.200000000000216,34.20005,2015-01-01 00:05:42,bin342,35,True -CTSPillarNetworkA,343,343,343,1970-12-10,34.30000000000022,34.30005,2015-01-01 00:05:43,bin343,75,True -CTSPillarNetworkA,344,344,344,1970-12-11,34.40000000000022,34.400047,2015-01-01 00:05:44,bin344,35,True -CTSPillarNetworkA,345,345,345,1970-12-12,34.50000000000022,34.500046,2015-01-01 00:05:45,bin345,75,True -CTSPillarNetworkA,346,346,346,1970-12-13,34.60000000000022,34.600044,2015-01-01 00:05:46,bin346,35,True -CTSPillarNetworkA,347,347,347,1970-12-14,34.70000000000022,34.700043,2015-01-01 00:05:47,bin347,75,True -CTSPillarNetworkA,348,348,348,1970-12-15,34.800000000000225,34.80004,2015-01-01 00:05:48,bin348,35,True -CTSPillarNetworkA,349,349,349,1970-12-16,34.900000000000226,34.90004,2015-01-01 00:05:49,bin349,75,True -CTSPillarNetworkA,350,350,350,1970-12-17,35.00000000000023,35.00004,2015-01-01 00:05:50,bin350,35,True -CTSPillarNetworkA,351,351,351,1970-12-18,35.10000000000023,35.100037,2015-01-01 00:05:51,bin351,75,True -CTSPillarNetworkA,352,352,352,1970-12-19,35.20000000000023,35.200035,2015-01-01 00:05:52,bin352,35,True -CTSPillarNetworkA,353,353,353,1970-12-20,35.30000000000023,35.300034,2015-01-01 00:05:53,bin353,75,True -CTSPillarNetworkA,354,354,354,1970-12-21,35.40000000000023,35.400032,2015-01-01 00:05:54,bin354,35,True -CTSPillarNetworkA,355,355,355,1970-12-22,35.500000000000234,35.50003,2015-01-01 00:05:55,bin355,75,True -CTSPillarNetworkA,356,356,356,1970-12-23,35.600000000000236,35.60003,2015-01-01 00:05:56,bin356,35,True -CTSPillarNetworkA,357,357,357,1970-12-24,35.70000000000024,35.700027,2015-01-01 00:05:57,bin357,75,True -CTSPillarNetworkA,358,358,358,1970-12-25,35.80000000000024,35.800026,2015-01-01 00:05:58,bin358,35,True -CTSPillarNetworkA,359,359,359,1970-12-26,35.90000000000024,35.900024,2015-01-01 00:05:59,bin359,75,True -CTSPillarNetworkA,360,360,360,1970-12-27,36.00000000000024,36.000023,2015-01-01 00:06:00,bin360,35,True -CTSPillarNetworkA,361,361,361,1970-12-28,36.10000000000024,36.10002,2015-01-01 00:06:01,bin361,75,True -CTSPillarNetworkA,362,362,362,1970-12-29,36.200000000000244,36.20002,2015-01-01 00:06:02,bin362,35,True -CTSPillarNetworkA,363,363,363,1970-12-30,36.300000000000246,36.30002,2015-01-01 00:06:03,bin363,75,True -CTSPillarNetworkA,364,364,364,1970-12-31,36.40000000000025,36.400017,2015-01-01 00:06:04,bin364,35,True -CTSPillarNetworkA,365,365,365,1971-01-01,36.50000000000025,36.500015,2015-01-01 00:06:05,bin365,75,True -CTSPillarNetworkA,366,366,366,1971-01-02,36.60000000000025,36.600014,2015-01-01 00:06:06,bin366,35,True -CTSPillarNetworkA,367,367,367,1971-01-03,36.70000000000025,36.700012,2015-01-01 00:06:07,bin367,75,True -CTSPillarNetworkA,368,368,368,1971-01-04,36.80000000000025,36.80001,2015-01-01 00:06:08,bin368,35,True -CTSPillarNetworkA,369,369,369,1971-01-05,36.900000000000254,36.90001,2015-01-01 00:06:09,bin369,75,True -CTSPillarNetworkA,370,370,370,1971-01-06,37.000000000000256,37.000008,2015-01-01 00:06:10,bin370,35,True -CTSPillarNetworkA,371,371,371,1971-01-07,37.10000000000026,37.100006,2015-01-01 00:06:11,bin371,75,True -CTSPillarNetworkA,372,372,372,1971-01-08,37.20000000000026,37.200005,2015-01-01 00:06:12,bin372,35,True -CTSPillarNetworkA,373,373,373,1971-01-09,37.30000000000026,37.300003,2015-01-01 00:06:13,bin373,75,True -CTSPillarNetworkA,374,374,374,1971-01-10,37.40000000000026,37.4,2015-01-01 00:06:14,bin374,35,True -CTSPillarNetworkA,375,375,375,1971-01-11,37.50000000000026,37.5,2015-01-01 00:06:15,bin375,75,True -CTSPillarNetworkA,376,376,376,1971-01-12,37.600000000000264,37.6,2015-01-01 00:06:16,bin376,35,True -CTSPillarNetworkA,377,377,377,1971-01-13,37.700000000000266,37.699997,2015-01-01 00:06:17,bin377,75,True -CTSPillarNetworkA,378,378,378,1971-01-14,37.80000000000027,37.799995,2015-01-01 00:06:18,bin378,35,True -CTSPillarNetworkA,379,379,379,1971-01-15,37.90000000000027,37.899994,2015-01-01 00:06:19,bin379,75,True -CTSPillarNetworkA,380,380,380,1971-01-16,38.00000000000027,37.999992,2015-01-01 00:06:20,bin380,35,True -CTSPillarNetworkA,381,381,381,1971-01-17,38.10000000000027,38.09999,2015-01-01 00:06:21,bin381,75,True -CTSPillarNetworkA,382,382,382,1971-01-18,38.20000000000027,38.19999,2015-01-01 00:06:22,bin382,35,True -CTSPillarNetworkA,383,383,383,1971-01-19,38.300000000000274,38.299988,2015-01-01 00:06:23,bin383,75,True -CTSPillarNetworkA,384,384,384,1971-01-20,38.400000000000276,38.399986,2015-01-01 00:06:24,bin384,35,True -CTSPillarNetworkA,385,385,385,1971-01-21,38.50000000000028,38.499985,2015-01-01 00:06:25,bin385,75,True -CTSPillarNetworkA,386,386,386,1971-01-22,38.60000000000028,38.599983,2015-01-01 00:06:26,bin386,35,True -CTSPillarNetworkA,387,387,387,1971-01-23,38.70000000000028,38.69998,2015-01-01 00:06:27,bin387,75,True -CTSPillarNetworkA,388,388,388,1971-01-24,38.80000000000028,38.79998,2015-01-01 00:06:28,bin388,35,True -CTSPillarNetworkA,389,389,389,1971-01-25,38.90000000000028,38.89998,2015-01-01 00:06:29,bin389,75,True -CTSPillarNetworkA,390,390,390,1971-01-26,39.000000000000284,38.999977,2015-01-01 00:06:30,bin390,35,True -CTSPillarNetworkA,391,391,391,1971-01-27,39.100000000000286,39.099976,2015-01-01 00:06:31,bin391,75,True -CTSPillarNetworkA,392,392,392,1971-01-28,39.20000000000029,39.199974,2015-01-01 00:06:32,bin392,35,True -CTSPillarNetworkA,393,393,393,1971-01-29,39.30000000000029,39.299973,2015-01-01 00:06:33,bin393,75,True -CTSPillarNetworkA,394,394,394,1971-01-30,39.40000000000029,39.39997,2015-01-01 00:06:34,bin394,35,True -CTSPillarNetworkA,395,395,395,1971-01-31,39.50000000000029,39.49997,2015-01-01 00:06:35,bin395,75,True -CTSPillarNetworkA,396,396,396,1971-02-01,39.60000000000029,39.599968,2015-01-01 00:06:36,bin396,35,True -CTSPillarNetworkA,397,397,397,1971-02-02,39.700000000000294,39.699966,2015-01-01 00:06:37,bin397,75,True -CTSPillarNetworkA,398,398,398,1971-02-03,39.800000000000296,39.799965,2015-01-01 00:06:38,bin398,35,True -CTSPillarNetworkA,399,399,399,1971-02-04,39.9000000000003,39.899963,2015-01-01 00:06:39,bin399,75,True -CTSPillarNetworkA,400,400,400,1971-02-05,40.0000000000003,39.99996,2015-01-01 00:06:40,bin400,35,True -CTSPillarNetworkA,401,401,401,1971-02-06,40.1000000000003,40.09996,2015-01-01 00:06:41,bin401,75,True -CTSPillarNetworkA,402,402,402,1971-02-07,40.2000000000003,40.19996,2015-01-01 00:06:42,bin402,35,True -CTSPillarNetworkA,403,403,403,1971-02-08,40.3000000000003,40.299957,2015-01-01 00:06:43,bin403,75,True -CTSPillarNetworkA,404,404,404,1971-02-09,40.400000000000304,40.399956,2015-01-01 00:06:44,bin404,35,True -CTSPillarNetworkA,405,405,405,1971-02-10,40.500000000000306,40.499954,2015-01-01 00:06:45,bin405,75,True -CTSPillarNetworkA,406,406,406,1971-02-11,40.60000000000031,40.599953,2015-01-01 00:06:46,bin406,35,True -CTSPillarNetworkA,407,407,407,1971-02-12,40.70000000000031,40.69995,2015-01-01 00:06:47,bin407,75,True -CTSPillarNetworkA,408,408,408,1971-02-13,40.80000000000031,40.79995,2015-01-01 00:06:48,bin408,35,True -CTSPillarNetworkA,409,409,409,1971-02-14,40.90000000000031,40.89995,2015-01-01 00:06:49,bin409,75,True -CTSPillarNetworkA,410,410,410,1971-02-15,41.00000000000031,40.999947,2015-01-01 00:06:50,bin410,35,True -CTSPillarNetworkA,411,411,411,1971-02-16,41.100000000000314,41.099945,2015-01-01 00:06:51,bin411,75,True -CTSPillarNetworkA,412,412,412,1971-02-17,41.200000000000315,41.199944,2015-01-01 00:06:52,bin412,35,True -CTSPillarNetworkA,413,413,413,1971-02-18,41.30000000000032,41.299942,2015-01-01 00:06:53,bin413,75,True -CTSPillarNetworkA,414,414,414,1971-02-19,41.40000000000032,41.39994,2015-01-01 00:06:54,bin414,35,True -CTSPillarNetworkA,415,415,415,1971-02-20,41.50000000000032,41.49994,2015-01-01 00:06:55,bin415,75,True -CTSPillarNetworkA,416,416,416,1971-02-21,41.60000000000032,41.599937,2015-01-01 00:06:56,bin416,35,True -CTSPillarNetworkA,417,417,417,1971-02-22,41.70000000000032,41.699936,2015-01-01 00:06:57,bin417,75,True -CTSPillarNetworkA,418,418,418,1971-02-23,41.800000000000324,41.799934,2015-01-01 00:06:58,bin418,35,True -CTSPillarNetworkA,419,419,419,1971-02-24,41.900000000000325,41.899933,2015-01-01 00:06:59,bin419,75,True -CTSPillarNetworkA,420,420,420,1971-02-25,42.00000000000033,41.99993,2015-01-01 00:07:00,bin420,35,True -CTSPillarNetworkA,421,421,421,1971-02-26,42.10000000000033,42.09993,2015-01-01 00:07:01,bin421,75,True -CTSPillarNetworkA,422,422,422,1971-02-27,42.20000000000033,42.19993,2015-01-01 00:07:02,bin422,35,True -CTSPillarNetworkA,423,423,423,1971-02-28,42.30000000000033,42.299927,2015-01-01 00:07:03,bin423,75,True -CTSPillarNetworkA,424,424,424,1971-03-01,42.40000000000033,42.399925,2015-01-01 00:07:04,bin424,35,True -CTSPillarNetworkA,425,425,425,1971-03-02,42.500000000000334,42.499924,2015-01-01 00:07:05,bin425,75,True -CTSPillarNetworkA,426,426,426,1971-03-03,42.600000000000335,42.599922,2015-01-01 00:07:06,bin426,35,True -CTSPillarNetworkA,427,427,427,1971-03-04,42.70000000000034,42.69992,2015-01-01 00:07:07,bin427,75,True -CTSPillarNetworkA,428,428,428,1971-03-05,42.80000000000034,42.79992,2015-01-01 00:07:08,bin428,35,True -CTSPillarNetworkA,429,429,429,1971-03-06,42.90000000000034,42.899918,2015-01-01 00:07:09,bin429,75,True -CTSPillarNetworkA,430,430,430,1971-03-07,43.00000000000034,42.999916,2015-01-01 00:07:10,bin430,35,True -CTSPillarNetworkA,431,431,431,1971-03-08,43.10000000000034,43.099915,2015-01-01 00:07:11,bin431,75,True -CTSPillarNetworkA,432,432,432,1971-03-09,43.200000000000344,43.199913,2015-01-01 00:07:12,bin432,35,True -CTSPillarNetworkA,433,433,433,1971-03-10,43.300000000000345,43.29991,2015-01-01 00:07:13,bin433,75,True -CTSPillarNetworkA,434,434,434,1971-03-11,43.40000000000035,43.39991,2015-01-01 00:07:14,bin434,35,True -CTSPillarNetworkA,435,435,435,1971-03-12,43.50000000000035,43.49991,2015-01-01 00:07:15,bin435,75,True -CTSPillarNetworkA,436,436,436,1971-03-13,43.60000000000035,43.599907,2015-01-01 00:07:16,bin436,35,True -CTSPillarNetworkA,437,437,437,1971-03-14,43.70000000000035,43.699905,2015-01-01 00:07:17,bin437,75,True -CTSPillarNetworkA,438,438,438,1971-03-15,43.80000000000035,43.799904,2015-01-01 00:07:18,bin438,35,True -CTSPillarNetworkA,439,439,439,1971-03-16,43.900000000000354,43.899902,2015-01-01 00:07:19,bin439,75,True -CTSPillarNetworkA,440,440,440,1971-03-17,44.000000000000355,43.9999,2015-01-01 00:07:20,bin440,35,True -CTSPillarNetworkA,441,441,441,1971-03-18,44.10000000000036,44.0999,2015-01-01 00:07:21,bin441,75,True -CTSPillarNetworkA,442,442,442,1971-03-19,44.20000000000036,44.199898,2015-01-01 00:07:22,bin442,35,True -CTSPillarNetworkA,443,443,443,1971-03-20,44.30000000000036,44.299896,2015-01-01 00:07:23,bin443,75,True -CTSPillarNetworkA,444,444,444,1971-03-21,44.40000000000036,44.399895,2015-01-01 00:07:24,bin444,35,True -CTSPillarNetworkA,445,445,445,1971-03-22,44.50000000000036,44.499893,2015-01-01 00:07:25,bin445,75,True -CTSPillarNetworkA,446,446,446,1971-03-23,44.600000000000364,44.59989,2015-01-01 00:07:26,bin446,35,True -CTSPillarNetworkA,447,447,447,1971-03-24,44.700000000000365,44.69989,2015-01-01 00:07:27,bin447,75,True -CTSPillarNetworkA,448,448,448,1971-03-25,44.80000000000037,44.79989,2015-01-01 00:07:28,bin448,35,True -CTSPillarNetworkA,449,449,449,1971-03-26,44.90000000000037,44.899887,2015-01-01 00:07:29,bin449,75,True -CTSPillarNetworkA,450,450,450,1971-03-27,45.00000000000037,44.999886,2015-01-01 00:07:30,bin450,35,True -CTSPillarNetworkA,451,451,451,1971-03-28,45.10000000000037,45.099884,2015-01-01 00:07:31,bin451,75,True -CTSPillarNetworkA,452,452,452,1971-03-29,45.20000000000037,45.199883,2015-01-01 00:07:32,bin452,35,True -CTSPillarNetworkA,453,453,453,1971-03-30,45.300000000000374,45.29988,2015-01-01 00:07:33,bin453,75,True -CTSPillarNetworkA,454,454,454,1971-03-31,45.400000000000375,45.39988,2015-01-01 00:07:34,bin454,35,True -CTSPillarNetworkA,455,455,455,1971-04-01,45.50000000000038,45.499878,2015-01-01 00:07:35,bin455,75,True -CTSPillarNetworkA,456,456,456,1971-04-02,45.60000000000038,45.599876,2015-01-01 00:07:36,bin456,35,True -CTSPillarNetworkA,457,457,457,1971-04-03,45.70000000000038,45.699875,2015-01-01 00:07:37,bin457,75,True -CTSPillarNetworkA,458,458,458,1971-04-04,45.80000000000038,45.799873,2015-01-01 00:07:38,bin458,35,True -CTSPillarNetworkA,459,459,459,1971-04-05,45.90000000000038,45.89987,2015-01-01 00:07:39,bin459,75,True -CTSPillarNetworkA,460,460,460,1971-04-06,46.000000000000384,45.99987,2015-01-01 00:07:40,bin460,35,True -CTSPillarNetworkA,461,461,461,1971-04-07,46.100000000000385,46.09987,2015-01-01 00:07:41,bin461,75,True -CTSPillarNetworkA,462,462,462,1971-04-08,46.20000000000039,46.199867,2015-01-01 00:07:42,bin462,35,True -CTSPillarNetworkA,463,463,463,1971-04-09,46.30000000000039,46.299866,2015-01-01 00:07:43,bin463,75,True -CTSPillarNetworkA,464,464,464,1971-04-10,46.40000000000039,46.399864,2015-01-01 00:07:44,bin464,35,True -CTSPillarNetworkA,465,465,465,1971-04-11,46.50000000000039,46.499863,2015-01-01 00:07:45,bin465,75,True -CTSPillarNetworkA,466,466,466,1971-04-12,46.60000000000039,46.59986,2015-01-01 00:07:46,bin466,35,True -CTSPillarNetworkA,467,467,467,1971-04-13,46.700000000000394,46.69986,2015-01-01 00:07:47,bin467,75,True -CTSPillarNetworkA,468,468,468,1971-04-14,46.800000000000395,46.79986,2015-01-01 00:07:48,bin468,35,True -CTSPillarNetworkA,469,469,469,1971-04-15,46.9000000000004,46.899857,2015-01-01 00:07:49,bin469,75,True -CTSPillarNetworkA,470,470,470,1971-04-16,47.0000000000004,46.999855,2015-01-01 00:07:50,bin470,35,True -CTSPillarNetworkA,471,471,471,1971-04-17,47.1000000000004,47.099854,2015-01-01 00:07:51,bin471,75,True -CTSPillarNetworkA,472,472,472,1971-04-18,47.2000000000004,47.199852,2015-01-01 00:07:52,bin472,35,True -CTSPillarNetworkA,473,473,473,1971-04-19,47.3000000000004,47.29985,2015-01-01 00:07:53,bin473,75,True -CTSPillarNetworkA,474,474,474,1971-04-20,47.400000000000404,47.39985,2015-01-01 00:07:54,bin474,35,True -CTSPillarNetworkA,475,475,475,1971-04-21,47.500000000000405,47.499847,2015-01-01 00:07:55,bin475,75,True -CTSPillarNetworkA,476,476,476,1971-04-22,47.600000000000406,47.599846,2015-01-01 00:07:56,bin476,35,True -CTSPillarNetworkA,477,477,477,1971-04-23,47.70000000000041,47.699844,2015-01-01 00:07:57,bin477,75,True -CTSPillarNetworkA,478,478,478,1971-04-24,47.80000000000041,47.799843,2015-01-01 00:07:58,bin478,35,True -CTSPillarNetworkA,479,479,479,1971-04-25,47.90000000000041,47.89984,2015-01-01 00:07:59,bin479,75,True -CTSPillarNetworkA,480,480,480,1971-04-26,48.00000000000041,47.99984,2015-01-01 00:08:00,bin480,35,True -CTSPillarNetworkA,481,481,481,1971-04-27,48.10000000000041,48.09984,2015-01-01 00:08:01,bin481,75,True -CTSPillarNetworkA,482,482,482,1971-04-28,48.200000000000415,48.199837,2015-01-01 00:08:02,bin482,35,True -CTSPillarNetworkA,483,483,483,1971-04-29,48.300000000000416,48.299835,2015-01-01 00:08:03,bin483,75,True -CTSPillarNetworkA,484,484,484,1971-04-30,48.40000000000042,48.399834,2015-01-01 00:08:04,bin484,35,True -CTSPillarNetworkA,485,485,485,1971-05-01,48.50000000000042,48.499832,2015-01-01 00:08:05,bin485,75,True -CTSPillarNetworkA,486,486,486,1971-05-02,48.60000000000042,48.59983,2015-01-01 00:08:06,bin486,35,True -CTSPillarNetworkA,487,487,487,1971-05-03,48.70000000000042,48.69983,2015-01-01 00:08:07,bin487,75,True -CTSPillarNetworkA,488,488,488,1971-05-04,48.80000000000042,48.799828,2015-01-01 00:08:08,bin488,35,True -CTSPillarNetworkA,489,489,489,1971-05-05,48.900000000000425,48.899826,2015-01-01 00:08:09,bin489,75,True -CTSPillarNetworkA,490,490,490,1971-05-06,49.000000000000426,48.999825,2015-01-01 00:08:10,bin490,35,True -CTSPillarNetworkA,491,491,491,1971-05-07,49.10000000000043,49.099823,2015-01-01 00:08:11,bin491,75,True -CTSPillarNetworkA,492,492,492,1971-05-08,49.20000000000043,49.19982,2015-01-01 00:08:12,bin492,35,True -CTSPillarNetworkA,493,493,493,1971-05-09,49.30000000000043,49.29982,2015-01-01 00:08:13,bin493,75,True -CTSPillarNetworkA,494,494,494,1971-05-10,49.40000000000043,49.39982,2015-01-01 00:08:14,bin494,35,True -CTSPillarNetworkA,495,495,495,1971-05-11,49.50000000000043,49.499817,2015-01-01 00:08:15,bin495,75,True -CTSPillarNetworkA,496,496,496,1971-05-12,49.600000000000435,49.599815,2015-01-01 00:08:16,bin496,35,True -CTSPillarNetworkA,497,497,497,1971-05-13,49.700000000000436,49.699814,2015-01-01 00:08:17,bin497,75,True -CTSPillarNetworkA,498,498,498,1971-05-14,49.80000000000044,49.799812,2015-01-01 00:08:18,bin498,35,True -CTSPillarNetworkA,499,499,499,1971-05-15,49.90000000000044,49.89981,2015-01-01 00:08:19,bin499,75,True -CTSPillarNetworkA,500,500,500,1971-05-16,50.00000000000044,49.99981,2015-01-01 00:08:20,bin500,35,True -CTSPillarNetworkA,501,501,501,1971-05-17,50.10000000000044,50.099808,2015-01-01 00:08:21,bin501,75,True -CTSPillarNetworkA,502,502,502,1971-05-18,50.20000000000044,50.199806,2015-01-01 00:08:22,bin502,35,True -CTSPillarNetworkA,503,503,503,1971-05-19,50.300000000000445,50.299805,2015-01-01 00:08:23,bin503,75,True -CTSPillarNetworkA,504,504,504,1971-05-20,50.400000000000446,50.399803,2015-01-01 00:08:24,bin504,35,True -CTSPillarNetworkA,505,505,505,1971-05-21,50.50000000000045,50.4998,2015-01-01 00:08:25,bin505,75,True -CTSPillarNetworkA,506,506,506,1971-05-22,50.60000000000045,50.5998,2015-01-01 00:08:26,bin506,35,True -CTSPillarNetworkA,507,507,507,1971-05-23,50.70000000000045,50.6998,2015-01-01 00:08:27,bin507,75,True -CTSPillarNetworkA,508,508,508,1971-05-24,50.80000000000045,50.799797,2015-01-01 00:08:28,bin508,35,True -CTSPillarNetworkA,509,509,509,1971-05-25,50.90000000000045,50.899796,2015-01-01 00:08:29,bin509,75,True -CTSPillarNetworkA,510,510,510,1971-05-26,51.000000000000455,50.999794,2015-01-01 00:08:30,bin510,35,True -CTSPillarNetworkA,511,511,511,1971-05-27,51.100000000000456,51.099792,2015-01-01 00:08:31,bin511,75,True -CTSPillarNetworkA,512,512,512,1971-05-28,51.20000000000046,51.19979,2015-01-01 00:08:32,bin512,35,True -CTSPillarNetworkA,513,513,513,1971-05-29,51.30000000000046,51.29979,2015-01-01 00:08:33,bin513,75,True -CTSPillarNetworkA,514,514,514,1971-05-30,51.40000000000046,51.399788,2015-01-01 00:08:34,bin514,35,True -CTSPillarNetworkA,515,515,515,1971-05-31,51.50000000000046,51.499786,2015-01-01 00:08:35,bin515,75,True -CTSPillarNetworkA,516,516,516,1971-06-01,51.60000000000046,51.599785,2015-01-01 00:08:36,bin516,35,True -CTSPillarNetworkA,517,517,517,1971-06-02,51.700000000000465,51.699783,2015-01-01 00:08:37,bin517,75,True -CTSPillarNetworkA,518,518,518,1971-06-03,51.800000000000466,51.79978,2015-01-01 00:08:38,bin518,35,True -CTSPillarNetworkA,519,519,519,1971-06-04,51.90000000000047,51.89978,2015-01-01 00:08:39,bin519,75,True -CTSPillarNetworkA,520,520,520,1971-06-05,52.00000000000047,51.99978,2015-01-01 00:08:40,bin520,35,True -CTSPillarNetworkA,521,521,521,1971-06-06,52.10000000000047,52.099777,2015-01-01 00:08:41,bin521,75,True -CTSPillarNetworkA,522,522,522,1971-06-07,52.20000000000047,52.199776,2015-01-01 00:08:42,bin522,35,True -CTSPillarNetworkA,523,523,523,1971-06-08,52.30000000000047,52.299774,2015-01-01 00:08:43,bin523,75,True -CTSPillarNetworkA,524,524,524,1971-06-09,52.400000000000475,52.399773,2015-01-01 00:08:44,bin524,35,True -CTSPillarNetworkA,525,525,525,1971-06-10,52.500000000000476,52.49977,2015-01-01 00:08:45,bin525,75,True -CTSPillarNetworkA,526,526,526,1971-06-11,52.60000000000048,52.59977,2015-01-01 00:08:46,bin526,35,True -CTSPillarNetworkA,527,527,527,1971-06-12,52.70000000000048,52.699768,2015-01-01 00:08:47,bin527,75,True -CTSPillarNetworkA,528,528,528,1971-06-13,52.80000000000048,52.799767,2015-01-01 00:08:48,bin528,35,True -CTSPillarNetworkA,529,529,529,1971-06-14,52.90000000000048,52.899765,2015-01-01 00:08:49,bin529,75,True -CTSPillarNetworkA,530,530,530,1971-06-15,53.00000000000048,52.999763,2015-01-01 00:08:50,bin530,35,True -CTSPillarNetworkA,531,531,531,1971-06-16,53.100000000000485,53.099762,2015-01-01 00:08:51,bin531,75,True -CTSPillarNetworkA,532,532,532,1971-06-17,53.200000000000486,53.19976,2015-01-01 00:08:52,bin532,35,True -CTSPillarNetworkA,533,533,533,1971-06-18,53.30000000000049,53.29976,2015-01-01 00:08:53,bin533,75,True -CTSPillarNetworkA,534,534,534,1971-06-19,53.40000000000049,53.399757,2015-01-01 00:08:54,bin534,35,True -CTSPillarNetworkA,535,535,535,1971-06-20,53.50000000000049,53.499756,2015-01-01 00:08:55,bin535,75,True -CTSPillarNetworkA,536,536,536,1971-06-21,53.60000000000049,53.599754,2015-01-01 00:08:56,bin536,35,True -CTSPillarNetworkA,537,537,537,1971-06-22,53.70000000000049,53.699753,2015-01-01 00:08:57,bin537,75,True -CTSPillarNetworkA,538,538,538,1971-06-23,53.800000000000495,53.79975,2015-01-01 00:08:58,bin538,35,True -CTSPillarNetworkA,539,539,539,1971-06-24,53.900000000000496,53.89975,2015-01-01 00:08:59,bin539,75,True -CTSPillarNetworkA,540,540,540,1971-06-25,54.0000000000005,53.99975,2015-01-01 00:09:00,bin540,35,True -CTSPillarNetworkA,541,541,541,1971-06-26,54.1000000000005,54.099747,2015-01-01 00:09:01,bin541,75,True -CTSPillarNetworkA,542,542,542,1971-06-27,54.2000000000005,54.199745,2015-01-01 00:09:02,bin542,35,True -CTSPillarNetworkA,543,543,543,1971-06-28,54.3000000000005,54.299744,2015-01-01 00:09:03,bin543,75,True -CTSPillarNetworkA,544,544,544,1971-06-29,54.4000000000005,54.399742,2015-01-01 00:09:04,bin544,35,True -CTSPillarNetworkA,545,545,545,1971-06-30,54.500000000000504,54.49974,2015-01-01 00:09:05,bin545,75,True -CTSPillarNetworkA,546,546,546,1971-07-01,54.600000000000506,54.59974,2015-01-01 00:09:06,bin546,35,True -CTSPillarNetworkA,547,547,547,1971-07-02,54.70000000000051,54.699738,2015-01-01 00:09:07,bin547,75,True -CTSPillarNetworkA,548,548,548,1971-07-03,54.80000000000051,54.799736,2015-01-01 00:09:08,bin548,35,True -CTSPillarNetworkA,549,549,549,1971-07-04,54.90000000000051,54.899734,2015-01-01 00:09:09,bin549,75,True -CTSPillarNetworkA,550,550,550,1971-07-05,55.00000000000051,54.999733,2015-01-01 00:09:10,bin550,35,True -CTSPillarNetworkA,551,551,551,1971-07-06,55.10000000000051,55.09973,2015-01-01 00:09:11,bin551,75,True -CTSPillarNetworkA,552,552,552,1971-07-07,55.200000000000514,55.19973,2015-01-01 00:09:12,bin552,35,True -CTSPillarNetworkA,553,553,553,1971-07-08,55.300000000000516,55.29973,2015-01-01 00:09:13,bin553,75,True -CTSPillarNetworkA,554,554,554,1971-07-09,55.40000000000052,55.399727,2015-01-01 00:09:14,bin554,35,True -CTSPillarNetworkA,555,555,555,1971-07-10,55.50000000000052,55.499725,2015-01-01 00:09:15,bin555,75,True -CTSPillarNetworkA,556,556,556,1971-07-11,55.60000000000052,55.599724,2015-01-01 00:09:16,bin556,35,True -CTSPillarNetworkA,557,557,557,1971-07-12,55.70000000000052,55.699722,2015-01-01 00:09:17,bin557,75,True -CTSPillarNetworkA,558,558,558,1971-07-13,55.80000000000052,55.79972,2015-01-01 00:09:18,bin558,35,True -CTSPillarNetworkA,559,559,559,1971-07-14,55.900000000000524,55.89972,2015-01-01 00:09:19,bin559,75,True -CTSPillarNetworkA,560,560,560,1971-07-15,56.000000000000526,55.999718,2015-01-01 00:09:20,bin560,35,True -CTSPillarNetworkA,561,561,561,1971-07-16,56.10000000000053,56.099716,2015-01-01 00:09:21,bin561,75,True -CTSPillarNetworkA,562,562,562,1971-07-17,56.20000000000053,56.199715,2015-01-01 00:09:22,bin562,35,True -CTSPillarNetworkA,563,563,563,1971-07-18,56.30000000000053,56.299713,2015-01-01 00:09:23,bin563,75,True -CTSPillarNetworkA,564,564,564,1971-07-19,56.40000000000053,56.39971,2015-01-01 00:09:24,bin564,35,True -CTSPillarNetworkA,565,565,565,1971-07-20,56.50000000000053,56.49971,2015-01-01 00:09:25,bin565,75,True -CTSPillarNetworkA,566,566,566,1971-07-21,56.600000000000534,56.59971,2015-01-01 00:09:26,bin566,35,True -CTSPillarNetworkA,567,567,567,1971-07-22,56.700000000000536,56.699707,2015-01-01 00:09:27,bin567,75,True -CTSPillarNetworkA,568,568,568,1971-07-23,56.80000000000054,56.799706,2015-01-01 00:09:28,bin568,35,True -CTSPillarNetworkA,569,569,569,1971-07-24,56.90000000000054,56.899704,2015-01-01 00:09:29,bin569,75,True -CTSPillarNetworkA,570,570,570,1971-07-25,57.00000000000054,56.999702,2015-01-01 00:09:30,bin570,35,True -CTSPillarNetworkA,571,571,571,1971-07-26,57.10000000000054,57.0997,2015-01-01 00:09:31,bin571,75,True -CTSPillarNetworkA,572,572,572,1971-07-27,57.20000000000054,57.1997,2015-01-01 00:09:32,bin572,35,True -CTSPillarNetworkA,573,573,573,1971-07-28,57.300000000000544,57.299698,2015-01-01 00:09:33,bin573,75,True -CTSPillarNetworkA,574,574,574,1971-07-29,57.400000000000546,57.399696,2015-01-01 00:09:34,bin574,35,True -CTSPillarNetworkA,575,575,575,1971-07-30,57.50000000000055,57.499695,2015-01-01 00:09:35,bin575,75,True -CTSPillarNetworkA,576,576,576,1971-07-31,57.60000000000055,57.599693,2015-01-01 00:09:36,bin576,35,True -CTSPillarNetworkA,577,577,577,1971-08-01,57.70000000000055,57.69969,2015-01-01 00:09:37,bin577,75,True -CTSPillarNetworkA,578,578,578,1971-08-02,57.80000000000055,57.79969,2015-01-01 00:09:38,bin578,35,True -CTSPillarNetworkA,579,579,579,1971-08-03,57.90000000000055,57.89969,2015-01-01 00:09:39,bin579,75,True -CTSPillarNetworkA,580,580,580,1971-08-04,58.000000000000554,57.999687,2015-01-01 00:09:40,bin580,35,True -CTSPillarNetworkA,581,581,581,1971-08-05,58.100000000000556,58.099686,2015-01-01 00:09:41,bin581,75,True -CTSPillarNetworkA,582,582,582,1971-08-06,58.20000000000056,58.199684,2015-01-01 00:09:42,bin582,35,True -CTSPillarNetworkA,583,583,583,1971-08-07,58.30000000000056,58.299683,2015-01-01 00:09:43,bin583,75,True -CTSPillarNetworkA,584,584,584,1971-08-08,58.40000000000056,58.39968,2015-01-01 00:09:44,bin584,35,True -CTSPillarNetworkA,585,585,585,1971-08-09,58.50000000000056,58.49968,2015-01-01 00:09:45,bin585,75,True -CTSPillarNetworkA,586,586,586,1971-08-10,58.60000000000056,58.599678,2015-01-01 00:09:46,bin586,35,True -CTSPillarNetworkA,587,587,587,1971-08-11,58.700000000000564,58.699677,2015-01-01 00:09:47,bin587,75,True -CTSPillarNetworkA,588,588,588,1971-08-12,58.800000000000566,58.799675,2015-01-01 00:09:48,bin588,35,True -CTSPillarNetworkA,589,589,589,1971-08-13,58.90000000000057,58.899673,2015-01-01 00:09:49,bin589,75,True -CTSPillarNetworkA,590,590,590,1971-08-14,59.00000000000057,58.999672,2015-01-01 00:09:50,bin590,35,True -CTSPillarNetworkA,591,591,591,1971-08-15,59.10000000000057,59.09967,2015-01-01 00:09:51,bin591,75,True -CTSPillarNetworkA,592,592,592,1971-08-16,59.20000000000057,59.19967,2015-01-01 00:09:52,bin592,35,True -CTSPillarNetworkA,593,593,593,1971-08-17,59.30000000000057,59.299667,2015-01-01 00:09:53,bin593,75,True -CTSPillarNetworkA,594,594,594,1971-08-18,59.400000000000574,59.399666,2015-01-01 00:09:54,bin594,35,True -CTSPillarNetworkA,595,595,595,1971-08-19,59.500000000000576,59.499664,2015-01-01 00:09:55,bin595,75,True -CTSPillarNetworkA,596,596,596,1971-08-20,59.60000000000058,59.599663,2015-01-01 00:09:56,bin596,35,True -CTSPillarNetworkA,597,597,597,1971-08-21,59.70000000000058,59.69966,2015-01-01 00:09:57,bin597,75,True -CTSPillarNetworkA,598,598,598,1971-08-22,59.80000000000058,59.79966,2015-01-01 00:09:58,bin598,35,True -CTSPillarNetworkA,599,599,599,1971-08-23,59.90000000000058,59.89966,2015-01-01 00:09:59,bin599,75,True -CTSPillarNetworkA,600,600,600,1971-08-24,60.00000000000058,59.999657,2015-01-01 00:10:00,bin600,35,True -CTSPillarNetworkA,601,601,601,1971-08-25,60.100000000000584,60.099655,2015-01-01 00:10:01,bin601,75,True -CTSPillarNetworkA,602,602,602,1971-08-26,60.200000000000585,60.199654,2015-01-01 00:10:02,bin602,35,True -CTSPillarNetworkA,603,603,603,1971-08-27,60.30000000000059,60.299652,2015-01-01 00:10:03,bin603,75,True -CTSPillarNetworkA,604,604,604,1971-08-28,60.40000000000059,60.39965,2015-01-01 00:10:04,bin604,35,True -CTSPillarNetworkA,605,605,605,1971-08-29,60.50000000000059,60.49965,2015-01-01 00:10:05,bin605,75,True -CTSPillarNetworkA,606,606,606,1971-08-30,60.60000000000059,60.599648,2015-01-01 00:10:06,bin606,35,True -CTSPillarNetworkA,607,607,607,1971-08-31,60.70000000000059,60.699646,2015-01-01 00:10:07,bin607,75,True -CTSPillarNetworkA,608,608,608,1971-09-01,60.800000000000594,60.799644,2015-01-01 00:10:08,bin608,35,True -CTSPillarNetworkA,609,609,609,1971-09-02,60.900000000000595,60.899643,2015-01-01 00:10:09,bin609,75,True -CTSPillarNetworkA,610,610,610,1971-09-03,61.0000000000006,60.99964,2015-01-01 00:10:10,bin610,35,True -CTSPillarNetworkA,611,611,611,1971-09-04,61.1000000000006,61.09964,2015-01-01 00:10:11,bin611,75,True -CTSPillarNetworkA,612,612,612,1971-09-05,61.2000000000006,61.19964,2015-01-01 00:10:12,bin612,35,True -CTSPillarNetworkA,613,613,613,1971-09-06,61.3000000000006,61.299637,2015-01-01 00:10:13,bin613,75,True -CTSPillarNetworkA,614,614,614,1971-09-07,61.4000000000006,61.399635,2015-01-01 00:10:14,bin614,35,True -CTSPillarNetworkA,615,615,615,1971-09-08,61.500000000000604,61.499634,2015-01-01 00:10:15,bin615,75,True -CTSPillarNetworkA,616,616,616,1971-09-09,61.600000000000605,61.599632,2015-01-01 00:10:16,bin616,35,True -CTSPillarNetworkA,617,617,617,1971-09-10,61.70000000000061,61.69963,2015-01-01 00:10:17,bin617,75,True -CTSPillarNetworkA,618,618,618,1971-09-11,61.80000000000061,61.79963,2015-01-01 00:10:18,bin618,35,True -CTSPillarNetworkA,619,619,619,1971-09-12,61.90000000000061,61.899628,2015-01-01 00:10:19,bin619,75,True -CTSPillarNetworkA,620,620,620,1971-09-13,62.00000000000061,61.999626,2015-01-01 00:10:20,bin620,35,True -CTSPillarNetworkA,621,621,621,1971-09-14,62.10000000000061,62.099625,2015-01-01 00:10:21,bin621,75,True -CTSPillarNetworkA,622,622,622,1971-09-15,62.200000000000614,62.199623,2015-01-01 00:10:22,bin622,35,True -CTSPillarNetworkA,623,623,623,1971-09-16,62.300000000000615,62.29962,2015-01-01 00:10:23,bin623,75,True -CTSPillarNetworkA,624,624,624,1971-09-17,62.40000000000062,62.39962,2015-01-01 00:10:24,bin624,35,True -CTSPillarNetworkA,625,625,625,1971-09-18,62.50000000000062,62.49962,2015-01-01 00:10:25,bin625,75,True -CTSPillarNetworkA,626,626,626,1971-09-19,62.60000000000062,62.599617,2015-01-01 00:10:26,bin626,35,True -CTSPillarNetworkA,627,627,627,1971-09-20,62.70000000000062,62.699615,2015-01-01 00:10:27,bin627,75,True -CTSPillarNetworkA,628,628,628,1971-09-21,62.80000000000062,62.799614,2015-01-01 00:10:28,bin628,35,True -CTSPillarNetworkA,629,629,629,1971-09-22,62.900000000000624,62.899612,2015-01-01 00:10:29,bin629,75,True -CTSPillarNetworkA,630,630,630,1971-09-23,63.000000000000625,62.99961,2015-01-01 00:10:30,bin630,35,True -CTSPillarNetworkA,631,631,631,1971-09-24,63.10000000000063,63.09961,2015-01-01 00:10:31,bin631,75,True -CTSPillarNetworkA,632,632,632,1971-09-25,63.20000000000063,63.199608,2015-01-01 00:10:32,bin632,35,True -CTSPillarNetworkA,633,633,633,1971-09-26,63.30000000000063,63.299606,2015-01-01 00:10:33,bin633,75,True -CTSPillarNetworkA,634,634,634,1971-09-27,63.40000000000063,63.399605,2015-01-01 00:10:34,bin634,35,True -CTSPillarNetworkA,635,635,635,1971-09-28,63.50000000000063,63.499603,2015-01-01 00:10:35,bin635,75,True -CTSPillarNetworkA,636,636,636,1971-09-29,63.600000000000634,63.5996,2015-01-01 00:10:36,bin636,35,True -CTSPillarNetworkA,637,637,637,1971-09-30,63.700000000000635,63.6996,2015-01-01 00:10:37,bin637,75,True -CTSPillarNetworkA,638,638,638,1971-10-01,63.80000000000064,63.7996,2015-01-01 00:10:38,bin638,35,True -CTSPillarNetworkA,639,639,639,1971-10-02,63.90000000000064,63.899597,2015-01-01 00:10:39,bin639,75,True -CTSPillarNetworkA,640,640,640,1971-10-03,64.00000000000064,63.999596,2015-01-01 00:10:40,bin640,35,True -CTSPillarNetworkA,641,641,641,1971-10-04,64.10000000000063,64.099594,2015-01-01 00:10:41,bin641,75,True -CTSPillarNetworkA,642,642,642,1971-10-05,64.20000000000063,64.19959,2015-01-01 00:10:42,bin642,35,True -CTSPillarNetworkA,643,643,643,1971-10-06,64.30000000000062,64.29959,2015-01-01 00:10:43,bin643,75,True -CTSPillarNetworkA,644,644,644,1971-10-07,64.40000000000062,64.39959,2015-01-01 00:10:44,bin644,35,True -CTSPillarNetworkA,645,645,645,1971-10-08,64.50000000000061,64.49959,2015-01-01 00:10:45,bin645,75,True -CTSPillarNetworkA,646,646,646,1971-10-09,64.6000000000006,64.59959,2015-01-01 00:10:46,bin646,35,True -CTSPillarNetworkA,647,647,647,1971-10-10,64.7000000000006,64.699585,2015-01-01 00:10:47,bin647,75,True -CTSPillarNetworkA,648,648,648,1971-10-11,64.8000000000006,64.79958,2015-01-01 00:10:48,bin648,35,True -CTSPillarNetworkA,649,649,649,1971-10-12,64.90000000000059,64.89958,2015-01-01 00:10:49,bin649,75,True -CTSPillarNetworkA,650,650,650,1971-10-13,65.00000000000058,64.99958,2015-01-01 00:10:50,bin650,35,True -CTSPillarNetworkA,651,651,651,1971-10-14,65.10000000000058,65.09958,2015-01-01 00:10:51,bin651,75,True -CTSPillarNetworkA,652,652,652,1971-10-15,65.20000000000057,65.19958,2015-01-01 00:10:52,bin652,35,True -CTSPillarNetworkA,653,653,653,1971-10-16,65.30000000000057,65.299576,2015-01-01 00:10:53,bin653,75,True -CTSPillarNetworkA,654,654,654,1971-10-17,65.40000000000056,65.399574,2015-01-01 00:10:54,bin654,35,True -CTSPillarNetworkA,655,655,655,1971-10-18,65.50000000000055,65.49957,2015-01-01 00:10:55,bin655,75,True -CTSPillarNetworkA,656,656,656,1971-10-19,65.60000000000055,65.59957,2015-01-01 00:10:56,bin656,35,True -CTSPillarNetworkA,657,657,657,1971-10-20,65.70000000000054,65.69957,2015-01-01 00:10:57,bin657,75,True -CTSPillarNetworkA,658,658,658,1971-10-21,65.80000000000054,65.79957,2015-01-01 00:10:58,bin658,35,True -CTSPillarNetworkA,659,659,659,1971-10-22,65.90000000000053,65.89957,2015-01-01 00:10:59,bin659,75,True -CTSPillarNetworkA,660,660,660,1971-10-23,66.00000000000053,65.999565,2015-01-01 00:11:00,bin660,35,True -CTSPillarNetworkA,661,661,661,1971-10-24,66.10000000000052,66.09956,2015-01-01 00:11:01,bin661,75,True -CTSPillarNetworkA,662,662,662,1971-10-25,66.20000000000051,66.19956,2015-01-01 00:11:02,bin662,35,True -CTSPillarNetworkA,663,663,663,1971-10-26,66.30000000000051,66.29956,2015-01-01 00:11:03,bin663,75,True -CTSPillarNetworkA,664,664,664,1971-10-27,66.4000000000005,66.39956,2015-01-01 00:11:04,bin664,35,True -CTSPillarNetworkA,665,665,665,1971-10-28,66.5000000000005,66.49956,2015-01-01 00:11:05,bin665,75,True -CTSPillarNetworkA,666,666,666,1971-10-29,66.60000000000049,66.599556,2015-01-01 00:11:06,bin666,35,True -CTSPillarNetworkA,667,667,667,1971-10-30,66.70000000000049,66.699554,2015-01-01 00:11:07,bin667,75,True -CTSPillarNetworkA,668,668,668,1971-10-31,66.80000000000048,66.79955,2015-01-01 00:11:08,bin668,35,True -CTSPillarNetworkA,669,669,669,1971-11-01,66.90000000000047,66.89955,2015-01-01 00:11:09,bin669,75,True -CTSPillarNetworkA,670,670,670,1971-11-02,67.00000000000047,66.99955,2015-01-01 00:11:10,bin670,35,True -CTSPillarNetworkA,671,671,671,1971-11-03,67.10000000000046,67.09955,2015-01-01 00:11:11,bin671,75,True -CTSPillarNetworkA,672,672,672,1971-11-04,67.20000000000046,67.19955,2015-01-01 00:11:12,bin672,35,True -CTSPillarNetworkA,673,673,673,1971-11-05,67.30000000000045,67.299545,2015-01-01 00:11:13,bin673,75,True -CTSPillarNetworkA,674,674,674,1971-11-06,67.40000000000045,67.39954,2015-01-01 00:11:14,bin674,35,True -CTSPillarNetworkA,675,675,675,1971-11-07,67.50000000000044,67.49954,2015-01-01 00:11:15,bin675,75,True -CTSPillarNetworkA,676,676,676,1971-11-08,67.60000000000043,67.59954,2015-01-01 00:11:16,bin676,35,True -CTSPillarNetworkA,677,677,677,1971-11-09,67.70000000000043,67.69954,2015-01-01 00:11:17,bin677,75,True -CTSPillarNetworkA,678,678,678,1971-11-10,67.80000000000042,67.79954,2015-01-01 00:11:18,bin678,35,True -CTSPillarNetworkA,679,679,679,1971-11-11,67.90000000000042,67.899536,2015-01-01 00:11:19,bin679,75,True -CTSPillarNetworkA,680,680,680,1971-11-12,68.00000000000041,67.999535,2015-01-01 00:11:20,bin680,35,True -CTSPillarNetworkA,681,681,681,1971-11-13,68.1000000000004,68.09953,2015-01-01 00:11:21,bin681,75,True -CTSPillarNetworkA,682,682,682,1971-11-14,68.2000000000004,68.19953,2015-01-01 00:11:22,bin682,35,True -CTSPillarNetworkA,683,683,683,1971-11-15,68.3000000000004,68.29953,2015-01-01 00:11:23,bin683,75,True -CTSPillarNetworkA,684,684,684,1971-11-16,68.40000000000039,68.39953,2015-01-01 00:11:24,bin684,35,True -CTSPillarNetworkA,685,685,685,1971-11-17,68.50000000000038,68.49953,2015-01-01 00:11:25,bin685,75,True -CTSPillarNetworkA,686,686,686,1971-11-18,68.60000000000038,68.599525,2015-01-01 00:11:26,bin686,35,True -CTSPillarNetworkA,687,687,687,1971-11-19,68.70000000000037,68.699524,2015-01-01 00:11:27,bin687,75,True -CTSPillarNetworkA,688,688,688,1971-11-20,68.80000000000037,68.79952,2015-01-01 00:11:28,bin688,35,True -CTSPillarNetworkA,689,689,689,1971-11-21,68.90000000000036,68.89952,2015-01-01 00:11:29,bin689,75,True -CTSPillarNetworkA,690,690,690,1971-11-22,69.00000000000036,68.99952,2015-01-01 00:11:30,bin690,35,True -CTSPillarNetworkA,691,691,691,1971-11-23,69.10000000000035,69.09952,2015-01-01 00:11:31,bin691,75,True -CTSPillarNetworkA,692,692,692,1971-11-24,69.20000000000034,69.19952,2015-01-01 00:11:32,bin692,35,True -CTSPillarNetworkA,693,693,693,1971-11-25,69.30000000000034,69.299515,2015-01-01 00:11:33,bin693,75,True -CTSPillarNetworkA,694,694,694,1971-11-26,69.40000000000033,69.39951,2015-01-01 00:11:34,bin694,35,True -CTSPillarNetworkA,695,695,695,1971-11-27,69.50000000000033,69.49951,2015-01-01 00:11:35,bin695,75,True -CTSPillarNetworkA,696,696,696,1971-11-28,69.60000000000032,69.59951,2015-01-01 00:11:36,bin696,35,True -CTSPillarNetworkA,697,697,697,1971-11-29,69.70000000000032,69.69951,2015-01-01 00:11:37,bin697,75,True -CTSPillarNetworkA,698,698,698,1971-11-30,69.80000000000031,69.79951,2015-01-01 00:11:38,bin698,35,True -CTSPillarNetworkA,699,699,699,1971-12-01,69.9000000000003,69.899506,2015-01-01 00:11:39,bin699,75,True -CTSPillarNetworkA,700,700,700,1971-12-02,70.0000000000003,69.999504,2015-01-01 00:11:40,bin700,35,True -CTSPillarNetworkA,701,701,701,1971-12-03,70.10000000000029,70.0995,2015-01-01 00:11:41,bin701,75,True -CTSPillarNetworkA,702,702,702,1971-12-04,70.20000000000029,70.1995,2015-01-01 00:11:42,bin702,35,True -CTSPillarNetworkA,703,703,703,1971-12-05,70.30000000000028,70.2995,2015-01-01 00:11:43,bin703,75,True -CTSPillarNetworkA,704,704,704,1971-12-06,70.40000000000028,70.3995,2015-01-01 00:11:44,bin704,35,True -CTSPillarNetworkA,705,705,705,1971-12-07,70.50000000000027,70.4995,2015-01-01 00:11:45,bin705,75,True -CTSPillarNetworkA,706,706,706,1971-12-08,70.60000000000026,70.599495,2015-01-01 00:11:46,bin706,35,True -CTSPillarNetworkA,707,707,707,1971-12-09,70.70000000000026,70.69949,2015-01-01 00:11:47,bin707,75,True -CTSPillarNetworkA,708,708,708,1971-12-10,70.80000000000025,70.79949,2015-01-01 00:11:48,bin708,35,True -CTSPillarNetworkA,709,709,709,1971-12-11,70.90000000000025,70.89949,2015-01-01 00:11:49,bin709,75,True -CTSPillarNetworkA,710,710,710,1971-12-12,71.00000000000024,70.99949,2015-01-01 00:11:50,bin710,35,True -CTSPillarNetworkA,711,711,711,1971-12-13,71.10000000000024,71.09949,2015-01-01 00:11:51,bin711,75,True -CTSPillarNetworkA,712,712,712,1971-12-14,71.20000000000023,71.199486,2015-01-01 00:11:52,bin712,35,True -CTSPillarNetworkA,713,713,713,1971-12-15,71.30000000000022,71.299484,2015-01-01 00:11:53,bin713,75,True -CTSPillarNetworkA,714,714,714,1971-12-16,71.40000000000022,71.39948,2015-01-01 00:11:54,bin714,35,True -CTSPillarNetworkA,715,715,715,1971-12-17,71.50000000000021,71.49948,2015-01-01 00:11:55,bin715,75,True -CTSPillarNetworkA,716,716,716,1971-12-18,71.60000000000021,71.59948,2015-01-01 00:11:56,bin716,35,True -CTSPillarNetworkA,717,717,717,1971-12-19,71.7000000000002,71.69948,2015-01-01 00:11:57,bin717,75,True -CTSPillarNetworkA,718,718,718,1971-12-20,71.8000000000002,71.79948,2015-01-01 00:11:58,bin718,35,True -CTSPillarNetworkA,719,719,719,1971-12-21,71.90000000000019,71.899475,2015-01-01 00:11:59,bin719,75,True -CTSPillarNetworkA,720,720,720,1971-12-22,72.00000000000018,71.99947,2015-01-01 00:12:00,bin720,35,True -CTSPillarNetworkA,721,721,721,1971-12-23,72.10000000000018,72.09947,2015-01-01 00:12:01,bin721,75,True -CTSPillarNetworkA,722,722,722,1971-12-24,72.20000000000017,72.19947,2015-01-01 00:12:02,bin722,35,True -CTSPillarNetworkA,723,723,723,1971-12-25,72.30000000000017,72.29947,2015-01-01 00:12:03,bin723,75,True -CTSPillarNetworkA,724,724,724,1971-12-26,72.40000000000016,72.39947,2015-01-01 00:12:04,bin724,35,True -CTSPillarNetworkA,725,725,725,1971-12-27,72.50000000000016,72.499466,2015-01-01 00:12:05,bin725,75,True -CTSPillarNetworkA,726,726,726,1971-12-28,72.60000000000015,72.599464,2015-01-01 00:12:06,bin726,35,True -CTSPillarNetworkA,727,727,727,1971-12-29,72.70000000000014,72.69946,2015-01-01 00:12:07,bin727,75,True -CTSPillarNetworkA,728,728,728,1971-12-30,72.80000000000014,72.79946,2015-01-01 00:12:08,bin728,35,True -CTSPillarNetworkA,729,729,729,1971-12-31,72.90000000000013,72.89946,2015-01-01 00:12:09,bin729,75,True -CTSPillarNetworkA,730,730,730,1972-01-01,73.00000000000013,72.99946,2015-01-01 00:12:10,bin730,35,True -CTSPillarNetworkA,731,731,731,1972-01-02,73.10000000000012,73.09946,2015-01-01 00:12:11,bin731,75,True -CTSPillarNetworkA,732,732,732,1972-01-03,73.20000000000012,73.199455,2015-01-01 00:12:12,bin732,35,True -CTSPillarNetworkA,733,733,733,1972-01-04,73.30000000000011,73.29945,2015-01-01 00:12:13,bin733,75,True -CTSPillarNetworkA,734,734,734,1972-01-05,73.4000000000001,73.39945,2015-01-01 00:12:14,bin734,35,True -CTSPillarNetworkA,735,735,735,1972-01-06,73.5000000000001,73.49945,2015-01-01 00:12:15,bin735,75,True -CTSPillarNetworkA,736,736,736,1972-01-07,73.6000000000001,73.59945,2015-01-01 00:12:16,bin736,35,True -CTSPillarNetworkA,737,737,737,1972-01-08,73.70000000000009,73.69945,2015-01-01 00:12:17,bin737,75,True -CTSPillarNetworkA,738,738,738,1972-01-09,73.80000000000008,73.799446,2015-01-01 00:12:18,bin738,35,True -CTSPillarNetworkA,739,739,739,1972-01-10,73.90000000000008,73.899445,2015-01-01 00:12:19,bin739,75,True -CTSPillarNetworkA,740,740,740,1972-01-11,74.00000000000007,73.99944,2015-01-01 00:12:20,bin740,35,True -CTSPillarNetworkA,741,741,741,1972-01-12,74.10000000000007,74.09944,2015-01-01 00:12:21,bin741,75,True -CTSPillarNetworkA,742,742,742,1972-01-13,74.20000000000006,74.19944,2015-01-01 00:12:22,bin742,35,True -CTSPillarNetworkA,743,743,743,1972-01-14,74.30000000000005,74.29944,2015-01-01 00:12:23,bin743,75,True -CTSPillarNetworkA,744,744,744,1972-01-15,74.40000000000005,74.39944,2015-01-01 00:12:24,bin744,35,True -CTSPillarNetworkA,745,745,745,1972-01-16,74.50000000000004,74.499435,2015-01-01 00:12:25,bin745,75,True -CTSPillarNetworkA,746,746,746,1972-01-17,74.60000000000004,74.599434,2015-01-01 00:12:26,bin746,35,True -CTSPillarNetworkA,747,747,747,1972-01-18,74.70000000000003,74.69943,2015-01-01 00:12:27,bin747,75,True -CTSPillarNetworkA,748,748,748,1972-01-19,74.80000000000003,74.79943,2015-01-01 00:12:28,bin748,35,True -CTSPillarNetworkA,749,749,749,1972-01-20,74.90000000000002,74.89943,2015-01-01 00:12:29,bin749,75,True -CTSPillarNetworkA,750,750,750,1972-01-21,75.00000000000001,74.99943,2015-01-01 00:12:30,bin750,35,True -CTSPillarNetworkA,751,751,751,1972-01-22,75.10000000000001,75.09943,2015-01-01 00:12:31,bin751,75,True -CTSPillarNetworkA,752,752,752,1972-01-23,75.2,75.199425,2015-01-01 00:12:32,bin752,35,True -CTSPillarNetworkA,753,753,753,1972-01-24,75.3,75.29942,2015-01-01 00:12:33,bin753,75,True -CTSPillarNetworkA,754,754,754,1972-01-25,75.39999999999999,75.39942,2015-01-01 00:12:34,bin754,35,True -CTSPillarNetworkA,755,755,755,1972-01-26,75.49999999999999,75.49942,2015-01-01 00:12:35,bin755,75,True -CTSPillarNetworkA,756,756,756,1972-01-27,75.59999999999998,75.59942,2015-01-01 00:12:36,bin756,35,True -CTSPillarNetworkA,757,757,757,1972-01-28,75.69999999999997,75.69942,2015-01-01 00:12:37,bin757,75,True -CTSPillarNetworkA,758,758,758,1972-01-29,75.79999999999997,75.799416,2015-01-01 00:12:38,bin758,35,True -CTSPillarNetworkA,759,759,759,1972-01-30,75.89999999999996,75.899414,2015-01-01 00:12:39,bin759,75,True -CTSPillarNetworkA,760,760,760,1972-01-31,75.99999999999996,75.99941,2015-01-01 00:12:40,bin760,35,True -CTSPillarNetworkA,761,761,761,1972-02-01,76.09999999999995,76.09941,2015-01-01 00:12:41,bin761,75,True -CTSPillarNetworkA,762,762,762,1972-02-02,76.19999999999995,76.19941,2015-01-01 00:12:42,bin762,35,True -CTSPillarNetworkA,763,763,763,1972-02-03,76.29999999999994,76.29941,2015-01-01 00:12:43,bin763,75,True -CTSPillarNetworkA,764,764,764,1972-02-04,76.39999999999993,76.39941,2015-01-01 00:12:44,bin764,35,True -CTSPillarNetworkA,765,765,765,1972-02-05,76.49999999999993,76.499405,2015-01-01 00:12:45,bin765,75,True -CTSPillarNetworkA,766,766,766,1972-02-06,76.59999999999992,76.5994,2015-01-01 00:12:46,bin766,35,True -CTSPillarNetworkA,767,767,767,1972-02-07,76.69999999999992,76.6994,2015-01-01 00:12:47,bin767,75,True -CTSPillarNetworkA,768,768,768,1972-02-08,76.79999999999991,76.7994,2015-01-01 00:12:48,bin768,35,True -CTSPillarNetworkA,769,769,769,1972-02-09,76.8999999999999,76.8994,2015-01-01 00:12:49,bin769,75,True -CTSPillarNetworkA,770,770,770,1972-02-10,76.9999999999999,76.9994,2015-01-01 00:12:50,bin770,35,True -CTSPillarNetworkA,771,771,771,1972-02-11,77.0999999999999,77.099396,2015-01-01 00:12:51,bin771,75,True -CTSPillarNetworkA,772,772,772,1972-02-12,77.19999999999989,77.199394,2015-01-01 00:12:52,bin772,35,True -CTSPillarNetworkA,773,773,773,1972-02-13,77.29999999999988,77.29939,2015-01-01 00:12:53,bin773,75,True -CTSPillarNetworkA,774,774,774,1972-02-14,77.39999999999988,77.39939,2015-01-01 00:12:54,bin774,35,True -CTSPillarNetworkA,775,775,775,1972-02-15,77.49999999999987,77.49939,2015-01-01 00:12:55,bin775,75,True -CTSPillarNetworkA,776,776,776,1972-02-16,77.59999999999987,77.59939,2015-01-01 00:12:56,bin776,35,True -CTSPillarNetworkA,777,777,777,1972-02-17,77.69999999999986,77.69939,2015-01-01 00:12:57,bin777,75,True -CTSPillarNetworkA,778,778,778,1972-02-18,77.79999999999986,77.799385,2015-01-01 00:12:58,bin778,35,True -CTSPillarNetworkA,779,779,779,1972-02-19,77.89999999999985,77.89938,2015-01-01 00:12:59,bin779,75,True -CTSPillarNetworkA,780,780,780,1972-02-20,77.99999999999984,77.99938,2015-01-01 00:13:00,bin780,35,True -CTSPillarNetworkA,781,781,781,1972-02-21,78.09999999999984,78.09938,2015-01-01 00:13:01,bin781,75,True -CTSPillarNetworkA,782,782,782,1972-02-22,78.19999999999983,78.19938,2015-01-01 00:13:02,bin782,35,True -CTSPillarNetworkA,783,783,783,1972-02-23,78.29999999999983,78.29938,2015-01-01 00:13:03,bin783,75,True -CTSPillarNetworkA,784,784,784,1972-02-24,78.39999999999982,78.399376,2015-01-01 00:13:04,bin784,35,True -CTSPillarNetworkA,785,785,785,1972-02-25,78.49999999999982,78.499374,2015-01-01 00:13:05,bin785,75,True -CTSPillarNetworkA,786,786,786,1972-02-26,78.59999999999981,78.59937,2015-01-01 00:13:06,bin786,35,True -CTSPillarNetworkA,787,787,787,1972-02-27,78.6999999999998,78.69937,2015-01-01 00:13:07,bin787,75,True -CTSPillarNetworkA,788,788,788,1972-02-28,78.7999999999998,78.79937,2015-01-01 00:13:08,bin788,35,True -CTSPillarNetworkA,789,789,789,1972-02-29,78.89999999999979,78.89937,2015-01-01 00:13:09,bin789,75,True -CTSPillarNetworkA,790,790,790,1972-03-01,78.99999999999979,78.99937,2015-01-01 00:13:10,bin790,35,True -CTSPillarNetworkA,791,791,791,1972-03-02,79.09999999999978,79.099365,2015-01-01 00:13:11,bin791,75,True -CTSPillarNetworkA,792,792,792,1972-03-03,79.19999999999978,79.19936,2015-01-01 00:13:12,bin792,35,True -CTSPillarNetworkA,793,793,793,1972-03-04,79.29999999999977,79.29936,2015-01-01 00:13:13,bin793,75,True -CTSPillarNetworkA,794,794,794,1972-03-05,79.39999999999976,79.39936,2015-01-01 00:13:14,bin794,35,True -CTSPillarNetworkA,795,795,795,1972-03-06,79.49999999999976,79.49936,2015-01-01 00:13:15,bin795,75,True -CTSPillarNetworkA,796,796,796,1972-03-07,79.59999999999975,79.59936,2015-01-01 00:13:16,bin796,35,True -CTSPillarNetworkA,797,797,797,1972-03-08,79.69999999999975,79.699356,2015-01-01 00:13:17,bin797,75,True -CTSPillarNetworkA,798,798,798,1972-03-09,79.79999999999974,79.799355,2015-01-01 00:13:18,bin798,35,True -CTSPillarNetworkA,799,799,799,1972-03-10,79.89999999999974,79.89935,2015-01-01 00:13:19,bin799,75,True -CTSPillarNetworkA,800,800,800,1972-03-11,79.99999999999973,79.99935,2015-01-01 00:13:20,bin800,35,True -CTSPillarNetworkA,801,801,801,1972-03-12,80.09999999999972,80.09935,2015-01-01 00:13:21,bin801,75,True -CTSPillarNetworkA,802,802,802,1972-03-13,80.19999999999972,80.19935,2015-01-01 00:13:22,bin802,35,True -CTSPillarNetworkA,803,803,803,1972-03-14,80.29999999999971,80.29935,2015-01-01 00:13:23,bin803,75,True -CTSPillarNetworkA,804,804,804,1972-03-15,80.39999999999971,80.399345,2015-01-01 00:13:24,bin804,35,True -CTSPillarNetworkA,805,805,805,1972-03-16,80.4999999999997,80.499344,2015-01-01 00:13:25,bin805,75,True -CTSPillarNetworkA,806,806,806,1972-03-17,80.5999999999997,80.59934,2015-01-01 00:13:26,bin806,35,True -CTSPillarNetworkA,807,807,807,1972-03-18,80.69999999999969,80.69934,2015-01-01 00:13:27,bin807,75,True -CTSPillarNetworkA,808,808,808,1972-03-19,80.79999999999968,80.79934,2015-01-01 00:13:28,bin808,35,True -CTSPillarNetworkA,809,809,809,1972-03-20,80.89999999999968,80.89934,2015-01-01 00:13:29,bin809,75,True -CTSPillarNetworkA,810,810,810,1972-03-21,80.99999999999967,80.99934,2015-01-01 00:13:30,bin810,35,True -CTSPillarNetworkA,811,811,811,1972-03-22,81.09999999999967,81.099335,2015-01-01 00:13:31,bin811,75,True -CTSPillarNetworkA,812,812,812,1972-03-23,81.19999999999966,81.19933,2015-01-01 00:13:32,bin812,35,True -CTSPillarNetworkA,813,813,813,1972-03-24,81.29999999999966,81.29933,2015-01-01 00:13:33,bin813,75,True -CTSPillarNetworkA,814,814,814,1972-03-25,81.39999999999965,81.39933,2015-01-01 00:13:34,bin814,35,True -CTSPillarNetworkA,815,815,815,1972-03-26,81.49999999999964,81.49933,2015-01-01 00:13:35,bin815,75,True -CTSPillarNetworkA,816,816,816,1972-03-27,81.59999999999964,81.59933,2015-01-01 00:13:36,bin816,35,True -CTSPillarNetworkA,817,817,817,1972-03-28,81.69999999999963,81.699326,2015-01-01 00:13:37,bin817,75,True -CTSPillarNetworkA,818,818,818,1972-03-29,81.79999999999963,81.799324,2015-01-01 00:13:38,bin818,35,True -CTSPillarNetworkA,819,819,819,1972-03-30,81.89999999999962,81.89932,2015-01-01 00:13:39,bin819,75,True -CTSPillarNetworkA,820,820,820,1972-03-31,81.99999999999962,81.99932,2015-01-01 00:13:40,bin820,35,True -CTSPillarNetworkA,821,821,821,1972-04-01,82.09999999999961,82.09932,2015-01-01 00:13:41,bin821,75,True -CTSPillarNetworkA,822,822,822,1972-04-02,82.1999999999996,82.19932,2015-01-01 00:13:42,bin822,35,True -CTSPillarNetworkA,823,823,823,1972-04-03,82.2999999999996,82.29932,2015-01-01 00:13:43,bin823,75,True -CTSPillarNetworkA,824,824,824,1972-04-04,82.3999999999996,82.399315,2015-01-01 00:13:44,bin824,35,True -CTSPillarNetworkA,825,825,825,1972-04-05,82.49999999999959,82.49931,2015-01-01 00:13:45,bin825,75,True -CTSPillarNetworkA,826,826,826,1972-04-06,82.59999999999958,82.59931,2015-01-01 00:13:46,bin826,35,True -CTSPillarNetworkA,827,827,827,1972-04-07,82.69999999999958,82.69931,2015-01-01 00:13:47,bin827,75,True -CTSPillarNetworkA,828,828,828,1972-04-08,82.79999999999957,82.79931,2015-01-01 00:13:48,bin828,35,True -CTSPillarNetworkA,829,829,829,1972-04-09,82.89999999999957,82.89931,2015-01-01 00:13:49,bin829,75,True -CTSPillarNetworkA,830,830,830,1972-04-10,82.99999999999956,82.999306,2015-01-01 00:13:50,bin830,35,True -CTSPillarNetworkA,831,831,831,1972-04-11,83.09999999999955,83.099304,2015-01-01 00:13:51,bin831,75,True -CTSPillarNetworkA,832,832,832,1972-04-12,83.19999999999955,83.1993,2015-01-01 00:13:52,bin832,35,True -CTSPillarNetworkA,833,833,833,1972-04-13,83.29999999999954,83.2993,2015-01-01 00:13:53,bin833,75,True -CTSPillarNetworkA,834,834,834,1972-04-14,83.39999999999954,83.3993,2015-01-01 00:13:54,bin834,35,True -CTSPillarNetworkA,835,835,835,1972-04-15,83.49999999999953,83.4993,2015-01-01 00:13:55,bin835,75,True -CTSPillarNetworkA,836,836,836,1972-04-16,83.59999999999953,83.5993,2015-01-01 00:13:56,bin836,35,True -CTSPillarNetworkA,837,837,837,1972-04-17,83.69999999999952,83.699295,2015-01-01 00:13:57,bin837,75,True -CTSPillarNetworkA,838,838,838,1972-04-18,83.79999999999951,83.79929,2015-01-01 00:13:58,bin838,35,True -CTSPillarNetworkA,839,839,839,1972-04-19,83.89999999999951,83.89929,2015-01-01 00:13:59,bin839,75,True -CTSPillarNetworkA,840,840,840,1972-04-20,83.9999999999995,83.99929,2015-01-01 00:14:00,bin840,35,True -CTSPillarNetworkA,841,841,841,1972-04-21,84.0999999999995,84.09929,2015-01-01 00:14:01,bin841,75,True -CTSPillarNetworkA,842,842,842,1972-04-22,84.19999999999949,84.19929,2015-01-01 00:14:02,bin842,35,True -CTSPillarNetworkA,843,843,843,1972-04-23,84.29999999999949,84.299286,2015-01-01 00:14:03,bin843,75,True -CTSPillarNetworkA,844,844,844,1972-04-24,84.39999999999948,84.399284,2015-01-01 00:14:04,bin844,35,True -CTSPillarNetworkA,845,845,845,1972-04-25,84.49999999999947,84.49928,2015-01-01 00:14:05,bin845,75,True -CTSPillarNetworkA,846,846,846,1972-04-26,84.59999999999947,84.59928,2015-01-01 00:14:06,bin846,35,True -CTSPillarNetworkA,847,847,847,1972-04-27,84.69999999999946,84.69928,2015-01-01 00:14:07,bin847,75,True -CTSPillarNetworkA,848,848,848,1972-04-28,84.79999999999946,84.79928,2015-01-01 00:14:08,bin848,35,True -CTSPillarNetworkA,849,849,849,1972-04-29,84.89999999999945,84.89928,2015-01-01 00:14:09,bin849,75,True -CTSPillarNetworkA,850,850,850,1972-04-30,84.99999999999945,84.999275,2015-01-01 00:14:10,bin850,35,True -CTSPillarNetworkA,851,851,851,1972-05-01,85.09999999999944,85.09927,2015-01-01 00:14:11,bin851,75,True -CTSPillarNetworkA,852,852,852,1972-05-02,85.19999999999943,85.19927,2015-01-01 00:14:12,bin852,35,True -CTSPillarNetworkA,853,853,853,1972-05-03,85.29999999999943,85.29927,2015-01-01 00:14:13,bin853,75,True -CTSPillarNetworkA,854,854,854,1972-05-04,85.39999999999942,85.39927,2015-01-01 00:14:14,bin854,35,True -CTSPillarNetworkA,855,855,855,1972-05-05,85.49999999999942,85.49927,2015-01-01 00:14:15,bin855,75,True -CTSPillarNetworkA,856,856,856,1972-05-06,85.59999999999941,85.599266,2015-01-01 00:14:16,bin856,35,True -CTSPillarNetworkA,857,857,857,1972-05-07,85.6999999999994,85.699265,2015-01-01 00:14:17,bin857,75,True -CTSPillarNetworkA,858,858,858,1972-05-08,85.7999999999994,85.79926,2015-01-01 00:14:18,bin858,35,True -CTSPillarNetworkA,859,859,859,1972-05-09,85.8999999999994,85.89926,2015-01-01 00:14:19,bin859,75,True -CTSPillarNetworkA,860,860,860,1972-05-10,85.99999999999939,85.99926,2015-01-01 00:14:20,bin860,35,True -CTSPillarNetworkA,861,861,861,1972-05-11,86.09999999999938,86.09926,2015-01-01 00:14:21,bin861,75,True -CTSPillarNetworkA,862,862,862,1972-05-12,86.19999999999938,86.19926,2015-01-01 00:14:22,bin862,35,True -CTSPillarNetworkA,863,863,863,1972-05-13,86.29999999999937,86.299255,2015-01-01 00:14:23,bin863,75,True -CTSPillarNetworkA,864,864,864,1972-05-14,86.39999999999937,86.399254,2015-01-01 00:14:24,bin864,35,True -CTSPillarNetworkA,865,865,865,1972-05-15,86.49999999999936,86.49925,2015-01-01 00:14:25,bin865,75,True -CTSPillarNetworkA,866,866,866,1972-05-16,86.59999999999935,86.59925,2015-01-01 00:14:26,bin866,35,True -CTSPillarNetworkA,867,867,867,1972-05-17,86.69999999999935,86.69925,2015-01-01 00:14:27,bin867,75,True -CTSPillarNetworkA,868,868,868,1972-05-18,86.79999999999934,86.79925,2015-01-01 00:14:28,bin868,35,True -CTSPillarNetworkA,869,869,869,1972-05-19,86.89999999999934,86.89925,2015-01-01 00:14:29,bin869,75,True -CTSPillarNetworkA,870,870,870,1972-05-20,86.99999999999933,86.999245,2015-01-01 00:14:30,bin870,35,True -CTSPillarNetworkA,871,871,871,1972-05-21,87.09999999999933,87.09924,2015-01-01 00:14:31,bin871,75,True -CTSPillarNetworkA,872,872,872,1972-05-22,87.19999999999932,87.19924,2015-01-01 00:14:32,bin872,35,True -CTSPillarNetworkA,873,873,873,1972-05-23,87.29999999999932,87.29924,2015-01-01 00:14:33,bin873,75,True -CTSPillarNetworkA,874,874,874,1972-05-24,87.39999999999931,87.39924,2015-01-01 00:14:34,bin874,35,True -CTSPillarNetworkA,875,875,875,1972-05-25,87.4999999999993,87.49924,2015-01-01 00:14:35,bin875,75,True -CTSPillarNetworkA,876,876,876,1972-05-26,87.5999999999993,87.599236,2015-01-01 00:14:36,bin876,35,True -CTSPillarNetworkA,877,877,877,1972-05-27,87.69999999999929,87.699234,2015-01-01 00:14:37,bin877,75,True -CTSPillarNetworkA,878,878,878,1972-05-28,87.79999999999929,87.79923,2015-01-01 00:14:38,bin878,35,True -CTSPillarNetworkA,879,879,879,1972-05-29,87.89999999999928,87.89923,2015-01-01 00:14:39,bin879,75,True -CTSPillarNetworkA,880,880,880,1972-05-30,87.99999999999928,87.99923,2015-01-01 00:14:40,bin880,35,True -CTSPillarNetworkA,881,881,881,1972-05-31,88.09999999999927,88.09923,2015-01-01 00:14:41,bin881,75,True -CTSPillarNetworkA,882,882,882,1972-06-01,88.19999999999926,88.19923,2015-01-01 00:14:42,bin882,35,True -CTSPillarNetworkA,883,883,883,1972-06-02,88.29999999999926,88.299225,2015-01-01 00:14:43,bin883,75,True -CTSPillarNetworkA,884,884,884,1972-06-03,88.39999999999925,88.39922,2015-01-01 00:14:44,bin884,35,True -CTSPillarNetworkA,885,885,885,1972-06-04,88.49999999999925,88.49922,2015-01-01 00:14:45,bin885,75,True -CTSPillarNetworkA,886,886,886,1972-06-05,88.59999999999924,88.59922,2015-01-01 00:14:46,bin886,35,True -CTSPillarNetworkA,887,887,887,1972-06-06,88.69999999999924,88.69922,2015-01-01 00:14:47,bin887,75,True -CTSPillarNetworkA,888,888,888,1972-06-07,88.79999999999923,88.79922,2015-01-01 00:14:48,bin888,35,True -CTSPillarNetworkA,889,889,889,1972-06-08,88.89999999999922,88.899216,2015-01-01 00:14:49,bin889,75,True -CTSPillarNetworkA,890,890,890,1972-06-09,88.99999999999922,88.999214,2015-01-01 00:14:50,bin890,35,True -CTSPillarNetworkA,891,891,891,1972-06-10,89.09999999999921,89.09921,2015-01-01 00:14:51,bin891,75,True -CTSPillarNetworkA,892,892,892,1972-06-11,89.1999999999992,89.19921,2015-01-01 00:14:52,bin892,35,True -CTSPillarNetworkA,893,893,893,1972-06-12,89.2999999999992,89.29921,2015-01-01 00:14:53,bin893,75,True -CTSPillarNetworkA,894,894,894,1972-06-13,89.3999999999992,89.39921,2015-01-01 00:14:54,bin894,35,True -CTSPillarNetworkA,895,895,895,1972-06-14,89.49999999999919,89.49921,2015-01-01 00:14:55,bin895,75,True -CTSPillarNetworkA,896,896,896,1972-06-15,89.59999999999918,89.599205,2015-01-01 00:14:56,bin896,35,True -CTSPillarNetworkA,897,897,897,1972-06-16,89.69999999999918,89.6992,2015-01-01 00:14:57,bin897,75,True -CTSPillarNetworkA,898,898,898,1972-06-17,89.79999999999917,89.7992,2015-01-01 00:14:58,bin898,35,True -CTSPillarNetworkA,899,899,899,1972-06-18,89.89999999999917,89.8992,2015-01-01 00:14:59,bin899,75,True -CTSPillarNetworkA,900,900,900,1972-06-19,89.99999999999916,89.9992,2015-01-01 00:15:00,bin900,35,True -CTSPillarNetworkA,901,901,901,1972-06-20,90.09999999999916,90.0992,2015-01-01 00:15:01,bin901,75,True -CTSPillarNetworkA,902,902,902,1972-06-21,90.19999999999915,90.199196,2015-01-01 00:15:02,bin902,35,True -CTSPillarNetworkA,903,903,903,1972-06-22,90.29999999999914,90.299194,2015-01-01 00:15:03,bin903,75,True -CTSPillarNetworkA,904,904,904,1972-06-23,90.39999999999914,90.39919,2015-01-01 00:15:04,bin904,35,True -CTSPillarNetworkA,905,905,905,1972-06-24,90.49999999999913,90.49919,2015-01-01 00:15:05,bin905,75,True -CTSPillarNetworkA,906,906,906,1972-06-25,90.59999999999913,90.59919,2015-01-01 00:15:06,bin906,35,True -CTSPillarNetworkA,907,907,907,1972-06-26,90.69999999999912,90.69919,2015-01-01 00:15:07,bin907,75,True -CTSPillarNetworkA,908,908,908,1972-06-27,90.79999999999912,90.79919,2015-01-01 00:15:08,bin908,35,True -CTSPillarNetworkA,909,909,909,1972-06-28,90.89999999999911,90.899185,2015-01-01 00:15:09,bin909,75,True -CTSPillarNetworkA,910,910,910,1972-06-29,90.9999999999991,90.99918,2015-01-01 00:15:10,bin910,35,True -CTSPillarNetworkA,911,911,911,1972-06-30,91.0999999999991,91.09918,2015-01-01 00:15:11,bin911,75,True -CTSPillarNetworkA,912,912,912,1972-07-01,91.1999999999991,91.19918,2015-01-01 00:15:12,bin912,35,True -CTSPillarNetworkA,913,913,913,1972-07-02,91.29999999999909,91.29918,2015-01-01 00:15:13,bin913,75,True -CTSPillarNetworkA,914,914,914,1972-07-03,91.39999999999908,91.39918,2015-01-01 00:15:14,bin914,35,True -CTSPillarNetworkA,915,915,915,1972-07-04,91.49999999999908,91.499176,2015-01-01 00:15:15,bin915,75,True -CTSPillarNetworkA,916,916,916,1972-07-05,91.59999999999907,91.599174,2015-01-01 00:15:16,bin916,35,True -CTSPillarNetworkA,917,917,917,1972-07-06,91.69999999999906,91.69917,2015-01-01 00:15:17,bin917,75,True -CTSPillarNetworkA,918,918,918,1972-07-07,91.79999999999906,91.79917,2015-01-01 00:15:18,bin918,35,True -CTSPillarNetworkA,919,919,919,1972-07-08,91.89999999999905,91.89917,2015-01-01 00:15:19,bin919,75,True -CTSPillarNetworkA,920,920,920,1972-07-09,91.99999999999905,91.99917,2015-01-01 00:15:20,bin920,35,True -CTSPillarNetworkA,921,921,921,1972-07-10,92.09999999999904,92.09917,2015-01-01 00:15:21,bin921,75,True -CTSPillarNetworkA,922,922,922,1972-07-11,92.19999999999904,92.199165,2015-01-01 00:15:22,bin922,35,True -CTSPillarNetworkA,923,923,923,1972-07-12,92.29999999999903,92.299164,2015-01-01 00:15:23,bin923,75,True -CTSPillarNetworkA,924,924,924,1972-07-13,92.39999999999903,92.39916,2015-01-01 00:15:24,bin924,35,True -CTSPillarNetworkA,925,925,925,1972-07-14,92.49999999999902,92.49916,2015-01-01 00:15:25,bin925,75,True -CTSPillarNetworkA,926,926,926,1972-07-15,92.59999999999901,92.59916,2015-01-01 00:15:26,bin926,35,True -CTSPillarNetworkA,927,927,927,1972-07-16,92.69999999999901,92.69916,2015-01-01 00:15:27,bin927,75,True -CTSPillarNetworkA,928,928,928,1972-07-17,92.799999999999,92.79916,2015-01-01 00:15:28,bin928,35,True -CTSPillarNetworkA,929,929,929,1972-07-18,92.899999999999,92.899155,2015-01-01 00:15:29,bin929,75,True -CTSPillarNetworkA,930,930,930,1972-07-19,92.99999999999899,92.99915,2015-01-01 00:15:30,bin930,35,True -CTSPillarNetworkA,931,931,931,1972-07-20,93.09999999999899,93.09915,2015-01-01 00:15:31,bin931,75,True -CTSPillarNetworkA,932,932,932,1972-07-21,93.19999999999898,93.19915,2015-01-01 00:15:32,bin932,35,True -CTSPillarNetworkA,933,933,933,1972-07-22,93.29999999999897,93.29915,2015-01-01 00:15:33,bin933,75,True -CTSPillarNetworkA,934,934,934,1972-07-23,93.39999999999897,93.39915,2015-01-01 00:15:34,bin934,35,True -CTSPillarNetworkA,935,935,935,1972-07-24,93.49999999999896,93.499146,2015-01-01 00:15:35,bin935,75,True -CTSPillarNetworkA,936,936,936,1972-07-25,93.59999999999896,93.599144,2015-01-01 00:15:36,bin936,35,True -CTSPillarNetworkA,937,937,937,1972-07-26,93.69999999999895,93.69914,2015-01-01 00:15:37,bin937,75,True -CTSPillarNetworkA,938,938,938,1972-07-27,93.79999999999895,93.79914,2015-01-01 00:15:38,bin938,35,True -CTSPillarNetworkA,939,939,939,1972-07-28,93.89999999999894,93.89914,2015-01-01 00:15:39,bin939,75,True -CTSPillarNetworkA,940,940,940,1972-07-29,93.99999999999893,93.99914,2015-01-01 00:15:40,bin940,35,True -CTSPillarNetworkA,941,941,941,1972-07-30,94.09999999999893,94.09914,2015-01-01 00:15:41,bin941,75,True -CTSPillarNetworkA,942,942,942,1972-07-31,94.19999999999892,94.199135,2015-01-01 00:15:42,bin942,35,True -CTSPillarNetworkA,943,943,943,1972-08-01,94.29999999999892,94.29913,2015-01-01 00:15:43,bin943,75,True -CTSPillarNetworkA,944,944,944,1972-08-02,94.39999999999891,94.39913,2015-01-01 00:15:44,bin944,35,True -CTSPillarNetworkA,945,945,945,1972-08-03,94.4999999999989,94.49913,2015-01-01 00:15:45,bin945,75,True -CTSPillarNetworkA,946,946,946,1972-08-04,94.5999999999989,94.59913,2015-01-01 00:15:46,bin946,35,True -CTSPillarNetworkA,947,947,947,1972-08-05,94.6999999999989,94.69913,2015-01-01 00:15:47,bin947,75,True -CTSPillarNetworkA,948,948,948,1972-08-06,94.79999999999889,94.799126,2015-01-01 00:15:48,bin948,35,True -CTSPillarNetworkA,949,949,949,1972-08-07,94.89999999999888,94.899124,2015-01-01 00:15:49,bin949,75,True -CTSPillarNetworkA,950,950,950,1972-08-08,94.99999999999888,94.99912,2015-01-01 00:15:50,bin950,35,True -CTSPillarNetworkA,951,951,951,1972-08-09,95.09999999999887,95.09912,2015-01-01 00:15:51,bin951,75,True -CTSPillarNetworkA,952,952,952,1972-08-10,95.19999999999887,95.19912,2015-01-01 00:15:52,bin952,35,True -CTSPillarNetworkA,953,953,953,1972-08-11,95.29999999999886,95.29912,2015-01-01 00:15:53,bin953,75,True -CTSPillarNetworkA,954,954,954,1972-08-12,95.39999999999885,95.39912,2015-01-01 00:15:54,bin954,35,True -CTSPillarNetworkA,955,955,955,1972-08-13,95.49999999999885,95.499115,2015-01-01 00:15:55,bin955,75,True -CTSPillarNetworkA,956,956,956,1972-08-14,95.59999999999884,95.59911,2015-01-01 00:15:56,bin956,35,True -CTSPillarNetworkA,957,957,957,1972-08-15,95.69999999999884,95.69911,2015-01-01 00:15:57,bin957,75,True -CTSPillarNetworkA,958,958,958,1972-08-16,95.79999999999883,95.79911,2015-01-01 00:15:58,bin958,35,True -CTSPillarNetworkA,959,959,959,1972-08-17,95.89999999999883,95.89911,2015-01-01 00:15:59,bin959,75,True -CTSPillarNetworkA,960,960,960,1972-08-18,95.99999999999882,95.99911,2015-01-01 00:16:00,bin960,35,True -CTSPillarNetworkA,961,961,961,1972-08-19,96.09999999999881,96.099106,2015-01-01 00:16:01,bin961,75,True -CTSPillarNetworkA,962,962,962,1972-08-20,96.19999999999881,96.199104,2015-01-01 00:16:02,bin962,35,True -CTSPillarNetworkA,963,963,963,1972-08-21,96.2999999999988,96.2991,2015-01-01 00:16:03,bin963,75,True -CTSPillarNetworkA,964,964,964,1972-08-22,96.3999999999988,96.3991,2015-01-01 00:16:04,bin964,35,True -CTSPillarNetworkA,965,965,965,1972-08-23,96.49999999999879,96.4991,2015-01-01 00:16:05,bin965,75,True -CTSPillarNetworkA,966,966,966,1972-08-24,96.59999999999879,96.5991,2015-01-01 00:16:06,bin966,35,True -CTSPillarNetworkA,967,967,967,1972-08-25,96.69999999999878,96.6991,2015-01-01 00:16:07,bin967,75,True -CTSPillarNetworkA,968,968,968,1972-08-26,96.79999999999878,96.799095,2015-01-01 00:16:08,bin968,35,True -CTSPillarNetworkA,969,969,969,1972-08-27,96.89999999999877,96.89909,2015-01-01 00:16:09,bin969,75,True -CTSPillarNetworkA,970,970,970,1972-08-28,96.99999999999876,96.99909,2015-01-01 00:16:10,bin970,35,True -CTSPillarNetworkA,971,971,971,1972-08-29,97.09999999999876,97.09909,2015-01-01 00:16:11,bin971,75,True -CTSPillarNetworkA,972,972,972,1972-08-30,97.19999999999875,97.19909,2015-01-01 00:16:12,bin972,35,True -CTSPillarNetworkA,973,973,973,1972-08-31,97.29999999999875,97.29909,2015-01-01 00:16:13,bin973,75,True -CTSPillarNetworkA,974,974,974,1972-09-01,97.39999999999874,97.399086,2015-01-01 00:16:14,bin974,35,True -CTSPillarNetworkA,975,975,975,1972-09-02,97.49999999999874,97.499084,2015-01-01 00:16:15,bin975,75,True -CTSPillarNetworkA,976,976,976,1972-09-03,97.59999999999873,97.59908,2015-01-01 00:16:16,bin976,35,True -CTSPillarNetworkA,977,977,977,1972-09-04,97.69999999999872,97.69908,2015-01-01 00:16:17,bin977,75,True -CTSPillarNetworkA,978,978,978,1972-09-05,97.79999999999872,97.79908,2015-01-01 00:16:18,bin978,35,True -CTSPillarNetworkA,979,979,979,1972-09-06,97.89999999999871,97.89908,2015-01-01 00:16:19,bin979,75,True -CTSPillarNetworkA,980,980,980,1972-09-07,97.9999999999987,97.99908,2015-01-01 00:16:20,bin980,35,True -CTSPillarNetworkA,981,981,981,1972-09-08,98.0999999999987,98.099075,2015-01-01 00:16:21,bin981,75,True -CTSPillarNetworkA,982,982,982,1972-09-09,98.1999999999987,98.19907,2015-01-01 00:16:22,bin982,35,True -CTSPillarNetworkA,983,983,983,1972-09-10,98.29999999999869,98.29907,2015-01-01 00:16:23,bin983,75,True -CTSPillarNetworkA,984,984,984,1972-09-11,98.39999999999868,98.39907,2015-01-01 00:16:24,bin984,35,True -CTSPillarNetworkA,985,985,985,1972-09-12,98.49999999999868,98.49907,2015-01-01 00:16:25,bin985,75,True -CTSPillarNetworkA,986,986,986,1972-09-13,98.59999999999867,98.59907,2015-01-01 00:16:26,bin986,35,True -CTSPillarNetworkA,987,987,987,1972-09-14,98.69999999999867,98.699066,2015-01-01 00:16:27,bin987,75,True -CTSPillarNetworkA,988,988,988,1972-09-15,98.79999999999866,98.799065,2015-01-01 00:16:28,bin988,35,True -CTSPillarNetworkA,989,989,989,1972-09-16,98.89999999999866,98.89906,2015-01-01 00:16:29,bin989,75,True -CTSPillarNetworkA,990,990,990,1972-09-17,98.99999999999865,98.99906,2015-01-01 00:16:30,bin990,35,True -CTSPillarNetworkA,991,991,991,1972-09-18,99.09999999999864,99.09906,2015-01-01 00:16:31,bin991,75,True -CTSPillarNetworkA,992,992,992,1972-09-19,99.19999999999864,99.19906,2015-01-01 00:16:32,bin992,35,True -CTSPillarNetworkA,993,993,993,1972-09-20,99.29999999999863,99.29906,2015-01-01 00:16:33,bin993,75,True -CTSPillarNetworkA,994,994,994,1972-09-21,99.39999999999863,99.399055,2015-01-01 00:16:34,bin994,35,True -CTSPillarNetworkA,995,995,995,1972-09-22,99.49999999999862,99.499054,2015-01-01 00:16:35,bin995,75,True -CTSPillarNetworkA,996,996,996,1972-09-23,99.59999999999862,99.59905,2015-01-01 00:16:36,bin996,35,True -CTSPillarNetworkA,997,997,997,1972-09-24,99.69999999999861,99.69905,2015-01-01 00:16:37,bin997,75,True -CTSPillarNetworkA,998,998,998,1972-09-25,99.7999999999986,99.79905,2015-01-01 00:16:38,bin998,35,True -CTSPillarNetworkA,999,999,999,1972-09-26,99.8999999999986,99.89905,2015-01-01 00:16:39,bin999,75,True -CTSPillarNetworkA,1000,1000,1000,1972-09-27,99.9999999999986,99.99905,2015-01-01 00:16:40,bin1000,35,True -CTSPillarNetworkA,1001,1001,1001,1972-09-28,100.09999999999859,100.099045,2015-01-01 00:16:41,bin1001,75,True -CTSPillarNetworkA,1002,1002,1002,1972-09-29,100.19999999999858,100.19904,2015-01-01 00:16:42,bin1002,35,True -CTSPillarNetworkA,1003,1003,1003,1972-09-30,100.29999999999858,100.29904,2015-01-01 00:16:43,bin1003,75,True -CTSPillarNetworkA,1004,1004,1004,1972-10-01,100.39999999999857,100.39904,2015-01-01 00:16:44,bin1004,35,True -CTSPillarNetworkA,1005,1005,1005,1972-10-02,100.49999999999856,100.49904,2015-01-01 00:16:45,bin1005,75,True -CTSPillarNetworkA,1006,1006,1006,1972-10-03,100.59999999999856,100.59904,2015-01-01 00:16:46,bin1006,35,True -CTSPillarNetworkA,1007,1007,1007,1972-10-04,100.69999999999855,100.699036,2015-01-01 00:16:47,bin1007,75,True -CTSPillarNetworkA,1008,1008,1008,1972-10-05,100.79999999999855,100.799034,2015-01-01 00:16:48,bin1008,35,True -CTSPillarNetworkA,1009,1009,1009,1972-10-06,100.89999999999854,100.89903,2015-01-01 00:16:49,bin1009,75,True -CTSPillarNetworkA,1010,1010,1010,1972-10-07,100.99999999999854,100.99903,2015-01-01 00:16:50,bin1010,35,True -CTSPillarNetworkA,1011,1011,1011,1972-10-08,101.09999999999853,101.09903,2015-01-01 00:16:51,bin1011,75,True -CTSPillarNetworkA,1012,1012,1012,1972-10-09,101.19999999999852,101.19903,2015-01-01 00:16:52,bin1012,35,True -CTSPillarNetworkA,1013,1013,1013,1972-10-10,101.29999999999852,101.29903,2015-01-01 00:16:53,bin1013,75,True -CTSPillarNetworkA,1014,1014,1014,1972-10-11,101.39999999999851,101.399025,2015-01-01 00:16:54,bin1014,35,True -CTSPillarNetworkA,1015,1015,1015,1972-10-12,101.49999999999851,101.49902,2015-01-01 00:16:55,bin1015,75,True -CTSPillarNetworkA,1016,1016,1016,1972-10-13,101.5999999999985,101.59902,2015-01-01 00:16:56,bin1016,35,True -CTSPillarNetworkA,1017,1017,1017,1972-10-14,101.6999999999985,101.69902,2015-01-01 00:16:57,bin1017,75,True -CTSPillarNetworkA,1018,1018,1018,1972-10-15,101.79999999999849,101.79902,2015-01-01 00:16:58,bin1018,35,True -CTSPillarNetworkA,1019,1019,1019,1972-10-16,101.89999999999849,101.89902,2015-01-01 00:16:59,bin1019,75,True -CTSPillarNetworkA,1020,1020,1020,1972-10-17,101.99999999999848,101.999016,2015-01-01 00:17:00,bin1020,35,True -CTSPillarNetworkA,1021,1021,1021,1972-10-18,102.09999999999847,102.099014,2015-01-01 00:17:01,bin1021,75,True -CTSPillarNetworkA,1022,1022,1022,1972-10-19,102.19999999999847,102.19901,2015-01-01 00:17:02,bin1022,35,True -CTSPillarNetworkA,1023,1023,1023,1972-10-20,102.29999999999846,102.29901,2015-01-01 00:17:03,bin1023,75,True -CTSPillarNetworkA,1024,1024,1024,1972-10-21,102.39999999999846,102.39901,2015-01-01 00:17:04,bin1024,35,True -CTSPillarNetworkA,1025,1025,1025,1972-10-22,102.49999999999845,102.49901,2015-01-01 00:17:05,bin1025,75,True -CTSPillarNetworkA,1026,1026,1026,1972-10-23,102.59999999999845,102.59901,2015-01-01 00:17:06,bin1026,35,True -CTSPillarNetworkA,1027,1027,1027,1972-10-24,102.69999999999844,102.699005,2015-01-01 00:17:07,bin1027,75,True -CTSPillarNetworkA,1028,1028,1028,1972-10-25,102.79999999999843,102.799,2015-01-01 00:17:08,bin1028,35,True -CTSPillarNetworkA,1029,1029,1029,1972-10-26,102.89999999999843,102.899,2015-01-01 00:17:09,bin1029,75,True -CTSPillarNetworkA,1030,1030,1030,1972-10-27,102.99999999999842,102.999,2015-01-01 00:17:10,bin1030,35,True -CTSPillarNetworkA,1031,1031,1031,1972-10-28,103.09999999999842,103.099,2015-01-01 00:17:11,bin1031,75,True -CTSPillarNetworkA,1032,1032,1032,1972-10-29,103.19999999999841,103.199,2015-01-01 00:17:12,bin1032,35,True -CTSPillarNetworkA,1033,1033,1033,1972-10-30,103.2999999999984,103.298996,2015-01-01 00:17:13,bin1033,75,True -CTSPillarNetworkA,1034,1034,1034,1972-10-31,103.3999999999984,103.398994,2015-01-01 00:17:14,bin1034,35,True -CTSPillarNetworkA,1035,1035,1035,1972-11-01,103.4999999999984,103.49899,2015-01-01 00:17:15,bin1035,75,True -CTSPillarNetworkA,1036,1036,1036,1972-11-02,103.59999999999839,103.59899,2015-01-01 00:17:16,bin1036,35,True -CTSPillarNetworkA,1037,1037,1037,1972-11-03,103.69999999999838,103.69899,2015-01-01 00:17:17,bin1037,75,True -CTSPillarNetworkA,1038,1038,1038,1972-11-04,103.79999999999838,103.79899,2015-01-01 00:17:18,bin1038,35,True -CTSPillarNetworkA,1039,1039,1039,1972-11-05,103.89999999999837,103.89899,2015-01-01 00:17:19,bin1039,75,True -CTSPillarNetworkA,1040,1040,1040,1972-11-06,103.99999999999837,103.998985,2015-01-01 00:17:20,bin1040,35,True -CTSPillarNetworkA,1041,1041,1041,1972-11-07,104.09999999999836,104.09898,2015-01-01 00:17:21,bin1041,75,True -CTSPillarNetworkA,1042,1042,1042,1972-11-08,104.19999999999835,104.19898,2015-01-01 00:17:22,bin1042,35,True -CTSPillarNetworkA,1043,1043,1043,1972-11-09,104.29999999999835,104.29898,2015-01-01 00:17:23,bin1043,75,True -CTSPillarNetworkA,1044,1044,1044,1972-11-10,104.39999999999834,104.39898,2015-01-01 00:17:24,bin1044,35,True -CTSPillarNetworkA,1045,1045,1045,1972-11-11,104.49999999999834,104.49898,2015-01-01 00:17:25,bin1045,75,True -CTSPillarNetworkA,1046,1046,1046,1972-11-12,104.59999999999833,104.598976,2015-01-01 00:17:26,bin1046,35,True -CTSPillarNetworkA,1047,1047,1047,1972-11-13,104.69999999999833,104.698975,2015-01-01 00:17:27,bin1047,75,True -CTSPillarNetworkA,1048,1048,1048,1972-11-14,104.79999999999832,104.79897,2015-01-01 00:17:28,bin1048,35,True -CTSPillarNetworkA,1049,1049,1049,1972-11-15,104.89999999999831,104.89897,2015-01-01 00:17:29,bin1049,75,True -CTSPillarNetworkA,1050,1050,1050,1972-11-16,104.99999999999831,104.99897,2015-01-01 00:17:30,bin1050,35,True -CTSPillarNetworkA,1051,1051,1051,1972-11-17,105.0999999999983,105.09897,2015-01-01 00:17:31,bin1051,75,True -CTSPillarNetworkA,1052,1052,1052,1972-11-18,105.1999999999983,105.19897,2015-01-01 00:17:32,bin1052,35,True -CTSPillarNetworkA,1053,1053,1053,1972-11-19,105.29999999999829,105.298965,2015-01-01 00:17:33,bin1053,75,True -CTSPillarNetworkA,1054,1054,1054,1972-11-20,105.39999999999829,105.398964,2015-01-01 00:17:34,bin1054,35,True -CTSPillarNetworkA,1055,1055,1055,1972-11-21,105.49999999999828,105.49896,2015-01-01 00:17:35,bin1055,75,True -CTSPillarNetworkA,1056,1056,1056,1972-11-22,105.59999999999827,105.59896,2015-01-01 00:17:36,bin1056,35,True -CTSPillarNetworkA,1057,1057,1057,1972-11-23,105.69999999999827,105.69896,2015-01-01 00:17:37,bin1057,75,True -CTSPillarNetworkA,1058,1058,1058,1972-11-24,105.79999999999826,105.79896,2015-01-01 00:17:38,bin1058,35,True -CTSPillarNetworkA,1059,1059,1059,1972-11-25,105.89999999999826,105.89896,2015-01-01 00:17:39,bin1059,75,True -CTSPillarNetworkA,1060,1060,1060,1972-11-26,105.99999999999825,105.998955,2015-01-01 00:17:40,bin1060,35,True -CTSPillarNetworkA,1061,1061,1061,1972-11-27,106.09999999999825,106.09895,2015-01-01 00:17:41,bin1061,75,True -CTSPillarNetworkA,1062,1062,1062,1972-11-28,106.19999999999824,106.19895,2015-01-01 00:17:42,bin1062,35,True -CTSPillarNetworkA,1063,1063,1063,1972-11-29,106.29999999999824,106.29895,2015-01-01 00:17:43,bin1063,75,True -CTSPillarNetworkA,1064,1064,1064,1972-11-30,106.39999999999823,106.39895,2015-01-01 00:17:44,bin1064,35,True -CTSPillarNetworkA,1065,1065,1065,1972-12-01,106.49999999999822,106.49895,2015-01-01 00:17:45,bin1065,75,True -CTSPillarNetworkA,1066,1066,1066,1972-12-02,106.59999999999822,106.598946,2015-01-01 00:17:46,bin1066,35,True -CTSPillarNetworkA,1067,1067,1067,1972-12-03,106.69999999999821,106.698944,2015-01-01 00:17:47,bin1067,75,True -CTSPillarNetworkA,1068,1068,1068,1972-12-04,106.7999999999982,106.79894,2015-01-01 00:17:48,bin1068,35,True -CTSPillarNetworkA,1069,1069,1069,1972-12-05,106.8999999999982,106.89894,2015-01-01 00:17:49,bin1069,75,True -CTSPillarNetworkA,1070,1070,1070,1972-12-06,106.9999999999982,106.99894,2015-01-01 00:17:50,bin1070,35,True -CTSPillarNetworkA,1071,1071,1071,1972-12-07,107.09999999999819,107.09894,2015-01-01 00:17:51,bin1071,75,True -CTSPillarNetworkA,1072,1072,1072,1972-12-08,107.19999999999818,107.19894,2015-01-01 00:17:52,bin1072,35,True -CTSPillarNetworkA,1073,1073,1073,1972-12-09,107.29999999999818,107.298935,2015-01-01 00:17:53,bin1073,75,True -CTSPillarNetworkA,1074,1074,1074,1972-12-10,107.39999999999817,107.39893,2015-01-01 00:17:54,bin1074,35,True -CTSPillarNetworkA,1075,1075,1075,1972-12-11,107.49999999999817,107.49893,2015-01-01 00:17:55,bin1075,75,True -CTSPillarNetworkA,1076,1076,1076,1972-12-12,107.59999999999816,107.59893,2015-01-01 00:17:56,bin1076,35,True -CTSPillarNetworkA,1077,1077,1077,1972-12-13,107.69999999999816,107.69893,2015-01-01 00:17:57,bin1077,75,True -CTSPillarNetworkA,1078,1078,1078,1972-12-14,107.79999999999815,107.79893,2015-01-01 00:17:58,bin1078,35,True -CTSPillarNetworkA,1079,1079,1079,1972-12-15,107.89999999999814,107.898926,2015-01-01 00:17:59,bin1079,75,True -CTSPillarNetworkA,1080,1080,1080,1972-12-16,107.99999999999814,107.998924,2015-01-01 00:18:00,bin1080,35,True -CTSPillarNetworkA,1081,1081,1081,1972-12-17,108.09999999999813,108.09892,2015-01-01 00:18:01,bin1081,75,True -CTSPillarNetworkA,1082,1082,1082,1972-12-18,108.19999999999813,108.19892,2015-01-01 00:18:02,bin1082,35,True -CTSPillarNetworkA,1083,1083,1083,1972-12-19,108.29999999999812,108.29892,2015-01-01 00:18:03,bin1083,75,True -CTSPillarNetworkA,1084,1084,1084,1972-12-20,108.39999999999812,108.39892,2015-01-01 00:18:04,bin1084,35,True -CTSPillarNetworkA,1085,1085,1085,1972-12-21,108.49999999999811,108.49892,2015-01-01 00:18:05,bin1085,75,True -CTSPillarNetworkA,1086,1086,1086,1972-12-22,108.5999999999981,108.598915,2015-01-01 00:18:06,bin1086,35,True -CTSPillarNetworkA,1087,1087,1087,1972-12-23,108.6999999999981,108.69891,2015-01-01 00:18:07,bin1087,75,True -CTSPillarNetworkA,1088,1088,1088,1972-12-24,108.7999999999981,108.79891,2015-01-01 00:18:08,bin1088,35,True -CTSPillarNetworkA,1089,1089,1089,1972-12-25,108.89999999999809,108.89891,2015-01-01 00:18:09,bin1089,75,True -CTSPillarNetworkA,1090,1090,1090,1972-12-26,108.99999999999808,108.99891,2015-01-01 00:18:10,bin1090,35,True -CTSPillarNetworkA,1091,1091,1091,1972-12-27,109.09999999999808,109.09891,2015-01-01 00:18:11,bin1091,75,True -CTSPillarNetworkA,1092,1092,1092,1972-12-28,109.19999999999807,109.198906,2015-01-01 00:18:12,bin1092,35,True -CTSPillarNetworkA,1093,1093,1093,1972-12-29,109.29999999999806,109.298904,2015-01-01 00:18:13,bin1093,75,True -CTSPillarNetworkA,1094,1094,1094,1972-12-30,109.39999999999806,109.3989,2015-01-01 00:18:14,bin1094,35,True -CTSPillarNetworkA,1095,1095,1095,1972-12-31,109.49999999999805,109.4989,2015-01-01 00:18:15,bin1095,75,True -CTSPillarNetworkA,1096,1096,1096,1973-01-01,109.59999999999805,109.5989,2015-01-01 00:18:16,bin1096,35,True -CTSPillarNetworkA,1097,1097,1097,1973-01-02,109.69999999999804,109.6989,2015-01-01 00:18:17,bin1097,75,True -CTSPillarNetworkA,1098,1098,1098,1973-01-03,109.79999999999804,109.7989,2015-01-01 00:18:18,bin1098,35,True -CTSPillarNetworkA,1099,1099,1099,1973-01-04,109.89999999999803,109.898895,2015-01-01 00:18:19,bin1099,75,True -CTSPillarNetworkA,1100,1100,1100,1973-01-05,109.99999999999802,109.99889,2015-01-01 00:18:20,bin1100,35,True -CTSPillarNetworkA,1101,1101,1101,1973-01-06,110.09999999999802,110.09889,2015-01-01 00:18:21,bin1101,75,True -CTSPillarNetworkA,1102,1102,1102,1973-01-07,110.19999999999801,110.19889,2015-01-01 00:18:22,bin1102,35,True -CTSPillarNetworkA,1103,1103,1103,1973-01-08,110.29999999999801,110.29889,2015-01-01 00:18:23,bin1103,75,True -CTSPillarNetworkA,1104,1104,1104,1973-01-09,110.399999999998,110.39889,2015-01-01 00:18:24,bin1104,35,True -CTSPillarNetworkA,1105,1105,1105,1973-01-10,110.499999999998,110.498886,2015-01-01 00:18:25,bin1105,75,True -CTSPillarNetworkA,1106,1106,1106,1973-01-11,110.59999999999799,110.598885,2015-01-01 00:18:26,bin1106,35,True -CTSPillarNetworkA,1107,1107,1107,1973-01-12,110.69999999999798,110.69888,2015-01-01 00:18:27,bin1107,75,True -CTSPillarNetworkA,1108,1108,1108,1973-01-13,110.79999999999798,110.79888,2015-01-01 00:18:28,bin1108,35,True -CTSPillarNetworkA,1109,1109,1109,1973-01-14,110.89999999999797,110.89888,2015-01-01 00:18:29,bin1109,75,True -CTSPillarNetworkA,1110,1110,1110,1973-01-15,110.99999999999797,110.99888,2015-01-01 00:18:30,bin1110,35,True -CTSPillarNetworkA,1111,1111,1111,1973-01-16,111.09999999999796,111.09888,2015-01-01 00:18:31,bin1111,75,True -CTSPillarNetworkA,1112,1112,1112,1973-01-17,111.19999999999796,111.198875,2015-01-01 00:18:32,bin1112,35,True -CTSPillarNetworkA,1113,1113,1113,1973-01-18,111.29999999999795,111.298874,2015-01-01 00:18:33,bin1113,75,True -CTSPillarNetworkA,1114,1114,1114,1973-01-19,111.39999999999795,111.39887,2015-01-01 00:18:34,bin1114,35,True -CTSPillarNetworkA,1115,1115,1115,1973-01-20,111.49999999999794,111.49887,2015-01-01 00:18:35,bin1115,75,True -CTSPillarNetworkA,1116,1116,1116,1973-01-21,111.59999999999793,111.59887,2015-01-01 00:18:36,bin1116,35,True -CTSPillarNetworkA,1117,1117,1117,1973-01-22,111.69999999999793,111.69887,2015-01-01 00:18:37,bin1117,75,True -CTSPillarNetworkA,1118,1118,1118,1973-01-23,111.79999999999792,111.79887,2015-01-01 00:18:38,bin1118,35,True -CTSPillarNetworkA,1119,1119,1119,1973-01-24,111.89999999999792,111.898865,2015-01-01 00:18:39,bin1119,75,True -CTSPillarNetworkA,1120,1120,1120,1973-01-25,111.99999999999791,111.99886,2015-01-01 00:18:40,bin1120,35,True -CTSPillarNetworkA,1121,1121,1121,1973-01-26,112.0999999999979,112.09886,2015-01-01 00:18:41,bin1121,75,True -CTSPillarNetworkA,1122,1122,1122,1973-01-27,112.1999999999979,112.19886,2015-01-01 00:18:42,bin1122,35,True -CTSPillarNetworkA,1123,1123,1123,1973-01-28,112.2999999999979,112.29886,2015-01-01 00:18:43,bin1123,75,True -CTSPillarNetworkA,1124,1124,1124,1973-01-29,112.39999999999789,112.39886,2015-01-01 00:18:44,bin1124,35,True -CTSPillarNetworkA,1125,1125,1125,1973-01-30,112.49999999999788,112.498856,2015-01-01 00:18:45,bin1125,75,True -CTSPillarNetworkA,1126,1126,1126,1973-01-31,112.59999999999788,112.598854,2015-01-01 00:18:46,bin1126,35,True -CTSPillarNetworkA,1127,1127,1127,1973-02-01,112.69999999999787,112.69885,2015-01-01 00:18:47,bin1127,75,True -CTSPillarNetworkA,1128,1128,1128,1973-02-02,112.79999999999787,112.79885,2015-01-01 00:18:48,bin1128,35,True -CTSPillarNetworkA,1129,1129,1129,1973-02-03,112.89999999999786,112.89885,2015-01-01 00:18:49,bin1129,75,True -CTSPillarNetworkA,1130,1130,1130,1973-02-04,112.99999999999785,112.99885,2015-01-01 00:18:50,bin1130,35,True -CTSPillarNetworkA,1131,1131,1131,1973-02-05,113.09999999999785,113.09885,2015-01-01 00:18:51,bin1131,75,True -CTSPillarNetworkA,1132,1132,1132,1973-02-06,113.19999999999784,113.198845,2015-01-01 00:18:52,bin1132,35,True -CTSPillarNetworkA,1133,1133,1133,1973-02-07,113.29999999999784,113.29884,2015-01-01 00:18:53,bin1133,75,True -CTSPillarNetworkA,1134,1134,1134,1973-02-08,113.39999999999783,113.39884,2015-01-01 00:18:54,bin1134,35,True -CTSPillarNetworkA,1135,1135,1135,1973-02-09,113.49999999999783,113.49884,2015-01-01 00:18:55,bin1135,75,True -CTSPillarNetworkA,1136,1136,1136,1973-02-10,113.59999999999782,113.59884,2015-01-01 00:18:56,bin1136,35,True -CTSPillarNetworkA,1137,1137,1137,1973-02-11,113.69999999999781,113.69884,2015-01-01 00:18:57,bin1137,75,True -CTSPillarNetworkA,1138,1138,1138,1973-02-12,113.79999999999781,113.798836,2015-01-01 00:18:58,bin1138,35,True -CTSPillarNetworkA,1139,1139,1139,1973-02-13,113.8999999999978,113.898834,2015-01-01 00:18:59,bin1139,75,True -CTSPillarNetworkA,1140,1140,1140,1973-02-14,113.9999999999978,113.99883,2015-01-01 00:19:00,bin1140,35,True -CTSPillarNetworkA,1141,1141,1141,1973-02-15,114.09999999999779,114.09883,2015-01-01 00:19:01,bin1141,75,True -CTSPillarNetworkA,1142,1142,1142,1973-02-16,114.19999999999779,114.19883,2015-01-01 00:19:02,bin1142,35,True -CTSPillarNetworkA,1143,1143,1143,1973-02-17,114.29999999999778,114.29883,2015-01-01 00:19:03,bin1143,75,True -CTSPillarNetworkA,1144,1144,1144,1973-02-18,114.39999999999777,114.39883,2015-01-01 00:19:04,bin1144,35,True -CTSPillarNetworkA,1145,1145,1145,1973-02-19,114.49999999999777,114.498825,2015-01-01 00:19:05,bin1145,75,True -CTSPillarNetworkA,1146,1146,1146,1973-02-20,114.59999999999776,114.59882,2015-01-01 00:19:06,bin1146,35,True -CTSPillarNetworkA,1147,1147,1147,1973-02-21,114.69999999999776,114.69882,2015-01-01 00:19:07,bin1147,75,True -CTSPillarNetworkA,1148,1148,1148,1973-02-22,114.79999999999775,114.79882,2015-01-01 00:19:08,bin1148,35,True -CTSPillarNetworkA,1149,1149,1149,1973-02-23,114.89999999999775,114.89882,2015-01-01 00:19:09,bin1149,75,True -CTSPillarNetworkA,1150,1150,1150,1973-02-24,114.99999999999774,114.99882,2015-01-01 00:19:10,bin1150,35,True -CTSPillarNetworkA,1151,1151,1151,1973-02-25,115.09999999999773,115.098816,2015-01-01 00:19:11,bin1151,75,True -CTSPillarNetworkA,1152,1152,1152,1973-02-26,115.19999999999773,115.198814,2015-01-01 00:19:12,bin1152,35,True -CTSPillarNetworkA,1153,1153,1153,1973-02-27,115.29999999999772,115.29881,2015-01-01 00:19:13,bin1153,75,True -CTSPillarNetworkA,1154,1154,1154,1973-02-28,115.39999999999772,115.39881,2015-01-01 00:19:14,bin1154,35,True -CTSPillarNetworkA,1155,1155,1155,1973-03-01,115.49999999999771,115.49881,2015-01-01 00:19:15,bin1155,75,True -CTSPillarNetworkA,1156,1156,1156,1973-03-02,115.5999999999977,115.59881,2015-01-01 00:19:16,bin1156,35,True -CTSPillarNetworkA,1157,1157,1157,1973-03-03,115.6999999999977,115.69881,2015-01-01 00:19:17,bin1157,75,True -CTSPillarNetworkA,1158,1158,1158,1973-03-04,115.7999999999977,115.798805,2015-01-01 00:19:18,bin1158,35,True -CTSPillarNetworkA,1159,1159,1159,1973-03-05,115.89999999999769,115.8988,2015-01-01 00:19:19,bin1159,75,True -CTSPillarNetworkA,1160,1160,1160,1973-03-06,115.99999999999768,115.9988,2015-01-01 00:19:20,bin1160,35,True -CTSPillarNetworkA,1161,1161,1161,1973-03-07,116.09999999999768,116.0988,2015-01-01 00:19:21,bin1161,75,True -CTSPillarNetworkA,1162,1162,1162,1973-03-08,116.19999999999767,116.1988,2015-01-01 00:19:22,bin1162,35,True -CTSPillarNetworkA,1163,1163,1163,1973-03-09,116.29999999999767,116.2988,2015-01-01 00:19:23,bin1163,75,True -CTSPillarNetworkA,1164,1164,1164,1973-03-10,116.39999999999766,116.398796,2015-01-01 00:19:24,bin1164,35,True -CTSPillarNetworkA,1165,1165,1165,1973-03-11,116.49999999999766,116.498795,2015-01-01 00:19:25,bin1165,75,True -CTSPillarNetworkA,1166,1166,1166,1973-03-12,116.59999999999765,116.59879,2015-01-01 00:19:26,bin1166,35,True -CTSPillarNetworkA,1167,1167,1167,1973-03-13,116.69999999999764,116.69879,2015-01-01 00:19:27,bin1167,75,True -CTSPillarNetworkA,1168,1168,1168,1973-03-14,116.79999999999764,116.79879,2015-01-01 00:19:28,bin1168,35,True -CTSPillarNetworkA,1169,1169,1169,1973-03-15,116.89999999999763,116.89879,2015-01-01 00:19:29,bin1169,75,True -CTSPillarNetworkA,1170,1170,1170,1973-03-16,116.99999999999763,116.99879,2015-01-01 00:19:30,bin1170,35,True -CTSPillarNetworkA,1171,1171,1171,1973-03-17,117.09999999999762,117.098785,2015-01-01 00:19:31,bin1171,75,True -CTSPillarNetworkA,1172,1172,1172,1973-03-18,117.19999999999762,117.198784,2015-01-01 00:19:32,bin1172,35,True -CTSPillarNetworkA,1173,1173,1173,1973-03-19,117.29999999999761,117.29878,2015-01-01 00:19:33,bin1173,75,True -CTSPillarNetworkA,1174,1174,1174,1973-03-20,117.3999999999976,117.39878,2015-01-01 00:19:34,bin1174,35,True -CTSPillarNetworkA,1175,1175,1175,1973-03-21,117.4999999999976,117.49878,2015-01-01 00:19:35,bin1175,75,True -CTSPillarNetworkA,1176,1176,1176,1973-03-22,117.59999999999759,117.59878,2015-01-01 00:19:36,bin1176,35,True -CTSPillarNetworkA,1177,1177,1177,1973-03-23,117.69999999999759,117.69878,2015-01-01 00:19:37,bin1177,75,True -CTSPillarNetworkA,1178,1178,1178,1973-03-24,117.79999999999758,117.798775,2015-01-01 00:19:38,bin1178,35,True -CTSPillarNetworkA,1179,1179,1179,1973-03-25,117.89999999999758,117.89877,2015-01-01 00:19:39,bin1179,75,True -CTSPillarNetworkA,1180,1180,1180,1973-03-26,117.99999999999757,117.99877,2015-01-01 00:19:40,bin1180,35,True -CTSPillarNetworkA,1181,1181,1181,1973-03-27,118.09999999999756,118.09877,2015-01-01 00:19:41,bin1181,75,True -CTSPillarNetworkA,1182,1182,1182,1973-03-28,118.19999999999756,118.19877,2015-01-01 00:19:42,bin1182,35,True -CTSPillarNetworkA,1183,1183,1183,1973-03-29,118.29999999999755,118.29877,2015-01-01 00:19:43,bin1183,75,True -CTSPillarNetworkA,1184,1184,1184,1973-03-30,118.39999999999755,118.398766,2015-01-01 00:19:44,bin1184,35,True -CTSPillarNetworkA,1185,1185,1185,1973-03-31,118.49999999999754,118.498764,2015-01-01 00:19:45,bin1185,75,True -CTSPillarNetworkA,1186,1186,1186,1973-04-01,118.59999999999754,118.59876,2015-01-01 00:19:46,bin1186,35,True -CTSPillarNetworkA,1187,1187,1187,1973-04-02,118.69999999999753,118.69876,2015-01-01 00:19:47,bin1187,75,True -CTSPillarNetworkA,1188,1188,1188,1973-04-03,118.79999999999752,118.79876,2015-01-01 00:19:48,bin1188,35,True -CTSPillarNetworkA,1189,1189,1189,1973-04-04,118.89999999999752,118.89876,2015-01-01 00:19:49,bin1189,75,True -CTSPillarNetworkA,1190,1190,1190,1973-04-05,118.99999999999751,118.99876,2015-01-01 00:19:50,bin1190,35,True -CTSPillarNetworkA,1191,1191,1191,1973-04-06,119.09999999999751,119.098755,2015-01-01 00:19:51,bin1191,75,True -CTSPillarNetworkA,1192,1192,1192,1973-04-07,119.1999999999975,119.19875,2015-01-01 00:19:52,bin1192,35,True -CTSPillarNetworkA,1193,1193,1193,1973-04-08,119.2999999999975,119.29875,2015-01-01 00:19:53,bin1193,75,True -CTSPillarNetworkA,1194,1194,1194,1973-04-09,119.39999999999749,119.39875,2015-01-01 00:19:54,bin1194,35,True -CTSPillarNetworkA,1195,1195,1195,1973-04-10,119.49999999999748,119.49875,2015-01-01 00:19:55,bin1195,75,True -CTSPillarNetworkA,1196,1196,1196,1973-04-11,119.59999999999748,119.59875,2015-01-01 00:19:56,bin1196,35,True -CTSPillarNetworkA,1197,1197,1197,1973-04-12,119.69999999999747,119.698746,2015-01-01 00:19:57,bin1197,75,True -CTSPillarNetworkA,1198,1198,1198,1973-04-13,119.79999999999747,119.798744,2015-01-01 00:19:58,bin1198,35,True -CTSPillarNetworkA,1199,1199,1199,1973-04-14,119.89999999999746,119.89874,2015-01-01 00:19:59,bin1199,75,True -CTSPillarNetworkA,1200,1200,1200,1973-04-15,119.99999999999746,119.99874,2015-01-01 00:20:00,bin1200,35,True -CTSPillarNetworkA,1201,1201,1201,1973-04-16,120.09999999999745,120.09874,2015-01-01 00:20:01,bin1201,75,True -CTSPillarNetworkA,1202,1202,1202,1973-04-17,120.19999999999744,120.19874,2015-01-01 00:20:02,bin1202,35,True -CTSPillarNetworkA,1203,1203,1203,1973-04-18,120.29999999999744,120.29874,2015-01-01 00:20:03,bin1203,75,True -CTSPillarNetworkA,1204,1204,1204,1973-04-19,120.39999999999743,120.398735,2015-01-01 00:20:04,bin1204,35,True -CTSPillarNetworkA,1205,1205,1205,1973-04-20,120.49999999999743,120.49873,2015-01-01 00:20:05,bin1205,75,True -CTSPillarNetworkA,1206,1206,1206,1973-04-21,120.59999999999742,120.59873,2015-01-01 00:20:06,bin1206,35,True -CTSPillarNetworkA,1207,1207,1207,1973-04-22,120.69999999999742,120.69873,2015-01-01 00:20:07,bin1207,75,True -CTSPillarNetworkA,1208,1208,1208,1973-04-23,120.79999999999741,120.79873,2015-01-01 00:20:08,bin1208,35,True -CTSPillarNetworkA,1209,1209,1209,1973-04-24,120.8999999999974,120.89873,2015-01-01 00:20:09,bin1209,75,True -CTSPillarNetworkA,1210,1210,1210,1973-04-25,120.9999999999974,120.998726,2015-01-01 00:20:10,bin1210,35,True -CTSPillarNetworkA,1211,1211,1211,1973-04-26,121.0999999999974,121.098724,2015-01-01 00:20:11,bin1211,75,True -CTSPillarNetworkA,1212,1212,1212,1973-04-27,121.19999999999739,121.19872,2015-01-01 00:20:12,bin1212,35,True -CTSPillarNetworkA,1213,1213,1213,1973-04-28,121.29999999999738,121.29872,2015-01-01 00:20:13,bin1213,75,True -CTSPillarNetworkA,1214,1214,1214,1973-04-29,121.39999999999738,121.39872,2015-01-01 00:20:14,bin1214,35,True -CTSPillarNetworkA,1215,1215,1215,1973-04-30,121.49999999999737,121.49872,2015-01-01 00:20:15,bin1215,75,True -CTSPillarNetworkA,1216,1216,1216,1973-05-01,121.59999999999737,121.59872,2015-01-01 00:20:16,bin1216,35,True -CTSPillarNetworkA,1217,1217,1217,1973-05-02,121.69999999999736,121.698715,2015-01-01 00:20:17,bin1217,75,True -CTSPillarNetworkA,1218,1218,1218,1973-05-03,121.79999999999735,121.79871,2015-01-01 00:20:18,bin1218,35,True -CTSPillarNetworkA,1219,1219,1219,1973-05-04,121.89999999999735,121.89871,2015-01-01 00:20:19,bin1219,75,True -CTSPillarNetworkA,1220,1220,1220,1973-05-05,121.99999999999734,121.99871,2015-01-01 00:20:20,bin1220,35,True -CTSPillarNetworkA,1221,1221,1221,1973-05-06,122.09999999999734,122.09871,2015-01-01 00:20:21,bin1221,75,True -CTSPillarNetworkA,1222,1222,1222,1973-05-07,122.19999999999733,122.19871,2015-01-01 00:20:22,bin1222,35,True -CTSPillarNetworkA,1223,1223,1223,1973-05-08,122.29999999999733,122.298706,2015-01-01 00:20:23,bin1223,75,True -CTSPillarNetworkA,1224,1224,1224,1973-05-09,122.39999999999732,122.398705,2015-01-01 00:20:24,bin1224,35,True -CTSPillarNetworkA,1225,1225,1225,1973-05-10,122.49999999999731,122.4987,2015-01-01 00:20:25,bin1225,75,True -CTSPillarNetworkA,1226,1226,1226,1973-05-11,122.59999999999731,122.5987,2015-01-01 00:20:26,bin1226,35,True -CTSPillarNetworkA,1227,1227,1227,1973-05-12,122.6999999999973,122.6987,2015-01-01 00:20:27,bin1227,75,True -CTSPillarNetworkA,1228,1228,1228,1973-05-13,122.7999999999973,122.7987,2015-01-01 00:20:28,bin1228,35,True -CTSPillarNetworkA,1229,1229,1229,1973-05-14,122.89999999999729,122.8987,2015-01-01 00:20:29,bin1229,75,True -CTSPillarNetworkA,1230,1230,1230,1973-05-15,122.99999999999729,122.998695,2015-01-01 00:20:30,bin1230,35,True -CTSPillarNetworkA,1231,1231,1231,1973-05-16,123.09999999999728,123.098694,2015-01-01 00:20:31,bin1231,75,True -CTSPillarNetworkA,1232,1232,1232,1973-05-17,123.19999999999727,123.19869,2015-01-01 00:20:32,bin1232,35,True -CTSPillarNetworkA,1233,1233,1233,1973-05-18,123.29999999999727,123.29869,2015-01-01 00:20:33,bin1233,75,True -CTSPillarNetworkA,1234,1234,1234,1973-05-19,123.39999999999726,123.39869,2015-01-01 00:20:34,bin1234,35,True -CTSPillarNetworkA,1235,1235,1235,1973-05-20,123.49999999999726,123.49869,2015-01-01 00:20:35,bin1235,75,True -CTSPillarNetworkA,1236,1236,1236,1973-05-21,123.59999999999725,123.59869,2015-01-01 00:20:36,bin1236,35,True -CTSPillarNetworkA,1237,1237,1237,1973-05-22,123.69999999999725,123.698685,2015-01-01 00:20:37,bin1237,75,True -CTSPillarNetworkA,1238,1238,1238,1973-05-23,123.79999999999724,123.79868,2015-01-01 00:20:38,bin1238,35,True -CTSPillarNetworkA,1239,1239,1239,1973-05-24,123.89999999999723,123.89868,2015-01-01 00:20:39,bin1239,75,True -CTSPillarNetworkA,1240,1240,1240,1973-05-25,123.99999999999723,123.99868,2015-01-01 00:20:40,bin1240,35,True -CTSPillarNetworkA,1241,1241,1241,1973-05-26,124.09999999999722,124.09868,2015-01-01 00:20:41,bin1241,75,True -CTSPillarNetworkA,1242,1242,1242,1973-05-27,124.19999999999722,124.19868,2015-01-01 00:20:42,bin1242,35,True -CTSPillarNetworkA,1243,1243,1243,1973-05-28,124.29999999999721,124.298676,2015-01-01 00:20:43,bin1243,75,True -CTSPillarNetworkA,1244,1244,1244,1973-05-29,124.3999999999972,124.398674,2015-01-01 00:20:44,bin1244,35,True -CTSPillarNetworkA,1245,1245,1245,1973-05-30,124.4999999999972,124.49867,2015-01-01 00:20:45,bin1245,75,True -CTSPillarNetworkA,1246,1246,1246,1973-05-31,124.5999999999972,124.59867,2015-01-01 00:20:46,bin1246,35,True -CTSPillarNetworkA,1247,1247,1247,1973-06-01,124.69999999999719,124.69867,2015-01-01 00:20:47,bin1247,75,True -CTSPillarNetworkA,1248,1248,1248,1973-06-02,124.79999999999718,124.79867,2015-01-01 00:20:48,bin1248,35,True -CTSPillarNetworkA,1249,1249,1249,1973-06-03,124.89999999999718,124.89867,2015-01-01 00:20:49,bin1249,75,True -CTSPillarNetworkA,1250,1250,1250,1973-06-04,124.99999999999717,124.998665,2015-01-01 00:20:50,bin1250,35,True -CTSPillarNetworkA,1251,1251,1251,1973-06-05,125.09999999999717,125.09866,2015-01-01 00:20:51,bin1251,75,True -CTSPillarNetworkA,1252,1252,1252,1973-06-06,125.19999999999716,125.19866,2015-01-01 00:20:52,bin1252,35,True -CTSPillarNetworkA,1253,1253,1253,1973-06-07,125.29999999999715,125.29866,2015-01-01 00:20:53,bin1253,75,True -CTSPillarNetworkA,1254,1254,1254,1973-06-08,125.39999999999715,125.39866,2015-01-01 00:20:54,bin1254,35,True -CTSPillarNetworkA,1255,1255,1255,1973-06-09,125.49999999999714,125.49866,2015-01-01 00:20:55,bin1255,75,True -CTSPillarNetworkA,1256,1256,1256,1973-06-10,125.59999999999714,125.598656,2015-01-01 00:20:56,bin1256,35,True -CTSPillarNetworkA,1257,1257,1257,1973-06-11,125.69999999999713,125.698654,2015-01-01 00:20:57,bin1257,75,True -CTSPillarNetworkA,1258,1258,1258,1973-06-12,125.79999999999713,125.79865,2015-01-01 00:20:58,bin1258,35,True -CTSPillarNetworkA,1259,1259,1259,1973-06-13,125.89999999999712,125.89865,2015-01-01 00:20:59,bin1259,75,True -CTSPillarNetworkA,1260,1260,1260,1973-06-14,125.99999999999712,125.99865,2015-01-01 00:21:00,bin1260,35,True -CTSPillarNetworkA,1261,1261,1261,1973-06-15,126.09999999999711,126.09865,2015-01-01 00:21:01,bin1261,75,True -CTSPillarNetworkA,1262,1262,1262,1973-06-16,126.1999999999971,126.19865,2015-01-01 00:21:02,bin1262,35,True -CTSPillarNetworkA,1263,1263,1263,1973-06-17,126.2999999999971,126.298645,2015-01-01 00:21:03,bin1263,75,True -CTSPillarNetworkA,1264,1264,1264,1973-06-18,126.39999999999709,126.39864,2015-01-01 00:21:04,bin1264,35,True -CTSPillarNetworkA,1265,1265,1265,1973-06-19,126.49999999999709,126.49864,2015-01-01 00:21:05,bin1265,75,True -CTSPillarNetworkA,1266,1266,1266,1973-06-20,126.59999999999708,126.59864,2015-01-01 00:21:06,bin1266,35,True -CTSPillarNetworkA,1267,1267,1267,1973-06-21,126.69999999999708,126.69864,2015-01-01 00:21:07,bin1267,75,True -CTSPillarNetworkA,1268,1268,1268,1973-06-22,126.79999999999707,126.79864,2015-01-01 00:21:08,bin1268,35,True -CTSPillarNetworkA,1269,1269,1269,1973-06-23,126.89999999999706,126.898636,2015-01-01 00:21:09,bin1269,75,True -CTSPillarNetworkA,1270,1270,1270,1973-06-24,126.99999999999706,126.998634,2015-01-01 00:21:10,bin1270,35,True -CTSPillarNetworkA,1271,1271,1271,1973-06-25,127.09999999999705,127.09863,2015-01-01 00:21:11,bin1271,75,True -CTSPillarNetworkA,1272,1272,1272,1973-06-26,127.19999999999705,127.19863,2015-01-01 00:21:12,bin1272,35,True -CTSPillarNetworkA,1273,1273,1273,1973-06-27,127.29999999999704,127.29863,2015-01-01 00:21:13,bin1273,75,True -CTSPillarNetworkA,1274,1274,1274,1973-06-28,127.39999999999704,127.39863,2015-01-01 00:21:14,bin1274,35,True -CTSPillarNetworkA,1275,1275,1275,1973-06-29,127.49999999999703,127.49863,2015-01-01 00:21:15,bin1275,75,True -CTSPillarNetworkA,1276,1276,1276,1973-06-30,127.59999999999702,127.598625,2015-01-01 00:21:16,bin1276,35,True -CTSPillarNetworkA,1277,1277,1277,1973-07-01,127.69999999999702,127.69862,2015-01-01 00:21:17,bin1277,75,True -CTSPillarNetworkA,1278,1278,1278,1973-07-02,127.79999999999701,127.79862,2015-01-01 00:21:18,bin1278,35,True -CTSPillarNetworkA,1279,1279,1279,1973-07-03,127.89999999999701,127.89862,2015-01-01 00:21:19,bin1279,75,True -CTSPillarNetworkA,1280,1280,1280,1973-07-04,127.999999999997,127.99862,2015-01-01 00:21:20,bin1280,35,True -CTSPillarNetworkA,1281,1281,1281,1973-07-05,128.099999999997,128.09862,2015-01-01 00:21:21,bin1281,75,True -CTSPillarNetworkA,1282,1282,1282,1973-07-06,128.199999999997,128.19862,2015-01-01 00:21:22,bin1282,35,True -CTSPillarNetworkA,1283,1283,1283,1973-07-07,128.299999999997,128.29863,2015-01-01 00:21:23,bin1283,75,True -CTSPillarNetworkA,1284,1284,1284,1973-07-08,128.399999999997,128.39864,2015-01-01 00:21:24,bin1284,35,True -CTSPillarNetworkA,1285,1285,1285,1973-07-09,128.499999999997,128.49864,2015-01-01 00:21:25,bin1285,75,True -CTSPillarNetworkA,1286,1286,1286,1973-07-10,128.59999999999698,128.59865,2015-01-01 00:21:26,bin1286,35,True -CTSPillarNetworkA,1287,1287,1287,1973-07-11,128.69999999999698,128.69865,2015-01-01 00:21:27,bin1287,75,True -CTSPillarNetworkA,1288,1288,1288,1973-07-12,128.79999999999697,128.79866,2015-01-01 00:21:28,bin1288,35,True -CTSPillarNetworkA,1289,1289,1289,1973-07-13,128.89999999999696,128.89867,2015-01-01 00:21:29,bin1289,75,True -CTSPillarNetworkA,1290,1290,1290,1973-07-14,128.99999999999696,128.99867,2015-01-01 00:21:30,bin1290,35,True -CTSPillarNetworkA,1291,1291,1291,1973-07-15,129.09999999999695,129.09868,2015-01-01 00:21:31,bin1291,75,True -CTSPillarNetworkA,1292,1292,1292,1973-07-16,129.19999999999695,129.19868,2015-01-01 00:21:32,bin1292,35,True -CTSPillarNetworkA,1293,1293,1293,1973-07-17,129.29999999999694,129.29869,2015-01-01 00:21:33,bin1293,75,True -CTSPillarNetworkA,1294,1294,1294,1973-07-18,129.39999999999694,129.3987,2015-01-01 00:21:34,bin1294,35,True -CTSPillarNetworkA,1295,1295,1295,1973-07-19,129.49999999999693,129.4987,2015-01-01 00:21:35,bin1295,75,True -CTSPillarNetworkA,1296,1296,1296,1973-07-20,129.59999999999692,129.59871,2015-01-01 00:21:36,bin1296,35,True -CTSPillarNetworkA,1297,1297,1297,1973-07-21,129.69999999999692,129.69872,2015-01-01 00:21:37,bin1297,75,True -CTSPillarNetworkA,1298,1298,1298,1973-07-22,129.7999999999969,129.79872,2015-01-01 00:21:38,bin1298,35,True -CTSPillarNetworkA,1299,1299,1299,1973-07-23,129.8999999999969,129.89873,2015-01-01 00:21:39,bin1299,75,True -CTSPillarNetworkA,1300,1300,1300,1973-07-24,129.9999999999969,129.99873,2015-01-01 00:21:40,bin1300,35,True -CTSPillarNetworkA,1301,1301,1301,1973-07-25,130.0999999999969,130.09874,2015-01-01 00:21:41,bin1301,75,True -CTSPillarNetworkA,1302,1302,1302,1973-07-26,130.1999999999969,130.19875,2015-01-01 00:21:42,bin1302,35,True -CTSPillarNetworkA,1303,1303,1303,1973-07-27,130.29999999999688,130.29875,2015-01-01 00:21:43,bin1303,75,True -CTSPillarNetworkA,1304,1304,1304,1973-07-28,130.39999999999688,130.39876,2015-01-01 00:21:44,bin1304,35,True -CTSPillarNetworkA,1305,1305,1305,1973-07-29,130.49999999999687,130.49876,2015-01-01 00:21:45,bin1305,75,True -CTSPillarNetworkA,1306,1306,1306,1973-07-30,130.59999999999687,130.59877,2015-01-01 00:21:46,bin1306,35,True -CTSPillarNetworkA,1307,1307,1307,1973-07-31,130.69999999999686,130.69878,2015-01-01 00:21:47,bin1307,75,True -CTSPillarNetworkA,1308,1308,1308,1973-08-01,130.79999999999686,130.79878,2015-01-01 00:21:48,bin1308,35,True -CTSPillarNetworkA,1309,1309,1309,1973-08-02,130.89999999999685,130.89879,2015-01-01 00:21:49,bin1309,75,True -CTSPillarNetworkA,1310,1310,1310,1973-08-03,130.99999999999685,130.9988,2015-01-01 00:21:50,bin1310,35,True -CTSPillarNetworkA,1311,1311,1311,1973-08-04,131.09999999999684,131.0988,2015-01-01 00:21:51,bin1311,75,True -CTSPillarNetworkA,1312,1312,1312,1973-08-05,131.19999999999683,131.1988,2015-01-01 00:21:52,bin1312,35,True -CTSPillarNetworkA,1313,1313,1313,1973-08-06,131.29999999999683,131.29881,2015-01-01 00:21:53,bin1313,75,True -CTSPillarNetworkA,1314,1314,1314,1973-08-07,131.39999999999682,131.39882,2015-01-01 00:21:54,bin1314,35,True -CTSPillarNetworkA,1315,1315,1315,1973-08-08,131.49999999999682,131.49883,2015-01-01 00:21:55,bin1315,75,True -CTSPillarNetworkA,1316,1316,1316,1973-08-09,131.5999999999968,131.59883,2015-01-01 00:21:56,bin1316,35,True -CTSPillarNetworkA,1317,1317,1317,1973-08-10,131.6999999999968,131.69884,2015-01-01 00:21:57,bin1317,75,True -CTSPillarNetworkA,1318,1318,1318,1973-08-11,131.7999999999968,131.79884,2015-01-01 00:21:58,bin1318,35,True -CTSPillarNetworkA,1319,1319,1319,1973-08-12,131.8999999999968,131.89885,2015-01-01 00:21:59,bin1319,75,True -CTSPillarNetworkA,1320,1320,1320,1973-08-13,131.9999999999968,131.99886,2015-01-01 00:22:00,bin1320,35,True -CTSPillarNetworkA,1321,1321,1321,1973-08-14,132.09999999999678,132.09886,2015-01-01 00:22:01,bin1321,75,True -CTSPillarNetworkA,1322,1322,1322,1973-08-15,132.19999999999678,132.19887,2015-01-01 00:22:02,bin1322,35,True -CTSPillarNetworkA,1323,1323,1323,1973-08-16,132.29999999999677,132.29887,2015-01-01 00:22:03,bin1323,75,True -CTSPillarNetworkA,1324,1324,1324,1973-08-17,132.39999999999677,132.39888,2015-01-01 00:22:04,bin1324,35,True -CTSPillarNetworkA,1325,1325,1325,1973-08-18,132.49999999999676,132.49889,2015-01-01 00:22:05,bin1325,75,True -CTSPillarNetworkA,1326,1326,1326,1973-08-19,132.59999999999675,132.59889,2015-01-01 00:22:06,bin1326,35,True -CTSPillarNetworkA,1327,1327,1327,1973-08-20,132.69999999999675,132.6989,2015-01-01 00:22:07,bin1327,75,True -CTSPillarNetworkA,1328,1328,1328,1973-08-21,132.79999999999674,132.7989,2015-01-01 00:22:08,bin1328,35,True -CTSPillarNetworkA,1329,1329,1329,1973-08-22,132.89999999999674,132.89891,2015-01-01 00:22:09,bin1329,75,True -CTSPillarNetworkA,1330,1330,1330,1973-08-23,132.99999999999673,132.99892,2015-01-01 00:22:10,bin1330,35,True -CTSPillarNetworkA,1331,1331,1331,1973-08-24,133.09999999999673,133.09892,2015-01-01 00:22:11,bin1331,75,True -CTSPillarNetworkA,1332,1332,1332,1973-08-25,133.19999999999672,133.19893,2015-01-01 00:22:12,bin1332,35,True -CTSPillarNetworkA,1333,1333,1333,1973-08-26,133.29999999999671,133.29893,2015-01-01 00:22:13,bin1333,75,True -CTSPillarNetworkA,1334,1334,1334,1973-08-27,133.3999999999967,133.39894,2015-01-01 00:22:14,bin1334,35,True -CTSPillarNetworkA,1335,1335,1335,1973-08-28,133.4999999999967,133.49895,2015-01-01 00:22:15,bin1335,75,True -CTSPillarNetworkA,1336,1336,1336,1973-08-29,133.5999999999967,133.59895,2015-01-01 00:22:16,bin1336,35,True -CTSPillarNetworkA,1337,1337,1337,1973-08-30,133.6999999999967,133.69896,2015-01-01 00:22:17,bin1337,75,True -CTSPillarNetworkA,1338,1338,1338,1973-08-31,133.7999999999967,133.79897,2015-01-01 00:22:18,bin1338,35,True -CTSPillarNetworkA,1339,1339,1339,1973-09-01,133.89999999999668,133.89897,2015-01-01 00:22:19,bin1339,75,True -CTSPillarNetworkA,1340,1340,1340,1973-09-02,133.99999999999667,133.99898,2015-01-01 00:22:20,bin1340,35,True -CTSPillarNetworkA,1341,1341,1341,1973-09-03,134.09999999999667,134.09898,2015-01-01 00:22:21,bin1341,75,True -CTSPillarNetworkA,1342,1342,1342,1973-09-04,134.19999999999666,134.19899,2015-01-01 00:22:22,bin1342,35,True -CTSPillarNetworkA,1343,1343,1343,1973-09-05,134.29999999999666,134.299,2015-01-01 00:22:23,bin1343,75,True -CTSPillarNetworkA,1344,1344,1344,1973-09-06,134.39999999999665,134.399,2015-01-01 00:22:24,bin1344,35,True -CTSPillarNetworkA,1345,1345,1345,1973-09-07,134.49999999999665,134.49901,2015-01-01 00:22:25,bin1345,75,True -CTSPillarNetworkA,1346,1346,1346,1973-09-08,134.59999999999664,134.59901,2015-01-01 00:22:26,bin1346,35,True -CTSPillarNetworkA,1347,1347,1347,1973-09-09,134.69999999999663,134.69902,2015-01-01 00:22:27,bin1347,75,True -CTSPillarNetworkA,1348,1348,1348,1973-09-10,134.79999999999663,134.79903,2015-01-01 00:22:28,bin1348,35,True -CTSPillarNetworkA,1349,1349,1349,1973-09-11,134.89999999999662,134.89903,2015-01-01 00:22:29,bin1349,75,True -CTSPillarNetworkA,1350,1350,1350,1973-09-12,134.99999999999662,134.99904,2015-01-01 00:22:30,bin1350,35,True -CTSPillarNetworkA,1351,1351,1351,1973-09-13,135.0999999999966,135.09904,2015-01-01 00:22:31,bin1351,75,True -CTSPillarNetworkA,1352,1352,1352,1973-09-14,135.1999999999966,135.19905,2015-01-01 00:22:32,bin1352,35,True -CTSPillarNetworkA,1353,1353,1353,1973-09-15,135.2999999999966,135.29906,2015-01-01 00:22:33,bin1353,75,True -CTSPillarNetworkA,1354,1354,1354,1973-09-16,135.3999999999966,135.39906,2015-01-01 00:22:34,bin1354,35,True -CTSPillarNetworkA,1355,1355,1355,1973-09-17,135.4999999999966,135.49907,2015-01-01 00:22:35,bin1355,75,True -CTSPillarNetworkA,1356,1356,1356,1973-09-18,135.59999999999658,135.59908,2015-01-01 00:22:36,bin1356,35,True -CTSPillarNetworkA,1357,1357,1357,1973-09-19,135.69999999999658,135.69908,2015-01-01 00:22:37,bin1357,75,True -CTSPillarNetworkA,1358,1358,1358,1973-09-20,135.79999999999657,135.79909,2015-01-01 00:22:38,bin1358,35,True -CTSPillarNetworkA,1359,1359,1359,1973-09-21,135.89999999999657,135.8991,2015-01-01 00:22:39,bin1359,75,True -CTSPillarNetworkA,1360,1360,1360,1973-09-22,135.99999999999656,135.9991,2015-01-01 00:22:40,bin1360,35,True -CTSPillarNetworkA,1361,1361,1361,1973-09-23,136.09999999999656,136.0991,2015-01-01 00:22:41,bin1361,75,True -CTSPillarNetworkA,1362,1362,1362,1973-09-24,136.19999999999655,136.19911,2015-01-01 00:22:42,bin1362,35,True -CTSPillarNetworkA,1363,1363,1363,1973-09-25,136.29999999999654,136.29912,2015-01-01 00:22:43,bin1363,75,True -CTSPillarNetworkA,1364,1364,1364,1973-09-26,136.39999999999654,136.39912,2015-01-01 00:22:44,bin1364,35,True -CTSPillarNetworkA,1365,1365,1365,1973-09-27,136.49999999999653,136.49913,2015-01-01 00:22:45,bin1365,75,True -CTSPillarNetworkA,1366,1366,1366,1973-09-28,136.59999999999653,136.59914,2015-01-01 00:22:46,bin1366,35,True -CTSPillarNetworkA,1367,1367,1367,1973-09-29,136.69999999999652,136.69914,2015-01-01 00:22:47,bin1367,75,True -CTSPillarNetworkA,1368,1368,1368,1973-09-30,136.79999999999652,136.79915,2015-01-01 00:22:48,bin1368,35,True -CTSPillarNetworkA,1369,1369,1369,1973-10-01,136.8999999999965,136.89915,2015-01-01 00:22:49,bin1369,75,True -CTSPillarNetworkA,1370,1370,1370,1973-10-02,136.9999999999965,136.99916,2015-01-01 00:22:50,bin1370,35,True -CTSPillarNetworkA,1371,1371,1371,1973-10-03,137.0999999999965,137.09917,2015-01-01 00:22:51,bin1371,75,True -CTSPillarNetworkA,1372,1372,1372,1973-10-04,137.1999999999965,137.19917,2015-01-01 00:22:52,bin1372,35,True -CTSPillarNetworkA,1373,1373,1373,1973-10-05,137.2999999999965,137.29918,2015-01-01 00:22:53,bin1373,75,True -CTSPillarNetworkA,1374,1374,1374,1973-10-06,137.39999999999648,137.39919,2015-01-01 00:22:54,bin1374,35,True -CTSPillarNetworkA,1375,1375,1375,1973-10-07,137.49999999999648,137.49919,2015-01-01 00:22:55,bin1375,75,True -CTSPillarNetworkA,1376,1376,1376,1973-10-08,137.59999999999647,137.5992,2015-01-01 00:22:56,bin1376,35,True -CTSPillarNetworkA,1377,1377,1377,1973-10-09,137.69999999999646,137.6992,2015-01-01 00:22:57,bin1377,75,True -CTSPillarNetworkA,1378,1378,1378,1973-10-10,137.79999999999646,137.79921,2015-01-01 00:22:58,bin1378,35,True -CTSPillarNetworkA,1379,1379,1379,1973-10-11,137.89999999999645,137.89922,2015-01-01 00:22:59,bin1379,75,True -CTSPillarNetworkA,1380,1380,1380,1973-10-12,137.99999999999645,137.99922,2015-01-01 00:23:00,bin1380,35,True -CTSPillarNetworkA,1381,1381,1381,1973-10-13,138.09999999999644,138.09923,2015-01-01 00:23:01,bin1381,75,True -CTSPillarNetworkA,1382,1382,1382,1973-10-14,138.19999999999644,138.19923,2015-01-01 00:23:02,bin1382,35,True -CTSPillarNetworkA,1383,1383,1383,1973-10-15,138.29999999999643,138.29924,2015-01-01 00:23:03,bin1383,75,True -CTSPillarNetworkA,1384,1384,1384,1973-10-16,138.39999999999642,138.39925,2015-01-01 00:23:04,bin1384,35,True -CTSPillarNetworkA,1385,1385,1385,1973-10-17,138.49999999999642,138.49925,2015-01-01 00:23:05,bin1385,75,True -CTSPillarNetworkA,1386,1386,1386,1973-10-18,138.5999999999964,138.59926,2015-01-01 00:23:06,bin1386,35,True -CTSPillarNetworkA,1387,1387,1387,1973-10-19,138.6999999999964,138.69926,2015-01-01 00:23:07,bin1387,75,True -CTSPillarNetworkA,1388,1388,1388,1973-10-20,138.7999999999964,138.79927,2015-01-01 00:23:08,bin1388,35,True -CTSPillarNetworkA,1389,1389,1389,1973-10-21,138.8999999999964,138.89928,2015-01-01 00:23:09,bin1389,75,True -CTSPillarNetworkA,1390,1390,1390,1973-10-22,138.9999999999964,138.99928,2015-01-01 00:23:10,bin1390,35,True -CTSPillarNetworkA,1391,1391,1391,1973-10-23,139.09999999999638,139.09929,2015-01-01 00:23:11,bin1391,75,True -CTSPillarNetworkA,1392,1392,1392,1973-10-24,139.19999999999638,139.1993,2015-01-01 00:23:12,bin1392,35,True -CTSPillarNetworkA,1393,1393,1393,1973-10-25,139.29999999999637,139.2993,2015-01-01 00:23:13,bin1393,75,True -CTSPillarNetworkA,1394,1394,1394,1973-10-26,139.39999999999637,139.3993,2015-01-01 00:23:14,bin1394,35,True -CTSPillarNetworkA,1395,1395,1395,1973-10-27,139.49999999999636,139.49931,2015-01-01 00:23:15,bin1395,75,True -CTSPillarNetworkA,1396,1396,1396,1973-10-28,139.59999999999636,139.59932,2015-01-01 00:23:16,bin1396,35,True -CTSPillarNetworkA,1397,1397,1397,1973-10-29,139.69999999999635,139.69933,2015-01-01 00:23:17,bin1397,75,True -CTSPillarNetworkA,1398,1398,1398,1973-10-30,139.79999999999634,139.79933,2015-01-01 00:23:18,bin1398,35,True -CTSPillarNetworkA,1399,1399,1399,1973-10-31,139.89999999999634,139.89934,2015-01-01 00:23:19,bin1399,75,True -CTSPillarNetworkA,1400,1400,1400,1973-11-01,139.99999999999633,139.99934,2015-01-01 00:23:20,bin1400,35,True -CTSPillarNetworkA,1401,1401,1401,1973-11-02,140.09999999999633,140.09935,2015-01-01 00:23:21,bin1401,75,True -CTSPillarNetworkA,1402,1402,1402,1973-11-03,140.19999999999632,140.19936,2015-01-01 00:23:22,bin1402,35,True -CTSPillarNetworkA,1403,1403,1403,1973-11-04,140.29999999999632,140.29936,2015-01-01 00:23:23,bin1403,75,True -CTSPillarNetworkA,1404,1404,1404,1973-11-05,140.3999999999963,140.39937,2015-01-01 00:23:24,bin1404,35,True -CTSPillarNetworkA,1405,1405,1405,1973-11-06,140.4999999999963,140.49937,2015-01-01 00:23:25,bin1405,75,True -CTSPillarNetworkA,1406,1406,1406,1973-11-07,140.5999999999963,140.59938,2015-01-01 00:23:26,bin1406,35,True -CTSPillarNetworkA,1407,1407,1407,1973-11-08,140.6999999999963,140.69939,2015-01-01 00:23:27,bin1407,75,True -CTSPillarNetworkA,1408,1408,1408,1973-11-09,140.7999999999963,140.7994,2015-01-01 00:23:28,bin1408,35,True -CTSPillarNetworkA,1409,1409,1409,1973-11-10,140.89999999999628,140.8994,2015-01-01 00:23:29,bin1409,75,True -CTSPillarNetworkA,1410,1410,1410,1973-11-11,140.99999999999628,140.9994,2015-01-01 00:23:30,bin1410,35,True -CTSPillarNetworkA,1411,1411,1411,1973-11-12,141.09999999999627,141.09941,2015-01-01 00:23:31,bin1411,75,True -CTSPillarNetworkA,1412,1412,1412,1973-11-13,141.19999999999627,141.19942,2015-01-01 00:23:32,bin1412,35,True -CTSPillarNetworkA,1413,1413,1413,1973-11-14,141.29999999999626,141.29942,2015-01-01 00:23:33,bin1413,75,True -CTSPillarNetworkA,1414,1414,1414,1973-11-15,141.39999999999625,141.39943,2015-01-01 00:23:34,bin1414,35,True -CTSPillarNetworkA,1415,1415,1415,1973-11-16,141.49999999999625,141.49944,2015-01-01 00:23:35,bin1415,75,True -CTSPillarNetworkA,1416,1416,1416,1973-11-17,141.59999999999624,141.59944,2015-01-01 00:23:36,bin1416,35,True -CTSPillarNetworkA,1417,1417,1417,1973-11-18,141.69999999999624,141.69945,2015-01-01 00:23:37,bin1417,75,True -CTSPillarNetworkA,1418,1418,1418,1973-11-19,141.79999999999623,141.79945,2015-01-01 00:23:38,bin1418,35,True -CTSPillarNetworkA,1419,1419,1419,1973-11-20,141.89999999999623,141.89946,2015-01-01 00:23:39,bin1419,75,True -CTSPillarNetworkA,1420,1420,1420,1973-11-21,141.99999999999622,141.99947,2015-01-01 00:23:40,bin1420,35,True -CTSPillarNetworkA,1421,1421,1421,1973-11-22,142.09999999999621,142.09947,2015-01-01 00:23:41,bin1421,75,True -CTSPillarNetworkA,1422,1422,1422,1973-11-23,142.1999999999962,142.19948,2015-01-01 00:23:42,bin1422,35,True -CTSPillarNetworkA,1423,1423,1423,1973-11-24,142.2999999999962,142.29948,2015-01-01 00:23:43,bin1423,75,True -CTSPillarNetworkA,1424,1424,1424,1973-11-25,142.3999999999962,142.39949,2015-01-01 00:23:44,bin1424,35,True -CTSPillarNetworkA,1425,1425,1425,1973-11-26,142.4999999999962,142.4995,2015-01-01 00:23:45,bin1425,75,True -CTSPillarNetworkA,1426,1426,1426,1973-11-27,142.5999999999962,142.5995,2015-01-01 00:23:46,bin1426,35,True -CTSPillarNetworkA,1427,1427,1427,1973-11-28,142.69999999999618,142.69951,2015-01-01 00:23:47,bin1427,75,True -CTSPillarNetworkA,1428,1428,1428,1973-11-29,142.79999999999617,142.79951,2015-01-01 00:23:48,bin1428,35,True -CTSPillarNetworkA,1429,1429,1429,1973-11-30,142.89999999999617,142.89952,2015-01-01 00:23:49,bin1429,75,True -CTSPillarNetworkA,1430,1430,1430,1973-12-01,142.99999999999616,142.99953,2015-01-01 00:23:50,bin1430,35,True -CTSPillarNetworkA,1431,1431,1431,1973-12-02,143.09999999999616,143.09953,2015-01-01 00:23:51,bin1431,75,True -CTSPillarNetworkA,1432,1432,1432,1973-12-03,143.19999999999615,143.19954,2015-01-01 00:23:52,bin1432,35,True -CTSPillarNetworkA,1433,1433,1433,1973-12-04,143.29999999999615,143.29955,2015-01-01 00:23:53,bin1433,75,True -CTSPillarNetworkA,1434,1434,1434,1973-12-05,143.39999999999614,143.39955,2015-01-01 00:23:54,bin1434,35,True -CTSPillarNetworkA,1435,1435,1435,1973-12-06,143.49999999999613,143.49956,2015-01-01 00:23:55,bin1435,75,True -CTSPillarNetworkA,1436,1436,1436,1973-12-07,143.59999999999613,143.59956,2015-01-01 00:23:56,bin1436,35,True -CTSPillarNetworkA,1437,1437,1437,1973-12-08,143.69999999999612,143.69957,2015-01-01 00:23:57,bin1437,75,True -CTSPillarNetworkA,1438,1438,1438,1973-12-09,143.79999999999612,143.79958,2015-01-01 00:23:58,bin1438,35,True -CTSPillarNetworkA,1439,1439,1439,1973-12-10,143.8999999999961,143.89958,2015-01-01 00:23:59,bin1439,75,True -CTSPillarNetworkA,1440,1440,1440,1973-12-11,143.9999999999961,143.99959,2015-01-01 00:24:00,bin1440,35,True -CTSPillarNetworkA,1441,1441,1441,1973-12-12,144.0999999999961,144.0996,2015-01-01 00:24:01,bin1441,75,True -CTSPillarNetworkA,1442,1442,1442,1973-12-13,144.1999999999961,144.1996,2015-01-01 00:24:02,bin1442,35,True -CTSPillarNetworkA,1443,1443,1443,1973-12-14,144.2999999999961,144.2996,2015-01-01 00:24:03,bin1443,75,True -CTSPillarNetworkA,1444,1444,1444,1973-12-15,144.39999999999608,144.39961,2015-01-01 00:24:04,bin1444,35,True -CTSPillarNetworkA,1445,1445,1445,1973-12-16,144.49999999999608,144.49962,2015-01-01 00:24:05,bin1445,75,True -CTSPillarNetworkA,1446,1446,1446,1973-12-17,144.59999999999607,144.59962,2015-01-01 00:24:06,bin1446,35,True -CTSPillarNetworkA,1447,1447,1447,1973-12-18,144.69999999999607,144.69963,2015-01-01 00:24:07,bin1447,75,True -CTSPillarNetworkA,1448,1448,1448,1973-12-19,144.79999999999606,144.79964,2015-01-01 00:24:08,bin1448,35,True -CTSPillarNetworkA,1449,1449,1449,1973-12-20,144.89999999999606,144.89964,2015-01-01 00:24:09,bin1449,75,True -CTSPillarNetworkA,1450,1450,1450,1973-12-21,144.99999999999605,144.99965,2015-01-01 00:24:10,bin1450,35,True -CTSPillarNetworkA,1451,1451,1451,1973-12-22,145.09999999999604,145.09966,2015-01-01 00:24:11,bin1451,75,True -CTSPillarNetworkA,1452,1452,1452,1973-12-23,145.19999999999604,145.19966,2015-01-01 00:24:12,bin1452,35,True -CTSPillarNetworkA,1453,1453,1453,1973-12-24,145.29999999999603,145.29967,2015-01-01 00:24:13,bin1453,75,True -CTSPillarNetworkA,1454,1454,1454,1973-12-25,145.39999999999603,145.39967,2015-01-01 00:24:14,bin1454,35,True -CTSPillarNetworkA,1455,1455,1455,1973-12-26,145.49999999999602,145.49968,2015-01-01 00:24:15,bin1455,75,True -CTSPillarNetworkA,1456,1456,1456,1973-12-27,145.59999999999602,145.59969,2015-01-01 00:24:16,bin1456,35,True -CTSPillarNetworkA,1457,1457,1457,1973-12-28,145.699999999996,145.69969,2015-01-01 00:24:17,bin1457,75,True -CTSPillarNetworkA,1458,1458,1458,1973-12-29,145.799999999996,145.7997,2015-01-01 00:24:18,bin1458,35,True -CTSPillarNetworkA,1459,1459,1459,1973-12-30,145.899999999996,145.8997,2015-01-01 00:24:19,bin1459,75,True -CTSPillarNetworkA,1460,1460,1460,1973-12-31,145.999999999996,145.99971,2015-01-01 00:24:20,bin1460,35,True -CTSPillarNetworkA,1461,1461,1461,1974-01-01,146.099999999996,146.09972,2015-01-01 00:24:21,bin1461,75,True -CTSPillarNetworkA,1462,1462,1462,1974-01-02,146.19999999999598,146.19972,2015-01-01 00:24:22,bin1462,35,True -CTSPillarNetworkA,1463,1463,1463,1974-01-03,146.29999999999598,146.29973,2015-01-01 00:24:23,bin1463,75,True -CTSPillarNetworkA,1464,1464,1464,1974-01-04,146.39999999999597,146.39973,2015-01-01 00:24:24,bin1464,35,True -CTSPillarNetworkA,1465,1465,1465,1974-01-05,146.49999999999596,146.49974,2015-01-01 00:24:25,bin1465,75,True -CTSPillarNetworkA,1466,1466,1466,1974-01-06,146.59999999999596,146.59975,2015-01-01 00:24:26,bin1466,35,True -CTSPillarNetworkA,1467,1467,1467,1974-01-07,146.69999999999595,146.69975,2015-01-01 00:24:27,bin1467,75,True -CTSPillarNetworkA,1468,1468,1468,1974-01-08,146.79999999999595,146.79976,2015-01-01 00:24:28,bin1468,35,True -CTSPillarNetworkA,1469,1469,1469,1974-01-09,146.89999999999594,146.89977,2015-01-01 00:24:29,bin1469,75,True -CTSPillarNetworkA,1470,1470,1470,1974-01-10,146.99999999999594,146.99977,2015-01-01 00:24:30,bin1470,35,True -CTSPillarNetworkA,1471,1471,1471,1974-01-11,147.09999999999593,147.09978,2015-01-01 00:24:31,bin1471,75,True -CTSPillarNetworkA,1472,1472,1472,1974-01-12,147.19999999999592,147.19978,2015-01-01 00:24:32,bin1472,35,True -CTSPillarNetworkA,1473,1473,1473,1974-01-13,147.29999999999592,147.29979,2015-01-01 00:24:33,bin1473,75,True -CTSPillarNetworkA,1474,1474,1474,1974-01-14,147.3999999999959,147.3998,2015-01-01 00:24:34,bin1474,35,True -CTSPillarNetworkA,1475,1475,1475,1974-01-15,147.4999999999959,147.4998,2015-01-01 00:24:35,bin1475,75,True -CTSPillarNetworkA,1476,1476,1476,1974-01-16,147.5999999999959,147.59981,2015-01-01 00:24:36,bin1476,35,True -CTSPillarNetworkA,1477,1477,1477,1974-01-17,147.6999999999959,147.69981,2015-01-01 00:24:37,bin1477,75,True -CTSPillarNetworkA,1478,1478,1478,1974-01-18,147.7999999999959,147.79982,2015-01-01 00:24:38,bin1478,35,True -CTSPillarNetworkA,1479,1479,1479,1974-01-19,147.89999999999588,147.89983,2015-01-01 00:24:39,bin1479,75,True -CTSPillarNetworkA,1480,1480,1480,1974-01-20,147.99999999999588,147.99983,2015-01-01 00:24:40,bin1480,35,True -CTSPillarNetworkA,1481,1481,1481,1974-01-21,148.09999999999587,148.09984,2015-01-01 00:24:41,bin1481,75,True -CTSPillarNetworkA,1482,1482,1482,1974-01-22,148.19999999999587,148.19984,2015-01-01 00:24:42,bin1482,35,True -CTSPillarNetworkA,1483,1483,1483,1974-01-23,148.29999999999586,148.29985,2015-01-01 00:24:43,bin1483,75,True -CTSPillarNetworkA,1484,1484,1484,1974-01-24,148.39999999999586,148.39986,2015-01-01 00:24:44,bin1484,35,True -CTSPillarNetworkA,1485,1485,1485,1974-01-25,148.49999999999585,148.49986,2015-01-01 00:24:45,bin1485,75,True -CTSPillarNetworkA,1486,1486,1486,1974-01-26,148.59999999999584,148.59987,2015-01-01 00:24:46,bin1486,35,True -CTSPillarNetworkA,1487,1487,1487,1974-01-27,148.69999999999584,148.69987,2015-01-01 00:24:47,bin1487,75,True -CTSPillarNetworkA,1488,1488,1488,1974-01-28,148.79999999999583,148.79988,2015-01-01 00:24:48,bin1488,35,True -CTSPillarNetworkA,1489,1489,1489,1974-01-29,148.89999999999583,148.89989,2015-01-01 00:24:49,bin1489,75,True -CTSPillarNetworkA,1490,1490,1490,1974-01-30,148.99999999999582,148.9999,2015-01-01 00:24:50,bin1490,35,True -CTSPillarNetworkA,1491,1491,1491,1974-01-31,149.09999999999582,149.0999,2015-01-01 00:24:51,bin1491,75,True -CTSPillarNetworkA,1492,1492,1492,1974-02-01,149.1999999999958,149.1999,2015-01-01 00:24:52,bin1492,35,True -CTSPillarNetworkA,1493,1493,1493,1974-02-02,149.2999999999958,149.29991,2015-01-01 00:24:53,bin1493,75,True -CTSPillarNetworkA,1494,1494,1494,1974-02-03,149.3999999999958,149.39992,2015-01-01 00:24:54,bin1494,35,True -CTSPillarNetworkA,1495,1495,1495,1974-02-04,149.4999999999958,149.49992,2015-01-01 00:24:55,bin1495,75,True -CTSPillarNetworkA,1496,1496,1496,1974-02-05,149.5999999999958,149.59993,2015-01-01 00:24:56,bin1496,35,True -CTSPillarNetworkA,1497,1497,1497,1974-02-06,149.69999999999578,149.69994,2015-01-01 00:24:57,bin1497,75,True -CTSPillarNetworkA,1498,1498,1498,1974-02-07,149.79999999999578,149.79994,2015-01-01 00:24:58,bin1498,35,True -CTSPillarNetworkA,1499,1499,1499,1974-02-08,149.89999999999577,149.89995,2015-01-01 00:24:59,bin1499,75,True -CTSPillarNetworkA,1500,1500,1500,1974-02-09,149.99999999999577,149.99995,2015-01-01 00:25:00,bin1500,35,True -CTSPillarNetworkA,1501,1501,1501,1974-02-10,150.09999999999576,150.09996,2015-01-01 00:25:01,bin1501,75,True -CTSPillarNetworkA,1502,1502,1502,1974-02-11,150.19999999999575,150.19997,2015-01-01 00:25:02,bin1502,35,True -CTSPillarNetworkA,1503,1503,1503,1974-02-12,150.29999999999575,150.29997,2015-01-01 00:25:03,bin1503,75,True -CTSPillarNetworkA,1504,1504,1504,1974-02-13,150.39999999999574,150.39998,2015-01-01 00:25:04,bin1504,35,True -CTSPillarNetworkA,1505,1505,1505,1974-02-14,150.49999999999574,150.49998,2015-01-01 00:25:05,bin1505,75,True -CTSPillarNetworkA,1506,1506,1506,1974-02-15,150.59999999999573,150.59999,2015-01-01 00:25:06,bin1506,35,True -CTSPillarNetworkA,1507,1507,1507,1974-02-16,150.69999999999573,150.7,2015-01-01 00:25:07,bin1507,75,True -CTSPillarNetworkA,1508,1508,1508,1974-02-17,150.79999999999572,150.8,2015-01-01 00:25:08,bin1508,35,True -CTSPillarNetworkA,1509,1509,1509,1974-02-18,150.8999999999957,150.90001,2015-01-01 00:25:09,bin1509,75,True -CTSPillarNetworkA,1510,1510,1510,1974-02-19,150.9999999999957,151.00002,2015-01-01 00:25:10,bin1510,35,True -CTSPillarNetworkA,1511,1511,1511,1974-02-20,151.0999999999957,151.10002,2015-01-01 00:25:11,bin1511,75,True -CTSPillarNetworkA,1512,1512,1512,1974-02-21,151.1999999999957,151.20003,2015-01-01 00:25:12,bin1512,35,True -CTSPillarNetworkA,1513,1513,1513,1974-02-22,151.2999999999957,151.30003,2015-01-01 00:25:13,bin1513,75,True -CTSPillarNetworkA,1514,1514,1514,1974-02-23,151.39999999999569,151.40004,2015-01-01 00:25:14,bin1514,35,True -CTSPillarNetworkA,1515,1515,1515,1974-02-24,151.49999999999568,151.50005,2015-01-01 00:25:15,bin1515,75,True -CTSPillarNetworkA,1516,1516,1516,1974-02-25,151.59999999999567,151.60005,2015-01-01 00:25:16,bin1516,35,True -CTSPillarNetworkA,1517,1517,1517,1974-02-26,151.69999999999567,151.70006,2015-01-01 00:25:17,bin1517,75,True -CTSPillarNetworkA,1518,1518,1518,1974-02-27,151.79999999999566,151.80006,2015-01-01 00:25:18,bin1518,35,True -CTSPillarNetworkA,1519,1519,1519,1974-02-28,151.89999999999566,151.90007,2015-01-01 00:25:19,bin1519,75,True -CTSPillarNetworkA,1520,1520,1520,1974-03-01,151.99999999999565,152.00008,2015-01-01 00:25:20,bin1520,35,True -CTSPillarNetworkA,1521,1521,1521,1974-03-02,152.09999999999565,152.10008,2015-01-01 00:25:21,bin1521,75,True -CTSPillarNetworkA,1522,1522,1522,1974-03-03,152.19999999999564,152.20009,2015-01-01 00:25:22,bin1522,35,True -CTSPillarNetworkA,1523,1523,1523,1974-03-04,152.29999999999563,152.3001,2015-01-01 00:25:23,bin1523,75,True -CTSPillarNetworkA,1524,1524,1524,1974-03-05,152.39999999999563,152.4001,2015-01-01 00:25:24,bin1524,35,True -CTSPillarNetworkA,1525,1525,1525,1974-03-06,152.49999999999562,152.5001,2015-01-01 00:25:25,bin1525,75,True -CTSPillarNetworkA,1526,1526,1526,1974-03-07,152.59999999999562,152.60011,2015-01-01 00:25:26,bin1526,35,True -CTSPillarNetworkA,1527,1527,1527,1974-03-08,152.6999999999956,152.70012,2015-01-01 00:25:27,bin1527,75,True -CTSPillarNetworkA,1528,1528,1528,1974-03-09,152.7999999999956,152.80013,2015-01-01 00:25:28,bin1528,35,True -CTSPillarNetworkA,1529,1529,1529,1974-03-10,152.8999999999956,152.90013,2015-01-01 00:25:29,bin1529,75,True -CTSPillarNetworkA,1530,1530,1530,1974-03-11,152.9999999999956,153.00014,2015-01-01 00:25:30,bin1530,35,True -CTSPillarNetworkA,1531,1531,1531,1974-03-12,153.0999999999956,153.10014,2015-01-01 00:25:31,bin1531,75,True -CTSPillarNetworkA,1532,1532,1532,1974-03-13,153.19999999999558,153.20015,2015-01-01 00:25:32,bin1532,35,True -CTSPillarNetworkA,1533,1533,1533,1974-03-14,153.29999999999558,153.30016,2015-01-01 00:25:33,bin1533,75,True -CTSPillarNetworkA,1534,1534,1534,1974-03-15,153.39999999999557,153.40016,2015-01-01 00:25:34,bin1534,35,True -CTSPillarNetworkA,1535,1535,1535,1974-03-16,153.49999999999557,153.50017,2015-01-01 00:25:35,bin1535,75,True -CTSPillarNetworkA,1536,1536,1536,1974-03-17,153.59999999999556,153.60017,2015-01-01 00:25:36,bin1536,35,True -CTSPillarNetworkA,1537,1537,1537,1974-03-18,153.69999999999555,153.70018,2015-01-01 00:25:37,bin1537,75,True -CTSPillarNetworkA,1538,1538,1538,1974-03-19,153.79999999999555,153.80019,2015-01-01 00:25:38,bin1538,35,True -CTSPillarNetworkA,1539,1539,1539,1974-03-20,153.89999999999554,153.90019,2015-01-01 00:25:39,bin1539,75,True -CTSPillarNetworkA,1540,1540,1540,1974-03-21,153.99999999999554,154.0002,2015-01-01 00:25:40,bin1540,35,True -CTSPillarNetworkA,1541,1541,1541,1974-03-22,154.09999999999553,154.1002,2015-01-01 00:25:41,bin1541,75,True -CTSPillarNetworkA,1542,1542,1542,1974-03-23,154.19999999999553,154.20021,2015-01-01 00:25:42,bin1542,35,True -CTSPillarNetworkA,1543,1543,1543,1974-03-24,154.29999999999552,154.30022,2015-01-01 00:25:43,bin1543,75,True -CTSPillarNetworkA,1544,1544,1544,1974-03-25,154.39999999999552,154.40022,2015-01-01 00:25:44,bin1544,35,True -CTSPillarNetworkA,1545,1545,1545,1974-03-26,154.4999999999955,154.50023,2015-01-01 00:25:45,bin1545,75,True -CTSPillarNetworkA,1546,1546,1546,1974-03-27,154.5999999999955,154.60023,2015-01-01 00:25:46,bin1546,35,True -CTSPillarNetworkA,1547,1547,1547,1974-03-28,154.6999999999955,154.70024,2015-01-01 00:25:47,bin1547,75,True -CTSPillarNetworkA,1548,1548,1548,1974-03-29,154.7999999999955,154.80025,2015-01-01 00:25:48,bin1548,35,True -CTSPillarNetworkA,1549,1549,1549,1974-03-30,154.8999999999955,154.90025,2015-01-01 00:25:49,bin1549,75,True -CTSPillarNetworkA,1550,1550,1550,1974-03-31,154.99999999999548,155.00026,2015-01-01 00:25:50,bin1550,35,True -CTSPillarNetworkA,1551,1551,1551,1974-04-01,155.09999999999548,155.10027,2015-01-01 00:25:51,bin1551,75,True -CTSPillarNetworkA,1552,1552,1552,1974-04-02,155.19999999999547,155.20027,2015-01-01 00:25:52,bin1552,35,True -CTSPillarNetworkA,1553,1553,1553,1974-04-03,155.29999999999546,155.30028,2015-01-01 00:25:53,bin1553,75,True -CTSPillarNetworkA,1554,1554,1554,1974-04-04,155.39999999999546,155.40028,2015-01-01 00:25:54,bin1554,35,True -CTSPillarNetworkA,1555,1555,1555,1974-04-05,155.49999999999545,155.50029,2015-01-01 00:25:55,bin1555,75,True -CTSPillarNetworkA,1556,1556,1556,1974-04-06,155.59999999999545,155.6003,2015-01-01 00:25:56,bin1556,35,True -CTSPillarNetworkA,1557,1557,1557,1974-04-07,155.69999999999544,155.7003,2015-01-01 00:25:57,bin1557,75,True -CTSPillarNetworkA,1558,1558,1558,1974-04-08,155.79999999999544,155.80031,2015-01-01 00:25:58,bin1558,35,True -CTSPillarNetworkA,1559,1559,1559,1974-04-09,155.89999999999543,155.90031,2015-01-01 00:25:59,bin1559,75,True -CTSPillarNetworkA,1560,1560,1560,1974-04-10,155.99999999999542,156.00032,2015-01-01 00:26:00,bin1560,35,True -CTSPillarNetworkA,1561,1561,1561,1974-04-11,156.09999999999542,156.10033,2015-01-01 00:26:01,bin1561,75,True -CTSPillarNetworkA,1562,1562,1562,1974-04-12,156.1999999999954,156.20033,2015-01-01 00:26:02,bin1562,35,True -CTSPillarNetworkA,1563,1563,1563,1974-04-13,156.2999999999954,156.30034,2015-01-01 00:26:03,bin1563,75,True -CTSPillarNetworkA,1564,1564,1564,1974-04-14,156.3999999999954,156.40034,2015-01-01 00:26:04,bin1564,35,True -CTSPillarNetworkA,1565,1565,1565,1974-04-15,156.4999999999954,156.50035,2015-01-01 00:26:05,bin1565,75,True -CTSPillarNetworkA,1566,1566,1566,1974-04-16,156.5999999999954,156.60036,2015-01-01 00:26:06,bin1566,35,True -CTSPillarNetworkA,1567,1567,1567,1974-04-17,156.69999999999538,156.70036,2015-01-01 00:26:07,bin1567,75,True -CTSPillarNetworkA,1568,1568,1568,1974-04-18,156.79999999999538,156.80037,2015-01-01 00:26:08,bin1568,35,True -CTSPillarNetworkA,1569,1569,1569,1974-04-19,156.89999999999537,156.90038,2015-01-01 00:26:09,bin1569,75,True -CTSPillarNetworkA,1570,1570,1570,1974-04-20,156.99999999999537,157.00038,2015-01-01 00:26:10,bin1570,35,True -CTSPillarNetworkA,1571,1571,1571,1974-04-21,157.09999999999536,157.10039,2015-01-01 00:26:11,bin1571,75,True -CTSPillarNetworkA,1572,1572,1572,1974-04-22,157.19999999999536,157.2004,2015-01-01 00:26:12,bin1572,35,True -CTSPillarNetworkA,1573,1573,1573,1974-04-23,157.29999999999535,157.3004,2015-01-01 00:26:13,bin1573,75,True -CTSPillarNetworkA,1574,1574,1574,1974-04-24,157.39999999999534,157.4004,2015-01-01 00:26:14,bin1574,35,True -CTSPillarNetworkA,1575,1575,1575,1974-04-25,157.49999999999534,157.50041,2015-01-01 00:26:15,bin1575,75,True -CTSPillarNetworkA,1576,1576,1576,1974-04-26,157.59999999999533,157.60042,2015-01-01 00:26:16,bin1576,35,True -CTSPillarNetworkA,1577,1577,1577,1974-04-27,157.69999999999533,157.70042,2015-01-01 00:26:17,bin1577,75,True -CTSPillarNetworkA,1578,1578,1578,1974-04-28,157.79999999999532,157.80043,2015-01-01 00:26:18,bin1578,35,True -CTSPillarNetworkA,1579,1579,1579,1974-04-29,157.89999999999532,157.90044,2015-01-01 00:26:19,bin1579,75,True -CTSPillarNetworkA,1580,1580,1580,1974-04-30,157.9999999999953,158.00044,2015-01-01 00:26:20,bin1580,35,True -CTSPillarNetworkA,1581,1581,1581,1974-05-01,158.0999999999953,158.10045,2015-01-01 00:26:21,bin1581,75,True -CTSPillarNetworkA,1582,1582,1582,1974-05-02,158.1999999999953,158.20045,2015-01-01 00:26:22,bin1582,35,True -CTSPillarNetworkA,1583,1583,1583,1974-05-03,158.2999999999953,158.30046,2015-01-01 00:26:23,bin1583,75,True -CTSPillarNetworkA,1584,1584,1584,1974-05-04,158.3999999999953,158.40047,2015-01-01 00:26:24,bin1584,35,True -CTSPillarNetworkA,1585,1585,1585,1974-05-05,158.49999999999528,158.50047,2015-01-01 00:26:25,bin1585,75,True -CTSPillarNetworkA,1586,1586,1586,1974-05-06,158.59999999999528,158.60048,2015-01-01 00:26:26,bin1586,35,True -CTSPillarNetworkA,1587,1587,1587,1974-05-07,158.69999999999527,158.70049,2015-01-01 00:26:27,bin1587,75,True -CTSPillarNetworkA,1588,1588,1588,1974-05-08,158.79999999999526,158.80049,2015-01-01 00:26:28,bin1588,35,True -CTSPillarNetworkA,1589,1589,1589,1974-05-09,158.89999999999526,158.9005,2015-01-01 00:26:29,bin1589,75,True -CTSPillarNetworkA,1590,1590,1590,1974-05-10,158.99999999999525,159.0005,2015-01-01 00:26:30,bin1590,35,True -CTSPillarNetworkA,1591,1591,1591,1974-05-11,159.09999999999525,159.10051,2015-01-01 00:26:31,bin1591,75,True -CTSPillarNetworkA,1592,1592,1592,1974-05-12,159.19999999999524,159.20052,2015-01-01 00:26:32,bin1592,35,True -CTSPillarNetworkA,1593,1593,1593,1974-05-13,159.29999999999524,159.30052,2015-01-01 00:26:33,bin1593,75,True -CTSPillarNetworkA,1594,1594,1594,1974-05-14,159.39999999999523,159.40053,2015-01-01 00:26:34,bin1594,35,True -CTSPillarNetworkA,1595,1595,1595,1974-05-15,159.49999999999523,159.50053,2015-01-01 00:26:35,bin1595,75,True -CTSPillarNetworkA,1596,1596,1596,1974-05-16,159.59999999999522,159.60054,2015-01-01 00:26:36,bin1596,35,True -CTSPillarNetworkA,1597,1597,1597,1974-05-17,159.6999999999952,159.70055,2015-01-01 00:26:37,bin1597,75,True -CTSPillarNetworkA,1598,1598,1598,1974-05-18,159.7999999999952,159.80055,2015-01-01 00:26:38,bin1598,35,True -CTSPillarNetworkA,1599,1599,1599,1974-05-19,159.8999999999952,159.90056,2015-01-01 00:26:39,bin1599,75,True -CTSPillarNetworkA,1600,1600,1600,1974-05-20,159.9999999999952,160.00056,2015-01-01 00:26:40,bin1600,35,True -CTSPillarNetworkA,1601,1601,1601,1974-05-21,160.0999999999952,160.10057,2015-01-01 00:26:41,bin1601,75,True -CTSPillarNetworkA,1602,1602,1602,1974-05-22,160.19999999999519,160.20058,2015-01-01 00:26:42,bin1602,35,True -CTSPillarNetworkA,1603,1603,1603,1974-05-23,160.29999999999518,160.30058,2015-01-01 00:26:43,bin1603,75,True -CTSPillarNetworkA,1604,1604,1604,1974-05-24,160.39999999999517,160.40059,2015-01-01 00:26:44,bin1604,35,True -CTSPillarNetworkA,1605,1605,1605,1974-05-25,160.49999999999517,160.5006,2015-01-01 00:26:45,bin1605,75,True -CTSPillarNetworkA,1606,1606,1606,1974-05-26,160.59999999999516,160.6006,2015-01-01 00:26:46,bin1606,35,True -CTSPillarNetworkA,1607,1607,1607,1974-05-27,160.69999999999516,160.7006,2015-01-01 00:26:47,bin1607,75,True -CTSPillarNetworkA,1608,1608,1608,1974-05-28,160.79999999999515,160.80061,2015-01-01 00:26:48,bin1608,35,True -CTSPillarNetworkA,1609,1609,1609,1974-05-29,160.89999999999515,160.90062,2015-01-01 00:26:49,bin1609,75,True -CTSPillarNetworkA,1610,1610,1610,1974-05-30,160.99999999999514,161.00063,2015-01-01 00:26:50,bin1610,35,True -CTSPillarNetworkA,1611,1611,1611,1974-05-31,161.09999999999513,161.10063,2015-01-01 00:26:51,bin1611,75,True -CTSPillarNetworkA,1612,1612,1612,1974-06-01,161.19999999999513,161.20064,2015-01-01 00:26:52,bin1612,35,True -CTSPillarNetworkA,1613,1613,1613,1974-06-02,161.29999999999512,161.30064,2015-01-01 00:26:53,bin1613,75,True -CTSPillarNetworkA,1614,1614,1614,1974-06-03,161.39999999999512,161.40065,2015-01-01 00:26:54,bin1614,35,True -CTSPillarNetworkA,1615,1615,1615,1974-06-04,161.4999999999951,161.50066,2015-01-01 00:26:55,bin1615,75,True -CTSPillarNetworkA,1616,1616,1616,1974-06-05,161.5999999999951,161.60066,2015-01-01 00:26:56,bin1616,35,True -CTSPillarNetworkA,1617,1617,1617,1974-06-06,161.6999999999951,161.70067,2015-01-01 00:26:57,bin1617,75,True -CTSPillarNetworkA,1618,1618,1618,1974-06-07,161.7999999999951,161.80067,2015-01-01 00:26:58,bin1618,35,True -CTSPillarNetworkA,1619,1619,1619,1974-06-08,161.8999999999951,161.90068,2015-01-01 00:26:59,bin1619,75,True -CTSPillarNetworkA,1620,1620,1620,1974-06-09,161.99999999999508,162.00069,2015-01-01 00:27:00,bin1620,35,True -CTSPillarNetworkA,1621,1621,1621,1974-06-10,162.09999999999508,162.1007,2015-01-01 00:27:01,bin1621,75,True -CTSPillarNetworkA,1622,1622,1622,1974-06-11,162.19999999999507,162.2007,2015-01-01 00:27:02,bin1622,35,True -CTSPillarNetworkA,1623,1623,1623,1974-06-12,162.29999999999507,162.3007,2015-01-01 00:27:03,bin1623,75,True -CTSPillarNetworkA,1624,1624,1624,1974-06-13,162.39999999999506,162.40071,2015-01-01 00:27:04,bin1624,35,True -CTSPillarNetworkA,1625,1625,1625,1974-06-14,162.49999999999505,162.50072,2015-01-01 00:27:05,bin1625,75,True -CTSPillarNetworkA,1626,1626,1626,1974-06-15,162.59999999999505,162.60072,2015-01-01 00:27:06,bin1626,35,True -CTSPillarNetworkA,1627,1627,1627,1974-06-16,162.69999999999504,162.70073,2015-01-01 00:27:07,bin1627,75,True -CTSPillarNetworkA,1628,1628,1628,1974-06-17,162.79999999999504,162.80074,2015-01-01 00:27:08,bin1628,35,True -CTSPillarNetworkA,1629,1629,1629,1974-06-18,162.89999999999503,162.90074,2015-01-01 00:27:09,bin1629,75,True -CTSPillarNetworkA,1630,1630,1630,1974-06-19,162.99999999999503,163.00075,2015-01-01 00:27:10,bin1630,35,True -CTSPillarNetworkA,1631,1631,1631,1974-06-20,163.09999999999502,163.10075,2015-01-01 00:27:11,bin1631,75,True -CTSPillarNetworkA,1632,1632,1632,1974-06-21,163.19999999999501,163.20076,2015-01-01 00:27:12,bin1632,35,True -CTSPillarNetworkA,1633,1633,1633,1974-06-22,163.299999999995,163.30077,2015-01-01 00:27:13,bin1633,75,True -CTSPillarNetworkA,1634,1634,1634,1974-06-23,163.399999999995,163.40077,2015-01-01 00:27:14,bin1634,35,True -CTSPillarNetworkA,1635,1635,1635,1974-06-24,163.499999999995,163.50078,2015-01-01 00:27:15,bin1635,75,True -CTSPillarNetworkA,1636,1636,1636,1974-06-25,163.599999999995,163.60078,2015-01-01 00:27:16,bin1636,35,True -CTSPillarNetworkA,1637,1637,1637,1974-06-26,163.699999999995,163.70079,2015-01-01 00:27:17,bin1637,75,True -CTSPillarNetworkA,1638,1638,1638,1974-06-27,163.79999999999498,163.8008,2015-01-01 00:27:18,bin1638,35,True -CTSPillarNetworkA,1639,1639,1639,1974-06-28,163.89999999999498,163.9008,2015-01-01 00:27:19,bin1639,75,True -CTSPillarNetworkA,1640,1640,1640,1974-06-29,163.99999999999497,164.00081,2015-01-01 00:27:20,bin1640,35,True -CTSPillarNetworkA,1641,1641,1641,1974-06-30,164.09999999999496,164.10081,2015-01-01 00:27:21,bin1641,75,True -CTSPillarNetworkA,1642,1642,1642,1974-07-01,164.19999999999496,164.20082,2015-01-01 00:27:22,bin1642,35,True -CTSPillarNetworkA,1643,1643,1643,1974-07-02,164.29999999999495,164.30083,2015-01-01 00:27:23,bin1643,75,True -CTSPillarNetworkA,1644,1644,1644,1974-07-03,164.39999999999495,164.40083,2015-01-01 00:27:24,bin1644,35,True -CTSPillarNetworkA,1645,1645,1645,1974-07-04,164.49999999999494,164.50084,2015-01-01 00:27:25,bin1645,75,True -CTSPillarNetworkA,1646,1646,1646,1974-07-05,164.59999999999494,164.60085,2015-01-01 00:27:26,bin1646,35,True -CTSPillarNetworkA,1647,1647,1647,1974-07-06,164.69999999999493,164.70085,2015-01-01 00:27:27,bin1647,75,True -CTSPillarNetworkA,1648,1648,1648,1974-07-07,164.79999999999492,164.80086,2015-01-01 00:27:28,bin1648,35,True -CTSPillarNetworkA,1649,1649,1649,1974-07-08,164.89999999999492,164.90086,2015-01-01 00:27:29,bin1649,75,True -CTSPillarNetworkA,1650,1650,1650,1974-07-09,164.9999999999949,165.00087,2015-01-01 00:27:30,bin1650,35,True -CTSPillarNetworkA,1651,1651,1651,1974-07-10,165.0999999999949,165.10088,2015-01-01 00:27:31,bin1651,75,True -CTSPillarNetworkA,1652,1652,1652,1974-07-11,165.1999999999949,165.20088,2015-01-01 00:27:32,bin1652,35,True -CTSPillarNetworkA,1653,1653,1653,1974-07-12,165.2999999999949,165.30089,2015-01-01 00:27:33,bin1653,75,True -CTSPillarNetworkA,1654,1654,1654,1974-07-13,165.3999999999949,165.4009,2015-01-01 00:27:34,bin1654,35,True -CTSPillarNetworkA,1655,1655,1655,1974-07-14,165.49999999999488,165.5009,2015-01-01 00:27:35,bin1655,75,True -CTSPillarNetworkA,1656,1656,1656,1974-07-15,165.59999999999488,165.6009,2015-01-01 00:27:36,bin1656,35,True -CTSPillarNetworkA,1657,1657,1657,1974-07-16,165.69999999999487,165.70091,2015-01-01 00:27:37,bin1657,75,True -CTSPillarNetworkA,1658,1658,1658,1974-07-17,165.79999999999487,165.80092,2015-01-01 00:27:38,bin1658,35,True -CTSPillarNetworkA,1659,1659,1659,1974-07-18,165.89999999999486,165.90092,2015-01-01 00:27:39,bin1659,75,True -CTSPillarNetworkA,1660,1660,1660,1974-07-19,165.99999999999486,166.00093,2015-01-01 00:27:40,bin1660,35,True -CTSPillarNetworkA,1661,1661,1661,1974-07-20,166.09999999999485,166.10094,2015-01-01 00:27:41,bin1661,75,True -CTSPillarNetworkA,1662,1662,1662,1974-07-21,166.19999999999484,166.20094,2015-01-01 00:27:42,bin1662,35,True -CTSPillarNetworkA,1663,1663,1663,1974-07-22,166.29999999999484,166.30095,2015-01-01 00:27:43,bin1663,75,True -CTSPillarNetworkA,1664,1664,1664,1974-07-23,166.39999999999483,166.40096,2015-01-01 00:27:44,bin1664,35,True -CTSPillarNetworkA,1665,1665,1665,1974-07-24,166.49999999999483,166.50096,2015-01-01 00:27:45,bin1665,75,True -CTSPillarNetworkA,1666,1666,1666,1974-07-25,166.59999999999482,166.60097,2015-01-01 00:27:46,bin1666,35,True -CTSPillarNetworkA,1667,1667,1667,1974-07-26,166.69999999999482,166.70097,2015-01-01 00:27:47,bin1667,75,True -CTSPillarNetworkA,1668,1668,1668,1974-07-27,166.7999999999948,166.80098,2015-01-01 00:27:48,bin1668,35,True -CTSPillarNetworkA,1669,1669,1669,1974-07-28,166.8999999999948,166.90099,2015-01-01 00:27:49,bin1669,75,True -CTSPillarNetworkA,1670,1670,1670,1974-07-29,166.9999999999948,167.00099,2015-01-01 00:27:50,bin1670,35,True -CTSPillarNetworkA,1671,1671,1671,1974-07-30,167.0999999999948,167.101,2015-01-01 00:27:51,bin1671,75,True -CTSPillarNetworkA,1672,1672,1672,1974-07-31,167.1999999999948,167.201,2015-01-01 00:27:52,bin1672,35,True -CTSPillarNetworkA,1673,1673,1673,1974-08-01,167.29999999999478,167.30101,2015-01-01 00:27:53,bin1673,75,True -CTSPillarNetworkA,1674,1674,1674,1974-08-02,167.39999999999478,167.40102,2015-01-01 00:27:54,bin1674,35,True -CTSPillarNetworkA,1675,1675,1675,1974-08-03,167.49999999999477,167.50102,2015-01-01 00:27:55,bin1675,75,True -CTSPillarNetworkA,1676,1676,1676,1974-08-04,167.59999999999476,167.60103,2015-01-01 00:27:56,bin1676,35,True -CTSPillarNetworkA,1677,1677,1677,1974-08-05,167.69999999999476,167.70103,2015-01-01 00:27:57,bin1677,75,True -CTSPillarNetworkA,1678,1678,1678,1974-08-06,167.79999999999475,167.80104,2015-01-01 00:27:58,bin1678,35,True -CTSPillarNetworkA,1679,1679,1679,1974-08-07,167.89999999999475,167.90105,2015-01-01 00:27:59,bin1679,75,True -CTSPillarNetworkA,1680,1680,1680,1974-08-08,167.99999999999474,168.00105,2015-01-01 00:28:00,bin1680,35,True -CTSPillarNetworkA,1681,1681,1681,1974-08-09,168.09999999999474,168.10106,2015-01-01 00:28:01,bin1681,75,True -CTSPillarNetworkA,1682,1682,1682,1974-08-10,168.19999999999473,168.20107,2015-01-01 00:28:02,bin1682,35,True -CTSPillarNetworkA,1683,1683,1683,1974-08-11,168.29999999999472,168.30107,2015-01-01 00:28:03,bin1683,75,True -CTSPillarNetworkA,1684,1684,1684,1974-08-12,168.39999999999472,168.40108,2015-01-01 00:28:04,bin1684,35,True -CTSPillarNetworkA,1685,1685,1685,1974-08-13,168.4999999999947,168.50108,2015-01-01 00:28:05,bin1685,75,True -CTSPillarNetworkA,1686,1686,1686,1974-08-14,168.5999999999947,168.60109,2015-01-01 00:28:06,bin1686,35,True -CTSPillarNetworkA,1687,1687,1687,1974-08-15,168.6999999999947,168.7011,2015-01-01 00:28:07,bin1687,75,True -CTSPillarNetworkA,1688,1688,1688,1974-08-16,168.7999999999947,168.8011,2015-01-01 00:28:08,bin1688,35,True -CTSPillarNetworkA,1689,1689,1689,1974-08-17,168.8999999999947,168.90111,2015-01-01 00:28:09,bin1689,75,True -CTSPillarNetworkA,1690,1690,1690,1974-08-18,168.99999999999469,169.00111,2015-01-01 00:28:10,bin1690,35,True -CTSPillarNetworkA,1691,1691,1691,1974-08-19,169.09999999999468,169.10112,2015-01-01 00:28:11,bin1691,75,True -CTSPillarNetworkA,1692,1692,1692,1974-08-20,169.19999999999467,169.20113,2015-01-01 00:28:12,bin1692,35,True -CTSPillarNetworkA,1693,1693,1693,1974-08-21,169.29999999999467,169.30113,2015-01-01 00:28:13,bin1693,75,True -CTSPillarNetworkA,1694,1694,1694,1974-08-22,169.39999999999466,169.40114,2015-01-01 00:28:14,bin1694,35,True -CTSPillarNetworkA,1695,1695,1695,1974-08-23,169.49999999999466,169.50114,2015-01-01 00:28:15,bin1695,75,True -CTSPillarNetworkA,1696,1696,1696,1974-08-24,169.59999999999465,169.60115,2015-01-01 00:28:16,bin1696,35,True -CTSPillarNetworkA,1697,1697,1697,1974-08-25,169.69999999999465,169.70116,2015-01-01 00:28:17,bin1697,75,True -CTSPillarNetworkA,1698,1698,1698,1974-08-26,169.79999999999464,169.80116,2015-01-01 00:28:18,bin1698,35,True -CTSPillarNetworkA,1699,1699,1699,1974-08-27,169.89999999999463,169.90117,2015-01-01 00:28:19,bin1699,75,True -CTSPillarNetworkA,1700,1700,1700,1974-08-28,169.99999999999463,170.00117,2015-01-01 00:28:20,bin1700,35,True -CTSPillarNetworkA,1701,1701,1701,1974-08-29,170.09999999999462,170.10118,2015-01-01 00:28:21,bin1701,75,True -CTSPillarNetworkA,1702,1702,1702,1974-08-30,170.19999999999462,170.20119,2015-01-01 00:28:22,bin1702,35,True -CTSPillarNetworkA,1703,1703,1703,1974-08-31,170.2999999999946,170.3012,2015-01-01 00:28:23,bin1703,75,True -CTSPillarNetworkA,1704,1704,1704,1974-09-01,170.3999999999946,170.4012,2015-01-01 00:28:24,bin1704,35,True -CTSPillarNetworkA,1705,1705,1705,1974-09-02,170.4999999999946,170.5012,2015-01-01 00:28:25,bin1705,75,True -CTSPillarNetworkA,1706,1706,1706,1974-09-03,170.5999999999946,170.60121,2015-01-01 00:28:26,bin1706,35,True -CTSPillarNetworkA,1707,1707,1707,1974-09-04,170.6999999999946,170.70122,2015-01-01 00:28:27,bin1707,75,True -CTSPillarNetworkA,1708,1708,1708,1974-09-05,170.79999999999458,170.80122,2015-01-01 00:28:28,bin1708,35,True -CTSPillarNetworkA,1709,1709,1709,1974-09-06,170.89999999999458,170.90123,2015-01-01 00:28:29,bin1709,75,True -CTSPillarNetworkA,1710,1710,1710,1974-09-07,170.99999999999457,171.00124,2015-01-01 00:28:30,bin1710,35,True -CTSPillarNetworkA,1711,1711,1711,1974-09-08,171.09999999999457,171.10124,2015-01-01 00:28:31,bin1711,75,True -CTSPillarNetworkA,1712,1712,1712,1974-09-09,171.19999999999456,171.20125,2015-01-01 00:28:32,bin1712,35,True -CTSPillarNetworkA,1713,1713,1713,1974-09-10,171.29999999999455,171.30125,2015-01-01 00:28:33,bin1713,75,True -CTSPillarNetworkA,1714,1714,1714,1974-09-11,171.39999999999455,171.40126,2015-01-01 00:28:34,bin1714,35,True -CTSPillarNetworkA,1715,1715,1715,1974-09-12,171.49999999999454,171.50127,2015-01-01 00:28:35,bin1715,75,True -CTSPillarNetworkA,1716,1716,1716,1974-09-13,171.59999999999454,171.60127,2015-01-01 00:28:36,bin1716,35,True -CTSPillarNetworkA,1717,1717,1717,1974-09-14,171.69999999999453,171.70128,2015-01-01 00:28:37,bin1717,75,True -CTSPillarNetworkA,1718,1718,1718,1974-09-15,171.79999999999453,171.80128,2015-01-01 00:28:38,bin1718,35,True -CTSPillarNetworkA,1719,1719,1719,1974-09-16,171.89999999999452,171.90129,2015-01-01 00:28:39,bin1719,75,True -CTSPillarNetworkA,1720,1720,1720,1974-09-17,171.99999999999451,172.0013,2015-01-01 00:28:40,bin1720,35,True -CTSPillarNetworkA,1721,1721,1721,1974-09-18,172.0999999999945,172.1013,2015-01-01 00:28:41,bin1721,75,True -CTSPillarNetworkA,1722,1722,1722,1974-09-19,172.1999999999945,172.20131,2015-01-01 00:28:42,bin1722,35,True -CTSPillarNetworkA,1723,1723,1723,1974-09-20,172.2999999999945,172.30132,2015-01-01 00:28:43,bin1723,75,True -CTSPillarNetworkA,1724,1724,1724,1974-09-21,172.3999999999945,172.40132,2015-01-01 00:28:44,bin1724,35,True -CTSPillarNetworkA,1725,1725,1725,1974-09-22,172.4999999999945,172.50133,2015-01-01 00:28:45,bin1725,75,True -CTSPillarNetworkA,1726,1726,1726,1974-09-23,172.59999999999448,172.60133,2015-01-01 00:28:46,bin1726,35,True -CTSPillarNetworkA,1727,1727,1727,1974-09-24,172.69999999999447,172.70134,2015-01-01 00:28:47,bin1727,75,True -CTSPillarNetworkA,1728,1728,1728,1974-09-25,172.79999999999447,172.80135,2015-01-01 00:28:48,bin1728,35,True -CTSPillarNetworkA,1729,1729,1729,1974-09-26,172.89999999999446,172.90135,2015-01-01 00:28:49,bin1729,75,True -CTSPillarNetworkA,1730,1730,1730,1974-09-27,172.99999999999446,173.00136,2015-01-01 00:28:50,bin1730,35,True -CTSPillarNetworkA,1731,1731,1731,1974-09-28,173.09999999999445,173.10136,2015-01-01 00:28:51,bin1731,75,True -CTSPillarNetworkA,1732,1732,1732,1974-09-29,173.19999999999445,173.20137,2015-01-01 00:28:52,bin1732,35,True -CTSPillarNetworkA,1733,1733,1733,1974-09-30,173.29999999999444,173.30138,2015-01-01 00:28:53,bin1733,75,True -CTSPillarNetworkA,1734,1734,1734,1974-10-01,173.39999999999444,173.40138,2015-01-01 00:28:54,bin1734,35,True -CTSPillarNetworkA,1735,1735,1735,1974-10-02,173.49999999999443,173.50139,2015-01-01 00:28:55,bin1735,75,True -CTSPillarNetworkA,1736,1736,1736,1974-10-03,173.59999999999442,173.6014,2015-01-01 00:28:56,bin1736,35,True -CTSPillarNetworkA,1737,1737,1737,1974-10-04,173.69999999999442,173.7014,2015-01-01 00:28:57,bin1737,75,True -CTSPillarNetworkA,1738,1738,1738,1974-10-05,173.7999999999944,173.8014,2015-01-01 00:28:58,bin1738,35,True -CTSPillarNetworkA,1739,1739,1739,1974-10-06,173.8999999999944,173.90141,2015-01-01 00:28:59,bin1739,75,True -CTSPillarNetworkA,1740,1740,1740,1974-10-07,173.9999999999944,174.00142,2015-01-01 00:29:00,bin1740,35,True -CTSPillarNetworkA,1741,1741,1741,1974-10-08,174.0999999999944,174.10143,2015-01-01 00:29:01,bin1741,75,True -CTSPillarNetworkA,1742,1742,1742,1974-10-09,174.1999999999944,174.20143,2015-01-01 00:29:02,bin1742,35,True -CTSPillarNetworkA,1743,1743,1743,1974-10-10,174.29999999999438,174.30144,2015-01-01 00:29:03,bin1743,75,True -CTSPillarNetworkA,1744,1744,1744,1974-10-11,174.39999999999438,174.40144,2015-01-01 00:29:04,bin1744,35,True -CTSPillarNetworkA,1745,1745,1745,1974-10-12,174.49999999999437,174.50145,2015-01-01 00:29:05,bin1745,75,True -CTSPillarNetworkA,1746,1746,1746,1974-10-13,174.59999999999437,174.60146,2015-01-01 00:29:06,bin1746,35,True -CTSPillarNetworkA,1747,1747,1747,1974-10-14,174.69999999999436,174.70146,2015-01-01 00:29:07,bin1747,75,True -CTSPillarNetworkA,1748,1748,1748,1974-10-15,174.79999999999436,174.80147,2015-01-01 00:29:08,bin1748,35,True -CTSPillarNetworkA,1749,1749,1749,1974-10-16,174.89999999999435,174.90147,2015-01-01 00:29:09,bin1749,75,True -CTSPillarNetworkA,1750,1750,1750,1974-10-17,174.99999999999434,175.00148,2015-01-01 00:29:10,bin1750,35,True -CTSPillarNetworkA,1751,1751,1751,1974-10-18,175.09999999999434,175.10149,2015-01-01 00:29:11,bin1751,75,True -CTSPillarNetworkA,1752,1752,1752,1974-10-19,175.19999999999433,175.20149,2015-01-01 00:29:12,bin1752,35,True -CTSPillarNetworkA,1753,1753,1753,1974-10-20,175.29999999999433,175.3015,2015-01-01 00:29:13,bin1753,75,True -CTSPillarNetworkA,1754,1754,1754,1974-10-21,175.39999999999432,175.4015,2015-01-01 00:29:14,bin1754,35,True -CTSPillarNetworkA,1755,1755,1755,1974-10-22,175.49999999999432,175.50151,2015-01-01 00:29:15,bin1755,75,True -CTSPillarNetworkA,1756,1756,1756,1974-10-23,175.5999999999943,175.60152,2015-01-01 00:29:16,bin1756,35,True -CTSPillarNetworkA,1757,1757,1757,1974-10-24,175.6999999999943,175.70152,2015-01-01 00:29:17,bin1757,75,True -CTSPillarNetworkA,1758,1758,1758,1974-10-25,175.7999999999943,175.80153,2015-01-01 00:29:18,bin1758,35,True -CTSPillarNetworkA,1759,1759,1759,1974-10-26,175.8999999999943,175.90154,2015-01-01 00:29:19,bin1759,75,True -CTSPillarNetworkA,1760,1760,1760,1974-10-27,175.9999999999943,176.00154,2015-01-01 00:29:20,bin1760,35,True -CTSPillarNetworkA,1761,1761,1761,1974-10-28,176.09999999999428,176.10155,2015-01-01 00:29:21,bin1761,75,True -CTSPillarNetworkA,1762,1762,1762,1974-10-29,176.19999999999428,176.20155,2015-01-01 00:29:22,bin1762,35,True -CTSPillarNetworkA,1763,1763,1763,1974-10-30,176.29999999999427,176.30156,2015-01-01 00:29:23,bin1763,75,True -CTSPillarNetworkA,1764,1764,1764,1974-10-31,176.39999999999426,176.40157,2015-01-01 00:29:24,bin1764,35,True -CTSPillarNetworkA,1765,1765,1765,1974-11-01,176.49999999999426,176.50157,2015-01-01 00:29:25,bin1765,75,True -CTSPillarNetworkA,1766,1766,1766,1974-11-02,176.59999999999425,176.60158,2015-01-01 00:29:26,bin1766,35,True -CTSPillarNetworkA,1767,1767,1767,1974-11-03,176.69999999999425,176.70158,2015-01-01 00:29:27,bin1767,75,True -CTSPillarNetworkA,1768,1768,1768,1974-11-04,176.79999999999424,176.80159,2015-01-01 00:29:28,bin1768,35,True -CTSPillarNetworkA,1769,1769,1769,1974-11-05,176.89999999999424,176.9016,2015-01-01 00:29:29,bin1769,75,True -CTSPillarNetworkA,1770,1770,1770,1974-11-06,176.99999999999423,177.0016,2015-01-01 00:29:30,bin1770,35,True -CTSPillarNetworkA,1771,1771,1771,1974-11-07,177.09999999999422,177.10161,2015-01-01 00:29:31,bin1771,75,True -CTSPillarNetworkA,1772,1772,1772,1974-11-08,177.19999999999422,177.20161,2015-01-01 00:29:32,bin1772,35,True -CTSPillarNetworkA,1773,1773,1773,1974-11-09,177.2999999999942,177.30162,2015-01-01 00:29:33,bin1773,75,True -CTSPillarNetworkA,1774,1774,1774,1974-11-10,177.3999999999942,177.40163,2015-01-01 00:29:34,bin1774,35,True -CTSPillarNetworkA,1775,1775,1775,1974-11-11,177.4999999999942,177.50163,2015-01-01 00:29:35,bin1775,75,True -CTSPillarNetworkA,1776,1776,1776,1974-11-12,177.5999999999942,177.60164,2015-01-01 00:29:36,bin1776,35,True -CTSPillarNetworkA,1777,1777,1777,1974-11-13,177.6999999999942,177.70164,2015-01-01 00:29:37,bin1777,75,True -CTSPillarNetworkA,1778,1778,1778,1974-11-14,177.79999999999418,177.80165,2015-01-01 00:29:38,bin1778,35,True -CTSPillarNetworkA,1779,1779,1779,1974-11-15,177.89999999999418,177.90166,2015-01-01 00:29:39,bin1779,75,True -CTSPillarNetworkA,1780,1780,1780,1974-11-16,177.99999999999417,178.00166,2015-01-01 00:29:40,bin1780,35,True -CTSPillarNetworkA,1781,1781,1781,1974-11-17,178.09999999999417,178.10167,2015-01-01 00:29:41,bin1781,75,True -CTSPillarNetworkA,1782,1782,1782,1974-11-18,178.19999999999416,178.20168,2015-01-01 00:29:42,bin1782,35,True -CTSPillarNetworkA,1783,1783,1783,1974-11-19,178.29999999999416,178.30168,2015-01-01 00:29:43,bin1783,75,True -CTSPillarNetworkA,1784,1784,1784,1974-11-20,178.39999999999415,178.40169,2015-01-01 00:29:44,bin1784,35,True -CTSPillarNetworkA,1785,1785,1785,1974-11-21,178.49999999999415,178.5017,2015-01-01 00:29:45,bin1785,75,True -CTSPillarNetworkA,1786,1786,1786,1974-11-22,178.59999999999414,178.6017,2015-01-01 00:29:46,bin1786,35,True -CTSPillarNetworkA,1787,1787,1787,1974-11-23,178.69999999999413,178.7017,2015-01-01 00:29:47,bin1787,75,True -CTSPillarNetworkA,1788,1788,1788,1974-11-24,178.79999999999413,178.80171,2015-01-01 00:29:48,bin1788,35,True -CTSPillarNetworkA,1789,1789,1789,1974-11-25,178.89999999999412,178.90172,2015-01-01 00:29:49,bin1789,75,True -CTSPillarNetworkA,1790,1790,1790,1974-11-26,178.99999999999412,179.00172,2015-01-01 00:29:50,bin1790,35,True -CTSPillarNetworkA,1791,1791,1791,1974-11-27,179.0999999999941,179.10173,2015-01-01 00:29:51,bin1791,75,True -CTSPillarNetworkA,1792,1792,1792,1974-11-28,179.1999999999941,179.20174,2015-01-01 00:29:52,bin1792,35,True -CTSPillarNetworkA,1793,1793,1793,1974-11-29,179.2999999999941,179.30174,2015-01-01 00:29:53,bin1793,75,True -CTSPillarNetworkA,1794,1794,1794,1974-11-30,179.3999999999941,179.40175,2015-01-01 00:29:54,bin1794,35,True -CTSPillarNetworkA,1795,1795,1795,1974-12-01,179.4999999999941,179.50175,2015-01-01 00:29:55,bin1795,75,True -CTSPillarNetworkA,1796,1796,1796,1974-12-02,179.59999999999408,179.60176,2015-01-01 00:29:56,bin1796,35,True -CTSPillarNetworkA,1797,1797,1797,1974-12-03,179.69999999999408,179.70177,2015-01-01 00:29:57,bin1797,75,True -CTSPillarNetworkA,1798,1798,1798,1974-12-04,179.79999999999407,179.80177,2015-01-01 00:29:58,bin1798,35,True -CTSPillarNetworkA,1799,1799,1799,1974-12-05,179.89999999999407,179.90178,2015-01-01 00:29:59,bin1799,75,True -CTSPillarNetworkA,1800,1800,1800,1974-12-06,179.99999999999406,180.00179,2015-01-01 00:30:00,bin1800,35,True -CTSPillarNetworkA,1801,1801,1801,1974-12-07,180.09999999999405,180.10179,2015-01-01 00:30:01,bin1801,75,True -CTSPillarNetworkA,1802,1802,1802,1974-12-08,180.19999999999405,180.2018,2015-01-01 00:30:02,bin1802,35,True -CTSPillarNetworkA,1803,1803,1803,1974-12-09,180.29999999999404,180.3018,2015-01-01 00:30:03,bin1803,75,True -CTSPillarNetworkA,1804,1804,1804,1974-12-10,180.39999999999404,180.40181,2015-01-01 00:30:04,bin1804,35,True -CTSPillarNetworkA,1805,1805,1805,1974-12-11,180.49999999999403,180.50182,2015-01-01 00:30:05,bin1805,75,True -CTSPillarNetworkA,1806,1806,1806,1974-12-12,180.59999999999403,180.60182,2015-01-01 00:30:06,bin1806,35,True -CTSPillarNetworkA,1807,1807,1807,1974-12-13,180.69999999999402,180.70183,2015-01-01 00:30:07,bin1807,75,True -CTSPillarNetworkA,1808,1808,1808,1974-12-14,180.79999999999401,180.80183,2015-01-01 00:30:08,bin1808,35,True -CTSPillarNetworkA,1809,1809,1809,1974-12-15,180.899999999994,180.90184,2015-01-01 00:30:09,bin1809,75,True -CTSPillarNetworkA,1810,1810,1810,1974-12-16,180.999999999994,181.00185,2015-01-01 00:30:10,bin1810,35,True -CTSPillarNetworkA,1811,1811,1811,1974-12-17,181.099999999994,181.10185,2015-01-01 00:30:11,bin1811,75,True -CTSPillarNetworkA,1812,1812,1812,1974-12-18,181.199999999994,181.20186,2015-01-01 00:30:12,bin1812,35,True -CTSPillarNetworkA,1813,1813,1813,1974-12-19,181.299999999994,181.30186,2015-01-01 00:30:13,bin1813,75,True -CTSPillarNetworkA,1814,1814,1814,1974-12-20,181.39999999999398,181.40187,2015-01-01 00:30:14,bin1814,35,True -CTSPillarNetworkA,1815,1815,1815,1974-12-21,181.49999999999397,181.50188,2015-01-01 00:30:15,bin1815,75,True -CTSPillarNetworkA,1816,1816,1816,1974-12-22,181.59999999999397,181.60188,2015-01-01 00:30:16,bin1816,35,True -CTSPillarNetworkA,1817,1817,1817,1974-12-23,181.69999999999396,181.70189,2015-01-01 00:30:17,bin1817,75,True -CTSPillarNetworkA,1818,1818,1818,1974-12-24,181.79999999999396,181.8019,2015-01-01 00:30:18,bin1818,35,True -CTSPillarNetworkA,1819,1819,1819,1974-12-25,181.89999999999395,181.9019,2015-01-01 00:30:19,bin1819,75,True -CTSPillarNetworkA,1820,1820,1820,1974-12-26,181.99999999999395,182.0019,2015-01-01 00:30:20,bin1820,35,True -CTSPillarNetworkA,1821,1821,1821,1974-12-27,182.09999999999394,182.10191,2015-01-01 00:30:21,bin1821,75,True -CTSPillarNetworkA,1822,1822,1822,1974-12-28,182.19999999999393,182.20192,2015-01-01 00:30:22,bin1822,35,True -CTSPillarNetworkA,1823,1823,1823,1974-12-29,182.29999999999393,182.30193,2015-01-01 00:30:23,bin1823,75,True -CTSPillarNetworkA,1824,1824,1824,1974-12-30,182.39999999999392,182.40193,2015-01-01 00:30:24,bin1824,35,True -CTSPillarNetworkA,1825,1825,1825,1974-12-31,182.49999999999392,182.50194,2015-01-01 00:30:25,bin1825,75,True -CTSPillarNetworkA,1826,1826,1826,1975-01-01,182.5999999999939,182.60194,2015-01-01 00:30:26,bin1826,35,True -CTSPillarNetworkA,1827,1827,1827,1975-01-02,182.6999999999939,182.70195,2015-01-01 00:30:27,bin1827,75,True -CTSPillarNetworkA,1828,1828,1828,1975-01-03,182.7999999999939,182.80196,2015-01-01 00:30:28,bin1828,35,True -CTSPillarNetworkA,1829,1829,1829,1975-01-04,182.8999999999939,182.90196,2015-01-01 00:30:29,bin1829,75,True -CTSPillarNetworkA,1830,1830,1830,1975-01-05,182.9999999999939,183.00197,2015-01-01 00:30:30,bin1830,35,True -CTSPillarNetworkA,1831,1831,1831,1975-01-06,183.09999999999388,183.10197,2015-01-01 00:30:31,bin1831,75,True -CTSPillarNetworkA,1832,1832,1832,1975-01-07,183.19999999999388,183.20198,2015-01-01 00:30:32,bin1832,35,True -CTSPillarNetworkA,1833,1833,1833,1975-01-08,183.29999999999387,183.30199,2015-01-01 00:30:33,bin1833,75,True -CTSPillarNetworkA,1834,1834,1834,1975-01-09,183.39999999999387,183.402,2015-01-01 00:30:34,bin1834,35,True -CTSPillarNetworkA,1835,1835,1835,1975-01-10,183.49999999999386,183.502,2015-01-01 00:30:35,bin1835,75,True -CTSPillarNetworkA,1836,1836,1836,1975-01-11,183.59999999999386,183.602,2015-01-01 00:30:36,bin1836,35,True -CTSPillarNetworkA,1837,1837,1837,1975-01-12,183.69999999999385,183.70201,2015-01-01 00:30:37,bin1837,75,True -CTSPillarNetworkA,1838,1838,1838,1975-01-13,183.79999999999384,183.80202,2015-01-01 00:30:38,bin1838,35,True -CTSPillarNetworkA,1839,1839,1839,1975-01-14,183.89999999999384,183.90202,2015-01-01 00:30:39,bin1839,75,True -CTSPillarNetworkA,1840,1840,1840,1975-01-15,183.99999999999383,184.00203,2015-01-01 00:30:40,bin1840,35,True -CTSPillarNetworkA,1841,1841,1841,1975-01-16,184.09999999999383,184.10204,2015-01-01 00:30:41,bin1841,75,True -CTSPillarNetworkA,1842,1842,1842,1975-01-17,184.19999999999382,184.20204,2015-01-01 00:30:42,bin1842,35,True -CTSPillarNetworkA,1843,1843,1843,1975-01-18,184.29999999999382,184.30205,2015-01-01 00:30:43,bin1843,75,True -CTSPillarNetworkA,1844,1844,1844,1975-01-19,184.3999999999938,184.40205,2015-01-01 00:30:44,bin1844,35,True -CTSPillarNetworkA,1845,1845,1845,1975-01-20,184.4999999999938,184.50206,2015-01-01 00:30:45,bin1845,75,True -CTSPillarNetworkA,1846,1846,1846,1975-01-21,184.5999999999938,184.60207,2015-01-01 00:30:46,bin1846,35,True -CTSPillarNetworkA,1847,1847,1847,1975-01-22,184.6999999999938,184.70207,2015-01-01 00:30:47,bin1847,75,True -CTSPillarNetworkA,1848,1848,1848,1975-01-23,184.7999999999938,184.80208,2015-01-01 00:30:48,bin1848,35,True -CTSPillarNetworkA,1849,1849,1849,1975-01-24,184.89999999999378,184.90208,2015-01-01 00:30:49,bin1849,75,True -CTSPillarNetworkA,1850,1850,1850,1975-01-25,184.99999999999378,185.00209,2015-01-01 00:30:50,bin1850,35,True -CTSPillarNetworkA,1851,1851,1851,1975-01-26,185.09999999999377,185.1021,2015-01-01 00:30:51,bin1851,75,True -CTSPillarNetworkA,1852,1852,1852,1975-01-27,185.19999999999376,185.2021,2015-01-01 00:30:52,bin1852,35,True -CTSPillarNetworkA,1853,1853,1853,1975-01-28,185.29999999999376,185.30211,2015-01-01 00:30:53,bin1853,75,True -CTSPillarNetworkA,1854,1854,1854,1975-01-29,185.39999999999375,185.40211,2015-01-01 00:30:54,bin1854,35,True -CTSPillarNetworkA,1855,1855,1855,1975-01-30,185.49999999999375,185.50212,2015-01-01 00:30:55,bin1855,75,True -CTSPillarNetworkA,1856,1856,1856,1975-01-31,185.59999999999374,185.60213,2015-01-01 00:30:56,bin1856,35,True -CTSPillarNetworkA,1857,1857,1857,1975-02-01,185.69999999999374,185.70213,2015-01-01 00:30:57,bin1857,75,True -CTSPillarNetworkA,1858,1858,1858,1975-02-02,185.79999999999373,185.80214,2015-01-01 00:30:58,bin1858,35,True -CTSPillarNetworkA,1859,1859,1859,1975-02-03,185.89999999999372,185.90215,2015-01-01 00:30:59,bin1859,75,True -CTSPillarNetworkA,1860,1860,1860,1975-02-04,185.99999999999372,186.00215,2015-01-01 00:31:00,bin1860,35,True -CTSPillarNetworkA,1861,1861,1861,1975-02-05,186.0999999999937,186.10216,2015-01-01 00:31:01,bin1861,75,True -CTSPillarNetworkA,1862,1862,1862,1975-02-06,186.1999999999937,186.20216,2015-01-01 00:31:02,bin1862,35,True -CTSPillarNetworkA,1863,1863,1863,1975-02-07,186.2999999999937,186.30217,2015-01-01 00:31:03,bin1863,75,True -CTSPillarNetworkA,1864,1864,1864,1975-02-08,186.3999999999937,186.40218,2015-01-01 00:31:04,bin1864,35,True -CTSPillarNetworkA,1865,1865,1865,1975-02-09,186.4999999999937,186.50218,2015-01-01 00:31:05,bin1865,75,True -CTSPillarNetworkA,1866,1866,1866,1975-02-10,186.59999999999368,186.60219,2015-01-01 00:31:06,bin1866,35,True -CTSPillarNetworkA,1867,1867,1867,1975-02-11,186.69999999999368,186.7022,2015-01-01 00:31:07,bin1867,75,True -CTSPillarNetworkA,1868,1868,1868,1975-02-12,186.79999999999367,186.8022,2015-01-01 00:31:08,bin1868,35,True -CTSPillarNetworkA,1869,1869,1869,1975-02-13,186.89999999999367,186.9022,2015-01-01 00:31:09,bin1869,75,True -CTSPillarNetworkA,1870,1870,1870,1975-02-14,186.99999999999366,187.00221,2015-01-01 00:31:10,bin1870,35,True -CTSPillarNetworkA,1871,1871,1871,1975-02-15,187.09999999999366,187.10222,2015-01-01 00:31:11,bin1871,75,True -CTSPillarNetworkA,1872,1872,1872,1975-02-16,187.19999999999365,187.20222,2015-01-01 00:31:12,bin1872,35,True -CTSPillarNetworkA,1873,1873,1873,1975-02-17,187.29999999999364,187.30223,2015-01-01 00:31:13,bin1873,75,True -CTSPillarNetworkA,1874,1874,1874,1975-02-18,187.39999999999364,187.40224,2015-01-01 00:31:14,bin1874,35,True -CTSPillarNetworkA,1875,1875,1875,1975-02-19,187.49999999999363,187.50224,2015-01-01 00:31:15,bin1875,75,True -CTSPillarNetworkA,1876,1876,1876,1975-02-20,187.59999999999363,187.60225,2015-01-01 00:31:16,bin1876,35,True -CTSPillarNetworkA,1877,1877,1877,1975-02-21,187.69999999999362,187.70226,2015-01-01 00:31:17,bin1877,75,True -CTSPillarNetworkA,1878,1878,1878,1975-02-22,187.79999999999362,187.80226,2015-01-01 00:31:18,bin1878,35,True -CTSPillarNetworkA,1879,1879,1879,1975-02-23,187.8999999999936,187.90227,2015-01-01 00:31:19,bin1879,75,True -CTSPillarNetworkA,1880,1880,1880,1975-02-24,187.9999999999936,188.00227,2015-01-01 00:31:20,bin1880,35,True -CTSPillarNetworkA,1881,1881,1881,1975-02-25,188.0999999999936,188.10228,2015-01-01 00:31:21,bin1881,75,True -CTSPillarNetworkA,1882,1882,1882,1975-02-26,188.1999999999936,188.20229,2015-01-01 00:31:22,bin1882,35,True -CTSPillarNetworkA,1883,1883,1883,1975-02-27,188.2999999999936,188.30229,2015-01-01 00:31:23,bin1883,75,True -CTSPillarNetworkA,1884,1884,1884,1975-02-28,188.39999999999358,188.4023,2015-01-01 00:31:24,bin1884,35,True -CTSPillarNetworkA,1885,1885,1885,1975-03-01,188.49999999999358,188.5023,2015-01-01 00:31:25,bin1885,75,True -CTSPillarNetworkA,1886,1886,1886,1975-03-02,188.59999999999357,188.60231,2015-01-01 00:31:26,bin1886,35,True -CTSPillarNetworkA,1887,1887,1887,1975-03-03,188.69999999999357,188.70232,2015-01-01 00:31:27,bin1887,75,True -CTSPillarNetworkA,1888,1888,1888,1975-03-04,188.79999999999356,188.80232,2015-01-01 00:31:28,bin1888,35,True -CTSPillarNetworkA,1889,1889,1889,1975-03-05,188.89999999999355,188.90233,2015-01-01 00:31:29,bin1889,75,True -CTSPillarNetworkA,1890,1890,1890,1975-03-06,188.99999999999355,189.00233,2015-01-01 00:31:30,bin1890,35,True -CTSPillarNetworkA,1891,1891,1891,1975-03-07,189.09999999999354,189.10234,2015-01-01 00:31:31,bin1891,75,True -CTSPillarNetworkA,1892,1892,1892,1975-03-08,189.19999999999354,189.20235,2015-01-01 00:31:32,bin1892,35,True -CTSPillarNetworkA,1893,1893,1893,1975-03-09,189.29999999999353,189.30235,2015-01-01 00:31:33,bin1893,75,True -CTSPillarNetworkA,1894,1894,1894,1975-03-10,189.39999999999353,189.40236,2015-01-01 00:31:34,bin1894,35,True -CTSPillarNetworkA,1895,1895,1895,1975-03-11,189.49999999999352,189.50237,2015-01-01 00:31:35,bin1895,75,True -CTSPillarNetworkA,1896,1896,1896,1975-03-12,189.5999999999935,189.60237,2015-01-01 00:31:36,bin1896,35,True -CTSPillarNetworkA,1897,1897,1897,1975-03-13,189.6999999999935,189.70238,2015-01-01 00:31:37,bin1897,75,True -CTSPillarNetworkA,1898,1898,1898,1975-03-14,189.7999999999935,189.80238,2015-01-01 00:31:38,bin1898,35,True -CTSPillarNetworkA,1899,1899,1899,1975-03-15,189.8999999999935,189.90239,2015-01-01 00:31:39,bin1899,75,True -CTSPillarNetworkA,1900,1900,1900,1975-03-16,189.9999999999935,190.0024,2015-01-01 00:31:40,bin1900,35,True -CTSPillarNetworkA,1901,1901,1901,1975-03-17,190.09999999999349,190.1024,2015-01-01 00:31:41,bin1901,75,True -CTSPillarNetworkA,1902,1902,1902,1975-03-18,190.19999999999348,190.20241,2015-01-01 00:31:42,bin1902,35,True -CTSPillarNetworkA,1903,1903,1903,1975-03-19,190.29999999999347,190.30241,2015-01-01 00:31:43,bin1903,75,True -CTSPillarNetworkA,1904,1904,1904,1975-03-20,190.39999999999347,190.40242,2015-01-01 00:31:44,bin1904,35,True -CTSPillarNetworkA,1905,1905,1905,1975-03-21,190.49999999999346,190.50243,2015-01-01 00:31:45,bin1905,75,True -CTSPillarNetworkA,1906,1906,1906,1975-03-22,190.59999999999346,190.60243,2015-01-01 00:31:46,bin1906,35,True -CTSPillarNetworkA,1907,1907,1907,1975-03-23,190.69999999999345,190.70244,2015-01-01 00:31:47,bin1907,75,True -CTSPillarNetworkA,1908,1908,1908,1975-03-24,190.79999999999345,190.80244,2015-01-01 00:31:48,bin1908,35,True -CTSPillarNetworkA,1909,1909,1909,1975-03-25,190.89999999999344,190.90245,2015-01-01 00:31:49,bin1909,75,True -CTSPillarNetworkA,1910,1910,1910,1975-03-26,190.99999999999343,191.00246,2015-01-01 00:31:50,bin1910,35,True -CTSPillarNetworkA,1911,1911,1911,1975-03-27,191.09999999999343,191.10246,2015-01-01 00:31:51,bin1911,75,True -CTSPillarNetworkA,1912,1912,1912,1975-03-28,191.19999999999342,191.20247,2015-01-01 00:31:52,bin1912,35,True -CTSPillarNetworkA,1913,1913,1913,1975-03-29,191.29999999999342,191.30247,2015-01-01 00:31:53,bin1913,75,True -CTSPillarNetworkA,1914,1914,1914,1975-03-30,191.3999999999934,191.40248,2015-01-01 00:31:54,bin1914,35,True -CTSPillarNetworkA,1915,1915,1915,1975-03-31,191.4999999999934,191.50249,2015-01-01 00:31:55,bin1915,75,True -CTSPillarNetworkA,1916,1916,1916,1975-04-01,191.5999999999934,191.6025,2015-01-01 00:31:56,bin1916,35,True -CTSPillarNetworkA,1917,1917,1917,1975-04-02,191.6999999999934,191.7025,2015-01-01 00:31:57,bin1917,75,True -CTSPillarNetworkA,1918,1918,1918,1975-04-03,191.7999999999934,191.8025,2015-01-01 00:31:58,bin1918,35,True -CTSPillarNetworkA,1919,1919,1919,1975-04-04,191.89999999999338,191.90251,2015-01-01 00:31:59,bin1919,75,True -CTSPillarNetworkA,1920,1920,1920,1975-04-05,191.99999999999338,192.00252,2015-01-01 00:32:00,bin1920,35,True -CTSPillarNetworkA,1921,1921,1921,1975-04-06,192.09999999999337,192.10252,2015-01-01 00:32:01,bin1921,75,True -CTSPillarNetworkA,1922,1922,1922,1975-04-07,192.19999999999337,192.20253,2015-01-01 00:32:02,bin1922,35,True -CTSPillarNetworkA,1923,1923,1923,1975-04-08,192.29999999999336,192.30254,2015-01-01 00:32:03,bin1923,75,True -CTSPillarNetworkA,1924,1924,1924,1975-04-09,192.39999999999336,192.40254,2015-01-01 00:32:04,bin1924,35,True -CTSPillarNetworkA,1925,1925,1925,1975-04-10,192.49999999999335,192.50255,2015-01-01 00:32:05,bin1925,75,True -CTSPillarNetworkA,1926,1926,1926,1975-04-11,192.59999999999334,192.60255,2015-01-01 00:32:06,bin1926,35,True -CTSPillarNetworkA,1927,1927,1927,1975-04-12,192.69999999999334,192.70256,2015-01-01 00:32:07,bin1927,75,True -CTSPillarNetworkA,1928,1928,1928,1975-04-13,192.79999999999333,192.80257,2015-01-01 00:32:08,bin1928,35,True -CTSPillarNetworkA,1929,1929,1929,1975-04-14,192.89999999999333,192.90257,2015-01-01 00:32:09,bin1929,75,True -CTSPillarNetworkA,1930,1930,1930,1975-04-15,192.99999999999332,193.00258,2015-01-01 00:32:10,bin1930,35,True -CTSPillarNetworkA,1931,1931,1931,1975-04-16,193.09999999999332,193.10258,2015-01-01 00:32:11,bin1931,75,True -CTSPillarNetworkA,1932,1932,1932,1975-04-17,193.1999999999933,193.20259,2015-01-01 00:32:12,bin1932,35,True -CTSPillarNetworkA,1933,1933,1933,1975-04-18,193.2999999999933,193.3026,2015-01-01 00:32:13,bin1933,75,True -CTSPillarNetworkA,1934,1934,1934,1975-04-19,193.3999999999933,193.4026,2015-01-01 00:32:14,bin1934,35,True -CTSPillarNetworkA,1935,1935,1935,1975-04-20,193.4999999999933,193.50261,2015-01-01 00:32:15,bin1935,75,True -CTSPillarNetworkA,1936,1936,1936,1975-04-21,193.5999999999933,193.60262,2015-01-01 00:32:16,bin1936,35,True -CTSPillarNetworkA,1937,1937,1937,1975-04-22,193.69999999999328,193.70262,2015-01-01 00:32:17,bin1937,75,True -CTSPillarNetworkA,1938,1938,1938,1975-04-23,193.79999999999328,193.80263,2015-01-01 00:32:18,bin1938,35,True -CTSPillarNetworkA,1939,1939,1939,1975-04-24,193.89999999999327,193.90263,2015-01-01 00:32:19,bin1939,75,True -CTSPillarNetworkA,1940,1940,1940,1975-04-25,193.99999999999326,194.00264,2015-01-01 00:32:20,bin1940,35,True -CTSPillarNetworkA,1941,1941,1941,1975-04-26,194.09999999999326,194.10265,2015-01-01 00:32:21,bin1941,75,True -CTSPillarNetworkA,1942,1942,1942,1975-04-27,194.19999999999325,194.20265,2015-01-01 00:32:22,bin1942,35,True -CTSPillarNetworkA,1943,1943,1943,1975-04-28,194.29999999999325,194.30266,2015-01-01 00:32:23,bin1943,75,True -CTSPillarNetworkA,1944,1944,1944,1975-04-29,194.39999999999324,194.40266,2015-01-01 00:32:24,bin1944,35,True -CTSPillarNetworkA,1945,1945,1945,1975-04-30,194.49999999999324,194.50267,2015-01-01 00:32:25,bin1945,75,True -CTSPillarNetworkA,1946,1946,1946,1975-05-01,194.59999999999323,194.60268,2015-01-01 00:32:26,bin1946,35,True -CTSPillarNetworkA,1947,1947,1947,1975-05-02,194.69999999999322,194.70268,2015-01-01 00:32:27,bin1947,75,True -CTSPillarNetworkA,1948,1948,1948,1975-05-03,194.79999999999322,194.80269,2015-01-01 00:32:28,bin1948,35,True -CTSPillarNetworkA,1949,1949,1949,1975-05-04,194.8999999999932,194.9027,2015-01-01 00:32:29,bin1949,75,True -CTSPillarNetworkA,1950,1950,1950,1975-05-05,194.9999999999932,195.0027,2015-01-01 00:32:30,bin1950,35,True -CTSPillarNetworkA,1951,1951,1951,1975-05-06,195.0999999999932,195.1027,2015-01-01 00:32:31,bin1951,75,True -CTSPillarNetworkA,1952,1952,1952,1975-05-07,195.1999999999932,195.20271,2015-01-01 00:32:32,bin1952,35,True -CTSPillarNetworkA,1953,1953,1953,1975-05-08,195.2999999999932,195.30272,2015-01-01 00:32:33,bin1953,75,True -CTSPillarNetworkA,1954,1954,1954,1975-05-09,195.39999999999318,195.40273,2015-01-01 00:32:34,bin1954,35,True -CTSPillarNetworkA,1955,1955,1955,1975-05-10,195.49999999999318,195.50273,2015-01-01 00:32:35,bin1955,75,True -CTSPillarNetworkA,1956,1956,1956,1975-05-11,195.59999999999317,195.60274,2015-01-01 00:32:36,bin1956,35,True -CTSPillarNetworkA,1957,1957,1957,1975-05-12,195.69999999999317,195.70274,2015-01-01 00:32:37,bin1957,75,True -CTSPillarNetworkA,1958,1958,1958,1975-05-13,195.79999999999316,195.80275,2015-01-01 00:32:38,bin1958,35,True -CTSPillarNetworkA,1959,1959,1959,1975-05-14,195.89999999999316,195.90276,2015-01-01 00:32:39,bin1959,75,True -CTSPillarNetworkA,1960,1960,1960,1975-05-15,195.99999999999315,196.00276,2015-01-01 00:32:40,bin1960,35,True -CTSPillarNetworkA,1961,1961,1961,1975-05-16,196.09999999999314,196.10277,2015-01-01 00:32:41,bin1961,75,True -CTSPillarNetworkA,1962,1962,1962,1975-05-17,196.19999999999314,196.20277,2015-01-01 00:32:42,bin1962,35,True -CTSPillarNetworkA,1963,1963,1963,1975-05-18,196.29999999999313,196.30278,2015-01-01 00:32:43,bin1963,75,True -CTSPillarNetworkA,1964,1964,1964,1975-05-19,196.39999999999313,196.40279,2015-01-01 00:32:44,bin1964,35,True -CTSPillarNetworkA,1965,1965,1965,1975-05-20,196.49999999999312,196.50279,2015-01-01 00:32:45,bin1965,75,True -CTSPillarNetworkA,1966,1966,1966,1975-05-21,196.59999999999312,196.6028,2015-01-01 00:32:46,bin1966,35,True -CTSPillarNetworkA,1967,1967,1967,1975-05-22,196.6999999999931,196.7028,2015-01-01 00:32:47,bin1967,75,True -CTSPillarNetworkA,1968,1968,1968,1975-05-23,196.7999999999931,196.80281,2015-01-01 00:32:48,bin1968,35,True -CTSPillarNetworkA,1969,1969,1969,1975-05-24,196.8999999999931,196.90282,2015-01-01 00:32:49,bin1969,75,True -CTSPillarNetworkA,1970,1970,1970,1975-05-25,196.9999999999931,197.00282,2015-01-01 00:32:50,bin1970,35,True -CTSPillarNetworkA,1971,1971,1971,1975-05-26,197.0999999999931,197.10283,2015-01-01 00:32:51,bin1971,75,True -CTSPillarNetworkA,1972,1972,1972,1975-05-27,197.19999999999308,197.20284,2015-01-01 00:32:52,bin1972,35,True -CTSPillarNetworkA,1973,1973,1973,1975-05-28,197.29999999999308,197.30284,2015-01-01 00:32:53,bin1973,75,True -CTSPillarNetworkA,1974,1974,1974,1975-05-29,197.39999999999307,197.40285,2015-01-01 00:32:54,bin1974,35,True -CTSPillarNetworkA,1975,1975,1975,1975-05-30,197.49999999999307,197.50285,2015-01-01 00:32:55,bin1975,75,True -CTSPillarNetworkA,1976,1976,1976,1975-05-31,197.59999999999306,197.60286,2015-01-01 00:32:56,bin1976,35,True -CTSPillarNetworkA,1977,1977,1977,1975-06-01,197.69999999999305,197.70287,2015-01-01 00:32:57,bin1977,75,True -CTSPillarNetworkA,1978,1978,1978,1975-06-02,197.79999999999305,197.80287,2015-01-01 00:32:58,bin1978,35,True -CTSPillarNetworkA,1979,1979,1979,1975-06-03,197.89999999999304,197.90288,2015-01-01 00:32:59,bin1979,75,True -CTSPillarNetworkA,1980,1980,1980,1975-06-04,197.99999999999304,198.00288,2015-01-01 00:33:00,bin1980,35,True -CTSPillarNetworkA,1981,1981,1981,1975-06-05,198.09999999999303,198.10289,2015-01-01 00:33:01,bin1981,75,True -CTSPillarNetworkA,1982,1982,1982,1975-06-06,198.19999999999303,198.2029,2015-01-01 00:33:02,bin1982,35,True -CTSPillarNetworkA,1983,1983,1983,1975-06-07,198.29999999999302,198.3029,2015-01-01 00:33:03,bin1983,75,True -CTSPillarNetworkA,1984,1984,1984,1975-06-08,198.399999999993,198.40291,2015-01-01 00:33:04,bin1984,35,True -CTSPillarNetworkA,1985,1985,1985,1975-06-09,198.499999999993,198.50291,2015-01-01 00:33:05,bin1985,75,True -CTSPillarNetworkA,1986,1986,1986,1975-06-10,198.599999999993,198.60292,2015-01-01 00:33:06,bin1986,35,True -CTSPillarNetworkA,1987,1987,1987,1975-06-11,198.699999999993,198.70293,2015-01-01 00:33:07,bin1987,75,True -CTSPillarNetworkA,1988,1988,1988,1975-06-12,198.799999999993,198.80293,2015-01-01 00:33:08,bin1988,35,True -CTSPillarNetworkA,1989,1989,1989,1975-06-13,198.89999999999299,198.90294,2015-01-01 00:33:09,bin1989,75,True -CTSPillarNetworkA,1990,1990,1990,1975-06-14,198.99999999999298,199.00294,2015-01-01 00:33:10,bin1990,35,True -CTSPillarNetworkA,1991,1991,1991,1975-06-15,199.09999999999297,199.10295,2015-01-01 00:33:11,bin1991,75,True -CTSPillarNetworkA,1992,1992,1992,1975-06-16,199.19999999999297,199.20296,2015-01-01 00:33:12,bin1992,35,True -CTSPillarNetworkA,1993,1993,1993,1975-06-17,199.29999999999296,199.30296,2015-01-01 00:33:13,bin1993,75,True -CTSPillarNetworkA,1994,1994,1994,1975-06-18,199.39999999999296,199.40297,2015-01-01 00:33:14,bin1994,35,True -CTSPillarNetworkA,1995,1995,1995,1975-06-19,199.49999999999295,199.50298,2015-01-01 00:33:15,bin1995,75,True -CTSPillarNetworkA,1996,1996,1996,1975-06-20,199.59999999999295,199.60298,2015-01-01 00:33:16,bin1996,35,True -CTSPillarNetworkA,1997,1997,1997,1975-06-21,199.69999999999294,199.70299,2015-01-01 00:33:17,bin1997,75,True -CTSPillarNetworkA,1998,1998,1998,1975-06-22,199.79999999999293,199.803,2015-01-01 00:33:18,bin1998,35,True -CTSPillarNetworkA,1999,1999,1999,1975-06-23,199.89999999999293,199.903,2015-01-01 00:33:19,bin1999,75,True -CTSPillarNetworkA,2000,2000,2000,1975-06-24,199.99999999999292,200.003,2015-01-01 00:33:20,bin2000,35,True -CTSPillarNetworkA,2001,2001,2001,1975-06-25,200.09999999999292,200.10301,2015-01-01 00:33:21,bin2001,75,True -CTSPillarNetworkA,2002,2002,2002,1975-06-26,200.1999999999929,200.20302,2015-01-01 00:33:22,bin2002,35,True -CTSPillarNetworkA,2003,2003,2003,1975-06-27,200.2999999999929,200.30302,2015-01-01 00:33:23,bin2003,75,True -CTSPillarNetworkA,2004,2004,2004,1975-06-28,200.3999999999929,200.40303,2015-01-01 00:33:24,bin2004,35,True -CTSPillarNetworkA,2005,2005,2005,1975-06-29,200.4999999999929,200.50304,2015-01-01 00:33:25,bin2005,75,True -CTSPillarNetworkA,2006,2006,2006,1975-06-30,200.5999999999929,200.60304,2015-01-01 00:33:26,bin2006,35,True -CTSPillarNetworkA,2007,2007,2007,1975-07-01,200.69999999999288,200.70305,2015-01-01 00:33:27,bin2007,75,True -CTSPillarNetworkA,2008,2008,2008,1975-07-02,200.79999999999288,200.80305,2015-01-01 00:33:28,bin2008,35,True -CTSPillarNetworkA,2009,2009,2009,1975-07-03,200.89999999999287,200.90306,2015-01-01 00:33:29,bin2009,75,True -CTSPillarNetworkA,2010,2010,2010,1975-07-04,200.99999999999287,201.00307,2015-01-01 00:33:30,bin2010,35,True -CTSPillarNetworkA,2011,2011,2011,1975-07-05,201.09999999999286,201.10307,2015-01-01 00:33:31,bin2011,75,True -CTSPillarNetworkA,2012,2012,2012,1975-07-06,201.19999999999285,201.20308,2015-01-01 00:33:32,bin2012,35,True -CTSPillarNetworkA,2013,2013,2013,1975-07-07,201.29999999999285,201.30309,2015-01-01 00:33:33,bin2013,75,True -CTSPillarNetworkA,2014,2014,2014,1975-07-08,201.39999999999284,201.40309,2015-01-01 00:33:34,bin2014,35,True -CTSPillarNetworkA,2015,2015,2015,1975-07-09,201.49999999999284,201.5031,2015-01-01 00:33:35,bin2015,75,True -CTSPillarNetworkA,2016,2016,2016,1975-07-10,201.59999999999283,201.6031,2015-01-01 00:33:36,bin2016,35,True -CTSPillarNetworkA,2017,2017,2017,1975-07-11,201.69999999999283,201.70311,2015-01-01 00:33:37,bin2017,75,True -CTSPillarNetworkA,2018,2018,2018,1975-07-12,201.79999999999282,201.80312,2015-01-01 00:33:38,bin2018,35,True -CTSPillarNetworkA,2019,2019,2019,1975-07-13,201.89999999999281,201.90312,2015-01-01 00:33:39,bin2019,75,True -CTSPillarNetworkA,2020,2020,2020,1975-07-14,201.9999999999928,202.00313,2015-01-01 00:33:40,bin2020,35,True -CTSPillarNetworkA,2021,2021,2021,1975-07-15,202.0999999999928,202.10313,2015-01-01 00:33:41,bin2021,75,True -CTSPillarNetworkA,2022,2022,2022,1975-07-16,202.1999999999928,202.20314,2015-01-01 00:33:42,bin2022,35,True -CTSPillarNetworkA,2023,2023,2023,1975-07-17,202.2999999999928,202.30315,2015-01-01 00:33:43,bin2023,75,True -CTSPillarNetworkA,2024,2024,2024,1975-07-18,202.3999999999928,202.40315,2015-01-01 00:33:44,bin2024,35,True -CTSPillarNetworkA,2025,2025,2025,1975-07-19,202.49999999999278,202.50316,2015-01-01 00:33:45,bin2025,75,True -CTSPillarNetworkA,2026,2026,2026,1975-07-20,202.59999999999278,202.60316,2015-01-01 00:33:46,bin2026,35,True -CTSPillarNetworkA,2027,2027,2027,1975-07-21,202.69999999999277,202.70317,2015-01-01 00:33:47,bin2027,75,True -CTSPillarNetworkA,2028,2028,2028,1975-07-22,202.79999999999276,202.80318,2015-01-01 00:33:48,bin2028,35,True -CTSPillarNetworkA,2029,2029,2029,1975-07-23,202.89999999999276,202.90318,2015-01-01 00:33:49,bin2029,75,True -CTSPillarNetworkA,2030,2030,2030,1975-07-24,202.99999999999275,203.00319,2015-01-01 00:33:50,bin2030,35,True -CTSPillarNetworkA,2031,2031,2031,1975-07-25,203.09999999999275,203.1032,2015-01-01 00:33:51,bin2031,75,True -CTSPillarNetworkA,2032,2032,2032,1975-07-26,203.19999999999274,203.2032,2015-01-01 00:33:52,bin2032,35,True -CTSPillarNetworkA,2033,2033,2033,1975-07-27,203.29999999999274,203.3032,2015-01-01 00:33:53,bin2033,75,True -CTSPillarNetworkA,2034,2034,2034,1975-07-28,203.39999999999273,203.40321,2015-01-01 00:33:54,bin2034,35,True -CTSPillarNetworkA,2035,2035,2035,1975-07-29,203.49999999999272,203.50322,2015-01-01 00:33:55,bin2035,75,True -CTSPillarNetworkA,2036,2036,2036,1975-07-30,203.59999999999272,203.60323,2015-01-01 00:33:56,bin2036,35,True -CTSPillarNetworkA,2037,2037,2037,1975-07-31,203.6999999999927,203.70323,2015-01-01 00:33:57,bin2037,75,True -CTSPillarNetworkA,2038,2038,2038,1975-08-01,203.7999999999927,203.80324,2015-01-01 00:33:58,bin2038,35,True -CTSPillarNetworkA,2039,2039,2039,1975-08-02,203.8999999999927,203.90324,2015-01-01 00:33:59,bin2039,75,True -CTSPillarNetworkA,2040,2040,2040,1975-08-03,203.9999999999927,204.00325,2015-01-01 00:34:00,bin2040,35,True -CTSPillarNetworkA,2041,2041,2041,1975-08-04,204.0999999999927,204.10326,2015-01-01 00:34:01,bin2041,75,True -CTSPillarNetworkA,2042,2042,2042,1975-08-05,204.19999999999268,204.20326,2015-01-01 00:34:02,bin2042,35,True -CTSPillarNetworkA,2043,2043,2043,1975-08-06,204.29999999999268,204.30327,2015-01-01 00:34:03,bin2043,75,True -CTSPillarNetworkA,2044,2044,2044,1975-08-07,204.39999999999267,204.40327,2015-01-01 00:34:04,bin2044,35,True -CTSPillarNetworkA,2045,2045,2045,1975-08-08,204.49999999999267,204.50328,2015-01-01 00:34:05,bin2045,75,True -CTSPillarNetworkA,2046,2046,2046,1975-08-09,204.59999999999266,204.60329,2015-01-01 00:34:06,bin2046,35,True -CTSPillarNetworkA,2047,2047,2047,1975-08-10,204.69999999999266,204.7033,2015-01-01 00:34:07,bin2047,75,True -CTSPillarNetworkA,2048,2048,2048,1975-08-11,204.79999999999265,204.8033,2015-01-01 00:34:08,bin2048,35,True -CTSPillarNetworkA,2049,2049,2049,1975-08-12,204.89999999999264,204.9033,2015-01-01 00:34:09,bin2049,75,True -CTSPillarNetworkA,2050,2050,2050,1975-08-13,204.99999999999264,205.00331,2015-01-01 00:34:10,bin2050,35,True -CTSPillarNetworkA,2051,2051,2051,1975-08-14,205.09999999999263,205.10332,2015-01-01 00:34:11,bin2051,75,True -CTSPillarNetworkA,2052,2052,2052,1975-08-15,205.19999999999263,205.20332,2015-01-01 00:34:12,bin2052,35,True -CTSPillarNetworkA,2053,2053,2053,1975-08-16,205.29999999999262,205.30333,2015-01-01 00:34:13,bin2053,75,True -CTSPillarNetworkA,2054,2054,2054,1975-08-17,205.39999999999262,205.40334,2015-01-01 00:34:14,bin2054,35,True -CTSPillarNetworkA,2055,2055,2055,1975-08-18,205.4999999999926,205.50334,2015-01-01 00:34:15,bin2055,75,True -CTSPillarNetworkA,2056,2056,2056,1975-08-19,205.5999999999926,205.60335,2015-01-01 00:34:16,bin2056,35,True -CTSPillarNetworkA,2057,2057,2057,1975-08-20,205.6999999999926,205.70335,2015-01-01 00:34:17,bin2057,75,True -CTSPillarNetworkA,2058,2058,2058,1975-08-21,205.7999999999926,205.80336,2015-01-01 00:34:18,bin2058,35,True -CTSPillarNetworkA,2059,2059,2059,1975-08-22,205.8999999999926,205.90337,2015-01-01 00:34:19,bin2059,75,True -CTSPillarNetworkA,2060,2060,2060,1975-08-23,205.99999999999258,206.00337,2015-01-01 00:34:20,bin2060,35,True -CTSPillarNetworkA,2061,2061,2061,1975-08-24,206.09999999999258,206.10338,2015-01-01 00:34:21,bin2061,75,True -CTSPillarNetworkA,2062,2062,2062,1975-08-25,206.19999999999257,206.20338,2015-01-01 00:34:22,bin2062,35,True -CTSPillarNetworkA,2063,2063,2063,1975-08-26,206.29999999999256,206.30339,2015-01-01 00:34:23,bin2063,75,True -CTSPillarNetworkA,2064,2064,2064,1975-08-27,206.39999999999256,206.4034,2015-01-01 00:34:24,bin2064,35,True -CTSPillarNetworkA,2065,2065,2065,1975-08-28,206.49999999999255,206.5034,2015-01-01 00:34:25,bin2065,75,True -CTSPillarNetworkA,2066,2066,2066,1975-08-29,206.59999999999255,206.60341,2015-01-01 00:34:26,bin2066,35,True -CTSPillarNetworkA,2067,2067,2067,1975-08-30,206.69999999999254,206.70341,2015-01-01 00:34:27,bin2067,75,True -CTSPillarNetworkA,2068,2068,2068,1975-08-31,206.79999999999254,206.80342,2015-01-01 00:34:28,bin2068,35,True -CTSPillarNetworkA,2069,2069,2069,1975-09-01,206.89999999999253,206.90343,2015-01-01 00:34:29,bin2069,75,True -CTSPillarNetworkA,2070,2070,2070,1975-09-02,206.99999999999253,207.00343,2015-01-01 00:34:30,bin2070,35,True -CTSPillarNetworkA,2071,2071,2071,1975-09-03,207.09999999999252,207.10344,2015-01-01 00:34:31,bin2071,75,True -CTSPillarNetworkA,2072,2072,2072,1975-09-04,207.1999999999925,207.20345,2015-01-01 00:34:32,bin2072,35,True -CTSPillarNetworkA,2073,2073,2073,1975-09-05,207.2999999999925,207.30345,2015-01-01 00:34:33,bin2073,75,True -CTSPillarNetworkA,2074,2074,2074,1975-09-06,207.3999999999925,207.40346,2015-01-01 00:34:34,bin2074,35,True -CTSPillarNetworkA,2075,2075,2075,1975-09-07,207.4999999999925,207.50346,2015-01-01 00:34:35,bin2075,75,True -CTSPillarNetworkA,2076,2076,2076,1975-09-08,207.5999999999925,207.60347,2015-01-01 00:34:36,bin2076,35,True -CTSPillarNetworkA,2077,2077,2077,1975-09-09,207.69999999999249,207.70348,2015-01-01 00:34:37,bin2077,75,True -CTSPillarNetworkA,2078,2078,2078,1975-09-10,207.79999999999248,207.80348,2015-01-01 00:34:38,bin2078,35,True -CTSPillarNetworkA,2079,2079,2079,1975-09-11,207.89999999999247,207.90349,2015-01-01 00:34:39,bin2079,75,True -CTSPillarNetworkA,2080,2080,2080,1975-09-12,207.99999999999247,208.0035,2015-01-01 00:34:40,bin2080,35,True -CTSPillarNetworkA,2081,2081,2081,1975-09-13,208.09999999999246,208.1035,2015-01-01 00:34:41,bin2081,75,True -CTSPillarNetworkA,2082,2082,2082,1975-09-14,208.19999999999246,208.2035,2015-01-01 00:34:42,bin2082,35,True -CTSPillarNetworkA,2083,2083,2083,1975-09-15,208.29999999999245,208.30351,2015-01-01 00:34:43,bin2083,75,True -CTSPillarNetworkA,2084,2084,2084,1975-09-16,208.39999999999245,208.40352,2015-01-01 00:34:44,bin2084,35,True -CTSPillarNetworkA,2085,2085,2085,1975-09-17,208.49999999999244,208.50352,2015-01-01 00:34:45,bin2085,75,True -CTSPillarNetworkA,2086,2086,2086,1975-09-18,208.59999999999243,208.60353,2015-01-01 00:34:46,bin2086,35,True -CTSPillarNetworkA,2087,2087,2087,1975-09-19,208.69999999999243,208.70354,2015-01-01 00:34:47,bin2087,75,True -CTSPillarNetworkA,2088,2088,2088,1975-09-20,208.79999999999242,208.80354,2015-01-01 00:34:48,bin2088,35,True -CTSPillarNetworkA,2089,2089,2089,1975-09-21,208.89999999999242,208.90355,2015-01-01 00:34:49,bin2089,75,True -CTSPillarNetworkA,2090,2090,2090,1975-09-22,208.9999999999924,209.00356,2015-01-01 00:34:50,bin2090,35,True -CTSPillarNetworkA,2091,2091,2091,1975-09-23,209.0999999999924,209.10356,2015-01-01 00:34:51,bin2091,75,True -CTSPillarNetworkA,2092,2092,2092,1975-09-24,209.1999999999924,209.20357,2015-01-01 00:34:52,bin2092,35,True -CTSPillarNetworkA,2093,2093,2093,1975-09-25,209.2999999999924,209.30357,2015-01-01 00:34:53,bin2093,75,True -CTSPillarNetworkA,2094,2094,2094,1975-09-26,209.3999999999924,209.40358,2015-01-01 00:34:54,bin2094,35,True -CTSPillarNetworkA,2095,2095,2095,1975-09-27,209.49999999999238,209.50359,2015-01-01 00:34:55,bin2095,75,True -CTSPillarNetworkA,2096,2096,2096,1975-09-28,209.59999999999238,209.60359,2015-01-01 00:34:56,bin2096,35,True -CTSPillarNetworkA,2097,2097,2097,1975-09-29,209.69999999999237,209.7036,2015-01-01 00:34:57,bin2097,75,True -CTSPillarNetworkA,2098,2098,2098,1975-09-30,209.79999999999237,209.8036,2015-01-01 00:34:58,bin2098,35,True -CTSPillarNetworkA,2099,2099,2099,1975-10-01,209.89999999999236,209.90361,2015-01-01 00:34:59,bin2099,75,True -CTSPillarNetworkA,2100,2100,2100,1975-10-02,209.99999999999235,210.00362,2015-01-01 00:35:00,bin2100,35,True -CTSPillarNetworkA,2101,2101,2101,1975-10-03,210.09999999999235,210.10362,2015-01-01 00:35:01,bin2101,75,True -CTSPillarNetworkA,2102,2102,2102,1975-10-04,210.19999999999234,210.20363,2015-01-01 00:35:02,bin2102,35,True -CTSPillarNetworkA,2103,2103,2103,1975-10-05,210.29999999999234,210.30363,2015-01-01 00:35:03,bin2103,75,True -CTSPillarNetworkA,2104,2104,2104,1975-10-06,210.39999999999233,210.40364,2015-01-01 00:35:04,bin2104,35,True -CTSPillarNetworkA,2105,2105,2105,1975-10-07,210.49999999999233,210.50365,2015-01-01 00:35:05,bin2105,75,True -CTSPillarNetworkA,2106,2106,2106,1975-10-08,210.59999999999232,210.60365,2015-01-01 00:35:06,bin2106,35,True -CTSPillarNetworkA,2107,2107,2107,1975-10-09,210.69999999999231,210.70366,2015-01-01 00:35:07,bin2107,75,True -CTSPillarNetworkA,2108,2108,2108,1975-10-10,210.7999999999923,210.80367,2015-01-01 00:35:08,bin2108,35,True -CTSPillarNetworkA,2109,2109,2109,1975-10-11,210.8999999999923,210.90367,2015-01-01 00:35:09,bin2109,75,True -CTSPillarNetworkA,2110,2110,2110,1975-10-12,210.9999999999923,211.00368,2015-01-01 00:35:10,bin2110,35,True -CTSPillarNetworkA,2111,2111,2111,1975-10-13,211.0999999999923,211.10368,2015-01-01 00:35:11,bin2111,75,True -CTSPillarNetworkA,2112,2112,2112,1975-10-14,211.1999999999923,211.20369,2015-01-01 00:35:12,bin2112,35,True -CTSPillarNetworkA,2113,2113,2113,1975-10-15,211.29999999999228,211.3037,2015-01-01 00:35:13,bin2113,75,True -CTSPillarNetworkA,2114,2114,2114,1975-10-16,211.39999999999227,211.4037,2015-01-01 00:35:14,bin2114,35,True -CTSPillarNetworkA,2115,2115,2115,1975-10-17,211.49999999999227,211.50371,2015-01-01 00:35:15,bin2115,75,True -CTSPillarNetworkA,2116,2116,2116,1975-10-18,211.59999999999226,211.60371,2015-01-01 00:35:16,bin2116,35,True -CTSPillarNetworkA,2117,2117,2117,1975-10-19,211.69999999999226,211.70372,2015-01-01 00:35:17,bin2117,75,True -CTSPillarNetworkA,2118,2118,2118,1975-10-20,211.79999999999225,211.80373,2015-01-01 00:35:18,bin2118,35,True -CTSPillarNetworkA,2119,2119,2119,1975-10-21,211.89999999999225,211.90373,2015-01-01 00:35:19,bin2119,75,True -CTSPillarNetworkA,2120,2120,2120,1975-10-22,211.99999999999224,212.00374,2015-01-01 00:35:20,bin2120,35,True -CTSPillarNetworkA,2121,2121,2121,1975-10-23,212.09999999999224,212.10374,2015-01-01 00:35:21,bin2121,75,True -CTSPillarNetworkA,2122,2122,2122,1975-10-24,212.19999999999223,212.20375,2015-01-01 00:35:22,bin2122,35,True -CTSPillarNetworkA,2123,2123,2123,1975-10-25,212.29999999999222,212.30376,2015-01-01 00:35:23,bin2123,75,True -CTSPillarNetworkA,2124,2124,2124,1975-10-26,212.39999999999222,212.40376,2015-01-01 00:35:24,bin2124,35,True -CTSPillarNetworkA,2125,2125,2125,1975-10-27,212.4999999999922,212.50377,2015-01-01 00:35:25,bin2125,75,True -CTSPillarNetworkA,2126,2126,2126,1975-10-28,212.5999999999922,212.60378,2015-01-01 00:35:26,bin2126,35,True -CTSPillarNetworkA,2127,2127,2127,1975-10-29,212.6999999999922,212.70378,2015-01-01 00:35:27,bin2127,75,True -CTSPillarNetworkA,2128,2128,2128,1975-10-30,212.7999999999922,212.80379,2015-01-01 00:35:28,bin2128,35,True -CTSPillarNetworkA,2129,2129,2129,1975-10-31,212.8999999999922,212.9038,2015-01-01 00:35:29,bin2129,75,True -CTSPillarNetworkA,2130,2130,2130,1975-11-01,212.99999999999218,213.0038,2015-01-01 00:35:30,bin2130,35,True -CTSPillarNetworkA,2131,2131,2131,1975-11-02,213.09999999999218,213.1038,2015-01-01 00:35:31,bin2131,75,True -CTSPillarNetworkA,2132,2132,2132,1975-11-03,213.19999999999217,213.20381,2015-01-01 00:35:32,bin2132,35,True -CTSPillarNetworkA,2133,2133,2133,1975-11-04,213.29999999999217,213.30382,2015-01-01 00:35:33,bin2133,75,True -CTSPillarNetworkA,2134,2134,2134,1975-11-05,213.39999999999216,213.40382,2015-01-01 00:35:34,bin2134,35,True -CTSPillarNetworkA,2135,2135,2135,1975-11-06,213.49999999999216,213.50383,2015-01-01 00:35:35,bin2135,75,True -CTSPillarNetworkA,2136,2136,2136,1975-11-07,213.59999999999215,213.60384,2015-01-01 00:35:36,bin2136,35,True -CTSPillarNetworkA,2137,2137,2137,1975-11-08,213.69999999999214,213.70384,2015-01-01 00:35:37,bin2137,75,True -CTSPillarNetworkA,2138,2138,2138,1975-11-09,213.79999999999214,213.80385,2015-01-01 00:35:38,bin2138,35,True -CTSPillarNetworkA,2139,2139,2139,1975-11-10,213.89999999999213,213.90385,2015-01-01 00:35:39,bin2139,75,True -CTSPillarNetworkA,2140,2140,2140,1975-11-11,213.99999999999213,214.00386,2015-01-01 00:35:40,bin2140,35,True -CTSPillarNetworkA,2141,2141,2141,1975-11-12,214.09999999999212,214.10387,2015-01-01 00:35:41,bin2141,75,True -CTSPillarNetworkA,2142,2142,2142,1975-11-13,214.19999999999212,214.20387,2015-01-01 00:35:42,bin2142,35,True -CTSPillarNetworkA,2143,2143,2143,1975-11-14,214.2999999999921,214.30388,2015-01-01 00:35:43,bin2143,75,True -CTSPillarNetworkA,2144,2144,2144,1975-11-15,214.3999999999921,214.40388,2015-01-01 00:35:44,bin2144,35,True -CTSPillarNetworkA,2145,2145,2145,1975-11-16,214.4999999999921,214.50389,2015-01-01 00:35:45,bin2145,75,True -CTSPillarNetworkA,2146,2146,2146,1975-11-17,214.5999999999921,214.6039,2015-01-01 00:35:46,bin2146,35,True -CTSPillarNetworkA,2147,2147,2147,1975-11-18,214.6999999999921,214.7039,2015-01-01 00:35:47,bin2147,75,True -CTSPillarNetworkA,2148,2148,2148,1975-11-19,214.79999999999208,214.80391,2015-01-01 00:35:48,bin2148,35,True -CTSPillarNetworkA,2149,2149,2149,1975-11-20,214.89999999999208,214.90392,2015-01-01 00:35:49,bin2149,75,True -CTSPillarNetworkA,2150,2150,2150,1975-11-21,214.99999999999207,215.00392,2015-01-01 00:35:50,bin2150,35,True -CTSPillarNetworkA,2151,2151,2151,1975-11-22,215.09999999999206,215.10393,2015-01-01 00:35:51,bin2151,75,True -CTSPillarNetworkA,2152,2152,2152,1975-11-23,215.19999999999206,215.20393,2015-01-01 00:35:52,bin2152,35,True -CTSPillarNetworkA,2153,2153,2153,1975-11-24,215.29999999999205,215.30394,2015-01-01 00:35:53,bin2153,75,True -CTSPillarNetworkA,2154,2154,2154,1975-11-25,215.39999999999205,215.40395,2015-01-01 00:35:54,bin2154,35,True -CTSPillarNetworkA,2155,2155,2155,1975-11-26,215.49999999999204,215.50395,2015-01-01 00:35:55,bin2155,75,True -CTSPillarNetworkA,2156,2156,2156,1975-11-27,215.59999999999204,215.60396,2015-01-01 00:35:56,bin2156,35,True -CTSPillarNetworkA,2157,2157,2157,1975-11-28,215.69999999999203,215.70396,2015-01-01 00:35:57,bin2157,75,True -CTSPillarNetworkA,2158,2158,2158,1975-11-29,215.79999999999202,215.80397,2015-01-01 00:35:58,bin2158,35,True -CTSPillarNetworkA,2159,2159,2159,1975-11-30,215.89999999999202,215.90398,2015-01-01 00:35:59,bin2159,75,True -CTSPillarNetworkA,2160,2160,2160,1975-12-01,215.999999999992,216.00398,2015-01-01 00:36:00,bin2160,35,True -CTSPillarNetworkA,2161,2161,2161,1975-12-02,216.099999999992,216.10399,2015-01-01 00:36:01,bin2161,75,True -CTSPillarNetworkA,2162,2162,2162,1975-12-03,216.199999999992,216.204,2015-01-01 00:36:02,bin2162,35,True -CTSPillarNetworkA,2163,2163,2163,1975-12-04,216.299999999992,216.304,2015-01-01 00:36:03,bin2163,75,True -CTSPillarNetworkA,2164,2164,2164,1975-12-05,216.399999999992,216.404,2015-01-01 00:36:04,bin2164,35,True -CTSPillarNetworkA,2165,2165,2165,1975-12-06,216.49999999999199,216.50401,2015-01-01 00:36:05,bin2165,75,True -CTSPillarNetworkA,2166,2166,2166,1975-12-07,216.59999999999198,216.60402,2015-01-01 00:36:06,bin2166,35,True -CTSPillarNetworkA,2167,2167,2167,1975-12-08,216.69999999999197,216.70403,2015-01-01 00:36:07,bin2167,75,True -CTSPillarNetworkA,2168,2168,2168,1975-12-09,216.79999999999197,216.80403,2015-01-01 00:36:08,bin2168,35,True -CTSPillarNetworkA,2169,2169,2169,1975-12-10,216.89999999999196,216.90404,2015-01-01 00:36:09,bin2169,75,True -CTSPillarNetworkA,2170,2170,2170,1975-12-11,216.99999999999196,217.00404,2015-01-01 00:36:10,bin2170,35,True -CTSPillarNetworkA,2171,2171,2171,1975-12-12,217.09999999999195,217.10405,2015-01-01 00:36:11,bin2171,75,True -CTSPillarNetworkA,2172,2172,2172,1975-12-13,217.19999999999195,217.20406,2015-01-01 00:36:12,bin2172,35,True -CTSPillarNetworkA,2173,2173,2173,1975-12-14,217.29999999999194,217.30406,2015-01-01 00:36:13,bin2173,75,True -CTSPillarNetworkA,2174,2174,2174,1975-12-15,217.39999999999193,217.40407,2015-01-01 00:36:14,bin2174,35,True -CTSPillarNetworkA,2175,2175,2175,1975-12-16,217.49999999999193,217.50407,2015-01-01 00:36:15,bin2175,75,True -CTSPillarNetworkA,2176,2176,2176,1975-12-17,217.59999999999192,217.60408,2015-01-01 00:36:16,bin2176,35,True -CTSPillarNetworkA,2177,2177,2177,1975-12-18,217.69999999999192,217.70409,2015-01-01 00:36:17,bin2177,75,True -CTSPillarNetworkA,2178,2178,2178,1975-12-19,217.7999999999919,217.8041,2015-01-01 00:36:18,bin2178,35,True -CTSPillarNetworkA,2179,2179,2179,1975-12-20,217.8999999999919,217.9041,2015-01-01 00:36:19,bin2179,75,True -CTSPillarNetworkA,2180,2180,2180,1975-12-21,217.9999999999919,218.0041,2015-01-01 00:36:20,bin2180,35,True -CTSPillarNetworkA,2181,2181,2181,1975-12-22,218.0999999999919,218.10411,2015-01-01 00:36:21,bin2181,75,True -CTSPillarNetworkA,2182,2182,2182,1975-12-23,218.1999999999919,218.20412,2015-01-01 00:36:22,bin2182,35,True -CTSPillarNetworkA,2183,2183,2183,1975-12-24,218.29999999999188,218.30412,2015-01-01 00:36:23,bin2183,75,True -CTSPillarNetworkA,2184,2184,2184,1975-12-25,218.39999999999188,218.40413,2015-01-01 00:36:24,bin2184,35,True -CTSPillarNetworkA,2185,2185,2185,1975-12-26,218.49999999999187,218.50414,2015-01-01 00:36:25,bin2185,75,True -CTSPillarNetworkA,2186,2186,2186,1975-12-27,218.59999999999187,218.60414,2015-01-01 00:36:26,bin2186,35,True -CTSPillarNetworkA,2187,2187,2187,1975-12-28,218.69999999999186,218.70415,2015-01-01 00:36:27,bin2187,75,True -CTSPillarNetworkA,2188,2188,2188,1975-12-29,218.79999999999185,218.80415,2015-01-01 00:36:28,bin2188,35,True -CTSPillarNetworkA,2189,2189,2189,1975-12-30,218.89999999999185,218.90416,2015-01-01 00:36:29,bin2189,75,True -CTSPillarNetworkA,2190,2190,2190,1975-12-31,218.99999999999184,219.00417,2015-01-01 00:36:30,bin2190,35,True -CTSPillarNetworkA,2191,2191,2191,1976-01-01,219.09999999999184,219.10417,2015-01-01 00:36:31,bin2191,75,True -CTSPillarNetworkA,2192,2192,2192,1976-01-02,219.19999999999183,219.20418,2015-01-01 00:36:32,bin2192,35,True -CTSPillarNetworkA,2193,2193,2193,1976-01-03,219.29999999999183,219.30418,2015-01-01 00:36:33,bin2193,75,True -CTSPillarNetworkA,2194,2194,2194,1976-01-04,219.39999999999182,219.40419,2015-01-01 00:36:34,bin2194,35,True -CTSPillarNetworkA,2195,2195,2195,1976-01-05,219.49999999999181,219.5042,2015-01-01 00:36:35,bin2195,75,True -CTSPillarNetworkA,2196,2196,2196,1976-01-06,219.5999999999918,219.6042,2015-01-01 00:36:36,bin2196,35,True -CTSPillarNetworkA,2197,2197,2197,1976-01-07,219.6999999999918,219.70421,2015-01-01 00:36:37,bin2197,75,True -CTSPillarNetworkA,2198,2198,2198,1976-01-08,219.7999999999918,219.80421,2015-01-01 00:36:38,bin2198,35,True -CTSPillarNetworkA,2199,2199,2199,1976-01-09,219.8999999999918,219.90422,2015-01-01 00:36:39,bin2199,75,True -CTSPillarNetworkA,2200,2200,2200,1976-01-10,219.9999999999918,220.00423,2015-01-01 00:36:40,bin2200,35,True -CTSPillarNetworkA,2201,2201,2201,1976-01-11,220.09999999999178,220.10423,2015-01-01 00:36:41,bin2201,75,True -CTSPillarNetworkA,2202,2202,2202,1976-01-12,220.19999999999177,220.20424,2015-01-01 00:36:42,bin2202,35,True -CTSPillarNetworkA,2203,2203,2203,1976-01-13,220.29999999999177,220.30424,2015-01-01 00:36:43,bin2203,75,True -CTSPillarNetworkA,2204,2204,2204,1976-01-14,220.39999999999176,220.40425,2015-01-01 00:36:44,bin2204,35,True -CTSPillarNetworkA,2205,2205,2205,1976-01-15,220.49999999999176,220.50426,2015-01-01 00:36:45,bin2205,75,True -CTSPillarNetworkA,2206,2206,2206,1976-01-16,220.59999999999175,220.60426,2015-01-01 00:36:46,bin2206,35,True -CTSPillarNetworkA,2207,2207,2207,1976-01-17,220.69999999999175,220.70427,2015-01-01 00:36:47,bin2207,75,True -CTSPillarNetworkA,2208,2208,2208,1976-01-18,220.79999999999174,220.80428,2015-01-01 00:36:48,bin2208,35,True -CTSPillarNetworkA,2209,2209,2209,1976-01-19,220.89999999999173,220.90428,2015-01-01 00:36:49,bin2209,75,True -CTSPillarNetworkA,2210,2210,2210,1976-01-20,220.99999999999173,221.00429,2015-01-01 00:36:50,bin2210,35,True -CTSPillarNetworkA,2211,2211,2211,1976-01-21,221.09999999999172,221.1043,2015-01-01 00:36:51,bin2211,75,True -CTSPillarNetworkA,2212,2212,2212,1976-01-22,221.19999999999172,221.2043,2015-01-01 00:36:52,bin2212,35,True -CTSPillarNetworkA,2213,2213,2213,1976-01-23,221.2999999999917,221.3043,2015-01-01 00:36:53,bin2213,75,True -CTSPillarNetworkA,2214,2214,2214,1976-01-24,221.3999999999917,221.40431,2015-01-01 00:36:54,bin2214,35,True -CTSPillarNetworkA,2215,2215,2215,1976-01-25,221.4999999999917,221.50432,2015-01-01 00:36:55,bin2215,75,True -CTSPillarNetworkA,2216,2216,2216,1976-01-26,221.5999999999917,221.60432,2015-01-01 00:36:56,bin2216,35,True -CTSPillarNetworkA,2217,2217,2217,1976-01-27,221.6999999999917,221.70433,2015-01-01 00:36:57,bin2217,75,True -CTSPillarNetworkA,2218,2218,2218,1976-01-28,221.79999999999168,221.80434,2015-01-01 00:36:58,bin2218,35,True -CTSPillarNetworkA,2219,2219,2219,1976-01-29,221.89999999999168,221.90434,2015-01-01 00:36:59,bin2219,75,True -CTSPillarNetworkA,2220,2220,2220,1976-01-30,221.99999999999167,222.00435,2015-01-01 00:37:00,bin2220,35,True -CTSPillarNetworkA,2221,2221,2221,1976-01-31,222.09999999999167,222.10435,2015-01-01 00:37:01,bin2221,75,True -CTSPillarNetworkA,2222,2222,2222,1976-02-01,222.19999999999166,222.20436,2015-01-01 00:37:02,bin2222,35,True -CTSPillarNetworkA,2223,2223,2223,1976-02-02,222.29999999999166,222.30437,2015-01-01 00:37:03,bin2223,75,True -CTSPillarNetworkA,2224,2224,2224,1976-02-03,222.39999999999165,222.40437,2015-01-01 00:37:04,bin2224,35,True -CTSPillarNetworkA,2225,2225,2225,1976-02-04,222.49999999999164,222.50438,2015-01-01 00:37:05,bin2225,75,True -CTSPillarNetworkA,2226,2226,2226,1976-02-05,222.59999999999164,222.60439,2015-01-01 00:37:06,bin2226,35,True -CTSPillarNetworkA,2227,2227,2227,1976-02-06,222.69999999999163,222.70439,2015-01-01 00:37:07,bin2227,75,True -CTSPillarNetworkA,2228,2228,2228,1976-02-07,222.79999999999163,222.8044,2015-01-01 00:37:08,bin2228,35,True -CTSPillarNetworkA,2229,2229,2229,1976-02-08,222.89999999999162,222.9044,2015-01-01 00:37:09,bin2229,75,True -CTSPillarNetworkA,2230,2230,2230,1976-02-09,222.99999999999162,223.00441,2015-01-01 00:37:10,bin2230,35,True -CTSPillarNetworkA,2231,2231,2231,1976-02-10,223.0999999999916,223.10442,2015-01-01 00:37:11,bin2231,75,True -CTSPillarNetworkA,2232,2232,2232,1976-02-11,223.1999999999916,223.20442,2015-01-01 00:37:12,bin2232,35,True -CTSPillarNetworkA,2233,2233,2233,1976-02-12,223.2999999999916,223.30443,2015-01-01 00:37:13,bin2233,75,True -CTSPillarNetworkA,2234,2234,2234,1976-02-13,223.3999999999916,223.40443,2015-01-01 00:37:14,bin2234,35,True -CTSPillarNetworkA,2235,2235,2235,1976-02-14,223.4999999999916,223.50444,2015-01-01 00:37:15,bin2235,75,True -CTSPillarNetworkA,2236,2236,2236,1976-02-15,223.59999999999158,223.60445,2015-01-01 00:37:16,bin2236,35,True -CTSPillarNetworkA,2237,2237,2237,1976-02-16,223.69999999999158,223.70445,2015-01-01 00:37:17,bin2237,75,True -CTSPillarNetworkA,2238,2238,2238,1976-02-17,223.79999999999157,223.80446,2015-01-01 00:37:18,bin2238,35,True -CTSPillarNetworkA,2239,2239,2239,1976-02-18,223.89999999999156,223.90446,2015-01-01 00:37:19,bin2239,75,True -CTSPillarNetworkA,2240,2240,2240,1976-02-19,223.99999999999156,224.00447,2015-01-01 00:37:20,bin2240,35,True -CTSPillarNetworkA,2241,2241,2241,1976-02-20,224.09999999999155,224.10448,2015-01-01 00:37:21,bin2241,75,True -CTSPillarNetworkA,2242,2242,2242,1976-02-21,224.19999999999155,224.20448,2015-01-01 00:37:22,bin2242,35,True -CTSPillarNetworkA,2243,2243,2243,1976-02-22,224.29999999999154,224.30449,2015-01-01 00:37:23,bin2243,75,True -CTSPillarNetworkA,2244,2244,2244,1976-02-23,224.39999999999154,224.4045,2015-01-01 00:37:24,bin2244,35,True -CTSPillarNetworkA,2245,2245,2245,1976-02-24,224.49999999999153,224.5045,2015-01-01 00:37:25,bin2245,75,True -CTSPillarNetworkA,2246,2246,2246,1976-02-25,224.59999999999152,224.6045,2015-01-01 00:37:26,bin2246,35,True -CTSPillarNetworkA,2247,2247,2247,1976-02-26,224.69999999999152,224.70451,2015-01-01 00:37:27,bin2247,75,True -CTSPillarNetworkA,2248,2248,2248,1976-02-27,224.7999999999915,224.80452,2015-01-01 00:37:28,bin2248,35,True -CTSPillarNetworkA,2249,2249,2249,1976-02-28,224.8999999999915,224.90453,2015-01-01 00:37:29,bin2249,75,True -CTSPillarNetworkA,2250,2250,2250,1976-02-29,224.9999999999915,225.00453,2015-01-01 00:37:30,bin2250,35,True -CTSPillarNetworkA,2251,2251,2251,1976-03-01,225.0999999999915,225.10454,2015-01-01 00:37:31,bin2251,75,True -CTSPillarNetworkA,2252,2252,2252,1976-03-02,225.1999999999915,225.20454,2015-01-01 00:37:32,bin2252,35,True -CTSPillarNetworkA,2253,2253,2253,1976-03-03,225.29999999999148,225.30455,2015-01-01 00:37:33,bin2253,75,True -CTSPillarNetworkA,2254,2254,2254,1976-03-04,225.39999999999148,225.40456,2015-01-01 00:37:34,bin2254,35,True -CTSPillarNetworkA,2255,2255,2255,1976-03-05,225.49999999999147,225.50456,2015-01-01 00:37:35,bin2255,75,True -CTSPillarNetworkA,2256,2256,2256,1976-03-06,225.59999999999147,225.60457,2015-01-01 00:37:36,bin2256,35,True -CTSPillarNetworkA,2257,2257,2257,1976-03-07,225.69999999999146,225.70457,2015-01-01 00:37:37,bin2257,75,True -CTSPillarNetworkA,2258,2258,2258,1976-03-08,225.79999999999146,225.80458,2015-01-01 00:37:38,bin2258,35,True -CTSPillarNetworkA,2259,2259,2259,1976-03-09,225.89999999999145,225.90459,2015-01-01 00:37:39,bin2259,75,True -CTSPillarNetworkA,2260,2260,2260,1976-03-10,225.99999999999145,226.0046,2015-01-01 00:37:40,bin2260,35,True -CTSPillarNetworkA,2261,2261,2261,1976-03-11,226.09999999999144,226.1046,2015-01-01 00:37:41,bin2261,75,True -CTSPillarNetworkA,2262,2262,2262,1976-03-12,226.19999999999143,226.2046,2015-01-01 00:37:42,bin2262,35,True -CTSPillarNetworkA,2263,2263,2263,1976-03-13,226.29999999999143,226.30461,2015-01-01 00:37:43,bin2263,75,True -CTSPillarNetworkA,2264,2264,2264,1976-03-14,226.39999999999142,226.40462,2015-01-01 00:37:44,bin2264,35,True -CTSPillarNetworkA,2265,2265,2265,1976-03-15,226.49999999999142,226.50462,2015-01-01 00:37:45,bin2265,75,True -CTSPillarNetworkA,2266,2266,2266,1976-03-16,226.5999999999914,226.60463,2015-01-01 00:37:46,bin2266,35,True -CTSPillarNetworkA,2267,2267,2267,1976-03-17,226.6999999999914,226.70464,2015-01-01 00:37:47,bin2267,75,True -CTSPillarNetworkA,2268,2268,2268,1976-03-18,226.7999999999914,226.80464,2015-01-01 00:37:48,bin2268,35,True -CTSPillarNetworkA,2269,2269,2269,1976-03-19,226.8999999999914,226.90465,2015-01-01 00:37:49,bin2269,75,True -CTSPillarNetworkA,2270,2270,2270,1976-03-20,226.9999999999914,227.00465,2015-01-01 00:37:50,bin2270,35,True -CTSPillarNetworkA,2271,2271,2271,1976-03-21,227.09999999999138,227.10466,2015-01-01 00:37:51,bin2271,75,True -CTSPillarNetworkA,2272,2272,2272,1976-03-22,227.19999999999138,227.20467,2015-01-01 00:37:52,bin2272,35,True -CTSPillarNetworkA,2273,2273,2273,1976-03-23,227.29999999999137,227.30467,2015-01-01 00:37:53,bin2273,75,True -CTSPillarNetworkA,2274,2274,2274,1976-03-24,227.39999999999137,227.40468,2015-01-01 00:37:54,bin2274,35,True -CTSPillarNetworkA,2275,2275,2275,1976-03-25,227.49999999999136,227.50468,2015-01-01 00:37:55,bin2275,75,True -CTSPillarNetworkA,2276,2276,2276,1976-03-26,227.59999999999135,227.60469,2015-01-01 00:37:56,bin2276,35,True -CTSPillarNetworkA,2277,2277,2277,1976-03-27,227.69999999999135,227.7047,2015-01-01 00:37:57,bin2277,75,True -CTSPillarNetworkA,2278,2278,2278,1976-03-28,227.79999999999134,227.8047,2015-01-01 00:37:58,bin2278,35,True -CTSPillarNetworkA,2279,2279,2279,1976-03-29,227.89999999999134,227.90471,2015-01-01 00:37:59,bin2279,75,True -CTSPillarNetworkA,2280,2280,2280,1976-03-30,227.99999999999133,228.00471,2015-01-01 00:38:00,bin2280,35,True -CTSPillarNetworkA,2281,2281,2281,1976-03-31,228.09999999999133,228.10472,2015-01-01 00:38:01,bin2281,75,True -CTSPillarNetworkA,2282,2282,2282,1976-04-01,228.19999999999132,228.20473,2015-01-01 00:38:02,bin2282,35,True -CTSPillarNetworkA,2283,2283,2283,1976-04-02,228.29999999999131,228.30473,2015-01-01 00:38:03,bin2283,75,True -CTSPillarNetworkA,2284,2284,2284,1976-04-03,228.3999999999913,228.40474,2015-01-01 00:38:04,bin2284,35,True -CTSPillarNetworkA,2285,2285,2285,1976-04-04,228.4999999999913,228.50475,2015-01-01 00:38:05,bin2285,75,True -CTSPillarNetworkA,2286,2286,2286,1976-04-05,228.5999999999913,228.60475,2015-01-01 00:38:06,bin2286,35,True -CTSPillarNetworkA,2287,2287,2287,1976-04-06,228.6999999999913,228.70476,2015-01-01 00:38:07,bin2287,75,True -CTSPillarNetworkA,2288,2288,2288,1976-04-07,228.7999999999913,228.80476,2015-01-01 00:38:08,bin2288,35,True -CTSPillarNetworkA,2289,2289,2289,1976-04-08,228.89999999999128,228.90477,2015-01-01 00:38:09,bin2289,75,True -CTSPillarNetworkA,2290,2290,2290,1976-04-09,228.99999999999127,229.00478,2015-01-01 00:38:10,bin2290,35,True -CTSPillarNetworkA,2291,2291,2291,1976-04-10,229.09999999999127,229.10478,2015-01-01 00:38:11,bin2291,75,True -CTSPillarNetworkA,2292,2292,2292,1976-04-11,229.19999999999126,229.20479,2015-01-01 00:38:12,bin2292,35,True -CTSPillarNetworkA,2293,2293,2293,1976-04-12,229.29999999999126,229.3048,2015-01-01 00:38:13,bin2293,75,True -CTSPillarNetworkA,2294,2294,2294,1976-04-13,229.39999999999125,229.4048,2015-01-01 00:38:14,bin2294,35,True -CTSPillarNetworkA,2295,2295,2295,1976-04-14,229.49999999999125,229.5048,2015-01-01 00:38:15,bin2295,75,True -CTSPillarNetworkA,2296,2296,2296,1976-04-15,229.59999999999124,229.60481,2015-01-01 00:38:16,bin2296,35,True -CTSPillarNetworkA,2297,2297,2297,1976-04-16,229.69999999999123,229.70482,2015-01-01 00:38:17,bin2297,75,True -CTSPillarNetworkA,2298,2298,2298,1976-04-17,229.79999999999123,229.80482,2015-01-01 00:38:18,bin2298,35,True -CTSPillarNetworkA,2299,2299,2299,1976-04-18,229.89999999999122,229.90483,2015-01-01 00:38:19,bin2299,75,True -CTSPillarNetworkA,2300,2300,2300,1976-04-19,229.99999999999122,230.00484,2015-01-01 00:38:20,bin2300,35,True -CTSPillarNetworkA,2301,2301,2301,1976-04-20,230.0999999999912,230.10484,2015-01-01 00:38:21,bin2301,75,True -CTSPillarNetworkA,2302,2302,2302,1976-04-21,230.1999999999912,230.20485,2015-01-01 00:38:22,bin2302,35,True -CTSPillarNetworkA,2303,2303,2303,1976-04-22,230.2999999999912,230.30486,2015-01-01 00:38:23,bin2303,75,True -CTSPillarNetworkA,2304,2304,2304,1976-04-23,230.3999999999912,230.40486,2015-01-01 00:38:24,bin2304,35,True -CTSPillarNetworkA,2305,2305,2305,1976-04-24,230.4999999999912,230.50487,2015-01-01 00:38:25,bin2305,75,True -CTSPillarNetworkA,2306,2306,2306,1976-04-25,230.59999999999118,230.60487,2015-01-01 00:38:26,bin2306,35,True -CTSPillarNetworkA,2307,2307,2307,1976-04-26,230.69999999999118,230.70488,2015-01-01 00:38:27,bin2307,75,True -CTSPillarNetworkA,2308,2308,2308,1976-04-27,230.79999999999117,230.80489,2015-01-01 00:38:28,bin2308,35,True -CTSPillarNetworkA,2309,2309,2309,1976-04-28,230.89999999999117,230.90489,2015-01-01 00:38:29,bin2309,75,True -CTSPillarNetworkA,2310,2310,2310,1976-04-29,230.99999999999116,231.0049,2015-01-01 00:38:30,bin2310,35,True -CTSPillarNetworkA,2311,2311,2311,1976-04-30,231.09999999999116,231.1049,2015-01-01 00:38:31,bin2311,75,True -CTSPillarNetworkA,2312,2312,2312,1976-05-01,231.19999999999115,231.20491,2015-01-01 00:38:32,bin2312,35,True -CTSPillarNetworkA,2313,2313,2313,1976-05-02,231.29999999999114,231.30492,2015-01-01 00:38:33,bin2313,75,True -CTSPillarNetworkA,2314,2314,2314,1976-05-03,231.39999999999114,231.40492,2015-01-01 00:38:34,bin2314,35,True -CTSPillarNetworkA,2315,2315,2315,1976-05-04,231.49999999999113,231.50493,2015-01-01 00:38:35,bin2315,75,True -CTSPillarNetworkA,2316,2316,2316,1976-05-05,231.59999999999113,231.60493,2015-01-01 00:38:36,bin2316,35,True -CTSPillarNetworkA,2317,2317,2317,1976-05-06,231.69999999999112,231.70494,2015-01-01 00:38:37,bin2317,75,True -CTSPillarNetworkA,2318,2318,2318,1976-05-07,231.79999999999112,231.80495,2015-01-01 00:38:38,bin2318,35,True -CTSPillarNetworkA,2319,2319,2319,1976-05-08,231.8999999999911,231.90495,2015-01-01 00:38:39,bin2319,75,True -CTSPillarNetworkA,2320,2320,2320,1976-05-09,231.9999999999911,232.00496,2015-01-01 00:38:40,bin2320,35,True -CTSPillarNetworkA,2321,2321,2321,1976-05-10,232.0999999999911,232.10497,2015-01-01 00:38:41,bin2321,75,True -CTSPillarNetworkA,2322,2322,2322,1976-05-11,232.1999999999911,232.20497,2015-01-01 00:38:42,bin2322,35,True -CTSPillarNetworkA,2323,2323,2323,1976-05-12,232.2999999999911,232.30498,2015-01-01 00:38:43,bin2323,75,True -CTSPillarNetworkA,2324,2324,2324,1976-05-13,232.39999999999108,232.40498,2015-01-01 00:38:44,bin2324,35,True -CTSPillarNetworkA,2325,2325,2325,1976-05-14,232.49999999999108,232.50499,2015-01-01 00:38:45,bin2325,75,True -CTSPillarNetworkA,2326,2326,2326,1976-05-15,232.59999999999107,232.605,2015-01-01 00:38:46,bin2326,35,True -CTSPillarNetworkA,2327,2327,2327,1976-05-16,232.69999999999106,232.705,2015-01-01 00:38:47,bin2327,75,True -CTSPillarNetworkA,2328,2328,2328,1976-05-17,232.79999999999106,232.80501,2015-01-01 00:38:48,bin2328,35,True -CTSPillarNetworkA,2329,2329,2329,1976-05-18,232.89999999999105,232.90501,2015-01-01 00:38:49,bin2329,75,True -CTSPillarNetworkA,2330,2330,2330,1976-05-19,232.99999999999105,233.00502,2015-01-01 00:38:50,bin2330,35,True -CTSPillarNetworkA,2331,2331,2331,1976-05-20,233.09999999999104,233.10503,2015-01-01 00:38:51,bin2331,75,True -CTSPillarNetworkA,2332,2332,2332,1976-05-21,233.19999999999104,233.20503,2015-01-01 00:38:52,bin2332,35,True -CTSPillarNetworkA,2333,2333,2333,1976-05-22,233.29999999999103,233.30504,2015-01-01 00:38:53,bin2333,75,True -CTSPillarNetworkA,2334,2334,2334,1976-05-23,233.39999999999102,233.40504,2015-01-01 00:38:54,bin2334,35,True -CTSPillarNetworkA,2335,2335,2335,1976-05-24,233.49999999999102,233.50505,2015-01-01 00:38:55,bin2335,75,True -CTSPillarNetworkA,2336,2336,2336,1976-05-25,233.599999999991,233.60506,2015-01-01 00:38:56,bin2336,35,True -CTSPillarNetworkA,2337,2337,2337,1976-05-26,233.699999999991,233.70506,2015-01-01 00:38:57,bin2337,75,True -CTSPillarNetworkA,2338,2338,2338,1976-05-27,233.799999999991,233.80507,2015-01-01 00:38:58,bin2338,35,True -CTSPillarNetworkA,2339,2339,2339,1976-05-28,233.899999999991,233.90508,2015-01-01 00:38:59,bin2339,75,True -CTSPillarNetworkA,2340,2340,2340,1976-05-29,233.999999999991,234.00508,2015-01-01 00:39:00,bin2340,35,True -CTSPillarNetworkA,2341,2341,2341,1976-05-30,234.09999999999098,234.10509,2015-01-01 00:39:01,bin2341,75,True -CTSPillarNetworkA,2342,2342,2342,1976-05-31,234.19999999999098,234.2051,2015-01-01 00:39:02,bin2342,35,True -CTSPillarNetworkA,2343,2343,2343,1976-06-01,234.29999999999097,234.3051,2015-01-01 00:39:03,bin2343,75,True -CTSPillarNetworkA,2344,2344,2344,1976-06-02,234.39999999999097,234.4051,2015-01-01 00:39:04,bin2344,35,True -CTSPillarNetworkA,2345,2345,2345,1976-06-03,234.49999999999096,234.50511,2015-01-01 00:39:05,bin2345,75,True -CTSPillarNetworkA,2346,2346,2346,1976-06-04,234.59999999999096,234.60512,2015-01-01 00:39:06,bin2346,35,True -CTSPillarNetworkA,2347,2347,2347,1976-06-05,234.69999999999095,234.70512,2015-01-01 00:39:07,bin2347,75,True -CTSPillarNetworkA,2348,2348,2348,1976-06-06,234.79999999999094,234.80513,2015-01-01 00:39:08,bin2348,35,True -CTSPillarNetworkA,2349,2349,2349,1976-06-07,234.89999999999094,234.90514,2015-01-01 00:39:09,bin2349,75,True -CTSPillarNetworkA,2350,2350,2350,1976-06-08,234.99999999999093,235.00514,2015-01-01 00:39:10,bin2350,35,True -CTSPillarNetworkA,2351,2351,2351,1976-06-09,235.09999999999093,235.10515,2015-01-01 00:39:11,bin2351,75,True -CTSPillarNetworkA,2352,2352,2352,1976-06-10,235.19999999999092,235.20515,2015-01-01 00:39:12,bin2352,35,True -CTSPillarNetworkA,2353,2353,2353,1976-06-11,235.29999999999092,235.30516,2015-01-01 00:39:13,bin2353,75,True -CTSPillarNetworkA,2354,2354,2354,1976-06-12,235.3999999999909,235.40517,2015-01-01 00:39:14,bin2354,35,True -CTSPillarNetworkA,2355,2355,2355,1976-06-13,235.4999999999909,235.50517,2015-01-01 00:39:15,bin2355,75,True -CTSPillarNetworkA,2356,2356,2356,1976-06-14,235.5999999999909,235.60518,2015-01-01 00:39:16,bin2356,35,True -CTSPillarNetworkA,2357,2357,2357,1976-06-15,235.6999999999909,235.70518,2015-01-01 00:39:17,bin2357,75,True -CTSPillarNetworkA,2358,2358,2358,1976-06-16,235.7999999999909,235.80519,2015-01-01 00:39:18,bin2358,35,True -CTSPillarNetworkA,2359,2359,2359,1976-06-17,235.89999999999088,235.9052,2015-01-01 00:39:19,bin2359,75,True -CTSPillarNetworkA,2360,2360,2360,1976-06-18,235.99999999999088,236.0052,2015-01-01 00:39:20,bin2360,35,True -CTSPillarNetworkA,2361,2361,2361,1976-06-19,236.09999999999087,236.10521,2015-01-01 00:39:21,bin2361,75,True -CTSPillarNetworkA,2362,2362,2362,1976-06-20,236.19999999999087,236.20522,2015-01-01 00:39:22,bin2362,35,True -CTSPillarNetworkA,2363,2363,2363,1976-06-21,236.29999999999086,236.30522,2015-01-01 00:39:23,bin2363,75,True -CTSPillarNetworkA,2364,2364,2364,1976-06-22,236.39999999999085,236.40523,2015-01-01 00:39:24,bin2364,35,True -CTSPillarNetworkA,2365,2365,2365,1976-06-23,236.49999999999085,236.50523,2015-01-01 00:39:25,bin2365,75,True -CTSPillarNetworkA,2366,2366,2366,1976-06-24,236.59999999999084,236.60524,2015-01-01 00:39:26,bin2366,35,True -CTSPillarNetworkA,2367,2367,2367,1976-06-25,236.69999999999084,236.70525,2015-01-01 00:39:27,bin2367,75,True -CTSPillarNetworkA,2368,2368,2368,1976-06-26,236.79999999999083,236.80525,2015-01-01 00:39:28,bin2368,35,True -CTSPillarNetworkA,2369,2369,2369,1976-06-27,236.89999999999083,236.90526,2015-01-01 00:39:29,bin2369,75,True -CTSPillarNetworkA,2370,2370,2370,1976-06-28,236.99999999999082,237.00526,2015-01-01 00:39:30,bin2370,35,True -CTSPillarNetworkA,2371,2371,2371,1976-06-29,237.0999999999908,237.10527,2015-01-01 00:39:31,bin2371,75,True -CTSPillarNetworkA,2372,2372,2372,1976-06-30,237.1999999999908,237.20528,2015-01-01 00:39:32,bin2372,35,True -CTSPillarNetworkA,2373,2373,2373,1976-07-01,237.2999999999908,237.30528,2015-01-01 00:39:33,bin2373,75,True -CTSPillarNetworkA,2374,2374,2374,1976-07-02,237.3999999999908,237.40529,2015-01-01 00:39:34,bin2374,35,True -CTSPillarNetworkA,2375,2375,2375,1976-07-03,237.4999999999908,237.5053,2015-01-01 00:39:35,bin2375,75,True -CTSPillarNetworkA,2376,2376,2376,1976-07-04,237.59999999999079,237.6053,2015-01-01 00:39:36,bin2376,35,True -CTSPillarNetworkA,2377,2377,2377,1976-07-05,237.69999999999078,237.7053,2015-01-01 00:39:37,bin2377,75,True -CTSPillarNetworkA,2378,2378,2378,1976-07-06,237.79999999999077,237.80531,2015-01-01 00:39:38,bin2378,35,True -CTSPillarNetworkA,2379,2379,2379,1976-07-07,237.89999999999077,237.90532,2015-01-01 00:39:39,bin2379,75,True -CTSPillarNetworkA,2380,2380,2380,1976-07-08,237.99999999999076,238.00533,2015-01-01 00:39:40,bin2380,35,True -CTSPillarNetworkA,2381,2381,2381,1976-07-09,238.09999999999076,238.10533,2015-01-01 00:39:41,bin2381,75,True -CTSPillarNetworkA,2382,2382,2382,1976-07-10,238.19999999999075,238.20534,2015-01-01 00:39:42,bin2382,35,True -CTSPillarNetworkA,2383,2383,2383,1976-07-11,238.29999999999075,238.30534,2015-01-01 00:39:43,bin2383,75,True -CTSPillarNetworkA,2384,2384,2384,1976-07-12,238.39999999999074,238.40535,2015-01-01 00:39:44,bin2384,35,True -CTSPillarNetworkA,2385,2385,2385,1976-07-13,238.49999999999073,238.50536,2015-01-01 00:39:45,bin2385,75,True -CTSPillarNetworkA,2386,2386,2386,1976-07-14,238.59999999999073,238.60536,2015-01-01 00:39:46,bin2386,35,True -CTSPillarNetworkA,2387,2387,2387,1976-07-15,238.69999999999072,238.70537,2015-01-01 00:39:47,bin2387,75,True -CTSPillarNetworkA,2388,2388,2388,1976-07-16,238.79999999999072,238.80537,2015-01-01 00:39:48,bin2388,35,True -CTSPillarNetworkA,2389,2389,2389,1976-07-17,238.8999999999907,238.90538,2015-01-01 00:39:49,bin2389,75,True -CTSPillarNetworkA,2390,2390,2390,1976-07-18,238.9999999999907,239.00539,2015-01-01 00:39:50,bin2390,35,True -CTSPillarNetworkA,2391,2391,2391,1976-07-19,239.0999999999907,239.1054,2015-01-01 00:39:51,bin2391,75,True -CTSPillarNetworkA,2392,2392,2392,1976-07-20,239.1999999999907,239.2054,2015-01-01 00:39:52,bin2392,35,True -CTSPillarNetworkA,2393,2393,2393,1976-07-21,239.2999999999907,239.3054,2015-01-01 00:39:53,bin2393,75,True -CTSPillarNetworkA,2394,2394,2394,1976-07-22,239.39999999999068,239.40541,2015-01-01 00:39:54,bin2394,35,True -CTSPillarNetworkA,2395,2395,2395,1976-07-23,239.49999999999068,239.50542,2015-01-01 00:39:55,bin2395,75,True -CTSPillarNetworkA,2396,2396,2396,1976-07-24,239.59999999999067,239.60542,2015-01-01 00:39:56,bin2396,35,True -CTSPillarNetworkA,2397,2397,2397,1976-07-25,239.69999999999067,239.70543,2015-01-01 00:39:57,bin2397,75,True -CTSPillarNetworkA,2398,2398,2398,1976-07-26,239.79999999999066,239.80544,2015-01-01 00:39:58,bin2398,35,True -CTSPillarNetworkA,2399,2399,2399,1976-07-27,239.89999999999065,239.90544,2015-01-01 00:39:59,bin2399,75,True -CTSPillarNetworkA,2400,2400,2400,1976-07-28,239.99999999999065,240.00545,2015-01-01 00:40:00,bin2400,35,True -CTSPillarNetworkA,2401,2401,2401,1976-07-29,240.09999999999064,240.10545,2015-01-01 00:40:01,bin2401,75,True -CTSPillarNetworkA,2402,2402,2402,1976-07-30,240.19999999999064,240.20546,2015-01-01 00:40:02,bin2402,35,True -CTSPillarNetworkA,2403,2403,2403,1976-07-31,240.29999999999063,240.30547,2015-01-01 00:40:03,bin2403,75,True -CTSPillarNetworkA,2404,2404,2404,1976-08-01,240.39999999999063,240.40547,2015-01-01 00:40:04,bin2404,35,True -CTSPillarNetworkA,2405,2405,2405,1976-08-02,240.49999999999062,240.50548,2015-01-01 00:40:05,bin2405,75,True -CTSPillarNetworkA,2406,2406,2406,1976-08-03,240.59999999999062,240.60548,2015-01-01 00:40:06,bin2406,35,True -CTSPillarNetworkA,2407,2407,2407,1976-08-04,240.6999999999906,240.70549,2015-01-01 00:40:07,bin2407,75,True -CTSPillarNetworkA,2408,2408,2408,1976-08-05,240.7999999999906,240.8055,2015-01-01 00:40:08,bin2408,35,True -CTSPillarNetworkA,2409,2409,2409,1976-08-06,240.8999999999906,240.9055,2015-01-01 00:40:09,bin2409,75,True -CTSPillarNetworkA,2410,2410,2410,1976-08-07,240.9999999999906,241.00551,2015-01-01 00:40:10,bin2410,35,True -CTSPillarNetworkA,2411,2411,2411,1976-08-08,241.0999999999906,241.10551,2015-01-01 00:40:11,bin2411,75,True -CTSPillarNetworkA,2412,2412,2412,1976-08-09,241.19999999999058,241.20552,2015-01-01 00:40:12,bin2412,35,True -CTSPillarNetworkA,2413,2413,2413,1976-08-10,241.29999999999058,241.30553,2015-01-01 00:40:13,bin2413,75,True -CTSPillarNetworkA,2414,2414,2414,1976-08-11,241.39999999999057,241.40553,2015-01-01 00:40:14,bin2414,35,True -CTSPillarNetworkA,2415,2415,2415,1976-08-12,241.49999999999056,241.50554,2015-01-01 00:40:15,bin2415,75,True -CTSPillarNetworkA,2416,2416,2416,1976-08-13,241.59999999999056,241.60555,2015-01-01 00:40:16,bin2416,35,True -CTSPillarNetworkA,2417,2417,2417,1976-08-14,241.69999999999055,241.70555,2015-01-01 00:40:17,bin2417,75,True -CTSPillarNetworkA,2418,2418,2418,1976-08-15,241.79999999999055,241.80556,2015-01-01 00:40:18,bin2418,35,True -CTSPillarNetworkA,2419,2419,2419,1976-08-16,241.89999999999054,241.90556,2015-01-01 00:40:19,bin2419,75,True -CTSPillarNetworkA,2420,2420,2420,1976-08-17,241.99999999999054,242.00557,2015-01-01 00:40:20,bin2420,35,True -CTSPillarNetworkA,2421,2421,2421,1976-08-18,242.09999999999053,242.10558,2015-01-01 00:40:21,bin2421,75,True -CTSPillarNetworkA,2422,2422,2422,1976-08-19,242.19999999999052,242.20558,2015-01-01 00:40:22,bin2422,35,True -CTSPillarNetworkA,2423,2423,2423,1976-08-20,242.29999999999052,242.30559,2015-01-01 00:40:23,bin2423,75,True -CTSPillarNetworkA,2424,2424,2424,1976-08-21,242.3999999999905,242.4056,2015-01-01 00:40:24,bin2424,35,True -CTSPillarNetworkA,2425,2425,2425,1976-08-22,242.4999999999905,242.5056,2015-01-01 00:40:25,bin2425,75,True -CTSPillarNetworkA,2426,2426,2426,1976-08-23,242.5999999999905,242.6056,2015-01-01 00:40:26,bin2426,35,True -CTSPillarNetworkA,2427,2427,2427,1976-08-24,242.6999999999905,242.70561,2015-01-01 00:40:27,bin2427,75,True -CTSPillarNetworkA,2428,2428,2428,1976-08-25,242.7999999999905,242.80562,2015-01-01 00:40:28,bin2428,35,True -CTSPillarNetworkA,2429,2429,2429,1976-08-26,242.89999999999048,242.90562,2015-01-01 00:40:29,bin2429,75,True -CTSPillarNetworkA,2430,2430,2430,1976-08-27,242.99999999999048,243.00563,2015-01-01 00:40:30,bin2430,35,True -CTSPillarNetworkA,2431,2431,2431,1976-08-28,243.09999999999047,243.10564,2015-01-01 00:40:31,bin2431,75,True -CTSPillarNetworkA,2432,2432,2432,1976-08-29,243.19999999999047,243.20564,2015-01-01 00:40:32,bin2432,35,True -CTSPillarNetworkA,2433,2433,2433,1976-08-30,243.29999999999046,243.30565,2015-01-01 00:40:33,bin2433,75,True -CTSPillarNetworkA,2434,2434,2434,1976-08-31,243.39999999999046,243.40565,2015-01-01 00:40:34,bin2434,35,True -CTSPillarNetworkA,2435,2435,2435,1976-09-01,243.49999999999045,243.50566,2015-01-01 00:40:35,bin2435,75,True -CTSPillarNetworkA,2436,2436,2436,1976-09-02,243.59999999999044,243.60567,2015-01-01 00:40:36,bin2436,35,True -CTSPillarNetworkA,2437,2437,2437,1976-09-03,243.69999999999044,243.70567,2015-01-01 00:40:37,bin2437,75,True -CTSPillarNetworkA,2438,2438,2438,1976-09-04,243.79999999999043,243.80568,2015-01-01 00:40:38,bin2438,35,True -CTSPillarNetworkA,2439,2439,2439,1976-09-05,243.89999999999043,243.90569,2015-01-01 00:40:39,bin2439,75,True -CTSPillarNetworkA,2440,2440,2440,1976-09-06,243.99999999999042,244.00569,2015-01-01 00:40:40,bin2440,35,True -CTSPillarNetworkA,2441,2441,2441,1976-09-07,244.09999999999042,244.1057,2015-01-01 00:40:41,bin2441,75,True -CTSPillarNetworkA,2442,2442,2442,1976-09-08,244.1999999999904,244.2057,2015-01-01 00:40:42,bin2442,35,True -CTSPillarNetworkA,2443,2443,2443,1976-09-09,244.2999999999904,244.30571,2015-01-01 00:40:43,bin2443,75,True -CTSPillarNetworkA,2444,2444,2444,1976-09-10,244.3999999999904,244.40572,2015-01-01 00:40:44,bin2444,35,True -CTSPillarNetworkA,2445,2445,2445,1976-09-11,244.4999999999904,244.50572,2015-01-01 00:40:45,bin2445,75,True -CTSPillarNetworkA,2446,2446,2446,1976-09-12,244.5999999999904,244.60573,2015-01-01 00:40:46,bin2446,35,True -CTSPillarNetworkA,2447,2447,2447,1976-09-13,244.69999999999038,244.70573,2015-01-01 00:40:47,bin2447,75,True -CTSPillarNetworkA,2448,2448,2448,1976-09-14,244.79999999999038,244.80574,2015-01-01 00:40:48,bin2448,35,True -CTSPillarNetworkA,2449,2449,2449,1976-09-15,244.89999999999037,244.90575,2015-01-01 00:40:49,bin2449,75,True -CTSPillarNetworkA,2450,2450,2450,1976-09-16,244.99999999999037,245.00575,2015-01-01 00:40:50,bin2450,35,True -CTSPillarNetworkA,2451,2451,2451,1976-09-17,245.09999999999036,245.10576,2015-01-01 00:40:51,bin2451,75,True -CTSPillarNetworkA,2452,2452,2452,1976-09-18,245.19999999999035,245.20576,2015-01-01 00:40:52,bin2452,35,True -CTSPillarNetworkA,2453,2453,2453,1976-09-19,245.29999999999035,245.30577,2015-01-01 00:40:53,bin2453,75,True -CTSPillarNetworkA,2454,2454,2454,1976-09-20,245.39999999999034,245.40578,2015-01-01 00:40:54,bin2454,35,True -CTSPillarNetworkA,2455,2455,2455,1976-09-21,245.49999999999034,245.50578,2015-01-01 00:40:55,bin2455,75,True -CTSPillarNetworkA,2456,2456,2456,1976-09-22,245.59999999999033,245.60579,2015-01-01 00:40:56,bin2456,35,True -CTSPillarNetworkA,2457,2457,2457,1976-09-23,245.69999999999033,245.7058,2015-01-01 00:40:57,bin2457,75,True -CTSPillarNetworkA,2458,2458,2458,1976-09-24,245.79999999999032,245.8058,2015-01-01 00:40:58,bin2458,35,True -CTSPillarNetworkA,2459,2459,2459,1976-09-25,245.8999999999903,245.9058,2015-01-01 00:40:59,bin2459,75,True -CTSPillarNetworkA,2460,2460,2460,1976-09-26,245.9999999999903,246.00581,2015-01-01 00:41:00,bin2460,35,True -CTSPillarNetworkA,2461,2461,2461,1976-09-27,246.0999999999903,246.10582,2015-01-01 00:41:01,bin2461,75,True -CTSPillarNetworkA,2462,2462,2462,1976-09-28,246.1999999999903,246.20583,2015-01-01 00:41:02,bin2462,35,True -CTSPillarNetworkA,2463,2463,2463,1976-09-29,246.2999999999903,246.30583,2015-01-01 00:41:03,bin2463,75,True -CTSPillarNetworkA,2464,2464,2464,1976-09-30,246.39999999999029,246.40584,2015-01-01 00:41:04,bin2464,35,True -CTSPillarNetworkA,2465,2465,2465,1976-10-01,246.49999999999028,246.50584,2015-01-01 00:41:05,bin2465,75,True -CTSPillarNetworkA,2466,2466,2466,1976-10-02,246.59999999999027,246.60585,2015-01-01 00:41:06,bin2466,35,True -CTSPillarNetworkA,2467,2467,2467,1976-10-03,246.69999999999027,246.70586,2015-01-01 00:41:07,bin2467,75,True -CTSPillarNetworkA,2468,2468,2468,1976-10-04,246.79999999999026,246.80586,2015-01-01 00:41:08,bin2468,35,True -CTSPillarNetworkA,2469,2469,2469,1976-10-05,246.89999999999026,246.90587,2015-01-01 00:41:09,bin2469,75,True -CTSPillarNetworkA,2470,2470,2470,1976-10-06,246.99999999999025,247.00587,2015-01-01 00:41:10,bin2470,35,True -CTSPillarNetworkA,2471,2471,2471,1976-10-07,247.09999999999025,247.10588,2015-01-01 00:41:11,bin2471,75,True -CTSPillarNetworkA,2472,2472,2472,1976-10-08,247.19999999999024,247.20589,2015-01-01 00:41:12,bin2472,35,True -CTSPillarNetworkA,2473,2473,2473,1976-10-09,247.29999999999023,247.3059,2015-01-01 00:41:13,bin2473,75,True -CTSPillarNetworkA,2474,2474,2474,1976-10-10,247.39999999999023,247.4059,2015-01-01 00:41:14,bin2474,35,True -CTSPillarNetworkA,2475,2475,2475,1976-10-11,247.49999999999022,247.5059,2015-01-01 00:41:15,bin2475,75,True -CTSPillarNetworkA,2476,2476,2476,1976-10-12,247.59999999999022,247.60591,2015-01-01 00:41:16,bin2476,35,True -CTSPillarNetworkA,2477,2477,2477,1976-10-13,247.6999999999902,247.70592,2015-01-01 00:41:17,bin2477,75,True -CTSPillarNetworkA,2478,2478,2478,1976-10-14,247.7999999999902,247.80592,2015-01-01 00:41:18,bin2478,35,True -CTSPillarNetworkA,2479,2479,2479,1976-10-15,247.8999999999902,247.90593,2015-01-01 00:41:19,bin2479,75,True -CTSPillarNetworkA,2480,2480,2480,1976-10-16,247.9999999999902,248.00594,2015-01-01 00:41:20,bin2480,35,True -CTSPillarNetworkA,2481,2481,2481,1976-10-17,248.0999999999902,248.10594,2015-01-01 00:41:21,bin2481,75,True -CTSPillarNetworkA,2482,2482,2482,1976-10-18,248.19999999999018,248.20595,2015-01-01 00:41:22,bin2482,35,True -CTSPillarNetworkA,2483,2483,2483,1976-10-19,248.29999999999018,248.30595,2015-01-01 00:41:23,bin2483,75,True -CTSPillarNetworkA,2484,2484,2484,1976-10-20,248.39999999999017,248.40596,2015-01-01 00:41:24,bin2484,35,True -CTSPillarNetworkA,2485,2485,2485,1976-10-21,248.49999999999017,248.50597,2015-01-01 00:41:25,bin2485,75,True -CTSPillarNetworkA,2486,2486,2486,1976-10-22,248.59999999999016,248.60597,2015-01-01 00:41:26,bin2486,35,True -CTSPillarNetworkA,2487,2487,2487,1976-10-23,248.69999999999015,248.70598,2015-01-01 00:41:27,bin2487,75,True -CTSPillarNetworkA,2488,2488,2488,1976-10-24,248.79999999999015,248.80598,2015-01-01 00:41:28,bin2488,35,True -CTSPillarNetworkA,2489,2489,2489,1976-10-25,248.89999999999014,248.90599,2015-01-01 00:41:29,bin2489,75,True -CTSPillarNetworkA,2490,2490,2490,1976-10-26,248.99999999999014,249.006,2015-01-01 00:41:30,bin2490,35,True -CTSPillarNetworkA,2491,2491,2491,1976-10-27,249.09999999999013,249.106,2015-01-01 00:41:31,bin2491,75,True -CTSPillarNetworkA,2492,2492,2492,1976-10-28,249.19999999999013,249.20601,2015-01-01 00:41:32,bin2492,35,True -CTSPillarNetworkA,2493,2493,2493,1976-10-29,249.29999999999012,249.30602,2015-01-01 00:41:33,bin2493,75,True -CTSPillarNetworkA,2494,2494,2494,1976-10-30,249.39999999999011,249.40602,2015-01-01 00:41:34,bin2494,35,True -CTSPillarNetworkA,2495,2495,2495,1976-10-31,249.4999999999901,249.50603,2015-01-01 00:41:35,bin2495,75,True -CTSPillarNetworkA,2496,2496,2496,1976-11-01,249.5999999999901,249.60603,2015-01-01 00:41:36,bin2496,35,True -CTSPillarNetworkA,2497,2497,2497,1976-11-02,249.6999999999901,249.70604,2015-01-01 00:41:37,bin2497,75,True -CTSPillarNetworkA,2498,2498,2498,1976-11-03,249.7999999999901,249.80605,2015-01-01 00:41:38,bin2498,35,True -CTSPillarNetworkA,2499,2499,2499,1976-11-04,249.8999999999901,249.90605,2015-01-01 00:41:39,bin2499,75,True -CTSPillarNetworkA,2500,2500,2500,1976-11-05,249.99999999999008,250.00606,2015-01-01 00:41:40,bin2500,35,True -CTSPillarNetworkA,2501,2501,2501,1976-11-06,250.09999999999008,250.10606,2015-01-01 00:41:41,bin2501,75,True -CTSPillarNetworkA,2502,2502,2502,1976-11-07,250.19999999999007,250.20607,2015-01-01 00:41:42,bin2502,35,True -CTSPillarNetworkA,2503,2503,2503,1976-11-08,250.29999999999006,250.30608,2015-01-01 00:41:43,bin2503,75,True -CTSPillarNetworkA,2504,2504,2504,1976-11-09,250.39999999999006,250.40608,2015-01-01 00:41:44,bin2504,35,True -CTSPillarNetworkA,2505,2505,2505,1976-11-10,250.49999999999005,250.50609,2015-01-01 00:41:45,bin2505,75,True -CTSPillarNetworkA,2506,2506,2506,1976-11-11,250.59999999999005,250.6061,2015-01-01 00:41:46,bin2506,35,True -CTSPillarNetworkA,2507,2507,2507,1976-11-12,250.69999999999004,250.7061,2015-01-01 00:41:47,bin2507,75,True -CTSPillarNetworkA,2508,2508,2508,1976-11-13,250.79999999999004,250.8061,2015-01-01 00:41:48,bin2508,35,True -CTSPillarNetworkA,2509,2509,2509,1976-11-14,250.89999999999003,250.90611,2015-01-01 00:41:49,bin2509,75,True -CTSPillarNetworkA,2510,2510,2510,1976-11-15,250.99999999999002,251.00612,2015-01-01 00:41:50,bin2510,35,True -CTSPillarNetworkA,2511,2511,2511,1976-11-16,251.09999999999002,251.10612,2015-01-01 00:41:51,bin2511,75,True -CTSPillarNetworkA,2512,2512,2512,1976-11-17,251.19999999999,251.20613,2015-01-01 00:41:52,bin2512,35,True -CTSPillarNetworkA,2513,2513,2513,1976-11-18,251.29999999999,251.30614,2015-01-01 00:41:53,bin2513,75,True -CTSPillarNetworkA,2514,2514,2514,1976-11-19,251.39999999999,251.40614,2015-01-01 00:41:54,bin2514,35,True -CTSPillarNetworkA,2515,2515,2515,1976-11-20,251.49999999999,251.50615,2015-01-01 00:41:55,bin2515,75,True -CTSPillarNetworkA,2516,2516,2516,1976-11-21,251.59999999999,251.60616,2015-01-01 00:41:56,bin2516,35,True -CTSPillarNetworkA,2517,2517,2517,1976-11-22,251.69999999998998,251.70616,2015-01-01 00:41:57,bin2517,75,True -CTSPillarNetworkA,2518,2518,2518,1976-11-23,251.79999999998998,251.80617,2015-01-01 00:41:58,bin2518,35,True -CTSPillarNetworkA,2519,2519,2519,1976-11-24,251.89999999998997,251.90617,2015-01-01 00:41:59,bin2519,75,True -CTSPillarNetworkA,2520,2520,2520,1976-11-25,251.99999999998997,252.00618,2015-01-01 00:42:00,bin2520,35,True -CTSPillarNetworkA,2521,2521,2521,1976-11-26,252.09999999998996,252.10619,2015-01-01 00:42:01,bin2521,75,True -CTSPillarNetworkA,2522,2522,2522,1976-11-27,252.19999999998996,252.20619,2015-01-01 00:42:02,bin2522,35,True -CTSPillarNetworkA,2523,2523,2523,1976-11-28,252.29999999998995,252.3062,2015-01-01 00:42:03,bin2523,75,True -CTSPillarNetworkA,2524,2524,2524,1976-11-29,252.39999999998994,252.4062,2015-01-01 00:42:04,bin2524,35,True -CTSPillarNetworkA,2525,2525,2525,1976-11-30,252.49999999998994,252.50621,2015-01-01 00:42:05,bin2525,75,True -CTSPillarNetworkA,2526,2526,2526,1976-12-01,252.59999999998993,252.60622,2015-01-01 00:42:06,bin2526,35,True -CTSPillarNetworkA,2527,2527,2527,1976-12-02,252.69999999998993,252.70622,2015-01-01 00:42:07,bin2527,75,True -CTSPillarNetworkA,2528,2528,2528,1976-12-03,252.79999999998992,252.80623,2015-01-01 00:42:08,bin2528,35,True -CTSPillarNetworkA,2529,2529,2529,1976-12-04,252.89999999998992,252.90623,2015-01-01 00:42:09,bin2529,75,True -CTSPillarNetworkA,2530,2530,2530,1976-12-05,252.9999999999899,253.00624,2015-01-01 00:42:10,bin2530,35,True -CTSPillarNetworkA,2531,2531,2531,1976-12-06,253.0999999999899,253.10625,2015-01-01 00:42:11,bin2531,75,True -CTSPillarNetworkA,2532,2532,2532,1976-12-07,253.1999999999899,253.20625,2015-01-01 00:42:12,bin2532,35,True -CTSPillarNetworkA,2533,2533,2533,1976-12-08,253.2999999999899,253.30626,2015-01-01 00:42:13,bin2533,75,True -CTSPillarNetworkA,2534,2534,2534,1976-12-09,253.3999999999899,253.40627,2015-01-01 00:42:14,bin2534,35,True -CTSPillarNetworkA,2535,2535,2535,1976-12-10,253.49999999998988,253.50627,2015-01-01 00:42:15,bin2535,75,True -CTSPillarNetworkA,2536,2536,2536,1976-12-11,253.59999999998988,253.60628,2015-01-01 00:42:16,bin2536,35,True -CTSPillarNetworkA,2537,2537,2537,1976-12-12,253.69999999998987,253.70628,2015-01-01 00:42:17,bin2537,75,True -CTSPillarNetworkA,2538,2538,2538,1976-12-13,253.79999999998986,253.80629,2015-01-01 00:42:18,bin2538,35,True -CTSPillarNetworkA,2539,2539,2539,1976-12-14,253.89999999998986,253.9063,2015-01-01 00:42:19,bin2539,75,True -CTSPillarNetworkA,2540,2540,2540,1976-12-15,253.99999999998985,254.0063,2015-01-01 00:42:20,bin2540,35,True -CTSPillarNetworkA,2541,2541,2541,1976-12-16,254.09999999998985,254.10631,2015-01-01 00:42:21,bin2541,75,True -CTSPillarNetworkA,2542,2542,2542,1976-12-17,254.19999999998984,254.20631,2015-01-01 00:42:22,bin2542,35,True -CTSPillarNetworkA,2543,2543,2543,1976-12-18,254.29999999998984,254.30632,2015-01-01 00:42:23,bin2543,75,True -CTSPillarNetworkA,2544,2544,2544,1976-12-19,254.39999999998983,254.40633,2015-01-01 00:42:24,bin2544,35,True -CTSPillarNetworkA,2545,2545,2545,1976-12-20,254.49999999998983,254.50633,2015-01-01 00:42:25,bin2545,75,True -CTSPillarNetworkA,2546,2546,2546,1976-12-21,254.59999999998982,254.60634,2015-01-01 00:42:26,bin2546,35,True -CTSPillarNetworkA,2547,2547,2547,1976-12-22,254.6999999999898,254.70634,2015-01-01 00:42:27,bin2547,75,True -CTSPillarNetworkA,2548,2548,2548,1976-12-23,254.7999999999898,254.80635,2015-01-01 00:42:28,bin2548,35,True -CTSPillarNetworkA,2549,2549,2549,1976-12-24,254.8999999999898,254.90636,2015-01-01 00:42:29,bin2549,75,True -CTSPillarNetworkA,2550,2550,2550,1976-12-25,254.9999999999898,255.00636,2015-01-01 00:42:30,bin2550,35,True -CTSPillarNetworkA,2551,2551,2551,1976-12-26,255.0999999999898,255.10637,2015-01-01 00:42:31,bin2551,75,True -CTSPillarNetworkA,2552,2552,2552,1976-12-27,255.19999999998979,255.20638,2015-01-01 00:42:32,bin2552,35,True -CTSPillarNetworkA,2553,2553,2553,1976-12-28,255.29999999998978,255.30638,2015-01-01 00:42:33,bin2553,75,True -CTSPillarNetworkA,2554,2554,2554,1976-12-29,255.39999999998977,255.40639,2015-01-01 00:42:34,bin2554,35,True -CTSPillarNetworkA,2555,2555,2555,1976-12-30,255.49999999998977,255.5064,2015-01-01 00:42:35,bin2555,75,True -CTSPillarNetworkA,2556,2556,2556,1976-12-31,255.59999999998976,255.6064,2015-01-01 00:42:36,bin2556,35,True -CTSPillarNetworkA,2557,2557,2557,1977-01-01,255.69999999998976,255.7064,2015-01-01 00:42:37,bin2557,75,True -CTSPillarNetworkA,2558,2558,2558,1977-01-02,255.79999999998975,255.80641,2015-01-01 00:42:38,bin2558,35,True -CTSPillarNetworkA,2559,2559,2559,1977-01-03,255.89999999998975,255.90642,2015-01-01 00:42:39,bin2559,75,True -CTSPillarNetworkA,2560,2560,2560,1977-01-04,255.99999999998974,256.0064,2015-01-01 00:42:40,bin2560,35,True -CTSPillarNetworkA,2561,2561,2561,1977-01-05,256.09999999998973,256.1064,2015-01-01 00:42:41,bin2561,75,True -CTSPillarNetworkA,2562,2562,2562,1977-01-06,256.19999999998976,256.20642,2015-01-01 00:42:42,bin2562,35,True -CTSPillarNetworkA,2563,2563,2563,1977-01-07,256.2999999999898,256.30643,2015-01-01 00:42:43,bin2563,75,True -CTSPillarNetworkA,2564,2564,2564,1977-01-08,256.3999999999898,256.40643,2015-01-01 00:42:44,bin2564,35,True -CTSPillarNetworkA,2565,2565,2565,1977-01-09,256.4999999999898,256.50644,2015-01-01 00:42:45,bin2565,75,True -CTSPillarNetworkA,2566,2566,2566,1977-01-10,256.59999999998985,256.60645,2015-01-01 00:42:46,bin2566,35,True -CTSPillarNetworkA,2567,2567,2567,1977-01-11,256.69999999998987,256.70645,2015-01-01 00:42:47,bin2567,75,True -CTSPillarNetworkA,2568,2568,2568,1977-01-12,256.7999999999899,256.80646,2015-01-01 00:42:48,bin2568,35,True -CTSPillarNetworkA,2569,2569,2569,1977-01-13,256.8999999999899,256.90646,2015-01-01 00:42:49,bin2569,75,True -CTSPillarNetworkA,2570,2570,2570,1977-01-14,256.99999999998994,257.00647,2015-01-01 00:42:50,bin2570,35,True -CTSPillarNetworkA,2571,2571,2571,1977-01-15,257.09999999998996,257.10648,2015-01-01 00:42:51,bin2571,75,True -CTSPillarNetworkA,2572,2572,2572,1977-01-16,257.19999999999,257.20648,2015-01-01 00:42:52,bin2572,35,True -CTSPillarNetworkA,2573,2573,2573,1977-01-17,257.29999999999,257.3065,2015-01-01 00:42:53,bin2573,75,True -CTSPillarNetworkA,2574,2574,2574,1977-01-18,257.39999999999003,257.4065,2015-01-01 00:42:54,bin2574,35,True -CTSPillarNetworkA,2575,2575,2575,1977-01-19,257.49999999999005,257.5065,2015-01-01 00:42:55,bin2575,75,True -CTSPillarNetworkA,2576,2576,2576,1977-01-20,257.5999999999901,257.6065,2015-01-01 00:42:56,bin2576,35,True -CTSPillarNetworkA,2577,2577,2577,1977-01-21,257.6999999999901,257.7065,2015-01-01 00:42:57,bin2577,75,True -CTSPillarNetworkA,2578,2578,2578,1977-01-22,257.7999999999901,257.80652,2015-01-01 00:42:58,bin2578,35,True -CTSPillarNetworkA,2579,2579,2579,1977-01-23,257.89999999999014,257.90652,2015-01-01 00:42:59,bin2579,75,True -CTSPillarNetworkA,2580,2580,2580,1977-01-24,257.99999999999017,258.00653,2015-01-01 00:43:00,bin2580,35,True -CTSPillarNetworkA,2581,2581,2581,1977-01-25,258.0999999999902,258.10654,2015-01-01 00:43:01,bin2581,75,True -CTSPillarNetworkA,2582,2582,2582,1977-01-26,258.1999999999902,258.20654,2015-01-01 00:43:02,bin2582,35,True -CTSPillarNetworkA,2583,2583,2583,1977-01-27,258.29999999999023,258.30655,2015-01-01 00:43:03,bin2583,75,True -CTSPillarNetworkA,2584,2584,2584,1977-01-28,258.39999999999026,258.40656,2015-01-01 00:43:04,bin2584,35,True -CTSPillarNetworkA,2585,2585,2585,1977-01-29,258.4999999999903,258.50656,2015-01-01 00:43:05,bin2585,75,True -CTSPillarNetworkA,2586,2586,2586,1977-01-30,258.5999999999903,258.60657,2015-01-01 00:43:06,bin2586,35,True -CTSPillarNetworkA,2587,2587,2587,1977-01-31,258.6999999999903,258.70657,2015-01-01 00:43:07,bin2587,75,True -CTSPillarNetworkA,2588,2588,2588,1977-02-01,258.79999999999035,258.80658,2015-01-01 00:43:08,bin2588,35,True -CTSPillarNetworkA,2589,2589,2589,1977-02-02,258.89999999999037,258.9066,2015-01-01 00:43:09,bin2589,75,True -CTSPillarNetworkA,2590,2590,2590,1977-02-03,258.9999999999904,259.0066,2015-01-01 00:43:10,bin2590,35,True -CTSPillarNetworkA,2591,2591,2591,1977-02-04,259.0999999999904,259.1066,2015-01-01 00:43:11,bin2591,75,True -CTSPillarNetworkA,2592,2592,2592,1977-02-05,259.19999999999044,259.2066,2015-01-01 00:43:12,bin2592,35,True -CTSPillarNetworkA,2593,2593,2593,1977-02-06,259.29999999999046,259.3066,2015-01-01 00:43:13,bin2593,75,True -CTSPillarNetworkA,2594,2594,2594,1977-02-07,259.3999999999905,259.40662,2015-01-01 00:43:14,bin2594,35,True -CTSPillarNetworkA,2595,2595,2595,1977-02-08,259.4999999999905,259.50662,2015-01-01 00:43:15,bin2595,75,True -CTSPillarNetworkA,2596,2596,2596,1977-02-09,259.59999999999053,259.60663,2015-01-01 00:43:16,bin2596,35,True -CTSPillarNetworkA,2597,2597,2597,1977-02-10,259.69999999999055,259.70663,2015-01-01 00:43:17,bin2597,75,True -CTSPillarNetworkA,2598,2598,2598,1977-02-11,259.7999999999906,259.80664,2015-01-01 00:43:18,bin2598,35,True -CTSPillarNetworkA,2599,2599,2599,1977-02-12,259.8999999999906,259.90665,2015-01-01 00:43:19,bin2599,75,True -CTSPillarNetworkA,2600,2600,2600,1977-02-13,259.9999999999906,260.00665,2015-01-01 00:43:20,bin2600,35,True -CTSPillarNetworkA,2601,2601,2601,1977-02-14,260.09999999999064,260.10666,2015-01-01 00:43:21,bin2601,75,True -CTSPillarNetworkA,2602,2602,2602,1977-02-15,260.19999999999067,260.20667,2015-01-01 00:43:22,bin2602,35,True -CTSPillarNetworkA,2603,2603,2603,1977-02-16,260.2999999999907,260.30667,2015-01-01 00:43:23,bin2603,75,True -CTSPillarNetworkA,2604,2604,2604,1977-02-17,260.3999999999907,260.40668,2015-01-01 00:43:24,bin2604,35,True -CTSPillarNetworkA,2605,2605,2605,1977-02-18,260.49999999999073,260.50668,2015-01-01 00:43:25,bin2605,75,True -CTSPillarNetworkA,2606,2606,2606,1977-02-19,260.59999999999076,260.6067,2015-01-01 00:43:26,bin2606,35,True -CTSPillarNetworkA,2607,2607,2607,1977-02-20,260.6999999999908,260.7067,2015-01-01 00:43:27,bin2607,75,True -CTSPillarNetworkA,2608,2608,2608,1977-02-21,260.7999999999908,260.8067,2015-01-01 00:43:28,bin2608,35,True -CTSPillarNetworkA,2609,2609,2609,1977-02-22,260.8999999999908,260.9067,2015-01-01 00:43:29,bin2609,75,True -CTSPillarNetworkA,2610,2610,2610,1977-02-23,260.99999999999085,261.0067,2015-01-01 00:43:30,bin2610,35,True -CTSPillarNetworkA,2611,2611,2611,1977-02-24,261.09999999999087,261.10672,2015-01-01 00:43:31,bin2611,75,True -CTSPillarNetworkA,2612,2612,2612,1977-02-25,261.1999999999909,261.20673,2015-01-01 00:43:32,bin2612,35,True -CTSPillarNetworkA,2613,2613,2613,1977-02-26,261.2999999999909,261.30673,2015-01-01 00:43:33,bin2613,75,True -CTSPillarNetworkA,2614,2614,2614,1977-02-27,261.39999999999094,261.40674,2015-01-01 00:43:34,bin2614,35,True -CTSPillarNetworkA,2615,2615,2615,1977-02-28,261.49999999999096,261.50674,2015-01-01 00:43:35,bin2615,75,True -CTSPillarNetworkA,2616,2616,2616,1977-03-01,261.599999999991,261.60675,2015-01-01 00:43:36,bin2616,35,True -CTSPillarNetworkA,2617,2617,2617,1977-03-02,261.699999999991,261.70676,2015-01-01 00:43:37,bin2617,75,True -CTSPillarNetworkA,2618,2618,2618,1977-03-03,261.79999999999103,261.80676,2015-01-01 00:43:38,bin2618,35,True -CTSPillarNetworkA,2619,2619,2619,1977-03-04,261.89999999999105,261.90677,2015-01-01 00:43:39,bin2619,75,True -CTSPillarNetworkA,2620,2620,2620,1977-03-05,261.9999999999911,262.00677,2015-01-01 00:43:40,bin2620,35,True -CTSPillarNetworkA,2621,2621,2621,1977-03-06,262.0999999999911,262.10678,2015-01-01 00:43:41,bin2621,75,True -CTSPillarNetworkA,2622,2622,2622,1977-03-07,262.1999999999911,262.2068,2015-01-01 00:43:42,bin2622,35,True -CTSPillarNetworkA,2623,2623,2623,1977-03-08,262.29999999999114,262.3068,2015-01-01 00:43:43,bin2623,75,True -CTSPillarNetworkA,2624,2624,2624,1977-03-09,262.39999999999117,262.4068,2015-01-01 00:43:44,bin2624,35,True -CTSPillarNetworkA,2625,2625,2625,1977-03-10,262.4999999999912,262.5068,2015-01-01 00:43:45,bin2625,75,True -CTSPillarNetworkA,2626,2626,2626,1977-03-11,262.5999999999912,262.6068,2015-01-01 00:43:46,bin2626,35,True -CTSPillarNetworkA,2627,2627,2627,1977-03-12,262.69999999999123,262.70682,2015-01-01 00:43:47,bin2627,75,True -CTSPillarNetworkA,2628,2628,2628,1977-03-13,262.79999999999126,262.80682,2015-01-01 00:43:48,bin2628,35,True -CTSPillarNetworkA,2629,2629,2629,1977-03-14,262.8999999999913,262.90683,2015-01-01 00:43:49,bin2629,75,True -CTSPillarNetworkA,2630,2630,2630,1977-03-15,262.9999999999913,263.00684,2015-01-01 00:43:50,bin2630,35,True -CTSPillarNetworkA,2631,2631,2631,1977-03-16,263.0999999999913,263.10684,2015-01-01 00:43:51,bin2631,75,True -CTSPillarNetworkA,2632,2632,2632,1977-03-17,263.19999999999135,263.20685,2015-01-01 00:43:52,bin2632,35,True -CTSPillarNetworkA,2633,2633,2633,1977-03-18,263.29999999999137,263.30685,2015-01-01 00:43:53,bin2633,75,True -CTSPillarNetworkA,2634,2634,2634,1977-03-19,263.3999999999914,263.40686,2015-01-01 00:43:54,bin2634,35,True -CTSPillarNetworkA,2635,2635,2635,1977-03-20,263.4999999999914,263.50687,2015-01-01 00:43:55,bin2635,75,True -CTSPillarNetworkA,2636,2636,2636,1977-03-21,263.59999999999144,263.60687,2015-01-01 00:43:56,bin2636,35,True -CTSPillarNetworkA,2637,2637,2637,1977-03-22,263.69999999999146,263.70688,2015-01-01 00:43:57,bin2637,75,True -CTSPillarNetworkA,2638,2638,2638,1977-03-23,263.7999999999915,263.8069,2015-01-01 00:43:58,bin2638,35,True -CTSPillarNetworkA,2639,2639,2639,1977-03-24,263.8999999999915,263.9069,2015-01-01 00:43:59,bin2639,75,True -CTSPillarNetworkA,2640,2640,2640,1977-03-25,263.99999999999153,264.0069,2015-01-01 00:44:00,bin2640,35,True -CTSPillarNetworkA,2641,2641,2641,1977-03-26,264.09999999999155,264.1069,2015-01-01 00:44:01,bin2641,75,True -CTSPillarNetworkA,2642,2642,2642,1977-03-27,264.1999999999916,264.2069,2015-01-01 00:44:02,bin2642,35,True -CTSPillarNetworkA,2643,2643,2643,1977-03-28,264.2999999999916,264.30692,2015-01-01 00:44:03,bin2643,75,True -CTSPillarNetworkA,2644,2644,2644,1977-03-29,264.3999999999916,264.40692,2015-01-01 00:44:04,bin2644,35,True -CTSPillarNetworkA,2645,2645,2645,1977-03-30,264.49999999999164,264.50693,2015-01-01 00:44:05,bin2645,75,True -CTSPillarNetworkA,2646,2646,2646,1977-03-31,264.59999999999167,264.60693,2015-01-01 00:44:06,bin2646,35,True -CTSPillarNetworkA,2647,2647,2647,1977-04-01,264.6999999999917,264.70694,2015-01-01 00:44:07,bin2647,75,True -CTSPillarNetworkA,2648,2648,2648,1977-04-02,264.7999999999917,264.80695,2015-01-01 00:44:08,bin2648,35,True -CTSPillarNetworkA,2649,2649,2649,1977-04-03,264.89999999999173,264.90695,2015-01-01 00:44:09,bin2649,75,True -CTSPillarNetworkA,2650,2650,2650,1977-04-04,264.99999999999176,265.00696,2015-01-01 00:44:10,bin2650,35,True -CTSPillarNetworkA,2651,2651,2651,1977-04-05,265.0999999999918,265.10696,2015-01-01 00:44:11,bin2651,75,True -CTSPillarNetworkA,2652,2652,2652,1977-04-06,265.1999999999918,265.20697,2015-01-01 00:44:12,bin2652,35,True -CTSPillarNetworkA,2653,2653,2653,1977-04-07,265.2999999999918,265.30698,2015-01-01 00:44:13,bin2653,75,True -CTSPillarNetworkA,2654,2654,2654,1977-04-08,265.39999999999185,265.40698,2015-01-01 00:44:14,bin2654,35,True -CTSPillarNetworkA,2655,2655,2655,1977-04-09,265.49999999999187,265.507,2015-01-01 00:44:15,bin2655,75,True -CTSPillarNetworkA,2656,2656,2656,1977-04-10,265.5999999999919,265.607,2015-01-01 00:44:16,bin2656,35,True -CTSPillarNetworkA,2657,2657,2657,1977-04-11,265.6999999999919,265.707,2015-01-01 00:44:17,bin2657,75,True -CTSPillarNetworkA,2658,2658,2658,1977-04-12,265.79999999999194,265.807,2015-01-01 00:44:18,bin2658,35,True -CTSPillarNetworkA,2659,2659,2659,1977-04-13,265.89999999999196,265.907,2015-01-01 00:44:19,bin2659,75,True -CTSPillarNetworkA,2660,2660,2660,1977-04-14,265.999999999992,266.00702,2015-01-01 00:44:20,bin2660,35,True -CTSPillarNetworkA,2661,2661,2661,1977-04-15,266.099999999992,266.10703,2015-01-01 00:44:21,bin2661,75,True -CTSPillarNetworkA,2662,2662,2662,1977-04-16,266.19999999999203,266.20703,2015-01-01 00:44:22,bin2662,35,True -CTSPillarNetworkA,2663,2663,2663,1977-04-17,266.29999999999205,266.30704,2015-01-01 00:44:23,bin2663,75,True -CTSPillarNetworkA,2664,2664,2664,1977-04-18,266.3999999999921,266.40704,2015-01-01 00:44:24,bin2664,35,True -CTSPillarNetworkA,2665,2665,2665,1977-04-19,266.4999999999921,266.50705,2015-01-01 00:44:25,bin2665,75,True -CTSPillarNetworkA,2666,2666,2666,1977-04-20,266.5999999999921,266.60706,2015-01-01 00:44:26,bin2666,35,True -CTSPillarNetworkA,2667,2667,2667,1977-04-21,266.69999999999214,266.70706,2015-01-01 00:44:27,bin2667,75,True -CTSPillarNetworkA,2668,2668,2668,1977-04-22,266.79999999999217,266.80707,2015-01-01 00:44:28,bin2668,35,True -CTSPillarNetworkA,2669,2669,2669,1977-04-23,266.8999999999922,266.90707,2015-01-01 00:44:29,bin2669,75,True -CTSPillarNetworkA,2670,2670,2670,1977-04-24,266.9999999999922,267.00708,2015-01-01 00:44:30,bin2670,35,True -CTSPillarNetworkA,2671,2671,2671,1977-04-25,267.09999999999224,267.1071,2015-01-01 00:44:31,bin2671,75,True -CTSPillarNetworkA,2672,2672,2672,1977-04-26,267.19999999999226,267.2071,2015-01-01 00:44:32,bin2672,35,True -CTSPillarNetworkA,2673,2673,2673,1977-04-27,267.2999999999923,267.3071,2015-01-01 00:44:33,bin2673,75,True -CTSPillarNetworkA,2674,2674,2674,1977-04-28,267.3999999999923,267.4071,2015-01-01 00:44:34,bin2674,35,True -CTSPillarNetworkA,2675,2675,2675,1977-04-29,267.4999999999923,267.5071,2015-01-01 00:44:35,bin2675,75,True -CTSPillarNetworkA,2676,2676,2676,1977-04-30,267.59999999999235,267.60712,2015-01-01 00:44:36,bin2676,35,True -CTSPillarNetworkA,2677,2677,2677,1977-05-01,267.6999999999924,267.70712,2015-01-01 00:44:37,bin2677,75,True -CTSPillarNetworkA,2678,2678,2678,1977-05-02,267.7999999999924,267.80713,2015-01-01 00:44:38,bin2678,35,True -CTSPillarNetworkA,2679,2679,2679,1977-05-03,267.8999999999924,267.90714,2015-01-01 00:44:39,bin2679,75,True -CTSPillarNetworkA,2680,2680,2680,1977-05-04,267.99999999999244,268.00714,2015-01-01 00:44:40,bin2680,35,True -CTSPillarNetworkA,2681,2681,2681,1977-05-05,268.09999999999246,268.10715,2015-01-01 00:44:41,bin2681,75,True -CTSPillarNetworkA,2682,2682,2682,1977-05-06,268.1999999999925,268.20715,2015-01-01 00:44:42,bin2682,35,True -CTSPillarNetworkA,2683,2683,2683,1977-05-07,268.2999999999925,268.30716,2015-01-01 00:44:43,bin2683,75,True -CTSPillarNetworkA,2684,2684,2684,1977-05-08,268.39999999999253,268.40717,2015-01-01 00:44:44,bin2684,35,True -CTSPillarNetworkA,2685,2685,2685,1977-05-09,268.49999999999255,268.50717,2015-01-01 00:44:45,bin2685,75,True -CTSPillarNetworkA,2686,2686,2686,1977-05-10,268.5999999999926,268.60718,2015-01-01 00:44:46,bin2686,35,True -CTSPillarNetworkA,2687,2687,2687,1977-05-11,268.6999999999926,268.70718,2015-01-01 00:44:47,bin2687,75,True -CTSPillarNetworkA,2688,2688,2688,1977-05-12,268.7999999999926,268.8072,2015-01-01 00:44:48,bin2688,35,True -CTSPillarNetworkA,2689,2689,2689,1977-05-13,268.89999999999264,268.9072,2015-01-01 00:44:49,bin2689,75,True -CTSPillarNetworkA,2690,2690,2690,1977-05-14,268.99999999999267,269.0072,2015-01-01 00:44:50,bin2690,35,True -CTSPillarNetworkA,2691,2691,2691,1977-05-15,269.0999999999927,269.1072,2015-01-01 00:44:51,bin2691,75,True -CTSPillarNetworkA,2692,2692,2692,1977-05-16,269.1999999999927,269.2072,2015-01-01 00:44:52,bin2692,35,True -CTSPillarNetworkA,2693,2693,2693,1977-05-17,269.29999999999274,269.30722,2015-01-01 00:44:53,bin2693,75,True -CTSPillarNetworkA,2694,2694,2694,1977-05-18,269.39999999999276,269.40723,2015-01-01 00:44:54,bin2694,35,True -CTSPillarNetworkA,2695,2695,2695,1977-05-19,269.4999999999928,269.50723,2015-01-01 00:44:55,bin2695,75,True -CTSPillarNetworkA,2696,2696,2696,1977-05-20,269.5999999999928,269.60724,2015-01-01 00:44:56,bin2696,35,True -CTSPillarNetworkA,2697,2697,2697,1977-05-21,269.6999999999928,269.70724,2015-01-01 00:44:57,bin2697,75,True -CTSPillarNetworkA,2698,2698,2698,1977-05-22,269.79999999999285,269.80725,2015-01-01 00:44:58,bin2698,35,True -CTSPillarNetworkA,2699,2699,2699,1977-05-23,269.8999999999929,269.90726,2015-01-01 00:44:59,bin2699,75,True -CTSPillarNetworkA,2700,2700,2700,1977-05-24,269.9999999999929,270.00726,2015-01-01 00:45:00,bin2700,35,True -CTSPillarNetworkA,2701,2701,2701,1977-05-25,270.0999999999929,270.10727,2015-01-01 00:45:01,bin2701,75,True -CTSPillarNetworkA,2702,2702,2702,1977-05-26,270.19999999999294,270.20728,2015-01-01 00:45:02,bin2702,35,True -CTSPillarNetworkA,2703,2703,2703,1977-05-27,270.29999999999296,270.30728,2015-01-01 00:45:03,bin2703,75,True -CTSPillarNetworkA,2704,2704,2704,1977-05-28,270.399999999993,270.4073,2015-01-01 00:45:04,bin2704,35,True -CTSPillarNetworkA,2705,2705,2705,1977-05-29,270.499999999993,270.5073,2015-01-01 00:45:05,bin2705,75,True -CTSPillarNetworkA,2706,2706,2706,1977-05-30,270.59999999999303,270.6073,2015-01-01 00:45:06,bin2706,35,True -CTSPillarNetworkA,2707,2707,2707,1977-05-31,270.69999999999305,270.7073,2015-01-01 00:45:07,bin2707,75,True -CTSPillarNetworkA,2708,2708,2708,1977-06-01,270.7999999999931,270.8073,2015-01-01 00:45:08,bin2708,35,True -CTSPillarNetworkA,2709,2709,2709,1977-06-02,270.8999999999931,270.90732,2015-01-01 00:45:09,bin2709,75,True -CTSPillarNetworkA,2710,2710,2710,1977-06-03,270.9999999999931,271.00732,2015-01-01 00:45:10,bin2710,35,True -CTSPillarNetworkA,2711,2711,2711,1977-06-04,271.09999999999314,271.10733,2015-01-01 00:45:11,bin2711,75,True -CTSPillarNetworkA,2712,2712,2712,1977-06-05,271.19999999999317,271.20734,2015-01-01 00:45:12,bin2712,35,True -CTSPillarNetworkA,2713,2713,2713,1977-06-06,271.2999999999932,271.30734,2015-01-01 00:45:13,bin2713,75,True -CTSPillarNetworkA,2714,2714,2714,1977-06-07,271.3999999999932,271.40735,2015-01-01 00:45:14,bin2714,35,True -CTSPillarNetworkA,2715,2715,2715,1977-06-08,271.49999999999324,271.50735,2015-01-01 00:45:15,bin2715,75,True -CTSPillarNetworkA,2716,2716,2716,1977-06-09,271.59999999999326,271.60736,2015-01-01 00:45:16,bin2716,35,True -CTSPillarNetworkA,2717,2717,2717,1977-06-10,271.6999999999933,271.70737,2015-01-01 00:45:17,bin2717,75,True -CTSPillarNetworkA,2718,2718,2718,1977-06-11,271.7999999999933,271.80737,2015-01-01 00:45:18,bin2718,35,True -CTSPillarNetworkA,2719,2719,2719,1977-06-12,271.8999999999933,271.90738,2015-01-01 00:45:19,bin2719,75,True -CTSPillarNetworkA,2720,2720,2720,1977-06-13,271.99999999999335,272.0074,2015-01-01 00:45:20,bin2720,35,True -CTSPillarNetworkA,2721,2721,2721,1977-06-14,272.0999999999934,272.1074,2015-01-01 00:45:21,bin2721,75,True -CTSPillarNetworkA,2722,2722,2722,1977-06-15,272.1999999999934,272.2074,2015-01-01 00:45:22,bin2722,35,True -CTSPillarNetworkA,2723,2723,2723,1977-06-16,272.2999999999934,272.3074,2015-01-01 00:45:23,bin2723,75,True -CTSPillarNetworkA,2724,2724,2724,1977-06-17,272.39999999999344,272.4074,2015-01-01 00:45:24,bin2724,35,True -CTSPillarNetworkA,2725,2725,2725,1977-06-18,272.49999999999346,272.50742,2015-01-01 00:45:25,bin2725,75,True -CTSPillarNetworkA,2726,2726,2726,1977-06-19,272.5999999999935,272.60742,2015-01-01 00:45:26,bin2726,35,True -CTSPillarNetworkA,2727,2727,2727,1977-06-20,272.6999999999935,272.70743,2015-01-01 00:45:27,bin2727,75,True -CTSPillarNetworkA,2728,2728,2728,1977-06-21,272.79999999999353,272.80743,2015-01-01 00:45:28,bin2728,35,True -CTSPillarNetworkA,2729,2729,2729,1977-06-22,272.89999999999355,272.90744,2015-01-01 00:45:29,bin2729,75,True -CTSPillarNetworkA,2730,2730,2730,1977-06-23,272.9999999999936,273.00745,2015-01-01 00:45:30,bin2730,35,True -CTSPillarNetworkA,2731,2731,2731,1977-06-24,273.0999999999936,273.10745,2015-01-01 00:45:31,bin2731,75,True -CTSPillarNetworkA,2732,2732,2732,1977-06-25,273.1999999999936,273.20746,2015-01-01 00:45:32,bin2732,35,True -CTSPillarNetworkA,2733,2733,2733,1977-06-26,273.29999999999364,273.30746,2015-01-01 00:45:33,bin2733,75,True -CTSPillarNetworkA,2734,2734,2734,1977-06-27,273.39999999999367,273.40747,2015-01-01 00:45:34,bin2734,35,True -CTSPillarNetworkA,2735,2735,2735,1977-06-28,273.4999999999937,273.50748,2015-01-01 00:45:35,bin2735,75,True -CTSPillarNetworkA,2736,2736,2736,1977-06-29,273.5999999999937,273.60748,2015-01-01 00:45:36,bin2736,35,True -CTSPillarNetworkA,2737,2737,2737,1977-06-30,273.69999999999374,273.7075,2015-01-01 00:45:37,bin2737,75,True -CTSPillarNetworkA,2738,2738,2738,1977-07-01,273.79999999999376,273.8075,2015-01-01 00:45:38,bin2738,35,True -CTSPillarNetworkA,2739,2739,2739,1977-07-02,273.8999999999938,273.9075,2015-01-01 00:45:39,bin2739,75,True -CTSPillarNetworkA,2740,2740,2740,1977-07-03,273.9999999999938,274.0075,2015-01-01 00:45:40,bin2740,35,True -CTSPillarNetworkA,2741,2741,2741,1977-07-04,274.0999999999938,274.1075,2015-01-01 00:45:41,bin2741,75,True -CTSPillarNetworkA,2742,2742,2742,1977-07-05,274.19999999999385,274.20752,2015-01-01 00:45:42,bin2742,35,True -CTSPillarNetworkA,2743,2743,2743,1977-07-06,274.2999999999939,274.30753,2015-01-01 00:45:43,bin2743,75,True -CTSPillarNetworkA,2744,2744,2744,1977-07-07,274.3999999999939,274.40753,2015-01-01 00:45:44,bin2744,35,True -CTSPillarNetworkA,2745,2745,2745,1977-07-08,274.4999999999939,274.50754,2015-01-01 00:45:45,bin2745,75,True -CTSPillarNetworkA,2746,2746,2746,1977-07-09,274.59999999999394,274.60754,2015-01-01 00:45:46,bin2746,35,True -CTSPillarNetworkA,2747,2747,2747,1977-07-10,274.69999999999396,274.70755,2015-01-01 00:45:47,bin2747,75,True -CTSPillarNetworkA,2748,2748,2748,1977-07-11,274.799999999994,274.80756,2015-01-01 00:45:48,bin2748,35,True -CTSPillarNetworkA,2749,2749,2749,1977-07-12,274.899999999994,274.90756,2015-01-01 00:45:49,bin2749,75,True -CTSPillarNetworkA,2750,2750,2750,1977-07-13,274.99999999999403,275.00757,2015-01-01 00:45:50,bin2750,35,True -CTSPillarNetworkA,2751,2751,2751,1977-07-14,275.09999999999405,275.10757,2015-01-01 00:45:51,bin2751,75,True -CTSPillarNetworkA,2752,2752,2752,1977-07-15,275.1999999999941,275.20758,2015-01-01 00:45:52,bin2752,35,True -CTSPillarNetworkA,2753,2753,2753,1977-07-16,275.2999999999941,275.3076,2015-01-01 00:45:53,bin2753,75,True -CTSPillarNetworkA,2754,2754,2754,1977-07-17,275.3999999999941,275.4076,2015-01-01 00:45:54,bin2754,35,True -CTSPillarNetworkA,2755,2755,2755,1977-07-18,275.49999999999415,275.5076,2015-01-01 00:45:55,bin2755,75,True -CTSPillarNetworkA,2756,2756,2756,1977-07-19,275.59999999999417,275.6076,2015-01-01 00:45:56,bin2756,35,True -CTSPillarNetworkA,2757,2757,2757,1977-07-20,275.6999999999942,275.7076,2015-01-01 00:45:57,bin2757,75,True -CTSPillarNetworkA,2758,2758,2758,1977-07-21,275.7999999999942,275.80762,2015-01-01 00:45:58,bin2758,35,True -CTSPillarNetworkA,2759,2759,2759,1977-07-22,275.89999999999424,275.90762,2015-01-01 00:45:59,bin2759,75,True -CTSPillarNetworkA,2760,2760,2760,1977-07-23,275.99999999999426,276.00763,2015-01-01 00:46:00,bin2760,35,True -CTSPillarNetworkA,2761,2761,2761,1977-07-24,276.0999999999943,276.10764,2015-01-01 00:46:01,bin2761,75,True -CTSPillarNetworkA,2762,2762,2762,1977-07-25,276.1999999999943,276.20764,2015-01-01 00:46:02,bin2762,35,True -CTSPillarNetworkA,2763,2763,2763,1977-07-26,276.2999999999943,276.30765,2015-01-01 00:46:03,bin2763,75,True -CTSPillarNetworkA,2764,2764,2764,1977-07-27,276.39999999999435,276.40765,2015-01-01 00:46:04,bin2764,35,True -CTSPillarNetworkA,2765,2765,2765,1977-07-28,276.4999999999944,276.50766,2015-01-01 00:46:05,bin2765,75,True -CTSPillarNetworkA,2766,2766,2766,1977-07-29,276.5999999999944,276.60767,2015-01-01 00:46:06,bin2766,35,True -CTSPillarNetworkA,2767,2767,2767,1977-07-30,276.6999999999944,276.70767,2015-01-01 00:46:07,bin2767,75,True -CTSPillarNetworkA,2768,2768,2768,1977-07-31,276.79999999999444,276.80768,2015-01-01 00:46:08,bin2768,35,True -CTSPillarNetworkA,2769,2769,2769,1977-08-01,276.89999999999446,276.90768,2015-01-01 00:46:09,bin2769,75,True -CTSPillarNetworkA,2770,2770,2770,1977-08-02,276.9999999999945,277.0077,2015-01-01 00:46:10,bin2770,35,True -CTSPillarNetworkA,2771,2771,2771,1977-08-03,277.0999999999945,277.1077,2015-01-01 00:46:11,bin2771,75,True -CTSPillarNetworkA,2772,2772,2772,1977-08-04,277.19999999999453,277.2077,2015-01-01 00:46:12,bin2772,35,True -CTSPillarNetworkA,2773,2773,2773,1977-08-05,277.29999999999455,277.3077,2015-01-01 00:46:13,bin2773,75,True -CTSPillarNetworkA,2774,2774,2774,1977-08-06,277.3999999999946,277.4077,2015-01-01 00:46:14,bin2774,35,True -CTSPillarNetworkA,2775,2775,2775,1977-08-07,277.4999999999946,277.50772,2015-01-01 00:46:15,bin2775,75,True -CTSPillarNetworkA,2776,2776,2776,1977-08-08,277.5999999999946,277.60773,2015-01-01 00:46:16,bin2776,35,True -CTSPillarNetworkA,2777,2777,2777,1977-08-09,277.69999999999465,277.70773,2015-01-01 00:46:17,bin2777,75,True -CTSPillarNetworkA,2778,2778,2778,1977-08-10,277.79999999999467,277.80774,2015-01-01 00:46:18,bin2778,35,True -CTSPillarNetworkA,2779,2779,2779,1977-08-11,277.8999999999947,277.90775,2015-01-01 00:46:19,bin2779,75,True -CTSPillarNetworkA,2780,2780,2780,1977-08-12,277.9999999999947,278.00775,2015-01-01 00:46:20,bin2780,35,True -CTSPillarNetworkA,2781,2781,2781,1977-08-13,278.09999999999474,278.10776,2015-01-01 00:46:21,bin2781,75,True -CTSPillarNetworkA,2782,2782,2782,1977-08-14,278.19999999999476,278.20776,2015-01-01 00:46:22,bin2782,35,True -CTSPillarNetworkA,2783,2783,2783,1977-08-15,278.2999999999948,278.30777,2015-01-01 00:46:23,bin2783,75,True -CTSPillarNetworkA,2784,2784,2784,1977-08-16,278.3999999999948,278.40778,2015-01-01 00:46:24,bin2784,35,True -CTSPillarNetworkA,2785,2785,2785,1977-08-17,278.4999999999948,278.50778,2015-01-01 00:46:25,bin2785,75,True -CTSPillarNetworkA,2786,2786,2786,1977-08-18,278.59999999999485,278.6078,2015-01-01 00:46:26,bin2786,35,True -CTSPillarNetworkA,2787,2787,2787,1977-08-19,278.6999999999949,278.7078,2015-01-01 00:46:27,bin2787,75,True -CTSPillarNetworkA,2788,2788,2788,1977-08-20,278.7999999999949,278.8078,2015-01-01 00:46:28,bin2788,35,True -CTSPillarNetworkA,2789,2789,2789,1977-08-21,278.8999999999949,278.9078,2015-01-01 00:46:29,bin2789,75,True -CTSPillarNetworkA,2790,2790,2790,1977-08-22,278.99999999999494,279.0078,2015-01-01 00:46:30,bin2790,35,True -CTSPillarNetworkA,2791,2791,2791,1977-08-23,279.09999999999496,279.10782,2015-01-01 00:46:31,bin2791,75,True -CTSPillarNetworkA,2792,2792,2792,1977-08-24,279.199999999995,279.20782,2015-01-01 00:46:32,bin2792,35,True -CTSPillarNetworkA,2793,2793,2793,1977-08-25,279.299999999995,279.30783,2015-01-01 00:46:33,bin2793,75,True -CTSPillarNetworkA,2794,2794,2794,1977-08-26,279.39999999999503,279.40784,2015-01-01 00:46:34,bin2794,35,True -CTSPillarNetworkA,2795,2795,2795,1977-08-27,279.49999999999505,279.50784,2015-01-01 00:46:35,bin2795,75,True -CTSPillarNetworkA,2796,2796,2796,1977-08-28,279.5999999999951,279.60785,2015-01-01 00:46:36,bin2796,35,True -CTSPillarNetworkA,2797,2797,2797,1977-08-29,279.6999999999951,279.70786,2015-01-01 00:46:37,bin2797,75,True -CTSPillarNetworkA,2798,2798,2798,1977-08-30,279.7999999999951,279.80786,2015-01-01 00:46:38,bin2798,35,True -CTSPillarNetworkA,2799,2799,2799,1977-08-31,279.89999999999515,279.90787,2015-01-01 00:46:39,bin2799,75,True -CTSPillarNetworkA,2800,2800,2800,1977-09-01,279.99999999999517,280.00787,2015-01-01 00:46:40,bin2800,35,True -CTSPillarNetworkA,2801,2801,2801,1977-09-02,280.0999999999952,280.10788,2015-01-01 00:46:41,bin2801,75,True -CTSPillarNetworkA,2802,2802,2802,1977-09-03,280.1999999999952,280.2079,2015-01-01 00:46:42,bin2802,35,True -CTSPillarNetworkA,2803,2803,2803,1977-09-04,280.29999999999524,280.3079,2015-01-01 00:46:43,bin2803,75,True -CTSPillarNetworkA,2804,2804,2804,1977-09-05,280.39999999999526,280.4079,2015-01-01 00:46:44,bin2804,35,True -CTSPillarNetworkA,2805,2805,2805,1977-09-06,280.4999999999953,280.5079,2015-01-01 00:46:45,bin2805,75,True -CTSPillarNetworkA,2806,2806,2806,1977-09-07,280.5999999999953,280.6079,2015-01-01 00:46:46,bin2806,35,True -CTSPillarNetworkA,2807,2807,2807,1977-09-08,280.6999999999953,280.70792,2015-01-01 00:46:47,bin2807,75,True -CTSPillarNetworkA,2808,2808,2808,1977-09-09,280.79999999999535,280.80792,2015-01-01 00:46:48,bin2808,35,True -CTSPillarNetworkA,2809,2809,2809,1977-09-10,280.8999999999954,280.90793,2015-01-01 00:46:49,bin2809,75,True -CTSPillarNetworkA,2810,2810,2810,1977-09-11,280.9999999999954,281.00793,2015-01-01 00:46:50,bin2810,35,True -CTSPillarNetworkA,2811,2811,2811,1977-09-12,281.0999999999954,281.10794,2015-01-01 00:46:51,bin2811,75,True -CTSPillarNetworkA,2812,2812,2812,1977-09-13,281.19999999999544,281.20795,2015-01-01 00:46:52,bin2812,35,True -CTSPillarNetworkA,2813,2813,2813,1977-09-14,281.29999999999546,281.30795,2015-01-01 00:46:53,bin2813,75,True -CTSPillarNetworkA,2814,2814,2814,1977-09-15,281.3999999999955,281.40796,2015-01-01 00:46:54,bin2814,35,True -CTSPillarNetworkA,2815,2815,2815,1977-09-16,281.4999999999955,281.50797,2015-01-01 00:46:55,bin2815,75,True -CTSPillarNetworkA,2816,2816,2816,1977-09-17,281.59999999999553,281.60797,2015-01-01 00:46:56,bin2816,35,True -CTSPillarNetworkA,2817,2817,2817,1977-09-18,281.69999999999555,281.70798,2015-01-01 00:46:57,bin2817,75,True -CTSPillarNetworkA,2818,2818,2818,1977-09-19,281.7999999999956,281.80798,2015-01-01 00:46:58,bin2818,35,True -CTSPillarNetworkA,2819,2819,2819,1977-09-20,281.8999999999956,281.908,2015-01-01 00:46:59,bin2819,75,True -CTSPillarNetworkA,2820,2820,2820,1977-09-21,281.9999999999956,282.008,2015-01-01 00:47:00,bin2820,35,True -CTSPillarNetworkA,2821,2821,2821,1977-09-22,282.09999999999565,282.108,2015-01-01 00:47:01,bin2821,75,True -CTSPillarNetworkA,2822,2822,2822,1977-09-23,282.19999999999567,282.208,2015-01-01 00:47:02,bin2822,35,True -CTSPillarNetworkA,2823,2823,2823,1977-09-24,282.2999999999957,282.308,2015-01-01 00:47:03,bin2823,75,True -CTSPillarNetworkA,2824,2824,2824,1977-09-25,282.3999999999957,282.40802,2015-01-01 00:47:04,bin2824,35,True -CTSPillarNetworkA,2825,2825,2825,1977-09-26,282.49999999999574,282.50803,2015-01-01 00:47:05,bin2825,75,True -CTSPillarNetworkA,2826,2826,2826,1977-09-27,282.59999999999576,282.60803,2015-01-01 00:47:06,bin2826,35,True -CTSPillarNetworkA,2827,2827,2827,1977-09-28,282.6999999999958,282.70804,2015-01-01 00:47:07,bin2827,75,True -CTSPillarNetworkA,2828,2828,2828,1977-09-29,282.7999999999958,282.80804,2015-01-01 00:47:08,bin2828,35,True -CTSPillarNetworkA,2829,2829,2829,1977-09-30,282.8999999999958,282.90805,2015-01-01 00:47:09,bin2829,75,True -CTSPillarNetworkA,2830,2830,2830,1977-10-01,282.99999999999585,283.00806,2015-01-01 00:47:10,bin2830,35,True -CTSPillarNetworkA,2831,2831,2831,1977-10-02,283.0999999999959,283.10806,2015-01-01 00:47:11,bin2831,75,True -CTSPillarNetworkA,2832,2832,2832,1977-10-03,283.1999999999959,283.20807,2015-01-01 00:47:12,bin2832,35,True -CTSPillarNetworkA,2833,2833,2833,1977-10-04,283.2999999999959,283.30807,2015-01-01 00:47:13,bin2833,75,True -CTSPillarNetworkA,2834,2834,2834,1977-10-05,283.39999999999594,283.40808,2015-01-01 00:47:14,bin2834,35,True -CTSPillarNetworkA,2835,2835,2835,1977-10-06,283.49999999999596,283.5081,2015-01-01 00:47:15,bin2835,75,True -CTSPillarNetworkA,2836,2836,2836,1977-10-07,283.599999999996,283.6081,2015-01-01 00:47:16,bin2836,35,True -CTSPillarNetworkA,2837,2837,2837,1977-10-08,283.699999999996,283.7081,2015-01-01 00:47:17,bin2837,75,True -CTSPillarNetworkA,2838,2838,2838,1977-10-09,283.79999999999603,283.8081,2015-01-01 00:47:18,bin2838,35,True -CTSPillarNetworkA,2839,2839,2839,1977-10-10,283.89999999999606,283.9081,2015-01-01 00:47:19,bin2839,75,True -CTSPillarNetworkA,2840,2840,2840,1977-10-11,283.9999999999961,284.00812,2015-01-01 00:47:20,bin2840,35,True -CTSPillarNetworkA,2841,2841,2841,1977-10-12,284.0999999999961,284.10812,2015-01-01 00:47:21,bin2841,75,True -CTSPillarNetworkA,2842,2842,2842,1977-10-13,284.1999999999961,284.20813,2015-01-01 00:47:22,bin2842,35,True -CTSPillarNetworkA,2843,2843,2843,1977-10-14,284.29999999999615,284.30814,2015-01-01 00:47:23,bin2843,75,True -CTSPillarNetworkA,2844,2844,2844,1977-10-15,284.39999999999617,284.40814,2015-01-01 00:47:24,bin2844,35,True -CTSPillarNetworkA,2845,2845,2845,1977-10-16,284.4999999999962,284.50815,2015-01-01 00:47:25,bin2845,75,True -CTSPillarNetworkA,2846,2846,2846,1977-10-17,284.5999999999962,284.60815,2015-01-01 00:47:26,bin2846,35,True -CTSPillarNetworkA,2847,2847,2847,1977-10-18,284.69999999999624,284.70816,2015-01-01 00:47:27,bin2847,75,True -CTSPillarNetworkA,2848,2848,2848,1977-10-19,284.79999999999626,284.80817,2015-01-01 00:47:28,bin2848,35,True -CTSPillarNetworkA,2849,2849,2849,1977-10-20,284.8999999999963,284.90817,2015-01-01 00:47:29,bin2849,75,True -CTSPillarNetworkA,2850,2850,2850,1977-10-21,284.9999999999963,285.00818,2015-01-01 00:47:30,bin2850,35,True -CTSPillarNetworkA,2851,2851,2851,1977-10-22,285.0999999999963,285.1082,2015-01-01 00:47:31,bin2851,75,True -CTSPillarNetworkA,2852,2852,2852,1977-10-23,285.19999999999635,285.2082,2015-01-01 00:47:32,bin2852,35,True -CTSPillarNetworkA,2853,2853,2853,1977-10-24,285.2999999999964,285.3082,2015-01-01 00:47:33,bin2853,75,True -CTSPillarNetworkA,2854,2854,2854,1977-10-25,285.3999999999964,285.4082,2015-01-01 00:47:34,bin2854,35,True -CTSPillarNetworkA,2855,2855,2855,1977-10-26,285.4999999999964,285.5082,2015-01-01 00:47:35,bin2855,75,True -CTSPillarNetworkA,2856,2856,2856,1977-10-27,285.59999999999644,285.60822,2015-01-01 00:47:36,bin2856,35,True -CTSPillarNetworkA,2857,2857,2857,1977-10-28,285.69999999999646,285.70822,2015-01-01 00:47:37,bin2857,75,True -CTSPillarNetworkA,2858,2858,2858,1977-10-29,285.7999999999965,285.80823,2015-01-01 00:47:38,bin2858,35,True -CTSPillarNetworkA,2859,2859,2859,1977-10-30,285.8999999999965,285.90823,2015-01-01 00:47:39,bin2859,75,True -CTSPillarNetworkA,2860,2860,2860,1977-10-31,285.99999999999653,286.00824,2015-01-01 00:47:40,bin2860,35,True -CTSPillarNetworkA,2861,2861,2861,1977-11-01,286.09999999999656,286.10825,2015-01-01 00:47:41,bin2861,75,True -CTSPillarNetworkA,2862,2862,2862,1977-11-02,286.1999999999966,286.20825,2015-01-01 00:47:42,bin2862,35,True -CTSPillarNetworkA,2863,2863,2863,1977-11-03,286.2999999999966,286.30826,2015-01-01 00:47:43,bin2863,75,True -CTSPillarNetworkA,2864,2864,2864,1977-11-04,286.3999999999966,286.40826,2015-01-01 00:47:44,bin2864,35,True -CTSPillarNetworkA,2865,2865,2865,1977-11-05,286.49999999999665,286.50827,2015-01-01 00:47:45,bin2865,75,True -CTSPillarNetworkA,2866,2866,2866,1977-11-06,286.59999999999667,286.60828,2015-01-01 00:47:46,bin2866,35,True -CTSPillarNetworkA,2867,2867,2867,1977-11-07,286.6999999999967,286.70828,2015-01-01 00:47:47,bin2867,75,True -CTSPillarNetworkA,2868,2868,2868,1977-11-08,286.7999999999967,286.8083,2015-01-01 00:47:48,bin2868,35,True -CTSPillarNetworkA,2869,2869,2869,1977-11-09,286.89999999999674,286.9083,2015-01-01 00:47:49,bin2869,75,True -CTSPillarNetworkA,2870,2870,2870,1977-11-10,286.99999999999676,287.0083,2015-01-01 00:47:50,bin2870,35,True -CTSPillarNetworkA,2871,2871,2871,1977-11-11,287.0999999999968,287.1083,2015-01-01 00:47:51,bin2871,75,True -CTSPillarNetworkA,2872,2872,2872,1977-11-12,287.1999999999968,287.2083,2015-01-01 00:47:52,bin2872,35,True -CTSPillarNetworkA,2873,2873,2873,1977-11-13,287.2999999999968,287.30832,2015-01-01 00:47:53,bin2873,75,True -CTSPillarNetworkA,2874,2874,2874,1977-11-14,287.39999999999685,287.40833,2015-01-01 00:47:54,bin2874,35,True -CTSPillarNetworkA,2875,2875,2875,1977-11-15,287.4999999999969,287.50833,2015-01-01 00:47:55,bin2875,75,True -CTSPillarNetworkA,2876,2876,2876,1977-11-16,287.5999999999969,287.60834,2015-01-01 00:47:56,bin2876,35,True -CTSPillarNetworkA,2877,2877,2877,1977-11-17,287.6999999999969,287.70834,2015-01-01 00:47:57,bin2877,75,True -CTSPillarNetworkA,2878,2878,2878,1977-11-18,287.79999999999694,287.80835,2015-01-01 00:47:58,bin2878,35,True -CTSPillarNetworkA,2879,2879,2879,1977-11-19,287.89999999999696,287.90836,2015-01-01 00:47:59,bin2879,75,True -CTSPillarNetworkA,2880,2880,2880,1977-11-20,287.999999999997,288.00836,2015-01-01 00:48:00,bin2880,35,True -CTSPillarNetworkA,2881,2881,2881,1977-11-21,288.099999999997,288.10837,2015-01-01 00:48:01,bin2881,75,True -CTSPillarNetworkA,2882,2882,2882,1977-11-22,288.19999999999703,288.20837,2015-01-01 00:48:02,bin2882,35,True -CTSPillarNetworkA,2883,2883,2883,1977-11-23,288.29999999999706,288.30838,2015-01-01 00:48:03,bin2883,75,True -CTSPillarNetworkA,2884,2884,2884,1977-11-24,288.3999999999971,288.4084,2015-01-01 00:48:04,bin2884,35,True -CTSPillarNetworkA,2885,2885,2885,1977-11-25,288.4999999999971,288.5084,2015-01-01 00:48:05,bin2885,75,True -CTSPillarNetworkA,2886,2886,2886,1977-11-26,288.5999999999971,288.6084,2015-01-01 00:48:06,bin2886,35,True -CTSPillarNetworkA,2887,2887,2887,1977-11-27,288.69999999999715,288.7084,2015-01-01 00:48:07,bin2887,75,True -CTSPillarNetworkA,2888,2888,2888,1977-11-28,288.79999999999717,288.8084,2015-01-01 00:48:08,bin2888,35,True -CTSPillarNetworkA,2889,2889,2889,1977-11-29,288.8999999999972,288.90842,2015-01-01 00:48:09,bin2889,75,True -CTSPillarNetworkA,2890,2890,2890,1977-11-30,288.9999999999972,289.00842,2015-01-01 00:48:10,bin2890,35,True -CTSPillarNetworkA,2891,2891,2891,1977-12-01,289.09999999999724,289.10843,2015-01-01 00:48:11,bin2891,75,True -CTSPillarNetworkA,2892,2892,2892,1977-12-02,289.19999999999726,289.20844,2015-01-01 00:48:12,bin2892,35,True -CTSPillarNetworkA,2893,2893,2893,1977-12-03,289.2999999999973,289.30844,2015-01-01 00:48:13,bin2893,75,True -CTSPillarNetworkA,2894,2894,2894,1977-12-04,289.3999999999973,289.40845,2015-01-01 00:48:14,bin2894,35,True -CTSPillarNetworkA,2895,2895,2895,1977-12-05,289.4999999999973,289.50845,2015-01-01 00:48:15,bin2895,75,True -CTSPillarNetworkA,2896,2896,2896,1977-12-06,289.59999999999735,289.60846,2015-01-01 00:48:16,bin2896,35,True -CTSPillarNetworkA,2897,2897,2897,1977-12-07,289.6999999999974,289.70847,2015-01-01 00:48:17,bin2897,75,True -CTSPillarNetworkA,2898,2898,2898,1977-12-08,289.7999999999974,289.80847,2015-01-01 00:48:18,bin2898,35,True -CTSPillarNetworkA,2899,2899,2899,1977-12-09,289.8999999999974,289.90848,2015-01-01 00:48:19,bin2899,75,True -CTSPillarNetworkA,2900,2900,2900,1977-12-10,289.99999999999744,290.00848,2015-01-01 00:48:20,bin2900,35,True -CTSPillarNetworkA,2901,2901,2901,1977-12-11,290.09999999999746,290.1085,2015-01-01 00:48:21,bin2901,75,True -CTSPillarNetworkA,2902,2902,2902,1977-12-12,290.1999999999975,290.2085,2015-01-01 00:48:22,bin2902,35,True -CTSPillarNetworkA,2903,2903,2903,1977-12-13,290.2999999999975,290.3085,2015-01-01 00:48:23,bin2903,75,True -CTSPillarNetworkA,2904,2904,2904,1977-12-14,290.39999999999753,290.4085,2015-01-01 00:48:24,bin2904,35,True -CTSPillarNetworkA,2905,2905,2905,1977-12-15,290.49999999999756,290.5085,2015-01-01 00:48:25,bin2905,75,True -CTSPillarNetworkA,2906,2906,2906,1977-12-16,290.5999999999976,290.60852,2015-01-01 00:48:26,bin2906,35,True -CTSPillarNetworkA,2907,2907,2907,1977-12-17,290.6999999999976,290.70853,2015-01-01 00:48:27,bin2907,75,True -CTSPillarNetworkA,2908,2908,2908,1977-12-18,290.7999999999976,290.80853,2015-01-01 00:48:28,bin2908,35,True -CTSPillarNetworkA,2909,2909,2909,1977-12-19,290.89999999999765,290.90854,2015-01-01 00:48:29,bin2909,75,True -CTSPillarNetworkA,2910,2910,2910,1977-12-20,290.99999999999767,291.00854,2015-01-01 00:48:30,bin2910,35,True -CTSPillarNetworkA,2911,2911,2911,1977-12-21,291.0999999999977,291.10855,2015-01-01 00:48:31,bin2911,75,True -CTSPillarNetworkA,2912,2912,2912,1977-12-22,291.1999999999977,291.20856,2015-01-01 00:48:32,bin2912,35,True -CTSPillarNetworkA,2913,2913,2913,1977-12-23,291.29999999999774,291.30856,2015-01-01 00:48:33,bin2913,75,True -CTSPillarNetworkA,2914,2914,2914,1977-12-24,291.39999999999776,291.40857,2015-01-01 00:48:34,bin2914,35,True -CTSPillarNetworkA,2915,2915,2915,1977-12-25,291.4999999999978,291.50858,2015-01-01 00:48:35,bin2915,75,True -CTSPillarNetworkA,2916,2916,2916,1977-12-26,291.5999999999978,291.60858,2015-01-01 00:48:36,bin2916,35,True -CTSPillarNetworkA,2917,2917,2917,1977-12-27,291.69999999999783,291.7086,2015-01-01 00:48:37,bin2917,75,True -CTSPillarNetworkA,2918,2918,2918,1977-12-28,291.79999999999785,291.8086,2015-01-01 00:48:38,bin2918,35,True -CTSPillarNetworkA,2919,2919,2919,1977-12-29,291.8999999999979,291.9086,2015-01-01 00:48:39,bin2919,75,True -CTSPillarNetworkA,2920,2920,2920,1977-12-30,291.9999999999979,292.0086,2015-01-01 00:48:40,bin2920,35,True -CTSPillarNetworkA,2921,2921,2921,1977-12-31,292.0999999999979,292.1086,2015-01-01 00:48:41,bin2921,75,True -CTSPillarNetworkA,2922,2922,2922,1978-01-01,292.19999999999794,292.20862,2015-01-01 00:48:42,bin2922,35,True -CTSPillarNetworkA,2923,2923,2923,1978-01-02,292.29999999999797,292.30862,2015-01-01 00:48:43,bin2923,75,True -CTSPillarNetworkA,2924,2924,2924,1978-01-03,292.399999999998,292.40863,2015-01-01 00:48:44,bin2924,35,True -CTSPillarNetworkA,2925,2925,2925,1978-01-04,292.499999999998,292.50864,2015-01-01 00:48:45,bin2925,75,True -CTSPillarNetworkA,2926,2926,2926,1978-01-05,292.59999999999803,292.60864,2015-01-01 00:48:46,bin2926,35,True -CTSPillarNetworkA,2927,2927,2927,1978-01-06,292.69999999999806,292.70865,2015-01-01 00:48:47,bin2927,75,True -CTSPillarNetworkA,2928,2928,2928,1978-01-07,292.7999999999981,292.80865,2015-01-01 00:48:48,bin2928,35,True -CTSPillarNetworkA,2929,2929,2929,1978-01-08,292.8999999999981,292.90866,2015-01-01 00:48:49,bin2929,75,True -CTSPillarNetworkA,2930,2930,2930,1978-01-09,292.9999999999981,293.00867,2015-01-01 00:48:50,bin2930,35,True -CTSPillarNetworkA,2931,2931,2931,1978-01-10,293.09999999999815,293.10867,2015-01-01 00:48:51,bin2931,75,True -CTSPillarNetworkA,2932,2932,2932,1978-01-11,293.19999999999817,293.20868,2015-01-01 00:48:52,bin2932,35,True -CTSPillarNetworkA,2933,2933,2933,1978-01-12,293.2999999999982,293.3087,2015-01-01 00:48:53,bin2933,75,True -CTSPillarNetworkA,2934,2934,2934,1978-01-13,293.3999999999982,293.4087,2015-01-01 00:48:54,bin2934,35,True -CTSPillarNetworkA,2935,2935,2935,1978-01-14,293.49999999999824,293.5087,2015-01-01 00:48:55,bin2935,75,True -CTSPillarNetworkA,2936,2936,2936,1978-01-15,293.59999999999826,293.6087,2015-01-01 00:48:56,bin2936,35,True -CTSPillarNetworkA,2937,2937,2937,1978-01-16,293.6999999999983,293.7087,2015-01-01 00:48:57,bin2937,75,True -CTSPillarNetworkA,2938,2938,2938,1978-01-17,293.7999999999983,293.80872,2015-01-01 00:48:58,bin2938,35,True -CTSPillarNetworkA,2939,2939,2939,1978-01-18,293.89999999999833,293.90872,2015-01-01 00:48:59,bin2939,75,True -CTSPillarNetworkA,2940,2940,2940,1978-01-19,293.99999999999835,294.00873,2015-01-01 00:49:00,bin2940,35,True -CTSPillarNetworkA,2941,2941,2941,1978-01-20,294.0999999999984,294.10873,2015-01-01 00:49:01,bin2941,75,True -CTSPillarNetworkA,2942,2942,2942,1978-01-21,294.1999999999984,294.20874,2015-01-01 00:49:02,bin2942,35,True -CTSPillarNetworkA,2943,2943,2943,1978-01-22,294.2999999999984,294.30875,2015-01-01 00:49:03,bin2943,75,True -CTSPillarNetworkA,2944,2944,2944,1978-01-23,294.39999999999844,294.40875,2015-01-01 00:49:04,bin2944,35,True -CTSPillarNetworkA,2945,2945,2945,1978-01-24,294.49999999999847,294.50876,2015-01-01 00:49:05,bin2945,75,True -CTSPillarNetworkA,2946,2946,2946,1978-01-25,294.5999999999985,294.60876,2015-01-01 00:49:06,bin2946,35,True -CTSPillarNetworkA,2947,2947,2947,1978-01-26,294.6999999999985,294.70877,2015-01-01 00:49:07,bin2947,75,True -CTSPillarNetworkA,2948,2948,2948,1978-01-27,294.79999999999853,294.80878,2015-01-01 00:49:08,bin2948,35,True -CTSPillarNetworkA,2949,2949,2949,1978-01-28,294.89999999999856,294.90878,2015-01-01 00:49:09,bin2949,75,True -CTSPillarNetworkA,2950,2950,2950,1978-01-29,294.9999999999986,295.0088,2015-01-01 00:49:10,bin2950,35,True -CTSPillarNetworkA,2951,2951,2951,1978-01-30,295.0999999999986,295.1088,2015-01-01 00:49:11,bin2951,75,True -CTSPillarNetworkA,2952,2952,2952,1978-01-31,295.1999999999986,295.2088,2015-01-01 00:49:12,bin2952,35,True -CTSPillarNetworkA,2953,2953,2953,1978-02-01,295.29999999999865,295.3088,2015-01-01 00:49:13,bin2953,75,True -CTSPillarNetworkA,2954,2954,2954,1978-02-02,295.39999999999867,295.4088,2015-01-01 00:49:14,bin2954,35,True -CTSPillarNetworkA,2955,2955,2955,1978-02-03,295.4999999999987,295.50882,2015-01-01 00:49:15,bin2955,75,True -CTSPillarNetworkA,2956,2956,2956,1978-02-04,295.5999999999987,295.60883,2015-01-01 00:49:16,bin2956,35,True -CTSPillarNetworkA,2957,2957,2957,1978-02-05,295.69999999999874,295.70883,2015-01-01 00:49:17,bin2957,75,True -CTSPillarNetworkA,2958,2958,2958,1978-02-06,295.79999999999876,295.80884,2015-01-01 00:49:18,bin2958,35,True -CTSPillarNetworkA,2959,2959,2959,1978-02-07,295.8999999999988,295.90884,2015-01-01 00:49:19,bin2959,75,True -CTSPillarNetworkA,2960,2960,2960,1978-02-08,295.9999999999988,296.00885,2015-01-01 00:49:20,bin2960,35,True -CTSPillarNetworkA,2961,2961,2961,1978-02-09,296.09999999999883,296.10886,2015-01-01 00:49:21,bin2961,75,True -CTSPillarNetworkA,2962,2962,2962,1978-02-10,296.19999999999885,296.20886,2015-01-01 00:49:22,bin2962,35,True -CTSPillarNetworkA,2963,2963,2963,1978-02-11,296.2999999999989,296.30887,2015-01-01 00:49:23,bin2963,75,True -CTSPillarNetworkA,2964,2964,2964,1978-02-12,296.3999999999989,296.40887,2015-01-01 00:49:24,bin2964,35,True -CTSPillarNetworkA,2965,2965,2965,1978-02-13,296.4999999999989,296.50888,2015-01-01 00:49:25,bin2965,75,True -CTSPillarNetworkA,2966,2966,2966,1978-02-14,296.59999999999894,296.6089,2015-01-01 00:49:26,bin2966,35,True -CTSPillarNetworkA,2967,2967,2967,1978-02-15,296.69999999999897,296.7089,2015-01-01 00:49:27,bin2967,75,True -CTSPillarNetworkA,2968,2968,2968,1978-02-16,296.799999999999,296.8089,2015-01-01 00:49:28,bin2968,35,True -CTSPillarNetworkA,2969,2969,2969,1978-02-17,296.899999999999,296.9089,2015-01-01 00:49:29,bin2969,75,True -CTSPillarNetworkA,2970,2970,2970,1978-02-18,296.99999999999903,297.0089,2015-01-01 00:49:30,bin2970,35,True -CTSPillarNetworkA,2971,2971,2971,1978-02-19,297.09999999999906,297.10892,2015-01-01 00:49:31,bin2971,75,True -CTSPillarNetworkA,2972,2972,2972,1978-02-20,297.1999999999991,297.20892,2015-01-01 00:49:32,bin2972,35,True -CTSPillarNetworkA,2973,2973,2973,1978-02-21,297.2999999999991,297.30893,2015-01-01 00:49:33,bin2973,75,True -CTSPillarNetworkA,2974,2974,2974,1978-02-22,297.3999999999991,297.40894,2015-01-01 00:49:34,bin2974,35,True -CTSPillarNetworkA,2975,2975,2975,1978-02-23,297.49999999999915,297.50894,2015-01-01 00:49:35,bin2975,75,True -CTSPillarNetworkA,2976,2976,2976,1978-02-24,297.59999999999917,297.60895,2015-01-01 00:49:36,bin2976,35,True -CTSPillarNetworkA,2977,2977,2977,1978-02-25,297.6999999999992,297.70895,2015-01-01 00:49:37,bin2977,75,True -CTSPillarNetworkA,2978,2978,2978,1978-02-26,297.7999999999992,297.80896,2015-01-01 00:49:38,bin2978,35,True -CTSPillarNetworkA,2979,2979,2979,1978-02-27,297.89999999999924,297.90897,2015-01-01 00:49:39,bin2979,75,True -CTSPillarNetworkA,2980,2980,2980,1978-02-28,297.99999999999926,298.00897,2015-01-01 00:49:40,bin2980,35,True -CTSPillarNetworkA,2981,2981,2981,1978-03-01,298.0999999999993,298.10898,2015-01-01 00:49:41,bin2981,75,True -CTSPillarNetworkA,2982,2982,2982,1978-03-02,298.1999999999993,298.20898,2015-01-01 00:49:42,bin2982,35,True -CTSPillarNetworkA,2983,2983,2983,1978-03-03,298.29999999999933,298.309,2015-01-01 00:49:43,bin2983,75,True -CTSPillarNetworkA,2984,2984,2984,1978-03-04,298.39999999999935,298.409,2015-01-01 00:49:44,bin2984,35,True -CTSPillarNetworkA,2985,2985,2985,1978-03-05,298.4999999999994,298.509,2015-01-01 00:49:45,bin2985,75,True -CTSPillarNetworkA,2986,2986,2986,1978-03-06,298.5999999999994,298.609,2015-01-01 00:49:46,bin2986,35,True -CTSPillarNetworkA,2987,2987,2987,1978-03-07,298.6999999999994,298.709,2015-01-01 00:49:47,bin2987,75,True -CTSPillarNetworkA,2988,2988,2988,1978-03-08,298.79999999999944,298.80902,2015-01-01 00:49:48,bin2988,35,True -CTSPillarNetworkA,2989,2989,2989,1978-03-09,298.89999999999947,298.90903,2015-01-01 00:49:49,bin2989,75,True -CTSPillarNetworkA,2990,2990,2990,1978-03-10,298.9999999999995,299.00903,2015-01-01 00:49:50,bin2990,35,True -CTSPillarNetworkA,2991,2991,2991,1978-03-11,299.0999999999995,299.10904,2015-01-01 00:49:51,bin2991,75,True -CTSPillarNetworkA,2992,2992,2992,1978-03-12,299.19999999999953,299.20905,2015-01-01 00:49:52,bin2992,35,True -CTSPillarNetworkA,2993,2993,2993,1978-03-13,299.29999999999956,299.30905,2015-01-01 00:49:53,bin2993,75,True -CTSPillarNetworkA,2994,2994,2994,1978-03-14,299.3999999999996,299.40906,2015-01-01 00:49:54,bin2994,35,True -CTSPillarNetworkA,2995,2995,2995,1978-03-15,299.4999999999996,299.50906,2015-01-01 00:49:55,bin2995,75,True -CTSPillarNetworkA,2996,2996,2996,1978-03-16,299.5999999999996,299.60907,2015-01-01 00:49:56,bin2996,35,True -CTSPillarNetworkA,2997,2997,2997,1978-03-17,299.69999999999965,299.70908,2015-01-01 00:49:57,bin2997,75,True -CTSPillarNetworkA,2998,2998,2998,1978-03-18,299.79999999999967,299.80908,2015-01-01 00:49:58,bin2998,35,True -CTSPillarNetworkA,2999,2999,2999,1978-03-19,299.8999999999997,299.9091,2015-01-01 00:49:59,bin2999,75,True -CTSPillarNetworkA,3000,3000,3000,1978-03-20,299.9999999999997,300.0091,2015-01-01 00:50:00,bin3000,35,False -CTSPillarNetworkA,3001,3001,3001,1978-03-21,300.09999999999974,300.1091,2015-01-01 00:50:01,bin3001,75,False -CTSPillarNetworkA,3002,3002,3002,1978-03-22,300.19999999999976,300.2091,2015-01-01 00:50:02,bin3002,35,False -CTSPillarNetworkA,3003,3003,3003,1978-03-23,300.2999999999998,300.3091,2015-01-01 00:50:03,bin3003,75,False -CTSPillarNetworkA,3004,3004,3004,1978-03-24,300.3999999999998,300.40912,2015-01-01 00:50:04,bin3004,35,False -CTSPillarNetworkA,3005,3005,3005,1978-03-25,300.49999999999983,300.50912,2015-01-01 00:50:05,bin3005,75,False -CTSPillarNetworkA,3006,3006,3006,1978-03-26,300.59999999999985,300.60913,2015-01-01 00:50:06,bin3006,35,False -CTSPillarNetworkA,3007,3007,3007,1978-03-27,300.6999999999999,300.70914,2015-01-01 00:50:07,bin3007,75,False -CTSPillarNetworkA,3008,3008,3008,1978-03-28,300.7999999999999,300.80914,2015-01-01 00:50:08,bin3008,35,False -CTSPillarNetworkA,3009,3009,3009,1978-03-29,300.8999999999999,300.90915,2015-01-01 00:50:09,bin3009,75,False -CTSPillarNetworkA,3010,3010,3010,1978-03-30,300.99999999999994,301.00916,2015-01-01 00:50:10,bin3010,35,False -CTSPillarNetworkA,3011,3011,3011,1978-03-31,301.09999999999997,301.10916,2015-01-01 00:50:11,bin3011,75,False -CTSPillarNetworkA,3012,3012,3012,1978-04-01,301.2,301.20917,2015-01-01 00:50:12,bin3012,35,False -CTSPillarNetworkA,3013,3013,3013,1978-04-02,301.3,301.30917,2015-01-01 00:50:13,bin3013,75,False -CTSPillarNetworkA,3014,3014,3014,1978-04-03,301.40000000000003,301.40918,2015-01-01 00:50:14,bin3014,35,False -CTSPillarNetworkA,3015,3015,3015,1978-04-04,301.50000000000006,301.5092,2015-01-01 00:50:15,bin3015,75,False -CTSPillarNetworkA,3016,3016,3016,1978-04-05,301.6000000000001,301.6092,2015-01-01 00:50:16,bin3016,35,False -CTSPillarNetworkA,3017,3017,3017,1978-04-06,301.7000000000001,301.7092,2015-01-01 00:50:17,bin3017,75,False -CTSPillarNetworkA,3018,3018,3018,1978-04-07,301.8000000000001,301.8092,2015-01-01 00:50:18,bin3018,35,False -CTSPillarNetworkA,3019,3019,3019,1978-04-08,301.90000000000015,301.9092,2015-01-01 00:50:19,bin3019,75,False -CTSPillarNetworkA,3020,3020,3020,1978-04-09,302.00000000000017,302.00922,2015-01-01 00:50:20,bin3020,35,False -CTSPillarNetworkA,3021,3021,3021,1978-04-10,302.1000000000002,302.10922,2015-01-01 00:50:21,bin3021,75,False -CTSPillarNetworkA,3022,3022,3022,1978-04-11,302.2000000000002,302.20923,2015-01-01 00:50:22,bin3022,35,False -CTSPillarNetworkA,3023,3023,3023,1978-04-12,302.30000000000024,302.30923,2015-01-01 00:50:23,bin3023,75,False -CTSPillarNetworkA,3024,3024,3024,1978-04-13,302.40000000000026,302.40924,2015-01-01 00:50:24,bin3024,35,False -CTSPillarNetworkA,3025,3025,3025,1978-04-14,302.5000000000003,302.50925,2015-01-01 00:50:25,bin3025,75,False -CTSPillarNetworkA,3026,3026,3026,1978-04-15,302.6000000000003,302.60925,2015-01-01 00:50:26,bin3026,35,False -CTSPillarNetworkA,3027,3027,3027,1978-04-16,302.70000000000033,302.70926,2015-01-01 00:50:27,bin3027,75,False -CTSPillarNetworkA,3028,3028,3028,1978-04-17,302.80000000000035,302.80927,2015-01-01 00:50:28,bin3028,35,False -CTSPillarNetworkA,3029,3029,3029,1978-04-18,302.9000000000004,302.90927,2015-01-01 00:50:29,bin3029,75,False -CTSPillarNetworkA,3030,3030,3030,1978-04-19,303.0000000000004,303.00928,2015-01-01 00:50:30,bin3030,35,False -CTSPillarNetworkA,3031,3031,3031,1978-04-20,303.1000000000004,303.10928,2015-01-01 00:50:31,bin3031,75,False -CTSPillarNetworkA,3032,3032,3032,1978-04-21,303.20000000000044,303.2093,2015-01-01 00:50:32,bin3032,35,False -CTSPillarNetworkA,3033,3033,3033,1978-04-22,303.30000000000047,303.3093,2015-01-01 00:50:33,bin3033,75,False -CTSPillarNetworkA,3034,3034,3034,1978-04-23,303.4000000000005,303.4093,2015-01-01 00:50:34,bin3034,35,False -CTSPillarNetworkA,3035,3035,3035,1978-04-24,303.5000000000005,303.5093,2015-01-01 00:50:35,bin3035,75,False -CTSPillarNetworkA,3036,3036,3036,1978-04-25,303.60000000000053,303.6093,2015-01-01 00:50:36,bin3036,35,False -CTSPillarNetworkA,3037,3037,3037,1978-04-26,303.70000000000056,303.70932,2015-01-01 00:50:37,bin3037,75,False -CTSPillarNetworkA,3038,3038,3038,1978-04-27,303.8000000000006,303.80933,2015-01-01 00:50:38,bin3038,35,False -CTSPillarNetworkA,3039,3039,3039,1978-04-28,303.9000000000006,303.90933,2015-01-01 00:50:39,bin3039,75,False -CTSPillarNetworkA,3040,3040,3040,1978-04-29,304.0000000000006,304.00934,2015-01-01 00:50:40,bin3040,35,False -CTSPillarNetworkA,3041,3041,3041,1978-04-30,304.10000000000065,304.10934,2015-01-01 00:50:41,bin3041,75,False -CTSPillarNetworkA,3042,3042,3042,1978-05-01,304.20000000000067,304.20935,2015-01-01 00:50:42,bin3042,35,False -CTSPillarNetworkA,3043,3043,3043,1978-05-02,304.3000000000007,304.30936,2015-01-01 00:50:43,bin3043,75,False -CTSPillarNetworkA,3044,3044,3044,1978-05-03,304.4000000000007,304.40936,2015-01-01 00:50:44,bin3044,35,False -CTSPillarNetworkA,3045,3045,3045,1978-05-04,304.50000000000074,304.50937,2015-01-01 00:50:45,bin3045,75,False -CTSPillarNetworkA,3046,3046,3046,1978-05-05,304.60000000000076,304.60938,2015-01-01 00:50:46,bin3046,35,False -CTSPillarNetworkA,3047,3047,3047,1978-05-06,304.7000000000008,304.70938,2015-01-01 00:50:47,bin3047,75,False -CTSPillarNetworkA,3048,3048,3048,1978-05-07,304.8000000000008,304.8094,2015-01-01 00:50:48,bin3048,35,False -CTSPillarNetworkA,3049,3049,3049,1978-05-08,304.90000000000083,304.9094,2015-01-01 00:50:49,bin3049,75,False -CTSPillarNetworkA,3050,3050,3050,1978-05-09,305.00000000000085,305.0094,2015-01-01 00:50:50,bin3050,35,False -CTSPillarNetworkA,3051,3051,3051,1978-05-10,305.1000000000009,305.1094,2015-01-01 00:50:51,bin3051,75,False -CTSPillarNetworkA,3052,3052,3052,1978-05-11,305.2000000000009,305.2094,2015-01-01 00:50:52,bin3052,35,False -CTSPillarNetworkA,3053,3053,3053,1978-05-12,305.3000000000009,305.30942,2015-01-01 00:50:53,bin3053,75,False -CTSPillarNetworkA,3054,3054,3054,1978-05-13,305.40000000000094,305.40942,2015-01-01 00:50:54,bin3054,35,False -CTSPillarNetworkA,3055,3055,3055,1978-05-14,305.50000000000097,305.50943,2015-01-01 00:50:55,bin3055,75,False -CTSPillarNetworkA,3056,3056,3056,1978-05-15,305.600000000001,305.60944,2015-01-01 00:50:56,bin3056,35,False -CTSPillarNetworkA,3057,3057,3057,1978-05-16,305.700000000001,305.70944,2015-01-01 00:50:57,bin3057,75,False -CTSPillarNetworkA,3058,3058,3058,1978-05-17,305.80000000000103,305.80945,2015-01-01 00:50:58,bin3058,35,False -CTSPillarNetworkA,3059,3059,3059,1978-05-18,305.90000000000106,305.90945,2015-01-01 00:50:59,bin3059,75,False -CTSPillarNetworkA,3060,3060,3060,1978-05-19,306.0000000000011,306.00946,2015-01-01 00:51:00,bin3060,35,False -CTSPillarNetworkA,3061,3061,3061,1978-05-20,306.1000000000011,306.10947,2015-01-01 00:51:01,bin3061,75,False -CTSPillarNetworkA,3062,3062,3062,1978-05-21,306.2000000000011,306.20947,2015-01-01 00:51:02,bin3062,35,False -CTSPillarNetworkA,3063,3063,3063,1978-05-22,306.30000000000115,306.30948,2015-01-01 00:51:03,bin3063,75,False -CTSPillarNetworkA,3064,3064,3064,1978-05-23,306.40000000000117,306.4095,2015-01-01 00:51:04,bin3064,35,False -CTSPillarNetworkA,3065,3065,3065,1978-05-24,306.5000000000012,306.5095,2015-01-01 00:51:05,bin3065,75,False -CTSPillarNetworkA,3066,3066,3066,1978-05-25,306.6000000000012,306.6095,2015-01-01 00:51:06,bin3066,35,False -CTSPillarNetworkA,3067,3067,3067,1978-05-26,306.70000000000124,306.7095,2015-01-01 00:51:07,bin3067,75,False -CTSPillarNetworkA,3068,3068,3068,1978-05-27,306.80000000000126,306.8095,2015-01-01 00:51:08,bin3068,35,False -CTSPillarNetworkA,3069,3069,3069,1978-05-28,306.9000000000013,306.90952,2015-01-01 00:51:09,bin3069,75,False -CTSPillarNetworkA,3070,3070,3070,1978-05-29,307.0000000000013,307.00952,2015-01-01 00:51:10,bin3070,35,False -CTSPillarNetworkA,3071,3071,3071,1978-05-30,307.10000000000133,307.10953,2015-01-01 00:51:11,bin3071,75,False -CTSPillarNetworkA,3072,3072,3072,1978-05-31,307.20000000000135,307.20953,2015-01-01 00:51:12,bin3072,35,False -CTSPillarNetworkA,3073,3073,3073,1978-06-01,307.3000000000014,307.30954,2015-01-01 00:51:13,bin3073,75,False -CTSPillarNetworkA,3074,3074,3074,1978-06-02,307.4000000000014,307.40955,2015-01-01 00:51:14,bin3074,35,False -CTSPillarNetworkA,3075,3075,3075,1978-06-03,307.5000000000014,307.50955,2015-01-01 00:51:15,bin3075,75,False -CTSPillarNetworkA,3076,3076,3076,1978-06-04,307.60000000000144,307.60956,2015-01-01 00:51:16,bin3076,35,False -CTSPillarNetworkA,3077,3077,3077,1978-06-05,307.70000000000147,307.70956,2015-01-01 00:51:17,bin3077,75,False -CTSPillarNetworkA,3078,3078,3078,1978-06-06,307.8000000000015,307.80957,2015-01-01 00:51:18,bin3078,35,False -CTSPillarNetworkA,3079,3079,3079,1978-06-07,307.9000000000015,307.90958,2015-01-01 00:51:19,bin3079,75,False -CTSPillarNetworkA,3080,3080,3080,1978-06-08,308.00000000000153,308.00958,2015-01-01 00:51:20,bin3080,35,False -CTSPillarNetworkA,3081,3081,3081,1978-06-09,308.10000000000156,308.1096,2015-01-01 00:51:21,bin3081,75,False -CTSPillarNetworkA,3082,3082,3082,1978-06-10,308.2000000000016,308.2096,2015-01-01 00:51:22,bin3082,35,False -CTSPillarNetworkA,3083,3083,3083,1978-06-11,308.3000000000016,308.3096,2015-01-01 00:51:23,bin3083,75,False -CTSPillarNetworkA,3084,3084,3084,1978-06-12,308.4000000000016,308.4096,2015-01-01 00:51:24,bin3084,35,False -CTSPillarNetworkA,3085,3085,3085,1978-06-13,308.50000000000165,308.5096,2015-01-01 00:51:25,bin3085,75,False -CTSPillarNetworkA,3086,3086,3086,1978-06-14,308.60000000000167,308.60962,2015-01-01 00:51:26,bin3086,35,False -CTSPillarNetworkA,3087,3087,3087,1978-06-15,308.7000000000017,308.70963,2015-01-01 00:51:27,bin3087,75,False -CTSPillarNetworkA,3088,3088,3088,1978-06-16,308.8000000000017,308.80963,2015-01-01 00:51:28,bin3088,35,False -CTSPillarNetworkA,3089,3089,3089,1978-06-17,308.90000000000174,308.90964,2015-01-01 00:51:29,bin3089,75,False -CTSPillarNetworkA,3090,3090,3090,1978-06-18,309.00000000000176,309.00964,2015-01-01 00:51:30,bin3090,35,False -CTSPillarNetworkA,3091,3091,3091,1978-06-19,309.1000000000018,309.10965,2015-01-01 00:51:31,bin3091,75,False -CTSPillarNetworkA,3092,3092,3092,1978-06-20,309.2000000000018,309.20966,2015-01-01 00:51:32,bin3092,35,False -CTSPillarNetworkA,3093,3093,3093,1978-06-21,309.30000000000183,309.30966,2015-01-01 00:51:33,bin3093,75,False -CTSPillarNetworkA,3094,3094,3094,1978-06-22,309.40000000000185,309.40967,2015-01-01 00:51:34,bin3094,35,False -CTSPillarNetworkA,3095,3095,3095,1978-06-23,309.5000000000019,309.50967,2015-01-01 00:51:35,bin3095,75,False -CTSPillarNetworkA,3096,3096,3096,1978-06-24,309.6000000000019,309.60968,2015-01-01 00:51:36,bin3096,35,False -CTSPillarNetworkA,3097,3097,3097,1978-06-25,309.7000000000019,309.7097,2015-01-01 00:51:37,bin3097,75,False -CTSPillarNetworkA,3098,3098,3098,1978-06-26,309.80000000000194,309.8097,2015-01-01 00:51:38,bin3098,35,False -CTSPillarNetworkA,3099,3099,3099,1978-06-27,309.90000000000197,309.9097,2015-01-01 00:51:39,bin3099,75,False -CTSPillarNetworkA,3100,3100,3100,1978-06-28,310.000000000002,310.0097,2015-01-01 00:51:40,bin3100,35,False -CTSPillarNetworkA,3101,3101,3101,1978-06-29,310.100000000002,310.1097,2015-01-01 00:51:41,bin3101,75,False -CTSPillarNetworkA,3102,3102,3102,1978-06-30,310.20000000000203,310.20972,2015-01-01 00:51:42,bin3102,35,False -CTSPillarNetworkA,3103,3103,3103,1978-07-01,310.30000000000206,310.30972,2015-01-01 00:51:43,bin3103,75,False -CTSPillarNetworkA,3104,3104,3104,1978-07-02,310.4000000000021,310.40973,2015-01-01 00:51:44,bin3104,35,False -CTSPillarNetworkA,3105,3105,3105,1978-07-03,310.5000000000021,310.50974,2015-01-01 00:51:45,bin3105,75,False -CTSPillarNetworkA,3106,3106,3106,1978-07-04,310.6000000000021,310.60974,2015-01-01 00:51:46,bin3106,35,False -CTSPillarNetworkA,3107,3107,3107,1978-07-05,310.70000000000215,310.70975,2015-01-01 00:51:47,bin3107,75,False -CTSPillarNetworkA,3108,3108,3108,1978-07-06,310.80000000000217,310.80975,2015-01-01 00:51:48,bin3108,35,False -CTSPillarNetworkA,3109,3109,3109,1978-07-07,310.9000000000022,310.90976,2015-01-01 00:51:49,bin3109,75,False -CTSPillarNetworkA,3110,3110,3110,1978-07-08,311.0000000000022,311.00977,2015-01-01 00:51:50,bin3110,35,False -CTSPillarNetworkA,3111,3111,3111,1978-07-09,311.10000000000224,311.10977,2015-01-01 00:51:51,bin3111,75,False -CTSPillarNetworkA,3112,3112,3112,1978-07-10,311.20000000000226,311.20978,2015-01-01 00:51:52,bin3112,35,False -CTSPillarNetworkA,3113,3113,3113,1978-07-11,311.3000000000023,311.30978,2015-01-01 00:51:53,bin3113,75,False -CTSPillarNetworkA,3114,3114,3114,1978-07-12,311.4000000000023,311.4098,2015-01-01 00:51:54,bin3114,35,False -CTSPillarNetworkA,3115,3115,3115,1978-07-13,311.50000000000233,311.5098,2015-01-01 00:51:55,bin3115,75,False -CTSPillarNetworkA,3116,3116,3116,1978-07-14,311.60000000000235,311.6098,2015-01-01 00:51:56,bin3116,35,False -CTSPillarNetworkA,3117,3117,3117,1978-07-15,311.7000000000024,311.7098,2015-01-01 00:51:57,bin3117,75,False -CTSPillarNetworkA,3118,3118,3118,1978-07-16,311.8000000000024,311.8098,2015-01-01 00:51:58,bin3118,35,False -CTSPillarNetworkA,3119,3119,3119,1978-07-17,311.9000000000024,311.90982,2015-01-01 00:51:59,bin3119,75,False -CTSPillarNetworkA,3120,3120,3120,1978-07-18,312.00000000000244,312.00983,2015-01-01 00:52:00,bin3120,35,False -CTSPillarNetworkA,3121,3121,3121,1978-07-19,312.10000000000247,312.10983,2015-01-01 00:52:01,bin3121,75,False -CTSPillarNetworkA,3122,3122,3122,1978-07-20,312.2000000000025,312.20984,2015-01-01 00:52:02,bin3122,35,False -CTSPillarNetworkA,3123,3123,3123,1978-07-21,312.3000000000025,312.30984,2015-01-01 00:52:03,bin3123,75,False -CTSPillarNetworkA,3124,3124,3124,1978-07-22,312.40000000000254,312.40985,2015-01-01 00:52:04,bin3124,35,False -CTSPillarNetworkA,3125,3125,3125,1978-07-23,312.50000000000256,312.50986,2015-01-01 00:52:05,bin3125,75,False -CTSPillarNetworkA,3126,3126,3126,1978-07-24,312.6000000000026,312.60986,2015-01-01 00:52:06,bin3126,35,False -CTSPillarNetworkA,3127,3127,3127,1978-07-25,312.7000000000026,312.70987,2015-01-01 00:52:07,bin3127,75,False -CTSPillarNetworkA,3128,3128,3128,1978-07-26,312.8000000000026,312.80988,2015-01-01 00:52:08,bin3128,35,False -CTSPillarNetworkA,3129,3129,3129,1978-07-27,312.90000000000265,312.90988,2015-01-01 00:52:09,bin3129,75,False -CTSPillarNetworkA,3130,3130,3130,1978-07-28,313.0000000000027,313.0099,2015-01-01 00:52:10,bin3130,35,False -CTSPillarNetworkA,3131,3131,3131,1978-07-29,313.1000000000027,313.1099,2015-01-01 00:52:11,bin3131,75,False -CTSPillarNetworkA,3132,3132,3132,1978-07-30,313.2000000000027,313.2099,2015-01-01 00:52:12,bin3132,35,False -CTSPillarNetworkA,3133,3133,3133,1978-07-31,313.30000000000274,313.3099,2015-01-01 00:52:13,bin3133,75,False -CTSPillarNetworkA,3134,3134,3134,1978-08-01,313.40000000000276,313.4099,2015-01-01 00:52:14,bin3134,35,False -CTSPillarNetworkA,3135,3135,3135,1978-08-02,313.5000000000028,313.50992,2015-01-01 00:52:15,bin3135,75,False -CTSPillarNetworkA,3136,3136,3136,1978-08-03,313.6000000000028,313.60992,2015-01-01 00:52:16,bin3136,35,False -CTSPillarNetworkA,3137,3137,3137,1978-08-04,313.70000000000283,313.70993,2015-01-01 00:52:17,bin3137,75,False -CTSPillarNetworkA,3138,3138,3138,1978-08-05,313.80000000000285,313.80994,2015-01-01 00:52:18,bin3138,35,False -CTSPillarNetworkA,3139,3139,3139,1978-08-06,313.9000000000029,313.90994,2015-01-01 00:52:19,bin3139,75,False -CTSPillarNetworkA,3140,3140,3140,1978-08-07,314.0000000000029,314.00995,2015-01-01 00:52:20,bin3140,35,False -CTSPillarNetworkA,3141,3141,3141,1978-08-08,314.1000000000029,314.10995,2015-01-01 00:52:21,bin3141,75,False -CTSPillarNetworkA,3142,3142,3142,1978-08-09,314.20000000000294,314.20996,2015-01-01 00:52:22,bin3142,35,False -CTSPillarNetworkA,3143,3143,3143,1978-08-10,314.30000000000297,314.30997,2015-01-01 00:52:23,bin3143,75,False -CTSPillarNetworkA,3144,3144,3144,1978-08-11,314.400000000003,314.40997,2015-01-01 00:52:24,bin3144,35,False -CTSPillarNetworkA,3145,3145,3145,1978-08-12,314.500000000003,314.50998,2015-01-01 00:52:25,bin3145,75,False -CTSPillarNetworkA,3146,3146,3146,1978-08-13,314.60000000000304,314.61,2015-01-01 00:52:26,bin3146,35,False -CTSPillarNetworkA,3147,3147,3147,1978-08-14,314.70000000000306,314.71,2015-01-01 00:52:27,bin3147,75,False -CTSPillarNetworkA,3148,3148,3148,1978-08-15,314.8000000000031,314.81,2015-01-01 00:52:28,bin3148,35,False -CTSPillarNetworkA,3149,3149,3149,1978-08-16,314.9000000000031,314.91,2015-01-01 00:52:29,bin3149,75,False -CTSPillarNetworkA,3150,3150,3150,1978-08-17,315.0000000000031,315.01,2015-01-01 00:52:30,bin3150,35,False -CTSPillarNetworkA,3151,3151,3151,1978-08-18,315.10000000000315,315.11002,2015-01-01 00:52:31,bin3151,75,False -CTSPillarNetworkA,3152,3152,3152,1978-08-19,315.2000000000032,315.21002,2015-01-01 00:52:32,bin3152,35,False -CTSPillarNetworkA,3153,3153,3153,1978-08-20,315.3000000000032,315.31003,2015-01-01 00:52:33,bin3153,75,False -CTSPillarNetworkA,3154,3154,3154,1978-08-21,315.4000000000032,315.41003,2015-01-01 00:52:34,bin3154,35,False -CTSPillarNetworkA,3155,3155,3155,1978-08-22,315.50000000000324,315.51004,2015-01-01 00:52:35,bin3155,75,False -CTSPillarNetworkA,3156,3156,3156,1978-08-23,315.60000000000326,315.61005,2015-01-01 00:52:36,bin3156,35,False -CTSPillarNetworkA,3157,3157,3157,1978-08-24,315.7000000000033,315.71005,2015-01-01 00:52:37,bin3157,75,False -CTSPillarNetworkA,3158,3158,3158,1978-08-25,315.8000000000033,315.81006,2015-01-01 00:52:38,bin3158,35,False -CTSPillarNetworkA,3159,3159,3159,1978-08-26,315.90000000000333,315.91006,2015-01-01 00:52:39,bin3159,75,False -CTSPillarNetworkA,3160,3160,3160,1978-08-27,316.00000000000335,316.01007,2015-01-01 00:52:40,bin3160,35,False -CTSPillarNetworkA,3161,3161,3161,1978-08-28,316.1000000000034,316.11008,2015-01-01 00:52:41,bin3161,75,False -CTSPillarNetworkA,3162,3162,3162,1978-08-29,316.2000000000034,316.21008,2015-01-01 00:52:42,bin3162,35,False -CTSPillarNetworkA,3163,3163,3163,1978-08-30,316.3000000000034,316.3101,2015-01-01 00:52:43,bin3163,75,False -CTSPillarNetworkA,3164,3164,3164,1978-08-31,316.40000000000344,316.4101,2015-01-01 00:52:44,bin3164,35,False -CTSPillarNetworkA,3165,3165,3165,1978-09-01,316.50000000000347,316.5101,2015-01-01 00:52:45,bin3165,75,False -CTSPillarNetworkA,3166,3166,3166,1978-09-02,316.6000000000035,316.6101,2015-01-01 00:52:46,bin3166,35,False -CTSPillarNetworkA,3167,3167,3167,1978-09-03,316.7000000000035,316.7101,2015-01-01 00:52:47,bin3167,75,False -CTSPillarNetworkA,3168,3168,3168,1978-09-04,316.80000000000354,316.81012,2015-01-01 00:52:48,bin3168,35,False -CTSPillarNetworkA,3169,3169,3169,1978-09-05,316.90000000000356,316.91013,2015-01-01 00:52:49,bin3169,75,False -CTSPillarNetworkA,3170,3170,3170,1978-09-06,317.0000000000036,317.01013,2015-01-01 00:52:50,bin3170,35,False -CTSPillarNetworkA,3171,3171,3171,1978-09-07,317.1000000000036,317.11014,2015-01-01 00:52:51,bin3171,75,False -CTSPillarNetworkA,3172,3172,3172,1978-09-08,317.2000000000036,317.21014,2015-01-01 00:52:52,bin3172,35,False -CTSPillarNetworkA,3173,3173,3173,1978-09-09,317.30000000000365,317.31015,2015-01-01 00:52:53,bin3173,75,False -CTSPillarNetworkA,3174,3174,3174,1978-09-10,317.4000000000037,317.41016,2015-01-01 00:52:54,bin3174,35,False -CTSPillarNetworkA,3175,3175,3175,1978-09-11,317.5000000000037,317.51016,2015-01-01 00:52:55,bin3175,75,False -CTSPillarNetworkA,3176,3176,3176,1978-09-12,317.6000000000037,317.61017,2015-01-01 00:52:56,bin3176,35,False -CTSPillarNetworkA,3177,3177,3177,1978-09-13,317.70000000000374,317.71017,2015-01-01 00:52:57,bin3177,75,False -CTSPillarNetworkA,3178,3178,3178,1978-09-14,317.80000000000376,317.81018,2015-01-01 00:52:58,bin3178,35,False -CTSPillarNetworkA,3179,3179,3179,1978-09-15,317.9000000000038,317.9102,2015-01-01 00:52:59,bin3179,75,False -CTSPillarNetworkA,3180,3180,3180,1978-09-16,318.0000000000038,318.0102,2015-01-01 00:53:00,bin3180,35,False -CTSPillarNetworkA,3181,3181,3181,1978-09-17,318.10000000000383,318.1102,2015-01-01 00:53:01,bin3181,75,False -CTSPillarNetworkA,3182,3182,3182,1978-09-18,318.20000000000385,318.2102,2015-01-01 00:53:02,bin3182,35,False -CTSPillarNetworkA,3183,3183,3183,1978-09-19,318.3000000000039,318.3102,2015-01-01 00:53:03,bin3183,75,False -CTSPillarNetworkA,3184,3184,3184,1978-09-20,318.4000000000039,318.41022,2015-01-01 00:53:04,bin3184,35,False -CTSPillarNetworkA,3185,3185,3185,1978-09-21,318.5000000000039,318.51022,2015-01-01 00:53:05,bin3185,75,False -CTSPillarNetworkA,3186,3186,3186,1978-09-22,318.60000000000394,318.61023,2015-01-01 00:53:06,bin3186,35,False -CTSPillarNetworkA,3187,3187,3187,1978-09-23,318.70000000000397,318.71024,2015-01-01 00:53:07,bin3187,75,False -CTSPillarNetworkA,3188,3188,3188,1978-09-24,318.800000000004,318.81024,2015-01-01 00:53:08,bin3188,35,False -CTSPillarNetworkA,3189,3189,3189,1978-09-25,318.900000000004,318.91025,2015-01-01 00:53:09,bin3189,75,False -CTSPillarNetworkA,3190,3190,3190,1978-09-26,319.00000000000404,319.01025,2015-01-01 00:53:10,bin3190,35,False -CTSPillarNetworkA,3191,3191,3191,1978-09-27,319.10000000000406,319.11026,2015-01-01 00:53:11,bin3191,75,False -CTSPillarNetworkA,3192,3192,3192,1978-09-28,319.2000000000041,319.21027,2015-01-01 00:53:12,bin3192,35,False -CTSPillarNetworkA,3193,3193,3193,1978-09-29,319.3000000000041,319.31027,2015-01-01 00:53:13,bin3193,75,False -CTSPillarNetworkA,3194,3194,3194,1978-09-30,319.4000000000041,319.41028,2015-01-01 00:53:14,bin3194,35,False -CTSPillarNetworkA,3195,3195,3195,1978-10-01,319.50000000000415,319.51028,2015-01-01 00:53:15,bin3195,75,False -CTSPillarNetworkA,3196,3196,3196,1978-10-02,319.6000000000042,319.6103,2015-01-01 00:53:16,bin3196,35,False -CTSPillarNetworkA,3197,3197,3197,1978-10-03,319.7000000000042,319.7103,2015-01-01 00:53:17,bin3197,75,False -CTSPillarNetworkA,3198,3198,3198,1978-10-04,319.8000000000042,319.8103,2015-01-01 00:53:18,bin3198,35,False -CTSPillarNetworkA,3199,3199,3199,1978-10-05,319.90000000000424,319.9103,2015-01-01 00:53:19,bin3199,75,False -CTSPillarNetworkA,3200,3200,3200,1978-10-06,320.00000000000426,320.0103,2015-01-01 00:53:20,bin3200,35,False -CTSPillarNetworkA,3201,3201,3201,1978-10-07,320.1000000000043,320.11032,2015-01-01 00:53:21,bin3201,75,False -CTSPillarNetworkA,3202,3202,3202,1978-10-08,320.2000000000043,320.21033,2015-01-01 00:53:22,bin3202,35,False -CTSPillarNetworkA,3203,3203,3203,1978-10-09,320.30000000000433,320.31033,2015-01-01 00:53:23,bin3203,75,False -CTSPillarNetworkA,3204,3204,3204,1978-10-10,320.40000000000435,320.41034,2015-01-01 00:53:24,bin3204,35,False -CTSPillarNetworkA,3205,3205,3205,1978-10-11,320.5000000000044,320.51035,2015-01-01 00:53:25,bin3205,75,False -CTSPillarNetworkA,3206,3206,3206,1978-10-12,320.6000000000044,320.61035,2015-01-01 00:53:26,bin3206,35,False -CTSPillarNetworkA,3207,3207,3207,1978-10-13,320.7000000000044,320.71036,2015-01-01 00:53:27,bin3207,75,False -CTSPillarNetworkA,3208,3208,3208,1978-10-14,320.80000000000445,320.81036,2015-01-01 00:53:28,bin3208,35,False -CTSPillarNetworkA,3209,3209,3209,1978-10-15,320.90000000000447,320.91037,2015-01-01 00:53:29,bin3209,75,False -CTSPillarNetworkA,3210,3210,3210,1978-10-16,321.0000000000045,321.01038,2015-01-01 00:53:30,bin3210,35,False -CTSPillarNetworkA,3211,3211,3211,1978-10-17,321.1000000000045,321.11038,2015-01-01 00:53:31,bin3211,75,False -CTSPillarNetworkA,3212,3212,3212,1978-10-18,321.20000000000454,321.2104,2015-01-01 00:53:32,bin3212,35,False -CTSPillarNetworkA,3213,3213,3213,1978-10-19,321.30000000000456,321.3104,2015-01-01 00:53:33,bin3213,75,False -CTSPillarNetworkA,3214,3214,3214,1978-10-20,321.4000000000046,321.4104,2015-01-01 00:53:34,bin3214,35,False -CTSPillarNetworkA,3215,3215,3215,1978-10-21,321.5000000000046,321.5104,2015-01-01 00:53:35,bin3215,75,False -CTSPillarNetworkA,3216,3216,3216,1978-10-22,321.6000000000046,321.6104,2015-01-01 00:53:36,bin3216,35,False -CTSPillarNetworkA,3217,3217,3217,1978-10-23,321.70000000000465,321.71042,2015-01-01 00:53:37,bin3217,75,False -CTSPillarNetworkA,3218,3218,3218,1978-10-24,321.8000000000047,321.81042,2015-01-01 00:53:38,bin3218,35,False -CTSPillarNetworkA,3219,3219,3219,1978-10-25,321.9000000000047,321.91043,2015-01-01 00:53:39,bin3219,75,False -CTSPillarNetworkA,3220,3220,3220,1978-10-26,322.0000000000047,322.01044,2015-01-01 00:53:40,bin3220,35,False -CTSPillarNetworkA,3221,3221,3221,1978-10-27,322.10000000000474,322.11044,2015-01-01 00:53:41,bin3221,75,False -CTSPillarNetworkA,3222,3222,3222,1978-10-28,322.20000000000476,322.21045,2015-01-01 00:53:42,bin3222,35,False -CTSPillarNetworkA,3223,3223,3223,1978-10-29,322.3000000000048,322.31046,2015-01-01 00:53:43,bin3223,75,False -CTSPillarNetworkA,3224,3224,3224,1978-10-30,322.4000000000048,322.41046,2015-01-01 00:53:44,bin3224,35,False -CTSPillarNetworkA,3225,3225,3225,1978-10-31,322.50000000000483,322.51047,2015-01-01 00:53:45,bin3225,75,False -CTSPillarNetworkA,3226,3226,3226,1978-11-01,322.60000000000485,322.61047,2015-01-01 00:53:46,bin3226,35,False -CTSPillarNetworkA,3227,3227,3227,1978-11-02,322.7000000000049,322.71048,2015-01-01 00:53:47,bin3227,75,False -CTSPillarNetworkA,3228,3228,3228,1978-11-03,322.8000000000049,322.8105,2015-01-01 00:53:48,bin3228,35,False -CTSPillarNetworkA,3229,3229,3229,1978-11-04,322.9000000000049,322.9105,2015-01-01 00:53:49,bin3229,75,False -CTSPillarNetworkA,3230,3230,3230,1978-11-05,323.00000000000495,323.0105,2015-01-01 00:53:50,bin3230,35,False -CTSPillarNetworkA,3231,3231,3231,1978-11-06,323.10000000000497,323.1105,2015-01-01 00:53:51,bin3231,75,False -CTSPillarNetworkA,3232,3232,3232,1978-11-07,323.200000000005,323.2105,2015-01-01 00:53:52,bin3232,35,False -CTSPillarNetworkA,3233,3233,3233,1978-11-08,323.300000000005,323.31052,2015-01-01 00:53:53,bin3233,75,False -CTSPillarNetworkA,3234,3234,3234,1978-11-09,323.40000000000504,323.41052,2015-01-01 00:53:54,bin3234,35,False -CTSPillarNetworkA,3235,3235,3235,1978-11-10,323.50000000000506,323.51053,2015-01-01 00:53:55,bin3235,75,False -CTSPillarNetworkA,3236,3236,3236,1978-11-11,323.6000000000051,323.61053,2015-01-01 00:53:56,bin3236,35,False -CTSPillarNetworkA,3237,3237,3237,1978-11-12,323.7000000000051,323.71054,2015-01-01 00:53:57,bin3237,75,False -CTSPillarNetworkA,3238,3238,3238,1978-11-13,323.8000000000051,323.81055,2015-01-01 00:53:58,bin3238,35,False -CTSPillarNetworkA,3239,3239,3239,1978-11-14,323.90000000000515,323.91055,2015-01-01 00:53:59,bin3239,75,False -CTSPillarNetworkA,3240,3240,3240,1978-11-15,324.0000000000052,324.01056,2015-01-01 00:54:00,bin3240,35,False -CTSPillarNetworkA,3241,3241,3241,1978-11-16,324.1000000000052,324.11057,2015-01-01 00:54:01,bin3241,75,False -CTSPillarNetworkA,3242,3242,3242,1978-11-17,324.2000000000052,324.21057,2015-01-01 00:54:02,bin3242,35,False -CTSPillarNetworkA,3243,3243,3243,1978-11-18,324.30000000000524,324.31058,2015-01-01 00:54:03,bin3243,75,False -CTSPillarNetworkA,3244,3244,3244,1978-11-19,324.40000000000526,324.41058,2015-01-01 00:54:04,bin3244,35,False -CTSPillarNetworkA,3245,3245,3245,1978-11-20,324.5000000000053,324.5106,2015-01-01 00:54:05,bin3245,75,False -CTSPillarNetworkA,3246,3246,3246,1978-11-21,324.6000000000053,324.6106,2015-01-01 00:54:06,bin3246,35,False -CTSPillarNetworkA,3247,3247,3247,1978-11-22,324.70000000000533,324.7106,2015-01-01 00:54:07,bin3247,75,False -CTSPillarNetworkA,3248,3248,3248,1978-11-23,324.80000000000535,324.8106,2015-01-01 00:54:08,bin3248,35,False -CTSPillarNetworkA,3249,3249,3249,1978-11-24,324.9000000000054,324.9106,2015-01-01 00:54:09,bin3249,75,False -CTSPillarNetworkA,3250,3250,3250,1978-11-25,325.0000000000054,325.01062,2015-01-01 00:54:10,bin3250,35,False -CTSPillarNetworkA,3251,3251,3251,1978-11-26,325.1000000000054,325.11063,2015-01-01 00:54:11,bin3251,75,False -CTSPillarNetworkA,3252,3252,3252,1978-11-27,325.20000000000545,325.21063,2015-01-01 00:54:12,bin3252,35,False -CTSPillarNetworkA,3253,3253,3253,1978-11-28,325.30000000000547,325.31064,2015-01-01 00:54:13,bin3253,75,False -CTSPillarNetworkA,3254,3254,3254,1978-11-29,325.4000000000055,325.41064,2015-01-01 00:54:14,bin3254,35,False -CTSPillarNetworkA,3255,3255,3255,1978-11-30,325.5000000000055,325.51065,2015-01-01 00:54:15,bin3255,75,False -CTSPillarNetworkA,3256,3256,3256,1978-12-01,325.60000000000554,325.61066,2015-01-01 00:54:16,bin3256,35,False -CTSPillarNetworkA,3257,3257,3257,1978-12-02,325.70000000000556,325.71066,2015-01-01 00:54:17,bin3257,75,False -CTSPillarNetworkA,3258,3258,3258,1978-12-03,325.8000000000056,325.81067,2015-01-01 00:54:18,bin3258,35,False -CTSPillarNetworkA,3259,3259,3259,1978-12-04,325.9000000000056,325.91068,2015-01-01 00:54:19,bin3259,75,False -CTSPillarNetworkA,3260,3260,3260,1978-12-05,326.0000000000056,326.01068,2015-01-01 00:54:20,bin3260,35,False -CTSPillarNetworkA,3261,3261,3261,1978-12-06,326.10000000000565,326.1107,2015-01-01 00:54:21,bin3261,75,False -CTSPillarNetworkA,3262,3262,3262,1978-12-07,326.2000000000057,326.2107,2015-01-01 00:54:22,bin3262,35,False -CTSPillarNetworkA,3263,3263,3263,1978-12-08,326.3000000000057,326.3107,2015-01-01 00:54:23,bin3263,75,False -CTSPillarNetworkA,3264,3264,3264,1978-12-09,326.4000000000057,326.4107,2015-01-01 00:54:24,bin3264,35,False -CTSPillarNetworkA,3265,3265,3265,1978-12-10,326.50000000000574,326.5107,2015-01-01 00:54:25,bin3265,75,False -CTSPillarNetworkA,3266,3266,3266,1978-12-11,326.60000000000576,326.61072,2015-01-01 00:54:26,bin3266,35,False -CTSPillarNetworkA,3267,3267,3267,1978-12-12,326.7000000000058,326.71072,2015-01-01 00:54:27,bin3267,75,False -CTSPillarNetworkA,3268,3268,3268,1978-12-13,326.8000000000058,326.81073,2015-01-01 00:54:28,bin3268,35,False -CTSPillarNetworkA,3269,3269,3269,1978-12-14,326.90000000000583,326.91074,2015-01-01 00:54:29,bin3269,75,False -CTSPillarNetworkA,3270,3270,3270,1978-12-15,327.00000000000585,327.01074,2015-01-01 00:54:30,bin3270,35,False -CTSPillarNetworkA,3271,3271,3271,1978-12-16,327.1000000000059,327.11075,2015-01-01 00:54:31,bin3271,75,False -CTSPillarNetworkA,3272,3272,3272,1978-12-17,327.2000000000059,327.21075,2015-01-01 00:54:32,bin3272,35,False -CTSPillarNetworkA,3273,3273,3273,1978-12-18,327.3000000000059,327.31076,2015-01-01 00:54:33,bin3273,75,False -CTSPillarNetworkA,3274,3274,3274,1978-12-19,327.40000000000595,327.41077,2015-01-01 00:54:34,bin3274,35,False -CTSPillarNetworkA,3275,3275,3275,1978-12-20,327.50000000000597,327.51077,2015-01-01 00:54:35,bin3275,75,False -CTSPillarNetworkA,3276,3276,3276,1978-12-21,327.600000000006,327.61078,2015-01-01 00:54:36,bin3276,35,False -CTSPillarNetworkA,3277,3277,3277,1978-12-22,327.700000000006,327.7108,2015-01-01 00:54:37,bin3277,75,False -CTSPillarNetworkA,3278,3278,3278,1978-12-23,327.80000000000604,327.8108,2015-01-01 00:54:38,bin3278,35,False -CTSPillarNetworkA,3279,3279,3279,1978-12-24,327.90000000000606,327.9108,2015-01-01 00:54:39,bin3279,75,False -CTSPillarNetworkA,3280,3280,3280,1978-12-25,328.0000000000061,328.0108,2015-01-01 00:54:40,bin3280,35,False -CTSPillarNetworkA,3281,3281,3281,1978-12-26,328.1000000000061,328.1108,2015-01-01 00:54:41,bin3281,75,False -CTSPillarNetworkA,3282,3282,3282,1978-12-27,328.2000000000061,328.21082,2015-01-01 00:54:42,bin3282,35,False -CTSPillarNetworkA,3283,3283,3283,1978-12-28,328.30000000000615,328.31082,2015-01-01 00:54:43,bin3283,75,False -CTSPillarNetworkA,3284,3284,3284,1978-12-29,328.4000000000062,328.41083,2015-01-01 00:54:44,bin3284,35,False -CTSPillarNetworkA,3285,3285,3285,1978-12-30,328.5000000000062,328.51083,2015-01-01 00:54:45,bin3285,75,False -CTSPillarNetworkA,3286,3286,3286,1978-12-31,328.6000000000062,328.61084,2015-01-01 00:54:46,bin3286,35,False -CTSPillarNetworkA,3287,3287,3287,1979-01-01,328.70000000000624,328.71085,2015-01-01 00:54:47,bin3287,75,False -CTSPillarNetworkA,3288,3288,3288,1979-01-02,328.80000000000626,328.81085,2015-01-01 00:54:48,bin3288,35,False -CTSPillarNetworkA,3289,3289,3289,1979-01-03,328.9000000000063,328.91086,2015-01-01 00:54:49,bin3289,75,False -CTSPillarNetworkA,3290,3290,3290,1979-01-04,329.0000000000063,329.01086,2015-01-01 00:54:50,bin3290,35,False -CTSPillarNetworkA,3291,3291,3291,1979-01-05,329.10000000000633,329.11087,2015-01-01 00:54:51,bin3291,75,False -CTSPillarNetworkA,3292,3292,3292,1979-01-06,329.20000000000636,329.21088,2015-01-01 00:54:52,bin3292,35,False -CTSPillarNetworkA,3293,3293,3293,1979-01-07,329.3000000000064,329.31088,2015-01-01 00:54:53,bin3293,75,False -CTSPillarNetworkA,3294,3294,3294,1979-01-08,329.4000000000064,329.4109,2015-01-01 00:54:54,bin3294,35,False -CTSPillarNetworkA,3295,3295,3295,1979-01-09,329.5000000000064,329.5109,2015-01-01 00:54:55,bin3295,75,False -CTSPillarNetworkA,3296,3296,3296,1979-01-10,329.60000000000645,329.6109,2015-01-01 00:54:56,bin3296,35,False -CTSPillarNetworkA,3297,3297,3297,1979-01-11,329.70000000000647,329.7109,2015-01-01 00:54:57,bin3297,75,False -CTSPillarNetworkA,3298,3298,3298,1979-01-12,329.8000000000065,329.8109,2015-01-01 00:54:58,bin3298,35,False -CTSPillarNetworkA,3299,3299,3299,1979-01-13,329.9000000000065,329.91092,2015-01-01 00:54:59,bin3299,75,False -CTSPillarNetworkA,3300,3300,3300,1979-01-14,330.00000000000654,330.01093,2015-01-01 00:55:00,bin3300,35,False -CTSPillarNetworkA,3301,3301,3301,1979-01-15,330.10000000000656,330.11093,2015-01-01 00:55:01,bin3301,75,False -CTSPillarNetworkA,3302,3302,3302,1979-01-16,330.2000000000066,330.21094,2015-01-01 00:55:02,bin3302,35,False -CTSPillarNetworkA,3303,3303,3303,1979-01-17,330.3000000000066,330.31094,2015-01-01 00:55:03,bin3303,75,False -CTSPillarNetworkA,3304,3304,3304,1979-01-18,330.4000000000066,330.41095,2015-01-01 00:55:04,bin3304,35,False -CTSPillarNetworkA,3305,3305,3305,1979-01-19,330.50000000000665,330.51096,2015-01-01 00:55:05,bin3305,75,False -CTSPillarNetworkA,3306,3306,3306,1979-01-20,330.6000000000067,330.61096,2015-01-01 00:55:06,bin3306,35,False -CTSPillarNetworkA,3307,3307,3307,1979-01-21,330.7000000000067,330.71097,2015-01-01 00:55:07,bin3307,75,False -CTSPillarNetworkA,3308,3308,3308,1979-01-22,330.8000000000067,330.81097,2015-01-01 00:55:08,bin3308,35,False -CTSPillarNetworkA,3309,3309,3309,1979-01-23,330.90000000000674,330.91098,2015-01-01 00:55:09,bin3309,75,False -CTSPillarNetworkA,3310,3310,3310,1979-01-24,331.00000000000676,331.011,2015-01-01 00:55:10,bin3310,35,False -CTSPillarNetworkA,3311,3311,3311,1979-01-25,331.1000000000068,331.111,2015-01-01 00:55:11,bin3311,75,False -CTSPillarNetworkA,3312,3312,3312,1979-01-26,331.2000000000068,331.211,2015-01-01 00:55:12,bin3312,35,False -CTSPillarNetworkA,3313,3313,3313,1979-01-27,331.30000000000683,331.311,2015-01-01 00:55:13,bin3313,75,False -CTSPillarNetworkA,3314,3314,3314,1979-01-28,331.40000000000686,331.411,2015-01-01 00:55:14,bin3314,35,False -CTSPillarNetworkA,3315,3315,3315,1979-01-29,331.5000000000069,331.51102,2015-01-01 00:55:15,bin3315,75,False -CTSPillarNetworkA,3316,3316,3316,1979-01-30,331.6000000000069,331.61102,2015-01-01 00:55:16,bin3316,35,False -CTSPillarNetworkA,3317,3317,3317,1979-01-31,331.7000000000069,331.71103,2015-01-01 00:55:17,bin3317,75,False -CTSPillarNetworkA,3318,3318,3318,1979-02-01,331.80000000000695,331.81104,2015-01-01 00:55:18,bin3318,35,False -CTSPillarNetworkA,3319,3319,3319,1979-02-02,331.90000000000697,331.91104,2015-01-01 00:55:19,bin3319,75,False -CTSPillarNetworkA,3320,3320,3320,1979-02-03,332.000000000007,332.01105,2015-01-01 00:55:20,bin3320,35,False -CTSPillarNetworkA,3321,3321,3321,1979-02-04,332.100000000007,332.11105,2015-01-01 00:55:21,bin3321,75,False -CTSPillarNetworkA,3322,3322,3322,1979-02-05,332.20000000000704,332.21106,2015-01-01 00:55:22,bin3322,35,False -CTSPillarNetworkA,3323,3323,3323,1979-02-06,332.30000000000706,332.31107,2015-01-01 00:55:23,bin3323,75,False -CTSPillarNetworkA,3324,3324,3324,1979-02-07,332.4000000000071,332.41107,2015-01-01 00:55:24,bin3324,35,False -CTSPillarNetworkA,3325,3325,3325,1979-02-08,332.5000000000071,332.51108,2015-01-01 00:55:25,bin3325,75,False -CTSPillarNetworkA,3326,3326,3326,1979-02-09,332.6000000000071,332.61108,2015-01-01 00:55:26,bin3326,35,False -CTSPillarNetworkA,3327,3327,3327,1979-02-10,332.70000000000715,332.7111,2015-01-01 00:55:27,bin3327,75,False -CTSPillarNetworkA,3328,3328,3328,1979-02-11,332.8000000000072,332.8111,2015-01-01 00:55:28,bin3328,35,False -CTSPillarNetworkA,3329,3329,3329,1979-02-12,332.9000000000072,332.9111,2015-01-01 00:55:29,bin3329,75,False -CTSPillarNetworkA,3330,3330,3330,1979-02-13,333.0000000000072,333.0111,2015-01-01 00:55:30,bin3330,35,False -CTSPillarNetworkA,3331,3331,3331,1979-02-14,333.10000000000724,333.1111,2015-01-01 00:55:31,bin3331,75,False -CTSPillarNetworkA,3332,3332,3332,1979-02-15,333.20000000000726,333.21112,2015-01-01 00:55:32,bin3332,35,False -CTSPillarNetworkA,3333,3333,3333,1979-02-16,333.3000000000073,333.31113,2015-01-01 00:55:33,bin3333,75,False -CTSPillarNetworkA,3334,3334,3334,1979-02-17,333.4000000000073,333.41113,2015-01-01 00:55:34,bin3334,35,False -CTSPillarNetworkA,3335,3335,3335,1979-02-18,333.50000000000733,333.51114,2015-01-01 00:55:35,bin3335,75,False -CTSPillarNetworkA,3336,3336,3336,1979-02-19,333.60000000000736,333.61115,2015-01-01 00:55:36,bin3336,35,False -CTSPillarNetworkA,3337,3337,3337,1979-02-20,333.7000000000074,333.71115,2015-01-01 00:55:37,bin3337,75,False -CTSPillarNetworkA,3338,3338,3338,1979-02-21,333.8000000000074,333.81116,2015-01-01 00:55:38,bin3338,35,False -CTSPillarNetworkA,3339,3339,3339,1979-02-22,333.9000000000074,333.91116,2015-01-01 00:55:39,bin3339,75,False -CTSPillarNetworkA,3340,3340,3340,1979-02-23,334.00000000000745,334.01117,2015-01-01 00:55:40,bin3340,35,False -CTSPillarNetworkA,3341,3341,3341,1979-02-24,334.10000000000747,334.11118,2015-01-01 00:55:41,bin3341,75,False -CTSPillarNetworkA,3342,3342,3342,1979-02-25,334.2000000000075,334.21118,2015-01-01 00:55:42,bin3342,35,False -CTSPillarNetworkA,3343,3343,3343,1979-02-26,334.3000000000075,334.3112,2015-01-01 00:55:43,bin3343,75,False -CTSPillarNetworkA,3344,3344,3344,1979-02-27,334.40000000000754,334.4112,2015-01-01 00:55:44,bin3344,35,False -CTSPillarNetworkA,3345,3345,3345,1979-02-28,334.50000000000756,334.5112,2015-01-01 00:55:45,bin3345,75,False -CTSPillarNetworkA,3346,3346,3346,1979-03-01,334.6000000000076,334.6112,2015-01-01 00:55:46,bin3346,35,False -CTSPillarNetworkA,3347,3347,3347,1979-03-02,334.7000000000076,334.7112,2015-01-01 00:55:47,bin3347,75,False -CTSPillarNetworkA,3348,3348,3348,1979-03-03,334.8000000000076,334.81122,2015-01-01 00:55:48,bin3348,35,False -CTSPillarNetworkA,3349,3349,3349,1979-03-04,334.90000000000765,334.91122,2015-01-01 00:55:49,bin3349,75,False -CTSPillarNetworkA,3350,3350,3350,1979-03-05,335.0000000000077,335.01123,2015-01-01 00:55:50,bin3350,35,False -CTSPillarNetworkA,3351,3351,3351,1979-03-06,335.1000000000077,335.11124,2015-01-01 00:55:51,bin3351,75,False -CTSPillarNetworkA,3352,3352,3352,1979-03-07,335.2000000000077,335.21124,2015-01-01 00:55:52,bin3352,35,False -CTSPillarNetworkA,3353,3353,3353,1979-03-08,335.30000000000774,335.31125,2015-01-01 00:55:53,bin3353,75,False -CTSPillarNetworkA,3354,3354,3354,1979-03-09,335.40000000000776,335.41125,2015-01-01 00:55:54,bin3354,35,False -CTSPillarNetworkA,3355,3355,3355,1979-03-10,335.5000000000078,335.51126,2015-01-01 00:55:55,bin3355,75,False -CTSPillarNetworkA,3356,3356,3356,1979-03-11,335.6000000000078,335.61127,2015-01-01 00:55:56,bin3356,35,False -CTSPillarNetworkA,3357,3357,3357,1979-03-12,335.70000000000783,335.71127,2015-01-01 00:55:57,bin3357,75,False -CTSPillarNetworkA,3358,3358,3358,1979-03-13,335.80000000000786,335.81128,2015-01-01 00:55:58,bin3358,35,False -CTSPillarNetworkA,3359,3359,3359,1979-03-14,335.9000000000079,335.9113,2015-01-01 00:55:59,bin3359,75,False -CTSPillarNetworkA,3360,3360,3360,1979-03-15,336.0000000000079,336.0113,2015-01-01 00:56:00,bin3360,35,False -CTSPillarNetworkA,3361,3361,3361,1979-03-16,336.1000000000079,336.1113,2015-01-01 00:56:01,bin3361,75,False -CTSPillarNetworkA,3362,3362,3362,1979-03-17,336.20000000000795,336.2113,2015-01-01 00:56:02,bin3362,35,False -CTSPillarNetworkA,3363,3363,3363,1979-03-18,336.30000000000797,336.3113,2015-01-01 00:56:03,bin3363,75,False -CTSPillarNetworkA,3364,3364,3364,1979-03-19,336.400000000008,336.41132,2015-01-01 00:56:04,bin3364,35,False -CTSPillarNetworkA,3365,3365,3365,1979-03-20,336.500000000008,336.51132,2015-01-01 00:56:05,bin3365,75,False -CTSPillarNetworkA,3366,3366,3366,1979-03-21,336.60000000000804,336.61133,2015-01-01 00:56:06,bin3366,35,False -CTSPillarNetworkA,3367,3367,3367,1979-03-22,336.70000000000806,336.71133,2015-01-01 00:56:07,bin3367,75,False -CTSPillarNetworkA,3368,3368,3368,1979-03-23,336.8000000000081,336.81134,2015-01-01 00:56:08,bin3368,35,False -CTSPillarNetworkA,3369,3369,3369,1979-03-24,336.9000000000081,336.91135,2015-01-01 00:56:09,bin3369,75,False -CTSPillarNetworkA,3370,3370,3370,1979-03-25,337.00000000000813,337.01135,2015-01-01 00:56:10,bin3370,35,False -CTSPillarNetworkA,3371,3371,3371,1979-03-26,337.10000000000815,337.11136,2015-01-01 00:56:11,bin3371,75,False -CTSPillarNetworkA,3372,3372,3372,1979-03-27,337.2000000000082,337.21136,2015-01-01 00:56:12,bin3372,35,False -CTSPillarNetworkA,3373,3373,3373,1979-03-28,337.3000000000082,337.31137,2015-01-01 00:56:13,bin3373,75,False -CTSPillarNetworkA,3374,3374,3374,1979-03-29,337.4000000000082,337.41138,2015-01-01 00:56:14,bin3374,35,False -CTSPillarNetworkA,3375,3375,3375,1979-03-30,337.50000000000824,337.51138,2015-01-01 00:56:15,bin3375,75,False -CTSPillarNetworkA,3376,3376,3376,1979-03-31,337.60000000000827,337.6114,2015-01-01 00:56:16,bin3376,35,False -CTSPillarNetworkA,3377,3377,3377,1979-04-01,337.7000000000083,337.7114,2015-01-01 00:56:17,bin3377,75,False -CTSPillarNetworkA,3378,3378,3378,1979-04-02,337.8000000000083,337.8114,2015-01-01 00:56:18,bin3378,35,False -CTSPillarNetworkA,3379,3379,3379,1979-04-03,337.90000000000833,337.9114,2015-01-01 00:56:19,bin3379,75,False -CTSPillarNetworkA,3380,3380,3380,1979-04-04,338.00000000000836,338.0114,2015-01-01 00:56:20,bin3380,35,False -CTSPillarNetworkA,3381,3381,3381,1979-04-05,338.1000000000084,338.11142,2015-01-01 00:56:21,bin3381,75,False -CTSPillarNetworkA,3382,3382,3382,1979-04-06,338.2000000000084,338.21143,2015-01-01 00:56:22,bin3382,35,False -CTSPillarNetworkA,3383,3383,3383,1979-04-07,338.3000000000084,338.31143,2015-01-01 00:56:23,bin3383,75,False -CTSPillarNetworkA,3384,3384,3384,1979-04-08,338.40000000000845,338.41144,2015-01-01 00:56:24,bin3384,35,False -CTSPillarNetworkA,3385,3385,3385,1979-04-09,338.50000000000847,338.51144,2015-01-01 00:56:25,bin3385,75,False -CTSPillarNetworkA,3386,3386,3386,1979-04-10,338.6000000000085,338.61145,2015-01-01 00:56:26,bin3386,35,False -CTSPillarNetworkA,3387,3387,3387,1979-04-11,338.7000000000085,338.71146,2015-01-01 00:56:27,bin3387,75,False -CTSPillarNetworkA,3388,3388,3388,1979-04-12,338.80000000000854,338.81146,2015-01-01 00:56:28,bin3388,35,False -CTSPillarNetworkA,3389,3389,3389,1979-04-13,338.90000000000856,338.91147,2015-01-01 00:56:29,bin3389,75,False -CTSPillarNetworkA,3390,3390,3390,1979-04-14,339.0000000000086,339.01147,2015-01-01 00:56:30,bin3390,35,False -CTSPillarNetworkA,3391,3391,3391,1979-04-15,339.1000000000086,339.11148,2015-01-01 00:56:31,bin3391,75,False -CTSPillarNetworkA,3392,3392,3392,1979-04-16,339.20000000000863,339.2115,2015-01-01 00:56:32,bin3392,35,False -CTSPillarNetworkA,3393,3393,3393,1979-04-17,339.30000000000865,339.3115,2015-01-01 00:56:33,bin3393,75,False -CTSPillarNetworkA,3394,3394,3394,1979-04-18,339.4000000000087,339.4115,2015-01-01 00:56:34,bin3394,35,False -CTSPillarNetworkA,3395,3395,3395,1979-04-19,339.5000000000087,339.5115,2015-01-01 00:56:35,bin3395,75,False -CTSPillarNetworkA,3396,3396,3396,1979-04-20,339.6000000000087,339.6115,2015-01-01 00:56:36,bin3396,35,False -CTSPillarNetworkA,3397,3397,3397,1979-04-21,339.70000000000874,339.71152,2015-01-01 00:56:37,bin3397,75,False -CTSPillarNetworkA,3398,3398,3398,1979-04-22,339.80000000000877,339.81152,2015-01-01 00:56:38,bin3398,35,False -CTSPillarNetworkA,3399,3399,3399,1979-04-23,339.9000000000088,339.91153,2015-01-01 00:56:39,bin3399,75,False -CTSPillarNetworkA,3400,3400,3400,1979-04-24,340.0000000000088,340.01154,2015-01-01 00:56:40,bin3400,35,False -CTSPillarNetworkA,3401,3401,3401,1979-04-25,340.10000000000883,340.11154,2015-01-01 00:56:41,bin3401,75,False -CTSPillarNetworkA,3402,3402,3402,1979-04-26,340.20000000000886,340.21155,2015-01-01 00:56:42,bin3402,35,False -CTSPillarNetworkA,3403,3403,3403,1979-04-27,340.3000000000089,340.31155,2015-01-01 00:56:43,bin3403,75,False -CTSPillarNetworkA,3404,3404,3404,1979-04-28,340.4000000000089,340.41156,2015-01-01 00:56:44,bin3404,35,False -CTSPillarNetworkA,3405,3405,3405,1979-04-29,340.5000000000089,340.51157,2015-01-01 00:56:45,bin3405,75,False -CTSPillarNetworkA,3406,3406,3406,1979-04-30,340.60000000000895,340.61157,2015-01-01 00:56:46,bin3406,35,False -CTSPillarNetworkA,3407,3407,3407,1979-05-01,340.70000000000897,340.71158,2015-01-01 00:56:47,bin3407,75,False -CTSPillarNetworkA,3408,3408,3408,1979-05-02,340.800000000009,340.81158,2015-01-01 00:56:48,bin3408,35,False -CTSPillarNetworkA,3409,3409,3409,1979-05-03,340.900000000009,340.9116,2015-01-01 00:56:49,bin3409,75,False -CTSPillarNetworkA,3410,3410,3410,1979-05-04,341.00000000000904,341.0116,2015-01-01 00:56:50,bin3410,35,False -CTSPillarNetworkA,3411,3411,3411,1979-05-05,341.10000000000906,341.1116,2015-01-01 00:56:51,bin3411,75,False -CTSPillarNetworkA,3412,3412,3412,1979-05-06,341.2000000000091,341.2116,2015-01-01 00:56:52,bin3412,35,False -CTSPillarNetworkA,3413,3413,3413,1979-05-07,341.3000000000091,341.3116,2015-01-01 00:56:53,bin3413,75,False -CTSPillarNetworkA,3414,3414,3414,1979-05-08,341.40000000000913,341.41162,2015-01-01 00:56:54,bin3414,35,False -CTSPillarNetworkA,3415,3415,3415,1979-05-09,341.50000000000915,341.51163,2015-01-01 00:56:55,bin3415,75,False -CTSPillarNetworkA,3416,3416,3416,1979-05-10,341.6000000000092,341.61163,2015-01-01 00:56:56,bin3416,35,False -CTSPillarNetworkA,3417,3417,3417,1979-05-11,341.7000000000092,341.71164,2015-01-01 00:56:57,bin3417,75,False -CTSPillarNetworkA,3418,3418,3418,1979-05-12,341.8000000000092,341.81165,2015-01-01 00:56:58,bin3418,35,False -CTSPillarNetworkA,3419,3419,3419,1979-05-13,341.90000000000924,341.91165,2015-01-01 00:56:59,bin3419,75,False -CTSPillarNetworkA,3420,3420,3420,1979-05-14,342.00000000000927,342.01166,2015-01-01 00:57:00,bin3420,35,False -CTSPillarNetworkA,3421,3421,3421,1979-05-15,342.1000000000093,342.11166,2015-01-01 00:57:01,bin3421,75,False -CTSPillarNetworkA,3422,3422,3422,1979-05-16,342.2000000000093,342.21167,2015-01-01 00:57:02,bin3422,35,False -CTSPillarNetworkA,3423,3423,3423,1979-05-17,342.30000000000933,342.31168,2015-01-01 00:57:03,bin3423,75,False -CTSPillarNetworkA,3424,3424,3424,1979-05-18,342.40000000000936,342.41168,2015-01-01 00:57:04,bin3424,35,False -CTSPillarNetworkA,3425,3425,3425,1979-05-19,342.5000000000094,342.5117,2015-01-01 00:57:05,bin3425,75,False -CTSPillarNetworkA,3426,3426,3426,1979-05-20,342.6000000000094,342.6117,2015-01-01 00:57:06,bin3426,35,False -CTSPillarNetworkA,3427,3427,3427,1979-05-21,342.7000000000094,342.7117,2015-01-01 00:57:07,bin3427,75,False -CTSPillarNetworkA,3428,3428,3428,1979-05-22,342.80000000000945,342.8117,2015-01-01 00:57:08,bin3428,35,False -CTSPillarNetworkA,3429,3429,3429,1979-05-23,342.90000000000947,342.9117,2015-01-01 00:57:09,bin3429,75,False -CTSPillarNetworkA,3430,3430,3430,1979-05-24,343.0000000000095,343.01172,2015-01-01 00:57:10,bin3430,35,False -CTSPillarNetworkA,3431,3431,3431,1979-05-25,343.1000000000095,343.11172,2015-01-01 00:57:11,bin3431,75,False -CTSPillarNetworkA,3432,3432,3432,1979-05-26,343.20000000000954,343.21173,2015-01-01 00:57:12,bin3432,35,False -CTSPillarNetworkA,3433,3433,3433,1979-05-27,343.30000000000956,343.31174,2015-01-01 00:57:13,bin3433,75,False -CTSPillarNetworkA,3434,3434,3434,1979-05-28,343.4000000000096,343.41174,2015-01-01 00:57:14,bin3434,35,False -CTSPillarNetworkA,3435,3435,3435,1979-05-29,343.5000000000096,343.51175,2015-01-01 00:57:15,bin3435,75,False -CTSPillarNetworkA,3436,3436,3436,1979-05-30,343.60000000000963,343.61176,2015-01-01 00:57:16,bin3436,35,False -CTSPillarNetworkA,3437,3437,3437,1979-05-31,343.70000000000965,343.71176,2015-01-01 00:57:17,bin3437,75,False -CTSPillarNetworkA,3438,3438,3438,1979-06-01,343.8000000000097,343.81177,2015-01-01 00:57:18,bin3438,35,False -CTSPillarNetworkA,3439,3439,3439,1979-06-02,343.9000000000097,343.91177,2015-01-01 00:57:19,bin3439,75,False -CTSPillarNetworkA,3440,3440,3440,1979-06-03,344.0000000000097,344.01178,2015-01-01 00:57:20,bin3440,35,False -CTSPillarNetworkA,3441,3441,3441,1979-06-04,344.10000000000974,344.1118,2015-01-01 00:57:21,bin3441,75,False -CTSPillarNetworkA,3442,3442,3442,1979-06-05,344.20000000000977,344.2118,2015-01-01 00:57:22,bin3442,35,False -CTSPillarNetworkA,3443,3443,3443,1979-06-06,344.3000000000098,344.3118,2015-01-01 00:57:23,bin3443,75,False -CTSPillarNetworkA,3444,3444,3444,1979-06-07,344.4000000000098,344.4118,2015-01-01 00:57:24,bin3444,35,False -CTSPillarNetworkA,3445,3445,3445,1979-06-08,344.50000000000983,344.5118,2015-01-01 00:57:25,bin3445,75,False -CTSPillarNetworkA,3446,3446,3446,1979-06-09,344.60000000000986,344.61182,2015-01-01 00:57:26,bin3446,35,False -CTSPillarNetworkA,3447,3447,3447,1979-06-10,344.7000000000099,344.71182,2015-01-01 00:57:27,bin3447,75,False -CTSPillarNetworkA,3448,3448,3448,1979-06-11,344.8000000000099,344.81183,2015-01-01 00:57:28,bin3448,35,False -CTSPillarNetworkA,3449,3449,3449,1979-06-12,344.9000000000099,344.91183,2015-01-01 00:57:29,bin3449,75,False -CTSPillarNetworkA,3450,3450,3450,1979-06-13,345.00000000000995,345.01184,2015-01-01 00:57:30,bin3450,35,False -CTSPillarNetworkA,3451,3451,3451,1979-06-14,345.10000000000997,345.11185,2015-01-01 00:57:31,bin3451,75,False -CTSPillarNetworkA,3452,3452,3452,1979-06-15,345.20000000001,345.21185,2015-01-01 00:57:32,bin3452,35,False -CTSPillarNetworkA,3453,3453,3453,1979-06-16,345.30000000001,345.31186,2015-01-01 00:57:33,bin3453,75,False -CTSPillarNetworkA,3454,3454,3454,1979-06-17,345.40000000001004,345.41187,2015-01-01 00:57:34,bin3454,35,False -CTSPillarNetworkA,3455,3455,3455,1979-06-18,345.50000000001006,345.51187,2015-01-01 00:57:35,bin3455,75,False -CTSPillarNetworkA,3456,3456,3456,1979-06-19,345.6000000000101,345.61188,2015-01-01 00:57:36,bin3456,35,False -CTSPillarNetworkA,3457,3457,3457,1979-06-20,345.7000000000101,345.71188,2015-01-01 00:57:37,bin3457,75,False -CTSPillarNetworkA,3458,3458,3458,1979-06-21,345.80000000001013,345.8119,2015-01-01 00:57:38,bin3458,35,False -CTSPillarNetworkA,3459,3459,3459,1979-06-22,345.90000000001015,345.9119,2015-01-01 00:57:39,bin3459,75,False -CTSPillarNetworkA,3460,3460,3460,1979-06-23,346.0000000000102,346.0119,2015-01-01 00:57:40,bin3460,35,False -CTSPillarNetworkA,3461,3461,3461,1979-06-24,346.1000000000102,346.1119,2015-01-01 00:57:41,bin3461,75,False -CTSPillarNetworkA,3462,3462,3462,1979-06-25,346.2000000000102,346.2119,2015-01-01 00:57:42,bin3462,35,False -CTSPillarNetworkA,3463,3463,3463,1979-06-26,346.30000000001024,346.31192,2015-01-01 00:57:43,bin3463,75,False -CTSPillarNetworkA,3464,3464,3464,1979-06-27,346.40000000001027,346.41193,2015-01-01 00:57:44,bin3464,35,False -CTSPillarNetworkA,3465,3465,3465,1979-06-28,346.5000000000103,346.51193,2015-01-01 00:57:45,bin3465,75,False -CTSPillarNetworkA,3466,3466,3466,1979-06-29,346.6000000000103,346.61194,2015-01-01 00:57:46,bin3466,35,False -CTSPillarNetworkA,3467,3467,3467,1979-06-30,346.70000000001033,346.71194,2015-01-01 00:57:47,bin3467,75,False -CTSPillarNetworkA,3468,3468,3468,1979-07-01,346.80000000001036,346.81195,2015-01-01 00:57:48,bin3468,35,False -CTSPillarNetworkA,3469,3469,3469,1979-07-02,346.9000000000104,346.91196,2015-01-01 00:57:49,bin3469,75,False -CTSPillarNetworkA,3470,3470,3470,1979-07-03,347.0000000000104,347.01196,2015-01-01 00:57:50,bin3470,35,False -CTSPillarNetworkA,3471,3471,3471,1979-07-04,347.1000000000104,347.11197,2015-01-01 00:57:51,bin3471,75,False -CTSPillarNetworkA,3472,3472,3472,1979-07-05,347.20000000001045,347.21198,2015-01-01 00:57:52,bin3472,35,False -CTSPillarNetworkA,3473,3473,3473,1979-07-06,347.30000000001047,347.31198,2015-01-01 00:57:53,bin3473,75,False -CTSPillarNetworkA,3474,3474,3474,1979-07-07,347.4000000000105,347.412,2015-01-01 00:57:54,bin3474,35,False -CTSPillarNetworkA,3475,3475,3475,1979-07-08,347.5000000000105,347.512,2015-01-01 00:57:55,bin3475,75,False -CTSPillarNetworkA,3476,3476,3476,1979-07-09,347.60000000001054,347.612,2015-01-01 00:57:56,bin3476,35,False -CTSPillarNetworkA,3477,3477,3477,1979-07-10,347.70000000001056,347.712,2015-01-01 00:57:57,bin3477,75,False -CTSPillarNetworkA,3478,3478,3478,1979-07-11,347.8000000000106,347.812,2015-01-01 00:57:58,bin3478,35,False -CTSPillarNetworkA,3479,3479,3479,1979-07-12,347.9000000000106,347.91202,2015-01-01 00:57:59,bin3479,75,False -CTSPillarNetworkA,3480,3480,3480,1979-07-13,348.00000000001063,348.01202,2015-01-01 00:58:00,bin3480,35,False -CTSPillarNetworkA,3481,3481,3481,1979-07-14,348.10000000001065,348.11203,2015-01-01 00:58:01,bin3481,75,False -CTSPillarNetworkA,3482,3482,3482,1979-07-15,348.2000000000107,348.21204,2015-01-01 00:58:02,bin3482,35,False -CTSPillarNetworkA,3483,3483,3483,1979-07-16,348.3000000000107,348.31204,2015-01-01 00:58:03,bin3483,75,False -CTSPillarNetworkA,3484,3484,3484,1979-07-17,348.4000000000107,348.41205,2015-01-01 00:58:04,bin3484,35,False -CTSPillarNetworkA,3485,3485,3485,1979-07-18,348.50000000001074,348.51205,2015-01-01 00:58:05,bin3485,75,False -CTSPillarNetworkA,3486,3486,3486,1979-07-19,348.60000000001077,348.61206,2015-01-01 00:58:06,bin3486,35,False -CTSPillarNetworkA,3487,3487,3487,1979-07-20,348.7000000000108,348.71207,2015-01-01 00:58:07,bin3487,75,False -CTSPillarNetworkA,3488,3488,3488,1979-07-21,348.8000000000108,348.81207,2015-01-01 00:58:08,bin3488,35,False -CTSPillarNetworkA,3489,3489,3489,1979-07-22,348.90000000001083,348.91208,2015-01-01 00:58:09,bin3489,75,False -CTSPillarNetworkA,3490,3490,3490,1979-07-23,349.00000000001086,349.0121,2015-01-01 00:58:10,bin3490,35,False -CTSPillarNetworkA,3491,3491,3491,1979-07-24,349.1000000000109,349.1121,2015-01-01 00:58:11,bin3491,75,False -CTSPillarNetworkA,3492,3492,3492,1979-07-25,349.2000000000109,349.2121,2015-01-01 00:58:12,bin3492,35,False -CTSPillarNetworkA,3493,3493,3493,1979-07-26,349.3000000000109,349.3121,2015-01-01 00:58:13,bin3493,75,False -CTSPillarNetworkA,3494,3494,3494,1979-07-27,349.40000000001095,349.4121,2015-01-01 00:58:14,bin3494,35,False -CTSPillarNetworkA,3495,3495,3495,1979-07-28,349.50000000001097,349.51212,2015-01-01 00:58:15,bin3495,75,False -CTSPillarNetworkA,3496,3496,3496,1979-07-29,349.600000000011,349.61212,2015-01-01 00:58:16,bin3496,35,False -CTSPillarNetworkA,3497,3497,3497,1979-07-30,349.700000000011,349.71213,2015-01-01 00:58:17,bin3497,75,False -CTSPillarNetworkA,3498,3498,3498,1979-07-31,349.80000000001104,349.81213,2015-01-01 00:58:18,bin3498,35,False -CTSPillarNetworkA,3499,3499,3499,1979-08-01,349.90000000001106,349.91214,2015-01-01 00:58:19,bin3499,75,False -CTSPillarNetworkA,3500,3500,3500,1979-08-02,350.0000000000111,350.01215,2015-01-01 00:58:20,bin3500,35,False -CTSPillarNetworkA,3501,3501,3501,1979-08-03,350.1000000000111,350.11215,2015-01-01 00:58:21,bin3501,75,False -CTSPillarNetworkA,3502,3502,3502,1979-08-04,350.20000000001113,350.21216,2015-01-01 00:58:22,bin3502,35,False -CTSPillarNetworkA,3503,3503,3503,1979-08-05,350.30000000001115,350.31216,2015-01-01 00:58:23,bin3503,75,False -CTSPillarNetworkA,3504,3504,3504,1979-08-06,350.4000000000112,350.41217,2015-01-01 00:58:24,bin3504,35,False -CTSPillarNetworkA,3505,3505,3505,1979-08-07,350.5000000000112,350.51218,2015-01-01 00:58:25,bin3505,75,False -CTSPillarNetworkA,3506,3506,3506,1979-08-08,350.6000000000112,350.61218,2015-01-01 00:58:26,bin3506,35,False -CTSPillarNetworkA,3507,3507,3507,1979-08-09,350.70000000001124,350.7122,2015-01-01 00:58:27,bin3507,75,False -CTSPillarNetworkA,3508,3508,3508,1979-08-10,350.80000000001127,350.8122,2015-01-01 00:58:28,bin3508,35,False -CTSPillarNetworkA,3509,3509,3509,1979-08-11,350.9000000000113,350.9122,2015-01-01 00:58:29,bin3509,75,False -CTSPillarNetworkA,3510,3510,3510,1979-08-12,351.0000000000113,351.0122,2015-01-01 00:58:30,bin3510,35,False -CTSPillarNetworkA,3511,3511,3511,1979-08-13,351.10000000001133,351.1122,2015-01-01 00:58:31,bin3511,75,False -CTSPillarNetworkA,3512,3512,3512,1979-08-14,351.20000000001136,351.21222,2015-01-01 00:58:32,bin3512,35,False -CTSPillarNetworkA,3513,3513,3513,1979-08-15,351.3000000000114,351.31223,2015-01-01 00:58:33,bin3513,75,False -CTSPillarNetworkA,3514,3514,3514,1979-08-16,351.4000000000114,351.41223,2015-01-01 00:58:34,bin3514,35,False -CTSPillarNetworkA,3515,3515,3515,1979-08-17,351.5000000000114,351.51224,2015-01-01 00:58:35,bin3515,75,False -CTSPillarNetworkA,3516,3516,3516,1979-08-18,351.60000000001145,351.61224,2015-01-01 00:58:36,bin3516,35,False -CTSPillarNetworkA,3517,3517,3517,1979-08-19,351.70000000001147,351.71225,2015-01-01 00:58:37,bin3517,75,False -CTSPillarNetworkA,3518,3518,3518,1979-08-20,351.8000000000115,351.81226,2015-01-01 00:58:38,bin3518,35,False -CTSPillarNetworkA,3519,3519,3519,1979-08-21,351.9000000000115,351.91226,2015-01-01 00:58:39,bin3519,75,False -CTSPillarNetworkA,3520,3520,3520,1979-08-22,352.00000000001154,352.01227,2015-01-01 00:58:40,bin3520,35,False -CTSPillarNetworkA,3521,3521,3521,1979-08-23,352.10000000001156,352.11227,2015-01-01 00:58:41,bin3521,75,False -CTSPillarNetworkA,3522,3522,3522,1979-08-24,352.2000000000116,352.21228,2015-01-01 00:58:42,bin3522,35,False -CTSPillarNetworkA,3523,3523,3523,1979-08-25,352.3000000000116,352.3123,2015-01-01 00:58:43,bin3523,75,False -CTSPillarNetworkA,3524,3524,3524,1979-08-26,352.40000000001163,352.4123,2015-01-01 00:58:44,bin3524,35,False -CTSPillarNetworkA,3525,3525,3525,1979-08-27,352.50000000001165,352.5123,2015-01-01 00:58:45,bin3525,75,False -CTSPillarNetworkA,3526,3526,3526,1979-08-28,352.6000000000117,352.6123,2015-01-01 00:58:46,bin3526,35,False -CTSPillarNetworkA,3527,3527,3527,1979-08-29,352.7000000000117,352.7123,2015-01-01 00:58:47,bin3527,75,False -CTSPillarNetworkA,3528,3528,3528,1979-08-30,352.8000000000117,352.81232,2015-01-01 00:58:48,bin3528,35,False -CTSPillarNetworkA,3529,3529,3529,1979-08-31,352.90000000001174,352.91232,2015-01-01 00:58:49,bin3529,75,False -CTSPillarNetworkA,3530,3530,3530,1979-09-01,353.00000000001177,353.01233,2015-01-01 00:58:50,bin3530,35,False -CTSPillarNetworkA,3531,3531,3531,1979-09-02,353.1000000000118,353.11234,2015-01-01 00:58:51,bin3531,75,False -CTSPillarNetworkA,3532,3532,3532,1979-09-03,353.2000000000118,353.21234,2015-01-01 00:58:52,bin3532,35,False -CTSPillarNetworkA,3533,3533,3533,1979-09-04,353.30000000001183,353.31235,2015-01-01 00:58:53,bin3533,75,False -CTSPillarNetworkA,3534,3534,3534,1979-09-05,353.40000000001186,353.41235,2015-01-01 00:58:54,bin3534,35,False -CTSPillarNetworkA,3535,3535,3535,1979-09-06,353.5000000000119,353.51236,2015-01-01 00:58:55,bin3535,75,False -CTSPillarNetworkA,3536,3536,3536,1979-09-07,353.6000000000119,353.61237,2015-01-01 00:58:56,bin3536,35,False -CTSPillarNetworkA,3537,3537,3537,1979-09-08,353.7000000000119,353.71237,2015-01-01 00:58:57,bin3537,75,False -CTSPillarNetworkA,3538,3538,3538,1979-09-09,353.80000000001195,353.81238,2015-01-01 00:58:58,bin3538,35,False -CTSPillarNetworkA,3539,3539,3539,1979-09-10,353.90000000001197,353.91238,2015-01-01 00:58:59,bin3539,75,False -CTSPillarNetworkA,3540,3540,3540,1979-09-11,354.000000000012,354.0124,2015-01-01 00:59:00,bin3540,35,False -CTSPillarNetworkA,3541,3541,3541,1979-09-12,354.100000000012,354.1124,2015-01-01 00:59:01,bin3541,75,False -CTSPillarNetworkA,3542,3542,3542,1979-09-13,354.20000000001204,354.2124,2015-01-01 00:59:02,bin3542,35,False -CTSPillarNetworkA,3543,3543,3543,1979-09-14,354.30000000001206,354.3124,2015-01-01 00:59:03,bin3543,75,False -CTSPillarNetworkA,3544,3544,3544,1979-09-15,354.4000000000121,354.4124,2015-01-01 00:59:04,bin3544,35,False -CTSPillarNetworkA,3545,3545,3545,1979-09-16,354.5000000000121,354.51242,2015-01-01 00:59:05,bin3545,75,False -CTSPillarNetworkA,3546,3546,3546,1979-09-17,354.60000000001213,354.61243,2015-01-01 00:59:06,bin3546,35,False -CTSPillarNetworkA,3547,3547,3547,1979-09-18,354.70000000001215,354.71243,2015-01-01 00:59:07,bin3547,75,False -CTSPillarNetworkA,3548,3548,3548,1979-09-19,354.8000000000122,354.81244,2015-01-01 00:59:08,bin3548,35,False -CTSPillarNetworkA,3549,3549,3549,1979-09-20,354.9000000000122,354.91245,2015-01-01 00:59:09,bin3549,75,False -CTSPillarNetworkA,3550,3550,3550,1979-09-21,355.0000000000122,355.01245,2015-01-01 00:59:10,bin3550,35,False -CTSPillarNetworkA,3551,3551,3551,1979-09-22,355.10000000001224,355.11246,2015-01-01 00:59:11,bin3551,75,False -CTSPillarNetworkA,3552,3552,3552,1979-09-23,355.20000000001227,355.21246,2015-01-01 00:59:12,bin3552,35,False -CTSPillarNetworkA,3553,3553,3553,1979-09-24,355.3000000000123,355.31247,2015-01-01 00:59:13,bin3553,75,False -CTSPillarNetworkA,3554,3554,3554,1979-09-25,355.4000000000123,355.41248,2015-01-01 00:59:14,bin3554,35,False -CTSPillarNetworkA,3555,3555,3555,1979-09-26,355.50000000001234,355.51248,2015-01-01 00:59:15,bin3555,75,False -CTSPillarNetworkA,3556,3556,3556,1979-09-27,355.60000000001236,355.6125,2015-01-01 00:59:16,bin3556,35,False -CTSPillarNetworkA,3557,3557,3557,1979-09-28,355.7000000000124,355.7125,2015-01-01 00:59:17,bin3557,75,False -CTSPillarNetworkA,3558,3558,3558,1979-09-29,355.8000000000124,355.8125,2015-01-01 00:59:18,bin3558,35,False -CTSPillarNetworkA,3559,3559,3559,1979-09-30,355.9000000000124,355.9125,2015-01-01 00:59:19,bin3559,75,False -CTSPillarNetworkA,3560,3560,3560,1979-10-01,356.00000000001245,356.0125,2015-01-01 00:59:20,bin3560,35,False -CTSPillarNetworkA,3561,3561,3561,1979-10-02,356.10000000001247,356.11252,2015-01-01 00:59:21,bin3561,75,False -CTSPillarNetworkA,3562,3562,3562,1979-10-03,356.2000000000125,356.21252,2015-01-01 00:59:22,bin3562,35,False -CTSPillarNetworkA,3563,3563,3563,1979-10-04,356.3000000000125,356.31253,2015-01-01 00:59:23,bin3563,75,False -CTSPillarNetworkA,3564,3564,3564,1979-10-05,356.40000000001254,356.41254,2015-01-01 00:59:24,bin3564,35,False -CTSPillarNetworkA,3565,3565,3565,1979-10-06,356.50000000001256,356.51254,2015-01-01 00:59:25,bin3565,75,False -CTSPillarNetworkA,3566,3566,3566,1979-10-07,356.6000000000126,356.61255,2015-01-01 00:59:26,bin3566,35,False -CTSPillarNetworkA,3567,3567,3567,1979-10-08,356.7000000000126,356.71255,2015-01-01 00:59:27,bin3567,75,False -CTSPillarNetworkA,3568,3568,3568,1979-10-09,356.80000000001263,356.81256,2015-01-01 00:59:28,bin3568,35,False -CTSPillarNetworkA,3569,3569,3569,1979-10-10,356.90000000001265,356.91257,2015-01-01 00:59:29,bin3569,75,False -CTSPillarNetworkA,3570,3570,3570,1979-10-11,357.0000000000127,357.01257,2015-01-01 00:59:30,bin3570,35,False -CTSPillarNetworkA,3571,3571,3571,1979-10-12,357.1000000000127,357.11258,2015-01-01 00:59:31,bin3571,75,False -CTSPillarNetworkA,3572,3572,3572,1979-10-13,357.2000000000127,357.2126,2015-01-01 00:59:32,bin3572,35,False -CTSPillarNetworkA,3573,3573,3573,1979-10-14,357.30000000001274,357.3126,2015-01-01 00:59:33,bin3573,75,False -CTSPillarNetworkA,3574,3574,3574,1979-10-15,357.40000000001277,357.4126,2015-01-01 00:59:34,bin3574,35,False -CTSPillarNetworkA,3575,3575,3575,1979-10-16,357.5000000000128,357.5126,2015-01-01 00:59:35,bin3575,75,False -CTSPillarNetworkA,3576,3576,3576,1979-10-17,357.6000000000128,357.6126,2015-01-01 00:59:36,bin3576,35,False -CTSPillarNetworkA,3577,3577,3577,1979-10-18,357.70000000001284,357.71262,2015-01-01 00:59:37,bin3577,75,False -CTSPillarNetworkA,3578,3578,3578,1979-10-19,357.80000000001286,357.81262,2015-01-01 00:59:38,bin3578,35,False -CTSPillarNetworkA,3579,3579,3579,1979-10-20,357.9000000000129,357.91263,2015-01-01 00:59:39,bin3579,75,False -CTSPillarNetworkA,3580,3580,3580,1979-10-21,358.0000000000129,358.01263,2015-01-01 00:59:40,bin3580,35,False -CTSPillarNetworkA,3581,3581,3581,1979-10-22,358.1000000000129,358.11264,2015-01-01 00:59:41,bin3581,75,False -CTSPillarNetworkA,3582,3582,3582,1979-10-23,358.20000000001295,358.21265,2015-01-01 00:59:42,bin3582,35,False -CTSPillarNetworkA,3583,3583,3583,1979-10-24,358.300000000013,358.31265,2015-01-01 00:59:43,bin3583,75,False -CTSPillarNetworkA,3584,3584,3584,1979-10-25,358.400000000013,358.41266,2015-01-01 00:59:44,bin3584,35,False -CTSPillarNetworkA,3585,3585,3585,1979-10-26,358.500000000013,358.51266,2015-01-01 00:59:45,bin3585,75,False -CTSPillarNetworkA,3586,3586,3586,1979-10-27,358.60000000001304,358.61267,2015-01-01 00:59:46,bin3586,35,False -CTSPillarNetworkA,3587,3587,3587,1979-10-28,358.70000000001306,358.71268,2015-01-01 00:59:47,bin3587,75,False -CTSPillarNetworkA,3588,3588,3588,1979-10-29,358.8000000000131,358.81268,2015-01-01 00:59:48,bin3588,35,False -CTSPillarNetworkA,3589,3589,3589,1979-10-30,358.9000000000131,358.9127,2015-01-01 00:59:49,bin3589,75,False -CTSPillarNetworkA,3590,3590,3590,1979-10-31,359.00000000001313,359.0127,2015-01-01 00:59:50,bin3590,35,False -CTSPillarNetworkA,3591,3591,3591,1979-11-01,359.10000000001315,359.1127,2015-01-01 00:59:51,bin3591,75,False -CTSPillarNetworkA,3592,3592,3592,1979-11-02,359.2000000000132,359.2127,2015-01-01 00:59:52,bin3592,35,False -CTSPillarNetworkA,3593,3593,3593,1979-11-03,359.3000000000132,359.3127,2015-01-01 00:59:53,bin3593,75,False -CTSPillarNetworkA,3594,3594,3594,1979-11-04,359.4000000000132,359.41272,2015-01-01 00:59:54,bin3594,35,False -CTSPillarNetworkA,3595,3595,3595,1979-11-05,359.50000000001324,359.51273,2015-01-01 00:59:55,bin3595,75,False -CTSPillarNetworkA,3596,3596,3596,1979-11-06,359.60000000001327,359.61273,2015-01-01 00:59:56,bin3596,35,False -CTSPillarNetworkA,3597,3597,3597,1979-11-07,359.7000000000133,359.71274,2015-01-01 00:59:57,bin3597,75,False -CTSPillarNetworkA,3598,3598,3598,1979-11-08,359.8000000000133,359.81274,2015-01-01 00:59:58,bin3598,35,False -CTSPillarNetworkA,3599,3599,3599,1979-11-09,359.90000000001334,359.91275,2015-01-01 00:59:59,bin3599,75,False -CTSPillarNetworkA,3600,3600,3600,1979-11-10,360.00000000001336,360.01276,2015-01-01 01:00:00,bin3600,35,False -CTSPillarNetworkA,3601,3601,3601,1979-11-11,360.1000000000134,360.11276,2015-01-01 01:00:01,bin3601,75,False -CTSPillarNetworkA,3602,3602,3602,1979-11-12,360.2000000000134,360.21277,2015-01-01 01:00:02,bin3602,35,False -CTSPillarNetworkA,3603,3603,3603,1979-11-13,360.3000000000134,360.31277,2015-01-01 01:00:03,bin3603,75,False -CTSPillarNetworkA,3604,3604,3604,1979-11-14,360.40000000001345,360.41278,2015-01-01 01:00:04,bin3604,35,False -CTSPillarNetworkA,3605,3605,3605,1979-11-15,360.5000000000135,360.5128,2015-01-01 01:00:05,bin3605,75,False -CTSPillarNetworkA,3606,3606,3606,1979-11-16,360.6000000000135,360.6128,2015-01-01 01:00:06,bin3606,35,False -CTSPillarNetworkA,3607,3607,3607,1979-11-17,360.7000000000135,360.7128,2015-01-01 01:00:07,bin3607,75,False -CTSPillarNetworkA,3608,3608,3608,1979-11-18,360.80000000001354,360.8128,2015-01-01 01:00:08,bin3608,35,False -CTSPillarNetworkA,3609,3609,3609,1979-11-19,360.90000000001356,360.9128,2015-01-01 01:00:09,bin3609,75,False -CTSPillarNetworkA,3610,3610,3610,1979-11-20,361.0000000000136,361.01282,2015-01-01 01:00:10,bin3610,35,False -CTSPillarNetworkA,3611,3611,3611,1979-11-21,361.1000000000136,361.11282,2015-01-01 01:00:11,bin3611,75,False -CTSPillarNetworkA,3612,3612,3612,1979-11-22,361.20000000001363,361.21283,2015-01-01 01:00:12,bin3612,35,False -CTSPillarNetworkA,3613,3613,3613,1979-11-23,361.30000000001365,361.31284,2015-01-01 01:00:13,bin3613,75,False -CTSPillarNetworkA,3614,3614,3614,1979-11-24,361.4000000000137,361.41284,2015-01-01 01:00:14,bin3614,35,False -CTSPillarNetworkA,3615,3615,3615,1979-11-25,361.5000000000137,361.51285,2015-01-01 01:00:15,bin3615,75,False -CTSPillarNetworkA,3616,3616,3616,1979-11-26,361.6000000000137,361.61285,2015-01-01 01:00:16,bin3616,35,False -CTSPillarNetworkA,3617,3617,3617,1979-11-27,361.70000000001374,361.71286,2015-01-01 01:00:17,bin3617,75,False -CTSPillarNetworkA,3618,3618,3618,1979-11-28,361.80000000001377,361.81287,2015-01-01 01:00:18,bin3618,35,False -CTSPillarNetworkA,3619,3619,3619,1979-11-29,361.9000000000138,361.91287,2015-01-01 01:00:19,bin3619,75,False -CTSPillarNetworkA,3620,3620,3620,1979-11-30,362.0000000000138,362.01288,2015-01-01 01:00:20,bin3620,35,False -CTSPillarNetworkA,3621,3621,3621,1979-12-01,362.10000000001384,362.11288,2015-01-01 01:00:21,bin3621,75,False -CTSPillarNetworkA,3622,3622,3622,1979-12-02,362.20000000001386,362.2129,2015-01-01 01:00:22,bin3622,35,False -CTSPillarNetworkA,3623,3623,3623,1979-12-03,362.3000000000139,362.3129,2015-01-01 01:00:23,bin3623,75,False -CTSPillarNetworkA,3624,3624,3624,1979-12-04,362.4000000000139,362.4129,2015-01-01 01:00:24,bin3624,35,False -CTSPillarNetworkA,3625,3625,3625,1979-12-05,362.5000000000139,362.5129,2015-01-01 01:00:25,bin3625,75,False -CTSPillarNetworkA,3626,3626,3626,1979-12-06,362.60000000001395,362.6129,2015-01-01 01:00:26,bin3626,35,False -CTSPillarNetworkA,3627,3627,3627,1979-12-07,362.700000000014,362.71292,2015-01-01 01:00:27,bin3627,75,False -CTSPillarNetworkA,3628,3628,3628,1979-12-08,362.800000000014,362.81293,2015-01-01 01:00:28,bin3628,35,False -CTSPillarNetworkA,3629,3629,3629,1979-12-09,362.900000000014,362.91293,2015-01-01 01:00:29,bin3629,75,False -CTSPillarNetworkA,3630,3630,3630,1979-12-10,363.00000000001404,363.01294,2015-01-01 01:00:30,bin3630,35,False -CTSPillarNetworkA,3631,3631,3631,1979-12-11,363.10000000001406,363.11295,2015-01-01 01:00:31,bin3631,75,False -CTSPillarNetworkA,3632,3632,3632,1979-12-12,363.2000000000141,363.21295,2015-01-01 01:00:32,bin3632,35,False -CTSPillarNetworkA,3633,3633,3633,1979-12-13,363.3000000000141,363.31296,2015-01-01 01:00:33,bin3633,75,False -CTSPillarNetworkA,3634,3634,3634,1979-12-14,363.40000000001413,363.41296,2015-01-01 01:00:34,bin3634,35,False -CTSPillarNetworkA,3635,3635,3635,1979-12-15,363.50000000001415,363.51297,2015-01-01 01:00:35,bin3635,75,False -CTSPillarNetworkA,3636,3636,3636,1979-12-16,363.6000000000142,363.61298,2015-01-01 01:00:36,bin3636,35,False -CTSPillarNetworkA,3637,3637,3637,1979-12-17,363.7000000000142,363.71298,2015-01-01 01:00:37,bin3637,75,False -CTSPillarNetworkA,3638,3638,3638,1979-12-18,363.8000000000142,363.813,2015-01-01 01:00:38,bin3638,35,False -CTSPillarNetworkA,3639,3639,3639,1979-12-19,363.90000000001424,363.913,2015-01-01 01:00:39,bin3639,75,False -CTSPillarNetworkA,3640,3640,3640,1979-12-20,364.00000000001427,364.013,2015-01-01 01:00:40,bin3640,35,False -CTSPillarNetworkA,3641,3641,3641,1979-12-21,364.1000000000143,364.113,2015-01-01 01:00:41,bin3641,75,False -CTSPillarNetworkA,3642,3642,3642,1979-12-22,364.2000000000143,364.213,2015-01-01 01:00:42,bin3642,35,False -CTSPillarNetworkA,3643,3643,3643,1979-12-23,364.30000000001434,364.31302,2015-01-01 01:00:43,bin3643,75,False -CTSPillarNetworkA,3644,3644,3644,1979-12-24,364.40000000001436,364.41302,2015-01-01 01:00:44,bin3644,35,False -CTSPillarNetworkA,3645,3645,3645,1979-12-25,364.5000000000144,364.51303,2015-01-01 01:00:45,bin3645,75,False -CTSPillarNetworkA,3646,3646,3646,1979-12-26,364.6000000000144,364.61304,2015-01-01 01:00:46,bin3646,35,False -CTSPillarNetworkA,3647,3647,3647,1979-12-27,364.7000000000144,364.71304,2015-01-01 01:00:47,bin3647,75,False -CTSPillarNetworkA,3648,3648,3648,1979-12-28,364.80000000001445,364.81305,2015-01-01 01:00:48,bin3648,35,False -CTSPillarNetworkA,3649,3649,3649,1979-12-29,364.9000000000145,364.91306,2015-01-01 01:00:49,bin3649,75,False -CTSPillarNetworkA,3650,3650,3650,1979-12-30,365.0000000000145,365.01306,2015-01-01 01:00:50,bin3650,35,False -CTSPillarNetworkA,3651,3651,3651,1979-12-31,365.1000000000145,365.11307,2015-01-01 01:00:51,bin3651,75,False -CTSPillarNetworkA,3652,3652,3652,1980-01-01,365.20000000001454,365.21307,2015-01-01 01:00:52,bin3652,35,False -CTSPillarNetworkA,3653,3653,3653,1980-01-02,365.30000000001456,365.31308,2015-01-01 01:00:53,bin3653,75,False -CTSPillarNetworkA,3654,3654,3654,1980-01-03,365.4000000000146,365.4131,2015-01-01 01:00:54,bin3654,35,False -CTSPillarNetworkA,3655,3655,3655,1980-01-04,365.5000000000146,365.5131,2015-01-01 01:00:55,bin3655,75,False -CTSPillarNetworkA,3656,3656,3656,1980-01-05,365.60000000001463,365.6131,2015-01-01 01:00:56,bin3656,35,False -CTSPillarNetworkA,3657,3657,3657,1980-01-06,365.70000000001465,365.7131,2015-01-01 01:00:57,bin3657,75,False -CTSPillarNetworkA,3658,3658,3658,1980-01-07,365.8000000000147,365.8131,2015-01-01 01:00:58,bin3658,35,False -CTSPillarNetworkA,3659,3659,3659,1980-01-08,365.9000000000147,365.91312,2015-01-01 01:00:59,bin3659,75,False -CTSPillarNetworkA,3660,3660,3660,1980-01-09,366.0000000000147,366.01312,2015-01-01 01:01:00,bin3660,35,False -CTSPillarNetworkA,3661,3661,3661,1980-01-10,366.10000000001475,366.11313,2015-01-01 01:01:01,bin3661,75,False -CTSPillarNetworkA,3662,3662,3662,1980-01-11,366.20000000001477,366.21313,2015-01-01 01:01:02,bin3662,35,False -CTSPillarNetworkA,3663,3663,3663,1980-01-12,366.3000000000148,366.31314,2015-01-01 01:01:03,bin3663,75,False -CTSPillarNetworkA,3664,3664,3664,1980-01-13,366.4000000000148,366.41315,2015-01-01 01:01:04,bin3664,35,False -CTSPillarNetworkA,3665,3665,3665,1980-01-14,366.50000000001484,366.51315,2015-01-01 01:01:05,bin3665,75,False -CTSPillarNetworkA,3666,3666,3666,1980-01-15,366.60000000001486,366.61316,2015-01-01 01:01:06,bin3666,35,False -CTSPillarNetworkA,3667,3667,3667,1980-01-16,366.7000000000149,366.71317,2015-01-01 01:01:07,bin3667,75,False -CTSPillarNetworkA,3668,3668,3668,1980-01-17,366.8000000000149,366.81317,2015-01-01 01:01:08,bin3668,35,False -CTSPillarNetworkA,3669,3669,3669,1980-01-18,366.9000000000149,366.91318,2015-01-01 01:01:09,bin3669,75,False -CTSPillarNetworkA,3670,3670,3670,1980-01-19,367.00000000001495,367.01318,2015-01-01 01:01:10,bin3670,35,False -CTSPillarNetworkA,3671,3671,3671,1980-01-20,367.100000000015,367.1132,2015-01-01 01:01:11,bin3671,75,False -CTSPillarNetworkA,3672,3672,3672,1980-01-21,367.200000000015,367.2132,2015-01-01 01:01:12,bin3672,35,False -CTSPillarNetworkA,3673,3673,3673,1980-01-22,367.300000000015,367.3132,2015-01-01 01:01:13,bin3673,75,False -CTSPillarNetworkA,3674,3674,3674,1980-01-23,367.40000000001504,367.4132,2015-01-01 01:01:14,bin3674,35,False -CTSPillarNetworkA,3675,3675,3675,1980-01-24,367.50000000001506,367.5132,2015-01-01 01:01:15,bin3675,75,False -CTSPillarNetworkA,3676,3676,3676,1980-01-25,367.6000000000151,367.61322,2015-01-01 01:01:16,bin3676,35,False -CTSPillarNetworkA,3677,3677,3677,1980-01-26,367.7000000000151,367.71323,2015-01-01 01:01:17,bin3677,75,False -CTSPillarNetworkA,3678,3678,3678,1980-01-27,367.80000000001513,367.81323,2015-01-01 01:01:18,bin3678,35,False -CTSPillarNetworkA,3679,3679,3679,1980-01-28,367.90000000001515,367.91324,2015-01-01 01:01:19,bin3679,75,False -CTSPillarNetworkA,3680,3680,3680,1980-01-29,368.0000000000152,368.01324,2015-01-01 01:01:20,bin3680,35,False -CTSPillarNetworkA,3681,3681,3681,1980-01-30,368.1000000000152,368.11325,2015-01-01 01:01:21,bin3681,75,False -CTSPillarNetworkA,3682,3682,3682,1980-01-31,368.2000000000152,368.21326,2015-01-01 01:01:22,bin3682,35,False -CTSPillarNetworkA,3683,3683,3683,1980-02-01,368.30000000001525,368.31326,2015-01-01 01:01:23,bin3683,75,False -CTSPillarNetworkA,3684,3684,3684,1980-02-02,368.40000000001527,368.41327,2015-01-01 01:01:24,bin3684,35,False -CTSPillarNetworkA,3685,3685,3685,1980-02-03,368.5000000000153,368.51328,2015-01-01 01:01:25,bin3685,75,False -CTSPillarNetworkA,3686,3686,3686,1980-02-04,368.6000000000153,368.61328,2015-01-01 01:01:26,bin3686,35,False -CTSPillarNetworkA,3687,3687,3687,1980-02-05,368.70000000001534,368.7133,2015-01-01 01:01:27,bin3687,75,False -CTSPillarNetworkA,3688,3688,3688,1980-02-06,368.80000000001536,368.8133,2015-01-01 01:01:28,bin3688,35,False -CTSPillarNetworkA,3689,3689,3689,1980-02-07,368.9000000000154,368.9133,2015-01-01 01:01:29,bin3689,75,False -CTSPillarNetworkA,3690,3690,3690,1980-02-08,369.0000000000154,369.0133,2015-01-01 01:01:30,bin3690,35,False -CTSPillarNetworkA,3691,3691,3691,1980-02-09,369.1000000000154,369.1133,2015-01-01 01:01:31,bin3691,75,False -CTSPillarNetworkA,3692,3692,3692,1980-02-10,369.20000000001545,369.21332,2015-01-01 01:01:32,bin3692,35,False -CTSPillarNetworkA,3693,3693,3693,1980-02-11,369.3000000000155,369.31332,2015-01-01 01:01:33,bin3693,75,False -CTSPillarNetworkA,3694,3694,3694,1980-02-12,369.4000000000155,369.41333,2015-01-01 01:01:34,bin3694,35,False -CTSPillarNetworkA,3695,3695,3695,1980-02-13,369.5000000000155,369.51334,2015-01-01 01:01:35,bin3695,75,False -CTSPillarNetworkA,3696,3696,3696,1980-02-14,369.60000000001554,369.61334,2015-01-01 01:01:36,bin3696,35,False -CTSPillarNetworkA,3697,3697,3697,1980-02-15,369.70000000001556,369.71335,2015-01-01 01:01:37,bin3697,75,False -CTSPillarNetworkA,3698,3698,3698,1980-02-16,369.8000000000156,369.81335,2015-01-01 01:01:38,bin3698,35,False -CTSPillarNetworkA,3699,3699,3699,1980-02-17,369.9000000000156,369.91336,2015-01-01 01:01:39,bin3699,75,False -CTSPillarNetworkA,3700,3700,3700,1980-02-18,370.00000000001563,370.01337,2015-01-01 01:01:40,bin3700,35,False -CTSPillarNetworkA,3701,3701,3701,1980-02-19,370.10000000001565,370.11337,2015-01-01 01:01:41,bin3701,75,False -CTSPillarNetworkA,3702,3702,3702,1980-02-20,370.2000000000157,370.21338,2015-01-01 01:01:42,bin3702,35,False -CTSPillarNetworkA,3703,3703,3703,1980-02-21,370.3000000000157,370.3134,2015-01-01 01:01:43,bin3703,75,False -CTSPillarNetworkA,3704,3704,3704,1980-02-22,370.4000000000157,370.4134,2015-01-01 01:01:44,bin3704,35,False -CTSPillarNetworkA,3705,3705,3705,1980-02-23,370.50000000001575,370.5134,2015-01-01 01:01:45,bin3705,75,False -CTSPillarNetworkA,3706,3706,3706,1980-02-24,370.60000000001577,370.6134,2015-01-01 01:01:46,bin3706,35,False -CTSPillarNetworkA,3707,3707,3707,1980-02-25,370.7000000000158,370.7134,2015-01-01 01:01:47,bin3707,75,False -CTSPillarNetworkA,3708,3708,3708,1980-02-26,370.8000000000158,370.81342,2015-01-01 01:01:48,bin3708,35,False -CTSPillarNetworkA,3709,3709,3709,1980-02-27,370.90000000001584,370.91342,2015-01-01 01:01:49,bin3709,75,False -CTSPillarNetworkA,3710,3710,3710,1980-02-28,371.00000000001586,371.01343,2015-01-01 01:01:50,bin3710,35,False -CTSPillarNetworkA,3711,3711,3711,1980-02-29,371.1000000000159,371.11343,2015-01-01 01:01:51,bin3711,75,False -CTSPillarNetworkA,3712,3712,3712,1980-03-01,371.2000000000159,371.21344,2015-01-01 01:01:52,bin3712,35,False -CTSPillarNetworkA,3713,3713,3713,1980-03-02,371.3000000000159,371.31345,2015-01-01 01:01:53,bin3713,75,False -CTSPillarNetworkA,3714,3714,3714,1980-03-03,371.40000000001595,371.41345,2015-01-01 01:01:54,bin3714,35,False -CTSPillarNetworkA,3715,3715,3715,1980-03-04,371.500000000016,371.51346,2015-01-01 01:01:55,bin3715,75,False -CTSPillarNetworkA,3716,3716,3716,1980-03-05,371.600000000016,371.61346,2015-01-01 01:01:56,bin3716,35,False -CTSPillarNetworkA,3717,3717,3717,1980-03-06,371.700000000016,371.71347,2015-01-01 01:01:57,bin3717,75,False -CTSPillarNetworkA,3718,3718,3718,1980-03-07,371.80000000001604,371.81348,2015-01-01 01:01:58,bin3718,35,False -CTSPillarNetworkA,3719,3719,3719,1980-03-08,371.90000000001606,371.91348,2015-01-01 01:01:59,bin3719,75,False -CTSPillarNetworkA,3720,3720,3720,1980-03-09,372.0000000000161,372.0135,2015-01-01 01:02:00,bin3720,35,False -CTSPillarNetworkA,3721,3721,3721,1980-03-10,372.1000000000161,372.1135,2015-01-01 01:02:01,bin3721,75,False -CTSPillarNetworkA,3722,3722,3722,1980-03-11,372.20000000001613,372.2135,2015-01-01 01:02:02,bin3722,35,False -CTSPillarNetworkA,3723,3723,3723,1980-03-12,372.30000000001615,372.3135,2015-01-01 01:02:03,bin3723,75,False -CTSPillarNetworkA,3724,3724,3724,1980-03-13,372.4000000000162,372.4135,2015-01-01 01:02:04,bin3724,35,False -CTSPillarNetworkA,3725,3725,3725,1980-03-14,372.5000000000162,372.51352,2015-01-01 01:02:05,bin3725,75,False -CTSPillarNetworkA,3726,3726,3726,1980-03-15,372.6000000000162,372.61353,2015-01-01 01:02:06,bin3726,35,False -CTSPillarNetworkA,3727,3727,3727,1980-03-16,372.70000000001625,372.71353,2015-01-01 01:02:07,bin3727,75,False -CTSPillarNetworkA,3728,3728,3728,1980-03-17,372.80000000001627,372.81354,2015-01-01 01:02:08,bin3728,35,False -CTSPillarNetworkA,3729,3729,3729,1980-03-18,372.9000000000163,372.91354,2015-01-01 01:02:09,bin3729,75,False -CTSPillarNetworkA,3730,3730,3730,1980-03-19,373.0000000000163,373.01355,2015-01-01 01:02:10,bin3730,35,False -CTSPillarNetworkA,3731,3731,3731,1980-03-20,373.10000000001634,373.11356,2015-01-01 01:02:11,bin3731,75,False -CTSPillarNetworkA,3732,3732,3732,1980-03-21,373.20000000001636,373.21356,2015-01-01 01:02:12,bin3732,35,False -CTSPillarNetworkA,3733,3733,3733,1980-03-22,373.3000000000164,373.31357,2015-01-01 01:02:13,bin3733,75,False -CTSPillarNetworkA,3734,3734,3734,1980-03-23,373.4000000000164,373.41357,2015-01-01 01:02:14,bin3734,35,False -CTSPillarNetworkA,3735,3735,3735,1980-03-24,373.5000000000164,373.51358,2015-01-01 01:02:15,bin3735,75,False -CTSPillarNetworkA,3736,3736,3736,1980-03-25,373.60000000001645,373.6136,2015-01-01 01:02:16,bin3736,35,False -CTSPillarNetworkA,3737,3737,3737,1980-03-26,373.7000000000165,373.7136,2015-01-01 01:02:17,bin3737,75,False -CTSPillarNetworkA,3738,3738,3738,1980-03-27,373.8000000000165,373.8136,2015-01-01 01:02:18,bin3738,35,False -CTSPillarNetworkA,3739,3739,3739,1980-03-28,373.9000000000165,373.9136,2015-01-01 01:02:19,bin3739,75,False -CTSPillarNetworkA,3740,3740,3740,1980-03-29,374.00000000001654,374.0136,2015-01-01 01:02:20,bin3740,35,False -CTSPillarNetworkA,3741,3741,3741,1980-03-30,374.10000000001656,374.11362,2015-01-01 01:02:21,bin3741,75,False -CTSPillarNetworkA,3742,3742,3742,1980-03-31,374.2000000000166,374.21362,2015-01-01 01:02:22,bin3742,35,False -CTSPillarNetworkA,3743,3743,3743,1980-04-01,374.3000000000166,374.31363,2015-01-01 01:02:23,bin3743,75,False -CTSPillarNetworkA,3744,3744,3744,1980-04-02,374.40000000001663,374.41364,2015-01-01 01:02:24,bin3744,35,False -CTSPillarNetworkA,3745,3745,3745,1980-04-03,374.50000000001666,374.51364,2015-01-01 01:02:25,bin3745,75,False -CTSPillarNetworkA,3746,3746,3746,1980-04-04,374.6000000000167,374.61365,2015-01-01 01:02:26,bin3746,35,False -CTSPillarNetworkA,3747,3747,3747,1980-04-05,374.7000000000167,374.71365,2015-01-01 01:02:27,bin3747,75,False -CTSPillarNetworkA,3748,3748,3748,1980-04-06,374.8000000000167,374.81366,2015-01-01 01:02:28,bin3748,35,False -CTSPillarNetworkA,3749,3749,3749,1980-04-07,374.90000000001675,374.91367,2015-01-01 01:02:29,bin3749,75,False -CTSPillarNetworkA,3750,3750,3750,1980-04-08,375.00000000001677,375.01367,2015-01-01 01:02:30,bin3750,35,False -CTSPillarNetworkA,3751,3751,3751,1980-04-09,375.1000000000168,375.11368,2015-01-01 01:02:31,bin3751,75,False -CTSPillarNetworkA,3752,3752,3752,1980-04-10,375.2000000000168,375.21368,2015-01-01 01:02:32,bin3752,35,False -CTSPillarNetworkA,3753,3753,3753,1980-04-11,375.30000000001684,375.3137,2015-01-01 01:02:33,bin3753,75,False -CTSPillarNetworkA,3754,3754,3754,1980-04-12,375.40000000001686,375.4137,2015-01-01 01:02:34,bin3754,35,False -CTSPillarNetworkA,3755,3755,3755,1980-04-13,375.5000000000169,375.5137,2015-01-01 01:02:35,bin3755,75,False -CTSPillarNetworkA,3756,3756,3756,1980-04-14,375.6000000000169,375.6137,2015-01-01 01:02:36,bin3756,35,False -CTSPillarNetworkA,3757,3757,3757,1980-04-15,375.7000000000169,375.7137,2015-01-01 01:02:37,bin3757,75,False -CTSPillarNetworkA,3758,3758,3758,1980-04-16,375.80000000001695,375.81372,2015-01-01 01:02:38,bin3758,35,False -CTSPillarNetworkA,3759,3759,3759,1980-04-17,375.900000000017,375.91373,2015-01-01 01:02:39,bin3759,75,False -CTSPillarNetworkA,3760,3760,3760,1980-04-18,376.000000000017,376.01373,2015-01-01 01:02:40,bin3760,35,False -CTSPillarNetworkA,3761,3761,3761,1980-04-19,376.100000000017,376.11374,2015-01-01 01:02:41,bin3761,75,False -CTSPillarNetworkA,3762,3762,3762,1980-04-20,376.20000000001704,376.21375,2015-01-01 01:02:42,bin3762,35,False -CTSPillarNetworkA,3763,3763,3763,1980-04-21,376.30000000001706,376.31375,2015-01-01 01:02:43,bin3763,75,False -CTSPillarNetworkA,3764,3764,3764,1980-04-22,376.4000000000171,376.41376,2015-01-01 01:02:44,bin3764,35,False -CTSPillarNetworkA,3765,3765,3765,1980-04-23,376.5000000000171,376.51376,2015-01-01 01:02:45,bin3765,75,False -CTSPillarNetworkA,3766,3766,3766,1980-04-24,376.60000000001713,376.61377,2015-01-01 01:02:46,bin3766,35,False -CTSPillarNetworkA,3767,3767,3767,1980-04-25,376.70000000001716,376.71378,2015-01-01 01:02:47,bin3767,75,False -CTSPillarNetworkA,3768,3768,3768,1980-04-26,376.8000000000172,376.81378,2015-01-01 01:02:48,bin3768,35,False -CTSPillarNetworkA,3769,3769,3769,1980-04-27,376.9000000000172,376.9138,2015-01-01 01:02:49,bin3769,75,False -CTSPillarNetworkA,3770,3770,3770,1980-04-28,377.0000000000172,377.0138,2015-01-01 01:02:50,bin3770,35,False -CTSPillarNetworkA,3771,3771,3771,1980-04-29,377.10000000001725,377.1138,2015-01-01 01:02:51,bin3771,75,False -CTSPillarNetworkA,3772,3772,3772,1980-04-30,377.20000000001727,377.2138,2015-01-01 01:02:52,bin3772,35,False -CTSPillarNetworkA,3773,3773,3773,1980-05-01,377.3000000000173,377.3138,2015-01-01 01:02:53,bin3773,75,False -CTSPillarNetworkA,3774,3774,3774,1980-05-02,377.4000000000173,377.41382,2015-01-01 01:02:54,bin3774,35,False -CTSPillarNetworkA,3775,3775,3775,1980-05-03,377.50000000001734,377.51382,2015-01-01 01:02:55,bin3775,75,False -CTSPillarNetworkA,3776,3776,3776,1980-05-04,377.60000000001736,377.61383,2015-01-01 01:02:56,bin3776,35,False -CTSPillarNetworkA,3777,3777,3777,1980-05-05,377.7000000000174,377.71384,2015-01-01 01:02:57,bin3777,75,False -CTSPillarNetworkA,3778,3778,3778,1980-05-06,377.8000000000174,377.81384,2015-01-01 01:02:58,bin3778,35,False -CTSPillarNetworkA,3779,3779,3779,1980-05-07,377.9000000000174,377.91385,2015-01-01 01:02:59,bin3779,75,False -CTSPillarNetworkA,3780,3780,3780,1980-05-08,378.00000000001745,378.01385,2015-01-01 01:03:00,bin3780,35,False -CTSPillarNetworkA,3781,3781,3781,1980-05-09,378.1000000000175,378.11386,2015-01-01 01:03:01,bin3781,75,False -CTSPillarNetworkA,3782,3782,3782,1980-05-10,378.2000000000175,378.21387,2015-01-01 01:03:02,bin3782,35,False -CTSPillarNetworkA,3783,3783,3783,1980-05-11,378.3000000000175,378.31387,2015-01-01 01:03:03,bin3783,75,False -CTSPillarNetworkA,3784,3784,3784,1980-05-12,378.40000000001754,378.41388,2015-01-01 01:03:04,bin3784,35,False -CTSPillarNetworkA,3785,3785,3785,1980-05-13,378.50000000001756,378.5139,2015-01-01 01:03:05,bin3785,75,False -CTSPillarNetworkA,3786,3786,3786,1980-05-14,378.6000000000176,378.6139,2015-01-01 01:03:06,bin3786,35,False -CTSPillarNetworkA,3787,3787,3787,1980-05-15,378.7000000000176,378.7139,2015-01-01 01:03:07,bin3787,75,False -CTSPillarNetworkA,3788,3788,3788,1980-05-16,378.80000000001763,378.8139,2015-01-01 01:03:08,bin3788,35,False -CTSPillarNetworkA,3789,3789,3789,1980-05-17,378.90000000001766,378.9139,2015-01-01 01:03:09,bin3789,75,False -CTSPillarNetworkA,3790,3790,3790,1980-05-18,379.0000000000177,379.01392,2015-01-01 01:03:10,bin3790,35,False -CTSPillarNetworkA,3791,3791,3791,1980-05-19,379.1000000000177,379.11392,2015-01-01 01:03:11,bin3791,75,False -CTSPillarNetworkA,3792,3792,3792,1980-05-20,379.2000000000177,379.21393,2015-01-01 01:03:12,bin3792,35,False -CTSPillarNetworkA,3793,3793,3793,1980-05-21,379.30000000001775,379.31393,2015-01-01 01:03:13,bin3793,75,False -CTSPillarNetworkA,3794,3794,3794,1980-05-22,379.40000000001777,379.41394,2015-01-01 01:03:14,bin3794,35,False -CTSPillarNetworkA,3795,3795,3795,1980-05-23,379.5000000000178,379.51395,2015-01-01 01:03:15,bin3795,75,False -CTSPillarNetworkA,3796,3796,3796,1980-05-24,379.6000000000178,379.61395,2015-01-01 01:03:16,bin3796,35,False -CTSPillarNetworkA,3797,3797,3797,1980-05-25,379.70000000001784,379.71396,2015-01-01 01:03:17,bin3797,75,False -CTSPillarNetworkA,3798,3798,3798,1980-05-26,379.80000000001786,379.81396,2015-01-01 01:03:18,bin3798,35,False -CTSPillarNetworkA,3799,3799,3799,1980-05-27,379.9000000000179,379.91397,2015-01-01 01:03:19,bin3799,75,False -CTSPillarNetworkA,3800,3800,3800,1980-05-28,380.0000000000179,380.01398,2015-01-01 01:03:20,bin3800,35,False -CTSPillarNetworkA,3801,3801,3801,1980-05-29,380.1000000000179,380.11398,2015-01-01 01:03:21,bin3801,75,False -CTSPillarNetworkA,3802,3802,3802,1980-05-30,380.20000000001795,380.214,2015-01-01 01:03:22,bin3802,35,False -CTSPillarNetworkA,3803,3803,3803,1980-05-31,380.300000000018,380.314,2015-01-01 01:03:23,bin3803,75,False -CTSPillarNetworkA,3804,3804,3804,1980-06-01,380.400000000018,380.414,2015-01-01 01:03:24,bin3804,35,False -CTSPillarNetworkA,3805,3805,3805,1980-06-02,380.500000000018,380.514,2015-01-01 01:03:25,bin3805,75,False -CTSPillarNetworkA,3806,3806,3806,1980-06-03,380.60000000001804,380.614,2015-01-01 01:03:26,bin3806,35,False -CTSPillarNetworkA,3807,3807,3807,1980-06-04,380.70000000001806,380.71402,2015-01-01 01:03:27,bin3807,75,False -CTSPillarNetworkA,3808,3808,3808,1980-06-05,380.8000000000181,380.81403,2015-01-01 01:03:28,bin3808,35,False -CTSPillarNetworkA,3809,3809,3809,1980-06-06,380.9000000000181,380.91403,2015-01-01 01:03:29,bin3809,75,False -CTSPillarNetworkA,3810,3810,3810,1980-06-07,381.00000000001813,381.01404,2015-01-01 01:03:30,bin3810,35,False -CTSPillarNetworkA,3811,3811,3811,1980-06-08,381.10000000001816,381.11404,2015-01-01 01:03:31,bin3811,75,False -CTSPillarNetworkA,3812,3812,3812,1980-06-09,381.2000000000182,381.21405,2015-01-01 01:03:32,bin3812,35,False -CTSPillarNetworkA,3813,3813,3813,1980-06-10,381.3000000000182,381.31406,2015-01-01 01:03:33,bin3813,75,False -CTSPillarNetworkA,3814,3814,3814,1980-06-11,381.4000000000182,381.41406,2015-01-01 01:03:34,bin3814,35,False -CTSPillarNetworkA,3815,3815,3815,1980-06-12,381.50000000001825,381.51407,2015-01-01 01:03:35,bin3815,75,False -CTSPillarNetworkA,3816,3816,3816,1980-06-13,381.60000000001827,381.61407,2015-01-01 01:03:36,bin3816,35,False -CTSPillarNetworkA,3817,3817,3817,1980-06-14,381.7000000000183,381.71408,2015-01-01 01:03:37,bin3817,75,False -CTSPillarNetworkA,3818,3818,3818,1980-06-15,381.8000000000183,381.8141,2015-01-01 01:03:38,bin3818,35,False -CTSPillarNetworkA,3819,3819,3819,1980-06-16,381.90000000001834,381.9141,2015-01-01 01:03:39,bin3819,75,False -CTSPillarNetworkA,3820,3820,3820,1980-06-17,382.00000000001836,382.0141,2015-01-01 01:03:40,bin3820,35,False -CTSPillarNetworkA,3821,3821,3821,1980-06-18,382.1000000000184,382.1141,2015-01-01 01:03:41,bin3821,75,False -CTSPillarNetworkA,3822,3822,3822,1980-06-19,382.2000000000184,382.2141,2015-01-01 01:03:42,bin3822,35,False -CTSPillarNetworkA,3823,3823,3823,1980-06-20,382.30000000001843,382.31412,2015-01-01 01:03:43,bin3823,75,False -CTSPillarNetworkA,3824,3824,3824,1980-06-21,382.40000000001845,382.41412,2015-01-01 01:03:44,bin3824,35,False -CTSPillarNetworkA,3825,3825,3825,1980-06-22,382.5000000000185,382.51413,2015-01-01 01:03:45,bin3825,75,False -CTSPillarNetworkA,3826,3826,3826,1980-06-23,382.6000000000185,382.61414,2015-01-01 01:03:46,bin3826,35,False -CTSPillarNetworkA,3827,3827,3827,1980-06-24,382.7000000000185,382.71414,2015-01-01 01:03:47,bin3827,75,False -CTSPillarNetworkA,3828,3828,3828,1980-06-25,382.80000000001854,382.81415,2015-01-01 01:03:48,bin3828,35,False -CTSPillarNetworkA,3829,3829,3829,1980-06-26,382.90000000001857,382.91415,2015-01-01 01:03:49,bin3829,75,False -CTSPillarNetworkA,3830,3830,3830,1980-06-27,383.0000000000186,383.01416,2015-01-01 01:03:50,bin3830,35,False -CTSPillarNetworkA,3831,3831,3831,1980-06-28,383.1000000000186,383.11417,2015-01-01 01:03:51,bin3831,75,False -CTSPillarNetworkA,3832,3832,3832,1980-06-29,383.20000000001863,383.21417,2015-01-01 01:03:52,bin3832,35,False -CTSPillarNetworkA,3833,3833,3833,1980-06-30,383.30000000001866,383.31418,2015-01-01 01:03:53,bin3833,75,False -CTSPillarNetworkA,3834,3834,3834,1980-07-01,383.4000000000187,383.41418,2015-01-01 01:03:54,bin3834,35,False -CTSPillarNetworkA,3835,3835,3835,1980-07-02,383.5000000000187,383.5142,2015-01-01 01:03:55,bin3835,75,False -CTSPillarNetworkA,3836,3836,3836,1980-07-03,383.6000000000187,383.6142,2015-01-01 01:03:56,bin3836,35,False -CTSPillarNetworkA,3837,3837,3837,1980-07-04,383.70000000001875,383.7142,2015-01-01 01:03:57,bin3837,75,False -CTSPillarNetworkA,3838,3838,3838,1980-07-05,383.80000000001877,383.8142,2015-01-01 01:03:58,bin3838,35,False -CTSPillarNetworkA,3839,3839,3839,1980-07-06,383.9000000000188,383.9142,2015-01-01 01:03:59,bin3839,75,False -CTSPillarNetworkA,3840,3840,3840,1980-07-07,384.0000000000188,384.01422,2015-01-01 01:04:00,bin3840,35,False -CTSPillarNetworkA,3841,3841,3841,1980-07-08,384.10000000001884,384.11423,2015-01-01 01:04:01,bin3841,75,False -CTSPillarNetworkA,3842,3842,3842,1980-07-09,384.20000000001886,384.21423,2015-01-01 01:04:02,bin3842,35,False -CTSPillarNetworkA,3843,3843,3843,1980-07-10,384.3000000000189,384.31424,2015-01-01 01:04:03,bin3843,75,False -CTSPillarNetworkA,3844,3844,3844,1980-07-11,384.4000000000189,384.41425,2015-01-01 01:04:04,bin3844,35,False -CTSPillarNetworkA,3845,3845,3845,1980-07-12,384.50000000001893,384.51425,2015-01-01 01:04:05,bin3845,75,False -CTSPillarNetworkA,3846,3846,3846,1980-07-13,384.60000000001895,384.61426,2015-01-01 01:04:06,bin3846,35,False -CTSPillarNetworkA,3847,3847,3847,1980-07-14,384.700000000019,384.71426,2015-01-01 01:04:07,bin3847,75,False -CTSPillarNetworkA,3848,3848,3848,1980-07-15,384.800000000019,384.81427,2015-01-01 01:04:08,bin3848,35,False -CTSPillarNetworkA,3849,3849,3849,1980-07-16,384.900000000019,384.91428,2015-01-01 01:04:09,bin3849,75,False -CTSPillarNetworkA,3850,3850,3850,1980-07-17,385.00000000001904,385.01428,2015-01-01 01:04:10,bin3850,35,False -CTSPillarNetworkA,3851,3851,3851,1980-07-18,385.10000000001907,385.1143,2015-01-01 01:04:11,bin3851,75,False -CTSPillarNetworkA,3852,3852,3852,1980-07-19,385.2000000000191,385.2143,2015-01-01 01:04:12,bin3852,35,False -CTSPillarNetworkA,3853,3853,3853,1980-07-20,385.3000000000191,385.3143,2015-01-01 01:04:13,bin3853,75,False -CTSPillarNetworkA,3854,3854,3854,1980-07-21,385.40000000001913,385.4143,2015-01-01 01:04:14,bin3854,35,False -CTSPillarNetworkA,3855,3855,3855,1980-07-22,385.50000000001916,385.5143,2015-01-01 01:04:15,bin3855,75,False -CTSPillarNetworkA,3856,3856,3856,1980-07-23,385.6000000000192,385.61432,2015-01-01 01:04:16,bin3856,35,False -CTSPillarNetworkA,3857,3857,3857,1980-07-24,385.7000000000192,385.71432,2015-01-01 01:04:17,bin3857,75,False -CTSPillarNetworkA,3858,3858,3858,1980-07-25,385.8000000000192,385.81433,2015-01-01 01:04:18,bin3858,35,False -CTSPillarNetworkA,3859,3859,3859,1980-07-26,385.90000000001925,385.91434,2015-01-01 01:04:19,bin3859,75,False -CTSPillarNetworkA,3860,3860,3860,1980-07-27,386.00000000001927,386.01434,2015-01-01 01:04:20,bin3860,35,False -CTSPillarNetworkA,3861,3861,3861,1980-07-28,386.1000000000193,386.11435,2015-01-01 01:04:21,bin3861,75,False -CTSPillarNetworkA,3862,3862,3862,1980-07-29,386.2000000000193,386.21436,2015-01-01 01:04:22,bin3862,35,False -CTSPillarNetworkA,3863,3863,3863,1980-07-30,386.30000000001934,386.31436,2015-01-01 01:04:23,bin3863,75,False -CTSPillarNetworkA,3864,3864,3864,1980-07-31,386.40000000001936,386.41437,2015-01-01 01:04:24,bin3864,35,False -CTSPillarNetworkA,3865,3865,3865,1980-08-01,386.5000000000194,386.51437,2015-01-01 01:04:25,bin3865,75,False -CTSPillarNetworkA,3866,3866,3866,1980-08-02,386.6000000000194,386.61438,2015-01-01 01:04:26,bin3866,35,False -CTSPillarNetworkA,3867,3867,3867,1980-08-03,386.70000000001943,386.7144,2015-01-01 01:04:27,bin3867,75,False -CTSPillarNetworkA,3868,3868,3868,1980-08-04,386.80000000001945,386.8144,2015-01-01 01:04:28,bin3868,35,False -CTSPillarNetworkA,3869,3869,3869,1980-08-05,386.9000000000195,386.9144,2015-01-01 01:04:29,bin3869,75,False -CTSPillarNetworkA,3870,3870,3870,1980-08-06,387.0000000000195,387.0144,2015-01-01 01:04:30,bin3870,35,False -CTSPillarNetworkA,3871,3871,3871,1980-08-07,387.1000000000195,387.1144,2015-01-01 01:04:31,bin3871,75,False -CTSPillarNetworkA,3872,3872,3872,1980-08-08,387.20000000001954,387.21442,2015-01-01 01:04:32,bin3872,35,False -CTSPillarNetworkA,3873,3873,3873,1980-08-09,387.30000000001957,387.31442,2015-01-01 01:04:33,bin3873,75,False -CTSPillarNetworkA,3874,3874,3874,1980-08-10,387.4000000000196,387.41443,2015-01-01 01:04:34,bin3874,35,False -CTSPillarNetworkA,3875,3875,3875,1980-08-11,387.5000000000196,387.51443,2015-01-01 01:04:35,bin3875,75,False -CTSPillarNetworkA,3876,3876,3876,1980-08-12,387.60000000001963,387.61444,2015-01-01 01:04:36,bin3876,35,False -CTSPillarNetworkA,3877,3877,3877,1980-08-13,387.70000000001966,387.71445,2015-01-01 01:04:37,bin3877,75,False -CTSPillarNetworkA,3878,3878,3878,1980-08-14,387.8000000000197,387.81445,2015-01-01 01:04:38,bin3878,35,False -CTSPillarNetworkA,3879,3879,3879,1980-08-15,387.9000000000197,387.91446,2015-01-01 01:04:39,bin3879,75,False -CTSPillarNetworkA,3880,3880,3880,1980-08-16,388.0000000000197,388.01447,2015-01-01 01:04:40,bin3880,35,False -CTSPillarNetworkA,3881,3881,3881,1980-08-17,388.10000000001975,388.11447,2015-01-01 01:04:41,bin3881,75,False -CTSPillarNetworkA,3882,3882,3882,1980-08-18,388.20000000001977,388.21448,2015-01-01 01:04:42,bin3882,35,False -CTSPillarNetworkA,3883,3883,3883,1980-08-19,388.3000000000198,388.31448,2015-01-01 01:04:43,bin3883,75,False -CTSPillarNetworkA,3884,3884,3884,1980-08-20,388.4000000000198,388.4145,2015-01-01 01:04:44,bin3884,35,False -CTSPillarNetworkA,3885,3885,3885,1980-08-21,388.50000000001984,388.5145,2015-01-01 01:04:45,bin3885,75,False -CTSPillarNetworkA,3886,3886,3886,1980-08-22,388.60000000001986,388.6145,2015-01-01 01:04:46,bin3886,35,False -CTSPillarNetworkA,3887,3887,3887,1980-08-23,388.7000000000199,388.7145,2015-01-01 01:04:47,bin3887,75,False -CTSPillarNetworkA,3888,3888,3888,1980-08-24,388.8000000000199,388.8145,2015-01-01 01:04:48,bin3888,35,False -CTSPillarNetworkA,3889,3889,3889,1980-08-25,388.90000000001993,388.91452,2015-01-01 01:04:49,bin3889,75,False -CTSPillarNetworkA,3890,3890,3890,1980-08-26,389.00000000001995,389.01453,2015-01-01 01:04:50,bin3890,35,False -CTSPillarNetworkA,3891,3891,3891,1980-08-27,389.10000000002,389.11453,2015-01-01 01:04:51,bin3891,75,False -CTSPillarNetworkA,3892,3892,3892,1980-08-28,389.20000000002,389.21454,2015-01-01 01:04:52,bin3892,35,False -CTSPillarNetworkA,3893,3893,3893,1980-08-29,389.30000000002,389.31454,2015-01-01 01:04:53,bin3893,75,False -CTSPillarNetworkA,3894,3894,3894,1980-08-30,389.40000000002004,389.41455,2015-01-01 01:04:54,bin3894,35,False -CTSPillarNetworkA,3895,3895,3895,1980-08-31,389.50000000002007,389.51456,2015-01-01 01:04:55,bin3895,75,False -CTSPillarNetworkA,3896,3896,3896,1980-09-01,389.6000000000201,389.61456,2015-01-01 01:04:56,bin3896,35,False -CTSPillarNetworkA,3897,3897,3897,1980-09-02,389.7000000000201,389.71457,2015-01-01 01:04:57,bin3897,75,False -CTSPillarNetworkA,3898,3898,3898,1980-09-03,389.80000000002013,389.81458,2015-01-01 01:04:58,bin3898,35,False -CTSPillarNetworkA,3899,3899,3899,1980-09-04,389.90000000002016,389.91458,2015-01-01 01:04:59,bin3899,75,False -CTSPillarNetworkA,3900,3900,3900,1980-09-05,390.0000000000202,390.0146,2015-01-01 01:05:00,bin3900,35,False -CTSPillarNetworkA,3901,3901,3901,1980-09-06,390.1000000000202,390.1146,2015-01-01 01:05:01,bin3901,75,False -CTSPillarNetworkA,3902,3902,3902,1980-09-07,390.2000000000202,390.2146,2015-01-01 01:05:02,bin3902,35,False -CTSPillarNetworkA,3903,3903,3903,1980-09-08,390.30000000002025,390.3146,2015-01-01 01:05:03,bin3903,75,False -CTSPillarNetworkA,3904,3904,3904,1980-09-09,390.40000000002027,390.4146,2015-01-01 01:05:04,bin3904,35,False -CTSPillarNetworkA,3905,3905,3905,1980-09-10,390.5000000000203,390.51462,2015-01-01 01:05:05,bin3905,75,False -CTSPillarNetworkA,3906,3906,3906,1980-09-11,390.6000000000203,390.61462,2015-01-01 01:05:06,bin3906,35,False -CTSPillarNetworkA,3907,3907,3907,1980-09-12,390.70000000002034,390.71463,2015-01-01 01:05:07,bin3907,75,False -CTSPillarNetworkA,3908,3908,3908,1980-09-13,390.80000000002036,390.81464,2015-01-01 01:05:08,bin3908,35,False -CTSPillarNetworkA,3909,3909,3909,1980-09-14,390.9000000000204,390.91464,2015-01-01 01:05:09,bin3909,75,False -CTSPillarNetworkA,3910,3910,3910,1980-09-15,391.0000000000204,391.01465,2015-01-01 01:05:10,bin3910,35,False -CTSPillarNetworkA,3911,3911,3911,1980-09-16,391.10000000002043,391.11465,2015-01-01 01:05:11,bin3911,75,False -CTSPillarNetworkA,3912,3912,3912,1980-09-17,391.20000000002045,391.21466,2015-01-01 01:05:12,bin3912,35,False -CTSPillarNetworkA,3913,3913,3913,1980-09-18,391.3000000000205,391.31467,2015-01-01 01:05:13,bin3913,75,False -CTSPillarNetworkA,3914,3914,3914,1980-09-19,391.4000000000205,391.41467,2015-01-01 01:05:14,bin3914,35,False -CTSPillarNetworkA,3915,3915,3915,1980-09-20,391.5000000000205,391.51468,2015-01-01 01:05:15,bin3915,75,False -CTSPillarNetworkA,3916,3916,3916,1980-09-21,391.60000000002054,391.6147,2015-01-01 01:05:16,bin3916,35,False -CTSPillarNetworkA,3917,3917,3917,1980-09-22,391.70000000002057,391.7147,2015-01-01 01:05:17,bin3917,75,False -CTSPillarNetworkA,3918,3918,3918,1980-09-23,391.8000000000206,391.8147,2015-01-01 01:05:18,bin3918,35,False -CTSPillarNetworkA,3919,3919,3919,1980-09-24,391.9000000000206,391.9147,2015-01-01 01:05:19,bin3919,75,False -CTSPillarNetworkA,3920,3920,3920,1980-09-25,392.00000000002063,392.0147,2015-01-01 01:05:20,bin3920,35,False -CTSPillarNetworkA,3921,3921,3921,1980-09-26,392.10000000002066,392.11472,2015-01-01 01:05:21,bin3921,75,False -CTSPillarNetworkA,3922,3922,3922,1980-09-27,392.2000000000207,392.21472,2015-01-01 01:05:22,bin3922,35,False -CTSPillarNetworkA,3923,3923,3923,1980-09-28,392.3000000000207,392.31473,2015-01-01 01:05:23,bin3923,75,False -CTSPillarNetworkA,3924,3924,3924,1980-09-29,392.4000000000207,392.41473,2015-01-01 01:05:24,bin3924,35,False -CTSPillarNetworkA,3925,3925,3925,1980-09-30,392.50000000002075,392.51474,2015-01-01 01:05:25,bin3925,75,False -CTSPillarNetworkA,3926,3926,3926,1980-10-01,392.60000000002077,392.61475,2015-01-01 01:05:26,bin3926,35,False -CTSPillarNetworkA,3927,3927,3927,1980-10-02,392.7000000000208,392.71475,2015-01-01 01:05:27,bin3927,75,False -CTSPillarNetworkA,3928,3928,3928,1980-10-03,392.8000000000208,392.81476,2015-01-01 01:05:28,bin3928,35,False -CTSPillarNetworkA,3929,3929,3929,1980-10-04,392.90000000002084,392.91476,2015-01-01 01:05:29,bin3929,75,False -CTSPillarNetworkA,3930,3930,3930,1980-10-05,393.00000000002086,393.01477,2015-01-01 01:05:30,bin3930,35,False -CTSPillarNetworkA,3931,3931,3931,1980-10-06,393.1000000000209,393.11478,2015-01-01 01:05:31,bin3931,75,False -CTSPillarNetworkA,3932,3932,3932,1980-10-07,393.2000000000209,393.21478,2015-01-01 01:05:32,bin3932,35,False -CTSPillarNetworkA,3933,3933,3933,1980-10-08,393.30000000002093,393.3148,2015-01-01 01:05:33,bin3933,75,False -CTSPillarNetworkA,3934,3934,3934,1980-10-09,393.40000000002095,393.4148,2015-01-01 01:05:34,bin3934,35,False -CTSPillarNetworkA,3935,3935,3935,1980-10-10,393.500000000021,393.5148,2015-01-01 01:05:35,bin3935,75,False -CTSPillarNetworkA,3936,3936,3936,1980-10-11,393.600000000021,393.6148,2015-01-01 01:05:36,bin3936,35,False -CTSPillarNetworkA,3937,3937,3937,1980-10-12,393.700000000021,393.7148,2015-01-01 01:05:37,bin3937,75,False -CTSPillarNetworkA,3938,3938,3938,1980-10-13,393.80000000002104,393.81482,2015-01-01 01:05:38,bin3938,35,False -CTSPillarNetworkA,3939,3939,3939,1980-10-14,393.90000000002107,393.91483,2015-01-01 01:05:39,bin3939,75,False -CTSPillarNetworkA,3940,3940,3940,1980-10-15,394.0000000000211,394.01483,2015-01-01 01:05:40,bin3940,35,False -CTSPillarNetworkA,3941,3941,3941,1980-10-16,394.1000000000211,394.11484,2015-01-01 01:05:41,bin3941,75,False -CTSPillarNetworkA,3942,3942,3942,1980-10-17,394.20000000002113,394.21484,2015-01-01 01:05:42,bin3942,35,False -CTSPillarNetworkA,3943,3943,3943,1980-10-18,394.30000000002116,394.31485,2015-01-01 01:05:43,bin3943,75,False -CTSPillarNetworkA,3944,3944,3944,1980-10-19,394.4000000000212,394.41486,2015-01-01 01:05:44,bin3944,35,False -CTSPillarNetworkA,3945,3945,3945,1980-10-20,394.5000000000212,394.51486,2015-01-01 01:05:45,bin3945,75,False -CTSPillarNetworkA,3946,3946,3946,1980-10-21,394.6000000000212,394.61487,2015-01-01 01:05:46,bin3946,35,False -CTSPillarNetworkA,3947,3947,3947,1980-10-22,394.70000000002125,394.71487,2015-01-01 01:05:47,bin3947,75,False -CTSPillarNetworkA,3948,3948,3948,1980-10-23,394.80000000002127,394.81488,2015-01-01 01:05:48,bin3948,35,False -CTSPillarNetworkA,3949,3949,3949,1980-10-24,394.9000000000213,394.9149,2015-01-01 01:05:49,bin3949,75,False -CTSPillarNetworkA,3950,3950,3950,1980-10-25,395.0000000000213,395.0149,2015-01-01 01:05:50,bin3950,35,False -CTSPillarNetworkA,3951,3951,3951,1980-10-26,395.10000000002134,395.1149,2015-01-01 01:05:51,bin3951,75,False -CTSPillarNetworkA,3952,3952,3952,1980-10-27,395.20000000002136,395.2149,2015-01-01 01:05:52,bin3952,35,False -CTSPillarNetworkA,3953,3953,3953,1980-10-28,395.3000000000214,395.3149,2015-01-01 01:05:53,bin3953,75,False -CTSPillarNetworkA,3954,3954,3954,1980-10-29,395.4000000000214,395.41492,2015-01-01 01:05:54,bin3954,35,False -CTSPillarNetworkA,3955,3955,3955,1980-10-30,395.50000000002143,395.51492,2015-01-01 01:05:55,bin3955,75,False -CTSPillarNetworkA,3956,3956,3956,1980-10-31,395.60000000002145,395.61493,2015-01-01 01:05:56,bin3956,35,False -CTSPillarNetworkA,3957,3957,3957,1980-11-01,395.7000000000215,395.71494,2015-01-01 01:05:57,bin3957,75,False -CTSPillarNetworkA,3958,3958,3958,1980-11-02,395.8000000000215,395.81494,2015-01-01 01:05:58,bin3958,35,False -CTSPillarNetworkA,3959,3959,3959,1980-11-03,395.9000000000215,395.91495,2015-01-01 01:05:59,bin3959,75,False -CTSPillarNetworkA,3960,3960,3960,1980-11-04,396.00000000002154,396.01495,2015-01-01 01:06:00,bin3960,35,False -CTSPillarNetworkA,3961,3961,3961,1980-11-05,396.10000000002157,396.11496,2015-01-01 01:06:01,bin3961,75,False -CTSPillarNetworkA,3962,3962,3962,1980-11-06,396.2000000000216,396.21497,2015-01-01 01:06:02,bin3962,35,False -CTSPillarNetworkA,3963,3963,3963,1980-11-07,396.3000000000216,396.31497,2015-01-01 01:06:03,bin3963,75,False -CTSPillarNetworkA,3964,3964,3964,1980-11-08,396.40000000002163,396.41498,2015-01-01 01:06:04,bin3964,35,False -CTSPillarNetworkA,3965,3965,3965,1980-11-09,396.50000000002166,396.51498,2015-01-01 01:06:05,bin3965,75,False -CTSPillarNetworkA,3966,3966,3966,1980-11-10,396.6000000000217,396.615,2015-01-01 01:06:06,bin3966,35,False -CTSPillarNetworkA,3967,3967,3967,1980-11-11,396.7000000000217,396.715,2015-01-01 01:06:07,bin3967,75,False -CTSPillarNetworkA,3968,3968,3968,1980-11-12,396.8000000000217,396.815,2015-01-01 01:06:08,bin3968,35,False -CTSPillarNetworkA,3969,3969,3969,1980-11-13,396.90000000002175,396.915,2015-01-01 01:06:09,bin3969,75,False -CTSPillarNetworkA,3970,3970,3970,1980-11-14,397.00000000002177,397.015,2015-01-01 01:06:10,bin3970,35,False -CTSPillarNetworkA,3971,3971,3971,1980-11-15,397.1000000000218,397.11502,2015-01-01 01:06:11,bin3971,75,False -CTSPillarNetworkA,3972,3972,3972,1980-11-16,397.2000000000218,397.21503,2015-01-01 01:06:12,bin3972,35,False -CTSPillarNetworkA,3973,3973,3973,1980-11-17,397.30000000002184,397.31503,2015-01-01 01:06:13,bin3973,75,False -CTSPillarNetworkA,3974,3974,3974,1980-11-18,397.40000000002186,397.41504,2015-01-01 01:06:14,bin3974,35,False -CTSPillarNetworkA,3975,3975,3975,1980-11-19,397.5000000000219,397.51505,2015-01-01 01:06:15,bin3975,75,False -CTSPillarNetworkA,3976,3976,3976,1980-11-20,397.6000000000219,397.61505,2015-01-01 01:06:16,bin3976,35,False -CTSPillarNetworkA,3977,3977,3977,1980-11-21,397.70000000002193,397.71506,2015-01-01 01:06:17,bin3977,75,False -CTSPillarNetworkA,3978,3978,3978,1980-11-22,397.80000000002195,397.81506,2015-01-01 01:06:18,bin3978,35,False -CTSPillarNetworkA,3979,3979,3979,1980-11-23,397.900000000022,397.91507,2015-01-01 01:06:19,bin3979,75,False -CTSPillarNetworkA,3980,3980,3980,1980-11-24,398.000000000022,398.01508,2015-01-01 01:06:20,bin3980,35,False -CTSPillarNetworkA,3981,3981,3981,1980-11-25,398.100000000022,398.11508,2015-01-01 01:06:21,bin3981,75,False -CTSPillarNetworkA,3982,3982,3982,1980-11-26,398.20000000002204,398.2151,2015-01-01 01:06:22,bin3982,35,False -CTSPillarNetworkA,3983,3983,3983,1980-11-27,398.30000000002207,398.3151,2015-01-01 01:06:23,bin3983,75,False -CTSPillarNetworkA,3984,3984,3984,1980-11-28,398.4000000000221,398.4151,2015-01-01 01:06:24,bin3984,35,False -CTSPillarNetworkA,3985,3985,3985,1980-11-29,398.5000000000221,398.5151,2015-01-01 01:06:25,bin3985,75,False -CTSPillarNetworkA,3986,3986,3986,1980-11-30,398.60000000002213,398.6151,2015-01-01 01:06:26,bin3986,35,False -CTSPillarNetworkA,3987,3987,3987,1980-12-01,398.70000000002216,398.71512,2015-01-01 01:06:27,bin3987,75,False -CTSPillarNetworkA,3988,3988,3988,1980-12-02,398.8000000000222,398.81512,2015-01-01 01:06:28,bin3988,35,False -CTSPillarNetworkA,3989,3989,3989,1980-12-03,398.9000000000222,398.91513,2015-01-01 01:06:29,bin3989,75,False -CTSPillarNetworkA,3990,3990,3990,1980-12-04,399.0000000000222,399.01514,2015-01-01 01:06:30,bin3990,35,False -CTSPillarNetworkA,3991,3991,3991,1980-12-05,399.10000000002225,399.11514,2015-01-01 01:06:31,bin3991,75,False -CTSPillarNetworkA,3992,3992,3992,1980-12-06,399.20000000002227,399.21515,2015-01-01 01:06:32,bin3992,35,False -CTSPillarNetworkA,3993,3993,3993,1980-12-07,399.3000000000223,399.31516,2015-01-01 01:06:33,bin3993,75,False -CTSPillarNetworkA,3994,3994,3994,1980-12-08,399.4000000000223,399.41516,2015-01-01 01:06:34,bin3994,35,False -CTSPillarNetworkA,3995,3995,3995,1980-12-09,399.50000000002234,399.51517,2015-01-01 01:06:35,bin3995,75,False -CTSPillarNetworkA,3996,3996,3996,1980-12-10,399.60000000002236,399.61517,2015-01-01 01:06:36,bin3996,35,False -CTSPillarNetworkA,3997,3997,3997,1980-12-11,399.7000000000224,399.71518,2015-01-01 01:06:37,bin3997,75,False -CTSPillarNetworkA,3998,3998,3998,1980-12-12,399.8000000000224,399.8152,2015-01-01 01:06:38,bin3998,35,False -CTSPillarNetworkA,3999,3999,3999,1980-12-13,399.90000000002243,399.9152,2015-01-01 01:06:39,bin3999,75,False -CTSPillarNetworkA,4000,4000,4000,1980-12-14,400.00000000002245,400.0152,2015-01-01 01:06:40,bin4000,35,False -CTSPillarNetworkA,4001,4001,4001,1980-12-15,400.1000000000225,400.1152,2015-01-01 01:06:41,bin4001,75,False -CTSPillarNetworkA,4002,4002,4002,1980-12-16,400.2000000000225,400.2152,2015-01-01 01:06:42,bin4002,35,False -CTSPillarNetworkA,4003,4003,4003,1980-12-17,400.3000000000225,400.31522,2015-01-01 01:06:43,bin4003,75,False -CTSPillarNetworkA,4004,4004,4004,1980-12-18,400.40000000002254,400.41522,2015-01-01 01:06:44,bin4004,35,False -CTSPillarNetworkA,4005,4005,4005,1980-12-19,400.50000000002257,400.51523,2015-01-01 01:06:45,bin4005,75,False -CTSPillarNetworkA,4006,4006,4006,1980-12-20,400.6000000000226,400.61523,2015-01-01 01:06:46,bin4006,35,False -CTSPillarNetworkA,4007,4007,4007,1980-12-21,400.7000000000226,400.71524,2015-01-01 01:06:47,bin4007,75,False -CTSPillarNetworkA,4008,4008,4008,1980-12-22,400.80000000002264,400.81525,2015-01-01 01:06:48,bin4008,35,False -CTSPillarNetworkA,4009,4009,4009,1980-12-23,400.90000000002266,400.91525,2015-01-01 01:06:49,bin4009,75,False -CTSPillarNetworkA,4010,4010,4010,1980-12-24,401.0000000000227,401.01526,2015-01-01 01:06:50,bin4010,35,False -CTSPillarNetworkA,4011,4011,4011,1980-12-25,401.1000000000227,401.11526,2015-01-01 01:06:51,bin4011,75,False -CTSPillarNetworkA,4012,4012,4012,1980-12-26,401.2000000000227,401.21527,2015-01-01 01:06:52,bin4012,35,False -CTSPillarNetworkA,4013,4013,4013,1980-12-27,401.30000000002275,401.31528,2015-01-01 01:06:53,bin4013,75,False -CTSPillarNetworkA,4014,4014,4014,1980-12-28,401.40000000002277,401.41528,2015-01-01 01:06:54,bin4014,35,False -CTSPillarNetworkA,4015,4015,4015,1980-12-29,401.5000000000228,401.5153,2015-01-01 01:06:55,bin4015,75,False -CTSPillarNetworkA,4016,4016,4016,1980-12-30,401.6000000000228,401.6153,2015-01-01 01:06:56,bin4016,35,False -CTSPillarNetworkA,4017,4017,4017,1980-12-31,401.70000000002284,401.7153,2015-01-01 01:06:57,bin4017,75,False -CTSPillarNetworkA,4018,4018,4018,1981-01-01,401.80000000002286,401.8153,2015-01-01 01:06:58,bin4018,35,False -CTSPillarNetworkA,4019,4019,4019,1981-01-02,401.9000000000229,401.9153,2015-01-01 01:06:59,bin4019,75,False -CTSPillarNetworkA,4020,4020,4020,1981-01-03,402.0000000000229,402.01532,2015-01-01 01:07:00,bin4020,35,False -CTSPillarNetworkA,4021,4021,4021,1981-01-04,402.10000000002293,402.11533,2015-01-01 01:07:01,bin4021,75,False -CTSPillarNetworkA,4022,4022,4022,1981-01-05,402.20000000002295,402.21533,2015-01-01 01:07:02,bin4022,35,False -CTSPillarNetworkA,4023,4023,4023,1981-01-06,402.300000000023,402.31534,2015-01-01 01:07:03,bin4023,75,False -CTSPillarNetworkA,4024,4024,4024,1981-01-07,402.400000000023,402.41534,2015-01-01 01:07:04,bin4024,35,False -CTSPillarNetworkA,4025,4025,4025,1981-01-08,402.500000000023,402.51535,2015-01-01 01:07:05,bin4025,75,False -CTSPillarNetworkA,4026,4026,4026,1981-01-09,402.60000000002304,402.61536,2015-01-01 01:07:06,bin4026,35,False -CTSPillarNetworkA,4027,4027,4027,1981-01-10,402.70000000002307,402.71536,2015-01-01 01:07:07,bin4027,75,False -CTSPillarNetworkA,4028,4028,4028,1981-01-11,402.8000000000231,402.81537,2015-01-01 01:07:08,bin4028,35,False -CTSPillarNetworkA,4029,4029,4029,1981-01-12,402.9000000000231,402.91537,2015-01-01 01:07:09,bin4029,75,False -CTSPillarNetworkA,4030,4030,4030,1981-01-13,403.00000000002314,403.01538,2015-01-01 01:07:10,bin4030,35,False -CTSPillarNetworkA,4031,4031,4031,1981-01-14,403.10000000002316,403.1154,2015-01-01 01:07:11,bin4031,75,False -CTSPillarNetworkA,4032,4032,4032,1981-01-15,403.2000000000232,403.2154,2015-01-01 01:07:12,bin4032,35,False -CTSPillarNetworkA,4033,4033,4033,1981-01-16,403.3000000000232,403.3154,2015-01-01 01:07:13,bin4033,75,False -CTSPillarNetworkA,4034,4034,4034,1981-01-17,403.4000000000232,403.4154,2015-01-01 01:07:14,bin4034,35,False -CTSPillarNetworkA,4035,4035,4035,1981-01-18,403.50000000002325,403.5154,2015-01-01 01:07:15,bin4035,75,False -CTSPillarNetworkA,4036,4036,4036,1981-01-19,403.6000000000233,403.61542,2015-01-01 01:07:16,bin4036,35,False -CTSPillarNetworkA,4037,4037,4037,1981-01-20,403.7000000000233,403.71542,2015-01-01 01:07:17,bin4037,75,False -CTSPillarNetworkA,4038,4038,4038,1981-01-21,403.8000000000233,403.81543,2015-01-01 01:07:18,bin4038,35,False -CTSPillarNetworkA,4039,4039,4039,1981-01-22,403.90000000002334,403.91544,2015-01-01 01:07:19,bin4039,75,False -CTSPillarNetworkA,4040,4040,4040,1981-01-23,404.00000000002336,404.01544,2015-01-01 01:07:20,bin4040,35,False -CTSPillarNetworkA,4041,4041,4041,1981-01-24,404.1000000000234,404.11545,2015-01-01 01:07:21,bin4041,75,False -CTSPillarNetworkA,4042,4042,4042,1981-01-25,404.2000000000234,404.21545,2015-01-01 01:07:22,bin4042,35,False -CTSPillarNetworkA,4043,4043,4043,1981-01-26,404.30000000002343,404.31546,2015-01-01 01:07:23,bin4043,75,False -CTSPillarNetworkA,4044,4044,4044,1981-01-27,404.40000000002345,404.41547,2015-01-01 01:07:24,bin4044,35,False -CTSPillarNetworkA,4045,4045,4045,1981-01-28,404.5000000000235,404.51547,2015-01-01 01:07:25,bin4045,75,False -CTSPillarNetworkA,4046,4046,4046,1981-01-29,404.6000000000235,404.61548,2015-01-01 01:07:26,bin4046,35,False -CTSPillarNetworkA,4047,4047,4047,1981-01-30,404.7000000000235,404.71548,2015-01-01 01:07:27,bin4047,75,False -CTSPillarNetworkA,4048,4048,4048,1981-01-31,404.80000000002354,404.8155,2015-01-01 01:07:28,bin4048,35,False -CTSPillarNetworkA,4049,4049,4049,1981-02-01,404.90000000002357,404.9155,2015-01-01 01:07:29,bin4049,75,False -CTSPillarNetworkA,4050,4050,4050,1981-02-02,405.0000000000236,405.0155,2015-01-01 01:07:30,bin4050,35,False -CTSPillarNetworkA,4051,4051,4051,1981-02-03,405.1000000000236,405.1155,2015-01-01 01:07:31,bin4051,75,False -CTSPillarNetworkA,4052,4052,4052,1981-02-04,405.20000000002364,405.2155,2015-01-01 01:07:32,bin4052,35,False -CTSPillarNetworkA,4053,4053,4053,1981-02-05,405.30000000002366,405.31552,2015-01-01 01:07:33,bin4053,75,False -CTSPillarNetworkA,4054,4054,4054,1981-02-06,405.4000000000237,405.41553,2015-01-01 01:07:34,bin4054,35,False -CTSPillarNetworkA,4055,4055,4055,1981-02-07,405.5000000000237,405.51553,2015-01-01 01:07:35,bin4055,75,False -CTSPillarNetworkA,4056,4056,4056,1981-02-08,405.6000000000237,405.61554,2015-01-01 01:07:36,bin4056,35,False -CTSPillarNetworkA,4057,4057,4057,1981-02-09,405.70000000002375,405.71555,2015-01-01 01:07:37,bin4057,75,False -CTSPillarNetworkA,4058,4058,4058,1981-02-10,405.8000000000238,405.81555,2015-01-01 01:07:38,bin4058,35,False -CTSPillarNetworkA,4059,4059,4059,1981-02-11,405.9000000000238,405.91556,2015-01-01 01:07:39,bin4059,75,False -CTSPillarNetworkA,4060,4060,4060,1981-02-12,406.0000000000238,406.01556,2015-01-01 01:07:40,bin4060,35,False -CTSPillarNetworkA,4061,4061,4061,1981-02-13,406.10000000002384,406.11557,2015-01-01 01:07:41,bin4061,75,False -CTSPillarNetworkA,4062,4062,4062,1981-02-14,406.20000000002386,406.21558,2015-01-01 01:07:42,bin4062,35,False -CTSPillarNetworkA,4063,4063,4063,1981-02-15,406.3000000000239,406.31558,2015-01-01 01:07:43,bin4063,75,False -CTSPillarNetworkA,4064,4064,4064,1981-02-16,406.4000000000239,406.4156,2015-01-01 01:07:44,bin4064,35,False -CTSPillarNetworkA,4065,4065,4065,1981-02-17,406.50000000002393,406.5156,2015-01-01 01:07:45,bin4065,75,False -CTSPillarNetworkA,4066,4066,4066,1981-02-18,406.60000000002395,406.6156,2015-01-01 01:07:46,bin4066,35,False -CTSPillarNetworkA,4067,4067,4067,1981-02-19,406.700000000024,406.7156,2015-01-01 01:07:47,bin4067,75,False -CTSPillarNetworkA,4068,4068,4068,1981-02-20,406.800000000024,406.8156,2015-01-01 01:07:48,bin4068,35,False -CTSPillarNetworkA,4069,4069,4069,1981-02-21,406.900000000024,406.91562,2015-01-01 01:07:49,bin4069,75,False -CTSPillarNetworkA,4070,4070,4070,1981-02-22,407.00000000002404,407.01562,2015-01-01 01:07:50,bin4070,35,False -CTSPillarNetworkA,4071,4071,4071,1981-02-23,407.10000000002407,407.11563,2015-01-01 01:07:51,bin4071,75,False -CTSPillarNetworkA,4072,4072,4072,1981-02-24,407.2000000000241,407.21564,2015-01-01 01:07:52,bin4072,35,False -CTSPillarNetworkA,4073,4073,4073,1981-02-25,407.3000000000241,407.31564,2015-01-01 01:07:53,bin4073,75,False -CTSPillarNetworkA,4074,4074,4074,1981-02-26,407.40000000002414,407.41565,2015-01-01 01:07:54,bin4074,35,False -CTSPillarNetworkA,4075,4075,4075,1981-02-27,407.50000000002416,407.51566,2015-01-01 01:07:55,bin4075,75,False -CTSPillarNetworkA,4076,4076,4076,1981-02-28,407.6000000000242,407.61566,2015-01-01 01:07:56,bin4076,35,False -CTSPillarNetworkA,4077,4077,4077,1981-03-01,407.7000000000242,407.71567,2015-01-01 01:07:57,bin4077,75,False -CTSPillarNetworkA,4078,4078,4078,1981-03-02,407.8000000000242,407.81567,2015-01-01 01:07:58,bin4078,35,False -CTSPillarNetworkA,4079,4079,4079,1981-03-03,407.90000000002425,407.91568,2015-01-01 01:07:59,bin4079,75,False -CTSPillarNetworkA,4080,4080,4080,1981-03-04,408.0000000000243,408.0157,2015-01-01 01:08:00,bin4080,35,False -CTSPillarNetworkA,4081,4081,4081,1981-03-05,408.1000000000243,408.1157,2015-01-01 01:08:01,bin4081,75,False -CTSPillarNetworkA,4082,4082,4082,1981-03-06,408.2000000000243,408.2157,2015-01-01 01:08:02,bin4082,35,False -CTSPillarNetworkA,4083,4083,4083,1981-03-07,408.30000000002434,408.3157,2015-01-01 01:08:03,bin4083,75,False -CTSPillarNetworkA,4084,4084,4084,1981-03-08,408.40000000002436,408.4157,2015-01-01 01:08:04,bin4084,35,False -CTSPillarNetworkA,4085,4085,4085,1981-03-09,408.5000000000244,408.51572,2015-01-01 01:08:05,bin4085,75,False -CTSPillarNetworkA,4086,4086,4086,1981-03-10,408.6000000000244,408.61572,2015-01-01 01:08:06,bin4086,35,False -CTSPillarNetworkA,4087,4087,4087,1981-03-11,408.70000000002443,408.71573,2015-01-01 01:08:07,bin4087,75,False -CTSPillarNetworkA,4088,4088,4088,1981-03-12,408.80000000002445,408.81573,2015-01-01 01:08:08,bin4088,35,False -CTSPillarNetworkA,4089,4089,4089,1981-03-13,408.9000000000245,408.91574,2015-01-01 01:08:09,bin4089,75,False -CTSPillarNetworkA,4090,4090,4090,1981-03-14,409.0000000000245,409.01575,2015-01-01 01:08:10,bin4090,35,False -CTSPillarNetworkA,4091,4091,4091,1981-03-15,409.1000000000245,409.11575,2015-01-01 01:08:11,bin4091,75,False -CTSPillarNetworkA,4092,4092,4092,1981-03-16,409.20000000002454,409.21576,2015-01-01 01:08:12,bin4092,35,False -CTSPillarNetworkA,4093,4093,4093,1981-03-17,409.30000000002457,409.31577,2015-01-01 01:08:13,bin4093,75,False -CTSPillarNetworkA,4094,4094,4094,1981-03-18,409.4000000000246,409.41577,2015-01-01 01:08:14,bin4094,35,False -CTSPillarNetworkA,4095,4095,4095,1981-03-19,409.5000000000246,409.51578,2015-01-01 01:08:15,bin4095,75,False -CTSPillarNetworkA,4096,4096,4096,1981-03-20,409.60000000002464,409.61578,2015-01-01 01:08:16,bin4096,35,False -CTSPillarNetworkA,4097,4097,4097,1981-03-21,409.70000000002466,409.7158,2015-01-01 01:08:17,bin4097,75,False -CTSPillarNetworkA,4098,4098,4098,1981-03-22,409.8000000000247,409.8158,2015-01-01 01:08:18,bin4098,35,False -CTSPillarNetworkA,4099,4099,4099,1981-03-23,409.9000000000247,409.9158,2015-01-01 01:08:19,bin4099,75,False -CTSPillarNetworkA,4100,4100,4100,1981-03-24,410.0000000000247,410.0158,2015-01-01 01:08:20,bin4100,35,False -CTSPillarNetworkA,4101,4101,4101,1981-03-25,410.10000000002475,410.1158,2015-01-01 01:08:21,bin4101,75,False -CTSPillarNetworkA,4102,4102,4102,1981-03-26,410.2000000000248,410.21582,2015-01-01 01:08:22,bin4102,35,False -CTSPillarNetworkA,4103,4103,4103,1981-03-27,410.3000000000248,410.31583,2015-01-01 01:08:23,bin4103,75,False -CTSPillarNetworkA,4104,4104,4104,1981-03-28,410.4000000000248,410.41583,2015-01-01 01:08:24,bin4104,35,False -CTSPillarNetworkA,4105,4105,4105,1981-03-29,410.50000000002484,410.51584,2015-01-01 01:08:25,bin4105,75,False -CTSPillarNetworkA,4106,4106,4106,1981-03-30,410.60000000002486,410.61584,2015-01-01 01:08:26,bin4106,35,False -CTSPillarNetworkA,4107,4107,4107,1981-03-31,410.7000000000249,410.71585,2015-01-01 01:08:27,bin4107,75,False -CTSPillarNetworkA,4108,4108,4108,1981-04-01,410.8000000000249,410.81586,2015-01-01 01:08:28,bin4108,35,False -CTSPillarNetworkA,4109,4109,4109,1981-04-02,410.90000000002493,410.91586,2015-01-01 01:08:29,bin4109,75,False -CTSPillarNetworkA,4110,4110,4110,1981-04-03,411.00000000002495,411.01587,2015-01-01 01:08:30,bin4110,35,False -CTSPillarNetworkA,4111,4111,4111,1981-04-04,411.100000000025,411.11588,2015-01-01 01:08:31,bin4111,75,False -CTSPillarNetworkA,4112,4112,4112,1981-04-05,411.200000000025,411.21588,2015-01-01 01:08:32,bin4112,35,False -CTSPillarNetworkA,4113,4113,4113,1981-04-06,411.300000000025,411.3159,2015-01-01 01:08:33,bin4113,75,False -CTSPillarNetworkA,4114,4114,4114,1981-04-07,411.40000000002505,411.4159,2015-01-01 01:08:34,bin4114,35,False -CTSPillarNetworkA,4115,4115,4115,1981-04-08,411.50000000002507,411.5159,2015-01-01 01:08:35,bin4115,75,False -CTSPillarNetworkA,4116,4116,4116,1981-04-09,411.6000000000251,411.6159,2015-01-01 01:08:36,bin4116,35,False -CTSPillarNetworkA,4117,4117,4117,1981-04-10,411.7000000000251,411.7159,2015-01-01 01:08:37,bin4117,75,False -CTSPillarNetworkA,4118,4118,4118,1981-04-11,411.80000000002514,411.81592,2015-01-01 01:08:38,bin4118,35,False -CTSPillarNetworkA,4119,4119,4119,1981-04-12,411.90000000002516,411.91592,2015-01-01 01:08:39,bin4119,75,False -CTSPillarNetworkA,4120,4120,4120,1981-04-13,412.0000000000252,412.01593,2015-01-01 01:08:40,bin4120,35,False -CTSPillarNetworkA,4121,4121,4121,1981-04-14,412.1000000000252,412.11594,2015-01-01 01:08:41,bin4121,75,False -CTSPillarNetworkA,4122,4122,4122,1981-04-15,412.2000000000252,412.21594,2015-01-01 01:08:42,bin4122,35,False -CTSPillarNetworkA,4123,4123,4123,1981-04-16,412.30000000002525,412.31595,2015-01-01 01:08:43,bin4123,75,False -CTSPillarNetworkA,4124,4124,4124,1981-04-17,412.4000000000253,412.41595,2015-01-01 01:08:44,bin4124,35,False -CTSPillarNetworkA,4125,4125,4125,1981-04-18,412.5000000000253,412.51596,2015-01-01 01:08:45,bin4125,75,False -CTSPillarNetworkA,4126,4126,4126,1981-04-19,412.6000000000253,412.61597,2015-01-01 01:08:46,bin4126,35,False -CTSPillarNetworkA,4127,4127,4127,1981-04-20,412.70000000002534,412.71597,2015-01-01 01:08:47,bin4127,75,False -CTSPillarNetworkA,4128,4128,4128,1981-04-21,412.80000000002536,412.81598,2015-01-01 01:08:48,bin4128,35,False -CTSPillarNetworkA,4129,4129,4129,1981-04-22,412.9000000000254,412.916,2015-01-01 01:08:49,bin4129,75,False -CTSPillarNetworkA,4130,4130,4130,1981-04-23,413.0000000000254,413.016,2015-01-01 01:08:50,bin4130,35,False -CTSPillarNetworkA,4131,4131,4131,1981-04-24,413.10000000002543,413.116,2015-01-01 01:08:51,bin4131,75,False -CTSPillarNetworkA,4132,4132,4132,1981-04-25,413.20000000002545,413.216,2015-01-01 01:08:52,bin4132,35,False -CTSPillarNetworkA,4133,4133,4133,1981-04-26,413.3000000000255,413.316,2015-01-01 01:08:53,bin4133,75,False -CTSPillarNetworkA,4134,4134,4134,1981-04-27,413.4000000000255,413.41602,2015-01-01 01:08:54,bin4134,35,False -CTSPillarNetworkA,4135,4135,4135,1981-04-28,413.5000000000255,413.51602,2015-01-01 01:08:55,bin4135,75,False -CTSPillarNetworkA,4136,4136,4136,1981-04-29,413.60000000002555,413.61603,2015-01-01 01:08:56,bin4136,35,False -CTSPillarNetworkA,4137,4137,4137,1981-04-30,413.70000000002557,413.71603,2015-01-01 01:08:57,bin4137,75,False -CTSPillarNetworkA,4138,4138,4138,1981-05-01,413.8000000000256,413.81604,2015-01-01 01:08:58,bin4138,35,False -CTSPillarNetworkA,4139,4139,4139,1981-05-02,413.9000000000256,413.91605,2015-01-01 01:08:59,bin4139,75,False -CTSPillarNetworkA,4140,4140,4140,1981-05-03,414.00000000002564,414.01605,2015-01-01 01:09:00,bin4140,35,False -CTSPillarNetworkA,4141,4141,4141,1981-05-04,414.10000000002566,414.11606,2015-01-01 01:09:01,bin4141,75,False -CTSPillarNetworkA,4142,4142,4142,1981-05-05,414.2000000000257,414.21606,2015-01-01 01:09:02,bin4142,35,False -CTSPillarNetworkA,4143,4143,4143,1981-05-06,414.3000000000257,414.31607,2015-01-01 01:09:03,bin4143,75,False -CTSPillarNetworkA,4144,4144,4144,1981-05-07,414.4000000000257,414.41608,2015-01-01 01:09:04,bin4144,35,False -CTSPillarNetworkA,4145,4145,4145,1981-05-08,414.50000000002575,414.51608,2015-01-01 01:09:05,bin4145,75,False -CTSPillarNetworkA,4146,4146,4146,1981-05-09,414.6000000000258,414.6161,2015-01-01 01:09:06,bin4146,35,False -CTSPillarNetworkA,4147,4147,4147,1981-05-10,414.7000000000258,414.7161,2015-01-01 01:09:07,bin4147,75,False -CTSPillarNetworkA,4148,4148,4148,1981-05-11,414.8000000000258,414.8161,2015-01-01 01:09:08,bin4148,35,False -CTSPillarNetworkA,4149,4149,4149,1981-05-12,414.90000000002584,414.9161,2015-01-01 01:09:09,bin4149,75,False -CTSPillarNetworkA,4150,4150,4150,1981-05-13,415.00000000002586,415.0161,2015-01-01 01:09:10,bin4150,35,False -CTSPillarNetworkA,4151,4151,4151,1981-05-14,415.1000000000259,415.11612,2015-01-01 01:09:11,bin4151,75,False -CTSPillarNetworkA,4152,4152,4152,1981-05-15,415.2000000000259,415.21613,2015-01-01 01:09:12,bin4152,35,False -CTSPillarNetworkA,4153,4153,4153,1981-05-16,415.30000000002593,415.31613,2015-01-01 01:09:13,bin4153,75,False -CTSPillarNetworkA,4154,4154,4154,1981-05-17,415.40000000002595,415.41614,2015-01-01 01:09:14,bin4154,35,False -CTSPillarNetworkA,4155,4155,4155,1981-05-18,415.500000000026,415.51614,2015-01-01 01:09:15,bin4155,75,False -CTSPillarNetworkA,4156,4156,4156,1981-05-19,415.600000000026,415.61615,2015-01-01 01:09:16,bin4156,35,False -CTSPillarNetworkA,4157,4157,4157,1981-05-20,415.700000000026,415.71616,2015-01-01 01:09:17,bin4157,75,False -CTSPillarNetworkA,4158,4158,4158,1981-05-21,415.80000000002605,415.81616,2015-01-01 01:09:18,bin4158,35,False -CTSPillarNetworkA,4159,4159,4159,1981-05-22,415.90000000002607,415.91617,2015-01-01 01:09:19,bin4159,75,False -CTSPillarNetworkA,4160,4160,4160,1981-05-23,416.0000000000261,416.01617,2015-01-01 01:09:20,bin4160,35,False -CTSPillarNetworkA,4161,4161,4161,1981-05-24,416.1000000000261,416.11618,2015-01-01 01:09:21,bin4161,75,False -CTSPillarNetworkA,4162,4162,4162,1981-05-25,416.20000000002614,416.2162,2015-01-01 01:09:22,bin4162,35,False -CTSPillarNetworkA,4163,4163,4163,1981-05-26,416.30000000002616,416.3162,2015-01-01 01:09:23,bin4163,75,False -CTSPillarNetworkA,4164,4164,4164,1981-05-27,416.4000000000262,416.4162,2015-01-01 01:09:24,bin4164,35,False -CTSPillarNetworkA,4165,4165,4165,1981-05-28,416.5000000000262,416.5162,2015-01-01 01:09:25,bin4165,75,False -CTSPillarNetworkA,4166,4166,4166,1981-05-29,416.6000000000262,416.6162,2015-01-01 01:09:26,bin4166,35,False -CTSPillarNetworkA,4167,4167,4167,1981-05-30,416.70000000002625,416.71622,2015-01-01 01:09:27,bin4167,75,False -CTSPillarNetworkA,4168,4168,4168,1981-05-31,416.8000000000263,416.81622,2015-01-01 01:09:28,bin4168,35,False -CTSPillarNetworkA,4169,4169,4169,1981-06-01,416.9000000000263,416.91623,2015-01-01 01:09:29,bin4169,75,False -CTSPillarNetworkA,4170,4170,4170,1981-06-02,417.0000000000263,417.01624,2015-01-01 01:09:30,bin4170,35,False -CTSPillarNetworkA,4171,4171,4171,1981-06-03,417.10000000002634,417.11624,2015-01-01 01:09:31,bin4171,75,False -CTSPillarNetworkA,4172,4172,4172,1981-06-04,417.20000000002636,417.21625,2015-01-01 01:09:32,bin4172,35,False -CTSPillarNetworkA,4173,4173,4173,1981-06-05,417.3000000000264,417.31625,2015-01-01 01:09:33,bin4173,75,False -CTSPillarNetworkA,4174,4174,4174,1981-06-06,417.4000000000264,417.41626,2015-01-01 01:09:34,bin4174,35,False -CTSPillarNetworkA,4175,4175,4175,1981-06-07,417.50000000002643,417.51627,2015-01-01 01:09:35,bin4175,75,False -CTSPillarNetworkA,4176,4176,4176,1981-06-08,417.60000000002645,417.61627,2015-01-01 01:09:36,bin4176,35,False -CTSPillarNetworkA,4177,4177,4177,1981-06-09,417.7000000000265,417.71628,2015-01-01 01:09:37,bin4177,75,False -CTSPillarNetworkA,4178,4178,4178,1981-06-10,417.8000000000265,417.81628,2015-01-01 01:09:38,bin4178,35,False -CTSPillarNetworkA,4179,4179,4179,1981-06-11,417.9000000000265,417.9163,2015-01-01 01:09:39,bin4179,75,False -CTSPillarNetworkA,4180,4180,4180,1981-06-12,418.00000000002655,418.0163,2015-01-01 01:09:40,bin4180,35,False -CTSPillarNetworkA,4181,4181,4181,1981-06-13,418.10000000002657,418.1163,2015-01-01 01:09:41,bin4181,75,False -CTSPillarNetworkA,4182,4182,4182,1981-06-14,418.2000000000266,418.2163,2015-01-01 01:09:42,bin4182,35,False -CTSPillarNetworkA,4183,4183,4183,1981-06-15,418.3000000000266,418.3163,2015-01-01 01:09:43,bin4183,75,False -CTSPillarNetworkA,4184,4184,4184,1981-06-16,418.40000000002664,418.41632,2015-01-01 01:09:44,bin4184,35,False -CTSPillarNetworkA,4185,4185,4185,1981-06-17,418.50000000002666,418.51633,2015-01-01 01:09:45,bin4185,75,False -CTSPillarNetworkA,4186,4186,4186,1981-06-18,418.6000000000267,418.61633,2015-01-01 01:09:46,bin4186,35,False -CTSPillarNetworkA,4187,4187,4187,1981-06-19,418.7000000000267,418.71634,2015-01-01 01:09:47,bin4187,75,False -CTSPillarNetworkA,4188,4188,4188,1981-06-20,418.8000000000267,418.81635,2015-01-01 01:09:48,bin4188,35,False -CTSPillarNetworkA,4189,4189,4189,1981-06-21,418.90000000002675,418.91635,2015-01-01 01:09:49,bin4189,75,False -CTSPillarNetworkA,4190,4190,4190,1981-06-22,419.0000000000268,419.01636,2015-01-01 01:09:50,bin4190,35,False -CTSPillarNetworkA,4191,4191,4191,1981-06-23,419.1000000000268,419.11636,2015-01-01 01:09:51,bin4191,75,False -CTSPillarNetworkA,4192,4192,4192,1981-06-24,419.2000000000268,419.21637,2015-01-01 01:09:52,bin4192,35,False -CTSPillarNetworkA,4193,4193,4193,1981-06-25,419.30000000002684,419.31638,2015-01-01 01:09:53,bin4193,75,False -CTSPillarNetworkA,4194,4194,4194,1981-06-26,419.40000000002686,419.41638,2015-01-01 01:09:54,bin4194,35,False -CTSPillarNetworkA,4195,4195,4195,1981-06-27,419.5000000000269,419.5164,2015-01-01 01:09:55,bin4195,75,False -CTSPillarNetworkA,4196,4196,4196,1981-06-28,419.6000000000269,419.6164,2015-01-01 01:09:56,bin4196,35,False -CTSPillarNetworkA,4197,4197,4197,1981-06-29,419.70000000002693,419.7164,2015-01-01 01:09:57,bin4197,75,False -CTSPillarNetworkA,4198,4198,4198,1981-06-30,419.80000000002696,419.8164,2015-01-01 01:09:58,bin4198,35,False -CTSPillarNetworkA,4199,4199,4199,1981-07-01,419.900000000027,419.9164,2015-01-01 01:09:59,bin4199,75,False -CTSPillarNetworkA,4200,4200,4200,1981-07-02,420.000000000027,420.01642,2015-01-01 01:10:00,bin4200,35,False -CTSPillarNetworkA,4201,4201,4201,1981-07-03,420.100000000027,420.11642,2015-01-01 01:10:01,bin4201,75,False -CTSPillarNetworkA,4202,4202,4202,1981-07-04,420.20000000002705,420.21643,2015-01-01 01:10:02,bin4202,35,False -CTSPillarNetworkA,4203,4203,4203,1981-07-05,420.30000000002707,420.31644,2015-01-01 01:10:03,bin4203,75,False -CTSPillarNetworkA,4204,4204,4204,1981-07-06,420.4000000000271,420.41644,2015-01-01 01:10:04,bin4204,35,False -CTSPillarNetworkA,4205,4205,4205,1981-07-07,420.5000000000271,420.51645,2015-01-01 01:10:05,bin4205,75,False -CTSPillarNetworkA,4206,4206,4206,1981-07-08,420.60000000002714,420.61646,2015-01-01 01:10:06,bin4206,35,False -CTSPillarNetworkA,4207,4207,4207,1981-07-09,420.70000000002716,420.71646,2015-01-01 01:10:07,bin4207,75,False -CTSPillarNetworkA,4208,4208,4208,1981-07-10,420.8000000000272,420.81647,2015-01-01 01:10:08,bin4208,35,False -CTSPillarNetworkA,4209,4209,4209,1981-07-11,420.9000000000272,420.91647,2015-01-01 01:10:09,bin4209,75,False -CTSPillarNetworkA,4210,4210,4210,1981-07-12,421.0000000000272,421.01648,2015-01-01 01:10:10,bin4210,35,False -CTSPillarNetworkA,4211,4211,4211,1981-07-13,421.10000000002725,421.1165,2015-01-01 01:10:11,bin4211,75,False -CTSPillarNetworkA,4212,4212,4212,1981-07-14,421.2000000000273,421.2165,2015-01-01 01:10:12,bin4212,35,False -CTSPillarNetworkA,4213,4213,4213,1981-07-15,421.3000000000273,421.3165,2015-01-01 01:10:13,bin4213,75,False -CTSPillarNetworkA,4214,4214,4214,1981-07-16,421.4000000000273,421.4165,2015-01-01 01:10:14,bin4214,35,False -CTSPillarNetworkA,4215,4215,4215,1981-07-17,421.50000000002734,421.5165,2015-01-01 01:10:15,bin4215,75,False -CTSPillarNetworkA,4216,4216,4216,1981-07-18,421.60000000002736,421.61652,2015-01-01 01:10:16,bin4216,35,False -CTSPillarNetworkA,4217,4217,4217,1981-07-19,421.7000000000274,421.71652,2015-01-01 01:10:17,bin4217,75,False -CTSPillarNetworkA,4218,4218,4218,1981-07-20,421.8000000000274,421.81653,2015-01-01 01:10:18,bin4218,35,False -CTSPillarNetworkA,4219,4219,4219,1981-07-21,421.90000000002743,421.91653,2015-01-01 01:10:19,bin4219,75,False -CTSPillarNetworkA,4220,4220,4220,1981-07-22,422.00000000002746,422.01654,2015-01-01 01:10:20,bin4220,35,False -CTSPillarNetworkA,4221,4221,4221,1981-07-23,422.1000000000275,422.11655,2015-01-01 01:10:21,bin4221,75,False -CTSPillarNetworkA,4222,4222,4222,1981-07-24,422.2000000000275,422.21655,2015-01-01 01:10:22,bin4222,35,False -CTSPillarNetworkA,4223,4223,4223,1981-07-25,422.3000000000275,422.31656,2015-01-01 01:10:23,bin4223,75,False -CTSPillarNetworkA,4224,4224,4224,1981-07-26,422.40000000002755,422.41656,2015-01-01 01:10:24,bin4224,35,False -CTSPillarNetworkA,4225,4225,4225,1981-07-27,422.50000000002757,422.51657,2015-01-01 01:10:25,bin4225,75,False -CTSPillarNetworkA,4226,4226,4226,1981-07-28,422.6000000000276,422.61658,2015-01-01 01:10:26,bin4226,35,False -CTSPillarNetworkA,4227,4227,4227,1981-07-29,422.7000000000276,422.71658,2015-01-01 01:10:27,bin4227,75,False -CTSPillarNetworkA,4228,4228,4228,1981-07-30,422.80000000002764,422.8166,2015-01-01 01:10:28,bin4228,35,False -CTSPillarNetworkA,4229,4229,4229,1981-07-31,422.90000000002766,422.9166,2015-01-01 01:10:29,bin4229,75,False -CTSPillarNetworkA,4230,4230,4230,1981-08-01,423.0000000000277,423.0166,2015-01-01 01:10:30,bin4230,35,False -CTSPillarNetworkA,4231,4231,4231,1981-08-02,423.1000000000277,423.1166,2015-01-01 01:10:31,bin4231,75,False -CTSPillarNetworkA,4232,4232,4232,1981-08-03,423.2000000000277,423.2166,2015-01-01 01:10:32,bin4232,35,False -CTSPillarNetworkA,4233,4233,4233,1981-08-04,423.30000000002775,423.31662,2015-01-01 01:10:33,bin4233,75,False -CTSPillarNetworkA,4234,4234,4234,1981-08-05,423.4000000000278,423.41663,2015-01-01 01:10:34,bin4234,35,False -CTSPillarNetworkA,4235,4235,4235,1981-08-06,423.5000000000278,423.51663,2015-01-01 01:10:35,bin4235,75,False -CTSPillarNetworkA,4236,4236,4236,1981-08-07,423.6000000000278,423.61664,2015-01-01 01:10:36,bin4236,35,False -CTSPillarNetworkA,4237,4237,4237,1981-08-08,423.70000000002784,423.71664,2015-01-01 01:10:37,bin4237,75,False -CTSPillarNetworkA,4238,4238,4238,1981-08-09,423.80000000002786,423.81665,2015-01-01 01:10:38,bin4238,35,False -CTSPillarNetworkA,4239,4239,4239,1981-08-10,423.9000000000279,423.91666,2015-01-01 01:10:39,bin4239,75,False -CTSPillarNetworkA,4240,4240,4240,1981-08-11,424.0000000000279,424.01666,2015-01-01 01:10:40,bin4240,35,False -CTSPillarNetworkA,4241,4241,4241,1981-08-12,424.10000000002793,424.11667,2015-01-01 01:10:41,bin4241,75,False -CTSPillarNetworkA,4242,4242,4242,1981-08-13,424.20000000002796,424.21667,2015-01-01 01:10:42,bin4242,35,False -CTSPillarNetworkA,4243,4243,4243,1981-08-14,424.300000000028,424.31668,2015-01-01 01:10:43,bin4243,75,False -CTSPillarNetworkA,4244,4244,4244,1981-08-15,424.400000000028,424.4167,2015-01-01 01:10:44,bin4244,35,False -CTSPillarNetworkA,4245,4245,4245,1981-08-16,424.500000000028,424.5167,2015-01-01 01:10:45,bin4245,75,False -CTSPillarNetworkA,4246,4246,4246,1981-08-17,424.60000000002805,424.6167,2015-01-01 01:10:46,bin4246,35,False -CTSPillarNetworkA,4247,4247,4247,1981-08-18,424.70000000002807,424.7167,2015-01-01 01:10:47,bin4247,75,False -CTSPillarNetworkA,4248,4248,4248,1981-08-19,424.8000000000281,424.8167,2015-01-01 01:10:48,bin4248,35,False -CTSPillarNetworkA,4249,4249,4249,1981-08-20,424.9000000000281,424.91672,2015-01-01 01:10:49,bin4249,75,False -CTSPillarNetworkA,4250,4250,4250,1981-08-21,425.00000000002814,425.01672,2015-01-01 01:10:50,bin4250,35,False -CTSPillarNetworkA,4251,4251,4251,1981-08-22,425.10000000002816,425.11673,2015-01-01 01:10:51,bin4251,75,False -CTSPillarNetworkA,4252,4252,4252,1981-08-23,425.2000000000282,425.21674,2015-01-01 01:10:52,bin4252,35,False -CTSPillarNetworkA,4253,4253,4253,1981-08-24,425.3000000000282,425.31674,2015-01-01 01:10:53,bin4253,75,False -CTSPillarNetworkA,4254,4254,4254,1981-08-25,425.40000000002823,425.41675,2015-01-01 01:10:54,bin4254,35,False -CTSPillarNetworkA,4255,4255,4255,1981-08-26,425.50000000002825,425.51675,2015-01-01 01:10:55,bin4255,75,False -CTSPillarNetworkA,4256,4256,4256,1981-08-27,425.6000000000283,425.61676,2015-01-01 01:10:56,bin4256,35,False -CTSPillarNetworkA,4257,4257,4257,1981-08-28,425.7000000000283,425.71677,2015-01-01 01:10:57,bin4257,75,False -CTSPillarNetworkA,4258,4258,4258,1981-08-29,425.8000000000283,425.81677,2015-01-01 01:10:58,bin4258,35,False -CTSPillarNetworkA,4259,4259,4259,1981-08-30,425.90000000002834,425.91678,2015-01-01 01:10:59,bin4259,75,False -CTSPillarNetworkA,4260,4260,4260,1981-08-31,426.00000000002836,426.01678,2015-01-01 01:11:00,bin4260,35,False -CTSPillarNetworkA,4261,4261,4261,1981-09-01,426.1000000000284,426.1168,2015-01-01 01:11:01,bin4261,75,False -CTSPillarNetworkA,4262,4262,4262,1981-09-02,426.2000000000284,426.2168,2015-01-01 01:11:02,bin4262,35,False -CTSPillarNetworkA,4263,4263,4263,1981-09-03,426.30000000002843,426.3168,2015-01-01 01:11:03,bin4263,75,False -CTSPillarNetworkA,4264,4264,4264,1981-09-04,426.40000000002846,426.4168,2015-01-01 01:11:04,bin4264,35,False -CTSPillarNetworkA,4265,4265,4265,1981-09-05,426.5000000000285,426.5168,2015-01-01 01:11:05,bin4265,75,False -CTSPillarNetworkA,4266,4266,4266,1981-09-06,426.6000000000285,426.61682,2015-01-01 01:11:06,bin4266,35,False -CTSPillarNetworkA,4267,4267,4267,1981-09-07,426.7000000000285,426.71683,2015-01-01 01:11:07,bin4267,75,False -CTSPillarNetworkA,4268,4268,4268,1981-09-08,426.80000000002855,426.81683,2015-01-01 01:11:08,bin4268,35,False -CTSPillarNetworkA,4269,4269,4269,1981-09-09,426.90000000002857,426.91684,2015-01-01 01:11:09,bin4269,75,False -CTSPillarNetworkA,4270,4270,4270,1981-09-10,427.0000000000286,427.01685,2015-01-01 01:11:10,bin4270,35,False -CTSPillarNetworkA,4271,4271,4271,1981-09-11,427.1000000000286,427.11685,2015-01-01 01:11:11,bin4271,75,False -CTSPillarNetworkA,4272,4272,4272,1981-09-12,427.20000000002864,427.21686,2015-01-01 01:11:12,bin4272,35,False -CTSPillarNetworkA,4273,4273,4273,1981-09-13,427.30000000002866,427.31686,2015-01-01 01:11:13,bin4273,75,False -CTSPillarNetworkA,4274,4274,4274,1981-09-14,427.4000000000287,427.41687,2015-01-01 01:11:14,bin4274,35,False -CTSPillarNetworkA,4275,4275,4275,1981-09-15,427.5000000000287,427.51688,2015-01-01 01:11:15,bin4275,75,False -CTSPillarNetworkA,4276,4276,4276,1981-09-16,427.60000000002873,427.61688,2015-01-01 01:11:16,bin4276,35,False -CTSPillarNetworkA,4277,4277,4277,1981-09-17,427.70000000002875,427.7169,2015-01-01 01:11:17,bin4277,75,False -CTSPillarNetworkA,4278,4278,4278,1981-09-18,427.8000000000288,427.8169,2015-01-01 01:11:18,bin4278,35,False -CTSPillarNetworkA,4279,4279,4279,1981-09-19,427.9000000000288,427.9169,2015-01-01 01:11:19,bin4279,75,False -CTSPillarNetworkA,4280,4280,4280,1981-09-20,428.0000000000288,428.0169,2015-01-01 01:11:20,bin4280,35,False -CTSPillarNetworkA,4281,4281,4281,1981-09-21,428.10000000002884,428.1169,2015-01-01 01:11:21,bin4281,75,False -CTSPillarNetworkA,4282,4282,4282,1981-09-22,428.20000000002887,428.21692,2015-01-01 01:11:22,bin4282,35,False -CTSPillarNetworkA,4283,4283,4283,1981-09-23,428.3000000000289,428.31693,2015-01-01 01:11:23,bin4283,75,False -CTSPillarNetworkA,4284,4284,4284,1981-09-24,428.4000000000289,428.41693,2015-01-01 01:11:24,bin4284,35,False -CTSPillarNetworkA,4285,4285,4285,1981-09-25,428.50000000002893,428.51694,2015-01-01 01:11:25,bin4285,75,False -CTSPillarNetworkA,4286,4286,4286,1981-09-26,428.60000000002896,428.61694,2015-01-01 01:11:26,bin4286,35,False -CTSPillarNetworkA,4287,4287,4287,1981-09-27,428.700000000029,428.71695,2015-01-01 01:11:27,bin4287,75,False -CTSPillarNetworkA,4288,4288,4288,1981-09-28,428.800000000029,428.81696,2015-01-01 01:11:28,bin4288,35,False -CTSPillarNetworkA,4289,4289,4289,1981-09-29,428.900000000029,428.91696,2015-01-01 01:11:29,bin4289,75,False -CTSPillarNetworkA,4290,4290,4290,1981-09-30,429.00000000002905,429.01697,2015-01-01 01:11:30,bin4290,35,False -CTSPillarNetworkA,4291,4291,4291,1981-10-01,429.10000000002907,429.11697,2015-01-01 01:11:31,bin4291,75,False -CTSPillarNetworkA,4292,4292,4292,1981-10-02,429.2000000000291,429.21698,2015-01-01 01:11:32,bin4292,35,False -CTSPillarNetworkA,4293,4293,4293,1981-10-03,429.3000000000291,429.317,2015-01-01 01:11:33,bin4293,75,False -CTSPillarNetworkA,4294,4294,4294,1981-10-04,429.40000000002914,429.417,2015-01-01 01:11:34,bin4294,35,False -CTSPillarNetworkA,4295,4295,4295,1981-10-05,429.50000000002916,429.517,2015-01-01 01:11:35,bin4295,75,False -CTSPillarNetworkA,4296,4296,4296,1981-10-06,429.6000000000292,429.617,2015-01-01 01:11:36,bin4296,35,False -CTSPillarNetworkA,4297,4297,4297,1981-10-07,429.7000000000292,429.717,2015-01-01 01:11:37,bin4297,75,False -CTSPillarNetworkA,4298,4298,4298,1981-10-08,429.80000000002923,429.81702,2015-01-01 01:11:38,bin4298,35,False -CTSPillarNetworkA,4299,4299,4299,1981-10-09,429.90000000002925,429.91702,2015-01-01 01:11:39,bin4299,75,False -CTSPillarNetworkA,4300,4300,4300,1981-10-10,430.0000000000293,430.01703,2015-01-01 01:11:40,bin4300,35,False -CTSPillarNetworkA,4301,4301,4301,1981-10-11,430.1000000000293,430.11703,2015-01-01 01:11:41,bin4301,75,False -CTSPillarNetworkA,4302,4302,4302,1981-10-12,430.2000000000293,430.21704,2015-01-01 01:11:42,bin4302,35,False -CTSPillarNetworkA,4303,4303,4303,1981-10-13,430.30000000002934,430.31705,2015-01-01 01:11:43,bin4303,75,False -CTSPillarNetworkA,4304,4304,4304,1981-10-14,430.40000000002937,430.41705,2015-01-01 01:11:44,bin4304,35,False -CTSPillarNetworkA,4305,4305,4305,1981-10-15,430.5000000000294,430.51706,2015-01-01 01:11:45,bin4305,75,False -CTSPillarNetworkA,4306,4306,4306,1981-10-16,430.6000000000294,430.61707,2015-01-01 01:11:46,bin4306,35,False -CTSPillarNetworkA,4307,4307,4307,1981-10-17,430.70000000002943,430.71707,2015-01-01 01:11:47,bin4307,75,False -CTSPillarNetworkA,4308,4308,4308,1981-10-18,430.80000000002946,430.81708,2015-01-01 01:11:48,bin4308,35,False -CTSPillarNetworkA,4309,4309,4309,1981-10-19,430.9000000000295,430.91708,2015-01-01 01:11:49,bin4309,75,False -CTSPillarNetworkA,4310,4310,4310,1981-10-20,431.0000000000295,431.0171,2015-01-01 01:11:50,bin4310,35,False -CTSPillarNetworkA,4311,4311,4311,1981-10-21,431.1000000000295,431.1171,2015-01-01 01:11:51,bin4311,75,False -CTSPillarNetworkA,4312,4312,4312,1981-10-22,431.20000000002955,431.2171,2015-01-01 01:11:52,bin4312,35,False -CTSPillarNetworkA,4313,4313,4313,1981-10-23,431.30000000002957,431.3171,2015-01-01 01:11:53,bin4313,75,False -CTSPillarNetworkA,4314,4314,4314,1981-10-24,431.4000000000296,431.4171,2015-01-01 01:11:54,bin4314,35,False -CTSPillarNetworkA,4315,4315,4315,1981-10-25,431.5000000000296,431.51712,2015-01-01 01:11:55,bin4315,75,False -CTSPillarNetworkA,4316,4316,4316,1981-10-26,431.60000000002964,431.61713,2015-01-01 01:11:56,bin4316,35,False -CTSPillarNetworkA,4317,4317,4317,1981-10-27,431.70000000002966,431.71713,2015-01-01 01:11:57,bin4317,75,False -CTSPillarNetworkA,4318,4318,4318,1981-10-28,431.8000000000297,431.81714,2015-01-01 01:11:58,bin4318,35,False -CTSPillarNetworkA,4319,4319,4319,1981-10-29,431.9000000000297,431.91714,2015-01-01 01:11:59,bin4319,75,False -CTSPillarNetworkA,4320,4320,4320,1981-10-30,432.00000000002973,432.01715,2015-01-01 01:12:00,bin4320,35,False -CTSPillarNetworkA,4321,4321,4321,1981-10-31,432.10000000002975,432.11716,2015-01-01 01:12:01,bin4321,75,False -CTSPillarNetworkA,4322,4322,4322,1981-11-01,432.2000000000298,432.21716,2015-01-01 01:12:02,bin4322,35,False -CTSPillarNetworkA,4323,4323,4323,1981-11-02,432.3000000000298,432.31717,2015-01-01 01:12:03,bin4323,75,False -CTSPillarNetworkA,4324,4324,4324,1981-11-03,432.4000000000298,432.41718,2015-01-01 01:12:04,bin4324,35,False -CTSPillarNetworkA,4325,4325,4325,1981-11-04,432.50000000002984,432.51718,2015-01-01 01:12:05,bin4325,75,False -CTSPillarNetworkA,4326,4326,4326,1981-11-05,432.60000000002987,432.6172,2015-01-01 01:12:06,bin4326,35,False -CTSPillarNetworkA,4327,4327,4327,1981-11-06,432.7000000000299,432.7172,2015-01-01 01:12:07,bin4327,75,False -CTSPillarNetworkA,4328,4328,4328,1981-11-07,432.8000000000299,432.8172,2015-01-01 01:12:08,bin4328,35,False -CTSPillarNetworkA,4329,4329,4329,1981-11-08,432.90000000002993,432.9172,2015-01-01 01:12:09,bin4329,75,False -CTSPillarNetworkA,4330,4330,4330,1981-11-09,433.00000000002996,433.0172,2015-01-01 01:12:10,bin4330,35,False -CTSPillarNetworkA,4331,4331,4331,1981-11-10,433.10000000003,433.11722,2015-01-01 01:12:11,bin4331,75,False -CTSPillarNetworkA,4332,4332,4332,1981-11-11,433.20000000003,433.21722,2015-01-01 01:12:12,bin4332,35,False -CTSPillarNetworkA,4333,4333,4333,1981-11-12,433.30000000003,433.31723,2015-01-01 01:12:13,bin4333,75,False -CTSPillarNetworkA,4334,4334,4334,1981-11-13,433.40000000003005,433.41724,2015-01-01 01:12:14,bin4334,35,False -CTSPillarNetworkA,4335,4335,4335,1981-11-14,433.50000000003007,433.51724,2015-01-01 01:12:15,bin4335,75,False -CTSPillarNetworkA,4336,4336,4336,1981-11-15,433.6000000000301,433.61725,2015-01-01 01:12:16,bin4336,35,False -CTSPillarNetworkA,4337,4337,4337,1981-11-16,433.7000000000301,433.71725,2015-01-01 01:12:17,bin4337,75,False -CTSPillarNetworkA,4338,4338,4338,1981-11-17,433.80000000003014,433.81726,2015-01-01 01:12:18,bin4338,35,False -CTSPillarNetworkA,4339,4339,4339,1981-11-18,433.90000000003016,433.91727,2015-01-01 01:12:19,bin4339,75,False -CTSPillarNetworkA,4340,4340,4340,1981-11-19,434.0000000000302,434.01727,2015-01-01 01:12:20,bin4340,35,False -CTSPillarNetworkA,4341,4341,4341,1981-11-20,434.1000000000302,434.11728,2015-01-01 01:12:21,bin4341,75,False -CTSPillarNetworkA,4342,4342,4342,1981-11-21,434.20000000003023,434.2173,2015-01-01 01:12:22,bin4342,35,False -CTSPillarNetworkA,4343,4343,4343,1981-11-22,434.30000000003025,434.3173,2015-01-01 01:12:23,bin4343,75,False -CTSPillarNetworkA,4344,4344,4344,1981-11-23,434.4000000000303,434.4173,2015-01-01 01:12:24,bin4344,35,False -CTSPillarNetworkA,4345,4345,4345,1981-11-24,434.5000000000303,434.5173,2015-01-01 01:12:25,bin4345,75,False -CTSPillarNetworkA,4346,4346,4346,1981-11-25,434.6000000000303,434.6173,2015-01-01 01:12:26,bin4346,35,False -CTSPillarNetworkA,4347,4347,4347,1981-11-26,434.70000000003034,434.71732,2015-01-01 01:12:27,bin4347,75,False -CTSPillarNetworkA,4348,4348,4348,1981-11-27,434.80000000003037,434.81732,2015-01-01 01:12:28,bin4348,35,False -CTSPillarNetworkA,4349,4349,4349,1981-11-28,434.9000000000304,434.91733,2015-01-01 01:12:29,bin4349,75,False -CTSPillarNetworkA,4350,4350,4350,1981-11-29,435.0000000000304,435.01733,2015-01-01 01:12:30,bin4350,35,False -CTSPillarNetworkA,4351,4351,4351,1981-11-30,435.10000000003043,435.11734,2015-01-01 01:12:31,bin4351,75,False -CTSPillarNetworkA,4352,4352,4352,1981-12-01,435.20000000003046,435.21735,2015-01-01 01:12:32,bin4352,35,False -CTSPillarNetworkA,4353,4353,4353,1981-12-02,435.3000000000305,435.31735,2015-01-01 01:12:33,bin4353,75,False -CTSPillarNetworkA,4354,4354,4354,1981-12-03,435.4000000000305,435.41736,2015-01-01 01:12:34,bin4354,35,False -CTSPillarNetworkA,4355,4355,4355,1981-12-04,435.5000000000305,435.51736,2015-01-01 01:12:35,bin4355,75,False -CTSPillarNetworkA,4356,4356,4356,1981-12-05,435.60000000003055,435.61737,2015-01-01 01:12:36,bin4356,35,False -CTSPillarNetworkA,4357,4357,4357,1981-12-06,435.70000000003057,435.71738,2015-01-01 01:12:37,bin4357,75,False -CTSPillarNetworkA,4358,4358,4358,1981-12-07,435.8000000000306,435.81738,2015-01-01 01:12:38,bin4358,35,False -CTSPillarNetworkA,4359,4359,4359,1981-12-08,435.9000000000306,435.9174,2015-01-01 01:12:39,bin4359,75,False -CTSPillarNetworkA,4360,4360,4360,1981-12-09,436.00000000003064,436.0174,2015-01-01 01:12:40,bin4360,35,False -CTSPillarNetworkA,4361,4361,4361,1981-12-10,436.10000000003066,436.1174,2015-01-01 01:12:41,bin4361,75,False -CTSPillarNetworkA,4362,4362,4362,1981-12-11,436.2000000000307,436.2174,2015-01-01 01:12:42,bin4362,35,False -CTSPillarNetworkA,4363,4363,4363,1981-12-12,436.3000000000307,436.3174,2015-01-01 01:12:43,bin4363,75,False -CTSPillarNetworkA,4364,4364,4364,1981-12-13,436.40000000003073,436.41742,2015-01-01 01:12:44,bin4364,35,False -CTSPillarNetworkA,4365,4365,4365,1981-12-14,436.50000000003075,436.51743,2015-01-01 01:12:45,bin4365,75,False -CTSPillarNetworkA,4366,4366,4366,1981-12-15,436.6000000000308,436.61743,2015-01-01 01:12:46,bin4366,35,False -CTSPillarNetworkA,4367,4367,4367,1981-12-16,436.7000000000308,436.71744,2015-01-01 01:12:47,bin4367,75,False -CTSPillarNetworkA,4368,4368,4368,1981-12-17,436.8000000000308,436.81744,2015-01-01 01:12:48,bin4368,35,False -CTSPillarNetworkA,4369,4369,4369,1981-12-18,436.90000000003084,436.91745,2015-01-01 01:12:49,bin4369,75,False -CTSPillarNetworkA,4370,4370,4370,1981-12-19,437.00000000003087,437.01746,2015-01-01 01:12:50,bin4370,35,False -CTSPillarNetworkA,4371,4371,4371,1981-12-20,437.1000000000309,437.11746,2015-01-01 01:12:51,bin4371,75,False -CTSPillarNetworkA,4372,4372,4372,1981-12-21,437.2000000000309,437.21747,2015-01-01 01:12:52,bin4372,35,False -CTSPillarNetworkA,4373,4373,4373,1981-12-22,437.30000000003093,437.31747,2015-01-01 01:12:53,bin4373,75,False -CTSPillarNetworkA,4374,4374,4374,1981-12-23,437.40000000003096,437.41748,2015-01-01 01:12:54,bin4374,35,False -CTSPillarNetworkA,4375,4375,4375,1981-12-24,437.500000000031,437.5175,2015-01-01 01:12:55,bin4375,75,False -CTSPillarNetworkA,4376,4376,4376,1981-12-25,437.600000000031,437.6175,2015-01-01 01:12:56,bin4376,35,False -CTSPillarNetworkA,4377,4377,4377,1981-12-26,437.700000000031,437.7175,2015-01-01 01:12:57,bin4377,75,False -CTSPillarNetworkA,4378,4378,4378,1981-12-27,437.80000000003105,437.8175,2015-01-01 01:12:58,bin4378,35,False -CTSPillarNetworkA,4379,4379,4379,1981-12-28,437.90000000003107,437.9175,2015-01-01 01:12:59,bin4379,75,False -CTSPillarNetworkA,4380,4380,4380,1981-12-29,438.0000000000311,438.01752,2015-01-01 01:13:00,bin4380,35,False -CTSPillarNetworkA,4381,4381,4381,1981-12-30,438.1000000000311,438.11752,2015-01-01 01:13:01,bin4381,75,False -CTSPillarNetworkA,4382,4382,4382,1981-12-31,438.20000000003114,438.21753,2015-01-01 01:13:02,bin4382,35,False -CTSPillarNetworkA,4383,4383,4383,1982-01-01,438.30000000003116,438.31754,2015-01-01 01:13:03,bin4383,75,False -CTSPillarNetworkA,4384,4384,4384,1982-01-02,438.4000000000312,438.41754,2015-01-01 01:13:04,bin4384,35,False -CTSPillarNetworkA,4385,4385,4385,1982-01-03,438.5000000000312,438.51755,2015-01-01 01:13:05,bin4385,75,False -CTSPillarNetworkA,4386,4386,4386,1982-01-04,438.60000000003123,438.61755,2015-01-01 01:13:06,bin4386,35,False -CTSPillarNetworkA,4387,4387,4387,1982-01-05,438.70000000003125,438.71756,2015-01-01 01:13:07,bin4387,75,False -CTSPillarNetworkA,4388,4388,4388,1982-01-06,438.8000000000313,438.81757,2015-01-01 01:13:08,bin4388,35,False -CTSPillarNetworkA,4389,4389,4389,1982-01-07,438.9000000000313,438.91757,2015-01-01 01:13:09,bin4389,75,False -CTSPillarNetworkA,4390,4390,4390,1982-01-08,439.0000000000313,439.01758,2015-01-01 01:13:10,bin4390,35,False -CTSPillarNetworkA,4391,4391,4391,1982-01-09,439.10000000003134,439.11758,2015-01-01 01:13:11,bin4391,75,False -CTSPillarNetworkA,4392,4392,4392,1982-01-10,439.20000000003137,439.2176,2015-01-01 01:13:12,bin4392,35,False -CTSPillarNetworkA,4393,4393,4393,1982-01-11,439.3000000000314,439.3176,2015-01-01 01:13:13,bin4393,75,False -CTSPillarNetworkA,4394,4394,4394,1982-01-12,439.4000000000314,439.4176,2015-01-01 01:13:14,bin4394,35,False -CTSPillarNetworkA,4395,4395,4395,1982-01-13,439.50000000003143,439.5176,2015-01-01 01:13:15,bin4395,75,False -CTSPillarNetworkA,4396,4396,4396,1982-01-14,439.60000000003146,439.6176,2015-01-01 01:13:16,bin4396,35,False -CTSPillarNetworkA,4397,4397,4397,1982-01-15,439.7000000000315,439.71762,2015-01-01 01:13:17,bin4397,75,False -CTSPillarNetworkA,4398,4398,4398,1982-01-16,439.8000000000315,439.81763,2015-01-01 01:13:18,bin4398,35,False -CTSPillarNetworkA,4399,4399,4399,1982-01-17,439.9000000000315,439.91763,2015-01-01 01:13:19,bin4399,75,False -CTSPillarNetworkA,4400,4400,4400,1982-01-18,440.00000000003155,440.01764,2015-01-01 01:13:20,bin4400,35,False -CTSPillarNetworkA,4401,4401,4401,1982-01-19,440.10000000003157,440.11765,2015-01-01 01:13:21,bin4401,75,False -CTSPillarNetworkA,4402,4402,4402,1982-01-20,440.2000000000316,440.21765,2015-01-01 01:13:22,bin4402,35,False -CTSPillarNetworkA,4403,4403,4403,1982-01-21,440.3000000000316,440.31766,2015-01-01 01:13:23,bin4403,75,False -CTSPillarNetworkA,4404,4404,4404,1982-01-22,440.40000000003164,440.41766,2015-01-01 01:13:24,bin4404,35,False -CTSPillarNetworkA,4405,4405,4405,1982-01-23,440.50000000003166,440.51767,2015-01-01 01:13:25,bin4405,75,False -CTSPillarNetworkA,4406,4406,4406,1982-01-24,440.6000000000317,440.61768,2015-01-01 01:13:26,bin4406,35,False -CTSPillarNetworkA,4407,4407,4407,1982-01-25,440.7000000000317,440.71768,2015-01-01 01:13:27,bin4407,75,False -CTSPillarNetworkA,4408,4408,4408,1982-01-26,440.80000000003173,440.8177,2015-01-01 01:13:28,bin4408,35,False -CTSPillarNetworkA,4409,4409,4409,1982-01-27,440.90000000003175,440.9177,2015-01-01 01:13:29,bin4409,75,False -CTSPillarNetworkA,4410,4410,4410,1982-01-28,441.0000000000318,441.0177,2015-01-01 01:13:30,bin4410,35,False -CTSPillarNetworkA,4411,4411,4411,1982-01-29,441.1000000000318,441.1177,2015-01-01 01:13:31,bin4411,75,False -CTSPillarNetworkA,4412,4412,4412,1982-01-30,441.2000000000318,441.2177,2015-01-01 01:13:32,bin4412,35,False -CTSPillarNetworkA,4413,4413,4413,1982-01-31,441.30000000003184,441.31772,2015-01-01 01:13:33,bin4413,75,False -CTSPillarNetworkA,4414,4414,4414,1982-02-01,441.40000000003187,441.41772,2015-01-01 01:13:34,bin4414,35,False -CTSPillarNetworkA,4415,4415,4415,1982-02-02,441.5000000000319,441.51773,2015-01-01 01:13:35,bin4415,75,False -CTSPillarNetworkA,4416,4416,4416,1982-02-03,441.6000000000319,441.61774,2015-01-01 01:13:36,bin4416,35,False -CTSPillarNetworkA,4417,4417,4417,1982-02-04,441.70000000003193,441.71774,2015-01-01 01:13:37,bin4417,75,False -CTSPillarNetworkA,4418,4418,4418,1982-02-05,441.80000000003196,441.81775,2015-01-01 01:13:38,bin4418,35,False -CTSPillarNetworkA,4419,4419,4419,1982-02-06,441.900000000032,441.91776,2015-01-01 01:13:39,bin4419,75,False -CTSPillarNetworkA,4420,4420,4420,1982-02-07,442.000000000032,442.01776,2015-01-01 01:13:40,bin4420,35,False -CTSPillarNetworkA,4421,4421,4421,1982-02-08,442.100000000032,442.11777,2015-01-01 01:13:41,bin4421,75,False -CTSPillarNetworkA,4422,4422,4422,1982-02-09,442.20000000003205,442.21777,2015-01-01 01:13:42,bin4422,35,False -CTSPillarNetworkA,4423,4423,4423,1982-02-10,442.30000000003207,442.31778,2015-01-01 01:13:43,bin4423,75,False -CTSPillarNetworkA,4424,4424,4424,1982-02-11,442.4000000000321,442.4178,2015-01-01 01:13:44,bin4424,35,False -CTSPillarNetworkA,4425,4425,4425,1982-02-12,442.5000000000321,442.5178,2015-01-01 01:13:45,bin4425,75,False -CTSPillarNetworkA,4426,4426,4426,1982-02-13,442.60000000003214,442.6178,2015-01-01 01:13:46,bin4426,35,False -CTSPillarNetworkA,4427,4427,4427,1982-02-14,442.70000000003216,442.7178,2015-01-01 01:13:47,bin4427,75,False -CTSPillarNetworkA,4428,4428,4428,1982-02-15,442.8000000000322,442.8178,2015-01-01 01:13:48,bin4428,35,False -CTSPillarNetworkA,4429,4429,4429,1982-02-16,442.9000000000322,442.91782,2015-01-01 01:13:49,bin4429,75,False -CTSPillarNetworkA,4430,4430,4430,1982-02-17,443.00000000003223,443.01782,2015-01-01 01:13:50,bin4430,35,False -CTSPillarNetworkA,4431,4431,4431,1982-02-18,443.10000000003225,443.11783,2015-01-01 01:13:51,bin4431,75,False -CTSPillarNetworkA,4432,4432,4432,1982-02-19,443.2000000000323,443.21783,2015-01-01 01:13:52,bin4432,35,False -CTSPillarNetworkA,4433,4433,4433,1982-02-20,443.3000000000323,443.31784,2015-01-01 01:13:53,bin4433,75,False -CTSPillarNetworkA,4434,4434,4434,1982-02-21,443.4000000000323,443.41785,2015-01-01 01:13:54,bin4434,35,False -CTSPillarNetworkA,4435,4435,4435,1982-02-22,443.50000000003234,443.51785,2015-01-01 01:13:55,bin4435,75,False -CTSPillarNetworkA,4436,4436,4436,1982-02-23,443.60000000003237,443.61786,2015-01-01 01:13:56,bin4436,35,False -CTSPillarNetworkA,4437,4437,4437,1982-02-24,443.7000000000324,443.71786,2015-01-01 01:13:57,bin4437,75,False -CTSPillarNetworkA,4438,4438,4438,1982-02-25,443.8000000000324,443.81787,2015-01-01 01:13:58,bin4438,35,False -CTSPillarNetworkA,4439,4439,4439,1982-02-26,443.90000000003243,443.91788,2015-01-01 01:13:59,bin4439,75,False -CTSPillarNetworkA,4440,4440,4440,1982-02-27,444.00000000003246,444.01788,2015-01-01 01:14:00,bin4440,35,False -CTSPillarNetworkA,4441,4441,4441,1982-02-28,444.1000000000325,444.1179,2015-01-01 01:14:01,bin4441,75,False -CTSPillarNetworkA,4442,4442,4442,1982-03-01,444.2000000000325,444.2179,2015-01-01 01:14:02,bin4442,35,False -CTSPillarNetworkA,4443,4443,4443,1982-03-02,444.3000000000325,444.3179,2015-01-01 01:14:03,bin4443,75,False -CTSPillarNetworkA,4444,4444,4444,1982-03-03,444.40000000003255,444.4179,2015-01-01 01:14:04,bin4444,35,False -CTSPillarNetworkA,4445,4445,4445,1982-03-04,444.50000000003257,444.5179,2015-01-01 01:14:05,bin4445,75,False -CTSPillarNetworkA,4446,4446,4446,1982-03-05,444.6000000000326,444.61792,2015-01-01 01:14:06,bin4446,35,False -CTSPillarNetworkA,4447,4447,4447,1982-03-06,444.7000000000326,444.71793,2015-01-01 01:14:07,bin4447,75,False -CTSPillarNetworkA,4448,4448,4448,1982-03-07,444.80000000003264,444.81793,2015-01-01 01:14:08,bin4448,35,False -CTSPillarNetworkA,4449,4449,4449,1982-03-08,444.90000000003266,444.91794,2015-01-01 01:14:09,bin4449,75,False -CTSPillarNetworkA,4450,4450,4450,1982-03-09,445.0000000000327,445.01794,2015-01-01 01:14:10,bin4450,35,False -CTSPillarNetworkA,4451,4451,4451,1982-03-10,445.1000000000327,445.11795,2015-01-01 01:14:11,bin4451,75,False -CTSPillarNetworkA,4452,4452,4452,1982-03-11,445.20000000003273,445.21796,2015-01-01 01:14:12,bin4452,35,False -CTSPillarNetworkA,4453,4453,4453,1982-03-12,445.30000000003275,445.31796,2015-01-01 01:14:13,bin4453,75,False -CTSPillarNetworkA,4454,4454,4454,1982-03-13,445.4000000000328,445.41797,2015-01-01 01:14:14,bin4454,35,False -CTSPillarNetworkA,4455,4455,4455,1982-03-14,445.5000000000328,445.51797,2015-01-01 01:14:15,bin4455,75,False -CTSPillarNetworkA,4456,4456,4456,1982-03-15,445.6000000000328,445.61798,2015-01-01 01:14:16,bin4456,35,False -CTSPillarNetworkA,4457,4457,4457,1982-03-16,445.70000000003284,445.718,2015-01-01 01:14:17,bin4457,75,False -CTSPillarNetworkA,4458,4458,4458,1982-03-17,445.80000000003287,445.818,2015-01-01 01:14:18,bin4458,35,False -CTSPillarNetworkA,4459,4459,4459,1982-03-18,445.9000000000329,445.918,2015-01-01 01:14:19,bin4459,75,False -CTSPillarNetworkA,4460,4460,4460,1982-03-19,446.0000000000329,446.018,2015-01-01 01:14:20,bin4460,35,False -CTSPillarNetworkA,4461,4461,4461,1982-03-20,446.10000000003294,446.118,2015-01-01 01:14:21,bin4461,75,False -CTSPillarNetworkA,4462,4462,4462,1982-03-21,446.20000000003296,446.21802,2015-01-01 01:14:22,bin4462,35,False -CTSPillarNetworkA,4463,4463,4463,1982-03-22,446.300000000033,446.31802,2015-01-01 01:14:23,bin4463,75,False -CTSPillarNetworkA,4464,4464,4464,1982-03-23,446.400000000033,446.41803,2015-01-01 01:14:24,bin4464,35,False -CTSPillarNetworkA,4465,4465,4465,1982-03-24,446.500000000033,446.51804,2015-01-01 01:14:25,bin4465,75,False -CTSPillarNetworkA,4466,4466,4466,1982-03-25,446.60000000003305,446.61804,2015-01-01 01:14:26,bin4466,35,False -CTSPillarNetworkA,4467,4467,4467,1982-03-26,446.70000000003307,446.71805,2015-01-01 01:14:27,bin4467,75,False -CTSPillarNetworkA,4468,4468,4468,1982-03-27,446.8000000000331,446.81805,2015-01-01 01:14:28,bin4468,35,False -CTSPillarNetworkA,4469,4469,4469,1982-03-28,446.9000000000331,446.91806,2015-01-01 01:14:29,bin4469,75,False -CTSPillarNetworkA,4470,4470,4470,1982-03-29,447.00000000003314,447.01807,2015-01-01 01:14:30,bin4470,35,False -CTSPillarNetworkA,4471,4471,4471,1982-03-30,447.10000000003316,447.11807,2015-01-01 01:14:31,bin4471,75,False -CTSPillarNetworkA,4472,4472,4472,1982-03-31,447.2000000000332,447.21808,2015-01-01 01:14:32,bin4472,35,False -CTSPillarNetworkA,4473,4473,4473,1982-04-01,447.3000000000332,447.31808,2015-01-01 01:14:33,bin4473,75,False -CTSPillarNetworkA,4474,4474,4474,1982-04-02,447.40000000003323,447.4181,2015-01-01 01:14:34,bin4474,35,False -CTSPillarNetworkA,4475,4475,4475,1982-04-03,447.50000000003325,447.5181,2015-01-01 01:14:35,bin4475,75,False -CTSPillarNetworkA,4476,4476,4476,1982-04-04,447.6000000000333,447.6181,2015-01-01 01:14:36,bin4476,35,False -CTSPillarNetworkA,4477,4477,4477,1982-04-05,447.7000000000333,447.7181,2015-01-01 01:14:37,bin4477,75,False -CTSPillarNetworkA,4478,4478,4478,1982-04-06,447.8000000000333,447.8181,2015-01-01 01:14:38,bin4478,35,False -CTSPillarNetworkA,4479,4479,4479,1982-04-07,447.90000000003334,447.91812,2015-01-01 01:14:39,bin4479,75,False -CTSPillarNetworkA,4480,4480,4480,1982-04-08,448.00000000003337,448.01813,2015-01-01 01:14:40,bin4480,35,False -CTSPillarNetworkA,4481,4481,4481,1982-04-09,448.1000000000334,448.11813,2015-01-01 01:14:41,bin4481,75,False -CTSPillarNetworkA,4482,4482,4482,1982-04-10,448.2000000000334,448.21814,2015-01-01 01:14:42,bin4482,35,False -CTSPillarNetworkA,4483,4483,4483,1982-04-11,448.30000000003344,448.31815,2015-01-01 01:14:43,bin4483,75,False -CTSPillarNetworkA,4484,4484,4484,1982-04-12,448.40000000003346,448.41815,2015-01-01 01:14:44,bin4484,35,False -CTSPillarNetworkA,4485,4485,4485,1982-04-13,448.5000000000335,448.51816,2015-01-01 01:14:45,bin4485,75,False -CTSPillarNetworkA,4486,4486,4486,1982-04-14,448.6000000000335,448.61816,2015-01-01 01:14:46,bin4486,35,False -CTSPillarNetworkA,4487,4487,4487,1982-04-15,448.7000000000335,448.71817,2015-01-01 01:14:47,bin4487,75,False -CTSPillarNetworkA,4488,4488,4488,1982-04-16,448.80000000003355,448.81818,2015-01-01 01:14:48,bin4488,35,False -CTSPillarNetworkA,4489,4489,4489,1982-04-17,448.9000000000336,448.91818,2015-01-01 01:14:49,bin4489,75,False -CTSPillarNetworkA,4490,4490,4490,1982-04-18,449.0000000000336,449.0182,2015-01-01 01:14:50,bin4490,35,False -CTSPillarNetworkA,4491,4491,4491,1982-04-19,449.1000000000336,449.1182,2015-01-01 01:14:51,bin4491,75,False -CTSPillarNetworkA,4492,4492,4492,1982-04-20,449.20000000003364,449.2182,2015-01-01 01:14:52,bin4492,35,False -CTSPillarNetworkA,4493,4493,4493,1982-04-21,449.30000000003366,449.3182,2015-01-01 01:14:53,bin4493,75,False -CTSPillarNetworkA,4494,4494,4494,1982-04-22,449.4000000000337,449.4182,2015-01-01 01:14:54,bin4494,35,False -CTSPillarNetworkA,4495,4495,4495,1982-04-23,449.5000000000337,449.51822,2015-01-01 01:14:55,bin4495,75,False -CTSPillarNetworkA,4496,4496,4496,1982-04-24,449.60000000003373,449.61823,2015-01-01 01:14:56,bin4496,35,False -CTSPillarNetworkA,4497,4497,4497,1982-04-25,449.70000000003375,449.71823,2015-01-01 01:14:57,bin4497,75,False -CTSPillarNetworkA,4498,4498,4498,1982-04-26,449.8000000000338,449.81824,2015-01-01 01:14:58,bin4498,35,False -CTSPillarNetworkA,4499,4499,4499,1982-04-27,449.9000000000338,449.91824,2015-01-01 01:14:59,bin4499,75,False -CTSPillarNetworkA,4500,4500,4500,1982-04-28,450.0000000000338,450.01825,2015-01-01 01:15:00,bin4500,35,False -CTSPillarNetworkA,4501,4501,4501,1982-04-29,450.10000000003384,450.11826,2015-01-01 01:15:01,bin4501,75,False -CTSPillarNetworkA,4502,4502,4502,1982-04-30,450.20000000003387,450.21826,2015-01-01 01:15:02,bin4502,35,False -CTSPillarNetworkA,4503,4503,4503,1982-05-01,450.3000000000339,450.31827,2015-01-01 01:15:03,bin4503,75,False -CTSPillarNetworkA,4504,4504,4504,1982-05-02,450.4000000000339,450.41827,2015-01-01 01:15:04,bin4504,35,False -CTSPillarNetworkA,4505,4505,4505,1982-05-03,450.50000000003394,450.51828,2015-01-01 01:15:05,bin4505,75,False -CTSPillarNetworkA,4506,4506,4506,1982-05-04,450.60000000003396,450.6183,2015-01-01 01:15:06,bin4506,35,False -CTSPillarNetworkA,4507,4507,4507,1982-05-05,450.700000000034,450.7183,2015-01-01 01:15:07,bin4507,75,False -CTSPillarNetworkA,4508,4508,4508,1982-05-06,450.800000000034,450.8183,2015-01-01 01:15:08,bin4508,35,False -CTSPillarNetworkA,4509,4509,4509,1982-05-07,450.900000000034,450.9183,2015-01-01 01:15:09,bin4509,75,False -CTSPillarNetworkA,4510,4510,4510,1982-05-08,451.00000000003405,451.0183,2015-01-01 01:15:10,bin4510,35,False -CTSPillarNetworkA,4511,4511,4511,1982-05-09,451.1000000000341,451.11832,2015-01-01 01:15:11,bin4511,75,False -CTSPillarNetworkA,4512,4512,4512,1982-05-10,451.2000000000341,451.21832,2015-01-01 01:15:12,bin4512,35,False -CTSPillarNetworkA,4513,4513,4513,1982-05-11,451.3000000000341,451.31833,2015-01-01 01:15:13,bin4513,75,False -CTSPillarNetworkA,4514,4514,4514,1982-05-12,451.40000000003414,451.41833,2015-01-01 01:15:14,bin4514,35,False -CTSPillarNetworkA,4515,4515,4515,1982-05-13,451.50000000003416,451.51834,2015-01-01 01:15:15,bin4515,75,False -CTSPillarNetworkA,4516,4516,4516,1982-05-14,451.6000000000342,451.61835,2015-01-01 01:15:16,bin4516,35,False -CTSPillarNetworkA,4517,4517,4517,1982-05-15,451.7000000000342,451.71835,2015-01-01 01:15:17,bin4517,75,False -CTSPillarNetworkA,4518,4518,4518,1982-05-16,451.80000000003423,451.81836,2015-01-01 01:15:18,bin4518,35,False -CTSPillarNetworkA,4519,4519,4519,1982-05-17,451.90000000003425,451.91837,2015-01-01 01:15:19,bin4519,75,False -CTSPillarNetworkA,4520,4520,4520,1982-05-18,452.0000000000343,452.01837,2015-01-01 01:15:20,bin4520,35,False -CTSPillarNetworkA,4521,4521,4521,1982-05-19,452.1000000000343,452.11838,2015-01-01 01:15:21,bin4521,75,False -CTSPillarNetworkA,4522,4522,4522,1982-05-20,452.2000000000343,452.21838,2015-01-01 01:15:22,bin4522,35,False -CTSPillarNetworkA,4523,4523,4523,1982-05-21,452.30000000003434,452.3184,2015-01-01 01:15:23,bin4523,75,False -CTSPillarNetworkA,4524,4524,4524,1982-05-22,452.40000000003437,452.4184,2015-01-01 01:15:24,bin4524,35,False -CTSPillarNetworkA,4525,4525,4525,1982-05-23,452.5000000000344,452.5184,2015-01-01 01:15:25,bin4525,75,False -CTSPillarNetworkA,4526,4526,4526,1982-05-24,452.6000000000344,452.6184,2015-01-01 01:15:26,bin4526,35,False -CTSPillarNetworkA,4527,4527,4527,1982-05-25,452.70000000003444,452.7184,2015-01-01 01:15:27,bin4527,75,False -CTSPillarNetworkA,4528,4528,4528,1982-05-26,452.80000000003446,452.81842,2015-01-01 01:15:28,bin4528,35,False -CTSPillarNetworkA,4529,4529,4529,1982-05-27,452.9000000000345,452.91843,2015-01-01 01:15:29,bin4529,75,False -CTSPillarNetworkA,4530,4530,4530,1982-05-28,453.0000000000345,453.01843,2015-01-01 01:15:30,bin4530,35,False -CTSPillarNetworkA,4531,4531,4531,1982-05-29,453.1000000000345,453.11844,2015-01-01 01:15:31,bin4531,75,False -CTSPillarNetworkA,4532,4532,4532,1982-05-30,453.20000000003455,453.21844,2015-01-01 01:15:32,bin4532,35,False -CTSPillarNetworkA,4533,4533,4533,1982-05-31,453.3000000000346,453.31845,2015-01-01 01:15:33,bin4533,75,False -CTSPillarNetworkA,4534,4534,4534,1982-06-01,453.4000000000346,453.41846,2015-01-01 01:15:34,bin4534,35,False -CTSPillarNetworkA,4535,4535,4535,1982-06-02,453.5000000000346,453.51846,2015-01-01 01:15:35,bin4535,75,False -CTSPillarNetworkA,4536,4536,4536,1982-06-03,453.60000000003464,453.61847,2015-01-01 01:15:36,bin4536,35,False -CTSPillarNetworkA,4537,4537,4537,1982-06-04,453.70000000003466,453.71848,2015-01-01 01:15:37,bin4537,75,False -CTSPillarNetworkA,4538,4538,4538,1982-06-05,453.8000000000347,453.81848,2015-01-01 01:15:38,bin4538,35,False -CTSPillarNetworkA,4539,4539,4539,1982-06-06,453.9000000000347,453.9185,2015-01-01 01:15:39,bin4539,75,False -CTSPillarNetworkA,4540,4540,4540,1982-06-07,454.00000000003473,454.0185,2015-01-01 01:15:40,bin4540,35,False -CTSPillarNetworkA,4541,4541,4541,1982-06-08,454.10000000003475,454.1185,2015-01-01 01:15:41,bin4541,75,False -CTSPillarNetworkA,4542,4542,4542,1982-06-09,454.2000000000348,454.2185,2015-01-01 01:15:42,bin4542,35,False -CTSPillarNetworkA,4543,4543,4543,1982-06-10,454.3000000000348,454.3185,2015-01-01 01:15:43,bin4543,75,False -CTSPillarNetworkA,4544,4544,4544,1982-06-11,454.4000000000348,454.41852,2015-01-01 01:15:44,bin4544,35,False -CTSPillarNetworkA,4545,4545,4545,1982-06-12,454.50000000003485,454.51852,2015-01-01 01:15:45,bin4545,75,False -CTSPillarNetworkA,4546,4546,4546,1982-06-13,454.60000000003487,454.61853,2015-01-01 01:15:46,bin4546,35,False -CTSPillarNetworkA,4547,4547,4547,1982-06-14,454.7000000000349,454.71854,2015-01-01 01:15:47,bin4547,75,False -CTSPillarNetworkA,4548,4548,4548,1982-06-15,454.8000000000349,454.81854,2015-01-01 01:15:48,bin4548,35,False -CTSPillarNetworkA,4549,4549,4549,1982-06-16,454.90000000003494,454.91855,2015-01-01 01:15:49,bin4549,75,False -CTSPillarNetworkA,4550,4550,4550,1982-06-17,455.00000000003496,455.01855,2015-01-01 01:15:50,bin4550,35,False -CTSPillarNetworkA,4551,4551,4551,1982-06-18,455.100000000035,455.11856,2015-01-01 01:15:51,bin4551,75,False -CTSPillarNetworkA,4552,4552,4552,1982-06-19,455.200000000035,455.21857,2015-01-01 01:15:52,bin4552,35,False -CTSPillarNetworkA,4553,4553,4553,1982-06-20,455.300000000035,455.31857,2015-01-01 01:15:53,bin4553,75,False -CTSPillarNetworkA,4554,4554,4554,1982-06-21,455.40000000003505,455.41858,2015-01-01 01:15:54,bin4554,35,False -CTSPillarNetworkA,4555,4555,4555,1982-06-22,455.5000000000351,455.5186,2015-01-01 01:15:55,bin4555,75,False -CTSPillarNetworkA,4556,4556,4556,1982-06-23,455.6000000000351,455.6186,2015-01-01 01:15:56,bin4556,35,False -CTSPillarNetworkA,4557,4557,4557,1982-06-24,455.7000000000351,455.7186,2015-01-01 01:15:57,bin4557,75,False -CTSPillarNetworkA,4558,4558,4558,1982-06-25,455.80000000003514,455.8186,2015-01-01 01:15:58,bin4558,35,False -CTSPillarNetworkA,4559,4559,4559,1982-06-26,455.90000000003516,455.9186,2015-01-01 01:15:59,bin4559,75,False -CTSPillarNetworkA,4560,4560,4560,1982-06-27,456.0000000000352,456.01862,2015-01-01 01:16:00,bin4560,35,False -CTSPillarNetworkA,4561,4561,4561,1982-06-28,456.1000000000352,456.11862,2015-01-01 01:16:01,bin4561,75,False -CTSPillarNetworkA,4562,4562,4562,1982-06-29,456.20000000003523,456.21863,2015-01-01 01:16:02,bin4562,35,False -CTSPillarNetworkA,4563,4563,4563,1982-06-30,456.30000000003525,456.31863,2015-01-01 01:16:03,bin4563,75,False -CTSPillarNetworkA,4564,4564,4564,1982-07-01,456.4000000000353,456.41864,2015-01-01 01:16:04,bin4564,35,False -CTSPillarNetworkA,4565,4565,4565,1982-07-02,456.5000000000353,456.51865,2015-01-01 01:16:05,bin4565,75,False -CTSPillarNetworkA,4566,4566,4566,1982-07-03,456.6000000000353,456.61865,2015-01-01 01:16:06,bin4566,35,False -CTSPillarNetworkA,4567,4567,4567,1982-07-04,456.70000000003535,456.71866,2015-01-01 01:16:07,bin4567,75,False -CTSPillarNetworkA,4568,4568,4568,1982-07-05,456.80000000003537,456.81866,2015-01-01 01:16:08,bin4568,35,False -CTSPillarNetworkA,4569,4569,4569,1982-07-06,456.9000000000354,456.91867,2015-01-01 01:16:09,bin4569,75,False -CTSPillarNetworkA,4570,4570,4570,1982-07-07,457.0000000000354,457.01868,2015-01-01 01:16:10,bin4570,35,False -CTSPillarNetworkA,4571,4571,4571,1982-07-08,457.10000000003544,457.11868,2015-01-01 01:16:11,bin4571,75,False -CTSPillarNetworkA,4572,4572,4572,1982-07-09,457.20000000003546,457.2187,2015-01-01 01:16:12,bin4572,35,False -CTSPillarNetworkA,4573,4573,4573,1982-07-10,457.3000000000355,457.3187,2015-01-01 01:16:13,bin4573,75,False -CTSPillarNetworkA,4574,4574,4574,1982-07-11,457.4000000000355,457.4187,2015-01-01 01:16:14,bin4574,35,False -CTSPillarNetworkA,4575,4575,4575,1982-07-12,457.5000000000355,457.5187,2015-01-01 01:16:15,bin4575,75,False -CTSPillarNetworkA,4576,4576,4576,1982-07-13,457.60000000003555,457.6187,2015-01-01 01:16:16,bin4576,35,False -CTSPillarNetworkA,4577,4577,4577,1982-07-14,457.7000000000356,457.71872,2015-01-01 01:16:17,bin4577,75,False -CTSPillarNetworkA,4578,4578,4578,1982-07-15,457.8000000000356,457.81873,2015-01-01 01:16:18,bin4578,35,False -CTSPillarNetworkA,4579,4579,4579,1982-07-16,457.9000000000356,457.91873,2015-01-01 01:16:19,bin4579,75,False -CTSPillarNetworkA,4580,4580,4580,1982-07-17,458.00000000003564,458.01874,2015-01-01 01:16:20,bin4580,35,False -CTSPillarNetworkA,4581,4581,4581,1982-07-18,458.10000000003566,458.11874,2015-01-01 01:16:21,bin4581,75,False -CTSPillarNetworkA,4582,4582,4582,1982-07-19,458.2000000000357,458.21875,2015-01-01 01:16:22,bin4582,35,False -CTSPillarNetworkA,4583,4583,4583,1982-07-20,458.3000000000357,458.31876,2015-01-01 01:16:23,bin4583,75,False -CTSPillarNetworkA,4584,4584,4584,1982-07-21,458.40000000003573,458.41876,2015-01-01 01:16:24,bin4584,35,False -CTSPillarNetworkA,4585,4585,4585,1982-07-22,458.50000000003575,458.51877,2015-01-01 01:16:25,bin4585,75,False -CTSPillarNetworkA,4586,4586,4586,1982-07-23,458.6000000000358,458.61877,2015-01-01 01:16:26,bin4586,35,False -CTSPillarNetworkA,4587,4587,4587,1982-07-24,458.7000000000358,458.71878,2015-01-01 01:16:27,bin4587,75,False -CTSPillarNetworkA,4588,4588,4588,1982-07-25,458.8000000000358,458.8188,2015-01-01 01:16:28,bin4588,35,False -CTSPillarNetworkA,4589,4589,4589,1982-07-26,458.90000000003585,458.9188,2015-01-01 01:16:29,bin4589,75,False -CTSPillarNetworkA,4590,4590,4590,1982-07-27,459.00000000003587,459.0188,2015-01-01 01:16:30,bin4590,35,False -CTSPillarNetworkA,4591,4591,4591,1982-07-28,459.1000000000359,459.1188,2015-01-01 01:16:31,bin4591,75,False -CTSPillarNetworkA,4592,4592,4592,1982-07-29,459.2000000000359,459.2188,2015-01-01 01:16:32,bin4592,35,False -CTSPillarNetworkA,4593,4593,4593,1982-07-30,459.30000000003594,459.31882,2015-01-01 01:16:33,bin4593,75,False -CTSPillarNetworkA,4594,4594,4594,1982-07-31,459.40000000003596,459.41882,2015-01-01 01:16:34,bin4594,35,False -CTSPillarNetworkA,4595,4595,4595,1982-08-01,459.500000000036,459.51883,2015-01-01 01:16:35,bin4595,75,False -CTSPillarNetworkA,4596,4596,4596,1982-08-02,459.600000000036,459.61884,2015-01-01 01:16:36,bin4596,35,False -CTSPillarNetworkA,4597,4597,4597,1982-08-03,459.700000000036,459.71884,2015-01-01 01:16:37,bin4597,75,False -CTSPillarNetworkA,4598,4598,4598,1982-08-04,459.80000000003605,459.81885,2015-01-01 01:16:38,bin4598,35,False -CTSPillarNetworkA,4599,4599,4599,1982-08-05,459.9000000000361,459.91885,2015-01-01 01:16:39,bin4599,75,False -CTSPillarNetworkA,4600,4600,4600,1982-08-06,460.0000000000361,460.01886,2015-01-01 01:16:40,bin4600,35,False -CTSPillarNetworkA,4601,4601,4601,1982-08-07,460.1000000000361,460.11887,2015-01-01 01:16:41,bin4601,75,False -CTSPillarNetworkA,4602,4602,4602,1982-08-08,460.20000000003614,460.21887,2015-01-01 01:16:42,bin4602,35,False -CTSPillarNetworkA,4603,4603,4603,1982-08-09,460.30000000003616,460.31888,2015-01-01 01:16:43,bin4603,75,False -CTSPillarNetworkA,4604,4604,4604,1982-08-10,460.4000000000362,460.41888,2015-01-01 01:16:44,bin4604,35,False -CTSPillarNetworkA,4605,4605,4605,1982-08-11,460.5000000000362,460.5189,2015-01-01 01:16:45,bin4605,75,False -CTSPillarNetworkA,4606,4606,4606,1982-08-12,460.60000000003623,460.6189,2015-01-01 01:16:46,bin4606,35,False -CTSPillarNetworkA,4607,4607,4607,1982-08-13,460.70000000003625,460.7189,2015-01-01 01:16:47,bin4607,75,False -CTSPillarNetworkA,4608,4608,4608,1982-08-14,460.8000000000363,460.8189,2015-01-01 01:16:48,bin4608,35,False -CTSPillarNetworkA,4609,4609,4609,1982-08-15,460.9000000000363,460.9189,2015-01-01 01:16:49,bin4609,75,False -CTSPillarNetworkA,4610,4610,4610,1982-08-16,461.0000000000363,461.01892,2015-01-01 01:16:50,bin4610,35,False -CTSPillarNetworkA,4611,4611,4611,1982-08-17,461.10000000003635,461.11893,2015-01-01 01:16:51,bin4611,75,False -CTSPillarNetworkA,4612,4612,4612,1982-08-18,461.20000000003637,461.21893,2015-01-01 01:16:52,bin4612,35,False -CTSPillarNetworkA,4613,4613,4613,1982-08-19,461.3000000000364,461.31894,2015-01-01 01:16:53,bin4613,75,False -CTSPillarNetworkA,4614,4614,4614,1982-08-20,461.4000000000364,461.41895,2015-01-01 01:16:54,bin4614,35,False -CTSPillarNetworkA,4615,4615,4615,1982-08-21,461.50000000003644,461.51895,2015-01-01 01:16:55,bin4615,75,False -CTSPillarNetworkA,4616,4616,4616,1982-08-22,461.60000000003646,461.61896,2015-01-01 01:16:56,bin4616,35,False -CTSPillarNetworkA,4617,4617,4617,1982-08-23,461.7000000000365,461.71896,2015-01-01 01:16:57,bin4617,75,False -CTSPillarNetworkA,4618,4618,4618,1982-08-24,461.8000000000365,461.81897,2015-01-01 01:16:58,bin4618,35,False -CTSPillarNetworkA,4619,4619,4619,1982-08-25,461.9000000000365,461.91898,2015-01-01 01:16:59,bin4619,75,False -CTSPillarNetworkA,4620,4620,4620,1982-08-26,462.00000000003655,462.01898,2015-01-01 01:17:00,bin4620,35,False -CTSPillarNetworkA,4621,4621,4621,1982-08-27,462.1000000000366,462.119,2015-01-01 01:17:01,bin4621,75,False -CTSPillarNetworkA,4622,4622,4622,1982-08-28,462.2000000000366,462.219,2015-01-01 01:17:02,bin4622,35,False -CTSPillarNetworkA,4623,4623,4623,1982-08-29,462.3000000000366,462.319,2015-01-01 01:17:03,bin4623,75,False -CTSPillarNetworkA,4624,4624,4624,1982-08-30,462.40000000003664,462.419,2015-01-01 01:17:04,bin4624,35,False -CTSPillarNetworkA,4625,4625,4625,1982-08-31,462.50000000003666,462.519,2015-01-01 01:17:05,bin4625,75,False -CTSPillarNetworkA,4626,4626,4626,1982-09-01,462.6000000000367,462.61902,2015-01-01 01:17:06,bin4626,35,False -CTSPillarNetworkA,4627,4627,4627,1982-09-02,462.7000000000367,462.71902,2015-01-01 01:17:07,bin4627,75,False -CTSPillarNetworkA,4628,4628,4628,1982-09-03,462.80000000003673,462.81903,2015-01-01 01:17:08,bin4628,35,False -CTSPillarNetworkA,4629,4629,4629,1982-09-04,462.90000000003675,462.91904,2015-01-01 01:17:09,bin4629,75,False -CTSPillarNetworkA,4630,4630,4630,1982-09-05,463.0000000000368,463.01904,2015-01-01 01:17:10,bin4630,35,False -CTSPillarNetworkA,4631,4631,4631,1982-09-06,463.1000000000368,463.11905,2015-01-01 01:17:11,bin4631,75,False -CTSPillarNetworkA,4632,4632,4632,1982-09-07,463.2000000000368,463.21906,2015-01-01 01:17:12,bin4632,35,False -CTSPillarNetworkA,4633,4633,4633,1982-09-08,463.30000000003685,463.31906,2015-01-01 01:17:13,bin4633,75,False -CTSPillarNetworkA,4634,4634,4634,1982-09-09,463.40000000003687,463.41907,2015-01-01 01:17:14,bin4634,35,False -CTSPillarNetworkA,4635,4635,4635,1982-09-10,463.5000000000369,463.51907,2015-01-01 01:17:15,bin4635,75,False -CTSPillarNetworkA,4636,4636,4636,1982-09-11,463.6000000000369,463.61908,2015-01-01 01:17:16,bin4636,35,False -CTSPillarNetworkA,4637,4637,4637,1982-09-12,463.70000000003694,463.7191,2015-01-01 01:17:17,bin4637,75,False -CTSPillarNetworkA,4638,4638,4638,1982-09-13,463.80000000003696,463.8191,2015-01-01 01:17:18,bin4638,35,False -CTSPillarNetworkA,4639,4639,4639,1982-09-14,463.900000000037,463.9191,2015-01-01 01:17:19,bin4639,75,False -CTSPillarNetworkA,4640,4640,4640,1982-09-15,464.000000000037,464.0191,2015-01-01 01:17:20,bin4640,35,False -CTSPillarNetworkA,4641,4641,4641,1982-09-16,464.100000000037,464.1191,2015-01-01 01:17:21,bin4641,75,False -CTSPillarNetworkA,4642,4642,4642,1982-09-17,464.20000000003705,464.21912,2015-01-01 01:17:22,bin4642,35,False -CTSPillarNetworkA,4643,4643,4643,1982-09-18,464.3000000000371,464.31912,2015-01-01 01:17:23,bin4643,75,False -CTSPillarNetworkA,4644,4644,4644,1982-09-19,464.4000000000371,464.41913,2015-01-01 01:17:24,bin4644,35,False -CTSPillarNetworkA,4645,4645,4645,1982-09-20,464.5000000000371,464.51913,2015-01-01 01:17:25,bin4645,75,False -CTSPillarNetworkA,4646,4646,4646,1982-09-21,464.60000000003714,464.61914,2015-01-01 01:17:26,bin4646,35,False -CTSPillarNetworkA,4647,4647,4647,1982-09-22,464.70000000003716,464.71915,2015-01-01 01:17:27,bin4647,75,False -CTSPillarNetworkA,4648,4648,4648,1982-09-23,464.8000000000372,464.81915,2015-01-01 01:17:28,bin4648,35,False -CTSPillarNetworkA,4649,4649,4649,1982-09-24,464.9000000000372,464.91916,2015-01-01 01:17:29,bin4649,75,False -CTSPillarNetworkA,4650,4650,4650,1982-09-25,465.00000000003723,465.01917,2015-01-01 01:17:30,bin4650,35,False -CTSPillarNetworkA,4651,4651,4651,1982-09-26,465.10000000003726,465.11917,2015-01-01 01:17:31,bin4651,75,False -CTSPillarNetworkA,4652,4652,4652,1982-09-27,465.2000000000373,465.21918,2015-01-01 01:17:32,bin4652,35,False -CTSPillarNetworkA,4653,4653,4653,1982-09-28,465.3000000000373,465.31918,2015-01-01 01:17:33,bin4653,75,False -CTSPillarNetworkA,4654,4654,4654,1982-09-29,465.4000000000373,465.4192,2015-01-01 01:17:34,bin4654,35,False -CTSPillarNetworkA,4655,4655,4655,1982-09-30,465.50000000003735,465.5192,2015-01-01 01:17:35,bin4655,75,False -CTSPillarNetworkA,4656,4656,4656,1982-10-01,465.60000000003737,465.6192,2015-01-01 01:17:36,bin4656,35,False -CTSPillarNetworkA,4657,4657,4657,1982-10-02,465.7000000000374,465.7192,2015-01-01 01:17:37,bin4657,75,False -CTSPillarNetworkA,4658,4658,4658,1982-10-03,465.8000000000374,465.8192,2015-01-01 01:17:38,bin4658,35,False -CTSPillarNetworkA,4659,4659,4659,1982-10-04,465.90000000003744,465.91922,2015-01-01 01:17:39,bin4659,75,False -CTSPillarNetworkA,4660,4660,4660,1982-10-05,466.00000000003746,466.01923,2015-01-01 01:17:40,bin4660,35,False -CTSPillarNetworkA,4661,4661,4661,1982-10-06,466.1000000000375,466.11923,2015-01-01 01:17:41,bin4661,75,False -CTSPillarNetworkA,4662,4662,4662,1982-10-07,466.2000000000375,466.21924,2015-01-01 01:17:42,bin4662,35,False -CTSPillarNetworkA,4663,4663,4663,1982-10-08,466.3000000000375,466.31924,2015-01-01 01:17:43,bin4663,75,False -CTSPillarNetworkA,4664,4664,4664,1982-10-09,466.40000000003755,466.41925,2015-01-01 01:17:44,bin4664,35,False -CTSPillarNetworkA,4665,4665,4665,1982-10-10,466.5000000000376,466.51926,2015-01-01 01:17:45,bin4665,75,False -CTSPillarNetworkA,4666,4666,4666,1982-10-11,466.6000000000376,466.61926,2015-01-01 01:17:46,bin4666,35,False -CTSPillarNetworkA,4667,4667,4667,1982-10-12,466.7000000000376,466.71927,2015-01-01 01:17:47,bin4667,75,False -CTSPillarNetworkA,4668,4668,4668,1982-10-13,466.80000000003764,466.81927,2015-01-01 01:17:48,bin4668,35,False -CTSPillarNetworkA,4669,4669,4669,1982-10-14,466.90000000003766,466.91928,2015-01-01 01:17:49,bin4669,75,False -CTSPillarNetworkA,4670,4670,4670,1982-10-15,467.0000000000377,467.0193,2015-01-01 01:17:50,bin4670,35,False -CTSPillarNetworkA,4671,4671,4671,1982-10-16,467.1000000000377,467.1193,2015-01-01 01:17:51,bin4671,75,False -CTSPillarNetworkA,4672,4672,4672,1982-10-17,467.20000000003773,467.2193,2015-01-01 01:17:52,bin4672,35,False -CTSPillarNetworkA,4673,4673,4673,1982-10-18,467.30000000003776,467.3193,2015-01-01 01:17:53,bin4673,75,False -CTSPillarNetworkA,4674,4674,4674,1982-10-19,467.4000000000378,467.4193,2015-01-01 01:17:54,bin4674,35,False -CTSPillarNetworkA,4675,4675,4675,1982-10-20,467.5000000000378,467.51932,2015-01-01 01:17:55,bin4675,75,False -CTSPillarNetworkA,4676,4676,4676,1982-10-21,467.6000000000378,467.61932,2015-01-01 01:17:56,bin4676,35,False -CTSPillarNetworkA,4677,4677,4677,1982-10-22,467.70000000003785,467.71933,2015-01-01 01:17:57,bin4677,75,False -CTSPillarNetworkA,4678,4678,4678,1982-10-23,467.80000000003787,467.81934,2015-01-01 01:17:58,bin4678,35,False -CTSPillarNetworkA,4679,4679,4679,1982-10-24,467.9000000000379,467.91934,2015-01-01 01:17:59,bin4679,75,False -CTSPillarNetworkA,4680,4680,4680,1982-10-25,468.0000000000379,468.01935,2015-01-01 01:18:00,bin4680,35,False -CTSPillarNetworkA,4681,4681,4681,1982-10-26,468.10000000003794,468.11935,2015-01-01 01:18:01,bin4681,75,False -CTSPillarNetworkA,4682,4682,4682,1982-10-27,468.20000000003796,468.21936,2015-01-01 01:18:02,bin4682,35,False -CTSPillarNetworkA,4683,4683,4683,1982-10-28,468.300000000038,468.31937,2015-01-01 01:18:03,bin4683,75,False -CTSPillarNetworkA,4684,4684,4684,1982-10-29,468.400000000038,468.41937,2015-01-01 01:18:04,bin4684,35,False -CTSPillarNetworkA,4685,4685,4685,1982-10-30,468.500000000038,468.51938,2015-01-01 01:18:05,bin4685,75,False -CTSPillarNetworkA,4686,4686,4686,1982-10-31,468.60000000003805,468.6194,2015-01-01 01:18:06,bin4686,35,False -CTSPillarNetworkA,4687,4687,4687,1982-11-01,468.7000000000381,468.7194,2015-01-01 01:18:07,bin4687,75,False -CTSPillarNetworkA,4688,4688,4688,1982-11-02,468.8000000000381,468.8194,2015-01-01 01:18:08,bin4688,35,False -CTSPillarNetworkA,4689,4689,4689,1982-11-03,468.9000000000381,468.9194,2015-01-01 01:18:09,bin4689,75,False -CTSPillarNetworkA,4690,4690,4690,1982-11-04,469.00000000003814,469.0194,2015-01-01 01:18:10,bin4690,35,False -CTSPillarNetworkA,4691,4691,4691,1982-11-05,469.10000000003816,469.11942,2015-01-01 01:18:11,bin4691,75,False -CTSPillarNetworkA,4692,4692,4692,1982-11-06,469.2000000000382,469.21942,2015-01-01 01:18:12,bin4692,35,False -CTSPillarNetworkA,4693,4693,4693,1982-11-07,469.3000000000382,469.31943,2015-01-01 01:18:13,bin4693,75,False -CTSPillarNetworkA,4694,4694,4694,1982-11-08,469.40000000003823,469.41943,2015-01-01 01:18:14,bin4694,35,False -CTSPillarNetworkA,4695,4695,4695,1982-11-09,469.50000000003826,469.51944,2015-01-01 01:18:15,bin4695,75,False -CTSPillarNetworkA,4696,4696,4696,1982-11-10,469.6000000000383,469.61945,2015-01-01 01:18:16,bin4696,35,False -CTSPillarNetworkA,4697,4697,4697,1982-11-11,469.7000000000383,469.71945,2015-01-01 01:18:17,bin4697,75,False -CTSPillarNetworkA,4698,4698,4698,1982-11-12,469.8000000000383,469.81946,2015-01-01 01:18:18,bin4698,35,False -CTSPillarNetworkA,4699,4699,4699,1982-11-13,469.90000000003835,469.91946,2015-01-01 01:18:19,bin4699,75,False -CTSPillarNetworkA,4700,4700,4700,1982-11-14,470.00000000003837,470.01947,2015-01-01 01:18:20,bin4700,35,False -CTSPillarNetworkA,4701,4701,4701,1982-11-15,470.1000000000384,470.11948,2015-01-01 01:18:21,bin4701,75,False -CTSPillarNetworkA,4702,4702,4702,1982-11-16,470.2000000000384,470.21948,2015-01-01 01:18:22,bin4702,35,False -CTSPillarNetworkA,4703,4703,4703,1982-11-17,470.30000000003844,470.3195,2015-01-01 01:18:23,bin4703,75,False -CTSPillarNetworkA,4704,4704,4704,1982-11-18,470.40000000003846,470.4195,2015-01-01 01:18:24,bin4704,35,False -CTSPillarNetworkA,4705,4705,4705,1982-11-19,470.5000000000385,470.5195,2015-01-01 01:18:25,bin4705,75,False -CTSPillarNetworkA,4706,4706,4706,1982-11-20,470.6000000000385,470.6195,2015-01-01 01:18:26,bin4706,35,False -CTSPillarNetworkA,4707,4707,4707,1982-11-21,470.70000000003853,470.7195,2015-01-01 01:18:27,bin4707,75,False -CTSPillarNetworkA,4708,4708,4708,1982-11-22,470.80000000003855,470.81952,2015-01-01 01:18:28,bin4708,35,False -CTSPillarNetworkA,4709,4709,4709,1982-11-23,470.9000000000386,470.91953,2015-01-01 01:18:29,bin4709,75,False -CTSPillarNetworkA,4710,4710,4710,1982-11-24,471.0000000000386,471.01953,2015-01-01 01:18:30,bin4710,35,False -CTSPillarNetworkA,4711,4711,4711,1982-11-25,471.1000000000386,471.11954,2015-01-01 01:18:31,bin4711,75,False -CTSPillarNetworkA,4712,4712,4712,1982-11-26,471.20000000003864,471.21954,2015-01-01 01:18:32,bin4712,35,False -CTSPillarNetworkA,4713,4713,4713,1982-11-27,471.30000000003866,471.31955,2015-01-01 01:18:33,bin4713,75,False -CTSPillarNetworkA,4714,4714,4714,1982-11-28,471.4000000000387,471.41956,2015-01-01 01:18:34,bin4714,35,False -CTSPillarNetworkA,4715,4715,4715,1982-11-29,471.5000000000387,471.51956,2015-01-01 01:18:35,bin4715,75,False -CTSPillarNetworkA,4716,4716,4716,1982-11-30,471.60000000003873,471.61957,2015-01-01 01:18:36,bin4716,35,False -CTSPillarNetworkA,4717,4717,4717,1982-12-01,471.70000000003876,471.71957,2015-01-01 01:18:37,bin4717,75,False -CTSPillarNetworkA,4718,4718,4718,1982-12-02,471.8000000000388,471.81958,2015-01-01 01:18:38,bin4718,35,False -CTSPillarNetworkA,4719,4719,4719,1982-12-03,471.9000000000388,471.9196,2015-01-01 01:18:39,bin4719,75,False -CTSPillarNetworkA,4720,4720,4720,1982-12-04,472.0000000000388,472.0196,2015-01-01 01:18:40,bin4720,35,False -CTSPillarNetworkA,4721,4721,4721,1982-12-05,472.10000000003885,472.1196,2015-01-01 01:18:41,bin4721,75,False -CTSPillarNetworkA,4722,4722,4722,1982-12-06,472.20000000003887,472.2196,2015-01-01 01:18:42,bin4722,35,False -CTSPillarNetworkA,4723,4723,4723,1982-12-07,472.3000000000389,472.3196,2015-01-01 01:18:43,bin4723,75,False -CTSPillarNetworkA,4724,4724,4724,1982-12-08,472.4000000000389,472.41962,2015-01-01 01:18:44,bin4724,35,False -CTSPillarNetworkA,4725,4725,4725,1982-12-09,472.50000000003894,472.51962,2015-01-01 01:18:45,bin4725,75,False -CTSPillarNetworkA,4726,4726,4726,1982-12-10,472.60000000003896,472.61963,2015-01-01 01:18:46,bin4726,35,False -CTSPillarNetworkA,4727,4727,4727,1982-12-11,472.700000000039,472.71964,2015-01-01 01:18:47,bin4727,75,False -CTSPillarNetworkA,4728,4728,4728,1982-12-12,472.800000000039,472.81964,2015-01-01 01:18:48,bin4728,35,False -CTSPillarNetworkA,4729,4729,4729,1982-12-13,472.90000000003903,472.91965,2015-01-01 01:18:49,bin4729,75,False -CTSPillarNetworkA,4730,4730,4730,1982-12-14,473.00000000003905,473.01965,2015-01-01 01:18:50,bin4730,35,False -CTSPillarNetworkA,4731,4731,4731,1982-12-15,473.1000000000391,473.11966,2015-01-01 01:18:51,bin4731,75,False -CTSPillarNetworkA,4732,4732,4732,1982-12-16,473.2000000000391,473.21967,2015-01-01 01:18:52,bin4732,35,False -CTSPillarNetworkA,4733,4733,4733,1982-12-17,473.3000000000391,473.31967,2015-01-01 01:18:53,bin4733,75,False -CTSPillarNetworkA,4734,4734,4734,1982-12-18,473.40000000003914,473.41968,2015-01-01 01:18:54,bin4734,35,False -CTSPillarNetworkA,4735,4735,4735,1982-12-19,473.50000000003917,473.51968,2015-01-01 01:18:55,bin4735,75,False -CTSPillarNetworkA,4736,4736,4736,1982-12-20,473.6000000000392,473.6197,2015-01-01 01:18:56,bin4736,35,False -CTSPillarNetworkA,4737,4737,4737,1982-12-21,473.7000000000392,473.7197,2015-01-01 01:18:57,bin4737,75,False -CTSPillarNetworkA,4738,4738,4738,1982-12-22,473.80000000003923,473.8197,2015-01-01 01:18:58,bin4738,35,False -CTSPillarNetworkA,4739,4739,4739,1982-12-23,473.90000000003926,473.9197,2015-01-01 01:18:59,bin4739,75,False -CTSPillarNetworkA,4740,4740,4740,1982-12-24,474.0000000000393,474.0197,2015-01-01 01:19:00,bin4740,35,False -CTSPillarNetworkA,4741,4741,4741,1982-12-25,474.1000000000393,474.11972,2015-01-01 01:19:01,bin4741,75,False -CTSPillarNetworkA,4742,4742,4742,1982-12-26,474.2000000000393,474.21973,2015-01-01 01:19:02,bin4742,35,False -CTSPillarNetworkA,4743,4743,4743,1982-12-27,474.30000000003935,474.31973,2015-01-01 01:19:03,bin4743,75,False -CTSPillarNetworkA,4744,4744,4744,1982-12-28,474.40000000003937,474.41974,2015-01-01 01:19:04,bin4744,35,False -CTSPillarNetworkA,4745,4745,4745,1982-12-29,474.5000000000394,474.51974,2015-01-01 01:19:05,bin4745,75,False -CTSPillarNetworkA,4746,4746,4746,1982-12-30,474.6000000000394,474.61975,2015-01-01 01:19:06,bin4746,35,False -CTSPillarNetworkA,4747,4747,4747,1982-12-31,474.70000000003944,474.71976,2015-01-01 01:19:07,bin4747,75,False -CTSPillarNetworkA,4748,4748,4748,1983-01-01,474.80000000003946,474.81976,2015-01-01 01:19:08,bin4748,35,False -CTSPillarNetworkA,4749,4749,4749,1983-01-02,474.9000000000395,474.91977,2015-01-01 01:19:09,bin4749,75,False -CTSPillarNetworkA,4750,4750,4750,1983-01-03,475.0000000000395,475.01978,2015-01-01 01:19:10,bin4750,35,False -CTSPillarNetworkA,4751,4751,4751,1983-01-04,475.10000000003953,475.11978,2015-01-01 01:19:11,bin4751,75,False -CTSPillarNetworkA,4752,4752,4752,1983-01-05,475.20000000003955,475.2198,2015-01-01 01:19:12,bin4752,35,False -CTSPillarNetworkA,4753,4753,4753,1983-01-06,475.3000000000396,475.3198,2015-01-01 01:19:13,bin4753,75,False -CTSPillarNetworkA,4754,4754,4754,1983-01-07,475.4000000000396,475.4198,2015-01-01 01:19:14,bin4754,35,False -CTSPillarNetworkA,4755,4755,4755,1983-01-08,475.5000000000396,475.5198,2015-01-01 01:19:15,bin4755,75,False -CTSPillarNetworkA,4756,4756,4756,1983-01-09,475.60000000003964,475.6198,2015-01-01 01:19:16,bin4756,35,False -CTSPillarNetworkA,4757,4757,4757,1983-01-10,475.70000000003967,475.71982,2015-01-01 01:19:17,bin4757,75,False -CTSPillarNetworkA,4758,4758,4758,1983-01-11,475.8000000000397,475.81982,2015-01-01 01:19:18,bin4758,35,False -CTSPillarNetworkA,4759,4759,4759,1983-01-12,475.9000000000397,475.91983,2015-01-01 01:19:19,bin4759,75,False -CTSPillarNetworkA,4760,4760,4760,1983-01-13,476.00000000003973,476.01984,2015-01-01 01:19:20,bin4760,35,False -CTSPillarNetworkA,4761,4761,4761,1983-01-14,476.10000000003976,476.11984,2015-01-01 01:19:21,bin4761,75,False -CTSPillarNetworkA,4762,4762,4762,1983-01-15,476.2000000000398,476.21985,2015-01-01 01:19:22,bin4762,35,False -CTSPillarNetworkA,4763,4763,4763,1983-01-16,476.3000000000398,476.31985,2015-01-01 01:19:23,bin4763,75,False -CTSPillarNetworkA,4764,4764,4764,1983-01-17,476.4000000000398,476.41986,2015-01-01 01:19:24,bin4764,35,False -CTSPillarNetworkA,4765,4765,4765,1983-01-18,476.50000000003985,476.51987,2015-01-01 01:19:25,bin4765,75,False -CTSPillarNetworkA,4766,4766,4766,1983-01-19,476.60000000003987,476.61987,2015-01-01 01:19:26,bin4766,35,False -CTSPillarNetworkA,4767,4767,4767,1983-01-20,476.7000000000399,476.71988,2015-01-01 01:19:27,bin4767,75,False -CTSPillarNetworkA,4768,4768,4768,1983-01-21,476.8000000000399,476.8199,2015-01-01 01:19:28,bin4768,35,False -CTSPillarNetworkA,4769,4769,4769,1983-01-22,476.90000000003994,476.9199,2015-01-01 01:19:29,bin4769,75,False -CTSPillarNetworkA,4770,4770,4770,1983-01-23,477.00000000003996,477.0199,2015-01-01 01:19:30,bin4770,35,False -CTSPillarNetworkA,4771,4771,4771,1983-01-24,477.10000000004,477.1199,2015-01-01 01:19:31,bin4771,75,False -CTSPillarNetworkA,4772,4772,4772,1983-01-25,477.20000000004,477.2199,2015-01-01 01:19:32,bin4772,35,False -CTSPillarNetworkA,4773,4773,4773,1983-01-26,477.30000000004003,477.31992,2015-01-01 01:19:33,bin4773,75,False -CTSPillarNetworkA,4774,4774,4774,1983-01-27,477.40000000004005,477.41992,2015-01-01 01:19:34,bin4774,35,False -CTSPillarNetworkA,4775,4775,4775,1983-01-28,477.5000000000401,477.51993,2015-01-01 01:19:35,bin4775,75,False -CTSPillarNetworkA,4776,4776,4776,1983-01-29,477.6000000000401,477.61993,2015-01-01 01:19:36,bin4776,35,False -CTSPillarNetworkA,4777,4777,4777,1983-01-30,477.7000000000401,477.71994,2015-01-01 01:19:37,bin4777,75,False -CTSPillarNetworkA,4778,4778,4778,1983-01-31,477.80000000004014,477.81995,2015-01-01 01:19:38,bin4778,35,False -CTSPillarNetworkA,4779,4779,4779,1983-02-01,477.90000000004017,477.91995,2015-01-01 01:19:39,bin4779,75,False -CTSPillarNetworkA,4780,4780,4780,1983-02-02,478.0000000000402,478.01996,2015-01-01 01:19:40,bin4780,35,False -CTSPillarNetworkA,4781,4781,4781,1983-02-03,478.1000000000402,478.11996,2015-01-01 01:19:41,bin4781,75,False -CTSPillarNetworkA,4782,4782,4782,1983-02-04,478.20000000004023,478.21997,2015-01-01 01:19:42,bin4782,35,False -CTSPillarNetworkA,4783,4783,4783,1983-02-05,478.30000000004026,478.31998,2015-01-01 01:19:43,bin4783,75,False -CTSPillarNetworkA,4784,4784,4784,1983-02-06,478.4000000000403,478.41998,2015-01-01 01:19:44,bin4784,35,False -CTSPillarNetworkA,4785,4785,4785,1983-02-07,478.5000000000403,478.52,2015-01-01 01:19:45,bin4785,75,False -CTSPillarNetworkA,4786,4786,4786,1983-02-08,478.6000000000403,478.62,2015-01-01 01:19:46,bin4786,35,False -CTSPillarNetworkA,4787,4787,4787,1983-02-09,478.70000000004035,478.72,2015-01-01 01:19:47,bin4787,75,False -CTSPillarNetworkA,4788,4788,4788,1983-02-10,478.80000000004037,478.82,2015-01-01 01:19:48,bin4788,35,False -CTSPillarNetworkA,4789,4789,4789,1983-02-11,478.9000000000404,478.92,2015-01-01 01:19:49,bin4789,75,False -CTSPillarNetworkA,4790,4790,4790,1983-02-12,479.0000000000404,479.02002,2015-01-01 01:19:50,bin4790,35,False -CTSPillarNetworkA,4791,4791,4791,1983-02-13,479.10000000004044,479.12003,2015-01-01 01:19:51,bin4791,75,False -CTSPillarNetworkA,4792,4792,4792,1983-02-14,479.20000000004046,479.22003,2015-01-01 01:19:52,bin4792,35,False -CTSPillarNetworkA,4793,4793,4793,1983-02-15,479.3000000000405,479.32004,2015-01-01 01:19:53,bin4793,75,False -CTSPillarNetworkA,4794,4794,4794,1983-02-16,479.4000000000405,479.42004,2015-01-01 01:19:54,bin4794,35,False -CTSPillarNetworkA,4795,4795,4795,1983-02-17,479.50000000004053,479.52005,2015-01-01 01:19:55,bin4795,75,False -CTSPillarNetworkA,4796,4796,4796,1983-02-18,479.60000000004055,479.62006,2015-01-01 01:19:56,bin4796,35,False -CTSPillarNetworkA,4797,4797,4797,1983-02-19,479.7000000000406,479.72006,2015-01-01 01:19:57,bin4797,75,False -CTSPillarNetworkA,4798,4798,4798,1983-02-20,479.8000000000406,479.82007,2015-01-01 01:19:58,bin4798,35,False -CTSPillarNetworkA,4799,4799,4799,1983-02-21,479.9000000000406,479.92007,2015-01-01 01:19:59,bin4799,75,False -CTSPillarNetworkA,4800,4800,4800,1983-02-22,480.00000000004064,480.02008,2015-01-01 01:20:00,bin4800,35,False -CTSPillarNetworkA,4801,4801,4801,1983-02-23,480.10000000004067,480.1201,2015-01-01 01:20:01,bin4801,75,False -CTSPillarNetworkA,4802,4802,4802,1983-02-24,480.2000000000407,480.2201,2015-01-01 01:20:02,bin4802,35,False -CTSPillarNetworkA,4803,4803,4803,1983-02-25,480.3000000000407,480.3201,2015-01-01 01:20:03,bin4803,75,False -CTSPillarNetworkA,4804,4804,4804,1983-02-26,480.40000000004073,480.4201,2015-01-01 01:20:04,bin4804,35,False -CTSPillarNetworkA,4805,4805,4805,1983-02-27,480.50000000004076,480.5201,2015-01-01 01:20:05,bin4805,75,False -CTSPillarNetworkA,4806,4806,4806,1983-02-28,480.6000000000408,480.62012,2015-01-01 01:20:06,bin4806,35,False -CTSPillarNetworkA,4807,4807,4807,1983-03-01,480.7000000000408,480.72012,2015-01-01 01:20:07,bin4807,75,False -CTSPillarNetworkA,4808,4808,4808,1983-03-02,480.8000000000408,480.82013,2015-01-01 01:20:08,bin4808,35,False -CTSPillarNetworkA,4809,4809,4809,1983-03-03,480.90000000004085,480.92014,2015-01-01 01:20:09,bin4809,75,False -CTSPillarNetworkA,4810,4810,4810,1983-03-04,481.00000000004087,481.02014,2015-01-01 01:20:10,bin4810,35,False -CTSPillarNetworkA,4811,4811,4811,1983-03-05,481.1000000000409,481.12015,2015-01-01 01:20:11,bin4811,75,False -CTSPillarNetworkA,4812,4812,4812,1983-03-06,481.2000000000409,481.22015,2015-01-01 01:20:12,bin4812,35,False -CTSPillarNetworkA,4813,4813,4813,1983-03-07,481.30000000004094,481.32016,2015-01-01 01:20:13,bin4813,75,False -CTSPillarNetworkA,4814,4814,4814,1983-03-08,481.40000000004096,481.42017,2015-01-01 01:20:14,bin4814,35,False -CTSPillarNetworkA,4815,4815,4815,1983-03-09,481.500000000041,481.52017,2015-01-01 01:20:15,bin4815,75,False -CTSPillarNetworkA,4816,4816,4816,1983-03-10,481.600000000041,481.62018,2015-01-01 01:20:16,bin4816,35,False -CTSPillarNetworkA,4817,4817,4817,1983-03-11,481.70000000004103,481.72018,2015-01-01 01:20:17,bin4817,75,False -CTSPillarNetworkA,4818,4818,4818,1983-03-12,481.80000000004105,481.8202,2015-01-01 01:20:18,bin4818,35,False -CTSPillarNetworkA,4819,4819,4819,1983-03-13,481.9000000000411,481.9202,2015-01-01 01:20:19,bin4819,75,False -CTSPillarNetworkA,4820,4820,4820,1983-03-14,482.0000000000411,482.0202,2015-01-01 01:20:20,bin4820,35,False -CTSPillarNetworkA,4821,4821,4821,1983-03-15,482.1000000000411,482.1202,2015-01-01 01:20:21,bin4821,75,False -CTSPillarNetworkA,4822,4822,4822,1983-03-16,482.20000000004114,482.2202,2015-01-01 01:20:22,bin4822,35,False -CTSPillarNetworkA,4823,4823,4823,1983-03-17,482.30000000004117,482.32022,2015-01-01 01:20:23,bin4823,75,False -CTSPillarNetworkA,4824,4824,4824,1983-03-18,482.4000000000412,482.42023,2015-01-01 01:20:24,bin4824,35,False -CTSPillarNetworkA,4825,4825,4825,1983-03-19,482.5000000000412,482.52023,2015-01-01 01:20:25,bin4825,75,False -CTSPillarNetworkA,4826,4826,4826,1983-03-20,482.60000000004123,482.62024,2015-01-01 01:20:26,bin4826,35,False -CTSPillarNetworkA,4827,4827,4827,1983-03-21,482.70000000004126,482.72025,2015-01-01 01:20:27,bin4827,75,False -CTSPillarNetworkA,4828,4828,4828,1983-03-22,482.8000000000413,482.82025,2015-01-01 01:20:28,bin4828,35,False -CTSPillarNetworkA,4829,4829,4829,1983-03-23,482.9000000000413,482.92026,2015-01-01 01:20:29,bin4829,75,False -CTSPillarNetworkA,4830,4830,4830,1983-03-24,483.0000000000413,483.02026,2015-01-01 01:20:30,bin4830,35,False -CTSPillarNetworkA,4831,4831,4831,1983-03-25,483.10000000004135,483.12027,2015-01-01 01:20:31,bin4831,75,False -CTSPillarNetworkA,4832,4832,4832,1983-03-26,483.20000000004137,483.22028,2015-01-01 01:20:32,bin4832,35,False -CTSPillarNetworkA,4833,4833,4833,1983-03-27,483.3000000000414,483.32028,2015-01-01 01:20:33,bin4833,75,False -CTSPillarNetworkA,4834,4834,4834,1983-03-28,483.4000000000414,483.4203,2015-01-01 01:20:34,bin4834,35,False -CTSPillarNetworkA,4835,4835,4835,1983-03-29,483.50000000004144,483.5203,2015-01-01 01:20:35,bin4835,75,False -CTSPillarNetworkA,4836,4836,4836,1983-03-30,483.60000000004146,483.6203,2015-01-01 01:20:36,bin4836,35,False -CTSPillarNetworkA,4837,4837,4837,1983-03-31,483.7000000000415,483.7203,2015-01-01 01:20:37,bin4837,75,False -CTSPillarNetworkA,4838,4838,4838,1983-04-01,483.8000000000415,483.8203,2015-01-01 01:20:38,bin4838,35,False -CTSPillarNetworkA,4839,4839,4839,1983-04-02,483.90000000004153,483.92032,2015-01-01 01:20:39,bin4839,75,False -CTSPillarNetworkA,4840,4840,4840,1983-04-03,484.00000000004155,484.02032,2015-01-01 01:20:40,bin4840,35,False -CTSPillarNetworkA,4841,4841,4841,1983-04-04,484.1000000000416,484.12033,2015-01-01 01:20:41,bin4841,75,False -CTSPillarNetworkA,4842,4842,4842,1983-04-05,484.2000000000416,484.22034,2015-01-01 01:20:42,bin4842,35,False -CTSPillarNetworkA,4843,4843,4843,1983-04-06,484.3000000000416,484.32034,2015-01-01 01:20:43,bin4843,75,False -CTSPillarNetworkA,4844,4844,4844,1983-04-07,484.40000000004164,484.42035,2015-01-01 01:20:44,bin4844,35,False -CTSPillarNetworkA,4845,4845,4845,1983-04-08,484.50000000004167,484.52036,2015-01-01 01:20:45,bin4845,75,False -CTSPillarNetworkA,4846,4846,4846,1983-04-09,484.6000000000417,484.62036,2015-01-01 01:20:46,bin4846,35,False -CTSPillarNetworkA,4847,4847,4847,1983-04-10,484.7000000000417,484.72037,2015-01-01 01:20:47,bin4847,75,False -CTSPillarNetworkA,4848,4848,4848,1983-04-11,484.80000000004173,484.82037,2015-01-01 01:20:48,bin4848,35,False -CTSPillarNetworkA,4849,4849,4849,1983-04-12,484.90000000004176,484.92038,2015-01-01 01:20:49,bin4849,75,False -CTSPillarNetworkA,4850,4850,4850,1983-04-13,485.0000000000418,485.0204,2015-01-01 01:20:50,bin4850,35,False -CTSPillarNetworkA,4851,4851,4851,1983-04-14,485.1000000000418,485.1204,2015-01-01 01:20:51,bin4851,75,False -CTSPillarNetworkA,4852,4852,4852,1983-04-15,485.2000000000418,485.2204,2015-01-01 01:20:52,bin4852,35,False -CTSPillarNetworkA,4853,4853,4853,1983-04-16,485.30000000004185,485.3204,2015-01-01 01:20:53,bin4853,75,False -CTSPillarNetworkA,4854,4854,4854,1983-04-17,485.40000000004187,485.4204,2015-01-01 01:20:54,bin4854,35,False -CTSPillarNetworkA,4855,4855,4855,1983-04-18,485.5000000000419,485.52042,2015-01-01 01:20:55,bin4855,75,False -CTSPillarNetworkA,4856,4856,4856,1983-04-19,485.6000000000419,485.62042,2015-01-01 01:20:56,bin4856,35,False -CTSPillarNetworkA,4857,4857,4857,1983-04-20,485.70000000004194,485.72043,2015-01-01 01:20:57,bin4857,75,False -CTSPillarNetworkA,4858,4858,4858,1983-04-21,485.80000000004196,485.82043,2015-01-01 01:20:58,bin4858,35,False -CTSPillarNetworkA,4859,4859,4859,1983-04-22,485.900000000042,485.92044,2015-01-01 01:20:59,bin4859,75,False -CTSPillarNetworkA,4860,4860,4860,1983-04-23,486.000000000042,486.02045,2015-01-01 01:21:00,bin4860,35,False -CTSPillarNetworkA,4861,4861,4861,1983-04-24,486.10000000004203,486.12045,2015-01-01 01:21:01,bin4861,75,False -CTSPillarNetworkA,4862,4862,4862,1983-04-25,486.20000000004205,486.22046,2015-01-01 01:21:02,bin4862,35,False -CTSPillarNetworkA,4863,4863,4863,1983-04-26,486.3000000000421,486.32047,2015-01-01 01:21:03,bin4863,75,False -CTSPillarNetworkA,4864,4864,4864,1983-04-27,486.4000000000421,486.42047,2015-01-01 01:21:04,bin4864,35,False -CTSPillarNetworkA,4865,4865,4865,1983-04-28,486.5000000000421,486.52048,2015-01-01 01:21:05,bin4865,75,False -CTSPillarNetworkA,4866,4866,4866,1983-04-29,486.60000000004214,486.62048,2015-01-01 01:21:06,bin4866,35,False -CTSPillarNetworkA,4867,4867,4867,1983-04-30,486.70000000004217,486.7205,2015-01-01 01:21:07,bin4867,75,False -CTSPillarNetworkA,4868,4868,4868,1983-05-01,486.8000000000422,486.8205,2015-01-01 01:21:08,bin4868,35,False -CTSPillarNetworkA,4869,4869,4869,1983-05-02,486.9000000000422,486.9205,2015-01-01 01:21:09,bin4869,75,False -CTSPillarNetworkA,4870,4870,4870,1983-05-03,487.00000000004223,487.0205,2015-01-01 01:21:10,bin4870,35,False -CTSPillarNetworkA,4871,4871,4871,1983-05-04,487.10000000004226,487.1205,2015-01-01 01:21:11,bin4871,75,False -CTSPillarNetworkA,4872,4872,4872,1983-05-05,487.2000000000423,487.22052,2015-01-01 01:21:12,bin4872,35,False -CTSPillarNetworkA,4873,4873,4873,1983-05-06,487.3000000000423,487.32053,2015-01-01 01:21:13,bin4873,75,False -CTSPillarNetworkA,4874,4874,4874,1983-05-07,487.4000000000423,487.42053,2015-01-01 01:21:14,bin4874,35,False -CTSPillarNetworkA,4875,4875,4875,1983-05-08,487.50000000004235,487.52054,2015-01-01 01:21:15,bin4875,75,False -CTSPillarNetworkA,4876,4876,4876,1983-05-09,487.60000000004237,487.62054,2015-01-01 01:21:16,bin4876,35,False -CTSPillarNetworkA,4877,4877,4877,1983-05-10,487.7000000000424,487.72055,2015-01-01 01:21:17,bin4877,75,False -CTSPillarNetworkA,4878,4878,4878,1983-05-11,487.8000000000424,487.82056,2015-01-01 01:21:18,bin4878,35,False -CTSPillarNetworkA,4879,4879,4879,1983-05-12,487.90000000004244,487.92056,2015-01-01 01:21:19,bin4879,75,False -CTSPillarNetworkA,4880,4880,4880,1983-05-13,488.00000000004246,488.02057,2015-01-01 01:21:20,bin4880,35,False -CTSPillarNetworkA,4881,4881,4881,1983-05-14,488.1000000000425,488.12057,2015-01-01 01:21:21,bin4881,75,False -CTSPillarNetworkA,4882,4882,4882,1983-05-15,488.2000000000425,488.22058,2015-01-01 01:21:22,bin4882,35,False -CTSPillarNetworkA,4883,4883,4883,1983-05-16,488.30000000004253,488.3206,2015-01-01 01:21:23,bin4883,75,False -CTSPillarNetworkA,4884,4884,4884,1983-05-17,488.40000000004255,488.4206,2015-01-01 01:21:24,bin4884,35,False -CTSPillarNetworkA,4885,4885,4885,1983-05-18,488.5000000000426,488.5206,2015-01-01 01:21:25,bin4885,75,False -CTSPillarNetworkA,4886,4886,4886,1983-05-19,488.6000000000426,488.6206,2015-01-01 01:21:26,bin4886,35,False -CTSPillarNetworkA,4887,4887,4887,1983-05-20,488.7000000000426,488.7206,2015-01-01 01:21:27,bin4887,75,False -CTSPillarNetworkA,4888,4888,4888,1983-05-21,488.80000000004264,488.82062,2015-01-01 01:21:28,bin4888,35,False -CTSPillarNetworkA,4889,4889,4889,1983-05-22,488.90000000004267,488.92062,2015-01-01 01:21:29,bin4889,75,False -CTSPillarNetworkA,4890,4890,4890,1983-05-23,489.0000000000427,489.02063,2015-01-01 01:21:30,bin4890,35,False -CTSPillarNetworkA,4891,4891,4891,1983-05-24,489.1000000000427,489.12064,2015-01-01 01:21:31,bin4891,75,False -CTSPillarNetworkA,4892,4892,4892,1983-05-25,489.20000000004273,489.22064,2015-01-01 01:21:32,bin4892,35,False -CTSPillarNetworkA,4893,4893,4893,1983-05-26,489.30000000004276,489.32065,2015-01-01 01:21:33,bin4893,75,False -CTSPillarNetworkA,4894,4894,4894,1983-05-27,489.4000000000428,489.42065,2015-01-01 01:21:34,bin4894,35,False -CTSPillarNetworkA,4895,4895,4895,1983-05-28,489.5000000000428,489.52066,2015-01-01 01:21:35,bin4895,75,False -CTSPillarNetworkA,4896,4896,4896,1983-05-29,489.6000000000428,489.62067,2015-01-01 01:21:36,bin4896,35,False -CTSPillarNetworkA,4897,4897,4897,1983-05-30,489.70000000004285,489.72067,2015-01-01 01:21:37,bin4897,75,False -CTSPillarNetworkA,4898,4898,4898,1983-05-31,489.80000000004287,489.82068,2015-01-01 01:21:38,bin4898,35,False -CTSPillarNetworkA,4899,4899,4899,1983-06-01,489.9000000000429,489.9207,2015-01-01 01:21:39,bin4899,75,False -CTSPillarNetworkA,4900,4900,4900,1983-06-02,490.0000000000429,490.0207,2015-01-01 01:21:40,bin4900,35,False -CTSPillarNetworkA,4901,4901,4901,1983-06-03,490.10000000004294,490.1207,2015-01-01 01:21:41,bin4901,75,False -CTSPillarNetworkA,4902,4902,4902,1983-06-04,490.20000000004296,490.2207,2015-01-01 01:21:42,bin4902,35,False -CTSPillarNetworkA,4903,4903,4903,1983-06-05,490.300000000043,490.3207,2015-01-01 01:21:43,bin4903,75,False -CTSPillarNetworkA,4904,4904,4904,1983-06-06,490.400000000043,490.42072,2015-01-01 01:21:44,bin4904,35,False -CTSPillarNetworkA,4905,4905,4905,1983-06-07,490.50000000004303,490.52072,2015-01-01 01:21:45,bin4905,75,False -CTSPillarNetworkA,4906,4906,4906,1983-06-08,490.60000000004305,490.62073,2015-01-01 01:21:46,bin4906,35,False -CTSPillarNetworkA,4907,4907,4907,1983-06-09,490.7000000000431,490.72073,2015-01-01 01:21:47,bin4907,75,False -CTSPillarNetworkA,4908,4908,4908,1983-06-10,490.8000000000431,490.82074,2015-01-01 01:21:48,bin4908,35,False -CTSPillarNetworkA,4909,4909,4909,1983-06-11,490.9000000000431,490.92075,2015-01-01 01:21:49,bin4909,75,False -CTSPillarNetworkA,4910,4910,4910,1983-06-12,491.00000000004314,491.02075,2015-01-01 01:21:50,bin4910,35,False -CTSPillarNetworkA,4911,4911,4911,1983-06-13,491.10000000004317,491.12076,2015-01-01 01:21:51,bin4911,75,False -CTSPillarNetworkA,4912,4912,4912,1983-06-14,491.2000000000432,491.22076,2015-01-01 01:21:52,bin4912,35,False -CTSPillarNetworkA,4913,4913,4913,1983-06-15,491.3000000000432,491.32077,2015-01-01 01:21:53,bin4913,75,False -CTSPillarNetworkA,4914,4914,4914,1983-06-16,491.40000000004324,491.42078,2015-01-01 01:21:54,bin4914,35,False -CTSPillarNetworkA,4915,4915,4915,1983-06-17,491.50000000004326,491.52078,2015-01-01 01:21:55,bin4915,75,False -CTSPillarNetworkA,4916,4916,4916,1983-06-18,491.6000000000433,491.6208,2015-01-01 01:21:56,bin4916,35,False -CTSPillarNetworkA,4917,4917,4917,1983-06-19,491.7000000000433,491.7208,2015-01-01 01:21:57,bin4917,75,False -CTSPillarNetworkA,4918,4918,4918,1983-06-20,491.8000000000433,491.8208,2015-01-01 01:21:58,bin4918,35,False -CTSPillarNetworkA,4919,4919,4919,1983-06-21,491.90000000004335,491.9208,2015-01-01 01:21:59,bin4919,75,False -CTSPillarNetworkA,4920,4920,4920,1983-06-22,492.00000000004337,492.0208,2015-01-01 01:22:00,bin4920,35,False -CTSPillarNetworkA,4921,4921,4921,1983-06-23,492.1000000000434,492.12082,2015-01-01 01:22:01,bin4921,75,False -CTSPillarNetworkA,4922,4922,4922,1983-06-24,492.2000000000434,492.22083,2015-01-01 01:22:02,bin4922,35,False -CTSPillarNetworkA,4923,4923,4923,1983-06-25,492.30000000004344,492.32083,2015-01-01 01:22:03,bin4923,75,False -CTSPillarNetworkA,4924,4924,4924,1983-06-26,492.40000000004346,492.42084,2015-01-01 01:22:04,bin4924,35,False -CTSPillarNetworkA,4925,4925,4925,1983-06-27,492.5000000000435,492.52084,2015-01-01 01:22:05,bin4925,75,False -CTSPillarNetworkA,4926,4926,4926,1983-06-28,492.6000000000435,492.62085,2015-01-01 01:22:06,bin4926,35,False -CTSPillarNetworkA,4927,4927,4927,1983-06-29,492.70000000004353,492.72086,2015-01-01 01:22:07,bin4927,75,False -CTSPillarNetworkA,4928,4928,4928,1983-06-30,492.80000000004355,492.82086,2015-01-01 01:22:08,bin4928,35,False -CTSPillarNetworkA,4929,4929,4929,1983-07-01,492.9000000000436,492.92087,2015-01-01 01:22:09,bin4929,75,False -CTSPillarNetworkA,4930,4930,4930,1983-07-02,493.0000000000436,493.02087,2015-01-01 01:22:10,bin4930,35,False -CTSPillarNetworkA,4931,4931,4931,1983-07-03,493.1000000000436,493.12088,2015-01-01 01:22:11,bin4931,75,False -CTSPillarNetworkA,4932,4932,4932,1983-07-04,493.20000000004364,493.2209,2015-01-01 01:22:12,bin4932,35,False -CTSPillarNetworkA,4933,4933,4933,1983-07-05,493.30000000004367,493.3209,2015-01-01 01:22:13,bin4933,75,False -CTSPillarNetworkA,4934,4934,4934,1983-07-06,493.4000000000437,493.4209,2015-01-01 01:22:14,bin4934,35,False -CTSPillarNetworkA,4935,4935,4935,1983-07-07,493.5000000000437,493.5209,2015-01-01 01:22:15,bin4935,75,False -CTSPillarNetworkA,4936,4936,4936,1983-07-08,493.60000000004374,493.6209,2015-01-01 01:22:16,bin4936,35,False -CTSPillarNetworkA,4937,4937,4937,1983-07-09,493.70000000004376,493.72092,2015-01-01 01:22:17,bin4937,75,False -CTSPillarNetworkA,4938,4938,4938,1983-07-10,493.8000000000438,493.82092,2015-01-01 01:22:18,bin4938,35,False -CTSPillarNetworkA,4939,4939,4939,1983-07-11,493.9000000000438,493.92093,2015-01-01 01:22:19,bin4939,75,False -CTSPillarNetworkA,4940,4940,4940,1983-07-12,494.0000000000438,494.02094,2015-01-01 01:22:20,bin4940,35,False -CTSPillarNetworkA,4941,4941,4941,1983-07-13,494.10000000004385,494.12094,2015-01-01 01:22:21,bin4941,75,False -CTSPillarNetworkA,4942,4942,4942,1983-07-14,494.2000000000439,494.22095,2015-01-01 01:22:22,bin4942,35,False -CTSPillarNetworkA,4943,4943,4943,1983-07-15,494.3000000000439,494.32095,2015-01-01 01:22:23,bin4943,75,False -CTSPillarNetworkA,4944,4944,4944,1983-07-16,494.4000000000439,494.42096,2015-01-01 01:22:24,bin4944,35,False -CTSPillarNetworkA,4945,4945,4945,1983-07-17,494.50000000004394,494.52097,2015-01-01 01:22:25,bin4945,75,False -CTSPillarNetworkA,4946,4946,4946,1983-07-18,494.60000000004396,494.62097,2015-01-01 01:22:26,bin4946,35,False -CTSPillarNetworkA,4947,4947,4947,1983-07-19,494.700000000044,494.72098,2015-01-01 01:22:27,bin4947,75,False -CTSPillarNetworkA,4948,4948,4948,1983-07-20,494.800000000044,494.82098,2015-01-01 01:22:28,bin4948,35,False -CTSPillarNetworkA,4949,4949,4949,1983-07-21,494.90000000004403,494.921,2015-01-01 01:22:29,bin4949,75,False -CTSPillarNetworkA,4950,4950,4950,1983-07-22,495.00000000004405,495.021,2015-01-01 01:22:30,bin4950,35,False -CTSPillarNetworkA,4951,4951,4951,1983-07-23,495.1000000000441,495.121,2015-01-01 01:22:31,bin4951,75,False -CTSPillarNetworkA,4952,4952,4952,1983-07-24,495.2000000000441,495.221,2015-01-01 01:22:32,bin4952,35,False -CTSPillarNetworkA,4953,4953,4953,1983-07-25,495.3000000000441,495.321,2015-01-01 01:22:33,bin4953,75,False -CTSPillarNetworkA,4954,4954,4954,1983-07-26,495.40000000004414,495.42102,2015-01-01 01:22:34,bin4954,35,False -CTSPillarNetworkA,4955,4955,4955,1983-07-27,495.50000000004417,495.52103,2015-01-01 01:22:35,bin4955,75,False -CTSPillarNetworkA,4956,4956,4956,1983-07-28,495.6000000000442,495.62103,2015-01-01 01:22:36,bin4956,35,False -CTSPillarNetworkA,4957,4957,4957,1983-07-29,495.7000000000442,495.72104,2015-01-01 01:22:37,bin4957,75,False -CTSPillarNetworkA,4958,4958,4958,1983-07-30,495.80000000004424,495.82104,2015-01-01 01:22:38,bin4958,35,False -CTSPillarNetworkA,4959,4959,4959,1983-07-31,495.90000000004426,495.92105,2015-01-01 01:22:39,bin4959,75,False -CTSPillarNetworkA,4960,4960,4960,1983-08-01,496.0000000000443,496.02106,2015-01-01 01:22:40,bin4960,35,False -CTSPillarNetworkA,4961,4961,4961,1983-08-02,496.1000000000443,496.12106,2015-01-01 01:22:41,bin4961,75,False -CTSPillarNetworkA,4962,4962,4962,1983-08-03,496.2000000000443,496.22107,2015-01-01 01:22:42,bin4962,35,False -CTSPillarNetworkA,4963,4963,4963,1983-08-04,496.30000000004435,496.32108,2015-01-01 01:22:43,bin4963,75,False -CTSPillarNetworkA,4964,4964,4964,1983-08-05,496.4000000000444,496.42108,2015-01-01 01:22:44,bin4964,35,False -CTSPillarNetworkA,4965,4965,4965,1983-08-06,496.5000000000444,496.5211,2015-01-01 01:22:45,bin4965,75,False -CTSPillarNetworkA,4966,4966,4966,1983-08-07,496.6000000000444,496.6211,2015-01-01 01:22:46,bin4966,35,False -CTSPillarNetworkA,4967,4967,4967,1983-08-08,496.70000000004444,496.7211,2015-01-01 01:22:47,bin4967,75,False -CTSPillarNetworkA,4968,4968,4968,1983-08-09,496.80000000004446,496.8211,2015-01-01 01:22:48,bin4968,35,False -CTSPillarNetworkA,4969,4969,4969,1983-08-10,496.9000000000445,496.9211,2015-01-01 01:22:49,bin4969,75,False -CTSPillarNetworkA,4970,4970,4970,1983-08-11,497.0000000000445,497.02112,2015-01-01 01:22:50,bin4970,35,False -CTSPillarNetworkA,4971,4971,4971,1983-08-12,497.10000000004453,497.12112,2015-01-01 01:22:51,bin4971,75,False -CTSPillarNetworkA,4972,4972,4972,1983-08-13,497.20000000004455,497.22113,2015-01-01 01:22:52,bin4972,35,False -CTSPillarNetworkA,4973,4973,4973,1983-08-14,497.3000000000446,497.32114,2015-01-01 01:22:53,bin4973,75,False -CTSPillarNetworkA,4974,4974,4974,1983-08-15,497.4000000000446,497.42114,2015-01-01 01:22:54,bin4974,35,False -CTSPillarNetworkA,4975,4975,4975,1983-08-16,497.5000000000446,497.52115,2015-01-01 01:22:55,bin4975,75,False -CTSPillarNetworkA,4976,4976,4976,1983-08-17,497.60000000004464,497.62115,2015-01-01 01:22:56,bin4976,35,False -CTSPillarNetworkA,4977,4977,4977,1983-08-18,497.70000000004467,497.72116,2015-01-01 01:22:57,bin4977,75,False -CTSPillarNetworkA,4978,4978,4978,1983-08-19,497.8000000000447,497.82117,2015-01-01 01:22:58,bin4978,35,False -CTSPillarNetworkA,4979,4979,4979,1983-08-20,497.9000000000447,497.92117,2015-01-01 01:22:59,bin4979,75,False -CTSPillarNetworkA,4980,4980,4980,1983-08-21,498.00000000004474,498.02118,2015-01-01 01:23:00,bin4980,35,False -CTSPillarNetworkA,4981,4981,4981,1983-08-22,498.10000000004476,498.1212,2015-01-01 01:23:01,bin4981,75,False -CTSPillarNetworkA,4982,4982,4982,1983-08-23,498.2000000000448,498.2212,2015-01-01 01:23:02,bin4982,35,False -CTSPillarNetworkA,4983,4983,4983,1983-08-24,498.3000000000448,498.3212,2015-01-01 01:23:03,bin4983,75,False -CTSPillarNetworkA,4984,4984,4984,1983-08-25,498.4000000000448,498.4212,2015-01-01 01:23:04,bin4984,35,False -CTSPillarNetworkA,4985,4985,4985,1983-08-26,498.50000000004485,498.5212,2015-01-01 01:23:05,bin4985,75,False -CTSPillarNetworkA,4986,4986,4986,1983-08-27,498.6000000000449,498.62122,2015-01-01 01:23:06,bin4986,35,False -CTSPillarNetworkA,4987,4987,4987,1983-08-28,498.7000000000449,498.72122,2015-01-01 01:23:07,bin4987,75,False -CTSPillarNetworkA,4988,4988,4988,1983-08-29,498.8000000000449,498.82123,2015-01-01 01:23:08,bin4988,35,False -CTSPillarNetworkA,4989,4989,4989,1983-08-30,498.90000000004494,498.92123,2015-01-01 01:23:09,bin4989,75,False -CTSPillarNetworkA,4990,4990,4990,1983-08-31,499.00000000004496,499.02124,2015-01-01 01:23:10,bin4990,35,False -CTSPillarNetworkA,4991,4991,4991,1983-09-01,499.100000000045,499.12125,2015-01-01 01:23:11,bin4991,75,False -CTSPillarNetworkA,4992,4992,4992,1983-09-02,499.200000000045,499.22125,2015-01-01 01:23:12,bin4992,35,False -CTSPillarNetworkA,4993,4993,4993,1983-09-03,499.30000000004503,499.32126,2015-01-01 01:23:13,bin4993,75,False -CTSPillarNetworkA,4994,4994,4994,1983-09-04,499.40000000004505,499.42126,2015-01-01 01:23:14,bin4994,35,False -CTSPillarNetworkA,4995,4995,4995,1983-09-05,499.5000000000451,499.52127,2015-01-01 01:23:15,bin4995,75,False -CTSPillarNetworkA,4996,4996,4996,1983-09-06,499.6000000000451,499.62128,2015-01-01 01:23:16,bin4996,35,False -CTSPillarNetworkA,4997,4997,4997,1983-09-07,499.7000000000451,499.72128,2015-01-01 01:23:17,bin4997,75,False -CTSPillarNetworkA,4998,4998,4998,1983-09-08,499.80000000004515,499.8213,2015-01-01 01:23:18,bin4998,35,False -CTSPillarNetworkA,4999,4999,4999,1983-09-09,499.90000000004517,499.9213,2015-01-01 01:23:19,bin4999,75,False -CTSPillarNetworkA,5000,5000,5000,1983-09-10,500.0000000000452,500.0213,2015-01-01 01:23:20,bin5000,35,False -CTSPillarNetworkA,5001,5001,5001,1983-09-11,500.1000000000452,500.1213,2015-01-01 01:23:21,bin5001,75,False -CTSPillarNetworkA,5002,5002,5002,1983-09-12,500.20000000004524,500.2213,2015-01-01 01:23:22,bin5002,35,False -CTSPillarNetworkA,5003,5003,5003,1983-09-13,500.30000000004526,500.32132,2015-01-01 01:23:23,bin5003,75,False -CTSPillarNetworkA,5004,5004,5004,1983-09-14,500.4000000000453,500.42133,2015-01-01 01:23:24,bin5004,35,False -CTSPillarNetworkA,5005,5005,5005,1983-09-15,500.5000000000453,500.52133,2015-01-01 01:23:25,bin5005,75,False -CTSPillarNetworkA,5006,5006,5006,1983-09-16,500.6000000000453,500.62134,2015-01-01 01:23:26,bin5006,35,False -CTSPillarNetworkA,5007,5007,5007,1983-09-17,500.70000000004535,500.72134,2015-01-01 01:23:27,bin5007,75,False -CTSPillarNetworkA,5008,5008,5008,1983-09-18,500.8000000000454,500.82135,2015-01-01 01:23:28,bin5008,35,False -CTSPillarNetworkA,5009,5009,5009,1983-09-19,500.9000000000454,500.92136,2015-01-01 01:23:29,bin5009,75,False -CTSPillarNetworkA,5010,5010,5010,1983-09-20,501.0000000000454,501.02136,2015-01-01 01:23:30,bin5010,35,False -CTSPillarNetworkA,5011,5011,5011,1983-09-21,501.10000000004544,501.12137,2015-01-01 01:23:31,bin5011,75,False -CTSPillarNetworkA,5012,5012,5012,1983-09-22,501.20000000004546,501.22137,2015-01-01 01:23:32,bin5012,35,False -CTSPillarNetworkA,5013,5013,5013,1983-09-23,501.3000000000455,501.32138,2015-01-01 01:23:33,bin5013,75,False -CTSPillarNetworkA,5014,5014,5014,1983-09-24,501.4000000000455,501.4214,2015-01-01 01:23:34,bin5014,35,False -CTSPillarNetworkA,5015,5015,5015,1983-09-25,501.50000000004553,501.5214,2015-01-01 01:23:35,bin5015,75,False -CTSPillarNetworkA,5016,5016,5016,1983-09-26,501.60000000004555,501.6214,2015-01-01 01:23:36,bin5016,35,False -CTSPillarNetworkA,5017,5017,5017,1983-09-27,501.7000000000456,501.7214,2015-01-01 01:23:37,bin5017,75,False -CTSPillarNetworkA,5018,5018,5018,1983-09-28,501.8000000000456,501.8214,2015-01-01 01:23:38,bin5018,35,False -CTSPillarNetworkA,5019,5019,5019,1983-09-29,501.9000000000456,501.92142,2015-01-01 01:23:39,bin5019,75,False -CTSPillarNetworkA,5020,5020,5020,1983-09-30,502.00000000004565,502.02142,2015-01-01 01:23:40,bin5020,35,False -CTSPillarNetworkA,5021,5021,5021,1983-10-01,502.10000000004567,502.12143,2015-01-01 01:23:41,bin5021,75,False -CTSPillarNetworkA,5022,5022,5022,1983-10-02,502.2000000000457,502.22144,2015-01-01 01:23:42,bin5022,35,False -CTSPillarNetworkA,5023,5023,5023,1983-10-03,502.3000000000457,502.32144,2015-01-01 01:23:43,bin5023,75,False -CTSPillarNetworkA,5024,5024,5024,1983-10-04,502.40000000004574,502.42145,2015-01-01 01:23:44,bin5024,35,False -CTSPillarNetworkA,5025,5025,5025,1983-10-05,502.50000000004576,502.52145,2015-01-01 01:23:45,bin5025,75,False -CTSPillarNetworkA,5026,5026,5026,1983-10-06,502.6000000000458,502.62146,2015-01-01 01:23:46,bin5026,35,False -CTSPillarNetworkA,5027,5027,5027,1983-10-07,502.7000000000458,502.72147,2015-01-01 01:23:47,bin5027,75,False -CTSPillarNetworkA,5028,5028,5028,1983-10-08,502.8000000000458,502.82147,2015-01-01 01:23:48,bin5028,35,False -CTSPillarNetworkA,5029,5029,5029,1983-10-09,502.90000000004585,502.92148,2015-01-01 01:23:49,bin5029,75,False -CTSPillarNetworkA,5030,5030,5030,1983-10-10,503.0000000000459,503.02148,2015-01-01 01:23:50,bin5030,35,False -CTSPillarNetworkA,5031,5031,5031,1983-10-11,503.1000000000459,503.1215,2015-01-01 01:23:51,bin5031,75,False -CTSPillarNetworkA,5032,5032,5032,1983-10-12,503.2000000000459,503.2215,2015-01-01 01:23:52,bin5032,35,False -CTSPillarNetworkA,5033,5033,5033,1983-10-13,503.30000000004594,503.3215,2015-01-01 01:23:53,bin5033,75,False -CTSPillarNetworkA,5034,5034,5034,1983-10-14,503.40000000004596,503.4215,2015-01-01 01:23:54,bin5034,35,False -CTSPillarNetworkA,5035,5035,5035,1983-10-15,503.500000000046,503.5215,2015-01-01 01:23:55,bin5035,75,False -CTSPillarNetworkA,5036,5036,5036,1983-10-16,503.600000000046,503.62152,2015-01-01 01:23:56,bin5036,35,False -CTSPillarNetworkA,5037,5037,5037,1983-10-17,503.70000000004603,503.72153,2015-01-01 01:23:57,bin5037,75,False -CTSPillarNetworkA,5038,5038,5038,1983-10-18,503.80000000004605,503.82153,2015-01-01 01:23:58,bin5038,35,False -CTSPillarNetworkA,5039,5039,5039,1983-10-19,503.9000000000461,503.92154,2015-01-01 01:23:59,bin5039,75,False -CTSPillarNetworkA,5040,5040,5040,1983-10-20,504.0000000000461,504.02155,2015-01-01 01:24:00,bin5040,35,False -CTSPillarNetworkA,5041,5041,5041,1983-10-21,504.1000000000461,504.12155,2015-01-01 01:24:01,bin5041,75,False -CTSPillarNetworkA,5042,5042,5042,1983-10-22,504.20000000004615,504.22156,2015-01-01 01:24:02,bin5042,35,False -CTSPillarNetworkA,5043,5043,5043,1983-10-23,504.30000000004617,504.32156,2015-01-01 01:24:03,bin5043,75,False -CTSPillarNetworkA,5044,5044,5044,1983-10-24,504.4000000000462,504.42157,2015-01-01 01:24:04,bin5044,35,False -CTSPillarNetworkA,5045,5045,5045,1983-10-25,504.5000000000462,504.52158,2015-01-01 01:24:05,bin5045,75,False -CTSPillarNetworkA,5046,5046,5046,1983-10-26,504.60000000004624,504.62158,2015-01-01 01:24:06,bin5046,35,False -CTSPillarNetworkA,5047,5047,5047,1983-10-27,504.70000000004626,504.7216,2015-01-01 01:24:07,bin5047,75,False -CTSPillarNetworkA,5048,5048,5048,1983-10-28,504.8000000000463,504.8216,2015-01-01 01:24:08,bin5048,35,False -CTSPillarNetworkA,5049,5049,5049,1983-10-29,504.9000000000463,504.9216,2015-01-01 01:24:09,bin5049,75,False -CTSPillarNetworkA,5050,5050,5050,1983-10-30,505.0000000000463,505.0216,2015-01-01 01:24:10,bin5050,35,False -CTSPillarNetworkA,5051,5051,5051,1983-10-31,505.10000000004635,505.1216,2015-01-01 01:24:11,bin5051,75,False -CTSPillarNetworkA,5052,5052,5052,1983-11-01,505.2000000000464,505.22162,2015-01-01 01:24:12,bin5052,35,False -CTSPillarNetworkA,5053,5053,5053,1983-11-02,505.3000000000464,505.32162,2015-01-01 01:24:13,bin5053,75,False -CTSPillarNetworkA,5054,5054,5054,1983-11-03,505.4000000000464,505.42163,2015-01-01 01:24:14,bin5054,35,False -CTSPillarNetworkA,5055,5055,5055,1983-11-04,505.50000000004644,505.52164,2015-01-01 01:24:15,bin5055,75,False -CTSPillarNetworkA,5056,5056,5056,1983-11-05,505.60000000004646,505.62164,2015-01-01 01:24:16,bin5056,35,False -CTSPillarNetworkA,5057,5057,5057,1983-11-06,505.7000000000465,505.72165,2015-01-01 01:24:17,bin5057,75,False -CTSPillarNetworkA,5058,5058,5058,1983-11-07,505.8000000000465,505.82166,2015-01-01 01:24:18,bin5058,35,False -CTSPillarNetworkA,5059,5059,5059,1983-11-08,505.90000000004653,505.92166,2015-01-01 01:24:19,bin5059,75,False -CTSPillarNetworkA,5060,5060,5060,1983-11-09,506.00000000004655,506.02167,2015-01-01 01:24:20,bin5060,35,False -CTSPillarNetworkA,5061,5061,5061,1983-11-10,506.1000000000466,506.12167,2015-01-01 01:24:21,bin5061,75,False -CTSPillarNetworkA,5062,5062,5062,1983-11-11,506.2000000000466,506.22168,2015-01-01 01:24:22,bin5062,35,False -CTSPillarNetworkA,5063,5063,5063,1983-11-12,506.3000000000466,506.3217,2015-01-01 01:24:23,bin5063,75,False -CTSPillarNetworkA,5064,5064,5064,1983-11-13,506.40000000004665,506.4217,2015-01-01 01:24:24,bin5064,35,False -CTSPillarNetworkA,5065,5065,5065,1983-11-14,506.50000000004667,506.5217,2015-01-01 01:24:25,bin5065,75,False -CTSPillarNetworkA,5066,5066,5066,1983-11-15,506.6000000000467,506.6217,2015-01-01 01:24:26,bin5066,35,False -CTSPillarNetworkA,5067,5067,5067,1983-11-16,506.7000000000467,506.7217,2015-01-01 01:24:27,bin5067,75,False -CTSPillarNetworkA,5068,5068,5068,1983-11-17,506.80000000004674,506.82172,2015-01-01 01:24:28,bin5068,35,False -CTSPillarNetworkA,5069,5069,5069,1983-11-18,506.90000000004676,506.92172,2015-01-01 01:24:29,bin5069,75,False -CTSPillarNetworkA,5070,5070,5070,1983-11-19,507.0000000000468,507.02173,2015-01-01 01:24:30,bin5070,35,False -CTSPillarNetworkA,5071,5071,5071,1983-11-20,507.1000000000468,507.12173,2015-01-01 01:24:31,bin5071,75,False -CTSPillarNetworkA,5072,5072,5072,1983-11-21,507.2000000000468,507.22174,2015-01-01 01:24:32,bin5072,35,False -CTSPillarNetworkA,5073,5073,5073,1983-11-22,507.30000000004685,507.32175,2015-01-01 01:24:33,bin5073,75,False -CTSPillarNetworkA,5074,5074,5074,1983-11-23,507.4000000000469,507.42175,2015-01-01 01:24:34,bin5074,35,False -CTSPillarNetworkA,5075,5075,5075,1983-11-24,507.5000000000469,507.52176,2015-01-01 01:24:35,bin5075,75,False -CTSPillarNetworkA,5076,5076,5076,1983-11-25,507.6000000000469,507.62177,2015-01-01 01:24:36,bin5076,35,False -CTSPillarNetworkA,5077,5077,5077,1983-11-26,507.70000000004694,507.72177,2015-01-01 01:24:37,bin5077,75,False -CTSPillarNetworkA,5078,5078,5078,1983-11-27,507.80000000004696,507.82178,2015-01-01 01:24:38,bin5078,35,False -CTSPillarNetworkA,5079,5079,5079,1983-11-28,507.900000000047,507.92178,2015-01-01 01:24:39,bin5079,75,False -CTSPillarNetworkA,5080,5080,5080,1983-11-29,508.000000000047,508.0218,2015-01-01 01:24:40,bin5080,35,False -CTSPillarNetworkA,5081,5081,5081,1983-11-30,508.10000000004703,508.1218,2015-01-01 01:24:41,bin5081,75,False -CTSPillarNetworkA,5082,5082,5082,1983-12-01,508.20000000004705,508.2218,2015-01-01 01:24:42,bin5082,35,False -CTSPillarNetworkA,5083,5083,5083,1983-12-02,508.3000000000471,508.3218,2015-01-01 01:24:43,bin5083,75,False -CTSPillarNetworkA,5084,5084,5084,1983-12-03,508.4000000000471,508.4218,2015-01-01 01:24:44,bin5084,35,False -CTSPillarNetworkA,5085,5085,5085,1983-12-04,508.5000000000471,508.52182,2015-01-01 01:24:45,bin5085,75,False -CTSPillarNetworkA,5086,5086,5086,1983-12-05,508.60000000004715,508.62183,2015-01-01 01:24:46,bin5086,35,False -CTSPillarNetworkA,5087,5087,5087,1983-12-06,508.70000000004717,508.72183,2015-01-01 01:24:47,bin5087,75,False -CTSPillarNetworkA,5088,5088,5088,1983-12-07,508.8000000000472,508.82184,2015-01-01 01:24:48,bin5088,35,False -CTSPillarNetworkA,5089,5089,5089,1983-12-08,508.9000000000472,508.92184,2015-01-01 01:24:49,bin5089,75,False -CTSPillarNetworkA,5090,5090,5090,1983-12-09,509.00000000004724,509.02185,2015-01-01 01:24:50,bin5090,35,False -CTSPillarNetworkA,5091,5091,5091,1983-12-10,509.10000000004726,509.12186,2015-01-01 01:24:51,bin5091,75,False -CTSPillarNetworkA,5092,5092,5092,1983-12-11,509.2000000000473,509.22186,2015-01-01 01:24:52,bin5092,35,False -CTSPillarNetworkA,5093,5093,5093,1983-12-12,509.3000000000473,509.32187,2015-01-01 01:24:53,bin5093,75,False -CTSPillarNetworkA,5094,5094,5094,1983-12-13,509.4000000000473,509.42188,2015-01-01 01:24:54,bin5094,35,False -CTSPillarNetworkA,5095,5095,5095,1983-12-14,509.50000000004735,509.52188,2015-01-01 01:24:55,bin5095,75,False -CTSPillarNetworkA,5096,5096,5096,1983-12-15,509.6000000000474,509.6219,2015-01-01 01:24:56,bin5096,35,False -CTSPillarNetworkA,5097,5097,5097,1983-12-16,509.7000000000474,509.7219,2015-01-01 01:24:57,bin5097,75,False -CTSPillarNetworkA,5098,5098,5098,1983-12-17,509.8000000000474,509.8219,2015-01-01 01:24:58,bin5098,35,False -CTSPillarNetworkA,5099,5099,5099,1983-12-18,509.90000000004744,509.9219,2015-01-01 01:24:59,bin5099,75,False -CTSPillarNetworkA,5100,5100,5100,1983-12-19,510.00000000004746,510.0219,2015-01-01 01:25:00,bin5100,35,False -CTSPillarNetworkA,5101,5101,5101,1983-12-20,510.1000000000475,510.12192,2015-01-01 01:25:01,bin5101,75,False -CTSPillarNetworkA,5102,5102,5102,1983-12-21,510.2000000000475,510.22192,2015-01-01 01:25:02,bin5102,35,False -CTSPillarNetworkA,5103,5103,5103,1983-12-22,510.30000000004753,510.32193,2015-01-01 01:25:03,bin5103,75,False -CTSPillarNetworkA,5104,5104,5104,1983-12-23,510.40000000004756,510.42194,2015-01-01 01:25:04,bin5104,35,False -CTSPillarNetworkA,5105,5105,5105,1983-12-24,510.5000000000476,510.52194,2015-01-01 01:25:05,bin5105,75,False -CTSPillarNetworkA,5106,5106,5106,1983-12-25,510.6000000000476,510.62195,2015-01-01 01:25:06,bin5106,35,False -CTSPillarNetworkA,5107,5107,5107,1983-12-26,510.7000000000476,510.72195,2015-01-01 01:25:07,bin5107,75,False -CTSPillarNetworkA,5108,5108,5108,1983-12-27,510.80000000004765,510.82196,2015-01-01 01:25:08,bin5108,35,False -CTSPillarNetworkA,5109,5109,5109,1983-12-28,510.90000000004767,510.92197,2015-01-01 01:25:09,bin5109,75,False -CTSPillarNetworkA,5110,5110,5110,1983-12-29,511.0000000000477,511.02197,2015-01-01 01:25:10,bin5110,35,False -CTSPillarNetworkA,5111,5111,5111,1983-12-30,511.1000000000477,511.12198,2015-01-01 01:25:11,bin5111,75,False -CTSPillarNetworkA,5112,5112,5112,1983-12-31,511.20000000004774,511.222,2015-01-01 01:25:12,bin5112,35,False -CTSPillarNetworkA,5113,5113,5113,1984-01-01,511.30000000004776,511.322,2015-01-01 01:25:13,bin5113,75,False -CTSPillarNetworkA,5114,5114,5114,1984-01-02,511.4000000000478,511.422,2015-01-01 01:25:14,bin5114,35,False -CTSPillarNetworkA,5115,5115,5115,1984-01-03,511.5000000000478,511.522,2015-01-01 01:25:15,bin5115,75,False -CTSPillarNetworkA,5116,5116,5116,1984-01-04,511.6000000000478,511.622,2015-01-01 01:25:16,bin5116,35,False -CTSPillarNetworkA,5117,5117,5117,1984-01-05,511.70000000004785,511.72202,2015-01-01 01:25:17,bin5117,75,False -CTSPillarNetworkA,5118,5118,5118,1984-01-06,511.8000000000479,511.82202,2015-01-01 01:25:18,bin5118,35,False -CTSPillarNetworkA,5119,5119,5119,1984-01-07,511.9000000000479,511.92203,2015-01-01 01:25:19,bin5119,75,False -CTSPillarNetworkA,5120,5120,5120,1984-01-08,512.0000000000479,512.02203,2015-01-01 01:25:20,bin5120,35,False -CTSPillarNetworkA,5121,5121,5121,1984-01-09,512.1000000000479,512.122,2015-01-01 01:25:21,bin5121,75,False -CTSPillarNetworkA,5122,5122,5122,1984-01-10,512.2000000000479,512.222,2015-01-01 01:25:22,bin5122,35,False -CTSPillarNetworkA,5123,5123,5123,1984-01-11,512.3000000000479,512.32196,2015-01-01 01:25:23,bin5123,75,False -CTSPillarNetworkA,5124,5124,5124,1984-01-12,512.400000000048,512.42194,2015-01-01 01:25:24,bin5124,35,False -CTSPillarNetworkA,5125,5125,5125,1984-01-13,512.500000000048,512.5219,2015-01-01 01:25:25,bin5125,75,False -CTSPillarNetworkA,5126,5126,5126,1984-01-14,512.600000000048,512.6219,2015-01-01 01:25:26,bin5126,35,False -CTSPillarNetworkA,5127,5127,5127,1984-01-15,512.700000000048,512.72186,2015-01-01 01:25:27,bin5127,75,False -CTSPillarNetworkA,5128,5128,5128,1984-01-16,512.800000000048,512.82184,2015-01-01 01:25:28,bin5128,35,False -CTSPillarNetworkA,5129,5129,5129,1984-01-17,512.9000000000481,512.9218,2015-01-01 01:25:29,bin5129,75,False -CTSPillarNetworkA,5130,5130,5130,1984-01-18,513.0000000000481,513.0218,2015-01-01 01:25:30,bin5130,35,False -CTSPillarNetworkA,5131,5131,5131,1984-01-19,513.1000000000481,513.12177,2015-01-01 01:25:31,bin5131,75,False -CTSPillarNetworkA,5132,5132,5132,1984-01-20,513.2000000000481,513.22174,2015-01-01 01:25:32,bin5132,35,False -CTSPillarNetworkA,5133,5133,5133,1984-01-21,513.3000000000482,513.3217,2015-01-01 01:25:33,bin5133,75,False -CTSPillarNetworkA,5134,5134,5134,1984-01-22,513.4000000000482,513.4217,2015-01-01 01:25:34,bin5134,35,False -CTSPillarNetworkA,5135,5135,5135,1984-01-23,513.5000000000482,513.52167,2015-01-01 01:25:35,bin5135,75,False -CTSPillarNetworkA,5136,5136,5136,1984-01-24,513.6000000000482,513.62164,2015-01-01 01:25:36,bin5136,35,False -CTSPillarNetworkA,5137,5137,5137,1984-01-25,513.7000000000482,513.7216,2015-01-01 01:25:37,bin5137,75,False -CTSPillarNetworkA,5138,5138,5138,1984-01-26,513.8000000000483,513.8216,2015-01-01 01:25:38,bin5138,35,False -CTSPillarNetworkA,5139,5139,5139,1984-01-27,513.9000000000483,513.9216,2015-01-01 01:25:39,bin5139,75,False -CTSPillarNetworkA,5140,5140,5140,1984-01-28,514.0000000000483,514.02155,2015-01-01 01:25:40,bin5140,35,False -CTSPillarNetworkA,5141,5141,5141,1984-01-29,514.1000000000483,514.1215,2015-01-01 01:25:41,bin5141,75,False -CTSPillarNetworkA,5142,5142,5142,1984-01-30,514.2000000000484,514.2215,2015-01-01 01:25:42,bin5142,35,False -CTSPillarNetworkA,5143,5143,5143,1984-01-31,514.3000000000484,514.3215,2015-01-01 01:25:43,bin5143,75,False -CTSPillarNetworkA,5144,5144,5144,1984-02-01,514.4000000000484,514.42145,2015-01-01 01:25:44,bin5144,35,False -CTSPillarNetworkA,5145,5145,5145,1984-02-02,514.5000000000484,514.5214,2015-01-01 01:25:45,bin5145,75,False -CTSPillarNetworkA,5146,5146,5146,1984-02-03,514.6000000000485,514.6214,2015-01-01 01:25:46,bin5146,35,False -CTSPillarNetworkA,5147,5147,5147,1984-02-04,514.7000000000485,514.7214,2015-01-01 01:25:47,bin5147,75,False -CTSPillarNetworkA,5148,5148,5148,1984-02-05,514.8000000000485,514.82135,2015-01-01 01:25:48,bin5148,35,False -CTSPillarNetworkA,5149,5149,5149,1984-02-06,514.9000000000485,514.9213,2015-01-01 01:25:49,bin5149,75,False -CTSPillarNetworkA,5150,5150,5150,1984-02-07,515.0000000000485,515.0213,2015-01-01 01:25:50,bin5150,35,False -CTSPillarNetworkA,5151,5151,5151,1984-02-08,515.1000000000486,515.1213,2015-01-01 01:25:51,bin5151,75,False -CTSPillarNetworkA,5152,5152,5152,1984-02-09,515.2000000000486,515.22125,2015-01-01 01:25:52,bin5152,35,False -CTSPillarNetworkA,5153,5153,5153,1984-02-10,515.3000000000486,515.3212,2015-01-01 01:25:53,bin5153,75,False -CTSPillarNetworkA,5154,5154,5154,1984-02-11,515.4000000000486,515.4212,2015-01-01 01:25:54,bin5154,35,False -CTSPillarNetworkA,5155,5155,5155,1984-02-12,515.5000000000487,515.5212,2015-01-01 01:25:55,bin5155,75,False -CTSPillarNetworkA,5156,5156,5156,1984-02-13,515.6000000000487,515.62115,2015-01-01 01:25:56,bin5156,35,False -CTSPillarNetworkA,5157,5157,5157,1984-02-14,515.7000000000487,515.7211,2015-01-01 01:25:57,bin5157,75,False -CTSPillarNetworkA,5158,5158,5158,1984-02-15,515.8000000000487,515.8211,2015-01-01 01:25:58,bin5158,35,False -CTSPillarNetworkA,5159,5159,5159,1984-02-16,515.9000000000487,515.9211,2015-01-01 01:25:59,bin5159,75,False -CTSPillarNetworkA,5160,5160,5160,1984-02-17,516.0000000000488,516.02106,2015-01-01 01:26:00,bin5160,35,False -CTSPillarNetworkA,5161,5161,5161,1984-02-18,516.1000000000488,516.12103,2015-01-01 01:26:01,bin5161,75,False -CTSPillarNetworkA,5162,5162,5162,1984-02-19,516.2000000000488,516.221,2015-01-01 01:26:02,bin5162,35,False -CTSPillarNetworkA,5163,5163,5163,1984-02-20,516.3000000000488,516.321,2015-01-01 01:26:03,bin5163,75,False -CTSPillarNetworkA,5164,5164,5164,1984-02-21,516.4000000000489,516.42096,2015-01-01 01:26:04,bin5164,35,False -CTSPillarNetworkA,5165,5165,5165,1984-02-22,516.5000000000489,516.52094,2015-01-01 01:26:05,bin5165,75,False -CTSPillarNetworkA,5166,5166,5166,1984-02-23,516.6000000000489,516.6209,2015-01-01 01:26:06,bin5166,35,False -CTSPillarNetworkA,5167,5167,5167,1984-02-24,516.7000000000489,516.7209,2015-01-01 01:26:07,bin5167,75,False -CTSPillarNetworkA,5168,5168,5168,1984-02-25,516.800000000049,516.82086,2015-01-01 01:26:08,bin5168,35,False -CTSPillarNetworkA,5169,5169,5169,1984-02-26,516.900000000049,516.92084,2015-01-01 01:26:09,bin5169,75,False -CTSPillarNetworkA,5170,5170,5170,1984-02-27,517.000000000049,517.0208,2015-01-01 01:26:10,bin5170,35,False -CTSPillarNetworkA,5171,5171,5171,1984-02-28,517.100000000049,517.1208,2015-01-01 01:26:11,bin5171,75,False -CTSPillarNetworkA,5172,5172,5172,1984-02-29,517.200000000049,517.22076,2015-01-01 01:26:12,bin5172,35,False -CTSPillarNetworkA,5173,5173,5173,1984-03-01,517.3000000000491,517.32074,2015-01-01 01:26:13,bin5173,75,False -CTSPillarNetworkA,5174,5174,5174,1984-03-02,517.4000000000491,517.4207,2015-01-01 01:26:14,bin5174,35,False -CTSPillarNetworkA,5175,5175,5175,1984-03-03,517.5000000000491,517.5207,2015-01-01 01:26:15,bin5175,75,False -CTSPillarNetworkA,5176,5176,5176,1984-03-04,517.6000000000491,517.62067,2015-01-01 01:26:16,bin5176,35,False -CTSPillarNetworkA,5177,5177,5177,1984-03-05,517.7000000000492,517.72064,2015-01-01 01:26:17,bin5177,75,False -CTSPillarNetworkA,5178,5178,5178,1984-03-06,517.8000000000492,517.8206,2015-01-01 01:26:18,bin5178,35,False -CTSPillarNetworkA,5179,5179,5179,1984-03-07,517.9000000000492,517.9206,2015-01-01 01:26:19,bin5179,75,False -CTSPillarNetworkA,5180,5180,5180,1984-03-08,518.0000000000492,518.02057,2015-01-01 01:26:20,bin5180,35,False -CTSPillarNetworkA,5181,5181,5181,1984-03-09,518.1000000000492,518.12054,2015-01-01 01:26:21,bin5181,75,False -CTSPillarNetworkA,5182,5182,5182,1984-03-10,518.2000000000493,518.2205,2015-01-01 01:26:22,bin5182,35,False -CTSPillarNetworkA,5183,5183,5183,1984-03-11,518.3000000000493,518.3205,2015-01-01 01:26:23,bin5183,75,False -CTSPillarNetworkA,5184,5184,5184,1984-03-12,518.4000000000493,518.4205,2015-01-01 01:26:24,bin5184,35,False -CTSPillarNetworkA,5185,5185,5185,1984-03-13,518.5000000000493,518.52045,2015-01-01 01:26:25,bin5185,75,False -CTSPillarNetworkA,5186,5186,5186,1984-03-14,518.6000000000494,518.6204,2015-01-01 01:26:26,bin5186,35,False -CTSPillarNetworkA,5187,5187,5187,1984-03-15,518.7000000000494,518.7204,2015-01-01 01:26:27,bin5187,75,False -CTSPillarNetworkA,5188,5188,5188,1984-03-16,518.8000000000494,518.8204,2015-01-01 01:26:28,bin5188,35,False -CTSPillarNetworkA,5189,5189,5189,1984-03-17,518.9000000000494,518.92035,2015-01-01 01:26:29,bin5189,75,False -CTSPillarNetworkA,5190,5190,5190,1984-03-18,519.0000000000495,519.0203,2015-01-01 01:26:30,bin5190,35,False -CTSPillarNetworkA,5191,5191,5191,1984-03-19,519.1000000000495,519.1203,2015-01-01 01:26:31,bin5191,75,False -CTSPillarNetworkA,5192,5192,5192,1984-03-20,519.2000000000495,519.2203,2015-01-01 01:26:32,bin5192,35,False -CTSPillarNetworkA,5193,5193,5193,1984-03-21,519.3000000000495,519.32025,2015-01-01 01:26:33,bin5193,75,False -CTSPillarNetworkA,5194,5194,5194,1984-03-22,519.4000000000495,519.4202,2015-01-01 01:26:34,bin5194,35,False -CTSPillarNetworkA,5195,5195,5195,1984-03-23,519.5000000000496,519.5202,2015-01-01 01:26:35,bin5195,75,False -CTSPillarNetworkA,5196,5196,5196,1984-03-24,519.6000000000496,519.6202,2015-01-01 01:26:36,bin5196,35,False -CTSPillarNetworkA,5197,5197,5197,1984-03-25,519.7000000000496,519.72015,2015-01-01 01:26:37,bin5197,75,False -CTSPillarNetworkA,5198,5198,5198,1984-03-26,519.8000000000496,519.8201,2015-01-01 01:26:38,bin5198,35,False -CTSPillarNetworkA,5199,5199,5199,1984-03-27,519.9000000000497,519.9201,2015-01-01 01:26:39,bin5199,75,False -CTSPillarNetworkA,5200,5200,5200,1984-03-28,520.0000000000497,520.0201,2015-01-01 01:26:40,bin5200,35,False -CTSPillarNetworkA,5201,5201,5201,1984-03-29,520.1000000000497,520.12006,2015-01-01 01:26:41,bin5201,75,False -CTSPillarNetworkA,5202,5202,5202,1984-03-30,520.2000000000497,520.22003,2015-01-01 01:26:42,bin5202,35,False -CTSPillarNetworkA,5203,5203,5203,1984-03-31,520.3000000000497,520.32,2015-01-01 01:26:43,bin5203,75,False -CTSPillarNetworkA,5204,5204,5204,1984-04-01,520.4000000000498,520.42,2015-01-01 01:26:44,bin5204,35,False -CTSPillarNetworkA,5205,5205,5205,1984-04-02,520.5000000000498,520.51996,2015-01-01 01:26:45,bin5205,75,False -CTSPillarNetworkA,5206,5206,5206,1984-04-03,520.6000000000498,520.61993,2015-01-01 01:26:46,bin5206,35,False -CTSPillarNetworkA,5207,5207,5207,1984-04-04,520.7000000000498,520.7199,2015-01-01 01:26:47,bin5207,75,False -CTSPillarNetworkA,5208,5208,5208,1984-04-05,520.8000000000499,520.8199,2015-01-01 01:26:48,bin5208,35,False -CTSPillarNetworkA,5209,5209,5209,1984-04-06,520.9000000000499,520.91986,2015-01-01 01:26:49,bin5209,75,False -CTSPillarNetworkA,5210,5210,5210,1984-04-07,521.0000000000499,521.01984,2015-01-01 01:26:50,bin5210,35,False -CTSPillarNetworkA,5211,5211,5211,1984-04-08,521.1000000000499,521.1198,2015-01-01 01:26:51,bin5211,75,False -CTSPillarNetworkA,5212,5212,5212,1984-04-09,521.20000000005,521.2198,2015-01-01 01:26:52,bin5212,35,False -CTSPillarNetworkA,5213,5213,5213,1984-04-10,521.30000000005,521.31976,2015-01-01 01:26:53,bin5213,75,False -CTSPillarNetworkA,5214,5214,5214,1984-04-11,521.40000000005,521.41974,2015-01-01 01:26:54,bin5214,35,False -CTSPillarNetworkA,5215,5215,5215,1984-04-12,521.50000000005,521.5197,2015-01-01 01:26:55,bin5215,75,False -CTSPillarNetworkA,5216,5216,5216,1984-04-13,521.60000000005,521.6197,2015-01-01 01:26:56,bin5216,35,False -CTSPillarNetworkA,5217,5217,5217,1984-04-14,521.7000000000501,521.71967,2015-01-01 01:26:57,bin5217,75,False -CTSPillarNetworkA,5218,5218,5218,1984-04-15,521.8000000000501,521.81964,2015-01-01 01:26:58,bin5218,35,False -CTSPillarNetworkA,5219,5219,5219,1984-04-16,521.9000000000501,521.9196,2015-01-01 01:26:59,bin5219,75,False -CTSPillarNetworkA,5220,5220,5220,1984-04-17,522.0000000000501,522.0196,2015-01-01 01:27:00,bin5220,35,False -CTSPillarNetworkA,5221,5221,5221,1984-04-18,522.1000000000502,522.11957,2015-01-01 01:27:01,bin5221,75,False -CTSPillarNetworkA,5222,5222,5222,1984-04-19,522.2000000000502,522.21954,2015-01-01 01:27:02,bin5222,35,False -CTSPillarNetworkA,5223,5223,5223,1984-04-20,522.3000000000502,522.3195,2015-01-01 01:27:03,bin5223,75,False -CTSPillarNetworkA,5224,5224,5224,1984-04-21,522.4000000000502,522.4195,2015-01-01 01:27:04,bin5224,35,False -CTSPillarNetworkA,5225,5225,5225,1984-04-22,522.5000000000502,522.5195,2015-01-01 01:27:05,bin5225,75,False -CTSPillarNetworkA,5226,5226,5226,1984-04-23,522.6000000000503,522.61945,2015-01-01 01:27:06,bin5226,35,False -CTSPillarNetworkA,5227,5227,5227,1984-04-24,522.7000000000503,522.7194,2015-01-01 01:27:07,bin5227,75,False -CTSPillarNetworkA,5228,5228,5228,1984-04-25,522.8000000000503,522.8194,2015-01-01 01:27:08,bin5228,35,False -CTSPillarNetworkA,5229,5229,5229,1984-04-26,522.9000000000503,522.9194,2015-01-01 01:27:09,bin5229,75,False -CTSPillarNetworkA,5230,5230,5230,1984-04-27,523.0000000000504,523.01935,2015-01-01 01:27:10,bin5230,35,False -CTSPillarNetworkA,5231,5231,5231,1984-04-28,523.1000000000504,523.1193,2015-01-01 01:27:11,bin5231,75,False -CTSPillarNetworkA,5232,5232,5232,1984-04-29,523.2000000000504,523.2193,2015-01-01 01:27:12,bin5232,35,False -CTSPillarNetworkA,5233,5233,5233,1984-04-30,523.3000000000504,523.3193,2015-01-01 01:27:13,bin5233,75,False -CTSPillarNetworkA,5234,5234,5234,1984-05-01,523.4000000000505,523.41925,2015-01-01 01:27:14,bin5234,35,False -CTSPillarNetworkA,5235,5235,5235,1984-05-02,523.5000000000505,523.5192,2015-01-01 01:27:15,bin5235,75,False -CTSPillarNetworkA,5236,5236,5236,1984-05-03,523.6000000000505,523.6192,2015-01-01 01:27:16,bin5236,35,False -CTSPillarNetworkA,5237,5237,5237,1984-05-04,523.7000000000505,523.7192,2015-01-01 01:27:17,bin5237,75,False -CTSPillarNetworkA,5238,5238,5238,1984-05-05,523.8000000000505,523.81915,2015-01-01 01:27:18,bin5238,35,False -CTSPillarNetworkA,5239,5239,5239,1984-05-06,523.9000000000506,523.9191,2015-01-01 01:27:19,bin5239,75,False -CTSPillarNetworkA,5240,5240,5240,1984-05-07,524.0000000000506,524.0191,2015-01-01 01:27:20,bin5240,35,False -CTSPillarNetworkA,5241,5241,5241,1984-05-08,524.1000000000506,524.1191,2015-01-01 01:27:21,bin5241,75,False -CTSPillarNetworkA,5242,5242,5242,1984-05-09,524.2000000000506,524.21906,2015-01-01 01:27:22,bin5242,35,False -CTSPillarNetworkA,5243,5243,5243,1984-05-10,524.3000000000507,524.31903,2015-01-01 01:27:23,bin5243,75,False -CTSPillarNetworkA,5244,5244,5244,1984-05-11,524.4000000000507,524.419,2015-01-01 01:27:24,bin5244,35,False -CTSPillarNetworkA,5245,5245,5245,1984-05-12,524.5000000000507,524.519,2015-01-01 01:27:25,bin5245,75,False -CTSPillarNetworkA,5246,5246,5246,1984-05-13,524.6000000000507,524.61896,2015-01-01 01:27:26,bin5246,35,False -CTSPillarNetworkA,5247,5247,5247,1984-05-14,524.7000000000507,524.71893,2015-01-01 01:27:27,bin5247,75,False -CTSPillarNetworkA,5248,5248,5248,1984-05-15,524.8000000000508,524.8189,2015-01-01 01:27:28,bin5248,35,False -CTSPillarNetworkA,5249,5249,5249,1984-05-16,524.9000000000508,524.9189,2015-01-01 01:27:29,bin5249,75,False -CTSPillarNetworkA,5250,5250,5250,1984-05-17,525.0000000000508,525.01886,2015-01-01 01:27:30,bin5250,35,False -CTSPillarNetworkA,5251,5251,5251,1984-05-18,525.1000000000508,525.11884,2015-01-01 01:27:31,bin5251,75,False -CTSPillarNetworkA,5252,5252,5252,1984-05-19,525.2000000000509,525.2188,2015-01-01 01:27:32,bin5252,35,False -CTSPillarNetworkA,5253,5253,5253,1984-05-20,525.3000000000509,525.3188,2015-01-01 01:27:33,bin5253,75,False -CTSPillarNetworkA,5254,5254,5254,1984-05-21,525.4000000000509,525.41876,2015-01-01 01:27:34,bin5254,35,False -CTSPillarNetworkA,5255,5255,5255,1984-05-22,525.5000000000509,525.51874,2015-01-01 01:27:35,bin5255,75,False -CTSPillarNetworkA,5256,5256,5256,1984-05-23,525.600000000051,525.6187,2015-01-01 01:27:36,bin5256,35,False -CTSPillarNetworkA,5257,5257,5257,1984-05-24,525.700000000051,525.7187,2015-01-01 01:27:37,bin5257,75,False -CTSPillarNetworkA,5258,5258,5258,1984-05-25,525.800000000051,525.81866,2015-01-01 01:27:38,bin5258,35,False -CTSPillarNetworkA,5259,5259,5259,1984-05-26,525.900000000051,525.91864,2015-01-01 01:27:39,bin5259,75,False -CTSPillarNetworkA,5260,5260,5260,1984-05-27,526.000000000051,526.0186,2015-01-01 01:27:40,bin5260,35,False -CTSPillarNetworkA,5261,5261,5261,1984-05-28,526.1000000000511,526.1186,2015-01-01 01:27:41,bin5261,75,False -CTSPillarNetworkA,5262,5262,5262,1984-05-29,526.2000000000511,526.21857,2015-01-01 01:27:42,bin5262,35,False -CTSPillarNetworkA,5263,5263,5263,1984-05-30,526.3000000000511,526.31854,2015-01-01 01:27:43,bin5263,75,False -CTSPillarNetworkA,5264,5264,5264,1984-05-31,526.4000000000511,526.4185,2015-01-01 01:27:44,bin5264,35,False -CTSPillarNetworkA,5265,5265,5265,1984-06-01,526.5000000000512,526.5185,2015-01-01 01:27:45,bin5265,75,False -CTSPillarNetworkA,5266,5266,5266,1984-06-02,526.6000000000512,526.61847,2015-01-01 01:27:46,bin5266,35,False -CTSPillarNetworkA,5267,5267,5267,1984-06-03,526.7000000000512,526.71844,2015-01-01 01:27:47,bin5267,75,False -CTSPillarNetworkA,5268,5268,5268,1984-06-04,526.8000000000512,526.8184,2015-01-01 01:27:48,bin5268,35,False -CTSPillarNetworkA,5269,5269,5269,1984-06-05,526.9000000000513,526.9184,2015-01-01 01:27:49,bin5269,75,False -CTSPillarNetworkA,5270,5270,5270,1984-06-06,527.0000000000513,527.0184,2015-01-01 01:27:50,bin5270,35,False -CTSPillarNetworkA,5271,5271,5271,1984-06-07,527.1000000000513,527.11835,2015-01-01 01:27:51,bin5271,75,False -CTSPillarNetworkA,5272,5272,5272,1984-06-08,527.2000000000513,527.2183,2015-01-01 01:27:52,bin5272,35,False -CTSPillarNetworkA,5273,5273,5273,1984-06-09,527.3000000000513,527.3183,2015-01-01 01:27:53,bin5273,75,False -CTSPillarNetworkA,5274,5274,5274,1984-06-10,527.4000000000514,527.4183,2015-01-01 01:27:54,bin5274,35,False -CTSPillarNetworkA,5275,5275,5275,1984-06-11,527.5000000000514,527.51825,2015-01-01 01:27:55,bin5275,75,False -CTSPillarNetworkA,5276,5276,5276,1984-06-12,527.6000000000514,527.6182,2015-01-01 01:27:56,bin5276,35,False -CTSPillarNetworkA,5277,5277,5277,1984-06-13,527.7000000000514,527.7182,2015-01-01 01:27:57,bin5277,75,False -CTSPillarNetworkA,5278,5278,5278,1984-06-14,527.8000000000515,527.8182,2015-01-01 01:27:58,bin5278,35,False -CTSPillarNetworkA,5279,5279,5279,1984-06-15,527.9000000000515,527.91815,2015-01-01 01:27:59,bin5279,75,False -CTSPillarNetworkA,5280,5280,5280,1984-06-16,528.0000000000515,528.0181,2015-01-01 01:28:00,bin5280,35,False -CTSPillarNetworkA,5281,5281,5281,1984-06-17,528.1000000000515,528.1181,2015-01-01 01:28:01,bin5281,75,False -CTSPillarNetworkA,5282,5282,5282,1984-06-18,528.2000000000515,528.2181,2015-01-01 01:28:02,bin5282,35,False -CTSPillarNetworkA,5283,5283,5283,1984-06-19,528.3000000000516,528.31805,2015-01-01 01:28:03,bin5283,75,False -CTSPillarNetworkA,5284,5284,5284,1984-06-20,528.4000000000516,528.418,2015-01-01 01:28:04,bin5284,35,False -CTSPillarNetworkA,5285,5285,5285,1984-06-21,528.5000000000516,528.518,2015-01-01 01:28:05,bin5285,75,False -CTSPillarNetworkA,5286,5286,5286,1984-06-22,528.6000000000516,528.618,2015-01-01 01:28:06,bin5286,35,False -CTSPillarNetworkA,5287,5287,5287,1984-06-23,528.7000000000517,528.71796,2015-01-01 01:28:07,bin5287,75,False -CTSPillarNetworkA,5288,5288,5288,1984-06-24,528.8000000000517,528.81793,2015-01-01 01:28:08,bin5288,35,False -CTSPillarNetworkA,5289,5289,5289,1984-06-25,528.9000000000517,528.9179,2015-01-01 01:28:09,bin5289,75,False -CTSPillarNetworkA,5290,5290,5290,1984-06-26,529.0000000000517,529.0179,2015-01-01 01:28:10,bin5290,35,False -CTSPillarNetworkA,5291,5291,5291,1984-06-27,529.1000000000518,529.11786,2015-01-01 01:28:11,bin5291,75,False -CTSPillarNetworkA,5292,5292,5292,1984-06-28,529.2000000000518,529.21783,2015-01-01 01:28:12,bin5292,35,False -CTSPillarNetworkA,5293,5293,5293,1984-06-29,529.3000000000518,529.3178,2015-01-01 01:28:13,bin5293,75,False -CTSPillarNetworkA,5294,5294,5294,1984-06-30,529.4000000000518,529.4178,2015-01-01 01:28:14,bin5294,35,False -CTSPillarNetworkA,5295,5295,5295,1984-07-01,529.5000000000518,529.51776,2015-01-01 01:28:15,bin5295,75,False -CTSPillarNetworkA,5296,5296,5296,1984-07-02,529.6000000000519,529.61774,2015-01-01 01:28:16,bin5296,35,False -CTSPillarNetworkA,5297,5297,5297,1984-07-03,529.7000000000519,529.7177,2015-01-01 01:28:17,bin5297,75,False -CTSPillarNetworkA,5298,5298,5298,1984-07-04,529.8000000000519,529.8177,2015-01-01 01:28:18,bin5298,35,False -CTSPillarNetworkA,5299,5299,5299,1984-07-05,529.9000000000519,529.91766,2015-01-01 01:28:19,bin5299,75,False -CTSPillarNetworkA,5300,5300,5300,1984-07-06,530.000000000052,530.01764,2015-01-01 01:28:20,bin5300,35,False -CTSPillarNetworkA,5301,5301,5301,1984-07-07,530.100000000052,530.1176,2015-01-01 01:28:21,bin5301,75,False -CTSPillarNetworkA,5302,5302,5302,1984-07-08,530.200000000052,530.2176,2015-01-01 01:28:22,bin5302,35,False -CTSPillarNetworkA,5303,5303,5303,1984-07-09,530.300000000052,530.31757,2015-01-01 01:28:23,bin5303,75,False -CTSPillarNetworkA,5304,5304,5304,1984-07-10,530.400000000052,530.41754,2015-01-01 01:28:24,bin5304,35,False -CTSPillarNetworkA,5305,5305,5305,1984-07-11,530.5000000000521,530.5175,2015-01-01 01:28:25,bin5305,75,False -CTSPillarNetworkA,5306,5306,5306,1984-07-12,530.6000000000521,530.6175,2015-01-01 01:28:26,bin5306,35,False -CTSPillarNetworkA,5307,5307,5307,1984-07-13,530.7000000000521,530.71747,2015-01-01 01:28:27,bin5307,75,False -CTSPillarNetworkA,5308,5308,5308,1984-07-14,530.8000000000521,530.81744,2015-01-01 01:28:28,bin5308,35,False -CTSPillarNetworkA,5309,5309,5309,1984-07-15,530.9000000000522,530.9174,2015-01-01 01:28:29,bin5309,75,False -CTSPillarNetworkA,5310,5310,5310,1984-07-16,531.0000000000522,531.0174,2015-01-01 01:28:30,bin5310,35,False -CTSPillarNetworkA,5311,5311,5311,1984-07-17,531.1000000000522,531.1174,2015-01-01 01:28:31,bin5311,75,False -CTSPillarNetworkA,5312,5312,5312,1984-07-18,531.2000000000522,531.21735,2015-01-01 01:28:32,bin5312,35,False -CTSPillarNetworkA,5313,5313,5313,1984-07-19,531.3000000000523,531.3173,2015-01-01 01:28:33,bin5313,75,False -CTSPillarNetworkA,5314,5314,5314,1984-07-20,531.4000000000523,531.4173,2015-01-01 01:28:34,bin5314,35,False -CTSPillarNetworkA,5315,5315,5315,1984-07-21,531.5000000000523,531.5173,2015-01-01 01:28:35,bin5315,75,False -CTSPillarNetworkA,5316,5316,5316,1984-07-22,531.6000000000523,531.61725,2015-01-01 01:28:36,bin5316,35,False -CTSPillarNetworkA,5317,5317,5317,1984-07-23,531.7000000000523,531.7172,2015-01-01 01:28:37,bin5317,75,False -CTSPillarNetworkA,5318,5318,5318,1984-07-24,531.8000000000524,531.8172,2015-01-01 01:28:38,bin5318,35,False -CTSPillarNetworkA,5319,5319,5319,1984-07-25,531.9000000000524,531.9172,2015-01-01 01:28:39,bin5319,75,False -CTSPillarNetworkA,5320,5320,5320,1984-07-26,532.0000000000524,532.01715,2015-01-01 01:28:40,bin5320,35,False -CTSPillarNetworkA,5321,5321,5321,1984-07-27,532.1000000000524,532.1171,2015-01-01 01:28:41,bin5321,75,False -CTSPillarNetworkA,5322,5322,5322,1984-07-28,532.2000000000525,532.2171,2015-01-01 01:28:42,bin5322,35,False -CTSPillarNetworkA,5323,5323,5323,1984-07-29,532.3000000000525,532.3171,2015-01-01 01:28:43,bin5323,75,False -CTSPillarNetworkA,5324,5324,5324,1984-07-30,532.4000000000525,532.41705,2015-01-01 01:28:44,bin5324,35,False -CTSPillarNetworkA,5325,5325,5325,1984-07-31,532.5000000000525,532.517,2015-01-01 01:28:45,bin5325,75,False -CTSPillarNetworkA,5326,5326,5326,1984-08-01,532.6000000000525,532.617,2015-01-01 01:28:46,bin5326,35,False -CTSPillarNetworkA,5327,5327,5327,1984-08-02,532.7000000000526,532.717,2015-01-01 01:28:47,bin5327,75,False -CTSPillarNetworkA,5328,5328,5328,1984-08-03,532.8000000000526,532.81696,2015-01-01 01:28:48,bin5328,35,False -CTSPillarNetworkA,5329,5329,5329,1984-08-04,532.9000000000526,532.91693,2015-01-01 01:28:49,bin5329,75,False -CTSPillarNetworkA,5330,5330,5330,1984-08-05,533.0000000000526,533.0169,2015-01-01 01:28:50,bin5330,35,False -CTSPillarNetworkA,5331,5331,5331,1984-08-06,533.1000000000527,533.1169,2015-01-01 01:28:51,bin5331,75,False -CTSPillarNetworkA,5332,5332,5332,1984-08-07,533.2000000000527,533.21686,2015-01-01 01:28:52,bin5332,35,False -CTSPillarNetworkA,5333,5333,5333,1984-08-08,533.3000000000527,533.31683,2015-01-01 01:28:53,bin5333,75,False -CTSPillarNetworkA,5334,5334,5334,1984-08-09,533.4000000000527,533.4168,2015-01-01 01:28:54,bin5334,35,False -CTSPillarNetworkA,5335,5335,5335,1984-08-10,533.5000000000528,533.5168,2015-01-01 01:28:55,bin5335,75,False -CTSPillarNetworkA,5336,5336,5336,1984-08-11,533.6000000000528,533.61676,2015-01-01 01:28:56,bin5336,35,False -CTSPillarNetworkA,5337,5337,5337,1984-08-12,533.7000000000528,533.71674,2015-01-01 01:28:57,bin5337,75,False -CTSPillarNetworkA,5338,5338,5338,1984-08-13,533.8000000000528,533.8167,2015-01-01 01:28:58,bin5338,35,False -CTSPillarNetworkA,5339,5339,5339,1984-08-14,533.9000000000528,533.9167,2015-01-01 01:28:59,bin5339,75,False -CTSPillarNetworkA,5340,5340,5340,1984-08-15,534.0000000000529,534.01666,2015-01-01 01:29:00,bin5340,35,False -CTSPillarNetworkA,5341,5341,5341,1984-08-16,534.1000000000529,534.11664,2015-01-01 01:29:01,bin5341,75,False -CTSPillarNetworkA,5342,5342,5342,1984-08-17,534.2000000000529,534.2166,2015-01-01 01:29:02,bin5342,35,False -CTSPillarNetworkA,5343,5343,5343,1984-08-18,534.3000000000529,534.3166,2015-01-01 01:29:03,bin5343,75,False -CTSPillarNetworkA,5344,5344,5344,1984-08-19,534.400000000053,534.41656,2015-01-01 01:29:04,bin5344,35,False -CTSPillarNetworkA,5345,5345,5345,1984-08-20,534.500000000053,534.51654,2015-01-01 01:29:05,bin5345,75,False -CTSPillarNetworkA,5346,5346,5346,1984-08-21,534.600000000053,534.6165,2015-01-01 01:29:06,bin5346,35,False -CTSPillarNetworkA,5347,5347,5347,1984-08-22,534.700000000053,534.7165,2015-01-01 01:29:07,bin5347,75,False -CTSPillarNetworkA,5348,5348,5348,1984-08-23,534.800000000053,534.81647,2015-01-01 01:29:08,bin5348,35,False -CTSPillarNetworkA,5349,5349,5349,1984-08-24,534.9000000000531,534.91644,2015-01-01 01:29:09,bin5349,75,False -CTSPillarNetworkA,5350,5350,5350,1984-08-25,535.0000000000531,535.0164,2015-01-01 01:29:10,bin5350,35,False -CTSPillarNetworkA,5351,5351,5351,1984-08-26,535.1000000000531,535.1164,2015-01-01 01:29:11,bin5351,75,False -CTSPillarNetworkA,5352,5352,5352,1984-08-27,535.2000000000531,535.2164,2015-01-01 01:29:12,bin5352,35,False -CTSPillarNetworkA,5353,5353,5353,1984-08-28,535.3000000000532,535.31635,2015-01-01 01:29:13,bin5353,75,False -CTSPillarNetworkA,5354,5354,5354,1984-08-29,535.4000000000532,535.4163,2015-01-01 01:29:14,bin5354,35,False -CTSPillarNetworkA,5355,5355,5355,1984-08-30,535.5000000000532,535.5163,2015-01-01 01:29:15,bin5355,75,False -CTSPillarNetworkA,5356,5356,5356,1984-08-31,535.6000000000532,535.6163,2015-01-01 01:29:16,bin5356,35,False -CTSPillarNetworkA,5357,5357,5357,1984-09-01,535.7000000000533,535.71625,2015-01-01 01:29:17,bin5357,75,False -CTSPillarNetworkA,5358,5358,5358,1984-09-02,535.8000000000533,535.8162,2015-01-01 01:29:18,bin5358,35,False -CTSPillarNetworkA,5359,5359,5359,1984-09-03,535.9000000000533,535.9162,2015-01-01 01:29:19,bin5359,75,False -CTSPillarNetworkA,5360,5360,5360,1984-09-04,536.0000000000533,536.0162,2015-01-01 01:29:20,bin5360,35,False -CTSPillarNetworkA,5361,5361,5361,1984-09-05,536.1000000000533,536.11615,2015-01-01 01:29:21,bin5361,75,False -CTSPillarNetworkA,5362,5362,5362,1984-09-06,536.2000000000534,536.2161,2015-01-01 01:29:22,bin5362,35,False -CTSPillarNetworkA,5363,5363,5363,1984-09-07,536.3000000000534,536.3161,2015-01-01 01:29:23,bin5363,75,False -CTSPillarNetworkA,5364,5364,5364,1984-09-08,536.4000000000534,536.4161,2015-01-01 01:29:24,bin5364,35,False -CTSPillarNetworkA,5365,5365,5365,1984-09-09,536.5000000000534,536.51605,2015-01-01 01:29:25,bin5365,75,False -CTSPillarNetworkA,5366,5366,5366,1984-09-10,536.6000000000535,536.616,2015-01-01 01:29:26,bin5366,35,False -CTSPillarNetworkA,5367,5367,5367,1984-09-11,536.7000000000535,536.716,2015-01-01 01:29:27,bin5367,75,False -CTSPillarNetworkA,5368,5368,5368,1984-09-12,536.8000000000535,536.816,2015-01-01 01:29:28,bin5368,35,False -CTSPillarNetworkA,5369,5369,5369,1984-09-13,536.9000000000535,536.91595,2015-01-01 01:29:29,bin5369,75,False -CTSPillarNetworkA,5370,5370,5370,1984-09-14,537.0000000000535,537.0159,2015-01-01 01:29:30,bin5370,35,False -CTSPillarNetworkA,5371,5371,5371,1984-09-15,537.1000000000536,537.1159,2015-01-01 01:29:31,bin5371,75,False -CTSPillarNetworkA,5372,5372,5372,1984-09-16,537.2000000000536,537.2159,2015-01-01 01:29:32,bin5372,35,False -CTSPillarNetworkA,5373,5373,5373,1984-09-17,537.3000000000536,537.31586,2015-01-01 01:29:33,bin5373,75,False -CTSPillarNetworkA,5374,5374,5374,1984-09-18,537.4000000000536,537.41583,2015-01-01 01:29:34,bin5374,35,False -CTSPillarNetworkA,5375,5375,5375,1984-09-19,537.5000000000537,537.5158,2015-01-01 01:29:35,bin5375,75,False -CTSPillarNetworkA,5376,5376,5376,1984-09-20,537.6000000000537,537.6158,2015-01-01 01:29:36,bin5376,35,False -CTSPillarNetworkA,5377,5377,5377,1984-09-21,537.7000000000537,537.71576,2015-01-01 01:29:37,bin5377,75,False -CTSPillarNetworkA,5378,5378,5378,1984-09-22,537.8000000000537,537.81573,2015-01-01 01:29:38,bin5378,35,False -CTSPillarNetworkA,5379,5379,5379,1984-09-23,537.9000000000538,537.9157,2015-01-01 01:29:39,bin5379,75,False -CTSPillarNetworkA,5380,5380,5380,1984-09-24,538.0000000000538,538.0157,2015-01-01 01:29:40,bin5380,35,False -CTSPillarNetworkA,5381,5381,5381,1984-09-25,538.1000000000538,538.11566,2015-01-01 01:29:41,bin5381,75,False -CTSPillarNetworkA,5382,5382,5382,1984-09-26,538.2000000000538,538.21564,2015-01-01 01:29:42,bin5382,35,False -CTSPillarNetworkA,5383,5383,5383,1984-09-27,538.3000000000538,538.3156,2015-01-01 01:29:43,bin5383,75,False -CTSPillarNetworkA,5384,5384,5384,1984-09-28,538.4000000000539,538.4156,2015-01-01 01:29:44,bin5384,35,False -CTSPillarNetworkA,5385,5385,5385,1984-09-29,538.5000000000539,538.51556,2015-01-01 01:29:45,bin5385,75,False -CTSPillarNetworkA,5386,5386,5386,1984-09-30,538.6000000000539,538.61554,2015-01-01 01:29:46,bin5386,35,False -CTSPillarNetworkA,5387,5387,5387,1984-10-01,538.7000000000539,538.7155,2015-01-01 01:29:47,bin5387,75,False -CTSPillarNetworkA,5388,5388,5388,1984-10-02,538.800000000054,538.8155,2015-01-01 01:29:48,bin5388,35,False -CTSPillarNetworkA,5389,5389,5389,1984-10-03,538.900000000054,538.91547,2015-01-01 01:29:49,bin5389,75,False -CTSPillarNetworkA,5390,5390,5390,1984-10-04,539.000000000054,539.01544,2015-01-01 01:29:50,bin5390,35,False -CTSPillarNetworkA,5391,5391,5391,1984-10-05,539.100000000054,539.1154,2015-01-01 01:29:51,bin5391,75,False -CTSPillarNetworkA,5392,5392,5392,1984-10-06,539.200000000054,539.2154,2015-01-01 01:29:52,bin5392,35,False -CTSPillarNetworkA,5393,5393,5393,1984-10-07,539.3000000000541,539.31537,2015-01-01 01:29:53,bin5393,75,False -CTSPillarNetworkA,5394,5394,5394,1984-10-08,539.4000000000541,539.41534,2015-01-01 01:29:54,bin5394,35,False -CTSPillarNetworkA,5395,5395,5395,1984-10-09,539.5000000000541,539.5153,2015-01-01 01:29:55,bin5395,75,False -CTSPillarNetworkA,5396,5396,5396,1984-10-10,539.6000000000541,539.6153,2015-01-01 01:29:56,bin5396,35,False -CTSPillarNetworkA,5397,5397,5397,1984-10-11,539.7000000000542,539.7153,2015-01-01 01:29:57,bin5397,75,False -CTSPillarNetworkA,5398,5398,5398,1984-10-12,539.8000000000542,539.81525,2015-01-01 01:29:58,bin5398,35,False -CTSPillarNetworkA,5399,5399,5399,1984-10-13,539.9000000000542,539.9152,2015-01-01 01:29:59,bin5399,75,False -CTSPillarNetworkA,5400,5400,5400,1984-10-14,540.0000000000542,540.0152,2015-01-01 01:30:00,bin5400,35,False -CTSPillarNetworkA,5401,5401,5401,1984-10-15,540.1000000000543,540.1152,2015-01-01 01:30:01,bin5401,75,False -CTSPillarNetworkA,5402,5402,5402,1984-10-16,540.2000000000543,540.21515,2015-01-01 01:30:02,bin5402,35,False -CTSPillarNetworkA,5403,5403,5403,1984-10-17,540.3000000000543,540.3151,2015-01-01 01:30:03,bin5403,75,False -CTSPillarNetworkA,5404,5404,5404,1984-10-18,540.4000000000543,540.4151,2015-01-01 01:30:04,bin5404,35,False -CTSPillarNetworkA,5405,5405,5405,1984-10-19,540.5000000000543,540.5151,2015-01-01 01:30:05,bin5405,75,False -CTSPillarNetworkA,5406,5406,5406,1984-10-20,540.6000000000544,540.61505,2015-01-01 01:30:06,bin5406,35,False -CTSPillarNetworkA,5407,5407,5407,1984-10-21,540.7000000000544,540.715,2015-01-01 01:30:07,bin5407,75,False -CTSPillarNetworkA,5408,5408,5408,1984-10-22,540.8000000000544,540.815,2015-01-01 01:30:08,bin5408,35,False -CTSPillarNetworkA,5409,5409,5409,1984-10-23,540.9000000000544,540.915,2015-01-01 01:30:09,bin5409,75,False -CTSPillarNetworkA,5410,5410,5410,1984-10-24,541.0000000000545,541.01495,2015-01-01 01:30:10,bin5410,35,False -CTSPillarNetworkA,5411,5411,5411,1984-10-25,541.1000000000545,541.1149,2015-01-01 01:30:11,bin5411,75,False -CTSPillarNetworkA,5412,5412,5412,1984-10-26,541.2000000000545,541.2149,2015-01-01 01:30:12,bin5412,35,False -CTSPillarNetworkA,5413,5413,5413,1984-10-27,541.3000000000545,541.3149,2015-01-01 01:30:13,bin5413,75,False -CTSPillarNetworkA,5414,5414,5414,1984-10-28,541.4000000000545,541.41486,2015-01-01 01:30:14,bin5414,35,False -CTSPillarNetworkA,5415,5415,5415,1984-10-29,541.5000000000546,541.51483,2015-01-01 01:30:15,bin5415,75,False -CTSPillarNetworkA,5416,5416,5416,1984-10-30,541.6000000000546,541.6148,2015-01-01 01:30:16,bin5416,35,False -CTSPillarNetworkA,5417,5417,5417,1984-10-31,541.7000000000546,541.7148,2015-01-01 01:30:17,bin5417,75,False -CTSPillarNetworkA,5418,5418,5418,1984-11-01,541.8000000000546,541.81476,2015-01-01 01:30:18,bin5418,35,False -CTSPillarNetworkA,5419,5419,5419,1984-11-02,541.9000000000547,541.91473,2015-01-01 01:30:19,bin5419,75,False -CTSPillarNetworkA,5420,5420,5420,1984-11-03,542.0000000000547,542.0147,2015-01-01 01:30:20,bin5420,35,False -CTSPillarNetworkA,5421,5421,5421,1984-11-04,542.1000000000547,542.1147,2015-01-01 01:30:21,bin5421,75,False -CTSPillarNetworkA,5422,5422,5422,1984-11-05,542.2000000000547,542.21466,2015-01-01 01:30:22,bin5422,35,False -CTSPillarNetworkA,5423,5423,5423,1984-11-06,542.3000000000548,542.31464,2015-01-01 01:30:23,bin5423,75,False -CTSPillarNetworkA,5424,5424,5424,1984-11-07,542.4000000000548,542.4146,2015-01-01 01:30:24,bin5424,35,False -CTSPillarNetworkA,5425,5425,5425,1984-11-08,542.5000000000548,542.5146,2015-01-01 01:30:25,bin5425,75,False -CTSPillarNetworkA,5426,5426,5426,1984-11-09,542.6000000000548,542.61456,2015-01-01 01:30:26,bin5426,35,False -CTSPillarNetworkA,5427,5427,5427,1984-11-10,542.7000000000548,542.71454,2015-01-01 01:30:27,bin5427,75,False -CTSPillarNetworkA,5428,5428,5428,1984-11-11,542.8000000000549,542.8145,2015-01-01 01:30:28,bin5428,35,False -CTSPillarNetworkA,5429,5429,5429,1984-11-12,542.9000000000549,542.9145,2015-01-01 01:30:29,bin5429,75,False -CTSPillarNetworkA,5430,5430,5430,1984-11-13,543.0000000000549,543.01447,2015-01-01 01:30:30,bin5430,35,False -CTSPillarNetworkA,5431,5431,5431,1984-11-14,543.1000000000549,543.11444,2015-01-01 01:30:31,bin5431,75,False -CTSPillarNetworkA,5432,5432,5432,1984-11-15,543.200000000055,543.2144,2015-01-01 01:30:32,bin5432,35,False -CTSPillarNetworkA,5433,5433,5433,1984-11-16,543.300000000055,543.3144,2015-01-01 01:30:33,bin5433,75,False -CTSPillarNetworkA,5434,5434,5434,1984-11-17,543.400000000055,543.41437,2015-01-01 01:30:34,bin5434,35,False -CTSPillarNetworkA,5435,5435,5435,1984-11-18,543.500000000055,543.51434,2015-01-01 01:30:35,bin5435,75,False -CTSPillarNetworkA,5436,5436,5436,1984-11-19,543.600000000055,543.6143,2015-01-01 01:30:36,bin5436,35,False -CTSPillarNetworkA,5437,5437,5437,1984-11-20,543.7000000000551,543.7143,2015-01-01 01:30:37,bin5437,75,False -CTSPillarNetworkA,5438,5438,5438,1984-11-21,543.8000000000551,543.8143,2015-01-01 01:30:38,bin5438,35,False -CTSPillarNetworkA,5439,5439,5439,1984-11-22,543.9000000000551,543.91425,2015-01-01 01:30:39,bin5439,75,False -CTSPillarNetworkA,5440,5440,5440,1984-11-23,544.0000000000551,544.0142,2015-01-01 01:30:40,bin5440,35,False -CTSPillarNetworkA,5441,5441,5441,1984-11-24,544.1000000000552,544.1142,2015-01-01 01:30:41,bin5441,75,False -CTSPillarNetworkA,5442,5442,5442,1984-11-25,544.2000000000552,544.2142,2015-01-01 01:30:42,bin5442,35,False -CTSPillarNetworkA,5443,5443,5443,1984-11-26,544.3000000000552,544.31415,2015-01-01 01:30:43,bin5443,75,False -CTSPillarNetworkA,5444,5444,5444,1984-11-27,544.4000000000552,544.4141,2015-01-01 01:30:44,bin5444,35,False -CTSPillarNetworkA,5445,5445,5445,1984-11-28,544.5000000000553,544.5141,2015-01-01 01:30:45,bin5445,75,False -CTSPillarNetworkA,5446,5446,5446,1984-11-29,544.6000000000553,544.6141,2015-01-01 01:30:46,bin5446,35,False -CTSPillarNetworkA,5447,5447,5447,1984-11-30,544.7000000000553,544.71405,2015-01-01 01:30:47,bin5447,75,False -CTSPillarNetworkA,5448,5448,5448,1984-12-01,544.8000000000553,544.814,2015-01-01 01:30:48,bin5448,35,False -CTSPillarNetworkA,5449,5449,5449,1984-12-02,544.9000000000553,544.914,2015-01-01 01:30:49,bin5449,75,False -CTSPillarNetworkA,5450,5450,5450,1984-12-03,545.0000000000554,545.014,2015-01-01 01:30:50,bin5450,35,False -CTSPillarNetworkA,5451,5451,5451,1984-12-04,545.1000000000554,545.11395,2015-01-01 01:30:51,bin5451,75,False -CTSPillarNetworkA,5452,5452,5452,1984-12-05,545.2000000000554,545.2139,2015-01-01 01:30:52,bin5452,35,False -CTSPillarNetworkA,5453,5453,5453,1984-12-06,545.3000000000554,545.3139,2015-01-01 01:30:53,bin5453,75,False -CTSPillarNetworkA,5454,5454,5454,1984-12-07,545.4000000000555,545.4139,2015-01-01 01:30:54,bin5454,35,False -CTSPillarNetworkA,5455,5455,5455,1984-12-08,545.5000000000555,545.51385,2015-01-01 01:30:55,bin5455,75,False -CTSPillarNetworkA,5456,5456,5456,1984-12-09,545.6000000000555,545.61383,2015-01-01 01:30:56,bin5456,35,False -CTSPillarNetworkA,5457,5457,5457,1984-12-10,545.7000000000555,545.7138,2015-01-01 01:30:57,bin5457,75,False -CTSPillarNetworkA,5458,5458,5458,1984-12-11,545.8000000000555,545.8138,2015-01-01 01:30:58,bin5458,35,False -CTSPillarNetworkA,5459,5459,5459,1984-12-12,545.9000000000556,545.91376,2015-01-01 01:30:59,bin5459,75,False -CTSPillarNetworkA,5460,5460,5460,1984-12-13,546.0000000000556,546.01373,2015-01-01 01:31:00,bin5460,35,False -CTSPillarNetworkA,5461,5461,5461,1984-12-14,546.1000000000556,546.1137,2015-01-01 01:31:01,bin5461,75,False -CTSPillarNetworkA,5462,5462,5462,1984-12-15,546.2000000000556,546.2137,2015-01-01 01:31:02,bin5462,35,False -CTSPillarNetworkA,5463,5463,5463,1984-12-16,546.3000000000557,546.31366,2015-01-01 01:31:03,bin5463,75,False -CTSPillarNetworkA,5464,5464,5464,1984-12-17,546.4000000000557,546.41364,2015-01-01 01:31:04,bin5464,35,False -CTSPillarNetworkA,5465,5465,5465,1984-12-18,546.5000000000557,546.5136,2015-01-01 01:31:05,bin5465,75,False -CTSPillarNetworkA,5466,5466,5466,1984-12-19,546.6000000000557,546.6136,2015-01-01 01:31:06,bin5466,35,False -CTSPillarNetworkA,5467,5467,5467,1984-12-20,546.7000000000558,546.71356,2015-01-01 01:31:07,bin5467,75,False -CTSPillarNetworkA,5468,5468,5468,1984-12-21,546.8000000000558,546.81354,2015-01-01 01:31:08,bin5468,35,False -CTSPillarNetworkA,5469,5469,5469,1984-12-22,546.9000000000558,546.9135,2015-01-01 01:31:09,bin5469,75,False -CTSPillarNetworkA,5470,5470,5470,1984-12-23,547.0000000000558,547.0135,2015-01-01 01:31:10,bin5470,35,False -CTSPillarNetworkA,5471,5471,5471,1984-12-24,547.1000000000558,547.11346,2015-01-01 01:31:11,bin5471,75,False -CTSPillarNetworkA,5472,5472,5472,1984-12-25,547.2000000000559,547.21344,2015-01-01 01:31:12,bin5472,35,False -CTSPillarNetworkA,5473,5473,5473,1984-12-26,547.3000000000559,547.3134,2015-01-01 01:31:13,bin5473,75,False -CTSPillarNetworkA,5474,5474,5474,1984-12-27,547.4000000000559,547.4134,2015-01-01 01:31:14,bin5474,35,False -CTSPillarNetworkA,5475,5475,5475,1984-12-28,547.5000000000559,547.51337,2015-01-01 01:31:15,bin5475,75,False -CTSPillarNetworkA,5476,5476,5476,1984-12-29,547.600000000056,547.61334,2015-01-01 01:31:16,bin5476,35,False -CTSPillarNetworkA,5477,5477,5477,1984-12-30,547.700000000056,547.7133,2015-01-01 01:31:17,bin5477,75,False -CTSPillarNetworkA,5478,5478,5478,1984-12-31,547.800000000056,547.8133,2015-01-01 01:31:18,bin5478,35,False -CTSPillarNetworkA,5479,5479,5479,1985-01-01,547.900000000056,547.91327,2015-01-01 01:31:19,bin5479,75,False -CTSPillarNetworkA,5480,5480,5480,1985-01-02,548.000000000056,548.01324,2015-01-01 01:31:20,bin5480,35,False -CTSPillarNetworkA,5481,5481,5481,1985-01-03,548.1000000000561,548.1132,2015-01-01 01:31:21,bin5481,75,False -CTSPillarNetworkA,5482,5482,5482,1985-01-04,548.2000000000561,548.2132,2015-01-01 01:31:22,bin5482,35,False -CTSPillarNetworkA,5483,5483,5483,1985-01-05,548.3000000000561,548.3132,2015-01-01 01:31:23,bin5483,75,False -CTSPillarNetworkA,5484,5484,5484,1985-01-06,548.4000000000561,548.41315,2015-01-01 01:31:24,bin5484,35,False -CTSPillarNetworkA,5485,5485,5485,1985-01-07,548.5000000000562,548.5131,2015-01-01 01:31:25,bin5485,75,False -CTSPillarNetworkA,5486,5486,5486,1985-01-08,548.6000000000562,548.6131,2015-01-01 01:31:26,bin5486,35,False -CTSPillarNetworkA,5487,5487,5487,1985-01-09,548.7000000000562,548.7131,2015-01-01 01:31:27,bin5487,75,False -CTSPillarNetworkA,5488,5488,5488,1985-01-10,548.8000000000562,548.81305,2015-01-01 01:31:28,bin5488,35,False -CTSPillarNetworkA,5489,5489,5489,1985-01-11,548.9000000000563,548.913,2015-01-01 01:31:29,bin5489,75,False -CTSPillarNetworkA,5490,5490,5490,1985-01-12,549.0000000000563,549.013,2015-01-01 01:31:30,bin5490,35,False -CTSPillarNetworkA,5491,5491,5491,1985-01-13,549.1000000000563,549.113,2015-01-01 01:31:31,bin5491,75,False -CTSPillarNetworkA,5492,5492,5492,1985-01-14,549.2000000000563,549.21295,2015-01-01 01:31:32,bin5492,35,False -CTSPillarNetworkA,5493,5493,5493,1985-01-15,549.3000000000563,549.3129,2015-01-01 01:31:33,bin5493,75,False -CTSPillarNetworkA,5494,5494,5494,1985-01-16,549.4000000000564,549.4129,2015-01-01 01:31:34,bin5494,35,False -CTSPillarNetworkA,5495,5495,5495,1985-01-17,549.5000000000564,549.5129,2015-01-01 01:31:35,bin5495,75,False -CTSPillarNetworkA,5496,5496,5496,1985-01-18,549.6000000000564,549.61285,2015-01-01 01:31:36,bin5496,35,False -CTSPillarNetworkA,5497,5497,5497,1985-01-19,549.7000000000564,549.7128,2015-01-01 01:31:37,bin5497,75,False -CTSPillarNetworkA,5498,5498,5498,1985-01-20,549.8000000000565,549.8128,2015-01-01 01:31:38,bin5498,35,False -CTSPillarNetworkA,5499,5499,5499,1985-01-21,549.9000000000565,549.9128,2015-01-01 01:31:39,bin5499,75,False -CTSPillarNetworkA,5500,5500,5500,1985-01-22,550.0000000000565,550.01276,2015-01-01 01:31:40,bin5500,35,False -CTSPillarNetworkA,5501,5501,5501,1985-01-23,550.1000000000565,550.11273,2015-01-01 01:31:41,bin5501,75,False -CTSPillarNetworkA,5502,5502,5502,1985-01-24,550.2000000000565,550.2127,2015-01-01 01:31:42,bin5502,35,False -CTSPillarNetworkA,5503,5503,5503,1985-01-25,550.3000000000566,550.3127,2015-01-01 01:31:43,bin5503,75,False -CTSPillarNetworkA,5504,5504,5504,1985-01-26,550.4000000000566,550.41266,2015-01-01 01:31:44,bin5504,35,False -CTSPillarNetworkA,5505,5505,5505,1985-01-27,550.5000000000566,550.51263,2015-01-01 01:31:45,bin5505,75,False -CTSPillarNetworkA,5506,5506,5506,1985-01-28,550.6000000000566,550.6126,2015-01-01 01:31:46,bin5506,35,False -CTSPillarNetworkA,5507,5507,5507,1985-01-29,550.7000000000567,550.7126,2015-01-01 01:31:47,bin5507,75,False -CTSPillarNetworkA,5508,5508,5508,1985-01-30,550.8000000000567,550.81256,2015-01-01 01:31:48,bin5508,35,False -CTSPillarNetworkA,5509,5509,5509,1985-01-31,550.9000000000567,550.91254,2015-01-01 01:31:49,bin5509,75,False -CTSPillarNetworkA,5510,5510,5510,1985-02-01,551.0000000000567,551.0125,2015-01-01 01:31:50,bin5510,35,False -CTSPillarNetworkA,5511,5511,5511,1985-02-02,551.1000000000568,551.1125,2015-01-01 01:31:51,bin5511,75,False -CTSPillarNetworkA,5512,5512,5512,1985-02-03,551.2000000000568,551.21246,2015-01-01 01:31:52,bin5512,35,False -CTSPillarNetworkA,5513,5513,5513,1985-02-04,551.3000000000568,551.31244,2015-01-01 01:31:53,bin5513,75,False -CTSPillarNetworkA,5514,5514,5514,1985-02-05,551.4000000000568,551.4124,2015-01-01 01:31:54,bin5514,35,False -CTSPillarNetworkA,5515,5515,5515,1985-02-06,551.5000000000568,551.5124,2015-01-01 01:31:55,bin5515,75,False -CTSPillarNetworkA,5516,5516,5516,1985-02-07,551.6000000000569,551.61237,2015-01-01 01:31:56,bin5516,35,False -CTSPillarNetworkA,5517,5517,5517,1985-02-08,551.7000000000569,551.71234,2015-01-01 01:31:57,bin5517,75,False -CTSPillarNetworkA,5518,5518,5518,1985-02-09,551.8000000000569,551.8123,2015-01-01 01:31:58,bin5518,35,False -CTSPillarNetworkA,5519,5519,5519,1985-02-10,551.9000000000569,551.9123,2015-01-01 01:31:59,bin5519,75,False -CTSPillarNetworkA,5520,5520,5520,1985-02-11,552.000000000057,552.01227,2015-01-01 01:32:00,bin5520,35,False -CTSPillarNetworkA,5521,5521,5521,1985-02-12,552.100000000057,552.11224,2015-01-01 01:32:01,bin5521,75,False -CTSPillarNetworkA,5522,5522,5522,1985-02-13,552.200000000057,552.2122,2015-01-01 01:32:02,bin5522,35,False -CTSPillarNetworkA,5523,5523,5523,1985-02-14,552.300000000057,552.3122,2015-01-01 01:32:03,bin5523,75,False -CTSPillarNetworkA,5524,5524,5524,1985-02-15,552.400000000057,552.4122,2015-01-01 01:32:04,bin5524,35,False -CTSPillarNetworkA,5525,5525,5525,1985-02-16,552.5000000000571,552.51215,2015-01-01 01:32:05,bin5525,75,False -CTSPillarNetworkA,5526,5526,5526,1985-02-17,552.6000000000571,552.6121,2015-01-01 01:32:06,bin5526,35,False -CTSPillarNetworkA,5527,5527,5527,1985-02-18,552.7000000000571,552.7121,2015-01-01 01:32:07,bin5527,75,False -CTSPillarNetworkA,5528,5528,5528,1985-02-19,552.8000000000571,552.8121,2015-01-01 01:32:08,bin5528,35,False -CTSPillarNetworkA,5529,5529,5529,1985-02-20,552.9000000000572,552.91205,2015-01-01 01:32:09,bin5529,75,False -CTSPillarNetworkA,5530,5530,5530,1985-02-21,553.0000000000572,553.012,2015-01-01 01:32:10,bin5530,35,False -CTSPillarNetworkA,5531,5531,5531,1985-02-22,553.1000000000572,553.112,2015-01-01 01:32:11,bin5531,75,False -CTSPillarNetworkA,5532,5532,5532,1985-02-23,553.2000000000572,553.212,2015-01-01 01:32:12,bin5532,35,False -CTSPillarNetworkA,5533,5533,5533,1985-02-24,553.3000000000573,553.31195,2015-01-01 01:32:13,bin5533,75,False -CTSPillarNetworkA,5534,5534,5534,1985-02-25,553.4000000000573,553.4119,2015-01-01 01:32:14,bin5534,35,False -CTSPillarNetworkA,5535,5535,5535,1985-02-26,553.5000000000573,553.5119,2015-01-01 01:32:15,bin5535,75,False -CTSPillarNetworkA,5536,5536,5536,1985-02-27,553.6000000000573,553.6119,2015-01-01 01:32:16,bin5536,35,False -CTSPillarNetworkA,5537,5537,5537,1985-02-28,553.7000000000573,553.71185,2015-01-01 01:32:17,bin5537,75,False -CTSPillarNetworkA,5538,5538,5538,1985-03-01,553.8000000000574,553.8118,2015-01-01 01:32:18,bin5538,35,False -CTSPillarNetworkA,5539,5539,5539,1985-03-02,553.9000000000574,553.9118,2015-01-01 01:32:19,bin5539,75,False -CTSPillarNetworkA,5540,5540,5540,1985-03-03,554.0000000000574,554.0118,2015-01-01 01:32:20,bin5540,35,False -CTSPillarNetworkA,5541,5541,5541,1985-03-04,554.1000000000574,554.11176,2015-01-01 01:32:21,bin5541,75,False -CTSPillarNetworkA,5542,5542,5542,1985-03-05,554.2000000000575,554.21173,2015-01-01 01:32:22,bin5542,35,False -CTSPillarNetworkA,5543,5543,5543,1985-03-06,554.3000000000575,554.3117,2015-01-01 01:32:23,bin5543,75,False -CTSPillarNetworkA,5544,5544,5544,1985-03-07,554.4000000000575,554.4117,2015-01-01 01:32:24,bin5544,35,False -CTSPillarNetworkA,5545,5545,5545,1985-03-08,554.5000000000575,554.51166,2015-01-01 01:32:25,bin5545,75,False -CTSPillarNetworkA,5546,5546,5546,1985-03-09,554.6000000000575,554.61163,2015-01-01 01:32:26,bin5546,35,False -CTSPillarNetworkA,5547,5547,5547,1985-03-10,554.7000000000576,554.7116,2015-01-01 01:32:27,bin5547,75,False -CTSPillarNetworkA,5548,5548,5548,1985-03-11,554.8000000000576,554.8116,2015-01-01 01:32:28,bin5548,35,False -CTSPillarNetworkA,5549,5549,5549,1985-03-12,554.9000000000576,554.91156,2015-01-01 01:32:29,bin5549,75,False -CTSPillarNetworkA,5550,5550,5550,1985-03-13,555.0000000000576,555.01154,2015-01-01 01:32:30,bin5550,35,False -CTSPillarNetworkA,5551,5551,5551,1985-03-14,555.1000000000577,555.1115,2015-01-01 01:32:31,bin5551,75,False -CTSPillarNetworkA,5552,5552,5552,1985-03-15,555.2000000000577,555.2115,2015-01-01 01:32:32,bin5552,35,False -CTSPillarNetworkA,5553,5553,5553,1985-03-16,555.3000000000577,555.31146,2015-01-01 01:32:33,bin5553,75,False -CTSPillarNetworkA,5554,5554,5554,1985-03-17,555.4000000000577,555.41144,2015-01-01 01:32:34,bin5554,35,False -CTSPillarNetworkA,5555,5555,5555,1985-03-18,555.5000000000578,555.5114,2015-01-01 01:32:35,bin5555,75,False -CTSPillarNetworkA,5556,5556,5556,1985-03-19,555.6000000000578,555.6114,2015-01-01 01:32:36,bin5556,35,False -CTSPillarNetworkA,5557,5557,5557,1985-03-20,555.7000000000578,555.71136,2015-01-01 01:32:37,bin5557,75,False -CTSPillarNetworkA,5558,5558,5558,1985-03-21,555.8000000000578,555.81134,2015-01-01 01:32:38,bin5558,35,False -CTSPillarNetworkA,5559,5559,5559,1985-03-22,555.9000000000578,555.9113,2015-01-01 01:32:39,bin5559,75,False -CTSPillarNetworkA,5560,5560,5560,1985-03-23,556.0000000000579,556.0113,2015-01-01 01:32:40,bin5560,35,False -CTSPillarNetworkA,5561,5561,5561,1985-03-24,556.1000000000579,556.11127,2015-01-01 01:32:41,bin5561,75,False -CTSPillarNetworkA,5562,5562,5562,1985-03-25,556.2000000000579,556.21124,2015-01-01 01:32:42,bin5562,35,False -CTSPillarNetworkA,5563,5563,5563,1985-03-26,556.3000000000579,556.3112,2015-01-01 01:32:43,bin5563,75,False -CTSPillarNetworkA,5564,5564,5564,1985-03-27,556.400000000058,556.4112,2015-01-01 01:32:44,bin5564,35,False -CTSPillarNetworkA,5565,5565,5565,1985-03-28,556.500000000058,556.51117,2015-01-01 01:32:45,bin5565,75,False -CTSPillarNetworkA,5566,5566,5566,1985-03-29,556.600000000058,556.61115,2015-01-01 01:32:46,bin5566,35,False -CTSPillarNetworkA,5567,5567,5567,1985-03-30,556.700000000058,556.7111,2015-01-01 01:32:47,bin5567,75,False -CTSPillarNetworkA,5568,5568,5568,1985-03-31,556.800000000058,556.8111,2015-01-01 01:32:48,bin5568,35,False -CTSPillarNetworkA,5569,5569,5569,1985-04-01,556.9000000000581,556.9111,2015-01-01 01:32:49,bin5569,75,False -CTSPillarNetworkA,5570,5570,5570,1985-04-02,557.0000000000581,557.01105,2015-01-01 01:32:50,bin5570,35,False -CTSPillarNetworkA,5571,5571,5571,1985-04-03,557.1000000000581,557.111,2015-01-01 01:32:51,bin5571,75,False -CTSPillarNetworkA,5572,5572,5572,1985-04-04,557.2000000000581,557.211,2015-01-01 01:32:52,bin5572,35,False -CTSPillarNetworkA,5573,5573,5573,1985-04-05,557.3000000000582,557.311,2015-01-01 01:32:53,bin5573,75,False -CTSPillarNetworkA,5574,5574,5574,1985-04-06,557.4000000000582,557.41095,2015-01-01 01:32:54,bin5574,35,False -CTSPillarNetworkA,5575,5575,5575,1985-04-07,557.5000000000582,557.5109,2015-01-01 01:32:55,bin5575,75,False -CTSPillarNetworkA,5576,5576,5576,1985-04-08,557.6000000000582,557.6109,2015-01-01 01:32:56,bin5576,35,False -CTSPillarNetworkA,5577,5577,5577,1985-04-09,557.7000000000583,557.7109,2015-01-01 01:32:57,bin5577,75,False -CTSPillarNetworkA,5578,5578,5578,1985-04-10,557.8000000000583,557.81085,2015-01-01 01:32:58,bin5578,35,False -CTSPillarNetworkA,5579,5579,5579,1985-04-11,557.9000000000583,557.9108,2015-01-01 01:32:59,bin5579,75,False -CTSPillarNetworkA,5580,5580,5580,1985-04-12,558.0000000000583,558.0108,2015-01-01 01:33:00,bin5580,35,False -CTSPillarNetworkA,5581,5581,5581,1985-04-13,558.1000000000583,558.1108,2015-01-01 01:33:01,bin5581,75,False -CTSPillarNetworkA,5582,5582,5582,1985-04-14,558.2000000000584,558.21075,2015-01-01 01:33:02,bin5582,35,False -CTSPillarNetworkA,5583,5583,5583,1985-04-15,558.3000000000584,558.3107,2015-01-01 01:33:03,bin5583,75,False -CTSPillarNetworkA,5584,5584,5584,1985-04-16,558.4000000000584,558.4107,2015-01-01 01:33:04,bin5584,35,False -CTSPillarNetworkA,5585,5585,5585,1985-04-17,558.5000000000584,558.5107,2015-01-01 01:33:05,bin5585,75,False -CTSPillarNetworkA,5586,5586,5586,1985-04-18,558.6000000000585,558.61066,2015-01-01 01:33:06,bin5586,35,False -CTSPillarNetworkA,5587,5587,5587,1985-04-19,558.7000000000585,558.71063,2015-01-01 01:33:07,bin5587,75,False -CTSPillarNetworkA,5588,5588,5588,1985-04-20,558.8000000000585,558.8106,2015-01-01 01:33:08,bin5588,35,False -CTSPillarNetworkA,5589,5589,5589,1985-04-21,558.9000000000585,558.9106,2015-01-01 01:33:09,bin5589,75,False -CTSPillarNetworkA,5590,5590,5590,1985-04-22,559.0000000000585,559.01056,2015-01-01 01:33:10,bin5590,35,False -CTSPillarNetworkA,5591,5591,5591,1985-04-23,559.1000000000586,559.11053,2015-01-01 01:33:11,bin5591,75,False -CTSPillarNetworkA,5592,5592,5592,1985-04-24,559.2000000000586,559.2105,2015-01-01 01:33:12,bin5592,35,False -CTSPillarNetworkA,5593,5593,5593,1985-04-25,559.3000000000586,559.3105,2015-01-01 01:33:13,bin5593,75,False -CTSPillarNetworkA,5594,5594,5594,1985-04-26,559.4000000000586,559.41046,2015-01-01 01:33:14,bin5594,35,False -CTSPillarNetworkA,5595,5595,5595,1985-04-27,559.5000000000587,559.51044,2015-01-01 01:33:15,bin5595,75,False -CTSPillarNetworkA,5596,5596,5596,1985-04-28,559.6000000000587,559.6104,2015-01-01 01:33:16,bin5596,35,False -CTSPillarNetworkA,5597,5597,5597,1985-04-29,559.7000000000587,559.7104,2015-01-01 01:33:17,bin5597,75,False -CTSPillarNetworkA,5598,5598,5598,1985-04-30,559.8000000000587,559.81036,2015-01-01 01:33:18,bin5598,35,False -CTSPillarNetworkA,5599,5599,5599,1985-05-01,559.9000000000588,559.91034,2015-01-01 01:33:19,bin5599,75,False -CTSPillarNetworkA,5600,5600,5600,1985-05-02,560.0000000000588,560.0103,2015-01-01 01:33:20,bin5600,35,False -CTSPillarNetworkA,5601,5601,5601,1985-05-03,560.1000000000588,560.1103,2015-01-01 01:33:21,bin5601,75,False -CTSPillarNetworkA,5602,5602,5602,1985-05-04,560.2000000000588,560.21027,2015-01-01 01:33:22,bin5602,35,False -CTSPillarNetworkA,5603,5603,5603,1985-05-05,560.3000000000588,560.31024,2015-01-01 01:33:23,bin5603,75,False -CTSPillarNetworkA,5604,5604,5604,1985-05-06,560.4000000000589,560.4102,2015-01-01 01:33:24,bin5604,35,False -CTSPillarNetworkA,5605,5605,5605,1985-05-07,560.5000000000589,560.5102,2015-01-01 01:33:25,bin5605,75,False -CTSPillarNetworkA,5606,5606,5606,1985-05-08,560.6000000000589,560.61017,2015-01-01 01:33:26,bin5606,35,False -CTSPillarNetworkA,5607,5607,5607,1985-05-09,560.7000000000589,560.71014,2015-01-01 01:33:27,bin5607,75,False -CTSPillarNetworkA,5608,5608,5608,1985-05-10,560.800000000059,560.8101,2015-01-01 01:33:28,bin5608,35,False -CTSPillarNetworkA,5609,5609,5609,1985-05-11,560.900000000059,560.9101,2015-01-01 01:33:29,bin5609,75,False -CTSPillarNetworkA,5610,5610,5610,1985-05-12,561.000000000059,561.0101,2015-01-01 01:33:30,bin5610,35,False -CTSPillarNetworkA,5611,5611,5611,1985-05-13,561.100000000059,561.11005,2015-01-01 01:33:31,bin5611,75,False -CTSPillarNetworkA,5612,5612,5612,1985-05-14,561.200000000059,561.21,2015-01-01 01:33:32,bin5612,35,False -CTSPillarNetworkA,5613,5613,5613,1985-05-15,561.3000000000591,561.31,2015-01-01 01:33:33,bin5613,75,False -CTSPillarNetworkA,5614,5614,5614,1985-05-16,561.4000000000591,561.41,2015-01-01 01:33:34,bin5614,35,False -CTSPillarNetworkA,5615,5615,5615,1985-05-17,561.5000000000591,561.50995,2015-01-01 01:33:35,bin5615,75,False -CTSPillarNetworkA,5616,5616,5616,1985-05-18,561.6000000000591,561.6099,2015-01-01 01:33:36,bin5616,35,False -CTSPillarNetworkA,5617,5617,5617,1985-05-19,561.7000000000592,561.7099,2015-01-01 01:33:37,bin5617,75,False -CTSPillarNetworkA,5618,5618,5618,1985-05-20,561.8000000000592,561.8099,2015-01-01 01:33:38,bin5618,35,False -CTSPillarNetworkA,5619,5619,5619,1985-05-21,561.9000000000592,561.90985,2015-01-01 01:33:39,bin5619,75,False -CTSPillarNetworkA,5620,5620,5620,1985-05-22,562.0000000000592,562.0098,2015-01-01 01:33:40,bin5620,35,False -CTSPillarNetworkA,5621,5621,5621,1985-05-23,562.1000000000593,562.1098,2015-01-01 01:33:41,bin5621,75,False -CTSPillarNetworkA,5622,5622,5622,1985-05-24,562.2000000000593,562.2098,2015-01-01 01:33:42,bin5622,35,False -CTSPillarNetworkA,5623,5623,5623,1985-05-25,562.3000000000593,562.30975,2015-01-01 01:33:43,bin5623,75,False -CTSPillarNetworkA,5624,5624,5624,1985-05-26,562.4000000000593,562.4097,2015-01-01 01:33:44,bin5624,35,False -CTSPillarNetworkA,5625,5625,5625,1985-05-27,562.5000000000593,562.5097,2015-01-01 01:33:45,bin5625,75,False -CTSPillarNetworkA,5626,5626,5626,1985-05-28,562.6000000000594,562.6097,2015-01-01 01:33:46,bin5626,35,False -CTSPillarNetworkA,5627,5627,5627,1985-05-29,562.7000000000594,562.70966,2015-01-01 01:33:47,bin5627,75,False -CTSPillarNetworkA,5628,5628,5628,1985-05-30,562.8000000000594,562.80963,2015-01-01 01:33:48,bin5628,35,False -CTSPillarNetworkA,5629,5629,5629,1985-05-31,562.9000000000594,562.9096,2015-01-01 01:33:49,bin5629,75,False -CTSPillarNetworkA,5630,5630,5630,1985-06-01,563.0000000000595,563.0096,2015-01-01 01:33:50,bin5630,35,False -CTSPillarNetworkA,5631,5631,5631,1985-06-02,563.1000000000595,563.10956,2015-01-01 01:33:51,bin5631,75,False -CTSPillarNetworkA,5632,5632,5632,1985-06-03,563.2000000000595,563.20953,2015-01-01 01:33:52,bin5632,35,False -CTSPillarNetworkA,5633,5633,5633,1985-06-04,563.3000000000595,563.3095,2015-01-01 01:33:53,bin5633,75,False -CTSPillarNetworkA,5634,5634,5634,1985-06-05,563.4000000000595,563.4095,2015-01-01 01:33:54,bin5634,35,False -CTSPillarNetworkA,5635,5635,5635,1985-06-06,563.5000000000596,563.50946,2015-01-01 01:33:55,bin5635,75,False -CTSPillarNetworkA,5636,5636,5636,1985-06-07,563.6000000000596,563.60944,2015-01-01 01:33:56,bin5636,35,False -CTSPillarNetworkA,5637,5637,5637,1985-06-08,563.7000000000596,563.7094,2015-01-01 01:33:57,bin5637,75,False -CTSPillarNetworkA,5638,5638,5638,1985-06-09,563.8000000000596,563.8094,2015-01-01 01:33:58,bin5638,35,False -CTSPillarNetworkA,5639,5639,5639,1985-06-10,563.9000000000597,563.90936,2015-01-01 01:33:59,bin5639,75,False -CTSPillarNetworkA,5640,5640,5640,1985-06-11,564.0000000000597,564.00934,2015-01-01 01:34:00,bin5640,35,False -CTSPillarNetworkA,5641,5641,5641,1985-06-12,564.1000000000597,564.1093,2015-01-01 01:34:01,bin5641,75,False -CTSPillarNetworkA,5642,5642,5642,1985-06-13,564.2000000000597,564.2093,2015-01-01 01:34:02,bin5642,35,False -CTSPillarNetworkA,5643,5643,5643,1985-06-14,564.3000000000598,564.30927,2015-01-01 01:34:03,bin5643,75,False -CTSPillarNetworkA,5644,5644,5644,1985-06-15,564.4000000000598,564.40924,2015-01-01 01:34:04,bin5644,35,False -CTSPillarNetworkA,5645,5645,5645,1985-06-16,564.5000000000598,564.5092,2015-01-01 01:34:05,bin5645,75,False -CTSPillarNetworkA,5646,5646,5646,1985-06-17,564.6000000000598,564.6092,2015-01-01 01:34:06,bin5646,35,False -CTSPillarNetworkA,5647,5647,5647,1985-06-18,564.7000000000598,564.70917,2015-01-01 01:34:07,bin5647,75,False -CTSPillarNetworkA,5648,5648,5648,1985-06-19,564.8000000000599,564.80914,2015-01-01 01:34:08,bin5648,35,False -CTSPillarNetworkA,5649,5649,5649,1985-06-20,564.9000000000599,564.9091,2015-01-01 01:34:09,bin5649,75,False -CTSPillarNetworkA,5650,5650,5650,1985-06-21,565.0000000000599,565.0091,2015-01-01 01:34:10,bin5650,35,False -CTSPillarNetworkA,5651,5651,5651,1985-06-22,565.1000000000599,565.1091,2015-01-01 01:34:11,bin5651,75,False -CTSPillarNetworkA,5652,5652,5652,1985-06-23,565.20000000006,565.20905,2015-01-01 01:34:12,bin5652,35,False -CTSPillarNetworkA,5653,5653,5653,1985-06-24,565.30000000006,565.309,2015-01-01 01:34:13,bin5653,75,False -CTSPillarNetworkA,5654,5654,5654,1985-06-25,565.40000000006,565.409,2015-01-01 01:34:14,bin5654,35,False -CTSPillarNetworkA,5655,5655,5655,1985-06-26,565.50000000006,565.509,2015-01-01 01:34:15,bin5655,75,False -CTSPillarNetworkA,5656,5656,5656,1985-06-27,565.60000000006,565.60895,2015-01-01 01:34:16,bin5656,35,False -CTSPillarNetworkA,5657,5657,5657,1985-06-28,565.7000000000601,565.7089,2015-01-01 01:34:17,bin5657,75,False -CTSPillarNetworkA,5658,5658,5658,1985-06-29,565.8000000000601,565.8089,2015-01-01 01:34:18,bin5658,35,False -CTSPillarNetworkA,5659,5659,5659,1985-06-30,565.9000000000601,565.9089,2015-01-01 01:34:19,bin5659,75,False -CTSPillarNetworkA,5660,5660,5660,1985-07-01,566.0000000000601,566.00885,2015-01-01 01:34:20,bin5660,35,False -CTSPillarNetworkA,5661,5661,5661,1985-07-02,566.1000000000602,566.1088,2015-01-01 01:34:21,bin5661,75,False -CTSPillarNetworkA,5662,5662,5662,1985-07-03,566.2000000000602,566.2088,2015-01-01 01:34:22,bin5662,35,False -CTSPillarNetworkA,5663,5663,5663,1985-07-04,566.3000000000602,566.3088,2015-01-01 01:34:23,bin5663,75,False -CTSPillarNetworkA,5664,5664,5664,1985-07-05,566.4000000000602,566.40875,2015-01-01 01:34:24,bin5664,35,False -CTSPillarNetworkA,5665,5665,5665,1985-07-06,566.5000000000603,566.5087,2015-01-01 01:34:25,bin5665,75,False -CTSPillarNetworkA,5666,5666,5666,1985-07-07,566.6000000000603,566.6087,2015-01-01 01:34:26,bin5666,35,False -CTSPillarNetworkA,5667,5667,5667,1985-07-08,566.7000000000603,566.7087,2015-01-01 01:34:27,bin5667,75,False -CTSPillarNetworkA,5668,5668,5668,1985-07-09,566.8000000000603,566.80865,2015-01-01 01:34:28,bin5668,35,False -CTSPillarNetworkA,5669,5669,5669,1985-07-10,566.9000000000603,566.9086,2015-01-01 01:34:29,bin5669,75,False -CTSPillarNetworkA,5670,5670,5670,1985-07-11,567.0000000000604,567.0086,2015-01-01 01:34:30,bin5670,35,False -CTSPillarNetworkA,5671,5671,5671,1985-07-12,567.1000000000604,567.1086,2015-01-01 01:34:31,bin5671,75,False -CTSPillarNetworkA,5672,5672,5672,1985-07-13,567.2000000000604,567.20856,2015-01-01 01:34:32,bin5672,35,False -CTSPillarNetworkA,5673,5673,5673,1985-07-14,567.3000000000604,567.30853,2015-01-01 01:34:33,bin5673,75,False -CTSPillarNetworkA,5674,5674,5674,1985-07-15,567.4000000000605,567.4085,2015-01-01 01:34:34,bin5674,35,False -CTSPillarNetworkA,5675,5675,5675,1985-07-16,567.5000000000605,567.5085,2015-01-01 01:34:35,bin5675,75,False -CTSPillarNetworkA,5676,5676,5676,1985-07-17,567.6000000000605,567.60846,2015-01-01 01:34:36,bin5676,35,False -CTSPillarNetworkA,5677,5677,5677,1985-07-18,567.7000000000605,567.70844,2015-01-01 01:34:37,bin5677,75,False -CTSPillarNetworkA,5678,5678,5678,1985-07-19,567.8000000000605,567.8084,2015-01-01 01:34:38,bin5678,35,False -CTSPillarNetworkA,5679,5679,5679,1985-07-20,567.9000000000606,567.9084,2015-01-01 01:34:39,bin5679,75,False -CTSPillarNetworkA,5680,5680,5680,1985-07-21,568.0000000000606,568.00836,2015-01-01 01:34:40,bin5680,35,False -CTSPillarNetworkA,5681,5681,5681,1985-07-22,568.1000000000606,568.10834,2015-01-01 01:34:41,bin5681,75,False -CTSPillarNetworkA,5682,5682,5682,1985-07-23,568.2000000000606,568.2083,2015-01-01 01:34:42,bin5682,35,False -CTSPillarNetworkA,5683,5683,5683,1985-07-24,568.3000000000607,568.3083,2015-01-01 01:34:43,bin5683,75,False -CTSPillarNetworkA,5684,5684,5684,1985-07-25,568.4000000000607,568.40826,2015-01-01 01:34:44,bin5684,35,False -CTSPillarNetworkA,5685,5685,5685,1985-07-26,568.5000000000607,568.50824,2015-01-01 01:34:45,bin5685,75,False -CTSPillarNetworkA,5686,5686,5686,1985-07-27,568.6000000000607,568.6082,2015-01-01 01:34:46,bin5686,35,False -CTSPillarNetworkA,5687,5687,5687,1985-07-28,568.7000000000608,568.7082,2015-01-01 01:34:47,bin5687,75,False -CTSPillarNetworkA,5688,5688,5688,1985-07-29,568.8000000000608,568.80817,2015-01-01 01:34:48,bin5688,35,False -CTSPillarNetworkA,5689,5689,5689,1985-07-30,568.9000000000608,568.90814,2015-01-01 01:34:49,bin5689,75,False -CTSPillarNetworkA,5690,5690,5690,1985-07-31,569.0000000000608,569.0081,2015-01-01 01:34:50,bin5690,35,False -CTSPillarNetworkA,5691,5691,5691,1985-08-01,569.1000000000608,569.1081,2015-01-01 01:34:51,bin5691,75,False -CTSPillarNetworkA,5692,5692,5692,1985-08-02,569.2000000000609,569.20807,2015-01-01 01:34:52,bin5692,35,False -CTSPillarNetworkA,5693,5693,5693,1985-08-03,569.3000000000609,569.30804,2015-01-01 01:34:53,bin5693,75,False -CTSPillarNetworkA,5694,5694,5694,1985-08-04,569.4000000000609,569.408,2015-01-01 01:34:54,bin5694,35,False -CTSPillarNetworkA,5695,5695,5695,1985-08-05,569.5000000000609,569.508,2015-01-01 01:34:55,bin5695,75,False -CTSPillarNetworkA,5696,5696,5696,1985-08-06,569.600000000061,569.608,2015-01-01 01:34:56,bin5696,35,False -CTSPillarNetworkA,5697,5697,5697,1985-08-07,569.700000000061,569.70795,2015-01-01 01:34:57,bin5697,75,False -CTSPillarNetworkA,5698,5698,5698,1985-08-08,569.800000000061,569.8079,2015-01-01 01:34:58,bin5698,35,False -CTSPillarNetworkA,5699,5699,5699,1985-08-09,569.900000000061,569.9079,2015-01-01 01:34:59,bin5699,75,False -CTSPillarNetworkA,5700,5700,5700,1985-08-10,570.000000000061,570.0079,2015-01-01 01:35:00,bin5700,35,False -CTSPillarNetworkA,5701,5701,5701,1985-08-11,570.1000000000611,570.10785,2015-01-01 01:35:01,bin5701,75,False -CTSPillarNetworkA,5702,5702,5702,1985-08-12,570.2000000000611,570.2078,2015-01-01 01:35:02,bin5702,35,False -CTSPillarNetworkA,5703,5703,5703,1985-08-13,570.3000000000611,570.3078,2015-01-01 01:35:03,bin5703,75,False -CTSPillarNetworkA,5704,5704,5704,1985-08-14,570.4000000000611,570.4078,2015-01-01 01:35:04,bin5704,35,False -CTSPillarNetworkA,5705,5705,5705,1985-08-15,570.5000000000612,570.50775,2015-01-01 01:35:05,bin5705,75,False -CTSPillarNetworkA,5706,5706,5706,1985-08-16,570.6000000000612,570.6077,2015-01-01 01:35:06,bin5706,35,False -CTSPillarNetworkA,5707,5707,5707,1985-08-17,570.7000000000612,570.7077,2015-01-01 01:35:07,bin5707,75,False -CTSPillarNetworkA,5708,5708,5708,1985-08-18,570.8000000000612,570.8077,2015-01-01 01:35:08,bin5708,35,False -CTSPillarNetworkA,5709,5709,5709,1985-08-19,570.9000000000613,570.90765,2015-01-01 01:35:09,bin5709,75,False -CTSPillarNetworkA,5710,5710,5710,1985-08-20,571.0000000000613,571.0076,2015-01-01 01:35:10,bin5710,35,False -CTSPillarNetworkA,5711,5711,5711,1985-08-21,571.1000000000613,571.1076,2015-01-01 01:35:11,bin5711,75,False -CTSPillarNetworkA,5712,5712,5712,1985-08-22,571.2000000000613,571.2076,2015-01-01 01:35:12,bin5712,35,False -CTSPillarNetworkA,5713,5713,5713,1985-08-23,571.3000000000613,571.30756,2015-01-01 01:35:13,bin5713,75,False -CTSPillarNetworkA,5714,5714,5714,1985-08-24,571.4000000000614,571.40753,2015-01-01 01:35:14,bin5714,35,False -CTSPillarNetworkA,5715,5715,5715,1985-08-25,571.5000000000614,571.5075,2015-01-01 01:35:15,bin5715,75,False -CTSPillarNetworkA,5716,5716,5716,1985-08-26,571.6000000000614,571.6075,2015-01-01 01:35:16,bin5716,35,False -CTSPillarNetworkA,5717,5717,5717,1985-08-27,571.7000000000614,571.70746,2015-01-01 01:35:17,bin5717,75,False -CTSPillarNetworkA,5718,5718,5718,1985-08-28,571.8000000000615,571.80743,2015-01-01 01:35:18,bin5718,35,False -CTSPillarNetworkA,5719,5719,5719,1985-08-29,571.9000000000615,571.9074,2015-01-01 01:35:19,bin5719,75,False -CTSPillarNetworkA,5720,5720,5720,1985-08-30,572.0000000000615,572.0074,2015-01-01 01:35:20,bin5720,35,False -CTSPillarNetworkA,5721,5721,5721,1985-08-31,572.1000000000615,572.10736,2015-01-01 01:35:21,bin5721,75,False -CTSPillarNetworkA,5722,5722,5722,1985-09-01,572.2000000000616,572.20734,2015-01-01 01:35:22,bin5722,35,False -CTSPillarNetworkA,5723,5723,5723,1985-09-02,572.3000000000616,572.3073,2015-01-01 01:35:23,bin5723,75,False -CTSPillarNetworkA,5724,5724,5724,1985-09-03,572.4000000000616,572.4073,2015-01-01 01:35:24,bin5724,35,False -CTSPillarNetworkA,5725,5725,5725,1985-09-04,572.5000000000616,572.50726,2015-01-01 01:35:25,bin5725,75,False -CTSPillarNetworkA,5726,5726,5726,1985-09-05,572.6000000000616,572.60724,2015-01-01 01:35:26,bin5726,35,False -CTSPillarNetworkA,5727,5727,5727,1985-09-06,572.7000000000617,572.7072,2015-01-01 01:35:27,bin5727,75,False -CTSPillarNetworkA,5728,5728,5728,1985-09-07,572.8000000000617,572.8072,2015-01-01 01:35:28,bin5728,35,False -CTSPillarNetworkA,5729,5729,5729,1985-09-08,572.9000000000617,572.90717,2015-01-01 01:35:29,bin5729,75,False -CTSPillarNetworkA,5730,5730,5730,1985-09-09,573.0000000000617,573.00714,2015-01-01 01:35:30,bin5730,35,False -CTSPillarNetworkA,5731,5731,5731,1985-09-10,573.1000000000618,573.1071,2015-01-01 01:35:31,bin5731,75,False -CTSPillarNetworkA,5732,5732,5732,1985-09-11,573.2000000000618,573.2071,2015-01-01 01:35:32,bin5732,35,False -CTSPillarNetworkA,5733,5733,5733,1985-09-12,573.3000000000618,573.30707,2015-01-01 01:35:33,bin5733,75,False -CTSPillarNetworkA,5734,5734,5734,1985-09-13,573.4000000000618,573.40704,2015-01-01 01:35:34,bin5734,35,False -CTSPillarNetworkA,5735,5735,5735,1985-09-14,573.5000000000618,573.507,2015-01-01 01:35:35,bin5735,75,False -CTSPillarNetworkA,5736,5736,5736,1985-09-15,573.6000000000619,573.607,2015-01-01 01:35:36,bin5736,35,False -CTSPillarNetworkA,5737,5737,5737,1985-09-16,573.7000000000619,573.707,2015-01-01 01:35:37,bin5737,75,False -CTSPillarNetworkA,5738,5738,5738,1985-09-17,573.8000000000619,573.80695,2015-01-01 01:35:38,bin5738,35,False -CTSPillarNetworkA,5739,5739,5739,1985-09-18,573.9000000000619,573.9069,2015-01-01 01:35:39,bin5739,75,False -CTSPillarNetworkA,5740,5740,5740,1985-09-19,574.000000000062,574.0069,2015-01-01 01:35:40,bin5740,35,False -CTSPillarNetworkA,5741,5741,5741,1985-09-20,574.100000000062,574.1069,2015-01-01 01:35:41,bin5741,75,False -CTSPillarNetworkA,5742,5742,5742,1985-09-21,574.200000000062,574.20685,2015-01-01 01:35:42,bin5742,35,False -CTSPillarNetworkA,5743,5743,5743,1985-09-22,574.300000000062,574.3068,2015-01-01 01:35:43,bin5743,75,False -CTSPillarNetworkA,5744,5744,5744,1985-09-23,574.400000000062,574.4068,2015-01-01 01:35:44,bin5744,35,False -CTSPillarNetworkA,5745,5745,5745,1985-09-24,574.5000000000621,574.5068,2015-01-01 01:35:45,bin5745,75,False -CTSPillarNetworkA,5746,5746,5746,1985-09-25,574.6000000000621,574.60675,2015-01-01 01:35:46,bin5746,35,False -CTSPillarNetworkA,5747,5747,5747,1985-09-26,574.7000000000621,574.7067,2015-01-01 01:35:47,bin5747,75,False -CTSPillarNetworkA,5748,5748,5748,1985-09-27,574.8000000000621,574.8067,2015-01-01 01:35:48,bin5748,35,False -CTSPillarNetworkA,5749,5749,5749,1985-09-28,574.9000000000622,574.9067,2015-01-01 01:35:49,bin5749,75,False -CTSPillarNetworkA,5750,5750,5750,1985-09-29,575.0000000000622,575.00665,2015-01-01 01:35:50,bin5750,35,False -CTSPillarNetworkA,5751,5751,5751,1985-09-30,575.1000000000622,575.1066,2015-01-01 01:35:51,bin5751,75,False -CTSPillarNetworkA,5752,5752,5752,1985-10-01,575.2000000000622,575.2066,2015-01-01 01:35:52,bin5752,35,False -CTSPillarNetworkA,5753,5753,5753,1985-10-02,575.3000000000623,575.3066,2015-01-01 01:35:53,bin5753,75,False -CTSPillarNetworkA,5754,5754,5754,1985-10-03,575.4000000000623,575.40656,2015-01-01 01:35:54,bin5754,35,False -CTSPillarNetworkA,5755,5755,5755,1985-10-04,575.5000000000623,575.50653,2015-01-01 01:35:55,bin5755,75,False -CTSPillarNetworkA,5756,5756,5756,1985-10-05,575.6000000000623,575.6065,2015-01-01 01:35:56,bin5756,35,False -CTSPillarNetworkA,5757,5757,5757,1985-10-06,575.7000000000623,575.7065,2015-01-01 01:35:57,bin5757,75,False -CTSPillarNetworkA,5758,5758,5758,1985-10-07,575.8000000000624,575.80646,2015-01-01 01:35:58,bin5758,35,False -CTSPillarNetworkA,5759,5759,5759,1985-10-08,575.9000000000624,575.90643,2015-01-01 01:35:59,bin5759,75,False -CTSPillarNetworkA,5760,5760,5760,1985-10-09,576.0000000000624,576.0064,2015-01-01 01:36:00,bin5760,35,False -CTSPillarNetworkA,5761,5761,5761,1985-10-10,576.1000000000624,576.1064,2015-01-01 01:36:01,bin5761,75,False -CTSPillarNetworkA,5762,5762,5762,1985-10-11,576.2000000000625,576.20636,2015-01-01 01:36:02,bin5762,35,False -CTSPillarNetworkA,5763,5763,5763,1985-10-12,576.3000000000625,576.30634,2015-01-01 01:36:03,bin5763,75,False -CTSPillarNetworkA,5764,5764,5764,1985-10-13,576.4000000000625,576.4063,2015-01-01 01:36:04,bin5764,35,False -CTSPillarNetworkA,5765,5765,5765,1985-10-14,576.5000000000625,576.5063,2015-01-01 01:36:05,bin5765,75,False -CTSPillarNetworkA,5766,5766,5766,1985-10-15,576.6000000000626,576.60626,2015-01-01 01:36:06,bin5766,35,False -CTSPillarNetworkA,5767,5767,5767,1985-10-16,576.7000000000626,576.70624,2015-01-01 01:36:07,bin5767,75,False -CTSPillarNetworkA,5768,5768,5768,1985-10-17,576.8000000000626,576.8062,2015-01-01 01:36:08,bin5768,35,False -CTSPillarNetworkA,5769,5769,5769,1985-10-18,576.9000000000626,576.9062,2015-01-01 01:36:09,bin5769,75,False -CTSPillarNetworkA,5770,5770,5770,1985-10-19,577.0000000000626,577.00616,2015-01-01 01:36:10,bin5770,35,False -CTSPillarNetworkA,5771,5771,5771,1985-10-20,577.1000000000627,577.10614,2015-01-01 01:36:11,bin5771,75,False -CTSPillarNetworkA,5772,5772,5772,1985-10-21,577.2000000000627,577.2061,2015-01-01 01:36:12,bin5772,35,False -CTSPillarNetworkA,5773,5773,5773,1985-10-22,577.3000000000627,577.3061,2015-01-01 01:36:13,bin5773,75,False -CTSPillarNetworkA,5774,5774,5774,1985-10-23,577.4000000000627,577.40607,2015-01-01 01:36:14,bin5774,35,False -CTSPillarNetworkA,5775,5775,5775,1985-10-24,577.5000000000628,577.50604,2015-01-01 01:36:15,bin5775,75,False -CTSPillarNetworkA,5776,5776,5776,1985-10-25,577.6000000000628,577.606,2015-01-01 01:36:16,bin5776,35,False -CTSPillarNetworkA,5777,5777,5777,1985-10-26,577.7000000000628,577.706,2015-01-01 01:36:17,bin5777,75,False -CTSPillarNetworkA,5778,5778,5778,1985-10-27,577.8000000000628,577.80597,2015-01-01 01:36:18,bin5778,35,False -CTSPillarNetworkA,5779,5779,5779,1985-10-28,577.9000000000628,577.90594,2015-01-01 01:36:19,bin5779,75,False -CTSPillarNetworkA,5780,5780,5780,1985-10-29,578.0000000000629,578.0059,2015-01-01 01:36:20,bin5780,35,False -CTSPillarNetworkA,5781,5781,5781,1985-10-30,578.1000000000629,578.1059,2015-01-01 01:36:21,bin5781,75,False -CTSPillarNetworkA,5782,5782,5782,1985-10-31,578.2000000000629,578.2059,2015-01-01 01:36:22,bin5782,35,False -CTSPillarNetworkA,5783,5783,5783,1985-11-01,578.3000000000629,578.30585,2015-01-01 01:36:23,bin5783,75,False -CTSPillarNetworkA,5784,5784,5784,1985-11-02,578.400000000063,578.4058,2015-01-01 01:36:24,bin5784,35,False -CTSPillarNetworkA,5785,5785,5785,1985-11-03,578.500000000063,578.5058,2015-01-01 01:36:25,bin5785,75,False -CTSPillarNetworkA,5786,5786,5786,1985-11-04,578.600000000063,578.6058,2015-01-01 01:36:26,bin5786,35,False -CTSPillarNetworkA,5787,5787,5787,1985-11-05,578.700000000063,578.70575,2015-01-01 01:36:27,bin5787,75,False -CTSPillarNetworkA,5788,5788,5788,1985-11-06,578.800000000063,578.8057,2015-01-01 01:36:28,bin5788,35,False -CTSPillarNetworkA,5789,5789,5789,1985-11-07,578.9000000000631,578.9057,2015-01-01 01:36:29,bin5789,75,False -CTSPillarNetworkA,5790,5790,5790,1985-11-08,579.0000000000631,579.0057,2015-01-01 01:36:30,bin5790,35,False -CTSPillarNetworkA,5791,5791,5791,1985-11-09,579.1000000000631,579.10565,2015-01-01 01:36:31,bin5791,75,False -CTSPillarNetworkA,5792,5792,5792,1985-11-10,579.2000000000631,579.2056,2015-01-01 01:36:32,bin5792,35,False -CTSPillarNetworkA,5793,5793,5793,1985-11-11,579.3000000000632,579.3056,2015-01-01 01:36:33,bin5793,75,False -CTSPillarNetworkA,5794,5794,5794,1985-11-12,579.4000000000632,579.4056,2015-01-01 01:36:34,bin5794,35,False -CTSPillarNetworkA,5795,5795,5795,1985-11-13,579.5000000000632,579.50555,2015-01-01 01:36:35,bin5795,75,False -CTSPillarNetworkA,5796,5796,5796,1985-11-14,579.6000000000632,579.6055,2015-01-01 01:36:36,bin5796,35,False -CTSPillarNetworkA,5797,5797,5797,1985-11-15,579.7000000000633,579.7055,2015-01-01 01:36:37,bin5797,75,False -CTSPillarNetworkA,5798,5798,5798,1985-11-16,579.8000000000633,579.8055,2015-01-01 01:36:38,bin5798,35,False -CTSPillarNetworkA,5799,5799,5799,1985-11-17,579.9000000000633,579.90546,2015-01-01 01:36:39,bin5799,75,False -CTSPillarNetworkA,5800,5800,5800,1985-11-18,580.0000000000633,580.00543,2015-01-01 01:36:40,bin5800,35,False -CTSPillarNetworkA,5801,5801,5801,1985-11-19,580.1000000000633,580.1054,2015-01-01 01:36:41,bin5801,75,False -CTSPillarNetworkA,5802,5802,5802,1985-11-20,580.2000000000634,580.2054,2015-01-01 01:36:42,bin5802,35,False -CTSPillarNetworkA,5803,5803,5803,1985-11-21,580.3000000000634,580.30536,2015-01-01 01:36:43,bin5803,75,False -CTSPillarNetworkA,5804,5804,5804,1985-11-22,580.4000000000634,580.40533,2015-01-01 01:36:44,bin5804,35,False -CTSPillarNetworkA,5805,5805,5805,1985-11-23,580.5000000000634,580.5053,2015-01-01 01:36:45,bin5805,75,False -CTSPillarNetworkA,5806,5806,5806,1985-11-24,580.6000000000635,580.6053,2015-01-01 01:36:46,bin5806,35,False -CTSPillarNetworkA,5807,5807,5807,1985-11-25,580.7000000000635,580.70526,2015-01-01 01:36:47,bin5807,75,False -CTSPillarNetworkA,5808,5808,5808,1985-11-26,580.8000000000635,580.80524,2015-01-01 01:36:48,bin5808,35,False -CTSPillarNetworkA,5809,5809,5809,1985-11-27,580.9000000000635,580.9052,2015-01-01 01:36:49,bin5809,75,False -CTSPillarNetworkA,5810,5810,5810,1985-11-28,581.0000000000636,581.0052,2015-01-01 01:36:50,bin5810,35,False -CTSPillarNetworkA,5811,5811,5811,1985-11-29,581.1000000000636,581.10516,2015-01-01 01:36:51,bin5811,75,False -CTSPillarNetworkA,5812,5812,5812,1985-11-30,581.2000000000636,581.20514,2015-01-01 01:36:52,bin5812,35,False -CTSPillarNetworkA,5813,5813,5813,1985-12-01,581.3000000000636,581.3051,2015-01-01 01:36:53,bin5813,75,False -CTSPillarNetworkA,5814,5814,5814,1985-12-02,581.4000000000636,581.4051,2015-01-01 01:36:54,bin5814,35,False -CTSPillarNetworkA,5815,5815,5815,1985-12-03,581.5000000000637,581.50507,2015-01-01 01:36:55,bin5815,75,False -CTSPillarNetworkA,5816,5816,5816,1985-12-04,581.6000000000637,581.60504,2015-01-01 01:36:56,bin5816,35,False -CTSPillarNetworkA,5817,5817,5817,1985-12-05,581.7000000000637,581.705,2015-01-01 01:36:57,bin5817,75,False -CTSPillarNetworkA,5818,5818,5818,1985-12-06,581.8000000000637,581.805,2015-01-01 01:36:58,bin5818,35,False -CTSPillarNetworkA,5819,5819,5819,1985-12-07,581.9000000000638,581.90497,2015-01-01 01:36:59,bin5819,75,False -CTSPillarNetworkA,5820,5820,5820,1985-12-08,582.0000000000638,582.00494,2015-01-01 01:37:00,bin5820,35,False -CTSPillarNetworkA,5821,5821,5821,1985-12-09,582.1000000000638,582.1049,2015-01-01 01:37:01,bin5821,75,False -CTSPillarNetworkA,5822,5822,5822,1985-12-10,582.2000000000638,582.2049,2015-01-01 01:37:02,bin5822,35,False -CTSPillarNetworkA,5823,5823,5823,1985-12-11,582.3000000000638,582.3049,2015-01-01 01:37:03,bin5823,75,False -CTSPillarNetworkA,5824,5824,5824,1985-12-12,582.4000000000639,582.40485,2015-01-01 01:37:04,bin5824,35,False -CTSPillarNetworkA,5825,5825,5825,1985-12-13,582.5000000000639,582.5048,2015-01-01 01:37:05,bin5825,75,False -CTSPillarNetworkA,5826,5826,5826,1985-12-14,582.6000000000639,582.6048,2015-01-01 01:37:06,bin5826,35,False -CTSPillarNetworkA,5827,5827,5827,1985-12-15,582.7000000000639,582.7048,2015-01-01 01:37:07,bin5827,75,False -CTSPillarNetworkA,5828,5828,5828,1985-12-16,582.800000000064,582.80475,2015-01-01 01:37:08,bin5828,35,False -CTSPillarNetworkA,5829,5829,5829,1985-12-17,582.900000000064,582.9047,2015-01-01 01:37:09,bin5829,75,False -CTSPillarNetworkA,5830,5830,5830,1985-12-18,583.000000000064,583.0047,2015-01-01 01:37:10,bin5830,35,False -CTSPillarNetworkA,5831,5831,5831,1985-12-19,583.100000000064,583.1047,2015-01-01 01:37:11,bin5831,75,False -CTSPillarNetworkA,5832,5832,5832,1985-12-20,583.200000000064,583.20465,2015-01-01 01:37:12,bin5832,35,False -CTSPillarNetworkA,5833,5833,5833,1985-12-21,583.3000000000641,583.3046,2015-01-01 01:37:13,bin5833,75,False -CTSPillarNetworkA,5834,5834,5834,1985-12-22,583.4000000000641,583.4046,2015-01-01 01:37:14,bin5834,35,False -CTSPillarNetworkA,5835,5835,5835,1985-12-23,583.5000000000641,583.5046,2015-01-01 01:37:15,bin5835,75,False -CTSPillarNetworkA,5836,5836,5836,1985-12-24,583.6000000000641,583.60455,2015-01-01 01:37:16,bin5836,35,False -CTSPillarNetworkA,5837,5837,5837,1985-12-25,583.7000000000642,583.7045,2015-01-01 01:37:17,bin5837,75,False -CTSPillarNetworkA,5838,5838,5838,1985-12-26,583.8000000000642,583.8045,2015-01-01 01:37:18,bin5838,35,False -CTSPillarNetworkA,5839,5839,5839,1985-12-27,583.9000000000642,583.9045,2015-01-01 01:37:19,bin5839,75,False -CTSPillarNetworkA,5840,5840,5840,1985-12-28,584.0000000000642,584.00446,2015-01-01 01:37:20,bin5840,35,False -CTSPillarNetworkA,5841,5841,5841,1985-12-29,584.1000000000643,584.10443,2015-01-01 01:37:21,bin5841,75,False -CTSPillarNetworkA,5842,5842,5842,1985-12-30,584.2000000000643,584.2044,2015-01-01 01:37:22,bin5842,35,False -CTSPillarNetworkA,5843,5843,5843,1985-12-31,584.3000000000643,584.3044,2015-01-01 01:37:23,bin5843,75,False -CTSPillarNetworkA,5844,5844,5844,1986-01-01,584.4000000000643,584.40436,2015-01-01 01:37:24,bin5844,35,False -CTSPillarNetworkA,5845,5845,5845,1986-01-02,584.5000000000643,584.50433,2015-01-01 01:37:25,bin5845,75,False -CTSPillarNetworkA,5846,5846,5846,1986-01-03,584.6000000000644,584.6043,2015-01-01 01:37:26,bin5846,35,False -CTSPillarNetworkA,5847,5847,5847,1986-01-04,584.7000000000644,584.7043,2015-01-01 01:37:27,bin5847,75,False -CTSPillarNetworkA,5848,5848,5848,1986-01-05,584.8000000000644,584.80426,2015-01-01 01:37:28,bin5848,35,False -CTSPillarNetworkA,5849,5849,5849,1986-01-06,584.9000000000644,584.90424,2015-01-01 01:37:29,bin5849,75,False -CTSPillarNetworkA,5850,5850,5850,1986-01-07,585.0000000000645,585.0042,2015-01-01 01:37:30,bin5850,35,False -CTSPillarNetworkA,5851,5851,5851,1986-01-08,585.1000000000645,585.1042,2015-01-01 01:37:31,bin5851,75,False -CTSPillarNetworkA,5852,5852,5852,1986-01-09,585.2000000000645,585.20416,2015-01-01 01:37:32,bin5852,35,False -CTSPillarNetworkA,5853,5853,5853,1986-01-10,585.3000000000645,585.30414,2015-01-01 01:37:33,bin5853,75,False -CTSPillarNetworkA,5854,5854,5854,1986-01-11,585.4000000000646,585.4041,2015-01-01 01:37:34,bin5854,35,False -CTSPillarNetworkA,5855,5855,5855,1986-01-12,585.5000000000646,585.5041,2015-01-01 01:37:35,bin5855,75,False -CTSPillarNetworkA,5856,5856,5856,1986-01-13,585.6000000000646,585.60406,2015-01-01 01:37:36,bin5856,35,False -CTSPillarNetworkA,5857,5857,5857,1986-01-14,585.7000000000646,585.70404,2015-01-01 01:37:37,bin5857,75,False -CTSPillarNetworkA,5858,5858,5858,1986-01-15,585.8000000000646,585.804,2015-01-01 01:37:38,bin5858,35,False -CTSPillarNetworkA,5859,5859,5859,1986-01-16,585.9000000000647,585.904,2015-01-01 01:37:39,bin5859,75,False -CTSPillarNetworkA,5860,5860,5860,1986-01-17,586.0000000000647,586.00397,2015-01-01 01:37:40,bin5860,35,False -CTSPillarNetworkA,5861,5861,5861,1986-01-18,586.1000000000647,586.10394,2015-01-01 01:37:41,bin5861,75,False -CTSPillarNetworkA,5862,5862,5862,1986-01-19,586.2000000000647,586.2039,2015-01-01 01:37:42,bin5862,35,False -CTSPillarNetworkA,5863,5863,5863,1986-01-20,586.3000000000648,586.3039,2015-01-01 01:37:43,bin5863,75,False -CTSPillarNetworkA,5864,5864,5864,1986-01-21,586.4000000000648,586.4039,2015-01-01 01:37:44,bin5864,35,False -CTSPillarNetworkA,5865,5865,5865,1986-01-22,586.5000000000648,586.50385,2015-01-01 01:37:45,bin5865,75,False -CTSPillarNetworkA,5866,5866,5866,1986-01-23,586.6000000000648,586.6038,2015-01-01 01:37:46,bin5866,35,False -CTSPillarNetworkA,5867,5867,5867,1986-01-24,586.7000000000648,586.7038,2015-01-01 01:37:47,bin5867,75,False -CTSPillarNetworkA,5868,5868,5868,1986-01-25,586.8000000000649,586.8038,2015-01-01 01:37:48,bin5868,35,False -CTSPillarNetworkA,5869,5869,5869,1986-01-26,586.9000000000649,586.90375,2015-01-01 01:37:49,bin5869,75,False -CTSPillarNetworkA,5870,5870,5870,1986-01-27,587.0000000000649,587.0037,2015-01-01 01:37:50,bin5870,35,False -CTSPillarNetworkA,5871,5871,5871,1986-01-28,587.1000000000649,587.1037,2015-01-01 01:37:51,bin5871,75,False -CTSPillarNetworkA,5872,5872,5872,1986-01-29,587.200000000065,587.2037,2015-01-01 01:37:52,bin5872,35,False -CTSPillarNetworkA,5873,5873,5873,1986-01-30,587.300000000065,587.30365,2015-01-01 01:37:53,bin5873,75,False -CTSPillarNetworkA,5874,5874,5874,1986-01-31,587.400000000065,587.4036,2015-01-01 01:37:54,bin5874,35,False -CTSPillarNetworkA,5875,5875,5875,1986-02-01,587.500000000065,587.5036,2015-01-01 01:37:55,bin5875,75,False -CTSPillarNetworkA,5876,5876,5876,1986-02-02,587.600000000065,587.6036,2015-01-01 01:37:56,bin5876,35,False -CTSPillarNetworkA,5877,5877,5877,1986-02-03,587.7000000000651,587.70355,2015-01-01 01:37:57,bin5877,75,False -CTSPillarNetworkA,5878,5878,5878,1986-02-04,587.8000000000651,587.8035,2015-01-01 01:37:58,bin5878,35,False -CTSPillarNetworkA,5879,5879,5879,1986-02-05,587.9000000000651,587.9035,2015-01-01 01:37:59,bin5879,75,False -CTSPillarNetworkA,5880,5880,5880,1986-02-06,588.0000000000651,588.0035,2015-01-01 01:38:00,bin5880,35,False -CTSPillarNetworkA,5881,5881,5881,1986-02-07,588.1000000000652,588.10345,2015-01-01 01:38:01,bin5881,75,False -CTSPillarNetworkA,5882,5882,5882,1986-02-08,588.2000000000652,588.2034,2015-01-01 01:38:02,bin5882,35,False -CTSPillarNetworkA,5883,5883,5883,1986-02-09,588.3000000000652,588.3034,2015-01-01 01:38:03,bin5883,75,False -CTSPillarNetworkA,5884,5884,5884,1986-02-10,588.4000000000652,588.4034,2015-01-01 01:38:04,bin5884,35,False -CTSPillarNetworkA,5885,5885,5885,1986-02-11,588.5000000000653,588.50336,2015-01-01 01:38:05,bin5885,75,False -CTSPillarNetworkA,5886,5886,5886,1986-02-12,588.6000000000653,588.60333,2015-01-01 01:38:06,bin5886,35,False -CTSPillarNetworkA,5887,5887,5887,1986-02-13,588.7000000000653,588.7033,2015-01-01 01:38:07,bin5887,75,False -CTSPillarNetworkA,5888,5888,5888,1986-02-14,588.8000000000653,588.8033,2015-01-01 01:38:08,bin5888,35,False -CTSPillarNetworkA,5889,5889,5889,1986-02-15,588.9000000000653,588.90326,2015-01-01 01:38:09,bin5889,75,False -CTSPillarNetworkA,5890,5890,5890,1986-02-16,589.0000000000654,589.00323,2015-01-01 01:38:10,bin5890,35,False -CTSPillarNetworkA,5891,5891,5891,1986-02-17,589.1000000000654,589.1032,2015-01-01 01:38:11,bin5891,75,False -CTSPillarNetworkA,5892,5892,5892,1986-02-18,589.2000000000654,589.2032,2015-01-01 01:38:12,bin5892,35,False -CTSPillarNetworkA,5893,5893,5893,1986-02-19,589.3000000000654,589.30316,2015-01-01 01:38:13,bin5893,75,False -CTSPillarNetworkA,5894,5894,5894,1986-02-20,589.4000000000655,589.40314,2015-01-01 01:38:14,bin5894,35,False -CTSPillarNetworkA,5895,5895,5895,1986-02-21,589.5000000000655,589.5031,2015-01-01 01:38:15,bin5895,75,False -CTSPillarNetworkA,5896,5896,5896,1986-02-22,589.6000000000655,589.6031,2015-01-01 01:38:16,bin5896,35,False -CTSPillarNetworkA,5897,5897,5897,1986-02-23,589.7000000000655,589.70306,2015-01-01 01:38:17,bin5897,75,False -CTSPillarNetworkA,5898,5898,5898,1986-02-24,589.8000000000656,589.80304,2015-01-01 01:38:18,bin5898,35,False -CTSPillarNetworkA,5899,5899,5899,1986-02-25,589.9000000000656,589.903,2015-01-01 01:38:19,bin5899,75,False -CTSPillarNetworkA,5900,5900,5900,1986-02-26,590.0000000000656,590.003,2015-01-01 01:38:20,bin5900,35,False -CTSPillarNetworkA,5901,5901,5901,1986-02-27,590.1000000000656,590.10297,2015-01-01 01:38:21,bin5901,75,False -CTSPillarNetworkA,5902,5902,5902,1986-02-28,590.2000000000656,590.20294,2015-01-01 01:38:22,bin5902,35,False -CTSPillarNetworkA,5903,5903,5903,1986-03-01,590.3000000000657,590.3029,2015-01-01 01:38:23,bin5903,75,False -CTSPillarNetworkA,5904,5904,5904,1986-03-02,590.4000000000657,590.4029,2015-01-01 01:38:24,bin5904,35,False -CTSPillarNetworkA,5905,5905,5905,1986-03-03,590.5000000000657,590.50287,2015-01-01 01:38:25,bin5905,75,False -CTSPillarNetworkA,5906,5906,5906,1986-03-04,590.6000000000657,590.60284,2015-01-01 01:38:26,bin5906,35,False -CTSPillarNetworkA,5907,5907,5907,1986-03-05,590.7000000000658,590.7028,2015-01-01 01:38:27,bin5907,75,False -CTSPillarNetworkA,5908,5908,5908,1986-03-06,590.8000000000658,590.8028,2015-01-01 01:38:28,bin5908,35,False -CTSPillarNetworkA,5909,5909,5909,1986-03-07,590.9000000000658,590.9028,2015-01-01 01:38:29,bin5909,75,False -CTSPillarNetworkA,5910,5910,5910,1986-03-08,591.0000000000658,591.00275,2015-01-01 01:38:30,bin5910,35,False -CTSPillarNetworkA,5911,5911,5911,1986-03-09,591.1000000000658,591.1027,2015-01-01 01:38:31,bin5911,75,False -CTSPillarNetworkA,5912,5912,5912,1986-03-10,591.2000000000659,591.2027,2015-01-01 01:38:32,bin5912,35,False -CTSPillarNetworkA,5913,5913,5913,1986-03-11,591.3000000000659,591.3027,2015-01-01 01:38:33,bin5913,75,False -CTSPillarNetworkA,5914,5914,5914,1986-03-12,591.4000000000659,591.40265,2015-01-01 01:38:34,bin5914,35,False -CTSPillarNetworkA,5915,5915,5915,1986-03-13,591.5000000000659,591.5026,2015-01-01 01:38:35,bin5915,75,False -CTSPillarNetworkA,5916,5916,5916,1986-03-14,591.600000000066,591.6026,2015-01-01 01:38:36,bin5916,35,False -CTSPillarNetworkA,5917,5917,5917,1986-03-15,591.700000000066,591.7026,2015-01-01 01:38:37,bin5917,75,False -CTSPillarNetworkA,5918,5918,5918,1986-03-16,591.800000000066,591.80255,2015-01-01 01:38:38,bin5918,35,False -CTSPillarNetworkA,5919,5919,5919,1986-03-17,591.900000000066,591.9025,2015-01-01 01:38:39,bin5919,75,False -CTSPillarNetworkA,5920,5920,5920,1986-03-18,592.000000000066,592.0025,2015-01-01 01:38:40,bin5920,35,False -CTSPillarNetworkA,5921,5921,5921,1986-03-19,592.1000000000661,592.1025,2015-01-01 01:38:41,bin5921,75,False -CTSPillarNetworkA,5922,5922,5922,1986-03-20,592.2000000000661,592.20245,2015-01-01 01:38:42,bin5922,35,False -CTSPillarNetworkA,5923,5923,5923,1986-03-21,592.3000000000661,592.3024,2015-01-01 01:38:43,bin5923,75,False -CTSPillarNetworkA,5924,5924,5924,1986-03-22,592.4000000000661,592.4024,2015-01-01 01:38:44,bin5924,35,False -CTSPillarNetworkA,5925,5925,5925,1986-03-23,592.5000000000662,592.5024,2015-01-01 01:38:45,bin5925,75,False -CTSPillarNetworkA,5926,5926,5926,1986-03-24,592.6000000000662,592.60236,2015-01-01 01:38:46,bin5926,35,False -CTSPillarNetworkA,5927,5927,5927,1986-03-25,592.7000000000662,592.70233,2015-01-01 01:38:47,bin5927,75,False -CTSPillarNetworkA,5928,5928,5928,1986-03-26,592.8000000000662,592.8023,2015-01-01 01:38:48,bin5928,35,False -CTSPillarNetworkA,5929,5929,5929,1986-03-27,592.9000000000663,592.9023,2015-01-01 01:38:49,bin5929,75,False -CTSPillarNetworkA,5930,5930,5930,1986-03-28,593.0000000000663,593.00226,2015-01-01 01:38:50,bin5930,35,False -CTSPillarNetworkA,5931,5931,5931,1986-03-29,593.1000000000663,593.10223,2015-01-01 01:38:51,bin5931,75,False -CTSPillarNetworkA,5932,5932,5932,1986-03-30,593.2000000000663,593.2022,2015-01-01 01:38:52,bin5932,35,False -CTSPillarNetworkA,5933,5933,5933,1986-03-31,593.3000000000663,593.3022,2015-01-01 01:38:53,bin5933,75,False -CTSPillarNetworkA,5934,5934,5934,1986-04-01,593.4000000000664,593.40216,2015-01-01 01:38:54,bin5934,35,False -CTSPillarNetworkA,5935,5935,5935,1986-04-02,593.5000000000664,593.50214,2015-01-01 01:38:55,bin5935,75,False -CTSPillarNetworkA,5936,5936,5936,1986-04-03,593.6000000000664,593.6021,2015-01-01 01:38:56,bin5936,35,False -CTSPillarNetworkA,5937,5937,5937,1986-04-04,593.7000000000664,593.7021,2015-01-01 01:38:57,bin5937,75,False -CTSPillarNetworkA,5938,5938,5938,1986-04-05,593.8000000000665,593.80206,2015-01-01 01:38:58,bin5938,35,False -CTSPillarNetworkA,5939,5939,5939,1986-04-06,593.9000000000665,593.90204,2015-01-01 01:38:59,bin5939,75,False -CTSPillarNetworkA,5940,5940,5940,1986-04-07,594.0000000000665,594.002,2015-01-01 01:39:00,bin5940,35,False -CTSPillarNetworkA,5941,5941,5941,1986-04-08,594.1000000000665,594.102,2015-01-01 01:39:01,bin5941,75,False -CTSPillarNetworkA,5942,5942,5942,1986-04-09,594.2000000000666,594.20197,2015-01-01 01:39:02,bin5942,35,False -CTSPillarNetworkA,5943,5943,5943,1986-04-10,594.3000000000666,594.30194,2015-01-01 01:39:03,bin5943,75,False -CTSPillarNetworkA,5944,5944,5944,1986-04-11,594.4000000000666,594.4019,2015-01-01 01:39:04,bin5944,35,False -CTSPillarNetworkA,5945,5945,5945,1986-04-12,594.5000000000666,594.5019,2015-01-01 01:39:05,bin5945,75,False -CTSPillarNetworkA,5946,5946,5946,1986-04-13,594.6000000000666,594.60187,2015-01-01 01:39:06,bin5946,35,False -CTSPillarNetworkA,5947,5947,5947,1986-04-14,594.7000000000667,594.70184,2015-01-01 01:39:07,bin5947,75,False -CTSPillarNetworkA,5948,5948,5948,1986-04-15,594.8000000000667,594.8018,2015-01-01 01:39:08,bin5948,35,False -CTSPillarNetworkA,5949,5949,5949,1986-04-16,594.9000000000667,594.9018,2015-01-01 01:39:09,bin5949,75,False -CTSPillarNetworkA,5950,5950,5950,1986-04-17,595.0000000000667,595.0018,2015-01-01 01:39:10,bin5950,35,False -CTSPillarNetworkA,5951,5951,5951,1986-04-18,595.1000000000668,595.10175,2015-01-01 01:39:11,bin5951,75,False -CTSPillarNetworkA,5952,5952,5952,1986-04-19,595.2000000000668,595.2017,2015-01-01 01:39:12,bin5952,35,False -CTSPillarNetworkA,5953,5953,5953,1986-04-20,595.3000000000668,595.3017,2015-01-01 01:39:13,bin5953,75,False -CTSPillarNetworkA,5954,5954,5954,1986-04-21,595.4000000000668,595.4017,2015-01-01 01:39:14,bin5954,35,False -CTSPillarNetworkA,5955,5955,5955,1986-04-22,595.5000000000668,595.50165,2015-01-01 01:39:15,bin5955,75,False -CTSPillarNetworkA,5956,5956,5956,1986-04-23,595.6000000000669,595.6016,2015-01-01 01:39:16,bin5956,35,False -CTSPillarNetworkA,5957,5957,5957,1986-04-24,595.7000000000669,595.7016,2015-01-01 01:39:17,bin5957,75,False -CTSPillarNetworkA,5958,5958,5958,1986-04-25,595.8000000000669,595.8016,2015-01-01 01:39:18,bin5958,35,False -CTSPillarNetworkA,5959,5959,5959,1986-04-26,595.9000000000669,595.90155,2015-01-01 01:39:19,bin5959,75,False -CTSPillarNetworkA,5960,5960,5960,1986-04-27,596.000000000067,596.0015,2015-01-01 01:39:20,bin5960,35,False -CTSPillarNetworkA,5961,5961,5961,1986-04-28,596.100000000067,596.1015,2015-01-01 01:39:21,bin5961,75,False -CTSPillarNetworkA,5962,5962,5962,1986-04-29,596.200000000067,596.2015,2015-01-01 01:39:22,bin5962,35,False -CTSPillarNetworkA,5963,5963,5963,1986-04-30,596.300000000067,596.30145,2015-01-01 01:39:23,bin5963,75,False -CTSPillarNetworkA,5964,5964,5964,1986-05-01,596.400000000067,596.4014,2015-01-01 01:39:24,bin5964,35,False -CTSPillarNetworkA,5965,5965,5965,1986-05-02,596.5000000000671,596.5014,2015-01-01 01:39:25,bin5965,75,False -CTSPillarNetworkA,5966,5966,5966,1986-05-03,596.6000000000671,596.6014,2015-01-01 01:39:26,bin5966,35,False -CTSPillarNetworkA,5967,5967,5967,1986-05-04,596.7000000000671,596.70135,2015-01-01 01:39:27,bin5967,75,False -CTSPillarNetworkA,5968,5968,5968,1986-05-05,596.8000000000671,596.80133,2015-01-01 01:39:28,bin5968,35,False -CTSPillarNetworkA,5969,5969,5969,1986-05-06,596.9000000000672,596.9013,2015-01-01 01:39:29,bin5969,75,False -CTSPillarNetworkA,5970,5970,5970,1986-05-07,597.0000000000672,597.0013,2015-01-01 01:39:30,bin5970,35,False -CTSPillarNetworkA,5971,5971,5971,1986-05-08,597.1000000000672,597.10126,2015-01-01 01:39:31,bin5971,75,False -CTSPillarNetworkA,5972,5972,5972,1986-05-09,597.2000000000672,597.20123,2015-01-01 01:39:32,bin5972,35,False -CTSPillarNetworkA,5973,5973,5973,1986-05-10,597.3000000000673,597.3012,2015-01-01 01:39:33,bin5973,75,False -CTSPillarNetworkA,5974,5974,5974,1986-05-11,597.4000000000673,597.4012,2015-01-01 01:39:34,bin5974,35,False -CTSPillarNetworkA,5975,5975,5975,1986-05-12,597.5000000000673,597.50116,2015-01-01 01:39:35,bin5975,75,False -CTSPillarNetworkA,5976,5976,5976,1986-05-13,597.6000000000673,597.60114,2015-01-01 01:39:36,bin5976,35,False -CTSPillarNetworkA,5977,5977,5977,1986-05-14,597.7000000000673,597.7011,2015-01-01 01:39:37,bin5977,75,False -CTSPillarNetworkA,5978,5978,5978,1986-05-15,597.8000000000674,597.8011,2015-01-01 01:39:38,bin5978,35,False -CTSPillarNetworkA,5979,5979,5979,1986-05-16,597.9000000000674,597.90106,2015-01-01 01:39:39,bin5979,75,False -CTSPillarNetworkA,5980,5980,5980,1986-05-17,598.0000000000674,598.00104,2015-01-01 01:39:40,bin5980,35,False -CTSPillarNetworkA,5981,5981,5981,1986-05-18,598.1000000000674,598.101,2015-01-01 01:39:41,bin5981,75,False -CTSPillarNetworkA,5982,5982,5982,1986-05-19,598.2000000000675,598.201,2015-01-01 01:39:42,bin5982,35,False -CTSPillarNetworkA,5983,5983,5983,1986-05-20,598.3000000000675,598.30096,2015-01-01 01:39:43,bin5983,75,False -CTSPillarNetworkA,5984,5984,5984,1986-05-21,598.4000000000675,598.40094,2015-01-01 01:39:44,bin5984,35,False -CTSPillarNetworkA,5985,5985,5985,1986-05-22,598.5000000000675,598.5009,2015-01-01 01:39:45,bin5985,75,False -CTSPillarNetworkA,5986,5986,5986,1986-05-23,598.6000000000676,598.6009,2015-01-01 01:39:46,bin5986,35,False -CTSPillarNetworkA,5987,5987,5987,1986-05-24,598.7000000000676,598.70087,2015-01-01 01:39:47,bin5987,75,False -CTSPillarNetworkA,5988,5988,5988,1986-05-25,598.8000000000676,598.80084,2015-01-01 01:39:48,bin5988,35,False -CTSPillarNetworkA,5989,5989,5989,1986-05-26,598.9000000000676,598.9008,2015-01-01 01:39:49,bin5989,75,False -CTSPillarNetworkA,5990,5990,5990,1986-05-27,599.0000000000676,599.0008,2015-01-01 01:39:50,bin5990,35,False -CTSPillarNetworkA,5991,5991,5991,1986-05-28,599.1000000000677,599.10077,2015-01-01 01:39:51,bin5991,75,False -CTSPillarNetworkA,5992,5992,5992,1986-05-29,599.2000000000677,599.20074,2015-01-01 01:39:52,bin5992,35,False -CTSPillarNetworkA,5993,5993,5993,1986-05-30,599.3000000000677,599.3007,2015-01-01 01:39:53,bin5993,75,False -CTSPillarNetworkA,5994,5994,5994,1986-05-31,599.4000000000677,599.4007,2015-01-01 01:39:54,bin5994,35,False -CTSPillarNetworkA,5995,5995,5995,1986-06-01,599.5000000000678,599.5007,2015-01-01 01:39:55,bin5995,75,False -CTSPillarNetworkA,5996,5996,5996,1986-06-02,599.6000000000678,599.60065,2015-01-01 01:39:56,bin5996,35,False -CTSPillarNetworkA,5997,5997,5997,1986-06-03,599.7000000000678,599.7006,2015-01-01 01:39:57,bin5997,75,False -CTSPillarNetworkA,5998,5998,5998,1986-06-04,599.8000000000678,599.8006,2015-01-01 01:39:58,bin5998,35,False -CTSPillarNetworkA,5999,5999,5999,1986-06-05,599.9000000000678,599.9006,2015-01-01 01:39:59,bin5999,75,False -CTSPillarNetworkA,6000,6000,6000,1986-06-06,600.0000000000679,600.00055,2015-01-01 01:40:00,bin6000,35,False -CTSPillarNetworkA,6001,6001,6001,1986-06-07,600.1000000000679,600.1005,2015-01-01 01:40:01,bin6001,75,False -CTSPillarNetworkA,6002,6002,6002,1986-06-08,600.2000000000679,600.2005,2015-01-01 01:40:02,bin6002,35,False -CTSPillarNetworkA,6003,6003,6003,1986-06-09,600.3000000000679,600.3005,2015-01-01 01:40:03,bin6003,75,False -CTSPillarNetworkA,6004,6004,6004,1986-06-10,600.400000000068,600.40045,2015-01-01 01:40:04,bin6004,35,False -CTSPillarNetworkA,6005,6005,6005,1986-06-11,600.500000000068,600.5004,2015-01-01 01:40:05,bin6005,75,False -CTSPillarNetworkA,6006,6006,6006,1986-06-12,600.600000000068,600.6004,2015-01-01 01:40:06,bin6006,35,False -CTSPillarNetworkA,6007,6007,6007,1986-06-13,600.700000000068,600.7004,2015-01-01 01:40:07,bin6007,75,False -CTSPillarNetworkA,6008,6008,6008,1986-06-14,600.800000000068,600.80035,2015-01-01 01:40:08,bin6008,35,False -CTSPillarNetworkA,6009,6009,6009,1986-06-15,600.9000000000681,600.9003,2015-01-01 01:40:09,bin6009,75,False -CTSPillarNetworkA,6010,6010,6010,1986-06-16,601.0000000000681,601.0003,2015-01-01 01:40:10,bin6010,35,False -CTSPillarNetworkA,6011,6011,6011,1986-06-17,601.1000000000681,601.1003,2015-01-01 01:40:11,bin6011,75,False -CTSPillarNetworkA,6012,6012,6012,1986-06-18,601.2000000000681,601.20026,2015-01-01 01:40:12,bin6012,35,False -CTSPillarNetworkA,6013,6013,6013,1986-06-19,601.3000000000682,601.30023,2015-01-01 01:40:13,bin6013,75,False -CTSPillarNetworkA,6014,6014,6014,1986-06-20,601.4000000000682,601.4002,2015-01-01 01:40:14,bin6014,35,False -CTSPillarNetworkA,6015,6015,6015,1986-06-21,601.5000000000682,601.5002,2015-01-01 01:40:15,bin6015,75,False -CTSPillarNetworkA,6016,6016,6016,1986-06-22,601.6000000000682,601.60016,2015-01-01 01:40:16,bin6016,35,False -CTSPillarNetworkA,6017,6017,6017,1986-06-23,601.7000000000683,601.70013,2015-01-01 01:40:17,bin6017,75,False -CTSPillarNetworkA,6018,6018,6018,1986-06-24,601.8000000000683,601.8001,2015-01-01 01:40:18,bin6018,35,False -CTSPillarNetworkA,6019,6019,6019,1986-06-25,601.9000000000683,601.9001,2015-01-01 01:40:19,bin6019,75,False -CTSPillarNetworkA,6020,6020,6020,1986-06-26,602.0000000000683,602.00006,2015-01-01 01:40:20,bin6020,35,False -CTSPillarNetworkA,6021,6021,6021,1986-06-27,602.1000000000683,602.10004,2015-01-01 01:40:21,bin6021,75,False -CTSPillarNetworkA,6022,6022,6022,1986-06-28,602.2000000000684,602.2,2015-01-01 01:40:22,bin6022,35,False -CTSPillarNetworkA,6023,6023,6023,1986-06-29,602.3000000000684,602.3,2015-01-01 01:40:23,bin6023,75,False -CTSPillarNetworkA,6024,6024,6024,1986-06-30,602.4000000000684,602.39996,2015-01-01 01:40:24,bin6024,35,False -CTSPillarNetworkA,6025,6025,6025,1986-07-01,602.5000000000684,602.49994,2015-01-01 01:40:25,bin6025,75,False -CTSPillarNetworkA,6026,6026,6026,1986-07-02,602.6000000000685,602.5999,2015-01-01 01:40:26,bin6026,35,False -CTSPillarNetworkA,6027,6027,6027,1986-07-03,602.7000000000685,602.6999,2015-01-01 01:40:27,bin6027,75,False -CTSPillarNetworkA,6028,6028,6028,1986-07-04,602.8000000000685,602.79987,2015-01-01 01:40:28,bin6028,35,False -CTSPillarNetworkA,6029,6029,6029,1986-07-05,602.9000000000685,602.89984,2015-01-01 01:40:29,bin6029,75,False -CTSPillarNetworkA,6030,6030,6030,1986-07-06,603.0000000000686,602.9998,2015-01-01 01:40:30,bin6030,35,False -CTSPillarNetworkA,6031,6031,6031,1986-07-07,603.1000000000686,603.0998,2015-01-01 01:40:31,bin6031,75,False -CTSPillarNetworkA,6032,6032,6032,1986-07-08,603.2000000000686,603.19977,2015-01-01 01:40:32,bin6032,35,False -CTSPillarNetworkA,6033,6033,6033,1986-07-09,603.3000000000686,603.29974,2015-01-01 01:40:33,bin6033,75,False -CTSPillarNetworkA,6034,6034,6034,1986-07-10,603.4000000000686,603.3997,2015-01-01 01:40:34,bin6034,35,False -CTSPillarNetworkA,6035,6035,6035,1986-07-11,603.5000000000687,603.4997,2015-01-01 01:40:35,bin6035,75,False -CTSPillarNetworkA,6036,6036,6036,1986-07-12,603.6000000000687,603.5997,2015-01-01 01:40:36,bin6036,35,False -CTSPillarNetworkA,6037,6037,6037,1986-07-13,603.7000000000687,603.69965,2015-01-01 01:40:37,bin6037,75,False -CTSPillarNetworkA,6038,6038,6038,1986-07-14,603.8000000000687,603.7996,2015-01-01 01:40:38,bin6038,35,False -CTSPillarNetworkA,6039,6039,6039,1986-07-15,603.9000000000688,603.8996,2015-01-01 01:40:39,bin6039,75,False -CTSPillarNetworkA,6040,6040,6040,1986-07-16,604.0000000000688,603.9996,2015-01-01 01:40:40,bin6040,35,False -CTSPillarNetworkA,6041,6041,6041,1986-07-17,604.1000000000688,604.09955,2015-01-01 01:40:41,bin6041,75,False -CTSPillarNetworkA,6042,6042,6042,1986-07-18,604.2000000000688,604.1995,2015-01-01 01:40:42,bin6042,35,False -CTSPillarNetworkA,6043,6043,6043,1986-07-19,604.3000000000688,604.2995,2015-01-01 01:40:43,bin6043,75,False -CTSPillarNetworkA,6044,6044,6044,1986-07-20,604.4000000000689,604.3995,2015-01-01 01:40:44,bin6044,35,False -CTSPillarNetworkA,6045,6045,6045,1986-07-21,604.5000000000689,604.49945,2015-01-01 01:40:45,bin6045,75,False -CTSPillarNetworkA,6046,6046,6046,1986-07-22,604.6000000000689,604.5994,2015-01-01 01:40:46,bin6046,35,False -CTSPillarNetworkA,6047,6047,6047,1986-07-23,604.7000000000689,604.6994,2015-01-01 01:40:47,bin6047,75,False -CTSPillarNetworkA,6048,6048,6048,1986-07-24,604.800000000069,604.7994,2015-01-01 01:40:48,bin6048,35,False -CTSPillarNetworkA,6049,6049,6049,1986-07-25,604.900000000069,604.89935,2015-01-01 01:40:49,bin6049,75,False -CTSPillarNetworkA,6050,6050,6050,1986-07-26,605.000000000069,604.9993,2015-01-01 01:40:50,bin6050,35,False -CTSPillarNetworkA,6051,6051,6051,1986-07-27,605.100000000069,605.0993,2015-01-01 01:40:51,bin6051,75,False -CTSPillarNetworkA,6052,6052,6052,1986-07-28,605.200000000069,605.1993,2015-01-01 01:40:52,bin6052,35,False -CTSPillarNetworkA,6053,6053,6053,1986-07-29,605.3000000000691,605.29926,2015-01-01 01:40:53,bin6053,75,False -CTSPillarNetworkA,6054,6054,6054,1986-07-30,605.4000000000691,605.39923,2015-01-01 01:40:54,bin6054,35,False -CTSPillarNetworkA,6055,6055,6055,1986-07-31,605.5000000000691,605.4992,2015-01-01 01:40:55,bin6055,75,False -CTSPillarNetworkA,6056,6056,6056,1986-08-01,605.6000000000691,605.5992,2015-01-01 01:40:56,bin6056,35,False -CTSPillarNetworkA,6057,6057,6057,1986-08-02,605.7000000000692,605.69916,2015-01-01 01:40:57,bin6057,75,False -CTSPillarNetworkA,6058,6058,6058,1986-08-03,605.8000000000692,605.79913,2015-01-01 01:40:58,bin6058,35,False -CTSPillarNetworkA,6059,6059,6059,1986-08-04,605.9000000000692,605.8991,2015-01-01 01:40:59,bin6059,75,False -CTSPillarNetworkA,6060,6060,6060,1986-08-05,606.0000000000692,605.9991,2015-01-01 01:41:00,bin6060,35,False -CTSPillarNetworkA,6061,6061,6061,1986-08-06,606.1000000000693,606.09906,2015-01-01 01:41:01,bin6061,75,False -CTSPillarNetworkA,6062,6062,6062,1986-08-07,606.2000000000693,606.19904,2015-01-01 01:41:02,bin6062,35,False -CTSPillarNetworkA,6063,6063,6063,1986-08-08,606.3000000000693,606.299,2015-01-01 01:41:03,bin6063,75,False -CTSPillarNetworkA,6064,6064,6064,1986-08-09,606.4000000000693,606.399,2015-01-01 01:41:04,bin6064,35,False -CTSPillarNetworkA,6065,6065,6065,1986-08-10,606.5000000000693,606.49896,2015-01-01 01:41:05,bin6065,75,False -CTSPillarNetworkA,6066,6066,6066,1986-08-11,606.6000000000694,606.59894,2015-01-01 01:41:06,bin6066,35,False -CTSPillarNetworkA,6067,6067,6067,1986-08-12,606.7000000000694,606.6989,2015-01-01 01:41:07,bin6067,75,False -CTSPillarNetworkA,6068,6068,6068,1986-08-13,606.8000000000694,606.7989,2015-01-01 01:41:08,bin6068,35,False -CTSPillarNetworkA,6069,6069,6069,1986-08-14,606.9000000000694,606.89886,2015-01-01 01:41:09,bin6069,75,False -CTSPillarNetworkA,6070,6070,6070,1986-08-15,607.0000000000695,606.99884,2015-01-01 01:41:10,bin6070,35,False -CTSPillarNetworkA,6071,6071,6071,1986-08-16,607.1000000000695,607.0988,2015-01-01 01:41:11,bin6071,75,False -CTSPillarNetworkA,6072,6072,6072,1986-08-17,607.2000000000695,607.1988,2015-01-01 01:41:12,bin6072,35,False -CTSPillarNetworkA,6073,6073,6073,1986-08-18,607.3000000000695,607.29877,2015-01-01 01:41:13,bin6073,75,False -CTSPillarNetworkA,6074,6074,6074,1986-08-19,607.4000000000696,607.39874,2015-01-01 01:41:14,bin6074,35,False -CTSPillarNetworkA,6075,6075,6075,1986-08-20,607.5000000000696,607.4987,2015-01-01 01:41:15,bin6075,75,False -CTSPillarNetworkA,6076,6076,6076,1986-08-21,607.6000000000696,607.5987,2015-01-01 01:41:16,bin6076,35,False -CTSPillarNetworkA,6077,6077,6077,1986-08-22,607.7000000000696,607.69867,2015-01-01 01:41:17,bin6077,75,False -CTSPillarNetworkA,6078,6078,6078,1986-08-23,607.8000000000696,607.79865,2015-01-01 01:41:18,bin6078,35,False -CTSPillarNetworkA,6079,6079,6079,1986-08-24,607.9000000000697,607.8986,2015-01-01 01:41:19,bin6079,75,False -CTSPillarNetworkA,6080,6080,6080,1986-08-25,608.0000000000697,607.9986,2015-01-01 01:41:20,bin6080,35,False -CTSPillarNetworkA,6081,6081,6081,1986-08-26,608.1000000000697,608.0986,2015-01-01 01:41:21,bin6081,75,False -CTSPillarNetworkA,6082,6082,6082,1986-08-27,608.2000000000697,608.19855,2015-01-01 01:41:22,bin6082,35,False -CTSPillarNetworkA,6083,6083,6083,1986-08-28,608.3000000000698,608.2985,2015-01-01 01:41:23,bin6083,75,False -CTSPillarNetworkA,6084,6084,6084,1986-08-29,608.4000000000698,608.3985,2015-01-01 01:41:24,bin6084,35,False -CTSPillarNetworkA,6085,6085,6085,1986-08-30,608.5000000000698,608.4985,2015-01-01 01:41:25,bin6085,75,False -CTSPillarNetworkA,6086,6086,6086,1986-08-31,608.6000000000698,608.59845,2015-01-01 01:41:26,bin6086,35,False -CTSPillarNetworkA,6087,6087,6087,1986-09-01,608.7000000000698,608.6984,2015-01-01 01:41:27,bin6087,75,False -CTSPillarNetworkA,6088,6088,6088,1986-09-02,608.8000000000699,608.7984,2015-01-01 01:41:28,bin6088,35,False -CTSPillarNetworkA,6089,6089,6089,1986-09-03,608.9000000000699,608.8984,2015-01-01 01:41:29,bin6089,75,False -CTSPillarNetworkA,6090,6090,6090,1986-09-04,609.0000000000699,608.99835,2015-01-01 01:41:30,bin6090,35,False -CTSPillarNetworkA,6091,6091,6091,1986-09-05,609.1000000000699,609.0983,2015-01-01 01:41:31,bin6091,75,False -CTSPillarNetworkA,6092,6092,6092,1986-09-06,609.20000000007,609.1983,2015-01-01 01:41:32,bin6092,35,False -CTSPillarNetworkA,6093,6093,6093,1986-09-07,609.30000000007,609.2983,2015-01-01 01:41:33,bin6093,75,False -CTSPillarNetworkA,6094,6094,6094,1986-09-08,609.40000000007,609.39825,2015-01-01 01:41:34,bin6094,35,False -CTSPillarNetworkA,6095,6095,6095,1986-09-09,609.50000000007,609.4982,2015-01-01 01:41:35,bin6095,75,False -CTSPillarNetworkA,6096,6096,6096,1986-09-10,609.60000000007,609.5982,2015-01-01 01:41:36,bin6096,35,False -CTSPillarNetworkA,6097,6097,6097,1986-09-11,609.7000000000701,609.6982,2015-01-01 01:41:37,bin6097,75,False -CTSPillarNetworkA,6098,6098,6098,1986-09-12,609.8000000000701,609.79816,2015-01-01 01:41:38,bin6098,35,False -CTSPillarNetworkA,6099,6099,6099,1986-09-13,609.9000000000701,609.89813,2015-01-01 01:41:39,bin6099,75,False -CTSPillarNetworkA,6100,6100,6100,1986-09-14,610.0000000000701,609.9981,2015-01-01 01:41:40,bin6100,35,False -CTSPillarNetworkA,6101,6101,6101,1986-09-15,610.1000000000702,610.0981,2015-01-01 01:41:41,bin6101,75,False -CTSPillarNetworkA,6102,6102,6102,1986-09-16,610.2000000000702,610.19806,2015-01-01 01:41:42,bin6102,35,False -CTSPillarNetworkA,6103,6103,6103,1986-09-17,610.3000000000702,610.29803,2015-01-01 01:41:43,bin6103,75,False -CTSPillarNetworkA,6104,6104,6104,1986-09-18,610.4000000000702,610.398,2015-01-01 01:41:44,bin6104,35,False -CTSPillarNetworkA,6105,6105,6105,1986-09-19,610.5000000000703,610.498,2015-01-01 01:41:45,bin6105,75,False -CTSPillarNetworkA,6106,6106,6106,1986-09-20,610.6000000000703,610.59796,2015-01-01 01:41:46,bin6106,35,False -CTSPillarNetworkA,6107,6107,6107,1986-09-21,610.7000000000703,610.69794,2015-01-01 01:41:47,bin6107,75,False -CTSPillarNetworkA,6108,6108,6108,1986-09-22,610.8000000000703,610.7979,2015-01-01 01:41:48,bin6108,35,False -CTSPillarNetworkA,6109,6109,6109,1986-09-23,610.9000000000703,610.8979,2015-01-01 01:41:49,bin6109,75,False -CTSPillarNetworkA,6110,6110,6110,1986-09-24,611.0000000000704,610.99786,2015-01-01 01:41:50,bin6110,35,False -CTSPillarNetworkA,6111,6111,6111,1986-09-25,611.1000000000704,611.09784,2015-01-01 01:41:51,bin6111,75,False -CTSPillarNetworkA,6112,6112,6112,1986-09-26,611.2000000000704,611.1978,2015-01-01 01:41:52,bin6112,35,False -CTSPillarNetworkA,6113,6113,6113,1986-09-27,611.3000000000704,611.2978,2015-01-01 01:41:53,bin6113,75,False -CTSPillarNetworkA,6114,6114,6114,1986-09-28,611.4000000000705,611.39777,2015-01-01 01:41:54,bin6114,35,False -CTSPillarNetworkA,6115,6115,6115,1986-09-29,611.5000000000705,611.49774,2015-01-01 01:41:55,bin6115,75,False -CTSPillarNetworkA,6116,6116,6116,1986-09-30,611.6000000000705,611.5977,2015-01-01 01:41:56,bin6116,35,False -CTSPillarNetworkA,6117,6117,6117,1986-10-01,611.7000000000705,611.6977,2015-01-01 01:41:57,bin6117,75,False -CTSPillarNetworkA,6118,6118,6118,1986-10-02,611.8000000000706,611.79767,2015-01-01 01:41:58,bin6118,35,False -CTSPillarNetworkA,6119,6119,6119,1986-10-03,611.9000000000706,611.89764,2015-01-01 01:41:59,bin6119,75,False -CTSPillarNetworkA,6120,6120,6120,1986-10-04,612.0000000000706,611.9976,2015-01-01 01:42:00,bin6120,35,False -CTSPillarNetworkA,6121,6121,6121,1986-10-05,612.1000000000706,612.0976,2015-01-01 01:42:01,bin6121,75,False -CTSPillarNetworkA,6122,6122,6122,1986-10-06,612.2000000000706,612.1976,2015-01-01 01:42:02,bin6122,35,False -CTSPillarNetworkA,6123,6123,6123,1986-10-07,612.3000000000707,612.29755,2015-01-01 01:42:03,bin6123,75,False -CTSPillarNetworkA,6124,6124,6124,1986-10-08,612.4000000000707,612.3975,2015-01-01 01:42:04,bin6124,35,False -CTSPillarNetworkA,6125,6125,6125,1986-10-09,612.5000000000707,612.4975,2015-01-01 01:42:05,bin6125,75,False -CTSPillarNetworkA,6126,6126,6126,1986-10-10,612.6000000000707,612.5975,2015-01-01 01:42:06,bin6126,35,False -CTSPillarNetworkA,6127,6127,6127,1986-10-11,612.7000000000708,612.69745,2015-01-01 01:42:07,bin6127,75,False -CTSPillarNetworkA,6128,6128,6128,1986-10-12,612.8000000000708,612.7974,2015-01-01 01:42:08,bin6128,35,False -CTSPillarNetworkA,6129,6129,6129,1986-10-13,612.9000000000708,612.8974,2015-01-01 01:42:09,bin6129,75,False -CTSPillarNetworkA,6130,6130,6130,1986-10-14,613.0000000000708,612.9974,2015-01-01 01:42:10,bin6130,35,False -CTSPillarNetworkA,6131,6131,6131,1986-10-15,613.1000000000708,613.09735,2015-01-01 01:42:11,bin6131,75,False -CTSPillarNetworkA,6132,6132,6132,1986-10-16,613.2000000000709,613.1973,2015-01-01 01:42:12,bin6132,35,False -CTSPillarNetworkA,6133,6133,6133,1986-10-17,613.3000000000709,613.2973,2015-01-01 01:42:13,bin6133,75,False -CTSPillarNetworkA,6134,6134,6134,1986-10-18,613.4000000000709,613.3973,2015-01-01 01:42:14,bin6134,35,False -CTSPillarNetworkA,6135,6135,6135,1986-10-19,613.5000000000709,613.49725,2015-01-01 01:42:15,bin6135,75,False -CTSPillarNetworkA,6136,6136,6136,1986-10-20,613.600000000071,613.5972,2015-01-01 01:42:16,bin6136,35,False -CTSPillarNetworkA,6137,6137,6137,1986-10-21,613.700000000071,613.6972,2015-01-01 01:42:17,bin6137,75,False -CTSPillarNetworkA,6138,6138,6138,1986-10-22,613.800000000071,613.7972,2015-01-01 01:42:18,bin6138,35,False -CTSPillarNetworkA,6139,6139,6139,1986-10-23,613.900000000071,613.89716,2015-01-01 01:42:19,bin6139,75,False -CTSPillarNetworkA,6140,6140,6140,1986-10-24,614.000000000071,613.99713,2015-01-01 01:42:20,bin6140,35,False -CTSPillarNetworkA,6141,6141,6141,1986-10-25,614.1000000000711,614.0971,2015-01-01 01:42:21,bin6141,75,False -CTSPillarNetworkA,6142,6142,6142,1986-10-26,614.2000000000711,614.1971,2015-01-01 01:42:22,bin6142,35,False -CTSPillarNetworkA,6143,6143,6143,1986-10-27,614.3000000000711,614.29706,2015-01-01 01:42:23,bin6143,75,False -CTSPillarNetworkA,6144,6144,6144,1986-10-28,614.4000000000711,614.39703,2015-01-01 01:42:24,bin6144,35,False -CTSPillarNetworkA,6145,6145,6145,1986-10-29,614.5000000000712,614.497,2015-01-01 01:42:25,bin6145,75,False -CTSPillarNetworkA,6146,6146,6146,1986-10-30,614.6000000000712,614.597,2015-01-01 01:42:26,bin6146,35,False -CTSPillarNetworkA,6147,6147,6147,1986-10-31,614.7000000000712,614.69696,2015-01-01 01:42:27,bin6147,75,False -CTSPillarNetworkA,6148,6148,6148,1986-11-01,614.8000000000712,614.79694,2015-01-01 01:42:28,bin6148,35,False -CTSPillarNetworkA,6149,6149,6149,1986-11-02,614.9000000000713,614.8969,2015-01-01 01:42:29,bin6149,75,False -CTSPillarNetworkA,6150,6150,6150,1986-11-03,615.0000000000713,614.9969,2015-01-01 01:42:30,bin6150,35,False -CTSPillarNetworkA,6151,6151,6151,1986-11-04,615.1000000000713,615.09686,2015-01-01 01:42:31,bin6151,75,False -CTSPillarNetworkA,6152,6152,6152,1986-11-05,615.2000000000713,615.19684,2015-01-01 01:42:32,bin6152,35,False -CTSPillarNetworkA,6153,6153,6153,1986-11-06,615.3000000000713,615.2968,2015-01-01 01:42:33,bin6153,75,False -CTSPillarNetworkA,6154,6154,6154,1986-11-07,615.4000000000714,615.3968,2015-01-01 01:42:34,bin6154,35,False -CTSPillarNetworkA,6155,6155,6155,1986-11-08,615.5000000000714,615.49677,2015-01-01 01:42:35,bin6155,75,False -CTSPillarNetworkA,6156,6156,6156,1986-11-09,615.6000000000714,615.59674,2015-01-01 01:42:36,bin6156,35,False -CTSPillarNetworkA,6157,6157,6157,1986-11-10,615.7000000000714,615.6967,2015-01-01 01:42:37,bin6157,75,False -CTSPillarNetworkA,6158,6158,6158,1986-11-11,615.8000000000715,615.7967,2015-01-01 01:42:38,bin6158,35,False -CTSPillarNetworkA,6159,6159,6159,1986-11-12,615.9000000000715,615.89667,2015-01-01 01:42:39,bin6159,75,False -CTSPillarNetworkA,6160,6160,6160,1986-11-13,616.0000000000715,615.99664,2015-01-01 01:42:40,bin6160,35,False -CTSPillarNetworkA,6161,6161,6161,1986-11-14,616.1000000000715,616.0966,2015-01-01 01:42:41,bin6161,75,False -CTSPillarNetworkA,6162,6162,6162,1986-11-15,616.2000000000716,616.1966,2015-01-01 01:42:42,bin6162,35,False -CTSPillarNetworkA,6163,6163,6163,1986-11-16,616.3000000000716,616.2966,2015-01-01 01:42:43,bin6163,75,False -CTSPillarNetworkA,6164,6164,6164,1986-11-17,616.4000000000716,616.39655,2015-01-01 01:42:44,bin6164,35,False -CTSPillarNetworkA,6165,6165,6165,1986-11-18,616.5000000000716,616.4965,2015-01-01 01:42:45,bin6165,75,False -CTSPillarNetworkA,6166,6166,6166,1986-11-19,616.6000000000716,616.5965,2015-01-01 01:42:46,bin6166,35,False -CTSPillarNetworkA,6167,6167,6167,1986-11-20,616.7000000000717,616.6965,2015-01-01 01:42:47,bin6167,75,False -CTSPillarNetworkA,6168,6168,6168,1986-11-21,616.8000000000717,616.79645,2015-01-01 01:42:48,bin6168,35,False -CTSPillarNetworkA,6169,6169,6169,1986-11-22,616.9000000000717,616.8964,2015-01-01 01:42:49,bin6169,75,False -CTSPillarNetworkA,6170,6170,6170,1986-11-23,617.0000000000717,616.9964,2015-01-01 01:42:50,bin6170,35,False -CTSPillarNetworkA,6171,6171,6171,1986-11-24,617.1000000000718,617.0964,2015-01-01 01:42:51,bin6171,75,False -CTSPillarNetworkA,6172,6172,6172,1986-11-25,617.2000000000718,617.19635,2015-01-01 01:42:52,bin6172,35,False -CTSPillarNetworkA,6173,6173,6173,1986-11-26,617.3000000000718,617.2963,2015-01-01 01:42:53,bin6173,75,False -CTSPillarNetworkA,6174,6174,6174,1986-11-27,617.4000000000718,617.3963,2015-01-01 01:42:54,bin6174,35,False -CTSPillarNetworkA,6175,6175,6175,1986-11-28,617.5000000000719,617.4963,2015-01-01 01:42:55,bin6175,75,False -CTSPillarNetworkA,6176,6176,6176,1986-11-29,617.6000000000719,617.59625,2015-01-01 01:42:56,bin6176,35,False -CTSPillarNetworkA,6177,6177,6177,1986-11-30,617.7000000000719,617.6962,2015-01-01 01:42:57,bin6177,75,False -CTSPillarNetworkA,6178,6178,6178,1986-12-01,617.8000000000719,617.7962,2015-01-01 01:42:58,bin6178,35,False -CTSPillarNetworkA,6179,6179,6179,1986-12-02,617.9000000000719,617.8962,2015-01-01 01:42:59,bin6179,75,False -CTSPillarNetworkA,6180,6180,6180,1986-12-03,618.000000000072,617.99615,2015-01-01 01:43:00,bin6180,35,False -CTSPillarNetworkA,6181,6181,6181,1986-12-04,618.100000000072,618.0961,2015-01-01 01:43:01,bin6181,75,False -CTSPillarNetworkA,6182,6182,6182,1986-12-05,618.200000000072,618.1961,2015-01-01 01:43:02,bin6182,35,False -CTSPillarNetworkA,6183,6183,6183,1986-12-06,618.300000000072,618.2961,2015-01-01 01:43:03,bin6183,75,False -CTSPillarNetworkA,6184,6184,6184,1986-12-07,618.400000000072,618.39606,2015-01-01 01:43:04,bin6184,35,False -CTSPillarNetworkA,6185,6185,6185,1986-12-08,618.5000000000721,618.49603,2015-01-01 01:43:05,bin6185,75,False -CTSPillarNetworkA,6186,6186,6186,1986-12-09,618.6000000000721,618.596,2015-01-01 01:43:06,bin6186,35,False -CTSPillarNetworkA,6187,6187,6187,1986-12-10,618.7000000000721,618.696,2015-01-01 01:43:07,bin6187,75,False -CTSPillarNetworkA,6188,6188,6188,1986-12-11,618.8000000000721,618.79596,2015-01-01 01:43:08,bin6188,35,False -CTSPillarNetworkA,6189,6189,6189,1986-12-12,618.9000000000722,618.89594,2015-01-01 01:43:09,bin6189,75,False -CTSPillarNetworkA,6190,6190,6190,1986-12-13,619.0000000000722,618.9959,2015-01-01 01:43:10,bin6190,35,False -CTSPillarNetworkA,6191,6191,6191,1986-12-14,619.1000000000722,619.0959,2015-01-01 01:43:11,bin6191,75,False -CTSPillarNetworkA,6192,6192,6192,1986-12-15,619.2000000000722,619.19586,2015-01-01 01:43:12,bin6192,35,False -CTSPillarNetworkA,6193,6193,6193,1986-12-16,619.3000000000723,619.29584,2015-01-01 01:43:13,bin6193,75,False -CTSPillarNetworkA,6194,6194,6194,1986-12-17,619.4000000000723,619.3958,2015-01-01 01:43:14,bin6194,35,False -CTSPillarNetworkA,6195,6195,6195,1986-12-18,619.5000000000723,619.4958,2015-01-01 01:43:15,bin6195,75,False -CTSPillarNetworkA,6196,6196,6196,1986-12-19,619.6000000000723,619.59576,2015-01-01 01:43:16,bin6196,35,False -CTSPillarNetworkA,6197,6197,6197,1986-12-20,619.7000000000724,619.69574,2015-01-01 01:43:17,bin6197,75,False -CTSPillarNetworkA,6198,6198,6198,1986-12-21,619.8000000000724,619.7957,2015-01-01 01:43:18,bin6198,35,False -CTSPillarNetworkA,6199,6199,6199,1986-12-22,619.9000000000724,619.8957,2015-01-01 01:43:19,bin6199,75,False -CTSPillarNetworkA,6200,6200,6200,1986-12-23,620.0000000000724,619.99567,2015-01-01 01:43:20,bin6200,35,False -CTSPillarNetworkA,6201,6201,6201,1986-12-24,620.1000000000724,620.09564,2015-01-01 01:43:21,bin6201,75,False -CTSPillarNetworkA,6202,6202,6202,1986-12-25,620.2000000000725,620.1956,2015-01-01 01:43:22,bin6202,35,False -CTSPillarNetworkA,6203,6203,6203,1986-12-26,620.3000000000725,620.2956,2015-01-01 01:43:23,bin6203,75,False -CTSPillarNetworkA,6204,6204,6204,1986-12-27,620.4000000000725,620.39557,2015-01-01 01:43:24,bin6204,35,False -CTSPillarNetworkA,6205,6205,6205,1986-12-28,620.5000000000725,620.49554,2015-01-01 01:43:25,bin6205,75,False -CTSPillarNetworkA,6206,6206,6206,1986-12-29,620.6000000000726,620.5955,2015-01-01 01:43:26,bin6206,35,False -CTSPillarNetworkA,6207,6207,6207,1986-12-30,620.7000000000726,620.6955,2015-01-01 01:43:27,bin6207,75,False -CTSPillarNetworkA,6208,6208,6208,1986-12-31,620.8000000000726,620.7955,2015-01-01 01:43:28,bin6208,35,False -CTSPillarNetworkA,6209,6209,6209,1987-01-01,620.9000000000726,620.89545,2015-01-01 01:43:29,bin6209,75,False -CTSPillarNetworkA,6210,6210,6210,1987-01-02,621.0000000000726,620.9954,2015-01-01 01:43:30,bin6210,35,False -CTSPillarNetworkA,6211,6211,6211,1987-01-03,621.1000000000727,621.0954,2015-01-01 01:43:31,bin6211,75,False -CTSPillarNetworkA,6212,6212,6212,1987-01-04,621.2000000000727,621.1954,2015-01-01 01:43:32,bin6212,35,False -CTSPillarNetworkA,6213,6213,6213,1987-01-05,621.3000000000727,621.29535,2015-01-01 01:43:33,bin6213,75,False -CTSPillarNetworkA,6214,6214,6214,1987-01-06,621.4000000000727,621.3953,2015-01-01 01:43:34,bin6214,35,False -CTSPillarNetworkA,6215,6215,6215,1987-01-07,621.5000000000728,621.4953,2015-01-01 01:43:35,bin6215,75,False -CTSPillarNetworkA,6216,6216,6216,1987-01-08,621.6000000000728,621.5953,2015-01-01 01:43:36,bin6216,35,False -CTSPillarNetworkA,6217,6217,6217,1987-01-09,621.7000000000728,621.69525,2015-01-01 01:43:37,bin6217,75,False -CTSPillarNetworkA,6218,6218,6218,1987-01-10,621.8000000000728,621.7952,2015-01-01 01:43:38,bin6218,35,False -CTSPillarNetworkA,6219,6219,6219,1987-01-11,621.9000000000729,621.8952,2015-01-01 01:43:39,bin6219,75,False -CTSPillarNetworkA,6220,6220,6220,1987-01-12,622.0000000000729,621.9952,2015-01-01 01:43:40,bin6220,35,False -CTSPillarNetworkA,6221,6221,6221,1987-01-13,622.1000000000729,622.09515,2015-01-01 01:43:41,bin6221,75,False -CTSPillarNetworkA,6222,6222,6222,1987-01-14,622.2000000000729,622.1951,2015-01-01 01:43:42,bin6222,35,False -CTSPillarNetworkA,6223,6223,6223,1987-01-15,622.3000000000729,622.2951,2015-01-01 01:43:43,bin6223,75,False -CTSPillarNetworkA,6224,6224,6224,1987-01-16,622.400000000073,622.3951,2015-01-01 01:43:44,bin6224,35,False -CTSPillarNetworkA,6225,6225,6225,1987-01-17,622.500000000073,622.49506,2015-01-01 01:43:45,bin6225,75,False -CTSPillarNetworkA,6226,6226,6226,1987-01-18,622.600000000073,622.59503,2015-01-01 01:43:46,bin6226,35,False -CTSPillarNetworkA,6227,6227,6227,1987-01-19,622.700000000073,622.695,2015-01-01 01:43:47,bin6227,75,False -CTSPillarNetworkA,6228,6228,6228,1987-01-20,622.800000000073,622.795,2015-01-01 01:43:48,bin6228,35,False -CTSPillarNetworkA,6229,6229,6229,1987-01-21,622.9000000000731,622.89496,2015-01-01 01:43:49,bin6229,75,False -CTSPillarNetworkA,6230,6230,6230,1987-01-22,623.0000000000731,622.99493,2015-01-01 01:43:50,bin6230,35,False -CTSPillarNetworkA,6231,6231,6231,1987-01-23,623.1000000000731,623.0949,2015-01-01 01:43:51,bin6231,75,False -CTSPillarNetworkA,6232,6232,6232,1987-01-24,623.2000000000731,623.1949,2015-01-01 01:43:52,bin6232,35,False -CTSPillarNetworkA,6233,6233,6233,1987-01-25,623.3000000000732,623.29486,2015-01-01 01:43:53,bin6233,75,False -CTSPillarNetworkA,6234,6234,6234,1987-01-26,623.4000000000732,623.39484,2015-01-01 01:43:54,bin6234,35,False -CTSPillarNetworkA,6235,6235,6235,1987-01-27,623.5000000000732,623.4948,2015-01-01 01:43:55,bin6235,75,False -CTSPillarNetworkA,6236,6236,6236,1987-01-28,623.6000000000732,623.5948,2015-01-01 01:43:56,bin6236,35,False -CTSPillarNetworkA,6237,6237,6237,1987-01-29,623.7000000000733,623.69476,2015-01-01 01:43:57,bin6237,75,False -CTSPillarNetworkA,6238,6238,6238,1987-01-30,623.8000000000733,623.79474,2015-01-01 01:43:58,bin6238,35,False -CTSPillarNetworkA,6239,6239,6239,1987-01-31,623.9000000000733,623.8947,2015-01-01 01:43:59,bin6239,75,False -CTSPillarNetworkA,6240,6240,6240,1987-02-01,624.0000000000733,623.9947,2015-01-01 01:44:00,bin6240,35,False -CTSPillarNetworkA,6241,6241,6241,1987-02-02,624.1000000000734,624.09467,2015-01-01 01:44:01,bin6241,75,False -CTSPillarNetworkA,6242,6242,6242,1987-02-03,624.2000000000734,624.19464,2015-01-01 01:44:02,bin6242,35,False -CTSPillarNetworkA,6243,6243,6243,1987-02-04,624.3000000000734,624.2946,2015-01-01 01:44:03,bin6243,75,False -CTSPillarNetworkA,6244,6244,6244,1987-02-05,624.4000000000734,624.3946,2015-01-01 01:44:04,bin6244,35,False -CTSPillarNetworkA,6245,6245,6245,1987-02-06,624.5000000000734,624.49457,2015-01-01 01:44:05,bin6245,75,False -CTSPillarNetworkA,6246,6246,6246,1987-02-07,624.6000000000735,624.59454,2015-01-01 01:44:06,bin6246,35,False -CTSPillarNetworkA,6247,6247,6247,1987-02-08,624.7000000000735,624.6945,2015-01-01 01:44:07,bin6247,75,False -CTSPillarNetworkA,6248,6248,6248,1987-02-09,624.8000000000735,624.7945,2015-01-01 01:44:08,bin6248,35,False -CTSPillarNetworkA,6249,6249,6249,1987-02-10,624.9000000000735,624.8945,2015-01-01 01:44:09,bin6249,75,False -CTSPillarNetworkA,6250,6250,6250,1987-02-11,625.0000000000736,624.99445,2015-01-01 01:44:10,bin6250,35,False -CTSPillarNetworkA,6251,6251,6251,1987-02-12,625.1000000000736,625.0944,2015-01-01 01:44:11,bin6251,75,False -CTSPillarNetworkA,6252,6252,6252,1987-02-13,625.2000000000736,625.1944,2015-01-01 01:44:12,bin6252,35,False -CTSPillarNetworkA,6253,6253,6253,1987-02-14,625.3000000000736,625.2944,2015-01-01 01:44:13,bin6253,75,False -CTSPillarNetworkA,6254,6254,6254,1987-02-15,625.4000000000736,625.39435,2015-01-01 01:44:14,bin6254,35,False -CTSPillarNetworkA,6255,6255,6255,1987-02-16,625.5000000000737,625.4943,2015-01-01 01:44:15,bin6255,75,False -CTSPillarNetworkA,6256,6256,6256,1987-02-17,625.6000000000737,625.5943,2015-01-01 01:44:16,bin6256,35,False -CTSPillarNetworkA,6257,6257,6257,1987-02-18,625.7000000000737,625.6943,2015-01-01 01:44:17,bin6257,75,False -CTSPillarNetworkA,6258,6258,6258,1987-02-19,625.8000000000737,625.79425,2015-01-01 01:44:18,bin6258,35,False -CTSPillarNetworkA,6259,6259,6259,1987-02-20,625.9000000000738,625.8942,2015-01-01 01:44:19,bin6259,75,False -CTSPillarNetworkA,6260,6260,6260,1987-02-21,626.0000000000738,625.9942,2015-01-01 01:44:20,bin6260,35,False -CTSPillarNetworkA,6261,6261,6261,1987-02-22,626.1000000000738,626.0942,2015-01-01 01:44:21,bin6261,75,False -CTSPillarNetworkA,6262,6262,6262,1987-02-23,626.2000000000738,626.19415,2015-01-01 01:44:22,bin6262,35,False -CTSPillarNetworkA,6263,6263,6263,1987-02-24,626.3000000000739,626.2941,2015-01-01 01:44:23,bin6263,75,False -CTSPillarNetworkA,6264,6264,6264,1987-02-25,626.4000000000739,626.3941,2015-01-01 01:44:24,bin6264,35,False -CTSPillarNetworkA,6265,6265,6265,1987-02-26,626.5000000000739,626.4941,2015-01-01 01:44:25,bin6265,75,False -CTSPillarNetworkA,6266,6266,6266,1987-02-27,626.6000000000739,626.59406,2015-01-01 01:44:26,bin6266,35,False -CTSPillarNetworkA,6267,6267,6267,1987-02-28,626.7000000000739,626.69403,2015-01-01 01:44:27,bin6267,75,False -CTSPillarNetworkA,6268,6268,6268,1987-03-01,626.800000000074,626.794,2015-01-01 01:44:28,bin6268,35,False -CTSPillarNetworkA,6269,6269,6269,1987-03-02,626.900000000074,626.894,2015-01-01 01:44:29,bin6269,75,False -CTSPillarNetworkA,6270,6270,6270,1987-03-03,627.000000000074,626.99396,2015-01-01 01:44:30,bin6270,35,False -CTSPillarNetworkA,6271,6271,6271,1987-03-04,627.100000000074,627.09393,2015-01-01 01:44:31,bin6271,75,False -CTSPillarNetworkA,6272,6272,6272,1987-03-05,627.200000000074,627.1939,2015-01-01 01:44:32,bin6272,35,False -CTSPillarNetworkA,6273,6273,6273,1987-03-06,627.3000000000741,627.2939,2015-01-01 01:44:33,bin6273,75,False -CTSPillarNetworkA,6274,6274,6274,1987-03-07,627.4000000000741,627.39386,2015-01-01 01:44:34,bin6274,35,False -CTSPillarNetworkA,6275,6275,6275,1987-03-08,627.5000000000741,627.49384,2015-01-01 01:44:35,bin6275,75,False -CTSPillarNetworkA,6276,6276,6276,1987-03-09,627.6000000000741,627.5938,2015-01-01 01:44:36,bin6276,35,False -CTSPillarNetworkA,6277,6277,6277,1987-03-10,627.7000000000742,627.6938,2015-01-01 01:44:37,bin6277,75,False -CTSPillarNetworkA,6278,6278,6278,1987-03-11,627.8000000000742,627.79376,2015-01-01 01:44:38,bin6278,35,False -CTSPillarNetworkA,6279,6279,6279,1987-03-12,627.9000000000742,627.89374,2015-01-01 01:44:39,bin6279,75,False -CTSPillarNetworkA,6280,6280,6280,1987-03-13,628.0000000000742,627.9937,2015-01-01 01:44:40,bin6280,35,False -CTSPillarNetworkA,6281,6281,6281,1987-03-14,628.1000000000743,628.0937,2015-01-01 01:44:41,bin6281,75,False -CTSPillarNetworkA,6282,6282,6282,1987-03-15,628.2000000000743,628.19366,2015-01-01 01:44:42,bin6282,35,False -CTSPillarNetworkA,6283,6283,6283,1987-03-16,628.3000000000743,628.29364,2015-01-01 01:44:43,bin6283,75,False -CTSPillarNetworkA,6284,6284,6284,1987-03-17,628.4000000000743,628.3936,2015-01-01 01:44:44,bin6284,35,False -CTSPillarNetworkA,6285,6285,6285,1987-03-18,628.5000000000744,628.4936,2015-01-01 01:44:45,bin6285,75,False -CTSPillarNetworkA,6286,6286,6286,1987-03-19,628.6000000000744,628.59357,2015-01-01 01:44:46,bin6286,35,False -CTSPillarNetworkA,6287,6287,6287,1987-03-20,628.7000000000744,628.69354,2015-01-01 01:44:47,bin6287,75,False -CTSPillarNetworkA,6288,6288,6288,1987-03-21,628.8000000000744,628.7935,2015-01-01 01:44:48,bin6288,35,False -CTSPillarNetworkA,6289,6289,6289,1987-03-22,628.9000000000744,628.8935,2015-01-01 01:44:49,bin6289,75,False -CTSPillarNetworkA,6290,6290,6290,1987-03-23,629.0000000000745,628.99347,2015-01-01 01:44:50,bin6290,35,False -CTSPillarNetworkA,6291,6291,6291,1987-03-24,629.1000000000745,629.09344,2015-01-01 01:44:51,bin6291,75,False -CTSPillarNetworkA,6292,6292,6292,1987-03-25,629.2000000000745,629.1934,2015-01-01 01:44:52,bin6292,35,False -CTSPillarNetworkA,6293,6293,6293,1987-03-26,629.3000000000745,629.2934,2015-01-01 01:44:53,bin6293,75,False -CTSPillarNetworkA,6294,6294,6294,1987-03-27,629.4000000000746,629.3934,2015-01-01 01:44:54,bin6294,35,False -CTSPillarNetworkA,6295,6295,6295,1987-03-28,629.5000000000746,629.49335,2015-01-01 01:44:55,bin6295,75,False -CTSPillarNetworkA,6296,6296,6296,1987-03-29,629.6000000000746,629.5933,2015-01-01 01:44:56,bin6296,35,False -CTSPillarNetworkA,6297,6297,6297,1987-03-30,629.7000000000746,629.6933,2015-01-01 01:44:57,bin6297,75,False -CTSPillarNetworkA,6298,6298,6298,1987-03-31,629.8000000000746,629.7933,2015-01-01 01:44:58,bin6298,35,False -CTSPillarNetworkA,6299,6299,6299,1987-04-01,629.9000000000747,629.89325,2015-01-01 01:44:59,bin6299,75,False -CTSPillarNetworkA,6300,6300,6300,1987-04-02,630.0000000000747,629.9932,2015-01-01 01:45:00,bin6300,35,False -CTSPillarNetworkA,6301,6301,6301,1987-04-03,630.1000000000747,630.0932,2015-01-01 01:45:01,bin6301,75,False -CTSPillarNetworkA,6302,6302,6302,1987-04-04,630.2000000000747,630.1932,2015-01-01 01:45:02,bin6302,35,False -CTSPillarNetworkA,6303,6303,6303,1987-04-05,630.3000000000748,630.29315,2015-01-01 01:45:03,bin6303,75,False -CTSPillarNetworkA,6304,6304,6304,1987-04-06,630.4000000000748,630.3931,2015-01-01 01:45:04,bin6304,35,False -CTSPillarNetworkA,6305,6305,6305,1987-04-07,630.5000000000748,630.4931,2015-01-01 01:45:05,bin6305,75,False -CTSPillarNetworkA,6306,6306,6306,1987-04-08,630.6000000000748,630.5931,2015-01-01 01:45:06,bin6306,35,False -CTSPillarNetworkA,6307,6307,6307,1987-04-09,630.7000000000749,630.69305,2015-01-01 01:45:07,bin6307,75,False -CTSPillarNetworkA,6308,6308,6308,1987-04-10,630.8000000000749,630.793,2015-01-01 01:45:08,bin6308,35,False -CTSPillarNetworkA,6309,6309,6309,1987-04-11,630.9000000000749,630.893,2015-01-01 01:45:09,bin6309,75,False -CTSPillarNetworkA,6310,6310,6310,1987-04-12,631.0000000000749,630.993,2015-01-01 01:45:10,bin6310,35,False -CTSPillarNetworkA,6311,6311,6311,1987-04-13,631.1000000000749,631.09296,2015-01-01 01:45:11,bin6311,75,False -CTSPillarNetworkA,6312,6312,6312,1987-04-14,631.200000000075,631.19293,2015-01-01 01:45:12,bin6312,35,False -CTSPillarNetworkA,6313,6313,6313,1987-04-15,631.300000000075,631.2929,2015-01-01 01:45:13,bin6313,75,False -CTSPillarNetworkA,6314,6314,6314,1987-04-16,631.400000000075,631.3929,2015-01-01 01:45:14,bin6314,35,False -CTSPillarNetworkA,6315,6315,6315,1987-04-17,631.500000000075,631.49286,2015-01-01 01:45:15,bin6315,75,False -CTSPillarNetworkA,6316,6316,6316,1987-04-18,631.600000000075,631.59283,2015-01-01 01:45:16,bin6316,35,False -CTSPillarNetworkA,6317,6317,6317,1987-04-19,631.7000000000751,631.6928,2015-01-01 01:45:17,bin6317,75,False -CTSPillarNetworkA,6318,6318,6318,1987-04-20,631.8000000000751,631.7928,2015-01-01 01:45:18,bin6318,35,False -CTSPillarNetworkA,6319,6319,6319,1987-04-21,631.9000000000751,631.89276,2015-01-01 01:45:19,bin6319,75,False -CTSPillarNetworkA,6320,6320,6320,1987-04-22,632.0000000000751,631.99274,2015-01-01 01:45:20,bin6320,35,False -CTSPillarNetworkA,6321,6321,6321,1987-04-23,632.1000000000752,632.0927,2015-01-01 01:45:21,bin6321,75,False -CTSPillarNetworkA,6322,6322,6322,1987-04-24,632.2000000000752,632.1927,2015-01-01 01:45:22,bin6322,35,False -CTSPillarNetworkA,6323,6323,6323,1987-04-25,632.3000000000752,632.29266,2015-01-01 01:45:23,bin6323,75,False -CTSPillarNetworkA,6324,6324,6324,1987-04-26,632.4000000000752,632.39264,2015-01-01 01:45:24,bin6324,35,False -CTSPillarNetworkA,6325,6325,6325,1987-04-27,632.5000000000753,632.4926,2015-01-01 01:45:25,bin6325,75,False -CTSPillarNetworkA,6326,6326,6326,1987-04-28,632.6000000000753,632.5926,2015-01-01 01:45:26,bin6326,35,False -CTSPillarNetworkA,6327,6327,6327,1987-04-29,632.7000000000753,632.69257,2015-01-01 01:45:27,bin6327,75,False -CTSPillarNetworkA,6328,6328,6328,1987-04-30,632.8000000000753,632.79254,2015-01-01 01:45:28,bin6328,35,False -CTSPillarNetworkA,6329,6329,6329,1987-05-01,632.9000000000754,632.8925,2015-01-01 01:45:29,bin6329,75,False -CTSPillarNetworkA,6330,6330,6330,1987-05-02,633.0000000000754,632.9925,2015-01-01 01:45:30,bin6330,35,False -CTSPillarNetworkA,6331,6331,6331,1987-05-03,633.1000000000754,633.09247,2015-01-01 01:45:31,bin6331,75,False -CTSPillarNetworkA,6332,6332,6332,1987-05-04,633.2000000000754,633.19244,2015-01-01 01:45:32,bin6332,35,False -CTSPillarNetworkA,6333,6333,6333,1987-05-05,633.3000000000754,633.2924,2015-01-01 01:45:33,bin6333,75,False -CTSPillarNetworkA,6334,6334,6334,1987-05-06,633.4000000000755,633.3924,2015-01-01 01:45:34,bin6334,35,False -CTSPillarNetworkA,6335,6335,6335,1987-05-07,633.5000000000755,633.4924,2015-01-01 01:45:35,bin6335,75,False -CTSPillarNetworkA,6336,6336,6336,1987-05-08,633.6000000000755,633.59235,2015-01-01 01:45:36,bin6336,35,False -CTSPillarNetworkA,6337,6337,6337,1987-05-09,633.7000000000755,633.6923,2015-01-01 01:45:37,bin6337,75,False -CTSPillarNetworkA,6338,6338,6338,1987-05-10,633.8000000000756,633.7923,2015-01-01 01:45:38,bin6338,35,False -CTSPillarNetworkA,6339,6339,6339,1987-05-11,633.9000000000756,633.8923,2015-01-01 01:45:39,bin6339,75,False -CTSPillarNetworkA,6340,6340,6340,1987-05-12,634.0000000000756,633.99225,2015-01-01 01:45:40,bin6340,35,False -CTSPillarNetworkA,6341,6341,6341,1987-05-13,634.1000000000756,634.0922,2015-01-01 01:45:41,bin6341,75,False -CTSPillarNetworkA,6342,6342,6342,1987-05-14,634.2000000000756,634.1922,2015-01-01 01:45:42,bin6342,35,False -CTSPillarNetworkA,6343,6343,6343,1987-05-15,634.3000000000757,634.2922,2015-01-01 01:45:43,bin6343,75,False -CTSPillarNetworkA,6344,6344,6344,1987-05-16,634.4000000000757,634.39215,2015-01-01 01:45:44,bin6344,35,False -CTSPillarNetworkA,6345,6345,6345,1987-05-17,634.5000000000757,634.4921,2015-01-01 01:45:45,bin6345,75,False -CTSPillarNetworkA,6346,6346,6346,1987-05-18,634.6000000000757,634.5921,2015-01-01 01:45:46,bin6346,35,False -CTSPillarNetworkA,6347,6347,6347,1987-05-19,634.7000000000758,634.6921,2015-01-01 01:45:47,bin6347,75,False -CTSPillarNetworkA,6348,6348,6348,1987-05-20,634.8000000000758,634.79205,2015-01-01 01:45:48,bin6348,35,False -CTSPillarNetworkA,6349,6349,6349,1987-05-21,634.9000000000758,634.892,2015-01-01 01:45:49,bin6349,75,False -CTSPillarNetworkA,6350,6350,6350,1987-05-22,635.0000000000758,634.992,2015-01-01 01:45:50,bin6350,35,False -CTSPillarNetworkA,6351,6351,6351,1987-05-23,635.1000000000759,635.092,2015-01-01 01:45:51,bin6351,75,False -CTSPillarNetworkA,6352,6352,6352,1987-05-24,635.2000000000759,635.19196,2015-01-01 01:45:52,bin6352,35,False -CTSPillarNetworkA,6353,6353,6353,1987-05-25,635.3000000000759,635.29193,2015-01-01 01:45:53,bin6353,75,False -CTSPillarNetworkA,6354,6354,6354,1987-05-26,635.4000000000759,635.3919,2015-01-01 01:45:54,bin6354,35,False -CTSPillarNetworkA,6355,6355,6355,1987-05-27,635.5000000000759,635.4919,2015-01-01 01:45:55,bin6355,75,False -CTSPillarNetworkA,6356,6356,6356,1987-05-28,635.600000000076,635.59186,2015-01-01 01:45:56,bin6356,35,False -CTSPillarNetworkA,6357,6357,6357,1987-05-29,635.700000000076,635.69183,2015-01-01 01:45:57,bin6357,75,False -CTSPillarNetworkA,6358,6358,6358,1987-05-30,635.800000000076,635.7918,2015-01-01 01:45:58,bin6358,35,False -CTSPillarNetworkA,6359,6359,6359,1987-05-31,635.900000000076,635.8918,2015-01-01 01:45:59,bin6359,75,False -CTSPillarNetworkA,6360,6360,6360,1987-06-01,636.000000000076,635.99176,2015-01-01 01:46:00,bin6360,35,False -CTSPillarNetworkA,6361,6361,6361,1987-06-02,636.1000000000761,636.09174,2015-01-01 01:46:01,bin6361,75,False -CTSPillarNetworkA,6362,6362,6362,1987-06-03,636.2000000000761,636.1917,2015-01-01 01:46:02,bin6362,35,False -CTSPillarNetworkA,6363,6363,6363,1987-06-04,636.3000000000761,636.2917,2015-01-01 01:46:03,bin6363,75,False -CTSPillarNetworkA,6364,6364,6364,1987-06-05,636.4000000000761,636.39166,2015-01-01 01:46:04,bin6364,35,False -CTSPillarNetworkA,6365,6365,6365,1987-06-06,636.5000000000762,636.49164,2015-01-01 01:46:05,bin6365,75,False -CTSPillarNetworkA,6366,6366,6366,1987-06-07,636.6000000000762,636.5916,2015-01-01 01:46:06,bin6366,35,False -CTSPillarNetworkA,6367,6367,6367,1987-06-08,636.7000000000762,636.6916,2015-01-01 01:46:07,bin6367,75,False -CTSPillarNetworkA,6368,6368,6368,1987-06-09,636.8000000000762,636.79156,2015-01-01 01:46:08,bin6368,35,False -CTSPillarNetworkA,6369,6369,6369,1987-06-10,636.9000000000763,636.89154,2015-01-01 01:46:09,bin6369,75,False -CTSPillarNetworkA,6370,6370,6370,1987-06-11,637.0000000000763,636.9915,2015-01-01 01:46:10,bin6370,35,False -CTSPillarNetworkA,6371,6371,6371,1987-06-12,637.1000000000763,637.0915,2015-01-01 01:46:11,bin6371,75,False -CTSPillarNetworkA,6372,6372,6372,1987-06-13,637.2000000000763,637.19147,2015-01-01 01:46:12,bin6372,35,False -CTSPillarNetworkA,6373,6373,6373,1987-06-14,637.3000000000764,637.29144,2015-01-01 01:46:13,bin6373,75,False -CTSPillarNetworkA,6374,6374,6374,1987-06-15,637.4000000000764,637.3914,2015-01-01 01:46:14,bin6374,35,False -CTSPillarNetworkA,6375,6375,6375,1987-06-16,637.5000000000764,637.4914,2015-01-01 01:46:15,bin6375,75,False -CTSPillarNetworkA,6376,6376,6376,1987-06-17,637.6000000000764,637.5914,2015-01-01 01:46:16,bin6376,35,False -CTSPillarNetworkA,6377,6377,6377,1987-06-18,637.7000000000764,637.69135,2015-01-01 01:46:17,bin6377,75,False -CTSPillarNetworkA,6378,6378,6378,1987-06-19,637.8000000000765,637.7913,2015-01-01 01:46:18,bin6378,35,False -CTSPillarNetworkA,6379,6379,6379,1987-06-20,637.9000000000765,637.8913,2015-01-01 01:46:19,bin6379,75,False -CTSPillarNetworkA,6380,6380,6380,1987-06-21,638.0000000000765,637.9913,2015-01-01 01:46:20,bin6380,35,False -CTSPillarNetworkA,6381,6381,6381,1987-06-22,638.1000000000765,638.09125,2015-01-01 01:46:21,bin6381,75,False -CTSPillarNetworkA,6382,6382,6382,1987-06-23,638.2000000000766,638.1912,2015-01-01 01:46:22,bin6382,35,False -CTSPillarNetworkA,6383,6383,6383,1987-06-24,638.3000000000766,638.2912,2015-01-01 01:46:23,bin6383,75,False -CTSPillarNetworkA,6384,6384,6384,1987-06-25,638.4000000000766,638.3912,2015-01-01 01:46:24,bin6384,35,False -CTSPillarNetworkA,6385,6385,6385,1987-06-26,638.5000000000766,638.49115,2015-01-01 01:46:25,bin6385,75,False -CTSPillarNetworkA,6386,6386,6386,1987-06-27,638.6000000000766,638.5911,2015-01-01 01:46:26,bin6386,35,False -CTSPillarNetworkA,6387,6387,6387,1987-06-28,638.7000000000767,638.6911,2015-01-01 01:46:27,bin6387,75,False -CTSPillarNetworkA,6388,6388,6388,1987-06-29,638.8000000000767,638.7911,2015-01-01 01:46:28,bin6388,35,False -CTSPillarNetworkA,6389,6389,6389,1987-06-30,638.9000000000767,638.89105,2015-01-01 01:46:29,bin6389,75,False -CTSPillarNetworkA,6390,6390,6390,1987-07-01,639.0000000000767,638.991,2015-01-01 01:46:30,bin6390,35,False -CTSPillarNetworkA,6391,6391,6391,1987-07-02,639.1000000000768,639.091,2015-01-01 01:46:31,bin6391,75,False -CTSPillarNetworkA,6392,6392,6392,1987-07-03,639.2000000000768,639.191,2015-01-01 01:46:32,bin6392,35,False -CTSPillarNetworkA,6393,6393,6393,1987-07-04,639.3000000000768,639.29095,2015-01-01 01:46:33,bin6393,75,False -CTSPillarNetworkA,6394,6394,6394,1987-07-05,639.4000000000768,639.3909,2015-01-01 01:46:34,bin6394,35,False -CTSPillarNetworkA,6395,6395,6395,1987-07-06,639.5000000000769,639.4909,2015-01-01 01:46:35,bin6395,75,False -CTSPillarNetworkA,6396,6396,6396,1987-07-07,639.6000000000769,639.5909,2015-01-01 01:46:36,bin6396,35,False -CTSPillarNetworkA,6397,6397,6397,1987-07-08,639.7000000000769,639.69086,2015-01-01 01:46:37,bin6397,75,False -CTSPillarNetworkA,6398,6398,6398,1987-07-09,639.8000000000769,639.79083,2015-01-01 01:46:38,bin6398,35,False -CTSPillarNetworkA,6399,6399,6399,1987-07-10,639.900000000077,639.8908,2015-01-01 01:46:39,bin6399,75,False -CTSPillarNetworkA,6400,6400,6400,1987-07-11,640.000000000077,639.9908,2015-01-01 01:46:40,bin6400,35,False -CTSPillarNetworkA,6401,6401,6401,1987-07-12,640.100000000077,640.09076,2015-01-01 01:46:41,bin6401,75,False -CTSPillarNetworkA,6402,6402,6402,1987-07-13,640.200000000077,640.19073,2015-01-01 01:46:42,bin6402,35,False -CTSPillarNetworkA,6403,6403,6403,1987-07-14,640.300000000077,640.2907,2015-01-01 01:46:43,bin6403,75,False -CTSPillarNetworkA,6404,6404,6404,1987-07-15,640.4000000000771,640.3907,2015-01-01 01:46:44,bin6404,35,False -CTSPillarNetworkA,6405,6405,6405,1987-07-16,640.5000000000771,640.49066,2015-01-01 01:46:45,bin6405,75,False -CTSPillarNetworkA,6406,6406,6406,1987-07-17,640.6000000000771,640.59064,2015-01-01 01:46:46,bin6406,35,False -CTSPillarNetworkA,6407,6407,6407,1987-07-18,640.7000000000771,640.6906,2015-01-01 01:46:47,bin6407,75,False -CTSPillarNetworkA,6408,6408,6408,1987-07-19,640.8000000000771,640.7906,2015-01-01 01:46:48,bin6408,35,False -CTSPillarNetworkA,6409,6409,6409,1987-07-20,640.9000000000772,640.89056,2015-01-01 01:46:49,bin6409,75,False -CTSPillarNetworkA,6410,6410,6410,1987-07-21,641.0000000000772,640.99054,2015-01-01 01:46:50,bin6410,35,False -CTSPillarNetworkA,6411,6411,6411,1987-07-22,641.1000000000772,641.0905,2015-01-01 01:46:51,bin6411,75,False -CTSPillarNetworkA,6412,6412,6412,1987-07-23,641.2000000000772,641.1905,2015-01-01 01:46:52,bin6412,35,False -CTSPillarNetworkA,6413,6413,6413,1987-07-24,641.3000000000773,641.29047,2015-01-01 01:46:53,bin6413,75,False -CTSPillarNetworkA,6414,6414,6414,1987-07-25,641.4000000000773,641.39044,2015-01-01 01:46:54,bin6414,35,False -CTSPillarNetworkA,6415,6415,6415,1987-07-26,641.5000000000773,641.4904,2015-01-01 01:46:55,bin6415,75,False -CTSPillarNetworkA,6416,6416,6416,1987-07-27,641.6000000000773,641.5904,2015-01-01 01:46:56,bin6416,35,False -CTSPillarNetworkA,6417,6417,6417,1987-07-28,641.7000000000774,641.69037,2015-01-01 01:46:57,bin6417,75,False -CTSPillarNetworkA,6418,6418,6418,1987-07-29,641.8000000000774,641.79034,2015-01-01 01:46:58,bin6418,35,False -CTSPillarNetworkA,6419,6419,6419,1987-07-30,641.9000000000774,641.8903,2015-01-01 01:46:59,bin6419,75,False -CTSPillarNetworkA,6420,6420,6420,1987-07-31,642.0000000000774,641.9903,2015-01-01 01:47:00,bin6420,35,False -CTSPillarNetworkA,6421,6421,6421,1987-08-01,642.1000000000774,642.0903,2015-01-01 01:47:01,bin6421,75,False -CTSPillarNetworkA,6422,6422,6422,1987-08-02,642.2000000000775,642.19025,2015-01-01 01:47:02,bin6422,35,False -CTSPillarNetworkA,6423,6423,6423,1987-08-03,642.3000000000775,642.2902,2015-01-01 01:47:03,bin6423,75,False -CTSPillarNetworkA,6424,6424,6424,1987-08-04,642.4000000000775,642.3902,2015-01-01 01:47:04,bin6424,35,False -CTSPillarNetworkA,6425,6425,6425,1987-08-05,642.5000000000775,642.4902,2015-01-01 01:47:05,bin6425,75,False -CTSPillarNetworkA,6426,6426,6426,1987-08-06,642.6000000000776,642.59015,2015-01-01 01:47:06,bin6426,35,False -CTSPillarNetworkA,6427,6427,6427,1987-08-07,642.7000000000776,642.6901,2015-01-01 01:47:07,bin6427,75,False -CTSPillarNetworkA,6428,6428,6428,1987-08-08,642.8000000000776,642.7901,2015-01-01 01:47:08,bin6428,35,False -CTSPillarNetworkA,6429,6429,6429,1987-08-09,642.9000000000776,642.8901,2015-01-01 01:47:09,bin6429,75,False -CTSPillarNetworkA,6430,6430,6430,1987-08-10,643.0000000000776,642.99005,2015-01-01 01:47:10,bin6430,35,False -CTSPillarNetworkA,6431,6431,6431,1987-08-11,643.1000000000777,643.09,2015-01-01 01:47:11,bin6431,75,False -CTSPillarNetworkA,6432,6432,6432,1987-08-12,643.2000000000777,643.19,2015-01-01 01:47:12,bin6432,35,False -CTSPillarNetworkA,6433,6433,6433,1987-08-13,643.3000000000777,643.29,2015-01-01 01:47:13,bin6433,75,False -CTSPillarNetworkA,6434,6434,6434,1987-08-14,643.4000000000777,643.38995,2015-01-01 01:47:14,bin6434,35,False -CTSPillarNetworkA,6435,6435,6435,1987-08-15,643.5000000000778,643.4899,2015-01-01 01:47:15,bin6435,75,False -CTSPillarNetworkA,6436,6436,6436,1987-08-16,643.6000000000778,643.5899,2015-01-01 01:47:16,bin6436,35,False -CTSPillarNetworkA,6437,6437,6437,1987-08-17,643.7000000000778,643.6899,2015-01-01 01:47:17,bin6437,75,False -CTSPillarNetworkA,6438,6438,6438,1987-08-18,643.8000000000778,643.78986,2015-01-01 01:47:18,bin6438,35,False -CTSPillarNetworkA,6439,6439,6439,1987-08-19,643.9000000000779,643.88983,2015-01-01 01:47:19,bin6439,75,False -CTSPillarNetworkA,6440,6440,6440,1987-08-20,644.0000000000779,643.9898,2015-01-01 01:47:20,bin6440,35,False -CTSPillarNetworkA,6441,6441,6441,1987-08-21,644.1000000000779,644.0898,2015-01-01 01:47:21,bin6441,75,False -CTSPillarNetworkA,6442,6442,6442,1987-08-22,644.2000000000779,644.18976,2015-01-01 01:47:22,bin6442,35,False -CTSPillarNetworkA,6443,6443,6443,1987-08-23,644.300000000078,644.28973,2015-01-01 01:47:23,bin6443,75,False -CTSPillarNetworkA,6444,6444,6444,1987-08-24,644.400000000078,644.3897,2015-01-01 01:47:24,bin6444,35,False -CTSPillarNetworkA,6445,6445,6445,1987-08-25,644.500000000078,644.4897,2015-01-01 01:47:25,bin6445,75,False -CTSPillarNetworkA,6446,6446,6446,1987-08-26,644.600000000078,644.58966,2015-01-01 01:47:26,bin6446,35,False -CTSPillarNetworkA,6447,6447,6447,1987-08-27,644.700000000078,644.68964,2015-01-01 01:47:27,bin6447,75,False -CTSPillarNetworkA,6448,6448,6448,1987-08-28,644.8000000000781,644.7896,2015-01-01 01:47:28,bin6448,35,False -CTSPillarNetworkA,6449,6449,6449,1987-08-29,644.9000000000781,644.8896,2015-01-01 01:47:29,bin6449,75,False -CTSPillarNetworkA,6450,6450,6450,1987-08-30,645.0000000000781,644.98956,2015-01-01 01:47:30,bin6450,35,False -CTSPillarNetworkA,6451,6451,6451,1987-08-31,645.1000000000781,645.08954,2015-01-01 01:47:31,bin6451,75,False -CTSPillarNetworkA,6452,6452,6452,1987-09-01,645.2000000000781,645.1895,2015-01-01 01:47:32,bin6452,35,False -CTSPillarNetworkA,6453,6453,6453,1987-09-02,645.3000000000782,645.2895,2015-01-01 01:47:33,bin6453,75,False -CTSPillarNetworkA,6454,6454,6454,1987-09-03,645.4000000000782,645.38947,2015-01-01 01:47:34,bin6454,35,False -CTSPillarNetworkA,6455,6455,6455,1987-09-04,645.5000000000782,645.48944,2015-01-01 01:47:35,bin6455,75,False -CTSPillarNetworkA,6456,6456,6456,1987-09-05,645.6000000000782,645.5894,2015-01-01 01:47:36,bin6456,35,False -CTSPillarNetworkA,6457,6457,6457,1987-09-06,645.7000000000783,645.6894,2015-01-01 01:47:37,bin6457,75,False -CTSPillarNetworkA,6458,6458,6458,1987-09-07,645.8000000000783,645.78937,2015-01-01 01:47:38,bin6458,35,False -CTSPillarNetworkA,6459,6459,6459,1987-09-08,645.9000000000783,645.88934,2015-01-01 01:47:39,bin6459,75,False -CTSPillarNetworkA,6460,6460,6460,1987-09-09,646.0000000000783,645.9893,2015-01-01 01:47:40,bin6460,35,False -CTSPillarNetworkA,6461,6461,6461,1987-09-10,646.1000000000784,646.0893,2015-01-01 01:47:41,bin6461,75,False -CTSPillarNetworkA,6462,6462,6462,1987-09-11,646.2000000000784,646.1893,2015-01-01 01:47:42,bin6462,35,False -CTSPillarNetworkA,6463,6463,6463,1987-09-12,646.3000000000784,646.28925,2015-01-01 01:47:43,bin6463,75,False -CTSPillarNetworkA,6464,6464,6464,1987-09-13,646.4000000000784,646.3892,2015-01-01 01:47:44,bin6464,35,False -CTSPillarNetworkA,6465,6465,6465,1987-09-14,646.5000000000784,646.4892,2015-01-01 01:47:45,bin6465,75,False -CTSPillarNetworkA,6466,6466,6466,1987-09-15,646.6000000000785,646.5892,2015-01-01 01:47:46,bin6466,35,False -CTSPillarNetworkA,6467,6467,6467,1987-09-16,646.7000000000785,646.68915,2015-01-01 01:47:47,bin6467,75,False -CTSPillarNetworkA,6468,6468,6468,1987-09-17,646.8000000000785,646.7891,2015-01-01 01:47:48,bin6468,35,False -CTSPillarNetworkA,6469,6469,6469,1987-09-18,646.9000000000785,646.8891,2015-01-01 01:47:49,bin6469,75,False -CTSPillarNetworkA,6470,6470,6470,1987-09-19,647.0000000000786,646.9891,2015-01-01 01:47:50,bin6470,35,False -CTSPillarNetworkA,6471,6471,6471,1987-09-20,647.1000000000786,647.08905,2015-01-01 01:47:51,bin6471,75,False -CTSPillarNetworkA,6472,6472,6472,1987-09-21,647.2000000000786,647.189,2015-01-01 01:47:52,bin6472,35,False -CTSPillarNetworkA,6473,6473,6473,1987-09-22,647.3000000000786,647.289,2015-01-01 01:47:53,bin6473,75,False -CTSPillarNetworkA,6474,6474,6474,1987-09-23,647.4000000000786,647.389,2015-01-01 01:47:54,bin6474,35,False -CTSPillarNetworkA,6475,6475,6475,1987-09-24,647.5000000000787,647.48895,2015-01-01 01:47:55,bin6475,75,False -CTSPillarNetworkA,6476,6476,6476,1987-09-25,647.6000000000787,647.5889,2015-01-01 01:47:56,bin6476,35,False -CTSPillarNetworkA,6477,6477,6477,1987-09-26,647.7000000000787,647.6889,2015-01-01 01:47:57,bin6477,75,False -CTSPillarNetworkA,6478,6478,6478,1987-09-27,647.8000000000787,647.7889,2015-01-01 01:47:58,bin6478,35,False -CTSPillarNetworkA,6479,6479,6479,1987-09-28,647.9000000000788,647.88885,2015-01-01 01:47:59,bin6479,75,False -CTSPillarNetworkA,6480,6480,6480,1987-09-29,648.0000000000788,647.98883,2015-01-01 01:48:00,bin6480,35,False -CTSPillarNetworkA,6481,6481,6481,1987-09-30,648.1000000000788,648.0888,2015-01-01 01:48:01,bin6481,75,False -CTSPillarNetworkA,6482,6482,6482,1987-10-01,648.2000000000788,648.1888,2015-01-01 01:48:02,bin6482,35,False -CTSPillarNetworkA,6483,6483,6483,1987-10-02,648.3000000000789,648.28876,2015-01-01 01:48:03,bin6483,75,False -CTSPillarNetworkA,6484,6484,6484,1987-10-03,648.4000000000789,648.38873,2015-01-01 01:48:04,bin6484,35,False -CTSPillarNetworkA,6485,6485,6485,1987-10-04,648.5000000000789,648.4887,2015-01-01 01:48:05,bin6485,75,False -CTSPillarNetworkA,6486,6486,6486,1987-10-05,648.6000000000789,648.5887,2015-01-01 01:48:06,bin6486,35,False -CTSPillarNetworkA,6487,6487,6487,1987-10-06,648.700000000079,648.68866,2015-01-01 01:48:07,bin6487,75,False -CTSPillarNetworkA,6488,6488,6488,1987-10-07,648.800000000079,648.78864,2015-01-01 01:48:08,bin6488,35,False -CTSPillarNetworkA,6489,6489,6489,1987-10-08,648.900000000079,648.8886,2015-01-01 01:48:09,bin6489,75,False -CTSPillarNetworkA,6490,6490,6490,1987-10-09,649.000000000079,648.9886,2015-01-01 01:48:10,bin6490,35,False -CTSPillarNetworkA,6491,6491,6491,1987-10-10,649.100000000079,649.08856,2015-01-01 01:48:11,bin6491,75,False -CTSPillarNetworkA,6492,6492,6492,1987-10-11,649.2000000000791,649.18854,2015-01-01 01:48:12,bin6492,35,False -CTSPillarNetworkA,6493,6493,6493,1987-10-12,649.3000000000791,649.2885,2015-01-01 01:48:13,bin6493,75,False -CTSPillarNetworkA,6494,6494,6494,1987-10-13,649.4000000000791,649.3885,2015-01-01 01:48:14,bin6494,35,False -CTSPillarNetworkA,6495,6495,6495,1987-10-14,649.5000000000791,649.48846,2015-01-01 01:48:15,bin6495,75,False -CTSPillarNetworkA,6496,6496,6496,1987-10-15,649.6000000000791,649.58844,2015-01-01 01:48:16,bin6496,35,False -CTSPillarNetworkA,6497,6497,6497,1987-10-16,649.7000000000792,649.6884,2015-01-01 01:48:17,bin6497,75,False -CTSPillarNetworkA,6498,6498,6498,1987-10-17,649.8000000000792,649.7884,2015-01-01 01:48:18,bin6498,35,False -CTSPillarNetworkA,6499,6499,6499,1987-10-18,649.9000000000792,649.88837,2015-01-01 01:48:19,bin6499,75,False -CTSPillarNetworkA,6500,6500,6500,1987-10-19,650.0000000000792,649.98834,2015-01-01 01:48:20,bin6500,35,False -CTSPillarNetworkA,6501,6501,6501,1987-10-20,650.1000000000793,650.0883,2015-01-01 01:48:21,bin6501,75,False -CTSPillarNetworkA,6502,6502,6502,1987-10-21,650.2000000000793,650.1883,2015-01-01 01:48:22,bin6502,35,False -CTSPillarNetworkA,6503,6503,6503,1987-10-22,650.3000000000793,650.28827,2015-01-01 01:48:23,bin6503,75,False -CTSPillarNetworkA,6504,6504,6504,1987-10-23,650.4000000000793,650.38824,2015-01-01 01:48:24,bin6504,35,False -CTSPillarNetworkA,6505,6505,6505,1987-10-24,650.5000000000794,650.4882,2015-01-01 01:48:25,bin6505,75,False -CTSPillarNetworkA,6506,6506,6506,1987-10-25,650.6000000000794,650.5882,2015-01-01 01:48:26,bin6506,35,False -CTSPillarNetworkA,6507,6507,6507,1987-10-26,650.7000000000794,650.6882,2015-01-01 01:48:27,bin6507,75,False -CTSPillarNetworkA,6508,6508,6508,1987-10-27,650.8000000000794,650.78815,2015-01-01 01:48:28,bin6508,35,False -CTSPillarNetworkA,6509,6509,6509,1987-10-28,650.9000000000794,650.8881,2015-01-01 01:48:29,bin6509,75,False -CTSPillarNetworkA,6510,6510,6510,1987-10-29,651.0000000000795,650.9881,2015-01-01 01:48:30,bin6510,35,False -CTSPillarNetworkA,6511,6511,6511,1987-10-30,651.1000000000795,651.0881,2015-01-01 01:48:31,bin6511,75,False -CTSPillarNetworkA,6512,6512,6512,1987-10-31,651.2000000000795,651.18805,2015-01-01 01:48:32,bin6512,35,False -CTSPillarNetworkA,6513,6513,6513,1987-11-01,651.3000000000795,651.288,2015-01-01 01:48:33,bin6513,75,False -CTSPillarNetworkA,6514,6514,6514,1987-11-02,651.4000000000796,651.388,2015-01-01 01:48:34,bin6514,35,False -CTSPillarNetworkA,6515,6515,6515,1987-11-03,651.5000000000796,651.488,2015-01-01 01:48:35,bin6515,75,False -CTSPillarNetworkA,6516,6516,6516,1987-11-04,651.6000000000796,651.58795,2015-01-01 01:48:36,bin6516,35,False -CTSPillarNetworkA,6517,6517,6517,1987-11-05,651.7000000000796,651.6879,2015-01-01 01:48:37,bin6517,75,False -CTSPillarNetworkA,6518,6518,6518,1987-11-06,651.8000000000796,651.7879,2015-01-01 01:48:38,bin6518,35,False -CTSPillarNetworkA,6519,6519,6519,1987-11-07,651.9000000000797,651.8879,2015-01-01 01:48:39,bin6519,75,False -CTSPillarNetworkA,6520,6520,6520,1987-11-08,652.0000000000797,651.98785,2015-01-01 01:48:40,bin6520,35,False -CTSPillarNetworkA,6521,6521,6521,1987-11-09,652.1000000000797,652.0878,2015-01-01 01:48:41,bin6521,75,False -CTSPillarNetworkA,6522,6522,6522,1987-11-10,652.2000000000797,652.1878,2015-01-01 01:48:42,bin6522,35,False -CTSPillarNetworkA,6523,6523,6523,1987-11-11,652.3000000000798,652.2878,2015-01-01 01:48:43,bin6523,75,False -CTSPillarNetworkA,6524,6524,6524,1987-11-12,652.4000000000798,652.38776,2015-01-01 01:48:44,bin6524,35,False -CTSPillarNetworkA,6525,6525,6525,1987-11-13,652.5000000000798,652.48773,2015-01-01 01:48:45,bin6525,75,False -CTSPillarNetworkA,6526,6526,6526,1987-11-14,652.6000000000798,652.5877,2015-01-01 01:48:46,bin6526,35,False -CTSPillarNetworkA,6527,6527,6527,1987-11-15,652.7000000000799,652.6877,2015-01-01 01:48:47,bin6527,75,False -CTSPillarNetworkA,6528,6528,6528,1987-11-16,652.8000000000799,652.78766,2015-01-01 01:48:48,bin6528,35,False -CTSPillarNetworkA,6529,6529,6529,1987-11-17,652.9000000000799,652.88763,2015-01-01 01:48:49,bin6529,75,False -CTSPillarNetworkA,6530,6530,6530,1987-11-18,653.0000000000799,652.9876,2015-01-01 01:48:50,bin6530,35,False -CTSPillarNetworkA,6531,6531,6531,1987-11-19,653.10000000008,653.0876,2015-01-01 01:48:51,bin6531,75,False -CTSPillarNetworkA,6532,6532,6532,1987-11-20,653.20000000008,653.18756,2015-01-01 01:48:52,bin6532,35,False -CTSPillarNetworkA,6533,6533,6533,1987-11-21,653.30000000008,653.28754,2015-01-01 01:48:53,bin6533,75,False -CTSPillarNetworkA,6534,6534,6534,1987-11-22,653.40000000008,653.3875,2015-01-01 01:48:54,bin6534,35,False -CTSPillarNetworkA,6535,6535,6535,1987-11-23,653.50000000008,653.4875,2015-01-01 01:48:55,bin6535,75,False -CTSPillarNetworkA,6536,6536,6536,1987-11-24,653.6000000000801,653.58746,2015-01-01 01:48:56,bin6536,35,False -CTSPillarNetworkA,6537,6537,6537,1987-11-25,653.7000000000801,653.68744,2015-01-01 01:48:57,bin6537,75,False -CTSPillarNetworkA,6538,6538,6538,1987-11-26,653.8000000000801,653.7874,2015-01-01 01:48:58,bin6538,35,False -CTSPillarNetworkA,6539,6539,6539,1987-11-27,653.9000000000801,653.8874,2015-01-01 01:48:59,bin6539,75,False -CTSPillarNetworkA,6540,6540,6540,1987-11-28,654.0000000000801,653.98737,2015-01-01 01:49:00,bin6540,35,False -CTSPillarNetworkA,6541,6541,6541,1987-11-29,654.1000000000802,654.08734,2015-01-01 01:49:01,bin6541,75,False -CTSPillarNetworkA,6542,6542,6542,1987-11-30,654.2000000000802,654.1873,2015-01-01 01:49:02,bin6542,35,False -CTSPillarNetworkA,6543,6543,6543,1987-12-01,654.3000000000802,654.2873,2015-01-01 01:49:03,bin6543,75,False -CTSPillarNetworkA,6544,6544,6544,1987-12-02,654.4000000000802,654.38727,2015-01-01 01:49:04,bin6544,35,False -CTSPillarNetworkA,6545,6545,6545,1987-12-03,654.5000000000803,654.48724,2015-01-01 01:49:05,bin6545,75,False -CTSPillarNetworkA,6546,6546,6546,1987-12-04,654.6000000000803,654.5872,2015-01-01 01:49:06,bin6546,35,False -CTSPillarNetworkA,6547,6547,6547,1987-12-05,654.7000000000803,654.6872,2015-01-01 01:49:07,bin6547,75,False -CTSPillarNetworkA,6548,6548,6548,1987-12-06,654.8000000000803,654.7872,2015-01-01 01:49:08,bin6548,35,False -CTSPillarNetworkA,6549,6549,6549,1987-12-07,654.9000000000804,654.88715,2015-01-01 01:49:09,bin6549,75,False -CTSPillarNetworkA,6550,6550,6550,1987-12-08,655.0000000000804,654.9871,2015-01-01 01:49:10,bin6550,35,False -CTSPillarNetworkA,6551,6551,6551,1987-12-09,655.1000000000804,655.0871,2015-01-01 01:49:11,bin6551,75,False -CTSPillarNetworkA,6552,6552,6552,1987-12-10,655.2000000000804,655.1871,2015-01-01 01:49:12,bin6552,35,False -CTSPillarNetworkA,6553,6553,6553,1987-12-11,655.3000000000804,655.28705,2015-01-01 01:49:13,bin6553,75,False -CTSPillarNetworkA,6554,6554,6554,1987-12-12,655.4000000000805,655.387,2015-01-01 01:49:14,bin6554,35,False -CTSPillarNetworkA,6555,6555,6555,1987-12-13,655.5000000000805,655.487,2015-01-01 01:49:15,bin6555,75,False -CTSPillarNetworkA,6556,6556,6556,1987-12-14,655.6000000000805,655.587,2015-01-01 01:49:16,bin6556,35,False -CTSPillarNetworkA,6557,6557,6557,1987-12-15,655.7000000000805,655.68695,2015-01-01 01:49:17,bin6557,75,False -CTSPillarNetworkA,6558,6558,6558,1987-12-16,655.8000000000806,655.7869,2015-01-01 01:49:18,bin6558,35,False -CTSPillarNetworkA,6559,6559,6559,1987-12-17,655.9000000000806,655.8869,2015-01-01 01:49:19,bin6559,75,False -CTSPillarNetworkA,6560,6560,6560,1987-12-18,656.0000000000806,655.9869,2015-01-01 01:49:20,bin6560,35,False -CTSPillarNetworkA,6561,6561,6561,1987-12-19,656.1000000000806,656.08685,2015-01-01 01:49:21,bin6561,75,False -CTSPillarNetworkA,6562,6562,6562,1987-12-20,656.2000000000806,656.1868,2015-01-01 01:49:22,bin6562,35,False -CTSPillarNetworkA,6563,6563,6563,1987-12-21,656.3000000000807,656.2868,2015-01-01 01:49:23,bin6563,75,False -CTSPillarNetworkA,6564,6564,6564,1987-12-22,656.4000000000807,656.3868,2015-01-01 01:49:24,bin6564,35,False -CTSPillarNetworkA,6565,6565,6565,1987-12-23,656.5000000000807,656.48676,2015-01-01 01:49:25,bin6565,75,False -CTSPillarNetworkA,6566,6566,6566,1987-12-24,656.6000000000807,656.58673,2015-01-01 01:49:26,bin6566,35,False -CTSPillarNetworkA,6567,6567,6567,1987-12-25,656.7000000000808,656.6867,2015-01-01 01:49:27,bin6567,75,False -CTSPillarNetworkA,6568,6568,6568,1987-12-26,656.8000000000808,656.7867,2015-01-01 01:49:28,bin6568,35,False -CTSPillarNetworkA,6569,6569,6569,1987-12-27,656.9000000000808,656.88666,2015-01-01 01:49:29,bin6569,75,False -CTSPillarNetworkA,6570,6570,6570,1987-12-28,657.0000000000808,656.98663,2015-01-01 01:49:30,bin6570,35,False -CTSPillarNetworkA,6571,6571,6571,1987-12-29,657.1000000000809,657.0866,2015-01-01 01:49:31,bin6571,75,False -CTSPillarNetworkA,6572,6572,6572,1987-12-30,657.2000000000809,657.1866,2015-01-01 01:49:32,bin6572,35,False -CTSPillarNetworkA,6573,6573,6573,1987-12-31,657.3000000000809,657.28656,2015-01-01 01:49:33,bin6573,75,False -CTSPillarNetworkA,6574,6574,6574,1988-01-01,657.4000000000809,657.38654,2015-01-01 01:49:34,bin6574,35,False -CTSPillarNetworkA,6575,6575,6575,1988-01-02,657.500000000081,657.4865,2015-01-01 01:49:35,bin6575,75,False -CTSPillarNetworkA,6576,6576,6576,1988-01-03,657.600000000081,657.5865,2015-01-01 01:49:36,bin6576,35,False -CTSPillarNetworkA,6577,6577,6577,1988-01-04,657.700000000081,657.68646,2015-01-01 01:49:37,bin6577,75,False -CTSPillarNetworkA,6578,6578,6578,1988-01-05,657.800000000081,657.78644,2015-01-01 01:49:38,bin6578,35,False -CTSPillarNetworkA,6579,6579,6579,1988-01-06,657.900000000081,657.8864,2015-01-01 01:49:39,bin6579,75,False -CTSPillarNetworkA,6580,6580,6580,1988-01-07,658.0000000000811,657.9864,2015-01-01 01:49:40,bin6580,35,False -CTSPillarNetworkA,6581,6581,6581,1988-01-08,658.1000000000811,658.08636,2015-01-01 01:49:41,bin6581,75,False -CTSPillarNetworkA,6582,6582,6582,1988-01-09,658.2000000000811,658.18634,2015-01-01 01:49:42,bin6582,35,False -CTSPillarNetworkA,6583,6583,6583,1988-01-10,658.3000000000811,658.2863,2015-01-01 01:49:43,bin6583,75,False -CTSPillarNetworkA,6584,6584,6584,1988-01-11,658.4000000000811,658.3863,2015-01-01 01:49:44,bin6584,35,False -CTSPillarNetworkA,6585,6585,6585,1988-01-12,658.5000000000812,658.48627,2015-01-01 01:49:45,bin6585,75,False -CTSPillarNetworkA,6586,6586,6586,1988-01-13,658.6000000000812,658.58624,2015-01-01 01:49:46,bin6586,35,False -CTSPillarNetworkA,6587,6587,6587,1988-01-14,658.7000000000812,658.6862,2015-01-01 01:49:47,bin6587,75,False -CTSPillarNetworkA,6588,6588,6588,1988-01-15,658.8000000000812,658.7862,2015-01-01 01:49:48,bin6588,35,False -CTSPillarNetworkA,6589,6589,6589,1988-01-16,658.9000000000813,658.88617,2015-01-01 01:49:49,bin6589,75,False -CTSPillarNetworkA,6590,6590,6590,1988-01-17,659.0000000000813,658.98615,2015-01-01 01:49:50,bin6590,35,False -CTSPillarNetworkA,6591,6591,6591,1988-01-18,659.1000000000813,659.0861,2015-01-01 01:49:51,bin6591,75,False -CTSPillarNetworkA,6592,6592,6592,1988-01-19,659.2000000000813,659.1861,2015-01-01 01:49:52,bin6592,35,False -CTSPillarNetworkA,6593,6593,6593,1988-01-20,659.3000000000814,659.2861,2015-01-01 01:49:53,bin6593,75,False -CTSPillarNetworkA,6594,6594,6594,1988-01-21,659.4000000000814,659.38605,2015-01-01 01:49:54,bin6594,35,False -CTSPillarNetworkA,6595,6595,6595,1988-01-22,659.5000000000814,659.486,2015-01-01 01:49:55,bin6595,75,False -CTSPillarNetworkA,6596,6596,6596,1988-01-23,659.6000000000814,659.586,2015-01-01 01:49:56,bin6596,35,False -CTSPillarNetworkA,6597,6597,6597,1988-01-24,659.7000000000814,659.686,2015-01-01 01:49:57,bin6597,75,False -CTSPillarNetworkA,6598,6598,6598,1988-01-25,659.8000000000815,659.78595,2015-01-01 01:49:58,bin6598,35,False -CTSPillarNetworkA,6599,6599,6599,1988-01-26,659.9000000000815,659.8859,2015-01-01 01:49:59,bin6599,75,False -CTSPillarNetworkA,6600,6600,6600,1988-01-27,660.0000000000815,659.9859,2015-01-01 01:50:00,bin6600,35,False -CTSPillarNetworkA,6601,6601,6601,1988-01-28,660.1000000000815,660.0859,2015-01-01 01:50:01,bin6601,75,False -CTSPillarNetworkA,6602,6602,6602,1988-01-29,660.2000000000816,660.18585,2015-01-01 01:50:02,bin6602,35,False -CTSPillarNetworkA,6603,6603,6603,1988-01-30,660.3000000000816,660.2858,2015-01-01 01:50:03,bin6603,75,False -CTSPillarNetworkA,6604,6604,6604,1988-01-31,660.4000000000816,660.3858,2015-01-01 01:50:04,bin6604,35,False -CTSPillarNetworkA,6605,6605,6605,1988-02-01,660.5000000000816,660.4858,2015-01-01 01:50:05,bin6605,75,False -CTSPillarNetworkA,6606,6606,6606,1988-02-02,660.6000000000816,660.58575,2015-01-01 01:50:06,bin6606,35,False -CTSPillarNetworkA,6607,6607,6607,1988-02-03,660.7000000000817,660.6857,2015-01-01 01:50:07,bin6607,75,False -CTSPillarNetworkA,6608,6608,6608,1988-02-04,660.8000000000817,660.7857,2015-01-01 01:50:08,bin6608,35,False -CTSPillarNetworkA,6609,6609,6609,1988-02-05,660.9000000000817,660.8857,2015-01-01 01:50:09,bin6609,75,False -CTSPillarNetworkA,6610,6610,6610,1988-02-06,661.0000000000817,660.98566,2015-01-01 01:50:10,bin6610,35,False -CTSPillarNetworkA,6611,6611,6611,1988-02-07,661.1000000000818,661.08563,2015-01-01 01:50:11,bin6611,75,False -CTSPillarNetworkA,6612,6612,6612,1988-02-08,661.2000000000818,661.1856,2015-01-01 01:50:12,bin6612,35,False -CTSPillarNetworkA,6613,6613,6613,1988-02-09,661.3000000000818,661.2856,2015-01-01 01:50:13,bin6613,75,False -CTSPillarNetworkA,6614,6614,6614,1988-02-10,661.4000000000818,661.38556,2015-01-01 01:50:14,bin6614,35,False -CTSPillarNetworkA,6615,6615,6615,1988-02-11,661.5000000000819,661.48553,2015-01-01 01:50:15,bin6615,75,False -CTSPillarNetworkA,6616,6616,6616,1988-02-12,661.6000000000819,661.5855,2015-01-01 01:50:16,bin6616,35,False -CTSPillarNetworkA,6617,6617,6617,1988-02-13,661.7000000000819,661.6855,2015-01-01 01:50:17,bin6617,75,False -CTSPillarNetworkA,6618,6618,6618,1988-02-14,661.8000000000819,661.78546,2015-01-01 01:50:18,bin6618,35,False -CTSPillarNetworkA,6619,6619,6619,1988-02-15,661.900000000082,661.88544,2015-01-01 01:50:19,bin6619,75,False -CTSPillarNetworkA,6620,6620,6620,1988-02-16,662.000000000082,661.9854,2015-01-01 01:50:20,bin6620,35,False -CTSPillarNetworkA,6621,6621,6621,1988-02-17,662.100000000082,662.0854,2015-01-01 01:50:21,bin6621,75,False -CTSPillarNetworkA,6622,6622,6622,1988-02-18,662.200000000082,662.18536,2015-01-01 01:50:22,bin6622,35,False -CTSPillarNetworkA,6623,6623,6623,1988-02-19,662.300000000082,662.28534,2015-01-01 01:50:23,bin6623,75,False -CTSPillarNetworkA,6624,6624,6624,1988-02-20,662.4000000000821,662.3853,2015-01-01 01:50:24,bin6624,35,False -CTSPillarNetworkA,6625,6625,6625,1988-02-21,662.5000000000821,662.4853,2015-01-01 01:50:25,bin6625,75,False -CTSPillarNetworkA,6626,6626,6626,1988-02-22,662.6000000000821,662.58527,2015-01-01 01:50:26,bin6626,35,False -CTSPillarNetworkA,6627,6627,6627,1988-02-23,662.7000000000821,662.68524,2015-01-01 01:50:27,bin6627,75,False -CTSPillarNetworkA,6628,6628,6628,1988-02-24,662.8000000000822,662.7852,2015-01-01 01:50:28,bin6628,35,False -CTSPillarNetworkA,6629,6629,6629,1988-02-25,662.9000000000822,662.8852,2015-01-01 01:50:29,bin6629,75,False -CTSPillarNetworkA,6630,6630,6630,1988-02-26,663.0000000000822,662.98517,2015-01-01 01:50:30,bin6630,35,False -CTSPillarNetworkA,6631,6631,6631,1988-02-27,663.1000000000822,663.08514,2015-01-01 01:50:31,bin6631,75,False -CTSPillarNetworkA,6632,6632,6632,1988-02-28,663.2000000000822,663.1851,2015-01-01 01:50:32,bin6632,35,False -CTSPillarNetworkA,6633,6633,6633,1988-02-29,663.3000000000823,663.2851,2015-01-01 01:50:33,bin6633,75,False -CTSPillarNetworkA,6634,6634,6634,1988-03-01,663.4000000000823,663.3851,2015-01-01 01:50:34,bin6634,35,False -CTSPillarNetworkA,6635,6635,6635,1988-03-02,663.5000000000823,663.48505,2015-01-01 01:50:35,bin6635,75,False -CTSPillarNetworkA,6636,6636,6636,1988-03-03,663.6000000000823,663.585,2015-01-01 01:50:36,bin6636,35,False -CTSPillarNetworkA,6637,6637,6637,1988-03-04,663.7000000000824,663.685,2015-01-01 01:50:37,bin6637,75,False -CTSPillarNetworkA,6638,6638,6638,1988-03-05,663.8000000000824,663.785,2015-01-01 01:50:38,bin6638,35,False -CTSPillarNetworkA,6639,6639,6639,1988-03-06,663.9000000000824,663.88495,2015-01-01 01:50:39,bin6639,75,False -CTSPillarNetworkA,6640,6640,6640,1988-03-07,664.0000000000824,663.9849,2015-01-01 01:50:40,bin6640,35,False -CTSPillarNetworkA,6641,6641,6641,1988-03-08,664.1000000000824,664.0849,2015-01-01 01:50:41,bin6641,75,False -CTSPillarNetworkA,6642,6642,6642,1988-03-09,664.2000000000825,664.1849,2015-01-01 01:50:42,bin6642,35,False -CTSPillarNetworkA,6643,6643,6643,1988-03-10,664.3000000000825,664.28485,2015-01-01 01:50:43,bin6643,75,False -CTSPillarNetworkA,6644,6644,6644,1988-03-11,664.4000000000825,664.3848,2015-01-01 01:50:44,bin6644,35,False -CTSPillarNetworkA,6645,6645,6645,1988-03-12,664.5000000000825,664.4848,2015-01-01 01:50:45,bin6645,75,False -CTSPillarNetworkA,6646,6646,6646,1988-03-13,664.6000000000826,664.5848,2015-01-01 01:50:46,bin6646,35,False -CTSPillarNetworkA,6647,6647,6647,1988-03-14,664.7000000000826,664.68475,2015-01-01 01:50:47,bin6647,75,False -CTSPillarNetworkA,6648,6648,6648,1988-03-15,664.8000000000826,664.7847,2015-01-01 01:50:48,bin6648,35,False -CTSPillarNetworkA,6649,6649,6649,1988-03-16,664.9000000000826,664.8847,2015-01-01 01:50:49,bin6649,75,False -CTSPillarNetworkA,6650,6650,6650,1988-03-17,665.0000000000827,664.9847,2015-01-01 01:50:50,bin6650,35,False -CTSPillarNetworkA,6651,6651,6651,1988-03-18,665.1000000000827,665.08466,2015-01-01 01:50:51,bin6651,75,False -CTSPillarNetworkA,6652,6652,6652,1988-03-19,665.2000000000827,665.18463,2015-01-01 01:50:52,bin6652,35,False -CTSPillarNetworkA,6653,6653,6653,1988-03-20,665.3000000000827,665.2846,2015-01-01 01:50:53,bin6653,75,False -CTSPillarNetworkA,6654,6654,6654,1988-03-21,665.4000000000827,665.3846,2015-01-01 01:50:54,bin6654,35,False -CTSPillarNetworkA,6655,6655,6655,1988-03-22,665.5000000000828,665.48456,2015-01-01 01:50:55,bin6655,75,False -CTSPillarNetworkA,6656,6656,6656,1988-03-23,665.6000000000828,665.58453,2015-01-01 01:50:56,bin6656,35,False -CTSPillarNetworkA,6657,6657,6657,1988-03-24,665.7000000000828,665.6845,2015-01-01 01:50:57,bin6657,75,False -CTSPillarNetworkA,6658,6658,6658,1988-03-25,665.8000000000828,665.7845,2015-01-01 01:50:58,bin6658,35,False -CTSPillarNetworkA,6659,6659,6659,1988-03-26,665.9000000000829,665.88446,2015-01-01 01:50:59,bin6659,75,False -CTSPillarNetworkA,6660,6660,6660,1988-03-27,666.0000000000829,665.98444,2015-01-01 01:51:00,bin6660,35,False -CTSPillarNetworkA,6661,6661,6661,1988-03-28,666.1000000000829,666.0844,2015-01-01 01:51:01,bin6661,75,False -CTSPillarNetworkA,6662,6662,6662,1988-03-29,666.2000000000829,666.1844,2015-01-01 01:51:02,bin6662,35,False -CTSPillarNetworkA,6663,6663,6663,1988-03-30,666.300000000083,666.28436,2015-01-01 01:51:03,bin6663,75,False -CTSPillarNetworkA,6664,6664,6664,1988-03-31,666.400000000083,666.38434,2015-01-01 01:51:04,bin6664,35,False -CTSPillarNetworkA,6665,6665,6665,1988-04-01,666.500000000083,666.4843,2015-01-01 01:51:05,bin6665,75,False -CTSPillarNetworkA,6666,6666,6666,1988-04-02,666.600000000083,666.5843,2015-01-01 01:51:06,bin6666,35,False -CTSPillarNetworkA,6667,6667,6667,1988-04-03,666.700000000083,666.68427,2015-01-01 01:51:07,bin6667,75,False -CTSPillarNetworkA,6668,6668,6668,1988-04-04,666.8000000000831,666.78424,2015-01-01 01:51:08,bin6668,35,False -CTSPillarNetworkA,6669,6669,6669,1988-04-05,666.9000000000831,666.8842,2015-01-01 01:51:09,bin6669,75,False -CTSPillarNetworkA,6670,6670,6670,1988-04-06,667.0000000000831,666.9842,2015-01-01 01:51:10,bin6670,35,False -CTSPillarNetworkA,6671,6671,6671,1988-04-07,667.1000000000831,667.08417,2015-01-01 01:51:11,bin6671,75,False -CTSPillarNetworkA,6672,6672,6672,1988-04-08,667.2000000000832,667.18414,2015-01-01 01:51:12,bin6672,35,False -CTSPillarNetworkA,6673,6673,6673,1988-04-09,667.3000000000832,667.2841,2015-01-01 01:51:13,bin6673,75,False -CTSPillarNetworkA,6674,6674,6674,1988-04-10,667.4000000000832,667.3841,2015-01-01 01:51:14,bin6674,35,False -CTSPillarNetworkA,6675,6675,6675,1988-04-11,667.5000000000832,667.4841,2015-01-01 01:51:15,bin6675,75,False -CTSPillarNetworkA,6676,6676,6676,1988-04-12,667.6000000000832,667.58405,2015-01-01 01:51:16,bin6676,35,False -CTSPillarNetworkA,6677,6677,6677,1988-04-13,667.7000000000833,667.684,2015-01-01 01:51:17,bin6677,75,False -CTSPillarNetworkA,6678,6678,6678,1988-04-14,667.8000000000833,667.784,2015-01-01 01:51:18,bin6678,35,False -CTSPillarNetworkA,6679,6679,6679,1988-04-15,667.9000000000833,667.884,2015-01-01 01:51:19,bin6679,75,False -CTSPillarNetworkA,6680,6680,6680,1988-04-16,668.0000000000833,667.98395,2015-01-01 01:51:20,bin6680,35,False -CTSPillarNetworkA,6681,6681,6681,1988-04-17,668.1000000000834,668.0839,2015-01-01 01:51:21,bin6681,75,False -CTSPillarNetworkA,6682,6682,6682,1988-04-18,668.2000000000834,668.1839,2015-01-01 01:51:22,bin6682,35,False -CTSPillarNetworkA,6683,6683,6683,1988-04-19,668.3000000000834,668.2839,2015-01-01 01:51:23,bin6683,75,False -CTSPillarNetworkA,6684,6684,6684,1988-04-20,668.4000000000834,668.38385,2015-01-01 01:51:24,bin6684,35,False -CTSPillarNetworkA,6685,6685,6685,1988-04-21,668.5000000000834,668.4838,2015-01-01 01:51:25,bin6685,75,False -CTSPillarNetworkA,6686,6686,6686,1988-04-22,668.6000000000835,668.5838,2015-01-01 01:51:26,bin6686,35,False -CTSPillarNetworkA,6687,6687,6687,1988-04-23,668.7000000000835,668.6838,2015-01-01 01:51:27,bin6687,75,False -CTSPillarNetworkA,6688,6688,6688,1988-04-24,668.8000000000835,668.78375,2015-01-01 01:51:28,bin6688,35,False -CTSPillarNetworkA,6689,6689,6689,1988-04-25,668.9000000000835,668.8837,2015-01-01 01:51:29,bin6689,75,False -CTSPillarNetworkA,6690,6690,6690,1988-04-26,669.0000000000836,668.9837,2015-01-01 01:51:30,bin6690,35,False -CTSPillarNetworkA,6691,6691,6691,1988-04-27,669.1000000000836,669.0837,2015-01-01 01:51:31,bin6691,75,False -CTSPillarNetworkA,6692,6692,6692,1988-04-28,669.2000000000836,669.18365,2015-01-01 01:51:32,bin6692,35,False -CTSPillarNetworkA,6693,6693,6693,1988-04-29,669.3000000000836,669.2836,2015-01-01 01:51:33,bin6693,75,False -CTSPillarNetworkA,6694,6694,6694,1988-04-30,669.4000000000837,669.3836,2015-01-01 01:51:34,bin6694,35,False -CTSPillarNetworkA,6695,6695,6695,1988-05-01,669.5000000000837,669.4836,2015-01-01 01:51:35,bin6695,75,False -CTSPillarNetworkA,6696,6696,6696,1988-05-02,669.6000000000837,669.58356,2015-01-01 01:51:36,bin6696,35,False -CTSPillarNetworkA,6697,6697,6697,1988-05-03,669.7000000000837,669.68353,2015-01-01 01:51:37,bin6697,75,False -CTSPillarNetworkA,6698,6698,6698,1988-05-04,669.8000000000837,669.7835,2015-01-01 01:51:38,bin6698,35,False -CTSPillarNetworkA,6699,6699,6699,1988-05-05,669.9000000000838,669.8835,2015-01-01 01:51:39,bin6699,75,False -CTSPillarNetworkA,6700,6700,6700,1988-05-06,670.0000000000838,669.98346,2015-01-01 01:51:40,bin6700,35,False -CTSPillarNetworkA,6701,6701,6701,1988-05-07,670.1000000000838,670.08344,2015-01-01 01:51:41,bin6701,75,False -CTSPillarNetworkA,6702,6702,6702,1988-05-08,670.2000000000838,670.1834,2015-01-01 01:51:42,bin6702,35,False -CTSPillarNetworkA,6703,6703,6703,1988-05-09,670.3000000000839,670.2834,2015-01-01 01:51:43,bin6703,75,False -CTSPillarNetworkA,6704,6704,6704,1988-05-10,670.4000000000839,670.38336,2015-01-01 01:51:44,bin6704,35,False -CTSPillarNetworkA,6705,6705,6705,1988-05-11,670.5000000000839,670.48334,2015-01-01 01:51:45,bin6705,75,False -CTSPillarNetworkA,6706,6706,6706,1988-05-12,670.6000000000839,670.5833,2015-01-01 01:51:46,bin6706,35,False -CTSPillarNetworkA,6707,6707,6707,1988-05-13,670.700000000084,670.6833,2015-01-01 01:51:47,bin6707,75,False -CTSPillarNetworkA,6708,6708,6708,1988-05-14,670.800000000084,670.78326,2015-01-01 01:51:48,bin6708,35,False -CTSPillarNetworkA,6709,6709,6709,1988-05-15,670.900000000084,670.88324,2015-01-01 01:51:49,bin6709,75,False -CTSPillarNetworkA,6710,6710,6710,1988-05-16,671.000000000084,670.9832,2015-01-01 01:51:50,bin6710,35,False -CTSPillarNetworkA,6711,6711,6711,1988-05-17,671.100000000084,671.0832,2015-01-01 01:51:51,bin6711,75,False -CTSPillarNetworkA,6712,6712,6712,1988-05-18,671.2000000000841,671.18317,2015-01-01 01:51:52,bin6712,35,False -CTSPillarNetworkA,6713,6713,6713,1988-05-19,671.3000000000841,671.28314,2015-01-01 01:51:53,bin6713,75,False -CTSPillarNetworkA,6714,6714,6714,1988-05-20,671.4000000000841,671.3831,2015-01-01 01:51:54,bin6714,35,False -CTSPillarNetworkA,6715,6715,6715,1988-05-21,671.5000000000841,671.4831,2015-01-01 01:51:55,bin6715,75,False -CTSPillarNetworkA,6716,6716,6716,1988-05-22,671.6000000000842,671.58307,2015-01-01 01:51:56,bin6716,35,False -CTSPillarNetworkA,6717,6717,6717,1988-05-23,671.7000000000842,671.68304,2015-01-01 01:51:57,bin6717,75,False -CTSPillarNetworkA,6718,6718,6718,1988-05-24,671.8000000000842,671.783,2015-01-01 01:51:58,bin6718,35,False -CTSPillarNetworkA,6719,6719,6719,1988-05-25,671.9000000000842,671.883,2015-01-01 01:51:59,bin6719,75,False -CTSPillarNetworkA,6720,6720,6720,1988-05-26,672.0000000000842,671.983,2015-01-01 01:52:00,bin6720,35,False -CTSPillarNetworkA,6721,6721,6721,1988-05-27,672.1000000000843,672.08295,2015-01-01 01:52:01,bin6721,75,False -CTSPillarNetworkA,6722,6722,6722,1988-05-28,672.2000000000843,672.1829,2015-01-01 01:52:02,bin6722,35,False -CTSPillarNetworkA,6723,6723,6723,1988-05-29,672.3000000000843,672.2829,2015-01-01 01:52:03,bin6723,75,False -CTSPillarNetworkA,6724,6724,6724,1988-05-30,672.4000000000843,672.3829,2015-01-01 01:52:04,bin6724,35,False -CTSPillarNetworkA,6725,6725,6725,1988-05-31,672.5000000000844,672.48285,2015-01-01 01:52:05,bin6725,75,False -CTSPillarNetworkA,6726,6726,6726,1988-06-01,672.6000000000844,672.5828,2015-01-01 01:52:06,bin6726,35,False -CTSPillarNetworkA,6727,6727,6727,1988-06-02,672.7000000000844,672.6828,2015-01-01 01:52:07,bin6727,75,False -CTSPillarNetworkA,6728,6728,6728,1988-06-03,672.8000000000844,672.7828,2015-01-01 01:52:08,bin6728,35,False -CTSPillarNetworkA,6729,6729,6729,1988-06-04,672.9000000000844,672.88275,2015-01-01 01:52:09,bin6729,75,False -CTSPillarNetworkA,6730,6730,6730,1988-06-05,673.0000000000845,672.9827,2015-01-01 01:52:10,bin6730,35,False -CTSPillarNetworkA,6731,6731,6731,1988-06-06,673.1000000000845,673.0827,2015-01-01 01:52:11,bin6731,75,False -CTSPillarNetworkA,6732,6732,6732,1988-06-07,673.2000000000845,673.1827,2015-01-01 01:52:12,bin6732,35,False -CTSPillarNetworkA,6733,6733,6733,1988-06-08,673.3000000000845,673.28265,2015-01-01 01:52:13,bin6733,75,False -CTSPillarNetworkA,6734,6734,6734,1988-06-09,673.4000000000846,673.3826,2015-01-01 01:52:14,bin6734,35,False -CTSPillarNetworkA,6735,6735,6735,1988-06-10,673.5000000000846,673.4826,2015-01-01 01:52:15,bin6735,75,False -CTSPillarNetworkA,6736,6736,6736,1988-06-11,673.6000000000846,673.5826,2015-01-01 01:52:16,bin6736,35,False -CTSPillarNetworkA,6737,6737,6737,1988-06-12,673.7000000000846,673.68256,2015-01-01 01:52:17,bin6737,75,False -CTSPillarNetworkA,6738,6738,6738,1988-06-13,673.8000000000847,673.78253,2015-01-01 01:52:18,bin6738,35,False -CTSPillarNetworkA,6739,6739,6739,1988-06-14,673.9000000000847,673.8825,2015-01-01 01:52:19,bin6739,75,False -CTSPillarNetworkA,6740,6740,6740,1988-06-15,674.0000000000847,673.9825,2015-01-01 01:52:20,bin6740,35,False -CTSPillarNetworkA,6741,6741,6741,1988-06-16,674.1000000000847,674.08246,2015-01-01 01:52:21,bin6741,75,False -CTSPillarNetworkA,6742,6742,6742,1988-06-17,674.2000000000847,674.18243,2015-01-01 01:52:22,bin6742,35,False -CTSPillarNetworkA,6743,6743,6743,1988-06-18,674.3000000000848,674.2824,2015-01-01 01:52:23,bin6743,75,False -CTSPillarNetworkA,6744,6744,6744,1988-06-19,674.4000000000848,674.3824,2015-01-01 01:52:24,bin6744,35,False -CTSPillarNetworkA,6745,6745,6745,1988-06-20,674.5000000000848,674.48236,2015-01-01 01:52:25,bin6745,75,False -CTSPillarNetworkA,6746,6746,6746,1988-06-21,674.6000000000848,674.58234,2015-01-01 01:52:26,bin6746,35,False -CTSPillarNetworkA,6747,6747,6747,1988-06-22,674.7000000000849,674.6823,2015-01-01 01:52:27,bin6747,75,False -CTSPillarNetworkA,6748,6748,6748,1988-06-23,674.8000000000849,674.7823,2015-01-01 01:52:28,bin6748,35,False -CTSPillarNetworkA,6749,6749,6749,1988-06-24,674.9000000000849,674.88226,2015-01-01 01:52:29,bin6749,75,False -CTSPillarNetworkA,6750,6750,6750,1988-06-25,675.0000000000849,674.98224,2015-01-01 01:52:30,bin6750,35,False -CTSPillarNetworkA,6751,6751,6751,1988-06-26,675.100000000085,675.0822,2015-01-01 01:52:31,bin6751,75,False -CTSPillarNetworkA,6752,6752,6752,1988-06-27,675.200000000085,675.1822,2015-01-01 01:52:32,bin6752,35,False -CTSPillarNetworkA,6753,6753,6753,1988-06-28,675.300000000085,675.28217,2015-01-01 01:52:33,bin6753,75,False -CTSPillarNetworkA,6754,6754,6754,1988-06-29,675.400000000085,675.38214,2015-01-01 01:52:34,bin6754,35,False -CTSPillarNetworkA,6755,6755,6755,1988-06-30,675.500000000085,675.4821,2015-01-01 01:52:35,bin6755,75,False -CTSPillarNetworkA,6756,6756,6756,1988-07-01,675.6000000000851,675.5821,2015-01-01 01:52:36,bin6756,35,False -CTSPillarNetworkA,6757,6757,6757,1988-07-02,675.7000000000851,675.68207,2015-01-01 01:52:37,bin6757,75,False -CTSPillarNetworkA,6758,6758,6758,1988-07-03,675.8000000000851,675.78204,2015-01-01 01:52:38,bin6758,35,False -CTSPillarNetworkA,6759,6759,6759,1988-07-04,675.9000000000851,675.882,2015-01-01 01:52:39,bin6759,75,False -CTSPillarNetworkA,6760,6760,6760,1988-07-05,676.0000000000852,675.982,2015-01-01 01:52:40,bin6760,35,False -CTSPillarNetworkA,6761,6761,6761,1988-07-06,676.1000000000852,676.082,2015-01-01 01:52:41,bin6761,75,False -CTSPillarNetworkA,6762,6762,6762,1988-07-07,676.2000000000852,676.18195,2015-01-01 01:52:42,bin6762,35,False -CTSPillarNetworkA,6763,6763,6763,1988-07-08,676.3000000000852,676.2819,2015-01-01 01:52:43,bin6763,75,False -CTSPillarNetworkA,6764,6764,6764,1988-07-09,676.4000000000852,676.3819,2015-01-01 01:52:44,bin6764,35,False -CTSPillarNetworkA,6765,6765,6765,1988-07-10,676.5000000000853,676.4819,2015-01-01 01:52:45,bin6765,75,False -CTSPillarNetworkA,6766,6766,6766,1988-07-11,676.6000000000853,676.58185,2015-01-01 01:52:46,bin6766,35,False -CTSPillarNetworkA,6767,6767,6767,1988-07-12,676.7000000000853,676.6818,2015-01-01 01:52:47,bin6767,75,False -CTSPillarNetworkA,6768,6768,6768,1988-07-13,676.8000000000853,676.7818,2015-01-01 01:52:48,bin6768,35,False -CTSPillarNetworkA,6769,6769,6769,1988-07-14,676.9000000000854,676.8818,2015-01-01 01:52:49,bin6769,75,False -CTSPillarNetworkA,6770,6770,6770,1988-07-15,677.0000000000854,676.98175,2015-01-01 01:52:50,bin6770,35,False -CTSPillarNetworkA,6771,6771,6771,1988-07-16,677.1000000000854,677.0817,2015-01-01 01:52:51,bin6771,75,False -CTSPillarNetworkA,6772,6772,6772,1988-07-17,677.2000000000854,677.1817,2015-01-01 01:52:52,bin6772,35,False -CTSPillarNetworkA,6773,6773,6773,1988-07-18,677.3000000000854,677.2817,2015-01-01 01:52:53,bin6773,75,False -CTSPillarNetworkA,6774,6774,6774,1988-07-19,677.4000000000855,677.38165,2015-01-01 01:52:54,bin6774,35,False -CTSPillarNetworkA,6775,6775,6775,1988-07-20,677.5000000000855,677.4816,2015-01-01 01:52:55,bin6775,75,False -CTSPillarNetworkA,6776,6776,6776,1988-07-21,677.6000000000855,677.5816,2015-01-01 01:52:56,bin6776,35,False -CTSPillarNetworkA,6777,6777,6777,1988-07-22,677.7000000000855,677.6816,2015-01-01 01:52:57,bin6777,75,False -CTSPillarNetworkA,6778,6778,6778,1988-07-23,677.8000000000856,677.78156,2015-01-01 01:52:58,bin6778,35,False -CTSPillarNetworkA,6779,6779,6779,1988-07-24,677.9000000000856,677.88153,2015-01-01 01:52:59,bin6779,75,False -CTSPillarNetworkA,6780,6780,6780,1988-07-25,678.0000000000856,677.9815,2015-01-01 01:53:00,bin6780,35,False -CTSPillarNetworkA,6781,6781,6781,1988-07-26,678.1000000000856,678.0815,2015-01-01 01:53:01,bin6781,75,False -CTSPillarNetworkA,6782,6782,6782,1988-07-27,678.2000000000857,678.18146,2015-01-01 01:53:02,bin6782,35,False -CTSPillarNetworkA,6783,6783,6783,1988-07-28,678.3000000000857,678.28143,2015-01-01 01:53:03,bin6783,75,False -CTSPillarNetworkA,6784,6784,6784,1988-07-29,678.4000000000857,678.3814,2015-01-01 01:53:04,bin6784,35,False -CTSPillarNetworkA,6785,6785,6785,1988-07-30,678.5000000000857,678.4814,2015-01-01 01:53:05,bin6785,75,False -CTSPillarNetworkA,6786,6786,6786,1988-07-31,678.6000000000857,678.58136,2015-01-01 01:53:06,bin6786,35,False -CTSPillarNetworkA,6787,6787,6787,1988-08-01,678.7000000000858,678.68134,2015-01-01 01:53:07,bin6787,75,False -CTSPillarNetworkA,6788,6788,6788,1988-08-02,678.8000000000858,678.7813,2015-01-01 01:53:08,bin6788,35,False -CTSPillarNetworkA,6789,6789,6789,1988-08-03,678.9000000000858,678.8813,2015-01-01 01:53:09,bin6789,75,False -CTSPillarNetworkA,6790,6790,6790,1988-08-04,679.0000000000858,678.98126,2015-01-01 01:53:10,bin6790,35,False -CTSPillarNetworkA,6791,6791,6791,1988-08-05,679.1000000000859,679.08124,2015-01-01 01:53:11,bin6791,75,False -CTSPillarNetworkA,6792,6792,6792,1988-08-06,679.2000000000859,679.1812,2015-01-01 01:53:12,bin6792,35,False -CTSPillarNetworkA,6793,6793,6793,1988-08-07,679.3000000000859,679.2812,2015-01-01 01:53:13,bin6793,75,False -CTSPillarNetworkA,6794,6794,6794,1988-08-08,679.4000000000859,679.38116,2015-01-01 01:53:14,bin6794,35,False -CTSPillarNetworkA,6795,6795,6795,1988-08-09,679.500000000086,679.48114,2015-01-01 01:53:15,bin6795,75,False -CTSPillarNetworkA,6796,6796,6796,1988-08-10,679.600000000086,679.5811,2015-01-01 01:53:16,bin6796,35,False -CTSPillarNetworkA,6797,6797,6797,1988-08-11,679.700000000086,679.6811,2015-01-01 01:53:17,bin6797,75,False -CTSPillarNetworkA,6798,6798,6798,1988-08-12,679.800000000086,679.78107,2015-01-01 01:53:18,bin6798,35,False -CTSPillarNetworkA,6799,6799,6799,1988-08-13,679.900000000086,679.88104,2015-01-01 01:53:19,bin6799,75,False -CTSPillarNetworkA,6800,6800,6800,1988-08-14,680.0000000000861,679.981,2015-01-01 01:53:20,bin6800,35,False -CTSPillarNetworkA,6801,6801,6801,1988-08-15,680.1000000000861,680.081,2015-01-01 01:53:21,bin6801,75,False -CTSPillarNetworkA,6802,6802,6802,1988-08-16,680.2000000000861,680.18097,2015-01-01 01:53:22,bin6802,35,False -CTSPillarNetworkA,6803,6803,6803,1988-08-17,680.3000000000861,680.28094,2015-01-01 01:53:23,bin6803,75,False -CTSPillarNetworkA,6804,6804,6804,1988-08-18,680.4000000000862,680.3809,2015-01-01 01:53:24,bin6804,35,False -CTSPillarNetworkA,6805,6805,6805,1988-08-19,680.5000000000862,680.4809,2015-01-01 01:53:25,bin6805,75,False -CTSPillarNetworkA,6806,6806,6806,1988-08-20,680.6000000000862,680.5809,2015-01-01 01:53:26,bin6806,35,False -CTSPillarNetworkA,6807,6807,6807,1988-08-21,680.7000000000862,680.68085,2015-01-01 01:53:27,bin6807,75,False -CTSPillarNetworkA,6808,6808,6808,1988-08-22,680.8000000000862,680.7808,2015-01-01 01:53:28,bin6808,35,False -CTSPillarNetworkA,6809,6809,6809,1988-08-23,680.9000000000863,680.8808,2015-01-01 01:53:29,bin6809,75,False -CTSPillarNetworkA,6810,6810,6810,1988-08-24,681.0000000000863,680.9808,2015-01-01 01:53:30,bin6810,35,False -CTSPillarNetworkA,6811,6811,6811,1988-08-25,681.1000000000863,681.08075,2015-01-01 01:53:31,bin6811,75,False -CTSPillarNetworkA,6812,6812,6812,1988-08-26,681.2000000000863,681.1807,2015-01-01 01:53:32,bin6812,35,False -CTSPillarNetworkA,6813,6813,6813,1988-08-27,681.3000000000864,681.2807,2015-01-01 01:53:33,bin6813,75,False -CTSPillarNetworkA,6814,6814,6814,1988-08-28,681.4000000000864,681.3807,2015-01-01 01:53:34,bin6814,35,False -CTSPillarNetworkA,6815,6815,6815,1988-08-29,681.5000000000864,681.48065,2015-01-01 01:53:35,bin6815,75,False -CTSPillarNetworkA,6816,6816,6816,1988-08-30,681.6000000000864,681.5806,2015-01-01 01:53:36,bin6816,35,False -CTSPillarNetworkA,6817,6817,6817,1988-08-31,681.7000000000864,681.6806,2015-01-01 01:53:37,bin6817,75,False -CTSPillarNetworkA,6818,6818,6818,1988-09-01,681.8000000000865,681.7806,2015-01-01 01:53:38,bin6818,35,False -CTSPillarNetworkA,6819,6819,6819,1988-09-02,681.9000000000865,681.88055,2015-01-01 01:53:39,bin6819,75,False -CTSPillarNetworkA,6820,6820,6820,1988-09-03,682.0000000000865,681.9805,2015-01-01 01:53:40,bin6820,35,False -CTSPillarNetworkA,6821,6821,6821,1988-09-04,682.1000000000865,682.0805,2015-01-01 01:53:41,bin6821,75,False -CTSPillarNetworkA,6822,6822,6822,1988-09-05,682.2000000000866,682.1805,2015-01-01 01:53:42,bin6822,35,False -CTSPillarNetworkA,6823,6823,6823,1988-09-06,682.3000000000866,682.28046,2015-01-01 01:53:43,bin6823,75,False -CTSPillarNetworkA,6824,6824,6824,1988-09-07,682.4000000000866,682.38043,2015-01-01 01:53:44,bin6824,35,False -CTSPillarNetworkA,6825,6825,6825,1988-09-08,682.5000000000866,682.4804,2015-01-01 01:53:45,bin6825,75,False -CTSPillarNetworkA,6826,6826,6826,1988-09-09,682.6000000000867,682.5804,2015-01-01 01:53:46,bin6826,35,False -CTSPillarNetworkA,6827,6827,6827,1988-09-10,682.7000000000867,682.68036,2015-01-01 01:53:47,bin6827,75,False -CTSPillarNetworkA,6828,6828,6828,1988-09-11,682.8000000000867,682.78033,2015-01-01 01:53:48,bin6828,35,False -CTSPillarNetworkA,6829,6829,6829,1988-09-12,682.9000000000867,682.8803,2015-01-01 01:53:49,bin6829,75,False -CTSPillarNetworkA,6830,6830,6830,1988-09-13,683.0000000000867,682.9803,2015-01-01 01:53:50,bin6830,35,False -CTSPillarNetworkA,6831,6831,6831,1988-09-14,683.1000000000868,683.08026,2015-01-01 01:53:51,bin6831,75,False -CTSPillarNetworkA,6832,6832,6832,1988-09-15,683.2000000000868,683.18024,2015-01-01 01:53:52,bin6832,35,False -CTSPillarNetworkA,6833,6833,6833,1988-09-16,683.3000000000868,683.2802,2015-01-01 01:53:53,bin6833,75,False -CTSPillarNetworkA,6834,6834,6834,1988-09-17,683.4000000000868,683.3802,2015-01-01 01:53:54,bin6834,35,False -CTSPillarNetworkA,6835,6835,6835,1988-09-18,683.5000000000869,683.48016,2015-01-01 01:53:55,bin6835,75,False -CTSPillarNetworkA,6836,6836,6836,1988-09-19,683.6000000000869,683.58014,2015-01-01 01:53:56,bin6836,35,False -CTSPillarNetworkA,6837,6837,6837,1988-09-20,683.7000000000869,683.6801,2015-01-01 01:53:57,bin6837,75,False -CTSPillarNetworkA,6838,6838,6838,1988-09-21,683.8000000000869,683.7801,2015-01-01 01:53:58,bin6838,35,False -CTSPillarNetworkA,6839,6839,6839,1988-09-22,683.900000000087,683.88007,2015-01-01 01:53:59,bin6839,75,False -CTSPillarNetworkA,6840,6840,6840,1988-09-23,684.000000000087,683.98004,2015-01-01 01:54:00,bin6840,35,False -CTSPillarNetworkA,6841,6841,6841,1988-09-24,684.100000000087,684.08,2015-01-01 01:54:01,bin6841,75,False -CTSPillarNetworkA,6842,6842,6842,1988-09-25,684.200000000087,684.18,2015-01-01 01:54:02,bin6842,35,False -CTSPillarNetworkA,6843,6843,6843,1988-09-26,684.300000000087,684.27997,2015-01-01 01:54:03,bin6843,75,False -CTSPillarNetworkA,6844,6844,6844,1988-09-27,684.4000000000871,684.37994,2015-01-01 01:54:04,bin6844,35,False -CTSPillarNetworkA,6845,6845,6845,1988-09-28,684.5000000000871,684.4799,2015-01-01 01:54:05,bin6845,75,False -CTSPillarNetworkA,6846,6846,6846,1988-09-29,684.6000000000871,684.5799,2015-01-01 01:54:06,bin6846,35,False -CTSPillarNetworkA,6847,6847,6847,1988-09-30,684.7000000000871,684.6799,2015-01-01 01:54:07,bin6847,75,False -CTSPillarNetworkA,6848,6848,6848,1988-10-01,684.8000000000872,684.77985,2015-01-01 01:54:08,bin6848,35,False -CTSPillarNetworkA,6849,6849,6849,1988-10-02,684.9000000000872,684.8798,2015-01-01 01:54:09,bin6849,75,False -CTSPillarNetworkA,6850,6850,6850,1988-10-03,685.0000000000872,684.9798,2015-01-01 01:54:10,bin6850,35,False -CTSPillarNetworkA,6851,6851,6851,1988-10-04,685.1000000000872,685.0798,2015-01-01 01:54:11,bin6851,75,False -CTSPillarNetworkA,6852,6852,6852,1988-10-05,685.2000000000872,685.17975,2015-01-01 01:54:12,bin6852,35,False -CTSPillarNetworkA,6853,6853,6853,1988-10-06,685.3000000000873,685.2797,2015-01-01 01:54:13,bin6853,75,False -CTSPillarNetworkA,6854,6854,6854,1988-10-07,685.4000000000873,685.3797,2015-01-01 01:54:14,bin6854,35,False -CTSPillarNetworkA,6855,6855,6855,1988-10-08,685.5000000000873,685.4797,2015-01-01 01:54:15,bin6855,75,False -CTSPillarNetworkA,6856,6856,6856,1988-10-09,685.6000000000873,685.57965,2015-01-01 01:54:16,bin6856,35,False -CTSPillarNetworkA,6857,6857,6857,1988-10-10,685.7000000000874,685.6796,2015-01-01 01:54:17,bin6857,75,False -CTSPillarNetworkA,6858,6858,6858,1988-10-11,685.8000000000874,685.7796,2015-01-01 01:54:18,bin6858,35,False -CTSPillarNetworkA,6859,6859,6859,1988-10-12,685.9000000000874,685.8796,2015-01-01 01:54:19,bin6859,75,False -CTSPillarNetworkA,6860,6860,6860,1988-10-13,686.0000000000874,685.97955,2015-01-01 01:54:20,bin6860,35,False -CTSPillarNetworkA,6861,6861,6861,1988-10-14,686.1000000000874,686.0795,2015-01-01 01:54:21,bin6861,75,False -CTSPillarNetworkA,6862,6862,6862,1988-10-15,686.2000000000875,686.1795,2015-01-01 01:54:22,bin6862,35,False -CTSPillarNetworkA,6863,6863,6863,1988-10-16,686.3000000000875,686.2795,2015-01-01 01:54:23,bin6863,75,False -CTSPillarNetworkA,6864,6864,6864,1988-10-17,686.4000000000875,686.37946,2015-01-01 01:54:24,bin6864,35,False -CTSPillarNetworkA,6865,6865,6865,1988-10-18,686.5000000000875,686.47943,2015-01-01 01:54:25,bin6865,75,False -CTSPillarNetworkA,6866,6866,6866,1988-10-19,686.6000000000876,686.5794,2015-01-01 01:54:26,bin6866,35,False -CTSPillarNetworkA,6867,6867,6867,1988-10-20,686.7000000000876,686.6794,2015-01-01 01:54:27,bin6867,75,False -CTSPillarNetworkA,6868,6868,6868,1988-10-21,686.8000000000876,686.77936,2015-01-01 01:54:28,bin6868,35,False -CTSPillarNetworkA,6869,6869,6869,1988-10-22,686.9000000000876,686.87933,2015-01-01 01:54:29,bin6869,75,False -CTSPillarNetworkA,6870,6870,6870,1988-10-23,687.0000000000877,686.9793,2015-01-01 01:54:30,bin6870,35,False -CTSPillarNetworkA,6871,6871,6871,1988-10-24,687.1000000000877,687.0793,2015-01-01 01:54:31,bin6871,75,False -CTSPillarNetworkA,6872,6872,6872,1988-10-25,687.2000000000877,687.17926,2015-01-01 01:54:32,bin6872,35,False -CTSPillarNetworkA,6873,6873,6873,1988-10-26,687.3000000000877,687.27924,2015-01-01 01:54:33,bin6873,75,False -CTSPillarNetworkA,6874,6874,6874,1988-10-27,687.4000000000877,687.3792,2015-01-01 01:54:34,bin6874,35,False -CTSPillarNetworkA,6875,6875,6875,1988-10-28,687.5000000000878,687.4792,2015-01-01 01:54:35,bin6875,75,False -CTSPillarNetworkA,6876,6876,6876,1988-10-29,687.6000000000878,687.57916,2015-01-01 01:54:36,bin6876,35,False -CTSPillarNetworkA,6877,6877,6877,1988-10-30,687.7000000000878,687.67914,2015-01-01 01:54:37,bin6877,75,False -CTSPillarNetworkA,6878,6878,6878,1988-10-31,687.8000000000878,687.7791,2015-01-01 01:54:38,bin6878,35,False -CTSPillarNetworkA,6879,6879,6879,1988-11-01,687.9000000000879,687.8791,2015-01-01 01:54:39,bin6879,75,False -CTSPillarNetworkA,6880,6880,6880,1988-11-02,688.0000000000879,687.97906,2015-01-01 01:54:40,bin6880,35,False -CTSPillarNetworkA,6881,6881,6881,1988-11-03,688.1000000000879,688.07904,2015-01-01 01:54:41,bin6881,75,False -CTSPillarNetworkA,6882,6882,6882,1988-11-04,688.2000000000879,688.179,2015-01-01 01:54:42,bin6882,35,False -CTSPillarNetworkA,6883,6883,6883,1988-11-05,688.300000000088,688.279,2015-01-01 01:54:43,bin6883,75,False -CTSPillarNetworkA,6884,6884,6884,1988-11-06,688.400000000088,688.37897,2015-01-01 01:54:44,bin6884,35,False -CTSPillarNetworkA,6885,6885,6885,1988-11-07,688.500000000088,688.47894,2015-01-01 01:54:45,bin6885,75,False -CTSPillarNetworkA,6886,6886,6886,1988-11-08,688.600000000088,688.5789,2015-01-01 01:54:46,bin6886,35,False -CTSPillarNetworkA,6887,6887,6887,1988-11-09,688.700000000088,688.6789,2015-01-01 01:54:47,bin6887,75,False -CTSPillarNetworkA,6888,6888,6888,1988-11-10,688.8000000000881,688.7789,2015-01-01 01:54:48,bin6888,35,False -CTSPillarNetworkA,6889,6889,6889,1988-11-11,688.9000000000881,688.87885,2015-01-01 01:54:49,bin6889,75,False -CTSPillarNetworkA,6890,6890,6890,1988-11-12,689.0000000000881,688.9788,2015-01-01 01:54:50,bin6890,35,False -CTSPillarNetworkA,6891,6891,6891,1988-11-13,689.1000000000881,689.0788,2015-01-01 01:54:51,bin6891,75,False -CTSPillarNetworkA,6892,6892,6892,1988-11-14,689.2000000000882,689.1788,2015-01-01 01:54:52,bin6892,35,False -CTSPillarNetworkA,6893,6893,6893,1988-11-15,689.3000000000882,689.27875,2015-01-01 01:54:53,bin6893,75,False -CTSPillarNetworkA,6894,6894,6894,1988-11-16,689.4000000000882,689.3787,2015-01-01 01:54:54,bin6894,35,False -CTSPillarNetworkA,6895,6895,6895,1988-11-17,689.5000000000882,689.4787,2015-01-01 01:54:55,bin6895,75,False -CTSPillarNetworkA,6896,6896,6896,1988-11-18,689.6000000000882,689.5787,2015-01-01 01:54:56,bin6896,35,False -CTSPillarNetworkA,6897,6897,6897,1988-11-19,689.7000000000883,689.67865,2015-01-01 01:54:57,bin6897,75,False -CTSPillarNetworkA,6898,6898,6898,1988-11-20,689.8000000000883,689.7786,2015-01-01 01:54:58,bin6898,35,False -CTSPillarNetworkA,6899,6899,6899,1988-11-21,689.9000000000883,689.8786,2015-01-01 01:54:59,bin6899,75,False -CTSPillarNetworkA,6900,6900,6900,1988-11-22,690.0000000000883,689.9786,2015-01-01 01:55:00,bin6900,35,False -CTSPillarNetworkA,6901,6901,6901,1988-11-23,690.1000000000884,690.07855,2015-01-01 01:55:01,bin6901,75,False -CTSPillarNetworkA,6902,6902,6902,1988-11-24,690.2000000000884,690.1785,2015-01-01 01:55:02,bin6902,35,False -CTSPillarNetworkA,6903,6903,6903,1988-11-25,690.3000000000884,690.2785,2015-01-01 01:55:03,bin6903,75,False -CTSPillarNetworkA,6904,6904,6904,1988-11-26,690.4000000000884,690.3785,2015-01-01 01:55:04,bin6904,35,False -CTSPillarNetworkA,6905,6905,6905,1988-11-27,690.5000000000884,690.47845,2015-01-01 01:55:05,bin6905,75,False -CTSPillarNetworkA,6906,6906,6906,1988-11-28,690.6000000000885,690.5784,2015-01-01 01:55:06,bin6906,35,False -CTSPillarNetworkA,6907,6907,6907,1988-11-29,690.7000000000885,690.6784,2015-01-01 01:55:07,bin6907,75,False -CTSPillarNetworkA,6908,6908,6908,1988-11-30,690.8000000000885,690.7784,2015-01-01 01:55:08,bin6908,35,False -CTSPillarNetworkA,6909,6909,6909,1988-12-01,690.9000000000885,690.87836,2015-01-01 01:55:09,bin6909,75,False -CTSPillarNetworkA,6910,6910,6910,1988-12-02,691.0000000000886,690.97833,2015-01-01 01:55:10,bin6910,35,False -CTSPillarNetworkA,6911,6911,6911,1988-12-03,691.1000000000886,691.0783,2015-01-01 01:55:11,bin6911,75,False -CTSPillarNetworkA,6912,6912,6912,1988-12-04,691.2000000000886,691.1783,2015-01-01 01:55:12,bin6912,35,False -CTSPillarNetworkA,6913,6913,6913,1988-12-05,691.3000000000886,691.27826,2015-01-01 01:55:13,bin6913,75,False -CTSPillarNetworkA,6914,6914,6914,1988-12-06,691.4000000000887,691.37823,2015-01-01 01:55:14,bin6914,35,False -CTSPillarNetworkA,6915,6915,6915,1988-12-07,691.5000000000887,691.4782,2015-01-01 01:55:15,bin6915,75,False -CTSPillarNetworkA,6916,6916,6916,1988-12-08,691.6000000000887,691.5782,2015-01-01 01:55:16,bin6916,35,False -CTSPillarNetworkA,6917,6917,6917,1988-12-09,691.7000000000887,691.67816,2015-01-01 01:55:17,bin6917,75,False -CTSPillarNetworkA,6918,6918,6918,1988-12-10,691.8000000000887,691.77814,2015-01-01 01:55:18,bin6918,35,False -CTSPillarNetworkA,6919,6919,6919,1988-12-11,691.9000000000888,691.8781,2015-01-01 01:55:19,bin6919,75,False -CTSPillarNetworkA,6920,6920,6920,1988-12-12,692.0000000000888,691.9781,2015-01-01 01:55:20,bin6920,35,False -CTSPillarNetworkA,6921,6921,6921,1988-12-13,692.1000000000888,692.07806,2015-01-01 01:55:21,bin6921,75,False -CTSPillarNetworkA,6922,6922,6922,1988-12-14,692.2000000000888,692.17804,2015-01-01 01:55:22,bin6922,35,False -CTSPillarNetworkA,6923,6923,6923,1988-12-15,692.3000000000889,692.278,2015-01-01 01:55:23,bin6923,75,False -CTSPillarNetworkA,6924,6924,6924,1988-12-16,692.4000000000889,692.378,2015-01-01 01:55:24,bin6924,35,False -CTSPillarNetworkA,6925,6925,6925,1988-12-17,692.5000000000889,692.47797,2015-01-01 01:55:25,bin6925,75,False -CTSPillarNetworkA,6926,6926,6926,1988-12-18,692.6000000000889,692.57794,2015-01-01 01:55:26,bin6926,35,False -CTSPillarNetworkA,6927,6927,6927,1988-12-19,692.700000000089,692.6779,2015-01-01 01:55:27,bin6927,75,False -CTSPillarNetworkA,6928,6928,6928,1988-12-20,692.800000000089,692.7779,2015-01-01 01:55:28,bin6928,35,False -CTSPillarNetworkA,6929,6929,6929,1988-12-21,692.900000000089,692.87787,2015-01-01 01:55:29,bin6929,75,False -CTSPillarNetworkA,6930,6930,6930,1988-12-22,693.000000000089,692.97784,2015-01-01 01:55:30,bin6930,35,False -CTSPillarNetworkA,6931,6931,6931,1988-12-23,693.100000000089,693.0778,2015-01-01 01:55:31,bin6931,75,False -CTSPillarNetworkA,6932,6932,6932,1988-12-24,693.2000000000891,693.1778,2015-01-01 01:55:32,bin6932,35,False -CTSPillarNetworkA,6933,6933,6933,1988-12-25,693.3000000000891,693.2778,2015-01-01 01:55:33,bin6933,75,False -CTSPillarNetworkA,6934,6934,6934,1988-12-26,693.4000000000891,693.37775,2015-01-01 01:55:34,bin6934,35,False -CTSPillarNetworkA,6935,6935,6935,1988-12-27,693.5000000000891,693.4777,2015-01-01 01:55:35,bin6935,75,False -CTSPillarNetworkA,6936,6936,6936,1988-12-28,693.6000000000892,693.5777,2015-01-01 01:55:36,bin6936,35,False -CTSPillarNetworkA,6937,6937,6937,1988-12-29,693.7000000000892,693.6777,2015-01-01 01:55:37,bin6937,75,False -CTSPillarNetworkA,6938,6938,6938,1988-12-30,693.8000000000892,693.77765,2015-01-01 01:55:38,bin6938,35,False -CTSPillarNetworkA,6939,6939,6939,1988-12-31,693.9000000000892,693.8776,2015-01-01 01:55:39,bin6939,75,False -CTSPillarNetworkA,6940,6940,6940,1989-01-01,694.0000000000892,693.9776,2015-01-01 01:55:40,bin6940,35,False -CTSPillarNetworkA,6941,6941,6941,1989-01-02,694.1000000000893,694.0776,2015-01-01 01:55:41,bin6941,75,False -CTSPillarNetworkA,6942,6942,6942,1989-01-03,694.2000000000893,694.17755,2015-01-01 01:55:42,bin6942,35,False -CTSPillarNetworkA,6943,6943,6943,1989-01-04,694.3000000000893,694.2775,2015-01-01 01:55:43,bin6943,75,False -CTSPillarNetworkA,6944,6944,6944,1989-01-05,694.4000000000893,694.3775,2015-01-01 01:55:44,bin6944,35,False -CTSPillarNetworkA,6945,6945,6945,1989-01-06,694.5000000000894,694.4775,2015-01-01 01:55:45,bin6945,75,False -CTSPillarNetworkA,6946,6946,6946,1989-01-07,694.6000000000894,694.57745,2015-01-01 01:55:46,bin6946,35,False -CTSPillarNetworkA,6947,6947,6947,1989-01-08,694.7000000000894,694.6774,2015-01-01 01:55:47,bin6947,75,False -CTSPillarNetworkA,6948,6948,6948,1989-01-09,694.8000000000894,694.7774,2015-01-01 01:55:48,bin6948,35,False -CTSPillarNetworkA,6949,6949,6949,1989-01-10,694.9000000000894,694.8774,2015-01-01 01:55:49,bin6949,75,False -CTSPillarNetworkA,6950,6950,6950,1989-01-11,695.0000000000895,694.97736,2015-01-01 01:55:50,bin6950,35,False -CTSPillarNetworkA,6951,6951,6951,1989-01-12,695.1000000000895,695.07733,2015-01-01 01:55:51,bin6951,75,False -CTSPillarNetworkA,6952,6952,6952,1989-01-13,695.2000000000895,695.1773,2015-01-01 01:55:52,bin6952,35,False -CTSPillarNetworkA,6953,6953,6953,1989-01-14,695.3000000000895,695.2773,2015-01-01 01:55:53,bin6953,75,False -CTSPillarNetworkA,6954,6954,6954,1989-01-15,695.4000000000896,695.37726,2015-01-01 01:55:54,bin6954,35,False -CTSPillarNetworkA,6955,6955,6955,1989-01-16,695.5000000000896,695.47723,2015-01-01 01:55:55,bin6955,75,False -CTSPillarNetworkA,6956,6956,6956,1989-01-17,695.6000000000896,695.5772,2015-01-01 01:55:56,bin6956,35,False -CTSPillarNetworkA,6957,6957,6957,1989-01-18,695.7000000000896,695.6772,2015-01-01 01:55:57,bin6957,75,False -CTSPillarNetworkA,6958,6958,6958,1989-01-19,695.8000000000897,695.77716,2015-01-01 01:55:58,bin6958,35,False -CTSPillarNetworkA,6959,6959,6959,1989-01-20,695.9000000000897,695.87714,2015-01-01 01:55:59,bin6959,75,False -CTSPillarNetworkA,6960,6960,6960,1989-01-21,696.0000000000897,695.9771,2015-01-01 01:56:00,bin6960,35,False -CTSPillarNetworkA,6961,6961,6961,1989-01-22,696.1000000000897,696.0771,2015-01-01 01:56:01,bin6961,75,False -CTSPillarNetworkA,6962,6962,6962,1989-01-23,696.2000000000897,696.17706,2015-01-01 01:56:02,bin6962,35,False -CTSPillarNetworkA,6963,6963,6963,1989-01-24,696.3000000000898,696.27704,2015-01-01 01:56:03,bin6963,75,False -CTSPillarNetworkA,6964,6964,6964,1989-01-25,696.4000000000898,696.377,2015-01-01 01:56:04,bin6964,35,False -CTSPillarNetworkA,6965,6965,6965,1989-01-26,696.5000000000898,696.477,2015-01-01 01:56:05,bin6965,75,False -CTSPillarNetworkA,6966,6966,6966,1989-01-27,696.6000000000898,696.57697,2015-01-01 01:56:06,bin6966,35,False -CTSPillarNetworkA,6967,6967,6967,1989-01-28,696.7000000000899,696.67694,2015-01-01 01:56:07,bin6967,75,False -CTSPillarNetworkA,6968,6968,6968,1989-01-29,696.8000000000899,696.7769,2015-01-01 01:56:08,bin6968,35,False -CTSPillarNetworkA,6969,6969,6969,1989-01-30,696.9000000000899,696.8769,2015-01-01 01:56:09,bin6969,75,False -CTSPillarNetworkA,6970,6970,6970,1989-01-31,697.0000000000899,696.97687,2015-01-01 01:56:10,bin6970,35,False -CTSPillarNetworkA,6971,6971,6971,1989-02-01,697.10000000009,697.07684,2015-01-01 01:56:11,bin6971,75,False -CTSPillarNetworkA,6972,6972,6972,1989-02-02,697.20000000009,697.1768,2015-01-01 01:56:12,bin6972,35,False -CTSPillarNetworkA,6973,6973,6973,1989-02-03,697.30000000009,697.2768,2015-01-01 01:56:13,bin6973,75,False -CTSPillarNetworkA,6974,6974,6974,1989-02-04,697.40000000009,697.3768,2015-01-01 01:56:14,bin6974,35,False -CTSPillarNetworkA,6975,6975,6975,1989-02-05,697.50000000009,697.47675,2015-01-01 01:56:15,bin6975,75,False -CTSPillarNetworkA,6976,6976,6976,1989-02-06,697.6000000000901,697.5767,2015-01-01 01:56:16,bin6976,35,False -CTSPillarNetworkA,6977,6977,6977,1989-02-07,697.7000000000901,697.6767,2015-01-01 01:56:17,bin6977,75,False -CTSPillarNetworkA,6978,6978,6978,1989-02-08,697.8000000000901,697.7767,2015-01-01 01:56:18,bin6978,35,False -CTSPillarNetworkA,6979,6979,6979,1989-02-09,697.9000000000901,697.87665,2015-01-01 01:56:19,bin6979,75,False -CTSPillarNetworkA,6980,6980,6980,1989-02-10,698.0000000000902,697.9766,2015-01-01 01:56:20,bin6980,35,False -CTSPillarNetworkA,6981,6981,6981,1989-02-11,698.1000000000902,698.0766,2015-01-01 01:56:21,bin6981,75,False -CTSPillarNetworkA,6982,6982,6982,1989-02-12,698.2000000000902,698.1766,2015-01-01 01:56:22,bin6982,35,False -CTSPillarNetworkA,6983,6983,6983,1989-02-13,698.3000000000902,698.27655,2015-01-01 01:56:23,bin6983,75,False -CTSPillarNetworkA,6984,6984,6984,1989-02-14,698.4000000000902,698.3765,2015-01-01 01:56:24,bin6984,35,False -CTSPillarNetworkA,6985,6985,6985,1989-02-15,698.5000000000903,698.4765,2015-01-01 01:56:25,bin6985,75,False -CTSPillarNetworkA,6986,6986,6986,1989-02-16,698.6000000000903,698.5765,2015-01-01 01:56:26,bin6986,35,False -CTSPillarNetworkA,6987,6987,6987,1989-02-17,698.7000000000903,698.67645,2015-01-01 01:56:27,bin6987,75,False -CTSPillarNetworkA,6988,6988,6988,1989-02-18,698.8000000000903,698.7764,2015-01-01 01:56:28,bin6988,35,False -CTSPillarNetworkA,6989,6989,6989,1989-02-19,698.9000000000904,698.8764,2015-01-01 01:56:29,bin6989,75,False -CTSPillarNetworkA,6990,6990,6990,1989-02-20,699.0000000000904,698.9764,2015-01-01 01:56:30,bin6990,35,False -CTSPillarNetworkA,6991,6991,6991,1989-02-21,699.1000000000904,699.07635,2015-01-01 01:56:31,bin6991,75,False -CTSPillarNetworkA,6992,6992,6992,1989-02-22,699.2000000000904,699.17633,2015-01-01 01:56:32,bin6992,35,False -CTSPillarNetworkA,6993,6993,6993,1989-02-23,699.3000000000904,699.2763,2015-01-01 01:56:33,bin6993,75,False -CTSPillarNetworkA,6994,6994,6994,1989-02-24,699.4000000000905,699.3763,2015-01-01 01:56:34,bin6994,35,False -CTSPillarNetworkA,6995,6995,6995,1989-02-25,699.5000000000905,699.47626,2015-01-01 01:56:35,bin6995,75,False -CTSPillarNetworkA,6996,6996,6996,1989-02-26,699.6000000000905,699.57623,2015-01-01 01:56:36,bin6996,35,False -CTSPillarNetworkA,6997,6997,6997,1989-02-27,699.7000000000905,699.6762,2015-01-01 01:56:37,bin6997,75,False -CTSPillarNetworkA,6998,6998,6998,1989-02-28,699.8000000000906,699.7762,2015-01-01 01:56:38,bin6998,35,False -CTSPillarNetworkA,6999,6999,6999,1989-03-01,699.9000000000906,699.87616,2015-01-01 01:56:39,bin6999,75,False -CTSPillarNetworkA,7000,7000,7000,1989-03-02,700.0000000000906,699.97614,2015-01-01 01:56:40,bin7000,35,False -CTSPillarNetworkA,7001,7001,7001,1989-03-03,700.1000000000906,700.0761,2015-01-01 01:56:41,bin7001,75,False -CTSPillarNetworkA,7002,7002,7002,1989-03-04,700.2000000000907,700.1761,2015-01-01 01:56:42,bin7002,35,False -CTSPillarNetworkA,7003,7003,7003,1989-03-05,700.3000000000907,700.27606,2015-01-01 01:56:43,bin7003,75,False -CTSPillarNetworkA,7004,7004,7004,1989-03-06,700.4000000000907,700.37604,2015-01-01 01:56:44,bin7004,35,False -CTSPillarNetworkA,7005,7005,7005,1989-03-07,700.5000000000907,700.476,2015-01-01 01:56:45,bin7005,75,False -CTSPillarNetworkA,7006,7006,7006,1989-03-08,700.6000000000907,700.576,2015-01-01 01:56:46,bin7006,35,False -CTSPillarNetworkA,7007,7007,7007,1989-03-09,700.7000000000908,700.67596,2015-01-01 01:56:47,bin7007,75,False -CTSPillarNetworkA,7008,7008,7008,1989-03-10,700.8000000000908,700.77594,2015-01-01 01:56:48,bin7008,35,False -CTSPillarNetworkA,7009,7009,7009,1989-03-11,700.9000000000908,700.8759,2015-01-01 01:56:49,bin7009,75,False -CTSPillarNetworkA,7010,7010,7010,1989-03-12,701.0000000000908,700.9759,2015-01-01 01:56:50,bin7010,35,False -CTSPillarNetworkA,7011,7011,7011,1989-03-13,701.1000000000909,701.07587,2015-01-01 01:56:51,bin7011,75,False -CTSPillarNetworkA,7012,7012,7012,1989-03-14,701.2000000000909,701.17584,2015-01-01 01:56:52,bin7012,35,False -CTSPillarNetworkA,7013,7013,7013,1989-03-15,701.3000000000909,701.2758,2015-01-01 01:56:53,bin7013,75,False -CTSPillarNetworkA,7014,7014,7014,1989-03-16,701.4000000000909,701.3758,2015-01-01 01:56:54,bin7014,35,False -CTSPillarNetworkA,7015,7015,7015,1989-03-17,701.500000000091,701.47577,2015-01-01 01:56:55,bin7015,75,False -CTSPillarNetworkA,7016,7016,7016,1989-03-18,701.600000000091,701.57574,2015-01-01 01:56:56,bin7016,35,False -CTSPillarNetworkA,7017,7017,7017,1989-03-19,701.700000000091,701.6757,2015-01-01 01:56:57,bin7017,75,False -CTSPillarNetworkA,7018,7018,7018,1989-03-20,701.800000000091,701.7757,2015-01-01 01:56:58,bin7018,35,False -CTSPillarNetworkA,7019,7019,7019,1989-03-21,701.900000000091,701.8757,2015-01-01 01:56:59,bin7019,75,False -CTSPillarNetworkA,7020,7020,7020,1989-03-22,702.0000000000911,701.97565,2015-01-01 01:57:00,bin7020,35,False -CTSPillarNetworkA,7021,7021,7021,1989-03-23,702.1000000000911,702.0756,2015-01-01 01:57:01,bin7021,75,False -CTSPillarNetworkA,7022,7022,7022,1989-03-24,702.2000000000911,702.1756,2015-01-01 01:57:02,bin7022,35,False -CTSPillarNetworkA,7023,7023,7023,1989-03-25,702.3000000000911,702.2756,2015-01-01 01:57:03,bin7023,75,False -CTSPillarNetworkA,7024,7024,7024,1989-03-26,702.4000000000912,702.37555,2015-01-01 01:57:04,bin7024,35,False -CTSPillarNetworkA,7025,7025,7025,1989-03-27,702.5000000000912,702.4755,2015-01-01 01:57:05,bin7025,75,False -CTSPillarNetworkA,7026,7026,7026,1989-03-28,702.6000000000912,702.5755,2015-01-01 01:57:06,bin7026,35,False -CTSPillarNetworkA,7027,7027,7027,1989-03-29,702.7000000000912,702.6755,2015-01-01 01:57:07,bin7027,75,False -CTSPillarNetworkA,7028,7028,7028,1989-03-30,702.8000000000912,702.77545,2015-01-01 01:57:08,bin7028,35,False -CTSPillarNetworkA,7029,7029,7029,1989-03-31,702.9000000000913,702.8754,2015-01-01 01:57:09,bin7029,75,False -CTSPillarNetworkA,7030,7030,7030,1989-04-01,703.0000000000913,702.9754,2015-01-01 01:57:10,bin7030,35,False -CTSPillarNetworkA,7031,7031,7031,1989-04-02,703.1000000000913,703.0754,2015-01-01 01:57:11,bin7031,75,False -CTSPillarNetworkA,7032,7032,7032,1989-04-03,703.2000000000913,703.17535,2015-01-01 01:57:12,bin7032,35,False -CTSPillarNetworkA,7033,7033,7033,1989-04-04,703.3000000000914,703.2753,2015-01-01 01:57:13,bin7033,75,False -CTSPillarNetworkA,7034,7034,7034,1989-04-05,703.4000000000914,703.3753,2015-01-01 01:57:14,bin7034,35,False -CTSPillarNetworkA,7035,7035,7035,1989-04-06,703.5000000000914,703.4753,2015-01-01 01:57:15,bin7035,75,False -CTSPillarNetworkA,7036,7036,7036,1989-04-07,703.6000000000914,703.57526,2015-01-01 01:57:16,bin7036,35,False -CTSPillarNetworkA,7037,7037,7037,1989-04-08,703.7000000000914,703.67523,2015-01-01 01:57:17,bin7037,75,False -CTSPillarNetworkA,7038,7038,7038,1989-04-09,703.8000000000915,703.7752,2015-01-01 01:57:18,bin7038,35,False -CTSPillarNetworkA,7039,7039,7039,1989-04-10,703.9000000000915,703.8752,2015-01-01 01:57:19,bin7039,75,False -CTSPillarNetworkA,7040,7040,7040,1989-04-11,704.0000000000915,703.97516,2015-01-01 01:57:20,bin7040,35,False -CTSPillarNetworkA,7041,7041,7041,1989-04-12,704.1000000000915,704.07513,2015-01-01 01:57:21,bin7041,75,False -CTSPillarNetworkA,7042,7042,7042,1989-04-13,704.2000000000916,704.1751,2015-01-01 01:57:22,bin7042,35,False -CTSPillarNetworkA,7043,7043,7043,1989-04-14,704.3000000000916,704.2751,2015-01-01 01:57:23,bin7043,75,False -CTSPillarNetworkA,7044,7044,7044,1989-04-15,704.4000000000916,704.37506,2015-01-01 01:57:24,bin7044,35,False -CTSPillarNetworkA,7045,7045,7045,1989-04-16,704.5000000000916,704.47504,2015-01-01 01:57:25,bin7045,75,False -CTSPillarNetworkA,7046,7046,7046,1989-04-17,704.6000000000917,704.575,2015-01-01 01:57:26,bin7046,35,False -CTSPillarNetworkA,7047,7047,7047,1989-04-18,704.7000000000917,704.675,2015-01-01 01:57:27,bin7047,75,False -CTSPillarNetworkA,7048,7048,7048,1989-04-19,704.8000000000917,704.77496,2015-01-01 01:57:28,bin7048,35,False -CTSPillarNetworkA,7049,7049,7049,1989-04-20,704.9000000000917,704.87494,2015-01-01 01:57:29,bin7049,75,False -CTSPillarNetworkA,7050,7050,7050,1989-04-21,705.0000000000917,704.9749,2015-01-01 01:57:30,bin7050,35,False -CTSPillarNetworkA,7051,7051,7051,1989-04-22,705.1000000000918,705.0749,2015-01-01 01:57:31,bin7051,75,False -CTSPillarNetworkA,7052,7052,7052,1989-04-23,705.2000000000918,705.17487,2015-01-01 01:57:32,bin7052,35,False -CTSPillarNetworkA,7053,7053,7053,1989-04-24,705.3000000000918,705.27484,2015-01-01 01:57:33,bin7053,75,False -CTSPillarNetworkA,7054,7054,7054,1989-04-25,705.4000000000918,705.3748,2015-01-01 01:57:34,bin7054,35,False -CTSPillarNetworkA,7055,7055,7055,1989-04-26,705.5000000000919,705.4748,2015-01-01 01:57:35,bin7055,75,False -CTSPillarNetworkA,7056,7056,7056,1989-04-27,705.6000000000919,705.57477,2015-01-01 01:57:36,bin7056,35,False -CTSPillarNetworkA,7057,7057,7057,1989-04-28,705.7000000000919,705.67474,2015-01-01 01:57:37,bin7057,75,False -CTSPillarNetworkA,7058,7058,7058,1989-04-29,705.8000000000919,705.7747,2015-01-01 01:57:38,bin7058,35,False -CTSPillarNetworkA,7059,7059,7059,1989-04-30,705.900000000092,705.8747,2015-01-01 01:57:39,bin7059,75,False -CTSPillarNetworkA,7060,7060,7060,1989-05-01,706.000000000092,705.9747,2015-01-01 01:57:40,bin7060,35,False -CTSPillarNetworkA,7061,7061,7061,1989-05-02,706.100000000092,706.07465,2015-01-01 01:57:41,bin7061,75,False -CTSPillarNetworkA,7062,7062,7062,1989-05-03,706.200000000092,706.1746,2015-01-01 01:57:42,bin7062,35,False -CTSPillarNetworkA,7063,7063,7063,1989-05-04,706.300000000092,706.2746,2015-01-01 01:57:43,bin7063,75,False -CTSPillarNetworkA,7064,7064,7064,1989-05-05,706.4000000000921,706.3746,2015-01-01 01:57:44,bin7064,35,False -CTSPillarNetworkA,7065,7065,7065,1989-05-06,706.5000000000921,706.47455,2015-01-01 01:57:45,bin7065,75,False -CTSPillarNetworkA,7066,7066,7066,1989-05-07,706.6000000000921,706.5745,2015-01-01 01:57:46,bin7066,35,False -CTSPillarNetworkA,7067,7067,7067,1989-05-08,706.7000000000921,706.6745,2015-01-01 01:57:47,bin7067,75,False -CTSPillarNetworkA,7068,7068,7068,1989-05-09,706.8000000000922,706.7745,2015-01-01 01:57:48,bin7068,35,False -CTSPillarNetworkA,7069,7069,7069,1989-05-10,706.9000000000922,706.87445,2015-01-01 01:57:49,bin7069,75,False -CTSPillarNetworkA,7070,7070,7070,1989-05-11,707.0000000000922,706.9744,2015-01-01 01:57:50,bin7070,35,False -CTSPillarNetworkA,7071,7071,7071,1989-05-12,707.1000000000922,707.0744,2015-01-01 01:57:51,bin7071,75,False -CTSPillarNetworkA,7072,7072,7072,1989-05-13,707.2000000000922,707.1744,2015-01-01 01:57:52,bin7072,35,False -CTSPillarNetworkA,7073,7073,7073,1989-05-14,707.3000000000923,707.27435,2015-01-01 01:57:53,bin7073,75,False -CTSPillarNetworkA,7074,7074,7074,1989-05-15,707.4000000000923,707.3743,2015-01-01 01:57:54,bin7074,35,False -CTSPillarNetworkA,7075,7075,7075,1989-05-16,707.5000000000923,707.4743,2015-01-01 01:57:55,bin7075,75,False -CTSPillarNetworkA,7076,7076,7076,1989-05-17,707.6000000000923,707.5743,2015-01-01 01:57:56,bin7076,35,False -CTSPillarNetworkA,7077,7077,7077,1989-05-18,707.7000000000924,707.67426,2015-01-01 01:57:57,bin7077,75,False -CTSPillarNetworkA,7078,7078,7078,1989-05-19,707.8000000000924,707.77423,2015-01-01 01:57:58,bin7078,35,False -CTSPillarNetworkA,7079,7079,7079,1989-05-20,707.9000000000924,707.8742,2015-01-01 01:57:59,bin7079,75,False -CTSPillarNetworkA,7080,7080,7080,1989-05-21,708.0000000000924,707.9742,2015-01-01 01:58:00,bin7080,35,False -CTSPillarNetworkA,7081,7081,7081,1989-05-22,708.1000000000925,708.07416,2015-01-01 01:58:01,bin7081,75,False -CTSPillarNetworkA,7082,7082,7082,1989-05-23,708.2000000000925,708.17413,2015-01-01 01:58:02,bin7082,35,False -CTSPillarNetworkA,7083,7083,7083,1989-05-24,708.3000000000925,708.2741,2015-01-01 01:58:03,bin7083,75,False -CTSPillarNetworkA,7084,7084,7084,1989-05-25,708.4000000000925,708.3741,2015-01-01 01:58:04,bin7084,35,False -CTSPillarNetworkA,7085,7085,7085,1989-05-26,708.5000000000925,708.47406,2015-01-01 01:58:05,bin7085,75,False -CTSPillarNetworkA,7086,7086,7086,1989-05-27,708.6000000000926,708.57404,2015-01-01 01:58:06,bin7086,35,False -CTSPillarNetworkA,7087,7087,7087,1989-05-28,708.7000000000926,708.674,2015-01-01 01:58:07,bin7087,75,False -CTSPillarNetworkA,7088,7088,7088,1989-05-29,708.8000000000926,708.774,2015-01-01 01:58:08,bin7088,35,False -CTSPillarNetworkA,7089,7089,7089,1989-05-30,708.9000000000926,708.87396,2015-01-01 01:58:09,bin7089,75,False -CTSPillarNetworkA,7090,7090,7090,1989-05-31,709.0000000000927,708.97394,2015-01-01 01:58:10,bin7090,35,False -CTSPillarNetworkA,7091,7091,7091,1989-06-01,709.1000000000927,709.0739,2015-01-01 01:58:11,bin7091,75,False -CTSPillarNetworkA,7092,7092,7092,1989-06-02,709.2000000000927,709.1739,2015-01-01 01:58:12,bin7092,35,False -CTSPillarNetworkA,7093,7093,7093,1989-06-03,709.3000000000927,709.27386,2015-01-01 01:58:13,bin7093,75,False -CTSPillarNetworkA,7094,7094,7094,1989-06-04,709.4000000000927,709.37384,2015-01-01 01:58:14,bin7094,35,False -CTSPillarNetworkA,7095,7095,7095,1989-06-05,709.5000000000928,709.4738,2015-01-01 01:58:15,bin7095,75,False -CTSPillarNetworkA,7096,7096,7096,1989-06-06,709.6000000000928,709.5738,2015-01-01 01:58:16,bin7096,35,False -CTSPillarNetworkA,7097,7097,7097,1989-06-07,709.7000000000928,709.67377,2015-01-01 01:58:17,bin7097,75,False -CTSPillarNetworkA,7098,7098,7098,1989-06-08,709.8000000000928,709.77374,2015-01-01 01:58:18,bin7098,35,False -CTSPillarNetworkA,7099,7099,7099,1989-06-09,709.9000000000929,709.8737,2015-01-01 01:58:19,bin7099,75,False -CTSPillarNetworkA,7100,7100,7100,1989-06-10,710.0000000000929,709.9737,2015-01-01 01:58:20,bin7100,35,False -CTSPillarNetworkA,7101,7101,7101,1989-06-11,710.1000000000929,710.07367,2015-01-01 01:58:21,bin7101,75,False -CTSPillarNetworkA,7102,7102,7102,1989-06-12,710.2000000000929,710.17365,2015-01-01 01:58:22,bin7102,35,False -CTSPillarNetworkA,7103,7103,7103,1989-06-13,710.300000000093,710.2736,2015-01-01 01:58:23,bin7103,75,False -CTSPillarNetworkA,7104,7104,7104,1989-06-14,710.400000000093,710.3736,2015-01-01 01:58:24,bin7104,35,False -CTSPillarNetworkA,7105,7105,7105,1989-06-15,710.500000000093,710.4736,2015-01-01 01:58:25,bin7105,75,False -CTSPillarNetworkA,7106,7106,7106,1989-06-16,710.600000000093,710.57355,2015-01-01 01:58:26,bin7106,35,False -CTSPillarNetworkA,7107,7107,7107,1989-06-17,710.700000000093,710.6735,2015-01-01 01:58:27,bin7107,75,False -CTSPillarNetworkA,7108,7108,7108,1989-06-18,710.8000000000931,710.7735,2015-01-01 01:58:28,bin7108,35,False -CTSPillarNetworkA,7109,7109,7109,1989-06-19,710.9000000000931,710.8735,2015-01-01 01:58:29,bin7109,75,False -CTSPillarNetworkA,7110,7110,7110,1989-06-20,711.0000000000931,710.97345,2015-01-01 01:58:30,bin7110,35,False -CTSPillarNetworkA,7111,7111,7111,1989-06-21,711.1000000000931,711.0734,2015-01-01 01:58:31,bin7111,75,False -CTSPillarNetworkA,7112,7112,7112,1989-06-22,711.2000000000932,711.1734,2015-01-01 01:58:32,bin7112,35,False -CTSPillarNetworkA,7113,7113,7113,1989-06-23,711.3000000000932,711.2734,2015-01-01 01:58:33,bin7113,75,False -CTSPillarNetworkA,7114,7114,7114,1989-06-24,711.4000000000932,711.37335,2015-01-01 01:58:34,bin7114,35,False -CTSPillarNetworkA,7115,7115,7115,1989-06-25,711.5000000000932,711.4733,2015-01-01 01:58:35,bin7115,75,False -CTSPillarNetworkA,7116,7116,7116,1989-06-26,711.6000000000932,711.5733,2015-01-01 01:58:36,bin7116,35,False -CTSPillarNetworkA,7117,7117,7117,1989-06-27,711.7000000000933,711.6733,2015-01-01 01:58:37,bin7117,75,False -CTSPillarNetworkA,7118,7118,7118,1989-06-28,711.8000000000933,711.77325,2015-01-01 01:58:38,bin7118,35,False -CTSPillarNetworkA,7119,7119,7119,1989-06-29,711.9000000000933,711.8732,2015-01-01 01:58:39,bin7119,75,False -CTSPillarNetworkA,7120,7120,7120,1989-06-30,712.0000000000933,711.9732,2015-01-01 01:58:40,bin7120,35,False -CTSPillarNetworkA,7121,7121,7121,1989-07-01,712.1000000000934,712.0732,2015-01-01 01:58:41,bin7121,75,False -CTSPillarNetworkA,7122,7122,7122,1989-07-02,712.2000000000934,712.17316,2015-01-01 01:58:42,bin7122,35,False -CTSPillarNetworkA,7123,7123,7123,1989-07-03,712.3000000000934,712.27313,2015-01-01 01:58:43,bin7123,75,False -CTSPillarNetworkA,7124,7124,7124,1989-07-04,712.4000000000934,712.3731,2015-01-01 01:58:44,bin7124,35,False -CTSPillarNetworkA,7125,7125,7125,1989-07-05,712.5000000000935,712.4731,2015-01-01 01:58:45,bin7125,75,False -CTSPillarNetworkA,7126,7126,7126,1989-07-06,712.6000000000935,712.57306,2015-01-01 01:58:46,bin7126,35,False -CTSPillarNetworkA,7127,7127,7127,1989-07-07,712.7000000000935,712.67303,2015-01-01 01:58:47,bin7127,75,False -CTSPillarNetworkA,7128,7128,7128,1989-07-08,712.8000000000935,712.773,2015-01-01 01:58:48,bin7128,35,False -CTSPillarNetworkA,7129,7129,7129,1989-07-09,712.9000000000935,712.873,2015-01-01 01:58:49,bin7129,75,False -CTSPillarNetworkA,7130,7130,7130,1989-07-10,713.0000000000936,712.97296,2015-01-01 01:58:50,bin7130,35,False -CTSPillarNetworkA,7131,7131,7131,1989-07-11,713.1000000000936,713.07294,2015-01-01 01:58:51,bin7131,75,False -CTSPillarNetworkA,7132,7132,7132,1989-07-12,713.2000000000936,713.1729,2015-01-01 01:58:52,bin7132,35,False -CTSPillarNetworkA,7133,7133,7133,1989-07-13,713.3000000000936,713.2729,2015-01-01 01:58:53,bin7133,75,False -CTSPillarNetworkA,7134,7134,7134,1989-07-14,713.4000000000937,713.37286,2015-01-01 01:58:54,bin7134,35,False -CTSPillarNetworkA,7135,7135,7135,1989-07-15,713.5000000000937,713.47284,2015-01-01 01:58:55,bin7135,75,False -CTSPillarNetworkA,7136,7136,7136,1989-07-16,713.6000000000937,713.5728,2015-01-01 01:58:56,bin7136,35,False -CTSPillarNetworkA,7137,7137,7137,1989-07-17,713.7000000000937,713.6728,2015-01-01 01:58:57,bin7137,75,False -CTSPillarNetworkA,7138,7138,7138,1989-07-18,713.8000000000937,713.77277,2015-01-01 01:58:58,bin7138,35,False -CTSPillarNetworkA,7139,7139,7139,1989-07-19,713.9000000000938,713.87274,2015-01-01 01:58:59,bin7139,75,False -CTSPillarNetworkA,7140,7140,7140,1989-07-20,714.0000000000938,713.9727,2015-01-01 01:59:00,bin7140,35,False -CTSPillarNetworkA,7141,7141,7141,1989-07-21,714.1000000000938,714.0727,2015-01-01 01:59:01,bin7141,75,False -CTSPillarNetworkA,7142,7142,7142,1989-07-22,714.2000000000938,714.17267,2015-01-01 01:59:02,bin7142,35,False -CTSPillarNetworkA,7143,7143,7143,1989-07-23,714.3000000000939,714.27264,2015-01-01 01:59:03,bin7143,75,False -CTSPillarNetworkA,7144,7144,7144,1989-07-24,714.4000000000939,714.3726,2015-01-01 01:59:04,bin7144,35,False -CTSPillarNetworkA,7145,7145,7145,1989-07-25,714.5000000000939,714.4726,2015-01-01 01:59:05,bin7145,75,False -CTSPillarNetworkA,7146,7146,7146,1989-07-26,714.6000000000939,714.5726,2015-01-01 01:59:06,bin7146,35,False -CTSPillarNetworkA,7147,7147,7147,1989-07-27,714.700000000094,714.67255,2015-01-01 01:59:07,bin7147,75,False -CTSPillarNetworkA,7148,7148,7148,1989-07-28,714.800000000094,714.7725,2015-01-01 01:59:08,bin7148,35,False -CTSPillarNetworkA,7149,7149,7149,1989-07-29,714.900000000094,714.8725,2015-01-01 01:59:09,bin7149,75,False -CTSPillarNetworkA,7150,7150,7150,1989-07-30,715.000000000094,714.9725,2015-01-01 01:59:10,bin7150,35,False -CTSPillarNetworkA,7151,7151,7151,1989-07-31,715.100000000094,715.07245,2015-01-01 01:59:11,bin7151,75,False -CTSPillarNetworkA,7152,7152,7152,1989-08-01,715.2000000000941,715.1724,2015-01-01 01:59:12,bin7152,35,False -CTSPillarNetworkA,7153,7153,7153,1989-08-02,715.3000000000941,715.2724,2015-01-01 01:59:13,bin7153,75,False -CTSPillarNetworkA,7154,7154,7154,1989-08-03,715.4000000000941,715.3724,2015-01-01 01:59:14,bin7154,35,False -CTSPillarNetworkA,7155,7155,7155,1989-08-04,715.5000000000941,715.47235,2015-01-01 01:59:15,bin7155,75,False -CTSPillarNetworkA,7156,7156,7156,1989-08-05,715.6000000000942,715.5723,2015-01-01 01:59:16,bin7156,35,False -CTSPillarNetworkA,7157,7157,7157,1989-08-06,715.7000000000942,715.6723,2015-01-01 01:59:17,bin7157,75,False -CTSPillarNetworkA,7158,7158,7158,1989-08-07,715.8000000000942,715.7723,2015-01-01 01:59:18,bin7158,35,False -CTSPillarNetworkA,7159,7159,7159,1989-08-08,715.9000000000942,715.87225,2015-01-01 01:59:19,bin7159,75,False -CTSPillarNetworkA,7160,7160,7160,1989-08-09,716.0000000000942,715.9722,2015-01-01 01:59:20,bin7160,35,False -CTSPillarNetworkA,7161,7161,7161,1989-08-10,716.1000000000943,716.0722,2015-01-01 01:59:21,bin7161,75,False -CTSPillarNetworkA,7162,7162,7162,1989-08-11,716.2000000000943,716.1722,2015-01-01 01:59:22,bin7162,35,False -CTSPillarNetworkA,7163,7163,7163,1989-08-12,716.3000000000943,716.27216,2015-01-01 01:59:23,bin7163,75,False -CTSPillarNetworkA,7164,7164,7164,1989-08-13,716.4000000000943,716.37213,2015-01-01 01:59:24,bin7164,35,False -CTSPillarNetworkA,7165,7165,7165,1989-08-14,716.5000000000944,716.4721,2015-01-01 01:59:25,bin7165,75,False -CTSPillarNetworkA,7166,7166,7166,1989-08-15,716.6000000000944,716.5721,2015-01-01 01:59:26,bin7166,35,False -CTSPillarNetworkA,7167,7167,7167,1989-08-16,716.7000000000944,716.67206,2015-01-01 01:59:27,bin7167,75,False -CTSPillarNetworkA,7168,7168,7168,1989-08-17,716.8000000000944,716.77203,2015-01-01 01:59:28,bin7168,35,False -CTSPillarNetworkA,7169,7169,7169,1989-08-18,716.9000000000945,716.872,2015-01-01 01:59:29,bin7169,75,False -CTSPillarNetworkA,7170,7170,7170,1989-08-19,717.0000000000945,716.972,2015-01-01 01:59:30,bin7170,35,False -CTSPillarNetworkA,7171,7171,7171,1989-08-20,717.1000000000945,717.07196,2015-01-01 01:59:31,bin7171,75,False -CTSPillarNetworkA,7172,7172,7172,1989-08-21,717.2000000000945,717.17194,2015-01-01 01:59:32,bin7172,35,False -CTSPillarNetworkA,7173,7173,7173,1989-08-22,717.3000000000945,717.2719,2015-01-01 01:59:33,bin7173,75,False -CTSPillarNetworkA,7174,7174,7174,1989-08-23,717.4000000000946,717.3719,2015-01-01 01:59:34,bin7174,35,False -CTSPillarNetworkA,7175,7175,7175,1989-08-24,717.5000000000946,717.47186,2015-01-01 01:59:35,bin7175,75,False -CTSPillarNetworkA,7176,7176,7176,1989-08-25,717.6000000000946,717.57184,2015-01-01 01:59:36,bin7176,35,False -CTSPillarNetworkA,7177,7177,7177,1989-08-26,717.7000000000946,717.6718,2015-01-01 01:59:37,bin7177,75,False -CTSPillarNetworkA,7178,7178,7178,1989-08-27,717.8000000000947,717.7718,2015-01-01 01:59:38,bin7178,35,False -CTSPillarNetworkA,7179,7179,7179,1989-08-28,717.9000000000947,717.87177,2015-01-01 01:59:39,bin7179,75,False -CTSPillarNetworkA,7180,7180,7180,1989-08-29,718.0000000000947,717.97174,2015-01-01 01:59:40,bin7180,35,False -CTSPillarNetworkA,7181,7181,7181,1989-08-30,718.1000000000947,718.0717,2015-01-01 01:59:41,bin7181,75,False -CTSPillarNetworkA,7182,7182,7182,1989-08-31,718.2000000000947,718.1717,2015-01-01 01:59:42,bin7182,35,False -CTSPillarNetworkA,7183,7183,7183,1989-09-01,718.3000000000948,718.27167,2015-01-01 01:59:43,bin7183,75,False -CTSPillarNetworkA,7184,7184,7184,1989-09-02,718.4000000000948,718.37164,2015-01-01 01:59:44,bin7184,35,False -CTSPillarNetworkA,7185,7185,7185,1989-09-03,718.5000000000948,718.4716,2015-01-01 01:59:45,bin7185,75,False -CTSPillarNetworkA,7186,7186,7186,1989-09-04,718.6000000000948,718.5716,2015-01-01 01:59:46,bin7186,35,False -CTSPillarNetworkA,7187,7187,7187,1989-09-05,718.7000000000949,718.6716,2015-01-01 01:59:47,bin7187,75,False -CTSPillarNetworkA,7188,7188,7188,1989-09-06,718.8000000000949,718.77155,2015-01-01 01:59:48,bin7188,35,False -CTSPillarNetworkA,7189,7189,7189,1989-09-07,718.9000000000949,718.8715,2015-01-01 01:59:49,bin7189,75,False -CTSPillarNetworkA,7190,7190,7190,1989-09-08,719.0000000000949,718.9715,2015-01-01 01:59:50,bin7190,35,False -CTSPillarNetworkA,7191,7191,7191,1989-09-09,719.100000000095,719.0715,2015-01-01 01:59:51,bin7191,75,False -CTSPillarNetworkA,7192,7192,7192,1989-09-10,719.200000000095,719.17145,2015-01-01 01:59:52,bin7192,35,False -CTSPillarNetworkA,7193,7193,7193,1989-09-11,719.300000000095,719.2714,2015-01-01 01:59:53,bin7193,75,False -CTSPillarNetworkA,7194,7194,7194,1989-09-12,719.400000000095,719.3714,2015-01-01 01:59:54,bin7194,35,False -CTSPillarNetworkA,7195,7195,7195,1989-09-13,719.500000000095,719.4714,2015-01-01 01:59:55,bin7195,75,False -CTSPillarNetworkA,7196,7196,7196,1989-09-14,719.6000000000951,719.57135,2015-01-01 01:59:56,bin7196,35,False -CTSPillarNetworkA,7197,7197,7197,1989-09-15,719.7000000000951,719.6713,2015-01-01 01:59:57,bin7197,75,False -CTSPillarNetworkA,7198,7198,7198,1989-09-16,719.8000000000951,719.7713,2015-01-01 01:59:58,bin7198,35,False -CTSPillarNetworkA,7199,7199,7199,1989-09-17,719.9000000000951,719.8713,2015-01-01 01:59:59,bin7199,75,False -CTSPillarNetworkA,7200,7200,7200,1989-09-18,720.0000000000952,719.97125,2015-01-01 02:00:00,bin7200,35,False -CTSPillarNetworkA,7201,7201,7201,1989-09-19,720.1000000000952,720.0712,2015-01-01 02:00:01,bin7201,75,False -CTSPillarNetworkA,7202,7202,7202,1989-09-20,720.2000000000952,720.1712,2015-01-01 02:00:02,bin7202,35,False -CTSPillarNetworkA,7203,7203,7203,1989-09-21,720.3000000000952,720.2712,2015-01-01 02:00:03,bin7203,75,False -CTSPillarNetworkA,7204,7204,7204,1989-09-22,720.4000000000952,720.37115,2015-01-01 02:00:04,bin7204,35,False -CTSPillarNetworkA,7205,7205,7205,1989-09-23,720.5000000000953,720.4711,2015-01-01 02:00:05,bin7205,75,False -CTSPillarNetworkA,7206,7206,7206,1989-09-24,720.6000000000953,720.5711,2015-01-01 02:00:06,bin7206,35,False -CTSPillarNetworkA,7207,7207,7207,1989-09-25,720.7000000000953,720.6711,2015-01-01 02:00:07,bin7207,75,False -CTSPillarNetworkA,7208,7208,7208,1989-09-26,720.8000000000953,720.77106,2015-01-01 02:00:08,bin7208,35,False -CTSPillarNetworkA,7209,7209,7209,1989-09-27,720.9000000000954,720.87103,2015-01-01 02:00:09,bin7209,75,False -CTSPillarNetworkA,7210,7210,7210,1989-09-28,721.0000000000954,720.971,2015-01-01 02:00:10,bin7210,35,False -CTSPillarNetworkA,7211,7211,7211,1989-09-29,721.1000000000954,721.071,2015-01-01 02:00:11,bin7211,75,False -CTSPillarNetworkA,7212,7212,7212,1989-09-30,721.2000000000954,721.17096,2015-01-01 02:00:12,bin7212,35,False -CTSPillarNetworkA,7213,7213,7213,1989-10-01,721.3000000000955,721.27094,2015-01-01 02:00:13,bin7213,75,False -CTSPillarNetworkA,7214,7214,7214,1989-10-02,721.4000000000955,721.3709,2015-01-01 02:00:14,bin7214,35,False -CTSPillarNetworkA,7215,7215,7215,1989-10-03,721.5000000000955,721.4709,2015-01-01 02:00:15,bin7215,75,False -CTSPillarNetworkA,7216,7216,7216,1989-10-04,721.6000000000955,721.57086,2015-01-01 02:00:16,bin7216,35,False -CTSPillarNetworkA,7217,7217,7217,1989-10-05,721.7000000000955,721.67084,2015-01-01 02:00:17,bin7217,75,False -CTSPillarNetworkA,7218,7218,7218,1989-10-06,721.8000000000956,721.7708,2015-01-01 02:00:18,bin7218,35,False -CTSPillarNetworkA,7219,7219,7219,1989-10-07,721.9000000000956,721.8708,2015-01-01 02:00:19,bin7219,75,False -CTSPillarNetworkA,7220,7220,7220,1989-10-08,722.0000000000956,721.97076,2015-01-01 02:00:20,bin7220,35,False -CTSPillarNetworkA,7221,7221,7221,1989-10-09,722.1000000000956,722.07074,2015-01-01 02:00:21,bin7221,75,False -CTSPillarNetworkA,7222,7222,7222,1989-10-10,722.2000000000957,722.1707,2015-01-01 02:00:22,bin7222,35,False -CTSPillarNetworkA,7223,7223,7223,1989-10-11,722.3000000000957,722.2707,2015-01-01 02:00:23,bin7223,75,False -CTSPillarNetworkA,7224,7224,7224,1989-10-12,722.4000000000957,722.37067,2015-01-01 02:00:24,bin7224,35,False -CTSPillarNetworkA,7225,7225,7225,1989-10-13,722.5000000000957,722.47064,2015-01-01 02:00:25,bin7225,75,False -CTSPillarNetworkA,7226,7226,7226,1989-10-14,722.6000000000957,722.5706,2015-01-01 02:00:26,bin7226,35,False -CTSPillarNetworkA,7227,7227,7227,1989-10-15,722.7000000000958,722.6706,2015-01-01 02:00:27,bin7227,75,False -CTSPillarNetworkA,7228,7228,7228,1989-10-16,722.8000000000958,722.77057,2015-01-01 02:00:28,bin7228,35,False -CTSPillarNetworkA,7229,7229,7229,1989-10-17,722.9000000000958,722.87054,2015-01-01 02:00:29,bin7229,75,False -CTSPillarNetworkA,7230,7230,7230,1989-10-18,723.0000000000958,722.9705,2015-01-01 02:00:30,bin7230,35,False -CTSPillarNetworkA,7231,7231,7231,1989-10-19,723.1000000000959,723.0705,2015-01-01 02:00:31,bin7231,75,False -CTSPillarNetworkA,7232,7232,7232,1989-10-20,723.2000000000959,723.1705,2015-01-01 02:00:32,bin7232,35,False -CTSPillarNetworkA,7233,7233,7233,1989-10-21,723.3000000000959,723.27045,2015-01-01 02:00:33,bin7233,75,False -CTSPillarNetworkA,7234,7234,7234,1989-10-22,723.4000000000959,723.3704,2015-01-01 02:00:34,bin7234,35,False -CTSPillarNetworkA,7235,7235,7235,1989-10-23,723.500000000096,723.4704,2015-01-01 02:00:35,bin7235,75,False -CTSPillarNetworkA,7236,7236,7236,1989-10-24,723.600000000096,723.5704,2015-01-01 02:00:36,bin7236,35,False -CTSPillarNetworkA,7237,7237,7237,1989-10-25,723.700000000096,723.67035,2015-01-01 02:00:37,bin7237,75,False -CTSPillarNetworkA,7238,7238,7238,1989-10-26,723.800000000096,723.7703,2015-01-01 02:00:38,bin7238,35,False -CTSPillarNetworkA,7239,7239,7239,1989-10-27,723.900000000096,723.8703,2015-01-01 02:00:39,bin7239,75,False -CTSPillarNetworkA,7240,7240,7240,1989-10-28,724.0000000000961,723.9703,2015-01-01 02:00:40,bin7240,35,False -CTSPillarNetworkA,7241,7241,7241,1989-10-29,724.1000000000961,724.07025,2015-01-01 02:00:41,bin7241,75,False -CTSPillarNetworkA,7242,7242,7242,1989-10-30,724.2000000000961,724.1702,2015-01-01 02:00:42,bin7242,35,False -CTSPillarNetworkA,7243,7243,7243,1989-10-31,724.3000000000961,724.2702,2015-01-01 02:00:43,bin7243,75,False -CTSPillarNetworkA,7244,7244,7244,1989-11-01,724.4000000000962,724.3702,2015-01-01 02:00:44,bin7244,35,False -CTSPillarNetworkA,7245,7245,7245,1989-11-02,724.5000000000962,724.47015,2015-01-01 02:00:45,bin7245,75,False -CTSPillarNetworkA,7246,7246,7246,1989-11-03,724.6000000000962,724.5701,2015-01-01 02:00:46,bin7246,35,False -CTSPillarNetworkA,7247,7247,7247,1989-11-04,724.7000000000962,724.6701,2015-01-01 02:00:47,bin7247,75,False -CTSPillarNetworkA,7248,7248,7248,1989-11-05,724.8000000000962,724.7701,2015-01-01 02:00:48,bin7248,35,False -CTSPillarNetworkA,7249,7249,7249,1989-11-06,724.9000000000963,724.87006,2015-01-01 02:00:49,bin7249,75,False -CTSPillarNetworkA,7250,7250,7250,1989-11-07,725.0000000000963,724.97003,2015-01-01 02:00:50,bin7250,35,False -CTSPillarNetworkA,7251,7251,7251,1989-11-08,725.1000000000963,725.07,2015-01-01 02:00:51,bin7251,75,False -CTSPillarNetworkA,7252,7252,7252,1989-11-09,725.2000000000963,725.17,2015-01-01 02:00:52,bin7252,35,False -CTSPillarNetworkA,7253,7253,7253,1989-11-10,725.3000000000964,725.26996,2015-01-01 02:00:53,bin7253,75,False -CTSPillarNetworkA,7254,7254,7254,1989-11-11,725.4000000000964,725.36993,2015-01-01 02:00:54,bin7254,35,False -CTSPillarNetworkA,7255,7255,7255,1989-11-12,725.5000000000964,725.4699,2015-01-01 02:00:55,bin7255,75,False -CTSPillarNetworkA,7256,7256,7256,1989-11-13,725.6000000000964,725.5699,2015-01-01 02:00:56,bin7256,35,False -CTSPillarNetworkA,7257,7257,7257,1989-11-14,725.7000000000965,725.66986,2015-01-01 02:00:57,bin7257,75,False -CTSPillarNetworkA,7258,7258,7258,1989-11-15,725.8000000000965,725.76984,2015-01-01 02:00:58,bin7258,35,False -CTSPillarNetworkA,7259,7259,7259,1989-11-16,725.9000000000965,725.8698,2015-01-01 02:00:59,bin7259,75,False -CTSPillarNetworkA,7260,7260,7260,1989-11-17,726.0000000000965,725.9698,2015-01-01 02:01:00,bin7260,35,False -CTSPillarNetworkA,7261,7261,7261,1989-11-18,726.1000000000965,726.06976,2015-01-01 02:01:01,bin7261,75,False -CTSPillarNetworkA,7262,7262,7262,1989-11-19,726.2000000000966,726.16974,2015-01-01 02:01:02,bin7262,35,False -CTSPillarNetworkA,7263,7263,7263,1989-11-20,726.3000000000966,726.2697,2015-01-01 02:01:03,bin7263,75,False -CTSPillarNetworkA,7264,7264,7264,1989-11-21,726.4000000000966,726.3697,2015-01-01 02:01:04,bin7264,35,False -CTSPillarNetworkA,7265,7265,7265,1989-11-22,726.5000000000966,726.46967,2015-01-01 02:01:05,bin7265,75,False -CTSPillarNetworkA,7266,7266,7266,1989-11-23,726.6000000000967,726.56964,2015-01-01 02:01:06,bin7266,35,False -CTSPillarNetworkA,7267,7267,7267,1989-11-24,726.7000000000967,726.6696,2015-01-01 02:01:07,bin7267,75,False -CTSPillarNetworkA,7268,7268,7268,1989-11-25,726.8000000000967,726.7696,2015-01-01 02:01:08,bin7268,35,False -CTSPillarNetworkA,7269,7269,7269,1989-11-26,726.9000000000967,726.86957,2015-01-01 02:01:09,bin7269,75,False -CTSPillarNetworkA,7270,7270,7270,1989-11-27,727.0000000000967,726.96954,2015-01-01 02:01:10,bin7270,35,False -CTSPillarNetworkA,7271,7271,7271,1989-11-28,727.1000000000968,727.0695,2015-01-01 02:01:11,bin7271,75,False -CTSPillarNetworkA,7272,7272,7272,1989-11-29,727.2000000000968,727.1695,2015-01-01 02:01:12,bin7272,35,False -CTSPillarNetworkA,7273,7273,7273,1989-11-30,727.3000000000968,727.2695,2015-01-01 02:01:13,bin7273,75,False -CTSPillarNetworkA,7274,7274,7274,1989-12-01,727.4000000000968,727.36945,2015-01-01 02:01:14,bin7274,35,False -CTSPillarNetworkA,7275,7275,7275,1989-12-02,727.5000000000969,727.4694,2015-01-01 02:01:15,bin7275,75,False -CTSPillarNetworkA,7276,7276,7276,1989-12-03,727.6000000000969,727.5694,2015-01-01 02:01:16,bin7276,35,False -CTSPillarNetworkA,7277,7277,7277,1989-12-04,727.7000000000969,727.6694,2015-01-01 02:01:17,bin7277,75,False -CTSPillarNetworkA,7278,7278,7278,1989-12-05,727.8000000000969,727.76935,2015-01-01 02:01:18,bin7278,35,False -CTSPillarNetworkA,7279,7279,7279,1989-12-06,727.900000000097,727.8693,2015-01-01 02:01:19,bin7279,75,False -CTSPillarNetworkA,7280,7280,7280,1989-12-07,728.000000000097,727.9693,2015-01-01 02:01:20,bin7280,35,False -CTSPillarNetworkA,7281,7281,7281,1989-12-08,728.100000000097,728.0693,2015-01-01 02:01:21,bin7281,75,False -CTSPillarNetworkA,7282,7282,7282,1989-12-09,728.200000000097,728.16925,2015-01-01 02:01:22,bin7282,35,False -CTSPillarNetworkA,7283,7283,7283,1989-12-10,728.300000000097,728.2692,2015-01-01 02:01:23,bin7283,75,False -CTSPillarNetworkA,7284,7284,7284,1989-12-11,728.4000000000971,728.3692,2015-01-01 02:01:24,bin7284,35,False -CTSPillarNetworkA,7285,7285,7285,1989-12-12,728.5000000000971,728.4692,2015-01-01 02:01:25,bin7285,75,False -CTSPillarNetworkA,7286,7286,7286,1989-12-13,728.6000000000971,728.56915,2015-01-01 02:01:26,bin7286,35,False -CTSPillarNetworkA,7287,7287,7287,1989-12-14,728.7000000000971,728.6691,2015-01-01 02:01:27,bin7287,75,False -CTSPillarNetworkA,7288,7288,7288,1989-12-15,728.8000000000972,728.7691,2015-01-01 02:01:28,bin7288,35,False -CTSPillarNetworkA,7289,7289,7289,1989-12-16,728.9000000000972,728.8691,2015-01-01 02:01:29,bin7289,75,False -CTSPillarNetworkA,7290,7290,7290,1989-12-17,729.0000000000972,728.96906,2015-01-01 02:01:30,bin7290,35,False -CTSPillarNetworkA,7291,7291,7291,1989-12-18,729.1000000000972,729.06903,2015-01-01 02:01:31,bin7291,75,False -CTSPillarNetworkA,7292,7292,7292,1989-12-19,729.2000000000972,729.169,2015-01-01 02:01:32,bin7292,35,False -CTSPillarNetworkA,7293,7293,7293,1989-12-20,729.3000000000973,729.269,2015-01-01 02:01:33,bin7293,75,False -CTSPillarNetworkA,7294,7294,7294,1989-12-21,729.4000000000973,729.36896,2015-01-01 02:01:34,bin7294,35,False -CTSPillarNetworkA,7295,7295,7295,1989-12-22,729.5000000000973,729.46893,2015-01-01 02:01:35,bin7295,75,False -CTSPillarNetworkA,7296,7296,7296,1989-12-23,729.6000000000973,729.5689,2015-01-01 02:01:36,bin7296,35,False -CTSPillarNetworkA,7297,7297,7297,1989-12-24,729.7000000000974,729.6689,2015-01-01 02:01:37,bin7297,75,False -CTSPillarNetworkA,7298,7298,7298,1989-12-25,729.8000000000974,729.76886,2015-01-01 02:01:38,bin7298,35,False -CTSPillarNetworkA,7299,7299,7299,1989-12-26,729.9000000000974,729.86884,2015-01-01 02:01:39,bin7299,75,False -CTSPillarNetworkA,7300,7300,7300,1989-12-27,730.0000000000974,729.9688,2015-01-01 02:01:40,bin7300,35,False -CTSPillarNetworkA,7301,7301,7301,1989-12-28,730.1000000000975,730.0688,2015-01-01 02:01:41,bin7301,75,False -CTSPillarNetworkA,7302,7302,7302,1989-12-29,730.2000000000975,730.16876,2015-01-01 02:01:42,bin7302,35,False -CTSPillarNetworkA,7303,7303,7303,1989-12-30,730.3000000000975,730.26874,2015-01-01 02:01:43,bin7303,75,False -CTSPillarNetworkA,7304,7304,7304,1989-12-31,730.4000000000975,730.3687,2015-01-01 02:01:44,bin7304,35,False -CTSPillarNetworkA,7305,7305,7305,1990-01-01,730.5000000000975,730.4687,2015-01-01 02:01:45,bin7305,75,False -CTSPillarNetworkA,7306,7306,7306,1990-01-02,730.6000000000976,730.56866,2015-01-01 02:01:46,bin7306,35,False -CTSPillarNetworkA,7307,7307,7307,1990-01-03,730.7000000000976,730.66864,2015-01-01 02:01:47,bin7307,75,False -CTSPillarNetworkA,7308,7308,7308,1990-01-04,730.8000000000976,730.7686,2015-01-01 02:01:48,bin7308,35,False -CTSPillarNetworkA,7309,7309,7309,1990-01-05,730.9000000000976,730.8686,2015-01-01 02:01:49,bin7309,75,False -CTSPillarNetworkA,7310,7310,7310,1990-01-06,731.0000000000977,730.96857,2015-01-01 02:01:50,bin7310,35,False -CTSPillarNetworkA,7311,7311,7311,1990-01-07,731.1000000000977,731.06854,2015-01-01 02:01:51,bin7311,75,False -CTSPillarNetworkA,7312,7312,7312,1990-01-08,731.2000000000977,731.1685,2015-01-01 02:01:52,bin7312,35,False -CTSPillarNetworkA,7313,7313,7313,1990-01-09,731.3000000000977,731.2685,2015-01-01 02:01:53,bin7313,75,False -CTSPillarNetworkA,7314,7314,7314,1990-01-10,731.4000000000977,731.36847,2015-01-01 02:01:54,bin7314,35,False -CTSPillarNetworkA,7315,7315,7315,1990-01-11,731.5000000000978,731.46844,2015-01-01 02:01:55,bin7315,75,False -CTSPillarNetworkA,7316,7316,7316,1990-01-12,731.6000000000978,731.5684,2015-01-01 02:01:56,bin7316,35,False -CTSPillarNetworkA,7317,7317,7317,1990-01-13,731.7000000000978,731.6684,2015-01-01 02:01:57,bin7317,75,False -CTSPillarNetworkA,7318,7318,7318,1990-01-14,731.8000000000978,731.7684,2015-01-01 02:01:58,bin7318,35,False -CTSPillarNetworkA,7319,7319,7319,1990-01-15,731.9000000000979,731.86835,2015-01-01 02:01:59,bin7319,75,False -CTSPillarNetworkA,7320,7320,7320,1990-01-16,732.0000000000979,731.9683,2015-01-01 02:02:00,bin7320,35,False -CTSPillarNetworkA,7321,7321,7321,1990-01-17,732.1000000000979,732.0683,2015-01-01 02:02:01,bin7321,75,False -CTSPillarNetworkA,7322,7322,7322,1990-01-18,732.2000000000979,732.1683,2015-01-01 02:02:02,bin7322,35,False -CTSPillarNetworkA,7323,7323,7323,1990-01-19,732.300000000098,732.26825,2015-01-01 02:02:03,bin7323,75,False -CTSPillarNetworkA,7324,7324,7324,1990-01-20,732.400000000098,732.3682,2015-01-01 02:02:04,bin7324,35,False -CTSPillarNetworkA,7325,7325,7325,1990-01-21,732.500000000098,732.4682,2015-01-01 02:02:05,bin7325,75,False -CTSPillarNetworkA,7326,7326,7326,1990-01-22,732.600000000098,732.5682,2015-01-01 02:02:06,bin7326,35,False -CTSPillarNetworkA,7327,7327,7327,1990-01-23,732.700000000098,732.66815,2015-01-01 02:02:07,bin7327,75,False -CTSPillarNetworkA,7328,7328,7328,1990-01-24,732.8000000000981,732.7681,2015-01-01 02:02:08,bin7328,35,False -CTSPillarNetworkA,7329,7329,7329,1990-01-25,732.9000000000981,732.8681,2015-01-01 02:02:09,bin7329,75,False -CTSPillarNetworkA,7330,7330,7330,1990-01-26,733.0000000000981,732.9681,2015-01-01 02:02:10,bin7330,35,False -CTSPillarNetworkA,7331,7331,7331,1990-01-27,733.1000000000981,733.06805,2015-01-01 02:02:11,bin7331,75,False -CTSPillarNetworkA,7332,7332,7332,1990-01-28,733.2000000000982,733.168,2015-01-01 02:02:12,bin7332,35,False -CTSPillarNetworkA,7333,7333,7333,1990-01-29,733.3000000000982,733.268,2015-01-01 02:02:13,bin7333,75,False -CTSPillarNetworkA,7334,7334,7334,1990-01-30,733.4000000000982,733.368,2015-01-01 02:02:14,bin7334,35,False -CTSPillarNetworkA,7335,7335,7335,1990-01-31,733.5000000000982,733.46796,2015-01-01 02:02:15,bin7335,75,False -CTSPillarNetworkA,7336,7336,7336,1990-02-01,733.6000000000982,733.56793,2015-01-01 02:02:16,bin7336,35,False -CTSPillarNetworkA,7337,7337,7337,1990-02-02,733.7000000000983,733.6679,2015-01-01 02:02:17,bin7337,75,False -CTSPillarNetworkA,7338,7338,7338,1990-02-03,733.8000000000983,733.7679,2015-01-01 02:02:18,bin7338,35,False -CTSPillarNetworkA,7339,7339,7339,1990-02-04,733.9000000000983,733.86786,2015-01-01 02:02:19,bin7339,75,False -CTSPillarNetworkA,7340,7340,7340,1990-02-05,734.0000000000983,733.96783,2015-01-01 02:02:20,bin7340,35,False -CTSPillarNetworkA,7341,7341,7341,1990-02-06,734.1000000000984,734.0678,2015-01-01 02:02:21,bin7341,75,False -CTSPillarNetworkA,7342,7342,7342,1990-02-07,734.2000000000984,734.1678,2015-01-01 02:02:22,bin7342,35,False -CTSPillarNetworkA,7343,7343,7343,1990-02-08,734.3000000000984,734.26776,2015-01-01 02:02:23,bin7343,75,False -CTSPillarNetworkA,7344,7344,7344,1990-02-09,734.4000000000984,734.36774,2015-01-01 02:02:24,bin7344,35,False -CTSPillarNetworkA,7345,7345,7345,1990-02-10,734.5000000000985,734.4677,2015-01-01 02:02:25,bin7345,75,False -CTSPillarNetworkA,7346,7346,7346,1990-02-11,734.6000000000985,734.5677,2015-01-01 02:02:26,bin7346,35,False -CTSPillarNetworkA,7347,7347,7347,1990-02-12,734.7000000000985,734.66766,2015-01-01 02:02:27,bin7347,75,False -CTSPillarNetworkA,7348,7348,7348,1990-02-13,734.8000000000985,734.76764,2015-01-01 02:02:28,bin7348,35,False -CTSPillarNetworkA,7349,7349,7349,1990-02-14,734.9000000000985,734.8676,2015-01-01 02:02:29,bin7349,75,False -CTSPillarNetworkA,7350,7350,7350,1990-02-15,735.0000000000986,734.9676,2015-01-01 02:02:30,bin7350,35,False -CTSPillarNetworkA,7351,7351,7351,1990-02-16,735.1000000000986,735.06757,2015-01-01 02:02:31,bin7351,75,False -CTSPillarNetworkA,7352,7352,7352,1990-02-17,735.2000000000986,735.16754,2015-01-01 02:02:32,bin7352,35,False -CTSPillarNetworkA,7353,7353,7353,1990-02-18,735.3000000000986,735.2675,2015-01-01 02:02:33,bin7353,75,False -CTSPillarNetworkA,7354,7354,7354,1990-02-19,735.4000000000987,735.3675,2015-01-01 02:02:34,bin7354,35,False -CTSPillarNetworkA,7355,7355,7355,1990-02-20,735.5000000000987,735.46747,2015-01-01 02:02:35,bin7355,75,False -CTSPillarNetworkA,7356,7356,7356,1990-02-21,735.6000000000987,735.56744,2015-01-01 02:02:36,bin7356,35,False -CTSPillarNetworkA,7357,7357,7357,1990-02-22,735.7000000000987,735.6674,2015-01-01 02:02:37,bin7357,75,False -CTSPillarNetworkA,7358,7358,7358,1990-02-23,735.8000000000987,735.7674,2015-01-01 02:02:38,bin7358,35,False -CTSPillarNetworkA,7359,7359,7359,1990-02-24,735.9000000000988,735.8674,2015-01-01 02:02:39,bin7359,75,False -CTSPillarNetworkA,7360,7360,7360,1990-02-25,736.0000000000988,735.96735,2015-01-01 02:02:40,bin7360,35,False -CTSPillarNetworkA,7361,7361,7361,1990-02-26,736.1000000000988,736.0673,2015-01-01 02:02:41,bin7361,75,False -CTSPillarNetworkA,7362,7362,7362,1990-02-27,736.2000000000988,736.1673,2015-01-01 02:02:42,bin7362,35,False -CTSPillarNetworkA,7363,7363,7363,1990-02-28,736.3000000000989,736.2673,2015-01-01 02:02:43,bin7363,75,False -CTSPillarNetworkA,7364,7364,7364,1990-03-01,736.4000000000989,736.36725,2015-01-01 02:02:44,bin7364,35,False -CTSPillarNetworkA,7365,7365,7365,1990-03-02,736.5000000000989,736.4672,2015-01-01 02:02:45,bin7365,75,False -CTSPillarNetworkA,7366,7366,7366,1990-03-03,736.6000000000989,736.5672,2015-01-01 02:02:46,bin7366,35,False -CTSPillarNetworkA,7367,7367,7367,1990-03-04,736.700000000099,736.6672,2015-01-01 02:02:47,bin7367,75,False -CTSPillarNetworkA,7368,7368,7368,1990-03-05,736.800000000099,736.76715,2015-01-01 02:02:48,bin7368,35,False -CTSPillarNetworkA,7369,7369,7369,1990-03-06,736.900000000099,736.8671,2015-01-01 02:02:49,bin7369,75,False -CTSPillarNetworkA,7370,7370,7370,1990-03-07,737.000000000099,736.9671,2015-01-01 02:02:50,bin7370,35,False -CTSPillarNetworkA,7371,7371,7371,1990-03-08,737.100000000099,737.0671,2015-01-01 02:02:51,bin7371,75,False -CTSPillarNetworkA,7372,7372,7372,1990-03-09,737.2000000000991,737.16705,2015-01-01 02:02:52,bin7372,35,False -CTSPillarNetworkA,7373,7373,7373,1990-03-10,737.3000000000991,737.267,2015-01-01 02:02:53,bin7373,75,False -CTSPillarNetworkA,7374,7374,7374,1990-03-11,737.4000000000991,737.367,2015-01-01 02:02:54,bin7374,35,False -CTSPillarNetworkA,7375,7375,7375,1990-03-12,737.5000000000991,737.467,2015-01-01 02:02:55,bin7375,75,False -CTSPillarNetworkA,7376,7376,7376,1990-03-13,737.6000000000992,737.56696,2015-01-01 02:02:56,bin7376,35,False -CTSPillarNetworkA,7377,7377,7377,1990-03-14,737.7000000000992,737.66693,2015-01-01 02:02:57,bin7377,75,False -CTSPillarNetworkA,7378,7378,7378,1990-03-15,737.8000000000992,737.7669,2015-01-01 02:02:58,bin7378,35,False -CTSPillarNetworkA,7379,7379,7379,1990-03-16,737.9000000000992,737.8669,2015-01-01 02:02:59,bin7379,75,False -CTSPillarNetworkA,7380,7380,7380,1990-03-17,738.0000000000992,737.96686,2015-01-01 02:03:00,bin7380,35,False -CTSPillarNetworkA,7381,7381,7381,1990-03-18,738.1000000000993,738.06683,2015-01-01 02:03:01,bin7381,75,False -CTSPillarNetworkA,7382,7382,7382,1990-03-19,738.2000000000993,738.1668,2015-01-01 02:03:02,bin7382,35,False -CTSPillarNetworkA,7383,7383,7383,1990-03-20,738.3000000000993,738.2668,2015-01-01 02:03:03,bin7383,75,False -CTSPillarNetworkA,7384,7384,7384,1990-03-21,738.4000000000993,738.36676,2015-01-01 02:03:04,bin7384,35,False -CTSPillarNetworkA,7385,7385,7385,1990-03-22,738.5000000000994,738.46674,2015-01-01 02:03:05,bin7385,75,False -CTSPillarNetworkA,7386,7386,7386,1990-03-23,738.6000000000994,738.5667,2015-01-01 02:03:06,bin7386,35,False -CTSPillarNetworkA,7387,7387,7387,1990-03-24,738.7000000000994,738.6667,2015-01-01 02:03:07,bin7387,75,False -CTSPillarNetworkA,7388,7388,7388,1990-03-25,738.8000000000994,738.76666,2015-01-01 02:03:08,bin7388,35,False -CTSPillarNetworkA,7389,7389,7389,1990-03-26,738.9000000000995,738.86664,2015-01-01 02:03:09,bin7389,75,False -CTSPillarNetworkA,7390,7390,7390,1990-03-27,739.0000000000995,738.9666,2015-01-01 02:03:10,bin7390,35,False -CTSPillarNetworkA,7391,7391,7391,1990-03-28,739.1000000000995,739.0666,2015-01-01 02:03:11,bin7391,75,False -CTSPillarNetworkA,7392,7392,7392,1990-03-29,739.2000000000995,739.16656,2015-01-01 02:03:12,bin7392,35,False -CTSPillarNetworkA,7393,7393,7393,1990-03-30,739.3000000000995,739.26654,2015-01-01 02:03:13,bin7393,75,False -CTSPillarNetworkA,7394,7394,7394,1990-03-31,739.4000000000996,739.3665,2015-01-01 02:03:14,bin7394,35,False -CTSPillarNetworkA,7395,7395,7395,1990-04-01,739.5000000000996,739.4665,2015-01-01 02:03:15,bin7395,75,False -CTSPillarNetworkA,7396,7396,7396,1990-04-02,739.6000000000996,739.56647,2015-01-01 02:03:16,bin7396,35,False -CTSPillarNetworkA,7397,7397,7397,1990-04-03,739.7000000000996,739.66644,2015-01-01 02:03:17,bin7397,75,False -CTSPillarNetworkA,7398,7398,7398,1990-04-04,739.8000000000997,739.7664,2015-01-01 02:03:18,bin7398,35,False -CTSPillarNetworkA,7399,7399,7399,1990-04-05,739.9000000000997,739.8664,2015-01-01 02:03:19,bin7399,75,False -CTSPillarNetworkA,7400,7400,7400,1990-04-06,740.0000000000997,739.9664,2015-01-01 02:03:20,bin7400,35,False -CTSPillarNetworkA,7401,7401,7401,1990-04-07,740.1000000000997,740.06635,2015-01-01 02:03:21,bin7401,75,False -CTSPillarNetworkA,7402,7402,7402,1990-04-08,740.2000000000997,740.1663,2015-01-01 02:03:22,bin7402,35,False -CTSPillarNetworkA,7403,7403,7403,1990-04-09,740.3000000000998,740.2663,2015-01-01 02:03:23,bin7403,75,False -CTSPillarNetworkA,7404,7404,7404,1990-04-10,740.4000000000998,740.3663,2015-01-01 02:03:24,bin7404,35,False -CTSPillarNetworkA,7405,7405,7405,1990-04-11,740.5000000000998,740.46625,2015-01-01 02:03:25,bin7405,75,False -CTSPillarNetworkA,7406,7406,7406,1990-04-12,740.6000000000998,740.5662,2015-01-01 02:03:26,bin7406,35,False -CTSPillarNetworkA,7407,7407,7407,1990-04-13,740.7000000000999,740.6662,2015-01-01 02:03:27,bin7407,75,False -CTSPillarNetworkA,7408,7408,7408,1990-04-14,740.8000000000999,740.7662,2015-01-01 02:03:28,bin7408,35,False -CTSPillarNetworkA,7409,7409,7409,1990-04-15,740.9000000000999,740.86615,2015-01-01 02:03:29,bin7409,75,False -CTSPillarNetworkA,7410,7410,7410,1990-04-16,741.0000000000999,740.9661,2015-01-01 02:03:30,bin7410,35,False -CTSPillarNetworkA,7411,7411,7411,1990-04-17,741.1000000001,741.0661,2015-01-01 02:03:31,bin7411,75,False -CTSPillarNetworkA,7412,7412,7412,1990-04-18,741.2000000001,741.1661,2015-01-01 02:03:32,bin7412,35,False -CTSPillarNetworkA,7413,7413,7413,1990-04-19,741.3000000001,741.26605,2015-01-01 02:03:33,bin7413,75,False -CTSPillarNetworkA,7414,7414,7414,1990-04-20,741.4000000001,741.366,2015-01-01 02:03:34,bin7414,35,False -CTSPillarNetworkA,7415,7415,7415,1990-04-21,741.5000000001,741.466,2015-01-01 02:03:35,bin7415,75,False -CTSPillarNetworkA,7416,7416,7416,1990-04-22,741.6000000001001,741.566,2015-01-01 02:03:36,bin7416,35,False -CTSPillarNetworkA,7417,7417,7417,1990-04-23,741.7000000001001,741.66595,2015-01-01 02:03:37,bin7417,75,False -CTSPillarNetworkA,7418,7418,7418,1990-04-24,741.8000000001001,741.7659,2015-01-01 02:03:38,bin7418,35,False -CTSPillarNetworkA,7419,7419,7419,1990-04-25,741.9000000001001,741.8659,2015-01-01 02:03:39,bin7419,75,False -CTSPillarNetworkA,7420,7420,7420,1990-04-26,742.0000000001002,741.9659,2015-01-01 02:03:40,bin7420,35,False -CTSPillarNetworkA,7421,7421,7421,1990-04-27,742.1000000001002,742.06586,2015-01-01 02:03:41,bin7421,75,False -CTSPillarNetworkA,7422,7422,7422,1990-04-28,742.2000000001002,742.16583,2015-01-01 02:03:42,bin7422,35,False -CTSPillarNetworkA,7423,7423,7423,1990-04-29,742.3000000001002,742.2658,2015-01-01 02:03:43,bin7423,75,False -CTSPillarNetworkA,7424,7424,7424,1990-04-30,742.4000000001002,742.3658,2015-01-01 02:03:44,bin7424,35,False -CTSPillarNetworkA,7425,7425,7425,1990-05-01,742.5000000001003,742.46576,2015-01-01 02:03:45,bin7425,75,False -CTSPillarNetworkA,7426,7426,7426,1990-05-02,742.6000000001003,742.56573,2015-01-01 02:03:46,bin7426,35,False -CTSPillarNetworkA,7427,7427,7427,1990-05-03,742.7000000001003,742.6657,2015-01-01 02:03:47,bin7427,75,False -CTSPillarNetworkA,7428,7428,7428,1990-05-04,742.8000000001003,742.7657,2015-01-01 02:03:48,bin7428,35,False -CTSPillarNetworkA,7429,7429,7429,1990-05-05,742.9000000001004,742.86566,2015-01-01 02:03:49,bin7429,75,False -CTSPillarNetworkA,7430,7430,7430,1990-05-06,743.0000000001004,742.96564,2015-01-01 02:03:50,bin7430,35,False -CTSPillarNetworkA,7431,7431,7431,1990-05-07,743.1000000001004,743.0656,2015-01-01 02:03:51,bin7431,75,False -CTSPillarNetworkA,7432,7432,7432,1990-05-08,743.2000000001004,743.1656,2015-01-01 02:03:52,bin7432,35,False -CTSPillarNetworkA,7433,7433,7433,1990-05-09,743.3000000001005,743.26556,2015-01-01 02:03:53,bin7433,75,False -CTSPillarNetworkA,7434,7434,7434,1990-05-10,743.4000000001005,743.36554,2015-01-01 02:03:54,bin7434,35,False -CTSPillarNetworkA,7435,7435,7435,1990-05-11,743.5000000001005,743.4655,2015-01-01 02:03:55,bin7435,75,False -CTSPillarNetworkA,7436,7436,7436,1990-05-12,743.6000000001005,743.5655,2015-01-01 02:03:56,bin7436,35,False -CTSPillarNetworkA,7437,7437,7437,1990-05-13,743.7000000001005,743.66547,2015-01-01 02:03:57,bin7437,75,False -CTSPillarNetworkA,7438,7438,7438,1990-05-14,743.8000000001006,743.76544,2015-01-01 02:03:58,bin7438,35,False -CTSPillarNetworkA,7439,7439,7439,1990-05-15,743.9000000001006,743.8654,2015-01-01 02:03:59,bin7439,75,False -CTSPillarNetworkA,7440,7440,7440,1990-05-16,744.0000000001006,743.9654,2015-01-01 02:04:00,bin7440,35,False -CTSPillarNetworkA,7441,7441,7441,1990-05-17,744.1000000001006,744.06537,2015-01-01 02:04:01,bin7441,75,False -CTSPillarNetworkA,7442,7442,7442,1990-05-18,744.2000000001007,744.16534,2015-01-01 02:04:02,bin7442,35,False -CTSPillarNetworkA,7443,7443,7443,1990-05-19,744.3000000001007,744.2653,2015-01-01 02:04:03,bin7443,75,False -CTSPillarNetworkA,7444,7444,7444,1990-05-20,744.4000000001007,744.3653,2015-01-01 02:04:04,bin7444,35,False -CTSPillarNetworkA,7445,7445,7445,1990-05-21,744.5000000001007,744.4653,2015-01-01 02:04:05,bin7445,75,False -CTSPillarNetworkA,7446,7446,7446,1990-05-22,744.6000000001007,744.56525,2015-01-01 02:04:06,bin7446,35,False -CTSPillarNetworkA,7447,7447,7447,1990-05-23,744.7000000001008,744.6652,2015-01-01 02:04:07,bin7447,75,False -CTSPillarNetworkA,7448,7448,7448,1990-05-24,744.8000000001008,744.7652,2015-01-01 02:04:08,bin7448,35,False -CTSPillarNetworkA,7449,7449,7449,1990-05-25,744.9000000001008,744.8652,2015-01-01 02:04:09,bin7449,75,False -CTSPillarNetworkA,7450,7450,7450,1990-05-26,745.0000000001008,744.96515,2015-01-01 02:04:10,bin7450,35,False -CTSPillarNetworkA,7451,7451,7451,1990-05-27,745.1000000001009,745.0651,2015-01-01 02:04:11,bin7451,75,False -CTSPillarNetworkA,7452,7452,7452,1990-05-28,745.2000000001009,745.1651,2015-01-01 02:04:12,bin7452,35,False -CTSPillarNetworkA,7453,7453,7453,1990-05-29,745.3000000001009,745.2651,2015-01-01 02:04:13,bin7453,75,False -CTSPillarNetworkA,7454,7454,7454,1990-05-30,745.4000000001009,745.36505,2015-01-01 02:04:14,bin7454,35,False -CTSPillarNetworkA,7455,7455,7455,1990-05-31,745.500000000101,745.465,2015-01-01 02:04:15,bin7455,75,False -CTSPillarNetworkA,7456,7456,7456,1990-06-01,745.600000000101,745.565,2015-01-01 02:04:16,bin7456,35,False -CTSPillarNetworkA,7457,7457,7457,1990-06-02,745.700000000101,745.665,2015-01-01 02:04:17,bin7457,75,False -CTSPillarNetworkA,7458,7458,7458,1990-06-03,745.800000000101,745.76495,2015-01-01 02:04:18,bin7458,35,False -CTSPillarNetworkA,7459,7459,7459,1990-06-04,745.900000000101,745.8649,2015-01-01 02:04:19,bin7459,75,False -CTSPillarNetworkA,7460,7460,7460,1990-06-05,746.0000000001011,745.9649,2015-01-01 02:04:20,bin7460,35,False -CTSPillarNetworkA,7461,7461,7461,1990-06-06,746.1000000001011,746.0649,2015-01-01 02:04:21,bin7461,75,False -CTSPillarNetworkA,7462,7462,7462,1990-06-07,746.2000000001011,746.16486,2015-01-01 02:04:22,bin7462,35,False -CTSPillarNetworkA,7463,7463,7463,1990-06-08,746.3000000001011,746.26483,2015-01-01 02:04:23,bin7463,75,False -CTSPillarNetworkA,7464,7464,7464,1990-06-09,746.4000000001012,746.3648,2015-01-01 02:04:24,bin7464,35,False -CTSPillarNetworkA,7465,7465,7465,1990-06-10,746.5000000001012,746.4648,2015-01-01 02:04:25,bin7465,75,False -CTSPillarNetworkA,7466,7466,7466,1990-06-11,746.6000000001012,746.56476,2015-01-01 02:04:26,bin7466,35,False -CTSPillarNetworkA,7467,7467,7467,1990-06-12,746.7000000001012,746.66473,2015-01-01 02:04:27,bin7467,75,False -CTSPillarNetworkA,7468,7468,7468,1990-06-13,746.8000000001012,746.7647,2015-01-01 02:04:28,bin7468,35,False -CTSPillarNetworkA,7469,7469,7469,1990-06-14,746.9000000001013,746.8647,2015-01-01 02:04:29,bin7469,75,False -CTSPillarNetworkA,7470,7470,7470,1990-06-15,747.0000000001013,746.96466,2015-01-01 02:04:30,bin7470,35,False -CTSPillarNetworkA,7471,7471,7471,1990-06-16,747.1000000001013,747.06464,2015-01-01 02:04:31,bin7471,75,False -CTSPillarNetworkA,7472,7472,7472,1990-06-17,747.2000000001013,747.1646,2015-01-01 02:04:32,bin7472,35,False -CTSPillarNetworkA,7473,7473,7473,1990-06-18,747.3000000001014,747.2646,2015-01-01 02:04:33,bin7473,75,False -CTSPillarNetworkA,7474,7474,7474,1990-06-19,747.4000000001014,747.36456,2015-01-01 02:04:34,bin7474,35,False -CTSPillarNetworkA,7475,7475,7475,1990-06-20,747.5000000001014,747.46454,2015-01-01 02:04:35,bin7475,75,False -CTSPillarNetworkA,7476,7476,7476,1990-06-21,747.6000000001014,747.5645,2015-01-01 02:04:36,bin7476,35,False -CTSPillarNetworkA,7477,7477,7477,1990-06-22,747.7000000001015,747.6645,2015-01-01 02:04:37,bin7477,75,False -CTSPillarNetworkA,7478,7478,7478,1990-06-23,747.8000000001015,747.76447,2015-01-01 02:04:38,bin7478,35,False -CTSPillarNetworkA,7479,7479,7479,1990-06-24,747.9000000001015,747.86444,2015-01-01 02:04:39,bin7479,75,False -CTSPillarNetworkA,7480,7480,7480,1990-06-25,748.0000000001015,747.9644,2015-01-01 02:04:40,bin7480,35,False -CTSPillarNetworkA,7481,7481,7481,1990-06-26,748.1000000001015,748.0644,2015-01-01 02:04:41,bin7481,75,False -CTSPillarNetworkA,7482,7482,7482,1990-06-27,748.2000000001016,748.16437,2015-01-01 02:04:42,bin7482,35,False -CTSPillarNetworkA,7483,7483,7483,1990-06-28,748.3000000001016,748.26434,2015-01-01 02:04:43,bin7483,75,False -CTSPillarNetworkA,7484,7484,7484,1990-06-29,748.4000000001016,748.3643,2015-01-01 02:04:44,bin7484,35,False -CTSPillarNetworkA,7485,7485,7485,1990-06-30,748.5000000001016,748.4643,2015-01-01 02:04:45,bin7485,75,False -CTSPillarNetworkA,7486,7486,7486,1990-07-01,748.6000000001017,748.5643,2015-01-01 02:04:46,bin7486,35,False -CTSPillarNetworkA,7487,7487,7487,1990-07-02,748.7000000001017,748.66425,2015-01-01 02:04:47,bin7487,75,False -CTSPillarNetworkA,7488,7488,7488,1990-07-03,748.8000000001017,748.7642,2015-01-01 02:04:48,bin7488,35,False -CTSPillarNetworkA,7489,7489,7489,1990-07-04,748.9000000001017,748.8642,2015-01-01 02:04:49,bin7489,75,False -CTSPillarNetworkA,7490,7490,7490,1990-07-05,749.0000000001017,748.9642,2015-01-01 02:04:50,bin7490,35,False -CTSPillarNetworkA,7491,7491,7491,1990-07-06,749.1000000001018,749.06415,2015-01-01 02:04:51,bin7491,75,False -CTSPillarNetworkA,7492,7492,7492,1990-07-07,749.2000000001018,749.1641,2015-01-01 02:04:52,bin7492,35,False -CTSPillarNetworkA,7493,7493,7493,1990-07-08,749.3000000001018,749.2641,2015-01-01 02:04:53,bin7493,75,False -CTSPillarNetworkA,7494,7494,7494,1990-07-09,749.4000000001018,749.3641,2015-01-01 02:04:54,bin7494,35,False -CTSPillarNetworkA,7495,7495,7495,1990-07-10,749.5000000001019,749.46405,2015-01-01 02:04:55,bin7495,75,False -CTSPillarNetworkA,7496,7496,7496,1990-07-11,749.6000000001019,749.564,2015-01-01 02:04:56,bin7496,35,False -CTSPillarNetworkA,7497,7497,7497,1990-07-12,749.7000000001019,749.664,2015-01-01 02:04:57,bin7497,75,False -CTSPillarNetworkA,7498,7498,7498,1990-07-13,749.8000000001019,749.764,2015-01-01 02:04:58,bin7498,35,False -CTSPillarNetworkA,7499,7499,7499,1990-07-14,749.900000000102,749.86395,2015-01-01 02:04:59,bin7499,75,False -CTSPillarNetworkA,7500,7500,7500,1990-07-15,750.000000000102,749.9639,2015-01-01 02:05:00,bin7500,35,False -CTSPillarNetworkA,7501,7501,7501,1990-07-16,750.100000000102,750.0639,2015-01-01 02:05:01,bin7501,75,False -CTSPillarNetworkA,7502,7502,7502,1990-07-17,750.200000000102,750.1639,2015-01-01 02:05:02,bin7502,35,False -CTSPillarNetworkA,7503,7503,7503,1990-07-18,750.300000000102,750.26385,2015-01-01 02:05:03,bin7503,75,False -CTSPillarNetworkA,7504,7504,7504,1990-07-19,750.4000000001021,750.36383,2015-01-01 02:05:04,bin7504,35,False -CTSPillarNetworkA,7505,7505,7505,1990-07-20,750.5000000001021,750.4638,2015-01-01 02:05:05,bin7505,75,False -CTSPillarNetworkA,7506,7506,7506,1990-07-21,750.6000000001021,750.5638,2015-01-01 02:05:06,bin7506,35,False -CTSPillarNetworkA,7507,7507,7507,1990-07-22,750.7000000001021,750.66376,2015-01-01 02:05:07,bin7507,75,False -CTSPillarNetworkA,7508,7508,7508,1990-07-23,750.8000000001022,750.76373,2015-01-01 02:05:08,bin7508,35,False -CTSPillarNetworkA,7509,7509,7509,1990-07-24,750.9000000001022,750.8637,2015-01-01 02:05:09,bin7509,75,False -CTSPillarNetworkA,7510,7510,7510,1990-07-25,751.0000000001022,750.9637,2015-01-01 02:05:10,bin7510,35,False -CTSPillarNetworkA,7511,7511,7511,1990-07-26,751.1000000001022,751.06366,2015-01-01 02:05:11,bin7511,75,False -CTSPillarNetworkA,7512,7512,7512,1990-07-27,751.2000000001022,751.16364,2015-01-01 02:05:12,bin7512,35,False -CTSPillarNetworkA,7513,7513,7513,1990-07-28,751.3000000001023,751.2636,2015-01-01 02:05:13,bin7513,75,False -CTSPillarNetworkA,7514,7514,7514,1990-07-29,751.4000000001023,751.3636,2015-01-01 02:05:14,bin7514,35,False -CTSPillarNetworkA,7515,7515,7515,1990-07-30,751.5000000001023,751.46356,2015-01-01 02:05:15,bin7515,75,False -CTSPillarNetworkA,7516,7516,7516,1990-07-31,751.6000000001023,751.56354,2015-01-01 02:05:16,bin7516,35,False -CTSPillarNetworkA,7517,7517,7517,1990-08-01,751.7000000001024,751.6635,2015-01-01 02:05:17,bin7517,75,False -CTSPillarNetworkA,7518,7518,7518,1990-08-02,751.8000000001024,751.7635,2015-01-01 02:05:18,bin7518,35,False -CTSPillarNetworkA,7519,7519,7519,1990-08-03,751.9000000001024,751.86346,2015-01-01 02:05:19,bin7519,75,False -CTSPillarNetworkA,7520,7520,7520,1990-08-04,752.0000000001024,751.96344,2015-01-01 02:05:20,bin7520,35,False -CTSPillarNetworkA,7521,7521,7521,1990-08-05,752.1000000001025,752.0634,2015-01-01 02:05:21,bin7521,75,False -CTSPillarNetworkA,7522,7522,7522,1990-08-06,752.2000000001025,752.1634,2015-01-01 02:05:22,bin7522,35,False -CTSPillarNetworkA,7523,7523,7523,1990-08-07,752.3000000001025,752.26337,2015-01-01 02:05:23,bin7523,75,False -CTSPillarNetworkA,7524,7524,7524,1990-08-08,752.4000000001025,752.36334,2015-01-01 02:05:24,bin7524,35,False -CTSPillarNetworkA,7525,7525,7525,1990-08-09,752.5000000001025,752.4633,2015-01-01 02:05:25,bin7525,75,False -CTSPillarNetworkA,7526,7526,7526,1990-08-10,752.6000000001026,752.5633,2015-01-01 02:05:26,bin7526,35,False -CTSPillarNetworkA,7527,7527,7527,1990-08-11,752.7000000001026,752.66327,2015-01-01 02:05:27,bin7527,75,False -CTSPillarNetworkA,7528,7528,7528,1990-08-12,752.8000000001026,752.76324,2015-01-01 02:05:28,bin7528,35,False -CTSPillarNetworkA,7529,7529,7529,1990-08-13,752.9000000001026,752.8632,2015-01-01 02:05:29,bin7529,75,False -CTSPillarNetworkA,7530,7530,7530,1990-08-14,753.0000000001027,752.9632,2015-01-01 02:05:30,bin7530,35,False -CTSPillarNetworkA,7531,7531,7531,1990-08-15,753.1000000001027,753.0632,2015-01-01 02:05:31,bin7531,75,False -CTSPillarNetworkA,7532,7532,7532,1990-08-16,753.2000000001027,753.16315,2015-01-01 02:05:32,bin7532,35,False -CTSPillarNetworkA,7533,7533,7533,1990-08-17,753.3000000001027,753.2631,2015-01-01 02:05:33,bin7533,75,False -CTSPillarNetworkA,7534,7534,7534,1990-08-18,753.4000000001028,753.3631,2015-01-01 02:05:34,bin7534,35,False -CTSPillarNetworkA,7535,7535,7535,1990-08-19,753.5000000001028,753.4631,2015-01-01 02:05:35,bin7535,75,False -CTSPillarNetworkA,7536,7536,7536,1990-08-20,753.6000000001028,753.56305,2015-01-01 02:05:36,bin7536,35,False -CTSPillarNetworkA,7537,7537,7537,1990-08-21,753.7000000001028,753.663,2015-01-01 02:05:37,bin7537,75,False -CTSPillarNetworkA,7538,7538,7538,1990-08-22,753.8000000001028,753.763,2015-01-01 02:05:38,bin7538,35,False -CTSPillarNetworkA,7539,7539,7539,1990-08-23,753.9000000001029,753.863,2015-01-01 02:05:39,bin7539,75,False -CTSPillarNetworkA,7540,7540,7540,1990-08-24,754.0000000001029,753.96295,2015-01-01 02:05:40,bin7540,35,False -CTSPillarNetworkA,7541,7541,7541,1990-08-25,754.1000000001029,754.0629,2015-01-01 02:05:41,bin7541,75,False -CTSPillarNetworkA,7542,7542,7542,1990-08-26,754.2000000001029,754.1629,2015-01-01 02:05:42,bin7542,35,False -CTSPillarNetworkA,7543,7543,7543,1990-08-27,754.300000000103,754.2629,2015-01-01 02:05:43,bin7543,75,False -CTSPillarNetworkA,7544,7544,7544,1990-08-28,754.400000000103,754.36285,2015-01-01 02:05:44,bin7544,35,False -CTSPillarNetworkA,7545,7545,7545,1990-08-29,754.500000000103,754.4628,2015-01-01 02:05:45,bin7545,75,False -CTSPillarNetworkA,7546,7546,7546,1990-08-30,754.600000000103,754.5628,2015-01-01 02:05:46,bin7546,35,False -CTSPillarNetworkA,7547,7547,7547,1990-08-31,754.700000000103,754.6628,2015-01-01 02:05:47,bin7547,75,False -CTSPillarNetworkA,7548,7548,7548,1990-09-01,754.8000000001031,754.76276,2015-01-01 02:05:48,bin7548,35,False -CTSPillarNetworkA,7549,7549,7549,1990-09-02,754.9000000001031,754.86273,2015-01-01 02:05:49,bin7549,75,False -CTSPillarNetworkA,7550,7550,7550,1990-09-03,755.0000000001031,754.9627,2015-01-01 02:05:50,bin7550,35,False -CTSPillarNetworkA,7551,7551,7551,1990-09-04,755.1000000001031,755.0627,2015-01-01 02:05:51,bin7551,75,False -CTSPillarNetworkA,7552,7552,7552,1990-09-05,755.2000000001032,755.16266,2015-01-01 02:05:52,bin7552,35,False -CTSPillarNetworkA,7553,7553,7553,1990-09-06,755.3000000001032,755.26263,2015-01-01 02:05:53,bin7553,75,False -CTSPillarNetworkA,7554,7554,7554,1990-09-07,755.4000000001032,755.3626,2015-01-01 02:05:54,bin7554,35,False -CTSPillarNetworkA,7555,7555,7555,1990-09-08,755.5000000001032,755.4626,2015-01-01 02:05:55,bin7555,75,False -CTSPillarNetworkA,7556,7556,7556,1990-09-09,755.6000000001033,755.56256,2015-01-01 02:05:56,bin7556,35,False -CTSPillarNetworkA,7557,7557,7557,1990-09-10,755.7000000001033,755.66254,2015-01-01 02:05:57,bin7557,75,False -CTSPillarNetworkA,7558,7558,7558,1990-09-11,755.8000000001033,755.7625,2015-01-01 02:05:58,bin7558,35,False -CTSPillarNetworkA,7559,7559,7559,1990-09-12,755.9000000001033,755.8625,2015-01-01 02:05:59,bin7559,75,False -CTSPillarNetworkA,7560,7560,7560,1990-09-13,756.0000000001033,755.96246,2015-01-01 02:06:00,bin7560,35,False -CTSPillarNetworkA,7561,7561,7561,1990-09-14,756.1000000001034,756.06244,2015-01-01 02:06:01,bin7561,75,False -CTSPillarNetworkA,7562,7562,7562,1990-09-15,756.2000000001034,756.1624,2015-01-01 02:06:02,bin7562,35,False -CTSPillarNetworkA,7563,7563,7563,1990-09-16,756.3000000001034,756.2624,2015-01-01 02:06:03,bin7563,75,False -CTSPillarNetworkA,7564,7564,7564,1990-09-17,756.4000000001034,756.36237,2015-01-01 02:06:04,bin7564,35,False -CTSPillarNetworkA,7565,7565,7565,1990-09-18,756.5000000001035,756.46234,2015-01-01 02:06:05,bin7565,75,False -CTSPillarNetworkA,7566,7566,7566,1990-09-19,756.6000000001035,756.5623,2015-01-01 02:06:06,bin7566,35,False -CTSPillarNetworkA,7567,7567,7567,1990-09-20,756.7000000001035,756.6623,2015-01-01 02:06:07,bin7567,75,False -CTSPillarNetworkA,7568,7568,7568,1990-09-21,756.8000000001035,756.76227,2015-01-01 02:06:08,bin7568,35,False -CTSPillarNetworkA,7569,7569,7569,1990-09-22,756.9000000001035,756.86224,2015-01-01 02:06:09,bin7569,75,False -CTSPillarNetworkA,7570,7570,7570,1990-09-23,757.0000000001036,756.9622,2015-01-01 02:06:10,bin7570,35,False -CTSPillarNetworkA,7571,7571,7571,1990-09-24,757.1000000001036,757.0622,2015-01-01 02:06:11,bin7571,75,False -CTSPillarNetworkA,7572,7572,7572,1990-09-25,757.2000000001036,757.1622,2015-01-01 02:06:12,bin7572,35,False -CTSPillarNetworkA,7573,7573,7573,1990-09-26,757.3000000001036,757.26215,2015-01-01 02:06:13,bin7573,75,False -CTSPillarNetworkA,7574,7574,7574,1990-09-27,757.4000000001037,757.3621,2015-01-01 02:06:14,bin7574,35,False -CTSPillarNetworkA,7575,7575,7575,1990-09-28,757.5000000001037,757.4621,2015-01-01 02:06:15,bin7575,75,False -CTSPillarNetworkA,7576,7576,7576,1990-09-29,757.6000000001037,757.5621,2015-01-01 02:06:16,bin7576,35,False -CTSPillarNetworkA,7577,7577,7577,1990-09-30,757.7000000001037,757.66205,2015-01-01 02:06:17,bin7577,75,False -CTSPillarNetworkA,7578,7578,7578,1990-10-01,757.8000000001038,757.762,2015-01-01 02:06:18,bin7578,35,False -CTSPillarNetworkA,7579,7579,7579,1990-10-02,757.9000000001038,757.862,2015-01-01 02:06:19,bin7579,75,False -CTSPillarNetworkA,7580,7580,7580,1990-10-03,758.0000000001038,757.962,2015-01-01 02:06:20,bin7580,35,False -CTSPillarNetworkA,7581,7581,7581,1990-10-04,758.1000000001038,758.06195,2015-01-01 02:06:21,bin7581,75,False -CTSPillarNetworkA,7582,7582,7582,1990-10-05,758.2000000001038,758.1619,2015-01-01 02:06:22,bin7582,35,False -CTSPillarNetworkA,7583,7583,7583,1990-10-06,758.3000000001039,758.2619,2015-01-01 02:06:23,bin7583,75,False -CTSPillarNetworkA,7584,7584,7584,1990-10-07,758.4000000001039,758.3619,2015-01-01 02:06:24,bin7584,35,False -CTSPillarNetworkA,7585,7585,7585,1990-10-08,758.5000000001039,758.46185,2015-01-01 02:06:25,bin7585,75,False -CTSPillarNetworkA,7586,7586,7586,1990-10-09,758.6000000001039,758.5618,2015-01-01 02:06:26,bin7586,35,False -CTSPillarNetworkA,7587,7587,7587,1990-10-10,758.700000000104,758.6618,2015-01-01 02:06:27,bin7587,75,False -CTSPillarNetworkA,7588,7588,7588,1990-10-11,758.800000000104,758.7618,2015-01-01 02:06:28,bin7588,35,False -CTSPillarNetworkA,7589,7589,7589,1990-10-12,758.900000000104,758.86176,2015-01-01 02:06:29,bin7589,75,False -CTSPillarNetworkA,7590,7590,7590,1990-10-13,759.000000000104,758.96173,2015-01-01 02:06:30,bin7590,35,False -CTSPillarNetworkA,7591,7591,7591,1990-10-14,759.100000000104,759.0617,2015-01-01 02:06:31,bin7591,75,False -CTSPillarNetworkA,7592,7592,7592,1990-10-15,759.2000000001041,759.1617,2015-01-01 02:06:32,bin7592,35,False -CTSPillarNetworkA,7593,7593,7593,1990-10-16,759.3000000001041,759.26166,2015-01-01 02:06:33,bin7593,75,False -CTSPillarNetworkA,7594,7594,7594,1990-10-17,759.4000000001041,759.36163,2015-01-01 02:06:34,bin7594,35,False -CTSPillarNetworkA,7595,7595,7595,1990-10-18,759.5000000001041,759.4616,2015-01-01 02:06:35,bin7595,75,False -CTSPillarNetworkA,7596,7596,7596,1990-10-19,759.6000000001042,759.5616,2015-01-01 02:06:36,bin7596,35,False -CTSPillarNetworkA,7597,7597,7597,1990-10-20,759.7000000001042,759.66156,2015-01-01 02:06:37,bin7597,75,False -CTSPillarNetworkA,7598,7598,7598,1990-10-21,759.8000000001042,759.76154,2015-01-01 02:06:38,bin7598,35,False -CTSPillarNetworkA,7599,7599,7599,1990-10-22,759.9000000001042,759.8615,2015-01-01 02:06:39,bin7599,75,False -CTSPillarNetworkA,7600,7600,7600,1990-10-23,760.0000000001043,759.9615,2015-01-01 02:06:40,bin7600,35,False -CTSPillarNetworkA,7601,7601,7601,1990-10-24,760.1000000001043,760.06146,2015-01-01 02:06:41,bin7601,75,False -CTSPillarNetworkA,7602,7602,7602,1990-10-25,760.2000000001043,760.16144,2015-01-01 02:06:42,bin7602,35,False -CTSPillarNetworkA,7603,7603,7603,1990-10-26,760.3000000001043,760.2614,2015-01-01 02:06:43,bin7603,75,False -CTSPillarNetworkA,7604,7604,7604,1990-10-27,760.4000000001043,760.3614,2015-01-01 02:06:44,bin7604,35,False -CTSPillarNetworkA,7605,7605,7605,1990-10-28,760.5000000001044,760.46136,2015-01-01 02:06:45,bin7605,75,False -CTSPillarNetworkA,7606,7606,7606,1990-10-29,760.6000000001044,760.56134,2015-01-01 02:06:46,bin7606,35,False -CTSPillarNetworkA,7607,7607,7607,1990-10-30,760.7000000001044,760.6613,2015-01-01 02:06:47,bin7607,75,False -CTSPillarNetworkA,7608,7608,7608,1990-10-31,760.8000000001044,760.7613,2015-01-01 02:06:48,bin7608,35,False -CTSPillarNetworkA,7609,7609,7609,1990-11-01,760.9000000001045,760.86127,2015-01-01 02:06:49,bin7609,75,False -CTSPillarNetworkA,7610,7610,7610,1990-11-02,761.0000000001045,760.96124,2015-01-01 02:06:50,bin7610,35,False -CTSPillarNetworkA,7611,7611,7611,1990-11-03,761.1000000001045,761.0612,2015-01-01 02:06:51,bin7611,75,False -CTSPillarNetworkA,7612,7612,7612,1990-11-04,761.2000000001045,761.1612,2015-01-01 02:06:52,bin7612,35,False -CTSPillarNetworkA,7613,7613,7613,1990-11-05,761.3000000001045,761.26117,2015-01-01 02:06:53,bin7613,75,False -CTSPillarNetworkA,7614,7614,7614,1990-11-06,761.4000000001046,761.36115,2015-01-01 02:06:54,bin7614,35,False -CTSPillarNetworkA,7615,7615,7615,1990-11-07,761.5000000001046,761.4611,2015-01-01 02:06:55,bin7615,75,False -CTSPillarNetworkA,7616,7616,7616,1990-11-08,761.6000000001046,761.5611,2015-01-01 02:06:56,bin7616,35,False -CTSPillarNetworkA,7617,7617,7617,1990-11-09,761.7000000001046,761.6611,2015-01-01 02:06:57,bin7617,75,False -CTSPillarNetworkA,7618,7618,7618,1990-11-10,761.8000000001047,761.76105,2015-01-01 02:06:58,bin7618,35,False -CTSPillarNetworkA,7619,7619,7619,1990-11-11,761.9000000001047,761.861,2015-01-01 02:06:59,bin7619,75,False -CTSPillarNetworkA,7620,7620,7620,1990-11-12,762.0000000001047,761.961,2015-01-01 02:07:00,bin7620,35,False -CTSPillarNetworkA,7621,7621,7621,1990-11-13,762.1000000001047,762.061,2015-01-01 02:07:01,bin7621,75,False -CTSPillarNetworkA,7622,7622,7622,1990-11-14,762.2000000001048,762.16095,2015-01-01 02:07:02,bin7622,35,False -CTSPillarNetworkA,7623,7623,7623,1990-11-15,762.3000000001048,762.2609,2015-01-01 02:07:03,bin7623,75,False -CTSPillarNetworkA,7624,7624,7624,1990-11-16,762.4000000001048,762.3609,2015-01-01 02:07:04,bin7624,35,False -CTSPillarNetworkA,7625,7625,7625,1990-11-17,762.5000000001048,762.4609,2015-01-01 02:07:05,bin7625,75,False -CTSPillarNetworkA,7626,7626,7626,1990-11-18,762.6000000001048,762.56085,2015-01-01 02:07:06,bin7626,35,False -CTSPillarNetworkA,7627,7627,7627,1990-11-19,762.7000000001049,762.6608,2015-01-01 02:07:07,bin7627,75,False -CTSPillarNetworkA,7628,7628,7628,1990-11-20,762.8000000001049,762.7608,2015-01-01 02:07:08,bin7628,35,False -CTSPillarNetworkA,7629,7629,7629,1990-11-21,762.9000000001049,762.8608,2015-01-01 02:07:09,bin7629,75,False -CTSPillarNetworkA,7630,7630,7630,1990-11-22,763.0000000001049,762.96075,2015-01-01 02:07:10,bin7630,35,False -CTSPillarNetworkA,7631,7631,7631,1990-11-23,763.100000000105,763.0607,2015-01-01 02:07:11,bin7631,75,False -CTSPillarNetworkA,7632,7632,7632,1990-11-24,763.200000000105,763.1607,2015-01-01 02:07:12,bin7632,35,False -CTSPillarNetworkA,7633,7633,7633,1990-11-25,763.300000000105,763.2607,2015-01-01 02:07:13,bin7633,75,False -CTSPillarNetworkA,7634,7634,7634,1990-11-26,763.400000000105,763.36066,2015-01-01 02:07:14,bin7634,35,False -CTSPillarNetworkA,7635,7635,7635,1990-11-27,763.500000000105,763.46063,2015-01-01 02:07:15,bin7635,75,False -CTSPillarNetworkA,7636,7636,7636,1990-11-28,763.6000000001051,763.5606,2015-01-01 02:07:16,bin7636,35,False -CTSPillarNetworkA,7637,7637,7637,1990-11-29,763.7000000001051,763.6606,2015-01-01 02:07:17,bin7637,75,False -CTSPillarNetworkA,7638,7638,7638,1990-11-30,763.8000000001051,763.76056,2015-01-01 02:07:18,bin7638,35,False -CTSPillarNetworkA,7639,7639,7639,1990-12-01,763.9000000001051,763.86053,2015-01-01 02:07:19,bin7639,75,False -CTSPillarNetworkA,7640,7640,7640,1990-12-02,764.0000000001052,763.9605,2015-01-01 02:07:20,bin7640,35,False -CTSPillarNetworkA,7641,7641,7641,1990-12-03,764.1000000001052,764.0605,2015-01-01 02:07:21,bin7641,75,False -CTSPillarNetworkA,7642,7642,7642,1990-12-04,764.2000000001052,764.16046,2015-01-01 02:07:22,bin7642,35,False -CTSPillarNetworkA,7643,7643,7643,1990-12-05,764.3000000001052,764.26044,2015-01-01 02:07:23,bin7643,75,False -CTSPillarNetworkA,7644,7644,7644,1990-12-06,764.4000000001053,764.3604,2015-01-01 02:07:24,bin7644,35,False -CTSPillarNetworkA,7645,7645,7645,1990-12-07,764.5000000001053,764.4604,2015-01-01 02:07:25,bin7645,75,False -CTSPillarNetworkA,7646,7646,7646,1990-12-08,764.6000000001053,764.56036,2015-01-01 02:07:26,bin7646,35,False -CTSPillarNetworkA,7647,7647,7647,1990-12-09,764.7000000001053,764.66034,2015-01-01 02:07:27,bin7647,75,False -CTSPillarNetworkA,7648,7648,7648,1990-12-10,764.8000000001053,764.7603,2015-01-01 02:07:28,bin7648,35,False -CTSPillarNetworkA,7649,7649,7649,1990-12-11,764.9000000001054,764.8603,2015-01-01 02:07:29,bin7649,75,False -CTSPillarNetworkA,7650,7650,7650,1990-12-12,765.0000000001054,764.96027,2015-01-01 02:07:30,bin7650,35,False -CTSPillarNetworkA,7651,7651,7651,1990-12-13,765.1000000001054,765.06024,2015-01-01 02:07:31,bin7651,75,False -CTSPillarNetworkA,7652,7652,7652,1990-12-14,765.2000000001054,765.1602,2015-01-01 02:07:32,bin7652,35,False -CTSPillarNetworkA,7653,7653,7653,1990-12-15,765.3000000001055,765.2602,2015-01-01 02:07:33,bin7653,75,False -CTSPillarNetworkA,7654,7654,7654,1990-12-16,765.4000000001055,765.36017,2015-01-01 02:07:34,bin7654,35,False -CTSPillarNetworkA,7655,7655,7655,1990-12-17,765.5000000001055,765.46014,2015-01-01 02:07:35,bin7655,75,False -CTSPillarNetworkA,7656,7656,7656,1990-12-18,765.6000000001055,765.5601,2015-01-01 02:07:36,bin7656,35,False -CTSPillarNetworkA,7657,7657,7657,1990-12-19,765.7000000001055,765.6601,2015-01-01 02:07:37,bin7657,75,False -CTSPillarNetworkA,7658,7658,7658,1990-12-20,765.8000000001056,765.7601,2015-01-01 02:07:38,bin7658,35,False -CTSPillarNetworkA,7659,7659,7659,1990-12-21,765.9000000001056,765.86005,2015-01-01 02:07:39,bin7659,75,False -CTSPillarNetworkA,7660,7660,7660,1990-12-22,766.0000000001056,765.96,2015-01-01 02:07:40,bin7660,35,False -CTSPillarNetworkA,7661,7661,7661,1990-12-23,766.1000000001056,766.06,2015-01-01 02:07:41,bin7661,75,False -CTSPillarNetworkA,7662,7662,7662,1990-12-24,766.2000000001057,766.16,2015-01-01 02:07:42,bin7662,35,False -CTSPillarNetworkA,7663,7663,7663,1990-12-25,766.3000000001057,766.25995,2015-01-01 02:07:43,bin7663,75,False -CTSPillarNetworkA,7664,7664,7664,1990-12-26,766.4000000001057,766.3599,2015-01-01 02:07:44,bin7664,35,False -CTSPillarNetworkA,7665,7665,7665,1990-12-27,766.5000000001057,766.4599,2015-01-01 02:07:45,bin7665,75,False -CTSPillarNetworkA,7666,7666,7666,1990-12-28,766.6000000001058,766.5599,2015-01-01 02:07:46,bin7666,35,False -CTSPillarNetworkA,7667,7667,7667,1990-12-29,766.7000000001058,766.65985,2015-01-01 02:07:47,bin7667,75,False -CTSPillarNetworkA,7668,7668,7668,1990-12-30,766.8000000001058,766.7598,2015-01-01 02:07:48,bin7668,35,False -CTSPillarNetworkA,7669,7669,7669,1990-12-31,766.9000000001058,766.8598,2015-01-01 02:07:49,bin7669,75,False -CTSPillarNetworkA,7670,7670,7670,1991-01-01,767.0000000001058,766.9598,2015-01-01 02:07:50,bin7670,35,False -CTSPillarNetworkA,7671,7671,7671,1991-01-02,767.1000000001059,767.05975,2015-01-01 02:07:51,bin7671,75,False -CTSPillarNetworkA,7672,7672,7672,1991-01-03,767.2000000001059,767.1597,2015-01-01 02:07:52,bin7672,35,False -CTSPillarNetworkA,7673,7673,7673,1991-01-04,767.3000000001059,767.2597,2015-01-01 02:07:53,bin7673,75,False -CTSPillarNetworkA,7674,7674,7674,1991-01-05,767.4000000001059,767.3597,2015-01-01 02:07:54,bin7674,35,False -CTSPillarNetworkA,7675,7675,7675,1991-01-06,767.500000000106,767.45966,2015-01-01 02:07:55,bin7675,75,False -CTSPillarNetworkA,7676,7676,7676,1991-01-07,767.600000000106,767.55963,2015-01-01 02:07:56,bin7676,35,False -CTSPillarNetworkA,7677,7677,7677,1991-01-08,767.700000000106,767.6596,2015-01-01 02:07:57,bin7677,75,False -CTSPillarNetworkA,7678,7678,7678,1991-01-09,767.800000000106,767.7596,2015-01-01 02:07:58,bin7678,35,False -CTSPillarNetworkA,7679,7679,7679,1991-01-10,767.900000000106,767.85956,2015-01-01 02:07:59,bin7679,75,False -CTSPillarNetworkA,7680,7680,7680,1991-01-11,768.0000000001061,767.95953,2015-01-01 02:08:00,bin7680,35,False -CTSPillarNetworkA,7681,7681,7681,1991-01-12,768.1000000001061,768.0595,2015-01-01 02:08:01,bin7681,75,False -CTSPillarNetworkA,7682,7682,7682,1991-01-13,768.2000000001061,768.1595,2015-01-01 02:08:02,bin7682,35,False -CTSPillarNetworkA,7683,7683,7683,1991-01-14,768.3000000001061,768.25946,2015-01-01 02:08:03,bin7683,75,False -CTSPillarNetworkA,7684,7684,7684,1991-01-15,768.4000000001062,768.35944,2015-01-01 02:08:04,bin7684,35,False -CTSPillarNetworkA,7685,7685,7685,1991-01-16,768.5000000001062,768.4594,2015-01-01 02:08:05,bin7685,75,False -CTSPillarNetworkA,7686,7686,7686,1991-01-17,768.6000000001062,768.5594,2015-01-01 02:08:06,bin7686,35,False -CTSPillarNetworkA,7687,7687,7687,1991-01-18,768.7000000001062,768.65936,2015-01-01 02:08:07,bin7687,75,False -CTSPillarNetworkA,7688,7688,7688,1991-01-19,768.8000000001063,768.75934,2015-01-01 02:08:08,bin7688,35,False -CTSPillarNetworkA,7689,7689,7689,1991-01-20,768.9000000001063,768.8593,2015-01-01 02:08:09,bin7689,75,False -CTSPillarNetworkA,7690,7690,7690,1991-01-21,769.0000000001063,768.9593,2015-01-01 02:08:10,bin7690,35,False -CTSPillarNetworkA,7691,7691,7691,1991-01-22,769.1000000001063,769.05927,2015-01-01 02:08:11,bin7691,75,False -CTSPillarNetworkA,7692,7692,7692,1991-01-23,769.2000000001063,769.15924,2015-01-01 02:08:12,bin7692,35,False -CTSPillarNetworkA,7693,7693,7693,1991-01-24,769.3000000001064,769.2592,2015-01-01 02:08:13,bin7693,75,False -CTSPillarNetworkA,7694,7694,7694,1991-01-25,769.4000000001064,769.3592,2015-01-01 02:08:14,bin7694,35,False -CTSPillarNetworkA,7695,7695,7695,1991-01-26,769.5000000001064,769.45917,2015-01-01 02:08:15,bin7695,75,False -CTSPillarNetworkA,7696,7696,7696,1991-01-27,769.6000000001064,769.55914,2015-01-01 02:08:16,bin7696,35,False -CTSPillarNetworkA,7697,7697,7697,1991-01-28,769.7000000001065,769.6591,2015-01-01 02:08:17,bin7697,75,False -CTSPillarNetworkA,7698,7698,7698,1991-01-29,769.8000000001065,769.7591,2015-01-01 02:08:18,bin7698,35,False -CTSPillarNetworkA,7699,7699,7699,1991-01-30,769.9000000001065,769.8591,2015-01-01 02:08:19,bin7699,75,False -CTSPillarNetworkA,7700,7700,7700,1991-01-31,770.0000000001065,769.95905,2015-01-01 02:08:20,bin7700,35,False -CTSPillarNetworkA,7701,7701,7701,1991-02-01,770.1000000001065,770.059,2015-01-01 02:08:21,bin7701,75,False -CTSPillarNetworkA,7702,7702,7702,1991-02-02,770.2000000001066,770.159,2015-01-01 02:08:22,bin7702,35,False -CTSPillarNetworkA,7703,7703,7703,1991-02-03,770.3000000001066,770.259,2015-01-01 02:08:23,bin7703,75,False -CTSPillarNetworkA,7704,7704,7704,1991-02-04,770.4000000001066,770.35895,2015-01-01 02:08:24,bin7704,35,False -CTSPillarNetworkA,7705,7705,7705,1991-02-05,770.5000000001066,770.4589,2015-01-01 02:08:25,bin7705,75,False -CTSPillarNetworkA,7706,7706,7706,1991-02-06,770.6000000001067,770.5589,2015-01-01 02:08:26,bin7706,35,False -CTSPillarNetworkA,7707,7707,7707,1991-02-07,770.7000000001067,770.6589,2015-01-01 02:08:27,bin7707,75,False -CTSPillarNetworkA,7708,7708,7708,1991-02-08,770.8000000001067,770.75885,2015-01-01 02:08:28,bin7708,35,False -CTSPillarNetworkA,7709,7709,7709,1991-02-09,770.9000000001067,770.8588,2015-01-01 02:08:29,bin7709,75,False -CTSPillarNetworkA,7710,7710,7710,1991-02-10,771.0000000001068,770.9588,2015-01-01 02:08:30,bin7710,35,False -CTSPillarNetworkA,7711,7711,7711,1991-02-11,771.1000000001068,771.0588,2015-01-01 02:08:31,bin7711,75,False -CTSPillarNetworkA,7712,7712,7712,1991-02-12,771.2000000001068,771.15875,2015-01-01 02:08:32,bin7712,35,False -CTSPillarNetworkA,7713,7713,7713,1991-02-13,771.3000000001068,771.2587,2015-01-01 02:08:33,bin7713,75,False -CTSPillarNetworkA,7714,7714,7714,1991-02-14,771.4000000001068,771.3587,2015-01-01 02:08:34,bin7714,35,False -CTSPillarNetworkA,7715,7715,7715,1991-02-15,771.5000000001069,771.4587,2015-01-01 02:08:35,bin7715,75,False -CTSPillarNetworkA,7716,7716,7716,1991-02-16,771.6000000001069,771.55865,2015-01-01 02:08:36,bin7716,35,False -CTSPillarNetworkA,7717,7717,7717,1991-02-17,771.7000000001069,771.6586,2015-01-01 02:08:37,bin7717,75,False -CTSPillarNetworkA,7718,7718,7718,1991-02-18,771.8000000001069,771.7586,2015-01-01 02:08:38,bin7718,35,False -CTSPillarNetworkA,7719,7719,7719,1991-02-19,771.900000000107,771.8586,2015-01-01 02:08:39,bin7719,75,False -CTSPillarNetworkA,7720,7720,7720,1991-02-20,772.000000000107,771.95856,2015-01-01 02:08:40,bin7720,35,False -CTSPillarNetworkA,7721,7721,7721,1991-02-21,772.100000000107,772.05853,2015-01-01 02:08:41,bin7721,75,False -CTSPillarNetworkA,7722,7722,7722,1991-02-22,772.200000000107,772.1585,2015-01-01 02:08:42,bin7722,35,False -CTSPillarNetworkA,7723,7723,7723,1991-02-23,772.300000000107,772.2585,2015-01-01 02:08:43,bin7723,75,False -CTSPillarNetworkA,7724,7724,7724,1991-02-24,772.4000000001071,772.35846,2015-01-01 02:08:44,bin7724,35,False -CTSPillarNetworkA,7725,7725,7725,1991-02-25,772.5000000001071,772.45844,2015-01-01 02:08:45,bin7725,75,False -CTSPillarNetworkA,7726,7726,7726,1991-02-26,772.6000000001071,772.5584,2015-01-01 02:08:46,bin7726,35,False -CTSPillarNetworkA,7727,7727,7727,1991-02-27,772.7000000001071,772.6584,2015-01-01 02:08:47,bin7727,75,False -CTSPillarNetworkA,7728,7728,7728,1991-02-28,772.8000000001072,772.75836,2015-01-01 02:08:48,bin7728,35,False -CTSPillarNetworkA,7729,7729,7729,1991-03-01,772.9000000001072,772.85834,2015-01-01 02:08:49,bin7729,75,False -CTSPillarNetworkA,7730,7730,7730,1991-03-02,773.0000000001072,772.9583,2015-01-01 02:08:50,bin7730,35,False -CTSPillarNetworkA,7731,7731,7731,1991-03-03,773.1000000001072,773.0583,2015-01-01 02:08:51,bin7731,75,False -CTSPillarNetworkA,7732,7732,7732,1991-03-04,773.2000000001073,773.15826,2015-01-01 02:08:52,bin7732,35,False -CTSPillarNetworkA,7733,7733,7733,1991-03-05,773.3000000001073,773.25824,2015-01-01 02:08:53,bin7733,75,False -CTSPillarNetworkA,7734,7734,7734,1991-03-06,773.4000000001073,773.3582,2015-01-01 02:08:54,bin7734,35,False -CTSPillarNetworkA,7735,7735,7735,1991-03-07,773.5000000001073,773.4582,2015-01-01 02:08:55,bin7735,75,False -CTSPillarNetworkA,7736,7736,7736,1991-03-08,773.6000000001073,773.55817,2015-01-01 02:08:56,bin7736,35,False -CTSPillarNetworkA,7737,7737,7737,1991-03-09,773.7000000001074,773.65814,2015-01-01 02:08:57,bin7737,75,False -CTSPillarNetworkA,7738,7738,7738,1991-03-10,773.8000000001074,773.7581,2015-01-01 02:08:58,bin7738,35,False -CTSPillarNetworkA,7739,7739,7739,1991-03-11,773.9000000001074,773.8581,2015-01-01 02:08:59,bin7739,75,False -CTSPillarNetworkA,7740,7740,7740,1991-03-12,774.0000000001074,773.95807,2015-01-01 02:09:00,bin7740,35,False -CTSPillarNetworkA,7741,7741,7741,1991-03-13,774.1000000001075,774.05804,2015-01-01 02:09:01,bin7741,75,False -CTSPillarNetworkA,7742,7742,7742,1991-03-14,774.2000000001075,774.158,2015-01-01 02:09:02,bin7742,35,False -CTSPillarNetworkA,7743,7743,7743,1991-03-15,774.3000000001075,774.258,2015-01-01 02:09:03,bin7743,75,False -CTSPillarNetworkA,7744,7744,7744,1991-03-16,774.4000000001075,774.358,2015-01-01 02:09:04,bin7744,35,False -CTSPillarNetworkA,7745,7745,7745,1991-03-17,774.5000000001075,774.45795,2015-01-01 02:09:05,bin7745,75,False -CTSPillarNetworkA,7746,7746,7746,1991-03-18,774.6000000001076,774.5579,2015-01-01 02:09:06,bin7746,35,False -CTSPillarNetworkA,7747,7747,7747,1991-03-19,774.7000000001076,774.6579,2015-01-01 02:09:07,bin7747,75,False -CTSPillarNetworkA,7748,7748,7748,1991-03-20,774.8000000001076,774.7579,2015-01-01 02:09:08,bin7748,35,False -CTSPillarNetworkA,7749,7749,7749,1991-03-21,774.9000000001076,774.85785,2015-01-01 02:09:09,bin7749,75,False -CTSPillarNetworkA,7750,7750,7750,1991-03-22,775.0000000001077,774.9578,2015-01-01 02:09:10,bin7750,35,False -CTSPillarNetworkA,7751,7751,7751,1991-03-23,775.1000000001077,775.0578,2015-01-01 02:09:11,bin7751,75,False -CTSPillarNetworkA,7752,7752,7752,1991-03-24,775.2000000001077,775.1578,2015-01-01 02:09:12,bin7752,35,False -CTSPillarNetworkA,7753,7753,7753,1991-03-25,775.3000000001077,775.25775,2015-01-01 02:09:13,bin7753,75,False -CTSPillarNetworkA,7754,7754,7754,1991-03-26,775.4000000001078,775.3577,2015-01-01 02:09:14,bin7754,35,False -CTSPillarNetworkA,7755,7755,7755,1991-03-27,775.5000000001078,775.4577,2015-01-01 02:09:15,bin7755,75,False -CTSPillarNetworkA,7756,7756,7756,1991-03-28,775.6000000001078,775.5577,2015-01-01 02:09:16,bin7756,35,False -CTSPillarNetworkA,7757,7757,7757,1991-03-29,775.7000000001078,775.65765,2015-01-01 02:09:17,bin7757,75,False -CTSPillarNetworkA,7758,7758,7758,1991-03-30,775.8000000001078,775.7576,2015-01-01 02:09:18,bin7758,35,False -CTSPillarNetworkA,7759,7759,7759,1991-03-31,775.9000000001079,775.8576,2015-01-01 02:09:19,bin7759,75,False -CTSPillarNetworkA,7760,7760,7760,1991-04-01,776.0000000001079,775.9576,2015-01-01 02:09:20,bin7760,35,False -CTSPillarNetworkA,7761,7761,7761,1991-04-02,776.1000000001079,776.05756,2015-01-01 02:09:21,bin7761,75,False -CTSPillarNetworkA,7762,7762,7762,1991-04-03,776.2000000001079,776.15753,2015-01-01 02:09:22,bin7762,35,False -CTSPillarNetworkA,7763,7763,7763,1991-04-04,776.300000000108,776.2575,2015-01-01 02:09:23,bin7763,75,False -CTSPillarNetworkA,7764,7764,7764,1991-04-05,776.400000000108,776.3575,2015-01-01 02:09:24,bin7764,35,False -CTSPillarNetworkA,7765,7765,7765,1991-04-06,776.500000000108,776.45746,2015-01-01 02:09:25,bin7765,75,False -CTSPillarNetworkA,7766,7766,7766,1991-04-07,776.600000000108,776.55743,2015-01-01 02:09:26,bin7766,35,False -CTSPillarNetworkA,7767,7767,7767,1991-04-08,776.700000000108,776.6574,2015-01-01 02:09:27,bin7767,75,False -CTSPillarNetworkA,7768,7768,7768,1991-04-09,776.8000000001081,776.7574,2015-01-01 02:09:28,bin7768,35,False -CTSPillarNetworkA,7769,7769,7769,1991-04-10,776.9000000001081,776.85736,2015-01-01 02:09:29,bin7769,75,False -CTSPillarNetworkA,7770,7770,7770,1991-04-11,777.0000000001081,776.95734,2015-01-01 02:09:30,bin7770,35,False -CTSPillarNetworkA,7771,7771,7771,1991-04-12,777.1000000001081,777.0573,2015-01-01 02:09:31,bin7771,75,False -CTSPillarNetworkA,7772,7772,7772,1991-04-13,777.2000000001082,777.1573,2015-01-01 02:09:32,bin7772,35,False -CTSPillarNetworkA,7773,7773,7773,1991-04-14,777.3000000001082,777.25726,2015-01-01 02:09:33,bin7773,75,False -CTSPillarNetworkA,7774,7774,7774,1991-04-15,777.4000000001082,777.35724,2015-01-01 02:09:34,bin7774,35,False -CTSPillarNetworkA,7775,7775,7775,1991-04-16,777.5000000001082,777.4572,2015-01-01 02:09:35,bin7775,75,False -CTSPillarNetworkA,7776,7776,7776,1991-04-17,777.6000000001083,777.5572,2015-01-01 02:09:36,bin7776,35,False -CTSPillarNetworkA,7777,7777,7777,1991-04-18,777.7000000001083,777.65717,2015-01-01 02:09:37,bin7777,75,False -CTSPillarNetworkA,7778,7778,7778,1991-04-19,777.8000000001083,777.75714,2015-01-01 02:09:38,bin7778,35,False -CTSPillarNetworkA,7779,7779,7779,1991-04-20,777.9000000001083,777.8571,2015-01-01 02:09:39,bin7779,75,False -CTSPillarNetworkA,7780,7780,7780,1991-04-21,778.0000000001083,777.9571,2015-01-01 02:09:40,bin7780,35,False -CTSPillarNetworkA,7781,7781,7781,1991-04-22,778.1000000001084,778.05707,2015-01-01 02:09:41,bin7781,75,False -CTSPillarNetworkA,7782,7782,7782,1991-04-23,778.2000000001084,778.15704,2015-01-01 02:09:42,bin7782,35,False -CTSPillarNetworkA,7783,7783,7783,1991-04-24,778.3000000001084,778.257,2015-01-01 02:09:43,bin7783,75,False -CTSPillarNetworkA,7784,7784,7784,1991-04-25,778.4000000001084,778.357,2015-01-01 02:09:44,bin7784,35,False -CTSPillarNetworkA,7785,7785,7785,1991-04-26,778.5000000001085,778.457,2015-01-01 02:09:45,bin7785,75,False -CTSPillarNetworkA,7786,7786,7786,1991-04-27,778.6000000001085,778.55695,2015-01-01 02:09:46,bin7786,35,False -CTSPillarNetworkA,7787,7787,7787,1991-04-28,778.7000000001085,778.6569,2015-01-01 02:09:47,bin7787,75,False -CTSPillarNetworkA,7788,7788,7788,1991-04-29,778.8000000001085,778.7569,2015-01-01 02:09:48,bin7788,35,False -CTSPillarNetworkA,7789,7789,7789,1991-04-30,778.9000000001085,778.8569,2015-01-01 02:09:49,bin7789,75,False -CTSPillarNetworkA,7790,7790,7790,1991-05-01,779.0000000001086,778.95685,2015-01-01 02:09:50,bin7790,35,False -CTSPillarNetworkA,7791,7791,7791,1991-05-02,779.1000000001086,779.0568,2015-01-01 02:09:51,bin7791,75,False -CTSPillarNetworkA,7792,7792,7792,1991-05-03,779.2000000001086,779.1568,2015-01-01 02:09:52,bin7792,35,False -CTSPillarNetworkA,7793,7793,7793,1991-05-04,779.3000000001086,779.2568,2015-01-01 02:09:53,bin7793,75,False -CTSPillarNetworkA,7794,7794,7794,1991-05-05,779.4000000001087,779.35675,2015-01-01 02:09:54,bin7794,35,False -CTSPillarNetworkA,7795,7795,7795,1991-05-06,779.5000000001087,779.4567,2015-01-01 02:09:55,bin7795,75,False -CTSPillarNetworkA,7796,7796,7796,1991-05-07,779.6000000001087,779.5567,2015-01-01 02:09:56,bin7796,35,False -CTSPillarNetworkA,7797,7797,7797,1991-05-08,779.7000000001087,779.6567,2015-01-01 02:09:57,bin7797,75,False -CTSPillarNetworkA,7798,7798,7798,1991-05-09,779.8000000001088,779.75665,2015-01-01 02:09:58,bin7798,35,False -CTSPillarNetworkA,7799,7799,7799,1991-05-10,779.9000000001088,779.8566,2015-01-01 02:09:59,bin7799,75,False -CTSPillarNetworkA,7800,7800,7800,1991-05-11,780.0000000001088,779.9566,2015-01-01 02:10:00,bin7800,35,False -CTSPillarNetworkA,7801,7801,7801,1991-05-12,780.1000000001088,780.0566,2015-01-01 02:10:01,bin7801,75,False -CTSPillarNetworkA,7802,7802,7802,1991-05-13,780.2000000001088,780.15656,2015-01-01 02:10:02,bin7802,35,False -CTSPillarNetworkA,7803,7803,7803,1991-05-14,780.3000000001089,780.25653,2015-01-01 02:10:03,bin7803,75,False -CTSPillarNetworkA,7804,7804,7804,1991-05-15,780.4000000001089,780.3565,2015-01-01 02:10:04,bin7804,35,False -CTSPillarNetworkA,7805,7805,7805,1991-05-16,780.5000000001089,780.4565,2015-01-01 02:10:05,bin7805,75,False -CTSPillarNetworkA,7806,7806,7806,1991-05-17,780.6000000001089,780.55646,2015-01-01 02:10:06,bin7806,35,False -CTSPillarNetworkA,7807,7807,7807,1991-05-18,780.700000000109,780.65643,2015-01-01 02:10:07,bin7807,75,False -CTSPillarNetworkA,7808,7808,7808,1991-05-19,780.800000000109,780.7564,2015-01-01 02:10:08,bin7808,35,False -CTSPillarNetworkA,7809,7809,7809,1991-05-20,780.900000000109,780.8564,2015-01-01 02:10:09,bin7809,75,False -CTSPillarNetworkA,7810,7810,7810,1991-05-21,781.000000000109,780.95636,2015-01-01 02:10:10,bin7810,35,False -CTSPillarNetworkA,7811,7811,7811,1991-05-22,781.100000000109,781.05634,2015-01-01 02:10:11,bin7811,75,False -CTSPillarNetworkA,7812,7812,7812,1991-05-23,781.2000000001091,781.1563,2015-01-01 02:10:12,bin7812,35,False -CTSPillarNetworkA,7813,7813,7813,1991-05-24,781.3000000001091,781.2563,2015-01-01 02:10:13,bin7813,75,False -CTSPillarNetworkA,7814,7814,7814,1991-05-25,781.4000000001091,781.35626,2015-01-01 02:10:14,bin7814,35,False -CTSPillarNetworkA,7815,7815,7815,1991-05-26,781.5000000001091,781.45624,2015-01-01 02:10:15,bin7815,75,False -CTSPillarNetworkA,7816,7816,7816,1991-05-27,781.6000000001092,781.5562,2015-01-01 02:10:16,bin7816,35,False -CTSPillarNetworkA,7817,7817,7817,1991-05-28,781.7000000001092,781.6562,2015-01-01 02:10:17,bin7817,75,False -CTSPillarNetworkA,7818,7818,7818,1991-05-29,781.8000000001092,781.75616,2015-01-01 02:10:18,bin7818,35,False -CTSPillarNetworkA,7819,7819,7819,1991-05-30,781.9000000001092,781.85614,2015-01-01 02:10:19,bin7819,75,False -CTSPillarNetworkA,7820,7820,7820,1991-05-31,782.0000000001093,781.9561,2015-01-01 02:10:20,bin7820,35,False -CTSPillarNetworkA,7821,7821,7821,1991-06-01,782.1000000001093,782.0561,2015-01-01 02:10:21,bin7821,75,False -CTSPillarNetworkA,7822,7822,7822,1991-06-02,782.2000000001093,782.15607,2015-01-01 02:10:22,bin7822,35,False -CTSPillarNetworkA,7823,7823,7823,1991-06-03,782.3000000001093,782.25604,2015-01-01 02:10:23,bin7823,75,False -CTSPillarNetworkA,7824,7824,7824,1991-06-04,782.4000000001093,782.356,2015-01-01 02:10:24,bin7824,35,False -CTSPillarNetworkA,7825,7825,7825,1991-06-05,782.5000000001094,782.456,2015-01-01 02:10:25,bin7825,75,False -CTSPillarNetworkA,7826,7826,7826,1991-06-06,782.6000000001094,782.55597,2015-01-01 02:10:26,bin7826,35,False -CTSPillarNetworkA,7827,7827,7827,1991-06-07,782.7000000001094,782.65594,2015-01-01 02:10:27,bin7827,75,False -CTSPillarNetworkA,7828,7828,7828,1991-06-08,782.8000000001094,782.7559,2015-01-01 02:10:28,bin7828,35,False -CTSPillarNetworkA,7829,7829,7829,1991-06-09,782.9000000001095,782.8559,2015-01-01 02:10:29,bin7829,75,False -CTSPillarNetworkA,7830,7830,7830,1991-06-10,783.0000000001095,782.9559,2015-01-01 02:10:30,bin7830,35,False -CTSPillarNetworkA,7831,7831,7831,1991-06-11,783.1000000001095,783.05585,2015-01-01 02:10:31,bin7831,75,False -CTSPillarNetworkA,7832,7832,7832,1991-06-12,783.2000000001095,783.1558,2015-01-01 02:10:32,bin7832,35,False -CTSPillarNetworkA,7833,7833,7833,1991-06-13,783.3000000001095,783.2558,2015-01-01 02:10:33,bin7833,75,False -CTSPillarNetworkA,7834,7834,7834,1991-06-14,783.4000000001096,783.3558,2015-01-01 02:10:34,bin7834,35,False -CTSPillarNetworkA,7835,7835,7835,1991-06-15,783.5000000001096,783.45575,2015-01-01 02:10:35,bin7835,75,False -CTSPillarNetworkA,7836,7836,7836,1991-06-16,783.6000000001096,783.5557,2015-01-01 02:10:36,bin7836,35,False -CTSPillarNetworkA,7837,7837,7837,1991-06-17,783.7000000001096,783.6557,2015-01-01 02:10:37,bin7837,75,False -CTSPillarNetworkA,7838,7838,7838,1991-06-18,783.8000000001097,783.7557,2015-01-01 02:10:38,bin7838,35,False -CTSPillarNetworkA,7839,7839,7839,1991-06-19,783.9000000001097,783.85565,2015-01-01 02:10:39,bin7839,75,False -CTSPillarNetworkA,7840,7840,7840,1991-06-20,784.0000000001097,783.9556,2015-01-01 02:10:40,bin7840,35,False -CTSPillarNetworkA,7841,7841,7841,1991-06-21,784.1000000001097,784.0556,2015-01-01 02:10:41,bin7841,75,False -CTSPillarNetworkA,7842,7842,7842,1991-06-22,784.2000000001098,784.1556,2015-01-01 02:10:42,bin7842,35,False -CTSPillarNetworkA,7843,7843,7843,1991-06-23,784.3000000001098,784.25555,2015-01-01 02:10:43,bin7843,75,False -CTSPillarNetworkA,7844,7844,7844,1991-06-24,784.4000000001098,784.3555,2015-01-01 02:10:44,bin7844,35,False -CTSPillarNetworkA,7845,7845,7845,1991-06-25,784.5000000001098,784.4555,2015-01-01 02:10:45,bin7845,75,False -CTSPillarNetworkA,7846,7846,7846,1991-06-26,784.6000000001098,784.5555,2015-01-01 02:10:46,bin7846,35,False -CTSPillarNetworkA,7847,7847,7847,1991-06-27,784.7000000001099,784.65546,2015-01-01 02:10:47,bin7847,75,False -CTSPillarNetworkA,7848,7848,7848,1991-06-28,784.8000000001099,784.75543,2015-01-01 02:10:48,bin7848,35,False -CTSPillarNetworkA,7849,7849,7849,1991-06-29,784.9000000001099,784.8554,2015-01-01 02:10:49,bin7849,75,False -CTSPillarNetworkA,7850,7850,7850,1991-06-30,785.0000000001099,784.9554,2015-01-01 02:10:50,bin7850,35,False -CTSPillarNetworkA,7851,7851,7851,1991-07-01,785.10000000011,785.05536,2015-01-01 02:10:51,bin7851,75,False -CTSPillarNetworkA,7852,7852,7852,1991-07-02,785.20000000011,785.15533,2015-01-01 02:10:52,bin7852,35,False -CTSPillarNetworkA,7853,7853,7853,1991-07-03,785.30000000011,785.2553,2015-01-01 02:10:53,bin7853,75,False -CTSPillarNetworkA,7854,7854,7854,1991-07-04,785.40000000011,785.3553,2015-01-01 02:10:54,bin7854,35,False -CTSPillarNetworkA,7855,7855,7855,1991-07-05,785.50000000011,785.45526,2015-01-01 02:10:55,bin7855,75,False -CTSPillarNetworkA,7856,7856,7856,1991-07-06,785.6000000001101,785.55524,2015-01-01 02:10:56,bin7856,35,False -CTSPillarNetworkA,7857,7857,7857,1991-07-07,785.7000000001101,785.6552,2015-01-01 02:10:57,bin7857,75,False -CTSPillarNetworkA,7858,7858,7858,1991-07-08,785.8000000001101,785.7552,2015-01-01 02:10:58,bin7858,35,False -CTSPillarNetworkA,7859,7859,7859,1991-07-09,785.9000000001101,785.85516,2015-01-01 02:10:59,bin7859,75,False -CTSPillarNetworkA,7860,7860,7860,1991-07-10,786.0000000001102,785.95514,2015-01-01 02:11:00,bin7860,35,False -CTSPillarNetworkA,7861,7861,7861,1991-07-11,786.1000000001102,786.0551,2015-01-01 02:11:01,bin7861,75,False -CTSPillarNetworkA,7862,7862,7862,1991-07-12,786.2000000001102,786.1551,2015-01-01 02:11:02,bin7862,35,False -CTSPillarNetworkA,7863,7863,7863,1991-07-13,786.3000000001102,786.25507,2015-01-01 02:11:03,bin7863,75,False -CTSPillarNetworkA,7864,7864,7864,1991-07-14,786.4000000001103,786.35504,2015-01-01 02:11:04,bin7864,35,False -CTSPillarNetworkA,7865,7865,7865,1991-07-15,786.5000000001103,786.455,2015-01-01 02:11:05,bin7865,75,False -CTSPillarNetworkA,7866,7866,7866,1991-07-16,786.6000000001103,786.555,2015-01-01 02:11:06,bin7866,35,False -CTSPillarNetworkA,7867,7867,7867,1991-07-17,786.7000000001103,786.65497,2015-01-01 02:11:07,bin7867,75,False -CTSPillarNetworkA,7868,7868,7868,1991-07-18,786.8000000001103,786.75494,2015-01-01 02:11:08,bin7868,35,False -CTSPillarNetworkA,7869,7869,7869,1991-07-19,786.9000000001104,786.8549,2015-01-01 02:11:09,bin7869,75,False -CTSPillarNetworkA,7870,7870,7870,1991-07-20,787.0000000001104,786.9549,2015-01-01 02:11:10,bin7870,35,False -CTSPillarNetworkA,7871,7871,7871,1991-07-21,787.1000000001104,787.0549,2015-01-01 02:11:11,bin7871,75,False -CTSPillarNetworkA,7872,7872,7872,1991-07-22,787.2000000001104,787.15485,2015-01-01 02:11:12,bin7872,35,False -CTSPillarNetworkA,7873,7873,7873,1991-07-23,787.3000000001105,787.2548,2015-01-01 02:11:13,bin7873,75,False -CTSPillarNetworkA,7874,7874,7874,1991-07-24,787.4000000001105,787.3548,2015-01-01 02:11:14,bin7874,35,False -CTSPillarNetworkA,7875,7875,7875,1991-07-25,787.5000000001105,787.4548,2015-01-01 02:11:15,bin7875,75,False -CTSPillarNetworkA,7876,7876,7876,1991-07-26,787.6000000001105,787.55475,2015-01-01 02:11:16,bin7876,35,False -CTSPillarNetworkA,7877,7877,7877,1991-07-27,787.7000000001105,787.6547,2015-01-01 02:11:17,bin7877,75,False -CTSPillarNetworkA,7878,7878,7878,1991-07-28,787.8000000001106,787.7547,2015-01-01 02:11:18,bin7878,35,False -CTSPillarNetworkA,7879,7879,7879,1991-07-29,787.9000000001106,787.8547,2015-01-01 02:11:19,bin7879,75,False -CTSPillarNetworkA,7880,7880,7880,1991-07-30,788.0000000001106,787.95465,2015-01-01 02:11:20,bin7880,35,False -CTSPillarNetworkA,7881,7881,7881,1991-07-31,788.1000000001106,788.0546,2015-01-01 02:11:21,bin7881,75,False -CTSPillarNetworkA,7882,7882,7882,1991-08-01,788.2000000001107,788.1546,2015-01-01 02:11:22,bin7882,35,False -CTSPillarNetworkA,7883,7883,7883,1991-08-02,788.3000000001107,788.2546,2015-01-01 02:11:23,bin7883,75,False -CTSPillarNetworkA,7884,7884,7884,1991-08-03,788.4000000001107,788.35455,2015-01-01 02:11:24,bin7884,35,False -CTSPillarNetworkA,7885,7885,7885,1991-08-04,788.5000000001107,788.4545,2015-01-01 02:11:25,bin7885,75,False -CTSPillarNetworkA,7886,7886,7886,1991-08-05,788.6000000001108,788.5545,2015-01-01 02:11:26,bin7886,35,False -CTSPillarNetworkA,7887,7887,7887,1991-08-06,788.7000000001108,788.6545,2015-01-01 02:11:27,bin7887,75,False -CTSPillarNetworkA,7888,7888,7888,1991-08-07,788.8000000001108,788.75446,2015-01-01 02:11:28,bin7888,35,False -CTSPillarNetworkA,7889,7889,7889,1991-08-08,788.9000000001108,788.85443,2015-01-01 02:11:29,bin7889,75,False -CTSPillarNetworkA,7890,7890,7890,1991-08-09,789.0000000001108,788.9544,2015-01-01 02:11:30,bin7890,35,False -CTSPillarNetworkA,7891,7891,7891,1991-08-10,789.1000000001109,789.0544,2015-01-01 02:11:31,bin7891,75,False -CTSPillarNetworkA,7892,7892,7892,1991-08-11,789.2000000001109,789.15436,2015-01-01 02:11:32,bin7892,35,False -CTSPillarNetworkA,7893,7893,7893,1991-08-12,789.3000000001109,789.25433,2015-01-01 02:11:33,bin7893,75,False -CTSPillarNetworkA,7894,7894,7894,1991-08-13,789.4000000001109,789.3543,2015-01-01 02:11:34,bin7894,35,False -CTSPillarNetworkA,7895,7895,7895,1991-08-14,789.500000000111,789.4543,2015-01-01 02:11:35,bin7895,75,False -CTSPillarNetworkA,7896,7896,7896,1991-08-15,789.600000000111,789.55426,2015-01-01 02:11:36,bin7896,35,False -CTSPillarNetworkA,7897,7897,7897,1991-08-16,789.700000000111,789.65424,2015-01-01 02:11:37,bin7897,75,False -CTSPillarNetworkA,7898,7898,7898,1991-08-17,789.800000000111,789.7542,2015-01-01 02:11:38,bin7898,35,False -CTSPillarNetworkA,7899,7899,7899,1991-08-18,789.900000000111,789.8542,2015-01-01 02:11:39,bin7899,75,False -CTSPillarNetworkA,7900,7900,7900,1991-08-19,790.0000000001111,789.95416,2015-01-01 02:11:40,bin7900,35,False -CTSPillarNetworkA,7901,7901,7901,1991-08-20,790.1000000001111,790.05414,2015-01-01 02:11:41,bin7901,75,False -CTSPillarNetworkA,7902,7902,7902,1991-08-21,790.2000000001111,790.1541,2015-01-01 02:11:42,bin7902,35,False -CTSPillarNetworkA,7903,7903,7903,1991-08-22,790.3000000001111,790.2541,2015-01-01 02:11:43,bin7903,75,False -CTSPillarNetworkA,7904,7904,7904,1991-08-23,790.4000000001112,790.35406,2015-01-01 02:11:44,bin7904,35,False -CTSPillarNetworkA,7905,7905,7905,1991-08-24,790.5000000001112,790.45404,2015-01-01 02:11:45,bin7905,75,False -CTSPillarNetworkA,7906,7906,7906,1991-08-25,790.6000000001112,790.554,2015-01-01 02:11:46,bin7906,35,False -CTSPillarNetworkA,7907,7907,7907,1991-08-26,790.7000000001112,790.654,2015-01-01 02:11:47,bin7907,75,False -CTSPillarNetworkA,7908,7908,7908,1991-08-27,790.8000000001113,790.75397,2015-01-01 02:11:48,bin7908,35,False -CTSPillarNetworkA,7909,7909,7909,1991-08-28,790.9000000001113,790.85394,2015-01-01 02:11:49,bin7909,75,False -CTSPillarNetworkA,7910,7910,7910,1991-08-29,791.0000000001113,790.9539,2015-01-01 02:11:50,bin7910,35,False -CTSPillarNetworkA,7911,7911,7911,1991-08-30,791.1000000001113,791.0539,2015-01-01 02:11:51,bin7911,75,False -CTSPillarNetworkA,7912,7912,7912,1991-08-31,791.2000000001113,791.1539,2015-01-01 02:11:52,bin7912,35,False -CTSPillarNetworkA,7913,7913,7913,1991-09-01,791.3000000001114,791.25385,2015-01-01 02:11:53,bin7913,75,False -CTSPillarNetworkA,7914,7914,7914,1991-09-02,791.4000000001114,791.3538,2015-01-01 02:11:54,bin7914,35,False -CTSPillarNetworkA,7915,7915,7915,1991-09-03,791.5000000001114,791.4538,2015-01-01 02:11:55,bin7915,75,False -CTSPillarNetworkA,7916,7916,7916,1991-09-04,791.6000000001114,791.5538,2015-01-01 02:11:56,bin7916,35,False -CTSPillarNetworkA,7917,7917,7917,1991-09-05,791.7000000001115,791.65375,2015-01-01 02:11:57,bin7917,75,False -CTSPillarNetworkA,7918,7918,7918,1991-09-06,791.8000000001115,791.7537,2015-01-01 02:11:58,bin7918,35,False -CTSPillarNetworkA,7919,7919,7919,1991-09-07,791.9000000001115,791.8537,2015-01-01 02:11:59,bin7919,75,False -CTSPillarNetworkA,7920,7920,7920,1991-09-08,792.0000000001115,791.9537,2015-01-01 02:12:00,bin7920,35,False -CTSPillarNetworkA,7921,7921,7921,1991-09-09,792.1000000001115,792.05365,2015-01-01 02:12:01,bin7921,75,False -CTSPillarNetworkA,7922,7922,7922,1991-09-10,792.2000000001116,792.1536,2015-01-01 02:12:02,bin7922,35,False -CTSPillarNetworkA,7923,7923,7923,1991-09-11,792.3000000001116,792.2536,2015-01-01 02:12:03,bin7923,75,False -CTSPillarNetworkA,7924,7924,7924,1991-09-12,792.4000000001116,792.3536,2015-01-01 02:12:04,bin7924,35,False -CTSPillarNetworkA,7925,7925,7925,1991-09-13,792.5000000001116,792.45355,2015-01-01 02:12:05,bin7925,75,False -CTSPillarNetworkA,7926,7926,7926,1991-09-14,792.6000000001117,792.5535,2015-01-01 02:12:06,bin7926,35,False -CTSPillarNetworkA,7927,7927,7927,1991-09-15,792.7000000001117,792.6535,2015-01-01 02:12:07,bin7927,75,False -CTSPillarNetworkA,7928,7928,7928,1991-09-16,792.8000000001117,792.7535,2015-01-01 02:12:08,bin7928,35,False -CTSPillarNetworkA,7929,7929,7929,1991-09-17,792.9000000001117,792.85345,2015-01-01 02:12:09,bin7929,75,False -CTSPillarNetworkA,7930,7930,7930,1991-09-18,793.0000000001118,792.9534,2015-01-01 02:12:10,bin7930,35,False -CTSPillarNetworkA,7931,7931,7931,1991-09-19,793.1000000001118,793.0534,2015-01-01 02:12:11,bin7931,75,False -CTSPillarNetworkA,7932,7932,7932,1991-09-20,793.2000000001118,793.1534,2015-01-01 02:12:12,bin7932,35,False -CTSPillarNetworkA,7933,7933,7933,1991-09-21,793.3000000001118,793.25336,2015-01-01 02:12:13,bin7933,75,False -CTSPillarNetworkA,7934,7934,7934,1991-09-22,793.4000000001118,793.35333,2015-01-01 02:12:14,bin7934,35,False -CTSPillarNetworkA,7935,7935,7935,1991-09-23,793.5000000001119,793.4533,2015-01-01 02:12:15,bin7935,75,False -CTSPillarNetworkA,7936,7936,7936,1991-09-24,793.6000000001119,793.5533,2015-01-01 02:12:16,bin7936,35,False -CTSPillarNetworkA,7937,7937,7937,1991-09-25,793.7000000001119,793.65326,2015-01-01 02:12:17,bin7937,75,False -CTSPillarNetworkA,7938,7938,7938,1991-09-26,793.8000000001119,793.75323,2015-01-01 02:12:18,bin7938,35,False -CTSPillarNetworkA,7939,7939,7939,1991-09-27,793.900000000112,793.8532,2015-01-01 02:12:19,bin7939,75,False -CTSPillarNetworkA,7940,7940,7940,1991-09-28,794.000000000112,793.9532,2015-01-01 02:12:20,bin7940,35,False -CTSPillarNetworkA,7941,7941,7941,1991-09-29,794.100000000112,794.05316,2015-01-01 02:12:21,bin7941,75,False -CTSPillarNetworkA,7942,7942,7942,1991-09-30,794.200000000112,794.15314,2015-01-01 02:12:22,bin7942,35,False -CTSPillarNetworkA,7943,7943,7943,1991-10-01,794.300000000112,794.2531,2015-01-01 02:12:23,bin7943,75,False -CTSPillarNetworkA,7944,7944,7944,1991-10-02,794.4000000001121,794.3531,2015-01-01 02:12:24,bin7944,35,False -CTSPillarNetworkA,7945,7945,7945,1991-10-03,794.5000000001121,794.45306,2015-01-01 02:12:25,bin7945,75,False -CTSPillarNetworkA,7946,7946,7946,1991-10-04,794.6000000001121,794.55304,2015-01-01 02:12:26,bin7946,35,False -CTSPillarNetworkA,7947,7947,7947,1991-10-05,794.7000000001121,794.653,2015-01-01 02:12:27,bin7947,75,False -CTSPillarNetworkA,7948,7948,7948,1991-10-06,794.8000000001122,794.753,2015-01-01 02:12:28,bin7948,35,False -CTSPillarNetworkA,7949,7949,7949,1991-10-07,794.9000000001122,794.85297,2015-01-01 02:12:29,bin7949,75,False -CTSPillarNetworkA,7950,7950,7950,1991-10-08,795.0000000001122,794.95294,2015-01-01 02:12:30,bin7950,35,False -CTSPillarNetworkA,7951,7951,7951,1991-10-09,795.1000000001122,795.0529,2015-01-01 02:12:31,bin7951,75,False -CTSPillarNetworkA,7952,7952,7952,1991-10-10,795.2000000001123,795.1529,2015-01-01 02:12:32,bin7952,35,False -CTSPillarNetworkA,7953,7953,7953,1991-10-11,795.3000000001123,795.25287,2015-01-01 02:12:33,bin7953,75,False -CTSPillarNetworkA,7954,7954,7954,1991-10-12,795.4000000001123,795.35284,2015-01-01 02:12:34,bin7954,35,False -CTSPillarNetworkA,7955,7955,7955,1991-10-13,795.5000000001123,795.4528,2015-01-01 02:12:35,bin7955,75,False -CTSPillarNetworkA,7956,7956,7956,1991-10-14,795.6000000001123,795.5528,2015-01-01 02:12:36,bin7956,35,False -CTSPillarNetworkA,7957,7957,7957,1991-10-15,795.7000000001124,795.6528,2015-01-01 02:12:37,bin7957,75,False -CTSPillarNetworkA,7958,7958,7958,1991-10-16,795.8000000001124,795.75275,2015-01-01 02:12:38,bin7958,35,False -CTSPillarNetworkA,7959,7959,7959,1991-10-17,795.9000000001124,795.8527,2015-01-01 02:12:39,bin7959,75,False -CTSPillarNetworkA,7960,7960,7960,1991-10-18,796.0000000001124,795.9527,2015-01-01 02:12:40,bin7960,35,False -CTSPillarNetworkA,7961,7961,7961,1991-10-19,796.1000000001125,796.0527,2015-01-01 02:12:41,bin7961,75,False -CTSPillarNetworkA,7962,7962,7962,1991-10-20,796.2000000001125,796.15265,2015-01-01 02:12:42,bin7962,35,False -CTSPillarNetworkA,7963,7963,7963,1991-10-21,796.3000000001125,796.2526,2015-01-01 02:12:43,bin7963,75,False -CTSPillarNetworkA,7964,7964,7964,1991-10-22,796.4000000001125,796.3526,2015-01-01 02:12:44,bin7964,35,False -CTSPillarNetworkA,7965,7965,7965,1991-10-23,796.5000000001125,796.4526,2015-01-01 02:12:45,bin7965,75,False -CTSPillarNetworkA,7966,7966,7966,1991-10-24,796.6000000001126,796.55255,2015-01-01 02:12:46,bin7966,35,False -CTSPillarNetworkA,7967,7967,7967,1991-10-25,796.7000000001126,796.6525,2015-01-01 02:12:47,bin7967,75,False -CTSPillarNetworkA,7968,7968,7968,1991-10-26,796.8000000001126,796.7525,2015-01-01 02:12:48,bin7968,35,False -CTSPillarNetworkA,7969,7969,7969,1991-10-27,796.9000000001126,796.8525,2015-01-01 02:12:49,bin7969,75,False -CTSPillarNetworkA,7970,7970,7970,1991-10-28,797.0000000001127,796.95245,2015-01-01 02:12:50,bin7970,35,False -CTSPillarNetworkA,7971,7971,7971,1991-10-29,797.1000000001127,797.0524,2015-01-01 02:12:51,bin7971,75,False -CTSPillarNetworkA,7972,7972,7972,1991-10-30,797.2000000001127,797.1524,2015-01-01 02:12:52,bin7972,35,False -CTSPillarNetworkA,7973,7973,7973,1991-10-31,797.3000000001127,797.2524,2015-01-01 02:12:53,bin7973,75,False -CTSPillarNetworkA,7974,7974,7974,1991-11-01,797.4000000001128,797.35236,2015-01-01 02:12:54,bin7974,35,False -CTSPillarNetworkA,7975,7975,7975,1991-11-02,797.5000000001128,797.45233,2015-01-01 02:12:55,bin7975,75,False -CTSPillarNetworkA,7976,7976,7976,1991-11-03,797.6000000001128,797.5523,2015-01-01 02:12:56,bin7976,35,False -CTSPillarNetworkA,7977,7977,7977,1991-11-04,797.7000000001128,797.6523,2015-01-01 02:12:57,bin7977,75,False -CTSPillarNetworkA,7978,7978,7978,1991-11-05,797.8000000001128,797.75226,2015-01-01 02:12:58,bin7978,35,False -CTSPillarNetworkA,7979,7979,7979,1991-11-06,797.9000000001129,797.85223,2015-01-01 02:12:59,bin7979,75,False -CTSPillarNetworkA,7980,7980,7980,1991-11-07,798.0000000001129,797.9522,2015-01-01 02:13:00,bin7980,35,False -CTSPillarNetworkA,7981,7981,7981,1991-11-08,798.1000000001129,798.0522,2015-01-01 02:13:01,bin7981,75,False -CTSPillarNetworkA,7982,7982,7982,1991-11-09,798.2000000001129,798.15216,2015-01-01 02:13:02,bin7982,35,False -CTSPillarNetworkA,7983,7983,7983,1991-11-10,798.300000000113,798.25214,2015-01-01 02:13:03,bin7983,75,False -CTSPillarNetworkA,7984,7984,7984,1991-11-11,798.400000000113,798.3521,2015-01-01 02:13:04,bin7984,35,False -CTSPillarNetworkA,7985,7985,7985,1991-11-12,798.500000000113,798.4521,2015-01-01 02:13:05,bin7985,75,False -CTSPillarNetworkA,7986,7986,7986,1991-11-13,798.600000000113,798.55206,2015-01-01 02:13:06,bin7986,35,False -CTSPillarNetworkA,7987,7987,7987,1991-11-14,798.700000000113,798.65204,2015-01-01 02:13:07,bin7987,75,False -CTSPillarNetworkA,7988,7988,7988,1991-11-15,798.8000000001131,798.752,2015-01-01 02:13:08,bin7988,35,False -CTSPillarNetworkA,7989,7989,7989,1991-11-16,798.9000000001131,798.852,2015-01-01 02:13:09,bin7989,75,False -CTSPillarNetworkA,7990,7990,7990,1991-11-17,799.0000000001131,798.95197,2015-01-01 02:13:10,bin7990,35,False -CTSPillarNetworkA,7991,7991,7991,1991-11-18,799.1000000001131,799.05194,2015-01-01 02:13:11,bin7991,75,False -CTSPillarNetworkA,7992,7992,7992,1991-11-19,799.2000000001132,799.1519,2015-01-01 02:13:12,bin7992,35,False -CTSPillarNetworkA,7993,7993,7993,1991-11-20,799.3000000001132,799.2519,2015-01-01 02:13:13,bin7993,75,False -CTSPillarNetworkA,7994,7994,7994,1991-11-21,799.4000000001132,799.35187,2015-01-01 02:13:14,bin7994,35,False -CTSPillarNetworkA,7995,7995,7995,1991-11-22,799.5000000001132,799.45184,2015-01-01 02:13:15,bin7995,75,False -CTSPillarNetworkA,7996,7996,7996,1991-11-23,799.6000000001133,799.5518,2015-01-01 02:13:16,bin7996,35,False -CTSPillarNetworkA,7997,7997,7997,1991-11-24,799.7000000001133,799.6518,2015-01-01 02:13:17,bin7997,75,False -CTSPillarNetworkA,7998,7998,7998,1991-11-25,799.8000000001133,799.7518,2015-01-01 02:13:18,bin7998,35,False -CTSPillarNetworkA,7999,7999,7999,1991-11-26,799.9000000001133,799.85175,2015-01-01 02:13:19,bin7999,75,False -CTSPillarNetworkA,8000,8000,8000,1991-11-27,800.0000000001133,799.9517,2015-01-01 02:13:20,bin8000,35,False -CTSPillarNetworkA,8001,8001,8001,1991-11-28,800.1000000001134,800.0517,2015-01-01 02:13:21,bin8001,75,False -CTSPillarNetworkA,8002,8002,8002,1991-11-29,800.2000000001134,800.1517,2015-01-01 02:13:22,bin8002,35,False -CTSPillarNetworkA,8003,8003,8003,1991-11-30,800.3000000001134,800.25165,2015-01-01 02:13:23,bin8003,75,False -CTSPillarNetworkA,8004,8004,8004,1991-12-01,800.4000000001134,800.3516,2015-01-01 02:13:24,bin8004,35,False -CTSPillarNetworkA,8005,8005,8005,1991-12-02,800.5000000001135,800.4516,2015-01-01 02:13:25,bin8005,75,False -CTSPillarNetworkA,8006,8006,8006,1991-12-03,800.6000000001135,800.5516,2015-01-01 02:13:26,bin8006,35,False -CTSPillarNetworkA,8007,8007,8007,1991-12-04,800.7000000001135,800.65155,2015-01-01 02:13:27,bin8007,75,False -CTSPillarNetworkA,8008,8008,8008,1991-12-05,800.8000000001135,800.7515,2015-01-01 02:13:28,bin8008,35,False -CTSPillarNetworkA,8009,8009,8009,1991-12-06,800.9000000001136,800.8515,2015-01-01 02:13:29,bin8009,75,False -CTSPillarNetworkA,8010,8010,8010,1991-12-07,801.0000000001136,800.9515,2015-01-01 02:13:30,bin8010,35,False -CTSPillarNetworkA,8011,8011,8011,1991-12-08,801.1000000001136,801.05145,2015-01-01 02:13:31,bin8011,75,False -CTSPillarNetworkA,8012,8012,8012,1991-12-09,801.2000000001136,801.1514,2015-01-01 02:13:32,bin8012,35,False -CTSPillarNetworkA,8013,8013,8013,1991-12-10,801.3000000001136,801.2514,2015-01-01 02:13:33,bin8013,75,False -CTSPillarNetworkA,8014,8014,8014,1991-12-11,801.4000000001137,801.3514,2015-01-01 02:13:34,bin8014,35,False -CTSPillarNetworkA,8015,8015,8015,1991-12-12,801.5000000001137,801.45135,2015-01-01 02:13:35,bin8015,75,False -CTSPillarNetworkA,8016,8016,8016,1991-12-13,801.6000000001137,801.55133,2015-01-01 02:13:36,bin8016,35,False -CTSPillarNetworkA,8017,8017,8017,1991-12-14,801.7000000001137,801.6513,2015-01-01 02:13:37,bin8017,75,False -CTSPillarNetworkA,8018,8018,8018,1991-12-15,801.8000000001138,801.7513,2015-01-01 02:13:38,bin8018,35,False -CTSPillarNetworkA,8019,8019,8019,1991-12-16,801.9000000001138,801.85126,2015-01-01 02:13:39,bin8019,75,False -CTSPillarNetworkA,8020,8020,8020,1991-12-17,802.0000000001138,801.95123,2015-01-01 02:13:40,bin8020,35,False -CTSPillarNetworkA,8021,8021,8021,1991-12-18,802.1000000001138,802.0512,2015-01-01 02:13:41,bin8021,75,False -CTSPillarNetworkA,8022,8022,8022,1991-12-19,802.2000000001138,802.1512,2015-01-01 02:13:42,bin8022,35,False -CTSPillarNetworkA,8023,8023,8023,1991-12-20,802.3000000001139,802.25116,2015-01-01 02:13:43,bin8023,75,False -CTSPillarNetworkA,8024,8024,8024,1991-12-21,802.4000000001139,802.35114,2015-01-01 02:13:44,bin8024,35,False -CTSPillarNetworkA,8025,8025,8025,1991-12-22,802.5000000001139,802.4511,2015-01-01 02:13:45,bin8025,75,False -CTSPillarNetworkA,8026,8026,8026,1991-12-23,802.6000000001139,802.5511,2015-01-01 02:13:46,bin8026,35,False -CTSPillarNetworkA,8027,8027,8027,1991-12-24,802.700000000114,802.65106,2015-01-01 02:13:47,bin8027,75,False -CTSPillarNetworkA,8028,8028,8028,1991-12-25,802.800000000114,802.75104,2015-01-01 02:13:48,bin8028,35,False -CTSPillarNetworkA,8029,8029,8029,1991-12-26,802.900000000114,802.851,2015-01-01 02:13:49,bin8029,75,False -CTSPillarNetworkA,8030,8030,8030,1991-12-27,803.000000000114,802.951,2015-01-01 02:13:50,bin8030,35,False -CTSPillarNetworkA,8031,8031,8031,1991-12-28,803.100000000114,803.05096,2015-01-01 02:13:51,bin8031,75,False -CTSPillarNetworkA,8032,8032,8032,1991-12-29,803.2000000001141,803.15094,2015-01-01 02:13:52,bin8032,35,False -CTSPillarNetworkA,8033,8033,8033,1991-12-30,803.3000000001141,803.2509,2015-01-01 02:13:53,bin8033,75,False -CTSPillarNetworkA,8034,8034,8034,1991-12-31,803.4000000001141,803.3509,2015-01-01 02:13:54,bin8034,35,False -CTSPillarNetworkA,8035,8035,8035,1992-01-01,803.5000000001141,803.45087,2015-01-01 02:13:55,bin8035,75,False -CTSPillarNetworkA,8036,8036,8036,1992-01-02,803.6000000001142,803.55084,2015-01-01 02:13:56,bin8036,35,False -CTSPillarNetworkA,8037,8037,8037,1992-01-03,803.7000000001142,803.6508,2015-01-01 02:13:57,bin8037,75,False -CTSPillarNetworkA,8038,8038,8038,1992-01-04,803.8000000001142,803.7508,2015-01-01 02:13:58,bin8038,35,False -CTSPillarNetworkA,8039,8039,8039,1992-01-05,803.9000000001142,803.85077,2015-01-01 02:13:59,bin8039,75,False -CTSPillarNetworkA,8040,8040,8040,1992-01-06,804.0000000001143,803.95074,2015-01-01 02:14:00,bin8040,35,False -CTSPillarNetworkA,8041,8041,8041,1992-01-07,804.1000000001143,804.0507,2015-01-01 02:14:01,bin8041,75,False -CTSPillarNetworkA,8042,8042,8042,1992-01-08,804.2000000001143,804.1507,2015-01-01 02:14:02,bin8042,35,False -CTSPillarNetworkA,8043,8043,8043,1992-01-09,804.3000000001143,804.2507,2015-01-01 02:14:03,bin8043,75,False -CTSPillarNetworkA,8044,8044,8044,1992-01-10,804.4000000001143,804.35065,2015-01-01 02:14:04,bin8044,35,False -CTSPillarNetworkA,8045,8045,8045,1992-01-11,804.5000000001144,804.4506,2015-01-01 02:14:05,bin8045,75,False -CTSPillarNetworkA,8046,8046,8046,1992-01-12,804.6000000001144,804.5506,2015-01-01 02:14:06,bin8046,35,False -CTSPillarNetworkA,8047,8047,8047,1992-01-13,804.7000000001144,804.6506,2015-01-01 02:14:07,bin8047,75,False -CTSPillarNetworkA,8048,8048,8048,1992-01-14,804.8000000001144,804.75055,2015-01-01 02:14:08,bin8048,35,False -CTSPillarNetworkA,8049,8049,8049,1992-01-15,804.9000000001145,804.8505,2015-01-01 02:14:09,bin8049,75,False -CTSPillarNetworkA,8050,8050,8050,1992-01-16,805.0000000001145,804.9505,2015-01-01 02:14:10,bin8050,35,False -CTSPillarNetworkA,8051,8051,8051,1992-01-17,805.1000000001145,805.0505,2015-01-01 02:14:11,bin8051,75,False -CTSPillarNetworkA,8052,8052,8052,1992-01-18,805.2000000001145,805.15045,2015-01-01 02:14:12,bin8052,35,False -CTSPillarNetworkA,8053,8053,8053,1992-01-19,805.3000000001146,805.2504,2015-01-01 02:14:13,bin8053,75,False -CTSPillarNetworkA,8054,8054,8054,1992-01-20,805.4000000001146,805.3504,2015-01-01 02:14:14,bin8054,35,False -CTSPillarNetworkA,8055,8055,8055,1992-01-21,805.5000000001146,805.4504,2015-01-01 02:14:15,bin8055,75,False -CTSPillarNetworkA,8056,8056,8056,1992-01-22,805.6000000001146,805.55035,2015-01-01 02:14:16,bin8056,35,False -CTSPillarNetworkA,8057,8057,8057,1992-01-23,805.7000000001146,805.6503,2015-01-01 02:14:17,bin8057,75,False -CTSPillarNetworkA,8058,8058,8058,1992-01-24,805.8000000001147,805.7503,2015-01-01 02:14:18,bin8058,35,False -CTSPillarNetworkA,8059,8059,8059,1992-01-25,805.9000000001147,805.8503,2015-01-01 02:14:19,bin8059,75,False -CTSPillarNetworkA,8060,8060,8060,1992-01-26,806.0000000001147,805.95026,2015-01-01 02:14:20,bin8060,35,False -CTSPillarNetworkA,8061,8061,8061,1992-01-27,806.1000000001147,806.05023,2015-01-01 02:14:21,bin8061,75,False -CTSPillarNetworkA,8062,8062,8062,1992-01-28,806.2000000001148,806.1502,2015-01-01 02:14:22,bin8062,35,False -CTSPillarNetworkA,8063,8063,8063,1992-01-29,806.3000000001148,806.2502,2015-01-01 02:14:23,bin8063,75,False -CTSPillarNetworkA,8064,8064,8064,1992-01-30,806.4000000001148,806.35016,2015-01-01 02:14:24,bin8064,35,False -CTSPillarNetworkA,8065,8065,8065,1992-01-31,806.5000000001148,806.45013,2015-01-01 02:14:25,bin8065,75,False -CTSPillarNetworkA,8066,8066,8066,1992-02-01,806.6000000001148,806.5501,2015-01-01 02:14:26,bin8066,35,False -CTSPillarNetworkA,8067,8067,8067,1992-02-02,806.7000000001149,806.6501,2015-01-01 02:14:27,bin8067,75,False -CTSPillarNetworkA,8068,8068,8068,1992-02-03,806.8000000001149,806.75006,2015-01-01 02:14:28,bin8068,35,False -CTSPillarNetworkA,8069,8069,8069,1992-02-04,806.9000000001149,806.85004,2015-01-01 02:14:29,bin8069,75,False -CTSPillarNetworkA,8070,8070,8070,1992-02-05,807.0000000001149,806.95,2015-01-01 02:14:30,bin8070,35,False -CTSPillarNetworkA,8071,8071,8071,1992-02-06,807.100000000115,807.05,2015-01-01 02:14:31,bin8071,75,False -CTSPillarNetworkA,8072,8072,8072,1992-02-07,807.200000000115,807.14996,2015-01-01 02:14:32,bin8072,35,False -CTSPillarNetworkA,8073,8073,8073,1992-02-08,807.300000000115,807.24994,2015-01-01 02:14:33,bin8073,75,False -CTSPillarNetworkA,8074,8074,8074,1992-02-09,807.400000000115,807.3499,2015-01-01 02:14:34,bin8074,35,False -CTSPillarNetworkA,8075,8075,8075,1992-02-10,807.500000000115,807.4499,2015-01-01 02:14:35,bin8075,75,False -CTSPillarNetworkA,8076,8076,8076,1992-02-11,807.6000000001151,807.54987,2015-01-01 02:14:36,bin8076,35,False -CTSPillarNetworkA,8077,8077,8077,1992-02-12,807.7000000001151,807.64984,2015-01-01 02:14:37,bin8077,75,False -CTSPillarNetworkA,8078,8078,8078,1992-02-13,807.8000000001151,807.7498,2015-01-01 02:14:38,bin8078,35,False -CTSPillarNetworkA,8079,8079,8079,1992-02-14,807.9000000001151,807.8498,2015-01-01 02:14:39,bin8079,75,False -CTSPillarNetworkA,8080,8080,8080,1992-02-15,808.0000000001152,807.94977,2015-01-01 02:14:40,bin8080,35,False -CTSPillarNetworkA,8081,8081,8081,1992-02-16,808.1000000001152,808.04974,2015-01-01 02:14:41,bin8081,75,False -CTSPillarNetworkA,8082,8082,8082,1992-02-17,808.2000000001152,808.1497,2015-01-01 02:14:42,bin8082,35,False -CTSPillarNetworkA,8083,8083,8083,1992-02-18,808.3000000001152,808.2497,2015-01-01 02:14:43,bin8083,75,False -CTSPillarNetworkA,8084,8084,8084,1992-02-19,808.4000000001153,808.3497,2015-01-01 02:14:44,bin8084,35,False -CTSPillarNetworkA,8085,8085,8085,1992-02-20,808.5000000001153,808.44965,2015-01-01 02:14:45,bin8085,75,False -CTSPillarNetworkA,8086,8086,8086,1992-02-21,808.6000000001153,808.5496,2015-01-01 02:14:46,bin8086,35,False -CTSPillarNetworkA,8087,8087,8087,1992-02-22,808.7000000001153,808.6496,2015-01-01 02:14:47,bin8087,75,False -CTSPillarNetworkA,8088,8088,8088,1992-02-23,808.8000000001153,808.7496,2015-01-01 02:14:48,bin8088,35,False -CTSPillarNetworkA,8089,8089,8089,1992-02-24,808.9000000001154,808.84955,2015-01-01 02:14:49,bin8089,75,False -CTSPillarNetworkA,8090,8090,8090,1992-02-25,809.0000000001154,808.9495,2015-01-01 02:14:50,bin8090,35,False -CTSPillarNetworkA,8091,8091,8091,1992-02-26,809.1000000001154,809.0495,2015-01-01 02:14:51,bin8091,75,False -CTSPillarNetworkA,8092,8092,8092,1992-02-27,809.2000000001154,809.1495,2015-01-01 02:14:52,bin8092,35,False -CTSPillarNetworkA,8093,8093,8093,1992-02-28,809.3000000001155,809.24945,2015-01-01 02:14:53,bin8093,75,False -CTSPillarNetworkA,8094,8094,8094,1992-02-29,809.4000000001155,809.3494,2015-01-01 02:14:54,bin8094,35,False -CTSPillarNetworkA,8095,8095,8095,1992-03-01,809.5000000001155,809.4494,2015-01-01 02:14:55,bin8095,75,False -CTSPillarNetworkA,8096,8096,8096,1992-03-02,809.6000000001155,809.5494,2015-01-01 02:14:56,bin8096,35,False -CTSPillarNetworkA,8097,8097,8097,1992-03-03,809.7000000001156,809.64935,2015-01-01 02:14:57,bin8097,75,False -CTSPillarNetworkA,8098,8098,8098,1992-03-04,809.8000000001156,809.7493,2015-01-01 02:14:58,bin8098,35,False -CTSPillarNetworkA,8099,8099,8099,1992-03-05,809.9000000001156,809.8493,2015-01-01 02:14:59,bin8099,75,False -CTSPillarNetworkA,8100,8100,8100,1992-03-06,810.0000000001156,809.9493,2015-01-01 02:15:00,bin8100,35,False -CTSPillarNetworkA,8101,8101,8101,1992-03-07,810.1000000001156,810.04926,2015-01-01 02:15:01,bin8101,75,False -CTSPillarNetworkA,8102,8102,8102,1992-03-08,810.2000000001157,810.14923,2015-01-01 02:15:02,bin8102,35,False -CTSPillarNetworkA,8103,8103,8103,1992-03-09,810.3000000001157,810.2492,2015-01-01 02:15:03,bin8103,75,False -CTSPillarNetworkA,8104,8104,8104,1992-03-10,810.4000000001157,810.3492,2015-01-01 02:15:04,bin8104,35,False -CTSPillarNetworkA,8105,8105,8105,1992-03-11,810.5000000001157,810.44916,2015-01-01 02:15:05,bin8105,75,False -CTSPillarNetworkA,8106,8106,8106,1992-03-12,810.6000000001158,810.54913,2015-01-01 02:15:06,bin8106,35,False -CTSPillarNetworkA,8107,8107,8107,1992-03-13,810.7000000001158,810.6491,2015-01-01 02:15:07,bin8107,75,False -CTSPillarNetworkA,8108,8108,8108,1992-03-14,810.8000000001158,810.7491,2015-01-01 02:15:08,bin8108,35,False -CTSPillarNetworkA,8109,8109,8109,1992-03-15,810.9000000001158,810.84906,2015-01-01 02:15:09,bin8109,75,False -CTSPillarNetworkA,8110,8110,8110,1992-03-16,811.0000000001158,810.94904,2015-01-01 02:15:10,bin8110,35,False -CTSPillarNetworkA,8111,8111,8111,1992-03-17,811.1000000001159,811.049,2015-01-01 02:15:11,bin8111,75,False -CTSPillarNetworkA,8112,8112,8112,1992-03-18,811.2000000001159,811.149,2015-01-01 02:15:12,bin8112,35,False -CTSPillarNetworkA,8113,8113,8113,1992-03-19,811.3000000001159,811.24896,2015-01-01 02:15:13,bin8113,75,False -CTSPillarNetworkA,8114,8114,8114,1992-03-20,811.4000000001159,811.34894,2015-01-01 02:15:14,bin8114,35,False -CTSPillarNetworkA,8115,8115,8115,1992-03-21,811.500000000116,811.4489,2015-01-01 02:15:15,bin8115,75,False -CTSPillarNetworkA,8116,8116,8116,1992-03-22,811.600000000116,811.5489,2015-01-01 02:15:16,bin8116,35,False -CTSPillarNetworkA,8117,8117,8117,1992-03-23,811.700000000116,811.64886,2015-01-01 02:15:17,bin8117,75,False -CTSPillarNetworkA,8118,8118,8118,1992-03-24,811.800000000116,811.74884,2015-01-01 02:15:18,bin8118,35,False -CTSPillarNetworkA,8119,8119,8119,1992-03-25,811.900000000116,811.8488,2015-01-01 02:15:19,bin8119,75,False -CTSPillarNetworkA,8120,8120,8120,1992-03-26,812.0000000001161,811.9488,2015-01-01 02:15:20,bin8120,35,False -CTSPillarNetworkA,8121,8121,8121,1992-03-27,812.1000000001161,812.04877,2015-01-01 02:15:21,bin8121,75,False -CTSPillarNetworkA,8122,8122,8122,1992-03-28,812.2000000001161,812.14874,2015-01-01 02:15:22,bin8122,35,False -CTSPillarNetworkA,8123,8123,8123,1992-03-29,812.3000000001161,812.2487,2015-01-01 02:15:23,bin8123,75,False -CTSPillarNetworkA,8124,8124,8124,1992-03-30,812.4000000001162,812.3487,2015-01-01 02:15:24,bin8124,35,False -CTSPillarNetworkA,8125,8125,8125,1992-03-31,812.5000000001162,812.44867,2015-01-01 02:15:25,bin8125,75,False -CTSPillarNetworkA,8126,8126,8126,1992-04-01,812.6000000001162,812.54865,2015-01-01 02:15:26,bin8126,35,False -CTSPillarNetworkA,8127,8127,8127,1992-04-02,812.7000000001162,812.6486,2015-01-01 02:15:27,bin8127,75,False -CTSPillarNetworkA,8128,8128,8128,1992-04-03,812.8000000001163,812.7486,2015-01-01 02:15:28,bin8128,35,False -CTSPillarNetworkA,8129,8129,8129,1992-04-04,812.9000000001163,812.8486,2015-01-01 02:15:29,bin8129,75,False -CTSPillarNetworkA,8130,8130,8130,1992-04-05,813.0000000001163,812.94855,2015-01-01 02:15:30,bin8130,35,False -CTSPillarNetworkA,8131,8131,8131,1992-04-06,813.1000000001163,813.0485,2015-01-01 02:15:31,bin8131,75,False -CTSPillarNetworkA,8132,8132,8132,1992-04-07,813.2000000001163,813.1485,2015-01-01 02:15:32,bin8132,35,False -CTSPillarNetworkA,8133,8133,8133,1992-04-08,813.3000000001164,813.2485,2015-01-01 02:15:33,bin8133,75,False -CTSPillarNetworkA,8134,8134,8134,1992-04-09,813.4000000001164,813.34845,2015-01-01 02:15:34,bin8134,35,False -CTSPillarNetworkA,8135,8135,8135,1992-04-10,813.5000000001164,813.4484,2015-01-01 02:15:35,bin8135,75,False -CTSPillarNetworkA,8136,8136,8136,1992-04-11,813.6000000001164,813.5484,2015-01-01 02:15:36,bin8136,35,False -CTSPillarNetworkA,8137,8137,8137,1992-04-12,813.7000000001165,813.6484,2015-01-01 02:15:37,bin8137,75,False -CTSPillarNetworkA,8138,8138,8138,1992-04-13,813.8000000001165,813.74835,2015-01-01 02:15:38,bin8138,35,False -CTSPillarNetworkA,8139,8139,8139,1992-04-14,813.9000000001165,813.8483,2015-01-01 02:15:39,bin8139,75,False -CTSPillarNetworkA,8140,8140,8140,1992-04-15,814.0000000001165,813.9483,2015-01-01 02:15:40,bin8140,35,False -CTSPillarNetworkA,8141,8141,8141,1992-04-16,814.1000000001166,814.0483,2015-01-01 02:15:41,bin8141,75,False -CTSPillarNetworkA,8142,8142,8142,1992-04-17,814.2000000001166,814.14825,2015-01-01 02:15:42,bin8142,35,False -CTSPillarNetworkA,8143,8143,8143,1992-04-18,814.3000000001166,814.2482,2015-01-01 02:15:43,bin8143,75,False -CTSPillarNetworkA,8144,8144,8144,1992-04-19,814.4000000001166,814.3482,2015-01-01 02:15:44,bin8144,35,False -CTSPillarNetworkA,8145,8145,8145,1992-04-20,814.5000000001166,814.4482,2015-01-01 02:15:45,bin8145,75,False -CTSPillarNetworkA,8146,8146,8146,1992-04-21,814.6000000001167,814.54816,2015-01-01 02:15:46,bin8146,35,False -CTSPillarNetworkA,8147,8147,8147,1992-04-22,814.7000000001167,814.64813,2015-01-01 02:15:47,bin8147,75,False -CTSPillarNetworkA,8148,8148,8148,1992-04-23,814.8000000001167,814.7481,2015-01-01 02:15:48,bin8148,35,False -CTSPillarNetworkA,8149,8149,8149,1992-04-24,814.9000000001167,814.8481,2015-01-01 02:15:49,bin8149,75,False -CTSPillarNetworkA,8150,8150,8150,1992-04-25,815.0000000001168,814.94806,2015-01-01 02:15:50,bin8150,35,False -CTSPillarNetworkA,8151,8151,8151,1992-04-26,815.1000000001168,815.04803,2015-01-01 02:15:51,bin8151,75,False -CTSPillarNetworkA,8152,8152,8152,1992-04-27,815.2000000001168,815.148,2015-01-01 02:15:52,bin8152,35,False -CTSPillarNetworkA,8153,8153,8153,1992-04-28,815.3000000001168,815.248,2015-01-01 02:15:53,bin8153,75,False -CTSPillarNetworkA,8154,8154,8154,1992-04-29,815.4000000001168,815.34796,2015-01-01 02:15:54,bin8154,35,False -CTSPillarNetworkA,8155,8155,8155,1992-04-30,815.5000000001169,815.44794,2015-01-01 02:15:55,bin8155,75,False -CTSPillarNetworkA,8156,8156,8156,1992-05-01,815.6000000001169,815.5479,2015-01-01 02:15:56,bin8156,35,False -CTSPillarNetworkA,8157,8157,8157,1992-05-02,815.7000000001169,815.6479,2015-01-01 02:15:57,bin8157,75,False -CTSPillarNetworkA,8158,8158,8158,1992-05-03,815.8000000001169,815.74786,2015-01-01 02:15:58,bin8158,35,False -CTSPillarNetworkA,8159,8159,8159,1992-05-04,815.900000000117,815.84784,2015-01-01 02:15:59,bin8159,75,False -CTSPillarNetworkA,8160,8160,8160,1992-05-05,816.000000000117,815.9478,2015-01-01 02:16:00,bin8160,35,False -CTSPillarNetworkA,8161,8161,8161,1992-05-06,816.100000000117,816.0478,2015-01-01 02:16:01,bin8161,75,False -CTSPillarNetworkA,8162,8162,8162,1992-05-07,816.200000000117,816.14777,2015-01-01 02:16:02,bin8162,35,False -CTSPillarNetworkA,8163,8163,8163,1992-05-08,816.300000000117,816.24774,2015-01-01 02:16:03,bin8163,75,False -CTSPillarNetworkA,8164,8164,8164,1992-05-09,816.4000000001171,816.3477,2015-01-01 02:16:04,bin8164,35,False -CTSPillarNetworkA,8165,8165,8165,1992-05-10,816.5000000001171,816.4477,2015-01-01 02:16:05,bin8165,75,False -CTSPillarNetworkA,8166,8166,8166,1992-05-11,816.6000000001171,816.54767,2015-01-01 02:16:06,bin8166,35,False -CTSPillarNetworkA,8167,8167,8167,1992-05-12,816.7000000001171,816.64764,2015-01-01 02:16:07,bin8167,75,False -CTSPillarNetworkA,8168,8168,8168,1992-05-13,816.8000000001172,816.7476,2015-01-01 02:16:08,bin8168,35,False -CTSPillarNetworkA,8169,8169,8169,1992-05-14,816.9000000001172,816.8476,2015-01-01 02:16:09,bin8169,75,False -CTSPillarNetworkA,8170,8170,8170,1992-05-15,817.0000000001172,816.9476,2015-01-01 02:16:10,bin8170,35,False -CTSPillarNetworkA,8171,8171,8171,1992-05-16,817.1000000001172,817.04755,2015-01-01 02:16:11,bin8171,75,False -CTSPillarNetworkA,8172,8172,8172,1992-05-17,817.2000000001173,817.1475,2015-01-01 02:16:12,bin8172,35,False -CTSPillarNetworkA,8173,8173,8173,1992-05-18,817.3000000001173,817.2475,2015-01-01 02:16:13,bin8173,75,False -CTSPillarNetworkA,8174,8174,8174,1992-05-19,817.4000000001173,817.3475,2015-01-01 02:16:14,bin8174,35,False -CTSPillarNetworkA,8175,8175,8175,1992-05-20,817.5000000001173,817.44745,2015-01-01 02:16:15,bin8175,75,False -CTSPillarNetworkA,8176,8176,8176,1992-05-21,817.6000000001173,817.5474,2015-01-01 02:16:16,bin8176,35,False -CTSPillarNetworkA,8177,8177,8177,1992-05-22,817.7000000001174,817.6474,2015-01-01 02:16:17,bin8177,75,False -CTSPillarNetworkA,8178,8178,8178,1992-05-23,817.8000000001174,817.7474,2015-01-01 02:16:18,bin8178,35,False -CTSPillarNetworkA,8179,8179,8179,1992-05-24,817.9000000001174,817.84735,2015-01-01 02:16:19,bin8179,75,False -CTSPillarNetworkA,8180,8180,8180,1992-05-25,818.0000000001174,817.9473,2015-01-01 02:16:20,bin8180,35,False -CTSPillarNetworkA,8181,8181,8181,1992-05-26,818.1000000001175,818.0473,2015-01-01 02:16:21,bin8181,75,False -CTSPillarNetworkA,8182,8182,8182,1992-05-27,818.2000000001175,818.1473,2015-01-01 02:16:22,bin8182,35,False -CTSPillarNetworkA,8183,8183,8183,1992-05-28,818.3000000001175,818.24725,2015-01-01 02:16:23,bin8183,75,False -CTSPillarNetworkA,8184,8184,8184,1992-05-29,818.4000000001175,818.3472,2015-01-01 02:16:24,bin8184,35,False -CTSPillarNetworkA,8185,8185,8185,1992-05-30,818.5000000001176,818.4472,2015-01-01 02:16:25,bin8185,75,False -CTSPillarNetworkA,8186,8186,8186,1992-05-31,818.6000000001176,818.5472,2015-01-01 02:16:26,bin8186,35,False -CTSPillarNetworkA,8187,8187,8187,1992-06-01,818.7000000001176,818.64716,2015-01-01 02:16:27,bin8187,75,False -CTSPillarNetworkA,8188,8188,8188,1992-06-02,818.8000000001176,818.74713,2015-01-01 02:16:28,bin8188,35,False -CTSPillarNetworkA,8189,8189,8189,1992-06-03,818.9000000001176,818.8471,2015-01-01 02:16:29,bin8189,75,False -CTSPillarNetworkA,8190,8190,8190,1992-06-04,819.0000000001177,818.9471,2015-01-01 02:16:30,bin8190,35,False -CTSPillarNetworkA,8191,8191,8191,1992-06-05,819.1000000001177,819.04706,2015-01-01 02:16:31,bin8191,75,False -CTSPillarNetworkA,8192,8192,8192,1992-06-06,819.2000000001177,819.14703,2015-01-01 02:16:32,bin8192,35,False -CTSPillarNetworkA,8193,8193,8193,1992-06-07,819.3000000001177,819.247,2015-01-01 02:16:33,bin8193,75,False -CTSPillarNetworkA,8194,8194,8194,1992-06-08,819.4000000001178,819.347,2015-01-01 02:16:34,bin8194,35,False -CTSPillarNetworkA,8195,8195,8195,1992-06-09,819.5000000001178,819.44696,2015-01-01 02:16:35,bin8195,75,False -CTSPillarNetworkA,8196,8196,8196,1992-06-10,819.6000000001178,819.54694,2015-01-01 02:16:36,bin8196,35,False -CTSPillarNetworkA,8197,8197,8197,1992-06-11,819.7000000001178,819.6469,2015-01-01 02:16:37,bin8197,75,False -CTSPillarNetworkA,8198,8198,8198,1992-06-12,819.8000000001178,819.7469,2015-01-01 02:16:38,bin8198,35,False -CTSPillarNetworkA,8199,8199,8199,1992-06-13,819.9000000001179,819.84686,2015-01-01 02:16:39,bin8199,75,False -CTSPillarNetworkA,8200,8200,8200,1992-06-14,820.0000000001179,819.94684,2015-01-01 02:16:40,bin8200,35,False -CTSPillarNetworkA,8201,8201,8201,1992-06-15,820.1000000001179,820.0468,2015-01-01 02:16:41,bin8201,75,False -CTSPillarNetworkA,8202,8202,8202,1992-06-16,820.2000000001179,820.1468,2015-01-01 02:16:42,bin8202,35,False -CTSPillarNetworkA,8203,8203,8203,1992-06-17,820.300000000118,820.24677,2015-01-01 02:16:43,bin8203,75,False -CTSPillarNetworkA,8204,8204,8204,1992-06-18,820.400000000118,820.34674,2015-01-01 02:16:44,bin8204,35,False -CTSPillarNetworkA,8205,8205,8205,1992-06-19,820.500000000118,820.4467,2015-01-01 02:16:45,bin8205,75,False -CTSPillarNetworkA,8206,8206,8206,1992-06-20,820.600000000118,820.5467,2015-01-01 02:16:46,bin8206,35,False -CTSPillarNetworkA,8207,8207,8207,1992-06-21,820.700000000118,820.64667,2015-01-01 02:16:47,bin8207,75,False -CTSPillarNetworkA,8208,8208,8208,1992-06-22,820.8000000001181,820.74664,2015-01-01 02:16:48,bin8208,35,False -CTSPillarNetworkA,8209,8209,8209,1992-06-23,820.9000000001181,820.8466,2015-01-01 02:16:49,bin8209,75,False -CTSPillarNetworkA,8210,8210,8210,1992-06-24,821.0000000001181,820.9466,2015-01-01 02:16:50,bin8210,35,False -CTSPillarNetworkA,8211,8211,8211,1992-06-25,821.1000000001181,821.0466,2015-01-01 02:16:51,bin8211,75,False -CTSPillarNetworkA,8212,8212,8212,1992-06-26,821.2000000001182,821.14655,2015-01-01 02:16:52,bin8212,35,False -CTSPillarNetworkA,8213,8213,8213,1992-06-27,821.3000000001182,821.2465,2015-01-01 02:16:53,bin8213,75,False -CTSPillarNetworkA,8214,8214,8214,1992-06-28,821.4000000001182,821.3465,2015-01-01 02:16:54,bin8214,35,False -CTSPillarNetworkA,8215,8215,8215,1992-06-29,821.5000000001182,821.4465,2015-01-01 02:16:55,bin8215,75,False -CTSPillarNetworkA,8216,8216,8216,1992-06-30,821.6000000001183,821.54645,2015-01-01 02:16:56,bin8216,35,False -CTSPillarNetworkA,8217,8217,8217,1992-07-01,821.7000000001183,821.6464,2015-01-01 02:16:57,bin8217,75,False -CTSPillarNetworkA,8218,8218,8218,1992-07-02,821.8000000001183,821.7464,2015-01-01 02:16:58,bin8218,35,False -CTSPillarNetworkA,8219,8219,8219,1992-07-03,821.9000000001183,821.8464,2015-01-01 02:16:59,bin8219,75,False -CTSPillarNetworkA,8220,8220,8220,1992-07-04,822.0000000001183,821.94635,2015-01-01 02:17:00,bin8220,35,False -CTSPillarNetworkA,8221,8221,8221,1992-07-05,822.1000000001184,822.0463,2015-01-01 02:17:01,bin8221,75,False -CTSPillarNetworkA,8222,8222,8222,1992-07-06,822.2000000001184,822.1463,2015-01-01 02:17:02,bin8222,35,False -CTSPillarNetworkA,8223,8223,8223,1992-07-07,822.3000000001184,822.2463,2015-01-01 02:17:03,bin8223,75,False -CTSPillarNetworkA,8224,8224,8224,1992-07-08,822.4000000001184,822.34625,2015-01-01 02:17:04,bin8224,35,False -CTSPillarNetworkA,8225,8225,8225,1992-07-09,822.5000000001185,822.4462,2015-01-01 02:17:05,bin8225,75,False -CTSPillarNetworkA,8226,8226,8226,1992-07-10,822.6000000001185,822.5462,2015-01-01 02:17:06,bin8226,35,False -CTSPillarNetworkA,8227,8227,8227,1992-07-11,822.7000000001185,822.6462,2015-01-01 02:17:07,bin8227,75,False -CTSPillarNetworkA,8228,8228,8228,1992-07-12,822.8000000001185,822.74615,2015-01-01 02:17:08,bin8228,35,False -CTSPillarNetworkA,8229,8229,8229,1992-07-13,822.9000000001186,822.8461,2015-01-01 02:17:09,bin8229,75,False -CTSPillarNetworkA,8230,8230,8230,1992-07-14,823.0000000001186,822.9461,2015-01-01 02:17:10,bin8230,35,False -CTSPillarNetworkA,8231,8231,8231,1992-07-15,823.1000000001186,823.0461,2015-01-01 02:17:11,bin8231,75,False -CTSPillarNetworkA,8232,8232,8232,1992-07-16,823.2000000001186,823.14606,2015-01-01 02:17:12,bin8232,35,False -CTSPillarNetworkA,8233,8233,8233,1992-07-17,823.3000000001186,823.24603,2015-01-01 02:17:13,bin8233,75,False -CTSPillarNetworkA,8234,8234,8234,1992-07-18,823.4000000001187,823.346,2015-01-01 02:17:14,bin8234,35,False -CTSPillarNetworkA,8235,8235,8235,1992-07-19,823.5000000001187,823.446,2015-01-01 02:17:15,bin8235,75,False -CTSPillarNetworkA,8236,8236,8236,1992-07-20,823.6000000001187,823.54596,2015-01-01 02:17:16,bin8236,35,False -CTSPillarNetworkA,8237,8237,8237,1992-07-21,823.7000000001187,823.64594,2015-01-01 02:17:17,bin8237,75,False -CTSPillarNetworkA,8238,8238,8238,1992-07-22,823.8000000001188,823.7459,2015-01-01 02:17:18,bin8238,35,False -CTSPillarNetworkA,8239,8239,8239,1992-07-23,823.9000000001188,823.8459,2015-01-01 02:17:19,bin8239,75,False -CTSPillarNetworkA,8240,8240,8240,1992-07-24,824.0000000001188,823.94586,2015-01-01 02:17:20,bin8240,35,False -CTSPillarNetworkA,8241,8241,8241,1992-07-25,824.1000000001188,824.04584,2015-01-01 02:17:21,bin8241,75,False -CTSPillarNetworkA,8242,8242,8242,1992-07-26,824.2000000001188,824.1458,2015-01-01 02:17:22,bin8242,35,False -CTSPillarNetworkA,8243,8243,8243,1992-07-27,824.3000000001189,824.2458,2015-01-01 02:17:23,bin8243,75,False -CTSPillarNetworkA,8244,8244,8244,1992-07-28,824.4000000001189,824.34576,2015-01-01 02:17:24,bin8244,35,False -CTSPillarNetworkA,8245,8245,8245,1992-07-29,824.5000000001189,824.44574,2015-01-01 02:17:25,bin8245,75,False -CTSPillarNetworkA,8246,8246,8246,1992-07-30,824.6000000001189,824.5457,2015-01-01 02:17:26,bin8246,35,False -CTSPillarNetworkA,8247,8247,8247,1992-07-31,824.700000000119,824.6457,2015-01-01 02:17:27,bin8247,75,False -CTSPillarNetworkA,8248,8248,8248,1992-08-01,824.800000000119,824.74567,2015-01-01 02:17:28,bin8248,35,False -CTSPillarNetworkA,8249,8249,8249,1992-08-02,824.900000000119,824.84564,2015-01-01 02:17:29,bin8249,75,False -CTSPillarNetworkA,8250,8250,8250,1992-08-03,825.000000000119,824.9456,2015-01-01 02:17:30,bin8250,35,False -CTSPillarNetworkA,8251,8251,8251,1992-08-04,825.100000000119,825.0456,2015-01-01 02:17:31,bin8251,75,False -CTSPillarNetworkA,8252,8252,8252,1992-08-05,825.2000000001191,825.14557,2015-01-01 02:17:32,bin8252,35,False -CTSPillarNetworkA,8253,8253,8253,1992-08-06,825.3000000001191,825.24554,2015-01-01 02:17:33,bin8253,75,False -CTSPillarNetworkA,8254,8254,8254,1992-08-07,825.4000000001191,825.3455,2015-01-01 02:17:34,bin8254,35,False -CTSPillarNetworkA,8255,8255,8255,1992-08-08,825.5000000001191,825.4455,2015-01-01 02:17:35,bin8255,75,False -CTSPillarNetworkA,8256,8256,8256,1992-08-09,825.6000000001192,825.5455,2015-01-01 02:17:36,bin8256,35,False -CTSPillarNetworkA,8257,8257,8257,1992-08-10,825.7000000001192,825.64545,2015-01-01 02:17:37,bin8257,75,False -CTSPillarNetworkA,8258,8258,8258,1992-08-11,825.8000000001192,825.7454,2015-01-01 02:17:38,bin8258,35,False -CTSPillarNetworkA,8259,8259,8259,1992-08-12,825.9000000001192,825.8454,2015-01-01 02:17:39,bin8259,75,False -CTSPillarNetworkA,8260,8260,8260,1992-08-13,826.0000000001193,825.9454,2015-01-01 02:17:40,bin8260,35,False -CTSPillarNetworkA,8261,8261,8261,1992-08-14,826.1000000001193,826.04535,2015-01-01 02:17:41,bin8261,75,False -CTSPillarNetworkA,8262,8262,8262,1992-08-15,826.2000000001193,826.1453,2015-01-01 02:17:42,bin8262,35,False -CTSPillarNetworkA,8263,8263,8263,1992-08-16,826.3000000001193,826.2453,2015-01-01 02:17:43,bin8263,75,False -CTSPillarNetworkA,8264,8264,8264,1992-08-17,826.4000000001193,826.3453,2015-01-01 02:17:44,bin8264,35,False -CTSPillarNetworkA,8265,8265,8265,1992-08-18,826.5000000001194,826.44525,2015-01-01 02:17:45,bin8265,75,False -CTSPillarNetworkA,8266,8266,8266,1992-08-19,826.6000000001194,826.5452,2015-01-01 02:17:46,bin8266,35,False -CTSPillarNetworkA,8267,8267,8267,1992-08-20,826.7000000001194,826.6452,2015-01-01 02:17:47,bin8267,75,False -CTSPillarNetworkA,8268,8268,8268,1992-08-21,826.8000000001194,826.7452,2015-01-01 02:17:48,bin8268,35,False -CTSPillarNetworkA,8269,8269,8269,1992-08-22,826.9000000001195,826.84515,2015-01-01 02:17:49,bin8269,75,False -CTSPillarNetworkA,8270,8270,8270,1992-08-23,827.0000000001195,826.9451,2015-01-01 02:17:50,bin8270,35,False -CTSPillarNetworkA,8271,8271,8271,1992-08-24,827.1000000001195,827.0451,2015-01-01 02:17:51,bin8271,75,False -CTSPillarNetworkA,8272,8272,8272,1992-08-25,827.2000000001195,827.1451,2015-01-01 02:17:52,bin8272,35,False -CTSPillarNetworkA,8273,8273,8273,1992-08-26,827.3000000001196,827.24506,2015-01-01 02:17:53,bin8273,75,False -CTSPillarNetworkA,8274,8274,8274,1992-08-27,827.4000000001196,827.34503,2015-01-01 02:17:54,bin8274,35,False -CTSPillarNetworkA,8275,8275,8275,1992-08-28,827.5000000001196,827.445,2015-01-01 02:17:55,bin8275,75,False -CTSPillarNetworkA,8276,8276,8276,1992-08-29,827.6000000001196,827.545,2015-01-01 02:17:56,bin8276,35,False -CTSPillarNetworkA,8277,8277,8277,1992-08-30,827.7000000001196,827.64496,2015-01-01 02:17:57,bin8277,75,False -CTSPillarNetworkA,8278,8278,8278,1992-08-31,827.8000000001197,827.74493,2015-01-01 02:17:58,bin8278,35,False -CTSPillarNetworkA,8279,8279,8279,1992-09-01,827.9000000001197,827.8449,2015-01-01 02:17:59,bin8279,75,False -CTSPillarNetworkA,8280,8280,8280,1992-09-02,828.0000000001197,827.9449,2015-01-01 02:18:00,bin8280,35,False -CTSPillarNetworkA,8281,8281,8281,1992-09-03,828.1000000001197,828.04486,2015-01-01 02:18:01,bin8281,75,False -CTSPillarNetworkA,8282,8282,8282,1992-09-04,828.2000000001198,828.14484,2015-01-01 02:18:02,bin8282,35,False -CTSPillarNetworkA,8283,8283,8283,1992-09-05,828.3000000001198,828.2448,2015-01-01 02:18:03,bin8283,75,False -CTSPillarNetworkA,8284,8284,8284,1992-09-06,828.4000000001198,828.3448,2015-01-01 02:18:04,bin8284,35,False -CTSPillarNetworkA,8285,8285,8285,1992-09-07,828.5000000001198,828.44476,2015-01-01 02:18:05,bin8285,75,False -CTSPillarNetworkA,8286,8286,8286,1992-09-08,828.6000000001198,828.54474,2015-01-01 02:18:06,bin8286,35,False -CTSPillarNetworkA,8287,8287,8287,1992-09-09,828.7000000001199,828.6447,2015-01-01 02:18:07,bin8287,75,False -CTSPillarNetworkA,8288,8288,8288,1992-09-10,828.8000000001199,828.7447,2015-01-01 02:18:08,bin8288,35,False -CTSPillarNetworkA,8289,8289,8289,1992-09-11,828.9000000001199,828.84467,2015-01-01 02:18:09,bin8289,75,False -CTSPillarNetworkA,8290,8290,8290,1992-09-12,829.0000000001199,828.94464,2015-01-01 02:18:10,bin8290,35,False -CTSPillarNetworkA,8291,8291,8291,1992-09-13,829.10000000012,829.0446,2015-01-01 02:18:11,bin8291,75,False -CTSPillarNetworkA,8292,8292,8292,1992-09-14,829.20000000012,829.1446,2015-01-01 02:18:12,bin8292,35,False -CTSPillarNetworkA,8293,8293,8293,1992-09-15,829.30000000012,829.24457,2015-01-01 02:18:13,bin8293,75,False -CTSPillarNetworkA,8294,8294,8294,1992-09-16,829.40000000012,829.34454,2015-01-01 02:18:14,bin8294,35,False -CTSPillarNetworkA,8295,8295,8295,1992-09-17,829.50000000012,829.4445,2015-01-01 02:18:15,bin8295,75,False -CTSPillarNetworkA,8296,8296,8296,1992-09-18,829.6000000001201,829.5445,2015-01-01 02:18:16,bin8296,35,False -CTSPillarNetworkA,8297,8297,8297,1992-09-19,829.7000000001201,829.6445,2015-01-01 02:18:17,bin8297,75,False -CTSPillarNetworkA,8298,8298,8298,1992-09-20,829.8000000001201,829.74445,2015-01-01 02:18:18,bin8298,35,False -CTSPillarNetworkA,8299,8299,8299,1992-09-21,829.9000000001201,829.8444,2015-01-01 02:18:19,bin8299,75,False -CTSPillarNetworkA,8300,8300,8300,1992-09-22,830.0000000001202,829.9444,2015-01-01 02:18:20,bin8300,35,False -CTSPillarNetworkA,8301,8301,8301,1992-09-23,830.1000000001202,830.0444,2015-01-01 02:18:21,bin8301,75,False -CTSPillarNetworkA,8302,8302,8302,1992-09-24,830.2000000001202,830.14435,2015-01-01 02:18:22,bin8302,35,False -CTSPillarNetworkA,8303,8303,8303,1992-09-25,830.3000000001202,830.2443,2015-01-01 02:18:23,bin8303,75,False -CTSPillarNetworkA,8304,8304,8304,1992-09-26,830.4000000001203,830.3443,2015-01-01 02:18:24,bin8304,35,False -CTSPillarNetworkA,8305,8305,8305,1992-09-27,830.5000000001203,830.4443,2015-01-01 02:18:25,bin8305,75,False -CTSPillarNetworkA,8306,8306,8306,1992-09-28,830.6000000001203,830.54425,2015-01-01 02:18:26,bin8306,35,False -CTSPillarNetworkA,8307,8307,8307,1992-09-29,830.7000000001203,830.6442,2015-01-01 02:18:27,bin8307,75,False -CTSPillarNetworkA,8308,8308,8308,1992-09-30,830.8000000001203,830.7442,2015-01-01 02:18:28,bin8308,35,False -CTSPillarNetworkA,8309,8309,8309,1992-10-01,830.9000000001204,830.8442,2015-01-01 02:18:29,bin8309,75,False -CTSPillarNetworkA,8310,8310,8310,1992-10-02,831.0000000001204,830.94415,2015-01-01 02:18:30,bin8310,35,False -CTSPillarNetworkA,8311,8311,8311,1992-10-03,831.1000000001204,831.0441,2015-01-01 02:18:31,bin8311,75,False -CTSPillarNetworkA,8312,8312,8312,1992-10-04,831.2000000001204,831.1441,2015-01-01 02:18:32,bin8312,35,False -CTSPillarNetworkA,8313,8313,8313,1992-10-05,831.3000000001205,831.2441,2015-01-01 02:18:33,bin8313,75,False -CTSPillarNetworkA,8314,8314,8314,1992-10-06,831.4000000001205,831.34406,2015-01-01 02:18:34,bin8314,35,False -CTSPillarNetworkA,8315,8315,8315,1992-10-07,831.5000000001205,831.44403,2015-01-01 02:18:35,bin8315,75,False -CTSPillarNetworkA,8316,8316,8316,1992-10-08,831.6000000001205,831.544,2015-01-01 02:18:36,bin8316,35,False -CTSPillarNetworkA,8317,8317,8317,1992-10-09,831.7000000001206,831.644,2015-01-01 02:18:37,bin8317,75,False -CTSPillarNetworkA,8318,8318,8318,1992-10-10,831.8000000001206,831.74396,2015-01-01 02:18:38,bin8318,35,False -CTSPillarNetworkA,8319,8319,8319,1992-10-11,831.9000000001206,831.84393,2015-01-01 02:18:39,bin8319,75,False -CTSPillarNetworkA,8320,8320,8320,1992-10-12,832.0000000001206,831.9439,2015-01-01 02:18:40,bin8320,35,False -CTSPillarNetworkA,8321,8321,8321,1992-10-13,832.1000000001206,832.0439,2015-01-01 02:18:41,bin8321,75,False -CTSPillarNetworkA,8322,8322,8322,1992-10-14,832.2000000001207,832.14386,2015-01-01 02:18:42,bin8322,35,False -CTSPillarNetworkA,8323,8323,8323,1992-10-15,832.3000000001207,832.24384,2015-01-01 02:18:43,bin8323,75,False -CTSPillarNetworkA,8324,8324,8324,1992-10-16,832.4000000001207,832.3438,2015-01-01 02:18:44,bin8324,35,False -CTSPillarNetworkA,8325,8325,8325,1992-10-17,832.5000000001207,832.4438,2015-01-01 02:18:45,bin8325,75,False -CTSPillarNetworkA,8326,8326,8326,1992-10-18,832.6000000001208,832.54376,2015-01-01 02:18:46,bin8326,35,False -CTSPillarNetworkA,8327,8327,8327,1992-10-19,832.7000000001208,832.64374,2015-01-01 02:18:47,bin8327,75,False -CTSPillarNetworkA,8328,8328,8328,1992-10-20,832.8000000001208,832.7437,2015-01-01 02:18:48,bin8328,35,False -CTSPillarNetworkA,8329,8329,8329,1992-10-21,832.9000000001208,832.8437,2015-01-01 02:18:49,bin8329,75,False -CTSPillarNetworkA,8330,8330,8330,1992-10-22,833.0000000001208,832.94366,2015-01-01 02:18:50,bin8330,35,False -CTSPillarNetworkA,8331,8331,8331,1992-10-23,833.1000000001209,833.04364,2015-01-01 02:18:51,bin8331,75,False -CTSPillarNetworkA,8332,8332,8332,1992-10-24,833.2000000001209,833.1436,2015-01-01 02:18:52,bin8332,35,False -CTSPillarNetworkA,8333,8333,8333,1992-10-25,833.3000000001209,833.2436,2015-01-01 02:18:53,bin8333,75,False -CTSPillarNetworkA,8334,8334,8334,1992-10-26,833.4000000001209,833.34357,2015-01-01 02:18:54,bin8334,35,False -CTSPillarNetworkA,8335,8335,8335,1992-10-27,833.500000000121,833.44354,2015-01-01 02:18:55,bin8335,75,False -CTSPillarNetworkA,8336,8336,8336,1992-10-28,833.600000000121,833.5435,2015-01-01 02:18:56,bin8336,35,False -CTSPillarNetworkA,8337,8337,8337,1992-10-29,833.700000000121,833.6435,2015-01-01 02:18:57,bin8337,75,False -CTSPillarNetworkA,8338,8338,8338,1992-10-30,833.800000000121,833.74347,2015-01-01 02:18:58,bin8338,35,False -CTSPillarNetworkA,8339,8339,8339,1992-10-31,833.900000000121,833.84344,2015-01-01 02:18:59,bin8339,75,False -CTSPillarNetworkA,8340,8340,8340,1992-11-01,834.0000000001211,833.9434,2015-01-01 02:19:00,bin8340,35,False -CTSPillarNetworkA,8341,8341,8341,1992-11-02,834.1000000001211,834.0434,2015-01-01 02:19:01,bin8341,75,False -CTSPillarNetworkA,8342,8342,8342,1992-11-03,834.2000000001211,834.1434,2015-01-01 02:19:02,bin8342,35,False -CTSPillarNetworkA,8343,8343,8343,1992-11-04,834.3000000001211,834.24335,2015-01-01 02:19:03,bin8343,75,False -CTSPillarNetworkA,8344,8344,8344,1992-11-05,834.4000000001212,834.3433,2015-01-01 02:19:04,bin8344,35,False -CTSPillarNetworkA,8345,8345,8345,1992-11-06,834.5000000001212,834.4433,2015-01-01 02:19:05,bin8345,75,False -CTSPillarNetworkA,8346,8346,8346,1992-11-07,834.6000000001212,834.5433,2015-01-01 02:19:06,bin8346,35,False -CTSPillarNetworkA,8347,8347,8347,1992-11-08,834.7000000001212,834.64325,2015-01-01 02:19:07,bin8347,75,False -CTSPillarNetworkA,8348,8348,8348,1992-11-09,834.8000000001213,834.7432,2015-01-01 02:19:08,bin8348,35,False -CTSPillarNetworkA,8349,8349,8349,1992-11-10,834.9000000001213,834.8432,2015-01-01 02:19:09,bin8349,75,False -CTSPillarNetworkA,8350,8350,8350,1992-11-11,835.0000000001213,834.9432,2015-01-01 02:19:10,bin8350,35,False -CTSPillarNetworkA,8351,8351,8351,1992-11-12,835.1000000001213,835.04315,2015-01-01 02:19:11,bin8351,75,False -CTSPillarNetworkA,8352,8352,8352,1992-11-13,835.2000000001213,835.1431,2015-01-01 02:19:12,bin8352,35,False -CTSPillarNetworkA,8353,8353,8353,1992-11-14,835.3000000001214,835.2431,2015-01-01 02:19:13,bin8353,75,False -CTSPillarNetworkA,8354,8354,8354,1992-11-15,835.4000000001214,835.3431,2015-01-01 02:19:14,bin8354,35,False -CTSPillarNetworkA,8355,8355,8355,1992-11-16,835.5000000001214,835.44305,2015-01-01 02:19:15,bin8355,75,False -CTSPillarNetworkA,8356,8356,8356,1992-11-17,835.6000000001214,835.543,2015-01-01 02:19:16,bin8356,35,False -CTSPillarNetworkA,8357,8357,8357,1992-11-18,835.7000000001215,835.643,2015-01-01 02:19:17,bin8357,75,False -CTSPillarNetworkA,8358,8358,8358,1992-11-19,835.8000000001215,835.743,2015-01-01 02:19:18,bin8358,35,False -CTSPillarNetworkA,8359,8359,8359,1992-11-20,835.9000000001215,835.84296,2015-01-01 02:19:19,bin8359,75,False -CTSPillarNetworkA,8360,8360,8360,1992-11-21,836.0000000001215,835.94293,2015-01-01 02:19:20,bin8360,35,False -CTSPillarNetworkA,8361,8361,8361,1992-11-22,836.1000000001216,836.0429,2015-01-01 02:19:21,bin8361,75,False -CTSPillarNetworkA,8362,8362,8362,1992-11-23,836.2000000001216,836.1429,2015-01-01 02:19:22,bin8362,35,False -CTSPillarNetworkA,8363,8363,8363,1992-11-24,836.3000000001216,836.24286,2015-01-01 02:19:23,bin8363,75,False -CTSPillarNetworkA,8364,8364,8364,1992-11-25,836.4000000001216,836.34283,2015-01-01 02:19:24,bin8364,35,False -CTSPillarNetworkA,8365,8365,8365,1992-11-26,836.5000000001216,836.4428,2015-01-01 02:19:25,bin8365,75,False -CTSPillarNetworkA,8366,8366,8366,1992-11-27,836.6000000001217,836.5428,2015-01-01 02:19:26,bin8366,35,False -CTSPillarNetworkA,8367,8367,8367,1992-11-28,836.7000000001217,836.64276,2015-01-01 02:19:27,bin8367,75,False -CTSPillarNetworkA,8368,8368,8368,1992-11-29,836.8000000001217,836.74274,2015-01-01 02:19:28,bin8368,35,False -CTSPillarNetworkA,8369,8369,8369,1992-11-30,836.9000000001217,836.8427,2015-01-01 02:19:29,bin8369,75,False -CTSPillarNetworkA,8370,8370,8370,1992-12-01,837.0000000001218,836.9427,2015-01-01 02:19:30,bin8370,35,False -CTSPillarNetworkA,8371,8371,8371,1992-12-02,837.1000000001218,837.04266,2015-01-01 02:19:31,bin8371,75,False -CTSPillarNetworkA,8372,8372,8372,1992-12-03,837.2000000001218,837.14264,2015-01-01 02:19:32,bin8372,35,False -CTSPillarNetworkA,8373,8373,8373,1992-12-04,837.3000000001218,837.2426,2015-01-01 02:19:33,bin8373,75,False -CTSPillarNetworkA,8374,8374,8374,1992-12-05,837.4000000001218,837.3426,2015-01-01 02:19:34,bin8374,35,False -CTSPillarNetworkA,8375,8375,8375,1992-12-06,837.5000000001219,837.44257,2015-01-01 02:19:35,bin8375,75,False -CTSPillarNetworkA,8376,8376,8376,1992-12-07,837.6000000001219,837.54254,2015-01-01 02:19:36,bin8376,35,False -CTSPillarNetworkA,8377,8377,8377,1992-12-08,837.7000000001219,837.6425,2015-01-01 02:19:37,bin8377,75,False -CTSPillarNetworkA,8378,8378,8378,1992-12-09,837.8000000001219,837.7425,2015-01-01 02:19:38,bin8378,35,False -CTSPillarNetworkA,8379,8379,8379,1992-12-10,837.900000000122,837.84247,2015-01-01 02:19:39,bin8379,75,False -CTSPillarNetworkA,8380,8380,8380,1992-12-11,838.000000000122,837.94244,2015-01-01 02:19:40,bin8380,35,False -CTSPillarNetworkA,8381,8381,8381,1992-12-12,838.100000000122,838.0424,2015-01-01 02:19:41,bin8381,75,False -CTSPillarNetworkA,8382,8382,8382,1992-12-13,838.200000000122,838.1424,2015-01-01 02:19:42,bin8382,35,False -CTSPillarNetworkA,8383,8383,8383,1992-12-14,838.300000000122,838.2424,2015-01-01 02:19:43,bin8383,75,False -CTSPillarNetworkA,8384,8384,8384,1992-12-15,838.4000000001221,838.34235,2015-01-01 02:19:44,bin8384,35,False -CTSPillarNetworkA,8385,8385,8385,1992-12-16,838.5000000001221,838.4423,2015-01-01 02:19:45,bin8385,75,False -CTSPillarNetworkA,8386,8386,8386,1992-12-17,838.6000000001221,838.5423,2015-01-01 02:19:46,bin8386,35,False -CTSPillarNetworkA,8387,8387,8387,1992-12-18,838.7000000001221,838.6423,2015-01-01 02:19:47,bin8387,75,False -CTSPillarNetworkA,8388,8388,8388,1992-12-19,838.8000000001222,838.74225,2015-01-01 02:19:48,bin8388,35,False -CTSPillarNetworkA,8389,8389,8389,1992-12-20,838.9000000001222,838.8422,2015-01-01 02:19:49,bin8389,75,False -CTSPillarNetworkA,8390,8390,8390,1992-12-21,839.0000000001222,838.9422,2015-01-01 02:19:50,bin8390,35,False -CTSPillarNetworkA,8391,8391,8391,1992-12-22,839.1000000001222,839.0422,2015-01-01 02:19:51,bin8391,75,False -CTSPillarNetworkA,8392,8392,8392,1992-12-23,839.2000000001223,839.14215,2015-01-01 02:19:52,bin8392,35,False -CTSPillarNetworkA,8393,8393,8393,1992-12-24,839.3000000001223,839.2421,2015-01-01 02:19:53,bin8393,75,False -CTSPillarNetworkA,8394,8394,8394,1992-12-25,839.4000000001223,839.3421,2015-01-01 02:19:54,bin8394,35,False -CTSPillarNetworkA,8395,8395,8395,1992-12-26,839.5000000001223,839.4421,2015-01-01 02:19:55,bin8395,75,False -CTSPillarNetworkA,8396,8396,8396,1992-12-27,839.6000000001223,839.54205,2015-01-01 02:19:56,bin8396,35,False -CTSPillarNetworkA,8397,8397,8397,1992-12-28,839.7000000001224,839.642,2015-01-01 02:19:57,bin8397,75,False -CTSPillarNetworkA,8398,8398,8398,1992-12-29,839.8000000001224,839.742,2015-01-01 02:19:58,bin8398,35,False -CTSPillarNetworkA,8399,8399,8399,1992-12-30,839.9000000001224,839.842,2015-01-01 02:19:59,bin8399,75,False -CTSPillarNetworkA,8400,8400,8400,1992-12-31,840.0000000001224,839.94196,2015-01-01 02:20:00,bin8400,35,False -CTSPillarNetworkA,8401,8401,8401,1993-01-01,840.1000000001225,840.04193,2015-01-01 02:20:01,bin8401,75,False -CTSPillarNetworkA,8402,8402,8402,1993-01-02,840.2000000001225,840.1419,2015-01-01 02:20:02,bin8402,35,False -CTSPillarNetworkA,8403,8403,8403,1993-01-03,840.3000000001225,840.2419,2015-01-01 02:20:03,bin8403,75,False -CTSPillarNetworkA,8404,8404,8404,1993-01-04,840.4000000001225,840.34186,2015-01-01 02:20:04,bin8404,35,False -CTSPillarNetworkA,8405,8405,8405,1993-01-05,840.5000000001226,840.44183,2015-01-01 02:20:05,bin8405,75,False -CTSPillarNetworkA,8406,8406,8406,1993-01-06,840.6000000001226,840.5418,2015-01-01 02:20:06,bin8406,35,False -CTSPillarNetworkA,8407,8407,8407,1993-01-07,840.7000000001226,840.6418,2015-01-01 02:20:07,bin8407,75,False -CTSPillarNetworkA,8408,8408,8408,1993-01-08,840.8000000001226,840.74176,2015-01-01 02:20:08,bin8408,35,False -CTSPillarNetworkA,8409,8409,8409,1993-01-09,840.9000000001226,840.84174,2015-01-01 02:20:09,bin8409,75,False -CTSPillarNetworkA,8410,8410,8410,1993-01-10,841.0000000001227,840.9417,2015-01-01 02:20:10,bin8410,35,False -CTSPillarNetworkA,8411,8411,8411,1993-01-11,841.1000000001227,841.0417,2015-01-01 02:20:11,bin8411,75,False -CTSPillarNetworkA,8412,8412,8412,1993-01-12,841.2000000001227,841.14166,2015-01-01 02:20:12,bin8412,35,False -CTSPillarNetworkA,8413,8413,8413,1993-01-13,841.3000000001227,841.24164,2015-01-01 02:20:13,bin8413,75,False -CTSPillarNetworkA,8414,8414,8414,1993-01-14,841.4000000001228,841.3416,2015-01-01 02:20:14,bin8414,35,False -CTSPillarNetworkA,8415,8415,8415,1993-01-15,841.5000000001228,841.4416,2015-01-01 02:20:15,bin8415,75,False -CTSPillarNetworkA,8416,8416,8416,1993-01-16,841.6000000001228,841.54156,2015-01-01 02:20:16,bin8416,35,False -CTSPillarNetworkA,8417,8417,8417,1993-01-17,841.7000000001228,841.64154,2015-01-01 02:20:17,bin8417,75,False -CTSPillarNetworkA,8418,8418,8418,1993-01-18,841.8000000001228,841.7415,2015-01-01 02:20:18,bin8418,35,False -CTSPillarNetworkA,8419,8419,8419,1993-01-19,841.9000000001229,841.8415,2015-01-01 02:20:19,bin8419,75,False -CTSPillarNetworkA,8420,8420,8420,1993-01-20,842.0000000001229,841.94147,2015-01-01 02:20:20,bin8420,35,False -CTSPillarNetworkA,8421,8421,8421,1993-01-21,842.1000000001229,842.04144,2015-01-01 02:20:21,bin8421,75,False -CTSPillarNetworkA,8422,8422,8422,1993-01-22,842.2000000001229,842.1414,2015-01-01 02:20:22,bin8422,35,False -CTSPillarNetworkA,8423,8423,8423,1993-01-23,842.300000000123,842.2414,2015-01-01 02:20:23,bin8423,75,False -CTSPillarNetworkA,8424,8424,8424,1993-01-24,842.400000000123,842.3414,2015-01-01 02:20:24,bin8424,35,False -CTSPillarNetworkA,8425,8425,8425,1993-01-25,842.500000000123,842.44135,2015-01-01 02:20:25,bin8425,75,False -CTSPillarNetworkA,8426,8426,8426,1993-01-26,842.600000000123,842.5413,2015-01-01 02:20:26,bin8426,35,False -CTSPillarNetworkA,8427,8427,8427,1993-01-27,842.700000000123,842.6413,2015-01-01 02:20:27,bin8427,75,False -CTSPillarNetworkA,8428,8428,8428,1993-01-28,842.8000000001231,842.7413,2015-01-01 02:20:28,bin8428,35,False -CTSPillarNetworkA,8429,8429,8429,1993-01-29,842.9000000001231,842.84125,2015-01-01 02:20:29,bin8429,75,False -CTSPillarNetworkA,8430,8430,8430,1993-01-30,843.0000000001231,842.9412,2015-01-01 02:20:30,bin8430,35,False -CTSPillarNetworkA,8431,8431,8431,1993-01-31,843.1000000001231,843.0412,2015-01-01 02:20:31,bin8431,75,False -CTSPillarNetworkA,8432,8432,8432,1993-02-01,843.2000000001232,843.1412,2015-01-01 02:20:32,bin8432,35,False -CTSPillarNetworkA,8433,8433,8433,1993-02-02,843.3000000001232,843.24115,2015-01-01 02:20:33,bin8433,75,False -CTSPillarNetworkA,8434,8434,8434,1993-02-03,843.4000000001232,843.3411,2015-01-01 02:20:34,bin8434,35,False -CTSPillarNetworkA,8435,8435,8435,1993-02-04,843.5000000001232,843.4411,2015-01-01 02:20:35,bin8435,75,False -CTSPillarNetworkA,8436,8436,8436,1993-02-05,843.6000000001233,843.5411,2015-01-01 02:20:36,bin8436,35,False -CTSPillarNetworkA,8437,8437,8437,1993-02-06,843.7000000001233,843.64105,2015-01-01 02:20:37,bin8437,75,False -CTSPillarNetworkA,8438,8438,8438,1993-02-07,843.8000000001233,843.741,2015-01-01 02:20:38,bin8438,35,False -CTSPillarNetworkA,8439,8439,8439,1993-02-08,843.9000000001233,843.841,2015-01-01 02:20:39,bin8439,75,False -CTSPillarNetworkA,8440,8440,8440,1993-02-09,844.0000000001234,843.941,2015-01-01 02:20:40,bin8440,35,False -CTSPillarNetworkA,8441,8441,8441,1993-02-10,844.1000000001234,844.04095,2015-01-01 02:20:41,bin8441,75,False -CTSPillarNetworkA,8442,8442,8442,1993-02-11,844.2000000001234,844.1409,2015-01-01 02:20:42,bin8442,35,False -CTSPillarNetworkA,8443,8443,8443,1993-02-12,844.3000000001234,844.2409,2015-01-01 02:20:43,bin8443,75,False -CTSPillarNetworkA,8444,8444,8444,1993-02-13,844.4000000001234,844.3409,2015-01-01 02:20:44,bin8444,35,False -CTSPillarNetworkA,8445,8445,8445,1993-02-14,844.5000000001235,844.44086,2015-01-01 02:20:45,bin8445,75,False -CTSPillarNetworkA,8446,8446,8446,1993-02-15,844.6000000001235,844.54083,2015-01-01 02:20:46,bin8446,35,False -CTSPillarNetworkA,8447,8447,8447,1993-02-16,844.7000000001235,844.6408,2015-01-01 02:20:47,bin8447,75,False -CTSPillarNetworkA,8448,8448,8448,1993-02-17,844.8000000001235,844.7408,2015-01-01 02:20:48,bin8448,35,False -CTSPillarNetworkA,8449,8449,8449,1993-02-18,844.9000000001236,844.84076,2015-01-01 02:20:49,bin8449,75,False -CTSPillarNetworkA,8450,8450,8450,1993-02-19,845.0000000001236,844.94073,2015-01-01 02:20:50,bin8450,35,False -CTSPillarNetworkA,8451,8451,8451,1993-02-20,845.1000000001236,845.0407,2015-01-01 02:20:51,bin8451,75,False -CTSPillarNetworkA,8452,8452,8452,1993-02-21,845.2000000001236,845.1407,2015-01-01 02:20:52,bin8452,35,False -CTSPillarNetworkA,8453,8453,8453,1993-02-22,845.3000000001236,845.24066,2015-01-01 02:20:53,bin8453,75,False -CTSPillarNetworkA,8454,8454,8454,1993-02-23,845.4000000001237,845.34064,2015-01-01 02:20:54,bin8454,35,False -CTSPillarNetworkA,8455,8455,8455,1993-02-24,845.5000000001237,845.4406,2015-01-01 02:20:55,bin8455,75,False -CTSPillarNetworkA,8456,8456,8456,1993-02-25,845.6000000001237,845.5406,2015-01-01 02:20:56,bin8456,35,False -CTSPillarNetworkA,8457,8457,8457,1993-02-26,845.7000000001237,845.64056,2015-01-01 02:20:57,bin8457,75,False -CTSPillarNetworkA,8458,8458,8458,1993-02-27,845.8000000001238,845.74054,2015-01-01 02:20:58,bin8458,35,False -CTSPillarNetworkA,8459,8459,8459,1993-02-28,845.9000000001238,845.8405,2015-01-01 02:20:59,bin8459,75,False -CTSPillarNetworkA,8460,8460,8460,1993-03-01,846.0000000001238,845.9405,2015-01-01 02:21:00,bin8460,35,False -CTSPillarNetworkA,8461,8461,8461,1993-03-02,846.1000000001238,846.04047,2015-01-01 02:21:01,bin8461,75,False -CTSPillarNetworkA,8462,8462,8462,1993-03-03,846.2000000001239,846.14044,2015-01-01 02:21:02,bin8462,35,False -CTSPillarNetworkA,8463,8463,8463,1993-03-04,846.3000000001239,846.2404,2015-01-01 02:21:03,bin8463,75,False -CTSPillarNetworkA,8464,8464,8464,1993-03-05,846.4000000001239,846.3404,2015-01-01 02:21:04,bin8464,35,False -CTSPillarNetworkA,8465,8465,8465,1993-03-06,846.5000000001239,846.44037,2015-01-01 02:21:05,bin8465,75,False -CTSPillarNetworkA,8466,8466,8466,1993-03-07,846.6000000001239,846.54034,2015-01-01 02:21:06,bin8466,35,False -CTSPillarNetworkA,8467,8467,8467,1993-03-08,846.700000000124,846.6403,2015-01-01 02:21:07,bin8467,75,False -CTSPillarNetworkA,8468,8468,8468,1993-03-09,846.800000000124,846.7403,2015-01-01 02:21:08,bin8468,35,False -CTSPillarNetworkA,8469,8469,8469,1993-03-10,846.900000000124,846.8403,2015-01-01 02:21:09,bin8469,75,False -CTSPillarNetworkA,8470,8470,8470,1993-03-11,847.000000000124,846.94025,2015-01-01 02:21:10,bin8470,35,False -CTSPillarNetworkA,8471,8471,8471,1993-03-12,847.100000000124,847.0402,2015-01-01 02:21:11,bin8471,75,False -CTSPillarNetworkA,8472,8472,8472,1993-03-13,847.2000000001241,847.1402,2015-01-01 02:21:12,bin8472,35,False -CTSPillarNetworkA,8473,8473,8473,1993-03-14,847.3000000001241,847.2402,2015-01-01 02:21:13,bin8473,75,False -CTSPillarNetworkA,8474,8474,8474,1993-03-15,847.4000000001241,847.34015,2015-01-01 02:21:14,bin8474,35,False -CTSPillarNetworkA,8475,8475,8475,1993-03-16,847.5000000001241,847.4401,2015-01-01 02:21:15,bin8475,75,False -CTSPillarNetworkA,8476,8476,8476,1993-03-17,847.6000000001242,847.5401,2015-01-01 02:21:16,bin8476,35,False -CTSPillarNetworkA,8477,8477,8477,1993-03-18,847.7000000001242,847.6401,2015-01-01 02:21:17,bin8477,75,False -CTSPillarNetworkA,8478,8478,8478,1993-03-19,847.8000000001242,847.74005,2015-01-01 02:21:18,bin8478,35,False -CTSPillarNetworkA,8479,8479,8479,1993-03-20,847.9000000001242,847.84,2015-01-01 02:21:19,bin8479,75,False -CTSPillarNetworkA,8480,8480,8480,1993-03-21,848.0000000001243,847.94,2015-01-01 02:21:20,bin8480,35,False -CTSPillarNetworkA,8481,8481,8481,1993-03-22,848.1000000001243,848.04,2015-01-01 02:21:21,bin8481,75,False -CTSPillarNetworkA,8482,8482,8482,1993-03-23,848.2000000001243,848.13995,2015-01-01 02:21:22,bin8482,35,False -CTSPillarNetworkA,8483,8483,8483,1993-03-24,848.3000000001243,848.2399,2015-01-01 02:21:23,bin8483,75,False -CTSPillarNetworkA,8484,8484,8484,1993-03-25,848.4000000001244,848.3399,2015-01-01 02:21:24,bin8484,35,False -CTSPillarNetworkA,8485,8485,8485,1993-03-26,848.5000000001244,848.4399,2015-01-01 02:21:25,bin8485,75,False -CTSPillarNetworkA,8486,8486,8486,1993-03-27,848.6000000001244,848.53986,2015-01-01 02:21:26,bin8486,35,False -CTSPillarNetworkA,8487,8487,8487,1993-03-28,848.7000000001244,848.63983,2015-01-01 02:21:27,bin8487,75,False -CTSPillarNetworkA,8488,8488,8488,1993-03-29,848.8000000001244,848.7398,2015-01-01 02:21:28,bin8488,35,False -CTSPillarNetworkA,8489,8489,8489,1993-03-30,848.9000000001245,848.8398,2015-01-01 02:21:29,bin8489,75,False -CTSPillarNetworkA,8490,8490,8490,1993-03-31,849.0000000001245,848.93976,2015-01-01 02:21:30,bin8490,35,False -CTSPillarNetworkA,8491,8491,8491,1993-04-01,849.1000000001245,849.03973,2015-01-01 02:21:31,bin8491,75,False -CTSPillarNetworkA,8492,8492,8492,1993-04-02,849.2000000001245,849.1397,2015-01-01 02:21:32,bin8492,35,False -CTSPillarNetworkA,8493,8493,8493,1993-04-03,849.3000000001246,849.2397,2015-01-01 02:21:33,bin8493,75,False -CTSPillarNetworkA,8494,8494,8494,1993-04-04,849.4000000001246,849.33966,2015-01-01 02:21:34,bin8494,35,False -CTSPillarNetworkA,8495,8495,8495,1993-04-05,849.5000000001246,849.43964,2015-01-01 02:21:35,bin8495,75,False -CTSPillarNetworkA,8496,8496,8496,1993-04-06,849.6000000001246,849.5396,2015-01-01 02:21:36,bin8496,35,False -CTSPillarNetworkA,8497,8497,8497,1993-04-07,849.7000000001246,849.6396,2015-01-01 02:21:37,bin8497,75,False -CTSPillarNetworkA,8498,8498,8498,1993-04-08,849.8000000001247,849.73956,2015-01-01 02:21:38,bin8498,35,False -CTSPillarNetworkA,8499,8499,8499,1993-04-09,849.9000000001247,849.83954,2015-01-01 02:21:39,bin8499,75,False -CTSPillarNetworkA,8500,8500,8500,1993-04-10,850.0000000001247,849.9395,2015-01-01 02:21:40,bin8500,35,False -CTSPillarNetworkA,8501,8501,8501,1993-04-11,850.1000000001247,850.0395,2015-01-01 02:21:41,bin8501,75,False -CTSPillarNetworkA,8502,8502,8502,1993-04-12,850.2000000001248,850.13947,2015-01-01 02:21:42,bin8502,35,False -CTSPillarNetworkA,8503,8503,8503,1993-04-13,850.3000000001248,850.23944,2015-01-01 02:21:43,bin8503,75,False -CTSPillarNetworkA,8504,8504,8504,1993-04-14,850.4000000001248,850.3394,2015-01-01 02:21:44,bin8504,35,False -CTSPillarNetworkA,8505,8505,8505,1993-04-15,850.5000000001248,850.4394,2015-01-01 02:21:45,bin8505,75,False -CTSPillarNetworkA,8506,8506,8506,1993-04-16,850.6000000001249,850.53937,2015-01-01 02:21:46,bin8506,35,False -CTSPillarNetworkA,8507,8507,8507,1993-04-17,850.7000000001249,850.63934,2015-01-01 02:21:47,bin8507,75,False -CTSPillarNetworkA,8508,8508,8508,1993-04-18,850.8000000001249,850.7393,2015-01-01 02:21:48,bin8508,35,False -CTSPillarNetworkA,8509,8509,8509,1993-04-19,850.9000000001249,850.8393,2015-01-01 02:21:49,bin8509,75,False -CTSPillarNetworkA,8510,8510,8510,1993-04-20,851.0000000001249,850.9393,2015-01-01 02:21:50,bin8510,35,False -CTSPillarNetworkA,8511,8511,8511,1993-04-21,851.100000000125,851.03925,2015-01-01 02:21:51,bin8511,75,False -CTSPillarNetworkA,8512,8512,8512,1993-04-22,851.200000000125,851.1392,2015-01-01 02:21:52,bin8512,35,False -CTSPillarNetworkA,8513,8513,8513,1993-04-23,851.300000000125,851.2392,2015-01-01 02:21:53,bin8513,75,False -CTSPillarNetworkA,8514,8514,8514,1993-04-24,851.400000000125,851.3392,2015-01-01 02:21:54,bin8514,35,False -CTSPillarNetworkA,8515,8515,8515,1993-04-25,851.500000000125,851.43915,2015-01-01 02:21:55,bin8515,75,False -CTSPillarNetworkA,8516,8516,8516,1993-04-26,851.6000000001251,851.5391,2015-01-01 02:21:56,bin8516,35,False -CTSPillarNetworkA,8517,8517,8517,1993-04-27,851.7000000001251,851.6391,2015-01-01 02:21:57,bin8517,75,False -CTSPillarNetworkA,8518,8518,8518,1993-04-28,851.8000000001251,851.7391,2015-01-01 02:21:58,bin8518,35,False -CTSPillarNetworkA,8519,8519,8519,1993-04-29,851.9000000001251,851.83905,2015-01-01 02:21:59,bin8519,75,False -CTSPillarNetworkA,8520,8520,8520,1993-04-30,852.0000000001252,851.939,2015-01-01 02:22:00,bin8520,35,False -CTSPillarNetworkA,8521,8521,8521,1993-05-01,852.1000000001252,852.039,2015-01-01 02:22:01,bin8521,75,False -CTSPillarNetworkA,8522,8522,8522,1993-05-02,852.2000000001252,852.139,2015-01-01 02:22:02,bin8522,35,False -CTSPillarNetworkA,8523,8523,8523,1993-05-03,852.3000000001252,852.23895,2015-01-01 02:22:03,bin8523,75,False -CTSPillarNetworkA,8524,8524,8524,1993-05-04,852.4000000001253,852.3389,2015-01-01 02:22:04,bin8524,35,False -CTSPillarNetworkA,8525,8525,8525,1993-05-05,852.5000000001253,852.4389,2015-01-01 02:22:05,bin8525,75,False -CTSPillarNetworkA,8526,8526,8526,1993-05-06,852.6000000001253,852.5389,2015-01-01 02:22:06,bin8526,35,False -CTSPillarNetworkA,8527,8527,8527,1993-05-07,852.7000000001253,852.63885,2015-01-01 02:22:07,bin8527,75,False -CTSPillarNetworkA,8528,8528,8528,1993-05-08,852.8000000001254,852.73883,2015-01-01 02:22:08,bin8528,35,False -CTSPillarNetworkA,8529,8529,8529,1993-05-09,852.9000000001254,852.8388,2015-01-01 02:22:09,bin8529,75,False -CTSPillarNetworkA,8530,8530,8530,1993-05-10,853.0000000001254,852.9388,2015-01-01 02:22:10,bin8530,35,False -CTSPillarNetworkA,8531,8531,8531,1993-05-11,853.1000000001254,853.03876,2015-01-01 02:22:11,bin8531,75,False -CTSPillarNetworkA,8532,8532,8532,1993-05-12,853.2000000001254,853.13873,2015-01-01 02:22:12,bin8532,35,False -CTSPillarNetworkA,8533,8533,8533,1993-05-13,853.3000000001255,853.2387,2015-01-01 02:22:13,bin8533,75,False -CTSPillarNetworkA,8534,8534,8534,1993-05-14,853.4000000001255,853.3387,2015-01-01 02:22:14,bin8534,35,False -CTSPillarNetworkA,8535,8535,8535,1993-05-15,853.5000000001255,853.43866,2015-01-01 02:22:15,bin8535,75,False -CTSPillarNetworkA,8536,8536,8536,1993-05-16,853.6000000001255,853.53864,2015-01-01 02:22:16,bin8536,35,False -CTSPillarNetworkA,8537,8537,8537,1993-05-17,853.7000000001256,853.6386,2015-01-01 02:22:17,bin8537,75,False -CTSPillarNetworkA,8538,8538,8538,1993-05-18,853.8000000001256,853.7386,2015-01-01 02:22:18,bin8538,35,False -CTSPillarNetworkA,8539,8539,8539,1993-05-19,853.9000000001256,853.83856,2015-01-01 02:22:19,bin8539,75,False -CTSPillarNetworkA,8540,8540,8540,1993-05-20,854.0000000001256,853.93854,2015-01-01 02:22:20,bin8540,35,False -CTSPillarNetworkA,8541,8541,8541,1993-05-21,854.1000000001256,854.0385,2015-01-01 02:22:21,bin8541,75,False -CTSPillarNetworkA,8542,8542,8542,1993-05-22,854.2000000001257,854.1385,2015-01-01 02:22:22,bin8542,35,False -CTSPillarNetworkA,8543,8543,8543,1993-05-23,854.3000000001257,854.23846,2015-01-01 02:22:23,bin8543,75,False -CTSPillarNetworkA,8544,8544,8544,1993-05-24,854.4000000001257,854.33844,2015-01-01 02:22:24,bin8544,35,False -CTSPillarNetworkA,8545,8545,8545,1993-05-25,854.5000000001257,854.4384,2015-01-01 02:22:25,bin8545,75,False -CTSPillarNetworkA,8546,8546,8546,1993-05-26,854.6000000001258,854.5384,2015-01-01 02:22:26,bin8546,35,False -CTSPillarNetworkA,8547,8547,8547,1993-05-27,854.7000000001258,854.63837,2015-01-01 02:22:27,bin8547,75,False -CTSPillarNetworkA,8548,8548,8548,1993-05-28,854.8000000001258,854.73834,2015-01-01 02:22:28,bin8548,35,False -CTSPillarNetworkA,8549,8549,8549,1993-05-29,854.9000000001258,854.8383,2015-01-01 02:22:29,bin8549,75,False -CTSPillarNetworkA,8550,8550,8550,1993-05-30,855.0000000001259,854.9383,2015-01-01 02:22:30,bin8550,35,False -CTSPillarNetworkA,8551,8551,8551,1993-05-31,855.1000000001259,855.03827,2015-01-01 02:22:31,bin8551,75,False -CTSPillarNetworkA,8552,8552,8552,1993-06-01,855.2000000001259,855.13824,2015-01-01 02:22:32,bin8552,35,False -CTSPillarNetworkA,8553,8553,8553,1993-06-02,855.3000000001259,855.2382,2015-01-01 02:22:33,bin8553,75,False -CTSPillarNetworkA,8554,8554,8554,1993-06-03,855.4000000001259,855.3382,2015-01-01 02:22:34,bin8554,35,False -CTSPillarNetworkA,8555,8555,8555,1993-06-04,855.500000000126,855.4382,2015-01-01 02:22:35,bin8555,75,False -CTSPillarNetworkA,8556,8556,8556,1993-06-05,855.600000000126,855.53815,2015-01-01 02:22:36,bin8556,35,False -CTSPillarNetworkA,8557,8557,8557,1993-06-06,855.700000000126,855.6381,2015-01-01 02:22:37,bin8557,75,False -CTSPillarNetworkA,8558,8558,8558,1993-06-07,855.800000000126,855.7381,2015-01-01 02:22:38,bin8558,35,False -CTSPillarNetworkA,8559,8559,8559,1993-06-08,855.900000000126,855.8381,2015-01-01 02:22:39,bin8559,75,False -CTSPillarNetworkA,8560,8560,8560,1993-06-09,856.0000000001261,855.93805,2015-01-01 02:22:40,bin8560,35,False -CTSPillarNetworkA,8561,8561,8561,1993-06-10,856.1000000001261,856.038,2015-01-01 02:22:41,bin8561,75,False -CTSPillarNetworkA,8562,8562,8562,1993-06-11,856.2000000001261,856.138,2015-01-01 02:22:42,bin8562,35,False -CTSPillarNetworkA,8563,8563,8563,1993-06-12,856.3000000001261,856.238,2015-01-01 02:22:43,bin8563,75,False -CTSPillarNetworkA,8564,8564,8564,1993-06-13,856.4000000001262,856.33795,2015-01-01 02:22:44,bin8564,35,False -CTSPillarNetworkA,8565,8565,8565,1993-06-14,856.5000000001262,856.4379,2015-01-01 02:22:45,bin8565,75,False -CTSPillarNetworkA,8566,8566,8566,1993-06-15,856.6000000001262,856.5379,2015-01-01 02:22:46,bin8566,35,False -CTSPillarNetworkA,8567,8567,8567,1993-06-16,856.7000000001262,856.6379,2015-01-01 02:22:47,bin8567,75,False -CTSPillarNetworkA,8568,8568,8568,1993-06-17,856.8000000001263,856.73785,2015-01-01 02:22:48,bin8568,35,False -CTSPillarNetworkA,8569,8569,8569,1993-06-18,856.9000000001263,856.8378,2015-01-01 02:22:49,bin8569,75,False -CTSPillarNetworkA,8570,8570,8570,1993-06-19,857.0000000001263,856.9378,2015-01-01 02:22:50,bin8570,35,False -CTSPillarNetworkA,8571,8571,8571,1993-06-20,857.1000000001263,857.0378,2015-01-01 02:22:51,bin8571,75,False -CTSPillarNetworkA,8572,8572,8572,1993-06-21,857.2000000001264,857.13776,2015-01-01 02:22:52,bin8572,35,False -CTSPillarNetworkA,8573,8573,8573,1993-06-22,857.3000000001264,857.23773,2015-01-01 02:22:53,bin8573,75,False -CTSPillarNetworkA,8574,8574,8574,1993-06-23,857.4000000001264,857.3377,2015-01-01 02:22:54,bin8574,35,False -CTSPillarNetworkA,8575,8575,8575,1993-06-24,857.5000000001264,857.4377,2015-01-01 02:22:55,bin8575,75,False -CTSPillarNetworkA,8576,8576,8576,1993-06-25,857.6000000001264,857.53766,2015-01-01 02:22:56,bin8576,35,False -CTSPillarNetworkA,8577,8577,8577,1993-06-26,857.7000000001265,857.63763,2015-01-01 02:22:57,bin8577,75,False -CTSPillarNetworkA,8578,8578,8578,1993-06-27,857.8000000001265,857.7376,2015-01-01 02:22:58,bin8578,35,False -CTSPillarNetworkA,8579,8579,8579,1993-06-28,857.9000000001265,857.8376,2015-01-01 02:22:59,bin8579,75,False -CTSPillarNetworkA,8580,8580,8580,1993-06-29,858.0000000001265,857.93756,2015-01-01 02:23:00,bin8580,35,False -CTSPillarNetworkA,8581,8581,8581,1993-06-30,858.1000000001266,858.03754,2015-01-01 02:23:01,bin8581,75,False -CTSPillarNetworkA,8582,8582,8582,1993-07-01,858.2000000001266,858.1375,2015-01-01 02:23:02,bin8582,35,False -CTSPillarNetworkA,8583,8583,8583,1993-07-02,858.3000000001266,858.2375,2015-01-01 02:23:03,bin8583,75,False -CTSPillarNetworkA,8584,8584,8584,1993-07-03,858.4000000001266,858.33746,2015-01-01 02:23:04,bin8584,35,False -CTSPillarNetworkA,8585,8585,8585,1993-07-04,858.5000000001266,858.43744,2015-01-01 02:23:05,bin8585,75,False -CTSPillarNetworkA,8586,8586,8586,1993-07-05,858.6000000001267,858.5374,2015-01-01 02:23:06,bin8586,35,False -CTSPillarNetworkA,8587,8587,8587,1993-07-06,858.7000000001267,858.6374,2015-01-01 02:23:07,bin8587,75,False -CTSPillarNetworkA,8588,8588,8588,1993-07-07,858.8000000001267,858.73737,2015-01-01 02:23:08,bin8588,35,False -CTSPillarNetworkA,8589,8589,8589,1993-07-08,858.9000000001267,858.83734,2015-01-01 02:23:09,bin8589,75,False -CTSPillarNetworkA,8590,8590,8590,1993-07-09,859.0000000001268,858.9373,2015-01-01 02:23:10,bin8590,35,False -CTSPillarNetworkA,8591,8591,8591,1993-07-10,859.1000000001268,859.0373,2015-01-01 02:23:11,bin8591,75,False -CTSPillarNetworkA,8592,8592,8592,1993-07-11,859.2000000001268,859.13727,2015-01-01 02:23:12,bin8592,35,False -CTSPillarNetworkA,8593,8593,8593,1993-07-12,859.3000000001268,859.23724,2015-01-01 02:23:13,bin8593,75,False -CTSPillarNetworkA,8594,8594,8594,1993-07-13,859.4000000001269,859.3372,2015-01-01 02:23:14,bin8594,35,False -CTSPillarNetworkA,8595,8595,8595,1993-07-14,859.5000000001269,859.4372,2015-01-01 02:23:15,bin8595,75,False -CTSPillarNetworkA,8596,8596,8596,1993-07-15,859.6000000001269,859.5372,2015-01-01 02:23:16,bin8596,35,False -CTSPillarNetworkA,8597,8597,8597,1993-07-16,859.7000000001269,859.63715,2015-01-01 02:23:17,bin8597,75,False -CTSPillarNetworkA,8598,8598,8598,1993-07-17,859.8000000001269,859.7371,2015-01-01 02:23:18,bin8598,35,False -CTSPillarNetworkA,8599,8599,8599,1993-07-18,859.900000000127,859.8371,2015-01-01 02:23:19,bin8599,75,False -CTSPillarNetworkA,8600,8600,8600,1993-07-19,860.000000000127,859.9371,2015-01-01 02:23:20,bin8600,35,False -CTSPillarNetworkA,8601,8601,8601,1993-07-20,860.100000000127,860.03705,2015-01-01 02:23:21,bin8601,75,False -CTSPillarNetworkA,8602,8602,8602,1993-07-21,860.200000000127,860.137,2015-01-01 02:23:22,bin8602,35,False -CTSPillarNetworkA,8603,8603,8603,1993-07-22,860.300000000127,860.237,2015-01-01 02:23:23,bin8603,75,False -CTSPillarNetworkA,8604,8604,8604,1993-07-23,860.4000000001271,860.337,2015-01-01 02:23:24,bin8604,35,False -CTSPillarNetworkA,8605,8605,8605,1993-07-24,860.5000000001271,860.43695,2015-01-01 02:23:25,bin8605,75,False -CTSPillarNetworkA,8606,8606,8606,1993-07-25,860.6000000001271,860.5369,2015-01-01 02:23:26,bin8606,35,False -CTSPillarNetworkA,8607,8607,8607,1993-07-26,860.7000000001271,860.6369,2015-01-01 02:23:27,bin8607,75,False -CTSPillarNetworkA,8608,8608,8608,1993-07-27,860.8000000001272,860.7369,2015-01-01 02:23:28,bin8608,35,False -CTSPillarNetworkA,8609,8609,8609,1993-07-28,860.9000000001272,860.83685,2015-01-01 02:23:29,bin8609,75,False -CTSPillarNetworkA,8610,8610,8610,1993-07-29,861.0000000001272,860.9368,2015-01-01 02:23:30,bin8610,35,False -CTSPillarNetworkA,8611,8611,8611,1993-07-30,861.1000000001272,861.0368,2015-01-01 02:23:31,bin8611,75,False -CTSPillarNetworkA,8612,8612,8612,1993-07-31,861.2000000001273,861.1368,2015-01-01 02:23:32,bin8612,35,False -CTSPillarNetworkA,8613,8613,8613,1993-08-01,861.3000000001273,861.23676,2015-01-01 02:23:33,bin8613,75,False -CTSPillarNetworkA,8614,8614,8614,1993-08-02,861.4000000001273,861.33673,2015-01-01 02:23:34,bin8614,35,False -CTSPillarNetworkA,8615,8615,8615,1993-08-03,861.5000000001273,861.4367,2015-01-01 02:23:35,bin8615,75,False -CTSPillarNetworkA,8616,8616,8616,1993-08-04,861.6000000001274,861.5367,2015-01-01 02:23:36,bin8616,35,False -CTSPillarNetworkA,8617,8617,8617,1993-08-05,861.7000000001274,861.63666,2015-01-01 02:23:37,bin8617,75,False -CTSPillarNetworkA,8618,8618,8618,1993-08-06,861.8000000001274,861.73663,2015-01-01 02:23:38,bin8618,35,False -CTSPillarNetworkA,8619,8619,8619,1993-08-07,861.9000000001274,861.8366,2015-01-01 02:23:39,bin8619,75,False -CTSPillarNetworkA,8620,8620,8620,1993-08-08,862.0000000001274,861.9366,2015-01-01 02:23:40,bin8620,35,False -CTSPillarNetworkA,8621,8621,8621,1993-08-09,862.1000000001275,862.03656,2015-01-01 02:23:41,bin8621,75,False -CTSPillarNetworkA,8622,8622,8622,1993-08-10,862.2000000001275,862.13654,2015-01-01 02:23:42,bin8622,35,False -CTSPillarNetworkA,8623,8623,8623,1993-08-11,862.3000000001275,862.2365,2015-01-01 02:23:43,bin8623,75,False -CTSPillarNetworkA,8624,8624,8624,1993-08-12,862.4000000001275,862.3365,2015-01-01 02:23:44,bin8624,35,False -CTSPillarNetworkA,8625,8625,8625,1993-08-13,862.5000000001276,862.43646,2015-01-01 02:23:45,bin8625,75,False -CTSPillarNetworkA,8626,8626,8626,1993-08-14,862.6000000001276,862.53644,2015-01-01 02:23:46,bin8626,35,False -CTSPillarNetworkA,8627,8627,8627,1993-08-15,862.7000000001276,862.6364,2015-01-01 02:23:47,bin8627,75,False -CTSPillarNetworkA,8628,8628,8628,1993-08-16,862.8000000001276,862.7364,2015-01-01 02:23:48,bin8628,35,False -CTSPillarNetworkA,8629,8629,8629,1993-08-17,862.9000000001276,862.83636,2015-01-01 02:23:49,bin8629,75,False -CTSPillarNetworkA,8630,8630,8630,1993-08-18,863.0000000001277,862.93634,2015-01-01 02:23:50,bin8630,35,False -CTSPillarNetworkA,8631,8631,8631,1993-08-19,863.1000000001277,863.0363,2015-01-01 02:23:51,bin8631,75,False -CTSPillarNetworkA,8632,8632,8632,1993-08-20,863.2000000001277,863.1363,2015-01-01 02:23:52,bin8632,35,False -CTSPillarNetworkA,8633,8633,8633,1993-08-21,863.3000000001277,863.23627,2015-01-01 02:23:53,bin8633,75,False -CTSPillarNetworkA,8634,8634,8634,1993-08-22,863.4000000001278,863.33624,2015-01-01 02:23:54,bin8634,35,False -CTSPillarNetworkA,8635,8635,8635,1993-08-23,863.5000000001278,863.4362,2015-01-01 02:23:55,bin8635,75,False -CTSPillarNetworkA,8636,8636,8636,1993-08-24,863.6000000001278,863.5362,2015-01-01 02:23:56,bin8636,35,False -CTSPillarNetworkA,8637,8637,8637,1993-08-25,863.7000000001278,863.63617,2015-01-01 02:23:57,bin8637,75,False -CTSPillarNetworkA,8638,8638,8638,1993-08-26,863.8000000001279,863.73615,2015-01-01 02:23:58,bin8638,35,False -CTSPillarNetworkA,8639,8639,8639,1993-08-27,863.9000000001279,863.8361,2015-01-01 02:23:59,bin8639,75,False -CTSPillarNetworkA,8640,8640,8640,1993-08-28,864.0000000001279,863.9361,2015-01-01 02:24:00,bin8640,35,False -CTSPillarNetworkA,8641,8641,8641,1993-08-29,864.1000000001279,864.0361,2015-01-01 02:24:01,bin8641,75,False -CTSPillarNetworkA,8642,8642,8642,1993-08-30,864.200000000128,864.13605,2015-01-01 02:24:02,bin8642,35,False -CTSPillarNetworkA,8643,8643,8643,1993-08-31,864.300000000128,864.236,2015-01-01 02:24:03,bin8643,75,False -CTSPillarNetworkA,8644,8644,8644,1993-09-01,864.400000000128,864.336,2015-01-01 02:24:04,bin8644,35,False -CTSPillarNetworkA,8645,8645,8645,1993-09-02,864.500000000128,864.436,2015-01-01 02:24:05,bin8645,75,False -CTSPillarNetworkA,8646,8646,8646,1993-09-03,864.600000000128,864.53595,2015-01-01 02:24:06,bin8646,35,False -CTSPillarNetworkA,8647,8647,8647,1993-09-04,864.7000000001281,864.6359,2015-01-01 02:24:07,bin8647,75,False -CTSPillarNetworkA,8648,8648,8648,1993-09-05,864.8000000001281,864.7359,2015-01-01 02:24:08,bin8648,35,False -CTSPillarNetworkA,8649,8649,8649,1993-09-06,864.9000000001281,864.8359,2015-01-01 02:24:09,bin8649,75,False -CTSPillarNetworkA,8650,8650,8650,1993-09-07,865.0000000001281,864.93585,2015-01-01 02:24:10,bin8650,35,False -CTSPillarNetworkA,8651,8651,8651,1993-09-08,865.1000000001281,865.0358,2015-01-01 02:24:11,bin8651,75,False -CTSPillarNetworkA,8652,8652,8652,1993-09-09,865.2000000001282,865.1358,2015-01-01 02:24:12,bin8652,35,False -CTSPillarNetworkA,8653,8653,8653,1993-09-10,865.3000000001282,865.2358,2015-01-01 02:24:13,bin8653,75,False -CTSPillarNetworkA,8654,8654,8654,1993-09-11,865.4000000001282,865.33575,2015-01-01 02:24:14,bin8654,35,False -CTSPillarNetworkA,8655,8655,8655,1993-09-12,865.5000000001282,865.4357,2015-01-01 02:24:15,bin8655,75,False -CTSPillarNetworkA,8656,8656,8656,1993-09-13,865.6000000001283,865.5357,2015-01-01 02:24:16,bin8656,35,False -CTSPillarNetworkA,8657,8657,8657,1993-09-14,865.7000000001283,865.6357,2015-01-01 02:24:17,bin8657,75,False -CTSPillarNetworkA,8658,8658,8658,1993-09-15,865.8000000001283,865.73566,2015-01-01 02:24:18,bin8658,35,False -CTSPillarNetworkA,8659,8659,8659,1993-09-16,865.9000000001283,865.83563,2015-01-01 02:24:19,bin8659,75,False -CTSPillarNetworkA,8660,8660,8660,1993-09-17,866.0000000001284,865.9356,2015-01-01 02:24:20,bin8660,35,False -CTSPillarNetworkA,8661,8661,8661,1993-09-18,866.1000000001284,866.0356,2015-01-01 02:24:21,bin8661,75,False -CTSPillarNetworkA,8662,8662,8662,1993-09-19,866.2000000001284,866.13556,2015-01-01 02:24:22,bin8662,35,False -CTSPillarNetworkA,8663,8663,8663,1993-09-20,866.3000000001284,866.23553,2015-01-01 02:24:23,bin8663,75,False -CTSPillarNetworkA,8664,8664,8664,1993-09-21,866.4000000001284,866.3355,2015-01-01 02:24:24,bin8664,35,False -CTSPillarNetworkA,8665,8665,8665,1993-09-22,866.5000000001285,866.4355,2015-01-01 02:24:25,bin8665,75,False -CTSPillarNetworkA,8666,8666,8666,1993-09-23,866.6000000001285,866.53546,2015-01-01 02:24:26,bin8666,35,False -CTSPillarNetworkA,8667,8667,8667,1993-09-24,866.7000000001285,866.63544,2015-01-01 02:24:27,bin8667,75,False -CTSPillarNetworkA,8668,8668,8668,1993-09-25,866.8000000001285,866.7354,2015-01-01 02:24:28,bin8668,35,False -CTSPillarNetworkA,8669,8669,8669,1993-09-26,866.9000000001286,866.8354,2015-01-01 02:24:29,bin8669,75,False -CTSPillarNetworkA,8670,8670,8670,1993-09-27,867.0000000001286,866.93536,2015-01-01 02:24:30,bin8670,35,False -CTSPillarNetworkA,8671,8671,8671,1993-09-28,867.1000000001286,867.03534,2015-01-01 02:24:31,bin8671,75,False -CTSPillarNetworkA,8672,8672,8672,1993-09-29,867.2000000001286,867.1353,2015-01-01 02:24:32,bin8672,35,False -CTSPillarNetworkA,8673,8673,8673,1993-09-30,867.3000000001286,867.2353,2015-01-01 02:24:33,bin8673,75,False -CTSPillarNetworkA,8674,8674,8674,1993-10-01,867.4000000001287,867.33527,2015-01-01 02:24:34,bin8674,35,False -CTSPillarNetworkA,8675,8675,8675,1993-10-02,867.5000000001287,867.43524,2015-01-01 02:24:35,bin8675,75,False -CTSPillarNetworkA,8676,8676,8676,1993-10-03,867.6000000001287,867.5352,2015-01-01 02:24:36,bin8676,35,False -CTSPillarNetworkA,8677,8677,8677,1993-10-04,867.7000000001287,867.6352,2015-01-01 02:24:37,bin8677,75,False -CTSPillarNetworkA,8678,8678,8678,1993-10-05,867.8000000001288,867.73517,2015-01-01 02:24:38,bin8678,35,False -CTSPillarNetworkA,8679,8679,8679,1993-10-06,867.9000000001288,867.83514,2015-01-01 02:24:39,bin8679,75,False -CTSPillarNetworkA,8680,8680,8680,1993-10-07,868.0000000001288,867.9351,2015-01-01 02:24:40,bin8680,35,False -CTSPillarNetworkA,8681,8681,8681,1993-10-08,868.1000000001288,868.0351,2015-01-01 02:24:41,bin8681,75,False -CTSPillarNetworkA,8682,8682,8682,1993-10-09,868.2000000001289,868.1351,2015-01-01 02:24:42,bin8682,35,False -CTSPillarNetworkA,8683,8683,8683,1993-10-10,868.3000000001289,868.23505,2015-01-01 02:24:43,bin8683,75,False -CTSPillarNetworkA,8684,8684,8684,1993-10-11,868.4000000001289,868.335,2015-01-01 02:24:44,bin8684,35,False -CTSPillarNetworkA,8685,8685,8685,1993-10-12,868.5000000001289,868.435,2015-01-01 02:24:45,bin8685,75,False -CTSPillarNetworkA,8686,8686,8686,1993-10-13,868.600000000129,868.535,2015-01-01 02:24:46,bin8686,35,False -CTSPillarNetworkA,8687,8687,8687,1993-10-14,868.700000000129,868.63495,2015-01-01 02:24:47,bin8687,75,False -CTSPillarNetworkA,8688,8688,8688,1993-10-15,868.800000000129,868.7349,2015-01-01 02:24:48,bin8688,35,False -CTSPillarNetworkA,8689,8689,8689,1993-10-16,868.900000000129,868.8349,2015-01-01 02:24:49,bin8689,75,False -CTSPillarNetworkA,8690,8690,8690,1993-10-17,869.000000000129,868.9349,2015-01-01 02:24:50,bin8690,35,False -CTSPillarNetworkA,8691,8691,8691,1993-10-18,869.1000000001291,869.03485,2015-01-01 02:24:51,bin8691,75,False -CTSPillarNetworkA,8692,8692,8692,1993-10-19,869.2000000001291,869.1348,2015-01-01 02:24:52,bin8692,35,False -CTSPillarNetworkA,8693,8693,8693,1993-10-20,869.3000000001291,869.2348,2015-01-01 02:24:53,bin8693,75,False -CTSPillarNetworkA,8694,8694,8694,1993-10-21,869.4000000001291,869.3348,2015-01-01 02:24:54,bin8694,35,False -CTSPillarNetworkA,8695,8695,8695,1993-10-22,869.5000000001291,869.43475,2015-01-01 02:24:55,bin8695,75,False -CTSPillarNetworkA,8696,8696,8696,1993-10-23,869.6000000001292,869.5347,2015-01-01 02:24:56,bin8696,35,False -CTSPillarNetworkA,8697,8697,8697,1993-10-24,869.7000000001292,869.6347,2015-01-01 02:24:57,bin8697,75,False -CTSPillarNetworkA,8698,8698,8698,1993-10-25,869.8000000001292,869.7347,2015-01-01 02:24:58,bin8698,35,False -CTSPillarNetworkA,8699,8699,8699,1993-10-26,869.9000000001292,869.83466,2015-01-01 02:24:59,bin8699,75,False -CTSPillarNetworkA,8700,8700,8700,1993-10-27,870.0000000001293,869.93463,2015-01-01 02:25:00,bin8700,35,False -CTSPillarNetworkA,8701,8701,8701,1993-10-28,870.1000000001293,870.0346,2015-01-01 02:25:01,bin8701,75,False -CTSPillarNetworkA,8702,8702,8702,1993-10-29,870.2000000001293,870.1346,2015-01-01 02:25:02,bin8702,35,False -CTSPillarNetworkA,8703,8703,8703,1993-10-30,870.3000000001293,870.23456,2015-01-01 02:25:03,bin8703,75,False -CTSPillarNetworkA,8704,8704,8704,1993-10-31,870.4000000001294,870.33453,2015-01-01 02:25:04,bin8704,35,False -CTSPillarNetworkA,8705,8705,8705,1993-11-01,870.5000000001294,870.4345,2015-01-01 02:25:05,bin8705,75,False -CTSPillarNetworkA,8706,8706,8706,1993-11-02,870.6000000001294,870.5345,2015-01-01 02:25:06,bin8706,35,False -CTSPillarNetworkA,8707,8707,8707,1993-11-03,870.7000000001294,870.63446,2015-01-01 02:25:07,bin8707,75,False -CTSPillarNetworkA,8708,8708,8708,1993-11-04,870.8000000001294,870.73444,2015-01-01 02:25:08,bin8708,35,False -CTSPillarNetworkA,8709,8709,8709,1993-11-05,870.9000000001295,870.8344,2015-01-01 02:25:09,bin8709,75,False -CTSPillarNetworkA,8710,8710,8710,1993-11-06,871.0000000001295,870.9344,2015-01-01 02:25:10,bin8710,35,False -CTSPillarNetworkA,8711,8711,8711,1993-11-07,871.1000000001295,871.03436,2015-01-01 02:25:11,bin8711,75,False -CTSPillarNetworkA,8712,8712,8712,1993-11-08,871.2000000001295,871.13434,2015-01-01 02:25:12,bin8712,35,False -CTSPillarNetworkA,8713,8713,8713,1993-11-09,871.3000000001296,871.2343,2015-01-01 02:25:13,bin8713,75,False -CTSPillarNetworkA,8714,8714,8714,1993-11-10,871.4000000001296,871.3343,2015-01-01 02:25:14,bin8714,35,False -CTSPillarNetworkA,8715,8715,8715,1993-11-11,871.5000000001296,871.43427,2015-01-01 02:25:15,bin8715,75,False -CTSPillarNetworkA,8716,8716,8716,1993-11-12,871.6000000001296,871.53424,2015-01-01 02:25:16,bin8716,35,False -CTSPillarNetworkA,8717,8717,8717,1993-11-13,871.7000000001296,871.6342,2015-01-01 02:25:17,bin8717,75,False -CTSPillarNetworkA,8718,8718,8718,1993-11-14,871.8000000001297,871.7342,2015-01-01 02:25:18,bin8718,35,False -CTSPillarNetworkA,8719,8719,8719,1993-11-15,871.9000000001297,871.83417,2015-01-01 02:25:19,bin8719,75,False -CTSPillarNetworkA,8720,8720,8720,1993-11-16,872.0000000001297,871.93414,2015-01-01 02:25:20,bin8720,35,False -CTSPillarNetworkA,8721,8721,8721,1993-11-17,872.1000000001297,872.0341,2015-01-01 02:25:21,bin8721,75,False -CTSPillarNetworkA,8722,8722,8722,1993-11-18,872.2000000001298,872.1341,2015-01-01 02:25:22,bin8722,35,False -CTSPillarNetworkA,8723,8723,8723,1993-11-19,872.3000000001298,872.2341,2015-01-01 02:25:23,bin8723,75,False -CTSPillarNetworkA,8724,8724,8724,1993-11-20,872.4000000001298,872.33405,2015-01-01 02:25:24,bin8724,35,False -CTSPillarNetworkA,8725,8725,8725,1993-11-21,872.5000000001298,872.434,2015-01-01 02:25:25,bin8725,75,False -CTSPillarNetworkA,8726,8726,8726,1993-11-22,872.6000000001299,872.534,2015-01-01 02:25:26,bin8726,35,False -CTSPillarNetworkA,8727,8727,8727,1993-11-23,872.7000000001299,872.634,2015-01-01 02:25:27,bin8727,75,False -CTSPillarNetworkA,8728,8728,8728,1993-11-24,872.8000000001299,872.73395,2015-01-01 02:25:28,bin8728,35,False -CTSPillarNetworkA,8729,8729,8729,1993-11-25,872.9000000001299,872.8339,2015-01-01 02:25:29,bin8729,75,False -CTSPillarNetworkA,8730,8730,8730,1993-11-26,873.00000000013,872.9339,2015-01-01 02:25:30,bin8730,35,False -CTSPillarNetworkA,8731,8731,8731,1993-11-27,873.10000000013,873.0339,2015-01-01 02:25:31,bin8731,75,False -CTSPillarNetworkA,8732,8732,8732,1993-11-28,873.20000000013,873.13385,2015-01-01 02:25:32,bin8732,35,False -CTSPillarNetworkA,8733,8733,8733,1993-11-29,873.30000000013,873.2338,2015-01-01 02:25:33,bin8733,75,False -CTSPillarNetworkA,8734,8734,8734,1993-11-30,873.40000000013,873.3338,2015-01-01 02:25:34,bin8734,35,False -CTSPillarNetworkA,8735,8735,8735,1993-12-01,873.5000000001301,873.4338,2015-01-01 02:25:35,bin8735,75,False -CTSPillarNetworkA,8736,8736,8736,1993-12-02,873.6000000001301,873.53375,2015-01-01 02:25:36,bin8736,35,False -CTSPillarNetworkA,8737,8737,8737,1993-12-03,873.7000000001301,873.6337,2015-01-01 02:25:37,bin8737,75,False -CTSPillarNetworkA,8738,8738,8738,1993-12-04,873.8000000001301,873.7337,2015-01-01 02:25:38,bin8738,35,False -CTSPillarNetworkA,8739,8739,8739,1993-12-05,873.9000000001301,873.8337,2015-01-01 02:25:39,bin8739,75,False -CTSPillarNetworkA,8740,8740,8740,1993-12-06,874.0000000001302,873.93365,2015-01-01 02:25:40,bin8740,35,False -CTSPillarNetworkA,8741,8741,8741,1993-12-07,874.1000000001302,874.0336,2015-01-01 02:25:41,bin8741,75,False -CTSPillarNetworkA,8742,8742,8742,1993-12-08,874.2000000001302,874.1336,2015-01-01 02:25:42,bin8742,35,False -CTSPillarNetworkA,8743,8743,8743,1993-12-09,874.3000000001302,874.2336,2015-01-01 02:25:43,bin8743,75,False -CTSPillarNetworkA,8744,8744,8744,1993-12-10,874.4000000001303,874.33356,2015-01-01 02:25:44,bin8744,35,False -CTSPillarNetworkA,8745,8745,8745,1993-12-11,874.5000000001303,874.43353,2015-01-01 02:25:45,bin8745,75,False -CTSPillarNetworkA,8746,8746,8746,1993-12-12,874.6000000001303,874.5335,2015-01-01 02:25:46,bin8746,35,False -CTSPillarNetworkA,8747,8747,8747,1993-12-13,874.7000000001303,874.6335,2015-01-01 02:25:47,bin8747,75,False -CTSPillarNetworkA,8748,8748,8748,1993-12-14,874.8000000001304,874.73346,2015-01-01 02:25:48,bin8748,35,False -CTSPillarNetworkA,8749,8749,8749,1993-12-15,874.9000000001304,874.83344,2015-01-01 02:25:49,bin8749,75,False -CTSPillarNetworkA,8750,8750,8750,1993-12-16,875.0000000001304,874.9334,2015-01-01 02:25:50,bin8750,35,False -CTSPillarNetworkA,8751,8751,8751,1993-12-17,875.1000000001304,875.0334,2015-01-01 02:25:51,bin8751,75,False -CTSPillarNetworkA,8752,8752,8752,1993-12-18,875.2000000001304,875.13336,2015-01-01 02:25:52,bin8752,35,False -CTSPillarNetworkA,8753,8753,8753,1993-12-19,875.3000000001305,875.23334,2015-01-01 02:25:53,bin8753,75,False -CTSPillarNetworkA,8754,8754,8754,1993-12-20,875.4000000001305,875.3333,2015-01-01 02:25:54,bin8754,35,False -CTSPillarNetworkA,8755,8755,8755,1993-12-21,875.5000000001305,875.4333,2015-01-01 02:25:55,bin8755,75,False -CTSPillarNetworkA,8756,8756,8756,1993-12-22,875.6000000001305,875.53326,2015-01-01 02:25:56,bin8756,35,False -CTSPillarNetworkA,8757,8757,8757,1993-12-23,875.7000000001306,875.63324,2015-01-01 02:25:57,bin8757,75,False -CTSPillarNetworkA,8758,8758,8758,1993-12-24,875.8000000001306,875.7332,2015-01-01 02:25:58,bin8758,35,False -CTSPillarNetworkA,8759,8759,8759,1993-12-25,875.9000000001306,875.8332,2015-01-01 02:25:59,bin8759,75,False -CTSPillarNetworkA,8760,8760,8760,1993-12-26,876.0000000001306,875.93317,2015-01-01 02:26:00,bin8760,35,False -CTSPillarNetworkA,8761,8761,8761,1993-12-27,876.1000000001306,876.03314,2015-01-01 02:26:01,bin8761,75,False -CTSPillarNetworkA,8762,8762,8762,1993-12-28,876.2000000001307,876.1331,2015-01-01 02:26:02,bin8762,35,False -CTSPillarNetworkA,8763,8763,8763,1993-12-29,876.3000000001307,876.2331,2015-01-01 02:26:03,bin8763,75,False -CTSPillarNetworkA,8764,8764,8764,1993-12-30,876.4000000001307,876.33307,2015-01-01 02:26:04,bin8764,35,False -CTSPillarNetworkA,8765,8765,8765,1993-12-31,876.5000000001307,876.43304,2015-01-01 02:26:05,bin8765,75,False -CTSPillarNetworkA,8766,8766,8766,1994-01-01,876.6000000001308,876.533,2015-01-01 02:26:06,bin8766,35,False -CTSPillarNetworkA,8767,8767,8767,1994-01-02,876.7000000001308,876.633,2015-01-01 02:26:07,bin8767,75,False -CTSPillarNetworkA,8768,8768,8768,1994-01-03,876.8000000001308,876.733,2015-01-01 02:26:08,bin8768,35,False -CTSPillarNetworkA,8769,8769,8769,1994-01-04,876.9000000001308,876.83295,2015-01-01 02:26:09,bin8769,75,False -CTSPillarNetworkA,8770,8770,8770,1994-01-05,877.0000000001309,876.9329,2015-01-01 02:26:10,bin8770,35,False -CTSPillarNetworkA,8771,8771,8771,1994-01-06,877.1000000001309,877.0329,2015-01-01 02:26:11,bin8771,75,False -CTSPillarNetworkA,8772,8772,8772,1994-01-07,877.2000000001309,877.1329,2015-01-01 02:26:12,bin8772,35,False -CTSPillarNetworkA,8773,8773,8773,1994-01-08,877.3000000001309,877.23285,2015-01-01 02:26:13,bin8773,75,False -CTSPillarNetworkA,8774,8774,8774,1994-01-09,877.400000000131,877.3328,2015-01-01 02:26:14,bin8774,35,False -CTSPillarNetworkA,8775,8775,8775,1994-01-10,877.500000000131,877.4328,2015-01-01 02:26:15,bin8775,75,False -CTSPillarNetworkA,8776,8776,8776,1994-01-11,877.600000000131,877.5328,2015-01-01 02:26:16,bin8776,35,False -CTSPillarNetworkA,8777,8777,8777,1994-01-12,877.700000000131,877.63275,2015-01-01 02:26:17,bin8777,75,False -CTSPillarNetworkA,8778,8778,8778,1994-01-13,877.800000000131,877.7327,2015-01-01 02:26:18,bin8778,35,False -CTSPillarNetworkA,8779,8779,8779,1994-01-14,877.9000000001311,877.8327,2015-01-01 02:26:19,bin8779,75,False -CTSPillarNetworkA,8780,8780,8780,1994-01-15,878.0000000001311,877.9327,2015-01-01 02:26:20,bin8780,35,False -CTSPillarNetworkA,8781,8781,8781,1994-01-16,878.1000000001311,878.03265,2015-01-01 02:26:21,bin8781,75,False -CTSPillarNetworkA,8782,8782,8782,1994-01-17,878.2000000001311,878.1326,2015-01-01 02:26:22,bin8782,35,False -CTSPillarNetworkA,8783,8783,8783,1994-01-18,878.3000000001311,878.2326,2015-01-01 02:26:23,bin8783,75,False -CTSPillarNetworkA,8784,8784,8784,1994-01-19,878.4000000001312,878.3326,2015-01-01 02:26:24,bin8784,35,False -CTSPillarNetworkA,8785,8785,8785,1994-01-20,878.5000000001312,878.43256,2015-01-01 02:26:25,bin8785,75,False -CTSPillarNetworkA,8786,8786,8786,1994-01-21,878.6000000001312,878.53253,2015-01-01 02:26:26,bin8786,35,False -CTSPillarNetworkA,8787,8787,8787,1994-01-22,878.7000000001312,878.6325,2015-01-01 02:26:27,bin8787,75,False -CTSPillarNetworkA,8788,8788,8788,1994-01-23,878.8000000001313,878.7325,2015-01-01 02:26:28,bin8788,35,False -CTSPillarNetworkA,8789,8789,8789,1994-01-24,878.9000000001313,878.83246,2015-01-01 02:26:29,bin8789,75,False -CTSPillarNetworkA,8790,8790,8790,1994-01-25,879.0000000001313,878.93243,2015-01-01 02:26:30,bin8790,35,False -CTSPillarNetworkA,8791,8791,8791,1994-01-26,879.1000000001313,879.0324,2015-01-01 02:26:31,bin8791,75,False -CTSPillarNetworkA,8792,8792,8792,1994-01-27,879.2000000001314,879.1324,2015-01-01 02:26:32,bin8792,35,False -CTSPillarNetworkA,8793,8793,8793,1994-01-28,879.3000000001314,879.23236,2015-01-01 02:26:33,bin8793,75,False -CTSPillarNetworkA,8794,8794,8794,1994-01-29,879.4000000001314,879.33234,2015-01-01 02:26:34,bin8794,35,False -CTSPillarNetworkA,8795,8795,8795,1994-01-30,879.5000000001314,879.4323,2015-01-01 02:26:35,bin8795,75,False -CTSPillarNetworkA,8796,8796,8796,1994-01-31,879.6000000001314,879.5323,2015-01-01 02:26:36,bin8796,35,False -CTSPillarNetworkA,8797,8797,8797,1994-02-01,879.7000000001315,879.63226,2015-01-01 02:26:37,bin8797,75,False -CTSPillarNetworkA,8798,8798,8798,1994-02-02,879.8000000001315,879.73224,2015-01-01 02:26:38,bin8798,35,False -CTSPillarNetworkA,8799,8799,8799,1994-02-03,879.9000000001315,879.8322,2015-01-01 02:26:39,bin8799,75,False -CTSPillarNetworkA,8800,8800,8800,1994-02-04,880.0000000001315,879.9322,2015-01-01 02:26:40,bin8800,35,False -CTSPillarNetworkA,8801,8801,8801,1994-02-05,880.1000000001316,880.03217,2015-01-01 02:26:41,bin8801,75,False -CTSPillarNetworkA,8802,8802,8802,1994-02-06,880.2000000001316,880.13214,2015-01-01 02:26:42,bin8802,35,False -CTSPillarNetworkA,8803,8803,8803,1994-02-07,880.3000000001316,880.2321,2015-01-01 02:26:43,bin8803,75,False -CTSPillarNetworkA,8804,8804,8804,1994-02-08,880.4000000001316,880.3321,2015-01-01 02:26:44,bin8804,35,False -CTSPillarNetworkA,8805,8805,8805,1994-02-09,880.5000000001316,880.43207,2015-01-01 02:26:45,bin8805,75,False -CTSPillarNetworkA,8806,8806,8806,1994-02-10,880.6000000001317,880.53204,2015-01-01 02:26:46,bin8806,35,False -CTSPillarNetworkA,8807,8807,8807,1994-02-11,880.7000000001317,880.632,2015-01-01 02:26:47,bin8807,75,False -CTSPillarNetworkA,8808,8808,8808,1994-02-12,880.8000000001317,880.732,2015-01-01 02:26:48,bin8808,35,False -CTSPillarNetworkA,8809,8809,8809,1994-02-13,880.9000000001317,880.832,2015-01-01 02:26:49,bin8809,75,False -CTSPillarNetworkA,8810,8810,8810,1994-02-14,881.0000000001318,880.93195,2015-01-01 02:26:50,bin8810,35,False -CTSPillarNetworkA,8811,8811,8811,1994-02-15,881.1000000001318,881.0319,2015-01-01 02:26:51,bin8811,75,False -CTSPillarNetworkA,8812,8812,8812,1994-02-16,881.2000000001318,881.1319,2015-01-01 02:26:52,bin8812,35,False -CTSPillarNetworkA,8813,8813,8813,1994-02-17,881.3000000001318,881.2319,2015-01-01 02:26:53,bin8813,75,False -CTSPillarNetworkA,8814,8814,8814,1994-02-18,881.4000000001319,881.33185,2015-01-01 02:26:54,bin8814,35,False -CTSPillarNetworkA,8815,8815,8815,1994-02-19,881.5000000001319,881.4318,2015-01-01 02:26:55,bin8815,75,False -CTSPillarNetworkA,8816,8816,8816,1994-02-20,881.6000000001319,881.5318,2015-01-01 02:26:56,bin8816,35,False -CTSPillarNetworkA,8817,8817,8817,1994-02-21,881.7000000001319,881.6318,2015-01-01 02:26:57,bin8817,75,False -CTSPillarNetworkA,8818,8818,8818,1994-02-22,881.800000000132,881.73175,2015-01-01 02:26:58,bin8818,35,False -CTSPillarNetworkA,8819,8819,8819,1994-02-23,881.900000000132,881.8317,2015-01-01 02:26:59,bin8819,75,False -CTSPillarNetworkA,8820,8820,8820,1994-02-24,882.000000000132,881.9317,2015-01-01 02:27:00,bin8820,35,False -CTSPillarNetworkA,8821,8821,8821,1994-02-25,882.100000000132,882.0317,2015-01-01 02:27:01,bin8821,75,False -CTSPillarNetworkA,8822,8822,8822,1994-02-26,882.200000000132,882.13165,2015-01-01 02:27:02,bin8822,35,False -CTSPillarNetworkA,8823,8823,8823,1994-02-27,882.3000000001321,882.2316,2015-01-01 02:27:03,bin8823,75,False -CTSPillarNetworkA,8824,8824,8824,1994-02-28,882.4000000001321,882.3316,2015-01-01 02:27:04,bin8824,35,False -CTSPillarNetworkA,8825,8825,8825,1994-03-01,882.5000000001321,882.4316,2015-01-01 02:27:05,bin8825,75,False -CTSPillarNetworkA,8826,8826,8826,1994-03-02,882.6000000001321,882.53156,2015-01-01 02:27:06,bin8826,35,False -CTSPillarNetworkA,8827,8827,8827,1994-03-03,882.7000000001321,882.63153,2015-01-01 02:27:07,bin8827,75,False -CTSPillarNetworkA,8828,8828,8828,1994-03-04,882.8000000001322,882.7315,2015-01-01 02:27:08,bin8828,35,False -CTSPillarNetworkA,8829,8829,8829,1994-03-05,882.9000000001322,882.8315,2015-01-01 02:27:09,bin8829,75,False -CTSPillarNetworkA,8830,8830,8830,1994-03-06,883.0000000001322,882.93146,2015-01-01 02:27:10,bin8830,35,False -CTSPillarNetworkA,8831,8831,8831,1994-03-07,883.1000000001322,883.03143,2015-01-01 02:27:11,bin8831,75,False -CTSPillarNetworkA,8832,8832,8832,1994-03-08,883.2000000001323,883.1314,2015-01-01 02:27:12,bin8832,35,False -CTSPillarNetworkA,8833,8833,8833,1994-03-09,883.3000000001323,883.2314,2015-01-01 02:27:13,bin8833,75,False -CTSPillarNetworkA,8834,8834,8834,1994-03-10,883.4000000001323,883.33136,2015-01-01 02:27:14,bin8834,35,False -CTSPillarNetworkA,8835,8835,8835,1994-03-11,883.5000000001323,883.43134,2015-01-01 02:27:15,bin8835,75,False -CTSPillarNetworkA,8836,8836,8836,1994-03-12,883.6000000001324,883.5313,2015-01-01 02:27:16,bin8836,35,False -CTSPillarNetworkA,8837,8837,8837,1994-03-13,883.7000000001324,883.6313,2015-01-01 02:27:17,bin8837,75,False -CTSPillarNetworkA,8838,8838,8838,1994-03-14,883.8000000001324,883.73126,2015-01-01 02:27:18,bin8838,35,False -CTSPillarNetworkA,8839,8839,8839,1994-03-15,883.9000000001324,883.83124,2015-01-01 02:27:19,bin8839,75,False -CTSPillarNetworkA,8840,8840,8840,1994-03-16,884.0000000001324,883.9312,2015-01-01 02:27:20,bin8840,35,False -CTSPillarNetworkA,8841,8841,8841,1994-03-17,884.1000000001325,884.0312,2015-01-01 02:27:21,bin8841,75,False -CTSPillarNetworkA,8842,8842,8842,1994-03-18,884.2000000001325,884.13116,2015-01-01 02:27:22,bin8842,35,False -CTSPillarNetworkA,8843,8843,8843,1994-03-19,884.3000000001325,884.23114,2015-01-01 02:27:23,bin8843,75,False -CTSPillarNetworkA,8844,8844,8844,1994-03-20,884.4000000001325,884.3311,2015-01-01 02:27:24,bin8844,35,False -CTSPillarNetworkA,8845,8845,8845,1994-03-21,884.5000000001326,884.4311,2015-01-01 02:27:25,bin8845,75,False -CTSPillarNetworkA,8846,8846,8846,1994-03-22,884.6000000001326,884.53107,2015-01-01 02:27:26,bin8846,35,False -CTSPillarNetworkA,8847,8847,8847,1994-03-23,884.7000000001326,884.63104,2015-01-01 02:27:27,bin8847,75,False -CTSPillarNetworkA,8848,8848,8848,1994-03-24,884.8000000001326,884.731,2015-01-01 02:27:28,bin8848,35,False -CTSPillarNetworkA,8849,8849,8849,1994-03-25,884.9000000001326,884.831,2015-01-01 02:27:29,bin8849,75,False -CTSPillarNetworkA,8850,8850,8850,1994-03-26,885.0000000001327,884.93097,2015-01-01 02:27:30,bin8850,35,False -CTSPillarNetworkA,8851,8851,8851,1994-03-27,885.1000000001327,885.03094,2015-01-01 02:27:31,bin8851,75,False -CTSPillarNetworkA,8852,8852,8852,1994-03-28,885.2000000001327,885.1309,2015-01-01 02:27:32,bin8852,35,False -CTSPillarNetworkA,8853,8853,8853,1994-03-29,885.3000000001327,885.2309,2015-01-01 02:27:33,bin8853,75,False -CTSPillarNetworkA,8854,8854,8854,1994-03-30,885.4000000001328,885.3309,2015-01-01 02:27:34,bin8854,35,False -CTSPillarNetworkA,8855,8855,8855,1994-03-31,885.5000000001328,885.43085,2015-01-01 02:27:35,bin8855,75,False -CTSPillarNetworkA,8856,8856,8856,1994-04-01,885.6000000001328,885.5308,2015-01-01 02:27:36,bin8856,35,False -CTSPillarNetworkA,8857,8857,8857,1994-04-02,885.7000000001328,885.6308,2015-01-01 02:27:37,bin8857,75,False -CTSPillarNetworkA,8858,8858,8858,1994-04-03,885.8000000001329,885.7308,2015-01-01 02:27:38,bin8858,35,False -CTSPillarNetworkA,8859,8859,8859,1994-04-04,885.9000000001329,885.83075,2015-01-01 02:27:39,bin8859,75,False -CTSPillarNetworkA,8860,8860,8860,1994-04-05,886.0000000001329,885.9307,2015-01-01 02:27:40,bin8860,35,False -CTSPillarNetworkA,8861,8861,8861,1994-04-06,886.1000000001329,886.0307,2015-01-01 02:27:41,bin8861,75,False -CTSPillarNetworkA,8862,8862,8862,1994-04-07,886.200000000133,886.1307,2015-01-01 02:27:42,bin8862,35,False -CTSPillarNetworkA,8863,8863,8863,1994-04-08,886.300000000133,886.23065,2015-01-01 02:27:43,bin8863,75,False -CTSPillarNetworkA,8864,8864,8864,1994-04-09,886.400000000133,886.3306,2015-01-01 02:27:44,bin8864,35,False -CTSPillarNetworkA,8865,8865,8865,1994-04-10,886.500000000133,886.4306,2015-01-01 02:27:45,bin8865,75,False -CTSPillarNetworkA,8866,8866,8866,1994-04-11,886.600000000133,886.5306,2015-01-01 02:27:46,bin8866,35,False -CTSPillarNetworkA,8867,8867,8867,1994-04-12,886.7000000001331,886.63055,2015-01-01 02:27:47,bin8867,75,False -CTSPillarNetworkA,8868,8868,8868,1994-04-13,886.8000000001331,886.7305,2015-01-01 02:27:48,bin8868,35,False -CTSPillarNetworkA,8869,8869,8869,1994-04-14,886.9000000001331,886.8305,2015-01-01 02:27:49,bin8869,75,False -CTSPillarNetworkA,8870,8870,8870,1994-04-15,887.0000000001331,886.9305,2015-01-01 02:27:50,bin8870,35,False -CTSPillarNetworkA,8871,8871,8871,1994-04-16,887.1000000001332,887.03046,2015-01-01 02:27:51,bin8871,75,False -CTSPillarNetworkA,8872,8872,8872,1994-04-17,887.2000000001332,887.13043,2015-01-01 02:27:52,bin8872,35,False -CTSPillarNetworkA,8873,8873,8873,1994-04-18,887.3000000001332,887.2304,2015-01-01 02:27:53,bin8873,75,False -CTSPillarNetworkA,8874,8874,8874,1994-04-19,887.4000000001332,887.3304,2015-01-01 02:27:54,bin8874,35,False -CTSPillarNetworkA,8875,8875,8875,1994-04-20,887.5000000001332,887.43036,2015-01-01 02:27:55,bin8875,75,False -CTSPillarNetworkA,8876,8876,8876,1994-04-21,887.6000000001333,887.53033,2015-01-01 02:27:56,bin8876,35,False -CTSPillarNetworkA,8877,8877,8877,1994-04-22,887.7000000001333,887.6303,2015-01-01 02:27:57,bin8877,75,False -CTSPillarNetworkA,8878,8878,8878,1994-04-23,887.8000000001333,887.7303,2015-01-01 02:27:58,bin8878,35,False -CTSPillarNetworkA,8879,8879,8879,1994-04-24,887.9000000001333,887.83026,2015-01-01 02:27:59,bin8879,75,False -CTSPillarNetworkA,8880,8880,8880,1994-04-25,888.0000000001334,887.93024,2015-01-01 02:28:00,bin8880,35,False -CTSPillarNetworkA,8881,8881,8881,1994-04-26,888.1000000001334,888.0302,2015-01-01 02:28:01,bin8881,75,False -CTSPillarNetworkA,8882,8882,8882,1994-04-27,888.2000000001334,888.1302,2015-01-01 02:28:02,bin8882,35,False -CTSPillarNetworkA,8883,8883,8883,1994-04-28,888.3000000001334,888.23016,2015-01-01 02:28:03,bin8883,75,False -CTSPillarNetworkA,8884,8884,8884,1994-04-29,888.4000000001334,888.33014,2015-01-01 02:28:04,bin8884,35,False -CTSPillarNetworkA,8885,8885,8885,1994-04-30,888.5000000001335,888.4301,2015-01-01 02:28:05,bin8885,75,False -CTSPillarNetworkA,8886,8886,8886,1994-05-01,888.6000000001335,888.5301,2015-01-01 02:28:06,bin8886,35,False -CTSPillarNetworkA,8887,8887,8887,1994-05-02,888.7000000001335,888.63007,2015-01-01 02:28:07,bin8887,75,False -CTSPillarNetworkA,8888,8888,8888,1994-05-03,888.8000000001335,888.73004,2015-01-01 02:28:08,bin8888,35,False -CTSPillarNetworkA,8889,8889,8889,1994-05-04,888.9000000001336,888.83,2015-01-01 02:28:09,bin8889,75,False -CTSPillarNetworkA,8890,8890,8890,1994-05-05,889.0000000001336,888.93,2015-01-01 02:28:10,bin8890,35,False -CTSPillarNetworkA,8891,8891,8891,1994-05-06,889.1000000001336,889.02997,2015-01-01 02:28:11,bin8891,75,False -CTSPillarNetworkA,8892,8892,8892,1994-05-07,889.2000000001336,889.12994,2015-01-01 02:28:12,bin8892,35,False -CTSPillarNetworkA,8893,8893,8893,1994-05-08,889.3000000001337,889.2299,2015-01-01 02:28:13,bin8893,75,False -CTSPillarNetworkA,8894,8894,8894,1994-05-09,889.4000000001337,889.3299,2015-01-01 02:28:14,bin8894,35,False -CTSPillarNetworkA,8895,8895,8895,1994-05-10,889.5000000001337,889.4299,2015-01-01 02:28:15,bin8895,75,False -CTSPillarNetworkA,8896,8896,8896,1994-05-11,889.6000000001337,889.52985,2015-01-01 02:28:16,bin8896,35,False -CTSPillarNetworkA,8897,8897,8897,1994-05-12,889.7000000001337,889.6298,2015-01-01 02:28:17,bin8897,75,False -CTSPillarNetworkA,8898,8898,8898,1994-05-13,889.8000000001338,889.7298,2015-01-01 02:28:18,bin8898,35,False -CTSPillarNetworkA,8899,8899,8899,1994-05-14,889.9000000001338,889.8298,2015-01-01 02:28:19,bin8899,75,False -CTSPillarNetworkA,8900,8900,8900,1994-05-15,890.0000000001338,889.92975,2015-01-01 02:28:20,bin8900,35,False -CTSPillarNetworkA,8901,8901,8901,1994-05-16,890.1000000001338,890.0297,2015-01-01 02:28:21,bin8901,75,False -CTSPillarNetworkA,8902,8902,8902,1994-05-17,890.2000000001339,890.1297,2015-01-01 02:28:22,bin8902,35,False -CTSPillarNetworkA,8903,8903,8903,1994-05-18,890.3000000001339,890.2297,2015-01-01 02:28:23,bin8903,75,False -CTSPillarNetworkA,8904,8904,8904,1994-05-19,890.4000000001339,890.32965,2015-01-01 02:28:24,bin8904,35,False -CTSPillarNetworkA,8905,8905,8905,1994-05-20,890.5000000001339,890.4296,2015-01-01 02:28:25,bin8905,75,False -CTSPillarNetworkA,8906,8906,8906,1994-05-21,890.600000000134,890.5296,2015-01-01 02:28:26,bin8906,35,False -CTSPillarNetworkA,8907,8907,8907,1994-05-22,890.700000000134,890.6296,2015-01-01 02:28:27,bin8907,75,False -CTSPillarNetworkA,8908,8908,8908,1994-05-23,890.800000000134,890.72955,2015-01-01 02:28:28,bin8908,35,False -CTSPillarNetworkA,8909,8909,8909,1994-05-24,890.900000000134,890.8295,2015-01-01 02:28:29,bin8909,75,False -CTSPillarNetworkA,8910,8910,8910,1994-05-25,891.000000000134,890.9295,2015-01-01 02:28:30,bin8910,35,False -CTSPillarNetworkA,8911,8911,8911,1994-05-26,891.1000000001341,891.0295,2015-01-01 02:28:31,bin8911,75,False -CTSPillarNetworkA,8912,8912,8912,1994-05-27,891.2000000001341,891.12946,2015-01-01 02:28:32,bin8912,35,False -CTSPillarNetworkA,8913,8913,8913,1994-05-28,891.3000000001341,891.22943,2015-01-01 02:28:33,bin8913,75,False -CTSPillarNetworkA,8914,8914,8914,1994-05-29,891.4000000001341,891.3294,2015-01-01 02:28:34,bin8914,35,False -CTSPillarNetworkA,8915,8915,8915,1994-05-30,891.5000000001342,891.4294,2015-01-01 02:28:35,bin8915,75,False -CTSPillarNetworkA,8916,8916,8916,1994-05-31,891.6000000001342,891.52936,2015-01-01 02:28:36,bin8916,35,False -CTSPillarNetworkA,8917,8917,8917,1994-06-01,891.7000000001342,891.62933,2015-01-01 02:28:37,bin8917,75,False -CTSPillarNetworkA,8918,8918,8918,1994-06-02,891.8000000001342,891.7293,2015-01-01 02:28:38,bin8918,35,False -CTSPillarNetworkA,8919,8919,8919,1994-06-03,891.9000000001342,891.8293,2015-01-01 02:28:39,bin8919,75,False -CTSPillarNetworkA,8920,8920,8920,1994-06-04,892.0000000001343,891.92926,2015-01-01 02:28:40,bin8920,35,False -CTSPillarNetworkA,8921,8921,8921,1994-06-05,892.1000000001343,892.02924,2015-01-01 02:28:41,bin8921,75,False -CTSPillarNetworkA,8922,8922,8922,1994-06-06,892.2000000001343,892.1292,2015-01-01 02:28:42,bin8922,35,False -CTSPillarNetworkA,8923,8923,8923,1994-06-07,892.3000000001343,892.2292,2015-01-01 02:28:43,bin8923,75,False -CTSPillarNetworkA,8924,8924,8924,1994-06-08,892.4000000001344,892.32916,2015-01-01 02:28:44,bin8924,35,False -CTSPillarNetworkA,8925,8925,8925,1994-06-09,892.5000000001344,892.42914,2015-01-01 02:28:45,bin8925,75,False -CTSPillarNetworkA,8926,8926,8926,1994-06-10,892.6000000001344,892.5291,2015-01-01 02:28:46,bin8926,35,False -CTSPillarNetworkA,8927,8927,8927,1994-06-11,892.7000000001344,892.6291,2015-01-01 02:28:47,bin8927,75,False -CTSPillarNetworkA,8928,8928,8928,1994-06-12,892.8000000001344,892.72906,2015-01-01 02:28:48,bin8928,35,False -CTSPillarNetworkA,8929,8929,8929,1994-06-13,892.9000000001345,892.82904,2015-01-01 02:28:49,bin8929,75,False -CTSPillarNetworkA,8930,8930,8930,1994-06-14,893.0000000001345,892.929,2015-01-01 02:28:50,bin8930,35,False -CTSPillarNetworkA,8931,8931,8931,1994-06-15,893.1000000001345,893.029,2015-01-01 02:28:51,bin8931,75,False -CTSPillarNetworkA,8932,8932,8932,1994-06-16,893.2000000001345,893.12897,2015-01-01 02:28:52,bin8932,35,False -CTSPillarNetworkA,8933,8933,8933,1994-06-17,893.3000000001346,893.22894,2015-01-01 02:28:53,bin8933,75,False -CTSPillarNetworkA,8934,8934,8934,1994-06-18,893.4000000001346,893.3289,2015-01-01 02:28:54,bin8934,35,False -CTSPillarNetworkA,8935,8935,8935,1994-06-19,893.5000000001346,893.4289,2015-01-01 02:28:55,bin8935,75,False -CTSPillarNetworkA,8936,8936,8936,1994-06-20,893.6000000001346,893.5289,2015-01-01 02:28:56,bin8936,35,False -CTSPillarNetworkA,8937,8937,8937,1994-06-21,893.7000000001347,893.62885,2015-01-01 02:28:57,bin8937,75,False -CTSPillarNetworkA,8938,8938,8938,1994-06-22,893.8000000001347,893.7288,2015-01-01 02:28:58,bin8938,35,False -CTSPillarNetworkA,8939,8939,8939,1994-06-23,893.9000000001347,893.8288,2015-01-01 02:28:59,bin8939,75,False -CTSPillarNetworkA,8940,8940,8940,1994-06-24,894.0000000001347,893.9288,2015-01-01 02:29:00,bin8940,35,False -CTSPillarNetworkA,8941,8941,8941,1994-06-25,894.1000000001347,894.02875,2015-01-01 02:29:01,bin8941,75,False -CTSPillarNetworkA,8942,8942,8942,1994-06-26,894.2000000001348,894.1287,2015-01-01 02:29:02,bin8942,35,False -CTSPillarNetworkA,8943,8943,8943,1994-06-27,894.3000000001348,894.2287,2015-01-01 02:29:03,bin8943,75,False -CTSPillarNetworkA,8944,8944,8944,1994-06-28,894.4000000001348,894.3287,2015-01-01 02:29:04,bin8944,35,False -CTSPillarNetworkA,8945,8945,8945,1994-06-29,894.5000000001348,894.42865,2015-01-01 02:29:05,bin8945,75,False -CTSPillarNetworkA,8946,8946,8946,1994-06-30,894.6000000001349,894.5286,2015-01-01 02:29:06,bin8946,35,False -CTSPillarNetworkA,8947,8947,8947,1994-07-01,894.7000000001349,894.6286,2015-01-01 02:29:07,bin8947,75,False -CTSPillarNetworkA,8948,8948,8948,1994-07-02,894.8000000001349,894.7286,2015-01-01 02:29:08,bin8948,35,False -CTSPillarNetworkA,8949,8949,8949,1994-07-03,894.9000000001349,894.82855,2015-01-01 02:29:09,bin8949,75,False -CTSPillarNetworkA,8950,8950,8950,1994-07-04,895.000000000135,894.9285,2015-01-01 02:29:10,bin8950,35,False -CTSPillarNetworkA,8951,8951,8951,1994-07-05,895.100000000135,895.0285,2015-01-01 02:29:11,bin8951,75,False -CTSPillarNetworkA,8952,8952,8952,1994-07-06,895.200000000135,895.1285,2015-01-01 02:29:12,bin8952,35,False -CTSPillarNetworkA,8953,8953,8953,1994-07-07,895.300000000135,895.22845,2015-01-01 02:29:13,bin8953,75,False -CTSPillarNetworkA,8954,8954,8954,1994-07-08,895.400000000135,895.3284,2015-01-01 02:29:14,bin8954,35,False -CTSPillarNetworkA,8955,8955,8955,1994-07-09,895.5000000001351,895.4284,2015-01-01 02:29:15,bin8955,75,False -CTSPillarNetworkA,8956,8956,8956,1994-07-10,895.6000000001351,895.5284,2015-01-01 02:29:16,bin8956,35,False -CTSPillarNetworkA,8957,8957,8957,1994-07-11,895.7000000001351,895.62836,2015-01-01 02:29:17,bin8957,75,False -CTSPillarNetworkA,8958,8958,8958,1994-07-12,895.8000000001351,895.72833,2015-01-01 02:29:18,bin8958,35,False -CTSPillarNetworkA,8959,8959,8959,1994-07-13,895.9000000001352,895.8283,2015-01-01 02:29:19,bin8959,75,False -CTSPillarNetworkA,8960,8960,8960,1994-07-14,896.0000000001352,895.9283,2015-01-01 02:29:20,bin8960,35,False -CTSPillarNetworkA,8961,8961,8961,1994-07-15,896.1000000001352,896.02826,2015-01-01 02:29:21,bin8961,75,False -CTSPillarNetworkA,8962,8962,8962,1994-07-16,896.2000000001352,896.12823,2015-01-01 02:29:22,bin8962,35,False -CTSPillarNetworkA,8963,8963,8963,1994-07-17,896.3000000001352,896.2282,2015-01-01 02:29:23,bin8963,75,False -CTSPillarNetworkA,8964,8964,8964,1994-07-18,896.4000000001353,896.3282,2015-01-01 02:29:24,bin8964,35,False -CTSPillarNetworkA,8965,8965,8965,1994-07-19,896.5000000001353,896.42816,2015-01-01 02:29:25,bin8965,75,False -CTSPillarNetworkA,8966,8966,8966,1994-07-20,896.6000000001353,896.52814,2015-01-01 02:29:26,bin8966,35,False -CTSPillarNetworkA,8967,8967,8967,1994-07-21,896.7000000001353,896.6281,2015-01-01 02:29:27,bin8967,75,False -CTSPillarNetworkA,8968,8968,8968,1994-07-22,896.8000000001354,896.7281,2015-01-01 02:29:28,bin8968,35,False -CTSPillarNetworkA,8969,8969,8969,1994-07-23,896.9000000001354,896.82806,2015-01-01 02:29:29,bin8969,75,False -CTSPillarNetworkA,8970,8970,8970,1994-07-24,897.0000000001354,896.92804,2015-01-01 02:29:30,bin8970,35,False -CTSPillarNetworkA,8971,8971,8971,1994-07-25,897.1000000001354,897.028,2015-01-01 02:29:31,bin8971,75,False -CTSPillarNetworkA,8972,8972,8972,1994-07-26,897.2000000001354,897.128,2015-01-01 02:29:32,bin8972,35,False -CTSPillarNetworkA,8973,8973,8973,1994-07-27,897.3000000001355,897.22797,2015-01-01 02:29:33,bin8973,75,False -CTSPillarNetworkA,8974,8974,8974,1994-07-28,897.4000000001355,897.32794,2015-01-01 02:29:34,bin8974,35,False -CTSPillarNetworkA,8975,8975,8975,1994-07-29,897.5000000001355,897.4279,2015-01-01 02:29:35,bin8975,75,False -CTSPillarNetworkA,8976,8976,8976,1994-07-30,897.6000000001355,897.5279,2015-01-01 02:29:36,bin8976,35,False -CTSPillarNetworkA,8977,8977,8977,1994-07-31,897.7000000001356,897.62787,2015-01-01 02:29:37,bin8977,75,False -CTSPillarNetworkA,8978,8978,8978,1994-08-01,897.8000000001356,897.72784,2015-01-01 02:29:38,bin8978,35,False -CTSPillarNetworkA,8979,8979,8979,1994-08-02,897.9000000001356,897.8278,2015-01-01 02:29:39,bin8979,75,False -CTSPillarNetworkA,8980,8980,8980,1994-08-03,898.0000000001356,897.9278,2015-01-01 02:29:40,bin8980,35,False -CTSPillarNetworkA,8981,8981,8981,1994-08-04,898.1000000001357,898.0278,2015-01-01 02:29:41,bin8981,75,False -CTSPillarNetworkA,8982,8982,8982,1994-08-05,898.2000000001357,898.12775,2015-01-01 02:29:42,bin8982,35,False -CTSPillarNetworkA,8983,8983,8983,1994-08-06,898.3000000001357,898.2277,2015-01-01 02:29:43,bin8983,75,False -CTSPillarNetworkA,8984,8984,8984,1994-08-07,898.4000000001357,898.3277,2015-01-01 02:29:44,bin8984,35,False -CTSPillarNetworkA,8985,8985,8985,1994-08-08,898.5000000001357,898.4277,2015-01-01 02:29:45,bin8985,75,False -CTSPillarNetworkA,8986,8986,8986,1994-08-09,898.6000000001358,898.52765,2015-01-01 02:29:46,bin8986,35,False -CTSPillarNetworkA,8987,8987,8987,1994-08-10,898.7000000001358,898.6276,2015-01-01 02:29:47,bin8987,75,False -CTSPillarNetworkA,8988,8988,8988,1994-08-11,898.8000000001358,898.7276,2015-01-01 02:29:48,bin8988,35,False -CTSPillarNetworkA,8989,8989,8989,1994-08-12,898.9000000001358,898.8276,2015-01-01 02:29:49,bin8989,75,False -CTSPillarNetworkA,8990,8990,8990,1994-08-13,899.0000000001359,898.92755,2015-01-01 02:29:50,bin8990,35,False -CTSPillarNetworkA,8991,8991,8991,1994-08-14,899.1000000001359,899.0275,2015-01-01 02:29:51,bin8991,75,False -CTSPillarNetworkA,8992,8992,8992,1994-08-15,899.2000000001359,899.1275,2015-01-01 02:29:52,bin8992,35,False -CTSPillarNetworkA,8993,8993,8993,1994-08-16,899.3000000001359,899.2275,2015-01-01 02:29:53,bin8993,75,False -CTSPillarNetworkA,8994,8994,8994,1994-08-17,899.400000000136,899.32745,2015-01-01 02:29:54,bin8994,35,False -CTSPillarNetworkA,8995,8995,8995,1994-08-18,899.500000000136,899.4274,2015-01-01 02:29:55,bin8995,75,False -CTSPillarNetworkA,8996,8996,8996,1994-08-19,899.600000000136,899.5274,2015-01-01 02:29:56,bin8996,35,False -CTSPillarNetworkA,8997,8997,8997,1994-08-20,899.700000000136,899.6274,2015-01-01 02:29:57,bin8997,75,False -CTSPillarNetworkA,8998,8998,8998,1994-08-21,899.800000000136,899.72736,2015-01-01 02:29:58,bin8998,35,False -CTSPillarNetworkA,8999,8999,8999,1994-08-22,899.9000000001361,899.82733,2015-01-01 02:29:59,bin8999,75,False -CTSPillarNetworkA,9000,9000,9000,1994-08-23,900.0000000001361,899.9273,2015-01-01 02:30:00,bin9000,35,False -CTSPillarNetworkA,9001,9001,9001,1994-08-24,900.1000000001361,900.0273,2015-01-01 02:30:01,bin9001,75,False -CTSPillarNetworkA,9002,9002,9002,1994-08-25,900.2000000001361,900.12726,2015-01-01 02:30:02,bin9002,35,False -CTSPillarNetworkA,9003,9003,9003,1994-08-26,900.3000000001362,900.22723,2015-01-01 02:30:03,bin9003,75,False -CTSPillarNetworkA,9004,9004,9004,1994-08-27,900.4000000001362,900.3272,2015-01-01 02:30:04,bin9004,35,False -CTSPillarNetworkA,9005,9005,9005,1994-08-28,900.5000000001362,900.4272,2015-01-01 02:30:05,bin9005,75,False -CTSPillarNetworkA,9006,9006,9006,1994-08-29,900.6000000001362,900.52716,2015-01-01 02:30:06,bin9006,35,False -CTSPillarNetworkA,9007,9007,9007,1994-08-30,900.7000000001362,900.62714,2015-01-01 02:30:07,bin9007,75,False -CTSPillarNetworkA,9008,9008,9008,1994-08-31,900.8000000001363,900.7271,2015-01-01 02:30:08,bin9008,35,False -CTSPillarNetworkA,9009,9009,9009,1994-09-01,900.9000000001363,900.8271,2015-01-01 02:30:09,bin9009,75,False -CTSPillarNetworkA,9010,9010,9010,1994-09-02,901.0000000001363,900.92706,2015-01-01 02:30:10,bin9010,35,False -CTSPillarNetworkA,9011,9011,9011,1994-09-03,901.1000000001363,901.02704,2015-01-01 02:30:11,bin9011,75,False -CTSPillarNetworkA,9012,9012,9012,1994-09-04,901.2000000001364,901.127,2015-01-01 02:30:12,bin9012,35,False -CTSPillarNetworkA,9013,9013,9013,1994-09-05,901.3000000001364,901.227,2015-01-01 02:30:13,bin9013,75,False -CTSPillarNetworkA,9014,9014,9014,1994-09-06,901.4000000001364,901.32697,2015-01-01 02:30:14,bin9014,35,False -CTSPillarNetworkA,9015,9015,9015,1994-09-07,901.5000000001364,901.42694,2015-01-01 02:30:15,bin9015,75,False -CTSPillarNetworkA,9016,9016,9016,1994-09-08,901.6000000001364,901.5269,2015-01-01 02:30:16,bin9016,35,False -CTSPillarNetworkA,9017,9017,9017,1994-09-09,901.7000000001365,901.6269,2015-01-01 02:30:17,bin9017,75,False -CTSPillarNetworkA,9018,9018,9018,1994-09-10,901.8000000001365,901.72687,2015-01-01 02:30:18,bin9018,35,False -CTSPillarNetworkA,9019,9019,9019,1994-09-11,901.9000000001365,901.82684,2015-01-01 02:30:19,bin9019,75,False -CTSPillarNetworkA,9020,9020,9020,1994-09-12,902.0000000001365,901.9268,2015-01-01 02:30:20,bin9020,35,False -CTSPillarNetworkA,9021,9021,9021,1994-09-13,902.1000000001366,902.0268,2015-01-01 02:30:21,bin9021,75,False -CTSPillarNetworkA,9022,9022,9022,1994-09-14,902.2000000001366,902.1268,2015-01-01 02:30:22,bin9022,35,False -CTSPillarNetworkA,9023,9023,9023,1994-09-15,902.3000000001366,902.22675,2015-01-01 02:30:23,bin9023,75,False -CTSPillarNetworkA,9024,9024,9024,1994-09-16,902.4000000001366,902.3267,2015-01-01 02:30:24,bin9024,35,False -CTSPillarNetworkA,9025,9025,9025,1994-09-17,902.5000000001367,902.4267,2015-01-01 02:30:25,bin9025,75,False -CTSPillarNetworkA,9026,9026,9026,1994-09-18,902.6000000001367,902.5267,2015-01-01 02:30:26,bin9026,35,False -CTSPillarNetworkA,9027,9027,9027,1994-09-19,902.7000000001367,902.62665,2015-01-01 02:30:27,bin9027,75,False -CTSPillarNetworkA,9028,9028,9028,1994-09-20,902.8000000001367,902.7266,2015-01-01 02:30:28,bin9028,35,False -CTSPillarNetworkA,9029,9029,9029,1994-09-21,902.9000000001367,902.8266,2015-01-01 02:30:29,bin9029,75,False -CTSPillarNetworkA,9030,9030,9030,1994-09-22,903.0000000001368,902.9266,2015-01-01 02:30:30,bin9030,35,False -CTSPillarNetworkA,9031,9031,9031,1994-09-23,903.1000000001368,903.02655,2015-01-01 02:30:31,bin9031,75,False -CTSPillarNetworkA,9032,9032,9032,1994-09-24,903.2000000001368,903.1265,2015-01-01 02:30:32,bin9032,35,False -CTSPillarNetworkA,9033,9033,9033,1994-09-25,903.3000000001368,903.2265,2015-01-01 02:30:33,bin9033,75,False -CTSPillarNetworkA,9034,9034,9034,1994-09-26,903.4000000001369,903.3265,2015-01-01 02:30:34,bin9034,35,False -CTSPillarNetworkA,9035,9035,9035,1994-09-27,903.5000000001369,903.42645,2015-01-01 02:30:35,bin9035,75,False -CTSPillarNetworkA,9036,9036,9036,1994-09-28,903.6000000001369,903.5264,2015-01-01 02:30:36,bin9036,35,False -CTSPillarNetworkA,9037,9037,9037,1994-09-29,903.7000000001369,903.6264,2015-01-01 02:30:37,bin9037,75,False -CTSPillarNetworkA,9038,9038,9038,1994-09-30,903.800000000137,903.7264,2015-01-01 02:30:38,bin9038,35,False -CTSPillarNetworkA,9039,9039,9039,1994-10-01,903.900000000137,903.82635,2015-01-01 02:30:39,bin9039,75,False -CTSPillarNetworkA,9040,9040,9040,1994-10-02,904.000000000137,903.92633,2015-01-01 02:30:40,bin9040,35,False -CTSPillarNetworkA,9041,9041,9041,1994-10-03,904.100000000137,904.0263,2015-01-01 02:30:41,bin9041,75,False -CTSPillarNetworkA,9042,9042,9042,1994-10-04,904.200000000137,904.1263,2015-01-01 02:30:42,bin9042,35,False -CTSPillarNetworkA,9043,9043,9043,1994-10-05,904.3000000001371,904.22626,2015-01-01 02:30:43,bin9043,75,False -CTSPillarNetworkA,9044,9044,9044,1994-10-06,904.4000000001371,904.32623,2015-01-01 02:30:44,bin9044,35,False -CTSPillarNetworkA,9045,9045,9045,1994-10-07,904.5000000001371,904.4262,2015-01-01 02:30:45,bin9045,75,False -CTSPillarNetworkA,9046,9046,9046,1994-10-08,904.6000000001371,904.5262,2015-01-01 02:30:46,bin9046,35,False -CTSPillarNetworkA,9047,9047,9047,1994-10-09,904.7000000001372,904.62616,2015-01-01 02:30:47,bin9047,75,False -CTSPillarNetworkA,9048,9048,9048,1994-10-10,904.8000000001372,904.72614,2015-01-01 02:30:48,bin9048,35,False -CTSPillarNetworkA,9049,9049,9049,1994-10-11,904.9000000001372,904.8261,2015-01-01 02:30:49,bin9049,75,False -CTSPillarNetworkA,9050,9050,9050,1994-10-12,905.0000000001372,904.9261,2015-01-01 02:30:50,bin9050,35,False -CTSPillarNetworkA,9051,9051,9051,1994-10-13,905.1000000001372,905.02606,2015-01-01 02:30:51,bin9051,75,False -CTSPillarNetworkA,9052,9052,9052,1994-10-14,905.2000000001373,905.12604,2015-01-01 02:30:52,bin9052,35,False -CTSPillarNetworkA,9053,9053,9053,1994-10-15,905.3000000001373,905.226,2015-01-01 02:30:53,bin9053,75,False -CTSPillarNetworkA,9054,9054,9054,1994-10-16,905.4000000001373,905.326,2015-01-01 02:30:54,bin9054,35,False -CTSPillarNetworkA,9055,9055,9055,1994-10-17,905.5000000001373,905.42596,2015-01-01 02:30:55,bin9055,75,False -CTSPillarNetworkA,9056,9056,9056,1994-10-18,905.6000000001374,905.52594,2015-01-01 02:30:56,bin9056,35,False -CTSPillarNetworkA,9057,9057,9057,1994-10-19,905.7000000001374,905.6259,2015-01-01 02:30:57,bin9057,75,False -CTSPillarNetworkA,9058,9058,9058,1994-10-20,905.8000000001374,905.7259,2015-01-01 02:30:58,bin9058,35,False -CTSPillarNetworkA,9059,9059,9059,1994-10-21,905.9000000001374,905.82587,2015-01-01 02:30:59,bin9059,75,False -CTSPillarNetworkA,9060,9060,9060,1994-10-22,906.0000000001374,905.92584,2015-01-01 02:31:00,bin9060,35,False -CTSPillarNetworkA,9061,9061,9061,1994-10-23,906.1000000001375,906.0258,2015-01-01 02:31:01,bin9061,75,False -CTSPillarNetworkA,9062,9062,9062,1994-10-24,906.2000000001375,906.1258,2015-01-01 02:31:02,bin9062,35,False -CTSPillarNetworkA,9063,9063,9063,1994-10-25,906.3000000001375,906.22577,2015-01-01 02:31:03,bin9063,75,False -CTSPillarNetworkA,9064,9064,9064,1994-10-26,906.4000000001375,906.32574,2015-01-01 02:31:04,bin9064,35,False -CTSPillarNetworkA,9065,9065,9065,1994-10-27,906.5000000001376,906.4257,2015-01-01 02:31:05,bin9065,75,False -CTSPillarNetworkA,9066,9066,9066,1994-10-28,906.6000000001376,906.5257,2015-01-01 02:31:06,bin9066,35,False -CTSPillarNetworkA,9067,9067,9067,1994-10-29,906.7000000001376,906.6257,2015-01-01 02:31:07,bin9067,75,False -CTSPillarNetworkA,9068,9068,9068,1994-10-30,906.8000000001376,906.72565,2015-01-01 02:31:08,bin9068,35,False -CTSPillarNetworkA,9069,9069,9069,1994-10-31,906.9000000001377,906.8256,2015-01-01 02:31:09,bin9069,75,False -CTSPillarNetworkA,9070,9070,9070,1994-11-01,907.0000000001377,906.9256,2015-01-01 02:31:10,bin9070,35,False -CTSPillarNetworkA,9071,9071,9071,1994-11-02,907.1000000001377,907.0256,2015-01-01 02:31:11,bin9071,75,False -CTSPillarNetworkA,9072,9072,9072,1994-11-03,907.2000000001377,907.12555,2015-01-01 02:31:12,bin9072,35,False -CTSPillarNetworkA,9073,9073,9073,1994-11-04,907.3000000001377,907.2255,2015-01-01 02:31:13,bin9073,75,False -CTSPillarNetworkA,9074,9074,9074,1994-11-05,907.4000000001378,907.3255,2015-01-01 02:31:14,bin9074,35,False -CTSPillarNetworkA,9075,9075,9075,1994-11-06,907.5000000001378,907.4255,2015-01-01 02:31:15,bin9075,75,False -CTSPillarNetworkA,9076,9076,9076,1994-11-07,907.6000000001378,907.52545,2015-01-01 02:31:16,bin9076,35,False -CTSPillarNetworkA,9077,9077,9077,1994-11-08,907.7000000001378,907.6254,2015-01-01 02:31:17,bin9077,75,False -CTSPillarNetworkA,9078,9078,9078,1994-11-09,907.8000000001379,907.7254,2015-01-01 02:31:18,bin9078,35,False -CTSPillarNetworkA,9079,9079,9079,1994-11-10,907.9000000001379,907.8254,2015-01-01 02:31:19,bin9079,75,False -CTSPillarNetworkA,9080,9080,9080,1994-11-11,908.0000000001379,907.92535,2015-01-01 02:31:20,bin9080,35,False -CTSPillarNetworkA,9081,9081,9081,1994-11-12,908.1000000001379,908.0253,2015-01-01 02:31:21,bin9081,75,False -CTSPillarNetworkA,9082,9082,9082,1994-11-13,908.200000000138,908.1253,2015-01-01 02:31:22,bin9082,35,False -CTSPillarNetworkA,9083,9083,9083,1994-11-14,908.300000000138,908.2253,2015-01-01 02:31:23,bin9083,75,False -CTSPillarNetworkA,9084,9084,9084,1994-11-15,908.400000000138,908.32526,2015-01-01 02:31:24,bin9084,35,False -CTSPillarNetworkA,9085,9085,9085,1994-11-16,908.500000000138,908.42523,2015-01-01 02:31:25,bin9085,75,False -CTSPillarNetworkA,9086,9086,9086,1994-11-17,908.600000000138,908.5252,2015-01-01 02:31:26,bin9086,35,False -CTSPillarNetworkA,9087,9087,9087,1994-11-18,908.7000000001381,908.6252,2015-01-01 02:31:27,bin9087,75,False -CTSPillarNetworkA,9088,9088,9088,1994-11-19,908.8000000001381,908.72516,2015-01-01 02:31:28,bin9088,35,False -CTSPillarNetworkA,9089,9089,9089,1994-11-20,908.9000000001381,908.82513,2015-01-01 02:31:29,bin9089,75,False -CTSPillarNetworkA,9090,9090,9090,1994-11-21,909.0000000001381,908.9251,2015-01-01 02:31:30,bin9090,35,False -CTSPillarNetworkA,9091,9091,9091,1994-11-22,909.1000000001382,909.0251,2015-01-01 02:31:31,bin9091,75,False -CTSPillarNetworkA,9092,9092,9092,1994-11-23,909.2000000001382,909.12506,2015-01-01 02:31:32,bin9092,35,False -CTSPillarNetworkA,9093,9093,9093,1994-11-24,909.3000000001382,909.22504,2015-01-01 02:31:33,bin9093,75,False -CTSPillarNetworkA,9094,9094,9094,1994-11-25,909.4000000001382,909.325,2015-01-01 02:31:34,bin9094,35,False -CTSPillarNetworkA,9095,9095,9095,1994-11-26,909.5000000001382,909.425,2015-01-01 02:31:35,bin9095,75,False -CTSPillarNetworkA,9096,9096,9096,1994-11-27,909.6000000001383,909.52496,2015-01-01 02:31:36,bin9096,35,False -CTSPillarNetworkA,9097,9097,9097,1994-11-28,909.7000000001383,909.62494,2015-01-01 02:31:37,bin9097,75,False -CTSPillarNetworkA,9098,9098,9098,1994-11-29,909.8000000001383,909.7249,2015-01-01 02:31:38,bin9098,35,False -CTSPillarNetworkA,9099,9099,9099,1994-11-30,909.9000000001383,909.8249,2015-01-01 02:31:39,bin9099,75,False -CTSPillarNetworkA,9100,9100,9100,1994-12-01,910.0000000001384,909.92487,2015-01-01 02:31:40,bin9100,35,False -CTSPillarNetworkA,9101,9101,9101,1994-12-02,910.1000000001384,910.02484,2015-01-01 02:31:41,bin9101,75,False -CTSPillarNetworkA,9102,9102,9102,1994-12-03,910.2000000001384,910.1248,2015-01-01 02:31:42,bin9102,35,False -CTSPillarNetworkA,9103,9103,9103,1994-12-04,910.3000000001384,910.2248,2015-01-01 02:31:43,bin9103,75,False -CTSPillarNetworkA,9104,9104,9104,1994-12-05,910.4000000001384,910.32477,2015-01-01 02:31:44,bin9104,35,False -CTSPillarNetworkA,9105,9105,9105,1994-12-06,910.5000000001385,910.42474,2015-01-01 02:31:45,bin9105,75,False -CTSPillarNetworkA,9106,9106,9106,1994-12-07,910.6000000001385,910.5247,2015-01-01 02:31:46,bin9106,35,False -CTSPillarNetworkA,9107,9107,9107,1994-12-08,910.7000000001385,910.6247,2015-01-01 02:31:47,bin9107,75,False -CTSPillarNetworkA,9108,9108,9108,1994-12-09,910.8000000001385,910.7247,2015-01-01 02:31:48,bin9108,35,False -CTSPillarNetworkA,9109,9109,9109,1994-12-10,910.9000000001386,910.82465,2015-01-01 02:31:49,bin9109,75,False -CTSPillarNetworkA,9110,9110,9110,1994-12-11,911.0000000001386,910.9246,2015-01-01 02:31:50,bin9110,35,False -CTSPillarNetworkA,9111,9111,9111,1994-12-12,911.1000000001386,911.0246,2015-01-01 02:31:51,bin9111,75,False -CTSPillarNetworkA,9112,9112,9112,1994-12-13,911.2000000001386,911.1246,2015-01-01 02:31:52,bin9112,35,False -CTSPillarNetworkA,9113,9113,9113,1994-12-14,911.3000000001387,911.22455,2015-01-01 02:31:53,bin9113,75,False -CTSPillarNetworkA,9114,9114,9114,1994-12-15,911.4000000001387,911.3245,2015-01-01 02:31:54,bin9114,35,False -CTSPillarNetworkA,9115,9115,9115,1994-12-16,911.5000000001387,911.4245,2015-01-01 02:31:55,bin9115,75,False -CTSPillarNetworkA,9116,9116,9116,1994-12-17,911.6000000001387,911.5245,2015-01-01 02:31:56,bin9116,35,False -CTSPillarNetworkA,9117,9117,9117,1994-12-18,911.7000000001387,911.62445,2015-01-01 02:31:57,bin9117,75,False -CTSPillarNetworkA,9118,9118,9118,1994-12-19,911.8000000001388,911.7244,2015-01-01 02:31:58,bin9118,35,False -CTSPillarNetworkA,9119,9119,9119,1994-12-20,911.9000000001388,911.8244,2015-01-01 02:31:59,bin9119,75,False -CTSPillarNetworkA,9120,9120,9120,1994-12-21,912.0000000001388,911.9244,2015-01-01 02:32:00,bin9120,35,False -CTSPillarNetworkA,9121,9121,9121,1994-12-22,912.1000000001388,912.02435,2015-01-01 02:32:01,bin9121,75,False -CTSPillarNetworkA,9122,9122,9122,1994-12-23,912.2000000001389,912.1243,2015-01-01 02:32:02,bin9122,35,False -CTSPillarNetworkA,9123,9123,9123,1994-12-24,912.3000000001389,912.2243,2015-01-01 02:32:03,bin9123,75,False -CTSPillarNetworkA,9124,9124,9124,1994-12-25,912.4000000001389,912.3243,2015-01-01 02:32:04,bin9124,35,False -CTSPillarNetworkA,9125,9125,9125,1994-12-26,912.5000000001389,912.42426,2015-01-01 02:32:05,bin9125,75,False -CTSPillarNetworkA,9126,9126,9126,1994-12-27,912.600000000139,912.52423,2015-01-01 02:32:06,bin9126,35,False -CTSPillarNetworkA,9127,9127,9127,1994-12-28,912.700000000139,912.6242,2015-01-01 02:32:07,bin9127,75,False -CTSPillarNetworkA,9128,9128,9128,1994-12-29,912.800000000139,912.7242,2015-01-01 02:32:08,bin9128,35,False -CTSPillarNetworkA,9129,9129,9129,1994-12-30,912.900000000139,912.82416,2015-01-01 02:32:09,bin9129,75,False -CTSPillarNetworkA,9130,9130,9130,1994-12-31,913.000000000139,912.92413,2015-01-01 02:32:10,bin9130,35,False -CTSPillarNetworkA,9131,9131,9131,1995-01-01,913.1000000001391,913.0241,2015-01-01 02:32:11,bin9131,75,False -CTSPillarNetworkA,9132,9132,9132,1995-01-02,913.2000000001391,913.1241,2015-01-01 02:32:12,bin9132,35,False -CTSPillarNetworkA,9133,9133,9133,1995-01-03,913.3000000001391,913.22406,2015-01-01 02:32:13,bin9133,75,False -CTSPillarNetworkA,9134,9134,9134,1995-01-04,913.4000000001391,913.32404,2015-01-01 02:32:14,bin9134,35,False -CTSPillarNetworkA,9135,9135,9135,1995-01-05,913.5000000001392,913.424,2015-01-01 02:32:15,bin9135,75,False -CTSPillarNetworkA,9136,9136,9136,1995-01-06,913.6000000001392,913.524,2015-01-01 02:32:16,bin9136,35,False -CTSPillarNetworkA,9137,9137,9137,1995-01-07,913.7000000001392,913.62396,2015-01-01 02:32:17,bin9137,75,False -CTSPillarNetworkA,9138,9138,9138,1995-01-08,913.8000000001392,913.72394,2015-01-01 02:32:18,bin9138,35,False -CTSPillarNetworkA,9139,9139,9139,1995-01-09,913.9000000001392,913.8239,2015-01-01 02:32:19,bin9139,75,False -CTSPillarNetworkA,9140,9140,9140,1995-01-10,914.0000000001393,913.9239,2015-01-01 02:32:20,bin9140,35,False -CTSPillarNetworkA,9141,9141,9141,1995-01-11,914.1000000001393,914.02386,2015-01-01 02:32:21,bin9141,75,False -CTSPillarNetworkA,9142,9142,9142,1995-01-12,914.2000000001393,914.12384,2015-01-01 02:32:22,bin9142,35,False -CTSPillarNetworkA,9143,9143,9143,1995-01-13,914.3000000001393,914.2238,2015-01-01 02:32:23,bin9143,75,False -CTSPillarNetworkA,9144,9144,9144,1995-01-14,914.4000000001394,914.3238,2015-01-01 02:32:24,bin9144,35,False -CTSPillarNetworkA,9145,9145,9145,1995-01-15,914.5000000001394,914.42377,2015-01-01 02:32:25,bin9145,75,False -CTSPillarNetworkA,9146,9146,9146,1995-01-16,914.6000000001394,914.52374,2015-01-01 02:32:26,bin9146,35,False -CTSPillarNetworkA,9147,9147,9147,1995-01-17,914.7000000001394,914.6237,2015-01-01 02:32:27,bin9147,75,False -CTSPillarNetworkA,9148,9148,9148,1995-01-18,914.8000000001394,914.7237,2015-01-01 02:32:28,bin9148,35,False -CTSPillarNetworkA,9149,9149,9149,1995-01-19,914.9000000001395,914.82367,2015-01-01 02:32:29,bin9149,75,False -CTSPillarNetworkA,9150,9150,9150,1995-01-20,915.0000000001395,914.92365,2015-01-01 02:32:30,bin9150,35,False -CTSPillarNetworkA,9151,9151,9151,1995-01-21,915.1000000001395,915.0236,2015-01-01 02:32:31,bin9151,75,False -CTSPillarNetworkA,9152,9152,9152,1995-01-22,915.2000000001395,915.1236,2015-01-01 02:32:32,bin9152,35,False -CTSPillarNetworkA,9153,9153,9153,1995-01-23,915.3000000001396,915.2236,2015-01-01 02:32:33,bin9153,75,False -CTSPillarNetworkA,9154,9154,9154,1995-01-24,915.4000000001396,915.32355,2015-01-01 02:32:34,bin9154,35,False -CTSPillarNetworkA,9155,9155,9155,1995-01-25,915.5000000001396,915.4235,2015-01-01 02:32:35,bin9155,75,False -CTSPillarNetworkA,9156,9156,9156,1995-01-26,915.6000000001396,915.5235,2015-01-01 02:32:36,bin9156,35,False -CTSPillarNetworkA,9157,9157,9157,1995-01-27,915.7000000001397,915.6235,2015-01-01 02:32:37,bin9157,75,False -CTSPillarNetworkA,9158,9158,9158,1995-01-28,915.8000000001397,915.72345,2015-01-01 02:32:38,bin9158,35,False -CTSPillarNetworkA,9159,9159,9159,1995-01-29,915.9000000001397,915.8234,2015-01-01 02:32:39,bin9159,75,False -CTSPillarNetworkA,9160,9160,9160,1995-01-30,916.0000000001397,915.9234,2015-01-01 02:32:40,bin9160,35,False -CTSPillarNetworkA,9161,9161,9161,1995-01-31,916.1000000001397,916.0234,2015-01-01 02:32:41,bin9161,75,False -CTSPillarNetworkA,9162,9162,9162,1995-02-01,916.2000000001398,916.12335,2015-01-01 02:32:42,bin9162,35,False -CTSPillarNetworkA,9163,9163,9163,1995-02-02,916.3000000001398,916.2233,2015-01-01 02:32:43,bin9163,75,False -CTSPillarNetworkA,9164,9164,9164,1995-02-03,916.4000000001398,916.3233,2015-01-01 02:32:44,bin9164,35,False -CTSPillarNetworkA,9165,9165,9165,1995-02-04,916.5000000001398,916.4233,2015-01-01 02:32:45,bin9165,75,False -CTSPillarNetworkA,9166,9166,9166,1995-02-05,916.6000000001399,916.52325,2015-01-01 02:32:46,bin9166,35,False -CTSPillarNetworkA,9167,9167,9167,1995-02-06,916.7000000001399,916.6232,2015-01-01 02:32:47,bin9167,75,False -CTSPillarNetworkA,9168,9168,9168,1995-02-07,916.8000000001399,916.7232,2015-01-01 02:32:48,bin9168,35,False -CTSPillarNetworkA,9169,9169,9169,1995-02-08,916.9000000001399,916.8232,2015-01-01 02:32:49,bin9169,75,False -CTSPillarNetworkA,9170,9170,9170,1995-02-09,917.00000000014,916.92316,2015-01-01 02:32:50,bin9170,35,False -CTSPillarNetworkA,9171,9171,9171,1995-02-10,917.10000000014,917.02313,2015-01-01 02:32:51,bin9171,75,False -CTSPillarNetworkA,9172,9172,9172,1995-02-11,917.20000000014,917.1231,2015-01-01 02:32:52,bin9172,35,False -CTSPillarNetworkA,9173,9173,9173,1995-02-12,917.30000000014,917.2231,2015-01-01 02:32:53,bin9173,75,False -CTSPillarNetworkA,9174,9174,9174,1995-02-13,917.40000000014,917.32306,2015-01-01 02:32:54,bin9174,35,False -CTSPillarNetworkA,9175,9175,9175,1995-02-14,917.5000000001401,917.42303,2015-01-01 02:32:55,bin9175,75,False -CTSPillarNetworkA,9176,9176,9176,1995-02-15,917.6000000001401,917.523,2015-01-01 02:32:56,bin9176,35,False -CTSPillarNetworkA,9177,9177,9177,1995-02-16,917.7000000001401,917.623,2015-01-01 02:32:57,bin9177,75,False -CTSPillarNetworkA,9178,9178,9178,1995-02-17,917.8000000001401,917.72296,2015-01-01 02:32:58,bin9178,35,False -CTSPillarNetworkA,9179,9179,9179,1995-02-18,917.9000000001402,917.82294,2015-01-01 02:32:59,bin9179,75,False -CTSPillarNetworkA,9180,9180,9180,1995-02-19,918.0000000001402,917.9229,2015-01-01 02:33:00,bin9180,35,False -CTSPillarNetworkA,9181,9181,9181,1995-02-20,918.1000000001402,918.0229,2015-01-01 02:33:01,bin9181,75,False -CTSPillarNetworkA,9182,9182,9182,1995-02-21,918.2000000001402,918.12286,2015-01-01 02:33:02,bin9182,35,False -CTSPillarNetworkA,9183,9183,9183,1995-02-22,918.3000000001402,918.22284,2015-01-01 02:33:03,bin9183,75,False -CTSPillarNetworkA,9184,9184,9184,1995-02-23,918.4000000001403,918.3228,2015-01-01 02:33:04,bin9184,35,False -CTSPillarNetworkA,9185,9185,9185,1995-02-24,918.5000000001403,918.4228,2015-01-01 02:33:05,bin9185,75,False -CTSPillarNetworkA,9186,9186,9186,1995-02-25,918.6000000001403,918.52277,2015-01-01 02:33:06,bin9186,35,False -CTSPillarNetworkA,9187,9187,9187,1995-02-26,918.7000000001403,918.62274,2015-01-01 02:33:07,bin9187,75,False -CTSPillarNetworkA,9188,9188,9188,1995-02-27,918.8000000001404,918.7227,2015-01-01 02:33:08,bin9188,35,False -CTSPillarNetworkA,9189,9189,9189,1995-02-28,918.9000000001404,918.8227,2015-01-01 02:33:09,bin9189,75,False -CTSPillarNetworkA,9190,9190,9190,1995-03-01,919.0000000001404,918.92267,2015-01-01 02:33:10,bin9190,35,False -CTSPillarNetworkA,9191,9191,9191,1995-03-02,919.1000000001404,919.02264,2015-01-01 02:33:11,bin9191,75,False -CTSPillarNetworkA,9192,9192,9192,1995-03-03,919.2000000001404,919.1226,2015-01-01 02:33:12,bin9192,35,False -CTSPillarNetworkA,9193,9193,9193,1995-03-04,919.3000000001405,919.2226,2015-01-01 02:33:13,bin9193,75,False -CTSPillarNetworkA,9194,9194,9194,1995-03-05,919.4000000001405,919.3226,2015-01-01 02:33:14,bin9194,35,False -CTSPillarNetworkA,9195,9195,9195,1995-03-06,919.5000000001405,919.42255,2015-01-01 02:33:15,bin9195,75,False -CTSPillarNetworkA,9196,9196,9196,1995-03-07,919.6000000001405,919.5225,2015-01-01 02:33:16,bin9196,35,False -CTSPillarNetworkA,9197,9197,9197,1995-03-08,919.7000000001406,919.6225,2015-01-01 02:33:17,bin9197,75,False -CTSPillarNetworkA,9198,9198,9198,1995-03-09,919.8000000001406,919.7225,2015-01-01 02:33:18,bin9198,35,False -CTSPillarNetworkA,9199,9199,9199,1995-03-10,919.9000000001406,919.82245,2015-01-01 02:33:19,bin9199,75,False -CTSPillarNetworkA,9200,9200,9200,1995-03-11,920.0000000001406,919.9224,2015-01-01 02:33:20,bin9200,35,False -CTSPillarNetworkA,9201,9201,9201,1995-03-12,920.1000000001407,920.0224,2015-01-01 02:33:21,bin9201,75,False -CTSPillarNetworkA,9202,9202,9202,1995-03-13,920.2000000001407,920.1224,2015-01-01 02:33:22,bin9202,35,False -CTSPillarNetworkA,9203,9203,9203,1995-03-14,920.3000000001407,920.22235,2015-01-01 02:33:23,bin9203,75,False -CTSPillarNetworkA,9204,9204,9204,1995-03-15,920.4000000001407,920.3223,2015-01-01 02:33:24,bin9204,35,False -CTSPillarNetworkA,9205,9205,9205,1995-03-16,920.5000000001407,920.4223,2015-01-01 02:33:25,bin9205,75,False -CTSPillarNetworkA,9206,9206,9206,1995-03-17,920.6000000001408,920.5223,2015-01-01 02:33:26,bin9206,35,False -CTSPillarNetworkA,9207,9207,9207,1995-03-18,920.7000000001408,920.62225,2015-01-01 02:33:27,bin9207,75,False -CTSPillarNetworkA,9208,9208,9208,1995-03-19,920.8000000001408,920.7222,2015-01-01 02:33:28,bin9208,35,False -CTSPillarNetworkA,9209,9209,9209,1995-03-20,920.9000000001408,920.8222,2015-01-01 02:33:29,bin9209,75,False -CTSPillarNetworkA,9210,9210,9210,1995-03-21,921.0000000001409,920.9222,2015-01-01 02:33:30,bin9210,35,False -CTSPillarNetworkA,9211,9211,9211,1995-03-22,921.1000000001409,921.02216,2015-01-01 02:33:31,bin9211,75,False -CTSPillarNetworkA,9212,9212,9212,1995-03-23,921.2000000001409,921.12213,2015-01-01 02:33:32,bin9212,35,False -CTSPillarNetworkA,9213,9213,9213,1995-03-24,921.3000000001409,921.2221,2015-01-01 02:33:33,bin9213,75,False -CTSPillarNetworkA,9214,9214,9214,1995-03-25,921.400000000141,921.3221,2015-01-01 02:33:34,bin9214,35,False -CTSPillarNetworkA,9215,9215,9215,1995-03-26,921.500000000141,921.42206,2015-01-01 02:33:35,bin9215,75,False -CTSPillarNetworkA,9216,9216,9216,1995-03-27,921.600000000141,921.52203,2015-01-01 02:33:36,bin9216,35,False -CTSPillarNetworkA,9217,9217,9217,1995-03-28,921.700000000141,921.622,2015-01-01 02:33:37,bin9217,75,False -CTSPillarNetworkA,9218,9218,9218,1995-03-29,921.800000000141,921.722,2015-01-01 02:33:38,bin9218,35,False -CTSPillarNetworkA,9219,9219,9219,1995-03-30,921.9000000001411,921.82196,2015-01-01 02:33:39,bin9219,75,False -CTSPillarNetworkA,9220,9220,9220,1995-03-31,922.0000000001411,921.92194,2015-01-01 02:33:40,bin9220,35,False -CTSPillarNetworkA,9221,9221,9221,1995-04-01,922.1000000001411,922.0219,2015-01-01 02:33:41,bin9221,75,False -CTSPillarNetworkA,9222,9222,9222,1995-04-02,922.2000000001411,922.1219,2015-01-01 02:33:42,bin9222,35,False -CTSPillarNetworkA,9223,9223,9223,1995-04-03,922.3000000001412,922.22186,2015-01-01 02:33:43,bin9223,75,False -CTSPillarNetworkA,9224,9224,9224,1995-04-04,922.4000000001412,922.32184,2015-01-01 02:33:44,bin9224,35,False -CTSPillarNetworkA,9225,9225,9225,1995-04-05,922.5000000001412,922.4218,2015-01-01 02:33:45,bin9225,75,False -CTSPillarNetworkA,9226,9226,9226,1995-04-06,922.6000000001412,922.5218,2015-01-01 02:33:46,bin9226,35,False -CTSPillarNetworkA,9227,9227,9227,1995-04-07,922.7000000001412,922.62177,2015-01-01 02:33:47,bin9227,75,False -CTSPillarNetworkA,9228,9228,9228,1995-04-08,922.8000000001413,922.72174,2015-01-01 02:33:48,bin9228,35,False -CTSPillarNetworkA,9229,9229,9229,1995-04-09,922.9000000001413,922.8217,2015-01-01 02:33:49,bin9229,75,False -CTSPillarNetworkA,9230,9230,9230,1995-04-10,923.0000000001413,922.9217,2015-01-01 02:33:50,bin9230,35,False -CTSPillarNetworkA,9231,9231,9231,1995-04-11,923.1000000001413,923.02167,2015-01-01 02:33:51,bin9231,75,False -CTSPillarNetworkA,9232,9232,9232,1995-04-12,923.2000000001414,923.12164,2015-01-01 02:33:52,bin9232,35,False -CTSPillarNetworkA,9233,9233,9233,1995-04-13,923.3000000001414,923.2216,2015-01-01 02:33:53,bin9233,75,False -CTSPillarNetworkA,9234,9234,9234,1995-04-14,923.4000000001414,923.3216,2015-01-01 02:33:54,bin9234,35,False -CTSPillarNetworkA,9235,9235,9235,1995-04-15,923.5000000001414,923.4216,2015-01-01 02:33:55,bin9235,75,False -CTSPillarNetworkA,9236,9236,9236,1995-04-16,923.6000000001414,923.52155,2015-01-01 02:33:56,bin9236,35,False -CTSPillarNetworkA,9237,9237,9237,1995-04-17,923.7000000001415,923.6215,2015-01-01 02:33:57,bin9237,75,False -CTSPillarNetworkA,9238,9238,9238,1995-04-18,923.8000000001415,923.7215,2015-01-01 02:33:58,bin9238,35,False -CTSPillarNetworkA,9239,9239,9239,1995-04-19,923.9000000001415,923.8215,2015-01-01 02:33:59,bin9239,75,False -CTSPillarNetworkA,9240,9240,9240,1995-04-20,924.0000000001415,923.92145,2015-01-01 02:34:00,bin9240,35,False -CTSPillarNetworkA,9241,9241,9241,1995-04-21,924.1000000001416,924.0214,2015-01-01 02:34:01,bin9241,75,False -CTSPillarNetworkA,9242,9242,9242,1995-04-22,924.2000000001416,924.1214,2015-01-01 02:34:02,bin9242,35,False -CTSPillarNetworkA,9243,9243,9243,1995-04-23,924.3000000001416,924.2214,2015-01-01 02:34:03,bin9243,75,False -CTSPillarNetworkA,9244,9244,9244,1995-04-24,924.4000000001416,924.32135,2015-01-01 02:34:04,bin9244,35,False -CTSPillarNetworkA,9245,9245,9245,1995-04-25,924.5000000001417,924.4213,2015-01-01 02:34:05,bin9245,75,False -CTSPillarNetworkA,9246,9246,9246,1995-04-26,924.6000000001417,924.5213,2015-01-01 02:34:06,bin9246,35,False -CTSPillarNetworkA,9247,9247,9247,1995-04-27,924.7000000001417,924.6213,2015-01-01 02:34:07,bin9247,75,False -CTSPillarNetworkA,9248,9248,9248,1995-04-28,924.8000000001417,924.72125,2015-01-01 02:34:08,bin9248,35,False -CTSPillarNetworkA,9249,9249,9249,1995-04-29,924.9000000001417,924.8212,2015-01-01 02:34:09,bin9249,75,False -CTSPillarNetworkA,9250,9250,9250,1995-04-30,925.0000000001418,924.9212,2015-01-01 02:34:10,bin9250,35,False -CTSPillarNetworkA,9251,9251,9251,1995-05-01,925.1000000001418,925.0212,2015-01-01 02:34:11,bin9251,75,False -CTSPillarNetworkA,9252,9252,9252,1995-05-02,925.2000000001418,925.12115,2015-01-01 02:34:12,bin9252,35,False -CTSPillarNetworkA,9253,9253,9253,1995-05-03,925.3000000001418,925.2211,2015-01-01 02:34:13,bin9253,75,False -CTSPillarNetworkA,9254,9254,9254,1995-05-04,925.4000000001419,925.3211,2015-01-01 02:34:14,bin9254,35,False -CTSPillarNetworkA,9255,9255,9255,1995-05-05,925.5000000001419,925.4211,2015-01-01 02:34:15,bin9255,75,False -CTSPillarNetworkA,9256,9256,9256,1995-05-06,925.6000000001419,925.52106,2015-01-01 02:34:16,bin9256,35,False -CTSPillarNetworkA,9257,9257,9257,1995-05-07,925.7000000001419,925.62103,2015-01-01 02:34:17,bin9257,75,False -CTSPillarNetworkA,9258,9258,9258,1995-05-08,925.800000000142,925.721,2015-01-01 02:34:18,bin9258,35,False -CTSPillarNetworkA,9259,9259,9259,1995-05-09,925.900000000142,925.821,2015-01-01 02:34:19,bin9259,75,False -CTSPillarNetworkA,9260,9260,9260,1995-05-10,926.000000000142,925.92096,2015-01-01 02:34:20,bin9260,35,False -CTSPillarNetworkA,9261,9261,9261,1995-05-11,926.100000000142,926.02094,2015-01-01 02:34:21,bin9261,75,False -CTSPillarNetworkA,9262,9262,9262,1995-05-12,926.200000000142,926.1209,2015-01-01 02:34:22,bin9262,35,False -CTSPillarNetworkA,9263,9263,9263,1995-05-13,926.3000000001421,926.2209,2015-01-01 02:34:23,bin9263,75,False -CTSPillarNetworkA,9264,9264,9264,1995-05-14,926.4000000001421,926.32086,2015-01-01 02:34:24,bin9264,35,False -CTSPillarNetworkA,9265,9265,9265,1995-05-15,926.5000000001421,926.42084,2015-01-01 02:34:25,bin9265,75,False -CTSPillarNetworkA,9266,9266,9266,1995-05-16,926.6000000001421,926.5208,2015-01-01 02:34:26,bin9266,35,False -CTSPillarNetworkA,9267,9267,9267,1995-05-17,926.7000000001422,926.6208,2015-01-01 02:34:27,bin9267,75,False -CTSPillarNetworkA,9268,9268,9268,1995-05-18,926.8000000001422,926.72076,2015-01-01 02:34:28,bin9268,35,False -CTSPillarNetworkA,9269,9269,9269,1995-05-19,926.9000000001422,926.82074,2015-01-01 02:34:29,bin9269,75,False -CTSPillarNetworkA,9270,9270,9270,1995-05-20,927.0000000001422,926.9207,2015-01-01 02:34:30,bin9270,35,False -CTSPillarNetworkA,9271,9271,9271,1995-05-21,927.1000000001422,927.0207,2015-01-01 02:34:31,bin9271,75,False -CTSPillarNetworkA,9272,9272,9272,1995-05-22,927.2000000001423,927.12067,2015-01-01 02:34:32,bin9272,35,False -CTSPillarNetworkA,9273,9273,9273,1995-05-23,927.3000000001423,927.22064,2015-01-01 02:34:33,bin9273,75,False -CTSPillarNetworkA,9274,9274,9274,1995-05-24,927.4000000001423,927.3206,2015-01-01 02:34:34,bin9274,35,False -CTSPillarNetworkA,9275,9275,9275,1995-05-25,927.5000000001423,927.4206,2015-01-01 02:34:35,bin9275,75,False -CTSPillarNetworkA,9276,9276,9276,1995-05-26,927.6000000001424,927.52057,2015-01-01 02:34:36,bin9276,35,False -CTSPillarNetworkA,9277,9277,9277,1995-05-27,927.7000000001424,927.62054,2015-01-01 02:34:37,bin9277,75,False -CTSPillarNetworkA,9278,9278,9278,1995-05-28,927.8000000001424,927.7205,2015-01-01 02:34:38,bin9278,35,False -CTSPillarNetworkA,9279,9279,9279,1995-05-29,927.9000000001424,927.8205,2015-01-01 02:34:39,bin9279,75,False -CTSPillarNetworkA,9280,9280,9280,1995-05-30,928.0000000001424,927.9205,2015-01-01 02:34:40,bin9280,35,False -CTSPillarNetworkA,9281,9281,9281,1995-05-31,928.1000000001425,928.02045,2015-01-01 02:34:41,bin9281,75,False -CTSPillarNetworkA,9282,9282,9282,1995-06-01,928.2000000001425,928.1204,2015-01-01 02:34:42,bin9282,35,False -CTSPillarNetworkA,9283,9283,9283,1995-06-02,928.3000000001425,928.2204,2015-01-01 02:34:43,bin9283,75,False -CTSPillarNetworkA,9284,9284,9284,1995-06-03,928.4000000001425,928.3204,2015-01-01 02:34:44,bin9284,35,False -CTSPillarNetworkA,9285,9285,9285,1995-06-04,928.5000000001426,928.42035,2015-01-01 02:34:45,bin9285,75,False -CTSPillarNetworkA,9286,9286,9286,1995-06-05,928.6000000001426,928.5203,2015-01-01 02:34:46,bin9286,35,False -CTSPillarNetworkA,9287,9287,9287,1995-06-06,928.7000000001426,928.6203,2015-01-01 02:34:47,bin9287,75,False -CTSPillarNetworkA,9288,9288,9288,1995-06-07,928.8000000001426,928.7203,2015-01-01 02:34:48,bin9288,35,False -CTSPillarNetworkA,9289,9289,9289,1995-06-08,928.9000000001427,928.82025,2015-01-01 02:34:49,bin9289,75,False -CTSPillarNetworkA,9290,9290,9290,1995-06-09,929.0000000001427,928.9202,2015-01-01 02:34:50,bin9290,35,False -CTSPillarNetworkA,9291,9291,9291,1995-06-10,929.1000000001427,929.0202,2015-01-01 02:34:51,bin9291,75,False -CTSPillarNetworkA,9292,9292,9292,1995-06-11,929.2000000001427,929.1202,2015-01-01 02:34:52,bin9292,35,False -CTSPillarNetworkA,9293,9293,9293,1995-06-12,929.3000000001427,929.22015,2015-01-01 02:34:53,bin9293,75,False -CTSPillarNetworkA,9294,9294,9294,1995-06-13,929.4000000001428,929.3201,2015-01-01 02:34:54,bin9294,35,False -CTSPillarNetworkA,9295,9295,9295,1995-06-14,929.5000000001428,929.4201,2015-01-01 02:34:55,bin9295,75,False -CTSPillarNetworkA,9296,9296,9296,1995-06-15,929.6000000001428,929.5201,2015-01-01 02:34:56,bin9296,35,False -CTSPillarNetworkA,9297,9297,9297,1995-06-16,929.7000000001428,929.62006,2015-01-01 02:34:57,bin9297,75,False -CTSPillarNetworkA,9298,9298,9298,1995-06-17,929.8000000001429,929.72003,2015-01-01 02:34:58,bin9298,35,False -CTSPillarNetworkA,9299,9299,9299,1995-06-18,929.9000000001429,929.82,2015-01-01 02:34:59,bin9299,75,False -CTSPillarNetworkA,9300,9300,9300,1995-06-19,930.0000000001429,929.92,2015-01-01 02:35:00,bin9300,35,False -CTSPillarNetworkA,9301,9301,9301,1995-06-20,930.1000000001429,930.01996,2015-01-01 02:35:01,bin9301,75,False -CTSPillarNetworkA,9302,9302,9302,1995-06-21,930.200000000143,930.11993,2015-01-01 02:35:02,bin9302,35,False -CTSPillarNetworkA,9303,9303,9303,1995-06-22,930.300000000143,930.2199,2015-01-01 02:35:03,bin9303,75,False -CTSPillarNetworkA,9304,9304,9304,1995-06-23,930.400000000143,930.3199,2015-01-01 02:35:04,bin9304,35,False -CTSPillarNetworkA,9305,9305,9305,1995-06-24,930.500000000143,930.41986,2015-01-01 02:35:05,bin9305,75,False -CTSPillarNetworkA,9306,9306,9306,1995-06-25,930.600000000143,930.51984,2015-01-01 02:35:06,bin9306,35,False -CTSPillarNetworkA,9307,9307,9307,1995-06-26,930.7000000001431,930.6198,2015-01-01 02:35:07,bin9307,75,False -CTSPillarNetworkA,9308,9308,9308,1995-06-27,930.8000000001431,930.7198,2015-01-01 02:35:08,bin9308,35,False -CTSPillarNetworkA,9309,9309,9309,1995-06-28,930.9000000001431,930.81976,2015-01-01 02:35:09,bin9309,75,False -CTSPillarNetworkA,9310,9310,9310,1995-06-29,931.0000000001431,930.91974,2015-01-01 02:35:10,bin9310,35,False -CTSPillarNetworkA,9311,9311,9311,1995-06-30,931.1000000001432,931.0197,2015-01-01 02:35:11,bin9311,75,False -CTSPillarNetworkA,9312,9312,9312,1995-07-01,931.2000000001432,931.1197,2015-01-01 02:35:12,bin9312,35,False -CTSPillarNetworkA,9313,9313,9313,1995-07-02,931.3000000001432,931.21967,2015-01-01 02:35:13,bin9313,75,False -CTSPillarNetworkA,9314,9314,9314,1995-07-03,931.4000000001432,931.31964,2015-01-01 02:35:14,bin9314,35,False -CTSPillarNetworkA,9315,9315,9315,1995-07-04,931.5000000001432,931.4196,2015-01-01 02:35:15,bin9315,75,False -CTSPillarNetworkA,9316,9316,9316,1995-07-05,931.6000000001433,931.5196,2015-01-01 02:35:16,bin9316,35,False -CTSPillarNetworkA,9317,9317,9317,1995-07-06,931.7000000001433,931.61957,2015-01-01 02:35:17,bin9317,75,False -CTSPillarNetworkA,9318,9318,9318,1995-07-07,931.8000000001433,931.71954,2015-01-01 02:35:18,bin9318,35,False -CTSPillarNetworkA,9319,9319,9319,1995-07-08,931.9000000001433,931.8195,2015-01-01 02:35:19,bin9319,75,False -CTSPillarNetworkA,9320,9320,9320,1995-07-09,932.0000000001434,931.9195,2015-01-01 02:35:20,bin9320,35,False -CTSPillarNetworkA,9321,9321,9321,1995-07-10,932.1000000001434,932.0195,2015-01-01 02:35:21,bin9321,75,False -CTSPillarNetworkA,9322,9322,9322,1995-07-11,932.2000000001434,932.11945,2015-01-01 02:35:22,bin9322,35,False -CTSPillarNetworkA,9323,9323,9323,1995-07-12,932.3000000001434,932.2194,2015-01-01 02:35:23,bin9323,75,False -CTSPillarNetworkA,9324,9324,9324,1995-07-13,932.4000000001435,932.3194,2015-01-01 02:35:24,bin9324,35,False -CTSPillarNetworkA,9325,9325,9325,1995-07-14,932.5000000001435,932.4194,2015-01-01 02:35:25,bin9325,75,False -CTSPillarNetworkA,9326,9326,9326,1995-07-15,932.6000000001435,932.51935,2015-01-01 02:35:26,bin9326,35,False -CTSPillarNetworkA,9327,9327,9327,1995-07-16,932.7000000001435,932.6193,2015-01-01 02:35:27,bin9327,75,False -CTSPillarNetworkA,9328,9328,9328,1995-07-17,932.8000000001435,932.7193,2015-01-01 02:35:28,bin9328,35,False -CTSPillarNetworkA,9329,9329,9329,1995-07-18,932.9000000001436,932.8193,2015-01-01 02:35:29,bin9329,75,False -CTSPillarNetworkA,9330,9330,9330,1995-07-19,933.0000000001436,932.91925,2015-01-01 02:35:30,bin9330,35,False -CTSPillarNetworkA,9331,9331,9331,1995-07-20,933.1000000001436,933.0192,2015-01-01 02:35:31,bin9331,75,False -CTSPillarNetworkA,9332,9332,9332,1995-07-21,933.2000000001436,933.1192,2015-01-01 02:35:32,bin9332,35,False -CTSPillarNetworkA,9333,9333,9333,1995-07-22,933.3000000001437,933.2192,2015-01-01 02:35:33,bin9333,75,False -CTSPillarNetworkA,9334,9334,9334,1995-07-23,933.4000000001437,933.31915,2015-01-01 02:35:34,bin9334,35,False -CTSPillarNetworkA,9335,9335,9335,1995-07-24,933.5000000001437,933.4191,2015-01-01 02:35:35,bin9335,75,False -CTSPillarNetworkA,9336,9336,9336,1995-07-25,933.6000000001437,933.5191,2015-01-01 02:35:36,bin9336,35,False -CTSPillarNetworkA,9337,9337,9337,1995-07-26,933.7000000001437,933.6191,2015-01-01 02:35:37,bin9337,75,False -CTSPillarNetworkA,9338,9338,9338,1995-07-27,933.8000000001438,933.71906,2015-01-01 02:35:38,bin9338,35,False -CTSPillarNetworkA,9339,9339,9339,1995-07-28,933.9000000001438,933.81903,2015-01-01 02:35:39,bin9339,75,False -CTSPillarNetworkA,9340,9340,9340,1995-07-29,934.0000000001438,933.919,2015-01-01 02:35:40,bin9340,35,False -CTSPillarNetworkA,9341,9341,9341,1995-07-30,934.1000000001438,934.019,2015-01-01 02:35:41,bin9341,75,False -CTSPillarNetworkA,9342,9342,9342,1995-07-31,934.2000000001439,934.11896,2015-01-01 02:35:42,bin9342,35,False -CTSPillarNetworkA,9343,9343,9343,1995-08-01,934.3000000001439,934.21893,2015-01-01 02:35:43,bin9343,75,False -CTSPillarNetworkA,9344,9344,9344,1995-08-02,934.4000000001439,934.3189,2015-01-01 02:35:44,bin9344,35,False -CTSPillarNetworkA,9345,9345,9345,1995-08-03,934.5000000001439,934.4189,2015-01-01 02:35:45,bin9345,75,False -CTSPillarNetworkA,9346,9346,9346,1995-08-04,934.600000000144,934.51886,2015-01-01 02:35:46,bin9346,35,False -CTSPillarNetworkA,9347,9347,9347,1995-08-05,934.700000000144,934.61884,2015-01-01 02:35:47,bin9347,75,False -CTSPillarNetworkA,9348,9348,9348,1995-08-06,934.800000000144,934.7188,2015-01-01 02:35:48,bin9348,35,False -CTSPillarNetworkA,9349,9349,9349,1995-08-07,934.900000000144,934.8188,2015-01-01 02:35:49,bin9349,75,False -CTSPillarNetworkA,9350,9350,9350,1995-08-08,935.000000000144,934.91876,2015-01-01 02:35:50,bin9350,35,False -CTSPillarNetworkA,9351,9351,9351,1995-08-09,935.1000000001441,935.01874,2015-01-01 02:35:51,bin9351,75,False -CTSPillarNetworkA,9352,9352,9352,1995-08-10,935.2000000001441,935.1187,2015-01-01 02:35:52,bin9352,35,False -CTSPillarNetworkA,9353,9353,9353,1995-08-11,935.3000000001441,935.2187,2015-01-01 02:35:53,bin9353,75,False -CTSPillarNetworkA,9354,9354,9354,1995-08-12,935.4000000001441,935.31866,2015-01-01 02:35:54,bin9354,35,False -CTSPillarNetworkA,9355,9355,9355,1995-08-13,935.5000000001442,935.41864,2015-01-01 02:35:55,bin9355,75,False -CTSPillarNetworkA,9356,9356,9356,1995-08-14,935.6000000001442,935.5186,2015-01-01 02:35:56,bin9356,35,False -CTSPillarNetworkA,9357,9357,9357,1995-08-15,935.7000000001442,935.6186,2015-01-01 02:35:57,bin9357,75,False -CTSPillarNetworkA,9358,9358,9358,1995-08-16,935.8000000001442,935.71857,2015-01-01 02:35:58,bin9358,35,False -CTSPillarNetworkA,9359,9359,9359,1995-08-17,935.9000000001442,935.81854,2015-01-01 02:35:59,bin9359,75,False -CTSPillarNetworkA,9360,9360,9360,1995-08-18,936.0000000001443,935.9185,2015-01-01 02:36:00,bin9360,35,False -CTSPillarNetworkA,9361,9361,9361,1995-08-19,936.1000000001443,936.0185,2015-01-01 02:36:01,bin9361,75,False -CTSPillarNetworkA,9362,9362,9362,1995-08-20,936.2000000001443,936.11847,2015-01-01 02:36:02,bin9362,35,False -CTSPillarNetworkA,9363,9363,9363,1995-08-21,936.3000000001443,936.21844,2015-01-01 02:36:03,bin9363,75,False -CTSPillarNetworkA,9364,9364,9364,1995-08-22,936.4000000001444,936.3184,2015-01-01 02:36:04,bin9364,35,False -CTSPillarNetworkA,9365,9365,9365,1995-08-23,936.5000000001444,936.4184,2015-01-01 02:36:05,bin9365,75,False -CTSPillarNetworkA,9366,9366,9366,1995-08-24,936.6000000001444,936.5184,2015-01-01 02:36:06,bin9366,35,False -CTSPillarNetworkA,9367,9367,9367,1995-08-25,936.7000000001444,936.61835,2015-01-01 02:36:07,bin9367,75,False -CTSPillarNetworkA,9368,9368,9368,1995-08-26,936.8000000001445,936.7183,2015-01-01 02:36:08,bin9368,35,False -CTSPillarNetworkA,9369,9369,9369,1995-08-27,936.9000000001445,936.8183,2015-01-01 02:36:09,bin9369,75,False -CTSPillarNetworkA,9370,9370,9370,1995-08-28,937.0000000001445,936.9183,2015-01-01 02:36:10,bin9370,35,False -CTSPillarNetworkA,9371,9371,9371,1995-08-29,937.1000000001445,937.01825,2015-01-01 02:36:11,bin9371,75,False -CTSPillarNetworkA,9372,9372,9372,1995-08-30,937.2000000001445,937.1182,2015-01-01 02:36:12,bin9372,35,False -CTSPillarNetworkA,9373,9373,9373,1995-08-31,937.3000000001446,937.2182,2015-01-01 02:36:13,bin9373,75,False -CTSPillarNetworkA,9374,9374,9374,1995-09-01,937.4000000001446,937.3182,2015-01-01 02:36:14,bin9374,35,False -CTSPillarNetworkA,9375,9375,9375,1995-09-02,937.5000000001446,937.41815,2015-01-01 02:36:15,bin9375,75,False -CTSPillarNetworkA,9376,9376,9376,1995-09-03,937.6000000001446,937.5181,2015-01-01 02:36:16,bin9376,35,False -CTSPillarNetworkA,9377,9377,9377,1995-09-04,937.7000000001447,937.6181,2015-01-01 02:36:17,bin9377,75,False -CTSPillarNetworkA,9378,9378,9378,1995-09-05,937.8000000001447,937.7181,2015-01-01 02:36:18,bin9378,35,False -CTSPillarNetworkA,9379,9379,9379,1995-09-06,937.9000000001447,937.81805,2015-01-01 02:36:19,bin9379,75,False -CTSPillarNetworkA,9380,9380,9380,1995-09-07,938.0000000001447,937.918,2015-01-01 02:36:20,bin9380,35,False -CTSPillarNetworkA,9381,9381,9381,1995-09-08,938.1000000001447,938.018,2015-01-01 02:36:21,bin9381,75,False -CTSPillarNetworkA,9382,9382,9382,1995-09-09,938.2000000001448,938.118,2015-01-01 02:36:22,bin9382,35,False -CTSPillarNetworkA,9383,9383,9383,1995-09-10,938.3000000001448,938.21796,2015-01-01 02:36:23,bin9383,75,False -CTSPillarNetworkA,9384,9384,9384,1995-09-11,938.4000000001448,938.31793,2015-01-01 02:36:24,bin9384,35,False -CTSPillarNetworkA,9385,9385,9385,1995-09-12,938.5000000001448,938.4179,2015-01-01 02:36:25,bin9385,75,False -CTSPillarNetworkA,9386,9386,9386,1995-09-13,938.6000000001449,938.5179,2015-01-01 02:36:26,bin9386,35,False -CTSPillarNetworkA,9387,9387,9387,1995-09-14,938.7000000001449,938.61786,2015-01-01 02:36:27,bin9387,75,False -CTSPillarNetworkA,9388,9388,9388,1995-09-15,938.8000000001449,938.71783,2015-01-01 02:36:28,bin9388,35,False -CTSPillarNetworkA,9389,9389,9389,1995-09-16,938.9000000001449,938.8178,2015-01-01 02:36:29,bin9389,75,False -CTSPillarNetworkA,9390,9390,9390,1995-09-17,939.000000000145,938.9178,2015-01-01 02:36:30,bin9390,35,False -CTSPillarNetworkA,9391,9391,9391,1995-09-18,939.100000000145,939.01776,2015-01-01 02:36:31,bin9391,75,False -CTSPillarNetworkA,9392,9392,9392,1995-09-19,939.200000000145,939.11774,2015-01-01 02:36:32,bin9392,35,False -CTSPillarNetworkA,9393,9393,9393,1995-09-20,939.300000000145,939.2177,2015-01-01 02:36:33,bin9393,75,False -CTSPillarNetworkA,9394,9394,9394,1995-09-21,939.400000000145,939.3177,2015-01-01 02:36:34,bin9394,35,False -CTSPillarNetworkA,9395,9395,9395,1995-09-22,939.5000000001451,939.41766,2015-01-01 02:36:35,bin9395,75,False -CTSPillarNetworkA,9396,9396,9396,1995-09-23,939.6000000001451,939.51764,2015-01-01 02:36:36,bin9396,35,False -CTSPillarNetworkA,9397,9397,9397,1995-09-24,939.7000000001451,939.6176,2015-01-01 02:36:37,bin9397,75,False -CTSPillarNetworkA,9398,9398,9398,1995-09-25,939.8000000001451,939.7176,2015-01-01 02:36:38,bin9398,35,False -CTSPillarNetworkA,9399,9399,9399,1995-09-26,939.9000000001452,939.81757,2015-01-01 02:36:39,bin9399,75,False -CTSPillarNetworkA,9400,9400,9400,1995-09-27,940.0000000001452,939.91754,2015-01-01 02:36:40,bin9400,35,False -CTSPillarNetworkA,9401,9401,9401,1995-09-28,940.1000000001452,940.0175,2015-01-01 02:36:41,bin9401,75,False -CTSPillarNetworkA,9402,9402,9402,1995-09-29,940.2000000001452,940.1175,2015-01-01 02:36:42,bin9402,35,False -CTSPillarNetworkA,9403,9403,9403,1995-09-30,940.3000000001452,940.21747,2015-01-01 02:36:43,bin9403,75,False -CTSPillarNetworkA,9404,9404,9404,1995-10-01,940.4000000001453,940.31744,2015-01-01 02:36:44,bin9404,35,False -CTSPillarNetworkA,9405,9405,9405,1995-10-02,940.5000000001453,940.4174,2015-01-01 02:36:45,bin9405,75,False -CTSPillarNetworkA,9406,9406,9406,1995-10-03,940.6000000001453,940.5174,2015-01-01 02:36:46,bin9406,35,False -CTSPillarNetworkA,9407,9407,9407,1995-10-04,940.7000000001453,940.6174,2015-01-01 02:36:47,bin9407,75,False -CTSPillarNetworkA,9408,9408,9408,1995-10-05,940.8000000001454,940.71735,2015-01-01 02:36:48,bin9408,35,False -CTSPillarNetworkA,9409,9409,9409,1995-10-06,940.9000000001454,940.8173,2015-01-01 02:36:49,bin9409,75,False -CTSPillarNetworkA,9410,9410,9410,1995-10-07,941.0000000001454,940.9173,2015-01-01 02:36:50,bin9410,35,False -CTSPillarNetworkA,9411,9411,9411,1995-10-08,941.1000000001454,941.0173,2015-01-01 02:36:51,bin9411,75,False -CTSPillarNetworkA,9412,9412,9412,1995-10-09,941.2000000001455,941.11725,2015-01-01 02:36:52,bin9412,35,False -CTSPillarNetworkA,9413,9413,9413,1995-10-10,941.3000000001455,941.2172,2015-01-01 02:36:53,bin9413,75,False -CTSPillarNetworkA,9414,9414,9414,1995-10-11,941.4000000001455,941.3172,2015-01-01 02:36:54,bin9414,35,False -CTSPillarNetworkA,9415,9415,9415,1995-10-12,941.5000000001455,941.4172,2015-01-01 02:36:55,bin9415,75,False -CTSPillarNetworkA,9416,9416,9416,1995-10-13,941.6000000001455,941.51715,2015-01-01 02:36:56,bin9416,35,False -CTSPillarNetworkA,9417,9417,9417,1995-10-14,941.7000000001456,941.6171,2015-01-01 02:36:57,bin9417,75,False -CTSPillarNetworkA,9418,9418,9418,1995-10-15,941.8000000001456,941.7171,2015-01-01 02:36:58,bin9418,35,False -CTSPillarNetworkA,9419,9419,9419,1995-10-16,941.9000000001456,941.8171,2015-01-01 02:36:59,bin9419,75,False -CTSPillarNetworkA,9420,9420,9420,1995-10-17,942.0000000001456,941.91705,2015-01-01 02:37:00,bin9420,35,False -CTSPillarNetworkA,9421,9421,9421,1995-10-18,942.1000000001457,942.017,2015-01-01 02:37:01,bin9421,75,False -CTSPillarNetworkA,9422,9422,9422,1995-10-19,942.2000000001457,942.117,2015-01-01 02:37:02,bin9422,35,False -CTSPillarNetworkA,9423,9423,9423,1995-10-20,942.3000000001457,942.217,2015-01-01 02:37:03,bin9423,75,False -CTSPillarNetworkA,9424,9424,9424,1995-10-21,942.4000000001457,942.31696,2015-01-01 02:37:04,bin9424,35,False -CTSPillarNetworkA,9425,9425,9425,1995-10-22,942.5000000001457,942.41693,2015-01-01 02:37:05,bin9425,75,False -CTSPillarNetworkA,9426,9426,9426,1995-10-23,942.6000000001458,942.5169,2015-01-01 02:37:06,bin9426,35,False -CTSPillarNetworkA,9427,9427,9427,1995-10-24,942.7000000001458,942.6169,2015-01-01 02:37:07,bin9427,75,False -CTSPillarNetworkA,9428,9428,9428,1995-10-25,942.8000000001458,942.71686,2015-01-01 02:37:08,bin9428,35,False -CTSPillarNetworkA,9429,9429,9429,1995-10-26,942.9000000001458,942.81683,2015-01-01 02:37:09,bin9429,75,False -CTSPillarNetworkA,9430,9430,9430,1995-10-27,943.0000000001459,942.9168,2015-01-01 02:37:10,bin9430,35,False -CTSPillarNetworkA,9431,9431,9431,1995-10-28,943.1000000001459,943.0168,2015-01-01 02:37:11,bin9431,75,False -CTSPillarNetworkA,9432,9432,9432,1995-10-29,943.2000000001459,943.11676,2015-01-01 02:37:12,bin9432,35,False -CTSPillarNetworkA,9433,9433,9433,1995-10-30,943.3000000001459,943.21674,2015-01-01 02:37:13,bin9433,75,False -CTSPillarNetworkA,9434,9434,9434,1995-10-31,943.400000000146,943.3167,2015-01-01 02:37:14,bin9434,35,False -CTSPillarNetworkA,9435,9435,9435,1995-11-01,943.500000000146,943.4167,2015-01-01 02:37:15,bin9435,75,False -CTSPillarNetworkA,9436,9436,9436,1995-11-02,943.600000000146,943.51666,2015-01-01 02:37:16,bin9436,35,False -CTSPillarNetworkA,9437,9437,9437,1995-11-03,943.700000000146,943.61664,2015-01-01 02:37:17,bin9437,75,False -CTSPillarNetworkA,9438,9438,9438,1995-11-04,943.800000000146,943.7166,2015-01-01 02:37:18,bin9438,35,False -CTSPillarNetworkA,9439,9439,9439,1995-11-05,943.9000000001461,943.8166,2015-01-01 02:37:19,bin9439,75,False -CTSPillarNetworkA,9440,9440,9440,1995-11-06,944.0000000001461,943.91656,2015-01-01 02:37:20,bin9440,35,False -CTSPillarNetworkA,9441,9441,9441,1995-11-07,944.1000000001461,944.01654,2015-01-01 02:37:21,bin9441,75,False -CTSPillarNetworkA,9442,9442,9442,1995-11-08,944.2000000001461,944.1165,2015-01-01 02:37:22,bin9442,35,False -CTSPillarNetworkA,9443,9443,9443,1995-11-09,944.3000000001462,944.2165,2015-01-01 02:37:23,bin9443,75,False -CTSPillarNetworkA,9444,9444,9444,1995-11-10,944.4000000001462,944.31647,2015-01-01 02:37:24,bin9444,35,False -CTSPillarNetworkA,9445,9445,9445,1995-11-11,944.5000000001462,944.41644,2015-01-01 02:37:25,bin9445,75,False -CTSPillarNetworkA,9446,9446,9446,1995-11-12,944.6000000001462,944.5164,2015-01-01 02:37:26,bin9446,35,False -CTSPillarNetworkA,9447,9447,9447,1995-11-13,944.7000000001462,944.6164,2015-01-01 02:37:27,bin9447,75,False -CTSPillarNetworkA,9448,9448,9448,1995-11-14,944.8000000001463,944.7164,2015-01-01 02:37:28,bin9448,35,False -CTSPillarNetworkA,9449,9449,9449,1995-11-15,944.9000000001463,944.81635,2015-01-01 02:37:29,bin9449,75,False -CTSPillarNetworkA,9450,9450,9450,1995-11-16,945.0000000001463,944.9163,2015-01-01 02:37:30,bin9450,35,False -CTSPillarNetworkA,9451,9451,9451,1995-11-17,945.1000000001463,945.0163,2015-01-01 02:37:31,bin9451,75,False -CTSPillarNetworkA,9452,9452,9452,1995-11-18,945.2000000001464,945.1163,2015-01-01 02:37:32,bin9452,35,False -CTSPillarNetworkA,9453,9453,9453,1995-11-19,945.3000000001464,945.21625,2015-01-01 02:37:33,bin9453,75,False -CTSPillarNetworkA,9454,9454,9454,1995-11-20,945.4000000001464,945.3162,2015-01-01 02:37:34,bin9454,35,False -CTSPillarNetworkA,9455,9455,9455,1995-11-21,945.5000000001464,945.4162,2015-01-01 02:37:35,bin9455,75,False -CTSPillarNetworkA,9456,9456,9456,1995-11-22,945.6000000001465,945.5162,2015-01-01 02:37:36,bin9456,35,False -CTSPillarNetworkA,9457,9457,9457,1995-11-23,945.7000000001465,945.61615,2015-01-01 02:37:37,bin9457,75,False -CTSPillarNetworkA,9458,9458,9458,1995-11-24,945.8000000001465,945.7161,2015-01-01 02:37:38,bin9458,35,False -CTSPillarNetworkA,9459,9459,9459,1995-11-25,945.9000000001465,945.8161,2015-01-01 02:37:39,bin9459,75,False -CTSPillarNetworkA,9460,9460,9460,1995-11-26,946.0000000001465,945.9161,2015-01-01 02:37:40,bin9460,35,False -CTSPillarNetworkA,9461,9461,9461,1995-11-27,946.1000000001466,946.01605,2015-01-01 02:37:41,bin9461,75,False -CTSPillarNetworkA,9462,9462,9462,1995-11-28,946.2000000001466,946.116,2015-01-01 02:37:42,bin9462,35,False -CTSPillarNetworkA,9463,9463,9463,1995-11-29,946.3000000001466,946.216,2015-01-01 02:37:43,bin9463,75,False -CTSPillarNetworkA,9464,9464,9464,1995-11-30,946.4000000001466,946.316,2015-01-01 02:37:44,bin9464,35,False -CTSPillarNetworkA,9465,9465,9465,1995-12-01,946.5000000001467,946.41595,2015-01-01 02:37:45,bin9465,75,False -CTSPillarNetworkA,9466,9466,9466,1995-12-02,946.6000000001467,946.5159,2015-01-01 02:37:46,bin9466,35,False -CTSPillarNetworkA,9467,9467,9467,1995-12-03,946.7000000001467,946.6159,2015-01-01 02:37:47,bin9467,75,False -CTSPillarNetworkA,9468,9468,9468,1995-12-04,946.8000000001467,946.7159,2015-01-01 02:37:48,bin9468,35,False -CTSPillarNetworkA,9469,9469,9469,1995-12-05,946.9000000001467,946.81586,2015-01-01 02:37:49,bin9469,75,False -CTSPillarNetworkA,9470,9470,9470,1995-12-06,947.0000000001468,946.91583,2015-01-01 02:37:50,bin9470,35,False -CTSPillarNetworkA,9471,9471,9471,1995-12-07,947.1000000001468,947.0158,2015-01-01 02:37:51,bin9471,75,False -CTSPillarNetworkA,9472,9472,9472,1995-12-08,947.2000000001468,947.1158,2015-01-01 02:37:52,bin9472,35,False -CTSPillarNetworkA,9473,9473,9473,1995-12-09,947.3000000001468,947.21576,2015-01-01 02:37:53,bin9473,75,False -CTSPillarNetworkA,9474,9474,9474,1995-12-10,947.4000000001469,947.31573,2015-01-01 02:37:54,bin9474,35,False -CTSPillarNetworkA,9475,9475,9475,1995-12-11,947.5000000001469,947.4157,2015-01-01 02:37:55,bin9475,75,False -CTSPillarNetworkA,9476,9476,9476,1995-12-12,947.6000000001469,947.5157,2015-01-01 02:37:56,bin9476,35,False -CTSPillarNetworkA,9477,9477,9477,1995-12-13,947.7000000001469,947.61566,2015-01-01 02:37:57,bin9477,75,False -CTSPillarNetworkA,9478,9478,9478,1995-12-14,947.800000000147,947.71564,2015-01-01 02:37:58,bin9478,35,False -CTSPillarNetworkA,9479,9479,9479,1995-12-15,947.900000000147,947.8156,2015-01-01 02:37:59,bin9479,75,False -CTSPillarNetworkA,9480,9480,9480,1995-12-16,948.000000000147,947.9156,2015-01-01 02:38:00,bin9480,35,False -CTSPillarNetworkA,9481,9481,9481,1995-12-17,948.100000000147,948.01556,2015-01-01 02:38:01,bin9481,75,False -CTSPillarNetworkA,9482,9482,9482,1995-12-18,948.200000000147,948.11554,2015-01-01 02:38:02,bin9482,35,False -CTSPillarNetworkA,9483,9483,9483,1995-12-19,948.3000000001471,948.2155,2015-01-01 02:38:03,bin9483,75,False -CTSPillarNetworkA,9484,9484,9484,1995-12-20,948.4000000001471,948.3155,2015-01-01 02:38:04,bin9484,35,False -CTSPillarNetworkA,9485,9485,9485,1995-12-21,948.5000000001471,948.41547,2015-01-01 02:38:05,bin9485,75,False -CTSPillarNetworkA,9486,9486,9486,1995-12-22,948.6000000001471,948.51544,2015-01-01 02:38:06,bin9486,35,False -CTSPillarNetworkA,9487,9487,9487,1995-12-23,948.7000000001472,948.6154,2015-01-01 02:38:07,bin9487,75,False -CTSPillarNetworkA,9488,9488,9488,1995-12-24,948.8000000001472,948.7154,2015-01-01 02:38:08,bin9488,35,False -CTSPillarNetworkA,9489,9489,9489,1995-12-25,948.9000000001472,948.81537,2015-01-01 02:38:09,bin9489,75,False -CTSPillarNetworkA,9490,9490,9490,1995-12-26,949.0000000001472,948.91534,2015-01-01 02:38:10,bin9490,35,False -CTSPillarNetworkA,9491,9491,9491,1995-12-27,949.1000000001472,949.0153,2015-01-01 02:38:11,bin9491,75,False -CTSPillarNetworkA,9492,9492,9492,1995-12-28,949.2000000001473,949.1153,2015-01-01 02:38:12,bin9492,35,False -CTSPillarNetworkA,9493,9493,9493,1995-12-29,949.3000000001473,949.2153,2015-01-01 02:38:13,bin9493,75,False -CTSPillarNetworkA,9494,9494,9494,1995-12-30,949.4000000001473,949.31525,2015-01-01 02:38:14,bin9494,35,False -CTSPillarNetworkA,9495,9495,9495,1995-12-31,949.5000000001473,949.4152,2015-01-01 02:38:15,bin9495,75,False -CTSPillarNetworkA,9496,9496,9496,1996-01-01,949.6000000001474,949.5152,2015-01-01 02:38:16,bin9496,35,False -CTSPillarNetworkA,9497,9497,9497,1996-01-02,949.7000000001474,949.6152,2015-01-01 02:38:17,bin9497,75,False -CTSPillarNetworkA,9498,9498,9498,1996-01-03,949.8000000001474,949.71515,2015-01-01 02:38:18,bin9498,35,False -CTSPillarNetworkA,9499,9499,9499,1996-01-04,949.9000000001474,949.8151,2015-01-01 02:38:19,bin9499,75,False -CTSPillarNetworkA,9500,9500,9500,1996-01-05,950.0000000001475,949.9151,2015-01-01 02:38:20,bin9500,35,False -CTSPillarNetworkA,9501,9501,9501,1996-01-06,950.1000000001475,950.0151,2015-01-01 02:38:21,bin9501,75,False -CTSPillarNetworkA,9502,9502,9502,1996-01-07,950.2000000001475,950.11505,2015-01-01 02:38:22,bin9502,35,False -CTSPillarNetworkA,9503,9503,9503,1996-01-08,950.3000000001475,950.215,2015-01-01 02:38:23,bin9503,75,False -CTSPillarNetworkA,9504,9504,9504,1996-01-09,950.4000000001475,950.315,2015-01-01 02:38:24,bin9504,35,False -CTSPillarNetworkA,9505,9505,9505,1996-01-10,950.5000000001476,950.415,2015-01-01 02:38:25,bin9505,75,False -CTSPillarNetworkA,9506,9506,9506,1996-01-11,950.6000000001476,950.51495,2015-01-01 02:38:26,bin9506,35,False -CTSPillarNetworkA,9507,9507,9507,1996-01-12,950.7000000001476,950.6149,2015-01-01 02:38:27,bin9507,75,False -CTSPillarNetworkA,9508,9508,9508,1996-01-13,950.8000000001476,950.7149,2015-01-01 02:38:28,bin9508,35,False -CTSPillarNetworkA,9509,9509,9509,1996-01-14,950.9000000001477,950.8149,2015-01-01 02:38:29,bin9509,75,False -CTSPillarNetworkA,9510,9510,9510,1996-01-15,951.0000000001477,950.91486,2015-01-01 02:38:30,bin9510,35,False -CTSPillarNetworkA,9511,9511,9511,1996-01-16,951.1000000001477,951.01483,2015-01-01 02:38:31,bin9511,75,False -CTSPillarNetworkA,9512,9512,9512,1996-01-17,951.2000000001477,951.1148,2015-01-01 02:38:32,bin9512,35,False -CTSPillarNetworkA,9513,9513,9513,1996-01-18,951.3000000001477,951.2148,2015-01-01 02:38:33,bin9513,75,False -CTSPillarNetworkA,9514,9514,9514,1996-01-19,951.4000000001478,951.31476,2015-01-01 02:38:34,bin9514,35,False -CTSPillarNetworkA,9515,9515,9515,1996-01-20,951.5000000001478,951.41473,2015-01-01 02:38:35,bin9515,75,False -CTSPillarNetworkA,9516,9516,9516,1996-01-21,951.6000000001478,951.5147,2015-01-01 02:38:36,bin9516,35,False -CTSPillarNetworkA,9517,9517,9517,1996-01-22,951.7000000001478,951.6147,2015-01-01 02:38:37,bin9517,75,False -CTSPillarNetworkA,9518,9518,9518,1996-01-23,951.8000000001479,951.71466,2015-01-01 02:38:38,bin9518,35,False -CTSPillarNetworkA,9519,9519,9519,1996-01-24,951.9000000001479,951.81464,2015-01-01 02:38:39,bin9519,75,False -CTSPillarNetworkA,9520,9520,9520,1996-01-25,952.0000000001479,951.9146,2015-01-01 02:38:40,bin9520,35,False -CTSPillarNetworkA,9521,9521,9521,1996-01-26,952.1000000001479,952.0146,2015-01-01 02:38:41,bin9521,75,False -CTSPillarNetworkA,9522,9522,9522,1996-01-27,952.200000000148,952.11456,2015-01-01 02:38:42,bin9522,35,False -CTSPillarNetworkA,9523,9523,9523,1996-01-28,952.300000000148,952.21454,2015-01-01 02:38:43,bin9523,75,False -CTSPillarNetworkA,9524,9524,9524,1996-01-29,952.400000000148,952.3145,2015-01-01 02:38:44,bin9524,35,False -CTSPillarNetworkA,9525,9525,9525,1996-01-30,952.500000000148,952.4145,2015-01-01 02:38:45,bin9525,75,False -CTSPillarNetworkA,9526,9526,9526,1996-01-31,952.600000000148,952.51447,2015-01-01 02:38:46,bin9526,35,False -CTSPillarNetworkA,9527,9527,9527,1996-02-01,952.7000000001481,952.61444,2015-01-01 02:38:47,bin9527,75,False -CTSPillarNetworkA,9528,9528,9528,1996-02-02,952.8000000001481,952.7144,2015-01-01 02:38:48,bin9528,35,False -CTSPillarNetworkA,9529,9529,9529,1996-02-03,952.9000000001481,952.8144,2015-01-01 02:38:49,bin9529,75,False -CTSPillarNetworkA,9530,9530,9530,1996-02-04,953.0000000001481,952.91437,2015-01-01 02:38:50,bin9530,35,False -CTSPillarNetworkA,9531,9531,9531,1996-02-05,953.1000000001482,953.01434,2015-01-01 02:38:51,bin9531,75,False -CTSPillarNetworkA,9532,9532,9532,1996-02-06,953.2000000001482,953.1143,2015-01-01 02:38:52,bin9532,35,False -CTSPillarNetworkA,9533,9533,9533,1996-02-07,953.3000000001482,953.2143,2015-01-01 02:38:53,bin9533,75,False -CTSPillarNetworkA,9534,9534,9534,1996-02-08,953.4000000001482,953.3143,2015-01-01 02:38:54,bin9534,35,False -CTSPillarNetworkA,9535,9535,9535,1996-02-09,953.5000000001482,953.41425,2015-01-01 02:38:55,bin9535,75,False -CTSPillarNetworkA,9536,9536,9536,1996-02-10,953.6000000001483,953.5142,2015-01-01 02:38:56,bin9536,35,False -CTSPillarNetworkA,9537,9537,9537,1996-02-11,953.7000000001483,953.6142,2015-01-01 02:38:57,bin9537,75,False -CTSPillarNetworkA,9538,9538,9538,1996-02-12,953.8000000001483,953.7142,2015-01-01 02:38:58,bin9538,35,False -CTSPillarNetworkA,9539,9539,9539,1996-02-13,953.9000000001483,953.81415,2015-01-01 02:38:59,bin9539,75,False -CTSPillarNetworkA,9540,9540,9540,1996-02-14,954.0000000001484,953.9141,2015-01-01 02:39:00,bin9540,35,False -CTSPillarNetworkA,9541,9541,9541,1996-02-15,954.1000000001484,954.0141,2015-01-01 02:39:01,bin9541,75,False -CTSPillarNetworkA,9542,9542,9542,1996-02-16,954.2000000001484,954.1141,2015-01-01 02:39:02,bin9542,35,False -CTSPillarNetworkA,9543,9543,9543,1996-02-17,954.3000000001484,954.21405,2015-01-01 02:39:03,bin9543,75,False -CTSPillarNetworkA,9544,9544,9544,1996-02-18,954.4000000001485,954.314,2015-01-01 02:39:04,bin9544,35,False -CTSPillarNetworkA,9545,9545,9545,1996-02-19,954.5000000001485,954.414,2015-01-01 02:39:05,bin9545,75,False -CTSPillarNetworkA,9546,9546,9546,1996-02-20,954.6000000001485,954.514,2015-01-01 02:39:06,bin9546,35,False -CTSPillarNetworkA,9547,9547,9547,1996-02-21,954.7000000001485,954.61395,2015-01-01 02:39:07,bin9547,75,False -CTSPillarNetworkA,9548,9548,9548,1996-02-22,954.8000000001485,954.7139,2015-01-01 02:39:08,bin9548,35,False -CTSPillarNetworkA,9549,9549,9549,1996-02-23,954.9000000001486,954.8139,2015-01-01 02:39:09,bin9549,75,False -CTSPillarNetworkA,9550,9550,9550,1996-02-24,955.0000000001486,954.9139,2015-01-01 02:39:10,bin9550,35,False -CTSPillarNetworkA,9551,9551,9551,1996-02-25,955.1000000001486,955.01385,2015-01-01 02:39:11,bin9551,75,False -CTSPillarNetworkA,9552,9552,9552,1996-02-26,955.2000000001486,955.11383,2015-01-01 02:39:12,bin9552,35,False -CTSPillarNetworkA,9553,9553,9553,1996-02-27,955.3000000001487,955.2138,2015-01-01 02:39:13,bin9553,75,False -CTSPillarNetworkA,9554,9554,9554,1996-02-28,955.4000000001487,955.3138,2015-01-01 02:39:14,bin9554,35,False -CTSPillarNetworkA,9555,9555,9555,1996-02-29,955.5000000001487,955.41376,2015-01-01 02:39:15,bin9555,75,False -CTSPillarNetworkA,9556,9556,9556,1996-03-01,955.6000000001487,955.51373,2015-01-01 02:39:16,bin9556,35,False -CTSPillarNetworkA,9557,9557,9557,1996-03-02,955.7000000001487,955.6137,2015-01-01 02:39:17,bin9557,75,False -CTSPillarNetworkA,9558,9558,9558,1996-03-03,955.8000000001488,955.7137,2015-01-01 02:39:18,bin9558,35,False -CTSPillarNetworkA,9559,9559,9559,1996-03-04,955.9000000001488,955.81366,2015-01-01 02:39:19,bin9559,75,False -CTSPillarNetworkA,9560,9560,9560,1996-03-05,956.0000000001488,955.91364,2015-01-01 02:39:20,bin9560,35,False -CTSPillarNetworkA,9561,9561,9561,1996-03-06,956.1000000001488,956.0136,2015-01-01 02:39:21,bin9561,75,False -CTSPillarNetworkA,9562,9562,9562,1996-03-07,956.2000000001489,956.1136,2015-01-01 02:39:22,bin9562,35,False -CTSPillarNetworkA,9563,9563,9563,1996-03-08,956.3000000001489,956.21356,2015-01-01 02:39:23,bin9563,75,False -CTSPillarNetworkA,9564,9564,9564,1996-03-09,956.4000000001489,956.31354,2015-01-01 02:39:24,bin9564,35,False -CTSPillarNetworkA,9565,9565,9565,1996-03-10,956.5000000001489,956.4135,2015-01-01 02:39:25,bin9565,75,False -CTSPillarNetworkA,9566,9566,9566,1996-03-11,956.600000000149,956.5135,2015-01-01 02:39:26,bin9566,35,False -CTSPillarNetworkA,9567,9567,9567,1996-03-12,956.700000000149,956.61346,2015-01-01 02:39:27,bin9567,75,False -CTSPillarNetworkA,9568,9568,9568,1996-03-13,956.800000000149,956.71344,2015-01-01 02:39:28,bin9568,35,False -CTSPillarNetworkA,9569,9569,9569,1996-03-14,956.900000000149,956.8134,2015-01-01 02:39:29,bin9569,75,False -CTSPillarNetworkA,9570,9570,9570,1996-03-15,957.000000000149,956.9134,2015-01-01 02:39:30,bin9570,35,False -CTSPillarNetworkA,9571,9571,9571,1996-03-16,957.1000000001491,957.01337,2015-01-01 02:39:31,bin9571,75,False -CTSPillarNetworkA,9572,9572,9572,1996-03-17,957.2000000001491,957.11334,2015-01-01 02:39:32,bin9572,35,False -CTSPillarNetworkA,9573,9573,9573,1996-03-18,957.3000000001491,957.2133,2015-01-01 02:39:33,bin9573,75,False -CTSPillarNetworkA,9574,9574,9574,1996-03-19,957.4000000001491,957.3133,2015-01-01 02:39:34,bin9574,35,False -CTSPillarNetworkA,9575,9575,9575,1996-03-20,957.5000000001492,957.41327,2015-01-01 02:39:35,bin9575,75,False -CTSPillarNetworkA,9576,9576,9576,1996-03-21,957.6000000001492,957.51324,2015-01-01 02:39:36,bin9576,35,False -CTSPillarNetworkA,9577,9577,9577,1996-03-22,957.7000000001492,957.6132,2015-01-01 02:39:37,bin9577,75,False -CTSPillarNetworkA,9578,9578,9578,1996-03-23,957.8000000001492,957.7132,2015-01-01 02:39:38,bin9578,35,False -CTSPillarNetworkA,9579,9579,9579,1996-03-24,957.9000000001492,957.8132,2015-01-01 02:39:39,bin9579,75,False -CTSPillarNetworkA,9580,9580,9580,1996-03-25,958.0000000001493,957.91315,2015-01-01 02:39:40,bin9580,35,False -CTSPillarNetworkA,9581,9581,9581,1996-03-26,958.1000000001493,958.0131,2015-01-01 02:39:41,bin9581,75,False -CTSPillarNetworkA,9582,9582,9582,1996-03-27,958.2000000001493,958.1131,2015-01-01 02:39:42,bin9582,35,False -CTSPillarNetworkA,9583,9583,9583,1996-03-28,958.3000000001493,958.2131,2015-01-01 02:39:43,bin9583,75,False -CTSPillarNetworkA,9584,9584,9584,1996-03-29,958.4000000001494,958.31305,2015-01-01 02:39:44,bin9584,35,False -CTSPillarNetworkA,9585,9585,9585,1996-03-30,958.5000000001494,958.413,2015-01-01 02:39:45,bin9585,75,False -CTSPillarNetworkA,9586,9586,9586,1996-03-31,958.6000000001494,958.513,2015-01-01 02:39:46,bin9586,35,False -CTSPillarNetworkA,9587,9587,9587,1996-04-01,958.7000000001494,958.613,2015-01-01 02:39:47,bin9587,75,False -CTSPillarNetworkA,9588,9588,9588,1996-04-02,958.8000000001495,958.71295,2015-01-01 02:39:48,bin9588,35,False -CTSPillarNetworkA,9589,9589,9589,1996-04-03,958.9000000001495,958.8129,2015-01-01 02:39:49,bin9589,75,False -CTSPillarNetworkA,9590,9590,9590,1996-04-04,959.0000000001495,958.9129,2015-01-01 02:39:50,bin9590,35,False -CTSPillarNetworkA,9591,9591,9591,1996-04-05,959.1000000001495,959.0129,2015-01-01 02:39:51,bin9591,75,False -CTSPillarNetworkA,9592,9592,9592,1996-04-06,959.2000000001495,959.11285,2015-01-01 02:39:52,bin9592,35,False -CTSPillarNetworkA,9593,9593,9593,1996-04-07,959.3000000001496,959.2128,2015-01-01 02:39:53,bin9593,75,False -CTSPillarNetworkA,9594,9594,9594,1996-04-08,959.4000000001496,959.3128,2015-01-01 02:39:54,bin9594,35,False -CTSPillarNetworkA,9595,9595,9595,1996-04-09,959.5000000001496,959.4128,2015-01-01 02:39:55,bin9595,75,False -CTSPillarNetworkA,9596,9596,9596,1996-04-10,959.6000000001496,959.51276,2015-01-01 02:39:56,bin9596,35,False -CTSPillarNetworkA,9597,9597,9597,1996-04-11,959.7000000001497,959.61273,2015-01-01 02:39:57,bin9597,75,False -CTSPillarNetworkA,9598,9598,9598,1996-04-12,959.8000000001497,959.7127,2015-01-01 02:39:58,bin9598,35,False -CTSPillarNetworkA,9599,9599,9599,1996-04-13,959.9000000001497,959.8127,2015-01-01 02:39:59,bin9599,75,False -CTSPillarNetworkA,9600,9600,9600,1996-04-14,960.0000000001497,959.91266,2015-01-01 02:40:00,bin9600,35,False -CTSPillarNetworkA,9601,9601,9601,1996-04-15,960.1000000001497,960.01263,2015-01-01 02:40:01,bin9601,75,False -CTSPillarNetworkA,9602,9602,9602,1996-04-16,960.2000000001498,960.1126,2015-01-01 02:40:02,bin9602,35,False -CTSPillarNetworkA,9603,9603,9603,1996-04-17,960.3000000001498,960.2126,2015-01-01 02:40:03,bin9603,75,False -CTSPillarNetworkA,9604,9604,9604,1996-04-18,960.4000000001498,960.31256,2015-01-01 02:40:04,bin9604,35,False -CTSPillarNetworkA,9605,9605,9605,1996-04-19,960.5000000001498,960.41254,2015-01-01 02:40:05,bin9605,75,False -CTSPillarNetworkA,9606,9606,9606,1996-04-20,960.6000000001499,960.5125,2015-01-01 02:40:06,bin9606,35,False -CTSPillarNetworkA,9607,9607,9607,1996-04-21,960.7000000001499,960.6125,2015-01-01 02:40:07,bin9607,75,False -CTSPillarNetworkA,9608,9608,9608,1996-04-22,960.8000000001499,960.71246,2015-01-01 02:40:08,bin9608,35,False -CTSPillarNetworkA,9609,9609,9609,1996-04-23,960.9000000001499,960.81244,2015-01-01 02:40:09,bin9609,75,False -CTSPillarNetworkA,9610,9610,9610,1996-04-24,961.00000000015,960.9124,2015-01-01 02:40:10,bin9610,35,False -CTSPillarNetworkA,9611,9611,9611,1996-04-25,961.10000000015,961.0124,2015-01-01 02:40:11,bin9611,75,False -CTSPillarNetworkA,9612,9612,9612,1996-04-26,961.20000000015,961.11237,2015-01-01 02:40:12,bin9612,35,False -CTSPillarNetworkA,9613,9613,9613,1996-04-27,961.30000000015,961.21234,2015-01-01 02:40:13,bin9613,75,False -CTSPillarNetworkA,9614,9614,9614,1996-04-28,961.40000000015,961.3123,2015-01-01 02:40:14,bin9614,35,False -CTSPillarNetworkA,9615,9615,9615,1996-04-29,961.5000000001501,961.4123,2015-01-01 02:40:15,bin9615,75,False -CTSPillarNetworkA,9616,9616,9616,1996-04-30,961.6000000001501,961.51227,2015-01-01 02:40:16,bin9616,35,False -CTSPillarNetworkA,9617,9617,9617,1996-05-01,961.7000000001501,961.61224,2015-01-01 02:40:17,bin9617,75,False -CTSPillarNetworkA,9618,9618,9618,1996-05-02,961.8000000001501,961.7122,2015-01-01 02:40:18,bin9618,35,False -CTSPillarNetworkA,9619,9619,9619,1996-05-03,961.9000000001502,961.8122,2015-01-01 02:40:19,bin9619,75,False -CTSPillarNetworkA,9620,9620,9620,1996-05-04,962.0000000001502,961.9122,2015-01-01 02:40:20,bin9620,35,False -CTSPillarNetworkA,9621,9621,9621,1996-05-05,962.1000000001502,962.01215,2015-01-01 02:40:21,bin9621,75,False -CTSPillarNetworkA,9622,9622,9622,1996-05-06,962.2000000001502,962.1121,2015-01-01 02:40:22,bin9622,35,False -CTSPillarNetworkA,9623,9623,9623,1996-05-07,962.3000000001502,962.2121,2015-01-01 02:40:23,bin9623,75,False -CTSPillarNetworkA,9624,9624,9624,1996-05-08,962.4000000001503,962.3121,2015-01-01 02:40:24,bin9624,35,False -CTSPillarNetworkA,9625,9625,9625,1996-05-09,962.5000000001503,962.41205,2015-01-01 02:40:25,bin9625,75,False -CTSPillarNetworkA,9626,9626,9626,1996-05-10,962.6000000001503,962.512,2015-01-01 02:40:26,bin9626,35,False -CTSPillarNetworkA,9627,9627,9627,1996-05-11,962.7000000001503,962.612,2015-01-01 02:40:27,bin9627,75,False -CTSPillarNetworkA,9628,9628,9628,1996-05-12,962.8000000001504,962.712,2015-01-01 02:40:28,bin9628,35,False -CTSPillarNetworkA,9629,9629,9629,1996-05-13,962.9000000001504,962.81195,2015-01-01 02:40:29,bin9629,75,False -CTSPillarNetworkA,9630,9630,9630,1996-05-14,963.0000000001504,962.9119,2015-01-01 02:40:30,bin9630,35,False -CTSPillarNetworkA,9631,9631,9631,1996-05-15,963.1000000001504,963.0119,2015-01-01 02:40:31,bin9631,75,False -CTSPillarNetworkA,9632,9632,9632,1996-05-16,963.2000000001505,963.1119,2015-01-01 02:40:32,bin9632,35,False -CTSPillarNetworkA,9633,9633,9633,1996-05-17,963.3000000001505,963.21185,2015-01-01 02:40:33,bin9633,75,False -CTSPillarNetworkA,9634,9634,9634,1996-05-18,963.4000000001505,963.3118,2015-01-01 02:40:34,bin9634,35,False -CTSPillarNetworkA,9635,9635,9635,1996-05-19,963.5000000001505,963.4118,2015-01-01 02:40:35,bin9635,75,False -CTSPillarNetworkA,9636,9636,9636,1996-05-20,963.6000000001505,963.5118,2015-01-01 02:40:36,bin9636,35,False -CTSPillarNetworkA,9637,9637,9637,1996-05-21,963.7000000001506,963.61176,2015-01-01 02:40:37,bin9637,75,False -CTSPillarNetworkA,9638,9638,9638,1996-05-22,963.8000000001506,963.71173,2015-01-01 02:40:38,bin9638,35,False -CTSPillarNetworkA,9639,9639,9639,1996-05-23,963.9000000001506,963.8117,2015-01-01 02:40:39,bin9639,75,False -CTSPillarNetworkA,9640,9640,9640,1996-05-24,964.0000000001506,963.9117,2015-01-01 02:40:40,bin9640,35,False -CTSPillarNetworkA,9641,9641,9641,1996-05-25,964.1000000001507,964.01166,2015-01-01 02:40:41,bin9641,75,False -CTSPillarNetworkA,9642,9642,9642,1996-05-26,964.2000000001507,964.11163,2015-01-01 02:40:42,bin9642,35,False -CTSPillarNetworkA,9643,9643,9643,1996-05-27,964.3000000001507,964.2116,2015-01-01 02:40:43,bin9643,75,False -CTSPillarNetworkA,9644,9644,9644,1996-05-28,964.4000000001507,964.3116,2015-01-01 02:40:44,bin9644,35,False -CTSPillarNetworkA,9645,9645,9645,1996-05-29,964.5000000001507,964.41156,2015-01-01 02:40:45,bin9645,75,False -CTSPillarNetworkA,9646,9646,9646,1996-05-30,964.6000000001508,964.51154,2015-01-01 02:40:46,bin9646,35,False -CTSPillarNetworkA,9647,9647,9647,1996-05-31,964.7000000001508,964.6115,2015-01-01 02:40:47,bin9647,75,False -CTSPillarNetworkA,9648,9648,9648,1996-06-01,964.8000000001508,964.7115,2015-01-01 02:40:48,bin9648,35,False -CTSPillarNetworkA,9649,9649,9649,1996-06-02,964.9000000001508,964.81146,2015-01-01 02:40:49,bin9649,75,False -CTSPillarNetworkA,9650,9650,9650,1996-06-03,965.0000000001509,964.91144,2015-01-01 02:40:50,bin9650,35,False -CTSPillarNetworkA,9651,9651,9651,1996-06-04,965.1000000001509,965.0114,2015-01-01 02:40:51,bin9651,75,False -CTSPillarNetworkA,9652,9652,9652,1996-06-05,965.2000000001509,965.1114,2015-01-01 02:40:52,bin9652,35,False -CTSPillarNetworkA,9653,9653,9653,1996-06-06,965.3000000001509,965.21136,2015-01-01 02:40:53,bin9653,75,False -CTSPillarNetworkA,9654,9654,9654,1996-06-07,965.400000000151,965.31134,2015-01-01 02:40:54,bin9654,35,False -CTSPillarNetworkA,9655,9655,9655,1996-06-08,965.500000000151,965.4113,2015-01-01 02:40:55,bin9655,75,False -CTSPillarNetworkA,9656,9656,9656,1996-06-09,965.600000000151,965.5113,2015-01-01 02:40:56,bin9656,35,False -CTSPillarNetworkA,9657,9657,9657,1996-06-10,965.700000000151,965.61127,2015-01-01 02:40:57,bin9657,75,False -CTSPillarNetworkA,9658,9658,9658,1996-06-11,965.800000000151,965.71124,2015-01-01 02:40:58,bin9658,35,False -CTSPillarNetworkA,9659,9659,9659,1996-06-12,965.9000000001511,965.8112,2015-01-01 02:40:59,bin9659,75,False -CTSPillarNetworkA,9660,9660,9660,1996-06-13,966.0000000001511,965.9112,2015-01-01 02:41:00,bin9660,35,False -CTSPillarNetworkA,9661,9661,9661,1996-06-14,966.1000000001511,966.01117,2015-01-01 02:41:01,bin9661,75,False -CTSPillarNetworkA,9662,9662,9662,1996-06-15,966.2000000001511,966.11115,2015-01-01 02:41:02,bin9662,35,False -CTSPillarNetworkA,9663,9663,9663,1996-06-16,966.3000000001512,966.2111,2015-01-01 02:41:03,bin9663,75,False -CTSPillarNetworkA,9664,9664,9664,1996-06-17,966.4000000001512,966.3111,2015-01-01 02:41:04,bin9664,35,False -CTSPillarNetworkA,9665,9665,9665,1996-06-18,966.5000000001512,966.4111,2015-01-01 02:41:05,bin9665,75,False -CTSPillarNetworkA,9666,9666,9666,1996-06-19,966.6000000001512,966.51105,2015-01-01 02:41:06,bin9666,35,False -CTSPillarNetworkA,9667,9667,9667,1996-06-20,966.7000000001512,966.611,2015-01-01 02:41:07,bin9667,75,False -CTSPillarNetworkA,9668,9668,9668,1996-06-21,966.8000000001513,966.711,2015-01-01 02:41:08,bin9668,35,False -CTSPillarNetworkA,9669,9669,9669,1996-06-22,966.9000000001513,966.811,2015-01-01 02:41:09,bin9669,75,False -CTSPillarNetworkA,9670,9670,9670,1996-06-23,967.0000000001513,966.91095,2015-01-01 02:41:10,bin9670,35,False -CTSPillarNetworkA,9671,9671,9671,1996-06-24,967.1000000001513,967.0109,2015-01-01 02:41:11,bin9671,75,False -CTSPillarNetworkA,9672,9672,9672,1996-06-25,967.2000000001514,967.1109,2015-01-01 02:41:12,bin9672,35,False -CTSPillarNetworkA,9673,9673,9673,1996-06-26,967.3000000001514,967.2109,2015-01-01 02:41:13,bin9673,75,False -CTSPillarNetworkA,9674,9674,9674,1996-06-27,967.4000000001514,967.31085,2015-01-01 02:41:14,bin9674,35,False -CTSPillarNetworkA,9675,9675,9675,1996-06-28,967.5000000001514,967.4108,2015-01-01 02:41:15,bin9675,75,False -CTSPillarNetworkA,9676,9676,9676,1996-06-29,967.6000000001515,967.5108,2015-01-01 02:41:16,bin9676,35,False -CTSPillarNetworkA,9677,9677,9677,1996-06-30,967.7000000001515,967.6108,2015-01-01 02:41:17,bin9677,75,False -CTSPillarNetworkA,9678,9678,9678,1996-07-01,967.8000000001515,967.71075,2015-01-01 02:41:18,bin9678,35,False -CTSPillarNetworkA,9679,9679,9679,1996-07-02,967.9000000001515,967.8107,2015-01-01 02:41:19,bin9679,75,False -CTSPillarNetworkA,9680,9680,9680,1996-07-03,968.0000000001515,967.9107,2015-01-01 02:41:20,bin9680,35,False -CTSPillarNetworkA,9681,9681,9681,1996-07-04,968.1000000001516,968.0107,2015-01-01 02:41:21,bin9681,75,False -CTSPillarNetworkA,9682,9682,9682,1996-07-05,968.2000000001516,968.11066,2015-01-01 02:41:22,bin9682,35,False -CTSPillarNetworkA,9683,9683,9683,1996-07-06,968.3000000001516,968.21063,2015-01-01 02:41:23,bin9683,75,False -CTSPillarNetworkA,9684,9684,9684,1996-07-07,968.4000000001516,968.3106,2015-01-01 02:41:24,bin9684,35,False -CTSPillarNetworkA,9685,9685,9685,1996-07-08,968.5000000001517,968.4106,2015-01-01 02:41:25,bin9685,75,False -CTSPillarNetworkA,9686,9686,9686,1996-07-09,968.6000000001517,968.51056,2015-01-01 02:41:26,bin9686,35,False -CTSPillarNetworkA,9687,9687,9687,1996-07-10,968.7000000001517,968.61053,2015-01-01 02:41:27,bin9687,75,False -CTSPillarNetworkA,9688,9688,9688,1996-07-11,968.8000000001517,968.7105,2015-01-01 02:41:28,bin9688,35,False -CTSPillarNetworkA,9689,9689,9689,1996-07-12,968.9000000001517,968.8105,2015-01-01 02:41:29,bin9689,75,False -CTSPillarNetworkA,9690,9690,9690,1996-07-13,969.0000000001518,968.91046,2015-01-01 02:41:30,bin9690,35,False -CTSPillarNetworkA,9691,9691,9691,1996-07-14,969.1000000001518,969.01044,2015-01-01 02:41:31,bin9691,75,False -CTSPillarNetworkA,9692,9692,9692,1996-07-15,969.2000000001518,969.1104,2015-01-01 02:41:32,bin9692,35,False -CTSPillarNetworkA,9693,9693,9693,1996-07-16,969.3000000001518,969.2104,2015-01-01 02:41:33,bin9693,75,False -CTSPillarNetworkA,9694,9694,9694,1996-07-17,969.4000000001519,969.31036,2015-01-01 02:41:34,bin9694,35,False -CTSPillarNetworkA,9695,9695,9695,1996-07-18,969.5000000001519,969.41034,2015-01-01 02:41:35,bin9695,75,False -CTSPillarNetworkA,9696,9696,9696,1996-07-19,969.6000000001519,969.5103,2015-01-01 02:41:36,bin9696,35,False -CTSPillarNetworkA,9697,9697,9697,1996-07-20,969.7000000001519,969.6103,2015-01-01 02:41:37,bin9697,75,False -CTSPillarNetworkA,9698,9698,9698,1996-07-21,969.800000000152,969.71027,2015-01-01 02:41:38,bin9698,35,False -CTSPillarNetworkA,9699,9699,9699,1996-07-22,969.900000000152,969.81024,2015-01-01 02:41:39,bin9699,75,False -CTSPillarNetworkA,9700,9700,9700,1996-07-23,970.000000000152,969.9102,2015-01-01 02:41:40,bin9700,35,False -CTSPillarNetworkA,9701,9701,9701,1996-07-24,970.100000000152,970.0102,2015-01-01 02:41:41,bin9701,75,False -CTSPillarNetworkA,9702,9702,9702,1996-07-25,970.200000000152,970.11017,2015-01-01 02:41:42,bin9702,35,False -CTSPillarNetworkA,9703,9703,9703,1996-07-26,970.3000000001521,970.21014,2015-01-01 02:41:43,bin9703,75,False -CTSPillarNetworkA,9704,9704,9704,1996-07-27,970.4000000001521,970.3101,2015-01-01 02:41:44,bin9704,35,False -CTSPillarNetworkA,9705,9705,9705,1996-07-28,970.5000000001521,970.4101,2015-01-01 02:41:45,bin9705,75,False -CTSPillarNetworkA,9706,9706,9706,1996-07-29,970.6000000001521,970.5101,2015-01-01 02:41:46,bin9706,35,False -CTSPillarNetworkA,9707,9707,9707,1996-07-30,970.7000000001522,970.61005,2015-01-01 02:41:47,bin9707,75,False -CTSPillarNetworkA,9708,9708,9708,1996-07-31,970.8000000001522,970.71,2015-01-01 02:41:48,bin9708,35,False -CTSPillarNetworkA,9709,9709,9709,1996-08-01,970.9000000001522,970.81,2015-01-01 02:41:49,bin9709,75,False -CTSPillarNetworkA,9710,9710,9710,1996-08-02,971.0000000001522,970.91,2015-01-01 02:41:50,bin9710,35,False -CTSPillarNetworkA,9711,9711,9711,1996-08-03,971.1000000001522,971.00995,2015-01-01 02:41:51,bin9711,75,False -CTSPillarNetworkA,9712,9712,9712,1996-08-04,971.2000000001523,971.1099,2015-01-01 02:41:52,bin9712,35,False -CTSPillarNetworkA,9713,9713,9713,1996-08-05,971.3000000001523,971.2099,2015-01-01 02:41:53,bin9713,75,False -CTSPillarNetworkA,9714,9714,9714,1996-08-06,971.4000000001523,971.3099,2015-01-01 02:41:54,bin9714,35,False -CTSPillarNetworkA,9715,9715,9715,1996-08-07,971.5000000001523,971.40985,2015-01-01 02:41:55,bin9715,75,False -CTSPillarNetworkA,9716,9716,9716,1996-08-08,971.6000000001524,971.5098,2015-01-01 02:41:56,bin9716,35,False -CTSPillarNetworkA,9717,9717,9717,1996-08-09,971.7000000001524,971.6098,2015-01-01 02:41:57,bin9717,75,False -CTSPillarNetworkA,9718,9718,9718,1996-08-10,971.8000000001524,971.7098,2015-01-01 02:41:58,bin9718,35,False -CTSPillarNetworkA,9719,9719,9719,1996-08-11,971.9000000001524,971.80975,2015-01-01 02:41:59,bin9719,75,False -CTSPillarNetworkA,9720,9720,9720,1996-08-12,972.0000000001525,971.9097,2015-01-01 02:42:00,bin9720,35,False -CTSPillarNetworkA,9721,9721,9721,1996-08-13,972.1000000001525,972.0097,2015-01-01 02:42:01,bin9721,75,False -CTSPillarNetworkA,9722,9722,9722,1996-08-14,972.2000000001525,972.1097,2015-01-01 02:42:02,bin9722,35,False -CTSPillarNetworkA,9723,9723,9723,1996-08-15,972.3000000001525,972.20966,2015-01-01 02:42:03,bin9723,75,False -CTSPillarNetworkA,9724,9724,9724,1996-08-16,972.4000000001525,972.30963,2015-01-01 02:42:04,bin9724,35,False -CTSPillarNetworkA,9725,9725,9725,1996-08-17,972.5000000001526,972.4096,2015-01-01 02:42:05,bin9725,75,False -CTSPillarNetworkA,9726,9726,9726,1996-08-18,972.6000000001526,972.5096,2015-01-01 02:42:06,bin9726,35,False -CTSPillarNetworkA,9727,9727,9727,1996-08-19,972.7000000001526,972.60956,2015-01-01 02:42:07,bin9727,75,False -CTSPillarNetworkA,9728,9728,9728,1996-08-20,972.8000000001526,972.70953,2015-01-01 02:42:08,bin9728,35,False -CTSPillarNetworkA,9729,9729,9729,1996-08-21,972.9000000001527,972.8095,2015-01-01 02:42:09,bin9729,75,False -CTSPillarNetworkA,9730,9730,9730,1996-08-22,973.0000000001527,972.9095,2015-01-01 02:42:10,bin9730,35,False -CTSPillarNetworkA,9731,9731,9731,1996-08-23,973.1000000001527,973.00946,2015-01-01 02:42:11,bin9731,75,False -CTSPillarNetworkA,9732,9732,9732,1996-08-24,973.2000000001527,973.10944,2015-01-01 02:42:12,bin9732,35,False -CTSPillarNetworkA,9733,9733,9733,1996-08-25,973.3000000001527,973.2094,2015-01-01 02:42:13,bin9733,75,False -CTSPillarNetworkA,9734,9734,9734,1996-08-26,973.4000000001528,973.3094,2015-01-01 02:42:14,bin9734,35,False -CTSPillarNetworkA,9735,9735,9735,1996-08-27,973.5000000001528,973.40936,2015-01-01 02:42:15,bin9735,75,False -CTSPillarNetworkA,9736,9736,9736,1996-08-28,973.6000000001528,973.50934,2015-01-01 02:42:16,bin9736,35,False -CTSPillarNetworkA,9737,9737,9737,1996-08-29,973.7000000001528,973.6093,2015-01-01 02:42:17,bin9737,75,False -CTSPillarNetworkA,9738,9738,9738,1996-08-30,973.8000000001529,973.7093,2015-01-01 02:42:18,bin9738,35,False -CTSPillarNetworkA,9739,9739,9739,1996-08-31,973.9000000001529,973.80927,2015-01-01 02:42:19,bin9739,75,False -CTSPillarNetworkA,9740,9740,9740,1996-09-01,974.0000000001529,973.90924,2015-01-01 02:42:20,bin9740,35,False -CTSPillarNetworkA,9741,9741,9741,1996-09-02,974.1000000001529,974.0092,2015-01-01 02:42:21,bin9741,75,False -CTSPillarNetworkA,9742,9742,9742,1996-09-03,974.200000000153,974.1092,2015-01-01 02:42:22,bin9742,35,False -CTSPillarNetworkA,9743,9743,9743,1996-09-04,974.300000000153,974.20917,2015-01-01 02:42:23,bin9743,75,False -CTSPillarNetworkA,9744,9744,9744,1996-09-05,974.400000000153,974.30914,2015-01-01 02:42:24,bin9744,35,False -CTSPillarNetworkA,9745,9745,9745,1996-09-06,974.500000000153,974.4091,2015-01-01 02:42:25,bin9745,75,False -CTSPillarNetworkA,9746,9746,9746,1996-09-07,974.600000000153,974.5091,2015-01-01 02:42:26,bin9746,35,False -CTSPillarNetworkA,9747,9747,9747,1996-09-08,974.7000000001531,974.6091,2015-01-01 02:42:27,bin9747,75,False -CTSPillarNetworkA,9748,9748,9748,1996-09-09,974.8000000001531,974.70905,2015-01-01 02:42:28,bin9748,35,False -CTSPillarNetworkA,9749,9749,9749,1996-09-10,974.9000000001531,974.809,2015-01-01 02:42:29,bin9749,75,False -CTSPillarNetworkA,9750,9750,9750,1996-09-11,975.0000000001531,974.909,2015-01-01 02:42:30,bin9750,35,False -CTSPillarNetworkA,9751,9751,9751,1996-09-12,975.1000000001532,975.009,2015-01-01 02:42:31,bin9751,75,False -CTSPillarNetworkA,9752,9752,9752,1996-09-13,975.2000000001532,975.10895,2015-01-01 02:42:32,bin9752,35,False -CTSPillarNetworkA,9753,9753,9753,1996-09-14,975.3000000001532,975.2089,2015-01-01 02:42:33,bin9753,75,False -CTSPillarNetworkA,9754,9754,9754,1996-09-15,975.4000000001532,975.3089,2015-01-01 02:42:34,bin9754,35,False -CTSPillarNetworkA,9755,9755,9755,1996-09-16,975.5000000001532,975.4089,2015-01-01 02:42:35,bin9755,75,False -CTSPillarNetworkA,9756,9756,9756,1996-09-17,975.6000000001533,975.50885,2015-01-01 02:42:36,bin9756,35,False -CTSPillarNetworkA,9757,9757,9757,1996-09-18,975.7000000001533,975.6088,2015-01-01 02:42:37,bin9757,75,False -CTSPillarNetworkA,9758,9758,9758,1996-09-19,975.8000000001533,975.7088,2015-01-01 02:42:38,bin9758,35,False -CTSPillarNetworkA,9759,9759,9759,1996-09-20,975.9000000001533,975.8088,2015-01-01 02:42:39,bin9759,75,False -CTSPillarNetworkA,9760,9760,9760,1996-09-21,976.0000000001534,975.90875,2015-01-01 02:42:40,bin9760,35,False -CTSPillarNetworkA,9761,9761,9761,1996-09-22,976.1000000001534,976.0087,2015-01-01 02:42:41,bin9761,75,False -CTSPillarNetworkA,9762,9762,9762,1996-09-23,976.2000000001534,976.1087,2015-01-01 02:42:42,bin9762,35,False -CTSPillarNetworkA,9763,9763,9763,1996-09-24,976.3000000001534,976.2087,2015-01-01 02:42:43,bin9763,75,False -CTSPillarNetworkA,9764,9764,9764,1996-09-25,976.4000000001535,976.30865,2015-01-01 02:42:44,bin9764,35,False -CTSPillarNetworkA,9765,9765,9765,1996-09-26,976.5000000001535,976.4086,2015-01-01 02:42:45,bin9765,75,False -CTSPillarNetworkA,9766,9766,9766,1996-09-27,976.6000000001535,976.5086,2015-01-01 02:42:46,bin9766,35,False -CTSPillarNetworkA,9767,9767,9767,1996-09-28,976.7000000001535,976.6086,2015-01-01 02:42:47,bin9767,75,False -CTSPillarNetworkA,9768,9768,9768,1996-09-29,976.8000000001535,976.70856,2015-01-01 02:42:48,bin9768,35,False -CTSPillarNetworkA,9769,9769,9769,1996-09-30,976.9000000001536,976.80853,2015-01-01 02:42:49,bin9769,75,False -CTSPillarNetworkA,9770,9770,9770,1996-10-01,977.0000000001536,976.9085,2015-01-01 02:42:50,bin9770,35,False -CTSPillarNetworkA,9771,9771,9771,1996-10-02,977.1000000001536,977.0085,2015-01-01 02:42:51,bin9771,75,False -CTSPillarNetworkA,9772,9772,9772,1996-10-03,977.2000000001536,977.10846,2015-01-01 02:42:52,bin9772,35,False -CTSPillarNetworkA,9773,9773,9773,1996-10-04,977.3000000001537,977.20844,2015-01-01 02:42:53,bin9773,75,False -CTSPillarNetworkA,9774,9774,9774,1996-10-05,977.4000000001537,977.3084,2015-01-01 02:42:54,bin9774,35,False -CTSPillarNetworkA,9775,9775,9775,1996-10-06,977.5000000001537,977.4084,2015-01-01 02:42:55,bin9775,75,False -CTSPillarNetworkA,9776,9776,9776,1996-10-07,977.6000000001537,977.50836,2015-01-01 02:42:56,bin9776,35,False -CTSPillarNetworkA,9777,9777,9777,1996-10-08,977.7000000001538,977.60834,2015-01-01 02:42:57,bin9777,75,False -CTSPillarNetworkA,9778,9778,9778,1996-10-09,977.8000000001538,977.7083,2015-01-01 02:42:58,bin9778,35,False -CTSPillarNetworkA,9779,9779,9779,1996-10-10,977.9000000001538,977.8083,2015-01-01 02:42:59,bin9779,75,False -CTSPillarNetworkA,9780,9780,9780,1996-10-11,978.0000000001538,977.90826,2015-01-01 02:43:00,bin9780,35,False -CTSPillarNetworkA,9781,9781,9781,1996-10-12,978.1000000001538,978.00824,2015-01-01 02:43:01,bin9781,75,False -CTSPillarNetworkA,9782,9782,9782,1996-10-13,978.2000000001539,978.1082,2015-01-01 02:43:02,bin9782,35,False -CTSPillarNetworkA,9783,9783,9783,1996-10-14,978.3000000001539,978.2082,2015-01-01 02:43:03,bin9783,75,False -CTSPillarNetworkA,9784,9784,9784,1996-10-15,978.4000000001539,978.30817,2015-01-01 02:43:04,bin9784,35,False -CTSPillarNetworkA,9785,9785,9785,1996-10-16,978.5000000001539,978.40814,2015-01-01 02:43:05,bin9785,75,False -CTSPillarNetworkA,9786,9786,9786,1996-10-17,978.600000000154,978.5081,2015-01-01 02:43:06,bin9786,35,False -CTSPillarNetworkA,9787,9787,9787,1996-10-18,978.700000000154,978.6081,2015-01-01 02:43:07,bin9787,75,False -CTSPillarNetworkA,9788,9788,9788,1996-10-19,978.800000000154,978.70807,2015-01-01 02:43:08,bin9788,35,False -CTSPillarNetworkA,9789,9789,9789,1996-10-20,978.900000000154,978.80804,2015-01-01 02:43:09,bin9789,75,False -CTSPillarNetworkA,9790,9790,9790,1996-10-21,979.000000000154,978.908,2015-01-01 02:43:10,bin9790,35,False -CTSPillarNetworkA,9791,9791,9791,1996-10-22,979.1000000001541,979.008,2015-01-01 02:43:11,bin9791,75,False -CTSPillarNetworkA,9792,9792,9792,1996-10-23,979.2000000001541,979.108,2015-01-01 02:43:12,bin9792,35,False -CTSPillarNetworkA,9793,9793,9793,1996-10-24,979.3000000001541,979.20795,2015-01-01 02:43:13,bin9793,75,False -CTSPillarNetworkA,9794,9794,9794,1996-10-25,979.4000000001541,979.3079,2015-01-01 02:43:14,bin9794,35,False -CTSPillarNetworkA,9795,9795,9795,1996-10-26,979.5000000001542,979.4079,2015-01-01 02:43:15,bin9795,75,False -CTSPillarNetworkA,9796,9796,9796,1996-10-27,979.6000000001542,979.5079,2015-01-01 02:43:16,bin9796,35,False -CTSPillarNetworkA,9797,9797,9797,1996-10-28,979.7000000001542,979.60785,2015-01-01 02:43:17,bin9797,75,False -CTSPillarNetworkA,9798,9798,9798,1996-10-29,979.8000000001542,979.7078,2015-01-01 02:43:18,bin9798,35,False -CTSPillarNetworkA,9799,9799,9799,1996-10-30,979.9000000001543,979.8078,2015-01-01 02:43:19,bin9799,75,False -CTSPillarNetworkA,9800,9800,9800,1996-10-31,980.0000000001543,979.9078,2015-01-01 02:43:20,bin9800,35,False -CTSPillarNetworkA,9801,9801,9801,1996-11-01,980.1000000001543,980.00775,2015-01-01 02:43:21,bin9801,75,False -CTSPillarNetworkA,9802,9802,9802,1996-11-02,980.2000000001543,980.1077,2015-01-01 02:43:22,bin9802,35,False -CTSPillarNetworkA,9803,9803,9803,1996-11-03,980.3000000001543,980.2077,2015-01-01 02:43:23,bin9803,75,False -CTSPillarNetworkA,9804,9804,9804,1996-11-04,980.4000000001544,980.3077,2015-01-01 02:43:24,bin9804,35,False -CTSPillarNetworkA,9805,9805,9805,1996-11-05,980.5000000001544,980.40765,2015-01-01 02:43:25,bin9805,75,False -CTSPillarNetworkA,9806,9806,9806,1996-11-06,980.6000000001544,980.5076,2015-01-01 02:43:26,bin9806,35,False -CTSPillarNetworkA,9807,9807,9807,1996-11-07,980.7000000001544,980.6076,2015-01-01 02:43:27,bin9807,75,False -CTSPillarNetworkA,9808,9808,9808,1996-11-08,980.8000000001545,980.7076,2015-01-01 02:43:28,bin9808,35,False -CTSPillarNetworkA,9809,9809,9809,1996-11-09,980.9000000001545,980.80756,2015-01-01 02:43:29,bin9809,75,False -CTSPillarNetworkA,9810,9810,9810,1996-11-10,981.0000000001545,980.90753,2015-01-01 02:43:30,bin9810,35,False -CTSPillarNetworkA,9811,9811,9811,1996-11-11,981.1000000001545,981.0075,2015-01-01 02:43:31,bin9811,75,False -CTSPillarNetworkA,9812,9812,9812,1996-11-12,981.2000000001545,981.1075,2015-01-01 02:43:32,bin9812,35,False -CTSPillarNetworkA,9813,9813,9813,1996-11-13,981.3000000001546,981.20746,2015-01-01 02:43:33,bin9813,75,False -CTSPillarNetworkA,9814,9814,9814,1996-11-14,981.4000000001546,981.30743,2015-01-01 02:43:34,bin9814,35,False -CTSPillarNetworkA,9815,9815,9815,1996-11-15,981.5000000001546,981.4074,2015-01-01 02:43:35,bin9815,75,False -CTSPillarNetworkA,9816,9816,9816,1996-11-16,981.6000000001546,981.5074,2015-01-01 02:43:36,bin9816,35,False -CTSPillarNetworkA,9817,9817,9817,1996-11-17,981.7000000001547,981.60736,2015-01-01 02:43:37,bin9817,75,False -CTSPillarNetworkA,9818,9818,9818,1996-11-18,981.8000000001547,981.70734,2015-01-01 02:43:38,bin9818,35,False -CTSPillarNetworkA,9819,9819,9819,1996-11-19,981.9000000001547,981.8073,2015-01-01 02:43:39,bin9819,75,False -CTSPillarNetworkA,9820,9820,9820,1996-11-20,982.0000000001547,981.9073,2015-01-01 02:43:40,bin9820,35,False -CTSPillarNetworkA,9821,9821,9821,1996-11-21,982.1000000001548,982.00726,2015-01-01 02:43:41,bin9821,75,False -CTSPillarNetworkA,9822,9822,9822,1996-11-22,982.2000000001548,982.10724,2015-01-01 02:43:42,bin9822,35,False -CTSPillarNetworkA,9823,9823,9823,1996-11-23,982.3000000001548,982.2072,2015-01-01 02:43:43,bin9823,75,False -CTSPillarNetworkA,9824,9824,9824,1996-11-24,982.4000000001548,982.3072,2015-01-01 02:43:44,bin9824,35,False -CTSPillarNetworkA,9825,9825,9825,1996-11-25,982.5000000001548,982.40717,2015-01-01 02:43:45,bin9825,75,False -CTSPillarNetworkA,9826,9826,9826,1996-11-26,982.6000000001549,982.50714,2015-01-01 02:43:46,bin9826,35,False -CTSPillarNetworkA,9827,9827,9827,1996-11-27,982.7000000001549,982.6071,2015-01-01 02:43:47,bin9827,75,False -CTSPillarNetworkA,9828,9828,9828,1996-11-28,982.8000000001549,982.7071,2015-01-01 02:43:48,bin9828,35,False -CTSPillarNetworkA,9829,9829,9829,1996-11-29,982.9000000001549,982.80707,2015-01-01 02:43:49,bin9829,75,False -CTSPillarNetworkA,9830,9830,9830,1996-11-30,983.000000000155,982.90704,2015-01-01 02:43:50,bin9830,35,False -CTSPillarNetworkA,9831,9831,9831,1996-12-01,983.100000000155,983.007,2015-01-01 02:43:51,bin9831,75,False -CTSPillarNetworkA,9832,9832,9832,1996-12-02,983.200000000155,983.107,2015-01-01 02:43:52,bin9832,35,False -CTSPillarNetworkA,9833,9833,9833,1996-12-03,983.300000000155,983.207,2015-01-01 02:43:53,bin9833,75,False -CTSPillarNetworkA,9834,9834,9834,1996-12-04,983.400000000155,983.30695,2015-01-01 02:43:54,bin9834,35,False -CTSPillarNetworkA,9835,9835,9835,1996-12-05,983.5000000001551,983.4069,2015-01-01 02:43:55,bin9835,75,False -CTSPillarNetworkA,9836,9836,9836,1996-12-06,983.6000000001551,983.5069,2015-01-01 02:43:56,bin9836,35,False -CTSPillarNetworkA,9837,9837,9837,1996-12-07,983.7000000001551,983.6069,2015-01-01 02:43:57,bin9837,75,False -CTSPillarNetworkA,9838,9838,9838,1996-12-08,983.8000000001551,983.70685,2015-01-01 02:43:58,bin9838,35,False -CTSPillarNetworkA,9839,9839,9839,1996-12-09,983.9000000001552,983.8068,2015-01-01 02:43:59,bin9839,75,False -CTSPillarNetworkA,9840,9840,9840,1996-12-10,984.0000000001552,983.9068,2015-01-01 02:44:00,bin9840,35,False -CTSPillarNetworkA,9841,9841,9841,1996-12-11,984.1000000001552,984.0068,2015-01-01 02:44:01,bin9841,75,False -CTSPillarNetworkA,9842,9842,9842,1996-12-12,984.2000000001552,984.10675,2015-01-01 02:44:02,bin9842,35,False -CTSPillarNetworkA,9843,9843,9843,1996-12-13,984.3000000001553,984.2067,2015-01-01 02:44:03,bin9843,75,False -CTSPillarNetworkA,9844,9844,9844,1996-12-14,984.4000000001553,984.3067,2015-01-01 02:44:04,bin9844,35,False -CTSPillarNetworkA,9845,9845,9845,1996-12-15,984.5000000001553,984.4067,2015-01-01 02:44:05,bin9845,75,False -CTSPillarNetworkA,9846,9846,9846,1996-12-16,984.6000000001553,984.50665,2015-01-01 02:44:06,bin9846,35,False -CTSPillarNetworkA,9847,9847,9847,1996-12-17,984.7000000001553,984.6066,2015-01-01 02:44:07,bin9847,75,False -CTSPillarNetworkA,9848,9848,9848,1996-12-18,984.8000000001554,984.7066,2015-01-01 02:44:08,bin9848,35,False -CTSPillarNetworkA,9849,9849,9849,1996-12-19,984.9000000001554,984.8066,2015-01-01 02:44:09,bin9849,75,False -CTSPillarNetworkA,9850,9850,9850,1996-12-20,985.0000000001554,984.90656,2015-01-01 02:44:10,bin9850,35,False -CTSPillarNetworkA,9851,9851,9851,1996-12-21,985.1000000001554,985.00653,2015-01-01 02:44:11,bin9851,75,False -CTSPillarNetworkA,9852,9852,9852,1996-12-22,985.2000000001555,985.1065,2015-01-01 02:44:12,bin9852,35,False -CTSPillarNetworkA,9853,9853,9853,1996-12-23,985.3000000001555,985.2065,2015-01-01 02:44:13,bin9853,75,False -CTSPillarNetworkA,9854,9854,9854,1996-12-24,985.4000000001555,985.30646,2015-01-01 02:44:14,bin9854,35,False -CTSPillarNetworkA,9855,9855,9855,1996-12-25,985.5000000001555,985.40643,2015-01-01 02:44:15,bin9855,75,False -CTSPillarNetworkA,9856,9856,9856,1996-12-26,985.6000000001555,985.5064,2015-01-01 02:44:16,bin9856,35,False -CTSPillarNetworkA,9857,9857,9857,1996-12-27,985.7000000001556,985.6064,2015-01-01 02:44:17,bin9857,75,False -CTSPillarNetworkA,9858,9858,9858,1996-12-28,985.8000000001556,985.70636,2015-01-01 02:44:18,bin9858,35,False -CTSPillarNetworkA,9859,9859,9859,1996-12-29,985.9000000001556,985.80634,2015-01-01 02:44:19,bin9859,75,False -CTSPillarNetworkA,9860,9860,9860,1996-12-30,986.0000000001556,985.9063,2015-01-01 02:44:20,bin9860,35,False -CTSPillarNetworkA,9861,9861,9861,1996-12-31,986.1000000001557,986.0063,2015-01-01 02:44:21,bin9861,75,False -CTSPillarNetworkA,9862,9862,9862,1997-01-01,986.2000000001557,986.10626,2015-01-01 02:44:22,bin9862,35,False -CTSPillarNetworkA,9863,9863,9863,1997-01-02,986.3000000001557,986.20624,2015-01-01 02:44:23,bin9863,75,False -CTSPillarNetworkA,9864,9864,9864,1997-01-03,986.4000000001557,986.3062,2015-01-01 02:44:24,bin9864,35,False -CTSPillarNetworkA,9865,9865,9865,1997-01-04,986.5000000001558,986.4062,2015-01-01 02:44:25,bin9865,75,False -CTSPillarNetworkA,9866,9866,9866,1997-01-05,986.6000000001558,986.50616,2015-01-01 02:44:26,bin9866,35,False -CTSPillarNetworkA,9867,9867,9867,1997-01-06,986.7000000001558,986.60614,2015-01-01 02:44:27,bin9867,75,False -CTSPillarNetworkA,9868,9868,9868,1997-01-07,986.8000000001558,986.7061,2015-01-01 02:44:28,bin9868,35,False -CTSPillarNetworkA,9869,9869,9869,1997-01-08,986.9000000001558,986.8061,2015-01-01 02:44:29,bin9869,75,False -CTSPillarNetworkA,9870,9870,9870,1997-01-09,987.0000000001559,986.90607,2015-01-01 02:44:30,bin9870,35,False -CTSPillarNetworkA,9871,9871,9871,1997-01-10,987.1000000001559,987.00604,2015-01-01 02:44:31,bin9871,75,False -CTSPillarNetworkA,9872,9872,9872,1997-01-11,987.2000000001559,987.106,2015-01-01 02:44:32,bin9872,35,False -CTSPillarNetworkA,9873,9873,9873,1997-01-12,987.3000000001559,987.206,2015-01-01 02:44:33,bin9873,75,False -CTSPillarNetworkA,9874,9874,9874,1997-01-13,987.400000000156,987.30597,2015-01-01 02:44:34,bin9874,35,False -CTSPillarNetworkA,9875,9875,9875,1997-01-14,987.500000000156,987.40594,2015-01-01 02:44:35,bin9875,75,False -CTSPillarNetworkA,9876,9876,9876,1997-01-15,987.600000000156,987.5059,2015-01-01 02:44:36,bin9876,35,False -CTSPillarNetworkA,9877,9877,9877,1997-01-16,987.700000000156,987.6059,2015-01-01 02:44:37,bin9877,75,False -CTSPillarNetworkA,9878,9878,9878,1997-01-17,987.800000000156,987.7059,2015-01-01 02:44:38,bin9878,35,False -CTSPillarNetworkA,9879,9879,9879,1997-01-18,987.9000000001561,987.80585,2015-01-01 02:44:39,bin9879,75,False -CTSPillarNetworkA,9880,9880,9880,1997-01-19,988.0000000001561,987.9058,2015-01-01 02:44:40,bin9880,35,False -CTSPillarNetworkA,9881,9881,9881,1997-01-20,988.1000000001561,988.0058,2015-01-01 02:44:41,bin9881,75,False -CTSPillarNetworkA,9882,9882,9882,1997-01-21,988.2000000001561,988.1058,2015-01-01 02:44:42,bin9882,35,False -CTSPillarNetworkA,9883,9883,9883,1997-01-22,988.3000000001562,988.20575,2015-01-01 02:44:43,bin9883,75,False -CTSPillarNetworkA,9884,9884,9884,1997-01-23,988.4000000001562,988.3057,2015-01-01 02:44:44,bin9884,35,False -CTSPillarNetworkA,9885,9885,9885,1997-01-24,988.5000000001562,988.4057,2015-01-01 02:44:45,bin9885,75,False -CTSPillarNetworkA,9886,9886,9886,1997-01-25,988.6000000001562,988.5057,2015-01-01 02:44:46,bin9886,35,False -CTSPillarNetworkA,9887,9887,9887,1997-01-26,988.7000000001563,988.60565,2015-01-01 02:44:47,bin9887,75,False -CTSPillarNetworkA,9888,9888,9888,1997-01-27,988.8000000001563,988.7056,2015-01-01 02:44:48,bin9888,35,False -CTSPillarNetworkA,9889,9889,9889,1997-01-28,988.9000000001563,988.8056,2015-01-01 02:44:49,bin9889,75,False -CTSPillarNetworkA,9890,9890,9890,1997-01-29,989.0000000001563,988.9056,2015-01-01 02:44:50,bin9890,35,False -CTSPillarNetworkA,9891,9891,9891,1997-01-30,989.1000000001563,989.00555,2015-01-01 02:44:51,bin9891,75,False -CTSPillarNetworkA,9892,9892,9892,1997-01-31,989.2000000001564,989.1055,2015-01-01 02:44:52,bin9892,35,False -CTSPillarNetworkA,9893,9893,9893,1997-02-01,989.3000000001564,989.2055,2015-01-01 02:44:53,bin9893,75,False -CTSPillarNetworkA,9894,9894,9894,1997-02-02,989.4000000001564,989.3055,2015-01-01 02:44:54,bin9894,35,False -CTSPillarNetworkA,9895,9895,9895,1997-02-03,989.5000000001564,989.40546,2015-01-01 02:44:55,bin9895,75,False -CTSPillarNetworkA,9896,9896,9896,1997-02-04,989.6000000001565,989.50543,2015-01-01 02:44:56,bin9896,35,False -CTSPillarNetworkA,9897,9897,9897,1997-02-05,989.7000000001565,989.6054,2015-01-01 02:44:57,bin9897,75,False -CTSPillarNetworkA,9898,9898,9898,1997-02-06,989.8000000001565,989.7054,2015-01-01 02:44:58,bin9898,35,False -CTSPillarNetworkA,9899,9899,9899,1997-02-07,989.9000000001565,989.80536,2015-01-01 02:44:59,bin9899,75,False -CTSPillarNetworkA,9900,9900,9900,1997-02-08,990.0000000001565,989.90533,2015-01-01 02:45:00,bin9900,35,False -CTSPillarNetworkA,9901,9901,9901,1997-02-09,990.1000000001566,990.0053,2015-01-01 02:45:01,bin9901,75,False -CTSPillarNetworkA,9902,9902,9902,1997-02-10,990.2000000001566,990.1053,2015-01-01 02:45:02,bin9902,35,False -CTSPillarNetworkA,9903,9903,9903,1997-02-11,990.3000000001566,990.20526,2015-01-01 02:45:03,bin9903,75,False -CTSPillarNetworkA,9904,9904,9904,1997-02-12,990.4000000001566,990.30524,2015-01-01 02:45:04,bin9904,35,False -CTSPillarNetworkA,9905,9905,9905,1997-02-13,990.5000000001567,990.4052,2015-01-01 02:45:05,bin9905,75,False -CTSPillarNetworkA,9906,9906,9906,1997-02-14,990.6000000001567,990.5052,2015-01-01 02:45:06,bin9906,35,False -CTSPillarNetworkA,9907,9907,9907,1997-02-15,990.7000000001567,990.60516,2015-01-01 02:45:07,bin9907,75,False -CTSPillarNetworkA,9908,9908,9908,1997-02-16,990.8000000001567,990.70514,2015-01-01 02:45:08,bin9908,35,False -CTSPillarNetworkA,9909,9909,9909,1997-02-17,990.9000000001568,990.8051,2015-01-01 02:45:09,bin9909,75,False -CTSPillarNetworkA,9910,9910,9910,1997-02-18,991.0000000001568,990.9051,2015-01-01 02:45:10,bin9910,35,False -CTSPillarNetworkA,9911,9911,9911,1997-02-19,991.1000000001568,991.00507,2015-01-01 02:45:11,bin9911,75,False -CTSPillarNetworkA,9912,9912,9912,1997-02-20,991.2000000001568,991.10504,2015-01-01 02:45:12,bin9912,35,False -CTSPillarNetworkA,9913,9913,9913,1997-02-21,991.3000000001568,991.205,2015-01-01 02:45:13,bin9913,75,False -CTSPillarNetworkA,9914,9914,9914,1997-02-22,991.4000000001569,991.305,2015-01-01 02:45:14,bin9914,35,False -CTSPillarNetworkA,9915,9915,9915,1997-02-23,991.5000000001569,991.40497,2015-01-01 02:45:15,bin9915,75,False -CTSPillarNetworkA,9916,9916,9916,1997-02-24,991.6000000001569,991.50494,2015-01-01 02:45:16,bin9916,35,False -CTSPillarNetworkA,9917,9917,9917,1997-02-25,991.7000000001569,991.6049,2015-01-01 02:45:17,bin9917,75,False -CTSPillarNetworkA,9918,9918,9918,1997-02-26,991.800000000157,991.7049,2015-01-01 02:45:18,bin9918,35,False -CTSPillarNetworkA,9919,9919,9919,1997-02-27,991.900000000157,991.8049,2015-01-01 02:45:19,bin9919,75,False -CTSPillarNetworkA,9920,9920,9920,1997-02-28,992.000000000157,991.90485,2015-01-01 02:45:20,bin9920,35,False -CTSPillarNetworkA,9921,9921,9921,1997-03-01,992.100000000157,992.0048,2015-01-01 02:45:21,bin9921,75,False -CTSPillarNetworkA,9922,9922,9922,1997-03-02,992.200000000157,992.1048,2015-01-01 02:45:22,bin9922,35,False -CTSPillarNetworkA,9923,9923,9923,1997-03-03,992.3000000001571,992.2048,2015-01-01 02:45:23,bin9923,75,False -CTSPillarNetworkA,9924,9924,9924,1997-03-04,992.4000000001571,992.30475,2015-01-01 02:45:24,bin9924,35,False -CTSPillarNetworkA,9925,9925,9925,1997-03-05,992.5000000001571,992.4047,2015-01-01 02:45:25,bin9925,75,False -CTSPillarNetworkA,9926,9926,9926,1997-03-06,992.6000000001571,992.5047,2015-01-01 02:45:26,bin9926,35,False -CTSPillarNetworkA,9927,9927,9927,1997-03-07,992.7000000001572,992.6047,2015-01-01 02:45:27,bin9927,75,False -CTSPillarNetworkA,9928,9928,9928,1997-03-08,992.8000000001572,992.70465,2015-01-01 02:45:28,bin9928,35,False -CTSPillarNetworkA,9929,9929,9929,1997-03-09,992.9000000001572,992.8046,2015-01-01 02:45:29,bin9929,75,False -CTSPillarNetworkA,9930,9930,9930,1997-03-10,993.0000000001572,992.9046,2015-01-01 02:45:30,bin9930,35,False -CTSPillarNetworkA,9931,9931,9931,1997-03-11,993.1000000001573,993.0046,2015-01-01 02:45:31,bin9931,75,False -CTSPillarNetworkA,9932,9932,9932,1997-03-12,993.2000000001573,993.10455,2015-01-01 02:45:32,bin9932,35,False -CTSPillarNetworkA,9933,9933,9933,1997-03-13,993.3000000001573,993.2045,2015-01-01 02:45:33,bin9933,75,False -CTSPillarNetworkA,9934,9934,9934,1997-03-14,993.4000000001573,993.3045,2015-01-01 02:45:34,bin9934,35,False -CTSPillarNetworkA,9935,9935,9935,1997-03-15,993.5000000001573,993.4045,2015-01-01 02:45:35,bin9935,75,False -CTSPillarNetworkA,9936,9936,9936,1997-03-16,993.6000000001574,993.50446,2015-01-01 02:45:36,bin9936,35,False -CTSPillarNetworkA,9937,9937,9937,1997-03-17,993.7000000001574,993.60443,2015-01-01 02:45:37,bin9937,75,False -CTSPillarNetworkA,9938,9938,9938,1997-03-18,993.8000000001574,993.7044,2015-01-01 02:45:38,bin9938,35,False -CTSPillarNetworkA,9939,9939,9939,1997-03-19,993.9000000001574,993.8044,2015-01-01 02:45:39,bin9939,75,False -CTSPillarNetworkA,9940,9940,9940,1997-03-20,994.0000000001575,993.90436,2015-01-01 02:45:40,bin9940,35,False -CTSPillarNetworkA,9941,9941,9941,1997-03-21,994.1000000001575,994.00433,2015-01-01 02:45:41,bin9941,75,False -CTSPillarNetworkA,9942,9942,9942,1997-03-22,994.2000000001575,994.1043,2015-01-01 02:45:42,bin9942,35,False -CTSPillarNetworkA,9943,9943,9943,1997-03-23,994.3000000001575,994.2043,2015-01-01 02:45:43,bin9943,75,False -CTSPillarNetworkA,9944,9944,9944,1997-03-24,994.4000000001575,994.30426,2015-01-01 02:45:44,bin9944,35,False -CTSPillarNetworkA,9945,9945,9945,1997-03-25,994.5000000001576,994.40424,2015-01-01 02:45:45,bin9945,75,False -CTSPillarNetworkA,9946,9946,9946,1997-03-26,994.6000000001576,994.5042,2015-01-01 02:45:46,bin9946,35,False -CTSPillarNetworkA,9947,9947,9947,1997-03-27,994.7000000001576,994.6042,2015-01-01 02:45:47,bin9947,75,False -CTSPillarNetworkA,9948,9948,9948,1997-03-28,994.8000000001576,994.70416,2015-01-01 02:45:48,bin9948,35,False -CTSPillarNetworkA,9949,9949,9949,1997-03-29,994.9000000001577,994.80414,2015-01-01 02:45:49,bin9949,75,False -CTSPillarNetworkA,9950,9950,9950,1997-03-30,995.0000000001577,994.9041,2015-01-01 02:45:50,bin9950,35,False -CTSPillarNetworkA,9951,9951,9951,1997-03-31,995.1000000001577,995.0041,2015-01-01 02:45:51,bin9951,75,False -CTSPillarNetworkA,9952,9952,9952,1997-04-01,995.2000000001577,995.10406,2015-01-01 02:45:52,bin9952,35,False -CTSPillarNetworkA,9953,9953,9953,1997-04-02,995.3000000001578,995.20404,2015-01-01 02:45:53,bin9953,75,False -CTSPillarNetworkA,9954,9954,9954,1997-04-03,995.4000000001578,995.304,2015-01-01 02:45:54,bin9954,35,False -CTSPillarNetworkA,9955,9955,9955,1997-04-04,995.5000000001578,995.404,2015-01-01 02:45:55,bin9955,75,False -CTSPillarNetworkA,9956,9956,9956,1997-04-05,995.6000000001578,995.50397,2015-01-01 02:45:56,bin9956,35,False -CTSPillarNetworkA,9957,9957,9957,1997-04-06,995.7000000001578,995.60394,2015-01-01 02:45:57,bin9957,75,False -CTSPillarNetworkA,9958,9958,9958,1997-04-07,995.8000000001579,995.7039,2015-01-01 02:45:58,bin9958,35,False -CTSPillarNetworkA,9959,9959,9959,1997-04-08,995.9000000001579,995.8039,2015-01-01 02:45:59,bin9959,75,False -CTSPillarNetworkA,9960,9960,9960,1997-04-09,996.0000000001579,995.9039,2015-01-01 02:46:00,bin9960,35,False -CTSPillarNetworkA,9961,9961,9961,1997-04-10,996.1000000001579,996.00385,2015-01-01 02:46:01,bin9961,75,False -CTSPillarNetworkA,9962,9962,9962,1997-04-11,996.200000000158,996.1038,2015-01-01 02:46:02,bin9962,35,False -CTSPillarNetworkA,9963,9963,9963,1997-04-12,996.300000000158,996.2038,2015-01-01 02:46:03,bin9963,75,False -CTSPillarNetworkA,9964,9964,9964,1997-04-13,996.400000000158,996.3038,2015-01-01 02:46:04,bin9964,35,False -CTSPillarNetworkA,9965,9965,9965,1997-04-14,996.500000000158,996.40375,2015-01-01 02:46:05,bin9965,75,False -CTSPillarNetworkA,9966,9966,9966,1997-04-15,996.600000000158,996.5037,2015-01-01 02:46:06,bin9966,35,False -CTSPillarNetworkA,9967,9967,9967,1997-04-16,996.7000000001581,996.6037,2015-01-01 02:46:07,bin9967,75,False -CTSPillarNetworkA,9968,9968,9968,1997-04-17,996.8000000001581,996.7037,2015-01-01 02:46:08,bin9968,35,False -CTSPillarNetworkA,9969,9969,9969,1997-04-18,996.9000000001581,996.80365,2015-01-01 02:46:09,bin9969,75,False -CTSPillarNetworkA,9970,9970,9970,1997-04-19,997.0000000001581,996.9036,2015-01-01 02:46:10,bin9970,35,False -CTSPillarNetworkA,9971,9971,9971,1997-04-20,997.1000000001582,997.0036,2015-01-01 02:46:11,bin9971,75,False -CTSPillarNetworkA,9972,9972,9972,1997-04-21,997.2000000001582,997.1036,2015-01-01 02:46:12,bin9972,35,False -CTSPillarNetworkA,9973,9973,9973,1997-04-22,997.3000000001582,997.20355,2015-01-01 02:46:13,bin9973,75,False -CTSPillarNetworkB,SPY,35000.332257024,41,1997-04-24,997.4000000001582,997.3035,2015-01-01 02:46:15,binA,251,True -CTSPillarNetworkB,SPY,35000.332278016,30,1997-04-25,997.5000000001583,997.4035,2015-01-01 02:46:16,bin,255,False -CTSPillarNetworkB,SPY,35000.332319232,22,1997-04-26,997.6000000001583,997.5035,2015-01-01 02:46:17,bin,255,True -CTSPillarNetworkB,SPY,35000.420437719,250,1997-04-27,997.7000000001583,997.60345,2015-01-01 02:46:18,bin,255,False -CTSPillarNetworkB,SPY,35000.509000000,21,1997-04-28,997.8000000001583,997.7034,2015-01-01 02:46:19,bin,255,True -CTSPillarNetworkB,SPY,35000.623816380,100,1997-04-29,997.9000000001583,997.8034,2015-01-01 02:46:20,bin,255,False -CTSPillarNetworkB,SPY,35000.733000000,1,1997-04-30,998.0000000001584,997.9034,2015-01-01 02:46:21,bin,255,True -CTSPillarNetworkB,SPY,35000.918482000,11,1997-05-01,998.1000000001584,998.00336,2015-01-01 02:46:22,bin,255,False -CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-02,998.2000000001584,998.10333,2015-01-01 02:46:23,bin,255,True -CTSPillarNetworkB,SPY,35000.918484000,30,1997-05-03,998.3000000001584,998.2033,2015-01-01 02:46:24,bin,255,False -CTSPillarNetworkB,SPY,35000.918484000,11,1997-05-04,998.4000000001585,998.3033,2015-01-01 02:46:25,bin,255,True -CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-05,998.5000000001585,998.40326,2015-01-01 02:46:26,bin,255,False -CTSPillarNetworkB,SPY,35000.918585088,100,1997-05-06,998.6000000001585,998.50323,2015-01-01 02:46:27,bin,255,True -CTSPillarNetworkB,SPY,35000.919489536,100,1997-05-07,998.7000000001585,998.6032,2015-01-01 02:46:28,bin,255,False -CTSPillarNetworkB,SPY,35000.919650899,100,1997-05-08,998.8000000001585,998.7032,2015-01-01 02:46:29,bin,255,True -CTSPillarNetworkB,SPY,35000.919685139,100,1997-05-09,998.9000000001586,998.80316,2015-01-01 02:46:30,bin,255,False -CTSPillarNetworkB,SPY,35000.974576770,100,1997-05-10,999.0000000001586,998.90314,2015-01-01 02:46:31,bin,255,True -CTSPillarNetworkB,SPY,35000.974911035,100,1997-05-11,999.1000000001586,999.0031,2015-01-01 02:46:32,bin,255,False -CTSPillarNetworkB,SPY,35000.977960728,23,1997-05-12,999.2000000001586,999.1031,2015-01-01 02:46:33,bin,255,True -CTSPillarNetworkB,SPY,35000.978023000,6,1997-05-13,999.3000000001587,999.20306,2015-01-01 02:46:34,bin,255,False -CTSPillarNetworkB,SPY,35000.978102524,18,1997-05-14,999.4000000001587,999.30304,2015-01-01 02:46:35,bin,255,True -CTSPillarNetworkB,SPY,35000.978124544,100,1997-05-15,999.5000000001587,999.403,2015-01-01 02:46:36,bin,255,False -CTSPillarNetworkB,SPY,35000.978349245,23,1997-05-16,999.6000000001587,999.503,2015-01-01 02:46:37,bin,255,True -CTSPillarNetworkB,SPY,35000.978601023,6,1997-05-17,999.7000000001588,999.60297,2015-01-01 02:46:38,bin,255,False -CTSPillarNetworkB,SPY,35000.978704313,18,1997-05-18,999.8000000001588,999.70294,2015-01-01 02:46:39,bin,255,True -CTSPillarNetworkB,SPY,35000.978803110,100,1997-05-19,999.9000000001588,999.8029,2015-01-01 02:46:40,bin,255,true -CTSPillarNetworkB,SPY,35000.983917824,53,1997-05-20,1000.0000000001588,999.9029,2015-01-01 02:46:41,binZ,250,True +abc,0,0,0,1970-01-01,0,0,2015-01-01 00:00:00,bin0,35,True +abc,1,1,1,1970-01-02,0.1,0.1,2015-01-01 00:00:01,bin1,75,True +abc,2,2,2,1970-01-03,0.2,0.2,2015-01-01 00:00:02,bin2,35,True +abc,3,3,3,1970-01-04,0.30000000000000004,0.3,2015-01-01 00:00:03,bin3,75,True +abc,4,4,4,1970-01-05,0.4,0.4,2015-01-01 00:00:04,bin4,35,True +abc,5,5,5,1970-01-06,0.5,0.5,2015-01-01 00:00:05,bin5,75,True +abc,6,6,6,1970-01-07,0.6,0.6,2015-01-01 00:00:06,bin6,35,True +abc,7,7,7,1970-01-08,0.7,0.70000005,2015-01-01 00:00:07,bin7,75,True +abc,8,8,8,1970-01-09,0.7999999999999999,0.8000001,2015-01-01 00:00:08,bin8,35,True +abc,9,9,9,1970-01-10,0.8999999999999999,0.9000001,2015-01-01 00:00:09,bin9,75,True +abc,10,10,10,1970-01-11,0.9999999999999999,1.0000001,2015-01-01 00:00:10,bin10,35,True +abc,11,11,11,1970-01-12,1.0999999999999999,1.1000001,2015-01-01 00:00:11,bin11,75,True +abc,12,12,12,1970-01-13,1.2,1.2000002,2015-01-01 00:00:12,bin12,35,True +abc,13,13,13,1970-01-14,1.3,1.3000002,2015-01-01 00:00:13,bin13,75,True +abc,14,14,14,1970-01-15,1.4000000000000001,1.4000002,2015-01-01 00:00:14,bin14,35,True +abc,15,15,15,1970-01-16,1.5000000000000002,1.5000002,2015-01-01 00:00:15,bin15,75,True +abc,16,16,16,1970-01-17,1.6000000000000003,1.6000003,2015-01-01 00:00:16,bin16,35,True +abc,17,17,17,1970-01-18,1.7000000000000004,1.7000003,2015-01-01 00:00:17,bin17,75,True +abc,18,18,18,1970-01-19,1.8000000000000005,1.8000003,2015-01-01 00:00:18,bin18,35,True +abc,19,19,19,1970-01-20,1.9000000000000006,1.9000003,2015-01-01 00:00:19,bin19,75,True +abc,20,20,20,1970-01-21,2.0000000000000004,2.0000002,2015-01-01 00:00:20,bin20,35,True +abc,21,21,21,1970-01-22,2.1000000000000005,2.1000001,2015-01-01 00:00:21,bin21,75,True +abc,22,22,22,1970-01-23,2.2000000000000006,2.2,2015-01-01 00:00:22,bin22,35,True +abc,23,23,23,1970-01-24,2.3000000000000007,2.3,2015-01-01 00:00:23,bin23,75,True +abc,24,24,24,1970-01-25,2.400000000000001,2.3999999,2015-01-01 00:00:24,bin24,35,True +abc,25,25,25,1970-01-26,2.500000000000001,2.4999998,2015-01-01 00:00:25,bin25,75,True +abc,26,26,26,1970-01-27,2.600000000000001,2.5999997,2015-01-01 00:00:26,bin26,35,True +abc,27,27,27,1970-01-28,2.700000000000001,2.6999996,2015-01-01 00:00:27,bin27,75,True +abc,28,28,28,1970-01-29,2.800000000000001,2.7999995,2015-01-01 00:00:28,bin28,35,True +abc,29,29,29,1970-01-30,2.9000000000000012,2.8999994,2015-01-01 00:00:29,bin29,75,True +abc,30,30,30,1970-01-31,3.0000000000000013,2.9999993,2015-01-01 00:00:30,bin30,35,True +abc,31,31,31,1970-02-01,3.1000000000000014,3.0999992,2015-01-01 00:00:31,bin31,75,True +abc,32,32,32,1970-02-02,3.2000000000000015,3.199999,2015-01-01 00:00:32,bin32,35,True +abc,33,33,33,1970-02-03,3.3000000000000016,3.299999,2015-01-01 00:00:33,bin33,75,True +abc,34,34,34,1970-02-04,3.4000000000000017,3.399999,2015-01-01 00:00:34,bin34,35,True +abc,35,35,35,1970-02-05,3.5000000000000018,3.4999988,2015-01-01 00:00:35,bin35,75,True +abc,36,36,36,1970-02-06,3.600000000000002,3.5999987,2015-01-01 00:00:36,bin36,35,True +abc,37,37,37,1970-02-07,3.700000000000002,3.6999986,2015-01-01 00:00:37,bin37,75,True +abc,38,38,38,1970-02-08,3.800000000000002,3.7999985,2015-01-01 00:00:38,bin38,35,True +abc,39,39,39,1970-02-09,3.900000000000002,3.8999984,2015-01-01 00:00:39,bin39,75,True +abc,40,40,40,1970-02-10,4.000000000000002,3.9999983,2015-01-01 00:00:40,bin40,35,True +abc,41,41,41,1970-02-11,4.100000000000001,4.0999985,2015-01-01 00:00:41,bin41,75,True +abc,42,42,42,1970-02-12,4.200000000000001,4.1999984,2015-01-01 00:00:42,bin42,35,True +abc,43,43,43,1970-02-13,4.300000000000001,4.2999983,2015-01-01 00:00:43,bin43,75,True +abc,44,44,44,1970-02-14,4.4,4.399998,2015-01-01 00:00:44,bin44,35,True +abc,45,45,45,1970-02-15,4.5,4.499998,2015-01-01 00:00:45,bin45,75,True +abc,46,46,46,1970-02-16,4.6,4.599998,2015-01-01 00:00:46,bin46,35,True +abc,47,47,47,1970-02-17,4.699999999999999,4.699998,2015-01-01 00:00:47,bin47,75,True +abc,48,48,48,1970-02-18,4.799999999999999,4.799998,2015-01-01 00:00:48,bin48,35,True +abc,49,49,49,1970-02-19,4.899999999999999,4.8999977,2015-01-01 00:00:49,bin49,75,True +abc,50,50,50,1970-02-20,4.999999999999998,4.9999976,2015-01-01 00:00:50,bin50,35,True +abc,51,51,51,1970-02-21,5.099999999999998,5.0999975,2015-01-01 00:00:51,bin51,75,True +abc,52,52,52,1970-02-22,5.1999999999999975,5.1999974,2015-01-01 00:00:52,bin52,35,True +abc,53,53,53,1970-02-23,5.299999999999997,5.2999973,2015-01-01 00:00:53,bin53,75,True +abc,54,54,54,1970-02-24,5.399999999999997,5.399997,2015-01-01 00:00:54,bin54,35,True +abc,55,55,55,1970-02-25,5.4999999999999964,5.499997,2015-01-01 00:00:55,bin55,75,True +abc,56,56,56,1970-02-26,5.599999999999996,5.599997,2015-01-01 00:00:56,bin56,35,True +abc,57,57,57,1970-02-27,5.699999999999996,5.699997,2015-01-01 00:00:57,bin57,75,True +abc,58,58,58,1970-02-28,5.799999999999995,5.799997,2015-01-01 00:00:58,bin58,35,True +abc,59,59,59,1970-03-01,5.899999999999995,5.8999968,2015-01-01 00:00:59,bin59,75,True +abc,60,60,60,1970-03-02,5.999999999999995,5.9999967,2015-01-01 00:01:00,bin60,35,True +abc,61,61,61,1970-03-03,6.099999999999994,6.0999966,2015-01-01 00:01:01,bin61,75,True +abc,62,62,62,1970-03-04,6.199999999999994,6.1999965,2015-01-01 00:01:02,bin62,35,True +abc,63,63,63,1970-03-05,6.299999999999994,6.2999964,2015-01-01 00:01:03,bin63,75,True +abc,64,64,64,1970-03-06,6.399999999999993,6.3999963,2015-01-01 00:01:04,bin64,35,True +abc,65,65,65,1970-03-07,6.499999999999993,6.499996,2015-01-01 00:01:05,bin65,75,True +abc,66,66,66,1970-03-08,6.5999999999999925,6.599996,2015-01-01 00:01:06,bin66,35,True +abc,67,67,67,1970-03-09,6.699999999999992,6.699996,2015-01-01 00:01:07,bin67,75,True +abc,68,68,68,1970-03-10,6.799999999999992,6.799996,2015-01-01 00:01:08,bin68,35,True +abc,69,69,69,1970-03-11,6.8999999999999915,6.899996,2015-01-01 00:01:09,bin69,75,True +abc,70,70,70,1970-03-12,6.999999999999991,6.9999957,2015-01-01 00:01:10,bin70,35,True +abc,71,71,71,1970-03-13,7.099999999999991,7.0999956,2015-01-01 00:01:11,bin71,75,True +abc,72,72,72,1970-03-14,7.19999999999999,7.1999955,2015-01-01 00:01:12,bin72,35,True +abc,73,73,73,1970-03-15,7.29999999999999,7.2999954,2015-01-01 00:01:13,bin73,75,True +abc,74,74,74,1970-03-16,7.39999999999999,7.3999953,2015-01-01 00:01:14,bin74,35,True +abc,75,75,75,1970-03-17,7.499999999999989,7.499995,2015-01-01 00:01:15,bin75,75,True +abc,76,76,76,1970-03-18,7.599999999999989,7.599995,2015-01-01 00:01:16,bin76,35,True +abc,77,77,77,1970-03-19,7.699999999999989,7.699995,2015-01-01 00:01:17,bin77,75,True +abc,78,78,78,1970-03-20,7.799999999999988,7.799995,2015-01-01 00:01:18,bin78,35,True +abc,79,79,79,1970-03-21,7.899999999999988,7.899995,2015-01-01 00:01:19,bin79,75,True +abc,80,80,80,1970-03-22,7.999999999999988,7.9999948,2015-01-01 00:01:20,bin80,35,True +abc,81,81,81,1970-03-23,8.099999999999987,8.099995,2015-01-01 00:01:21,bin81,75,True +abc,82,82,82,1970-03-24,8.199999999999987,8.199995,2015-01-01 00:01:22,bin82,35,True +abc,83,83,83,1970-03-25,8.299999999999986,8.299995,2015-01-01 00:01:23,bin83,75,True +abc,84,84,84,1970-03-26,8.399999999999986,8.399996,2015-01-01 00:01:24,bin84,35,True +abc,85,85,85,1970-03-27,8.499999999999986,8.499996,2015-01-01 00:01:25,bin85,75,True +abc,86,86,86,1970-03-28,8.599999999999985,8.599997,2015-01-01 00:01:26,bin86,35,True +abc,87,87,87,1970-03-29,8.699999999999985,8.699997,2015-01-01 00:01:27,bin87,75,True +abc,88,88,88,1970-03-30,8.799999999999985,8.799997,2015-01-01 00:01:28,bin88,35,True +abc,89,89,89,1970-03-31,8.899999999999984,8.899998,2015-01-01 00:01:29,bin89,75,True +abc,90,90,90,1970-04-01,8.999999999999984,8.999998,2015-01-01 00:01:30,bin90,35,True +abc,91,91,91,1970-04-02,9.099999999999984,9.099998,2015-01-01 00:01:31,bin91,75,True +abc,92,92,92,1970-04-03,9.199999999999983,9.199999,2015-01-01 00:01:32,bin92,35,True +abc,93,93,93,1970-04-04,9.299999999999983,9.299999,2015-01-01 00:01:33,bin93,75,True +abc,94,94,94,1970-04-05,9.399999999999983,9.4,2015-01-01 00:01:34,bin94,35,True +abc,95,95,95,1970-04-06,9.499999999999982,9.5,2015-01-01 00:01:35,bin95,75,True +abc,96,96,96,1970-04-07,9.599999999999982,9.6,2015-01-01 00:01:36,bin96,35,True +abc,97,97,97,1970-04-08,9.699999999999982,9.700001,2015-01-01 00:01:37,bin97,75,True +abc,98,98,98,1970-04-09,9.799999999999981,9.800001,2015-01-01 00:01:38,bin98,35,True +abc,99,99,99,1970-04-10,9.89999999999998,9.900002,2015-01-01 00:01:39,bin99,75,True +abc,100,100,100,1970-04-11,9.99999999999998,10.000002,2015-01-01 00:01:40,bin100,35,True +abc,101,101,101,1970-04-12,10.09999999999998,10.100002,2015-01-01 00:01:41,bin101,75,True +abc,102,102,102,1970-04-13,10.19999999999998,10.200003,2015-01-01 00:01:42,bin102,35,True +abc,103,103,103,1970-04-14,10.29999999999998,10.300003,2015-01-01 00:01:43,bin103,75,True +abc,104,104,104,1970-04-15,10.399999999999979,10.400003,2015-01-01 00:01:44,bin104,35,True +abc,105,105,105,1970-04-16,10.499999999999979,10.500004,2015-01-01 00:01:45,bin105,75,True +abc,106,106,106,1970-04-17,10.599999999999978,10.600004,2015-01-01 00:01:46,bin106,35,True +abc,107,107,107,1970-04-18,10.699999999999978,10.700005,2015-01-01 00:01:47,bin107,75,True +abc,108,108,108,1970-04-19,10.799999999999978,10.800005,2015-01-01 00:01:48,bin108,35,True +abc,109,109,109,1970-04-20,10.899999999999977,10.900005,2015-01-01 00:01:49,bin109,75,True +abc,110,110,110,1970-04-21,10.999999999999977,11.000006,2015-01-01 00:01:50,bin110,35,True +abc,111,111,111,1970-04-22,11.099999999999977,11.100006,2015-01-01 00:01:51,bin111,75,True +abc,112,112,112,1970-04-23,11.199999999999976,11.2000065,2015-01-01 00:01:52,bin112,35,True +abc,113,113,113,1970-04-24,11.299999999999976,11.300007,2015-01-01 00:01:53,bin113,75,True +abc,114,114,114,1970-04-25,11.399999999999975,11.400007,2015-01-01 00:01:54,bin114,35,True +abc,115,115,115,1970-04-26,11.499999999999975,11.500008,2015-01-01 00:01:55,bin115,75,True +abc,116,116,116,1970-04-27,11.599999999999975,11.600008,2015-01-01 00:01:56,bin116,35,True +abc,117,117,117,1970-04-28,11.699999999999974,11.700008,2015-01-01 00:01:57,bin117,75,True +abc,118,118,118,1970-04-29,11.799999999999974,11.800009,2015-01-01 00:01:58,bin118,35,True +abc,119,119,119,1970-04-30,11.899999999999974,11.900009,2015-01-01 00:01:59,bin119,75,True +abc,120,120,120,1970-05-01,11.999999999999973,12.00001,2015-01-01 00:02:00,bin120,35,True +abc,121,121,121,1970-05-02,12.099999999999973,12.10001,2015-01-01 00:02:01,bin121,75,True +abc,122,122,122,1970-05-03,12.199999999999973,12.20001,2015-01-01 00:02:02,bin122,35,True +abc,123,123,123,1970-05-04,12.299999999999972,12.300011,2015-01-01 00:02:03,bin123,75,True +abc,124,124,124,1970-05-05,12.399999999999972,12.400011,2015-01-01 00:02:04,bin124,35,True +abc,125,125,125,1970-05-06,12.499999999999972,12.500011,2015-01-01 00:02:05,bin125,75,True +abc,126,126,126,1970-05-07,12.599999999999971,12.600012,2015-01-01 00:02:06,bin126,35,True +abc,127,127,127,1970-05-08,12.69999999999997,12.700012,2015-01-01 00:02:07,bin127,75,True +abc,128,128,128,1970-05-09,12.79999999999997,12.800013,2015-01-01 00:02:08,bin128,35,True +abc,129,129,129,1970-05-10,12.89999999999997,12.900013,2015-01-01 00:02:09,bin129,75,True +abc,130,130,130,1970-05-11,12.99999999999997,13.000013,2015-01-01 00:02:10,bin130,35,True +abc,131,131,131,1970-05-12,13.09999999999997,13.100014,2015-01-01 00:02:11,bin131,75,True +abc,132,132,132,1970-05-13,13.199999999999969,13.200014,2015-01-01 00:02:12,bin132,35,True +abc,133,133,133,1970-05-14,13.299999999999969,13.3000145,2015-01-01 00:02:13,bin133,75,True +abc,134,134,134,1970-05-15,13.399999999999968,13.400015,2015-01-01 00:02:14,bin134,35,True +abc,135,135,135,1970-05-16,13.499999999999968,13.500015,2015-01-01 00:02:15,bin135,75,True +abc,136,136,136,1970-05-17,13.599999999999968,13.600016,2015-01-01 00:02:16,bin136,35,True +abc,137,137,137,1970-05-18,13.699999999999967,13.700016,2015-01-01 00:02:17,bin137,75,True +abc,138,138,138,1970-05-19,13.799999999999967,13.800016,2015-01-01 00:02:18,bin138,35,True +abc,139,139,139,1970-05-20,13.899999999999967,13.900017,2015-01-01 00:02:19,bin139,75,True +abc,140,140,140,1970-05-21,13.999999999999966,14.000017,2015-01-01 00:02:20,bin140,35,True +abc,141,141,141,1970-05-22,14.099999999999966,14.100018,2015-01-01 00:02:21,bin141,75,True +abc,142,142,142,1970-05-23,14.199999999999966,14.200018,2015-01-01 00:02:22,bin142,35,True +abc,143,143,143,1970-05-24,14.299999999999965,14.300018,2015-01-01 00:02:23,bin143,75,True +abc,144,144,144,1970-05-25,14.399999999999965,14.400019,2015-01-01 00:02:24,bin144,35,True +abc,145,145,145,1970-05-26,14.499999999999964,14.500019,2015-01-01 00:02:25,bin145,75,True +abc,146,146,146,1970-05-27,14.599999999999964,14.600019,2015-01-01 00:02:26,bin146,35,True +abc,147,147,147,1970-05-28,14.699999999999964,14.70002,2015-01-01 00:02:27,bin147,75,True +abc,148,148,148,1970-05-29,14.799999999999963,14.80002,2015-01-01 00:02:28,bin148,35,True +abc,149,149,149,1970-05-30,14.899999999999963,14.900021,2015-01-01 00:02:29,bin149,75,True +abc,150,150,150,1970-05-31,14.999999999999963,15.000021,2015-01-01 00:02:30,bin150,35,True +abc,151,151,151,1970-06-01,15.099999999999962,15.100021,2015-01-01 00:02:31,bin151,75,True +abc,152,152,152,1970-06-02,15.199999999999962,15.200022,2015-01-01 00:02:32,bin152,35,True +abc,153,153,153,1970-06-03,15.299999999999962,15.300022,2015-01-01 00:02:33,bin153,75,True +abc,154,154,154,1970-06-04,15.399999999999961,15.4000225,2015-01-01 00:02:34,bin154,35,True +abc,155,155,155,1970-06-05,15.499999999999961,15.500023,2015-01-01 00:02:35,bin155,75,True +abc,156,156,156,1970-06-06,15.59999999999996,15.600023,2015-01-01 00:02:36,bin156,35,True +abc,157,157,157,1970-06-07,15.69999999999996,15.700024,2015-01-01 00:02:37,bin157,75,True +abc,158,158,158,1970-06-08,15.79999999999996,15.800024,2015-01-01 00:02:38,bin158,35,True +abc,159,159,159,1970-06-09,15.89999999999996,15.900024,2015-01-01 00:02:39,bin159,75,True +abc,160,160,160,1970-06-10,15.99999999999996,16.000025,2015-01-01 00:02:40,bin160,35,True +abc,161,161,161,1970-06-11,16.09999999999996,16.100025,2015-01-01 00:02:41,bin161,75,True +abc,162,162,162,1970-06-12,16.19999999999996,16.200026,2015-01-01 00:02:42,bin162,35,True +abc,163,163,163,1970-06-13,16.29999999999996,16.300026,2015-01-01 00:02:43,bin163,75,True +abc,164,164,164,1970-06-14,16.399999999999963,16.400026,2015-01-01 00:02:44,bin164,35,True +abc,165,165,165,1970-06-15,16.499999999999964,16.500027,2015-01-01 00:02:45,bin165,75,True +abc,166,166,166,1970-06-16,16.599999999999966,16.600027,2015-01-01 00:02:46,bin166,35,True +abc,167,167,167,1970-06-17,16.699999999999967,16.700027,2015-01-01 00:02:47,bin167,75,True +abc,168,168,168,1970-06-18,16.79999999999997,16.800028,2015-01-01 00:02:48,bin168,35,True +abc,169,169,169,1970-06-19,16.89999999999997,16.900028,2015-01-01 00:02:49,bin169,75,True +abc,170,170,170,1970-06-20,16.99999999999997,17.000029,2015-01-01 00:02:50,bin170,35,True +abc,171,171,171,1970-06-21,17.099999999999973,17.100029,2015-01-01 00:02:51,bin171,75,True +abc,172,172,172,1970-06-22,17.199999999999974,17.20003,2015-01-01 00:02:52,bin172,35,True +abc,173,173,173,1970-06-23,17.299999999999976,17.30003,2015-01-01 00:02:53,bin173,75,True +abc,174,174,174,1970-06-24,17.399999999999977,17.40003,2015-01-01 00:02:54,bin174,35,True +abc,175,175,175,1970-06-25,17.49999999999998,17.50003,2015-01-01 00:02:55,bin175,75,True +abc,176,176,176,1970-06-26,17.59999999999998,17.60003,2015-01-01 00:02:56,bin176,35,True +abc,177,177,177,1970-06-27,17.69999999999998,17.700031,2015-01-01 00:02:57,bin177,75,True +abc,178,178,178,1970-06-28,17.799999999999983,17.800032,2015-01-01 00:02:58,bin178,35,True +abc,179,179,179,1970-06-29,17.899999999999984,17.900032,2015-01-01 00:02:59,bin179,75,True +abc,180,180,180,1970-06-30,17.999999999999986,18.000032,2015-01-01 00:03:00,bin180,35,True +abc,181,181,181,1970-07-01,18.099999999999987,18.100033,2015-01-01 00:03:01,bin181,75,True +abc,182,182,182,1970-07-02,18.19999999999999,18.200033,2015-01-01 00:03:02,bin182,35,True +abc,183,183,183,1970-07-03,18.29999999999999,18.300034,2015-01-01 00:03:03,bin183,75,True +abc,184,184,184,1970-07-04,18.39999999999999,18.400034,2015-01-01 00:03:04,bin184,35,True +abc,185,185,185,1970-07-05,18.499999999999993,18.500034,2015-01-01 00:03:05,bin185,75,True +abc,186,186,186,1970-07-06,18.599999999999994,18.600035,2015-01-01 00:03:06,bin186,35,True +abc,187,187,187,1970-07-07,18.699999999999996,18.700035,2015-01-01 00:03:07,bin187,75,True +abc,188,188,188,1970-07-08,18.799999999999997,18.800035,2015-01-01 00:03:08,bin188,35,True +abc,189,189,189,1970-07-09,18.9,18.900036,2015-01-01 00:03:09,bin189,75,True +abc,190,190,190,1970-07-10,19,19.000036,2015-01-01 00:03:10,bin190,35,True +abc,191,191,191,1970-07-11,19.1,19.100037,2015-01-01 00:03:11,bin191,75,True +abc,192,192,192,1970-07-12,19.200000000000003,19.200037,2015-01-01 00:03:12,bin192,35,True +abc,193,193,193,1970-07-13,19.300000000000004,19.300037,2015-01-01 00:03:13,bin193,75,True +abc,194,194,194,1970-07-14,19.400000000000006,19.400038,2015-01-01 00:03:14,bin194,35,True +abc,195,195,195,1970-07-15,19.500000000000007,19.500038,2015-01-01 00:03:15,bin195,75,True +abc,196,196,196,1970-07-16,19.60000000000001,19.600039,2015-01-01 00:03:16,bin196,35,True +abc,197,197,197,1970-07-17,19.70000000000001,19.700039,2015-01-01 00:03:17,bin197,75,True +abc,198,198,198,1970-07-18,19.80000000000001,19.80004,2015-01-01 00:03:18,bin198,35,True +abc,199,199,199,1970-07-19,19.900000000000013,19.90004,2015-01-01 00:03:19,bin199,75,True +abc,200,200,200,1970-07-20,20.000000000000014,20.00004,2015-01-01 00:03:20,bin200,35,True +abc,201,201,201,1970-07-21,20.100000000000016,20.10004,2015-01-01 00:03:21,bin201,75,True +abc,202,202,202,1970-07-22,20.200000000000017,20.20004,2015-01-01 00:03:22,bin202,35,True +abc,203,203,203,1970-07-23,20.30000000000002,20.300041,2015-01-01 00:03:23,bin203,75,True +abc,204,204,204,1970-07-24,20.40000000000002,20.400042,2015-01-01 00:03:24,bin204,35,True +abc,205,205,205,1970-07-25,20.50000000000002,20.500042,2015-01-01 00:03:25,bin205,75,True +abc,206,206,206,1970-07-26,20.600000000000023,20.600042,2015-01-01 00:03:26,bin206,35,True +abc,207,207,207,1970-07-27,20.700000000000024,20.700043,2015-01-01 00:03:27,bin207,75,True +abc,208,208,208,1970-07-28,20.800000000000026,20.800043,2015-01-01 00:03:28,bin208,35,True +abc,209,209,209,1970-07-29,20.900000000000027,20.900043,2015-01-01 00:03:29,bin209,75,True +abc,210,210,210,1970-07-30,21.00000000000003,21.000044,2015-01-01 00:03:30,bin210,35,True +abc,211,211,211,1970-07-31,21.10000000000003,21.100044,2015-01-01 00:03:31,bin211,75,True +abc,212,212,212,1970-08-01,21.20000000000003,21.200045,2015-01-01 00:03:32,bin212,35,True +abc,213,213,213,1970-08-02,21.300000000000033,21.300045,2015-01-01 00:03:33,bin213,75,True +abc,214,214,214,1970-08-03,21.400000000000034,21.400045,2015-01-01 00:03:34,bin214,35,True +abc,215,215,215,1970-08-04,21.500000000000036,21.500046,2015-01-01 00:03:35,bin215,75,True +abc,216,216,216,1970-08-05,21.600000000000037,21.600046,2015-01-01 00:03:36,bin216,35,True +abc,217,217,217,1970-08-06,21.70000000000004,21.700047,2015-01-01 00:03:37,bin217,75,True +abc,218,218,218,1970-08-07,21.80000000000004,21.800047,2015-01-01 00:03:38,bin218,35,True +abc,219,219,219,1970-08-08,21.90000000000004,21.900047,2015-01-01 00:03:39,bin219,75,True +abc,220,220,220,1970-08-09,22.000000000000043,22.000048,2015-01-01 00:03:40,bin220,35,True +abc,221,221,221,1970-08-10,22.100000000000044,22.100048,2015-01-01 00:03:41,bin221,75,True +abc,222,222,222,1970-08-11,22.200000000000045,22.200048,2015-01-01 00:03:42,bin222,35,True +abc,223,223,223,1970-08-12,22.300000000000047,22.300049,2015-01-01 00:03:43,bin223,75,True +abc,224,224,224,1970-08-13,22.40000000000005,22.40005,2015-01-01 00:03:44,bin224,35,True +abc,225,225,225,1970-08-14,22.50000000000005,22.50005,2015-01-01 00:03:45,bin225,75,True +abc,226,226,226,1970-08-15,22.60000000000005,22.60005,2015-01-01 00:03:46,bin226,35,True +abc,227,227,227,1970-08-16,22.700000000000053,22.70005,2015-01-01 00:03:47,bin227,75,True +abc,228,228,228,1970-08-17,22.800000000000054,22.80005,2015-01-01 00:03:48,bin228,35,True +abc,229,229,229,1970-08-18,22.900000000000055,22.900051,2015-01-01 00:03:49,bin229,75,True +abc,230,230,230,1970-08-19,23.000000000000057,23.000051,2015-01-01 00:03:50,bin230,35,True +abc,231,231,231,1970-08-20,23.10000000000006,23.100052,2015-01-01 00:03:51,bin231,75,True +abc,232,232,232,1970-08-21,23.20000000000006,23.200052,2015-01-01 00:03:52,bin232,35,True +abc,233,233,233,1970-08-22,23.30000000000006,23.300053,2015-01-01 00:03:53,bin233,75,True +abc,234,234,234,1970-08-23,23.400000000000063,23.400053,2015-01-01 00:03:54,bin234,35,True +abc,235,235,235,1970-08-24,23.500000000000064,23.500053,2015-01-01 00:03:55,bin235,75,True +abc,236,236,236,1970-08-25,23.600000000000065,23.600054,2015-01-01 00:03:56,bin236,35,True +abc,237,237,237,1970-08-26,23.700000000000067,23.700054,2015-01-01 00:03:57,bin237,75,True +abc,238,238,238,1970-08-27,23.800000000000068,23.800055,2015-01-01 00:03:58,bin238,35,True +abc,239,239,239,1970-08-28,23.90000000000007,23.900055,2015-01-01 00:03:59,bin239,75,True +abc,240,240,240,1970-08-29,24.00000000000007,24.000055,2015-01-01 00:04:00,bin240,35,True +abc,241,241,241,1970-08-30,24.100000000000072,24.100056,2015-01-01 00:04:01,bin241,75,True +abc,242,242,242,1970-08-31,24.200000000000074,24.200056,2015-01-01 00:04:02,bin242,35,True +abc,243,243,243,1970-09-01,24.300000000000075,24.300056,2015-01-01 00:04:03,bin243,75,True +abc,244,244,244,1970-09-02,24.400000000000077,24.400057,2015-01-01 00:04:04,bin244,35,True +abc,245,245,245,1970-09-03,24.500000000000078,24.500057,2015-01-01 00:04:05,bin245,75,True +abc,246,246,246,1970-09-04,24.60000000000008,24.600058,2015-01-01 00:04:06,bin246,35,True +abc,247,247,247,1970-09-05,24.70000000000008,24.700058,2015-01-01 00:04:07,bin247,75,True +abc,248,248,248,1970-09-06,24.800000000000082,24.800058,2015-01-01 00:04:08,bin248,35,True +abc,249,249,249,1970-09-07,24.900000000000084,24.900059,2015-01-01 00:04:09,bin249,75,True +abc,250,250,250,1970-09-08,25.000000000000085,25.00006,2015-01-01 00:04:10,bin250,35,True +abc,251,251,251,1970-09-09,25.100000000000087,25.10006,2015-01-01 00:04:11,bin251,75,True +abc,252,252,252,1970-09-10,25.200000000000088,25.20006,2015-01-01 00:04:12,bin252,35,True +abc,253,253,253,1970-09-11,25.30000000000009,25.30006,2015-01-01 00:04:13,bin253,75,True +abc,254,254,254,1970-09-12,25.40000000000009,25.40006,2015-01-01 00:04:14,bin254,35,True +abc,255,255,255,1970-09-13,25.500000000000092,25.500061,2015-01-01 00:04:15,bin255,75,True +abc,256,256,256,1970-09-14,25.600000000000094,25.600061,2015-01-01 00:04:16,bin256,35,True +abc,257,257,257,1970-09-15,25.700000000000095,25.700062,2015-01-01 00:04:17,bin257,75,True +abc,258,258,258,1970-09-16,25.800000000000097,25.800062,2015-01-01 00:04:18,bin258,35,True +abc,259,259,259,1970-09-17,25.900000000000098,25.900063,2015-01-01 00:04:19,bin259,75,True +abc,260,260,260,1970-09-18,26.0000000000001,26.000063,2015-01-01 00:04:20,bin260,35,True +abc,261,261,261,1970-09-19,26.1000000000001,26.100063,2015-01-01 00:04:21,bin261,75,True +abc,262,262,262,1970-09-20,26.200000000000102,26.200064,2015-01-01 00:04:22,bin262,35,True +abc,263,263,263,1970-09-21,26.300000000000104,26.300064,2015-01-01 00:04:23,bin263,75,True +abc,264,264,264,1970-09-22,26.400000000000105,26.400064,2015-01-01 00:04:24,bin264,35,True +abc,265,265,265,1970-09-23,26.500000000000107,26.500065,2015-01-01 00:04:25,bin265,75,True +abc,266,266,266,1970-09-24,26.600000000000108,26.600065,2015-01-01 00:04:26,bin266,35,True +abc,267,267,267,1970-09-25,26.70000000000011,26.700066,2015-01-01 00:04:27,bin267,75,True +abc,268,268,268,1970-09-26,26.80000000000011,26.800066,2015-01-01 00:04:28,bin268,35,True +abc,269,269,269,1970-09-27,26.900000000000112,26.900066,2015-01-01 00:04:29,bin269,75,True +abc,270,270,270,1970-09-28,27.000000000000114,27.000067,2015-01-01 00:04:30,bin270,35,True +abc,271,271,271,1970-09-29,27.100000000000115,27.100067,2015-01-01 00:04:31,bin271,75,True +abc,272,272,272,1970-09-30,27.200000000000117,27.200068,2015-01-01 00:04:32,bin272,35,True +abc,273,273,273,1970-10-01,27.300000000000118,27.300068,2015-01-01 00:04:33,bin273,75,True +abc,274,274,274,1970-10-02,27.40000000000012,27.400068,2015-01-01 00:04:34,bin274,35,True +abc,275,275,275,1970-10-03,27.50000000000012,27.500069,2015-01-01 00:04:35,bin275,75,True +abc,276,276,276,1970-10-04,27.600000000000122,27.600069,2015-01-01 00:04:36,bin276,35,True +abc,277,277,277,1970-10-05,27.700000000000124,27.70007,2015-01-01 00:04:37,bin277,75,True +abc,278,278,278,1970-10-06,27.800000000000125,27.80007,2015-01-01 00:04:38,bin278,35,True +abc,279,279,279,1970-10-07,27.900000000000126,27.90007,2015-01-01 00:04:39,bin279,75,True +abc,280,280,280,1970-10-08,28.000000000000128,28.00007,2015-01-01 00:04:40,bin280,35,True +abc,281,281,281,1970-10-09,28.10000000000013,28.10007,2015-01-01 00:04:41,bin281,75,True +abc,282,282,282,1970-10-10,28.20000000000013,28.200071,2015-01-01 00:04:42,bin282,35,True +abc,283,283,283,1970-10-11,28.300000000000132,28.300072,2015-01-01 00:04:43,bin283,75,True +abc,284,284,284,1970-10-12,28.400000000000134,28.400072,2015-01-01 00:04:44,bin284,35,True +abc,285,285,285,1970-10-13,28.500000000000135,28.500072,2015-01-01 00:04:45,bin285,75,True +abc,286,286,286,1970-10-14,28.600000000000136,28.600073,2015-01-01 00:04:46,bin286,35,True +abc,287,287,287,1970-10-15,28.700000000000138,28.700073,2015-01-01 00:04:47,bin287,75,True +abc,288,288,288,1970-10-16,28.80000000000014,28.800074,2015-01-01 00:04:48,bin288,35,True +abc,289,289,289,1970-10-17,28.90000000000014,28.900074,2015-01-01 00:04:49,bin289,75,True +abc,290,290,290,1970-10-18,29.000000000000142,29.000074,2015-01-01 00:04:50,bin290,35,True +abc,291,291,291,1970-10-19,29.100000000000144,29.100075,2015-01-01 00:04:51,bin291,75,True +abc,292,292,292,1970-10-20,29.200000000000145,29.200075,2015-01-01 00:04:52,bin292,35,True +abc,293,293,293,1970-10-21,29.300000000000146,29.300076,2015-01-01 00:04:53,bin293,75,True +abc,294,294,294,1970-10-22,29.400000000000148,29.400076,2015-01-01 00:04:54,bin294,35,True +abc,295,295,295,1970-10-23,29.50000000000015,29.500076,2015-01-01 00:04:55,bin295,75,True +abc,296,296,296,1970-10-24,29.60000000000015,29.600077,2015-01-01 00:04:56,bin296,35,True +abc,297,297,297,1970-10-25,29.700000000000152,29.700077,2015-01-01 00:04:57,bin297,75,True +abc,298,298,298,1970-10-26,29.800000000000153,29.800077,2015-01-01 00:04:58,bin298,35,True +abc,299,299,299,1970-10-27,29.900000000000155,29.900078,2015-01-01 00:04:59,bin299,75,True +abc,300,300,300,1970-10-28,30.000000000000156,30.000078,2015-01-01 00:05:00,bin300,35,True +abc,301,301,301,1970-10-29,30.100000000000158,30.100079,2015-01-01 00:05:01,bin301,75,True +abc,302,302,302,1970-10-30,30.20000000000016,30.200079,2015-01-01 00:05:02,bin302,35,True +abc,303,303,303,1970-10-31,30.30000000000016,30.30008,2015-01-01 00:05:03,bin303,75,True +abc,304,304,304,1970-11-01,30.400000000000162,30.40008,2015-01-01 00:05:04,bin304,35,True +abc,305,305,305,1970-11-02,30.500000000000163,30.50008,2015-01-01 00:05:05,bin305,75,True +abc,306,306,306,1970-11-03,30.600000000000165,30.60008,2015-01-01 00:05:06,bin306,35,True +abc,307,307,307,1970-11-04,30.700000000000166,30.70008,2015-01-01 00:05:07,bin307,75,True +abc,308,308,308,1970-11-05,30.800000000000168,30.800081,2015-01-01 00:05:08,bin308,35,True +abc,309,309,309,1970-11-06,30.90000000000017,30.900082,2015-01-01 00:05:09,bin309,75,True +abc,310,310,310,1970-11-07,31.00000000000017,31.000082,2015-01-01 00:05:10,bin310,35,True +abc,311,311,311,1970-11-08,31.100000000000172,31.100082,2015-01-01 00:05:11,bin311,75,True +abc,312,312,312,1970-11-09,31.200000000000173,31.200083,2015-01-01 00:05:12,bin312,35,True +abc,313,313,313,1970-11-10,31.300000000000175,31.300083,2015-01-01 00:05:13,bin313,75,True +abc,314,314,314,1970-11-11,31.400000000000176,31.400084,2015-01-01 00:05:14,bin314,35,True +abc,315,315,315,1970-11-12,31.500000000000178,31.500084,2015-01-01 00:05:15,bin315,75,True +abc,316,316,316,1970-11-13,31.60000000000018,31.600084,2015-01-01 00:05:16,bin316,35,True +abc,317,317,317,1970-11-14,31.70000000000018,31.700085,2015-01-01 00:05:17,bin317,75,True +abc,318,318,318,1970-11-15,31.800000000000182,31.800085,2015-01-01 00:05:18,bin318,35,True +abc,319,319,319,1970-11-16,31.900000000000183,31.900085,2015-01-01 00:05:19,bin319,75,True +abc,320,320,320,1970-11-17,32.000000000000185,32.000084,2015-01-01 00:05:20,bin320,35,True +abc,321,321,321,1970-11-18,32.100000000000186,32.100082,2015-01-01 00:05:21,bin321,75,True +abc,322,322,322,1970-11-19,32.20000000000019,32.20008,2015-01-01 00:05:22,bin322,35,True +abc,323,323,323,1970-11-20,32.30000000000019,32.30008,2015-01-01 00:05:23,bin323,75,True +abc,324,324,324,1970-11-21,32.40000000000019,32.400078,2015-01-01 00:05:24,bin324,35,True +abc,325,325,325,1970-11-22,32.50000000000019,32.500076,2015-01-01 00:05:25,bin325,75,True +abc,326,326,326,1970-11-23,32.60000000000019,32.600075,2015-01-01 00:05:26,bin326,35,True +abc,327,327,327,1970-11-24,32.700000000000195,32.700073,2015-01-01 00:05:27,bin327,75,True +abc,328,328,328,1970-11-25,32.800000000000196,32.80007,2015-01-01 00:05:28,bin328,35,True +abc,329,329,329,1970-11-26,32.9000000000002,32.90007,2015-01-01 00:05:29,bin329,75,True +abc,330,330,330,1970-11-27,33.0000000000002,33.00007,2015-01-01 00:05:30,bin330,35,True +abc,331,331,331,1970-11-28,33.1000000000002,33.100067,2015-01-01 00:05:31,bin331,75,True +abc,332,332,332,1970-11-29,33.2000000000002,33.200066,2015-01-01 00:05:32,bin332,35,True +abc,333,333,333,1970-11-30,33.3000000000002,33.300064,2015-01-01 00:05:33,bin333,75,True +abc,334,334,334,1970-12-01,33.400000000000205,33.400063,2015-01-01 00:05:34,bin334,35,True +abc,335,335,335,1970-12-02,33.500000000000206,33.50006,2015-01-01 00:05:35,bin335,75,True +abc,336,336,336,1970-12-03,33.60000000000021,33.60006,2015-01-01 00:05:36,bin336,35,True +abc,337,337,337,1970-12-04,33.70000000000021,33.700058,2015-01-01 00:05:37,bin337,75,True +abc,338,338,338,1970-12-05,33.80000000000021,33.800056,2015-01-01 00:05:38,bin338,35,True +abc,339,339,339,1970-12-06,33.90000000000021,33.900055,2015-01-01 00:05:39,bin339,75,True +abc,340,340,340,1970-12-07,34.00000000000021,34.000053,2015-01-01 00:05:40,bin340,35,True +abc,341,341,341,1970-12-08,34.100000000000215,34.10005,2015-01-01 00:05:41,bin341,75,True +abc,342,342,342,1970-12-09,34.200000000000216,34.20005,2015-01-01 00:05:42,bin342,35,True +abc,343,343,343,1970-12-10,34.30000000000022,34.30005,2015-01-01 00:05:43,bin343,75,True +abc,344,344,344,1970-12-11,34.40000000000022,34.400047,2015-01-01 00:05:44,bin344,35,True +abc,345,345,345,1970-12-12,34.50000000000022,34.500046,2015-01-01 00:05:45,bin345,75,True +abc,346,346,346,1970-12-13,34.60000000000022,34.600044,2015-01-01 00:05:46,bin346,35,True +abc,347,347,347,1970-12-14,34.70000000000022,34.700043,2015-01-01 00:05:47,bin347,75,True +abc,348,348,348,1970-12-15,34.800000000000225,34.80004,2015-01-01 00:05:48,bin348,35,True +abc,349,349,349,1970-12-16,34.900000000000226,34.90004,2015-01-01 00:05:49,bin349,75,True +abc,350,350,350,1970-12-17,35.00000000000023,35.00004,2015-01-01 00:05:50,bin350,35,True +abc,351,351,351,1970-12-18,35.10000000000023,35.100037,2015-01-01 00:05:51,bin351,75,True +abc,352,352,352,1970-12-19,35.20000000000023,35.200035,2015-01-01 00:05:52,bin352,35,True +abc,353,353,353,1970-12-20,35.30000000000023,35.300034,2015-01-01 00:05:53,bin353,75,True +abc,354,354,354,1970-12-21,35.40000000000023,35.400032,2015-01-01 00:05:54,bin354,35,True +abc,355,355,355,1970-12-22,35.500000000000234,35.50003,2015-01-01 00:05:55,bin355,75,True +abc,356,356,356,1970-12-23,35.600000000000236,35.60003,2015-01-01 00:05:56,bin356,35,True +abc,357,357,357,1970-12-24,35.70000000000024,35.700027,2015-01-01 00:05:57,bin357,75,True +abc,358,358,358,1970-12-25,35.80000000000024,35.800026,2015-01-01 00:05:58,bin358,35,True +abc,359,359,359,1970-12-26,35.90000000000024,35.900024,2015-01-01 00:05:59,bin359,75,True +abc,360,360,360,1970-12-27,36.00000000000024,36.000023,2015-01-01 00:06:00,bin360,35,True +abc,361,361,361,1970-12-28,36.10000000000024,36.10002,2015-01-01 00:06:01,bin361,75,True +abc,362,362,362,1970-12-29,36.200000000000244,36.20002,2015-01-01 00:06:02,bin362,35,True +abc,363,363,363,1970-12-30,36.300000000000246,36.30002,2015-01-01 00:06:03,bin363,75,True +abc,364,364,364,1970-12-31,36.40000000000025,36.400017,2015-01-01 00:06:04,bin364,35,True +abc,365,365,365,1971-01-01,36.50000000000025,36.500015,2015-01-01 00:06:05,bin365,75,True +abc,366,366,366,1971-01-02,36.60000000000025,36.600014,2015-01-01 00:06:06,bin366,35,True +abc,367,367,367,1971-01-03,36.70000000000025,36.700012,2015-01-01 00:06:07,bin367,75,True +abc,368,368,368,1971-01-04,36.80000000000025,36.80001,2015-01-01 00:06:08,bin368,35,True +abc,369,369,369,1971-01-05,36.900000000000254,36.90001,2015-01-01 00:06:09,bin369,75,True +abc,370,370,370,1971-01-06,37.000000000000256,37.000008,2015-01-01 00:06:10,bin370,35,True +abc,371,371,371,1971-01-07,37.10000000000026,37.100006,2015-01-01 00:06:11,bin371,75,True +abc,372,372,372,1971-01-08,37.20000000000026,37.200005,2015-01-01 00:06:12,bin372,35,True +abc,373,373,373,1971-01-09,37.30000000000026,37.300003,2015-01-01 00:06:13,bin373,75,True +abc,374,374,374,1971-01-10,37.40000000000026,37.4,2015-01-01 00:06:14,bin374,35,True +abc,375,375,375,1971-01-11,37.50000000000026,37.5,2015-01-01 00:06:15,bin375,75,True +abc,376,376,376,1971-01-12,37.600000000000264,37.6,2015-01-01 00:06:16,bin376,35,True +abc,377,377,377,1971-01-13,37.700000000000266,37.699997,2015-01-01 00:06:17,bin377,75,True +abc,378,378,378,1971-01-14,37.80000000000027,37.799995,2015-01-01 00:06:18,bin378,35,True +abc,379,379,379,1971-01-15,37.90000000000027,37.899994,2015-01-01 00:06:19,bin379,75,True +abc,380,380,380,1971-01-16,38.00000000000027,37.999992,2015-01-01 00:06:20,bin380,35,True +abc,381,381,381,1971-01-17,38.10000000000027,38.09999,2015-01-01 00:06:21,bin381,75,True +abc,382,382,382,1971-01-18,38.20000000000027,38.19999,2015-01-01 00:06:22,bin382,35,True +abc,383,383,383,1971-01-19,38.300000000000274,38.299988,2015-01-01 00:06:23,bin383,75,True +abc,384,384,384,1971-01-20,38.400000000000276,38.399986,2015-01-01 00:06:24,bin384,35,True +abc,385,385,385,1971-01-21,38.50000000000028,38.499985,2015-01-01 00:06:25,bin385,75,True +abc,386,386,386,1971-01-22,38.60000000000028,38.599983,2015-01-01 00:06:26,bin386,35,True +abc,387,387,387,1971-01-23,38.70000000000028,38.69998,2015-01-01 00:06:27,bin387,75,True +abc,388,388,388,1971-01-24,38.80000000000028,38.79998,2015-01-01 00:06:28,bin388,35,True +abc,389,389,389,1971-01-25,38.90000000000028,38.89998,2015-01-01 00:06:29,bin389,75,True +abc,390,390,390,1971-01-26,39.000000000000284,38.999977,2015-01-01 00:06:30,bin390,35,True +abc,391,391,391,1971-01-27,39.100000000000286,39.099976,2015-01-01 00:06:31,bin391,75,True +abc,392,392,392,1971-01-28,39.20000000000029,39.199974,2015-01-01 00:06:32,bin392,35,True +abc,393,393,393,1971-01-29,39.30000000000029,39.299973,2015-01-01 00:06:33,bin393,75,True +abc,394,394,394,1971-01-30,39.40000000000029,39.39997,2015-01-01 00:06:34,bin394,35,True +abc,395,395,395,1971-01-31,39.50000000000029,39.49997,2015-01-01 00:06:35,bin395,75,True +abc,396,396,396,1971-02-01,39.60000000000029,39.599968,2015-01-01 00:06:36,bin396,35,True +abc,397,397,397,1971-02-02,39.700000000000294,39.699966,2015-01-01 00:06:37,bin397,75,True +abc,398,398,398,1971-02-03,39.800000000000296,39.799965,2015-01-01 00:06:38,bin398,35,True +abc,399,399,399,1971-02-04,39.9000000000003,39.899963,2015-01-01 00:06:39,bin399,75,True +abc,400,400,400,1971-02-05,40.0000000000003,39.99996,2015-01-01 00:06:40,bin400,35,True +abc,401,401,401,1971-02-06,40.1000000000003,40.09996,2015-01-01 00:06:41,bin401,75,True +abc,402,402,402,1971-02-07,40.2000000000003,40.19996,2015-01-01 00:06:42,bin402,35,True +abc,403,403,403,1971-02-08,40.3000000000003,40.299957,2015-01-01 00:06:43,bin403,75,True +abc,404,404,404,1971-02-09,40.400000000000304,40.399956,2015-01-01 00:06:44,bin404,35,True +abc,405,405,405,1971-02-10,40.500000000000306,40.499954,2015-01-01 00:06:45,bin405,75,True +abc,406,406,406,1971-02-11,40.60000000000031,40.599953,2015-01-01 00:06:46,bin406,35,True +abc,407,407,407,1971-02-12,40.70000000000031,40.69995,2015-01-01 00:06:47,bin407,75,True +abc,408,408,408,1971-02-13,40.80000000000031,40.79995,2015-01-01 00:06:48,bin408,35,True +abc,409,409,409,1971-02-14,40.90000000000031,40.89995,2015-01-01 00:06:49,bin409,75,True +abc,410,410,410,1971-02-15,41.00000000000031,40.999947,2015-01-01 00:06:50,bin410,35,True +abc,411,411,411,1971-02-16,41.100000000000314,41.099945,2015-01-01 00:06:51,bin411,75,True +abc,412,412,412,1971-02-17,41.200000000000315,41.199944,2015-01-01 00:06:52,bin412,35,True +abc,413,413,413,1971-02-18,41.30000000000032,41.299942,2015-01-01 00:06:53,bin413,75,True +abc,414,414,414,1971-02-19,41.40000000000032,41.39994,2015-01-01 00:06:54,bin414,35,True +abc,415,415,415,1971-02-20,41.50000000000032,41.49994,2015-01-01 00:06:55,bin415,75,True +abc,416,416,416,1971-02-21,41.60000000000032,41.599937,2015-01-01 00:06:56,bin416,35,True +abc,417,417,417,1971-02-22,41.70000000000032,41.699936,2015-01-01 00:06:57,bin417,75,True +abc,418,418,418,1971-02-23,41.800000000000324,41.799934,2015-01-01 00:06:58,bin418,35,True +abc,419,419,419,1971-02-24,41.900000000000325,41.899933,2015-01-01 00:06:59,bin419,75,True +abc,420,420,420,1971-02-25,42.00000000000033,41.99993,2015-01-01 00:07:00,bin420,35,True +abc,421,421,421,1971-02-26,42.10000000000033,42.09993,2015-01-01 00:07:01,bin421,75,True +abc,422,422,422,1971-02-27,42.20000000000033,42.19993,2015-01-01 00:07:02,bin422,35,True +abc,423,423,423,1971-02-28,42.30000000000033,42.299927,2015-01-01 00:07:03,bin423,75,True +abc,424,424,424,1971-03-01,42.40000000000033,42.399925,2015-01-01 00:07:04,bin424,35,True +abc,425,425,425,1971-03-02,42.500000000000334,42.499924,2015-01-01 00:07:05,bin425,75,True +abc,426,426,426,1971-03-03,42.600000000000335,42.599922,2015-01-01 00:07:06,bin426,35,True +abc,427,427,427,1971-03-04,42.70000000000034,42.69992,2015-01-01 00:07:07,bin427,75,True +abc,428,428,428,1971-03-05,42.80000000000034,42.79992,2015-01-01 00:07:08,bin428,35,True +abc,429,429,429,1971-03-06,42.90000000000034,42.899918,2015-01-01 00:07:09,bin429,75,True +abc,430,430,430,1971-03-07,43.00000000000034,42.999916,2015-01-01 00:07:10,bin430,35,True +abc,431,431,431,1971-03-08,43.10000000000034,43.099915,2015-01-01 00:07:11,bin431,75,True +abc,432,432,432,1971-03-09,43.200000000000344,43.199913,2015-01-01 00:07:12,bin432,35,True +abc,433,433,433,1971-03-10,43.300000000000345,43.29991,2015-01-01 00:07:13,bin433,75,True +abc,434,434,434,1971-03-11,43.40000000000035,43.39991,2015-01-01 00:07:14,bin434,35,True +abc,435,435,435,1971-03-12,43.50000000000035,43.49991,2015-01-01 00:07:15,bin435,75,True +abc,436,436,436,1971-03-13,43.60000000000035,43.599907,2015-01-01 00:07:16,bin436,35,True +abc,437,437,437,1971-03-14,43.70000000000035,43.699905,2015-01-01 00:07:17,bin437,75,True +abc,438,438,438,1971-03-15,43.80000000000035,43.799904,2015-01-01 00:07:18,bin438,35,True +abc,439,439,439,1971-03-16,43.900000000000354,43.899902,2015-01-01 00:07:19,bin439,75,True +abc,440,440,440,1971-03-17,44.000000000000355,43.9999,2015-01-01 00:07:20,bin440,35,True +abc,441,441,441,1971-03-18,44.10000000000036,44.0999,2015-01-01 00:07:21,bin441,75,True +abc,442,442,442,1971-03-19,44.20000000000036,44.199898,2015-01-01 00:07:22,bin442,35,True +abc,443,443,443,1971-03-20,44.30000000000036,44.299896,2015-01-01 00:07:23,bin443,75,True +abc,444,444,444,1971-03-21,44.40000000000036,44.399895,2015-01-01 00:07:24,bin444,35,True +abc,445,445,445,1971-03-22,44.50000000000036,44.499893,2015-01-01 00:07:25,bin445,75,True +abc,446,446,446,1971-03-23,44.600000000000364,44.59989,2015-01-01 00:07:26,bin446,35,True +abc,447,447,447,1971-03-24,44.700000000000365,44.69989,2015-01-01 00:07:27,bin447,75,True +abc,448,448,448,1971-03-25,44.80000000000037,44.79989,2015-01-01 00:07:28,bin448,35,True +abc,449,449,449,1971-03-26,44.90000000000037,44.899887,2015-01-01 00:07:29,bin449,75,True +abc,450,450,450,1971-03-27,45.00000000000037,44.999886,2015-01-01 00:07:30,bin450,35,True +abc,451,451,451,1971-03-28,45.10000000000037,45.099884,2015-01-01 00:07:31,bin451,75,True +abc,452,452,452,1971-03-29,45.20000000000037,45.199883,2015-01-01 00:07:32,bin452,35,True +abc,453,453,453,1971-03-30,45.300000000000374,45.29988,2015-01-01 00:07:33,bin453,75,True +abc,454,454,454,1971-03-31,45.400000000000375,45.39988,2015-01-01 00:07:34,bin454,35,True +abc,455,455,455,1971-04-01,45.50000000000038,45.499878,2015-01-01 00:07:35,bin455,75,True +abc,456,456,456,1971-04-02,45.60000000000038,45.599876,2015-01-01 00:07:36,bin456,35,True +abc,457,457,457,1971-04-03,45.70000000000038,45.699875,2015-01-01 00:07:37,bin457,75,True +abc,458,458,458,1971-04-04,45.80000000000038,45.799873,2015-01-01 00:07:38,bin458,35,True +abc,459,459,459,1971-04-05,45.90000000000038,45.89987,2015-01-01 00:07:39,bin459,75,True +abc,460,460,460,1971-04-06,46.000000000000384,45.99987,2015-01-01 00:07:40,bin460,35,True +abc,461,461,461,1971-04-07,46.100000000000385,46.09987,2015-01-01 00:07:41,bin461,75,True +abc,462,462,462,1971-04-08,46.20000000000039,46.199867,2015-01-01 00:07:42,bin462,35,True +abc,463,463,463,1971-04-09,46.30000000000039,46.299866,2015-01-01 00:07:43,bin463,75,True +abc,464,464,464,1971-04-10,46.40000000000039,46.399864,2015-01-01 00:07:44,bin464,35,True +abc,465,465,465,1971-04-11,46.50000000000039,46.499863,2015-01-01 00:07:45,bin465,75,True +abc,466,466,466,1971-04-12,46.60000000000039,46.59986,2015-01-01 00:07:46,bin466,35,True +abc,467,467,467,1971-04-13,46.700000000000394,46.69986,2015-01-01 00:07:47,bin467,75,True +abc,468,468,468,1971-04-14,46.800000000000395,46.79986,2015-01-01 00:07:48,bin468,35,True +abc,469,469,469,1971-04-15,46.9000000000004,46.899857,2015-01-01 00:07:49,bin469,75,True +abc,470,470,470,1971-04-16,47.0000000000004,46.999855,2015-01-01 00:07:50,bin470,35,True +abc,471,471,471,1971-04-17,47.1000000000004,47.099854,2015-01-01 00:07:51,bin471,75,True +abc,472,472,472,1971-04-18,47.2000000000004,47.199852,2015-01-01 00:07:52,bin472,35,True +abc,473,473,473,1971-04-19,47.3000000000004,47.29985,2015-01-01 00:07:53,bin473,75,True +abc,474,474,474,1971-04-20,47.400000000000404,47.39985,2015-01-01 00:07:54,bin474,35,True +abc,475,475,475,1971-04-21,47.500000000000405,47.499847,2015-01-01 00:07:55,bin475,75,True +abc,476,476,476,1971-04-22,47.600000000000406,47.599846,2015-01-01 00:07:56,bin476,35,True +abc,477,477,477,1971-04-23,47.70000000000041,47.699844,2015-01-01 00:07:57,bin477,75,True +abc,478,478,478,1971-04-24,47.80000000000041,47.799843,2015-01-01 00:07:58,bin478,35,True +abc,479,479,479,1971-04-25,47.90000000000041,47.89984,2015-01-01 00:07:59,bin479,75,True +abc,480,480,480,1971-04-26,48.00000000000041,47.99984,2015-01-01 00:08:00,bin480,35,True +abc,481,481,481,1971-04-27,48.10000000000041,48.09984,2015-01-01 00:08:01,bin481,75,True +abc,482,482,482,1971-04-28,48.200000000000415,48.199837,2015-01-01 00:08:02,bin482,35,True +abc,483,483,483,1971-04-29,48.300000000000416,48.299835,2015-01-01 00:08:03,bin483,75,True +abc,484,484,484,1971-04-30,48.40000000000042,48.399834,2015-01-01 00:08:04,bin484,35,True +abc,485,485,485,1971-05-01,48.50000000000042,48.499832,2015-01-01 00:08:05,bin485,75,True +abc,486,486,486,1971-05-02,48.60000000000042,48.59983,2015-01-01 00:08:06,bin486,35,True +abc,487,487,487,1971-05-03,48.70000000000042,48.69983,2015-01-01 00:08:07,bin487,75,True +abc,488,488,488,1971-05-04,48.80000000000042,48.799828,2015-01-01 00:08:08,bin488,35,True +abc,489,489,489,1971-05-05,48.900000000000425,48.899826,2015-01-01 00:08:09,bin489,75,True +abc,490,490,490,1971-05-06,49.000000000000426,48.999825,2015-01-01 00:08:10,bin490,35,True +abc,491,491,491,1971-05-07,49.10000000000043,49.099823,2015-01-01 00:08:11,bin491,75,True +abc,492,492,492,1971-05-08,49.20000000000043,49.19982,2015-01-01 00:08:12,bin492,35,True +abc,493,493,493,1971-05-09,49.30000000000043,49.29982,2015-01-01 00:08:13,bin493,75,True +abc,494,494,494,1971-05-10,49.40000000000043,49.39982,2015-01-01 00:08:14,bin494,35,True +abc,495,495,495,1971-05-11,49.50000000000043,49.499817,2015-01-01 00:08:15,bin495,75,True +abc,496,496,496,1971-05-12,49.600000000000435,49.599815,2015-01-01 00:08:16,bin496,35,True +abc,497,497,497,1971-05-13,49.700000000000436,49.699814,2015-01-01 00:08:17,bin497,75,True +abc,498,498,498,1971-05-14,49.80000000000044,49.799812,2015-01-01 00:08:18,bin498,35,True +abc,499,499,499,1971-05-15,49.90000000000044,49.89981,2015-01-01 00:08:19,bin499,75,True +abc,500,500,500,1971-05-16,50.00000000000044,49.99981,2015-01-01 00:08:20,bin500,35,True +abc,501,501,501,1971-05-17,50.10000000000044,50.099808,2015-01-01 00:08:21,bin501,75,True +abc,502,502,502,1971-05-18,50.20000000000044,50.199806,2015-01-01 00:08:22,bin502,35,True +abc,503,503,503,1971-05-19,50.300000000000445,50.299805,2015-01-01 00:08:23,bin503,75,True +abc,504,504,504,1971-05-20,50.400000000000446,50.399803,2015-01-01 00:08:24,bin504,35,True +abc,505,505,505,1971-05-21,50.50000000000045,50.4998,2015-01-01 00:08:25,bin505,75,True +abc,506,506,506,1971-05-22,50.60000000000045,50.5998,2015-01-01 00:08:26,bin506,35,True +abc,507,507,507,1971-05-23,50.70000000000045,50.6998,2015-01-01 00:08:27,bin507,75,True +abc,508,508,508,1971-05-24,50.80000000000045,50.799797,2015-01-01 00:08:28,bin508,35,True +abc,509,509,509,1971-05-25,50.90000000000045,50.899796,2015-01-01 00:08:29,bin509,75,True +abc,510,510,510,1971-05-26,51.000000000000455,50.999794,2015-01-01 00:08:30,bin510,35,True +abc,511,511,511,1971-05-27,51.100000000000456,51.099792,2015-01-01 00:08:31,bin511,75,True +abc,512,512,512,1971-05-28,51.20000000000046,51.19979,2015-01-01 00:08:32,bin512,35,True +abc,513,513,513,1971-05-29,51.30000000000046,51.29979,2015-01-01 00:08:33,bin513,75,True +abc,514,514,514,1971-05-30,51.40000000000046,51.399788,2015-01-01 00:08:34,bin514,35,True +abc,515,515,515,1971-05-31,51.50000000000046,51.499786,2015-01-01 00:08:35,bin515,75,True +abc,516,516,516,1971-06-01,51.60000000000046,51.599785,2015-01-01 00:08:36,bin516,35,True +abc,517,517,517,1971-06-02,51.700000000000465,51.699783,2015-01-01 00:08:37,bin517,75,True +abc,518,518,518,1971-06-03,51.800000000000466,51.79978,2015-01-01 00:08:38,bin518,35,True +abc,519,519,519,1971-06-04,51.90000000000047,51.89978,2015-01-01 00:08:39,bin519,75,True +abc,520,520,520,1971-06-05,52.00000000000047,51.99978,2015-01-01 00:08:40,bin520,35,True +abc,521,521,521,1971-06-06,52.10000000000047,52.099777,2015-01-01 00:08:41,bin521,75,True +abc,522,522,522,1971-06-07,52.20000000000047,52.199776,2015-01-01 00:08:42,bin522,35,True +abc,523,523,523,1971-06-08,52.30000000000047,52.299774,2015-01-01 00:08:43,bin523,75,True +abc,524,524,524,1971-06-09,52.400000000000475,52.399773,2015-01-01 00:08:44,bin524,35,True +abc,525,525,525,1971-06-10,52.500000000000476,52.49977,2015-01-01 00:08:45,bin525,75,True +abc,526,526,526,1971-06-11,52.60000000000048,52.59977,2015-01-01 00:08:46,bin526,35,True +abc,527,527,527,1971-06-12,52.70000000000048,52.699768,2015-01-01 00:08:47,bin527,75,True +abc,528,528,528,1971-06-13,52.80000000000048,52.799767,2015-01-01 00:08:48,bin528,35,True +abc,529,529,529,1971-06-14,52.90000000000048,52.899765,2015-01-01 00:08:49,bin529,75,True +abc,530,530,530,1971-06-15,53.00000000000048,52.999763,2015-01-01 00:08:50,bin530,35,True +abc,531,531,531,1971-06-16,53.100000000000485,53.099762,2015-01-01 00:08:51,bin531,75,True +abc,532,532,532,1971-06-17,53.200000000000486,53.19976,2015-01-01 00:08:52,bin532,35,True +abc,533,533,533,1971-06-18,53.30000000000049,53.29976,2015-01-01 00:08:53,bin533,75,True +abc,534,534,534,1971-06-19,53.40000000000049,53.399757,2015-01-01 00:08:54,bin534,35,True +abc,535,535,535,1971-06-20,53.50000000000049,53.499756,2015-01-01 00:08:55,bin535,75,True +abc,536,536,536,1971-06-21,53.60000000000049,53.599754,2015-01-01 00:08:56,bin536,35,True +abc,537,537,537,1971-06-22,53.70000000000049,53.699753,2015-01-01 00:08:57,bin537,75,True +abc,538,538,538,1971-06-23,53.800000000000495,53.79975,2015-01-01 00:08:58,bin538,35,True +abc,539,539,539,1971-06-24,53.900000000000496,53.89975,2015-01-01 00:08:59,bin539,75,True +abc,540,540,540,1971-06-25,54.0000000000005,53.99975,2015-01-01 00:09:00,bin540,35,True +abc,541,541,541,1971-06-26,54.1000000000005,54.099747,2015-01-01 00:09:01,bin541,75,True +abc,542,542,542,1971-06-27,54.2000000000005,54.199745,2015-01-01 00:09:02,bin542,35,True +abc,543,543,543,1971-06-28,54.3000000000005,54.299744,2015-01-01 00:09:03,bin543,75,True +abc,544,544,544,1971-06-29,54.4000000000005,54.399742,2015-01-01 00:09:04,bin544,35,True +abc,545,545,545,1971-06-30,54.500000000000504,54.49974,2015-01-01 00:09:05,bin545,75,True +abc,546,546,546,1971-07-01,54.600000000000506,54.59974,2015-01-01 00:09:06,bin546,35,True +abc,547,547,547,1971-07-02,54.70000000000051,54.699738,2015-01-01 00:09:07,bin547,75,True +abc,548,548,548,1971-07-03,54.80000000000051,54.799736,2015-01-01 00:09:08,bin548,35,True +abc,549,549,549,1971-07-04,54.90000000000051,54.899734,2015-01-01 00:09:09,bin549,75,True +abc,550,550,550,1971-07-05,55.00000000000051,54.999733,2015-01-01 00:09:10,bin550,35,True +abc,551,551,551,1971-07-06,55.10000000000051,55.09973,2015-01-01 00:09:11,bin551,75,True +abc,552,552,552,1971-07-07,55.200000000000514,55.19973,2015-01-01 00:09:12,bin552,35,True +abc,553,553,553,1971-07-08,55.300000000000516,55.29973,2015-01-01 00:09:13,bin553,75,True +abc,554,554,554,1971-07-09,55.40000000000052,55.399727,2015-01-01 00:09:14,bin554,35,True +abc,555,555,555,1971-07-10,55.50000000000052,55.499725,2015-01-01 00:09:15,bin555,75,True +abc,556,556,556,1971-07-11,55.60000000000052,55.599724,2015-01-01 00:09:16,bin556,35,True +abc,557,557,557,1971-07-12,55.70000000000052,55.699722,2015-01-01 00:09:17,bin557,75,True +abc,558,558,558,1971-07-13,55.80000000000052,55.79972,2015-01-01 00:09:18,bin558,35,True +abc,559,559,559,1971-07-14,55.900000000000524,55.89972,2015-01-01 00:09:19,bin559,75,True +abc,560,560,560,1971-07-15,56.000000000000526,55.999718,2015-01-01 00:09:20,bin560,35,True +abc,561,561,561,1971-07-16,56.10000000000053,56.099716,2015-01-01 00:09:21,bin561,75,True +abc,562,562,562,1971-07-17,56.20000000000053,56.199715,2015-01-01 00:09:22,bin562,35,True +abc,563,563,563,1971-07-18,56.30000000000053,56.299713,2015-01-01 00:09:23,bin563,75,True +abc,564,564,564,1971-07-19,56.40000000000053,56.39971,2015-01-01 00:09:24,bin564,35,True +abc,565,565,565,1971-07-20,56.50000000000053,56.49971,2015-01-01 00:09:25,bin565,75,True +abc,566,566,566,1971-07-21,56.600000000000534,56.59971,2015-01-01 00:09:26,bin566,35,True +abc,567,567,567,1971-07-22,56.700000000000536,56.699707,2015-01-01 00:09:27,bin567,75,True +abc,568,568,568,1971-07-23,56.80000000000054,56.799706,2015-01-01 00:09:28,bin568,35,True +abc,569,569,569,1971-07-24,56.90000000000054,56.899704,2015-01-01 00:09:29,bin569,75,True +abc,570,570,570,1971-07-25,57.00000000000054,56.999702,2015-01-01 00:09:30,bin570,35,True +abc,571,571,571,1971-07-26,57.10000000000054,57.0997,2015-01-01 00:09:31,bin571,75,True +abc,572,572,572,1971-07-27,57.20000000000054,57.1997,2015-01-01 00:09:32,bin572,35,True +abc,573,573,573,1971-07-28,57.300000000000544,57.299698,2015-01-01 00:09:33,bin573,75,True +abc,574,574,574,1971-07-29,57.400000000000546,57.399696,2015-01-01 00:09:34,bin574,35,True +abc,575,575,575,1971-07-30,57.50000000000055,57.499695,2015-01-01 00:09:35,bin575,75,True +abc,576,576,576,1971-07-31,57.60000000000055,57.599693,2015-01-01 00:09:36,bin576,35,True +abc,577,577,577,1971-08-01,57.70000000000055,57.69969,2015-01-01 00:09:37,bin577,75,True +abc,578,578,578,1971-08-02,57.80000000000055,57.79969,2015-01-01 00:09:38,bin578,35,True +abc,579,579,579,1971-08-03,57.90000000000055,57.89969,2015-01-01 00:09:39,bin579,75,True +abc,580,580,580,1971-08-04,58.000000000000554,57.999687,2015-01-01 00:09:40,bin580,35,True +abc,581,581,581,1971-08-05,58.100000000000556,58.099686,2015-01-01 00:09:41,bin581,75,True +abc,582,582,582,1971-08-06,58.20000000000056,58.199684,2015-01-01 00:09:42,bin582,35,True +abc,583,583,583,1971-08-07,58.30000000000056,58.299683,2015-01-01 00:09:43,bin583,75,True +abc,584,584,584,1971-08-08,58.40000000000056,58.39968,2015-01-01 00:09:44,bin584,35,True +abc,585,585,585,1971-08-09,58.50000000000056,58.49968,2015-01-01 00:09:45,bin585,75,True +abc,586,586,586,1971-08-10,58.60000000000056,58.599678,2015-01-01 00:09:46,bin586,35,True +abc,587,587,587,1971-08-11,58.700000000000564,58.699677,2015-01-01 00:09:47,bin587,75,True +abc,588,588,588,1971-08-12,58.800000000000566,58.799675,2015-01-01 00:09:48,bin588,35,True +abc,589,589,589,1971-08-13,58.90000000000057,58.899673,2015-01-01 00:09:49,bin589,75,True +abc,590,590,590,1971-08-14,59.00000000000057,58.999672,2015-01-01 00:09:50,bin590,35,True +abc,591,591,591,1971-08-15,59.10000000000057,59.09967,2015-01-01 00:09:51,bin591,75,True +abc,592,592,592,1971-08-16,59.20000000000057,59.19967,2015-01-01 00:09:52,bin592,35,True +abc,593,593,593,1971-08-17,59.30000000000057,59.299667,2015-01-01 00:09:53,bin593,75,True +abc,594,594,594,1971-08-18,59.400000000000574,59.399666,2015-01-01 00:09:54,bin594,35,True +abc,595,595,595,1971-08-19,59.500000000000576,59.499664,2015-01-01 00:09:55,bin595,75,True +abc,596,596,596,1971-08-20,59.60000000000058,59.599663,2015-01-01 00:09:56,bin596,35,True +abc,597,597,597,1971-08-21,59.70000000000058,59.69966,2015-01-01 00:09:57,bin597,75,True +abc,598,598,598,1971-08-22,59.80000000000058,59.79966,2015-01-01 00:09:58,bin598,35,True +abc,599,599,599,1971-08-23,59.90000000000058,59.89966,2015-01-01 00:09:59,bin599,75,True +abc,600,600,600,1971-08-24,60.00000000000058,59.999657,2015-01-01 00:10:00,bin600,35,True +abc,601,601,601,1971-08-25,60.100000000000584,60.099655,2015-01-01 00:10:01,bin601,75,True +abc,602,602,602,1971-08-26,60.200000000000585,60.199654,2015-01-01 00:10:02,bin602,35,True +abc,603,603,603,1971-08-27,60.30000000000059,60.299652,2015-01-01 00:10:03,bin603,75,True +abc,604,604,604,1971-08-28,60.40000000000059,60.39965,2015-01-01 00:10:04,bin604,35,True +abc,605,605,605,1971-08-29,60.50000000000059,60.49965,2015-01-01 00:10:05,bin605,75,True +abc,606,606,606,1971-08-30,60.60000000000059,60.599648,2015-01-01 00:10:06,bin606,35,True +abc,607,607,607,1971-08-31,60.70000000000059,60.699646,2015-01-01 00:10:07,bin607,75,True +abc,608,608,608,1971-09-01,60.800000000000594,60.799644,2015-01-01 00:10:08,bin608,35,True +abc,609,609,609,1971-09-02,60.900000000000595,60.899643,2015-01-01 00:10:09,bin609,75,True +abc,610,610,610,1971-09-03,61.0000000000006,60.99964,2015-01-01 00:10:10,bin610,35,True +abc,611,611,611,1971-09-04,61.1000000000006,61.09964,2015-01-01 00:10:11,bin611,75,True +abc,612,612,612,1971-09-05,61.2000000000006,61.19964,2015-01-01 00:10:12,bin612,35,True +abc,613,613,613,1971-09-06,61.3000000000006,61.299637,2015-01-01 00:10:13,bin613,75,True +abc,614,614,614,1971-09-07,61.4000000000006,61.399635,2015-01-01 00:10:14,bin614,35,True +abc,615,615,615,1971-09-08,61.500000000000604,61.499634,2015-01-01 00:10:15,bin615,75,True +abc,616,616,616,1971-09-09,61.600000000000605,61.599632,2015-01-01 00:10:16,bin616,35,True +abc,617,617,617,1971-09-10,61.70000000000061,61.69963,2015-01-01 00:10:17,bin617,75,True +abc,618,618,618,1971-09-11,61.80000000000061,61.79963,2015-01-01 00:10:18,bin618,35,True +abc,619,619,619,1971-09-12,61.90000000000061,61.899628,2015-01-01 00:10:19,bin619,75,True +abc,620,620,620,1971-09-13,62.00000000000061,61.999626,2015-01-01 00:10:20,bin620,35,True +abc,621,621,621,1971-09-14,62.10000000000061,62.099625,2015-01-01 00:10:21,bin621,75,True +abc,622,622,622,1971-09-15,62.200000000000614,62.199623,2015-01-01 00:10:22,bin622,35,True +abc,623,623,623,1971-09-16,62.300000000000615,62.29962,2015-01-01 00:10:23,bin623,75,True +abc,624,624,624,1971-09-17,62.40000000000062,62.39962,2015-01-01 00:10:24,bin624,35,True +abc,625,625,625,1971-09-18,62.50000000000062,62.49962,2015-01-01 00:10:25,bin625,75,True +abc,626,626,626,1971-09-19,62.60000000000062,62.599617,2015-01-01 00:10:26,bin626,35,True +abc,627,627,627,1971-09-20,62.70000000000062,62.699615,2015-01-01 00:10:27,bin627,75,True +abc,628,628,628,1971-09-21,62.80000000000062,62.799614,2015-01-01 00:10:28,bin628,35,True +abc,629,629,629,1971-09-22,62.900000000000624,62.899612,2015-01-01 00:10:29,bin629,75,True +abc,630,630,630,1971-09-23,63.000000000000625,62.99961,2015-01-01 00:10:30,bin630,35,True +abc,631,631,631,1971-09-24,63.10000000000063,63.09961,2015-01-01 00:10:31,bin631,75,True +abc,632,632,632,1971-09-25,63.20000000000063,63.199608,2015-01-01 00:10:32,bin632,35,True +abc,633,633,633,1971-09-26,63.30000000000063,63.299606,2015-01-01 00:10:33,bin633,75,True +abc,634,634,634,1971-09-27,63.40000000000063,63.399605,2015-01-01 00:10:34,bin634,35,True +abc,635,635,635,1971-09-28,63.50000000000063,63.499603,2015-01-01 00:10:35,bin635,75,True +abc,636,636,636,1971-09-29,63.600000000000634,63.5996,2015-01-01 00:10:36,bin636,35,True +abc,637,637,637,1971-09-30,63.700000000000635,63.6996,2015-01-01 00:10:37,bin637,75,True +abc,638,638,638,1971-10-01,63.80000000000064,63.7996,2015-01-01 00:10:38,bin638,35,True +abc,639,639,639,1971-10-02,63.90000000000064,63.899597,2015-01-01 00:10:39,bin639,75,True +abc,640,640,640,1971-10-03,64.00000000000064,63.999596,2015-01-01 00:10:40,bin640,35,True +abc,641,641,641,1971-10-04,64.10000000000063,64.099594,2015-01-01 00:10:41,bin641,75,True +abc,642,642,642,1971-10-05,64.20000000000063,64.19959,2015-01-01 00:10:42,bin642,35,True +abc,643,643,643,1971-10-06,64.30000000000062,64.29959,2015-01-01 00:10:43,bin643,75,True +abc,644,644,644,1971-10-07,64.40000000000062,64.39959,2015-01-01 00:10:44,bin644,35,True +abc,645,645,645,1971-10-08,64.50000000000061,64.49959,2015-01-01 00:10:45,bin645,75,True +abc,646,646,646,1971-10-09,64.6000000000006,64.59959,2015-01-01 00:10:46,bin646,35,True +abc,647,647,647,1971-10-10,64.7000000000006,64.699585,2015-01-01 00:10:47,bin647,75,True +abc,648,648,648,1971-10-11,64.8000000000006,64.79958,2015-01-01 00:10:48,bin648,35,True +abc,649,649,649,1971-10-12,64.90000000000059,64.89958,2015-01-01 00:10:49,bin649,75,True +abc,650,650,650,1971-10-13,65.00000000000058,64.99958,2015-01-01 00:10:50,bin650,35,True +abc,651,651,651,1971-10-14,65.10000000000058,65.09958,2015-01-01 00:10:51,bin651,75,True +abc,652,652,652,1971-10-15,65.20000000000057,65.19958,2015-01-01 00:10:52,bin652,35,True +abc,653,653,653,1971-10-16,65.30000000000057,65.299576,2015-01-01 00:10:53,bin653,75,True +abc,654,654,654,1971-10-17,65.40000000000056,65.399574,2015-01-01 00:10:54,bin654,35,True +abc,655,655,655,1971-10-18,65.50000000000055,65.49957,2015-01-01 00:10:55,bin655,75,True +abc,656,656,656,1971-10-19,65.60000000000055,65.59957,2015-01-01 00:10:56,bin656,35,True +abc,657,657,657,1971-10-20,65.70000000000054,65.69957,2015-01-01 00:10:57,bin657,75,True +abc,658,658,658,1971-10-21,65.80000000000054,65.79957,2015-01-01 00:10:58,bin658,35,True +abc,659,659,659,1971-10-22,65.90000000000053,65.89957,2015-01-01 00:10:59,bin659,75,True +abc,660,660,660,1971-10-23,66.00000000000053,65.999565,2015-01-01 00:11:00,bin660,35,True +abc,661,661,661,1971-10-24,66.10000000000052,66.09956,2015-01-01 00:11:01,bin661,75,True +abc,662,662,662,1971-10-25,66.20000000000051,66.19956,2015-01-01 00:11:02,bin662,35,True +abc,663,663,663,1971-10-26,66.30000000000051,66.29956,2015-01-01 00:11:03,bin663,75,True +abc,664,664,664,1971-10-27,66.4000000000005,66.39956,2015-01-01 00:11:04,bin664,35,True +abc,665,665,665,1971-10-28,66.5000000000005,66.49956,2015-01-01 00:11:05,bin665,75,True +abc,666,666,666,1971-10-29,66.60000000000049,66.599556,2015-01-01 00:11:06,bin666,35,True +abc,667,667,667,1971-10-30,66.70000000000049,66.699554,2015-01-01 00:11:07,bin667,75,True +abc,668,668,668,1971-10-31,66.80000000000048,66.79955,2015-01-01 00:11:08,bin668,35,True +abc,669,669,669,1971-11-01,66.90000000000047,66.89955,2015-01-01 00:11:09,bin669,75,True +abc,670,670,670,1971-11-02,67.00000000000047,66.99955,2015-01-01 00:11:10,bin670,35,True +abc,671,671,671,1971-11-03,67.10000000000046,67.09955,2015-01-01 00:11:11,bin671,75,True +abc,672,672,672,1971-11-04,67.20000000000046,67.19955,2015-01-01 00:11:12,bin672,35,True +abc,673,673,673,1971-11-05,67.30000000000045,67.299545,2015-01-01 00:11:13,bin673,75,True +abc,674,674,674,1971-11-06,67.40000000000045,67.39954,2015-01-01 00:11:14,bin674,35,True +abc,675,675,675,1971-11-07,67.50000000000044,67.49954,2015-01-01 00:11:15,bin675,75,True +abc,676,676,676,1971-11-08,67.60000000000043,67.59954,2015-01-01 00:11:16,bin676,35,True +abc,677,677,677,1971-11-09,67.70000000000043,67.69954,2015-01-01 00:11:17,bin677,75,True +abc,678,678,678,1971-11-10,67.80000000000042,67.79954,2015-01-01 00:11:18,bin678,35,True +abc,679,679,679,1971-11-11,67.90000000000042,67.899536,2015-01-01 00:11:19,bin679,75,True +abc,680,680,680,1971-11-12,68.00000000000041,67.999535,2015-01-01 00:11:20,bin680,35,True +abc,681,681,681,1971-11-13,68.1000000000004,68.09953,2015-01-01 00:11:21,bin681,75,True +abc,682,682,682,1971-11-14,68.2000000000004,68.19953,2015-01-01 00:11:22,bin682,35,True +abc,683,683,683,1971-11-15,68.3000000000004,68.29953,2015-01-01 00:11:23,bin683,75,True +abc,684,684,684,1971-11-16,68.40000000000039,68.39953,2015-01-01 00:11:24,bin684,35,True +abc,685,685,685,1971-11-17,68.50000000000038,68.49953,2015-01-01 00:11:25,bin685,75,True +abc,686,686,686,1971-11-18,68.60000000000038,68.599525,2015-01-01 00:11:26,bin686,35,True +abc,687,687,687,1971-11-19,68.70000000000037,68.699524,2015-01-01 00:11:27,bin687,75,True +abc,688,688,688,1971-11-20,68.80000000000037,68.79952,2015-01-01 00:11:28,bin688,35,True +abc,689,689,689,1971-11-21,68.90000000000036,68.89952,2015-01-01 00:11:29,bin689,75,True +abc,690,690,690,1971-11-22,69.00000000000036,68.99952,2015-01-01 00:11:30,bin690,35,True +abc,691,691,691,1971-11-23,69.10000000000035,69.09952,2015-01-01 00:11:31,bin691,75,True +abc,692,692,692,1971-11-24,69.20000000000034,69.19952,2015-01-01 00:11:32,bin692,35,True +abc,693,693,693,1971-11-25,69.30000000000034,69.299515,2015-01-01 00:11:33,bin693,75,True +abc,694,694,694,1971-11-26,69.40000000000033,69.39951,2015-01-01 00:11:34,bin694,35,True +abc,695,695,695,1971-11-27,69.50000000000033,69.49951,2015-01-01 00:11:35,bin695,75,True +abc,696,696,696,1971-11-28,69.60000000000032,69.59951,2015-01-01 00:11:36,bin696,35,True +abc,697,697,697,1971-11-29,69.70000000000032,69.69951,2015-01-01 00:11:37,bin697,75,True +abc,698,698,698,1971-11-30,69.80000000000031,69.79951,2015-01-01 00:11:38,bin698,35,True +abc,699,699,699,1971-12-01,69.9000000000003,69.899506,2015-01-01 00:11:39,bin699,75,True +abc,700,700,700,1971-12-02,70.0000000000003,69.999504,2015-01-01 00:11:40,bin700,35,True +abc,701,701,701,1971-12-03,70.10000000000029,70.0995,2015-01-01 00:11:41,bin701,75,True +abc,702,702,702,1971-12-04,70.20000000000029,70.1995,2015-01-01 00:11:42,bin702,35,True +abc,703,703,703,1971-12-05,70.30000000000028,70.2995,2015-01-01 00:11:43,bin703,75,True +abc,704,704,704,1971-12-06,70.40000000000028,70.3995,2015-01-01 00:11:44,bin704,35,True +abc,705,705,705,1971-12-07,70.50000000000027,70.4995,2015-01-01 00:11:45,bin705,75,True +abc,706,706,706,1971-12-08,70.60000000000026,70.599495,2015-01-01 00:11:46,bin706,35,True +abc,707,707,707,1971-12-09,70.70000000000026,70.69949,2015-01-01 00:11:47,bin707,75,True +abc,708,708,708,1971-12-10,70.80000000000025,70.79949,2015-01-01 00:11:48,bin708,35,True +abc,709,709,709,1971-12-11,70.90000000000025,70.89949,2015-01-01 00:11:49,bin709,75,True +abc,710,710,710,1971-12-12,71.00000000000024,70.99949,2015-01-01 00:11:50,bin710,35,True +abc,711,711,711,1971-12-13,71.10000000000024,71.09949,2015-01-01 00:11:51,bin711,75,True +abc,712,712,712,1971-12-14,71.20000000000023,71.199486,2015-01-01 00:11:52,bin712,35,True +abc,713,713,713,1971-12-15,71.30000000000022,71.299484,2015-01-01 00:11:53,bin713,75,True +abc,714,714,714,1971-12-16,71.40000000000022,71.39948,2015-01-01 00:11:54,bin714,35,True +abc,715,715,715,1971-12-17,71.50000000000021,71.49948,2015-01-01 00:11:55,bin715,75,True +abc,716,716,716,1971-12-18,71.60000000000021,71.59948,2015-01-01 00:11:56,bin716,35,True +abc,717,717,717,1971-12-19,71.7000000000002,71.69948,2015-01-01 00:11:57,bin717,75,True +abc,718,718,718,1971-12-20,71.8000000000002,71.79948,2015-01-01 00:11:58,bin718,35,True +abc,719,719,719,1971-12-21,71.90000000000019,71.899475,2015-01-01 00:11:59,bin719,75,True +abc,720,720,720,1971-12-22,72.00000000000018,71.99947,2015-01-01 00:12:00,bin720,35,True +abc,721,721,721,1971-12-23,72.10000000000018,72.09947,2015-01-01 00:12:01,bin721,75,True +abc,722,722,722,1971-12-24,72.20000000000017,72.19947,2015-01-01 00:12:02,bin722,35,True +abc,723,723,723,1971-12-25,72.30000000000017,72.29947,2015-01-01 00:12:03,bin723,75,True +abc,724,724,724,1971-12-26,72.40000000000016,72.39947,2015-01-01 00:12:04,bin724,35,True +abc,725,725,725,1971-12-27,72.50000000000016,72.499466,2015-01-01 00:12:05,bin725,75,True +abc,726,726,726,1971-12-28,72.60000000000015,72.599464,2015-01-01 00:12:06,bin726,35,True +abc,727,727,727,1971-12-29,72.70000000000014,72.69946,2015-01-01 00:12:07,bin727,75,True +abc,728,728,728,1971-12-30,72.80000000000014,72.79946,2015-01-01 00:12:08,bin728,35,True +abc,729,729,729,1971-12-31,72.90000000000013,72.89946,2015-01-01 00:12:09,bin729,75,True +abc,730,730,730,1972-01-01,73.00000000000013,72.99946,2015-01-01 00:12:10,bin730,35,True +abc,731,731,731,1972-01-02,73.10000000000012,73.09946,2015-01-01 00:12:11,bin731,75,True +abc,732,732,732,1972-01-03,73.20000000000012,73.199455,2015-01-01 00:12:12,bin732,35,True +abc,733,733,733,1972-01-04,73.30000000000011,73.29945,2015-01-01 00:12:13,bin733,75,True +abc,734,734,734,1972-01-05,73.4000000000001,73.39945,2015-01-01 00:12:14,bin734,35,True +abc,735,735,735,1972-01-06,73.5000000000001,73.49945,2015-01-01 00:12:15,bin735,75,True +abc,736,736,736,1972-01-07,73.6000000000001,73.59945,2015-01-01 00:12:16,bin736,35,True +abc,737,737,737,1972-01-08,73.70000000000009,73.69945,2015-01-01 00:12:17,bin737,75,True +abc,738,738,738,1972-01-09,73.80000000000008,73.799446,2015-01-01 00:12:18,bin738,35,True +abc,739,739,739,1972-01-10,73.90000000000008,73.899445,2015-01-01 00:12:19,bin739,75,True +abc,740,740,740,1972-01-11,74.00000000000007,73.99944,2015-01-01 00:12:20,bin740,35,True +abc,741,741,741,1972-01-12,74.10000000000007,74.09944,2015-01-01 00:12:21,bin741,75,True +abc,742,742,742,1972-01-13,74.20000000000006,74.19944,2015-01-01 00:12:22,bin742,35,True +abc,743,743,743,1972-01-14,74.30000000000005,74.29944,2015-01-01 00:12:23,bin743,75,True +abc,744,744,744,1972-01-15,74.40000000000005,74.39944,2015-01-01 00:12:24,bin744,35,True +abc,745,745,745,1972-01-16,74.50000000000004,74.499435,2015-01-01 00:12:25,bin745,75,True +abc,746,746,746,1972-01-17,74.60000000000004,74.599434,2015-01-01 00:12:26,bin746,35,True +abc,747,747,747,1972-01-18,74.70000000000003,74.69943,2015-01-01 00:12:27,bin747,75,True +abc,748,748,748,1972-01-19,74.80000000000003,74.79943,2015-01-01 00:12:28,bin748,35,True +abc,749,749,749,1972-01-20,74.90000000000002,74.89943,2015-01-01 00:12:29,bin749,75,True +abc,750,750,750,1972-01-21,75.00000000000001,74.99943,2015-01-01 00:12:30,bin750,35,True +abc,751,751,751,1972-01-22,75.10000000000001,75.09943,2015-01-01 00:12:31,bin751,75,True +abc,752,752,752,1972-01-23,75.2,75.199425,2015-01-01 00:12:32,bin752,35,True +abc,753,753,753,1972-01-24,75.3,75.29942,2015-01-01 00:12:33,bin753,75,True +abc,754,754,754,1972-01-25,75.39999999999999,75.39942,2015-01-01 00:12:34,bin754,35,True +abc,755,755,755,1972-01-26,75.49999999999999,75.49942,2015-01-01 00:12:35,bin755,75,True +abc,756,756,756,1972-01-27,75.59999999999998,75.59942,2015-01-01 00:12:36,bin756,35,True +abc,757,757,757,1972-01-28,75.69999999999997,75.69942,2015-01-01 00:12:37,bin757,75,True +abc,758,758,758,1972-01-29,75.79999999999997,75.799416,2015-01-01 00:12:38,bin758,35,True +abc,759,759,759,1972-01-30,75.89999999999996,75.899414,2015-01-01 00:12:39,bin759,75,True +abc,760,760,760,1972-01-31,75.99999999999996,75.99941,2015-01-01 00:12:40,bin760,35,True +abc,761,761,761,1972-02-01,76.09999999999995,76.09941,2015-01-01 00:12:41,bin761,75,True +abc,762,762,762,1972-02-02,76.19999999999995,76.19941,2015-01-01 00:12:42,bin762,35,True +abc,763,763,763,1972-02-03,76.29999999999994,76.29941,2015-01-01 00:12:43,bin763,75,True +abc,764,764,764,1972-02-04,76.39999999999993,76.39941,2015-01-01 00:12:44,bin764,35,True +abc,765,765,765,1972-02-05,76.49999999999993,76.499405,2015-01-01 00:12:45,bin765,75,True +abc,766,766,766,1972-02-06,76.59999999999992,76.5994,2015-01-01 00:12:46,bin766,35,True +abc,767,767,767,1972-02-07,76.69999999999992,76.6994,2015-01-01 00:12:47,bin767,75,True +abc,768,768,768,1972-02-08,76.79999999999991,76.7994,2015-01-01 00:12:48,bin768,35,True +abc,769,769,769,1972-02-09,76.8999999999999,76.8994,2015-01-01 00:12:49,bin769,75,True +abc,770,770,770,1972-02-10,76.9999999999999,76.9994,2015-01-01 00:12:50,bin770,35,True +abc,771,771,771,1972-02-11,77.0999999999999,77.099396,2015-01-01 00:12:51,bin771,75,True +abc,772,772,772,1972-02-12,77.19999999999989,77.199394,2015-01-01 00:12:52,bin772,35,True +abc,773,773,773,1972-02-13,77.29999999999988,77.29939,2015-01-01 00:12:53,bin773,75,True +abc,774,774,774,1972-02-14,77.39999999999988,77.39939,2015-01-01 00:12:54,bin774,35,True +abc,775,775,775,1972-02-15,77.49999999999987,77.49939,2015-01-01 00:12:55,bin775,75,True +abc,776,776,776,1972-02-16,77.59999999999987,77.59939,2015-01-01 00:12:56,bin776,35,True +abc,777,777,777,1972-02-17,77.69999999999986,77.69939,2015-01-01 00:12:57,bin777,75,True +abc,778,778,778,1972-02-18,77.79999999999986,77.799385,2015-01-01 00:12:58,bin778,35,True +abc,779,779,779,1972-02-19,77.89999999999985,77.89938,2015-01-01 00:12:59,bin779,75,True +abc,780,780,780,1972-02-20,77.99999999999984,77.99938,2015-01-01 00:13:00,bin780,35,True +abc,781,781,781,1972-02-21,78.09999999999984,78.09938,2015-01-01 00:13:01,bin781,75,True +abc,782,782,782,1972-02-22,78.19999999999983,78.19938,2015-01-01 00:13:02,bin782,35,True +abc,783,783,783,1972-02-23,78.29999999999983,78.29938,2015-01-01 00:13:03,bin783,75,True +abc,784,784,784,1972-02-24,78.39999999999982,78.399376,2015-01-01 00:13:04,bin784,35,True +abc,785,785,785,1972-02-25,78.49999999999982,78.499374,2015-01-01 00:13:05,bin785,75,True +abc,786,786,786,1972-02-26,78.59999999999981,78.59937,2015-01-01 00:13:06,bin786,35,True +abc,787,787,787,1972-02-27,78.6999999999998,78.69937,2015-01-01 00:13:07,bin787,75,True +abc,788,788,788,1972-02-28,78.7999999999998,78.79937,2015-01-01 00:13:08,bin788,35,True +abc,789,789,789,1972-02-29,78.89999999999979,78.89937,2015-01-01 00:13:09,bin789,75,True +abc,790,790,790,1972-03-01,78.99999999999979,78.99937,2015-01-01 00:13:10,bin790,35,True +abc,791,791,791,1972-03-02,79.09999999999978,79.099365,2015-01-01 00:13:11,bin791,75,True +abc,792,792,792,1972-03-03,79.19999999999978,79.19936,2015-01-01 00:13:12,bin792,35,True +abc,793,793,793,1972-03-04,79.29999999999977,79.29936,2015-01-01 00:13:13,bin793,75,True +abc,794,794,794,1972-03-05,79.39999999999976,79.39936,2015-01-01 00:13:14,bin794,35,True +abc,795,795,795,1972-03-06,79.49999999999976,79.49936,2015-01-01 00:13:15,bin795,75,True +abc,796,796,796,1972-03-07,79.59999999999975,79.59936,2015-01-01 00:13:16,bin796,35,True +abc,797,797,797,1972-03-08,79.69999999999975,79.699356,2015-01-01 00:13:17,bin797,75,True +abc,798,798,798,1972-03-09,79.79999999999974,79.799355,2015-01-01 00:13:18,bin798,35,True +abc,799,799,799,1972-03-10,79.89999999999974,79.89935,2015-01-01 00:13:19,bin799,75,True +abc,800,800,800,1972-03-11,79.99999999999973,79.99935,2015-01-01 00:13:20,bin800,35,True +abc,801,801,801,1972-03-12,80.09999999999972,80.09935,2015-01-01 00:13:21,bin801,75,True +abc,802,802,802,1972-03-13,80.19999999999972,80.19935,2015-01-01 00:13:22,bin802,35,True +abc,803,803,803,1972-03-14,80.29999999999971,80.29935,2015-01-01 00:13:23,bin803,75,True +abc,804,804,804,1972-03-15,80.39999999999971,80.399345,2015-01-01 00:13:24,bin804,35,True +abc,805,805,805,1972-03-16,80.4999999999997,80.499344,2015-01-01 00:13:25,bin805,75,True +abc,806,806,806,1972-03-17,80.5999999999997,80.59934,2015-01-01 00:13:26,bin806,35,True +abc,807,807,807,1972-03-18,80.69999999999969,80.69934,2015-01-01 00:13:27,bin807,75,True +abc,808,808,808,1972-03-19,80.79999999999968,80.79934,2015-01-01 00:13:28,bin808,35,True +abc,809,809,809,1972-03-20,80.89999999999968,80.89934,2015-01-01 00:13:29,bin809,75,True +abc,810,810,810,1972-03-21,80.99999999999967,80.99934,2015-01-01 00:13:30,bin810,35,True +abc,811,811,811,1972-03-22,81.09999999999967,81.099335,2015-01-01 00:13:31,bin811,75,True +abc,812,812,812,1972-03-23,81.19999999999966,81.19933,2015-01-01 00:13:32,bin812,35,True +abc,813,813,813,1972-03-24,81.29999999999966,81.29933,2015-01-01 00:13:33,bin813,75,True +abc,814,814,814,1972-03-25,81.39999999999965,81.39933,2015-01-01 00:13:34,bin814,35,True +abc,815,815,815,1972-03-26,81.49999999999964,81.49933,2015-01-01 00:13:35,bin815,75,True +abc,816,816,816,1972-03-27,81.59999999999964,81.59933,2015-01-01 00:13:36,bin816,35,True +abc,817,817,817,1972-03-28,81.69999999999963,81.699326,2015-01-01 00:13:37,bin817,75,True +abc,818,818,818,1972-03-29,81.79999999999963,81.799324,2015-01-01 00:13:38,bin818,35,True +abc,819,819,819,1972-03-30,81.89999999999962,81.89932,2015-01-01 00:13:39,bin819,75,True +abc,820,820,820,1972-03-31,81.99999999999962,81.99932,2015-01-01 00:13:40,bin820,35,True +abc,821,821,821,1972-04-01,82.09999999999961,82.09932,2015-01-01 00:13:41,bin821,75,True +abc,822,822,822,1972-04-02,82.1999999999996,82.19932,2015-01-01 00:13:42,bin822,35,True +abc,823,823,823,1972-04-03,82.2999999999996,82.29932,2015-01-01 00:13:43,bin823,75,True +abc,824,824,824,1972-04-04,82.3999999999996,82.399315,2015-01-01 00:13:44,bin824,35,True +abc,825,825,825,1972-04-05,82.49999999999959,82.49931,2015-01-01 00:13:45,bin825,75,True +abc,826,826,826,1972-04-06,82.59999999999958,82.59931,2015-01-01 00:13:46,bin826,35,True +abc,827,827,827,1972-04-07,82.69999999999958,82.69931,2015-01-01 00:13:47,bin827,75,True +abc,828,828,828,1972-04-08,82.79999999999957,82.79931,2015-01-01 00:13:48,bin828,35,True +abc,829,829,829,1972-04-09,82.89999999999957,82.89931,2015-01-01 00:13:49,bin829,75,True +abc,830,830,830,1972-04-10,82.99999999999956,82.999306,2015-01-01 00:13:50,bin830,35,True +abc,831,831,831,1972-04-11,83.09999999999955,83.099304,2015-01-01 00:13:51,bin831,75,True +abc,832,832,832,1972-04-12,83.19999999999955,83.1993,2015-01-01 00:13:52,bin832,35,True +abc,833,833,833,1972-04-13,83.29999999999954,83.2993,2015-01-01 00:13:53,bin833,75,True +abc,834,834,834,1972-04-14,83.39999999999954,83.3993,2015-01-01 00:13:54,bin834,35,True +abc,835,835,835,1972-04-15,83.49999999999953,83.4993,2015-01-01 00:13:55,bin835,75,True +abc,836,836,836,1972-04-16,83.59999999999953,83.5993,2015-01-01 00:13:56,bin836,35,True +abc,837,837,837,1972-04-17,83.69999999999952,83.699295,2015-01-01 00:13:57,bin837,75,True +abc,838,838,838,1972-04-18,83.79999999999951,83.79929,2015-01-01 00:13:58,bin838,35,True +abc,839,839,839,1972-04-19,83.89999999999951,83.89929,2015-01-01 00:13:59,bin839,75,True +abc,840,840,840,1972-04-20,83.9999999999995,83.99929,2015-01-01 00:14:00,bin840,35,True +abc,841,841,841,1972-04-21,84.0999999999995,84.09929,2015-01-01 00:14:01,bin841,75,True +abc,842,842,842,1972-04-22,84.19999999999949,84.19929,2015-01-01 00:14:02,bin842,35,True +abc,843,843,843,1972-04-23,84.29999999999949,84.299286,2015-01-01 00:14:03,bin843,75,True +abc,844,844,844,1972-04-24,84.39999999999948,84.399284,2015-01-01 00:14:04,bin844,35,True +abc,845,845,845,1972-04-25,84.49999999999947,84.49928,2015-01-01 00:14:05,bin845,75,True +abc,846,846,846,1972-04-26,84.59999999999947,84.59928,2015-01-01 00:14:06,bin846,35,True +abc,847,847,847,1972-04-27,84.69999999999946,84.69928,2015-01-01 00:14:07,bin847,75,True +abc,848,848,848,1972-04-28,84.79999999999946,84.79928,2015-01-01 00:14:08,bin848,35,True +abc,849,849,849,1972-04-29,84.89999999999945,84.89928,2015-01-01 00:14:09,bin849,75,True +abc,850,850,850,1972-04-30,84.99999999999945,84.999275,2015-01-01 00:14:10,bin850,35,True +abc,851,851,851,1972-05-01,85.09999999999944,85.09927,2015-01-01 00:14:11,bin851,75,True +abc,852,852,852,1972-05-02,85.19999999999943,85.19927,2015-01-01 00:14:12,bin852,35,True +abc,853,853,853,1972-05-03,85.29999999999943,85.29927,2015-01-01 00:14:13,bin853,75,True +abc,854,854,854,1972-05-04,85.39999999999942,85.39927,2015-01-01 00:14:14,bin854,35,True +abc,855,855,855,1972-05-05,85.49999999999942,85.49927,2015-01-01 00:14:15,bin855,75,True +abc,856,856,856,1972-05-06,85.59999999999941,85.599266,2015-01-01 00:14:16,bin856,35,True +abc,857,857,857,1972-05-07,85.6999999999994,85.699265,2015-01-01 00:14:17,bin857,75,True +abc,858,858,858,1972-05-08,85.7999999999994,85.79926,2015-01-01 00:14:18,bin858,35,True +abc,859,859,859,1972-05-09,85.8999999999994,85.89926,2015-01-01 00:14:19,bin859,75,True +abc,860,860,860,1972-05-10,85.99999999999939,85.99926,2015-01-01 00:14:20,bin860,35,True +abc,861,861,861,1972-05-11,86.09999999999938,86.09926,2015-01-01 00:14:21,bin861,75,True +abc,862,862,862,1972-05-12,86.19999999999938,86.19926,2015-01-01 00:14:22,bin862,35,True +abc,863,863,863,1972-05-13,86.29999999999937,86.299255,2015-01-01 00:14:23,bin863,75,True +abc,864,864,864,1972-05-14,86.39999999999937,86.399254,2015-01-01 00:14:24,bin864,35,True +abc,865,865,865,1972-05-15,86.49999999999936,86.49925,2015-01-01 00:14:25,bin865,75,True +abc,866,866,866,1972-05-16,86.59999999999935,86.59925,2015-01-01 00:14:26,bin866,35,True +abc,867,867,867,1972-05-17,86.69999999999935,86.69925,2015-01-01 00:14:27,bin867,75,True +abc,868,868,868,1972-05-18,86.79999999999934,86.79925,2015-01-01 00:14:28,bin868,35,True +abc,869,869,869,1972-05-19,86.89999999999934,86.89925,2015-01-01 00:14:29,bin869,75,True +abc,870,870,870,1972-05-20,86.99999999999933,86.999245,2015-01-01 00:14:30,bin870,35,True +abc,871,871,871,1972-05-21,87.09999999999933,87.09924,2015-01-01 00:14:31,bin871,75,True +abc,872,872,872,1972-05-22,87.19999999999932,87.19924,2015-01-01 00:14:32,bin872,35,True +abc,873,873,873,1972-05-23,87.29999999999932,87.29924,2015-01-01 00:14:33,bin873,75,True +abc,874,874,874,1972-05-24,87.39999999999931,87.39924,2015-01-01 00:14:34,bin874,35,True +abc,875,875,875,1972-05-25,87.4999999999993,87.49924,2015-01-01 00:14:35,bin875,75,True +abc,876,876,876,1972-05-26,87.5999999999993,87.599236,2015-01-01 00:14:36,bin876,35,True +abc,877,877,877,1972-05-27,87.69999999999929,87.699234,2015-01-01 00:14:37,bin877,75,True +abc,878,878,878,1972-05-28,87.79999999999929,87.79923,2015-01-01 00:14:38,bin878,35,True +abc,879,879,879,1972-05-29,87.89999999999928,87.89923,2015-01-01 00:14:39,bin879,75,True +abc,880,880,880,1972-05-30,87.99999999999928,87.99923,2015-01-01 00:14:40,bin880,35,True +abc,881,881,881,1972-05-31,88.09999999999927,88.09923,2015-01-01 00:14:41,bin881,75,True +abc,882,882,882,1972-06-01,88.19999999999926,88.19923,2015-01-01 00:14:42,bin882,35,True +abc,883,883,883,1972-06-02,88.29999999999926,88.299225,2015-01-01 00:14:43,bin883,75,True +abc,884,884,884,1972-06-03,88.39999999999925,88.39922,2015-01-01 00:14:44,bin884,35,True +abc,885,885,885,1972-06-04,88.49999999999925,88.49922,2015-01-01 00:14:45,bin885,75,True +abc,886,886,886,1972-06-05,88.59999999999924,88.59922,2015-01-01 00:14:46,bin886,35,True +abc,887,887,887,1972-06-06,88.69999999999924,88.69922,2015-01-01 00:14:47,bin887,75,True +abc,888,888,888,1972-06-07,88.79999999999923,88.79922,2015-01-01 00:14:48,bin888,35,True +abc,889,889,889,1972-06-08,88.89999999999922,88.899216,2015-01-01 00:14:49,bin889,75,True +abc,890,890,890,1972-06-09,88.99999999999922,88.999214,2015-01-01 00:14:50,bin890,35,True +abc,891,891,891,1972-06-10,89.09999999999921,89.09921,2015-01-01 00:14:51,bin891,75,True +abc,892,892,892,1972-06-11,89.1999999999992,89.19921,2015-01-01 00:14:52,bin892,35,True +abc,893,893,893,1972-06-12,89.2999999999992,89.29921,2015-01-01 00:14:53,bin893,75,True +abc,894,894,894,1972-06-13,89.3999999999992,89.39921,2015-01-01 00:14:54,bin894,35,True +abc,895,895,895,1972-06-14,89.49999999999919,89.49921,2015-01-01 00:14:55,bin895,75,True +abc,896,896,896,1972-06-15,89.59999999999918,89.599205,2015-01-01 00:14:56,bin896,35,True +abc,897,897,897,1972-06-16,89.69999999999918,89.6992,2015-01-01 00:14:57,bin897,75,True +abc,898,898,898,1972-06-17,89.79999999999917,89.7992,2015-01-01 00:14:58,bin898,35,True +abc,899,899,899,1972-06-18,89.89999999999917,89.8992,2015-01-01 00:14:59,bin899,75,True +abc,900,900,900,1972-06-19,89.99999999999916,89.9992,2015-01-01 00:15:00,bin900,35,True +abc,901,901,901,1972-06-20,90.09999999999916,90.0992,2015-01-01 00:15:01,bin901,75,True +abc,902,902,902,1972-06-21,90.19999999999915,90.199196,2015-01-01 00:15:02,bin902,35,True +abc,903,903,903,1972-06-22,90.29999999999914,90.299194,2015-01-01 00:15:03,bin903,75,True +abc,904,904,904,1972-06-23,90.39999999999914,90.39919,2015-01-01 00:15:04,bin904,35,True +abc,905,905,905,1972-06-24,90.49999999999913,90.49919,2015-01-01 00:15:05,bin905,75,True +abc,906,906,906,1972-06-25,90.59999999999913,90.59919,2015-01-01 00:15:06,bin906,35,True +abc,907,907,907,1972-06-26,90.69999999999912,90.69919,2015-01-01 00:15:07,bin907,75,True +abc,908,908,908,1972-06-27,90.79999999999912,90.79919,2015-01-01 00:15:08,bin908,35,True +abc,909,909,909,1972-06-28,90.89999999999911,90.899185,2015-01-01 00:15:09,bin909,75,True +abc,910,910,910,1972-06-29,90.9999999999991,90.99918,2015-01-01 00:15:10,bin910,35,True +abc,911,911,911,1972-06-30,91.0999999999991,91.09918,2015-01-01 00:15:11,bin911,75,True +abc,912,912,912,1972-07-01,91.1999999999991,91.19918,2015-01-01 00:15:12,bin912,35,True +abc,913,913,913,1972-07-02,91.29999999999909,91.29918,2015-01-01 00:15:13,bin913,75,True +abc,914,914,914,1972-07-03,91.39999999999908,91.39918,2015-01-01 00:15:14,bin914,35,True +abc,915,915,915,1972-07-04,91.49999999999908,91.499176,2015-01-01 00:15:15,bin915,75,True +abc,916,916,916,1972-07-05,91.59999999999907,91.599174,2015-01-01 00:15:16,bin916,35,True +abc,917,917,917,1972-07-06,91.69999999999906,91.69917,2015-01-01 00:15:17,bin917,75,True +abc,918,918,918,1972-07-07,91.79999999999906,91.79917,2015-01-01 00:15:18,bin918,35,True +abc,919,919,919,1972-07-08,91.89999999999905,91.89917,2015-01-01 00:15:19,bin919,75,True +abc,920,920,920,1972-07-09,91.99999999999905,91.99917,2015-01-01 00:15:20,bin920,35,True +abc,921,921,921,1972-07-10,92.09999999999904,92.09917,2015-01-01 00:15:21,bin921,75,True +abc,922,922,922,1972-07-11,92.19999999999904,92.199165,2015-01-01 00:15:22,bin922,35,True +abc,923,923,923,1972-07-12,92.29999999999903,92.299164,2015-01-01 00:15:23,bin923,75,True +abc,924,924,924,1972-07-13,92.39999999999903,92.39916,2015-01-01 00:15:24,bin924,35,True +abc,925,925,925,1972-07-14,92.49999999999902,92.49916,2015-01-01 00:15:25,bin925,75,True +abc,926,926,926,1972-07-15,92.59999999999901,92.59916,2015-01-01 00:15:26,bin926,35,True +abc,927,927,927,1972-07-16,92.69999999999901,92.69916,2015-01-01 00:15:27,bin927,75,True +abc,928,928,928,1972-07-17,92.799999999999,92.79916,2015-01-01 00:15:28,bin928,35,True +abc,929,929,929,1972-07-18,92.899999999999,92.899155,2015-01-01 00:15:29,bin929,75,True +abc,930,930,930,1972-07-19,92.99999999999899,92.99915,2015-01-01 00:15:30,bin930,35,True +abc,931,931,931,1972-07-20,93.09999999999899,93.09915,2015-01-01 00:15:31,bin931,75,True +abc,932,932,932,1972-07-21,93.19999999999898,93.19915,2015-01-01 00:15:32,bin932,35,True +abc,933,933,933,1972-07-22,93.29999999999897,93.29915,2015-01-01 00:15:33,bin933,75,True +abc,934,934,934,1972-07-23,93.39999999999897,93.39915,2015-01-01 00:15:34,bin934,35,True +abc,935,935,935,1972-07-24,93.49999999999896,93.499146,2015-01-01 00:15:35,bin935,75,True +abc,936,936,936,1972-07-25,93.59999999999896,93.599144,2015-01-01 00:15:36,bin936,35,True +abc,937,937,937,1972-07-26,93.69999999999895,93.69914,2015-01-01 00:15:37,bin937,75,True +abc,938,938,938,1972-07-27,93.79999999999895,93.79914,2015-01-01 00:15:38,bin938,35,True +abc,939,939,939,1972-07-28,93.89999999999894,93.89914,2015-01-01 00:15:39,bin939,75,True +abc,940,940,940,1972-07-29,93.99999999999893,93.99914,2015-01-01 00:15:40,bin940,35,True +abc,941,941,941,1972-07-30,94.09999999999893,94.09914,2015-01-01 00:15:41,bin941,75,True +abc,942,942,942,1972-07-31,94.19999999999892,94.199135,2015-01-01 00:15:42,bin942,35,True +abc,943,943,943,1972-08-01,94.29999999999892,94.29913,2015-01-01 00:15:43,bin943,75,True +abc,944,944,944,1972-08-02,94.39999999999891,94.39913,2015-01-01 00:15:44,bin944,35,True +abc,945,945,945,1972-08-03,94.4999999999989,94.49913,2015-01-01 00:15:45,bin945,75,True +abc,946,946,946,1972-08-04,94.5999999999989,94.59913,2015-01-01 00:15:46,bin946,35,True +abc,947,947,947,1972-08-05,94.6999999999989,94.69913,2015-01-01 00:15:47,bin947,75,True +abc,948,948,948,1972-08-06,94.79999999999889,94.799126,2015-01-01 00:15:48,bin948,35,True +abc,949,949,949,1972-08-07,94.89999999999888,94.899124,2015-01-01 00:15:49,bin949,75,True +abc,950,950,950,1972-08-08,94.99999999999888,94.99912,2015-01-01 00:15:50,bin950,35,True +abc,951,951,951,1972-08-09,95.09999999999887,95.09912,2015-01-01 00:15:51,bin951,75,True +abc,952,952,952,1972-08-10,95.19999999999887,95.19912,2015-01-01 00:15:52,bin952,35,True +abc,953,953,953,1972-08-11,95.29999999999886,95.29912,2015-01-01 00:15:53,bin953,75,True +abc,954,954,954,1972-08-12,95.39999999999885,95.39912,2015-01-01 00:15:54,bin954,35,True +abc,955,955,955,1972-08-13,95.49999999999885,95.499115,2015-01-01 00:15:55,bin955,75,True +abc,956,956,956,1972-08-14,95.59999999999884,95.59911,2015-01-01 00:15:56,bin956,35,True +abc,957,957,957,1972-08-15,95.69999999999884,95.69911,2015-01-01 00:15:57,bin957,75,True +abc,958,958,958,1972-08-16,95.79999999999883,95.79911,2015-01-01 00:15:58,bin958,35,True +abc,959,959,959,1972-08-17,95.89999999999883,95.89911,2015-01-01 00:15:59,bin959,75,True +abc,960,960,960,1972-08-18,95.99999999999882,95.99911,2015-01-01 00:16:00,bin960,35,True +abc,961,961,961,1972-08-19,96.09999999999881,96.099106,2015-01-01 00:16:01,bin961,75,True +abc,962,962,962,1972-08-20,96.19999999999881,96.199104,2015-01-01 00:16:02,bin962,35,True +abc,963,963,963,1972-08-21,96.2999999999988,96.2991,2015-01-01 00:16:03,bin963,75,True +abc,964,964,964,1972-08-22,96.3999999999988,96.3991,2015-01-01 00:16:04,bin964,35,True +abc,965,965,965,1972-08-23,96.49999999999879,96.4991,2015-01-01 00:16:05,bin965,75,True +abc,966,966,966,1972-08-24,96.59999999999879,96.5991,2015-01-01 00:16:06,bin966,35,True +abc,967,967,967,1972-08-25,96.69999999999878,96.6991,2015-01-01 00:16:07,bin967,75,True +abc,968,968,968,1972-08-26,96.79999999999878,96.799095,2015-01-01 00:16:08,bin968,35,True +abc,969,969,969,1972-08-27,96.89999999999877,96.89909,2015-01-01 00:16:09,bin969,75,True +abc,970,970,970,1972-08-28,96.99999999999876,96.99909,2015-01-01 00:16:10,bin970,35,True +abc,971,971,971,1972-08-29,97.09999999999876,97.09909,2015-01-01 00:16:11,bin971,75,True +abc,972,972,972,1972-08-30,97.19999999999875,97.19909,2015-01-01 00:16:12,bin972,35,True +abc,973,973,973,1972-08-31,97.29999999999875,97.29909,2015-01-01 00:16:13,bin973,75,True +abc,974,974,974,1972-09-01,97.39999999999874,97.399086,2015-01-01 00:16:14,bin974,35,True +abc,975,975,975,1972-09-02,97.49999999999874,97.499084,2015-01-01 00:16:15,bin975,75,True +abc,976,976,976,1972-09-03,97.59999999999873,97.59908,2015-01-01 00:16:16,bin976,35,True +abc,977,977,977,1972-09-04,97.69999999999872,97.69908,2015-01-01 00:16:17,bin977,75,True +abc,978,978,978,1972-09-05,97.79999999999872,97.79908,2015-01-01 00:16:18,bin978,35,True +abc,979,979,979,1972-09-06,97.89999999999871,97.89908,2015-01-01 00:16:19,bin979,75,True +abc,980,980,980,1972-09-07,97.9999999999987,97.99908,2015-01-01 00:16:20,bin980,35,True +abc,981,981,981,1972-09-08,98.0999999999987,98.099075,2015-01-01 00:16:21,bin981,75,True +abc,982,982,982,1972-09-09,98.1999999999987,98.19907,2015-01-01 00:16:22,bin982,35,True +abc,983,983,983,1972-09-10,98.29999999999869,98.29907,2015-01-01 00:16:23,bin983,75,True +abc,984,984,984,1972-09-11,98.39999999999868,98.39907,2015-01-01 00:16:24,bin984,35,True +abc,985,985,985,1972-09-12,98.49999999999868,98.49907,2015-01-01 00:16:25,bin985,75,True +abc,986,986,986,1972-09-13,98.59999999999867,98.59907,2015-01-01 00:16:26,bin986,35,True +abc,987,987,987,1972-09-14,98.69999999999867,98.699066,2015-01-01 00:16:27,bin987,75,True +abc,988,988,988,1972-09-15,98.79999999999866,98.799065,2015-01-01 00:16:28,bin988,35,True +abc,989,989,989,1972-09-16,98.89999999999866,98.89906,2015-01-01 00:16:29,bin989,75,True +abc,990,990,990,1972-09-17,98.99999999999865,98.99906,2015-01-01 00:16:30,bin990,35,True +abc,991,991,991,1972-09-18,99.09999999999864,99.09906,2015-01-01 00:16:31,bin991,75,True +abc,992,992,992,1972-09-19,99.19999999999864,99.19906,2015-01-01 00:16:32,bin992,35,True +abc,993,993,993,1972-09-20,99.29999999999863,99.29906,2015-01-01 00:16:33,bin993,75,True +abc,994,994,994,1972-09-21,99.39999999999863,99.399055,2015-01-01 00:16:34,bin994,35,True +abc,995,995,995,1972-09-22,99.49999999999862,99.499054,2015-01-01 00:16:35,bin995,75,True +abc,996,996,996,1972-09-23,99.59999999999862,99.59905,2015-01-01 00:16:36,bin996,35,True +abc,997,997,997,1972-09-24,99.69999999999861,99.69905,2015-01-01 00:16:37,bin997,75,True +abc,998,998,998,1972-09-25,99.7999999999986,99.79905,2015-01-01 00:16:38,bin998,35,True +abc,999,999,999,1972-09-26,99.8999999999986,99.89905,2015-01-01 00:16:39,bin999,75,True +abc,1000,1000,1000,1972-09-27,99.9999999999986,99.99905,2015-01-01 00:16:40,bin1000,35,True +abc,1001,1001,1001,1972-09-28,100.09999999999859,100.099045,2015-01-01 00:16:41,bin1001,75,True +abc,1002,1002,1002,1972-09-29,100.19999999999858,100.19904,2015-01-01 00:16:42,bin1002,35,True +abc,1003,1003,1003,1972-09-30,100.29999999999858,100.29904,2015-01-01 00:16:43,bin1003,75,True +abc,1004,1004,1004,1972-10-01,100.39999999999857,100.39904,2015-01-01 00:16:44,bin1004,35,True +abc,1005,1005,1005,1972-10-02,100.49999999999856,100.49904,2015-01-01 00:16:45,bin1005,75,True +abc,1006,1006,1006,1972-10-03,100.59999999999856,100.59904,2015-01-01 00:16:46,bin1006,35,True +abc,1007,1007,1007,1972-10-04,100.69999999999855,100.699036,2015-01-01 00:16:47,bin1007,75,True +abc,1008,1008,1008,1972-10-05,100.79999999999855,100.799034,2015-01-01 00:16:48,bin1008,35,True +abc,1009,1009,1009,1972-10-06,100.89999999999854,100.89903,2015-01-01 00:16:49,bin1009,75,True +abc,1010,1010,1010,1972-10-07,100.99999999999854,100.99903,2015-01-01 00:16:50,bin1010,35,True +abc,1011,1011,1011,1972-10-08,101.09999999999853,101.09903,2015-01-01 00:16:51,bin1011,75,True +abc,1012,1012,1012,1972-10-09,101.19999999999852,101.19903,2015-01-01 00:16:52,bin1012,35,True +abc,1013,1013,1013,1972-10-10,101.29999999999852,101.29903,2015-01-01 00:16:53,bin1013,75,True +abc,1014,1014,1014,1972-10-11,101.39999999999851,101.399025,2015-01-01 00:16:54,bin1014,35,True +abc,1015,1015,1015,1972-10-12,101.49999999999851,101.49902,2015-01-01 00:16:55,bin1015,75,True +abc,1016,1016,1016,1972-10-13,101.5999999999985,101.59902,2015-01-01 00:16:56,bin1016,35,True +abc,1017,1017,1017,1972-10-14,101.6999999999985,101.69902,2015-01-01 00:16:57,bin1017,75,True +abc,1018,1018,1018,1972-10-15,101.79999999999849,101.79902,2015-01-01 00:16:58,bin1018,35,True +abc,1019,1019,1019,1972-10-16,101.89999999999849,101.89902,2015-01-01 00:16:59,bin1019,75,True +abc,1020,1020,1020,1972-10-17,101.99999999999848,101.999016,2015-01-01 00:17:00,bin1020,35,True +abc,1021,1021,1021,1972-10-18,102.09999999999847,102.099014,2015-01-01 00:17:01,bin1021,75,True +abc,1022,1022,1022,1972-10-19,102.19999999999847,102.19901,2015-01-01 00:17:02,bin1022,35,True +abc,1023,1023,1023,1972-10-20,102.29999999999846,102.29901,2015-01-01 00:17:03,bin1023,75,True +abc,1024,1024,1024,1972-10-21,102.39999999999846,102.39901,2015-01-01 00:17:04,bin1024,35,True +abc,1025,1025,1025,1972-10-22,102.49999999999845,102.49901,2015-01-01 00:17:05,bin1025,75,True +abc,1026,1026,1026,1972-10-23,102.59999999999845,102.59901,2015-01-01 00:17:06,bin1026,35,True +abc,1027,1027,1027,1972-10-24,102.69999999999844,102.699005,2015-01-01 00:17:07,bin1027,75,True +abc,1028,1028,1028,1972-10-25,102.79999999999843,102.799,2015-01-01 00:17:08,bin1028,35,True +abc,1029,1029,1029,1972-10-26,102.89999999999843,102.899,2015-01-01 00:17:09,bin1029,75,True +abc,1030,1030,1030,1972-10-27,102.99999999999842,102.999,2015-01-01 00:17:10,bin1030,35,True +abc,1031,1031,1031,1972-10-28,103.09999999999842,103.099,2015-01-01 00:17:11,bin1031,75,True +abc,1032,1032,1032,1972-10-29,103.19999999999841,103.199,2015-01-01 00:17:12,bin1032,35,True +abc,1033,1033,1033,1972-10-30,103.2999999999984,103.298996,2015-01-01 00:17:13,bin1033,75,True +abc,1034,1034,1034,1972-10-31,103.3999999999984,103.398994,2015-01-01 00:17:14,bin1034,35,True +abc,1035,1035,1035,1972-11-01,103.4999999999984,103.49899,2015-01-01 00:17:15,bin1035,75,True +abc,1036,1036,1036,1972-11-02,103.59999999999839,103.59899,2015-01-01 00:17:16,bin1036,35,True +abc,1037,1037,1037,1972-11-03,103.69999999999838,103.69899,2015-01-01 00:17:17,bin1037,75,True +abc,1038,1038,1038,1972-11-04,103.79999999999838,103.79899,2015-01-01 00:17:18,bin1038,35,True +abc,1039,1039,1039,1972-11-05,103.89999999999837,103.89899,2015-01-01 00:17:19,bin1039,75,True +abc,1040,1040,1040,1972-11-06,103.99999999999837,103.998985,2015-01-01 00:17:20,bin1040,35,True +abc,1041,1041,1041,1972-11-07,104.09999999999836,104.09898,2015-01-01 00:17:21,bin1041,75,True +abc,1042,1042,1042,1972-11-08,104.19999999999835,104.19898,2015-01-01 00:17:22,bin1042,35,True +abc,1043,1043,1043,1972-11-09,104.29999999999835,104.29898,2015-01-01 00:17:23,bin1043,75,True +abc,1044,1044,1044,1972-11-10,104.39999999999834,104.39898,2015-01-01 00:17:24,bin1044,35,True +abc,1045,1045,1045,1972-11-11,104.49999999999834,104.49898,2015-01-01 00:17:25,bin1045,75,True +abc,1046,1046,1046,1972-11-12,104.59999999999833,104.598976,2015-01-01 00:17:26,bin1046,35,True +abc,1047,1047,1047,1972-11-13,104.69999999999833,104.698975,2015-01-01 00:17:27,bin1047,75,True +abc,1048,1048,1048,1972-11-14,104.79999999999832,104.79897,2015-01-01 00:17:28,bin1048,35,True +abc,1049,1049,1049,1972-11-15,104.89999999999831,104.89897,2015-01-01 00:17:29,bin1049,75,True +abc,1050,1050,1050,1972-11-16,104.99999999999831,104.99897,2015-01-01 00:17:30,bin1050,35,True +abc,1051,1051,1051,1972-11-17,105.0999999999983,105.09897,2015-01-01 00:17:31,bin1051,75,True +abc,1052,1052,1052,1972-11-18,105.1999999999983,105.19897,2015-01-01 00:17:32,bin1052,35,True +abc,1053,1053,1053,1972-11-19,105.29999999999829,105.298965,2015-01-01 00:17:33,bin1053,75,True +abc,1054,1054,1054,1972-11-20,105.39999999999829,105.398964,2015-01-01 00:17:34,bin1054,35,True +abc,1055,1055,1055,1972-11-21,105.49999999999828,105.49896,2015-01-01 00:17:35,bin1055,75,True +abc,1056,1056,1056,1972-11-22,105.59999999999827,105.59896,2015-01-01 00:17:36,bin1056,35,True +abc,1057,1057,1057,1972-11-23,105.69999999999827,105.69896,2015-01-01 00:17:37,bin1057,75,True +abc,1058,1058,1058,1972-11-24,105.79999999999826,105.79896,2015-01-01 00:17:38,bin1058,35,True +abc,1059,1059,1059,1972-11-25,105.89999999999826,105.89896,2015-01-01 00:17:39,bin1059,75,True +abc,1060,1060,1060,1972-11-26,105.99999999999825,105.998955,2015-01-01 00:17:40,bin1060,35,True +abc,1061,1061,1061,1972-11-27,106.09999999999825,106.09895,2015-01-01 00:17:41,bin1061,75,True +abc,1062,1062,1062,1972-11-28,106.19999999999824,106.19895,2015-01-01 00:17:42,bin1062,35,True +abc,1063,1063,1063,1972-11-29,106.29999999999824,106.29895,2015-01-01 00:17:43,bin1063,75,True +abc,1064,1064,1064,1972-11-30,106.39999999999823,106.39895,2015-01-01 00:17:44,bin1064,35,True +abc,1065,1065,1065,1972-12-01,106.49999999999822,106.49895,2015-01-01 00:17:45,bin1065,75,True +abc,1066,1066,1066,1972-12-02,106.59999999999822,106.598946,2015-01-01 00:17:46,bin1066,35,True +abc,1067,1067,1067,1972-12-03,106.69999999999821,106.698944,2015-01-01 00:17:47,bin1067,75,True +abc,1068,1068,1068,1972-12-04,106.7999999999982,106.79894,2015-01-01 00:17:48,bin1068,35,True +abc,1069,1069,1069,1972-12-05,106.8999999999982,106.89894,2015-01-01 00:17:49,bin1069,75,True +abc,1070,1070,1070,1972-12-06,106.9999999999982,106.99894,2015-01-01 00:17:50,bin1070,35,True +abc,1071,1071,1071,1972-12-07,107.09999999999819,107.09894,2015-01-01 00:17:51,bin1071,75,True +abc,1072,1072,1072,1972-12-08,107.19999999999818,107.19894,2015-01-01 00:17:52,bin1072,35,True +abc,1073,1073,1073,1972-12-09,107.29999999999818,107.298935,2015-01-01 00:17:53,bin1073,75,True +abc,1074,1074,1074,1972-12-10,107.39999999999817,107.39893,2015-01-01 00:17:54,bin1074,35,True +abc,1075,1075,1075,1972-12-11,107.49999999999817,107.49893,2015-01-01 00:17:55,bin1075,75,True +abc,1076,1076,1076,1972-12-12,107.59999999999816,107.59893,2015-01-01 00:17:56,bin1076,35,True +abc,1077,1077,1077,1972-12-13,107.69999999999816,107.69893,2015-01-01 00:17:57,bin1077,75,True +abc,1078,1078,1078,1972-12-14,107.79999999999815,107.79893,2015-01-01 00:17:58,bin1078,35,True +abc,1079,1079,1079,1972-12-15,107.89999999999814,107.898926,2015-01-01 00:17:59,bin1079,75,True +abc,1080,1080,1080,1972-12-16,107.99999999999814,107.998924,2015-01-01 00:18:00,bin1080,35,True +abc,1081,1081,1081,1972-12-17,108.09999999999813,108.09892,2015-01-01 00:18:01,bin1081,75,True +abc,1082,1082,1082,1972-12-18,108.19999999999813,108.19892,2015-01-01 00:18:02,bin1082,35,True +abc,1083,1083,1083,1972-12-19,108.29999999999812,108.29892,2015-01-01 00:18:03,bin1083,75,True +abc,1084,1084,1084,1972-12-20,108.39999999999812,108.39892,2015-01-01 00:18:04,bin1084,35,True +abc,1085,1085,1085,1972-12-21,108.49999999999811,108.49892,2015-01-01 00:18:05,bin1085,75,True +abc,1086,1086,1086,1972-12-22,108.5999999999981,108.598915,2015-01-01 00:18:06,bin1086,35,True +abc,1087,1087,1087,1972-12-23,108.6999999999981,108.69891,2015-01-01 00:18:07,bin1087,75,True +abc,1088,1088,1088,1972-12-24,108.7999999999981,108.79891,2015-01-01 00:18:08,bin1088,35,True +abc,1089,1089,1089,1972-12-25,108.89999999999809,108.89891,2015-01-01 00:18:09,bin1089,75,True +abc,1090,1090,1090,1972-12-26,108.99999999999808,108.99891,2015-01-01 00:18:10,bin1090,35,True +abc,1091,1091,1091,1972-12-27,109.09999999999808,109.09891,2015-01-01 00:18:11,bin1091,75,True +abc,1092,1092,1092,1972-12-28,109.19999999999807,109.198906,2015-01-01 00:18:12,bin1092,35,True +abc,1093,1093,1093,1972-12-29,109.29999999999806,109.298904,2015-01-01 00:18:13,bin1093,75,True +abc,1094,1094,1094,1972-12-30,109.39999999999806,109.3989,2015-01-01 00:18:14,bin1094,35,True +abc,1095,1095,1095,1972-12-31,109.49999999999805,109.4989,2015-01-01 00:18:15,bin1095,75,True +abc,1096,1096,1096,1973-01-01,109.59999999999805,109.5989,2015-01-01 00:18:16,bin1096,35,True +abc,1097,1097,1097,1973-01-02,109.69999999999804,109.6989,2015-01-01 00:18:17,bin1097,75,True +abc,1098,1098,1098,1973-01-03,109.79999999999804,109.7989,2015-01-01 00:18:18,bin1098,35,True +abc,1099,1099,1099,1973-01-04,109.89999999999803,109.898895,2015-01-01 00:18:19,bin1099,75,True +abc,1100,1100,1100,1973-01-05,109.99999999999802,109.99889,2015-01-01 00:18:20,bin1100,35,True +abc,1101,1101,1101,1973-01-06,110.09999999999802,110.09889,2015-01-01 00:18:21,bin1101,75,True +abc,1102,1102,1102,1973-01-07,110.19999999999801,110.19889,2015-01-01 00:18:22,bin1102,35,True +abc,1103,1103,1103,1973-01-08,110.29999999999801,110.29889,2015-01-01 00:18:23,bin1103,75,True +abc,1104,1104,1104,1973-01-09,110.399999999998,110.39889,2015-01-01 00:18:24,bin1104,35,True +abc,1105,1105,1105,1973-01-10,110.499999999998,110.498886,2015-01-01 00:18:25,bin1105,75,True +abc,1106,1106,1106,1973-01-11,110.59999999999799,110.598885,2015-01-01 00:18:26,bin1106,35,True +abc,1107,1107,1107,1973-01-12,110.69999999999798,110.69888,2015-01-01 00:18:27,bin1107,75,True +abc,1108,1108,1108,1973-01-13,110.79999999999798,110.79888,2015-01-01 00:18:28,bin1108,35,True +abc,1109,1109,1109,1973-01-14,110.89999999999797,110.89888,2015-01-01 00:18:29,bin1109,75,True +abc,1110,1110,1110,1973-01-15,110.99999999999797,110.99888,2015-01-01 00:18:30,bin1110,35,True +abc,1111,1111,1111,1973-01-16,111.09999999999796,111.09888,2015-01-01 00:18:31,bin1111,75,True +abc,1112,1112,1112,1973-01-17,111.19999999999796,111.198875,2015-01-01 00:18:32,bin1112,35,True +abc,1113,1113,1113,1973-01-18,111.29999999999795,111.298874,2015-01-01 00:18:33,bin1113,75,True +abc,1114,1114,1114,1973-01-19,111.39999999999795,111.39887,2015-01-01 00:18:34,bin1114,35,True +abc,1115,1115,1115,1973-01-20,111.49999999999794,111.49887,2015-01-01 00:18:35,bin1115,75,True +abc,1116,1116,1116,1973-01-21,111.59999999999793,111.59887,2015-01-01 00:18:36,bin1116,35,True +abc,1117,1117,1117,1973-01-22,111.69999999999793,111.69887,2015-01-01 00:18:37,bin1117,75,True +abc,1118,1118,1118,1973-01-23,111.79999999999792,111.79887,2015-01-01 00:18:38,bin1118,35,True +abc,1119,1119,1119,1973-01-24,111.89999999999792,111.898865,2015-01-01 00:18:39,bin1119,75,True +abc,1120,1120,1120,1973-01-25,111.99999999999791,111.99886,2015-01-01 00:18:40,bin1120,35,True +abc,1121,1121,1121,1973-01-26,112.0999999999979,112.09886,2015-01-01 00:18:41,bin1121,75,True +abc,1122,1122,1122,1973-01-27,112.1999999999979,112.19886,2015-01-01 00:18:42,bin1122,35,True +abc,1123,1123,1123,1973-01-28,112.2999999999979,112.29886,2015-01-01 00:18:43,bin1123,75,True +abc,1124,1124,1124,1973-01-29,112.39999999999789,112.39886,2015-01-01 00:18:44,bin1124,35,True +abc,1125,1125,1125,1973-01-30,112.49999999999788,112.498856,2015-01-01 00:18:45,bin1125,75,True +abc,1126,1126,1126,1973-01-31,112.59999999999788,112.598854,2015-01-01 00:18:46,bin1126,35,True +abc,1127,1127,1127,1973-02-01,112.69999999999787,112.69885,2015-01-01 00:18:47,bin1127,75,True +abc,1128,1128,1128,1973-02-02,112.79999999999787,112.79885,2015-01-01 00:18:48,bin1128,35,True +abc,1129,1129,1129,1973-02-03,112.89999999999786,112.89885,2015-01-01 00:18:49,bin1129,75,True +abc,1130,1130,1130,1973-02-04,112.99999999999785,112.99885,2015-01-01 00:18:50,bin1130,35,True +abc,1131,1131,1131,1973-02-05,113.09999999999785,113.09885,2015-01-01 00:18:51,bin1131,75,True +abc,1132,1132,1132,1973-02-06,113.19999999999784,113.198845,2015-01-01 00:18:52,bin1132,35,True +abc,1133,1133,1133,1973-02-07,113.29999999999784,113.29884,2015-01-01 00:18:53,bin1133,75,True +abc,1134,1134,1134,1973-02-08,113.39999999999783,113.39884,2015-01-01 00:18:54,bin1134,35,True +abc,1135,1135,1135,1973-02-09,113.49999999999783,113.49884,2015-01-01 00:18:55,bin1135,75,True +abc,1136,1136,1136,1973-02-10,113.59999999999782,113.59884,2015-01-01 00:18:56,bin1136,35,True +abc,1137,1137,1137,1973-02-11,113.69999999999781,113.69884,2015-01-01 00:18:57,bin1137,75,True +abc,1138,1138,1138,1973-02-12,113.79999999999781,113.798836,2015-01-01 00:18:58,bin1138,35,True +abc,1139,1139,1139,1973-02-13,113.8999999999978,113.898834,2015-01-01 00:18:59,bin1139,75,True +abc,1140,1140,1140,1973-02-14,113.9999999999978,113.99883,2015-01-01 00:19:00,bin1140,35,True +abc,1141,1141,1141,1973-02-15,114.09999999999779,114.09883,2015-01-01 00:19:01,bin1141,75,True +abc,1142,1142,1142,1973-02-16,114.19999999999779,114.19883,2015-01-01 00:19:02,bin1142,35,True +abc,1143,1143,1143,1973-02-17,114.29999999999778,114.29883,2015-01-01 00:19:03,bin1143,75,True +abc,1144,1144,1144,1973-02-18,114.39999999999777,114.39883,2015-01-01 00:19:04,bin1144,35,True +abc,1145,1145,1145,1973-02-19,114.49999999999777,114.498825,2015-01-01 00:19:05,bin1145,75,True +abc,1146,1146,1146,1973-02-20,114.59999999999776,114.59882,2015-01-01 00:19:06,bin1146,35,True +abc,1147,1147,1147,1973-02-21,114.69999999999776,114.69882,2015-01-01 00:19:07,bin1147,75,True +abc,1148,1148,1148,1973-02-22,114.79999999999775,114.79882,2015-01-01 00:19:08,bin1148,35,True +abc,1149,1149,1149,1973-02-23,114.89999999999775,114.89882,2015-01-01 00:19:09,bin1149,75,True +abc,1150,1150,1150,1973-02-24,114.99999999999774,114.99882,2015-01-01 00:19:10,bin1150,35,True +abc,1151,1151,1151,1973-02-25,115.09999999999773,115.098816,2015-01-01 00:19:11,bin1151,75,True +abc,1152,1152,1152,1973-02-26,115.19999999999773,115.198814,2015-01-01 00:19:12,bin1152,35,True +abc,1153,1153,1153,1973-02-27,115.29999999999772,115.29881,2015-01-01 00:19:13,bin1153,75,True +abc,1154,1154,1154,1973-02-28,115.39999999999772,115.39881,2015-01-01 00:19:14,bin1154,35,True +abc,1155,1155,1155,1973-03-01,115.49999999999771,115.49881,2015-01-01 00:19:15,bin1155,75,True +abc,1156,1156,1156,1973-03-02,115.5999999999977,115.59881,2015-01-01 00:19:16,bin1156,35,True +abc,1157,1157,1157,1973-03-03,115.6999999999977,115.69881,2015-01-01 00:19:17,bin1157,75,True +abc,1158,1158,1158,1973-03-04,115.7999999999977,115.798805,2015-01-01 00:19:18,bin1158,35,True +abc,1159,1159,1159,1973-03-05,115.89999999999769,115.8988,2015-01-01 00:19:19,bin1159,75,True +abc,1160,1160,1160,1973-03-06,115.99999999999768,115.9988,2015-01-01 00:19:20,bin1160,35,True +abc,1161,1161,1161,1973-03-07,116.09999999999768,116.0988,2015-01-01 00:19:21,bin1161,75,True +abc,1162,1162,1162,1973-03-08,116.19999999999767,116.1988,2015-01-01 00:19:22,bin1162,35,True +abc,1163,1163,1163,1973-03-09,116.29999999999767,116.2988,2015-01-01 00:19:23,bin1163,75,True +abc,1164,1164,1164,1973-03-10,116.39999999999766,116.398796,2015-01-01 00:19:24,bin1164,35,True +abc,1165,1165,1165,1973-03-11,116.49999999999766,116.498795,2015-01-01 00:19:25,bin1165,75,True +abc,1166,1166,1166,1973-03-12,116.59999999999765,116.59879,2015-01-01 00:19:26,bin1166,35,True +abc,1167,1167,1167,1973-03-13,116.69999999999764,116.69879,2015-01-01 00:19:27,bin1167,75,True +abc,1168,1168,1168,1973-03-14,116.79999999999764,116.79879,2015-01-01 00:19:28,bin1168,35,True +abc,1169,1169,1169,1973-03-15,116.89999999999763,116.89879,2015-01-01 00:19:29,bin1169,75,True +abc,1170,1170,1170,1973-03-16,116.99999999999763,116.99879,2015-01-01 00:19:30,bin1170,35,True +abc,1171,1171,1171,1973-03-17,117.09999999999762,117.098785,2015-01-01 00:19:31,bin1171,75,True +abc,1172,1172,1172,1973-03-18,117.19999999999762,117.198784,2015-01-01 00:19:32,bin1172,35,True +abc,1173,1173,1173,1973-03-19,117.29999999999761,117.29878,2015-01-01 00:19:33,bin1173,75,True +abc,1174,1174,1174,1973-03-20,117.3999999999976,117.39878,2015-01-01 00:19:34,bin1174,35,True +abc,1175,1175,1175,1973-03-21,117.4999999999976,117.49878,2015-01-01 00:19:35,bin1175,75,True +abc,1176,1176,1176,1973-03-22,117.59999999999759,117.59878,2015-01-01 00:19:36,bin1176,35,True +abc,1177,1177,1177,1973-03-23,117.69999999999759,117.69878,2015-01-01 00:19:37,bin1177,75,True +abc,1178,1178,1178,1973-03-24,117.79999999999758,117.798775,2015-01-01 00:19:38,bin1178,35,True +abc,1179,1179,1179,1973-03-25,117.89999999999758,117.89877,2015-01-01 00:19:39,bin1179,75,True +abc,1180,1180,1180,1973-03-26,117.99999999999757,117.99877,2015-01-01 00:19:40,bin1180,35,True +abc,1181,1181,1181,1973-03-27,118.09999999999756,118.09877,2015-01-01 00:19:41,bin1181,75,True +abc,1182,1182,1182,1973-03-28,118.19999999999756,118.19877,2015-01-01 00:19:42,bin1182,35,True +abc,1183,1183,1183,1973-03-29,118.29999999999755,118.29877,2015-01-01 00:19:43,bin1183,75,True +abc,1184,1184,1184,1973-03-30,118.39999999999755,118.398766,2015-01-01 00:19:44,bin1184,35,True +abc,1185,1185,1185,1973-03-31,118.49999999999754,118.498764,2015-01-01 00:19:45,bin1185,75,True +abc,1186,1186,1186,1973-04-01,118.59999999999754,118.59876,2015-01-01 00:19:46,bin1186,35,True +abc,1187,1187,1187,1973-04-02,118.69999999999753,118.69876,2015-01-01 00:19:47,bin1187,75,True +abc,1188,1188,1188,1973-04-03,118.79999999999752,118.79876,2015-01-01 00:19:48,bin1188,35,True +abc,1189,1189,1189,1973-04-04,118.89999999999752,118.89876,2015-01-01 00:19:49,bin1189,75,True +abc,1190,1190,1190,1973-04-05,118.99999999999751,118.99876,2015-01-01 00:19:50,bin1190,35,True +abc,1191,1191,1191,1973-04-06,119.09999999999751,119.098755,2015-01-01 00:19:51,bin1191,75,True +abc,1192,1192,1192,1973-04-07,119.1999999999975,119.19875,2015-01-01 00:19:52,bin1192,35,True +abc,1193,1193,1193,1973-04-08,119.2999999999975,119.29875,2015-01-01 00:19:53,bin1193,75,True +abc,1194,1194,1194,1973-04-09,119.39999999999749,119.39875,2015-01-01 00:19:54,bin1194,35,True +abc,1195,1195,1195,1973-04-10,119.49999999999748,119.49875,2015-01-01 00:19:55,bin1195,75,True +abc,1196,1196,1196,1973-04-11,119.59999999999748,119.59875,2015-01-01 00:19:56,bin1196,35,True +abc,1197,1197,1197,1973-04-12,119.69999999999747,119.698746,2015-01-01 00:19:57,bin1197,75,True +abc,1198,1198,1198,1973-04-13,119.79999999999747,119.798744,2015-01-01 00:19:58,bin1198,35,True +abc,1199,1199,1199,1973-04-14,119.89999999999746,119.89874,2015-01-01 00:19:59,bin1199,75,True +abc,1200,1200,1200,1973-04-15,119.99999999999746,119.99874,2015-01-01 00:20:00,bin1200,35,True +abc,1201,1201,1201,1973-04-16,120.09999999999745,120.09874,2015-01-01 00:20:01,bin1201,75,True +abc,1202,1202,1202,1973-04-17,120.19999999999744,120.19874,2015-01-01 00:20:02,bin1202,35,True +abc,1203,1203,1203,1973-04-18,120.29999999999744,120.29874,2015-01-01 00:20:03,bin1203,75,True +abc,1204,1204,1204,1973-04-19,120.39999999999743,120.398735,2015-01-01 00:20:04,bin1204,35,True +abc,1205,1205,1205,1973-04-20,120.49999999999743,120.49873,2015-01-01 00:20:05,bin1205,75,True +abc,1206,1206,1206,1973-04-21,120.59999999999742,120.59873,2015-01-01 00:20:06,bin1206,35,True +abc,1207,1207,1207,1973-04-22,120.69999999999742,120.69873,2015-01-01 00:20:07,bin1207,75,True +abc,1208,1208,1208,1973-04-23,120.79999999999741,120.79873,2015-01-01 00:20:08,bin1208,35,True +abc,1209,1209,1209,1973-04-24,120.8999999999974,120.89873,2015-01-01 00:20:09,bin1209,75,True +abc,1210,1210,1210,1973-04-25,120.9999999999974,120.998726,2015-01-01 00:20:10,bin1210,35,True +abc,1211,1211,1211,1973-04-26,121.0999999999974,121.098724,2015-01-01 00:20:11,bin1211,75,True +abc,1212,1212,1212,1973-04-27,121.19999999999739,121.19872,2015-01-01 00:20:12,bin1212,35,True +abc,1213,1213,1213,1973-04-28,121.29999999999738,121.29872,2015-01-01 00:20:13,bin1213,75,True +abc,1214,1214,1214,1973-04-29,121.39999999999738,121.39872,2015-01-01 00:20:14,bin1214,35,True +abc,1215,1215,1215,1973-04-30,121.49999999999737,121.49872,2015-01-01 00:20:15,bin1215,75,True +abc,1216,1216,1216,1973-05-01,121.59999999999737,121.59872,2015-01-01 00:20:16,bin1216,35,True +abc,1217,1217,1217,1973-05-02,121.69999999999736,121.698715,2015-01-01 00:20:17,bin1217,75,True +abc,1218,1218,1218,1973-05-03,121.79999999999735,121.79871,2015-01-01 00:20:18,bin1218,35,True +abc,1219,1219,1219,1973-05-04,121.89999999999735,121.89871,2015-01-01 00:20:19,bin1219,75,True +abc,1220,1220,1220,1973-05-05,121.99999999999734,121.99871,2015-01-01 00:20:20,bin1220,35,True +abc,1221,1221,1221,1973-05-06,122.09999999999734,122.09871,2015-01-01 00:20:21,bin1221,75,True +abc,1222,1222,1222,1973-05-07,122.19999999999733,122.19871,2015-01-01 00:20:22,bin1222,35,True +abc,1223,1223,1223,1973-05-08,122.29999999999733,122.298706,2015-01-01 00:20:23,bin1223,75,True +abc,1224,1224,1224,1973-05-09,122.39999999999732,122.398705,2015-01-01 00:20:24,bin1224,35,True +abc,1225,1225,1225,1973-05-10,122.49999999999731,122.4987,2015-01-01 00:20:25,bin1225,75,True +abc,1226,1226,1226,1973-05-11,122.59999999999731,122.5987,2015-01-01 00:20:26,bin1226,35,True +abc,1227,1227,1227,1973-05-12,122.6999999999973,122.6987,2015-01-01 00:20:27,bin1227,75,True +abc,1228,1228,1228,1973-05-13,122.7999999999973,122.7987,2015-01-01 00:20:28,bin1228,35,True +abc,1229,1229,1229,1973-05-14,122.89999999999729,122.8987,2015-01-01 00:20:29,bin1229,75,True +abc,1230,1230,1230,1973-05-15,122.99999999999729,122.998695,2015-01-01 00:20:30,bin1230,35,True +abc,1231,1231,1231,1973-05-16,123.09999999999728,123.098694,2015-01-01 00:20:31,bin1231,75,True +abc,1232,1232,1232,1973-05-17,123.19999999999727,123.19869,2015-01-01 00:20:32,bin1232,35,True +abc,1233,1233,1233,1973-05-18,123.29999999999727,123.29869,2015-01-01 00:20:33,bin1233,75,True +abc,1234,1234,1234,1973-05-19,123.39999999999726,123.39869,2015-01-01 00:20:34,bin1234,35,True +abc,1235,1235,1235,1973-05-20,123.49999999999726,123.49869,2015-01-01 00:20:35,bin1235,75,True +abc,1236,1236,1236,1973-05-21,123.59999999999725,123.59869,2015-01-01 00:20:36,bin1236,35,True +abc,1237,1237,1237,1973-05-22,123.69999999999725,123.698685,2015-01-01 00:20:37,bin1237,75,True +abc,1238,1238,1238,1973-05-23,123.79999999999724,123.79868,2015-01-01 00:20:38,bin1238,35,True +abc,1239,1239,1239,1973-05-24,123.89999999999723,123.89868,2015-01-01 00:20:39,bin1239,75,True +abc,1240,1240,1240,1973-05-25,123.99999999999723,123.99868,2015-01-01 00:20:40,bin1240,35,True +abc,1241,1241,1241,1973-05-26,124.09999999999722,124.09868,2015-01-01 00:20:41,bin1241,75,True +abc,1242,1242,1242,1973-05-27,124.19999999999722,124.19868,2015-01-01 00:20:42,bin1242,35,True +abc,1243,1243,1243,1973-05-28,124.29999999999721,124.298676,2015-01-01 00:20:43,bin1243,75,True +abc,1244,1244,1244,1973-05-29,124.3999999999972,124.398674,2015-01-01 00:20:44,bin1244,35,True +abc,1245,1245,1245,1973-05-30,124.4999999999972,124.49867,2015-01-01 00:20:45,bin1245,75,True +abc,1246,1246,1246,1973-05-31,124.5999999999972,124.59867,2015-01-01 00:20:46,bin1246,35,True +abc,1247,1247,1247,1973-06-01,124.69999999999719,124.69867,2015-01-01 00:20:47,bin1247,75,True +abc,1248,1248,1248,1973-06-02,124.79999999999718,124.79867,2015-01-01 00:20:48,bin1248,35,True +abc,1249,1249,1249,1973-06-03,124.89999999999718,124.89867,2015-01-01 00:20:49,bin1249,75,True +abc,1250,1250,1250,1973-06-04,124.99999999999717,124.998665,2015-01-01 00:20:50,bin1250,35,True +abc,1251,1251,1251,1973-06-05,125.09999999999717,125.09866,2015-01-01 00:20:51,bin1251,75,True +abc,1252,1252,1252,1973-06-06,125.19999999999716,125.19866,2015-01-01 00:20:52,bin1252,35,True +abc,1253,1253,1253,1973-06-07,125.29999999999715,125.29866,2015-01-01 00:20:53,bin1253,75,True +abc,1254,1254,1254,1973-06-08,125.39999999999715,125.39866,2015-01-01 00:20:54,bin1254,35,True +abc,1255,1255,1255,1973-06-09,125.49999999999714,125.49866,2015-01-01 00:20:55,bin1255,75,True +abc,1256,1256,1256,1973-06-10,125.59999999999714,125.598656,2015-01-01 00:20:56,bin1256,35,True +abc,1257,1257,1257,1973-06-11,125.69999999999713,125.698654,2015-01-01 00:20:57,bin1257,75,True +abc,1258,1258,1258,1973-06-12,125.79999999999713,125.79865,2015-01-01 00:20:58,bin1258,35,True +abc,1259,1259,1259,1973-06-13,125.89999999999712,125.89865,2015-01-01 00:20:59,bin1259,75,True +abc,1260,1260,1260,1973-06-14,125.99999999999712,125.99865,2015-01-01 00:21:00,bin1260,35,True +abc,1261,1261,1261,1973-06-15,126.09999999999711,126.09865,2015-01-01 00:21:01,bin1261,75,True +abc,1262,1262,1262,1973-06-16,126.1999999999971,126.19865,2015-01-01 00:21:02,bin1262,35,True +abc,1263,1263,1263,1973-06-17,126.2999999999971,126.298645,2015-01-01 00:21:03,bin1263,75,True +abc,1264,1264,1264,1973-06-18,126.39999999999709,126.39864,2015-01-01 00:21:04,bin1264,35,True +abc,1265,1265,1265,1973-06-19,126.49999999999709,126.49864,2015-01-01 00:21:05,bin1265,75,True +abc,1266,1266,1266,1973-06-20,126.59999999999708,126.59864,2015-01-01 00:21:06,bin1266,35,True +abc,1267,1267,1267,1973-06-21,126.69999999999708,126.69864,2015-01-01 00:21:07,bin1267,75,True +abc,1268,1268,1268,1973-06-22,126.79999999999707,126.79864,2015-01-01 00:21:08,bin1268,35,True +abc,1269,1269,1269,1973-06-23,126.89999999999706,126.898636,2015-01-01 00:21:09,bin1269,75,True +abc,1270,1270,1270,1973-06-24,126.99999999999706,126.998634,2015-01-01 00:21:10,bin1270,35,True +abc,1271,1271,1271,1973-06-25,127.09999999999705,127.09863,2015-01-01 00:21:11,bin1271,75,True +abc,1272,1272,1272,1973-06-26,127.19999999999705,127.19863,2015-01-01 00:21:12,bin1272,35,True +abc,1273,1273,1273,1973-06-27,127.29999999999704,127.29863,2015-01-01 00:21:13,bin1273,75,True +abc,1274,1274,1274,1973-06-28,127.39999999999704,127.39863,2015-01-01 00:21:14,bin1274,35,True +abc,1275,1275,1275,1973-06-29,127.49999999999703,127.49863,2015-01-01 00:21:15,bin1275,75,True +abc,1276,1276,1276,1973-06-30,127.59999999999702,127.598625,2015-01-01 00:21:16,bin1276,35,True +abc,1277,1277,1277,1973-07-01,127.69999999999702,127.69862,2015-01-01 00:21:17,bin1277,75,True +abc,1278,1278,1278,1973-07-02,127.79999999999701,127.79862,2015-01-01 00:21:18,bin1278,35,True +abc,1279,1279,1279,1973-07-03,127.89999999999701,127.89862,2015-01-01 00:21:19,bin1279,75,True +abc,1280,1280,1280,1973-07-04,127.999999999997,127.99862,2015-01-01 00:21:20,bin1280,35,True +abc,1281,1281,1281,1973-07-05,128.099999999997,128.09862,2015-01-01 00:21:21,bin1281,75,True +abc,1282,1282,1282,1973-07-06,128.199999999997,128.19862,2015-01-01 00:21:22,bin1282,35,True +abc,1283,1283,1283,1973-07-07,128.299999999997,128.29863,2015-01-01 00:21:23,bin1283,75,True +abc,1284,1284,1284,1973-07-08,128.399999999997,128.39864,2015-01-01 00:21:24,bin1284,35,True +abc,1285,1285,1285,1973-07-09,128.499999999997,128.49864,2015-01-01 00:21:25,bin1285,75,True +abc,1286,1286,1286,1973-07-10,128.59999999999698,128.59865,2015-01-01 00:21:26,bin1286,35,True +abc,1287,1287,1287,1973-07-11,128.69999999999698,128.69865,2015-01-01 00:21:27,bin1287,75,True +abc,1288,1288,1288,1973-07-12,128.79999999999697,128.79866,2015-01-01 00:21:28,bin1288,35,True +abc,1289,1289,1289,1973-07-13,128.89999999999696,128.89867,2015-01-01 00:21:29,bin1289,75,True +abc,1290,1290,1290,1973-07-14,128.99999999999696,128.99867,2015-01-01 00:21:30,bin1290,35,True +abc,1291,1291,1291,1973-07-15,129.09999999999695,129.09868,2015-01-01 00:21:31,bin1291,75,True +abc,1292,1292,1292,1973-07-16,129.19999999999695,129.19868,2015-01-01 00:21:32,bin1292,35,True +abc,1293,1293,1293,1973-07-17,129.29999999999694,129.29869,2015-01-01 00:21:33,bin1293,75,True +abc,1294,1294,1294,1973-07-18,129.39999999999694,129.3987,2015-01-01 00:21:34,bin1294,35,True +abc,1295,1295,1295,1973-07-19,129.49999999999693,129.4987,2015-01-01 00:21:35,bin1295,75,True +abc,1296,1296,1296,1973-07-20,129.59999999999692,129.59871,2015-01-01 00:21:36,bin1296,35,True +abc,1297,1297,1297,1973-07-21,129.69999999999692,129.69872,2015-01-01 00:21:37,bin1297,75,True +abc,1298,1298,1298,1973-07-22,129.7999999999969,129.79872,2015-01-01 00:21:38,bin1298,35,True +abc,1299,1299,1299,1973-07-23,129.8999999999969,129.89873,2015-01-01 00:21:39,bin1299,75,True +abc,1300,1300,1300,1973-07-24,129.9999999999969,129.99873,2015-01-01 00:21:40,bin1300,35,True +abc,1301,1301,1301,1973-07-25,130.0999999999969,130.09874,2015-01-01 00:21:41,bin1301,75,True +abc,1302,1302,1302,1973-07-26,130.1999999999969,130.19875,2015-01-01 00:21:42,bin1302,35,True +abc,1303,1303,1303,1973-07-27,130.29999999999688,130.29875,2015-01-01 00:21:43,bin1303,75,True +abc,1304,1304,1304,1973-07-28,130.39999999999688,130.39876,2015-01-01 00:21:44,bin1304,35,True +abc,1305,1305,1305,1973-07-29,130.49999999999687,130.49876,2015-01-01 00:21:45,bin1305,75,True +abc,1306,1306,1306,1973-07-30,130.59999999999687,130.59877,2015-01-01 00:21:46,bin1306,35,True +abc,1307,1307,1307,1973-07-31,130.69999999999686,130.69878,2015-01-01 00:21:47,bin1307,75,True +abc,1308,1308,1308,1973-08-01,130.79999999999686,130.79878,2015-01-01 00:21:48,bin1308,35,True +abc,1309,1309,1309,1973-08-02,130.89999999999685,130.89879,2015-01-01 00:21:49,bin1309,75,True +abc,1310,1310,1310,1973-08-03,130.99999999999685,130.9988,2015-01-01 00:21:50,bin1310,35,True +abc,1311,1311,1311,1973-08-04,131.09999999999684,131.0988,2015-01-01 00:21:51,bin1311,75,True +abc,1312,1312,1312,1973-08-05,131.19999999999683,131.1988,2015-01-01 00:21:52,bin1312,35,True +abc,1313,1313,1313,1973-08-06,131.29999999999683,131.29881,2015-01-01 00:21:53,bin1313,75,True +abc,1314,1314,1314,1973-08-07,131.39999999999682,131.39882,2015-01-01 00:21:54,bin1314,35,True +abc,1315,1315,1315,1973-08-08,131.49999999999682,131.49883,2015-01-01 00:21:55,bin1315,75,True +abc,1316,1316,1316,1973-08-09,131.5999999999968,131.59883,2015-01-01 00:21:56,bin1316,35,True +abc,1317,1317,1317,1973-08-10,131.6999999999968,131.69884,2015-01-01 00:21:57,bin1317,75,True +abc,1318,1318,1318,1973-08-11,131.7999999999968,131.79884,2015-01-01 00:21:58,bin1318,35,True +abc,1319,1319,1319,1973-08-12,131.8999999999968,131.89885,2015-01-01 00:21:59,bin1319,75,True +abc,1320,1320,1320,1973-08-13,131.9999999999968,131.99886,2015-01-01 00:22:00,bin1320,35,True +abc,1321,1321,1321,1973-08-14,132.09999999999678,132.09886,2015-01-01 00:22:01,bin1321,75,True +abc,1322,1322,1322,1973-08-15,132.19999999999678,132.19887,2015-01-01 00:22:02,bin1322,35,True +abc,1323,1323,1323,1973-08-16,132.29999999999677,132.29887,2015-01-01 00:22:03,bin1323,75,True +abc,1324,1324,1324,1973-08-17,132.39999999999677,132.39888,2015-01-01 00:22:04,bin1324,35,True +abc,1325,1325,1325,1973-08-18,132.49999999999676,132.49889,2015-01-01 00:22:05,bin1325,75,True +abc,1326,1326,1326,1973-08-19,132.59999999999675,132.59889,2015-01-01 00:22:06,bin1326,35,True +abc,1327,1327,1327,1973-08-20,132.69999999999675,132.6989,2015-01-01 00:22:07,bin1327,75,True +abc,1328,1328,1328,1973-08-21,132.79999999999674,132.7989,2015-01-01 00:22:08,bin1328,35,True +abc,1329,1329,1329,1973-08-22,132.89999999999674,132.89891,2015-01-01 00:22:09,bin1329,75,True +abc,1330,1330,1330,1973-08-23,132.99999999999673,132.99892,2015-01-01 00:22:10,bin1330,35,True +abc,1331,1331,1331,1973-08-24,133.09999999999673,133.09892,2015-01-01 00:22:11,bin1331,75,True +abc,1332,1332,1332,1973-08-25,133.19999999999672,133.19893,2015-01-01 00:22:12,bin1332,35,True +abc,1333,1333,1333,1973-08-26,133.29999999999671,133.29893,2015-01-01 00:22:13,bin1333,75,True +abc,1334,1334,1334,1973-08-27,133.3999999999967,133.39894,2015-01-01 00:22:14,bin1334,35,True +abc,1335,1335,1335,1973-08-28,133.4999999999967,133.49895,2015-01-01 00:22:15,bin1335,75,True +abc,1336,1336,1336,1973-08-29,133.5999999999967,133.59895,2015-01-01 00:22:16,bin1336,35,True +abc,1337,1337,1337,1973-08-30,133.6999999999967,133.69896,2015-01-01 00:22:17,bin1337,75,True +abc,1338,1338,1338,1973-08-31,133.7999999999967,133.79897,2015-01-01 00:22:18,bin1338,35,True +abc,1339,1339,1339,1973-09-01,133.89999999999668,133.89897,2015-01-01 00:22:19,bin1339,75,True +abc,1340,1340,1340,1973-09-02,133.99999999999667,133.99898,2015-01-01 00:22:20,bin1340,35,True +abc,1341,1341,1341,1973-09-03,134.09999999999667,134.09898,2015-01-01 00:22:21,bin1341,75,True +abc,1342,1342,1342,1973-09-04,134.19999999999666,134.19899,2015-01-01 00:22:22,bin1342,35,True +abc,1343,1343,1343,1973-09-05,134.29999999999666,134.299,2015-01-01 00:22:23,bin1343,75,True +abc,1344,1344,1344,1973-09-06,134.39999999999665,134.399,2015-01-01 00:22:24,bin1344,35,True +abc,1345,1345,1345,1973-09-07,134.49999999999665,134.49901,2015-01-01 00:22:25,bin1345,75,True +abc,1346,1346,1346,1973-09-08,134.59999999999664,134.59901,2015-01-01 00:22:26,bin1346,35,True +abc,1347,1347,1347,1973-09-09,134.69999999999663,134.69902,2015-01-01 00:22:27,bin1347,75,True +abc,1348,1348,1348,1973-09-10,134.79999999999663,134.79903,2015-01-01 00:22:28,bin1348,35,True +abc,1349,1349,1349,1973-09-11,134.89999999999662,134.89903,2015-01-01 00:22:29,bin1349,75,True +abc,1350,1350,1350,1973-09-12,134.99999999999662,134.99904,2015-01-01 00:22:30,bin1350,35,True +abc,1351,1351,1351,1973-09-13,135.0999999999966,135.09904,2015-01-01 00:22:31,bin1351,75,True +abc,1352,1352,1352,1973-09-14,135.1999999999966,135.19905,2015-01-01 00:22:32,bin1352,35,True +abc,1353,1353,1353,1973-09-15,135.2999999999966,135.29906,2015-01-01 00:22:33,bin1353,75,True +abc,1354,1354,1354,1973-09-16,135.3999999999966,135.39906,2015-01-01 00:22:34,bin1354,35,True +abc,1355,1355,1355,1973-09-17,135.4999999999966,135.49907,2015-01-01 00:22:35,bin1355,75,True +abc,1356,1356,1356,1973-09-18,135.59999999999658,135.59908,2015-01-01 00:22:36,bin1356,35,True +abc,1357,1357,1357,1973-09-19,135.69999999999658,135.69908,2015-01-01 00:22:37,bin1357,75,True +abc,1358,1358,1358,1973-09-20,135.79999999999657,135.79909,2015-01-01 00:22:38,bin1358,35,True +abc,1359,1359,1359,1973-09-21,135.89999999999657,135.8991,2015-01-01 00:22:39,bin1359,75,True +abc,1360,1360,1360,1973-09-22,135.99999999999656,135.9991,2015-01-01 00:22:40,bin1360,35,True +abc,1361,1361,1361,1973-09-23,136.09999999999656,136.0991,2015-01-01 00:22:41,bin1361,75,True +abc,1362,1362,1362,1973-09-24,136.19999999999655,136.19911,2015-01-01 00:22:42,bin1362,35,True +abc,1363,1363,1363,1973-09-25,136.29999999999654,136.29912,2015-01-01 00:22:43,bin1363,75,True +abc,1364,1364,1364,1973-09-26,136.39999999999654,136.39912,2015-01-01 00:22:44,bin1364,35,True +abc,1365,1365,1365,1973-09-27,136.49999999999653,136.49913,2015-01-01 00:22:45,bin1365,75,True +abc,1366,1366,1366,1973-09-28,136.59999999999653,136.59914,2015-01-01 00:22:46,bin1366,35,True +abc,1367,1367,1367,1973-09-29,136.69999999999652,136.69914,2015-01-01 00:22:47,bin1367,75,True +abc,1368,1368,1368,1973-09-30,136.79999999999652,136.79915,2015-01-01 00:22:48,bin1368,35,True +abc,1369,1369,1369,1973-10-01,136.8999999999965,136.89915,2015-01-01 00:22:49,bin1369,75,True +abc,1370,1370,1370,1973-10-02,136.9999999999965,136.99916,2015-01-01 00:22:50,bin1370,35,True +abc,1371,1371,1371,1973-10-03,137.0999999999965,137.09917,2015-01-01 00:22:51,bin1371,75,True +abc,1372,1372,1372,1973-10-04,137.1999999999965,137.19917,2015-01-01 00:22:52,bin1372,35,True +abc,1373,1373,1373,1973-10-05,137.2999999999965,137.29918,2015-01-01 00:22:53,bin1373,75,True +abc,1374,1374,1374,1973-10-06,137.39999999999648,137.39919,2015-01-01 00:22:54,bin1374,35,True +abc,1375,1375,1375,1973-10-07,137.49999999999648,137.49919,2015-01-01 00:22:55,bin1375,75,True +abc,1376,1376,1376,1973-10-08,137.59999999999647,137.5992,2015-01-01 00:22:56,bin1376,35,True +abc,1377,1377,1377,1973-10-09,137.69999999999646,137.6992,2015-01-01 00:22:57,bin1377,75,True +abc,1378,1378,1378,1973-10-10,137.79999999999646,137.79921,2015-01-01 00:22:58,bin1378,35,True +abc,1379,1379,1379,1973-10-11,137.89999999999645,137.89922,2015-01-01 00:22:59,bin1379,75,True +abc,1380,1380,1380,1973-10-12,137.99999999999645,137.99922,2015-01-01 00:23:00,bin1380,35,True +abc,1381,1381,1381,1973-10-13,138.09999999999644,138.09923,2015-01-01 00:23:01,bin1381,75,True +abc,1382,1382,1382,1973-10-14,138.19999999999644,138.19923,2015-01-01 00:23:02,bin1382,35,True +abc,1383,1383,1383,1973-10-15,138.29999999999643,138.29924,2015-01-01 00:23:03,bin1383,75,True +abc,1384,1384,1384,1973-10-16,138.39999999999642,138.39925,2015-01-01 00:23:04,bin1384,35,True +abc,1385,1385,1385,1973-10-17,138.49999999999642,138.49925,2015-01-01 00:23:05,bin1385,75,True +abc,1386,1386,1386,1973-10-18,138.5999999999964,138.59926,2015-01-01 00:23:06,bin1386,35,True +abc,1387,1387,1387,1973-10-19,138.6999999999964,138.69926,2015-01-01 00:23:07,bin1387,75,True +abc,1388,1388,1388,1973-10-20,138.7999999999964,138.79927,2015-01-01 00:23:08,bin1388,35,True +abc,1389,1389,1389,1973-10-21,138.8999999999964,138.89928,2015-01-01 00:23:09,bin1389,75,True +abc,1390,1390,1390,1973-10-22,138.9999999999964,138.99928,2015-01-01 00:23:10,bin1390,35,True +abc,1391,1391,1391,1973-10-23,139.09999999999638,139.09929,2015-01-01 00:23:11,bin1391,75,True +abc,1392,1392,1392,1973-10-24,139.19999999999638,139.1993,2015-01-01 00:23:12,bin1392,35,True +abc,1393,1393,1393,1973-10-25,139.29999999999637,139.2993,2015-01-01 00:23:13,bin1393,75,True +abc,1394,1394,1394,1973-10-26,139.39999999999637,139.3993,2015-01-01 00:23:14,bin1394,35,True +abc,1395,1395,1395,1973-10-27,139.49999999999636,139.49931,2015-01-01 00:23:15,bin1395,75,True +abc,1396,1396,1396,1973-10-28,139.59999999999636,139.59932,2015-01-01 00:23:16,bin1396,35,True +abc,1397,1397,1397,1973-10-29,139.69999999999635,139.69933,2015-01-01 00:23:17,bin1397,75,True +abc,1398,1398,1398,1973-10-30,139.79999999999634,139.79933,2015-01-01 00:23:18,bin1398,35,True +abc,1399,1399,1399,1973-10-31,139.89999999999634,139.89934,2015-01-01 00:23:19,bin1399,75,True +abc,1400,1400,1400,1973-11-01,139.99999999999633,139.99934,2015-01-01 00:23:20,bin1400,35,True +abc,1401,1401,1401,1973-11-02,140.09999999999633,140.09935,2015-01-01 00:23:21,bin1401,75,True +abc,1402,1402,1402,1973-11-03,140.19999999999632,140.19936,2015-01-01 00:23:22,bin1402,35,True +abc,1403,1403,1403,1973-11-04,140.29999999999632,140.29936,2015-01-01 00:23:23,bin1403,75,True +abc,1404,1404,1404,1973-11-05,140.3999999999963,140.39937,2015-01-01 00:23:24,bin1404,35,True +abc,1405,1405,1405,1973-11-06,140.4999999999963,140.49937,2015-01-01 00:23:25,bin1405,75,True +abc,1406,1406,1406,1973-11-07,140.5999999999963,140.59938,2015-01-01 00:23:26,bin1406,35,True +abc,1407,1407,1407,1973-11-08,140.6999999999963,140.69939,2015-01-01 00:23:27,bin1407,75,True +abc,1408,1408,1408,1973-11-09,140.7999999999963,140.7994,2015-01-01 00:23:28,bin1408,35,True +abc,1409,1409,1409,1973-11-10,140.89999999999628,140.8994,2015-01-01 00:23:29,bin1409,75,True +abc,1410,1410,1410,1973-11-11,140.99999999999628,140.9994,2015-01-01 00:23:30,bin1410,35,True +abc,1411,1411,1411,1973-11-12,141.09999999999627,141.09941,2015-01-01 00:23:31,bin1411,75,True +abc,1412,1412,1412,1973-11-13,141.19999999999627,141.19942,2015-01-01 00:23:32,bin1412,35,True +abc,1413,1413,1413,1973-11-14,141.29999999999626,141.29942,2015-01-01 00:23:33,bin1413,75,True +abc,1414,1414,1414,1973-11-15,141.39999999999625,141.39943,2015-01-01 00:23:34,bin1414,35,True +abc,1415,1415,1415,1973-11-16,141.49999999999625,141.49944,2015-01-01 00:23:35,bin1415,75,True +abc,1416,1416,1416,1973-11-17,141.59999999999624,141.59944,2015-01-01 00:23:36,bin1416,35,True +abc,1417,1417,1417,1973-11-18,141.69999999999624,141.69945,2015-01-01 00:23:37,bin1417,75,True +abc,1418,1418,1418,1973-11-19,141.79999999999623,141.79945,2015-01-01 00:23:38,bin1418,35,True +abc,1419,1419,1419,1973-11-20,141.89999999999623,141.89946,2015-01-01 00:23:39,bin1419,75,True +abc,1420,1420,1420,1973-11-21,141.99999999999622,141.99947,2015-01-01 00:23:40,bin1420,35,True +abc,1421,1421,1421,1973-11-22,142.09999999999621,142.09947,2015-01-01 00:23:41,bin1421,75,True +abc,1422,1422,1422,1973-11-23,142.1999999999962,142.19948,2015-01-01 00:23:42,bin1422,35,True +abc,1423,1423,1423,1973-11-24,142.2999999999962,142.29948,2015-01-01 00:23:43,bin1423,75,True +abc,1424,1424,1424,1973-11-25,142.3999999999962,142.39949,2015-01-01 00:23:44,bin1424,35,True +abc,1425,1425,1425,1973-11-26,142.4999999999962,142.4995,2015-01-01 00:23:45,bin1425,75,True +abc,1426,1426,1426,1973-11-27,142.5999999999962,142.5995,2015-01-01 00:23:46,bin1426,35,True +abc,1427,1427,1427,1973-11-28,142.69999999999618,142.69951,2015-01-01 00:23:47,bin1427,75,True +abc,1428,1428,1428,1973-11-29,142.79999999999617,142.79951,2015-01-01 00:23:48,bin1428,35,True +abc,1429,1429,1429,1973-11-30,142.89999999999617,142.89952,2015-01-01 00:23:49,bin1429,75,True +abc,1430,1430,1430,1973-12-01,142.99999999999616,142.99953,2015-01-01 00:23:50,bin1430,35,True +abc,1431,1431,1431,1973-12-02,143.09999999999616,143.09953,2015-01-01 00:23:51,bin1431,75,True +abc,1432,1432,1432,1973-12-03,143.19999999999615,143.19954,2015-01-01 00:23:52,bin1432,35,True +abc,1433,1433,1433,1973-12-04,143.29999999999615,143.29955,2015-01-01 00:23:53,bin1433,75,True +abc,1434,1434,1434,1973-12-05,143.39999999999614,143.39955,2015-01-01 00:23:54,bin1434,35,True +abc,1435,1435,1435,1973-12-06,143.49999999999613,143.49956,2015-01-01 00:23:55,bin1435,75,True +abc,1436,1436,1436,1973-12-07,143.59999999999613,143.59956,2015-01-01 00:23:56,bin1436,35,True +abc,1437,1437,1437,1973-12-08,143.69999999999612,143.69957,2015-01-01 00:23:57,bin1437,75,True +abc,1438,1438,1438,1973-12-09,143.79999999999612,143.79958,2015-01-01 00:23:58,bin1438,35,True +abc,1439,1439,1439,1973-12-10,143.8999999999961,143.89958,2015-01-01 00:23:59,bin1439,75,True +abc,1440,1440,1440,1973-12-11,143.9999999999961,143.99959,2015-01-01 00:24:00,bin1440,35,True +abc,1441,1441,1441,1973-12-12,144.0999999999961,144.0996,2015-01-01 00:24:01,bin1441,75,True +abc,1442,1442,1442,1973-12-13,144.1999999999961,144.1996,2015-01-01 00:24:02,bin1442,35,True +abc,1443,1443,1443,1973-12-14,144.2999999999961,144.2996,2015-01-01 00:24:03,bin1443,75,True +abc,1444,1444,1444,1973-12-15,144.39999999999608,144.39961,2015-01-01 00:24:04,bin1444,35,True +abc,1445,1445,1445,1973-12-16,144.49999999999608,144.49962,2015-01-01 00:24:05,bin1445,75,True +abc,1446,1446,1446,1973-12-17,144.59999999999607,144.59962,2015-01-01 00:24:06,bin1446,35,True +abc,1447,1447,1447,1973-12-18,144.69999999999607,144.69963,2015-01-01 00:24:07,bin1447,75,True +abc,1448,1448,1448,1973-12-19,144.79999999999606,144.79964,2015-01-01 00:24:08,bin1448,35,True +abc,1449,1449,1449,1973-12-20,144.89999999999606,144.89964,2015-01-01 00:24:09,bin1449,75,True +abc,1450,1450,1450,1973-12-21,144.99999999999605,144.99965,2015-01-01 00:24:10,bin1450,35,True +abc,1451,1451,1451,1973-12-22,145.09999999999604,145.09966,2015-01-01 00:24:11,bin1451,75,True +abc,1452,1452,1452,1973-12-23,145.19999999999604,145.19966,2015-01-01 00:24:12,bin1452,35,True +abc,1453,1453,1453,1973-12-24,145.29999999999603,145.29967,2015-01-01 00:24:13,bin1453,75,True +abc,1454,1454,1454,1973-12-25,145.39999999999603,145.39967,2015-01-01 00:24:14,bin1454,35,True +abc,1455,1455,1455,1973-12-26,145.49999999999602,145.49968,2015-01-01 00:24:15,bin1455,75,True +abc,1456,1456,1456,1973-12-27,145.59999999999602,145.59969,2015-01-01 00:24:16,bin1456,35,True +abc,1457,1457,1457,1973-12-28,145.699999999996,145.69969,2015-01-01 00:24:17,bin1457,75,True +abc,1458,1458,1458,1973-12-29,145.799999999996,145.7997,2015-01-01 00:24:18,bin1458,35,True +abc,1459,1459,1459,1973-12-30,145.899999999996,145.8997,2015-01-01 00:24:19,bin1459,75,True +abc,1460,1460,1460,1973-12-31,145.999999999996,145.99971,2015-01-01 00:24:20,bin1460,35,True +abc,1461,1461,1461,1974-01-01,146.099999999996,146.09972,2015-01-01 00:24:21,bin1461,75,True +abc,1462,1462,1462,1974-01-02,146.19999999999598,146.19972,2015-01-01 00:24:22,bin1462,35,True +abc,1463,1463,1463,1974-01-03,146.29999999999598,146.29973,2015-01-01 00:24:23,bin1463,75,True +abc,1464,1464,1464,1974-01-04,146.39999999999597,146.39973,2015-01-01 00:24:24,bin1464,35,True +abc,1465,1465,1465,1974-01-05,146.49999999999596,146.49974,2015-01-01 00:24:25,bin1465,75,True +abc,1466,1466,1466,1974-01-06,146.59999999999596,146.59975,2015-01-01 00:24:26,bin1466,35,True +abc,1467,1467,1467,1974-01-07,146.69999999999595,146.69975,2015-01-01 00:24:27,bin1467,75,True +abc,1468,1468,1468,1974-01-08,146.79999999999595,146.79976,2015-01-01 00:24:28,bin1468,35,True +abc,1469,1469,1469,1974-01-09,146.89999999999594,146.89977,2015-01-01 00:24:29,bin1469,75,True +abc,1470,1470,1470,1974-01-10,146.99999999999594,146.99977,2015-01-01 00:24:30,bin1470,35,True +abc,1471,1471,1471,1974-01-11,147.09999999999593,147.09978,2015-01-01 00:24:31,bin1471,75,True +abc,1472,1472,1472,1974-01-12,147.19999999999592,147.19978,2015-01-01 00:24:32,bin1472,35,True +abc,1473,1473,1473,1974-01-13,147.29999999999592,147.29979,2015-01-01 00:24:33,bin1473,75,True +abc,1474,1474,1474,1974-01-14,147.3999999999959,147.3998,2015-01-01 00:24:34,bin1474,35,True +abc,1475,1475,1475,1974-01-15,147.4999999999959,147.4998,2015-01-01 00:24:35,bin1475,75,True +abc,1476,1476,1476,1974-01-16,147.5999999999959,147.59981,2015-01-01 00:24:36,bin1476,35,True +abc,1477,1477,1477,1974-01-17,147.6999999999959,147.69981,2015-01-01 00:24:37,bin1477,75,True +abc,1478,1478,1478,1974-01-18,147.7999999999959,147.79982,2015-01-01 00:24:38,bin1478,35,True +abc,1479,1479,1479,1974-01-19,147.89999999999588,147.89983,2015-01-01 00:24:39,bin1479,75,True +abc,1480,1480,1480,1974-01-20,147.99999999999588,147.99983,2015-01-01 00:24:40,bin1480,35,True +abc,1481,1481,1481,1974-01-21,148.09999999999587,148.09984,2015-01-01 00:24:41,bin1481,75,True +abc,1482,1482,1482,1974-01-22,148.19999999999587,148.19984,2015-01-01 00:24:42,bin1482,35,True +abc,1483,1483,1483,1974-01-23,148.29999999999586,148.29985,2015-01-01 00:24:43,bin1483,75,True +abc,1484,1484,1484,1974-01-24,148.39999999999586,148.39986,2015-01-01 00:24:44,bin1484,35,True +abc,1485,1485,1485,1974-01-25,148.49999999999585,148.49986,2015-01-01 00:24:45,bin1485,75,True +abc,1486,1486,1486,1974-01-26,148.59999999999584,148.59987,2015-01-01 00:24:46,bin1486,35,True +abc,1487,1487,1487,1974-01-27,148.69999999999584,148.69987,2015-01-01 00:24:47,bin1487,75,True +abc,1488,1488,1488,1974-01-28,148.79999999999583,148.79988,2015-01-01 00:24:48,bin1488,35,True +abc,1489,1489,1489,1974-01-29,148.89999999999583,148.89989,2015-01-01 00:24:49,bin1489,75,True +abc,1490,1490,1490,1974-01-30,148.99999999999582,148.9999,2015-01-01 00:24:50,bin1490,35,True +abc,1491,1491,1491,1974-01-31,149.09999999999582,149.0999,2015-01-01 00:24:51,bin1491,75,True +abc,1492,1492,1492,1974-02-01,149.1999999999958,149.1999,2015-01-01 00:24:52,bin1492,35,True +abc,1493,1493,1493,1974-02-02,149.2999999999958,149.29991,2015-01-01 00:24:53,bin1493,75,True +abc,1494,1494,1494,1974-02-03,149.3999999999958,149.39992,2015-01-01 00:24:54,bin1494,35,True +abc,1495,1495,1495,1974-02-04,149.4999999999958,149.49992,2015-01-01 00:24:55,bin1495,75,True +abc,1496,1496,1496,1974-02-05,149.5999999999958,149.59993,2015-01-01 00:24:56,bin1496,35,True +abc,1497,1497,1497,1974-02-06,149.69999999999578,149.69994,2015-01-01 00:24:57,bin1497,75,True +abc,1498,1498,1498,1974-02-07,149.79999999999578,149.79994,2015-01-01 00:24:58,bin1498,35,True +abc,1499,1499,1499,1974-02-08,149.89999999999577,149.89995,2015-01-01 00:24:59,bin1499,75,True +abc,1500,1500,1500,1974-02-09,149.99999999999577,149.99995,2015-01-01 00:25:00,bin1500,35,True +abc,1501,1501,1501,1974-02-10,150.09999999999576,150.09996,2015-01-01 00:25:01,bin1501,75,True +abc,1502,1502,1502,1974-02-11,150.19999999999575,150.19997,2015-01-01 00:25:02,bin1502,35,True +abc,1503,1503,1503,1974-02-12,150.29999999999575,150.29997,2015-01-01 00:25:03,bin1503,75,True +abc,1504,1504,1504,1974-02-13,150.39999999999574,150.39998,2015-01-01 00:25:04,bin1504,35,True +abc,1505,1505,1505,1974-02-14,150.49999999999574,150.49998,2015-01-01 00:25:05,bin1505,75,True +abc,1506,1506,1506,1974-02-15,150.59999999999573,150.59999,2015-01-01 00:25:06,bin1506,35,True +abc,1507,1507,1507,1974-02-16,150.69999999999573,150.7,2015-01-01 00:25:07,bin1507,75,True +abc,1508,1508,1508,1974-02-17,150.79999999999572,150.8,2015-01-01 00:25:08,bin1508,35,True +abc,1509,1509,1509,1974-02-18,150.8999999999957,150.90001,2015-01-01 00:25:09,bin1509,75,True +abc,1510,1510,1510,1974-02-19,150.9999999999957,151.00002,2015-01-01 00:25:10,bin1510,35,True +abc,1511,1511,1511,1974-02-20,151.0999999999957,151.10002,2015-01-01 00:25:11,bin1511,75,True +abc,1512,1512,1512,1974-02-21,151.1999999999957,151.20003,2015-01-01 00:25:12,bin1512,35,True +abc,1513,1513,1513,1974-02-22,151.2999999999957,151.30003,2015-01-01 00:25:13,bin1513,75,True +abc,1514,1514,1514,1974-02-23,151.39999999999569,151.40004,2015-01-01 00:25:14,bin1514,35,True +abc,1515,1515,1515,1974-02-24,151.49999999999568,151.50005,2015-01-01 00:25:15,bin1515,75,True +abc,1516,1516,1516,1974-02-25,151.59999999999567,151.60005,2015-01-01 00:25:16,bin1516,35,True +abc,1517,1517,1517,1974-02-26,151.69999999999567,151.70006,2015-01-01 00:25:17,bin1517,75,True +abc,1518,1518,1518,1974-02-27,151.79999999999566,151.80006,2015-01-01 00:25:18,bin1518,35,True +abc,1519,1519,1519,1974-02-28,151.89999999999566,151.90007,2015-01-01 00:25:19,bin1519,75,True +abc,1520,1520,1520,1974-03-01,151.99999999999565,152.00008,2015-01-01 00:25:20,bin1520,35,True +abc,1521,1521,1521,1974-03-02,152.09999999999565,152.10008,2015-01-01 00:25:21,bin1521,75,True +abc,1522,1522,1522,1974-03-03,152.19999999999564,152.20009,2015-01-01 00:25:22,bin1522,35,True +abc,1523,1523,1523,1974-03-04,152.29999999999563,152.3001,2015-01-01 00:25:23,bin1523,75,True +abc,1524,1524,1524,1974-03-05,152.39999999999563,152.4001,2015-01-01 00:25:24,bin1524,35,True +abc,1525,1525,1525,1974-03-06,152.49999999999562,152.5001,2015-01-01 00:25:25,bin1525,75,True +abc,1526,1526,1526,1974-03-07,152.59999999999562,152.60011,2015-01-01 00:25:26,bin1526,35,True +abc,1527,1527,1527,1974-03-08,152.6999999999956,152.70012,2015-01-01 00:25:27,bin1527,75,True +abc,1528,1528,1528,1974-03-09,152.7999999999956,152.80013,2015-01-01 00:25:28,bin1528,35,True +abc,1529,1529,1529,1974-03-10,152.8999999999956,152.90013,2015-01-01 00:25:29,bin1529,75,True +abc,1530,1530,1530,1974-03-11,152.9999999999956,153.00014,2015-01-01 00:25:30,bin1530,35,True +abc,1531,1531,1531,1974-03-12,153.0999999999956,153.10014,2015-01-01 00:25:31,bin1531,75,True +abc,1532,1532,1532,1974-03-13,153.19999999999558,153.20015,2015-01-01 00:25:32,bin1532,35,True +abc,1533,1533,1533,1974-03-14,153.29999999999558,153.30016,2015-01-01 00:25:33,bin1533,75,True +abc,1534,1534,1534,1974-03-15,153.39999999999557,153.40016,2015-01-01 00:25:34,bin1534,35,True +abc,1535,1535,1535,1974-03-16,153.49999999999557,153.50017,2015-01-01 00:25:35,bin1535,75,True +abc,1536,1536,1536,1974-03-17,153.59999999999556,153.60017,2015-01-01 00:25:36,bin1536,35,True +abc,1537,1537,1537,1974-03-18,153.69999999999555,153.70018,2015-01-01 00:25:37,bin1537,75,True +abc,1538,1538,1538,1974-03-19,153.79999999999555,153.80019,2015-01-01 00:25:38,bin1538,35,True +abc,1539,1539,1539,1974-03-20,153.89999999999554,153.90019,2015-01-01 00:25:39,bin1539,75,True +abc,1540,1540,1540,1974-03-21,153.99999999999554,154.0002,2015-01-01 00:25:40,bin1540,35,True +abc,1541,1541,1541,1974-03-22,154.09999999999553,154.1002,2015-01-01 00:25:41,bin1541,75,True +abc,1542,1542,1542,1974-03-23,154.19999999999553,154.20021,2015-01-01 00:25:42,bin1542,35,True +abc,1543,1543,1543,1974-03-24,154.29999999999552,154.30022,2015-01-01 00:25:43,bin1543,75,True +abc,1544,1544,1544,1974-03-25,154.39999999999552,154.40022,2015-01-01 00:25:44,bin1544,35,True +abc,1545,1545,1545,1974-03-26,154.4999999999955,154.50023,2015-01-01 00:25:45,bin1545,75,True +abc,1546,1546,1546,1974-03-27,154.5999999999955,154.60023,2015-01-01 00:25:46,bin1546,35,True +abc,1547,1547,1547,1974-03-28,154.6999999999955,154.70024,2015-01-01 00:25:47,bin1547,75,True +abc,1548,1548,1548,1974-03-29,154.7999999999955,154.80025,2015-01-01 00:25:48,bin1548,35,True +abc,1549,1549,1549,1974-03-30,154.8999999999955,154.90025,2015-01-01 00:25:49,bin1549,75,True +abc,1550,1550,1550,1974-03-31,154.99999999999548,155.00026,2015-01-01 00:25:50,bin1550,35,True +abc,1551,1551,1551,1974-04-01,155.09999999999548,155.10027,2015-01-01 00:25:51,bin1551,75,True +abc,1552,1552,1552,1974-04-02,155.19999999999547,155.20027,2015-01-01 00:25:52,bin1552,35,True +abc,1553,1553,1553,1974-04-03,155.29999999999546,155.30028,2015-01-01 00:25:53,bin1553,75,True +abc,1554,1554,1554,1974-04-04,155.39999999999546,155.40028,2015-01-01 00:25:54,bin1554,35,True +abc,1555,1555,1555,1974-04-05,155.49999999999545,155.50029,2015-01-01 00:25:55,bin1555,75,True +abc,1556,1556,1556,1974-04-06,155.59999999999545,155.6003,2015-01-01 00:25:56,bin1556,35,True +abc,1557,1557,1557,1974-04-07,155.69999999999544,155.7003,2015-01-01 00:25:57,bin1557,75,True +abc,1558,1558,1558,1974-04-08,155.79999999999544,155.80031,2015-01-01 00:25:58,bin1558,35,True +abc,1559,1559,1559,1974-04-09,155.89999999999543,155.90031,2015-01-01 00:25:59,bin1559,75,True +abc,1560,1560,1560,1974-04-10,155.99999999999542,156.00032,2015-01-01 00:26:00,bin1560,35,True +abc,1561,1561,1561,1974-04-11,156.09999999999542,156.10033,2015-01-01 00:26:01,bin1561,75,True +abc,1562,1562,1562,1974-04-12,156.1999999999954,156.20033,2015-01-01 00:26:02,bin1562,35,True +abc,1563,1563,1563,1974-04-13,156.2999999999954,156.30034,2015-01-01 00:26:03,bin1563,75,True +abc,1564,1564,1564,1974-04-14,156.3999999999954,156.40034,2015-01-01 00:26:04,bin1564,35,True +abc,1565,1565,1565,1974-04-15,156.4999999999954,156.50035,2015-01-01 00:26:05,bin1565,75,True +abc,1566,1566,1566,1974-04-16,156.5999999999954,156.60036,2015-01-01 00:26:06,bin1566,35,True +abc,1567,1567,1567,1974-04-17,156.69999999999538,156.70036,2015-01-01 00:26:07,bin1567,75,True +abc,1568,1568,1568,1974-04-18,156.79999999999538,156.80037,2015-01-01 00:26:08,bin1568,35,True +abc,1569,1569,1569,1974-04-19,156.89999999999537,156.90038,2015-01-01 00:26:09,bin1569,75,True +abc,1570,1570,1570,1974-04-20,156.99999999999537,157.00038,2015-01-01 00:26:10,bin1570,35,True +abc,1571,1571,1571,1974-04-21,157.09999999999536,157.10039,2015-01-01 00:26:11,bin1571,75,True +abc,1572,1572,1572,1974-04-22,157.19999999999536,157.2004,2015-01-01 00:26:12,bin1572,35,True +abc,1573,1573,1573,1974-04-23,157.29999999999535,157.3004,2015-01-01 00:26:13,bin1573,75,True +abc,1574,1574,1574,1974-04-24,157.39999999999534,157.4004,2015-01-01 00:26:14,bin1574,35,True +abc,1575,1575,1575,1974-04-25,157.49999999999534,157.50041,2015-01-01 00:26:15,bin1575,75,True +abc,1576,1576,1576,1974-04-26,157.59999999999533,157.60042,2015-01-01 00:26:16,bin1576,35,True +abc,1577,1577,1577,1974-04-27,157.69999999999533,157.70042,2015-01-01 00:26:17,bin1577,75,True +abc,1578,1578,1578,1974-04-28,157.79999999999532,157.80043,2015-01-01 00:26:18,bin1578,35,True +abc,1579,1579,1579,1974-04-29,157.89999999999532,157.90044,2015-01-01 00:26:19,bin1579,75,True +abc,1580,1580,1580,1974-04-30,157.9999999999953,158.00044,2015-01-01 00:26:20,bin1580,35,True +abc,1581,1581,1581,1974-05-01,158.0999999999953,158.10045,2015-01-01 00:26:21,bin1581,75,True +abc,1582,1582,1582,1974-05-02,158.1999999999953,158.20045,2015-01-01 00:26:22,bin1582,35,True +abc,1583,1583,1583,1974-05-03,158.2999999999953,158.30046,2015-01-01 00:26:23,bin1583,75,True +abc,1584,1584,1584,1974-05-04,158.3999999999953,158.40047,2015-01-01 00:26:24,bin1584,35,True +abc,1585,1585,1585,1974-05-05,158.49999999999528,158.50047,2015-01-01 00:26:25,bin1585,75,True +abc,1586,1586,1586,1974-05-06,158.59999999999528,158.60048,2015-01-01 00:26:26,bin1586,35,True +abc,1587,1587,1587,1974-05-07,158.69999999999527,158.70049,2015-01-01 00:26:27,bin1587,75,True +abc,1588,1588,1588,1974-05-08,158.79999999999526,158.80049,2015-01-01 00:26:28,bin1588,35,True +abc,1589,1589,1589,1974-05-09,158.89999999999526,158.9005,2015-01-01 00:26:29,bin1589,75,True +abc,1590,1590,1590,1974-05-10,158.99999999999525,159.0005,2015-01-01 00:26:30,bin1590,35,True +abc,1591,1591,1591,1974-05-11,159.09999999999525,159.10051,2015-01-01 00:26:31,bin1591,75,True +abc,1592,1592,1592,1974-05-12,159.19999999999524,159.20052,2015-01-01 00:26:32,bin1592,35,True +abc,1593,1593,1593,1974-05-13,159.29999999999524,159.30052,2015-01-01 00:26:33,bin1593,75,True +abc,1594,1594,1594,1974-05-14,159.39999999999523,159.40053,2015-01-01 00:26:34,bin1594,35,True +abc,1595,1595,1595,1974-05-15,159.49999999999523,159.50053,2015-01-01 00:26:35,bin1595,75,True +abc,1596,1596,1596,1974-05-16,159.59999999999522,159.60054,2015-01-01 00:26:36,bin1596,35,True +abc,1597,1597,1597,1974-05-17,159.6999999999952,159.70055,2015-01-01 00:26:37,bin1597,75,True +abc,1598,1598,1598,1974-05-18,159.7999999999952,159.80055,2015-01-01 00:26:38,bin1598,35,True +abc,1599,1599,1599,1974-05-19,159.8999999999952,159.90056,2015-01-01 00:26:39,bin1599,75,True +abc,1600,1600,1600,1974-05-20,159.9999999999952,160.00056,2015-01-01 00:26:40,bin1600,35,True +abc,1601,1601,1601,1974-05-21,160.0999999999952,160.10057,2015-01-01 00:26:41,bin1601,75,True +abc,1602,1602,1602,1974-05-22,160.19999999999519,160.20058,2015-01-01 00:26:42,bin1602,35,True +abc,1603,1603,1603,1974-05-23,160.29999999999518,160.30058,2015-01-01 00:26:43,bin1603,75,True +abc,1604,1604,1604,1974-05-24,160.39999999999517,160.40059,2015-01-01 00:26:44,bin1604,35,True +abc,1605,1605,1605,1974-05-25,160.49999999999517,160.5006,2015-01-01 00:26:45,bin1605,75,True +abc,1606,1606,1606,1974-05-26,160.59999999999516,160.6006,2015-01-01 00:26:46,bin1606,35,True +abc,1607,1607,1607,1974-05-27,160.69999999999516,160.7006,2015-01-01 00:26:47,bin1607,75,True +abc,1608,1608,1608,1974-05-28,160.79999999999515,160.80061,2015-01-01 00:26:48,bin1608,35,True +abc,1609,1609,1609,1974-05-29,160.89999999999515,160.90062,2015-01-01 00:26:49,bin1609,75,True +abc,1610,1610,1610,1974-05-30,160.99999999999514,161.00063,2015-01-01 00:26:50,bin1610,35,True +abc,1611,1611,1611,1974-05-31,161.09999999999513,161.10063,2015-01-01 00:26:51,bin1611,75,True +abc,1612,1612,1612,1974-06-01,161.19999999999513,161.20064,2015-01-01 00:26:52,bin1612,35,True +abc,1613,1613,1613,1974-06-02,161.29999999999512,161.30064,2015-01-01 00:26:53,bin1613,75,True +abc,1614,1614,1614,1974-06-03,161.39999999999512,161.40065,2015-01-01 00:26:54,bin1614,35,True +abc,1615,1615,1615,1974-06-04,161.4999999999951,161.50066,2015-01-01 00:26:55,bin1615,75,True +abc,1616,1616,1616,1974-06-05,161.5999999999951,161.60066,2015-01-01 00:26:56,bin1616,35,True +abc,1617,1617,1617,1974-06-06,161.6999999999951,161.70067,2015-01-01 00:26:57,bin1617,75,True +abc,1618,1618,1618,1974-06-07,161.7999999999951,161.80067,2015-01-01 00:26:58,bin1618,35,True +abc,1619,1619,1619,1974-06-08,161.8999999999951,161.90068,2015-01-01 00:26:59,bin1619,75,True +abc,1620,1620,1620,1974-06-09,161.99999999999508,162.00069,2015-01-01 00:27:00,bin1620,35,True +abc,1621,1621,1621,1974-06-10,162.09999999999508,162.1007,2015-01-01 00:27:01,bin1621,75,True +abc,1622,1622,1622,1974-06-11,162.19999999999507,162.2007,2015-01-01 00:27:02,bin1622,35,True +abc,1623,1623,1623,1974-06-12,162.29999999999507,162.3007,2015-01-01 00:27:03,bin1623,75,True +abc,1624,1624,1624,1974-06-13,162.39999999999506,162.40071,2015-01-01 00:27:04,bin1624,35,True +abc,1625,1625,1625,1974-06-14,162.49999999999505,162.50072,2015-01-01 00:27:05,bin1625,75,True +abc,1626,1626,1626,1974-06-15,162.59999999999505,162.60072,2015-01-01 00:27:06,bin1626,35,True +abc,1627,1627,1627,1974-06-16,162.69999999999504,162.70073,2015-01-01 00:27:07,bin1627,75,True +abc,1628,1628,1628,1974-06-17,162.79999999999504,162.80074,2015-01-01 00:27:08,bin1628,35,True +abc,1629,1629,1629,1974-06-18,162.89999999999503,162.90074,2015-01-01 00:27:09,bin1629,75,True +abc,1630,1630,1630,1974-06-19,162.99999999999503,163.00075,2015-01-01 00:27:10,bin1630,35,True +abc,1631,1631,1631,1974-06-20,163.09999999999502,163.10075,2015-01-01 00:27:11,bin1631,75,True +abc,1632,1632,1632,1974-06-21,163.19999999999501,163.20076,2015-01-01 00:27:12,bin1632,35,True +abc,1633,1633,1633,1974-06-22,163.299999999995,163.30077,2015-01-01 00:27:13,bin1633,75,True +abc,1634,1634,1634,1974-06-23,163.399999999995,163.40077,2015-01-01 00:27:14,bin1634,35,True +abc,1635,1635,1635,1974-06-24,163.499999999995,163.50078,2015-01-01 00:27:15,bin1635,75,True +abc,1636,1636,1636,1974-06-25,163.599999999995,163.60078,2015-01-01 00:27:16,bin1636,35,True +abc,1637,1637,1637,1974-06-26,163.699999999995,163.70079,2015-01-01 00:27:17,bin1637,75,True +abc,1638,1638,1638,1974-06-27,163.79999999999498,163.8008,2015-01-01 00:27:18,bin1638,35,True +abc,1639,1639,1639,1974-06-28,163.89999999999498,163.9008,2015-01-01 00:27:19,bin1639,75,True +abc,1640,1640,1640,1974-06-29,163.99999999999497,164.00081,2015-01-01 00:27:20,bin1640,35,True +abc,1641,1641,1641,1974-06-30,164.09999999999496,164.10081,2015-01-01 00:27:21,bin1641,75,True +abc,1642,1642,1642,1974-07-01,164.19999999999496,164.20082,2015-01-01 00:27:22,bin1642,35,True +abc,1643,1643,1643,1974-07-02,164.29999999999495,164.30083,2015-01-01 00:27:23,bin1643,75,True +abc,1644,1644,1644,1974-07-03,164.39999999999495,164.40083,2015-01-01 00:27:24,bin1644,35,True +abc,1645,1645,1645,1974-07-04,164.49999999999494,164.50084,2015-01-01 00:27:25,bin1645,75,True +abc,1646,1646,1646,1974-07-05,164.59999999999494,164.60085,2015-01-01 00:27:26,bin1646,35,True +abc,1647,1647,1647,1974-07-06,164.69999999999493,164.70085,2015-01-01 00:27:27,bin1647,75,True +abc,1648,1648,1648,1974-07-07,164.79999999999492,164.80086,2015-01-01 00:27:28,bin1648,35,True +abc,1649,1649,1649,1974-07-08,164.89999999999492,164.90086,2015-01-01 00:27:29,bin1649,75,True +abc,1650,1650,1650,1974-07-09,164.9999999999949,165.00087,2015-01-01 00:27:30,bin1650,35,True +abc,1651,1651,1651,1974-07-10,165.0999999999949,165.10088,2015-01-01 00:27:31,bin1651,75,True +abc,1652,1652,1652,1974-07-11,165.1999999999949,165.20088,2015-01-01 00:27:32,bin1652,35,True +abc,1653,1653,1653,1974-07-12,165.2999999999949,165.30089,2015-01-01 00:27:33,bin1653,75,True +abc,1654,1654,1654,1974-07-13,165.3999999999949,165.4009,2015-01-01 00:27:34,bin1654,35,True +abc,1655,1655,1655,1974-07-14,165.49999999999488,165.5009,2015-01-01 00:27:35,bin1655,75,True +abc,1656,1656,1656,1974-07-15,165.59999999999488,165.6009,2015-01-01 00:27:36,bin1656,35,True +abc,1657,1657,1657,1974-07-16,165.69999999999487,165.70091,2015-01-01 00:27:37,bin1657,75,True +abc,1658,1658,1658,1974-07-17,165.79999999999487,165.80092,2015-01-01 00:27:38,bin1658,35,True +abc,1659,1659,1659,1974-07-18,165.89999999999486,165.90092,2015-01-01 00:27:39,bin1659,75,True +abc,1660,1660,1660,1974-07-19,165.99999999999486,166.00093,2015-01-01 00:27:40,bin1660,35,True +abc,1661,1661,1661,1974-07-20,166.09999999999485,166.10094,2015-01-01 00:27:41,bin1661,75,True +abc,1662,1662,1662,1974-07-21,166.19999999999484,166.20094,2015-01-01 00:27:42,bin1662,35,True +abc,1663,1663,1663,1974-07-22,166.29999999999484,166.30095,2015-01-01 00:27:43,bin1663,75,True +abc,1664,1664,1664,1974-07-23,166.39999999999483,166.40096,2015-01-01 00:27:44,bin1664,35,True +abc,1665,1665,1665,1974-07-24,166.49999999999483,166.50096,2015-01-01 00:27:45,bin1665,75,True +abc,1666,1666,1666,1974-07-25,166.59999999999482,166.60097,2015-01-01 00:27:46,bin1666,35,True +abc,1667,1667,1667,1974-07-26,166.69999999999482,166.70097,2015-01-01 00:27:47,bin1667,75,True +abc,1668,1668,1668,1974-07-27,166.7999999999948,166.80098,2015-01-01 00:27:48,bin1668,35,True +abc,1669,1669,1669,1974-07-28,166.8999999999948,166.90099,2015-01-01 00:27:49,bin1669,75,True +abc,1670,1670,1670,1974-07-29,166.9999999999948,167.00099,2015-01-01 00:27:50,bin1670,35,True +abc,1671,1671,1671,1974-07-30,167.0999999999948,167.101,2015-01-01 00:27:51,bin1671,75,True +abc,1672,1672,1672,1974-07-31,167.1999999999948,167.201,2015-01-01 00:27:52,bin1672,35,True +abc,1673,1673,1673,1974-08-01,167.29999999999478,167.30101,2015-01-01 00:27:53,bin1673,75,True +abc,1674,1674,1674,1974-08-02,167.39999999999478,167.40102,2015-01-01 00:27:54,bin1674,35,True +abc,1675,1675,1675,1974-08-03,167.49999999999477,167.50102,2015-01-01 00:27:55,bin1675,75,True +abc,1676,1676,1676,1974-08-04,167.59999999999476,167.60103,2015-01-01 00:27:56,bin1676,35,True +abc,1677,1677,1677,1974-08-05,167.69999999999476,167.70103,2015-01-01 00:27:57,bin1677,75,True +abc,1678,1678,1678,1974-08-06,167.79999999999475,167.80104,2015-01-01 00:27:58,bin1678,35,True +abc,1679,1679,1679,1974-08-07,167.89999999999475,167.90105,2015-01-01 00:27:59,bin1679,75,True +abc,1680,1680,1680,1974-08-08,167.99999999999474,168.00105,2015-01-01 00:28:00,bin1680,35,True +abc,1681,1681,1681,1974-08-09,168.09999999999474,168.10106,2015-01-01 00:28:01,bin1681,75,True +abc,1682,1682,1682,1974-08-10,168.19999999999473,168.20107,2015-01-01 00:28:02,bin1682,35,True +abc,1683,1683,1683,1974-08-11,168.29999999999472,168.30107,2015-01-01 00:28:03,bin1683,75,True +abc,1684,1684,1684,1974-08-12,168.39999999999472,168.40108,2015-01-01 00:28:04,bin1684,35,True +abc,1685,1685,1685,1974-08-13,168.4999999999947,168.50108,2015-01-01 00:28:05,bin1685,75,True +abc,1686,1686,1686,1974-08-14,168.5999999999947,168.60109,2015-01-01 00:28:06,bin1686,35,True +abc,1687,1687,1687,1974-08-15,168.6999999999947,168.7011,2015-01-01 00:28:07,bin1687,75,True +abc,1688,1688,1688,1974-08-16,168.7999999999947,168.8011,2015-01-01 00:28:08,bin1688,35,True +abc,1689,1689,1689,1974-08-17,168.8999999999947,168.90111,2015-01-01 00:28:09,bin1689,75,True +abc,1690,1690,1690,1974-08-18,168.99999999999469,169.00111,2015-01-01 00:28:10,bin1690,35,True +abc,1691,1691,1691,1974-08-19,169.09999999999468,169.10112,2015-01-01 00:28:11,bin1691,75,True +abc,1692,1692,1692,1974-08-20,169.19999999999467,169.20113,2015-01-01 00:28:12,bin1692,35,True +abc,1693,1693,1693,1974-08-21,169.29999999999467,169.30113,2015-01-01 00:28:13,bin1693,75,True +abc,1694,1694,1694,1974-08-22,169.39999999999466,169.40114,2015-01-01 00:28:14,bin1694,35,True +abc,1695,1695,1695,1974-08-23,169.49999999999466,169.50114,2015-01-01 00:28:15,bin1695,75,True +abc,1696,1696,1696,1974-08-24,169.59999999999465,169.60115,2015-01-01 00:28:16,bin1696,35,True +abc,1697,1697,1697,1974-08-25,169.69999999999465,169.70116,2015-01-01 00:28:17,bin1697,75,True +abc,1698,1698,1698,1974-08-26,169.79999999999464,169.80116,2015-01-01 00:28:18,bin1698,35,True +abc,1699,1699,1699,1974-08-27,169.89999999999463,169.90117,2015-01-01 00:28:19,bin1699,75,True +abc,1700,1700,1700,1974-08-28,169.99999999999463,170.00117,2015-01-01 00:28:20,bin1700,35,True +abc,1701,1701,1701,1974-08-29,170.09999999999462,170.10118,2015-01-01 00:28:21,bin1701,75,True +abc,1702,1702,1702,1974-08-30,170.19999999999462,170.20119,2015-01-01 00:28:22,bin1702,35,True +abc,1703,1703,1703,1974-08-31,170.2999999999946,170.3012,2015-01-01 00:28:23,bin1703,75,True +abc,1704,1704,1704,1974-09-01,170.3999999999946,170.4012,2015-01-01 00:28:24,bin1704,35,True +abc,1705,1705,1705,1974-09-02,170.4999999999946,170.5012,2015-01-01 00:28:25,bin1705,75,True +abc,1706,1706,1706,1974-09-03,170.5999999999946,170.60121,2015-01-01 00:28:26,bin1706,35,True +abc,1707,1707,1707,1974-09-04,170.6999999999946,170.70122,2015-01-01 00:28:27,bin1707,75,True +abc,1708,1708,1708,1974-09-05,170.79999999999458,170.80122,2015-01-01 00:28:28,bin1708,35,True +abc,1709,1709,1709,1974-09-06,170.89999999999458,170.90123,2015-01-01 00:28:29,bin1709,75,True +abc,1710,1710,1710,1974-09-07,170.99999999999457,171.00124,2015-01-01 00:28:30,bin1710,35,True +abc,1711,1711,1711,1974-09-08,171.09999999999457,171.10124,2015-01-01 00:28:31,bin1711,75,True +abc,1712,1712,1712,1974-09-09,171.19999999999456,171.20125,2015-01-01 00:28:32,bin1712,35,True +abc,1713,1713,1713,1974-09-10,171.29999999999455,171.30125,2015-01-01 00:28:33,bin1713,75,True +abc,1714,1714,1714,1974-09-11,171.39999999999455,171.40126,2015-01-01 00:28:34,bin1714,35,True +abc,1715,1715,1715,1974-09-12,171.49999999999454,171.50127,2015-01-01 00:28:35,bin1715,75,True +abc,1716,1716,1716,1974-09-13,171.59999999999454,171.60127,2015-01-01 00:28:36,bin1716,35,True +abc,1717,1717,1717,1974-09-14,171.69999999999453,171.70128,2015-01-01 00:28:37,bin1717,75,True +abc,1718,1718,1718,1974-09-15,171.79999999999453,171.80128,2015-01-01 00:28:38,bin1718,35,True +abc,1719,1719,1719,1974-09-16,171.89999999999452,171.90129,2015-01-01 00:28:39,bin1719,75,True +abc,1720,1720,1720,1974-09-17,171.99999999999451,172.0013,2015-01-01 00:28:40,bin1720,35,True +abc,1721,1721,1721,1974-09-18,172.0999999999945,172.1013,2015-01-01 00:28:41,bin1721,75,True +abc,1722,1722,1722,1974-09-19,172.1999999999945,172.20131,2015-01-01 00:28:42,bin1722,35,True +abc,1723,1723,1723,1974-09-20,172.2999999999945,172.30132,2015-01-01 00:28:43,bin1723,75,True +abc,1724,1724,1724,1974-09-21,172.3999999999945,172.40132,2015-01-01 00:28:44,bin1724,35,True +abc,1725,1725,1725,1974-09-22,172.4999999999945,172.50133,2015-01-01 00:28:45,bin1725,75,True +abc,1726,1726,1726,1974-09-23,172.59999999999448,172.60133,2015-01-01 00:28:46,bin1726,35,True +abc,1727,1727,1727,1974-09-24,172.69999999999447,172.70134,2015-01-01 00:28:47,bin1727,75,True +abc,1728,1728,1728,1974-09-25,172.79999999999447,172.80135,2015-01-01 00:28:48,bin1728,35,True +abc,1729,1729,1729,1974-09-26,172.89999999999446,172.90135,2015-01-01 00:28:49,bin1729,75,True +abc,1730,1730,1730,1974-09-27,172.99999999999446,173.00136,2015-01-01 00:28:50,bin1730,35,True +abc,1731,1731,1731,1974-09-28,173.09999999999445,173.10136,2015-01-01 00:28:51,bin1731,75,True +abc,1732,1732,1732,1974-09-29,173.19999999999445,173.20137,2015-01-01 00:28:52,bin1732,35,True +abc,1733,1733,1733,1974-09-30,173.29999999999444,173.30138,2015-01-01 00:28:53,bin1733,75,True +abc,1734,1734,1734,1974-10-01,173.39999999999444,173.40138,2015-01-01 00:28:54,bin1734,35,True +abc,1735,1735,1735,1974-10-02,173.49999999999443,173.50139,2015-01-01 00:28:55,bin1735,75,True +abc,1736,1736,1736,1974-10-03,173.59999999999442,173.6014,2015-01-01 00:28:56,bin1736,35,True +abc,1737,1737,1737,1974-10-04,173.69999999999442,173.7014,2015-01-01 00:28:57,bin1737,75,True +abc,1738,1738,1738,1974-10-05,173.7999999999944,173.8014,2015-01-01 00:28:58,bin1738,35,True +abc,1739,1739,1739,1974-10-06,173.8999999999944,173.90141,2015-01-01 00:28:59,bin1739,75,True +abc,1740,1740,1740,1974-10-07,173.9999999999944,174.00142,2015-01-01 00:29:00,bin1740,35,True +abc,1741,1741,1741,1974-10-08,174.0999999999944,174.10143,2015-01-01 00:29:01,bin1741,75,True +abc,1742,1742,1742,1974-10-09,174.1999999999944,174.20143,2015-01-01 00:29:02,bin1742,35,True +abc,1743,1743,1743,1974-10-10,174.29999999999438,174.30144,2015-01-01 00:29:03,bin1743,75,True +abc,1744,1744,1744,1974-10-11,174.39999999999438,174.40144,2015-01-01 00:29:04,bin1744,35,True +abc,1745,1745,1745,1974-10-12,174.49999999999437,174.50145,2015-01-01 00:29:05,bin1745,75,True +abc,1746,1746,1746,1974-10-13,174.59999999999437,174.60146,2015-01-01 00:29:06,bin1746,35,True +abc,1747,1747,1747,1974-10-14,174.69999999999436,174.70146,2015-01-01 00:29:07,bin1747,75,True +abc,1748,1748,1748,1974-10-15,174.79999999999436,174.80147,2015-01-01 00:29:08,bin1748,35,True +abc,1749,1749,1749,1974-10-16,174.89999999999435,174.90147,2015-01-01 00:29:09,bin1749,75,True +abc,1750,1750,1750,1974-10-17,174.99999999999434,175.00148,2015-01-01 00:29:10,bin1750,35,True +abc,1751,1751,1751,1974-10-18,175.09999999999434,175.10149,2015-01-01 00:29:11,bin1751,75,True +abc,1752,1752,1752,1974-10-19,175.19999999999433,175.20149,2015-01-01 00:29:12,bin1752,35,True +abc,1753,1753,1753,1974-10-20,175.29999999999433,175.3015,2015-01-01 00:29:13,bin1753,75,True +abc,1754,1754,1754,1974-10-21,175.39999999999432,175.4015,2015-01-01 00:29:14,bin1754,35,True +abc,1755,1755,1755,1974-10-22,175.49999999999432,175.50151,2015-01-01 00:29:15,bin1755,75,True +abc,1756,1756,1756,1974-10-23,175.5999999999943,175.60152,2015-01-01 00:29:16,bin1756,35,True +abc,1757,1757,1757,1974-10-24,175.6999999999943,175.70152,2015-01-01 00:29:17,bin1757,75,True +abc,1758,1758,1758,1974-10-25,175.7999999999943,175.80153,2015-01-01 00:29:18,bin1758,35,True +abc,1759,1759,1759,1974-10-26,175.8999999999943,175.90154,2015-01-01 00:29:19,bin1759,75,True +abc,1760,1760,1760,1974-10-27,175.9999999999943,176.00154,2015-01-01 00:29:20,bin1760,35,True +abc,1761,1761,1761,1974-10-28,176.09999999999428,176.10155,2015-01-01 00:29:21,bin1761,75,True +abc,1762,1762,1762,1974-10-29,176.19999999999428,176.20155,2015-01-01 00:29:22,bin1762,35,True +abc,1763,1763,1763,1974-10-30,176.29999999999427,176.30156,2015-01-01 00:29:23,bin1763,75,True +abc,1764,1764,1764,1974-10-31,176.39999999999426,176.40157,2015-01-01 00:29:24,bin1764,35,True +abc,1765,1765,1765,1974-11-01,176.49999999999426,176.50157,2015-01-01 00:29:25,bin1765,75,True +abc,1766,1766,1766,1974-11-02,176.59999999999425,176.60158,2015-01-01 00:29:26,bin1766,35,True +abc,1767,1767,1767,1974-11-03,176.69999999999425,176.70158,2015-01-01 00:29:27,bin1767,75,True +abc,1768,1768,1768,1974-11-04,176.79999999999424,176.80159,2015-01-01 00:29:28,bin1768,35,True +abc,1769,1769,1769,1974-11-05,176.89999999999424,176.9016,2015-01-01 00:29:29,bin1769,75,True +abc,1770,1770,1770,1974-11-06,176.99999999999423,177.0016,2015-01-01 00:29:30,bin1770,35,True +abc,1771,1771,1771,1974-11-07,177.09999999999422,177.10161,2015-01-01 00:29:31,bin1771,75,True +abc,1772,1772,1772,1974-11-08,177.19999999999422,177.20161,2015-01-01 00:29:32,bin1772,35,True +abc,1773,1773,1773,1974-11-09,177.2999999999942,177.30162,2015-01-01 00:29:33,bin1773,75,True +abc,1774,1774,1774,1974-11-10,177.3999999999942,177.40163,2015-01-01 00:29:34,bin1774,35,True +abc,1775,1775,1775,1974-11-11,177.4999999999942,177.50163,2015-01-01 00:29:35,bin1775,75,True +abc,1776,1776,1776,1974-11-12,177.5999999999942,177.60164,2015-01-01 00:29:36,bin1776,35,True +abc,1777,1777,1777,1974-11-13,177.6999999999942,177.70164,2015-01-01 00:29:37,bin1777,75,True +abc,1778,1778,1778,1974-11-14,177.79999999999418,177.80165,2015-01-01 00:29:38,bin1778,35,True +abc,1779,1779,1779,1974-11-15,177.89999999999418,177.90166,2015-01-01 00:29:39,bin1779,75,True +abc,1780,1780,1780,1974-11-16,177.99999999999417,178.00166,2015-01-01 00:29:40,bin1780,35,True +abc,1781,1781,1781,1974-11-17,178.09999999999417,178.10167,2015-01-01 00:29:41,bin1781,75,True +abc,1782,1782,1782,1974-11-18,178.19999999999416,178.20168,2015-01-01 00:29:42,bin1782,35,True +abc,1783,1783,1783,1974-11-19,178.29999999999416,178.30168,2015-01-01 00:29:43,bin1783,75,True +abc,1784,1784,1784,1974-11-20,178.39999999999415,178.40169,2015-01-01 00:29:44,bin1784,35,True +abc,1785,1785,1785,1974-11-21,178.49999999999415,178.5017,2015-01-01 00:29:45,bin1785,75,True +abc,1786,1786,1786,1974-11-22,178.59999999999414,178.6017,2015-01-01 00:29:46,bin1786,35,True +abc,1787,1787,1787,1974-11-23,178.69999999999413,178.7017,2015-01-01 00:29:47,bin1787,75,True +abc,1788,1788,1788,1974-11-24,178.79999999999413,178.80171,2015-01-01 00:29:48,bin1788,35,True +abc,1789,1789,1789,1974-11-25,178.89999999999412,178.90172,2015-01-01 00:29:49,bin1789,75,True +abc,1790,1790,1790,1974-11-26,178.99999999999412,179.00172,2015-01-01 00:29:50,bin1790,35,True +abc,1791,1791,1791,1974-11-27,179.0999999999941,179.10173,2015-01-01 00:29:51,bin1791,75,True +abc,1792,1792,1792,1974-11-28,179.1999999999941,179.20174,2015-01-01 00:29:52,bin1792,35,True +abc,1793,1793,1793,1974-11-29,179.2999999999941,179.30174,2015-01-01 00:29:53,bin1793,75,True +abc,1794,1794,1794,1974-11-30,179.3999999999941,179.40175,2015-01-01 00:29:54,bin1794,35,True +abc,1795,1795,1795,1974-12-01,179.4999999999941,179.50175,2015-01-01 00:29:55,bin1795,75,True +abc,1796,1796,1796,1974-12-02,179.59999999999408,179.60176,2015-01-01 00:29:56,bin1796,35,True +abc,1797,1797,1797,1974-12-03,179.69999999999408,179.70177,2015-01-01 00:29:57,bin1797,75,True +abc,1798,1798,1798,1974-12-04,179.79999999999407,179.80177,2015-01-01 00:29:58,bin1798,35,True +abc,1799,1799,1799,1974-12-05,179.89999999999407,179.90178,2015-01-01 00:29:59,bin1799,75,True +abc,1800,1800,1800,1974-12-06,179.99999999999406,180.00179,2015-01-01 00:30:00,bin1800,35,True +abc,1801,1801,1801,1974-12-07,180.09999999999405,180.10179,2015-01-01 00:30:01,bin1801,75,True +abc,1802,1802,1802,1974-12-08,180.19999999999405,180.2018,2015-01-01 00:30:02,bin1802,35,True +abc,1803,1803,1803,1974-12-09,180.29999999999404,180.3018,2015-01-01 00:30:03,bin1803,75,True +abc,1804,1804,1804,1974-12-10,180.39999999999404,180.40181,2015-01-01 00:30:04,bin1804,35,True +abc,1805,1805,1805,1974-12-11,180.49999999999403,180.50182,2015-01-01 00:30:05,bin1805,75,True +abc,1806,1806,1806,1974-12-12,180.59999999999403,180.60182,2015-01-01 00:30:06,bin1806,35,True +abc,1807,1807,1807,1974-12-13,180.69999999999402,180.70183,2015-01-01 00:30:07,bin1807,75,True +abc,1808,1808,1808,1974-12-14,180.79999999999401,180.80183,2015-01-01 00:30:08,bin1808,35,True +abc,1809,1809,1809,1974-12-15,180.899999999994,180.90184,2015-01-01 00:30:09,bin1809,75,True +abc,1810,1810,1810,1974-12-16,180.999999999994,181.00185,2015-01-01 00:30:10,bin1810,35,True +abc,1811,1811,1811,1974-12-17,181.099999999994,181.10185,2015-01-01 00:30:11,bin1811,75,True +abc,1812,1812,1812,1974-12-18,181.199999999994,181.20186,2015-01-01 00:30:12,bin1812,35,True +abc,1813,1813,1813,1974-12-19,181.299999999994,181.30186,2015-01-01 00:30:13,bin1813,75,True +abc,1814,1814,1814,1974-12-20,181.39999999999398,181.40187,2015-01-01 00:30:14,bin1814,35,True +abc,1815,1815,1815,1974-12-21,181.49999999999397,181.50188,2015-01-01 00:30:15,bin1815,75,True +abc,1816,1816,1816,1974-12-22,181.59999999999397,181.60188,2015-01-01 00:30:16,bin1816,35,True +abc,1817,1817,1817,1974-12-23,181.69999999999396,181.70189,2015-01-01 00:30:17,bin1817,75,True +abc,1818,1818,1818,1974-12-24,181.79999999999396,181.8019,2015-01-01 00:30:18,bin1818,35,True +abc,1819,1819,1819,1974-12-25,181.89999999999395,181.9019,2015-01-01 00:30:19,bin1819,75,True +abc,1820,1820,1820,1974-12-26,181.99999999999395,182.0019,2015-01-01 00:30:20,bin1820,35,True +abc,1821,1821,1821,1974-12-27,182.09999999999394,182.10191,2015-01-01 00:30:21,bin1821,75,True +abc,1822,1822,1822,1974-12-28,182.19999999999393,182.20192,2015-01-01 00:30:22,bin1822,35,True +abc,1823,1823,1823,1974-12-29,182.29999999999393,182.30193,2015-01-01 00:30:23,bin1823,75,True +abc,1824,1824,1824,1974-12-30,182.39999999999392,182.40193,2015-01-01 00:30:24,bin1824,35,True +abc,1825,1825,1825,1974-12-31,182.49999999999392,182.50194,2015-01-01 00:30:25,bin1825,75,True +abc,1826,1826,1826,1975-01-01,182.5999999999939,182.60194,2015-01-01 00:30:26,bin1826,35,True +abc,1827,1827,1827,1975-01-02,182.6999999999939,182.70195,2015-01-01 00:30:27,bin1827,75,True +abc,1828,1828,1828,1975-01-03,182.7999999999939,182.80196,2015-01-01 00:30:28,bin1828,35,True +abc,1829,1829,1829,1975-01-04,182.8999999999939,182.90196,2015-01-01 00:30:29,bin1829,75,True +abc,1830,1830,1830,1975-01-05,182.9999999999939,183.00197,2015-01-01 00:30:30,bin1830,35,True +abc,1831,1831,1831,1975-01-06,183.09999999999388,183.10197,2015-01-01 00:30:31,bin1831,75,True +abc,1832,1832,1832,1975-01-07,183.19999999999388,183.20198,2015-01-01 00:30:32,bin1832,35,True +abc,1833,1833,1833,1975-01-08,183.29999999999387,183.30199,2015-01-01 00:30:33,bin1833,75,True +abc,1834,1834,1834,1975-01-09,183.39999999999387,183.402,2015-01-01 00:30:34,bin1834,35,True +abc,1835,1835,1835,1975-01-10,183.49999999999386,183.502,2015-01-01 00:30:35,bin1835,75,True +abc,1836,1836,1836,1975-01-11,183.59999999999386,183.602,2015-01-01 00:30:36,bin1836,35,True +abc,1837,1837,1837,1975-01-12,183.69999999999385,183.70201,2015-01-01 00:30:37,bin1837,75,True +abc,1838,1838,1838,1975-01-13,183.79999999999384,183.80202,2015-01-01 00:30:38,bin1838,35,True +abc,1839,1839,1839,1975-01-14,183.89999999999384,183.90202,2015-01-01 00:30:39,bin1839,75,True +abc,1840,1840,1840,1975-01-15,183.99999999999383,184.00203,2015-01-01 00:30:40,bin1840,35,True +abc,1841,1841,1841,1975-01-16,184.09999999999383,184.10204,2015-01-01 00:30:41,bin1841,75,True +abc,1842,1842,1842,1975-01-17,184.19999999999382,184.20204,2015-01-01 00:30:42,bin1842,35,True +abc,1843,1843,1843,1975-01-18,184.29999999999382,184.30205,2015-01-01 00:30:43,bin1843,75,True +abc,1844,1844,1844,1975-01-19,184.3999999999938,184.40205,2015-01-01 00:30:44,bin1844,35,True +abc,1845,1845,1845,1975-01-20,184.4999999999938,184.50206,2015-01-01 00:30:45,bin1845,75,True +abc,1846,1846,1846,1975-01-21,184.5999999999938,184.60207,2015-01-01 00:30:46,bin1846,35,True +abc,1847,1847,1847,1975-01-22,184.6999999999938,184.70207,2015-01-01 00:30:47,bin1847,75,True +abc,1848,1848,1848,1975-01-23,184.7999999999938,184.80208,2015-01-01 00:30:48,bin1848,35,True +abc,1849,1849,1849,1975-01-24,184.89999999999378,184.90208,2015-01-01 00:30:49,bin1849,75,True +abc,1850,1850,1850,1975-01-25,184.99999999999378,185.00209,2015-01-01 00:30:50,bin1850,35,True +abc,1851,1851,1851,1975-01-26,185.09999999999377,185.1021,2015-01-01 00:30:51,bin1851,75,True +abc,1852,1852,1852,1975-01-27,185.19999999999376,185.2021,2015-01-01 00:30:52,bin1852,35,True +abc,1853,1853,1853,1975-01-28,185.29999999999376,185.30211,2015-01-01 00:30:53,bin1853,75,True +abc,1854,1854,1854,1975-01-29,185.39999999999375,185.40211,2015-01-01 00:30:54,bin1854,35,True +abc,1855,1855,1855,1975-01-30,185.49999999999375,185.50212,2015-01-01 00:30:55,bin1855,75,True +abc,1856,1856,1856,1975-01-31,185.59999999999374,185.60213,2015-01-01 00:30:56,bin1856,35,True +abc,1857,1857,1857,1975-02-01,185.69999999999374,185.70213,2015-01-01 00:30:57,bin1857,75,True +abc,1858,1858,1858,1975-02-02,185.79999999999373,185.80214,2015-01-01 00:30:58,bin1858,35,True +abc,1859,1859,1859,1975-02-03,185.89999999999372,185.90215,2015-01-01 00:30:59,bin1859,75,True +abc,1860,1860,1860,1975-02-04,185.99999999999372,186.00215,2015-01-01 00:31:00,bin1860,35,True +abc,1861,1861,1861,1975-02-05,186.0999999999937,186.10216,2015-01-01 00:31:01,bin1861,75,True +abc,1862,1862,1862,1975-02-06,186.1999999999937,186.20216,2015-01-01 00:31:02,bin1862,35,True +abc,1863,1863,1863,1975-02-07,186.2999999999937,186.30217,2015-01-01 00:31:03,bin1863,75,True +abc,1864,1864,1864,1975-02-08,186.3999999999937,186.40218,2015-01-01 00:31:04,bin1864,35,True +abc,1865,1865,1865,1975-02-09,186.4999999999937,186.50218,2015-01-01 00:31:05,bin1865,75,True +abc,1866,1866,1866,1975-02-10,186.59999999999368,186.60219,2015-01-01 00:31:06,bin1866,35,True +abc,1867,1867,1867,1975-02-11,186.69999999999368,186.7022,2015-01-01 00:31:07,bin1867,75,True +abc,1868,1868,1868,1975-02-12,186.79999999999367,186.8022,2015-01-01 00:31:08,bin1868,35,True +abc,1869,1869,1869,1975-02-13,186.89999999999367,186.9022,2015-01-01 00:31:09,bin1869,75,True +abc,1870,1870,1870,1975-02-14,186.99999999999366,187.00221,2015-01-01 00:31:10,bin1870,35,True +abc,1871,1871,1871,1975-02-15,187.09999999999366,187.10222,2015-01-01 00:31:11,bin1871,75,True +abc,1872,1872,1872,1975-02-16,187.19999999999365,187.20222,2015-01-01 00:31:12,bin1872,35,True +abc,1873,1873,1873,1975-02-17,187.29999999999364,187.30223,2015-01-01 00:31:13,bin1873,75,True +abc,1874,1874,1874,1975-02-18,187.39999999999364,187.40224,2015-01-01 00:31:14,bin1874,35,True +abc,1875,1875,1875,1975-02-19,187.49999999999363,187.50224,2015-01-01 00:31:15,bin1875,75,True +abc,1876,1876,1876,1975-02-20,187.59999999999363,187.60225,2015-01-01 00:31:16,bin1876,35,True +abc,1877,1877,1877,1975-02-21,187.69999999999362,187.70226,2015-01-01 00:31:17,bin1877,75,True +abc,1878,1878,1878,1975-02-22,187.79999999999362,187.80226,2015-01-01 00:31:18,bin1878,35,True +abc,1879,1879,1879,1975-02-23,187.8999999999936,187.90227,2015-01-01 00:31:19,bin1879,75,True +abc,1880,1880,1880,1975-02-24,187.9999999999936,188.00227,2015-01-01 00:31:20,bin1880,35,True +abc,1881,1881,1881,1975-02-25,188.0999999999936,188.10228,2015-01-01 00:31:21,bin1881,75,True +abc,1882,1882,1882,1975-02-26,188.1999999999936,188.20229,2015-01-01 00:31:22,bin1882,35,True +abc,1883,1883,1883,1975-02-27,188.2999999999936,188.30229,2015-01-01 00:31:23,bin1883,75,True +abc,1884,1884,1884,1975-02-28,188.39999999999358,188.4023,2015-01-01 00:31:24,bin1884,35,True +abc,1885,1885,1885,1975-03-01,188.49999999999358,188.5023,2015-01-01 00:31:25,bin1885,75,True +abc,1886,1886,1886,1975-03-02,188.59999999999357,188.60231,2015-01-01 00:31:26,bin1886,35,True +abc,1887,1887,1887,1975-03-03,188.69999999999357,188.70232,2015-01-01 00:31:27,bin1887,75,True +abc,1888,1888,1888,1975-03-04,188.79999999999356,188.80232,2015-01-01 00:31:28,bin1888,35,True +abc,1889,1889,1889,1975-03-05,188.89999999999355,188.90233,2015-01-01 00:31:29,bin1889,75,True +abc,1890,1890,1890,1975-03-06,188.99999999999355,189.00233,2015-01-01 00:31:30,bin1890,35,True +abc,1891,1891,1891,1975-03-07,189.09999999999354,189.10234,2015-01-01 00:31:31,bin1891,75,True +abc,1892,1892,1892,1975-03-08,189.19999999999354,189.20235,2015-01-01 00:31:32,bin1892,35,True +abc,1893,1893,1893,1975-03-09,189.29999999999353,189.30235,2015-01-01 00:31:33,bin1893,75,True +abc,1894,1894,1894,1975-03-10,189.39999999999353,189.40236,2015-01-01 00:31:34,bin1894,35,True +abc,1895,1895,1895,1975-03-11,189.49999999999352,189.50237,2015-01-01 00:31:35,bin1895,75,True +abc,1896,1896,1896,1975-03-12,189.5999999999935,189.60237,2015-01-01 00:31:36,bin1896,35,True +abc,1897,1897,1897,1975-03-13,189.6999999999935,189.70238,2015-01-01 00:31:37,bin1897,75,True +abc,1898,1898,1898,1975-03-14,189.7999999999935,189.80238,2015-01-01 00:31:38,bin1898,35,True +abc,1899,1899,1899,1975-03-15,189.8999999999935,189.90239,2015-01-01 00:31:39,bin1899,75,True +abc,1900,1900,1900,1975-03-16,189.9999999999935,190.0024,2015-01-01 00:31:40,bin1900,35,True +abc,1901,1901,1901,1975-03-17,190.09999999999349,190.1024,2015-01-01 00:31:41,bin1901,75,True +abc,1902,1902,1902,1975-03-18,190.19999999999348,190.20241,2015-01-01 00:31:42,bin1902,35,True +abc,1903,1903,1903,1975-03-19,190.29999999999347,190.30241,2015-01-01 00:31:43,bin1903,75,True +abc,1904,1904,1904,1975-03-20,190.39999999999347,190.40242,2015-01-01 00:31:44,bin1904,35,True +abc,1905,1905,1905,1975-03-21,190.49999999999346,190.50243,2015-01-01 00:31:45,bin1905,75,True +abc,1906,1906,1906,1975-03-22,190.59999999999346,190.60243,2015-01-01 00:31:46,bin1906,35,True +abc,1907,1907,1907,1975-03-23,190.69999999999345,190.70244,2015-01-01 00:31:47,bin1907,75,True +abc,1908,1908,1908,1975-03-24,190.79999999999345,190.80244,2015-01-01 00:31:48,bin1908,35,True +abc,1909,1909,1909,1975-03-25,190.89999999999344,190.90245,2015-01-01 00:31:49,bin1909,75,True +abc,1910,1910,1910,1975-03-26,190.99999999999343,191.00246,2015-01-01 00:31:50,bin1910,35,True +abc,1911,1911,1911,1975-03-27,191.09999999999343,191.10246,2015-01-01 00:31:51,bin1911,75,True +abc,1912,1912,1912,1975-03-28,191.19999999999342,191.20247,2015-01-01 00:31:52,bin1912,35,True +abc,1913,1913,1913,1975-03-29,191.29999999999342,191.30247,2015-01-01 00:31:53,bin1913,75,True +abc,1914,1914,1914,1975-03-30,191.3999999999934,191.40248,2015-01-01 00:31:54,bin1914,35,True +abc,1915,1915,1915,1975-03-31,191.4999999999934,191.50249,2015-01-01 00:31:55,bin1915,75,True +abc,1916,1916,1916,1975-04-01,191.5999999999934,191.6025,2015-01-01 00:31:56,bin1916,35,True +abc,1917,1917,1917,1975-04-02,191.6999999999934,191.7025,2015-01-01 00:31:57,bin1917,75,True +abc,1918,1918,1918,1975-04-03,191.7999999999934,191.8025,2015-01-01 00:31:58,bin1918,35,True +abc,1919,1919,1919,1975-04-04,191.89999999999338,191.90251,2015-01-01 00:31:59,bin1919,75,True +abc,1920,1920,1920,1975-04-05,191.99999999999338,192.00252,2015-01-01 00:32:00,bin1920,35,True +abc,1921,1921,1921,1975-04-06,192.09999999999337,192.10252,2015-01-01 00:32:01,bin1921,75,True +abc,1922,1922,1922,1975-04-07,192.19999999999337,192.20253,2015-01-01 00:32:02,bin1922,35,True +abc,1923,1923,1923,1975-04-08,192.29999999999336,192.30254,2015-01-01 00:32:03,bin1923,75,True +abc,1924,1924,1924,1975-04-09,192.39999999999336,192.40254,2015-01-01 00:32:04,bin1924,35,True +abc,1925,1925,1925,1975-04-10,192.49999999999335,192.50255,2015-01-01 00:32:05,bin1925,75,True +abc,1926,1926,1926,1975-04-11,192.59999999999334,192.60255,2015-01-01 00:32:06,bin1926,35,True +abc,1927,1927,1927,1975-04-12,192.69999999999334,192.70256,2015-01-01 00:32:07,bin1927,75,True +abc,1928,1928,1928,1975-04-13,192.79999999999333,192.80257,2015-01-01 00:32:08,bin1928,35,True +abc,1929,1929,1929,1975-04-14,192.89999999999333,192.90257,2015-01-01 00:32:09,bin1929,75,True +abc,1930,1930,1930,1975-04-15,192.99999999999332,193.00258,2015-01-01 00:32:10,bin1930,35,True +abc,1931,1931,1931,1975-04-16,193.09999999999332,193.10258,2015-01-01 00:32:11,bin1931,75,True +abc,1932,1932,1932,1975-04-17,193.1999999999933,193.20259,2015-01-01 00:32:12,bin1932,35,True +abc,1933,1933,1933,1975-04-18,193.2999999999933,193.3026,2015-01-01 00:32:13,bin1933,75,True +abc,1934,1934,1934,1975-04-19,193.3999999999933,193.4026,2015-01-01 00:32:14,bin1934,35,True +abc,1935,1935,1935,1975-04-20,193.4999999999933,193.50261,2015-01-01 00:32:15,bin1935,75,True +abc,1936,1936,1936,1975-04-21,193.5999999999933,193.60262,2015-01-01 00:32:16,bin1936,35,True +abc,1937,1937,1937,1975-04-22,193.69999999999328,193.70262,2015-01-01 00:32:17,bin1937,75,True +abc,1938,1938,1938,1975-04-23,193.79999999999328,193.80263,2015-01-01 00:32:18,bin1938,35,True +abc,1939,1939,1939,1975-04-24,193.89999999999327,193.90263,2015-01-01 00:32:19,bin1939,75,True +abc,1940,1940,1940,1975-04-25,193.99999999999326,194.00264,2015-01-01 00:32:20,bin1940,35,True +abc,1941,1941,1941,1975-04-26,194.09999999999326,194.10265,2015-01-01 00:32:21,bin1941,75,True +abc,1942,1942,1942,1975-04-27,194.19999999999325,194.20265,2015-01-01 00:32:22,bin1942,35,True +abc,1943,1943,1943,1975-04-28,194.29999999999325,194.30266,2015-01-01 00:32:23,bin1943,75,True +abc,1944,1944,1944,1975-04-29,194.39999999999324,194.40266,2015-01-01 00:32:24,bin1944,35,True +abc,1945,1945,1945,1975-04-30,194.49999999999324,194.50267,2015-01-01 00:32:25,bin1945,75,True +abc,1946,1946,1946,1975-05-01,194.59999999999323,194.60268,2015-01-01 00:32:26,bin1946,35,True +abc,1947,1947,1947,1975-05-02,194.69999999999322,194.70268,2015-01-01 00:32:27,bin1947,75,True +abc,1948,1948,1948,1975-05-03,194.79999999999322,194.80269,2015-01-01 00:32:28,bin1948,35,True +abc,1949,1949,1949,1975-05-04,194.8999999999932,194.9027,2015-01-01 00:32:29,bin1949,75,True +abc,1950,1950,1950,1975-05-05,194.9999999999932,195.0027,2015-01-01 00:32:30,bin1950,35,True +abc,1951,1951,1951,1975-05-06,195.0999999999932,195.1027,2015-01-01 00:32:31,bin1951,75,True +abc,1952,1952,1952,1975-05-07,195.1999999999932,195.20271,2015-01-01 00:32:32,bin1952,35,True +abc,1953,1953,1953,1975-05-08,195.2999999999932,195.30272,2015-01-01 00:32:33,bin1953,75,True +abc,1954,1954,1954,1975-05-09,195.39999999999318,195.40273,2015-01-01 00:32:34,bin1954,35,True +abc,1955,1955,1955,1975-05-10,195.49999999999318,195.50273,2015-01-01 00:32:35,bin1955,75,True +abc,1956,1956,1956,1975-05-11,195.59999999999317,195.60274,2015-01-01 00:32:36,bin1956,35,True +abc,1957,1957,1957,1975-05-12,195.69999999999317,195.70274,2015-01-01 00:32:37,bin1957,75,True +abc,1958,1958,1958,1975-05-13,195.79999999999316,195.80275,2015-01-01 00:32:38,bin1958,35,True +abc,1959,1959,1959,1975-05-14,195.89999999999316,195.90276,2015-01-01 00:32:39,bin1959,75,True +abc,1960,1960,1960,1975-05-15,195.99999999999315,196.00276,2015-01-01 00:32:40,bin1960,35,True +abc,1961,1961,1961,1975-05-16,196.09999999999314,196.10277,2015-01-01 00:32:41,bin1961,75,True +abc,1962,1962,1962,1975-05-17,196.19999999999314,196.20277,2015-01-01 00:32:42,bin1962,35,True +abc,1963,1963,1963,1975-05-18,196.29999999999313,196.30278,2015-01-01 00:32:43,bin1963,75,True +abc,1964,1964,1964,1975-05-19,196.39999999999313,196.40279,2015-01-01 00:32:44,bin1964,35,True +abc,1965,1965,1965,1975-05-20,196.49999999999312,196.50279,2015-01-01 00:32:45,bin1965,75,True +abc,1966,1966,1966,1975-05-21,196.59999999999312,196.6028,2015-01-01 00:32:46,bin1966,35,True +abc,1967,1967,1967,1975-05-22,196.6999999999931,196.7028,2015-01-01 00:32:47,bin1967,75,True +abc,1968,1968,1968,1975-05-23,196.7999999999931,196.80281,2015-01-01 00:32:48,bin1968,35,True +abc,1969,1969,1969,1975-05-24,196.8999999999931,196.90282,2015-01-01 00:32:49,bin1969,75,True +abc,1970,1970,1970,1975-05-25,196.9999999999931,197.00282,2015-01-01 00:32:50,bin1970,35,True +abc,1971,1971,1971,1975-05-26,197.0999999999931,197.10283,2015-01-01 00:32:51,bin1971,75,True +abc,1972,1972,1972,1975-05-27,197.19999999999308,197.20284,2015-01-01 00:32:52,bin1972,35,True +abc,1973,1973,1973,1975-05-28,197.29999999999308,197.30284,2015-01-01 00:32:53,bin1973,75,True +abc,1974,1974,1974,1975-05-29,197.39999999999307,197.40285,2015-01-01 00:32:54,bin1974,35,True +abc,1975,1975,1975,1975-05-30,197.49999999999307,197.50285,2015-01-01 00:32:55,bin1975,75,True +abc,1976,1976,1976,1975-05-31,197.59999999999306,197.60286,2015-01-01 00:32:56,bin1976,35,True +abc,1977,1977,1977,1975-06-01,197.69999999999305,197.70287,2015-01-01 00:32:57,bin1977,75,True +abc,1978,1978,1978,1975-06-02,197.79999999999305,197.80287,2015-01-01 00:32:58,bin1978,35,True +abc,1979,1979,1979,1975-06-03,197.89999999999304,197.90288,2015-01-01 00:32:59,bin1979,75,True +abc,1980,1980,1980,1975-06-04,197.99999999999304,198.00288,2015-01-01 00:33:00,bin1980,35,True +abc,1981,1981,1981,1975-06-05,198.09999999999303,198.10289,2015-01-01 00:33:01,bin1981,75,True +abc,1982,1982,1982,1975-06-06,198.19999999999303,198.2029,2015-01-01 00:33:02,bin1982,35,True +abc,1983,1983,1983,1975-06-07,198.29999999999302,198.3029,2015-01-01 00:33:03,bin1983,75,True +abc,1984,1984,1984,1975-06-08,198.399999999993,198.40291,2015-01-01 00:33:04,bin1984,35,True +abc,1985,1985,1985,1975-06-09,198.499999999993,198.50291,2015-01-01 00:33:05,bin1985,75,True +abc,1986,1986,1986,1975-06-10,198.599999999993,198.60292,2015-01-01 00:33:06,bin1986,35,True +abc,1987,1987,1987,1975-06-11,198.699999999993,198.70293,2015-01-01 00:33:07,bin1987,75,True +abc,1988,1988,1988,1975-06-12,198.799999999993,198.80293,2015-01-01 00:33:08,bin1988,35,True +abc,1989,1989,1989,1975-06-13,198.89999999999299,198.90294,2015-01-01 00:33:09,bin1989,75,True +abc,1990,1990,1990,1975-06-14,198.99999999999298,199.00294,2015-01-01 00:33:10,bin1990,35,True +abc,1991,1991,1991,1975-06-15,199.09999999999297,199.10295,2015-01-01 00:33:11,bin1991,75,True +abc,1992,1992,1992,1975-06-16,199.19999999999297,199.20296,2015-01-01 00:33:12,bin1992,35,True +abc,1993,1993,1993,1975-06-17,199.29999999999296,199.30296,2015-01-01 00:33:13,bin1993,75,True +abc,1994,1994,1994,1975-06-18,199.39999999999296,199.40297,2015-01-01 00:33:14,bin1994,35,True +abc,1995,1995,1995,1975-06-19,199.49999999999295,199.50298,2015-01-01 00:33:15,bin1995,75,True +abc,1996,1996,1996,1975-06-20,199.59999999999295,199.60298,2015-01-01 00:33:16,bin1996,35,True +abc,1997,1997,1997,1975-06-21,199.69999999999294,199.70299,2015-01-01 00:33:17,bin1997,75,True +abc,1998,1998,1998,1975-06-22,199.79999999999293,199.803,2015-01-01 00:33:18,bin1998,35,True +abc,1999,1999,1999,1975-06-23,199.89999999999293,199.903,2015-01-01 00:33:19,bin1999,75,True +abc,2000,2000,2000,1975-06-24,199.99999999999292,200.003,2015-01-01 00:33:20,bin2000,35,True +abc,2001,2001,2001,1975-06-25,200.09999999999292,200.10301,2015-01-01 00:33:21,bin2001,75,True +abc,2002,2002,2002,1975-06-26,200.1999999999929,200.20302,2015-01-01 00:33:22,bin2002,35,True +abc,2003,2003,2003,1975-06-27,200.2999999999929,200.30302,2015-01-01 00:33:23,bin2003,75,True +abc,2004,2004,2004,1975-06-28,200.3999999999929,200.40303,2015-01-01 00:33:24,bin2004,35,True +abc,2005,2005,2005,1975-06-29,200.4999999999929,200.50304,2015-01-01 00:33:25,bin2005,75,True +abc,2006,2006,2006,1975-06-30,200.5999999999929,200.60304,2015-01-01 00:33:26,bin2006,35,True +abc,2007,2007,2007,1975-07-01,200.69999999999288,200.70305,2015-01-01 00:33:27,bin2007,75,True +abc,2008,2008,2008,1975-07-02,200.79999999999288,200.80305,2015-01-01 00:33:28,bin2008,35,True +abc,2009,2009,2009,1975-07-03,200.89999999999287,200.90306,2015-01-01 00:33:29,bin2009,75,True +abc,2010,2010,2010,1975-07-04,200.99999999999287,201.00307,2015-01-01 00:33:30,bin2010,35,True +abc,2011,2011,2011,1975-07-05,201.09999999999286,201.10307,2015-01-01 00:33:31,bin2011,75,True +abc,2012,2012,2012,1975-07-06,201.19999999999285,201.20308,2015-01-01 00:33:32,bin2012,35,True +abc,2013,2013,2013,1975-07-07,201.29999999999285,201.30309,2015-01-01 00:33:33,bin2013,75,True +abc,2014,2014,2014,1975-07-08,201.39999999999284,201.40309,2015-01-01 00:33:34,bin2014,35,True +abc,2015,2015,2015,1975-07-09,201.49999999999284,201.5031,2015-01-01 00:33:35,bin2015,75,True +abc,2016,2016,2016,1975-07-10,201.59999999999283,201.6031,2015-01-01 00:33:36,bin2016,35,True +abc,2017,2017,2017,1975-07-11,201.69999999999283,201.70311,2015-01-01 00:33:37,bin2017,75,True +abc,2018,2018,2018,1975-07-12,201.79999999999282,201.80312,2015-01-01 00:33:38,bin2018,35,True +abc,2019,2019,2019,1975-07-13,201.89999999999281,201.90312,2015-01-01 00:33:39,bin2019,75,True +abc,2020,2020,2020,1975-07-14,201.9999999999928,202.00313,2015-01-01 00:33:40,bin2020,35,True +abc,2021,2021,2021,1975-07-15,202.0999999999928,202.10313,2015-01-01 00:33:41,bin2021,75,True +abc,2022,2022,2022,1975-07-16,202.1999999999928,202.20314,2015-01-01 00:33:42,bin2022,35,True +abc,2023,2023,2023,1975-07-17,202.2999999999928,202.30315,2015-01-01 00:33:43,bin2023,75,True +abc,2024,2024,2024,1975-07-18,202.3999999999928,202.40315,2015-01-01 00:33:44,bin2024,35,True +abc,2025,2025,2025,1975-07-19,202.49999999999278,202.50316,2015-01-01 00:33:45,bin2025,75,True +abc,2026,2026,2026,1975-07-20,202.59999999999278,202.60316,2015-01-01 00:33:46,bin2026,35,True +abc,2027,2027,2027,1975-07-21,202.69999999999277,202.70317,2015-01-01 00:33:47,bin2027,75,True +abc,2028,2028,2028,1975-07-22,202.79999999999276,202.80318,2015-01-01 00:33:48,bin2028,35,True +abc,2029,2029,2029,1975-07-23,202.89999999999276,202.90318,2015-01-01 00:33:49,bin2029,75,True +abc,2030,2030,2030,1975-07-24,202.99999999999275,203.00319,2015-01-01 00:33:50,bin2030,35,True +abc,2031,2031,2031,1975-07-25,203.09999999999275,203.1032,2015-01-01 00:33:51,bin2031,75,True +abc,2032,2032,2032,1975-07-26,203.19999999999274,203.2032,2015-01-01 00:33:52,bin2032,35,True +abc,2033,2033,2033,1975-07-27,203.29999999999274,203.3032,2015-01-01 00:33:53,bin2033,75,True +abc,2034,2034,2034,1975-07-28,203.39999999999273,203.40321,2015-01-01 00:33:54,bin2034,35,True +abc,2035,2035,2035,1975-07-29,203.49999999999272,203.50322,2015-01-01 00:33:55,bin2035,75,True +abc,2036,2036,2036,1975-07-30,203.59999999999272,203.60323,2015-01-01 00:33:56,bin2036,35,True +abc,2037,2037,2037,1975-07-31,203.6999999999927,203.70323,2015-01-01 00:33:57,bin2037,75,True +abc,2038,2038,2038,1975-08-01,203.7999999999927,203.80324,2015-01-01 00:33:58,bin2038,35,True +abc,2039,2039,2039,1975-08-02,203.8999999999927,203.90324,2015-01-01 00:33:59,bin2039,75,True +abc,2040,2040,2040,1975-08-03,203.9999999999927,204.00325,2015-01-01 00:34:00,bin2040,35,True +abc,2041,2041,2041,1975-08-04,204.0999999999927,204.10326,2015-01-01 00:34:01,bin2041,75,True +abc,2042,2042,2042,1975-08-05,204.19999999999268,204.20326,2015-01-01 00:34:02,bin2042,35,True +abc,2043,2043,2043,1975-08-06,204.29999999999268,204.30327,2015-01-01 00:34:03,bin2043,75,True +abc,2044,2044,2044,1975-08-07,204.39999999999267,204.40327,2015-01-01 00:34:04,bin2044,35,True +abc,2045,2045,2045,1975-08-08,204.49999999999267,204.50328,2015-01-01 00:34:05,bin2045,75,True +abc,2046,2046,2046,1975-08-09,204.59999999999266,204.60329,2015-01-01 00:34:06,bin2046,35,True +abc,2047,2047,2047,1975-08-10,204.69999999999266,204.7033,2015-01-01 00:34:07,bin2047,75,True +abc,2048,2048,2048,1975-08-11,204.79999999999265,204.8033,2015-01-01 00:34:08,bin2048,35,True +abc,2049,2049,2049,1975-08-12,204.89999999999264,204.9033,2015-01-01 00:34:09,bin2049,75,True +abc,2050,2050,2050,1975-08-13,204.99999999999264,205.00331,2015-01-01 00:34:10,bin2050,35,True +abc,2051,2051,2051,1975-08-14,205.09999999999263,205.10332,2015-01-01 00:34:11,bin2051,75,True +abc,2052,2052,2052,1975-08-15,205.19999999999263,205.20332,2015-01-01 00:34:12,bin2052,35,True +abc,2053,2053,2053,1975-08-16,205.29999999999262,205.30333,2015-01-01 00:34:13,bin2053,75,True +abc,2054,2054,2054,1975-08-17,205.39999999999262,205.40334,2015-01-01 00:34:14,bin2054,35,True +abc,2055,2055,2055,1975-08-18,205.4999999999926,205.50334,2015-01-01 00:34:15,bin2055,75,True +abc,2056,2056,2056,1975-08-19,205.5999999999926,205.60335,2015-01-01 00:34:16,bin2056,35,True +abc,2057,2057,2057,1975-08-20,205.6999999999926,205.70335,2015-01-01 00:34:17,bin2057,75,True +abc,2058,2058,2058,1975-08-21,205.7999999999926,205.80336,2015-01-01 00:34:18,bin2058,35,True +abc,2059,2059,2059,1975-08-22,205.8999999999926,205.90337,2015-01-01 00:34:19,bin2059,75,True +abc,2060,2060,2060,1975-08-23,205.99999999999258,206.00337,2015-01-01 00:34:20,bin2060,35,True +abc,2061,2061,2061,1975-08-24,206.09999999999258,206.10338,2015-01-01 00:34:21,bin2061,75,True +abc,2062,2062,2062,1975-08-25,206.19999999999257,206.20338,2015-01-01 00:34:22,bin2062,35,True +abc,2063,2063,2063,1975-08-26,206.29999999999256,206.30339,2015-01-01 00:34:23,bin2063,75,True +abc,2064,2064,2064,1975-08-27,206.39999999999256,206.4034,2015-01-01 00:34:24,bin2064,35,True +abc,2065,2065,2065,1975-08-28,206.49999999999255,206.5034,2015-01-01 00:34:25,bin2065,75,True +abc,2066,2066,2066,1975-08-29,206.59999999999255,206.60341,2015-01-01 00:34:26,bin2066,35,True +abc,2067,2067,2067,1975-08-30,206.69999999999254,206.70341,2015-01-01 00:34:27,bin2067,75,True +abc,2068,2068,2068,1975-08-31,206.79999999999254,206.80342,2015-01-01 00:34:28,bin2068,35,True +abc,2069,2069,2069,1975-09-01,206.89999999999253,206.90343,2015-01-01 00:34:29,bin2069,75,True +abc,2070,2070,2070,1975-09-02,206.99999999999253,207.00343,2015-01-01 00:34:30,bin2070,35,True +abc,2071,2071,2071,1975-09-03,207.09999999999252,207.10344,2015-01-01 00:34:31,bin2071,75,True +abc,2072,2072,2072,1975-09-04,207.1999999999925,207.20345,2015-01-01 00:34:32,bin2072,35,True +abc,2073,2073,2073,1975-09-05,207.2999999999925,207.30345,2015-01-01 00:34:33,bin2073,75,True +abc,2074,2074,2074,1975-09-06,207.3999999999925,207.40346,2015-01-01 00:34:34,bin2074,35,True +abc,2075,2075,2075,1975-09-07,207.4999999999925,207.50346,2015-01-01 00:34:35,bin2075,75,True +abc,2076,2076,2076,1975-09-08,207.5999999999925,207.60347,2015-01-01 00:34:36,bin2076,35,True +abc,2077,2077,2077,1975-09-09,207.69999999999249,207.70348,2015-01-01 00:34:37,bin2077,75,True +abc,2078,2078,2078,1975-09-10,207.79999999999248,207.80348,2015-01-01 00:34:38,bin2078,35,True +abc,2079,2079,2079,1975-09-11,207.89999999999247,207.90349,2015-01-01 00:34:39,bin2079,75,True +abc,2080,2080,2080,1975-09-12,207.99999999999247,208.0035,2015-01-01 00:34:40,bin2080,35,True +abc,2081,2081,2081,1975-09-13,208.09999999999246,208.1035,2015-01-01 00:34:41,bin2081,75,True +abc,2082,2082,2082,1975-09-14,208.19999999999246,208.2035,2015-01-01 00:34:42,bin2082,35,True +abc,2083,2083,2083,1975-09-15,208.29999999999245,208.30351,2015-01-01 00:34:43,bin2083,75,True +abc,2084,2084,2084,1975-09-16,208.39999999999245,208.40352,2015-01-01 00:34:44,bin2084,35,True +abc,2085,2085,2085,1975-09-17,208.49999999999244,208.50352,2015-01-01 00:34:45,bin2085,75,True +abc,2086,2086,2086,1975-09-18,208.59999999999243,208.60353,2015-01-01 00:34:46,bin2086,35,True +abc,2087,2087,2087,1975-09-19,208.69999999999243,208.70354,2015-01-01 00:34:47,bin2087,75,True +abc,2088,2088,2088,1975-09-20,208.79999999999242,208.80354,2015-01-01 00:34:48,bin2088,35,True +abc,2089,2089,2089,1975-09-21,208.89999999999242,208.90355,2015-01-01 00:34:49,bin2089,75,True +abc,2090,2090,2090,1975-09-22,208.9999999999924,209.00356,2015-01-01 00:34:50,bin2090,35,True +abc,2091,2091,2091,1975-09-23,209.0999999999924,209.10356,2015-01-01 00:34:51,bin2091,75,True +abc,2092,2092,2092,1975-09-24,209.1999999999924,209.20357,2015-01-01 00:34:52,bin2092,35,True +abc,2093,2093,2093,1975-09-25,209.2999999999924,209.30357,2015-01-01 00:34:53,bin2093,75,True +abc,2094,2094,2094,1975-09-26,209.3999999999924,209.40358,2015-01-01 00:34:54,bin2094,35,True +abc,2095,2095,2095,1975-09-27,209.49999999999238,209.50359,2015-01-01 00:34:55,bin2095,75,True +abc,2096,2096,2096,1975-09-28,209.59999999999238,209.60359,2015-01-01 00:34:56,bin2096,35,True +abc,2097,2097,2097,1975-09-29,209.69999999999237,209.7036,2015-01-01 00:34:57,bin2097,75,True +abc,2098,2098,2098,1975-09-30,209.79999999999237,209.8036,2015-01-01 00:34:58,bin2098,35,True +abc,2099,2099,2099,1975-10-01,209.89999999999236,209.90361,2015-01-01 00:34:59,bin2099,75,True +abc,2100,2100,2100,1975-10-02,209.99999999999235,210.00362,2015-01-01 00:35:00,bin2100,35,True +abc,2101,2101,2101,1975-10-03,210.09999999999235,210.10362,2015-01-01 00:35:01,bin2101,75,True +abc,2102,2102,2102,1975-10-04,210.19999999999234,210.20363,2015-01-01 00:35:02,bin2102,35,True +abc,2103,2103,2103,1975-10-05,210.29999999999234,210.30363,2015-01-01 00:35:03,bin2103,75,True +abc,2104,2104,2104,1975-10-06,210.39999999999233,210.40364,2015-01-01 00:35:04,bin2104,35,True +abc,2105,2105,2105,1975-10-07,210.49999999999233,210.50365,2015-01-01 00:35:05,bin2105,75,True +abc,2106,2106,2106,1975-10-08,210.59999999999232,210.60365,2015-01-01 00:35:06,bin2106,35,True +abc,2107,2107,2107,1975-10-09,210.69999999999231,210.70366,2015-01-01 00:35:07,bin2107,75,True +abc,2108,2108,2108,1975-10-10,210.7999999999923,210.80367,2015-01-01 00:35:08,bin2108,35,True +abc,2109,2109,2109,1975-10-11,210.8999999999923,210.90367,2015-01-01 00:35:09,bin2109,75,True +abc,2110,2110,2110,1975-10-12,210.9999999999923,211.00368,2015-01-01 00:35:10,bin2110,35,True +abc,2111,2111,2111,1975-10-13,211.0999999999923,211.10368,2015-01-01 00:35:11,bin2111,75,True +abc,2112,2112,2112,1975-10-14,211.1999999999923,211.20369,2015-01-01 00:35:12,bin2112,35,True +abc,2113,2113,2113,1975-10-15,211.29999999999228,211.3037,2015-01-01 00:35:13,bin2113,75,True +abc,2114,2114,2114,1975-10-16,211.39999999999227,211.4037,2015-01-01 00:35:14,bin2114,35,True +abc,2115,2115,2115,1975-10-17,211.49999999999227,211.50371,2015-01-01 00:35:15,bin2115,75,True +abc,2116,2116,2116,1975-10-18,211.59999999999226,211.60371,2015-01-01 00:35:16,bin2116,35,True +abc,2117,2117,2117,1975-10-19,211.69999999999226,211.70372,2015-01-01 00:35:17,bin2117,75,True +abc,2118,2118,2118,1975-10-20,211.79999999999225,211.80373,2015-01-01 00:35:18,bin2118,35,True +abc,2119,2119,2119,1975-10-21,211.89999999999225,211.90373,2015-01-01 00:35:19,bin2119,75,True +abc,2120,2120,2120,1975-10-22,211.99999999999224,212.00374,2015-01-01 00:35:20,bin2120,35,True +abc,2121,2121,2121,1975-10-23,212.09999999999224,212.10374,2015-01-01 00:35:21,bin2121,75,True +abc,2122,2122,2122,1975-10-24,212.19999999999223,212.20375,2015-01-01 00:35:22,bin2122,35,True +abc,2123,2123,2123,1975-10-25,212.29999999999222,212.30376,2015-01-01 00:35:23,bin2123,75,True +abc,2124,2124,2124,1975-10-26,212.39999999999222,212.40376,2015-01-01 00:35:24,bin2124,35,True +abc,2125,2125,2125,1975-10-27,212.4999999999922,212.50377,2015-01-01 00:35:25,bin2125,75,True +abc,2126,2126,2126,1975-10-28,212.5999999999922,212.60378,2015-01-01 00:35:26,bin2126,35,True +abc,2127,2127,2127,1975-10-29,212.6999999999922,212.70378,2015-01-01 00:35:27,bin2127,75,True +abc,2128,2128,2128,1975-10-30,212.7999999999922,212.80379,2015-01-01 00:35:28,bin2128,35,True +abc,2129,2129,2129,1975-10-31,212.8999999999922,212.9038,2015-01-01 00:35:29,bin2129,75,True +abc,2130,2130,2130,1975-11-01,212.99999999999218,213.0038,2015-01-01 00:35:30,bin2130,35,True +abc,2131,2131,2131,1975-11-02,213.09999999999218,213.1038,2015-01-01 00:35:31,bin2131,75,True +abc,2132,2132,2132,1975-11-03,213.19999999999217,213.20381,2015-01-01 00:35:32,bin2132,35,True +abc,2133,2133,2133,1975-11-04,213.29999999999217,213.30382,2015-01-01 00:35:33,bin2133,75,True +abc,2134,2134,2134,1975-11-05,213.39999999999216,213.40382,2015-01-01 00:35:34,bin2134,35,True +abc,2135,2135,2135,1975-11-06,213.49999999999216,213.50383,2015-01-01 00:35:35,bin2135,75,True +abc,2136,2136,2136,1975-11-07,213.59999999999215,213.60384,2015-01-01 00:35:36,bin2136,35,True +abc,2137,2137,2137,1975-11-08,213.69999999999214,213.70384,2015-01-01 00:35:37,bin2137,75,True +abc,2138,2138,2138,1975-11-09,213.79999999999214,213.80385,2015-01-01 00:35:38,bin2138,35,True +abc,2139,2139,2139,1975-11-10,213.89999999999213,213.90385,2015-01-01 00:35:39,bin2139,75,True +abc,2140,2140,2140,1975-11-11,213.99999999999213,214.00386,2015-01-01 00:35:40,bin2140,35,True +abc,2141,2141,2141,1975-11-12,214.09999999999212,214.10387,2015-01-01 00:35:41,bin2141,75,True +abc,2142,2142,2142,1975-11-13,214.19999999999212,214.20387,2015-01-01 00:35:42,bin2142,35,True +abc,2143,2143,2143,1975-11-14,214.2999999999921,214.30388,2015-01-01 00:35:43,bin2143,75,True +abc,2144,2144,2144,1975-11-15,214.3999999999921,214.40388,2015-01-01 00:35:44,bin2144,35,True +abc,2145,2145,2145,1975-11-16,214.4999999999921,214.50389,2015-01-01 00:35:45,bin2145,75,True +abc,2146,2146,2146,1975-11-17,214.5999999999921,214.6039,2015-01-01 00:35:46,bin2146,35,True +abc,2147,2147,2147,1975-11-18,214.6999999999921,214.7039,2015-01-01 00:35:47,bin2147,75,True +abc,2148,2148,2148,1975-11-19,214.79999999999208,214.80391,2015-01-01 00:35:48,bin2148,35,True +abc,2149,2149,2149,1975-11-20,214.89999999999208,214.90392,2015-01-01 00:35:49,bin2149,75,True +abc,2150,2150,2150,1975-11-21,214.99999999999207,215.00392,2015-01-01 00:35:50,bin2150,35,True +abc,2151,2151,2151,1975-11-22,215.09999999999206,215.10393,2015-01-01 00:35:51,bin2151,75,True +abc,2152,2152,2152,1975-11-23,215.19999999999206,215.20393,2015-01-01 00:35:52,bin2152,35,True +abc,2153,2153,2153,1975-11-24,215.29999999999205,215.30394,2015-01-01 00:35:53,bin2153,75,True +abc,2154,2154,2154,1975-11-25,215.39999999999205,215.40395,2015-01-01 00:35:54,bin2154,35,True +abc,2155,2155,2155,1975-11-26,215.49999999999204,215.50395,2015-01-01 00:35:55,bin2155,75,True +abc,2156,2156,2156,1975-11-27,215.59999999999204,215.60396,2015-01-01 00:35:56,bin2156,35,True +abc,2157,2157,2157,1975-11-28,215.69999999999203,215.70396,2015-01-01 00:35:57,bin2157,75,True +abc,2158,2158,2158,1975-11-29,215.79999999999202,215.80397,2015-01-01 00:35:58,bin2158,35,True +abc,2159,2159,2159,1975-11-30,215.89999999999202,215.90398,2015-01-01 00:35:59,bin2159,75,True +abc,2160,2160,2160,1975-12-01,215.999999999992,216.00398,2015-01-01 00:36:00,bin2160,35,True +abc,2161,2161,2161,1975-12-02,216.099999999992,216.10399,2015-01-01 00:36:01,bin2161,75,True +abc,2162,2162,2162,1975-12-03,216.199999999992,216.204,2015-01-01 00:36:02,bin2162,35,True +abc,2163,2163,2163,1975-12-04,216.299999999992,216.304,2015-01-01 00:36:03,bin2163,75,True +abc,2164,2164,2164,1975-12-05,216.399999999992,216.404,2015-01-01 00:36:04,bin2164,35,True +abc,2165,2165,2165,1975-12-06,216.49999999999199,216.50401,2015-01-01 00:36:05,bin2165,75,True +abc,2166,2166,2166,1975-12-07,216.59999999999198,216.60402,2015-01-01 00:36:06,bin2166,35,True +abc,2167,2167,2167,1975-12-08,216.69999999999197,216.70403,2015-01-01 00:36:07,bin2167,75,True +abc,2168,2168,2168,1975-12-09,216.79999999999197,216.80403,2015-01-01 00:36:08,bin2168,35,True +abc,2169,2169,2169,1975-12-10,216.89999999999196,216.90404,2015-01-01 00:36:09,bin2169,75,True +abc,2170,2170,2170,1975-12-11,216.99999999999196,217.00404,2015-01-01 00:36:10,bin2170,35,True +abc,2171,2171,2171,1975-12-12,217.09999999999195,217.10405,2015-01-01 00:36:11,bin2171,75,True +abc,2172,2172,2172,1975-12-13,217.19999999999195,217.20406,2015-01-01 00:36:12,bin2172,35,True +abc,2173,2173,2173,1975-12-14,217.29999999999194,217.30406,2015-01-01 00:36:13,bin2173,75,True +abc,2174,2174,2174,1975-12-15,217.39999999999193,217.40407,2015-01-01 00:36:14,bin2174,35,True +abc,2175,2175,2175,1975-12-16,217.49999999999193,217.50407,2015-01-01 00:36:15,bin2175,75,True +abc,2176,2176,2176,1975-12-17,217.59999999999192,217.60408,2015-01-01 00:36:16,bin2176,35,True +abc,2177,2177,2177,1975-12-18,217.69999999999192,217.70409,2015-01-01 00:36:17,bin2177,75,True +abc,2178,2178,2178,1975-12-19,217.7999999999919,217.8041,2015-01-01 00:36:18,bin2178,35,True +abc,2179,2179,2179,1975-12-20,217.8999999999919,217.9041,2015-01-01 00:36:19,bin2179,75,True +abc,2180,2180,2180,1975-12-21,217.9999999999919,218.0041,2015-01-01 00:36:20,bin2180,35,True +abc,2181,2181,2181,1975-12-22,218.0999999999919,218.10411,2015-01-01 00:36:21,bin2181,75,True +abc,2182,2182,2182,1975-12-23,218.1999999999919,218.20412,2015-01-01 00:36:22,bin2182,35,True +abc,2183,2183,2183,1975-12-24,218.29999999999188,218.30412,2015-01-01 00:36:23,bin2183,75,True +abc,2184,2184,2184,1975-12-25,218.39999999999188,218.40413,2015-01-01 00:36:24,bin2184,35,True +abc,2185,2185,2185,1975-12-26,218.49999999999187,218.50414,2015-01-01 00:36:25,bin2185,75,True +abc,2186,2186,2186,1975-12-27,218.59999999999187,218.60414,2015-01-01 00:36:26,bin2186,35,True +abc,2187,2187,2187,1975-12-28,218.69999999999186,218.70415,2015-01-01 00:36:27,bin2187,75,True +abc,2188,2188,2188,1975-12-29,218.79999999999185,218.80415,2015-01-01 00:36:28,bin2188,35,True +abc,2189,2189,2189,1975-12-30,218.89999999999185,218.90416,2015-01-01 00:36:29,bin2189,75,True +abc,2190,2190,2190,1975-12-31,218.99999999999184,219.00417,2015-01-01 00:36:30,bin2190,35,True +abc,2191,2191,2191,1976-01-01,219.09999999999184,219.10417,2015-01-01 00:36:31,bin2191,75,True +abc,2192,2192,2192,1976-01-02,219.19999999999183,219.20418,2015-01-01 00:36:32,bin2192,35,True +abc,2193,2193,2193,1976-01-03,219.29999999999183,219.30418,2015-01-01 00:36:33,bin2193,75,True +abc,2194,2194,2194,1976-01-04,219.39999999999182,219.40419,2015-01-01 00:36:34,bin2194,35,True +abc,2195,2195,2195,1976-01-05,219.49999999999181,219.5042,2015-01-01 00:36:35,bin2195,75,True +abc,2196,2196,2196,1976-01-06,219.5999999999918,219.6042,2015-01-01 00:36:36,bin2196,35,True +abc,2197,2197,2197,1976-01-07,219.6999999999918,219.70421,2015-01-01 00:36:37,bin2197,75,True +abc,2198,2198,2198,1976-01-08,219.7999999999918,219.80421,2015-01-01 00:36:38,bin2198,35,True +abc,2199,2199,2199,1976-01-09,219.8999999999918,219.90422,2015-01-01 00:36:39,bin2199,75,True +abc,2200,2200,2200,1976-01-10,219.9999999999918,220.00423,2015-01-01 00:36:40,bin2200,35,True +abc,2201,2201,2201,1976-01-11,220.09999999999178,220.10423,2015-01-01 00:36:41,bin2201,75,True +abc,2202,2202,2202,1976-01-12,220.19999999999177,220.20424,2015-01-01 00:36:42,bin2202,35,True +abc,2203,2203,2203,1976-01-13,220.29999999999177,220.30424,2015-01-01 00:36:43,bin2203,75,True +abc,2204,2204,2204,1976-01-14,220.39999999999176,220.40425,2015-01-01 00:36:44,bin2204,35,True +abc,2205,2205,2205,1976-01-15,220.49999999999176,220.50426,2015-01-01 00:36:45,bin2205,75,True +abc,2206,2206,2206,1976-01-16,220.59999999999175,220.60426,2015-01-01 00:36:46,bin2206,35,True +abc,2207,2207,2207,1976-01-17,220.69999999999175,220.70427,2015-01-01 00:36:47,bin2207,75,True +abc,2208,2208,2208,1976-01-18,220.79999999999174,220.80428,2015-01-01 00:36:48,bin2208,35,True +abc,2209,2209,2209,1976-01-19,220.89999999999173,220.90428,2015-01-01 00:36:49,bin2209,75,True +abc,2210,2210,2210,1976-01-20,220.99999999999173,221.00429,2015-01-01 00:36:50,bin2210,35,True +abc,2211,2211,2211,1976-01-21,221.09999999999172,221.1043,2015-01-01 00:36:51,bin2211,75,True +abc,2212,2212,2212,1976-01-22,221.19999999999172,221.2043,2015-01-01 00:36:52,bin2212,35,True +abc,2213,2213,2213,1976-01-23,221.2999999999917,221.3043,2015-01-01 00:36:53,bin2213,75,True +abc,2214,2214,2214,1976-01-24,221.3999999999917,221.40431,2015-01-01 00:36:54,bin2214,35,True +abc,2215,2215,2215,1976-01-25,221.4999999999917,221.50432,2015-01-01 00:36:55,bin2215,75,True +abc,2216,2216,2216,1976-01-26,221.5999999999917,221.60432,2015-01-01 00:36:56,bin2216,35,True +abc,2217,2217,2217,1976-01-27,221.6999999999917,221.70433,2015-01-01 00:36:57,bin2217,75,True +abc,2218,2218,2218,1976-01-28,221.79999999999168,221.80434,2015-01-01 00:36:58,bin2218,35,True +abc,2219,2219,2219,1976-01-29,221.89999999999168,221.90434,2015-01-01 00:36:59,bin2219,75,True +abc,2220,2220,2220,1976-01-30,221.99999999999167,222.00435,2015-01-01 00:37:00,bin2220,35,True +abc,2221,2221,2221,1976-01-31,222.09999999999167,222.10435,2015-01-01 00:37:01,bin2221,75,True +abc,2222,2222,2222,1976-02-01,222.19999999999166,222.20436,2015-01-01 00:37:02,bin2222,35,True +abc,2223,2223,2223,1976-02-02,222.29999999999166,222.30437,2015-01-01 00:37:03,bin2223,75,True +abc,2224,2224,2224,1976-02-03,222.39999999999165,222.40437,2015-01-01 00:37:04,bin2224,35,True +abc,2225,2225,2225,1976-02-04,222.49999999999164,222.50438,2015-01-01 00:37:05,bin2225,75,True +abc,2226,2226,2226,1976-02-05,222.59999999999164,222.60439,2015-01-01 00:37:06,bin2226,35,True +abc,2227,2227,2227,1976-02-06,222.69999999999163,222.70439,2015-01-01 00:37:07,bin2227,75,True +abc,2228,2228,2228,1976-02-07,222.79999999999163,222.8044,2015-01-01 00:37:08,bin2228,35,True +abc,2229,2229,2229,1976-02-08,222.89999999999162,222.9044,2015-01-01 00:37:09,bin2229,75,True +abc,2230,2230,2230,1976-02-09,222.99999999999162,223.00441,2015-01-01 00:37:10,bin2230,35,True +abc,2231,2231,2231,1976-02-10,223.0999999999916,223.10442,2015-01-01 00:37:11,bin2231,75,True +abc,2232,2232,2232,1976-02-11,223.1999999999916,223.20442,2015-01-01 00:37:12,bin2232,35,True +abc,2233,2233,2233,1976-02-12,223.2999999999916,223.30443,2015-01-01 00:37:13,bin2233,75,True +abc,2234,2234,2234,1976-02-13,223.3999999999916,223.40443,2015-01-01 00:37:14,bin2234,35,True +abc,2235,2235,2235,1976-02-14,223.4999999999916,223.50444,2015-01-01 00:37:15,bin2235,75,True +abc,2236,2236,2236,1976-02-15,223.59999999999158,223.60445,2015-01-01 00:37:16,bin2236,35,True +abc,2237,2237,2237,1976-02-16,223.69999999999158,223.70445,2015-01-01 00:37:17,bin2237,75,True +abc,2238,2238,2238,1976-02-17,223.79999999999157,223.80446,2015-01-01 00:37:18,bin2238,35,True +abc,2239,2239,2239,1976-02-18,223.89999999999156,223.90446,2015-01-01 00:37:19,bin2239,75,True +abc,2240,2240,2240,1976-02-19,223.99999999999156,224.00447,2015-01-01 00:37:20,bin2240,35,True +abc,2241,2241,2241,1976-02-20,224.09999999999155,224.10448,2015-01-01 00:37:21,bin2241,75,True +abc,2242,2242,2242,1976-02-21,224.19999999999155,224.20448,2015-01-01 00:37:22,bin2242,35,True +abc,2243,2243,2243,1976-02-22,224.29999999999154,224.30449,2015-01-01 00:37:23,bin2243,75,True +abc,2244,2244,2244,1976-02-23,224.39999999999154,224.4045,2015-01-01 00:37:24,bin2244,35,True +abc,2245,2245,2245,1976-02-24,224.49999999999153,224.5045,2015-01-01 00:37:25,bin2245,75,True +abc,2246,2246,2246,1976-02-25,224.59999999999152,224.6045,2015-01-01 00:37:26,bin2246,35,True +abc,2247,2247,2247,1976-02-26,224.69999999999152,224.70451,2015-01-01 00:37:27,bin2247,75,True +abc,2248,2248,2248,1976-02-27,224.7999999999915,224.80452,2015-01-01 00:37:28,bin2248,35,True +abc,2249,2249,2249,1976-02-28,224.8999999999915,224.90453,2015-01-01 00:37:29,bin2249,75,True +abc,2250,2250,2250,1976-02-29,224.9999999999915,225.00453,2015-01-01 00:37:30,bin2250,35,True +abc,2251,2251,2251,1976-03-01,225.0999999999915,225.10454,2015-01-01 00:37:31,bin2251,75,True +abc,2252,2252,2252,1976-03-02,225.1999999999915,225.20454,2015-01-01 00:37:32,bin2252,35,True +abc,2253,2253,2253,1976-03-03,225.29999999999148,225.30455,2015-01-01 00:37:33,bin2253,75,True +abc,2254,2254,2254,1976-03-04,225.39999999999148,225.40456,2015-01-01 00:37:34,bin2254,35,True +abc,2255,2255,2255,1976-03-05,225.49999999999147,225.50456,2015-01-01 00:37:35,bin2255,75,True +abc,2256,2256,2256,1976-03-06,225.59999999999147,225.60457,2015-01-01 00:37:36,bin2256,35,True +abc,2257,2257,2257,1976-03-07,225.69999999999146,225.70457,2015-01-01 00:37:37,bin2257,75,True +abc,2258,2258,2258,1976-03-08,225.79999999999146,225.80458,2015-01-01 00:37:38,bin2258,35,True +abc,2259,2259,2259,1976-03-09,225.89999999999145,225.90459,2015-01-01 00:37:39,bin2259,75,True +abc,2260,2260,2260,1976-03-10,225.99999999999145,226.0046,2015-01-01 00:37:40,bin2260,35,True +abc,2261,2261,2261,1976-03-11,226.09999999999144,226.1046,2015-01-01 00:37:41,bin2261,75,True +abc,2262,2262,2262,1976-03-12,226.19999999999143,226.2046,2015-01-01 00:37:42,bin2262,35,True +abc,2263,2263,2263,1976-03-13,226.29999999999143,226.30461,2015-01-01 00:37:43,bin2263,75,True +abc,2264,2264,2264,1976-03-14,226.39999999999142,226.40462,2015-01-01 00:37:44,bin2264,35,True +abc,2265,2265,2265,1976-03-15,226.49999999999142,226.50462,2015-01-01 00:37:45,bin2265,75,True +abc,2266,2266,2266,1976-03-16,226.5999999999914,226.60463,2015-01-01 00:37:46,bin2266,35,True +abc,2267,2267,2267,1976-03-17,226.6999999999914,226.70464,2015-01-01 00:37:47,bin2267,75,True +abc,2268,2268,2268,1976-03-18,226.7999999999914,226.80464,2015-01-01 00:37:48,bin2268,35,True +abc,2269,2269,2269,1976-03-19,226.8999999999914,226.90465,2015-01-01 00:37:49,bin2269,75,True +abc,2270,2270,2270,1976-03-20,226.9999999999914,227.00465,2015-01-01 00:37:50,bin2270,35,True +abc,2271,2271,2271,1976-03-21,227.09999999999138,227.10466,2015-01-01 00:37:51,bin2271,75,True +abc,2272,2272,2272,1976-03-22,227.19999999999138,227.20467,2015-01-01 00:37:52,bin2272,35,True +abc,2273,2273,2273,1976-03-23,227.29999999999137,227.30467,2015-01-01 00:37:53,bin2273,75,True +abc,2274,2274,2274,1976-03-24,227.39999999999137,227.40468,2015-01-01 00:37:54,bin2274,35,True +abc,2275,2275,2275,1976-03-25,227.49999999999136,227.50468,2015-01-01 00:37:55,bin2275,75,True +abc,2276,2276,2276,1976-03-26,227.59999999999135,227.60469,2015-01-01 00:37:56,bin2276,35,True +abc,2277,2277,2277,1976-03-27,227.69999999999135,227.7047,2015-01-01 00:37:57,bin2277,75,True +abc,2278,2278,2278,1976-03-28,227.79999999999134,227.8047,2015-01-01 00:37:58,bin2278,35,True +abc,2279,2279,2279,1976-03-29,227.89999999999134,227.90471,2015-01-01 00:37:59,bin2279,75,True +abc,2280,2280,2280,1976-03-30,227.99999999999133,228.00471,2015-01-01 00:38:00,bin2280,35,True +abc,2281,2281,2281,1976-03-31,228.09999999999133,228.10472,2015-01-01 00:38:01,bin2281,75,True +abc,2282,2282,2282,1976-04-01,228.19999999999132,228.20473,2015-01-01 00:38:02,bin2282,35,True +abc,2283,2283,2283,1976-04-02,228.29999999999131,228.30473,2015-01-01 00:38:03,bin2283,75,True +abc,2284,2284,2284,1976-04-03,228.3999999999913,228.40474,2015-01-01 00:38:04,bin2284,35,True +abc,2285,2285,2285,1976-04-04,228.4999999999913,228.50475,2015-01-01 00:38:05,bin2285,75,True +abc,2286,2286,2286,1976-04-05,228.5999999999913,228.60475,2015-01-01 00:38:06,bin2286,35,True +abc,2287,2287,2287,1976-04-06,228.6999999999913,228.70476,2015-01-01 00:38:07,bin2287,75,True +abc,2288,2288,2288,1976-04-07,228.7999999999913,228.80476,2015-01-01 00:38:08,bin2288,35,True +abc,2289,2289,2289,1976-04-08,228.89999999999128,228.90477,2015-01-01 00:38:09,bin2289,75,True +abc,2290,2290,2290,1976-04-09,228.99999999999127,229.00478,2015-01-01 00:38:10,bin2290,35,True +abc,2291,2291,2291,1976-04-10,229.09999999999127,229.10478,2015-01-01 00:38:11,bin2291,75,True +abc,2292,2292,2292,1976-04-11,229.19999999999126,229.20479,2015-01-01 00:38:12,bin2292,35,True +abc,2293,2293,2293,1976-04-12,229.29999999999126,229.3048,2015-01-01 00:38:13,bin2293,75,True +abc,2294,2294,2294,1976-04-13,229.39999999999125,229.4048,2015-01-01 00:38:14,bin2294,35,True +abc,2295,2295,2295,1976-04-14,229.49999999999125,229.5048,2015-01-01 00:38:15,bin2295,75,True +abc,2296,2296,2296,1976-04-15,229.59999999999124,229.60481,2015-01-01 00:38:16,bin2296,35,True +abc,2297,2297,2297,1976-04-16,229.69999999999123,229.70482,2015-01-01 00:38:17,bin2297,75,True +abc,2298,2298,2298,1976-04-17,229.79999999999123,229.80482,2015-01-01 00:38:18,bin2298,35,True +abc,2299,2299,2299,1976-04-18,229.89999999999122,229.90483,2015-01-01 00:38:19,bin2299,75,True +abc,2300,2300,2300,1976-04-19,229.99999999999122,230.00484,2015-01-01 00:38:20,bin2300,35,True +abc,2301,2301,2301,1976-04-20,230.0999999999912,230.10484,2015-01-01 00:38:21,bin2301,75,True +abc,2302,2302,2302,1976-04-21,230.1999999999912,230.20485,2015-01-01 00:38:22,bin2302,35,True +abc,2303,2303,2303,1976-04-22,230.2999999999912,230.30486,2015-01-01 00:38:23,bin2303,75,True +abc,2304,2304,2304,1976-04-23,230.3999999999912,230.40486,2015-01-01 00:38:24,bin2304,35,True +abc,2305,2305,2305,1976-04-24,230.4999999999912,230.50487,2015-01-01 00:38:25,bin2305,75,True +abc,2306,2306,2306,1976-04-25,230.59999999999118,230.60487,2015-01-01 00:38:26,bin2306,35,True +abc,2307,2307,2307,1976-04-26,230.69999999999118,230.70488,2015-01-01 00:38:27,bin2307,75,True +abc,2308,2308,2308,1976-04-27,230.79999999999117,230.80489,2015-01-01 00:38:28,bin2308,35,True +abc,2309,2309,2309,1976-04-28,230.89999999999117,230.90489,2015-01-01 00:38:29,bin2309,75,True +abc,2310,2310,2310,1976-04-29,230.99999999999116,231.0049,2015-01-01 00:38:30,bin2310,35,True +abc,2311,2311,2311,1976-04-30,231.09999999999116,231.1049,2015-01-01 00:38:31,bin2311,75,True +abc,2312,2312,2312,1976-05-01,231.19999999999115,231.20491,2015-01-01 00:38:32,bin2312,35,True +abc,2313,2313,2313,1976-05-02,231.29999999999114,231.30492,2015-01-01 00:38:33,bin2313,75,True +abc,2314,2314,2314,1976-05-03,231.39999999999114,231.40492,2015-01-01 00:38:34,bin2314,35,True +abc,2315,2315,2315,1976-05-04,231.49999999999113,231.50493,2015-01-01 00:38:35,bin2315,75,True +abc,2316,2316,2316,1976-05-05,231.59999999999113,231.60493,2015-01-01 00:38:36,bin2316,35,True +abc,2317,2317,2317,1976-05-06,231.69999999999112,231.70494,2015-01-01 00:38:37,bin2317,75,True +abc,2318,2318,2318,1976-05-07,231.79999999999112,231.80495,2015-01-01 00:38:38,bin2318,35,True +abc,2319,2319,2319,1976-05-08,231.8999999999911,231.90495,2015-01-01 00:38:39,bin2319,75,True +abc,2320,2320,2320,1976-05-09,231.9999999999911,232.00496,2015-01-01 00:38:40,bin2320,35,True +abc,2321,2321,2321,1976-05-10,232.0999999999911,232.10497,2015-01-01 00:38:41,bin2321,75,True +abc,2322,2322,2322,1976-05-11,232.1999999999911,232.20497,2015-01-01 00:38:42,bin2322,35,True +abc,2323,2323,2323,1976-05-12,232.2999999999911,232.30498,2015-01-01 00:38:43,bin2323,75,True +abc,2324,2324,2324,1976-05-13,232.39999999999108,232.40498,2015-01-01 00:38:44,bin2324,35,True +abc,2325,2325,2325,1976-05-14,232.49999999999108,232.50499,2015-01-01 00:38:45,bin2325,75,True +abc,2326,2326,2326,1976-05-15,232.59999999999107,232.605,2015-01-01 00:38:46,bin2326,35,True +abc,2327,2327,2327,1976-05-16,232.69999999999106,232.705,2015-01-01 00:38:47,bin2327,75,True +abc,2328,2328,2328,1976-05-17,232.79999999999106,232.80501,2015-01-01 00:38:48,bin2328,35,True +abc,2329,2329,2329,1976-05-18,232.89999999999105,232.90501,2015-01-01 00:38:49,bin2329,75,True +abc,2330,2330,2330,1976-05-19,232.99999999999105,233.00502,2015-01-01 00:38:50,bin2330,35,True +abc,2331,2331,2331,1976-05-20,233.09999999999104,233.10503,2015-01-01 00:38:51,bin2331,75,True +abc,2332,2332,2332,1976-05-21,233.19999999999104,233.20503,2015-01-01 00:38:52,bin2332,35,True +abc,2333,2333,2333,1976-05-22,233.29999999999103,233.30504,2015-01-01 00:38:53,bin2333,75,True +abc,2334,2334,2334,1976-05-23,233.39999999999102,233.40504,2015-01-01 00:38:54,bin2334,35,True +abc,2335,2335,2335,1976-05-24,233.49999999999102,233.50505,2015-01-01 00:38:55,bin2335,75,True +abc,2336,2336,2336,1976-05-25,233.599999999991,233.60506,2015-01-01 00:38:56,bin2336,35,True +abc,2337,2337,2337,1976-05-26,233.699999999991,233.70506,2015-01-01 00:38:57,bin2337,75,True +abc,2338,2338,2338,1976-05-27,233.799999999991,233.80507,2015-01-01 00:38:58,bin2338,35,True +abc,2339,2339,2339,1976-05-28,233.899999999991,233.90508,2015-01-01 00:38:59,bin2339,75,True +abc,2340,2340,2340,1976-05-29,233.999999999991,234.00508,2015-01-01 00:39:00,bin2340,35,True +abc,2341,2341,2341,1976-05-30,234.09999999999098,234.10509,2015-01-01 00:39:01,bin2341,75,True +abc,2342,2342,2342,1976-05-31,234.19999999999098,234.2051,2015-01-01 00:39:02,bin2342,35,True +abc,2343,2343,2343,1976-06-01,234.29999999999097,234.3051,2015-01-01 00:39:03,bin2343,75,True +abc,2344,2344,2344,1976-06-02,234.39999999999097,234.4051,2015-01-01 00:39:04,bin2344,35,True +abc,2345,2345,2345,1976-06-03,234.49999999999096,234.50511,2015-01-01 00:39:05,bin2345,75,True +abc,2346,2346,2346,1976-06-04,234.59999999999096,234.60512,2015-01-01 00:39:06,bin2346,35,True +abc,2347,2347,2347,1976-06-05,234.69999999999095,234.70512,2015-01-01 00:39:07,bin2347,75,True +abc,2348,2348,2348,1976-06-06,234.79999999999094,234.80513,2015-01-01 00:39:08,bin2348,35,True +abc,2349,2349,2349,1976-06-07,234.89999999999094,234.90514,2015-01-01 00:39:09,bin2349,75,True +abc,2350,2350,2350,1976-06-08,234.99999999999093,235.00514,2015-01-01 00:39:10,bin2350,35,True +abc,2351,2351,2351,1976-06-09,235.09999999999093,235.10515,2015-01-01 00:39:11,bin2351,75,True +abc,2352,2352,2352,1976-06-10,235.19999999999092,235.20515,2015-01-01 00:39:12,bin2352,35,True +abc,2353,2353,2353,1976-06-11,235.29999999999092,235.30516,2015-01-01 00:39:13,bin2353,75,True +abc,2354,2354,2354,1976-06-12,235.3999999999909,235.40517,2015-01-01 00:39:14,bin2354,35,True +abc,2355,2355,2355,1976-06-13,235.4999999999909,235.50517,2015-01-01 00:39:15,bin2355,75,True +abc,2356,2356,2356,1976-06-14,235.5999999999909,235.60518,2015-01-01 00:39:16,bin2356,35,True +abc,2357,2357,2357,1976-06-15,235.6999999999909,235.70518,2015-01-01 00:39:17,bin2357,75,True +abc,2358,2358,2358,1976-06-16,235.7999999999909,235.80519,2015-01-01 00:39:18,bin2358,35,True +abc,2359,2359,2359,1976-06-17,235.89999999999088,235.9052,2015-01-01 00:39:19,bin2359,75,True +abc,2360,2360,2360,1976-06-18,235.99999999999088,236.0052,2015-01-01 00:39:20,bin2360,35,True +abc,2361,2361,2361,1976-06-19,236.09999999999087,236.10521,2015-01-01 00:39:21,bin2361,75,True +abc,2362,2362,2362,1976-06-20,236.19999999999087,236.20522,2015-01-01 00:39:22,bin2362,35,True +abc,2363,2363,2363,1976-06-21,236.29999999999086,236.30522,2015-01-01 00:39:23,bin2363,75,True +abc,2364,2364,2364,1976-06-22,236.39999999999085,236.40523,2015-01-01 00:39:24,bin2364,35,True +abc,2365,2365,2365,1976-06-23,236.49999999999085,236.50523,2015-01-01 00:39:25,bin2365,75,True +abc,2366,2366,2366,1976-06-24,236.59999999999084,236.60524,2015-01-01 00:39:26,bin2366,35,True +abc,2367,2367,2367,1976-06-25,236.69999999999084,236.70525,2015-01-01 00:39:27,bin2367,75,True +abc,2368,2368,2368,1976-06-26,236.79999999999083,236.80525,2015-01-01 00:39:28,bin2368,35,True +abc,2369,2369,2369,1976-06-27,236.89999999999083,236.90526,2015-01-01 00:39:29,bin2369,75,True +abc,2370,2370,2370,1976-06-28,236.99999999999082,237.00526,2015-01-01 00:39:30,bin2370,35,True +abc,2371,2371,2371,1976-06-29,237.0999999999908,237.10527,2015-01-01 00:39:31,bin2371,75,True +abc,2372,2372,2372,1976-06-30,237.1999999999908,237.20528,2015-01-01 00:39:32,bin2372,35,True +abc,2373,2373,2373,1976-07-01,237.2999999999908,237.30528,2015-01-01 00:39:33,bin2373,75,True +abc,2374,2374,2374,1976-07-02,237.3999999999908,237.40529,2015-01-01 00:39:34,bin2374,35,True +abc,2375,2375,2375,1976-07-03,237.4999999999908,237.5053,2015-01-01 00:39:35,bin2375,75,True +abc,2376,2376,2376,1976-07-04,237.59999999999079,237.6053,2015-01-01 00:39:36,bin2376,35,True +abc,2377,2377,2377,1976-07-05,237.69999999999078,237.7053,2015-01-01 00:39:37,bin2377,75,True +abc,2378,2378,2378,1976-07-06,237.79999999999077,237.80531,2015-01-01 00:39:38,bin2378,35,True +abc,2379,2379,2379,1976-07-07,237.89999999999077,237.90532,2015-01-01 00:39:39,bin2379,75,True +abc,2380,2380,2380,1976-07-08,237.99999999999076,238.00533,2015-01-01 00:39:40,bin2380,35,True +abc,2381,2381,2381,1976-07-09,238.09999999999076,238.10533,2015-01-01 00:39:41,bin2381,75,True +abc,2382,2382,2382,1976-07-10,238.19999999999075,238.20534,2015-01-01 00:39:42,bin2382,35,True +abc,2383,2383,2383,1976-07-11,238.29999999999075,238.30534,2015-01-01 00:39:43,bin2383,75,True +abc,2384,2384,2384,1976-07-12,238.39999999999074,238.40535,2015-01-01 00:39:44,bin2384,35,True +abc,2385,2385,2385,1976-07-13,238.49999999999073,238.50536,2015-01-01 00:39:45,bin2385,75,True +abc,2386,2386,2386,1976-07-14,238.59999999999073,238.60536,2015-01-01 00:39:46,bin2386,35,True +abc,2387,2387,2387,1976-07-15,238.69999999999072,238.70537,2015-01-01 00:39:47,bin2387,75,True +abc,2388,2388,2388,1976-07-16,238.79999999999072,238.80537,2015-01-01 00:39:48,bin2388,35,True +abc,2389,2389,2389,1976-07-17,238.8999999999907,238.90538,2015-01-01 00:39:49,bin2389,75,True +abc,2390,2390,2390,1976-07-18,238.9999999999907,239.00539,2015-01-01 00:39:50,bin2390,35,True +abc,2391,2391,2391,1976-07-19,239.0999999999907,239.1054,2015-01-01 00:39:51,bin2391,75,True +abc,2392,2392,2392,1976-07-20,239.1999999999907,239.2054,2015-01-01 00:39:52,bin2392,35,True +abc,2393,2393,2393,1976-07-21,239.2999999999907,239.3054,2015-01-01 00:39:53,bin2393,75,True +abc,2394,2394,2394,1976-07-22,239.39999999999068,239.40541,2015-01-01 00:39:54,bin2394,35,True +abc,2395,2395,2395,1976-07-23,239.49999999999068,239.50542,2015-01-01 00:39:55,bin2395,75,True +abc,2396,2396,2396,1976-07-24,239.59999999999067,239.60542,2015-01-01 00:39:56,bin2396,35,True +abc,2397,2397,2397,1976-07-25,239.69999999999067,239.70543,2015-01-01 00:39:57,bin2397,75,True +abc,2398,2398,2398,1976-07-26,239.79999999999066,239.80544,2015-01-01 00:39:58,bin2398,35,True +abc,2399,2399,2399,1976-07-27,239.89999999999065,239.90544,2015-01-01 00:39:59,bin2399,75,True +abc,2400,2400,2400,1976-07-28,239.99999999999065,240.00545,2015-01-01 00:40:00,bin2400,35,True +abc,2401,2401,2401,1976-07-29,240.09999999999064,240.10545,2015-01-01 00:40:01,bin2401,75,True +abc,2402,2402,2402,1976-07-30,240.19999999999064,240.20546,2015-01-01 00:40:02,bin2402,35,True +abc,2403,2403,2403,1976-07-31,240.29999999999063,240.30547,2015-01-01 00:40:03,bin2403,75,True +abc,2404,2404,2404,1976-08-01,240.39999999999063,240.40547,2015-01-01 00:40:04,bin2404,35,True +abc,2405,2405,2405,1976-08-02,240.49999999999062,240.50548,2015-01-01 00:40:05,bin2405,75,True +abc,2406,2406,2406,1976-08-03,240.59999999999062,240.60548,2015-01-01 00:40:06,bin2406,35,True +abc,2407,2407,2407,1976-08-04,240.6999999999906,240.70549,2015-01-01 00:40:07,bin2407,75,True +abc,2408,2408,2408,1976-08-05,240.7999999999906,240.8055,2015-01-01 00:40:08,bin2408,35,True +abc,2409,2409,2409,1976-08-06,240.8999999999906,240.9055,2015-01-01 00:40:09,bin2409,75,True +abc,2410,2410,2410,1976-08-07,240.9999999999906,241.00551,2015-01-01 00:40:10,bin2410,35,True +abc,2411,2411,2411,1976-08-08,241.0999999999906,241.10551,2015-01-01 00:40:11,bin2411,75,True +abc,2412,2412,2412,1976-08-09,241.19999999999058,241.20552,2015-01-01 00:40:12,bin2412,35,True +abc,2413,2413,2413,1976-08-10,241.29999999999058,241.30553,2015-01-01 00:40:13,bin2413,75,True +abc,2414,2414,2414,1976-08-11,241.39999999999057,241.40553,2015-01-01 00:40:14,bin2414,35,True +abc,2415,2415,2415,1976-08-12,241.49999999999056,241.50554,2015-01-01 00:40:15,bin2415,75,True +abc,2416,2416,2416,1976-08-13,241.59999999999056,241.60555,2015-01-01 00:40:16,bin2416,35,True +abc,2417,2417,2417,1976-08-14,241.69999999999055,241.70555,2015-01-01 00:40:17,bin2417,75,True +abc,2418,2418,2418,1976-08-15,241.79999999999055,241.80556,2015-01-01 00:40:18,bin2418,35,True +abc,2419,2419,2419,1976-08-16,241.89999999999054,241.90556,2015-01-01 00:40:19,bin2419,75,True +abc,2420,2420,2420,1976-08-17,241.99999999999054,242.00557,2015-01-01 00:40:20,bin2420,35,True +abc,2421,2421,2421,1976-08-18,242.09999999999053,242.10558,2015-01-01 00:40:21,bin2421,75,True +abc,2422,2422,2422,1976-08-19,242.19999999999052,242.20558,2015-01-01 00:40:22,bin2422,35,True +abc,2423,2423,2423,1976-08-20,242.29999999999052,242.30559,2015-01-01 00:40:23,bin2423,75,True +abc,2424,2424,2424,1976-08-21,242.3999999999905,242.4056,2015-01-01 00:40:24,bin2424,35,True +abc,2425,2425,2425,1976-08-22,242.4999999999905,242.5056,2015-01-01 00:40:25,bin2425,75,True +abc,2426,2426,2426,1976-08-23,242.5999999999905,242.6056,2015-01-01 00:40:26,bin2426,35,True +abc,2427,2427,2427,1976-08-24,242.6999999999905,242.70561,2015-01-01 00:40:27,bin2427,75,True +abc,2428,2428,2428,1976-08-25,242.7999999999905,242.80562,2015-01-01 00:40:28,bin2428,35,True +abc,2429,2429,2429,1976-08-26,242.89999999999048,242.90562,2015-01-01 00:40:29,bin2429,75,True +abc,2430,2430,2430,1976-08-27,242.99999999999048,243.00563,2015-01-01 00:40:30,bin2430,35,True +abc,2431,2431,2431,1976-08-28,243.09999999999047,243.10564,2015-01-01 00:40:31,bin2431,75,True +abc,2432,2432,2432,1976-08-29,243.19999999999047,243.20564,2015-01-01 00:40:32,bin2432,35,True +abc,2433,2433,2433,1976-08-30,243.29999999999046,243.30565,2015-01-01 00:40:33,bin2433,75,True +abc,2434,2434,2434,1976-08-31,243.39999999999046,243.40565,2015-01-01 00:40:34,bin2434,35,True +abc,2435,2435,2435,1976-09-01,243.49999999999045,243.50566,2015-01-01 00:40:35,bin2435,75,True +abc,2436,2436,2436,1976-09-02,243.59999999999044,243.60567,2015-01-01 00:40:36,bin2436,35,True +abc,2437,2437,2437,1976-09-03,243.69999999999044,243.70567,2015-01-01 00:40:37,bin2437,75,True +abc,2438,2438,2438,1976-09-04,243.79999999999043,243.80568,2015-01-01 00:40:38,bin2438,35,True +abc,2439,2439,2439,1976-09-05,243.89999999999043,243.90569,2015-01-01 00:40:39,bin2439,75,True +abc,2440,2440,2440,1976-09-06,243.99999999999042,244.00569,2015-01-01 00:40:40,bin2440,35,True +abc,2441,2441,2441,1976-09-07,244.09999999999042,244.1057,2015-01-01 00:40:41,bin2441,75,True +abc,2442,2442,2442,1976-09-08,244.1999999999904,244.2057,2015-01-01 00:40:42,bin2442,35,True +abc,2443,2443,2443,1976-09-09,244.2999999999904,244.30571,2015-01-01 00:40:43,bin2443,75,True +abc,2444,2444,2444,1976-09-10,244.3999999999904,244.40572,2015-01-01 00:40:44,bin2444,35,True +abc,2445,2445,2445,1976-09-11,244.4999999999904,244.50572,2015-01-01 00:40:45,bin2445,75,True +abc,2446,2446,2446,1976-09-12,244.5999999999904,244.60573,2015-01-01 00:40:46,bin2446,35,True +abc,2447,2447,2447,1976-09-13,244.69999999999038,244.70573,2015-01-01 00:40:47,bin2447,75,True +abc,2448,2448,2448,1976-09-14,244.79999999999038,244.80574,2015-01-01 00:40:48,bin2448,35,True +abc,2449,2449,2449,1976-09-15,244.89999999999037,244.90575,2015-01-01 00:40:49,bin2449,75,True +abc,2450,2450,2450,1976-09-16,244.99999999999037,245.00575,2015-01-01 00:40:50,bin2450,35,True +abc,2451,2451,2451,1976-09-17,245.09999999999036,245.10576,2015-01-01 00:40:51,bin2451,75,True +abc,2452,2452,2452,1976-09-18,245.19999999999035,245.20576,2015-01-01 00:40:52,bin2452,35,True +abc,2453,2453,2453,1976-09-19,245.29999999999035,245.30577,2015-01-01 00:40:53,bin2453,75,True +abc,2454,2454,2454,1976-09-20,245.39999999999034,245.40578,2015-01-01 00:40:54,bin2454,35,True +abc,2455,2455,2455,1976-09-21,245.49999999999034,245.50578,2015-01-01 00:40:55,bin2455,75,True +abc,2456,2456,2456,1976-09-22,245.59999999999033,245.60579,2015-01-01 00:40:56,bin2456,35,True +abc,2457,2457,2457,1976-09-23,245.69999999999033,245.7058,2015-01-01 00:40:57,bin2457,75,True +abc,2458,2458,2458,1976-09-24,245.79999999999032,245.8058,2015-01-01 00:40:58,bin2458,35,True +abc,2459,2459,2459,1976-09-25,245.8999999999903,245.9058,2015-01-01 00:40:59,bin2459,75,True +abc,2460,2460,2460,1976-09-26,245.9999999999903,246.00581,2015-01-01 00:41:00,bin2460,35,True +abc,2461,2461,2461,1976-09-27,246.0999999999903,246.10582,2015-01-01 00:41:01,bin2461,75,True +abc,2462,2462,2462,1976-09-28,246.1999999999903,246.20583,2015-01-01 00:41:02,bin2462,35,True +abc,2463,2463,2463,1976-09-29,246.2999999999903,246.30583,2015-01-01 00:41:03,bin2463,75,True +abc,2464,2464,2464,1976-09-30,246.39999999999029,246.40584,2015-01-01 00:41:04,bin2464,35,True +abc,2465,2465,2465,1976-10-01,246.49999999999028,246.50584,2015-01-01 00:41:05,bin2465,75,True +abc,2466,2466,2466,1976-10-02,246.59999999999027,246.60585,2015-01-01 00:41:06,bin2466,35,True +abc,2467,2467,2467,1976-10-03,246.69999999999027,246.70586,2015-01-01 00:41:07,bin2467,75,True +abc,2468,2468,2468,1976-10-04,246.79999999999026,246.80586,2015-01-01 00:41:08,bin2468,35,True +abc,2469,2469,2469,1976-10-05,246.89999999999026,246.90587,2015-01-01 00:41:09,bin2469,75,True +abc,2470,2470,2470,1976-10-06,246.99999999999025,247.00587,2015-01-01 00:41:10,bin2470,35,True +abc,2471,2471,2471,1976-10-07,247.09999999999025,247.10588,2015-01-01 00:41:11,bin2471,75,True +abc,2472,2472,2472,1976-10-08,247.19999999999024,247.20589,2015-01-01 00:41:12,bin2472,35,True +abc,2473,2473,2473,1976-10-09,247.29999999999023,247.3059,2015-01-01 00:41:13,bin2473,75,True +abc,2474,2474,2474,1976-10-10,247.39999999999023,247.4059,2015-01-01 00:41:14,bin2474,35,True +abc,2475,2475,2475,1976-10-11,247.49999999999022,247.5059,2015-01-01 00:41:15,bin2475,75,True +abc,2476,2476,2476,1976-10-12,247.59999999999022,247.60591,2015-01-01 00:41:16,bin2476,35,True +abc,2477,2477,2477,1976-10-13,247.6999999999902,247.70592,2015-01-01 00:41:17,bin2477,75,True +abc,2478,2478,2478,1976-10-14,247.7999999999902,247.80592,2015-01-01 00:41:18,bin2478,35,True +abc,2479,2479,2479,1976-10-15,247.8999999999902,247.90593,2015-01-01 00:41:19,bin2479,75,True +abc,2480,2480,2480,1976-10-16,247.9999999999902,248.00594,2015-01-01 00:41:20,bin2480,35,True +abc,2481,2481,2481,1976-10-17,248.0999999999902,248.10594,2015-01-01 00:41:21,bin2481,75,True +abc,2482,2482,2482,1976-10-18,248.19999999999018,248.20595,2015-01-01 00:41:22,bin2482,35,True +abc,2483,2483,2483,1976-10-19,248.29999999999018,248.30595,2015-01-01 00:41:23,bin2483,75,True +abc,2484,2484,2484,1976-10-20,248.39999999999017,248.40596,2015-01-01 00:41:24,bin2484,35,True +abc,2485,2485,2485,1976-10-21,248.49999999999017,248.50597,2015-01-01 00:41:25,bin2485,75,True +abc,2486,2486,2486,1976-10-22,248.59999999999016,248.60597,2015-01-01 00:41:26,bin2486,35,True +abc,2487,2487,2487,1976-10-23,248.69999999999015,248.70598,2015-01-01 00:41:27,bin2487,75,True +abc,2488,2488,2488,1976-10-24,248.79999999999015,248.80598,2015-01-01 00:41:28,bin2488,35,True +abc,2489,2489,2489,1976-10-25,248.89999999999014,248.90599,2015-01-01 00:41:29,bin2489,75,True +abc,2490,2490,2490,1976-10-26,248.99999999999014,249.006,2015-01-01 00:41:30,bin2490,35,True +abc,2491,2491,2491,1976-10-27,249.09999999999013,249.106,2015-01-01 00:41:31,bin2491,75,True +abc,2492,2492,2492,1976-10-28,249.19999999999013,249.20601,2015-01-01 00:41:32,bin2492,35,True +abc,2493,2493,2493,1976-10-29,249.29999999999012,249.30602,2015-01-01 00:41:33,bin2493,75,True +abc,2494,2494,2494,1976-10-30,249.39999999999011,249.40602,2015-01-01 00:41:34,bin2494,35,True +abc,2495,2495,2495,1976-10-31,249.4999999999901,249.50603,2015-01-01 00:41:35,bin2495,75,True +abc,2496,2496,2496,1976-11-01,249.5999999999901,249.60603,2015-01-01 00:41:36,bin2496,35,True +abc,2497,2497,2497,1976-11-02,249.6999999999901,249.70604,2015-01-01 00:41:37,bin2497,75,True +abc,2498,2498,2498,1976-11-03,249.7999999999901,249.80605,2015-01-01 00:41:38,bin2498,35,True +abc,2499,2499,2499,1976-11-04,249.8999999999901,249.90605,2015-01-01 00:41:39,bin2499,75,True +abc,2500,2500,2500,1976-11-05,249.99999999999008,250.00606,2015-01-01 00:41:40,bin2500,35,True +abc,2501,2501,2501,1976-11-06,250.09999999999008,250.10606,2015-01-01 00:41:41,bin2501,75,True +abc,2502,2502,2502,1976-11-07,250.19999999999007,250.20607,2015-01-01 00:41:42,bin2502,35,True +abc,2503,2503,2503,1976-11-08,250.29999999999006,250.30608,2015-01-01 00:41:43,bin2503,75,True +abc,2504,2504,2504,1976-11-09,250.39999999999006,250.40608,2015-01-01 00:41:44,bin2504,35,True +abc,2505,2505,2505,1976-11-10,250.49999999999005,250.50609,2015-01-01 00:41:45,bin2505,75,True +abc,2506,2506,2506,1976-11-11,250.59999999999005,250.6061,2015-01-01 00:41:46,bin2506,35,True +abc,2507,2507,2507,1976-11-12,250.69999999999004,250.7061,2015-01-01 00:41:47,bin2507,75,True +abc,2508,2508,2508,1976-11-13,250.79999999999004,250.8061,2015-01-01 00:41:48,bin2508,35,True +abc,2509,2509,2509,1976-11-14,250.89999999999003,250.90611,2015-01-01 00:41:49,bin2509,75,True +abc,2510,2510,2510,1976-11-15,250.99999999999002,251.00612,2015-01-01 00:41:50,bin2510,35,True +abc,2511,2511,2511,1976-11-16,251.09999999999002,251.10612,2015-01-01 00:41:51,bin2511,75,True +abc,2512,2512,2512,1976-11-17,251.19999999999,251.20613,2015-01-01 00:41:52,bin2512,35,True +abc,2513,2513,2513,1976-11-18,251.29999999999,251.30614,2015-01-01 00:41:53,bin2513,75,True +abc,2514,2514,2514,1976-11-19,251.39999999999,251.40614,2015-01-01 00:41:54,bin2514,35,True +abc,2515,2515,2515,1976-11-20,251.49999999999,251.50615,2015-01-01 00:41:55,bin2515,75,True +abc,2516,2516,2516,1976-11-21,251.59999999999,251.60616,2015-01-01 00:41:56,bin2516,35,True +abc,2517,2517,2517,1976-11-22,251.69999999998998,251.70616,2015-01-01 00:41:57,bin2517,75,True +abc,2518,2518,2518,1976-11-23,251.79999999998998,251.80617,2015-01-01 00:41:58,bin2518,35,True +abc,2519,2519,2519,1976-11-24,251.89999999998997,251.90617,2015-01-01 00:41:59,bin2519,75,True +abc,2520,2520,2520,1976-11-25,251.99999999998997,252.00618,2015-01-01 00:42:00,bin2520,35,True +abc,2521,2521,2521,1976-11-26,252.09999999998996,252.10619,2015-01-01 00:42:01,bin2521,75,True +abc,2522,2522,2522,1976-11-27,252.19999999998996,252.20619,2015-01-01 00:42:02,bin2522,35,True +abc,2523,2523,2523,1976-11-28,252.29999999998995,252.3062,2015-01-01 00:42:03,bin2523,75,True +abc,2524,2524,2524,1976-11-29,252.39999999998994,252.4062,2015-01-01 00:42:04,bin2524,35,True +abc,2525,2525,2525,1976-11-30,252.49999999998994,252.50621,2015-01-01 00:42:05,bin2525,75,True +abc,2526,2526,2526,1976-12-01,252.59999999998993,252.60622,2015-01-01 00:42:06,bin2526,35,True +abc,2527,2527,2527,1976-12-02,252.69999999998993,252.70622,2015-01-01 00:42:07,bin2527,75,True +abc,2528,2528,2528,1976-12-03,252.79999999998992,252.80623,2015-01-01 00:42:08,bin2528,35,True +abc,2529,2529,2529,1976-12-04,252.89999999998992,252.90623,2015-01-01 00:42:09,bin2529,75,True +abc,2530,2530,2530,1976-12-05,252.9999999999899,253.00624,2015-01-01 00:42:10,bin2530,35,True +abc,2531,2531,2531,1976-12-06,253.0999999999899,253.10625,2015-01-01 00:42:11,bin2531,75,True +abc,2532,2532,2532,1976-12-07,253.1999999999899,253.20625,2015-01-01 00:42:12,bin2532,35,True +abc,2533,2533,2533,1976-12-08,253.2999999999899,253.30626,2015-01-01 00:42:13,bin2533,75,True +abc,2534,2534,2534,1976-12-09,253.3999999999899,253.40627,2015-01-01 00:42:14,bin2534,35,True +abc,2535,2535,2535,1976-12-10,253.49999999998988,253.50627,2015-01-01 00:42:15,bin2535,75,True +abc,2536,2536,2536,1976-12-11,253.59999999998988,253.60628,2015-01-01 00:42:16,bin2536,35,True +abc,2537,2537,2537,1976-12-12,253.69999999998987,253.70628,2015-01-01 00:42:17,bin2537,75,True +abc,2538,2538,2538,1976-12-13,253.79999999998986,253.80629,2015-01-01 00:42:18,bin2538,35,True +abc,2539,2539,2539,1976-12-14,253.89999999998986,253.9063,2015-01-01 00:42:19,bin2539,75,True +abc,2540,2540,2540,1976-12-15,253.99999999998985,254.0063,2015-01-01 00:42:20,bin2540,35,True +abc,2541,2541,2541,1976-12-16,254.09999999998985,254.10631,2015-01-01 00:42:21,bin2541,75,True +abc,2542,2542,2542,1976-12-17,254.19999999998984,254.20631,2015-01-01 00:42:22,bin2542,35,True +abc,2543,2543,2543,1976-12-18,254.29999999998984,254.30632,2015-01-01 00:42:23,bin2543,75,True +abc,2544,2544,2544,1976-12-19,254.39999999998983,254.40633,2015-01-01 00:42:24,bin2544,35,True +abc,2545,2545,2545,1976-12-20,254.49999999998983,254.50633,2015-01-01 00:42:25,bin2545,75,True +abc,2546,2546,2546,1976-12-21,254.59999999998982,254.60634,2015-01-01 00:42:26,bin2546,35,True +abc,2547,2547,2547,1976-12-22,254.6999999999898,254.70634,2015-01-01 00:42:27,bin2547,75,True +abc,2548,2548,2548,1976-12-23,254.7999999999898,254.80635,2015-01-01 00:42:28,bin2548,35,True +abc,2549,2549,2549,1976-12-24,254.8999999999898,254.90636,2015-01-01 00:42:29,bin2549,75,True +abc,2550,2550,2550,1976-12-25,254.9999999999898,255.00636,2015-01-01 00:42:30,bin2550,35,True +abc,2551,2551,2551,1976-12-26,255.0999999999898,255.10637,2015-01-01 00:42:31,bin2551,75,True +abc,2552,2552,2552,1976-12-27,255.19999999998979,255.20638,2015-01-01 00:42:32,bin2552,35,True +abc,2553,2553,2553,1976-12-28,255.29999999998978,255.30638,2015-01-01 00:42:33,bin2553,75,True +abc,2554,2554,2554,1976-12-29,255.39999999998977,255.40639,2015-01-01 00:42:34,bin2554,35,True +abc,2555,2555,2555,1976-12-30,255.49999999998977,255.5064,2015-01-01 00:42:35,bin2555,75,True +abc,2556,2556,2556,1976-12-31,255.59999999998976,255.6064,2015-01-01 00:42:36,bin2556,35,True +abc,2557,2557,2557,1977-01-01,255.69999999998976,255.7064,2015-01-01 00:42:37,bin2557,75,True +abc,2558,2558,2558,1977-01-02,255.79999999998975,255.80641,2015-01-01 00:42:38,bin2558,35,True +abc,2559,2559,2559,1977-01-03,255.89999999998975,255.90642,2015-01-01 00:42:39,bin2559,75,True +abc,2560,2560,2560,1977-01-04,255.99999999998974,256.0064,2015-01-01 00:42:40,bin2560,35,True +abc,2561,2561,2561,1977-01-05,256.09999999998973,256.1064,2015-01-01 00:42:41,bin2561,75,True +abc,2562,2562,2562,1977-01-06,256.19999999998976,256.20642,2015-01-01 00:42:42,bin2562,35,True +abc,2563,2563,2563,1977-01-07,256.2999999999898,256.30643,2015-01-01 00:42:43,bin2563,75,True +abc,2564,2564,2564,1977-01-08,256.3999999999898,256.40643,2015-01-01 00:42:44,bin2564,35,True +abc,2565,2565,2565,1977-01-09,256.4999999999898,256.50644,2015-01-01 00:42:45,bin2565,75,True +abc,2566,2566,2566,1977-01-10,256.59999999998985,256.60645,2015-01-01 00:42:46,bin2566,35,True +abc,2567,2567,2567,1977-01-11,256.69999999998987,256.70645,2015-01-01 00:42:47,bin2567,75,True +abc,2568,2568,2568,1977-01-12,256.7999999999899,256.80646,2015-01-01 00:42:48,bin2568,35,True +abc,2569,2569,2569,1977-01-13,256.8999999999899,256.90646,2015-01-01 00:42:49,bin2569,75,True +abc,2570,2570,2570,1977-01-14,256.99999999998994,257.00647,2015-01-01 00:42:50,bin2570,35,True +abc,2571,2571,2571,1977-01-15,257.09999999998996,257.10648,2015-01-01 00:42:51,bin2571,75,True +abc,2572,2572,2572,1977-01-16,257.19999999999,257.20648,2015-01-01 00:42:52,bin2572,35,True +abc,2573,2573,2573,1977-01-17,257.29999999999,257.3065,2015-01-01 00:42:53,bin2573,75,True +abc,2574,2574,2574,1977-01-18,257.39999999999003,257.4065,2015-01-01 00:42:54,bin2574,35,True +abc,2575,2575,2575,1977-01-19,257.49999999999005,257.5065,2015-01-01 00:42:55,bin2575,75,True +abc,2576,2576,2576,1977-01-20,257.5999999999901,257.6065,2015-01-01 00:42:56,bin2576,35,True +abc,2577,2577,2577,1977-01-21,257.6999999999901,257.7065,2015-01-01 00:42:57,bin2577,75,True +abc,2578,2578,2578,1977-01-22,257.7999999999901,257.80652,2015-01-01 00:42:58,bin2578,35,True +abc,2579,2579,2579,1977-01-23,257.89999999999014,257.90652,2015-01-01 00:42:59,bin2579,75,True +abc,2580,2580,2580,1977-01-24,257.99999999999017,258.00653,2015-01-01 00:43:00,bin2580,35,True +abc,2581,2581,2581,1977-01-25,258.0999999999902,258.10654,2015-01-01 00:43:01,bin2581,75,True +abc,2582,2582,2582,1977-01-26,258.1999999999902,258.20654,2015-01-01 00:43:02,bin2582,35,True +abc,2583,2583,2583,1977-01-27,258.29999999999023,258.30655,2015-01-01 00:43:03,bin2583,75,True +abc,2584,2584,2584,1977-01-28,258.39999999999026,258.40656,2015-01-01 00:43:04,bin2584,35,True +abc,2585,2585,2585,1977-01-29,258.4999999999903,258.50656,2015-01-01 00:43:05,bin2585,75,True +abc,2586,2586,2586,1977-01-30,258.5999999999903,258.60657,2015-01-01 00:43:06,bin2586,35,True +abc,2587,2587,2587,1977-01-31,258.6999999999903,258.70657,2015-01-01 00:43:07,bin2587,75,True +abc,2588,2588,2588,1977-02-01,258.79999999999035,258.80658,2015-01-01 00:43:08,bin2588,35,True +abc,2589,2589,2589,1977-02-02,258.89999999999037,258.9066,2015-01-01 00:43:09,bin2589,75,True +abc,2590,2590,2590,1977-02-03,258.9999999999904,259.0066,2015-01-01 00:43:10,bin2590,35,True +abc,2591,2591,2591,1977-02-04,259.0999999999904,259.1066,2015-01-01 00:43:11,bin2591,75,True +abc,2592,2592,2592,1977-02-05,259.19999999999044,259.2066,2015-01-01 00:43:12,bin2592,35,True +abc,2593,2593,2593,1977-02-06,259.29999999999046,259.3066,2015-01-01 00:43:13,bin2593,75,True +abc,2594,2594,2594,1977-02-07,259.3999999999905,259.40662,2015-01-01 00:43:14,bin2594,35,True +abc,2595,2595,2595,1977-02-08,259.4999999999905,259.50662,2015-01-01 00:43:15,bin2595,75,True +abc,2596,2596,2596,1977-02-09,259.59999999999053,259.60663,2015-01-01 00:43:16,bin2596,35,True +abc,2597,2597,2597,1977-02-10,259.69999999999055,259.70663,2015-01-01 00:43:17,bin2597,75,True +abc,2598,2598,2598,1977-02-11,259.7999999999906,259.80664,2015-01-01 00:43:18,bin2598,35,True +abc,2599,2599,2599,1977-02-12,259.8999999999906,259.90665,2015-01-01 00:43:19,bin2599,75,True +abc,2600,2600,2600,1977-02-13,259.9999999999906,260.00665,2015-01-01 00:43:20,bin2600,35,True +abc,2601,2601,2601,1977-02-14,260.09999999999064,260.10666,2015-01-01 00:43:21,bin2601,75,True +abc,2602,2602,2602,1977-02-15,260.19999999999067,260.20667,2015-01-01 00:43:22,bin2602,35,True +abc,2603,2603,2603,1977-02-16,260.2999999999907,260.30667,2015-01-01 00:43:23,bin2603,75,True +abc,2604,2604,2604,1977-02-17,260.3999999999907,260.40668,2015-01-01 00:43:24,bin2604,35,True +abc,2605,2605,2605,1977-02-18,260.49999999999073,260.50668,2015-01-01 00:43:25,bin2605,75,True +abc,2606,2606,2606,1977-02-19,260.59999999999076,260.6067,2015-01-01 00:43:26,bin2606,35,True +abc,2607,2607,2607,1977-02-20,260.6999999999908,260.7067,2015-01-01 00:43:27,bin2607,75,True +abc,2608,2608,2608,1977-02-21,260.7999999999908,260.8067,2015-01-01 00:43:28,bin2608,35,True +abc,2609,2609,2609,1977-02-22,260.8999999999908,260.9067,2015-01-01 00:43:29,bin2609,75,True +abc,2610,2610,2610,1977-02-23,260.99999999999085,261.0067,2015-01-01 00:43:30,bin2610,35,True +abc,2611,2611,2611,1977-02-24,261.09999999999087,261.10672,2015-01-01 00:43:31,bin2611,75,True +abc,2612,2612,2612,1977-02-25,261.1999999999909,261.20673,2015-01-01 00:43:32,bin2612,35,True +abc,2613,2613,2613,1977-02-26,261.2999999999909,261.30673,2015-01-01 00:43:33,bin2613,75,True +abc,2614,2614,2614,1977-02-27,261.39999999999094,261.40674,2015-01-01 00:43:34,bin2614,35,True +abc,2615,2615,2615,1977-02-28,261.49999999999096,261.50674,2015-01-01 00:43:35,bin2615,75,True +abc,2616,2616,2616,1977-03-01,261.599999999991,261.60675,2015-01-01 00:43:36,bin2616,35,True +abc,2617,2617,2617,1977-03-02,261.699999999991,261.70676,2015-01-01 00:43:37,bin2617,75,True +abc,2618,2618,2618,1977-03-03,261.79999999999103,261.80676,2015-01-01 00:43:38,bin2618,35,True +abc,2619,2619,2619,1977-03-04,261.89999999999105,261.90677,2015-01-01 00:43:39,bin2619,75,True +abc,2620,2620,2620,1977-03-05,261.9999999999911,262.00677,2015-01-01 00:43:40,bin2620,35,True +abc,2621,2621,2621,1977-03-06,262.0999999999911,262.10678,2015-01-01 00:43:41,bin2621,75,True +abc,2622,2622,2622,1977-03-07,262.1999999999911,262.2068,2015-01-01 00:43:42,bin2622,35,True +abc,2623,2623,2623,1977-03-08,262.29999999999114,262.3068,2015-01-01 00:43:43,bin2623,75,True +abc,2624,2624,2624,1977-03-09,262.39999999999117,262.4068,2015-01-01 00:43:44,bin2624,35,True +abc,2625,2625,2625,1977-03-10,262.4999999999912,262.5068,2015-01-01 00:43:45,bin2625,75,True +abc,2626,2626,2626,1977-03-11,262.5999999999912,262.6068,2015-01-01 00:43:46,bin2626,35,True +abc,2627,2627,2627,1977-03-12,262.69999999999123,262.70682,2015-01-01 00:43:47,bin2627,75,True +abc,2628,2628,2628,1977-03-13,262.79999999999126,262.80682,2015-01-01 00:43:48,bin2628,35,True +abc,2629,2629,2629,1977-03-14,262.8999999999913,262.90683,2015-01-01 00:43:49,bin2629,75,True +abc,2630,2630,2630,1977-03-15,262.9999999999913,263.00684,2015-01-01 00:43:50,bin2630,35,True +abc,2631,2631,2631,1977-03-16,263.0999999999913,263.10684,2015-01-01 00:43:51,bin2631,75,True +abc,2632,2632,2632,1977-03-17,263.19999999999135,263.20685,2015-01-01 00:43:52,bin2632,35,True +abc,2633,2633,2633,1977-03-18,263.29999999999137,263.30685,2015-01-01 00:43:53,bin2633,75,True +abc,2634,2634,2634,1977-03-19,263.3999999999914,263.40686,2015-01-01 00:43:54,bin2634,35,True +abc,2635,2635,2635,1977-03-20,263.4999999999914,263.50687,2015-01-01 00:43:55,bin2635,75,True +abc,2636,2636,2636,1977-03-21,263.59999999999144,263.60687,2015-01-01 00:43:56,bin2636,35,True +abc,2637,2637,2637,1977-03-22,263.69999999999146,263.70688,2015-01-01 00:43:57,bin2637,75,True +abc,2638,2638,2638,1977-03-23,263.7999999999915,263.8069,2015-01-01 00:43:58,bin2638,35,True +abc,2639,2639,2639,1977-03-24,263.8999999999915,263.9069,2015-01-01 00:43:59,bin2639,75,True +abc,2640,2640,2640,1977-03-25,263.99999999999153,264.0069,2015-01-01 00:44:00,bin2640,35,True +abc,2641,2641,2641,1977-03-26,264.09999999999155,264.1069,2015-01-01 00:44:01,bin2641,75,True +abc,2642,2642,2642,1977-03-27,264.1999999999916,264.2069,2015-01-01 00:44:02,bin2642,35,True +abc,2643,2643,2643,1977-03-28,264.2999999999916,264.30692,2015-01-01 00:44:03,bin2643,75,True +abc,2644,2644,2644,1977-03-29,264.3999999999916,264.40692,2015-01-01 00:44:04,bin2644,35,True +abc,2645,2645,2645,1977-03-30,264.49999999999164,264.50693,2015-01-01 00:44:05,bin2645,75,True +abc,2646,2646,2646,1977-03-31,264.59999999999167,264.60693,2015-01-01 00:44:06,bin2646,35,True +abc,2647,2647,2647,1977-04-01,264.6999999999917,264.70694,2015-01-01 00:44:07,bin2647,75,True +abc,2648,2648,2648,1977-04-02,264.7999999999917,264.80695,2015-01-01 00:44:08,bin2648,35,True +abc,2649,2649,2649,1977-04-03,264.89999999999173,264.90695,2015-01-01 00:44:09,bin2649,75,True +abc,2650,2650,2650,1977-04-04,264.99999999999176,265.00696,2015-01-01 00:44:10,bin2650,35,True +abc,2651,2651,2651,1977-04-05,265.0999999999918,265.10696,2015-01-01 00:44:11,bin2651,75,True +abc,2652,2652,2652,1977-04-06,265.1999999999918,265.20697,2015-01-01 00:44:12,bin2652,35,True +abc,2653,2653,2653,1977-04-07,265.2999999999918,265.30698,2015-01-01 00:44:13,bin2653,75,True +abc,2654,2654,2654,1977-04-08,265.39999999999185,265.40698,2015-01-01 00:44:14,bin2654,35,True +abc,2655,2655,2655,1977-04-09,265.49999999999187,265.507,2015-01-01 00:44:15,bin2655,75,True +abc,2656,2656,2656,1977-04-10,265.5999999999919,265.607,2015-01-01 00:44:16,bin2656,35,True +abc,2657,2657,2657,1977-04-11,265.6999999999919,265.707,2015-01-01 00:44:17,bin2657,75,True +abc,2658,2658,2658,1977-04-12,265.79999999999194,265.807,2015-01-01 00:44:18,bin2658,35,True +abc,2659,2659,2659,1977-04-13,265.89999999999196,265.907,2015-01-01 00:44:19,bin2659,75,True +abc,2660,2660,2660,1977-04-14,265.999999999992,266.00702,2015-01-01 00:44:20,bin2660,35,True +abc,2661,2661,2661,1977-04-15,266.099999999992,266.10703,2015-01-01 00:44:21,bin2661,75,True +abc,2662,2662,2662,1977-04-16,266.19999999999203,266.20703,2015-01-01 00:44:22,bin2662,35,True +abc,2663,2663,2663,1977-04-17,266.29999999999205,266.30704,2015-01-01 00:44:23,bin2663,75,True +abc,2664,2664,2664,1977-04-18,266.3999999999921,266.40704,2015-01-01 00:44:24,bin2664,35,True +abc,2665,2665,2665,1977-04-19,266.4999999999921,266.50705,2015-01-01 00:44:25,bin2665,75,True +abc,2666,2666,2666,1977-04-20,266.5999999999921,266.60706,2015-01-01 00:44:26,bin2666,35,True +abc,2667,2667,2667,1977-04-21,266.69999999999214,266.70706,2015-01-01 00:44:27,bin2667,75,True +abc,2668,2668,2668,1977-04-22,266.79999999999217,266.80707,2015-01-01 00:44:28,bin2668,35,True +abc,2669,2669,2669,1977-04-23,266.8999999999922,266.90707,2015-01-01 00:44:29,bin2669,75,True +abc,2670,2670,2670,1977-04-24,266.9999999999922,267.00708,2015-01-01 00:44:30,bin2670,35,True +abc,2671,2671,2671,1977-04-25,267.09999999999224,267.1071,2015-01-01 00:44:31,bin2671,75,True +abc,2672,2672,2672,1977-04-26,267.19999999999226,267.2071,2015-01-01 00:44:32,bin2672,35,True +abc,2673,2673,2673,1977-04-27,267.2999999999923,267.3071,2015-01-01 00:44:33,bin2673,75,True +abc,2674,2674,2674,1977-04-28,267.3999999999923,267.4071,2015-01-01 00:44:34,bin2674,35,True +abc,2675,2675,2675,1977-04-29,267.4999999999923,267.5071,2015-01-01 00:44:35,bin2675,75,True +abc,2676,2676,2676,1977-04-30,267.59999999999235,267.60712,2015-01-01 00:44:36,bin2676,35,True +abc,2677,2677,2677,1977-05-01,267.6999999999924,267.70712,2015-01-01 00:44:37,bin2677,75,True +abc,2678,2678,2678,1977-05-02,267.7999999999924,267.80713,2015-01-01 00:44:38,bin2678,35,True +abc,2679,2679,2679,1977-05-03,267.8999999999924,267.90714,2015-01-01 00:44:39,bin2679,75,True +abc,2680,2680,2680,1977-05-04,267.99999999999244,268.00714,2015-01-01 00:44:40,bin2680,35,True +abc,2681,2681,2681,1977-05-05,268.09999999999246,268.10715,2015-01-01 00:44:41,bin2681,75,True +abc,2682,2682,2682,1977-05-06,268.1999999999925,268.20715,2015-01-01 00:44:42,bin2682,35,True +abc,2683,2683,2683,1977-05-07,268.2999999999925,268.30716,2015-01-01 00:44:43,bin2683,75,True +abc,2684,2684,2684,1977-05-08,268.39999999999253,268.40717,2015-01-01 00:44:44,bin2684,35,True +abc,2685,2685,2685,1977-05-09,268.49999999999255,268.50717,2015-01-01 00:44:45,bin2685,75,True +abc,2686,2686,2686,1977-05-10,268.5999999999926,268.60718,2015-01-01 00:44:46,bin2686,35,True +abc,2687,2687,2687,1977-05-11,268.6999999999926,268.70718,2015-01-01 00:44:47,bin2687,75,True +abc,2688,2688,2688,1977-05-12,268.7999999999926,268.8072,2015-01-01 00:44:48,bin2688,35,True +abc,2689,2689,2689,1977-05-13,268.89999999999264,268.9072,2015-01-01 00:44:49,bin2689,75,True +abc,2690,2690,2690,1977-05-14,268.99999999999267,269.0072,2015-01-01 00:44:50,bin2690,35,True +abc,2691,2691,2691,1977-05-15,269.0999999999927,269.1072,2015-01-01 00:44:51,bin2691,75,True +abc,2692,2692,2692,1977-05-16,269.1999999999927,269.2072,2015-01-01 00:44:52,bin2692,35,True +abc,2693,2693,2693,1977-05-17,269.29999999999274,269.30722,2015-01-01 00:44:53,bin2693,75,True +abc,2694,2694,2694,1977-05-18,269.39999999999276,269.40723,2015-01-01 00:44:54,bin2694,35,True +abc,2695,2695,2695,1977-05-19,269.4999999999928,269.50723,2015-01-01 00:44:55,bin2695,75,True +abc,2696,2696,2696,1977-05-20,269.5999999999928,269.60724,2015-01-01 00:44:56,bin2696,35,True +abc,2697,2697,2697,1977-05-21,269.6999999999928,269.70724,2015-01-01 00:44:57,bin2697,75,True +abc,2698,2698,2698,1977-05-22,269.79999999999285,269.80725,2015-01-01 00:44:58,bin2698,35,True +abc,2699,2699,2699,1977-05-23,269.8999999999929,269.90726,2015-01-01 00:44:59,bin2699,75,True +abc,2700,2700,2700,1977-05-24,269.9999999999929,270.00726,2015-01-01 00:45:00,bin2700,35,True +abc,2701,2701,2701,1977-05-25,270.0999999999929,270.10727,2015-01-01 00:45:01,bin2701,75,True +abc,2702,2702,2702,1977-05-26,270.19999999999294,270.20728,2015-01-01 00:45:02,bin2702,35,True +abc,2703,2703,2703,1977-05-27,270.29999999999296,270.30728,2015-01-01 00:45:03,bin2703,75,True +abc,2704,2704,2704,1977-05-28,270.399999999993,270.4073,2015-01-01 00:45:04,bin2704,35,True +abc,2705,2705,2705,1977-05-29,270.499999999993,270.5073,2015-01-01 00:45:05,bin2705,75,True +abc,2706,2706,2706,1977-05-30,270.59999999999303,270.6073,2015-01-01 00:45:06,bin2706,35,True +abc,2707,2707,2707,1977-05-31,270.69999999999305,270.7073,2015-01-01 00:45:07,bin2707,75,True +abc,2708,2708,2708,1977-06-01,270.7999999999931,270.8073,2015-01-01 00:45:08,bin2708,35,True +abc,2709,2709,2709,1977-06-02,270.8999999999931,270.90732,2015-01-01 00:45:09,bin2709,75,True +abc,2710,2710,2710,1977-06-03,270.9999999999931,271.00732,2015-01-01 00:45:10,bin2710,35,True +abc,2711,2711,2711,1977-06-04,271.09999999999314,271.10733,2015-01-01 00:45:11,bin2711,75,True +abc,2712,2712,2712,1977-06-05,271.19999999999317,271.20734,2015-01-01 00:45:12,bin2712,35,True +abc,2713,2713,2713,1977-06-06,271.2999999999932,271.30734,2015-01-01 00:45:13,bin2713,75,True +abc,2714,2714,2714,1977-06-07,271.3999999999932,271.40735,2015-01-01 00:45:14,bin2714,35,True +abc,2715,2715,2715,1977-06-08,271.49999999999324,271.50735,2015-01-01 00:45:15,bin2715,75,True +abc,2716,2716,2716,1977-06-09,271.59999999999326,271.60736,2015-01-01 00:45:16,bin2716,35,True +abc,2717,2717,2717,1977-06-10,271.6999999999933,271.70737,2015-01-01 00:45:17,bin2717,75,True +abc,2718,2718,2718,1977-06-11,271.7999999999933,271.80737,2015-01-01 00:45:18,bin2718,35,True +abc,2719,2719,2719,1977-06-12,271.8999999999933,271.90738,2015-01-01 00:45:19,bin2719,75,True +abc,2720,2720,2720,1977-06-13,271.99999999999335,272.0074,2015-01-01 00:45:20,bin2720,35,True +abc,2721,2721,2721,1977-06-14,272.0999999999934,272.1074,2015-01-01 00:45:21,bin2721,75,True +abc,2722,2722,2722,1977-06-15,272.1999999999934,272.2074,2015-01-01 00:45:22,bin2722,35,True +abc,2723,2723,2723,1977-06-16,272.2999999999934,272.3074,2015-01-01 00:45:23,bin2723,75,True +abc,2724,2724,2724,1977-06-17,272.39999999999344,272.4074,2015-01-01 00:45:24,bin2724,35,True +abc,2725,2725,2725,1977-06-18,272.49999999999346,272.50742,2015-01-01 00:45:25,bin2725,75,True +abc,2726,2726,2726,1977-06-19,272.5999999999935,272.60742,2015-01-01 00:45:26,bin2726,35,True +abc,2727,2727,2727,1977-06-20,272.6999999999935,272.70743,2015-01-01 00:45:27,bin2727,75,True +abc,2728,2728,2728,1977-06-21,272.79999999999353,272.80743,2015-01-01 00:45:28,bin2728,35,True +abc,2729,2729,2729,1977-06-22,272.89999999999355,272.90744,2015-01-01 00:45:29,bin2729,75,True +abc,2730,2730,2730,1977-06-23,272.9999999999936,273.00745,2015-01-01 00:45:30,bin2730,35,True +abc,2731,2731,2731,1977-06-24,273.0999999999936,273.10745,2015-01-01 00:45:31,bin2731,75,True +abc,2732,2732,2732,1977-06-25,273.1999999999936,273.20746,2015-01-01 00:45:32,bin2732,35,True +abc,2733,2733,2733,1977-06-26,273.29999999999364,273.30746,2015-01-01 00:45:33,bin2733,75,True +abc,2734,2734,2734,1977-06-27,273.39999999999367,273.40747,2015-01-01 00:45:34,bin2734,35,True +abc,2735,2735,2735,1977-06-28,273.4999999999937,273.50748,2015-01-01 00:45:35,bin2735,75,True +abc,2736,2736,2736,1977-06-29,273.5999999999937,273.60748,2015-01-01 00:45:36,bin2736,35,True +abc,2737,2737,2737,1977-06-30,273.69999999999374,273.7075,2015-01-01 00:45:37,bin2737,75,True +abc,2738,2738,2738,1977-07-01,273.79999999999376,273.8075,2015-01-01 00:45:38,bin2738,35,True +abc,2739,2739,2739,1977-07-02,273.8999999999938,273.9075,2015-01-01 00:45:39,bin2739,75,True +abc,2740,2740,2740,1977-07-03,273.9999999999938,274.0075,2015-01-01 00:45:40,bin2740,35,True +abc,2741,2741,2741,1977-07-04,274.0999999999938,274.1075,2015-01-01 00:45:41,bin2741,75,True +abc,2742,2742,2742,1977-07-05,274.19999999999385,274.20752,2015-01-01 00:45:42,bin2742,35,True +abc,2743,2743,2743,1977-07-06,274.2999999999939,274.30753,2015-01-01 00:45:43,bin2743,75,True +abc,2744,2744,2744,1977-07-07,274.3999999999939,274.40753,2015-01-01 00:45:44,bin2744,35,True +abc,2745,2745,2745,1977-07-08,274.4999999999939,274.50754,2015-01-01 00:45:45,bin2745,75,True +abc,2746,2746,2746,1977-07-09,274.59999999999394,274.60754,2015-01-01 00:45:46,bin2746,35,True +abc,2747,2747,2747,1977-07-10,274.69999999999396,274.70755,2015-01-01 00:45:47,bin2747,75,True +abc,2748,2748,2748,1977-07-11,274.799999999994,274.80756,2015-01-01 00:45:48,bin2748,35,True +abc,2749,2749,2749,1977-07-12,274.899999999994,274.90756,2015-01-01 00:45:49,bin2749,75,True +abc,2750,2750,2750,1977-07-13,274.99999999999403,275.00757,2015-01-01 00:45:50,bin2750,35,True +abc,2751,2751,2751,1977-07-14,275.09999999999405,275.10757,2015-01-01 00:45:51,bin2751,75,True +abc,2752,2752,2752,1977-07-15,275.1999999999941,275.20758,2015-01-01 00:45:52,bin2752,35,True +abc,2753,2753,2753,1977-07-16,275.2999999999941,275.3076,2015-01-01 00:45:53,bin2753,75,True +abc,2754,2754,2754,1977-07-17,275.3999999999941,275.4076,2015-01-01 00:45:54,bin2754,35,True +abc,2755,2755,2755,1977-07-18,275.49999999999415,275.5076,2015-01-01 00:45:55,bin2755,75,True +abc,2756,2756,2756,1977-07-19,275.59999999999417,275.6076,2015-01-01 00:45:56,bin2756,35,True +abc,2757,2757,2757,1977-07-20,275.6999999999942,275.7076,2015-01-01 00:45:57,bin2757,75,True +abc,2758,2758,2758,1977-07-21,275.7999999999942,275.80762,2015-01-01 00:45:58,bin2758,35,True +abc,2759,2759,2759,1977-07-22,275.89999999999424,275.90762,2015-01-01 00:45:59,bin2759,75,True +abc,2760,2760,2760,1977-07-23,275.99999999999426,276.00763,2015-01-01 00:46:00,bin2760,35,True +abc,2761,2761,2761,1977-07-24,276.0999999999943,276.10764,2015-01-01 00:46:01,bin2761,75,True +abc,2762,2762,2762,1977-07-25,276.1999999999943,276.20764,2015-01-01 00:46:02,bin2762,35,True +abc,2763,2763,2763,1977-07-26,276.2999999999943,276.30765,2015-01-01 00:46:03,bin2763,75,True +abc,2764,2764,2764,1977-07-27,276.39999999999435,276.40765,2015-01-01 00:46:04,bin2764,35,True +abc,2765,2765,2765,1977-07-28,276.4999999999944,276.50766,2015-01-01 00:46:05,bin2765,75,True +abc,2766,2766,2766,1977-07-29,276.5999999999944,276.60767,2015-01-01 00:46:06,bin2766,35,True +abc,2767,2767,2767,1977-07-30,276.6999999999944,276.70767,2015-01-01 00:46:07,bin2767,75,True +abc,2768,2768,2768,1977-07-31,276.79999999999444,276.80768,2015-01-01 00:46:08,bin2768,35,True +abc,2769,2769,2769,1977-08-01,276.89999999999446,276.90768,2015-01-01 00:46:09,bin2769,75,True +abc,2770,2770,2770,1977-08-02,276.9999999999945,277.0077,2015-01-01 00:46:10,bin2770,35,True +abc,2771,2771,2771,1977-08-03,277.0999999999945,277.1077,2015-01-01 00:46:11,bin2771,75,True +abc,2772,2772,2772,1977-08-04,277.19999999999453,277.2077,2015-01-01 00:46:12,bin2772,35,True +abc,2773,2773,2773,1977-08-05,277.29999999999455,277.3077,2015-01-01 00:46:13,bin2773,75,True +abc,2774,2774,2774,1977-08-06,277.3999999999946,277.4077,2015-01-01 00:46:14,bin2774,35,True +abc,2775,2775,2775,1977-08-07,277.4999999999946,277.50772,2015-01-01 00:46:15,bin2775,75,True +abc,2776,2776,2776,1977-08-08,277.5999999999946,277.60773,2015-01-01 00:46:16,bin2776,35,True +abc,2777,2777,2777,1977-08-09,277.69999999999465,277.70773,2015-01-01 00:46:17,bin2777,75,True +abc,2778,2778,2778,1977-08-10,277.79999999999467,277.80774,2015-01-01 00:46:18,bin2778,35,True +abc,2779,2779,2779,1977-08-11,277.8999999999947,277.90775,2015-01-01 00:46:19,bin2779,75,True +abc,2780,2780,2780,1977-08-12,277.9999999999947,278.00775,2015-01-01 00:46:20,bin2780,35,True +abc,2781,2781,2781,1977-08-13,278.09999999999474,278.10776,2015-01-01 00:46:21,bin2781,75,True +abc,2782,2782,2782,1977-08-14,278.19999999999476,278.20776,2015-01-01 00:46:22,bin2782,35,True +abc,2783,2783,2783,1977-08-15,278.2999999999948,278.30777,2015-01-01 00:46:23,bin2783,75,True +abc,2784,2784,2784,1977-08-16,278.3999999999948,278.40778,2015-01-01 00:46:24,bin2784,35,True +abc,2785,2785,2785,1977-08-17,278.4999999999948,278.50778,2015-01-01 00:46:25,bin2785,75,True +abc,2786,2786,2786,1977-08-18,278.59999999999485,278.6078,2015-01-01 00:46:26,bin2786,35,True +abc,2787,2787,2787,1977-08-19,278.6999999999949,278.7078,2015-01-01 00:46:27,bin2787,75,True +abc,2788,2788,2788,1977-08-20,278.7999999999949,278.8078,2015-01-01 00:46:28,bin2788,35,True +abc,2789,2789,2789,1977-08-21,278.8999999999949,278.9078,2015-01-01 00:46:29,bin2789,75,True +abc,2790,2790,2790,1977-08-22,278.99999999999494,279.0078,2015-01-01 00:46:30,bin2790,35,True +abc,2791,2791,2791,1977-08-23,279.09999999999496,279.10782,2015-01-01 00:46:31,bin2791,75,True +abc,2792,2792,2792,1977-08-24,279.199999999995,279.20782,2015-01-01 00:46:32,bin2792,35,True +abc,2793,2793,2793,1977-08-25,279.299999999995,279.30783,2015-01-01 00:46:33,bin2793,75,True +abc,2794,2794,2794,1977-08-26,279.39999999999503,279.40784,2015-01-01 00:46:34,bin2794,35,True +abc,2795,2795,2795,1977-08-27,279.49999999999505,279.50784,2015-01-01 00:46:35,bin2795,75,True +abc,2796,2796,2796,1977-08-28,279.5999999999951,279.60785,2015-01-01 00:46:36,bin2796,35,True +abc,2797,2797,2797,1977-08-29,279.6999999999951,279.70786,2015-01-01 00:46:37,bin2797,75,True +abc,2798,2798,2798,1977-08-30,279.7999999999951,279.80786,2015-01-01 00:46:38,bin2798,35,True +abc,2799,2799,2799,1977-08-31,279.89999999999515,279.90787,2015-01-01 00:46:39,bin2799,75,True +abc,2800,2800,2800,1977-09-01,279.99999999999517,280.00787,2015-01-01 00:46:40,bin2800,35,True +abc,2801,2801,2801,1977-09-02,280.0999999999952,280.10788,2015-01-01 00:46:41,bin2801,75,True +abc,2802,2802,2802,1977-09-03,280.1999999999952,280.2079,2015-01-01 00:46:42,bin2802,35,True +abc,2803,2803,2803,1977-09-04,280.29999999999524,280.3079,2015-01-01 00:46:43,bin2803,75,True +abc,2804,2804,2804,1977-09-05,280.39999999999526,280.4079,2015-01-01 00:46:44,bin2804,35,True +abc,2805,2805,2805,1977-09-06,280.4999999999953,280.5079,2015-01-01 00:46:45,bin2805,75,True +abc,2806,2806,2806,1977-09-07,280.5999999999953,280.6079,2015-01-01 00:46:46,bin2806,35,True +abc,2807,2807,2807,1977-09-08,280.6999999999953,280.70792,2015-01-01 00:46:47,bin2807,75,True +abc,2808,2808,2808,1977-09-09,280.79999999999535,280.80792,2015-01-01 00:46:48,bin2808,35,True +abc,2809,2809,2809,1977-09-10,280.8999999999954,280.90793,2015-01-01 00:46:49,bin2809,75,True +abc,2810,2810,2810,1977-09-11,280.9999999999954,281.00793,2015-01-01 00:46:50,bin2810,35,True +abc,2811,2811,2811,1977-09-12,281.0999999999954,281.10794,2015-01-01 00:46:51,bin2811,75,True +abc,2812,2812,2812,1977-09-13,281.19999999999544,281.20795,2015-01-01 00:46:52,bin2812,35,True +abc,2813,2813,2813,1977-09-14,281.29999999999546,281.30795,2015-01-01 00:46:53,bin2813,75,True +abc,2814,2814,2814,1977-09-15,281.3999999999955,281.40796,2015-01-01 00:46:54,bin2814,35,True +abc,2815,2815,2815,1977-09-16,281.4999999999955,281.50797,2015-01-01 00:46:55,bin2815,75,True +abc,2816,2816,2816,1977-09-17,281.59999999999553,281.60797,2015-01-01 00:46:56,bin2816,35,True +abc,2817,2817,2817,1977-09-18,281.69999999999555,281.70798,2015-01-01 00:46:57,bin2817,75,True +abc,2818,2818,2818,1977-09-19,281.7999999999956,281.80798,2015-01-01 00:46:58,bin2818,35,True +abc,2819,2819,2819,1977-09-20,281.8999999999956,281.908,2015-01-01 00:46:59,bin2819,75,True +abc,2820,2820,2820,1977-09-21,281.9999999999956,282.008,2015-01-01 00:47:00,bin2820,35,True +abc,2821,2821,2821,1977-09-22,282.09999999999565,282.108,2015-01-01 00:47:01,bin2821,75,True +abc,2822,2822,2822,1977-09-23,282.19999999999567,282.208,2015-01-01 00:47:02,bin2822,35,True +abc,2823,2823,2823,1977-09-24,282.2999999999957,282.308,2015-01-01 00:47:03,bin2823,75,True +abc,2824,2824,2824,1977-09-25,282.3999999999957,282.40802,2015-01-01 00:47:04,bin2824,35,True +abc,2825,2825,2825,1977-09-26,282.49999999999574,282.50803,2015-01-01 00:47:05,bin2825,75,True +abc,2826,2826,2826,1977-09-27,282.59999999999576,282.60803,2015-01-01 00:47:06,bin2826,35,True +abc,2827,2827,2827,1977-09-28,282.6999999999958,282.70804,2015-01-01 00:47:07,bin2827,75,True +abc,2828,2828,2828,1977-09-29,282.7999999999958,282.80804,2015-01-01 00:47:08,bin2828,35,True +abc,2829,2829,2829,1977-09-30,282.8999999999958,282.90805,2015-01-01 00:47:09,bin2829,75,True +abc,2830,2830,2830,1977-10-01,282.99999999999585,283.00806,2015-01-01 00:47:10,bin2830,35,True +abc,2831,2831,2831,1977-10-02,283.0999999999959,283.10806,2015-01-01 00:47:11,bin2831,75,True +abc,2832,2832,2832,1977-10-03,283.1999999999959,283.20807,2015-01-01 00:47:12,bin2832,35,True +abc,2833,2833,2833,1977-10-04,283.2999999999959,283.30807,2015-01-01 00:47:13,bin2833,75,True +abc,2834,2834,2834,1977-10-05,283.39999999999594,283.40808,2015-01-01 00:47:14,bin2834,35,True +abc,2835,2835,2835,1977-10-06,283.49999999999596,283.5081,2015-01-01 00:47:15,bin2835,75,True +abc,2836,2836,2836,1977-10-07,283.599999999996,283.6081,2015-01-01 00:47:16,bin2836,35,True +abc,2837,2837,2837,1977-10-08,283.699999999996,283.7081,2015-01-01 00:47:17,bin2837,75,True +abc,2838,2838,2838,1977-10-09,283.79999999999603,283.8081,2015-01-01 00:47:18,bin2838,35,True +abc,2839,2839,2839,1977-10-10,283.89999999999606,283.9081,2015-01-01 00:47:19,bin2839,75,True +abc,2840,2840,2840,1977-10-11,283.9999999999961,284.00812,2015-01-01 00:47:20,bin2840,35,True +abc,2841,2841,2841,1977-10-12,284.0999999999961,284.10812,2015-01-01 00:47:21,bin2841,75,True +abc,2842,2842,2842,1977-10-13,284.1999999999961,284.20813,2015-01-01 00:47:22,bin2842,35,True +abc,2843,2843,2843,1977-10-14,284.29999999999615,284.30814,2015-01-01 00:47:23,bin2843,75,True +abc,2844,2844,2844,1977-10-15,284.39999999999617,284.40814,2015-01-01 00:47:24,bin2844,35,True +abc,2845,2845,2845,1977-10-16,284.4999999999962,284.50815,2015-01-01 00:47:25,bin2845,75,True +abc,2846,2846,2846,1977-10-17,284.5999999999962,284.60815,2015-01-01 00:47:26,bin2846,35,True +abc,2847,2847,2847,1977-10-18,284.69999999999624,284.70816,2015-01-01 00:47:27,bin2847,75,True +abc,2848,2848,2848,1977-10-19,284.79999999999626,284.80817,2015-01-01 00:47:28,bin2848,35,True +abc,2849,2849,2849,1977-10-20,284.8999999999963,284.90817,2015-01-01 00:47:29,bin2849,75,True +abc,2850,2850,2850,1977-10-21,284.9999999999963,285.00818,2015-01-01 00:47:30,bin2850,35,True +abc,2851,2851,2851,1977-10-22,285.0999999999963,285.1082,2015-01-01 00:47:31,bin2851,75,True +abc,2852,2852,2852,1977-10-23,285.19999999999635,285.2082,2015-01-01 00:47:32,bin2852,35,True +abc,2853,2853,2853,1977-10-24,285.2999999999964,285.3082,2015-01-01 00:47:33,bin2853,75,True +abc,2854,2854,2854,1977-10-25,285.3999999999964,285.4082,2015-01-01 00:47:34,bin2854,35,True +abc,2855,2855,2855,1977-10-26,285.4999999999964,285.5082,2015-01-01 00:47:35,bin2855,75,True +abc,2856,2856,2856,1977-10-27,285.59999999999644,285.60822,2015-01-01 00:47:36,bin2856,35,True +abc,2857,2857,2857,1977-10-28,285.69999999999646,285.70822,2015-01-01 00:47:37,bin2857,75,True +abc,2858,2858,2858,1977-10-29,285.7999999999965,285.80823,2015-01-01 00:47:38,bin2858,35,True +abc,2859,2859,2859,1977-10-30,285.8999999999965,285.90823,2015-01-01 00:47:39,bin2859,75,True +abc,2860,2860,2860,1977-10-31,285.99999999999653,286.00824,2015-01-01 00:47:40,bin2860,35,True +abc,2861,2861,2861,1977-11-01,286.09999999999656,286.10825,2015-01-01 00:47:41,bin2861,75,True +abc,2862,2862,2862,1977-11-02,286.1999999999966,286.20825,2015-01-01 00:47:42,bin2862,35,True +abc,2863,2863,2863,1977-11-03,286.2999999999966,286.30826,2015-01-01 00:47:43,bin2863,75,True +abc,2864,2864,2864,1977-11-04,286.3999999999966,286.40826,2015-01-01 00:47:44,bin2864,35,True +abc,2865,2865,2865,1977-11-05,286.49999999999665,286.50827,2015-01-01 00:47:45,bin2865,75,True +abc,2866,2866,2866,1977-11-06,286.59999999999667,286.60828,2015-01-01 00:47:46,bin2866,35,True +abc,2867,2867,2867,1977-11-07,286.6999999999967,286.70828,2015-01-01 00:47:47,bin2867,75,True +abc,2868,2868,2868,1977-11-08,286.7999999999967,286.8083,2015-01-01 00:47:48,bin2868,35,True +abc,2869,2869,2869,1977-11-09,286.89999999999674,286.9083,2015-01-01 00:47:49,bin2869,75,True +abc,2870,2870,2870,1977-11-10,286.99999999999676,287.0083,2015-01-01 00:47:50,bin2870,35,True +abc,2871,2871,2871,1977-11-11,287.0999999999968,287.1083,2015-01-01 00:47:51,bin2871,75,True +abc,2872,2872,2872,1977-11-12,287.1999999999968,287.2083,2015-01-01 00:47:52,bin2872,35,True +abc,2873,2873,2873,1977-11-13,287.2999999999968,287.30832,2015-01-01 00:47:53,bin2873,75,True +abc,2874,2874,2874,1977-11-14,287.39999999999685,287.40833,2015-01-01 00:47:54,bin2874,35,True +abc,2875,2875,2875,1977-11-15,287.4999999999969,287.50833,2015-01-01 00:47:55,bin2875,75,True +abc,2876,2876,2876,1977-11-16,287.5999999999969,287.60834,2015-01-01 00:47:56,bin2876,35,True +abc,2877,2877,2877,1977-11-17,287.6999999999969,287.70834,2015-01-01 00:47:57,bin2877,75,True +abc,2878,2878,2878,1977-11-18,287.79999999999694,287.80835,2015-01-01 00:47:58,bin2878,35,True +abc,2879,2879,2879,1977-11-19,287.89999999999696,287.90836,2015-01-01 00:47:59,bin2879,75,True +abc,2880,2880,2880,1977-11-20,287.999999999997,288.00836,2015-01-01 00:48:00,bin2880,35,True +abc,2881,2881,2881,1977-11-21,288.099999999997,288.10837,2015-01-01 00:48:01,bin2881,75,True +abc,2882,2882,2882,1977-11-22,288.19999999999703,288.20837,2015-01-01 00:48:02,bin2882,35,True +abc,2883,2883,2883,1977-11-23,288.29999999999706,288.30838,2015-01-01 00:48:03,bin2883,75,True +abc,2884,2884,2884,1977-11-24,288.3999999999971,288.4084,2015-01-01 00:48:04,bin2884,35,True +abc,2885,2885,2885,1977-11-25,288.4999999999971,288.5084,2015-01-01 00:48:05,bin2885,75,True +abc,2886,2886,2886,1977-11-26,288.5999999999971,288.6084,2015-01-01 00:48:06,bin2886,35,True +abc,2887,2887,2887,1977-11-27,288.69999999999715,288.7084,2015-01-01 00:48:07,bin2887,75,True +abc,2888,2888,2888,1977-11-28,288.79999999999717,288.8084,2015-01-01 00:48:08,bin2888,35,True +abc,2889,2889,2889,1977-11-29,288.8999999999972,288.90842,2015-01-01 00:48:09,bin2889,75,True +abc,2890,2890,2890,1977-11-30,288.9999999999972,289.00842,2015-01-01 00:48:10,bin2890,35,True +abc,2891,2891,2891,1977-12-01,289.09999999999724,289.10843,2015-01-01 00:48:11,bin2891,75,True +abc,2892,2892,2892,1977-12-02,289.19999999999726,289.20844,2015-01-01 00:48:12,bin2892,35,True +abc,2893,2893,2893,1977-12-03,289.2999999999973,289.30844,2015-01-01 00:48:13,bin2893,75,True +abc,2894,2894,2894,1977-12-04,289.3999999999973,289.40845,2015-01-01 00:48:14,bin2894,35,True +abc,2895,2895,2895,1977-12-05,289.4999999999973,289.50845,2015-01-01 00:48:15,bin2895,75,True +abc,2896,2896,2896,1977-12-06,289.59999999999735,289.60846,2015-01-01 00:48:16,bin2896,35,True +abc,2897,2897,2897,1977-12-07,289.6999999999974,289.70847,2015-01-01 00:48:17,bin2897,75,True +abc,2898,2898,2898,1977-12-08,289.7999999999974,289.80847,2015-01-01 00:48:18,bin2898,35,True +abc,2899,2899,2899,1977-12-09,289.8999999999974,289.90848,2015-01-01 00:48:19,bin2899,75,True +abc,2900,2900,2900,1977-12-10,289.99999999999744,290.00848,2015-01-01 00:48:20,bin2900,35,True +abc,2901,2901,2901,1977-12-11,290.09999999999746,290.1085,2015-01-01 00:48:21,bin2901,75,True +abc,2902,2902,2902,1977-12-12,290.1999999999975,290.2085,2015-01-01 00:48:22,bin2902,35,True +abc,2903,2903,2903,1977-12-13,290.2999999999975,290.3085,2015-01-01 00:48:23,bin2903,75,True +abc,2904,2904,2904,1977-12-14,290.39999999999753,290.4085,2015-01-01 00:48:24,bin2904,35,True +abc,2905,2905,2905,1977-12-15,290.49999999999756,290.5085,2015-01-01 00:48:25,bin2905,75,True +abc,2906,2906,2906,1977-12-16,290.5999999999976,290.60852,2015-01-01 00:48:26,bin2906,35,True +abc,2907,2907,2907,1977-12-17,290.6999999999976,290.70853,2015-01-01 00:48:27,bin2907,75,True +abc,2908,2908,2908,1977-12-18,290.7999999999976,290.80853,2015-01-01 00:48:28,bin2908,35,True +abc,2909,2909,2909,1977-12-19,290.89999999999765,290.90854,2015-01-01 00:48:29,bin2909,75,True +abc,2910,2910,2910,1977-12-20,290.99999999999767,291.00854,2015-01-01 00:48:30,bin2910,35,True +abc,2911,2911,2911,1977-12-21,291.0999999999977,291.10855,2015-01-01 00:48:31,bin2911,75,True +abc,2912,2912,2912,1977-12-22,291.1999999999977,291.20856,2015-01-01 00:48:32,bin2912,35,True +abc,2913,2913,2913,1977-12-23,291.29999999999774,291.30856,2015-01-01 00:48:33,bin2913,75,True +abc,2914,2914,2914,1977-12-24,291.39999999999776,291.40857,2015-01-01 00:48:34,bin2914,35,True +abc,2915,2915,2915,1977-12-25,291.4999999999978,291.50858,2015-01-01 00:48:35,bin2915,75,True +abc,2916,2916,2916,1977-12-26,291.5999999999978,291.60858,2015-01-01 00:48:36,bin2916,35,True +abc,2917,2917,2917,1977-12-27,291.69999999999783,291.7086,2015-01-01 00:48:37,bin2917,75,True +abc,2918,2918,2918,1977-12-28,291.79999999999785,291.8086,2015-01-01 00:48:38,bin2918,35,True +abc,2919,2919,2919,1977-12-29,291.8999999999979,291.9086,2015-01-01 00:48:39,bin2919,75,True +abc,2920,2920,2920,1977-12-30,291.9999999999979,292.0086,2015-01-01 00:48:40,bin2920,35,True +abc,2921,2921,2921,1977-12-31,292.0999999999979,292.1086,2015-01-01 00:48:41,bin2921,75,True +abc,2922,2922,2922,1978-01-01,292.19999999999794,292.20862,2015-01-01 00:48:42,bin2922,35,True +abc,2923,2923,2923,1978-01-02,292.29999999999797,292.30862,2015-01-01 00:48:43,bin2923,75,True +abc,2924,2924,2924,1978-01-03,292.399999999998,292.40863,2015-01-01 00:48:44,bin2924,35,True +abc,2925,2925,2925,1978-01-04,292.499999999998,292.50864,2015-01-01 00:48:45,bin2925,75,True +abc,2926,2926,2926,1978-01-05,292.59999999999803,292.60864,2015-01-01 00:48:46,bin2926,35,True +abc,2927,2927,2927,1978-01-06,292.69999999999806,292.70865,2015-01-01 00:48:47,bin2927,75,True +abc,2928,2928,2928,1978-01-07,292.7999999999981,292.80865,2015-01-01 00:48:48,bin2928,35,True +abc,2929,2929,2929,1978-01-08,292.8999999999981,292.90866,2015-01-01 00:48:49,bin2929,75,True +abc,2930,2930,2930,1978-01-09,292.9999999999981,293.00867,2015-01-01 00:48:50,bin2930,35,True +abc,2931,2931,2931,1978-01-10,293.09999999999815,293.10867,2015-01-01 00:48:51,bin2931,75,True +abc,2932,2932,2932,1978-01-11,293.19999999999817,293.20868,2015-01-01 00:48:52,bin2932,35,True +abc,2933,2933,2933,1978-01-12,293.2999999999982,293.3087,2015-01-01 00:48:53,bin2933,75,True +abc,2934,2934,2934,1978-01-13,293.3999999999982,293.4087,2015-01-01 00:48:54,bin2934,35,True +abc,2935,2935,2935,1978-01-14,293.49999999999824,293.5087,2015-01-01 00:48:55,bin2935,75,True +abc,2936,2936,2936,1978-01-15,293.59999999999826,293.6087,2015-01-01 00:48:56,bin2936,35,True +abc,2937,2937,2937,1978-01-16,293.6999999999983,293.7087,2015-01-01 00:48:57,bin2937,75,True +abc,2938,2938,2938,1978-01-17,293.7999999999983,293.80872,2015-01-01 00:48:58,bin2938,35,True +abc,2939,2939,2939,1978-01-18,293.89999999999833,293.90872,2015-01-01 00:48:59,bin2939,75,True +abc,2940,2940,2940,1978-01-19,293.99999999999835,294.00873,2015-01-01 00:49:00,bin2940,35,True +abc,2941,2941,2941,1978-01-20,294.0999999999984,294.10873,2015-01-01 00:49:01,bin2941,75,True +abc,2942,2942,2942,1978-01-21,294.1999999999984,294.20874,2015-01-01 00:49:02,bin2942,35,True +abc,2943,2943,2943,1978-01-22,294.2999999999984,294.30875,2015-01-01 00:49:03,bin2943,75,True +abc,2944,2944,2944,1978-01-23,294.39999999999844,294.40875,2015-01-01 00:49:04,bin2944,35,True +abc,2945,2945,2945,1978-01-24,294.49999999999847,294.50876,2015-01-01 00:49:05,bin2945,75,True +abc,2946,2946,2946,1978-01-25,294.5999999999985,294.60876,2015-01-01 00:49:06,bin2946,35,True +abc,2947,2947,2947,1978-01-26,294.6999999999985,294.70877,2015-01-01 00:49:07,bin2947,75,True +abc,2948,2948,2948,1978-01-27,294.79999999999853,294.80878,2015-01-01 00:49:08,bin2948,35,True +abc,2949,2949,2949,1978-01-28,294.89999999999856,294.90878,2015-01-01 00:49:09,bin2949,75,True +abc,2950,2950,2950,1978-01-29,294.9999999999986,295.0088,2015-01-01 00:49:10,bin2950,35,True +abc,2951,2951,2951,1978-01-30,295.0999999999986,295.1088,2015-01-01 00:49:11,bin2951,75,True +abc,2952,2952,2952,1978-01-31,295.1999999999986,295.2088,2015-01-01 00:49:12,bin2952,35,True +abc,2953,2953,2953,1978-02-01,295.29999999999865,295.3088,2015-01-01 00:49:13,bin2953,75,True +abc,2954,2954,2954,1978-02-02,295.39999999999867,295.4088,2015-01-01 00:49:14,bin2954,35,True +abc,2955,2955,2955,1978-02-03,295.4999999999987,295.50882,2015-01-01 00:49:15,bin2955,75,True +abc,2956,2956,2956,1978-02-04,295.5999999999987,295.60883,2015-01-01 00:49:16,bin2956,35,True +abc,2957,2957,2957,1978-02-05,295.69999999999874,295.70883,2015-01-01 00:49:17,bin2957,75,True +abc,2958,2958,2958,1978-02-06,295.79999999999876,295.80884,2015-01-01 00:49:18,bin2958,35,True +abc,2959,2959,2959,1978-02-07,295.8999999999988,295.90884,2015-01-01 00:49:19,bin2959,75,True +abc,2960,2960,2960,1978-02-08,295.9999999999988,296.00885,2015-01-01 00:49:20,bin2960,35,True +abc,2961,2961,2961,1978-02-09,296.09999999999883,296.10886,2015-01-01 00:49:21,bin2961,75,True +abc,2962,2962,2962,1978-02-10,296.19999999999885,296.20886,2015-01-01 00:49:22,bin2962,35,True +abc,2963,2963,2963,1978-02-11,296.2999999999989,296.30887,2015-01-01 00:49:23,bin2963,75,True +abc,2964,2964,2964,1978-02-12,296.3999999999989,296.40887,2015-01-01 00:49:24,bin2964,35,True +abc,2965,2965,2965,1978-02-13,296.4999999999989,296.50888,2015-01-01 00:49:25,bin2965,75,True +abc,2966,2966,2966,1978-02-14,296.59999999999894,296.6089,2015-01-01 00:49:26,bin2966,35,True +abc,2967,2967,2967,1978-02-15,296.69999999999897,296.7089,2015-01-01 00:49:27,bin2967,75,True +abc,2968,2968,2968,1978-02-16,296.799999999999,296.8089,2015-01-01 00:49:28,bin2968,35,True +abc,2969,2969,2969,1978-02-17,296.899999999999,296.9089,2015-01-01 00:49:29,bin2969,75,True +abc,2970,2970,2970,1978-02-18,296.99999999999903,297.0089,2015-01-01 00:49:30,bin2970,35,True +abc,2971,2971,2971,1978-02-19,297.09999999999906,297.10892,2015-01-01 00:49:31,bin2971,75,True +abc,2972,2972,2972,1978-02-20,297.1999999999991,297.20892,2015-01-01 00:49:32,bin2972,35,True +abc,2973,2973,2973,1978-02-21,297.2999999999991,297.30893,2015-01-01 00:49:33,bin2973,75,True +abc,2974,2974,2974,1978-02-22,297.3999999999991,297.40894,2015-01-01 00:49:34,bin2974,35,True +abc,2975,2975,2975,1978-02-23,297.49999999999915,297.50894,2015-01-01 00:49:35,bin2975,75,True +abc,2976,2976,2976,1978-02-24,297.59999999999917,297.60895,2015-01-01 00:49:36,bin2976,35,True +abc,2977,2977,2977,1978-02-25,297.6999999999992,297.70895,2015-01-01 00:49:37,bin2977,75,True +abc,2978,2978,2978,1978-02-26,297.7999999999992,297.80896,2015-01-01 00:49:38,bin2978,35,True +abc,2979,2979,2979,1978-02-27,297.89999999999924,297.90897,2015-01-01 00:49:39,bin2979,75,True +abc,2980,2980,2980,1978-02-28,297.99999999999926,298.00897,2015-01-01 00:49:40,bin2980,35,True +abc,2981,2981,2981,1978-03-01,298.0999999999993,298.10898,2015-01-01 00:49:41,bin2981,75,True +abc,2982,2982,2982,1978-03-02,298.1999999999993,298.20898,2015-01-01 00:49:42,bin2982,35,True +abc,2983,2983,2983,1978-03-03,298.29999999999933,298.309,2015-01-01 00:49:43,bin2983,75,True +abc,2984,2984,2984,1978-03-04,298.39999999999935,298.409,2015-01-01 00:49:44,bin2984,35,True +abc,2985,2985,2985,1978-03-05,298.4999999999994,298.509,2015-01-01 00:49:45,bin2985,75,True +abc,2986,2986,2986,1978-03-06,298.5999999999994,298.609,2015-01-01 00:49:46,bin2986,35,True +abc,2987,2987,2987,1978-03-07,298.6999999999994,298.709,2015-01-01 00:49:47,bin2987,75,True +abc,2988,2988,2988,1978-03-08,298.79999999999944,298.80902,2015-01-01 00:49:48,bin2988,35,True +abc,2989,2989,2989,1978-03-09,298.89999999999947,298.90903,2015-01-01 00:49:49,bin2989,75,True +abc,2990,2990,2990,1978-03-10,298.9999999999995,299.00903,2015-01-01 00:49:50,bin2990,35,True +abc,2991,2991,2991,1978-03-11,299.0999999999995,299.10904,2015-01-01 00:49:51,bin2991,75,True +abc,2992,2992,2992,1978-03-12,299.19999999999953,299.20905,2015-01-01 00:49:52,bin2992,35,True +abc,2993,2993,2993,1978-03-13,299.29999999999956,299.30905,2015-01-01 00:49:53,bin2993,75,True +abc,2994,2994,2994,1978-03-14,299.3999999999996,299.40906,2015-01-01 00:49:54,bin2994,35,True +abc,2995,2995,2995,1978-03-15,299.4999999999996,299.50906,2015-01-01 00:49:55,bin2995,75,True +abc,2996,2996,2996,1978-03-16,299.5999999999996,299.60907,2015-01-01 00:49:56,bin2996,35,True +abc,2997,2997,2997,1978-03-17,299.69999999999965,299.70908,2015-01-01 00:49:57,bin2997,75,True +abc,2998,2998,2998,1978-03-18,299.79999999999967,299.80908,2015-01-01 00:49:58,bin2998,35,True +abc,2999,2999,2999,1978-03-19,299.8999999999997,299.9091,2015-01-01 00:49:59,bin2999,75,True +abc,3000,3000,3000,1978-03-20,299.9999999999997,300.0091,2015-01-01 00:50:00,bin3000,35,False +abc,3001,3001,3001,1978-03-21,300.09999999999974,300.1091,2015-01-01 00:50:01,bin3001,75,False +abc,3002,3002,3002,1978-03-22,300.19999999999976,300.2091,2015-01-01 00:50:02,bin3002,35,False +abc,3003,3003,3003,1978-03-23,300.2999999999998,300.3091,2015-01-01 00:50:03,bin3003,75,False +abc,3004,3004,3004,1978-03-24,300.3999999999998,300.40912,2015-01-01 00:50:04,bin3004,35,False +abc,3005,3005,3005,1978-03-25,300.49999999999983,300.50912,2015-01-01 00:50:05,bin3005,75,False +abc,3006,3006,3006,1978-03-26,300.59999999999985,300.60913,2015-01-01 00:50:06,bin3006,35,False +abc,3007,3007,3007,1978-03-27,300.6999999999999,300.70914,2015-01-01 00:50:07,bin3007,75,False +abc,3008,3008,3008,1978-03-28,300.7999999999999,300.80914,2015-01-01 00:50:08,bin3008,35,False +abc,3009,3009,3009,1978-03-29,300.8999999999999,300.90915,2015-01-01 00:50:09,bin3009,75,False +abc,3010,3010,3010,1978-03-30,300.99999999999994,301.00916,2015-01-01 00:50:10,bin3010,35,False +abc,3011,3011,3011,1978-03-31,301.09999999999997,301.10916,2015-01-01 00:50:11,bin3011,75,False +abc,3012,3012,3012,1978-04-01,301.2,301.20917,2015-01-01 00:50:12,bin3012,35,False +abc,3013,3013,3013,1978-04-02,301.3,301.30917,2015-01-01 00:50:13,bin3013,75,False +abc,3014,3014,3014,1978-04-03,301.40000000000003,301.40918,2015-01-01 00:50:14,bin3014,35,False +abc,3015,3015,3015,1978-04-04,301.50000000000006,301.5092,2015-01-01 00:50:15,bin3015,75,False +abc,3016,3016,3016,1978-04-05,301.6000000000001,301.6092,2015-01-01 00:50:16,bin3016,35,False +abc,3017,3017,3017,1978-04-06,301.7000000000001,301.7092,2015-01-01 00:50:17,bin3017,75,False +abc,3018,3018,3018,1978-04-07,301.8000000000001,301.8092,2015-01-01 00:50:18,bin3018,35,False +abc,3019,3019,3019,1978-04-08,301.90000000000015,301.9092,2015-01-01 00:50:19,bin3019,75,False +abc,3020,3020,3020,1978-04-09,302.00000000000017,302.00922,2015-01-01 00:50:20,bin3020,35,False +abc,3021,3021,3021,1978-04-10,302.1000000000002,302.10922,2015-01-01 00:50:21,bin3021,75,False +abc,3022,3022,3022,1978-04-11,302.2000000000002,302.20923,2015-01-01 00:50:22,bin3022,35,False +abc,3023,3023,3023,1978-04-12,302.30000000000024,302.30923,2015-01-01 00:50:23,bin3023,75,False +abc,3024,3024,3024,1978-04-13,302.40000000000026,302.40924,2015-01-01 00:50:24,bin3024,35,False +abc,3025,3025,3025,1978-04-14,302.5000000000003,302.50925,2015-01-01 00:50:25,bin3025,75,False +abc,3026,3026,3026,1978-04-15,302.6000000000003,302.60925,2015-01-01 00:50:26,bin3026,35,False +abc,3027,3027,3027,1978-04-16,302.70000000000033,302.70926,2015-01-01 00:50:27,bin3027,75,False +abc,3028,3028,3028,1978-04-17,302.80000000000035,302.80927,2015-01-01 00:50:28,bin3028,35,False +abc,3029,3029,3029,1978-04-18,302.9000000000004,302.90927,2015-01-01 00:50:29,bin3029,75,False +abc,3030,3030,3030,1978-04-19,303.0000000000004,303.00928,2015-01-01 00:50:30,bin3030,35,False +abc,3031,3031,3031,1978-04-20,303.1000000000004,303.10928,2015-01-01 00:50:31,bin3031,75,False +abc,3032,3032,3032,1978-04-21,303.20000000000044,303.2093,2015-01-01 00:50:32,bin3032,35,False +abc,3033,3033,3033,1978-04-22,303.30000000000047,303.3093,2015-01-01 00:50:33,bin3033,75,False +abc,3034,3034,3034,1978-04-23,303.4000000000005,303.4093,2015-01-01 00:50:34,bin3034,35,False +abc,3035,3035,3035,1978-04-24,303.5000000000005,303.5093,2015-01-01 00:50:35,bin3035,75,False +abc,3036,3036,3036,1978-04-25,303.60000000000053,303.6093,2015-01-01 00:50:36,bin3036,35,False +abc,3037,3037,3037,1978-04-26,303.70000000000056,303.70932,2015-01-01 00:50:37,bin3037,75,False +abc,3038,3038,3038,1978-04-27,303.8000000000006,303.80933,2015-01-01 00:50:38,bin3038,35,False +abc,3039,3039,3039,1978-04-28,303.9000000000006,303.90933,2015-01-01 00:50:39,bin3039,75,False +abc,3040,3040,3040,1978-04-29,304.0000000000006,304.00934,2015-01-01 00:50:40,bin3040,35,False +abc,3041,3041,3041,1978-04-30,304.10000000000065,304.10934,2015-01-01 00:50:41,bin3041,75,False +abc,3042,3042,3042,1978-05-01,304.20000000000067,304.20935,2015-01-01 00:50:42,bin3042,35,False +abc,3043,3043,3043,1978-05-02,304.3000000000007,304.30936,2015-01-01 00:50:43,bin3043,75,False +abc,3044,3044,3044,1978-05-03,304.4000000000007,304.40936,2015-01-01 00:50:44,bin3044,35,False +abc,3045,3045,3045,1978-05-04,304.50000000000074,304.50937,2015-01-01 00:50:45,bin3045,75,False +abc,3046,3046,3046,1978-05-05,304.60000000000076,304.60938,2015-01-01 00:50:46,bin3046,35,False +abc,3047,3047,3047,1978-05-06,304.7000000000008,304.70938,2015-01-01 00:50:47,bin3047,75,False +abc,3048,3048,3048,1978-05-07,304.8000000000008,304.8094,2015-01-01 00:50:48,bin3048,35,False +abc,3049,3049,3049,1978-05-08,304.90000000000083,304.9094,2015-01-01 00:50:49,bin3049,75,False +abc,3050,3050,3050,1978-05-09,305.00000000000085,305.0094,2015-01-01 00:50:50,bin3050,35,False +abc,3051,3051,3051,1978-05-10,305.1000000000009,305.1094,2015-01-01 00:50:51,bin3051,75,False +abc,3052,3052,3052,1978-05-11,305.2000000000009,305.2094,2015-01-01 00:50:52,bin3052,35,False +abc,3053,3053,3053,1978-05-12,305.3000000000009,305.30942,2015-01-01 00:50:53,bin3053,75,False +abc,3054,3054,3054,1978-05-13,305.40000000000094,305.40942,2015-01-01 00:50:54,bin3054,35,False +abc,3055,3055,3055,1978-05-14,305.50000000000097,305.50943,2015-01-01 00:50:55,bin3055,75,False +abc,3056,3056,3056,1978-05-15,305.600000000001,305.60944,2015-01-01 00:50:56,bin3056,35,False +abc,3057,3057,3057,1978-05-16,305.700000000001,305.70944,2015-01-01 00:50:57,bin3057,75,False +abc,3058,3058,3058,1978-05-17,305.80000000000103,305.80945,2015-01-01 00:50:58,bin3058,35,False +abc,3059,3059,3059,1978-05-18,305.90000000000106,305.90945,2015-01-01 00:50:59,bin3059,75,False +abc,3060,3060,3060,1978-05-19,306.0000000000011,306.00946,2015-01-01 00:51:00,bin3060,35,False +abc,3061,3061,3061,1978-05-20,306.1000000000011,306.10947,2015-01-01 00:51:01,bin3061,75,False +abc,3062,3062,3062,1978-05-21,306.2000000000011,306.20947,2015-01-01 00:51:02,bin3062,35,False +abc,3063,3063,3063,1978-05-22,306.30000000000115,306.30948,2015-01-01 00:51:03,bin3063,75,False +abc,3064,3064,3064,1978-05-23,306.40000000000117,306.4095,2015-01-01 00:51:04,bin3064,35,False +abc,3065,3065,3065,1978-05-24,306.5000000000012,306.5095,2015-01-01 00:51:05,bin3065,75,False +abc,3066,3066,3066,1978-05-25,306.6000000000012,306.6095,2015-01-01 00:51:06,bin3066,35,False +abc,3067,3067,3067,1978-05-26,306.70000000000124,306.7095,2015-01-01 00:51:07,bin3067,75,False +abc,3068,3068,3068,1978-05-27,306.80000000000126,306.8095,2015-01-01 00:51:08,bin3068,35,False +abc,3069,3069,3069,1978-05-28,306.9000000000013,306.90952,2015-01-01 00:51:09,bin3069,75,False +abc,3070,3070,3070,1978-05-29,307.0000000000013,307.00952,2015-01-01 00:51:10,bin3070,35,False +abc,3071,3071,3071,1978-05-30,307.10000000000133,307.10953,2015-01-01 00:51:11,bin3071,75,False +abc,3072,3072,3072,1978-05-31,307.20000000000135,307.20953,2015-01-01 00:51:12,bin3072,35,False +abc,3073,3073,3073,1978-06-01,307.3000000000014,307.30954,2015-01-01 00:51:13,bin3073,75,False +abc,3074,3074,3074,1978-06-02,307.4000000000014,307.40955,2015-01-01 00:51:14,bin3074,35,False +abc,3075,3075,3075,1978-06-03,307.5000000000014,307.50955,2015-01-01 00:51:15,bin3075,75,False +abc,3076,3076,3076,1978-06-04,307.60000000000144,307.60956,2015-01-01 00:51:16,bin3076,35,False +abc,3077,3077,3077,1978-06-05,307.70000000000147,307.70956,2015-01-01 00:51:17,bin3077,75,False +abc,3078,3078,3078,1978-06-06,307.8000000000015,307.80957,2015-01-01 00:51:18,bin3078,35,False +abc,3079,3079,3079,1978-06-07,307.9000000000015,307.90958,2015-01-01 00:51:19,bin3079,75,False +abc,3080,3080,3080,1978-06-08,308.00000000000153,308.00958,2015-01-01 00:51:20,bin3080,35,False +abc,3081,3081,3081,1978-06-09,308.10000000000156,308.1096,2015-01-01 00:51:21,bin3081,75,False +abc,3082,3082,3082,1978-06-10,308.2000000000016,308.2096,2015-01-01 00:51:22,bin3082,35,False +abc,3083,3083,3083,1978-06-11,308.3000000000016,308.3096,2015-01-01 00:51:23,bin3083,75,False +abc,3084,3084,3084,1978-06-12,308.4000000000016,308.4096,2015-01-01 00:51:24,bin3084,35,False +abc,3085,3085,3085,1978-06-13,308.50000000000165,308.5096,2015-01-01 00:51:25,bin3085,75,False +abc,3086,3086,3086,1978-06-14,308.60000000000167,308.60962,2015-01-01 00:51:26,bin3086,35,False +abc,3087,3087,3087,1978-06-15,308.7000000000017,308.70963,2015-01-01 00:51:27,bin3087,75,False +abc,3088,3088,3088,1978-06-16,308.8000000000017,308.80963,2015-01-01 00:51:28,bin3088,35,False +abc,3089,3089,3089,1978-06-17,308.90000000000174,308.90964,2015-01-01 00:51:29,bin3089,75,False +abc,3090,3090,3090,1978-06-18,309.00000000000176,309.00964,2015-01-01 00:51:30,bin3090,35,False +abc,3091,3091,3091,1978-06-19,309.1000000000018,309.10965,2015-01-01 00:51:31,bin3091,75,False +abc,3092,3092,3092,1978-06-20,309.2000000000018,309.20966,2015-01-01 00:51:32,bin3092,35,False +abc,3093,3093,3093,1978-06-21,309.30000000000183,309.30966,2015-01-01 00:51:33,bin3093,75,False +abc,3094,3094,3094,1978-06-22,309.40000000000185,309.40967,2015-01-01 00:51:34,bin3094,35,False +abc,3095,3095,3095,1978-06-23,309.5000000000019,309.50967,2015-01-01 00:51:35,bin3095,75,False +abc,3096,3096,3096,1978-06-24,309.6000000000019,309.60968,2015-01-01 00:51:36,bin3096,35,False +abc,3097,3097,3097,1978-06-25,309.7000000000019,309.7097,2015-01-01 00:51:37,bin3097,75,False +abc,3098,3098,3098,1978-06-26,309.80000000000194,309.8097,2015-01-01 00:51:38,bin3098,35,False +abc,3099,3099,3099,1978-06-27,309.90000000000197,309.9097,2015-01-01 00:51:39,bin3099,75,False +abc,3100,3100,3100,1978-06-28,310.000000000002,310.0097,2015-01-01 00:51:40,bin3100,35,False +abc,3101,3101,3101,1978-06-29,310.100000000002,310.1097,2015-01-01 00:51:41,bin3101,75,False +abc,3102,3102,3102,1978-06-30,310.20000000000203,310.20972,2015-01-01 00:51:42,bin3102,35,False +abc,3103,3103,3103,1978-07-01,310.30000000000206,310.30972,2015-01-01 00:51:43,bin3103,75,False +abc,3104,3104,3104,1978-07-02,310.4000000000021,310.40973,2015-01-01 00:51:44,bin3104,35,False +abc,3105,3105,3105,1978-07-03,310.5000000000021,310.50974,2015-01-01 00:51:45,bin3105,75,False +abc,3106,3106,3106,1978-07-04,310.6000000000021,310.60974,2015-01-01 00:51:46,bin3106,35,False +abc,3107,3107,3107,1978-07-05,310.70000000000215,310.70975,2015-01-01 00:51:47,bin3107,75,False +abc,3108,3108,3108,1978-07-06,310.80000000000217,310.80975,2015-01-01 00:51:48,bin3108,35,False +abc,3109,3109,3109,1978-07-07,310.9000000000022,310.90976,2015-01-01 00:51:49,bin3109,75,False +abc,3110,3110,3110,1978-07-08,311.0000000000022,311.00977,2015-01-01 00:51:50,bin3110,35,False +abc,3111,3111,3111,1978-07-09,311.10000000000224,311.10977,2015-01-01 00:51:51,bin3111,75,False +abc,3112,3112,3112,1978-07-10,311.20000000000226,311.20978,2015-01-01 00:51:52,bin3112,35,False +abc,3113,3113,3113,1978-07-11,311.3000000000023,311.30978,2015-01-01 00:51:53,bin3113,75,False +abc,3114,3114,3114,1978-07-12,311.4000000000023,311.4098,2015-01-01 00:51:54,bin3114,35,False +abc,3115,3115,3115,1978-07-13,311.50000000000233,311.5098,2015-01-01 00:51:55,bin3115,75,False +abc,3116,3116,3116,1978-07-14,311.60000000000235,311.6098,2015-01-01 00:51:56,bin3116,35,False +abc,3117,3117,3117,1978-07-15,311.7000000000024,311.7098,2015-01-01 00:51:57,bin3117,75,False +abc,3118,3118,3118,1978-07-16,311.8000000000024,311.8098,2015-01-01 00:51:58,bin3118,35,False +abc,3119,3119,3119,1978-07-17,311.9000000000024,311.90982,2015-01-01 00:51:59,bin3119,75,False +abc,3120,3120,3120,1978-07-18,312.00000000000244,312.00983,2015-01-01 00:52:00,bin3120,35,False +abc,3121,3121,3121,1978-07-19,312.10000000000247,312.10983,2015-01-01 00:52:01,bin3121,75,False +abc,3122,3122,3122,1978-07-20,312.2000000000025,312.20984,2015-01-01 00:52:02,bin3122,35,False +abc,3123,3123,3123,1978-07-21,312.3000000000025,312.30984,2015-01-01 00:52:03,bin3123,75,False +abc,3124,3124,3124,1978-07-22,312.40000000000254,312.40985,2015-01-01 00:52:04,bin3124,35,False +abc,3125,3125,3125,1978-07-23,312.50000000000256,312.50986,2015-01-01 00:52:05,bin3125,75,False +abc,3126,3126,3126,1978-07-24,312.6000000000026,312.60986,2015-01-01 00:52:06,bin3126,35,False +abc,3127,3127,3127,1978-07-25,312.7000000000026,312.70987,2015-01-01 00:52:07,bin3127,75,False +abc,3128,3128,3128,1978-07-26,312.8000000000026,312.80988,2015-01-01 00:52:08,bin3128,35,False +abc,3129,3129,3129,1978-07-27,312.90000000000265,312.90988,2015-01-01 00:52:09,bin3129,75,False +abc,3130,3130,3130,1978-07-28,313.0000000000027,313.0099,2015-01-01 00:52:10,bin3130,35,False +abc,3131,3131,3131,1978-07-29,313.1000000000027,313.1099,2015-01-01 00:52:11,bin3131,75,False +abc,3132,3132,3132,1978-07-30,313.2000000000027,313.2099,2015-01-01 00:52:12,bin3132,35,False +abc,3133,3133,3133,1978-07-31,313.30000000000274,313.3099,2015-01-01 00:52:13,bin3133,75,False +abc,3134,3134,3134,1978-08-01,313.40000000000276,313.4099,2015-01-01 00:52:14,bin3134,35,False +abc,3135,3135,3135,1978-08-02,313.5000000000028,313.50992,2015-01-01 00:52:15,bin3135,75,False +abc,3136,3136,3136,1978-08-03,313.6000000000028,313.60992,2015-01-01 00:52:16,bin3136,35,False +abc,3137,3137,3137,1978-08-04,313.70000000000283,313.70993,2015-01-01 00:52:17,bin3137,75,False +abc,3138,3138,3138,1978-08-05,313.80000000000285,313.80994,2015-01-01 00:52:18,bin3138,35,False +abc,3139,3139,3139,1978-08-06,313.9000000000029,313.90994,2015-01-01 00:52:19,bin3139,75,False +abc,3140,3140,3140,1978-08-07,314.0000000000029,314.00995,2015-01-01 00:52:20,bin3140,35,False +abc,3141,3141,3141,1978-08-08,314.1000000000029,314.10995,2015-01-01 00:52:21,bin3141,75,False +abc,3142,3142,3142,1978-08-09,314.20000000000294,314.20996,2015-01-01 00:52:22,bin3142,35,False +abc,3143,3143,3143,1978-08-10,314.30000000000297,314.30997,2015-01-01 00:52:23,bin3143,75,False +abc,3144,3144,3144,1978-08-11,314.400000000003,314.40997,2015-01-01 00:52:24,bin3144,35,False +abc,3145,3145,3145,1978-08-12,314.500000000003,314.50998,2015-01-01 00:52:25,bin3145,75,False +abc,3146,3146,3146,1978-08-13,314.60000000000304,314.61,2015-01-01 00:52:26,bin3146,35,False +abc,3147,3147,3147,1978-08-14,314.70000000000306,314.71,2015-01-01 00:52:27,bin3147,75,False +abc,3148,3148,3148,1978-08-15,314.8000000000031,314.81,2015-01-01 00:52:28,bin3148,35,False +abc,3149,3149,3149,1978-08-16,314.9000000000031,314.91,2015-01-01 00:52:29,bin3149,75,False +abc,3150,3150,3150,1978-08-17,315.0000000000031,315.01,2015-01-01 00:52:30,bin3150,35,False +abc,3151,3151,3151,1978-08-18,315.10000000000315,315.11002,2015-01-01 00:52:31,bin3151,75,False +abc,3152,3152,3152,1978-08-19,315.2000000000032,315.21002,2015-01-01 00:52:32,bin3152,35,False +abc,3153,3153,3153,1978-08-20,315.3000000000032,315.31003,2015-01-01 00:52:33,bin3153,75,False +abc,3154,3154,3154,1978-08-21,315.4000000000032,315.41003,2015-01-01 00:52:34,bin3154,35,False +abc,3155,3155,3155,1978-08-22,315.50000000000324,315.51004,2015-01-01 00:52:35,bin3155,75,False +abc,3156,3156,3156,1978-08-23,315.60000000000326,315.61005,2015-01-01 00:52:36,bin3156,35,False +abc,3157,3157,3157,1978-08-24,315.7000000000033,315.71005,2015-01-01 00:52:37,bin3157,75,False +abc,3158,3158,3158,1978-08-25,315.8000000000033,315.81006,2015-01-01 00:52:38,bin3158,35,False +abc,3159,3159,3159,1978-08-26,315.90000000000333,315.91006,2015-01-01 00:52:39,bin3159,75,False +abc,3160,3160,3160,1978-08-27,316.00000000000335,316.01007,2015-01-01 00:52:40,bin3160,35,False +abc,3161,3161,3161,1978-08-28,316.1000000000034,316.11008,2015-01-01 00:52:41,bin3161,75,False +abc,3162,3162,3162,1978-08-29,316.2000000000034,316.21008,2015-01-01 00:52:42,bin3162,35,False +abc,3163,3163,3163,1978-08-30,316.3000000000034,316.3101,2015-01-01 00:52:43,bin3163,75,False +abc,3164,3164,3164,1978-08-31,316.40000000000344,316.4101,2015-01-01 00:52:44,bin3164,35,False +abc,3165,3165,3165,1978-09-01,316.50000000000347,316.5101,2015-01-01 00:52:45,bin3165,75,False +abc,3166,3166,3166,1978-09-02,316.6000000000035,316.6101,2015-01-01 00:52:46,bin3166,35,False +abc,3167,3167,3167,1978-09-03,316.7000000000035,316.7101,2015-01-01 00:52:47,bin3167,75,False +abc,3168,3168,3168,1978-09-04,316.80000000000354,316.81012,2015-01-01 00:52:48,bin3168,35,False +abc,3169,3169,3169,1978-09-05,316.90000000000356,316.91013,2015-01-01 00:52:49,bin3169,75,False +abc,3170,3170,3170,1978-09-06,317.0000000000036,317.01013,2015-01-01 00:52:50,bin3170,35,False +abc,3171,3171,3171,1978-09-07,317.1000000000036,317.11014,2015-01-01 00:52:51,bin3171,75,False +abc,3172,3172,3172,1978-09-08,317.2000000000036,317.21014,2015-01-01 00:52:52,bin3172,35,False +abc,3173,3173,3173,1978-09-09,317.30000000000365,317.31015,2015-01-01 00:52:53,bin3173,75,False +abc,3174,3174,3174,1978-09-10,317.4000000000037,317.41016,2015-01-01 00:52:54,bin3174,35,False +abc,3175,3175,3175,1978-09-11,317.5000000000037,317.51016,2015-01-01 00:52:55,bin3175,75,False +abc,3176,3176,3176,1978-09-12,317.6000000000037,317.61017,2015-01-01 00:52:56,bin3176,35,False +abc,3177,3177,3177,1978-09-13,317.70000000000374,317.71017,2015-01-01 00:52:57,bin3177,75,False +abc,3178,3178,3178,1978-09-14,317.80000000000376,317.81018,2015-01-01 00:52:58,bin3178,35,False +abc,3179,3179,3179,1978-09-15,317.9000000000038,317.9102,2015-01-01 00:52:59,bin3179,75,False +abc,3180,3180,3180,1978-09-16,318.0000000000038,318.0102,2015-01-01 00:53:00,bin3180,35,False +abc,3181,3181,3181,1978-09-17,318.10000000000383,318.1102,2015-01-01 00:53:01,bin3181,75,False +abc,3182,3182,3182,1978-09-18,318.20000000000385,318.2102,2015-01-01 00:53:02,bin3182,35,False +abc,3183,3183,3183,1978-09-19,318.3000000000039,318.3102,2015-01-01 00:53:03,bin3183,75,False +abc,3184,3184,3184,1978-09-20,318.4000000000039,318.41022,2015-01-01 00:53:04,bin3184,35,False +abc,3185,3185,3185,1978-09-21,318.5000000000039,318.51022,2015-01-01 00:53:05,bin3185,75,False +abc,3186,3186,3186,1978-09-22,318.60000000000394,318.61023,2015-01-01 00:53:06,bin3186,35,False +abc,3187,3187,3187,1978-09-23,318.70000000000397,318.71024,2015-01-01 00:53:07,bin3187,75,False +abc,3188,3188,3188,1978-09-24,318.800000000004,318.81024,2015-01-01 00:53:08,bin3188,35,False +abc,3189,3189,3189,1978-09-25,318.900000000004,318.91025,2015-01-01 00:53:09,bin3189,75,False +abc,3190,3190,3190,1978-09-26,319.00000000000404,319.01025,2015-01-01 00:53:10,bin3190,35,False +abc,3191,3191,3191,1978-09-27,319.10000000000406,319.11026,2015-01-01 00:53:11,bin3191,75,False +abc,3192,3192,3192,1978-09-28,319.2000000000041,319.21027,2015-01-01 00:53:12,bin3192,35,False +abc,3193,3193,3193,1978-09-29,319.3000000000041,319.31027,2015-01-01 00:53:13,bin3193,75,False +abc,3194,3194,3194,1978-09-30,319.4000000000041,319.41028,2015-01-01 00:53:14,bin3194,35,False +abc,3195,3195,3195,1978-10-01,319.50000000000415,319.51028,2015-01-01 00:53:15,bin3195,75,False +abc,3196,3196,3196,1978-10-02,319.6000000000042,319.6103,2015-01-01 00:53:16,bin3196,35,False +abc,3197,3197,3197,1978-10-03,319.7000000000042,319.7103,2015-01-01 00:53:17,bin3197,75,False +abc,3198,3198,3198,1978-10-04,319.8000000000042,319.8103,2015-01-01 00:53:18,bin3198,35,False +abc,3199,3199,3199,1978-10-05,319.90000000000424,319.9103,2015-01-01 00:53:19,bin3199,75,False +abc,3200,3200,3200,1978-10-06,320.00000000000426,320.0103,2015-01-01 00:53:20,bin3200,35,False +abc,3201,3201,3201,1978-10-07,320.1000000000043,320.11032,2015-01-01 00:53:21,bin3201,75,False +abc,3202,3202,3202,1978-10-08,320.2000000000043,320.21033,2015-01-01 00:53:22,bin3202,35,False +abc,3203,3203,3203,1978-10-09,320.30000000000433,320.31033,2015-01-01 00:53:23,bin3203,75,False +abc,3204,3204,3204,1978-10-10,320.40000000000435,320.41034,2015-01-01 00:53:24,bin3204,35,False +abc,3205,3205,3205,1978-10-11,320.5000000000044,320.51035,2015-01-01 00:53:25,bin3205,75,False +abc,3206,3206,3206,1978-10-12,320.6000000000044,320.61035,2015-01-01 00:53:26,bin3206,35,False +abc,3207,3207,3207,1978-10-13,320.7000000000044,320.71036,2015-01-01 00:53:27,bin3207,75,False +abc,3208,3208,3208,1978-10-14,320.80000000000445,320.81036,2015-01-01 00:53:28,bin3208,35,False +abc,3209,3209,3209,1978-10-15,320.90000000000447,320.91037,2015-01-01 00:53:29,bin3209,75,False +abc,3210,3210,3210,1978-10-16,321.0000000000045,321.01038,2015-01-01 00:53:30,bin3210,35,False +abc,3211,3211,3211,1978-10-17,321.1000000000045,321.11038,2015-01-01 00:53:31,bin3211,75,False +abc,3212,3212,3212,1978-10-18,321.20000000000454,321.2104,2015-01-01 00:53:32,bin3212,35,False +abc,3213,3213,3213,1978-10-19,321.30000000000456,321.3104,2015-01-01 00:53:33,bin3213,75,False +abc,3214,3214,3214,1978-10-20,321.4000000000046,321.4104,2015-01-01 00:53:34,bin3214,35,False +abc,3215,3215,3215,1978-10-21,321.5000000000046,321.5104,2015-01-01 00:53:35,bin3215,75,False +abc,3216,3216,3216,1978-10-22,321.6000000000046,321.6104,2015-01-01 00:53:36,bin3216,35,False +abc,3217,3217,3217,1978-10-23,321.70000000000465,321.71042,2015-01-01 00:53:37,bin3217,75,False +abc,3218,3218,3218,1978-10-24,321.8000000000047,321.81042,2015-01-01 00:53:38,bin3218,35,False +abc,3219,3219,3219,1978-10-25,321.9000000000047,321.91043,2015-01-01 00:53:39,bin3219,75,False +abc,3220,3220,3220,1978-10-26,322.0000000000047,322.01044,2015-01-01 00:53:40,bin3220,35,False +abc,3221,3221,3221,1978-10-27,322.10000000000474,322.11044,2015-01-01 00:53:41,bin3221,75,False +abc,3222,3222,3222,1978-10-28,322.20000000000476,322.21045,2015-01-01 00:53:42,bin3222,35,False +abc,3223,3223,3223,1978-10-29,322.3000000000048,322.31046,2015-01-01 00:53:43,bin3223,75,False +abc,3224,3224,3224,1978-10-30,322.4000000000048,322.41046,2015-01-01 00:53:44,bin3224,35,False +abc,3225,3225,3225,1978-10-31,322.50000000000483,322.51047,2015-01-01 00:53:45,bin3225,75,False +abc,3226,3226,3226,1978-11-01,322.60000000000485,322.61047,2015-01-01 00:53:46,bin3226,35,False +abc,3227,3227,3227,1978-11-02,322.7000000000049,322.71048,2015-01-01 00:53:47,bin3227,75,False +abc,3228,3228,3228,1978-11-03,322.8000000000049,322.8105,2015-01-01 00:53:48,bin3228,35,False +abc,3229,3229,3229,1978-11-04,322.9000000000049,322.9105,2015-01-01 00:53:49,bin3229,75,False +abc,3230,3230,3230,1978-11-05,323.00000000000495,323.0105,2015-01-01 00:53:50,bin3230,35,False +abc,3231,3231,3231,1978-11-06,323.10000000000497,323.1105,2015-01-01 00:53:51,bin3231,75,False +abc,3232,3232,3232,1978-11-07,323.200000000005,323.2105,2015-01-01 00:53:52,bin3232,35,False +abc,3233,3233,3233,1978-11-08,323.300000000005,323.31052,2015-01-01 00:53:53,bin3233,75,False +abc,3234,3234,3234,1978-11-09,323.40000000000504,323.41052,2015-01-01 00:53:54,bin3234,35,False +abc,3235,3235,3235,1978-11-10,323.50000000000506,323.51053,2015-01-01 00:53:55,bin3235,75,False +abc,3236,3236,3236,1978-11-11,323.6000000000051,323.61053,2015-01-01 00:53:56,bin3236,35,False +abc,3237,3237,3237,1978-11-12,323.7000000000051,323.71054,2015-01-01 00:53:57,bin3237,75,False +abc,3238,3238,3238,1978-11-13,323.8000000000051,323.81055,2015-01-01 00:53:58,bin3238,35,False +abc,3239,3239,3239,1978-11-14,323.90000000000515,323.91055,2015-01-01 00:53:59,bin3239,75,False +abc,3240,3240,3240,1978-11-15,324.0000000000052,324.01056,2015-01-01 00:54:00,bin3240,35,False +abc,3241,3241,3241,1978-11-16,324.1000000000052,324.11057,2015-01-01 00:54:01,bin3241,75,False +abc,3242,3242,3242,1978-11-17,324.2000000000052,324.21057,2015-01-01 00:54:02,bin3242,35,False +abc,3243,3243,3243,1978-11-18,324.30000000000524,324.31058,2015-01-01 00:54:03,bin3243,75,False +abc,3244,3244,3244,1978-11-19,324.40000000000526,324.41058,2015-01-01 00:54:04,bin3244,35,False +abc,3245,3245,3245,1978-11-20,324.5000000000053,324.5106,2015-01-01 00:54:05,bin3245,75,False +abc,3246,3246,3246,1978-11-21,324.6000000000053,324.6106,2015-01-01 00:54:06,bin3246,35,False +abc,3247,3247,3247,1978-11-22,324.70000000000533,324.7106,2015-01-01 00:54:07,bin3247,75,False +abc,3248,3248,3248,1978-11-23,324.80000000000535,324.8106,2015-01-01 00:54:08,bin3248,35,False +abc,3249,3249,3249,1978-11-24,324.9000000000054,324.9106,2015-01-01 00:54:09,bin3249,75,False +abc,3250,3250,3250,1978-11-25,325.0000000000054,325.01062,2015-01-01 00:54:10,bin3250,35,False +abc,3251,3251,3251,1978-11-26,325.1000000000054,325.11063,2015-01-01 00:54:11,bin3251,75,False +abc,3252,3252,3252,1978-11-27,325.20000000000545,325.21063,2015-01-01 00:54:12,bin3252,35,False +abc,3253,3253,3253,1978-11-28,325.30000000000547,325.31064,2015-01-01 00:54:13,bin3253,75,False +abc,3254,3254,3254,1978-11-29,325.4000000000055,325.41064,2015-01-01 00:54:14,bin3254,35,False +abc,3255,3255,3255,1978-11-30,325.5000000000055,325.51065,2015-01-01 00:54:15,bin3255,75,False +abc,3256,3256,3256,1978-12-01,325.60000000000554,325.61066,2015-01-01 00:54:16,bin3256,35,False +abc,3257,3257,3257,1978-12-02,325.70000000000556,325.71066,2015-01-01 00:54:17,bin3257,75,False +abc,3258,3258,3258,1978-12-03,325.8000000000056,325.81067,2015-01-01 00:54:18,bin3258,35,False +abc,3259,3259,3259,1978-12-04,325.9000000000056,325.91068,2015-01-01 00:54:19,bin3259,75,False +abc,3260,3260,3260,1978-12-05,326.0000000000056,326.01068,2015-01-01 00:54:20,bin3260,35,False +abc,3261,3261,3261,1978-12-06,326.10000000000565,326.1107,2015-01-01 00:54:21,bin3261,75,False +abc,3262,3262,3262,1978-12-07,326.2000000000057,326.2107,2015-01-01 00:54:22,bin3262,35,False +abc,3263,3263,3263,1978-12-08,326.3000000000057,326.3107,2015-01-01 00:54:23,bin3263,75,False +abc,3264,3264,3264,1978-12-09,326.4000000000057,326.4107,2015-01-01 00:54:24,bin3264,35,False +abc,3265,3265,3265,1978-12-10,326.50000000000574,326.5107,2015-01-01 00:54:25,bin3265,75,False +abc,3266,3266,3266,1978-12-11,326.60000000000576,326.61072,2015-01-01 00:54:26,bin3266,35,False +abc,3267,3267,3267,1978-12-12,326.7000000000058,326.71072,2015-01-01 00:54:27,bin3267,75,False +abc,3268,3268,3268,1978-12-13,326.8000000000058,326.81073,2015-01-01 00:54:28,bin3268,35,False +abc,3269,3269,3269,1978-12-14,326.90000000000583,326.91074,2015-01-01 00:54:29,bin3269,75,False +abc,3270,3270,3270,1978-12-15,327.00000000000585,327.01074,2015-01-01 00:54:30,bin3270,35,False +abc,3271,3271,3271,1978-12-16,327.1000000000059,327.11075,2015-01-01 00:54:31,bin3271,75,False +abc,3272,3272,3272,1978-12-17,327.2000000000059,327.21075,2015-01-01 00:54:32,bin3272,35,False +abc,3273,3273,3273,1978-12-18,327.3000000000059,327.31076,2015-01-01 00:54:33,bin3273,75,False +abc,3274,3274,3274,1978-12-19,327.40000000000595,327.41077,2015-01-01 00:54:34,bin3274,35,False +abc,3275,3275,3275,1978-12-20,327.50000000000597,327.51077,2015-01-01 00:54:35,bin3275,75,False +abc,3276,3276,3276,1978-12-21,327.600000000006,327.61078,2015-01-01 00:54:36,bin3276,35,False +abc,3277,3277,3277,1978-12-22,327.700000000006,327.7108,2015-01-01 00:54:37,bin3277,75,False +abc,3278,3278,3278,1978-12-23,327.80000000000604,327.8108,2015-01-01 00:54:38,bin3278,35,False +abc,3279,3279,3279,1978-12-24,327.90000000000606,327.9108,2015-01-01 00:54:39,bin3279,75,False +abc,3280,3280,3280,1978-12-25,328.0000000000061,328.0108,2015-01-01 00:54:40,bin3280,35,False +abc,3281,3281,3281,1978-12-26,328.1000000000061,328.1108,2015-01-01 00:54:41,bin3281,75,False +abc,3282,3282,3282,1978-12-27,328.2000000000061,328.21082,2015-01-01 00:54:42,bin3282,35,False +abc,3283,3283,3283,1978-12-28,328.30000000000615,328.31082,2015-01-01 00:54:43,bin3283,75,False +abc,3284,3284,3284,1978-12-29,328.4000000000062,328.41083,2015-01-01 00:54:44,bin3284,35,False +abc,3285,3285,3285,1978-12-30,328.5000000000062,328.51083,2015-01-01 00:54:45,bin3285,75,False +abc,3286,3286,3286,1978-12-31,328.6000000000062,328.61084,2015-01-01 00:54:46,bin3286,35,False +abc,3287,3287,3287,1979-01-01,328.70000000000624,328.71085,2015-01-01 00:54:47,bin3287,75,False +abc,3288,3288,3288,1979-01-02,328.80000000000626,328.81085,2015-01-01 00:54:48,bin3288,35,False +abc,3289,3289,3289,1979-01-03,328.9000000000063,328.91086,2015-01-01 00:54:49,bin3289,75,False +abc,3290,3290,3290,1979-01-04,329.0000000000063,329.01086,2015-01-01 00:54:50,bin3290,35,False +abc,3291,3291,3291,1979-01-05,329.10000000000633,329.11087,2015-01-01 00:54:51,bin3291,75,False +abc,3292,3292,3292,1979-01-06,329.20000000000636,329.21088,2015-01-01 00:54:52,bin3292,35,False +abc,3293,3293,3293,1979-01-07,329.3000000000064,329.31088,2015-01-01 00:54:53,bin3293,75,False +abc,3294,3294,3294,1979-01-08,329.4000000000064,329.4109,2015-01-01 00:54:54,bin3294,35,False +abc,3295,3295,3295,1979-01-09,329.5000000000064,329.5109,2015-01-01 00:54:55,bin3295,75,False +abc,3296,3296,3296,1979-01-10,329.60000000000645,329.6109,2015-01-01 00:54:56,bin3296,35,False +abc,3297,3297,3297,1979-01-11,329.70000000000647,329.7109,2015-01-01 00:54:57,bin3297,75,False +abc,3298,3298,3298,1979-01-12,329.8000000000065,329.8109,2015-01-01 00:54:58,bin3298,35,False +abc,3299,3299,3299,1979-01-13,329.9000000000065,329.91092,2015-01-01 00:54:59,bin3299,75,False +abc,3300,3300,3300,1979-01-14,330.00000000000654,330.01093,2015-01-01 00:55:00,bin3300,35,False +abc,3301,3301,3301,1979-01-15,330.10000000000656,330.11093,2015-01-01 00:55:01,bin3301,75,False +abc,3302,3302,3302,1979-01-16,330.2000000000066,330.21094,2015-01-01 00:55:02,bin3302,35,False +abc,3303,3303,3303,1979-01-17,330.3000000000066,330.31094,2015-01-01 00:55:03,bin3303,75,False +abc,3304,3304,3304,1979-01-18,330.4000000000066,330.41095,2015-01-01 00:55:04,bin3304,35,False +abc,3305,3305,3305,1979-01-19,330.50000000000665,330.51096,2015-01-01 00:55:05,bin3305,75,False +abc,3306,3306,3306,1979-01-20,330.6000000000067,330.61096,2015-01-01 00:55:06,bin3306,35,False +abc,3307,3307,3307,1979-01-21,330.7000000000067,330.71097,2015-01-01 00:55:07,bin3307,75,False +abc,3308,3308,3308,1979-01-22,330.8000000000067,330.81097,2015-01-01 00:55:08,bin3308,35,False +abc,3309,3309,3309,1979-01-23,330.90000000000674,330.91098,2015-01-01 00:55:09,bin3309,75,False +abc,3310,3310,3310,1979-01-24,331.00000000000676,331.011,2015-01-01 00:55:10,bin3310,35,False +abc,3311,3311,3311,1979-01-25,331.1000000000068,331.111,2015-01-01 00:55:11,bin3311,75,False +abc,3312,3312,3312,1979-01-26,331.2000000000068,331.211,2015-01-01 00:55:12,bin3312,35,False +abc,3313,3313,3313,1979-01-27,331.30000000000683,331.311,2015-01-01 00:55:13,bin3313,75,False +abc,3314,3314,3314,1979-01-28,331.40000000000686,331.411,2015-01-01 00:55:14,bin3314,35,False +abc,3315,3315,3315,1979-01-29,331.5000000000069,331.51102,2015-01-01 00:55:15,bin3315,75,False +abc,3316,3316,3316,1979-01-30,331.6000000000069,331.61102,2015-01-01 00:55:16,bin3316,35,False +abc,3317,3317,3317,1979-01-31,331.7000000000069,331.71103,2015-01-01 00:55:17,bin3317,75,False +abc,3318,3318,3318,1979-02-01,331.80000000000695,331.81104,2015-01-01 00:55:18,bin3318,35,False +abc,3319,3319,3319,1979-02-02,331.90000000000697,331.91104,2015-01-01 00:55:19,bin3319,75,False +abc,3320,3320,3320,1979-02-03,332.000000000007,332.01105,2015-01-01 00:55:20,bin3320,35,False +abc,3321,3321,3321,1979-02-04,332.100000000007,332.11105,2015-01-01 00:55:21,bin3321,75,False +abc,3322,3322,3322,1979-02-05,332.20000000000704,332.21106,2015-01-01 00:55:22,bin3322,35,False +abc,3323,3323,3323,1979-02-06,332.30000000000706,332.31107,2015-01-01 00:55:23,bin3323,75,False +abc,3324,3324,3324,1979-02-07,332.4000000000071,332.41107,2015-01-01 00:55:24,bin3324,35,False +abc,3325,3325,3325,1979-02-08,332.5000000000071,332.51108,2015-01-01 00:55:25,bin3325,75,False +abc,3326,3326,3326,1979-02-09,332.6000000000071,332.61108,2015-01-01 00:55:26,bin3326,35,False +abc,3327,3327,3327,1979-02-10,332.70000000000715,332.7111,2015-01-01 00:55:27,bin3327,75,False +abc,3328,3328,3328,1979-02-11,332.8000000000072,332.8111,2015-01-01 00:55:28,bin3328,35,False +abc,3329,3329,3329,1979-02-12,332.9000000000072,332.9111,2015-01-01 00:55:29,bin3329,75,False +abc,3330,3330,3330,1979-02-13,333.0000000000072,333.0111,2015-01-01 00:55:30,bin3330,35,False +abc,3331,3331,3331,1979-02-14,333.10000000000724,333.1111,2015-01-01 00:55:31,bin3331,75,False +abc,3332,3332,3332,1979-02-15,333.20000000000726,333.21112,2015-01-01 00:55:32,bin3332,35,False +abc,3333,3333,3333,1979-02-16,333.3000000000073,333.31113,2015-01-01 00:55:33,bin3333,75,False +abc,3334,3334,3334,1979-02-17,333.4000000000073,333.41113,2015-01-01 00:55:34,bin3334,35,False +abc,3335,3335,3335,1979-02-18,333.50000000000733,333.51114,2015-01-01 00:55:35,bin3335,75,False +abc,3336,3336,3336,1979-02-19,333.60000000000736,333.61115,2015-01-01 00:55:36,bin3336,35,False +abc,3337,3337,3337,1979-02-20,333.7000000000074,333.71115,2015-01-01 00:55:37,bin3337,75,False +abc,3338,3338,3338,1979-02-21,333.8000000000074,333.81116,2015-01-01 00:55:38,bin3338,35,False +abc,3339,3339,3339,1979-02-22,333.9000000000074,333.91116,2015-01-01 00:55:39,bin3339,75,False +abc,3340,3340,3340,1979-02-23,334.00000000000745,334.01117,2015-01-01 00:55:40,bin3340,35,False +abc,3341,3341,3341,1979-02-24,334.10000000000747,334.11118,2015-01-01 00:55:41,bin3341,75,False +abc,3342,3342,3342,1979-02-25,334.2000000000075,334.21118,2015-01-01 00:55:42,bin3342,35,False +abc,3343,3343,3343,1979-02-26,334.3000000000075,334.3112,2015-01-01 00:55:43,bin3343,75,False +abc,3344,3344,3344,1979-02-27,334.40000000000754,334.4112,2015-01-01 00:55:44,bin3344,35,False +abc,3345,3345,3345,1979-02-28,334.50000000000756,334.5112,2015-01-01 00:55:45,bin3345,75,False +abc,3346,3346,3346,1979-03-01,334.6000000000076,334.6112,2015-01-01 00:55:46,bin3346,35,False +abc,3347,3347,3347,1979-03-02,334.7000000000076,334.7112,2015-01-01 00:55:47,bin3347,75,False +abc,3348,3348,3348,1979-03-03,334.8000000000076,334.81122,2015-01-01 00:55:48,bin3348,35,False +abc,3349,3349,3349,1979-03-04,334.90000000000765,334.91122,2015-01-01 00:55:49,bin3349,75,False +abc,3350,3350,3350,1979-03-05,335.0000000000077,335.01123,2015-01-01 00:55:50,bin3350,35,False +abc,3351,3351,3351,1979-03-06,335.1000000000077,335.11124,2015-01-01 00:55:51,bin3351,75,False +abc,3352,3352,3352,1979-03-07,335.2000000000077,335.21124,2015-01-01 00:55:52,bin3352,35,False +abc,3353,3353,3353,1979-03-08,335.30000000000774,335.31125,2015-01-01 00:55:53,bin3353,75,False +abc,3354,3354,3354,1979-03-09,335.40000000000776,335.41125,2015-01-01 00:55:54,bin3354,35,False +abc,3355,3355,3355,1979-03-10,335.5000000000078,335.51126,2015-01-01 00:55:55,bin3355,75,False +abc,3356,3356,3356,1979-03-11,335.6000000000078,335.61127,2015-01-01 00:55:56,bin3356,35,False +abc,3357,3357,3357,1979-03-12,335.70000000000783,335.71127,2015-01-01 00:55:57,bin3357,75,False +abc,3358,3358,3358,1979-03-13,335.80000000000786,335.81128,2015-01-01 00:55:58,bin3358,35,False +abc,3359,3359,3359,1979-03-14,335.9000000000079,335.9113,2015-01-01 00:55:59,bin3359,75,False +abc,3360,3360,3360,1979-03-15,336.0000000000079,336.0113,2015-01-01 00:56:00,bin3360,35,False +abc,3361,3361,3361,1979-03-16,336.1000000000079,336.1113,2015-01-01 00:56:01,bin3361,75,False +abc,3362,3362,3362,1979-03-17,336.20000000000795,336.2113,2015-01-01 00:56:02,bin3362,35,False +abc,3363,3363,3363,1979-03-18,336.30000000000797,336.3113,2015-01-01 00:56:03,bin3363,75,False +abc,3364,3364,3364,1979-03-19,336.400000000008,336.41132,2015-01-01 00:56:04,bin3364,35,False +abc,3365,3365,3365,1979-03-20,336.500000000008,336.51132,2015-01-01 00:56:05,bin3365,75,False +abc,3366,3366,3366,1979-03-21,336.60000000000804,336.61133,2015-01-01 00:56:06,bin3366,35,False +abc,3367,3367,3367,1979-03-22,336.70000000000806,336.71133,2015-01-01 00:56:07,bin3367,75,False +abc,3368,3368,3368,1979-03-23,336.8000000000081,336.81134,2015-01-01 00:56:08,bin3368,35,False +abc,3369,3369,3369,1979-03-24,336.9000000000081,336.91135,2015-01-01 00:56:09,bin3369,75,False +abc,3370,3370,3370,1979-03-25,337.00000000000813,337.01135,2015-01-01 00:56:10,bin3370,35,False +abc,3371,3371,3371,1979-03-26,337.10000000000815,337.11136,2015-01-01 00:56:11,bin3371,75,False +abc,3372,3372,3372,1979-03-27,337.2000000000082,337.21136,2015-01-01 00:56:12,bin3372,35,False +abc,3373,3373,3373,1979-03-28,337.3000000000082,337.31137,2015-01-01 00:56:13,bin3373,75,False +abc,3374,3374,3374,1979-03-29,337.4000000000082,337.41138,2015-01-01 00:56:14,bin3374,35,False +abc,3375,3375,3375,1979-03-30,337.50000000000824,337.51138,2015-01-01 00:56:15,bin3375,75,False +abc,3376,3376,3376,1979-03-31,337.60000000000827,337.6114,2015-01-01 00:56:16,bin3376,35,False +abc,3377,3377,3377,1979-04-01,337.7000000000083,337.7114,2015-01-01 00:56:17,bin3377,75,False +abc,3378,3378,3378,1979-04-02,337.8000000000083,337.8114,2015-01-01 00:56:18,bin3378,35,False +abc,3379,3379,3379,1979-04-03,337.90000000000833,337.9114,2015-01-01 00:56:19,bin3379,75,False +abc,3380,3380,3380,1979-04-04,338.00000000000836,338.0114,2015-01-01 00:56:20,bin3380,35,False +abc,3381,3381,3381,1979-04-05,338.1000000000084,338.11142,2015-01-01 00:56:21,bin3381,75,False +abc,3382,3382,3382,1979-04-06,338.2000000000084,338.21143,2015-01-01 00:56:22,bin3382,35,False +abc,3383,3383,3383,1979-04-07,338.3000000000084,338.31143,2015-01-01 00:56:23,bin3383,75,False +abc,3384,3384,3384,1979-04-08,338.40000000000845,338.41144,2015-01-01 00:56:24,bin3384,35,False +abc,3385,3385,3385,1979-04-09,338.50000000000847,338.51144,2015-01-01 00:56:25,bin3385,75,False +abc,3386,3386,3386,1979-04-10,338.6000000000085,338.61145,2015-01-01 00:56:26,bin3386,35,False +abc,3387,3387,3387,1979-04-11,338.7000000000085,338.71146,2015-01-01 00:56:27,bin3387,75,False +abc,3388,3388,3388,1979-04-12,338.80000000000854,338.81146,2015-01-01 00:56:28,bin3388,35,False +abc,3389,3389,3389,1979-04-13,338.90000000000856,338.91147,2015-01-01 00:56:29,bin3389,75,False +abc,3390,3390,3390,1979-04-14,339.0000000000086,339.01147,2015-01-01 00:56:30,bin3390,35,False +abc,3391,3391,3391,1979-04-15,339.1000000000086,339.11148,2015-01-01 00:56:31,bin3391,75,False +abc,3392,3392,3392,1979-04-16,339.20000000000863,339.2115,2015-01-01 00:56:32,bin3392,35,False +abc,3393,3393,3393,1979-04-17,339.30000000000865,339.3115,2015-01-01 00:56:33,bin3393,75,False +abc,3394,3394,3394,1979-04-18,339.4000000000087,339.4115,2015-01-01 00:56:34,bin3394,35,False +abc,3395,3395,3395,1979-04-19,339.5000000000087,339.5115,2015-01-01 00:56:35,bin3395,75,False +abc,3396,3396,3396,1979-04-20,339.6000000000087,339.6115,2015-01-01 00:56:36,bin3396,35,False +abc,3397,3397,3397,1979-04-21,339.70000000000874,339.71152,2015-01-01 00:56:37,bin3397,75,False +abc,3398,3398,3398,1979-04-22,339.80000000000877,339.81152,2015-01-01 00:56:38,bin3398,35,False +abc,3399,3399,3399,1979-04-23,339.9000000000088,339.91153,2015-01-01 00:56:39,bin3399,75,False +abc,3400,3400,3400,1979-04-24,340.0000000000088,340.01154,2015-01-01 00:56:40,bin3400,35,False +abc,3401,3401,3401,1979-04-25,340.10000000000883,340.11154,2015-01-01 00:56:41,bin3401,75,False +abc,3402,3402,3402,1979-04-26,340.20000000000886,340.21155,2015-01-01 00:56:42,bin3402,35,False +abc,3403,3403,3403,1979-04-27,340.3000000000089,340.31155,2015-01-01 00:56:43,bin3403,75,False +abc,3404,3404,3404,1979-04-28,340.4000000000089,340.41156,2015-01-01 00:56:44,bin3404,35,False +abc,3405,3405,3405,1979-04-29,340.5000000000089,340.51157,2015-01-01 00:56:45,bin3405,75,False +abc,3406,3406,3406,1979-04-30,340.60000000000895,340.61157,2015-01-01 00:56:46,bin3406,35,False +abc,3407,3407,3407,1979-05-01,340.70000000000897,340.71158,2015-01-01 00:56:47,bin3407,75,False +abc,3408,3408,3408,1979-05-02,340.800000000009,340.81158,2015-01-01 00:56:48,bin3408,35,False +abc,3409,3409,3409,1979-05-03,340.900000000009,340.9116,2015-01-01 00:56:49,bin3409,75,False +abc,3410,3410,3410,1979-05-04,341.00000000000904,341.0116,2015-01-01 00:56:50,bin3410,35,False +abc,3411,3411,3411,1979-05-05,341.10000000000906,341.1116,2015-01-01 00:56:51,bin3411,75,False +abc,3412,3412,3412,1979-05-06,341.2000000000091,341.2116,2015-01-01 00:56:52,bin3412,35,False +abc,3413,3413,3413,1979-05-07,341.3000000000091,341.3116,2015-01-01 00:56:53,bin3413,75,False +abc,3414,3414,3414,1979-05-08,341.40000000000913,341.41162,2015-01-01 00:56:54,bin3414,35,False +abc,3415,3415,3415,1979-05-09,341.50000000000915,341.51163,2015-01-01 00:56:55,bin3415,75,False +abc,3416,3416,3416,1979-05-10,341.6000000000092,341.61163,2015-01-01 00:56:56,bin3416,35,False +abc,3417,3417,3417,1979-05-11,341.7000000000092,341.71164,2015-01-01 00:56:57,bin3417,75,False +abc,3418,3418,3418,1979-05-12,341.8000000000092,341.81165,2015-01-01 00:56:58,bin3418,35,False +abc,3419,3419,3419,1979-05-13,341.90000000000924,341.91165,2015-01-01 00:56:59,bin3419,75,False +abc,3420,3420,3420,1979-05-14,342.00000000000927,342.01166,2015-01-01 00:57:00,bin3420,35,False +abc,3421,3421,3421,1979-05-15,342.1000000000093,342.11166,2015-01-01 00:57:01,bin3421,75,False +abc,3422,3422,3422,1979-05-16,342.2000000000093,342.21167,2015-01-01 00:57:02,bin3422,35,False +abc,3423,3423,3423,1979-05-17,342.30000000000933,342.31168,2015-01-01 00:57:03,bin3423,75,False +abc,3424,3424,3424,1979-05-18,342.40000000000936,342.41168,2015-01-01 00:57:04,bin3424,35,False +abc,3425,3425,3425,1979-05-19,342.5000000000094,342.5117,2015-01-01 00:57:05,bin3425,75,False +abc,3426,3426,3426,1979-05-20,342.6000000000094,342.6117,2015-01-01 00:57:06,bin3426,35,False +abc,3427,3427,3427,1979-05-21,342.7000000000094,342.7117,2015-01-01 00:57:07,bin3427,75,False +abc,3428,3428,3428,1979-05-22,342.80000000000945,342.8117,2015-01-01 00:57:08,bin3428,35,False +abc,3429,3429,3429,1979-05-23,342.90000000000947,342.9117,2015-01-01 00:57:09,bin3429,75,False +abc,3430,3430,3430,1979-05-24,343.0000000000095,343.01172,2015-01-01 00:57:10,bin3430,35,False +abc,3431,3431,3431,1979-05-25,343.1000000000095,343.11172,2015-01-01 00:57:11,bin3431,75,False +abc,3432,3432,3432,1979-05-26,343.20000000000954,343.21173,2015-01-01 00:57:12,bin3432,35,False +abc,3433,3433,3433,1979-05-27,343.30000000000956,343.31174,2015-01-01 00:57:13,bin3433,75,False +abc,3434,3434,3434,1979-05-28,343.4000000000096,343.41174,2015-01-01 00:57:14,bin3434,35,False +abc,3435,3435,3435,1979-05-29,343.5000000000096,343.51175,2015-01-01 00:57:15,bin3435,75,False +abc,3436,3436,3436,1979-05-30,343.60000000000963,343.61176,2015-01-01 00:57:16,bin3436,35,False +abc,3437,3437,3437,1979-05-31,343.70000000000965,343.71176,2015-01-01 00:57:17,bin3437,75,False +abc,3438,3438,3438,1979-06-01,343.8000000000097,343.81177,2015-01-01 00:57:18,bin3438,35,False +abc,3439,3439,3439,1979-06-02,343.9000000000097,343.91177,2015-01-01 00:57:19,bin3439,75,False +abc,3440,3440,3440,1979-06-03,344.0000000000097,344.01178,2015-01-01 00:57:20,bin3440,35,False +abc,3441,3441,3441,1979-06-04,344.10000000000974,344.1118,2015-01-01 00:57:21,bin3441,75,False +abc,3442,3442,3442,1979-06-05,344.20000000000977,344.2118,2015-01-01 00:57:22,bin3442,35,False +abc,3443,3443,3443,1979-06-06,344.3000000000098,344.3118,2015-01-01 00:57:23,bin3443,75,False +abc,3444,3444,3444,1979-06-07,344.4000000000098,344.4118,2015-01-01 00:57:24,bin3444,35,False +abc,3445,3445,3445,1979-06-08,344.50000000000983,344.5118,2015-01-01 00:57:25,bin3445,75,False +abc,3446,3446,3446,1979-06-09,344.60000000000986,344.61182,2015-01-01 00:57:26,bin3446,35,False +abc,3447,3447,3447,1979-06-10,344.7000000000099,344.71182,2015-01-01 00:57:27,bin3447,75,False +abc,3448,3448,3448,1979-06-11,344.8000000000099,344.81183,2015-01-01 00:57:28,bin3448,35,False +abc,3449,3449,3449,1979-06-12,344.9000000000099,344.91183,2015-01-01 00:57:29,bin3449,75,False +abc,3450,3450,3450,1979-06-13,345.00000000000995,345.01184,2015-01-01 00:57:30,bin3450,35,False +abc,3451,3451,3451,1979-06-14,345.10000000000997,345.11185,2015-01-01 00:57:31,bin3451,75,False +abc,3452,3452,3452,1979-06-15,345.20000000001,345.21185,2015-01-01 00:57:32,bin3452,35,False +abc,3453,3453,3453,1979-06-16,345.30000000001,345.31186,2015-01-01 00:57:33,bin3453,75,False +abc,3454,3454,3454,1979-06-17,345.40000000001004,345.41187,2015-01-01 00:57:34,bin3454,35,False +abc,3455,3455,3455,1979-06-18,345.50000000001006,345.51187,2015-01-01 00:57:35,bin3455,75,False +abc,3456,3456,3456,1979-06-19,345.6000000000101,345.61188,2015-01-01 00:57:36,bin3456,35,False +abc,3457,3457,3457,1979-06-20,345.7000000000101,345.71188,2015-01-01 00:57:37,bin3457,75,False +abc,3458,3458,3458,1979-06-21,345.80000000001013,345.8119,2015-01-01 00:57:38,bin3458,35,False +abc,3459,3459,3459,1979-06-22,345.90000000001015,345.9119,2015-01-01 00:57:39,bin3459,75,False +abc,3460,3460,3460,1979-06-23,346.0000000000102,346.0119,2015-01-01 00:57:40,bin3460,35,False +abc,3461,3461,3461,1979-06-24,346.1000000000102,346.1119,2015-01-01 00:57:41,bin3461,75,False +abc,3462,3462,3462,1979-06-25,346.2000000000102,346.2119,2015-01-01 00:57:42,bin3462,35,False +abc,3463,3463,3463,1979-06-26,346.30000000001024,346.31192,2015-01-01 00:57:43,bin3463,75,False +abc,3464,3464,3464,1979-06-27,346.40000000001027,346.41193,2015-01-01 00:57:44,bin3464,35,False +abc,3465,3465,3465,1979-06-28,346.5000000000103,346.51193,2015-01-01 00:57:45,bin3465,75,False +abc,3466,3466,3466,1979-06-29,346.6000000000103,346.61194,2015-01-01 00:57:46,bin3466,35,False +abc,3467,3467,3467,1979-06-30,346.70000000001033,346.71194,2015-01-01 00:57:47,bin3467,75,False +abc,3468,3468,3468,1979-07-01,346.80000000001036,346.81195,2015-01-01 00:57:48,bin3468,35,False +abc,3469,3469,3469,1979-07-02,346.9000000000104,346.91196,2015-01-01 00:57:49,bin3469,75,False +abc,3470,3470,3470,1979-07-03,347.0000000000104,347.01196,2015-01-01 00:57:50,bin3470,35,False +abc,3471,3471,3471,1979-07-04,347.1000000000104,347.11197,2015-01-01 00:57:51,bin3471,75,False +abc,3472,3472,3472,1979-07-05,347.20000000001045,347.21198,2015-01-01 00:57:52,bin3472,35,False +abc,3473,3473,3473,1979-07-06,347.30000000001047,347.31198,2015-01-01 00:57:53,bin3473,75,False +abc,3474,3474,3474,1979-07-07,347.4000000000105,347.412,2015-01-01 00:57:54,bin3474,35,False +abc,3475,3475,3475,1979-07-08,347.5000000000105,347.512,2015-01-01 00:57:55,bin3475,75,False +abc,3476,3476,3476,1979-07-09,347.60000000001054,347.612,2015-01-01 00:57:56,bin3476,35,False +abc,3477,3477,3477,1979-07-10,347.70000000001056,347.712,2015-01-01 00:57:57,bin3477,75,False +abc,3478,3478,3478,1979-07-11,347.8000000000106,347.812,2015-01-01 00:57:58,bin3478,35,False +abc,3479,3479,3479,1979-07-12,347.9000000000106,347.91202,2015-01-01 00:57:59,bin3479,75,False +abc,3480,3480,3480,1979-07-13,348.00000000001063,348.01202,2015-01-01 00:58:00,bin3480,35,False +abc,3481,3481,3481,1979-07-14,348.10000000001065,348.11203,2015-01-01 00:58:01,bin3481,75,False +abc,3482,3482,3482,1979-07-15,348.2000000000107,348.21204,2015-01-01 00:58:02,bin3482,35,False +abc,3483,3483,3483,1979-07-16,348.3000000000107,348.31204,2015-01-01 00:58:03,bin3483,75,False +abc,3484,3484,3484,1979-07-17,348.4000000000107,348.41205,2015-01-01 00:58:04,bin3484,35,False +abc,3485,3485,3485,1979-07-18,348.50000000001074,348.51205,2015-01-01 00:58:05,bin3485,75,False +abc,3486,3486,3486,1979-07-19,348.60000000001077,348.61206,2015-01-01 00:58:06,bin3486,35,False +abc,3487,3487,3487,1979-07-20,348.7000000000108,348.71207,2015-01-01 00:58:07,bin3487,75,False +abc,3488,3488,3488,1979-07-21,348.8000000000108,348.81207,2015-01-01 00:58:08,bin3488,35,False +abc,3489,3489,3489,1979-07-22,348.90000000001083,348.91208,2015-01-01 00:58:09,bin3489,75,False +abc,3490,3490,3490,1979-07-23,349.00000000001086,349.0121,2015-01-01 00:58:10,bin3490,35,False +abc,3491,3491,3491,1979-07-24,349.1000000000109,349.1121,2015-01-01 00:58:11,bin3491,75,False +abc,3492,3492,3492,1979-07-25,349.2000000000109,349.2121,2015-01-01 00:58:12,bin3492,35,False +abc,3493,3493,3493,1979-07-26,349.3000000000109,349.3121,2015-01-01 00:58:13,bin3493,75,False +abc,3494,3494,3494,1979-07-27,349.40000000001095,349.4121,2015-01-01 00:58:14,bin3494,35,False +abc,3495,3495,3495,1979-07-28,349.50000000001097,349.51212,2015-01-01 00:58:15,bin3495,75,False +abc,3496,3496,3496,1979-07-29,349.600000000011,349.61212,2015-01-01 00:58:16,bin3496,35,False +abc,3497,3497,3497,1979-07-30,349.700000000011,349.71213,2015-01-01 00:58:17,bin3497,75,False +abc,3498,3498,3498,1979-07-31,349.80000000001104,349.81213,2015-01-01 00:58:18,bin3498,35,False +abc,3499,3499,3499,1979-08-01,349.90000000001106,349.91214,2015-01-01 00:58:19,bin3499,75,False +abc,3500,3500,3500,1979-08-02,350.0000000000111,350.01215,2015-01-01 00:58:20,bin3500,35,False +abc,3501,3501,3501,1979-08-03,350.1000000000111,350.11215,2015-01-01 00:58:21,bin3501,75,False +abc,3502,3502,3502,1979-08-04,350.20000000001113,350.21216,2015-01-01 00:58:22,bin3502,35,False +abc,3503,3503,3503,1979-08-05,350.30000000001115,350.31216,2015-01-01 00:58:23,bin3503,75,False +abc,3504,3504,3504,1979-08-06,350.4000000000112,350.41217,2015-01-01 00:58:24,bin3504,35,False +abc,3505,3505,3505,1979-08-07,350.5000000000112,350.51218,2015-01-01 00:58:25,bin3505,75,False +abc,3506,3506,3506,1979-08-08,350.6000000000112,350.61218,2015-01-01 00:58:26,bin3506,35,False +abc,3507,3507,3507,1979-08-09,350.70000000001124,350.7122,2015-01-01 00:58:27,bin3507,75,False +abc,3508,3508,3508,1979-08-10,350.80000000001127,350.8122,2015-01-01 00:58:28,bin3508,35,False +abc,3509,3509,3509,1979-08-11,350.9000000000113,350.9122,2015-01-01 00:58:29,bin3509,75,False +abc,3510,3510,3510,1979-08-12,351.0000000000113,351.0122,2015-01-01 00:58:30,bin3510,35,False +abc,3511,3511,3511,1979-08-13,351.10000000001133,351.1122,2015-01-01 00:58:31,bin3511,75,False +abc,3512,3512,3512,1979-08-14,351.20000000001136,351.21222,2015-01-01 00:58:32,bin3512,35,False +abc,3513,3513,3513,1979-08-15,351.3000000000114,351.31223,2015-01-01 00:58:33,bin3513,75,False +abc,3514,3514,3514,1979-08-16,351.4000000000114,351.41223,2015-01-01 00:58:34,bin3514,35,False +abc,3515,3515,3515,1979-08-17,351.5000000000114,351.51224,2015-01-01 00:58:35,bin3515,75,False +abc,3516,3516,3516,1979-08-18,351.60000000001145,351.61224,2015-01-01 00:58:36,bin3516,35,False +abc,3517,3517,3517,1979-08-19,351.70000000001147,351.71225,2015-01-01 00:58:37,bin3517,75,False +abc,3518,3518,3518,1979-08-20,351.8000000000115,351.81226,2015-01-01 00:58:38,bin3518,35,False +abc,3519,3519,3519,1979-08-21,351.9000000000115,351.91226,2015-01-01 00:58:39,bin3519,75,False +abc,3520,3520,3520,1979-08-22,352.00000000001154,352.01227,2015-01-01 00:58:40,bin3520,35,False +abc,3521,3521,3521,1979-08-23,352.10000000001156,352.11227,2015-01-01 00:58:41,bin3521,75,False +abc,3522,3522,3522,1979-08-24,352.2000000000116,352.21228,2015-01-01 00:58:42,bin3522,35,False +abc,3523,3523,3523,1979-08-25,352.3000000000116,352.3123,2015-01-01 00:58:43,bin3523,75,False +abc,3524,3524,3524,1979-08-26,352.40000000001163,352.4123,2015-01-01 00:58:44,bin3524,35,False +abc,3525,3525,3525,1979-08-27,352.50000000001165,352.5123,2015-01-01 00:58:45,bin3525,75,False +abc,3526,3526,3526,1979-08-28,352.6000000000117,352.6123,2015-01-01 00:58:46,bin3526,35,False +abc,3527,3527,3527,1979-08-29,352.7000000000117,352.7123,2015-01-01 00:58:47,bin3527,75,False +abc,3528,3528,3528,1979-08-30,352.8000000000117,352.81232,2015-01-01 00:58:48,bin3528,35,False +abc,3529,3529,3529,1979-08-31,352.90000000001174,352.91232,2015-01-01 00:58:49,bin3529,75,False +abc,3530,3530,3530,1979-09-01,353.00000000001177,353.01233,2015-01-01 00:58:50,bin3530,35,False +abc,3531,3531,3531,1979-09-02,353.1000000000118,353.11234,2015-01-01 00:58:51,bin3531,75,False +abc,3532,3532,3532,1979-09-03,353.2000000000118,353.21234,2015-01-01 00:58:52,bin3532,35,False +abc,3533,3533,3533,1979-09-04,353.30000000001183,353.31235,2015-01-01 00:58:53,bin3533,75,False +abc,3534,3534,3534,1979-09-05,353.40000000001186,353.41235,2015-01-01 00:58:54,bin3534,35,False +abc,3535,3535,3535,1979-09-06,353.5000000000119,353.51236,2015-01-01 00:58:55,bin3535,75,False +abc,3536,3536,3536,1979-09-07,353.6000000000119,353.61237,2015-01-01 00:58:56,bin3536,35,False +abc,3537,3537,3537,1979-09-08,353.7000000000119,353.71237,2015-01-01 00:58:57,bin3537,75,False +abc,3538,3538,3538,1979-09-09,353.80000000001195,353.81238,2015-01-01 00:58:58,bin3538,35,False +abc,3539,3539,3539,1979-09-10,353.90000000001197,353.91238,2015-01-01 00:58:59,bin3539,75,False +abc,3540,3540,3540,1979-09-11,354.000000000012,354.0124,2015-01-01 00:59:00,bin3540,35,False +abc,3541,3541,3541,1979-09-12,354.100000000012,354.1124,2015-01-01 00:59:01,bin3541,75,False +abc,3542,3542,3542,1979-09-13,354.20000000001204,354.2124,2015-01-01 00:59:02,bin3542,35,False +abc,3543,3543,3543,1979-09-14,354.30000000001206,354.3124,2015-01-01 00:59:03,bin3543,75,False +abc,3544,3544,3544,1979-09-15,354.4000000000121,354.4124,2015-01-01 00:59:04,bin3544,35,False +abc,3545,3545,3545,1979-09-16,354.5000000000121,354.51242,2015-01-01 00:59:05,bin3545,75,False +abc,3546,3546,3546,1979-09-17,354.60000000001213,354.61243,2015-01-01 00:59:06,bin3546,35,False +abc,3547,3547,3547,1979-09-18,354.70000000001215,354.71243,2015-01-01 00:59:07,bin3547,75,False +abc,3548,3548,3548,1979-09-19,354.8000000000122,354.81244,2015-01-01 00:59:08,bin3548,35,False +abc,3549,3549,3549,1979-09-20,354.9000000000122,354.91245,2015-01-01 00:59:09,bin3549,75,False +abc,3550,3550,3550,1979-09-21,355.0000000000122,355.01245,2015-01-01 00:59:10,bin3550,35,False +abc,3551,3551,3551,1979-09-22,355.10000000001224,355.11246,2015-01-01 00:59:11,bin3551,75,False +abc,3552,3552,3552,1979-09-23,355.20000000001227,355.21246,2015-01-01 00:59:12,bin3552,35,False +abc,3553,3553,3553,1979-09-24,355.3000000000123,355.31247,2015-01-01 00:59:13,bin3553,75,False +abc,3554,3554,3554,1979-09-25,355.4000000000123,355.41248,2015-01-01 00:59:14,bin3554,35,False +abc,3555,3555,3555,1979-09-26,355.50000000001234,355.51248,2015-01-01 00:59:15,bin3555,75,False +abc,3556,3556,3556,1979-09-27,355.60000000001236,355.6125,2015-01-01 00:59:16,bin3556,35,False +abc,3557,3557,3557,1979-09-28,355.7000000000124,355.7125,2015-01-01 00:59:17,bin3557,75,False +abc,3558,3558,3558,1979-09-29,355.8000000000124,355.8125,2015-01-01 00:59:18,bin3558,35,False +abc,3559,3559,3559,1979-09-30,355.9000000000124,355.9125,2015-01-01 00:59:19,bin3559,75,False +abc,3560,3560,3560,1979-10-01,356.00000000001245,356.0125,2015-01-01 00:59:20,bin3560,35,False +abc,3561,3561,3561,1979-10-02,356.10000000001247,356.11252,2015-01-01 00:59:21,bin3561,75,False +abc,3562,3562,3562,1979-10-03,356.2000000000125,356.21252,2015-01-01 00:59:22,bin3562,35,False +abc,3563,3563,3563,1979-10-04,356.3000000000125,356.31253,2015-01-01 00:59:23,bin3563,75,False +abc,3564,3564,3564,1979-10-05,356.40000000001254,356.41254,2015-01-01 00:59:24,bin3564,35,False +abc,3565,3565,3565,1979-10-06,356.50000000001256,356.51254,2015-01-01 00:59:25,bin3565,75,False +abc,3566,3566,3566,1979-10-07,356.6000000000126,356.61255,2015-01-01 00:59:26,bin3566,35,False +abc,3567,3567,3567,1979-10-08,356.7000000000126,356.71255,2015-01-01 00:59:27,bin3567,75,False +abc,3568,3568,3568,1979-10-09,356.80000000001263,356.81256,2015-01-01 00:59:28,bin3568,35,False +abc,3569,3569,3569,1979-10-10,356.90000000001265,356.91257,2015-01-01 00:59:29,bin3569,75,False +abc,3570,3570,3570,1979-10-11,357.0000000000127,357.01257,2015-01-01 00:59:30,bin3570,35,False +abc,3571,3571,3571,1979-10-12,357.1000000000127,357.11258,2015-01-01 00:59:31,bin3571,75,False +abc,3572,3572,3572,1979-10-13,357.2000000000127,357.2126,2015-01-01 00:59:32,bin3572,35,False +abc,3573,3573,3573,1979-10-14,357.30000000001274,357.3126,2015-01-01 00:59:33,bin3573,75,False +abc,3574,3574,3574,1979-10-15,357.40000000001277,357.4126,2015-01-01 00:59:34,bin3574,35,False +abc,3575,3575,3575,1979-10-16,357.5000000000128,357.5126,2015-01-01 00:59:35,bin3575,75,False +abc,3576,3576,3576,1979-10-17,357.6000000000128,357.6126,2015-01-01 00:59:36,bin3576,35,False +abc,3577,3577,3577,1979-10-18,357.70000000001284,357.71262,2015-01-01 00:59:37,bin3577,75,False +abc,3578,3578,3578,1979-10-19,357.80000000001286,357.81262,2015-01-01 00:59:38,bin3578,35,False +abc,3579,3579,3579,1979-10-20,357.9000000000129,357.91263,2015-01-01 00:59:39,bin3579,75,False +abc,3580,3580,3580,1979-10-21,358.0000000000129,358.01263,2015-01-01 00:59:40,bin3580,35,False +abc,3581,3581,3581,1979-10-22,358.1000000000129,358.11264,2015-01-01 00:59:41,bin3581,75,False +abc,3582,3582,3582,1979-10-23,358.20000000001295,358.21265,2015-01-01 00:59:42,bin3582,35,False +abc,3583,3583,3583,1979-10-24,358.300000000013,358.31265,2015-01-01 00:59:43,bin3583,75,False +abc,3584,3584,3584,1979-10-25,358.400000000013,358.41266,2015-01-01 00:59:44,bin3584,35,False +abc,3585,3585,3585,1979-10-26,358.500000000013,358.51266,2015-01-01 00:59:45,bin3585,75,False +abc,3586,3586,3586,1979-10-27,358.60000000001304,358.61267,2015-01-01 00:59:46,bin3586,35,False +abc,3587,3587,3587,1979-10-28,358.70000000001306,358.71268,2015-01-01 00:59:47,bin3587,75,False +abc,3588,3588,3588,1979-10-29,358.8000000000131,358.81268,2015-01-01 00:59:48,bin3588,35,False +abc,3589,3589,3589,1979-10-30,358.9000000000131,358.9127,2015-01-01 00:59:49,bin3589,75,False +abc,3590,3590,3590,1979-10-31,359.00000000001313,359.0127,2015-01-01 00:59:50,bin3590,35,False +abc,3591,3591,3591,1979-11-01,359.10000000001315,359.1127,2015-01-01 00:59:51,bin3591,75,False +abc,3592,3592,3592,1979-11-02,359.2000000000132,359.2127,2015-01-01 00:59:52,bin3592,35,False +abc,3593,3593,3593,1979-11-03,359.3000000000132,359.3127,2015-01-01 00:59:53,bin3593,75,False +abc,3594,3594,3594,1979-11-04,359.4000000000132,359.41272,2015-01-01 00:59:54,bin3594,35,False +abc,3595,3595,3595,1979-11-05,359.50000000001324,359.51273,2015-01-01 00:59:55,bin3595,75,False +abc,3596,3596,3596,1979-11-06,359.60000000001327,359.61273,2015-01-01 00:59:56,bin3596,35,False +abc,3597,3597,3597,1979-11-07,359.7000000000133,359.71274,2015-01-01 00:59:57,bin3597,75,False +abc,3598,3598,3598,1979-11-08,359.8000000000133,359.81274,2015-01-01 00:59:58,bin3598,35,False +abc,3599,3599,3599,1979-11-09,359.90000000001334,359.91275,2015-01-01 00:59:59,bin3599,75,False +abc,3600,3600,3600,1979-11-10,360.00000000001336,360.01276,2015-01-01 01:00:00,bin3600,35,False +abc,3601,3601,3601,1979-11-11,360.1000000000134,360.11276,2015-01-01 01:00:01,bin3601,75,False +abc,3602,3602,3602,1979-11-12,360.2000000000134,360.21277,2015-01-01 01:00:02,bin3602,35,False +abc,3603,3603,3603,1979-11-13,360.3000000000134,360.31277,2015-01-01 01:00:03,bin3603,75,False +abc,3604,3604,3604,1979-11-14,360.40000000001345,360.41278,2015-01-01 01:00:04,bin3604,35,False +abc,3605,3605,3605,1979-11-15,360.5000000000135,360.5128,2015-01-01 01:00:05,bin3605,75,False +abc,3606,3606,3606,1979-11-16,360.6000000000135,360.6128,2015-01-01 01:00:06,bin3606,35,False +abc,3607,3607,3607,1979-11-17,360.7000000000135,360.7128,2015-01-01 01:00:07,bin3607,75,False +abc,3608,3608,3608,1979-11-18,360.80000000001354,360.8128,2015-01-01 01:00:08,bin3608,35,False +abc,3609,3609,3609,1979-11-19,360.90000000001356,360.9128,2015-01-01 01:00:09,bin3609,75,False +abc,3610,3610,3610,1979-11-20,361.0000000000136,361.01282,2015-01-01 01:00:10,bin3610,35,False +abc,3611,3611,3611,1979-11-21,361.1000000000136,361.11282,2015-01-01 01:00:11,bin3611,75,False +abc,3612,3612,3612,1979-11-22,361.20000000001363,361.21283,2015-01-01 01:00:12,bin3612,35,False +abc,3613,3613,3613,1979-11-23,361.30000000001365,361.31284,2015-01-01 01:00:13,bin3613,75,False +abc,3614,3614,3614,1979-11-24,361.4000000000137,361.41284,2015-01-01 01:00:14,bin3614,35,False +abc,3615,3615,3615,1979-11-25,361.5000000000137,361.51285,2015-01-01 01:00:15,bin3615,75,False +abc,3616,3616,3616,1979-11-26,361.6000000000137,361.61285,2015-01-01 01:00:16,bin3616,35,False +abc,3617,3617,3617,1979-11-27,361.70000000001374,361.71286,2015-01-01 01:00:17,bin3617,75,False +abc,3618,3618,3618,1979-11-28,361.80000000001377,361.81287,2015-01-01 01:00:18,bin3618,35,False +abc,3619,3619,3619,1979-11-29,361.9000000000138,361.91287,2015-01-01 01:00:19,bin3619,75,False +abc,3620,3620,3620,1979-11-30,362.0000000000138,362.01288,2015-01-01 01:00:20,bin3620,35,False +abc,3621,3621,3621,1979-12-01,362.10000000001384,362.11288,2015-01-01 01:00:21,bin3621,75,False +abc,3622,3622,3622,1979-12-02,362.20000000001386,362.2129,2015-01-01 01:00:22,bin3622,35,False +abc,3623,3623,3623,1979-12-03,362.3000000000139,362.3129,2015-01-01 01:00:23,bin3623,75,False +abc,3624,3624,3624,1979-12-04,362.4000000000139,362.4129,2015-01-01 01:00:24,bin3624,35,False +abc,3625,3625,3625,1979-12-05,362.5000000000139,362.5129,2015-01-01 01:00:25,bin3625,75,False +abc,3626,3626,3626,1979-12-06,362.60000000001395,362.6129,2015-01-01 01:00:26,bin3626,35,False +abc,3627,3627,3627,1979-12-07,362.700000000014,362.71292,2015-01-01 01:00:27,bin3627,75,False +abc,3628,3628,3628,1979-12-08,362.800000000014,362.81293,2015-01-01 01:00:28,bin3628,35,False +abc,3629,3629,3629,1979-12-09,362.900000000014,362.91293,2015-01-01 01:00:29,bin3629,75,False +abc,3630,3630,3630,1979-12-10,363.00000000001404,363.01294,2015-01-01 01:00:30,bin3630,35,False +abc,3631,3631,3631,1979-12-11,363.10000000001406,363.11295,2015-01-01 01:00:31,bin3631,75,False +abc,3632,3632,3632,1979-12-12,363.2000000000141,363.21295,2015-01-01 01:00:32,bin3632,35,False +abc,3633,3633,3633,1979-12-13,363.3000000000141,363.31296,2015-01-01 01:00:33,bin3633,75,False +abc,3634,3634,3634,1979-12-14,363.40000000001413,363.41296,2015-01-01 01:00:34,bin3634,35,False +abc,3635,3635,3635,1979-12-15,363.50000000001415,363.51297,2015-01-01 01:00:35,bin3635,75,False +abc,3636,3636,3636,1979-12-16,363.6000000000142,363.61298,2015-01-01 01:00:36,bin3636,35,False +abc,3637,3637,3637,1979-12-17,363.7000000000142,363.71298,2015-01-01 01:00:37,bin3637,75,False +abc,3638,3638,3638,1979-12-18,363.8000000000142,363.813,2015-01-01 01:00:38,bin3638,35,False +abc,3639,3639,3639,1979-12-19,363.90000000001424,363.913,2015-01-01 01:00:39,bin3639,75,False +abc,3640,3640,3640,1979-12-20,364.00000000001427,364.013,2015-01-01 01:00:40,bin3640,35,False +abc,3641,3641,3641,1979-12-21,364.1000000000143,364.113,2015-01-01 01:00:41,bin3641,75,False +abc,3642,3642,3642,1979-12-22,364.2000000000143,364.213,2015-01-01 01:00:42,bin3642,35,False +abc,3643,3643,3643,1979-12-23,364.30000000001434,364.31302,2015-01-01 01:00:43,bin3643,75,False +abc,3644,3644,3644,1979-12-24,364.40000000001436,364.41302,2015-01-01 01:00:44,bin3644,35,False +abc,3645,3645,3645,1979-12-25,364.5000000000144,364.51303,2015-01-01 01:00:45,bin3645,75,False +abc,3646,3646,3646,1979-12-26,364.6000000000144,364.61304,2015-01-01 01:00:46,bin3646,35,False +abc,3647,3647,3647,1979-12-27,364.7000000000144,364.71304,2015-01-01 01:00:47,bin3647,75,False +abc,3648,3648,3648,1979-12-28,364.80000000001445,364.81305,2015-01-01 01:00:48,bin3648,35,False +abc,3649,3649,3649,1979-12-29,364.9000000000145,364.91306,2015-01-01 01:00:49,bin3649,75,False +abc,3650,3650,3650,1979-12-30,365.0000000000145,365.01306,2015-01-01 01:00:50,bin3650,35,False +abc,3651,3651,3651,1979-12-31,365.1000000000145,365.11307,2015-01-01 01:00:51,bin3651,75,False +abc,3652,3652,3652,1980-01-01,365.20000000001454,365.21307,2015-01-01 01:00:52,bin3652,35,False +abc,3653,3653,3653,1980-01-02,365.30000000001456,365.31308,2015-01-01 01:00:53,bin3653,75,False +abc,3654,3654,3654,1980-01-03,365.4000000000146,365.4131,2015-01-01 01:00:54,bin3654,35,False +abc,3655,3655,3655,1980-01-04,365.5000000000146,365.5131,2015-01-01 01:00:55,bin3655,75,False +abc,3656,3656,3656,1980-01-05,365.60000000001463,365.6131,2015-01-01 01:00:56,bin3656,35,False +abc,3657,3657,3657,1980-01-06,365.70000000001465,365.7131,2015-01-01 01:00:57,bin3657,75,False +abc,3658,3658,3658,1980-01-07,365.8000000000147,365.8131,2015-01-01 01:00:58,bin3658,35,False +abc,3659,3659,3659,1980-01-08,365.9000000000147,365.91312,2015-01-01 01:00:59,bin3659,75,False +abc,3660,3660,3660,1980-01-09,366.0000000000147,366.01312,2015-01-01 01:01:00,bin3660,35,False +abc,3661,3661,3661,1980-01-10,366.10000000001475,366.11313,2015-01-01 01:01:01,bin3661,75,False +abc,3662,3662,3662,1980-01-11,366.20000000001477,366.21313,2015-01-01 01:01:02,bin3662,35,False +abc,3663,3663,3663,1980-01-12,366.3000000000148,366.31314,2015-01-01 01:01:03,bin3663,75,False +abc,3664,3664,3664,1980-01-13,366.4000000000148,366.41315,2015-01-01 01:01:04,bin3664,35,False +abc,3665,3665,3665,1980-01-14,366.50000000001484,366.51315,2015-01-01 01:01:05,bin3665,75,False +abc,3666,3666,3666,1980-01-15,366.60000000001486,366.61316,2015-01-01 01:01:06,bin3666,35,False +abc,3667,3667,3667,1980-01-16,366.7000000000149,366.71317,2015-01-01 01:01:07,bin3667,75,False +abc,3668,3668,3668,1980-01-17,366.8000000000149,366.81317,2015-01-01 01:01:08,bin3668,35,False +abc,3669,3669,3669,1980-01-18,366.9000000000149,366.91318,2015-01-01 01:01:09,bin3669,75,False +abc,3670,3670,3670,1980-01-19,367.00000000001495,367.01318,2015-01-01 01:01:10,bin3670,35,False +abc,3671,3671,3671,1980-01-20,367.100000000015,367.1132,2015-01-01 01:01:11,bin3671,75,False +abc,3672,3672,3672,1980-01-21,367.200000000015,367.2132,2015-01-01 01:01:12,bin3672,35,False +abc,3673,3673,3673,1980-01-22,367.300000000015,367.3132,2015-01-01 01:01:13,bin3673,75,False +abc,3674,3674,3674,1980-01-23,367.40000000001504,367.4132,2015-01-01 01:01:14,bin3674,35,False +abc,3675,3675,3675,1980-01-24,367.50000000001506,367.5132,2015-01-01 01:01:15,bin3675,75,False +abc,3676,3676,3676,1980-01-25,367.6000000000151,367.61322,2015-01-01 01:01:16,bin3676,35,False +abc,3677,3677,3677,1980-01-26,367.7000000000151,367.71323,2015-01-01 01:01:17,bin3677,75,False +abc,3678,3678,3678,1980-01-27,367.80000000001513,367.81323,2015-01-01 01:01:18,bin3678,35,False +abc,3679,3679,3679,1980-01-28,367.90000000001515,367.91324,2015-01-01 01:01:19,bin3679,75,False +abc,3680,3680,3680,1980-01-29,368.0000000000152,368.01324,2015-01-01 01:01:20,bin3680,35,False +abc,3681,3681,3681,1980-01-30,368.1000000000152,368.11325,2015-01-01 01:01:21,bin3681,75,False +abc,3682,3682,3682,1980-01-31,368.2000000000152,368.21326,2015-01-01 01:01:22,bin3682,35,False +abc,3683,3683,3683,1980-02-01,368.30000000001525,368.31326,2015-01-01 01:01:23,bin3683,75,False +abc,3684,3684,3684,1980-02-02,368.40000000001527,368.41327,2015-01-01 01:01:24,bin3684,35,False +abc,3685,3685,3685,1980-02-03,368.5000000000153,368.51328,2015-01-01 01:01:25,bin3685,75,False +abc,3686,3686,3686,1980-02-04,368.6000000000153,368.61328,2015-01-01 01:01:26,bin3686,35,False +abc,3687,3687,3687,1980-02-05,368.70000000001534,368.7133,2015-01-01 01:01:27,bin3687,75,False +abc,3688,3688,3688,1980-02-06,368.80000000001536,368.8133,2015-01-01 01:01:28,bin3688,35,False +abc,3689,3689,3689,1980-02-07,368.9000000000154,368.9133,2015-01-01 01:01:29,bin3689,75,False +abc,3690,3690,3690,1980-02-08,369.0000000000154,369.0133,2015-01-01 01:01:30,bin3690,35,False +abc,3691,3691,3691,1980-02-09,369.1000000000154,369.1133,2015-01-01 01:01:31,bin3691,75,False +abc,3692,3692,3692,1980-02-10,369.20000000001545,369.21332,2015-01-01 01:01:32,bin3692,35,False +abc,3693,3693,3693,1980-02-11,369.3000000000155,369.31332,2015-01-01 01:01:33,bin3693,75,False +abc,3694,3694,3694,1980-02-12,369.4000000000155,369.41333,2015-01-01 01:01:34,bin3694,35,False +abc,3695,3695,3695,1980-02-13,369.5000000000155,369.51334,2015-01-01 01:01:35,bin3695,75,False +abc,3696,3696,3696,1980-02-14,369.60000000001554,369.61334,2015-01-01 01:01:36,bin3696,35,False +abc,3697,3697,3697,1980-02-15,369.70000000001556,369.71335,2015-01-01 01:01:37,bin3697,75,False +abc,3698,3698,3698,1980-02-16,369.8000000000156,369.81335,2015-01-01 01:01:38,bin3698,35,False +abc,3699,3699,3699,1980-02-17,369.9000000000156,369.91336,2015-01-01 01:01:39,bin3699,75,False +abc,3700,3700,3700,1980-02-18,370.00000000001563,370.01337,2015-01-01 01:01:40,bin3700,35,False +abc,3701,3701,3701,1980-02-19,370.10000000001565,370.11337,2015-01-01 01:01:41,bin3701,75,False +abc,3702,3702,3702,1980-02-20,370.2000000000157,370.21338,2015-01-01 01:01:42,bin3702,35,False +abc,3703,3703,3703,1980-02-21,370.3000000000157,370.3134,2015-01-01 01:01:43,bin3703,75,False +abc,3704,3704,3704,1980-02-22,370.4000000000157,370.4134,2015-01-01 01:01:44,bin3704,35,False +abc,3705,3705,3705,1980-02-23,370.50000000001575,370.5134,2015-01-01 01:01:45,bin3705,75,False +abc,3706,3706,3706,1980-02-24,370.60000000001577,370.6134,2015-01-01 01:01:46,bin3706,35,False +abc,3707,3707,3707,1980-02-25,370.7000000000158,370.7134,2015-01-01 01:01:47,bin3707,75,False +abc,3708,3708,3708,1980-02-26,370.8000000000158,370.81342,2015-01-01 01:01:48,bin3708,35,False +abc,3709,3709,3709,1980-02-27,370.90000000001584,370.91342,2015-01-01 01:01:49,bin3709,75,False +abc,3710,3710,3710,1980-02-28,371.00000000001586,371.01343,2015-01-01 01:01:50,bin3710,35,False +abc,3711,3711,3711,1980-02-29,371.1000000000159,371.11343,2015-01-01 01:01:51,bin3711,75,False +abc,3712,3712,3712,1980-03-01,371.2000000000159,371.21344,2015-01-01 01:01:52,bin3712,35,False +abc,3713,3713,3713,1980-03-02,371.3000000000159,371.31345,2015-01-01 01:01:53,bin3713,75,False +abc,3714,3714,3714,1980-03-03,371.40000000001595,371.41345,2015-01-01 01:01:54,bin3714,35,False +abc,3715,3715,3715,1980-03-04,371.500000000016,371.51346,2015-01-01 01:01:55,bin3715,75,False +abc,3716,3716,3716,1980-03-05,371.600000000016,371.61346,2015-01-01 01:01:56,bin3716,35,False +abc,3717,3717,3717,1980-03-06,371.700000000016,371.71347,2015-01-01 01:01:57,bin3717,75,False +abc,3718,3718,3718,1980-03-07,371.80000000001604,371.81348,2015-01-01 01:01:58,bin3718,35,False +abc,3719,3719,3719,1980-03-08,371.90000000001606,371.91348,2015-01-01 01:01:59,bin3719,75,False +abc,3720,3720,3720,1980-03-09,372.0000000000161,372.0135,2015-01-01 01:02:00,bin3720,35,False +abc,3721,3721,3721,1980-03-10,372.1000000000161,372.1135,2015-01-01 01:02:01,bin3721,75,False +abc,3722,3722,3722,1980-03-11,372.20000000001613,372.2135,2015-01-01 01:02:02,bin3722,35,False +abc,3723,3723,3723,1980-03-12,372.30000000001615,372.3135,2015-01-01 01:02:03,bin3723,75,False +abc,3724,3724,3724,1980-03-13,372.4000000000162,372.4135,2015-01-01 01:02:04,bin3724,35,False +abc,3725,3725,3725,1980-03-14,372.5000000000162,372.51352,2015-01-01 01:02:05,bin3725,75,False +abc,3726,3726,3726,1980-03-15,372.6000000000162,372.61353,2015-01-01 01:02:06,bin3726,35,False +abc,3727,3727,3727,1980-03-16,372.70000000001625,372.71353,2015-01-01 01:02:07,bin3727,75,False +abc,3728,3728,3728,1980-03-17,372.80000000001627,372.81354,2015-01-01 01:02:08,bin3728,35,False +abc,3729,3729,3729,1980-03-18,372.9000000000163,372.91354,2015-01-01 01:02:09,bin3729,75,False +abc,3730,3730,3730,1980-03-19,373.0000000000163,373.01355,2015-01-01 01:02:10,bin3730,35,False +abc,3731,3731,3731,1980-03-20,373.10000000001634,373.11356,2015-01-01 01:02:11,bin3731,75,False +abc,3732,3732,3732,1980-03-21,373.20000000001636,373.21356,2015-01-01 01:02:12,bin3732,35,False +abc,3733,3733,3733,1980-03-22,373.3000000000164,373.31357,2015-01-01 01:02:13,bin3733,75,False +abc,3734,3734,3734,1980-03-23,373.4000000000164,373.41357,2015-01-01 01:02:14,bin3734,35,False +abc,3735,3735,3735,1980-03-24,373.5000000000164,373.51358,2015-01-01 01:02:15,bin3735,75,False +abc,3736,3736,3736,1980-03-25,373.60000000001645,373.6136,2015-01-01 01:02:16,bin3736,35,False +abc,3737,3737,3737,1980-03-26,373.7000000000165,373.7136,2015-01-01 01:02:17,bin3737,75,False +abc,3738,3738,3738,1980-03-27,373.8000000000165,373.8136,2015-01-01 01:02:18,bin3738,35,False +abc,3739,3739,3739,1980-03-28,373.9000000000165,373.9136,2015-01-01 01:02:19,bin3739,75,False +abc,3740,3740,3740,1980-03-29,374.00000000001654,374.0136,2015-01-01 01:02:20,bin3740,35,False +abc,3741,3741,3741,1980-03-30,374.10000000001656,374.11362,2015-01-01 01:02:21,bin3741,75,False +abc,3742,3742,3742,1980-03-31,374.2000000000166,374.21362,2015-01-01 01:02:22,bin3742,35,False +abc,3743,3743,3743,1980-04-01,374.3000000000166,374.31363,2015-01-01 01:02:23,bin3743,75,False +abc,3744,3744,3744,1980-04-02,374.40000000001663,374.41364,2015-01-01 01:02:24,bin3744,35,False +abc,3745,3745,3745,1980-04-03,374.50000000001666,374.51364,2015-01-01 01:02:25,bin3745,75,False +abc,3746,3746,3746,1980-04-04,374.6000000000167,374.61365,2015-01-01 01:02:26,bin3746,35,False +abc,3747,3747,3747,1980-04-05,374.7000000000167,374.71365,2015-01-01 01:02:27,bin3747,75,False +abc,3748,3748,3748,1980-04-06,374.8000000000167,374.81366,2015-01-01 01:02:28,bin3748,35,False +abc,3749,3749,3749,1980-04-07,374.90000000001675,374.91367,2015-01-01 01:02:29,bin3749,75,False +abc,3750,3750,3750,1980-04-08,375.00000000001677,375.01367,2015-01-01 01:02:30,bin3750,35,False +abc,3751,3751,3751,1980-04-09,375.1000000000168,375.11368,2015-01-01 01:02:31,bin3751,75,False +abc,3752,3752,3752,1980-04-10,375.2000000000168,375.21368,2015-01-01 01:02:32,bin3752,35,False +abc,3753,3753,3753,1980-04-11,375.30000000001684,375.3137,2015-01-01 01:02:33,bin3753,75,False +abc,3754,3754,3754,1980-04-12,375.40000000001686,375.4137,2015-01-01 01:02:34,bin3754,35,False +abc,3755,3755,3755,1980-04-13,375.5000000000169,375.5137,2015-01-01 01:02:35,bin3755,75,False +abc,3756,3756,3756,1980-04-14,375.6000000000169,375.6137,2015-01-01 01:02:36,bin3756,35,False +abc,3757,3757,3757,1980-04-15,375.7000000000169,375.7137,2015-01-01 01:02:37,bin3757,75,False +abc,3758,3758,3758,1980-04-16,375.80000000001695,375.81372,2015-01-01 01:02:38,bin3758,35,False +abc,3759,3759,3759,1980-04-17,375.900000000017,375.91373,2015-01-01 01:02:39,bin3759,75,False +abc,3760,3760,3760,1980-04-18,376.000000000017,376.01373,2015-01-01 01:02:40,bin3760,35,False +abc,3761,3761,3761,1980-04-19,376.100000000017,376.11374,2015-01-01 01:02:41,bin3761,75,False +abc,3762,3762,3762,1980-04-20,376.20000000001704,376.21375,2015-01-01 01:02:42,bin3762,35,False +abc,3763,3763,3763,1980-04-21,376.30000000001706,376.31375,2015-01-01 01:02:43,bin3763,75,False +abc,3764,3764,3764,1980-04-22,376.4000000000171,376.41376,2015-01-01 01:02:44,bin3764,35,False +abc,3765,3765,3765,1980-04-23,376.5000000000171,376.51376,2015-01-01 01:02:45,bin3765,75,False +abc,3766,3766,3766,1980-04-24,376.60000000001713,376.61377,2015-01-01 01:02:46,bin3766,35,False +abc,3767,3767,3767,1980-04-25,376.70000000001716,376.71378,2015-01-01 01:02:47,bin3767,75,False +abc,3768,3768,3768,1980-04-26,376.8000000000172,376.81378,2015-01-01 01:02:48,bin3768,35,False +abc,3769,3769,3769,1980-04-27,376.9000000000172,376.9138,2015-01-01 01:02:49,bin3769,75,False +abc,3770,3770,3770,1980-04-28,377.0000000000172,377.0138,2015-01-01 01:02:50,bin3770,35,False +abc,3771,3771,3771,1980-04-29,377.10000000001725,377.1138,2015-01-01 01:02:51,bin3771,75,False +abc,3772,3772,3772,1980-04-30,377.20000000001727,377.2138,2015-01-01 01:02:52,bin3772,35,False +abc,3773,3773,3773,1980-05-01,377.3000000000173,377.3138,2015-01-01 01:02:53,bin3773,75,False +abc,3774,3774,3774,1980-05-02,377.4000000000173,377.41382,2015-01-01 01:02:54,bin3774,35,False +abc,3775,3775,3775,1980-05-03,377.50000000001734,377.51382,2015-01-01 01:02:55,bin3775,75,False +abc,3776,3776,3776,1980-05-04,377.60000000001736,377.61383,2015-01-01 01:02:56,bin3776,35,False +abc,3777,3777,3777,1980-05-05,377.7000000000174,377.71384,2015-01-01 01:02:57,bin3777,75,False +abc,3778,3778,3778,1980-05-06,377.8000000000174,377.81384,2015-01-01 01:02:58,bin3778,35,False +abc,3779,3779,3779,1980-05-07,377.9000000000174,377.91385,2015-01-01 01:02:59,bin3779,75,False +abc,3780,3780,3780,1980-05-08,378.00000000001745,378.01385,2015-01-01 01:03:00,bin3780,35,False +abc,3781,3781,3781,1980-05-09,378.1000000000175,378.11386,2015-01-01 01:03:01,bin3781,75,False +abc,3782,3782,3782,1980-05-10,378.2000000000175,378.21387,2015-01-01 01:03:02,bin3782,35,False +abc,3783,3783,3783,1980-05-11,378.3000000000175,378.31387,2015-01-01 01:03:03,bin3783,75,False +abc,3784,3784,3784,1980-05-12,378.40000000001754,378.41388,2015-01-01 01:03:04,bin3784,35,False +abc,3785,3785,3785,1980-05-13,378.50000000001756,378.5139,2015-01-01 01:03:05,bin3785,75,False +abc,3786,3786,3786,1980-05-14,378.6000000000176,378.6139,2015-01-01 01:03:06,bin3786,35,False +abc,3787,3787,3787,1980-05-15,378.7000000000176,378.7139,2015-01-01 01:03:07,bin3787,75,False +abc,3788,3788,3788,1980-05-16,378.80000000001763,378.8139,2015-01-01 01:03:08,bin3788,35,False +abc,3789,3789,3789,1980-05-17,378.90000000001766,378.9139,2015-01-01 01:03:09,bin3789,75,False +abc,3790,3790,3790,1980-05-18,379.0000000000177,379.01392,2015-01-01 01:03:10,bin3790,35,False +abc,3791,3791,3791,1980-05-19,379.1000000000177,379.11392,2015-01-01 01:03:11,bin3791,75,False +abc,3792,3792,3792,1980-05-20,379.2000000000177,379.21393,2015-01-01 01:03:12,bin3792,35,False +abc,3793,3793,3793,1980-05-21,379.30000000001775,379.31393,2015-01-01 01:03:13,bin3793,75,False +abc,3794,3794,3794,1980-05-22,379.40000000001777,379.41394,2015-01-01 01:03:14,bin3794,35,False +abc,3795,3795,3795,1980-05-23,379.5000000000178,379.51395,2015-01-01 01:03:15,bin3795,75,False +abc,3796,3796,3796,1980-05-24,379.6000000000178,379.61395,2015-01-01 01:03:16,bin3796,35,False +abc,3797,3797,3797,1980-05-25,379.70000000001784,379.71396,2015-01-01 01:03:17,bin3797,75,False +abc,3798,3798,3798,1980-05-26,379.80000000001786,379.81396,2015-01-01 01:03:18,bin3798,35,False +abc,3799,3799,3799,1980-05-27,379.9000000000179,379.91397,2015-01-01 01:03:19,bin3799,75,False +abc,3800,3800,3800,1980-05-28,380.0000000000179,380.01398,2015-01-01 01:03:20,bin3800,35,False +abc,3801,3801,3801,1980-05-29,380.1000000000179,380.11398,2015-01-01 01:03:21,bin3801,75,False +abc,3802,3802,3802,1980-05-30,380.20000000001795,380.214,2015-01-01 01:03:22,bin3802,35,False +abc,3803,3803,3803,1980-05-31,380.300000000018,380.314,2015-01-01 01:03:23,bin3803,75,False +abc,3804,3804,3804,1980-06-01,380.400000000018,380.414,2015-01-01 01:03:24,bin3804,35,False +abc,3805,3805,3805,1980-06-02,380.500000000018,380.514,2015-01-01 01:03:25,bin3805,75,False +abc,3806,3806,3806,1980-06-03,380.60000000001804,380.614,2015-01-01 01:03:26,bin3806,35,False +abc,3807,3807,3807,1980-06-04,380.70000000001806,380.71402,2015-01-01 01:03:27,bin3807,75,False +abc,3808,3808,3808,1980-06-05,380.8000000000181,380.81403,2015-01-01 01:03:28,bin3808,35,False +abc,3809,3809,3809,1980-06-06,380.9000000000181,380.91403,2015-01-01 01:03:29,bin3809,75,False +abc,3810,3810,3810,1980-06-07,381.00000000001813,381.01404,2015-01-01 01:03:30,bin3810,35,False +abc,3811,3811,3811,1980-06-08,381.10000000001816,381.11404,2015-01-01 01:03:31,bin3811,75,False +abc,3812,3812,3812,1980-06-09,381.2000000000182,381.21405,2015-01-01 01:03:32,bin3812,35,False +abc,3813,3813,3813,1980-06-10,381.3000000000182,381.31406,2015-01-01 01:03:33,bin3813,75,False +abc,3814,3814,3814,1980-06-11,381.4000000000182,381.41406,2015-01-01 01:03:34,bin3814,35,False +abc,3815,3815,3815,1980-06-12,381.50000000001825,381.51407,2015-01-01 01:03:35,bin3815,75,False +abc,3816,3816,3816,1980-06-13,381.60000000001827,381.61407,2015-01-01 01:03:36,bin3816,35,False +abc,3817,3817,3817,1980-06-14,381.7000000000183,381.71408,2015-01-01 01:03:37,bin3817,75,False +abc,3818,3818,3818,1980-06-15,381.8000000000183,381.8141,2015-01-01 01:03:38,bin3818,35,False +abc,3819,3819,3819,1980-06-16,381.90000000001834,381.9141,2015-01-01 01:03:39,bin3819,75,False +abc,3820,3820,3820,1980-06-17,382.00000000001836,382.0141,2015-01-01 01:03:40,bin3820,35,False +abc,3821,3821,3821,1980-06-18,382.1000000000184,382.1141,2015-01-01 01:03:41,bin3821,75,False +abc,3822,3822,3822,1980-06-19,382.2000000000184,382.2141,2015-01-01 01:03:42,bin3822,35,False +abc,3823,3823,3823,1980-06-20,382.30000000001843,382.31412,2015-01-01 01:03:43,bin3823,75,False +abc,3824,3824,3824,1980-06-21,382.40000000001845,382.41412,2015-01-01 01:03:44,bin3824,35,False +abc,3825,3825,3825,1980-06-22,382.5000000000185,382.51413,2015-01-01 01:03:45,bin3825,75,False +abc,3826,3826,3826,1980-06-23,382.6000000000185,382.61414,2015-01-01 01:03:46,bin3826,35,False +abc,3827,3827,3827,1980-06-24,382.7000000000185,382.71414,2015-01-01 01:03:47,bin3827,75,False +abc,3828,3828,3828,1980-06-25,382.80000000001854,382.81415,2015-01-01 01:03:48,bin3828,35,False +abc,3829,3829,3829,1980-06-26,382.90000000001857,382.91415,2015-01-01 01:03:49,bin3829,75,False +abc,3830,3830,3830,1980-06-27,383.0000000000186,383.01416,2015-01-01 01:03:50,bin3830,35,False +abc,3831,3831,3831,1980-06-28,383.1000000000186,383.11417,2015-01-01 01:03:51,bin3831,75,False +abc,3832,3832,3832,1980-06-29,383.20000000001863,383.21417,2015-01-01 01:03:52,bin3832,35,False +abc,3833,3833,3833,1980-06-30,383.30000000001866,383.31418,2015-01-01 01:03:53,bin3833,75,False +abc,3834,3834,3834,1980-07-01,383.4000000000187,383.41418,2015-01-01 01:03:54,bin3834,35,False +abc,3835,3835,3835,1980-07-02,383.5000000000187,383.5142,2015-01-01 01:03:55,bin3835,75,False +abc,3836,3836,3836,1980-07-03,383.6000000000187,383.6142,2015-01-01 01:03:56,bin3836,35,False +abc,3837,3837,3837,1980-07-04,383.70000000001875,383.7142,2015-01-01 01:03:57,bin3837,75,False +abc,3838,3838,3838,1980-07-05,383.80000000001877,383.8142,2015-01-01 01:03:58,bin3838,35,False +abc,3839,3839,3839,1980-07-06,383.9000000000188,383.9142,2015-01-01 01:03:59,bin3839,75,False +abc,3840,3840,3840,1980-07-07,384.0000000000188,384.01422,2015-01-01 01:04:00,bin3840,35,False +abc,3841,3841,3841,1980-07-08,384.10000000001884,384.11423,2015-01-01 01:04:01,bin3841,75,False +abc,3842,3842,3842,1980-07-09,384.20000000001886,384.21423,2015-01-01 01:04:02,bin3842,35,False +abc,3843,3843,3843,1980-07-10,384.3000000000189,384.31424,2015-01-01 01:04:03,bin3843,75,False +abc,3844,3844,3844,1980-07-11,384.4000000000189,384.41425,2015-01-01 01:04:04,bin3844,35,False +abc,3845,3845,3845,1980-07-12,384.50000000001893,384.51425,2015-01-01 01:04:05,bin3845,75,False +abc,3846,3846,3846,1980-07-13,384.60000000001895,384.61426,2015-01-01 01:04:06,bin3846,35,False +abc,3847,3847,3847,1980-07-14,384.700000000019,384.71426,2015-01-01 01:04:07,bin3847,75,False +abc,3848,3848,3848,1980-07-15,384.800000000019,384.81427,2015-01-01 01:04:08,bin3848,35,False +abc,3849,3849,3849,1980-07-16,384.900000000019,384.91428,2015-01-01 01:04:09,bin3849,75,False +abc,3850,3850,3850,1980-07-17,385.00000000001904,385.01428,2015-01-01 01:04:10,bin3850,35,False +abc,3851,3851,3851,1980-07-18,385.10000000001907,385.1143,2015-01-01 01:04:11,bin3851,75,False +abc,3852,3852,3852,1980-07-19,385.2000000000191,385.2143,2015-01-01 01:04:12,bin3852,35,False +abc,3853,3853,3853,1980-07-20,385.3000000000191,385.3143,2015-01-01 01:04:13,bin3853,75,False +abc,3854,3854,3854,1980-07-21,385.40000000001913,385.4143,2015-01-01 01:04:14,bin3854,35,False +abc,3855,3855,3855,1980-07-22,385.50000000001916,385.5143,2015-01-01 01:04:15,bin3855,75,False +abc,3856,3856,3856,1980-07-23,385.6000000000192,385.61432,2015-01-01 01:04:16,bin3856,35,False +abc,3857,3857,3857,1980-07-24,385.7000000000192,385.71432,2015-01-01 01:04:17,bin3857,75,False +abc,3858,3858,3858,1980-07-25,385.8000000000192,385.81433,2015-01-01 01:04:18,bin3858,35,False +abc,3859,3859,3859,1980-07-26,385.90000000001925,385.91434,2015-01-01 01:04:19,bin3859,75,False +abc,3860,3860,3860,1980-07-27,386.00000000001927,386.01434,2015-01-01 01:04:20,bin3860,35,False +abc,3861,3861,3861,1980-07-28,386.1000000000193,386.11435,2015-01-01 01:04:21,bin3861,75,False +abc,3862,3862,3862,1980-07-29,386.2000000000193,386.21436,2015-01-01 01:04:22,bin3862,35,False +abc,3863,3863,3863,1980-07-30,386.30000000001934,386.31436,2015-01-01 01:04:23,bin3863,75,False +abc,3864,3864,3864,1980-07-31,386.40000000001936,386.41437,2015-01-01 01:04:24,bin3864,35,False +abc,3865,3865,3865,1980-08-01,386.5000000000194,386.51437,2015-01-01 01:04:25,bin3865,75,False +abc,3866,3866,3866,1980-08-02,386.6000000000194,386.61438,2015-01-01 01:04:26,bin3866,35,False +abc,3867,3867,3867,1980-08-03,386.70000000001943,386.7144,2015-01-01 01:04:27,bin3867,75,False +abc,3868,3868,3868,1980-08-04,386.80000000001945,386.8144,2015-01-01 01:04:28,bin3868,35,False +abc,3869,3869,3869,1980-08-05,386.9000000000195,386.9144,2015-01-01 01:04:29,bin3869,75,False +abc,3870,3870,3870,1980-08-06,387.0000000000195,387.0144,2015-01-01 01:04:30,bin3870,35,False +abc,3871,3871,3871,1980-08-07,387.1000000000195,387.1144,2015-01-01 01:04:31,bin3871,75,False +abc,3872,3872,3872,1980-08-08,387.20000000001954,387.21442,2015-01-01 01:04:32,bin3872,35,False +abc,3873,3873,3873,1980-08-09,387.30000000001957,387.31442,2015-01-01 01:04:33,bin3873,75,False +abc,3874,3874,3874,1980-08-10,387.4000000000196,387.41443,2015-01-01 01:04:34,bin3874,35,False +abc,3875,3875,3875,1980-08-11,387.5000000000196,387.51443,2015-01-01 01:04:35,bin3875,75,False +abc,3876,3876,3876,1980-08-12,387.60000000001963,387.61444,2015-01-01 01:04:36,bin3876,35,False +abc,3877,3877,3877,1980-08-13,387.70000000001966,387.71445,2015-01-01 01:04:37,bin3877,75,False +abc,3878,3878,3878,1980-08-14,387.8000000000197,387.81445,2015-01-01 01:04:38,bin3878,35,False +abc,3879,3879,3879,1980-08-15,387.9000000000197,387.91446,2015-01-01 01:04:39,bin3879,75,False +abc,3880,3880,3880,1980-08-16,388.0000000000197,388.01447,2015-01-01 01:04:40,bin3880,35,False +abc,3881,3881,3881,1980-08-17,388.10000000001975,388.11447,2015-01-01 01:04:41,bin3881,75,False +abc,3882,3882,3882,1980-08-18,388.20000000001977,388.21448,2015-01-01 01:04:42,bin3882,35,False +abc,3883,3883,3883,1980-08-19,388.3000000000198,388.31448,2015-01-01 01:04:43,bin3883,75,False +abc,3884,3884,3884,1980-08-20,388.4000000000198,388.4145,2015-01-01 01:04:44,bin3884,35,False +abc,3885,3885,3885,1980-08-21,388.50000000001984,388.5145,2015-01-01 01:04:45,bin3885,75,False +abc,3886,3886,3886,1980-08-22,388.60000000001986,388.6145,2015-01-01 01:04:46,bin3886,35,False +abc,3887,3887,3887,1980-08-23,388.7000000000199,388.7145,2015-01-01 01:04:47,bin3887,75,False +abc,3888,3888,3888,1980-08-24,388.8000000000199,388.8145,2015-01-01 01:04:48,bin3888,35,False +abc,3889,3889,3889,1980-08-25,388.90000000001993,388.91452,2015-01-01 01:04:49,bin3889,75,False +abc,3890,3890,3890,1980-08-26,389.00000000001995,389.01453,2015-01-01 01:04:50,bin3890,35,False +abc,3891,3891,3891,1980-08-27,389.10000000002,389.11453,2015-01-01 01:04:51,bin3891,75,False +abc,3892,3892,3892,1980-08-28,389.20000000002,389.21454,2015-01-01 01:04:52,bin3892,35,False +abc,3893,3893,3893,1980-08-29,389.30000000002,389.31454,2015-01-01 01:04:53,bin3893,75,False +abc,3894,3894,3894,1980-08-30,389.40000000002004,389.41455,2015-01-01 01:04:54,bin3894,35,False +abc,3895,3895,3895,1980-08-31,389.50000000002007,389.51456,2015-01-01 01:04:55,bin3895,75,False +abc,3896,3896,3896,1980-09-01,389.6000000000201,389.61456,2015-01-01 01:04:56,bin3896,35,False +abc,3897,3897,3897,1980-09-02,389.7000000000201,389.71457,2015-01-01 01:04:57,bin3897,75,False +abc,3898,3898,3898,1980-09-03,389.80000000002013,389.81458,2015-01-01 01:04:58,bin3898,35,False +abc,3899,3899,3899,1980-09-04,389.90000000002016,389.91458,2015-01-01 01:04:59,bin3899,75,False +abc,3900,3900,3900,1980-09-05,390.0000000000202,390.0146,2015-01-01 01:05:00,bin3900,35,False +abc,3901,3901,3901,1980-09-06,390.1000000000202,390.1146,2015-01-01 01:05:01,bin3901,75,False +abc,3902,3902,3902,1980-09-07,390.2000000000202,390.2146,2015-01-01 01:05:02,bin3902,35,False +abc,3903,3903,3903,1980-09-08,390.30000000002025,390.3146,2015-01-01 01:05:03,bin3903,75,False +abc,3904,3904,3904,1980-09-09,390.40000000002027,390.4146,2015-01-01 01:05:04,bin3904,35,False +abc,3905,3905,3905,1980-09-10,390.5000000000203,390.51462,2015-01-01 01:05:05,bin3905,75,False +abc,3906,3906,3906,1980-09-11,390.6000000000203,390.61462,2015-01-01 01:05:06,bin3906,35,False +abc,3907,3907,3907,1980-09-12,390.70000000002034,390.71463,2015-01-01 01:05:07,bin3907,75,False +abc,3908,3908,3908,1980-09-13,390.80000000002036,390.81464,2015-01-01 01:05:08,bin3908,35,False +abc,3909,3909,3909,1980-09-14,390.9000000000204,390.91464,2015-01-01 01:05:09,bin3909,75,False +abc,3910,3910,3910,1980-09-15,391.0000000000204,391.01465,2015-01-01 01:05:10,bin3910,35,False +abc,3911,3911,3911,1980-09-16,391.10000000002043,391.11465,2015-01-01 01:05:11,bin3911,75,False +abc,3912,3912,3912,1980-09-17,391.20000000002045,391.21466,2015-01-01 01:05:12,bin3912,35,False +abc,3913,3913,3913,1980-09-18,391.3000000000205,391.31467,2015-01-01 01:05:13,bin3913,75,False +abc,3914,3914,3914,1980-09-19,391.4000000000205,391.41467,2015-01-01 01:05:14,bin3914,35,False +abc,3915,3915,3915,1980-09-20,391.5000000000205,391.51468,2015-01-01 01:05:15,bin3915,75,False +abc,3916,3916,3916,1980-09-21,391.60000000002054,391.6147,2015-01-01 01:05:16,bin3916,35,False +abc,3917,3917,3917,1980-09-22,391.70000000002057,391.7147,2015-01-01 01:05:17,bin3917,75,False +abc,3918,3918,3918,1980-09-23,391.8000000000206,391.8147,2015-01-01 01:05:18,bin3918,35,False +abc,3919,3919,3919,1980-09-24,391.9000000000206,391.9147,2015-01-01 01:05:19,bin3919,75,False +abc,3920,3920,3920,1980-09-25,392.00000000002063,392.0147,2015-01-01 01:05:20,bin3920,35,False +abc,3921,3921,3921,1980-09-26,392.10000000002066,392.11472,2015-01-01 01:05:21,bin3921,75,False +abc,3922,3922,3922,1980-09-27,392.2000000000207,392.21472,2015-01-01 01:05:22,bin3922,35,False +abc,3923,3923,3923,1980-09-28,392.3000000000207,392.31473,2015-01-01 01:05:23,bin3923,75,False +abc,3924,3924,3924,1980-09-29,392.4000000000207,392.41473,2015-01-01 01:05:24,bin3924,35,False +abc,3925,3925,3925,1980-09-30,392.50000000002075,392.51474,2015-01-01 01:05:25,bin3925,75,False +abc,3926,3926,3926,1980-10-01,392.60000000002077,392.61475,2015-01-01 01:05:26,bin3926,35,False +abc,3927,3927,3927,1980-10-02,392.7000000000208,392.71475,2015-01-01 01:05:27,bin3927,75,False +abc,3928,3928,3928,1980-10-03,392.8000000000208,392.81476,2015-01-01 01:05:28,bin3928,35,False +abc,3929,3929,3929,1980-10-04,392.90000000002084,392.91476,2015-01-01 01:05:29,bin3929,75,False +abc,3930,3930,3930,1980-10-05,393.00000000002086,393.01477,2015-01-01 01:05:30,bin3930,35,False +abc,3931,3931,3931,1980-10-06,393.1000000000209,393.11478,2015-01-01 01:05:31,bin3931,75,False +abc,3932,3932,3932,1980-10-07,393.2000000000209,393.21478,2015-01-01 01:05:32,bin3932,35,False +abc,3933,3933,3933,1980-10-08,393.30000000002093,393.3148,2015-01-01 01:05:33,bin3933,75,False +abc,3934,3934,3934,1980-10-09,393.40000000002095,393.4148,2015-01-01 01:05:34,bin3934,35,False +abc,3935,3935,3935,1980-10-10,393.500000000021,393.5148,2015-01-01 01:05:35,bin3935,75,False +abc,3936,3936,3936,1980-10-11,393.600000000021,393.6148,2015-01-01 01:05:36,bin3936,35,False +abc,3937,3937,3937,1980-10-12,393.700000000021,393.7148,2015-01-01 01:05:37,bin3937,75,False +abc,3938,3938,3938,1980-10-13,393.80000000002104,393.81482,2015-01-01 01:05:38,bin3938,35,False +abc,3939,3939,3939,1980-10-14,393.90000000002107,393.91483,2015-01-01 01:05:39,bin3939,75,False +abc,3940,3940,3940,1980-10-15,394.0000000000211,394.01483,2015-01-01 01:05:40,bin3940,35,False +abc,3941,3941,3941,1980-10-16,394.1000000000211,394.11484,2015-01-01 01:05:41,bin3941,75,False +abc,3942,3942,3942,1980-10-17,394.20000000002113,394.21484,2015-01-01 01:05:42,bin3942,35,False +abc,3943,3943,3943,1980-10-18,394.30000000002116,394.31485,2015-01-01 01:05:43,bin3943,75,False +abc,3944,3944,3944,1980-10-19,394.4000000000212,394.41486,2015-01-01 01:05:44,bin3944,35,False +abc,3945,3945,3945,1980-10-20,394.5000000000212,394.51486,2015-01-01 01:05:45,bin3945,75,False +abc,3946,3946,3946,1980-10-21,394.6000000000212,394.61487,2015-01-01 01:05:46,bin3946,35,False +abc,3947,3947,3947,1980-10-22,394.70000000002125,394.71487,2015-01-01 01:05:47,bin3947,75,False +abc,3948,3948,3948,1980-10-23,394.80000000002127,394.81488,2015-01-01 01:05:48,bin3948,35,False +abc,3949,3949,3949,1980-10-24,394.9000000000213,394.9149,2015-01-01 01:05:49,bin3949,75,False +abc,3950,3950,3950,1980-10-25,395.0000000000213,395.0149,2015-01-01 01:05:50,bin3950,35,False +abc,3951,3951,3951,1980-10-26,395.10000000002134,395.1149,2015-01-01 01:05:51,bin3951,75,False +abc,3952,3952,3952,1980-10-27,395.20000000002136,395.2149,2015-01-01 01:05:52,bin3952,35,False +abc,3953,3953,3953,1980-10-28,395.3000000000214,395.3149,2015-01-01 01:05:53,bin3953,75,False +abc,3954,3954,3954,1980-10-29,395.4000000000214,395.41492,2015-01-01 01:05:54,bin3954,35,False +abc,3955,3955,3955,1980-10-30,395.50000000002143,395.51492,2015-01-01 01:05:55,bin3955,75,False +abc,3956,3956,3956,1980-10-31,395.60000000002145,395.61493,2015-01-01 01:05:56,bin3956,35,False +abc,3957,3957,3957,1980-11-01,395.7000000000215,395.71494,2015-01-01 01:05:57,bin3957,75,False +abc,3958,3958,3958,1980-11-02,395.8000000000215,395.81494,2015-01-01 01:05:58,bin3958,35,False +abc,3959,3959,3959,1980-11-03,395.9000000000215,395.91495,2015-01-01 01:05:59,bin3959,75,False +abc,3960,3960,3960,1980-11-04,396.00000000002154,396.01495,2015-01-01 01:06:00,bin3960,35,False +abc,3961,3961,3961,1980-11-05,396.10000000002157,396.11496,2015-01-01 01:06:01,bin3961,75,False +abc,3962,3962,3962,1980-11-06,396.2000000000216,396.21497,2015-01-01 01:06:02,bin3962,35,False +abc,3963,3963,3963,1980-11-07,396.3000000000216,396.31497,2015-01-01 01:06:03,bin3963,75,False +abc,3964,3964,3964,1980-11-08,396.40000000002163,396.41498,2015-01-01 01:06:04,bin3964,35,False +abc,3965,3965,3965,1980-11-09,396.50000000002166,396.51498,2015-01-01 01:06:05,bin3965,75,False +abc,3966,3966,3966,1980-11-10,396.6000000000217,396.615,2015-01-01 01:06:06,bin3966,35,False +abc,3967,3967,3967,1980-11-11,396.7000000000217,396.715,2015-01-01 01:06:07,bin3967,75,False +abc,3968,3968,3968,1980-11-12,396.8000000000217,396.815,2015-01-01 01:06:08,bin3968,35,False +abc,3969,3969,3969,1980-11-13,396.90000000002175,396.915,2015-01-01 01:06:09,bin3969,75,False +abc,3970,3970,3970,1980-11-14,397.00000000002177,397.015,2015-01-01 01:06:10,bin3970,35,False +abc,3971,3971,3971,1980-11-15,397.1000000000218,397.11502,2015-01-01 01:06:11,bin3971,75,False +abc,3972,3972,3972,1980-11-16,397.2000000000218,397.21503,2015-01-01 01:06:12,bin3972,35,False +abc,3973,3973,3973,1980-11-17,397.30000000002184,397.31503,2015-01-01 01:06:13,bin3973,75,False +abc,3974,3974,3974,1980-11-18,397.40000000002186,397.41504,2015-01-01 01:06:14,bin3974,35,False +abc,3975,3975,3975,1980-11-19,397.5000000000219,397.51505,2015-01-01 01:06:15,bin3975,75,False +abc,3976,3976,3976,1980-11-20,397.6000000000219,397.61505,2015-01-01 01:06:16,bin3976,35,False +abc,3977,3977,3977,1980-11-21,397.70000000002193,397.71506,2015-01-01 01:06:17,bin3977,75,False +abc,3978,3978,3978,1980-11-22,397.80000000002195,397.81506,2015-01-01 01:06:18,bin3978,35,False +abc,3979,3979,3979,1980-11-23,397.900000000022,397.91507,2015-01-01 01:06:19,bin3979,75,False +abc,3980,3980,3980,1980-11-24,398.000000000022,398.01508,2015-01-01 01:06:20,bin3980,35,False +abc,3981,3981,3981,1980-11-25,398.100000000022,398.11508,2015-01-01 01:06:21,bin3981,75,False +abc,3982,3982,3982,1980-11-26,398.20000000002204,398.2151,2015-01-01 01:06:22,bin3982,35,False +abc,3983,3983,3983,1980-11-27,398.30000000002207,398.3151,2015-01-01 01:06:23,bin3983,75,False +abc,3984,3984,3984,1980-11-28,398.4000000000221,398.4151,2015-01-01 01:06:24,bin3984,35,False +abc,3985,3985,3985,1980-11-29,398.5000000000221,398.5151,2015-01-01 01:06:25,bin3985,75,False +abc,3986,3986,3986,1980-11-30,398.60000000002213,398.6151,2015-01-01 01:06:26,bin3986,35,False +abc,3987,3987,3987,1980-12-01,398.70000000002216,398.71512,2015-01-01 01:06:27,bin3987,75,False +abc,3988,3988,3988,1980-12-02,398.8000000000222,398.81512,2015-01-01 01:06:28,bin3988,35,False +abc,3989,3989,3989,1980-12-03,398.9000000000222,398.91513,2015-01-01 01:06:29,bin3989,75,False +abc,3990,3990,3990,1980-12-04,399.0000000000222,399.01514,2015-01-01 01:06:30,bin3990,35,False +abc,3991,3991,3991,1980-12-05,399.10000000002225,399.11514,2015-01-01 01:06:31,bin3991,75,False +abc,3992,3992,3992,1980-12-06,399.20000000002227,399.21515,2015-01-01 01:06:32,bin3992,35,False +abc,3993,3993,3993,1980-12-07,399.3000000000223,399.31516,2015-01-01 01:06:33,bin3993,75,False +abc,3994,3994,3994,1980-12-08,399.4000000000223,399.41516,2015-01-01 01:06:34,bin3994,35,False +abc,3995,3995,3995,1980-12-09,399.50000000002234,399.51517,2015-01-01 01:06:35,bin3995,75,False +abc,3996,3996,3996,1980-12-10,399.60000000002236,399.61517,2015-01-01 01:06:36,bin3996,35,False +abc,3997,3997,3997,1980-12-11,399.7000000000224,399.71518,2015-01-01 01:06:37,bin3997,75,False +abc,3998,3998,3998,1980-12-12,399.8000000000224,399.8152,2015-01-01 01:06:38,bin3998,35,False +abc,3999,3999,3999,1980-12-13,399.90000000002243,399.9152,2015-01-01 01:06:39,bin3999,75,False +abc,4000,4000,4000,1980-12-14,400.00000000002245,400.0152,2015-01-01 01:06:40,bin4000,35,False +abc,4001,4001,4001,1980-12-15,400.1000000000225,400.1152,2015-01-01 01:06:41,bin4001,75,False +abc,4002,4002,4002,1980-12-16,400.2000000000225,400.2152,2015-01-01 01:06:42,bin4002,35,False +abc,4003,4003,4003,1980-12-17,400.3000000000225,400.31522,2015-01-01 01:06:43,bin4003,75,False +abc,4004,4004,4004,1980-12-18,400.40000000002254,400.41522,2015-01-01 01:06:44,bin4004,35,False +abc,4005,4005,4005,1980-12-19,400.50000000002257,400.51523,2015-01-01 01:06:45,bin4005,75,False +abc,4006,4006,4006,1980-12-20,400.6000000000226,400.61523,2015-01-01 01:06:46,bin4006,35,False +abc,4007,4007,4007,1980-12-21,400.7000000000226,400.71524,2015-01-01 01:06:47,bin4007,75,False +abc,4008,4008,4008,1980-12-22,400.80000000002264,400.81525,2015-01-01 01:06:48,bin4008,35,False +abc,4009,4009,4009,1980-12-23,400.90000000002266,400.91525,2015-01-01 01:06:49,bin4009,75,False +abc,4010,4010,4010,1980-12-24,401.0000000000227,401.01526,2015-01-01 01:06:50,bin4010,35,False +abc,4011,4011,4011,1980-12-25,401.1000000000227,401.11526,2015-01-01 01:06:51,bin4011,75,False +abc,4012,4012,4012,1980-12-26,401.2000000000227,401.21527,2015-01-01 01:06:52,bin4012,35,False +abc,4013,4013,4013,1980-12-27,401.30000000002275,401.31528,2015-01-01 01:06:53,bin4013,75,False +abc,4014,4014,4014,1980-12-28,401.40000000002277,401.41528,2015-01-01 01:06:54,bin4014,35,False +abc,4015,4015,4015,1980-12-29,401.5000000000228,401.5153,2015-01-01 01:06:55,bin4015,75,False +abc,4016,4016,4016,1980-12-30,401.6000000000228,401.6153,2015-01-01 01:06:56,bin4016,35,False +abc,4017,4017,4017,1980-12-31,401.70000000002284,401.7153,2015-01-01 01:06:57,bin4017,75,False +abc,4018,4018,4018,1981-01-01,401.80000000002286,401.8153,2015-01-01 01:06:58,bin4018,35,False +abc,4019,4019,4019,1981-01-02,401.9000000000229,401.9153,2015-01-01 01:06:59,bin4019,75,False +abc,4020,4020,4020,1981-01-03,402.0000000000229,402.01532,2015-01-01 01:07:00,bin4020,35,False +abc,4021,4021,4021,1981-01-04,402.10000000002293,402.11533,2015-01-01 01:07:01,bin4021,75,False +abc,4022,4022,4022,1981-01-05,402.20000000002295,402.21533,2015-01-01 01:07:02,bin4022,35,False +abc,4023,4023,4023,1981-01-06,402.300000000023,402.31534,2015-01-01 01:07:03,bin4023,75,False +abc,4024,4024,4024,1981-01-07,402.400000000023,402.41534,2015-01-01 01:07:04,bin4024,35,False +abc,4025,4025,4025,1981-01-08,402.500000000023,402.51535,2015-01-01 01:07:05,bin4025,75,False +abc,4026,4026,4026,1981-01-09,402.60000000002304,402.61536,2015-01-01 01:07:06,bin4026,35,False +abc,4027,4027,4027,1981-01-10,402.70000000002307,402.71536,2015-01-01 01:07:07,bin4027,75,False +abc,4028,4028,4028,1981-01-11,402.8000000000231,402.81537,2015-01-01 01:07:08,bin4028,35,False +abc,4029,4029,4029,1981-01-12,402.9000000000231,402.91537,2015-01-01 01:07:09,bin4029,75,False +abc,4030,4030,4030,1981-01-13,403.00000000002314,403.01538,2015-01-01 01:07:10,bin4030,35,False +abc,4031,4031,4031,1981-01-14,403.10000000002316,403.1154,2015-01-01 01:07:11,bin4031,75,False +abc,4032,4032,4032,1981-01-15,403.2000000000232,403.2154,2015-01-01 01:07:12,bin4032,35,False +abc,4033,4033,4033,1981-01-16,403.3000000000232,403.3154,2015-01-01 01:07:13,bin4033,75,False +abc,4034,4034,4034,1981-01-17,403.4000000000232,403.4154,2015-01-01 01:07:14,bin4034,35,False +abc,4035,4035,4035,1981-01-18,403.50000000002325,403.5154,2015-01-01 01:07:15,bin4035,75,False +abc,4036,4036,4036,1981-01-19,403.6000000000233,403.61542,2015-01-01 01:07:16,bin4036,35,False +abc,4037,4037,4037,1981-01-20,403.7000000000233,403.71542,2015-01-01 01:07:17,bin4037,75,False +abc,4038,4038,4038,1981-01-21,403.8000000000233,403.81543,2015-01-01 01:07:18,bin4038,35,False +abc,4039,4039,4039,1981-01-22,403.90000000002334,403.91544,2015-01-01 01:07:19,bin4039,75,False +abc,4040,4040,4040,1981-01-23,404.00000000002336,404.01544,2015-01-01 01:07:20,bin4040,35,False +abc,4041,4041,4041,1981-01-24,404.1000000000234,404.11545,2015-01-01 01:07:21,bin4041,75,False +abc,4042,4042,4042,1981-01-25,404.2000000000234,404.21545,2015-01-01 01:07:22,bin4042,35,False +abc,4043,4043,4043,1981-01-26,404.30000000002343,404.31546,2015-01-01 01:07:23,bin4043,75,False +abc,4044,4044,4044,1981-01-27,404.40000000002345,404.41547,2015-01-01 01:07:24,bin4044,35,False +abc,4045,4045,4045,1981-01-28,404.5000000000235,404.51547,2015-01-01 01:07:25,bin4045,75,False +abc,4046,4046,4046,1981-01-29,404.6000000000235,404.61548,2015-01-01 01:07:26,bin4046,35,False +abc,4047,4047,4047,1981-01-30,404.7000000000235,404.71548,2015-01-01 01:07:27,bin4047,75,False +abc,4048,4048,4048,1981-01-31,404.80000000002354,404.8155,2015-01-01 01:07:28,bin4048,35,False +abc,4049,4049,4049,1981-02-01,404.90000000002357,404.9155,2015-01-01 01:07:29,bin4049,75,False +abc,4050,4050,4050,1981-02-02,405.0000000000236,405.0155,2015-01-01 01:07:30,bin4050,35,False +abc,4051,4051,4051,1981-02-03,405.1000000000236,405.1155,2015-01-01 01:07:31,bin4051,75,False +abc,4052,4052,4052,1981-02-04,405.20000000002364,405.2155,2015-01-01 01:07:32,bin4052,35,False +abc,4053,4053,4053,1981-02-05,405.30000000002366,405.31552,2015-01-01 01:07:33,bin4053,75,False +abc,4054,4054,4054,1981-02-06,405.4000000000237,405.41553,2015-01-01 01:07:34,bin4054,35,False +abc,4055,4055,4055,1981-02-07,405.5000000000237,405.51553,2015-01-01 01:07:35,bin4055,75,False +abc,4056,4056,4056,1981-02-08,405.6000000000237,405.61554,2015-01-01 01:07:36,bin4056,35,False +abc,4057,4057,4057,1981-02-09,405.70000000002375,405.71555,2015-01-01 01:07:37,bin4057,75,False +abc,4058,4058,4058,1981-02-10,405.8000000000238,405.81555,2015-01-01 01:07:38,bin4058,35,False +abc,4059,4059,4059,1981-02-11,405.9000000000238,405.91556,2015-01-01 01:07:39,bin4059,75,False +abc,4060,4060,4060,1981-02-12,406.0000000000238,406.01556,2015-01-01 01:07:40,bin4060,35,False +abc,4061,4061,4061,1981-02-13,406.10000000002384,406.11557,2015-01-01 01:07:41,bin4061,75,False +abc,4062,4062,4062,1981-02-14,406.20000000002386,406.21558,2015-01-01 01:07:42,bin4062,35,False +abc,4063,4063,4063,1981-02-15,406.3000000000239,406.31558,2015-01-01 01:07:43,bin4063,75,False +abc,4064,4064,4064,1981-02-16,406.4000000000239,406.4156,2015-01-01 01:07:44,bin4064,35,False +abc,4065,4065,4065,1981-02-17,406.50000000002393,406.5156,2015-01-01 01:07:45,bin4065,75,False +abc,4066,4066,4066,1981-02-18,406.60000000002395,406.6156,2015-01-01 01:07:46,bin4066,35,False +abc,4067,4067,4067,1981-02-19,406.700000000024,406.7156,2015-01-01 01:07:47,bin4067,75,False +abc,4068,4068,4068,1981-02-20,406.800000000024,406.8156,2015-01-01 01:07:48,bin4068,35,False +abc,4069,4069,4069,1981-02-21,406.900000000024,406.91562,2015-01-01 01:07:49,bin4069,75,False +abc,4070,4070,4070,1981-02-22,407.00000000002404,407.01562,2015-01-01 01:07:50,bin4070,35,False +abc,4071,4071,4071,1981-02-23,407.10000000002407,407.11563,2015-01-01 01:07:51,bin4071,75,False +abc,4072,4072,4072,1981-02-24,407.2000000000241,407.21564,2015-01-01 01:07:52,bin4072,35,False +abc,4073,4073,4073,1981-02-25,407.3000000000241,407.31564,2015-01-01 01:07:53,bin4073,75,False +abc,4074,4074,4074,1981-02-26,407.40000000002414,407.41565,2015-01-01 01:07:54,bin4074,35,False +abc,4075,4075,4075,1981-02-27,407.50000000002416,407.51566,2015-01-01 01:07:55,bin4075,75,False +abc,4076,4076,4076,1981-02-28,407.6000000000242,407.61566,2015-01-01 01:07:56,bin4076,35,False +abc,4077,4077,4077,1981-03-01,407.7000000000242,407.71567,2015-01-01 01:07:57,bin4077,75,False +abc,4078,4078,4078,1981-03-02,407.8000000000242,407.81567,2015-01-01 01:07:58,bin4078,35,False +abc,4079,4079,4079,1981-03-03,407.90000000002425,407.91568,2015-01-01 01:07:59,bin4079,75,False +abc,4080,4080,4080,1981-03-04,408.0000000000243,408.0157,2015-01-01 01:08:00,bin4080,35,False +abc,4081,4081,4081,1981-03-05,408.1000000000243,408.1157,2015-01-01 01:08:01,bin4081,75,False +abc,4082,4082,4082,1981-03-06,408.2000000000243,408.2157,2015-01-01 01:08:02,bin4082,35,False +abc,4083,4083,4083,1981-03-07,408.30000000002434,408.3157,2015-01-01 01:08:03,bin4083,75,False +abc,4084,4084,4084,1981-03-08,408.40000000002436,408.4157,2015-01-01 01:08:04,bin4084,35,False +abc,4085,4085,4085,1981-03-09,408.5000000000244,408.51572,2015-01-01 01:08:05,bin4085,75,False +abc,4086,4086,4086,1981-03-10,408.6000000000244,408.61572,2015-01-01 01:08:06,bin4086,35,False +abc,4087,4087,4087,1981-03-11,408.70000000002443,408.71573,2015-01-01 01:08:07,bin4087,75,False +abc,4088,4088,4088,1981-03-12,408.80000000002445,408.81573,2015-01-01 01:08:08,bin4088,35,False +abc,4089,4089,4089,1981-03-13,408.9000000000245,408.91574,2015-01-01 01:08:09,bin4089,75,False +abc,4090,4090,4090,1981-03-14,409.0000000000245,409.01575,2015-01-01 01:08:10,bin4090,35,False +abc,4091,4091,4091,1981-03-15,409.1000000000245,409.11575,2015-01-01 01:08:11,bin4091,75,False +abc,4092,4092,4092,1981-03-16,409.20000000002454,409.21576,2015-01-01 01:08:12,bin4092,35,False +abc,4093,4093,4093,1981-03-17,409.30000000002457,409.31577,2015-01-01 01:08:13,bin4093,75,False +abc,4094,4094,4094,1981-03-18,409.4000000000246,409.41577,2015-01-01 01:08:14,bin4094,35,False +abc,4095,4095,4095,1981-03-19,409.5000000000246,409.51578,2015-01-01 01:08:15,bin4095,75,False +abc,4096,4096,4096,1981-03-20,409.60000000002464,409.61578,2015-01-01 01:08:16,bin4096,35,False +abc,4097,4097,4097,1981-03-21,409.70000000002466,409.7158,2015-01-01 01:08:17,bin4097,75,False +abc,4098,4098,4098,1981-03-22,409.8000000000247,409.8158,2015-01-01 01:08:18,bin4098,35,False +abc,4099,4099,4099,1981-03-23,409.9000000000247,409.9158,2015-01-01 01:08:19,bin4099,75,False +abc,4100,4100,4100,1981-03-24,410.0000000000247,410.0158,2015-01-01 01:08:20,bin4100,35,False +abc,4101,4101,4101,1981-03-25,410.10000000002475,410.1158,2015-01-01 01:08:21,bin4101,75,False +abc,4102,4102,4102,1981-03-26,410.2000000000248,410.21582,2015-01-01 01:08:22,bin4102,35,False +abc,4103,4103,4103,1981-03-27,410.3000000000248,410.31583,2015-01-01 01:08:23,bin4103,75,False +abc,4104,4104,4104,1981-03-28,410.4000000000248,410.41583,2015-01-01 01:08:24,bin4104,35,False +abc,4105,4105,4105,1981-03-29,410.50000000002484,410.51584,2015-01-01 01:08:25,bin4105,75,False +abc,4106,4106,4106,1981-03-30,410.60000000002486,410.61584,2015-01-01 01:08:26,bin4106,35,False +abc,4107,4107,4107,1981-03-31,410.7000000000249,410.71585,2015-01-01 01:08:27,bin4107,75,False +abc,4108,4108,4108,1981-04-01,410.8000000000249,410.81586,2015-01-01 01:08:28,bin4108,35,False +abc,4109,4109,4109,1981-04-02,410.90000000002493,410.91586,2015-01-01 01:08:29,bin4109,75,False +abc,4110,4110,4110,1981-04-03,411.00000000002495,411.01587,2015-01-01 01:08:30,bin4110,35,False +abc,4111,4111,4111,1981-04-04,411.100000000025,411.11588,2015-01-01 01:08:31,bin4111,75,False +abc,4112,4112,4112,1981-04-05,411.200000000025,411.21588,2015-01-01 01:08:32,bin4112,35,False +abc,4113,4113,4113,1981-04-06,411.300000000025,411.3159,2015-01-01 01:08:33,bin4113,75,False +abc,4114,4114,4114,1981-04-07,411.40000000002505,411.4159,2015-01-01 01:08:34,bin4114,35,False +abc,4115,4115,4115,1981-04-08,411.50000000002507,411.5159,2015-01-01 01:08:35,bin4115,75,False +abc,4116,4116,4116,1981-04-09,411.6000000000251,411.6159,2015-01-01 01:08:36,bin4116,35,False +abc,4117,4117,4117,1981-04-10,411.7000000000251,411.7159,2015-01-01 01:08:37,bin4117,75,False +abc,4118,4118,4118,1981-04-11,411.80000000002514,411.81592,2015-01-01 01:08:38,bin4118,35,False +abc,4119,4119,4119,1981-04-12,411.90000000002516,411.91592,2015-01-01 01:08:39,bin4119,75,False +abc,4120,4120,4120,1981-04-13,412.0000000000252,412.01593,2015-01-01 01:08:40,bin4120,35,False +abc,4121,4121,4121,1981-04-14,412.1000000000252,412.11594,2015-01-01 01:08:41,bin4121,75,False +abc,4122,4122,4122,1981-04-15,412.2000000000252,412.21594,2015-01-01 01:08:42,bin4122,35,False +abc,4123,4123,4123,1981-04-16,412.30000000002525,412.31595,2015-01-01 01:08:43,bin4123,75,False +abc,4124,4124,4124,1981-04-17,412.4000000000253,412.41595,2015-01-01 01:08:44,bin4124,35,False +abc,4125,4125,4125,1981-04-18,412.5000000000253,412.51596,2015-01-01 01:08:45,bin4125,75,False +abc,4126,4126,4126,1981-04-19,412.6000000000253,412.61597,2015-01-01 01:08:46,bin4126,35,False +abc,4127,4127,4127,1981-04-20,412.70000000002534,412.71597,2015-01-01 01:08:47,bin4127,75,False +abc,4128,4128,4128,1981-04-21,412.80000000002536,412.81598,2015-01-01 01:08:48,bin4128,35,False +abc,4129,4129,4129,1981-04-22,412.9000000000254,412.916,2015-01-01 01:08:49,bin4129,75,False +abc,4130,4130,4130,1981-04-23,413.0000000000254,413.016,2015-01-01 01:08:50,bin4130,35,False +abc,4131,4131,4131,1981-04-24,413.10000000002543,413.116,2015-01-01 01:08:51,bin4131,75,False +abc,4132,4132,4132,1981-04-25,413.20000000002545,413.216,2015-01-01 01:08:52,bin4132,35,False +abc,4133,4133,4133,1981-04-26,413.3000000000255,413.316,2015-01-01 01:08:53,bin4133,75,False +abc,4134,4134,4134,1981-04-27,413.4000000000255,413.41602,2015-01-01 01:08:54,bin4134,35,False +abc,4135,4135,4135,1981-04-28,413.5000000000255,413.51602,2015-01-01 01:08:55,bin4135,75,False +abc,4136,4136,4136,1981-04-29,413.60000000002555,413.61603,2015-01-01 01:08:56,bin4136,35,False +abc,4137,4137,4137,1981-04-30,413.70000000002557,413.71603,2015-01-01 01:08:57,bin4137,75,False +abc,4138,4138,4138,1981-05-01,413.8000000000256,413.81604,2015-01-01 01:08:58,bin4138,35,False +abc,4139,4139,4139,1981-05-02,413.9000000000256,413.91605,2015-01-01 01:08:59,bin4139,75,False +abc,4140,4140,4140,1981-05-03,414.00000000002564,414.01605,2015-01-01 01:09:00,bin4140,35,False +abc,4141,4141,4141,1981-05-04,414.10000000002566,414.11606,2015-01-01 01:09:01,bin4141,75,False +abc,4142,4142,4142,1981-05-05,414.2000000000257,414.21606,2015-01-01 01:09:02,bin4142,35,False +abc,4143,4143,4143,1981-05-06,414.3000000000257,414.31607,2015-01-01 01:09:03,bin4143,75,False +abc,4144,4144,4144,1981-05-07,414.4000000000257,414.41608,2015-01-01 01:09:04,bin4144,35,False +abc,4145,4145,4145,1981-05-08,414.50000000002575,414.51608,2015-01-01 01:09:05,bin4145,75,False +abc,4146,4146,4146,1981-05-09,414.6000000000258,414.6161,2015-01-01 01:09:06,bin4146,35,False +abc,4147,4147,4147,1981-05-10,414.7000000000258,414.7161,2015-01-01 01:09:07,bin4147,75,False +abc,4148,4148,4148,1981-05-11,414.8000000000258,414.8161,2015-01-01 01:09:08,bin4148,35,False +abc,4149,4149,4149,1981-05-12,414.90000000002584,414.9161,2015-01-01 01:09:09,bin4149,75,False +abc,4150,4150,4150,1981-05-13,415.00000000002586,415.0161,2015-01-01 01:09:10,bin4150,35,False +abc,4151,4151,4151,1981-05-14,415.1000000000259,415.11612,2015-01-01 01:09:11,bin4151,75,False +abc,4152,4152,4152,1981-05-15,415.2000000000259,415.21613,2015-01-01 01:09:12,bin4152,35,False +abc,4153,4153,4153,1981-05-16,415.30000000002593,415.31613,2015-01-01 01:09:13,bin4153,75,False +abc,4154,4154,4154,1981-05-17,415.40000000002595,415.41614,2015-01-01 01:09:14,bin4154,35,False +abc,4155,4155,4155,1981-05-18,415.500000000026,415.51614,2015-01-01 01:09:15,bin4155,75,False +abc,4156,4156,4156,1981-05-19,415.600000000026,415.61615,2015-01-01 01:09:16,bin4156,35,False +abc,4157,4157,4157,1981-05-20,415.700000000026,415.71616,2015-01-01 01:09:17,bin4157,75,False +abc,4158,4158,4158,1981-05-21,415.80000000002605,415.81616,2015-01-01 01:09:18,bin4158,35,False +abc,4159,4159,4159,1981-05-22,415.90000000002607,415.91617,2015-01-01 01:09:19,bin4159,75,False +abc,4160,4160,4160,1981-05-23,416.0000000000261,416.01617,2015-01-01 01:09:20,bin4160,35,False +abc,4161,4161,4161,1981-05-24,416.1000000000261,416.11618,2015-01-01 01:09:21,bin4161,75,False +abc,4162,4162,4162,1981-05-25,416.20000000002614,416.2162,2015-01-01 01:09:22,bin4162,35,False +abc,4163,4163,4163,1981-05-26,416.30000000002616,416.3162,2015-01-01 01:09:23,bin4163,75,False +abc,4164,4164,4164,1981-05-27,416.4000000000262,416.4162,2015-01-01 01:09:24,bin4164,35,False +abc,4165,4165,4165,1981-05-28,416.5000000000262,416.5162,2015-01-01 01:09:25,bin4165,75,False +abc,4166,4166,4166,1981-05-29,416.6000000000262,416.6162,2015-01-01 01:09:26,bin4166,35,False +abc,4167,4167,4167,1981-05-30,416.70000000002625,416.71622,2015-01-01 01:09:27,bin4167,75,False +abc,4168,4168,4168,1981-05-31,416.8000000000263,416.81622,2015-01-01 01:09:28,bin4168,35,False +abc,4169,4169,4169,1981-06-01,416.9000000000263,416.91623,2015-01-01 01:09:29,bin4169,75,False +abc,4170,4170,4170,1981-06-02,417.0000000000263,417.01624,2015-01-01 01:09:30,bin4170,35,False +abc,4171,4171,4171,1981-06-03,417.10000000002634,417.11624,2015-01-01 01:09:31,bin4171,75,False +abc,4172,4172,4172,1981-06-04,417.20000000002636,417.21625,2015-01-01 01:09:32,bin4172,35,False +abc,4173,4173,4173,1981-06-05,417.3000000000264,417.31625,2015-01-01 01:09:33,bin4173,75,False +abc,4174,4174,4174,1981-06-06,417.4000000000264,417.41626,2015-01-01 01:09:34,bin4174,35,False +abc,4175,4175,4175,1981-06-07,417.50000000002643,417.51627,2015-01-01 01:09:35,bin4175,75,False +abc,4176,4176,4176,1981-06-08,417.60000000002645,417.61627,2015-01-01 01:09:36,bin4176,35,False +abc,4177,4177,4177,1981-06-09,417.7000000000265,417.71628,2015-01-01 01:09:37,bin4177,75,False +abc,4178,4178,4178,1981-06-10,417.8000000000265,417.81628,2015-01-01 01:09:38,bin4178,35,False +abc,4179,4179,4179,1981-06-11,417.9000000000265,417.9163,2015-01-01 01:09:39,bin4179,75,False +abc,4180,4180,4180,1981-06-12,418.00000000002655,418.0163,2015-01-01 01:09:40,bin4180,35,False +abc,4181,4181,4181,1981-06-13,418.10000000002657,418.1163,2015-01-01 01:09:41,bin4181,75,False +abc,4182,4182,4182,1981-06-14,418.2000000000266,418.2163,2015-01-01 01:09:42,bin4182,35,False +abc,4183,4183,4183,1981-06-15,418.3000000000266,418.3163,2015-01-01 01:09:43,bin4183,75,False +abc,4184,4184,4184,1981-06-16,418.40000000002664,418.41632,2015-01-01 01:09:44,bin4184,35,False +abc,4185,4185,4185,1981-06-17,418.50000000002666,418.51633,2015-01-01 01:09:45,bin4185,75,False +abc,4186,4186,4186,1981-06-18,418.6000000000267,418.61633,2015-01-01 01:09:46,bin4186,35,False +abc,4187,4187,4187,1981-06-19,418.7000000000267,418.71634,2015-01-01 01:09:47,bin4187,75,False +abc,4188,4188,4188,1981-06-20,418.8000000000267,418.81635,2015-01-01 01:09:48,bin4188,35,False +abc,4189,4189,4189,1981-06-21,418.90000000002675,418.91635,2015-01-01 01:09:49,bin4189,75,False +abc,4190,4190,4190,1981-06-22,419.0000000000268,419.01636,2015-01-01 01:09:50,bin4190,35,False +abc,4191,4191,4191,1981-06-23,419.1000000000268,419.11636,2015-01-01 01:09:51,bin4191,75,False +abc,4192,4192,4192,1981-06-24,419.2000000000268,419.21637,2015-01-01 01:09:52,bin4192,35,False +abc,4193,4193,4193,1981-06-25,419.30000000002684,419.31638,2015-01-01 01:09:53,bin4193,75,False +abc,4194,4194,4194,1981-06-26,419.40000000002686,419.41638,2015-01-01 01:09:54,bin4194,35,False +abc,4195,4195,4195,1981-06-27,419.5000000000269,419.5164,2015-01-01 01:09:55,bin4195,75,False +abc,4196,4196,4196,1981-06-28,419.6000000000269,419.6164,2015-01-01 01:09:56,bin4196,35,False +abc,4197,4197,4197,1981-06-29,419.70000000002693,419.7164,2015-01-01 01:09:57,bin4197,75,False +abc,4198,4198,4198,1981-06-30,419.80000000002696,419.8164,2015-01-01 01:09:58,bin4198,35,False +abc,4199,4199,4199,1981-07-01,419.900000000027,419.9164,2015-01-01 01:09:59,bin4199,75,False +abc,4200,4200,4200,1981-07-02,420.000000000027,420.01642,2015-01-01 01:10:00,bin4200,35,False +abc,4201,4201,4201,1981-07-03,420.100000000027,420.11642,2015-01-01 01:10:01,bin4201,75,False +abc,4202,4202,4202,1981-07-04,420.20000000002705,420.21643,2015-01-01 01:10:02,bin4202,35,False +abc,4203,4203,4203,1981-07-05,420.30000000002707,420.31644,2015-01-01 01:10:03,bin4203,75,False +abc,4204,4204,4204,1981-07-06,420.4000000000271,420.41644,2015-01-01 01:10:04,bin4204,35,False +abc,4205,4205,4205,1981-07-07,420.5000000000271,420.51645,2015-01-01 01:10:05,bin4205,75,False +abc,4206,4206,4206,1981-07-08,420.60000000002714,420.61646,2015-01-01 01:10:06,bin4206,35,False +abc,4207,4207,4207,1981-07-09,420.70000000002716,420.71646,2015-01-01 01:10:07,bin4207,75,False +abc,4208,4208,4208,1981-07-10,420.8000000000272,420.81647,2015-01-01 01:10:08,bin4208,35,False +abc,4209,4209,4209,1981-07-11,420.9000000000272,420.91647,2015-01-01 01:10:09,bin4209,75,False +abc,4210,4210,4210,1981-07-12,421.0000000000272,421.01648,2015-01-01 01:10:10,bin4210,35,False +abc,4211,4211,4211,1981-07-13,421.10000000002725,421.1165,2015-01-01 01:10:11,bin4211,75,False +abc,4212,4212,4212,1981-07-14,421.2000000000273,421.2165,2015-01-01 01:10:12,bin4212,35,False +abc,4213,4213,4213,1981-07-15,421.3000000000273,421.3165,2015-01-01 01:10:13,bin4213,75,False +abc,4214,4214,4214,1981-07-16,421.4000000000273,421.4165,2015-01-01 01:10:14,bin4214,35,False +abc,4215,4215,4215,1981-07-17,421.50000000002734,421.5165,2015-01-01 01:10:15,bin4215,75,False +abc,4216,4216,4216,1981-07-18,421.60000000002736,421.61652,2015-01-01 01:10:16,bin4216,35,False +abc,4217,4217,4217,1981-07-19,421.7000000000274,421.71652,2015-01-01 01:10:17,bin4217,75,False +abc,4218,4218,4218,1981-07-20,421.8000000000274,421.81653,2015-01-01 01:10:18,bin4218,35,False +abc,4219,4219,4219,1981-07-21,421.90000000002743,421.91653,2015-01-01 01:10:19,bin4219,75,False +abc,4220,4220,4220,1981-07-22,422.00000000002746,422.01654,2015-01-01 01:10:20,bin4220,35,False +abc,4221,4221,4221,1981-07-23,422.1000000000275,422.11655,2015-01-01 01:10:21,bin4221,75,False +abc,4222,4222,4222,1981-07-24,422.2000000000275,422.21655,2015-01-01 01:10:22,bin4222,35,False +abc,4223,4223,4223,1981-07-25,422.3000000000275,422.31656,2015-01-01 01:10:23,bin4223,75,False +abc,4224,4224,4224,1981-07-26,422.40000000002755,422.41656,2015-01-01 01:10:24,bin4224,35,False +abc,4225,4225,4225,1981-07-27,422.50000000002757,422.51657,2015-01-01 01:10:25,bin4225,75,False +abc,4226,4226,4226,1981-07-28,422.6000000000276,422.61658,2015-01-01 01:10:26,bin4226,35,False +abc,4227,4227,4227,1981-07-29,422.7000000000276,422.71658,2015-01-01 01:10:27,bin4227,75,False +abc,4228,4228,4228,1981-07-30,422.80000000002764,422.8166,2015-01-01 01:10:28,bin4228,35,False +abc,4229,4229,4229,1981-07-31,422.90000000002766,422.9166,2015-01-01 01:10:29,bin4229,75,False +abc,4230,4230,4230,1981-08-01,423.0000000000277,423.0166,2015-01-01 01:10:30,bin4230,35,False +abc,4231,4231,4231,1981-08-02,423.1000000000277,423.1166,2015-01-01 01:10:31,bin4231,75,False +abc,4232,4232,4232,1981-08-03,423.2000000000277,423.2166,2015-01-01 01:10:32,bin4232,35,False +abc,4233,4233,4233,1981-08-04,423.30000000002775,423.31662,2015-01-01 01:10:33,bin4233,75,False +abc,4234,4234,4234,1981-08-05,423.4000000000278,423.41663,2015-01-01 01:10:34,bin4234,35,False +abc,4235,4235,4235,1981-08-06,423.5000000000278,423.51663,2015-01-01 01:10:35,bin4235,75,False +abc,4236,4236,4236,1981-08-07,423.6000000000278,423.61664,2015-01-01 01:10:36,bin4236,35,False +abc,4237,4237,4237,1981-08-08,423.70000000002784,423.71664,2015-01-01 01:10:37,bin4237,75,False +abc,4238,4238,4238,1981-08-09,423.80000000002786,423.81665,2015-01-01 01:10:38,bin4238,35,False +abc,4239,4239,4239,1981-08-10,423.9000000000279,423.91666,2015-01-01 01:10:39,bin4239,75,False +abc,4240,4240,4240,1981-08-11,424.0000000000279,424.01666,2015-01-01 01:10:40,bin4240,35,False +abc,4241,4241,4241,1981-08-12,424.10000000002793,424.11667,2015-01-01 01:10:41,bin4241,75,False +abc,4242,4242,4242,1981-08-13,424.20000000002796,424.21667,2015-01-01 01:10:42,bin4242,35,False +abc,4243,4243,4243,1981-08-14,424.300000000028,424.31668,2015-01-01 01:10:43,bin4243,75,False +abc,4244,4244,4244,1981-08-15,424.400000000028,424.4167,2015-01-01 01:10:44,bin4244,35,False +abc,4245,4245,4245,1981-08-16,424.500000000028,424.5167,2015-01-01 01:10:45,bin4245,75,False +abc,4246,4246,4246,1981-08-17,424.60000000002805,424.6167,2015-01-01 01:10:46,bin4246,35,False +abc,4247,4247,4247,1981-08-18,424.70000000002807,424.7167,2015-01-01 01:10:47,bin4247,75,False +abc,4248,4248,4248,1981-08-19,424.8000000000281,424.8167,2015-01-01 01:10:48,bin4248,35,False +abc,4249,4249,4249,1981-08-20,424.9000000000281,424.91672,2015-01-01 01:10:49,bin4249,75,False +abc,4250,4250,4250,1981-08-21,425.00000000002814,425.01672,2015-01-01 01:10:50,bin4250,35,False +abc,4251,4251,4251,1981-08-22,425.10000000002816,425.11673,2015-01-01 01:10:51,bin4251,75,False +abc,4252,4252,4252,1981-08-23,425.2000000000282,425.21674,2015-01-01 01:10:52,bin4252,35,False +abc,4253,4253,4253,1981-08-24,425.3000000000282,425.31674,2015-01-01 01:10:53,bin4253,75,False +abc,4254,4254,4254,1981-08-25,425.40000000002823,425.41675,2015-01-01 01:10:54,bin4254,35,False +abc,4255,4255,4255,1981-08-26,425.50000000002825,425.51675,2015-01-01 01:10:55,bin4255,75,False +abc,4256,4256,4256,1981-08-27,425.6000000000283,425.61676,2015-01-01 01:10:56,bin4256,35,False +abc,4257,4257,4257,1981-08-28,425.7000000000283,425.71677,2015-01-01 01:10:57,bin4257,75,False +abc,4258,4258,4258,1981-08-29,425.8000000000283,425.81677,2015-01-01 01:10:58,bin4258,35,False +abc,4259,4259,4259,1981-08-30,425.90000000002834,425.91678,2015-01-01 01:10:59,bin4259,75,False +abc,4260,4260,4260,1981-08-31,426.00000000002836,426.01678,2015-01-01 01:11:00,bin4260,35,False +abc,4261,4261,4261,1981-09-01,426.1000000000284,426.1168,2015-01-01 01:11:01,bin4261,75,False +abc,4262,4262,4262,1981-09-02,426.2000000000284,426.2168,2015-01-01 01:11:02,bin4262,35,False +abc,4263,4263,4263,1981-09-03,426.30000000002843,426.3168,2015-01-01 01:11:03,bin4263,75,False +abc,4264,4264,4264,1981-09-04,426.40000000002846,426.4168,2015-01-01 01:11:04,bin4264,35,False +abc,4265,4265,4265,1981-09-05,426.5000000000285,426.5168,2015-01-01 01:11:05,bin4265,75,False +abc,4266,4266,4266,1981-09-06,426.6000000000285,426.61682,2015-01-01 01:11:06,bin4266,35,False +abc,4267,4267,4267,1981-09-07,426.7000000000285,426.71683,2015-01-01 01:11:07,bin4267,75,False +abc,4268,4268,4268,1981-09-08,426.80000000002855,426.81683,2015-01-01 01:11:08,bin4268,35,False +abc,4269,4269,4269,1981-09-09,426.90000000002857,426.91684,2015-01-01 01:11:09,bin4269,75,False +abc,4270,4270,4270,1981-09-10,427.0000000000286,427.01685,2015-01-01 01:11:10,bin4270,35,False +abc,4271,4271,4271,1981-09-11,427.1000000000286,427.11685,2015-01-01 01:11:11,bin4271,75,False +abc,4272,4272,4272,1981-09-12,427.20000000002864,427.21686,2015-01-01 01:11:12,bin4272,35,False +abc,4273,4273,4273,1981-09-13,427.30000000002866,427.31686,2015-01-01 01:11:13,bin4273,75,False +abc,4274,4274,4274,1981-09-14,427.4000000000287,427.41687,2015-01-01 01:11:14,bin4274,35,False +abc,4275,4275,4275,1981-09-15,427.5000000000287,427.51688,2015-01-01 01:11:15,bin4275,75,False +abc,4276,4276,4276,1981-09-16,427.60000000002873,427.61688,2015-01-01 01:11:16,bin4276,35,False +abc,4277,4277,4277,1981-09-17,427.70000000002875,427.7169,2015-01-01 01:11:17,bin4277,75,False +abc,4278,4278,4278,1981-09-18,427.8000000000288,427.8169,2015-01-01 01:11:18,bin4278,35,False +abc,4279,4279,4279,1981-09-19,427.9000000000288,427.9169,2015-01-01 01:11:19,bin4279,75,False +abc,4280,4280,4280,1981-09-20,428.0000000000288,428.0169,2015-01-01 01:11:20,bin4280,35,False +abc,4281,4281,4281,1981-09-21,428.10000000002884,428.1169,2015-01-01 01:11:21,bin4281,75,False +abc,4282,4282,4282,1981-09-22,428.20000000002887,428.21692,2015-01-01 01:11:22,bin4282,35,False +abc,4283,4283,4283,1981-09-23,428.3000000000289,428.31693,2015-01-01 01:11:23,bin4283,75,False +abc,4284,4284,4284,1981-09-24,428.4000000000289,428.41693,2015-01-01 01:11:24,bin4284,35,False +abc,4285,4285,4285,1981-09-25,428.50000000002893,428.51694,2015-01-01 01:11:25,bin4285,75,False +abc,4286,4286,4286,1981-09-26,428.60000000002896,428.61694,2015-01-01 01:11:26,bin4286,35,False +abc,4287,4287,4287,1981-09-27,428.700000000029,428.71695,2015-01-01 01:11:27,bin4287,75,False +abc,4288,4288,4288,1981-09-28,428.800000000029,428.81696,2015-01-01 01:11:28,bin4288,35,False +abc,4289,4289,4289,1981-09-29,428.900000000029,428.91696,2015-01-01 01:11:29,bin4289,75,False +abc,4290,4290,4290,1981-09-30,429.00000000002905,429.01697,2015-01-01 01:11:30,bin4290,35,False +abc,4291,4291,4291,1981-10-01,429.10000000002907,429.11697,2015-01-01 01:11:31,bin4291,75,False +abc,4292,4292,4292,1981-10-02,429.2000000000291,429.21698,2015-01-01 01:11:32,bin4292,35,False +abc,4293,4293,4293,1981-10-03,429.3000000000291,429.317,2015-01-01 01:11:33,bin4293,75,False +abc,4294,4294,4294,1981-10-04,429.40000000002914,429.417,2015-01-01 01:11:34,bin4294,35,False +abc,4295,4295,4295,1981-10-05,429.50000000002916,429.517,2015-01-01 01:11:35,bin4295,75,False +abc,4296,4296,4296,1981-10-06,429.6000000000292,429.617,2015-01-01 01:11:36,bin4296,35,False +abc,4297,4297,4297,1981-10-07,429.7000000000292,429.717,2015-01-01 01:11:37,bin4297,75,False +abc,4298,4298,4298,1981-10-08,429.80000000002923,429.81702,2015-01-01 01:11:38,bin4298,35,False +abc,4299,4299,4299,1981-10-09,429.90000000002925,429.91702,2015-01-01 01:11:39,bin4299,75,False +abc,4300,4300,4300,1981-10-10,430.0000000000293,430.01703,2015-01-01 01:11:40,bin4300,35,False +abc,4301,4301,4301,1981-10-11,430.1000000000293,430.11703,2015-01-01 01:11:41,bin4301,75,False +abc,4302,4302,4302,1981-10-12,430.2000000000293,430.21704,2015-01-01 01:11:42,bin4302,35,False +abc,4303,4303,4303,1981-10-13,430.30000000002934,430.31705,2015-01-01 01:11:43,bin4303,75,False +abc,4304,4304,4304,1981-10-14,430.40000000002937,430.41705,2015-01-01 01:11:44,bin4304,35,False +abc,4305,4305,4305,1981-10-15,430.5000000000294,430.51706,2015-01-01 01:11:45,bin4305,75,False +abc,4306,4306,4306,1981-10-16,430.6000000000294,430.61707,2015-01-01 01:11:46,bin4306,35,False +abc,4307,4307,4307,1981-10-17,430.70000000002943,430.71707,2015-01-01 01:11:47,bin4307,75,False +abc,4308,4308,4308,1981-10-18,430.80000000002946,430.81708,2015-01-01 01:11:48,bin4308,35,False +abc,4309,4309,4309,1981-10-19,430.9000000000295,430.91708,2015-01-01 01:11:49,bin4309,75,False +abc,4310,4310,4310,1981-10-20,431.0000000000295,431.0171,2015-01-01 01:11:50,bin4310,35,False +abc,4311,4311,4311,1981-10-21,431.1000000000295,431.1171,2015-01-01 01:11:51,bin4311,75,False +abc,4312,4312,4312,1981-10-22,431.20000000002955,431.2171,2015-01-01 01:11:52,bin4312,35,False +abc,4313,4313,4313,1981-10-23,431.30000000002957,431.3171,2015-01-01 01:11:53,bin4313,75,False +abc,4314,4314,4314,1981-10-24,431.4000000000296,431.4171,2015-01-01 01:11:54,bin4314,35,False +abc,4315,4315,4315,1981-10-25,431.5000000000296,431.51712,2015-01-01 01:11:55,bin4315,75,False +abc,4316,4316,4316,1981-10-26,431.60000000002964,431.61713,2015-01-01 01:11:56,bin4316,35,False +abc,4317,4317,4317,1981-10-27,431.70000000002966,431.71713,2015-01-01 01:11:57,bin4317,75,False +abc,4318,4318,4318,1981-10-28,431.8000000000297,431.81714,2015-01-01 01:11:58,bin4318,35,False +abc,4319,4319,4319,1981-10-29,431.9000000000297,431.91714,2015-01-01 01:11:59,bin4319,75,False +abc,4320,4320,4320,1981-10-30,432.00000000002973,432.01715,2015-01-01 01:12:00,bin4320,35,False +abc,4321,4321,4321,1981-10-31,432.10000000002975,432.11716,2015-01-01 01:12:01,bin4321,75,False +abc,4322,4322,4322,1981-11-01,432.2000000000298,432.21716,2015-01-01 01:12:02,bin4322,35,False +abc,4323,4323,4323,1981-11-02,432.3000000000298,432.31717,2015-01-01 01:12:03,bin4323,75,False +abc,4324,4324,4324,1981-11-03,432.4000000000298,432.41718,2015-01-01 01:12:04,bin4324,35,False +abc,4325,4325,4325,1981-11-04,432.50000000002984,432.51718,2015-01-01 01:12:05,bin4325,75,False +abc,4326,4326,4326,1981-11-05,432.60000000002987,432.6172,2015-01-01 01:12:06,bin4326,35,False +abc,4327,4327,4327,1981-11-06,432.7000000000299,432.7172,2015-01-01 01:12:07,bin4327,75,False +abc,4328,4328,4328,1981-11-07,432.8000000000299,432.8172,2015-01-01 01:12:08,bin4328,35,False +abc,4329,4329,4329,1981-11-08,432.90000000002993,432.9172,2015-01-01 01:12:09,bin4329,75,False +abc,4330,4330,4330,1981-11-09,433.00000000002996,433.0172,2015-01-01 01:12:10,bin4330,35,False +abc,4331,4331,4331,1981-11-10,433.10000000003,433.11722,2015-01-01 01:12:11,bin4331,75,False +abc,4332,4332,4332,1981-11-11,433.20000000003,433.21722,2015-01-01 01:12:12,bin4332,35,False +abc,4333,4333,4333,1981-11-12,433.30000000003,433.31723,2015-01-01 01:12:13,bin4333,75,False +abc,4334,4334,4334,1981-11-13,433.40000000003005,433.41724,2015-01-01 01:12:14,bin4334,35,False +abc,4335,4335,4335,1981-11-14,433.50000000003007,433.51724,2015-01-01 01:12:15,bin4335,75,False +abc,4336,4336,4336,1981-11-15,433.6000000000301,433.61725,2015-01-01 01:12:16,bin4336,35,False +abc,4337,4337,4337,1981-11-16,433.7000000000301,433.71725,2015-01-01 01:12:17,bin4337,75,False +abc,4338,4338,4338,1981-11-17,433.80000000003014,433.81726,2015-01-01 01:12:18,bin4338,35,False +abc,4339,4339,4339,1981-11-18,433.90000000003016,433.91727,2015-01-01 01:12:19,bin4339,75,False +abc,4340,4340,4340,1981-11-19,434.0000000000302,434.01727,2015-01-01 01:12:20,bin4340,35,False +abc,4341,4341,4341,1981-11-20,434.1000000000302,434.11728,2015-01-01 01:12:21,bin4341,75,False +abc,4342,4342,4342,1981-11-21,434.20000000003023,434.2173,2015-01-01 01:12:22,bin4342,35,False +abc,4343,4343,4343,1981-11-22,434.30000000003025,434.3173,2015-01-01 01:12:23,bin4343,75,False +abc,4344,4344,4344,1981-11-23,434.4000000000303,434.4173,2015-01-01 01:12:24,bin4344,35,False +abc,4345,4345,4345,1981-11-24,434.5000000000303,434.5173,2015-01-01 01:12:25,bin4345,75,False +abc,4346,4346,4346,1981-11-25,434.6000000000303,434.6173,2015-01-01 01:12:26,bin4346,35,False +abc,4347,4347,4347,1981-11-26,434.70000000003034,434.71732,2015-01-01 01:12:27,bin4347,75,False +abc,4348,4348,4348,1981-11-27,434.80000000003037,434.81732,2015-01-01 01:12:28,bin4348,35,False +abc,4349,4349,4349,1981-11-28,434.9000000000304,434.91733,2015-01-01 01:12:29,bin4349,75,False +abc,4350,4350,4350,1981-11-29,435.0000000000304,435.01733,2015-01-01 01:12:30,bin4350,35,False +abc,4351,4351,4351,1981-11-30,435.10000000003043,435.11734,2015-01-01 01:12:31,bin4351,75,False +abc,4352,4352,4352,1981-12-01,435.20000000003046,435.21735,2015-01-01 01:12:32,bin4352,35,False +abc,4353,4353,4353,1981-12-02,435.3000000000305,435.31735,2015-01-01 01:12:33,bin4353,75,False +abc,4354,4354,4354,1981-12-03,435.4000000000305,435.41736,2015-01-01 01:12:34,bin4354,35,False +abc,4355,4355,4355,1981-12-04,435.5000000000305,435.51736,2015-01-01 01:12:35,bin4355,75,False +abc,4356,4356,4356,1981-12-05,435.60000000003055,435.61737,2015-01-01 01:12:36,bin4356,35,False +abc,4357,4357,4357,1981-12-06,435.70000000003057,435.71738,2015-01-01 01:12:37,bin4357,75,False +abc,4358,4358,4358,1981-12-07,435.8000000000306,435.81738,2015-01-01 01:12:38,bin4358,35,False +abc,4359,4359,4359,1981-12-08,435.9000000000306,435.9174,2015-01-01 01:12:39,bin4359,75,False +abc,4360,4360,4360,1981-12-09,436.00000000003064,436.0174,2015-01-01 01:12:40,bin4360,35,False +abc,4361,4361,4361,1981-12-10,436.10000000003066,436.1174,2015-01-01 01:12:41,bin4361,75,False +abc,4362,4362,4362,1981-12-11,436.2000000000307,436.2174,2015-01-01 01:12:42,bin4362,35,False +abc,4363,4363,4363,1981-12-12,436.3000000000307,436.3174,2015-01-01 01:12:43,bin4363,75,False +abc,4364,4364,4364,1981-12-13,436.40000000003073,436.41742,2015-01-01 01:12:44,bin4364,35,False +abc,4365,4365,4365,1981-12-14,436.50000000003075,436.51743,2015-01-01 01:12:45,bin4365,75,False +abc,4366,4366,4366,1981-12-15,436.6000000000308,436.61743,2015-01-01 01:12:46,bin4366,35,False +abc,4367,4367,4367,1981-12-16,436.7000000000308,436.71744,2015-01-01 01:12:47,bin4367,75,False +abc,4368,4368,4368,1981-12-17,436.8000000000308,436.81744,2015-01-01 01:12:48,bin4368,35,False +abc,4369,4369,4369,1981-12-18,436.90000000003084,436.91745,2015-01-01 01:12:49,bin4369,75,False +abc,4370,4370,4370,1981-12-19,437.00000000003087,437.01746,2015-01-01 01:12:50,bin4370,35,False +abc,4371,4371,4371,1981-12-20,437.1000000000309,437.11746,2015-01-01 01:12:51,bin4371,75,False +abc,4372,4372,4372,1981-12-21,437.2000000000309,437.21747,2015-01-01 01:12:52,bin4372,35,False +abc,4373,4373,4373,1981-12-22,437.30000000003093,437.31747,2015-01-01 01:12:53,bin4373,75,False +abc,4374,4374,4374,1981-12-23,437.40000000003096,437.41748,2015-01-01 01:12:54,bin4374,35,False +abc,4375,4375,4375,1981-12-24,437.500000000031,437.5175,2015-01-01 01:12:55,bin4375,75,False +abc,4376,4376,4376,1981-12-25,437.600000000031,437.6175,2015-01-01 01:12:56,bin4376,35,False +abc,4377,4377,4377,1981-12-26,437.700000000031,437.7175,2015-01-01 01:12:57,bin4377,75,False +abc,4378,4378,4378,1981-12-27,437.80000000003105,437.8175,2015-01-01 01:12:58,bin4378,35,False +abc,4379,4379,4379,1981-12-28,437.90000000003107,437.9175,2015-01-01 01:12:59,bin4379,75,False +abc,4380,4380,4380,1981-12-29,438.0000000000311,438.01752,2015-01-01 01:13:00,bin4380,35,False +abc,4381,4381,4381,1981-12-30,438.1000000000311,438.11752,2015-01-01 01:13:01,bin4381,75,False +abc,4382,4382,4382,1981-12-31,438.20000000003114,438.21753,2015-01-01 01:13:02,bin4382,35,False +abc,4383,4383,4383,1982-01-01,438.30000000003116,438.31754,2015-01-01 01:13:03,bin4383,75,False +abc,4384,4384,4384,1982-01-02,438.4000000000312,438.41754,2015-01-01 01:13:04,bin4384,35,False +abc,4385,4385,4385,1982-01-03,438.5000000000312,438.51755,2015-01-01 01:13:05,bin4385,75,False +abc,4386,4386,4386,1982-01-04,438.60000000003123,438.61755,2015-01-01 01:13:06,bin4386,35,False +abc,4387,4387,4387,1982-01-05,438.70000000003125,438.71756,2015-01-01 01:13:07,bin4387,75,False +abc,4388,4388,4388,1982-01-06,438.8000000000313,438.81757,2015-01-01 01:13:08,bin4388,35,False +abc,4389,4389,4389,1982-01-07,438.9000000000313,438.91757,2015-01-01 01:13:09,bin4389,75,False +abc,4390,4390,4390,1982-01-08,439.0000000000313,439.01758,2015-01-01 01:13:10,bin4390,35,False +abc,4391,4391,4391,1982-01-09,439.10000000003134,439.11758,2015-01-01 01:13:11,bin4391,75,False +abc,4392,4392,4392,1982-01-10,439.20000000003137,439.2176,2015-01-01 01:13:12,bin4392,35,False +abc,4393,4393,4393,1982-01-11,439.3000000000314,439.3176,2015-01-01 01:13:13,bin4393,75,False +abc,4394,4394,4394,1982-01-12,439.4000000000314,439.4176,2015-01-01 01:13:14,bin4394,35,False +abc,4395,4395,4395,1982-01-13,439.50000000003143,439.5176,2015-01-01 01:13:15,bin4395,75,False +abc,4396,4396,4396,1982-01-14,439.60000000003146,439.6176,2015-01-01 01:13:16,bin4396,35,False +abc,4397,4397,4397,1982-01-15,439.7000000000315,439.71762,2015-01-01 01:13:17,bin4397,75,False +abc,4398,4398,4398,1982-01-16,439.8000000000315,439.81763,2015-01-01 01:13:18,bin4398,35,False +abc,4399,4399,4399,1982-01-17,439.9000000000315,439.91763,2015-01-01 01:13:19,bin4399,75,False +abc,4400,4400,4400,1982-01-18,440.00000000003155,440.01764,2015-01-01 01:13:20,bin4400,35,False +abc,4401,4401,4401,1982-01-19,440.10000000003157,440.11765,2015-01-01 01:13:21,bin4401,75,False +abc,4402,4402,4402,1982-01-20,440.2000000000316,440.21765,2015-01-01 01:13:22,bin4402,35,False +abc,4403,4403,4403,1982-01-21,440.3000000000316,440.31766,2015-01-01 01:13:23,bin4403,75,False +abc,4404,4404,4404,1982-01-22,440.40000000003164,440.41766,2015-01-01 01:13:24,bin4404,35,False +abc,4405,4405,4405,1982-01-23,440.50000000003166,440.51767,2015-01-01 01:13:25,bin4405,75,False +abc,4406,4406,4406,1982-01-24,440.6000000000317,440.61768,2015-01-01 01:13:26,bin4406,35,False +abc,4407,4407,4407,1982-01-25,440.7000000000317,440.71768,2015-01-01 01:13:27,bin4407,75,False +abc,4408,4408,4408,1982-01-26,440.80000000003173,440.8177,2015-01-01 01:13:28,bin4408,35,False +abc,4409,4409,4409,1982-01-27,440.90000000003175,440.9177,2015-01-01 01:13:29,bin4409,75,False +abc,4410,4410,4410,1982-01-28,441.0000000000318,441.0177,2015-01-01 01:13:30,bin4410,35,False +abc,4411,4411,4411,1982-01-29,441.1000000000318,441.1177,2015-01-01 01:13:31,bin4411,75,False +abc,4412,4412,4412,1982-01-30,441.2000000000318,441.2177,2015-01-01 01:13:32,bin4412,35,False +abc,4413,4413,4413,1982-01-31,441.30000000003184,441.31772,2015-01-01 01:13:33,bin4413,75,False +abc,4414,4414,4414,1982-02-01,441.40000000003187,441.41772,2015-01-01 01:13:34,bin4414,35,False +abc,4415,4415,4415,1982-02-02,441.5000000000319,441.51773,2015-01-01 01:13:35,bin4415,75,False +abc,4416,4416,4416,1982-02-03,441.6000000000319,441.61774,2015-01-01 01:13:36,bin4416,35,False +abc,4417,4417,4417,1982-02-04,441.70000000003193,441.71774,2015-01-01 01:13:37,bin4417,75,False +abc,4418,4418,4418,1982-02-05,441.80000000003196,441.81775,2015-01-01 01:13:38,bin4418,35,False +abc,4419,4419,4419,1982-02-06,441.900000000032,441.91776,2015-01-01 01:13:39,bin4419,75,False +abc,4420,4420,4420,1982-02-07,442.000000000032,442.01776,2015-01-01 01:13:40,bin4420,35,False +abc,4421,4421,4421,1982-02-08,442.100000000032,442.11777,2015-01-01 01:13:41,bin4421,75,False +abc,4422,4422,4422,1982-02-09,442.20000000003205,442.21777,2015-01-01 01:13:42,bin4422,35,False +abc,4423,4423,4423,1982-02-10,442.30000000003207,442.31778,2015-01-01 01:13:43,bin4423,75,False +abc,4424,4424,4424,1982-02-11,442.4000000000321,442.4178,2015-01-01 01:13:44,bin4424,35,False +abc,4425,4425,4425,1982-02-12,442.5000000000321,442.5178,2015-01-01 01:13:45,bin4425,75,False +abc,4426,4426,4426,1982-02-13,442.60000000003214,442.6178,2015-01-01 01:13:46,bin4426,35,False +abc,4427,4427,4427,1982-02-14,442.70000000003216,442.7178,2015-01-01 01:13:47,bin4427,75,False +abc,4428,4428,4428,1982-02-15,442.8000000000322,442.8178,2015-01-01 01:13:48,bin4428,35,False +abc,4429,4429,4429,1982-02-16,442.9000000000322,442.91782,2015-01-01 01:13:49,bin4429,75,False +abc,4430,4430,4430,1982-02-17,443.00000000003223,443.01782,2015-01-01 01:13:50,bin4430,35,False +abc,4431,4431,4431,1982-02-18,443.10000000003225,443.11783,2015-01-01 01:13:51,bin4431,75,False +abc,4432,4432,4432,1982-02-19,443.2000000000323,443.21783,2015-01-01 01:13:52,bin4432,35,False +abc,4433,4433,4433,1982-02-20,443.3000000000323,443.31784,2015-01-01 01:13:53,bin4433,75,False +abc,4434,4434,4434,1982-02-21,443.4000000000323,443.41785,2015-01-01 01:13:54,bin4434,35,False +abc,4435,4435,4435,1982-02-22,443.50000000003234,443.51785,2015-01-01 01:13:55,bin4435,75,False +abc,4436,4436,4436,1982-02-23,443.60000000003237,443.61786,2015-01-01 01:13:56,bin4436,35,False +abc,4437,4437,4437,1982-02-24,443.7000000000324,443.71786,2015-01-01 01:13:57,bin4437,75,False +abc,4438,4438,4438,1982-02-25,443.8000000000324,443.81787,2015-01-01 01:13:58,bin4438,35,False +abc,4439,4439,4439,1982-02-26,443.90000000003243,443.91788,2015-01-01 01:13:59,bin4439,75,False +abc,4440,4440,4440,1982-02-27,444.00000000003246,444.01788,2015-01-01 01:14:00,bin4440,35,False +abc,4441,4441,4441,1982-02-28,444.1000000000325,444.1179,2015-01-01 01:14:01,bin4441,75,False +abc,4442,4442,4442,1982-03-01,444.2000000000325,444.2179,2015-01-01 01:14:02,bin4442,35,False +abc,4443,4443,4443,1982-03-02,444.3000000000325,444.3179,2015-01-01 01:14:03,bin4443,75,False +abc,4444,4444,4444,1982-03-03,444.40000000003255,444.4179,2015-01-01 01:14:04,bin4444,35,False +abc,4445,4445,4445,1982-03-04,444.50000000003257,444.5179,2015-01-01 01:14:05,bin4445,75,False +abc,4446,4446,4446,1982-03-05,444.6000000000326,444.61792,2015-01-01 01:14:06,bin4446,35,False +abc,4447,4447,4447,1982-03-06,444.7000000000326,444.71793,2015-01-01 01:14:07,bin4447,75,False +abc,4448,4448,4448,1982-03-07,444.80000000003264,444.81793,2015-01-01 01:14:08,bin4448,35,False +abc,4449,4449,4449,1982-03-08,444.90000000003266,444.91794,2015-01-01 01:14:09,bin4449,75,False +abc,4450,4450,4450,1982-03-09,445.0000000000327,445.01794,2015-01-01 01:14:10,bin4450,35,False +abc,4451,4451,4451,1982-03-10,445.1000000000327,445.11795,2015-01-01 01:14:11,bin4451,75,False +abc,4452,4452,4452,1982-03-11,445.20000000003273,445.21796,2015-01-01 01:14:12,bin4452,35,False +abc,4453,4453,4453,1982-03-12,445.30000000003275,445.31796,2015-01-01 01:14:13,bin4453,75,False +abc,4454,4454,4454,1982-03-13,445.4000000000328,445.41797,2015-01-01 01:14:14,bin4454,35,False +abc,4455,4455,4455,1982-03-14,445.5000000000328,445.51797,2015-01-01 01:14:15,bin4455,75,False +abc,4456,4456,4456,1982-03-15,445.6000000000328,445.61798,2015-01-01 01:14:16,bin4456,35,False +abc,4457,4457,4457,1982-03-16,445.70000000003284,445.718,2015-01-01 01:14:17,bin4457,75,False +abc,4458,4458,4458,1982-03-17,445.80000000003287,445.818,2015-01-01 01:14:18,bin4458,35,False +abc,4459,4459,4459,1982-03-18,445.9000000000329,445.918,2015-01-01 01:14:19,bin4459,75,False +abc,4460,4460,4460,1982-03-19,446.0000000000329,446.018,2015-01-01 01:14:20,bin4460,35,False +abc,4461,4461,4461,1982-03-20,446.10000000003294,446.118,2015-01-01 01:14:21,bin4461,75,False +abc,4462,4462,4462,1982-03-21,446.20000000003296,446.21802,2015-01-01 01:14:22,bin4462,35,False +abc,4463,4463,4463,1982-03-22,446.300000000033,446.31802,2015-01-01 01:14:23,bin4463,75,False +abc,4464,4464,4464,1982-03-23,446.400000000033,446.41803,2015-01-01 01:14:24,bin4464,35,False +abc,4465,4465,4465,1982-03-24,446.500000000033,446.51804,2015-01-01 01:14:25,bin4465,75,False +abc,4466,4466,4466,1982-03-25,446.60000000003305,446.61804,2015-01-01 01:14:26,bin4466,35,False +abc,4467,4467,4467,1982-03-26,446.70000000003307,446.71805,2015-01-01 01:14:27,bin4467,75,False +abc,4468,4468,4468,1982-03-27,446.8000000000331,446.81805,2015-01-01 01:14:28,bin4468,35,False +abc,4469,4469,4469,1982-03-28,446.9000000000331,446.91806,2015-01-01 01:14:29,bin4469,75,False +abc,4470,4470,4470,1982-03-29,447.00000000003314,447.01807,2015-01-01 01:14:30,bin4470,35,False +abc,4471,4471,4471,1982-03-30,447.10000000003316,447.11807,2015-01-01 01:14:31,bin4471,75,False +abc,4472,4472,4472,1982-03-31,447.2000000000332,447.21808,2015-01-01 01:14:32,bin4472,35,False +abc,4473,4473,4473,1982-04-01,447.3000000000332,447.31808,2015-01-01 01:14:33,bin4473,75,False +abc,4474,4474,4474,1982-04-02,447.40000000003323,447.4181,2015-01-01 01:14:34,bin4474,35,False +abc,4475,4475,4475,1982-04-03,447.50000000003325,447.5181,2015-01-01 01:14:35,bin4475,75,False +abc,4476,4476,4476,1982-04-04,447.6000000000333,447.6181,2015-01-01 01:14:36,bin4476,35,False +abc,4477,4477,4477,1982-04-05,447.7000000000333,447.7181,2015-01-01 01:14:37,bin4477,75,False +abc,4478,4478,4478,1982-04-06,447.8000000000333,447.8181,2015-01-01 01:14:38,bin4478,35,False +abc,4479,4479,4479,1982-04-07,447.90000000003334,447.91812,2015-01-01 01:14:39,bin4479,75,False +abc,4480,4480,4480,1982-04-08,448.00000000003337,448.01813,2015-01-01 01:14:40,bin4480,35,False +abc,4481,4481,4481,1982-04-09,448.1000000000334,448.11813,2015-01-01 01:14:41,bin4481,75,False +abc,4482,4482,4482,1982-04-10,448.2000000000334,448.21814,2015-01-01 01:14:42,bin4482,35,False +abc,4483,4483,4483,1982-04-11,448.30000000003344,448.31815,2015-01-01 01:14:43,bin4483,75,False +abc,4484,4484,4484,1982-04-12,448.40000000003346,448.41815,2015-01-01 01:14:44,bin4484,35,False +abc,4485,4485,4485,1982-04-13,448.5000000000335,448.51816,2015-01-01 01:14:45,bin4485,75,False +abc,4486,4486,4486,1982-04-14,448.6000000000335,448.61816,2015-01-01 01:14:46,bin4486,35,False +abc,4487,4487,4487,1982-04-15,448.7000000000335,448.71817,2015-01-01 01:14:47,bin4487,75,False +abc,4488,4488,4488,1982-04-16,448.80000000003355,448.81818,2015-01-01 01:14:48,bin4488,35,False +abc,4489,4489,4489,1982-04-17,448.9000000000336,448.91818,2015-01-01 01:14:49,bin4489,75,False +abc,4490,4490,4490,1982-04-18,449.0000000000336,449.0182,2015-01-01 01:14:50,bin4490,35,False +abc,4491,4491,4491,1982-04-19,449.1000000000336,449.1182,2015-01-01 01:14:51,bin4491,75,False +abc,4492,4492,4492,1982-04-20,449.20000000003364,449.2182,2015-01-01 01:14:52,bin4492,35,False +abc,4493,4493,4493,1982-04-21,449.30000000003366,449.3182,2015-01-01 01:14:53,bin4493,75,False +abc,4494,4494,4494,1982-04-22,449.4000000000337,449.4182,2015-01-01 01:14:54,bin4494,35,False +abc,4495,4495,4495,1982-04-23,449.5000000000337,449.51822,2015-01-01 01:14:55,bin4495,75,False +abc,4496,4496,4496,1982-04-24,449.60000000003373,449.61823,2015-01-01 01:14:56,bin4496,35,False +abc,4497,4497,4497,1982-04-25,449.70000000003375,449.71823,2015-01-01 01:14:57,bin4497,75,False +abc,4498,4498,4498,1982-04-26,449.8000000000338,449.81824,2015-01-01 01:14:58,bin4498,35,False +abc,4499,4499,4499,1982-04-27,449.9000000000338,449.91824,2015-01-01 01:14:59,bin4499,75,False +abc,4500,4500,4500,1982-04-28,450.0000000000338,450.01825,2015-01-01 01:15:00,bin4500,35,False +abc,4501,4501,4501,1982-04-29,450.10000000003384,450.11826,2015-01-01 01:15:01,bin4501,75,False +abc,4502,4502,4502,1982-04-30,450.20000000003387,450.21826,2015-01-01 01:15:02,bin4502,35,False +abc,4503,4503,4503,1982-05-01,450.3000000000339,450.31827,2015-01-01 01:15:03,bin4503,75,False +abc,4504,4504,4504,1982-05-02,450.4000000000339,450.41827,2015-01-01 01:15:04,bin4504,35,False +abc,4505,4505,4505,1982-05-03,450.50000000003394,450.51828,2015-01-01 01:15:05,bin4505,75,False +abc,4506,4506,4506,1982-05-04,450.60000000003396,450.6183,2015-01-01 01:15:06,bin4506,35,False +abc,4507,4507,4507,1982-05-05,450.700000000034,450.7183,2015-01-01 01:15:07,bin4507,75,False +abc,4508,4508,4508,1982-05-06,450.800000000034,450.8183,2015-01-01 01:15:08,bin4508,35,False +abc,4509,4509,4509,1982-05-07,450.900000000034,450.9183,2015-01-01 01:15:09,bin4509,75,False +abc,4510,4510,4510,1982-05-08,451.00000000003405,451.0183,2015-01-01 01:15:10,bin4510,35,False +abc,4511,4511,4511,1982-05-09,451.1000000000341,451.11832,2015-01-01 01:15:11,bin4511,75,False +abc,4512,4512,4512,1982-05-10,451.2000000000341,451.21832,2015-01-01 01:15:12,bin4512,35,False +abc,4513,4513,4513,1982-05-11,451.3000000000341,451.31833,2015-01-01 01:15:13,bin4513,75,False +abc,4514,4514,4514,1982-05-12,451.40000000003414,451.41833,2015-01-01 01:15:14,bin4514,35,False +abc,4515,4515,4515,1982-05-13,451.50000000003416,451.51834,2015-01-01 01:15:15,bin4515,75,False +abc,4516,4516,4516,1982-05-14,451.6000000000342,451.61835,2015-01-01 01:15:16,bin4516,35,False +abc,4517,4517,4517,1982-05-15,451.7000000000342,451.71835,2015-01-01 01:15:17,bin4517,75,False +abc,4518,4518,4518,1982-05-16,451.80000000003423,451.81836,2015-01-01 01:15:18,bin4518,35,False +abc,4519,4519,4519,1982-05-17,451.90000000003425,451.91837,2015-01-01 01:15:19,bin4519,75,False +abc,4520,4520,4520,1982-05-18,452.0000000000343,452.01837,2015-01-01 01:15:20,bin4520,35,False +abc,4521,4521,4521,1982-05-19,452.1000000000343,452.11838,2015-01-01 01:15:21,bin4521,75,False +abc,4522,4522,4522,1982-05-20,452.2000000000343,452.21838,2015-01-01 01:15:22,bin4522,35,False +abc,4523,4523,4523,1982-05-21,452.30000000003434,452.3184,2015-01-01 01:15:23,bin4523,75,False +abc,4524,4524,4524,1982-05-22,452.40000000003437,452.4184,2015-01-01 01:15:24,bin4524,35,False +abc,4525,4525,4525,1982-05-23,452.5000000000344,452.5184,2015-01-01 01:15:25,bin4525,75,False +abc,4526,4526,4526,1982-05-24,452.6000000000344,452.6184,2015-01-01 01:15:26,bin4526,35,False +abc,4527,4527,4527,1982-05-25,452.70000000003444,452.7184,2015-01-01 01:15:27,bin4527,75,False +abc,4528,4528,4528,1982-05-26,452.80000000003446,452.81842,2015-01-01 01:15:28,bin4528,35,False +abc,4529,4529,4529,1982-05-27,452.9000000000345,452.91843,2015-01-01 01:15:29,bin4529,75,False +abc,4530,4530,4530,1982-05-28,453.0000000000345,453.01843,2015-01-01 01:15:30,bin4530,35,False +abc,4531,4531,4531,1982-05-29,453.1000000000345,453.11844,2015-01-01 01:15:31,bin4531,75,False +abc,4532,4532,4532,1982-05-30,453.20000000003455,453.21844,2015-01-01 01:15:32,bin4532,35,False +abc,4533,4533,4533,1982-05-31,453.3000000000346,453.31845,2015-01-01 01:15:33,bin4533,75,False +abc,4534,4534,4534,1982-06-01,453.4000000000346,453.41846,2015-01-01 01:15:34,bin4534,35,False +abc,4535,4535,4535,1982-06-02,453.5000000000346,453.51846,2015-01-01 01:15:35,bin4535,75,False +abc,4536,4536,4536,1982-06-03,453.60000000003464,453.61847,2015-01-01 01:15:36,bin4536,35,False +abc,4537,4537,4537,1982-06-04,453.70000000003466,453.71848,2015-01-01 01:15:37,bin4537,75,False +abc,4538,4538,4538,1982-06-05,453.8000000000347,453.81848,2015-01-01 01:15:38,bin4538,35,False +abc,4539,4539,4539,1982-06-06,453.9000000000347,453.9185,2015-01-01 01:15:39,bin4539,75,False +abc,4540,4540,4540,1982-06-07,454.00000000003473,454.0185,2015-01-01 01:15:40,bin4540,35,False +abc,4541,4541,4541,1982-06-08,454.10000000003475,454.1185,2015-01-01 01:15:41,bin4541,75,False +abc,4542,4542,4542,1982-06-09,454.2000000000348,454.2185,2015-01-01 01:15:42,bin4542,35,False +abc,4543,4543,4543,1982-06-10,454.3000000000348,454.3185,2015-01-01 01:15:43,bin4543,75,False +abc,4544,4544,4544,1982-06-11,454.4000000000348,454.41852,2015-01-01 01:15:44,bin4544,35,False +abc,4545,4545,4545,1982-06-12,454.50000000003485,454.51852,2015-01-01 01:15:45,bin4545,75,False +abc,4546,4546,4546,1982-06-13,454.60000000003487,454.61853,2015-01-01 01:15:46,bin4546,35,False +abc,4547,4547,4547,1982-06-14,454.7000000000349,454.71854,2015-01-01 01:15:47,bin4547,75,False +abc,4548,4548,4548,1982-06-15,454.8000000000349,454.81854,2015-01-01 01:15:48,bin4548,35,False +abc,4549,4549,4549,1982-06-16,454.90000000003494,454.91855,2015-01-01 01:15:49,bin4549,75,False +abc,4550,4550,4550,1982-06-17,455.00000000003496,455.01855,2015-01-01 01:15:50,bin4550,35,False +abc,4551,4551,4551,1982-06-18,455.100000000035,455.11856,2015-01-01 01:15:51,bin4551,75,False +abc,4552,4552,4552,1982-06-19,455.200000000035,455.21857,2015-01-01 01:15:52,bin4552,35,False +abc,4553,4553,4553,1982-06-20,455.300000000035,455.31857,2015-01-01 01:15:53,bin4553,75,False +abc,4554,4554,4554,1982-06-21,455.40000000003505,455.41858,2015-01-01 01:15:54,bin4554,35,False +abc,4555,4555,4555,1982-06-22,455.5000000000351,455.5186,2015-01-01 01:15:55,bin4555,75,False +abc,4556,4556,4556,1982-06-23,455.6000000000351,455.6186,2015-01-01 01:15:56,bin4556,35,False +abc,4557,4557,4557,1982-06-24,455.7000000000351,455.7186,2015-01-01 01:15:57,bin4557,75,False +abc,4558,4558,4558,1982-06-25,455.80000000003514,455.8186,2015-01-01 01:15:58,bin4558,35,False +abc,4559,4559,4559,1982-06-26,455.90000000003516,455.9186,2015-01-01 01:15:59,bin4559,75,False +abc,4560,4560,4560,1982-06-27,456.0000000000352,456.01862,2015-01-01 01:16:00,bin4560,35,False +abc,4561,4561,4561,1982-06-28,456.1000000000352,456.11862,2015-01-01 01:16:01,bin4561,75,False +abc,4562,4562,4562,1982-06-29,456.20000000003523,456.21863,2015-01-01 01:16:02,bin4562,35,False +abc,4563,4563,4563,1982-06-30,456.30000000003525,456.31863,2015-01-01 01:16:03,bin4563,75,False +abc,4564,4564,4564,1982-07-01,456.4000000000353,456.41864,2015-01-01 01:16:04,bin4564,35,False +abc,4565,4565,4565,1982-07-02,456.5000000000353,456.51865,2015-01-01 01:16:05,bin4565,75,False +abc,4566,4566,4566,1982-07-03,456.6000000000353,456.61865,2015-01-01 01:16:06,bin4566,35,False +abc,4567,4567,4567,1982-07-04,456.70000000003535,456.71866,2015-01-01 01:16:07,bin4567,75,False +abc,4568,4568,4568,1982-07-05,456.80000000003537,456.81866,2015-01-01 01:16:08,bin4568,35,False +abc,4569,4569,4569,1982-07-06,456.9000000000354,456.91867,2015-01-01 01:16:09,bin4569,75,False +abc,4570,4570,4570,1982-07-07,457.0000000000354,457.01868,2015-01-01 01:16:10,bin4570,35,False +abc,4571,4571,4571,1982-07-08,457.10000000003544,457.11868,2015-01-01 01:16:11,bin4571,75,False +abc,4572,4572,4572,1982-07-09,457.20000000003546,457.2187,2015-01-01 01:16:12,bin4572,35,False +abc,4573,4573,4573,1982-07-10,457.3000000000355,457.3187,2015-01-01 01:16:13,bin4573,75,False +abc,4574,4574,4574,1982-07-11,457.4000000000355,457.4187,2015-01-01 01:16:14,bin4574,35,False +abc,4575,4575,4575,1982-07-12,457.5000000000355,457.5187,2015-01-01 01:16:15,bin4575,75,False +abc,4576,4576,4576,1982-07-13,457.60000000003555,457.6187,2015-01-01 01:16:16,bin4576,35,False +abc,4577,4577,4577,1982-07-14,457.7000000000356,457.71872,2015-01-01 01:16:17,bin4577,75,False +abc,4578,4578,4578,1982-07-15,457.8000000000356,457.81873,2015-01-01 01:16:18,bin4578,35,False +abc,4579,4579,4579,1982-07-16,457.9000000000356,457.91873,2015-01-01 01:16:19,bin4579,75,False +abc,4580,4580,4580,1982-07-17,458.00000000003564,458.01874,2015-01-01 01:16:20,bin4580,35,False +abc,4581,4581,4581,1982-07-18,458.10000000003566,458.11874,2015-01-01 01:16:21,bin4581,75,False +abc,4582,4582,4582,1982-07-19,458.2000000000357,458.21875,2015-01-01 01:16:22,bin4582,35,False +abc,4583,4583,4583,1982-07-20,458.3000000000357,458.31876,2015-01-01 01:16:23,bin4583,75,False +abc,4584,4584,4584,1982-07-21,458.40000000003573,458.41876,2015-01-01 01:16:24,bin4584,35,False +abc,4585,4585,4585,1982-07-22,458.50000000003575,458.51877,2015-01-01 01:16:25,bin4585,75,False +abc,4586,4586,4586,1982-07-23,458.6000000000358,458.61877,2015-01-01 01:16:26,bin4586,35,False +abc,4587,4587,4587,1982-07-24,458.7000000000358,458.71878,2015-01-01 01:16:27,bin4587,75,False +abc,4588,4588,4588,1982-07-25,458.8000000000358,458.8188,2015-01-01 01:16:28,bin4588,35,False +abc,4589,4589,4589,1982-07-26,458.90000000003585,458.9188,2015-01-01 01:16:29,bin4589,75,False +abc,4590,4590,4590,1982-07-27,459.00000000003587,459.0188,2015-01-01 01:16:30,bin4590,35,False +abc,4591,4591,4591,1982-07-28,459.1000000000359,459.1188,2015-01-01 01:16:31,bin4591,75,False +abc,4592,4592,4592,1982-07-29,459.2000000000359,459.2188,2015-01-01 01:16:32,bin4592,35,False +abc,4593,4593,4593,1982-07-30,459.30000000003594,459.31882,2015-01-01 01:16:33,bin4593,75,False +abc,4594,4594,4594,1982-07-31,459.40000000003596,459.41882,2015-01-01 01:16:34,bin4594,35,False +abc,4595,4595,4595,1982-08-01,459.500000000036,459.51883,2015-01-01 01:16:35,bin4595,75,False +abc,4596,4596,4596,1982-08-02,459.600000000036,459.61884,2015-01-01 01:16:36,bin4596,35,False +abc,4597,4597,4597,1982-08-03,459.700000000036,459.71884,2015-01-01 01:16:37,bin4597,75,False +abc,4598,4598,4598,1982-08-04,459.80000000003605,459.81885,2015-01-01 01:16:38,bin4598,35,False +abc,4599,4599,4599,1982-08-05,459.9000000000361,459.91885,2015-01-01 01:16:39,bin4599,75,False +abc,4600,4600,4600,1982-08-06,460.0000000000361,460.01886,2015-01-01 01:16:40,bin4600,35,False +abc,4601,4601,4601,1982-08-07,460.1000000000361,460.11887,2015-01-01 01:16:41,bin4601,75,False +abc,4602,4602,4602,1982-08-08,460.20000000003614,460.21887,2015-01-01 01:16:42,bin4602,35,False +abc,4603,4603,4603,1982-08-09,460.30000000003616,460.31888,2015-01-01 01:16:43,bin4603,75,False +abc,4604,4604,4604,1982-08-10,460.4000000000362,460.41888,2015-01-01 01:16:44,bin4604,35,False +abc,4605,4605,4605,1982-08-11,460.5000000000362,460.5189,2015-01-01 01:16:45,bin4605,75,False +abc,4606,4606,4606,1982-08-12,460.60000000003623,460.6189,2015-01-01 01:16:46,bin4606,35,False +abc,4607,4607,4607,1982-08-13,460.70000000003625,460.7189,2015-01-01 01:16:47,bin4607,75,False +abc,4608,4608,4608,1982-08-14,460.8000000000363,460.8189,2015-01-01 01:16:48,bin4608,35,False +abc,4609,4609,4609,1982-08-15,460.9000000000363,460.9189,2015-01-01 01:16:49,bin4609,75,False +abc,4610,4610,4610,1982-08-16,461.0000000000363,461.01892,2015-01-01 01:16:50,bin4610,35,False +abc,4611,4611,4611,1982-08-17,461.10000000003635,461.11893,2015-01-01 01:16:51,bin4611,75,False +abc,4612,4612,4612,1982-08-18,461.20000000003637,461.21893,2015-01-01 01:16:52,bin4612,35,False +abc,4613,4613,4613,1982-08-19,461.3000000000364,461.31894,2015-01-01 01:16:53,bin4613,75,False +abc,4614,4614,4614,1982-08-20,461.4000000000364,461.41895,2015-01-01 01:16:54,bin4614,35,False +abc,4615,4615,4615,1982-08-21,461.50000000003644,461.51895,2015-01-01 01:16:55,bin4615,75,False +abc,4616,4616,4616,1982-08-22,461.60000000003646,461.61896,2015-01-01 01:16:56,bin4616,35,False +abc,4617,4617,4617,1982-08-23,461.7000000000365,461.71896,2015-01-01 01:16:57,bin4617,75,False +abc,4618,4618,4618,1982-08-24,461.8000000000365,461.81897,2015-01-01 01:16:58,bin4618,35,False +abc,4619,4619,4619,1982-08-25,461.9000000000365,461.91898,2015-01-01 01:16:59,bin4619,75,False +abc,4620,4620,4620,1982-08-26,462.00000000003655,462.01898,2015-01-01 01:17:00,bin4620,35,False +abc,4621,4621,4621,1982-08-27,462.1000000000366,462.119,2015-01-01 01:17:01,bin4621,75,False +abc,4622,4622,4622,1982-08-28,462.2000000000366,462.219,2015-01-01 01:17:02,bin4622,35,False +abc,4623,4623,4623,1982-08-29,462.3000000000366,462.319,2015-01-01 01:17:03,bin4623,75,False +abc,4624,4624,4624,1982-08-30,462.40000000003664,462.419,2015-01-01 01:17:04,bin4624,35,False +abc,4625,4625,4625,1982-08-31,462.50000000003666,462.519,2015-01-01 01:17:05,bin4625,75,False +abc,4626,4626,4626,1982-09-01,462.6000000000367,462.61902,2015-01-01 01:17:06,bin4626,35,False +abc,4627,4627,4627,1982-09-02,462.7000000000367,462.71902,2015-01-01 01:17:07,bin4627,75,False +abc,4628,4628,4628,1982-09-03,462.80000000003673,462.81903,2015-01-01 01:17:08,bin4628,35,False +abc,4629,4629,4629,1982-09-04,462.90000000003675,462.91904,2015-01-01 01:17:09,bin4629,75,False +abc,4630,4630,4630,1982-09-05,463.0000000000368,463.01904,2015-01-01 01:17:10,bin4630,35,False +abc,4631,4631,4631,1982-09-06,463.1000000000368,463.11905,2015-01-01 01:17:11,bin4631,75,False +abc,4632,4632,4632,1982-09-07,463.2000000000368,463.21906,2015-01-01 01:17:12,bin4632,35,False +abc,4633,4633,4633,1982-09-08,463.30000000003685,463.31906,2015-01-01 01:17:13,bin4633,75,False +abc,4634,4634,4634,1982-09-09,463.40000000003687,463.41907,2015-01-01 01:17:14,bin4634,35,False +abc,4635,4635,4635,1982-09-10,463.5000000000369,463.51907,2015-01-01 01:17:15,bin4635,75,False +abc,4636,4636,4636,1982-09-11,463.6000000000369,463.61908,2015-01-01 01:17:16,bin4636,35,False +abc,4637,4637,4637,1982-09-12,463.70000000003694,463.7191,2015-01-01 01:17:17,bin4637,75,False +abc,4638,4638,4638,1982-09-13,463.80000000003696,463.8191,2015-01-01 01:17:18,bin4638,35,False +abc,4639,4639,4639,1982-09-14,463.900000000037,463.9191,2015-01-01 01:17:19,bin4639,75,False +abc,4640,4640,4640,1982-09-15,464.000000000037,464.0191,2015-01-01 01:17:20,bin4640,35,False +abc,4641,4641,4641,1982-09-16,464.100000000037,464.1191,2015-01-01 01:17:21,bin4641,75,False +abc,4642,4642,4642,1982-09-17,464.20000000003705,464.21912,2015-01-01 01:17:22,bin4642,35,False +abc,4643,4643,4643,1982-09-18,464.3000000000371,464.31912,2015-01-01 01:17:23,bin4643,75,False +abc,4644,4644,4644,1982-09-19,464.4000000000371,464.41913,2015-01-01 01:17:24,bin4644,35,False +abc,4645,4645,4645,1982-09-20,464.5000000000371,464.51913,2015-01-01 01:17:25,bin4645,75,False +abc,4646,4646,4646,1982-09-21,464.60000000003714,464.61914,2015-01-01 01:17:26,bin4646,35,False +abc,4647,4647,4647,1982-09-22,464.70000000003716,464.71915,2015-01-01 01:17:27,bin4647,75,False +abc,4648,4648,4648,1982-09-23,464.8000000000372,464.81915,2015-01-01 01:17:28,bin4648,35,False +abc,4649,4649,4649,1982-09-24,464.9000000000372,464.91916,2015-01-01 01:17:29,bin4649,75,False +abc,4650,4650,4650,1982-09-25,465.00000000003723,465.01917,2015-01-01 01:17:30,bin4650,35,False +abc,4651,4651,4651,1982-09-26,465.10000000003726,465.11917,2015-01-01 01:17:31,bin4651,75,False +abc,4652,4652,4652,1982-09-27,465.2000000000373,465.21918,2015-01-01 01:17:32,bin4652,35,False +abc,4653,4653,4653,1982-09-28,465.3000000000373,465.31918,2015-01-01 01:17:33,bin4653,75,False +abc,4654,4654,4654,1982-09-29,465.4000000000373,465.4192,2015-01-01 01:17:34,bin4654,35,False +abc,4655,4655,4655,1982-09-30,465.50000000003735,465.5192,2015-01-01 01:17:35,bin4655,75,False +abc,4656,4656,4656,1982-10-01,465.60000000003737,465.6192,2015-01-01 01:17:36,bin4656,35,False +abc,4657,4657,4657,1982-10-02,465.7000000000374,465.7192,2015-01-01 01:17:37,bin4657,75,False +abc,4658,4658,4658,1982-10-03,465.8000000000374,465.8192,2015-01-01 01:17:38,bin4658,35,False +abc,4659,4659,4659,1982-10-04,465.90000000003744,465.91922,2015-01-01 01:17:39,bin4659,75,False +abc,4660,4660,4660,1982-10-05,466.00000000003746,466.01923,2015-01-01 01:17:40,bin4660,35,False +abc,4661,4661,4661,1982-10-06,466.1000000000375,466.11923,2015-01-01 01:17:41,bin4661,75,False +abc,4662,4662,4662,1982-10-07,466.2000000000375,466.21924,2015-01-01 01:17:42,bin4662,35,False +abc,4663,4663,4663,1982-10-08,466.3000000000375,466.31924,2015-01-01 01:17:43,bin4663,75,False +abc,4664,4664,4664,1982-10-09,466.40000000003755,466.41925,2015-01-01 01:17:44,bin4664,35,False +abc,4665,4665,4665,1982-10-10,466.5000000000376,466.51926,2015-01-01 01:17:45,bin4665,75,False +abc,4666,4666,4666,1982-10-11,466.6000000000376,466.61926,2015-01-01 01:17:46,bin4666,35,False +abc,4667,4667,4667,1982-10-12,466.7000000000376,466.71927,2015-01-01 01:17:47,bin4667,75,False +abc,4668,4668,4668,1982-10-13,466.80000000003764,466.81927,2015-01-01 01:17:48,bin4668,35,False +abc,4669,4669,4669,1982-10-14,466.90000000003766,466.91928,2015-01-01 01:17:49,bin4669,75,False +abc,4670,4670,4670,1982-10-15,467.0000000000377,467.0193,2015-01-01 01:17:50,bin4670,35,False +abc,4671,4671,4671,1982-10-16,467.1000000000377,467.1193,2015-01-01 01:17:51,bin4671,75,False +abc,4672,4672,4672,1982-10-17,467.20000000003773,467.2193,2015-01-01 01:17:52,bin4672,35,False +abc,4673,4673,4673,1982-10-18,467.30000000003776,467.3193,2015-01-01 01:17:53,bin4673,75,False +abc,4674,4674,4674,1982-10-19,467.4000000000378,467.4193,2015-01-01 01:17:54,bin4674,35,False +abc,4675,4675,4675,1982-10-20,467.5000000000378,467.51932,2015-01-01 01:17:55,bin4675,75,False +abc,4676,4676,4676,1982-10-21,467.6000000000378,467.61932,2015-01-01 01:17:56,bin4676,35,False +abc,4677,4677,4677,1982-10-22,467.70000000003785,467.71933,2015-01-01 01:17:57,bin4677,75,False +abc,4678,4678,4678,1982-10-23,467.80000000003787,467.81934,2015-01-01 01:17:58,bin4678,35,False +abc,4679,4679,4679,1982-10-24,467.9000000000379,467.91934,2015-01-01 01:17:59,bin4679,75,False +abc,4680,4680,4680,1982-10-25,468.0000000000379,468.01935,2015-01-01 01:18:00,bin4680,35,False +abc,4681,4681,4681,1982-10-26,468.10000000003794,468.11935,2015-01-01 01:18:01,bin4681,75,False +abc,4682,4682,4682,1982-10-27,468.20000000003796,468.21936,2015-01-01 01:18:02,bin4682,35,False +abc,4683,4683,4683,1982-10-28,468.300000000038,468.31937,2015-01-01 01:18:03,bin4683,75,False +abc,4684,4684,4684,1982-10-29,468.400000000038,468.41937,2015-01-01 01:18:04,bin4684,35,False +abc,4685,4685,4685,1982-10-30,468.500000000038,468.51938,2015-01-01 01:18:05,bin4685,75,False +abc,4686,4686,4686,1982-10-31,468.60000000003805,468.6194,2015-01-01 01:18:06,bin4686,35,False +abc,4687,4687,4687,1982-11-01,468.7000000000381,468.7194,2015-01-01 01:18:07,bin4687,75,False +abc,4688,4688,4688,1982-11-02,468.8000000000381,468.8194,2015-01-01 01:18:08,bin4688,35,False +abc,4689,4689,4689,1982-11-03,468.9000000000381,468.9194,2015-01-01 01:18:09,bin4689,75,False +abc,4690,4690,4690,1982-11-04,469.00000000003814,469.0194,2015-01-01 01:18:10,bin4690,35,False +abc,4691,4691,4691,1982-11-05,469.10000000003816,469.11942,2015-01-01 01:18:11,bin4691,75,False +abc,4692,4692,4692,1982-11-06,469.2000000000382,469.21942,2015-01-01 01:18:12,bin4692,35,False +abc,4693,4693,4693,1982-11-07,469.3000000000382,469.31943,2015-01-01 01:18:13,bin4693,75,False +abc,4694,4694,4694,1982-11-08,469.40000000003823,469.41943,2015-01-01 01:18:14,bin4694,35,False +abc,4695,4695,4695,1982-11-09,469.50000000003826,469.51944,2015-01-01 01:18:15,bin4695,75,False +abc,4696,4696,4696,1982-11-10,469.6000000000383,469.61945,2015-01-01 01:18:16,bin4696,35,False +abc,4697,4697,4697,1982-11-11,469.7000000000383,469.71945,2015-01-01 01:18:17,bin4697,75,False +abc,4698,4698,4698,1982-11-12,469.8000000000383,469.81946,2015-01-01 01:18:18,bin4698,35,False +abc,4699,4699,4699,1982-11-13,469.90000000003835,469.91946,2015-01-01 01:18:19,bin4699,75,False +abc,4700,4700,4700,1982-11-14,470.00000000003837,470.01947,2015-01-01 01:18:20,bin4700,35,False +abc,4701,4701,4701,1982-11-15,470.1000000000384,470.11948,2015-01-01 01:18:21,bin4701,75,False +abc,4702,4702,4702,1982-11-16,470.2000000000384,470.21948,2015-01-01 01:18:22,bin4702,35,False +abc,4703,4703,4703,1982-11-17,470.30000000003844,470.3195,2015-01-01 01:18:23,bin4703,75,False +abc,4704,4704,4704,1982-11-18,470.40000000003846,470.4195,2015-01-01 01:18:24,bin4704,35,False +abc,4705,4705,4705,1982-11-19,470.5000000000385,470.5195,2015-01-01 01:18:25,bin4705,75,False +abc,4706,4706,4706,1982-11-20,470.6000000000385,470.6195,2015-01-01 01:18:26,bin4706,35,False +abc,4707,4707,4707,1982-11-21,470.70000000003853,470.7195,2015-01-01 01:18:27,bin4707,75,False +abc,4708,4708,4708,1982-11-22,470.80000000003855,470.81952,2015-01-01 01:18:28,bin4708,35,False +abc,4709,4709,4709,1982-11-23,470.9000000000386,470.91953,2015-01-01 01:18:29,bin4709,75,False +abc,4710,4710,4710,1982-11-24,471.0000000000386,471.01953,2015-01-01 01:18:30,bin4710,35,False +abc,4711,4711,4711,1982-11-25,471.1000000000386,471.11954,2015-01-01 01:18:31,bin4711,75,False +abc,4712,4712,4712,1982-11-26,471.20000000003864,471.21954,2015-01-01 01:18:32,bin4712,35,False +abc,4713,4713,4713,1982-11-27,471.30000000003866,471.31955,2015-01-01 01:18:33,bin4713,75,False +abc,4714,4714,4714,1982-11-28,471.4000000000387,471.41956,2015-01-01 01:18:34,bin4714,35,False +abc,4715,4715,4715,1982-11-29,471.5000000000387,471.51956,2015-01-01 01:18:35,bin4715,75,False +abc,4716,4716,4716,1982-11-30,471.60000000003873,471.61957,2015-01-01 01:18:36,bin4716,35,False +abc,4717,4717,4717,1982-12-01,471.70000000003876,471.71957,2015-01-01 01:18:37,bin4717,75,False +abc,4718,4718,4718,1982-12-02,471.8000000000388,471.81958,2015-01-01 01:18:38,bin4718,35,False +abc,4719,4719,4719,1982-12-03,471.9000000000388,471.9196,2015-01-01 01:18:39,bin4719,75,False +abc,4720,4720,4720,1982-12-04,472.0000000000388,472.0196,2015-01-01 01:18:40,bin4720,35,False +abc,4721,4721,4721,1982-12-05,472.10000000003885,472.1196,2015-01-01 01:18:41,bin4721,75,False +abc,4722,4722,4722,1982-12-06,472.20000000003887,472.2196,2015-01-01 01:18:42,bin4722,35,False +abc,4723,4723,4723,1982-12-07,472.3000000000389,472.3196,2015-01-01 01:18:43,bin4723,75,False +abc,4724,4724,4724,1982-12-08,472.4000000000389,472.41962,2015-01-01 01:18:44,bin4724,35,False +abc,4725,4725,4725,1982-12-09,472.50000000003894,472.51962,2015-01-01 01:18:45,bin4725,75,False +abc,4726,4726,4726,1982-12-10,472.60000000003896,472.61963,2015-01-01 01:18:46,bin4726,35,False +abc,4727,4727,4727,1982-12-11,472.700000000039,472.71964,2015-01-01 01:18:47,bin4727,75,False +abc,4728,4728,4728,1982-12-12,472.800000000039,472.81964,2015-01-01 01:18:48,bin4728,35,False +abc,4729,4729,4729,1982-12-13,472.90000000003903,472.91965,2015-01-01 01:18:49,bin4729,75,False +abc,4730,4730,4730,1982-12-14,473.00000000003905,473.01965,2015-01-01 01:18:50,bin4730,35,False +abc,4731,4731,4731,1982-12-15,473.1000000000391,473.11966,2015-01-01 01:18:51,bin4731,75,False +abc,4732,4732,4732,1982-12-16,473.2000000000391,473.21967,2015-01-01 01:18:52,bin4732,35,False +abc,4733,4733,4733,1982-12-17,473.3000000000391,473.31967,2015-01-01 01:18:53,bin4733,75,False +abc,4734,4734,4734,1982-12-18,473.40000000003914,473.41968,2015-01-01 01:18:54,bin4734,35,False +abc,4735,4735,4735,1982-12-19,473.50000000003917,473.51968,2015-01-01 01:18:55,bin4735,75,False +abc,4736,4736,4736,1982-12-20,473.6000000000392,473.6197,2015-01-01 01:18:56,bin4736,35,False +abc,4737,4737,4737,1982-12-21,473.7000000000392,473.7197,2015-01-01 01:18:57,bin4737,75,False +abc,4738,4738,4738,1982-12-22,473.80000000003923,473.8197,2015-01-01 01:18:58,bin4738,35,False +abc,4739,4739,4739,1982-12-23,473.90000000003926,473.9197,2015-01-01 01:18:59,bin4739,75,False +abc,4740,4740,4740,1982-12-24,474.0000000000393,474.0197,2015-01-01 01:19:00,bin4740,35,False +abc,4741,4741,4741,1982-12-25,474.1000000000393,474.11972,2015-01-01 01:19:01,bin4741,75,False +abc,4742,4742,4742,1982-12-26,474.2000000000393,474.21973,2015-01-01 01:19:02,bin4742,35,False +abc,4743,4743,4743,1982-12-27,474.30000000003935,474.31973,2015-01-01 01:19:03,bin4743,75,False +abc,4744,4744,4744,1982-12-28,474.40000000003937,474.41974,2015-01-01 01:19:04,bin4744,35,False +abc,4745,4745,4745,1982-12-29,474.5000000000394,474.51974,2015-01-01 01:19:05,bin4745,75,False +abc,4746,4746,4746,1982-12-30,474.6000000000394,474.61975,2015-01-01 01:19:06,bin4746,35,False +abc,4747,4747,4747,1982-12-31,474.70000000003944,474.71976,2015-01-01 01:19:07,bin4747,75,False +abc,4748,4748,4748,1983-01-01,474.80000000003946,474.81976,2015-01-01 01:19:08,bin4748,35,False +abc,4749,4749,4749,1983-01-02,474.9000000000395,474.91977,2015-01-01 01:19:09,bin4749,75,False +abc,4750,4750,4750,1983-01-03,475.0000000000395,475.01978,2015-01-01 01:19:10,bin4750,35,False +abc,4751,4751,4751,1983-01-04,475.10000000003953,475.11978,2015-01-01 01:19:11,bin4751,75,False +abc,4752,4752,4752,1983-01-05,475.20000000003955,475.2198,2015-01-01 01:19:12,bin4752,35,False +abc,4753,4753,4753,1983-01-06,475.3000000000396,475.3198,2015-01-01 01:19:13,bin4753,75,False +abc,4754,4754,4754,1983-01-07,475.4000000000396,475.4198,2015-01-01 01:19:14,bin4754,35,False +abc,4755,4755,4755,1983-01-08,475.5000000000396,475.5198,2015-01-01 01:19:15,bin4755,75,False +abc,4756,4756,4756,1983-01-09,475.60000000003964,475.6198,2015-01-01 01:19:16,bin4756,35,False +abc,4757,4757,4757,1983-01-10,475.70000000003967,475.71982,2015-01-01 01:19:17,bin4757,75,False +abc,4758,4758,4758,1983-01-11,475.8000000000397,475.81982,2015-01-01 01:19:18,bin4758,35,False +abc,4759,4759,4759,1983-01-12,475.9000000000397,475.91983,2015-01-01 01:19:19,bin4759,75,False +abc,4760,4760,4760,1983-01-13,476.00000000003973,476.01984,2015-01-01 01:19:20,bin4760,35,False +abc,4761,4761,4761,1983-01-14,476.10000000003976,476.11984,2015-01-01 01:19:21,bin4761,75,False +abc,4762,4762,4762,1983-01-15,476.2000000000398,476.21985,2015-01-01 01:19:22,bin4762,35,False +abc,4763,4763,4763,1983-01-16,476.3000000000398,476.31985,2015-01-01 01:19:23,bin4763,75,False +abc,4764,4764,4764,1983-01-17,476.4000000000398,476.41986,2015-01-01 01:19:24,bin4764,35,False +abc,4765,4765,4765,1983-01-18,476.50000000003985,476.51987,2015-01-01 01:19:25,bin4765,75,False +abc,4766,4766,4766,1983-01-19,476.60000000003987,476.61987,2015-01-01 01:19:26,bin4766,35,False +abc,4767,4767,4767,1983-01-20,476.7000000000399,476.71988,2015-01-01 01:19:27,bin4767,75,False +abc,4768,4768,4768,1983-01-21,476.8000000000399,476.8199,2015-01-01 01:19:28,bin4768,35,False +abc,4769,4769,4769,1983-01-22,476.90000000003994,476.9199,2015-01-01 01:19:29,bin4769,75,False +abc,4770,4770,4770,1983-01-23,477.00000000003996,477.0199,2015-01-01 01:19:30,bin4770,35,False +abc,4771,4771,4771,1983-01-24,477.10000000004,477.1199,2015-01-01 01:19:31,bin4771,75,False +abc,4772,4772,4772,1983-01-25,477.20000000004,477.2199,2015-01-01 01:19:32,bin4772,35,False +abc,4773,4773,4773,1983-01-26,477.30000000004003,477.31992,2015-01-01 01:19:33,bin4773,75,False +abc,4774,4774,4774,1983-01-27,477.40000000004005,477.41992,2015-01-01 01:19:34,bin4774,35,False +abc,4775,4775,4775,1983-01-28,477.5000000000401,477.51993,2015-01-01 01:19:35,bin4775,75,False +abc,4776,4776,4776,1983-01-29,477.6000000000401,477.61993,2015-01-01 01:19:36,bin4776,35,False +abc,4777,4777,4777,1983-01-30,477.7000000000401,477.71994,2015-01-01 01:19:37,bin4777,75,False +abc,4778,4778,4778,1983-01-31,477.80000000004014,477.81995,2015-01-01 01:19:38,bin4778,35,False +abc,4779,4779,4779,1983-02-01,477.90000000004017,477.91995,2015-01-01 01:19:39,bin4779,75,False +abc,4780,4780,4780,1983-02-02,478.0000000000402,478.01996,2015-01-01 01:19:40,bin4780,35,False +abc,4781,4781,4781,1983-02-03,478.1000000000402,478.11996,2015-01-01 01:19:41,bin4781,75,False +abc,4782,4782,4782,1983-02-04,478.20000000004023,478.21997,2015-01-01 01:19:42,bin4782,35,False +abc,4783,4783,4783,1983-02-05,478.30000000004026,478.31998,2015-01-01 01:19:43,bin4783,75,False +abc,4784,4784,4784,1983-02-06,478.4000000000403,478.41998,2015-01-01 01:19:44,bin4784,35,False +abc,4785,4785,4785,1983-02-07,478.5000000000403,478.52,2015-01-01 01:19:45,bin4785,75,False +abc,4786,4786,4786,1983-02-08,478.6000000000403,478.62,2015-01-01 01:19:46,bin4786,35,False +abc,4787,4787,4787,1983-02-09,478.70000000004035,478.72,2015-01-01 01:19:47,bin4787,75,False +abc,4788,4788,4788,1983-02-10,478.80000000004037,478.82,2015-01-01 01:19:48,bin4788,35,False +abc,4789,4789,4789,1983-02-11,478.9000000000404,478.92,2015-01-01 01:19:49,bin4789,75,False +abc,4790,4790,4790,1983-02-12,479.0000000000404,479.02002,2015-01-01 01:19:50,bin4790,35,False +abc,4791,4791,4791,1983-02-13,479.10000000004044,479.12003,2015-01-01 01:19:51,bin4791,75,False +abc,4792,4792,4792,1983-02-14,479.20000000004046,479.22003,2015-01-01 01:19:52,bin4792,35,False +abc,4793,4793,4793,1983-02-15,479.3000000000405,479.32004,2015-01-01 01:19:53,bin4793,75,False +abc,4794,4794,4794,1983-02-16,479.4000000000405,479.42004,2015-01-01 01:19:54,bin4794,35,False +abc,4795,4795,4795,1983-02-17,479.50000000004053,479.52005,2015-01-01 01:19:55,bin4795,75,False +abc,4796,4796,4796,1983-02-18,479.60000000004055,479.62006,2015-01-01 01:19:56,bin4796,35,False +abc,4797,4797,4797,1983-02-19,479.7000000000406,479.72006,2015-01-01 01:19:57,bin4797,75,False +abc,4798,4798,4798,1983-02-20,479.8000000000406,479.82007,2015-01-01 01:19:58,bin4798,35,False +abc,4799,4799,4799,1983-02-21,479.9000000000406,479.92007,2015-01-01 01:19:59,bin4799,75,False +abc,4800,4800,4800,1983-02-22,480.00000000004064,480.02008,2015-01-01 01:20:00,bin4800,35,False +abc,4801,4801,4801,1983-02-23,480.10000000004067,480.1201,2015-01-01 01:20:01,bin4801,75,False +abc,4802,4802,4802,1983-02-24,480.2000000000407,480.2201,2015-01-01 01:20:02,bin4802,35,False +abc,4803,4803,4803,1983-02-25,480.3000000000407,480.3201,2015-01-01 01:20:03,bin4803,75,False +abc,4804,4804,4804,1983-02-26,480.40000000004073,480.4201,2015-01-01 01:20:04,bin4804,35,False +abc,4805,4805,4805,1983-02-27,480.50000000004076,480.5201,2015-01-01 01:20:05,bin4805,75,False +abc,4806,4806,4806,1983-02-28,480.6000000000408,480.62012,2015-01-01 01:20:06,bin4806,35,False +abc,4807,4807,4807,1983-03-01,480.7000000000408,480.72012,2015-01-01 01:20:07,bin4807,75,False +abc,4808,4808,4808,1983-03-02,480.8000000000408,480.82013,2015-01-01 01:20:08,bin4808,35,False +abc,4809,4809,4809,1983-03-03,480.90000000004085,480.92014,2015-01-01 01:20:09,bin4809,75,False +abc,4810,4810,4810,1983-03-04,481.00000000004087,481.02014,2015-01-01 01:20:10,bin4810,35,False +abc,4811,4811,4811,1983-03-05,481.1000000000409,481.12015,2015-01-01 01:20:11,bin4811,75,False +abc,4812,4812,4812,1983-03-06,481.2000000000409,481.22015,2015-01-01 01:20:12,bin4812,35,False +abc,4813,4813,4813,1983-03-07,481.30000000004094,481.32016,2015-01-01 01:20:13,bin4813,75,False +abc,4814,4814,4814,1983-03-08,481.40000000004096,481.42017,2015-01-01 01:20:14,bin4814,35,False +abc,4815,4815,4815,1983-03-09,481.500000000041,481.52017,2015-01-01 01:20:15,bin4815,75,False +abc,4816,4816,4816,1983-03-10,481.600000000041,481.62018,2015-01-01 01:20:16,bin4816,35,False +abc,4817,4817,4817,1983-03-11,481.70000000004103,481.72018,2015-01-01 01:20:17,bin4817,75,False +abc,4818,4818,4818,1983-03-12,481.80000000004105,481.8202,2015-01-01 01:20:18,bin4818,35,False +abc,4819,4819,4819,1983-03-13,481.9000000000411,481.9202,2015-01-01 01:20:19,bin4819,75,False +abc,4820,4820,4820,1983-03-14,482.0000000000411,482.0202,2015-01-01 01:20:20,bin4820,35,False +abc,4821,4821,4821,1983-03-15,482.1000000000411,482.1202,2015-01-01 01:20:21,bin4821,75,False +abc,4822,4822,4822,1983-03-16,482.20000000004114,482.2202,2015-01-01 01:20:22,bin4822,35,False +abc,4823,4823,4823,1983-03-17,482.30000000004117,482.32022,2015-01-01 01:20:23,bin4823,75,False +abc,4824,4824,4824,1983-03-18,482.4000000000412,482.42023,2015-01-01 01:20:24,bin4824,35,False +abc,4825,4825,4825,1983-03-19,482.5000000000412,482.52023,2015-01-01 01:20:25,bin4825,75,False +abc,4826,4826,4826,1983-03-20,482.60000000004123,482.62024,2015-01-01 01:20:26,bin4826,35,False +abc,4827,4827,4827,1983-03-21,482.70000000004126,482.72025,2015-01-01 01:20:27,bin4827,75,False +abc,4828,4828,4828,1983-03-22,482.8000000000413,482.82025,2015-01-01 01:20:28,bin4828,35,False +abc,4829,4829,4829,1983-03-23,482.9000000000413,482.92026,2015-01-01 01:20:29,bin4829,75,False +abc,4830,4830,4830,1983-03-24,483.0000000000413,483.02026,2015-01-01 01:20:30,bin4830,35,False +abc,4831,4831,4831,1983-03-25,483.10000000004135,483.12027,2015-01-01 01:20:31,bin4831,75,False +abc,4832,4832,4832,1983-03-26,483.20000000004137,483.22028,2015-01-01 01:20:32,bin4832,35,False +abc,4833,4833,4833,1983-03-27,483.3000000000414,483.32028,2015-01-01 01:20:33,bin4833,75,False +abc,4834,4834,4834,1983-03-28,483.4000000000414,483.4203,2015-01-01 01:20:34,bin4834,35,False +abc,4835,4835,4835,1983-03-29,483.50000000004144,483.5203,2015-01-01 01:20:35,bin4835,75,False +abc,4836,4836,4836,1983-03-30,483.60000000004146,483.6203,2015-01-01 01:20:36,bin4836,35,False +abc,4837,4837,4837,1983-03-31,483.7000000000415,483.7203,2015-01-01 01:20:37,bin4837,75,False +abc,4838,4838,4838,1983-04-01,483.8000000000415,483.8203,2015-01-01 01:20:38,bin4838,35,False +abc,4839,4839,4839,1983-04-02,483.90000000004153,483.92032,2015-01-01 01:20:39,bin4839,75,False +abc,4840,4840,4840,1983-04-03,484.00000000004155,484.02032,2015-01-01 01:20:40,bin4840,35,False +abc,4841,4841,4841,1983-04-04,484.1000000000416,484.12033,2015-01-01 01:20:41,bin4841,75,False +abc,4842,4842,4842,1983-04-05,484.2000000000416,484.22034,2015-01-01 01:20:42,bin4842,35,False +abc,4843,4843,4843,1983-04-06,484.3000000000416,484.32034,2015-01-01 01:20:43,bin4843,75,False +abc,4844,4844,4844,1983-04-07,484.40000000004164,484.42035,2015-01-01 01:20:44,bin4844,35,False +abc,4845,4845,4845,1983-04-08,484.50000000004167,484.52036,2015-01-01 01:20:45,bin4845,75,False +abc,4846,4846,4846,1983-04-09,484.6000000000417,484.62036,2015-01-01 01:20:46,bin4846,35,False +abc,4847,4847,4847,1983-04-10,484.7000000000417,484.72037,2015-01-01 01:20:47,bin4847,75,False +abc,4848,4848,4848,1983-04-11,484.80000000004173,484.82037,2015-01-01 01:20:48,bin4848,35,False +abc,4849,4849,4849,1983-04-12,484.90000000004176,484.92038,2015-01-01 01:20:49,bin4849,75,False +abc,4850,4850,4850,1983-04-13,485.0000000000418,485.0204,2015-01-01 01:20:50,bin4850,35,False +abc,4851,4851,4851,1983-04-14,485.1000000000418,485.1204,2015-01-01 01:20:51,bin4851,75,False +abc,4852,4852,4852,1983-04-15,485.2000000000418,485.2204,2015-01-01 01:20:52,bin4852,35,False +abc,4853,4853,4853,1983-04-16,485.30000000004185,485.3204,2015-01-01 01:20:53,bin4853,75,False +abc,4854,4854,4854,1983-04-17,485.40000000004187,485.4204,2015-01-01 01:20:54,bin4854,35,False +abc,4855,4855,4855,1983-04-18,485.5000000000419,485.52042,2015-01-01 01:20:55,bin4855,75,False +abc,4856,4856,4856,1983-04-19,485.6000000000419,485.62042,2015-01-01 01:20:56,bin4856,35,False +abc,4857,4857,4857,1983-04-20,485.70000000004194,485.72043,2015-01-01 01:20:57,bin4857,75,False +abc,4858,4858,4858,1983-04-21,485.80000000004196,485.82043,2015-01-01 01:20:58,bin4858,35,False +abc,4859,4859,4859,1983-04-22,485.900000000042,485.92044,2015-01-01 01:20:59,bin4859,75,False +abc,4860,4860,4860,1983-04-23,486.000000000042,486.02045,2015-01-01 01:21:00,bin4860,35,False +abc,4861,4861,4861,1983-04-24,486.10000000004203,486.12045,2015-01-01 01:21:01,bin4861,75,False +abc,4862,4862,4862,1983-04-25,486.20000000004205,486.22046,2015-01-01 01:21:02,bin4862,35,False +abc,4863,4863,4863,1983-04-26,486.3000000000421,486.32047,2015-01-01 01:21:03,bin4863,75,False +abc,4864,4864,4864,1983-04-27,486.4000000000421,486.42047,2015-01-01 01:21:04,bin4864,35,False +abc,4865,4865,4865,1983-04-28,486.5000000000421,486.52048,2015-01-01 01:21:05,bin4865,75,False +abc,4866,4866,4866,1983-04-29,486.60000000004214,486.62048,2015-01-01 01:21:06,bin4866,35,False +abc,4867,4867,4867,1983-04-30,486.70000000004217,486.7205,2015-01-01 01:21:07,bin4867,75,False +abc,4868,4868,4868,1983-05-01,486.8000000000422,486.8205,2015-01-01 01:21:08,bin4868,35,False +abc,4869,4869,4869,1983-05-02,486.9000000000422,486.9205,2015-01-01 01:21:09,bin4869,75,False +abc,4870,4870,4870,1983-05-03,487.00000000004223,487.0205,2015-01-01 01:21:10,bin4870,35,False +abc,4871,4871,4871,1983-05-04,487.10000000004226,487.1205,2015-01-01 01:21:11,bin4871,75,False +abc,4872,4872,4872,1983-05-05,487.2000000000423,487.22052,2015-01-01 01:21:12,bin4872,35,False +abc,4873,4873,4873,1983-05-06,487.3000000000423,487.32053,2015-01-01 01:21:13,bin4873,75,False +abc,4874,4874,4874,1983-05-07,487.4000000000423,487.42053,2015-01-01 01:21:14,bin4874,35,False +abc,4875,4875,4875,1983-05-08,487.50000000004235,487.52054,2015-01-01 01:21:15,bin4875,75,False +abc,4876,4876,4876,1983-05-09,487.60000000004237,487.62054,2015-01-01 01:21:16,bin4876,35,False +abc,4877,4877,4877,1983-05-10,487.7000000000424,487.72055,2015-01-01 01:21:17,bin4877,75,False +abc,4878,4878,4878,1983-05-11,487.8000000000424,487.82056,2015-01-01 01:21:18,bin4878,35,False +abc,4879,4879,4879,1983-05-12,487.90000000004244,487.92056,2015-01-01 01:21:19,bin4879,75,False +abc,4880,4880,4880,1983-05-13,488.00000000004246,488.02057,2015-01-01 01:21:20,bin4880,35,False +abc,4881,4881,4881,1983-05-14,488.1000000000425,488.12057,2015-01-01 01:21:21,bin4881,75,False +abc,4882,4882,4882,1983-05-15,488.2000000000425,488.22058,2015-01-01 01:21:22,bin4882,35,False +abc,4883,4883,4883,1983-05-16,488.30000000004253,488.3206,2015-01-01 01:21:23,bin4883,75,False +abc,4884,4884,4884,1983-05-17,488.40000000004255,488.4206,2015-01-01 01:21:24,bin4884,35,False +abc,4885,4885,4885,1983-05-18,488.5000000000426,488.5206,2015-01-01 01:21:25,bin4885,75,False +abc,4886,4886,4886,1983-05-19,488.6000000000426,488.6206,2015-01-01 01:21:26,bin4886,35,False +abc,4887,4887,4887,1983-05-20,488.7000000000426,488.7206,2015-01-01 01:21:27,bin4887,75,False +abc,4888,4888,4888,1983-05-21,488.80000000004264,488.82062,2015-01-01 01:21:28,bin4888,35,False +abc,4889,4889,4889,1983-05-22,488.90000000004267,488.92062,2015-01-01 01:21:29,bin4889,75,False +abc,4890,4890,4890,1983-05-23,489.0000000000427,489.02063,2015-01-01 01:21:30,bin4890,35,False +abc,4891,4891,4891,1983-05-24,489.1000000000427,489.12064,2015-01-01 01:21:31,bin4891,75,False +abc,4892,4892,4892,1983-05-25,489.20000000004273,489.22064,2015-01-01 01:21:32,bin4892,35,False +abc,4893,4893,4893,1983-05-26,489.30000000004276,489.32065,2015-01-01 01:21:33,bin4893,75,False +abc,4894,4894,4894,1983-05-27,489.4000000000428,489.42065,2015-01-01 01:21:34,bin4894,35,False +abc,4895,4895,4895,1983-05-28,489.5000000000428,489.52066,2015-01-01 01:21:35,bin4895,75,False +abc,4896,4896,4896,1983-05-29,489.6000000000428,489.62067,2015-01-01 01:21:36,bin4896,35,False +abc,4897,4897,4897,1983-05-30,489.70000000004285,489.72067,2015-01-01 01:21:37,bin4897,75,False +abc,4898,4898,4898,1983-05-31,489.80000000004287,489.82068,2015-01-01 01:21:38,bin4898,35,False +abc,4899,4899,4899,1983-06-01,489.9000000000429,489.9207,2015-01-01 01:21:39,bin4899,75,False +abc,4900,4900,4900,1983-06-02,490.0000000000429,490.0207,2015-01-01 01:21:40,bin4900,35,False +abc,4901,4901,4901,1983-06-03,490.10000000004294,490.1207,2015-01-01 01:21:41,bin4901,75,False +abc,4902,4902,4902,1983-06-04,490.20000000004296,490.2207,2015-01-01 01:21:42,bin4902,35,False +abc,4903,4903,4903,1983-06-05,490.300000000043,490.3207,2015-01-01 01:21:43,bin4903,75,False +abc,4904,4904,4904,1983-06-06,490.400000000043,490.42072,2015-01-01 01:21:44,bin4904,35,False +abc,4905,4905,4905,1983-06-07,490.50000000004303,490.52072,2015-01-01 01:21:45,bin4905,75,False +abc,4906,4906,4906,1983-06-08,490.60000000004305,490.62073,2015-01-01 01:21:46,bin4906,35,False +abc,4907,4907,4907,1983-06-09,490.7000000000431,490.72073,2015-01-01 01:21:47,bin4907,75,False +abc,4908,4908,4908,1983-06-10,490.8000000000431,490.82074,2015-01-01 01:21:48,bin4908,35,False +abc,4909,4909,4909,1983-06-11,490.9000000000431,490.92075,2015-01-01 01:21:49,bin4909,75,False +abc,4910,4910,4910,1983-06-12,491.00000000004314,491.02075,2015-01-01 01:21:50,bin4910,35,False +abc,4911,4911,4911,1983-06-13,491.10000000004317,491.12076,2015-01-01 01:21:51,bin4911,75,False +abc,4912,4912,4912,1983-06-14,491.2000000000432,491.22076,2015-01-01 01:21:52,bin4912,35,False +abc,4913,4913,4913,1983-06-15,491.3000000000432,491.32077,2015-01-01 01:21:53,bin4913,75,False +abc,4914,4914,4914,1983-06-16,491.40000000004324,491.42078,2015-01-01 01:21:54,bin4914,35,False +abc,4915,4915,4915,1983-06-17,491.50000000004326,491.52078,2015-01-01 01:21:55,bin4915,75,False +abc,4916,4916,4916,1983-06-18,491.6000000000433,491.6208,2015-01-01 01:21:56,bin4916,35,False +abc,4917,4917,4917,1983-06-19,491.7000000000433,491.7208,2015-01-01 01:21:57,bin4917,75,False +abc,4918,4918,4918,1983-06-20,491.8000000000433,491.8208,2015-01-01 01:21:58,bin4918,35,False +abc,4919,4919,4919,1983-06-21,491.90000000004335,491.9208,2015-01-01 01:21:59,bin4919,75,False +abc,4920,4920,4920,1983-06-22,492.00000000004337,492.0208,2015-01-01 01:22:00,bin4920,35,False +abc,4921,4921,4921,1983-06-23,492.1000000000434,492.12082,2015-01-01 01:22:01,bin4921,75,False +abc,4922,4922,4922,1983-06-24,492.2000000000434,492.22083,2015-01-01 01:22:02,bin4922,35,False +abc,4923,4923,4923,1983-06-25,492.30000000004344,492.32083,2015-01-01 01:22:03,bin4923,75,False +abc,4924,4924,4924,1983-06-26,492.40000000004346,492.42084,2015-01-01 01:22:04,bin4924,35,False +abc,4925,4925,4925,1983-06-27,492.5000000000435,492.52084,2015-01-01 01:22:05,bin4925,75,False +abc,4926,4926,4926,1983-06-28,492.6000000000435,492.62085,2015-01-01 01:22:06,bin4926,35,False +abc,4927,4927,4927,1983-06-29,492.70000000004353,492.72086,2015-01-01 01:22:07,bin4927,75,False +abc,4928,4928,4928,1983-06-30,492.80000000004355,492.82086,2015-01-01 01:22:08,bin4928,35,False +abc,4929,4929,4929,1983-07-01,492.9000000000436,492.92087,2015-01-01 01:22:09,bin4929,75,False +abc,4930,4930,4930,1983-07-02,493.0000000000436,493.02087,2015-01-01 01:22:10,bin4930,35,False +abc,4931,4931,4931,1983-07-03,493.1000000000436,493.12088,2015-01-01 01:22:11,bin4931,75,False +abc,4932,4932,4932,1983-07-04,493.20000000004364,493.2209,2015-01-01 01:22:12,bin4932,35,False +abc,4933,4933,4933,1983-07-05,493.30000000004367,493.3209,2015-01-01 01:22:13,bin4933,75,False +abc,4934,4934,4934,1983-07-06,493.4000000000437,493.4209,2015-01-01 01:22:14,bin4934,35,False +abc,4935,4935,4935,1983-07-07,493.5000000000437,493.5209,2015-01-01 01:22:15,bin4935,75,False +abc,4936,4936,4936,1983-07-08,493.60000000004374,493.6209,2015-01-01 01:22:16,bin4936,35,False +abc,4937,4937,4937,1983-07-09,493.70000000004376,493.72092,2015-01-01 01:22:17,bin4937,75,False +abc,4938,4938,4938,1983-07-10,493.8000000000438,493.82092,2015-01-01 01:22:18,bin4938,35,False +abc,4939,4939,4939,1983-07-11,493.9000000000438,493.92093,2015-01-01 01:22:19,bin4939,75,False +abc,4940,4940,4940,1983-07-12,494.0000000000438,494.02094,2015-01-01 01:22:20,bin4940,35,False +abc,4941,4941,4941,1983-07-13,494.10000000004385,494.12094,2015-01-01 01:22:21,bin4941,75,False +abc,4942,4942,4942,1983-07-14,494.2000000000439,494.22095,2015-01-01 01:22:22,bin4942,35,False +abc,4943,4943,4943,1983-07-15,494.3000000000439,494.32095,2015-01-01 01:22:23,bin4943,75,False +abc,4944,4944,4944,1983-07-16,494.4000000000439,494.42096,2015-01-01 01:22:24,bin4944,35,False +abc,4945,4945,4945,1983-07-17,494.50000000004394,494.52097,2015-01-01 01:22:25,bin4945,75,False +abc,4946,4946,4946,1983-07-18,494.60000000004396,494.62097,2015-01-01 01:22:26,bin4946,35,False +abc,4947,4947,4947,1983-07-19,494.700000000044,494.72098,2015-01-01 01:22:27,bin4947,75,False +abc,4948,4948,4948,1983-07-20,494.800000000044,494.82098,2015-01-01 01:22:28,bin4948,35,False +abc,4949,4949,4949,1983-07-21,494.90000000004403,494.921,2015-01-01 01:22:29,bin4949,75,False +abc,4950,4950,4950,1983-07-22,495.00000000004405,495.021,2015-01-01 01:22:30,bin4950,35,False +abc,4951,4951,4951,1983-07-23,495.1000000000441,495.121,2015-01-01 01:22:31,bin4951,75,False +abc,4952,4952,4952,1983-07-24,495.2000000000441,495.221,2015-01-01 01:22:32,bin4952,35,False +abc,4953,4953,4953,1983-07-25,495.3000000000441,495.321,2015-01-01 01:22:33,bin4953,75,False +abc,4954,4954,4954,1983-07-26,495.40000000004414,495.42102,2015-01-01 01:22:34,bin4954,35,False +abc,4955,4955,4955,1983-07-27,495.50000000004417,495.52103,2015-01-01 01:22:35,bin4955,75,False +abc,4956,4956,4956,1983-07-28,495.6000000000442,495.62103,2015-01-01 01:22:36,bin4956,35,False +abc,4957,4957,4957,1983-07-29,495.7000000000442,495.72104,2015-01-01 01:22:37,bin4957,75,False +abc,4958,4958,4958,1983-07-30,495.80000000004424,495.82104,2015-01-01 01:22:38,bin4958,35,False +abc,4959,4959,4959,1983-07-31,495.90000000004426,495.92105,2015-01-01 01:22:39,bin4959,75,False +abc,4960,4960,4960,1983-08-01,496.0000000000443,496.02106,2015-01-01 01:22:40,bin4960,35,False +abc,4961,4961,4961,1983-08-02,496.1000000000443,496.12106,2015-01-01 01:22:41,bin4961,75,False +abc,4962,4962,4962,1983-08-03,496.2000000000443,496.22107,2015-01-01 01:22:42,bin4962,35,False +abc,4963,4963,4963,1983-08-04,496.30000000004435,496.32108,2015-01-01 01:22:43,bin4963,75,False +abc,4964,4964,4964,1983-08-05,496.4000000000444,496.42108,2015-01-01 01:22:44,bin4964,35,False +abc,4965,4965,4965,1983-08-06,496.5000000000444,496.5211,2015-01-01 01:22:45,bin4965,75,False +abc,4966,4966,4966,1983-08-07,496.6000000000444,496.6211,2015-01-01 01:22:46,bin4966,35,False +abc,4967,4967,4967,1983-08-08,496.70000000004444,496.7211,2015-01-01 01:22:47,bin4967,75,False +abc,4968,4968,4968,1983-08-09,496.80000000004446,496.8211,2015-01-01 01:22:48,bin4968,35,False +abc,4969,4969,4969,1983-08-10,496.9000000000445,496.9211,2015-01-01 01:22:49,bin4969,75,False +abc,4970,4970,4970,1983-08-11,497.0000000000445,497.02112,2015-01-01 01:22:50,bin4970,35,False +abc,4971,4971,4971,1983-08-12,497.10000000004453,497.12112,2015-01-01 01:22:51,bin4971,75,False +abc,4972,4972,4972,1983-08-13,497.20000000004455,497.22113,2015-01-01 01:22:52,bin4972,35,False +abc,4973,4973,4973,1983-08-14,497.3000000000446,497.32114,2015-01-01 01:22:53,bin4973,75,False +abc,4974,4974,4974,1983-08-15,497.4000000000446,497.42114,2015-01-01 01:22:54,bin4974,35,False +abc,4975,4975,4975,1983-08-16,497.5000000000446,497.52115,2015-01-01 01:22:55,bin4975,75,False +abc,4976,4976,4976,1983-08-17,497.60000000004464,497.62115,2015-01-01 01:22:56,bin4976,35,False +abc,4977,4977,4977,1983-08-18,497.70000000004467,497.72116,2015-01-01 01:22:57,bin4977,75,False +abc,4978,4978,4978,1983-08-19,497.8000000000447,497.82117,2015-01-01 01:22:58,bin4978,35,False +abc,4979,4979,4979,1983-08-20,497.9000000000447,497.92117,2015-01-01 01:22:59,bin4979,75,False +abc,4980,4980,4980,1983-08-21,498.00000000004474,498.02118,2015-01-01 01:23:00,bin4980,35,False +abc,4981,4981,4981,1983-08-22,498.10000000004476,498.1212,2015-01-01 01:23:01,bin4981,75,False +abc,4982,4982,4982,1983-08-23,498.2000000000448,498.2212,2015-01-01 01:23:02,bin4982,35,False +abc,4983,4983,4983,1983-08-24,498.3000000000448,498.3212,2015-01-01 01:23:03,bin4983,75,False +abc,4984,4984,4984,1983-08-25,498.4000000000448,498.4212,2015-01-01 01:23:04,bin4984,35,False +abc,4985,4985,4985,1983-08-26,498.50000000004485,498.5212,2015-01-01 01:23:05,bin4985,75,False +abc,4986,4986,4986,1983-08-27,498.6000000000449,498.62122,2015-01-01 01:23:06,bin4986,35,False +abc,4987,4987,4987,1983-08-28,498.7000000000449,498.72122,2015-01-01 01:23:07,bin4987,75,False +abc,4988,4988,4988,1983-08-29,498.8000000000449,498.82123,2015-01-01 01:23:08,bin4988,35,False +abc,4989,4989,4989,1983-08-30,498.90000000004494,498.92123,2015-01-01 01:23:09,bin4989,75,False +abc,4990,4990,4990,1983-08-31,499.00000000004496,499.02124,2015-01-01 01:23:10,bin4990,35,False +abc,4991,4991,4991,1983-09-01,499.100000000045,499.12125,2015-01-01 01:23:11,bin4991,75,False +abc,4992,4992,4992,1983-09-02,499.200000000045,499.22125,2015-01-01 01:23:12,bin4992,35,False +abc,4993,4993,4993,1983-09-03,499.30000000004503,499.32126,2015-01-01 01:23:13,bin4993,75,False +abc,4994,4994,4994,1983-09-04,499.40000000004505,499.42126,2015-01-01 01:23:14,bin4994,35,False +abc,4995,4995,4995,1983-09-05,499.5000000000451,499.52127,2015-01-01 01:23:15,bin4995,75,False +abc,4996,4996,4996,1983-09-06,499.6000000000451,499.62128,2015-01-01 01:23:16,bin4996,35,False +abc,4997,4997,4997,1983-09-07,499.7000000000451,499.72128,2015-01-01 01:23:17,bin4997,75,False +abc,4998,4998,4998,1983-09-08,499.80000000004515,499.8213,2015-01-01 01:23:18,bin4998,35,False +abc,4999,4999,4999,1983-09-09,499.90000000004517,499.9213,2015-01-01 01:23:19,bin4999,75,False +abc,5000,5000,5000,1983-09-10,500.0000000000452,500.0213,2015-01-01 01:23:20,bin5000,35,False +abc,5001,5001,5001,1983-09-11,500.1000000000452,500.1213,2015-01-01 01:23:21,bin5001,75,False +abc,5002,5002,5002,1983-09-12,500.20000000004524,500.2213,2015-01-01 01:23:22,bin5002,35,False +abc,5003,5003,5003,1983-09-13,500.30000000004526,500.32132,2015-01-01 01:23:23,bin5003,75,False +abc,5004,5004,5004,1983-09-14,500.4000000000453,500.42133,2015-01-01 01:23:24,bin5004,35,False +abc,5005,5005,5005,1983-09-15,500.5000000000453,500.52133,2015-01-01 01:23:25,bin5005,75,False +abc,5006,5006,5006,1983-09-16,500.6000000000453,500.62134,2015-01-01 01:23:26,bin5006,35,False +abc,5007,5007,5007,1983-09-17,500.70000000004535,500.72134,2015-01-01 01:23:27,bin5007,75,False +abc,5008,5008,5008,1983-09-18,500.8000000000454,500.82135,2015-01-01 01:23:28,bin5008,35,False +abc,5009,5009,5009,1983-09-19,500.9000000000454,500.92136,2015-01-01 01:23:29,bin5009,75,False +abc,5010,5010,5010,1983-09-20,501.0000000000454,501.02136,2015-01-01 01:23:30,bin5010,35,False +abc,5011,5011,5011,1983-09-21,501.10000000004544,501.12137,2015-01-01 01:23:31,bin5011,75,False +abc,5012,5012,5012,1983-09-22,501.20000000004546,501.22137,2015-01-01 01:23:32,bin5012,35,False +abc,5013,5013,5013,1983-09-23,501.3000000000455,501.32138,2015-01-01 01:23:33,bin5013,75,False +abc,5014,5014,5014,1983-09-24,501.4000000000455,501.4214,2015-01-01 01:23:34,bin5014,35,False +abc,5015,5015,5015,1983-09-25,501.50000000004553,501.5214,2015-01-01 01:23:35,bin5015,75,False +abc,5016,5016,5016,1983-09-26,501.60000000004555,501.6214,2015-01-01 01:23:36,bin5016,35,False +abc,5017,5017,5017,1983-09-27,501.7000000000456,501.7214,2015-01-01 01:23:37,bin5017,75,False +abc,5018,5018,5018,1983-09-28,501.8000000000456,501.8214,2015-01-01 01:23:38,bin5018,35,False +abc,5019,5019,5019,1983-09-29,501.9000000000456,501.92142,2015-01-01 01:23:39,bin5019,75,False +abc,5020,5020,5020,1983-09-30,502.00000000004565,502.02142,2015-01-01 01:23:40,bin5020,35,False +abc,5021,5021,5021,1983-10-01,502.10000000004567,502.12143,2015-01-01 01:23:41,bin5021,75,False +abc,5022,5022,5022,1983-10-02,502.2000000000457,502.22144,2015-01-01 01:23:42,bin5022,35,False +abc,5023,5023,5023,1983-10-03,502.3000000000457,502.32144,2015-01-01 01:23:43,bin5023,75,False +abc,5024,5024,5024,1983-10-04,502.40000000004574,502.42145,2015-01-01 01:23:44,bin5024,35,False +abc,5025,5025,5025,1983-10-05,502.50000000004576,502.52145,2015-01-01 01:23:45,bin5025,75,False +abc,5026,5026,5026,1983-10-06,502.6000000000458,502.62146,2015-01-01 01:23:46,bin5026,35,False +abc,5027,5027,5027,1983-10-07,502.7000000000458,502.72147,2015-01-01 01:23:47,bin5027,75,False +abc,5028,5028,5028,1983-10-08,502.8000000000458,502.82147,2015-01-01 01:23:48,bin5028,35,False +abc,5029,5029,5029,1983-10-09,502.90000000004585,502.92148,2015-01-01 01:23:49,bin5029,75,False +abc,5030,5030,5030,1983-10-10,503.0000000000459,503.02148,2015-01-01 01:23:50,bin5030,35,False +abc,5031,5031,5031,1983-10-11,503.1000000000459,503.1215,2015-01-01 01:23:51,bin5031,75,False +abc,5032,5032,5032,1983-10-12,503.2000000000459,503.2215,2015-01-01 01:23:52,bin5032,35,False +abc,5033,5033,5033,1983-10-13,503.30000000004594,503.3215,2015-01-01 01:23:53,bin5033,75,False +abc,5034,5034,5034,1983-10-14,503.40000000004596,503.4215,2015-01-01 01:23:54,bin5034,35,False +abc,5035,5035,5035,1983-10-15,503.500000000046,503.5215,2015-01-01 01:23:55,bin5035,75,False +abc,5036,5036,5036,1983-10-16,503.600000000046,503.62152,2015-01-01 01:23:56,bin5036,35,False +abc,5037,5037,5037,1983-10-17,503.70000000004603,503.72153,2015-01-01 01:23:57,bin5037,75,False +abc,5038,5038,5038,1983-10-18,503.80000000004605,503.82153,2015-01-01 01:23:58,bin5038,35,False +abc,5039,5039,5039,1983-10-19,503.9000000000461,503.92154,2015-01-01 01:23:59,bin5039,75,False +abc,5040,5040,5040,1983-10-20,504.0000000000461,504.02155,2015-01-01 01:24:00,bin5040,35,False +abc,5041,5041,5041,1983-10-21,504.1000000000461,504.12155,2015-01-01 01:24:01,bin5041,75,False +abc,5042,5042,5042,1983-10-22,504.20000000004615,504.22156,2015-01-01 01:24:02,bin5042,35,False +abc,5043,5043,5043,1983-10-23,504.30000000004617,504.32156,2015-01-01 01:24:03,bin5043,75,False +abc,5044,5044,5044,1983-10-24,504.4000000000462,504.42157,2015-01-01 01:24:04,bin5044,35,False +abc,5045,5045,5045,1983-10-25,504.5000000000462,504.52158,2015-01-01 01:24:05,bin5045,75,False +abc,5046,5046,5046,1983-10-26,504.60000000004624,504.62158,2015-01-01 01:24:06,bin5046,35,False +abc,5047,5047,5047,1983-10-27,504.70000000004626,504.7216,2015-01-01 01:24:07,bin5047,75,False +abc,5048,5048,5048,1983-10-28,504.8000000000463,504.8216,2015-01-01 01:24:08,bin5048,35,False +abc,5049,5049,5049,1983-10-29,504.9000000000463,504.9216,2015-01-01 01:24:09,bin5049,75,False +abc,5050,5050,5050,1983-10-30,505.0000000000463,505.0216,2015-01-01 01:24:10,bin5050,35,False +abc,5051,5051,5051,1983-10-31,505.10000000004635,505.1216,2015-01-01 01:24:11,bin5051,75,False +abc,5052,5052,5052,1983-11-01,505.2000000000464,505.22162,2015-01-01 01:24:12,bin5052,35,False +abc,5053,5053,5053,1983-11-02,505.3000000000464,505.32162,2015-01-01 01:24:13,bin5053,75,False +abc,5054,5054,5054,1983-11-03,505.4000000000464,505.42163,2015-01-01 01:24:14,bin5054,35,False +abc,5055,5055,5055,1983-11-04,505.50000000004644,505.52164,2015-01-01 01:24:15,bin5055,75,False +abc,5056,5056,5056,1983-11-05,505.60000000004646,505.62164,2015-01-01 01:24:16,bin5056,35,False +abc,5057,5057,5057,1983-11-06,505.7000000000465,505.72165,2015-01-01 01:24:17,bin5057,75,False +abc,5058,5058,5058,1983-11-07,505.8000000000465,505.82166,2015-01-01 01:24:18,bin5058,35,False +abc,5059,5059,5059,1983-11-08,505.90000000004653,505.92166,2015-01-01 01:24:19,bin5059,75,False +abc,5060,5060,5060,1983-11-09,506.00000000004655,506.02167,2015-01-01 01:24:20,bin5060,35,False +abc,5061,5061,5061,1983-11-10,506.1000000000466,506.12167,2015-01-01 01:24:21,bin5061,75,False +abc,5062,5062,5062,1983-11-11,506.2000000000466,506.22168,2015-01-01 01:24:22,bin5062,35,False +abc,5063,5063,5063,1983-11-12,506.3000000000466,506.3217,2015-01-01 01:24:23,bin5063,75,False +abc,5064,5064,5064,1983-11-13,506.40000000004665,506.4217,2015-01-01 01:24:24,bin5064,35,False +abc,5065,5065,5065,1983-11-14,506.50000000004667,506.5217,2015-01-01 01:24:25,bin5065,75,False +abc,5066,5066,5066,1983-11-15,506.6000000000467,506.6217,2015-01-01 01:24:26,bin5066,35,False +abc,5067,5067,5067,1983-11-16,506.7000000000467,506.7217,2015-01-01 01:24:27,bin5067,75,False +abc,5068,5068,5068,1983-11-17,506.80000000004674,506.82172,2015-01-01 01:24:28,bin5068,35,False +abc,5069,5069,5069,1983-11-18,506.90000000004676,506.92172,2015-01-01 01:24:29,bin5069,75,False +abc,5070,5070,5070,1983-11-19,507.0000000000468,507.02173,2015-01-01 01:24:30,bin5070,35,False +abc,5071,5071,5071,1983-11-20,507.1000000000468,507.12173,2015-01-01 01:24:31,bin5071,75,False +abc,5072,5072,5072,1983-11-21,507.2000000000468,507.22174,2015-01-01 01:24:32,bin5072,35,False +abc,5073,5073,5073,1983-11-22,507.30000000004685,507.32175,2015-01-01 01:24:33,bin5073,75,False +abc,5074,5074,5074,1983-11-23,507.4000000000469,507.42175,2015-01-01 01:24:34,bin5074,35,False +abc,5075,5075,5075,1983-11-24,507.5000000000469,507.52176,2015-01-01 01:24:35,bin5075,75,False +abc,5076,5076,5076,1983-11-25,507.6000000000469,507.62177,2015-01-01 01:24:36,bin5076,35,False +abc,5077,5077,5077,1983-11-26,507.70000000004694,507.72177,2015-01-01 01:24:37,bin5077,75,False +abc,5078,5078,5078,1983-11-27,507.80000000004696,507.82178,2015-01-01 01:24:38,bin5078,35,False +abc,5079,5079,5079,1983-11-28,507.900000000047,507.92178,2015-01-01 01:24:39,bin5079,75,False +abc,5080,5080,5080,1983-11-29,508.000000000047,508.0218,2015-01-01 01:24:40,bin5080,35,False +abc,5081,5081,5081,1983-11-30,508.10000000004703,508.1218,2015-01-01 01:24:41,bin5081,75,False +abc,5082,5082,5082,1983-12-01,508.20000000004705,508.2218,2015-01-01 01:24:42,bin5082,35,False +abc,5083,5083,5083,1983-12-02,508.3000000000471,508.3218,2015-01-01 01:24:43,bin5083,75,False +abc,5084,5084,5084,1983-12-03,508.4000000000471,508.4218,2015-01-01 01:24:44,bin5084,35,False +abc,5085,5085,5085,1983-12-04,508.5000000000471,508.52182,2015-01-01 01:24:45,bin5085,75,False +abc,5086,5086,5086,1983-12-05,508.60000000004715,508.62183,2015-01-01 01:24:46,bin5086,35,False +abc,5087,5087,5087,1983-12-06,508.70000000004717,508.72183,2015-01-01 01:24:47,bin5087,75,False +abc,5088,5088,5088,1983-12-07,508.8000000000472,508.82184,2015-01-01 01:24:48,bin5088,35,False +abc,5089,5089,5089,1983-12-08,508.9000000000472,508.92184,2015-01-01 01:24:49,bin5089,75,False +abc,5090,5090,5090,1983-12-09,509.00000000004724,509.02185,2015-01-01 01:24:50,bin5090,35,False +abc,5091,5091,5091,1983-12-10,509.10000000004726,509.12186,2015-01-01 01:24:51,bin5091,75,False +abc,5092,5092,5092,1983-12-11,509.2000000000473,509.22186,2015-01-01 01:24:52,bin5092,35,False +abc,5093,5093,5093,1983-12-12,509.3000000000473,509.32187,2015-01-01 01:24:53,bin5093,75,False +abc,5094,5094,5094,1983-12-13,509.4000000000473,509.42188,2015-01-01 01:24:54,bin5094,35,False +abc,5095,5095,5095,1983-12-14,509.50000000004735,509.52188,2015-01-01 01:24:55,bin5095,75,False +abc,5096,5096,5096,1983-12-15,509.6000000000474,509.6219,2015-01-01 01:24:56,bin5096,35,False +abc,5097,5097,5097,1983-12-16,509.7000000000474,509.7219,2015-01-01 01:24:57,bin5097,75,False +abc,5098,5098,5098,1983-12-17,509.8000000000474,509.8219,2015-01-01 01:24:58,bin5098,35,False +abc,5099,5099,5099,1983-12-18,509.90000000004744,509.9219,2015-01-01 01:24:59,bin5099,75,False +abc,5100,5100,5100,1983-12-19,510.00000000004746,510.0219,2015-01-01 01:25:00,bin5100,35,False +abc,5101,5101,5101,1983-12-20,510.1000000000475,510.12192,2015-01-01 01:25:01,bin5101,75,False +abc,5102,5102,5102,1983-12-21,510.2000000000475,510.22192,2015-01-01 01:25:02,bin5102,35,False +abc,5103,5103,5103,1983-12-22,510.30000000004753,510.32193,2015-01-01 01:25:03,bin5103,75,False +abc,5104,5104,5104,1983-12-23,510.40000000004756,510.42194,2015-01-01 01:25:04,bin5104,35,False +abc,5105,5105,5105,1983-12-24,510.5000000000476,510.52194,2015-01-01 01:25:05,bin5105,75,False +abc,5106,5106,5106,1983-12-25,510.6000000000476,510.62195,2015-01-01 01:25:06,bin5106,35,False +abc,5107,5107,5107,1983-12-26,510.7000000000476,510.72195,2015-01-01 01:25:07,bin5107,75,False +abc,5108,5108,5108,1983-12-27,510.80000000004765,510.82196,2015-01-01 01:25:08,bin5108,35,False +abc,5109,5109,5109,1983-12-28,510.90000000004767,510.92197,2015-01-01 01:25:09,bin5109,75,False +abc,5110,5110,5110,1983-12-29,511.0000000000477,511.02197,2015-01-01 01:25:10,bin5110,35,False +abc,5111,5111,5111,1983-12-30,511.1000000000477,511.12198,2015-01-01 01:25:11,bin5111,75,False +abc,5112,5112,5112,1983-12-31,511.20000000004774,511.222,2015-01-01 01:25:12,bin5112,35,False +abc,5113,5113,5113,1984-01-01,511.30000000004776,511.322,2015-01-01 01:25:13,bin5113,75,False +abc,5114,5114,5114,1984-01-02,511.4000000000478,511.422,2015-01-01 01:25:14,bin5114,35,False +abc,5115,5115,5115,1984-01-03,511.5000000000478,511.522,2015-01-01 01:25:15,bin5115,75,False +abc,5116,5116,5116,1984-01-04,511.6000000000478,511.622,2015-01-01 01:25:16,bin5116,35,False +abc,5117,5117,5117,1984-01-05,511.70000000004785,511.72202,2015-01-01 01:25:17,bin5117,75,False +abc,5118,5118,5118,1984-01-06,511.8000000000479,511.82202,2015-01-01 01:25:18,bin5118,35,False +abc,5119,5119,5119,1984-01-07,511.9000000000479,511.92203,2015-01-01 01:25:19,bin5119,75,False +abc,5120,5120,5120,1984-01-08,512.0000000000479,512.02203,2015-01-01 01:25:20,bin5120,35,False +abc,5121,5121,5121,1984-01-09,512.1000000000479,512.122,2015-01-01 01:25:21,bin5121,75,False +abc,5122,5122,5122,1984-01-10,512.2000000000479,512.222,2015-01-01 01:25:22,bin5122,35,False +abc,5123,5123,5123,1984-01-11,512.3000000000479,512.32196,2015-01-01 01:25:23,bin5123,75,False +abc,5124,5124,5124,1984-01-12,512.400000000048,512.42194,2015-01-01 01:25:24,bin5124,35,False +abc,5125,5125,5125,1984-01-13,512.500000000048,512.5219,2015-01-01 01:25:25,bin5125,75,False +abc,5126,5126,5126,1984-01-14,512.600000000048,512.6219,2015-01-01 01:25:26,bin5126,35,False +abc,5127,5127,5127,1984-01-15,512.700000000048,512.72186,2015-01-01 01:25:27,bin5127,75,False +abc,5128,5128,5128,1984-01-16,512.800000000048,512.82184,2015-01-01 01:25:28,bin5128,35,False +abc,5129,5129,5129,1984-01-17,512.9000000000481,512.9218,2015-01-01 01:25:29,bin5129,75,False +abc,5130,5130,5130,1984-01-18,513.0000000000481,513.0218,2015-01-01 01:25:30,bin5130,35,False +abc,5131,5131,5131,1984-01-19,513.1000000000481,513.12177,2015-01-01 01:25:31,bin5131,75,False +abc,5132,5132,5132,1984-01-20,513.2000000000481,513.22174,2015-01-01 01:25:32,bin5132,35,False +abc,5133,5133,5133,1984-01-21,513.3000000000482,513.3217,2015-01-01 01:25:33,bin5133,75,False +abc,5134,5134,5134,1984-01-22,513.4000000000482,513.4217,2015-01-01 01:25:34,bin5134,35,False +abc,5135,5135,5135,1984-01-23,513.5000000000482,513.52167,2015-01-01 01:25:35,bin5135,75,False +abc,5136,5136,5136,1984-01-24,513.6000000000482,513.62164,2015-01-01 01:25:36,bin5136,35,False +abc,5137,5137,5137,1984-01-25,513.7000000000482,513.7216,2015-01-01 01:25:37,bin5137,75,False +abc,5138,5138,5138,1984-01-26,513.8000000000483,513.8216,2015-01-01 01:25:38,bin5138,35,False +abc,5139,5139,5139,1984-01-27,513.9000000000483,513.9216,2015-01-01 01:25:39,bin5139,75,False +abc,5140,5140,5140,1984-01-28,514.0000000000483,514.02155,2015-01-01 01:25:40,bin5140,35,False +abc,5141,5141,5141,1984-01-29,514.1000000000483,514.1215,2015-01-01 01:25:41,bin5141,75,False +abc,5142,5142,5142,1984-01-30,514.2000000000484,514.2215,2015-01-01 01:25:42,bin5142,35,False +abc,5143,5143,5143,1984-01-31,514.3000000000484,514.3215,2015-01-01 01:25:43,bin5143,75,False +abc,5144,5144,5144,1984-02-01,514.4000000000484,514.42145,2015-01-01 01:25:44,bin5144,35,False +abc,5145,5145,5145,1984-02-02,514.5000000000484,514.5214,2015-01-01 01:25:45,bin5145,75,False +abc,5146,5146,5146,1984-02-03,514.6000000000485,514.6214,2015-01-01 01:25:46,bin5146,35,False +abc,5147,5147,5147,1984-02-04,514.7000000000485,514.7214,2015-01-01 01:25:47,bin5147,75,False +abc,5148,5148,5148,1984-02-05,514.8000000000485,514.82135,2015-01-01 01:25:48,bin5148,35,False +abc,5149,5149,5149,1984-02-06,514.9000000000485,514.9213,2015-01-01 01:25:49,bin5149,75,False +abc,5150,5150,5150,1984-02-07,515.0000000000485,515.0213,2015-01-01 01:25:50,bin5150,35,False +abc,5151,5151,5151,1984-02-08,515.1000000000486,515.1213,2015-01-01 01:25:51,bin5151,75,False +abc,5152,5152,5152,1984-02-09,515.2000000000486,515.22125,2015-01-01 01:25:52,bin5152,35,False +abc,5153,5153,5153,1984-02-10,515.3000000000486,515.3212,2015-01-01 01:25:53,bin5153,75,False +abc,5154,5154,5154,1984-02-11,515.4000000000486,515.4212,2015-01-01 01:25:54,bin5154,35,False +abc,5155,5155,5155,1984-02-12,515.5000000000487,515.5212,2015-01-01 01:25:55,bin5155,75,False +abc,5156,5156,5156,1984-02-13,515.6000000000487,515.62115,2015-01-01 01:25:56,bin5156,35,False +abc,5157,5157,5157,1984-02-14,515.7000000000487,515.7211,2015-01-01 01:25:57,bin5157,75,False +abc,5158,5158,5158,1984-02-15,515.8000000000487,515.8211,2015-01-01 01:25:58,bin5158,35,False +abc,5159,5159,5159,1984-02-16,515.9000000000487,515.9211,2015-01-01 01:25:59,bin5159,75,False +abc,5160,5160,5160,1984-02-17,516.0000000000488,516.02106,2015-01-01 01:26:00,bin5160,35,False +abc,5161,5161,5161,1984-02-18,516.1000000000488,516.12103,2015-01-01 01:26:01,bin5161,75,False +abc,5162,5162,5162,1984-02-19,516.2000000000488,516.221,2015-01-01 01:26:02,bin5162,35,False +abc,5163,5163,5163,1984-02-20,516.3000000000488,516.321,2015-01-01 01:26:03,bin5163,75,False +abc,5164,5164,5164,1984-02-21,516.4000000000489,516.42096,2015-01-01 01:26:04,bin5164,35,False +abc,5165,5165,5165,1984-02-22,516.5000000000489,516.52094,2015-01-01 01:26:05,bin5165,75,False +abc,5166,5166,5166,1984-02-23,516.6000000000489,516.6209,2015-01-01 01:26:06,bin5166,35,False +abc,5167,5167,5167,1984-02-24,516.7000000000489,516.7209,2015-01-01 01:26:07,bin5167,75,False +abc,5168,5168,5168,1984-02-25,516.800000000049,516.82086,2015-01-01 01:26:08,bin5168,35,False +abc,5169,5169,5169,1984-02-26,516.900000000049,516.92084,2015-01-01 01:26:09,bin5169,75,False +abc,5170,5170,5170,1984-02-27,517.000000000049,517.0208,2015-01-01 01:26:10,bin5170,35,False +abc,5171,5171,5171,1984-02-28,517.100000000049,517.1208,2015-01-01 01:26:11,bin5171,75,False +abc,5172,5172,5172,1984-02-29,517.200000000049,517.22076,2015-01-01 01:26:12,bin5172,35,False +abc,5173,5173,5173,1984-03-01,517.3000000000491,517.32074,2015-01-01 01:26:13,bin5173,75,False +abc,5174,5174,5174,1984-03-02,517.4000000000491,517.4207,2015-01-01 01:26:14,bin5174,35,False +abc,5175,5175,5175,1984-03-03,517.5000000000491,517.5207,2015-01-01 01:26:15,bin5175,75,False +abc,5176,5176,5176,1984-03-04,517.6000000000491,517.62067,2015-01-01 01:26:16,bin5176,35,False +abc,5177,5177,5177,1984-03-05,517.7000000000492,517.72064,2015-01-01 01:26:17,bin5177,75,False +abc,5178,5178,5178,1984-03-06,517.8000000000492,517.8206,2015-01-01 01:26:18,bin5178,35,False +abc,5179,5179,5179,1984-03-07,517.9000000000492,517.9206,2015-01-01 01:26:19,bin5179,75,False +abc,5180,5180,5180,1984-03-08,518.0000000000492,518.02057,2015-01-01 01:26:20,bin5180,35,False +abc,5181,5181,5181,1984-03-09,518.1000000000492,518.12054,2015-01-01 01:26:21,bin5181,75,False +abc,5182,5182,5182,1984-03-10,518.2000000000493,518.2205,2015-01-01 01:26:22,bin5182,35,False +abc,5183,5183,5183,1984-03-11,518.3000000000493,518.3205,2015-01-01 01:26:23,bin5183,75,False +abc,5184,5184,5184,1984-03-12,518.4000000000493,518.4205,2015-01-01 01:26:24,bin5184,35,False +abc,5185,5185,5185,1984-03-13,518.5000000000493,518.52045,2015-01-01 01:26:25,bin5185,75,False +abc,5186,5186,5186,1984-03-14,518.6000000000494,518.6204,2015-01-01 01:26:26,bin5186,35,False +abc,5187,5187,5187,1984-03-15,518.7000000000494,518.7204,2015-01-01 01:26:27,bin5187,75,False +abc,5188,5188,5188,1984-03-16,518.8000000000494,518.8204,2015-01-01 01:26:28,bin5188,35,False +abc,5189,5189,5189,1984-03-17,518.9000000000494,518.92035,2015-01-01 01:26:29,bin5189,75,False +abc,5190,5190,5190,1984-03-18,519.0000000000495,519.0203,2015-01-01 01:26:30,bin5190,35,False +abc,5191,5191,5191,1984-03-19,519.1000000000495,519.1203,2015-01-01 01:26:31,bin5191,75,False +abc,5192,5192,5192,1984-03-20,519.2000000000495,519.2203,2015-01-01 01:26:32,bin5192,35,False +abc,5193,5193,5193,1984-03-21,519.3000000000495,519.32025,2015-01-01 01:26:33,bin5193,75,False +abc,5194,5194,5194,1984-03-22,519.4000000000495,519.4202,2015-01-01 01:26:34,bin5194,35,False +abc,5195,5195,5195,1984-03-23,519.5000000000496,519.5202,2015-01-01 01:26:35,bin5195,75,False +abc,5196,5196,5196,1984-03-24,519.6000000000496,519.6202,2015-01-01 01:26:36,bin5196,35,False +abc,5197,5197,5197,1984-03-25,519.7000000000496,519.72015,2015-01-01 01:26:37,bin5197,75,False +abc,5198,5198,5198,1984-03-26,519.8000000000496,519.8201,2015-01-01 01:26:38,bin5198,35,False +abc,5199,5199,5199,1984-03-27,519.9000000000497,519.9201,2015-01-01 01:26:39,bin5199,75,False +abc,5200,5200,5200,1984-03-28,520.0000000000497,520.0201,2015-01-01 01:26:40,bin5200,35,False +abc,5201,5201,5201,1984-03-29,520.1000000000497,520.12006,2015-01-01 01:26:41,bin5201,75,False +abc,5202,5202,5202,1984-03-30,520.2000000000497,520.22003,2015-01-01 01:26:42,bin5202,35,False +abc,5203,5203,5203,1984-03-31,520.3000000000497,520.32,2015-01-01 01:26:43,bin5203,75,False +abc,5204,5204,5204,1984-04-01,520.4000000000498,520.42,2015-01-01 01:26:44,bin5204,35,False +abc,5205,5205,5205,1984-04-02,520.5000000000498,520.51996,2015-01-01 01:26:45,bin5205,75,False +abc,5206,5206,5206,1984-04-03,520.6000000000498,520.61993,2015-01-01 01:26:46,bin5206,35,False +abc,5207,5207,5207,1984-04-04,520.7000000000498,520.7199,2015-01-01 01:26:47,bin5207,75,False +abc,5208,5208,5208,1984-04-05,520.8000000000499,520.8199,2015-01-01 01:26:48,bin5208,35,False +abc,5209,5209,5209,1984-04-06,520.9000000000499,520.91986,2015-01-01 01:26:49,bin5209,75,False +abc,5210,5210,5210,1984-04-07,521.0000000000499,521.01984,2015-01-01 01:26:50,bin5210,35,False +abc,5211,5211,5211,1984-04-08,521.1000000000499,521.1198,2015-01-01 01:26:51,bin5211,75,False +abc,5212,5212,5212,1984-04-09,521.20000000005,521.2198,2015-01-01 01:26:52,bin5212,35,False +abc,5213,5213,5213,1984-04-10,521.30000000005,521.31976,2015-01-01 01:26:53,bin5213,75,False +abc,5214,5214,5214,1984-04-11,521.40000000005,521.41974,2015-01-01 01:26:54,bin5214,35,False +abc,5215,5215,5215,1984-04-12,521.50000000005,521.5197,2015-01-01 01:26:55,bin5215,75,False +abc,5216,5216,5216,1984-04-13,521.60000000005,521.6197,2015-01-01 01:26:56,bin5216,35,False +abc,5217,5217,5217,1984-04-14,521.7000000000501,521.71967,2015-01-01 01:26:57,bin5217,75,False +abc,5218,5218,5218,1984-04-15,521.8000000000501,521.81964,2015-01-01 01:26:58,bin5218,35,False +abc,5219,5219,5219,1984-04-16,521.9000000000501,521.9196,2015-01-01 01:26:59,bin5219,75,False +abc,5220,5220,5220,1984-04-17,522.0000000000501,522.0196,2015-01-01 01:27:00,bin5220,35,False +abc,5221,5221,5221,1984-04-18,522.1000000000502,522.11957,2015-01-01 01:27:01,bin5221,75,False +abc,5222,5222,5222,1984-04-19,522.2000000000502,522.21954,2015-01-01 01:27:02,bin5222,35,False +abc,5223,5223,5223,1984-04-20,522.3000000000502,522.3195,2015-01-01 01:27:03,bin5223,75,False +abc,5224,5224,5224,1984-04-21,522.4000000000502,522.4195,2015-01-01 01:27:04,bin5224,35,False +abc,5225,5225,5225,1984-04-22,522.5000000000502,522.5195,2015-01-01 01:27:05,bin5225,75,False +abc,5226,5226,5226,1984-04-23,522.6000000000503,522.61945,2015-01-01 01:27:06,bin5226,35,False +abc,5227,5227,5227,1984-04-24,522.7000000000503,522.7194,2015-01-01 01:27:07,bin5227,75,False +abc,5228,5228,5228,1984-04-25,522.8000000000503,522.8194,2015-01-01 01:27:08,bin5228,35,False +abc,5229,5229,5229,1984-04-26,522.9000000000503,522.9194,2015-01-01 01:27:09,bin5229,75,False +abc,5230,5230,5230,1984-04-27,523.0000000000504,523.01935,2015-01-01 01:27:10,bin5230,35,False +abc,5231,5231,5231,1984-04-28,523.1000000000504,523.1193,2015-01-01 01:27:11,bin5231,75,False +abc,5232,5232,5232,1984-04-29,523.2000000000504,523.2193,2015-01-01 01:27:12,bin5232,35,False +abc,5233,5233,5233,1984-04-30,523.3000000000504,523.3193,2015-01-01 01:27:13,bin5233,75,False +abc,5234,5234,5234,1984-05-01,523.4000000000505,523.41925,2015-01-01 01:27:14,bin5234,35,False +abc,5235,5235,5235,1984-05-02,523.5000000000505,523.5192,2015-01-01 01:27:15,bin5235,75,False +abc,5236,5236,5236,1984-05-03,523.6000000000505,523.6192,2015-01-01 01:27:16,bin5236,35,False +abc,5237,5237,5237,1984-05-04,523.7000000000505,523.7192,2015-01-01 01:27:17,bin5237,75,False +abc,5238,5238,5238,1984-05-05,523.8000000000505,523.81915,2015-01-01 01:27:18,bin5238,35,False +abc,5239,5239,5239,1984-05-06,523.9000000000506,523.9191,2015-01-01 01:27:19,bin5239,75,False +abc,5240,5240,5240,1984-05-07,524.0000000000506,524.0191,2015-01-01 01:27:20,bin5240,35,False +abc,5241,5241,5241,1984-05-08,524.1000000000506,524.1191,2015-01-01 01:27:21,bin5241,75,False +abc,5242,5242,5242,1984-05-09,524.2000000000506,524.21906,2015-01-01 01:27:22,bin5242,35,False +abc,5243,5243,5243,1984-05-10,524.3000000000507,524.31903,2015-01-01 01:27:23,bin5243,75,False +abc,5244,5244,5244,1984-05-11,524.4000000000507,524.419,2015-01-01 01:27:24,bin5244,35,False +abc,5245,5245,5245,1984-05-12,524.5000000000507,524.519,2015-01-01 01:27:25,bin5245,75,False +abc,5246,5246,5246,1984-05-13,524.6000000000507,524.61896,2015-01-01 01:27:26,bin5246,35,False +abc,5247,5247,5247,1984-05-14,524.7000000000507,524.71893,2015-01-01 01:27:27,bin5247,75,False +abc,5248,5248,5248,1984-05-15,524.8000000000508,524.8189,2015-01-01 01:27:28,bin5248,35,False +abc,5249,5249,5249,1984-05-16,524.9000000000508,524.9189,2015-01-01 01:27:29,bin5249,75,False +abc,5250,5250,5250,1984-05-17,525.0000000000508,525.01886,2015-01-01 01:27:30,bin5250,35,False +abc,5251,5251,5251,1984-05-18,525.1000000000508,525.11884,2015-01-01 01:27:31,bin5251,75,False +abc,5252,5252,5252,1984-05-19,525.2000000000509,525.2188,2015-01-01 01:27:32,bin5252,35,False +abc,5253,5253,5253,1984-05-20,525.3000000000509,525.3188,2015-01-01 01:27:33,bin5253,75,False +abc,5254,5254,5254,1984-05-21,525.4000000000509,525.41876,2015-01-01 01:27:34,bin5254,35,False +abc,5255,5255,5255,1984-05-22,525.5000000000509,525.51874,2015-01-01 01:27:35,bin5255,75,False +abc,5256,5256,5256,1984-05-23,525.600000000051,525.6187,2015-01-01 01:27:36,bin5256,35,False +abc,5257,5257,5257,1984-05-24,525.700000000051,525.7187,2015-01-01 01:27:37,bin5257,75,False +abc,5258,5258,5258,1984-05-25,525.800000000051,525.81866,2015-01-01 01:27:38,bin5258,35,False +abc,5259,5259,5259,1984-05-26,525.900000000051,525.91864,2015-01-01 01:27:39,bin5259,75,False +abc,5260,5260,5260,1984-05-27,526.000000000051,526.0186,2015-01-01 01:27:40,bin5260,35,False +abc,5261,5261,5261,1984-05-28,526.1000000000511,526.1186,2015-01-01 01:27:41,bin5261,75,False +abc,5262,5262,5262,1984-05-29,526.2000000000511,526.21857,2015-01-01 01:27:42,bin5262,35,False +abc,5263,5263,5263,1984-05-30,526.3000000000511,526.31854,2015-01-01 01:27:43,bin5263,75,False +abc,5264,5264,5264,1984-05-31,526.4000000000511,526.4185,2015-01-01 01:27:44,bin5264,35,False +abc,5265,5265,5265,1984-06-01,526.5000000000512,526.5185,2015-01-01 01:27:45,bin5265,75,False +abc,5266,5266,5266,1984-06-02,526.6000000000512,526.61847,2015-01-01 01:27:46,bin5266,35,False +abc,5267,5267,5267,1984-06-03,526.7000000000512,526.71844,2015-01-01 01:27:47,bin5267,75,False +abc,5268,5268,5268,1984-06-04,526.8000000000512,526.8184,2015-01-01 01:27:48,bin5268,35,False +abc,5269,5269,5269,1984-06-05,526.9000000000513,526.9184,2015-01-01 01:27:49,bin5269,75,False +abc,5270,5270,5270,1984-06-06,527.0000000000513,527.0184,2015-01-01 01:27:50,bin5270,35,False +abc,5271,5271,5271,1984-06-07,527.1000000000513,527.11835,2015-01-01 01:27:51,bin5271,75,False +abc,5272,5272,5272,1984-06-08,527.2000000000513,527.2183,2015-01-01 01:27:52,bin5272,35,False +abc,5273,5273,5273,1984-06-09,527.3000000000513,527.3183,2015-01-01 01:27:53,bin5273,75,False +abc,5274,5274,5274,1984-06-10,527.4000000000514,527.4183,2015-01-01 01:27:54,bin5274,35,False +abc,5275,5275,5275,1984-06-11,527.5000000000514,527.51825,2015-01-01 01:27:55,bin5275,75,False +abc,5276,5276,5276,1984-06-12,527.6000000000514,527.6182,2015-01-01 01:27:56,bin5276,35,False +abc,5277,5277,5277,1984-06-13,527.7000000000514,527.7182,2015-01-01 01:27:57,bin5277,75,False +abc,5278,5278,5278,1984-06-14,527.8000000000515,527.8182,2015-01-01 01:27:58,bin5278,35,False +abc,5279,5279,5279,1984-06-15,527.9000000000515,527.91815,2015-01-01 01:27:59,bin5279,75,False +abc,5280,5280,5280,1984-06-16,528.0000000000515,528.0181,2015-01-01 01:28:00,bin5280,35,False +abc,5281,5281,5281,1984-06-17,528.1000000000515,528.1181,2015-01-01 01:28:01,bin5281,75,False +abc,5282,5282,5282,1984-06-18,528.2000000000515,528.2181,2015-01-01 01:28:02,bin5282,35,False +abc,5283,5283,5283,1984-06-19,528.3000000000516,528.31805,2015-01-01 01:28:03,bin5283,75,False +abc,5284,5284,5284,1984-06-20,528.4000000000516,528.418,2015-01-01 01:28:04,bin5284,35,False +abc,5285,5285,5285,1984-06-21,528.5000000000516,528.518,2015-01-01 01:28:05,bin5285,75,False +abc,5286,5286,5286,1984-06-22,528.6000000000516,528.618,2015-01-01 01:28:06,bin5286,35,False +abc,5287,5287,5287,1984-06-23,528.7000000000517,528.71796,2015-01-01 01:28:07,bin5287,75,False +abc,5288,5288,5288,1984-06-24,528.8000000000517,528.81793,2015-01-01 01:28:08,bin5288,35,False +abc,5289,5289,5289,1984-06-25,528.9000000000517,528.9179,2015-01-01 01:28:09,bin5289,75,False +abc,5290,5290,5290,1984-06-26,529.0000000000517,529.0179,2015-01-01 01:28:10,bin5290,35,False +abc,5291,5291,5291,1984-06-27,529.1000000000518,529.11786,2015-01-01 01:28:11,bin5291,75,False +abc,5292,5292,5292,1984-06-28,529.2000000000518,529.21783,2015-01-01 01:28:12,bin5292,35,False +abc,5293,5293,5293,1984-06-29,529.3000000000518,529.3178,2015-01-01 01:28:13,bin5293,75,False +abc,5294,5294,5294,1984-06-30,529.4000000000518,529.4178,2015-01-01 01:28:14,bin5294,35,False +abc,5295,5295,5295,1984-07-01,529.5000000000518,529.51776,2015-01-01 01:28:15,bin5295,75,False +abc,5296,5296,5296,1984-07-02,529.6000000000519,529.61774,2015-01-01 01:28:16,bin5296,35,False +abc,5297,5297,5297,1984-07-03,529.7000000000519,529.7177,2015-01-01 01:28:17,bin5297,75,False +abc,5298,5298,5298,1984-07-04,529.8000000000519,529.8177,2015-01-01 01:28:18,bin5298,35,False +abc,5299,5299,5299,1984-07-05,529.9000000000519,529.91766,2015-01-01 01:28:19,bin5299,75,False +abc,5300,5300,5300,1984-07-06,530.000000000052,530.01764,2015-01-01 01:28:20,bin5300,35,False +abc,5301,5301,5301,1984-07-07,530.100000000052,530.1176,2015-01-01 01:28:21,bin5301,75,False +abc,5302,5302,5302,1984-07-08,530.200000000052,530.2176,2015-01-01 01:28:22,bin5302,35,False +abc,5303,5303,5303,1984-07-09,530.300000000052,530.31757,2015-01-01 01:28:23,bin5303,75,False +abc,5304,5304,5304,1984-07-10,530.400000000052,530.41754,2015-01-01 01:28:24,bin5304,35,False +abc,5305,5305,5305,1984-07-11,530.5000000000521,530.5175,2015-01-01 01:28:25,bin5305,75,False +abc,5306,5306,5306,1984-07-12,530.6000000000521,530.6175,2015-01-01 01:28:26,bin5306,35,False +abc,5307,5307,5307,1984-07-13,530.7000000000521,530.71747,2015-01-01 01:28:27,bin5307,75,False +abc,5308,5308,5308,1984-07-14,530.8000000000521,530.81744,2015-01-01 01:28:28,bin5308,35,False +abc,5309,5309,5309,1984-07-15,530.9000000000522,530.9174,2015-01-01 01:28:29,bin5309,75,False +abc,5310,5310,5310,1984-07-16,531.0000000000522,531.0174,2015-01-01 01:28:30,bin5310,35,False +abc,5311,5311,5311,1984-07-17,531.1000000000522,531.1174,2015-01-01 01:28:31,bin5311,75,False +abc,5312,5312,5312,1984-07-18,531.2000000000522,531.21735,2015-01-01 01:28:32,bin5312,35,False +abc,5313,5313,5313,1984-07-19,531.3000000000523,531.3173,2015-01-01 01:28:33,bin5313,75,False +abc,5314,5314,5314,1984-07-20,531.4000000000523,531.4173,2015-01-01 01:28:34,bin5314,35,False +abc,5315,5315,5315,1984-07-21,531.5000000000523,531.5173,2015-01-01 01:28:35,bin5315,75,False +abc,5316,5316,5316,1984-07-22,531.6000000000523,531.61725,2015-01-01 01:28:36,bin5316,35,False +abc,5317,5317,5317,1984-07-23,531.7000000000523,531.7172,2015-01-01 01:28:37,bin5317,75,False +abc,5318,5318,5318,1984-07-24,531.8000000000524,531.8172,2015-01-01 01:28:38,bin5318,35,False +abc,5319,5319,5319,1984-07-25,531.9000000000524,531.9172,2015-01-01 01:28:39,bin5319,75,False +abc,5320,5320,5320,1984-07-26,532.0000000000524,532.01715,2015-01-01 01:28:40,bin5320,35,False +abc,5321,5321,5321,1984-07-27,532.1000000000524,532.1171,2015-01-01 01:28:41,bin5321,75,False +abc,5322,5322,5322,1984-07-28,532.2000000000525,532.2171,2015-01-01 01:28:42,bin5322,35,False +abc,5323,5323,5323,1984-07-29,532.3000000000525,532.3171,2015-01-01 01:28:43,bin5323,75,False +abc,5324,5324,5324,1984-07-30,532.4000000000525,532.41705,2015-01-01 01:28:44,bin5324,35,False +abc,5325,5325,5325,1984-07-31,532.5000000000525,532.517,2015-01-01 01:28:45,bin5325,75,False +abc,5326,5326,5326,1984-08-01,532.6000000000525,532.617,2015-01-01 01:28:46,bin5326,35,False +abc,5327,5327,5327,1984-08-02,532.7000000000526,532.717,2015-01-01 01:28:47,bin5327,75,False +abc,5328,5328,5328,1984-08-03,532.8000000000526,532.81696,2015-01-01 01:28:48,bin5328,35,False +abc,5329,5329,5329,1984-08-04,532.9000000000526,532.91693,2015-01-01 01:28:49,bin5329,75,False +abc,5330,5330,5330,1984-08-05,533.0000000000526,533.0169,2015-01-01 01:28:50,bin5330,35,False +abc,5331,5331,5331,1984-08-06,533.1000000000527,533.1169,2015-01-01 01:28:51,bin5331,75,False +abc,5332,5332,5332,1984-08-07,533.2000000000527,533.21686,2015-01-01 01:28:52,bin5332,35,False +abc,5333,5333,5333,1984-08-08,533.3000000000527,533.31683,2015-01-01 01:28:53,bin5333,75,False +abc,5334,5334,5334,1984-08-09,533.4000000000527,533.4168,2015-01-01 01:28:54,bin5334,35,False +abc,5335,5335,5335,1984-08-10,533.5000000000528,533.5168,2015-01-01 01:28:55,bin5335,75,False +abc,5336,5336,5336,1984-08-11,533.6000000000528,533.61676,2015-01-01 01:28:56,bin5336,35,False +abc,5337,5337,5337,1984-08-12,533.7000000000528,533.71674,2015-01-01 01:28:57,bin5337,75,False +abc,5338,5338,5338,1984-08-13,533.8000000000528,533.8167,2015-01-01 01:28:58,bin5338,35,False +abc,5339,5339,5339,1984-08-14,533.9000000000528,533.9167,2015-01-01 01:28:59,bin5339,75,False +abc,5340,5340,5340,1984-08-15,534.0000000000529,534.01666,2015-01-01 01:29:00,bin5340,35,False +abc,5341,5341,5341,1984-08-16,534.1000000000529,534.11664,2015-01-01 01:29:01,bin5341,75,False +abc,5342,5342,5342,1984-08-17,534.2000000000529,534.2166,2015-01-01 01:29:02,bin5342,35,False +abc,5343,5343,5343,1984-08-18,534.3000000000529,534.3166,2015-01-01 01:29:03,bin5343,75,False +abc,5344,5344,5344,1984-08-19,534.400000000053,534.41656,2015-01-01 01:29:04,bin5344,35,False +abc,5345,5345,5345,1984-08-20,534.500000000053,534.51654,2015-01-01 01:29:05,bin5345,75,False +abc,5346,5346,5346,1984-08-21,534.600000000053,534.6165,2015-01-01 01:29:06,bin5346,35,False +abc,5347,5347,5347,1984-08-22,534.700000000053,534.7165,2015-01-01 01:29:07,bin5347,75,False +abc,5348,5348,5348,1984-08-23,534.800000000053,534.81647,2015-01-01 01:29:08,bin5348,35,False +abc,5349,5349,5349,1984-08-24,534.9000000000531,534.91644,2015-01-01 01:29:09,bin5349,75,False +abc,5350,5350,5350,1984-08-25,535.0000000000531,535.0164,2015-01-01 01:29:10,bin5350,35,False +abc,5351,5351,5351,1984-08-26,535.1000000000531,535.1164,2015-01-01 01:29:11,bin5351,75,False +abc,5352,5352,5352,1984-08-27,535.2000000000531,535.2164,2015-01-01 01:29:12,bin5352,35,False +abc,5353,5353,5353,1984-08-28,535.3000000000532,535.31635,2015-01-01 01:29:13,bin5353,75,False +abc,5354,5354,5354,1984-08-29,535.4000000000532,535.4163,2015-01-01 01:29:14,bin5354,35,False +abc,5355,5355,5355,1984-08-30,535.5000000000532,535.5163,2015-01-01 01:29:15,bin5355,75,False +abc,5356,5356,5356,1984-08-31,535.6000000000532,535.6163,2015-01-01 01:29:16,bin5356,35,False +abc,5357,5357,5357,1984-09-01,535.7000000000533,535.71625,2015-01-01 01:29:17,bin5357,75,False +abc,5358,5358,5358,1984-09-02,535.8000000000533,535.8162,2015-01-01 01:29:18,bin5358,35,False +abc,5359,5359,5359,1984-09-03,535.9000000000533,535.9162,2015-01-01 01:29:19,bin5359,75,False +abc,5360,5360,5360,1984-09-04,536.0000000000533,536.0162,2015-01-01 01:29:20,bin5360,35,False +abc,5361,5361,5361,1984-09-05,536.1000000000533,536.11615,2015-01-01 01:29:21,bin5361,75,False +abc,5362,5362,5362,1984-09-06,536.2000000000534,536.2161,2015-01-01 01:29:22,bin5362,35,False +abc,5363,5363,5363,1984-09-07,536.3000000000534,536.3161,2015-01-01 01:29:23,bin5363,75,False +abc,5364,5364,5364,1984-09-08,536.4000000000534,536.4161,2015-01-01 01:29:24,bin5364,35,False +abc,5365,5365,5365,1984-09-09,536.5000000000534,536.51605,2015-01-01 01:29:25,bin5365,75,False +abc,5366,5366,5366,1984-09-10,536.6000000000535,536.616,2015-01-01 01:29:26,bin5366,35,False +abc,5367,5367,5367,1984-09-11,536.7000000000535,536.716,2015-01-01 01:29:27,bin5367,75,False +abc,5368,5368,5368,1984-09-12,536.8000000000535,536.816,2015-01-01 01:29:28,bin5368,35,False +abc,5369,5369,5369,1984-09-13,536.9000000000535,536.91595,2015-01-01 01:29:29,bin5369,75,False +abc,5370,5370,5370,1984-09-14,537.0000000000535,537.0159,2015-01-01 01:29:30,bin5370,35,False +abc,5371,5371,5371,1984-09-15,537.1000000000536,537.1159,2015-01-01 01:29:31,bin5371,75,False +abc,5372,5372,5372,1984-09-16,537.2000000000536,537.2159,2015-01-01 01:29:32,bin5372,35,False +abc,5373,5373,5373,1984-09-17,537.3000000000536,537.31586,2015-01-01 01:29:33,bin5373,75,False +abc,5374,5374,5374,1984-09-18,537.4000000000536,537.41583,2015-01-01 01:29:34,bin5374,35,False +abc,5375,5375,5375,1984-09-19,537.5000000000537,537.5158,2015-01-01 01:29:35,bin5375,75,False +abc,5376,5376,5376,1984-09-20,537.6000000000537,537.6158,2015-01-01 01:29:36,bin5376,35,False +abc,5377,5377,5377,1984-09-21,537.7000000000537,537.71576,2015-01-01 01:29:37,bin5377,75,False +abc,5378,5378,5378,1984-09-22,537.8000000000537,537.81573,2015-01-01 01:29:38,bin5378,35,False +abc,5379,5379,5379,1984-09-23,537.9000000000538,537.9157,2015-01-01 01:29:39,bin5379,75,False +abc,5380,5380,5380,1984-09-24,538.0000000000538,538.0157,2015-01-01 01:29:40,bin5380,35,False +abc,5381,5381,5381,1984-09-25,538.1000000000538,538.11566,2015-01-01 01:29:41,bin5381,75,False +abc,5382,5382,5382,1984-09-26,538.2000000000538,538.21564,2015-01-01 01:29:42,bin5382,35,False +abc,5383,5383,5383,1984-09-27,538.3000000000538,538.3156,2015-01-01 01:29:43,bin5383,75,False +abc,5384,5384,5384,1984-09-28,538.4000000000539,538.4156,2015-01-01 01:29:44,bin5384,35,False +abc,5385,5385,5385,1984-09-29,538.5000000000539,538.51556,2015-01-01 01:29:45,bin5385,75,False +abc,5386,5386,5386,1984-09-30,538.6000000000539,538.61554,2015-01-01 01:29:46,bin5386,35,False +abc,5387,5387,5387,1984-10-01,538.7000000000539,538.7155,2015-01-01 01:29:47,bin5387,75,False +abc,5388,5388,5388,1984-10-02,538.800000000054,538.8155,2015-01-01 01:29:48,bin5388,35,False +abc,5389,5389,5389,1984-10-03,538.900000000054,538.91547,2015-01-01 01:29:49,bin5389,75,False +abc,5390,5390,5390,1984-10-04,539.000000000054,539.01544,2015-01-01 01:29:50,bin5390,35,False +abc,5391,5391,5391,1984-10-05,539.100000000054,539.1154,2015-01-01 01:29:51,bin5391,75,False +abc,5392,5392,5392,1984-10-06,539.200000000054,539.2154,2015-01-01 01:29:52,bin5392,35,False +abc,5393,5393,5393,1984-10-07,539.3000000000541,539.31537,2015-01-01 01:29:53,bin5393,75,False +abc,5394,5394,5394,1984-10-08,539.4000000000541,539.41534,2015-01-01 01:29:54,bin5394,35,False +abc,5395,5395,5395,1984-10-09,539.5000000000541,539.5153,2015-01-01 01:29:55,bin5395,75,False +abc,5396,5396,5396,1984-10-10,539.6000000000541,539.6153,2015-01-01 01:29:56,bin5396,35,False +abc,5397,5397,5397,1984-10-11,539.7000000000542,539.7153,2015-01-01 01:29:57,bin5397,75,False +abc,5398,5398,5398,1984-10-12,539.8000000000542,539.81525,2015-01-01 01:29:58,bin5398,35,False +abc,5399,5399,5399,1984-10-13,539.9000000000542,539.9152,2015-01-01 01:29:59,bin5399,75,False +abc,5400,5400,5400,1984-10-14,540.0000000000542,540.0152,2015-01-01 01:30:00,bin5400,35,False +abc,5401,5401,5401,1984-10-15,540.1000000000543,540.1152,2015-01-01 01:30:01,bin5401,75,False +abc,5402,5402,5402,1984-10-16,540.2000000000543,540.21515,2015-01-01 01:30:02,bin5402,35,False +abc,5403,5403,5403,1984-10-17,540.3000000000543,540.3151,2015-01-01 01:30:03,bin5403,75,False +abc,5404,5404,5404,1984-10-18,540.4000000000543,540.4151,2015-01-01 01:30:04,bin5404,35,False +abc,5405,5405,5405,1984-10-19,540.5000000000543,540.5151,2015-01-01 01:30:05,bin5405,75,False +abc,5406,5406,5406,1984-10-20,540.6000000000544,540.61505,2015-01-01 01:30:06,bin5406,35,False +abc,5407,5407,5407,1984-10-21,540.7000000000544,540.715,2015-01-01 01:30:07,bin5407,75,False +abc,5408,5408,5408,1984-10-22,540.8000000000544,540.815,2015-01-01 01:30:08,bin5408,35,False +abc,5409,5409,5409,1984-10-23,540.9000000000544,540.915,2015-01-01 01:30:09,bin5409,75,False +abc,5410,5410,5410,1984-10-24,541.0000000000545,541.01495,2015-01-01 01:30:10,bin5410,35,False +abc,5411,5411,5411,1984-10-25,541.1000000000545,541.1149,2015-01-01 01:30:11,bin5411,75,False +abc,5412,5412,5412,1984-10-26,541.2000000000545,541.2149,2015-01-01 01:30:12,bin5412,35,False +abc,5413,5413,5413,1984-10-27,541.3000000000545,541.3149,2015-01-01 01:30:13,bin5413,75,False +abc,5414,5414,5414,1984-10-28,541.4000000000545,541.41486,2015-01-01 01:30:14,bin5414,35,False +abc,5415,5415,5415,1984-10-29,541.5000000000546,541.51483,2015-01-01 01:30:15,bin5415,75,False +abc,5416,5416,5416,1984-10-30,541.6000000000546,541.6148,2015-01-01 01:30:16,bin5416,35,False +abc,5417,5417,5417,1984-10-31,541.7000000000546,541.7148,2015-01-01 01:30:17,bin5417,75,False +abc,5418,5418,5418,1984-11-01,541.8000000000546,541.81476,2015-01-01 01:30:18,bin5418,35,False +abc,5419,5419,5419,1984-11-02,541.9000000000547,541.91473,2015-01-01 01:30:19,bin5419,75,False +abc,5420,5420,5420,1984-11-03,542.0000000000547,542.0147,2015-01-01 01:30:20,bin5420,35,False +abc,5421,5421,5421,1984-11-04,542.1000000000547,542.1147,2015-01-01 01:30:21,bin5421,75,False +abc,5422,5422,5422,1984-11-05,542.2000000000547,542.21466,2015-01-01 01:30:22,bin5422,35,False +abc,5423,5423,5423,1984-11-06,542.3000000000548,542.31464,2015-01-01 01:30:23,bin5423,75,False +abc,5424,5424,5424,1984-11-07,542.4000000000548,542.4146,2015-01-01 01:30:24,bin5424,35,False +abc,5425,5425,5425,1984-11-08,542.5000000000548,542.5146,2015-01-01 01:30:25,bin5425,75,False +abc,5426,5426,5426,1984-11-09,542.6000000000548,542.61456,2015-01-01 01:30:26,bin5426,35,False +abc,5427,5427,5427,1984-11-10,542.7000000000548,542.71454,2015-01-01 01:30:27,bin5427,75,False +abc,5428,5428,5428,1984-11-11,542.8000000000549,542.8145,2015-01-01 01:30:28,bin5428,35,False +abc,5429,5429,5429,1984-11-12,542.9000000000549,542.9145,2015-01-01 01:30:29,bin5429,75,False +abc,5430,5430,5430,1984-11-13,543.0000000000549,543.01447,2015-01-01 01:30:30,bin5430,35,False +abc,5431,5431,5431,1984-11-14,543.1000000000549,543.11444,2015-01-01 01:30:31,bin5431,75,False +abc,5432,5432,5432,1984-11-15,543.200000000055,543.2144,2015-01-01 01:30:32,bin5432,35,False +abc,5433,5433,5433,1984-11-16,543.300000000055,543.3144,2015-01-01 01:30:33,bin5433,75,False +abc,5434,5434,5434,1984-11-17,543.400000000055,543.41437,2015-01-01 01:30:34,bin5434,35,False +abc,5435,5435,5435,1984-11-18,543.500000000055,543.51434,2015-01-01 01:30:35,bin5435,75,False +abc,5436,5436,5436,1984-11-19,543.600000000055,543.6143,2015-01-01 01:30:36,bin5436,35,False +abc,5437,5437,5437,1984-11-20,543.7000000000551,543.7143,2015-01-01 01:30:37,bin5437,75,False +abc,5438,5438,5438,1984-11-21,543.8000000000551,543.8143,2015-01-01 01:30:38,bin5438,35,False +abc,5439,5439,5439,1984-11-22,543.9000000000551,543.91425,2015-01-01 01:30:39,bin5439,75,False +abc,5440,5440,5440,1984-11-23,544.0000000000551,544.0142,2015-01-01 01:30:40,bin5440,35,False +abc,5441,5441,5441,1984-11-24,544.1000000000552,544.1142,2015-01-01 01:30:41,bin5441,75,False +abc,5442,5442,5442,1984-11-25,544.2000000000552,544.2142,2015-01-01 01:30:42,bin5442,35,False +abc,5443,5443,5443,1984-11-26,544.3000000000552,544.31415,2015-01-01 01:30:43,bin5443,75,False +abc,5444,5444,5444,1984-11-27,544.4000000000552,544.4141,2015-01-01 01:30:44,bin5444,35,False +abc,5445,5445,5445,1984-11-28,544.5000000000553,544.5141,2015-01-01 01:30:45,bin5445,75,False +abc,5446,5446,5446,1984-11-29,544.6000000000553,544.6141,2015-01-01 01:30:46,bin5446,35,False +abc,5447,5447,5447,1984-11-30,544.7000000000553,544.71405,2015-01-01 01:30:47,bin5447,75,False +abc,5448,5448,5448,1984-12-01,544.8000000000553,544.814,2015-01-01 01:30:48,bin5448,35,False +abc,5449,5449,5449,1984-12-02,544.9000000000553,544.914,2015-01-01 01:30:49,bin5449,75,False +abc,5450,5450,5450,1984-12-03,545.0000000000554,545.014,2015-01-01 01:30:50,bin5450,35,False +abc,5451,5451,5451,1984-12-04,545.1000000000554,545.11395,2015-01-01 01:30:51,bin5451,75,False +abc,5452,5452,5452,1984-12-05,545.2000000000554,545.2139,2015-01-01 01:30:52,bin5452,35,False +abc,5453,5453,5453,1984-12-06,545.3000000000554,545.3139,2015-01-01 01:30:53,bin5453,75,False +abc,5454,5454,5454,1984-12-07,545.4000000000555,545.4139,2015-01-01 01:30:54,bin5454,35,False +abc,5455,5455,5455,1984-12-08,545.5000000000555,545.51385,2015-01-01 01:30:55,bin5455,75,False +abc,5456,5456,5456,1984-12-09,545.6000000000555,545.61383,2015-01-01 01:30:56,bin5456,35,False +abc,5457,5457,5457,1984-12-10,545.7000000000555,545.7138,2015-01-01 01:30:57,bin5457,75,False +abc,5458,5458,5458,1984-12-11,545.8000000000555,545.8138,2015-01-01 01:30:58,bin5458,35,False +abc,5459,5459,5459,1984-12-12,545.9000000000556,545.91376,2015-01-01 01:30:59,bin5459,75,False +abc,5460,5460,5460,1984-12-13,546.0000000000556,546.01373,2015-01-01 01:31:00,bin5460,35,False +abc,5461,5461,5461,1984-12-14,546.1000000000556,546.1137,2015-01-01 01:31:01,bin5461,75,False +abc,5462,5462,5462,1984-12-15,546.2000000000556,546.2137,2015-01-01 01:31:02,bin5462,35,False +abc,5463,5463,5463,1984-12-16,546.3000000000557,546.31366,2015-01-01 01:31:03,bin5463,75,False +abc,5464,5464,5464,1984-12-17,546.4000000000557,546.41364,2015-01-01 01:31:04,bin5464,35,False +abc,5465,5465,5465,1984-12-18,546.5000000000557,546.5136,2015-01-01 01:31:05,bin5465,75,False +abc,5466,5466,5466,1984-12-19,546.6000000000557,546.6136,2015-01-01 01:31:06,bin5466,35,False +abc,5467,5467,5467,1984-12-20,546.7000000000558,546.71356,2015-01-01 01:31:07,bin5467,75,False +abc,5468,5468,5468,1984-12-21,546.8000000000558,546.81354,2015-01-01 01:31:08,bin5468,35,False +abc,5469,5469,5469,1984-12-22,546.9000000000558,546.9135,2015-01-01 01:31:09,bin5469,75,False +abc,5470,5470,5470,1984-12-23,547.0000000000558,547.0135,2015-01-01 01:31:10,bin5470,35,False +abc,5471,5471,5471,1984-12-24,547.1000000000558,547.11346,2015-01-01 01:31:11,bin5471,75,False +abc,5472,5472,5472,1984-12-25,547.2000000000559,547.21344,2015-01-01 01:31:12,bin5472,35,False +abc,5473,5473,5473,1984-12-26,547.3000000000559,547.3134,2015-01-01 01:31:13,bin5473,75,False +abc,5474,5474,5474,1984-12-27,547.4000000000559,547.4134,2015-01-01 01:31:14,bin5474,35,False +abc,5475,5475,5475,1984-12-28,547.5000000000559,547.51337,2015-01-01 01:31:15,bin5475,75,False +abc,5476,5476,5476,1984-12-29,547.600000000056,547.61334,2015-01-01 01:31:16,bin5476,35,False +abc,5477,5477,5477,1984-12-30,547.700000000056,547.7133,2015-01-01 01:31:17,bin5477,75,False +abc,5478,5478,5478,1984-12-31,547.800000000056,547.8133,2015-01-01 01:31:18,bin5478,35,False +abc,5479,5479,5479,1985-01-01,547.900000000056,547.91327,2015-01-01 01:31:19,bin5479,75,False +abc,5480,5480,5480,1985-01-02,548.000000000056,548.01324,2015-01-01 01:31:20,bin5480,35,False +abc,5481,5481,5481,1985-01-03,548.1000000000561,548.1132,2015-01-01 01:31:21,bin5481,75,False +abc,5482,5482,5482,1985-01-04,548.2000000000561,548.2132,2015-01-01 01:31:22,bin5482,35,False +abc,5483,5483,5483,1985-01-05,548.3000000000561,548.3132,2015-01-01 01:31:23,bin5483,75,False +abc,5484,5484,5484,1985-01-06,548.4000000000561,548.41315,2015-01-01 01:31:24,bin5484,35,False +abc,5485,5485,5485,1985-01-07,548.5000000000562,548.5131,2015-01-01 01:31:25,bin5485,75,False +abc,5486,5486,5486,1985-01-08,548.6000000000562,548.6131,2015-01-01 01:31:26,bin5486,35,False +abc,5487,5487,5487,1985-01-09,548.7000000000562,548.7131,2015-01-01 01:31:27,bin5487,75,False +abc,5488,5488,5488,1985-01-10,548.8000000000562,548.81305,2015-01-01 01:31:28,bin5488,35,False +abc,5489,5489,5489,1985-01-11,548.9000000000563,548.913,2015-01-01 01:31:29,bin5489,75,False +abc,5490,5490,5490,1985-01-12,549.0000000000563,549.013,2015-01-01 01:31:30,bin5490,35,False +abc,5491,5491,5491,1985-01-13,549.1000000000563,549.113,2015-01-01 01:31:31,bin5491,75,False +abc,5492,5492,5492,1985-01-14,549.2000000000563,549.21295,2015-01-01 01:31:32,bin5492,35,False +abc,5493,5493,5493,1985-01-15,549.3000000000563,549.3129,2015-01-01 01:31:33,bin5493,75,False +abc,5494,5494,5494,1985-01-16,549.4000000000564,549.4129,2015-01-01 01:31:34,bin5494,35,False +abc,5495,5495,5495,1985-01-17,549.5000000000564,549.5129,2015-01-01 01:31:35,bin5495,75,False +abc,5496,5496,5496,1985-01-18,549.6000000000564,549.61285,2015-01-01 01:31:36,bin5496,35,False +abc,5497,5497,5497,1985-01-19,549.7000000000564,549.7128,2015-01-01 01:31:37,bin5497,75,False +abc,5498,5498,5498,1985-01-20,549.8000000000565,549.8128,2015-01-01 01:31:38,bin5498,35,False +abc,5499,5499,5499,1985-01-21,549.9000000000565,549.9128,2015-01-01 01:31:39,bin5499,75,False +abc,5500,5500,5500,1985-01-22,550.0000000000565,550.01276,2015-01-01 01:31:40,bin5500,35,False +abc,5501,5501,5501,1985-01-23,550.1000000000565,550.11273,2015-01-01 01:31:41,bin5501,75,False +abc,5502,5502,5502,1985-01-24,550.2000000000565,550.2127,2015-01-01 01:31:42,bin5502,35,False +abc,5503,5503,5503,1985-01-25,550.3000000000566,550.3127,2015-01-01 01:31:43,bin5503,75,False +abc,5504,5504,5504,1985-01-26,550.4000000000566,550.41266,2015-01-01 01:31:44,bin5504,35,False +abc,5505,5505,5505,1985-01-27,550.5000000000566,550.51263,2015-01-01 01:31:45,bin5505,75,False +abc,5506,5506,5506,1985-01-28,550.6000000000566,550.6126,2015-01-01 01:31:46,bin5506,35,False +abc,5507,5507,5507,1985-01-29,550.7000000000567,550.7126,2015-01-01 01:31:47,bin5507,75,False +abc,5508,5508,5508,1985-01-30,550.8000000000567,550.81256,2015-01-01 01:31:48,bin5508,35,False +abc,5509,5509,5509,1985-01-31,550.9000000000567,550.91254,2015-01-01 01:31:49,bin5509,75,False +abc,5510,5510,5510,1985-02-01,551.0000000000567,551.0125,2015-01-01 01:31:50,bin5510,35,False +abc,5511,5511,5511,1985-02-02,551.1000000000568,551.1125,2015-01-01 01:31:51,bin5511,75,False +abc,5512,5512,5512,1985-02-03,551.2000000000568,551.21246,2015-01-01 01:31:52,bin5512,35,False +abc,5513,5513,5513,1985-02-04,551.3000000000568,551.31244,2015-01-01 01:31:53,bin5513,75,False +abc,5514,5514,5514,1985-02-05,551.4000000000568,551.4124,2015-01-01 01:31:54,bin5514,35,False +abc,5515,5515,5515,1985-02-06,551.5000000000568,551.5124,2015-01-01 01:31:55,bin5515,75,False +abc,5516,5516,5516,1985-02-07,551.6000000000569,551.61237,2015-01-01 01:31:56,bin5516,35,False +abc,5517,5517,5517,1985-02-08,551.7000000000569,551.71234,2015-01-01 01:31:57,bin5517,75,False +abc,5518,5518,5518,1985-02-09,551.8000000000569,551.8123,2015-01-01 01:31:58,bin5518,35,False +abc,5519,5519,5519,1985-02-10,551.9000000000569,551.9123,2015-01-01 01:31:59,bin5519,75,False +abc,5520,5520,5520,1985-02-11,552.000000000057,552.01227,2015-01-01 01:32:00,bin5520,35,False +abc,5521,5521,5521,1985-02-12,552.100000000057,552.11224,2015-01-01 01:32:01,bin5521,75,False +abc,5522,5522,5522,1985-02-13,552.200000000057,552.2122,2015-01-01 01:32:02,bin5522,35,False +abc,5523,5523,5523,1985-02-14,552.300000000057,552.3122,2015-01-01 01:32:03,bin5523,75,False +abc,5524,5524,5524,1985-02-15,552.400000000057,552.4122,2015-01-01 01:32:04,bin5524,35,False +abc,5525,5525,5525,1985-02-16,552.5000000000571,552.51215,2015-01-01 01:32:05,bin5525,75,False +abc,5526,5526,5526,1985-02-17,552.6000000000571,552.6121,2015-01-01 01:32:06,bin5526,35,False +abc,5527,5527,5527,1985-02-18,552.7000000000571,552.7121,2015-01-01 01:32:07,bin5527,75,False +abc,5528,5528,5528,1985-02-19,552.8000000000571,552.8121,2015-01-01 01:32:08,bin5528,35,False +abc,5529,5529,5529,1985-02-20,552.9000000000572,552.91205,2015-01-01 01:32:09,bin5529,75,False +abc,5530,5530,5530,1985-02-21,553.0000000000572,553.012,2015-01-01 01:32:10,bin5530,35,False +abc,5531,5531,5531,1985-02-22,553.1000000000572,553.112,2015-01-01 01:32:11,bin5531,75,False +abc,5532,5532,5532,1985-02-23,553.2000000000572,553.212,2015-01-01 01:32:12,bin5532,35,False +abc,5533,5533,5533,1985-02-24,553.3000000000573,553.31195,2015-01-01 01:32:13,bin5533,75,False +abc,5534,5534,5534,1985-02-25,553.4000000000573,553.4119,2015-01-01 01:32:14,bin5534,35,False +abc,5535,5535,5535,1985-02-26,553.5000000000573,553.5119,2015-01-01 01:32:15,bin5535,75,False +abc,5536,5536,5536,1985-02-27,553.6000000000573,553.6119,2015-01-01 01:32:16,bin5536,35,False +abc,5537,5537,5537,1985-02-28,553.7000000000573,553.71185,2015-01-01 01:32:17,bin5537,75,False +abc,5538,5538,5538,1985-03-01,553.8000000000574,553.8118,2015-01-01 01:32:18,bin5538,35,False +abc,5539,5539,5539,1985-03-02,553.9000000000574,553.9118,2015-01-01 01:32:19,bin5539,75,False +abc,5540,5540,5540,1985-03-03,554.0000000000574,554.0118,2015-01-01 01:32:20,bin5540,35,False +abc,5541,5541,5541,1985-03-04,554.1000000000574,554.11176,2015-01-01 01:32:21,bin5541,75,False +abc,5542,5542,5542,1985-03-05,554.2000000000575,554.21173,2015-01-01 01:32:22,bin5542,35,False +abc,5543,5543,5543,1985-03-06,554.3000000000575,554.3117,2015-01-01 01:32:23,bin5543,75,False +abc,5544,5544,5544,1985-03-07,554.4000000000575,554.4117,2015-01-01 01:32:24,bin5544,35,False +abc,5545,5545,5545,1985-03-08,554.5000000000575,554.51166,2015-01-01 01:32:25,bin5545,75,False +abc,5546,5546,5546,1985-03-09,554.6000000000575,554.61163,2015-01-01 01:32:26,bin5546,35,False +abc,5547,5547,5547,1985-03-10,554.7000000000576,554.7116,2015-01-01 01:32:27,bin5547,75,False +abc,5548,5548,5548,1985-03-11,554.8000000000576,554.8116,2015-01-01 01:32:28,bin5548,35,False +abc,5549,5549,5549,1985-03-12,554.9000000000576,554.91156,2015-01-01 01:32:29,bin5549,75,False +abc,5550,5550,5550,1985-03-13,555.0000000000576,555.01154,2015-01-01 01:32:30,bin5550,35,False +abc,5551,5551,5551,1985-03-14,555.1000000000577,555.1115,2015-01-01 01:32:31,bin5551,75,False +abc,5552,5552,5552,1985-03-15,555.2000000000577,555.2115,2015-01-01 01:32:32,bin5552,35,False +abc,5553,5553,5553,1985-03-16,555.3000000000577,555.31146,2015-01-01 01:32:33,bin5553,75,False +abc,5554,5554,5554,1985-03-17,555.4000000000577,555.41144,2015-01-01 01:32:34,bin5554,35,False +abc,5555,5555,5555,1985-03-18,555.5000000000578,555.5114,2015-01-01 01:32:35,bin5555,75,False +abc,5556,5556,5556,1985-03-19,555.6000000000578,555.6114,2015-01-01 01:32:36,bin5556,35,False +abc,5557,5557,5557,1985-03-20,555.7000000000578,555.71136,2015-01-01 01:32:37,bin5557,75,False +abc,5558,5558,5558,1985-03-21,555.8000000000578,555.81134,2015-01-01 01:32:38,bin5558,35,False +abc,5559,5559,5559,1985-03-22,555.9000000000578,555.9113,2015-01-01 01:32:39,bin5559,75,False +abc,5560,5560,5560,1985-03-23,556.0000000000579,556.0113,2015-01-01 01:32:40,bin5560,35,False +abc,5561,5561,5561,1985-03-24,556.1000000000579,556.11127,2015-01-01 01:32:41,bin5561,75,False +abc,5562,5562,5562,1985-03-25,556.2000000000579,556.21124,2015-01-01 01:32:42,bin5562,35,False +abc,5563,5563,5563,1985-03-26,556.3000000000579,556.3112,2015-01-01 01:32:43,bin5563,75,False +abc,5564,5564,5564,1985-03-27,556.400000000058,556.4112,2015-01-01 01:32:44,bin5564,35,False +abc,5565,5565,5565,1985-03-28,556.500000000058,556.51117,2015-01-01 01:32:45,bin5565,75,False +abc,5566,5566,5566,1985-03-29,556.600000000058,556.61115,2015-01-01 01:32:46,bin5566,35,False +abc,5567,5567,5567,1985-03-30,556.700000000058,556.7111,2015-01-01 01:32:47,bin5567,75,False +abc,5568,5568,5568,1985-03-31,556.800000000058,556.8111,2015-01-01 01:32:48,bin5568,35,False +abc,5569,5569,5569,1985-04-01,556.9000000000581,556.9111,2015-01-01 01:32:49,bin5569,75,False +abc,5570,5570,5570,1985-04-02,557.0000000000581,557.01105,2015-01-01 01:32:50,bin5570,35,False +abc,5571,5571,5571,1985-04-03,557.1000000000581,557.111,2015-01-01 01:32:51,bin5571,75,False +abc,5572,5572,5572,1985-04-04,557.2000000000581,557.211,2015-01-01 01:32:52,bin5572,35,False +abc,5573,5573,5573,1985-04-05,557.3000000000582,557.311,2015-01-01 01:32:53,bin5573,75,False +abc,5574,5574,5574,1985-04-06,557.4000000000582,557.41095,2015-01-01 01:32:54,bin5574,35,False +abc,5575,5575,5575,1985-04-07,557.5000000000582,557.5109,2015-01-01 01:32:55,bin5575,75,False +abc,5576,5576,5576,1985-04-08,557.6000000000582,557.6109,2015-01-01 01:32:56,bin5576,35,False +abc,5577,5577,5577,1985-04-09,557.7000000000583,557.7109,2015-01-01 01:32:57,bin5577,75,False +abc,5578,5578,5578,1985-04-10,557.8000000000583,557.81085,2015-01-01 01:32:58,bin5578,35,False +abc,5579,5579,5579,1985-04-11,557.9000000000583,557.9108,2015-01-01 01:32:59,bin5579,75,False +abc,5580,5580,5580,1985-04-12,558.0000000000583,558.0108,2015-01-01 01:33:00,bin5580,35,False +abc,5581,5581,5581,1985-04-13,558.1000000000583,558.1108,2015-01-01 01:33:01,bin5581,75,False +abc,5582,5582,5582,1985-04-14,558.2000000000584,558.21075,2015-01-01 01:33:02,bin5582,35,False +abc,5583,5583,5583,1985-04-15,558.3000000000584,558.3107,2015-01-01 01:33:03,bin5583,75,False +abc,5584,5584,5584,1985-04-16,558.4000000000584,558.4107,2015-01-01 01:33:04,bin5584,35,False +abc,5585,5585,5585,1985-04-17,558.5000000000584,558.5107,2015-01-01 01:33:05,bin5585,75,False +abc,5586,5586,5586,1985-04-18,558.6000000000585,558.61066,2015-01-01 01:33:06,bin5586,35,False +abc,5587,5587,5587,1985-04-19,558.7000000000585,558.71063,2015-01-01 01:33:07,bin5587,75,False +abc,5588,5588,5588,1985-04-20,558.8000000000585,558.8106,2015-01-01 01:33:08,bin5588,35,False +abc,5589,5589,5589,1985-04-21,558.9000000000585,558.9106,2015-01-01 01:33:09,bin5589,75,False +abc,5590,5590,5590,1985-04-22,559.0000000000585,559.01056,2015-01-01 01:33:10,bin5590,35,False +abc,5591,5591,5591,1985-04-23,559.1000000000586,559.11053,2015-01-01 01:33:11,bin5591,75,False +abc,5592,5592,5592,1985-04-24,559.2000000000586,559.2105,2015-01-01 01:33:12,bin5592,35,False +abc,5593,5593,5593,1985-04-25,559.3000000000586,559.3105,2015-01-01 01:33:13,bin5593,75,False +abc,5594,5594,5594,1985-04-26,559.4000000000586,559.41046,2015-01-01 01:33:14,bin5594,35,False +abc,5595,5595,5595,1985-04-27,559.5000000000587,559.51044,2015-01-01 01:33:15,bin5595,75,False +abc,5596,5596,5596,1985-04-28,559.6000000000587,559.6104,2015-01-01 01:33:16,bin5596,35,False +abc,5597,5597,5597,1985-04-29,559.7000000000587,559.7104,2015-01-01 01:33:17,bin5597,75,False +abc,5598,5598,5598,1985-04-30,559.8000000000587,559.81036,2015-01-01 01:33:18,bin5598,35,False +abc,5599,5599,5599,1985-05-01,559.9000000000588,559.91034,2015-01-01 01:33:19,bin5599,75,False +abc,5600,5600,5600,1985-05-02,560.0000000000588,560.0103,2015-01-01 01:33:20,bin5600,35,False +abc,5601,5601,5601,1985-05-03,560.1000000000588,560.1103,2015-01-01 01:33:21,bin5601,75,False +abc,5602,5602,5602,1985-05-04,560.2000000000588,560.21027,2015-01-01 01:33:22,bin5602,35,False +abc,5603,5603,5603,1985-05-05,560.3000000000588,560.31024,2015-01-01 01:33:23,bin5603,75,False +abc,5604,5604,5604,1985-05-06,560.4000000000589,560.4102,2015-01-01 01:33:24,bin5604,35,False +abc,5605,5605,5605,1985-05-07,560.5000000000589,560.5102,2015-01-01 01:33:25,bin5605,75,False +abc,5606,5606,5606,1985-05-08,560.6000000000589,560.61017,2015-01-01 01:33:26,bin5606,35,False +abc,5607,5607,5607,1985-05-09,560.7000000000589,560.71014,2015-01-01 01:33:27,bin5607,75,False +abc,5608,5608,5608,1985-05-10,560.800000000059,560.8101,2015-01-01 01:33:28,bin5608,35,False +abc,5609,5609,5609,1985-05-11,560.900000000059,560.9101,2015-01-01 01:33:29,bin5609,75,False +abc,5610,5610,5610,1985-05-12,561.000000000059,561.0101,2015-01-01 01:33:30,bin5610,35,False +abc,5611,5611,5611,1985-05-13,561.100000000059,561.11005,2015-01-01 01:33:31,bin5611,75,False +abc,5612,5612,5612,1985-05-14,561.200000000059,561.21,2015-01-01 01:33:32,bin5612,35,False +abc,5613,5613,5613,1985-05-15,561.3000000000591,561.31,2015-01-01 01:33:33,bin5613,75,False +abc,5614,5614,5614,1985-05-16,561.4000000000591,561.41,2015-01-01 01:33:34,bin5614,35,False +abc,5615,5615,5615,1985-05-17,561.5000000000591,561.50995,2015-01-01 01:33:35,bin5615,75,False +abc,5616,5616,5616,1985-05-18,561.6000000000591,561.6099,2015-01-01 01:33:36,bin5616,35,False +abc,5617,5617,5617,1985-05-19,561.7000000000592,561.7099,2015-01-01 01:33:37,bin5617,75,False +abc,5618,5618,5618,1985-05-20,561.8000000000592,561.8099,2015-01-01 01:33:38,bin5618,35,False +abc,5619,5619,5619,1985-05-21,561.9000000000592,561.90985,2015-01-01 01:33:39,bin5619,75,False +abc,5620,5620,5620,1985-05-22,562.0000000000592,562.0098,2015-01-01 01:33:40,bin5620,35,False +abc,5621,5621,5621,1985-05-23,562.1000000000593,562.1098,2015-01-01 01:33:41,bin5621,75,False +abc,5622,5622,5622,1985-05-24,562.2000000000593,562.2098,2015-01-01 01:33:42,bin5622,35,False +abc,5623,5623,5623,1985-05-25,562.3000000000593,562.30975,2015-01-01 01:33:43,bin5623,75,False +abc,5624,5624,5624,1985-05-26,562.4000000000593,562.4097,2015-01-01 01:33:44,bin5624,35,False +abc,5625,5625,5625,1985-05-27,562.5000000000593,562.5097,2015-01-01 01:33:45,bin5625,75,False +abc,5626,5626,5626,1985-05-28,562.6000000000594,562.6097,2015-01-01 01:33:46,bin5626,35,False +abc,5627,5627,5627,1985-05-29,562.7000000000594,562.70966,2015-01-01 01:33:47,bin5627,75,False +abc,5628,5628,5628,1985-05-30,562.8000000000594,562.80963,2015-01-01 01:33:48,bin5628,35,False +abc,5629,5629,5629,1985-05-31,562.9000000000594,562.9096,2015-01-01 01:33:49,bin5629,75,False +abc,5630,5630,5630,1985-06-01,563.0000000000595,563.0096,2015-01-01 01:33:50,bin5630,35,False +abc,5631,5631,5631,1985-06-02,563.1000000000595,563.10956,2015-01-01 01:33:51,bin5631,75,False +abc,5632,5632,5632,1985-06-03,563.2000000000595,563.20953,2015-01-01 01:33:52,bin5632,35,False +abc,5633,5633,5633,1985-06-04,563.3000000000595,563.3095,2015-01-01 01:33:53,bin5633,75,False +abc,5634,5634,5634,1985-06-05,563.4000000000595,563.4095,2015-01-01 01:33:54,bin5634,35,False +abc,5635,5635,5635,1985-06-06,563.5000000000596,563.50946,2015-01-01 01:33:55,bin5635,75,False +abc,5636,5636,5636,1985-06-07,563.6000000000596,563.60944,2015-01-01 01:33:56,bin5636,35,False +abc,5637,5637,5637,1985-06-08,563.7000000000596,563.7094,2015-01-01 01:33:57,bin5637,75,False +abc,5638,5638,5638,1985-06-09,563.8000000000596,563.8094,2015-01-01 01:33:58,bin5638,35,False +abc,5639,5639,5639,1985-06-10,563.9000000000597,563.90936,2015-01-01 01:33:59,bin5639,75,False +abc,5640,5640,5640,1985-06-11,564.0000000000597,564.00934,2015-01-01 01:34:00,bin5640,35,False +abc,5641,5641,5641,1985-06-12,564.1000000000597,564.1093,2015-01-01 01:34:01,bin5641,75,False +abc,5642,5642,5642,1985-06-13,564.2000000000597,564.2093,2015-01-01 01:34:02,bin5642,35,False +abc,5643,5643,5643,1985-06-14,564.3000000000598,564.30927,2015-01-01 01:34:03,bin5643,75,False +abc,5644,5644,5644,1985-06-15,564.4000000000598,564.40924,2015-01-01 01:34:04,bin5644,35,False +abc,5645,5645,5645,1985-06-16,564.5000000000598,564.5092,2015-01-01 01:34:05,bin5645,75,False +abc,5646,5646,5646,1985-06-17,564.6000000000598,564.6092,2015-01-01 01:34:06,bin5646,35,False +abc,5647,5647,5647,1985-06-18,564.7000000000598,564.70917,2015-01-01 01:34:07,bin5647,75,False +abc,5648,5648,5648,1985-06-19,564.8000000000599,564.80914,2015-01-01 01:34:08,bin5648,35,False +abc,5649,5649,5649,1985-06-20,564.9000000000599,564.9091,2015-01-01 01:34:09,bin5649,75,False +abc,5650,5650,5650,1985-06-21,565.0000000000599,565.0091,2015-01-01 01:34:10,bin5650,35,False +abc,5651,5651,5651,1985-06-22,565.1000000000599,565.1091,2015-01-01 01:34:11,bin5651,75,False +abc,5652,5652,5652,1985-06-23,565.20000000006,565.20905,2015-01-01 01:34:12,bin5652,35,False +abc,5653,5653,5653,1985-06-24,565.30000000006,565.309,2015-01-01 01:34:13,bin5653,75,False +abc,5654,5654,5654,1985-06-25,565.40000000006,565.409,2015-01-01 01:34:14,bin5654,35,False +abc,5655,5655,5655,1985-06-26,565.50000000006,565.509,2015-01-01 01:34:15,bin5655,75,False +abc,5656,5656,5656,1985-06-27,565.60000000006,565.60895,2015-01-01 01:34:16,bin5656,35,False +abc,5657,5657,5657,1985-06-28,565.7000000000601,565.7089,2015-01-01 01:34:17,bin5657,75,False +abc,5658,5658,5658,1985-06-29,565.8000000000601,565.8089,2015-01-01 01:34:18,bin5658,35,False +abc,5659,5659,5659,1985-06-30,565.9000000000601,565.9089,2015-01-01 01:34:19,bin5659,75,False +abc,5660,5660,5660,1985-07-01,566.0000000000601,566.00885,2015-01-01 01:34:20,bin5660,35,False +abc,5661,5661,5661,1985-07-02,566.1000000000602,566.1088,2015-01-01 01:34:21,bin5661,75,False +abc,5662,5662,5662,1985-07-03,566.2000000000602,566.2088,2015-01-01 01:34:22,bin5662,35,False +abc,5663,5663,5663,1985-07-04,566.3000000000602,566.3088,2015-01-01 01:34:23,bin5663,75,False +abc,5664,5664,5664,1985-07-05,566.4000000000602,566.40875,2015-01-01 01:34:24,bin5664,35,False +abc,5665,5665,5665,1985-07-06,566.5000000000603,566.5087,2015-01-01 01:34:25,bin5665,75,False +abc,5666,5666,5666,1985-07-07,566.6000000000603,566.6087,2015-01-01 01:34:26,bin5666,35,False +abc,5667,5667,5667,1985-07-08,566.7000000000603,566.7087,2015-01-01 01:34:27,bin5667,75,False +abc,5668,5668,5668,1985-07-09,566.8000000000603,566.80865,2015-01-01 01:34:28,bin5668,35,False +abc,5669,5669,5669,1985-07-10,566.9000000000603,566.9086,2015-01-01 01:34:29,bin5669,75,False +abc,5670,5670,5670,1985-07-11,567.0000000000604,567.0086,2015-01-01 01:34:30,bin5670,35,False +abc,5671,5671,5671,1985-07-12,567.1000000000604,567.1086,2015-01-01 01:34:31,bin5671,75,False +abc,5672,5672,5672,1985-07-13,567.2000000000604,567.20856,2015-01-01 01:34:32,bin5672,35,False +abc,5673,5673,5673,1985-07-14,567.3000000000604,567.30853,2015-01-01 01:34:33,bin5673,75,False +abc,5674,5674,5674,1985-07-15,567.4000000000605,567.4085,2015-01-01 01:34:34,bin5674,35,False +abc,5675,5675,5675,1985-07-16,567.5000000000605,567.5085,2015-01-01 01:34:35,bin5675,75,False +abc,5676,5676,5676,1985-07-17,567.6000000000605,567.60846,2015-01-01 01:34:36,bin5676,35,False +abc,5677,5677,5677,1985-07-18,567.7000000000605,567.70844,2015-01-01 01:34:37,bin5677,75,False +abc,5678,5678,5678,1985-07-19,567.8000000000605,567.8084,2015-01-01 01:34:38,bin5678,35,False +abc,5679,5679,5679,1985-07-20,567.9000000000606,567.9084,2015-01-01 01:34:39,bin5679,75,False +abc,5680,5680,5680,1985-07-21,568.0000000000606,568.00836,2015-01-01 01:34:40,bin5680,35,False +abc,5681,5681,5681,1985-07-22,568.1000000000606,568.10834,2015-01-01 01:34:41,bin5681,75,False +abc,5682,5682,5682,1985-07-23,568.2000000000606,568.2083,2015-01-01 01:34:42,bin5682,35,False +abc,5683,5683,5683,1985-07-24,568.3000000000607,568.3083,2015-01-01 01:34:43,bin5683,75,False +abc,5684,5684,5684,1985-07-25,568.4000000000607,568.40826,2015-01-01 01:34:44,bin5684,35,False +abc,5685,5685,5685,1985-07-26,568.5000000000607,568.50824,2015-01-01 01:34:45,bin5685,75,False +abc,5686,5686,5686,1985-07-27,568.6000000000607,568.6082,2015-01-01 01:34:46,bin5686,35,False +abc,5687,5687,5687,1985-07-28,568.7000000000608,568.7082,2015-01-01 01:34:47,bin5687,75,False +abc,5688,5688,5688,1985-07-29,568.8000000000608,568.80817,2015-01-01 01:34:48,bin5688,35,False +abc,5689,5689,5689,1985-07-30,568.9000000000608,568.90814,2015-01-01 01:34:49,bin5689,75,False +abc,5690,5690,5690,1985-07-31,569.0000000000608,569.0081,2015-01-01 01:34:50,bin5690,35,False +abc,5691,5691,5691,1985-08-01,569.1000000000608,569.1081,2015-01-01 01:34:51,bin5691,75,False +abc,5692,5692,5692,1985-08-02,569.2000000000609,569.20807,2015-01-01 01:34:52,bin5692,35,False +abc,5693,5693,5693,1985-08-03,569.3000000000609,569.30804,2015-01-01 01:34:53,bin5693,75,False +abc,5694,5694,5694,1985-08-04,569.4000000000609,569.408,2015-01-01 01:34:54,bin5694,35,False +abc,5695,5695,5695,1985-08-05,569.5000000000609,569.508,2015-01-01 01:34:55,bin5695,75,False +abc,5696,5696,5696,1985-08-06,569.600000000061,569.608,2015-01-01 01:34:56,bin5696,35,False +abc,5697,5697,5697,1985-08-07,569.700000000061,569.70795,2015-01-01 01:34:57,bin5697,75,False +abc,5698,5698,5698,1985-08-08,569.800000000061,569.8079,2015-01-01 01:34:58,bin5698,35,False +abc,5699,5699,5699,1985-08-09,569.900000000061,569.9079,2015-01-01 01:34:59,bin5699,75,False +abc,5700,5700,5700,1985-08-10,570.000000000061,570.0079,2015-01-01 01:35:00,bin5700,35,False +abc,5701,5701,5701,1985-08-11,570.1000000000611,570.10785,2015-01-01 01:35:01,bin5701,75,False +abc,5702,5702,5702,1985-08-12,570.2000000000611,570.2078,2015-01-01 01:35:02,bin5702,35,False +abc,5703,5703,5703,1985-08-13,570.3000000000611,570.3078,2015-01-01 01:35:03,bin5703,75,False +abc,5704,5704,5704,1985-08-14,570.4000000000611,570.4078,2015-01-01 01:35:04,bin5704,35,False +abc,5705,5705,5705,1985-08-15,570.5000000000612,570.50775,2015-01-01 01:35:05,bin5705,75,False +abc,5706,5706,5706,1985-08-16,570.6000000000612,570.6077,2015-01-01 01:35:06,bin5706,35,False +abc,5707,5707,5707,1985-08-17,570.7000000000612,570.7077,2015-01-01 01:35:07,bin5707,75,False +abc,5708,5708,5708,1985-08-18,570.8000000000612,570.8077,2015-01-01 01:35:08,bin5708,35,False +abc,5709,5709,5709,1985-08-19,570.9000000000613,570.90765,2015-01-01 01:35:09,bin5709,75,False +abc,5710,5710,5710,1985-08-20,571.0000000000613,571.0076,2015-01-01 01:35:10,bin5710,35,False +abc,5711,5711,5711,1985-08-21,571.1000000000613,571.1076,2015-01-01 01:35:11,bin5711,75,False +abc,5712,5712,5712,1985-08-22,571.2000000000613,571.2076,2015-01-01 01:35:12,bin5712,35,False +abc,5713,5713,5713,1985-08-23,571.3000000000613,571.30756,2015-01-01 01:35:13,bin5713,75,False +abc,5714,5714,5714,1985-08-24,571.4000000000614,571.40753,2015-01-01 01:35:14,bin5714,35,False +abc,5715,5715,5715,1985-08-25,571.5000000000614,571.5075,2015-01-01 01:35:15,bin5715,75,False +abc,5716,5716,5716,1985-08-26,571.6000000000614,571.6075,2015-01-01 01:35:16,bin5716,35,False +abc,5717,5717,5717,1985-08-27,571.7000000000614,571.70746,2015-01-01 01:35:17,bin5717,75,False +abc,5718,5718,5718,1985-08-28,571.8000000000615,571.80743,2015-01-01 01:35:18,bin5718,35,False +abc,5719,5719,5719,1985-08-29,571.9000000000615,571.9074,2015-01-01 01:35:19,bin5719,75,False +abc,5720,5720,5720,1985-08-30,572.0000000000615,572.0074,2015-01-01 01:35:20,bin5720,35,False +abc,5721,5721,5721,1985-08-31,572.1000000000615,572.10736,2015-01-01 01:35:21,bin5721,75,False +abc,5722,5722,5722,1985-09-01,572.2000000000616,572.20734,2015-01-01 01:35:22,bin5722,35,False +abc,5723,5723,5723,1985-09-02,572.3000000000616,572.3073,2015-01-01 01:35:23,bin5723,75,False +abc,5724,5724,5724,1985-09-03,572.4000000000616,572.4073,2015-01-01 01:35:24,bin5724,35,False +abc,5725,5725,5725,1985-09-04,572.5000000000616,572.50726,2015-01-01 01:35:25,bin5725,75,False +abc,5726,5726,5726,1985-09-05,572.6000000000616,572.60724,2015-01-01 01:35:26,bin5726,35,False +abc,5727,5727,5727,1985-09-06,572.7000000000617,572.7072,2015-01-01 01:35:27,bin5727,75,False +abc,5728,5728,5728,1985-09-07,572.8000000000617,572.8072,2015-01-01 01:35:28,bin5728,35,False +abc,5729,5729,5729,1985-09-08,572.9000000000617,572.90717,2015-01-01 01:35:29,bin5729,75,False +abc,5730,5730,5730,1985-09-09,573.0000000000617,573.00714,2015-01-01 01:35:30,bin5730,35,False +abc,5731,5731,5731,1985-09-10,573.1000000000618,573.1071,2015-01-01 01:35:31,bin5731,75,False +abc,5732,5732,5732,1985-09-11,573.2000000000618,573.2071,2015-01-01 01:35:32,bin5732,35,False +abc,5733,5733,5733,1985-09-12,573.3000000000618,573.30707,2015-01-01 01:35:33,bin5733,75,False +abc,5734,5734,5734,1985-09-13,573.4000000000618,573.40704,2015-01-01 01:35:34,bin5734,35,False +abc,5735,5735,5735,1985-09-14,573.5000000000618,573.507,2015-01-01 01:35:35,bin5735,75,False +abc,5736,5736,5736,1985-09-15,573.6000000000619,573.607,2015-01-01 01:35:36,bin5736,35,False +abc,5737,5737,5737,1985-09-16,573.7000000000619,573.707,2015-01-01 01:35:37,bin5737,75,False +abc,5738,5738,5738,1985-09-17,573.8000000000619,573.80695,2015-01-01 01:35:38,bin5738,35,False +abc,5739,5739,5739,1985-09-18,573.9000000000619,573.9069,2015-01-01 01:35:39,bin5739,75,False +abc,5740,5740,5740,1985-09-19,574.000000000062,574.0069,2015-01-01 01:35:40,bin5740,35,False +abc,5741,5741,5741,1985-09-20,574.100000000062,574.1069,2015-01-01 01:35:41,bin5741,75,False +abc,5742,5742,5742,1985-09-21,574.200000000062,574.20685,2015-01-01 01:35:42,bin5742,35,False +abc,5743,5743,5743,1985-09-22,574.300000000062,574.3068,2015-01-01 01:35:43,bin5743,75,False +abc,5744,5744,5744,1985-09-23,574.400000000062,574.4068,2015-01-01 01:35:44,bin5744,35,False +abc,5745,5745,5745,1985-09-24,574.5000000000621,574.5068,2015-01-01 01:35:45,bin5745,75,False +abc,5746,5746,5746,1985-09-25,574.6000000000621,574.60675,2015-01-01 01:35:46,bin5746,35,False +abc,5747,5747,5747,1985-09-26,574.7000000000621,574.7067,2015-01-01 01:35:47,bin5747,75,False +abc,5748,5748,5748,1985-09-27,574.8000000000621,574.8067,2015-01-01 01:35:48,bin5748,35,False +abc,5749,5749,5749,1985-09-28,574.9000000000622,574.9067,2015-01-01 01:35:49,bin5749,75,False +abc,5750,5750,5750,1985-09-29,575.0000000000622,575.00665,2015-01-01 01:35:50,bin5750,35,False +abc,5751,5751,5751,1985-09-30,575.1000000000622,575.1066,2015-01-01 01:35:51,bin5751,75,False +abc,5752,5752,5752,1985-10-01,575.2000000000622,575.2066,2015-01-01 01:35:52,bin5752,35,False +abc,5753,5753,5753,1985-10-02,575.3000000000623,575.3066,2015-01-01 01:35:53,bin5753,75,False +abc,5754,5754,5754,1985-10-03,575.4000000000623,575.40656,2015-01-01 01:35:54,bin5754,35,False +abc,5755,5755,5755,1985-10-04,575.5000000000623,575.50653,2015-01-01 01:35:55,bin5755,75,False +abc,5756,5756,5756,1985-10-05,575.6000000000623,575.6065,2015-01-01 01:35:56,bin5756,35,False +abc,5757,5757,5757,1985-10-06,575.7000000000623,575.7065,2015-01-01 01:35:57,bin5757,75,False +abc,5758,5758,5758,1985-10-07,575.8000000000624,575.80646,2015-01-01 01:35:58,bin5758,35,False +abc,5759,5759,5759,1985-10-08,575.9000000000624,575.90643,2015-01-01 01:35:59,bin5759,75,False +abc,5760,5760,5760,1985-10-09,576.0000000000624,576.0064,2015-01-01 01:36:00,bin5760,35,False +abc,5761,5761,5761,1985-10-10,576.1000000000624,576.1064,2015-01-01 01:36:01,bin5761,75,False +abc,5762,5762,5762,1985-10-11,576.2000000000625,576.20636,2015-01-01 01:36:02,bin5762,35,False +abc,5763,5763,5763,1985-10-12,576.3000000000625,576.30634,2015-01-01 01:36:03,bin5763,75,False +abc,5764,5764,5764,1985-10-13,576.4000000000625,576.4063,2015-01-01 01:36:04,bin5764,35,False +abc,5765,5765,5765,1985-10-14,576.5000000000625,576.5063,2015-01-01 01:36:05,bin5765,75,False +abc,5766,5766,5766,1985-10-15,576.6000000000626,576.60626,2015-01-01 01:36:06,bin5766,35,False +abc,5767,5767,5767,1985-10-16,576.7000000000626,576.70624,2015-01-01 01:36:07,bin5767,75,False +abc,5768,5768,5768,1985-10-17,576.8000000000626,576.8062,2015-01-01 01:36:08,bin5768,35,False +abc,5769,5769,5769,1985-10-18,576.9000000000626,576.9062,2015-01-01 01:36:09,bin5769,75,False +abc,5770,5770,5770,1985-10-19,577.0000000000626,577.00616,2015-01-01 01:36:10,bin5770,35,False +abc,5771,5771,5771,1985-10-20,577.1000000000627,577.10614,2015-01-01 01:36:11,bin5771,75,False +abc,5772,5772,5772,1985-10-21,577.2000000000627,577.2061,2015-01-01 01:36:12,bin5772,35,False +abc,5773,5773,5773,1985-10-22,577.3000000000627,577.3061,2015-01-01 01:36:13,bin5773,75,False +abc,5774,5774,5774,1985-10-23,577.4000000000627,577.40607,2015-01-01 01:36:14,bin5774,35,False +abc,5775,5775,5775,1985-10-24,577.5000000000628,577.50604,2015-01-01 01:36:15,bin5775,75,False +abc,5776,5776,5776,1985-10-25,577.6000000000628,577.606,2015-01-01 01:36:16,bin5776,35,False +abc,5777,5777,5777,1985-10-26,577.7000000000628,577.706,2015-01-01 01:36:17,bin5777,75,False +abc,5778,5778,5778,1985-10-27,577.8000000000628,577.80597,2015-01-01 01:36:18,bin5778,35,False +abc,5779,5779,5779,1985-10-28,577.9000000000628,577.90594,2015-01-01 01:36:19,bin5779,75,False +abc,5780,5780,5780,1985-10-29,578.0000000000629,578.0059,2015-01-01 01:36:20,bin5780,35,False +abc,5781,5781,5781,1985-10-30,578.1000000000629,578.1059,2015-01-01 01:36:21,bin5781,75,False +abc,5782,5782,5782,1985-10-31,578.2000000000629,578.2059,2015-01-01 01:36:22,bin5782,35,False +abc,5783,5783,5783,1985-11-01,578.3000000000629,578.30585,2015-01-01 01:36:23,bin5783,75,False +abc,5784,5784,5784,1985-11-02,578.400000000063,578.4058,2015-01-01 01:36:24,bin5784,35,False +abc,5785,5785,5785,1985-11-03,578.500000000063,578.5058,2015-01-01 01:36:25,bin5785,75,False +abc,5786,5786,5786,1985-11-04,578.600000000063,578.6058,2015-01-01 01:36:26,bin5786,35,False +abc,5787,5787,5787,1985-11-05,578.700000000063,578.70575,2015-01-01 01:36:27,bin5787,75,False +abc,5788,5788,5788,1985-11-06,578.800000000063,578.8057,2015-01-01 01:36:28,bin5788,35,False +abc,5789,5789,5789,1985-11-07,578.9000000000631,578.9057,2015-01-01 01:36:29,bin5789,75,False +abc,5790,5790,5790,1985-11-08,579.0000000000631,579.0057,2015-01-01 01:36:30,bin5790,35,False +abc,5791,5791,5791,1985-11-09,579.1000000000631,579.10565,2015-01-01 01:36:31,bin5791,75,False +abc,5792,5792,5792,1985-11-10,579.2000000000631,579.2056,2015-01-01 01:36:32,bin5792,35,False +abc,5793,5793,5793,1985-11-11,579.3000000000632,579.3056,2015-01-01 01:36:33,bin5793,75,False +abc,5794,5794,5794,1985-11-12,579.4000000000632,579.4056,2015-01-01 01:36:34,bin5794,35,False +abc,5795,5795,5795,1985-11-13,579.5000000000632,579.50555,2015-01-01 01:36:35,bin5795,75,False +abc,5796,5796,5796,1985-11-14,579.6000000000632,579.6055,2015-01-01 01:36:36,bin5796,35,False +abc,5797,5797,5797,1985-11-15,579.7000000000633,579.7055,2015-01-01 01:36:37,bin5797,75,False +abc,5798,5798,5798,1985-11-16,579.8000000000633,579.8055,2015-01-01 01:36:38,bin5798,35,False +abc,5799,5799,5799,1985-11-17,579.9000000000633,579.90546,2015-01-01 01:36:39,bin5799,75,False +abc,5800,5800,5800,1985-11-18,580.0000000000633,580.00543,2015-01-01 01:36:40,bin5800,35,False +abc,5801,5801,5801,1985-11-19,580.1000000000633,580.1054,2015-01-01 01:36:41,bin5801,75,False +abc,5802,5802,5802,1985-11-20,580.2000000000634,580.2054,2015-01-01 01:36:42,bin5802,35,False +abc,5803,5803,5803,1985-11-21,580.3000000000634,580.30536,2015-01-01 01:36:43,bin5803,75,False +abc,5804,5804,5804,1985-11-22,580.4000000000634,580.40533,2015-01-01 01:36:44,bin5804,35,False +abc,5805,5805,5805,1985-11-23,580.5000000000634,580.5053,2015-01-01 01:36:45,bin5805,75,False +abc,5806,5806,5806,1985-11-24,580.6000000000635,580.6053,2015-01-01 01:36:46,bin5806,35,False +abc,5807,5807,5807,1985-11-25,580.7000000000635,580.70526,2015-01-01 01:36:47,bin5807,75,False +abc,5808,5808,5808,1985-11-26,580.8000000000635,580.80524,2015-01-01 01:36:48,bin5808,35,False +abc,5809,5809,5809,1985-11-27,580.9000000000635,580.9052,2015-01-01 01:36:49,bin5809,75,False +abc,5810,5810,5810,1985-11-28,581.0000000000636,581.0052,2015-01-01 01:36:50,bin5810,35,False +abc,5811,5811,5811,1985-11-29,581.1000000000636,581.10516,2015-01-01 01:36:51,bin5811,75,False +abc,5812,5812,5812,1985-11-30,581.2000000000636,581.20514,2015-01-01 01:36:52,bin5812,35,False +abc,5813,5813,5813,1985-12-01,581.3000000000636,581.3051,2015-01-01 01:36:53,bin5813,75,False +abc,5814,5814,5814,1985-12-02,581.4000000000636,581.4051,2015-01-01 01:36:54,bin5814,35,False +abc,5815,5815,5815,1985-12-03,581.5000000000637,581.50507,2015-01-01 01:36:55,bin5815,75,False +abc,5816,5816,5816,1985-12-04,581.6000000000637,581.60504,2015-01-01 01:36:56,bin5816,35,False +abc,5817,5817,5817,1985-12-05,581.7000000000637,581.705,2015-01-01 01:36:57,bin5817,75,False +abc,5818,5818,5818,1985-12-06,581.8000000000637,581.805,2015-01-01 01:36:58,bin5818,35,False +abc,5819,5819,5819,1985-12-07,581.9000000000638,581.90497,2015-01-01 01:36:59,bin5819,75,False +abc,5820,5820,5820,1985-12-08,582.0000000000638,582.00494,2015-01-01 01:37:00,bin5820,35,False +abc,5821,5821,5821,1985-12-09,582.1000000000638,582.1049,2015-01-01 01:37:01,bin5821,75,False +abc,5822,5822,5822,1985-12-10,582.2000000000638,582.2049,2015-01-01 01:37:02,bin5822,35,False +abc,5823,5823,5823,1985-12-11,582.3000000000638,582.3049,2015-01-01 01:37:03,bin5823,75,False +abc,5824,5824,5824,1985-12-12,582.4000000000639,582.40485,2015-01-01 01:37:04,bin5824,35,False +abc,5825,5825,5825,1985-12-13,582.5000000000639,582.5048,2015-01-01 01:37:05,bin5825,75,False +abc,5826,5826,5826,1985-12-14,582.6000000000639,582.6048,2015-01-01 01:37:06,bin5826,35,False +abc,5827,5827,5827,1985-12-15,582.7000000000639,582.7048,2015-01-01 01:37:07,bin5827,75,False +abc,5828,5828,5828,1985-12-16,582.800000000064,582.80475,2015-01-01 01:37:08,bin5828,35,False +abc,5829,5829,5829,1985-12-17,582.900000000064,582.9047,2015-01-01 01:37:09,bin5829,75,False +abc,5830,5830,5830,1985-12-18,583.000000000064,583.0047,2015-01-01 01:37:10,bin5830,35,False +abc,5831,5831,5831,1985-12-19,583.100000000064,583.1047,2015-01-01 01:37:11,bin5831,75,False +abc,5832,5832,5832,1985-12-20,583.200000000064,583.20465,2015-01-01 01:37:12,bin5832,35,False +abc,5833,5833,5833,1985-12-21,583.3000000000641,583.3046,2015-01-01 01:37:13,bin5833,75,False +abc,5834,5834,5834,1985-12-22,583.4000000000641,583.4046,2015-01-01 01:37:14,bin5834,35,False +abc,5835,5835,5835,1985-12-23,583.5000000000641,583.5046,2015-01-01 01:37:15,bin5835,75,False +abc,5836,5836,5836,1985-12-24,583.6000000000641,583.60455,2015-01-01 01:37:16,bin5836,35,False +abc,5837,5837,5837,1985-12-25,583.7000000000642,583.7045,2015-01-01 01:37:17,bin5837,75,False +abc,5838,5838,5838,1985-12-26,583.8000000000642,583.8045,2015-01-01 01:37:18,bin5838,35,False +abc,5839,5839,5839,1985-12-27,583.9000000000642,583.9045,2015-01-01 01:37:19,bin5839,75,False +abc,5840,5840,5840,1985-12-28,584.0000000000642,584.00446,2015-01-01 01:37:20,bin5840,35,False +abc,5841,5841,5841,1985-12-29,584.1000000000643,584.10443,2015-01-01 01:37:21,bin5841,75,False +abc,5842,5842,5842,1985-12-30,584.2000000000643,584.2044,2015-01-01 01:37:22,bin5842,35,False +abc,5843,5843,5843,1985-12-31,584.3000000000643,584.3044,2015-01-01 01:37:23,bin5843,75,False +abc,5844,5844,5844,1986-01-01,584.4000000000643,584.40436,2015-01-01 01:37:24,bin5844,35,False +abc,5845,5845,5845,1986-01-02,584.5000000000643,584.50433,2015-01-01 01:37:25,bin5845,75,False +abc,5846,5846,5846,1986-01-03,584.6000000000644,584.6043,2015-01-01 01:37:26,bin5846,35,False +abc,5847,5847,5847,1986-01-04,584.7000000000644,584.7043,2015-01-01 01:37:27,bin5847,75,False +abc,5848,5848,5848,1986-01-05,584.8000000000644,584.80426,2015-01-01 01:37:28,bin5848,35,False +abc,5849,5849,5849,1986-01-06,584.9000000000644,584.90424,2015-01-01 01:37:29,bin5849,75,False +abc,5850,5850,5850,1986-01-07,585.0000000000645,585.0042,2015-01-01 01:37:30,bin5850,35,False +abc,5851,5851,5851,1986-01-08,585.1000000000645,585.1042,2015-01-01 01:37:31,bin5851,75,False +abc,5852,5852,5852,1986-01-09,585.2000000000645,585.20416,2015-01-01 01:37:32,bin5852,35,False +abc,5853,5853,5853,1986-01-10,585.3000000000645,585.30414,2015-01-01 01:37:33,bin5853,75,False +abc,5854,5854,5854,1986-01-11,585.4000000000646,585.4041,2015-01-01 01:37:34,bin5854,35,False +abc,5855,5855,5855,1986-01-12,585.5000000000646,585.5041,2015-01-01 01:37:35,bin5855,75,False +abc,5856,5856,5856,1986-01-13,585.6000000000646,585.60406,2015-01-01 01:37:36,bin5856,35,False +abc,5857,5857,5857,1986-01-14,585.7000000000646,585.70404,2015-01-01 01:37:37,bin5857,75,False +abc,5858,5858,5858,1986-01-15,585.8000000000646,585.804,2015-01-01 01:37:38,bin5858,35,False +abc,5859,5859,5859,1986-01-16,585.9000000000647,585.904,2015-01-01 01:37:39,bin5859,75,False +abc,5860,5860,5860,1986-01-17,586.0000000000647,586.00397,2015-01-01 01:37:40,bin5860,35,False +abc,5861,5861,5861,1986-01-18,586.1000000000647,586.10394,2015-01-01 01:37:41,bin5861,75,False +abc,5862,5862,5862,1986-01-19,586.2000000000647,586.2039,2015-01-01 01:37:42,bin5862,35,False +abc,5863,5863,5863,1986-01-20,586.3000000000648,586.3039,2015-01-01 01:37:43,bin5863,75,False +abc,5864,5864,5864,1986-01-21,586.4000000000648,586.4039,2015-01-01 01:37:44,bin5864,35,False +abc,5865,5865,5865,1986-01-22,586.5000000000648,586.50385,2015-01-01 01:37:45,bin5865,75,False +abc,5866,5866,5866,1986-01-23,586.6000000000648,586.6038,2015-01-01 01:37:46,bin5866,35,False +abc,5867,5867,5867,1986-01-24,586.7000000000648,586.7038,2015-01-01 01:37:47,bin5867,75,False +abc,5868,5868,5868,1986-01-25,586.8000000000649,586.8038,2015-01-01 01:37:48,bin5868,35,False +abc,5869,5869,5869,1986-01-26,586.9000000000649,586.90375,2015-01-01 01:37:49,bin5869,75,False +abc,5870,5870,5870,1986-01-27,587.0000000000649,587.0037,2015-01-01 01:37:50,bin5870,35,False +abc,5871,5871,5871,1986-01-28,587.1000000000649,587.1037,2015-01-01 01:37:51,bin5871,75,False +abc,5872,5872,5872,1986-01-29,587.200000000065,587.2037,2015-01-01 01:37:52,bin5872,35,False +abc,5873,5873,5873,1986-01-30,587.300000000065,587.30365,2015-01-01 01:37:53,bin5873,75,False +abc,5874,5874,5874,1986-01-31,587.400000000065,587.4036,2015-01-01 01:37:54,bin5874,35,False +abc,5875,5875,5875,1986-02-01,587.500000000065,587.5036,2015-01-01 01:37:55,bin5875,75,False +abc,5876,5876,5876,1986-02-02,587.600000000065,587.6036,2015-01-01 01:37:56,bin5876,35,False +abc,5877,5877,5877,1986-02-03,587.7000000000651,587.70355,2015-01-01 01:37:57,bin5877,75,False +abc,5878,5878,5878,1986-02-04,587.8000000000651,587.8035,2015-01-01 01:37:58,bin5878,35,False +abc,5879,5879,5879,1986-02-05,587.9000000000651,587.9035,2015-01-01 01:37:59,bin5879,75,False +abc,5880,5880,5880,1986-02-06,588.0000000000651,588.0035,2015-01-01 01:38:00,bin5880,35,False +abc,5881,5881,5881,1986-02-07,588.1000000000652,588.10345,2015-01-01 01:38:01,bin5881,75,False +abc,5882,5882,5882,1986-02-08,588.2000000000652,588.2034,2015-01-01 01:38:02,bin5882,35,False +abc,5883,5883,5883,1986-02-09,588.3000000000652,588.3034,2015-01-01 01:38:03,bin5883,75,False +abc,5884,5884,5884,1986-02-10,588.4000000000652,588.4034,2015-01-01 01:38:04,bin5884,35,False +abc,5885,5885,5885,1986-02-11,588.5000000000653,588.50336,2015-01-01 01:38:05,bin5885,75,False +abc,5886,5886,5886,1986-02-12,588.6000000000653,588.60333,2015-01-01 01:38:06,bin5886,35,False +abc,5887,5887,5887,1986-02-13,588.7000000000653,588.7033,2015-01-01 01:38:07,bin5887,75,False +abc,5888,5888,5888,1986-02-14,588.8000000000653,588.8033,2015-01-01 01:38:08,bin5888,35,False +abc,5889,5889,5889,1986-02-15,588.9000000000653,588.90326,2015-01-01 01:38:09,bin5889,75,False +abc,5890,5890,5890,1986-02-16,589.0000000000654,589.00323,2015-01-01 01:38:10,bin5890,35,False +abc,5891,5891,5891,1986-02-17,589.1000000000654,589.1032,2015-01-01 01:38:11,bin5891,75,False +abc,5892,5892,5892,1986-02-18,589.2000000000654,589.2032,2015-01-01 01:38:12,bin5892,35,False +abc,5893,5893,5893,1986-02-19,589.3000000000654,589.30316,2015-01-01 01:38:13,bin5893,75,False +abc,5894,5894,5894,1986-02-20,589.4000000000655,589.40314,2015-01-01 01:38:14,bin5894,35,False +abc,5895,5895,5895,1986-02-21,589.5000000000655,589.5031,2015-01-01 01:38:15,bin5895,75,False +abc,5896,5896,5896,1986-02-22,589.6000000000655,589.6031,2015-01-01 01:38:16,bin5896,35,False +abc,5897,5897,5897,1986-02-23,589.7000000000655,589.70306,2015-01-01 01:38:17,bin5897,75,False +abc,5898,5898,5898,1986-02-24,589.8000000000656,589.80304,2015-01-01 01:38:18,bin5898,35,False +abc,5899,5899,5899,1986-02-25,589.9000000000656,589.903,2015-01-01 01:38:19,bin5899,75,False +abc,5900,5900,5900,1986-02-26,590.0000000000656,590.003,2015-01-01 01:38:20,bin5900,35,False +abc,5901,5901,5901,1986-02-27,590.1000000000656,590.10297,2015-01-01 01:38:21,bin5901,75,False +abc,5902,5902,5902,1986-02-28,590.2000000000656,590.20294,2015-01-01 01:38:22,bin5902,35,False +abc,5903,5903,5903,1986-03-01,590.3000000000657,590.3029,2015-01-01 01:38:23,bin5903,75,False +abc,5904,5904,5904,1986-03-02,590.4000000000657,590.4029,2015-01-01 01:38:24,bin5904,35,False +abc,5905,5905,5905,1986-03-03,590.5000000000657,590.50287,2015-01-01 01:38:25,bin5905,75,False +abc,5906,5906,5906,1986-03-04,590.6000000000657,590.60284,2015-01-01 01:38:26,bin5906,35,False +abc,5907,5907,5907,1986-03-05,590.7000000000658,590.7028,2015-01-01 01:38:27,bin5907,75,False +abc,5908,5908,5908,1986-03-06,590.8000000000658,590.8028,2015-01-01 01:38:28,bin5908,35,False +abc,5909,5909,5909,1986-03-07,590.9000000000658,590.9028,2015-01-01 01:38:29,bin5909,75,False +abc,5910,5910,5910,1986-03-08,591.0000000000658,591.00275,2015-01-01 01:38:30,bin5910,35,False +abc,5911,5911,5911,1986-03-09,591.1000000000658,591.1027,2015-01-01 01:38:31,bin5911,75,False +abc,5912,5912,5912,1986-03-10,591.2000000000659,591.2027,2015-01-01 01:38:32,bin5912,35,False +abc,5913,5913,5913,1986-03-11,591.3000000000659,591.3027,2015-01-01 01:38:33,bin5913,75,False +abc,5914,5914,5914,1986-03-12,591.4000000000659,591.40265,2015-01-01 01:38:34,bin5914,35,False +abc,5915,5915,5915,1986-03-13,591.5000000000659,591.5026,2015-01-01 01:38:35,bin5915,75,False +abc,5916,5916,5916,1986-03-14,591.600000000066,591.6026,2015-01-01 01:38:36,bin5916,35,False +abc,5917,5917,5917,1986-03-15,591.700000000066,591.7026,2015-01-01 01:38:37,bin5917,75,False +abc,5918,5918,5918,1986-03-16,591.800000000066,591.80255,2015-01-01 01:38:38,bin5918,35,False +abc,5919,5919,5919,1986-03-17,591.900000000066,591.9025,2015-01-01 01:38:39,bin5919,75,False +abc,5920,5920,5920,1986-03-18,592.000000000066,592.0025,2015-01-01 01:38:40,bin5920,35,False +abc,5921,5921,5921,1986-03-19,592.1000000000661,592.1025,2015-01-01 01:38:41,bin5921,75,False +abc,5922,5922,5922,1986-03-20,592.2000000000661,592.20245,2015-01-01 01:38:42,bin5922,35,False +abc,5923,5923,5923,1986-03-21,592.3000000000661,592.3024,2015-01-01 01:38:43,bin5923,75,False +abc,5924,5924,5924,1986-03-22,592.4000000000661,592.4024,2015-01-01 01:38:44,bin5924,35,False +abc,5925,5925,5925,1986-03-23,592.5000000000662,592.5024,2015-01-01 01:38:45,bin5925,75,False +abc,5926,5926,5926,1986-03-24,592.6000000000662,592.60236,2015-01-01 01:38:46,bin5926,35,False +abc,5927,5927,5927,1986-03-25,592.7000000000662,592.70233,2015-01-01 01:38:47,bin5927,75,False +abc,5928,5928,5928,1986-03-26,592.8000000000662,592.8023,2015-01-01 01:38:48,bin5928,35,False +abc,5929,5929,5929,1986-03-27,592.9000000000663,592.9023,2015-01-01 01:38:49,bin5929,75,False +abc,5930,5930,5930,1986-03-28,593.0000000000663,593.00226,2015-01-01 01:38:50,bin5930,35,False +abc,5931,5931,5931,1986-03-29,593.1000000000663,593.10223,2015-01-01 01:38:51,bin5931,75,False +abc,5932,5932,5932,1986-03-30,593.2000000000663,593.2022,2015-01-01 01:38:52,bin5932,35,False +abc,5933,5933,5933,1986-03-31,593.3000000000663,593.3022,2015-01-01 01:38:53,bin5933,75,False +abc,5934,5934,5934,1986-04-01,593.4000000000664,593.40216,2015-01-01 01:38:54,bin5934,35,False +abc,5935,5935,5935,1986-04-02,593.5000000000664,593.50214,2015-01-01 01:38:55,bin5935,75,False +abc,5936,5936,5936,1986-04-03,593.6000000000664,593.6021,2015-01-01 01:38:56,bin5936,35,False +abc,5937,5937,5937,1986-04-04,593.7000000000664,593.7021,2015-01-01 01:38:57,bin5937,75,False +abc,5938,5938,5938,1986-04-05,593.8000000000665,593.80206,2015-01-01 01:38:58,bin5938,35,False +abc,5939,5939,5939,1986-04-06,593.9000000000665,593.90204,2015-01-01 01:38:59,bin5939,75,False +abc,5940,5940,5940,1986-04-07,594.0000000000665,594.002,2015-01-01 01:39:00,bin5940,35,False +abc,5941,5941,5941,1986-04-08,594.1000000000665,594.102,2015-01-01 01:39:01,bin5941,75,False +abc,5942,5942,5942,1986-04-09,594.2000000000666,594.20197,2015-01-01 01:39:02,bin5942,35,False +abc,5943,5943,5943,1986-04-10,594.3000000000666,594.30194,2015-01-01 01:39:03,bin5943,75,False +abc,5944,5944,5944,1986-04-11,594.4000000000666,594.4019,2015-01-01 01:39:04,bin5944,35,False +abc,5945,5945,5945,1986-04-12,594.5000000000666,594.5019,2015-01-01 01:39:05,bin5945,75,False +abc,5946,5946,5946,1986-04-13,594.6000000000666,594.60187,2015-01-01 01:39:06,bin5946,35,False +abc,5947,5947,5947,1986-04-14,594.7000000000667,594.70184,2015-01-01 01:39:07,bin5947,75,False +abc,5948,5948,5948,1986-04-15,594.8000000000667,594.8018,2015-01-01 01:39:08,bin5948,35,False +abc,5949,5949,5949,1986-04-16,594.9000000000667,594.9018,2015-01-01 01:39:09,bin5949,75,False +abc,5950,5950,5950,1986-04-17,595.0000000000667,595.0018,2015-01-01 01:39:10,bin5950,35,False +abc,5951,5951,5951,1986-04-18,595.1000000000668,595.10175,2015-01-01 01:39:11,bin5951,75,False +abc,5952,5952,5952,1986-04-19,595.2000000000668,595.2017,2015-01-01 01:39:12,bin5952,35,False +abc,5953,5953,5953,1986-04-20,595.3000000000668,595.3017,2015-01-01 01:39:13,bin5953,75,False +abc,5954,5954,5954,1986-04-21,595.4000000000668,595.4017,2015-01-01 01:39:14,bin5954,35,False +abc,5955,5955,5955,1986-04-22,595.5000000000668,595.50165,2015-01-01 01:39:15,bin5955,75,False +abc,5956,5956,5956,1986-04-23,595.6000000000669,595.6016,2015-01-01 01:39:16,bin5956,35,False +abc,5957,5957,5957,1986-04-24,595.7000000000669,595.7016,2015-01-01 01:39:17,bin5957,75,False +abc,5958,5958,5958,1986-04-25,595.8000000000669,595.8016,2015-01-01 01:39:18,bin5958,35,False +abc,5959,5959,5959,1986-04-26,595.9000000000669,595.90155,2015-01-01 01:39:19,bin5959,75,False +abc,5960,5960,5960,1986-04-27,596.000000000067,596.0015,2015-01-01 01:39:20,bin5960,35,False +abc,5961,5961,5961,1986-04-28,596.100000000067,596.1015,2015-01-01 01:39:21,bin5961,75,False +abc,5962,5962,5962,1986-04-29,596.200000000067,596.2015,2015-01-01 01:39:22,bin5962,35,False +abc,5963,5963,5963,1986-04-30,596.300000000067,596.30145,2015-01-01 01:39:23,bin5963,75,False +abc,5964,5964,5964,1986-05-01,596.400000000067,596.4014,2015-01-01 01:39:24,bin5964,35,False +abc,5965,5965,5965,1986-05-02,596.5000000000671,596.5014,2015-01-01 01:39:25,bin5965,75,False +abc,5966,5966,5966,1986-05-03,596.6000000000671,596.6014,2015-01-01 01:39:26,bin5966,35,False +abc,5967,5967,5967,1986-05-04,596.7000000000671,596.70135,2015-01-01 01:39:27,bin5967,75,False +abc,5968,5968,5968,1986-05-05,596.8000000000671,596.80133,2015-01-01 01:39:28,bin5968,35,False +abc,5969,5969,5969,1986-05-06,596.9000000000672,596.9013,2015-01-01 01:39:29,bin5969,75,False +abc,5970,5970,5970,1986-05-07,597.0000000000672,597.0013,2015-01-01 01:39:30,bin5970,35,False +abc,5971,5971,5971,1986-05-08,597.1000000000672,597.10126,2015-01-01 01:39:31,bin5971,75,False +abc,5972,5972,5972,1986-05-09,597.2000000000672,597.20123,2015-01-01 01:39:32,bin5972,35,False +abc,5973,5973,5973,1986-05-10,597.3000000000673,597.3012,2015-01-01 01:39:33,bin5973,75,False +abc,5974,5974,5974,1986-05-11,597.4000000000673,597.4012,2015-01-01 01:39:34,bin5974,35,False +abc,5975,5975,5975,1986-05-12,597.5000000000673,597.50116,2015-01-01 01:39:35,bin5975,75,False +abc,5976,5976,5976,1986-05-13,597.6000000000673,597.60114,2015-01-01 01:39:36,bin5976,35,False +abc,5977,5977,5977,1986-05-14,597.7000000000673,597.7011,2015-01-01 01:39:37,bin5977,75,False +abc,5978,5978,5978,1986-05-15,597.8000000000674,597.8011,2015-01-01 01:39:38,bin5978,35,False +abc,5979,5979,5979,1986-05-16,597.9000000000674,597.90106,2015-01-01 01:39:39,bin5979,75,False +abc,5980,5980,5980,1986-05-17,598.0000000000674,598.00104,2015-01-01 01:39:40,bin5980,35,False +abc,5981,5981,5981,1986-05-18,598.1000000000674,598.101,2015-01-01 01:39:41,bin5981,75,False +abc,5982,5982,5982,1986-05-19,598.2000000000675,598.201,2015-01-01 01:39:42,bin5982,35,False +abc,5983,5983,5983,1986-05-20,598.3000000000675,598.30096,2015-01-01 01:39:43,bin5983,75,False +abc,5984,5984,5984,1986-05-21,598.4000000000675,598.40094,2015-01-01 01:39:44,bin5984,35,False +abc,5985,5985,5985,1986-05-22,598.5000000000675,598.5009,2015-01-01 01:39:45,bin5985,75,False +abc,5986,5986,5986,1986-05-23,598.6000000000676,598.6009,2015-01-01 01:39:46,bin5986,35,False +abc,5987,5987,5987,1986-05-24,598.7000000000676,598.70087,2015-01-01 01:39:47,bin5987,75,False +abc,5988,5988,5988,1986-05-25,598.8000000000676,598.80084,2015-01-01 01:39:48,bin5988,35,False +abc,5989,5989,5989,1986-05-26,598.9000000000676,598.9008,2015-01-01 01:39:49,bin5989,75,False +abc,5990,5990,5990,1986-05-27,599.0000000000676,599.0008,2015-01-01 01:39:50,bin5990,35,False +abc,5991,5991,5991,1986-05-28,599.1000000000677,599.10077,2015-01-01 01:39:51,bin5991,75,False +abc,5992,5992,5992,1986-05-29,599.2000000000677,599.20074,2015-01-01 01:39:52,bin5992,35,False +abc,5993,5993,5993,1986-05-30,599.3000000000677,599.3007,2015-01-01 01:39:53,bin5993,75,False +abc,5994,5994,5994,1986-05-31,599.4000000000677,599.4007,2015-01-01 01:39:54,bin5994,35,False +abc,5995,5995,5995,1986-06-01,599.5000000000678,599.5007,2015-01-01 01:39:55,bin5995,75,False +abc,5996,5996,5996,1986-06-02,599.6000000000678,599.60065,2015-01-01 01:39:56,bin5996,35,False +abc,5997,5997,5997,1986-06-03,599.7000000000678,599.7006,2015-01-01 01:39:57,bin5997,75,False +abc,5998,5998,5998,1986-06-04,599.8000000000678,599.8006,2015-01-01 01:39:58,bin5998,35,False +abc,5999,5999,5999,1986-06-05,599.9000000000678,599.9006,2015-01-01 01:39:59,bin5999,75,False +abc,6000,6000,6000,1986-06-06,600.0000000000679,600.00055,2015-01-01 01:40:00,bin6000,35,False +abc,6001,6001,6001,1986-06-07,600.1000000000679,600.1005,2015-01-01 01:40:01,bin6001,75,False +abc,6002,6002,6002,1986-06-08,600.2000000000679,600.2005,2015-01-01 01:40:02,bin6002,35,False +abc,6003,6003,6003,1986-06-09,600.3000000000679,600.3005,2015-01-01 01:40:03,bin6003,75,False +abc,6004,6004,6004,1986-06-10,600.400000000068,600.40045,2015-01-01 01:40:04,bin6004,35,False +abc,6005,6005,6005,1986-06-11,600.500000000068,600.5004,2015-01-01 01:40:05,bin6005,75,False +abc,6006,6006,6006,1986-06-12,600.600000000068,600.6004,2015-01-01 01:40:06,bin6006,35,False +abc,6007,6007,6007,1986-06-13,600.700000000068,600.7004,2015-01-01 01:40:07,bin6007,75,False +abc,6008,6008,6008,1986-06-14,600.800000000068,600.80035,2015-01-01 01:40:08,bin6008,35,False +abc,6009,6009,6009,1986-06-15,600.9000000000681,600.9003,2015-01-01 01:40:09,bin6009,75,False +abc,6010,6010,6010,1986-06-16,601.0000000000681,601.0003,2015-01-01 01:40:10,bin6010,35,False +abc,6011,6011,6011,1986-06-17,601.1000000000681,601.1003,2015-01-01 01:40:11,bin6011,75,False +abc,6012,6012,6012,1986-06-18,601.2000000000681,601.20026,2015-01-01 01:40:12,bin6012,35,False +abc,6013,6013,6013,1986-06-19,601.3000000000682,601.30023,2015-01-01 01:40:13,bin6013,75,False +abc,6014,6014,6014,1986-06-20,601.4000000000682,601.4002,2015-01-01 01:40:14,bin6014,35,False +abc,6015,6015,6015,1986-06-21,601.5000000000682,601.5002,2015-01-01 01:40:15,bin6015,75,False +abc,6016,6016,6016,1986-06-22,601.6000000000682,601.60016,2015-01-01 01:40:16,bin6016,35,False +abc,6017,6017,6017,1986-06-23,601.7000000000683,601.70013,2015-01-01 01:40:17,bin6017,75,False +abc,6018,6018,6018,1986-06-24,601.8000000000683,601.8001,2015-01-01 01:40:18,bin6018,35,False +abc,6019,6019,6019,1986-06-25,601.9000000000683,601.9001,2015-01-01 01:40:19,bin6019,75,False +abc,6020,6020,6020,1986-06-26,602.0000000000683,602.00006,2015-01-01 01:40:20,bin6020,35,False +abc,6021,6021,6021,1986-06-27,602.1000000000683,602.10004,2015-01-01 01:40:21,bin6021,75,False +abc,6022,6022,6022,1986-06-28,602.2000000000684,602.2,2015-01-01 01:40:22,bin6022,35,False +abc,6023,6023,6023,1986-06-29,602.3000000000684,602.3,2015-01-01 01:40:23,bin6023,75,False +abc,6024,6024,6024,1986-06-30,602.4000000000684,602.39996,2015-01-01 01:40:24,bin6024,35,False +abc,6025,6025,6025,1986-07-01,602.5000000000684,602.49994,2015-01-01 01:40:25,bin6025,75,False +abc,6026,6026,6026,1986-07-02,602.6000000000685,602.5999,2015-01-01 01:40:26,bin6026,35,False +abc,6027,6027,6027,1986-07-03,602.7000000000685,602.6999,2015-01-01 01:40:27,bin6027,75,False +abc,6028,6028,6028,1986-07-04,602.8000000000685,602.79987,2015-01-01 01:40:28,bin6028,35,False +abc,6029,6029,6029,1986-07-05,602.9000000000685,602.89984,2015-01-01 01:40:29,bin6029,75,False +abc,6030,6030,6030,1986-07-06,603.0000000000686,602.9998,2015-01-01 01:40:30,bin6030,35,False +abc,6031,6031,6031,1986-07-07,603.1000000000686,603.0998,2015-01-01 01:40:31,bin6031,75,False +abc,6032,6032,6032,1986-07-08,603.2000000000686,603.19977,2015-01-01 01:40:32,bin6032,35,False +abc,6033,6033,6033,1986-07-09,603.3000000000686,603.29974,2015-01-01 01:40:33,bin6033,75,False +abc,6034,6034,6034,1986-07-10,603.4000000000686,603.3997,2015-01-01 01:40:34,bin6034,35,False +abc,6035,6035,6035,1986-07-11,603.5000000000687,603.4997,2015-01-01 01:40:35,bin6035,75,False +abc,6036,6036,6036,1986-07-12,603.6000000000687,603.5997,2015-01-01 01:40:36,bin6036,35,False +abc,6037,6037,6037,1986-07-13,603.7000000000687,603.69965,2015-01-01 01:40:37,bin6037,75,False +abc,6038,6038,6038,1986-07-14,603.8000000000687,603.7996,2015-01-01 01:40:38,bin6038,35,False +abc,6039,6039,6039,1986-07-15,603.9000000000688,603.8996,2015-01-01 01:40:39,bin6039,75,False +abc,6040,6040,6040,1986-07-16,604.0000000000688,603.9996,2015-01-01 01:40:40,bin6040,35,False +abc,6041,6041,6041,1986-07-17,604.1000000000688,604.09955,2015-01-01 01:40:41,bin6041,75,False +abc,6042,6042,6042,1986-07-18,604.2000000000688,604.1995,2015-01-01 01:40:42,bin6042,35,False +abc,6043,6043,6043,1986-07-19,604.3000000000688,604.2995,2015-01-01 01:40:43,bin6043,75,False +abc,6044,6044,6044,1986-07-20,604.4000000000689,604.3995,2015-01-01 01:40:44,bin6044,35,False +abc,6045,6045,6045,1986-07-21,604.5000000000689,604.49945,2015-01-01 01:40:45,bin6045,75,False +abc,6046,6046,6046,1986-07-22,604.6000000000689,604.5994,2015-01-01 01:40:46,bin6046,35,False +abc,6047,6047,6047,1986-07-23,604.7000000000689,604.6994,2015-01-01 01:40:47,bin6047,75,False +abc,6048,6048,6048,1986-07-24,604.800000000069,604.7994,2015-01-01 01:40:48,bin6048,35,False +abc,6049,6049,6049,1986-07-25,604.900000000069,604.89935,2015-01-01 01:40:49,bin6049,75,False +abc,6050,6050,6050,1986-07-26,605.000000000069,604.9993,2015-01-01 01:40:50,bin6050,35,False +abc,6051,6051,6051,1986-07-27,605.100000000069,605.0993,2015-01-01 01:40:51,bin6051,75,False +abc,6052,6052,6052,1986-07-28,605.200000000069,605.1993,2015-01-01 01:40:52,bin6052,35,False +abc,6053,6053,6053,1986-07-29,605.3000000000691,605.29926,2015-01-01 01:40:53,bin6053,75,False +abc,6054,6054,6054,1986-07-30,605.4000000000691,605.39923,2015-01-01 01:40:54,bin6054,35,False +abc,6055,6055,6055,1986-07-31,605.5000000000691,605.4992,2015-01-01 01:40:55,bin6055,75,False +abc,6056,6056,6056,1986-08-01,605.6000000000691,605.5992,2015-01-01 01:40:56,bin6056,35,False +abc,6057,6057,6057,1986-08-02,605.7000000000692,605.69916,2015-01-01 01:40:57,bin6057,75,False +abc,6058,6058,6058,1986-08-03,605.8000000000692,605.79913,2015-01-01 01:40:58,bin6058,35,False +abc,6059,6059,6059,1986-08-04,605.9000000000692,605.8991,2015-01-01 01:40:59,bin6059,75,False +abc,6060,6060,6060,1986-08-05,606.0000000000692,605.9991,2015-01-01 01:41:00,bin6060,35,False +abc,6061,6061,6061,1986-08-06,606.1000000000693,606.09906,2015-01-01 01:41:01,bin6061,75,False +abc,6062,6062,6062,1986-08-07,606.2000000000693,606.19904,2015-01-01 01:41:02,bin6062,35,False +abc,6063,6063,6063,1986-08-08,606.3000000000693,606.299,2015-01-01 01:41:03,bin6063,75,False +abc,6064,6064,6064,1986-08-09,606.4000000000693,606.399,2015-01-01 01:41:04,bin6064,35,False +abc,6065,6065,6065,1986-08-10,606.5000000000693,606.49896,2015-01-01 01:41:05,bin6065,75,False +abc,6066,6066,6066,1986-08-11,606.6000000000694,606.59894,2015-01-01 01:41:06,bin6066,35,False +abc,6067,6067,6067,1986-08-12,606.7000000000694,606.6989,2015-01-01 01:41:07,bin6067,75,False +abc,6068,6068,6068,1986-08-13,606.8000000000694,606.7989,2015-01-01 01:41:08,bin6068,35,False +abc,6069,6069,6069,1986-08-14,606.9000000000694,606.89886,2015-01-01 01:41:09,bin6069,75,False +abc,6070,6070,6070,1986-08-15,607.0000000000695,606.99884,2015-01-01 01:41:10,bin6070,35,False +abc,6071,6071,6071,1986-08-16,607.1000000000695,607.0988,2015-01-01 01:41:11,bin6071,75,False +abc,6072,6072,6072,1986-08-17,607.2000000000695,607.1988,2015-01-01 01:41:12,bin6072,35,False +abc,6073,6073,6073,1986-08-18,607.3000000000695,607.29877,2015-01-01 01:41:13,bin6073,75,False +abc,6074,6074,6074,1986-08-19,607.4000000000696,607.39874,2015-01-01 01:41:14,bin6074,35,False +abc,6075,6075,6075,1986-08-20,607.5000000000696,607.4987,2015-01-01 01:41:15,bin6075,75,False +abc,6076,6076,6076,1986-08-21,607.6000000000696,607.5987,2015-01-01 01:41:16,bin6076,35,False +abc,6077,6077,6077,1986-08-22,607.7000000000696,607.69867,2015-01-01 01:41:17,bin6077,75,False +abc,6078,6078,6078,1986-08-23,607.8000000000696,607.79865,2015-01-01 01:41:18,bin6078,35,False +abc,6079,6079,6079,1986-08-24,607.9000000000697,607.8986,2015-01-01 01:41:19,bin6079,75,False +abc,6080,6080,6080,1986-08-25,608.0000000000697,607.9986,2015-01-01 01:41:20,bin6080,35,False +abc,6081,6081,6081,1986-08-26,608.1000000000697,608.0986,2015-01-01 01:41:21,bin6081,75,False +abc,6082,6082,6082,1986-08-27,608.2000000000697,608.19855,2015-01-01 01:41:22,bin6082,35,False +abc,6083,6083,6083,1986-08-28,608.3000000000698,608.2985,2015-01-01 01:41:23,bin6083,75,False +abc,6084,6084,6084,1986-08-29,608.4000000000698,608.3985,2015-01-01 01:41:24,bin6084,35,False +abc,6085,6085,6085,1986-08-30,608.5000000000698,608.4985,2015-01-01 01:41:25,bin6085,75,False +abc,6086,6086,6086,1986-08-31,608.6000000000698,608.59845,2015-01-01 01:41:26,bin6086,35,False +abc,6087,6087,6087,1986-09-01,608.7000000000698,608.6984,2015-01-01 01:41:27,bin6087,75,False +abc,6088,6088,6088,1986-09-02,608.8000000000699,608.7984,2015-01-01 01:41:28,bin6088,35,False +abc,6089,6089,6089,1986-09-03,608.9000000000699,608.8984,2015-01-01 01:41:29,bin6089,75,False +abc,6090,6090,6090,1986-09-04,609.0000000000699,608.99835,2015-01-01 01:41:30,bin6090,35,False +abc,6091,6091,6091,1986-09-05,609.1000000000699,609.0983,2015-01-01 01:41:31,bin6091,75,False +abc,6092,6092,6092,1986-09-06,609.20000000007,609.1983,2015-01-01 01:41:32,bin6092,35,False +abc,6093,6093,6093,1986-09-07,609.30000000007,609.2983,2015-01-01 01:41:33,bin6093,75,False +abc,6094,6094,6094,1986-09-08,609.40000000007,609.39825,2015-01-01 01:41:34,bin6094,35,False +abc,6095,6095,6095,1986-09-09,609.50000000007,609.4982,2015-01-01 01:41:35,bin6095,75,False +abc,6096,6096,6096,1986-09-10,609.60000000007,609.5982,2015-01-01 01:41:36,bin6096,35,False +abc,6097,6097,6097,1986-09-11,609.7000000000701,609.6982,2015-01-01 01:41:37,bin6097,75,False +abc,6098,6098,6098,1986-09-12,609.8000000000701,609.79816,2015-01-01 01:41:38,bin6098,35,False +abc,6099,6099,6099,1986-09-13,609.9000000000701,609.89813,2015-01-01 01:41:39,bin6099,75,False +abc,6100,6100,6100,1986-09-14,610.0000000000701,609.9981,2015-01-01 01:41:40,bin6100,35,False +abc,6101,6101,6101,1986-09-15,610.1000000000702,610.0981,2015-01-01 01:41:41,bin6101,75,False +abc,6102,6102,6102,1986-09-16,610.2000000000702,610.19806,2015-01-01 01:41:42,bin6102,35,False +abc,6103,6103,6103,1986-09-17,610.3000000000702,610.29803,2015-01-01 01:41:43,bin6103,75,False +abc,6104,6104,6104,1986-09-18,610.4000000000702,610.398,2015-01-01 01:41:44,bin6104,35,False +abc,6105,6105,6105,1986-09-19,610.5000000000703,610.498,2015-01-01 01:41:45,bin6105,75,False +abc,6106,6106,6106,1986-09-20,610.6000000000703,610.59796,2015-01-01 01:41:46,bin6106,35,False +abc,6107,6107,6107,1986-09-21,610.7000000000703,610.69794,2015-01-01 01:41:47,bin6107,75,False +abc,6108,6108,6108,1986-09-22,610.8000000000703,610.7979,2015-01-01 01:41:48,bin6108,35,False +abc,6109,6109,6109,1986-09-23,610.9000000000703,610.8979,2015-01-01 01:41:49,bin6109,75,False +abc,6110,6110,6110,1986-09-24,611.0000000000704,610.99786,2015-01-01 01:41:50,bin6110,35,False +abc,6111,6111,6111,1986-09-25,611.1000000000704,611.09784,2015-01-01 01:41:51,bin6111,75,False +abc,6112,6112,6112,1986-09-26,611.2000000000704,611.1978,2015-01-01 01:41:52,bin6112,35,False +abc,6113,6113,6113,1986-09-27,611.3000000000704,611.2978,2015-01-01 01:41:53,bin6113,75,False +abc,6114,6114,6114,1986-09-28,611.4000000000705,611.39777,2015-01-01 01:41:54,bin6114,35,False +abc,6115,6115,6115,1986-09-29,611.5000000000705,611.49774,2015-01-01 01:41:55,bin6115,75,False +abc,6116,6116,6116,1986-09-30,611.6000000000705,611.5977,2015-01-01 01:41:56,bin6116,35,False +abc,6117,6117,6117,1986-10-01,611.7000000000705,611.6977,2015-01-01 01:41:57,bin6117,75,False +abc,6118,6118,6118,1986-10-02,611.8000000000706,611.79767,2015-01-01 01:41:58,bin6118,35,False +abc,6119,6119,6119,1986-10-03,611.9000000000706,611.89764,2015-01-01 01:41:59,bin6119,75,False +abc,6120,6120,6120,1986-10-04,612.0000000000706,611.9976,2015-01-01 01:42:00,bin6120,35,False +abc,6121,6121,6121,1986-10-05,612.1000000000706,612.0976,2015-01-01 01:42:01,bin6121,75,False +abc,6122,6122,6122,1986-10-06,612.2000000000706,612.1976,2015-01-01 01:42:02,bin6122,35,False +abc,6123,6123,6123,1986-10-07,612.3000000000707,612.29755,2015-01-01 01:42:03,bin6123,75,False +abc,6124,6124,6124,1986-10-08,612.4000000000707,612.3975,2015-01-01 01:42:04,bin6124,35,False +abc,6125,6125,6125,1986-10-09,612.5000000000707,612.4975,2015-01-01 01:42:05,bin6125,75,False +abc,6126,6126,6126,1986-10-10,612.6000000000707,612.5975,2015-01-01 01:42:06,bin6126,35,False +abc,6127,6127,6127,1986-10-11,612.7000000000708,612.69745,2015-01-01 01:42:07,bin6127,75,False +abc,6128,6128,6128,1986-10-12,612.8000000000708,612.7974,2015-01-01 01:42:08,bin6128,35,False +abc,6129,6129,6129,1986-10-13,612.9000000000708,612.8974,2015-01-01 01:42:09,bin6129,75,False +abc,6130,6130,6130,1986-10-14,613.0000000000708,612.9974,2015-01-01 01:42:10,bin6130,35,False +abc,6131,6131,6131,1986-10-15,613.1000000000708,613.09735,2015-01-01 01:42:11,bin6131,75,False +abc,6132,6132,6132,1986-10-16,613.2000000000709,613.1973,2015-01-01 01:42:12,bin6132,35,False +abc,6133,6133,6133,1986-10-17,613.3000000000709,613.2973,2015-01-01 01:42:13,bin6133,75,False +abc,6134,6134,6134,1986-10-18,613.4000000000709,613.3973,2015-01-01 01:42:14,bin6134,35,False +abc,6135,6135,6135,1986-10-19,613.5000000000709,613.49725,2015-01-01 01:42:15,bin6135,75,False +abc,6136,6136,6136,1986-10-20,613.600000000071,613.5972,2015-01-01 01:42:16,bin6136,35,False +abc,6137,6137,6137,1986-10-21,613.700000000071,613.6972,2015-01-01 01:42:17,bin6137,75,False +abc,6138,6138,6138,1986-10-22,613.800000000071,613.7972,2015-01-01 01:42:18,bin6138,35,False +abc,6139,6139,6139,1986-10-23,613.900000000071,613.89716,2015-01-01 01:42:19,bin6139,75,False +abc,6140,6140,6140,1986-10-24,614.000000000071,613.99713,2015-01-01 01:42:20,bin6140,35,False +abc,6141,6141,6141,1986-10-25,614.1000000000711,614.0971,2015-01-01 01:42:21,bin6141,75,False +abc,6142,6142,6142,1986-10-26,614.2000000000711,614.1971,2015-01-01 01:42:22,bin6142,35,False +abc,6143,6143,6143,1986-10-27,614.3000000000711,614.29706,2015-01-01 01:42:23,bin6143,75,False +abc,6144,6144,6144,1986-10-28,614.4000000000711,614.39703,2015-01-01 01:42:24,bin6144,35,False +abc,6145,6145,6145,1986-10-29,614.5000000000712,614.497,2015-01-01 01:42:25,bin6145,75,False +abc,6146,6146,6146,1986-10-30,614.6000000000712,614.597,2015-01-01 01:42:26,bin6146,35,False +abc,6147,6147,6147,1986-10-31,614.7000000000712,614.69696,2015-01-01 01:42:27,bin6147,75,False +abc,6148,6148,6148,1986-11-01,614.8000000000712,614.79694,2015-01-01 01:42:28,bin6148,35,False +abc,6149,6149,6149,1986-11-02,614.9000000000713,614.8969,2015-01-01 01:42:29,bin6149,75,False +abc,6150,6150,6150,1986-11-03,615.0000000000713,614.9969,2015-01-01 01:42:30,bin6150,35,False +abc,6151,6151,6151,1986-11-04,615.1000000000713,615.09686,2015-01-01 01:42:31,bin6151,75,False +abc,6152,6152,6152,1986-11-05,615.2000000000713,615.19684,2015-01-01 01:42:32,bin6152,35,False +abc,6153,6153,6153,1986-11-06,615.3000000000713,615.2968,2015-01-01 01:42:33,bin6153,75,False +abc,6154,6154,6154,1986-11-07,615.4000000000714,615.3968,2015-01-01 01:42:34,bin6154,35,False +abc,6155,6155,6155,1986-11-08,615.5000000000714,615.49677,2015-01-01 01:42:35,bin6155,75,False +abc,6156,6156,6156,1986-11-09,615.6000000000714,615.59674,2015-01-01 01:42:36,bin6156,35,False +abc,6157,6157,6157,1986-11-10,615.7000000000714,615.6967,2015-01-01 01:42:37,bin6157,75,False +abc,6158,6158,6158,1986-11-11,615.8000000000715,615.7967,2015-01-01 01:42:38,bin6158,35,False +abc,6159,6159,6159,1986-11-12,615.9000000000715,615.89667,2015-01-01 01:42:39,bin6159,75,False +abc,6160,6160,6160,1986-11-13,616.0000000000715,615.99664,2015-01-01 01:42:40,bin6160,35,False +abc,6161,6161,6161,1986-11-14,616.1000000000715,616.0966,2015-01-01 01:42:41,bin6161,75,False +abc,6162,6162,6162,1986-11-15,616.2000000000716,616.1966,2015-01-01 01:42:42,bin6162,35,False +abc,6163,6163,6163,1986-11-16,616.3000000000716,616.2966,2015-01-01 01:42:43,bin6163,75,False +abc,6164,6164,6164,1986-11-17,616.4000000000716,616.39655,2015-01-01 01:42:44,bin6164,35,False +abc,6165,6165,6165,1986-11-18,616.5000000000716,616.4965,2015-01-01 01:42:45,bin6165,75,False +abc,6166,6166,6166,1986-11-19,616.6000000000716,616.5965,2015-01-01 01:42:46,bin6166,35,False +abc,6167,6167,6167,1986-11-20,616.7000000000717,616.6965,2015-01-01 01:42:47,bin6167,75,False +abc,6168,6168,6168,1986-11-21,616.8000000000717,616.79645,2015-01-01 01:42:48,bin6168,35,False +abc,6169,6169,6169,1986-11-22,616.9000000000717,616.8964,2015-01-01 01:42:49,bin6169,75,False +abc,6170,6170,6170,1986-11-23,617.0000000000717,616.9964,2015-01-01 01:42:50,bin6170,35,False +abc,6171,6171,6171,1986-11-24,617.1000000000718,617.0964,2015-01-01 01:42:51,bin6171,75,False +abc,6172,6172,6172,1986-11-25,617.2000000000718,617.19635,2015-01-01 01:42:52,bin6172,35,False +abc,6173,6173,6173,1986-11-26,617.3000000000718,617.2963,2015-01-01 01:42:53,bin6173,75,False +abc,6174,6174,6174,1986-11-27,617.4000000000718,617.3963,2015-01-01 01:42:54,bin6174,35,False +abc,6175,6175,6175,1986-11-28,617.5000000000719,617.4963,2015-01-01 01:42:55,bin6175,75,False +abc,6176,6176,6176,1986-11-29,617.6000000000719,617.59625,2015-01-01 01:42:56,bin6176,35,False +abc,6177,6177,6177,1986-11-30,617.7000000000719,617.6962,2015-01-01 01:42:57,bin6177,75,False +abc,6178,6178,6178,1986-12-01,617.8000000000719,617.7962,2015-01-01 01:42:58,bin6178,35,False +abc,6179,6179,6179,1986-12-02,617.9000000000719,617.8962,2015-01-01 01:42:59,bin6179,75,False +abc,6180,6180,6180,1986-12-03,618.000000000072,617.99615,2015-01-01 01:43:00,bin6180,35,False +abc,6181,6181,6181,1986-12-04,618.100000000072,618.0961,2015-01-01 01:43:01,bin6181,75,False +abc,6182,6182,6182,1986-12-05,618.200000000072,618.1961,2015-01-01 01:43:02,bin6182,35,False +abc,6183,6183,6183,1986-12-06,618.300000000072,618.2961,2015-01-01 01:43:03,bin6183,75,False +abc,6184,6184,6184,1986-12-07,618.400000000072,618.39606,2015-01-01 01:43:04,bin6184,35,False +abc,6185,6185,6185,1986-12-08,618.5000000000721,618.49603,2015-01-01 01:43:05,bin6185,75,False +abc,6186,6186,6186,1986-12-09,618.6000000000721,618.596,2015-01-01 01:43:06,bin6186,35,False +abc,6187,6187,6187,1986-12-10,618.7000000000721,618.696,2015-01-01 01:43:07,bin6187,75,False +abc,6188,6188,6188,1986-12-11,618.8000000000721,618.79596,2015-01-01 01:43:08,bin6188,35,False +abc,6189,6189,6189,1986-12-12,618.9000000000722,618.89594,2015-01-01 01:43:09,bin6189,75,False +abc,6190,6190,6190,1986-12-13,619.0000000000722,618.9959,2015-01-01 01:43:10,bin6190,35,False +abc,6191,6191,6191,1986-12-14,619.1000000000722,619.0959,2015-01-01 01:43:11,bin6191,75,False +abc,6192,6192,6192,1986-12-15,619.2000000000722,619.19586,2015-01-01 01:43:12,bin6192,35,False +abc,6193,6193,6193,1986-12-16,619.3000000000723,619.29584,2015-01-01 01:43:13,bin6193,75,False +abc,6194,6194,6194,1986-12-17,619.4000000000723,619.3958,2015-01-01 01:43:14,bin6194,35,False +abc,6195,6195,6195,1986-12-18,619.5000000000723,619.4958,2015-01-01 01:43:15,bin6195,75,False +abc,6196,6196,6196,1986-12-19,619.6000000000723,619.59576,2015-01-01 01:43:16,bin6196,35,False +abc,6197,6197,6197,1986-12-20,619.7000000000724,619.69574,2015-01-01 01:43:17,bin6197,75,False +abc,6198,6198,6198,1986-12-21,619.8000000000724,619.7957,2015-01-01 01:43:18,bin6198,35,False +abc,6199,6199,6199,1986-12-22,619.9000000000724,619.8957,2015-01-01 01:43:19,bin6199,75,False +abc,6200,6200,6200,1986-12-23,620.0000000000724,619.99567,2015-01-01 01:43:20,bin6200,35,False +abc,6201,6201,6201,1986-12-24,620.1000000000724,620.09564,2015-01-01 01:43:21,bin6201,75,False +abc,6202,6202,6202,1986-12-25,620.2000000000725,620.1956,2015-01-01 01:43:22,bin6202,35,False +abc,6203,6203,6203,1986-12-26,620.3000000000725,620.2956,2015-01-01 01:43:23,bin6203,75,False +abc,6204,6204,6204,1986-12-27,620.4000000000725,620.39557,2015-01-01 01:43:24,bin6204,35,False +abc,6205,6205,6205,1986-12-28,620.5000000000725,620.49554,2015-01-01 01:43:25,bin6205,75,False +abc,6206,6206,6206,1986-12-29,620.6000000000726,620.5955,2015-01-01 01:43:26,bin6206,35,False +abc,6207,6207,6207,1986-12-30,620.7000000000726,620.6955,2015-01-01 01:43:27,bin6207,75,False +abc,6208,6208,6208,1986-12-31,620.8000000000726,620.7955,2015-01-01 01:43:28,bin6208,35,False +abc,6209,6209,6209,1987-01-01,620.9000000000726,620.89545,2015-01-01 01:43:29,bin6209,75,False +abc,6210,6210,6210,1987-01-02,621.0000000000726,620.9954,2015-01-01 01:43:30,bin6210,35,False +abc,6211,6211,6211,1987-01-03,621.1000000000727,621.0954,2015-01-01 01:43:31,bin6211,75,False +abc,6212,6212,6212,1987-01-04,621.2000000000727,621.1954,2015-01-01 01:43:32,bin6212,35,False +abc,6213,6213,6213,1987-01-05,621.3000000000727,621.29535,2015-01-01 01:43:33,bin6213,75,False +abc,6214,6214,6214,1987-01-06,621.4000000000727,621.3953,2015-01-01 01:43:34,bin6214,35,False +abc,6215,6215,6215,1987-01-07,621.5000000000728,621.4953,2015-01-01 01:43:35,bin6215,75,False +abc,6216,6216,6216,1987-01-08,621.6000000000728,621.5953,2015-01-01 01:43:36,bin6216,35,False +abc,6217,6217,6217,1987-01-09,621.7000000000728,621.69525,2015-01-01 01:43:37,bin6217,75,False +abc,6218,6218,6218,1987-01-10,621.8000000000728,621.7952,2015-01-01 01:43:38,bin6218,35,False +abc,6219,6219,6219,1987-01-11,621.9000000000729,621.8952,2015-01-01 01:43:39,bin6219,75,False +abc,6220,6220,6220,1987-01-12,622.0000000000729,621.9952,2015-01-01 01:43:40,bin6220,35,False +abc,6221,6221,6221,1987-01-13,622.1000000000729,622.09515,2015-01-01 01:43:41,bin6221,75,False +abc,6222,6222,6222,1987-01-14,622.2000000000729,622.1951,2015-01-01 01:43:42,bin6222,35,False +abc,6223,6223,6223,1987-01-15,622.3000000000729,622.2951,2015-01-01 01:43:43,bin6223,75,False +abc,6224,6224,6224,1987-01-16,622.400000000073,622.3951,2015-01-01 01:43:44,bin6224,35,False +abc,6225,6225,6225,1987-01-17,622.500000000073,622.49506,2015-01-01 01:43:45,bin6225,75,False +abc,6226,6226,6226,1987-01-18,622.600000000073,622.59503,2015-01-01 01:43:46,bin6226,35,False +abc,6227,6227,6227,1987-01-19,622.700000000073,622.695,2015-01-01 01:43:47,bin6227,75,False +abc,6228,6228,6228,1987-01-20,622.800000000073,622.795,2015-01-01 01:43:48,bin6228,35,False +abc,6229,6229,6229,1987-01-21,622.9000000000731,622.89496,2015-01-01 01:43:49,bin6229,75,False +abc,6230,6230,6230,1987-01-22,623.0000000000731,622.99493,2015-01-01 01:43:50,bin6230,35,False +abc,6231,6231,6231,1987-01-23,623.1000000000731,623.0949,2015-01-01 01:43:51,bin6231,75,False +abc,6232,6232,6232,1987-01-24,623.2000000000731,623.1949,2015-01-01 01:43:52,bin6232,35,False +abc,6233,6233,6233,1987-01-25,623.3000000000732,623.29486,2015-01-01 01:43:53,bin6233,75,False +abc,6234,6234,6234,1987-01-26,623.4000000000732,623.39484,2015-01-01 01:43:54,bin6234,35,False +abc,6235,6235,6235,1987-01-27,623.5000000000732,623.4948,2015-01-01 01:43:55,bin6235,75,False +abc,6236,6236,6236,1987-01-28,623.6000000000732,623.5948,2015-01-01 01:43:56,bin6236,35,False +abc,6237,6237,6237,1987-01-29,623.7000000000733,623.69476,2015-01-01 01:43:57,bin6237,75,False +abc,6238,6238,6238,1987-01-30,623.8000000000733,623.79474,2015-01-01 01:43:58,bin6238,35,False +abc,6239,6239,6239,1987-01-31,623.9000000000733,623.8947,2015-01-01 01:43:59,bin6239,75,False +abc,6240,6240,6240,1987-02-01,624.0000000000733,623.9947,2015-01-01 01:44:00,bin6240,35,False +abc,6241,6241,6241,1987-02-02,624.1000000000734,624.09467,2015-01-01 01:44:01,bin6241,75,False +abc,6242,6242,6242,1987-02-03,624.2000000000734,624.19464,2015-01-01 01:44:02,bin6242,35,False +abc,6243,6243,6243,1987-02-04,624.3000000000734,624.2946,2015-01-01 01:44:03,bin6243,75,False +abc,6244,6244,6244,1987-02-05,624.4000000000734,624.3946,2015-01-01 01:44:04,bin6244,35,False +abc,6245,6245,6245,1987-02-06,624.5000000000734,624.49457,2015-01-01 01:44:05,bin6245,75,False +abc,6246,6246,6246,1987-02-07,624.6000000000735,624.59454,2015-01-01 01:44:06,bin6246,35,False +abc,6247,6247,6247,1987-02-08,624.7000000000735,624.6945,2015-01-01 01:44:07,bin6247,75,False +abc,6248,6248,6248,1987-02-09,624.8000000000735,624.7945,2015-01-01 01:44:08,bin6248,35,False +abc,6249,6249,6249,1987-02-10,624.9000000000735,624.8945,2015-01-01 01:44:09,bin6249,75,False +abc,6250,6250,6250,1987-02-11,625.0000000000736,624.99445,2015-01-01 01:44:10,bin6250,35,False +abc,6251,6251,6251,1987-02-12,625.1000000000736,625.0944,2015-01-01 01:44:11,bin6251,75,False +abc,6252,6252,6252,1987-02-13,625.2000000000736,625.1944,2015-01-01 01:44:12,bin6252,35,False +abc,6253,6253,6253,1987-02-14,625.3000000000736,625.2944,2015-01-01 01:44:13,bin6253,75,False +abc,6254,6254,6254,1987-02-15,625.4000000000736,625.39435,2015-01-01 01:44:14,bin6254,35,False +abc,6255,6255,6255,1987-02-16,625.5000000000737,625.4943,2015-01-01 01:44:15,bin6255,75,False +abc,6256,6256,6256,1987-02-17,625.6000000000737,625.5943,2015-01-01 01:44:16,bin6256,35,False +abc,6257,6257,6257,1987-02-18,625.7000000000737,625.6943,2015-01-01 01:44:17,bin6257,75,False +abc,6258,6258,6258,1987-02-19,625.8000000000737,625.79425,2015-01-01 01:44:18,bin6258,35,False +abc,6259,6259,6259,1987-02-20,625.9000000000738,625.8942,2015-01-01 01:44:19,bin6259,75,False +abc,6260,6260,6260,1987-02-21,626.0000000000738,625.9942,2015-01-01 01:44:20,bin6260,35,False +abc,6261,6261,6261,1987-02-22,626.1000000000738,626.0942,2015-01-01 01:44:21,bin6261,75,False +abc,6262,6262,6262,1987-02-23,626.2000000000738,626.19415,2015-01-01 01:44:22,bin6262,35,False +abc,6263,6263,6263,1987-02-24,626.3000000000739,626.2941,2015-01-01 01:44:23,bin6263,75,False +abc,6264,6264,6264,1987-02-25,626.4000000000739,626.3941,2015-01-01 01:44:24,bin6264,35,False +abc,6265,6265,6265,1987-02-26,626.5000000000739,626.4941,2015-01-01 01:44:25,bin6265,75,False +abc,6266,6266,6266,1987-02-27,626.6000000000739,626.59406,2015-01-01 01:44:26,bin6266,35,False +abc,6267,6267,6267,1987-02-28,626.7000000000739,626.69403,2015-01-01 01:44:27,bin6267,75,False +abc,6268,6268,6268,1987-03-01,626.800000000074,626.794,2015-01-01 01:44:28,bin6268,35,False +abc,6269,6269,6269,1987-03-02,626.900000000074,626.894,2015-01-01 01:44:29,bin6269,75,False +abc,6270,6270,6270,1987-03-03,627.000000000074,626.99396,2015-01-01 01:44:30,bin6270,35,False +abc,6271,6271,6271,1987-03-04,627.100000000074,627.09393,2015-01-01 01:44:31,bin6271,75,False +abc,6272,6272,6272,1987-03-05,627.200000000074,627.1939,2015-01-01 01:44:32,bin6272,35,False +abc,6273,6273,6273,1987-03-06,627.3000000000741,627.2939,2015-01-01 01:44:33,bin6273,75,False +abc,6274,6274,6274,1987-03-07,627.4000000000741,627.39386,2015-01-01 01:44:34,bin6274,35,False +abc,6275,6275,6275,1987-03-08,627.5000000000741,627.49384,2015-01-01 01:44:35,bin6275,75,False +abc,6276,6276,6276,1987-03-09,627.6000000000741,627.5938,2015-01-01 01:44:36,bin6276,35,False +abc,6277,6277,6277,1987-03-10,627.7000000000742,627.6938,2015-01-01 01:44:37,bin6277,75,False +abc,6278,6278,6278,1987-03-11,627.8000000000742,627.79376,2015-01-01 01:44:38,bin6278,35,False +abc,6279,6279,6279,1987-03-12,627.9000000000742,627.89374,2015-01-01 01:44:39,bin6279,75,False +abc,6280,6280,6280,1987-03-13,628.0000000000742,627.9937,2015-01-01 01:44:40,bin6280,35,False +abc,6281,6281,6281,1987-03-14,628.1000000000743,628.0937,2015-01-01 01:44:41,bin6281,75,False +abc,6282,6282,6282,1987-03-15,628.2000000000743,628.19366,2015-01-01 01:44:42,bin6282,35,False +abc,6283,6283,6283,1987-03-16,628.3000000000743,628.29364,2015-01-01 01:44:43,bin6283,75,False +abc,6284,6284,6284,1987-03-17,628.4000000000743,628.3936,2015-01-01 01:44:44,bin6284,35,False +abc,6285,6285,6285,1987-03-18,628.5000000000744,628.4936,2015-01-01 01:44:45,bin6285,75,False +abc,6286,6286,6286,1987-03-19,628.6000000000744,628.59357,2015-01-01 01:44:46,bin6286,35,False +abc,6287,6287,6287,1987-03-20,628.7000000000744,628.69354,2015-01-01 01:44:47,bin6287,75,False +abc,6288,6288,6288,1987-03-21,628.8000000000744,628.7935,2015-01-01 01:44:48,bin6288,35,False +abc,6289,6289,6289,1987-03-22,628.9000000000744,628.8935,2015-01-01 01:44:49,bin6289,75,False +abc,6290,6290,6290,1987-03-23,629.0000000000745,628.99347,2015-01-01 01:44:50,bin6290,35,False +abc,6291,6291,6291,1987-03-24,629.1000000000745,629.09344,2015-01-01 01:44:51,bin6291,75,False +abc,6292,6292,6292,1987-03-25,629.2000000000745,629.1934,2015-01-01 01:44:52,bin6292,35,False +abc,6293,6293,6293,1987-03-26,629.3000000000745,629.2934,2015-01-01 01:44:53,bin6293,75,False +abc,6294,6294,6294,1987-03-27,629.4000000000746,629.3934,2015-01-01 01:44:54,bin6294,35,False +abc,6295,6295,6295,1987-03-28,629.5000000000746,629.49335,2015-01-01 01:44:55,bin6295,75,False +abc,6296,6296,6296,1987-03-29,629.6000000000746,629.5933,2015-01-01 01:44:56,bin6296,35,False +abc,6297,6297,6297,1987-03-30,629.7000000000746,629.6933,2015-01-01 01:44:57,bin6297,75,False +abc,6298,6298,6298,1987-03-31,629.8000000000746,629.7933,2015-01-01 01:44:58,bin6298,35,False +abc,6299,6299,6299,1987-04-01,629.9000000000747,629.89325,2015-01-01 01:44:59,bin6299,75,False +abc,6300,6300,6300,1987-04-02,630.0000000000747,629.9932,2015-01-01 01:45:00,bin6300,35,False +abc,6301,6301,6301,1987-04-03,630.1000000000747,630.0932,2015-01-01 01:45:01,bin6301,75,False +abc,6302,6302,6302,1987-04-04,630.2000000000747,630.1932,2015-01-01 01:45:02,bin6302,35,False +abc,6303,6303,6303,1987-04-05,630.3000000000748,630.29315,2015-01-01 01:45:03,bin6303,75,False +abc,6304,6304,6304,1987-04-06,630.4000000000748,630.3931,2015-01-01 01:45:04,bin6304,35,False +abc,6305,6305,6305,1987-04-07,630.5000000000748,630.4931,2015-01-01 01:45:05,bin6305,75,False +abc,6306,6306,6306,1987-04-08,630.6000000000748,630.5931,2015-01-01 01:45:06,bin6306,35,False +abc,6307,6307,6307,1987-04-09,630.7000000000749,630.69305,2015-01-01 01:45:07,bin6307,75,False +abc,6308,6308,6308,1987-04-10,630.8000000000749,630.793,2015-01-01 01:45:08,bin6308,35,False +abc,6309,6309,6309,1987-04-11,630.9000000000749,630.893,2015-01-01 01:45:09,bin6309,75,False +abc,6310,6310,6310,1987-04-12,631.0000000000749,630.993,2015-01-01 01:45:10,bin6310,35,False +abc,6311,6311,6311,1987-04-13,631.1000000000749,631.09296,2015-01-01 01:45:11,bin6311,75,False +abc,6312,6312,6312,1987-04-14,631.200000000075,631.19293,2015-01-01 01:45:12,bin6312,35,False +abc,6313,6313,6313,1987-04-15,631.300000000075,631.2929,2015-01-01 01:45:13,bin6313,75,False +abc,6314,6314,6314,1987-04-16,631.400000000075,631.3929,2015-01-01 01:45:14,bin6314,35,False +abc,6315,6315,6315,1987-04-17,631.500000000075,631.49286,2015-01-01 01:45:15,bin6315,75,False +abc,6316,6316,6316,1987-04-18,631.600000000075,631.59283,2015-01-01 01:45:16,bin6316,35,False +abc,6317,6317,6317,1987-04-19,631.7000000000751,631.6928,2015-01-01 01:45:17,bin6317,75,False +abc,6318,6318,6318,1987-04-20,631.8000000000751,631.7928,2015-01-01 01:45:18,bin6318,35,False +abc,6319,6319,6319,1987-04-21,631.9000000000751,631.89276,2015-01-01 01:45:19,bin6319,75,False +abc,6320,6320,6320,1987-04-22,632.0000000000751,631.99274,2015-01-01 01:45:20,bin6320,35,False +abc,6321,6321,6321,1987-04-23,632.1000000000752,632.0927,2015-01-01 01:45:21,bin6321,75,False +abc,6322,6322,6322,1987-04-24,632.2000000000752,632.1927,2015-01-01 01:45:22,bin6322,35,False +abc,6323,6323,6323,1987-04-25,632.3000000000752,632.29266,2015-01-01 01:45:23,bin6323,75,False +abc,6324,6324,6324,1987-04-26,632.4000000000752,632.39264,2015-01-01 01:45:24,bin6324,35,False +abc,6325,6325,6325,1987-04-27,632.5000000000753,632.4926,2015-01-01 01:45:25,bin6325,75,False +abc,6326,6326,6326,1987-04-28,632.6000000000753,632.5926,2015-01-01 01:45:26,bin6326,35,False +abc,6327,6327,6327,1987-04-29,632.7000000000753,632.69257,2015-01-01 01:45:27,bin6327,75,False +abc,6328,6328,6328,1987-04-30,632.8000000000753,632.79254,2015-01-01 01:45:28,bin6328,35,False +abc,6329,6329,6329,1987-05-01,632.9000000000754,632.8925,2015-01-01 01:45:29,bin6329,75,False +abc,6330,6330,6330,1987-05-02,633.0000000000754,632.9925,2015-01-01 01:45:30,bin6330,35,False +abc,6331,6331,6331,1987-05-03,633.1000000000754,633.09247,2015-01-01 01:45:31,bin6331,75,False +abc,6332,6332,6332,1987-05-04,633.2000000000754,633.19244,2015-01-01 01:45:32,bin6332,35,False +abc,6333,6333,6333,1987-05-05,633.3000000000754,633.2924,2015-01-01 01:45:33,bin6333,75,False +abc,6334,6334,6334,1987-05-06,633.4000000000755,633.3924,2015-01-01 01:45:34,bin6334,35,False +abc,6335,6335,6335,1987-05-07,633.5000000000755,633.4924,2015-01-01 01:45:35,bin6335,75,False +abc,6336,6336,6336,1987-05-08,633.6000000000755,633.59235,2015-01-01 01:45:36,bin6336,35,False +abc,6337,6337,6337,1987-05-09,633.7000000000755,633.6923,2015-01-01 01:45:37,bin6337,75,False +abc,6338,6338,6338,1987-05-10,633.8000000000756,633.7923,2015-01-01 01:45:38,bin6338,35,False +abc,6339,6339,6339,1987-05-11,633.9000000000756,633.8923,2015-01-01 01:45:39,bin6339,75,False +abc,6340,6340,6340,1987-05-12,634.0000000000756,633.99225,2015-01-01 01:45:40,bin6340,35,False +abc,6341,6341,6341,1987-05-13,634.1000000000756,634.0922,2015-01-01 01:45:41,bin6341,75,False +abc,6342,6342,6342,1987-05-14,634.2000000000756,634.1922,2015-01-01 01:45:42,bin6342,35,False +abc,6343,6343,6343,1987-05-15,634.3000000000757,634.2922,2015-01-01 01:45:43,bin6343,75,False +abc,6344,6344,6344,1987-05-16,634.4000000000757,634.39215,2015-01-01 01:45:44,bin6344,35,False +abc,6345,6345,6345,1987-05-17,634.5000000000757,634.4921,2015-01-01 01:45:45,bin6345,75,False +abc,6346,6346,6346,1987-05-18,634.6000000000757,634.5921,2015-01-01 01:45:46,bin6346,35,False +abc,6347,6347,6347,1987-05-19,634.7000000000758,634.6921,2015-01-01 01:45:47,bin6347,75,False +abc,6348,6348,6348,1987-05-20,634.8000000000758,634.79205,2015-01-01 01:45:48,bin6348,35,False +abc,6349,6349,6349,1987-05-21,634.9000000000758,634.892,2015-01-01 01:45:49,bin6349,75,False +abc,6350,6350,6350,1987-05-22,635.0000000000758,634.992,2015-01-01 01:45:50,bin6350,35,False +abc,6351,6351,6351,1987-05-23,635.1000000000759,635.092,2015-01-01 01:45:51,bin6351,75,False +abc,6352,6352,6352,1987-05-24,635.2000000000759,635.19196,2015-01-01 01:45:52,bin6352,35,False +abc,6353,6353,6353,1987-05-25,635.3000000000759,635.29193,2015-01-01 01:45:53,bin6353,75,False +abc,6354,6354,6354,1987-05-26,635.4000000000759,635.3919,2015-01-01 01:45:54,bin6354,35,False +abc,6355,6355,6355,1987-05-27,635.5000000000759,635.4919,2015-01-01 01:45:55,bin6355,75,False +abc,6356,6356,6356,1987-05-28,635.600000000076,635.59186,2015-01-01 01:45:56,bin6356,35,False +abc,6357,6357,6357,1987-05-29,635.700000000076,635.69183,2015-01-01 01:45:57,bin6357,75,False +abc,6358,6358,6358,1987-05-30,635.800000000076,635.7918,2015-01-01 01:45:58,bin6358,35,False +abc,6359,6359,6359,1987-05-31,635.900000000076,635.8918,2015-01-01 01:45:59,bin6359,75,False +abc,6360,6360,6360,1987-06-01,636.000000000076,635.99176,2015-01-01 01:46:00,bin6360,35,False +abc,6361,6361,6361,1987-06-02,636.1000000000761,636.09174,2015-01-01 01:46:01,bin6361,75,False +abc,6362,6362,6362,1987-06-03,636.2000000000761,636.1917,2015-01-01 01:46:02,bin6362,35,False +abc,6363,6363,6363,1987-06-04,636.3000000000761,636.2917,2015-01-01 01:46:03,bin6363,75,False +abc,6364,6364,6364,1987-06-05,636.4000000000761,636.39166,2015-01-01 01:46:04,bin6364,35,False +abc,6365,6365,6365,1987-06-06,636.5000000000762,636.49164,2015-01-01 01:46:05,bin6365,75,False +abc,6366,6366,6366,1987-06-07,636.6000000000762,636.5916,2015-01-01 01:46:06,bin6366,35,False +abc,6367,6367,6367,1987-06-08,636.7000000000762,636.6916,2015-01-01 01:46:07,bin6367,75,False +abc,6368,6368,6368,1987-06-09,636.8000000000762,636.79156,2015-01-01 01:46:08,bin6368,35,False +abc,6369,6369,6369,1987-06-10,636.9000000000763,636.89154,2015-01-01 01:46:09,bin6369,75,False +abc,6370,6370,6370,1987-06-11,637.0000000000763,636.9915,2015-01-01 01:46:10,bin6370,35,False +abc,6371,6371,6371,1987-06-12,637.1000000000763,637.0915,2015-01-01 01:46:11,bin6371,75,False +abc,6372,6372,6372,1987-06-13,637.2000000000763,637.19147,2015-01-01 01:46:12,bin6372,35,False +abc,6373,6373,6373,1987-06-14,637.3000000000764,637.29144,2015-01-01 01:46:13,bin6373,75,False +abc,6374,6374,6374,1987-06-15,637.4000000000764,637.3914,2015-01-01 01:46:14,bin6374,35,False +abc,6375,6375,6375,1987-06-16,637.5000000000764,637.4914,2015-01-01 01:46:15,bin6375,75,False +abc,6376,6376,6376,1987-06-17,637.6000000000764,637.5914,2015-01-01 01:46:16,bin6376,35,False +abc,6377,6377,6377,1987-06-18,637.7000000000764,637.69135,2015-01-01 01:46:17,bin6377,75,False +abc,6378,6378,6378,1987-06-19,637.8000000000765,637.7913,2015-01-01 01:46:18,bin6378,35,False +abc,6379,6379,6379,1987-06-20,637.9000000000765,637.8913,2015-01-01 01:46:19,bin6379,75,False +abc,6380,6380,6380,1987-06-21,638.0000000000765,637.9913,2015-01-01 01:46:20,bin6380,35,False +abc,6381,6381,6381,1987-06-22,638.1000000000765,638.09125,2015-01-01 01:46:21,bin6381,75,False +abc,6382,6382,6382,1987-06-23,638.2000000000766,638.1912,2015-01-01 01:46:22,bin6382,35,False +abc,6383,6383,6383,1987-06-24,638.3000000000766,638.2912,2015-01-01 01:46:23,bin6383,75,False +abc,6384,6384,6384,1987-06-25,638.4000000000766,638.3912,2015-01-01 01:46:24,bin6384,35,False +abc,6385,6385,6385,1987-06-26,638.5000000000766,638.49115,2015-01-01 01:46:25,bin6385,75,False +abc,6386,6386,6386,1987-06-27,638.6000000000766,638.5911,2015-01-01 01:46:26,bin6386,35,False +abc,6387,6387,6387,1987-06-28,638.7000000000767,638.6911,2015-01-01 01:46:27,bin6387,75,False +abc,6388,6388,6388,1987-06-29,638.8000000000767,638.7911,2015-01-01 01:46:28,bin6388,35,False +abc,6389,6389,6389,1987-06-30,638.9000000000767,638.89105,2015-01-01 01:46:29,bin6389,75,False +abc,6390,6390,6390,1987-07-01,639.0000000000767,638.991,2015-01-01 01:46:30,bin6390,35,False +abc,6391,6391,6391,1987-07-02,639.1000000000768,639.091,2015-01-01 01:46:31,bin6391,75,False +abc,6392,6392,6392,1987-07-03,639.2000000000768,639.191,2015-01-01 01:46:32,bin6392,35,False +abc,6393,6393,6393,1987-07-04,639.3000000000768,639.29095,2015-01-01 01:46:33,bin6393,75,False +abc,6394,6394,6394,1987-07-05,639.4000000000768,639.3909,2015-01-01 01:46:34,bin6394,35,False +abc,6395,6395,6395,1987-07-06,639.5000000000769,639.4909,2015-01-01 01:46:35,bin6395,75,False +abc,6396,6396,6396,1987-07-07,639.6000000000769,639.5909,2015-01-01 01:46:36,bin6396,35,False +abc,6397,6397,6397,1987-07-08,639.7000000000769,639.69086,2015-01-01 01:46:37,bin6397,75,False +abc,6398,6398,6398,1987-07-09,639.8000000000769,639.79083,2015-01-01 01:46:38,bin6398,35,False +abc,6399,6399,6399,1987-07-10,639.900000000077,639.8908,2015-01-01 01:46:39,bin6399,75,False +abc,6400,6400,6400,1987-07-11,640.000000000077,639.9908,2015-01-01 01:46:40,bin6400,35,False +abc,6401,6401,6401,1987-07-12,640.100000000077,640.09076,2015-01-01 01:46:41,bin6401,75,False +abc,6402,6402,6402,1987-07-13,640.200000000077,640.19073,2015-01-01 01:46:42,bin6402,35,False +abc,6403,6403,6403,1987-07-14,640.300000000077,640.2907,2015-01-01 01:46:43,bin6403,75,False +abc,6404,6404,6404,1987-07-15,640.4000000000771,640.3907,2015-01-01 01:46:44,bin6404,35,False +abc,6405,6405,6405,1987-07-16,640.5000000000771,640.49066,2015-01-01 01:46:45,bin6405,75,False +abc,6406,6406,6406,1987-07-17,640.6000000000771,640.59064,2015-01-01 01:46:46,bin6406,35,False +abc,6407,6407,6407,1987-07-18,640.7000000000771,640.6906,2015-01-01 01:46:47,bin6407,75,False +abc,6408,6408,6408,1987-07-19,640.8000000000771,640.7906,2015-01-01 01:46:48,bin6408,35,False +abc,6409,6409,6409,1987-07-20,640.9000000000772,640.89056,2015-01-01 01:46:49,bin6409,75,False +abc,6410,6410,6410,1987-07-21,641.0000000000772,640.99054,2015-01-01 01:46:50,bin6410,35,False +abc,6411,6411,6411,1987-07-22,641.1000000000772,641.0905,2015-01-01 01:46:51,bin6411,75,False +abc,6412,6412,6412,1987-07-23,641.2000000000772,641.1905,2015-01-01 01:46:52,bin6412,35,False +abc,6413,6413,6413,1987-07-24,641.3000000000773,641.29047,2015-01-01 01:46:53,bin6413,75,False +abc,6414,6414,6414,1987-07-25,641.4000000000773,641.39044,2015-01-01 01:46:54,bin6414,35,False +abc,6415,6415,6415,1987-07-26,641.5000000000773,641.4904,2015-01-01 01:46:55,bin6415,75,False +abc,6416,6416,6416,1987-07-27,641.6000000000773,641.5904,2015-01-01 01:46:56,bin6416,35,False +abc,6417,6417,6417,1987-07-28,641.7000000000774,641.69037,2015-01-01 01:46:57,bin6417,75,False +abc,6418,6418,6418,1987-07-29,641.8000000000774,641.79034,2015-01-01 01:46:58,bin6418,35,False +abc,6419,6419,6419,1987-07-30,641.9000000000774,641.8903,2015-01-01 01:46:59,bin6419,75,False +abc,6420,6420,6420,1987-07-31,642.0000000000774,641.9903,2015-01-01 01:47:00,bin6420,35,False +abc,6421,6421,6421,1987-08-01,642.1000000000774,642.0903,2015-01-01 01:47:01,bin6421,75,False +abc,6422,6422,6422,1987-08-02,642.2000000000775,642.19025,2015-01-01 01:47:02,bin6422,35,False +abc,6423,6423,6423,1987-08-03,642.3000000000775,642.2902,2015-01-01 01:47:03,bin6423,75,False +abc,6424,6424,6424,1987-08-04,642.4000000000775,642.3902,2015-01-01 01:47:04,bin6424,35,False +abc,6425,6425,6425,1987-08-05,642.5000000000775,642.4902,2015-01-01 01:47:05,bin6425,75,False +abc,6426,6426,6426,1987-08-06,642.6000000000776,642.59015,2015-01-01 01:47:06,bin6426,35,False +abc,6427,6427,6427,1987-08-07,642.7000000000776,642.6901,2015-01-01 01:47:07,bin6427,75,False +abc,6428,6428,6428,1987-08-08,642.8000000000776,642.7901,2015-01-01 01:47:08,bin6428,35,False +abc,6429,6429,6429,1987-08-09,642.9000000000776,642.8901,2015-01-01 01:47:09,bin6429,75,False +abc,6430,6430,6430,1987-08-10,643.0000000000776,642.99005,2015-01-01 01:47:10,bin6430,35,False +abc,6431,6431,6431,1987-08-11,643.1000000000777,643.09,2015-01-01 01:47:11,bin6431,75,False +abc,6432,6432,6432,1987-08-12,643.2000000000777,643.19,2015-01-01 01:47:12,bin6432,35,False +abc,6433,6433,6433,1987-08-13,643.3000000000777,643.29,2015-01-01 01:47:13,bin6433,75,False +abc,6434,6434,6434,1987-08-14,643.4000000000777,643.38995,2015-01-01 01:47:14,bin6434,35,False +abc,6435,6435,6435,1987-08-15,643.5000000000778,643.4899,2015-01-01 01:47:15,bin6435,75,False +abc,6436,6436,6436,1987-08-16,643.6000000000778,643.5899,2015-01-01 01:47:16,bin6436,35,False +abc,6437,6437,6437,1987-08-17,643.7000000000778,643.6899,2015-01-01 01:47:17,bin6437,75,False +abc,6438,6438,6438,1987-08-18,643.8000000000778,643.78986,2015-01-01 01:47:18,bin6438,35,False +abc,6439,6439,6439,1987-08-19,643.9000000000779,643.88983,2015-01-01 01:47:19,bin6439,75,False +abc,6440,6440,6440,1987-08-20,644.0000000000779,643.9898,2015-01-01 01:47:20,bin6440,35,False +abc,6441,6441,6441,1987-08-21,644.1000000000779,644.0898,2015-01-01 01:47:21,bin6441,75,False +abc,6442,6442,6442,1987-08-22,644.2000000000779,644.18976,2015-01-01 01:47:22,bin6442,35,False +abc,6443,6443,6443,1987-08-23,644.300000000078,644.28973,2015-01-01 01:47:23,bin6443,75,False +abc,6444,6444,6444,1987-08-24,644.400000000078,644.3897,2015-01-01 01:47:24,bin6444,35,False +abc,6445,6445,6445,1987-08-25,644.500000000078,644.4897,2015-01-01 01:47:25,bin6445,75,False +abc,6446,6446,6446,1987-08-26,644.600000000078,644.58966,2015-01-01 01:47:26,bin6446,35,False +abc,6447,6447,6447,1987-08-27,644.700000000078,644.68964,2015-01-01 01:47:27,bin6447,75,False +abc,6448,6448,6448,1987-08-28,644.8000000000781,644.7896,2015-01-01 01:47:28,bin6448,35,False +abc,6449,6449,6449,1987-08-29,644.9000000000781,644.8896,2015-01-01 01:47:29,bin6449,75,False +abc,6450,6450,6450,1987-08-30,645.0000000000781,644.98956,2015-01-01 01:47:30,bin6450,35,False +abc,6451,6451,6451,1987-08-31,645.1000000000781,645.08954,2015-01-01 01:47:31,bin6451,75,False +abc,6452,6452,6452,1987-09-01,645.2000000000781,645.1895,2015-01-01 01:47:32,bin6452,35,False +abc,6453,6453,6453,1987-09-02,645.3000000000782,645.2895,2015-01-01 01:47:33,bin6453,75,False +abc,6454,6454,6454,1987-09-03,645.4000000000782,645.38947,2015-01-01 01:47:34,bin6454,35,False +abc,6455,6455,6455,1987-09-04,645.5000000000782,645.48944,2015-01-01 01:47:35,bin6455,75,False +abc,6456,6456,6456,1987-09-05,645.6000000000782,645.5894,2015-01-01 01:47:36,bin6456,35,False +abc,6457,6457,6457,1987-09-06,645.7000000000783,645.6894,2015-01-01 01:47:37,bin6457,75,False +abc,6458,6458,6458,1987-09-07,645.8000000000783,645.78937,2015-01-01 01:47:38,bin6458,35,False +abc,6459,6459,6459,1987-09-08,645.9000000000783,645.88934,2015-01-01 01:47:39,bin6459,75,False +abc,6460,6460,6460,1987-09-09,646.0000000000783,645.9893,2015-01-01 01:47:40,bin6460,35,False +abc,6461,6461,6461,1987-09-10,646.1000000000784,646.0893,2015-01-01 01:47:41,bin6461,75,False +abc,6462,6462,6462,1987-09-11,646.2000000000784,646.1893,2015-01-01 01:47:42,bin6462,35,False +abc,6463,6463,6463,1987-09-12,646.3000000000784,646.28925,2015-01-01 01:47:43,bin6463,75,False +abc,6464,6464,6464,1987-09-13,646.4000000000784,646.3892,2015-01-01 01:47:44,bin6464,35,False +abc,6465,6465,6465,1987-09-14,646.5000000000784,646.4892,2015-01-01 01:47:45,bin6465,75,False +abc,6466,6466,6466,1987-09-15,646.6000000000785,646.5892,2015-01-01 01:47:46,bin6466,35,False +abc,6467,6467,6467,1987-09-16,646.7000000000785,646.68915,2015-01-01 01:47:47,bin6467,75,False +abc,6468,6468,6468,1987-09-17,646.8000000000785,646.7891,2015-01-01 01:47:48,bin6468,35,False +abc,6469,6469,6469,1987-09-18,646.9000000000785,646.8891,2015-01-01 01:47:49,bin6469,75,False +abc,6470,6470,6470,1987-09-19,647.0000000000786,646.9891,2015-01-01 01:47:50,bin6470,35,False +abc,6471,6471,6471,1987-09-20,647.1000000000786,647.08905,2015-01-01 01:47:51,bin6471,75,False +abc,6472,6472,6472,1987-09-21,647.2000000000786,647.189,2015-01-01 01:47:52,bin6472,35,False +abc,6473,6473,6473,1987-09-22,647.3000000000786,647.289,2015-01-01 01:47:53,bin6473,75,False +abc,6474,6474,6474,1987-09-23,647.4000000000786,647.389,2015-01-01 01:47:54,bin6474,35,False +abc,6475,6475,6475,1987-09-24,647.5000000000787,647.48895,2015-01-01 01:47:55,bin6475,75,False +abc,6476,6476,6476,1987-09-25,647.6000000000787,647.5889,2015-01-01 01:47:56,bin6476,35,False +abc,6477,6477,6477,1987-09-26,647.7000000000787,647.6889,2015-01-01 01:47:57,bin6477,75,False +abc,6478,6478,6478,1987-09-27,647.8000000000787,647.7889,2015-01-01 01:47:58,bin6478,35,False +abc,6479,6479,6479,1987-09-28,647.9000000000788,647.88885,2015-01-01 01:47:59,bin6479,75,False +abc,6480,6480,6480,1987-09-29,648.0000000000788,647.98883,2015-01-01 01:48:00,bin6480,35,False +abc,6481,6481,6481,1987-09-30,648.1000000000788,648.0888,2015-01-01 01:48:01,bin6481,75,False +abc,6482,6482,6482,1987-10-01,648.2000000000788,648.1888,2015-01-01 01:48:02,bin6482,35,False +abc,6483,6483,6483,1987-10-02,648.3000000000789,648.28876,2015-01-01 01:48:03,bin6483,75,False +abc,6484,6484,6484,1987-10-03,648.4000000000789,648.38873,2015-01-01 01:48:04,bin6484,35,False +abc,6485,6485,6485,1987-10-04,648.5000000000789,648.4887,2015-01-01 01:48:05,bin6485,75,False +abc,6486,6486,6486,1987-10-05,648.6000000000789,648.5887,2015-01-01 01:48:06,bin6486,35,False +abc,6487,6487,6487,1987-10-06,648.700000000079,648.68866,2015-01-01 01:48:07,bin6487,75,False +abc,6488,6488,6488,1987-10-07,648.800000000079,648.78864,2015-01-01 01:48:08,bin6488,35,False +abc,6489,6489,6489,1987-10-08,648.900000000079,648.8886,2015-01-01 01:48:09,bin6489,75,False +abc,6490,6490,6490,1987-10-09,649.000000000079,648.9886,2015-01-01 01:48:10,bin6490,35,False +abc,6491,6491,6491,1987-10-10,649.100000000079,649.08856,2015-01-01 01:48:11,bin6491,75,False +abc,6492,6492,6492,1987-10-11,649.2000000000791,649.18854,2015-01-01 01:48:12,bin6492,35,False +abc,6493,6493,6493,1987-10-12,649.3000000000791,649.2885,2015-01-01 01:48:13,bin6493,75,False +abc,6494,6494,6494,1987-10-13,649.4000000000791,649.3885,2015-01-01 01:48:14,bin6494,35,False +abc,6495,6495,6495,1987-10-14,649.5000000000791,649.48846,2015-01-01 01:48:15,bin6495,75,False +abc,6496,6496,6496,1987-10-15,649.6000000000791,649.58844,2015-01-01 01:48:16,bin6496,35,False +abc,6497,6497,6497,1987-10-16,649.7000000000792,649.6884,2015-01-01 01:48:17,bin6497,75,False +abc,6498,6498,6498,1987-10-17,649.8000000000792,649.7884,2015-01-01 01:48:18,bin6498,35,False +abc,6499,6499,6499,1987-10-18,649.9000000000792,649.88837,2015-01-01 01:48:19,bin6499,75,False +abc,6500,6500,6500,1987-10-19,650.0000000000792,649.98834,2015-01-01 01:48:20,bin6500,35,False +abc,6501,6501,6501,1987-10-20,650.1000000000793,650.0883,2015-01-01 01:48:21,bin6501,75,False +abc,6502,6502,6502,1987-10-21,650.2000000000793,650.1883,2015-01-01 01:48:22,bin6502,35,False +abc,6503,6503,6503,1987-10-22,650.3000000000793,650.28827,2015-01-01 01:48:23,bin6503,75,False +abc,6504,6504,6504,1987-10-23,650.4000000000793,650.38824,2015-01-01 01:48:24,bin6504,35,False +abc,6505,6505,6505,1987-10-24,650.5000000000794,650.4882,2015-01-01 01:48:25,bin6505,75,False +abc,6506,6506,6506,1987-10-25,650.6000000000794,650.5882,2015-01-01 01:48:26,bin6506,35,False +abc,6507,6507,6507,1987-10-26,650.7000000000794,650.6882,2015-01-01 01:48:27,bin6507,75,False +abc,6508,6508,6508,1987-10-27,650.8000000000794,650.78815,2015-01-01 01:48:28,bin6508,35,False +abc,6509,6509,6509,1987-10-28,650.9000000000794,650.8881,2015-01-01 01:48:29,bin6509,75,False +abc,6510,6510,6510,1987-10-29,651.0000000000795,650.9881,2015-01-01 01:48:30,bin6510,35,False +abc,6511,6511,6511,1987-10-30,651.1000000000795,651.0881,2015-01-01 01:48:31,bin6511,75,False +abc,6512,6512,6512,1987-10-31,651.2000000000795,651.18805,2015-01-01 01:48:32,bin6512,35,False +abc,6513,6513,6513,1987-11-01,651.3000000000795,651.288,2015-01-01 01:48:33,bin6513,75,False +abc,6514,6514,6514,1987-11-02,651.4000000000796,651.388,2015-01-01 01:48:34,bin6514,35,False +abc,6515,6515,6515,1987-11-03,651.5000000000796,651.488,2015-01-01 01:48:35,bin6515,75,False +abc,6516,6516,6516,1987-11-04,651.6000000000796,651.58795,2015-01-01 01:48:36,bin6516,35,False +abc,6517,6517,6517,1987-11-05,651.7000000000796,651.6879,2015-01-01 01:48:37,bin6517,75,False +abc,6518,6518,6518,1987-11-06,651.8000000000796,651.7879,2015-01-01 01:48:38,bin6518,35,False +abc,6519,6519,6519,1987-11-07,651.9000000000797,651.8879,2015-01-01 01:48:39,bin6519,75,False +abc,6520,6520,6520,1987-11-08,652.0000000000797,651.98785,2015-01-01 01:48:40,bin6520,35,False +abc,6521,6521,6521,1987-11-09,652.1000000000797,652.0878,2015-01-01 01:48:41,bin6521,75,False +abc,6522,6522,6522,1987-11-10,652.2000000000797,652.1878,2015-01-01 01:48:42,bin6522,35,False +abc,6523,6523,6523,1987-11-11,652.3000000000798,652.2878,2015-01-01 01:48:43,bin6523,75,False +abc,6524,6524,6524,1987-11-12,652.4000000000798,652.38776,2015-01-01 01:48:44,bin6524,35,False +abc,6525,6525,6525,1987-11-13,652.5000000000798,652.48773,2015-01-01 01:48:45,bin6525,75,False +abc,6526,6526,6526,1987-11-14,652.6000000000798,652.5877,2015-01-01 01:48:46,bin6526,35,False +abc,6527,6527,6527,1987-11-15,652.7000000000799,652.6877,2015-01-01 01:48:47,bin6527,75,False +abc,6528,6528,6528,1987-11-16,652.8000000000799,652.78766,2015-01-01 01:48:48,bin6528,35,False +abc,6529,6529,6529,1987-11-17,652.9000000000799,652.88763,2015-01-01 01:48:49,bin6529,75,False +abc,6530,6530,6530,1987-11-18,653.0000000000799,652.9876,2015-01-01 01:48:50,bin6530,35,False +abc,6531,6531,6531,1987-11-19,653.10000000008,653.0876,2015-01-01 01:48:51,bin6531,75,False +abc,6532,6532,6532,1987-11-20,653.20000000008,653.18756,2015-01-01 01:48:52,bin6532,35,False +abc,6533,6533,6533,1987-11-21,653.30000000008,653.28754,2015-01-01 01:48:53,bin6533,75,False +abc,6534,6534,6534,1987-11-22,653.40000000008,653.3875,2015-01-01 01:48:54,bin6534,35,False +abc,6535,6535,6535,1987-11-23,653.50000000008,653.4875,2015-01-01 01:48:55,bin6535,75,False +abc,6536,6536,6536,1987-11-24,653.6000000000801,653.58746,2015-01-01 01:48:56,bin6536,35,False +abc,6537,6537,6537,1987-11-25,653.7000000000801,653.68744,2015-01-01 01:48:57,bin6537,75,False +abc,6538,6538,6538,1987-11-26,653.8000000000801,653.7874,2015-01-01 01:48:58,bin6538,35,False +abc,6539,6539,6539,1987-11-27,653.9000000000801,653.8874,2015-01-01 01:48:59,bin6539,75,False +abc,6540,6540,6540,1987-11-28,654.0000000000801,653.98737,2015-01-01 01:49:00,bin6540,35,False +abc,6541,6541,6541,1987-11-29,654.1000000000802,654.08734,2015-01-01 01:49:01,bin6541,75,False +abc,6542,6542,6542,1987-11-30,654.2000000000802,654.1873,2015-01-01 01:49:02,bin6542,35,False +abc,6543,6543,6543,1987-12-01,654.3000000000802,654.2873,2015-01-01 01:49:03,bin6543,75,False +abc,6544,6544,6544,1987-12-02,654.4000000000802,654.38727,2015-01-01 01:49:04,bin6544,35,False +abc,6545,6545,6545,1987-12-03,654.5000000000803,654.48724,2015-01-01 01:49:05,bin6545,75,False +abc,6546,6546,6546,1987-12-04,654.6000000000803,654.5872,2015-01-01 01:49:06,bin6546,35,False +abc,6547,6547,6547,1987-12-05,654.7000000000803,654.6872,2015-01-01 01:49:07,bin6547,75,False +abc,6548,6548,6548,1987-12-06,654.8000000000803,654.7872,2015-01-01 01:49:08,bin6548,35,False +abc,6549,6549,6549,1987-12-07,654.9000000000804,654.88715,2015-01-01 01:49:09,bin6549,75,False +abc,6550,6550,6550,1987-12-08,655.0000000000804,654.9871,2015-01-01 01:49:10,bin6550,35,False +abc,6551,6551,6551,1987-12-09,655.1000000000804,655.0871,2015-01-01 01:49:11,bin6551,75,False +abc,6552,6552,6552,1987-12-10,655.2000000000804,655.1871,2015-01-01 01:49:12,bin6552,35,False +abc,6553,6553,6553,1987-12-11,655.3000000000804,655.28705,2015-01-01 01:49:13,bin6553,75,False +abc,6554,6554,6554,1987-12-12,655.4000000000805,655.387,2015-01-01 01:49:14,bin6554,35,False +abc,6555,6555,6555,1987-12-13,655.5000000000805,655.487,2015-01-01 01:49:15,bin6555,75,False +abc,6556,6556,6556,1987-12-14,655.6000000000805,655.587,2015-01-01 01:49:16,bin6556,35,False +abc,6557,6557,6557,1987-12-15,655.7000000000805,655.68695,2015-01-01 01:49:17,bin6557,75,False +abc,6558,6558,6558,1987-12-16,655.8000000000806,655.7869,2015-01-01 01:49:18,bin6558,35,False +abc,6559,6559,6559,1987-12-17,655.9000000000806,655.8869,2015-01-01 01:49:19,bin6559,75,False +abc,6560,6560,6560,1987-12-18,656.0000000000806,655.9869,2015-01-01 01:49:20,bin6560,35,False +abc,6561,6561,6561,1987-12-19,656.1000000000806,656.08685,2015-01-01 01:49:21,bin6561,75,False +abc,6562,6562,6562,1987-12-20,656.2000000000806,656.1868,2015-01-01 01:49:22,bin6562,35,False +abc,6563,6563,6563,1987-12-21,656.3000000000807,656.2868,2015-01-01 01:49:23,bin6563,75,False +abc,6564,6564,6564,1987-12-22,656.4000000000807,656.3868,2015-01-01 01:49:24,bin6564,35,False +abc,6565,6565,6565,1987-12-23,656.5000000000807,656.48676,2015-01-01 01:49:25,bin6565,75,False +abc,6566,6566,6566,1987-12-24,656.6000000000807,656.58673,2015-01-01 01:49:26,bin6566,35,False +abc,6567,6567,6567,1987-12-25,656.7000000000808,656.6867,2015-01-01 01:49:27,bin6567,75,False +abc,6568,6568,6568,1987-12-26,656.8000000000808,656.7867,2015-01-01 01:49:28,bin6568,35,False +abc,6569,6569,6569,1987-12-27,656.9000000000808,656.88666,2015-01-01 01:49:29,bin6569,75,False +abc,6570,6570,6570,1987-12-28,657.0000000000808,656.98663,2015-01-01 01:49:30,bin6570,35,False +abc,6571,6571,6571,1987-12-29,657.1000000000809,657.0866,2015-01-01 01:49:31,bin6571,75,False +abc,6572,6572,6572,1987-12-30,657.2000000000809,657.1866,2015-01-01 01:49:32,bin6572,35,False +abc,6573,6573,6573,1987-12-31,657.3000000000809,657.28656,2015-01-01 01:49:33,bin6573,75,False +abc,6574,6574,6574,1988-01-01,657.4000000000809,657.38654,2015-01-01 01:49:34,bin6574,35,False +abc,6575,6575,6575,1988-01-02,657.500000000081,657.4865,2015-01-01 01:49:35,bin6575,75,False +abc,6576,6576,6576,1988-01-03,657.600000000081,657.5865,2015-01-01 01:49:36,bin6576,35,False +abc,6577,6577,6577,1988-01-04,657.700000000081,657.68646,2015-01-01 01:49:37,bin6577,75,False +abc,6578,6578,6578,1988-01-05,657.800000000081,657.78644,2015-01-01 01:49:38,bin6578,35,False +abc,6579,6579,6579,1988-01-06,657.900000000081,657.8864,2015-01-01 01:49:39,bin6579,75,False +abc,6580,6580,6580,1988-01-07,658.0000000000811,657.9864,2015-01-01 01:49:40,bin6580,35,False +abc,6581,6581,6581,1988-01-08,658.1000000000811,658.08636,2015-01-01 01:49:41,bin6581,75,False +abc,6582,6582,6582,1988-01-09,658.2000000000811,658.18634,2015-01-01 01:49:42,bin6582,35,False +abc,6583,6583,6583,1988-01-10,658.3000000000811,658.2863,2015-01-01 01:49:43,bin6583,75,False +abc,6584,6584,6584,1988-01-11,658.4000000000811,658.3863,2015-01-01 01:49:44,bin6584,35,False +abc,6585,6585,6585,1988-01-12,658.5000000000812,658.48627,2015-01-01 01:49:45,bin6585,75,False +abc,6586,6586,6586,1988-01-13,658.6000000000812,658.58624,2015-01-01 01:49:46,bin6586,35,False +abc,6587,6587,6587,1988-01-14,658.7000000000812,658.6862,2015-01-01 01:49:47,bin6587,75,False +abc,6588,6588,6588,1988-01-15,658.8000000000812,658.7862,2015-01-01 01:49:48,bin6588,35,False +abc,6589,6589,6589,1988-01-16,658.9000000000813,658.88617,2015-01-01 01:49:49,bin6589,75,False +abc,6590,6590,6590,1988-01-17,659.0000000000813,658.98615,2015-01-01 01:49:50,bin6590,35,False +abc,6591,6591,6591,1988-01-18,659.1000000000813,659.0861,2015-01-01 01:49:51,bin6591,75,False +abc,6592,6592,6592,1988-01-19,659.2000000000813,659.1861,2015-01-01 01:49:52,bin6592,35,False +abc,6593,6593,6593,1988-01-20,659.3000000000814,659.2861,2015-01-01 01:49:53,bin6593,75,False +abc,6594,6594,6594,1988-01-21,659.4000000000814,659.38605,2015-01-01 01:49:54,bin6594,35,False +abc,6595,6595,6595,1988-01-22,659.5000000000814,659.486,2015-01-01 01:49:55,bin6595,75,False +abc,6596,6596,6596,1988-01-23,659.6000000000814,659.586,2015-01-01 01:49:56,bin6596,35,False +abc,6597,6597,6597,1988-01-24,659.7000000000814,659.686,2015-01-01 01:49:57,bin6597,75,False +abc,6598,6598,6598,1988-01-25,659.8000000000815,659.78595,2015-01-01 01:49:58,bin6598,35,False +abc,6599,6599,6599,1988-01-26,659.9000000000815,659.8859,2015-01-01 01:49:59,bin6599,75,False +abc,6600,6600,6600,1988-01-27,660.0000000000815,659.9859,2015-01-01 01:50:00,bin6600,35,False +abc,6601,6601,6601,1988-01-28,660.1000000000815,660.0859,2015-01-01 01:50:01,bin6601,75,False +abc,6602,6602,6602,1988-01-29,660.2000000000816,660.18585,2015-01-01 01:50:02,bin6602,35,False +abc,6603,6603,6603,1988-01-30,660.3000000000816,660.2858,2015-01-01 01:50:03,bin6603,75,False +abc,6604,6604,6604,1988-01-31,660.4000000000816,660.3858,2015-01-01 01:50:04,bin6604,35,False +abc,6605,6605,6605,1988-02-01,660.5000000000816,660.4858,2015-01-01 01:50:05,bin6605,75,False +abc,6606,6606,6606,1988-02-02,660.6000000000816,660.58575,2015-01-01 01:50:06,bin6606,35,False +abc,6607,6607,6607,1988-02-03,660.7000000000817,660.6857,2015-01-01 01:50:07,bin6607,75,False +abc,6608,6608,6608,1988-02-04,660.8000000000817,660.7857,2015-01-01 01:50:08,bin6608,35,False +abc,6609,6609,6609,1988-02-05,660.9000000000817,660.8857,2015-01-01 01:50:09,bin6609,75,False +abc,6610,6610,6610,1988-02-06,661.0000000000817,660.98566,2015-01-01 01:50:10,bin6610,35,False +abc,6611,6611,6611,1988-02-07,661.1000000000818,661.08563,2015-01-01 01:50:11,bin6611,75,False +abc,6612,6612,6612,1988-02-08,661.2000000000818,661.1856,2015-01-01 01:50:12,bin6612,35,False +abc,6613,6613,6613,1988-02-09,661.3000000000818,661.2856,2015-01-01 01:50:13,bin6613,75,False +abc,6614,6614,6614,1988-02-10,661.4000000000818,661.38556,2015-01-01 01:50:14,bin6614,35,False +abc,6615,6615,6615,1988-02-11,661.5000000000819,661.48553,2015-01-01 01:50:15,bin6615,75,False +abc,6616,6616,6616,1988-02-12,661.6000000000819,661.5855,2015-01-01 01:50:16,bin6616,35,False +abc,6617,6617,6617,1988-02-13,661.7000000000819,661.6855,2015-01-01 01:50:17,bin6617,75,False +abc,6618,6618,6618,1988-02-14,661.8000000000819,661.78546,2015-01-01 01:50:18,bin6618,35,False +abc,6619,6619,6619,1988-02-15,661.900000000082,661.88544,2015-01-01 01:50:19,bin6619,75,False +abc,6620,6620,6620,1988-02-16,662.000000000082,661.9854,2015-01-01 01:50:20,bin6620,35,False +abc,6621,6621,6621,1988-02-17,662.100000000082,662.0854,2015-01-01 01:50:21,bin6621,75,False +abc,6622,6622,6622,1988-02-18,662.200000000082,662.18536,2015-01-01 01:50:22,bin6622,35,False +abc,6623,6623,6623,1988-02-19,662.300000000082,662.28534,2015-01-01 01:50:23,bin6623,75,False +abc,6624,6624,6624,1988-02-20,662.4000000000821,662.3853,2015-01-01 01:50:24,bin6624,35,False +abc,6625,6625,6625,1988-02-21,662.5000000000821,662.4853,2015-01-01 01:50:25,bin6625,75,False +abc,6626,6626,6626,1988-02-22,662.6000000000821,662.58527,2015-01-01 01:50:26,bin6626,35,False +abc,6627,6627,6627,1988-02-23,662.7000000000821,662.68524,2015-01-01 01:50:27,bin6627,75,False +abc,6628,6628,6628,1988-02-24,662.8000000000822,662.7852,2015-01-01 01:50:28,bin6628,35,False +abc,6629,6629,6629,1988-02-25,662.9000000000822,662.8852,2015-01-01 01:50:29,bin6629,75,False +abc,6630,6630,6630,1988-02-26,663.0000000000822,662.98517,2015-01-01 01:50:30,bin6630,35,False +abc,6631,6631,6631,1988-02-27,663.1000000000822,663.08514,2015-01-01 01:50:31,bin6631,75,False +abc,6632,6632,6632,1988-02-28,663.2000000000822,663.1851,2015-01-01 01:50:32,bin6632,35,False +abc,6633,6633,6633,1988-02-29,663.3000000000823,663.2851,2015-01-01 01:50:33,bin6633,75,False +abc,6634,6634,6634,1988-03-01,663.4000000000823,663.3851,2015-01-01 01:50:34,bin6634,35,False +abc,6635,6635,6635,1988-03-02,663.5000000000823,663.48505,2015-01-01 01:50:35,bin6635,75,False +abc,6636,6636,6636,1988-03-03,663.6000000000823,663.585,2015-01-01 01:50:36,bin6636,35,False +abc,6637,6637,6637,1988-03-04,663.7000000000824,663.685,2015-01-01 01:50:37,bin6637,75,False +abc,6638,6638,6638,1988-03-05,663.8000000000824,663.785,2015-01-01 01:50:38,bin6638,35,False +abc,6639,6639,6639,1988-03-06,663.9000000000824,663.88495,2015-01-01 01:50:39,bin6639,75,False +abc,6640,6640,6640,1988-03-07,664.0000000000824,663.9849,2015-01-01 01:50:40,bin6640,35,False +abc,6641,6641,6641,1988-03-08,664.1000000000824,664.0849,2015-01-01 01:50:41,bin6641,75,False +abc,6642,6642,6642,1988-03-09,664.2000000000825,664.1849,2015-01-01 01:50:42,bin6642,35,False +abc,6643,6643,6643,1988-03-10,664.3000000000825,664.28485,2015-01-01 01:50:43,bin6643,75,False +abc,6644,6644,6644,1988-03-11,664.4000000000825,664.3848,2015-01-01 01:50:44,bin6644,35,False +abc,6645,6645,6645,1988-03-12,664.5000000000825,664.4848,2015-01-01 01:50:45,bin6645,75,False +abc,6646,6646,6646,1988-03-13,664.6000000000826,664.5848,2015-01-01 01:50:46,bin6646,35,False +abc,6647,6647,6647,1988-03-14,664.7000000000826,664.68475,2015-01-01 01:50:47,bin6647,75,False +abc,6648,6648,6648,1988-03-15,664.8000000000826,664.7847,2015-01-01 01:50:48,bin6648,35,False +abc,6649,6649,6649,1988-03-16,664.9000000000826,664.8847,2015-01-01 01:50:49,bin6649,75,False +abc,6650,6650,6650,1988-03-17,665.0000000000827,664.9847,2015-01-01 01:50:50,bin6650,35,False +abc,6651,6651,6651,1988-03-18,665.1000000000827,665.08466,2015-01-01 01:50:51,bin6651,75,False +abc,6652,6652,6652,1988-03-19,665.2000000000827,665.18463,2015-01-01 01:50:52,bin6652,35,False +abc,6653,6653,6653,1988-03-20,665.3000000000827,665.2846,2015-01-01 01:50:53,bin6653,75,False +abc,6654,6654,6654,1988-03-21,665.4000000000827,665.3846,2015-01-01 01:50:54,bin6654,35,False +abc,6655,6655,6655,1988-03-22,665.5000000000828,665.48456,2015-01-01 01:50:55,bin6655,75,False +abc,6656,6656,6656,1988-03-23,665.6000000000828,665.58453,2015-01-01 01:50:56,bin6656,35,False +abc,6657,6657,6657,1988-03-24,665.7000000000828,665.6845,2015-01-01 01:50:57,bin6657,75,False +abc,6658,6658,6658,1988-03-25,665.8000000000828,665.7845,2015-01-01 01:50:58,bin6658,35,False +abc,6659,6659,6659,1988-03-26,665.9000000000829,665.88446,2015-01-01 01:50:59,bin6659,75,False +abc,6660,6660,6660,1988-03-27,666.0000000000829,665.98444,2015-01-01 01:51:00,bin6660,35,False +abc,6661,6661,6661,1988-03-28,666.1000000000829,666.0844,2015-01-01 01:51:01,bin6661,75,False +abc,6662,6662,6662,1988-03-29,666.2000000000829,666.1844,2015-01-01 01:51:02,bin6662,35,False +abc,6663,6663,6663,1988-03-30,666.300000000083,666.28436,2015-01-01 01:51:03,bin6663,75,False +abc,6664,6664,6664,1988-03-31,666.400000000083,666.38434,2015-01-01 01:51:04,bin6664,35,False +abc,6665,6665,6665,1988-04-01,666.500000000083,666.4843,2015-01-01 01:51:05,bin6665,75,False +abc,6666,6666,6666,1988-04-02,666.600000000083,666.5843,2015-01-01 01:51:06,bin6666,35,False +abc,6667,6667,6667,1988-04-03,666.700000000083,666.68427,2015-01-01 01:51:07,bin6667,75,False +abc,6668,6668,6668,1988-04-04,666.8000000000831,666.78424,2015-01-01 01:51:08,bin6668,35,False +abc,6669,6669,6669,1988-04-05,666.9000000000831,666.8842,2015-01-01 01:51:09,bin6669,75,False +abc,6670,6670,6670,1988-04-06,667.0000000000831,666.9842,2015-01-01 01:51:10,bin6670,35,False +abc,6671,6671,6671,1988-04-07,667.1000000000831,667.08417,2015-01-01 01:51:11,bin6671,75,False +abc,6672,6672,6672,1988-04-08,667.2000000000832,667.18414,2015-01-01 01:51:12,bin6672,35,False +abc,6673,6673,6673,1988-04-09,667.3000000000832,667.2841,2015-01-01 01:51:13,bin6673,75,False +abc,6674,6674,6674,1988-04-10,667.4000000000832,667.3841,2015-01-01 01:51:14,bin6674,35,False +abc,6675,6675,6675,1988-04-11,667.5000000000832,667.4841,2015-01-01 01:51:15,bin6675,75,False +abc,6676,6676,6676,1988-04-12,667.6000000000832,667.58405,2015-01-01 01:51:16,bin6676,35,False +abc,6677,6677,6677,1988-04-13,667.7000000000833,667.684,2015-01-01 01:51:17,bin6677,75,False +abc,6678,6678,6678,1988-04-14,667.8000000000833,667.784,2015-01-01 01:51:18,bin6678,35,False +abc,6679,6679,6679,1988-04-15,667.9000000000833,667.884,2015-01-01 01:51:19,bin6679,75,False +abc,6680,6680,6680,1988-04-16,668.0000000000833,667.98395,2015-01-01 01:51:20,bin6680,35,False +abc,6681,6681,6681,1988-04-17,668.1000000000834,668.0839,2015-01-01 01:51:21,bin6681,75,False +abc,6682,6682,6682,1988-04-18,668.2000000000834,668.1839,2015-01-01 01:51:22,bin6682,35,False +abc,6683,6683,6683,1988-04-19,668.3000000000834,668.2839,2015-01-01 01:51:23,bin6683,75,False +abc,6684,6684,6684,1988-04-20,668.4000000000834,668.38385,2015-01-01 01:51:24,bin6684,35,False +abc,6685,6685,6685,1988-04-21,668.5000000000834,668.4838,2015-01-01 01:51:25,bin6685,75,False +abc,6686,6686,6686,1988-04-22,668.6000000000835,668.5838,2015-01-01 01:51:26,bin6686,35,False +abc,6687,6687,6687,1988-04-23,668.7000000000835,668.6838,2015-01-01 01:51:27,bin6687,75,False +abc,6688,6688,6688,1988-04-24,668.8000000000835,668.78375,2015-01-01 01:51:28,bin6688,35,False +abc,6689,6689,6689,1988-04-25,668.9000000000835,668.8837,2015-01-01 01:51:29,bin6689,75,False +abc,6690,6690,6690,1988-04-26,669.0000000000836,668.9837,2015-01-01 01:51:30,bin6690,35,False +abc,6691,6691,6691,1988-04-27,669.1000000000836,669.0837,2015-01-01 01:51:31,bin6691,75,False +abc,6692,6692,6692,1988-04-28,669.2000000000836,669.18365,2015-01-01 01:51:32,bin6692,35,False +abc,6693,6693,6693,1988-04-29,669.3000000000836,669.2836,2015-01-01 01:51:33,bin6693,75,False +abc,6694,6694,6694,1988-04-30,669.4000000000837,669.3836,2015-01-01 01:51:34,bin6694,35,False +abc,6695,6695,6695,1988-05-01,669.5000000000837,669.4836,2015-01-01 01:51:35,bin6695,75,False +abc,6696,6696,6696,1988-05-02,669.6000000000837,669.58356,2015-01-01 01:51:36,bin6696,35,False +abc,6697,6697,6697,1988-05-03,669.7000000000837,669.68353,2015-01-01 01:51:37,bin6697,75,False +abc,6698,6698,6698,1988-05-04,669.8000000000837,669.7835,2015-01-01 01:51:38,bin6698,35,False +abc,6699,6699,6699,1988-05-05,669.9000000000838,669.8835,2015-01-01 01:51:39,bin6699,75,False +abc,6700,6700,6700,1988-05-06,670.0000000000838,669.98346,2015-01-01 01:51:40,bin6700,35,False +abc,6701,6701,6701,1988-05-07,670.1000000000838,670.08344,2015-01-01 01:51:41,bin6701,75,False +abc,6702,6702,6702,1988-05-08,670.2000000000838,670.1834,2015-01-01 01:51:42,bin6702,35,False +abc,6703,6703,6703,1988-05-09,670.3000000000839,670.2834,2015-01-01 01:51:43,bin6703,75,False +abc,6704,6704,6704,1988-05-10,670.4000000000839,670.38336,2015-01-01 01:51:44,bin6704,35,False +abc,6705,6705,6705,1988-05-11,670.5000000000839,670.48334,2015-01-01 01:51:45,bin6705,75,False +abc,6706,6706,6706,1988-05-12,670.6000000000839,670.5833,2015-01-01 01:51:46,bin6706,35,False +abc,6707,6707,6707,1988-05-13,670.700000000084,670.6833,2015-01-01 01:51:47,bin6707,75,False +abc,6708,6708,6708,1988-05-14,670.800000000084,670.78326,2015-01-01 01:51:48,bin6708,35,False +abc,6709,6709,6709,1988-05-15,670.900000000084,670.88324,2015-01-01 01:51:49,bin6709,75,False +abc,6710,6710,6710,1988-05-16,671.000000000084,670.9832,2015-01-01 01:51:50,bin6710,35,False +abc,6711,6711,6711,1988-05-17,671.100000000084,671.0832,2015-01-01 01:51:51,bin6711,75,False +abc,6712,6712,6712,1988-05-18,671.2000000000841,671.18317,2015-01-01 01:51:52,bin6712,35,False +abc,6713,6713,6713,1988-05-19,671.3000000000841,671.28314,2015-01-01 01:51:53,bin6713,75,False +abc,6714,6714,6714,1988-05-20,671.4000000000841,671.3831,2015-01-01 01:51:54,bin6714,35,False +abc,6715,6715,6715,1988-05-21,671.5000000000841,671.4831,2015-01-01 01:51:55,bin6715,75,False +abc,6716,6716,6716,1988-05-22,671.6000000000842,671.58307,2015-01-01 01:51:56,bin6716,35,False +abc,6717,6717,6717,1988-05-23,671.7000000000842,671.68304,2015-01-01 01:51:57,bin6717,75,False +abc,6718,6718,6718,1988-05-24,671.8000000000842,671.783,2015-01-01 01:51:58,bin6718,35,False +abc,6719,6719,6719,1988-05-25,671.9000000000842,671.883,2015-01-01 01:51:59,bin6719,75,False +abc,6720,6720,6720,1988-05-26,672.0000000000842,671.983,2015-01-01 01:52:00,bin6720,35,False +abc,6721,6721,6721,1988-05-27,672.1000000000843,672.08295,2015-01-01 01:52:01,bin6721,75,False +abc,6722,6722,6722,1988-05-28,672.2000000000843,672.1829,2015-01-01 01:52:02,bin6722,35,False +abc,6723,6723,6723,1988-05-29,672.3000000000843,672.2829,2015-01-01 01:52:03,bin6723,75,False +abc,6724,6724,6724,1988-05-30,672.4000000000843,672.3829,2015-01-01 01:52:04,bin6724,35,False +abc,6725,6725,6725,1988-05-31,672.5000000000844,672.48285,2015-01-01 01:52:05,bin6725,75,False +abc,6726,6726,6726,1988-06-01,672.6000000000844,672.5828,2015-01-01 01:52:06,bin6726,35,False +abc,6727,6727,6727,1988-06-02,672.7000000000844,672.6828,2015-01-01 01:52:07,bin6727,75,False +abc,6728,6728,6728,1988-06-03,672.8000000000844,672.7828,2015-01-01 01:52:08,bin6728,35,False +abc,6729,6729,6729,1988-06-04,672.9000000000844,672.88275,2015-01-01 01:52:09,bin6729,75,False +abc,6730,6730,6730,1988-06-05,673.0000000000845,672.9827,2015-01-01 01:52:10,bin6730,35,False +abc,6731,6731,6731,1988-06-06,673.1000000000845,673.0827,2015-01-01 01:52:11,bin6731,75,False +abc,6732,6732,6732,1988-06-07,673.2000000000845,673.1827,2015-01-01 01:52:12,bin6732,35,False +abc,6733,6733,6733,1988-06-08,673.3000000000845,673.28265,2015-01-01 01:52:13,bin6733,75,False +abc,6734,6734,6734,1988-06-09,673.4000000000846,673.3826,2015-01-01 01:52:14,bin6734,35,False +abc,6735,6735,6735,1988-06-10,673.5000000000846,673.4826,2015-01-01 01:52:15,bin6735,75,False +abc,6736,6736,6736,1988-06-11,673.6000000000846,673.5826,2015-01-01 01:52:16,bin6736,35,False +abc,6737,6737,6737,1988-06-12,673.7000000000846,673.68256,2015-01-01 01:52:17,bin6737,75,False +abc,6738,6738,6738,1988-06-13,673.8000000000847,673.78253,2015-01-01 01:52:18,bin6738,35,False +abc,6739,6739,6739,1988-06-14,673.9000000000847,673.8825,2015-01-01 01:52:19,bin6739,75,False +abc,6740,6740,6740,1988-06-15,674.0000000000847,673.9825,2015-01-01 01:52:20,bin6740,35,False +abc,6741,6741,6741,1988-06-16,674.1000000000847,674.08246,2015-01-01 01:52:21,bin6741,75,False +abc,6742,6742,6742,1988-06-17,674.2000000000847,674.18243,2015-01-01 01:52:22,bin6742,35,False +abc,6743,6743,6743,1988-06-18,674.3000000000848,674.2824,2015-01-01 01:52:23,bin6743,75,False +abc,6744,6744,6744,1988-06-19,674.4000000000848,674.3824,2015-01-01 01:52:24,bin6744,35,False +abc,6745,6745,6745,1988-06-20,674.5000000000848,674.48236,2015-01-01 01:52:25,bin6745,75,False +abc,6746,6746,6746,1988-06-21,674.6000000000848,674.58234,2015-01-01 01:52:26,bin6746,35,False +abc,6747,6747,6747,1988-06-22,674.7000000000849,674.6823,2015-01-01 01:52:27,bin6747,75,False +abc,6748,6748,6748,1988-06-23,674.8000000000849,674.7823,2015-01-01 01:52:28,bin6748,35,False +abc,6749,6749,6749,1988-06-24,674.9000000000849,674.88226,2015-01-01 01:52:29,bin6749,75,False +abc,6750,6750,6750,1988-06-25,675.0000000000849,674.98224,2015-01-01 01:52:30,bin6750,35,False +abc,6751,6751,6751,1988-06-26,675.100000000085,675.0822,2015-01-01 01:52:31,bin6751,75,False +abc,6752,6752,6752,1988-06-27,675.200000000085,675.1822,2015-01-01 01:52:32,bin6752,35,False +abc,6753,6753,6753,1988-06-28,675.300000000085,675.28217,2015-01-01 01:52:33,bin6753,75,False +abc,6754,6754,6754,1988-06-29,675.400000000085,675.38214,2015-01-01 01:52:34,bin6754,35,False +abc,6755,6755,6755,1988-06-30,675.500000000085,675.4821,2015-01-01 01:52:35,bin6755,75,False +abc,6756,6756,6756,1988-07-01,675.6000000000851,675.5821,2015-01-01 01:52:36,bin6756,35,False +abc,6757,6757,6757,1988-07-02,675.7000000000851,675.68207,2015-01-01 01:52:37,bin6757,75,False +abc,6758,6758,6758,1988-07-03,675.8000000000851,675.78204,2015-01-01 01:52:38,bin6758,35,False +abc,6759,6759,6759,1988-07-04,675.9000000000851,675.882,2015-01-01 01:52:39,bin6759,75,False +abc,6760,6760,6760,1988-07-05,676.0000000000852,675.982,2015-01-01 01:52:40,bin6760,35,False +abc,6761,6761,6761,1988-07-06,676.1000000000852,676.082,2015-01-01 01:52:41,bin6761,75,False +abc,6762,6762,6762,1988-07-07,676.2000000000852,676.18195,2015-01-01 01:52:42,bin6762,35,False +abc,6763,6763,6763,1988-07-08,676.3000000000852,676.2819,2015-01-01 01:52:43,bin6763,75,False +abc,6764,6764,6764,1988-07-09,676.4000000000852,676.3819,2015-01-01 01:52:44,bin6764,35,False +abc,6765,6765,6765,1988-07-10,676.5000000000853,676.4819,2015-01-01 01:52:45,bin6765,75,False +abc,6766,6766,6766,1988-07-11,676.6000000000853,676.58185,2015-01-01 01:52:46,bin6766,35,False +abc,6767,6767,6767,1988-07-12,676.7000000000853,676.6818,2015-01-01 01:52:47,bin6767,75,False +abc,6768,6768,6768,1988-07-13,676.8000000000853,676.7818,2015-01-01 01:52:48,bin6768,35,False +abc,6769,6769,6769,1988-07-14,676.9000000000854,676.8818,2015-01-01 01:52:49,bin6769,75,False +abc,6770,6770,6770,1988-07-15,677.0000000000854,676.98175,2015-01-01 01:52:50,bin6770,35,False +abc,6771,6771,6771,1988-07-16,677.1000000000854,677.0817,2015-01-01 01:52:51,bin6771,75,False +abc,6772,6772,6772,1988-07-17,677.2000000000854,677.1817,2015-01-01 01:52:52,bin6772,35,False +abc,6773,6773,6773,1988-07-18,677.3000000000854,677.2817,2015-01-01 01:52:53,bin6773,75,False +abc,6774,6774,6774,1988-07-19,677.4000000000855,677.38165,2015-01-01 01:52:54,bin6774,35,False +abc,6775,6775,6775,1988-07-20,677.5000000000855,677.4816,2015-01-01 01:52:55,bin6775,75,False +abc,6776,6776,6776,1988-07-21,677.6000000000855,677.5816,2015-01-01 01:52:56,bin6776,35,False +abc,6777,6777,6777,1988-07-22,677.7000000000855,677.6816,2015-01-01 01:52:57,bin6777,75,False +abc,6778,6778,6778,1988-07-23,677.8000000000856,677.78156,2015-01-01 01:52:58,bin6778,35,False +abc,6779,6779,6779,1988-07-24,677.9000000000856,677.88153,2015-01-01 01:52:59,bin6779,75,False +abc,6780,6780,6780,1988-07-25,678.0000000000856,677.9815,2015-01-01 01:53:00,bin6780,35,False +abc,6781,6781,6781,1988-07-26,678.1000000000856,678.0815,2015-01-01 01:53:01,bin6781,75,False +abc,6782,6782,6782,1988-07-27,678.2000000000857,678.18146,2015-01-01 01:53:02,bin6782,35,False +abc,6783,6783,6783,1988-07-28,678.3000000000857,678.28143,2015-01-01 01:53:03,bin6783,75,False +abc,6784,6784,6784,1988-07-29,678.4000000000857,678.3814,2015-01-01 01:53:04,bin6784,35,False +abc,6785,6785,6785,1988-07-30,678.5000000000857,678.4814,2015-01-01 01:53:05,bin6785,75,False +abc,6786,6786,6786,1988-07-31,678.6000000000857,678.58136,2015-01-01 01:53:06,bin6786,35,False +abc,6787,6787,6787,1988-08-01,678.7000000000858,678.68134,2015-01-01 01:53:07,bin6787,75,False +abc,6788,6788,6788,1988-08-02,678.8000000000858,678.7813,2015-01-01 01:53:08,bin6788,35,False +abc,6789,6789,6789,1988-08-03,678.9000000000858,678.8813,2015-01-01 01:53:09,bin6789,75,False +abc,6790,6790,6790,1988-08-04,679.0000000000858,678.98126,2015-01-01 01:53:10,bin6790,35,False +abc,6791,6791,6791,1988-08-05,679.1000000000859,679.08124,2015-01-01 01:53:11,bin6791,75,False +abc,6792,6792,6792,1988-08-06,679.2000000000859,679.1812,2015-01-01 01:53:12,bin6792,35,False +abc,6793,6793,6793,1988-08-07,679.3000000000859,679.2812,2015-01-01 01:53:13,bin6793,75,False +abc,6794,6794,6794,1988-08-08,679.4000000000859,679.38116,2015-01-01 01:53:14,bin6794,35,False +abc,6795,6795,6795,1988-08-09,679.500000000086,679.48114,2015-01-01 01:53:15,bin6795,75,False +abc,6796,6796,6796,1988-08-10,679.600000000086,679.5811,2015-01-01 01:53:16,bin6796,35,False +abc,6797,6797,6797,1988-08-11,679.700000000086,679.6811,2015-01-01 01:53:17,bin6797,75,False +abc,6798,6798,6798,1988-08-12,679.800000000086,679.78107,2015-01-01 01:53:18,bin6798,35,False +abc,6799,6799,6799,1988-08-13,679.900000000086,679.88104,2015-01-01 01:53:19,bin6799,75,False +abc,6800,6800,6800,1988-08-14,680.0000000000861,679.981,2015-01-01 01:53:20,bin6800,35,False +abc,6801,6801,6801,1988-08-15,680.1000000000861,680.081,2015-01-01 01:53:21,bin6801,75,False +abc,6802,6802,6802,1988-08-16,680.2000000000861,680.18097,2015-01-01 01:53:22,bin6802,35,False +abc,6803,6803,6803,1988-08-17,680.3000000000861,680.28094,2015-01-01 01:53:23,bin6803,75,False +abc,6804,6804,6804,1988-08-18,680.4000000000862,680.3809,2015-01-01 01:53:24,bin6804,35,False +abc,6805,6805,6805,1988-08-19,680.5000000000862,680.4809,2015-01-01 01:53:25,bin6805,75,False +abc,6806,6806,6806,1988-08-20,680.6000000000862,680.5809,2015-01-01 01:53:26,bin6806,35,False +abc,6807,6807,6807,1988-08-21,680.7000000000862,680.68085,2015-01-01 01:53:27,bin6807,75,False +abc,6808,6808,6808,1988-08-22,680.8000000000862,680.7808,2015-01-01 01:53:28,bin6808,35,False +abc,6809,6809,6809,1988-08-23,680.9000000000863,680.8808,2015-01-01 01:53:29,bin6809,75,False +abc,6810,6810,6810,1988-08-24,681.0000000000863,680.9808,2015-01-01 01:53:30,bin6810,35,False +abc,6811,6811,6811,1988-08-25,681.1000000000863,681.08075,2015-01-01 01:53:31,bin6811,75,False +abc,6812,6812,6812,1988-08-26,681.2000000000863,681.1807,2015-01-01 01:53:32,bin6812,35,False +abc,6813,6813,6813,1988-08-27,681.3000000000864,681.2807,2015-01-01 01:53:33,bin6813,75,False +abc,6814,6814,6814,1988-08-28,681.4000000000864,681.3807,2015-01-01 01:53:34,bin6814,35,False +abc,6815,6815,6815,1988-08-29,681.5000000000864,681.48065,2015-01-01 01:53:35,bin6815,75,False +abc,6816,6816,6816,1988-08-30,681.6000000000864,681.5806,2015-01-01 01:53:36,bin6816,35,False +abc,6817,6817,6817,1988-08-31,681.7000000000864,681.6806,2015-01-01 01:53:37,bin6817,75,False +abc,6818,6818,6818,1988-09-01,681.8000000000865,681.7806,2015-01-01 01:53:38,bin6818,35,False +abc,6819,6819,6819,1988-09-02,681.9000000000865,681.88055,2015-01-01 01:53:39,bin6819,75,False +abc,6820,6820,6820,1988-09-03,682.0000000000865,681.9805,2015-01-01 01:53:40,bin6820,35,False +abc,6821,6821,6821,1988-09-04,682.1000000000865,682.0805,2015-01-01 01:53:41,bin6821,75,False +abc,6822,6822,6822,1988-09-05,682.2000000000866,682.1805,2015-01-01 01:53:42,bin6822,35,False +abc,6823,6823,6823,1988-09-06,682.3000000000866,682.28046,2015-01-01 01:53:43,bin6823,75,False +abc,6824,6824,6824,1988-09-07,682.4000000000866,682.38043,2015-01-01 01:53:44,bin6824,35,False +abc,6825,6825,6825,1988-09-08,682.5000000000866,682.4804,2015-01-01 01:53:45,bin6825,75,False +abc,6826,6826,6826,1988-09-09,682.6000000000867,682.5804,2015-01-01 01:53:46,bin6826,35,False +abc,6827,6827,6827,1988-09-10,682.7000000000867,682.68036,2015-01-01 01:53:47,bin6827,75,False +abc,6828,6828,6828,1988-09-11,682.8000000000867,682.78033,2015-01-01 01:53:48,bin6828,35,False +abc,6829,6829,6829,1988-09-12,682.9000000000867,682.8803,2015-01-01 01:53:49,bin6829,75,False +abc,6830,6830,6830,1988-09-13,683.0000000000867,682.9803,2015-01-01 01:53:50,bin6830,35,False +abc,6831,6831,6831,1988-09-14,683.1000000000868,683.08026,2015-01-01 01:53:51,bin6831,75,False +abc,6832,6832,6832,1988-09-15,683.2000000000868,683.18024,2015-01-01 01:53:52,bin6832,35,False +abc,6833,6833,6833,1988-09-16,683.3000000000868,683.2802,2015-01-01 01:53:53,bin6833,75,False +abc,6834,6834,6834,1988-09-17,683.4000000000868,683.3802,2015-01-01 01:53:54,bin6834,35,False +abc,6835,6835,6835,1988-09-18,683.5000000000869,683.48016,2015-01-01 01:53:55,bin6835,75,False +abc,6836,6836,6836,1988-09-19,683.6000000000869,683.58014,2015-01-01 01:53:56,bin6836,35,False +abc,6837,6837,6837,1988-09-20,683.7000000000869,683.6801,2015-01-01 01:53:57,bin6837,75,False +abc,6838,6838,6838,1988-09-21,683.8000000000869,683.7801,2015-01-01 01:53:58,bin6838,35,False +abc,6839,6839,6839,1988-09-22,683.900000000087,683.88007,2015-01-01 01:53:59,bin6839,75,False +abc,6840,6840,6840,1988-09-23,684.000000000087,683.98004,2015-01-01 01:54:00,bin6840,35,False +abc,6841,6841,6841,1988-09-24,684.100000000087,684.08,2015-01-01 01:54:01,bin6841,75,False +abc,6842,6842,6842,1988-09-25,684.200000000087,684.18,2015-01-01 01:54:02,bin6842,35,False +abc,6843,6843,6843,1988-09-26,684.300000000087,684.27997,2015-01-01 01:54:03,bin6843,75,False +abc,6844,6844,6844,1988-09-27,684.4000000000871,684.37994,2015-01-01 01:54:04,bin6844,35,False +abc,6845,6845,6845,1988-09-28,684.5000000000871,684.4799,2015-01-01 01:54:05,bin6845,75,False +abc,6846,6846,6846,1988-09-29,684.6000000000871,684.5799,2015-01-01 01:54:06,bin6846,35,False +abc,6847,6847,6847,1988-09-30,684.7000000000871,684.6799,2015-01-01 01:54:07,bin6847,75,False +abc,6848,6848,6848,1988-10-01,684.8000000000872,684.77985,2015-01-01 01:54:08,bin6848,35,False +abc,6849,6849,6849,1988-10-02,684.9000000000872,684.8798,2015-01-01 01:54:09,bin6849,75,False +abc,6850,6850,6850,1988-10-03,685.0000000000872,684.9798,2015-01-01 01:54:10,bin6850,35,False +abc,6851,6851,6851,1988-10-04,685.1000000000872,685.0798,2015-01-01 01:54:11,bin6851,75,False +abc,6852,6852,6852,1988-10-05,685.2000000000872,685.17975,2015-01-01 01:54:12,bin6852,35,False +abc,6853,6853,6853,1988-10-06,685.3000000000873,685.2797,2015-01-01 01:54:13,bin6853,75,False +abc,6854,6854,6854,1988-10-07,685.4000000000873,685.3797,2015-01-01 01:54:14,bin6854,35,False +abc,6855,6855,6855,1988-10-08,685.5000000000873,685.4797,2015-01-01 01:54:15,bin6855,75,False +abc,6856,6856,6856,1988-10-09,685.6000000000873,685.57965,2015-01-01 01:54:16,bin6856,35,False +abc,6857,6857,6857,1988-10-10,685.7000000000874,685.6796,2015-01-01 01:54:17,bin6857,75,False +abc,6858,6858,6858,1988-10-11,685.8000000000874,685.7796,2015-01-01 01:54:18,bin6858,35,False +abc,6859,6859,6859,1988-10-12,685.9000000000874,685.8796,2015-01-01 01:54:19,bin6859,75,False +abc,6860,6860,6860,1988-10-13,686.0000000000874,685.97955,2015-01-01 01:54:20,bin6860,35,False +abc,6861,6861,6861,1988-10-14,686.1000000000874,686.0795,2015-01-01 01:54:21,bin6861,75,False +abc,6862,6862,6862,1988-10-15,686.2000000000875,686.1795,2015-01-01 01:54:22,bin6862,35,False +abc,6863,6863,6863,1988-10-16,686.3000000000875,686.2795,2015-01-01 01:54:23,bin6863,75,False +abc,6864,6864,6864,1988-10-17,686.4000000000875,686.37946,2015-01-01 01:54:24,bin6864,35,False +abc,6865,6865,6865,1988-10-18,686.5000000000875,686.47943,2015-01-01 01:54:25,bin6865,75,False +abc,6866,6866,6866,1988-10-19,686.6000000000876,686.5794,2015-01-01 01:54:26,bin6866,35,False +abc,6867,6867,6867,1988-10-20,686.7000000000876,686.6794,2015-01-01 01:54:27,bin6867,75,False +abc,6868,6868,6868,1988-10-21,686.8000000000876,686.77936,2015-01-01 01:54:28,bin6868,35,False +abc,6869,6869,6869,1988-10-22,686.9000000000876,686.87933,2015-01-01 01:54:29,bin6869,75,False +abc,6870,6870,6870,1988-10-23,687.0000000000877,686.9793,2015-01-01 01:54:30,bin6870,35,False +abc,6871,6871,6871,1988-10-24,687.1000000000877,687.0793,2015-01-01 01:54:31,bin6871,75,False +abc,6872,6872,6872,1988-10-25,687.2000000000877,687.17926,2015-01-01 01:54:32,bin6872,35,False +abc,6873,6873,6873,1988-10-26,687.3000000000877,687.27924,2015-01-01 01:54:33,bin6873,75,False +abc,6874,6874,6874,1988-10-27,687.4000000000877,687.3792,2015-01-01 01:54:34,bin6874,35,False +abc,6875,6875,6875,1988-10-28,687.5000000000878,687.4792,2015-01-01 01:54:35,bin6875,75,False +abc,6876,6876,6876,1988-10-29,687.6000000000878,687.57916,2015-01-01 01:54:36,bin6876,35,False +abc,6877,6877,6877,1988-10-30,687.7000000000878,687.67914,2015-01-01 01:54:37,bin6877,75,False +abc,6878,6878,6878,1988-10-31,687.8000000000878,687.7791,2015-01-01 01:54:38,bin6878,35,False +abc,6879,6879,6879,1988-11-01,687.9000000000879,687.8791,2015-01-01 01:54:39,bin6879,75,False +abc,6880,6880,6880,1988-11-02,688.0000000000879,687.97906,2015-01-01 01:54:40,bin6880,35,False +abc,6881,6881,6881,1988-11-03,688.1000000000879,688.07904,2015-01-01 01:54:41,bin6881,75,False +abc,6882,6882,6882,1988-11-04,688.2000000000879,688.179,2015-01-01 01:54:42,bin6882,35,False +abc,6883,6883,6883,1988-11-05,688.300000000088,688.279,2015-01-01 01:54:43,bin6883,75,False +abc,6884,6884,6884,1988-11-06,688.400000000088,688.37897,2015-01-01 01:54:44,bin6884,35,False +abc,6885,6885,6885,1988-11-07,688.500000000088,688.47894,2015-01-01 01:54:45,bin6885,75,False +abc,6886,6886,6886,1988-11-08,688.600000000088,688.5789,2015-01-01 01:54:46,bin6886,35,False +abc,6887,6887,6887,1988-11-09,688.700000000088,688.6789,2015-01-01 01:54:47,bin6887,75,False +abc,6888,6888,6888,1988-11-10,688.8000000000881,688.7789,2015-01-01 01:54:48,bin6888,35,False +abc,6889,6889,6889,1988-11-11,688.9000000000881,688.87885,2015-01-01 01:54:49,bin6889,75,False +abc,6890,6890,6890,1988-11-12,689.0000000000881,688.9788,2015-01-01 01:54:50,bin6890,35,False +abc,6891,6891,6891,1988-11-13,689.1000000000881,689.0788,2015-01-01 01:54:51,bin6891,75,False +abc,6892,6892,6892,1988-11-14,689.2000000000882,689.1788,2015-01-01 01:54:52,bin6892,35,False +abc,6893,6893,6893,1988-11-15,689.3000000000882,689.27875,2015-01-01 01:54:53,bin6893,75,False +abc,6894,6894,6894,1988-11-16,689.4000000000882,689.3787,2015-01-01 01:54:54,bin6894,35,False +abc,6895,6895,6895,1988-11-17,689.5000000000882,689.4787,2015-01-01 01:54:55,bin6895,75,False +abc,6896,6896,6896,1988-11-18,689.6000000000882,689.5787,2015-01-01 01:54:56,bin6896,35,False +abc,6897,6897,6897,1988-11-19,689.7000000000883,689.67865,2015-01-01 01:54:57,bin6897,75,False +abc,6898,6898,6898,1988-11-20,689.8000000000883,689.7786,2015-01-01 01:54:58,bin6898,35,False +abc,6899,6899,6899,1988-11-21,689.9000000000883,689.8786,2015-01-01 01:54:59,bin6899,75,False +abc,6900,6900,6900,1988-11-22,690.0000000000883,689.9786,2015-01-01 01:55:00,bin6900,35,False +abc,6901,6901,6901,1988-11-23,690.1000000000884,690.07855,2015-01-01 01:55:01,bin6901,75,False +abc,6902,6902,6902,1988-11-24,690.2000000000884,690.1785,2015-01-01 01:55:02,bin6902,35,False +abc,6903,6903,6903,1988-11-25,690.3000000000884,690.2785,2015-01-01 01:55:03,bin6903,75,False +abc,6904,6904,6904,1988-11-26,690.4000000000884,690.3785,2015-01-01 01:55:04,bin6904,35,False +abc,6905,6905,6905,1988-11-27,690.5000000000884,690.47845,2015-01-01 01:55:05,bin6905,75,False +abc,6906,6906,6906,1988-11-28,690.6000000000885,690.5784,2015-01-01 01:55:06,bin6906,35,False +abc,6907,6907,6907,1988-11-29,690.7000000000885,690.6784,2015-01-01 01:55:07,bin6907,75,False +abc,6908,6908,6908,1988-11-30,690.8000000000885,690.7784,2015-01-01 01:55:08,bin6908,35,False +abc,6909,6909,6909,1988-12-01,690.9000000000885,690.87836,2015-01-01 01:55:09,bin6909,75,False +abc,6910,6910,6910,1988-12-02,691.0000000000886,690.97833,2015-01-01 01:55:10,bin6910,35,False +abc,6911,6911,6911,1988-12-03,691.1000000000886,691.0783,2015-01-01 01:55:11,bin6911,75,False +abc,6912,6912,6912,1988-12-04,691.2000000000886,691.1783,2015-01-01 01:55:12,bin6912,35,False +abc,6913,6913,6913,1988-12-05,691.3000000000886,691.27826,2015-01-01 01:55:13,bin6913,75,False +abc,6914,6914,6914,1988-12-06,691.4000000000887,691.37823,2015-01-01 01:55:14,bin6914,35,False +abc,6915,6915,6915,1988-12-07,691.5000000000887,691.4782,2015-01-01 01:55:15,bin6915,75,False +abc,6916,6916,6916,1988-12-08,691.6000000000887,691.5782,2015-01-01 01:55:16,bin6916,35,False +abc,6917,6917,6917,1988-12-09,691.7000000000887,691.67816,2015-01-01 01:55:17,bin6917,75,False +abc,6918,6918,6918,1988-12-10,691.8000000000887,691.77814,2015-01-01 01:55:18,bin6918,35,False +abc,6919,6919,6919,1988-12-11,691.9000000000888,691.8781,2015-01-01 01:55:19,bin6919,75,False +abc,6920,6920,6920,1988-12-12,692.0000000000888,691.9781,2015-01-01 01:55:20,bin6920,35,False +abc,6921,6921,6921,1988-12-13,692.1000000000888,692.07806,2015-01-01 01:55:21,bin6921,75,False +abc,6922,6922,6922,1988-12-14,692.2000000000888,692.17804,2015-01-01 01:55:22,bin6922,35,False +abc,6923,6923,6923,1988-12-15,692.3000000000889,692.278,2015-01-01 01:55:23,bin6923,75,False +abc,6924,6924,6924,1988-12-16,692.4000000000889,692.378,2015-01-01 01:55:24,bin6924,35,False +abc,6925,6925,6925,1988-12-17,692.5000000000889,692.47797,2015-01-01 01:55:25,bin6925,75,False +abc,6926,6926,6926,1988-12-18,692.6000000000889,692.57794,2015-01-01 01:55:26,bin6926,35,False +abc,6927,6927,6927,1988-12-19,692.700000000089,692.6779,2015-01-01 01:55:27,bin6927,75,False +abc,6928,6928,6928,1988-12-20,692.800000000089,692.7779,2015-01-01 01:55:28,bin6928,35,False +abc,6929,6929,6929,1988-12-21,692.900000000089,692.87787,2015-01-01 01:55:29,bin6929,75,False +abc,6930,6930,6930,1988-12-22,693.000000000089,692.97784,2015-01-01 01:55:30,bin6930,35,False +abc,6931,6931,6931,1988-12-23,693.100000000089,693.0778,2015-01-01 01:55:31,bin6931,75,False +abc,6932,6932,6932,1988-12-24,693.2000000000891,693.1778,2015-01-01 01:55:32,bin6932,35,False +abc,6933,6933,6933,1988-12-25,693.3000000000891,693.2778,2015-01-01 01:55:33,bin6933,75,False +abc,6934,6934,6934,1988-12-26,693.4000000000891,693.37775,2015-01-01 01:55:34,bin6934,35,False +abc,6935,6935,6935,1988-12-27,693.5000000000891,693.4777,2015-01-01 01:55:35,bin6935,75,False +abc,6936,6936,6936,1988-12-28,693.6000000000892,693.5777,2015-01-01 01:55:36,bin6936,35,False +abc,6937,6937,6937,1988-12-29,693.7000000000892,693.6777,2015-01-01 01:55:37,bin6937,75,False +abc,6938,6938,6938,1988-12-30,693.8000000000892,693.77765,2015-01-01 01:55:38,bin6938,35,False +abc,6939,6939,6939,1988-12-31,693.9000000000892,693.8776,2015-01-01 01:55:39,bin6939,75,False +abc,6940,6940,6940,1989-01-01,694.0000000000892,693.9776,2015-01-01 01:55:40,bin6940,35,False +abc,6941,6941,6941,1989-01-02,694.1000000000893,694.0776,2015-01-01 01:55:41,bin6941,75,False +abc,6942,6942,6942,1989-01-03,694.2000000000893,694.17755,2015-01-01 01:55:42,bin6942,35,False +abc,6943,6943,6943,1989-01-04,694.3000000000893,694.2775,2015-01-01 01:55:43,bin6943,75,False +abc,6944,6944,6944,1989-01-05,694.4000000000893,694.3775,2015-01-01 01:55:44,bin6944,35,False +abc,6945,6945,6945,1989-01-06,694.5000000000894,694.4775,2015-01-01 01:55:45,bin6945,75,False +abc,6946,6946,6946,1989-01-07,694.6000000000894,694.57745,2015-01-01 01:55:46,bin6946,35,False +abc,6947,6947,6947,1989-01-08,694.7000000000894,694.6774,2015-01-01 01:55:47,bin6947,75,False +abc,6948,6948,6948,1989-01-09,694.8000000000894,694.7774,2015-01-01 01:55:48,bin6948,35,False +abc,6949,6949,6949,1989-01-10,694.9000000000894,694.8774,2015-01-01 01:55:49,bin6949,75,False +abc,6950,6950,6950,1989-01-11,695.0000000000895,694.97736,2015-01-01 01:55:50,bin6950,35,False +abc,6951,6951,6951,1989-01-12,695.1000000000895,695.07733,2015-01-01 01:55:51,bin6951,75,False +abc,6952,6952,6952,1989-01-13,695.2000000000895,695.1773,2015-01-01 01:55:52,bin6952,35,False +abc,6953,6953,6953,1989-01-14,695.3000000000895,695.2773,2015-01-01 01:55:53,bin6953,75,False +abc,6954,6954,6954,1989-01-15,695.4000000000896,695.37726,2015-01-01 01:55:54,bin6954,35,False +abc,6955,6955,6955,1989-01-16,695.5000000000896,695.47723,2015-01-01 01:55:55,bin6955,75,False +abc,6956,6956,6956,1989-01-17,695.6000000000896,695.5772,2015-01-01 01:55:56,bin6956,35,False +abc,6957,6957,6957,1989-01-18,695.7000000000896,695.6772,2015-01-01 01:55:57,bin6957,75,False +abc,6958,6958,6958,1989-01-19,695.8000000000897,695.77716,2015-01-01 01:55:58,bin6958,35,False +abc,6959,6959,6959,1989-01-20,695.9000000000897,695.87714,2015-01-01 01:55:59,bin6959,75,False +abc,6960,6960,6960,1989-01-21,696.0000000000897,695.9771,2015-01-01 01:56:00,bin6960,35,False +abc,6961,6961,6961,1989-01-22,696.1000000000897,696.0771,2015-01-01 01:56:01,bin6961,75,False +abc,6962,6962,6962,1989-01-23,696.2000000000897,696.17706,2015-01-01 01:56:02,bin6962,35,False +abc,6963,6963,6963,1989-01-24,696.3000000000898,696.27704,2015-01-01 01:56:03,bin6963,75,False +abc,6964,6964,6964,1989-01-25,696.4000000000898,696.377,2015-01-01 01:56:04,bin6964,35,False +abc,6965,6965,6965,1989-01-26,696.5000000000898,696.477,2015-01-01 01:56:05,bin6965,75,False +abc,6966,6966,6966,1989-01-27,696.6000000000898,696.57697,2015-01-01 01:56:06,bin6966,35,False +abc,6967,6967,6967,1989-01-28,696.7000000000899,696.67694,2015-01-01 01:56:07,bin6967,75,False +abc,6968,6968,6968,1989-01-29,696.8000000000899,696.7769,2015-01-01 01:56:08,bin6968,35,False +abc,6969,6969,6969,1989-01-30,696.9000000000899,696.8769,2015-01-01 01:56:09,bin6969,75,False +abc,6970,6970,6970,1989-01-31,697.0000000000899,696.97687,2015-01-01 01:56:10,bin6970,35,False +abc,6971,6971,6971,1989-02-01,697.10000000009,697.07684,2015-01-01 01:56:11,bin6971,75,False +abc,6972,6972,6972,1989-02-02,697.20000000009,697.1768,2015-01-01 01:56:12,bin6972,35,False +abc,6973,6973,6973,1989-02-03,697.30000000009,697.2768,2015-01-01 01:56:13,bin6973,75,False +abc,6974,6974,6974,1989-02-04,697.40000000009,697.3768,2015-01-01 01:56:14,bin6974,35,False +abc,6975,6975,6975,1989-02-05,697.50000000009,697.47675,2015-01-01 01:56:15,bin6975,75,False +abc,6976,6976,6976,1989-02-06,697.6000000000901,697.5767,2015-01-01 01:56:16,bin6976,35,False +abc,6977,6977,6977,1989-02-07,697.7000000000901,697.6767,2015-01-01 01:56:17,bin6977,75,False +abc,6978,6978,6978,1989-02-08,697.8000000000901,697.7767,2015-01-01 01:56:18,bin6978,35,False +abc,6979,6979,6979,1989-02-09,697.9000000000901,697.87665,2015-01-01 01:56:19,bin6979,75,False +abc,6980,6980,6980,1989-02-10,698.0000000000902,697.9766,2015-01-01 01:56:20,bin6980,35,False +abc,6981,6981,6981,1989-02-11,698.1000000000902,698.0766,2015-01-01 01:56:21,bin6981,75,False +abc,6982,6982,6982,1989-02-12,698.2000000000902,698.1766,2015-01-01 01:56:22,bin6982,35,False +abc,6983,6983,6983,1989-02-13,698.3000000000902,698.27655,2015-01-01 01:56:23,bin6983,75,False +abc,6984,6984,6984,1989-02-14,698.4000000000902,698.3765,2015-01-01 01:56:24,bin6984,35,False +abc,6985,6985,6985,1989-02-15,698.5000000000903,698.4765,2015-01-01 01:56:25,bin6985,75,False +abc,6986,6986,6986,1989-02-16,698.6000000000903,698.5765,2015-01-01 01:56:26,bin6986,35,False +abc,6987,6987,6987,1989-02-17,698.7000000000903,698.67645,2015-01-01 01:56:27,bin6987,75,False +abc,6988,6988,6988,1989-02-18,698.8000000000903,698.7764,2015-01-01 01:56:28,bin6988,35,False +abc,6989,6989,6989,1989-02-19,698.9000000000904,698.8764,2015-01-01 01:56:29,bin6989,75,False +abc,6990,6990,6990,1989-02-20,699.0000000000904,698.9764,2015-01-01 01:56:30,bin6990,35,False +abc,6991,6991,6991,1989-02-21,699.1000000000904,699.07635,2015-01-01 01:56:31,bin6991,75,False +abc,6992,6992,6992,1989-02-22,699.2000000000904,699.17633,2015-01-01 01:56:32,bin6992,35,False +abc,6993,6993,6993,1989-02-23,699.3000000000904,699.2763,2015-01-01 01:56:33,bin6993,75,False +abc,6994,6994,6994,1989-02-24,699.4000000000905,699.3763,2015-01-01 01:56:34,bin6994,35,False +abc,6995,6995,6995,1989-02-25,699.5000000000905,699.47626,2015-01-01 01:56:35,bin6995,75,False +abc,6996,6996,6996,1989-02-26,699.6000000000905,699.57623,2015-01-01 01:56:36,bin6996,35,False +abc,6997,6997,6997,1989-02-27,699.7000000000905,699.6762,2015-01-01 01:56:37,bin6997,75,False +abc,6998,6998,6998,1989-02-28,699.8000000000906,699.7762,2015-01-01 01:56:38,bin6998,35,False +abc,6999,6999,6999,1989-03-01,699.9000000000906,699.87616,2015-01-01 01:56:39,bin6999,75,False +abc,7000,7000,7000,1989-03-02,700.0000000000906,699.97614,2015-01-01 01:56:40,bin7000,35,False +abc,7001,7001,7001,1989-03-03,700.1000000000906,700.0761,2015-01-01 01:56:41,bin7001,75,False +abc,7002,7002,7002,1989-03-04,700.2000000000907,700.1761,2015-01-01 01:56:42,bin7002,35,False +abc,7003,7003,7003,1989-03-05,700.3000000000907,700.27606,2015-01-01 01:56:43,bin7003,75,False +abc,7004,7004,7004,1989-03-06,700.4000000000907,700.37604,2015-01-01 01:56:44,bin7004,35,False +abc,7005,7005,7005,1989-03-07,700.5000000000907,700.476,2015-01-01 01:56:45,bin7005,75,False +abc,7006,7006,7006,1989-03-08,700.6000000000907,700.576,2015-01-01 01:56:46,bin7006,35,False +abc,7007,7007,7007,1989-03-09,700.7000000000908,700.67596,2015-01-01 01:56:47,bin7007,75,False +abc,7008,7008,7008,1989-03-10,700.8000000000908,700.77594,2015-01-01 01:56:48,bin7008,35,False +abc,7009,7009,7009,1989-03-11,700.9000000000908,700.8759,2015-01-01 01:56:49,bin7009,75,False +abc,7010,7010,7010,1989-03-12,701.0000000000908,700.9759,2015-01-01 01:56:50,bin7010,35,False +abc,7011,7011,7011,1989-03-13,701.1000000000909,701.07587,2015-01-01 01:56:51,bin7011,75,False +abc,7012,7012,7012,1989-03-14,701.2000000000909,701.17584,2015-01-01 01:56:52,bin7012,35,False +abc,7013,7013,7013,1989-03-15,701.3000000000909,701.2758,2015-01-01 01:56:53,bin7013,75,False +abc,7014,7014,7014,1989-03-16,701.4000000000909,701.3758,2015-01-01 01:56:54,bin7014,35,False +abc,7015,7015,7015,1989-03-17,701.500000000091,701.47577,2015-01-01 01:56:55,bin7015,75,False +abc,7016,7016,7016,1989-03-18,701.600000000091,701.57574,2015-01-01 01:56:56,bin7016,35,False +abc,7017,7017,7017,1989-03-19,701.700000000091,701.6757,2015-01-01 01:56:57,bin7017,75,False +abc,7018,7018,7018,1989-03-20,701.800000000091,701.7757,2015-01-01 01:56:58,bin7018,35,False +abc,7019,7019,7019,1989-03-21,701.900000000091,701.8757,2015-01-01 01:56:59,bin7019,75,False +abc,7020,7020,7020,1989-03-22,702.0000000000911,701.97565,2015-01-01 01:57:00,bin7020,35,False +abc,7021,7021,7021,1989-03-23,702.1000000000911,702.0756,2015-01-01 01:57:01,bin7021,75,False +abc,7022,7022,7022,1989-03-24,702.2000000000911,702.1756,2015-01-01 01:57:02,bin7022,35,False +abc,7023,7023,7023,1989-03-25,702.3000000000911,702.2756,2015-01-01 01:57:03,bin7023,75,False +abc,7024,7024,7024,1989-03-26,702.4000000000912,702.37555,2015-01-01 01:57:04,bin7024,35,False +abc,7025,7025,7025,1989-03-27,702.5000000000912,702.4755,2015-01-01 01:57:05,bin7025,75,False +abc,7026,7026,7026,1989-03-28,702.6000000000912,702.5755,2015-01-01 01:57:06,bin7026,35,False +abc,7027,7027,7027,1989-03-29,702.7000000000912,702.6755,2015-01-01 01:57:07,bin7027,75,False +abc,7028,7028,7028,1989-03-30,702.8000000000912,702.77545,2015-01-01 01:57:08,bin7028,35,False +abc,7029,7029,7029,1989-03-31,702.9000000000913,702.8754,2015-01-01 01:57:09,bin7029,75,False +abc,7030,7030,7030,1989-04-01,703.0000000000913,702.9754,2015-01-01 01:57:10,bin7030,35,False +abc,7031,7031,7031,1989-04-02,703.1000000000913,703.0754,2015-01-01 01:57:11,bin7031,75,False +abc,7032,7032,7032,1989-04-03,703.2000000000913,703.17535,2015-01-01 01:57:12,bin7032,35,False +abc,7033,7033,7033,1989-04-04,703.3000000000914,703.2753,2015-01-01 01:57:13,bin7033,75,False +abc,7034,7034,7034,1989-04-05,703.4000000000914,703.3753,2015-01-01 01:57:14,bin7034,35,False +abc,7035,7035,7035,1989-04-06,703.5000000000914,703.4753,2015-01-01 01:57:15,bin7035,75,False +abc,7036,7036,7036,1989-04-07,703.6000000000914,703.57526,2015-01-01 01:57:16,bin7036,35,False +abc,7037,7037,7037,1989-04-08,703.7000000000914,703.67523,2015-01-01 01:57:17,bin7037,75,False +abc,7038,7038,7038,1989-04-09,703.8000000000915,703.7752,2015-01-01 01:57:18,bin7038,35,False +abc,7039,7039,7039,1989-04-10,703.9000000000915,703.8752,2015-01-01 01:57:19,bin7039,75,False +abc,7040,7040,7040,1989-04-11,704.0000000000915,703.97516,2015-01-01 01:57:20,bin7040,35,False +abc,7041,7041,7041,1989-04-12,704.1000000000915,704.07513,2015-01-01 01:57:21,bin7041,75,False +abc,7042,7042,7042,1989-04-13,704.2000000000916,704.1751,2015-01-01 01:57:22,bin7042,35,False +abc,7043,7043,7043,1989-04-14,704.3000000000916,704.2751,2015-01-01 01:57:23,bin7043,75,False +abc,7044,7044,7044,1989-04-15,704.4000000000916,704.37506,2015-01-01 01:57:24,bin7044,35,False +abc,7045,7045,7045,1989-04-16,704.5000000000916,704.47504,2015-01-01 01:57:25,bin7045,75,False +abc,7046,7046,7046,1989-04-17,704.6000000000917,704.575,2015-01-01 01:57:26,bin7046,35,False +abc,7047,7047,7047,1989-04-18,704.7000000000917,704.675,2015-01-01 01:57:27,bin7047,75,False +abc,7048,7048,7048,1989-04-19,704.8000000000917,704.77496,2015-01-01 01:57:28,bin7048,35,False +abc,7049,7049,7049,1989-04-20,704.9000000000917,704.87494,2015-01-01 01:57:29,bin7049,75,False +abc,7050,7050,7050,1989-04-21,705.0000000000917,704.9749,2015-01-01 01:57:30,bin7050,35,False +abc,7051,7051,7051,1989-04-22,705.1000000000918,705.0749,2015-01-01 01:57:31,bin7051,75,False +abc,7052,7052,7052,1989-04-23,705.2000000000918,705.17487,2015-01-01 01:57:32,bin7052,35,False +abc,7053,7053,7053,1989-04-24,705.3000000000918,705.27484,2015-01-01 01:57:33,bin7053,75,False +abc,7054,7054,7054,1989-04-25,705.4000000000918,705.3748,2015-01-01 01:57:34,bin7054,35,False +abc,7055,7055,7055,1989-04-26,705.5000000000919,705.4748,2015-01-01 01:57:35,bin7055,75,False +abc,7056,7056,7056,1989-04-27,705.6000000000919,705.57477,2015-01-01 01:57:36,bin7056,35,False +abc,7057,7057,7057,1989-04-28,705.7000000000919,705.67474,2015-01-01 01:57:37,bin7057,75,False +abc,7058,7058,7058,1989-04-29,705.8000000000919,705.7747,2015-01-01 01:57:38,bin7058,35,False +abc,7059,7059,7059,1989-04-30,705.900000000092,705.8747,2015-01-01 01:57:39,bin7059,75,False +abc,7060,7060,7060,1989-05-01,706.000000000092,705.9747,2015-01-01 01:57:40,bin7060,35,False +abc,7061,7061,7061,1989-05-02,706.100000000092,706.07465,2015-01-01 01:57:41,bin7061,75,False +abc,7062,7062,7062,1989-05-03,706.200000000092,706.1746,2015-01-01 01:57:42,bin7062,35,False +abc,7063,7063,7063,1989-05-04,706.300000000092,706.2746,2015-01-01 01:57:43,bin7063,75,False +abc,7064,7064,7064,1989-05-05,706.4000000000921,706.3746,2015-01-01 01:57:44,bin7064,35,False +abc,7065,7065,7065,1989-05-06,706.5000000000921,706.47455,2015-01-01 01:57:45,bin7065,75,False +abc,7066,7066,7066,1989-05-07,706.6000000000921,706.5745,2015-01-01 01:57:46,bin7066,35,False +abc,7067,7067,7067,1989-05-08,706.7000000000921,706.6745,2015-01-01 01:57:47,bin7067,75,False +abc,7068,7068,7068,1989-05-09,706.8000000000922,706.7745,2015-01-01 01:57:48,bin7068,35,False +abc,7069,7069,7069,1989-05-10,706.9000000000922,706.87445,2015-01-01 01:57:49,bin7069,75,False +abc,7070,7070,7070,1989-05-11,707.0000000000922,706.9744,2015-01-01 01:57:50,bin7070,35,False +abc,7071,7071,7071,1989-05-12,707.1000000000922,707.0744,2015-01-01 01:57:51,bin7071,75,False +abc,7072,7072,7072,1989-05-13,707.2000000000922,707.1744,2015-01-01 01:57:52,bin7072,35,False +abc,7073,7073,7073,1989-05-14,707.3000000000923,707.27435,2015-01-01 01:57:53,bin7073,75,False +abc,7074,7074,7074,1989-05-15,707.4000000000923,707.3743,2015-01-01 01:57:54,bin7074,35,False +abc,7075,7075,7075,1989-05-16,707.5000000000923,707.4743,2015-01-01 01:57:55,bin7075,75,False +abc,7076,7076,7076,1989-05-17,707.6000000000923,707.5743,2015-01-01 01:57:56,bin7076,35,False +abc,7077,7077,7077,1989-05-18,707.7000000000924,707.67426,2015-01-01 01:57:57,bin7077,75,False +abc,7078,7078,7078,1989-05-19,707.8000000000924,707.77423,2015-01-01 01:57:58,bin7078,35,False +abc,7079,7079,7079,1989-05-20,707.9000000000924,707.8742,2015-01-01 01:57:59,bin7079,75,False +abc,7080,7080,7080,1989-05-21,708.0000000000924,707.9742,2015-01-01 01:58:00,bin7080,35,False +abc,7081,7081,7081,1989-05-22,708.1000000000925,708.07416,2015-01-01 01:58:01,bin7081,75,False +abc,7082,7082,7082,1989-05-23,708.2000000000925,708.17413,2015-01-01 01:58:02,bin7082,35,False +abc,7083,7083,7083,1989-05-24,708.3000000000925,708.2741,2015-01-01 01:58:03,bin7083,75,False +abc,7084,7084,7084,1989-05-25,708.4000000000925,708.3741,2015-01-01 01:58:04,bin7084,35,False +abc,7085,7085,7085,1989-05-26,708.5000000000925,708.47406,2015-01-01 01:58:05,bin7085,75,False +abc,7086,7086,7086,1989-05-27,708.6000000000926,708.57404,2015-01-01 01:58:06,bin7086,35,False +abc,7087,7087,7087,1989-05-28,708.7000000000926,708.674,2015-01-01 01:58:07,bin7087,75,False +abc,7088,7088,7088,1989-05-29,708.8000000000926,708.774,2015-01-01 01:58:08,bin7088,35,False +abc,7089,7089,7089,1989-05-30,708.9000000000926,708.87396,2015-01-01 01:58:09,bin7089,75,False +abc,7090,7090,7090,1989-05-31,709.0000000000927,708.97394,2015-01-01 01:58:10,bin7090,35,False +abc,7091,7091,7091,1989-06-01,709.1000000000927,709.0739,2015-01-01 01:58:11,bin7091,75,False +abc,7092,7092,7092,1989-06-02,709.2000000000927,709.1739,2015-01-01 01:58:12,bin7092,35,False +abc,7093,7093,7093,1989-06-03,709.3000000000927,709.27386,2015-01-01 01:58:13,bin7093,75,False +abc,7094,7094,7094,1989-06-04,709.4000000000927,709.37384,2015-01-01 01:58:14,bin7094,35,False +abc,7095,7095,7095,1989-06-05,709.5000000000928,709.4738,2015-01-01 01:58:15,bin7095,75,False +abc,7096,7096,7096,1989-06-06,709.6000000000928,709.5738,2015-01-01 01:58:16,bin7096,35,False +abc,7097,7097,7097,1989-06-07,709.7000000000928,709.67377,2015-01-01 01:58:17,bin7097,75,False +abc,7098,7098,7098,1989-06-08,709.8000000000928,709.77374,2015-01-01 01:58:18,bin7098,35,False +abc,7099,7099,7099,1989-06-09,709.9000000000929,709.8737,2015-01-01 01:58:19,bin7099,75,False +abc,7100,7100,7100,1989-06-10,710.0000000000929,709.9737,2015-01-01 01:58:20,bin7100,35,False +abc,7101,7101,7101,1989-06-11,710.1000000000929,710.07367,2015-01-01 01:58:21,bin7101,75,False +abc,7102,7102,7102,1989-06-12,710.2000000000929,710.17365,2015-01-01 01:58:22,bin7102,35,False +abc,7103,7103,7103,1989-06-13,710.300000000093,710.2736,2015-01-01 01:58:23,bin7103,75,False +abc,7104,7104,7104,1989-06-14,710.400000000093,710.3736,2015-01-01 01:58:24,bin7104,35,False +abc,7105,7105,7105,1989-06-15,710.500000000093,710.4736,2015-01-01 01:58:25,bin7105,75,False +abc,7106,7106,7106,1989-06-16,710.600000000093,710.57355,2015-01-01 01:58:26,bin7106,35,False +abc,7107,7107,7107,1989-06-17,710.700000000093,710.6735,2015-01-01 01:58:27,bin7107,75,False +abc,7108,7108,7108,1989-06-18,710.8000000000931,710.7735,2015-01-01 01:58:28,bin7108,35,False +abc,7109,7109,7109,1989-06-19,710.9000000000931,710.8735,2015-01-01 01:58:29,bin7109,75,False +abc,7110,7110,7110,1989-06-20,711.0000000000931,710.97345,2015-01-01 01:58:30,bin7110,35,False +abc,7111,7111,7111,1989-06-21,711.1000000000931,711.0734,2015-01-01 01:58:31,bin7111,75,False +abc,7112,7112,7112,1989-06-22,711.2000000000932,711.1734,2015-01-01 01:58:32,bin7112,35,False +abc,7113,7113,7113,1989-06-23,711.3000000000932,711.2734,2015-01-01 01:58:33,bin7113,75,False +abc,7114,7114,7114,1989-06-24,711.4000000000932,711.37335,2015-01-01 01:58:34,bin7114,35,False +abc,7115,7115,7115,1989-06-25,711.5000000000932,711.4733,2015-01-01 01:58:35,bin7115,75,False +abc,7116,7116,7116,1989-06-26,711.6000000000932,711.5733,2015-01-01 01:58:36,bin7116,35,False +abc,7117,7117,7117,1989-06-27,711.7000000000933,711.6733,2015-01-01 01:58:37,bin7117,75,False +abc,7118,7118,7118,1989-06-28,711.8000000000933,711.77325,2015-01-01 01:58:38,bin7118,35,False +abc,7119,7119,7119,1989-06-29,711.9000000000933,711.8732,2015-01-01 01:58:39,bin7119,75,False +abc,7120,7120,7120,1989-06-30,712.0000000000933,711.9732,2015-01-01 01:58:40,bin7120,35,False +abc,7121,7121,7121,1989-07-01,712.1000000000934,712.0732,2015-01-01 01:58:41,bin7121,75,False +abc,7122,7122,7122,1989-07-02,712.2000000000934,712.17316,2015-01-01 01:58:42,bin7122,35,False +abc,7123,7123,7123,1989-07-03,712.3000000000934,712.27313,2015-01-01 01:58:43,bin7123,75,False +abc,7124,7124,7124,1989-07-04,712.4000000000934,712.3731,2015-01-01 01:58:44,bin7124,35,False +abc,7125,7125,7125,1989-07-05,712.5000000000935,712.4731,2015-01-01 01:58:45,bin7125,75,False +abc,7126,7126,7126,1989-07-06,712.6000000000935,712.57306,2015-01-01 01:58:46,bin7126,35,False +abc,7127,7127,7127,1989-07-07,712.7000000000935,712.67303,2015-01-01 01:58:47,bin7127,75,False +abc,7128,7128,7128,1989-07-08,712.8000000000935,712.773,2015-01-01 01:58:48,bin7128,35,False +abc,7129,7129,7129,1989-07-09,712.9000000000935,712.873,2015-01-01 01:58:49,bin7129,75,False +abc,7130,7130,7130,1989-07-10,713.0000000000936,712.97296,2015-01-01 01:58:50,bin7130,35,False +abc,7131,7131,7131,1989-07-11,713.1000000000936,713.07294,2015-01-01 01:58:51,bin7131,75,False +abc,7132,7132,7132,1989-07-12,713.2000000000936,713.1729,2015-01-01 01:58:52,bin7132,35,False +abc,7133,7133,7133,1989-07-13,713.3000000000936,713.2729,2015-01-01 01:58:53,bin7133,75,False +abc,7134,7134,7134,1989-07-14,713.4000000000937,713.37286,2015-01-01 01:58:54,bin7134,35,False +abc,7135,7135,7135,1989-07-15,713.5000000000937,713.47284,2015-01-01 01:58:55,bin7135,75,False +abc,7136,7136,7136,1989-07-16,713.6000000000937,713.5728,2015-01-01 01:58:56,bin7136,35,False +abc,7137,7137,7137,1989-07-17,713.7000000000937,713.6728,2015-01-01 01:58:57,bin7137,75,False +abc,7138,7138,7138,1989-07-18,713.8000000000937,713.77277,2015-01-01 01:58:58,bin7138,35,False +abc,7139,7139,7139,1989-07-19,713.9000000000938,713.87274,2015-01-01 01:58:59,bin7139,75,False +abc,7140,7140,7140,1989-07-20,714.0000000000938,713.9727,2015-01-01 01:59:00,bin7140,35,False +abc,7141,7141,7141,1989-07-21,714.1000000000938,714.0727,2015-01-01 01:59:01,bin7141,75,False +abc,7142,7142,7142,1989-07-22,714.2000000000938,714.17267,2015-01-01 01:59:02,bin7142,35,False +abc,7143,7143,7143,1989-07-23,714.3000000000939,714.27264,2015-01-01 01:59:03,bin7143,75,False +abc,7144,7144,7144,1989-07-24,714.4000000000939,714.3726,2015-01-01 01:59:04,bin7144,35,False +abc,7145,7145,7145,1989-07-25,714.5000000000939,714.4726,2015-01-01 01:59:05,bin7145,75,False +abc,7146,7146,7146,1989-07-26,714.6000000000939,714.5726,2015-01-01 01:59:06,bin7146,35,False +abc,7147,7147,7147,1989-07-27,714.700000000094,714.67255,2015-01-01 01:59:07,bin7147,75,False +abc,7148,7148,7148,1989-07-28,714.800000000094,714.7725,2015-01-01 01:59:08,bin7148,35,False +abc,7149,7149,7149,1989-07-29,714.900000000094,714.8725,2015-01-01 01:59:09,bin7149,75,False +abc,7150,7150,7150,1989-07-30,715.000000000094,714.9725,2015-01-01 01:59:10,bin7150,35,False +abc,7151,7151,7151,1989-07-31,715.100000000094,715.07245,2015-01-01 01:59:11,bin7151,75,False +abc,7152,7152,7152,1989-08-01,715.2000000000941,715.1724,2015-01-01 01:59:12,bin7152,35,False +abc,7153,7153,7153,1989-08-02,715.3000000000941,715.2724,2015-01-01 01:59:13,bin7153,75,False +abc,7154,7154,7154,1989-08-03,715.4000000000941,715.3724,2015-01-01 01:59:14,bin7154,35,False +abc,7155,7155,7155,1989-08-04,715.5000000000941,715.47235,2015-01-01 01:59:15,bin7155,75,False +abc,7156,7156,7156,1989-08-05,715.6000000000942,715.5723,2015-01-01 01:59:16,bin7156,35,False +abc,7157,7157,7157,1989-08-06,715.7000000000942,715.6723,2015-01-01 01:59:17,bin7157,75,False +abc,7158,7158,7158,1989-08-07,715.8000000000942,715.7723,2015-01-01 01:59:18,bin7158,35,False +abc,7159,7159,7159,1989-08-08,715.9000000000942,715.87225,2015-01-01 01:59:19,bin7159,75,False +abc,7160,7160,7160,1989-08-09,716.0000000000942,715.9722,2015-01-01 01:59:20,bin7160,35,False +abc,7161,7161,7161,1989-08-10,716.1000000000943,716.0722,2015-01-01 01:59:21,bin7161,75,False +abc,7162,7162,7162,1989-08-11,716.2000000000943,716.1722,2015-01-01 01:59:22,bin7162,35,False +abc,7163,7163,7163,1989-08-12,716.3000000000943,716.27216,2015-01-01 01:59:23,bin7163,75,False +abc,7164,7164,7164,1989-08-13,716.4000000000943,716.37213,2015-01-01 01:59:24,bin7164,35,False +abc,7165,7165,7165,1989-08-14,716.5000000000944,716.4721,2015-01-01 01:59:25,bin7165,75,False +abc,7166,7166,7166,1989-08-15,716.6000000000944,716.5721,2015-01-01 01:59:26,bin7166,35,False +abc,7167,7167,7167,1989-08-16,716.7000000000944,716.67206,2015-01-01 01:59:27,bin7167,75,False +abc,7168,7168,7168,1989-08-17,716.8000000000944,716.77203,2015-01-01 01:59:28,bin7168,35,False +abc,7169,7169,7169,1989-08-18,716.9000000000945,716.872,2015-01-01 01:59:29,bin7169,75,False +abc,7170,7170,7170,1989-08-19,717.0000000000945,716.972,2015-01-01 01:59:30,bin7170,35,False +abc,7171,7171,7171,1989-08-20,717.1000000000945,717.07196,2015-01-01 01:59:31,bin7171,75,False +abc,7172,7172,7172,1989-08-21,717.2000000000945,717.17194,2015-01-01 01:59:32,bin7172,35,False +abc,7173,7173,7173,1989-08-22,717.3000000000945,717.2719,2015-01-01 01:59:33,bin7173,75,False +abc,7174,7174,7174,1989-08-23,717.4000000000946,717.3719,2015-01-01 01:59:34,bin7174,35,False +abc,7175,7175,7175,1989-08-24,717.5000000000946,717.47186,2015-01-01 01:59:35,bin7175,75,False +abc,7176,7176,7176,1989-08-25,717.6000000000946,717.57184,2015-01-01 01:59:36,bin7176,35,False +abc,7177,7177,7177,1989-08-26,717.7000000000946,717.6718,2015-01-01 01:59:37,bin7177,75,False +abc,7178,7178,7178,1989-08-27,717.8000000000947,717.7718,2015-01-01 01:59:38,bin7178,35,False +abc,7179,7179,7179,1989-08-28,717.9000000000947,717.87177,2015-01-01 01:59:39,bin7179,75,False +abc,7180,7180,7180,1989-08-29,718.0000000000947,717.97174,2015-01-01 01:59:40,bin7180,35,False +abc,7181,7181,7181,1989-08-30,718.1000000000947,718.0717,2015-01-01 01:59:41,bin7181,75,False +abc,7182,7182,7182,1989-08-31,718.2000000000947,718.1717,2015-01-01 01:59:42,bin7182,35,False +abc,7183,7183,7183,1989-09-01,718.3000000000948,718.27167,2015-01-01 01:59:43,bin7183,75,False +abc,7184,7184,7184,1989-09-02,718.4000000000948,718.37164,2015-01-01 01:59:44,bin7184,35,False +abc,7185,7185,7185,1989-09-03,718.5000000000948,718.4716,2015-01-01 01:59:45,bin7185,75,False +abc,7186,7186,7186,1989-09-04,718.6000000000948,718.5716,2015-01-01 01:59:46,bin7186,35,False +abc,7187,7187,7187,1989-09-05,718.7000000000949,718.6716,2015-01-01 01:59:47,bin7187,75,False +abc,7188,7188,7188,1989-09-06,718.8000000000949,718.77155,2015-01-01 01:59:48,bin7188,35,False +abc,7189,7189,7189,1989-09-07,718.9000000000949,718.8715,2015-01-01 01:59:49,bin7189,75,False +abc,7190,7190,7190,1989-09-08,719.0000000000949,718.9715,2015-01-01 01:59:50,bin7190,35,False +abc,7191,7191,7191,1989-09-09,719.100000000095,719.0715,2015-01-01 01:59:51,bin7191,75,False +abc,7192,7192,7192,1989-09-10,719.200000000095,719.17145,2015-01-01 01:59:52,bin7192,35,False +abc,7193,7193,7193,1989-09-11,719.300000000095,719.2714,2015-01-01 01:59:53,bin7193,75,False +abc,7194,7194,7194,1989-09-12,719.400000000095,719.3714,2015-01-01 01:59:54,bin7194,35,False +abc,7195,7195,7195,1989-09-13,719.500000000095,719.4714,2015-01-01 01:59:55,bin7195,75,False +abc,7196,7196,7196,1989-09-14,719.6000000000951,719.57135,2015-01-01 01:59:56,bin7196,35,False +abc,7197,7197,7197,1989-09-15,719.7000000000951,719.6713,2015-01-01 01:59:57,bin7197,75,False +abc,7198,7198,7198,1989-09-16,719.8000000000951,719.7713,2015-01-01 01:59:58,bin7198,35,False +abc,7199,7199,7199,1989-09-17,719.9000000000951,719.8713,2015-01-01 01:59:59,bin7199,75,False +abc,7200,7200,7200,1989-09-18,720.0000000000952,719.97125,2015-01-01 02:00:00,bin7200,35,False +abc,7201,7201,7201,1989-09-19,720.1000000000952,720.0712,2015-01-01 02:00:01,bin7201,75,False +abc,7202,7202,7202,1989-09-20,720.2000000000952,720.1712,2015-01-01 02:00:02,bin7202,35,False +abc,7203,7203,7203,1989-09-21,720.3000000000952,720.2712,2015-01-01 02:00:03,bin7203,75,False +abc,7204,7204,7204,1989-09-22,720.4000000000952,720.37115,2015-01-01 02:00:04,bin7204,35,False +abc,7205,7205,7205,1989-09-23,720.5000000000953,720.4711,2015-01-01 02:00:05,bin7205,75,False +abc,7206,7206,7206,1989-09-24,720.6000000000953,720.5711,2015-01-01 02:00:06,bin7206,35,False +abc,7207,7207,7207,1989-09-25,720.7000000000953,720.6711,2015-01-01 02:00:07,bin7207,75,False +abc,7208,7208,7208,1989-09-26,720.8000000000953,720.77106,2015-01-01 02:00:08,bin7208,35,False +abc,7209,7209,7209,1989-09-27,720.9000000000954,720.87103,2015-01-01 02:00:09,bin7209,75,False +abc,7210,7210,7210,1989-09-28,721.0000000000954,720.971,2015-01-01 02:00:10,bin7210,35,False +abc,7211,7211,7211,1989-09-29,721.1000000000954,721.071,2015-01-01 02:00:11,bin7211,75,False +abc,7212,7212,7212,1989-09-30,721.2000000000954,721.17096,2015-01-01 02:00:12,bin7212,35,False +abc,7213,7213,7213,1989-10-01,721.3000000000955,721.27094,2015-01-01 02:00:13,bin7213,75,False +abc,7214,7214,7214,1989-10-02,721.4000000000955,721.3709,2015-01-01 02:00:14,bin7214,35,False +abc,7215,7215,7215,1989-10-03,721.5000000000955,721.4709,2015-01-01 02:00:15,bin7215,75,False +abc,7216,7216,7216,1989-10-04,721.6000000000955,721.57086,2015-01-01 02:00:16,bin7216,35,False +abc,7217,7217,7217,1989-10-05,721.7000000000955,721.67084,2015-01-01 02:00:17,bin7217,75,False +abc,7218,7218,7218,1989-10-06,721.8000000000956,721.7708,2015-01-01 02:00:18,bin7218,35,False +abc,7219,7219,7219,1989-10-07,721.9000000000956,721.8708,2015-01-01 02:00:19,bin7219,75,False +abc,7220,7220,7220,1989-10-08,722.0000000000956,721.97076,2015-01-01 02:00:20,bin7220,35,False +abc,7221,7221,7221,1989-10-09,722.1000000000956,722.07074,2015-01-01 02:00:21,bin7221,75,False +abc,7222,7222,7222,1989-10-10,722.2000000000957,722.1707,2015-01-01 02:00:22,bin7222,35,False +abc,7223,7223,7223,1989-10-11,722.3000000000957,722.2707,2015-01-01 02:00:23,bin7223,75,False +abc,7224,7224,7224,1989-10-12,722.4000000000957,722.37067,2015-01-01 02:00:24,bin7224,35,False +abc,7225,7225,7225,1989-10-13,722.5000000000957,722.47064,2015-01-01 02:00:25,bin7225,75,False +abc,7226,7226,7226,1989-10-14,722.6000000000957,722.5706,2015-01-01 02:00:26,bin7226,35,False +abc,7227,7227,7227,1989-10-15,722.7000000000958,722.6706,2015-01-01 02:00:27,bin7227,75,False +abc,7228,7228,7228,1989-10-16,722.8000000000958,722.77057,2015-01-01 02:00:28,bin7228,35,False +abc,7229,7229,7229,1989-10-17,722.9000000000958,722.87054,2015-01-01 02:00:29,bin7229,75,False +abc,7230,7230,7230,1989-10-18,723.0000000000958,722.9705,2015-01-01 02:00:30,bin7230,35,False +abc,7231,7231,7231,1989-10-19,723.1000000000959,723.0705,2015-01-01 02:00:31,bin7231,75,False +abc,7232,7232,7232,1989-10-20,723.2000000000959,723.1705,2015-01-01 02:00:32,bin7232,35,False +abc,7233,7233,7233,1989-10-21,723.3000000000959,723.27045,2015-01-01 02:00:33,bin7233,75,False +abc,7234,7234,7234,1989-10-22,723.4000000000959,723.3704,2015-01-01 02:00:34,bin7234,35,False +abc,7235,7235,7235,1989-10-23,723.500000000096,723.4704,2015-01-01 02:00:35,bin7235,75,False +abc,7236,7236,7236,1989-10-24,723.600000000096,723.5704,2015-01-01 02:00:36,bin7236,35,False +abc,7237,7237,7237,1989-10-25,723.700000000096,723.67035,2015-01-01 02:00:37,bin7237,75,False +abc,7238,7238,7238,1989-10-26,723.800000000096,723.7703,2015-01-01 02:00:38,bin7238,35,False +abc,7239,7239,7239,1989-10-27,723.900000000096,723.8703,2015-01-01 02:00:39,bin7239,75,False +abc,7240,7240,7240,1989-10-28,724.0000000000961,723.9703,2015-01-01 02:00:40,bin7240,35,False +abc,7241,7241,7241,1989-10-29,724.1000000000961,724.07025,2015-01-01 02:00:41,bin7241,75,False +abc,7242,7242,7242,1989-10-30,724.2000000000961,724.1702,2015-01-01 02:00:42,bin7242,35,False +abc,7243,7243,7243,1989-10-31,724.3000000000961,724.2702,2015-01-01 02:00:43,bin7243,75,False +abc,7244,7244,7244,1989-11-01,724.4000000000962,724.3702,2015-01-01 02:00:44,bin7244,35,False +abc,7245,7245,7245,1989-11-02,724.5000000000962,724.47015,2015-01-01 02:00:45,bin7245,75,False +abc,7246,7246,7246,1989-11-03,724.6000000000962,724.5701,2015-01-01 02:00:46,bin7246,35,False +abc,7247,7247,7247,1989-11-04,724.7000000000962,724.6701,2015-01-01 02:00:47,bin7247,75,False +abc,7248,7248,7248,1989-11-05,724.8000000000962,724.7701,2015-01-01 02:00:48,bin7248,35,False +abc,7249,7249,7249,1989-11-06,724.9000000000963,724.87006,2015-01-01 02:00:49,bin7249,75,False +abc,7250,7250,7250,1989-11-07,725.0000000000963,724.97003,2015-01-01 02:00:50,bin7250,35,False +abc,7251,7251,7251,1989-11-08,725.1000000000963,725.07,2015-01-01 02:00:51,bin7251,75,False +abc,7252,7252,7252,1989-11-09,725.2000000000963,725.17,2015-01-01 02:00:52,bin7252,35,False +abc,7253,7253,7253,1989-11-10,725.3000000000964,725.26996,2015-01-01 02:00:53,bin7253,75,False +abc,7254,7254,7254,1989-11-11,725.4000000000964,725.36993,2015-01-01 02:00:54,bin7254,35,False +abc,7255,7255,7255,1989-11-12,725.5000000000964,725.4699,2015-01-01 02:00:55,bin7255,75,False +abc,7256,7256,7256,1989-11-13,725.6000000000964,725.5699,2015-01-01 02:00:56,bin7256,35,False +abc,7257,7257,7257,1989-11-14,725.7000000000965,725.66986,2015-01-01 02:00:57,bin7257,75,False +abc,7258,7258,7258,1989-11-15,725.8000000000965,725.76984,2015-01-01 02:00:58,bin7258,35,False +abc,7259,7259,7259,1989-11-16,725.9000000000965,725.8698,2015-01-01 02:00:59,bin7259,75,False +abc,7260,7260,7260,1989-11-17,726.0000000000965,725.9698,2015-01-01 02:01:00,bin7260,35,False +abc,7261,7261,7261,1989-11-18,726.1000000000965,726.06976,2015-01-01 02:01:01,bin7261,75,False +abc,7262,7262,7262,1989-11-19,726.2000000000966,726.16974,2015-01-01 02:01:02,bin7262,35,False +abc,7263,7263,7263,1989-11-20,726.3000000000966,726.2697,2015-01-01 02:01:03,bin7263,75,False +abc,7264,7264,7264,1989-11-21,726.4000000000966,726.3697,2015-01-01 02:01:04,bin7264,35,False +abc,7265,7265,7265,1989-11-22,726.5000000000966,726.46967,2015-01-01 02:01:05,bin7265,75,False +abc,7266,7266,7266,1989-11-23,726.6000000000967,726.56964,2015-01-01 02:01:06,bin7266,35,False +abc,7267,7267,7267,1989-11-24,726.7000000000967,726.6696,2015-01-01 02:01:07,bin7267,75,False +abc,7268,7268,7268,1989-11-25,726.8000000000967,726.7696,2015-01-01 02:01:08,bin7268,35,False +abc,7269,7269,7269,1989-11-26,726.9000000000967,726.86957,2015-01-01 02:01:09,bin7269,75,False +abc,7270,7270,7270,1989-11-27,727.0000000000967,726.96954,2015-01-01 02:01:10,bin7270,35,False +abc,7271,7271,7271,1989-11-28,727.1000000000968,727.0695,2015-01-01 02:01:11,bin7271,75,False +abc,7272,7272,7272,1989-11-29,727.2000000000968,727.1695,2015-01-01 02:01:12,bin7272,35,False +abc,7273,7273,7273,1989-11-30,727.3000000000968,727.2695,2015-01-01 02:01:13,bin7273,75,False +abc,7274,7274,7274,1989-12-01,727.4000000000968,727.36945,2015-01-01 02:01:14,bin7274,35,False +abc,7275,7275,7275,1989-12-02,727.5000000000969,727.4694,2015-01-01 02:01:15,bin7275,75,False +abc,7276,7276,7276,1989-12-03,727.6000000000969,727.5694,2015-01-01 02:01:16,bin7276,35,False +abc,7277,7277,7277,1989-12-04,727.7000000000969,727.6694,2015-01-01 02:01:17,bin7277,75,False +abc,7278,7278,7278,1989-12-05,727.8000000000969,727.76935,2015-01-01 02:01:18,bin7278,35,False +abc,7279,7279,7279,1989-12-06,727.900000000097,727.8693,2015-01-01 02:01:19,bin7279,75,False +abc,7280,7280,7280,1989-12-07,728.000000000097,727.9693,2015-01-01 02:01:20,bin7280,35,False +abc,7281,7281,7281,1989-12-08,728.100000000097,728.0693,2015-01-01 02:01:21,bin7281,75,False +abc,7282,7282,7282,1989-12-09,728.200000000097,728.16925,2015-01-01 02:01:22,bin7282,35,False +abc,7283,7283,7283,1989-12-10,728.300000000097,728.2692,2015-01-01 02:01:23,bin7283,75,False +abc,7284,7284,7284,1989-12-11,728.4000000000971,728.3692,2015-01-01 02:01:24,bin7284,35,False +abc,7285,7285,7285,1989-12-12,728.5000000000971,728.4692,2015-01-01 02:01:25,bin7285,75,False +abc,7286,7286,7286,1989-12-13,728.6000000000971,728.56915,2015-01-01 02:01:26,bin7286,35,False +abc,7287,7287,7287,1989-12-14,728.7000000000971,728.6691,2015-01-01 02:01:27,bin7287,75,False +abc,7288,7288,7288,1989-12-15,728.8000000000972,728.7691,2015-01-01 02:01:28,bin7288,35,False +abc,7289,7289,7289,1989-12-16,728.9000000000972,728.8691,2015-01-01 02:01:29,bin7289,75,False +abc,7290,7290,7290,1989-12-17,729.0000000000972,728.96906,2015-01-01 02:01:30,bin7290,35,False +abc,7291,7291,7291,1989-12-18,729.1000000000972,729.06903,2015-01-01 02:01:31,bin7291,75,False +abc,7292,7292,7292,1989-12-19,729.2000000000972,729.169,2015-01-01 02:01:32,bin7292,35,False +abc,7293,7293,7293,1989-12-20,729.3000000000973,729.269,2015-01-01 02:01:33,bin7293,75,False +abc,7294,7294,7294,1989-12-21,729.4000000000973,729.36896,2015-01-01 02:01:34,bin7294,35,False +abc,7295,7295,7295,1989-12-22,729.5000000000973,729.46893,2015-01-01 02:01:35,bin7295,75,False +abc,7296,7296,7296,1989-12-23,729.6000000000973,729.5689,2015-01-01 02:01:36,bin7296,35,False +abc,7297,7297,7297,1989-12-24,729.7000000000974,729.6689,2015-01-01 02:01:37,bin7297,75,False +abc,7298,7298,7298,1989-12-25,729.8000000000974,729.76886,2015-01-01 02:01:38,bin7298,35,False +abc,7299,7299,7299,1989-12-26,729.9000000000974,729.86884,2015-01-01 02:01:39,bin7299,75,False +abc,7300,7300,7300,1989-12-27,730.0000000000974,729.9688,2015-01-01 02:01:40,bin7300,35,False +abc,7301,7301,7301,1989-12-28,730.1000000000975,730.0688,2015-01-01 02:01:41,bin7301,75,False +abc,7302,7302,7302,1989-12-29,730.2000000000975,730.16876,2015-01-01 02:01:42,bin7302,35,False +abc,7303,7303,7303,1989-12-30,730.3000000000975,730.26874,2015-01-01 02:01:43,bin7303,75,False +abc,7304,7304,7304,1989-12-31,730.4000000000975,730.3687,2015-01-01 02:01:44,bin7304,35,False +abc,7305,7305,7305,1990-01-01,730.5000000000975,730.4687,2015-01-01 02:01:45,bin7305,75,False +abc,7306,7306,7306,1990-01-02,730.6000000000976,730.56866,2015-01-01 02:01:46,bin7306,35,False +abc,7307,7307,7307,1990-01-03,730.7000000000976,730.66864,2015-01-01 02:01:47,bin7307,75,False +abc,7308,7308,7308,1990-01-04,730.8000000000976,730.7686,2015-01-01 02:01:48,bin7308,35,False +abc,7309,7309,7309,1990-01-05,730.9000000000976,730.8686,2015-01-01 02:01:49,bin7309,75,False +abc,7310,7310,7310,1990-01-06,731.0000000000977,730.96857,2015-01-01 02:01:50,bin7310,35,False +abc,7311,7311,7311,1990-01-07,731.1000000000977,731.06854,2015-01-01 02:01:51,bin7311,75,False +abc,7312,7312,7312,1990-01-08,731.2000000000977,731.1685,2015-01-01 02:01:52,bin7312,35,False +abc,7313,7313,7313,1990-01-09,731.3000000000977,731.2685,2015-01-01 02:01:53,bin7313,75,False +abc,7314,7314,7314,1990-01-10,731.4000000000977,731.36847,2015-01-01 02:01:54,bin7314,35,False +abc,7315,7315,7315,1990-01-11,731.5000000000978,731.46844,2015-01-01 02:01:55,bin7315,75,False +abc,7316,7316,7316,1990-01-12,731.6000000000978,731.5684,2015-01-01 02:01:56,bin7316,35,False +abc,7317,7317,7317,1990-01-13,731.7000000000978,731.6684,2015-01-01 02:01:57,bin7317,75,False +abc,7318,7318,7318,1990-01-14,731.8000000000978,731.7684,2015-01-01 02:01:58,bin7318,35,False +abc,7319,7319,7319,1990-01-15,731.9000000000979,731.86835,2015-01-01 02:01:59,bin7319,75,False +abc,7320,7320,7320,1990-01-16,732.0000000000979,731.9683,2015-01-01 02:02:00,bin7320,35,False +abc,7321,7321,7321,1990-01-17,732.1000000000979,732.0683,2015-01-01 02:02:01,bin7321,75,False +abc,7322,7322,7322,1990-01-18,732.2000000000979,732.1683,2015-01-01 02:02:02,bin7322,35,False +abc,7323,7323,7323,1990-01-19,732.300000000098,732.26825,2015-01-01 02:02:03,bin7323,75,False +abc,7324,7324,7324,1990-01-20,732.400000000098,732.3682,2015-01-01 02:02:04,bin7324,35,False +abc,7325,7325,7325,1990-01-21,732.500000000098,732.4682,2015-01-01 02:02:05,bin7325,75,False +abc,7326,7326,7326,1990-01-22,732.600000000098,732.5682,2015-01-01 02:02:06,bin7326,35,False +abc,7327,7327,7327,1990-01-23,732.700000000098,732.66815,2015-01-01 02:02:07,bin7327,75,False +abc,7328,7328,7328,1990-01-24,732.8000000000981,732.7681,2015-01-01 02:02:08,bin7328,35,False +abc,7329,7329,7329,1990-01-25,732.9000000000981,732.8681,2015-01-01 02:02:09,bin7329,75,False +abc,7330,7330,7330,1990-01-26,733.0000000000981,732.9681,2015-01-01 02:02:10,bin7330,35,False +abc,7331,7331,7331,1990-01-27,733.1000000000981,733.06805,2015-01-01 02:02:11,bin7331,75,False +abc,7332,7332,7332,1990-01-28,733.2000000000982,733.168,2015-01-01 02:02:12,bin7332,35,False +abc,7333,7333,7333,1990-01-29,733.3000000000982,733.268,2015-01-01 02:02:13,bin7333,75,False +abc,7334,7334,7334,1990-01-30,733.4000000000982,733.368,2015-01-01 02:02:14,bin7334,35,False +abc,7335,7335,7335,1990-01-31,733.5000000000982,733.46796,2015-01-01 02:02:15,bin7335,75,False +abc,7336,7336,7336,1990-02-01,733.6000000000982,733.56793,2015-01-01 02:02:16,bin7336,35,False +abc,7337,7337,7337,1990-02-02,733.7000000000983,733.6679,2015-01-01 02:02:17,bin7337,75,False +abc,7338,7338,7338,1990-02-03,733.8000000000983,733.7679,2015-01-01 02:02:18,bin7338,35,False +abc,7339,7339,7339,1990-02-04,733.9000000000983,733.86786,2015-01-01 02:02:19,bin7339,75,False +abc,7340,7340,7340,1990-02-05,734.0000000000983,733.96783,2015-01-01 02:02:20,bin7340,35,False +abc,7341,7341,7341,1990-02-06,734.1000000000984,734.0678,2015-01-01 02:02:21,bin7341,75,False +abc,7342,7342,7342,1990-02-07,734.2000000000984,734.1678,2015-01-01 02:02:22,bin7342,35,False +abc,7343,7343,7343,1990-02-08,734.3000000000984,734.26776,2015-01-01 02:02:23,bin7343,75,False +abc,7344,7344,7344,1990-02-09,734.4000000000984,734.36774,2015-01-01 02:02:24,bin7344,35,False +abc,7345,7345,7345,1990-02-10,734.5000000000985,734.4677,2015-01-01 02:02:25,bin7345,75,False +abc,7346,7346,7346,1990-02-11,734.6000000000985,734.5677,2015-01-01 02:02:26,bin7346,35,False +abc,7347,7347,7347,1990-02-12,734.7000000000985,734.66766,2015-01-01 02:02:27,bin7347,75,False +abc,7348,7348,7348,1990-02-13,734.8000000000985,734.76764,2015-01-01 02:02:28,bin7348,35,False +abc,7349,7349,7349,1990-02-14,734.9000000000985,734.8676,2015-01-01 02:02:29,bin7349,75,False +abc,7350,7350,7350,1990-02-15,735.0000000000986,734.9676,2015-01-01 02:02:30,bin7350,35,False +abc,7351,7351,7351,1990-02-16,735.1000000000986,735.06757,2015-01-01 02:02:31,bin7351,75,False +abc,7352,7352,7352,1990-02-17,735.2000000000986,735.16754,2015-01-01 02:02:32,bin7352,35,False +abc,7353,7353,7353,1990-02-18,735.3000000000986,735.2675,2015-01-01 02:02:33,bin7353,75,False +abc,7354,7354,7354,1990-02-19,735.4000000000987,735.3675,2015-01-01 02:02:34,bin7354,35,False +abc,7355,7355,7355,1990-02-20,735.5000000000987,735.46747,2015-01-01 02:02:35,bin7355,75,False +abc,7356,7356,7356,1990-02-21,735.6000000000987,735.56744,2015-01-01 02:02:36,bin7356,35,False +abc,7357,7357,7357,1990-02-22,735.7000000000987,735.6674,2015-01-01 02:02:37,bin7357,75,False +abc,7358,7358,7358,1990-02-23,735.8000000000987,735.7674,2015-01-01 02:02:38,bin7358,35,False +abc,7359,7359,7359,1990-02-24,735.9000000000988,735.8674,2015-01-01 02:02:39,bin7359,75,False +abc,7360,7360,7360,1990-02-25,736.0000000000988,735.96735,2015-01-01 02:02:40,bin7360,35,False +abc,7361,7361,7361,1990-02-26,736.1000000000988,736.0673,2015-01-01 02:02:41,bin7361,75,False +abc,7362,7362,7362,1990-02-27,736.2000000000988,736.1673,2015-01-01 02:02:42,bin7362,35,False +abc,7363,7363,7363,1990-02-28,736.3000000000989,736.2673,2015-01-01 02:02:43,bin7363,75,False +abc,7364,7364,7364,1990-03-01,736.4000000000989,736.36725,2015-01-01 02:02:44,bin7364,35,False +abc,7365,7365,7365,1990-03-02,736.5000000000989,736.4672,2015-01-01 02:02:45,bin7365,75,False +abc,7366,7366,7366,1990-03-03,736.6000000000989,736.5672,2015-01-01 02:02:46,bin7366,35,False +abc,7367,7367,7367,1990-03-04,736.700000000099,736.6672,2015-01-01 02:02:47,bin7367,75,False +abc,7368,7368,7368,1990-03-05,736.800000000099,736.76715,2015-01-01 02:02:48,bin7368,35,False +abc,7369,7369,7369,1990-03-06,736.900000000099,736.8671,2015-01-01 02:02:49,bin7369,75,False +abc,7370,7370,7370,1990-03-07,737.000000000099,736.9671,2015-01-01 02:02:50,bin7370,35,False +abc,7371,7371,7371,1990-03-08,737.100000000099,737.0671,2015-01-01 02:02:51,bin7371,75,False +abc,7372,7372,7372,1990-03-09,737.2000000000991,737.16705,2015-01-01 02:02:52,bin7372,35,False +abc,7373,7373,7373,1990-03-10,737.3000000000991,737.267,2015-01-01 02:02:53,bin7373,75,False +abc,7374,7374,7374,1990-03-11,737.4000000000991,737.367,2015-01-01 02:02:54,bin7374,35,False +abc,7375,7375,7375,1990-03-12,737.5000000000991,737.467,2015-01-01 02:02:55,bin7375,75,False +abc,7376,7376,7376,1990-03-13,737.6000000000992,737.56696,2015-01-01 02:02:56,bin7376,35,False +abc,7377,7377,7377,1990-03-14,737.7000000000992,737.66693,2015-01-01 02:02:57,bin7377,75,False +abc,7378,7378,7378,1990-03-15,737.8000000000992,737.7669,2015-01-01 02:02:58,bin7378,35,False +abc,7379,7379,7379,1990-03-16,737.9000000000992,737.8669,2015-01-01 02:02:59,bin7379,75,False +abc,7380,7380,7380,1990-03-17,738.0000000000992,737.96686,2015-01-01 02:03:00,bin7380,35,False +abc,7381,7381,7381,1990-03-18,738.1000000000993,738.06683,2015-01-01 02:03:01,bin7381,75,False +abc,7382,7382,7382,1990-03-19,738.2000000000993,738.1668,2015-01-01 02:03:02,bin7382,35,False +abc,7383,7383,7383,1990-03-20,738.3000000000993,738.2668,2015-01-01 02:03:03,bin7383,75,False +abc,7384,7384,7384,1990-03-21,738.4000000000993,738.36676,2015-01-01 02:03:04,bin7384,35,False +abc,7385,7385,7385,1990-03-22,738.5000000000994,738.46674,2015-01-01 02:03:05,bin7385,75,False +abc,7386,7386,7386,1990-03-23,738.6000000000994,738.5667,2015-01-01 02:03:06,bin7386,35,False +abc,7387,7387,7387,1990-03-24,738.7000000000994,738.6667,2015-01-01 02:03:07,bin7387,75,False +abc,7388,7388,7388,1990-03-25,738.8000000000994,738.76666,2015-01-01 02:03:08,bin7388,35,False +abc,7389,7389,7389,1990-03-26,738.9000000000995,738.86664,2015-01-01 02:03:09,bin7389,75,False +abc,7390,7390,7390,1990-03-27,739.0000000000995,738.9666,2015-01-01 02:03:10,bin7390,35,False +abc,7391,7391,7391,1990-03-28,739.1000000000995,739.0666,2015-01-01 02:03:11,bin7391,75,False +abc,7392,7392,7392,1990-03-29,739.2000000000995,739.16656,2015-01-01 02:03:12,bin7392,35,False +abc,7393,7393,7393,1990-03-30,739.3000000000995,739.26654,2015-01-01 02:03:13,bin7393,75,False +abc,7394,7394,7394,1990-03-31,739.4000000000996,739.3665,2015-01-01 02:03:14,bin7394,35,False +abc,7395,7395,7395,1990-04-01,739.5000000000996,739.4665,2015-01-01 02:03:15,bin7395,75,False +abc,7396,7396,7396,1990-04-02,739.6000000000996,739.56647,2015-01-01 02:03:16,bin7396,35,False +abc,7397,7397,7397,1990-04-03,739.7000000000996,739.66644,2015-01-01 02:03:17,bin7397,75,False +abc,7398,7398,7398,1990-04-04,739.8000000000997,739.7664,2015-01-01 02:03:18,bin7398,35,False +abc,7399,7399,7399,1990-04-05,739.9000000000997,739.8664,2015-01-01 02:03:19,bin7399,75,False +abc,7400,7400,7400,1990-04-06,740.0000000000997,739.9664,2015-01-01 02:03:20,bin7400,35,False +abc,7401,7401,7401,1990-04-07,740.1000000000997,740.06635,2015-01-01 02:03:21,bin7401,75,False +abc,7402,7402,7402,1990-04-08,740.2000000000997,740.1663,2015-01-01 02:03:22,bin7402,35,False +abc,7403,7403,7403,1990-04-09,740.3000000000998,740.2663,2015-01-01 02:03:23,bin7403,75,False +abc,7404,7404,7404,1990-04-10,740.4000000000998,740.3663,2015-01-01 02:03:24,bin7404,35,False +abc,7405,7405,7405,1990-04-11,740.5000000000998,740.46625,2015-01-01 02:03:25,bin7405,75,False +abc,7406,7406,7406,1990-04-12,740.6000000000998,740.5662,2015-01-01 02:03:26,bin7406,35,False +abc,7407,7407,7407,1990-04-13,740.7000000000999,740.6662,2015-01-01 02:03:27,bin7407,75,False +abc,7408,7408,7408,1990-04-14,740.8000000000999,740.7662,2015-01-01 02:03:28,bin7408,35,False +abc,7409,7409,7409,1990-04-15,740.9000000000999,740.86615,2015-01-01 02:03:29,bin7409,75,False +abc,7410,7410,7410,1990-04-16,741.0000000000999,740.9661,2015-01-01 02:03:30,bin7410,35,False +abc,7411,7411,7411,1990-04-17,741.1000000001,741.0661,2015-01-01 02:03:31,bin7411,75,False +abc,7412,7412,7412,1990-04-18,741.2000000001,741.1661,2015-01-01 02:03:32,bin7412,35,False +abc,7413,7413,7413,1990-04-19,741.3000000001,741.26605,2015-01-01 02:03:33,bin7413,75,False +abc,7414,7414,7414,1990-04-20,741.4000000001,741.366,2015-01-01 02:03:34,bin7414,35,False +abc,7415,7415,7415,1990-04-21,741.5000000001,741.466,2015-01-01 02:03:35,bin7415,75,False +abc,7416,7416,7416,1990-04-22,741.6000000001001,741.566,2015-01-01 02:03:36,bin7416,35,False +abc,7417,7417,7417,1990-04-23,741.7000000001001,741.66595,2015-01-01 02:03:37,bin7417,75,False +abc,7418,7418,7418,1990-04-24,741.8000000001001,741.7659,2015-01-01 02:03:38,bin7418,35,False +abc,7419,7419,7419,1990-04-25,741.9000000001001,741.8659,2015-01-01 02:03:39,bin7419,75,False +abc,7420,7420,7420,1990-04-26,742.0000000001002,741.9659,2015-01-01 02:03:40,bin7420,35,False +abc,7421,7421,7421,1990-04-27,742.1000000001002,742.06586,2015-01-01 02:03:41,bin7421,75,False +abc,7422,7422,7422,1990-04-28,742.2000000001002,742.16583,2015-01-01 02:03:42,bin7422,35,False +abc,7423,7423,7423,1990-04-29,742.3000000001002,742.2658,2015-01-01 02:03:43,bin7423,75,False +abc,7424,7424,7424,1990-04-30,742.4000000001002,742.3658,2015-01-01 02:03:44,bin7424,35,False +abc,7425,7425,7425,1990-05-01,742.5000000001003,742.46576,2015-01-01 02:03:45,bin7425,75,False +abc,7426,7426,7426,1990-05-02,742.6000000001003,742.56573,2015-01-01 02:03:46,bin7426,35,False +abc,7427,7427,7427,1990-05-03,742.7000000001003,742.6657,2015-01-01 02:03:47,bin7427,75,False +abc,7428,7428,7428,1990-05-04,742.8000000001003,742.7657,2015-01-01 02:03:48,bin7428,35,False +abc,7429,7429,7429,1990-05-05,742.9000000001004,742.86566,2015-01-01 02:03:49,bin7429,75,False +abc,7430,7430,7430,1990-05-06,743.0000000001004,742.96564,2015-01-01 02:03:50,bin7430,35,False +abc,7431,7431,7431,1990-05-07,743.1000000001004,743.0656,2015-01-01 02:03:51,bin7431,75,False +abc,7432,7432,7432,1990-05-08,743.2000000001004,743.1656,2015-01-01 02:03:52,bin7432,35,False +abc,7433,7433,7433,1990-05-09,743.3000000001005,743.26556,2015-01-01 02:03:53,bin7433,75,False +abc,7434,7434,7434,1990-05-10,743.4000000001005,743.36554,2015-01-01 02:03:54,bin7434,35,False +abc,7435,7435,7435,1990-05-11,743.5000000001005,743.4655,2015-01-01 02:03:55,bin7435,75,False +abc,7436,7436,7436,1990-05-12,743.6000000001005,743.5655,2015-01-01 02:03:56,bin7436,35,False +abc,7437,7437,7437,1990-05-13,743.7000000001005,743.66547,2015-01-01 02:03:57,bin7437,75,False +abc,7438,7438,7438,1990-05-14,743.8000000001006,743.76544,2015-01-01 02:03:58,bin7438,35,False +abc,7439,7439,7439,1990-05-15,743.9000000001006,743.8654,2015-01-01 02:03:59,bin7439,75,False +abc,7440,7440,7440,1990-05-16,744.0000000001006,743.9654,2015-01-01 02:04:00,bin7440,35,False +abc,7441,7441,7441,1990-05-17,744.1000000001006,744.06537,2015-01-01 02:04:01,bin7441,75,False +abc,7442,7442,7442,1990-05-18,744.2000000001007,744.16534,2015-01-01 02:04:02,bin7442,35,False +abc,7443,7443,7443,1990-05-19,744.3000000001007,744.2653,2015-01-01 02:04:03,bin7443,75,False +abc,7444,7444,7444,1990-05-20,744.4000000001007,744.3653,2015-01-01 02:04:04,bin7444,35,False +abc,7445,7445,7445,1990-05-21,744.5000000001007,744.4653,2015-01-01 02:04:05,bin7445,75,False +abc,7446,7446,7446,1990-05-22,744.6000000001007,744.56525,2015-01-01 02:04:06,bin7446,35,False +abc,7447,7447,7447,1990-05-23,744.7000000001008,744.6652,2015-01-01 02:04:07,bin7447,75,False +abc,7448,7448,7448,1990-05-24,744.8000000001008,744.7652,2015-01-01 02:04:08,bin7448,35,False +abc,7449,7449,7449,1990-05-25,744.9000000001008,744.8652,2015-01-01 02:04:09,bin7449,75,False +abc,7450,7450,7450,1990-05-26,745.0000000001008,744.96515,2015-01-01 02:04:10,bin7450,35,False +abc,7451,7451,7451,1990-05-27,745.1000000001009,745.0651,2015-01-01 02:04:11,bin7451,75,False +abc,7452,7452,7452,1990-05-28,745.2000000001009,745.1651,2015-01-01 02:04:12,bin7452,35,False +abc,7453,7453,7453,1990-05-29,745.3000000001009,745.2651,2015-01-01 02:04:13,bin7453,75,False +abc,7454,7454,7454,1990-05-30,745.4000000001009,745.36505,2015-01-01 02:04:14,bin7454,35,False +abc,7455,7455,7455,1990-05-31,745.500000000101,745.465,2015-01-01 02:04:15,bin7455,75,False +abc,7456,7456,7456,1990-06-01,745.600000000101,745.565,2015-01-01 02:04:16,bin7456,35,False +abc,7457,7457,7457,1990-06-02,745.700000000101,745.665,2015-01-01 02:04:17,bin7457,75,False +abc,7458,7458,7458,1990-06-03,745.800000000101,745.76495,2015-01-01 02:04:18,bin7458,35,False +abc,7459,7459,7459,1990-06-04,745.900000000101,745.8649,2015-01-01 02:04:19,bin7459,75,False +abc,7460,7460,7460,1990-06-05,746.0000000001011,745.9649,2015-01-01 02:04:20,bin7460,35,False +abc,7461,7461,7461,1990-06-06,746.1000000001011,746.0649,2015-01-01 02:04:21,bin7461,75,False +abc,7462,7462,7462,1990-06-07,746.2000000001011,746.16486,2015-01-01 02:04:22,bin7462,35,False +abc,7463,7463,7463,1990-06-08,746.3000000001011,746.26483,2015-01-01 02:04:23,bin7463,75,False +abc,7464,7464,7464,1990-06-09,746.4000000001012,746.3648,2015-01-01 02:04:24,bin7464,35,False +abc,7465,7465,7465,1990-06-10,746.5000000001012,746.4648,2015-01-01 02:04:25,bin7465,75,False +abc,7466,7466,7466,1990-06-11,746.6000000001012,746.56476,2015-01-01 02:04:26,bin7466,35,False +abc,7467,7467,7467,1990-06-12,746.7000000001012,746.66473,2015-01-01 02:04:27,bin7467,75,False +abc,7468,7468,7468,1990-06-13,746.8000000001012,746.7647,2015-01-01 02:04:28,bin7468,35,False +abc,7469,7469,7469,1990-06-14,746.9000000001013,746.8647,2015-01-01 02:04:29,bin7469,75,False +abc,7470,7470,7470,1990-06-15,747.0000000001013,746.96466,2015-01-01 02:04:30,bin7470,35,False +abc,7471,7471,7471,1990-06-16,747.1000000001013,747.06464,2015-01-01 02:04:31,bin7471,75,False +abc,7472,7472,7472,1990-06-17,747.2000000001013,747.1646,2015-01-01 02:04:32,bin7472,35,False +abc,7473,7473,7473,1990-06-18,747.3000000001014,747.2646,2015-01-01 02:04:33,bin7473,75,False +abc,7474,7474,7474,1990-06-19,747.4000000001014,747.36456,2015-01-01 02:04:34,bin7474,35,False +abc,7475,7475,7475,1990-06-20,747.5000000001014,747.46454,2015-01-01 02:04:35,bin7475,75,False +abc,7476,7476,7476,1990-06-21,747.6000000001014,747.5645,2015-01-01 02:04:36,bin7476,35,False +abc,7477,7477,7477,1990-06-22,747.7000000001015,747.6645,2015-01-01 02:04:37,bin7477,75,False +abc,7478,7478,7478,1990-06-23,747.8000000001015,747.76447,2015-01-01 02:04:38,bin7478,35,False +abc,7479,7479,7479,1990-06-24,747.9000000001015,747.86444,2015-01-01 02:04:39,bin7479,75,False +abc,7480,7480,7480,1990-06-25,748.0000000001015,747.9644,2015-01-01 02:04:40,bin7480,35,False +abc,7481,7481,7481,1990-06-26,748.1000000001015,748.0644,2015-01-01 02:04:41,bin7481,75,False +abc,7482,7482,7482,1990-06-27,748.2000000001016,748.16437,2015-01-01 02:04:42,bin7482,35,False +abc,7483,7483,7483,1990-06-28,748.3000000001016,748.26434,2015-01-01 02:04:43,bin7483,75,False +abc,7484,7484,7484,1990-06-29,748.4000000001016,748.3643,2015-01-01 02:04:44,bin7484,35,False +abc,7485,7485,7485,1990-06-30,748.5000000001016,748.4643,2015-01-01 02:04:45,bin7485,75,False +abc,7486,7486,7486,1990-07-01,748.6000000001017,748.5643,2015-01-01 02:04:46,bin7486,35,False +abc,7487,7487,7487,1990-07-02,748.7000000001017,748.66425,2015-01-01 02:04:47,bin7487,75,False +abc,7488,7488,7488,1990-07-03,748.8000000001017,748.7642,2015-01-01 02:04:48,bin7488,35,False +abc,7489,7489,7489,1990-07-04,748.9000000001017,748.8642,2015-01-01 02:04:49,bin7489,75,False +abc,7490,7490,7490,1990-07-05,749.0000000001017,748.9642,2015-01-01 02:04:50,bin7490,35,False +abc,7491,7491,7491,1990-07-06,749.1000000001018,749.06415,2015-01-01 02:04:51,bin7491,75,False +abc,7492,7492,7492,1990-07-07,749.2000000001018,749.1641,2015-01-01 02:04:52,bin7492,35,False +abc,7493,7493,7493,1990-07-08,749.3000000001018,749.2641,2015-01-01 02:04:53,bin7493,75,False +abc,7494,7494,7494,1990-07-09,749.4000000001018,749.3641,2015-01-01 02:04:54,bin7494,35,False +abc,7495,7495,7495,1990-07-10,749.5000000001019,749.46405,2015-01-01 02:04:55,bin7495,75,False +abc,7496,7496,7496,1990-07-11,749.6000000001019,749.564,2015-01-01 02:04:56,bin7496,35,False +abc,7497,7497,7497,1990-07-12,749.7000000001019,749.664,2015-01-01 02:04:57,bin7497,75,False +abc,7498,7498,7498,1990-07-13,749.8000000001019,749.764,2015-01-01 02:04:58,bin7498,35,False +abc,7499,7499,7499,1990-07-14,749.900000000102,749.86395,2015-01-01 02:04:59,bin7499,75,False +abc,7500,7500,7500,1990-07-15,750.000000000102,749.9639,2015-01-01 02:05:00,bin7500,35,False +abc,7501,7501,7501,1990-07-16,750.100000000102,750.0639,2015-01-01 02:05:01,bin7501,75,False +abc,7502,7502,7502,1990-07-17,750.200000000102,750.1639,2015-01-01 02:05:02,bin7502,35,False +abc,7503,7503,7503,1990-07-18,750.300000000102,750.26385,2015-01-01 02:05:03,bin7503,75,False +abc,7504,7504,7504,1990-07-19,750.4000000001021,750.36383,2015-01-01 02:05:04,bin7504,35,False +abc,7505,7505,7505,1990-07-20,750.5000000001021,750.4638,2015-01-01 02:05:05,bin7505,75,False +abc,7506,7506,7506,1990-07-21,750.6000000001021,750.5638,2015-01-01 02:05:06,bin7506,35,False +abc,7507,7507,7507,1990-07-22,750.7000000001021,750.66376,2015-01-01 02:05:07,bin7507,75,False +abc,7508,7508,7508,1990-07-23,750.8000000001022,750.76373,2015-01-01 02:05:08,bin7508,35,False +abc,7509,7509,7509,1990-07-24,750.9000000001022,750.8637,2015-01-01 02:05:09,bin7509,75,False +abc,7510,7510,7510,1990-07-25,751.0000000001022,750.9637,2015-01-01 02:05:10,bin7510,35,False +abc,7511,7511,7511,1990-07-26,751.1000000001022,751.06366,2015-01-01 02:05:11,bin7511,75,False +abc,7512,7512,7512,1990-07-27,751.2000000001022,751.16364,2015-01-01 02:05:12,bin7512,35,False +abc,7513,7513,7513,1990-07-28,751.3000000001023,751.2636,2015-01-01 02:05:13,bin7513,75,False +abc,7514,7514,7514,1990-07-29,751.4000000001023,751.3636,2015-01-01 02:05:14,bin7514,35,False +abc,7515,7515,7515,1990-07-30,751.5000000001023,751.46356,2015-01-01 02:05:15,bin7515,75,False +abc,7516,7516,7516,1990-07-31,751.6000000001023,751.56354,2015-01-01 02:05:16,bin7516,35,False +abc,7517,7517,7517,1990-08-01,751.7000000001024,751.6635,2015-01-01 02:05:17,bin7517,75,False +abc,7518,7518,7518,1990-08-02,751.8000000001024,751.7635,2015-01-01 02:05:18,bin7518,35,False +abc,7519,7519,7519,1990-08-03,751.9000000001024,751.86346,2015-01-01 02:05:19,bin7519,75,False +abc,7520,7520,7520,1990-08-04,752.0000000001024,751.96344,2015-01-01 02:05:20,bin7520,35,False +abc,7521,7521,7521,1990-08-05,752.1000000001025,752.0634,2015-01-01 02:05:21,bin7521,75,False +abc,7522,7522,7522,1990-08-06,752.2000000001025,752.1634,2015-01-01 02:05:22,bin7522,35,False +abc,7523,7523,7523,1990-08-07,752.3000000001025,752.26337,2015-01-01 02:05:23,bin7523,75,False +abc,7524,7524,7524,1990-08-08,752.4000000001025,752.36334,2015-01-01 02:05:24,bin7524,35,False +abc,7525,7525,7525,1990-08-09,752.5000000001025,752.4633,2015-01-01 02:05:25,bin7525,75,False +abc,7526,7526,7526,1990-08-10,752.6000000001026,752.5633,2015-01-01 02:05:26,bin7526,35,False +abc,7527,7527,7527,1990-08-11,752.7000000001026,752.66327,2015-01-01 02:05:27,bin7527,75,False +abc,7528,7528,7528,1990-08-12,752.8000000001026,752.76324,2015-01-01 02:05:28,bin7528,35,False +abc,7529,7529,7529,1990-08-13,752.9000000001026,752.8632,2015-01-01 02:05:29,bin7529,75,False +abc,7530,7530,7530,1990-08-14,753.0000000001027,752.9632,2015-01-01 02:05:30,bin7530,35,False +abc,7531,7531,7531,1990-08-15,753.1000000001027,753.0632,2015-01-01 02:05:31,bin7531,75,False +abc,7532,7532,7532,1990-08-16,753.2000000001027,753.16315,2015-01-01 02:05:32,bin7532,35,False +abc,7533,7533,7533,1990-08-17,753.3000000001027,753.2631,2015-01-01 02:05:33,bin7533,75,False +abc,7534,7534,7534,1990-08-18,753.4000000001028,753.3631,2015-01-01 02:05:34,bin7534,35,False +abc,7535,7535,7535,1990-08-19,753.5000000001028,753.4631,2015-01-01 02:05:35,bin7535,75,False +abc,7536,7536,7536,1990-08-20,753.6000000001028,753.56305,2015-01-01 02:05:36,bin7536,35,False +abc,7537,7537,7537,1990-08-21,753.7000000001028,753.663,2015-01-01 02:05:37,bin7537,75,False +abc,7538,7538,7538,1990-08-22,753.8000000001028,753.763,2015-01-01 02:05:38,bin7538,35,False +abc,7539,7539,7539,1990-08-23,753.9000000001029,753.863,2015-01-01 02:05:39,bin7539,75,False +abc,7540,7540,7540,1990-08-24,754.0000000001029,753.96295,2015-01-01 02:05:40,bin7540,35,False +abc,7541,7541,7541,1990-08-25,754.1000000001029,754.0629,2015-01-01 02:05:41,bin7541,75,False +abc,7542,7542,7542,1990-08-26,754.2000000001029,754.1629,2015-01-01 02:05:42,bin7542,35,False +abc,7543,7543,7543,1990-08-27,754.300000000103,754.2629,2015-01-01 02:05:43,bin7543,75,False +abc,7544,7544,7544,1990-08-28,754.400000000103,754.36285,2015-01-01 02:05:44,bin7544,35,False +abc,7545,7545,7545,1990-08-29,754.500000000103,754.4628,2015-01-01 02:05:45,bin7545,75,False +abc,7546,7546,7546,1990-08-30,754.600000000103,754.5628,2015-01-01 02:05:46,bin7546,35,False +abc,7547,7547,7547,1990-08-31,754.700000000103,754.6628,2015-01-01 02:05:47,bin7547,75,False +abc,7548,7548,7548,1990-09-01,754.8000000001031,754.76276,2015-01-01 02:05:48,bin7548,35,False +abc,7549,7549,7549,1990-09-02,754.9000000001031,754.86273,2015-01-01 02:05:49,bin7549,75,False +abc,7550,7550,7550,1990-09-03,755.0000000001031,754.9627,2015-01-01 02:05:50,bin7550,35,False +abc,7551,7551,7551,1990-09-04,755.1000000001031,755.0627,2015-01-01 02:05:51,bin7551,75,False +abc,7552,7552,7552,1990-09-05,755.2000000001032,755.16266,2015-01-01 02:05:52,bin7552,35,False +abc,7553,7553,7553,1990-09-06,755.3000000001032,755.26263,2015-01-01 02:05:53,bin7553,75,False +abc,7554,7554,7554,1990-09-07,755.4000000001032,755.3626,2015-01-01 02:05:54,bin7554,35,False +abc,7555,7555,7555,1990-09-08,755.5000000001032,755.4626,2015-01-01 02:05:55,bin7555,75,False +abc,7556,7556,7556,1990-09-09,755.6000000001033,755.56256,2015-01-01 02:05:56,bin7556,35,False +abc,7557,7557,7557,1990-09-10,755.7000000001033,755.66254,2015-01-01 02:05:57,bin7557,75,False +abc,7558,7558,7558,1990-09-11,755.8000000001033,755.7625,2015-01-01 02:05:58,bin7558,35,False +abc,7559,7559,7559,1990-09-12,755.9000000001033,755.8625,2015-01-01 02:05:59,bin7559,75,False +abc,7560,7560,7560,1990-09-13,756.0000000001033,755.96246,2015-01-01 02:06:00,bin7560,35,False +abc,7561,7561,7561,1990-09-14,756.1000000001034,756.06244,2015-01-01 02:06:01,bin7561,75,False +abc,7562,7562,7562,1990-09-15,756.2000000001034,756.1624,2015-01-01 02:06:02,bin7562,35,False +abc,7563,7563,7563,1990-09-16,756.3000000001034,756.2624,2015-01-01 02:06:03,bin7563,75,False +abc,7564,7564,7564,1990-09-17,756.4000000001034,756.36237,2015-01-01 02:06:04,bin7564,35,False +abc,7565,7565,7565,1990-09-18,756.5000000001035,756.46234,2015-01-01 02:06:05,bin7565,75,False +abc,7566,7566,7566,1990-09-19,756.6000000001035,756.5623,2015-01-01 02:06:06,bin7566,35,False +abc,7567,7567,7567,1990-09-20,756.7000000001035,756.6623,2015-01-01 02:06:07,bin7567,75,False +abc,7568,7568,7568,1990-09-21,756.8000000001035,756.76227,2015-01-01 02:06:08,bin7568,35,False +abc,7569,7569,7569,1990-09-22,756.9000000001035,756.86224,2015-01-01 02:06:09,bin7569,75,False +abc,7570,7570,7570,1990-09-23,757.0000000001036,756.9622,2015-01-01 02:06:10,bin7570,35,False +abc,7571,7571,7571,1990-09-24,757.1000000001036,757.0622,2015-01-01 02:06:11,bin7571,75,False +abc,7572,7572,7572,1990-09-25,757.2000000001036,757.1622,2015-01-01 02:06:12,bin7572,35,False +abc,7573,7573,7573,1990-09-26,757.3000000001036,757.26215,2015-01-01 02:06:13,bin7573,75,False +abc,7574,7574,7574,1990-09-27,757.4000000001037,757.3621,2015-01-01 02:06:14,bin7574,35,False +abc,7575,7575,7575,1990-09-28,757.5000000001037,757.4621,2015-01-01 02:06:15,bin7575,75,False +abc,7576,7576,7576,1990-09-29,757.6000000001037,757.5621,2015-01-01 02:06:16,bin7576,35,False +abc,7577,7577,7577,1990-09-30,757.7000000001037,757.66205,2015-01-01 02:06:17,bin7577,75,False +abc,7578,7578,7578,1990-10-01,757.8000000001038,757.762,2015-01-01 02:06:18,bin7578,35,False +abc,7579,7579,7579,1990-10-02,757.9000000001038,757.862,2015-01-01 02:06:19,bin7579,75,False +abc,7580,7580,7580,1990-10-03,758.0000000001038,757.962,2015-01-01 02:06:20,bin7580,35,False +abc,7581,7581,7581,1990-10-04,758.1000000001038,758.06195,2015-01-01 02:06:21,bin7581,75,False +abc,7582,7582,7582,1990-10-05,758.2000000001038,758.1619,2015-01-01 02:06:22,bin7582,35,False +abc,7583,7583,7583,1990-10-06,758.3000000001039,758.2619,2015-01-01 02:06:23,bin7583,75,False +abc,7584,7584,7584,1990-10-07,758.4000000001039,758.3619,2015-01-01 02:06:24,bin7584,35,False +abc,7585,7585,7585,1990-10-08,758.5000000001039,758.46185,2015-01-01 02:06:25,bin7585,75,False +abc,7586,7586,7586,1990-10-09,758.6000000001039,758.5618,2015-01-01 02:06:26,bin7586,35,False +abc,7587,7587,7587,1990-10-10,758.700000000104,758.6618,2015-01-01 02:06:27,bin7587,75,False +abc,7588,7588,7588,1990-10-11,758.800000000104,758.7618,2015-01-01 02:06:28,bin7588,35,False +abc,7589,7589,7589,1990-10-12,758.900000000104,758.86176,2015-01-01 02:06:29,bin7589,75,False +abc,7590,7590,7590,1990-10-13,759.000000000104,758.96173,2015-01-01 02:06:30,bin7590,35,False +abc,7591,7591,7591,1990-10-14,759.100000000104,759.0617,2015-01-01 02:06:31,bin7591,75,False +abc,7592,7592,7592,1990-10-15,759.2000000001041,759.1617,2015-01-01 02:06:32,bin7592,35,False +abc,7593,7593,7593,1990-10-16,759.3000000001041,759.26166,2015-01-01 02:06:33,bin7593,75,False +abc,7594,7594,7594,1990-10-17,759.4000000001041,759.36163,2015-01-01 02:06:34,bin7594,35,False +abc,7595,7595,7595,1990-10-18,759.5000000001041,759.4616,2015-01-01 02:06:35,bin7595,75,False +abc,7596,7596,7596,1990-10-19,759.6000000001042,759.5616,2015-01-01 02:06:36,bin7596,35,False +abc,7597,7597,7597,1990-10-20,759.7000000001042,759.66156,2015-01-01 02:06:37,bin7597,75,False +abc,7598,7598,7598,1990-10-21,759.8000000001042,759.76154,2015-01-01 02:06:38,bin7598,35,False +abc,7599,7599,7599,1990-10-22,759.9000000001042,759.8615,2015-01-01 02:06:39,bin7599,75,False +abc,7600,7600,7600,1990-10-23,760.0000000001043,759.9615,2015-01-01 02:06:40,bin7600,35,False +abc,7601,7601,7601,1990-10-24,760.1000000001043,760.06146,2015-01-01 02:06:41,bin7601,75,False +abc,7602,7602,7602,1990-10-25,760.2000000001043,760.16144,2015-01-01 02:06:42,bin7602,35,False +abc,7603,7603,7603,1990-10-26,760.3000000001043,760.2614,2015-01-01 02:06:43,bin7603,75,False +abc,7604,7604,7604,1990-10-27,760.4000000001043,760.3614,2015-01-01 02:06:44,bin7604,35,False +abc,7605,7605,7605,1990-10-28,760.5000000001044,760.46136,2015-01-01 02:06:45,bin7605,75,False +abc,7606,7606,7606,1990-10-29,760.6000000001044,760.56134,2015-01-01 02:06:46,bin7606,35,False +abc,7607,7607,7607,1990-10-30,760.7000000001044,760.6613,2015-01-01 02:06:47,bin7607,75,False +abc,7608,7608,7608,1990-10-31,760.8000000001044,760.7613,2015-01-01 02:06:48,bin7608,35,False +abc,7609,7609,7609,1990-11-01,760.9000000001045,760.86127,2015-01-01 02:06:49,bin7609,75,False +abc,7610,7610,7610,1990-11-02,761.0000000001045,760.96124,2015-01-01 02:06:50,bin7610,35,False +abc,7611,7611,7611,1990-11-03,761.1000000001045,761.0612,2015-01-01 02:06:51,bin7611,75,False +abc,7612,7612,7612,1990-11-04,761.2000000001045,761.1612,2015-01-01 02:06:52,bin7612,35,False +abc,7613,7613,7613,1990-11-05,761.3000000001045,761.26117,2015-01-01 02:06:53,bin7613,75,False +abc,7614,7614,7614,1990-11-06,761.4000000001046,761.36115,2015-01-01 02:06:54,bin7614,35,False +abc,7615,7615,7615,1990-11-07,761.5000000001046,761.4611,2015-01-01 02:06:55,bin7615,75,False +abc,7616,7616,7616,1990-11-08,761.6000000001046,761.5611,2015-01-01 02:06:56,bin7616,35,False +abc,7617,7617,7617,1990-11-09,761.7000000001046,761.6611,2015-01-01 02:06:57,bin7617,75,False +abc,7618,7618,7618,1990-11-10,761.8000000001047,761.76105,2015-01-01 02:06:58,bin7618,35,False +abc,7619,7619,7619,1990-11-11,761.9000000001047,761.861,2015-01-01 02:06:59,bin7619,75,False +abc,7620,7620,7620,1990-11-12,762.0000000001047,761.961,2015-01-01 02:07:00,bin7620,35,False +abc,7621,7621,7621,1990-11-13,762.1000000001047,762.061,2015-01-01 02:07:01,bin7621,75,False +abc,7622,7622,7622,1990-11-14,762.2000000001048,762.16095,2015-01-01 02:07:02,bin7622,35,False +abc,7623,7623,7623,1990-11-15,762.3000000001048,762.2609,2015-01-01 02:07:03,bin7623,75,False +abc,7624,7624,7624,1990-11-16,762.4000000001048,762.3609,2015-01-01 02:07:04,bin7624,35,False +abc,7625,7625,7625,1990-11-17,762.5000000001048,762.4609,2015-01-01 02:07:05,bin7625,75,False +abc,7626,7626,7626,1990-11-18,762.6000000001048,762.56085,2015-01-01 02:07:06,bin7626,35,False +abc,7627,7627,7627,1990-11-19,762.7000000001049,762.6608,2015-01-01 02:07:07,bin7627,75,False +abc,7628,7628,7628,1990-11-20,762.8000000001049,762.7608,2015-01-01 02:07:08,bin7628,35,False +abc,7629,7629,7629,1990-11-21,762.9000000001049,762.8608,2015-01-01 02:07:09,bin7629,75,False +abc,7630,7630,7630,1990-11-22,763.0000000001049,762.96075,2015-01-01 02:07:10,bin7630,35,False +abc,7631,7631,7631,1990-11-23,763.100000000105,763.0607,2015-01-01 02:07:11,bin7631,75,False +abc,7632,7632,7632,1990-11-24,763.200000000105,763.1607,2015-01-01 02:07:12,bin7632,35,False +abc,7633,7633,7633,1990-11-25,763.300000000105,763.2607,2015-01-01 02:07:13,bin7633,75,False +abc,7634,7634,7634,1990-11-26,763.400000000105,763.36066,2015-01-01 02:07:14,bin7634,35,False +abc,7635,7635,7635,1990-11-27,763.500000000105,763.46063,2015-01-01 02:07:15,bin7635,75,False +abc,7636,7636,7636,1990-11-28,763.6000000001051,763.5606,2015-01-01 02:07:16,bin7636,35,False +abc,7637,7637,7637,1990-11-29,763.7000000001051,763.6606,2015-01-01 02:07:17,bin7637,75,False +abc,7638,7638,7638,1990-11-30,763.8000000001051,763.76056,2015-01-01 02:07:18,bin7638,35,False +abc,7639,7639,7639,1990-12-01,763.9000000001051,763.86053,2015-01-01 02:07:19,bin7639,75,False +abc,7640,7640,7640,1990-12-02,764.0000000001052,763.9605,2015-01-01 02:07:20,bin7640,35,False +abc,7641,7641,7641,1990-12-03,764.1000000001052,764.0605,2015-01-01 02:07:21,bin7641,75,False +abc,7642,7642,7642,1990-12-04,764.2000000001052,764.16046,2015-01-01 02:07:22,bin7642,35,False +abc,7643,7643,7643,1990-12-05,764.3000000001052,764.26044,2015-01-01 02:07:23,bin7643,75,False +abc,7644,7644,7644,1990-12-06,764.4000000001053,764.3604,2015-01-01 02:07:24,bin7644,35,False +abc,7645,7645,7645,1990-12-07,764.5000000001053,764.4604,2015-01-01 02:07:25,bin7645,75,False +abc,7646,7646,7646,1990-12-08,764.6000000001053,764.56036,2015-01-01 02:07:26,bin7646,35,False +abc,7647,7647,7647,1990-12-09,764.7000000001053,764.66034,2015-01-01 02:07:27,bin7647,75,False +abc,7648,7648,7648,1990-12-10,764.8000000001053,764.7603,2015-01-01 02:07:28,bin7648,35,False +abc,7649,7649,7649,1990-12-11,764.9000000001054,764.8603,2015-01-01 02:07:29,bin7649,75,False +abc,7650,7650,7650,1990-12-12,765.0000000001054,764.96027,2015-01-01 02:07:30,bin7650,35,False +abc,7651,7651,7651,1990-12-13,765.1000000001054,765.06024,2015-01-01 02:07:31,bin7651,75,False +abc,7652,7652,7652,1990-12-14,765.2000000001054,765.1602,2015-01-01 02:07:32,bin7652,35,False +abc,7653,7653,7653,1990-12-15,765.3000000001055,765.2602,2015-01-01 02:07:33,bin7653,75,False +abc,7654,7654,7654,1990-12-16,765.4000000001055,765.36017,2015-01-01 02:07:34,bin7654,35,False +abc,7655,7655,7655,1990-12-17,765.5000000001055,765.46014,2015-01-01 02:07:35,bin7655,75,False +abc,7656,7656,7656,1990-12-18,765.6000000001055,765.5601,2015-01-01 02:07:36,bin7656,35,False +abc,7657,7657,7657,1990-12-19,765.7000000001055,765.6601,2015-01-01 02:07:37,bin7657,75,False +abc,7658,7658,7658,1990-12-20,765.8000000001056,765.7601,2015-01-01 02:07:38,bin7658,35,False +abc,7659,7659,7659,1990-12-21,765.9000000001056,765.86005,2015-01-01 02:07:39,bin7659,75,False +abc,7660,7660,7660,1990-12-22,766.0000000001056,765.96,2015-01-01 02:07:40,bin7660,35,False +abc,7661,7661,7661,1990-12-23,766.1000000001056,766.06,2015-01-01 02:07:41,bin7661,75,False +abc,7662,7662,7662,1990-12-24,766.2000000001057,766.16,2015-01-01 02:07:42,bin7662,35,False +abc,7663,7663,7663,1990-12-25,766.3000000001057,766.25995,2015-01-01 02:07:43,bin7663,75,False +abc,7664,7664,7664,1990-12-26,766.4000000001057,766.3599,2015-01-01 02:07:44,bin7664,35,False +abc,7665,7665,7665,1990-12-27,766.5000000001057,766.4599,2015-01-01 02:07:45,bin7665,75,False +abc,7666,7666,7666,1990-12-28,766.6000000001058,766.5599,2015-01-01 02:07:46,bin7666,35,False +abc,7667,7667,7667,1990-12-29,766.7000000001058,766.65985,2015-01-01 02:07:47,bin7667,75,False +abc,7668,7668,7668,1990-12-30,766.8000000001058,766.7598,2015-01-01 02:07:48,bin7668,35,False +abc,7669,7669,7669,1990-12-31,766.9000000001058,766.8598,2015-01-01 02:07:49,bin7669,75,False +abc,7670,7670,7670,1991-01-01,767.0000000001058,766.9598,2015-01-01 02:07:50,bin7670,35,False +abc,7671,7671,7671,1991-01-02,767.1000000001059,767.05975,2015-01-01 02:07:51,bin7671,75,False +abc,7672,7672,7672,1991-01-03,767.2000000001059,767.1597,2015-01-01 02:07:52,bin7672,35,False +abc,7673,7673,7673,1991-01-04,767.3000000001059,767.2597,2015-01-01 02:07:53,bin7673,75,False +abc,7674,7674,7674,1991-01-05,767.4000000001059,767.3597,2015-01-01 02:07:54,bin7674,35,False +abc,7675,7675,7675,1991-01-06,767.500000000106,767.45966,2015-01-01 02:07:55,bin7675,75,False +abc,7676,7676,7676,1991-01-07,767.600000000106,767.55963,2015-01-01 02:07:56,bin7676,35,False +abc,7677,7677,7677,1991-01-08,767.700000000106,767.6596,2015-01-01 02:07:57,bin7677,75,False +abc,7678,7678,7678,1991-01-09,767.800000000106,767.7596,2015-01-01 02:07:58,bin7678,35,False +abc,7679,7679,7679,1991-01-10,767.900000000106,767.85956,2015-01-01 02:07:59,bin7679,75,False +abc,7680,7680,7680,1991-01-11,768.0000000001061,767.95953,2015-01-01 02:08:00,bin7680,35,False +abc,7681,7681,7681,1991-01-12,768.1000000001061,768.0595,2015-01-01 02:08:01,bin7681,75,False +abc,7682,7682,7682,1991-01-13,768.2000000001061,768.1595,2015-01-01 02:08:02,bin7682,35,False +abc,7683,7683,7683,1991-01-14,768.3000000001061,768.25946,2015-01-01 02:08:03,bin7683,75,False +abc,7684,7684,7684,1991-01-15,768.4000000001062,768.35944,2015-01-01 02:08:04,bin7684,35,False +abc,7685,7685,7685,1991-01-16,768.5000000001062,768.4594,2015-01-01 02:08:05,bin7685,75,False +abc,7686,7686,7686,1991-01-17,768.6000000001062,768.5594,2015-01-01 02:08:06,bin7686,35,False +abc,7687,7687,7687,1991-01-18,768.7000000001062,768.65936,2015-01-01 02:08:07,bin7687,75,False +abc,7688,7688,7688,1991-01-19,768.8000000001063,768.75934,2015-01-01 02:08:08,bin7688,35,False +abc,7689,7689,7689,1991-01-20,768.9000000001063,768.8593,2015-01-01 02:08:09,bin7689,75,False +abc,7690,7690,7690,1991-01-21,769.0000000001063,768.9593,2015-01-01 02:08:10,bin7690,35,False +abc,7691,7691,7691,1991-01-22,769.1000000001063,769.05927,2015-01-01 02:08:11,bin7691,75,False +abc,7692,7692,7692,1991-01-23,769.2000000001063,769.15924,2015-01-01 02:08:12,bin7692,35,False +abc,7693,7693,7693,1991-01-24,769.3000000001064,769.2592,2015-01-01 02:08:13,bin7693,75,False +abc,7694,7694,7694,1991-01-25,769.4000000001064,769.3592,2015-01-01 02:08:14,bin7694,35,False +abc,7695,7695,7695,1991-01-26,769.5000000001064,769.45917,2015-01-01 02:08:15,bin7695,75,False +abc,7696,7696,7696,1991-01-27,769.6000000001064,769.55914,2015-01-01 02:08:16,bin7696,35,False +abc,7697,7697,7697,1991-01-28,769.7000000001065,769.6591,2015-01-01 02:08:17,bin7697,75,False +abc,7698,7698,7698,1991-01-29,769.8000000001065,769.7591,2015-01-01 02:08:18,bin7698,35,False +abc,7699,7699,7699,1991-01-30,769.9000000001065,769.8591,2015-01-01 02:08:19,bin7699,75,False +abc,7700,7700,7700,1991-01-31,770.0000000001065,769.95905,2015-01-01 02:08:20,bin7700,35,False +abc,7701,7701,7701,1991-02-01,770.1000000001065,770.059,2015-01-01 02:08:21,bin7701,75,False +abc,7702,7702,7702,1991-02-02,770.2000000001066,770.159,2015-01-01 02:08:22,bin7702,35,False +abc,7703,7703,7703,1991-02-03,770.3000000001066,770.259,2015-01-01 02:08:23,bin7703,75,False +abc,7704,7704,7704,1991-02-04,770.4000000001066,770.35895,2015-01-01 02:08:24,bin7704,35,False +abc,7705,7705,7705,1991-02-05,770.5000000001066,770.4589,2015-01-01 02:08:25,bin7705,75,False +abc,7706,7706,7706,1991-02-06,770.6000000001067,770.5589,2015-01-01 02:08:26,bin7706,35,False +abc,7707,7707,7707,1991-02-07,770.7000000001067,770.6589,2015-01-01 02:08:27,bin7707,75,False +abc,7708,7708,7708,1991-02-08,770.8000000001067,770.75885,2015-01-01 02:08:28,bin7708,35,False +abc,7709,7709,7709,1991-02-09,770.9000000001067,770.8588,2015-01-01 02:08:29,bin7709,75,False +abc,7710,7710,7710,1991-02-10,771.0000000001068,770.9588,2015-01-01 02:08:30,bin7710,35,False +abc,7711,7711,7711,1991-02-11,771.1000000001068,771.0588,2015-01-01 02:08:31,bin7711,75,False +abc,7712,7712,7712,1991-02-12,771.2000000001068,771.15875,2015-01-01 02:08:32,bin7712,35,False +abc,7713,7713,7713,1991-02-13,771.3000000001068,771.2587,2015-01-01 02:08:33,bin7713,75,False +abc,7714,7714,7714,1991-02-14,771.4000000001068,771.3587,2015-01-01 02:08:34,bin7714,35,False +abc,7715,7715,7715,1991-02-15,771.5000000001069,771.4587,2015-01-01 02:08:35,bin7715,75,False +abc,7716,7716,7716,1991-02-16,771.6000000001069,771.55865,2015-01-01 02:08:36,bin7716,35,False +abc,7717,7717,7717,1991-02-17,771.7000000001069,771.6586,2015-01-01 02:08:37,bin7717,75,False +abc,7718,7718,7718,1991-02-18,771.8000000001069,771.7586,2015-01-01 02:08:38,bin7718,35,False +abc,7719,7719,7719,1991-02-19,771.900000000107,771.8586,2015-01-01 02:08:39,bin7719,75,False +abc,7720,7720,7720,1991-02-20,772.000000000107,771.95856,2015-01-01 02:08:40,bin7720,35,False +abc,7721,7721,7721,1991-02-21,772.100000000107,772.05853,2015-01-01 02:08:41,bin7721,75,False +abc,7722,7722,7722,1991-02-22,772.200000000107,772.1585,2015-01-01 02:08:42,bin7722,35,False +abc,7723,7723,7723,1991-02-23,772.300000000107,772.2585,2015-01-01 02:08:43,bin7723,75,False +abc,7724,7724,7724,1991-02-24,772.4000000001071,772.35846,2015-01-01 02:08:44,bin7724,35,False +abc,7725,7725,7725,1991-02-25,772.5000000001071,772.45844,2015-01-01 02:08:45,bin7725,75,False +abc,7726,7726,7726,1991-02-26,772.6000000001071,772.5584,2015-01-01 02:08:46,bin7726,35,False +abc,7727,7727,7727,1991-02-27,772.7000000001071,772.6584,2015-01-01 02:08:47,bin7727,75,False +abc,7728,7728,7728,1991-02-28,772.8000000001072,772.75836,2015-01-01 02:08:48,bin7728,35,False +abc,7729,7729,7729,1991-03-01,772.9000000001072,772.85834,2015-01-01 02:08:49,bin7729,75,False +abc,7730,7730,7730,1991-03-02,773.0000000001072,772.9583,2015-01-01 02:08:50,bin7730,35,False +abc,7731,7731,7731,1991-03-03,773.1000000001072,773.0583,2015-01-01 02:08:51,bin7731,75,False +abc,7732,7732,7732,1991-03-04,773.2000000001073,773.15826,2015-01-01 02:08:52,bin7732,35,False +abc,7733,7733,7733,1991-03-05,773.3000000001073,773.25824,2015-01-01 02:08:53,bin7733,75,False +abc,7734,7734,7734,1991-03-06,773.4000000001073,773.3582,2015-01-01 02:08:54,bin7734,35,False +abc,7735,7735,7735,1991-03-07,773.5000000001073,773.4582,2015-01-01 02:08:55,bin7735,75,False +abc,7736,7736,7736,1991-03-08,773.6000000001073,773.55817,2015-01-01 02:08:56,bin7736,35,False +abc,7737,7737,7737,1991-03-09,773.7000000001074,773.65814,2015-01-01 02:08:57,bin7737,75,False +abc,7738,7738,7738,1991-03-10,773.8000000001074,773.7581,2015-01-01 02:08:58,bin7738,35,False +abc,7739,7739,7739,1991-03-11,773.9000000001074,773.8581,2015-01-01 02:08:59,bin7739,75,False +abc,7740,7740,7740,1991-03-12,774.0000000001074,773.95807,2015-01-01 02:09:00,bin7740,35,False +abc,7741,7741,7741,1991-03-13,774.1000000001075,774.05804,2015-01-01 02:09:01,bin7741,75,False +abc,7742,7742,7742,1991-03-14,774.2000000001075,774.158,2015-01-01 02:09:02,bin7742,35,False +abc,7743,7743,7743,1991-03-15,774.3000000001075,774.258,2015-01-01 02:09:03,bin7743,75,False +abc,7744,7744,7744,1991-03-16,774.4000000001075,774.358,2015-01-01 02:09:04,bin7744,35,False +abc,7745,7745,7745,1991-03-17,774.5000000001075,774.45795,2015-01-01 02:09:05,bin7745,75,False +abc,7746,7746,7746,1991-03-18,774.6000000001076,774.5579,2015-01-01 02:09:06,bin7746,35,False +abc,7747,7747,7747,1991-03-19,774.7000000001076,774.6579,2015-01-01 02:09:07,bin7747,75,False +abc,7748,7748,7748,1991-03-20,774.8000000001076,774.7579,2015-01-01 02:09:08,bin7748,35,False +abc,7749,7749,7749,1991-03-21,774.9000000001076,774.85785,2015-01-01 02:09:09,bin7749,75,False +abc,7750,7750,7750,1991-03-22,775.0000000001077,774.9578,2015-01-01 02:09:10,bin7750,35,False +abc,7751,7751,7751,1991-03-23,775.1000000001077,775.0578,2015-01-01 02:09:11,bin7751,75,False +abc,7752,7752,7752,1991-03-24,775.2000000001077,775.1578,2015-01-01 02:09:12,bin7752,35,False +abc,7753,7753,7753,1991-03-25,775.3000000001077,775.25775,2015-01-01 02:09:13,bin7753,75,False +abc,7754,7754,7754,1991-03-26,775.4000000001078,775.3577,2015-01-01 02:09:14,bin7754,35,False +abc,7755,7755,7755,1991-03-27,775.5000000001078,775.4577,2015-01-01 02:09:15,bin7755,75,False +abc,7756,7756,7756,1991-03-28,775.6000000001078,775.5577,2015-01-01 02:09:16,bin7756,35,False +abc,7757,7757,7757,1991-03-29,775.7000000001078,775.65765,2015-01-01 02:09:17,bin7757,75,False +abc,7758,7758,7758,1991-03-30,775.8000000001078,775.7576,2015-01-01 02:09:18,bin7758,35,False +abc,7759,7759,7759,1991-03-31,775.9000000001079,775.8576,2015-01-01 02:09:19,bin7759,75,False +abc,7760,7760,7760,1991-04-01,776.0000000001079,775.9576,2015-01-01 02:09:20,bin7760,35,False +abc,7761,7761,7761,1991-04-02,776.1000000001079,776.05756,2015-01-01 02:09:21,bin7761,75,False +abc,7762,7762,7762,1991-04-03,776.2000000001079,776.15753,2015-01-01 02:09:22,bin7762,35,False +abc,7763,7763,7763,1991-04-04,776.300000000108,776.2575,2015-01-01 02:09:23,bin7763,75,False +abc,7764,7764,7764,1991-04-05,776.400000000108,776.3575,2015-01-01 02:09:24,bin7764,35,False +abc,7765,7765,7765,1991-04-06,776.500000000108,776.45746,2015-01-01 02:09:25,bin7765,75,False +abc,7766,7766,7766,1991-04-07,776.600000000108,776.55743,2015-01-01 02:09:26,bin7766,35,False +abc,7767,7767,7767,1991-04-08,776.700000000108,776.6574,2015-01-01 02:09:27,bin7767,75,False +abc,7768,7768,7768,1991-04-09,776.8000000001081,776.7574,2015-01-01 02:09:28,bin7768,35,False +abc,7769,7769,7769,1991-04-10,776.9000000001081,776.85736,2015-01-01 02:09:29,bin7769,75,False +abc,7770,7770,7770,1991-04-11,777.0000000001081,776.95734,2015-01-01 02:09:30,bin7770,35,False +abc,7771,7771,7771,1991-04-12,777.1000000001081,777.0573,2015-01-01 02:09:31,bin7771,75,False +abc,7772,7772,7772,1991-04-13,777.2000000001082,777.1573,2015-01-01 02:09:32,bin7772,35,False +abc,7773,7773,7773,1991-04-14,777.3000000001082,777.25726,2015-01-01 02:09:33,bin7773,75,False +abc,7774,7774,7774,1991-04-15,777.4000000001082,777.35724,2015-01-01 02:09:34,bin7774,35,False +abc,7775,7775,7775,1991-04-16,777.5000000001082,777.4572,2015-01-01 02:09:35,bin7775,75,False +abc,7776,7776,7776,1991-04-17,777.6000000001083,777.5572,2015-01-01 02:09:36,bin7776,35,False +abc,7777,7777,7777,1991-04-18,777.7000000001083,777.65717,2015-01-01 02:09:37,bin7777,75,False +abc,7778,7778,7778,1991-04-19,777.8000000001083,777.75714,2015-01-01 02:09:38,bin7778,35,False +abc,7779,7779,7779,1991-04-20,777.9000000001083,777.8571,2015-01-01 02:09:39,bin7779,75,False +abc,7780,7780,7780,1991-04-21,778.0000000001083,777.9571,2015-01-01 02:09:40,bin7780,35,False +abc,7781,7781,7781,1991-04-22,778.1000000001084,778.05707,2015-01-01 02:09:41,bin7781,75,False +abc,7782,7782,7782,1991-04-23,778.2000000001084,778.15704,2015-01-01 02:09:42,bin7782,35,False +abc,7783,7783,7783,1991-04-24,778.3000000001084,778.257,2015-01-01 02:09:43,bin7783,75,False +abc,7784,7784,7784,1991-04-25,778.4000000001084,778.357,2015-01-01 02:09:44,bin7784,35,False +abc,7785,7785,7785,1991-04-26,778.5000000001085,778.457,2015-01-01 02:09:45,bin7785,75,False +abc,7786,7786,7786,1991-04-27,778.6000000001085,778.55695,2015-01-01 02:09:46,bin7786,35,False +abc,7787,7787,7787,1991-04-28,778.7000000001085,778.6569,2015-01-01 02:09:47,bin7787,75,False +abc,7788,7788,7788,1991-04-29,778.8000000001085,778.7569,2015-01-01 02:09:48,bin7788,35,False +abc,7789,7789,7789,1991-04-30,778.9000000001085,778.8569,2015-01-01 02:09:49,bin7789,75,False +abc,7790,7790,7790,1991-05-01,779.0000000001086,778.95685,2015-01-01 02:09:50,bin7790,35,False +abc,7791,7791,7791,1991-05-02,779.1000000001086,779.0568,2015-01-01 02:09:51,bin7791,75,False +abc,7792,7792,7792,1991-05-03,779.2000000001086,779.1568,2015-01-01 02:09:52,bin7792,35,False +abc,7793,7793,7793,1991-05-04,779.3000000001086,779.2568,2015-01-01 02:09:53,bin7793,75,False +abc,7794,7794,7794,1991-05-05,779.4000000001087,779.35675,2015-01-01 02:09:54,bin7794,35,False +abc,7795,7795,7795,1991-05-06,779.5000000001087,779.4567,2015-01-01 02:09:55,bin7795,75,False +abc,7796,7796,7796,1991-05-07,779.6000000001087,779.5567,2015-01-01 02:09:56,bin7796,35,False +abc,7797,7797,7797,1991-05-08,779.7000000001087,779.6567,2015-01-01 02:09:57,bin7797,75,False +abc,7798,7798,7798,1991-05-09,779.8000000001088,779.75665,2015-01-01 02:09:58,bin7798,35,False +abc,7799,7799,7799,1991-05-10,779.9000000001088,779.8566,2015-01-01 02:09:59,bin7799,75,False +abc,7800,7800,7800,1991-05-11,780.0000000001088,779.9566,2015-01-01 02:10:00,bin7800,35,False +abc,7801,7801,7801,1991-05-12,780.1000000001088,780.0566,2015-01-01 02:10:01,bin7801,75,False +abc,7802,7802,7802,1991-05-13,780.2000000001088,780.15656,2015-01-01 02:10:02,bin7802,35,False +abc,7803,7803,7803,1991-05-14,780.3000000001089,780.25653,2015-01-01 02:10:03,bin7803,75,False +abc,7804,7804,7804,1991-05-15,780.4000000001089,780.3565,2015-01-01 02:10:04,bin7804,35,False +abc,7805,7805,7805,1991-05-16,780.5000000001089,780.4565,2015-01-01 02:10:05,bin7805,75,False +abc,7806,7806,7806,1991-05-17,780.6000000001089,780.55646,2015-01-01 02:10:06,bin7806,35,False +abc,7807,7807,7807,1991-05-18,780.700000000109,780.65643,2015-01-01 02:10:07,bin7807,75,False +abc,7808,7808,7808,1991-05-19,780.800000000109,780.7564,2015-01-01 02:10:08,bin7808,35,False +abc,7809,7809,7809,1991-05-20,780.900000000109,780.8564,2015-01-01 02:10:09,bin7809,75,False +abc,7810,7810,7810,1991-05-21,781.000000000109,780.95636,2015-01-01 02:10:10,bin7810,35,False +abc,7811,7811,7811,1991-05-22,781.100000000109,781.05634,2015-01-01 02:10:11,bin7811,75,False +abc,7812,7812,7812,1991-05-23,781.2000000001091,781.1563,2015-01-01 02:10:12,bin7812,35,False +abc,7813,7813,7813,1991-05-24,781.3000000001091,781.2563,2015-01-01 02:10:13,bin7813,75,False +abc,7814,7814,7814,1991-05-25,781.4000000001091,781.35626,2015-01-01 02:10:14,bin7814,35,False +abc,7815,7815,7815,1991-05-26,781.5000000001091,781.45624,2015-01-01 02:10:15,bin7815,75,False +abc,7816,7816,7816,1991-05-27,781.6000000001092,781.5562,2015-01-01 02:10:16,bin7816,35,False +abc,7817,7817,7817,1991-05-28,781.7000000001092,781.6562,2015-01-01 02:10:17,bin7817,75,False +abc,7818,7818,7818,1991-05-29,781.8000000001092,781.75616,2015-01-01 02:10:18,bin7818,35,False +abc,7819,7819,7819,1991-05-30,781.9000000001092,781.85614,2015-01-01 02:10:19,bin7819,75,False +abc,7820,7820,7820,1991-05-31,782.0000000001093,781.9561,2015-01-01 02:10:20,bin7820,35,False +abc,7821,7821,7821,1991-06-01,782.1000000001093,782.0561,2015-01-01 02:10:21,bin7821,75,False +abc,7822,7822,7822,1991-06-02,782.2000000001093,782.15607,2015-01-01 02:10:22,bin7822,35,False +abc,7823,7823,7823,1991-06-03,782.3000000001093,782.25604,2015-01-01 02:10:23,bin7823,75,False +abc,7824,7824,7824,1991-06-04,782.4000000001093,782.356,2015-01-01 02:10:24,bin7824,35,False +abc,7825,7825,7825,1991-06-05,782.5000000001094,782.456,2015-01-01 02:10:25,bin7825,75,False +abc,7826,7826,7826,1991-06-06,782.6000000001094,782.55597,2015-01-01 02:10:26,bin7826,35,False +abc,7827,7827,7827,1991-06-07,782.7000000001094,782.65594,2015-01-01 02:10:27,bin7827,75,False +abc,7828,7828,7828,1991-06-08,782.8000000001094,782.7559,2015-01-01 02:10:28,bin7828,35,False +abc,7829,7829,7829,1991-06-09,782.9000000001095,782.8559,2015-01-01 02:10:29,bin7829,75,False +abc,7830,7830,7830,1991-06-10,783.0000000001095,782.9559,2015-01-01 02:10:30,bin7830,35,False +abc,7831,7831,7831,1991-06-11,783.1000000001095,783.05585,2015-01-01 02:10:31,bin7831,75,False +abc,7832,7832,7832,1991-06-12,783.2000000001095,783.1558,2015-01-01 02:10:32,bin7832,35,False +abc,7833,7833,7833,1991-06-13,783.3000000001095,783.2558,2015-01-01 02:10:33,bin7833,75,False +abc,7834,7834,7834,1991-06-14,783.4000000001096,783.3558,2015-01-01 02:10:34,bin7834,35,False +abc,7835,7835,7835,1991-06-15,783.5000000001096,783.45575,2015-01-01 02:10:35,bin7835,75,False +abc,7836,7836,7836,1991-06-16,783.6000000001096,783.5557,2015-01-01 02:10:36,bin7836,35,False +abc,7837,7837,7837,1991-06-17,783.7000000001096,783.6557,2015-01-01 02:10:37,bin7837,75,False +abc,7838,7838,7838,1991-06-18,783.8000000001097,783.7557,2015-01-01 02:10:38,bin7838,35,False +abc,7839,7839,7839,1991-06-19,783.9000000001097,783.85565,2015-01-01 02:10:39,bin7839,75,False +abc,7840,7840,7840,1991-06-20,784.0000000001097,783.9556,2015-01-01 02:10:40,bin7840,35,False +abc,7841,7841,7841,1991-06-21,784.1000000001097,784.0556,2015-01-01 02:10:41,bin7841,75,False +abc,7842,7842,7842,1991-06-22,784.2000000001098,784.1556,2015-01-01 02:10:42,bin7842,35,False +abc,7843,7843,7843,1991-06-23,784.3000000001098,784.25555,2015-01-01 02:10:43,bin7843,75,False +abc,7844,7844,7844,1991-06-24,784.4000000001098,784.3555,2015-01-01 02:10:44,bin7844,35,False +abc,7845,7845,7845,1991-06-25,784.5000000001098,784.4555,2015-01-01 02:10:45,bin7845,75,False +abc,7846,7846,7846,1991-06-26,784.6000000001098,784.5555,2015-01-01 02:10:46,bin7846,35,False +abc,7847,7847,7847,1991-06-27,784.7000000001099,784.65546,2015-01-01 02:10:47,bin7847,75,False +abc,7848,7848,7848,1991-06-28,784.8000000001099,784.75543,2015-01-01 02:10:48,bin7848,35,False +abc,7849,7849,7849,1991-06-29,784.9000000001099,784.8554,2015-01-01 02:10:49,bin7849,75,False +abc,7850,7850,7850,1991-06-30,785.0000000001099,784.9554,2015-01-01 02:10:50,bin7850,35,False +abc,7851,7851,7851,1991-07-01,785.10000000011,785.05536,2015-01-01 02:10:51,bin7851,75,False +abc,7852,7852,7852,1991-07-02,785.20000000011,785.15533,2015-01-01 02:10:52,bin7852,35,False +abc,7853,7853,7853,1991-07-03,785.30000000011,785.2553,2015-01-01 02:10:53,bin7853,75,False +abc,7854,7854,7854,1991-07-04,785.40000000011,785.3553,2015-01-01 02:10:54,bin7854,35,False +abc,7855,7855,7855,1991-07-05,785.50000000011,785.45526,2015-01-01 02:10:55,bin7855,75,False +abc,7856,7856,7856,1991-07-06,785.6000000001101,785.55524,2015-01-01 02:10:56,bin7856,35,False +abc,7857,7857,7857,1991-07-07,785.7000000001101,785.6552,2015-01-01 02:10:57,bin7857,75,False +abc,7858,7858,7858,1991-07-08,785.8000000001101,785.7552,2015-01-01 02:10:58,bin7858,35,False +abc,7859,7859,7859,1991-07-09,785.9000000001101,785.85516,2015-01-01 02:10:59,bin7859,75,False +abc,7860,7860,7860,1991-07-10,786.0000000001102,785.95514,2015-01-01 02:11:00,bin7860,35,False +abc,7861,7861,7861,1991-07-11,786.1000000001102,786.0551,2015-01-01 02:11:01,bin7861,75,False +abc,7862,7862,7862,1991-07-12,786.2000000001102,786.1551,2015-01-01 02:11:02,bin7862,35,False +abc,7863,7863,7863,1991-07-13,786.3000000001102,786.25507,2015-01-01 02:11:03,bin7863,75,False +abc,7864,7864,7864,1991-07-14,786.4000000001103,786.35504,2015-01-01 02:11:04,bin7864,35,False +abc,7865,7865,7865,1991-07-15,786.5000000001103,786.455,2015-01-01 02:11:05,bin7865,75,False +abc,7866,7866,7866,1991-07-16,786.6000000001103,786.555,2015-01-01 02:11:06,bin7866,35,False +abc,7867,7867,7867,1991-07-17,786.7000000001103,786.65497,2015-01-01 02:11:07,bin7867,75,False +abc,7868,7868,7868,1991-07-18,786.8000000001103,786.75494,2015-01-01 02:11:08,bin7868,35,False +abc,7869,7869,7869,1991-07-19,786.9000000001104,786.8549,2015-01-01 02:11:09,bin7869,75,False +abc,7870,7870,7870,1991-07-20,787.0000000001104,786.9549,2015-01-01 02:11:10,bin7870,35,False +abc,7871,7871,7871,1991-07-21,787.1000000001104,787.0549,2015-01-01 02:11:11,bin7871,75,False +abc,7872,7872,7872,1991-07-22,787.2000000001104,787.15485,2015-01-01 02:11:12,bin7872,35,False +abc,7873,7873,7873,1991-07-23,787.3000000001105,787.2548,2015-01-01 02:11:13,bin7873,75,False +abc,7874,7874,7874,1991-07-24,787.4000000001105,787.3548,2015-01-01 02:11:14,bin7874,35,False +abc,7875,7875,7875,1991-07-25,787.5000000001105,787.4548,2015-01-01 02:11:15,bin7875,75,False +abc,7876,7876,7876,1991-07-26,787.6000000001105,787.55475,2015-01-01 02:11:16,bin7876,35,False +abc,7877,7877,7877,1991-07-27,787.7000000001105,787.6547,2015-01-01 02:11:17,bin7877,75,False +abc,7878,7878,7878,1991-07-28,787.8000000001106,787.7547,2015-01-01 02:11:18,bin7878,35,False +abc,7879,7879,7879,1991-07-29,787.9000000001106,787.8547,2015-01-01 02:11:19,bin7879,75,False +abc,7880,7880,7880,1991-07-30,788.0000000001106,787.95465,2015-01-01 02:11:20,bin7880,35,False +abc,7881,7881,7881,1991-07-31,788.1000000001106,788.0546,2015-01-01 02:11:21,bin7881,75,False +abc,7882,7882,7882,1991-08-01,788.2000000001107,788.1546,2015-01-01 02:11:22,bin7882,35,False +abc,7883,7883,7883,1991-08-02,788.3000000001107,788.2546,2015-01-01 02:11:23,bin7883,75,False +abc,7884,7884,7884,1991-08-03,788.4000000001107,788.35455,2015-01-01 02:11:24,bin7884,35,False +abc,7885,7885,7885,1991-08-04,788.5000000001107,788.4545,2015-01-01 02:11:25,bin7885,75,False +abc,7886,7886,7886,1991-08-05,788.6000000001108,788.5545,2015-01-01 02:11:26,bin7886,35,False +abc,7887,7887,7887,1991-08-06,788.7000000001108,788.6545,2015-01-01 02:11:27,bin7887,75,False +abc,7888,7888,7888,1991-08-07,788.8000000001108,788.75446,2015-01-01 02:11:28,bin7888,35,False +abc,7889,7889,7889,1991-08-08,788.9000000001108,788.85443,2015-01-01 02:11:29,bin7889,75,False +abc,7890,7890,7890,1991-08-09,789.0000000001108,788.9544,2015-01-01 02:11:30,bin7890,35,False +abc,7891,7891,7891,1991-08-10,789.1000000001109,789.0544,2015-01-01 02:11:31,bin7891,75,False +abc,7892,7892,7892,1991-08-11,789.2000000001109,789.15436,2015-01-01 02:11:32,bin7892,35,False +abc,7893,7893,7893,1991-08-12,789.3000000001109,789.25433,2015-01-01 02:11:33,bin7893,75,False +abc,7894,7894,7894,1991-08-13,789.4000000001109,789.3543,2015-01-01 02:11:34,bin7894,35,False +abc,7895,7895,7895,1991-08-14,789.500000000111,789.4543,2015-01-01 02:11:35,bin7895,75,False +abc,7896,7896,7896,1991-08-15,789.600000000111,789.55426,2015-01-01 02:11:36,bin7896,35,False +abc,7897,7897,7897,1991-08-16,789.700000000111,789.65424,2015-01-01 02:11:37,bin7897,75,False +abc,7898,7898,7898,1991-08-17,789.800000000111,789.7542,2015-01-01 02:11:38,bin7898,35,False +abc,7899,7899,7899,1991-08-18,789.900000000111,789.8542,2015-01-01 02:11:39,bin7899,75,False +abc,7900,7900,7900,1991-08-19,790.0000000001111,789.95416,2015-01-01 02:11:40,bin7900,35,False +abc,7901,7901,7901,1991-08-20,790.1000000001111,790.05414,2015-01-01 02:11:41,bin7901,75,False +abc,7902,7902,7902,1991-08-21,790.2000000001111,790.1541,2015-01-01 02:11:42,bin7902,35,False +abc,7903,7903,7903,1991-08-22,790.3000000001111,790.2541,2015-01-01 02:11:43,bin7903,75,False +abc,7904,7904,7904,1991-08-23,790.4000000001112,790.35406,2015-01-01 02:11:44,bin7904,35,False +abc,7905,7905,7905,1991-08-24,790.5000000001112,790.45404,2015-01-01 02:11:45,bin7905,75,False +abc,7906,7906,7906,1991-08-25,790.6000000001112,790.554,2015-01-01 02:11:46,bin7906,35,False +abc,7907,7907,7907,1991-08-26,790.7000000001112,790.654,2015-01-01 02:11:47,bin7907,75,False +abc,7908,7908,7908,1991-08-27,790.8000000001113,790.75397,2015-01-01 02:11:48,bin7908,35,False +abc,7909,7909,7909,1991-08-28,790.9000000001113,790.85394,2015-01-01 02:11:49,bin7909,75,False +abc,7910,7910,7910,1991-08-29,791.0000000001113,790.9539,2015-01-01 02:11:50,bin7910,35,False +abc,7911,7911,7911,1991-08-30,791.1000000001113,791.0539,2015-01-01 02:11:51,bin7911,75,False +abc,7912,7912,7912,1991-08-31,791.2000000001113,791.1539,2015-01-01 02:11:52,bin7912,35,False +abc,7913,7913,7913,1991-09-01,791.3000000001114,791.25385,2015-01-01 02:11:53,bin7913,75,False +abc,7914,7914,7914,1991-09-02,791.4000000001114,791.3538,2015-01-01 02:11:54,bin7914,35,False +abc,7915,7915,7915,1991-09-03,791.5000000001114,791.4538,2015-01-01 02:11:55,bin7915,75,False +abc,7916,7916,7916,1991-09-04,791.6000000001114,791.5538,2015-01-01 02:11:56,bin7916,35,False +abc,7917,7917,7917,1991-09-05,791.7000000001115,791.65375,2015-01-01 02:11:57,bin7917,75,False +abc,7918,7918,7918,1991-09-06,791.8000000001115,791.7537,2015-01-01 02:11:58,bin7918,35,False +abc,7919,7919,7919,1991-09-07,791.9000000001115,791.8537,2015-01-01 02:11:59,bin7919,75,False +abc,7920,7920,7920,1991-09-08,792.0000000001115,791.9537,2015-01-01 02:12:00,bin7920,35,False +abc,7921,7921,7921,1991-09-09,792.1000000001115,792.05365,2015-01-01 02:12:01,bin7921,75,False +abc,7922,7922,7922,1991-09-10,792.2000000001116,792.1536,2015-01-01 02:12:02,bin7922,35,False +abc,7923,7923,7923,1991-09-11,792.3000000001116,792.2536,2015-01-01 02:12:03,bin7923,75,False +abc,7924,7924,7924,1991-09-12,792.4000000001116,792.3536,2015-01-01 02:12:04,bin7924,35,False +abc,7925,7925,7925,1991-09-13,792.5000000001116,792.45355,2015-01-01 02:12:05,bin7925,75,False +abc,7926,7926,7926,1991-09-14,792.6000000001117,792.5535,2015-01-01 02:12:06,bin7926,35,False +abc,7927,7927,7927,1991-09-15,792.7000000001117,792.6535,2015-01-01 02:12:07,bin7927,75,False +abc,7928,7928,7928,1991-09-16,792.8000000001117,792.7535,2015-01-01 02:12:08,bin7928,35,False +abc,7929,7929,7929,1991-09-17,792.9000000001117,792.85345,2015-01-01 02:12:09,bin7929,75,False +abc,7930,7930,7930,1991-09-18,793.0000000001118,792.9534,2015-01-01 02:12:10,bin7930,35,False +abc,7931,7931,7931,1991-09-19,793.1000000001118,793.0534,2015-01-01 02:12:11,bin7931,75,False +abc,7932,7932,7932,1991-09-20,793.2000000001118,793.1534,2015-01-01 02:12:12,bin7932,35,False +abc,7933,7933,7933,1991-09-21,793.3000000001118,793.25336,2015-01-01 02:12:13,bin7933,75,False +abc,7934,7934,7934,1991-09-22,793.4000000001118,793.35333,2015-01-01 02:12:14,bin7934,35,False +abc,7935,7935,7935,1991-09-23,793.5000000001119,793.4533,2015-01-01 02:12:15,bin7935,75,False +abc,7936,7936,7936,1991-09-24,793.6000000001119,793.5533,2015-01-01 02:12:16,bin7936,35,False +abc,7937,7937,7937,1991-09-25,793.7000000001119,793.65326,2015-01-01 02:12:17,bin7937,75,False +abc,7938,7938,7938,1991-09-26,793.8000000001119,793.75323,2015-01-01 02:12:18,bin7938,35,False +abc,7939,7939,7939,1991-09-27,793.900000000112,793.8532,2015-01-01 02:12:19,bin7939,75,False +abc,7940,7940,7940,1991-09-28,794.000000000112,793.9532,2015-01-01 02:12:20,bin7940,35,False +abc,7941,7941,7941,1991-09-29,794.100000000112,794.05316,2015-01-01 02:12:21,bin7941,75,False +abc,7942,7942,7942,1991-09-30,794.200000000112,794.15314,2015-01-01 02:12:22,bin7942,35,False +abc,7943,7943,7943,1991-10-01,794.300000000112,794.2531,2015-01-01 02:12:23,bin7943,75,False +abc,7944,7944,7944,1991-10-02,794.4000000001121,794.3531,2015-01-01 02:12:24,bin7944,35,False +abc,7945,7945,7945,1991-10-03,794.5000000001121,794.45306,2015-01-01 02:12:25,bin7945,75,False +abc,7946,7946,7946,1991-10-04,794.6000000001121,794.55304,2015-01-01 02:12:26,bin7946,35,False +abc,7947,7947,7947,1991-10-05,794.7000000001121,794.653,2015-01-01 02:12:27,bin7947,75,False +abc,7948,7948,7948,1991-10-06,794.8000000001122,794.753,2015-01-01 02:12:28,bin7948,35,False +abc,7949,7949,7949,1991-10-07,794.9000000001122,794.85297,2015-01-01 02:12:29,bin7949,75,False +abc,7950,7950,7950,1991-10-08,795.0000000001122,794.95294,2015-01-01 02:12:30,bin7950,35,False +abc,7951,7951,7951,1991-10-09,795.1000000001122,795.0529,2015-01-01 02:12:31,bin7951,75,False +abc,7952,7952,7952,1991-10-10,795.2000000001123,795.1529,2015-01-01 02:12:32,bin7952,35,False +abc,7953,7953,7953,1991-10-11,795.3000000001123,795.25287,2015-01-01 02:12:33,bin7953,75,False +abc,7954,7954,7954,1991-10-12,795.4000000001123,795.35284,2015-01-01 02:12:34,bin7954,35,False +abc,7955,7955,7955,1991-10-13,795.5000000001123,795.4528,2015-01-01 02:12:35,bin7955,75,False +abc,7956,7956,7956,1991-10-14,795.6000000001123,795.5528,2015-01-01 02:12:36,bin7956,35,False +abc,7957,7957,7957,1991-10-15,795.7000000001124,795.6528,2015-01-01 02:12:37,bin7957,75,False +abc,7958,7958,7958,1991-10-16,795.8000000001124,795.75275,2015-01-01 02:12:38,bin7958,35,False +abc,7959,7959,7959,1991-10-17,795.9000000001124,795.8527,2015-01-01 02:12:39,bin7959,75,False +abc,7960,7960,7960,1991-10-18,796.0000000001124,795.9527,2015-01-01 02:12:40,bin7960,35,False +abc,7961,7961,7961,1991-10-19,796.1000000001125,796.0527,2015-01-01 02:12:41,bin7961,75,False +abc,7962,7962,7962,1991-10-20,796.2000000001125,796.15265,2015-01-01 02:12:42,bin7962,35,False +abc,7963,7963,7963,1991-10-21,796.3000000001125,796.2526,2015-01-01 02:12:43,bin7963,75,False +abc,7964,7964,7964,1991-10-22,796.4000000001125,796.3526,2015-01-01 02:12:44,bin7964,35,False +abc,7965,7965,7965,1991-10-23,796.5000000001125,796.4526,2015-01-01 02:12:45,bin7965,75,False +abc,7966,7966,7966,1991-10-24,796.6000000001126,796.55255,2015-01-01 02:12:46,bin7966,35,False +abc,7967,7967,7967,1991-10-25,796.7000000001126,796.6525,2015-01-01 02:12:47,bin7967,75,False +abc,7968,7968,7968,1991-10-26,796.8000000001126,796.7525,2015-01-01 02:12:48,bin7968,35,False +abc,7969,7969,7969,1991-10-27,796.9000000001126,796.8525,2015-01-01 02:12:49,bin7969,75,False +abc,7970,7970,7970,1991-10-28,797.0000000001127,796.95245,2015-01-01 02:12:50,bin7970,35,False +abc,7971,7971,7971,1991-10-29,797.1000000001127,797.0524,2015-01-01 02:12:51,bin7971,75,False +abc,7972,7972,7972,1991-10-30,797.2000000001127,797.1524,2015-01-01 02:12:52,bin7972,35,False +abc,7973,7973,7973,1991-10-31,797.3000000001127,797.2524,2015-01-01 02:12:53,bin7973,75,False +abc,7974,7974,7974,1991-11-01,797.4000000001128,797.35236,2015-01-01 02:12:54,bin7974,35,False +abc,7975,7975,7975,1991-11-02,797.5000000001128,797.45233,2015-01-01 02:12:55,bin7975,75,False +abc,7976,7976,7976,1991-11-03,797.6000000001128,797.5523,2015-01-01 02:12:56,bin7976,35,False +abc,7977,7977,7977,1991-11-04,797.7000000001128,797.6523,2015-01-01 02:12:57,bin7977,75,False +abc,7978,7978,7978,1991-11-05,797.8000000001128,797.75226,2015-01-01 02:12:58,bin7978,35,False +abc,7979,7979,7979,1991-11-06,797.9000000001129,797.85223,2015-01-01 02:12:59,bin7979,75,False +abc,7980,7980,7980,1991-11-07,798.0000000001129,797.9522,2015-01-01 02:13:00,bin7980,35,False +abc,7981,7981,7981,1991-11-08,798.1000000001129,798.0522,2015-01-01 02:13:01,bin7981,75,False +abc,7982,7982,7982,1991-11-09,798.2000000001129,798.15216,2015-01-01 02:13:02,bin7982,35,False +abc,7983,7983,7983,1991-11-10,798.300000000113,798.25214,2015-01-01 02:13:03,bin7983,75,False +abc,7984,7984,7984,1991-11-11,798.400000000113,798.3521,2015-01-01 02:13:04,bin7984,35,False +abc,7985,7985,7985,1991-11-12,798.500000000113,798.4521,2015-01-01 02:13:05,bin7985,75,False +abc,7986,7986,7986,1991-11-13,798.600000000113,798.55206,2015-01-01 02:13:06,bin7986,35,False +abc,7987,7987,7987,1991-11-14,798.700000000113,798.65204,2015-01-01 02:13:07,bin7987,75,False +abc,7988,7988,7988,1991-11-15,798.8000000001131,798.752,2015-01-01 02:13:08,bin7988,35,False +abc,7989,7989,7989,1991-11-16,798.9000000001131,798.852,2015-01-01 02:13:09,bin7989,75,False +abc,7990,7990,7990,1991-11-17,799.0000000001131,798.95197,2015-01-01 02:13:10,bin7990,35,False +abc,7991,7991,7991,1991-11-18,799.1000000001131,799.05194,2015-01-01 02:13:11,bin7991,75,False +abc,7992,7992,7992,1991-11-19,799.2000000001132,799.1519,2015-01-01 02:13:12,bin7992,35,False +abc,7993,7993,7993,1991-11-20,799.3000000001132,799.2519,2015-01-01 02:13:13,bin7993,75,False +abc,7994,7994,7994,1991-11-21,799.4000000001132,799.35187,2015-01-01 02:13:14,bin7994,35,False +abc,7995,7995,7995,1991-11-22,799.5000000001132,799.45184,2015-01-01 02:13:15,bin7995,75,False +abc,7996,7996,7996,1991-11-23,799.6000000001133,799.5518,2015-01-01 02:13:16,bin7996,35,False +abc,7997,7997,7997,1991-11-24,799.7000000001133,799.6518,2015-01-01 02:13:17,bin7997,75,False +abc,7998,7998,7998,1991-11-25,799.8000000001133,799.7518,2015-01-01 02:13:18,bin7998,35,False +abc,7999,7999,7999,1991-11-26,799.9000000001133,799.85175,2015-01-01 02:13:19,bin7999,75,False +abc,8000,8000,8000,1991-11-27,800.0000000001133,799.9517,2015-01-01 02:13:20,bin8000,35,False +abc,8001,8001,8001,1991-11-28,800.1000000001134,800.0517,2015-01-01 02:13:21,bin8001,75,False +abc,8002,8002,8002,1991-11-29,800.2000000001134,800.1517,2015-01-01 02:13:22,bin8002,35,False +abc,8003,8003,8003,1991-11-30,800.3000000001134,800.25165,2015-01-01 02:13:23,bin8003,75,False +abc,8004,8004,8004,1991-12-01,800.4000000001134,800.3516,2015-01-01 02:13:24,bin8004,35,False +abc,8005,8005,8005,1991-12-02,800.5000000001135,800.4516,2015-01-01 02:13:25,bin8005,75,False +abc,8006,8006,8006,1991-12-03,800.6000000001135,800.5516,2015-01-01 02:13:26,bin8006,35,False +abc,8007,8007,8007,1991-12-04,800.7000000001135,800.65155,2015-01-01 02:13:27,bin8007,75,False +abc,8008,8008,8008,1991-12-05,800.8000000001135,800.7515,2015-01-01 02:13:28,bin8008,35,False +abc,8009,8009,8009,1991-12-06,800.9000000001136,800.8515,2015-01-01 02:13:29,bin8009,75,False +abc,8010,8010,8010,1991-12-07,801.0000000001136,800.9515,2015-01-01 02:13:30,bin8010,35,False +abc,8011,8011,8011,1991-12-08,801.1000000001136,801.05145,2015-01-01 02:13:31,bin8011,75,False +abc,8012,8012,8012,1991-12-09,801.2000000001136,801.1514,2015-01-01 02:13:32,bin8012,35,False +abc,8013,8013,8013,1991-12-10,801.3000000001136,801.2514,2015-01-01 02:13:33,bin8013,75,False +abc,8014,8014,8014,1991-12-11,801.4000000001137,801.3514,2015-01-01 02:13:34,bin8014,35,False +abc,8015,8015,8015,1991-12-12,801.5000000001137,801.45135,2015-01-01 02:13:35,bin8015,75,False +abc,8016,8016,8016,1991-12-13,801.6000000001137,801.55133,2015-01-01 02:13:36,bin8016,35,False +abc,8017,8017,8017,1991-12-14,801.7000000001137,801.6513,2015-01-01 02:13:37,bin8017,75,False +abc,8018,8018,8018,1991-12-15,801.8000000001138,801.7513,2015-01-01 02:13:38,bin8018,35,False +abc,8019,8019,8019,1991-12-16,801.9000000001138,801.85126,2015-01-01 02:13:39,bin8019,75,False +abc,8020,8020,8020,1991-12-17,802.0000000001138,801.95123,2015-01-01 02:13:40,bin8020,35,False +abc,8021,8021,8021,1991-12-18,802.1000000001138,802.0512,2015-01-01 02:13:41,bin8021,75,False +abc,8022,8022,8022,1991-12-19,802.2000000001138,802.1512,2015-01-01 02:13:42,bin8022,35,False +abc,8023,8023,8023,1991-12-20,802.3000000001139,802.25116,2015-01-01 02:13:43,bin8023,75,False +abc,8024,8024,8024,1991-12-21,802.4000000001139,802.35114,2015-01-01 02:13:44,bin8024,35,False +abc,8025,8025,8025,1991-12-22,802.5000000001139,802.4511,2015-01-01 02:13:45,bin8025,75,False +abc,8026,8026,8026,1991-12-23,802.6000000001139,802.5511,2015-01-01 02:13:46,bin8026,35,False +abc,8027,8027,8027,1991-12-24,802.700000000114,802.65106,2015-01-01 02:13:47,bin8027,75,False +abc,8028,8028,8028,1991-12-25,802.800000000114,802.75104,2015-01-01 02:13:48,bin8028,35,False +abc,8029,8029,8029,1991-12-26,802.900000000114,802.851,2015-01-01 02:13:49,bin8029,75,False +abc,8030,8030,8030,1991-12-27,803.000000000114,802.951,2015-01-01 02:13:50,bin8030,35,False +abc,8031,8031,8031,1991-12-28,803.100000000114,803.05096,2015-01-01 02:13:51,bin8031,75,False +abc,8032,8032,8032,1991-12-29,803.2000000001141,803.15094,2015-01-01 02:13:52,bin8032,35,False +abc,8033,8033,8033,1991-12-30,803.3000000001141,803.2509,2015-01-01 02:13:53,bin8033,75,False +abc,8034,8034,8034,1991-12-31,803.4000000001141,803.3509,2015-01-01 02:13:54,bin8034,35,False +abc,8035,8035,8035,1992-01-01,803.5000000001141,803.45087,2015-01-01 02:13:55,bin8035,75,False +abc,8036,8036,8036,1992-01-02,803.6000000001142,803.55084,2015-01-01 02:13:56,bin8036,35,False +abc,8037,8037,8037,1992-01-03,803.7000000001142,803.6508,2015-01-01 02:13:57,bin8037,75,False +abc,8038,8038,8038,1992-01-04,803.8000000001142,803.7508,2015-01-01 02:13:58,bin8038,35,False +abc,8039,8039,8039,1992-01-05,803.9000000001142,803.85077,2015-01-01 02:13:59,bin8039,75,False +abc,8040,8040,8040,1992-01-06,804.0000000001143,803.95074,2015-01-01 02:14:00,bin8040,35,False +abc,8041,8041,8041,1992-01-07,804.1000000001143,804.0507,2015-01-01 02:14:01,bin8041,75,False +abc,8042,8042,8042,1992-01-08,804.2000000001143,804.1507,2015-01-01 02:14:02,bin8042,35,False +abc,8043,8043,8043,1992-01-09,804.3000000001143,804.2507,2015-01-01 02:14:03,bin8043,75,False +abc,8044,8044,8044,1992-01-10,804.4000000001143,804.35065,2015-01-01 02:14:04,bin8044,35,False +abc,8045,8045,8045,1992-01-11,804.5000000001144,804.4506,2015-01-01 02:14:05,bin8045,75,False +abc,8046,8046,8046,1992-01-12,804.6000000001144,804.5506,2015-01-01 02:14:06,bin8046,35,False +abc,8047,8047,8047,1992-01-13,804.7000000001144,804.6506,2015-01-01 02:14:07,bin8047,75,False +abc,8048,8048,8048,1992-01-14,804.8000000001144,804.75055,2015-01-01 02:14:08,bin8048,35,False +abc,8049,8049,8049,1992-01-15,804.9000000001145,804.8505,2015-01-01 02:14:09,bin8049,75,False +abc,8050,8050,8050,1992-01-16,805.0000000001145,804.9505,2015-01-01 02:14:10,bin8050,35,False +abc,8051,8051,8051,1992-01-17,805.1000000001145,805.0505,2015-01-01 02:14:11,bin8051,75,False +abc,8052,8052,8052,1992-01-18,805.2000000001145,805.15045,2015-01-01 02:14:12,bin8052,35,False +abc,8053,8053,8053,1992-01-19,805.3000000001146,805.2504,2015-01-01 02:14:13,bin8053,75,False +abc,8054,8054,8054,1992-01-20,805.4000000001146,805.3504,2015-01-01 02:14:14,bin8054,35,False +abc,8055,8055,8055,1992-01-21,805.5000000001146,805.4504,2015-01-01 02:14:15,bin8055,75,False +abc,8056,8056,8056,1992-01-22,805.6000000001146,805.55035,2015-01-01 02:14:16,bin8056,35,False +abc,8057,8057,8057,1992-01-23,805.7000000001146,805.6503,2015-01-01 02:14:17,bin8057,75,False +abc,8058,8058,8058,1992-01-24,805.8000000001147,805.7503,2015-01-01 02:14:18,bin8058,35,False +abc,8059,8059,8059,1992-01-25,805.9000000001147,805.8503,2015-01-01 02:14:19,bin8059,75,False +abc,8060,8060,8060,1992-01-26,806.0000000001147,805.95026,2015-01-01 02:14:20,bin8060,35,False +abc,8061,8061,8061,1992-01-27,806.1000000001147,806.05023,2015-01-01 02:14:21,bin8061,75,False +abc,8062,8062,8062,1992-01-28,806.2000000001148,806.1502,2015-01-01 02:14:22,bin8062,35,False +abc,8063,8063,8063,1992-01-29,806.3000000001148,806.2502,2015-01-01 02:14:23,bin8063,75,False +abc,8064,8064,8064,1992-01-30,806.4000000001148,806.35016,2015-01-01 02:14:24,bin8064,35,False +abc,8065,8065,8065,1992-01-31,806.5000000001148,806.45013,2015-01-01 02:14:25,bin8065,75,False +abc,8066,8066,8066,1992-02-01,806.6000000001148,806.5501,2015-01-01 02:14:26,bin8066,35,False +abc,8067,8067,8067,1992-02-02,806.7000000001149,806.6501,2015-01-01 02:14:27,bin8067,75,False +abc,8068,8068,8068,1992-02-03,806.8000000001149,806.75006,2015-01-01 02:14:28,bin8068,35,False +abc,8069,8069,8069,1992-02-04,806.9000000001149,806.85004,2015-01-01 02:14:29,bin8069,75,False +abc,8070,8070,8070,1992-02-05,807.0000000001149,806.95,2015-01-01 02:14:30,bin8070,35,False +abc,8071,8071,8071,1992-02-06,807.100000000115,807.05,2015-01-01 02:14:31,bin8071,75,False +abc,8072,8072,8072,1992-02-07,807.200000000115,807.14996,2015-01-01 02:14:32,bin8072,35,False +abc,8073,8073,8073,1992-02-08,807.300000000115,807.24994,2015-01-01 02:14:33,bin8073,75,False +abc,8074,8074,8074,1992-02-09,807.400000000115,807.3499,2015-01-01 02:14:34,bin8074,35,False +abc,8075,8075,8075,1992-02-10,807.500000000115,807.4499,2015-01-01 02:14:35,bin8075,75,False +abc,8076,8076,8076,1992-02-11,807.6000000001151,807.54987,2015-01-01 02:14:36,bin8076,35,False +abc,8077,8077,8077,1992-02-12,807.7000000001151,807.64984,2015-01-01 02:14:37,bin8077,75,False +abc,8078,8078,8078,1992-02-13,807.8000000001151,807.7498,2015-01-01 02:14:38,bin8078,35,False +abc,8079,8079,8079,1992-02-14,807.9000000001151,807.8498,2015-01-01 02:14:39,bin8079,75,False +abc,8080,8080,8080,1992-02-15,808.0000000001152,807.94977,2015-01-01 02:14:40,bin8080,35,False +abc,8081,8081,8081,1992-02-16,808.1000000001152,808.04974,2015-01-01 02:14:41,bin8081,75,False +abc,8082,8082,8082,1992-02-17,808.2000000001152,808.1497,2015-01-01 02:14:42,bin8082,35,False +abc,8083,8083,8083,1992-02-18,808.3000000001152,808.2497,2015-01-01 02:14:43,bin8083,75,False +abc,8084,8084,8084,1992-02-19,808.4000000001153,808.3497,2015-01-01 02:14:44,bin8084,35,False +abc,8085,8085,8085,1992-02-20,808.5000000001153,808.44965,2015-01-01 02:14:45,bin8085,75,False +abc,8086,8086,8086,1992-02-21,808.6000000001153,808.5496,2015-01-01 02:14:46,bin8086,35,False +abc,8087,8087,8087,1992-02-22,808.7000000001153,808.6496,2015-01-01 02:14:47,bin8087,75,False +abc,8088,8088,8088,1992-02-23,808.8000000001153,808.7496,2015-01-01 02:14:48,bin8088,35,False +abc,8089,8089,8089,1992-02-24,808.9000000001154,808.84955,2015-01-01 02:14:49,bin8089,75,False +abc,8090,8090,8090,1992-02-25,809.0000000001154,808.9495,2015-01-01 02:14:50,bin8090,35,False +abc,8091,8091,8091,1992-02-26,809.1000000001154,809.0495,2015-01-01 02:14:51,bin8091,75,False +abc,8092,8092,8092,1992-02-27,809.2000000001154,809.1495,2015-01-01 02:14:52,bin8092,35,False +abc,8093,8093,8093,1992-02-28,809.3000000001155,809.24945,2015-01-01 02:14:53,bin8093,75,False +abc,8094,8094,8094,1992-02-29,809.4000000001155,809.3494,2015-01-01 02:14:54,bin8094,35,False +abc,8095,8095,8095,1992-03-01,809.5000000001155,809.4494,2015-01-01 02:14:55,bin8095,75,False +abc,8096,8096,8096,1992-03-02,809.6000000001155,809.5494,2015-01-01 02:14:56,bin8096,35,False +abc,8097,8097,8097,1992-03-03,809.7000000001156,809.64935,2015-01-01 02:14:57,bin8097,75,False +abc,8098,8098,8098,1992-03-04,809.8000000001156,809.7493,2015-01-01 02:14:58,bin8098,35,False +abc,8099,8099,8099,1992-03-05,809.9000000001156,809.8493,2015-01-01 02:14:59,bin8099,75,False +abc,8100,8100,8100,1992-03-06,810.0000000001156,809.9493,2015-01-01 02:15:00,bin8100,35,False +abc,8101,8101,8101,1992-03-07,810.1000000001156,810.04926,2015-01-01 02:15:01,bin8101,75,False +abc,8102,8102,8102,1992-03-08,810.2000000001157,810.14923,2015-01-01 02:15:02,bin8102,35,False +abc,8103,8103,8103,1992-03-09,810.3000000001157,810.2492,2015-01-01 02:15:03,bin8103,75,False +abc,8104,8104,8104,1992-03-10,810.4000000001157,810.3492,2015-01-01 02:15:04,bin8104,35,False +abc,8105,8105,8105,1992-03-11,810.5000000001157,810.44916,2015-01-01 02:15:05,bin8105,75,False +abc,8106,8106,8106,1992-03-12,810.6000000001158,810.54913,2015-01-01 02:15:06,bin8106,35,False +abc,8107,8107,8107,1992-03-13,810.7000000001158,810.6491,2015-01-01 02:15:07,bin8107,75,False +abc,8108,8108,8108,1992-03-14,810.8000000001158,810.7491,2015-01-01 02:15:08,bin8108,35,False +abc,8109,8109,8109,1992-03-15,810.9000000001158,810.84906,2015-01-01 02:15:09,bin8109,75,False +abc,8110,8110,8110,1992-03-16,811.0000000001158,810.94904,2015-01-01 02:15:10,bin8110,35,False +abc,8111,8111,8111,1992-03-17,811.1000000001159,811.049,2015-01-01 02:15:11,bin8111,75,False +abc,8112,8112,8112,1992-03-18,811.2000000001159,811.149,2015-01-01 02:15:12,bin8112,35,False +abc,8113,8113,8113,1992-03-19,811.3000000001159,811.24896,2015-01-01 02:15:13,bin8113,75,False +abc,8114,8114,8114,1992-03-20,811.4000000001159,811.34894,2015-01-01 02:15:14,bin8114,35,False +abc,8115,8115,8115,1992-03-21,811.500000000116,811.4489,2015-01-01 02:15:15,bin8115,75,False +abc,8116,8116,8116,1992-03-22,811.600000000116,811.5489,2015-01-01 02:15:16,bin8116,35,False +abc,8117,8117,8117,1992-03-23,811.700000000116,811.64886,2015-01-01 02:15:17,bin8117,75,False +abc,8118,8118,8118,1992-03-24,811.800000000116,811.74884,2015-01-01 02:15:18,bin8118,35,False +abc,8119,8119,8119,1992-03-25,811.900000000116,811.8488,2015-01-01 02:15:19,bin8119,75,False +abc,8120,8120,8120,1992-03-26,812.0000000001161,811.9488,2015-01-01 02:15:20,bin8120,35,False +abc,8121,8121,8121,1992-03-27,812.1000000001161,812.04877,2015-01-01 02:15:21,bin8121,75,False +abc,8122,8122,8122,1992-03-28,812.2000000001161,812.14874,2015-01-01 02:15:22,bin8122,35,False +abc,8123,8123,8123,1992-03-29,812.3000000001161,812.2487,2015-01-01 02:15:23,bin8123,75,False +abc,8124,8124,8124,1992-03-30,812.4000000001162,812.3487,2015-01-01 02:15:24,bin8124,35,False +abc,8125,8125,8125,1992-03-31,812.5000000001162,812.44867,2015-01-01 02:15:25,bin8125,75,False +abc,8126,8126,8126,1992-04-01,812.6000000001162,812.54865,2015-01-01 02:15:26,bin8126,35,False +abc,8127,8127,8127,1992-04-02,812.7000000001162,812.6486,2015-01-01 02:15:27,bin8127,75,False +abc,8128,8128,8128,1992-04-03,812.8000000001163,812.7486,2015-01-01 02:15:28,bin8128,35,False +abc,8129,8129,8129,1992-04-04,812.9000000001163,812.8486,2015-01-01 02:15:29,bin8129,75,False +abc,8130,8130,8130,1992-04-05,813.0000000001163,812.94855,2015-01-01 02:15:30,bin8130,35,False +abc,8131,8131,8131,1992-04-06,813.1000000001163,813.0485,2015-01-01 02:15:31,bin8131,75,False +abc,8132,8132,8132,1992-04-07,813.2000000001163,813.1485,2015-01-01 02:15:32,bin8132,35,False +abc,8133,8133,8133,1992-04-08,813.3000000001164,813.2485,2015-01-01 02:15:33,bin8133,75,False +abc,8134,8134,8134,1992-04-09,813.4000000001164,813.34845,2015-01-01 02:15:34,bin8134,35,False +abc,8135,8135,8135,1992-04-10,813.5000000001164,813.4484,2015-01-01 02:15:35,bin8135,75,False +abc,8136,8136,8136,1992-04-11,813.6000000001164,813.5484,2015-01-01 02:15:36,bin8136,35,False +abc,8137,8137,8137,1992-04-12,813.7000000001165,813.6484,2015-01-01 02:15:37,bin8137,75,False +abc,8138,8138,8138,1992-04-13,813.8000000001165,813.74835,2015-01-01 02:15:38,bin8138,35,False +abc,8139,8139,8139,1992-04-14,813.9000000001165,813.8483,2015-01-01 02:15:39,bin8139,75,False +abc,8140,8140,8140,1992-04-15,814.0000000001165,813.9483,2015-01-01 02:15:40,bin8140,35,False +abc,8141,8141,8141,1992-04-16,814.1000000001166,814.0483,2015-01-01 02:15:41,bin8141,75,False +abc,8142,8142,8142,1992-04-17,814.2000000001166,814.14825,2015-01-01 02:15:42,bin8142,35,False +abc,8143,8143,8143,1992-04-18,814.3000000001166,814.2482,2015-01-01 02:15:43,bin8143,75,False +abc,8144,8144,8144,1992-04-19,814.4000000001166,814.3482,2015-01-01 02:15:44,bin8144,35,False +abc,8145,8145,8145,1992-04-20,814.5000000001166,814.4482,2015-01-01 02:15:45,bin8145,75,False +abc,8146,8146,8146,1992-04-21,814.6000000001167,814.54816,2015-01-01 02:15:46,bin8146,35,False +abc,8147,8147,8147,1992-04-22,814.7000000001167,814.64813,2015-01-01 02:15:47,bin8147,75,False +abc,8148,8148,8148,1992-04-23,814.8000000001167,814.7481,2015-01-01 02:15:48,bin8148,35,False +abc,8149,8149,8149,1992-04-24,814.9000000001167,814.8481,2015-01-01 02:15:49,bin8149,75,False +abc,8150,8150,8150,1992-04-25,815.0000000001168,814.94806,2015-01-01 02:15:50,bin8150,35,False +abc,8151,8151,8151,1992-04-26,815.1000000001168,815.04803,2015-01-01 02:15:51,bin8151,75,False +abc,8152,8152,8152,1992-04-27,815.2000000001168,815.148,2015-01-01 02:15:52,bin8152,35,False +abc,8153,8153,8153,1992-04-28,815.3000000001168,815.248,2015-01-01 02:15:53,bin8153,75,False +abc,8154,8154,8154,1992-04-29,815.4000000001168,815.34796,2015-01-01 02:15:54,bin8154,35,False +abc,8155,8155,8155,1992-04-30,815.5000000001169,815.44794,2015-01-01 02:15:55,bin8155,75,False +abc,8156,8156,8156,1992-05-01,815.6000000001169,815.5479,2015-01-01 02:15:56,bin8156,35,False +abc,8157,8157,8157,1992-05-02,815.7000000001169,815.6479,2015-01-01 02:15:57,bin8157,75,False +abc,8158,8158,8158,1992-05-03,815.8000000001169,815.74786,2015-01-01 02:15:58,bin8158,35,False +abc,8159,8159,8159,1992-05-04,815.900000000117,815.84784,2015-01-01 02:15:59,bin8159,75,False +abc,8160,8160,8160,1992-05-05,816.000000000117,815.9478,2015-01-01 02:16:00,bin8160,35,False +abc,8161,8161,8161,1992-05-06,816.100000000117,816.0478,2015-01-01 02:16:01,bin8161,75,False +abc,8162,8162,8162,1992-05-07,816.200000000117,816.14777,2015-01-01 02:16:02,bin8162,35,False +abc,8163,8163,8163,1992-05-08,816.300000000117,816.24774,2015-01-01 02:16:03,bin8163,75,False +abc,8164,8164,8164,1992-05-09,816.4000000001171,816.3477,2015-01-01 02:16:04,bin8164,35,False +abc,8165,8165,8165,1992-05-10,816.5000000001171,816.4477,2015-01-01 02:16:05,bin8165,75,False +abc,8166,8166,8166,1992-05-11,816.6000000001171,816.54767,2015-01-01 02:16:06,bin8166,35,False +abc,8167,8167,8167,1992-05-12,816.7000000001171,816.64764,2015-01-01 02:16:07,bin8167,75,False +abc,8168,8168,8168,1992-05-13,816.8000000001172,816.7476,2015-01-01 02:16:08,bin8168,35,False +abc,8169,8169,8169,1992-05-14,816.9000000001172,816.8476,2015-01-01 02:16:09,bin8169,75,False +abc,8170,8170,8170,1992-05-15,817.0000000001172,816.9476,2015-01-01 02:16:10,bin8170,35,False +abc,8171,8171,8171,1992-05-16,817.1000000001172,817.04755,2015-01-01 02:16:11,bin8171,75,False +abc,8172,8172,8172,1992-05-17,817.2000000001173,817.1475,2015-01-01 02:16:12,bin8172,35,False +abc,8173,8173,8173,1992-05-18,817.3000000001173,817.2475,2015-01-01 02:16:13,bin8173,75,False +abc,8174,8174,8174,1992-05-19,817.4000000001173,817.3475,2015-01-01 02:16:14,bin8174,35,False +abc,8175,8175,8175,1992-05-20,817.5000000001173,817.44745,2015-01-01 02:16:15,bin8175,75,False +abc,8176,8176,8176,1992-05-21,817.6000000001173,817.5474,2015-01-01 02:16:16,bin8176,35,False +abc,8177,8177,8177,1992-05-22,817.7000000001174,817.6474,2015-01-01 02:16:17,bin8177,75,False +abc,8178,8178,8178,1992-05-23,817.8000000001174,817.7474,2015-01-01 02:16:18,bin8178,35,False +abc,8179,8179,8179,1992-05-24,817.9000000001174,817.84735,2015-01-01 02:16:19,bin8179,75,False +abc,8180,8180,8180,1992-05-25,818.0000000001174,817.9473,2015-01-01 02:16:20,bin8180,35,False +abc,8181,8181,8181,1992-05-26,818.1000000001175,818.0473,2015-01-01 02:16:21,bin8181,75,False +abc,8182,8182,8182,1992-05-27,818.2000000001175,818.1473,2015-01-01 02:16:22,bin8182,35,False +abc,8183,8183,8183,1992-05-28,818.3000000001175,818.24725,2015-01-01 02:16:23,bin8183,75,False +abc,8184,8184,8184,1992-05-29,818.4000000001175,818.3472,2015-01-01 02:16:24,bin8184,35,False +abc,8185,8185,8185,1992-05-30,818.5000000001176,818.4472,2015-01-01 02:16:25,bin8185,75,False +abc,8186,8186,8186,1992-05-31,818.6000000001176,818.5472,2015-01-01 02:16:26,bin8186,35,False +abc,8187,8187,8187,1992-06-01,818.7000000001176,818.64716,2015-01-01 02:16:27,bin8187,75,False +abc,8188,8188,8188,1992-06-02,818.8000000001176,818.74713,2015-01-01 02:16:28,bin8188,35,False +abc,8189,8189,8189,1992-06-03,818.9000000001176,818.8471,2015-01-01 02:16:29,bin8189,75,False +abc,8190,8190,8190,1992-06-04,819.0000000001177,818.9471,2015-01-01 02:16:30,bin8190,35,False +abc,8191,8191,8191,1992-06-05,819.1000000001177,819.04706,2015-01-01 02:16:31,bin8191,75,False +abc,8192,8192,8192,1992-06-06,819.2000000001177,819.14703,2015-01-01 02:16:32,bin8192,35,False +abc,8193,8193,8193,1992-06-07,819.3000000001177,819.247,2015-01-01 02:16:33,bin8193,75,False +abc,8194,8194,8194,1992-06-08,819.4000000001178,819.347,2015-01-01 02:16:34,bin8194,35,False +abc,8195,8195,8195,1992-06-09,819.5000000001178,819.44696,2015-01-01 02:16:35,bin8195,75,False +abc,8196,8196,8196,1992-06-10,819.6000000001178,819.54694,2015-01-01 02:16:36,bin8196,35,False +abc,8197,8197,8197,1992-06-11,819.7000000001178,819.6469,2015-01-01 02:16:37,bin8197,75,False +abc,8198,8198,8198,1992-06-12,819.8000000001178,819.7469,2015-01-01 02:16:38,bin8198,35,False +abc,8199,8199,8199,1992-06-13,819.9000000001179,819.84686,2015-01-01 02:16:39,bin8199,75,False +abc,8200,8200,8200,1992-06-14,820.0000000001179,819.94684,2015-01-01 02:16:40,bin8200,35,False +abc,8201,8201,8201,1992-06-15,820.1000000001179,820.0468,2015-01-01 02:16:41,bin8201,75,False +abc,8202,8202,8202,1992-06-16,820.2000000001179,820.1468,2015-01-01 02:16:42,bin8202,35,False +abc,8203,8203,8203,1992-06-17,820.300000000118,820.24677,2015-01-01 02:16:43,bin8203,75,False +abc,8204,8204,8204,1992-06-18,820.400000000118,820.34674,2015-01-01 02:16:44,bin8204,35,False +abc,8205,8205,8205,1992-06-19,820.500000000118,820.4467,2015-01-01 02:16:45,bin8205,75,False +abc,8206,8206,8206,1992-06-20,820.600000000118,820.5467,2015-01-01 02:16:46,bin8206,35,False +abc,8207,8207,8207,1992-06-21,820.700000000118,820.64667,2015-01-01 02:16:47,bin8207,75,False +abc,8208,8208,8208,1992-06-22,820.8000000001181,820.74664,2015-01-01 02:16:48,bin8208,35,False +abc,8209,8209,8209,1992-06-23,820.9000000001181,820.8466,2015-01-01 02:16:49,bin8209,75,False +abc,8210,8210,8210,1992-06-24,821.0000000001181,820.9466,2015-01-01 02:16:50,bin8210,35,False +abc,8211,8211,8211,1992-06-25,821.1000000001181,821.0466,2015-01-01 02:16:51,bin8211,75,False +abc,8212,8212,8212,1992-06-26,821.2000000001182,821.14655,2015-01-01 02:16:52,bin8212,35,False +abc,8213,8213,8213,1992-06-27,821.3000000001182,821.2465,2015-01-01 02:16:53,bin8213,75,False +abc,8214,8214,8214,1992-06-28,821.4000000001182,821.3465,2015-01-01 02:16:54,bin8214,35,False +abc,8215,8215,8215,1992-06-29,821.5000000001182,821.4465,2015-01-01 02:16:55,bin8215,75,False +abc,8216,8216,8216,1992-06-30,821.6000000001183,821.54645,2015-01-01 02:16:56,bin8216,35,False +abc,8217,8217,8217,1992-07-01,821.7000000001183,821.6464,2015-01-01 02:16:57,bin8217,75,False +abc,8218,8218,8218,1992-07-02,821.8000000001183,821.7464,2015-01-01 02:16:58,bin8218,35,False +abc,8219,8219,8219,1992-07-03,821.9000000001183,821.8464,2015-01-01 02:16:59,bin8219,75,False +abc,8220,8220,8220,1992-07-04,822.0000000001183,821.94635,2015-01-01 02:17:00,bin8220,35,False +abc,8221,8221,8221,1992-07-05,822.1000000001184,822.0463,2015-01-01 02:17:01,bin8221,75,False +abc,8222,8222,8222,1992-07-06,822.2000000001184,822.1463,2015-01-01 02:17:02,bin8222,35,False +abc,8223,8223,8223,1992-07-07,822.3000000001184,822.2463,2015-01-01 02:17:03,bin8223,75,False +abc,8224,8224,8224,1992-07-08,822.4000000001184,822.34625,2015-01-01 02:17:04,bin8224,35,False +abc,8225,8225,8225,1992-07-09,822.5000000001185,822.4462,2015-01-01 02:17:05,bin8225,75,False +abc,8226,8226,8226,1992-07-10,822.6000000001185,822.5462,2015-01-01 02:17:06,bin8226,35,False +abc,8227,8227,8227,1992-07-11,822.7000000001185,822.6462,2015-01-01 02:17:07,bin8227,75,False +abc,8228,8228,8228,1992-07-12,822.8000000001185,822.74615,2015-01-01 02:17:08,bin8228,35,False +abc,8229,8229,8229,1992-07-13,822.9000000001186,822.8461,2015-01-01 02:17:09,bin8229,75,False +abc,8230,8230,8230,1992-07-14,823.0000000001186,822.9461,2015-01-01 02:17:10,bin8230,35,False +abc,8231,8231,8231,1992-07-15,823.1000000001186,823.0461,2015-01-01 02:17:11,bin8231,75,False +abc,8232,8232,8232,1992-07-16,823.2000000001186,823.14606,2015-01-01 02:17:12,bin8232,35,False +abc,8233,8233,8233,1992-07-17,823.3000000001186,823.24603,2015-01-01 02:17:13,bin8233,75,False +abc,8234,8234,8234,1992-07-18,823.4000000001187,823.346,2015-01-01 02:17:14,bin8234,35,False +abc,8235,8235,8235,1992-07-19,823.5000000001187,823.446,2015-01-01 02:17:15,bin8235,75,False +abc,8236,8236,8236,1992-07-20,823.6000000001187,823.54596,2015-01-01 02:17:16,bin8236,35,False +abc,8237,8237,8237,1992-07-21,823.7000000001187,823.64594,2015-01-01 02:17:17,bin8237,75,False +abc,8238,8238,8238,1992-07-22,823.8000000001188,823.7459,2015-01-01 02:17:18,bin8238,35,False +abc,8239,8239,8239,1992-07-23,823.9000000001188,823.8459,2015-01-01 02:17:19,bin8239,75,False +abc,8240,8240,8240,1992-07-24,824.0000000001188,823.94586,2015-01-01 02:17:20,bin8240,35,False +abc,8241,8241,8241,1992-07-25,824.1000000001188,824.04584,2015-01-01 02:17:21,bin8241,75,False +abc,8242,8242,8242,1992-07-26,824.2000000001188,824.1458,2015-01-01 02:17:22,bin8242,35,False +abc,8243,8243,8243,1992-07-27,824.3000000001189,824.2458,2015-01-01 02:17:23,bin8243,75,False +abc,8244,8244,8244,1992-07-28,824.4000000001189,824.34576,2015-01-01 02:17:24,bin8244,35,False +abc,8245,8245,8245,1992-07-29,824.5000000001189,824.44574,2015-01-01 02:17:25,bin8245,75,False +abc,8246,8246,8246,1992-07-30,824.6000000001189,824.5457,2015-01-01 02:17:26,bin8246,35,False +abc,8247,8247,8247,1992-07-31,824.700000000119,824.6457,2015-01-01 02:17:27,bin8247,75,False +abc,8248,8248,8248,1992-08-01,824.800000000119,824.74567,2015-01-01 02:17:28,bin8248,35,False +abc,8249,8249,8249,1992-08-02,824.900000000119,824.84564,2015-01-01 02:17:29,bin8249,75,False +abc,8250,8250,8250,1992-08-03,825.000000000119,824.9456,2015-01-01 02:17:30,bin8250,35,False +abc,8251,8251,8251,1992-08-04,825.100000000119,825.0456,2015-01-01 02:17:31,bin8251,75,False +abc,8252,8252,8252,1992-08-05,825.2000000001191,825.14557,2015-01-01 02:17:32,bin8252,35,False +abc,8253,8253,8253,1992-08-06,825.3000000001191,825.24554,2015-01-01 02:17:33,bin8253,75,False +abc,8254,8254,8254,1992-08-07,825.4000000001191,825.3455,2015-01-01 02:17:34,bin8254,35,False +abc,8255,8255,8255,1992-08-08,825.5000000001191,825.4455,2015-01-01 02:17:35,bin8255,75,False +abc,8256,8256,8256,1992-08-09,825.6000000001192,825.5455,2015-01-01 02:17:36,bin8256,35,False +abc,8257,8257,8257,1992-08-10,825.7000000001192,825.64545,2015-01-01 02:17:37,bin8257,75,False +abc,8258,8258,8258,1992-08-11,825.8000000001192,825.7454,2015-01-01 02:17:38,bin8258,35,False +abc,8259,8259,8259,1992-08-12,825.9000000001192,825.8454,2015-01-01 02:17:39,bin8259,75,False +abc,8260,8260,8260,1992-08-13,826.0000000001193,825.9454,2015-01-01 02:17:40,bin8260,35,False +abc,8261,8261,8261,1992-08-14,826.1000000001193,826.04535,2015-01-01 02:17:41,bin8261,75,False +abc,8262,8262,8262,1992-08-15,826.2000000001193,826.1453,2015-01-01 02:17:42,bin8262,35,False +abc,8263,8263,8263,1992-08-16,826.3000000001193,826.2453,2015-01-01 02:17:43,bin8263,75,False +abc,8264,8264,8264,1992-08-17,826.4000000001193,826.3453,2015-01-01 02:17:44,bin8264,35,False +abc,8265,8265,8265,1992-08-18,826.5000000001194,826.44525,2015-01-01 02:17:45,bin8265,75,False +abc,8266,8266,8266,1992-08-19,826.6000000001194,826.5452,2015-01-01 02:17:46,bin8266,35,False +abc,8267,8267,8267,1992-08-20,826.7000000001194,826.6452,2015-01-01 02:17:47,bin8267,75,False +abc,8268,8268,8268,1992-08-21,826.8000000001194,826.7452,2015-01-01 02:17:48,bin8268,35,False +abc,8269,8269,8269,1992-08-22,826.9000000001195,826.84515,2015-01-01 02:17:49,bin8269,75,False +abc,8270,8270,8270,1992-08-23,827.0000000001195,826.9451,2015-01-01 02:17:50,bin8270,35,False +abc,8271,8271,8271,1992-08-24,827.1000000001195,827.0451,2015-01-01 02:17:51,bin8271,75,False +abc,8272,8272,8272,1992-08-25,827.2000000001195,827.1451,2015-01-01 02:17:52,bin8272,35,False +abc,8273,8273,8273,1992-08-26,827.3000000001196,827.24506,2015-01-01 02:17:53,bin8273,75,False +abc,8274,8274,8274,1992-08-27,827.4000000001196,827.34503,2015-01-01 02:17:54,bin8274,35,False +abc,8275,8275,8275,1992-08-28,827.5000000001196,827.445,2015-01-01 02:17:55,bin8275,75,False +abc,8276,8276,8276,1992-08-29,827.6000000001196,827.545,2015-01-01 02:17:56,bin8276,35,False +abc,8277,8277,8277,1992-08-30,827.7000000001196,827.64496,2015-01-01 02:17:57,bin8277,75,False +abc,8278,8278,8278,1992-08-31,827.8000000001197,827.74493,2015-01-01 02:17:58,bin8278,35,False +abc,8279,8279,8279,1992-09-01,827.9000000001197,827.8449,2015-01-01 02:17:59,bin8279,75,False +abc,8280,8280,8280,1992-09-02,828.0000000001197,827.9449,2015-01-01 02:18:00,bin8280,35,False +abc,8281,8281,8281,1992-09-03,828.1000000001197,828.04486,2015-01-01 02:18:01,bin8281,75,False +abc,8282,8282,8282,1992-09-04,828.2000000001198,828.14484,2015-01-01 02:18:02,bin8282,35,False +abc,8283,8283,8283,1992-09-05,828.3000000001198,828.2448,2015-01-01 02:18:03,bin8283,75,False +abc,8284,8284,8284,1992-09-06,828.4000000001198,828.3448,2015-01-01 02:18:04,bin8284,35,False +abc,8285,8285,8285,1992-09-07,828.5000000001198,828.44476,2015-01-01 02:18:05,bin8285,75,False +abc,8286,8286,8286,1992-09-08,828.6000000001198,828.54474,2015-01-01 02:18:06,bin8286,35,False +abc,8287,8287,8287,1992-09-09,828.7000000001199,828.6447,2015-01-01 02:18:07,bin8287,75,False +abc,8288,8288,8288,1992-09-10,828.8000000001199,828.7447,2015-01-01 02:18:08,bin8288,35,False +abc,8289,8289,8289,1992-09-11,828.9000000001199,828.84467,2015-01-01 02:18:09,bin8289,75,False +abc,8290,8290,8290,1992-09-12,829.0000000001199,828.94464,2015-01-01 02:18:10,bin8290,35,False +abc,8291,8291,8291,1992-09-13,829.10000000012,829.0446,2015-01-01 02:18:11,bin8291,75,False +abc,8292,8292,8292,1992-09-14,829.20000000012,829.1446,2015-01-01 02:18:12,bin8292,35,False +abc,8293,8293,8293,1992-09-15,829.30000000012,829.24457,2015-01-01 02:18:13,bin8293,75,False +abc,8294,8294,8294,1992-09-16,829.40000000012,829.34454,2015-01-01 02:18:14,bin8294,35,False +abc,8295,8295,8295,1992-09-17,829.50000000012,829.4445,2015-01-01 02:18:15,bin8295,75,False +abc,8296,8296,8296,1992-09-18,829.6000000001201,829.5445,2015-01-01 02:18:16,bin8296,35,False +abc,8297,8297,8297,1992-09-19,829.7000000001201,829.6445,2015-01-01 02:18:17,bin8297,75,False +abc,8298,8298,8298,1992-09-20,829.8000000001201,829.74445,2015-01-01 02:18:18,bin8298,35,False +abc,8299,8299,8299,1992-09-21,829.9000000001201,829.8444,2015-01-01 02:18:19,bin8299,75,False +abc,8300,8300,8300,1992-09-22,830.0000000001202,829.9444,2015-01-01 02:18:20,bin8300,35,False +abc,8301,8301,8301,1992-09-23,830.1000000001202,830.0444,2015-01-01 02:18:21,bin8301,75,False +abc,8302,8302,8302,1992-09-24,830.2000000001202,830.14435,2015-01-01 02:18:22,bin8302,35,False +abc,8303,8303,8303,1992-09-25,830.3000000001202,830.2443,2015-01-01 02:18:23,bin8303,75,False +abc,8304,8304,8304,1992-09-26,830.4000000001203,830.3443,2015-01-01 02:18:24,bin8304,35,False +abc,8305,8305,8305,1992-09-27,830.5000000001203,830.4443,2015-01-01 02:18:25,bin8305,75,False +abc,8306,8306,8306,1992-09-28,830.6000000001203,830.54425,2015-01-01 02:18:26,bin8306,35,False +abc,8307,8307,8307,1992-09-29,830.7000000001203,830.6442,2015-01-01 02:18:27,bin8307,75,False +abc,8308,8308,8308,1992-09-30,830.8000000001203,830.7442,2015-01-01 02:18:28,bin8308,35,False +abc,8309,8309,8309,1992-10-01,830.9000000001204,830.8442,2015-01-01 02:18:29,bin8309,75,False +abc,8310,8310,8310,1992-10-02,831.0000000001204,830.94415,2015-01-01 02:18:30,bin8310,35,False +abc,8311,8311,8311,1992-10-03,831.1000000001204,831.0441,2015-01-01 02:18:31,bin8311,75,False +abc,8312,8312,8312,1992-10-04,831.2000000001204,831.1441,2015-01-01 02:18:32,bin8312,35,False +abc,8313,8313,8313,1992-10-05,831.3000000001205,831.2441,2015-01-01 02:18:33,bin8313,75,False +abc,8314,8314,8314,1992-10-06,831.4000000001205,831.34406,2015-01-01 02:18:34,bin8314,35,False +abc,8315,8315,8315,1992-10-07,831.5000000001205,831.44403,2015-01-01 02:18:35,bin8315,75,False +abc,8316,8316,8316,1992-10-08,831.6000000001205,831.544,2015-01-01 02:18:36,bin8316,35,False +abc,8317,8317,8317,1992-10-09,831.7000000001206,831.644,2015-01-01 02:18:37,bin8317,75,False +abc,8318,8318,8318,1992-10-10,831.8000000001206,831.74396,2015-01-01 02:18:38,bin8318,35,False +abc,8319,8319,8319,1992-10-11,831.9000000001206,831.84393,2015-01-01 02:18:39,bin8319,75,False +abc,8320,8320,8320,1992-10-12,832.0000000001206,831.9439,2015-01-01 02:18:40,bin8320,35,False +abc,8321,8321,8321,1992-10-13,832.1000000001206,832.0439,2015-01-01 02:18:41,bin8321,75,False +abc,8322,8322,8322,1992-10-14,832.2000000001207,832.14386,2015-01-01 02:18:42,bin8322,35,False +abc,8323,8323,8323,1992-10-15,832.3000000001207,832.24384,2015-01-01 02:18:43,bin8323,75,False +abc,8324,8324,8324,1992-10-16,832.4000000001207,832.3438,2015-01-01 02:18:44,bin8324,35,False +abc,8325,8325,8325,1992-10-17,832.5000000001207,832.4438,2015-01-01 02:18:45,bin8325,75,False +abc,8326,8326,8326,1992-10-18,832.6000000001208,832.54376,2015-01-01 02:18:46,bin8326,35,False +abc,8327,8327,8327,1992-10-19,832.7000000001208,832.64374,2015-01-01 02:18:47,bin8327,75,False +abc,8328,8328,8328,1992-10-20,832.8000000001208,832.7437,2015-01-01 02:18:48,bin8328,35,False +abc,8329,8329,8329,1992-10-21,832.9000000001208,832.8437,2015-01-01 02:18:49,bin8329,75,False +abc,8330,8330,8330,1992-10-22,833.0000000001208,832.94366,2015-01-01 02:18:50,bin8330,35,False +abc,8331,8331,8331,1992-10-23,833.1000000001209,833.04364,2015-01-01 02:18:51,bin8331,75,False +abc,8332,8332,8332,1992-10-24,833.2000000001209,833.1436,2015-01-01 02:18:52,bin8332,35,False +abc,8333,8333,8333,1992-10-25,833.3000000001209,833.2436,2015-01-01 02:18:53,bin8333,75,False +abc,8334,8334,8334,1992-10-26,833.4000000001209,833.34357,2015-01-01 02:18:54,bin8334,35,False +abc,8335,8335,8335,1992-10-27,833.500000000121,833.44354,2015-01-01 02:18:55,bin8335,75,False +abc,8336,8336,8336,1992-10-28,833.600000000121,833.5435,2015-01-01 02:18:56,bin8336,35,False +abc,8337,8337,8337,1992-10-29,833.700000000121,833.6435,2015-01-01 02:18:57,bin8337,75,False +abc,8338,8338,8338,1992-10-30,833.800000000121,833.74347,2015-01-01 02:18:58,bin8338,35,False +abc,8339,8339,8339,1992-10-31,833.900000000121,833.84344,2015-01-01 02:18:59,bin8339,75,False +abc,8340,8340,8340,1992-11-01,834.0000000001211,833.9434,2015-01-01 02:19:00,bin8340,35,False +abc,8341,8341,8341,1992-11-02,834.1000000001211,834.0434,2015-01-01 02:19:01,bin8341,75,False +abc,8342,8342,8342,1992-11-03,834.2000000001211,834.1434,2015-01-01 02:19:02,bin8342,35,False +abc,8343,8343,8343,1992-11-04,834.3000000001211,834.24335,2015-01-01 02:19:03,bin8343,75,False +abc,8344,8344,8344,1992-11-05,834.4000000001212,834.3433,2015-01-01 02:19:04,bin8344,35,False +abc,8345,8345,8345,1992-11-06,834.5000000001212,834.4433,2015-01-01 02:19:05,bin8345,75,False +abc,8346,8346,8346,1992-11-07,834.6000000001212,834.5433,2015-01-01 02:19:06,bin8346,35,False +abc,8347,8347,8347,1992-11-08,834.7000000001212,834.64325,2015-01-01 02:19:07,bin8347,75,False +abc,8348,8348,8348,1992-11-09,834.8000000001213,834.7432,2015-01-01 02:19:08,bin8348,35,False +abc,8349,8349,8349,1992-11-10,834.9000000001213,834.8432,2015-01-01 02:19:09,bin8349,75,False +abc,8350,8350,8350,1992-11-11,835.0000000001213,834.9432,2015-01-01 02:19:10,bin8350,35,False +abc,8351,8351,8351,1992-11-12,835.1000000001213,835.04315,2015-01-01 02:19:11,bin8351,75,False +abc,8352,8352,8352,1992-11-13,835.2000000001213,835.1431,2015-01-01 02:19:12,bin8352,35,False +abc,8353,8353,8353,1992-11-14,835.3000000001214,835.2431,2015-01-01 02:19:13,bin8353,75,False +abc,8354,8354,8354,1992-11-15,835.4000000001214,835.3431,2015-01-01 02:19:14,bin8354,35,False +abc,8355,8355,8355,1992-11-16,835.5000000001214,835.44305,2015-01-01 02:19:15,bin8355,75,False +abc,8356,8356,8356,1992-11-17,835.6000000001214,835.543,2015-01-01 02:19:16,bin8356,35,False +abc,8357,8357,8357,1992-11-18,835.7000000001215,835.643,2015-01-01 02:19:17,bin8357,75,False +abc,8358,8358,8358,1992-11-19,835.8000000001215,835.743,2015-01-01 02:19:18,bin8358,35,False +abc,8359,8359,8359,1992-11-20,835.9000000001215,835.84296,2015-01-01 02:19:19,bin8359,75,False +abc,8360,8360,8360,1992-11-21,836.0000000001215,835.94293,2015-01-01 02:19:20,bin8360,35,False +abc,8361,8361,8361,1992-11-22,836.1000000001216,836.0429,2015-01-01 02:19:21,bin8361,75,False +abc,8362,8362,8362,1992-11-23,836.2000000001216,836.1429,2015-01-01 02:19:22,bin8362,35,False +abc,8363,8363,8363,1992-11-24,836.3000000001216,836.24286,2015-01-01 02:19:23,bin8363,75,False +abc,8364,8364,8364,1992-11-25,836.4000000001216,836.34283,2015-01-01 02:19:24,bin8364,35,False +abc,8365,8365,8365,1992-11-26,836.5000000001216,836.4428,2015-01-01 02:19:25,bin8365,75,False +abc,8366,8366,8366,1992-11-27,836.6000000001217,836.5428,2015-01-01 02:19:26,bin8366,35,False +abc,8367,8367,8367,1992-11-28,836.7000000001217,836.64276,2015-01-01 02:19:27,bin8367,75,False +abc,8368,8368,8368,1992-11-29,836.8000000001217,836.74274,2015-01-01 02:19:28,bin8368,35,False +abc,8369,8369,8369,1992-11-30,836.9000000001217,836.8427,2015-01-01 02:19:29,bin8369,75,False +abc,8370,8370,8370,1992-12-01,837.0000000001218,836.9427,2015-01-01 02:19:30,bin8370,35,False +abc,8371,8371,8371,1992-12-02,837.1000000001218,837.04266,2015-01-01 02:19:31,bin8371,75,False +abc,8372,8372,8372,1992-12-03,837.2000000001218,837.14264,2015-01-01 02:19:32,bin8372,35,False +abc,8373,8373,8373,1992-12-04,837.3000000001218,837.2426,2015-01-01 02:19:33,bin8373,75,False +abc,8374,8374,8374,1992-12-05,837.4000000001218,837.3426,2015-01-01 02:19:34,bin8374,35,False +abc,8375,8375,8375,1992-12-06,837.5000000001219,837.44257,2015-01-01 02:19:35,bin8375,75,False +abc,8376,8376,8376,1992-12-07,837.6000000001219,837.54254,2015-01-01 02:19:36,bin8376,35,False +abc,8377,8377,8377,1992-12-08,837.7000000001219,837.6425,2015-01-01 02:19:37,bin8377,75,False +abc,8378,8378,8378,1992-12-09,837.8000000001219,837.7425,2015-01-01 02:19:38,bin8378,35,False +abc,8379,8379,8379,1992-12-10,837.900000000122,837.84247,2015-01-01 02:19:39,bin8379,75,False +abc,8380,8380,8380,1992-12-11,838.000000000122,837.94244,2015-01-01 02:19:40,bin8380,35,False +abc,8381,8381,8381,1992-12-12,838.100000000122,838.0424,2015-01-01 02:19:41,bin8381,75,False +abc,8382,8382,8382,1992-12-13,838.200000000122,838.1424,2015-01-01 02:19:42,bin8382,35,False +abc,8383,8383,8383,1992-12-14,838.300000000122,838.2424,2015-01-01 02:19:43,bin8383,75,False +abc,8384,8384,8384,1992-12-15,838.4000000001221,838.34235,2015-01-01 02:19:44,bin8384,35,False +abc,8385,8385,8385,1992-12-16,838.5000000001221,838.4423,2015-01-01 02:19:45,bin8385,75,False +abc,8386,8386,8386,1992-12-17,838.6000000001221,838.5423,2015-01-01 02:19:46,bin8386,35,False +abc,8387,8387,8387,1992-12-18,838.7000000001221,838.6423,2015-01-01 02:19:47,bin8387,75,False +abc,8388,8388,8388,1992-12-19,838.8000000001222,838.74225,2015-01-01 02:19:48,bin8388,35,False +abc,8389,8389,8389,1992-12-20,838.9000000001222,838.8422,2015-01-01 02:19:49,bin8389,75,False +abc,8390,8390,8390,1992-12-21,839.0000000001222,838.9422,2015-01-01 02:19:50,bin8390,35,False +abc,8391,8391,8391,1992-12-22,839.1000000001222,839.0422,2015-01-01 02:19:51,bin8391,75,False +abc,8392,8392,8392,1992-12-23,839.2000000001223,839.14215,2015-01-01 02:19:52,bin8392,35,False +abc,8393,8393,8393,1992-12-24,839.3000000001223,839.2421,2015-01-01 02:19:53,bin8393,75,False +abc,8394,8394,8394,1992-12-25,839.4000000001223,839.3421,2015-01-01 02:19:54,bin8394,35,False +abc,8395,8395,8395,1992-12-26,839.5000000001223,839.4421,2015-01-01 02:19:55,bin8395,75,False +abc,8396,8396,8396,1992-12-27,839.6000000001223,839.54205,2015-01-01 02:19:56,bin8396,35,False +abc,8397,8397,8397,1992-12-28,839.7000000001224,839.642,2015-01-01 02:19:57,bin8397,75,False +abc,8398,8398,8398,1992-12-29,839.8000000001224,839.742,2015-01-01 02:19:58,bin8398,35,False +abc,8399,8399,8399,1992-12-30,839.9000000001224,839.842,2015-01-01 02:19:59,bin8399,75,False +abc,8400,8400,8400,1992-12-31,840.0000000001224,839.94196,2015-01-01 02:20:00,bin8400,35,False +abc,8401,8401,8401,1993-01-01,840.1000000001225,840.04193,2015-01-01 02:20:01,bin8401,75,False +abc,8402,8402,8402,1993-01-02,840.2000000001225,840.1419,2015-01-01 02:20:02,bin8402,35,False +abc,8403,8403,8403,1993-01-03,840.3000000001225,840.2419,2015-01-01 02:20:03,bin8403,75,False +abc,8404,8404,8404,1993-01-04,840.4000000001225,840.34186,2015-01-01 02:20:04,bin8404,35,False +abc,8405,8405,8405,1993-01-05,840.5000000001226,840.44183,2015-01-01 02:20:05,bin8405,75,False +abc,8406,8406,8406,1993-01-06,840.6000000001226,840.5418,2015-01-01 02:20:06,bin8406,35,False +abc,8407,8407,8407,1993-01-07,840.7000000001226,840.6418,2015-01-01 02:20:07,bin8407,75,False +abc,8408,8408,8408,1993-01-08,840.8000000001226,840.74176,2015-01-01 02:20:08,bin8408,35,False +abc,8409,8409,8409,1993-01-09,840.9000000001226,840.84174,2015-01-01 02:20:09,bin8409,75,False +abc,8410,8410,8410,1993-01-10,841.0000000001227,840.9417,2015-01-01 02:20:10,bin8410,35,False +abc,8411,8411,8411,1993-01-11,841.1000000001227,841.0417,2015-01-01 02:20:11,bin8411,75,False +abc,8412,8412,8412,1993-01-12,841.2000000001227,841.14166,2015-01-01 02:20:12,bin8412,35,False +abc,8413,8413,8413,1993-01-13,841.3000000001227,841.24164,2015-01-01 02:20:13,bin8413,75,False +abc,8414,8414,8414,1993-01-14,841.4000000001228,841.3416,2015-01-01 02:20:14,bin8414,35,False +abc,8415,8415,8415,1993-01-15,841.5000000001228,841.4416,2015-01-01 02:20:15,bin8415,75,False +abc,8416,8416,8416,1993-01-16,841.6000000001228,841.54156,2015-01-01 02:20:16,bin8416,35,False +abc,8417,8417,8417,1993-01-17,841.7000000001228,841.64154,2015-01-01 02:20:17,bin8417,75,False +abc,8418,8418,8418,1993-01-18,841.8000000001228,841.7415,2015-01-01 02:20:18,bin8418,35,False +abc,8419,8419,8419,1993-01-19,841.9000000001229,841.8415,2015-01-01 02:20:19,bin8419,75,False +abc,8420,8420,8420,1993-01-20,842.0000000001229,841.94147,2015-01-01 02:20:20,bin8420,35,False +abc,8421,8421,8421,1993-01-21,842.1000000001229,842.04144,2015-01-01 02:20:21,bin8421,75,False +abc,8422,8422,8422,1993-01-22,842.2000000001229,842.1414,2015-01-01 02:20:22,bin8422,35,False +abc,8423,8423,8423,1993-01-23,842.300000000123,842.2414,2015-01-01 02:20:23,bin8423,75,False +abc,8424,8424,8424,1993-01-24,842.400000000123,842.3414,2015-01-01 02:20:24,bin8424,35,False +abc,8425,8425,8425,1993-01-25,842.500000000123,842.44135,2015-01-01 02:20:25,bin8425,75,False +abc,8426,8426,8426,1993-01-26,842.600000000123,842.5413,2015-01-01 02:20:26,bin8426,35,False +abc,8427,8427,8427,1993-01-27,842.700000000123,842.6413,2015-01-01 02:20:27,bin8427,75,False +abc,8428,8428,8428,1993-01-28,842.8000000001231,842.7413,2015-01-01 02:20:28,bin8428,35,False +abc,8429,8429,8429,1993-01-29,842.9000000001231,842.84125,2015-01-01 02:20:29,bin8429,75,False +abc,8430,8430,8430,1993-01-30,843.0000000001231,842.9412,2015-01-01 02:20:30,bin8430,35,False +abc,8431,8431,8431,1993-01-31,843.1000000001231,843.0412,2015-01-01 02:20:31,bin8431,75,False +abc,8432,8432,8432,1993-02-01,843.2000000001232,843.1412,2015-01-01 02:20:32,bin8432,35,False +abc,8433,8433,8433,1993-02-02,843.3000000001232,843.24115,2015-01-01 02:20:33,bin8433,75,False +abc,8434,8434,8434,1993-02-03,843.4000000001232,843.3411,2015-01-01 02:20:34,bin8434,35,False +abc,8435,8435,8435,1993-02-04,843.5000000001232,843.4411,2015-01-01 02:20:35,bin8435,75,False +abc,8436,8436,8436,1993-02-05,843.6000000001233,843.5411,2015-01-01 02:20:36,bin8436,35,False +abc,8437,8437,8437,1993-02-06,843.7000000001233,843.64105,2015-01-01 02:20:37,bin8437,75,False +abc,8438,8438,8438,1993-02-07,843.8000000001233,843.741,2015-01-01 02:20:38,bin8438,35,False +abc,8439,8439,8439,1993-02-08,843.9000000001233,843.841,2015-01-01 02:20:39,bin8439,75,False +abc,8440,8440,8440,1993-02-09,844.0000000001234,843.941,2015-01-01 02:20:40,bin8440,35,False +abc,8441,8441,8441,1993-02-10,844.1000000001234,844.04095,2015-01-01 02:20:41,bin8441,75,False +abc,8442,8442,8442,1993-02-11,844.2000000001234,844.1409,2015-01-01 02:20:42,bin8442,35,False +abc,8443,8443,8443,1993-02-12,844.3000000001234,844.2409,2015-01-01 02:20:43,bin8443,75,False +abc,8444,8444,8444,1993-02-13,844.4000000001234,844.3409,2015-01-01 02:20:44,bin8444,35,False +abc,8445,8445,8445,1993-02-14,844.5000000001235,844.44086,2015-01-01 02:20:45,bin8445,75,False +abc,8446,8446,8446,1993-02-15,844.6000000001235,844.54083,2015-01-01 02:20:46,bin8446,35,False +abc,8447,8447,8447,1993-02-16,844.7000000001235,844.6408,2015-01-01 02:20:47,bin8447,75,False +abc,8448,8448,8448,1993-02-17,844.8000000001235,844.7408,2015-01-01 02:20:48,bin8448,35,False +abc,8449,8449,8449,1993-02-18,844.9000000001236,844.84076,2015-01-01 02:20:49,bin8449,75,False +abc,8450,8450,8450,1993-02-19,845.0000000001236,844.94073,2015-01-01 02:20:50,bin8450,35,False +abc,8451,8451,8451,1993-02-20,845.1000000001236,845.0407,2015-01-01 02:20:51,bin8451,75,False +abc,8452,8452,8452,1993-02-21,845.2000000001236,845.1407,2015-01-01 02:20:52,bin8452,35,False +abc,8453,8453,8453,1993-02-22,845.3000000001236,845.24066,2015-01-01 02:20:53,bin8453,75,False +abc,8454,8454,8454,1993-02-23,845.4000000001237,845.34064,2015-01-01 02:20:54,bin8454,35,False +abc,8455,8455,8455,1993-02-24,845.5000000001237,845.4406,2015-01-01 02:20:55,bin8455,75,False +abc,8456,8456,8456,1993-02-25,845.6000000001237,845.5406,2015-01-01 02:20:56,bin8456,35,False +abc,8457,8457,8457,1993-02-26,845.7000000001237,845.64056,2015-01-01 02:20:57,bin8457,75,False +abc,8458,8458,8458,1993-02-27,845.8000000001238,845.74054,2015-01-01 02:20:58,bin8458,35,False +abc,8459,8459,8459,1993-02-28,845.9000000001238,845.8405,2015-01-01 02:20:59,bin8459,75,False +abc,8460,8460,8460,1993-03-01,846.0000000001238,845.9405,2015-01-01 02:21:00,bin8460,35,False +abc,8461,8461,8461,1993-03-02,846.1000000001238,846.04047,2015-01-01 02:21:01,bin8461,75,False +abc,8462,8462,8462,1993-03-03,846.2000000001239,846.14044,2015-01-01 02:21:02,bin8462,35,False +abc,8463,8463,8463,1993-03-04,846.3000000001239,846.2404,2015-01-01 02:21:03,bin8463,75,False +abc,8464,8464,8464,1993-03-05,846.4000000001239,846.3404,2015-01-01 02:21:04,bin8464,35,False +abc,8465,8465,8465,1993-03-06,846.5000000001239,846.44037,2015-01-01 02:21:05,bin8465,75,False +abc,8466,8466,8466,1993-03-07,846.6000000001239,846.54034,2015-01-01 02:21:06,bin8466,35,False +abc,8467,8467,8467,1993-03-08,846.700000000124,846.6403,2015-01-01 02:21:07,bin8467,75,False +abc,8468,8468,8468,1993-03-09,846.800000000124,846.7403,2015-01-01 02:21:08,bin8468,35,False +abc,8469,8469,8469,1993-03-10,846.900000000124,846.8403,2015-01-01 02:21:09,bin8469,75,False +abc,8470,8470,8470,1993-03-11,847.000000000124,846.94025,2015-01-01 02:21:10,bin8470,35,False +abc,8471,8471,8471,1993-03-12,847.100000000124,847.0402,2015-01-01 02:21:11,bin8471,75,False +abc,8472,8472,8472,1993-03-13,847.2000000001241,847.1402,2015-01-01 02:21:12,bin8472,35,False +abc,8473,8473,8473,1993-03-14,847.3000000001241,847.2402,2015-01-01 02:21:13,bin8473,75,False +abc,8474,8474,8474,1993-03-15,847.4000000001241,847.34015,2015-01-01 02:21:14,bin8474,35,False +abc,8475,8475,8475,1993-03-16,847.5000000001241,847.4401,2015-01-01 02:21:15,bin8475,75,False +abc,8476,8476,8476,1993-03-17,847.6000000001242,847.5401,2015-01-01 02:21:16,bin8476,35,False +abc,8477,8477,8477,1993-03-18,847.7000000001242,847.6401,2015-01-01 02:21:17,bin8477,75,False +abc,8478,8478,8478,1993-03-19,847.8000000001242,847.74005,2015-01-01 02:21:18,bin8478,35,False +abc,8479,8479,8479,1993-03-20,847.9000000001242,847.84,2015-01-01 02:21:19,bin8479,75,False +abc,8480,8480,8480,1993-03-21,848.0000000001243,847.94,2015-01-01 02:21:20,bin8480,35,False +abc,8481,8481,8481,1993-03-22,848.1000000001243,848.04,2015-01-01 02:21:21,bin8481,75,False +abc,8482,8482,8482,1993-03-23,848.2000000001243,848.13995,2015-01-01 02:21:22,bin8482,35,False +abc,8483,8483,8483,1993-03-24,848.3000000001243,848.2399,2015-01-01 02:21:23,bin8483,75,False +abc,8484,8484,8484,1993-03-25,848.4000000001244,848.3399,2015-01-01 02:21:24,bin8484,35,False +abc,8485,8485,8485,1993-03-26,848.5000000001244,848.4399,2015-01-01 02:21:25,bin8485,75,False +abc,8486,8486,8486,1993-03-27,848.6000000001244,848.53986,2015-01-01 02:21:26,bin8486,35,False +abc,8487,8487,8487,1993-03-28,848.7000000001244,848.63983,2015-01-01 02:21:27,bin8487,75,False +abc,8488,8488,8488,1993-03-29,848.8000000001244,848.7398,2015-01-01 02:21:28,bin8488,35,False +abc,8489,8489,8489,1993-03-30,848.9000000001245,848.8398,2015-01-01 02:21:29,bin8489,75,False +abc,8490,8490,8490,1993-03-31,849.0000000001245,848.93976,2015-01-01 02:21:30,bin8490,35,False +abc,8491,8491,8491,1993-04-01,849.1000000001245,849.03973,2015-01-01 02:21:31,bin8491,75,False +abc,8492,8492,8492,1993-04-02,849.2000000001245,849.1397,2015-01-01 02:21:32,bin8492,35,False +abc,8493,8493,8493,1993-04-03,849.3000000001246,849.2397,2015-01-01 02:21:33,bin8493,75,False +abc,8494,8494,8494,1993-04-04,849.4000000001246,849.33966,2015-01-01 02:21:34,bin8494,35,False +abc,8495,8495,8495,1993-04-05,849.5000000001246,849.43964,2015-01-01 02:21:35,bin8495,75,False +abc,8496,8496,8496,1993-04-06,849.6000000001246,849.5396,2015-01-01 02:21:36,bin8496,35,False +abc,8497,8497,8497,1993-04-07,849.7000000001246,849.6396,2015-01-01 02:21:37,bin8497,75,False +abc,8498,8498,8498,1993-04-08,849.8000000001247,849.73956,2015-01-01 02:21:38,bin8498,35,False +abc,8499,8499,8499,1993-04-09,849.9000000001247,849.83954,2015-01-01 02:21:39,bin8499,75,False +abc,8500,8500,8500,1993-04-10,850.0000000001247,849.9395,2015-01-01 02:21:40,bin8500,35,False +abc,8501,8501,8501,1993-04-11,850.1000000001247,850.0395,2015-01-01 02:21:41,bin8501,75,False +abc,8502,8502,8502,1993-04-12,850.2000000001248,850.13947,2015-01-01 02:21:42,bin8502,35,False +abc,8503,8503,8503,1993-04-13,850.3000000001248,850.23944,2015-01-01 02:21:43,bin8503,75,False +abc,8504,8504,8504,1993-04-14,850.4000000001248,850.3394,2015-01-01 02:21:44,bin8504,35,False +abc,8505,8505,8505,1993-04-15,850.5000000001248,850.4394,2015-01-01 02:21:45,bin8505,75,False +abc,8506,8506,8506,1993-04-16,850.6000000001249,850.53937,2015-01-01 02:21:46,bin8506,35,False +abc,8507,8507,8507,1993-04-17,850.7000000001249,850.63934,2015-01-01 02:21:47,bin8507,75,False +abc,8508,8508,8508,1993-04-18,850.8000000001249,850.7393,2015-01-01 02:21:48,bin8508,35,False +abc,8509,8509,8509,1993-04-19,850.9000000001249,850.8393,2015-01-01 02:21:49,bin8509,75,False +abc,8510,8510,8510,1993-04-20,851.0000000001249,850.9393,2015-01-01 02:21:50,bin8510,35,False +abc,8511,8511,8511,1993-04-21,851.100000000125,851.03925,2015-01-01 02:21:51,bin8511,75,False +abc,8512,8512,8512,1993-04-22,851.200000000125,851.1392,2015-01-01 02:21:52,bin8512,35,False +abc,8513,8513,8513,1993-04-23,851.300000000125,851.2392,2015-01-01 02:21:53,bin8513,75,False +abc,8514,8514,8514,1993-04-24,851.400000000125,851.3392,2015-01-01 02:21:54,bin8514,35,False +abc,8515,8515,8515,1993-04-25,851.500000000125,851.43915,2015-01-01 02:21:55,bin8515,75,False +abc,8516,8516,8516,1993-04-26,851.6000000001251,851.5391,2015-01-01 02:21:56,bin8516,35,False +abc,8517,8517,8517,1993-04-27,851.7000000001251,851.6391,2015-01-01 02:21:57,bin8517,75,False +abc,8518,8518,8518,1993-04-28,851.8000000001251,851.7391,2015-01-01 02:21:58,bin8518,35,False +abc,8519,8519,8519,1993-04-29,851.9000000001251,851.83905,2015-01-01 02:21:59,bin8519,75,False +abc,8520,8520,8520,1993-04-30,852.0000000001252,851.939,2015-01-01 02:22:00,bin8520,35,False +abc,8521,8521,8521,1993-05-01,852.1000000001252,852.039,2015-01-01 02:22:01,bin8521,75,False +abc,8522,8522,8522,1993-05-02,852.2000000001252,852.139,2015-01-01 02:22:02,bin8522,35,False +abc,8523,8523,8523,1993-05-03,852.3000000001252,852.23895,2015-01-01 02:22:03,bin8523,75,False +abc,8524,8524,8524,1993-05-04,852.4000000001253,852.3389,2015-01-01 02:22:04,bin8524,35,False +abc,8525,8525,8525,1993-05-05,852.5000000001253,852.4389,2015-01-01 02:22:05,bin8525,75,False +abc,8526,8526,8526,1993-05-06,852.6000000001253,852.5389,2015-01-01 02:22:06,bin8526,35,False +abc,8527,8527,8527,1993-05-07,852.7000000001253,852.63885,2015-01-01 02:22:07,bin8527,75,False +abc,8528,8528,8528,1993-05-08,852.8000000001254,852.73883,2015-01-01 02:22:08,bin8528,35,False +abc,8529,8529,8529,1993-05-09,852.9000000001254,852.8388,2015-01-01 02:22:09,bin8529,75,False +abc,8530,8530,8530,1993-05-10,853.0000000001254,852.9388,2015-01-01 02:22:10,bin8530,35,False +abc,8531,8531,8531,1993-05-11,853.1000000001254,853.03876,2015-01-01 02:22:11,bin8531,75,False +abc,8532,8532,8532,1993-05-12,853.2000000001254,853.13873,2015-01-01 02:22:12,bin8532,35,False +abc,8533,8533,8533,1993-05-13,853.3000000001255,853.2387,2015-01-01 02:22:13,bin8533,75,False +abc,8534,8534,8534,1993-05-14,853.4000000001255,853.3387,2015-01-01 02:22:14,bin8534,35,False +abc,8535,8535,8535,1993-05-15,853.5000000001255,853.43866,2015-01-01 02:22:15,bin8535,75,False +abc,8536,8536,8536,1993-05-16,853.6000000001255,853.53864,2015-01-01 02:22:16,bin8536,35,False +abc,8537,8537,8537,1993-05-17,853.7000000001256,853.6386,2015-01-01 02:22:17,bin8537,75,False +abc,8538,8538,8538,1993-05-18,853.8000000001256,853.7386,2015-01-01 02:22:18,bin8538,35,False +abc,8539,8539,8539,1993-05-19,853.9000000001256,853.83856,2015-01-01 02:22:19,bin8539,75,False +abc,8540,8540,8540,1993-05-20,854.0000000001256,853.93854,2015-01-01 02:22:20,bin8540,35,False +abc,8541,8541,8541,1993-05-21,854.1000000001256,854.0385,2015-01-01 02:22:21,bin8541,75,False +abc,8542,8542,8542,1993-05-22,854.2000000001257,854.1385,2015-01-01 02:22:22,bin8542,35,False +abc,8543,8543,8543,1993-05-23,854.3000000001257,854.23846,2015-01-01 02:22:23,bin8543,75,False +abc,8544,8544,8544,1993-05-24,854.4000000001257,854.33844,2015-01-01 02:22:24,bin8544,35,False +abc,8545,8545,8545,1993-05-25,854.5000000001257,854.4384,2015-01-01 02:22:25,bin8545,75,False +abc,8546,8546,8546,1993-05-26,854.6000000001258,854.5384,2015-01-01 02:22:26,bin8546,35,False +abc,8547,8547,8547,1993-05-27,854.7000000001258,854.63837,2015-01-01 02:22:27,bin8547,75,False +abc,8548,8548,8548,1993-05-28,854.8000000001258,854.73834,2015-01-01 02:22:28,bin8548,35,False +abc,8549,8549,8549,1993-05-29,854.9000000001258,854.8383,2015-01-01 02:22:29,bin8549,75,False +abc,8550,8550,8550,1993-05-30,855.0000000001259,854.9383,2015-01-01 02:22:30,bin8550,35,False +abc,8551,8551,8551,1993-05-31,855.1000000001259,855.03827,2015-01-01 02:22:31,bin8551,75,False +abc,8552,8552,8552,1993-06-01,855.2000000001259,855.13824,2015-01-01 02:22:32,bin8552,35,False +abc,8553,8553,8553,1993-06-02,855.3000000001259,855.2382,2015-01-01 02:22:33,bin8553,75,False +abc,8554,8554,8554,1993-06-03,855.4000000001259,855.3382,2015-01-01 02:22:34,bin8554,35,False +abc,8555,8555,8555,1993-06-04,855.500000000126,855.4382,2015-01-01 02:22:35,bin8555,75,False +abc,8556,8556,8556,1993-06-05,855.600000000126,855.53815,2015-01-01 02:22:36,bin8556,35,False +abc,8557,8557,8557,1993-06-06,855.700000000126,855.6381,2015-01-01 02:22:37,bin8557,75,False +abc,8558,8558,8558,1993-06-07,855.800000000126,855.7381,2015-01-01 02:22:38,bin8558,35,False +abc,8559,8559,8559,1993-06-08,855.900000000126,855.8381,2015-01-01 02:22:39,bin8559,75,False +abc,8560,8560,8560,1993-06-09,856.0000000001261,855.93805,2015-01-01 02:22:40,bin8560,35,False +abc,8561,8561,8561,1993-06-10,856.1000000001261,856.038,2015-01-01 02:22:41,bin8561,75,False +abc,8562,8562,8562,1993-06-11,856.2000000001261,856.138,2015-01-01 02:22:42,bin8562,35,False +abc,8563,8563,8563,1993-06-12,856.3000000001261,856.238,2015-01-01 02:22:43,bin8563,75,False +abc,8564,8564,8564,1993-06-13,856.4000000001262,856.33795,2015-01-01 02:22:44,bin8564,35,False +abc,8565,8565,8565,1993-06-14,856.5000000001262,856.4379,2015-01-01 02:22:45,bin8565,75,False +abc,8566,8566,8566,1993-06-15,856.6000000001262,856.5379,2015-01-01 02:22:46,bin8566,35,False +abc,8567,8567,8567,1993-06-16,856.7000000001262,856.6379,2015-01-01 02:22:47,bin8567,75,False +abc,8568,8568,8568,1993-06-17,856.8000000001263,856.73785,2015-01-01 02:22:48,bin8568,35,False +abc,8569,8569,8569,1993-06-18,856.9000000001263,856.8378,2015-01-01 02:22:49,bin8569,75,False +abc,8570,8570,8570,1993-06-19,857.0000000001263,856.9378,2015-01-01 02:22:50,bin8570,35,False +abc,8571,8571,8571,1993-06-20,857.1000000001263,857.0378,2015-01-01 02:22:51,bin8571,75,False +abc,8572,8572,8572,1993-06-21,857.2000000001264,857.13776,2015-01-01 02:22:52,bin8572,35,False +abc,8573,8573,8573,1993-06-22,857.3000000001264,857.23773,2015-01-01 02:22:53,bin8573,75,False +abc,8574,8574,8574,1993-06-23,857.4000000001264,857.3377,2015-01-01 02:22:54,bin8574,35,False +abc,8575,8575,8575,1993-06-24,857.5000000001264,857.4377,2015-01-01 02:22:55,bin8575,75,False +abc,8576,8576,8576,1993-06-25,857.6000000001264,857.53766,2015-01-01 02:22:56,bin8576,35,False +abc,8577,8577,8577,1993-06-26,857.7000000001265,857.63763,2015-01-01 02:22:57,bin8577,75,False +abc,8578,8578,8578,1993-06-27,857.8000000001265,857.7376,2015-01-01 02:22:58,bin8578,35,False +abc,8579,8579,8579,1993-06-28,857.9000000001265,857.8376,2015-01-01 02:22:59,bin8579,75,False +abc,8580,8580,8580,1993-06-29,858.0000000001265,857.93756,2015-01-01 02:23:00,bin8580,35,False +abc,8581,8581,8581,1993-06-30,858.1000000001266,858.03754,2015-01-01 02:23:01,bin8581,75,False +abc,8582,8582,8582,1993-07-01,858.2000000001266,858.1375,2015-01-01 02:23:02,bin8582,35,False +abc,8583,8583,8583,1993-07-02,858.3000000001266,858.2375,2015-01-01 02:23:03,bin8583,75,False +abc,8584,8584,8584,1993-07-03,858.4000000001266,858.33746,2015-01-01 02:23:04,bin8584,35,False +abc,8585,8585,8585,1993-07-04,858.5000000001266,858.43744,2015-01-01 02:23:05,bin8585,75,False +abc,8586,8586,8586,1993-07-05,858.6000000001267,858.5374,2015-01-01 02:23:06,bin8586,35,False +abc,8587,8587,8587,1993-07-06,858.7000000001267,858.6374,2015-01-01 02:23:07,bin8587,75,False +abc,8588,8588,8588,1993-07-07,858.8000000001267,858.73737,2015-01-01 02:23:08,bin8588,35,False +abc,8589,8589,8589,1993-07-08,858.9000000001267,858.83734,2015-01-01 02:23:09,bin8589,75,False +abc,8590,8590,8590,1993-07-09,859.0000000001268,858.9373,2015-01-01 02:23:10,bin8590,35,False +abc,8591,8591,8591,1993-07-10,859.1000000001268,859.0373,2015-01-01 02:23:11,bin8591,75,False +abc,8592,8592,8592,1993-07-11,859.2000000001268,859.13727,2015-01-01 02:23:12,bin8592,35,False +abc,8593,8593,8593,1993-07-12,859.3000000001268,859.23724,2015-01-01 02:23:13,bin8593,75,False +abc,8594,8594,8594,1993-07-13,859.4000000001269,859.3372,2015-01-01 02:23:14,bin8594,35,False +abc,8595,8595,8595,1993-07-14,859.5000000001269,859.4372,2015-01-01 02:23:15,bin8595,75,False +abc,8596,8596,8596,1993-07-15,859.6000000001269,859.5372,2015-01-01 02:23:16,bin8596,35,False +abc,8597,8597,8597,1993-07-16,859.7000000001269,859.63715,2015-01-01 02:23:17,bin8597,75,False +abc,8598,8598,8598,1993-07-17,859.8000000001269,859.7371,2015-01-01 02:23:18,bin8598,35,False +abc,8599,8599,8599,1993-07-18,859.900000000127,859.8371,2015-01-01 02:23:19,bin8599,75,False +abc,8600,8600,8600,1993-07-19,860.000000000127,859.9371,2015-01-01 02:23:20,bin8600,35,False +abc,8601,8601,8601,1993-07-20,860.100000000127,860.03705,2015-01-01 02:23:21,bin8601,75,False +abc,8602,8602,8602,1993-07-21,860.200000000127,860.137,2015-01-01 02:23:22,bin8602,35,False +abc,8603,8603,8603,1993-07-22,860.300000000127,860.237,2015-01-01 02:23:23,bin8603,75,False +abc,8604,8604,8604,1993-07-23,860.4000000001271,860.337,2015-01-01 02:23:24,bin8604,35,False +abc,8605,8605,8605,1993-07-24,860.5000000001271,860.43695,2015-01-01 02:23:25,bin8605,75,False +abc,8606,8606,8606,1993-07-25,860.6000000001271,860.5369,2015-01-01 02:23:26,bin8606,35,False +abc,8607,8607,8607,1993-07-26,860.7000000001271,860.6369,2015-01-01 02:23:27,bin8607,75,False +abc,8608,8608,8608,1993-07-27,860.8000000001272,860.7369,2015-01-01 02:23:28,bin8608,35,False +abc,8609,8609,8609,1993-07-28,860.9000000001272,860.83685,2015-01-01 02:23:29,bin8609,75,False +abc,8610,8610,8610,1993-07-29,861.0000000001272,860.9368,2015-01-01 02:23:30,bin8610,35,False +abc,8611,8611,8611,1993-07-30,861.1000000001272,861.0368,2015-01-01 02:23:31,bin8611,75,False +abc,8612,8612,8612,1993-07-31,861.2000000001273,861.1368,2015-01-01 02:23:32,bin8612,35,False +abc,8613,8613,8613,1993-08-01,861.3000000001273,861.23676,2015-01-01 02:23:33,bin8613,75,False +abc,8614,8614,8614,1993-08-02,861.4000000001273,861.33673,2015-01-01 02:23:34,bin8614,35,False +abc,8615,8615,8615,1993-08-03,861.5000000001273,861.4367,2015-01-01 02:23:35,bin8615,75,False +abc,8616,8616,8616,1993-08-04,861.6000000001274,861.5367,2015-01-01 02:23:36,bin8616,35,False +abc,8617,8617,8617,1993-08-05,861.7000000001274,861.63666,2015-01-01 02:23:37,bin8617,75,False +abc,8618,8618,8618,1993-08-06,861.8000000001274,861.73663,2015-01-01 02:23:38,bin8618,35,False +abc,8619,8619,8619,1993-08-07,861.9000000001274,861.8366,2015-01-01 02:23:39,bin8619,75,False +abc,8620,8620,8620,1993-08-08,862.0000000001274,861.9366,2015-01-01 02:23:40,bin8620,35,False +abc,8621,8621,8621,1993-08-09,862.1000000001275,862.03656,2015-01-01 02:23:41,bin8621,75,False +abc,8622,8622,8622,1993-08-10,862.2000000001275,862.13654,2015-01-01 02:23:42,bin8622,35,False +abc,8623,8623,8623,1993-08-11,862.3000000001275,862.2365,2015-01-01 02:23:43,bin8623,75,False +abc,8624,8624,8624,1993-08-12,862.4000000001275,862.3365,2015-01-01 02:23:44,bin8624,35,False +abc,8625,8625,8625,1993-08-13,862.5000000001276,862.43646,2015-01-01 02:23:45,bin8625,75,False +abc,8626,8626,8626,1993-08-14,862.6000000001276,862.53644,2015-01-01 02:23:46,bin8626,35,False +abc,8627,8627,8627,1993-08-15,862.7000000001276,862.6364,2015-01-01 02:23:47,bin8627,75,False +abc,8628,8628,8628,1993-08-16,862.8000000001276,862.7364,2015-01-01 02:23:48,bin8628,35,False +abc,8629,8629,8629,1993-08-17,862.9000000001276,862.83636,2015-01-01 02:23:49,bin8629,75,False +abc,8630,8630,8630,1993-08-18,863.0000000001277,862.93634,2015-01-01 02:23:50,bin8630,35,False +abc,8631,8631,8631,1993-08-19,863.1000000001277,863.0363,2015-01-01 02:23:51,bin8631,75,False +abc,8632,8632,8632,1993-08-20,863.2000000001277,863.1363,2015-01-01 02:23:52,bin8632,35,False +abc,8633,8633,8633,1993-08-21,863.3000000001277,863.23627,2015-01-01 02:23:53,bin8633,75,False +abc,8634,8634,8634,1993-08-22,863.4000000001278,863.33624,2015-01-01 02:23:54,bin8634,35,False +abc,8635,8635,8635,1993-08-23,863.5000000001278,863.4362,2015-01-01 02:23:55,bin8635,75,False +abc,8636,8636,8636,1993-08-24,863.6000000001278,863.5362,2015-01-01 02:23:56,bin8636,35,False +abc,8637,8637,8637,1993-08-25,863.7000000001278,863.63617,2015-01-01 02:23:57,bin8637,75,False +abc,8638,8638,8638,1993-08-26,863.8000000001279,863.73615,2015-01-01 02:23:58,bin8638,35,False +abc,8639,8639,8639,1993-08-27,863.9000000001279,863.8361,2015-01-01 02:23:59,bin8639,75,False +abc,8640,8640,8640,1993-08-28,864.0000000001279,863.9361,2015-01-01 02:24:00,bin8640,35,False +abc,8641,8641,8641,1993-08-29,864.1000000001279,864.0361,2015-01-01 02:24:01,bin8641,75,False +abc,8642,8642,8642,1993-08-30,864.200000000128,864.13605,2015-01-01 02:24:02,bin8642,35,False +abc,8643,8643,8643,1993-08-31,864.300000000128,864.236,2015-01-01 02:24:03,bin8643,75,False +abc,8644,8644,8644,1993-09-01,864.400000000128,864.336,2015-01-01 02:24:04,bin8644,35,False +abc,8645,8645,8645,1993-09-02,864.500000000128,864.436,2015-01-01 02:24:05,bin8645,75,False +abc,8646,8646,8646,1993-09-03,864.600000000128,864.53595,2015-01-01 02:24:06,bin8646,35,False +abc,8647,8647,8647,1993-09-04,864.7000000001281,864.6359,2015-01-01 02:24:07,bin8647,75,False +abc,8648,8648,8648,1993-09-05,864.8000000001281,864.7359,2015-01-01 02:24:08,bin8648,35,False +abc,8649,8649,8649,1993-09-06,864.9000000001281,864.8359,2015-01-01 02:24:09,bin8649,75,False +abc,8650,8650,8650,1993-09-07,865.0000000001281,864.93585,2015-01-01 02:24:10,bin8650,35,False +abc,8651,8651,8651,1993-09-08,865.1000000001281,865.0358,2015-01-01 02:24:11,bin8651,75,False +abc,8652,8652,8652,1993-09-09,865.2000000001282,865.1358,2015-01-01 02:24:12,bin8652,35,False +abc,8653,8653,8653,1993-09-10,865.3000000001282,865.2358,2015-01-01 02:24:13,bin8653,75,False +abc,8654,8654,8654,1993-09-11,865.4000000001282,865.33575,2015-01-01 02:24:14,bin8654,35,False +abc,8655,8655,8655,1993-09-12,865.5000000001282,865.4357,2015-01-01 02:24:15,bin8655,75,False +abc,8656,8656,8656,1993-09-13,865.6000000001283,865.5357,2015-01-01 02:24:16,bin8656,35,False +abc,8657,8657,8657,1993-09-14,865.7000000001283,865.6357,2015-01-01 02:24:17,bin8657,75,False +abc,8658,8658,8658,1993-09-15,865.8000000001283,865.73566,2015-01-01 02:24:18,bin8658,35,False +abc,8659,8659,8659,1993-09-16,865.9000000001283,865.83563,2015-01-01 02:24:19,bin8659,75,False +abc,8660,8660,8660,1993-09-17,866.0000000001284,865.9356,2015-01-01 02:24:20,bin8660,35,False +abc,8661,8661,8661,1993-09-18,866.1000000001284,866.0356,2015-01-01 02:24:21,bin8661,75,False +abc,8662,8662,8662,1993-09-19,866.2000000001284,866.13556,2015-01-01 02:24:22,bin8662,35,False +abc,8663,8663,8663,1993-09-20,866.3000000001284,866.23553,2015-01-01 02:24:23,bin8663,75,False +abc,8664,8664,8664,1993-09-21,866.4000000001284,866.3355,2015-01-01 02:24:24,bin8664,35,False +abc,8665,8665,8665,1993-09-22,866.5000000001285,866.4355,2015-01-01 02:24:25,bin8665,75,False +abc,8666,8666,8666,1993-09-23,866.6000000001285,866.53546,2015-01-01 02:24:26,bin8666,35,False +abc,8667,8667,8667,1993-09-24,866.7000000001285,866.63544,2015-01-01 02:24:27,bin8667,75,False +abc,8668,8668,8668,1993-09-25,866.8000000001285,866.7354,2015-01-01 02:24:28,bin8668,35,False +abc,8669,8669,8669,1993-09-26,866.9000000001286,866.8354,2015-01-01 02:24:29,bin8669,75,False +abc,8670,8670,8670,1993-09-27,867.0000000001286,866.93536,2015-01-01 02:24:30,bin8670,35,False +abc,8671,8671,8671,1993-09-28,867.1000000001286,867.03534,2015-01-01 02:24:31,bin8671,75,False +abc,8672,8672,8672,1993-09-29,867.2000000001286,867.1353,2015-01-01 02:24:32,bin8672,35,False +abc,8673,8673,8673,1993-09-30,867.3000000001286,867.2353,2015-01-01 02:24:33,bin8673,75,False +abc,8674,8674,8674,1993-10-01,867.4000000001287,867.33527,2015-01-01 02:24:34,bin8674,35,False +abc,8675,8675,8675,1993-10-02,867.5000000001287,867.43524,2015-01-01 02:24:35,bin8675,75,False +abc,8676,8676,8676,1993-10-03,867.6000000001287,867.5352,2015-01-01 02:24:36,bin8676,35,False +abc,8677,8677,8677,1993-10-04,867.7000000001287,867.6352,2015-01-01 02:24:37,bin8677,75,False +abc,8678,8678,8678,1993-10-05,867.8000000001288,867.73517,2015-01-01 02:24:38,bin8678,35,False +abc,8679,8679,8679,1993-10-06,867.9000000001288,867.83514,2015-01-01 02:24:39,bin8679,75,False +abc,8680,8680,8680,1993-10-07,868.0000000001288,867.9351,2015-01-01 02:24:40,bin8680,35,False +abc,8681,8681,8681,1993-10-08,868.1000000001288,868.0351,2015-01-01 02:24:41,bin8681,75,False +abc,8682,8682,8682,1993-10-09,868.2000000001289,868.1351,2015-01-01 02:24:42,bin8682,35,False +abc,8683,8683,8683,1993-10-10,868.3000000001289,868.23505,2015-01-01 02:24:43,bin8683,75,False +abc,8684,8684,8684,1993-10-11,868.4000000001289,868.335,2015-01-01 02:24:44,bin8684,35,False +abc,8685,8685,8685,1993-10-12,868.5000000001289,868.435,2015-01-01 02:24:45,bin8685,75,False +abc,8686,8686,8686,1993-10-13,868.600000000129,868.535,2015-01-01 02:24:46,bin8686,35,False +abc,8687,8687,8687,1993-10-14,868.700000000129,868.63495,2015-01-01 02:24:47,bin8687,75,False +abc,8688,8688,8688,1993-10-15,868.800000000129,868.7349,2015-01-01 02:24:48,bin8688,35,False +abc,8689,8689,8689,1993-10-16,868.900000000129,868.8349,2015-01-01 02:24:49,bin8689,75,False +abc,8690,8690,8690,1993-10-17,869.000000000129,868.9349,2015-01-01 02:24:50,bin8690,35,False +abc,8691,8691,8691,1993-10-18,869.1000000001291,869.03485,2015-01-01 02:24:51,bin8691,75,False +abc,8692,8692,8692,1993-10-19,869.2000000001291,869.1348,2015-01-01 02:24:52,bin8692,35,False +abc,8693,8693,8693,1993-10-20,869.3000000001291,869.2348,2015-01-01 02:24:53,bin8693,75,False +abc,8694,8694,8694,1993-10-21,869.4000000001291,869.3348,2015-01-01 02:24:54,bin8694,35,False +abc,8695,8695,8695,1993-10-22,869.5000000001291,869.43475,2015-01-01 02:24:55,bin8695,75,False +abc,8696,8696,8696,1993-10-23,869.6000000001292,869.5347,2015-01-01 02:24:56,bin8696,35,False +abc,8697,8697,8697,1993-10-24,869.7000000001292,869.6347,2015-01-01 02:24:57,bin8697,75,False +abc,8698,8698,8698,1993-10-25,869.8000000001292,869.7347,2015-01-01 02:24:58,bin8698,35,False +abc,8699,8699,8699,1993-10-26,869.9000000001292,869.83466,2015-01-01 02:24:59,bin8699,75,False +abc,8700,8700,8700,1993-10-27,870.0000000001293,869.93463,2015-01-01 02:25:00,bin8700,35,False +abc,8701,8701,8701,1993-10-28,870.1000000001293,870.0346,2015-01-01 02:25:01,bin8701,75,False +abc,8702,8702,8702,1993-10-29,870.2000000001293,870.1346,2015-01-01 02:25:02,bin8702,35,False +abc,8703,8703,8703,1993-10-30,870.3000000001293,870.23456,2015-01-01 02:25:03,bin8703,75,False +abc,8704,8704,8704,1993-10-31,870.4000000001294,870.33453,2015-01-01 02:25:04,bin8704,35,False +abc,8705,8705,8705,1993-11-01,870.5000000001294,870.4345,2015-01-01 02:25:05,bin8705,75,False +abc,8706,8706,8706,1993-11-02,870.6000000001294,870.5345,2015-01-01 02:25:06,bin8706,35,False +abc,8707,8707,8707,1993-11-03,870.7000000001294,870.63446,2015-01-01 02:25:07,bin8707,75,False +abc,8708,8708,8708,1993-11-04,870.8000000001294,870.73444,2015-01-01 02:25:08,bin8708,35,False +abc,8709,8709,8709,1993-11-05,870.9000000001295,870.8344,2015-01-01 02:25:09,bin8709,75,False +abc,8710,8710,8710,1993-11-06,871.0000000001295,870.9344,2015-01-01 02:25:10,bin8710,35,False +abc,8711,8711,8711,1993-11-07,871.1000000001295,871.03436,2015-01-01 02:25:11,bin8711,75,False +abc,8712,8712,8712,1993-11-08,871.2000000001295,871.13434,2015-01-01 02:25:12,bin8712,35,False +abc,8713,8713,8713,1993-11-09,871.3000000001296,871.2343,2015-01-01 02:25:13,bin8713,75,False +abc,8714,8714,8714,1993-11-10,871.4000000001296,871.3343,2015-01-01 02:25:14,bin8714,35,False +abc,8715,8715,8715,1993-11-11,871.5000000001296,871.43427,2015-01-01 02:25:15,bin8715,75,False +abc,8716,8716,8716,1993-11-12,871.6000000001296,871.53424,2015-01-01 02:25:16,bin8716,35,False +abc,8717,8717,8717,1993-11-13,871.7000000001296,871.6342,2015-01-01 02:25:17,bin8717,75,False +abc,8718,8718,8718,1993-11-14,871.8000000001297,871.7342,2015-01-01 02:25:18,bin8718,35,False +abc,8719,8719,8719,1993-11-15,871.9000000001297,871.83417,2015-01-01 02:25:19,bin8719,75,False +abc,8720,8720,8720,1993-11-16,872.0000000001297,871.93414,2015-01-01 02:25:20,bin8720,35,False +abc,8721,8721,8721,1993-11-17,872.1000000001297,872.0341,2015-01-01 02:25:21,bin8721,75,False +abc,8722,8722,8722,1993-11-18,872.2000000001298,872.1341,2015-01-01 02:25:22,bin8722,35,False +abc,8723,8723,8723,1993-11-19,872.3000000001298,872.2341,2015-01-01 02:25:23,bin8723,75,False +abc,8724,8724,8724,1993-11-20,872.4000000001298,872.33405,2015-01-01 02:25:24,bin8724,35,False +abc,8725,8725,8725,1993-11-21,872.5000000001298,872.434,2015-01-01 02:25:25,bin8725,75,False +abc,8726,8726,8726,1993-11-22,872.6000000001299,872.534,2015-01-01 02:25:26,bin8726,35,False +abc,8727,8727,8727,1993-11-23,872.7000000001299,872.634,2015-01-01 02:25:27,bin8727,75,False +abc,8728,8728,8728,1993-11-24,872.8000000001299,872.73395,2015-01-01 02:25:28,bin8728,35,False +abc,8729,8729,8729,1993-11-25,872.9000000001299,872.8339,2015-01-01 02:25:29,bin8729,75,False +abc,8730,8730,8730,1993-11-26,873.00000000013,872.9339,2015-01-01 02:25:30,bin8730,35,False +abc,8731,8731,8731,1993-11-27,873.10000000013,873.0339,2015-01-01 02:25:31,bin8731,75,False +abc,8732,8732,8732,1993-11-28,873.20000000013,873.13385,2015-01-01 02:25:32,bin8732,35,False +abc,8733,8733,8733,1993-11-29,873.30000000013,873.2338,2015-01-01 02:25:33,bin8733,75,False +abc,8734,8734,8734,1993-11-30,873.40000000013,873.3338,2015-01-01 02:25:34,bin8734,35,False +abc,8735,8735,8735,1993-12-01,873.5000000001301,873.4338,2015-01-01 02:25:35,bin8735,75,False +abc,8736,8736,8736,1993-12-02,873.6000000001301,873.53375,2015-01-01 02:25:36,bin8736,35,False +abc,8737,8737,8737,1993-12-03,873.7000000001301,873.6337,2015-01-01 02:25:37,bin8737,75,False +abc,8738,8738,8738,1993-12-04,873.8000000001301,873.7337,2015-01-01 02:25:38,bin8738,35,False +abc,8739,8739,8739,1993-12-05,873.9000000001301,873.8337,2015-01-01 02:25:39,bin8739,75,False +abc,8740,8740,8740,1993-12-06,874.0000000001302,873.93365,2015-01-01 02:25:40,bin8740,35,False +abc,8741,8741,8741,1993-12-07,874.1000000001302,874.0336,2015-01-01 02:25:41,bin8741,75,False +abc,8742,8742,8742,1993-12-08,874.2000000001302,874.1336,2015-01-01 02:25:42,bin8742,35,False +abc,8743,8743,8743,1993-12-09,874.3000000001302,874.2336,2015-01-01 02:25:43,bin8743,75,False +abc,8744,8744,8744,1993-12-10,874.4000000001303,874.33356,2015-01-01 02:25:44,bin8744,35,False +abc,8745,8745,8745,1993-12-11,874.5000000001303,874.43353,2015-01-01 02:25:45,bin8745,75,False +abc,8746,8746,8746,1993-12-12,874.6000000001303,874.5335,2015-01-01 02:25:46,bin8746,35,False +abc,8747,8747,8747,1993-12-13,874.7000000001303,874.6335,2015-01-01 02:25:47,bin8747,75,False +abc,8748,8748,8748,1993-12-14,874.8000000001304,874.73346,2015-01-01 02:25:48,bin8748,35,False +abc,8749,8749,8749,1993-12-15,874.9000000001304,874.83344,2015-01-01 02:25:49,bin8749,75,False +abc,8750,8750,8750,1993-12-16,875.0000000001304,874.9334,2015-01-01 02:25:50,bin8750,35,False +abc,8751,8751,8751,1993-12-17,875.1000000001304,875.0334,2015-01-01 02:25:51,bin8751,75,False +abc,8752,8752,8752,1993-12-18,875.2000000001304,875.13336,2015-01-01 02:25:52,bin8752,35,False +abc,8753,8753,8753,1993-12-19,875.3000000001305,875.23334,2015-01-01 02:25:53,bin8753,75,False +abc,8754,8754,8754,1993-12-20,875.4000000001305,875.3333,2015-01-01 02:25:54,bin8754,35,False +abc,8755,8755,8755,1993-12-21,875.5000000001305,875.4333,2015-01-01 02:25:55,bin8755,75,False +abc,8756,8756,8756,1993-12-22,875.6000000001305,875.53326,2015-01-01 02:25:56,bin8756,35,False +abc,8757,8757,8757,1993-12-23,875.7000000001306,875.63324,2015-01-01 02:25:57,bin8757,75,False +abc,8758,8758,8758,1993-12-24,875.8000000001306,875.7332,2015-01-01 02:25:58,bin8758,35,False +abc,8759,8759,8759,1993-12-25,875.9000000001306,875.8332,2015-01-01 02:25:59,bin8759,75,False +abc,8760,8760,8760,1993-12-26,876.0000000001306,875.93317,2015-01-01 02:26:00,bin8760,35,False +abc,8761,8761,8761,1993-12-27,876.1000000001306,876.03314,2015-01-01 02:26:01,bin8761,75,False +abc,8762,8762,8762,1993-12-28,876.2000000001307,876.1331,2015-01-01 02:26:02,bin8762,35,False +abc,8763,8763,8763,1993-12-29,876.3000000001307,876.2331,2015-01-01 02:26:03,bin8763,75,False +abc,8764,8764,8764,1993-12-30,876.4000000001307,876.33307,2015-01-01 02:26:04,bin8764,35,False +abc,8765,8765,8765,1993-12-31,876.5000000001307,876.43304,2015-01-01 02:26:05,bin8765,75,False +abc,8766,8766,8766,1994-01-01,876.6000000001308,876.533,2015-01-01 02:26:06,bin8766,35,False +abc,8767,8767,8767,1994-01-02,876.7000000001308,876.633,2015-01-01 02:26:07,bin8767,75,False +abc,8768,8768,8768,1994-01-03,876.8000000001308,876.733,2015-01-01 02:26:08,bin8768,35,False +abc,8769,8769,8769,1994-01-04,876.9000000001308,876.83295,2015-01-01 02:26:09,bin8769,75,False +abc,8770,8770,8770,1994-01-05,877.0000000001309,876.9329,2015-01-01 02:26:10,bin8770,35,False +abc,8771,8771,8771,1994-01-06,877.1000000001309,877.0329,2015-01-01 02:26:11,bin8771,75,False +abc,8772,8772,8772,1994-01-07,877.2000000001309,877.1329,2015-01-01 02:26:12,bin8772,35,False +abc,8773,8773,8773,1994-01-08,877.3000000001309,877.23285,2015-01-01 02:26:13,bin8773,75,False +abc,8774,8774,8774,1994-01-09,877.400000000131,877.3328,2015-01-01 02:26:14,bin8774,35,False +abc,8775,8775,8775,1994-01-10,877.500000000131,877.4328,2015-01-01 02:26:15,bin8775,75,False +abc,8776,8776,8776,1994-01-11,877.600000000131,877.5328,2015-01-01 02:26:16,bin8776,35,False +abc,8777,8777,8777,1994-01-12,877.700000000131,877.63275,2015-01-01 02:26:17,bin8777,75,False +abc,8778,8778,8778,1994-01-13,877.800000000131,877.7327,2015-01-01 02:26:18,bin8778,35,False +abc,8779,8779,8779,1994-01-14,877.9000000001311,877.8327,2015-01-01 02:26:19,bin8779,75,False +abc,8780,8780,8780,1994-01-15,878.0000000001311,877.9327,2015-01-01 02:26:20,bin8780,35,False +abc,8781,8781,8781,1994-01-16,878.1000000001311,878.03265,2015-01-01 02:26:21,bin8781,75,False +abc,8782,8782,8782,1994-01-17,878.2000000001311,878.1326,2015-01-01 02:26:22,bin8782,35,False +abc,8783,8783,8783,1994-01-18,878.3000000001311,878.2326,2015-01-01 02:26:23,bin8783,75,False +abc,8784,8784,8784,1994-01-19,878.4000000001312,878.3326,2015-01-01 02:26:24,bin8784,35,False +abc,8785,8785,8785,1994-01-20,878.5000000001312,878.43256,2015-01-01 02:26:25,bin8785,75,False +abc,8786,8786,8786,1994-01-21,878.6000000001312,878.53253,2015-01-01 02:26:26,bin8786,35,False +abc,8787,8787,8787,1994-01-22,878.7000000001312,878.6325,2015-01-01 02:26:27,bin8787,75,False +abc,8788,8788,8788,1994-01-23,878.8000000001313,878.7325,2015-01-01 02:26:28,bin8788,35,False +abc,8789,8789,8789,1994-01-24,878.9000000001313,878.83246,2015-01-01 02:26:29,bin8789,75,False +abc,8790,8790,8790,1994-01-25,879.0000000001313,878.93243,2015-01-01 02:26:30,bin8790,35,False +abc,8791,8791,8791,1994-01-26,879.1000000001313,879.0324,2015-01-01 02:26:31,bin8791,75,False +abc,8792,8792,8792,1994-01-27,879.2000000001314,879.1324,2015-01-01 02:26:32,bin8792,35,False +abc,8793,8793,8793,1994-01-28,879.3000000001314,879.23236,2015-01-01 02:26:33,bin8793,75,False +abc,8794,8794,8794,1994-01-29,879.4000000001314,879.33234,2015-01-01 02:26:34,bin8794,35,False +abc,8795,8795,8795,1994-01-30,879.5000000001314,879.4323,2015-01-01 02:26:35,bin8795,75,False +abc,8796,8796,8796,1994-01-31,879.6000000001314,879.5323,2015-01-01 02:26:36,bin8796,35,False +abc,8797,8797,8797,1994-02-01,879.7000000001315,879.63226,2015-01-01 02:26:37,bin8797,75,False +abc,8798,8798,8798,1994-02-02,879.8000000001315,879.73224,2015-01-01 02:26:38,bin8798,35,False +abc,8799,8799,8799,1994-02-03,879.9000000001315,879.8322,2015-01-01 02:26:39,bin8799,75,False +abc,8800,8800,8800,1994-02-04,880.0000000001315,879.9322,2015-01-01 02:26:40,bin8800,35,False +abc,8801,8801,8801,1994-02-05,880.1000000001316,880.03217,2015-01-01 02:26:41,bin8801,75,False +abc,8802,8802,8802,1994-02-06,880.2000000001316,880.13214,2015-01-01 02:26:42,bin8802,35,False +abc,8803,8803,8803,1994-02-07,880.3000000001316,880.2321,2015-01-01 02:26:43,bin8803,75,False +abc,8804,8804,8804,1994-02-08,880.4000000001316,880.3321,2015-01-01 02:26:44,bin8804,35,False +abc,8805,8805,8805,1994-02-09,880.5000000001316,880.43207,2015-01-01 02:26:45,bin8805,75,False +abc,8806,8806,8806,1994-02-10,880.6000000001317,880.53204,2015-01-01 02:26:46,bin8806,35,False +abc,8807,8807,8807,1994-02-11,880.7000000001317,880.632,2015-01-01 02:26:47,bin8807,75,False +abc,8808,8808,8808,1994-02-12,880.8000000001317,880.732,2015-01-01 02:26:48,bin8808,35,False +abc,8809,8809,8809,1994-02-13,880.9000000001317,880.832,2015-01-01 02:26:49,bin8809,75,False +abc,8810,8810,8810,1994-02-14,881.0000000001318,880.93195,2015-01-01 02:26:50,bin8810,35,False +abc,8811,8811,8811,1994-02-15,881.1000000001318,881.0319,2015-01-01 02:26:51,bin8811,75,False +abc,8812,8812,8812,1994-02-16,881.2000000001318,881.1319,2015-01-01 02:26:52,bin8812,35,False +abc,8813,8813,8813,1994-02-17,881.3000000001318,881.2319,2015-01-01 02:26:53,bin8813,75,False +abc,8814,8814,8814,1994-02-18,881.4000000001319,881.33185,2015-01-01 02:26:54,bin8814,35,False +abc,8815,8815,8815,1994-02-19,881.5000000001319,881.4318,2015-01-01 02:26:55,bin8815,75,False +abc,8816,8816,8816,1994-02-20,881.6000000001319,881.5318,2015-01-01 02:26:56,bin8816,35,False +abc,8817,8817,8817,1994-02-21,881.7000000001319,881.6318,2015-01-01 02:26:57,bin8817,75,False +abc,8818,8818,8818,1994-02-22,881.800000000132,881.73175,2015-01-01 02:26:58,bin8818,35,False +abc,8819,8819,8819,1994-02-23,881.900000000132,881.8317,2015-01-01 02:26:59,bin8819,75,False +abc,8820,8820,8820,1994-02-24,882.000000000132,881.9317,2015-01-01 02:27:00,bin8820,35,False +abc,8821,8821,8821,1994-02-25,882.100000000132,882.0317,2015-01-01 02:27:01,bin8821,75,False +abc,8822,8822,8822,1994-02-26,882.200000000132,882.13165,2015-01-01 02:27:02,bin8822,35,False +abc,8823,8823,8823,1994-02-27,882.3000000001321,882.2316,2015-01-01 02:27:03,bin8823,75,False +abc,8824,8824,8824,1994-02-28,882.4000000001321,882.3316,2015-01-01 02:27:04,bin8824,35,False +abc,8825,8825,8825,1994-03-01,882.5000000001321,882.4316,2015-01-01 02:27:05,bin8825,75,False +abc,8826,8826,8826,1994-03-02,882.6000000001321,882.53156,2015-01-01 02:27:06,bin8826,35,False +abc,8827,8827,8827,1994-03-03,882.7000000001321,882.63153,2015-01-01 02:27:07,bin8827,75,False +abc,8828,8828,8828,1994-03-04,882.8000000001322,882.7315,2015-01-01 02:27:08,bin8828,35,False +abc,8829,8829,8829,1994-03-05,882.9000000001322,882.8315,2015-01-01 02:27:09,bin8829,75,False +abc,8830,8830,8830,1994-03-06,883.0000000001322,882.93146,2015-01-01 02:27:10,bin8830,35,False +abc,8831,8831,8831,1994-03-07,883.1000000001322,883.03143,2015-01-01 02:27:11,bin8831,75,False +abc,8832,8832,8832,1994-03-08,883.2000000001323,883.1314,2015-01-01 02:27:12,bin8832,35,False +abc,8833,8833,8833,1994-03-09,883.3000000001323,883.2314,2015-01-01 02:27:13,bin8833,75,False +abc,8834,8834,8834,1994-03-10,883.4000000001323,883.33136,2015-01-01 02:27:14,bin8834,35,False +abc,8835,8835,8835,1994-03-11,883.5000000001323,883.43134,2015-01-01 02:27:15,bin8835,75,False +abc,8836,8836,8836,1994-03-12,883.6000000001324,883.5313,2015-01-01 02:27:16,bin8836,35,False +abc,8837,8837,8837,1994-03-13,883.7000000001324,883.6313,2015-01-01 02:27:17,bin8837,75,False +abc,8838,8838,8838,1994-03-14,883.8000000001324,883.73126,2015-01-01 02:27:18,bin8838,35,False +abc,8839,8839,8839,1994-03-15,883.9000000001324,883.83124,2015-01-01 02:27:19,bin8839,75,False +abc,8840,8840,8840,1994-03-16,884.0000000001324,883.9312,2015-01-01 02:27:20,bin8840,35,False +abc,8841,8841,8841,1994-03-17,884.1000000001325,884.0312,2015-01-01 02:27:21,bin8841,75,False +abc,8842,8842,8842,1994-03-18,884.2000000001325,884.13116,2015-01-01 02:27:22,bin8842,35,False +abc,8843,8843,8843,1994-03-19,884.3000000001325,884.23114,2015-01-01 02:27:23,bin8843,75,False +abc,8844,8844,8844,1994-03-20,884.4000000001325,884.3311,2015-01-01 02:27:24,bin8844,35,False +abc,8845,8845,8845,1994-03-21,884.5000000001326,884.4311,2015-01-01 02:27:25,bin8845,75,False +abc,8846,8846,8846,1994-03-22,884.6000000001326,884.53107,2015-01-01 02:27:26,bin8846,35,False +abc,8847,8847,8847,1994-03-23,884.7000000001326,884.63104,2015-01-01 02:27:27,bin8847,75,False +abc,8848,8848,8848,1994-03-24,884.8000000001326,884.731,2015-01-01 02:27:28,bin8848,35,False +abc,8849,8849,8849,1994-03-25,884.9000000001326,884.831,2015-01-01 02:27:29,bin8849,75,False +abc,8850,8850,8850,1994-03-26,885.0000000001327,884.93097,2015-01-01 02:27:30,bin8850,35,False +abc,8851,8851,8851,1994-03-27,885.1000000001327,885.03094,2015-01-01 02:27:31,bin8851,75,False +abc,8852,8852,8852,1994-03-28,885.2000000001327,885.1309,2015-01-01 02:27:32,bin8852,35,False +abc,8853,8853,8853,1994-03-29,885.3000000001327,885.2309,2015-01-01 02:27:33,bin8853,75,False +abc,8854,8854,8854,1994-03-30,885.4000000001328,885.3309,2015-01-01 02:27:34,bin8854,35,False +abc,8855,8855,8855,1994-03-31,885.5000000001328,885.43085,2015-01-01 02:27:35,bin8855,75,False +abc,8856,8856,8856,1994-04-01,885.6000000001328,885.5308,2015-01-01 02:27:36,bin8856,35,False +abc,8857,8857,8857,1994-04-02,885.7000000001328,885.6308,2015-01-01 02:27:37,bin8857,75,False +abc,8858,8858,8858,1994-04-03,885.8000000001329,885.7308,2015-01-01 02:27:38,bin8858,35,False +abc,8859,8859,8859,1994-04-04,885.9000000001329,885.83075,2015-01-01 02:27:39,bin8859,75,False +abc,8860,8860,8860,1994-04-05,886.0000000001329,885.9307,2015-01-01 02:27:40,bin8860,35,False +abc,8861,8861,8861,1994-04-06,886.1000000001329,886.0307,2015-01-01 02:27:41,bin8861,75,False +abc,8862,8862,8862,1994-04-07,886.200000000133,886.1307,2015-01-01 02:27:42,bin8862,35,False +abc,8863,8863,8863,1994-04-08,886.300000000133,886.23065,2015-01-01 02:27:43,bin8863,75,False +abc,8864,8864,8864,1994-04-09,886.400000000133,886.3306,2015-01-01 02:27:44,bin8864,35,False +abc,8865,8865,8865,1994-04-10,886.500000000133,886.4306,2015-01-01 02:27:45,bin8865,75,False +abc,8866,8866,8866,1994-04-11,886.600000000133,886.5306,2015-01-01 02:27:46,bin8866,35,False +abc,8867,8867,8867,1994-04-12,886.7000000001331,886.63055,2015-01-01 02:27:47,bin8867,75,False +abc,8868,8868,8868,1994-04-13,886.8000000001331,886.7305,2015-01-01 02:27:48,bin8868,35,False +abc,8869,8869,8869,1994-04-14,886.9000000001331,886.8305,2015-01-01 02:27:49,bin8869,75,False +abc,8870,8870,8870,1994-04-15,887.0000000001331,886.9305,2015-01-01 02:27:50,bin8870,35,False +abc,8871,8871,8871,1994-04-16,887.1000000001332,887.03046,2015-01-01 02:27:51,bin8871,75,False +abc,8872,8872,8872,1994-04-17,887.2000000001332,887.13043,2015-01-01 02:27:52,bin8872,35,False +abc,8873,8873,8873,1994-04-18,887.3000000001332,887.2304,2015-01-01 02:27:53,bin8873,75,False +abc,8874,8874,8874,1994-04-19,887.4000000001332,887.3304,2015-01-01 02:27:54,bin8874,35,False +abc,8875,8875,8875,1994-04-20,887.5000000001332,887.43036,2015-01-01 02:27:55,bin8875,75,False +abc,8876,8876,8876,1994-04-21,887.6000000001333,887.53033,2015-01-01 02:27:56,bin8876,35,False +abc,8877,8877,8877,1994-04-22,887.7000000001333,887.6303,2015-01-01 02:27:57,bin8877,75,False +abc,8878,8878,8878,1994-04-23,887.8000000001333,887.7303,2015-01-01 02:27:58,bin8878,35,False +abc,8879,8879,8879,1994-04-24,887.9000000001333,887.83026,2015-01-01 02:27:59,bin8879,75,False +abc,8880,8880,8880,1994-04-25,888.0000000001334,887.93024,2015-01-01 02:28:00,bin8880,35,False +abc,8881,8881,8881,1994-04-26,888.1000000001334,888.0302,2015-01-01 02:28:01,bin8881,75,False +abc,8882,8882,8882,1994-04-27,888.2000000001334,888.1302,2015-01-01 02:28:02,bin8882,35,False +abc,8883,8883,8883,1994-04-28,888.3000000001334,888.23016,2015-01-01 02:28:03,bin8883,75,False +abc,8884,8884,8884,1994-04-29,888.4000000001334,888.33014,2015-01-01 02:28:04,bin8884,35,False +abc,8885,8885,8885,1994-04-30,888.5000000001335,888.4301,2015-01-01 02:28:05,bin8885,75,False +abc,8886,8886,8886,1994-05-01,888.6000000001335,888.5301,2015-01-01 02:28:06,bin8886,35,False +abc,8887,8887,8887,1994-05-02,888.7000000001335,888.63007,2015-01-01 02:28:07,bin8887,75,False +abc,8888,8888,8888,1994-05-03,888.8000000001335,888.73004,2015-01-01 02:28:08,bin8888,35,False +abc,8889,8889,8889,1994-05-04,888.9000000001336,888.83,2015-01-01 02:28:09,bin8889,75,False +abc,8890,8890,8890,1994-05-05,889.0000000001336,888.93,2015-01-01 02:28:10,bin8890,35,False +abc,8891,8891,8891,1994-05-06,889.1000000001336,889.02997,2015-01-01 02:28:11,bin8891,75,False +abc,8892,8892,8892,1994-05-07,889.2000000001336,889.12994,2015-01-01 02:28:12,bin8892,35,False +abc,8893,8893,8893,1994-05-08,889.3000000001337,889.2299,2015-01-01 02:28:13,bin8893,75,False +abc,8894,8894,8894,1994-05-09,889.4000000001337,889.3299,2015-01-01 02:28:14,bin8894,35,False +abc,8895,8895,8895,1994-05-10,889.5000000001337,889.4299,2015-01-01 02:28:15,bin8895,75,False +abc,8896,8896,8896,1994-05-11,889.6000000001337,889.52985,2015-01-01 02:28:16,bin8896,35,False +abc,8897,8897,8897,1994-05-12,889.7000000001337,889.6298,2015-01-01 02:28:17,bin8897,75,False +abc,8898,8898,8898,1994-05-13,889.8000000001338,889.7298,2015-01-01 02:28:18,bin8898,35,False +abc,8899,8899,8899,1994-05-14,889.9000000001338,889.8298,2015-01-01 02:28:19,bin8899,75,False +abc,8900,8900,8900,1994-05-15,890.0000000001338,889.92975,2015-01-01 02:28:20,bin8900,35,False +abc,8901,8901,8901,1994-05-16,890.1000000001338,890.0297,2015-01-01 02:28:21,bin8901,75,False +abc,8902,8902,8902,1994-05-17,890.2000000001339,890.1297,2015-01-01 02:28:22,bin8902,35,False +abc,8903,8903,8903,1994-05-18,890.3000000001339,890.2297,2015-01-01 02:28:23,bin8903,75,False +abc,8904,8904,8904,1994-05-19,890.4000000001339,890.32965,2015-01-01 02:28:24,bin8904,35,False +abc,8905,8905,8905,1994-05-20,890.5000000001339,890.4296,2015-01-01 02:28:25,bin8905,75,False +abc,8906,8906,8906,1994-05-21,890.600000000134,890.5296,2015-01-01 02:28:26,bin8906,35,False +abc,8907,8907,8907,1994-05-22,890.700000000134,890.6296,2015-01-01 02:28:27,bin8907,75,False +abc,8908,8908,8908,1994-05-23,890.800000000134,890.72955,2015-01-01 02:28:28,bin8908,35,False +abc,8909,8909,8909,1994-05-24,890.900000000134,890.8295,2015-01-01 02:28:29,bin8909,75,False +abc,8910,8910,8910,1994-05-25,891.000000000134,890.9295,2015-01-01 02:28:30,bin8910,35,False +abc,8911,8911,8911,1994-05-26,891.1000000001341,891.0295,2015-01-01 02:28:31,bin8911,75,False +abc,8912,8912,8912,1994-05-27,891.2000000001341,891.12946,2015-01-01 02:28:32,bin8912,35,False +abc,8913,8913,8913,1994-05-28,891.3000000001341,891.22943,2015-01-01 02:28:33,bin8913,75,False +abc,8914,8914,8914,1994-05-29,891.4000000001341,891.3294,2015-01-01 02:28:34,bin8914,35,False +abc,8915,8915,8915,1994-05-30,891.5000000001342,891.4294,2015-01-01 02:28:35,bin8915,75,False +abc,8916,8916,8916,1994-05-31,891.6000000001342,891.52936,2015-01-01 02:28:36,bin8916,35,False +abc,8917,8917,8917,1994-06-01,891.7000000001342,891.62933,2015-01-01 02:28:37,bin8917,75,False +abc,8918,8918,8918,1994-06-02,891.8000000001342,891.7293,2015-01-01 02:28:38,bin8918,35,False +abc,8919,8919,8919,1994-06-03,891.9000000001342,891.8293,2015-01-01 02:28:39,bin8919,75,False +abc,8920,8920,8920,1994-06-04,892.0000000001343,891.92926,2015-01-01 02:28:40,bin8920,35,False +abc,8921,8921,8921,1994-06-05,892.1000000001343,892.02924,2015-01-01 02:28:41,bin8921,75,False +abc,8922,8922,8922,1994-06-06,892.2000000001343,892.1292,2015-01-01 02:28:42,bin8922,35,False +abc,8923,8923,8923,1994-06-07,892.3000000001343,892.2292,2015-01-01 02:28:43,bin8923,75,False +abc,8924,8924,8924,1994-06-08,892.4000000001344,892.32916,2015-01-01 02:28:44,bin8924,35,False +abc,8925,8925,8925,1994-06-09,892.5000000001344,892.42914,2015-01-01 02:28:45,bin8925,75,False +abc,8926,8926,8926,1994-06-10,892.6000000001344,892.5291,2015-01-01 02:28:46,bin8926,35,False +abc,8927,8927,8927,1994-06-11,892.7000000001344,892.6291,2015-01-01 02:28:47,bin8927,75,False +abc,8928,8928,8928,1994-06-12,892.8000000001344,892.72906,2015-01-01 02:28:48,bin8928,35,False +abc,8929,8929,8929,1994-06-13,892.9000000001345,892.82904,2015-01-01 02:28:49,bin8929,75,False +abc,8930,8930,8930,1994-06-14,893.0000000001345,892.929,2015-01-01 02:28:50,bin8930,35,False +abc,8931,8931,8931,1994-06-15,893.1000000001345,893.029,2015-01-01 02:28:51,bin8931,75,False +abc,8932,8932,8932,1994-06-16,893.2000000001345,893.12897,2015-01-01 02:28:52,bin8932,35,False +abc,8933,8933,8933,1994-06-17,893.3000000001346,893.22894,2015-01-01 02:28:53,bin8933,75,False +abc,8934,8934,8934,1994-06-18,893.4000000001346,893.3289,2015-01-01 02:28:54,bin8934,35,False +abc,8935,8935,8935,1994-06-19,893.5000000001346,893.4289,2015-01-01 02:28:55,bin8935,75,False +abc,8936,8936,8936,1994-06-20,893.6000000001346,893.5289,2015-01-01 02:28:56,bin8936,35,False +abc,8937,8937,8937,1994-06-21,893.7000000001347,893.62885,2015-01-01 02:28:57,bin8937,75,False +abc,8938,8938,8938,1994-06-22,893.8000000001347,893.7288,2015-01-01 02:28:58,bin8938,35,False +abc,8939,8939,8939,1994-06-23,893.9000000001347,893.8288,2015-01-01 02:28:59,bin8939,75,False +abc,8940,8940,8940,1994-06-24,894.0000000001347,893.9288,2015-01-01 02:29:00,bin8940,35,False +abc,8941,8941,8941,1994-06-25,894.1000000001347,894.02875,2015-01-01 02:29:01,bin8941,75,False +abc,8942,8942,8942,1994-06-26,894.2000000001348,894.1287,2015-01-01 02:29:02,bin8942,35,False +abc,8943,8943,8943,1994-06-27,894.3000000001348,894.2287,2015-01-01 02:29:03,bin8943,75,False +abc,8944,8944,8944,1994-06-28,894.4000000001348,894.3287,2015-01-01 02:29:04,bin8944,35,False +abc,8945,8945,8945,1994-06-29,894.5000000001348,894.42865,2015-01-01 02:29:05,bin8945,75,False +abc,8946,8946,8946,1994-06-30,894.6000000001349,894.5286,2015-01-01 02:29:06,bin8946,35,False +abc,8947,8947,8947,1994-07-01,894.7000000001349,894.6286,2015-01-01 02:29:07,bin8947,75,False +abc,8948,8948,8948,1994-07-02,894.8000000001349,894.7286,2015-01-01 02:29:08,bin8948,35,False +abc,8949,8949,8949,1994-07-03,894.9000000001349,894.82855,2015-01-01 02:29:09,bin8949,75,False +abc,8950,8950,8950,1994-07-04,895.000000000135,894.9285,2015-01-01 02:29:10,bin8950,35,False +abc,8951,8951,8951,1994-07-05,895.100000000135,895.0285,2015-01-01 02:29:11,bin8951,75,False +abc,8952,8952,8952,1994-07-06,895.200000000135,895.1285,2015-01-01 02:29:12,bin8952,35,False +abc,8953,8953,8953,1994-07-07,895.300000000135,895.22845,2015-01-01 02:29:13,bin8953,75,False +abc,8954,8954,8954,1994-07-08,895.400000000135,895.3284,2015-01-01 02:29:14,bin8954,35,False +abc,8955,8955,8955,1994-07-09,895.5000000001351,895.4284,2015-01-01 02:29:15,bin8955,75,False +abc,8956,8956,8956,1994-07-10,895.6000000001351,895.5284,2015-01-01 02:29:16,bin8956,35,False +abc,8957,8957,8957,1994-07-11,895.7000000001351,895.62836,2015-01-01 02:29:17,bin8957,75,False +abc,8958,8958,8958,1994-07-12,895.8000000001351,895.72833,2015-01-01 02:29:18,bin8958,35,False +abc,8959,8959,8959,1994-07-13,895.9000000001352,895.8283,2015-01-01 02:29:19,bin8959,75,False +abc,8960,8960,8960,1994-07-14,896.0000000001352,895.9283,2015-01-01 02:29:20,bin8960,35,False +abc,8961,8961,8961,1994-07-15,896.1000000001352,896.02826,2015-01-01 02:29:21,bin8961,75,False +abc,8962,8962,8962,1994-07-16,896.2000000001352,896.12823,2015-01-01 02:29:22,bin8962,35,False +abc,8963,8963,8963,1994-07-17,896.3000000001352,896.2282,2015-01-01 02:29:23,bin8963,75,False +abc,8964,8964,8964,1994-07-18,896.4000000001353,896.3282,2015-01-01 02:29:24,bin8964,35,False +abc,8965,8965,8965,1994-07-19,896.5000000001353,896.42816,2015-01-01 02:29:25,bin8965,75,False +abc,8966,8966,8966,1994-07-20,896.6000000001353,896.52814,2015-01-01 02:29:26,bin8966,35,False +abc,8967,8967,8967,1994-07-21,896.7000000001353,896.6281,2015-01-01 02:29:27,bin8967,75,False +abc,8968,8968,8968,1994-07-22,896.8000000001354,896.7281,2015-01-01 02:29:28,bin8968,35,False +abc,8969,8969,8969,1994-07-23,896.9000000001354,896.82806,2015-01-01 02:29:29,bin8969,75,False +abc,8970,8970,8970,1994-07-24,897.0000000001354,896.92804,2015-01-01 02:29:30,bin8970,35,False +abc,8971,8971,8971,1994-07-25,897.1000000001354,897.028,2015-01-01 02:29:31,bin8971,75,False +abc,8972,8972,8972,1994-07-26,897.2000000001354,897.128,2015-01-01 02:29:32,bin8972,35,False +abc,8973,8973,8973,1994-07-27,897.3000000001355,897.22797,2015-01-01 02:29:33,bin8973,75,False +abc,8974,8974,8974,1994-07-28,897.4000000001355,897.32794,2015-01-01 02:29:34,bin8974,35,False +abc,8975,8975,8975,1994-07-29,897.5000000001355,897.4279,2015-01-01 02:29:35,bin8975,75,False +abc,8976,8976,8976,1994-07-30,897.6000000001355,897.5279,2015-01-01 02:29:36,bin8976,35,False +abc,8977,8977,8977,1994-07-31,897.7000000001356,897.62787,2015-01-01 02:29:37,bin8977,75,False +abc,8978,8978,8978,1994-08-01,897.8000000001356,897.72784,2015-01-01 02:29:38,bin8978,35,False +abc,8979,8979,8979,1994-08-02,897.9000000001356,897.8278,2015-01-01 02:29:39,bin8979,75,False +abc,8980,8980,8980,1994-08-03,898.0000000001356,897.9278,2015-01-01 02:29:40,bin8980,35,False +abc,8981,8981,8981,1994-08-04,898.1000000001357,898.0278,2015-01-01 02:29:41,bin8981,75,False +abc,8982,8982,8982,1994-08-05,898.2000000001357,898.12775,2015-01-01 02:29:42,bin8982,35,False +abc,8983,8983,8983,1994-08-06,898.3000000001357,898.2277,2015-01-01 02:29:43,bin8983,75,False +abc,8984,8984,8984,1994-08-07,898.4000000001357,898.3277,2015-01-01 02:29:44,bin8984,35,False +abc,8985,8985,8985,1994-08-08,898.5000000001357,898.4277,2015-01-01 02:29:45,bin8985,75,False +abc,8986,8986,8986,1994-08-09,898.6000000001358,898.52765,2015-01-01 02:29:46,bin8986,35,False +abc,8987,8987,8987,1994-08-10,898.7000000001358,898.6276,2015-01-01 02:29:47,bin8987,75,False +abc,8988,8988,8988,1994-08-11,898.8000000001358,898.7276,2015-01-01 02:29:48,bin8988,35,False +abc,8989,8989,8989,1994-08-12,898.9000000001358,898.8276,2015-01-01 02:29:49,bin8989,75,False +abc,8990,8990,8990,1994-08-13,899.0000000001359,898.92755,2015-01-01 02:29:50,bin8990,35,False +abc,8991,8991,8991,1994-08-14,899.1000000001359,899.0275,2015-01-01 02:29:51,bin8991,75,False +abc,8992,8992,8992,1994-08-15,899.2000000001359,899.1275,2015-01-01 02:29:52,bin8992,35,False +abc,8993,8993,8993,1994-08-16,899.3000000001359,899.2275,2015-01-01 02:29:53,bin8993,75,False +abc,8994,8994,8994,1994-08-17,899.400000000136,899.32745,2015-01-01 02:29:54,bin8994,35,False +abc,8995,8995,8995,1994-08-18,899.500000000136,899.4274,2015-01-01 02:29:55,bin8995,75,False +abc,8996,8996,8996,1994-08-19,899.600000000136,899.5274,2015-01-01 02:29:56,bin8996,35,False +abc,8997,8997,8997,1994-08-20,899.700000000136,899.6274,2015-01-01 02:29:57,bin8997,75,False +abc,8998,8998,8998,1994-08-21,899.800000000136,899.72736,2015-01-01 02:29:58,bin8998,35,False +abc,8999,8999,8999,1994-08-22,899.9000000001361,899.82733,2015-01-01 02:29:59,bin8999,75,False +abc,9000,9000,9000,1994-08-23,900.0000000001361,899.9273,2015-01-01 02:30:00,bin9000,35,False +abc,9001,9001,9001,1994-08-24,900.1000000001361,900.0273,2015-01-01 02:30:01,bin9001,75,False +abc,9002,9002,9002,1994-08-25,900.2000000001361,900.12726,2015-01-01 02:30:02,bin9002,35,False +abc,9003,9003,9003,1994-08-26,900.3000000001362,900.22723,2015-01-01 02:30:03,bin9003,75,False +abc,9004,9004,9004,1994-08-27,900.4000000001362,900.3272,2015-01-01 02:30:04,bin9004,35,False +abc,9005,9005,9005,1994-08-28,900.5000000001362,900.4272,2015-01-01 02:30:05,bin9005,75,False +abc,9006,9006,9006,1994-08-29,900.6000000001362,900.52716,2015-01-01 02:30:06,bin9006,35,False +abc,9007,9007,9007,1994-08-30,900.7000000001362,900.62714,2015-01-01 02:30:07,bin9007,75,False +abc,9008,9008,9008,1994-08-31,900.8000000001363,900.7271,2015-01-01 02:30:08,bin9008,35,False +abc,9009,9009,9009,1994-09-01,900.9000000001363,900.8271,2015-01-01 02:30:09,bin9009,75,False +abc,9010,9010,9010,1994-09-02,901.0000000001363,900.92706,2015-01-01 02:30:10,bin9010,35,False +abc,9011,9011,9011,1994-09-03,901.1000000001363,901.02704,2015-01-01 02:30:11,bin9011,75,False +abc,9012,9012,9012,1994-09-04,901.2000000001364,901.127,2015-01-01 02:30:12,bin9012,35,False +abc,9013,9013,9013,1994-09-05,901.3000000001364,901.227,2015-01-01 02:30:13,bin9013,75,False +abc,9014,9014,9014,1994-09-06,901.4000000001364,901.32697,2015-01-01 02:30:14,bin9014,35,False +abc,9015,9015,9015,1994-09-07,901.5000000001364,901.42694,2015-01-01 02:30:15,bin9015,75,False +abc,9016,9016,9016,1994-09-08,901.6000000001364,901.5269,2015-01-01 02:30:16,bin9016,35,False +abc,9017,9017,9017,1994-09-09,901.7000000001365,901.6269,2015-01-01 02:30:17,bin9017,75,False +abc,9018,9018,9018,1994-09-10,901.8000000001365,901.72687,2015-01-01 02:30:18,bin9018,35,False +abc,9019,9019,9019,1994-09-11,901.9000000001365,901.82684,2015-01-01 02:30:19,bin9019,75,False +abc,9020,9020,9020,1994-09-12,902.0000000001365,901.9268,2015-01-01 02:30:20,bin9020,35,False +abc,9021,9021,9021,1994-09-13,902.1000000001366,902.0268,2015-01-01 02:30:21,bin9021,75,False +abc,9022,9022,9022,1994-09-14,902.2000000001366,902.1268,2015-01-01 02:30:22,bin9022,35,False +abc,9023,9023,9023,1994-09-15,902.3000000001366,902.22675,2015-01-01 02:30:23,bin9023,75,False +abc,9024,9024,9024,1994-09-16,902.4000000001366,902.3267,2015-01-01 02:30:24,bin9024,35,False +abc,9025,9025,9025,1994-09-17,902.5000000001367,902.4267,2015-01-01 02:30:25,bin9025,75,False +abc,9026,9026,9026,1994-09-18,902.6000000001367,902.5267,2015-01-01 02:30:26,bin9026,35,False +abc,9027,9027,9027,1994-09-19,902.7000000001367,902.62665,2015-01-01 02:30:27,bin9027,75,False +abc,9028,9028,9028,1994-09-20,902.8000000001367,902.7266,2015-01-01 02:30:28,bin9028,35,False +abc,9029,9029,9029,1994-09-21,902.9000000001367,902.8266,2015-01-01 02:30:29,bin9029,75,False +abc,9030,9030,9030,1994-09-22,903.0000000001368,902.9266,2015-01-01 02:30:30,bin9030,35,False +abc,9031,9031,9031,1994-09-23,903.1000000001368,903.02655,2015-01-01 02:30:31,bin9031,75,False +abc,9032,9032,9032,1994-09-24,903.2000000001368,903.1265,2015-01-01 02:30:32,bin9032,35,False +abc,9033,9033,9033,1994-09-25,903.3000000001368,903.2265,2015-01-01 02:30:33,bin9033,75,False +abc,9034,9034,9034,1994-09-26,903.4000000001369,903.3265,2015-01-01 02:30:34,bin9034,35,False +abc,9035,9035,9035,1994-09-27,903.5000000001369,903.42645,2015-01-01 02:30:35,bin9035,75,False +abc,9036,9036,9036,1994-09-28,903.6000000001369,903.5264,2015-01-01 02:30:36,bin9036,35,False +abc,9037,9037,9037,1994-09-29,903.7000000001369,903.6264,2015-01-01 02:30:37,bin9037,75,False +abc,9038,9038,9038,1994-09-30,903.800000000137,903.7264,2015-01-01 02:30:38,bin9038,35,False +abc,9039,9039,9039,1994-10-01,903.900000000137,903.82635,2015-01-01 02:30:39,bin9039,75,False +abc,9040,9040,9040,1994-10-02,904.000000000137,903.92633,2015-01-01 02:30:40,bin9040,35,False +abc,9041,9041,9041,1994-10-03,904.100000000137,904.0263,2015-01-01 02:30:41,bin9041,75,False +abc,9042,9042,9042,1994-10-04,904.200000000137,904.1263,2015-01-01 02:30:42,bin9042,35,False +abc,9043,9043,9043,1994-10-05,904.3000000001371,904.22626,2015-01-01 02:30:43,bin9043,75,False +abc,9044,9044,9044,1994-10-06,904.4000000001371,904.32623,2015-01-01 02:30:44,bin9044,35,False +abc,9045,9045,9045,1994-10-07,904.5000000001371,904.4262,2015-01-01 02:30:45,bin9045,75,False +abc,9046,9046,9046,1994-10-08,904.6000000001371,904.5262,2015-01-01 02:30:46,bin9046,35,False +abc,9047,9047,9047,1994-10-09,904.7000000001372,904.62616,2015-01-01 02:30:47,bin9047,75,False +abc,9048,9048,9048,1994-10-10,904.8000000001372,904.72614,2015-01-01 02:30:48,bin9048,35,False +abc,9049,9049,9049,1994-10-11,904.9000000001372,904.8261,2015-01-01 02:30:49,bin9049,75,False +abc,9050,9050,9050,1994-10-12,905.0000000001372,904.9261,2015-01-01 02:30:50,bin9050,35,False +abc,9051,9051,9051,1994-10-13,905.1000000001372,905.02606,2015-01-01 02:30:51,bin9051,75,False +abc,9052,9052,9052,1994-10-14,905.2000000001373,905.12604,2015-01-01 02:30:52,bin9052,35,False +abc,9053,9053,9053,1994-10-15,905.3000000001373,905.226,2015-01-01 02:30:53,bin9053,75,False +abc,9054,9054,9054,1994-10-16,905.4000000001373,905.326,2015-01-01 02:30:54,bin9054,35,False +abc,9055,9055,9055,1994-10-17,905.5000000001373,905.42596,2015-01-01 02:30:55,bin9055,75,False +abc,9056,9056,9056,1994-10-18,905.6000000001374,905.52594,2015-01-01 02:30:56,bin9056,35,False +abc,9057,9057,9057,1994-10-19,905.7000000001374,905.6259,2015-01-01 02:30:57,bin9057,75,False +abc,9058,9058,9058,1994-10-20,905.8000000001374,905.7259,2015-01-01 02:30:58,bin9058,35,False +abc,9059,9059,9059,1994-10-21,905.9000000001374,905.82587,2015-01-01 02:30:59,bin9059,75,False +abc,9060,9060,9060,1994-10-22,906.0000000001374,905.92584,2015-01-01 02:31:00,bin9060,35,False +abc,9061,9061,9061,1994-10-23,906.1000000001375,906.0258,2015-01-01 02:31:01,bin9061,75,False +abc,9062,9062,9062,1994-10-24,906.2000000001375,906.1258,2015-01-01 02:31:02,bin9062,35,False +abc,9063,9063,9063,1994-10-25,906.3000000001375,906.22577,2015-01-01 02:31:03,bin9063,75,False +abc,9064,9064,9064,1994-10-26,906.4000000001375,906.32574,2015-01-01 02:31:04,bin9064,35,False +abc,9065,9065,9065,1994-10-27,906.5000000001376,906.4257,2015-01-01 02:31:05,bin9065,75,False +abc,9066,9066,9066,1994-10-28,906.6000000001376,906.5257,2015-01-01 02:31:06,bin9066,35,False +abc,9067,9067,9067,1994-10-29,906.7000000001376,906.6257,2015-01-01 02:31:07,bin9067,75,False +abc,9068,9068,9068,1994-10-30,906.8000000001376,906.72565,2015-01-01 02:31:08,bin9068,35,False +abc,9069,9069,9069,1994-10-31,906.9000000001377,906.8256,2015-01-01 02:31:09,bin9069,75,False +abc,9070,9070,9070,1994-11-01,907.0000000001377,906.9256,2015-01-01 02:31:10,bin9070,35,False +abc,9071,9071,9071,1994-11-02,907.1000000001377,907.0256,2015-01-01 02:31:11,bin9071,75,False +abc,9072,9072,9072,1994-11-03,907.2000000001377,907.12555,2015-01-01 02:31:12,bin9072,35,False +abc,9073,9073,9073,1994-11-04,907.3000000001377,907.2255,2015-01-01 02:31:13,bin9073,75,False +abc,9074,9074,9074,1994-11-05,907.4000000001378,907.3255,2015-01-01 02:31:14,bin9074,35,False +abc,9075,9075,9075,1994-11-06,907.5000000001378,907.4255,2015-01-01 02:31:15,bin9075,75,False +abc,9076,9076,9076,1994-11-07,907.6000000001378,907.52545,2015-01-01 02:31:16,bin9076,35,False +abc,9077,9077,9077,1994-11-08,907.7000000001378,907.6254,2015-01-01 02:31:17,bin9077,75,False +abc,9078,9078,9078,1994-11-09,907.8000000001379,907.7254,2015-01-01 02:31:18,bin9078,35,False +abc,9079,9079,9079,1994-11-10,907.9000000001379,907.8254,2015-01-01 02:31:19,bin9079,75,False +abc,9080,9080,9080,1994-11-11,908.0000000001379,907.92535,2015-01-01 02:31:20,bin9080,35,False +abc,9081,9081,9081,1994-11-12,908.1000000001379,908.0253,2015-01-01 02:31:21,bin9081,75,False +abc,9082,9082,9082,1994-11-13,908.200000000138,908.1253,2015-01-01 02:31:22,bin9082,35,False +abc,9083,9083,9083,1994-11-14,908.300000000138,908.2253,2015-01-01 02:31:23,bin9083,75,False +abc,9084,9084,9084,1994-11-15,908.400000000138,908.32526,2015-01-01 02:31:24,bin9084,35,False +abc,9085,9085,9085,1994-11-16,908.500000000138,908.42523,2015-01-01 02:31:25,bin9085,75,False +abc,9086,9086,9086,1994-11-17,908.600000000138,908.5252,2015-01-01 02:31:26,bin9086,35,False +abc,9087,9087,9087,1994-11-18,908.7000000001381,908.6252,2015-01-01 02:31:27,bin9087,75,False +abc,9088,9088,9088,1994-11-19,908.8000000001381,908.72516,2015-01-01 02:31:28,bin9088,35,False +abc,9089,9089,9089,1994-11-20,908.9000000001381,908.82513,2015-01-01 02:31:29,bin9089,75,False +abc,9090,9090,9090,1994-11-21,909.0000000001381,908.9251,2015-01-01 02:31:30,bin9090,35,False +abc,9091,9091,9091,1994-11-22,909.1000000001382,909.0251,2015-01-01 02:31:31,bin9091,75,False +abc,9092,9092,9092,1994-11-23,909.2000000001382,909.12506,2015-01-01 02:31:32,bin9092,35,False +abc,9093,9093,9093,1994-11-24,909.3000000001382,909.22504,2015-01-01 02:31:33,bin9093,75,False +abc,9094,9094,9094,1994-11-25,909.4000000001382,909.325,2015-01-01 02:31:34,bin9094,35,False +abc,9095,9095,9095,1994-11-26,909.5000000001382,909.425,2015-01-01 02:31:35,bin9095,75,False +abc,9096,9096,9096,1994-11-27,909.6000000001383,909.52496,2015-01-01 02:31:36,bin9096,35,False +abc,9097,9097,9097,1994-11-28,909.7000000001383,909.62494,2015-01-01 02:31:37,bin9097,75,False +abc,9098,9098,9098,1994-11-29,909.8000000001383,909.7249,2015-01-01 02:31:38,bin9098,35,False +abc,9099,9099,9099,1994-11-30,909.9000000001383,909.8249,2015-01-01 02:31:39,bin9099,75,False +abc,9100,9100,9100,1994-12-01,910.0000000001384,909.92487,2015-01-01 02:31:40,bin9100,35,False +abc,9101,9101,9101,1994-12-02,910.1000000001384,910.02484,2015-01-01 02:31:41,bin9101,75,False +abc,9102,9102,9102,1994-12-03,910.2000000001384,910.1248,2015-01-01 02:31:42,bin9102,35,False +abc,9103,9103,9103,1994-12-04,910.3000000001384,910.2248,2015-01-01 02:31:43,bin9103,75,False +abc,9104,9104,9104,1994-12-05,910.4000000001384,910.32477,2015-01-01 02:31:44,bin9104,35,False +abc,9105,9105,9105,1994-12-06,910.5000000001385,910.42474,2015-01-01 02:31:45,bin9105,75,False +abc,9106,9106,9106,1994-12-07,910.6000000001385,910.5247,2015-01-01 02:31:46,bin9106,35,False +abc,9107,9107,9107,1994-12-08,910.7000000001385,910.6247,2015-01-01 02:31:47,bin9107,75,False +abc,9108,9108,9108,1994-12-09,910.8000000001385,910.7247,2015-01-01 02:31:48,bin9108,35,False +abc,9109,9109,9109,1994-12-10,910.9000000001386,910.82465,2015-01-01 02:31:49,bin9109,75,False +abc,9110,9110,9110,1994-12-11,911.0000000001386,910.9246,2015-01-01 02:31:50,bin9110,35,False +abc,9111,9111,9111,1994-12-12,911.1000000001386,911.0246,2015-01-01 02:31:51,bin9111,75,False +abc,9112,9112,9112,1994-12-13,911.2000000001386,911.1246,2015-01-01 02:31:52,bin9112,35,False +abc,9113,9113,9113,1994-12-14,911.3000000001387,911.22455,2015-01-01 02:31:53,bin9113,75,False +abc,9114,9114,9114,1994-12-15,911.4000000001387,911.3245,2015-01-01 02:31:54,bin9114,35,False +abc,9115,9115,9115,1994-12-16,911.5000000001387,911.4245,2015-01-01 02:31:55,bin9115,75,False +abc,9116,9116,9116,1994-12-17,911.6000000001387,911.5245,2015-01-01 02:31:56,bin9116,35,False +abc,9117,9117,9117,1994-12-18,911.7000000001387,911.62445,2015-01-01 02:31:57,bin9117,75,False +abc,9118,9118,9118,1994-12-19,911.8000000001388,911.7244,2015-01-01 02:31:58,bin9118,35,False +abc,9119,9119,9119,1994-12-20,911.9000000001388,911.8244,2015-01-01 02:31:59,bin9119,75,False +abc,9120,9120,9120,1994-12-21,912.0000000001388,911.9244,2015-01-01 02:32:00,bin9120,35,False +abc,9121,9121,9121,1994-12-22,912.1000000001388,912.02435,2015-01-01 02:32:01,bin9121,75,False +abc,9122,9122,9122,1994-12-23,912.2000000001389,912.1243,2015-01-01 02:32:02,bin9122,35,False +abc,9123,9123,9123,1994-12-24,912.3000000001389,912.2243,2015-01-01 02:32:03,bin9123,75,False +abc,9124,9124,9124,1994-12-25,912.4000000001389,912.3243,2015-01-01 02:32:04,bin9124,35,False +abc,9125,9125,9125,1994-12-26,912.5000000001389,912.42426,2015-01-01 02:32:05,bin9125,75,False +abc,9126,9126,9126,1994-12-27,912.600000000139,912.52423,2015-01-01 02:32:06,bin9126,35,False +abc,9127,9127,9127,1994-12-28,912.700000000139,912.6242,2015-01-01 02:32:07,bin9127,75,False +abc,9128,9128,9128,1994-12-29,912.800000000139,912.7242,2015-01-01 02:32:08,bin9128,35,False +abc,9129,9129,9129,1994-12-30,912.900000000139,912.82416,2015-01-01 02:32:09,bin9129,75,False +abc,9130,9130,9130,1994-12-31,913.000000000139,912.92413,2015-01-01 02:32:10,bin9130,35,False +abc,9131,9131,9131,1995-01-01,913.1000000001391,913.0241,2015-01-01 02:32:11,bin9131,75,False +abc,9132,9132,9132,1995-01-02,913.2000000001391,913.1241,2015-01-01 02:32:12,bin9132,35,False +abc,9133,9133,9133,1995-01-03,913.3000000001391,913.22406,2015-01-01 02:32:13,bin9133,75,False +abc,9134,9134,9134,1995-01-04,913.4000000001391,913.32404,2015-01-01 02:32:14,bin9134,35,False +abc,9135,9135,9135,1995-01-05,913.5000000001392,913.424,2015-01-01 02:32:15,bin9135,75,False +abc,9136,9136,9136,1995-01-06,913.6000000001392,913.524,2015-01-01 02:32:16,bin9136,35,False +abc,9137,9137,9137,1995-01-07,913.7000000001392,913.62396,2015-01-01 02:32:17,bin9137,75,False +abc,9138,9138,9138,1995-01-08,913.8000000001392,913.72394,2015-01-01 02:32:18,bin9138,35,False +abc,9139,9139,9139,1995-01-09,913.9000000001392,913.8239,2015-01-01 02:32:19,bin9139,75,False +abc,9140,9140,9140,1995-01-10,914.0000000001393,913.9239,2015-01-01 02:32:20,bin9140,35,False +abc,9141,9141,9141,1995-01-11,914.1000000001393,914.02386,2015-01-01 02:32:21,bin9141,75,False +abc,9142,9142,9142,1995-01-12,914.2000000001393,914.12384,2015-01-01 02:32:22,bin9142,35,False +abc,9143,9143,9143,1995-01-13,914.3000000001393,914.2238,2015-01-01 02:32:23,bin9143,75,False +abc,9144,9144,9144,1995-01-14,914.4000000001394,914.3238,2015-01-01 02:32:24,bin9144,35,False +abc,9145,9145,9145,1995-01-15,914.5000000001394,914.42377,2015-01-01 02:32:25,bin9145,75,False +abc,9146,9146,9146,1995-01-16,914.6000000001394,914.52374,2015-01-01 02:32:26,bin9146,35,False +abc,9147,9147,9147,1995-01-17,914.7000000001394,914.6237,2015-01-01 02:32:27,bin9147,75,False +abc,9148,9148,9148,1995-01-18,914.8000000001394,914.7237,2015-01-01 02:32:28,bin9148,35,False +abc,9149,9149,9149,1995-01-19,914.9000000001395,914.82367,2015-01-01 02:32:29,bin9149,75,False +abc,9150,9150,9150,1995-01-20,915.0000000001395,914.92365,2015-01-01 02:32:30,bin9150,35,False +abc,9151,9151,9151,1995-01-21,915.1000000001395,915.0236,2015-01-01 02:32:31,bin9151,75,False +abc,9152,9152,9152,1995-01-22,915.2000000001395,915.1236,2015-01-01 02:32:32,bin9152,35,False +abc,9153,9153,9153,1995-01-23,915.3000000001396,915.2236,2015-01-01 02:32:33,bin9153,75,False +abc,9154,9154,9154,1995-01-24,915.4000000001396,915.32355,2015-01-01 02:32:34,bin9154,35,False +abc,9155,9155,9155,1995-01-25,915.5000000001396,915.4235,2015-01-01 02:32:35,bin9155,75,False +abc,9156,9156,9156,1995-01-26,915.6000000001396,915.5235,2015-01-01 02:32:36,bin9156,35,False +abc,9157,9157,9157,1995-01-27,915.7000000001397,915.6235,2015-01-01 02:32:37,bin9157,75,False +abc,9158,9158,9158,1995-01-28,915.8000000001397,915.72345,2015-01-01 02:32:38,bin9158,35,False +abc,9159,9159,9159,1995-01-29,915.9000000001397,915.8234,2015-01-01 02:32:39,bin9159,75,False +abc,9160,9160,9160,1995-01-30,916.0000000001397,915.9234,2015-01-01 02:32:40,bin9160,35,False +abc,9161,9161,9161,1995-01-31,916.1000000001397,916.0234,2015-01-01 02:32:41,bin9161,75,False +abc,9162,9162,9162,1995-02-01,916.2000000001398,916.12335,2015-01-01 02:32:42,bin9162,35,False +abc,9163,9163,9163,1995-02-02,916.3000000001398,916.2233,2015-01-01 02:32:43,bin9163,75,False +abc,9164,9164,9164,1995-02-03,916.4000000001398,916.3233,2015-01-01 02:32:44,bin9164,35,False +abc,9165,9165,9165,1995-02-04,916.5000000001398,916.4233,2015-01-01 02:32:45,bin9165,75,False +abc,9166,9166,9166,1995-02-05,916.6000000001399,916.52325,2015-01-01 02:32:46,bin9166,35,False +abc,9167,9167,9167,1995-02-06,916.7000000001399,916.6232,2015-01-01 02:32:47,bin9167,75,False +abc,9168,9168,9168,1995-02-07,916.8000000001399,916.7232,2015-01-01 02:32:48,bin9168,35,False +abc,9169,9169,9169,1995-02-08,916.9000000001399,916.8232,2015-01-01 02:32:49,bin9169,75,False +abc,9170,9170,9170,1995-02-09,917.00000000014,916.92316,2015-01-01 02:32:50,bin9170,35,False +abc,9171,9171,9171,1995-02-10,917.10000000014,917.02313,2015-01-01 02:32:51,bin9171,75,False +abc,9172,9172,9172,1995-02-11,917.20000000014,917.1231,2015-01-01 02:32:52,bin9172,35,False +abc,9173,9173,9173,1995-02-12,917.30000000014,917.2231,2015-01-01 02:32:53,bin9173,75,False +abc,9174,9174,9174,1995-02-13,917.40000000014,917.32306,2015-01-01 02:32:54,bin9174,35,False +abc,9175,9175,9175,1995-02-14,917.5000000001401,917.42303,2015-01-01 02:32:55,bin9175,75,False +abc,9176,9176,9176,1995-02-15,917.6000000001401,917.523,2015-01-01 02:32:56,bin9176,35,False +abc,9177,9177,9177,1995-02-16,917.7000000001401,917.623,2015-01-01 02:32:57,bin9177,75,False +abc,9178,9178,9178,1995-02-17,917.8000000001401,917.72296,2015-01-01 02:32:58,bin9178,35,False +abc,9179,9179,9179,1995-02-18,917.9000000001402,917.82294,2015-01-01 02:32:59,bin9179,75,False +abc,9180,9180,9180,1995-02-19,918.0000000001402,917.9229,2015-01-01 02:33:00,bin9180,35,False +abc,9181,9181,9181,1995-02-20,918.1000000001402,918.0229,2015-01-01 02:33:01,bin9181,75,False +abc,9182,9182,9182,1995-02-21,918.2000000001402,918.12286,2015-01-01 02:33:02,bin9182,35,False +abc,9183,9183,9183,1995-02-22,918.3000000001402,918.22284,2015-01-01 02:33:03,bin9183,75,False +abc,9184,9184,9184,1995-02-23,918.4000000001403,918.3228,2015-01-01 02:33:04,bin9184,35,False +abc,9185,9185,9185,1995-02-24,918.5000000001403,918.4228,2015-01-01 02:33:05,bin9185,75,False +abc,9186,9186,9186,1995-02-25,918.6000000001403,918.52277,2015-01-01 02:33:06,bin9186,35,False +abc,9187,9187,9187,1995-02-26,918.7000000001403,918.62274,2015-01-01 02:33:07,bin9187,75,False +abc,9188,9188,9188,1995-02-27,918.8000000001404,918.7227,2015-01-01 02:33:08,bin9188,35,False +abc,9189,9189,9189,1995-02-28,918.9000000001404,918.8227,2015-01-01 02:33:09,bin9189,75,False +abc,9190,9190,9190,1995-03-01,919.0000000001404,918.92267,2015-01-01 02:33:10,bin9190,35,False +abc,9191,9191,9191,1995-03-02,919.1000000001404,919.02264,2015-01-01 02:33:11,bin9191,75,False +abc,9192,9192,9192,1995-03-03,919.2000000001404,919.1226,2015-01-01 02:33:12,bin9192,35,False +abc,9193,9193,9193,1995-03-04,919.3000000001405,919.2226,2015-01-01 02:33:13,bin9193,75,False +abc,9194,9194,9194,1995-03-05,919.4000000001405,919.3226,2015-01-01 02:33:14,bin9194,35,False +abc,9195,9195,9195,1995-03-06,919.5000000001405,919.42255,2015-01-01 02:33:15,bin9195,75,False +abc,9196,9196,9196,1995-03-07,919.6000000001405,919.5225,2015-01-01 02:33:16,bin9196,35,False +abc,9197,9197,9197,1995-03-08,919.7000000001406,919.6225,2015-01-01 02:33:17,bin9197,75,False +abc,9198,9198,9198,1995-03-09,919.8000000001406,919.7225,2015-01-01 02:33:18,bin9198,35,False +abc,9199,9199,9199,1995-03-10,919.9000000001406,919.82245,2015-01-01 02:33:19,bin9199,75,False +abc,9200,9200,9200,1995-03-11,920.0000000001406,919.9224,2015-01-01 02:33:20,bin9200,35,False +abc,9201,9201,9201,1995-03-12,920.1000000001407,920.0224,2015-01-01 02:33:21,bin9201,75,False +abc,9202,9202,9202,1995-03-13,920.2000000001407,920.1224,2015-01-01 02:33:22,bin9202,35,False +abc,9203,9203,9203,1995-03-14,920.3000000001407,920.22235,2015-01-01 02:33:23,bin9203,75,False +abc,9204,9204,9204,1995-03-15,920.4000000001407,920.3223,2015-01-01 02:33:24,bin9204,35,False +abc,9205,9205,9205,1995-03-16,920.5000000001407,920.4223,2015-01-01 02:33:25,bin9205,75,False +abc,9206,9206,9206,1995-03-17,920.6000000001408,920.5223,2015-01-01 02:33:26,bin9206,35,False +abc,9207,9207,9207,1995-03-18,920.7000000001408,920.62225,2015-01-01 02:33:27,bin9207,75,False +abc,9208,9208,9208,1995-03-19,920.8000000001408,920.7222,2015-01-01 02:33:28,bin9208,35,False +abc,9209,9209,9209,1995-03-20,920.9000000001408,920.8222,2015-01-01 02:33:29,bin9209,75,False +abc,9210,9210,9210,1995-03-21,921.0000000001409,920.9222,2015-01-01 02:33:30,bin9210,35,False +abc,9211,9211,9211,1995-03-22,921.1000000001409,921.02216,2015-01-01 02:33:31,bin9211,75,False +abc,9212,9212,9212,1995-03-23,921.2000000001409,921.12213,2015-01-01 02:33:32,bin9212,35,False +abc,9213,9213,9213,1995-03-24,921.3000000001409,921.2221,2015-01-01 02:33:33,bin9213,75,False +abc,9214,9214,9214,1995-03-25,921.400000000141,921.3221,2015-01-01 02:33:34,bin9214,35,False +abc,9215,9215,9215,1995-03-26,921.500000000141,921.42206,2015-01-01 02:33:35,bin9215,75,False +abc,9216,9216,9216,1995-03-27,921.600000000141,921.52203,2015-01-01 02:33:36,bin9216,35,False +abc,9217,9217,9217,1995-03-28,921.700000000141,921.622,2015-01-01 02:33:37,bin9217,75,False +abc,9218,9218,9218,1995-03-29,921.800000000141,921.722,2015-01-01 02:33:38,bin9218,35,False +abc,9219,9219,9219,1995-03-30,921.9000000001411,921.82196,2015-01-01 02:33:39,bin9219,75,False +abc,9220,9220,9220,1995-03-31,922.0000000001411,921.92194,2015-01-01 02:33:40,bin9220,35,False +abc,9221,9221,9221,1995-04-01,922.1000000001411,922.0219,2015-01-01 02:33:41,bin9221,75,False +abc,9222,9222,9222,1995-04-02,922.2000000001411,922.1219,2015-01-01 02:33:42,bin9222,35,False +abc,9223,9223,9223,1995-04-03,922.3000000001412,922.22186,2015-01-01 02:33:43,bin9223,75,False +abc,9224,9224,9224,1995-04-04,922.4000000001412,922.32184,2015-01-01 02:33:44,bin9224,35,False +abc,9225,9225,9225,1995-04-05,922.5000000001412,922.4218,2015-01-01 02:33:45,bin9225,75,False +abc,9226,9226,9226,1995-04-06,922.6000000001412,922.5218,2015-01-01 02:33:46,bin9226,35,False +abc,9227,9227,9227,1995-04-07,922.7000000001412,922.62177,2015-01-01 02:33:47,bin9227,75,False +abc,9228,9228,9228,1995-04-08,922.8000000001413,922.72174,2015-01-01 02:33:48,bin9228,35,False +abc,9229,9229,9229,1995-04-09,922.9000000001413,922.8217,2015-01-01 02:33:49,bin9229,75,False +abc,9230,9230,9230,1995-04-10,923.0000000001413,922.9217,2015-01-01 02:33:50,bin9230,35,False +abc,9231,9231,9231,1995-04-11,923.1000000001413,923.02167,2015-01-01 02:33:51,bin9231,75,False +abc,9232,9232,9232,1995-04-12,923.2000000001414,923.12164,2015-01-01 02:33:52,bin9232,35,False +abc,9233,9233,9233,1995-04-13,923.3000000001414,923.2216,2015-01-01 02:33:53,bin9233,75,False +abc,9234,9234,9234,1995-04-14,923.4000000001414,923.3216,2015-01-01 02:33:54,bin9234,35,False +abc,9235,9235,9235,1995-04-15,923.5000000001414,923.4216,2015-01-01 02:33:55,bin9235,75,False +abc,9236,9236,9236,1995-04-16,923.6000000001414,923.52155,2015-01-01 02:33:56,bin9236,35,False +abc,9237,9237,9237,1995-04-17,923.7000000001415,923.6215,2015-01-01 02:33:57,bin9237,75,False +abc,9238,9238,9238,1995-04-18,923.8000000001415,923.7215,2015-01-01 02:33:58,bin9238,35,False +abc,9239,9239,9239,1995-04-19,923.9000000001415,923.8215,2015-01-01 02:33:59,bin9239,75,False +abc,9240,9240,9240,1995-04-20,924.0000000001415,923.92145,2015-01-01 02:34:00,bin9240,35,False +abc,9241,9241,9241,1995-04-21,924.1000000001416,924.0214,2015-01-01 02:34:01,bin9241,75,False +abc,9242,9242,9242,1995-04-22,924.2000000001416,924.1214,2015-01-01 02:34:02,bin9242,35,False +abc,9243,9243,9243,1995-04-23,924.3000000001416,924.2214,2015-01-01 02:34:03,bin9243,75,False +abc,9244,9244,9244,1995-04-24,924.4000000001416,924.32135,2015-01-01 02:34:04,bin9244,35,False +abc,9245,9245,9245,1995-04-25,924.5000000001417,924.4213,2015-01-01 02:34:05,bin9245,75,False +abc,9246,9246,9246,1995-04-26,924.6000000001417,924.5213,2015-01-01 02:34:06,bin9246,35,False +abc,9247,9247,9247,1995-04-27,924.7000000001417,924.6213,2015-01-01 02:34:07,bin9247,75,False +abc,9248,9248,9248,1995-04-28,924.8000000001417,924.72125,2015-01-01 02:34:08,bin9248,35,False +abc,9249,9249,9249,1995-04-29,924.9000000001417,924.8212,2015-01-01 02:34:09,bin9249,75,False +abc,9250,9250,9250,1995-04-30,925.0000000001418,924.9212,2015-01-01 02:34:10,bin9250,35,False +abc,9251,9251,9251,1995-05-01,925.1000000001418,925.0212,2015-01-01 02:34:11,bin9251,75,False +abc,9252,9252,9252,1995-05-02,925.2000000001418,925.12115,2015-01-01 02:34:12,bin9252,35,False +abc,9253,9253,9253,1995-05-03,925.3000000001418,925.2211,2015-01-01 02:34:13,bin9253,75,False +abc,9254,9254,9254,1995-05-04,925.4000000001419,925.3211,2015-01-01 02:34:14,bin9254,35,False +abc,9255,9255,9255,1995-05-05,925.5000000001419,925.4211,2015-01-01 02:34:15,bin9255,75,False +abc,9256,9256,9256,1995-05-06,925.6000000001419,925.52106,2015-01-01 02:34:16,bin9256,35,False +abc,9257,9257,9257,1995-05-07,925.7000000001419,925.62103,2015-01-01 02:34:17,bin9257,75,False +abc,9258,9258,9258,1995-05-08,925.800000000142,925.721,2015-01-01 02:34:18,bin9258,35,False +abc,9259,9259,9259,1995-05-09,925.900000000142,925.821,2015-01-01 02:34:19,bin9259,75,False +abc,9260,9260,9260,1995-05-10,926.000000000142,925.92096,2015-01-01 02:34:20,bin9260,35,False +abc,9261,9261,9261,1995-05-11,926.100000000142,926.02094,2015-01-01 02:34:21,bin9261,75,False +abc,9262,9262,9262,1995-05-12,926.200000000142,926.1209,2015-01-01 02:34:22,bin9262,35,False +abc,9263,9263,9263,1995-05-13,926.3000000001421,926.2209,2015-01-01 02:34:23,bin9263,75,False +abc,9264,9264,9264,1995-05-14,926.4000000001421,926.32086,2015-01-01 02:34:24,bin9264,35,False +abc,9265,9265,9265,1995-05-15,926.5000000001421,926.42084,2015-01-01 02:34:25,bin9265,75,False +abc,9266,9266,9266,1995-05-16,926.6000000001421,926.5208,2015-01-01 02:34:26,bin9266,35,False +abc,9267,9267,9267,1995-05-17,926.7000000001422,926.6208,2015-01-01 02:34:27,bin9267,75,False +abc,9268,9268,9268,1995-05-18,926.8000000001422,926.72076,2015-01-01 02:34:28,bin9268,35,False +abc,9269,9269,9269,1995-05-19,926.9000000001422,926.82074,2015-01-01 02:34:29,bin9269,75,False +abc,9270,9270,9270,1995-05-20,927.0000000001422,926.9207,2015-01-01 02:34:30,bin9270,35,False +abc,9271,9271,9271,1995-05-21,927.1000000001422,927.0207,2015-01-01 02:34:31,bin9271,75,False +abc,9272,9272,9272,1995-05-22,927.2000000001423,927.12067,2015-01-01 02:34:32,bin9272,35,False +abc,9273,9273,9273,1995-05-23,927.3000000001423,927.22064,2015-01-01 02:34:33,bin9273,75,False +abc,9274,9274,9274,1995-05-24,927.4000000001423,927.3206,2015-01-01 02:34:34,bin9274,35,False +abc,9275,9275,9275,1995-05-25,927.5000000001423,927.4206,2015-01-01 02:34:35,bin9275,75,False +abc,9276,9276,9276,1995-05-26,927.6000000001424,927.52057,2015-01-01 02:34:36,bin9276,35,False +abc,9277,9277,9277,1995-05-27,927.7000000001424,927.62054,2015-01-01 02:34:37,bin9277,75,False +abc,9278,9278,9278,1995-05-28,927.8000000001424,927.7205,2015-01-01 02:34:38,bin9278,35,False +abc,9279,9279,9279,1995-05-29,927.9000000001424,927.8205,2015-01-01 02:34:39,bin9279,75,False +abc,9280,9280,9280,1995-05-30,928.0000000001424,927.9205,2015-01-01 02:34:40,bin9280,35,False +abc,9281,9281,9281,1995-05-31,928.1000000001425,928.02045,2015-01-01 02:34:41,bin9281,75,False +abc,9282,9282,9282,1995-06-01,928.2000000001425,928.1204,2015-01-01 02:34:42,bin9282,35,False +abc,9283,9283,9283,1995-06-02,928.3000000001425,928.2204,2015-01-01 02:34:43,bin9283,75,False +abc,9284,9284,9284,1995-06-03,928.4000000001425,928.3204,2015-01-01 02:34:44,bin9284,35,False +abc,9285,9285,9285,1995-06-04,928.5000000001426,928.42035,2015-01-01 02:34:45,bin9285,75,False +abc,9286,9286,9286,1995-06-05,928.6000000001426,928.5203,2015-01-01 02:34:46,bin9286,35,False +abc,9287,9287,9287,1995-06-06,928.7000000001426,928.6203,2015-01-01 02:34:47,bin9287,75,False +abc,9288,9288,9288,1995-06-07,928.8000000001426,928.7203,2015-01-01 02:34:48,bin9288,35,False +abc,9289,9289,9289,1995-06-08,928.9000000001427,928.82025,2015-01-01 02:34:49,bin9289,75,False +abc,9290,9290,9290,1995-06-09,929.0000000001427,928.9202,2015-01-01 02:34:50,bin9290,35,False +abc,9291,9291,9291,1995-06-10,929.1000000001427,929.0202,2015-01-01 02:34:51,bin9291,75,False +abc,9292,9292,9292,1995-06-11,929.2000000001427,929.1202,2015-01-01 02:34:52,bin9292,35,False +abc,9293,9293,9293,1995-06-12,929.3000000001427,929.22015,2015-01-01 02:34:53,bin9293,75,False +abc,9294,9294,9294,1995-06-13,929.4000000001428,929.3201,2015-01-01 02:34:54,bin9294,35,False +abc,9295,9295,9295,1995-06-14,929.5000000001428,929.4201,2015-01-01 02:34:55,bin9295,75,False +abc,9296,9296,9296,1995-06-15,929.6000000001428,929.5201,2015-01-01 02:34:56,bin9296,35,False +abc,9297,9297,9297,1995-06-16,929.7000000001428,929.62006,2015-01-01 02:34:57,bin9297,75,False +abc,9298,9298,9298,1995-06-17,929.8000000001429,929.72003,2015-01-01 02:34:58,bin9298,35,False +abc,9299,9299,9299,1995-06-18,929.9000000001429,929.82,2015-01-01 02:34:59,bin9299,75,False +abc,9300,9300,9300,1995-06-19,930.0000000001429,929.92,2015-01-01 02:35:00,bin9300,35,False +abc,9301,9301,9301,1995-06-20,930.1000000001429,930.01996,2015-01-01 02:35:01,bin9301,75,False +abc,9302,9302,9302,1995-06-21,930.200000000143,930.11993,2015-01-01 02:35:02,bin9302,35,False +abc,9303,9303,9303,1995-06-22,930.300000000143,930.2199,2015-01-01 02:35:03,bin9303,75,False +abc,9304,9304,9304,1995-06-23,930.400000000143,930.3199,2015-01-01 02:35:04,bin9304,35,False +abc,9305,9305,9305,1995-06-24,930.500000000143,930.41986,2015-01-01 02:35:05,bin9305,75,False +abc,9306,9306,9306,1995-06-25,930.600000000143,930.51984,2015-01-01 02:35:06,bin9306,35,False +abc,9307,9307,9307,1995-06-26,930.7000000001431,930.6198,2015-01-01 02:35:07,bin9307,75,False +abc,9308,9308,9308,1995-06-27,930.8000000001431,930.7198,2015-01-01 02:35:08,bin9308,35,False +abc,9309,9309,9309,1995-06-28,930.9000000001431,930.81976,2015-01-01 02:35:09,bin9309,75,False +abc,9310,9310,9310,1995-06-29,931.0000000001431,930.91974,2015-01-01 02:35:10,bin9310,35,False +abc,9311,9311,9311,1995-06-30,931.1000000001432,931.0197,2015-01-01 02:35:11,bin9311,75,False +abc,9312,9312,9312,1995-07-01,931.2000000001432,931.1197,2015-01-01 02:35:12,bin9312,35,False +abc,9313,9313,9313,1995-07-02,931.3000000001432,931.21967,2015-01-01 02:35:13,bin9313,75,False +abc,9314,9314,9314,1995-07-03,931.4000000001432,931.31964,2015-01-01 02:35:14,bin9314,35,False +abc,9315,9315,9315,1995-07-04,931.5000000001432,931.4196,2015-01-01 02:35:15,bin9315,75,False +abc,9316,9316,9316,1995-07-05,931.6000000001433,931.5196,2015-01-01 02:35:16,bin9316,35,False +abc,9317,9317,9317,1995-07-06,931.7000000001433,931.61957,2015-01-01 02:35:17,bin9317,75,False +abc,9318,9318,9318,1995-07-07,931.8000000001433,931.71954,2015-01-01 02:35:18,bin9318,35,False +abc,9319,9319,9319,1995-07-08,931.9000000001433,931.8195,2015-01-01 02:35:19,bin9319,75,False +abc,9320,9320,9320,1995-07-09,932.0000000001434,931.9195,2015-01-01 02:35:20,bin9320,35,False +abc,9321,9321,9321,1995-07-10,932.1000000001434,932.0195,2015-01-01 02:35:21,bin9321,75,False +abc,9322,9322,9322,1995-07-11,932.2000000001434,932.11945,2015-01-01 02:35:22,bin9322,35,False +abc,9323,9323,9323,1995-07-12,932.3000000001434,932.2194,2015-01-01 02:35:23,bin9323,75,False +abc,9324,9324,9324,1995-07-13,932.4000000001435,932.3194,2015-01-01 02:35:24,bin9324,35,False +abc,9325,9325,9325,1995-07-14,932.5000000001435,932.4194,2015-01-01 02:35:25,bin9325,75,False +abc,9326,9326,9326,1995-07-15,932.6000000001435,932.51935,2015-01-01 02:35:26,bin9326,35,False +abc,9327,9327,9327,1995-07-16,932.7000000001435,932.6193,2015-01-01 02:35:27,bin9327,75,False +abc,9328,9328,9328,1995-07-17,932.8000000001435,932.7193,2015-01-01 02:35:28,bin9328,35,False +abc,9329,9329,9329,1995-07-18,932.9000000001436,932.8193,2015-01-01 02:35:29,bin9329,75,False +abc,9330,9330,9330,1995-07-19,933.0000000001436,932.91925,2015-01-01 02:35:30,bin9330,35,False +abc,9331,9331,9331,1995-07-20,933.1000000001436,933.0192,2015-01-01 02:35:31,bin9331,75,False +abc,9332,9332,9332,1995-07-21,933.2000000001436,933.1192,2015-01-01 02:35:32,bin9332,35,False +abc,9333,9333,9333,1995-07-22,933.3000000001437,933.2192,2015-01-01 02:35:33,bin9333,75,False +abc,9334,9334,9334,1995-07-23,933.4000000001437,933.31915,2015-01-01 02:35:34,bin9334,35,False +abc,9335,9335,9335,1995-07-24,933.5000000001437,933.4191,2015-01-01 02:35:35,bin9335,75,False +abc,9336,9336,9336,1995-07-25,933.6000000001437,933.5191,2015-01-01 02:35:36,bin9336,35,False +abc,9337,9337,9337,1995-07-26,933.7000000001437,933.6191,2015-01-01 02:35:37,bin9337,75,False +abc,9338,9338,9338,1995-07-27,933.8000000001438,933.71906,2015-01-01 02:35:38,bin9338,35,False +abc,9339,9339,9339,1995-07-28,933.9000000001438,933.81903,2015-01-01 02:35:39,bin9339,75,False +abc,9340,9340,9340,1995-07-29,934.0000000001438,933.919,2015-01-01 02:35:40,bin9340,35,False +abc,9341,9341,9341,1995-07-30,934.1000000001438,934.019,2015-01-01 02:35:41,bin9341,75,False +abc,9342,9342,9342,1995-07-31,934.2000000001439,934.11896,2015-01-01 02:35:42,bin9342,35,False +abc,9343,9343,9343,1995-08-01,934.3000000001439,934.21893,2015-01-01 02:35:43,bin9343,75,False +abc,9344,9344,9344,1995-08-02,934.4000000001439,934.3189,2015-01-01 02:35:44,bin9344,35,False +abc,9345,9345,9345,1995-08-03,934.5000000001439,934.4189,2015-01-01 02:35:45,bin9345,75,False +abc,9346,9346,9346,1995-08-04,934.600000000144,934.51886,2015-01-01 02:35:46,bin9346,35,False +abc,9347,9347,9347,1995-08-05,934.700000000144,934.61884,2015-01-01 02:35:47,bin9347,75,False +abc,9348,9348,9348,1995-08-06,934.800000000144,934.7188,2015-01-01 02:35:48,bin9348,35,False +abc,9349,9349,9349,1995-08-07,934.900000000144,934.8188,2015-01-01 02:35:49,bin9349,75,False +abc,9350,9350,9350,1995-08-08,935.000000000144,934.91876,2015-01-01 02:35:50,bin9350,35,False +abc,9351,9351,9351,1995-08-09,935.1000000001441,935.01874,2015-01-01 02:35:51,bin9351,75,False +abc,9352,9352,9352,1995-08-10,935.2000000001441,935.1187,2015-01-01 02:35:52,bin9352,35,False +abc,9353,9353,9353,1995-08-11,935.3000000001441,935.2187,2015-01-01 02:35:53,bin9353,75,False +abc,9354,9354,9354,1995-08-12,935.4000000001441,935.31866,2015-01-01 02:35:54,bin9354,35,False +abc,9355,9355,9355,1995-08-13,935.5000000001442,935.41864,2015-01-01 02:35:55,bin9355,75,False +abc,9356,9356,9356,1995-08-14,935.6000000001442,935.5186,2015-01-01 02:35:56,bin9356,35,False +abc,9357,9357,9357,1995-08-15,935.7000000001442,935.6186,2015-01-01 02:35:57,bin9357,75,False +abc,9358,9358,9358,1995-08-16,935.8000000001442,935.71857,2015-01-01 02:35:58,bin9358,35,False +abc,9359,9359,9359,1995-08-17,935.9000000001442,935.81854,2015-01-01 02:35:59,bin9359,75,False +abc,9360,9360,9360,1995-08-18,936.0000000001443,935.9185,2015-01-01 02:36:00,bin9360,35,False +abc,9361,9361,9361,1995-08-19,936.1000000001443,936.0185,2015-01-01 02:36:01,bin9361,75,False +abc,9362,9362,9362,1995-08-20,936.2000000001443,936.11847,2015-01-01 02:36:02,bin9362,35,False +abc,9363,9363,9363,1995-08-21,936.3000000001443,936.21844,2015-01-01 02:36:03,bin9363,75,False +abc,9364,9364,9364,1995-08-22,936.4000000001444,936.3184,2015-01-01 02:36:04,bin9364,35,False +abc,9365,9365,9365,1995-08-23,936.5000000001444,936.4184,2015-01-01 02:36:05,bin9365,75,False +abc,9366,9366,9366,1995-08-24,936.6000000001444,936.5184,2015-01-01 02:36:06,bin9366,35,False +abc,9367,9367,9367,1995-08-25,936.7000000001444,936.61835,2015-01-01 02:36:07,bin9367,75,False +abc,9368,9368,9368,1995-08-26,936.8000000001445,936.7183,2015-01-01 02:36:08,bin9368,35,False +abc,9369,9369,9369,1995-08-27,936.9000000001445,936.8183,2015-01-01 02:36:09,bin9369,75,False +abc,9370,9370,9370,1995-08-28,937.0000000001445,936.9183,2015-01-01 02:36:10,bin9370,35,False +abc,9371,9371,9371,1995-08-29,937.1000000001445,937.01825,2015-01-01 02:36:11,bin9371,75,False +abc,9372,9372,9372,1995-08-30,937.2000000001445,937.1182,2015-01-01 02:36:12,bin9372,35,False +abc,9373,9373,9373,1995-08-31,937.3000000001446,937.2182,2015-01-01 02:36:13,bin9373,75,False +abc,9374,9374,9374,1995-09-01,937.4000000001446,937.3182,2015-01-01 02:36:14,bin9374,35,False +abc,9375,9375,9375,1995-09-02,937.5000000001446,937.41815,2015-01-01 02:36:15,bin9375,75,False +abc,9376,9376,9376,1995-09-03,937.6000000001446,937.5181,2015-01-01 02:36:16,bin9376,35,False +abc,9377,9377,9377,1995-09-04,937.7000000001447,937.6181,2015-01-01 02:36:17,bin9377,75,False +abc,9378,9378,9378,1995-09-05,937.8000000001447,937.7181,2015-01-01 02:36:18,bin9378,35,False +abc,9379,9379,9379,1995-09-06,937.9000000001447,937.81805,2015-01-01 02:36:19,bin9379,75,False +abc,9380,9380,9380,1995-09-07,938.0000000001447,937.918,2015-01-01 02:36:20,bin9380,35,False +abc,9381,9381,9381,1995-09-08,938.1000000001447,938.018,2015-01-01 02:36:21,bin9381,75,False +abc,9382,9382,9382,1995-09-09,938.2000000001448,938.118,2015-01-01 02:36:22,bin9382,35,False +abc,9383,9383,9383,1995-09-10,938.3000000001448,938.21796,2015-01-01 02:36:23,bin9383,75,False +abc,9384,9384,9384,1995-09-11,938.4000000001448,938.31793,2015-01-01 02:36:24,bin9384,35,False +abc,9385,9385,9385,1995-09-12,938.5000000001448,938.4179,2015-01-01 02:36:25,bin9385,75,False +abc,9386,9386,9386,1995-09-13,938.6000000001449,938.5179,2015-01-01 02:36:26,bin9386,35,False +abc,9387,9387,9387,1995-09-14,938.7000000001449,938.61786,2015-01-01 02:36:27,bin9387,75,False +abc,9388,9388,9388,1995-09-15,938.8000000001449,938.71783,2015-01-01 02:36:28,bin9388,35,False +abc,9389,9389,9389,1995-09-16,938.9000000001449,938.8178,2015-01-01 02:36:29,bin9389,75,False +abc,9390,9390,9390,1995-09-17,939.000000000145,938.9178,2015-01-01 02:36:30,bin9390,35,False +abc,9391,9391,9391,1995-09-18,939.100000000145,939.01776,2015-01-01 02:36:31,bin9391,75,False +abc,9392,9392,9392,1995-09-19,939.200000000145,939.11774,2015-01-01 02:36:32,bin9392,35,False +abc,9393,9393,9393,1995-09-20,939.300000000145,939.2177,2015-01-01 02:36:33,bin9393,75,False +abc,9394,9394,9394,1995-09-21,939.400000000145,939.3177,2015-01-01 02:36:34,bin9394,35,False +abc,9395,9395,9395,1995-09-22,939.5000000001451,939.41766,2015-01-01 02:36:35,bin9395,75,False +abc,9396,9396,9396,1995-09-23,939.6000000001451,939.51764,2015-01-01 02:36:36,bin9396,35,False +abc,9397,9397,9397,1995-09-24,939.7000000001451,939.6176,2015-01-01 02:36:37,bin9397,75,False +abc,9398,9398,9398,1995-09-25,939.8000000001451,939.7176,2015-01-01 02:36:38,bin9398,35,False +abc,9399,9399,9399,1995-09-26,939.9000000001452,939.81757,2015-01-01 02:36:39,bin9399,75,False +abc,9400,9400,9400,1995-09-27,940.0000000001452,939.91754,2015-01-01 02:36:40,bin9400,35,False +abc,9401,9401,9401,1995-09-28,940.1000000001452,940.0175,2015-01-01 02:36:41,bin9401,75,False +abc,9402,9402,9402,1995-09-29,940.2000000001452,940.1175,2015-01-01 02:36:42,bin9402,35,False +abc,9403,9403,9403,1995-09-30,940.3000000001452,940.21747,2015-01-01 02:36:43,bin9403,75,False +abc,9404,9404,9404,1995-10-01,940.4000000001453,940.31744,2015-01-01 02:36:44,bin9404,35,False +abc,9405,9405,9405,1995-10-02,940.5000000001453,940.4174,2015-01-01 02:36:45,bin9405,75,False +abc,9406,9406,9406,1995-10-03,940.6000000001453,940.5174,2015-01-01 02:36:46,bin9406,35,False +abc,9407,9407,9407,1995-10-04,940.7000000001453,940.6174,2015-01-01 02:36:47,bin9407,75,False +abc,9408,9408,9408,1995-10-05,940.8000000001454,940.71735,2015-01-01 02:36:48,bin9408,35,False +abc,9409,9409,9409,1995-10-06,940.9000000001454,940.8173,2015-01-01 02:36:49,bin9409,75,False +abc,9410,9410,9410,1995-10-07,941.0000000001454,940.9173,2015-01-01 02:36:50,bin9410,35,False +abc,9411,9411,9411,1995-10-08,941.1000000001454,941.0173,2015-01-01 02:36:51,bin9411,75,False +abc,9412,9412,9412,1995-10-09,941.2000000001455,941.11725,2015-01-01 02:36:52,bin9412,35,False +abc,9413,9413,9413,1995-10-10,941.3000000001455,941.2172,2015-01-01 02:36:53,bin9413,75,False +abc,9414,9414,9414,1995-10-11,941.4000000001455,941.3172,2015-01-01 02:36:54,bin9414,35,False +abc,9415,9415,9415,1995-10-12,941.5000000001455,941.4172,2015-01-01 02:36:55,bin9415,75,False +abc,9416,9416,9416,1995-10-13,941.6000000001455,941.51715,2015-01-01 02:36:56,bin9416,35,False +abc,9417,9417,9417,1995-10-14,941.7000000001456,941.6171,2015-01-01 02:36:57,bin9417,75,False +abc,9418,9418,9418,1995-10-15,941.8000000001456,941.7171,2015-01-01 02:36:58,bin9418,35,False +abc,9419,9419,9419,1995-10-16,941.9000000001456,941.8171,2015-01-01 02:36:59,bin9419,75,False +abc,9420,9420,9420,1995-10-17,942.0000000001456,941.91705,2015-01-01 02:37:00,bin9420,35,False +abc,9421,9421,9421,1995-10-18,942.1000000001457,942.017,2015-01-01 02:37:01,bin9421,75,False +abc,9422,9422,9422,1995-10-19,942.2000000001457,942.117,2015-01-01 02:37:02,bin9422,35,False +abc,9423,9423,9423,1995-10-20,942.3000000001457,942.217,2015-01-01 02:37:03,bin9423,75,False +abc,9424,9424,9424,1995-10-21,942.4000000001457,942.31696,2015-01-01 02:37:04,bin9424,35,False +abc,9425,9425,9425,1995-10-22,942.5000000001457,942.41693,2015-01-01 02:37:05,bin9425,75,False +abc,9426,9426,9426,1995-10-23,942.6000000001458,942.5169,2015-01-01 02:37:06,bin9426,35,False +abc,9427,9427,9427,1995-10-24,942.7000000001458,942.6169,2015-01-01 02:37:07,bin9427,75,False +abc,9428,9428,9428,1995-10-25,942.8000000001458,942.71686,2015-01-01 02:37:08,bin9428,35,False +abc,9429,9429,9429,1995-10-26,942.9000000001458,942.81683,2015-01-01 02:37:09,bin9429,75,False +abc,9430,9430,9430,1995-10-27,943.0000000001459,942.9168,2015-01-01 02:37:10,bin9430,35,False +abc,9431,9431,9431,1995-10-28,943.1000000001459,943.0168,2015-01-01 02:37:11,bin9431,75,False +abc,9432,9432,9432,1995-10-29,943.2000000001459,943.11676,2015-01-01 02:37:12,bin9432,35,False +abc,9433,9433,9433,1995-10-30,943.3000000001459,943.21674,2015-01-01 02:37:13,bin9433,75,False +abc,9434,9434,9434,1995-10-31,943.400000000146,943.3167,2015-01-01 02:37:14,bin9434,35,False +abc,9435,9435,9435,1995-11-01,943.500000000146,943.4167,2015-01-01 02:37:15,bin9435,75,False +abc,9436,9436,9436,1995-11-02,943.600000000146,943.51666,2015-01-01 02:37:16,bin9436,35,False +abc,9437,9437,9437,1995-11-03,943.700000000146,943.61664,2015-01-01 02:37:17,bin9437,75,False +abc,9438,9438,9438,1995-11-04,943.800000000146,943.7166,2015-01-01 02:37:18,bin9438,35,False +abc,9439,9439,9439,1995-11-05,943.9000000001461,943.8166,2015-01-01 02:37:19,bin9439,75,False +abc,9440,9440,9440,1995-11-06,944.0000000001461,943.91656,2015-01-01 02:37:20,bin9440,35,False +abc,9441,9441,9441,1995-11-07,944.1000000001461,944.01654,2015-01-01 02:37:21,bin9441,75,False +abc,9442,9442,9442,1995-11-08,944.2000000001461,944.1165,2015-01-01 02:37:22,bin9442,35,False +abc,9443,9443,9443,1995-11-09,944.3000000001462,944.2165,2015-01-01 02:37:23,bin9443,75,False +abc,9444,9444,9444,1995-11-10,944.4000000001462,944.31647,2015-01-01 02:37:24,bin9444,35,False +abc,9445,9445,9445,1995-11-11,944.5000000001462,944.41644,2015-01-01 02:37:25,bin9445,75,False +abc,9446,9446,9446,1995-11-12,944.6000000001462,944.5164,2015-01-01 02:37:26,bin9446,35,False +abc,9447,9447,9447,1995-11-13,944.7000000001462,944.6164,2015-01-01 02:37:27,bin9447,75,False +abc,9448,9448,9448,1995-11-14,944.8000000001463,944.7164,2015-01-01 02:37:28,bin9448,35,False +abc,9449,9449,9449,1995-11-15,944.9000000001463,944.81635,2015-01-01 02:37:29,bin9449,75,False +abc,9450,9450,9450,1995-11-16,945.0000000001463,944.9163,2015-01-01 02:37:30,bin9450,35,False +abc,9451,9451,9451,1995-11-17,945.1000000001463,945.0163,2015-01-01 02:37:31,bin9451,75,False +abc,9452,9452,9452,1995-11-18,945.2000000001464,945.1163,2015-01-01 02:37:32,bin9452,35,False +abc,9453,9453,9453,1995-11-19,945.3000000001464,945.21625,2015-01-01 02:37:33,bin9453,75,False +abc,9454,9454,9454,1995-11-20,945.4000000001464,945.3162,2015-01-01 02:37:34,bin9454,35,False +abc,9455,9455,9455,1995-11-21,945.5000000001464,945.4162,2015-01-01 02:37:35,bin9455,75,False +abc,9456,9456,9456,1995-11-22,945.6000000001465,945.5162,2015-01-01 02:37:36,bin9456,35,False +abc,9457,9457,9457,1995-11-23,945.7000000001465,945.61615,2015-01-01 02:37:37,bin9457,75,False +abc,9458,9458,9458,1995-11-24,945.8000000001465,945.7161,2015-01-01 02:37:38,bin9458,35,False +abc,9459,9459,9459,1995-11-25,945.9000000001465,945.8161,2015-01-01 02:37:39,bin9459,75,False +abc,9460,9460,9460,1995-11-26,946.0000000001465,945.9161,2015-01-01 02:37:40,bin9460,35,False +abc,9461,9461,9461,1995-11-27,946.1000000001466,946.01605,2015-01-01 02:37:41,bin9461,75,False +abc,9462,9462,9462,1995-11-28,946.2000000001466,946.116,2015-01-01 02:37:42,bin9462,35,False +abc,9463,9463,9463,1995-11-29,946.3000000001466,946.216,2015-01-01 02:37:43,bin9463,75,False +abc,9464,9464,9464,1995-11-30,946.4000000001466,946.316,2015-01-01 02:37:44,bin9464,35,False +abc,9465,9465,9465,1995-12-01,946.5000000001467,946.41595,2015-01-01 02:37:45,bin9465,75,False +abc,9466,9466,9466,1995-12-02,946.6000000001467,946.5159,2015-01-01 02:37:46,bin9466,35,False +abc,9467,9467,9467,1995-12-03,946.7000000001467,946.6159,2015-01-01 02:37:47,bin9467,75,False +abc,9468,9468,9468,1995-12-04,946.8000000001467,946.7159,2015-01-01 02:37:48,bin9468,35,False +abc,9469,9469,9469,1995-12-05,946.9000000001467,946.81586,2015-01-01 02:37:49,bin9469,75,False +abc,9470,9470,9470,1995-12-06,947.0000000001468,946.91583,2015-01-01 02:37:50,bin9470,35,False +abc,9471,9471,9471,1995-12-07,947.1000000001468,947.0158,2015-01-01 02:37:51,bin9471,75,False +abc,9472,9472,9472,1995-12-08,947.2000000001468,947.1158,2015-01-01 02:37:52,bin9472,35,False +abc,9473,9473,9473,1995-12-09,947.3000000001468,947.21576,2015-01-01 02:37:53,bin9473,75,False +abc,9474,9474,9474,1995-12-10,947.4000000001469,947.31573,2015-01-01 02:37:54,bin9474,35,False +abc,9475,9475,9475,1995-12-11,947.5000000001469,947.4157,2015-01-01 02:37:55,bin9475,75,False +abc,9476,9476,9476,1995-12-12,947.6000000001469,947.5157,2015-01-01 02:37:56,bin9476,35,False +abc,9477,9477,9477,1995-12-13,947.7000000001469,947.61566,2015-01-01 02:37:57,bin9477,75,False +abc,9478,9478,9478,1995-12-14,947.800000000147,947.71564,2015-01-01 02:37:58,bin9478,35,False +abc,9479,9479,9479,1995-12-15,947.900000000147,947.8156,2015-01-01 02:37:59,bin9479,75,False +abc,9480,9480,9480,1995-12-16,948.000000000147,947.9156,2015-01-01 02:38:00,bin9480,35,False +abc,9481,9481,9481,1995-12-17,948.100000000147,948.01556,2015-01-01 02:38:01,bin9481,75,False +abc,9482,9482,9482,1995-12-18,948.200000000147,948.11554,2015-01-01 02:38:02,bin9482,35,False +abc,9483,9483,9483,1995-12-19,948.3000000001471,948.2155,2015-01-01 02:38:03,bin9483,75,False +abc,9484,9484,9484,1995-12-20,948.4000000001471,948.3155,2015-01-01 02:38:04,bin9484,35,False +abc,9485,9485,9485,1995-12-21,948.5000000001471,948.41547,2015-01-01 02:38:05,bin9485,75,False +abc,9486,9486,9486,1995-12-22,948.6000000001471,948.51544,2015-01-01 02:38:06,bin9486,35,False +abc,9487,9487,9487,1995-12-23,948.7000000001472,948.6154,2015-01-01 02:38:07,bin9487,75,False +abc,9488,9488,9488,1995-12-24,948.8000000001472,948.7154,2015-01-01 02:38:08,bin9488,35,False +abc,9489,9489,9489,1995-12-25,948.9000000001472,948.81537,2015-01-01 02:38:09,bin9489,75,False +abc,9490,9490,9490,1995-12-26,949.0000000001472,948.91534,2015-01-01 02:38:10,bin9490,35,False +abc,9491,9491,9491,1995-12-27,949.1000000001472,949.0153,2015-01-01 02:38:11,bin9491,75,False +abc,9492,9492,9492,1995-12-28,949.2000000001473,949.1153,2015-01-01 02:38:12,bin9492,35,False +abc,9493,9493,9493,1995-12-29,949.3000000001473,949.2153,2015-01-01 02:38:13,bin9493,75,False +abc,9494,9494,9494,1995-12-30,949.4000000001473,949.31525,2015-01-01 02:38:14,bin9494,35,False +abc,9495,9495,9495,1995-12-31,949.5000000001473,949.4152,2015-01-01 02:38:15,bin9495,75,False +abc,9496,9496,9496,1996-01-01,949.6000000001474,949.5152,2015-01-01 02:38:16,bin9496,35,False +abc,9497,9497,9497,1996-01-02,949.7000000001474,949.6152,2015-01-01 02:38:17,bin9497,75,False +abc,9498,9498,9498,1996-01-03,949.8000000001474,949.71515,2015-01-01 02:38:18,bin9498,35,False +abc,9499,9499,9499,1996-01-04,949.9000000001474,949.8151,2015-01-01 02:38:19,bin9499,75,False +abc,9500,9500,9500,1996-01-05,950.0000000001475,949.9151,2015-01-01 02:38:20,bin9500,35,False +abc,9501,9501,9501,1996-01-06,950.1000000001475,950.0151,2015-01-01 02:38:21,bin9501,75,False +abc,9502,9502,9502,1996-01-07,950.2000000001475,950.11505,2015-01-01 02:38:22,bin9502,35,False +abc,9503,9503,9503,1996-01-08,950.3000000001475,950.215,2015-01-01 02:38:23,bin9503,75,False +abc,9504,9504,9504,1996-01-09,950.4000000001475,950.315,2015-01-01 02:38:24,bin9504,35,False +abc,9505,9505,9505,1996-01-10,950.5000000001476,950.415,2015-01-01 02:38:25,bin9505,75,False +abc,9506,9506,9506,1996-01-11,950.6000000001476,950.51495,2015-01-01 02:38:26,bin9506,35,False +abc,9507,9507,9507,1996-01-12,950.7000000001476,950.6149,2015-01-01 02:38:27,bin9507,75,False +abc,9508,9508,9508,1996-01-13,950.8000000001476,950.7149,2015-01-01 02:38:28,bin9508,35,False +abc,9509,9509,9509,1996-01-14,950.9000000001477,950.8149,2015-01-01 02:38:29,bin9509,75,False +abc,9510,9510,9510,1996-01-15,951.0000000001477,950.91486,2015-01-01 02:38:30,bin9510,35,False +abc,9511,9511,9511,1996-01-16,951.1000000001477,951.01483,2015-01-01 02:38:31,bin9511,75,False +abc,9512,9512,9512,1996-01-17,951.2000000001477,951.1148,2015-01-01 02:38:32,bin9512,35,False +abc,9513,9513,9513,1996-01-18,951.3000000001477,951.2148,2015-01-01 02:38:33,bin9513,75,False +abc,9514,9514,9514,1996-01-19,951.4000000001478,951.31476,2015-01-01 02:38:34,bin9514,35,False +abc,9515,9515,9515,1996-01-20,951.5000000001478,951.41473,2015-01-01 02:38:35,bin9515,75,False +abc,9516,9516,9516,1996-01-21,951.6000000001478,951.5147,2015-01-01 02:38:36,bin9516,35,False +abc,9517,9517,9517,1996-01-22,951.7000000001478,951.6147,2015-01-01 02:38:37,bin9517,75,False +abc,9518,9518,9518,1996-01-23,951.8000000001479,951.71466,2015-01-01 02:38:38,bin9518,35,False +abc,9519,9519,9519,1996-01-24,951.9000000001479,951.81464,2015-01-01 02:38:39,bin9519,75,False +abc,9520,9520,9520,1996-01-25,952.0000000001479,951.9146,2015-01-01 02:38:40,bin9520,35,False +abc,9521,9521,9521,1996-01-26,952.1000000001479,952.0146,2015-01-01 02:38:41,bin9521,75,False +abc,9522,9522,9522,1996-01-27,952.200000000148,952.11456,2015-01-01 02:38:42,bin9522,35,False +abc,9523,9523,9523,1996-01-28,952.300000000148,952.21454,2015-01-01 02:38:43,bin9523,75,False +abc,9524,9524,9524,1996-01-29,952.400000000148,952.3145,2015-01-01 02:38:44,bin9524,35,False +abc,9525,9525,9525,1996-01-30,952.500000000148,952.4145,2015-01-01 02:38:45,bin9525,75,False +abc,9526,9526,9526,1996-01-31,952.600000000148,952.51447,2015-01-01 02:38:46,bin9526,35,False +abc,9527,9527,9527,1996-02-01,952.7000000001481,952.61444,2015-01-01 02:38:47,bin9527,75,False +abc,9528,9528,9528,1996-02-02,952.8000000001481,952.7144,2015-01-01 02:38:48,bin9528,35,False +abc,9529,9529,9529,1996-02-03,952.9000000001481,952.8144,2015-01-01 02:38:49,bin9529,75,False +abc,9530,9530,9530,1996-02-04,953.0000000001481,952.91437,2015-01-01 02:38:50,bin9530,35,False +abc,9531,9531,9531,1996-02-05,953.1000000001482,953.01434,2015-01-01 02:38:51,bin9531,75,False +abc,9532,9532,9532,1996-02-06,953.2000000001482,953.1143,2015-01-01 02:38:52,bin9532,35,False +abc,9533,9533,9533,1996-02-07,953.3000000001482,953.2143,2015-01-01 02:38:53,bin9533,75,False +abc,9534,9534,9534,1996-02-08,953.4000000001482,953.3143,2015-01-01 02:38:54,bin9534,35,False +abc,9535,9535,9535,1996-02-09,953.5000000001482,953.41425,2015-01-01 02:38:55,bin9535,75,False +abc,9536,9536,9536,1996-02-10,953.6000000001483,953.5142,2015-01-01 02:38:56,bin9536,35,False +abc,9537,9537,9537,1996-02-11,953.7000000001483,953.6142,2015-01-01 02:38:57,bin9537,75,False +abc,9538,9538,9538,1996-02-12,953.8000000001483,953.7142,2015-01-01 02:38:58,bin9538,35,False +abc,9539,9539,9539,1996-02-13,953.9000000001483,953.81415,2015-01-01 02:38:59,bin9539,75,False +abc,9540,9540,9540,1996-02-14,954.0000000001484,953.9141,2015-01-01 02:39:00,bin9540,35,False +abc,9541,9541,9541,1996-02-15,954.1000000001484,954.0141,2015-01-01 02:39:01,bin9541,75,False +abc,9542,9542,9542,1996-02-16,954.2000000001484,954.1141,2015-01-01 02:39:02,bin9542,35,False +abc,9543,9543,9543,1996-02-17,954.3000000001484,954.21405,2015-01-01 02:39:03,bin9543,75,False +abc,9544,9544,9544,1996-02-18,954.4000000001485,954.314,2015-01-01 02:39:04,bin9544,35,False +abc,9545,9545,9545,1996-02-19,954.5000000001485,954.414,2015-01-01 02:39:05,bin9545,75,False +abc,9546,9546,9546,1996-02-20,954.6000000001485,954.514,2015-01-01 02:39:06,bin9546,35,False +abc,9547,9547,9547,1996-02-21,954.7000000001485,954.61395,2015-01-01 02:39:07,bin9547,75,False +abc,9548,9548,9548,1996-02-22,954.8000000001485,954.7139,2015-01-01 02:39:08,bin9548,35,False +abc,9549,9549,9549,1996-02-23,954.9000000001486,954.8139,2015-01-01 02:39:09,bin9549,75,False +abc,9550,9550,9550,1996-02-24,955.0000000001486,954.9139,2015-01-01 02:39:10,bin9550,35,False +abc,9551,9551,9551,1996-02-25,955.1000000001486,955.01385,2015-01-01 02:39:11,bin9551,75,False +abc,9552,9552,9552,1996-02-26,955.2000000001486,955.11383,2015-01-01 02:39:12,bin9552,35,False +abc,9553,9553,9553,1996-02-27,955.3000000001487,955.2138,2015-01-01 02:39:13,bin9553,75,False +abc,9554,9554,9554,1996-02-28,955.4000000001487,955.3138,2015-01-01 02:39:14,bin9554,35,False +abc,9555,9555,9555,1996-02-29,955.5000000001487,955.41376,2015-01-01 02:39:15,bin9555,75,False +abc,9556,9556,9556,1996-03-01,955.6000000001487,955.51373,2015-01-01 02:39:16,bin9556,35,False +abc,9557,9557,9557,1996-03-02,955.7000000001487,955.6137,2015-01-01 02:39:17,bin9557,75,False +abc,9558,9558,9558,1996-03-03,955.8000000001488,955.7137,2015-01-01 02:39:18,bin9558,35,False +abc,9559,9559,9559,1996-03-04,955.9000000001488,955.81366,2015-01-01 02:39:19,bin9559,75,False +abc,9560,9560,9560,1996-03-05,956.0000000001488,955.91364,2015-01-01 02:39:20,bin9560,35,False +abc,9561,9561,9561,1996-03-06,956.1000000001488,956.0136,2015-01-01 02:39:21,bin9561,75,False +abc,9562,9562,9562,1996-03-07,956.2000000001489,956.1136,2015-01-01 02:39:22,bin9562,35,False +abc,9563,9563,9563,1996-03-08,956.3000000001489,956.21356,2015-01-01 02:39:23,bin9563,75,False +abc,9564,9564,9564,1996-03-09,956.4000000001489,956.31354,2015-01-01 02:39:24,bin9564,35,False +abc,9565,9565,9565,1996-03-10,956.5000000001489,956.4135,2015-01-01 02:39:25,bin9565,75,False +abc,9566,9566,9566,1996-03-11,956.600000000149,956.5135,2015-01-01 02:39:26,bin9566,35,False +abc,9567,9567,9567,1996-03-12,956.700000000149,956.61346,2015-01-01 02:39:27,bin9567,75,False +abc,9568,9568,9568,1996-03-13,956.800000000149,956.71344,2015-01-01 02:39:28,bin9568,35,False +abc,9569,9569,9569,1996-03-14,956.900000000149,956.8134,2015-01-01 02:39:29,bin9569,75,False +abc,9570,9570,9570,1996-03-15,957.000000000149,956.9134,2015-01-01 02:39:30,bin9570,35,False +abc,9571,9571,9571,1996-03-16,957.1000000001491,957.01337,2015-01-01 02:39:31,bin9571,75,False +abc,9572,9572,9572,1996-03-17,957.2000000001491,957.11334,2015-01-01 02:39:32,bin9572,35,False +abc,9573,9573,9573,1996-03-18,957.3000000001491,957.2133,2015-01-01 02:39:33,bin9573,75,False +abc,9574,9574,9574,1996-03-19,957.4000000001491,957.3133,2015-01-01 02:39:34,bin9574,35,False +abc,9575,9575,9575,1996-03-20,957.5000000001492,957.41327,2015-01-01 02:39:35,bin9575,75,False +abc,9576,9576,9576,1996-03-21,957.6000000001492,957.51324,2015-01-01 02:39:36,bin9576,35,False +abc,9577,9577,9577,1996-03-22,957.7000000001492,957.6132,2015-01-01 02:39:37,bin9577,75,False +abc,9578,9578,9578,1996-03-23,957.8000000001492,957.7132,2015-01-01 02:39:38,bin9578,35,False +abc,9579,9579,9579,1996-03-24,957.9000000001492,957.8132,2015-01-01 02:39:39,bin9579,75,False +abc,9580,9580,9580,1996-03-25,958.0000000001493,957.91315,2015-01-01 02:39:40,bin9580,35,False +abc,9581,9581,9581,1996-03-26,958.1000000001493,958.0131,2015-01-01 02:39:41,bin9581,75,False +abc,9582,9582,9582,1996-03-27,958.2000000001493,958.1131,2015-01-01 02:39:42,bin9582,35,False +abc,9583,9583,9583,1996-03-28,958.3000000001493,958.2131,2015-01-01 02:39:43,bin9583,75,False +abc,9584,9584,9584,1996-03-29,958.4000000001494,958.31305,2015-01-01 02:39:44,bin9584,35,False +abc,9585,9585,9585,1996-03-30,958.5000000001494,958.413,2015-01-01 02:39:45,bin9585,75,False +abc,9586,9586,9586,1996-03-31,958.6000000001494,958.513,2015-01-01 02:39:46,bin9586,35,False +abc,9587,9587,9587,1996-04-01,958.7000000001494,958.613,2015-01-01 02:39:47,bin9587,75,False +abc,9588,9588,9588,1996-04-02,958.8000000001495,958.71295,2015-01-01 02:39:48,bin9588,35,False +abc,9589,9589,9589,1996-04-03,958.9000000001495,958.8129,2015-01-01 02:39:49,bin9589,75,False +abc,9590,9590,9590,1996-04-04,959.0000000001495,958.9129,2015-01-01 02:39:50,bin9590,35,False +abc,9591,9591,9591,1996-04-05,959.1000000001495,959.0129,2015-01-01 02:39:51,bin9591,75,False +abc,9592,9592,9592,1996-04-06,959.2000000001495,959.11285,2015-01-01 02:39:52,bin9592,35,False +abc,9593,9593,9593,1996-04-07,959.3000000001496,959.2128,2015-01-01 02:39:53,bin9593,75,False +abc,9594,9594,9594,1996-04-08,959.4000000001496,959.3128,2015-01-01 02:39:54,bin9594,35,False +abc,9595,9595,9595,1996-04-09,959.5000000001496,959.4128,2015-01-01 02:39:55,bin9595,75,False +abc,9596,9596,9596,1996-04-10,959.6000000001496,959.51276,2015-01-01 02:39:56,bin9596,35,False +abc,9597,9597,9597,1996-04-11,959.7000000001497,959.61273,2015-01-01 02:39:57,bin9597,75,False +abc,9598,9598,9598,1996-04-12,959.8000000001497,959.7127,2015-01-01 02:39:58,bin9598,35,False +abc,9599,9599,9599,1996-04-13,959.9000000001497,959.8127,2015-01-01 02:39:59,bin9599,75,False +abc,9600,9600,9600,1996-04-14,960.0000000001497,959.91266,2015-01-01 02:40:00,bin9600,35,False +abc,9601,9601,9601,1996-04-15,960.1000000001497,960.01263,2015-01-01 02:40:01,bin9601,75,False +abc,9602,9602,9602,1996-04-16,960.2000000001498,960.1126,2015-01-01 02:40:02,bin9602,35,False +abc,9603,9603,9603,1996-04-17,960.3000000001498,960.2126,2015-01-01 02:40:03,bin9603,75,False +abc,9604,9604,9604,1996-04-18,960.4000000001498,960.31256,2015-01-01 02:40:04,bin9604,35,False +abc,9605,9605,9605,1996-04-19,960.5000000001498,960.41254,2015-01-01 02:40:05,bin9605,75,False +abc,9606,9606,9606,1996-04-20,960.6000000001499,960.5125,2015-01-01 02:40:06,bin9606,35,False +abc,9607,9607,9607,1996-04-21,960.7000000001499,960.6125,2015-01-01 02:40:07,bin9607,75,False +abc,9608,9608,9608,1996-04-22,960.8000000001499,960.71246,2015-01-01 02:40:08,bin9608,35,False +abc,9609,9609,9609,1996-04-23,960.9000000001499,960.81244,2015-01-01 02:40:09,bin9609,75,False +abc,9610,9610,9610,1996-04-24,961.00000000015,960.9124,2015-01-01 02:40:10,bin9610,35,False +abc,9611,9611,9611,1996-04-25,961.10000000015,961.0124,2015-01-01 02:40:11,bin9611,75,False +abc,9612,9612,9612,1996-04-26,961.20000000015,961.11237,2015-01-01 02:40:12,bin9612,35,False +abc,9613,9613,9613,1996-04-27,961.30000000015,961.21234,2015-01-01 02:40:13,bin9613,75,False +abc,9614,9614,9614,1996-04-28,961.40000000015,961.3123,2015-01-01 02:40:14,bin9614,35,False +abc,9615,9615,9615,1996-04-29,961.5000000001501,961.4123,2015-01-01 02:40:15,bin9615,75,False +abc,9616,9616,9616,1996-04-30,961.6000000001501,961.51227,2015-01-01 02:40:16,bin9616,35,False +abc,9617,9617,9617,1996-05-01,961.7000000001501,961.61224,2015-01-01 02:40:17,bin9617,75,False +abc,9618,9618,9618,1996-05-02,961.8000000001501,961.7122,2015-01-01 02:40:18,bin9618,35,False +abc,9619,9619,9619,1996-05-03,961.9000000001502,961.8122,2015-01-01 02:40:19,bin9619,75,False +abc,9620,9620,9620,1996-05-04,962.0000000001502,961.9122,2015-01-01 02:40:20,bin9620,35,False +abc,9621,9621,9621,1996-05-05,962.1000000001502,962.01215,2015-01-01 02:40:21,bin9621,75,False +abc,9622,9622,9622,1996-05-06,962.2000000001502,962.1121,2015-01-01 02:40:22,bin9622,35,False +abc,9623,9623,9623,1996-05-07,962.3000000001502,962.2121,2015-01-01 02:40:23,bin9623,75,False +abc,9624,9624,9624,1996-05-08,962.4000000001503,962.3121,2015-01-01 02:40:24,bin9624,35,False +abc,9625,9625,9625,1996-05-09,962.5000000001503,962.41205,2015-01-01 02:40:25,bin9625,75,False +abc,9626,9626,9626,1996-05-10,962.6000000001503,962.512,2015-01-01 02:40:26,bin9626,35,False +abc,9627,9627,9627,1996-05-11,962.7000000001503,962.612,2015-01-01 02:40:27,bin9627,75,False +abc,9628,9628,9628,1996-05-12,962.8000000001504,962.712,2015-01-01 02:40:28,bin9628,35,False +abc,9629,9629,9629,1996-05-13,962.9000000001504,962.81195,2015-01-01 02:40:29,bin9629,75,False +abc,9630,9630,9630,1996-05-14,963.0000000001504,962.9119,2015-01-01 02:40:30,bin9630,35,False +abc,9631,9631,9631,1996-05-15,963.1000000001504,963.0119,2015-01-01 02:40:31,bin9631,75,False +abc,9632,9632,9632,1996-05-16,963.2000000001505,963.1119,2015-01-01 02:40:32,bin9632,35,False +abc,9633,9633,9633,1996-05-17,963.3000000001505,963.21185,2015-01-01 02:40:33,bin9633,75,False +abc,9634,9634,9634,1996-05-18,963.4000000001505,963.3118,2015-01-01 02:40:34,bin9634,35,False +abc,9635,9635,9635,1996-05-19,963.5000000001505,963.4118,2015-01-01 02:40:35,bin9635,75,False +abc,9636,9636,9636,1996-05-20,963.6000000001505,963.5118,2015-01-01 02:40:36,bin9636,35,False +abc,9637,9637,9637,1996-05-21,963.7000000001506,963.61176,2015-01-01 02:40:37,bin9637,75,False +abc,9638,9638,9638,1996-05-22,963.8000000001506,963.71173,2015-01-01 02:40:38,bin9638,35,False +abc,9639,9639,9639,1996-05-23,963.9000000001506,963.8117,2015-01-01 02:40:39,bin9639,75,False +abc,9640,9640,9640,1996-05-24,964.0000000001506,963.9117,2015-01-01 02:40:40,bin9640,35,False +abc,9641,9641,9641,1996-05-25,964.1000000001507,964.01166,2015-01-01 02:40:41,bin9641,75,False +abc,9642,9642,9642,1996-05-26,964.2000000001507,964.11163,2015-01-01 02:40:42,bin9642,35,False +abc,9643,9643,9643,1996-05-27,964.3000000001507,964.2116,2015-01-01 02:40:43,bin9643,75,False +abc,9644,9644,9644,1996-05-28,964.4000000001507,964.3116,2015-01-01 02:40:44,bin9644,35,False +abc,9645,9645,9645,1996-05-29,964.5000000001507,964.41156,2015-01-01 02:40:45,bin9645,75,False +abc,9646,9646,9646,1996-05-30,964.6000000001508,964.51154,2015-01-01 02:40:46,bin9646,35,False +abc,9647,9647,9647,1996-05-31,964.7000000001508,964.6115,2015-01-01 02:40:47,bin9647,75,False +abc,9648,9648,9648,1996-06-01,964.8000000001508,964.7115,2015-01-01 02:40:48,bin9648,35,False +abc,9649,9649,9649,1996-06-02,964.9000000001508,964.81146,2015-01-01 02:40:49,bin9649,75,False +abc,9650,9650,9650,1996-06-03,965.0000000001509,964.91144,2015-01-01 02:40:50,bin9650,35,False +abc,9651,9651,9651,1996-06-04,965.1000000001509,965.0114,2015-01-01 02:40:51,bin9651,75,False +abc,9652,9652,9652,1996-06-05,965.2000000001509,965.1114,2015-01-01 02:40:52,bin9652,35,False +abc,9653,9653,9653,1996-06-06,965.3000000001509,965.21136,2015-01-01 02:40:53,bin9653,75,False +abc,9654,9654,9654,1996-06-07,965.400000000151,965.31134,2015-01-01 02:40:54,bin9654,35,False +abc,9655,9655,9655,1996-06-08,965.500000000151,965.4113,2015-01-01 02:40:55,bin9655,75,False +abc,9656,9656,9656,1996-06-09,965.600000000151,965.5113,2015-01-01 02:40:56,bin9656,35,False +abc,9657,9657,9657,1996-06-10,965.700000000151,965.61127,2015-01-01 02:40:57,bin9657,75,False +abc,9658,9658,9658,1996-06-11,965.800000000151,965.71124,2015-01-01 02:40:58,bin9658,35,False +abc,9659,9659,9659,1996-06-12,965.9000000001511,965.8112,2015-01-01 02:40:59,bin9659,75,False +abc,9660,9660,9660,1996-06-13,966.0000000001511,965.9112,2015-01-01 02:41:00,bin9660,35,False +abc,9661,9661,9661,1996-06-14,966.1000000001511,966.01117,2015-01-01 02:41:01,bin9661,75,False +abc,9662,9662,9662,1996-06-15,966.2000000001511,966.11115,2015-01-01 02:41:02,bin9662,35,False +abc,9663,9663,9663,1996-06-16,966.3000000001512,966.2111,2015-01-01 02:41:03,bin9663,75,False +abc,9664,9664,9664,1996-06-17,966.4000000001512,966.3111,2015-01-01 02:41:04,bin9664,35,False +abc,9665,9665,9665,1996-06-18,966.5000000001512,966.4111,2015-01-01 02:41:05,bin9665,75,False +abc,9666,9666,9666,1996-06-19,966.6000000001512,966.51105,2015-01-01 02:41:06,bin9666,35,False +abc,9667,9667,9667,1996-06-20,966.7000000001512,966.611,2015-01-01 02:41:07,bin9667,75,False +abc,9668,9668,9668,1996-06-21,966.8000000001513,966.711,2015-01-01 02:41:08,bin9668,35,False +abc,9669,9669,9669,1996-06-22,966.9000000001513,966.811,2015-01-01 02:41:09,bin9669,75,False +abc,9670,9670,9670,1996-06-23,967.0000000001513,966.91095,2015-01-01 02:41:10,bin9670,35,False +abc,9671,9671,9671,1996-06-24,967.1000000001513,967.0109,2015-01-01 02:41:11,bin9671,75,False +abc,9672,9672,9672,1996-06-25,967.2000000001514,967.1109,2015-01-01 02:41:12,bin9672,35,False +abc,9673,9673,9673,1996-06-26,967.3000000001514,967.2109,2015-01-01 02:41:13,bin9673,75,False +abc,9674,9674,9674,1996-06-27,967.4000000001514,967.31085,2015-01-01 02:41:14,bin9674,35,False +abc,9675,9675,9675,1996-06-28,967.5000000001514,967.4108,2015-01-01 02:41:15,bin9675,75,False +abc,9676,9676,9676,1996-06-29,967.6000000001515,967.5108,2015-01-01 02:41:16,bin9676,35,False +abc,9677,9677,9677,1996-06-30,967.7000000001515,967.6108,2015-01-01 02:41:17,bin9677,75,False +abc,9678,9678,9678,1996-07-01,967.8000000001515,967.71075,2015-01-01 02:41:18,bin9678,35,False +abc,9679,9679,9679,1996-07-02,967.9000000001515,967.8107,2015-01-01 02:41:19,bin9679,75,False +abc,9680,9680,9680,1996-07-03,968.0000000001515,967.9107,2015-01-01 02:41:20,bin9680,35,False +abc,9681,9681,9681,1996-07-04,968.1000000001516,968.0107,2015-01-01 02:41:21,bin9681,75,False +abc,9682,9682,9682,1996-07-05,968.2000000001516,968.11066,2015-01-01 02:41:22,bin9682,35,False +abc,9683,9683,9683,1996-07-06,968.3000000001516,968.21063,2015-01-01 02:41:23,bin9683,75,False +abc,9684,9684,9684,1996-07-07,968.4000000001516,968.3106,2015-01-01 02:41:24,bin9684,35,False +abc,9685,9685,9685,1996-07-08,968.5000000001517,968.4106,2015-01-01 02:41:25,bin9685,75,False +abc,9686,9686,9686,1996-07-09,968.6000000001517,968.51056,2015-01-01 02:41:26,bin9686,35,False +abc,9687,9687,9687,1996-07-10,968.7000000001517,968.61053,2015-01-01 02:41:27,bin9687,75,False +abc,9688,9688,9688,1996-07-11,968.8000000001517,968.7105,2015-01-01 02:41:28,bin9688,35,False +abc,9689,9689,9689,1996-07-12,968.9000000001517,968.8105,2015-01-01 02:41:29,bin9689,75,False +abc,9690,9690,9690,1996-07-13,969.0000000001518,968.91046,2015-01-01 02:41:30,bin9690,35,False +abc,9691,9691,9691,1996-07-14,969.1000000001518,969.01044,2015-01-01 02:41:31,bin9691,75,False +abc,9692,9692,9692,1996-07-15,969.2000000001518,969.1104,2015-01-01 02:41:32,bin9692,35,False +abc,9693,9693,9693,1996-07-16,969.3000000001518,969.2104,2015-01-01 02:41:33,bin9693,75,False +abc,9694,9694,9694,1996-07-17,969.4000000001519,969.31036,2015-01-01 02:41:34,bin9694,35,False +abc,9695,9695,9695,1996-07-18,969.5000000001519,969.41034,2015-01-01 02:41:35,bin9695,75,False +abc,9696,9696,9696,1996-07-19,969.6000000001519,969.5103,2015-01-01 02:41:36,bin9696,35,False +abc,9697,9697,9697,1996-07-20,969.7000000001519,969.6103,2015-01-01 02:41:37,bin9697,75,False +abc,9698,9698,9698,1996-07-21,969.800000000152,969.71027,2015-01-01 02:41:38,bin9698,35,False +abc,9699,9699,9699,1996-07-22,969.900000000152,969.81024,2015-01-01 02:41:39,bin9699,75,False +abc,9700,9700,9700,1996-07-23,970.000000000152,969.9102,2015-01-01 02:41:40,bin9700,35,False +abc,9701,9701,9701,1996-07-24,970.100000000152,970.0102,2015-01-01 02:41:41,bin9701,75,False +abc,9702,9702,9702,1996-07-25,970.200000000152,970.11017,2015-01-01 02:41:42,bin9702,35,False +abc,9703,9703,9703,1996-07-26,970.3000000001521,970.21014,2015-01-01 02:41:43,bin9703,75,False +abc,9704,9704,9704,1996-07-27,970.4000000001521,970.3101,2015-01-01 02:41:44,bin9704,35,False +abc,9705,9705,9705,1996-07-28,970.5000000001521,970.4101,2015-01-01 02:41:45,bin9705,75,False +abc,9706,9706,9706,1996-07-29,970.6000000001521,970.5101,2015-01-01 02:41:46,bin9706,35,False +abc,9707,9707,9707,1996-07-30,970.7000000001522,970.61005,2015-01-01 02:41:47,bin9707,75,False +abc,9708,9708,9708,1996-07-31,970.8000000001522,970.71,2015-01-01 02:41:48,bin9708,35,False +abc,9709,9709,9709,1996-08-01,970.9000000001522,970.81,2015-01-01 02:41:49,bin9709,75,False +abc,9710,9710,9710,1996-08-02,971.0000000001522,970.91,2015-01-01 02:41:50,bin9710,35,False +abc,9711,9711,9711,1996-08-03,971.1000000001522,971.00995,2015-01-01 02:41:51,bin9711,75,False +abc,9712,9712,9712,1996-08-04,971.2000000001523,971.1099,2015-01-01 02:41:52,bin9712,35,False +abc,9713,9713,9713,1996-08-05,971.3000000001523,971.2099,2015-01-01 02:41:53,bin9713,75,False +abc,9714,9714,9714,1996-08-06,971.4000000001523,971.3099,2015-01-01 02:41:54,bin9714,35,False +abc,9715,9715,9715,1996-08-07,971.5000000001523,971.40985,2015-01-01 02:41:55,bin9715,75,False +abc,9716,9716,9716,1996-08-08,971.6000000001524,971.5098,2015-01-01 02:41:56,bin9716,35,False +abc,9717,9717,9717,1996-08-09,971.7000000001524,971.6098,2015-01-01 02:41:57,bin9717,75,False +abc,9718,9718,9718,1996-08-10,971.8000000001524,971.7098,2015-01-01 02:41:58,bin9718,35,False +abc,9719,9719,9719,1996-08-11,971.9000000001524,971.80975,2015-01-01 02:41:59,bin9719,75,False +abc,9720,9720,9720,1996-08-12,972.0000000001525,971.9097,2015-01-01 02:42:00,bin9720,35,False +abc,9721,9721,9721,1996-08-13,972.1000000001525,972.0097,2015-01-01 02:42:01,bin9721,75,False +abc,9722,9722,9722,1996-08-14,972.2000000001525,972.1097,2015-01-01 02:42:02,bin9722,35,False +abc,9723,9723,9723,1996-08-15,972.3000000001525,972.20966,2015-01-01 02:42:03,bin9723,75,False +abc,9724,9724,9724,1996-08-16,972.4000000001525,972.30963,2015-01-01 02:42:04,bin9724,35,False +abc,9725,9725,9725,1996-08-17,972.5000000001526,972.4096,2015-01-01 02:42:05,bin9725,75,False +abc,9726,9726,9726,1996-08-18,972.6000000001526,972.5096,2015-01-01 02:42:06,bin9726,35,False +abc,9727,9727,9727,1996-08-19,972.7000000001526,972.60956,2015-01-01 02:42:07,bin9727,75,False +abc,9728,9728,9728,1996-08-20,972.8000000001526,972.70953,2015-01-01 02:42:08,bin9728,35,False +abc,9729,9729,9729,1996-08-21,972.9000000001527,972.8095,2015-01-01 02:42:09,bin9729,75,False +abc,9730,9730,9730,1996-08-22,973.0000000001527,972.9095,2015-01-01 02:42:10,bin9730,35,False +abc,9731,9731,9731,1996-08-23,973.1000000001527,973.00946,2015-01-01 02:42:11,bin9731,75,False +abc,9732,9732,9732,1996-08-24,973.2000000001527,973.10944,2015-01-01 02:42:12,bin9732,35,False +abc,9733,9733,9733,1996-08-25,973.3000000001527,973.2094,2015-01-01 02:42:13,bin9733,75,False +abc,9734,9734,9734,1996-08-26,973.4000000001528,973.3094,2015-01-01 02:42:14,bin9734,35,False +abc,9735,9735,9735,1996-08-27,973.5000000001528,973.40936,2015-01-01 02:42:15,bin9735,75,False +abc,9736,9736,9736,1996-08-28,973.6000000001528,973.50934,2015-01-01 02:42:16,bin9736,35,False +abc,9737,9737,9737,1996-08-29,973.7000000001528,973.6093,2015-01-01 02:42:17,bin9737,75,False +abc,9738,9738,9738,1996-08-30,973.8000000001529,973.7093,2015-01-01 02:42:18,bin9738,35,False +abc,9739,9739,9739,1996-08-31,973.9000000001529,973.80927,2015-01-01 02:42:19,bin9739,75,False +abc,9740,9740,9740,1996-09-01,974.0000000001529,973.90924,2015-01-01 02:42:20,bin9740,35,False +abc,9741,9741,9741,1996-09-02,974.1000000001529,974.0092,2015-01-01 02:42:21,bin9741,75,False +abc,9742,9742,9742,1996-09-03,974.200000000153,974.1092,2015-01-01 02:42:22,bin9742,35,False +abc,9743,9743,9743,1996-09-04,974.300000000153,974.20917,2015-01-01 02:42:23,bin9743,75,False +abc,9744,9744,9744,1996-09-05,974.400000000153,974.30914,2015-01-01 02:42:24,bin9744,35,False +abc,9745,9745,9745,1996-09-06,974.500000000153,974.4091,2015-01-01 02:42:25,bin9745,75,False +abc,9746,9746,9746,1996-09-07,974.600000000153,974.5091,2015-01-01 02:42:26,bin9746,35,False +abc,9747,9747,9747,1996-09-08,974.7000000001531,974.6091,2015-01-01 02:42:27,bin9747,75,False +abc,9748,9748,9748,1996-09-09,974.8000000001531,974.70905,2015-01-01 02:42:28,bin9748,35,False +abc,9749,9749,9749,1996-09-10,974.9000000001531,974.809,2015-01-01 02:42:29,bin9749,75,False +abc,9750,9750,9750,1996-09-11,975.0000000001531,974.909,2015-01-01 02:42:30,bin9750,35,False +abc,9751,9751,9751,1996-09-12,975.1000000001532,975.009,2015-01-01 02:42:31,bin9751,75,False +abc,9752,9752,9752,1996-09-13,975.2000000001532,975.10895,2015-01-01 02:42:32,bin9752,35,False +abc,9753,9753,9753,1996-09-14,975.3000000001532,975.2089,2015-01-01 02:42:33,bin9753,75,False +abc,9754,9754,9754,1996-09-15,975.4000000001532,975.3089,2015-01-01 02:42:34,bin9754,35,False +abc,9755,9755,9755,1996-09-16,975.5000000001532,975.4089,2015-01-01 02:42:35,bin9755,75,False +abc,9756,9756,9756,1996-09-17,975.6000000001533,975.50885,2015-01-01 02:42:36,bin9756,35,False +abc,9757,9757,9757,1996-09-18,975.7000000001533,975.6088,2015-01-01 02:42:37,bin9757,75,False +abc,9758,9758,9758,1996-09-19,975.8000000001533,975.7088,2015-01-01 02:42:38,bin9758,35,False +abc,9759,9759,9759,1996-09-20,975.9000000001533,975.8088,2015-01-01 02:42:39,bin9759,75,False +abc,9760,9760,9760,1996-09-21,976.0000000001534,975.90875,2015-01-01 02:42:40,bin9760,35,False +abc,9761,9761,9761,1996-09-22,976.1000000001534,976.0087,2015-01-01 02:42:41,bin9761,75,False +abc,9762,9762,9762,1996-09-23,976.2000000001534,976.1087,2015-01-01 02:42:42,bin9762,35,False +abc,9763,9763,9763,1996-09-24,976.3000000001534,976.2087,2015-01-01 02:42:43,bin9763,75,False +abc,9764,9764,9764,1996-09-25,976.4000000001535,976.30865,2015-01-01 02:42:44,bin9764,35,False +abc,9765,9765,9765,1996-09-26,976.5000000001535,976.4086,2015-01-01 02:42:45,bin9765,75,False +abc,9766,9766,9766,1996-09-27,976.6000000001535,976.5086,2015-01-01 02:42:46,bin9766,35,False +abc,9767,9767,9767,1996-09-28,976.7000000001535,976.6086,2015-01-01 02:42:47,bin9767,75,False +abc,9768,9768,9768,1996-09-29,976.8000000001535,976.70856,2015-01-01 02:42:48,bin9768,35,False +abc,9769,9769,9769,1996-09-30,976.9000000001536,976.80853,2015-01-01 02:42:49,bin9769,75,False +abc,9770,9770,9770,1996-10-01,977.0000000001536,976.9085,2015-01-01 02:42:50,bin9770,35,False +abc,9771,9771,9771,1996-10-02,977.1000000001536,977.0085,2015-01-01 02:42:51,bin9771,75,False +abc,9772,9772,9772,1996-10-03,977.2000000001536,977.10846,2015-01-01 02:42:52,bin9772,35,False +abc,9773,9773,9773,1996-10-04,977.3000000001537,977.20844,2015-01-01 02:42:53,bin9773,75,False +abc,9774,9774,9774,1996-10-05,977.4000000001537,977.3084,2015-01-01 02:42:54,bin9774,35,False +abc,9775,9775,9775,1996-10-06,977.5000000001537,977.4084,2015-01-01 02:42:55,bin9775,75,False +abc,9776,9776,9776,1996-10-07,977.6000000001537,977.50836,2015-01-01 02:42:56,bin9776,35,False +abc,9777,9777,9777,1996-10-08,977.7000000001538,977.60834,2015-01-01 02:42:57,bin9777,75,False +abc,9778,9778,9778,1996-10-09,977.8000000001538,977.7083,2015-01-01 02:42:58,bin9778,35,False +abc,9779,9779,9779,1996-10-10,977.9000000001538,977.8083,2015-01-01 02:42:59,bin9779,75,False +abc,9780,9780,9780,1996-10-11,978.0000000001538,977.90826,2015-01-01 02:43:00,bin9780,35,False +abc,9781,9781,9781,1996-10-12,978.1000000001538,978.00824,2015-01-01 02:43:01,bin9781,75,False +abc,9782,9782,9782,1996-10-13,978.2000000001539,978.1082,2015-01-01 02:43:02,bin9782,35,False +abc,9783,9783,9783,1996-10-14,978.3000000001539,978.2082,2015-01-01 02:43:03,bin9783,75,False +abc,9784,9784,9784,1996-10-15,978.4000000001539,978.30817,2015-01-01 02:43:04,bin9784,35,False +abc,9785,9785,9785,1996-10-16,978.5000000001539,978.40814,2015-01-01 02:43:05,bin9785,75,False +abc,9786,9786,9786,1996-10-17,978.600000000154,978.5081,2015-01-01 02:43:06,bin9786,35,False +abc,9787,9787,9787,1996-10-18,978.700000000154,978.6081,2015-01-01 02:43:07,bin9787,75,False +abc,9788,9788,9788,1996-10-19,978.800000000154,978.70807,2015-01-01 02:43:08,bin9788,35,False +abc,9789,9789,9789,1996-10-20,978.900000000154,978.80804,2015-01-01 02:43:09,bin9789,75,False +abc,9790,9790,9790,1996-10-21,979.000000000154,978.908,2015-01-01 02:43:10,bin9790,35,False +abc,9791,9791,9791,1996-10-22,979.1000000001541,979.008,2015-01-01 02:43:11,bin9791,75,False +abc,9792,9792,9792,1996-10-23,979.2000000001541,979.108,2015-01-01 02:43:12,bin9792,35,False +abc,9793,9793,9793,1996-10-24,979.3000000001541,979.20795,2015-01-01 02:43:13,bin9793,75,False +abc,9794,9794,9794,1996-10-25,979.4000000001541,979.3079,2015-01-01 02:43:14,bin9794,35,False +abc,9795,9795,9795,1996-10-26,979.5000000001542,979.4079,2015-01-01 02:43:15,bin9795,75,False +abc,9796,9796,9796,1996-10-27,979.6000000001542,979.5079,2015-01-01 02:43:16,bin9796,35,False +abc,9797,9797,9797,1996-10-28,979.7000000001542,979.60785,2015-01-01 02:43:17,bin9797,75,False +abc,9798,9798,9798,1996-10-29,979.8000000001542,979.7078,2015-01-01 02:43:18,bin9798,35,False +abc,9799,9799,9799,1996-10-30,979.9000000001543,979.8078,2015-01-01 02:43:19,bin9799,75,False +abc,9800,9800,9800,1996-10-31,980.0000000001543,979.9078,2015-01-01 02:43:20,bin9800,35,False +abc,9801,9801,9801,1996-11-01,980.1000000001543,980.00775,2015-01-01 02:43:21,bin9801,75,False +abc,9802,9802,9802,1996-11-02,980.2000000001543,980.1077,2015-01-01 02:43:22,bin9802,35,False +abc,9803,9803,9803,1996-11-03,980.3000000001543,980.2077,2015-01-01 02:43:23,bin9803,75,False +abc,9804,9804,9804,1996-11-04,980.4000000001544,980.3077,2015-01-01 02:43:24,bin9804,35,False +abc,9805,9805,9805,1996-11-05,980.5000000001544,980.40765,2015-01-01 02:43:25,bin9805,75,False +abc,9806,9806,9806,1996-11-06,980.6000000001544,980.5076,2015-01-01 02:43:26,bin9806,35,False +abc,9807,9807,9807,1996-11-07,980.7000000001544,980.6076,2015-01-01 02:43:27,bin9807,75,False +abc,9808,9808,9808,1996-11-08,980.8000000001545,980.7076,2015-01-01 02:43:28,bin9808,35,False +abc,9809,9809,9809,1996-11-09,980.9000000001545,980.80756,2015-01-01 02:43:29,bin9809,75,False +abc,9810,9810,9810,1996-11-10,981.0000000001545,980.90753,2015-01-01 02:43:30,bin9810,35,False +abc,9811,9811,9811,1996-11-11,981.1000000001545,981.0075,2015-01-01 02:43:31,bin9811,75,False +abc,9812,9812,9812,1996-11-12,981.2000000001545,981.1075,2015-01-01 02:43:32,bin9812,35,False +abc,9813,9813,9813,1996-11-13,981.3000000001546,981.20746,2015-01-01 02:43:33,bin9813,75,False +abc,9814,9814,9814,1996-11-14,981.4000000001546,981.30743,2015-01-01 02:43:34,bin9814,35,False +abc,9815,9815,9815,1996-11-15,981.5000000001546,981.4074,2015-01-01 02:43:35,bin9815,75,False +abc,9816,9816,9816,1996-11-16,981.6000000001546,981.5074,2015-01-01 02:43:36,bin9816,35,False +abc,9817,9817,9817,1996-11-17,981.7000000001547,981.60736,2015-01-01 02:43:37,bin9817,75,False +abc,9818,9818,9818,1996-11-18,981.8000000001547,981.70734,2015-01-01 02:43:38,bin9818,35,False +abc,9819,9819,9819,1996-11-19,981.9000000001547,981.8073,2015-01-01 02:43:39,bin9819,75,False +abc,9820,9820,9820,1996-11-20,982.0000000001547,981.9073,2015-01-01 02:43:40,bin9820,35,False +abc,9821,9821,9821,1996-11-21,982.1000000001548,982.00726,2015-01-01 02:43:41,bin9821,75,False +abc,9822,9822,9822,1996-11-22,982.2000000001548,982.10724,2015-01-01 02:43:42,bin9822,35,False +abc,9823,9823,9823,1996-11-23,982.3000000001548,982.2072,2015-01-01 02:43:43,bin9823,75,False +abc,9824,9824,9824,1996-11-24,982.4000000001548,982.3072,2015-01-01 02:43:44,bin9824,35,False +abc,9825,9825,9825,1996-11-25,982.5000000001548,982.40717,2015-01-01 02:43:45,bin9825,75,False +abc,9826,9826,9826,1996-11-26,982.6000000001549,982.50714,2015-01-01 02:43:46,bin9826,35,False +abc,9827,9827,9827,1996-11-27,982.7000000001549,982.6071,2015-01-01 02:43:47,bin9827,75,False +abc,9828,9828,9828,1996-11-28,982.8000000001549,982.7071,2015-01-01 02:43:48,bin9828,35,False +abc,9829,9829,9829,1996-11-29,982.9000000001549,982.80707,2015-01-01 02:43:49,bin9829,75,False +abc,9830,9830,9830,1996-11-30,983.000000000155,982.90704,2015-01-01 02:43:50,bin9830,35,False +abc,9831,9831,9831,1996-12-01,983.100000000155,983.007,2015-01-01 02:43:51,bin9831,75,False +abc,9832,9832,9832,1996-12-02,983.200000000155,983.107,2015-01-01 02:43:52,bin9832,35,False +abc,9833,9833,9833,1996-12-03,983.300000000155,983.207,2015-01-01 02:43:53,bin9833,75,False +abc,9834,9834,9834,1996-12-04,983.400000000155,983.30695,2015-01-01 02:43:54,bin9834,35,False +abc,9835,9835,9835,1996-12-05,983.5000000001551,983.4069,2015-01-01 02:43:55,bin9835,75,False +abc,9836,9836,9836,1996-12-06,983.6000000001551,983.5069,2015-01-01 02:43:56,bin9836,35,False +abc,9837,9837,9837,1996-12-07,983.7000000001551,983.6069,2015-01-01 02:43:57,bin9837,75,False +abc,9838,9838,9838,1996-12-08,983.8000000001551,983.70685,2015-01-01 02:43:58,bin9838,35,False +abc,9839,9839,9839,1996-12-09,983.9000000001552,983.8068,2015-01-01 02:43:59,bin9839,75,False +abc,9840,9840,9840,1996-12-10,984.0000000001552,983.9068,2015-01-01 02:44:00,bin9840,35,False +abc,9841,9841,9841,1996-12-11,984.1000000001552,984.0068,2015-01-01 02:44:01,bin9841,75,False +abc,9842,9842,9842,1996-12-12,984.2000000001552,984.10675,2015-01-01 02:44:02,bin9842,35,False +abc,9843,9843,9843,1996-12-13,984.3000000001553,984.2067,2015-01-01 02:44:03,bin9843,75,False +abc,9844,9844,9844,1996-12-14,984.4000000001553,984.3067,2015-01-01 02:44:04,bin9844,35,False +abc,9845,9845,9845,1996-12-15,984.5000000001553,984.4067,2015-01-01 02:44:05,bin9845,75,False +abc,9846,9846,9846,1996-12-16,984.6000000001553,984.50665,2015-01-01 02:44:06,bin9846,35,False +abc,9847,9847,9847,1996-12-17,984.7000000001553,984.6066,2015-01-01 02:44:07,bin9847,75,False +abc,9848,9848,9848,1996-12-18,984.8000000001554,984.7066,2015-01-01 02:44:08,bin9848,35,False +abc,9849,9849,9849,1996-12-19,984.9000000001554,984.8066,2015-01-01 02:44:09,bin9849,75,False +abc,9850,9850,9850,1996-12-20,985.0000000001554,984.90656,2015-01-01 02:44:10,bin9850,35,False +abc,9851,9851,9851,1996-12-21,985.1000000001554,985.00653,2015-01-01 02:44:11,bin9851,75,False +abc,9852,9852,9852,1996-12-22,985.2000000001555,985.1065,2015-01-01 02:44:12,bin9852,35,False +abc,9853,9853,9853,1996-12-23,985.3000000001555,985.2065,2015-01-01 02:44:13,bin9853,75,False +abc,9854,9854,9854,1996-12-24,985.4000000001555,985.30646,2015-01-01 02:44:14,bin9854,35,False +abc,9855,9855,9855,1996-12-25,985.5000000001555,985.40643,2015-01-01 02:44:15,bin9855,75,False +abc,9856,9856,9856,1996-12-26,985.6000000001555,985.5064,2015-01-01 02:44:16,bin9856,35,False +abc,9857,9857,9857,1996-12-27,985.7000000001556,985.6064,2015-01-01 02:44:17,bin9857,75,False +abc,9858,9858,9858,1996-12-28,985.8000000001556,985.70636,2015-01-01 02:44:18,bin9858,35,False +abc,9859,9859,9859,1996-12-29,985.9000000001556,985.80634,2015-01-01 02:44:19,bin9859,75,False +abc,9860,9860,9860,1996-12-30,986.0000000001556,985.9063,2015-01-01 02:44:20,bin9860,35,False +abc,9861,9861,9861,1996-12-31,986.1000000001557,986.0063,2015-01-01 02:44:21,bin9861,75,False +abc,9862,9862,9862,1997-01-01,986.2000000001557,986.10626,2015-01-01 02:44:22,bin9862,35,False +abc,9863,9863,9863,1997-01-02,986.3000000001557,986.20624,2015-01-01 02:44:23,bin9863,75,False +abc,9864,9864,9864,1997-01-03,986.4000000001557,986.3062,2015-01-01 02:44:24,bin9864,35,False +abc,9865,9865,9865,1997-01-04,986.5000000001558,986.4062,2015-01-01 02:44:25,bin9865,75,False +abc,9866,9866,9866,1997-01-05,986.6000000001558,986.50616,2015-01-01 02:44:26,bin9866,35,False +abc,9867,9867,9867,1997-01-06,986.7000000001558,986.60614,2015-01-01 02:44:27,bin9867,75,False +abc,9868,9868,9868,1997-01-07,986.8000000001558,986.7061,2015-01-01 02:44:28,bin9868,35,False +abc,9869,9869,9869,1997-01-08,986.9000000001558,986.8061,2015-01-01 02:44:29,bin9869,75,False +abc,9870,9870,9870,1997-01-09,987.0000000001559,986.90607,2015-01-01 02:44:30,bin9870,35,False +abc,9871,9871,9871,1997-01-10,987.1000000001559,987.00604,2015-01-01 02:44:31,bin9871,75,False +abc,9872,9872,9872,1997-01-11,987.2000000001559,987.106,2015-01-01 02:44:32,bin9872,35,False +abc,9873,9873,9873,1997-01-12,987.3000000001559,987.206,2015-01-01 02:44:33,bin9873,75,False +abc,9874,9874,9874,1997-01-13,987.400000000156,987.30597,2015-01-01 02:44:34,bin9874,35,False +abc,9875,9875,9875,1997-01-14,987.500000000156,987.40594,2015-01-01 02:44:35,bin9875,75,False +abc,9876,9876,9876,1997-01-15,987.600000000156,987.5059,2015-01-01 02:44:36,bin9876,35,False +abc,9877,9877,9877,1997-01-16,987.700000000156,987.6059,2015-01-01 02:44:37,bin9877,75,False +abc,9878,9878,9878,1997-01-17,987.800000000156,987.7059,2015-01-01 02:44:38,bin9878,35,False +abc,9879,9879,9879,1997-01-18,987.9000000001561,987.80585,2015-01-01 02:44:39,bin9879,75,False +abc,9880,9880,9880,1997-01-19,988.0000000001561,987.9058,2015-01-01 02:44:40,bin9880,35,False +abc,9881,9881,9881,1997-01-20,988.1000000001561,988.0058,2015-01-01 02:44:41,bin9881,75,False +abc,9882,9882,9882,1997-01-21,988.2000000001561,988.1058,2015-01-01 02:44:42,bin9882,35,False +abc,9883,9883,9883,1997-01-22,988.3000000001562,988.20575,2015-01-01 02:44:43,bin9883,75,False +abc,9884,9884,9884,1997-01-23,988.4000000001562,988.3057,2015-01-01 02:44:44,bin9884,35,False +abc,9885,9885,9885,1997-01-24,988.5000000001562,988.4057,2015-01-01 02:44:45,bin9885,75,False +abc,9886,9886,9886,1997-01-25,988.6000000001562,988.5057,2015-01-01 02:44:46,bin9886,35,False +abc,9887,9887,9887,1997-01-26,988.7000000001563,988.60565,2015-01-01 02:44:47,bin9887,75,False +abc,9888,9888,9888,1997-01-27,988.8000000001563,988.7056,2015-01-01 02:44:48,bin9888,35,False +abc,9889,9889,9889,1997-01-28,988.9000000001563,988.8056,2015-01-01 02:44:49,bin9889,75,False +abc,9890,9890,9890,1997-01-29,989.0000000001563,988.9056,2015-01-01 02:44:50,bin9890,35,False +abc,9891,9891,9891,1997-01-30,989.1000000001563,989.00555,2015-01-01 02:44:51,bin9891,75,False +abc,9892,9892,9892,1997-01-31,989.2000000001564,989.1055,2015-01-01 02:44:52,bin9892,35,False +abc,9893,9893,9893,1997-02-01,989.3000000001564,989.2055,2015-01-01 02:44:53,bin9893,75,False +abc,9894,9894,9894,1997-02-02,989.4000000001564,989.3055,2015-01-01 02:44:54,bin9894,35,False +abc,9895,9895,9895,1997-02-03,989.5000000001564,989.40546,2015-01-01 02:44:55,bin9895,75,False +abc,9896,9896,9896,1997-02-04,989.6000000001565,989.50543,2015-01-01 02:44:56,bin9896,35,False +abc,9897,9897,9897,1997-02-05,989.7000000001565,989.6054,2015-01-01 02:44:57,bin9897,75,False +abc,9898,9898,9898,1997-02-06,989.8000000001565,989.7054,2015-01-01 02:44:58,bin9898,35,False +abc,9899,9899,9899,1997-02-07,989.9000000001565,989.80536,2015-01-01 02:44:59,bin9899,75,False +abc,9900,9900,9900,1997-02-08,990.0000000001565,989.90533,2015-01-01 02:45:00,bin9900,35,False +abc,9901,9901,9901,1997-02-09,990.1000000001566,990.0053,2015-01-01 02:45:01,bin9901,75,False +abc,9902,9902,9902,1997-02-10,990.2000000001566,990.1053,2015-01-01 02:45:02,bin9902,35,False +abc,9903,9903,9903,1997-02-11,990.3000000001566,990.20526,2015-01-01 02:45:03,bin9903,75,False +abc,9904,9904,9904,1997-02-12,990.4000000001566,990.30524,2015-01-01 02:45:04,bin9904,35,False +abc,9905,9905,9905,1997-02-13,990.5000000001567,990.4052,2015-01-01 02:45:05,bin9905,75,False +abc,9906,9906,9906,1997-02-14,990.6000000001567,990.5052,2015-01-01 02:45:06,bin9906,35,False +abc,9907,9907,9907,1997-02-15,990.7000000001567,990.60516,2015-01-01 02:45:07,bin9907,75,False +abc,9908,9908,9908,1997-02-16,990.8000000001567,990.70514,2015-01-01 02:45:08,bin9908,35,False +abc,9909,9909,9909,1997-02-17,990.9000000001568,990.8051,2015-01-01 02:45:09,bin9909,75,False +abc,9910,9910,9910,1997-02-18,991.0000000001568,990.9051,2015-01-01 02:45:10,bin9910,35,False +abc,9911,9911,9911,1997-02-19,991.1000000001568,991.00507,2015-01-01 02:45:11,bin9911,75,False +abc,9912,9912,9912,1997-02-20,991.2000000001568,991.10504,2015-01-01 02:45:12,bin9912,35,False +abc,9913,9913,9913,1997-02-21,991.3000000001568,991.205,2015-01-01 02:45:13,bin9913,75,False +abc,9914,9914,9914,1997-02-22,991.4000000001569,991.305,2015-01-01 02:45:14,bin9914,35,False +abc,9915,9915,9915,1997-02-23,991.5000000001569,991.40497,2015-01-01 02:45:15,bin9915,75,False +abc,9916,9916,9916,1997-02-24,991.6000000001569,991.50494,2015-01-01 02:45:16,bin9916,35,False +abc,9917,9917,9917,1997-02-25,991.7000000001569,991.6049,2015-01-01 02:45:17,bin9917,75,False +abc,9918,9918,9918,1997-02-26,991.800000000157,991.7049,2015-01-01 02:45:18,bin9918,35,False +abc,9919,9919,9919,1997-02-27,991.900000000157,991.8049,2015-01-01 02:45:19,bin9919,75,False +abc,9920,9920,9920,1997-02-28,992.000000000157,991.90485,2015-01-01 02:45:20,bin9920,35,False +abc,9921,9921,9921,1997-03-01,992.100000000157,992.0048,2015-01-01 02:45:21,bin9921,75,False +abc,9922,9922,9922,1997-03-02,992.200000000157,992.1048,2015-01-01 02:45:22,bin9922,35,False +abc,9923,9923,9923,1997-03-03,992.3000000001571,992.2048,2015-01-01 02:45:23,bin9923,75,False +abc,9924,9924,9924,1997-03-04,992.4000000001571,992.30475,2015-01-01 02:45:24,bin9924,35,False +abc,9925,9925,9925,1997-03-05,992.5000000001571,992.4047,2015-01-01 02:45:25,bin9925,75,False +abc,9926,9926,9926,1997-03-06,992.6000000001571,992.5047,2015-01-01 02:45:26,bin9926,35,False +abc,9927,9927,9927,1997-03-07,992.7000000001572,992.6047,2015-01-01 02:45:27,bin9927,75,False +abc,9928,9928,9928,1997-03-08,992.8000000001572,992.70465,2015-01-01 02:45:28,bin9928,35,False +abc,9929,9929,9929,1997-03-09,992.9000000001572,992.8046,2015-01-01 02:45:29,bin9929,75,False +abc,9930,9930,9930,1997-03-10,993.0000000001572,992.9046,2015-01-01 02:45:30,bin9930,35,False +abc,9931,9931,9931,1997-03-11,993.1000000001573,993.0046,2015-01-01 02:45:31,bin9931,75,False +abc,9932,9932,9932,1997-03-12,993.2000000001573,993.10455,2015-01-01 02:45:32,bin9932,35,False +abc,9933,9933,9933,1997-03-13,993.3000000001573,993.2045,2015-01-01 02:45:33,bin9933,75,False +abc,9934,9934,9934,1997-03-14,993.4000000001573,993.3045,2015-01-01 02:45:34,bin9934,35,False +abc,9935,9935,9935,1997-03-15,993.5000000001573,993.4045,2015-01-01 02:45:35,bin9935,75,False +abc,9936,9936,9936,1997-03-16,993.6000000001574,993.50446,2015-01-01 02:45:36,bin9936,35,False +abc,9937,9937,9937,1997-03-17,993.7000000001574,993.60443,2015-01-01 02:45:37,bin9937,75,False +abc,9938,9938,9938,1997-03-18,993.8000000001574,993.7044,2015-01-01 02:45:38,bin9938,35,False +abc,9939,9939,9939,1997-03-19,993.9000000001574,993.8044,2015-01-01 02:45:39,bin9939,75,False +abc,9940,9940,9940,1997-03-20,994.0000000001575,993.90436,2015-01-01 02:45:40,bin9940,35,False +abc,9941,9941,9941,1997-03-21,994.1000000001575,994.00433,2015-01-01 02:45:41,bin9941,75,False +abc,9942,9942,9942,1997-03-22,994.2000000001575,994.1043,2015-01-01 02:45:42,bin9942,35,False +abc,9943,9943,9943,1997-03-23,994.3000000001575,994.2043,2015-01-01 02:45:43,bin9943,75,False +abc,9944,9944,9944,1997-03-24,994.4000000001575,994.30426,2015-01-01 02:45:44,bin9944,35,False +abc,9945,9945,9945,1997-03-25,994.5000000001576,994.40424,2015-01-01 02:45:45,bin9945,75,False +abc,9946,9946,9946,1997-03-26,994.6000000001576,994.5042,2015-01-01 02:45:46,bin9946,35,False +abc,9947,9947,9947,1997-03-27,994.7000000001576,994.6042,2015-01-01 02:45:47,bin9947,75,False +abc,9948,9948,9948,1997-03-28,994.8000000001576,994.70416,2015-01-01 02:45:48,bin9948,35,False +abc,9949,9949,9949,1997-03-29,994.9000000001577,994.80414,2015-01-01 02:45:49,bin9949,75,False +abc,9950,9950,9950,1997-03-30,995.0000000001577,994.9041,2015-01-01 02:45:50,bin9950,35,False +abc,9951,9951,9951,1997-03-31,995.1000000001577,995.0041,2015-01-01 02:45:51,bin9951,75,False +abc,9952,9952,9952,1997-04-01,995.2000000001577,995.10406,2015-01-01 02:45:52,bin9952,35,False +abc,9953,9953,9953,1997-04-02,995.3000000001578,995.20404,2015-01-01 02:45:53,bin9953,75,False +abc,9954,9954,9954,1997-04-03,995.4000000001578,995.304,2015-01-01 02:45:54,bin9954,35,False +abc,9955,9955,9955,1997-04-04,995.5000000001578,995.404,2015-01-01 02:45:55,bin9955,75,False +abc,9956,9956,9956,1997-04-05,995.6000000001578,995.50397,2015-01-01 02:45:56,bin9956,35,False +abc,9957,9957,9957,1997-04-06,995.7000000001578,995.60394,2015-01-01 02:45:57,bin9957,75,False +abc,9958,9958,9958,1997-04-07,995.8000000001579,995.7039,2015-01-01 02:45:58,bin9958,35,False +abc,9959,9959,9959,1997-04-08,995.9000000001579,995.8039,2015-01-01 02:45:59,bin9959,75,False +abc,9960,9960,9960,1997-04-09,996.0000000001579,995.9039,2015-01-01 02:46:00,bin9960,35,False +abc,9961,9961,9961,1997-04-10,996.1000000001579,996.00385,2015-01-01 02:46:01,bin9961,75,False +abc,9962,9962,9962,1997-04-11,996.200000000158,996.1038,2015-01-01 02:46:02,bin9962,35,False +abc,9963,9963,9963,1997-04-12,996.300000000158,996.2038,2015-01-01 02:46:03,bin9963,75,False +abc,9964,9964,9964,1997-04-13,996.400000000158,996.3038,2015-01-01 02:46:04,bin9964,35,False +abc,9965,9965,9965,1997-04-14,996.500000000158,996.40375,2015-01-01 02:46:05,bin9965,75,False +abc,9966,9966,9966,1997-04-15,996.600000000158,996.5037,2015-01-01 02:46:06,bin9966,35,False +abc,9967,9967,9967,1997-04-16,996.7000000001581,996.6037,2015-01-01 02:46:07,bin9967,75,False +abc,9968,9968,9968,1997-04-17,996.8000000001581,996.7037,2015-01-01 02:46:08,bin9968,35,False +abc,9969,9969,9969,1997-04-18,996.9000000001581,996.80365,2015-01-01 02:46:09,bin9969,75,False +abc,9970,9970,9970,1997-04-19,997.0000000001581,996.9036,2015-01-01 02:46:10,bin9970,35,False +abc,9971,9971,9971,1997-04-20,997.1000000001582,997.0036,2015-01-01 02:46:11,bin9971,75,False +abc,9972,9972,9972,1997-04-21,997.2000000001582,997.1036,2015-01-01 02:46:12,bin9972,35,False +abc,9973,9973,9973,1997-04-22,997.3000000001582,997.20355,2015-01-01 02:46:13,bin9973,75,False +xyz,test,35000.332257024,41,1997-04-24,997.4000000001582,997.3035,2015-01-01 02:46:15,binA,251,True +xyz,test,35000.332278016,30,1997-04-25,997.5000000001583,997.4035,2015-01-01 02:46:16,bin,255,False +xyz,test,35000.332319232,22,1997-04-26,997.6000000001583,997.5035,2015-01-01 02:46:17,bin,255,True +xyz,test,35000.420437719,250,1997-04-27,997.7000000001583,997.60345,2015-01-01 02:46:18,bin,255,False +xyz,test,35000.509000000,21,1997-04-28,997.8000000001583,997.7034,2015-01-01 02:46:19,bin,255,True +xyz,test,35000.623816380,100,1997-04-29,997.9000000001583,997.8034,2015-01-01 02:46:20,bin,255,False +xyz,test,35000.733000000,1,1997-04-30,998.0000000001584,997.9034,2015-01-01 02:46:21,bin,255,True +xyz,test,35000.918482000,11,1997-05-01,998.1000000001584,998.00336,2015-01-01 02:46:22,bin,255,False +xyz,test,35000.918484000,11,1997-05-02,998.2000000001584,998.10333,2015-01-01 02:46:23,bin,255,True +xyz,test,35000.918484000,30,1997-05-03,998.3000000001584,998.2033,2015-01-01 02:46:24,bin,255,False +xyz,test,35000.918484000,11,1997-05-04,998.4000000001585,998.3033,2015-01-01 02:46:25,bin,255,True +xyz,test,35000.918585088,100,1997-05-05,998.5000000001585,998.40326,2015-01-01 02:46:26,bin,255,False +xyz,test,35000.918585088,100,1997-05-06,998.6000000001585,998.50323,2015-01-01 02:46:27,bin,255,True +xyz,test,35000.919489536,100,1997-05-07,998.7000000001585,998.6032,2015-01-01 02:46:28,bin,255,False +xyz,test,35000.919650899,100,1997-05-08,998.8000000001585,998.7032,2015-01-01 02:46:29,bin,255,True +xyz,test,35000.919685139,100,1997-05-09,998.9000000001586,998.80316,2015-01-01 02:46:30,bin,255,False +xyz,test,35000.974576770,100,1997-05-10,999.0000000001586,998.90314,2015-01-01 02:46:31,bin,255,True +xyz,test,35000.974911035,100,1997-05-11,999.1000000001586,999.0031,2015-01-01 02:46:32,bin,255,False +xyz,test,35000.977960728,23,1997-05-12,999.2000000001586,999.1031,2015-01-01 02:46:33,bin,255,True +xyz,test,35000.978023000,6,1997-05-13,999.3000000001587,999.20306,2015-01-01 02:46:34,bin,255,False +xyz,test,35000.978102524,18,1997-05-14,999.4000000001587,999.30304,2015-01-01 02:46:35,bin,255,True +xyz,test,35000.978124544,100,1997-05-15,999.5000000001587,999.403,2015-01-01 02:46:36,bin,255,False +xyz,test,35000.978349245,23,1997-05-16,999.6000000001587,999.503,2015-01-01 02:46:37,bin,255,True +xyz,test,35000.978601023,6,1997-05-17,999.7000000001588,999.60297,2015-01-01 02:46:38,bin,255,False +xyz,test,35000.978704313,18,1997-05-18,999.8000000001588,999.70294,2015-01-01 02:46:39,bin,255,True +xyz,test,35000.978803110,100,1997-05-19,999.9000000001588,999.8029,2015-01-01 02:46:40,bin,255,true +xyz,test,35000.983917824,53,1997-05-20,1000.0000000001588,999.9029,2015-01-01 02:46:41,binZ,250,True diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc index b25f925c947a14e9f4bfd7b6103f0632e1ae1664..b2e6953c3eb5acdac7788ea179b23c8440df837b 100644 GIT binary patch delta 15221 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 H?UDLlILl2x delta 15309 zcmcJ$c|4Tu`#)^o_nk1Z?_1exXpvAz_OX>z$TSjKCSwhDsN;(WUt-K%JP`W^K$;nFMB~fVe5=CmKwXCi8W8d=|oKS zHF?g`OpZJI)K1Cdut+hT0`JJA9Svk+-g+dRJKAoC_Z5!aeFWy~BD{L%xNv|H*D4&~jO_wnuX`e^^nqU0-kZ^9vNT*L9Hvw?>Dg_!Tp zu}}ms4nCJBJg&R6naIMu#2;S&6k9MBPa+HZqeLB0qB~HcnkZ2zlqd&^_YFXzREWjebNa0L3uf zA}9-QmhO8->fc4`#}fOu68okY(<|s|Hv-Yo^{!kQCaDNEmO35ypY+fqNJsJrU)|| zMnCkbD%CD0&X5`y+3VqUe8%^w(sbzum%zLp?()a>-*ZQ5som_iMu|2?wZYqlWqZo= zlytv%&Rs8fS>t}GcFp4}mgSgux81enmLpZ)PO6&hU=%-N-8+nx6!jES?Nzrd)$QiNB)>cb@!jMne;2;cq@> zr3d#kl<~Q9-yL*QDXL^^+ufPusj!>-K(_V=5z=fXK4^Pr{T`f5r)&~>7~wp=NB z1SamSfvob@Wd^%qf4<_gvy^ocig6NmV|=XV@>MvrGr;DAUF0Unl#QQY2{L_OF+-ft zK@nU})I_`ZlwG)+T#!~BhbW31_P}e_3_I3jPVMQAn2-Y7{_FdeLEYYRe+*RhOl;je z;Ag%q&-VAhnMHZkjUWpU(4wx$gNggh)(vU#MT7O%YVYr{Xv!nTkdozse|rZoy4;OM zH<0}Egn5ijGBzKmV}5fT6Igf66t8<&W63Q7@B&TT0x|FTEFbcdA3nGRyvVT?r^CMP zG8@}^D;qT~09lOrxv72>d|k@#%?TfO`{Z9W-K+;Tx$gk9$(8GFSg!-Qo|clUgz~E* zN<7KtQ1<8;@_KTxYbRSaxaDA1A0cc0JkH_C$kabfHh-Wa37K5YmyG%GhXm7c!(SUH zy?u49YpomYZ)N)BM+39O_~0ic14K5+E8Gdd zVD(^Vdc6}1WUz(DzG|?~TLfU%jq;~|-$D%V4uxC6meq#+8y*SXByRdInJBUOW6?bV ziN;_fJ##`fZetmR8}rBI)bJBi{CN+h3kl^<9aBp6dwMrpY`Fin#Ab`{zNKKqcF`c` zdPIWOx=#>VoYpaLGoSPf<;rP;eP$DYRb5MrNGqfKJ#O&9x$epsoxpkX!fwky?6WgT zO#b2KKOA)}JBnv32tN0#r#Jk4|CH$Qsm<p`X>+Xesor1lp-)iMzu zbTj*PW5Q{=P%-r@8H(-wF@!M_b*Gpxq2CEd^F*r*+jWK1OB%)%az_y6#0n^p| zZ$EXEJ}5+6k}kYj1Ww-=vFa@)c!Jg2^z?MeQ|ZF~1TZMO<5F}_SYiDUf0XQ2@TjTU zYN2e*w7x2@_E~V5ZPP)BdlFat)P2O>T*`sNoz?T|A)~dSZfC{7gM8Wd2-{{3WS-<_ zjvN=qd^n%OL)WS&sq6x$d0$g1u%AXhWL(X+zxtvfJ4|thoAU4?e{zOfqFTTus+&Rr z;)o!U-3-qYq?Jjak=zaO;)PT<^|+dj`&0a~@EsEIh^=f$c0N3hpq6F_ja0e~ukwbL z>yfOr_2Dsqu@B_q5mQn~Za=(8lRc40!;pmZ@haPCxt9~PV(~KyvT#1pcti<5lG_k3 z@g&o2A3H25GmOWc$+ORX!XrV&JNH1W{aYOZGp>_uLWBpU!lL?tmKo33?{k^%aa~Ln zUOQHodL!mTEWq$HC{ceDcSVXKK1CXzBGfJjvyti$AJFqiMqJ~^QKbZ6YW|o+tpRT# zZX8t*xogWrTpd7imST1j6t5js;y?#&`V<`%+Bbfd*6c|P%>u;W#W^ZPzgfDYKZVr4 zLZnTb?lncrs^zfuw9J^E;n878g!498OWoG_OJZNvL+;6Ap^C2CLWV(njGnnDgdURiA_o+qBPxf_yCRl)-ZRD;2sR6)P1Yle z?pqKGo<>s7XVv%z+-arq&o8LWbJvd6$=7>bb$>)A%X7kvN=E!Wr~UcEj4lkHec)^f z|J==}L^SF4wersA*KDc%9I%SkNcOFfn7ME*1hc!Ix5fC_>csp=Odo<8&;Ui-Lu}Ah ze?d1dquTjw-@&LPdbu{(IsbHTN;E(d=L=P7ijLC9WFITNe=|Q`^$|Ej_`S8 zA@~O$qJlCjJ*Ex44|X@nj5>Lb>qDW@E=Bi`TRW(OIrRI&F+AGX;QK6o#X(wtjyPj% zsAKaLwO`nNX)_enNi)X8pm0&S4ZOLwXYXY2jva7g{-r}rZ9E~ae{0&h>h;{nEBBG9 zs!GjpiL%p+IJ6fbHvD7~d8F&Fxg8ke)s7!g%cF)1Zv1MUubBJHQ!e{FLf0BQ zzzk_HqcnSI7Y0PAy%7SG&?W3EXzN{<>U+Eb8%{Ry?DGsaMQ3kBl5*YDlW8TCmT{fe z#?6LDOCh8QUj(7i{@+(#o5FC&IDtGN2<_krE5I0LRYob(wAUqT&c8^K$G?K`*N=WZ z;vfJE5hjxV#B;xD!>Ikg;d>>>2+U9gZ$0j^9wZ_o!cx(60~~a8!fmtErT zUA%MtuC_&mhB4H)d8`LEi}Jiy^%9*_iZNbJNpJWkMRJsBs}tE|vhjBGDT_aNn3~+n z+%)j!4Zi7Nu?60&^J`IsyAZtvd6OfUtI(8{_zjpIx;Sp}%Uys6MF_xnnW6oE2?29W zrccy1>zIs0ZfF5MW)X2im#&pSJ|GAocVKw0LT;1h;Y@Q!;XAui(UQnhUy$T(`zFJq zBu-e!tNUNNL$-91iLl?7j_k#|gcaicwM;(UOTGZ7t4AV# z(7S~~N%jM$8u%31=$1Eq8mE1WzP#;_H1Nz@p-5@vaEY!7yWza#oFiThaXUwrrbfBC z;ddLy-M(_(lVTVjSlSa))_NF3225f^N!dndP*g2;=q87UL$u5%&ztxzEou_T*&9Zm*#BYa1lL87F`o)lacxr`)Z zx;HQ6!L_{z65E7~9F>ng(6cq-M68jCo>fn*oQ zi|?kob;KZO%t&@tyviyqw>TMbR1V12PJn%rhFiDfo9!i0;FN5+~?u$;uR zKSc3*&?HV0b*vH){+zfNK4h%e1d9TmT^Ge`N|jLW2#rr3f5eC57e{W{I$^Aj$As=M z!x~>Pj+edUu!FPcV?Xxw_VCL(^|GE0nw;6;kHcofyy!ZwC4$Rv9bP+huBcuTZGBAH zdn(f?_QH+J8ADuYS2$XCor<}z;>(8=9LoEY#_|bfihk#905?w?d3JPlEqi3ifD3M} zPGRmA_#EM1x98FFibnf%KsyJlNOb{|eXQcU`S3{Cbko!6fS{O%JTN)41@%B1HjC8} z!gSNvbU;-c!0ICVg$IGNTo$lV;bW`l@^6FOJI~Bsv$#BAJCm;XeAc&Aw0nmkJon6- zCMaTDhl3d0K+!NTMQiIktC=o+^13x>o?07n*P*Gk6kMCx`I<=gBX!m8S+_M+F;A#F z80nG>V!3Sz@%!x`2(;Wm3kVfpNcn7p;czh`Euc<_Ayxi!U^|Hxupq*aTKG9|m{|bU zEHdQ&VdVL#oI_Xv~KfmNx@-Y~cQ}Qv~y+5+` zBAIg8Vs$NniOszt)13SHT$=f}dEn*e7b4iYh-|xy7c0%ryk)8S=|uJ)$EP6Lsq+Wr z@WEq_oIv8b_cUo9WqB)mUvx*Uw|~vD4BwM|2Y`1MOs7x17;#Lr=Jjiu7+TAXvkT6cL#0$Jz(3h8myR{OM z-ThG(*EmLZ-IEgm5ZGhEpy%@;Im@Z$)JBp$ih=Rq=7J@~5f+#Py*W=uR&ofya#DD# z`6c7W2_kqIhsZG!NJ7e$(NfN;&M#s)Pba}I$>Bn$Epz-#3&UF zGy?<9_HBB#Qibj{bHVD!hEs`xC^z=f+VeLl4;-bd?kQ-z9|DG@t~2KkPIal68!_gu z^w1114%|LRyv+7dG&k;!EyxVzuMz;7*FPc{u@mcV3JSpFZ$W5YpVVwrL#TTU0*&u= z2+ZsE)fgQj)U9v}z>;DiFt2Bu&cE1KY4pmenW67;U2JqhSD-6xT<>zb0NF7n4-^VbKrJ!d9z;;SEIVQ z04dGp1j>GZl;hzyD2sfI1QT|0;5rR3-dlPyTim{6-UaM4DdxpY?m(ki&SmdRVdUdo zrf4Zu4&2@?-rV<8+NrsXairwi$58f6gdDu5GY9gqm}&eey!3>KC`v^vS39PlJDHUH z-Ov;*wn^f6#cG1(G`Y@U62@+Fh|R=+)kK)ZWQhq^3_}vkC*m-t@a$w1Z!k^b3Q^~B z0)ozoE9OTMBqrjN@xQWe9j=pmf<7Vxkk3Q+gx)`;bSf)^H6*;}SyNTxkw)p6H{nxe zZwgPR8&$ku>3i|2`;4<$aiM*>QpG^rX#*1juLPaD5{{d+^qr_Ir70yNqGD+*5+k&w z*jFAYILZ1c@N0?HS3vCAj`P8Mwl^!yF+76gVDZ$_i>0lCRTraM&zvHUEMY%bz(0r3 zpS^PS$sY=|@_{#(E-*Y&zu#so(J-=XK9Gg*&$v-O2sO)|4 zlU7`VaBFOPr%jfdk~Su~-lK!;WlhIwtP8Nx>Z@zsBr0vxVagt-9rFWw*Sv>gGMWlO zg3Gy)VmzFeH8*rd*i|*;Lg5R-bfizYs!S)@%bku@xeVbmgmK^|kGur1ei*=dt?0`L zov6&F=UD*#^Xtm5WPoU^v`#A4IfZutAG~>D>Co)1;YH0_*H6{Tu79fsJUr`@rJ$^X zS@VvH&1hPn1}v`Iu&sD`rA35fU*AL~^;@r$Z=_`*+syM1|LdsnXadsSfLY-oKBKCJ zWU^NR-M}3}#q+#B7)FQ^k-RQ%j|BZ|-fiJJVe1C?SJBPhPMeDD=F(0k7vu&aCP(I4 zB9+m7byJv9QwiXx>fhCDoyfW3DCK-Hzjdt%@o?~U$Z~Z3?$34_5janT2LE= zW~IfA4Hl9CKDuKApx3;2#$_})(EALH2X5V8ykF*# z@=h*G5tE*``0DLi!10JEtcvi9y5P3gWu-2A$DN6x76~pUPG{$LsV!JQM=ys{RLwPh zZD^4*WP8KGZ)nLc?|e~z#Pj+Ed#1Jpd#b06gO5UlyvsuUy8bgb_|*IKpJ^UMEkffX zVxHH@i}-fT857=d-h`66uklCuL`v52r&+u#o>!bp1IR(@6Dk z8nU;E3av+YV786pPU-Qc`#FZE5yp*t_48tFvi_1E57ly<(mCyW7V$;*ZWi}sSNP;f zrsNDcPZHVredv3}8{=!p;x{Al4wNVeq3PJ=9q=`b!N}t>2htGj5X6%rOaN3IVcCol z5JARmw}k&Ue2x|LEqGNQWN|^lsE5_3F)gtlPx2;1a2eF{xa~IPJlsY)DQs@FG+Mry4bq%8cX` z2af_{b;^A9SWd_+VQ3>(g1ARf!292I+4#gqR1eF!{`3*w7d$X(?VqZZ4*HSJpCvyA zy@?Nb^)FP&KmsB_MHViR)NoxG$$uFYBAb99!N5Ru13>_JH4GJUG9IBMBMax5{aY~} zLCT#xbrs|0wjfisLk=$Sp<%1-cKkj?yb%+jE(~l(7JEo`EFzwFLgp}a#0eaYZL$%n zqi%@>$uEiuIUBRBBTF(wI|i}G>IDifK1Xx&2G|7yoAh6^=pT|M@M!cV#anz3Lv>?{ z|KDZNxE4L^lX%^&$UEBCb<{msy!5f11`{F=QTCvAOyI$Fs!xdIqwMz*bz-@2ov;a! zNR)jeL1!1hXo(3CXOz7%L5G^L+C5gzF4u zc_qDh6z-SuaJ!Y?@YNX~TZdc!QWg~?J*fdYpBWwiexdBERl0gS4&*P!Xb@0muP;42 z=sPJteARj~^M1fG!^46J{@IK1W^Y)9hlSaTpuZh1*A>BF_V&wf8I>Sw-AG#N7Au>? zsR5*TK!$$;48}LNxsN)yg@5aRQ@;y$l{|gggqBB>dC{~%se7-t02rGE+(Vg zxrFy8Bxye`ZZ$=D}vVEsBxROOosYSDzJl~ zh@%GdiouGy-;147%dl9WaQDhN63Bz6bOO<54U3V>=Ed`^b`W4bNA@ejBfU8`$>Z-d z?a=S`^TTsN(R*Dn<;aG=x4V))IYc?UsxR3^U1MG?Y%AHz{m!RgmsG>o?&^Y5MC z=p9y2XzNFh`ievV{|ge<U^NA_Xh5dy7#%P@(sh(eQ&Hj($$e2=!xB{!G5sbtjde zxfAGf2iB9z@&|`6YFsIyC~BCZq59{(^iKdqz53|bx-*hjh!F;FbiV>6HT^OzpbCkW z65$w4%xSwKA^?+9s&TD5dk#^5Bmm_zbk|M6blI2kp<3EW3#0y$O&13&R@q!Fc<-)A995jH) zGtBS@9P#stH+(*@;Cem5NG1#XfoA-CT&5441!unpfbEOh1CLPpc!AgNocXr-=XpAn zfCK|1T~}W8w+=W%r`&@Dj`A%)Z{bAe-&nIVTv9>0AS z%;Ad@{GLUiVM>2F(?-tz)}_XxI=!&f>g|q7icez1D>1YSV8T$G@_$jeAzvLmA_s>m zM^OIzqcXalxX)An5%@&doVd&FA3w4U4<+t4uZni>Z+J`%?xbv0uL(=eLuMhTg6GO^=F1c9m934(iisOI#$BtF#U#C`a3yXr;! z|5M`b({dp61;NlcaF_GTs-6FtS!SWE*fGJ&-lA#~`FgaG?cB+N8IP#JR^H)TC-PZn zBYm7;;3?JaLBrhD6W;gprSGb4vl9b}d&-C4F|TbB6Zw_Yku|ntK~e`bSlKH}Xd?e2 zbtIcLS#VDmH5ldjk!K>`fjR=1ogfLU{ej0}_KEzh)R9i66LdaM1KjH06^;3S%N}a( z;!5NuQbSQc>*YKSTB?LPE;igoypDrdX)0kDUlMn^3ncDw%_7V84@o*f0=SKm zxmMVNGX06n7L+{()Xbrhxk$df8&T&m7jC0uuJx>0S!N>B4`uHK%JNQzco8f6#SR?} zR@^b3!d=D_eD$53nF1(#iH?IaBpL}4PJXK*kXL}Vw}Sog1^BoE^|*o?u?1YQ1?OTA z1A;hzIV5;KZknYoj>0m6iF?Mk(M?^n&ywfuk=s4aIh-l#SpGu}QbK|X$gF}Q%Pm1BZk)Ipyu z!5^+IDty=ItJXR4BqO6-4vX^>L8A^Hk=3WksvwJUJj@4+C>>??84WG^D?)PQS@UOp z^eLIC(&}@VoUv+*Yhm@7Y)`#{w(ZV`#bH$+#g1r}b>mLf$UXE?acl08rOr?Fhm=#JWD{=qc=48h zGnyY^d{Z?rjZ24H+U&cmy}G8YN31A#)z<%DOJfv9PDvOWpc41JoP6Laa?87;$Ohy>>S&TD>%(?CqSb;OpB{chUeH+bmE_>8w>W^Oaus;wc21bRfmhNuaS&&5 zH{Vn2(eD@n@Z6-%WXmV5&x#R?t)6w`4}e!1E28`4rb-cl=0X3=EjoxrrACmmf~@60 z&z#{wP*VBbm62<%WifUonPl^;y;MaPkB4`*+%-~y~aR}-hDaDwi~pX*M$CTQ)8f;Zb$N{KdOz3 z11X6ImpZcDjweyaH|NDAdYCSZpbh9M5DP7+BovT?3+)ZS`72%8UTTIh&Gm`&r`OJg}gRRr`x-bfd6nkJ9a)<|-&PI8X|gKp{Ra}toCWoyXzhO0nb zAkz<3ctN&jDeEb7Os*T3bx=_`t2xC$DjWM@Emo#={w=fnoy!vWU7%7NlQ zZmpB_z5kGN=fTgYZ}cEEC^Qj$(L+WaKMeV?iI~NlIy&={)N6n>ZD`<8cBg6E{sWS;afA3GoI6Dfdkw&hmY(4KbApy{2Z!fBz|Og z9F~MTY?F|MJH&$qF^Lb;0sZ?JrU!R}gQ~gm8L_Nrg{@f)`hpl=YYV*ixMmrlj)??cgQous8#y|^!tugQgK)Wiz}ue<_j7$!-+lH)OTp`*mM_{$<{mw-t9~Y2kFYk!9v-R2!;Ck zT)c01M|eBGHnR_~2mGwFOYD_UAg;LcQY5aez&ujvT6Jpw#1G8+5Al4(&c9s32Fx=&R^(v+ z8m%kF7@pKzKBlye}UTEN|Ybi++HPA)u|RDUo(zpe;q7Y%^s z_ATwLfz<_9TMwQf111p3gnrjVfA)CVp)Hbl@9?D}WrT$#JU92v@X{g9vp%?p3nM-r zHV7Y=5Umb!5-03OowB;;5a#&br;yT}6d2H_iT2ShnXb}ZaF96 z_iD6QJYDF;r!}_DdTAj>gU{{`IE9@udHf|mWs>qBgoVA%ViBV-=1qB|6h-pERYzpG z<7^@Vp4Dp!sn;#+j=4Xlq(Aoy1RdrV#uEC^&%qje$rzv45yqnj5u7I=39s%FDd}!d z_jUITm3O1dFK?e=LZH=uw7>^Hf3bhhO2^GBKA16aUb$&ZrEA$)m%}gh3qCt>oWWd* zWgau)lSeNoKScGi{3sq6r2;63rv?P+pc$jNpl$8*r~)-$)C`ah4aV39qK!#!RKaD)6{3Awx~l?qVL z@1lq4Ns-9k^10COT6xj6AQKL^WH7##N6j{5>N~ZGka$5IAs*Bb65HFaVEP?F>9Eb1 z6&CUx^xa9pTVJ(9L^08Dax!0GjYkWo4*0L0cy^V?!yxtoK^|lnT&|psEaM!*cf3 zpQ@IFbtmqkrriYL(HQQ|O(lhB%;VTw(Ock=pSa*7yFm`m&S3aFe6Lo>Jo!nP<7lXx zum5DWkP^eMz6@_P|0OB&x= zeX4Y=$!+31mam)An9&reO$&rDtgho zL4Qp&!($Bkr5f!O2)1A5j2Fuic7Oxc-fOf5G?Dj)Y0r&;_zzsqXO#-hAv#aHaAY@H zdoL0EjRh=n$zlydkrU+aCaUXwuuulaXUVY0j`k8;!aDK7iiGA}oU_bKc4MA}J@Qi3 z>J?i(zk_y5P9E02=Th`hK3GT%XbaqfUK6NWc?`%?)P9h~fFgx5JUY2*-2nPv&{Htw z0GP7E095Or+xgFlfEAQ57;^9>(09^KlCS6&h4H#CEm?@sAQO{?9JDH95&P#8G5xF2 z#FaR|@HI@3WY>Q|{B^+B_3{bd1~~ABQ1Oy@VpAo#ox=^Rk`|KqqC^M1mT&sC@dAA* zB!9;dQ+V{j)M&~j@QY{p`DxHq7Xki03mM(u+3yHy6NO}QLsc*M*IIrh1{&WT4gPs` zeMSozj31DoPLHxpLpC2&iv~?7gUqn@*L={fh9uENpD;Q4O5N~#9&-yNKjU8Z1uQm8 zfl>KWJN>EBsU4>O>?HpE-#?FQqxc&0NA2du?g1(qpD}YZJ z*d}E7VLPF~(LR-M3(${KM6zBAblIY9!yy~&owMBSbwNRREwcq!H=Vabg^;^^48>rm zNJD~|UX{%q9ceNZ%#284!cKY;ZEd?aEx@xEXf9fb~4})}3bx{i}yb zQE<5Wa>}if$}W7Lh0jFiU$gO6DHO5h{;Tr}6Xm;EmZ}{}>FM`x*}PH2F^hx8aYrcYiVB*uFPS=4?>Hos;&++=fo8vz=on=d>O;7_0FZMamZH zd6KiLk6>8l@OTTpC4E|I2Kg|ShYr_#(%5&;Muy#C_eA|aRG|o@R9{d+uxC)syB?El zm+$1Br%!k4@<+{oJ)YBe!nXB>YI5i*vmy)AbZd8KSC7Fny_ncusr?#3Vch1)Y@Ekl z&nQc*l;>v8N(Nf+9N{vvmA#-K(jj!DM@3+;lhlPdsn97aE2M#a2j_KSxLYcXZCB#I z#@3Flij9r^t2_}~e!C^{dP?@Ss@R)}vDg;uU)bB&+qbV@$C^1k|EzJvyTt0??g?2w zmWJco?B2b2-~&^S&cB%kQ$N+kA?CY1Sy+9ltDHmZTITCxF)RdUH-))@_XNbTKJyTg&3uJNeW>RoAxIT#q>=iPe47o7)+G_smGM)-Dc( z8bv~+1s3&Sypwsx*Qd8zh3$-z8Yiw}`@R&D_QIGFn)d@M104z7JJVBE^`=ZGS(&E& zB~0(9?Mb~A@9EE8(^=Fn%VQ&Lq`Io15=Q3=+h&L{xPSK^HXL;(%pNN~n1U-TXldVI33%AeTR=u`Ev#s3&8o|tPTnV?3Y(!Z}4CCjFnP;#N2tss?T5l+0)dV zfD%6@Oni>PHRr)8k+c8#pFzclLT55fm#vgzwi1WzWXn>L)1FyfHZxUlKKkO4L@~V~ zdf(lkeKHE%(E*29Sy^}5^9I=O3FlQ3)!2HNbsH~hKzP8;fIR_w_9!U@gcsjgI4o7S zH#R>3Zzjd&+kZTJ?Ed*SxYHVD`+adsr?FIi^#>;fl$<(y?fBIdRQew?vB#CyS`FU* zXV>7Blvskh>6mck+dgYmzW;evTK}uFI{81&$_+XzgN?(&lh`Z;leiu!yY1N-zEhNm e3&$$NEEN+Y1U#EhJ)1?JJ8qek)zNv6^#1{>bACPm diff --git a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt index b8215dc..9fab16a 100644 --- a/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt +++ b/test/ApacheOrcDotNet.OptimizedReader.Test/Data/optimized_reader_test_file_no_nulls.orc.txt @@ -1,4 +1,3 @@ -Processing data file optimized_reader_test_file_no_nulls.orc [length: 139313] Structure for optimized_reader_test_file_no_nulls.orc File Version: 0.12 with ORC_14 by ORC Java 1.7.4 @@ -8,10 +7,10 @@ Calendar: Julian/Gregorian Rows: 10001 Type: struct< - source:string, - symbol:string, - time:decimal(14,9), - size:bigint, + stringDictionaryV2:string, + stringDirectV2:string, + decimal:decimal(14,9), + integer:bigint, date:date, double:double, float:float, @@ -24,8 +23,8 @@ Type: struct< Stripe Statistics: Stripe 1: Column 0: count: 10001 hasNull: false - Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 - Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 1: count: 10001 hasNull: false bytesOnDisk: 35 min: abc max: xyz sum: 30003 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18420 min: 0 max: test sum: 38894 Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 @@ -38,8 +37,8 @@ Stripe Statistics: File Statistics: Column 0: count: 10001 hasNull: false - Column 1: count: 10001 hasNull: false bytesOnDisk: 53 min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170017 - Column 2: count: 10001 hasNull: false bytesOnDisk: 18426 min: 0 max: SPY sum: 38867 + Column 1: count: 10001 hasNull: false bytesOnDisk: 35 min: abc max: xyz sum: 30003 + Column 2: count: 10001 hasNull: false bytesOnDisk: 18420 min: 0 max: test sum: 38894 Column 3: count: 10001 hasNull: false bytesOnDisk: 18999 min: 0 max: 35000.983917824 sum: 50680373.313112237 Column 4: count: 10001 hasNull: false bytesOnDisk: 459 min: 0 max: 9973 sum: 49736926 Column 5: count: 10001 hasNull: false bytesOnDisk: 74 min: Hybrid AD 1970-01-01 max: Hybrid AD 1997-05-20 @@ -51,36 +50,36 @@ File Statistics: Column 11: count: 10001 hasNull: false bytesOnDisk: 23 true: 3015 Stripes: - Stripe: offset: 3 data: 137692 rows: 10001 tail: 197 index: 680 + Stripe: offset: 3 data: 137668 rows: 10001 tail: 196 index: 669 Stream: column 0 section ROW_INDEX start: 3 length 20 - Stream: column 1 section ROW_INDEX start: 23 length 68 - Stream: column 2 section ROW_INDEX start: 91 length 57 - Stream: column 3 section ROW_INDEX start: 148 length 96 - Stream: column 4 section ROW_INDEX start: 244 length 52 - Stream: column 5 section ROW_INDEX start: 296 length 49 - Stream: column 6 section ROW_INDEX start: 345 length 69 - Stream: column 7 section ROW_INDEX start: 414 length 68 - Stream: column 8 section ROW_INDEX start: 482 length 64 - Stream: column 9 section ROW_INDEX start: 546 length 45 - Stream: column 10 section ROW_INDEX start: 591 length 50 - Stream: column 11 section ROW_INDEX start: 641 length 42 - Stream: column 1 section DATA start: 683 length 20 - Stream: column 1 section LENGTH start: 703 length 7 - Stream: column 1 section DICTIONARY_DATA start: 710 length 26 - Stream: column 2 section DATA start: 736 length 18396 - Stream: column 2 section LENGTH start: 19132 length 30 - Stream: column 3 section DATA start: 19162 length 18962 - Stream: column 3 section SECONDARY start: 38124 length 37 - Stream: column 4 section DATA start: 38161 length 459 - Stream: column 5 section DATA start: 38620 length 74 - Stream: column 6 section DATA start: 38694 length 43212 - Stream: column 7 section DATA start: 81906 length 34041 - Stream: column 8 section DATA start: 115947 length 74 - Stream: column 8 section SECONDARY start: 116021 length 15 - Stream: column 9 section DATA start: 116036 length 22196 - Stream: column 9 section LENGTH start: 138232 length 33 - Stream: column 10 section DATA start: 138265 length 87 - Stream: column 11 section DATA start: 138352 length 23 + Stream: column 1 section ROW_INDEX start: 23 length 55 + Stream: column 2 section ROW_INDEX start: 78 length 59 + Stream: column 3 section ROW_INDEX start: 137 length 96 + Stream: column 4 section ROW_INDEX start: 233 length 52 + Stream: column 5 section ROW_INDEX start: 285 length 49 + Stream: column 6 section ROW_INDEX start: 334 length 69 + Stream: column 7 section ROW_INDEX start: 403 length 68 + Stream: column 8 section ROW_INDEX start: 471 length 64 + Stream: column 9 section ROW_INDEX start: 535 length 45 + Stream: column 10 section ROW_INDEX start: 580 length 50 + Stream: column 11 section ROW_INDEX start: 630 length 42 + Stream: column 1 section DATA start: 672 length 20 + Stream: column 1 section LENGTH start: 692 length 6 + Stream: column 1 section DICTIONARY_DATA start: 698 length 9 + Stream: column 2 section DATA start: 707 length 18394 + Stream: column 2 section LENGTH start: 19101 length 26 + Stream: column 3 section DATA start: 19127 length 18962 + Stream: column 3 section SECONDARY start: 38089 length 37 + Stream: column 4 section DATA start: 38126 length 459 + Stream: column 5 section DATA start: 38585 length 74 + Stream: column 6 section DATA start: 38659 length 43212 + Stream: column 7 section DATA start: 81871 length 34041 + Stream: column 8 section DATA start: 115912 length 74 + Stream: column 8 section SECONDARY start: 115986 length 15 + Stream: column 9 section DATA start: 116001 length 22196 + Stream: column 9 section LENGTH start: 138197 length 33 + Stream: column 10 section DATA start: 138230 length 87 + Stream: column 11 section DATA start: 138317 length 23 Encoding column 0: DIRECT Encoding column 1: DICTIONARY_V2[2] Encoding column 2: DIRECT_V2 @@ -94,11 +93,11 @@ Stripes: Encoding column 10: DIRECT Encoding column 11: DIRECT Row group indices for column 1: - Entry 0: count: 10000 hasNull: false min: CTSPillarNetworkA max: CTSPillarNetworkB sum: 170000 positions: 0,0,0 - Entry 1: count: 1 hasNull: false min: CTSPillarNetworkB max: CTSPillarNetworkB sum: 17 positions: 0,80,26 + Entry 0: count: 10000 hasNull: false min: abc max: xyz sum: 30000 positions: 0,0,0 + Entry 1: count: 1 hasNull: false min: xyz max: xyz sum: 3 positions: 0,80,26 Row group indices for column 2: - Entry 0: count: 10000 hasNull: false min: 0 max: SPY sum: 38864 positions: 0,0,0,0,0 - Entry 1: count: 1 hasNull: false min: SPY max: SPY sum: 3 positions: 0,38864,0,86,26 + Entry 0: count: 10000 hasNull: false min: 0 max: test sum: 38890 positions: 0,0,0,0,0 + Entry 1: count: 1 hasNull: false min: test max: test sum: 4 positions: 0,38890,0,82,296 Row group indices for column 3: Entry 0: count: 10000 hasNull: false min: 0 max: 35000.97880311 sum: 50645372.329194413 positions: 0,0,0,0,0 Entry 1: count: 1 hasNull: false min: 35000.983917824 max: 35000.983917824 sum: 35000.983917824 positions: 0,21837,0,99,1 @@ -127,6 +126,8 @@ Stripes: Entry 0: count: 10000 hasNull: false true: 3014 positions: 0,0,0,0 Entry 1: count: 1 hasNull: false true: 1 positions: 0,20,4,0 -File length: 139313 bytes +File length: 139279 bytes Padding length: 0 bytes -Padding ratio: 0% \ No newline at end of file +Padding ratio: 0% +________________________________________________________________________________________________________________________ +